Function at 0x18008f540
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 8], rcx
push rbp
mov rbp, rsp
sub rsp, 0x20
mov rbx, qword [0x180ae6ba0]
lea r9, [rbp + 0x10]
mov rcx, rbx
mov edx, 7
mov r8d, 0x40
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [rbx]
lea r9, [rbp + 0x10]
mov r8d, dword [rbp + 0x10]
mov edx, 7
mov dword [0x180ae8c80], eax
mov rcx, rbx
movzx eax, word [rbx + 4]
mov word [0x180ae8c84], ax
movzx eax, byte [rbx + 6]
mov byte [0x180ae8c86], al
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rbx, qword [0x180ae6ba0]
test rbx, rbx
je 0x18008f5fd
lea r9, [rbp + 0x10]
mov edx, 7
mov r8d, 0x40
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8d, dword [rbp + 0x10]
lea r9, [rbp + 0x10]
movabs rax, 0x9090909090909090
mov edx, 7
mov dword [rbx], eax
mov rcx, rbx
mov word [rbx + 4], ax
mov byte [rbx + 6], al
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rbx, qword [0x180ae6ba0]
mov rcx, rbx
call fcn.180184a90
mov rcx, rax
test rax, rax
jne 0x18008f611
xor ebx, ebx
jmp 0x18008f61f
mov rbx, qword [rax + 8]
mov rax, qword [rbx]
inc dword [rcx + 0x10]
mov qword [rcx + 8], rax
lea r9, [rbp + 0x10]
mov qword [0x180ae64f0], rbx
mov edx, 0xa
mov r8d, 0x40
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
movsd xmm0, qword [0x180ace690]
lea r9, [rbp + 0x10]
mov r8d, dword [rbp + 0x10]
mov edx, 0xa
movsd qword [rbx], xmm0
mov rcx, rbx
movzx eax, word [0x180ace698]
mov word [rbx + 8], ax
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rbx, qword [0x180ae64f0]
lea r9, [rbp + 0x18]
mov edx, 8
mov r8d, 0x40
lea rcx, [rbx + 2]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8d, dword [rbp + 0x18]
lea rax, [0x180aced08]
lea r9, [rbp + 0x18]
mov qword [rbx + 2], rax
mov edx, 8
lea rcx, [rbx + 2]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rax, qword [0x180ae64f0]
lea r9, [rbp + 0x10]
mov edi, dword [0x180ae6ba0]
mov edx, 1
sub edi, eax
mov r8d, 0x40
sub edi, 8
lea rbx, [rax + 0xa]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8d, dword [rbp + 0x10]
lea r9, [rbp + 0x10]
mov edx, 1
mov byte [rbx], 0xe9
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rbx, qword [0x180ae64f0]
lea r9, [rbp + 0x18]
mov edx, 4
mov r8d, 0x40
lea rcx, [rbx + 0xb]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8d, dword [rbp + 0x18]
lea r9, [rbp + 0x18]
mov edx, 4
mov dword [rbx + 0xb], edi
lea rcx, [rbx + 0xb]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rbx, qword [0x180ae6ba0]
lea r9, [rbp + 0x10]
mov edi, dword [0x180ae64f0]
mov edx, 1
sub edi, ebx
mov r8d, 0x40
mov rcx, rbx
sub edi, 5
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8d, dword [rbp + 0x10]
lea r9, [rbp + 0x10]
mov edx, 1
mov byte [rbx], 0xe9
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rbx, qword [0x180ae6ba0]
lea r9, [rbp + 0x10]
mov edx, 4
mov r8d, 0x40
lea rcx, [rbx + 1]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8d, dword [rbp + 0x10]
lea r9, [rbp + 0x10]
mov edx, 4
mov dword [rbx + 1], edi
lea rcx, [rbx + 1]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop rbp
ret