Function at 0x1400527f0
Capabilities:
Terminate thread

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x5e0]
sub rsp, 0x6e0
mov r14d, edx
mov rdi, rcx
mov eax, dword [rcx + 0x30]
test eax, eax
jg 0x140052823
mov al, 1
jmp 0x1400530c5
movzx eax, byte [rcx + 0x10]
test al, al
je 0x140052832
cmp qword [rcx + 0x18], 0
jne 0x14005283a
mov rax, qword [rcx]
mov dl, 1
call qword [rax + 0x20]
cmp r14d, 0xffffffff
jne 0x140052844
mov r14d, dword [rdi + 0x28]
mov r15b, 1
call fcn.14004fa30
mov r12, rax
mov rsi, qword [rdi + 8]
xor r13d, r13d
test rsi, rsi
je 0x140053057
nop
call fcn.1400de7dc
mov rbx, rax
call fcn.1400de7c0
cmp rbx, 0x989680
jne 0x14005287c
imul rcx, rax, 0x64
jmp 0x140052897
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
movabs rax, 0x431bde82d7b634db
imul rcx
mov rbx, rdx
sar rbx, 0x12
mov rax, rbx
shr rax, 0x3f
add rbx, rax
sub ebx, r12d
test r14d, r14d
js 0x140052cb7
cmp ebx, r14d
jle 0x140052cb7
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x88]
test al, al
je 0x140052cb7
call fcn.140008400
mov r10, qword [rax]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, 0xffffffff
mov r8d, r9d
lea rdx, str.JRThread::Stop
mov rcx, rax
call qword [r10 + 0x28]
mov rbx, rax
mov qword [rbp + 0x620], rax
mov dword [rbp + 0x440], r13d
movaps xmm0, xmmword [rbp + 0x440]
movdqa xmmword [rbp + 0x2e0], xmm0
mov dword [rbp + 0x560], r13d
movaps xmm1, xmmword [rbp + 0x560]
movdqa xmmword [rbp + 0x2d0], xmm1
mov dword [rbp + 0xb0], r13d
movaps xmm0, xmmword [rbp + 0xb0]
movdqa xmmword [rbp + 0x2c0], xmm0
mov dword [rbp + 0xc0], r13d
movaps xmm1, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0x2b0], xmm1
mov dword [rbp + 0xd0], r13d
movaps xmm0, xmmword [rbp + 0xd0]
movdqa xmmword [rbp + 0x2a0], xmm0
mov dword [rbp + 0xe0], r13d
movaps xmm1, xmmword [rbp + 0xe0]
movdqa xmmword [rbp + 0x290], xmm1
mov dword [rbp + 0xf0], r13d
movaps xmm0, xmmword [rbp + 0xf0]
movdqa xmmword [rbp + 0x280], xmm0
mov dword [rbp + 0x100], r13d
movaps xmm1, xmmword [rbp + 0x100]
movdqa xmmword [rbp + 0x270], xmm1
mov dword [rbp + 0x110], r13d
movaps xmm0, xmmword [rbp + 0x110]
movdqa xmmword [rbp + 0x260], xmm0
mov dword [rbp + 0x120], r13d
movaps xmm1, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x250], xmm1
mov dword [rbp + 0x130], r13d
movaps xmm0, xmmword [rbp + 0x130]
movdqa xmmword [rbp + 0x240], xmm0
mov dword [rbp + 0x140], r13d
movaps xmm1, xmmword [rbp + 0x140]
movdqa xmmword [rbp + 0x230], xmm1
mov dword [rbp + 0x150], r13d
movaps xmm0, xmmword [rbp + 0x150]
movdqa xmmword [rbp + 0x220], xmm0
mov dword [rbp + 0x160], r13d
movaps xmm1, xmmword [rbp + 0x160]
movdqa xmmword [rbp + 0x210], xmm1
mov dword [rbp + 0x170], r13d
movaps xmm0, xmmword [rbp + 0x170]
movdqa xmmword [rbp + 0x200], xmm0
mov dword [rbp + 0x180], r13d
movaps xmm1, xmmword [rbp + 0x180]
movdqa xmmword [rbp + 0x1f0], xmm1
mov dword [rbp + 0x190], r13d
movaps xmm0, xmmword [rbp + 0x190]
movdqa xmmword [rbp + 0x1e0], xmm0
mov dword [rbp + 0x1a0], r13d
movaps xmm1, xmmword [rbp + 0x1a0]
movdqa xmmword [rbp + 0x1d0], xmm1
mov dword [rsp + 0x40], 4
movsxd rax, r14d
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp + 0x1c0], xmm0
mov dword [rsp + 0x50], 4
mov qword [rsp + 0x58], rsi
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rbp + 0x1b0], xmm0
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x140052c12
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
mov rcx, rax
test rax, rax
je 0x140052c12
lea rax, [rbp + 0x1b0]
mov qword [rbp + 0x10], rax
lea rax, [rbp + 0x1c0]
mov qword [rbp + 0x18], rax
lea rax, [rbp + 0x1d0]
mov qword [rbp + 0x20], rax
lea rax, [rbp + 0x1e0]
mov qword [rbp + 0x28], rax
lea rax, [rbp + 0x1f0]
mov qword [rbp + 0x30], rax
lea rax, [rbp + 0x200]
mov qword [rbp + 0x38], rax
lea rax, [rbp + 0x210]
mov qword [rbp + 0x40], rax
lea rax, [rbp + 0x220]
mov qword [rbp + 0x48], rax
lea rax, [rbp + 0x230]
mov qword [rbp + 0x50], rax
lea rax, [rbp + 0x240]
mov qword [rbp + 0x58], rax
lea rax, [rbp + 0x250]
mov qword [rbp + 0x60], rax
lea rax, [rbp + 0x260]
mov qword [rbp + 0x68], rax
lea rax, [rbp + 0x270]
mov qword [rbp + 0x70], rax
lea rax, [rbp + 0x280]
mov qword [rbp + 0x78], rax
lea rax, [rbp + 0x290]
mov qword [rbp + 0x80], rax
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x88], rax
lea rax, [rbp + 0x2b0]
mov qword [rbp + 0x90], rax
lea rax, [rbp + 0x2c0]
mov qword [rbp + 0x98], rax
lea rax, [rbp + 0x2d0]
mov qword [rbp + 0xa0], rax
lea rax, [rbp + 0x2e0]
mov qword [rbp + 0xa8], rax
mov rax, qword [rcx]
mov dword [rsp + 0x28], 0x14
lea rdx, [rbp + 0x10]
mov qword [rsp + 0x20], rdx
lea r9, str.Hard_killing_thread__handle_x___it_exceeded_timeout_d_MS
mov r8, rbx
mov edx, 1
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x140052c41
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140052c37
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140052c41
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
test r15b, r15b
je 0x140052c94
xor r15b, r15b
lea rcx, [rbp + 0x580]
call fcn.140026a60
nop
mov rax, qword [rbp + 0x5c0]
test rax, rax
je 0x140052c88
mov rcx, rsi
call rax
test eax, eax
je 0x140052c88
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
lea rcx, [rbp + 0x5d0]
call fcn.14003f140
jmp 0x14005304a
lea rcx, [rbp + 0x5d0]
call fcn.14003f140
mov edx, 1
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_TerminateThread]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, r13
xchg qword [rdi + 8], rax
jmp 0x14005304a
cmp ebx, 0x3e8
jle 0x140053036
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetThreadPriority]
cmp eax, 0x7fffffff
jne 0x140053036
call qword [sym.imp.KERNEL32.dll_GetLastError]
movsxd rsi, eax
call fcn.140008400
mov r10, qword [rax]
mov byte [rsp + 0x30], 1
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
mov r9d, 0xffffffff
mov r8d, r9d
lea rdx, str.JRThread::Stop
mov rcx, rax
call qword [r10 + 0x28]
mov rbx, rax
mov qword [rbp + 0x630], rax
mov dword [rbp + 0x2f0], r13d
movaps xmm0, xmmword [rbp + 0x2f0]
movdqa xmmword [rbp + 0x550], xmm0
mov dword [rbp + 0x300], r13d
movaps xmm1, xmmword [rbp + 0x300]
movdqa xmmword [rbp + 0x540], xmm1
mov dword [rbp + 0x310], r13d
movaps xmm0, xmmword [rbp + 0x310]
movdqa xmmword [rbp + 0x530], xmm0
mov dword [rbp + 0x320], r13d
movaps xmm1, xmmword [rbp + 0x320]
movdqa xmmword [rbp + 0x520], xmm1
mov dword [rbp + 0x330], r13d
movaps xmm0, xmmword [rbp + 0x330]
movdqa xmmword [rbp + 0x510], xmm0
mov dword [rbp + 0x340], r13d
movaps xmm1, xmmword [rbp + 0x340]
movdqa xmmword [rbp + 0x500], xmm1
mov dword [rbp + 0x350], r13d
movaps xmm0, xmmword [rbp + 0x350]
movdqa xmmword [rbp + 0x4f0], xmm0
mov dword [rbp + 0x360], r13d
movaps xmm1, xmmword [rbp + 0x360]
movdqa xmmword [rbp + 0x570], xmm1
mov dword [rbp + 0x370], r13d
movaps xmm0, xmmword [rbp + 0x370]
movdqa xmmword [rbp + 0x4d0], xmm0
mov dword [rbp + 0x380], r13d
movaps xmm1, xmmword [rbp + 0x380]
movdqa xmmword [rbp + 0x4c0], xmm1
mov dword [rbp + 0x390], r13d
movaps xmm0, xmmword [rbp + 0x390]
movdqa xmmword [rbp + 0x4b0], xmm0
mov dword [rbp + 0x3a0], r13d
movaps xmm1, xmmword [rbp + 0x3a0]
movdqa xmmword [rbp + 0x4a0], xmm1
mov dword [rbp + 0x3b0], r13d
movaps xmm0, xmmword [rbp + 0x3b0]
movdqa xmmword [rbp + 0x490], xmm0
mov dword [rbp + 0x3c0], r13d
movaps xmm1, xmmword [rbp + 0x3c0]
movdqa xmmword [rbp + 0x480], xmm1
mov dword [rbp + 0x3d0], r13d
movaps xmm0, xmmword [rbp + 0x3d0]
movdqa xmmword [rbp + 0x470], xmm0
mov dword [rbp + 0x3e0], r13d
movaps xmm1, xmmword [rbp + 0x3e0]
movdqa xmmword [rbp + 0x460], xmm1
mov dword [rbp + 0x3f0], r13d
movaps xmm0, xmmword [rbp + 0x3f0]
movdqa xmmword [rbp + 0x450], xmm0
mov dword [rbp + 0x400], r13d
movaps xmm1, xmmword [rbp + 0x400]
movdqa xmmword [rbp + 0x4e0], xmm1
mov dword [rbp + 0x410], r13d
movaps xmm0, xmmword [rbp + 0x410]
movdqa xmmword [rbp + 0x430], xmm0
mov dword [rsp + 0x60], 4
mov qword [rsp + 0x68], rsi
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rbp + 0x420], xmm0
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x140052ffe
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
mov rcx, rax
test rax, rax
je 0x140052ffe
lea rax, [rbp + 0x420]
mov qword [rsp + 0x70], rax
lea rax, [rbp + 0x430]
mov qword [rsp + 0x78], rax
lea rax, [rbp + 0x4e0]
mov qword [rbp - 0x80], rax
lea rax, [rbp + 0x450]
mov qword [rbp - 0x78], rax
lea rax, [rbp + 0x460]
mov qword [rbp - 0x70], rax
lea rax, [rbp + 0x470]
mov qword [rbp - 0x68], rax
lea rax, [rbp + 0x480]
mov qword [rbp - 0x60], rax
lea rax, [rbp + 0x490]
mov qword [rbp - 0x58], rax
lea rax, [rbp + 0x4a0]
mov qword [rbp - 0x50], rax
lea rax, [rbp + 0x4b0]
mov qword [rbp - 0x48], rax
lea rax, [rbp + 0x4c0]
mov qword [rbp - 0x40], rax
lea rax, [rbp + 0x4d0]
mov qword [rbp - 0x38], rax
lea rax, [rbp + 0x570]
mov qword [rbp - 0x30], rax
lea rax, [rbp + 0x4f0]
mov qword [rbp - 0x28], rax
lea rax, [rbp + 0x500]
mov qword [rbp - 0x20], rax
lea rax, [rbp + 0x510]
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x520]
mov qword [rbp - 0x10], rax
lea rax, [rbp + 0x530]
mov qword [rbp - 8], rax
lea rax, [rbp + 0x540]
mov qword [rbp], rax
lea rax, [rbp + 0x550]
mov qword [rbp + 8], rax
mov rax, qword [rcx]
mov dword [rsp + 0x28], 0x14
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x20], rdx
lea r9, str.GetThreadPriority_returned_error__errno_d
mov r8, rbx
mov edx, 1
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rdx, [rbx - 0x18]
mov eax, dword [rdx + 0x10]
cmp eax, 0x7ffffc17
je 0x14005302d
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140053023
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005302d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, r13
xchg qword [rdi + 8], rax
jmp 0x14005304a
cmp byte [rdi + 0x36], 0
je 0x140053041
call fcn.1400678e0
mov ecx, dword [rdi + 0x2c]
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rsi, qword [rdi + 8]
test rsi, rsi
jne 0x140052860
cmp byte [rdi + 0x37], 0
je 0x140053066
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x1400530a4
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x78]
test rax, rax
je 0x1400530a4
mov rcx, qword [0x14019a6b8]
test rcx, rcx
je 0x140053098
mov rax, qword [rcx]
mov dl, 1
call qword [rax + 0x78]
mov rcx, rax
jmp 0x14005309b
mov rcx, r13
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
movzx ebx, byte [rdi + 0x34]
lea rcx, [rdi + 0x18]
call fcn.1400539c0
mov rcx, r13
xchg qword [rdi + 8], rcx
mov edx, r13d
xchg byte [rdi + 0x34], dl
mov dword [rdi + 0x40], r13d
movzx eax, bl
mov rbx, qword [rsp + 0x728]
add rsp, 0x6e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret