Function at 0x414980
Capabilities:
Create tcp socket
Create udp socket
Download url
Get hostname
Receive data
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44adf0
mov eax, dword fs:[0]
push eax
sub esp, 0x298
mov eax, dword [0x45d520]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, 0x45ead0
call fcn.00401960
mov dword [ebp - 0x88], eax
push str.SpecialForce_R
mov eax, dword [ebp - 0x88]
push eax
call fcn.00435f99
add esp, 8
test eax, eax
je 0x4149d8
jmp 0x414bf8
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x84]
call fcn.004018c0
mov dword [ebp - 4], 0
push 0xffffffffffffffff
push str.1__
lea ecx, [ebp - 0x84]
call fcn.00416640
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0xffffffff
jne 0x414a26
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x84]
call fcn.00401940
jmp 0x414bf8
mov dword [ebp - 0x90], 0xffffffff
push 0
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 0x90], eax
mov byte [ebp - 0x60], 0
push 0x31
push 0
lea edx, [ebp - 0x5f]
push edx
call fcn.004340c0
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.00403dc0
mov byte [ebp - 4], 1
mov dword [ebp - 0x64], 0
push 0x32
lea eax, [ebp - 0x60]
push eax
call dword [sym.imp.WS2_32.dll_gethostname]
cmp eax, 0xffffffff
je 0x414bba
lea ecx, [ebp - 0x60]
push ecx
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0
je 0x414bba
mov dword [ebp - 0x64], 0
jmp 0x414aa7
mov edx, dword [ebp - 0x64]
add edx, 1
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x64]
cmp dword [ecx + edx*4], 0
je 0x414b13
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x64]
mov eax, dword [ecx + edx*4]
mov ecx, dword [eax]
mov dword [ebp - 0xa4], ecx
mov edx, 2
mov word [ebp - 0xa0], dx
push 0x50
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x9e], ax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x9c]
push ecx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00405530
push 0x5e
lea ecx, [ebp - 0x2c]
call fcn.00416600
jmp 0x414a9e
cmp dword [ebp - 0x64], 1
jle 0x414bba
mov ecx, 0x45ea68
call fcn.00416330
push eax
lea ecx, [ebp - 0x2c]
call fcn.00405530
mov byte [ebp - 0x1a4], 0
push 0xfe
push 0
lea edx, [ebp - 0x1a3]
push edx
call fcn.004340c0
add esp, 0xc
mov byte [ebp - 0x2a4], 0
push 0xfe
push 0
lea eax, [ebp - 0x2a3]
push eax
call fcn.004340c0
add esp, 0xc
lea ecx, [ebp - 0x2c]
call fcn.00401960
push eax
push str.http:__www.pmang.com_clientmall_winnt.nwz_logstring_s
lea ecx, [ebp - 0x1a4]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push str._winnt.nwz
lea edx, [ebp - 0x2a4]
push edx
call fcn.00435ff0
add esp, 8
push 0
push 0x10
push 0xff
lea eax, [ebp - 0x2a4]
push eax
lea ecx, [ebp - 0x1a4]
push ecx
push 0
call sub.urlmon.dll_URLDownloadToCacheFileA
cmp dword [ebp - 0x90], 0xffffffff
je 0x414bda
mov edx, dword [ebp - 0x90]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x90], 0xffffffff
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call fcn.00401940
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x84]
call fcn.00401940
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00433b5e
mov esp, ebp
pop ebp
ret