Function at 0x18001f530
Capabilities:
Resume thread
Suspend thread

Disassembly:
push rdi
push r15
sub rsp, 0x8e8
mov rax, qword [0x180080920]
xor rax, rsp
mov qword [rsp + 0x8c0], rax
cmp qword [0x180082d08], 0
mov r15d, edx
mov byte [rsp + 0x20], r8b
mov rdi, rcx
mov qword [rsp + 0x28], rcx
jne 0x18001f801
test r8b, r8b
je 0x18001f58b
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, eax
call sym.TitanEngine.dll_ThreaderImportRunningThreadData
test al, al
je 0x18001f801
movzx r8d, byte [rsp + 0x20]
mov rax, qword [0x180090a90]
movabs rcx, 0xeeeeeeeeeeeeeeef
sub rax, qword [0x180090a88]
mov qword [rsp + 0x900], rbx
mov qword [rsp + 0x908], rbp
sar rax, 2
mov qword [rsp + 0x910], rsi
imul rax, rcx
mov qword [rsp + 0x8e0], r12
cdqe
mov qword [rsp + 0x8d8], r13
mov qword [rsp + 0x8d0], r14
mov qword [rsp + 0x30], rax
test rax, rax
jle 0x18001f7b4
xor r12d, r12d
xor r13d, r13d
mov rax, qword [0x180090a90]
mov rsi, qword [0x180090a88]
sub rax, rsi
sar rax, 2
imul rax, rcx
cmp rax, r12
jbe 0x18001f805
mov rcx, qword [rsi + r13]
cmp rcx, 0xffffffffffffffff
je 0x18001f792
test r8b, r8b
je 0x18001f766
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [rsi + r13 + 8], eax
je 0x18001f792
mov rcx, qword [rsi + r13]
call qword [sym.imp.KERNEL32.dll_SuspendThread]
mov rbx, qword [rsi + r13]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
jne 0x18001f65b
xor eax, eax
jmp 0x18001f69c
xor edx, edx
lea rcx, [rsp + 0x40]
mov r8d, 0x440
call fcn.18004c900
xor r8d, r8d
lea rdx, [rsp + 0x40]
mov rcx, rbx
call fcn.1800064e0
mov rcx, rbx
test al, al
jne 0x18001f68e
call qword [sym.imp.KERNEL32.dll_ResumeThread]
xor eax, eax
jmp 0x18001f69c
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rax, qword [rsp + 0xc0]
xor ecx, ecx
mov r14, rdi
test r15d, r15d
jle 0x18001f792
nop word [rax + rax]
mov rdi, qword [r14]
lea r14, [r14 + 8]
cmp rax, rdi
jb 0x18001f754
lea rbp, [rdi + 5]
cmp rax, rbp
ja 0x18001f754
mov rcx, qword [rsi + r13]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov ecx, 5
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rsi + r13]
call qword [sym.imp.KERNEL32.dll_SuspendThread]
mov rbx, qword [rsi + r13]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
jne 0x18001f702
xor eax, eax
jmp 0x18001f749
xor edx, edx
lea rcx, [rsp + 0x480]
mov r8d, 0x440
call fcn.18004c900
xor r8d, r8d
lea rdx, [rsp + 0x480]
mov rcx, rbx
call fcn.1800064e0
mov rcx, rbx
test al, al
jne 0x18001f73b
call qword [sym.imp.KERNEL32.dll_ResumeThread]
xor eax, eax
jmp 0x18001f749
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rax, qword [rsp + 0x500]
xor ecx, ecx
cmp rax, rdi
jae 0x18001f6c4
inc ecx
cmp ecx, r15d
jl 0x18001f6b0
mov rdi, qword [rsp + 0x28]
jmp 0x18001f792
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rbx, qword [rsi + r13]
lea rdx, [rsp + 0x24]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetHandleInformation]
test eax, eax
je 0x18001f792
test byte [rsp + 0x24], 2
jne 0x18001f792
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
movzx r8d, byte [rsp + 0x20]
inc r12
add r13, 0x3c
movabs rcx, 0xeeeeeeeeeeeeeeef
cmp r12, qword [rsp + 0x30]
jl 0x18001f5f1
mov r13, qword [rsp + 0x8d8]
mov al, 1
mov r12, qword [rsp + 0x8e0]
mov rsi, qword [rsp + 0x910]
mov rbp, qword [rsp + 0x908]
mov rbx, qword [rsp + 0x900]
mov r14, qword [rsp + 0x8d0]
mov rcx, qword [rsp + 0x8c0]
xor rcx, rsp
call fcn.180049ad0
add rsp, 0x8e8
pop r15
pop rdi
ret
xor al, al
jmp 0x18001f7e6
call fcn.180005850
int3