Function at 0x180058920
Capabilities:
Allocate or change rwx memory
Get system information on windows

Disassembly:
push rbp
push rsi
push r14
push r15
lea rbp, [rsp - 0x3f]
sub rsp, 0xc8
mov rax, qword [0x1801dd028]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rax, qword [rdx + 8]
mov rsi, r9
mov r10, r8
mov qword [rbp - 0x69], r8
mov r14, rdx
mov r15, rcx
cmp qword [rdx], rax
jne 0x18005898f
mov r9d, 0x40
mov r8d, 0x3000
mov rdx, r10
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x180058982
mov byte [r15], al
mov byte [r15 + 8], al
jmp 0x180058c40
mov qword [r15], rax
mov byte [r15 + 8], 1
jmp 0x180058c40
xorps xmm0, xmm0
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0xc0], rdi
lea rcx, [rbp - 0x29]
mov qword [rsp + 0xb8], r12
mov qword [rsp + 0xb0], r13
movups xmmword [rbp - 0x29], xmm0
movups xmmword [rbp - 0x19], xmm0
movups xmmword [rbp - 9], xmm0
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov rax, qword [r14]
mov rdx, qword [rbp - 0x21]
mov r8, qword [rbp - 0x19]
mov rbx, r8
mov rcx, qword [rax]
mov rax, rcx
mov r12, rcx
sub rax, rdx
sub r12, rsi
cmp rax, rsi
mov rax, r8
cmovbe r12, rdx
sub rax, rcx
cmp rax, rsi
jbe 0x1800589fb
lea rbx, [rcx + rsi]
mov eax, dword [rbp - 1]
cmp r12, rdx
cmovb r12, rdx
cmp r8, rbx
cmovb rbx, r8
lea r13, [rax - 1]
mov qword [rbp - 0x61], rbx
not r13
lea rbx, [rax - 1]
add rbx, rcx
and rbx, r13
mov rdi, rbx
cmp rbx, r12
jbe 0x180058b25
mov qword [rbp + 7], rsi
nop dword [rax]
nop word [rax + rax]
mov r9, qword [r14 + 8]
mov r8, qword [r14]
mov qword [rbp + 0xf], rdi
cmp r8, r9
je 0x180058a78
mov rdx, qword [r8]
mov rax, rdi
sub rax, rdx
mov rcx, rdx
sub rcx, rdi
cmp rdi, rdx
cmovbe rax, rcx
cmp rax, rsi
ja 0x180058b25
add r8, 8
cmp r8, r9
jne 0x180058a50
xorps xmm0, xmm0
lea rdx, [rbp - 0x59]
mov r8d, 0x30
mov rcx, rdi
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rbp - 0x49], xmm0
movups xmmword [rbp - 0x39], xmm0
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x180058b25
mov ecx, dword [rbp - 0x35]
mov eax, ecx
and al, 0x70
neg al
sbb dl, dl
and dl, 4
test cl, 0x66
setne al
and cl, 0x44
or dl, al
neg cl
sbb al, al
and al, 2
or dl, al
cmp dword [rbp - 0x39], 0x10000
mov byte [rbp - 0x19], dl
sete byte [rbp - 0x18]
mov rax, qword [rbp - 0x19]
shr rax, 8
test al, al
je 0x180058b12
mov r8, rsi
mov rdx, r14
mov rcx, rdi
call fcn.180058c70
test al, al
je 0x180058b12
mov rdx, qword [rbp - 0x69]
mov r9d, 0x40
mov r8d, 0x3000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x180058c5d
mov rdi, qword [rbp - 0x51]
dec rdi
and rdi, r13
cmp rdi, r12
ja 0x180058a40
mov rdi, qword [rbp - 0x61]
cmp rbx, rdi
jae 0x180058c17
mov qword [rbp + 0xf], rsi
nop word [rax + rax]
mov r9, qword [r14 + 8]
mov rax, qword [r14]
mov qword [rbp + 7], rbx
cmp rax, r9
je 0x180058b78
mov r8, qword [rax]
mov rcx, rbx
sub rcx, r8
mov rdx, r8
sub rdx, rbx
cmp rbx, r8
cmovbe rcx, rdx
cmp rcx, rsi
ja 0x180058c17
add rax, 8
cmp rax, r9
jne 0x180058b50
xorps xmm0, xmm0
lea rdx, [rbp - 0x59]
mov r8d, 0x30
mov rcx, rbx
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rbp - 0x49], xmm0
movups xmmword [rbp - 0x39], xmm0
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x180058c17
mov ecx, dword [rbp - 0x35]
mov eax, ecx
and al, 0x70
neg al
sbb dl, dl
and dl, 4
test cl, 0x66
setne al
and cl, 0x44
or dl, al
neg cl
sbb al, al
and al, 2
or dl, al
cmp dword [rbp - 0x39], 0x10000
mov byte [rbp - 0x19], dl
sete byte [rbp - 0x18]
mov rax, qword [rbp - 0x19]
shr rax, 8
test al, al
je 0x180058c0a
mov r8, rsi
mov rdx, r14
mov rcx, rbx
call fcn.180058c70
test al, al
je 0x180058c0a
mov rdx, qword [rbp - 0x69]
mov r9d, 0x40
mov r8d, 0x3000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
jne 0x180058c5d
add rbx, qword [rbp - 0x41]
cmp rbx, rdi
jb 0x180058b40
mov byte [r15], 1
mov byte [r15 + 8], 0
mov r12, qword [rsp + 0xb8]
mov rdi, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0x108]
mov r13, qword [rsp + 0xb0]
mov rax, r15
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.180083800
add rsp, 0xc8
pop r15
pop r14
pop rsi
pop rbp
ret
mov qword [r15], rax
mov byte [r15 + 8], 1
jmp 0x180058c20