Function at 0x180010628
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xc0
mov rax, qword [0x180058460]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rbx, qword [rcx]
xor esi, esi
mov rdi, rdx
mov r14d, esi
mov qword [rbp - 0x51], rcx
call fcn.1800105dc
mov rcx, rbx
call fcn.180010ab0
mov rcx, rdi
mov r15, rax
call fcn.180010ab0
lea r8d, [rsi + 0x50]
lea rcx, [rbp - 0x41]
xor edx, edx
mov qword [rbp - 0x49], rsi
mov rbx, rax
mov qword [rbp - 0x59], rax
call fcn.180011930
lea r8, [rbp - 0x49]
lea edx, [rsi + 5]
mov rcx, r15
call fcn.1800103c0
mov edi, eax
cmp eax, 5
jb reloc.OLEAUT32.dll_VarI1FromDec
mov edx, edi
mov rcx, r15
call fcn.180010be0
mov r8, qword [rbp - 0x41]
mov rdx, qword [rbp - 0x49]
mov rcx, r15
call fcn.180010d94
mov r14, rax
test rax, rax
je reloc.OLEAUT32.dll_VarI1FromDec
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea r9d, [rsi + 0x40]
mov r8d, edi
mov r13, rax
lea rax, [rbp - 0x65]
mov rdx, r15
mov rcx, r13
mov dword [rbp - 0x65], esi
mov dword [rbp - 0x69], esi
mov qword [rsp + 0x20], rax
mov r12d, edi
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
test eax, eax
je reloc.OLEAUT32.dll_VarI1FromDec
lea rax, [rbp - 0x69]
lea r9d, [rsi + 0x40]
lea r8d, [rsi + 0x78]
mov rdx, r14
mov rcx, r13
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
test eax, eax
je reloc.OLEAUT32.dll_VarI1FromDec
lea rdi, [r14 + 0x38]
cmp r12d, esi
jbe reloc.OLEAUT32.dll_VarI1FromDec
mov rdx, r15
mov r8, r14
mov rcx, rdi
sub rdx, rdi
sub r8, rdi
mov r9d, r12d
mov al, byte [rdx + rcx]
mov byte [rcx], al
mov byte [r8 + rcx + 0x58], al
inc rcx
dec r9
jne reloc.OLEAUT32.dll_VarI1FromDec
lea rdx, [r12 + r15]
lea rcx, [r12 + rdi]
call fcn.180010598
mov r10, rdi
sub r10, r15
cmp dword [rbp - 0x39], esi
jbe reloc.OLEAUT32.dll_VarI1FromDec
mov r8d, dword [rbp - 0x39]
lea rdx, [rbp - 0x31]
mov ecx, dword [rdx + 8]
mov eax, dword [rdx]
lea rdx, [rdx + 0x10]
sub ecx, r10d
mov dword [rax + rdi], ecx
dec r8
jne reloc.OLEAUT32.dll_VarI1FromDec
mov rcx, r15
mov rax, rbx
sub rcx, rbx
sub rax, r15
cmp rbx, r15
cmovb rax, rcx
cmp rax, reloc.OLEAUT32.dll_VarI1FromDec
jbe reloc.OLEAUT32.dll_VarI1FromDec
mov rdx, qword [rbp - 0x59]
lea rbx, [r14 + 0x18]
mov rcx, rbx
call fcn.180010598
mov rdx, rbx
mov rcx, r13
sub rax, r14
lea r8, [rax - 0x18]
call fcn.18000eabc
mov rdx, rbx
mov rcx, r15
call fcn.180010598
mov rbx, qword [rbp - 0x59]
jmp reloc.OLEAUT32.dll_VarI1FromDec
mov rdx, rbx
mov rcx, r15
call fcn.180010598
mov eax, r12d
mov r8, r12
mov rdx, rdi
mov rcx, r13
mov qword [r14], r15
mov qword [r14 + 0x10], rbx
mov dword [r14 + 8], eax
call fcn.18000eabc
mov r9d, dword [rbp - 0x69]
lea rax, [rbp - 0x69]
mov r8d, 0x78
mov rdx, r14
mov rcx, r13
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov r8, r12
mov rdx, r15
mov rcx, r13
call fcn.18000eabc
mov r9d, dword [rbp - 0x65]
lea rax, [rbp - 0x65]
mov r8, r12
mov rdx, r15
mov rcx, r13
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
cmp qword [r14], rsi
je reloc.OLEAUT32.dll_VarI1FromDec
mov rcx, qword [rbp - 0x51]
lea rax, [r14 + 0x38]
mov qword [rcx], rax
jmp reloc.OLEAUT32.dll_VarI1FromDec
lea rdx, [0x180059da0]
mov eax, esi
mov rcx, rdx
cmp qword [rcx], r14
je reloc.OLEAUT32.dll_VarI1FromDec
inc eax
add rcx, 8
cmp eax, 0x40
jb reloc.OLEAUT32.dll_VarI1FromDec
jmp reloc.OLEAUT32.dll_VarI1FromDec
mov qword [rdx + rax*8], rsi
mov r8d, reloc.OLEAUT32.dll_VarI1FromDec
mov rcx, r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
dec dword [0x180059d44]
mov r14, rsi
call fcn.180010a0c
lea rcx, [0x180059d70]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test r14, r14
setne sil
mov eax, esi
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.180010f90
mov rbx, qword [rsp + reloc.OLEAUT32.dll_VarUI4FromR4]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret