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

Disassembly:
jmp 0x14002b780
push rbp
push rdi
sub rsp, 0xd68
lea rbp, [rsp + 0x20]
lea rdi, [rsp + 0x20]
mov ecx, 0x262
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x140045048]
xor rax, rbp
mov qword [rbp + 0xd38], rax
lea rcx, [0x140050129]
call fcn.140012fd2
lea rax, [rbp + 0x10]
mov rdi, rax
xor eax, eax
mov ecx, 0x4d0
rep stosb byte [rdi], al
mov dword [rbp + 0x40], 0x100010
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
lea rdx, [rbp + 0x10]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
cmp qword [rbp + 0x58], 0
jne 0x14002b803
cmp qword [rbp + 0x60], 0
jne 0x14002b803
cmp qword [rbp + 0x68], 0
jne 0x14002b803
cmp qword [rbp + 0x70], 0
je 0x14002b80a
xor eax, eax
jmp 0x14002ba0f
mov dword [rbp + 0x500], 0x40
lea rcx, [rbp + 0x500]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
xor edx, edx
mov rax, qword [rbp + 0x508]
mov ecx, 0x400
div rcx
xor edx, edx
mov ecx, 0x400
div rcx
mov dword [rbp + 0x554], eax
cmp dword [rbp + 0x554], 0x800
jae 0x14002b855
xor eax, eax
jmp 0x14002ba0f
lea rcx, [rbp + 0x578]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rbp + 0x598]
mov dword [rbp + 0x5c4], eax
cmp dword [rbp + 0x5c4], 2
jae 0x14002b87e
xor eax, eax
jmp 0x14002ba0f
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov ecx, eax
call fcn.140012dc0
mov dword [rbp + 0x5e4], eax
mov dword [rbp + 0x834], 0x104
mov r8d, dword [rbp + 0x5e4]
xor edx, edx
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov qword [rbp + 0x858], rax
lea r9, [rbp + 0x834]
lea r8, [rbp + 0x610]
xor edx, edx
mov rcx, qword [rbp + 0x858]
call qword [sym.imp.KERNEL32.dll_QueryFullProcessImageNameW]
lea rcx, [rbp + 0x610]
call qword [sym.imp.USER32.dll_CharUpperW]
lea rdx, str.WINDBG.EXE
lea rcx, [rbp + 0x610]
call fcn.140012294
test rax, rax
je 0x14002b8ff
xor eax, eax
jmp 0x14002ba0f
lea rdx, str.SAMPLE.EXE
lea rcx, [rbp + 0x610]
call fcn.140012294
test rax, rax
je 0x14002b91e
xor eax, eax
jmp 0x14002ba0f
xor eax, eax
cmp eax, 1
je 0x14002ba0f
lea rcx, [rbp + 0x878]
call fcn.14001287f
mov dword [rbp + 0xcd4], 2
lea rdx, [rbp + 0xcd4]
lea rcx, [rbp + 0xcb4]
call fcn.14001240b
mov r8, rax
lea rdx, [rbp + 0x878]
lea rcx, [rbp + 0x898]
call fcn.140012af5
lea rcx, [rbp + 0xcf8]
call fcn.140012eab
mov qword [rbp + 0xd28], rax
mov rax, qword [rbp + 0xd28]
mov qword [rbp + 0xd30], rax
mov rcx, qword [rbp + 0xd30]
call fcn.140012537
mov rcx, rax
call fcn.1400130b8
nop
lea rcx, [rbp + 0xcf8]
call fcn.140012d75
lea rcx, [rbp + 0x898]
call fcn.140012e0b
call fcn.140013144
mov byte [rbp + 0x8b4], al
call fcn.140012c62
mov byte [rbp + 0x8d4], al
movzx eax, byte [rbp + 0x8b4]
test eax, eax
jne 0x14002b9e2
movzx eax, byte [rbp + 0x8d4]
test eax, eax
je 0x14002b9f7
lea rdx, [0x14003d1cc]
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400121d6
jmp 0x14002ba0a
lea rdx, str.OFF_n
mov rcx, qword [sym.imp.MSVCP140D.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400121d6
jmp 0x14002b91e
mov rdi, rax
lea rcx, [rbp - 0x20]
lea rdx, [0x14003bae0]
call fcn.140012ce9
mov rax, rdi
mov rcx, qword [rbp + 0xd38]
xor rcx, rbp
call fcn.140012776
lea rsp, [rbp + 0xd48]
pop rdi
pop rbp
ret