Function at 0x140001d00
Capabilities:
Resume thread
Suspend thread

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x598
movaps xmmword [rsp + 0x500], xmm6
movaps xmmword [rsp + 0x510], xmm7
movaps xmmword [rsp + 0x520], xmm8
movaps xmmword [rsp + 0x530], xmm9
movaps xmmword [rsp + 0x540], xmm10
movaps xmmword [rsp + 0x550], xmm11
movaps xmmword [rsp + 0x560], xmm12
movaps xmmword [rsp + 0x570], xmm13
movaps xmmword [rsp + 0x580], xmm14
mov rbp, qword [sym.imp.KERNEL32.dll_GetExitCodeThread]
mov r13, qword [sym.imp.KERNEL32.dll_SuspendThread]
xor esi, esi
mov r14, qword [sym.imp.KERNEL32.dll_GetThreadContext]
mov r15, qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rbx, rcx
lea r12, [rsp + 0x2c]
nop dword [rax + rax]
mov rcx, qword [rbx + 0x18]
mov rdx, r12
call rbp
mov rcx, qword [rbx + 0x18]
test eax, eax
je 0x140001daf
cmp dword [rsp + 0x2c], 0x103
jne 0x140001e38
call r13
cmp eax, 0xffffffff
je 0x140001df8
mov dword [rsp + 0x60], 0x10000b
mov rcx, qword [rbx + 0x18]
lea rdx, [rsp + 0x30]
call r14
test eax, eax
jne 0x140001ff0
mov rcx, qword [rbx + 0x18]
call r15
cmp eax, 0xffffffff
jne 0x140001df8
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 0x140001e08
mov esi, edi
jmp 0x140001d90
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp edi, 0xf423f
jle 0x140001e00
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 0x140001d90
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [rbx + 0x10]
mov eax, edx
shr eax, 8
xor eax, edx
lea rdx, [0x14002a2e0]
movzx eax, al
mov rsi, qword [rdx + rax*8]
cmp rbx, rsi
je 0x140002280
nop
mov rcx, rsi
mov rsi, qword [rsi]
cmp rbx, rsi
jne 0x140001e60
mov rax, qword [rsi]
mov qword [rcx], rax
mov eax, dword [0x140059688]
test eax, eax
jne 0x140002250
lea rax, [0x14002a0c0]
cmp rsi, rax
je 0x140001f7a
mov r9, qword [rsi + 8]
lea rbx, [0x14002af40]
mov rdx, r9
shr rdx, 0x16
mov rax, rdx
and eax, 0x7ff
mov rax, qword [rbx + rax*8 + 0x263e0]
cmp rdx, qword [rax + 0x2010]
je 0x140001fe0
mov rcx, qword [0x14002b020]
jmp 0x140001ee4
mov rax, qword [rax + 0x2018]
cmp rdx, qword [rax + 0x2010]
je 0x140001fe0
cmp rax, rcx
jne 0x140001ed0
mov rax, r9
shr rax, 0xc
and eax, 0x3ff
mov rax, qword [rcx + rax*8]
mov rcx, r9
movzx edx, byte [rax + 0x18]
mov r8, qword [rax + 0x20]
call sym.free_internal.isra.0
mov rdx, rsi
shr rdx, 0x16
mov rax, rdx
and eax, 0x7ff
mov rax, qword [rbx + rax*8 + 0x263e0]
cmp qword [rax + 0x2010], rdx
je 0x140002248
mov rcx, qword [0x14002b020]
jmp 0x140001f54
mov rax, qword [rax + 0x2018]
cmp rdx, qword [rax + 0x2010]
je 0x140002248
cmp rax, rcx
jne 0x140001f40
mov rax, rsi
shr rax, 0xc
and eax, 0x3ff
mov rax, qword [rcx + rax*8]
mov rcx, rsi
movzx edx, byte [rax + 0x18]
mov r8, qword [rax + 0x20]
call sym.free_internal.isra.0
nop
movaps xmm6, xmmword [rsp + 0x500]
movaps xmm7, xmmword [rsp + 0x510]
movaps xmm8, xmmword [rsp + 0x520]
movaps xmm9, xmmword [rsp + 0x530]
movaps xmm10, xmmword [rsp + 0x540]
movaps xmm11, xmmword [rsp + 0x550]
movaps xmm12, xmmword [rsp + 0x560]
movaps xmm13, xmmword [rsp + 0x570]
movaps xmm14, xmmword [rsp + 0x580]
add rsp, 0x598
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rax
jmp 0x140001ee9
movdqu xmm2, xmmword [rsp + 0xd8]
movdqu xmm0, xmmword [rsp + 0xc8]
movdqu xmm6, xmmword [rsp + 0xe8]
movdqu xmm7, xmmword [rsp + 0xf8]
movdqu xmm3, xmmword [rsp + 0x1c8]
shufpd xmm0, xmm2, 1
movdqu xmm1, xmmword [rsp + 0x118]
movups xmmword [rbx + 0x50], xmm0
movdqu xmm4, xmmword [rsp + 0xa8]
movdqa xmm0, xmm2
movdqu xmm2, xmmword [rsp + 0x108]
shufpd xmm0, xmm6, 1
movups xmmword [rbx + 0x60], xmm0
movdqa xmm0, xmm6
movdqu xmm5, xmmword [rsp + 0xb8]
punpckhqdq xmm1, xmm3
shufpd xmm0, xmm7, 1
movdqu xmm3, xmmword [rsp + 0x118]
movq xmm13, qword [rsp + 0x1e8]
movq xmm12, qword [rsp + 0x1f8]
movups xmmword [rbx + 0x70], xmm0
movq xmm11, qword [rsp + 0x208]
movdqa xmm0, xmm7
movq xmm10, qword [rsp + 0x218]
shufpd xmm0, xmm2, 1
movq xmm9, qword [rsp + 0x228]
movups xmmword [rbx + 0x80], xmm0
movq xmm8, qword [rsp + 0x238]
movdqa xmm0, xmm2
movups xmmword [rbx + 0x30], xmm4
movq xmm7, qword [rsp + 0x248]
shufpd xmm0, xmm3, 1
movups xmmword [rbx + 0x40], xmm5
movhps xmm13, qword [rsp + 0x1f0]
movhps xmm12, qword [rsp + 0x200]
movups xmmword [rbx + 0x90], xmm0
movhps xmm11, qword [rsp + 0x210]
movhps xmm10, qword [rsp + 0x220]
movhps xmm9, qword [rsp + 0x230]
movups xmmword [rbx + 0xa0], xmm1
movhps xmm7, qword [rsp + 0x250]
movhps xmm8, qword [rsp + 0x240]
movq xmm6, qword [rsp + 0x258]
movq xmm5, qword [rsp + 0x268]
movq xmm4, qword [rsp + 0x278]
movups xmmword [rbx + 0xc0], xmm13
movq xmm3, qword [rsp + 0x288]
movq xmm2, qword [rsp + 0x298]
movhps xmm6, qword [rsp + 0x260]
movups xmmword [rbx + 0xd0], xmm12
mov rax, qword [rsp + 0x2c8]
movhps xmm5, qword [rsp + 0x270]
movq xmm1, qword [rsp + 0x2a8]
movhps xmm4, qword [rsp + 0x280]
movhps xmm3, qword [rsp + 0x290]
movhps xmm2, qword [rsp + 0x2a0]
movq xmm0, qword [rsp + 0x2b8]
movq xmm14, qword [rsp + 0x1d8]
movhps xmm1, qword [rsp + 0x2b0]
movups xmmword [rbx + 0xe0], xmm11
movhps xmm0, qword [rsp + 0x2c0]
movups xmmword [rbx + 0xf0], xmm10
movhps xmm14, qword [rsp + 0x1e0]
movups xmmword [rbx + 0xb0], xmm14
movups xmmword [rbx + 0x100], xmm9
movups xmmword [rbx + 0x110], xmm8
movups xmmword [rbx + 0x120], xmm7
movups xmmword [rbx + 0x130], xmm6
movups xmmword [rbx + 0x140], xmm5
movups xmmword [rbx + 0x150], xmm4
movups xmmword [rbx + 0x160], xmm3
movups xmmword [rbx + 0x170], xmm2
movups xmmword [rbx + 0x180], xmm1
movups xmmword [rbx + 0x190], xmm0
mov qword [rbx + 0x1a0], rax
mov rax, qword [rsp + 0xc8]
or byte [rbx + 0x20], 0x40
mov qword [rbx + 0x28], rax
jmp 0x140001f7a
mov rcx, rax
jmp 0x140001f59
shr rcx, 0xc
mov edx, 1
lea r8, [0x14002af40]
and ecx, 0x3ffff
mov rax, rcx
shl rdx, cl
shr rax, 6
add rax, 0x1c7b
lock or qword [r8 + rax*8], rdx
jmp 0x140001e7f
mov rcx, qword [rsi]
mov qword [rdx + rax*8], rcx
jmp 0x140001e7f