Function at 0x7012a0
Capabilities:
Terminate thread

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
mov rdx, qword [rcx + 0x2a0]
mov rbx, rcx
lea rcx, [rcx + 0x290]
call sym.std::_Rb_tree_unsigned_long_long__std::pair_unsigned_long_long_const__crypto::hash___std::_Select1st_std::pair_unsigned_long_long_const__crypto::hash_____std::less_unsigned_long_long___std::allocator_std::pair_unsigned_long_long_const__crypto::hash_____::_M_erase_std::_Rb_tree_node_std::pair_unsigned_long_long_const__crypto::hash____
lea rcx, [rbx + 0x258]
call fcn.007d8760
lea rcx, [rbx + 0x220]
call fcn.007d8760
mov r12, qword [rbx + 0x218]
test r12, r12
je 0x70130e
mov rax, qword [r12]
mov ecx, 1
lock sub dword [rax + 0x30], 1
je 0x701a10
mov edx, 8
mov rcx, r12
call sym.operator_delete_void__unsigned_long_long_
mov rdi, qword [rbx + 0x1e0]
lea rbp, [rbx + 0x1e0]
cmp rbp, rdi
je 0x701362
nop dword [rax]
mov r12, qword [rdi + 0x10]
test r12, r12
je 0x70135a
mov rcx, r12
call method.boost::thread.detach__
mov rsi, qword [r12]
test rsi, rsi
je 0x70134d
lock sub dword [rsi + 8], 1
je 0x7019d0
mov edx, 8
mov rcx, r12
call sym.operator_delete_void__unsigned_long_long_
mov rdi, qword [rdi]
cmp rbp, rdi
jne 0x701328
mov r14, qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbx + 0x210]
call r14
mov rcx, qword [rbx + 0x200]
call r14
mov rcx, qword [rbx + 0x208]
call r14
mov rsi, qword [rbx + 0x1e0]
cmp rbp, rsi
je 0x7013a8
nop dword [rax + rax]
mov rcx, rsi
mov rsi, qword [rsi]
call sym.operator_delete_void_
cmp rbp, rsi
jne 0x701398
mov r13, qword [rbx + 0x1d0]
test r13, r13
je 0x701615
mov rsi, qword [r13 + 0x38]
lea rax, [method.boost::asio::detail::win_iocp_io_service.shutdown_service__]
lea rbp, [rsp + 0x70]
mov qword [rsp + 0x48], rax
test rsi, rsi
je 0x7015fe
nop word cs:[rax + rax]
mov rax, qword [rsi]
mov rax, qword [rax + 0x10]
cmp rax, qword [rsp + 0x48]
jne 0x7019c0
mov eax, 1
xchg dword [rsi + 0x3c], eax
cmp qword [rsi + 0x48], 0
je 0x70143c
lea r12, [rsp + 0x80]
xor r9d, r9d
mov r8d, 1
mov qword [rsp + 0x80], 1
mov rdx, r12
mov rcx, qword [rsi + 0x50]
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_SetWaitableTimer]
lea rdi, [rsi + 0x30]
xor eax, eax
lock xadd dword [rdi], eax
test eax, eax
jle 0x701568
mov qword [rsp + 0x70], 0
mov r12, qword [rsi + 0x88]
mov qword [rsp + 0x78], 0
test r12, r12
je 0x701858
mov r15, rbp
nop dword [rax + rax]
mov rax, qword [r12]
mov rdx, rbp
mov rcx, r12
call qword [rax + 0x30]
mov r12, qword [r12 + 8]
test r12, r12
jne 0x701478
mov rdx, qword [rsi + 0x90]
test rdx, rdx
je 0x701988
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x701978
mov qword [rax + 0x20], rdx
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsi + 0x98]
mov qword [rsi + 0x90], 0
mov qword [rsi + 0x98], 0
mov qword [rsp + 0x78], rax
test rdx, rdx
je 0x701870
lea r12, [rsp + 0x80]
jmp 0x701548
mov qword [rdx + 0x20], 0
lock sub dword [rdi], 1
mov r10, qword [rdx + 0x28]
mov qword [rsp + 0x40], rdx
mov r15, rbp
mov qword [rsp + 0x38], r10
mov dword [rsp + 0x80], 0
call method.boost::system.system_category__
mov rdx, qword [rsp + 0x40]
xor r9d, r9d
mov r8, r12
mov qword [rsp + 0x88], rax
mov r10, qword [rsp + 0x38]
xor ecx, ecx
call r10
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x701440
mov rax, qword [rdx + 0x20]
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x7014f0
mov qword [rsp + 0x78], 0
jmp 0x7014f0
mov rdi, qword [rsi + 0x48]
test rdi, rdi
je 0x7015ce
mov rax, qword [rdi + 8]
lea r12, [rsp + 0x80]
xor r8d, r8d
mov ecx, 2
mov r9d, 0xffffffff
mov rdx, r12
mov qword [rsp + 0x80], rax
mov rax, qword [rdi]
mov qword [rsp + 0x88], rax
call qword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
mov rcx, qword [rdi + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
lock xadd dword [0x0086d5a0], eax
test eax, eax
je 0x701998
mov rcx, qword [rdi]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateThread]
mov rsi, qword [rsi + 0x20]
test rsi, rsi
jne 0x7013e0
mov rsi, qword [r13 + 0x38]
test rsi, rsi
je 0x7015fe
nop dword [rax]
mov rcx, rsi
mov rsi, qword [rsi + 0x20]
mov rax, qword [rcx]
call qword [rax + 8]
mov qword [r13 + 0x38], rsi
test rsi, rsi
jne 0x7015e8
lea rcx, [r13 + 8]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov edx, 0x40
mov rcx, r13
call sym.operator_delete_void__unsigned_long_long_
lock sub dword [0x0086d590], 1
je 0x701a00
mov rcx, qword [rbx + 0x1a8]
test rcx, rcx
je 0x701634
call sym.operator_delete_void_
mov rcx, qword [rbx + 0x190]
test rcx, rcx
je 0x701645
call sym.operator_delete_void_
mov rcx, qword [rbx + 0x148]
test rcx, rcx
je 0x701656
call sym.operator_delete_void_
mov rcx, qword [rbx + 0x130]
test rcx, rcx
je 0x701667
call sym.operator_delete_void_
mov rcx, qword [rbx + 0x118]
test rcx, rcx
je 0x701678
call sym.operator_delete_void_
lea rcx, [rbx + 0xe0]
call sym._ZNSt10_HashtableIN6crypto4hashESt4pairIKS1_St13unordered_mapINS0_9key_imageEbSt4hashIS5_ESt8equal_toIS5_ESaIS2_IKS5_bEEEESaIS
mov rsi, qword [rbx + 0xb8]
test rsi, rsi
je 0x7016a0
mov rcx, rsi
mov rsi, qword [rsi]
call sym.operator_delete_void_
test rsi, rsi
jne 0x701690
mov r8, qword [rbx + 0xb0]
mov rcx, qword [rbx + 0xa8]
xor edx, edx
shl r8, 3
call sym.memset
mov rcx, qword [rbx + 0xa8]
lea rax, [rbx + 0xd8]
mov qword [rbx + 0xc0], 0
mov qword [rbx + 0xb8], 0
cmp rcx, rax
je 0x7016e7
call sym.operator_delete_void_
mov rdi, qword [rbx + 0x80]
test rdi, rdi
je 0x70177d
nop word [rax + rax]
mov r12, rdi
mov rdi, qword [rdi]
mov rsi, qword [r12 + 0x38]
test rsi, rsi
je 0x701731
mov r13, rsi
mov rsi, qword [rsi]
mov rcx, qword [r13 + 0x28]
test rcx, rcx
je 0x701724
call sym.operator_delete_void_
mov rcx, r13
call sym.operator_delete_void_
test rsi, rsi
jne 0x701710
mov r8, qword [r12 + 0x30]
mov rcx, qword [r12 + 0x28]
xor edx, edx
shl r8, 3
call sym.memset
mov rcx, qword [r12 + 0x28]
lea rax, [r12 + 0x58]
mov qword [r12 + 0x40], 0
mov qword [r12 + 0x38], 0
cmp rcx, rax
je 0x70176c
call sym.operator_delete_void_
mov rcx, r12
call sym.operator_delete_void_
test rdi, rdi
jne 0x701700
mov r8, qword [rbx + 0x78]
mov rcx, qword [rbx + 0x70]
xor edx, edx
shl r8, 3
call sym.memset
mov rcx, qword [rbx + 0x70]
lea rax, [rbx + 0xa0]
mov qword [rbx + 0x88], 0
mov qword [rbx + 0x80], 0
cmp rcx, rax
je 0x7017bb
call sym.operator_delete_void_
mov rsi, qword [rbx + 0x38]
test rsi, rsi
je 0x7017fa
nop dword [rax]
mov r12, rsi
mov rsi, qword [rsi]
mov rcx, qword [r12 + 0x1d0]
lea r13, [r12 + 0x28]
test rcx, rcx
je 0x7017e5
call sym.operator_delete_void_
mov rcx, r13
call fcn.00703a20
mov rcx, r12
call sym.operator_delete_void_
test rsi, rsi
jne 0x7017c8
mov r8, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x28]
xor edx, edx
shl r8, 3
call sym.memset
mov rcx, qword [rbx + 0x28]
lea rax, [rbx + 0x58]
mov qword [rbx + 0x40], 0
mov qword [rbx + 0x38], 0
cmp rcx, rax
je 0x70182f
call sym.operator_delete_void_
xor ecx, ecx
xchg qword [rbx + 0x20], rcx
test rcx, rcx
jne 0x7019f8
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, qword [rsi + 0x90]
test rdx, rdx
jne 0x701978
nop dword [rax + rax]
mov eax, dword [rsi + 0x40]
mov rcx, qword [rsi + 0x28]
lea rdx, [rsp + 0x5c]
mov r15, rbp
mov dword [rsp + 0x5c], 0
lea r9, [rsp + 0x68]
lea r8, [rsp + 0x60]
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_GetQueuedCompletionStatus]
cmp qword [rsp + 0x68], 0
je 0x7018f8
lock sub dword [rdi], 1
mov r12, qword [rsp + 0x68]
mov r10, qword [r12 + 0x28]
mov dword [rsp + 0x80], 0
mov qword [rsp + 0x38], r10
call method.boost::system.system_category__
mov r10, qword [rsp + 0x38]
xor r9d, r9d
mov rdx, r12
mov qword [rsp + 0x88], rax
lea r8, [rsp + 0x80]
xor ecx, ecx
call r10
mov r15, qword [rsp + 0x70]
test r15, r15
je 0x701440
lea r12, [rsp + 0x80]
jmp 0x70195a
mov qword [r15 + 0x20], 0
mov r10, qword [r15 + 0x28]
mov dword [rsp + 0x80], 0
mov qword [rsp + 0x38], r10
call method.boost::system.system_category__
mov rdx, r15
mov r10, qword [rsp + 0x38]
xor r9d, r9d
mov qword [rsp + 0x88], rax
mov r8, r12
xor ecx, ecx
call r10
mov r15, qword [rsp + 0x70]
test r15, r15
je 0x701440
mov rax, qword [r15 + 0x20]
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x701910
mov qword [rsp + 0x78], 0
jmp 0x701910
mov qword [rsp + 0x70], rdx
jmp 0x7014b6
mov rdx, qword [rsp + 0x70]
jmp 0x7014d8
mov rdx, qword [rdi]
xor r8d, r8d
lea rcx, [method.boost::asio::detail.apc_function_unsigned_long_long_]
call qword [sym.imp.KERNEL32.dll_QueueUserAPC]
mov rcx, qword [rdi]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jmp 0x7015ce
mov rcx, rsi
call rax
jmp 0x7015ce
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x70134d
call r14
jmp 0x70183e
call qword [sym.imp.WS2_32.dll_WSACleanup]
jmp 0x701623
mov edx, ecx
xchg dword [rax + 0x34], edx
test edx, edx
jne 0x701301
xchg dword [rax + 0x38], ecx
test ecx, ecx
jne 0x701301
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rax + 0x28]
call qword [sym.imp.KERNEL32.dll_PostQueuedCompletionStatus]
test eax, eax
jne 0x701301
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call method.boost::system.system_category__
mov dword [rsp + 0x80], esi
mov qword [rsp + 0x88], rax
test esi, esi
je 0x701301
lea rcx, [rsp + 0x80]
lea rdx, [0x0087fedd]
call method.boost::asio::detail.do_throw_error_boost::system::error_code_const__char_const_
mov r12, rax
mov rcx, r15
call method.boost::asio::detail::op_queue_boost::asio::detail::win_iocp_operation_.op_queue__
mov rcx, r12
call sym._Unwind_Resume
nop
nop
nop
nop
nop