Function at 0x403350
Capabilities:
Create tcp socket
Get local ipv4 addresses
Get socket information
Initialize winsock library
Set socket configuration
Start tcp server

Disassembly:
push ebp
mov ecx, 0x3a
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1cc
mov eax, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.msvcrt.dll_strchr
test eax, eax
je 0x403615
inc eax
mov dword [esp], eax
call sub.msvcrt.dll_atoi
mov edx, dword [0x40d268]
test edx, edx
mov edi, eax
je 0x4035b1
mov eax, 6
mov dword [esp + 8], eax
mov eax, 1
mov dword [esp + 4], eax
mov dword [esp], 2
call sub.WSOCK32.DLL_socket
sub esp, 0xc
test eax, eax
mov ebx, eax
js 0x403602
mov eax, 4
mov esi, 0x10
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x10]
mov dword [esp + 0xc], eax
mov eax, 4
mov dword [esp + 8], eax
mov eax, 0xffff
mov dword [ebp - 0x10], 1
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.WSOCK32.DLL_setsockopt
movzx eax, di
mov word [ebp - 0x24], 2
sub esp, 0x14
mov dword [esp], eax
call sub.WSOCK32.DLL_htons
mov dword [ebp - 0x20], 0
sub esp, 4
mov word [ebp - 0x22], ax
lea eax, [ebp - 0x24]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.WSOCK32.DLL_bind
sub esp, 0xc
test eax, eax
je 0x403545
mov dword [esp], str.Cant_bind_address
call fcn.00405a70
test edi, edi
je 0x403570
mov esi, dword [sym.imp.msvcrt.dll__iob]
mov edx, str.Listening_on_port__d_n
mov dword [esp + 4], edx
mov dword [esp + 8], edi
add esi, 0x40
mov dword [esp], esi
call sub.msvcrt.dll_fprintf
mov dword [esp], esi
call sub.msvcrt.dll_fflush
lea eax, [ebp - 0x10]
mov dword [esp + 8], eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x10], 0x10
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.WSOCK32.DLL_accept
sub esp, 0xc
mov dword [section..data], eax
inc eax
je 0x4035e0
mov eax, 4
mov edi, str.Remote_debugging_from_host__s_n
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x10]
mov dword [esp + 0xc], eax
mov eax, 8
mov dword [esp + 8], eax
mov eax, 0xffff
mov dword [esp + 4], eax
mov eax, dword [section..data]
mov dword [ebp - 0x10], 1
mov dword [esp], eax
call sub.WSOCK32.DLL_setsockopt
mov eax, 4
mov dword [ebp - 0x10], 1
sub esp, 0x14
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x10]
mov dword [esp + 0xc], eax
mov eax, 1
mov dword [esp + 8], eax
mov eax, 6
mov dword [esp + 4], eax
mov eax, dword [section..data]
mov dword [esp], eax
call sub.WSOCK32.DLL_setsockopt
sub esp, 0x14
mov dword [esp], ebx
call sub.WSOCK32.DLL_closesocket
mov eax, dword [ebp - 0x20]
sub esp, 4
mov dword [esp], eax
call sub.WSOCK32.DLL_inet_ntoa
sub esp, 4
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 8], eax
call sub.msvcrt.dll_fprintf
call fcn.00401e50
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, 1
mov dword [esp + 4], ecx
mov dword [esp], ebx
call sub.WSOCK32.DLL_listen
sub esp, 8
test eax, eax
jne 0x403432
test edi, edi
jne 0x403446
lea esi, [esi]
lea eax, [ebp - 0x14]
mov dword [esp + 8], eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x14], 0x10
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.WSOCK32.DLL_getsockname
sub esp, 0xc
test eax, eax
js 0x4035f1
cmp dword [ebp - 0x14], 0xf
jbe 0x4035f1
movzx eax, word [ebp - 0x22]
mov dword [esp], eax
call sub.WSOCK32.DLL_ntohs
sub esp, 4
movzx edi, ax
jmp 0x403446
lea eax, [ebp - 0x1b4]
mov dword [esp + 4], eax
mov dword [esp], 1
call sub.WSOCK32.DLL_WSAStartup
mov eax, 1
mov dword [0x40d268], eax
sub esp, 8
jmp 0x403391
mov dword [esp], str.Accept_failed
call fcn.00405a70
jmp 0x403498
mov dword [esp], str.Cant_determine_port
call fcn.00405a70
lea esi, [esi]
jmp 0x40359a
mov dword [esp], str.Cant_open_socket
call fcn.00405a70
nop
jmp 0x4033bc
mov dword [esp], str.Only__host_:_port__is_supported_on_this_platform.
call fcn.00405a10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop