Function at 0x140053780
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 - 0x5f0]
sub rsp, 0x6f0
mov r14d, edx
mov rdi, rcx
mov eax, dword [rcx + 0x30]
test eax, eax
jg 0x1400537b3
mov al, 1
jmp 0x1400540c7
movzx eax, byte [rcx + 0x10]
test al, al
je 0x1400537c2
cmp qword [rcx + 0x18], 0
jne 0x1400537ca
mov rax, qword [rcx]
mov dl, 1
call qword [rax + 0x20]
cmp r14d, 0xffffffff
jne 0x1400537d4
mov r14d, dword [rdi + 0x28]
mov r15b, 1
call fcn.14003c2d0
mov r12, rax
mov rsi, qword [rdi + 8]
xor r13d, r13d
test rsi, rsi
je 0x140054059
nop
call fcn.140134ea8
mov rbx, rax
call fcn.140134e8c
cmp rbx, 0x989680
jne 0x14005380c
imul rcx, rax, 0x64
jmp 0x140053827
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 0x140053c80
cmp ebx, r14d
jle 0x140053c80
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x88]
test al, al
je 0x140053c80
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x1400538a9
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rbp + 0x630], rax
test rax, rax
je 0x14005389d
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x1400538a0
mov rcx, r13
mov qword [0x1401f7b90], rcx
jmp 0x1400538b0
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
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
call qword [rax + 0x28]
mov rbx, rax
mov qword [rbp + 0x640], rax
mov dword [rbp + 0x570], r13d
movaps xmm0, xmmword [rbp + 0x570]
movdqa xmmword [rbp + 0x2f0], xmm0
mov dword [rbp + 0xb0], r13d
movaps xmm1, xmmword [rbp + 0xb0]
movdqa xmmword [rbp + 0x2e0], xmm1
mov dword [rbp + 0xc0], r13d
movaps xmm0, xmmword [rbp + 0xc0]
movdqa xmmword [rbp + 0x2d0], xmm0
mov dword [rbp + 0xd0], r13d
movaps xmm1, xmmword [rbp + 0xd0]
movdqa xmmword [rbp + 0x2c0], xmm1
mov dword [rbp + 0xe0], r13d
movaps xmm0, xmmword [rbp + 0xe0]
movdqa xmmword [rbp + 0x2b0], xmm0
mov dword [rbp + 0xf0], r13d
movaps xmm1, xmmword [rbp + 0xf0]
movdqa xmmword [rbp + 0x2a0], xmm1
mov dword [rbp + 0x100], r13d
movaps xmm0, xmmword [rbp + 0x100]
movdqa xmmword [rbp + 0x290], xmm0
mov dword [rbp + 0x110], r13d
movaps xmm1, xmmword [rbp + 0x110]
movdqa xmmword [rbp + 0x280], xmm1
mov dword [rbp + 0x120], r13d
movaps xmm0, xmmword [rbp + 0x120]
movdqa xmmword [rbp + 0x270], xmm0
mov dword [rbp + 0x130], r13d
movaps xmm1, xmmword [rbp + 0x130]
movdqa xmmword [rbp + 0x260], xmm1
mov dword [rbp + 0x140], r13d
movaps xmm0, xmmword [rbp + 0x140]
movdqa xmmword [rbp + 0x250], xmm0
mov dword [rbp + 0x150], r13d
movaps xmm1, xmmword [rbp + 0x150]
movdqa xmmword [rbp + 0x240], xmm1
mov dword [rbp + 0x160], r13d
movaps xmm0, xmmword [rbp + 0x160]
movdqa xmmword [rbp + 0x230], xmm0
mov dword [rbp + 0x170], r13d
movaps xmm1, xmmword [rbp + 0x170]
movdqa xmmword [rbp + 0x220], xmm1
mov dword [rbp + 0x180], r13d
movaps xmm0, xmmword [rbp + 0x180]
movdqa xmmword [rbp + 0x210], xmm0
mov dword [rbp + 0x190], r13d
movaps xmm1, xmmword [rbp + 0x190]
movdqa xmmword [rbp + 0x200], xmm1
mov dword [rbp + 0x1a0], r13d
movaps xmm0, xmmword [rbp + 0x1a0]
movdqa xmmword [rbp + 0x1f0], xmm0
mov dword [rbp + 0x1b0], r13d
movaps xmm1, xmmword [rbp + 0x1b0]
movdqa xmmword [rbp + 0x1e0], xmm1
mov dword [rsp + 0x50], 4
movsxd rax, r14d
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rbp + 0x1d0], xmm0
mov dword [rsp + 0x60], 4
mov qword [rsp + 0x68], rsi
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rbp + 0x1c0], xmm0
mov rcx, qword [0x1401f8178]
test rcx, rcx
je 0x140053bdb
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
mov rcx, rax
test rax, rax
je 0x140053bdb
lea rax, [rbp + 0x1c0]
mov qword [rbp + 0x10], rax
lea rax, [rbp + 0x1d0]
mov qword [rbp + 0x18], rax
lea rax, [rbp + 0x1e0]
mov qword [rbp + 0x20], rax
lea rax, [rbp + 0x1f0]
mov qword [rbp + 0x28], rax
lea rax, [rbp + 0x200]
mov qword [rbp + 0x30], rax
lea rax, [rbp + 0x210]
mov qword [rbp + 0x38], rax
lea rax, [rbp + 0x220]
mov qword [rbp + 0x40], rax
lea rax, [rbp + 0x230]
mov qword [rbp + 0x48], rax
lea rax, [rbp + 0x240]
mov qword [rbp + 0x50], rax
lea rax, [rbp + 0x250]
mov qword [rbp + 0x58], rax
lea rax, [rbp + 0x260]
mov qword [rbp + 0x60], rax
lea rax, [rbp + 0x270]
mov qword [rbp + 0x68], rax
lea rax, [rbp + 0x280]
mov qword [rbp + 0x70], rax
lea rax, [rbp + 0x290]
mov qword [rbp + 0x78], rax
lea rax, [rbp + 0x2a0]
mov qword [rbp + 0x80], rax
lea rax, [rbp + 0x2b0]
mov qword [rbp + 0x88], rax
lea rax, [rbp + 0x2c0]
mov qword [rbp + 0x90], rax
lea rax, [rbp + 0x2d0]
mov qword [rbp + 0x98], rax
lea rax, [rbp + 0x2e0]
mov qword [rbp + 0xa0], rax
lea rax, [rbp + 0x2f0]
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 0x140053c0a
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140053c00
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140053c0a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
test r15b, r15b
je 0x140053c5d
xor r15b, r15b
lea rcx, [rbp + 0x590]
call fcn.14003b950
nop
mov rax, qword [rbp + 0x5d0]
test rax, rax
je 0x140053c51
mov rcx, rsi
call rax
test eax, eax
je 0x140053c51
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
lea rcx, [rbp + 0x5e0]
call fcn.14004a0c0
jmp 0x14005404c
lea rcx, [rbp + 0x5e0]
call fcn.14004a0c0
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 0x14005404c
cmp ebx, 0x3e8
jle 0x140054038
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetThreadPriority]
cmp eax, 0x7fffffff
jne 0x140054038
call qword [sym.imp.KERNEL32.dll_GetLastError]
movsxd rsi, eax
cmp dword [0x1401eb6c0], 0xb23a8c33
je 0x140053ce4
mov ecx, 0x6c0
call fcn.1400f2ce0
mov qword [rbp + 0x648], rax
test rax, rax
je 0x140053cd8
mov rcx, rax
call fcn.1400302c0
mov rcx, rax
jmp 0x140053cdb
mov rcx, r13
mov qword [0x1401f7b90], rcx
jmp 0x140053ceb
mov rcx, qword [0x1401f7b90]
mov rax, qword [rcx]
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
call qword [rax + 0x28]
mov rbx, rax
mov qword [rbp + 0x450], rax
mov dword [rbp + 0x300], r13d
movaps xmm0, xmmword [rbp + 0x300]
movdqa xmmword [rbp + 0x560], xmm0
mov dword [rbp + 0x310], r13d
movaps xmm1, xmmword [rbp + 0x310]
movdqa xmmword [rbp + 0x550], xmm1
mov dword [rbp + 0x320], r13d
movaps xmm0, xmmword [rbp + 0x320]
movdqa xmmword [rbp + 0x540], xmm0
mov dword [rbp + 0x330], r13d
movaps xmm1, xmmword [rbp + 0x330]
movdqa xmmword [rbp + 0x530], xmm1
mov dword [rbp + 0x340], r13d
movaps xmm0, xmmword [rbp + 0x340]
movdqa xmmword [rbp + 0x520], xmm0
mov dword [rbp + 0x350], r13d
movaps xmm1, xmmword [rbp + 0x350]
movdqa xmmword [rbp + 0x510], xmm1
mov dword [rbp + 0x360], r13d
movaps xmm0, xmmword [rbp + 0x360]
movdqa xmmword [rbp + 0x500], xmm0
mov dword [rbp + 0x370], r13d
movaps xmm1, xmmword [rbp + 0x370]
movdqa xmmword [rbp + 0x580], xmm1
mov dword [rbp + 0x380], r13d
movaps xmm0, xmmword [rbp + 0x380]
movdqa xmmword [rbp + 0x4e0], xmm0
mov dword [rbp + 0x390], r13d
movaps xmm1, xmmword [rbp + 0x390]
movdqa xmmword [rbp + 0x4d0], xmm1
mov dword [rbp + 0x3a0], r13d
movaps xmm0, xmmword [rbp + 0x3a0]
movdqa xmmword [rbp + 0x4c0], xmm0
mov dword [rbp + 0x3b0], r13d
movaps xmm1, xmmword [rbp + 0x3b0]
movdqa xmmword [rbp + 0x4b0], xmm1
mov dword [rbp + 0x3c0], r13d
movaps xmm0, xmmword [rbp + 0x3c0]
movdqa xmmword [rbp + 0x4a0], xmm0
mov dword [rbp + 0x3d0], r13d
movaps xmm1, xmmword [rbp + 0x3d0]
movdqa xmmword [rbp + 0x490], xmm1
mov dword [rbp + 0x3e0], r13d
movaps xmm0, xmmword [rbp + 0x3e0]
movdqa xmmword [rbp + 0x480], xmm0
mov dword [rbp + 0x3f0], r13d
movaps xmm1, xmmword [rbp + 0x3f0]
movdqa xmmword [rbp + 0x470], xmm1
mov dword [rbp + 0x400], r13d
movaps xmm0, xmmword [rbp + 0x400]
movdqa xmmword [rbp + 0x460], xmm0
mov dword [rbp + 0x410], r13d
movaps xmm1, xmmword [rbp + 0x410]
movdqa xmmword [rbp + 0x4f0], xmm1
mov dword [rbp + 0x420], r13d
movaps xmm0, xmmword [rbp + 0x420]
movdqa xmmword [rbp + 0x440], xmm0
mov dword [rsp + 0x40], 4
mov qword [rsp + 0x48], rsi
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rbp + 0x430], xmm0
mov rcx, qword [0x1401f8178]
test rcx, rcx
je 0x140054000
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x50]
mov rcx, rax
test rax, rax
je 0x140054000
lea rax, [rbp + 0x430]
mov qword [rsp + 0x70], rax
lea rax, [rbp + 0x440]
mov qword [rsp + 0x78], rax
lea rax, [rbp + 0x4f0]
mov qword [rbp - 0x80], rax
lea rax, [rbp + 0x460]
mov qword [rbp - 0x78], rax
lea rax, [rbp + 0x470]
mov qword [rbp - 0x70], rax
lea rax, [rbp + 0x480]
mov qword [rbp - 0x68], rax
lea rax, [rbp + 0x490]
mov qword [rbp - 0x60], rax
lea rax, [rbp + 0x4a0]
mov qword [rbp - 0x58], rax
lea rax, [rbp + 0x4b0]
mov qword [rbp - 0x50], rax
lea rax, [rbp + 0x4c0]
mov qword [rbp - 0x48], rax
lea rax, [rbp + 0x4d0]
mov qword [rbp - 0x40], rax
lea rax, [rbp + 0x4e0]
mov qword [rbp - 0x38], rax
lea rax, [rbp + 0x580]
mov qword [rbp - 0x30], rax
lea rax, [rbp + 0x500]
mov qword [rbp - 0x28], rax
lea rax, [rbp + 0x510]
mov qword [rbp - 0x20], rax
lea rax, [rbp + 0x520]
mov qword [rbp - 0x18], rax
lea rax, [rbp + 0x530]
mov qword [rbp - 0x10], rax
lea rax, [rbp + 0x540]
mov qword [rbp - 8], rax
lea rax, [rbp + 0x550]
mov qword [rbp], rax
lea rax, [rbp + 0x560]
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 0x14005402f
mov eax, dword [rdx + 0x10]
cmp eax, 0xffffffff
je 0x140054025
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005402f
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 0x14005404c
cmp byte [rdi + 0x36], 0
je 0x140054043
call fcn.14005dcd0
mov ecx, dword [rdi + 0x2c]
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rsi, qword [rdi + 8]
test rsi, rsi
jne 0x1400537f0
cmp byte [rdi + 0x37], 0
je 0x140054068
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
mov rcx, qword [0x1401f8178]
test rcx, rcx
je 0x1400540a6
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x78]
test rax, rax
je 0x1400540a6
mov rcx, qword [0x1401f8178]
test rcx, rcx
je 0x14005409a
mov rax, qword [rcx]
mov dl, 1
call qword [rax + 0x78]
mov rcx, rax
jmp 0x14005409d
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.140054b40
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 + 0x738]
add rsp, 0x6f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret