Function at 0x407ab0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create raw socket
Create tcp socket
Create udp socket
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Set socket configuration

Disassembly:
mov eax, 0x2814
call fcn.00412e10
push ebx
push ebp
push esi
push edi
push 0x43bd74
call fcn.00407400
mov ebx, dword [esp + 0x282c]
movsx eax, byte [ebx]
mov bp, word [ebx + 0x108]
push eax
call fcn.004137f0
add esp, 8
test eax, eax
push ebx
je 0x407aef
call dword [sym.imp.WSOCK32.dll_gethostbyname]
jmp 0x407b08
call dword [sym.imp.WSOCK32.dll_inet_addr]
push 2
lea ecx, [esp + 0x24]
push 4
push ecx
mov dword [esp + 0x2c], eax
call dword [sym.imp.WSOCK32.dll_gethostbyaddr]
test eax, eax
jne 0x407b40
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
push eax
push ebx
push str.Client:_Cannot_resolve_address___s_:_Error__d_n
push 0x43cff0
call fcn.00413654
mov edx, dword [ebx + 0x100]
add esp, 0x10
push edx
call dword [sym.imp.KERNEL32.DLL_SetEvent]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2814
ret
xor ecx, ecx
lea edi, [esp + 0x14]
mov dword [esp + 0x10], ecx
push ebp
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov edx, dword [eax + 0xc]
movsx ecx, word [eax + 0xa]
mov esi, dword [edx]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ax, word [eax + 8]
mov word [esp + 0x14], ax
call dword [sym.imp.WSOCK32.dll_htons]
push 0
push 1
push 2
mov word [esp + 0x1e], ax
call dword [sym.imp.WSOCK32.dll_socket]
lea ecx, [esp + 0x10]
mov esi, eax
push 0x10
push ecx
push esi
call dword [sym.imp.WSOCK32.dll_connect]
cmp eax, 0xffffffff
jne 0x407be4
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
push eax
push str.connect___failed:__d_n
push 0x43cff0
call fcn.00413654
mov edx, dword [ebx + 0x104]
add esp, 0xc
mov dword [edx + 0xc], 1
mov eax, dword [ebx + 0x100]
push eax
call dword [sym.imp.KERNEL32.DLL_SetEvent]
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x2814
ret
mov ecx, dword [ebx + 0x104]
mov dword [ecx + 4], esi
mov edx, dword [ebx + 0x104]
mov dword [edx + 0xc], 0
mov eax, dword [ebx + 0x100]
push eax
call dword [sym.imp.KERNEL32.DLL_SetEvent]
mov eax, dword [ebx + 0x104]
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x407cf8
mov edi, dword [sym.imp.WSOCK32.dll_recv]
mov ebp, dword [sym.imp.WSOCK32.dll_send]
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x407cf8
push 0
lea ecx, [esp + 0x28]
push 0x2800
push ecx
push esi
call edi
cmp eax, 0xffffffff
je 0x407c71
test eax, eax
je 0x407ca0
push 0
push eax
mov eax, dword [ebx + 0x104]
lea edx, [esp + 0x2c]
push edx
mov ecx, dword [eax]
push ecx
call ebp
cmp eax, 0xffffffff
je 0x407cc3
mov eax, dword [ebx + 0x104]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x407c24
jmp 0x407cf8
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
push eax
push str.recv___failed:_error__d_n
push 0x43cff0
call fcn.00413654
add esp, 0xc
push esi
call dword [sym.imp.WSOCK32.dll_closesocket]
mov edx, dword [ebx + 0x104]
mov dword [edx + 0xc], 1
jmp 0x407cf8
push str.Server_closed_connection_n
call fcn.00407400
add esp, 4
push esi
call dword [sym.imp.WSOCK32.dll_closesocket]
mov eax, dword [ebx + 0x104]
mov dword [eax + 0xc], 1
jmp 0x407cf8
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
push eax
push str.send___failed:_error__d_n
push 0x43cff0
call fcn.00413654
mov ecx, dword [ebx + 0x104]
add esp, 0xc
mov edx, dword [ecx]
push edx
call dword [sym.imp.WSOCK32.dll_closesocket]
mov eax, dword [ebx + 0x104]
mov dword [eax + 8], 1
mov eax, dword [ebx + 0x104]
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x407d1c
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.WSOCK32.dll_closesocket]
mov edx, dword [ebx + 0x104]
mov dword [edx + 0xc], 1
mov eax, dword [ebx + 0x104]
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x407d3f
mov eax, dword [eax]
push eax
call dword [sym.imp.WSOCK32.dll_closesocket]
mov ecx, dword [ebx + 0x104]
mov dword [ecx + 8], 1
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2814
ret