Function at 0x404080
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Initialize winsock library
Resolve dns

Disassembly:
sub esp, 0x1a4
mov eax, dword [0x442230]
mov dword [esp + 0x1a0], eax
lea eax, [esp + 0x10]
push eax
push 0x101
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x4040bb
xor eax, eax
mov ecx, dword [esp + 0x1a0]
call fcn.00419f5d
add esp, 0x1a4
ret
mov ecx, dword [0x4410d0]
mov eax, 0x61f4f3e1
imul ecx
sar edx, 0x11
push ebx
push esi
mov esi, dword [0x4410bc]
push edi
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, 0x3307af59
imul esi
sar edx, 0x11
add edi, edx
mov ebx, edx
mov eax, 0x1984ece9
imul ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
shr ebx, 0x1f
add ebx, edi
mov edi, dword [0x4410b4]
add ebx, edx
imul edi, edi, 0x53a0f
add eax, ebx
mov dword [0x4410c4], eax
mov eax, 0x3307af59
imul ecx
mov ecx, dword [0x4410b8]
sar edx, 0x11
add edi, edx
mov eax, edx
mov edx, ecx
imul edx, edx, 0xff4b
shr eax, 0x1f
add eax, edi
sub eax, edx
mov dword [0x4410b4], eax
mov eax, 0x61f4f3e1
imul esi
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov eax, 0xa0c15
cdq
idiv ecx
push 0
push 1
push 2
mov edi, eax
mov eax, 0x1984ece9
imul ecx
sar edx, 0x10
mov ecx, edx
sub edi, esi
shr ecx, 0x1f
add edi, edx
add ecx, edi
mov dword [str._r_____r____], ecx
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
je 0x4044c0
mov ecx, dword [0x4410b4]
mov eax, 0x88a76c3f
imul ecx
add edx, ecx
mov ecx, dword [0x4410c0]
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0x61f4f3e1
imul ecx
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov ebx, ecx
mov ecx, dword [0x4410d4]
mov eax, 0x402d6015
imul ecx
sar edx, 0xe
sub ebx, edi
mov edi, dword [esp + 0x1b4]
mov eax, edx
shr eax, 0x1f
add ebx, edx
add eax, ebx
push edi
mov dword [0x4410c8], eax
call fcn.00403f50
mov ecx, dword [0x4410d0]
mov ebx, dword [0x4410c4]
mov eax, 0xccf850a7
imul ebx, ebx, 0x3bf27
imul ecx
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [str._r_____r____]
imul edx, edx, 0x181cd
sub ecx, ebx
add ecx, edx
push str.www.
push edi
mov dword [0x4410bc], ecx
call fcn.00419de0
add esp, 0xc
test eax, eax
jne 0x40429d
push str.http
push edi
call fcn.00419de0
add esp, 8
test eax, eax
jne 0x40429d
mov ecx, dword [0x4410c8]
mov eax, 0x3307af59
imul ecx
imul ecx, ecx, 0xff4b
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x4410c4]
mov ebx, eax
mov eax, 0x1984ece9
imul edx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
sub ebx, ecx
push edi
mov dword [0x4410d0], ebx
call dword [sym.imp.WS2_32.dll_inet_addr]
mov ecx, dword [0x4410b4]
mov dword [esp + 0x10], eax
jmp 0x404345
mov ecx, dword [0x4410c8]
mov ebx, dword [0x4410b8]
mov eax, 0x61f4f3e1
imul ebx, ebx, 0xd454
imul ecx
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x4410c0]
imul edx, edx, 0xa081a
sub ebx, ecx
sub ebx, edx
push edi
mov dword [0x4410b8], ebx
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov edi, eax
test edi, edi
je 0x40447a
mov ecx, dword [0x4410b4]
mov eax, 0x88a76c3f
imul ecx
add edx, ecx
sar edx, 0x11
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, dword [0x4410cc]
mov eax, 0x197ad0b7
imul edx
sar edx, 0x10
add ebx, edx
push ebp
mov ebp, edx
mov edx, dword [str._r_____r____]
mov eax, 0x3307af59
imul edx
sar edx, 0x11
mov eax, edx
shr ebp, 0x1f
shr eax, 0x1f
add eax, edx
add ebp, ebx
sub ebp, eax
mov dword [0x4410c0], ebp
mov edx, dword [edi + 0xc]
mov eax, dword [edx]
mov edx, dword [eax]
mov dword [esp + 0x14], edx
pop ebp
mov edx, dword [0x4410d0]
imul ecx, ecx, 0x53a0f
mov eax, 0x3307af59
imul edx
sar edx, 0x11
mov eax, edx
add ecx, edx
shr eax, 0x1f
add eax, ecx
mov ecx, dword [0x4410b8]
imul ecx, ecx, 0xff4b
sub eax, ecx
push 0x50
mov dword [0x4410b4], eax
mov word [esp + 0x10], 2
call dword [sym.imp.WS2_32.dll_htons]
mov ecx, dword [0x4410bc]
mov word [esp + 0xe], ax
mov eax, 0x61f4f3e1
imul ecx
mov ecx, dword [0x4410b8]
sar edx, 0x11
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, eax
mov eax, 0xa0c15
cdq
idiv ecx
push 0x10
mov ebx, eax
mov eax, 0x1984ece9
imul ecx
sar edx, 0x10
sub ebx, edi
mov ecx, edx
add ebx, edx
lea edx, [esp + 0x10]
shr ecx, 0x1f
push edx
add ecx, ebx
push esi
mov dword [str._r_____r____], ecx
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
push esi
jne 0x404420
mov edi, dword [0x4410c0]
mov eax, dword [0x4410bc]
imul edi, edi, 0x53a0f
mov ecx, dword [0x4410b4]
imul eax, eax, 0xa0c15
sub edi, eax
mov eax, 0x3307af59
imul ecx
sar edx, 0x11
mov ecx, edx
shr ecx, 0x1f
add edi, edx
add ecx, edi
mov dword [0x4410d4], ecx
jmp 0x4044ba
mov ecx, dword [0x4410c8]
mov edi, dword [0x4410b8]
mov eax, 0x61f4f3e1
imul edi, edi, 0xd454
imul ecx
mov ecx, dword [0x4410c0]
sar edx, 0x11
imul ecx, ecx, 0xa081a
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
sub edi, ecx
mov dword [0x4410b8], edi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x1a0]
call fcn.00419f5d
add esp, 0x1a4
ret
mov ecx, dword [str._r_____r____]
mov eax, 0x197ad0b7
imul ecx
mov ecx, dword [0x4410cc]
sar edx, 0x10
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, ecx
imul edx, edx, 0xa0887
add edi, edx
mov eax, 0x40499437
imul ecx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
mov dword [0x4410cc], eax
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
mov ecx, dword [esp + 0x1ac]
pop edi
pop esi
xor eax, eax
pop ebx
call fcn.00419f5d
add esp, 0x1a4
ret