Function at 0x18001d470
Capabilities:
Resume thread

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rcx, qword [0x18016dd48]
lea r8, [0x18016dd00]
lea rdx, [0x18001c6e0]
call fcn.1800957c8
test eax, eax
je 0x18001d4ab
cmp eax, 3
jne 0x18001d9a9
mov rdi, qword [0x18016dd48]
xor r14d, r14d
mov ebx, r14d
xor eax, eax
mov r13d, 1
lock cmpxchg dword [0x18016f27c], r13d
je 0x18001d4f3
nop dword [rax + rax]
cmp rbx, 0x20
jae 0x18001d4da
xor ecx, ecx
jmp 0x18001d4dd
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x18016f27c], r13d
jne 0x18001d4d0
cmp qword [0x18016f280], r14
je 0x18001d9a2
mov r12d, 5
test rdi, rdi
jne 0x18001d517
mov ecx, r13d
call fcn.1800956c4
mov ebp, eax
jmp 0x18001d544
mov ecx, dword [0x1801707cc]
mov ebx, r14d
test ecx, ecx
je 0x18001d53f
mov r8, qword [0x1801707c0]
mov rax, r8
nop
cmp rdi, qword [rax]
je 0x18001d588
inc ebx
add rax, 0x38
cmp ebx, ecx
jb 0x18001d530
mov ebp, 4
mov eax, r14d
xchg dword [0x18016f27c], eax
test ebp, ebp
jne 0x18001d9a9
mov rdx, qword [0x18016f2c0]
cmp rdx, qword [0x18016f2c8]
mov rax, qword [0x18016dd48]
mov qword [rsp + 0x90], rax
je 0x18001d630
mov qword [rdx], rax
add qword [0x18016f2c0], 8
jmp 0x18001d644
cmp ebx, 0xffffffff
je 0x18001d53f
mov eax, ebx
imul rdx, rax, 0x38
test byte [rdx + r8 + 0x20], 2
jne 0x18001d628
mov r8d, r13d
lea rcx, [rsp + 0x20]
mov edx, ebx
call fcn.18009520c
mov ebp, eax
test eax, eax
jne 0x18001d544
mov edx, r13d
mov ecx, ebx
call fcn.1800955b8
mov r15, qword [rsp + 0x20]
mov ebp, eax
test r15, r15
je 0x18001d544
mov eax, dword [rsp + 0x2c]
test eax, eax
je 0x18001d611
mov rbx, r15
mov esi, eax
nop dword [rax + rax]
mov r8d, dword [rbx]
xor edx, edx
lea ecx, [rdx + 0x5a]
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rdi, rax
test rax, rax
je 0x18001d608
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add rbx, 4
sub rsi, r13
jne 0x18001d5e0
mov rcx, qword [0x18016f280]
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x18001d544
mov ebp, r12d
jmp 0x18001d544
lea r8, [rsp + 0x90]
lea rcx, [0x18016f2b8]
call fcn.180020100
mov rcx, qword [0x18016dd40]
lea r8, [0x18016dcf8]
lea rdx, [0x18001c780]
call fcn.1800957c8
test eax, eax
jne 0x18001d9a9
mov rdi, qword [0x18016dd40]
mov rbx, r14
lock cmpxchg dword [0x18016f27c], r13d
je 0x18001d6a3
nop dword [rax + rax]
cmp rbx, 0x20
jae 0x18001d68a
xor ecx, ecx
jmp 0x18001d68d
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x18016f27c], r13d
jne 0x18001d680
cmp qword [0x18016f280], r14
je 0x18001d9a2
test rdi, rdi
jne 0x18001d6c1
mov ecx, r13d
call fcn.1800956c4
mov ebp, eax
jmp 0x18001d6ec
mov ecx, dword [0x1801707cc]
mov ebx, r14d
test ecx, ecx
je 0x18001d6e7
mov r8, qword [0x1801707c0]
mov rax, r8
cmp rdi, qword [rax]
je 0x18001d730
inc ebx
add rax, 0x38
cmp ebx, ecx
jb 0x18001d6d8
mov ebp, 4
mov eax, r14d
xchg dword [0x18016f27c], eax
test ebp, ebp
jne 0x18001d9a9
mov rdx, qword [0x18016f2c0]
cmp rdx, qword [0x18016f2c8]
mov rax, qword [0x18016dd40]
mov qword [rsp + 0x98], rax
je 0x18001d7e0
mov qword [rdx], rax
add qword [0x18016f2c0], 8
jmp 0x18001d7f4
cmp ebx, 0xffffffff
je 0x18001d6e7
mov eax, ebx
imul rdx, rax, 0x38
test byte [rdx + r8 + 0x20], 2
jne 0x18001d7d8
mov r8d, r13d
lea rcx, [rsp + 0x30]
mov edx, ebx
call fcn.18009520c
mov ebp, eax
test eax, eax
jne 0x18001d6ec
mov edx, r13d
mov ecx, ebx
call fcn.1800955b8
mov r15, qword [rsp + 0x30]
mov ebp, eax
test r15, r15
je 0x18001d6ec
mov eax, dword [rsp + 0x3c]
test eax, eax
je 0x18001d7c1
mov rbx, r15
mov esi, eax
nop dword [rax]
nop word [rax + rax]
mov r8d, dword [rbx]
xor edx, edx
lea ecx, [rdx + 0x5a]
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rdi, rax
test rax, rax
je 0x18001d7b8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add rbx, 4
sub rsi, r13
jne 0x18001d790
mov rcx, qword [0x18016f280]
mov r8, r15
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x18001d6ec
mov ebp, r12d
jmp 0x18001d6ec
lea r8, [rsp + 0x98]
lea rcx, [0x18016f2b8]
call fcn.180020100
mov rcx, qword [0x18016dd38]
lea r8, [0x18016dcf0]
lea rdx, [0x18001c870]
call fcn.1800957c8
test eax, eax
jne 0x18001d9a9
mov rdi, qword [0x18016dd38]
mov rbx, r14
lock cmpxchg dword [0x18016f27c], r13d
je 0x18001d853
nop dword [rax + rax]
cmp rbx, 0x20
jae 0x18001d83a
xor ecx, ecx
jmp 0x18001d83d
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_Sleep]
inc rbx
xor eax, eax
lock cmpxchg dword [0x18016f27c], r13d
jne 0x18001d830
cmp qword [0x18016f280], r14
je 0x18001d9a2
test rdi, rdi
jne 0x18001d872
mov ecx, r13d
call fcn.1800956c4
mov r12d, eax
jmp 0x18001d8a5
mov ecx, dword [0x1801707cc]
mov ebx, r14d
test ecx, ecx
je 0x18001d89f
mov r8, qword [0x1801707c0]
mov rax, r8
nop dword [rax]
cmp rdi, qword [rax]
je 0x18001d8ec
inc ebx
add rax, 0x38
cmp ebx, ecx
jb 0x18001d890
mov r12d, 4
xchg dword [0x18016f27c], r14d
test r12d, r12d
jne 0x18001d9a9
mov rdx, qword [0x18016f2c0]
cmp rdx, qword [0x18016f2c8]
mov rax, qword [0x18016dd38]
mov qword [rsp + 0xa0], rax
je 0x18001d988
mov qword [rdx], rax
movzx eax, r13b
add qword [0x18016f2c0], 8
jmp 0x18001d9ab
cmp ebx, 0xffffffff
je 0x18001d89f
mov eax, ebx
imul rdx, rax, 0x38
test byte [rdx + r8 + 0x20], 2
jne 0x18001d8a5
mov r8d, r13d
lea rcx, [rsp + 0x40]
mov edx, ebx
call fcn.18009520c
mov r12d, eax
test eax, eax
jne 0x18001d8a5
mov edx, r13d
mov ecx, ebx
call fcn.1800955b8
mov rbp, qword [rsp + 0x40]
mov r12d, eax
test rbp, rbp
je 0x18001d8a5
mov eax, dword [rsp + 0x4c]
test eax, eax
je 0x18001d971
mov rdi, rbp
mov esi, eax
nop dword [rax]
mov r8d, dword [rdi]
xor edx, edx
lea ecx, [rdx + 0x5a]
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rbx, rax
test rax, rax
je 0x18001d968
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
add rdi, 4
sub rsi, r13
jne 0x18001d940
mov rcx, qword [0x18016f280]
mov r8, rbp
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x18001d8a5
lea r8, [rsp + 0xa0]
lea rcx, [0x18016f2b8]
call fcn.180020100
movzx eax, r13b
jmp 0x18001d9ab
xchg dword [0x18016f27c], r14d
xor al, al
mov rbx, qword [rsp + 0xa8]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret