Function at 0x1000e3b0
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
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004681b
mov eax, dword fs:[0]
push eax
sub esp, 0x8cc
mov eax, dword [0x10052084]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 0xc]
push 0
push 1
push 2
mov esi, edx
mov dword [ebp - 0x830], eax
mov dword [ebp - 0x844], ecx
mov byte [ebp - 0x829], 0
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
cmp edi, 0xffffffff
mov dword [ebp - 0x848], edi
mov dword [ebp - 4], 0
jne 0x1000e430
push 0x1004e2f8
lea edx, [ebp - 0x84c]
push edx
mov dword [ebp - 0x84c], eax
call fcn.100305e4
mov ebx, dword [sym.imp.WS2_32.dll_setsockopt]
push 4
lea eax, [ebp - 0x834]
push eax
push 0x1005
push 0xffff
push edi
mov dword [ebp - 0x834], 0x1388
call ebx
push 4
lea ecx, [ebp - 0x834]
push ecx
push 0x1006
push 0xffff
push edi
call ebx
mov edx, dword [ebp + 8]
xor eax, eax
push edx
mov dword [ebp - 0x826], eax
mov dword [ebp - 0x822], eax
mov dword [ebp - 0x81e], eax
mov word [ebp - 0x81a], ax
mov word [ebp - 0x828], 2
call dword [sym.imp.WS2_32.dll_htons]
push esi
mov word [ebp - 0x826], ax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov dword [ebp - 0x824], eax
push 0x10
lea eax, [ebp - 0x828]
push eax
push edi
call dword [sym.imp.WS2_32.dll_connect]
or esi, 0xffffffff
cmp eax, esi
jne 0x1000e4e3
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
push 0x1004e2f8
lea ecx, [ebp - 0x83c]
push ecx
mov dword [ebp - 0x83c], esi
call fcn.100305e4
push 0x3ff
lea edx, [ebp - 0x817]
push 0
push edx
mov byte [ebp - 0x818], 0
call fcn.1002fe50
mov ebx, dword [ebp - 0x830]
mov eax, ebx
add esp, 0xc
lea edx, [eax + 1]
jmp 0x1000e510
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1000e510
sub eax, edx
push eax
lea eax, [ebp - 0x818]
push eax
lea ecx, [ebp - 0x830]
mov dword [ebp - 0x830], 0x400
call fcn.10003d50
add esp, 8
test eax, eax
jne 0x1000e556
push 0x1004e2f8
lea ecx, [ebp - 0x850]
push ecx
mov dword [ebp - 0x850], esi
call fcn.100305e4
mov edx, dword [ebp - 0x830]
push 0
push edx
lea eax, [ebp - 0x818]
push eax
push edi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, esi
jne 0x1000e588
push 0x1004e2f8
lea ecx, [ebp - 0x838]
push ecx
mov dword [ebp - 0x838], esi
call fcn.100305e4
push 0x3ff
lea edx, [ebp - 0x417]
push 0
push edx
mov byte [ebp - 0x418], 0
call fcn.1002fe50
mov esi, dword [sym.imp.WS2_32.dll_recv]
add esp, 0xc
push 0
push 4
lea eax, [ebp - 0x418]
push eax
push edi
call esi
test eax, eax
jg 0x1000e5d8
push 0x1004e2f8
lea ecx, [ebp - 0x840]
push ecx
mov dword [ebp - 0x840], 0xffffffff
call fcn.100305e4
mov eax, dword [ebp - 0x844]
mov edx, dword [ebp - 0x418]
push eax
lea ecx, [ebp - 0x8d8]
push ecx
mov dword [ebp - 0x830], edx
call fcn.1000f300
mov byte [ebp - 4], 1
xor ebx, ebx
lea ecx, [ecx]
cmp ebx, dword [ebp - 0x830]
ja 0x1000e64c
push 0x400
lea edx, [ebp - 0x418]
push 0
push edx
call fcn.1002fe50
add esp, 0xc
push 0
push 0x400
lea eax, [ebp - 0x418]
push eax
push edi
call esi
test eax, eax
jle 0x1000e64c
lea ecx, [ebp - 0x418]
push ecx
lea edx, [ebp - 0x8d8]
push edx
mov ecx, eax
add ebx, eax
call fcn.1000e720
jmp 0x1000e600
lea esi, [ebp - 0x8d4]
call fcn.1000f7d0
test eax, eax
jne 0x1000e686
mov eax, dword [ebp - 0x8d8]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + ecx - 0x8d0]
lea ecx, [ebp + ecx - 0x8d8]
or eax, 2
cmp dword [ecx + 0x28], 0
jne 0x1000e67e
or eax, 4
push 0
push eax
call fcn.10010ce0
cmp ebx, dword [ebp - 0x830]
jne 0x1000e695
mov byte [ebp - 0x829], 1
lea ecx, [ebp - 0x884]
mov byte [ebp - 4], 0
call fcn.1000f410
lea ecx, [ebp - 0x884]
push ecx
mov dword [ebp - method.std::basic_ios_char__struct_std::char_traits_char__.virtual_0], vtable.std::ios_base.0
call fcn.1001c602
add esp, 4
jmp 0x1000e6cb
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
mov al, byte [ebp - 0x829]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1002b34a
mov esp, ebp
pop ebp
ret