Function at 0x763aa0
Capabilities:
Terminate thread

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov eax, 1
mov rdi, rcx
xchg dword [rcx + 0x3c], eax
cmp qword [rcx + 0x48], 0
je 0x763af7
lea r13, [rsp + 0x60]
mov rcx, qword [rcx + 0x50]
xor r9d, r9d
mov r8d, 1
mov qword [rsp + 0x60], 1
mov rdx, r13
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_SetWaitableTimer]
mov rbp, qword [sym.imp.KERNEL32.dll_GetQueuedCompletionStatus]
lea rsi, [rdi + 0x30]
lea rbx, [rsp + 0x50]
nop word [rax + rax]
xor eax, eax
lock xadd dword [rsi], eax
test eax, eax
jle 0x763d40
mov qword [rsp + 0x50], 0
mov r12, qword [rdi + 0x88]
mov qword [rsp + 0x58], 0
test r12, r12
je 0x763c20
mov r14, rbx
nop dword [rax + rax]
mov rax, qword [r12]
mov rdx, rbx
mov rcx, r12
call qword [rax + 0x30]
mov r12, qword [r12 + 8]
test r12, r12
jne 0x763b48
mov r12, qword [rdi + 0x90]
test r12, r12
je 0x763d20
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x763d30
mov qword [rax + 0x20], r12
mov r12, qword [rsp + 0x50]
mov rax, qword [rdi + 0x98]
mov qword [rdi + 0x90], 0
mov qword [rdi + 0x98], 0
mov qword [rsp + 0x58], rax
test r12, r12
je 0x763c30
lea r13, [rsp + 0x60]
jmp 0x763c03
mov qword [r12 + 0x20], 0
lock sub dword [rsi], 1
mov r15, qword [r12 + 0x28]
mov dword [rsp + 0x60], 0
mov r14, rbx
call method.boost::system.system_category__
xor r9d, r9d
mov r8, r13
mov rdx, r12
mov qword [rsp + 0x68], rax
xor ecx, ecx
call r15
mov r12, qword [rsp + 0x50]
test r12, r12
je 0x763b10
mov rax, qword [r12 + 0x20]
mov qword [rsp + 0x50], rax
test rax, rax
jne 0x763bc0
mov qword [rsp + 0x58], 0
jmp 0x763bc0
mov r12, qword [rdi + 0x90]
test r12, r12
jne 0x763d30
mov eax, dword [rdi + 0x40]
mov rcx, qword [rdi + 0x28]
lea rdx, [rsp + 0x3c]
mov r14, rbx
mov dword [rsp + 0x3c], 0
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x40]
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x20], eax
call rbp
cmp qword [rsp + 0x48], 0
je 0x763ca1
lock sub dword [rsi], 1
mov r12, qword [rsp + 0x48]
mov r13, qword [r12 + 0x28]
mov dword [rsp + 0x60], 0
call method.boost::system.system_category__
xor r9d, r9d
lea r8, [rsp + 0x60]
mov rdx, r12
mov qword [rsp + 0x68], rax
xor ecx, ecx
call r13
mov r12, qword [rsp + 0x50]
test r12, r12
je 0x763b10
lea r13, [rsp + 0x60]
jmp 0x763cfc
mov qword [r12 + 0x20], 0
mov r14, qword [r12 + 0x28]
mov dword [rsp + 0x60], 0
call method.boost::system.system_category__
mov rdx, r12
xor r9d, r9d
mov r8, r13
mov qword [rsp + 0x68], rax
xor ecx, ecx
call r14
mov r12, qword [rsp + 0x50]
test r12, r12
je 0x763b10
mov rax, qword [r12 + 0x20]
mov qword [rsp + 0x50], rax
test rax, rax
jne 0x763cc0
mov qword [rsp + 0x58], 0
jmp 0x763cc0
mov r12, qword [rsp + 0x50]
jmp 0x763ba8
mov qword [rsp + 0x50], r12
jmp 0x763b86
mov rbx, qword [rdi + 0x48]
test rbx, rbx
je 0x763d97
mov rax, qword [rbx + 8]
lea rdx, [rsp + 0x60]
xor r8d, r8d
mov ecx, 2
mov r9d, 0xffffffff
mov qword [rsp + 0x60], rax
mov rax, qword [rbx]
mov qword [rsp + 0x68], 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 0x763da8
mov rcx, qword [rbx]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateThread]
nop
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
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]
jmp 0x763d97