Function at 0x14016e120
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov rsi, rcx
xor ebp, ebp
mov qword [rcx], rbp
mov qword [rcx + 8], rbp
mov qword [rcx + 0x10], rbp
mov qword [rcx + 0x18], rbp
lea r12, [rcx + 0x20]
mov qword [rsp + 0xb8], r12
lea rax, [0x140353218]
mov qword [r12], rax
mov ecx, 0x130
call fcn.140306950
mov r15, rax
mov qword [rsp + 0xb8], rax
test rax, rax
je 0x14016e3ac
mov qword [rax], rbp
mov qword [rax + 8], rbp
mov dword [rax + 0x10], 0xffffffff
mov byte [rax + 0x14], bpl
lea rcx, [rax + 0x18]
lea edx, [rbp + 2]
call fcn.140305078
nop
lea rcx, [r15 + 0x68]
call fcn.1403051c0
nop
lea rcx, [r15 + 0xb0]
call fcn.1403051c0
nop
lea rbx, [r15 + 0xf8]
mov qword [rsp + 0xc0], rbx
mov qword [rbx], rbp
mov qword [rbx + 8], rbp
lea ecx, [rbp + 0x38]
call fcn.140306950
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbx], rax
lea r14, [r15 + 0x108]
mov qword [rsp + 0xc0], r14
mov qword [r14], rbp
mov qword [r14 + 8], rbp
lea ecx, [rbp + 0x20]
call fcn.140306950
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [r14], rax
mov qword [r15 + 0x118], rbp
mov qword [r15 + 0x120], rbp
mov qword [r15 + 0x128], rbp
lea ecx, [rbp + 0x10]
call fcn.140306950
mov qword [r15 + 0x118], rax
add rax, 0x10
mov qword [r15 + 0x128], rax
mov rax, qword [r15 + 0x118]
xorps xmm0, xmm0
movups xmmword [rax], xmm0
lea r13, [rax + 0x10]
mov qword [r15 + 0x120], r13
mov rdi, qword [r15 + 0x118]
cmp rdi, r13
je 0x14016e3aa
mov ecx, 8
call fcn.140306950
test rax, rax
je 0x14016e287
mov qword [rax], r15
jmp 0x14016e28a
mov rax, rbp
mov qword [rsp + 0xc0], rax
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], ebp
mov r9, rax
lea r8, [0x14000b500]
xor edx, edx
xor ecx, ecx
call fcn.140312c0c
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14016e40e
cmp dword [rdi + 8], 0
jne 0x14016e423
xorps xmm0, xmm0
movaps xmm1, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
movups xmmword [rdi], xmm1
mov ebx, dword [rdi + 8]
mov rbp, qword [r14]
mov rax, qword [rbp + 8]
mov qword [rsp + 0x50], rax
xor edx, edx
mov dword [rsp + 0x58], edx
mov rcx, rbp
cmp byte [rax + 0x19], dl
jne 0x14016e327
nop dword [rax]
mov qword [rsp + 0x50], rax
cmp dword [rax + 0x1c], ebx
jae 0x14016e314
mov dword [rsp + 0x58], edx
mov rax, qword [rax + 0x10]
jmp 0x14016e322
mov dword [rsp + 0x58], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], dl
je 0x14016e300
cmp byte [rcx + 0x19], dl
jne 0x14016e331
cmp ebx, dword [rcx + 0x1c]
jae 0x14016e391
movabs rax, 0x7ffffffffffffff
cmp qword [r14 + 8], rax
je 0x14016e41d
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdx
mov ecx, 0x20
call fcn.140306950
nop
mov dword [rax + 0x1c], ebx
mov qword [rax], rbp
mov qword [rax + 8], rbp
mov qword [rax + 0x10], rbp
mov word [rax + 0x18], 0
xor ebp, ebp
mov qword [rsp + 0x48], rbp
movups xmm0, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x50], xmm0
mov r8, rax
lea rdx, [rsp + 0x50]
mov rcx, r14
call fcn.1400120c0
jmp 0x14016e393
xor ebp, ebp
xor edx, edx
mov rcx, rdi
call fcn.140025a10
add rdi, 0x10
cmp rdi, r13
jne 0x14016e273
jmp 0x14016e3af
mov r15, rbp
lea rcx, [r12 + 8]
mov rdx, r15
call fcn.14000aff0
lea rax, [0x140353228]
mov qword [r12], rax
mov byte [rsi + 0x38], 0
mov qword [rsi + 0x40], rbp
mov qword [rsi + 0x50], rbp
mov qword [rsi + 0x58], reloc.WS2_32.dll_ntohs
mov byte [rsi + 0x40], 0
mov qword [rsi + 0x60], rbp
mov qword [rsi + 0x70], rbp
mov qword [rsi + 0x78], reloc.WS2_32.dll_ntohs
mov byte [rsi + 0x60], 0
mov rax, rsi
mov rbx, qword [rsp + 0xc8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov dword [rsp + 0x38], ebp
mov ecx, 6
call fcn.140305534
nop
call fcn.140012df0
int3
call fcn.140312ac0
int3