Function at 0x140007f80
Capabilities:
Resume thread
Suspend thread

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x508
mov rbx, rcx
mov ecx, dword [0x140031a78]
test ecx, ecx
je 0x140007fc0
mov edx, dword [0x140031a60]
test edx, edx
jne 0x140007fc0
lea rax, [0x14005c300]
cmp rbx, rax
jne 0x1400081f0
nop word [rax + rax]
mov rbp, qword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov r13, qword [sym.imp.KERNEL32.dll_SuspendThread]
xor esi, esi
lea r12, [rsp + 0x2c]
mov r14, qword [sym.imp.KERNEL32.dll_GetThreadContext]
mov r15, qword [sym.imp.KERNEL32.dll_ResumeThread]
nop dword [rax + rax]
mov rcx, qword [rbx + 0x10]
mov rdx, r12
call rbp
test eax, eax
je 0x140008003
cmp dword [rsp + 0x2c], 0x103
jne 0x140008090
mov rcx, qword [rbx + 0x10]
call r13
cmp eax, 0xffffffff
je 0x140008050
mov dword [rsp + 0x60], 0x100003
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x30]
call r14
test eax, eax
jne 0x1400080f8
mov rcx, qword [rbx + 0x10]
call r15
cmp eax, 0xffffffff
jne 0x140008050
lea rcx, str.ResumeThread_failed_in_suspend_loop
call sym.GC_default_on_abort.lto_priv.0
call qword [sym.imp.KERNEL32.dll_DebugBreak]
nop dword [rax]
lea edi, [rsi + 1]
cmp esi, 1
ja 0x140008060
mov esi, edi
jmp 0x140007fe8
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp edi, 0xf423f
jle 0x140008058
lea rcx, str.SuspendThread_loop_failed
mov esi, edi
call sym.GC_default_on_abort.lto_priv.0
call qword [sym.imp.KERNEL32.dll_DebugBreak]
jmp 0x140007fe8
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rbx + 8]
lea rcx, [0x140031260]
mov edx, eax
shr edx, 8
xor edx, eax
movzx edx, dl
mov rax, qword [rcx + rdx*8]
cmp rbx, rax
je 0x14000821a
nop dword [rax + rax]
mov rcx, rax
mov rax, qword [rax]
cmp rbx, rax
jne 0x1400080c0
mov rax, qword [rbx]
mov qword [rcx], rax
mov eax, dword [0x140031a60]
test eax, eax
jne 0x1400081c0
add rsp, 0x508
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movdqu xmm2, xmmword [rsp + 0xd8]
mov byte [rbx + 0x3b], 1
movdqu xmm0, xmmword [rsp + 0xc8]
movdqu xmm3, xmmword [rsp + 0x118]
movdqu xmm1, xmmword [rsp + 0x108]
movdqu xmm4, xmmword [rsp + 0xa8]
shufpd xmm0, xmm2, 1
movups xmmword [rbx + 0x68], xmm0
mov rax, qword [rsp + 0x120]
movdqa xmm0, xmm2
movdqu xmm2, xmmword [rsp + 0xe8]
shufpd xmm1, xmm3, 1
movups xmmword [rbx + 0x48], xmm4
movdqu xmm3, xmmword [rsp + 0xf8]
movdqu xmm5, xmmword [rsp + 0xb8]
mov qword [rbx + 0xb8], rax
shufpd xmm0, xmm2, 1
mov rax, qword [rsp + 0xc8]
movdqu xmm4, xmmword [rsp + 0x108]
movups xmmword [rbx + 0x78], xmm0
movdqa xmm0, xmm2
movups xmmword [rbx + 0x58], xmm5
shufpd xmm0, xmm3, 1
movups xmmword [rbx + 0x88], xmm0
movdqa xmm0, xmm3
shufpd xmm0, xmm4, 1
mov qword [rbx + 0x40], rax
movups xmmword [rbx + 0x98], xmm0
movups xmmword [rbx + 0xa8], xmm1
jmp 0x1400080df
shr rcx, 0xc
mov edx, 1
lea r8, [0x140031ec0]
and ecx, 0x3ffff
mov rax, rcx
shl rdx, cl
shr rax, 6
add rax, 0x1c79
lock or qword [r8 + rax*8], rdx
jmp 0x1400080df
cmp qword [0x140031e88], 0
jne 0x140007fc0
mov rcx, rbx
xor r8d, r8d
mov edx, 1
and rcx, 0xfffffffffffff000
call sym.GC_remove_protection.part.0.lto_priv.0
jmp 0x140007fc0
mov rax, qword [rbx]
mov qword [rcx + rdx*8], rax
jmp 0x1400080df