Function at 0x43dbe0
Capabilities:
Create tcp socket
Create udp socket
Get local ipv4 addresses
Get socket information
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], 0x10
mov edx, dword [ebp + 0xc]
mov word [edx], 2
push 0
call sub.WS2_32.dll_htonl
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 4], eax
mov dx, word [ebp - 0x18]
push edx
call sub.WS2_32.dll_htons
mov ecx, dword [ebp + 0xc]
mov word [ecx + 2], ax
push 0
push 1
push 2
call sub.WS2_32.dll_socket
mov edx, dword [ebp + 0x10]
mov dword [edx], eax
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0xffffffff
jne 0x43dc50
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
push str.cannot_create__s___u__n
call fcn.0040cc80
add esp, 0xc
add eax, 9
jmp 0x43ddd9
mov dword [ebp - 8], 1
push 4
lea eax, [ebp - 8]
push eax
push 4
push 0xffff
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
call sub.WS2_32.dll_setsockopt
push 0x10
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
call sub.WS2_32.dll_bind
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
jne 0x43dccf
cmp dword [ebp + 0x18], 0
jbe 0x43dccf
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
push str.cannot_bind_on_port__u__using_alternative_port__d._n
call fcn.0040ceb0
add esp, 0xc
mov edx, dword [ebp + 0x18]
mov dword [ebp - 0x18], edx
mov ax, word [ebp - 0x18]
push eax
call sub.WS2_32.dll_htons
mov ecx, dword [ebp + 0xc]
mov word [ecx + 2], ax
push 0x10
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push ecx
call sub.WS2_32.dll_bind
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
jne 0x43dd18
mov edx, dword [ebp - 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
push str.cannot_bind__s___u__n
call fcn.0040cc80
add esp, 0xc
push str.info_:_maybe_a_different_app_is_running__or_firewall_blocks_access._n
push 0x52ba60
call fcn.004be45c
add esp, 8
push str.info_:_you_may_retry_with_a_different_port__e.g.__port30199._n
push 0x52ba60
call fcn.004be45c
add esp, 8
mov eax, 9
jmp 0x43ddd9
lea ecx, [ebp - 4]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push ecx
call sub.WS2_32.dll_getsockname
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
jne 0x43dd4f
call fcn.00484790
push eax
push 0x4d7940
call fcn.0040cc80
add esp, 8
add eax, 9
jmp 0x43ddd9
cmp dword [ebp - 0x18], 0
sete dl
mov byte [ebp - 9], dl
mov eax, dword [ebp + 0xc]
mov cx, word [eax + 2]
push ecx
call sub.WS2_32.dll_ntohs
movzx edx, ax
mov dword [ebp - 0x18], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x18]
mov dword [eax], ecx
movzx edx, byte [ebp - 9]
test edx, edx
je 0x43dd9d
mov eax, dword [ebp - 0x18]
and eax, 0xff
push eax
mov ecx, dword [ebp - 0x18]
shr ecx, 8
push ecx
mov edx, dword [ebp - 0x18]
push edx
push str.__local_port__u___u___u__n
call fcn.0044d350
add esp, 0x10
push 0
mov eax, dword [ebp + 0x10]
push eax
call fcn.00438380
add esp, 8
push 4
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push edx
call sub.WS2_32.dll_listen
cmp eax, 0xffffffff
jne 0x43ddd7
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
push str.cannot_listen_on__s___u__n
call fcn.0040cc80
add esp, 0xc
add eax, 9
jmp 0x43ddd9
xor eax, eax
mov esp, ebp
pop ebp
ret