Function at 0x10020586
Capabilities:
Get memory capacity

Disassembly:
push 0xd8
mov eax, 0x1005d06f
call fcn.100425c1
and dword [ebp - 0x20], 0
cmp dword [0x10077844], 0
jne 0x100205d4
push str.NtQuerySystemInformation
push str.ntdll.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x10077844], eax
test eax, eax
jne 0x100205d4
mov ecx, dword [ebp + 8]
push 0x10062e9b
call fcn.1000485d
jmp 0x10020827
call fcn.10020264
call fcn.100203aa
push 6
pop edx
lea ebx, [ebp - 0x54]
call fcn.10030df6
mov dword [ebp - 4], 1
and dword [ebp - 0x18], 0
mov eax, ebx
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
mov edi, 0x10020830
call fcn.10027d6c
push 6
pop edx
lea ebx, [ebp - 0x6c]
call fcn.10030df6
xor ebx, ebx
push ebx
push ebx
lea eax, [ebp - 0x3c]
call fcn.10031e83
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x14], esp
push 1
call fcn.10030e63
lea eax, [ebp - 0x3c]
push eax
mov edx, 0x1006320c
mov byte [ebp - 4], 6
call fcn.100321b8
mov edi, eax
mov byte [ebp - 4], 5
call fcn.100311c7
push 0x1006553c
lea esi, [ebp - 0xc8]
call fcn.100048dd
mov eax, esi
push eax
lea eax, [ebp - 0xe4]
push eax
mov byte [ebp - 4], 7
call fcn.10001246
sub esp, 0x10
mov byte [ebp - 4], 8
mov edx, eax
mov esi, esp
mov dword [ebp - 0x14], esp
call fcn.10030f74
lea eax, [ebp - 0x3c]
push eax
mov edx, str.name
mov byte [ebp - 4], 9
call fcn.100321b8
mov edi, eax
mov byte [ebp - 4], 8
call fcn.100311c7
push ebx
push 1
lea ecx, [ebp - 0xe4]
call fcn.10004d1a
push ebx
push 1
lea esi, [ebp - 0xc8]
mov byte [ebp - 4], 5
call fcn.10004e12
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x14], esp
push 0x1006554c
call fcn.10030ec1
lea eax, [ebp - 0x3c]
push eax
mov edx, str.user
mov byte [ebp - 4], 0xa
call fcn.100321b8
mov edi, eax
mov byte [ebp - 4], 5
call fcn.100311c7
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x14], esp
push dword [ebp - 0x18]
call fcn.10030e63
lea eax, [ebp - 0x3c]
push eax
mov edx, 0x10065550
mov byte [ebp - 4], 0xb
call fcn.100321b8
mov edi, eax
mov byte [ebp - 4], 5
call fcn.100311c7
push 0x3c
lea eax, [ebp - 0xa8]
push ebx
push eax
mov dword [ebp - 0xac], 0x40
call fcn.10046720
add esp, 0xc
lea eax, [ebp - 0xac]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov ecx, dword [ebp - 0xa4]
sub ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xa0]
sbb edx, dword [ebp - 0x98]
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x14], esp
push edx
push ecx
call fcn.10030e96
lea eax, [ebp - 0x3c]
push eax
mov edx, str.memory
mov byte [ebp - 4], 0xc
call fcn.100321b8
mov edi, eax
mov byte [ebp - 4], 5
call fcn.100311c7
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x14], esp
push 0x10062e9b
call fcn.10030ec1
lea eax, [ebp - 0x3c]
push eax
mov edx, str.hash4k
mov byte [ebp - 4], 0xd
call fcn.100321b8
mov edi, eax
mov byte [ebp - 4], 5
call fcn.100311c7
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.10032209
lea eax, [ebp - 0x54]
xor esi, esi
call fcn.10031b42
test eax, eax
jbe 0x100207f1
push esi
lea eax, [ebp - 0x54]
push eax
call fcn.10031b92
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.10032209
lea eax, [ebp - 0x54]
inc esi
call fcn.10031b42
cmp esi, eax
jb 0x100207d0
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x6c]
push eax
call fcn.1003264a
lea esi, [ebp - 0x3c]
mov dword [ebp - 0x20], 1
mov byte [ebp - 4], 2
call fcn.10031144
lea esi, [ebp - 0x6c]
mov byte [ebp - 4], 1
call fcn.10031144
lea esi, [ebp - 0x54]
mov byte [ebp - 4], bl
call fcn.10031144
mov eax, dword [ebp + 8]
call fcn.10042699
ret