Function at 0x180057dd0
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 [0x1801bf040]
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 0x180057e41
mov r9d, 0x40
mov r8d, 0x3000
mov rdx, r10
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x180057e33
mov qword [r15], rax
mov byte [r15 + 8], 1
jmp 0x1800580f0
mov byte [r15], 0
mov byte [r15 + 8], 0
jmp 0x1800580f0
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 0x180057ead
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 0x180057fd5
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 0x180057f28
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 0x180057fd5
add r8, 8
cmp r8, r9
jne 0x180057f00
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 0x180057fd5
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 0x180057fc2
mov r8, rsi
mov rdx, r14
mov rcx, rdi
call fcn.180058120
test al, al
je 0x180057fc2
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 0x18005810d
mov rdi, qword [rbp - 0x51]
dec rdi
and rdi, r13
cmp rdi, r12
ja 0x180057ef0
mov rdi, qword [rbp - 0x61]
cmp rbx, rdi
jae 0x1800580c7
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 0x180058028
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 0x1800580c7
add rax, 8
cmp rax, r9
jne 0x180058000
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 0x1800580c7
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 0x1800580ba
mov r8, rsi
mov rdx, r14
mov rcx, rbx
call fcn.180058120
test al, al
je 0x1800580ba
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 0x18005810d
add rbx, qword [rbp - 0x41]
cmp rbx, rdi
jb 0x180057ff0
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.180083030
add rsp, 0xc8
pop r15
pop r14
pop rsi
pop rbp
ret
mov qword [r15], rax
mov byte [r15 + 8], 1
jmp 0x1800580d0