Function at 0x475ac0
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
Set socket configuration
Start tcp server

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x644de8
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x6ddc7c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x48], ecx
push 0x6eb974
xorps xmm0, xmm0
push 0x450a50
push 0x6eb9ac
movlpd qword [ebp - 0x18], xmm0
call fcn.005fbcbd
add esp, 0xc
test eax, eax
je 0x475ee5
push 1
push 0
push 0
push 6
push 1
push 2
mov dword [ebp - 0x14], 0x6eb974
call dword [sym.imp.WS2_32.dll_WSASocketW]
mov edi, eax
lea ecx, [ebp - 0x18]
cmp edi, 0xffffffff
sete dl
call fcn.00475220
or eax, 0xffffffff
cmp edi, eax
cmove edi, eax
mov dword [ebp - 0x4c], edi
mov dword [ebp - 4], 0
cmp edi, eax
jne 0x475b5e
cmp dword [ebp - 0x18], 0
jne 0x475eea
mov dword [ebp - 0x1c], 1
cmp edi, 0xffffffff
jne 0x475b84
mov edx, 0x2719
lea ecx, [ebp - 0x44]
call fcn.00472df0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
jmp 0x475ba5
push 4
lea eax, [ebp - 0x1c]
push eax
push 4
push 0xffff
push edi
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
lea ecx, [ebp - 0x18]
setne dl
call fcn.00475220
mov ebx, dword [sym.imp.WS2_32.dll_htonl]
xorps xmm0, xmm0
mov eax, 2
mov dword [ebp - 0x40], 0x10
push 0x7f000001
movlpd qword [ebp - 0x30], xmm0
mov word [ebp - 0x38], ax
call ebx
mov dword [ebp - 0x34], eax
xor eax, eax
mov word [ebp - 0x36], ax
cmp edi, 0xffffffff
jne 0x475bf2
mov edx, 0x2719
lea ecx, [ebp - 0x28]
call fcn.00472df0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
jmp 0x475c16
push 0x10
lea eax, [ebp - 0x38]
push eax
push edi
call dword [sym.imp.WS2_32.dll_bind]
mov esi, eax
lea ecx, [ebp - 0x18]
test esi, esi
setne dl
call fcn.00475220
cmp esi, 0xffffffff
jne 0x475c1e
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x475ef7
cmp edi, 0xffffffff
jne 0x475c3d
mov edx, 0x2719
lea ecx, [ebp - 0x54]
call fcn.00472df0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
jmp 0x475c70
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0x10
push eax
lea eax, [ebp - 0x38]
push eax
push edi
call dword [sym.imp.WS2_32.dll_getsockname]
mov esi, eax
lea ecx, [ebp - 0x18]
mov eax, dword [ebp - 0x24]
test esi, esi
mov dword [ebp - 0x40], eax
setne dl
call fcn.00475220
cmp esi, 0xffffffff
jne 0x475c78
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x475f04
push 0
call ebx
cmp dword [ebp - 0x34], eax
jne 0x475c8b
push 0x7f000001
call ebx
mov dword [ebp - 0x34], eax
cmp edi, 0xffffffff
jne 0x475caa
mov edx, 0x2719
lea ecx, [ebp - 0x54]
call fcn.00472df0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
jmp 0x475ccd
push bind
push edi
call dword [sym.imp.WS2_32.dll_listen]
mov esi, eax
lea ecx, [ebp - 0x18]
test esi, esi
setne dl
call fcn.00475220
cmp esi, 0xffffffff
jne 0x475cd5
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x475f11
push 1
push 0
push 0
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_WSASocketW]
mov ebx, eax
lea ecx, [ebp - 0x18]
cmp ebx, 0xffffffff
sete dl
call fcn.00475220
cmp ebx, 0xffffffff
mov eax, 0xffffffff
cmove ebx, eax
mov dword [ebp - 0x24], ebx
mov byte [ebp - 4], 1
cmp ebx, eax
jne 0x475d31
cmp dword [ebp - 0x18], 0
jne 0x475f1e
mov edx, 0x2719
lea ecx, [ebp - 0x54]
call fcn.00472df0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
jmp 0x475d56
push dword [ebp - 0x40]
lea eax, [ebp - 0x38]
push eax
push ebx
call dword [sym.imp.WS2_32.dll_connect]
mov esi, eax
lea ecx, [ebp - 0x18]
test esi, esi
setne dl
call fcn.00475220
cmp esi, 0xffffffff
jne 0x475d5e
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x475f2b
cmp edi, 0xffffffff
jne 0x475d7c
mov edx, 0x2719
lea ecx, [ebp - 0x54]
call fcn.00472df0
or esi, edi
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
jmp 0x475da5
push 0
push 0
push edi
call dword [sym.imp.WS2_32.dll_accept]
mov esi, eax
lea ecx, [ebp - 0x18]
cmp esi, 0xffffffff
sete dl
call fcn.00475220
cmp esi, 0xffffffff
jne 0x475da3
mov ecx, dword [ebp - 0x18]
or esi, esi
jmp 0x475da8
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x40], esi
mov byte [ebp - 4], 2
cmp esi, 0xffffffff
jne 0x475dbc
test ecx, ecx
jne 0x475f38
lea eax, [ebp - 0x18]
mov dword [ebp - 0x20], 1
push eax
lea eax, [ebp - 0x20]
mov byte [ebp - 0x39], 0
push eax
push ecx
lea edx, [ebp - 0x39]
mov ecx, ebx
call fcn.00475610
add esp, 0xc
test eax, eax
je 0x475deb
cmp dword [ebp - 0x18], 0
jne 0x475f45
mov dword [ebp - 0x1c], 1
cmp ebx, 0xffffffff
jne 0x475e17
mov edx, 0x2719
lea ecx, [ebp - 0x5c]
call fcn.00472df0
mov edi, dword [sym.imp.WS2_32.dll_setsockopt]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
jmp 0x475e37
mov edi, dword [sym.imp.WS2_32.dll_setsockopt]
lea eax, [ebp - 0x1c]
push 4
push eax
push 1
push 6
push ebx
call edi
test eax, eax
lea ecx, [ebp - 0x18]
setne dl
call fcn.00475220
lea eax, [ebp - 0x18]
mov dword [ebp - 0x20], 1
push eax
lea eax, [ebp - 0x20]
mov byte [ebp - 0x39], 0
push eax
push ecx
lea edx, [ebp - 0x39]
mov ecx, esi
call fcn.00475610
add esp, 0xc
test eax, eax
je 0x475e66
cmp dword [ebp - 0x18], 0
jne 0x475f52
mov dword [ebp - 0x1c], 1
cmp esi, 0xffffffff
jne 0x475e81
mov edx, 0x2719
lea ecx, [ebp - 0x5c]
call fcn.00472df0
jmp 0x475e9b
push 4
lea eax, [ebp - 0x1c]
push eax
push 1
push 6
push esi
call edi
test eax, eax
lea ecx, [ebp - 0x18]
setne dl
call fcn.00475220
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x24], 0xffffffff
mov dword [eax], esi
mov dword [eax + 4], ebx
call fcn.00475a40
lea ecx, [ebp - 0x24]
call fcn.00475a40
lea ecx, [ebp - 0x4c]
call fcn.00475a40
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005ff7bd
mov esp, ebp
pop ebp
ret
call fcn.0061f60e
mov edx, str.socket_select_interrupter
lea ecx, [ebp - 0x18]
call fcn.0044fae0
mov edx, str.socket_select_interrupter
lea ecx, [ebp - 0x18]
call fcn.0044fae0
mov edx, str.socket_select_interrupter
lea ecx, [ebp - 0x18]
call fcn.0044fae0
mov edx, str.socket_select_interrupter
lea ecx, [ebp - 0x18]
call fcn.0044fae0
mov edx, str.socket_select_interrupter
lea ecx, [ebp - 0x18]
call fcn.0044fae0
mov edx, str.socket_select_interrupter
lea ecx, [ebp - 0x18]
call fcn.0044fae0
mov edx, str.socket_select_interrupter
lea ecx, [ebp - 0x18]
call fcn.0044fae0
mov edx, str.socket_select_interrupter
lea ecx, [ebp - 0x18]
call fcn.0044fae0
mov edx, str.socket_select_interrupter
lea ecx, [ebp - 0x18]
call fcn.0044fae0
int3