Function at 0x180052ef0
Capabilities:
Get memory capacity
Get system information on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xe0]
sub rsp, 0x1e0
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rsp + 0x230], rbx
mov rax, qword [0x1800fb008]
xor rax, rsp
mov qword [rbp + 0xd0], rax
mov r14, rdx
mov qword [rsp + 0x50], rcx
xor r13d, r13d
mov qword [rbp + 8], r13
mov qword [rbp + 0x10], r13
mov qword [rbp + 0x10], 0xf
mov qword [rbp + 8], r13
mov byte [rbp - 8], r13b
xor eax, eax
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], rax
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], rax
mov dword [rbp + 0x90], 0x40
lea rcx, [rbp + 0x90]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x180053029
mov r8, qword [rbp + 0x98]
shr r8, 0x14
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], r13
mov word [rsp + 0x60], r13w
lea rdx, [0x1800c6020]
lea rcx, [rsp + 0x60]
call fcn.180007300
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae rcx, qword [rsp + 0x60]
lea r8, [rbp - 8]
mov rdx, qword [rsp + 0x70]
call fcn.18001bf60
nop
cmp qword [rsp + 0x78], 8
jb 0x180053015
mov rcx, qword [rsp + 0x60]
call fcn.18008861c
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], r13
mov word [rsp + 0x60], r13w
cmp qword [rbp + 8], 0
je 0x180053093
lea rax, [rsp + 0x20]
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x28], 4
or dword [rsp + 0x28], 0x100
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r13
lea rcx, [rbp - 8]
cmp qword [rbp + 0x10], 0x10
cmovae rcx, qword [rbp - 8]
mov edx, dword [rbp + 8]
call fcn.180081f90
mov qword [rsp + 0x20], rax
lea r8, [0x1800c7ad9]
lea rdx, str.A0201
mov rcx, r14
call fcn.180083710
mov rcx, rax
lea rdx, [rsp + 0x20]
call fcn.180082be0
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x38], 7
mov qword [rsp + 0x30], r13
mov word [rsp + 0x20], r13w
mov r8d, 0xa
lea rdx, str.User32.dll
lea rcx, [rsp + 0x20]
call fcn.180003940
nop
call fcn.18000f330
mov rcx, rax
lea rdx, [rsp + 0x20]
call fcn.18000f3e0
mov rdi, rax
cmp qword [rsp + 0x38], 8
jb 0x1800530f0
mov rcx, qword [rsp + 0x20]
call fcn.18008861c
mov qword [rsp + 0x38], 7
mov qword [rsp + 0x30], r13
mov word [rsp + 0x20], r13w
mov rbx, r13
test rdi, rdi
je 0x18005311f
lea rdx, str.GetSystemMetrics
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], r13
mov qword [rbp - 0x60], 0xf
mov qword [rbp - 0x68], r13
mov byte [rbp - 0x78], 0
test rbx, rbx
je 0x1800531c0
xor ecx, ecx
call rbx
test eax, eax
jle 0x1800531c0
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], r13
mov word [rsp + 0x60], r13w
mov r8d, eax
lea rdx, [0x1800c67d8]
lea rcx, [rsp + 0x60]
call fcn.180007300
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae rcx, qword [rsp + 0x60]
lea r8, [rbp - 0x78]
mov rdx, qword [rsp + 0x70]
call fcn.18001bf60
nop
cmp qword [rsp + 0x78], 8
jb 0x1800531ac
mov rcx, qword [rsp + 0x60]
call fcn.18008861c
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], r13
mov word [rsp + 0x60], r13w
cmp qword [rbp - 0x68], 0
je 0x180053229
lea rax, [rsp + 0x60]
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x68], 4
or dword [rsp + 0x68], 0x100
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r13
lea rcx, [rbp - 0x78]
cmp qword [rbp - 0x60], 0x10
cmovae rcx, qword [rbp - 0x78]
mov edx, dword [rbp - 0x68]
call fcn.180081f90
mov qword [rsp + 0x60], rax
lea r8, [0x1800c7ac1]
lea rdx, str.A0202
mov rcx, r14
call fcn.180083710
mov rcx, rax
lea rdx, [rsp + 0x60]
call fcn.180082be0
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x10], r13
mov qword [rbp - 0x10], 0xf
mov qword [rbp - 0x18], r13
mov byte [rbp - 0x28], 0
test rbx, rbx
je 0x1800532cd
mov ecx, 1
call rbx
test eax, eax
jle 0x1800532cd
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], r13
mov word [rsp + 0x60], r13w
mov r8d, eax
lea rdx, [0x1800c67d8]
lea rcx, [rsp + 0x60]
call fcn.180007300
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae rcx, qword [rsp + 0x60]
lea r8, [rbp - 0x28]
mov rdx, qword [rsp + 0x70]
call fcn.18001bf60
nop
cmp qword [rsp + 0x78], 8
jb 0x1800532b9
mov rcx, qword [rsp + 0x60]
call fcn.18008861c
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], r13
mov word [rsp + 0x60], r13w
cmp qword [rbp - 0x18], 0
je 0x180053336
lea rax, [rsp + 0x60]
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x68], 4
or dword [rsp + 0x68], 0x100
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r13
lea rcx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae rcx, qword [rbp - 0x28]
mov edx, dword [rbp - 0x18]
call fcn.180081f90
mov qword [rsp + 0x60], rax
lea r8, [0x1800c7ac9]
lea rdx, str.A0203
mov rcx, r14
call fcn.180083710
mov rcx, rax
lea rdx, [rsp + 0x60]
call fcn.180082be0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x48], rax
mov dword [rbp + 0x58], r13d
xor eax, eax
mov qword [rbp + 0x5c], rax
mov qword [rbp + 0x64], rax
mov qword [rbp + 0x6c], rax
mov qword [rbp + 0x74], rax
mov qword [rbp + 0x7c], rax
mov dword [rbp + 0x84], eax
lea rcx, [rbp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov byte [rsp + 0x68], 2
and dword [rsp + 0x68], 0xfffffeff
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r13
mov eax, dword [rbp + 0x78]
mov qword [rsp + 0x60], rax
lea r8, [0x1800c7b09]
lea rdx, str.A0204
mov rcx, r14
call fcn.180083710
mov rcx, rax
lea rdx, [rsp + 0x60]
call fcn.180082be0
lea rdx, str.GetDC
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rdx, str.ReleaseDC
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r15, rax
mov rdi, r13
lea rcx, str.Gdi32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rsi, rax
test rax, rax
je 0x180053400
lea rdx, str.GetDeviceCaps
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
mov r12d, r13d
test rdi, rdi
je 0x180053440
test rbx, rbx
je 0x180053440
test r15, r15
je 0x180053440
xor ecx, ecx
call rbx
mov rbx, rax
test rax, rax
je 0x180053440
mov edx, 0x58
mov rcx, rax
call rdi
mov r12d, eax
mov edx, 0x5a
mov rcx, rbx
call rdi
mov r13d, eax
mov rdx, rbx
xor ecx, ecx
call r15
test rsi, rsi
je 0x18005344e
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
lea rax, [rsp + 0x20]
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x28], 2
and dword [rsp + 0x28], 0xfffffeff
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
xor edi, edi
mov qword [rsp + 0x40], rdi
mov eax, r12d
mov qword [rsp + 0x20], rax
lea r8, [0x1800c7b3d]
lea rdx, str.A0205
mov rcx, r14
call fcn.180083710
mov rcx, rax
lea rdx, [rsp + 0x20]
call fcn.180082be0
lea rax, [rsp + 0x20]
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x28], 2
and dword [rsp + 0x28], 0xfffffeff
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rdi
mov eax, r13d
mov qword [rsp + 0x20], rax
lea r8, [0x1800c7b19]
lea rdx, str.A0206
mov rcx, r14
call fcn.180083710
mov rcx, rax
lea rdx, [rsp + 0x20]
call fcn.180082be0
xor eax, eax
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x58], rdi
mov byte [rbp - 0x50], al
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x30], 7
mov qword [rbp - 0x38], rdi
mov word [rbp - 0x48], di
mov ecx, 0x80
call fcn.180088680
mov rbx, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x18005355a
xor edx, edx
mov r8d, 0x80
mov rcx, rax
call fcn.18008c480
mov rcx, rbx
call fcn.18002fe20
jmp 0x18005355d
mov rax, rdi
mov qword [rbp - 0x58], rax
lea rcx, [rbp - 0x48]
mov rax, qword [rsp + 0x50]
cmp rcx, rax
je 0x180053582
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp - 0x48]
call fcn.1800032a0
lea rdx, [rbp + 0x38]
lea rcx, [rbp - 0x58]
call fcn.180029260
nop
cmp qword [rbp + 0x48], 0
jne 0x1800535ad
mov r8d, 0xc
lea rdx, str.000000000000
lea rcx, [rbp + 0x38]
call fcn.180003940
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x30], rdi
mov qword [rbp + 0x30], 0xf
mov qword [rbp + 0x28], rdi
mov byte [rbp + 0x18], 0
lea rcx, [rbp + 0x38]
cmp qword [rbp + 0x50], 8
cmovae rcx, qword [rbp + 0x38]
lea r8, [rbp + 0x18]
mov rdx, qword [rbp + 0x48]
call fcn.18001bf60
lea rax, [rsp + 0x20]
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x28], 4
or dword [rsp + 0x28], 0x100
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rdi
lea rcx, [rbp + 0x18]
cmp qword [rbp + 0x30], 0x10
cmovae rcx, qword [rbp + 0x18]
mov edx, dword [rbp + 0x28]
call fcn.180081f90
mov qword [rsp + 0x20], rax
lea r8, [0x1800c7b21]
lea rdx, str.A0207
mov rcx, r14
call fcn.180083710
mov rcx, rax
lea rdx, [rsp + 0x20]
call fcn.180082be0
nop
cmp qword [rbp + 0x30], 0x10
jb 0x180053654
mov rcx, qword [rbp + 0x18]
call fcn.18008861c
mov qword [rbp + 0x30], 0xf
mov qword [rbp + 0x28], rdi
mov byte [rbp + 0x18], 0
cmp qword [rbp + 0x50], 8
jb 0x180053674
mov rcx, qword [rbp + 0x38]
call fcn.18008861c
mov qword [rbp + 0x50], 7
mov qword [rbp + 0x48], rdi
mov word [rbp + 0x38], di
mov rbx, qword [rbp - 0x58]
test rbx, rbx
je 0x1800536a1
mov rcx, rbx
call fcn.18002feb0
mov rcx, rbx
call fcn.18008861c
mov qword [rbp - 0x58], rdi
cmp qword [rbp - 0x30], 8
jb 0x1800536b1
mov rcx, qword [rbp - 0x48]
call fcn.18008861c
mov qword [rbp - 0x30], 7
mov qword [rbp - 0x38], rdi
mov word [rbp - 0x48], di
cmp qword [rbp - 0x10], 0x10
jb 0x1800536d1
mov rcx, qword [rbp - 0x28]
call fcn.18008861c
mov qword [rbp - 0x10], 0xf
mov qword [rbp - 0x18], rdi
mov byte [rbp - 0x28], 0
cmp qword [rbp - 0x60], 0x10
jb 0x1800536f1
mov rcx, qword [rbp - 0x78]
call fcn.18008861c
mov qword [rbp - 0x60], 0xf
mov qword [rbp - 0x68], rdi
mov byte [rbp - 0x78], 0
cmp qword [rbp + 0x10], 0x10
jb 0x180053711
mov rcx, qword [rbp - 8]
call fcn.18008861c
mov qword [rbp + 0x10], 0xf
mov qword [rbp + 8], rdi
mov byte [rbp - 8], 0
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.180087ea0
mov rbx, qword [rsp + 0x230]
add rsp, 0x1e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret