Function at 0x4b7173
Capabilities:
Get memory capacity

Disassembly:
push 0xfc
mov eax, 0x511c0b
call fcn.005060cc
xor ebx, ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
call fcn.0044f816
mov dword [ebp - 0x60], eax
mov eax, dword [ebp + 8]
xor edi, edi
and dword [ebp - 0x6c], edi
mov dword [ebp - 4], ebx
mov dword [ebp - 0x64], ebx
mov esi, dword [eax]
mov dword [ebp - 0x68], edi
cmp esi, dword [eax + 4]
je 0x4b7308
mov ebx, dword [esi + 0x10]
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x78]
mov dword [ebp - 0x54], ebx
push eax
mov ecx, 0xd5ad94
call fcn.0046b113
mov eax, dword [0xd5ad94]
mov edi, dword [ebp - 0x78]
cmp edi, eax
je 0x4b71d7
cmp ebx, dword [edi + 0x10]
jae 0x4b71d9
mov edi, eax
cmp edi, eax
jne 0x4b727f
push ebx
lea ecx, [ebp - 0x108]
call fcn.004b6ea5
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x7c]
mov ebx, 0xd5ad94
push eax
mov ecx, ebx
call fcn.0046b113
mov edi, dword [ebp - 0x7c]
cmp edi, dword [0xd5ad94]
je 0x4b7218
mov eax, dword [ebp - 0x54]
cmp eax, dword [edi + 0x10]
jae 0x4b723b
lea eax, [ebp - 0x54]
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x70]
push ecx
push eax
push ecx
call fcn.004b83ed
push eax
add eax, 0x10
push eax
push edi
lea eax, [ebp - 0x74]
push eax
call fcn.004b8442
mov edi, dword [ebp - 0x74]
lea eax, [ebp - 0x108]
push eax
lea ecx, [edi + 0x14]
call fcn.004b70fd
lea eax, [ebp - 0x54]
mov ecx, ebx
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.0046b113
mov ecx, dword [0xd5ad94]
mov edi, dword [ebp - 0x58]
cmp edi, ecx
je 0x4b726e
mov eax, dword [ebp - 0x54]
cmp eax, dword [edi + 0x10]
jae 0x4b7270
mov edi, ecx
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 0
call fcn.004b7086
cmp edi, dword [0xd5ad94]
je 0x4b72f0
push dword [esi + 0x94]
mov ecx, dword [esi + 0x18]
xor edx, edx
push dword [esi + 0x90]
push dword [esi + 0x118]
push dword [esi + 0x1c]
call fcn.00486350
push eax
lea ecx, [edi + 0x14]
call fcn.004b6f1f
cmp dword [ebp - 0x54], 0
je 0x4b72d9
mov eax, dword [ebp - 0x64]
add eax, dword [esi + 0x118]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x68]
add eax, dword [esi + 0x90]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x6c]
add eax, dword [esi + 0x94]
mov dword [ebp - 0x6c], eax
push dword [ebp - 0x58]
lea eax, [ebp - 0x54]
push eax
push ecx
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x60]
call fcn.00482c57
mov eax, dword [ebp + 8]
add esi, 0x140
cmp esi, dword [eax + 4]
jne 0x4b71ae
mov ebx, dword [ebp - 0x64]
mov edi, dword [ebp - 0x68]
push 0x3c
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x50], 0x40
push 0
push eax
call fcn.004f1a90
add esp, 0xc
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov esi, dword [ebp - 0x48]
sub esi, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
sbb eax, dword [ebp - 0x3c]
mov ecx, dword [0xd58f54]
shrd esi, eax, 0xa
push 2
shr eax, 0xa
mov ecx, dword [ecx + 0x58]
call fcn.004560cf
mov ecx, eax
lea eax, [ecx - 0x58]
neg ecx
sbb ecx, ecx
and ecx, eax
call fcn.0044b16c
mov dword [ebp - 0x70], eax
mov ecx, 0xd5ad94
lea eax, [ebp - 0x58]
mov dword [ebp - 0x58], 0xfffffffe
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.0046b113
mov ecx, dword [0xd5ad94]
mov eax, dword [ebp - 0x74]
cmp eax, ecx
je 0x4b738b
cmp dword [eax + 0x10], 0xfffffffe
jbe 0x4b738d
mov eax, ecx
push dword [ebp - 0x6c]
lea ecx, [eax + 0x14]
push edi
push ebx
push esi
push dword [ebp - 0x70]
call fcn.004b6f1f
mov ebx, dword [0xd5ad94]
mov edx, dword [ebp - 0x60]
mov eax, dword [ebx]
jmp 0x4b741f
mov edi, dword [eax + 0x10]
cmp edi, 0xfffffffe
je 0x4b73e1
mov ecx, dword [edx + 4]
mov esi, edx
cmp byte [ecx + 0xd], 0
jne 0x4b73db
cmp dword [ecx + 0x10], edi
jae 0x4b73c8
mov ecx, dword [ecx + 8]
jmp 0x4b73cc
mov esi, ecx
mov ecx, dword [ecx]
cmp byte [ecx + 0xd], 0
je 0x4b73be
cmp esi, edx
je 0x4b73db
cmp edi, dword [esi + 0x10]
jae 0x4b73dd
mov esi, edx
cmp esi, edx
je 0x4b7425
cmp byte [eax + 0xd], 0
jne 0x4b741f
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x4b7408
mov eax, ecx
mov esi, dword [eax]
cmp byte [esi + 0xd], 0
jne 0x4b741f
mov ecx, dword [esi]
mov eax, esi
mov esi, ecx
cmp byte [ecx + 0xd], 0
je 0x4b73fa
jmp 0x4b741f
mov ecx, dword [eax + 4]
jmp 0x4b7417
cmp eax, dword [ecx + 8]
jne 0x4b741d
mov eax, ecx
mov ecx, dword [ecx + 4]
cmp byte [ecx + 0xd], 0
je 0x4b740d
mov eax, ecx
cmp eax, ebx
jne 0x4b73ab
jmp 0x4b7432
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.004b7a3c
mov edx, dword [ebp - 0x60]
push edx
push dword [edx]
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x60]
call fcn.00482852
push ecx
mov ecx, dword [ebp - 0x60]
xor edx, edx
push 0x14
inc edx
call fcn.0040b8be
pop ecx
pop ecx
call fcn.00506076
ret 4