Function at 0x10057dc0
Capabilities:
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x378
mov eax, dword [0x102519c8]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, ecx
call fcn.10002d70
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x374], eax
mov eax, dword [0x102578e0]
test al, 1
jne 0x10057e19
or eax, 1
mov ecx, 0x102578dc
push 0x10202940
mov dword [0x102578e0], eax
call fcn.10002490
push 0x10200760
call fcn.101c8090
add esp, 4
cmp dword [0x1023cf14], 0
je 0x10057f50
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call sub.msvcrt.dll_memset
push 0x20019
push 0x208
lea eax, [ebp - 0x20c]
push eax
push 1
push str.ProcessorNameString
push str.HARDWAREDESCRIPTIONSystemCentralProcessor0
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.10176900
push 0x40
lea eax, [ebp - 0x24c]
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0x34
mov dword [ebp - 0x24c], 0x40
lea eax, [ebp - 0x24c]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov eax, dword [ebp - 0x244]
mov ecx, dword [ebp - 0x240]
mov dword [ebp - 0x370], eax
mov eax, ecx
and ecx, 0x7fffffff
and eax, 0x80000000
mov dword [ebp - 0x36c], ecx
mov ecx, 0x1024e5d0
fild qword [ebp - 0x370]
mov dword [ebp - 0x36c], eax
lea eax, [ebp - 0x368]
mov dword [ebp - 0x370], 0
push 0
fild qword [ebp - 0x370]
push eax
fchs
faddp st(1)
fstp dword [ebp - 0x36c]
fld dword [ebp - 0x36c]
fmul qword [0x10209608]
fstp dword [ebp - 0x36c]
call fcn.101b11a0
test eax, eax
jne 0x10057f15
lea eax, [ebp - 0x368]
mov dword [ebp - 0x368], 0x114
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
push dword [ebp - 0x360]
fld dword [ebp - 0x36c]
lea eax, [ebp - 0x20c]
push dword [ebp - 0x364]
push eax
sub esp, 8
fstp qword [esp]
push str.ARM:_.2f__cpu:_s__os:_d._d
push 0x102578dc
call fcn.10002cb0
add esp, 0x1c
mov dword [0x1023cf14], 0
mov eax, dword [0x102578dc]
add eax, 0xfffffff0
push eax
call fcn.10002a60
lea esi, [eax + 0x10]
lea eax, [ebp - 0x378]
push eax
call fcn.10057310
add esp, 8
push dword [0x1025a788]
push esi
push dword [eax]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi]
push eax
push dword [edi + 4]
lea eax, [ebp - 0x374]
push dword [edi + 8]
push str._combo_s__type_s__time_d__ver_s__sysInfo_s__lang_s_
push eax
call fcn.10002cb0
mov edx, dword [ebp - 0x378]
or edi, 0xffffffff
add esp, 0x20
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10057fbc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea edx, [esi - 0x10]
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x10057fd3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ebx
push 0x102578c4
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebx, dword [0x102578bc]
mov esi, dword [ebp - 0x374]
cmp dword [0x102578c0], ebx
je 0x1005800d
lea eax, [esi - 0x10]
push eax
call fcn.10002a60
add eax, 0x10
add esp, 4
mov dword [ebx], eax
add dword [0x102578bc], 4
jmp 0x1005801f
lea eax, [ebp - 0x374]
mov ecx, 0x102578b8
push eax
push ebx
call fcn.100048e0
push 0x102578c4
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], edi
dec edi
pop ebx
test edi, edi
jg 0x10058040
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.101f99c6
mov esp, ebp
pop ebp
ret