Function at 0x100310ff
Capabilities:
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10087a2f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x350
push esi
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x10031151
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x104]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0x104]
mov dword [ecx], eax
jmp 0x10032947
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x20c], eax
lea eax, [ebp + 8]
mov dword [ebp - 0x274], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x10], 2
mov dword [ebp - 0x40], 0x82f
mov dword [ebp - 0x22c], 0xfffffff7
mov dword [ebp - 0x94], 0
jmp 0x1003119a
mov eax, dword [ebp - 0x94]
inc eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 2
jge 0x100311b3
mov eax, dword [ebp - 0x94]
mov dword [ebp + eax*4 - 0x3c], 0x3342eb9
jmp 0x1003118d
mov dword [ebp - 0x10], 1
jmp 0x100311c3
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jl 0x1003140c
mov dword [ebp - 0xa0], 0xfffffff7
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x3c]
mov dword [ebp - 0x30c], eax
cmp dword [ebp - 0x10], 0
je 0x100311ff
mov eax, 0x3196
test eax, eax
je 0x100311ff
mov dword [ebp - 0x1cc], 1
jmp 0x10031206
and dword [ebp - 0x1cc], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x1cc], eax
jge 0x1003121d
mov dword [ebp - 0x1e0], 1
jmp 0x10031224
and dword [ebp - 0x1e0], 0
cmp dword [ebp - 0x1e0], 0xfffffff9
jg 0x1003123d
xor eax, eax
je 0x1003123d
mov dword [ebp - 0x1e8], 1
jmp 0x10031244
and dword [ebp - 0x1e8], 0
mov eax, dword [ebp - 0x1e8]
inc eax
cmp eax, dword [ebp - 0x40]
jl 0x1003125c
mov dword [ebp - 0x21c], 1
jmp 0x10031263
and dword [ebp - 0x21c], 0
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x3c], 0xfffffffb
jbe 0x1003127c
mov dword [ebp - 0x1f0], 1
jmp 0x10031283
and dword [ebp - 0x1f0], 0
cmp dword [ebp - 0x1f0], 0x7720
jge 0x1003129b
mov dword [ebp - 0x180], 1
jmp 0x100312a2
and dword [ebp - 0x180], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x180], eax
jne 0x100312bd
xor eax, eax
je 0x100312bd
mov dword [ebp - 0x224], 1
jmp 0x100312c4
and dword [ebp - 0x224], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x3c]
mov dword [ebp - 0x2fc], eax
cmp dword [ebp - 0x40], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x3c]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x3c]
cmp dword [ebp - 0xa0], eax
jg 0x10031300
mov dword [ebp - 0x1c4], 1
jmp 0x10031307
and dword [ebp - 0x1c4], 0
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1c4]
sub ecx, dword [ebp + eax*4 - 0x3c]
push 4
pop eax
shl eax, 0
imul ecx, dword [ebp + eax - 0x3c]
cmp ecx, 0xfffffff6
jne 0x10031330
mov dword [ebp - 0x100], 1
jmp 0x10031337
and dword [ebp - 0x100], 0
imul eax, dword [ebp - 0x100], 0x997
push 4
pop ecx
shl ecx, 0
add eax, dword [ebp + ecx - 0x3c]
jne 0x10031360
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x3c], 0
jne 0x10031360
and dword [ebp - 0x178], 0
jmp 0x1003136a
mov dword [ebp - 0x178], 1
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x3c]
cmp dword [ebp - 0x178], eax
jl 0x10031382
cmp dword [ebp - 0xa0], 0
jne 0x1003138d
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x3c], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x3c], 0x4b79a97a
jl 0x100313b0
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x3c], 0
je 0x100313b0
mov dword [ebp - 0x108], 1
jmp 0x100313b7
and dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x3c]
cmp dword [ebp - 0x108], eax
jle 0x100313d2
mov dword [ebp - 0x17c], 1
jmp 0x100313d9
and dword [ebp - 0x17c], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x3c]
cmp eax, dword [ebp - 0x17c]
jge 0x100313f4
mov dword [ebp - 0x110], 1
jmp 0x100313fb
and dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x22c], eax
jmp 0x100311bc
mov dword [ebp - 0x40], 0
jmp 0x1003141c
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x16
jge 0x10031444
mov byte [ebp - 0x32], 0
movzx eax, byte [ebp - 0x32]
test eax, eax
je 0x10031442
push 0
push 0x51ab
push 0x7b19
call fcn.1002dd3b
add esp, 0xc
jmp 0x10031415
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x20c]
add ecx, dword [eax]
mov dword [ebp - 0x28c], ecx
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
add eax, 8
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x2ac], 0xb2c2
mov dword [ebp - 0x2a8], 0xb2c2
mov dword [ebp - 0x2a4], 0xb2c2
mov dword [ebp - 0x2a0], 0xb2c2
lea ecx, [ebp - 0xb5]
call fcn.10008b83
push eax
lea eax, [ebp - 0x29c]
push eax
lea eax, [ebp - 0x2ac]
push eax
lea ecx, [ebp - 0x35c]
call fcn.10018155
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x33c]
call fcn.1001811b
and dword [ebp - 4], 0
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x9c], 0x2a8358bd
push 1
lea ecx, [ebp - 0x2f0]
call fcn.100180d9
mov byte [ebp - 4], 1
mov dword [ebp - 0x74], 0
jmp 0x100314f5
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 1
jge 0x10031511
push dword [ebp - 0x74]
lea ecx, [ebp - 0x2f0]
call fcn.10018146
mov dword [eax], 0xfffffff6
jmp 0x100314ee
mov dword [ebp - 0x60], 0
jmp 0x10031521
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 3
jg 0x10031664
mov dword [ebp - 0x50], 0xffffffff
mov byte [ebp - 0x2f], 0
movzx eax, byte [ebp - 0x2f]
test eax, eax
je 0x10031546
push 0
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
push 0
push 0x59e8
push 0x7122
lea eax, [ebp - 0x50]
push eax
call fcn.10034238
add esp, 0x10
mov dword [ebp - 0x50], 3
jmp 0x1003156e
mov eax, dword [ebp - 0x50]
dec eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
jl 0x1003165f
mov dword [ebp - 0x23c], 0xffffffff
mov dword [ebp - 0x24c], 0xfffffff9
mov dword [ebp - 0x9c], 0
jmp 0x100315a5
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 3
jg 0x10031639
mov dword [ebp - 0x244], 0xa4aefc51
lea eax, [ebp - 0x2f0]
push eax
lea eax, [ebp - 0x23c]
push eax
push 1
lea eax, [ebp - 0x244]
push eax
push 0x756a
push 0x7990
push 0x79d5
push 0x7628
lea eax, [ebp - 0x50]
push eax
push 0x7c41
push 0x4684
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x33c]
push eax
lea eax, [ebp - 0x60]
push eax
push 0xc6b
call fcn.1002d2bd
add esp, 0x3c
mov byte [ebp - 0x2d], 0
movzx eax, byte [ebp - 0x2d]
test eax, eax
je 0x10031634
push 0x68de
push 1
push 0x5316
call fcn.1002d705
add esp, 0xc
jmp 0x10031598
mov byte [ebp - 0x31], 0
push 0x701d
push 0x60ab
lea eax, [ebp - 0x31]
push eax
push 0
push 0x2f3
call fcn.100341c9
add esp, 0x14
jmp 0x10031567
jmp 0x1003151a
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2f0]
call fcn.10018141
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x33c]
call fcn.10018141
and dword [ebp - 0xac], 0
jmp 0x100316a0
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x7c]
inc eax
inc eax
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
mov eax, dword [eax + 4]
sub eax, 8
shr eax, 1
cmp dword [ebp - 0xac], eax
jae 0x100326f5
push 3
lea ecx, [ebp - 0xd8]
call fcn.100180d9
mov dword [ebp - 4], 2
mov dword [ebp - 0xc0], 0xfffffff9
mov dword [ebp - 0x98], 5
mov dword [ebp - 0x4c], 0x7d0b0a35
push 0x5345
push 0x7c9
push 0x57da
push 0x3a55
push 0x3416
lea eax, [ebp - 0x58]
push eax
push 0x34dd
push 0
lea eax, [ebp - 0xd8]
push eax
push 0x74d5
call fcn.10032d23
add esp, 0x28
mov dword [ebp - 0x58], 0
jmp 0x10031730
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 4
jge 0x10031746
mov eax, dword [ebp - 0x58]
mov dword [ebp + eax*4 - 0x288], 0xd5d70512
jmp 0x10031729
push 0
lea ecx, [ebp - 0xd8]
call fcn.10018146
mov dword [ebp - 0xc0], 1
mov esi, dword [ebp - 0xc0]
push 2
lea ecx, [ebp - 0xd8]
call fcn.10018146
cmp dword [eax], esi
je 0x10031780
mov dword [ebp - 0x1b8], 1
jmp 0x10031787
and dword [ebp - 0x1b8], 0
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x98], eax
mov esi, dword [ebp - 0x98]
push 1
lea ecx, [ebp - 0xd8]
call fcn.10018146
cmp esi, dword [eax]
jge 0x100317b6
mov dword [ebp - 0x118], 1
jmp 0x100317bd
and dword [ebp - 0x118], 0
push 0
lea ecx, [ebp - 0xd8]
call fcn.10018146
mov eax, dword [eax]
cmp eax, dword [ebp - 0x118]
jge 0x100317e0
mov dword [ebp - 0x188], 1
jmp 0x100317e7
and dword [ebp - 0x188], 0
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x5ba13b28
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x288], eax
mov eax, 0x6d99
test eax, eax
je 0x1003182a
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x288], 0
je 0x1003182a
mov dword [ebp - 0x120], 1
jmp 0x10031831
and dword [ebp - 0x120], 0
mov eax, dword [ebp - 0xc0]
cmp dword [ebp - 0x120], eax
je 0x1003184b
mov dword [ebp - 0x1e4], 1
jmp 0x10031852
and dword [ebp - 0x1e4], 0
imul eax, dword [ebp - 0x1e4], 0xb6b
test eax, eax
jne 0x10031872
mov eax, 0xac8ef34e
test eax, eax
jne 0x10031872
and dword [ebp - 0x128], 0
jmp 0x1003187c
mov dword [ebp - 0x128], 1
push 2
lea ecx, [ebp - 0xd8]
call fcn.10018146
mov eax, dword [eax]
cmp eax, dword [ebp - 0x128]
jg 0x1003189f
mov dword [ebp - 0x190], 1
jmp 0x100318a6
and dword [ebp - 0x190], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x288]
cmp dword [ebp - 0x190], eax
jne 0x100318c7
mov dword [ebp - 0x130], 1
jmp 0x100318ce
and dword [ebp - 0x130], 0
push 0
lea ecx, [ebp - 0xd8]
call fcn.10018146
mov ecx, dword [ebp - 0x130]
cmp ecx, dword [eax]
jg 0x100318f1
mov dword [ebp - 0x1c0], 1
jmp 0x100318f8
and dword [ebp - 0x1c0], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x288]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x4c]
imul eax, dword [ebp - 0x1c0]
push 4
pop ecx
imul ecx, ecx, 0
imul eax, dword [ebp + ecx - 0x288]
mov ecx, dword [ebp - 0x98]
add ecx, eax
mov dword [ebp - 0x138], ecx
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x138]
mov dword [ebp + eax - 0x288], ecx
push 2
lea ecx, [ebp - 0xd8]
call fcn.10018146
mov ecx, dword [ebp - 0x138]
cmp ecx, dword [eax]
jle 0x10031967
mov dword [ebp - 0x198], 1
jmp 0x1003196e
and dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x198]
je 0x10031985
mov dword [ebp - 0x140], 1
jmp 0x1003198c
and dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x4c]
imul eax, dword [ebp - 0x140]
test eax, eax
je 0x100319af
mov eax, 0x6a68
test eax, eax
je 0x100319af
mov dword [ebp - 0x254], 1
jmp 0x100319b6
and dword [ebp - 0x254], 0
push 0
lea ecx, [ebp - 0xd8]
call fcn.10018146
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x288]
mov dword [ebp - 0x4c], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd8]
call fcn.10018141
push 3
lea ecx, [ebp - 0xcc]
call fcn.100180d9
mov dword [ebp - 4], 3
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x44], 0xb59a67e9
push 3
lea ecx, [ebp - 0x298]
call fcn.100180d9
mov byte [ebp - 4], 4
mov dword [ebp - 0x1c], 0
jmp 0x10031a24
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10031a40
push dword [ebp - 0x1c]
lea ecx, [ebp - 0xcc]
call fcn.10018146
mov dword [eax], 0xb9b55bb2
jmp 0x10031a1d
mov dword [ebp - 0x1c], 0
jmp 0x10031a50
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10031a6c
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x298]
call fcn.10018146
mov dword [eax], 3
jmp 0x10031a49
mov dword [ebp - 0x14], 2
jmp 0x10031a7c
mov eax, dword [ebp - 0x14]
dec eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jl 0x10031eed
push 1
lea ecx, [ebp - 0xf0]
call fcn.100180d9
mov byte [ebp - 4], 5
mov dword [ebp - 0x2c], 4
mov dword [ebp - 0x2c0], 1
mov dword [ebp - 0x2bc], 1
mov dword [ebp - 0x2b8], 1
mov dword [ebp - 0x2b4], 1
lea ecx, [ebp - 0xad]
call fcn.10008b83
push eax
lea eax, [ebp - 0x2b0]
push eax
lea eax, [ebp - 0x2c0]
push eax
lea ecx, [ebp - 0x354]
call fcn.10018155
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x2d8]
call fcn.1001811b
mov byte [ebp - 4], 6
mov dword [ebp - 0x80], 0
jmp 0x10031b0f
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 1
jge 0x10031b2b
push dword [ebp - 0x80]
lea ecx, [ebp - 0xf0]
call fcn.10018146
mov dword [eax], 0x9a07b304
jmp 0x10031b08
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0xcc]
push eax
push 0x245c
push 0x7b0d
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0
call fcn.1002d85e
add esp, 0x1c
cmp dword [ebp - 0x14], 0
jne 0x10031c7f
cmp dword [ebp - 0x14], 0
je 0x10031b7a
mov eax, 0xe719
test eax, eax
je 0x10031b7a
mov dword [ebp - 0x1dc], 1
jmp 0x10031b81
and dword [ebp - 0x1dc], 0
push 0
lea ecx, [ebp - 0xcc]
call fcn.10018146
mov esi, dword [eax]
add esi, dword [ebp - 0x1dc]
push dword [ebp - 0x14]
lea ecx, [ebp - 0xcc]
call fcn.10018146
imul esi, dword [eax]
imul esi, dword [ebp - 0x14]
cmp esi, 0x9ff
jne 0x10031bc8
mov eax, 0xb1f0
test eax, eax
je 0x10031bc8
mov dword [ebp - 0x148], 1
jmp 0x10031bcf
and dword [ebp - 0x148], 0
push 1
lea ecx, [ebp - 0xcc]
call fcn.10018146
mov esi, dword [eax]
imul esi, dword [ebp - 0x148]
push 1
lea ecx, [ebp - 0xcc]
call fcn.10018146
cmp esi, dword [eax]
jg 0x10031c02
mov dword [ebp - 0x1a0], 1
jmp 0x10031c09
and dword [ebp - 0x1a0], 0
push dword [ebp - 0x14]
lea ecx, [ebp - 0xcc]
call fcn.10018146
mov ecx, dword [ebp - 0x1a0]
cmp ecx, dword [eax]
jg 0x10031c3c
push 0
lea ecx, [ebp - 0xf0]
call fcn.10018146
cmp dword [eax], 0
jne 0x10031c3c
and dword [ebp - 0x150], 0
jmp 0x10031c46
mov dword [ebp - 0x150], 1
push dword [ebp - 0x14]
lea ecx, [ebp - 0xcc]
call fcn.10018146
mov ecx, dword [ebp - 0x150]
cmp ecx, dword [eax]
je 0x10031c6a
mov dword [ebp - 0x1c8], 1
jmp 0x10031c71
and dword [ebp - 0x1c8], 0
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x1c8]
test eax, eax
je 0x10031c8c
push 2
lea ecx, [ebp - 0xcc]
call fcn.10018146
cmp dword [ebp - 0x14], 1
ja 0x10031cad
push 2
lea ecx, [ebp - 0xcc]
call fcn.10018146
cmp dword [eax], 0
jne 0x10031cad
and dword [ebp - 0xb4], 0
jmp 0x10031cb7
mov dword [ebp - 0xb4], 1
push 0
lea ecx, [ebp - 0xf0]
call fcn.10018146
mov ecx, dword [ebp - 0xb4]
mov dword [eax], ecx
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xb4], eax
jne 0x10031ce3
mov dword [ebp - 0x158], 1
jmp 0x10031cea
and dword [ebp - 0x158], 0
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x158]
je 0x10031d36
mov dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xbc]
dec eax
mov dword [ebp - 0xbc], eax
je 0x10031d31
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2d8]
call fcn.10018141
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xf0]
call fcn.10018141
jmp 0x10031a75
jmp 0x10031eca
mov dword [ebp - 0x44], 0
jmp 0x10031d46
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jg 0x10031eb6
mov dword [ebp - 0x2c], 0
jmp 0x10031d60
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jg 0x10031eb1
mov dword [ebp - 0x1a8], 0xb4dfc4b7
mov dword [ebp - 0x90], 0
jmp 0x10031d8d
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 2
jge 0x10031da9
mov eax, dword [ebp - 0x90]
mov dword [ebp + eax*4 - 0x1d8], 0
jmp 0x10031d80
lea eax, [ebp - 0x2d8]
push eax
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x298]
push eax
push 0x24e8
push 0
lea eax, [ebp - 0x2c]
push eax
push 0x5822
call fcn.1002e90f
add esp, 0x20
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0x1d8], 0
jmp 0x10031e08
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1d8]
inc eax
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0x1d8], eax
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x1d8], 4
jge 0x10031eac
mov dword [ebp - 0x214], 0x8071
push 1
lea ecx, [ebp - 0x298]
call fcn.10018146
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x1d8]
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x1a8]
cmp dword [ebp - 0x214], eax
jge 0x10031e60
mov dword [ebp - 0x160], 1
jmp 0x10031e67
and dword [ebp - 0x160], 0
push 0
lea ecx, [ebp - 0xf0]
call fcn.10018146
mov eax, dword [eax]
cmp eax, dword [ebp - 0x160]
je 0x10031e8a
mov dword [ebp - 0x1ec], 1
jmp 0x10031e91
and dword [ebp - 0x1ec], 0
push dword [ebp - 0x44]
lea ecx, [ebp - 0xf0]
call fcn.10018146
mov ecx, dword [ebp - 0x1ec]
mov dword [eax], ecx
jmp 0x10031ded
jmp 0x10031d59
jmp 0x10031d3f
mov byte [ebp - 0x2e], 0
movzx eax, byte [ebp - 0x2e]
test eax, eax
je 0x10031eca
push 0
call fcn.1002e8e2
pop ecx
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2d8]
call fcn.10018141
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xf0]
call fcn.10018141
jmp 0x10031a75
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x298]
call fcn.10018141
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xcc]
call fcn.10018141
mov eax, dword [ebp - 0x7c]
movzx eax, word [eax]
sar eax, 0xc
mov dword [ebp - 0x278], eax
push 3
lea ecx, [ebp - 0x1fc]
call fcn.100180d9
mov dword [ebp - 4], 7
push 3
lea ecx, [ebp - 0xe4]
call fcn.100180d9
mov byte [ebp - 4], 8
mov dword [ebp - 0x5c], 0
jmp 0x10031f4f
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 3
jge 0x10031f6b
push dword [ebp - 0x5c]
lea ecx, [ebp - 0x1fc]
call fcn.10018146
mov dword [eax], 0xb110c93b
jmp 0x10031f48
lea eax, [ebp - 0xe4]
push eax
push 0x62c
push 0x770d
lea eax, [ebp - 0x5c]
push eax
push 1
call fcn.1002d77a
add esp, 0x14
push 1
lea ecx, [ebp - 0x1fc]
call fcn.10018146
mov dword [eax], 0x1c
jmp 0x10031fc3
push 1
lea ecx, [ebp - 0x1fc]
call fcn.10018146
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x168]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0x168]
mov dword [ecx], eax
push 1
lea ecx, [ebp - 0x1fc]
call fcn.10018146
cmp dword [eax], 0xfffffffc
jl 0x100322d0
mov dword [ebp - 0x24], 5
push 4
lea ecx, [ebp - 0x264]
call fcn.100180d9
mov byte [ebp - 4], 9
mov dword [ebp - 0x88], 0
jmp 0x1003200a
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 4
jge 0x1003202c
push dword [ebp - 0x88]
lea ecx, [ebp - 0x264]
call fcn.10018146
mov dword [eax], 4
jmp 0x10031ffd
mov dword [ebp - 0x24], 0
jmp 0x1003203c
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 2
jg 0x100322bc
mov dword [ebp - 0x20], 8
mov dword [ebp - 0x78], 0
jmp 0x1003205d
mov eax, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 3
jge 0x10032073
mov eax, dword [ebp - 0x78]
mov dword [ebp + eax*4 - 0x208], 1
jmp 0x10032056
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0x208], 0
jmp 0x100320a1
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x208]
inc eax
push 4
pop ecx
shl ecx, 0
mov dword [ebp + ecx - 0x208], eax
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x208], 2
jg 0x100320df
push 4
pop eax
shl eax, 0
push dword [ebp + eax - 0x208]
lea ecx, [ebp - 0xe4]
call fcn.10018146
mov esi, eax
push dword [ebp - 0x24]
lea ecx, [ebp - 0xe4]
call fcn.10018146
mov ecx, dword [esi]
mov dword [eax], ecx
jmp 0x10032086
mov dword [ebp - 0x20], 0
jmp 0x100320ef
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jg 0x100322b7
mov dword [ebp - 0x220], 1
push dword [ebp - 0x24]
lea ecx, [ebp - 0xe4]
call fcn.10018146
mov dword [ebp - 0x1b0], eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0xe4]
call fcn.10018146
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1b0]
cmp dword [eax], 0
je 0x10032283
mov eax, 0x758e
test eax, eax
je 0x10032203
push dword [ebp - 0x20]
lea ecx, [ebp - 0xe4]
call fcn.10018146
cmp dword [eax], 0
jne 0x10032170
mov eax, 0x55ebda18
test eax, eax
jne 0x10032170
and dword [ebp - 0x218], 0
jmp 0x1003217a
mov dword [ebp - 0x218], 1
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x208]
mov dword [ebp - 0x328], eax
cmp dword [ebp - 0x20], 0x16488a
jl 0x100321a2
mov dword [ebp - 0x170], 1
jmp 0x100321a9
and dword [ebp - 0x170], 0
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x170], eax
je 0x100321c0
mov dword [ebp - 0x1d0], 1
jmp 0x100321c7
and dword [ebp - 0x1d0], 0
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x1d0]
je 0x100321de
mov dword [ebp - 0x258], 1
jmp 0x100321e5
and dword [ebp - 0x258], 0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x310], eax
mov eax, 0x8862
test eax, eax
je 0x10032203
mov dword [ebp - 0xf8], 1
jmp 0x1003220a
and dword [ebp - 0xf8], 0
push 1
lea ecx, [ebp - 0xe4]
call fcn.10018146
mov esi, dword [ebp - 0xf8]
sub esi, dword [eax]
push 1
lea ecx, [ebp - 0x1fc]
call fcn.10018146
cmp esi, dword [eax]
jle 0x1003223c
mov dword [ebp - 0xfc], 1
jmp 0x10032243
and dword [ebp - 0xfc], 0
push 0
lea ecx, [ebp - 0x264]
call fcn.10018146
mov ecx, dword [ebp - 0xfc]
mov dword [eax], ecx
push 1
lea ecx, [ebp - 0x1fc]
call fcn.10018146
push 0
lea ecx, [ebp - 0x264]
call fcn.10018146
cmp dword [eax], 0
je 0x10032283
mov dword [ebp - 0xf4], 1
jmp 0x1003228a
and dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x220], eax
lea eax, [ebp - 0xe4]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x264]
push eax
push 1
call fcn.1002d7ff
add esp, 0x10
jmp 0x100320e8
jmp 0x10032035
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x264]
call fcn.10018141
jmp 0x10031f9f
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xe4]
call fcn.10018141
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1fc]
call fcn.10018141
mov eax, dword [ebp - 0x7c]
movzx eax, word [eax]
and eax, 0xfff
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x28], 0x13dd33a4
mov dword [ebp - 0x64], 1
mov dword [ebp - 0xa8], 0x240c
mov dword [ebp - 0x15c], 0xfffffffa
mov dword [ebp - 0x84], 0
jmp 0x1003233a
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 3
jge 0x10032356
mov eax, dword [ebp - 0x84]
mov dword [ebp + eax*4 - 0x2cc], 0x51c6076f
jmp 0x1003232d
mov dword [ebp - 0x28], 0
jmp 0x10032366
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xf
je 0x100326ad
mov dword [ebp - 0x18], 0xfffffff7
mov dword [ebp - 0x18c], 0x191d4d00
mov dword [ebp - 0x194], 0xbe627823
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x318], eax
imul eax, dword [ebp - 0x18], 0x451d
test eax, eax
jne 0x100323ae
cmp dword [ebp - 0x28], 0
jne 0x100323ae
and dword [ebp - 0x10c], 0
jmp 0x100323b8
mov dword [ebp - 0x10c], 1
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x10c], eax
jg 0x100323cf
mov dword [ebp - 0x114], 1
jmp 0x100323d6
and dword [ebp - 0x114], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x114], eax
jl 0x100323ed
mov dword [ebp - 0x11c], 1
jmp 0x100323f4
and dword [ebp - 0x11c], 0
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x64], eax
jg 0x10032411
mov dword [ebp - 0xa4], 1
jmp 0x10032418
and dword [ebp - 0xa4], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0xa4]
mov dword [ebp + eax - 0x2cc], ecx
cmp dword [ebp - 0xa4], 0
jne 0x10032446
cmp dword [ebp - 0xa8], 0
jne 0x10032446
and dword [ebp - 0x124], 0
jmp 0x10032450
mov dword [ebp - 0x124], 1
mov eax, dword [ebp - 0xa8]
cmp dword [ebp - 0x124], eax
jg 0x1003246a
mov dword [ebp - 0x12c], 1
jmp 0x10032471
and dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x12c], eax
jge 0x10032666
mov dword [ebp - 0x48], 0xfffffff6
mov dword [ebp - 0x268], 0x2c2674d9
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x330], eax
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x2cc]
mov dword [ebp - 0x320], eax
xor eax, eax
jne 0x100324b7
cmp dword [ebp - 0x18], 0
je 0x100324cc
cmp dword [ebp - 0x15c], 0
je 0x100324cc
mov dword [ebp - 0x134], 1
jmp 0x100324d3
and dword [ebp - 0x134], 0
cmp dword [ebp - 0x134], 0xffffffff
je 0x100324e8
mov dword [ebp - 0x13c], 1
jmp 0x100324ef
and dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x13c], eax
jl 0x1003250c
cmp dword [ebp - 0x48], 0
je 0x1003250c
mov dword [ebp - 0x144], 1
jmp 0x10032513
and dword [ebp - 0x144], 0
mov eax, dword [ebp - 0xa8]
cmp eax, dword [ebp - 0x144]
jle 0x1003252d
mov dword [ebp - 0x270], 1
jmp 0x10032534
and dword [ebp - 0x270], 0
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x348], eax
cmp dword [ebp - 0x18], 0
jne 0x10032555
cmp dword [ebp - 0x18c], 0
jne 0x10032555
and dword [ebp - 0x14c], 0
jmp 0x1003255f
mov dword [ebp - 0x14c], 1
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x14c], eax
je 0x10032576
mov dword [ebp - 0x228], 1
jmp 0x1003257d
and dword [ebp - 0x228], 0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2f8], eax
cmp dword [ebp - 0x64], 0xfe53
jl 0x1003259b
mov dword [ebp - 0x154], 1
jmp 0x100325a2
and dword [ebp - 0x154], 0
mov eax, dword [ebp - 0x64]
add eax, dword [ebp - 0x154]
cmp eax, dword [ebp - 0x15c]
jg 0x100325bf
mov dword [ebp - 0x164], 1
jmp 0x100325c6
and dword [ebp - 0x164], 0
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x164], eax
jge 0x100325dd
mov dword [ebp - 0x16c], 1
jmp 0x100325e4
and dword [ebp - 0x16c], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x2cc]
cmp dword [ebp - 0x16c], eax
jl 0x10032607
or eax, 0xffffffff
jne 0x10032607
and dword [ebp - 0x174], 0
jmp 0x10032611
mov dword [ebp - 0x174], 1
mov eax, dword [ebp - 0x48]
imul eax, dword [ebp - 0x174]
sub eax, 0x54f9
cmp eax, dword [ebp - 0x48]
jg 0x10032631
mov dword [ebp - 0x184], 1
jmp 0x10032638
and dword [ebp - 0x184], 0
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x18], 0xffffffe4
jmp 0x10032654
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x17
jge 0x10032664
cmp dword [ebp - 0x18], 0
je 0x10032662
jmp 0x10032664
jmp 0x1003264d
jmp 0x100326a8
mov dword [ebp - 0x230], 0xfff7
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x194], eax
push 0x55ad
push 0x6743
lea eax, [ebp - 0x194]
push eax
lea eax, [ebp - 0x230]
push eax
push 0x32c5
push 0x1dc4
push 1
call fcn.1002d85e
add esp, 0x1c
jmp 0x1003235f
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 3
je 0x100326c6
jmp 0x100326f0
mov eax, dword [ebp - 0x28c]
add eax, dword [ebp - 0x240]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x19c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x274]
add eax, dword [ecx]
mov ecx, dword [ebp - 0x19c]
mov dword [ecx], eax
jmp 0x1003168b
mov dword [ebp - 0x68], 0xfffffffc
push 3
lea ecx, [ebp - 0x2e4]
call fcn.100180d9
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x300], 1
mov dword [ebp - 0x2f4], 0xffffffff
lea eax, [ebp - 0x314]
push eax
push 1
push 0x6d74
push 0x6c3f
push 0x7880
push 0x2695
lea eax, [ebp - 0x2e4]
push eax
push 0x6d21
call fcn.1002da84
add esp, 0x20
mov dword [ebp - 0x68], 0
jmp 0x10032765
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0x1c
jle 0x1003290b
mov dword [ebp - 0x8c], 0x75286e87
mov dword [ebp - 0x31c], 0xfffffff9
mov dword [ebp - 0x210], 1
mov dword [ebp - 0x324], 1
mov dword [ebp - 0x32c], 0xffffffff
mov dword [ebp - 0x26c], 0x9193c1de
mov dword [ebp - 0x1a4], 3
mov dword [ebp - 0x8c], 0xb
jmp 0x100327ce
mov eax, dword [ebp - 0x8c]
dec eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0xffffffe7
je 0x10032906
mov dword [ebp - 0x54], 0xa9869ec4
mov dword [ebp - 0x6c], 0
jmp 0x100327f2
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 2
jge 0x10032808
mov eax, dword [ebp - 0x6c]
mov dword [ebp + eax*4 - 0x308], 0xbfbd3aeb
jmp 0x100327eb
mov dword [ebp - 0x54], 2
jmp 0x10032818
mov eax, dword [ebp - 0x54]
dec eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
jl 0x10032901
mov dword [ebp - 0x248], 0xfffffff6
mov dword [ebp - 0x344], 1
mov dword [ebp - 0x34c], 9
mov dword [ebp - 0x340], 0xd004dde9
mov eax, dword [ebp - 0x1a4]
dec eax
mov dword [ebp - 0x1a4], eax
push dword [ebp - 0x54]
lea ecx, [ebp - 0x2e4]
call fcn.10018146
cmp dword [ebp - 0x248], 0
je 0x10032888
imul eax, dword [ebp - 0x26c], 0xd9c7
test eax, eax
je 0x10032888
mov dword [ebp - 0x1ac], 1
jmp 0x1003288f
and dword [ebp - 0x1ac], 0
cmp dword [ebp - 0x1ac], 0x9c90e69c
jae 0x100328a7
mov dword [ebp - 0x250], 1
jmp 0x100328ae
and dword [ebp - 0x250], 0
cmp dword [ebp - 0x210], 0x96a0
je 0x100328c6
mov dword [ebp - 0x1b4], 1
jmp 0x100328cd
and dword [ebp - 0x1b4], 0
cmp dword [ebp - 0x1b4], 0xffffffff
je 0x100328e2
mov dword [ebp - 0x1bc], 1
jmp 0x100328e9
and dword [ebp - 0x1bc], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp + eax - 0x308], ecx
jmp 0x10032811
jmp 0x100327c1
jmp 0x1003275e
mov byte [ebp - 0x30], 0
movzx eax, byte [ebp - 0x30]
test eax, eax
je 0x1003292b
push 0x2ded
push 0x5213
push 0
call fcn.1002fa18
add esp, 0xc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2e4]
call fcn.10018141
lea eax, [ebp - 0x70]
push eax
push 1
call fcn.1002dce7
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret