Function at 0x14002ba50
Capabilities:
Terminate thread

Disassembly:
mov rax, rsp
push rbx
sub rsp, 0x50
mov rbx, qword [0x140072198]
test rbx, rbx
je 0x14002bce1
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 0x14002bc5d
lea rcx, [0x140072198]
mov rdx, rbx
call fcn.14000a610
mov edx, dword [0x1400723b0]
mov ecx, esi
test edx, edx
je 0x14002bb1e
mov r8, qword [rbx + 0x18]
mov rax, r12
cmp qword [rax], r8
je 0x14002baf4
inc ecx
add rax, 8
cmp ecx, edx
jb 0x14002bae3
jmp 0x14002bb1e
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.140043b10
mov dword [rbx + 0x20], 1
dec dword [0x1400723b0]
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x14002bb78
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14002bb4f
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14002bb78
jmp 0x14002bb54
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.140025be0
mov rcx, qword [rbx]
mov edx, 0x1388
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0xffffffff
jne 0x14002bbcc
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14002bba1
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14002bbd3
jmp 0x14002bba6
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.140025be0
jmp 0x14002bbd3
cmp eax, 0x102
jne 0x14002bc21
mov rcx, qword [rbx]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_TerminateThread]
test eax, eax
jne 0x14002bc21
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14002bbf8
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14002bc21
jmp 0x14002bbfd
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.140025be0
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbx + 0x10]
mov qword [rbx], rsi
test rcx, rcx
je 0x14002bc40
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x10], rsi
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x14002bc53
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x18], rsi
mov rcx, rbx
call fcn.140044620
jmp 0x14002bcb2
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x14002bcb2
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14002bc81
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x14002bcb2
jmp 0x14002bc86
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.140025be0
mov rcx, rbx
call fcn.14002b650
mov rbx, rdi
test rdi, rdi
jne 0x14002bab0
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