Function at 0x43fa90
Capabilities:
Create tcp socket
Create udp socket
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x4a701c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push edi
push 0
push 1
push 2
mov ebx, edx
mov dword [ebp - 0x20], ecx
call dword [sym.imp.WS2_32.dll_socket]
cmp eax, 0xffffffff
je 0x43fca6
mov ecx, eax
call fcn.0043f4d0
mov edi, eax
cmp edi, 0xffffffff
je 0x43fca6
test edi, edi
jne 0x43fb0a
push str.make_listen_bind:_Socket_0_is_reserved___Please_report_this____n
call fcn.00442810
add esp, 4
push dword [edi*4 + 0x4cf878]
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [edi*4 + 0x4cf878], 0xffffffff
or eax, 0xffffffff
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0045f6f1
mov esp, ebp
pop ebp
ret
cmp edi, 0x1000
jl 0x43fb27
push 0x1000
push edi
push str.make_listen_bind:_New_socket__d_is_greater_than_can_we_handle__Increase_the_value_of_MAXCONN__currently__d__for_your_OS_to_fix_this__n
call fcn.00442810
add esp, 0xc
jmp 0x43fadf
push 4
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 1
push eax
push 1
push 6
push dword [edi*4 + 0x4cf878]
call dword [sym.imp.WS2_32.dll_setsockopt]
xor eax, eax
push 4
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push 0x80
push 0xffff
push dword [edi*4 + 0x4cf878]
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x43fb79
push edi
push str.setsocketopts:_Unable_to_set_SO_LINGER_mode_for_connection__d__n
call fcn.004427d0
add esp, 8
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 1
push eax
push 0x8004667e
push dword [edi*4 + 0x4cf878]
call dword [sym.imp.WS2_32.dll_ioctlsocket]
test eax, eax
je 0x43fbae
call fcn.0043f530
push eax
push edi
push str.set_nonblocking:_Failed_to_set_socket__d_to_non_blocking_mode___s____Please_report_this____n
call fcn.00442810
add esp, 0xc
push dword [ebp - 0x20]
mov eax, 2
mov word [ebp - 0x14], ax
call dword [sym.imp.WS2_32.dll_htonl]
push ebx
mov dword [ebp - 0x10], eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x12], ax
lea eax, [ebp - 0x14]
push 0x10
push eax
push dword [edi*4 + 0x4cf878]
call dword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
je 0x43fcc0
push 5
push dword [edi*4 + 0x4cf878]
call dword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
je 0x43fcdb
mov eax, dword [0x4ad1d8]
xor ecx, ecx
test eax, eax
je 0x43fc22
mov edx, dword [edi*4 + 0x4cf878]
cmp dword [ecx*4 + 0x4ad1dc], edx
je 0x43fc22
inc ecx
cmp ecx, eax
jb 0x43fc14
cmp ecx, eax
jne 0x43fc41
cmp eax, 0x1000
jae 0x43fc41
mov eax, dword [edi*4 + 0x4cf878]
mov dword [ecx*4 + 0x4ad1dc], eax
inc dword [0x4ad1d8]
cmp dword [0x4b9420], edi
jg 0x43fc51
lea eax, [edi + 1]
mov dword [0x4b9420], eax
push fcn.0043f5a0
push fcn.0043f5a0
mov edx, 0x43f810
mov ecx, edi
call fcn.00440040
mov eax, dword [edi*4 + 0x4b5420]
add esp, 8
mov ecx, dword [ebp - 4]
xor ecx, ebp
mov dword [eax + 4], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x30], 0
mov dword [eax + 0x34], 0
mov eax, edi
pop edi
pop ebx
call fcn.0045f6f1
mov esp, ebp
pop ebp
ret
call fcn.0043f530
push eax
push str.make_listen_bind:_socket_creation_failed___s___n
call fcn.00442810
add esp, 8
push 1
call fcn.0047280f
call fcn.0043f530
push eax
push edi
push str.make_listen_bind:_bind_failed__socket__d___s___n
call fcn.00442810
add esp, 0xc
push 1
call fcn.0047280f
call fcn.0043f530
push eax
push edi
push str.make_listen_bind:_listen_failed__socket__d___s___n
call fcn.00442810
add esp, 0xc
push 1
call fcn.0047280f
int3