Function at 0x439fc4
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
lea ebp, [esp - 0xa4]
sub esp, 0x124
mov eax, dword [0x4d4430]
xor eax, ebp
mov dword [ebp + 0xa0], eax
mov eax, dword [ebp + 0xb4]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp + 0xb8]
push ebx
push esi
mov esi, dword [ebp + 0xac]
push edi
mov dword [ebp - 0x7c], eax
xor eax, eax
mov word [ebp - 0x70], ax
lea edi, [ebp - 0x6e]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 0xff
stosw word es:[edi], ax
lea eax, [ebp - 0x5f]
push 0
push eax
mov dword [ebp - 0x74], 0x40000000
mov byte [ebp - 0x60], 0
call fcn.0040c970
add esp, 0xc
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov ebx, eax
or edi, 0xffffffff
mov dword [ebp - 0x78], ebx
cmp ebx, edi
jne 0x43a05b
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.socket_failed__error_d_n
call fcn.004026e0
pop ecx
pop ecx
mov eax, 0x41012010
jmp 0x43a1bb
push 2
pop eax
mov word [ebp - 0x70], ax
mov eax, dword [0x4e1d48]
movzx eax, word [eax + 0x40]
push eax
call dword [sym.imp.WS2_32.dll_htons]
push dword [0x4e1d48]
mov word [ebp - 0x6e], ax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x6c], eax
push 0x10
lea eax, [ebp - 0x70]
push eax
push ebx
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, edi
jne 0x43a0bf
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
mov eax, dword [0x4e1d48]
push dword [eax + 0x40]
push eax
push str.connect__s:_d__failed__error_d_n
call fcn.004026e0
add esp, 0x10
mov dword [ebp - 0x74], 0x41012011
jmp 0x43a1af
push 0
push dword [ebp + 0xb0]
push esi
push ebx
call dword [sym.imp.WS2_32.dll_send]
cmp eax, edi
jne 0x43a0f9
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push dword [ebp + 0xb0]
push str.send__d__failed__error_d_n
call fcn.004026e0
add esp, 0xc
mov dword [ebp - 0x74], 0x4101200b
jmp 0x43a1af
push 1
push ebx
call dword [sym.imp.WS2_32.dll_shutdown]
cmp eax, edi
jne 0x43a12c
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.shutdown_failed__error_d_n
call fcn.004026e0
pop ecx
pop ecx
push ebx
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x74], 0x41012012
jmp 0x43a1af
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
xor edi, edi
push 0
push 0x100
lea eax, [ebp - 0x60]
push eax
push dword [ebp - 0x78]
call dword [sym.imp.WS2_32.dll_recv]
mov esi, eax
test esi, esi
jle 0x43a174
mov eax, dword [ebp - 0x7c]
lea ebx, [edi + esi]
cmp ebx, dword [eax]
jg 0x43a1a4
push esi
lea eax, [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x80]
add eax, edi
push eax
call fcn.0040ba20
add esp, 0xc
mov edi, ebx
jmp 0x43a189
je 0x43a18f
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.recv_failed__error_d_n
call fcn.004026e0
pop ecx
pop ecx
test esi, esi
jg 0x43a139
jmp 0x43a1af
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push str.connection_closed__d__n
call fcn.004026e0
pop ecx
pop ecx
jmp 0x43a1af
add edi, esi
mov dword [eax], edi
mov dword [ebp - 0x74], 0x41012013
push dword [ebp - 0x78]
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp + 0xa0]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040c660
add ebp, 0xa4
leave
ret