Function at 0x1002239c
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100661ac
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3b0
push esi
push 0x4397
push 0x1fab
push 1
push 1
push 1
push 0x7526
call fcn.10012a32
add esp, 0x18
and dword [ebp - 0x1c], 0
call fcn.100219e5
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x290], 0x8cb6
mov dword [ebp - 0x28c], 0x8cb6
mov dword [ebp - 0x288], 0x8cb6
mov dword [ebp - 0x284], 0x8cb6
lea ecx, [ebp - 0xdd]
call fcn.100244fb
push eax
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x3ac]
call fcn.100244fe
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x318]
call fcn.1002447e
and dword [ebp - 4], 0
mov dword [ebp - 0x24], 0
jmp 0x10022459
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jge 0x1002246f
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x2b4], 6
jmp 0x10022452
mov dword [ebp - 0x24], 0
jmp 0x1002247f
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jge 0x10022495
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x300], 0x1791e6e4
jmp 0x10022478
mov dword [ebp - 0x2c], 0
jmp 0x100224a5
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 2
jg 0x100224bc
mov eax, dword [ebp - 0x2c]
cmp dword [ebp + eax*4 - 0x2b4], 0
je 0x100224ba
jmp 0x100224bc
jmp 0x1002249e
mov dword [ebp - 0x2c], 0xffffffe3
jmp 0x100224cc
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xffffffe3
jl 0x100225ee
mov dword [ebp - 0x88], 1
mov dword [ebp - 0x144], 1
mov dword [ebp - 0x1f8], 0xe9ab
mov dword [ebp - 0x234], 1
cmp dword [ebp - 0x88], 0
jne 0x100225b7
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x144], eax
cmp dword [ebp - 0x144], 0
jne 0x100225b7
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x2b4], 0xfdbd0176
jb 0x1002254f
mov dword [ebp - 0x150], 1
jmp 0x10022556
and dword [ebp - 0x150], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x2b4]
mov ecx, dword [ebp - 0x150]
lea eax, [ecx + eax - 0x193c1dea]
cmp eax, 0xfffffffa
jl 0x10022581
mov dword [ebp - 0x1a4], 1
jmp 0x10022588
and dword [ebp - 0x1a4], 0
mov eax, dword [ebp - 0x1f8]
cmp dword [ebp - 0x1a4], eax
jge 0x100225a2
mov dword [ebp - 0xfc], 1
jmp 0x100225a9
and dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0x88]
cmp dword [ebp - 0xfc], eax
je 0x100225d5
push 1
lea ecx, [ebp - 0x318]
call fcn.100244e6
cmp dword [eax], 0
je 0x100225d5
mov dword [ebp - 0x100], 1
jmp 0x100225dc
and dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x100]
dec eax
mov dword [ebp - 0x234], eax
jmp 0x100224c5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x318]
call fcn.100244a4
mov dword [ebp - 0x108], 0xffffffff
mov dword [ebp - 0x158], 0x664d
mov dword [ebp - 0x190], 0xfffffffe
push 1
lea ecx, [ebp - 0x2c0]
call fcn.100243cd
mov dword [ebp - 4], 1
mov dword [ebp - 0x23c], 9
mov dword [ebp - 0xa0], 0
jmp 0x10022652
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 1
jge 0x10022674
push dword [ebp - 0xa0]
lea ecx, [ebp - 0x2c0]
call fcn.100244e6
mov dword [eax], 0x96378555
jmp 0x10022645
push 0x6a5a
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x158]
push eax
push 0x33ef
push 0x49cb
push 0xa5a
push 0x3a39
push 1
push 0x7d96
push 1
push 0x2ff1
lea eax, [ebp - 0x108]
push eax
call fcn.10012c4d
add esp, 0x30
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x2c0]
push eax
push 1
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x158]
push eax
push 1
call fcn.10012e50
add esp, 0x1c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c0]
call fcn.100244a4
call fcn.10021c0a
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.10021da4
pop ecx
pop ecx
mov eax, dword [ebp - 0xc4]
movzx eax, word [eax]
cmp eax, 0x5a4d
je 0x100228f5
mov dword [ebp - 0x90], 0xc75b57fd
push 4
lea ecx, [ebp - 0x328]
call fcn.100243cd
mov dword [ebp - 4], 2
push 1
push 0x6c5c
lea eax, [ebp - 0x328]
push eax
push 0
push 0x4322
lea eax, [ebp - 0x31c]
push eax
call fcn.100205c1
add esp, 0x18
mov dword [ebp - 0x90], 0
jmp 0x1002277c
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0x1a
jge 0x100228df
push 3
lea ecx, [ebp - 0x2cc]
call fcn.100243cd
mov byte [ebp - 4], 3
lea eax, [ebp - 0x2cc]
push eax
lea eax, [ebp - 0x360]
push eax
call fcn.10021dc3
pop ecx
pop ecx
mov dword [ebp - 0x238], 0x1e1f
cmp dword [ebp - 0x238], 0x8a3
jge 0x100228b3
call fcn.1004e7bf
push 0x20
pop ecx
imul ecx, ecx, 0
add eax, ecx
push eax
push 0x100077b4
push 0x100078e0
call fcn.1004f023
add esp, 0xc
call fcn.1004e7bf
push 0x20
pop ecx
shl ecx, 0
add eax, ecx
push eax
push 0x10007760
push 0x10007764
call fcn.1004f023
add esp, 0xc
push 0x10657fec
mov ecx, 0x10656e70
call fcn.10023e89
push 0x10657fec
mov ecx, 0x10656e70
call fcn.10023e89
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x110]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x110]
add ecx, dword [eax + 4]
call fcn.10009351
movzx eax, al
test eax, eax
je 0x100228b3
and dword [0x1085a6c4], 0
xor eax, eax
inc eax
mov ecx, dword [0x1085a6c4]
shl eax, cl
and eax, dword [0x10657fec]
jne 0x10022871
mov eax, dword [0x1085a6c4]
inc eax
mov dword [0x1085a6c4], eax
jmp 0x10022851
push fcn.100287ed
push dword [0x1085a6c4]
mov eax, dword [0x10657fec]
mov ecx, dword [0x1085a6c4]
sar eax, cl
push eax
mov ecx, 0x10656db8
call fcn.10024199
mov edx, 0x10007848
mov ecx, eax
call fcn.10028af2
mov ecx, eax
call fcn.10024199
mov ecx, eax
call fcn.1002418d
jmp 0x10022818
lea eax, [ebp - 0x2cc]
push eax
push 1
push 0x7d33
push 1
call fcn.100171ad
add esp, 0x10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2cc]
call fcn.100244a4
jmp 0x1002276f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x328]
call fcn.100244a4
xor eax, eax
jmp 0x10023c26
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp + 8]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x48], 0xfff8
mov dword [ebp - 0x70], 0x72759951
mov dword [ebp - 0x1ec], 0x1d594d03
mov dword [ebp - 0x20], 0
jmp 0x1002292c
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x10022942
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x394], 0xfffffffb
jmp 0x10022925
mov dword [ebp - 0x20], 0
jmp 0x10022952
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x10022968
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x338], 0xfffd
jmp 0x1002294b
mov eax, dword [ebp - 0x48]
dec eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x48], 0
jmp 0x1002297f
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 2
jg 0x10022b4d
mov dword [ebp - 0x32c], 0xda4d
mov dword [ebp - 0x50], 0xf40f
mov dword [ebp - 0x208], 0xf88039d6
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x338]
inc eax
push 4
pop ecx
shl ecx, 1
mov dword [ebp + ecx - 0x338], eax
mov dword [ebp - 0x214], 0x245c
cmp dword [ebp - 0x214], 0x6f6
jge 0x10022aaf
lea eax, [ebp - 0xc8]
push eax
mov ecx, 0x10656e70
call fcn.10023e89
push dword [ebp - 0xc8]
lea ecx, [ebp - 0x228]
call fcn.100243cd
mov dword [ebp - 4], 4
and dword [ebp - 0xb0], 0
jmp 0x10022a16
mov eax, dword [ebp - 0xb0]
inc eax
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cmp eax, dword [ebp - 0xc8]
jge 0x10022a42
push dword [ebp - 0xb0]
lea ecx, [ebp - 0x228]
call fcn.100244e6
push eax
mov ecx, 0x10656e70
call fcn.10023e89
jmp 0x10022a09
lea eax, [ebp - 0x364]
push eax
lea ecx, [ebp - 0x228]
call fcn.100244ce
push dword [eax]
lea eax, [ebp - 0x33c]
push eax
lea ecx, [ebp - 0x228]
call fcn.100244c0
push dword [eax]
call fcn.10028824
pop ecx
pop ecx
push fcn.100287ed
mov eax, dword [ebp - 0xc8]
cdq
sub eax, edx
sar eax, 1
push eax
lea ecx, [ebp - 0x228]
call fcn.100244e6
push dword [eax]
mov ecx, 0x10656db8
call fcn.10024199
mov ecx, eax
call fcn.1002418d
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x228]
call fcn.100244a4
mov dword [ebp - 0x50], 0
jmp 0x10022abf
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 2
jg 0x10022ad5
mov byte [ebp - 0x3a], 0
lea eax, [ebp - 0x3a]
push eax
call fcn.10021e0b
pop ecx
jmp 0x10022ab8
mov dword [ebp - 0x70], 2
jmp 0x10022ae5
mov eax, dword [ebp - 0x70]
dec eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
jl 0x10022b48
mov dword [ebp - 0x1d0], 0x84e5a945
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x50]
cmp dword [ebp + eax*4 - 0x394], ecx
jl 0x10022b10
mov dword [ebp - 0x180], 1
jmp 0x10022b17
and dword [ebp - 0x180], 0
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x1ec], eax
push 1
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x1d0]
push eax
push 0x5c15
push 1
lea eax, [ebp - 0x208]
push eax
call fcn.100173f7
add esp, 0x18
jmp 0x10022ade
jmp 0x10022978
mov eax, dword [ebp - 0x58]
cmp dword [eax], 0x4550
je 0x10022b64
call fcn.10021e3b
xor eax, eax
jmp 0x10023c26
lea eax, [ebp - 0xa8]
push eax
push 0x5334
push 1
lea eax, [ebp - 0x58]
push eax
push 1
push 0x5c90
push 1
call fcn.100176ae
add esp, 0x1c
cmp dword [ebp - 0xa8], 0
jne 0x10022dd1
mov dword [ebp - 0x1d8], 0x1a10
cmp dword [ebp - 0x1d8], 0x60c
jge 0x10022ca2
and dword [ebp - 0x5c], 0
lea eax, [ebp - 0x5c]
push eax
push 0x10007748
call fcn.1004e57b
pop ecx
pop ecx
and dword [ebp - 0xd0], 0
mov dword [ebp - 0x68], 1
jmp 0x10022bd9
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0x5c]
jge 0x10022c90
mov byte [ebp - 0xd], 1
mov dword [ebp - 0x14], 1
mov dword [ebp - 0xd8], 1
jmp 0x10022c09
mov eax, dword [ebp - 0xd8]
inc eax
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x5c]
dec eax
dec eax
cmp dword [ebp - 0xd8], eax
jg 0x10022c38
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0x68]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cdq
idiv dword [ebp - 0x5c]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 1
jne 0x10022c36
mov byte [ebp - 0xd], 0
jmp 0x10022c38
jmp 0x10022bfc
movzx eax, byte [ebp - 0xd]
test eax, eax
je 0x10022c76
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0x68]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cdq
idiv dword [ebp - 0x5c]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 1
jne 0x10022c66
mov dword [ebp - 0x118], 1
jmp 0x10022c6d
and dword [ebp - 0x118], 0
mov al, byte [ebp - 0x118]
mov byte [ebp - 0xd], al
movzx eax, byte [ebp - 0xd]
test eax, eax
je 0x10022c8b
mov eax, dword [ebp - 0xd0]
inc eax
mov dword [ebp - 0xd0], eax
jmp 0x10022bd2
push dword [ebp - 0xd0]
push 0x10007750
call fcn.1004eb95
pop ecx
pop ecx
push 1
lea ecx, [ebp - 0x1bc]
call fcn.100243cd
mov dword [ebp - 4], 5
mov dword [ebp - 0x22c], 0x3e9323d1
mov dword [ebp - 0x368], 0x54a20a29
lea eax, [ebp - 0x1bc]
push eax
push 1
lea eax, [ebp - 0x2ec]
push eax
push 1
push 0x41a0
call fcn.100178b4
add esp, 0x14
push 0
lea ecx, [ebp - 0x1bc]
call fcn.100244e6
and dword [eax], 0
jmp 0x10022d1f
push 0
lea ecx, [ebp - 0x1bc]
call fcn.100244e6
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x160]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x160]
mov dword [ecx], eax
push 0
lea ecx, [ebp - 0x1bc]
call fcn.100244e6
cmp dword [eax], 0x17
jle 0x10022dbb
mov dword [ebp - 0x1e0], 0xfffffffa
mov dword [ebp - 0x210], 0x815c
push 0
lea ecx, [ebp - 0x1bc]
call fcn.100244e6
cmp dword [eax], 0
je 0x10022d9a
push 0
lea ecx, [ebp - 0x1bc]
call fcn.100244e6
cmp dword [eax], 0
je 0x10022d9a
push 1
push 0
lea eax, [ebp - 0x22c]
push eax
push 1
push 0x12ed
push 0x7b62
push 0x1b50
lea eax, [ebp - 0x1e0]
push eax
call fcn.100209d8
add esp, 0x20
jmp 0x10022db6
mov byte [ebp - 0x41], 0
lea eax, [ebp - 0x41]
push eax
call fcn.10021fb8
pop ecx
cmp dword [ebp - 0x210], 0
je 0x10022db6
jmp 0x10022cfb
jmp 0x10022cfb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1bc]
call fcn.100244a4
xor eax, eax
jmp 0x10023c26
mov dword [ebp - 0x98], 8
mov dword [ebp - 0x2f0], 0xb6069300
mov dword [ebp - 0x2f8], 0x62513244
mov dword [ebp - 0x218], 0xbc7dcd66
mov dword [ebp - 0x1e8], 0xdade661f
push 1
lea ecx, [ebp - 0x348]
call fcn.100243cd
mov dword [ebp - 4], 6
mov dword [ebp - 0x200], 0xe3b00b72
mov dword [ebp - 0x2e8], 0xfffffff6
mov dword [ebp - 0x64], 0
jmp 0x10022e3b
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 4
jge 0x10022e51
mov eax, dword [ebp - 0x64]
mov dword [ebp + eax*4 - 0x3bc], 0x7207182b
jmp 0x10022e34
lea eax, [ebp - 0x348]
push eax
push 0x46c1
push 1
lea eax, [ebp - 0x64]
push eax
push 1
call fcn.10017fa3
add esp, 0x14
mov dword [ebp - 0x98], 1
jmp 0x10022e86
mov eax, dword [ebp - 0x98]
dec eax
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0xffffffff
je 0x100230b9
mov dword [ebp - 0x120], 0xffffffff
mov dword [ebp - 0xbc], 0xfffffff7
mov dword [ebp - 0x27c], 2
mov dword [ebp - 0x278], 2
mov dword [ebp - 0x274], 2
mov dword [ebp - 0x270], 2
lea ecx, [ebp - 0xbd]
call fcn.100244fb
push eax
lea eax, [ebp - 0x26c]
push eax
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x39c]
call fcn.100244fe
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x2d8]
call fcn.1002447e
mov byte [ebp - 4], 7
mov dword [ebp - 0x308], 1
mov dword [ebp - 0x1f0], 0
mov dword [ebp - 0x168], 0x6aa1dd5c
mov dword [ebp - 0x80], 0
jmp 0x10022f36
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 3
jge 0x10022f4c
mov eax, dword [ebp - 0x80]
mov dword [ebp + eax*4 - 0x2e4], 0x446bd29a
jmp 0x10022f2f
mov eax, dword [ebp - 0x120]
inc eax
mov dword [ebp - 0x120], eax
push 0
lea ecx, [ebp - 0x2d8]
call fcn.100244e6
mov ecx, dword [ebp - 0x1e8]
cmp dword [eax], ecx
jge 0x10022f7c
mov dword [ebp - 0x1a0], 1
jmp 0x10022f83
and dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x36c], eax
push 7
pop eax
cmp eax, 1
je 0x10022fa3
mov dword [ebp - 0x230], 1
jmp 0x10022faa
and dword [ebp - 0x230], 0
mov eax, dword [ebp - 0x1a0]
add eax, 4
cmp eax, dword [ebp - 0x1f0]
jle 0x10022fc7
mov dword [ebp - 0x128], 1
jmp 0x10022fce
and dword [ebp - 0x128], 0
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x168], eax
mov esi, dword [ebp - 0x168]
imul esi, dword [ebp - 0x218]
push 0
lea ecx, [ebp - 0x2d8]
call fcn.100244e6
cmp dword [eax], esi
jne 0x10023010
mov dword [ebp - 0x130], 1
jmp 0x10023017
and dword [ebp - 0x130], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x2e4]
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x130]
add eax, 5
mov dword [ebp - 0x21c], eax
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x2e4]
dec eax
push 4
pop ecx
shl ecx, 1
mov dword [ebp + ecx - 0x2e4], eax
mov eax, dword [ebp - 0x1c0]
cmp eax, dword [ebp - 0x21c]
jl 0x1002306b
mov dword [ebp - 0x188], 1
jmp 0x10023072
and dword [ebp - 0x188], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x3bc]
cmp dword [ebp - 0x188], eax
jl 0x10023092
mov dword [ebp - 0x138], 1
jmp 0x10023099
and dword [ebp - 0x138], 0
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x200], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2d8]
call fcn.100244a4
jmp 0x10022e79
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x348]
call fcn.100244a4
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x374]
push eax
push 0x6ffd
lea eax, [ebp - 0xa8]
push eax
push 1
lea eax, [ebp - 0xc4]
push eax
push 1
push 0x4910
lea eax, [ebp - 0x58]
push eax
call fcn.100180bd
add esp, 0x24
push 1
push 1
push dword [ebp + 8]
push 0x7eb2
push 0x56f2
push 0x492a
push 0
push 0x60cd
push 0x2241
push dword [ebp - 0x58]
push dword [ebp - 0x1c]
push 0x1743
call fcn.10013801
add esp, 0x30
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x6c], 0xc4530722
mov byte [ebp - 0x39], 0
movzx eax, byte [ebp - 0x39]
test eax, eax
je 0x10023174
push 0x1067
push 0x2c1a
push 0x51c4
push 1
push 1
push 1
push 0x45da
push 0x15ed
call fcn.10018235
add esp, 0x20
mov dword [ebp - 0x84], 9
jmp 0x1002318d
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0x12
jle 0x10023284
mov dword [ebp - 0x78], 0
jmp 0x100231aa
mov eax, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 1
jge 0x100231c0
mov eax, dword [ebp - 0x78]
mov dword [ebp + eax*4 - 0x8c], 0xfffffffd
jmp 0x100231a3
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x8c], 0
je 0x100231e7
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x8c], 0
je 0x100231e5
jmp 0x10023284
jmp 0x10023250
push 2
lea ecx, [ebp - 0x29c]
call fcn.100243cd
mov dword [ebp - 4], 8
push 1
push 1
lea eax, [ebp - 0x29c]
push eax
lea eax, [ebp - 0x370]
push eax
push 0x7bec
push 0x7b73
call fcn.10020318
add esp, 0x18
push 0x656
push 1
push 0xf48
push 1
lea eax, [ebp - 0x29c]
push eax
push 0x719e
call fcn.10020429
add esp, 0x18
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x29c]
call fcn.100244a4
mov dword [ebp - 0x6c], 0
jmp 0x10023260
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
jg 0x1002327f
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp + eax - 0x8c]
mov dword [ebp + ecx*4 - 0x8c], eax
jmp 0x10023259
jmp 0x10023180
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0xa8]
push eax
lea eax, [ebp - 0x17c]
push eax
call fcn.10022010
add esp, 0xc
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x30], 0xee2fde2b
push 2
lea ecx, [ebp - 0x1b0]
call fcn.100243cd
mov dword [ebp - 4], 9
mov dword [ebp - 0x94], 0xde57413
mov dword [ebp - 0xac], 1
mov dword [ebp - 0x1d4], 0xa24791a1
mov dword [ebp - 0x18], 0
jmp 0x100232ee
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x10023304
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x24c], 0xab227d3
jmp 0x100232e7
push 1
push 0x4d79
push 0x2856
lea eax, [ebp - 0x18]
push eax
push 1
lea eax, [ebp - 0x1b0]
push eax
call fcn.10020511
add esp, 0x18
mov dword [ebp - 0x18], 0
jmp 0x10023335
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 4
jge 0x1002334b
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x388], 0xd4f6c553
jmp 0x1002332e
mov dword [ebp - 0x30], 0x72d4ea68
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x35c], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x34c], eax
cmp dword [ebp - 0x40], 1
jae 0x10023376
mov dword [ebp - 0x170], 1
jmp 0x1002337d
and dword [ebp - 0x170], 0
cmp dword [ebp - 0x170], 0x4b28
je 0x10023395
mov dword [ebp - 0x140], 1
jmp 0x1002339c
and dword [ebp - 0x140], 0
cmp dword [ebp - 0x140], 0x285ce96b
jl 0x100233b4
mov dword [ebp - 0x198], 1
jmp 0x100233bb
and dword [ebp - 0x198], 0
imul eax, dword [ebp - 0x198], 0xffff
mov dword [ebp - 0x148], eax
push 4
pop eax
imul eax, eax, 3
mov ecx, dword [ebp - 0x148]
mov dword [ebp + eax - 0x24c], ecx
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x148]
jle 0x100233f5
mov dword [ebp - 0x178], 1
jmp 0x100233fc
and dword [ebp - 0x178], 0
cmp dword [ebp - 0x178], 0xfffb
jae 0x10023414
mov dword [ebp - 0xf8], 1
jmp 0x1002341b
and dword [ebp - 0xf8], 0
cmp dword [ebp - 0xf8], 0xffffffff
jne 0x10023430
mov dword [ebp - 0xf4], 1
jmp 0x10023437
and dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0xf4], eax
jne 0x1002344e
mov dword [ebp - 0x104], 1
jmp 0x10023455
and dword [ebp - 0x104], 0
push 1
lea ecx, [ebp - 0x1b0]
call fcn.100244e6
mov ecx, dword [ebp - 0x104]
mov dword [eax], ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
jne 0x10023514
push 4
pop eax
imul eax, eax, 3
cmp dword [ebp + eax - 0x24c], 0xb38e5161
jne 0x1002349f
mov dword [ebp - 0x10c], 1
jmp 0x100234a6
and dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 0x10c]
neg eax
cmp dword [ebp - 0x30], eax
jge 0x100234c2
mov dword [ebp - 0x114], 1
jmp 0x100234c9
and dword [ebp - 0x114], 0
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x24c]
cmp eax, dword [ebp - 0x114]
jne 0x100234f0
mov eax, 0x1fa6f63e
test eax, eax
jne 0x100234f0
and dword [ebp - 0x11c], 0
jmp 0x100234fa
mov dword [ebp - 0x11c], 1
push 0
lea ecx, [ebp - 0x1b0]
call fcn.100244e6
push 1
lea ecx, [ebp - 0x1b0]
call fcn.100244e6
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x24c]
mov dword [ebp - 0x124], eax
push 1
lea ecx, [ebp - 0x1b0]
call fcn.100244e6
mov ecx, dword [ebp - 0x124]
mov dword [eax], ecx
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xfffffff8
jne 0x10023563
mov dword [ebp - 0x9c], 1
jmp 0x1002356a
and dword [ebp - 0x9c], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x9c]
mov dword [ebp + eax - 0x24c], ecx
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0x9c]
mov dword [ebp + eax - 0x388], ecx
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0xac], eax
jle 0x100235b5
call fcn.1002203e
call fcn.10022069
jmp 0x100239b2
mov dword [ebp - 0xdc], 0x2b3395cc
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x1dc], 0xfffffffc
push 1
lea ecx, [ebp - 0x2a8]
call fcn.100243cd
mov byte [ebp - 4], 0xa
mov dword [ebp - 0xcc], 0x89c6
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0x268], 0xfffffffc
mov dword [ebp - 0x264], 0xfffffffc
mov dword [ebp - 0x260], 0xfffffffc
mov dword [ebp - 0x25c], 0xfffffffc
lea ecx, [ebp - 0xb5]
call fcn.100244fb
push eax
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x268]
push eax
lea ecx, [ebp - 0x3a4]
call fcn.100244fe
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x358]
call fcn.1002447e
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x1c8], 0x25c6
cmp dword [ebp - 0x1c8], 0x10f4
jge 0x100237ea
lea eax, [ebp - 0x7c]
push eax
push 0x1000774c
call fcn.1004e57b
pop ecx
pop ecx
and dword [ebp - 0x1cc], 0
lea eax, [ebp - 0x1cc]
push eax
mov eax, dword [ebp - 0x7c]
inc eax
push eax
lea ecx, [ebp - 0xec]
call fcn.10024409
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x54], 1
mov dword [ebp - 0x28], 2
jmp 0x100236bc
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x7c]
jg 0x10023774
push dword [ebp - 0x28]
lea ecx, [ebp - 0xec]
call fcn.100244e6
cmp dword [eax], 0
je 0x100236e1
jmp 0x100236b5
push dword [ebp - 0x28]
lea ecx, [ebp - 0xec]
call fcn.100244e6
mov ecx, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x28]
shl eax, 1
mov dword [ebp - 0x4c], eax
jmp 0x1002370e
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x7c]
jg 0x1002376f
push dword [ebp - 0x4c]
lea ecx, [ebp - 0xec]
call fcn.100244e6
cmp dword [eax], 0
je 0x10023741
push dword [ebp - 0x4c]
lea ecx, [ebp - 0xec]
call fcn.100244e6
mov eax, dword [eax]
mov dword [ebp - 0x12c], eax
jmp 0x10023757
push dword [ebp - 0x28]
lea ecx, [ebp - 0xec]
call fcn.100244e6
mov eax, dword [eax]
mov dword [ebp - 0x12c], eax
push dword [ebp - 0x4c]
lea ecx, [ebp - 0xec]
call fcn.100244e6
mov ecx, dword [ebp - 0x12c]
mov dword [eax], ecx
jmp 0x10023705
jmp 0x100236b5
mov dword [ebp - 0x74], 2
jmp 0x10023784
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x7c]
jg 0x100237db
push dword [ebp - 0x74]
lea ecx, [ebp - 0xec]
call fcn.100244e6
cmp dword [eax], 0
je 0x100237b7
push dword [ebp - 0x74]
lea ecx, [ebp - 0xec]
call fcn.100244e6
mov eax, dword [eax]
mov dword [ebp - 0x134], eax
jmp 0x100237c7
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
push dword [ebp - 0x134]
push 0x10007788
call fcn.1004eb95
pop ecx
pop ecx
jmp 0x1002377d
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xec]
call fcn.10024565
mov dword [ebp - 0xa4], 0
jmp 0x10023803
mov eax, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 1
jge 0x10023822
push dword [ebp - 0xa4]
lea ecx, [ebp - 0x2a8]
call fcn.100244e6
and dword [eax], 0
jmp 0x100237f6
mov dword [ebp - 0xdc], 9
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x2f4], eax
mov dword [ebp - 0x174], 0xc0c84a4e
cmp dword [ebp - 0xd4], 0x41911659
jg 0x1002385a
mov dword [ebp - 0x13c], 1
jmp 0x10023861
and dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0xcc]
inc eax
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xd4]
sub eax, dword [ebp - 0x13c]
cmp dword [ebp - 0xcc], eax
jle 0x1002388e
mov dword [ebp - 0xf0], 1
jmp 0x10023895
and dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0xac]
cmp dword [ebp - 0xf0], eax
jne 0x100238af
mov dword [ebp - 0x14c], 1
jmp 0x100238b6
and dword [ebp - 0x14c], 0
cmp dword [ebp - 0x14c], 0
jne 0x100238cb
mov dword [ebp - 0x154], 1
jmp 0x100238d2
and dword [ebp - 0x154], 0
mov eax, dword [ebp - 0xd4]
cmp dword [ebp - 0x154], eax
jle 0x100238ec
mov dword [ebp - 0x15c], 1
jmp 0x100238f3
and dword [ebp - 0x15c], 0
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x15c], eax
jl 0x1002390a
mov dword [ebp - 0x164], 1
jmp 0x10023911
and dword [ebp - 0x164], 0
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x388]
cmp dword [ebp - 0x164], eax
jne 0x10023932
mov dword [ebp - 0x16c], 1
jmp 0x10023939
and dword [ebp - 0x16c], 0
push 4
pop eax
imul eax, eax, 3
mov ecx, dword [ebp - 0x16c]
mov dword [ebp + eax - 0x24c], ecx
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x1d4]
push eax
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x1b0]
push eax
lea eax, [ebp - 0x358]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x2a8]
push eax
lea eax, [ebp - 0x1dc]
push eax
call fcn.100220a4
add esp, 0x28
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x358]
call fcn.100244a4
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x2a8]
call fcn.100244a4
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1b0]
call fcn.100244a4
cmp dword [ebp - 0x17c], 0
je 0x10023a14
mov dword [ebp - 0x1c4], 0x8cff0ea7
mov dword [ebp - 0x1e4], 0xc7d24b5e
lea eax, [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x1c4]
push eax
call fcn.100221b4
pop ecx
pop ecx
lea eax, [ebp - 0x1c]
push eax
push 0x73fb
push 0x6d88
lea eax, [ebp - 0x17c]
push eax
push 1
push 1
call fcn.10021062
add esp, 0x18
push dword [ebp - 0x1c]
call fcn.1000f906
pop ecx
test eax, eax
jne 0x10023a28
xor eax, eax
jmp 0x10023c26
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0xb4], 0
jmp 0x10023a48
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 2
jge 0x10023a64
mov eax, dword [ebp - 0xb4]
mov dword [ebp + eax*4 - 0x254], 0xffffffff
jmp 0x10023a3b
mov dword [ebp - 0x34], 0xffffffff
jmp 0x10023a74
mov eax, dword [ebp - 0x34]
dec eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0xffffffe9
jg 0x10023b75
mov dword [ebp - 0x60], 0x96a485bf
mov dword [ebp - 0x38], 4
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x378], eax
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x34], eax
jg 0x10023aa9
mov dword [ebp - 0x184], 1
jmp 0x10023ab0
and dword [ebp - 0x184], 0
cmp dword [ebp - 0x184], 0x9781
jg 0x10023ac9
xor eax, eax
jne 0x10023ac9
and dword [ebp - 0x1f4], 0
jmp 0x10023ad3
mov dword [ebp - 0x1f4], 1
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x34], eax
jl 0x10023ae7
mov dword [ebp - 0x18c], 1
jmp 0x10023aee
and dword [ebp - 0x18c], 0
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x18c]
jg 0x10023b05
mov dword [ebp - 0x1fc], 1
jmp 0x10023b0c
and dword [ebp - 0x1fc], 0
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x60], eax
jle 0x10023b29
mov dword [ebp - 0x204], 1
jmp 0x10023b30
and dword [ebp - 0x204], 0
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x30c], eax
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x254], 7
mov dword [ebp - 0x38], 0
jmp 0x10023b5a
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 2
jge 0x10023b70
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax*4 - 0x254], 0xaf7806aa
jmp 0x10023b53
jmp 0x10023a6d
push 1
push 0xf80
push 0x5cff
push 0x4ac1
push 1
push 0x1d47
push 0x58ca
push 0x35b3
push 0x5b56
push 1
push 0x1a49
lea eax, [ebp - 0x1c]
push eax
call fcn.1002118e
add esp, 0x30
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
cmp dword [eax + 0x28], 0
je 0x10023c05
call fcn.10022250
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xa8]
add ecx, dword [eax + 0x28]
mov dword [ebp - 0x194], ecx
jne 0x10023bd9
xor eax, eax
jmp 0x10023c26
push 0
push 1
push 0xdeadbeef
call dword [ebp - 0x194]
mov dword [ebp - 0x20c], eax
cmp dword [ebp - 0x20c], 0
jne 0x10023bfb
xor eax, eax
jmp 0x10023c26
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x10], 1
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x10], 0
je 0x10023c19
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x19c], eax
jmp 0x10023c20
and dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret