Function at 0x140007da0
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 [0x140043978]
test ecx, ecx
je 0x140007de0
mov edx, dword [0x140043960]
test edx, edx
jne 0x140007de0
lea rax, [0x14006e200]
cmp rbx, rax
jne 0x140007fd7
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 0x140007e23
cmp dword [rsp + 0x2c], 0x103
jne 0x140007eb0
mov rcx, qword [rbx + 0x10]
call r13
cmp eax, 0xffffffff
je 0x140007e70
mov dword [rsp + 0x60], 0x100003
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x30]
call r14
test eax, eax
jne 0x140007f18
mov rcx, qword [rbx + 0x10]
call r15
cmp eax, 0xffffffff
jne 0x140007e70
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
jg 0x140007e80
mov esi, edi
jmp 0x140007e08
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp edi, 0xf423f
jle 0x140007e78
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 0x140007e08
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rbx + 8]
lea rcx, [0x140043160]
mov edx, eax
shr edx, 8
xor edx, eax
movzx edx, dl
mov rax, qword [rcx + rdx*8]
cmp rbx, rax
je 0x140008001
nop dword [rax + rax]
mov rdx, rax
mov rax, qword [rax]
cmp rbx, rax
jne 0x140007ee0
mov rax, qword [rbx]
mov qword [rdx], rax
mov eax, dword [0x140043960]
test eax, eax
jne 0x14000800d
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 0x140007eff
cmp qword [0x140043d88], 0
jne 0x140007de0
mov rcx, rbx
xor r8d, r8d
mov edx, 1
and rcx, 0xfffffffffffff000
call sym.GC_remove_protection.part.0.lto_priv.0
jmp 0x140007de0
mov rax, qword [rbx]
mov qword [rcx + rdx*8], rax
jmp 0x140007eff
shr rdx, 0xc
lea r8, [0x140043dc0]
mov rcx, rdx
mov edx, 1
and ecx, 0x3ffff
mov rax, rcx
shl rdx, cl
shr rax, 6
add rax, 0x1c79
lock or qword [r8 + rax*8], rdx
jmp 0x140007eff