Function at 0x5fec48
Capabilities:
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc8
push ebx
push esi
push edi
mov byte [ebp - 1], 0
lea eax, [ebp - 0x38]
push eax
call sub.kernel32.dll_GlobalMemoryStatus
mov eax, dword [ebp + 8]
mov dword [eax - 0xd8], 0x100000
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x74]
mov byte [eax + 0x9a], 0
mov eax, dword [ebp + 8]
cmp byte [eax - 0xb1], 0
je 0x5fef30
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
cmp byte [eax + 0x3e], 0
jne 0x5feca7
mov eax, dword [ebp + 8]
sub dword [eax - 0xf0], 0xc
sbb dword [eax - 0xec], 0
jmp 0x5fed01
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
cmp byte [eax + 0x3e], 1
je 0x5feccb
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
cmp byte [eax + 0x3e], 2
je 0x5feccb
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
cmp byte [eax + 0x3e], 3
jne 0x5fed01
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xb8]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x28]
mov ebx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xb8]
mov eax, dword [eax]
mov edx, dword [eax]
call dword [edx + 0x34]
add ebx, eax
mov eax, ebx
cdq
mov ecx, dword [ebp + 8]
sub dword [ecx - 0xf0], eax
sbb dword [ecx - 0xec], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x6c]
call fcn.004b2428
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], edx
push dword [ebp - 0xc]
push dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x6c]
call fcn.004b2448
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
cmp byte [eax + 0x3e], 0
jne 0x5fed97
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x74]
cmp dword [eax + 0x150], 0
je 0x5fed8a
mov eax, dword [ebp + 8]
mov ax, word [eax - 0x108]
push eax
mov eax, dword [ebp + 8]
mov ax, word [eax - 0x104]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x100]
push eax
mov eax, dword [ebp + 8]
add eax, 0xffffffe0
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x74]
mov ecx, dword [eax + 0x150]
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x6c]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x74]
call fcn.005fe460
test al, al
je 0x5fed8a
xor eax, eax
jmp 0x5fed8c
mov al, 1
mov edx, dword [ebp + 8]
mov byte [edx - 0x10f], al
jmp 0x5fee02
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
cmp byte [eax + 0x3e], 1
je 0x5fedbb
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
cmp byte [eax + 0x3e], 2
je 0x5fedbb
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
cmp byte [eax + 0x3e], 3
jne 0x5fee02
push 0
push 0
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x6c]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xb8]
mov eax, dword [eax]
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x74]
mov edx, dword [eax + 0x150]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xb8]
mov eax, dword [eax]
mov ebx, dword [eax]
call dword [ebx + 4]
xor al, 1
mov edx, dword [ebp + 8]
mov byte [edx - 0x10f], al
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x74]
cmp byte [eax + 0x140], 0
je 0x5fee32
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x74]
add eax, 0x150
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x74]
mov edx, dword [edx + 0x150]
call fcn.0040a978
jmp 0x5fef1d
mov eax, dword [ebp + 8]
cmp byte [eax - 0x10f], 0
je 0x5feee2
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x74]
add eax, 0x9a
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x74]
lea ecx, [eax + 0x150]
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x14]
mov edx, dword [edx + 0x2e]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x74]
mov ebx, dword [eax]
call dword [ebx + 0x60]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
cmp byte [eax + 0x3e], 1
je 0x5fee92
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
cmp byte [eax + 0x3e], 2
je 0x5fee92
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
cmp byte [eax + 0x3e], 3
jne 0x5feefe
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xb8]
mov eax, dword [eax]
mov eax, dword [eax + 0x184]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x74]
mov edx, dword [edx + 0x150]
call fcn.0040ad18
je 0x5feefe
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x74]
cmp byte [eax + 0x9a], 0
jne 0x5feefe
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x74]
mov edx, dword [eax + 0x150]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xb8]
mov eax, dword [eax]
mov ecx, dword [eax]
call dword [ecx]
jmp 0x5feefe
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x74]
add eax, 0x150
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x74]
mov edx, dword [edx + 0x150]
call fcn.0040a978
mov eax, dword [ebp + 8]
cmp byte [eax - 0x10f], 0
je 0x5fef1d
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x74]
cmp byte [eax + 0x9a], 0
je 0x5fed12
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x74]
cmp byte [eax + 0x9a], 0
jne 0x5ff2ab
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd8]
add eax, 2
call fcn.00406fc4
mov edx, dword [ebp + 8]
mov dword [edx - 4], eax
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax - 0xbc], edx
mov eax, dword [ebp + 8]
add eax, 0xffffff98
xor ecx, ecx
mov edx, 0x38
call fcn.00407f34
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov edx, dword [ebp + 8]
mov dword [edx - 0x68], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd8]
mov edx, dword [ebp + 8]
mov dword [edx - 0x64], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xf0]
mov edx, dword [ebp + 8]
mov dword [edx - 0x60], eax
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax - 0x5c], edx
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax - 0x58], edx
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax - 0x54], edx
xor eax, eax
push ebp
push 0x5ff2a0
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x5fefed
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x38
mov eax, dword [0x624de4]
mov eax, dword [eax]
push eax
mov eax, dword [ebp + 8]
add eax, 0xffffff98
push eax
call fcn.005deb6c
add esp, 0xc
call fcn.005dbef4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5ff227
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xec]
mov eax, dword [eax - 0xf0]
mov ecx, dword [ebp + 8]
sub eax, dword [ecx - 0xd0]
sbb edx, dword [ecx - 0xcc]
push edx
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd8]
cdq
cmp edx, dword [esp + 4]
jne 0x5ff044
cmp eax, dword [esp]
pop edx
pop eax
jae 0x5ff063
jmp 0x5ff048
pop edx
pop eax
jge 0x5ff063
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd8]
cdq
mov ecx, dword [ebp + 8]
mov dword [ecx - 0xb0], eax
mov dword [ecx - 0xac], edx
jmp 0x5ff090
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xec]
mov eax, dword [eax - 0xf0]
mov ecx, dword [ebp + 8]
sub eax, dword [ecx - 0xd0]
sbb edx, dword [ecx - 0xcc]
mov ecx, dword [ebp + 8]
mov dword [ecx - 0xb0], eax
mov dword [ecx - 0xac], edx
mov eax, dword [ebp + 8]
push eax
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xb0]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.005fe4cc
pop ecx
test al, al
jne 0x5ff0b7
call fcn.00409cd8
jmp 0x5ff2ab
mov eax, dword [ebp + 8]
push eax
call fcn.005fe588
pop ecx
test al, al
jne 0x5ff0cf
call fcn.00409cd8
jmp 0x5ff2ab
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xbc]
call fcn.00406ff8
mov eax, dword [ebp + 8]
xor edx, edx
mov dword [eax - 0xbc], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xc4]
mov eax, dword [eax - 0xc8]
mov ecx, dword [ebp + 8]
add dword [ecx - 0x118], eax
adc dword [ecx - 0x114], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xac]
mov eax, dword [eax - 0xb0]
mov ecx, dword [ebp + 8]
add dword [ecx - 0xd0], eax
adc dword [ecx - 0xcc], edx
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x114]
mov eax, dword [eax - 0x118]
mov ecx, dword [ebp + 8]
cmp edx, dword [ecx + 0xc]
jne 0x5ff142
cmp eax, dword [ecx + 8]
jae 0x5ff158
jmp 0x5ff144
jge 0x5ff158
push 0
push 0
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd4]
call fcn.004b2448
jmp 0x5ff1bf
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x114]
mov eax, dword [eax - 0x118]
mov ecx, dword [ebp + 8]
sub eax, dword [ecx - 0xc8]
sbb edx, dword [ecx - 0xc4]
mov ecx, dword [ebp + 8]
cmp edx, dword [ecx + 0xc]
jne 0x5ff185
cmp eax, dword [ecx + 8]
jae 0x5ff1bf
jmp 0x5ff187
jge 0x5ff1bf
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xc4]
mov eax, dword [eax - 0xc8]
push edx
push eax
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x114]
mov eax, dword [eax - 0x118]
mov ecx, dword [ebp + 8]
sub eax, dword [ecx + 8]
sbb edx, dword [ecx + 0xc]
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 0
jle 0x5ff218
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
cdq
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
adc edx, dword [ecx + 0xc]
mov ecx, dword [ebp + 8]
cmp edx, dword [ecx - 0x114]
jne 0x5ff1ed
cmp eax, dword [ecx - 0x118]
ja 0x5ff218
jmp 0x5ff1ef
jg 0x5ff218
mov eax, dword [ebp + 8]
cmp dword [eax + 0xc], 0
jne 0x5ff200
cmp dword [eax + 8], 0
jbe 0x5ff255
jmp 0x5ff202
jle 0x5ff255
push dword [ebp - 0x14]
push dword [ebp - 0x18]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xd4]
call fcn.004b2448
jmp 0x5ff255
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x74]
cmp byte [eax + 0x98], 0
jne 0x5ff255
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0xcc]
mov eax, dword [eax - 0xd0]
mov ecx, dword [ebp + 8]
cmp edx, dword [ecx - 0xec]
jne 0x5ff24f
cmp eax, dword [ecx - 0xf0]
jb 0x5ff00b
jmp 0x5ff255
jl 0x5ff00b
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5ff2a7
mov eax, dword [ebp + 8]
add eax, 0xffffff98
push eax
call fcn.005e030c
pop ecx
mov eax, dword [ebp + 8]
cmp dword [eax - 0xbc], 0
je 0x5ff289
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xbc]
call fcn.00406ff8
mov eax, dword [ebp + 8]
cmp dword [eax - 4], 0
je 0x5ff29d
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.00406ff8
pop eax
jmp eax
mov al, byte [ebp - 1]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret