Function at 0x419a90
Capabilities:
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 0x4fad38
mov eax, dword fs:[0]
push eax
sub esp, 0x48
mov eax, dword [0x591430]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x48], ecx
call fcn.004b9da0
push 0
call dword [sym.imp.WSOCK32.dll_WSASetLastError]
push 1
push 0
push 0
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_WSASocketW]
mov edi, eax
mov dword [ebp - 0x2c], edi
call fcn.004b9da0
mov esi, eax
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov dword [ebp - 0x24], esi
mov ecx, eax
mov dword [ebp - 0x28], ecx
cmp edi, 0xffffffff
jne 0x419b02
or edi, edi
mov dword [ebp - 0x2c], edi
jmp 0x419b0f
call fcn.004b9da0
xor ecx, ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x4c], edi
mov dword [ebp - 4], 0
mov esi, fcn.0040e7c0
cmp edi, 0xffffffff
jne 0x419b3e
xor edx, edx
mov eax, esi
test ecx, ecx
cmove eax, edx
test eax, eax
je 0x419b3e
push str.socket_select_interrupter
lea eax, [ebp - 0x28]
push eax
call fcn.004178a0
mov dword [ebp - 0x3c], 1
cmp edi, 0xffffffff
jne 0x419b5b
call fcn.004b9da0
mov dword [ebp - 0x28], 0x2719
mov dword [ebp - 0x24], eax
jmp 0x419ba3
push 0
call dword [sym.imp.WSOCK32.dll_WSASetLastError]
push 4
lea eax, [ebp - 0x3c]
push eax
push 4
push 0xffff
push edi
call dword [sym.imp.WSOCK32.dll_setsockopt]
mov edi, eax
call fcn.004b9da0
mov esi, eax
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], esi
test edi, edi
jne 0x419b9b
call fcn.004b9da0
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], eax
mov edi, dword [ebp - 0x2c]
mov esi, fcn.0040e7c0
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0x10
mov eax, 2
movups xmmword [ebp - 0x20], xmm0
push 0x7f000001
mov word [ebp - 0x20], ax
call dword [sym.imp.WSOCK32.dll_htonl]
mov dword [ebp - 0x1c], eax
xor eax, eax
mov word [ebp - 0x1e], ax
lea eax, [ebp - 0x28]
push eax
push 0x10
lea eax, [ebp - 0x20]
push eax
push edi
call fcn.00414970
add esp, 0x10
cmp eax, 0xffffffff
jne 0x419c02
xor ecx, ecx
mov eax, esi
cmp dword [ebp - 0x28], ecx
cmove eax, ecx
test eax, eax
je 0x419c02
push str.socket_select_interrupter
lea eax, [ebp - 0x28]
push eax
call fcn.004178a0
cmp edi, 0xffffffff
jne 0x419c1c
call fcn.004b9da0
mov ecx, 0x2719
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ecx
jmp 0x419c9c
push 0
call dword [sym.imp.WSOCK32.dll_WSASetLastError]
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x10
push eax
lea eax, [ebp - 0x20]
push eax
push edi
call dword [sym.imp.WSOCK32.dll_getsockname]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
call fcn.004b9da0
mov esi, eax
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov ecx, eax
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], ecx
test eax, eax
jne 0x419c97
call fcn.004b9da0
mov esi, dword [sym.imp.WSOCK32.dll_htonl]
push 0
call esi
cmp dword [ebp - 0x1c], eax
jne 0x419c7d
push 0x7f000001
call esi
mov dword [ebp - 0x1c], eax
cmp edi, 0xffffffff
jne 0x419cba
call fcn.004b9da0
mov ecx, 0x2719
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ecx
jmp 0x419d38
cmp eax, 0xffffffff
jne 0x419c64
xor edx, edx
mov eax, fcn.0040e7c0
test ecx, ecx
cmove eax, edx
test eax, eax
je 0x419c64
push str.socket_select_interrupter
lea eax, [ebp - 0x28]
push eax
call fcn.004178a0
push 0
call dword [sym.imp.WSOCK32.dll_WSASetLastError]
push bind
push edi
call dword [sym.imp.WSOCK32.dll_listen]
mov dword [ebp - 0x34], eax
call fcn.004b9da0
mov esi, eax
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov ecx, eax
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], ecx
test eax, eax
jne 0x419d33
call fcn.004b9da0
push 0
call dword [sym.imp.WSOCK32.dll_WSASetLastError]
push 1
push 0
push 0
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_WSASocketW]
mov dword [ebp - 0x2c], eax
call fcn.004b9da0
mov esi, eax
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov dword [ebp - 0x24], esi
mov ecx, eax
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x28], ecx
cmp esi, 0xffffffff
jne 0x419d56
or esi, esi
mov dword [ebp - 0x2c], esi
jmp 0x419d63
cmp eax, 0xffffffff
jne 0x419cf2
xor edx, edx
mov eax, fcn.0040e7c0
test ecx, ecx
cmove eax, edx
test eax, eax
je 0x419cf2
push str.socket_select_interrupter
lea eax, [ebp - 0x28]
push eax
call fcn.004178a0
call fcn.004b9da0
xor ecx, ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x50], esi
mov byte [ebp - 4], 1
cmp esi, 0xffffffff
jne 0x419d8d
xor edx, edx
mov eax, fcn.0040e7c0
test ecx, ecx
cmove eax, edx
test eax, eax
je 0x419d8d
push str.socket_select_interrupter
lea eax, [ebp - 0x28]
push eax
call fcn.004178a0
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x30]
lea eax, [ebp - 0x20]
push eax
push esi
call fcn.00415fb0
add esp, 0x10
cmp eax, 0xffffffff
jne 0x419dc5
xor ecx, ecx
mov eax, fcn.0040e7c0
cmp dword [ebp - 0x28], ecx
cmove eax, ecx
test eax, eax
je 0x419dc5
push str.socket_select_interrupter
lea eax, [ebp - 0x28]
push eax
call fcn.004178a0
cmp edi, 0xffffffff
jne 0x419dde
call fcn.004b9da0
mov dword [ebp - 0x24], eax
mov ecx, 0x2719
or eax, edi
mov dword [ebp - 0x30], eax
jmp 0x419e2a
push 0
call dword [sym.imp.WSOCK32.dll_WSASetLastError]
push 0
push 0
push edi
call dword [sym.imp.WSOCK32.dll_accept]
mov dword [ebp - 0x30], eax
call fcn.004b9da0
mov esi, eax
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
cmp dword [ebp - 0x30], 0xffffffff
mov ecx, eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], esi
jne 0x419e1a
mov esi, dword [ebp - 0x2c]
or eax, 0xffffffff
mov dword [ebp - 0x30], eax
jmp 0x419e2d
call fcn.004b9da0
mov esi, dword [ebp - 0x2c]
xor ecx, ecx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x54], eax
mov byte [ebp - 4], 2
cmp eax, 0xffffffff
jne 0x419e4b
test ecx, ecx
je 0x419e4b
push str.socket_select_interrupter
lea eax, [ebp - 0x28]
push eax
call fcn.004178a0
mov dword [ebp - 0x40], 1
cmp esi, 0xffffffff
jne 0x419e69
mov esi, 0x2719
call fcn.004b9da0
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], eax
jmp 0x419eba
push 0
call dword [sym.imp.WSOCK32.dll_WSASetLastError]
lea eax, [ebp - 0x40]
push eax
push 0x8004667e
push esi
call dword [sym.imp.WSOCK32.dll_ioctlsocket]
mov dword [ebp - 0x34], eax
call fcn.004b9da0
mov esi, eax
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], esi
test eax, eax
js 0x419eb3
xor esi, esi
call fcn.004b9da0
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], esi
jmp 0x419eb6
mov esi, dword [ebp - 0x44]
test eax, eax
je 0x419ecc
test esi, esi
je 0x419ecc
push str.socket_select_interrupter
lea eax, [ebp - 0x28]
push eax
call fcn.004178a0
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x3c], 1
cmp esi, 0xffffffff
je 0x419f05
push 0
call dword [sym.imp.WSOCK32.dll_WSASetLastError]
push 4
lea eax, [ebp - 0x3c]
push eax
push 1
push 6
push esi
call dword [sym.imp.WSOCK32.dll_setsockopt]
mov esi, eax
call fcn.004b9da0
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
test esi, esi
jne 0x419f0a
call fcn.004b9da0
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x40], 1
cmp esi, 0xffffffff
jne 0x419f2b
mov esi, 0x2719
call fcn.004b9da0
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], eax
jmp 0x419f7c
push 0
call dword [sym.imp.WSOCK32.dll_WSASetLastError]
lea eax, [ebp - 0x40]
push eax
push 0x8004667e
push esi
call dword [sym.imp.WSOCK32.dll_ioctlsocket]
mov dword [ebp - 0x34], eax
call fcn.004b9da0
mov esi, eax
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], esi
test eax, eax
js 0x419f75
xor esi, esi
call fcn.004b9da0
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], esi
jmp 0x419f78
mov esi, dword [ebp - 0x44]
test eax, eax
je 0x419f8e
test esi, esi
je 0x419f8e
push str.socket_select_interrupter
lea eax, [ebp - 0x28]
push eax
call fcn.004178a0
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x3c], 1
cmp esi, 0xffffffff
je 0x419fc7
push 0
call dword [sym.imp.WSOCK32.dll_WSASetLastError]
push 4
lea eax, [ebp - 0x3c]
push eax
push 1
push 6
push esi
call dword [sym.imp.WSOCK32.dll_setsockopt]
mov esi, eax
call fcn.004b9da0
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
test esi, esi
jne 0x419fcc
call fcn.004b9da0
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x30]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 4], eax
cmp edi, 0xffffffff
je 0x41a005
mov dword [ebp - 0x28], 0
call fcn.004b9da0
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x28]
push eax
push 1
lea eax, [ebp - 0x35]
mov byte [ebp - 0x35], 0
push eax
push edi
call fcn.00415c80
add esp, 0x10
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004b7be0
mov esp, ebp
pop ebp
ret