Function at 0x40ce90
Capabilities:
Print debug messages
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42960a
mov eax, dword fs:[0]
push eax
sub esp, 0xf8
mov eax, dword [0x4371bc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov esi, ecx
sub esp, 8
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x104]
call fcn.004084e0
push dword [ebp + 0x50]
mov byte [ebp - 4], 3
lea eax, [ebp + 0x38]
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
call fcn.00401a00
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x40cf46
movsx ecx, word [eax + 0xa]
mov eax, dword [eax + 0xc]
push ecx
push dword [eax]
lea eax, [ebp - 0x34]
push eax
call fcn.004131e0
mov eax, dword [ebp - 0x14]
add esp, 0xc
cmp eax, 0x10
jb 0x40cf41
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00401d00
mov eax, dword [ebp - 0x34]
jmp 0x40cf5d
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x40cf5b
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00401d00
xor eax, eax
push eax
mov byte [ebp - 0x28], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
call dword [sym.imp.WS2_32.dll_ntohl]
push eax
push edi
push esi
lea edx, [ebp + 8]
lea ecx, [ebp - 0xf4]
call fcn.0040b9c0
mov edx, 0x432d5c
mov ecx, eax
call fcn.0040b6b0
mov ecx, eax
call fcn.00408d30
mov edx, 0x432d58
mov ecx, eax
call fcn.0040b6b0
mov ecx, eax
call fcn.00408ba0
mov edx, 0x432d58
mov ecx, eax
call fcn.0040b6b0
lea edx, [ebp + 0x20]
mov ecx, eax
call fcn.0040b9c0
mov edx, 0x432d58
mov ecx, eax
call fcn.0040b6b0
lea edx, [ebp + 0x38]
mov ecx, eax
call fcn.0040b9c0
mov edx, 0x432d58
mov ecx, eax
call fcn.0040b6b0
mov ecx, eax
call fcn.00408ba0
mov edx, 0x432d58
mov ecx, eax
call fcn.0040b6b0
mov ecx, eax
call fcn.0040e530
lea ecx, [ebp - 0x50]
call fcn.0040cab0
mov byte [ebp - 4], 4
mov esi, dword [ebp - 0x50]
cmp esi, dword [ebp - 0x4c]
sete al
test al, al
jne 0x40d031
mov edx, 0x432d58
lea ecx, [ebp - 0xf4]
call fcn.0040b6b0
mov edx, esi
mov ecx, eax
call fcn.0040b9c0
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004083c0
cmp dword [eax + 0x14], 0x10
jb 0x40d048
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x40d064
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00401d00
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004083c0
mov ebx, dword [eax + 0x10]
mov eax, dword [ebp - 0x14]
add ebx, 8
cmp eax, 0x10
jb 0x40d08e
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00401d00
push 0x437fc0
push ebx
call fcn.00410a91
mov edi, eax
add esp, 8
test edi, edi
je 0x40d17f
lea eax, [ebp - 0x40]
mov dword [edi], ebx
push eax
lea ecx, [ebp - 0x104]
mov dword [edi + 4], 1
call fcn.004083c0
mov esi, eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x104]
call fcn.004083c0
cmp dword [eax + 0x14], 0x10
jb 0x40d0db
mov eax, dword [eax]
push dword [esi + 0x10]
push eax
lea eax, [edi + 8]
push eax
call fcn.004131e0
mov eax, dword [ebp - 0x14]
add esp, 0xc
cmp eax, 0x10
jb 0x40d100
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00401d00
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
cmp eax, 0x10
jb 0x40d127
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.00401d00
lea ecx, [ebp - 0x41]
call fcn.0040c7b0
push ebx
sub esp, 0x18
mov byte [ebp - 4], 6
mov ecx, esp
mov esi, 0x240e
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x40d156
mov eax, dword [ecx]
jmp 0x40d158
mov eax, ecx
push 0x15
push str.inforeport.xunyou.com
mov byte [eax], 0
call fcn.00401710
mov edx, edi
mov ecx, esi
call fcn.0040c800
push edi
call fcn.004107e5
add esp, 0x20
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov ecx, dword [ebp - 0x50]
test ecx, ecx
je 0x40d1ca
push dword [ebp - 0x54]
mov edx, dword [ebp - 0x4c]
push ecx
call fcn.0040c3a0
mov ecx, dword [ebp - 0x48]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x50]
add esp, 8
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
call fcn.0040a550
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
lea ecx, [ebp - 0x9c]
call fcn.004083e0
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 9
push eax
mov dword [ebp - 0x9c], vtable.std::ios_base.0
call fcn.0040fb8b
mov eax, dword [ebp + 0x1c]
add esp, 4
cmp eax, 0x10
jb 0x40d207
inc eax
lea ecx, [ebp + 8]
push eax
push dword [ebp + 8]
call fcn.00401d00
mov eax, dword [ebp + 0x34]
mov dword [ebp + 0x1c], 0xf
mov dword [ebp + 0x18], 0
mov byte [ebp + 8], 0
cmp eax, 0x10
jb 0x40d22e
inc eax
lea ecx, [ebp + 0x20]
push eax
push dword [ebp + 0x20]
call fcn.00401d00
mov eax, dword [ebp + 0x4c]
mov dword [ebp + 0x34], 0xf
mov dword [ebp + 0x30], 0
mov byte [ebp + 0x20], 0
cmp eax, 0x10
jb 0x40d255
inc eax
lea ecx, [ebp + 0x38]
push eax
push dword [ebp + 0x38]
call fcn.00401d00
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004107d4
mov esp, ebp
pop ebp
ret