Function at 0x140001e00
Capabilities:
Create tcp socket
Create thread
Set socket configuration
Start tcp server

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov rdi, qword [sym.__acrt_iob_func]
pcmpeqd xmm0, xmm0
mov ebp, 1
xor r15d, r15d
movzx eax, cx
shl edx, 0x10
mov dword [rsp + 0x50], ecx
mov word [rsp + 0x6e], cx
or edx, eax
mov eax, 2
movaps xmmword [rsp + 0x80], xmm0
lea rbx, [rsp + 0x80]
mov dword [rsp + 0x78], edx
mov word [rsp + 0x90], ax
mov dword [rsp + 0x94], 0
mov r8d, 6
mov edx, 1
mov ecx, 2
call qword [sym.imp.WS2_32.dll_socket]
cmp rax, 0xffffffffffffffff
mov r12, rax
mov qword [rbx + rbp*8 - 8], rax
je 0x140002240
lea r13, str._n____Create_Socket__d_Successed_n
mov ecx, 1
call rdi
mov r8d, ebp
mov rdx, r13
mov rcx, rax
call sym.fprintf
mov ecx, 1
call rdi
mov rcx, rax
call sym.fflush
mov rcx, qword [0x14000f048]
test rcx, rcx
je 0x140001ed9
mov r8d, ebp
mov rdx, r13
call sym.fprintf
mov rcx, qword [0x14000f048]
call sym.fflush
movzx r14d, word [rsp + rbp*2 + 0x76]
lea r13, [rsp + 0x90]
mov rax, qword [sym.imp.WS2_32.dll_htons]
mov ecx, r14d
mov qword [rsp + 0x48], rax
call qword [sym.imp.WS2_32.dll_htons]
mov r8d, 4
mov rcx, r12
mov edx, pe_overlay
mov word [rsp + 0x92], ax
lea rax, [rsp + 0xa0]
mov r9, rax
mov qword [rsp + 0x60], rax
mov dword [rsp + 0xa0], 1
mov dword [rsp + 0x20], 4
call qword [sym.imp.WS2_32.dll_setsockopt]
mov r8d, 0x10
mov rdx, r13
mov rcx, r12
call qword [sym.imp.WS2_32.dll_bind]
test eax, eax
jne 0x140002333
lea rsi, str._n____Bind_On_Port__u_Success_n
mov ecx, 1
call rdi
mov r8d, r14d
mov rdx, rsi
mov rcx, rax
call sym.fprintf
mov ecx, 1
call rdi
mov rcx, rax
call sym.fflush
mov rcx, qword [0x14000f048]
test rcx, rcx
je 0x140001fa3
mov r8d, r14d
mov rdx, rsi
call sym.fprintf
mov rcx, qword [0x14000f048]
call sym.fflush
mov edx, 0x7fffffff
mov rcx, r12
call qword [sym.imp.WS2_32.dll_listen]
test eax, eax
jne 0x1400022e7
lea r12, str._n____Listen_On_Port__u_Successed_n
mov ecx, 1
call rdi
mov r8d, r14d
mov rdx, r12
mov rcx, rax
call sym.fprintf
mov ecx, 1
call rdi
mov rcx, rax
call sym.fflush
mov rcx, qword [0x14000f048]
test rcx, rcx
je 0x140002007
mov r8d, r14d
mov rdx, r12
call sym.fprintf
mov rcx, qword [0x14000f048]
call sym.fflush
cmp rbp, 1
mov r15d, 1
jne 0x14000201d
mov ebp, 2
jmp 0x140001e63
mov esi, dword [rsp + 0x50]
mov qword [rsp + 0x58], r13
lea rax, [rsp + 0x7c]
movzx ebx, si
mov dword [rsp + 0x7c], 0x10
xor ebp, ebp
mov qword [rsp + 0x50], rax
xor esi, esi
nop
mov ecx, 1
call rdi
lea rdx, str._n____Waiting_Connect_On_Port__u_n
mov r8d, ebx
mov rcx, rax
call sym.fprintf
mov ecx, 1
call rdi
mov rcx, rax
call sym.fflush
mov rcx, qword [0x14000f048]
test rcx, rcx
je 0x14000208f
lea rdx, str._n____Waiting_Connect_On_Port__u_n
mov r8d, ebx
call sym.fprintf
mov rcx, qword [0x14000f048]
call sym.fflush
mov rcx, qword [rsp + rsi*8 + 0x80]
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
call qword [sym.imp.WS2_32.dll_accept]
cmp rax, 0xffffffffffffffff
mov qword [rsp + rsi*8 + 0xa0], rax
je 0x1400021b0
movzx ecx, word [rsp + 0x92]
mov rax, qword [rsp + 0x48]
call rax
mov ecx, 1
movzx r12d, byte [rsp + 0x97]
movzx r15d, byte [rsp + 0x96]
movzx esi, ax
movzx r14d, byte [rsp + 0x95]
movzx r13d, byte [rsp + 0x94]
call rdi
lea rdx, str._n____Connect_From__d._d._d._d:_d_On_Port__d_n
mov dword [rsp + 0x38], ebx
mov rcx, rax
mov dword [rsp + 0x30], esi
mov r9d, r14d
mov dword [rsp + 0x28], r12d
mov r8d, r13d
mov dword [rsp + 0x20], r15d
call sym.fprintf
mov ecx, 1
call rdi
mov rcx, rax
call sym.fflush
cmp qword [0x14000f048], 0
je 0x140002199
movzx ecx, word [rsp + 0x92]
mov rax, qword [rsp + 0x48]
call rax
mov rcx, qword [0x14000f048]
mov dword [rsp + 0x38], ebx
lea rdx, str._n____Connect_From__d._d._d._d:_d_On_Port__d_n
movzx r9d, byte [rsp + 0x95]
movzx eax, ax
movzx r8d, byte [rsp + 0x94]
mov dword [rsp + 0x30], eax
movzx eax, byte [rsp + 0x97]
mov dword [rsp + 0x28], eax
movzx eax, byte [rsp + 0x96]
mov dword [rsp + 0x20], eax
call sym.fprintf
mov rcx, qword [0x14000f048]
call sym.fflush
cmp ebp, 1
je 0x140002200
xor ebp, 1
movsxd rsi, ebp
movzx ebx, word [rsp + rsi*2 + 0x78]
jmp 0x140002040
mov ecx, 1
call rdi
lea rdx, str._n_____Accept_Failed_On_Port__d_n
mov r8d, ebx
mov rcx, rax
call sym.fprintf
mov rcx, qword [0x14000f048]
test rcx, rcx
je 0x1400021f0
lea rdx, str._n_____Accept_Failed_On_Port__d_n
mov r8d, ebx
call sym.fprintf
mov rcx, qword [0x14000f048]
call sym.fflush
movzx ebx, word [rsp + 0x6e]
xor ebp, ebp
xor esi, esi
jmp 0x140002040
mov r9, qword [rsp + 0x60]
lea r8, [sym.in_data_tran]
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 5
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14000219e
mov esi, dword [rsp + 0x50]
lea rbx, str._n_____Create_Socket__d_Failed_n
mov ecx, 1
call rdi
mov r8d, ebp
mov rdx, rbx
mov rcx, rax
call sym.fprintf
mov rcx, qword [0x14000f048]
test rcx, rcx
je 0x140002283
mov r8d, ebp
mov rdx, rbx
call sym.fprintf
mov rcx, qword [0x14000f048]
call sym.fflush
test r15d, r15d
je 0x1400022b3
mov rax, qword [sym.imp.WS2_32.dll_htons]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x58], rax
jmp 0x140002026
mov rcx, qword [rsp + 0x80]
mov rbx, qword [sym.imp.WS2_32.dll_closesocket]
call rbx
mov rcx, qword [rsp + 0x88]
call rbx
mov eax, 0xffffffff
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov esi, dword [rsp + 0x50]
lea rbx, str._n_____Listen_On_Port__u_Failed_n
mov ecx, 1
call rdi
mov r8d, r14d
mov rcx, rax
mov rdx, rbx
call sym.fprintf
mov rcx, qword [0x14000f048]
test rcx, rcx
je 0x140002283
mov r8d, r14d
mov rdx, rbx
call sym.fprintf
mov rcx, qword [0x14000f048]
call sym.fflush
jmp 0x140002283
mov esi, dword [rsp + 0x50]
lea rbx, str._n_____Bind_On_Port__u_Failed_n
mov ecx, 1
call rdi
mov r8d, r14d
mov rcx, rax
jmp 0x1400022ff