Function at 0x1400c7400
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x60
mov rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.140053450
nop
mov rax, qword [0x14027c730]
mov qword [rsp + 0x28], rax
mov rcx, qword [0x14027c740]
test rcx, rcx
je 0x1400c705b
lock inc dword [rcx + 8]
mov rcx, qword [0x14027c740]
mov rax, qword [0x14027c738]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rcx
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x20]
call fcn.1400e6380
nop
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x1400c70ba
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400c70ba
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1400c70ba
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x40]
call fcn.14004d380
mov rbx, qword [rsp + 0x70]
add rsp, 0x60
pop rdi
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
mov rsi, rcx
xor r14d, r14d
mov rbx, qword [0x14027c900]
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
jne 0x1400c799d
mov eax, dword [rbx + 0x4c]
cmp eax, 0x7fffffff
je 0x1400c7474
mov dword [rbx + 0x54], r14d
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov rbx, qword [0x14027c910]
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
jne 0x1400c799d
mov eax, dword [rbx + 0x4c]
cmp eax, 0x7fffffff
jne 0x1400c7485
dec eax
mov dword [rbx + 0x4c], eax
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov dword [rbx + 0x54], r14d
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
cmp dword [0x14027c8f8], r14d
je 0x1400c752e
lea r8, str.asio::init_asio_called_from_the_wrong_state
mov edx, 2
mov rcx, qword [0x14027c8d8]
call fcn.1400cc520
mov ecx, 8
mov rax, qword gs:[0x58]
mov rax, qword [rax]
lea rbx, [0x14027dd68]
mov eax, dword [rcx + rax]
cmp dword [0x14027dd34], eax
jle 0x1400c751c
lea rcx, [0x14027dd34]
call fcn.14016d2a0
cmp dword [0x14027dd34], 0xffffffff
jne 0x1400c751c
mov qword [0x14027dd70], rbx
lea rax, vtable.websocketpp::error::category.0
mov qword [0x14027dd68], rax
lea rcx, [0x1401798f0]
call fcn.14016d64c
lea rcx, [0x14027dd34]
call fcn.14016d234
mov dword [rsp + 0x30], 9
mov qword [rsp + 0x38], rbx
jmp 0x1400c761a
lea r8, str.asio::init_asio
mov edx, 0x400
mov rcx, qword [0x14027c8e8]
call fcn.1400c9f10
lea rax, [0x14027c748]
mov qword [0x14027c890], rax
mov byte [0x14027c898], 1
mov ecx, 0xa0
call fcn.14016d318
mov rbx, rax
mov qword [rbp + 0xc8], rax
mov r9, qword [0x14027c890]
mov rcx, rax
call fcn.1400d7e70
nop
mov qword [rbp + 0xc8], rbx
mov ecx, 0x18
call fcn.14016d318
mov qword [rbp + 0xc8], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rcx, vtable.std::_Ref_count_class_boost::asio::basic_socket_acceptor_class_boost::asio::ip::tcp__class_boost::asio::any_io_executor__.0
mov qword [rax], rcx
mov qword [rax + 0x10], rbx
mov qword [0x14027c8a0], rbx
mov rbx, qword [0x14027c8a8]
mov qword [0x14027c8a8], rax
test rbx, rbx
je 0x1400c75ff
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400c75ff
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1400c75ff
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov dword [0x14027c8f8], 1
mov dword [rsp + 0x30], r14d
lea rax, [0x140275de0]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [rsp + 0x30]
movd eax, xmm0
test eax, eax
jne 0x1400c79a9
lea rdi, vtable.std::_Func_impl_no_alloc_void____cdecl___class_std::weak_ptr_void____void__class_std::weak_ptr_void__.0
mov qword [rsp + 0x40], rdi
lea rax, [0x1400c6170]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x40]
mov qword [rbp + 0xc8], rax
lea r8, str.set_open_handler
mov edx, 0x400
mov rcx, qword [0x14027c900]
call fcn.1400c9f10
lea rbx, [0x14027cc48]
mov qword [rbp + 0xd0], rbx
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x1400c7698
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov eax, dword [0x14027cc94]
cmp eax, 0x7fffffff
jne 0x1400c76b9
dec eax
mov dword [0x14027cc94], eax
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
lea rdx, [rsp + 0x40]
lea rcx, [0x14027c940]
call fcn.1400c8e80
nop
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x1400c76f0
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov qword [rbp - 0x80], rdi
lea rax, [0x1400c6390]
mov qword [rbp - 0x78], rax
lea rax, [rbp - 0x80]
mov qword [rbp - 0x48], rax
lea rax, [rbp - 0x80]
mov qword [rbp + 0xc8], rax
lea r8, str.set_fail_handler
mov edx, 0x400
mov rcx, qword [0x14027c900]
call fcn.1400c9f10
mov qword [rbp + 0xd0], rbx
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x1400c774a
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov eax, dword [0x14027cc94]
cmp eax, 0x7fffffff
jne 0x1400c776b
dec eax
mov dword [0x14027cc94], eax
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
lea rdx, [rbp - 0x80]
lea rcx, [0x14027c9c0]
call fcn.1400c8e80
nop
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
nop
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x1400c779f
mov rax, qword [rcx]
lea rdx, [rbp - 0x80]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov qword [rbp - 0x40], rdi
lea rax, [0x1400c6580]
mov qword [rbp - 0x38], rax
lea rax, [rbp - 0x40]
mov qword [rbp - 8], rax
lea rax, [rbp - 0x40]
mov qword [rbp + 0xc8], rax
lea r8, str.set_close_handler
mov edx, 0x400
mov rcx, qword [0x14027c900]
call fcn.1400c9f10
mov qword [rbp + 0xd0], rbx
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x1400c77f9
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov eax, dword [0x14027cc94]
cmp eax, 0x7fffffff
jne 0x1400c781a
dec eax
mov dword [0x14027cc94], eax
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
lea rdx, [rbp - 0x40]
lea rcx, [0x14027c980]
call fcn.1400c8e80
nop
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
nop
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x1400c784e
mov rax, qword [rcx]
lea rdx, [rbp - 0x40]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
lea rax, [0x1401acb28]
mov qword [rbp], rax
lea rax, [0x1400c6780]
mov qword [rbp + 8], rax
lea rax, [rbp]
mov qword [rbp + 0x38], rax
lea rax, [rbp]
mov qword [rbp + 0xc8], rax
lea r8, str.set_message_handler
mov edx, 0x400
mov rcx, qword [0x14027c900]
call fcn.1400c9f10
mov qword [rbp + 0xd0], rbx
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x1400c78af
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov eax, dword [0x14027cc94]
cmp eax, 0x7fffffff
jne 0x1400c78d0
dec eax
mov dword [0x14027cc94], eax
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
lea rdx, [rbp]
lea rcx, [0x14027cb80]
call fcn.1400c8e80
nop
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
nop
mov rcx, qword [rbp + 0x38]
test rcx, rcx
je 0x1400c7904
mov rax, qword [rcx]
lea rdx, [rbp]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov ecx, 1
call fcn.14016d318
mov qword [rbp + 0xc8], rax
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r14d
mov r9, rax
lea r8, [0x1400daf20]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x30], rax
test rax, rax
je 0x1400c798c
cmp dword [rsp + 0x38], 0
je 0x1400c7980
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rbp + 0x40], xmm0
lea rcx, [rbp + 0x40]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
jne 0x1400c7980
mov rcx, rsi
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop rdi
pop rbp
jmp 0x1400c7020
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rsp + 0x38], r14d
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x50]
call fcn.1400b4c60
lea rdx, [0x1401d6d18]
lea rcx, [rbp + 0x50]
call sub.VCRUNTIME140.dll__CxxThrowException
int3