Function at 0x14009dc70
Capabilities:
Create thread
Set socket configuration

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x70
mov rax, qword [0x140263a80]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rsi, rdx
mov qword [rsp + 0x48], rdx
mov rdi, qword [0x140268130]
cmp qword [rdx + 8], 0
jne 0x14009dd3c
lea rcx, [rdi + 0x78]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor ebx, ebx
cmp byte [rdi], bl
je 0x14009dcf2
mov byte [rsp + 0x40], bl
mov rcx, qword [0x140268120]
lea r8d, [rbx + 0xe]
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 1
lea r9, [rsp + 0x40]
mov rdx, qword [rcx + 8]
call fcn.140076b40
mov byte [rdi], bl
lea rcx, [rdi + 0x78]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
mov qword [rax], rbx
mov rcx, qword [rcx]
test rcx, rcx
je 0x14009dd25
nop
mov rbx, qword [rcx]
mov edx, reloc.WLDAP32.dll_Ordinal_32
call fcn.1401d0398
mov rcx, rbx
test rbx, rbx
jne 0x14009dd10
mov edx, reloc.WLDAP32.dll_Ordinal_32
mov rcx, qword [rsi]
call fcn.1401d0398
mov eax, 3
jmp 0x14009df24
lea rcx, [rdi + 0x40]
call fcn.14009ec60
xor ebx, ebx
mov dword [rdi + 0x50], ebx
mov rcx, qword [rdi + 0x58]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
mov rcx, qword [rdi + 0x38]
test rcx, rcx
je 0x14009ddac
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x14009ddac
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
mov qword [rax], rbx
mov rcx, qword [rcx]
test rcx, rcx
je 0x14009dd95
nop dword [rax + rax]
mov rbx, qword [rcx]
mov edx, reloc.WLDAP32.dll_Ordinal_32
call fcn.1401d0398
mov rcx, rbx
test rbx, rbx
jne 0x14009dd80
mov edx, reloc.WLDAP32.dll_Ordinal_32
mov rcx, qword [rsi]
call fcn.1401d0398
mov eax, 2
jmp 0x14009df24
mov ebp, 2
lea r8d, [rbp + 0xf]
mov edx, ebp
mov ecx, ebp
call qword [sym.imp.WS2_32.dll_socket]
mov qword [rdi + 8], rax
mov qword [rsp + 0x58], rbx
mov word [rsp + 0x50], bp
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rsp + 0x54], eax
mov ecx, 0x6c1f
call qword [sym.imp.WS2_32.dll_htons]
mov word [rsp + 0x52], ax
lea r8d, [rbp + 0xe]
lea rdx, [rsp + 0x50]
mov rcx, qword [rdi + 8]
call qword [sym.imp.WS2_32.dll_bind]
test eax, eax
jns 0x14009de4c
lea rcx, str.bind
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
nop
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
mov qword [rax], rbx
mov rcx, qword [rcx]
test rcx, rcx
je 0x14009de35
mov rbx, qword [rcx]
mov edx, reloc.WLDAP32.dll_Ordinal_32
call fcn.1401d0398
mov rcx, rbx
test rbx, rbx
jne 0x14009de20
mov edx, reloc.WLDAP32.dll_Ordinal_32
mov rcx, qword [rsi]
call fcn.1401d0398
mov eax, 1
jmp 0x14009df24
mov dword [rsp + 0x44], ebx
mov dword [rsp + 0x20], 4
lea r9, [rsp + 0x44]
mov edx, 0xffff
mov r8d, 0x1006
mov rcx, qword [rdi + 8]
call qword [sym.imp.WS2_32.dll_setsockopt]
lea rcx, [rdi + 0x78]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [rdi], 1
je 0x14009deba
mov byte [rsp + 0x40], 1
mov rcx, qword [0x140268120]
mov r8d, reloc.WS2_32.dll_ntohl
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 1
lea r9, [rsp + 0x40]
mov rdx, qword [rcx + 8]
call fcn.140076b40
mov byte [rdi], 1
lea rcx, [rdi + 0x78]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], ebx
mov r9, rdi
lea r8, [0x14009e360]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rdi + 0x38], rax
mov rcx, qword [rsi]
mov rax, qword [rcx + 8]
mov qword [rax], rbx
mov rcx, qword [rcx]
test rcx, rcx
je 0x14009df15
nop word [rax + rax]
mov rbx, qword [rcx]
mov edx, reloc.WLDAP32.dll_Ordinal_32
call fcn.1401d0398
mov rcx, rbx
test rbx, rbx
jne 0x14009df00
mov edx, reloc.WLDAP32.dll_Ordinal_32
mov rcx, qword [rsi]
call fcn.1401d0398
xor eax, eax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1401d0310
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret