Function at 0x1400518e0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xa0
mov rax, qword [0x1402e1040]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r14, rcx
xor r15d, r15d
mov dword [rbp - 9], 0x4cc10f3c
mov dword [rbp - 5], 0xf323b62a
mov dword [rbp - 1], 0x498f1c17
mov dword [rbp + 3], 0x5eaef968
mov dword [rbp + 7], 0xbc48c1e4
mov dword [rbp + 0xb], 0x1bbbb3d3
mov word [rbp + 0xf], 0x68e8
mov qword [rbp - 0x29], r15
mov rax, qword [rbp - 0x29]
nop word [rax + rax]
mov rax, qword [rbp - 0x29]
mov rcx, qword [rbp - 0x29]
movzx edx, byte [rbp + rcx - 9]
sub dl, byte [rbp + rax + 4]
mov byte [rbp - 0x39], dl
movzx ecx, byte [rbp - 0x39]
mov rax, qword [rbp - 0x29]
mov byte [rbp + rax + 0x17], cl
mov rax, qword [rbp - 0x29]
inc rax
mov qword [rbp - 0x29], rax
mov rax, qword [rbp - 0x29]
cmp rax, 0xd
jb 0x140051950
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], r15
mov qword [rbp - 0x11], r15
mov r8d, listen
lea rdx, [rbp + 0x17]
lea rcx, [rbp - 0x29]
call fcn.140049eb0
nop
lea rax, [rbp - 0x29]
cmp qword [rbp - 0x11], 0xf
cmova rax, qword [rbp - 0x29]
mov qword [rbp + 0x17], rax
mov rax, qword [rbp - 0x19]
mov qword [rbp + 0x1f], rax
movaps xmm0, xmmword [rbp + 0x17]
movdqa xmmword [rbp + 0x17], xmm0
lea rdx, [rbp + 0x17]
call fcn.140066c00
nop
lea rcx, [rbp - 0x29]
call fcn.140063ba0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
mov qword [rbp + 7], r15
mov rcx, r14
call fcn.140052030
mov qword [rbp - 0x29], r14
mov ecx, 0x20
call fcn.140171d10
mov rbx, rax
mov qword [rbp + 0x17], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea r12, vtable.std::_Ref_count_obj2_class_std::thread_.0
mov qword [rax], r12
lea rdi, [rax + 0x10]
lea rdx, [rbp - 0x29]
mov rcx, rdi
call fcn.140077dd0
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x17], xmm0
mov qword [rbp + 0x17], rdi
mov qword [rbp + 0x1f], rbx
mov rdx, qword [rbp - 1]
cmp rdx, qword [rbp + 7]
je 0x140051a64
mov qword [rdx], rdi
mov qword [rdx + 8], rbx
mov rcx, r15
mov qword [rbp + 0x1f], rcx
add qword [rbp - 1], 0x10
jmp 0x140051a75
lea r8, [rbp + 0x17]
lea rcx, [rbp - 9]
call fcn.14006fdf0
mov rcx, qword [rbp + 0x1f]
mov edi, 0xffffffff
test rcx, rcx
je 0x140051aad
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140051aad
mov rbx, qword [rbp + 0x1f]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140051aad
mov rcx, qword [rbp + 0x1f]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov qword [rbp - 0x29], r14
mov ecx, 0x20
call fcn.140171d10
mov rbx, rax
mov qword [rbp + 0x17], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
mov qword [rax], r12
lea rsi, [rax + 0x10]
lea rdx, [rbp - 0x29]
mov rcx, rsi
call fcn.140077e60
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x17], xmm0
mov qword [rbp + 0x17], rsi
mov qword [rbp + 0x1f], rbx
mov rdx, qword [rbp - 1]
cmp rdx, qword [rbp + 7]
je 0x140051b18
mov qword [rdx], rsi
mov qword [rdx + 8], rbx
mov rcx, r15
mov qword [rbp + 0x1f], rcx
add qword [rbp - 1], 0x10
jmp 0x140051b29
lea r8, [rbp + 0x17]
lea rcx, [rbp - 9]
call fcn.14006fdf0
mov rcx, qword [rbp + 0x1f]
test rcx, rcx
je 0x140051b5c
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140051b5c
mov rbx, qword [rbp + 0x1f]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140051b5c
mov rcx, qword [rbp + 0x1f]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov qword [rbp - 0x29], r14
mov ecx, 0x20
call fcn.140171d10
mov rbx, rax
mov qword [rbp + 0x17], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
mov qword [rax], r12
lea rsi, [rax + 0x10]
lea rdx, [rbp - 0x29]
mov rcx, rsi
call fcn.140077ef0
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x17], xmm0
mov qword [rbp + 0x17], rsi
mov qword [rbp + 0x1f], rbx
mov rdx, qword [rbp - 1]
cmp rdx, qword [rbp + 7]
je 0x140051bc7
mov qword [rdx], rsi
mov qword [rdx + 8], rbx
mov rcx, r15
mov qword [rbp + 0x1f], rcx
add qword [rbp - 1], 0x10
jmp 0x140051bd8
lea r8, [rbp + 0x17]
lea rcx, [rbp - 9]
call fcn.14006fdf0
mov rcx, qword [rbp + 0x1f]
test rcx, rcx
je 0x140051c0b
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140051c0b
mov rbx, qword [rbp + 0x1f]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140051c0b
mov rcx, qword [rbp + 0x1f]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov qword [rbp - 0x29], r14
mov ecx, 0x20
call fcn.140171d10
mov rbx, rax
mov qword [rbp + 0x17], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
mov qword [rax], r12
lea rsi, [rax + 0x10]
lea rdx, [rbp - 0x29]
mov rcx, rsi
call fcn.140077f80
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x17], xmm0
mov qword [rbp + 0x17], rsi
mov qword [rbp + 0x1f], rbx
mov rdx, qword [rbp - 1]
cmp rdx, qword [rbp + 7]
je 0x140051c76
mov qword [rdx], rsi
mov qword [rdx + 8], rbx
mov rcx, r15
mov qword [rbp + 0x1f], rcx
add qword [rbp - 1], 0x10
jmp 0x140051c87
lea r8, [rbp + 0x17]
lea rcx, [rbp - 9]
call fcn.14006fdf0
mov rcx, qword [rbp + 0x1f]
test rcx, rcx
je 0x140051cba
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140051cba
mov rbx, qword [rbp + 0x1f]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140051cba
mov rcx, qword [rbp + 0x1f]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov qword [rbp - 0x29], r14
mov ecx, 0x20
call fcn.140171d10
mov rbx, rax
mov qword [rbp + 0x17], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
mov qword [rax], r12
lea rsi, [rax + 0x10]
lea rdx, [rbp - 0x29]
mov rcx, rsi
call fcn.140078010
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x17], xmm0
mov qword [rbp + 0x17], rsi
mov qword [rbp + 0x1f], rbx
mov rdx, qword [rbp - 1]
cmp rdx, qword [rbp + 7]
je 0x140051d25
mov qword [rdx], rsi
mov qword [rdx + 8], rbx
mov rcx, r15
mov qword [rbp + 0x1f], rcx
add qword [rbp - 1], 0x10
jmp 0x140051d36
lea r8, [rbp + 0x17]
lea rcx, [rbp - 9]
call fcn.14006fdf0
mov rcx, qword [rbp + 0x1f]
test rcx, rcx
je 0x140051d69
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140051d69
mov rbx, qword [rbp + 0x1f]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140051d69
mov rcx, qword [rbp + 0x1f]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov qword [rbp - 0x29], r14
mov ecx, 0x20
call fcn.140171d10
mov rbx, rax
mov qword [rbp + 0x17], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
mov qword [rax], r12
lea rsi, [rax + 0x10]
lea rdx, [rbp - 0x29]
mov rcx, rsi
call fcn.1400780a0
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x17], xmm0
mov qword [rbp + 0x17], rsi
mov qword [rbp + 0x1f], rbx
mov rdx, qword [rbp - 1]
cmp rdx, qword [rbp + 7]
je 0x140051dd4
mov qword [rdx], rsi
mov qword [rdx + 8], rbx
mov rcx, r15
mov qword [rbp + 0x1f], rcx
add qword [rbp - 1], 0x10
jmp 0x140051de5
lea r8, [rbp + 0x17]
lea rcx, [rbp - 9]
call fcn.14006fdf0
mov rcx, qword [rbp + 0x1f]
test rcx, rcx
je 0x140051e18
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140051e18
mov rbx, qword [rbp + 0x1f]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, edi
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140051e18
mov rcx, qword [rbp + 0x1f]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov qword [rbp - 0x29], r14
mov ecx, 0x20
call fcn.140171d10
mov rbx, rax
mov qword [rbp + 0x17], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
mov qword [rax], r12
lea rsi, [rax + 0x10]
lea rdx, [rbp - 0x29]
mov rcx, rsi
call fcn.140078130
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x17], xmm0
mov qword [rbp + 0x17], rsi
mov qword [rbp + 0x1f], rbx
mov rdx, qword [rbp - 1]
cmp rdx, qword [rbp + 7]
je 0x140051e83
mov qword [rdx], rsi
mov qword [rdx + 8], rbx
mov rcx, r15
mov qword [rbp + 0x1f], rcx
add qword [rbp - 1], 0x10
jmp 0x140051e94
lea r8, [rbp + 0x17]
lea rcx, [rbp - 9]
call fcn.14006fdf0
mov rcx, qword [rbp + 0x1f]
test rcx, rcx
je 0x140051ec5
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140051ec5
mov rbx, qword [rbp + 0x1f]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x140051ec5
mov rcx, qword [rbp + 0x1f]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, qword [rbp - 9]
mov rsi, qword [rbp - 1]
cmp rdi, rsi
je 0x140051f14
mov rbx, qword [rdi]
cmp dword [rbx + 8], 0
je 0x140051f0b
call qword [sym.imp.MSVCP140.dll__Thrd_id]
cmp dword [rbx + 8], eax
je 0x140051fce
movups xmm0, xmmword [rbx]
movaps xmmword [rbp + 0x17], xmm0
xor edx, edx
lea rcx, [rbp + 0x17]
call qword [sym.imp.MSVCP140.dll__Thrd_join]
test eax, eax
jne 0x140051fc2
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
add rdi, 0x10
cmp rdi, rsi
jne 0x140051ed2
mov ecx, 8
call fcn.140171d10
mov qword [rax], r14
mov qword [rbp + 0x17], rax
lea rcx, [rbp - 0x21]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r15d
mov r9, rax
lea r8, [0x140075460]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbp - 0x29], rax
test rax, rax
je 0x140052013
cmp dword [rbp - 0x21], 0
je 0x140052007
movaps xmm0, xmmword [rbp - 0x29]
movdqa xmmword [rbp + 0x17], xmm0
lea rcx, [rbp + 0x17]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
jne 0x140052007
mov rcx, qword [rbp - 9]
test rcx, rcx
je 0x140051fdf
mov rdx, qword [rbp - 1]
call fcn.140067310
mov rdx, qword [rbp + 7]
mov rcx, qword [rbp - 9]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x140051fda
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140051fda
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov ecx, 2
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
call fcn.140172064
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140171bd0
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rbp - 0x21], r15d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3