Function at 0x14002bbe0
Capabilities:
Terminate thread

Disassembly:
mov rax, rsp
push rbx
sub rsp, 0x50
mov rbx, qword [0x140072198]
test rbx, rbx
je 0x14002be71
mov qword [rax + 8], rbp
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax - 0x10], r12
mov qword [rax - 0x18], r13
mov qword [rax - 0x20], r14
mov qword [rax - 0x28], r15
xor esi, esi
lea r12, [0x1400721b0]
lea r15, [0x140071d30]
lea rbp, str.SetEvent__
lea r13, str.WaitForSingleObject__
lea r14, str.TerminateThread__
nop dword [rax]
cmp dword [rbx + 0x24], 1
mov rdi, qword [rbx + 0x430]
jne 0x14002bded
lea rcx, [0x140072198]
mov rdx, rbx
call fcn.14000a610
mov edx, dword [0x1400723b0]
mov ecx, esi
test edx, edx
je 0x14002bcae
mov r8, qword [rbx + 0x18]
mov rax, r12
cmp qword [rax], r8
je 0x14002bc84
inc ecx
add rax, 8
cmp ecx, edx
jb 0x14002bc73
jmp 0x14002bcae
inc ecx
mov r8, rdx
movsxd rax, ecx
sub r8, rax
lea rdx, [r15 + rax*8 + 0x480]
lea eax, [rcx - 1]
shl r8, 3
movsxd rcx, eax
lea rcx, [r15 + rcx*8 + 0x480]
call fcn.140043cb0
mov dword [rbx + 0x20], 1
dec dword [0x1400723b0]
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x14002bd08
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14002bcdf
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14002bd08
jmp 0x14002bce4
mov eax, 0xffffe5d4
mov dword [rsp + 0x28], eax
lea r8, str.PollRemoveWorker
lea rdx, str._s:_d____s_failed:__d_n
mov r9d, 0x1f0
xor ecx, ecx
mov qword [rsp + 0x20], rbp
call fcn.140025bd0
mov rcx, qword [rbx]
mov edx, 0x1388
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0x14002bd5c
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14002bd31
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14002bd63
jmp 0x14002bd36
mov eax, 0xffffe5d4
mov dword [rsp + 0x28], eax
lea r8, str.PollRemoveWorker
lea rdx, str._s:_d____s_failed:__d_n
mov r9d, 0x1f4
xor ecx, ecx
mov qword [rsp + 0x20], r13
call fcn.140025bd0
jmp 0x14002bd63
cmp eax, 0x102
jne 0x14002bdb1
mov rcx, qword [rbx]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateThread]
test eax, eax
jne 0x14002bdb1
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14002bd88
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14002bdb1
jmp 0x14002bd8d
mov eax, 0xffffe5d4
mov dword [rsp + 0x28], eax
lea r8, str.PollRemoveWorker
lea rdx, str._s:_d____s_failed:__d_n
mov r9d, 0x1fa
xor ecx, ecx
mov qword [rsp + 0x20], r14
call fcn.140025bd0
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbx + 0x10]
mov qword [rbx], rsi
test rcx, rcx
je 0x14002bdd0
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x10], rsi
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14002bde3
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x18], rsi
mov rcx, rbx
call fcn.1400447c0
jmp 0x14002be42
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x14002be42
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14002be11
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14002be42
jmp 0x14002be16
mov eax, 0xffffe5d4
mov dword [rsp + 0x28], eax
lea r8, str.PollStartWorkers
lea rdx, str._s:_d____s_failed:__d_n
mov r9d, 0x19e
xor ecx, ecx
mov qword [rsp + 0x20], rbp
call fcn.140025bd0
mov rcx, rbx
call fcn.14002b7e0
mov rbx, rdi
test rdi, rdi
jne 0x14002bc40
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x60]
xor eax, eax
add rsp, 0x50
pop rbx
ret