Function at 0x401000
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x3c
mov ax, word [ebp + 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [0x41f4c0]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov word [ebp - 0x1c], 2
movzx eax, word [ebp + 0xc]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_htons]
sub esp, 4
mov word [ebp - 0x1a], ax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_inet_addr]
sub esp, 4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1c]
add eax, 8
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 8
call fcn.00405880
mov eax, dword [ebp - 0x18]
mov edx, dword [0x41f008]
mov edi, dword [0x41f00c]
mov ecx, edx
and ecx, edi
shl ecx, 0
add ecx, 0
xor edi, 0xffffffff
mov esi, edx
and esi, edi
shl esi, 0
add ecx, esi
imul edx, edx, 0xffffffff
add ecx, edx
add ecx, 0xffffffff
imul ecx, ecx, 0x9e18d1fb
add ecx, 0xd027f8ce
imul ecx, ecx, 0x4b2d9133
add ecx, 0xcde6c0f6
cmp eax, ecx
sete al
and al, 1
mov byte [ebp - 0x1d], al
mov ecx, dword [0x41f010]
mov edx, dword [0x41f014]
mov eax, ecx
xor eax, 0xffffffff
and eax, edx
shl eax, 0
add eax, 0
mov esi, ecx
xor esi, edx
xor esi, 0xffffffff
shl esi, 0
add eax, esi
xor ecx, 0xffffffff
or ecx, edx
imul ecx, ecx, 0xffffffff
add eax, ecx
add eax, 0x28a9bad5
imul eax, eax, 0xc7b0a675
add eax, 0x4ddf5a84
imul eax, eax, 0x7a2779dd
add eax, 0x824a780c
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
sub eax, 0x8e396067
je 0x401362
jmp 0x40111d
mov eax, dword [ebp - 0x34]
sub eax, 0x99ddf463
je 0x4013d3
jmp 0x401130
mov eax, dword [ebp - 0x34]
sub eax, 0xe6458c1f
je 0x401456
jmp 0x401143
mov eax, dword [ebp - 0x34]
sub eax, 0xfbab9ca5
je 0x401438
jmp 0x401156
mov eax, dword [ebp - 0x34]
sub eax, 0xfe2f7c16
je 0x40123f
jmp 0x401169
mov eax, dword [ebp - 0x34]
sub eax, 0x136331c8
je 0x401226
jmp 0x40117c
mov eax, dword [ebp - 0x34]
sub eax, 0x287972d5
je 0x401444
jmp 0x40118f
mov eax, dword [ebp - 0x34]
sub eax, 0x28a9bad5
je 0x4011e0
jmp 0x4011a2
mov eax, dword [ebp - 0x34]
sub eax, 0x4542addf
je 0x4011fb
jmp 0x4011b5
mov eax, dword [ebp - 0x34]
sub eax, 0x629d7884
je 0x4012e5
jmp 0x4011c8
mov eax, dword [ebp - 0x34]
sub eax, 0x77f118d4
je 0x401289
jmp 0x4011db
jmp 0x401470
mov dl, byte [ebp - 0x1d]
mov eax, 0x629d7884
mov ecx, 0x4542addf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x401470
mov eax, dword [ebp + 8]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
sub esp, 4
mov dword [ebp - 0x28], eax
mov eax, 0xfe2f7c16
mov ecx, 0x136331c8
cmp dword [ebp - 0x28], 0
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x401470
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x30], 0x77f118d4
jmp 0x401470
mov dword [ebp - 0x24], 0xffffffff
mov ecx, dword [0x41f028]
mov edx, dword [0x41f02c]
mov eax, ecx
and eax, edx
shl eax, 0
add eax, 0
and ecx, edx
xor ecx, 0xffffffff
shl ecx, 0
add eax, ecx
add eax, 0xe6458c20
imul eax, eax, 0x9a989f07
add eax, 0xb23e893e
imul eax, eax, 0xef409eb7
add eax, 0xcb17a0ae
mov dword [ebp - 0x30], eax
jmp 0x401470
mov ecx, dword [0x41f030]
mov edx, dword [0x41f034]
imul eax, ecx, 0xffffffff
add eax, 0
mov esi, ecx
xor esi, edx
shl esi, 0
add eax, esi
mov edi, edx
xor edi, 0xffffffff
mov esi, ecx
or esi, edi
shl esi, 0
add eax, esi
and ecx, edx
xor ecx, 0xffffffff
imul ecx, ecx, 0xffffffff
add eax, ecx
add eax, 0x629d7884
imul eax, eax, 0x7b68e87b
add eax, 0x82707996
imul eax, eax, 0x75bab6b3
add eax, 0xefee581e
mov dword [ebp - 0x30], eax
jmp 0x401470
mov dword [esp], 2
mov dword [esp + 4], 1
mov dword [esp + 8], 6
call dword [sym.imp.WS2_32.dll_socket]
sub esp, 0xc
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x2c]
mov ecx, dword [0x41f038]
mov esi, dword [0x41f03c]
mov eax, ecx
and eax, esi
imul eax, eax, 0xffffffff
add eax, 0
and ecx, esi
xor ecx, 0xffffffff
imul ecx, ecx, 0xffffffff
add eax, ecx
add eax, 0xfffffffe
imul eax, eax, 0xecce0d9f
add eax, 0xb026a802
imul esi, eax, 0x308dce5f
add esi, 0x9d5c0b42
mov eax, 0x287972d5
mov ecx, 0x8e396067
cmp edx, esi
cmovne eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x401470
lea eax, [ebp - 0x1c]
mov ecx, dword [ebp - 0x2c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x10
call dword [sym.imp.WS2_32.dll_connect]
sub esp, 0xc
mov edx, eax
mov ecx, dword [0x41f040]
mov esi, dword [0x41f044]
mov eax, ecx
xor eax, esi
shl eax, 0
add eax, 0
xor ecx, esi
xor ecx, 0xffffffff
shl ecx, 0
add eax, ecx
add eax, 0
imul eax, eax, 0xbe08e59f
add eax, 0x46ca6910
imul esi, eax, 0xde74f65f
add esi, 0xbeada310
mov eax, 0xfbab9ca5
mov ecx, 0x99ddf463
cmp edx, esi
cmove eax, ecx
mov dword [ebp - 0x30], eax
jmp 0x401470
mov eax, dword [ebp - 0x2c]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_closesocket]
sub esp, 4
mov ecx, dword [0x41f048]
mov edx, dword [0x41f04c]
mov eax, ecx
xor eax, edx
shl eax, 0
add eax, 0
mov edi, edx
xor edi, 0xffffffff
mov esi, ecx
or esi, edi
shl esi, 0
add eax, esi
xor ecx, 0xffffffff
or ecx, edx
shl ecx, 0
add eax, ecx
add eax, 1
imul eax, eax, 0x1c4d5331
add eax, 0xca1b192f
imul eax, eax, 0x752925d1
add eax, 0x91b5a5a1
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x30], 0xe6458c1f
jmp 0x401470
mov dword [ebp - 0x30], 0x287972d5
jmp 0x401470
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x30], 0xe6458c1f
jmp 0x401470
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00404d06
mov eax, dword [ebp - 0x38]
add esp, 0x3c
pop esi
pop edi
pop ebp
ret
jmp 0x401107