Function at 0x7618b0
Capabilities:
Create thread
Terminate thread

Disassembly:
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x58
cmp qword [rcx + 0x70], 0
mov rbx, rcx
je 0x7619e3
mov rax, qword [rcx + 0x58]
mov rcx, qword [rax + 0x10]
lea rax, [rcx + 0x34]
test edx, edx
je 0x7619f8
xor edx, edx
xchg dword [rax], edx
mov ecx, 0x10
mov rsi, qword [rbx + 0x58]
call sym.operator_new_unsigned_long_long_
mov ecx, 0x20
mov qword [rax], 0
mov r13, rax
mov qword [rax + 8], 0
call sym.operator_new_unsigned_long_long_
mov r12, rax
lea rax, method.boost::asio::detail::win_thread::func_boost::asio::detail::resolver_service_base::work_io_service_runner_.func__
xor r9d, r9d
xor r8d, r8d
mov qword [r12 + 0x18], rsi
mov edx, 1
mov rsi, qword [sym.imp.KERNEL32.dll_CreateEventW]
xor ecx, ecx
mov qword [r12], rax
call rsi
mov qword [r12 + 8], rax
mov r14, rax
test rax, rax
je 0x761b38
xor r9d, r9d
xor r8d, r8d
mov edx, 1
xor ecx, ecx
call rsi
mov qword [r13 + 8], rax
mov qword [r12 + 0x10], rax
test rax, rax
je 0x761aa0
lea rax, [rsp + 0x3c]
mov r9, r12
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x3c], 0
lea r8, [method.boost::asio::detail.win_thread_function_void_]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
call qword [sym.imp.msvcrt.dll__beginthreadex]
mov qword [r13], rax
test rax, rax
je 0x761b78
test r14, r14
je 0x7619bf
mov edx, 0xffffffff
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r12, qword [rbx + 0x70]
test r12, r12
je 0x7619df
mov rcx, qword [r12]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, 0x10
mov rcx, r12
call sym.operator_delete_void__unsigned_long_long_
mov qword [rbx + 0x70], r13
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
ret
mov edx, 1
mov r8d, edx
xchg dword [rax], r8d
test r8d, r8d
je 0x761ae0
mov rbx, qword [rbx + 0x70]
lea rdx, [rsp + 0x40]
xor r8d, r8d
mov ecx, 2
mov r9d, 0xffffffff
mov rax, qword [rbx + 8]
mov qword [rsp + 0x40], rax
mov rax, qword [rbx]
mov qword [rsp + 0x48], rax
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
lock xadd dword [0x0086d5a0], eax
test eax, eax
je 0x761a70
mov rcx, qword [rbx]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateThread]
nop
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
ret
mov rdx, qword [rbx]
xor r8d, r8d
lea rcx, [method.boost::asio::detail.apc_function_unsigned_long_long_]
call qword [sym.imp.KERNEL32.dll_QueueUserAPC]
mov rcx, qword [rbx]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
nop
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x20
mov rcx, r12
mov esi, eax
call sym.operator_delete_void__unsigned_long_long_
call method.boost::system.system_category__
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x48], rax
test esi, esi
je 0x761968
lea rcx, [rsp + 0x40]
lea rdx, str.thread.exit_event
call method.boost::asio::detail.do_throw_error_boost::system::error_code_const__char_const_
nop dword [rax]
xchg dword [rcx + 0x38], edx
test edx, edx
jne 0x761a0c
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rcx + 0x28]
call qword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
test eax, eax
jne 0x761a0c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call method.boost::system.system_category__
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x48], rax
test esi, esi
je 0x761a0c
lea rcx, [rsp + 0x40]
lea rdx, str.pqcs
call method.boost::asio::detail.do_throw_error_boost::system::error_code_const__char_const_
nop word [rax + rax]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x20
mov rcx, r12
mov edi, eax
call sym.operator_delete_void__unsigned_long_long_
call method.boost::system.system_category__
mov dword [rsp + 0x40], edi
mov qword [rsp + 0x48], rax
test edi, edi
je 0x761947
lea rcx, [rsp + 0x40]
lea rdx, str.thread.entry_event
call method.boost::asio::detail.do_throw_error_boost::system::error_code_const__char_const_
nop dword [rax]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x20
mov rcx, r12
mov esi, eax
call sym.operator_delete_void__unsigned_long_long_
test r14, r14
je 0x761b9b
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [r13 + 8]
test rcx, rcx
je 0x761baa
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call method.boost::system.system_category__
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x48], rax
test esi, esi
je 0x7619a3
lea rcx, [rsp + 0x40]
lea rdx, str.thread
call method.boost::asio::detail.do_throw_error_boost::system::error_code_const__char_const_
mov r12, rax
mov rcx, r13
mov edx, 0x10
call sym.operator_delete_void__unsigned_long_long_
mov rcx, r12
call sym._Unwind_Resume
nop
nop
nop
nop
nop
nop
nop