Function at 0x1800410b0
Capabilities:
Resume thread
Suspend thread

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rdi
push r12
push r14
sub rsp, 0x38
xor r14d, r14d
mov edi, 1
mov r12d, r14d
mov ebx, r14d
xor eax, eax
lock cmpxchg dword [0x18005af58], edi
je 0x180041101
nop dword [rax]
cmp rbx, 0x20
jae 0x1800410ea
xor ecx, ecx
jmp 0x1800410ec
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x18005af58], edi
jne 0x1800410e0
cmp qword [0x18005af60], r12
je 0x18004137f
mov edx, dword [0x18005b22c]
mov ebx, r14d
test edx, edx
je 0x180041134
mov r8, qword [0x18005b220]
mov rax, r8
cmp qword [rax], r12
je 0x18004113f
inc ebx
add rax, 0x38
cmp ebx, edx
jb 0x180041125
mov r12d, 4
jmp 0x180041385
cmp ebx, 0xffffffff
je 0x180041134
mov eax, ebx
imul r11, rax, 0x38
mov qword [rsp + 0x60], r11
test byte [r11 + r8 + 0x20], 2
je 0x180041283
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], r14
mov qword [rsp + 0x28], r14
call fcn.180040880
test eax, eax
jne 0x18004117c
lea r12d, [rax + 9]
jmp 0x180041385
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], r13
mov r13, qword [rsp + 0x20]
mov qword [rsp + 0x30], r15
mov r15d, dword [rsp + 0x2c]
test r13, r13
je 0x1800411ef
test r15d, r15d
je 0x1800411ef
mov rdi, r13
mov ebp, r15d
nop word [rax + rax]
mov r8d, dword [rdi]
xor edx, edx
lea ecx, [rdx + 0x5a]
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rsi, rax
test rax, rax
je 0x1800411e5
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SuspendThread]
xor r8d, r8d
mov edx, ebx
mov rcx, rsi
call fcn.1800406d0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add rdi, 4
sub rbp, 1
jne 0x1800411b0
xor edx, edx
mov ecx, ebx
call fcn.1800409f0
mov r12d, eax
test r13, r13
je 0x180041254
test r15d, r15d
je 0x180041242
mov rdi, r13
mov rbp, r15
nop dword [rax + rax]
mov r8d, dword [rdi]
xor edx, edx
lea ecx, [rdx + 0x5a]
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rsi, rax
test rax, rax
je 0x180041238
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add rdi, 4
sub rbp, 1
jne 0x180041210
mov rcx, qword [0x18005af60]
mov r8, r13
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r15, qword [rsp + 0x30]
mov r13, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x68]
test r12d, r12d
jne 0x180041385
mov edx, dword [0x18005b22c]
mov r8, qword [0x18005b220]
mov r11, qword [rsp + 0x60]
mov r10, qword [r11 + r8 + 0x10]
mov r9, r14
mov rcx, qword [0x18005b230]
mov rax, r10
and rax, 0xfffffffffffff000
test rcx, rcx
je 0x1800412f7
cmp rcx, rax
je 0x1800412b2
mov r9, rcx
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1800412a0
jmp 0x1800412f7
mov rax, qword [rcx + 8]
mov qword [r10], rax
add dword [rcx + 0x10], 0xffffffff
mov qword [rcx + 8], r10
jne 0x1800412f7
mov rax, qword [rcx]
test r9, r9
je 0x1800412d0
mov qword [r9], rax
jmp 0x1800412d7
mov qword [0x18005b230], rax
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov edx, dword [0x18005b22c]
mov r8, qword [0x18005b220]
mov r11, qword [rsp + 0x60]
dec edx
cmp ebx, edx
jae 0x18004133a
mov eax, edx
imul rcx, rax, 0x38
movups xmm0, xmmword [rcx + r8]
movups xmmword [r11 + r8], xmm0
movups xmm1, xmmword [rcx + r8 + 0x10]
movups xmmword [r11 + r8 + 0x10], xmm1
movups xmm0, xmmword [rcx + r8 + 0x20]
movups xmmword [r11 + r8 + 0x20], xmm0
movsd xmm1, qword [rcx + r8 + 0x30]
movsd qword [r11 + r8 + 0x30], xmm1
mov r8, qword [0x18005b220]
mov ecx, dword [0x18005b228]
mov eax, ecx
mov dword [0x18005b22c], edx
shr eax, 1
cmp eax, 0x20
jb 0x180041385
cmp eax, edx
jb 0x180041385
mov eax, ecx
xor edx, edx
mov rcx, qword [0x18005af60]
shr rax, 1
imul r9, rax, 0x38
call qword [sym.imp.KERNEL32.dll_HeapReAlloc]
test rax, rax
je 0x180041385
shr dword [0x18005b228], 1
mov qword [0x18005b220], rax
jmp 0x180041385
mov r12d, 2
xchg dword [0x18005af58], r14d
mov eax, r12d
add rsp, 0x38
pop r14
pop r12
pop rdi
pop rbx
ret