Function at 0x1002a562
Capabilities:
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100685d3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x228
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x1002a59c
push 1
call fcn.1002b164
pop ecx
jmp 0x1002b153
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0xdc], eax
lea eax, [ebp + 8]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x110]
movzx eax, byte [eax]
test eax, eax
je 0x1002b0f0
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x48], 0xb9f9b31
mov dword [ebp - 0x1e0], 0x693e9323
mov dword [ebp - 0x4c], 0
jmp 0x1002a5fb
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 3
jge 0x1002a611
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x210], 1
jmp 0x1002a5f4
mov dword [ebp - 0x48], 0
jmp 0x1002a621
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0xa
jne 0x1002a72d
mov dword [ebp - 0x58], 0x85c6f1bf
mov dword [ebp - 0x1a4], 0xffffffff
mov dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1b4], 0xffffffff
mov dword [ebp - 0x58], 0
jmp 0x1002a660
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0x12
jge 0x1002a728
mov dword [ebp - 0x16c], 0x3e38693
mov dword [ebp - 0x168], 0x3e38693
mov dword [ebp - 0x164], 0x3e38693
mov dword [ebp - 0x160], 0x3e38693
lea ecx, [ebp - 0x6d]
call fcn.1001b458
push eax
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x16c]
push eax
lea ecx, [ebp - 0x204]
call fcn.1001b45b
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x190]
call fcn.1001b407
and dword [ebp - 4], 0
push 0x1090
lea eax, [ebp - 0x190]
push eax
push 0x50ea
push 0x25c2
push 0x6150
push 0x63d
push 1
push 1
push 0x12f5
call fcn.10026634
add esp, 0x24
mov byte [ebp - 0x22], 0
movzx eax, byte [ebp - 0x22]
test eax, eax
je 0x1002a714
push 0xb77
push 0
push 0
call dword [sym.imp.GDI32.dll_TranslateCharsetInfo]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x190]
call fcn.1001b42d
jmp 0x1002a659
jmp 0x1002a61a
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x54]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
lea eax, [eax + ecx + 0x18]
mov dword [ebp - 0x14], eax
and dword [ebp - 0x6c], 0
jmp 0x1002a758
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x14]
add eax, 0x28
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
movzx eax, word [eax + 6]
cmp dword [ebp - 0x6c], eax
jge 0x1002b0ee
push 2
lea ecx, [ebp - 0x1c0]
call fcn.1001b3ab
mov dword [ebp - 4], 1
mov dword [ebp - 0x50], 0xffffffff
mov dword [ebp - 0xd8], 0xffffffff
mov dword [ebp - 0xc4], 1
mov dword [ebp - 0x20], 0
jmp 0x1002a7a9
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jge 0x1002a7c5
push dword [ebp - 0x20]
lea ecx, [ebp - 0x1c0]
call fcn.1001b449
mov dword [eax], 1
jmp 0x1002a7a2
mov dword [ebp - 0x20], 0
jmp 0x1002a7d5
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x1002a7eb
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x1a0], 0x5dec4f3f
jmp 0x1002a7ce
mov dword [ebp - 0x50], 1
jmp 0x1002a7fb
mov eax, dword [ebp - 0x50]
dec eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
jl 0x1002a923
mov dword [ebp - 0xbc], 0xffffffff
mov dword [ebp - 0xd0], 0xda585283
push 3
lea ecx, [ebp - 0x1b0]
call fcn.1001b3ab
mov byte [ebp - 4], 2
push 0x2272
lea eax, [ebp - 0x1b0]
push eax
push 0
lea eax, [ebp - 0x30]
push eax
push 0
call fcn.1002a562
add esp, 0x14
mov dword [ebp - 0x30], 0
jmp 0x1002a856
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 2
jge 0x1002a86c
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x11c], 0xa700
jmp 0x1002a84f
mov dword [ebp - 0xd0], 1
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x11c]
push 4
pop ecx
shl ecx, 0
mov ecx, dword [ebp + ecx - 0x11c]
dec ecx
push 4
pop edx
shl edx, 0
mov dword [ebp + edx - 0x11c], ecx
test eax, eax
jne 0x1002a8d7
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x1a0]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x17c], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x1a0], 0
jne 0x1002a8d7
and dword [ebp - 0x78], 0
jmp 0x1002a8de
mov dword [ebp - 0x78], 1
mov eax, dword [ebp - 0xbc]
imul eax, dword [ebp - 0x78]
cmp eax, dword [ebp - 0xc4]
jne 0x1002a8fc
mov dword [ebp - 0x84], 1
jmp 0x1002a903
and dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xd8], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1b0]
call fcn.1001b42d
jmp 0x1002a7f4
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c0]
call fcn.1001b42d
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
and eax, 0x20000000
je 0x1002a94b
mov dword [ebp - 0xa4], 1
jmp 0x1002a952
and dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
and eax, 0x40000000
je 0x1002a977
mov dword [ebp - 0x8c], 1
jmp 0x1002a97e
and dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0x28], 0xfffffffc
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x13c], 0x76eea530
push 3
lea ecx, [ebp - 0x10c]
call fcn.1001b3ab
mov dword [ebp - 4], 3
mov dword [ebp - 0x114], 0x887c5c6a
mov dword [ebp - 0x180], 1
mov dword [ebp - 0x18], 0
jmp 0x1002a9dd
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x1002a9f9
push dword [ebp - 0x18]
lea ecx, [ebp - 0x10c]
call fcn.1001b449
mov dword [eax], 0xfffffff9
jmp 0x1002a9d6
mov dword [ebp - 0x18], 0
jmp 0x1002aa09
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x1002aa1f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x238], 1
jmp 0x1002aa02
push 0x4d60
push 0
push 0x2950
push 0x51e7
push 0x40d2
push 1
call fcn.1003fe62
add esp, 0x18
mov dword [ebp - 0x28], 0xfffffff8
jmp 0x1002aa4f
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x16
jle 0x1002acd8
mov dword [ebp - 0x2c], 0xfffa
mov dword [ebp - 0x158], 1
mov dword [ebp - 0x154], 1
mov dword [ebp - 0x150], 1
mov dword [ebp - 0x14c], 1
lea ecx, [ebp - 0x65]
call fcn.1001b458
push eax
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x1fc]
call fcn.1001b45b
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x138]
call fcn.1001b407
mov byte [ebp - 4], 4
push 1
lea ecx, [ebp - 0x178]
call fcn.1001b3ab
mov byte [ebp - 4], 5
mov dword [ebp - 0x1c], 0
jmp 0x1002aadf
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 1
jge 0x1002aaf5
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x1e4], 1
jmp 0x1002aad8
mov dword [ebp - 0x1c], 0
jmp 0x1002ab05
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 1
jge 0x1002ab21
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x178]
call fcn.1001b449
mov dword [eax], 0x34832001
jmp 0x1002aafe
mov eax, 0xb5bf2d3f
test eax, eax
je 0x1002ab48
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x1002ab48
mov dword [ebp - 0xac], 1
jmp 0x1002ab4f
and dword [ebp - 0xac], 0
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x2c]
dec eax
je 0x1002ab85
push 2
lea ecx, [ebp - 0x10c]
call fcn.1001b449
cmp dword [eax], 0
je 0x1002ab85
mov dword [ebp - 0x94], 1
jmp 0x1002ab8c
and dword [ebp - 0x94], 0
cmp dword [ebp - 0x94], 0xfffffffe
jne 0x1002aba1
mov dword [ebp - 0xe0], 1
jmp 0x1002aba8
and dword [ebp - 0xe0], 0
push 0
lea ecx, [ebp - 0x138]
call fcn.1001b449
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x184], eax
push 1
lea ecx, [ebp - 0x10c]
call fcn.1001b449
push 0
lea ecx, [ebp - 0x138]
call fcn.1001b449
mov ecx, dword [ebp - 0xac]
cmp ecx, dword [eax]
jne 0x1002abee
mov dword [ebp - 0x9c], 1
jmp 0x1002abf5
and dword [ebp - 0x9c], 0
push 0
lea ecx, [ebp - 0x138]
call fcn.1001b449
mov ecx, dword [ebp - 0x9c]
cmp ecx, dword [eax]
jne 0x1002ac15
mov dword [ebp - 0x7c], 1
jmp 0x1002ac19
and dword [ebp - 0x7c], 0
mov esi, dword [ebp - 0x2c]
imul esi, dword [ebp - 0x7c]
push 3
lea ecx, [ebp - 0x138]
call fcn.1001b449
cmp esi, dword [eax]
jg 0x1002ac3a
mov dword [ebp - 0x80], 1
jmp 0x1002ac3e
and dword [ebp - 0x80], 0
mov esi, dword [ebp - 0x80]
sub esi, 0x9ca4f06
push 2
lea ecx, [ebp - 0x10c]
call fcn.1001b449
cmp esi, dword [eax]
jge 0x1002ac67
cmp dword [ebp - 0x28], 0
jne 0x1002ac67
and dword [ebp - 0x88], 0
jmp 0x1002ac71
mov dword [ebp - 0x88], 1
cmp dword [ebp - 0x88], 0xffff
je 0x1002ac8c
cmp dword [ebp - 0x2c], 0
jne 0x1002ac8c
and dword [ebp - 0x90], 0
jmp 0x1002ac96
mov dword [ebp - 0x90], 1
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x114], eax
push 0
lea ecx, [ebp - 0x178]
call fcn.1001b449
mov dword [eax], 1
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x178]
call fcn.1001b42d
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x138]
call fcn.1001b42d
jmp 0x1002aa48
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10c]
call fcn.1001b42d
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
and eax, 0x80000000
je 0x1002ad00
mov dword [ebp - 0x98], 1
jmp 0x1002ad07
and dword [ebp - 0x98], 0
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
and eax, 0x2000000
je 0x1002aea4
push 0x4000
mov eax, dword [ebp - 0x14]
push dword [eax + 0x10]
mov eax, dword [ebp - 0x14]
push dword [eax + 8]
push 0x47aa
push 0x3a7c
call fcn.100238b4
pop ecx
pop ecx
call eax
mov dword [ebp - 0x44], 0xf5540d7f
mov dword [ebp - 0x1d0], 1
mov dword [ebp - 0xe8], 0x8b39
mov dword [ebp - 0x40], 0
jmp 0x1002ad73
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 3
jge 0x1002ad89
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x1f4], 0xffffffff
jmp 0x1002ad6c
mov dword [ebp - 0x44], 0xfffffff0
jmp 0x1002ad99
mov eax, dword [ebp - 0x44]
dec eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xffffffef
jge 0x1002ae9f
mov dword [ebp - 0x194], 0
mov dword [ebp - 0x74], 0x992f
mov dword [ebp - 0x3c], 0
jmp 0x1002adc4
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 2
jge 0x1002adda
mov eax, dword [ebp - 0x3c]
mov dword [ebp + eax*4 - 0x144], 0x51ea66e5
jmp 0x1002adbd
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xa0], eax
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0xa0]
mov dword [ebp + eax - 0x1f4], ecx
cmp dword [ebp - 0xa0], 0x4b25b3b9
jg 0x1002ae14
mov dword [ebp - 0xb0], 1
jmp 0x1002ae1b
and dword [ebp - 0xb0], 0
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xa8], eax
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0xa8]
mov dword [ebp + eax - 0x144], ecx
xor eax, eax
sub eax, dword [ebp - 0xa8]
cmp dword [ebp - 0xb0], eax
jle 0x1002ae7d
mov byte [ebp - 0x23], 0
movzx eax, byte [ebp - 0x23]
test eax, eax
je 0x1002ae7b
push 0x3e59
push 0x1359
push 0x693a
push 1
push 0x7676
push 0
push 0x71f8
call fcn.1003a444
add esp, 0x1c
jmp 0x1002ae9a
mov dword [ebp - 0x12c], 0xfffffff9
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x12c]
mov dword [ebp + eax - 0x144], ecx
jmp 0x1002ad92
jmp 0x1002a748
push dword [ebp - 0xf0]
push 0x244d
push 0x6fc6
push 0x15bd
push dword [ebp - 0x14]
push 0x108b
push dword [ebp - 0x120]
push 1
push dword [ebp - 0xf8]
lea eax, [ebp - 0xcc]
push eax
push 0
call fcn.1003e8d2
add esp, 0x2c
push 0
push 0x5321
push 0x2d7b
lea eax, [ebp - 0xc0]
push eax
push 1
push 0x2740
push dword [ebp - 0x54]
push 0x34cc
push dword [ebp - 0x14]
call fcn.10039fb1
add esp, 0x24
cmp dword [ebp - 0xc0], 0
jbe 0x1002b0e9
push 2
lea ecx, [ebp - 0x1dc]
call fcn.1001b3ab
mov dword [ebp - 4], 6
mov dword [ebp - 0x38], 0x8d4081c2
mov dword [ebp - 0x5c], 0
jmp 0x1002af45
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 2
jge 0x1002af61
push dword [ebp - 0x5c]
lea ecx, [ebp - 0x1dc]
call fcn.1001b449
mov dword [eax], 0x1713
jmp 0x1002af3e
mov dword [ebp - 0x38], 1
jmp 0x1002af71
mov eax, dword [ebp - 0x38]
dec eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jl 0x1002b0ae
mov dword [ebp - 0xb8], 0x6c4c
mov dword [ebp - 0xc8], 0x10009a54
cmp dword [ebp - 0xb8], 0x6d60
jle 0x1002b029
and dword [ebp - 0x64], 0
jmp 0x1002afac
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0x84c
jge 0x1002b021
and dword [ebp - 0x60], 0
jmp 0x1002afc2
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x6b7e
jge 0x1002b01f
mov eax, dword [ebp - 0x64]
cdq
idiv dword [ebp - 0x60]
mov eax, edx
cdq
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], edx
push dword [ebp - 0x124]
push dword [ebp - 0x128]
lea ecx, [ebp - 0x228]
call fcn.1000d8ea
pop ecx
pop ecx
mov dword [ebp - 0x100], eax
mov ecx, dword [ebp - 0x100]
call fcn.1001b15a
push eax
call fcn.10052776
pop ecx
lea ecx, [ebp - 0x228]
call fcn.1001b150
jmp 0x1002afbb
jmp 0x1002afa5
push 0
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov byte [ebp - 0x21], 0
mov byte [ebp - 4], 7
cmp dword [ebp - 0xb8], 0x6ac2
jge 0x1002b049
push dword [ebp - 0xc8]
call fcn.10052776
pop ecx
jmp 0x1002b065
mov dword [ebp - 4], 6
jmp 0x1002b075
movzx eax, byte [ebp - 0x21]
test eax, eax
je 0x1002b0a9
push 0x9e7
push 0x649b
push 0x4421
push 0x69c4
push 0x3a8d
push 1
push 1
push 0
push 0x3631
call fcn.1002863e
add esp, 0x24
jmp 0x1002af6a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1dc]
call fcn.1001b42d
lea eax, [ebp - 0x1e8]
push eax
push dword [ebp - 0xcc]
push dword [ebp - 0xc0]
mov eax, dword [ebp - 0x14]
push dword [eax + 8]
push 0x47aa
push 0x43e6
call fcn.100238b4
pop ecx
pop ecx
call eax
jmp 0x1002a748
jmp 0x1002b153
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x34]
mov dword [eax], 0
jmp 0x1002b133
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x34]
mov dword [ecx], eax
mov eax, dword [ebp - 0x34]
cmp dword [eax], 3
jge 0x1002b153
mov eax, dword [ebp - 0x34]
push dword [eax]
mov ecx, dword [ebp - 0xf4]
call fcn.1001b449
mov dword [eax], 1
jmp 0x1002b128
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret