Function at 0x449dc9
Capabilities:
Get memory capacity

Disassembly:
push 0x60
mov eax, 0x50b26d
call fcn.005060cc
mov dword [ebp - 0x5c], ecx
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x4c]
push 0x3c
push 0
push eax
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x50], 0x40
call fcn.004f1a90
add esp, 0xc
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov edi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
shrd edi, eax, 0x14
shr eax, 0x14
mov eax, dword [ebp - 0x3c]
shrd ecx, eax, 0x14
shr eax, 0x14
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x44]
jb 0x449e3a
mov esi, dword [ebp - 0x38]
ja 0x449e2b
cmp esi, dword [ebp - 0x48]
jbe 0x449e3a
sub esi, dword [ebp - 0x48]
sbb eax, dword [ebp - 0x44]
shrd esi, eax, 0x14
shr eax, 0x14
jmp 0x449e3c
xor esi, esi
mov eax, edi
sub eax, ecx
mov dword [ebp - 0x54], eax
test edi, edi
je 0x449e59
imul eax, eax, 0x64
mov ecx, edi
shr ecx, 1
xor edx, edx
add eax, ecx
div edi
mov dword [ebp - 0x64], eax
jmp 0x449e5d
and dword [ebp - 0x64], 0
mov eax, 0x100
call fcn.004f0800
mov ecx, esp
mov edx, 0x100
push dword [ebp - 0x64]
push 0x28
push dword [0xd584c8]
call fcn.004e1a81
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x6c]
push str._b__s:__d____b__r_n
push eax
call fcn.00423158
add esp, 0x10
and dword [ebp - 4], 0
mov edx, dword [eax]
mov ebx, dword [ebx]
sub ebx, 0x10
lea ecx, [edx - 0x10]
cmp ecx, ebx
je 0x449eec
cmp dword [ebx + 0xc], 0
jl 0x449edc
mov eax, dword [ecx]
cmp eax, dword [ebx]
jne 0x449edc
call fcn.004098e7
mov dword [ebp - 0x68], eax
lea edx, [ebx + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x449ed2
mov ecx, dword [ebx]
push ebx
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x58]
add eax, 0x10
mov dword [ebx], eax
jmp 0x449eef
push dword [edx - 0xc]
mov ebx, dword [ebp - 0x58]
mov ecx, ebx
push edx
call fcn.0040942f
jmp 0x449eef
mov ebx, dword [ebp - 0x58]
or dword [ebp - 4], 0xffffffff
or eax, 0xffffffff
mov edx, dword [ebp - 0x6c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x449f0e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, 0x100
call fcn.004f0800
mov ecx, esp
mov edx, 0x100
push dword [ebp - 0x54]
push 0x77
push dword [0xd584c8]
call fcn.004e1a81
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x54]
push str._s:__d_MB_r_n
push eax
call fcn.00423158
add esp, 0x10
mov dword [ebp - 4], 1
mov ecx, ebx
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040a860
or ebx, 0xffffffff
mov dword [ebp - 4], ebx
mov eax, ebx
mov edx, dword [ebp - 0x54]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x449f77
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, 0x100
call fcn.004f0800
mov ecx, esp
mov edx, 0x100
push edi
push 0x76
push dword [0xd584c8]
call fcn.004e1a81
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x54]
push str._s:__d_MB_r_n
push eax
call fcn.00423158
add esp, 0x10
mov edi, dword [ebp - 0x58]
mov ecx, edi
mov dword [ebp - 4], 2
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040a860
mov dword [ebp - 4], ebx
mov eax, ebx
mov edx, dword [ebp - 0x54]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x449fde
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, 0x100
call fcn.004f0800
mov ecx, esp
mov edx, 0x100
push esi
push 0x78
push dword [0xd584c8]
call fcn.004e1a81
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x54]
push str._s:__d_MB_r_n
push eax
call fcn.00423158
add esp, 0x10
mov dword [ebp - 4], 3
mov ecx, edi
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040a860
mov dword [ebp - 4], ebx
mov eax, ebx
mov edx, dword [ebp - 0x54]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44a042
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0xd5c718]
mov dword [ebp - 0x54], ecx
cmp eax, dword [ecx + 4]
jle 0x44a091
mov esi, 0xd5c718
push esi
call fcn.004efe9f
pop ecx
cmp dword [0xd5c718], ebx
jne 0x44a091
xor eax, eax
push 0x517955
mov dword [0xd5c71c], eax
mov dword [0xd5c720], eax
mov dword [0xd5c724], eax
call fcn.004f0205
pop ecx
push esi
call fcn.004efe55
pop ecx
push dword [0xd5c720]
push dword [0xd5c71c]
call fcn.0044f025
mov ebx, dword [ebp - 0x5c]
mov eax, dword [0xd5c71c]
mov ecx, eax
mov dword [0xd5c720], ecx
mov esi, dword [ebx + 0x420c]
cmp esi, dword [ebx + 0x4210]
je 0x44a121
mov eax, dword [esi + 0x1c]
shr eax, 0xa
cmp eax, 0x28
jbe 0x44a108
push dword [esi + 0xc]
lea ecx, [ebp - 0x60]
push eax
call fcn.00448e4c
push eax
mov ecx, 0xd5c71c
mov dword [ebp - 4], 4
call fcn.0044eac7
or dword [ebp - 4], 0xffffffff
or eax, 0xffffffff
mov edx, dword [ebp - 0x5c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44a108
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0x140
cmp esi, dword [ebx + 0x4210]
jne 0x44a0c0
mov ecx, dword [0xd5c720]
mov eax, dword [0xd5c71c]
push ecx
push eax
call fcn.0044f937
pop ecx
pop ecx
mov ecx, dword [0xd5c71c]
mov esi, ecx
cmp esi, dword [0xd5c720]
je 0x44a1a4
mov eax, esi
sub eax, ecx
and eax, 0xfffffff8
cmp eax, 0xa0
jge 0x44a1a4
push dword [esi]
lea eax, [ebp - 0x5c]
push dword [esi + 4]
push str._r_n_s__d_MB
push eax
call fcn.00423158
add esp, 0x10
mov dword [ebp - 4], 5
mov ecx, edi
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040a860
or dword [ebp - 4], 0xffffffff
or eax, 0xffffffff
mov edx, dword [ebp - 0x5c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44a191
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 8
cmp esi, dword [0xd5c720]
je 0x44a1a4
mov ecx, dword [0xd5c71c]
jmp 0x44a13a
mov esi, 0x100
mov eax, esi
call fcn.004f0800
mov ecx, esp
mov edx, esi
push 0x78
push dword [0xd584c8]
call fcn.004e1a81
push eax
lea eax, [ebp - 0x5c]
push str._r_n_r_n_s:
push eax
call fcn.00423158
add esp, 0x14
mov dword [ebp - 4], 6
mov ecx, edi
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040a860
or dword [ebp - 4], 0xffffffff
or eax, 0xffffffff
mov edx, dword [ebp - 0x5c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44a206
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x54]
mov eax, dword [0xd5c728]
cmp eax, dword [ecx + 4]
jle 0x44a24e
mov esi, 0xd5c728
push esi
call fcn.004efe9f
cmp dword [0xd5c728], 0xffffffff
pop ecx
jne 0x44a24e
xor eax, eax
push 0x517913
mov dword [0xd5c72c], eax
mov dword [0xd5c730], eax
mov dword [0xd5c734], eax
call fcn.004f0205
pop ecx
push esi
call fcn.004efe55
pop ecx
push dword [0xd5c730]
push dword [0xd5c72c]
call fcn.0044f025
mov eax, dword [0xd5c72c]
mov ecx, eax
mov dword [0xd5c730], ecx
mov esi, dword [ebx + 0x420c]
cmp esi, dword [ebx + 0x4210]
je 0x44a2de
mov eax, dword [esi + 0xdc]
shr eax, 0xa
cmp eax, 0x28
jbe 0x44a2c5
push dword [esi + 0xc]
lea ecx, [ebp - 0x60]
push eax
call fcn.00448e4c
push eax
mov ecx, 0xd5c72c
mov dword [ebp - 4], 7
call fcn.0044eac7
or dword [ebp - 4], 0xffffffff
or eax, 0xffffffff
mov edx, dword [ebp - 0x5c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44a2c5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0x140
cmp esi, dword [ebx + 0x4210]
jne 0x44a27a
mov ecx, dword [0xd5c730]
mov eax, dword [0xd5c72c]
push ecx
push eax
call fcn.0044f937
pop ecx
pop ecx
mov ecx, dword [0xd5c72c]
mov esi, ecx
cmp esi, dword [0xd5c730]
je 0x44a35f
push 8
pop ebx
mov eax, esi
sub eax, ecx
and eax, 0xfffffff8
cmp eax, 0xa0
jge 0x44a35f
push dword [esi]
lea eax, [ebp - 0x68]
push dword [esi + 4]
push str._r_n_s__d_MB
push eax
call fcn.00423158
add esp, 0x10
mov dword [ebp - 4], ebx
mov ecx, edi
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040a860
or dword [ebp - 4], 0xffffffff
or eax, 0xffffffff
mov edx, dword [ebp - 0x68]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x44a34d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, ebx
cmp esi, dword [0xd5c730]
je 0x44a35f
mov ecx, dword [0xd5c72c]
jmp 0x44a2fa
mov eax, dword [ebp - 0x64]
lea esp, [ebp - 0x7c]
call fcn.00506076
ret 4