Function at 0x444220
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Get local ipv4 addresses
Get socket information
Initialize winsock library
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d49b2
mov eax, dword fs:[0]
push eax
sub esp, 0x25c
mov eax, dword [0x510620]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
cmp dword [edi + 0x3f8], 0
mov esi, dword [ebp + 8]
mov dword [ebp - 0x210], esi
mov dword [ebp - 0x230], 0
jne 0x4445c9
xor eax, eax
mov dword [ebp - 0x1c], 7
mov dword [ebp - 0x20], 0
mov word [ebp - 0x30], ax
mov dword [ebp - 0x34], vtable.UString.0
mov dword [ebp - 4], eax
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x3c], eax
mov word [ebp - 0x4c], ax
mov dword [ebp - 0x50], vtable.UString.0
push 2
push eax
lea ecx, [edi + 0x220]
mov byte [ebp - 4], 1
push 0x4eb650
call fcn.004061d0
mov esi, eax
mov dword [ebp - 0x18], 0x2f
push 1
lea ecx, [edi + 0x220]
lea eax, [esi + 2]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004061d0
test eax, eax
jns 0x4442e1
mov eax, dword [edi + 0x230]
test esi, esi
jle 0x444578
cmp eax, esi
jle 0x444578
sub eax, esi
lea ecx, [edi + 0x220]
sub eax, 2
push eax
lea eax, [esi + 2]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.00405ec0
push eax
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 2
call fcn.00455e00
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x30]
call fcn.00402990
cmp dword [ebp - 0x214], 8
mov dword [ebp - method.UString.virtual_0], vtable.UString.0
jb 0x444355
push dword [ebp - 0x228]
call fcn.00494c0b
add esp, 4
xor eax, eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x1f8], 8
mov dword [ebp - 0x214], 7
mov dword [ebp - 0x218], 0
mov word [ebp - 0x228], ax
jb 0x44438d
push dword [ebp - 0x20c]
call fcn.00494c0b
add esp, 4
push 1
push 0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x3a
push eax
lea ecx, [ebp - 0x30]
call fcn.004061d0
mov esi, eax
test esi, esi
jle 0x444457
push 0xffffffffffffffff
lea eax, [esi + 1]
push eax
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x30]
call fcn.00405ec0
push eax
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 4
call fcn.00455e00
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x264]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x4c]
call fcn.00402990
lea ecx, [ebp - 0x268]
call fcn.00416900
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 1
call fcn.00402110
push esi
push 0
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x30]
call fcn.00405ec0
push eax
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 6
call fcn.00455e00
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x30]
call fcn.00402990
lea ecx, [ebp - 0x24c]
call fcn.00416900
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 1
call fcn.00402110
cmp dword [ebp - 0x20], 0
je 0x444578
lea eax, [ebp - 0x1f4]
push eax
push 0x101
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x444578
cmp dword [ebp - 0x3c], eax
jne 0x444489
mov dword [ebp - 0x18], 0x50
jmp 0x4444a0
cmp dword [ebp - 0x38], 8
lea eax, [ebp - 0x4c]
cmovae eax, dword [ebp - 0x4c]
push eax
call fcn.00498ef2
add esp, 4
mov dword [ebp - 0x18], eax
sub esp, 8
lea ecx, [ebp - 0x34]
call fcn.00456940
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x4444df
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
movzx esi, byte [eax]
movzx edx, byte [eax + 1]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
push eax
push ecx
push edx
push esi
lea eax, [ebp - 0x34]
push str._d._d._d._d
push eax
call fcn.00456660
add esp, 0x18
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
sub esp, 8
lea ecx, [ebp - 0x34]
mov esi, eax
call fcn.00456940
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
push dword [ebp - 0x18]
mov dword [ebp - 0x5c], eax
mov eax, 2
mov word [ebp - 0x60], ax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x5e], ax
lea eax, [ebp - 0x60]
push 0x10
push eax
push esi
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
jne 0x444572
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x10
push eax
lea eax, [ebp - 0x204]
xorps xmm0, xmm0
push eax
push esi
movdqu xmmword [ebp - 0x204], xmm0
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jne 0x44456b
push dword [ebp - 0x200]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push 0xffffffffffffffff
push eax
lea ecx, [edi + 0x3e4]
call fcn.004562f0
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
cmp dword [ebp - 0x38], 8
mov dword [ebp - 0x50], vtable.UString.0
jb 0x444590
push dword [ebp - 0x4c]
call fcn.00494c0b
add esp, 4
xor eax, eax
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x1c], 8
mov dword [ebp - 0x38], 7
mov dword [ebp - 0x3c], 0
mov word [ebp - 0x4c], ax
mov dword [ebp - 0x34], vtable.UString.0
jb 0x4445c3
push dword [ebp - 0x30]
call fcn.00494c0b
add esp, 4
mov esi, dword [ebp - 0x210]
add edi, 0x3e4
je 0x4445d6
add edi, 4
jmp 0x4445d8
xor edi, edi
xor eax, eax
mov dword [esi + 0x18], 7
push 0xffffffffffffffff
lea ecx, [esi + 4]
mov dword [ecx + 0x10], 0
push eax
push edi
mov word [ecx], ax
call fcn.00402990
mov dword [esi], vtable.UString.0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00494c10
mov esp, ebp
pop ebp
ret 4