Function at 0x10004a10
Capabilities:
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2f4
mov eax, dword [0x1000d450]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
push 0x220
xor ebx, ebx
lea eax, [ebp - 0x298]
push ebx
push eax
mov dword [ebp - 0x2dc], edi
call dword [0x1000daec]
push 0x20
lea ecx, [ebp - 0x297]
push ecx
push 0x1000d20a
push str.Group
push str.Setting
mov byte [ebp - 0x298], 0xc8
call fcn.10007df0
push 0x10
lea edx, [ebp - 0x78]
push ebx
push edx
call dword [0x1000daec]
mov edx, dword [edi + 0x48]
add esp, 0x2c
lea eax, [ebp - 0x2e8]
push eax
lea ecx, [ebp - 0x78]
push ecx
push edx
mov dword [ebp - 0x2e8], 0x10
call dword [0x1000db28]
push 4
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x274]
push ecx
call dword [0x1000dae8]
lea edx, [ebp - 0x270]
push 0x32
push edx
call fcn.100047f0
add esp, 0x14
lea eax, [ebp - 0x23c]
push eax
mov dword [ebp - 0x23c], 0x9c
call dword [0x1000da38]
lea ecx, [ebp - 0x2ec]
push ecx
lea edx, [ebp - 0x2e0]
push edx
lea eax, [ebp - 0x2e4]
push eax
call fcn.10003800
add esp, 0xc
test eax, eax
je 0x10004b1a
mov ecx, dword [ebp - 0x2e4]
mov edx, dword [ebp - 0x2e0]
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x1a0], ecx
mov dword [ebp - 0x19c], edx
mov dword [ebp - 0x198], eax
lea ecx, [ebp - 0x194]
push ecx
call fcn.10003850
add esp, 4
lea edx, [ebp - 0x2d8]
push edx
mov dword [ebp - 0x2d8], 0x40
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov eax, dword [ebp - 0x2d0]
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [ebp + 0x10]
shrd eax, ecx, 0x14
shr ecx, 0x14
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x180], edx
call fcn.100046d0
mov dword [ebp - 0x17c], eax
call fcn.10004830
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
test eax, eax
push 0x1000d350
lea ecx, [ebp - 0x170]
setne al
push ecx
mov byte [ebp - 0x178], al
call edi
push 0x1000d2bc
lea edx, [ebp - 0x15c]
push edx
call edi
push 0x1000d370
lea eax, [ebp - 0x98]
push eax
call edi
lea ecx, [ebp - 0x2f4]
push ecx
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xcc], ebx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xc0], ebx
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0x2f4], 8
call dword [sym.imp.USER32.dll_GetLastInputInfo]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x2f0]
cmp eax, 0x2bf20
jbe 0x10004c41
mov dword [ebp - 0xd8], 1
mov ecx, esi
call fcn.100072a0
test al, al
je 0x10004c8f
mov edx, dword [esi + 4]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x140], eax
lea eax, [esi + 8]
lea edx, [ebp - 0x13c]
sub edx, eax
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x10004c70
lea eax, [esi + 0x3a]
lea edx, [ebp - 0x10a]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x10004c85
call fcn.10004940
push 0x63
lea ecx, [ebp - 0x67]
push ebx
push ecx
mov esi, eax
mov byte [ebp - 0x68], bl
call sub.MSVCR100.dll_memset
add esp, 0xc
cmp esi, 0x3e8
jl 0x10004cd7
mov eax, 0x10624dd3
imul esi
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
lea ecx, [ebp - 0x68]
push str._u_Gbps
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
lea edx, [ebp - 0x68]
push edx
jmp 0x10004ceb
push esi
lea eax, [ebp - 0x68]
push str._u_Mbps
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea ecx, [ebp - 0x68]
push ecx
call dword [sym.imp.MSVCR100.dll_printf]
mov ecx, dword [ebp - 0x2dc]
add esp, 0x10
push 0x220
lea edx, [ebp - 0x298]
push edx
call fcn.100016e0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100088cc
mov esp, ebp
pop ebp
ret