Function at 0x44ed20
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 0x591d58
mov eax, dword fs:[0]
push eax
sub esp, 0x48
mov eax, dword [0x612678]
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.0053de50
push 0
call dword [sym.imp.WS2_32.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.0053de50
mov esi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x24], esi
mov ecx, eax
mov dword [ebp - 0x28], ecx
cmp edi, 0xffffffff
jne 0x44ed92
or edi, edi
mov dword [ebp - 0x2c], edi
jmp 0x44ed9f
call fcn.0053de50
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.0052a8e0
cmp edi, 0xffffffff
jne 0x44edc4
xor edx, edx
mov eax, esi
test ecx, ecx
cmove eax, edx
test eax, eax
jne 0x44f25a
mov dword [ebp - 0x3c], 1
cmp edi, 0xffffffff
jne 0x44ede1
call fcn.0053de50
mov dword [ebp - 0x28], 0x2719
mov dword [ebp - 0x24], eax
jmp 0x44ee29
push 0
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push 4
lea eax, [ebp - 0x3c]
push eax
push 4
push 0xffff
push edi
call dword [sym.imp.WS2_32.dll_setsockopt]
mov edi, eax
call fcn.0053de50
mov esi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], esi
test edi, edi
jne 0x44ee21
call fcn.0053de50
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], eax
mov edi, dword [ebp - 0x2c]
mov esi, fcn.0052a8e0
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.WS2_32.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.00449e60
add esp, 0x10
cmp eax, 0xffffffff
jne 0x44ee7e
xor ecx, ecx
mov eax, esi
cmp dword [ebp - 0x28], ecx
cmove eax, ecx
test eax, eax
jne 0x44f268
cmp edi, 0xffffffff
jne 0x44ee98
call fcn.0053de50
mov ecx, 0x2719
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ecx
jmp 0x44ef18
push 0
call dword [sym.imp.WS2_32.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.WS2_32.dll_getsockname]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x30], eax
call fcn.0053de50
mov esi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], ecx
test eax, eax
jne 0x44ef13
call fcn.0053de50
mov esi, dword [sym.imp.WS2_32.dll_htonl]
push 0
call esi
cmp dword [ebp - 0x1c], eax
jne 0x44eef9
push 0x7f000001
call esi
mov dword [ebp - 0x1c], eax
cmp edi, 0xffffffff
jne 0x44ef2e
call fcn.0053de50
mov ecx, 0x2719
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ecx
jmp 0x44efac
cmp eax, 0xffffffff
jne 0x44eee0
xor edx, edx
mov eax, fcn.0052a8e0
test ecx, ecx
cmove eax, edx
test eax, eax
jne 0x44f276
jmp 0x44eee0
push 0
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push closesocket
push edi
call dword [sym.imp.WS2_32.dll_listen]
mov dword [ebp - 0x34], eax
call fcn.0053de50
mov esi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ecx, eax
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], ecx
test eax, eax
jne 0x44efa7
call fcn.0053de50
push 0
call dword [sym.imp.WS2_32.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.0053de50
mov esi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x24], esi
mov ecx, eax
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x28], ecx
cmp esi, 0xffffffff
jne 0x44efc2
or esi, esi
mov dword [ebp - 0x2c], esi
jmp 0x44efcf
cmp eax, 0xffffffff
jne 0x44ef66
xor edx, edx
mov eax, fcn.0052a8e0
test ecx, ecx
cmove eax, edx
test eax, eax
jne 0x44f284
jmp 0x44ef66
call fcn.0053de50
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 0x44efef
xor edx, edx
mov eax, fcn.0052a8e0
test ecx, ecx
cmove eax, edx
test eax, eax
jne 0x44f292
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x30]
lea eax, [ebp - 0x20]
push eax
push esi
call fcn.0044a060
add esp, 0x10
cmp eax, 0xffffffff
jne 0x44f01d
xor ecx, ecx
mov eax, fcn.0052a8e0
cmp dword [ebp - 0x28], ecx
cmove eax, ecx
test eax, eax
jne 0x44f2a0
cmp edi, 0xffffffff
jne 0x44f036
call fcn.0053de50
mov dword [ebp - 0x24], eax
mov ecx, 0x2719
or eax, edi
mov dword [ebp - 0x30], eax
jmp 0x44f082
push 0
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push 0
push 0
push edi
call dword [sym.imp.WS2_32.dll_accept]
mov dword [ebp - 0x30], eax
call fcn.0053de50
mov esi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp dword [ebp - 0x30], 0xffffffff
mov ecx, eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], esi
jne 0x44f072
mov esi, dword [ebp - 0x2c]
or eax, 0xffffffff
mov dword [ebp - 0x30], eax
jmp 0x44f085
call fcn.0053de50
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 0x44f099
test ecx, ecx
jne 0x44f2ae
mov dword [ebp - 0x40], 1
cmp esi, 0xffffffff
jne 0x44f0b7
mov esi, 0x2719
call fcn.0053de50
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], eax
jmp 0x44f108
push 0
call dword [sym.imp.WS2_32.dll_WSASetLastError]
lea eax, [ebp - 0x40]
push eax
push 0x8004667e
push esi
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov dword [ebp - 0x34], eax
call fcn.0053de50
mov esi, eax
call dword [sym.imp.WS2_32.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 0x44f101
xor esi, esi
call fcn.0053de50
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], esi
jmp 0x44f104
mov esi, dword [ebp - 0x44]
test eax, eax
je 0x44f110
test esi, esi
jne 0x44f2bc
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x3c], 1
cmp esi, 0xffffffff
je 0x44f149
push 0
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push 4
lea eax, [ebp - 0x3c]
push eax
push 1
push 6
push esi
call dword [sym.imp.WS2_32.dll_setsockopt]
mov esi, eax
call fcn.0053de50
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test esi, esi
jne 0x44f14e
call fcn.0053de50
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x40], 1
cmp esi, 0xffffffff
jne 0x44f16f
mov esi, 0x2719
call fcn.0053de50
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], eax
jmp 0x44f1c0
push 0
call dword [sym.imp.WS2_32.dll_WSASetLastError]
lea eax, [ebp - 0x40]
push eax
push 0x8004667e
push esi
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov dword [ebp - 0x34], eax
call fcn.0053de50
mov esi, eax
call dword [sym.imp.WS2_32.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 0x44f1b9
xor esi, esi
call fcn.0053de50
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], esi
jmp 0x44f1bc
mov esi, dword [ebp - 0x44]
test eax, eax
je 0x44f1c8
test esi, esi
jne 0x44f2ca
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0x3c], 1
cmp esi, 0xffffffff
je 0x44f201
push 0
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push 4
lea eax, [ebp - 0x3c]
push eax
push 1
push 6
push esi
call dword [sym.imp.WS2_32.dll_setsockopt]
mov esi, eax
call fcn.0053de50
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test esi, esi
jne 0x44f206
call fcn.0053de50
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 0x44f23f
mov dword [ebp - 0x28], 0
call fcn.0053de50
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.0042fa90
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.00556510
mov esp, ebp
pop ebp
ret
push str.socket_select_interrupter
lea eax, [ebp - 0x28]
push eax
call fcn.00424a20
push str.socket_select_interrupter
lea eax, [ebp - 0x28]
push eax
call fcn.00424a20
push str.socket_select_interrupter
lea eax, [ebp - 0x28]
push eax
call fcn.00424a20
push str.socket_select_interrupter
lea eax, [ebp - 0x28]
push eax
call fcn.00424a20
push str.socket_select_interrupter
lea eax, [ebp - 0x28]
push eax
call fcn.00424a20
push str.socket_select_interrupter
lea eax, [ebp - 0x28]
push eax
call fcn.00424a20
push str.socket_select_interrupter
lea eax, [ebp - 0x28]
push eax
call fcn.00424a20
push str.socket_select_interrupter
lea eax, [ebp - 0x28]
push eax
call fcn.00424a20
push str.socket_select_interrupter
lea eax, [ebp - 0x28]
push eax
call fcn.00424a20
int3