Function at 0x41521d
Capabilities:
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
push edi
cmp dword [esi], ebx
je 0x415538
push ebx
mov ecx, esi
call fcn.0041da75
cmp al, 0x3c
je 0x415252
mov ecx, esi
call fcn.0041decc
push eax
call fcn.00426353
pop ecx
jmp 0x41553a
cmp dword [0x47f5cc], ebx
push 1
mov dword [ebp + 8], ebx
pop edi
jle 0x41528a
push dword [ebp + 8]
mov ecx, 0x47f5c0
call fcn.0041fb60
mov ebx, eax
push edi
push esi
mov ecx, ebx
call fcn.0041d30f
test al, al
jne 0x4152b8
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp eax, dword [0x47f5cc]
jl 0x415260
push edi
push str._CPUSpeed_
mov ecx, esi
call fcn.0041d393
test al, al
je 0x4152d3
mov eax, dword [0x47f7c8]
cmp eax, 0xffffffff
jne 0x41553a
call fcn.00406ca1
mov dword [0x47f7c8], eax
jmp 0x41553a
cmp dword [ebx + 0x10], 0xffffffff
je 0x4152cb
push dword [ebp + 8]
mov ecx, 0x47f0a8
call fcn.0041bc60
mov eax, dword [ebx + 0x54]
jmp 0x41553a
push edi
push str._CPUType_
mov ecx, esi
call fcn.0041d393
test al, al
je 0x415320
mov eax, dword [0x47f7cc]
cmp eax, 0xffffffff
jne 0x41553a
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.004066e9
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
add esp, 0x10
mov dword [0x47f7cc], eax
mov dword [0x47f7d0], ecx
jmp 0x41553a
push edi
push str._CPUFlags_
mov ecx, esi
call fcn.0041d393
test al, al
je 0x41536c
cmp dword [0x47f7cc], 0xffffffff
jne 0x415362
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 8]
push eax
call fcn.004066e9
mov eax, dword [ebp + 8]
add esp, 0x10
mov dword [0x47f7cc], eax
mov eax, dword [ebp - 4]
mov dword [0x47f7d0], eax
mov eax, dword [0x47f7d0]
jmp 0x41553a
push edi
push str._LanguageID_
mov ecx, esi
call fcn.0041d393
test al, al
je 0x415387
mov eax, dword [0x47f6fc]
jmp 0x41553a
push edi
push str._OSBuild_
mov ecx, esi
call fcn.0041d393
test al, al
je 0x4153a7
mov eax, dword [0x47f2d8]
and eax, 0xffff
jmp 0x41553a
push edi
push str._CurXRes_
mov ecx, esi
call fcn.0041d393
test al, al
je 0x4153f4
cmp dword [0x47f7d4], 0xffffffff
jne 0x4153ea
push dword [0x47f268]
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push 8
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push esi
mov dword [0x47f7d4], eax
push dword [0x47f268]
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [0x47f7d4]
jmp 0x41553a
push edi
push str._CurYRes_
mov ecx, esi
call fcn.0041d393
test al, al
je 0x415441
cmp dword [0x47f7d8], 0xffffffff
jne 0x415437
push dword [0x47f268]
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push 0xa
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push esi
mov dword [0x47f7d8], eax
push dword [0x47f268]
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [0x47f7d8]
jmp 0x41553a
push edi
push str._CurBPP_
mov ecx, esi
call fcn.0041d393
test al, al
je 0x41548e
cmp dword [0x47f7dc], 0xffffffff
jne 0x415484
push dword [0x47f268]
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push 0xc
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push esi
mov dword [0x47f7dc], eax
push dword [0x47f268]
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [0x47f7dc]
jmp 0x41553a
push edi
push str._RAM_
mov ecx, esi
call fcn.0041d393
test al, al
je 0x4154de
mov ecx, dword [0x47f7e0]
cmp ecx, 0xffffffff
jne 0x4154da
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x20
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov ecx, dword [ebp - 0x24]
push 2
shr ecx, 0x14
mov eax, ecx
pop esi
cdq
idiv esi
mov dword [0x47f7e0], ecx
test edx, edx
je 0x4154da
inc ecx
mov dword [0x47f7e0], ecx
mov eax, ecx
jmp 0x41553a
push edi
push str._DirectXVer_
mov ecx, esi
call fcn.0041d393
test al, al
je 0x415516
mov ecx, dword [0x47f7e4]
cmp ecx, 0xffffffff
jne 0x415507
call fcn.004211f3
mov ecx, eax
mov dword [0x47f7e4], ecx
mov eax, ecx
movzx ecx, cx
shr eax, 0x10
shl ecx, 0x10
or eax, ecx
jmp 0x41553a
push edi
push str._.NETVersion_
mov ecx, esi
call fcn.0041d393
test al, al
je 0x415538
call fcn.00420e7b
test eax, eax
jl 0x415538
add eax, 0x64
imul eax, eax, 0x64
jmp 0x41553a
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret