Function at 0x10028a24
Capabilities:
Get file attributes
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008935e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3b4
push esi
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x10028a93
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x208], eax
mov eax, dword [ebp - 0x208]
push dword [eax]
mov ecx, dword [ebp - 0x214]
call fcn.100171a5
mov dword [eax], 5
jmp 0x1002a2df
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x6c], eax
push 2
lea ecx, [ebp - 0x378]
call fcn.10017107
and dword [ebp - 4], 0
push 1
lea ecx, [ebp - 0x23c]
call fcn.10017107
mov byte [ebp - 4], 1
push 0
push 0x647c
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x378]
push eax
push 0x66bc
call fcn.1002a2ee
add esp, 0x14
lea eax, [ebp - 0x54]
push eax
push 0
lea eax, [ebp - 0x23c]
push eax
call fcn.1002d426
add esp, 0xc
mov dword [ebp - 0x54], 0
jmp 0x10028aff
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 3
jge 0x10028b15
mov eax, dword [ebp - 0x54]
mov dword [ebp + eax*4 - 0x3b8], 0xffffffff
jmp 0x10028af8
push 0
lea ecx, [ebp - 0x23c]
call fcn.100171a5
mov dword [eax], 1
jmp 0x10028b4e
push 0
lea ecx, [ebp - 0x23c]
call fcn.100171a5
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0x16c]
mov dword [ecx], eax
push 0
lea ecx, [ebp - 0x23c]
call fcn.100171a5
cmp dword [eax], 0
jl 0x10028c3f
mov dword [ebp - 0x74], 0x2086bd08
mov dword [ebp - 0x84], 0
jmp 0x10028b84
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 3
jge 0x10028ba0
mov eax, dword [ebp - 0x84]
mov dword [ebp + eax*4 - 0x22c], 0xfffffffb
jmp 0x10028b77
push 4
pop eax
shl eax, 1
mov dword [ebp + eax - 0x22c], 0
jmp 0x10028bcb
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x22c]
inc eax
push 4
pop ecx
shl ecx, 1
mov dword [ebp + ecx - 0x22c], eax
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x22c], 1
jg 0x10028bed
mov byte [ebp - 0x30], 0
lea eax, [ebp - 0x30]
push eax
push 0
call fcn.100286fa
pop ecx
pop ecx
jmp 0x10028bb2
mov dword [ebp - 0x74], 1
jmp 0x10028bfd
mov eax, dword [ebp - 0x74]
dec eax
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
jl 0x10028c3a
push 4
pop eax
shl eax, 1
mov dword [ebp + eax - 0x22c], 0xfffffff9
mov byte [ebp - 0x27], 0
movzx eax, byte [ebp - 0x27]
test eax, eax
je 0x10028c38
push 0x996
push 0x62a0
push 1
push 0x64df
call fcn.10027d9d
add esp, 0x10
jmp 0x10028bf6
jmp 0x10028b2a
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0x3b8], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x23c]
call fcn.10017189
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x378]
call fcn.10017189
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x6c]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
lea eax, [eax + ecx + 0x18]
mov dword [ebp - 0x14], eax
and dword [ebp - 0xa0], 0
jmp 0x10028ca2
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x14]
add eax, 0x28
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
movzx eax, word [eax + 6]
cmp dword [ebp - 0xa0], eax
jge 0x1002a2df
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x1e0], 0
push 3
lea ecx, [ebp - 0x260]
call fcn.10017107
mov dword [ebp - 4], 2
mov dword [ebp - 0x1d4], 0xffff
push 0
push 0x25f3
lea eax, [ebp - 0x260]
push eax
push 0x1c65
lea eax, [ebp - 0x344]
push eax
push 0x6055
push 0x7283
call fcn.1002a578
add esp, 0x1c
mov dword [ebp - 0x10], 0x18
jmp 0x10028d22
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x15
jl 0x10029154
push 1
lea ecx, [ebp - 0xd0]
call fcn.10017107
mov byte [ebp - 4], 3
push 3
lea ecx, [ebp - 0x9c]
call fcn.10017107
mov byte [ebp - 4], 4
mov dword [ebp - 0xe8], 3
mov dword [ebp - 0x58], 0
jmp 0x10028d68
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 1
jge 0x10028d84
push dword [ebp - 0x58]
lea ecx, [ebp - 0xd0]
call fcn.100171a5
mov dword [eax], 0x57e8b72f
jmp 0x10028d61
push 0x2632
push 0x2e1c
push 0
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x58]
push eax
push 0x3d64
call fcn.1002fabf
add esp, 0x18
push 2
lea ecx, [ebp - 0x9c]
call fcn.100171a5
and dword [eax], 0
jmp 0x10028dde
push 2
lea ecx, [ebp - 0x9c]
call fcn.100171a5
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x19c]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x19c]
mov dword [ecx], eax
push 2
lea ecx, [ebp - 0x9c]
call fcn.100171a5
cmp dword [eax], 0
jg 0x10029114
mov dword [ebp - 0x194], 0x1b55e973
cmp dword [ebp - 0x10], 0
jne 0x10028e13
cmp dword [ebp - 0x10], 0
jne 0x10028e13
and dword [ebp - 0x21c], 0
jmp 0x10028e1d
mov dword [ebp - 0x21c], 1
push 2
lea ecx, [ebp - 0x9c]
call fcn.100171a5
mov ecx, dword [ebp - 0x194]
cmp dword [eax], ecx
jle 0x10028e40
mov dword [ebp - 0x210], 1
jmp 0x10028e47
and dword [ebp - 0x210], 0
push 2
lea ecx, [ebp - 0x9c]
call fcn.100171a5
push dword [eax]
lea ecx, [ebp - 0xd0]
call fcn.100171a5
cmp dword [ebp - 0x10], 0xba09
jg 0x10028e76
mov dword [ebp - 0x1a4], 1
jmp 0x10028e7d
and dword [ebp - 0x1a4], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x1a4], eax
jg 0x10028e94
mov dword [ebp - 0x190], 1
jmp 0x10028e9b
and dword [ebp - 0x190], 0
push 0
lea ecx, [ebp - 0xd0]
call fcn.100171a5
mov ecx, dword [ebp - 0x190]
cmp ecx, dword [eax]
jl 0x10028ebe
mov dword [ebp - 0x1f8], 1
jmp 0x10028ec5
and dword [ebp - 0x1f8], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x194]
cmp dword [ebp - 0x10], eax
jle 0x10028ee5
mov dword [ebp - 0xe0], 1
jmp 0x10028eec
and dword [ebp - 0xe0], 0
cmp dword [ebp - 0xe0], 1
jne 0x10028f01
mov dword [ebp - 0x148], 1
jmp 0x10028f08
and dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0xe8], eax
mov esi, dword [ebp - 0xe8]
push 2
lea ecx, [ebp - 0x9c]
call fcn.100171a5
push dword [eax]
lea ecx, [ebp - 0xd0]
call fcn.100171a5
cmp esi, dword [eax]
je 0x10028f44
mov dword [ebp - 0x17c], 1
jmp 0x10028f4b
and dword [ebp - 0x17c], 0
push 2
lea ecx, [ebp - 0x9c]
call fcn.100171a5
push dword [eax]
lea ecx, [ebp - 0xd0]
call fcn.100171a5
mov eax, dword [eax]
cmp eax, dword [ebp - 0x17c]
jg 0x10028f7b
mov dword [ebp - 0xf0], 1
jmp 0x10028f82
and dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp - 0xf0]
cmp eax, dword [ebp - 0x1e0]
jge 0x10028fa0
mov dword [ebp - 0x150], 1
jmp 0x10028fa7
and dword [ebp - 0x150], 0
cmp dword [ebp - 0x150], 0
ja 0x10028fbc
mov dword [ebp - 0xf8], 1
jmp 0x10028fc3
and dword [ebp - 0xf8], 0
push 2
lea ecx, [ebp - 0x9c]
call fcn.100171a5
push dword [eax]
lea ecx, [ebp - 0xd0]
call fcn.100171a5
mov eax, dword [eax]
imul eax, dword [ebp - 0xf8]
cmp eax, dword [ebp - 0x10]
je 0x10028ff7
mov dword [ebp - 0x180], 1
jmp 0x10028ffe
and dword [ebp - 0x180], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x180], eax
jg 0x1002901b
push 2
lea ecx, [ebp - 0x260]
call fcn.100171a5
cmp dword [eax], 0
je 0x10029043
push 2
lea ecx, [ebp - 0x9c]
call fcn.100171a5
push dword [eax]
lea ecx, [ebp - 0xd0]
call fcn.100171a5
cmp dword [eax], 0
je 0x10029043
and dword [ebp - 0x100], 0
jmp 0x1002904d
mov dword [ebp - 0x100], 1
mov eax, dword [ebp - 0x100]
neg eax
cmp eax, dword [ebp - 0x10]
jne 0x10029066
mov dword [ebp - 0x158], 1
jmp 0x1002906d
and dword [ebp - 0x158], 0
cmp dword [ebp - 0x158], 0x6c14
je 0x10029085
mov dword [ebp - 0x108], 1
jmp 0x1002908c
and dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x108], eax
jne 0x100290a3
mov dword [ebp - 0x1a0], 1
jmp 0x100290aa
and dword [ebp - 0x1a0], 0
mov esi, dword [ebp - 0x1a0]
sub esi, 0xffff
push 2
lea ecx, [ebp - 0x9c]
call fcn.100171a5
push dword [eax]
lea ecx, [ebp - 0xd0]
call fcn.100171a5
cmp esi, dword [eax]
jl 0x100290e0
mov dword [ebp - 0x110], 1
jmp 0x100290e7
and dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x1d4], eax
mov byte [ebp - 0x29], 0
push 0x156e
lea eax, [ebp - 0x29]
push eax
push 0
push 0x27fb
call fcn.1002f731
add esp, 0x10
jmp 0x10028dba
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0xd0]
push eax
push 0x3fa0
push 0
call fcn.1002bfd9
add esp, 0x10
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x9c]
call fcn.10017189
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xd0]
call fcn.10017189
jmp 0x10028d1b
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x260]
call fcn.10017189
mov dword [ebp - 0x308], 0xfffffff9
mov byte [ebp - 0x2b], 0
movzx eax, byte [ebp - 0x2b]
test eax, eax
je 0x1002918d
push 0x1673
push 0x253f
push 0
call fcn.1002fbf0
add esp, 0xc
mov byte [ebp - 0x2d], 0
movzx eax, byte [ebp - 0x2d]
test eax, eax
je 0x100291a1
push 0
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
and eax, 0x20000000
je 0x100291ba
mov dword [ebp - 0x160], 1
jmp 0x100291c1
and dword [ebp - 0x160], 0
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x18], 0xfffffffe
push 2
lea ecx, [ebp - 0xc0]
call fcn.10017107
mov dword [ebp - 4], 5
lea eax, [ebp - 0xc0]
push eax
push 0x4695
push 0x21f3
lea eax, [ebp - 0x310]
push eax
push 0x13d6
push 0
call fcn.1002fb5b
add esp, 0x18
mov dword [ebp - 0x18], 0xfffffff7
jmp 0x1002921f
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0xd
je 0x100293c5
push 3
lea ecx, [ebp - 0x1c0]
call fcn.10017107
mov byte [ebp - 4], 6
mov dword [ebp - 0x250], 1
mov dword [ebp - 0x20c], 0x64ea33a4
push 2
lea ecx, [ebp - 0x2b4]
call fcn.10017107
mov byte [ebp - 4], 7
mov dword [ebp - 0x60], 0
jmp 0x1002926f
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 3
jge 0x1002928b
push dword [ebp - 0x60]
lea ecx, [ebp - 0x1c0]
call fcn.100171a5
mov dword [eax], 0xfffffffa
jmp 0x10029268
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x2b4]
push eax
push 0
call fcn.1002ced7
add esp, 0xc
push 0
lea ecx, [ebp - 0x1c0]
call fcn.100171a5
and dword [eax], 0
jmp 0x100292d6
push 0
lea ecx, [ebp - 0x1c0]
call fcn.100171a5
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x118]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x118]
mov dword [ecx], eax
push 0
lea ecx, [ebp - 0x1c0]
call fcn.100171a5
cmp dword [eax], 1
jg 0x10029364
mov dword [ebp - 0x1dc], 0xe11a796d
mov dword [ebp - 0x1e4], 1
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x1c0]
push eax
lea eax, [ebp - 0x2b4]
push eax
lea eax, [ebp - 0x1dc]
push eax
push 0
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x1e4]
push eax
call fcn.1002a377
add esp, 0x24
push 0
lea ecx, [ebp - 0x1c0]
call fcn.100171a5
push dword [eax]
lea ecx, [ebp - 0xc0]
call fcn.100171a5
cmp dword [eax], 0
je 0x1002935f
jmp 0x100292b2
jmp 0x100292b2
mov byte [ebp - 0x2f], 0
movzx eax, byte [ebp - 0x2f]
test eax, eax
je 0x100293a2
push 0x225c
push 0
push 0x609b
push 0x7cdd
push 0x4980
push 0x39e9
push 0x6664
push 0x6c9
push 0x5d8
call fcn.1002ddfb
add esp, 0x24
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2b4]
call fcn.10017189
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1c0]
call fcn.10017189
jmp 0x10029218
mov dword [ebp - 0x18], 1
jmp 0x100293d5
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jl 0x10029632
mov dword [ebp - 0x198], 0x93dcedb1
mov dword [ebp - 0x130], 0xfffffff6
mov dword [ebp - 0x90], 0
jmp 0x1002940c
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 4
jge 0x10029428
mov eax, dword [ebp - 0x90]
mov dword [ebp + eax*4 - 0x1b4], 5
jmp 0x100293ff
mov byte [ebp - 0x31], 0
movzx eax, byte [ebp - 0x31]
test eax, eax
je 0x1002943c
push 0
call fcn.100287a6
pop ecx
push 4
pop eax
imul eax, eax, 3
mov dword [ebp + eax - 0x1b4], 0
jmp 0x1002946a
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x1b4]
inc eax
push 4
pop ecx
imul ecx, ecx, 3
mov dword [ebp + ecx - 0x1b4], eax
push 4
pop eax
imul eax, eax, 3
cmp dword [ebp + eax - 0x1b4], 1
jg 0x1002962d
mov dword [ebp - 0x218], 0x512e
mov dword [ebp - 0x240], 0
mov byte [ebp - 0x2e], 0
movzx eax, byte [ebp - 0x2e]
test eax, eax
je 0x100294a6
push 0
call fcn.1002bfad
pop ecx
push 0
lea ecx, [ebp - 0xc0]
call fcn.100171a5
push 4
pop eax
imul eax, eax, 3
mov esi, dword [ebp + eax - 0x1b4]
push 0
lea ecx, [ebp - 0xc0]
call fcn.100171a5
cmp esi, dword [eax]
jl 0x100294dd
mov dword [ebp - 0x188], 1
jmp 0x100294e4
and dword [ebp - 0x188], 0
cmp dword [ebp - 0x188], 5
jbe 0x100294f9
mov dword [ebp - 0x120], 1
jmp 0x10029500
and dword [ebp - 0x120], 0
cmp dword [ebp - 0x120], 0xffe61709
jne 0x1002951e
mov eax, 0x4f8a3d35
test eax, eax
jne 0x1002951e
and dword [ebp - 0x168], 0
jmp 0x10029528
mov dword [ebp - 0x168], 1
push 4
pop eax
imul eax, eax, 3
push dword [ebp + eax - 0x1b4]
lea ecx, [ebp - 0xc0]
call fcn.100171a5
mov eax, dword [eax]
imul eax, dword [ebp - 0x168]
push 4
pop ecx
shl ecx, 1
add eax, dword [ebp + ecx - 0x1b4]
cmp eax, dword [ebp - 0x218]
je 0x10029569
mov dword [ebp - 0x128], 1
jmp 0x10029570
and dword [ebp - 0x128], 0
mov eax, dword [ebp - 0x128]
add eax, 0x270bb1dc
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x130], eax
mov esi, dword [ebp - 0x130]
push 4
pop eax
imul eax, eax, 3
push dword [ebp + eax - 0x1b4]
lea ecx, [ebp - 0xc0]
call fcn.100171a5
cmp esi, dword [eax]
je 0x100295bb
mov dword [ebp - 0x1ec], 1
jmp 0x100295c2
and dword [ebp - 0x1ec], 0
push 4
pop eax
imul eax, eax, 3
push dword [ebp + eax - 0x1b4]
lea ecx, [ebp - 0xc0]
call fcn.100171a5
push 0
lea ecx, [ebp - 0xc0]
call fcn.100171a5
cmp dword [eax], 0
je 0x10029615
push 4
pop eax
imul eax, eax, 3
push dword [ebp + eax - 0x1b4]
lea ecx, [ebp - 0xc0]
call fcn.100171a5
cmp dword [eax], 0
je 0x10029615
mov dword [ebp - 0x170], 1
jmp 0x1002961c
and dword [ebp - 0x170], 0
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x240], eax
jmp 0x1002944f
jmp 0x100293ce
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc0]
call fcn.10017189
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
and eax, 0x40000000
je 0x1002965a
mov dword [ebp - 0x138], 1
jmp 0x10029661
and dword [ebp - 0x138], 0
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x204], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
and eax, 0x80000000
je 0x10029686
mov dword [ebp - 0x178], 1
jmp 0x1002968d
and dword [ebp - 0x178], 0
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x50], 0xd149febb
mov dword [ebp - 0xd8], 0xfffffff7
mov dword [ebp - 0xe4], 0x30f888c5
mov dword [ebp - 0x8c], 0
jmp 0x100296cd
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 1
jge 0x100296e6
mov eax, dword [ebp - 0x8c]
mov dword [ebp + eax*4 - 0x38], 0x2beaa32b
jmp 0x100296c0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x38]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x50], 0x12
jmp 0x10029703
mov eax, dword [ebp - 0x50]
dec eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0xa
jl 0x100298f8
push 2
lea ecx, [ebp - 0x24c]
call fcn.10017107
mov dword [ebp - 4], 8
mov dword [ebp - 0x290], 0x21fbb9
mov dword [ebp - 0x28c], 0x21fbb9
mov dword [ebp - 0x288], 0x21fbb9
mov dword [ebp - 0x284], 0x21fbb9
lea ecx, [ebp - 0xad]
call fcn.10009433
push eax
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x3c0]
call fcn.100171b4
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x2cc]
call fcn.10017163
mov byte [ebp - 4], 9
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x318]
push eax
push 0x5f06
push 0
call fcn.1002ba00
add esp, 0x10
push 1
lea ecx, [ebp - 0x24c]
call fcn.100171a5
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x38]
mov dword [ebp - 0x320], eax
push 0
lea ecx, [ebp - 0x24c]
call fcn.100171a5
cmp dword [eax], 0xff60
jge 0x100297dd
mov dword [ebp - 0x1f4], 1
jmp 0x100297e4
and dword [ebp - 0x1f4], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x38]
mov dword [ebp - 0x328], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x38]
mov dword [ebp - 0x330], eax
push 4
pop eax
imul eax, eax, 0
push 4
pop ecx
imul ecx, ecx, 0
mov ecx, dword [ebp + ecx - 0x38]
cmp dword [ebp + eax - 0x38], ecx
jne 0x10029826
mov dword [ebp - 0xb4], 1
jmp 0x1002982d
and dword [ebp - 0xb4], 0
push 2
lea ecx, [ebp - 0x2cc]
call fcn.100171a5
mov ecx, dword [ebp - 0xb4]
mov dword [eax], ecx
cmp dword [ebp - 0xb4], 0xfffffffb
jbe 0x10029857
mov dword [ebp - 0x140], 1
jmp 0x1002985e
and dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x140]
sub eax, 0xffff
imul eax, eax, 7
mov esi, dword [ebp - 0xd8]
imul esi, eax
push 1
lea ecx, [ebp - 0x24c]
call fcn.100171a5
cmp dword [eax], esi
jge 0x1002989b
mov dword [ebp - 0xdc], 1
jmp 0x100298a2
and dword [ebp - 0xdc], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x38]
sub eax, 0x105bd4b8
imul eax, dword [ebp - 0xdc]
mov dword [ebp - 0xe4], eax
push 2
lea ecx, [ebp - 0x2cc]
call fcn.100171a5
mov dword [ebp - 0xe4], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2cc]
call fcn.10017189
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24c]
call fcn.10017189
jmp 0x100296fc
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x24]
and eax, 0x2000000
je 0x10029be5
push 0x4000
mov eax, dword [ebp - 0x14]
push dword [eax + 0x10]
mov eax, dword [ebp - 0x14]
push dword [eax + 8]
push 0xce8f
push 0xb6f7
call fcn.10024b6c
pop ecx
pop ecx
call eax
mov dword [ebp - 0x44], 0x61f9c28a
mov dword [ebp - 0xac], 0x1d925b0e
mov dword [ebp - 0x5c], 0x1aa1
push 2
lea ecx, [ebp - 0x2a8]
call fcn.10017107
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x1fc], 0
mov dword [ebp - 0x80], 0
jmp 0x10029973
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 2
jge 0x1002998f
push dword [ebp - 0x80]
lea ecx, [ebp - 0x2a8]
call fcn.100171a5
mov dword [eax], 0xf4d4e2
jmp 0x1002996c
mov byte [ebp - 0x28], 0
movzx eax, byte [ebp - 0x28]
test eax, eax
je 0x100299af
push 1
push 0x22d6
push 0x311c
call fcn.1002864e
add esp, 0xc
cmp dword [ebp - 0x44], 0
je 0x10029bb1
mov dword [ebp - 0x24], 0
mov dword [ebp - 0xc4], 9
mov dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x44], 0
jmp 0x100299eb
mov eax, dword [ebp - 0x44]
dec eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xffffffed
jle 0x10029baf
mov dword [ebp - 0x114], 0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x338], eax
cmp dword [ebp - 0xac], 0
je 0x10029a32
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x340], eax
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0xac], eax
je 0x10029a32
mov dword [ebp - 0xec], 1
jmp 0x10029a39
and dword [ebp - 0xec], 0
mov eax, dword [ebp - 0xec]
neg eax
je 0x10029a58
cmp dword [ebp - 0x114], 0
je 0x10029a58
mov dword [ebp - 0xf4], 1
jmp 0x10029a5f
and dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0x5c]
cmp dword [ebp - 0xf4], eax
jl 0x10029a76
mov dword [ebp - 0x220], 1
jmp 0x10029a7d
and dword [ebp - 0x220], 0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x350], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xfc]
add eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x5c]
jl 0x10029ab2
mov dword [ebp - 0x104], 1
jmp 0x10029ab9
and dword [ebp - 0x104], 0
mov eax, dword [ebp - 0x5c]
cmp dword [ebp - 0x104], eax
jle 0x10029ad0
mov dword [ebp - 0x10c], 1
jmp 0x10029ad7
and dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0xc4]
dec eax
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc4]
push 3
pop ecx
sub ecx, dword [ebp - 0x10c]
lea eax, [eax + ecx + 7]
cmp eax, dword [ebp - 0x24]
je 0x10029b08
mov dword [ebp - 0x11c], 1
jmp 0x10029b0f
and dword [ebp - 0x11c], 0
mov eax, dword [ebp - 0x114]
cmp dword [ebp - 0x11c], eax
jle 0x10029b29
mov dword [ebp - 0x124], 1
jmp 0x10029b30
and dword [ebp - 0x124], 0
cmp dword [ebp - 0x124], 0xa5b7
jle 0x10029b48
mov dword [ebp - 0x12c], 1
jmp 0x10029b4f
and dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0x12c], eax
jg 0x10029b66
mov dword [ebp - 0xa4], 1
jmp 0x10029b6d
and dword [ebp - 0xa4], 0
push 0
lea ecx, [ebp - 0x2a8]
call fcn.100171a5
mov ecx, dword [ebp - 0xa4]
mov dword [eax], ecx
cmp dword [ebp - 0xa4], 8
jne 0x10029b97
mov dword [ebp - 0x134], 1
jmp 0x10029b9e
and dword [ebp - 0x134], 0
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x1fc], eax
jmp 0x100299e4
jmp 0x10029bd1
mov byte [ebp - 0x32], 0
movzx eax, byte [ebp - 0x32]
test eax, eax
je 0x10029bd1
push 1
push 0x4c38
push 0x9bd
call fcn.100286b5
add esp, 0xc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2a8]
call fcn.10017189
jmp 0x10028c8c
mov dword [ebp - 0x88], 0x25b9b55b
push 2
lea ecx, [ebp - 0x26c]
call fcn.10017107
mov dword [ebp - 4], 0xb
mov dword [ebp - 0x68], 0
jmp 0x10029c13
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 2
jge 0x10029c2c
push dword [ebp - 0x68]
lea ecx, [ebp - 0x26c]
call fcn.100171a5
or dword [eax], 0xffffffff
jmp 0x10029c0c
mov dword [ebp - 0x88], 0x10
jmp 0x10029c45
mov eax, dword [ebp - 0x88]
dec eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0xfffffff2
jle 0x10029d1b
mov dword [ebp - 0x1c], 0xfffffff7
mov dword [ebp - 0x1c], 0
jmp 0x10029c69
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 1
jg 0x10029cea
mov dword [ebp - 0x78], 0xffffffff
mov dword [ebp - 0x78], 1
jmp 0x10029c86
mov eax, dword [ebp - 0x78]
dec eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jl 0x10029c9c
push 0x865
push 1
call fcn.100286fa
pop ecx
pop ecx
jmp 0x10029c7f
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x26c]
call fcn.100171a5
mov ecx, 0x1a17e59
sub ecx, dword [eax]
je 0x10029cc9
push 0
lea ecx, [ebp - 0x26c]
call fcn.100171a5
cmp dword [eax], 0
je 0x10029cc7
jmp 0x10029cea
jmp 0x10029ce5
mov byte [ebp - 0x2a], 0
lea eax, [ebp - 0x2a]
push eax
push 0x2e7c
push 0x1413
push 0
call fcn.1002bec9
add esp, 0x10
jmp 0x10029c62
mov dword [ebp - 0x1c], 0
jmp 0x10029cfa
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 1
jg 0x10029d16
mov byte [ebp - 0x25], 0
movzx eax, byte [ebp - 0x25]
test eax, eax
je 0x10029d14
push 0
call fcn.1002d3f3
pop ecx
jmp 0x10029cf3
jmp 0x10029c38
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x26c]
call fcn.10017189
push 0x49b8
lea eax, [ebp - 0x254]
push eax
lea eax, [ebp - 0x14]
push eax
push 0x60c5
lea eax, [ebp - 0x204]
push eax
push 0
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.1002dcc2
add esp, 0x20
mov dword [ebp - 0x358], 0
mov dword [ebp - 0x360], 0x4ffb871c
mov dword [ebp - 0x368], 0x6ca2cb51
mov dword [ebp - 0x3ac], 1
mov dword [ebp - 0x3a8], 0xffffffff
mov dword [ebp - 0x39c], 0xc4ab274b
mov dword [ebp - 0x2d8], 0xad2086bd
mov dword [ebp - 0x33c], 0x53e58bfc
mov dword [ebp - 0x2e0], 0xffffffff
mov dword [ebp - 0x36c], 0
mov dword [ebp - 0x2e8], 0xfffffff9
mov dword [ebp - 0x2d0], 0x41637c1d
mov dword [ebp - 0x2f0], 0x85bd52a2
mov dword [ebp - 0x13c], 0x1d9
mov dword [ebp - 0x2f4], 0x7440e708
mov dword [ebp - 0x7c], 0
jmp 0x10029e04
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 1
jge 0x10029e1a
mov eax, dword [ebp - 0x7c]
mov dword [ebp + eax*4 - 0x2f8], 0xfffffffa
jmp 0x10029dfd
mov byte [ebp - 0x2c], 0
push 0xfbd
push 1
lea eax, [ebp - 0x2c]
push eax
call fcn.10028757
add esp, 0xc
mov eax, dword [ebp - 0x13c]
dec eax
mov dword [ebp - 0x13c], eax
push dword [ebp - 0x6c]
lea eax, [ebp - 0x18c]
push eax
push 0
push dword [ebp - 0x14]
call fcn.10027d9d
add esp, 0x10
mov dword [ebp - 0x4c], 0xfb871c7b
mov dword [ebp - 0x48], 0x5c82f744
mov dword [ebp - 0x1c8], 0xfffffff8
mov dword [ebp - 0x2fc], 0xfffffffb
mov dword [ebp - 0x34c], 0xffffffff
mov dword [ebp - 0x304], 5
mov dword [ebp - 0x37c], 0x364f2ca1
mov dword [ebp - 0x30c], 0xfffffff8
mov dword [ebp - 0x354], 0xe85dc32c
mov dword [ebp - 0x314], 0xffffffff
push 2
lea ecx, [ebp - 0x398]
call fcn.10017107
mov dword [ebp - 4], 0xc
mov dword [ebp - 0x64], 0
jmp 0x10029ed7
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 3
jge 0x10029eed
mov eax, dword [ebp - 0x64]
mov dword [ebp + eax*4 - 0x2c0], 0x64a6847d
jmp 0x10029ed0
lea eax, [ebp - 0x398]
push eax
lea eax, [ebp - 0x64]
push eax
push 0x1a18
push 0
push 0x4aa5
call fcn.1002c850
add esp, 0x14
mov byte [ebp - 0x39], 0
movzx eax, byte [ebp - 0x39]
test eax, eax
je 0x10029f20
push 1
call fcn.100287a6
pop ecx
mov dword [ebp - 0x4c], 2
jmp 0x10029f30
mov eax, dword [ebp - 0x4c]
dec eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jl 0x1002a1cf
mov dword [ebp - 0x20], 0x443250e6
mov dword [ebp - 0x27c], 0x924f
mov dword [ebp - 0x278], 0x924f
mov dword [ebp - 0x274], 0x924f
mov dword [ebp - 0x270], 0x924f
push 4
lea ecx, [ebp - 0x388]
call fcn.10017107
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x3a0], 9
lea eax, [ebp - 0x388]
push eax
lea eax, [ebp - 0x31c]
push eax
call fcn.100287d5
pop ecx
pop ecx
mov dword [ebp - 0x20], 0
jmp 0x10029fa9
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 2
jg 0x1002a111
mov dword [ebp - 0x40], 0x39ecf4a
mov dword [ebp - 0x1d8], 0xed55c59c
cmp dword [ebp - 0x40], 0
je 0x10029fd5
push 5
pop eax
test eax, eax
jne 0x1002a06c
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x4c]
cmp eax, 0xe224
je 0x10029fee
mov dword [ebp - 0x144], 1
jmp 0x10029ff5
and dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x144]
jl 0x1002a00c
mov dword [ebp - 0x1cc], 1
jmp 0x1002a013
and dword [ebp - 0x1cc], 0
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x35c], eax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x40]
cmp eax, 0xf8609561
jb 0x1002a038
cmp dword [ebp - 0x40], 0
jne 0x1002a038
and dword [ebp - 0x14c], 0
jmp 0x1002a042
mov dword [ebp - 0x14c], 1
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x27c]
cmp dword [ebp - 0x14c], eax
jl 0x1002a063
cmp dword [ebp - 0x20], 0
jne 0x1002a063
cmp dword [ebp - 0x40], 0
jne 0x1002a06c
and dword [ebp - 0x154], 0
jmp 0x1002a076
mov dword [ebp - 0x154], 1
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x27c]
cmp dword [ebp - 0x154], eax
jg 0x1002a097
mov dword [ebp - 0x1c4], 1
jmp 0x1002a09e
and dword [ebp - 0x1c4], 0
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x2c0]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x15c]
mov dword [ebp + eax*4 - 0x2c0], ecx
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x15c], eax
jg 0x1002a0d5
mov dword [ebp - 0x164], 1
jmp 0x1002a0dc
and dword [ebp - 0x164], 0
mov eax, dword [ebp - 0x164]
sub eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x1d8]
jge 0x1002a0f9
mov dword [ebp - 0xd4], 1
jmp 0x1002a100
and dword [ebp - 0xd4], 0
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x1c8], eax
jmp 0x10029fa2
mov dword [ebp - 0x48], 2
jmp 0x1002a121
mov eax, dword [ebp - 0x48]
dec eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
jl 0x1002a1bb
push 1
lea ecx, [ebp - 0x29c]
call fcn.10017107
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x324], 0
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x70], 0
jmp 0x1002a160
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 1
jge 0x1002a17c
push dword [ebp - 0x70]
lea ecx, [ebp - 0x29c]
call fcn.100171a5
mov dword [eax], 0xb9cbadbe
jmp 0x1002a159
mov eax, dword [ebp - 0x48]
cmp dword [ebp + eax*4 - 0x2c0], 0
je 0x1002a19a
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x29c]
call fcn.10017189
jmp 0x1002a1bb
mov eax, dword [ebp - 0x174]
inc eax
mov dword [ebp - 0x174], eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x29c]
call fcn.10017189
jmp 0x1002a11a
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x388]
call fcn.10017189
jmp 0x10029f29
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x398]
call fcn.10017189
cmp dword [ebp - 0x18c], 0
jbe 0x1002a2da
mov dword [ebp - 0x38c], 0xfffffffe
mov dword [ebp - 0x32c], 0xac04ee7d
mov dword [ebp - 0x364], 0xfffffff7
mov dword [ebp - 0x334], 0xddbc3707
mov dword [ebp - 0x3a4], 0xe7f737a9
mov dword [ebp - 0x1e8], 0xfffffff9
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 0x2dc], 0xcc2fdcba
mov dword [ebp - 0x2e4], 0xc9d5fac1
mov dword [ebp - 0xa8], 7
mov eax, dword [ebp - 0xa8]
inc eax
mov dword [ebp - 0xa8], eax
imul eax, dword [ebp - 0xa8], 0x520
test eax, eax
jne 0x1002a27c
mov eax, 0x1eb2
test eax, eax
jne 0x1002a27c
and dword [ebp - 0x184], 0
jmp 0x1002a286
mov dword [ebp - 0x184], 1
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x1e8], eax
mov byte [ebp - 0x26], 0
push 0x4061
lea eax, [ebp - 0x26]
push eax
push 1
push 0x5f4a
call fcn.1002881d
add esp, 0x10
lea eax, [ebp - 0x2ec]
push eax
push dword [ebp - 0x1f0]
push dword [ebp - 0x18c]
mov eax, dword [ebp - 0x14]
push dword [eax + 8]
push 0xce8f
push 0xab2b
call fcn.10024b6c
pop ecx
pop ecx
call eax
jmp 0x10028c8c
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret