Function at 0x1002a267
Capabilities:
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10084965
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x154
push esi
mov dword [ebp - 0x60], 0xbc662a2b
mov dword [ebp - 0x34], 0x7d50f82b
mov dword [ebp - 0xc4], 0x260d
mov dword [ebp - 0xf4], 0xfffffff8
mov dword [ebp - 0x14], 0
jmp 0x1002a2b8
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x1002a2ce
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x150], 0x37400631
jmp 0x1002a2b1
mov dword [ebp - 0x14], 0
jmp 0x1002a2de
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x1002a2f4
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x100], 4
jmp 0x1002a2d7
mov eax, 0xfe04
test eax, eax
je 0x1002a3e1
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x150], 0
jne 0x1002a36a
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0xc4], 3
jbe 0x1002a32e
mov dword [ebp - 0x84], 1
jmp 0x1002a335
and dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x84], eax
jge 0x1002a34c
mov dword [ebp - 0xcc], 1
jmp 0x1002a353
and dword [ebp - 0xcc], 0
mov eax, dword [ebp - 0xf4]
cmp dword [ebp - 0xcc], eax
jge 0x1002a36a
and dword [ebp - 0xd0], 0
jmp 0x1002a374
mov dword [ebp - 0xd0], 1
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x150]
mov dword [ebp - 0x134], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x100]
inc eax
mov dword [ebp - 0xc0], eax
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0xc0]
mov dword [ebp + eax - 0x100], ecx
mov eax, dword [ebp - 0x60]
imul eax, dword [ebp - 0xc0]
cmp eax, dword [ebp - 0xc4]
jle 0x1002a3c9
mov dword [ebp - 0x70], 1
jmp 0x1002a3cd
and dword [ebp - 0x70], 0
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x70]
je 0x1002a3e1
mov dword [ebp - 0xa0], 1
jmp 0x1002a3e8
and dword [ebp - 0xa0], 0
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0xa0]
cmp eax, dword [ebp - 0x60]
jle 0x1002a400
mov dword [ebp - 0x78], 1
jmp 0x1002a404
and dword [ebp - 0x78], 0
cmp dword [ebp - 0x78], 0xfe6b87c2
ja 0x1002a419
mov dword [ebp - 0xb8], 1
jmp 0x1002a420
and dword [ebp - 0xb8], 0
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x30], eax
push 3
lea ecx, [ebp - 0x118]
call fcn.10028d1f
and dword [ebp - 4], 0
mov dword [ebp - 0x68], 0xfffffff9
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x18], 0
push 3
lea ecx, [ebp - 0x40]
call fcn.10028d1f
mov byte [ebp - 4], 1
mov dword [ebp - 0x1c], 0x48ae
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x10], 0
jmp 0x1002a481
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x1002a49d
push dword [ebp - 0x10]
lea ecx, [ebp - 0x118]
call fcn.10028dbd
mov dword [eax], 0xfffffffd
jmp 0x1002a47a
mov dword [ebp - 0x10], 0
jmp 0x1002a4ad
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x1002a4c3
push dword [ebp - 0x10]
lea ecx, [ebp - 0x40]
call fcn.10028dbd
and dword [eax], 0
jmp 0x1002a4a6
mov dword [ebp - 0x10], 0
jmp 0x1002a4d3
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1002a4e9
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x160], 0xffffffff
jmp 0x1002a4cc
mov eax, 0xfe2c
test eax, eax
je 0x1002a5c0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x120], eax
push 1
lea ecx, [ebp - 0x40]
call fcn.10028dbd
mov eax, 0xffff
cmp eax, 0x3ae5
jae 0x1002a52a
cmp dword [ebp - 0x24], 0
jne 0x1002a52a
mov eax, 0x4e62b500
test eax, eax
jne 0x1002a52a
and dword [ebp - 0x80], 0
jmp 0x1002a531
mov dword [ebp - 0x80], 1
cmp dword [ebp - 0x80], 0x57cf
jl 0x1002a546
mov dword [ebp - 0xa8], 1
jmp 0x1002a54d
and dword [ebp - 0xa8], 0
push 0
lea ecx, [ebp - 0x40]
call fcn.10028dbd
mov ecx, dword [ebp - 0xa8]
imul ecx, dword [eax]
sub ecx, 0x7420
je 0x1002a57d
mov eax, 0x1bca3396
test eax, eax
je 0x1002a57d
mov dword [ebp - 0x88], 1
jmp 0x1002a584
and dword [ebp - 0x88], 0
cmp dword [ebp - 0x88], 0xffffffff
jae 0x1002a599
mov dword [ebp - 0xc8], 1
jmp 0x1002a5a0
and dword [ebp - 0xc8], 0
push 2
lea ecx, [ebp - 0x40]
call fcn.10028dbd
mov ecx, dword [ebp - 0xc8]
cmp ecx, dword [eax]
jge 0x1002a5c0
mov dword [ebp - 0x90], 1
jmp 0x1002a5c7
and dword [ebp - 0x90], 0
mov eax, dword [ebp - 0x90]
sub eax, dword [ebp - 0x18]
cmp dword [ebp - 0x24], eax
jl 0x1002a5ea
cmp dword [ebp - 0x1c], 0
jne 0x1002a5ea
cmp dword [ebp - 0x1c], 0
jne 0x1002a5ea
and dword [ebp - 0xf8], 0
jmp 0x1002a5f4
mov dword [ebp - 0xf8], 1
push 1
lea ecx, [ebp - 0x40]
call fcn.10028dbd
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x140], eax
push 1
lea ecx, [ebp - 0x40]
call fcn.10028dbd
xor esi, esi
inc esi
sub esi, dword [eax]
push 0
lea ecx, [ebp - 0x40]
call fcn.10028dbd
imul esi, dword [eax]
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x12c], eax
push 2
lea ecx, [ebp - 0x40]
call fcn.10028dbd
xor eax, eax
inc eax
inc eax
cmp eax, 1
jge 0x1002a672
mov dword [ebp - 0xb0], 1
jmp 0x1002a679
and dword [ebp - 0xb0], 0
push 0
lea ecx, [ebp - 0x40]
call fcn.10028dbd
mov ecx, dword [ebp - 0xb0]
cmp ecx, dword [eax]
jl 0x1002a699
mov dword [ebp - 0x98], 1
jmp 0x1002a6a0
and dword [ebp - 0x98], 0
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x98]
je 0x1002a6bc
xor eax, eax
inc eax
je 0x1002a6bc
mov dword [ebp - 0xec], 1
jmp 0x1002a6c3
and dword [ebp - 0xec], 0
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x160]
mov dword [ebp - 0x13c], eax
push 0
lea ecx, [ebp - 0x118]
call fcn.10028dbd
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x58]
mov dword [ecx], eax
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x68], eax
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x160]
cmp dword [ebp - 0x68], eax
jle 0x1002a714
mov dword [ebp - 0x6c], 1
jmp 0x1002a718
and dword [ebp - 0x6c], 0
push 1
lea ecx, [ebp - 0x40]
call fcn.10028dbd
mov ecx, dword [ebp - 0x6c]
sub ecx, dword [eax]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x2c], 0
jmp 0x1002a73a
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 2
jg 0x1002a832
mov dword [ebp - 0x18], 3
jmp 0x1002a754
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jl 0x1002a82d
mov dword [ebp - 0xdc], 0xab2a44bf
mov dword [ebp - 0x24], 2
jmp 0x1002a778
mov eax, dword [ebp - 0x24]
dec eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jl 0x1002a813
mov byte [ebp - 0x25], 0
movzx eax, byte [ebp - 0x25]
test eax, eax
je 0x1002a7d8
push 0x114a
push 0x1981
push 0
push 0
push 0x22ac
push 0x21a6
push 0x4b5
push 0x2310
push 0x1185
push 0xe4a
push 0x249d
push 0x515
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_StretchDIBits]
mov dword [ebp - 0x1c], 0
jmp 0x1002a7e8
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jg 0x1002a80e
mov byte [ebp - 0x26], 0
movzx eax, byte [ebp - 0x26]
test eax, eax
je 0x1002a802
push 0
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov dword [ebp - 0xdc], 0xffffc022
jmp 0x1002a7e1
jmp 0x1002a771
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x40]
call fcn.10028dbd
cmp dword [eax], 0
je 0x1002a828
jmp 0x1002a74d
jmp 0x1002a74d
jmp 0x1002a733
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.10028da1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x118]
call fcn.10028da1
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xe4], eax
push 3
lea ecx, [ebp - 0x4c]
call fcn.10028d1f
mov dword [ebp - 4], 2
mov dword [ebp - 0x5c], 0xc4e2bf5
mov dword [ebp - 0x54], 0
push 3
lea ecx, [ebp - 0x10c]
call fcn.10028d1f
mov byte [ebp - 4], 3
mov dword [ebp - 0xd4], 0xfffffff6
mov dword [ebp - 0x20], 0
jmp 0x1002a8a0
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x1002a8b9
push dword [ebp - 0x20]
lea ecx, [ebp - 0x4c]
call fcn.10028dbd
mov dword [eax], 1
jmp 0x1002a899
mov dword [ebp - 0x20], 0
jmp 0x1002a8c9
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x1002a8e5
push dword [ebp - 0x20]
lea ecx, [ebp - 0x10c]
call fcn.10028dbd
mov dword [eax], 0xe8af
jmp 0x1002a8c2
push 0
lea ecx, [ebp - 0x4c]
call fcn.10028dbd
cmp dword [eax], 0x5245
jle 0x1002a900
mov dword [ebp - 0x74], 1
jmp 0x1002a904
and dword [ebp - 0x74], 0
cmp dword [ebp - 0x74], 0xffff
jne 0x1002a919
mov dword [ebp - 0xe0], 1
jmp 0x1002a920
and dword [ebp - 0xe0], 0
push 0
lea ecx, [ebp - 0x4c]
call fcn.10028dbd
mov eax, dword [eax]
sub eax, 0x66e9
jne 0x1002a948
push 0
lea ecx, [ebp - 0x4c]
call fcn.10028dbd
cmp dword [eax], 0
jne 0x1002a948
and dword [ebp - 0x7c], 0
jmp 0x1002a94f
mov dword [ebp - 0x7c], 1
imul esi, dword [ebp - 0x7c], 0xd54
push 0
lea ecx, [ebp - 0x4c]
call fcn.10028dbd
cmp esi, dword [eax]
je 0x1002a96d
mov dword [ebp - 0x64], 1
jmp 0x1002a971
and dword [ebp - 0x64], 0
cmp dword [ebp - 0x64], 0xffffffff
jle 0x1002a983
mov dword [ebp - 0x8c], 1
jmp 0x1002a98a
and dword [ebp - 0x8c], 0
push 0
lea ecx, [ebp - 0x4c]
call fcn.10028dbd
imul ecx, dword [ebp - 0x8c], 0x7412
add ecx, dword [eax]
cmp ecx, 0xfffffff8
jl 0x1002a9b1
mov dword [ebp - 0x94], 1
jmp 0x1002a9b8
and dword [ebp - 0x94], 0
mov eax, dword [ebp - 0x5c]
imul eax, dword [ebp - 0x94]
neg eax
xor ecx, ecx
sub ecx, eax
jne 0x1002a9e2
push 0
lea ecx, [ebp - 0x4c]
call fcn.10028dbd
cmp dword [eax], 0
jne 0x1002a9e2
and dword [ebp - 0x9c], 0
jmp 0x1002a9ec
mov dword [ebp - 0x9c], 1
push 2
lea ecx, [ebp - 0x4c]
call fcn.10028dbd
mov ecx, dword [ebp - 0x9c]
cmp ecx, dword [eax]
jge 0x1002aa0c
mov dword [ebp - 0xa4], 1
jmp 0x1002aa13
and dword [ebp - 0xa4], 0
push 0
lea ecx, [ebp - 0x4c]
call fcn.10028dbd
mov ecx, dword [ebp - 0xa4]
mov dword [eax], ecx
cmp dword [ebp - 0x5c], 0xfffffff8
jne 0x1002aa37
mov dword [ebp - 0xac], 1
jmp 0x1002aa3e
and dword [ebp - 0xac], 0
push 0
lea ecx, [ebp - 0x10c]
call fcn.10028dbd
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
add eax, dword [ebp - 0xac]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x50]
mov dword [ecx], eax
cmp dword [ebp - 0xf0], 5
jne 0x1002aa7f
mov dword [ebp - 0xe8], 1
jmp 0x1002aa86
and dword [ebp - 0xe8], 0
push 0
lea ecx, [ebp - 0x4c]
call fcn.10028dbd
push 0
lea ecx, [ebp - 0x4c]
call fcn.10028dbd
mov dword [eax], 0x5ab8
imul eax, dword [ebp - 0x5c], 0x5ab8
test eax, eax
jle 0x1002aabd
cmp dword [ebp - 0x54], 0
je 0x1002aabd
mov dword [ebp - 0xb4], 1
jmp 0x1002aac4
and dword [ebp - 0xb4], 0
mov eax, dword [ebp - 0x54]
cmp dword [ebp - 0xb4], eax
jne 0x1002aadb
mov dword [ebp - 0xd8], 1
jmp 0x1002aae2
and dword [ebp - 0xd8], 0
cmp dword [ebp - 0x54], 0x2370
jle 0x1002aaf7
mov dword [ebp - 0xbc], 1
jmp 0x1002aafe
and dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0xd4], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10c]
call fcn.10028da1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.10028da1
mov eax, dword [ebp - 0x30]
mov dword [eax], 0
jmp 0x1002ab3b
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x30]
mov dword [ecx], eax
mov eax, dword [ebp - 0x30]
cmp dword [eax], 3
jge 0x1002ab5b
mov eax, dword [ebp - 0x30]
push dword [eax]
mov ecx, dword [ebp - 0xe4]
call fcn.10028dbd
mov dword [eax], 0xfffffffd
jmp 0x1002ab30
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret