Function at 0x4015f0
Capabilities:
Resume thread

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x12dc
call fcn.00403640
mov eax, dword [0x45903c]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x858], 0x1000
mov byte [ebp - 0x831], 0
mov dword [ebp - 0x83c], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x9d4], 0
mov eax, dword [ebp + 0x10]
push eax
call fcn.004032e0
add esp, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x10]
push ecx
push str.User_command_line_:__s
call fcn.004014e0
add esp, 8
lea edx, [ebp - 0x83c]
push edx
push 0x44b2f4
mov eax, dword [ebp + 0x10]
push eax
call fcn.00404070
add esp, 0xc
mov dword [ebp - 0x850], eax
cmp dword [ebp - 0x850], 0
jne 0x401682
or eax, 0xffffffff
jmp 0x401e3f
mov ecx, dword [ebp - 0x850]
push ecx
push str.PROXY_SERVER_IP_s
lea edx, [ebp - 0xa40]
push edx
call fcn.00403d00
add esp, 0xc
lea eax, [ebp - 0xa40]
push eax
call fcn.00447fc0
add esp, 4
lea ecx, [ebp - 0x83c]
push ecx
push 0x44b30c
push 0
call fcn.00404070
add esp, 0xc
mov dword [ebp - 0x850], eax
cmp dword [ebp - 0x850], 0
jne 0x4016d9
or eax, 0xffffffff
jmp 0x401e3f
mov edx, dword [ebp - 0x850]
push edx
push str.PROXY_SERVER_PORT_s
lea eax, [ebp - 0xa40]
push eax
call fcn.00403d00
add esp, 0xc
lea ecx, [ebp - 0xa40]
push ecx
call fcn.00447fc0
add esp, 4
push 0x800
mov edx, dword [ebp + 0x10]
push edx
lea eax, [ebp - 0x1240]
push eax
call fcn.00403990
add esp, 0xc
lea ecx, [ebp - 0x83c]
push ecx
push 0x44b328
push 0
call fcn.00404070
add esp, 0xc
mov dword [ebp - 0x850], eax
cmp dword [ebp - 0x850], 0
je 0x4017ea
push str.filtLocal
mov edx, dword [ebp - 0x850]
push edx
call fcn.00403900
add esp, 8
test eax, eax
jne 0x4017ea
mov eax, dword [ebp - 0x850]
push eax
push str.HW_FILTRATE_LOCALHOST_s
lea ecx, [ebp - 0xa40]
push ecx
call fcn.00403d00
add esp, 0xc
lea edx, [ebp - 0xa40]
push edx
call fcn.00447fc0
add esp, 4
mov dword [ebp - 0x1244], 1
mov eax, dword [ebp + 0x10]
add eax, dword [ebp - 4]
sub eax, dword [ebp - 0x1244]
movsx ecx, byte [eax]
test ecx, ecx
je 0x4017b8
mov edx, dword [ebp - 0x1244]
add edx, 1
mov dword [ebp - 0x1244], edx
jmp 0x401794
mov eax, dword [ebp + 0x10]
add eax, dword [ebp - 4]
sub eax, dword [ebp - 0x1244]
add eax, 1
mov dword [ebp - 0x850], eax
mov ecx, dword [ebp - 0x850]
push ecx
push 0x44b354
lea edx, [ebp - 0x830]
push edx
call fcn.00403d00
add esp, 0xc
jmp 0x401863
cmp dword [ebp - 0x850], 0
je 0x40185b
mov dword [ebp - 0x1248], 1
mov eax, dword [ebp - 4]
lea ecx, [ebp + eax - 0x1240]
sub ecx, dword [ebp - 0x1248]
movsx edx, byte [ecx]
test edx, edx
je 0x401825
mov eax, dword [ebp - 0x1248]
add eax, 1
mov dword [ebp - 0x1248], eax
jmp 0x4017fd
mov ecx, dword [ebp - 4]
lea edx, [ebp + ecx - 0x1240]
sub edx, dword [ebp - 0x1248]
add edx, 1
mov dword [ebp - 0x850], edx
mov eax, dword [ebp - 0x850]
push eax
push 0x44b358
lea ecx, [ebp - 0x830]
push ecx
call fcn.00403d00
add esp, 0xc
jmp 0x401863
or eax, 0xffffffff
jmp 0x401e3f
push 0x800
lea edx, [ebp - 0x830]
push edx
lea eax, [ebp - 0x1240]
push eax
call fcn.00403990
add esp, 0xc
lea ecx, [ebp - 0x1240]
push ecx
call fcn.004032e0
add esp, 4
mov dword [ebp - 4], eax
lea edx, [ebp - 0x9d4]
push edx
push 0x44b35c
lea eax, [ebp - 0x1240]
push eax
call fcn.00404070
add esp, 0xc
mov dword [ebp - 0x850], eax
cmp dword [ebp - 0x850], 0
je 0x401940
push str.filtIP
mov ecx, dword [ebp - 0x850]
push ecx
call fcn.00403900
add esp, 8
test eax, eax
jne 0x401940
lea edx, [ebp - 0x9d4]
push edx
push 0x44b368
push 0
call fcn.00404070
add esp, 0xc
mov dword [ebp - 0x850], eax
mov eax, dword [ebp - 0x9d4]
push eax
push 0x44b36c
lea ecx, [ebp - 0x830]
push ecx
call fcn.00403d00
add esp, 0xc
cmp dword [ebp - 0x850], 0
je 0x401940
mov edx, dword [ebp - 0x850]
push edx
push str.HW_FILTRATE_FILE_s
lea eax, [ebp - 0xa40]
push eax
call fcn.00403d00
add esp, 0xc
lea ecx, [ebp - 0xa40]
push ecx
call fcn.00447fc0
add esp, 4
cmp dword [ebp - 0x850], 0
jne 0x401951
or eax, 0xffffffff
jmp 0x401e3f
push 0x800
lea edx, [ebp - 0x830]
push edx
lea eax, [ebp - 0x1240]
push eax
call fcn.00403990
add esp, 0xc
lea ecx, [ebp - 0x1240]
push ecx
call fcn.004032e0
add esp, 4
mov dword [ebp - 4], eax
lea edx, [ebp - 0xc]
push edx
push 0x44b384
lea eax, [ebp - 0x1240]
push eax
call fcn.00404070
add esp, 0xc
mov dword [ebp - 0x850], eax
cmp dword [ebp - 0x850], 0
jne 0x4019b2
or eax, 0xffffffff
jmp 0x401e3f
push str.nowindow
mov ecx, dword [ebp - 0x850]
push ecx
call fcn.00403900
add esp, 8
test eax, eax
jne 0x401a37
mov byte [ebp - 0x831], 1
mov dword [ebp - 0x124c], 1
mov edx, dword [ebp - 4]
lea eax, [ebp + edx - 0x1240]
sub eax, dword [ebp - 0x124c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x401a03
mov edx, dword [ebp - 0x124c]
add edx, 1
mov dword [ebp - 0x124c], edx
jmp 0x4019db
mov eax, dword [ebp - 4]
lea ecx, [ebp + eax - 0x1240]
sub ecx, dword [ebp - 0x124c]
add ecx, 1
mov dword [ebp - 0x850], ecx
mov edx, dword [ebp - 0x850]
push edx
push 0x44b394
lea eax, [ebp - 0x830]
push eax
call fcn.00403d00
add esp, 0xc
push 0x44
push 0
lea ecx, [ebp - 0x9b0]
push ecx
call fcn.00403260
add esp, 0xc
mov dword [ebp - 0x9b0], 0x44
push 0x10
push 0
lea edx, [ebp - 0x84c]
push edx
call fcn.00403260
add esp, 0xc
mov dword [ebp - 8], 4
movzx eax, byte [ebp - 0x831]
test eax, eax
je 0x401a93
mov dword [ebp - 0x984], 1
mov word [ebp - 0x980], 0
mov dword [ebp - 8], 0x8000004
mov dword [ebp - 0x854], 0
lea ecx, [ebp - 0x830]
push ecx
lea ecx, [ebp - 0x9d0]
call fcn.00401f00
push 0
push 0x44b398
lea ecx, [ebp - 0x9d0]
call fcn.00402020
mov dword [ebp - 0x838], eax
lea ecx, [ebp - 0x30]
call fcn.00401e90
mov edx, dword [ebp - 0x838]
cmp edx, dword [0x44b4a8]
je 0x401c59
mov eax, dword [0x44b4a8]
mov dword [ebp - 0x1254], eax
mov ecx, dword [0x44b4a8]
mov dword [ebp - 0x1250], ecx
mov edx, dword [ebp - 0x838]
push edx
push 0x5c
lea ecx, [ebp - 0x9d0]
call fcn.00402070
mov dword [ebp - 0x1254], eax
mov eax, dword [ebp - 0x838]
push eax
push 0x2f
lea ecx, [ebp - 0x9d0]
call fcn.00402070
mov dword [ebp - 0x1250], eax
mov ecx, dword [ebp - 0x1250]
cmp ecx, dword [0x44b4a8]
je 0x401b70
mov edx, dword [ebp - 0x1254]
cmp edx, dword [0x44b4a8]
jne 0x401b56
mov eax, dword [ebp - 0x1250]
mov dword [ebp - 0x1254], eax
jmp 0x401b70
mov ecx, dword [ebp - 0x1254]
cmp ecx, dword [ebp - 0x1250]
jbe 0x401b70
mov edx, dword [ebp - 0x1250]
mov dword [ebp - 0x1254], edx
mov eax, dword [ebp - 0x1254]
cmp eax, dword [0x44b4a8]
jne 0x401bba
mov ecx, dword [ebp - 0x838]
push ecx
push 0
lea edx, [ebp - 0x1274]
push edx
lea ecx, [ebp - 0x9d0]
call fcn.004020b0
push eax
lea ecx, [ebp - 0x9d0]
call fcn.00401fe0
lea ecx, [ebp - 0x1274]
call fcn.00401f80
jmp 0x401c59
mov eax, dword [ebp - 0x1254]
push eax
push 0
lea ecx, [ebp - 0x1294]
push ecx
lea ecx, [ebp - 0x9d0]
call fcn.004020b0
push eax
lea ecx, [ebp - 0x30]
call fcn.00401fe0
lea ecx, [ebp - 0x1294]
call fcn.00401f80
push 0
lea ecx, [ebp - 0x30]
call fcn.00402000
push eax
call fcn.00403770
add esp, 8
cmp eax, 0xffffffff
jne 0x401c37
mov edx, dword [ebp - 0x838]
push edx
push 0
lea eax, [ebp - 0x12b4]
push eax
lea ecx, [ebp - 0x9d0]
call fcn.004020b0
push eax
lea ecx, [ebp - 0x9d0]
call fcn.00401fe0
lea ecx, [ebp - 0x12b4]
call fcn.00401f80
jmp 0x401c59
mov ecx, dword [ebp - 0x1254]
push ecx
push 0x44b39c
lea ecx, [ebp - 0x9d0]
call fcn.00402020
mov dword [ebp - 0x838], eax
jmp 0x401acf
mov edx, dword [0x44b4a8]
push edx
push 0x5c
lea ecx, [ebp - 0x9d0]
call fcn.00402090
mov dword [ebp - 0x838], eax
mov eax, dword [0x44b4a8]
push eax
push 0x2f
lea ecx, [ebp - 0x9d0]
call fcn.00402090
mov dword [ebp - 0x964], eax
mov ecx, dword [ebp - 0x964]
cmp ecx, dword [0x44b4a8]
je 0x401cd0
mov edx, dword [ebp - 0x838]
cmp edx, dword [0x44b4a8]
jne 0x401cb6
mov eax, dword [ebp - 0x964]
mov dword [ebp - 0x838], eax
jmp 0x401cd0
mov ecx, dword [ebp - 0x838]
cmp ecx, dword [ebp - 0x964]
jae 0x401cd0
mov edx, dword [ebp - 0x964]
mov dword [ebp - 0x838], edx
mov eax, dword [ebp - 0x838]
cmp eax, dword [0x44b4a8]
je 0x401d21
mov ecx, dword [ebp - 0x838]
push ecx
push 0
lea edx, [ebp - 0x12d4]
push edx
lea ecx, [ebp - 0x9d0]
call fcn.004020b0
push eax
lea ecx, [ebp - 0x9d0]
call fcn.00401fe0
lea ecx, [ebp - 0x12d4]
call fcn.00401f80
lea ecx, [ebp - 0x9d0]
call fcn.00402000
mov dword [ebp - 0x854], eax
mov eax, dword [ebp - 0x854]
push eax
push str.lpCurrentDirectory:_s_n
call fcn.004014e0
add esp, 8
push 0x104
lea ecx, [ebp - 0x960]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push str.EmfSock32.dll
push 0x5c
lea edx, [ebp - 0x960]
push edx
call fcn.00401e50
add esp, 8
add eax, 1
push eax
call fcn.00403670
add esp, 8
push 0
lea eax, [ebp - 0x960]
push eax
lea ecx, [ebp - 0x84c]
push ecx
lea edx, [ebp - 0x9b0]
push edx
mov eax, dword [ebp - 0x854]
push eax
push 0
mov ecx, dword [ebp - 8]
push ecx
push 0
push 0
push 0
lea edx, [ebp - 0x830]
push edx
push 0
call fcn.00447760
test eax, eax
jne 0x401dd9
push str.DLL_Injection_failed__n
call fcn.004014e0
add esp, 4
mov dword [ebp - 0x12d8], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.00401f80
lea ecx, [ebp - 0x9d0]
call fcn.00401f80
mov eax, dword [ebp - 0x12d8]
jmp 0x401e3f
push str.DLL_Injection_succeed__n
call fcn.004014e0
add esp, 4
mov eax, dword [ebp - 0x848]
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x84c]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [ebp - 0x84c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x848]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x12dc], 0
lea ecx, [ebp - 0x30]
call fcn.00401f80
lea ecx, [ebp - 0x9d0]
call fcn.00401f80
mov eax, dword [ebp - 0x12dc]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00403220
mov esp, ebp
pop ebp
ret 0x10