Function at 0x10019f7b
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006b5e6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x35c
push esi
movzx eax, byte [ebp + 8]
test eax, eax
je 0x1001b552
mov eax, dword [ebp + 0x3c]
mov dword [ebp - 0x280], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x238], eax
lea eax, [ebp + 0x10]
mov dword [ebp - 0x204], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x204]
movzx eax, byte [eax]
test eax, eax
je 0x1001a03f
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x60]
mov dword [eax], 0
jmp 0x1001a01a
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x60]
mov dword [ecx], eax
mov eax, dword [ebp - 0x60]
cmp dword [eax], 1
jge 0x1001a03a
mov eax, dword [ebp - 0x60]
push dword [eax]
mov ecx, dword [ebp - 0x1b4]
call fcn.1002a8d8
mov dword [eax], 0xc9b7
jmp 0x1001a00f
jmp 0x1001b54d
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x10c], 0x283066c9
mov dword [ebp - 0xd8], 0x61d2250d
mov dword [ebp - 0xb8], 0x10789328
mov dword [ebp - 0x50], 6
mov dword [ebp - 0x1bc], 0x1edc
cmp dword [ebp - 0x1bc], 0xcbf
jge 0x1001a207
lea eax, [ebp - 0x240]
push eax
lea eax, [ebp - 0x174]
push eax
push 0x1000784c
call fcn.100539eb
add esp, 0xc
push dword [ebp - 0x174]
lea ecx, [ebp - 0x148]
call fcn.1002a7d6
and dword [ebp - 4], 0
mov dword [ebp - 0x58], 0x4a
and dword [ebp - 0xac], 0
and dword [ebp - 0x28], 0
jmp 0x1001a0d5
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x148]
call fcn.1002a8cf
cmp dword [ebp - 0x28], eax
jae 0x1001a15b
push dword [ebp - 0x28]
lea ecx, [ebp - 0x148]
call fcn.1002a8d8
push eax
push 0x10007808
call fcn.100539eb
pop ecx
pop ecx
push dword [ebp - 0x28]
lea ecx, [ebp - 0x148]
call fcn.1002a8d8
mov eax, dword [eax]
cmp eax, dword [ebp - 0x58]
jge 0x1001a128
push dword [ebp - 0x28]
lea ecx, [ebp - 0x148]
call fcn.1002a8d8
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
push dword [ebp - 0x28]
lea ecx, [ebp - 0x148]
call fcn.1002a8d8
mov eax, dword [eax]
cmp eax, dword [ebp - 0xac]
jle 0x1001a156
push dword [ebp - 0x28]
lea ecx, [ebp - 0x148]
call fcn.1002a8d8
mov eax, dword [eax]
mov dword [ebp - 0xac], eax
jmp 0x1001a0ce
mov eax, dword [ebp - 0xac]
sub eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x240]
jle 0x1001a179
push 0x10007844
call fcn.100545b2
pop ecx
jmp 0x1001a1f8
push 0x100078bc
call fcn.100545b2
pop ecx
and dword [ebp - 0x70], 0
jmp 0x1001a191
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
cmp eax, dword [ebp - 0x174]
jge 0x1001a1f8
mov dword [ebp - 0x48], 1
jmp 0x1001a1ac
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
push dword [ebp - 0x70]
lea ecx, [ebp - 0x148]
call fcn.1002a8d8
mov ecx, dword [ebp - 0x48]
cmp ecx, dword [eax]
jg 0x1001a1eb
mov eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x58]
jg 0x1001a1d6
push 0x10007928
call fcn.10053e49
pop ecx
jmp 0x1001a1e9
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x58]
push eax
push 0x10007854
call fcn.10053e49
pop ecx
pop ecx
jmp 0x1001a1a5
push 0x10007775
call fcn.100545b2
pop ecx
jmp 0x1001a18a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x148]
call fcn.1002a8ad
mov dword [ebp - 0xc8], 0x732a
mov dword [ebp - 0x158], 0xffffffff
mov dword [ebp - 0xc0], 6
mov dword [ebp - 0x250], 0x7b47e0fa
mov dword [ebp - 0x1cc], 0x6bae
mov dword [ebp - 0x158], 0xfffffff6
cmp dword [ebp - 0x50], 0x34ca
jl 0x1001a258
mov dword [ebp - 0x194], 1
jmp 0x1001a25f
and dword [ebp - 0x194], 0
cmp dword [ebp - 0x194], 1
jae 0x1001a274
mov dword [ebp - 0xec], 1
jmp 0x1001a27b
and dword [ebp - 0xec], 0
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xb8]
cmp dword [ebp - 0xc0], eax
jg 0x1001a2a1
mov dword [ebp - 0x13c], 1
jmp 0x1001a2a8
and dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0xb8]
cmp dword [ebp - 0x13c], eax
jg 0x1001a2c2
mov dword [ebp - 0xf4], 1
jmp 0x1001a2c9
and dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0xc8]
dec eax
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x1c4]
cmp eax, dword [ebp - 0x248]
jne 0x1001a308
mov dword [ebp - 0x170], 1
jmp 0x1001a30f
and dword [ebp - 0x170], 0
cmp dword [ebp - 0x170], 0x5809
jge 0x1001a327
mov dword [ebp - 0xfc], 1
jmp 0x1001a32e
and dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xd8]
inc eax
sub eax, dword [ebp - 0xfc]
cmp eax, dword [ebp - 0x50]
jle 0x1001a358
mov dword [ebp - 0x150], 1
jmp 0x1001a35f
and dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0xffffffff
jg 0x1001a37a
mov dword [ebp - 0x104], 1
jmp 0x1001a381
and dword [ebp - 0x104], 0
cmp dword [ebp - 0x104], 0
jl 0x1001a396
mov dword [ebp - 0x190], 1
jmp 0x1001a39d
and dword [ebp - 0x190], 0
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x158]
push eax
push 0x49d0
lea eax, [ebp - 0xc0]
push eax
push 0
push 0x406b
lea eax, [ebp - 0x1cc]
push eax
lea eax, [ebp - 0x250]
push eax
call fcn.10024519
add esp, 0x28
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x88]
mov ecx, dword [ecx]
movzx ecx, word [ecx + 0x14]
lea eax, [eax + ecx + 0x18]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], 1
mov dword [ebp - 0x114], 4
mov dword [ebp - 0x68], 0
jmp 0x1001a427
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 3
jge 0x1001a43d
mov eax, dword [ebp - 0x68]
mov dword [ebp + eax*4 - 0x290], 7
jmp 0x1001a420
mov dword [ebp - 0x14], 0
jmp 0x1001a44d
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jg 0x1001a545
mov dword [ebp - 0xd0], 0x552bf338
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x290]
mov dword [ebp + ecx*4 - 0x290], eax
mov dword [ebp - 0x114], 0xaa4
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 1
jae 0x1001a4a0
mov dword [ebp - 0x1d4], 1
jmp 0x1001a4a7
and dword [ebp - 0x1d4], 0
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x290]
mov dword [ebp - 0x2e4], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0xd0]
cmp dword [ebp - 0x14], eax
jge 0x1001a4d7
mov dword [ebp - 0x178], 1
jmp 0x1001a4de
and dword [ebp - 0x178], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x178], eax
jge 0x1001a4f5
mov dword [ebp - 0x11c], 1
jmp 0x1001a4fc
and dword [ebp - 0x11c], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x290]
cmp dword [ebp - 0x11c], eax
jg 0x1001a523
mov eax, 0xa42
test eax, eax
jne 0x1001a523
and dword [ebp - 0x160], 0
jmp 0x1001a52d
mov dword [ebp - 0x160], 1
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x160]
mov dword [ebp + eax - 0x290], ecx
jmp 0x1001a446
and dword [ebp - 0xb0], 0
jmp 0x1001a564
mov eax, dword [ebp - 0xb0]
inc eax
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x10]
add eax, 0x28
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x88]
mov eax, dword [eax]
movzx eax, word [eax + 6]
cmp dword [ebp - 0xb0], eax
jge 0x1001b54d
mov dword [ebp - 0xa0], 0xc93b4e1
mov dword [ebp - 0xa0], 0
jmp 0x1001a59f
mov eax, dword [ebp - 0xa0]
dec eax
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0xffffffe5
jne 0x1001a7ac
mov dword [ebp - 0x2e0], 0xfffffff8
mov dword [ebp - 0x2dc], 0xfffffff8
mov dword [ebp - 0x2d8], 0xfffffff8
mov dword [ebp - 0x2d4], 0xfffffff8
mov dword [ebp - 0x78], 0x759609c3
mov byte [ebp - 0x2e], 0
lea eax, [ebp - 0x2e]
push eax
push 0x5fdf
push 0x7cdc
push 0x26c
push 1
push 0
push 1
push 0x7300
push 0x6eac
call fcn.100235b0
add esp, 0x24
mov dword [ebp - 0x78], 0
jmp 0x1001a61a
mov eax, dword [ebp - 0x78]
inc eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 3
jg 0x1001a7a7
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xa8], 0
jmp 0x1001a644
mov eax, dword [ebp - 0xa8]
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 3
jge 0x1001a660
mov eax, dword [ebp - 0xa8]
mov dword [ebp + eax*4 - 0x368], 3
jmp 0x1001a637
mov dword [ebp - 0x1c], 0
jmp 0x1001a670
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x1001a686
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x2e0], 0x22a149ce
jmp 0x1001a669
mov dword [ebp - 0x1c], 3
jmp 0x1001a696
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jl 0x1001a7a2
mov dword [ebp - 0x94], 0xadf1adb2
mov dword [ebp - 0x258], 0x147e
cmp dword [ebp - 0x258], 0xe65
jge 0x1001a753
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x124]
push eax
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0xb4]
push eax
push 0x100078e8
call fcn.100539eb
add esp, 0x14
mov eax, dword [ebp - 0xb4]
add eax, dword [ebp - 0xbc]
cmp dword [ebp - 0x188], eax
jge 0x1001a73d
mov eax, dword [ebp - 0xb4]
add eax, dword [ebp - 0xbc]
cmp dword [ebp - 0x124], eax
jge 0x1001a73d
mov eax, dword [ebp - 0x124]
cmp eax, dword [ebp - 0xb4]
jl 0x1001a731
mov eax, dword [ebp - 0x188]
cmp eax, dword [ebp - 0xbc]
jge 0x1001a73d
mov dword [ebp - 0x12c], 0x10007938
jmp 0x1001a747
mov dword [ebp - 0x12c], 0x1000792c
push dword [ebp - 0x12c]
call fcn.100545b2
pop ecx
mov dword [ebp - 0x168], 0x25d2d915
mov dword [ebp - 0x94], 3
jmp 0x1001a776
mov eax, dword [ebp - 0x94]
dec eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
jl 0x1001a79d
mov dword [ebp - 0x168], 0xffffffff
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0x168]
mov dword [ebp + eax - 0x368], ecx
jmp 0x1001a769
jmp 0x1001a68f
jmp 0x1001a613
jmp 0x1001a592
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x24]
and eax, 0x20000000
je 0x1001a7c5
mov dword [ebp - 0x134], 1
jmp 0x1001a7cc
and dword [ebp - 0x134], 0
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x24]
and eax, 0x40000000
je 0x1001a7f1
mov dword [ebp - 0x180], 1
jmp 0x1001a7f8
and dword [ebp - 0x180], 0
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x84], 0xffffffff
mov dword [ebp - 0x310], 0xfffffffc
mov dword [ebp - 0x318], 0
mov dword [ebp - 0x268], 0x85faafe3
mov dword [ebp - 0x84], 0xffffffee
jmp 0x1001a845
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0x1a
jge 0x1001a8c6
mov dword [ebp - 0x260], 0xfffffffe
mov dword [ebp - 0x1dc], 0xd45db34e
mov byte [ebp - 0x2c], 0
movzx eax, byte [ebp - 0x2c]
test eax, eax
je 0x1001a893
push 0x2a56
push 1
push 0x16f1
push 0x545d
push 0x4daf
push 1
push 0x3fc2
call fcn.10016f87
add esp, 0x1c
lea eax, [ebp - 0x1dc]
push eax
push 0
push 1
push 0x60b2
push 0x511d
lea eax, [ebp - 0x260]
push eax
push 0x320d
push 0x47dd
call fcn.10019609
add esp, 0x20
jmp 0x1001a838
push 1
lea eax, [ebp - 0x268]
push eax
push 0
call fcn.100179ae
add esp, 0xc
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x24]
and eax, 0x80000000
je 0x1001a8f2
mov dword [ebp - 0xe4], 1
jmp 0x1001a8f9
and dword [ebp - 0xe4], 0
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x24]
and eax, 0x2000000
je 0x1001abab
push 0x4000
mov eax, dword [ebp - 0x10]
push dword [eax + 0x10]
mov eax, dword [ebp - 0x10]
push dword [eax + 8]
push 0x11638
push 0xf51d
call fcn.1004ae86
pop ecx
pop ecx
call eax
mov dword [ebp - 0x40], 4
mov dword [ebp - 0x24], 4
mov dword [ebp - 0xa4], 0
jmp 0x1001a961
mov eax, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 1
jge 0x1001a97d
mov eax, dword [ebp - 0xa4]
mov dword [ebp + eax*4 - 0x118], 0x229e
jmp 0x1001a954
push 0x374e
push 1
push 1
push 0x6b3f
call fcn.100170d3
add esp, 0x10
mov dword [ebp - 0x40], 0xfffffff7
jmp 0x1001a9a3
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 8
jle 0x1001aba6
push 1
lea ecx, [ebp - 0x1a0]
call fcn.1002a7d6
mov dword [ebp - 4], 1
mov dword [ebp - 0x38], 0xffffffff
push 0x2608
push 0x7b41
push 1
push 0x5756
lea eax, [ebp - 0x320]
push eax
push 0x185b
lea eax, [ebp - 0x1a0]
push eax
push 1
call fcn.100171a0
add esp, 0x20
push 0
lea ecx, [ebp - 0x1a0]
call fcn.1002a8d8
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, 0xffff
test eax, eax
je 0x1001aa33
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x118]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x1001aa33
mov dword [ebp - 0xe8], 1
jmp 0x1001aa3a
and dword [ebp - 0xe8], 0
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x38], eax
mov esi, dword [ebp - 0x38]
push 0
lea ecx, [ebp - 0x1a0]
call fcn.1002a8d8
cmp esi, dword [eax]
jge 0x1001aa63
mov dword [ebp - 0xf0], 1
jmp 0x1001aa6a
and dword [ebp - 0xf0], 0
cmp dword [ebp - 0xf0], 0xc3938dd4
jae 0x1001aa82
mov dword [ebp - 0xf8], 1
jmp 0x1001aa89
and dword [ebp - 0xf8], 0
push 0
lea ecx, [ebp - 0x1a0]
call fcn.1002a8d8
mov ecx, dword [ebp - 0xf8]
cmp ecx, dword [eax]
jge 0x1001aaac
mov dword [ebp - 0x100], 1
jmp 0x1001aab3
and dword [ebp - 0x100], 0
push 0
lea ecx, [ebp - 0x1a0]
call fcn.1002a8d8
mov eax, dword [eax]
cmp eax, dword [ebp - 0x100]
jge 0x1001aad6
mov dword [ebp - 0x108], 1
jmp 0x1001aadd
and dword [ebp - 0x108], 0
push 0
lea ecx, [ebp - 0x1a0]
call fcn.1002a8d8
mov ecx, dword [ebp - 0x108]
add ecx, dword [eax]
cmp ecx, dword [ebp - 0x40]
jl 0x1001ab03
mov dword [ebp - 0x110], 1
jmp 0x1001ab0a
and dword [ebp - 0x110], 0
cmp dword [ebp - 0x110], 0xf93bd5de
jne 0x1001ab54
mov byte [ebp - 0x2b], 0
movzx eax, byte [ebp - 0x2b]
test eax, eax
je 0x1001ab30
push 0x1a6c
push 0
call fcn.1001b74e
pop ecx
pop ecx
mov byte [ebp - 0x29], 0
movzx eax, byte [ebp - 0x29]
test eax, eax
je 0x1001ab52
push 0x4805
push 0x5fad
push 1
push 1
call fcn.100172b7
add esp, 0x10
jmp 0x1001ab92
mov dword [ebp - 0x38], 0
jmp 0x1001ab64
mov eax, dword [ebp - 0x38]
dec eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0xfffffff9
je 0x1001ab92
mov dword [ebp - 0x24], 0
jmp 0x1001ab7a
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 1
jge 0x1001ab90
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x118], 0xcf5a
jmp 0x1001ab73
jmp 0x1001ab5d
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1a0]
call fcn.1002a8ad
jmp 0x1001a99c
jmp 0x1001a54e
mov dword [ebp - 0x328], 0xffffffff
mov dword [ebp - 0x330], 0x4801897a
mov dword [ebp - 0x338], 0xffffffff
mov dword [ebp - 0x35c], 0x914d2edc
push 3
lea ecx, [ebp - 0x348]
call fcn.1002a7d6
mov dword [ebp - 4], 2
mov dword [ebp - 0x358], 0
mov dword [ebp - 0x2ec], 0
mov dword [ebp - 0x1f0], 0xe045
lea eax, [ebp - 0x348]
push eax
push 0
lea eax, [ebp - 0x44]
push eax
push 0x2222
push 0
call fcn.100190f4
add esp, 0x14
mov dword [ebp - 0x44], 0
jmp 0x1001ac31
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 1
jge 0x1001ac47
mov eax, dword [ebp - 0x44]
mov dword [ebp + eax*4 - 0x324], 0xffffffff
jmp 0x1001ac2a
push 0x162
push 0
push 0x348
lea eax, [ebp - 0x1f0]
push eax
push 1
call fcn.100190f4
add esp, 0x14
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x348]
call fcn.1002a8ad
push 0x695f
push dword [ebp - 0x1ec]
push dword [ebp - 0x23c]
push 1
lea eax, [ebp - 0x224]
push eax
push 0x16d
push dword [ebp - 0x10]
push dword [ebp - 0x1f4]
push 1
push 0x6236
push 0x746a
call fcn.10016d13
add esp, 0x2c
push 1
lea ecx, [ebp - 0x2d0]
call fcn.1002a7d6
mov dword [ebp - 4], 3
mov dword [ebp - 0x4c], 0xfffffffe
push 0x248f
push 1
push 0
push 1
lea eax, [ebp - 0x2f4]
push eax
lea eax, [ebp - 0x2d0]
push eax
call fcn.10017424
add esp, 0x18
mov dword [ebp - 0x4c], 0
jmp 0x1001acfb
mov eax, dword [ebp - 0x4c]
dec eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jl 0x1001afc1
mov dword [ebp - 0x8c], 0x33992443
mov dword [ebp - 0x8c], 0
jmp 0x1001ad28
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
jg 0x1001afbc
mov dword [ebp - 0x9c], 0
jmp 0x1001ad4e
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 1
jge 0x1001ad67
mov eax, dword [ebp - 0x9c]
mov dword [ebp + eax*4 - 0x7c], 0xfffffff7
jmp 0x1001ad41
mov byte [ebp - 0x2d], 0
mov dword [ebp - 0x264], 0x1d12
cmp dword [ebp - 0x264], 0x1327
jge 0x1001af11
lea eax, [ebp - 0xc4]
push eax
mov ecx, 0x1065cd10
call fcn.1002a06b
lea ecx, [ebp - 0x2b8]
call fcn.10029fad
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0xc4]
dec eax
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0x1fc], 0
je 0x1001af02
lea eax, [ebp - 0xcc]
push eax
lea edx, [ebp - 0x2b8]
mov ecx, 0x1065cd10
call fcn.1002f550
mov ecx, eax
call fcn.1002a06b
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x120]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x120]
add ecx, dword [eax + 4]
call fcn.10009551
movzx eax, al
test eax, eax
je 0x1001af02
and dword [ebp - 0x20], 0
lea ecx, [ebp - 0x2b8]
call fcn.1002a052
mov dword [ebp - 0x244], eax
jmp 0x1001ae2e
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x244]
jge 0x1001aee1
push dword [ebp - 0x20]
lea ecx, [ebp - 0x2b8]
call fcn.1002a03e
movsx eax, byte [eax]
sub eax, 0x41
sub eax, dword [ebp - 0xcc]
jns 0x1001ae9d
push dword [ebp - 0x20]
lea ecx, [ebp - 0x2b8]
call fcn.1002a03e
movsx eax, byte [eax]
sub eax, 0x41
sub eax, dword [ebp - 0xcc]
add eax, 0x1a
cdq
push 0x1a
pop ecx
idiv ecx
push edx
mov ecx, 0x11ad17e8
call fcn.1002a03e
mov esi, eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0x2b8]
call fcn.1002a03e
mov cl, byte [esi]
mov byte [eax], cl
jmp 0x1001aedc
push dword [ebp - 0x20]
lea ecx, [ebp - 0x2b8]
call fcn.1002a03e
movsx eax, byte [eax]
sub eax, 0x41
sub eax, dword [ebp - 0xcc]
cdq
push 0x1a
pop ecx
idiv ecx
push edx
mov ecx, 0x11ad17e8
call fcn.1002a03e
mov esi, eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0x2b8]
call fcn.1002a03e
mov cl, byte [esi]
mov byte [eax], cl
jmp 0x1001ae27
push fcn.1002f1f4
lea edx, [ebp - 0x2b8]
mov ecx, 0x1065cc58
call fcn.1002f555
mov ecx, eax
call fcn.1002a484
jmp 0x1001ada5
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2b8]
call fcn.1002a013
movzx eax, byte [ebp - 0x2d]
test eax, eax
je 0x1001af2a
push 1
push 0x4717
push 1
call fcn.10017376
add esp, 0xc
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x7c], 0
jmp 0x1001af4f
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x7c]
inc eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x7c], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x7c], 0
jg 0x1001afb7
mov dword [ebp - 0x80], 7
mov dword [ebp - 0x1a4], 8
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x2d0]
call fcn.1002a8d8
cmp dword [eax], 0
je 0x1001af82
jmp 0x1001afb7
mov dword [ebp - 0x80], 0
jmp 0x1001af92
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
jg 0x1001afb5
push 0x6bd5
lea eax, [ebp - 0x1a4]
push eax
push 0x108b
push 0
call fcn.1002043c
add esp, 0x10
jmp 0x1001af8b
jmp 0x1001af3a
jmp 0x1001ad1b
jmp 0x1001acf4
mov byte [ebp - 0x2f], 0
lea eax, [ebp - 0x2f]
push eax
push 1
push 1
push 1
push 0x4963
push 0x5606
call fcn.10017424
add esp, 0x18
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2d0]
call fcn.1002a8ad
push 0x2d80
push 0x6be5
push dword [ebp - 0x10]
lea eax, [ebp - 0x18c]
push eax
push dword [ebp - 0x88]
push 0x3189
push 1
push 1
push 0x2356
push 0x7bfd
push 0x2b2
push 0x448
call fcn.10016e3e
add esp, 0x30
mov dword [ebp - 0x34], 0
push 1
lea ecx, [ebp - 0x2c4]
call fcn.1002a7d6
mov dword [ebp - 4], 5
mov dword [ebp - 0xe0], 0xfffffff7
mov dword [ebp - 0x354], 0xb168f92
mov dword [ebp - 0x6c], 0x27a4129b
push 3
lea ecx, [ebp - 0x2a0]
call fcn.1002a7d6
mov byte [ebp - 4], 6
lea eax, [ebp - 0x2c4]
push eax
push 1
push 1
lea eax, [ebp - 0x54]
push eax
call fcn.10017526
add esp, 0x10
mov dword [ebp - 0x54], 0
jmp 0x1001b09d
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 3
jge 0x1001b0b6
push dword [ebp - 0x54]
lea ecx, [ebp - 0x2a0]
call fcn.1002a8d8
or dword [eax], 0xffffffff
jmp 0x1001b096
mov byte [ebp - 0x2a], 0
movzx eax, byte [ebp - 0x2a]
test eax, eax
je 0x1001b0df
push 0
push 0
push 0
push 0x180
push 0x122c
push 0
push 0x17f3
call dword [sym.imp.GDI32.dll_GetTextExtentExPointA]
mov dword [ebp - 0x34], 5
jmp 0x1001b0ef
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0xa
jle 0x1001b402
mov dword [ebp - 0x3c], 0xffffffff
mov dword [ebp - 0x214], 0x4ef66b17
mov dword [ebp - 0x16c], 0xfffffff7
mov dword [ebp - 0x20c], 0xfffffffd
mov dword [ebp - 0x2fc], 0xe3bf118c
mov dword [ebp - 0x32c], 0xfffffff9
mov dword [ebp - 0x304], 0xfffffffd
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0x21c], 0xd900
mov dword [ebp - 0x90], 0
jmp 0x1001b169
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 1
jge 0x1001b185
mov eax, dword [ebp - 0x90]
mov dword [ebp + eax*4 - 0x24c], 0xe2718b96
jmp 0x1001b15c
mov dword [ebp - 0x3c], 0
jmp 0x1001b195
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jg 0x1001b309
mov dword [ebp - 0x34c], 1
mov dword [ebp - 0x98], 0
jmp 0x1001b1c2
mov eax, dword [ebp - 0x98]
inc eax
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 1
jge 0x1001b1de
mov eax, dword [ebp - 0x98]
mov dword [ebp + eax*4 - 0x294], 0xfffffff8
jmp 0x1001b1b5
mov eax, dword [ebp - 0xd4]
inc eax
mov dword [ebp - 0xd4], eax
je 0x1001b200
push 5
pop eax
test eax, eax
je 0x1001b200
mov dword [ebp - 0xdc], 1
jmp 0x1001b207
and dword [ebp - 0xdc], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0xdc]
mov dword [ebp + eax - 0x294], ecx
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0xdc]
jl 0x1001b231
mov dword [ebp - 0x128], 1
jmp 0x1001b238
and dword [ebp - 0x128], 0
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x128]
jne 0x1001b24f
mov dword [ebp - 0x130], 1
jmp 0x1001b256
and dword [ebp - 0x130], 0
cmp dword [ebp - 0x130], 0xfec1
je 0x1001b26e
mov dword [ebp - 0x138], 1
jmp 0x1001b275
and dword [ebp - 0x138], 0
cmp dword [ebp - 0x138], 0xa205
jle 0x1001b28d
mov dword [ebp - 0x14c], 1
jmp 0x1001b294
and dword [ebp - 0x14c], 0
imul eax, dword [ebp - 0x14c], 0x83a0
cmp eax, dword [ebp - 0x16c]
jne 0x1001b2b2
mov dword [ebp - 0x154], 1
jmp 0x1001b2b9
and dword [ebp - 0x154], 0
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x2c4]
call fcn.1002a8d8
mov ecx, dword [ebp - 0x20c]
add ecx, dword [ebp - 0x154]
mov eax, dword [eax]
sub eax, ecx
cmp eax, 0xb705
jge 0x1001b2ea
mov dword [ebp - 0x15c], 1
jmp 0x1001b2f1
and dword [ebp - 0x15c], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x15c]
mov dword [ebp + eax - 0x24c], ecx
jmp 0x1001b18e
mov dword [ebp - 0x6c], 0x10
jmp 0x1001b319
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0x1b
jl 0x1001b3fd
mov dword [ebp - 0x74], 0
cmp dword [ebp - 0x214], 0
je 0x1001b338
jmp 0x1001b3fd
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x30c], eax
push 2
lea ecx, [ebp - 0x2a0]
call fcn.1002a8d8
mov ecx, dword [ebp - 0x74]
cmp dword [eax], ecx
jg 0x1001b361
mov dword [ebp - 0x164], 1
jmp 0x1001b368
and dword [ebp - 0x164], 0
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x164]
cmp dword [ebp - 0x74], eax
jle 0x1001b382
mov dword [ebp - 0x26c], 1
jmp 0x1001b389
and dword [ebp - 0x26c], 0
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x314], eax
push 2
lea ecx, [ebp - 0x2a0]
call fcn.1002a8d8
mov eax, 0x12c
test eax, eax
jne 0x1001b3b8
cmp dword [ebp - 0x74], 0
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0x5f5a
jl 0x1001b3dc
mov dword [ebp - 0x17c], 1
jmp 0x1001b3e3
and dword [ebp - 0x17c], 0
push 0
lea ecx, [ebp - 0x2a0]
call fcn.1002a8d8
mov ecx, dword [ebp - 0x17c]
mov dword [eax], ecx
jmp 0x1001b312
jmp 0x1001b0e8
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2a0]
call fcn.1002a8ad
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c4]
call fcn.1002a8ad
cmp dword [ebp - 0x18c], 0
jbe 0x1001b548
push 2
lea ecx, [ebp - 0x27c]
call fcn.1002a7d6
mov dword [ebp - 4], 7
mov dword [ebp - 0x18], 0
jmp 0x1001b451
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x1001b46d
push dword [ebp - 0x18]
lea ecx, [ebp - 0x27c]
call fcn.1002a8d8
mov dword [eax], 1
jmp 0x1001b44a
mov dword [ebp - 0x18], 0
jmp 0x1001b47d
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 1
jge 0x1001b493
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x254], 0x245f1dbe
jmp 0x1001b476
push 0
lea ecx, [ebp - 0x27c]
call fcn.1002a8d8
mov dword [eax], 0x1c
jmp 0x1001b4cc
push 0
lea ecx, [ebp - 0x27c]
call fcn.1002a8d8
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0x184]
mov dword [ecx], eax
push 0
lea ecx, [ebp - 0x27c]
call fcn.1002a8d8
cmp dword [eax], 0xffffffef
jl 0x1001b50d
mov dword [ebp - 0x5c], 0x2c0d37ad
mov dword [ebp - 0x5c], 0
jmp 0x1001b4f5
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 1
jge 0x1001b50b
mov eax, dword [ebp - 0x5c]
mov dword [ebp + eax*4 - 0x254], 0x51cdcb36
jmp 0x1001b4ee
jmp 0x1001b4a8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x27c]
call fcn.1002a8ad
lea eax, [ebp - 0x350]
push eax
push dword [ebp - 0x224]
push dword [ebp - 0x18c]
mov eax, dword [ebp - 0x10]
push dword [eax + 8]
push 0x11638
push 0x1025b
call fcn.1004ae86
pop ecx
pop ecx
call eax
jmp 0x1001a54e
jmp 0x1001b6dc
mov eax, dword [ebp + 0x34]
mov dword [ebp - 0x218], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x208], eax
lea eax, [ebp + 0x24]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp + 0x40]
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp + 0x38]
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x284]
movzx eax, byte [eax]
test eax, eax
je 0x1001b621
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x25c]
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x64]
mov dword [eax], 0
jmp 0x1001b5fc
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x64]
mov dword [ecx], eax
mov eax, dword [ebp - 0x64]
cmp dword [eax], 1
jge 0x1001b61c
mov eax, dword [ebp - 0x64]
push dword [eax]
mov ecx, dword [ebp - 0x1e8]
call fcn.1002a8d8
mov dword [eax], 0x8ab659d5
jmp 0x1001b5f1
jmp 0x1001b6dc
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x228]
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x33c], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x300], eax
push 0
mov ecx, dword [ebp - 0x1d8]
call fcn.1002a8d8
mov dword [eax], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret