Function at 0x1800415f0
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
sub rsp, 0x30
mov rax, qword [0x1800a3280]
xor rax, rsp
mov qword [rsp + 0x28], rax
cmp byte [0x1800a3fe9], 0
mov rsi, rdx
je 0x180041659
mov rcx, qword [rdx]
test rcx, rcx
je 0x1800418ca
mov rdx, qword [rdx + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18004164d
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800418e2
mov rcx, r8
call fcn.18005ba2c
xor ebx, ebx
jmp 0x1800418bf
mov edx, 0x1000
xor ecx, ecx
mov r9d, 0x40
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
movsxd r8, dword [0x1800a3fe0]
lea rcx, [0x1800a3fa0]
mov rdx, qword [0x1800a3f90]
mov qword [0x1800a3f98], rax
call fcn.18007f390
movsxd rdx, dword [0x1800a3fe0]
lea r9, [rsp + 0x20]
mov rcx, qword [0x1800a3f90]
mov r8d, 0x40
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1800416f4
mov rcx, qword [rsi]
test rcx, rcx
je 0x1800418ca
mov rdx, qword [rsi + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18004164d
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800418e8
jmp 0x18004164a
movsxd r8, dword [0x1800a3fe0]
mov edx, 0x90
mov rcx, qword [0x1800a3f90]
mov qword [rsp + 0x40], rdi
call fcn.18007fa30
mov rdi, qword [0x1800a3f98]
movzx ecx, word [0x1800a3f9e]
mov r11, rdi
movzx edx, byte [0x1800a3f9f]
mov r10, rdi
mov rax, qword [0x1800a3f90]
mov r9, rdi
movzx ebx, byte [0x1800a3f98]
mov r8, rdi
shr r9, 0x18
shr r8, 0x20
mov dword [rax], 0x25ff
mov word [rax + 4], 0
mov byte [rax + 6], bl
shr r11, 8
mov byte [rax + 7], r11b
shr r10, 0x10
mov byte [rax + 8], r10b
mov byte [rax + 9], r9b
lea r9, [rsp + 0x20]
mov byte [rax + 0xa], r8b
shr rdi, 0x28
mov byte [rax + 0xb], dil
mov byte [rax + 0xc], cl
mov byte [rax + 0xd], dl
movsxd rdx, dword [0x1800a3fe0]
mov r8d, dword [rsp + 0x20]
mov rcx, qword [0x1800a3f90]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rdx, qword [rsi]
mov r8, qword [rsi + 8]
mov rcx, qword [0x1800a3f98]
sub r8, rdx
call fcn.18007f390
movzx ecx, byte [0x1800a3fe8]
mov rdi, qword [rsp + 0x40]
test cl, cl
je 0x1800417e9
mov rcx, qword [0x1800a3f98]
lea rdx, [0x1800a3fa0]
sub rcx, qword [rsi]
add rcx, qword [rsi + 8]
movsxd r8, dword [0x1800a3fe0]
call fcn.18007f390
movzx ecx, byte [0x1800a3fe8]
movsxd rax, dword [0x1800a3fe0]
xor ebx, ebx
mov r8, rax
add r8, qword [0x1800a3f90]
test cl, cl
mov ecx, ebx
cmove eax, ebx
movsxd rdx, eax
mov rax, r8
sub rdx, qword [rsi]
add rdx, qword [0x1800a3f98]
add rdx, qword [rsi + 8]
shr rax, 8
mov dword [rdx], 0x25ff
mov word [rdx + 4], bx
mov byte [rdx + 6], r8b
mov byte [rdx + 7], al
mov rax, r8
shr rax, 0x10
mov byte [rdx + 8], al
mov rax, r8
shr rax, 0x18
mov byte [rdx + 9], al
mov rax, r8
shr rax, 0x20
mov byte [rdx + 0xa], al
mov rax, r8
shr rax, 0x28
mov byte [rdx + 0xb], al
mov rax, r8
shr rax, 0x30
mov byte [rdx + 0xc], al
shr r8, 0x38
mov byte [rdx + 0xd], r8b
mov eax, dword [rsi + 8]
cmp byte [0x1800a3fe8], bl
cmovne ecx, dword [0x1800a3fe0]
add eax, 0xe
sub ecx, dword [rsi]
add ecx, eax
mov byte [0x1800a3fe9], 1
mov dword [0x1800a3fe4], ecx
mov rcx, qword [rsi]
test rcx, rcx
je 0x1800418ca
mov rdx, qword [rsi + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1800418ba
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800418e2
mov rcx, r8
call fcn.18005ba2c
mov qword [rsi], rbx
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], rbx
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.18005b660
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rsi
ret
call fcn.180063ab8
int3
call fcn.180063ab8
int3