Function at 0x180001ec0
Capabilities:
Allocate or change rwx memory

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov qword [rbp - 8], 0xfffffffffffffffe
mov edi, r8d
mov r14, rdx
mov rsi, rcx
lea rcx, str.game.dll
call qword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
test rax, rax
je 0x180002044
mov qword [rbp - 0x10], r14
xorps xmm0, xmm0
movaps xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], 0
lea rcx, str.game.dll
call qword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov rbx, rax
call qword [sym.imp.KERNEL32.DLL_GetCurrentProcess]
lea r8, [rbp - 0x30]
mov rcx, rax
mov rdx, rbx
mov r9d, 0x18
call sub.KERNEL32.DLL_K32GetModuleInformation
mov ecx, 0x1000
add rcx, qword [rbp - 0x30]
mov edx, 0xfffff000
add edx, dword [rbp - 0x28]
mov r8, rsi
call fcn.18000ee90
mov rsi, rax
test rax, rax
je 0x180002048
mov r14, qword [rbp - 0x10]
mov rdx, qword [r14 + 8]
sub rdx, qword [r14]
lea r9, [rbp - 0x14]
mov rcx, rsi
mov r8d, 0x40
call qword [sym.imp.KERNEL32.DLL_VirtualProtect]
mov r8, qword [r14]
mov rax, qword [r14 + 8]
cmp r8, rax
je 0x180002050
movsxd rcx, edi
mov r9, rax
sub r9, r8
cmp r9, 8
jb 0x180001faa
lea r10, [rsi + rcx]
mov rdx, r10
sub rdx, r8
cmp rdx, 0x20
jae 0x1800020bc
mov rdx, r8
mov r9d, eax
sub r9d, edx
mov r8, rdx
not r8
add r8, rax
and r9, 3
je 0x180001fe3
nop word cs:[rax + rax]
movzx r10d, byte [rdx]
mov byte [rsi + rcx], r10b
inc rcx
inc rdx
dec r9
jne 0x180001fd0
cmp r8, 3
jb 0x18000203b
add rcx, rsi
add rcx, 3
xor r8d, r8d
nop word cs:[rax + rax]
movzx r9d, byte [rdx + r8]
mov byte [rcx + r8 - 3], r9b
movzx r9d, byte [rdx + r8 + 1]
mov byte [rcx + r8 - 2], r9b
movzx r9d, byte [rdx + r8 + 2]
mov byte [rcx + r8 - 1], r9b
movzx r9d, byte [rdx + r8 + 3]
mov byte [rcx + r8], r9b
lea r9, [rdx + r8]
add r9, 4
add r8, 4
cmp r9, rax
jne 0x180002000
mov r8, qword [r14]
mov rdx, qword [r14 + 8]
jmp 0x180002053
xor esi, esi
jmp 0x180002066
xor esi, esi
mov r14, qword [rbp - 0x10]
jmp 0x180002066
mov rdx, r8
sub rdx, r8
mov r8d, dword [rbp - 0x14]
mov rcx, rsi
xor r9d, r9d
call qword [sym.imp.KERNEL32.DLL_VirtualProtect]
mov rcx, qword [r14]
test rcx, rcx
je 0x1800020ae
mov rdx, qword [r14 + 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18000209a
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x18000214a
add rdx, 0x27
mov rcx, rax
call fcn.180010d6c
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], 0
mov rax, rsi
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
cmp r9, 0x20
jae 0x1800020c7
xor r11d, r11d
jmp 0x18000210c
mov r11, r9
and r11, 0xffffffffffffffe0
lea rdx, [rcx + rsi]
add rdx, 0x10
xor edi, edi
nop dword [rax + rax]
movups xmm0, xmmword [r8 + rdi]
movups xmm1, xmmword [r8 + rdi + 0x10]
movups xmmword [rdx + rdi - 0x10], xmm0
movups xmmword [rdx + rdi], xmm1
add rdi, 0x20
cmp r11, rdi
jne 0x1800020e0
cmp r9, r11
je 0x18000203b
test r9b, 0x18
je 0x18000213f
mov rdi, r9
and rdi, 0xfffffffffffffff8
add rcx, rdi
lea rdx, [r8 + rdi]
nop word [rax + rax]
mov rbx, qword [r8 + r11]
mov qword [r10 + r11], rbx
add r11, 8
cmp rdi, r11
jne 0x180002120
cmp r9, rdi
jne 0x180001fad
jmp 0x18000203b
add r8, r11
add rcx, r11
jmp 0x180001faa
call fcn.18001ac04
int3