Function at 0x180059bf0
Capabilities:
Create thread
Resume thread

Disassembly:
mov rax, rsp
push rsi
push rdi
push r14
sub rsp, 0xd0
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov rax, qword [0x180146748]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov rsi, r9
mov ebp, edx
mov rbx, rcx
mov qword [rsp + 0x38], r9
xor r14d, r14d
mov edi, r14d
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x180059c43
call qword [sym.imp.KERNEL32.dll_CancelWaitableTimer]
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x180059c52
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [rbx]
test rcx, rcx
je 0x180059c71
mov edx, 0x7d0
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx], r14
mov rax, qword [rbx + 8]
test rax, rax
je 0x180059c8a
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 8], r14
mov rax, r14
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x180059ca1
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x10], r14
mov rax, qword [rbx + 8]
test rax, rax
jne 0x180059e25
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rbx + 8], rax
test rax, rax
je 0x180059e25
cmp qword [rbx], rdi
jne 0x180059e25
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 4
mov r9, rbx
lea r8, [0x180059e70]
xor edx, edx
xor ecx, ecx
call fcn.1800bebdc
mov qword [rbx], rax
test rax, rax
je 0x180059e25
mov eax, ebp
cdq
xor eax, edx
sub eax, edx
imul eax, eax, 0xffffd8f0
movsxd rcx, eax
mov qword [rbx + 0x18], rcx
lea rdi, [rbx + 0x28]
mov qword [rsp + 0x78], r14
mov rcx, qword [rsi + 0x38]
mov r8, r14
test rcx, rcx
je 0x180059d37
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
call qword [rax]
mov r8, rax
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x40]
cmp r8, rax
je 0x180059d58
mov rcx, qword [rdi + 0x38]
cmp rcx, rdi
je 0x180059d58
mov qword [rsp + 0x78], rcx
mov qword [rdi + 0x38], r8
jmp 0x180059df5
mov qword [rsp + 0xb8], r14
test r8, r8
je 0x180059db2
lea rax, [rsp + 0x40]
cmp r8, rax
jne 0x180059da5
mov rax, qword [r8]
lea rdx, [rsp + 0x80]
mov rcx, r8
call qword [rax + 8]
mov qword [rsp + 0xb8], rax
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x180059db2
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
jmp 0x180059dad
mov qword [rsp + 0xb8], r8
mov qword [rsp + 0x78], r14
mov rdx, rdi
lea rcx, [rsp + 0x40]
call fcn.18000bc10
lea rdx, [rsp + 0x80]
mov rcx, rdi
call fcn.18000bc10
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x180059df0
mov rax, qword [rcx]
lea rdx, [rsp + 0x80]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x180059e0b
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov rax, qword [rsp + 0x110]
mov qword [rbx + 0x68], rax
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov edi, 1
mov rcx, qword [rsi + 0x38]
test rcx, rcx
je 0x180059e3f
mov r8, qword [rcx]
cmp rcx, rsi
setne dl
call qword [r8 + 0x20]
mov qword [rsi + 0x38], r14
mov eax, edi
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.18008c720
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret