Function at 0x180019180
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbp
push rdi
push r13
push r14
sub rsp, 0x58
xor ebp, ebp
mov r13, r9
mov qword [rsp + 0x38], rbp
mov rax, r8
mov dword [rsp + 0x30], ebp
mov rdi, rdx
mov byte [rsp + 0x34], bpl
mov r14, rcx
test rcx, rcx
je 0x180019468
test rdx, rdx
je 0x180019468
test rax, rax
je 0x180019468
test r9, r9
je 0x180019468
cmp byte [0x180083adf], bpl
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r15
jne 0x180019200
lea rcx, [0x180083ce8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov byte [0x180083adf], 1
lea rcx, [0x180083ce8]
mov qword [rsp + 0x88], rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r9, qword [0x1800909e0]
lea rsi, [rdi + r13]
mov r15, qword [0x1800909d8]
mov rax, r9
sub rax, r15
movabs rcx, 0x82fa0be82fa0be83
imul rax, rcx
movsxd r12, eax
test eax, eax
jle 0x1800192d7
mov rbx, rbp
mov r14, rbp
nop dword [rax]
mov rax, r9
sub rax, r15
imul rax, rcx
cmp rax, rbx
jbe 0x180019475
cmp byte [r14 + r15], 1
jne 0x1800192c3
cmp dword [r14 + r15 + 0x13], 1
ja 0x1800192c3
mov r8, qword [r14 + r15 + 9]
mov rdx, qword [r14 + r15 + 1]
test r8, r8
je 0x1800192c3
mov rcx, rdx
cmp rcx, rdi
jb 0x18001928e
cmp rcx, rsi
jb 0x18001929e
inc rcx
mov rax, rcx
sub rax, rdx
cmp rax, r8
jb 0x180019284
jmp 0x1800192b9
mov rcx, rdx
call sym.TitanEngine.dll_DisableBPX
mov byte [r14 + r15], 1
mov r9, qword [0x1800909e0]
mov r15, qword [0x1800909d8]
movabs rcx, 0x82fa0be82fa0be83
inc rbx
add r14, 0x2b
cmp rbx, r12
jl 0x180019250
mov r14, qword [rsp + 0x80]
mov rax, qword [rsp + 0xa0]
lea rbx, [rsp + 0x38]
mov r15, qword [rsp + 0x90]
test rax, rax
mov r9, r13
mov r8, r15
cmovne rbx, rax
mov rdx, rdi
mov rcx, r14
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x18001937c
lea rax, [rsp + 0x30]
mov r9d, 0x40
mov r8, r13
mov qword [rsp + 0x20], rax
mov rdx, rdi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
test eax, eax
je 0x180019381
mov r9, r13
mov qword [rsp + 0x20], rbx
mov r8, r15
mov rdx, rdi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov r15d, dword [rsp + 0x34]
mov ecx, 1
mov r9d, dword [rsp + 0x30]
test eax, eax
lea rax, [rsp + 0x30]
movzx r15d, r15b
cmovne r15d, ecx
mov qword [rsp + 0x20], rax
mov rcx, r14
mov r8, r13
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
jmp 0x180019386
mov r15b, 1
jmp 0x180019386
mov r15d, dword [rsp + 0x34]
mov r10, qword [0x1800909e0]
movabs r12, 0x82fa0be82fa0be83
mov r9, qword [0x1800909d8]
mov rax, r10
sub rax, r9
imul rax, r12
movsxd r14, eax
test eax, eax
jle 0x180019435
mov rbx, rbp
nop word [rax + rax]
mov rax, r10
sub rax, r9
imul rax, r12
cmp rax, rbp
jbe 0x180019475
cmp byte [rbx + r9], 1
jne 0x180019429
cmp dword [rbx + r9 + 0x13], 1
ja 0x180019429
mov r8, qword [rbx + r9 + 9]
mov rdx, qword [rbx + r9 + 1]
test r8, r8
je 0x180019429
mov rax, rdx
cmp rax, rdi
jb 0x1800193fe
cmp rax, rsi
jb 0x18001940e
inc rax
mov rcx, rax
sub rcx, rdx
cmp rcx, r8
jb 0x1800193f4
jmp 0x180019429
mov rcx, rdx
mov byte [rbx + r9], 2
call sym.TitanEngine.dll_EnableBPX
mov r10, qword [0x1800909e0]
mov r9, qword [0x1800909d8]
inc rbp
add rbx, 0x2b
cmp rbp, r14
jl 0x1800193c0
lea rcx, [0x180083ce8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [rsp + 0x88]
movzx eax, r15b
mov r15, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
mov r12, qword [rsp + 0x48]
add rsp, 0x58
pop r14
pop r13
pop rdi
pop rbp
ret
xor al, al
add rsp, 0x58
pop r14
pop r13
pop rdi
pop rbp
ret
call fcn.180005850
int3