Function at 0x1003fbc6
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10081b0a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4cc
and dword [ebp - 0x140], 0
mov dword [ebp - 0xa4], 0xfffffff8
mov dword [ebp - 0x2d8], 0xf27d2703
mov dword [ebp - 0x454], 0x3bfa32a1
mov dword [ebp - 0x41c], 0x3531f145
mov dword [ebp - 0x2d0], 3
mov dword [ebp - 0xa4], 0xfffffff8
jmp 0x1003fc36
mov eax, dword [ebp - 0xa4]
dec eax
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0xfffffff2
jne 0x1003fcdb
mov dword [ebp - 0x2a8], 0xb96ca2cb
mov dword [ebp - 0x45c], 1
mov dword [ebp - 0x418], 0x315362da
mov dword [ebp - 0x39c], 0
mov dword [ebp - 0x88], 0
jmp 0x1003fc84
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 1
jge 0x1003fca0
mov eax, dword [ebp - 0x88]
mov dword [ebp + eax*4 - 0x3a4], 2
jmp 0x1003fc77
lea eax, [ebp - 0x2a8]
push eax
push 0x523e
lea eax, [ebp - 0x2d0]
push eax
push 0x1bfc
push 0x4519
push 0x7ff6
push 0x30d5
push 0x1122
push 0
call fcn.100423b2
add esp, 0x24
jmp 0x1003fc29
lea eax, [ebp - 0x2d8]
push eax
push 0
call fcn.1003fb42
pop ecx
pop ecx
mov dword [ebp - 0x6c], 1
mov dword [ebp - 0x98], 0xefa97f51
mov dword [ebp - 0x2a4], 3
mov dword [ebp - 0x48], 0xaa23
mov dword [ebp - 0x9c], 0
jmp 0x1003fd26
mov eax, dword [ebp - 0x9c]
inc eax
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 4
jge 0x1003fd42
mov eax, dword [ebp - 0x9c]
mov dword [ebp + eax*4 - 0x440], 0x3ac1
jmp 0x1003fd19
mov dword [ebp - 0x6c], 0
jmp 0x1003fd52
mov eax, dword [ebp - 0x6c]
dec eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xfffffffd
je 0x1003fda6
mov dword [ebp - 0x2e8], 0
mov dword [ebp - 0x2f8], 0xec0dcee0
push 0
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x2e8]
push eax
push 0x6a4f
lea eax, [ebp - 0x2a4]
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x48]
push eax
push 0x3210
lea eax, [ebp - 0x2f8]
push eax
call fcn.1003f8d3
add esp, 0x24
jmp 0x1003fd4b
mov dword [ebp - 0x48], 0
jmp 0x1003fdb6
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0x1b
jne 0x1003ff2b
mov dword [ebp - 0x94], 0xfffffffa
mov dword [ebp - 0x90], 0
jmp 0x1003fde3
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 3
jge 0x1003fdff
mov eax, dword [ebp - 0x90]
mov dword [ebp + eax*4 - 0x3c4], 0x8ef544bd
jmp 0x1003fdd6
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x440]
inc eax
mov dword [ebp - 0x18c], eax
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x18c]
mov dword [ebp + eax - 0x440], ecx
mov eax, dword [ebp - 0x94]
add eax, dword [ebp - 0x48]
cmp eax, dword [ebp - 0x18c]
jle 0x1003fe43
mov dword [ebp - 0x248], 1
jmp 0x1003fe4a
and dword [ebp - 0x248], 0
cmp dword [ebp - 0x94], 0
jne 0x1003fe5f
mov dword [ebp - 0x28c], 1
jmp 0x1003fe66
and dword [ebp - 0x28c], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x3c4]
add eax, dword [ebp - 0x28c]
add eax, dword [ebp - 0x2a4]
cmp dword [ebp - 0x248], eax
jg 0x1003fe92
mov dword [ebp - 0x26c], 1
jmp 0x1003fe99
and dword [ebp - 0x26c], 0
mov eax, dword [ebp - 0x94]
imul eax, dword [ebp - 0x26c]
test eax, eax
je 0x1003febf
cmp dword [ebp - 0x98], 0
je 0x1003febf
mov dword [ebp - 0x13c], 1
jmp 0x1003fec6
and dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x13c]
add ecx, 0xd47e
add eax, ecx
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
sub eax, dword [ebp - 0x48]
cmp eax, 0xffffffff
jle 0x1003fefa
mov dword [ebp - 0x274], 1
jmp 0x1003ff01
and dword [ebp - 0x274], 0
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x274]
mov dword [ebp + eax - 0x3c4], ecx
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x440], 0
je 0x1003ff26
jmp 0x1003ff2b
jmp 0x1003fdaf
mov dword [ebp - 0x10], 0xd8f8f576
mov dword [ebp - 0x12c], 0xc7516a20
mov dword [ebp - 0x128], 0xc7516a20
mov dword [ebp - 0x124], 0xc7516a20
mov dword [ebp - 0x120], 0xc7516a20
mov dword [ebp - 0x170], 9
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x144], eax
push 4
pop eax
imul eax, eax, 3
mov ecx, dword [ebp - 0x144]
mov dword [ebp + eax - 0x12c], ecx
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x144]
jne 0x1003ff97
mov dword [ebp - 0x27c], 1
jmp 0x1003ff9e
and dword [ebp - 0x27c], 0
cmp dword [ebp - 0x27c], 0x63126ff2
jge 0x1003ffb6
mov dword [ebp - 0x284], 1
jmp 0x1003ffbd
and dword [ebp - 0x284], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x3ac], eax
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x10]
cmp dword [ebp - 0x284], eax
je 0x1003ffe3
mov dword [ebp - 0x150], 1
jmp 0x1003ffea
and dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x150], eax
je 0x10040001
mov dword [ebp - 0x2c8], 1
jmp 0x10040008
and dword [ebp - 0x2c8], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x3b4], eax
push 4
pop eax
imul eax, eax, 3
mov eax, dword [ebp + eax - 0x12c]
mov dword [ebp - 0x424], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x42c], eax
push 4
pop eax
imul eax, eax, 3
cmp dword [ebp + eax - 0x12c], 0
je 0x100402bf
mov dword [ebp - 0x188], 0xffffffff
mov dword [ebp - 0x168], 1
mov dword [ebp - 0x10], 3
jmp 0x10040065
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jl 0x100402bd
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x2bc], 0x6105f61c
cmp dword [ebp - 0x10], 0
je 0x100400fd
cmp dword [ebp - 0x188], 0xffffffff
jl 0x1004009b
mov dword [ebp - 0x1f8], 1
jmp 0x100400a2
and dword [ebp - 0x1f8], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x1f8], eax
jl 0x100400b9
mov dword [ebp - 0x158], 1
jmp 0x100400c0
and dword [ebp - 0x158], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x12c]
cmp dword [ebp - 0x158], eax
jne 0x100400de
mov dword [ebp - 0x288], 1
jmp 0x100400e5
and dword [ebp - 0x288], 0
cmp dword [ebp - 0x288], 0x1e18
je 0x100400fd
mov dword [ebp - 0x160], 1
jmp 0x10040104
and dword [ebp - 0x160], 0
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x160], eax
jge 0x1004011b
mov dword [ebp - 0x200], 1
jmp 0x10040122
and dword [ebp - 0x200], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x12c]
cmp eax, dword [ebp - 0x200]
jg 0x10040140
mov dword [ebp - 0xf4], 1
jmp 0x10040147
and dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xf4]
mov dword [ebp + eax*4 - 0x12c], ecx
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x448], eax
or eax, 0xffffffff
cmp eax, 0x5618d7c
jb 0x10040185
mov dword [ebp - 0x250], 1
jmp 0x1004018c
and dword [ebp - 0x250], 0
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp - 0x250]
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x74]
cmp dword [ebp - 0x170], eax
jge 0x100401b3
mov dword [ebp - 0x2b4], 1
jmp 0x100401ba
and dword [ebp - 0x2b4], 0
cmp dword [ebp - 0x10], 7
jle 0x100401d5
mov eax, 0xd29640
test eax, eax
je 0x100401d5
mov dword [ebp - 0x208], 1
jmp 0x100401dc
and dword [ebp - 0x208], 0
mov eax, dword [ebp - 0x74]
cmp dword [ebp - 0x208], eax
jle 0x100401f3
mov dword [ebp - 0x178], 1
jmp 0x100401fa
and dword [ebp - 0x178], 0
mov eax, dword [ebp - 0x74]
cmp dword [ebp - 0x178], eax
jne 0x10040211
mov dword [ebp - 0x278], 1
jmp 0x10040218
and dword [ebp - 0x278], 0
mov eax, dword [ebp - 0x278]
sub eax, 9
cmp eax, 8
jl 0x10040232
mov dword [ebp - 0x180], 1
jmp 0x10040239
and dword [ebp - 0x180], 0
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x180]
cmp eax, dword [ebp - 0x74]
jle 0x10040253
mov dword [ebp - 0x210], 1
jmp 0x1004025a
and dword [ebp - 0x210], 0
cmp dword [ebp - 0x210], 0xc4d7e3c2
je 0x10040272
mov dword [ebp - 0x2f0], 1
jmp 0x10040279
and dword [ebp - 0x2f0], 0
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x450], eax
push 4
pop eax
imul eax, eax, 3
mov ecx, dword [ebp - 0x188]
cmp dword [ebp + eax - 0x12c], ecx
jg 0x100402a9
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x12c]
mov dword [ebp - 0x2bc], eax
jmp 0x100402b8
mov eax, dword [ebp - 0x10]
cmp dword [ebp + eax*4 - 0x12c], 0
je 0x100402b8
jmp 0x100402bd
jmp 0x1004005e
jmp 0x100402e5
mov dword [ebp - 0x10], 0
jmp 0x100402cf
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x100402e5
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x12c], 0x99d012cd
jmp 0x100402c8
mov byte [ebp - 0xf0], 0xa
mov byte [ebp - 0xef], 0xd3
mov byte [ebp - 0xee], 0xc
mov byte [ebp - 0xed], 6
mov byte [ebp - 0xec], 0x19
mov byte [ebp - 0xeb], 0x17
mov byte [ebp - 0xea], 0x13
mov byte [ebp - 0xe9], 0xe
mov byte [ebp - 0xe8], 0x10
mov byte [ebp - 0xe7], 5
mov byte [ebp - 0xe6], 1
mov byte [ebp - 0xe5], 0x13
mov byte [ebp - 0xe4], 0xf
mov byte [ebp - 0xe3], 0x12
mov byte [ebp - 0xe2], 9
mov byte [ebp - 0xe1], 0x1a
mov byte [ebp - 0xe0], 0xd
mov byte [ebp - 0xdf], 4
mov byte [ebp - 0xde], 0x14
mov byte [ebp - 0xdd], 0x1b
mov byte [ebp - 0xdc], 0xe
mov byte [ebp - 0xdb], 0x1a
mov byte [ebp - 0xda], 0x11
mov byte [ebp - 0xd9], 0x6c
mov byte [ebp - 0xd8], 0x20
mov byte [ebp - 0xd7], 0x79
mov byte [ebp - 0xd6], 0x2f
mov byte [ebp - 0xd5], 0x1f
mov byte [ebp - 0xd4], 0x4a
mov byte [ebp - 0xd3], 0x8d
mov byte [ebp - 0xd2], 0xa1
mov byte [ebp - 0xd1], 0x91
mov byte [ebp - 0xd0], 0x2a
mov byte [ebp - 0xcf], 0x99
mov byte [ebp - 0xce], 0x85
mov byte [ebp - 0xcd], 0x32
mov byte [ebp - 0xcc], 0xb4
mov byte [ebp - 0xcb], 0x3c
mov byte [ebp - 0xca], 0xbe
mov byte [ebp - 0xc9], 0x56
mov byte [ebp - 0xc8], 8
mov byte [ebp - 0xc7], 6
mov byte [ebp - 0xc6], 0x15
mov byte [ebp - 0xc5], 0x1f
mov byte [ebp - 0xc4], 0xb
mov byte [ebp - 0xc3], 0x1a
mov byte [ebp - 0xc2], 3
mov byte [ebp - 0xc1], 8
mov byte [ebp - 0xc0], 7
mov byte [ebp - 0xbf], 0xc
mov byte [ebp - 0xbe], 2
mov byte [ebp - 0xbd], 0xb
mov byte [ebp - 0xbc], 5
mov byte [ebp - 0xbb], 5
mov byte [ebp - 0xba], 0x17
mov byte [ebp - 0xb9], 0x1e
mov byte [ebp - 0xb8], 6
mov byte [ebp - 0xb7], 0x1f
mov byte [ebp - 0xb6], 0x18
mov byte [ebp - 0xb5], 0x1e
mov byte [ebp - 0xb4], 0
mov byte [ebp - 0xb3], 0x18
mov byte [ebp - 0xb2], 0x11
mov byte [ebp - 0xb1], 0x13
mov byte [ebp - 0xb0], 0x16
mov byte [ebp - 0xaf], 5
mov byte [ebp - 0xae], 4
mov byte [ebp - 0xad], 0x12
mov byte [ebp - 0xac], 0x12
mov byte [ebp - 0xab], 0x16
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0xf0]
or eax, 0xb8
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0xf0]
and ecx, 0xb8
sub eax, ecx
xor ecx, ecx
inc ecx
imul ecx, ecx, 0
movzx ecx, byte [ebp + ecx - 0xf0]
mov byte [ebp + ecx - 0x394], al
mov dword [ebp - 0x84], 0x1713b910
mov dword [ebp - 0x2c4], 0xffffffff
mov dword [ebp - 0x84], 0x12
jmp 0x1004053a
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0x1d
je 0x100405a3
mov dword [ebp - 0x300], 0x38462751
mov byte [ebp - 0x4b], 0
movzx eax, byte [ebp - 0x4b]
test eax, eax
je 0x1004056b
push 0x18b0
push 0x15c9
push 0
call dword [sym.imp.GDI32.dll_PtInRegion]
push 1
push 0x3131
push 0x1011
lea eax, [ebp - 0x300]
push eax
push 0x5029
push 0x21f9
push 0xc23
lea eax, [ebp - 0x2c4]
push eax
push 0xe53
call fcn.1003f8d3
add esp, 0x24
jmp 0x1004052d
mov dword [ebp - 0x14], 2
and dword [ebp - 0x78], 0
jmp 0x100405b8
mov eax, dword [ebp - 0x14]
inc eax
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x46
jae 0x10040df9
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x68], 0xe661fbc9
mov dword [ebp - 0x2e0], 0x7c2076a
mov dword [ebp - 0x30], 0xba167c28
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0xfc], 3
push 1
lea ecx, [ebp - 0x29c]
call fcn.10016765
and dword [ebp - 4], 0
mov dword [ebp - 0x11c], 7
mov dword [ebp - 0x60], 0x30eca6d7
mov dword [ebp - 0x64], 0
jmp 0x10040624
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 1
jge 0x10040637
mov eax, dword [ebp - 0x64]
mov dword [ebp + eax*4 - 0x54], 0xd453
jmp 0x1004061d
push 0x4b42
lea eax, [ebp - 0x29c]
push eax
lea eax, [ebp - 0x64]
push eax
push 0
push 0x58fa
call fcn.100419e9
add esp, 0x14
push 4
pop eax
imul eax, eax, 0
push 4
pop ecx
imul ecx, ecx, 0
mov ecx, dword [ebp + ecx - 0x54]
cmp dword [ebp + eax - 0x54], ecx
je 0x10040678
mov dword [ebp - 0x258], 1
jmp 0x1004067f
and dword [ebp - 0x258], 0
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0x20], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x54]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0
jne 0x100406b9
cmp dword [ebp - 0x68], 0
je 0x100406b9
mov dword [ebp - 0x190], 1
jmp 0x100406c0
and dword [ebp - 0x190], 0
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x190], eax
jl 0x100406d7
mov dword [ebp - 0x218], 1
jmp 0x100406de
and dword [ebp - 0x218], 0
mov eax, dword [ebp - 0x218]
neg eax
cmp eax, dword [ebp - 0x2e0]
jne 0x100406fa
mov dword [ebp - 0x2cc], 1
jmp 0x10040701
and dword [ebp - 0x2cc], 0
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x458], eax
push 0
lea ecx, [ebp - 0x29c]
call fcn.100167d2
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
imul ecx, dword [ebp - 0x30], 0xfffffff8
sub eax, ecx
jne 0x1004072b
cmp dword [ebp - 0x68], 0
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x410], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x3a0], eax
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x444], eax
push 0
lea ecx, [ebp - 0x29c]
call fcn.100167d2
mov eax, dword [ebp - 0x11c]
inc eax
mov dword [ebp - 0x11c], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x54]
cmp dword [ebp - 0x2c], eax
jl 0x10040781
mov dword [ebp - 0x198], 1
jmp 0x10040788
and dword [ebp - 0x198], 0
cmp dword [ebp - 0x198], 6
jae 0x1004079e
push 0
lea ecx, [ebp - 0x29c]
call fcn.100167d2
mov eax, 0x4648
cmp eax, 0x7461
jge 0x100407b6
mov dword [ebp - 0x2a0], 1
jmp 0x100407bd
and dword [ebp - 0x2a0], 0
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x68]
cmp dword [ebp - 0x30], eax
jg 0x100407da
mov dword [ebp - 0x1a0], 1
jmp 0x100407e1
and dword [ebp - 0x1a0], 0
cmp dword [ebp - 0x1a0], 0xd029
jle 0x100407f9
mov dword [ebp - 0x220], 1
jmp 0x10040800
and dword [ebp - 0x220], 0
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x220], eax
jg 0x10040817
mov dword [ebp - 0x1a8], 1
jmp 0x1004081e
and dword [ebp - 0x1a8], 0
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x2c], eax
push 4
pop eax
imul eax, eax, 0
imul eax, dword [ebp + eax - 0x54], 0
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x68], eax
je 0x10040892
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x54], 0
je 0x10040892
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x2ec], 8
mov dword [ebp - 0x30], 0
jmp 0x1004086b
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0xd
jne 0x1004088d
cmp dword [ebp - 0x260], 0
je 0x1004087c
jmp 0x1004088d
mov eax, dword [ebp - 0x2ec]
sub eax, 3
mov dword [ebp - 0x260], eax
jmp 0x10040864
jmp 0x1004094e
mov dword [ebp - 0x2c], 0xc
jmp 0x100408a2
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xffffffe8
jg 0x1004094e
mov dword [ebp - 0x60], 0xffffffea
jmp 0x100408bc
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x35
jg 0x10040949
mov dword [ebp - 0x2d4], 0xffffffff
mov byte [ebp - 0x4e], 0
movzx eax, byte [ebp - 0x4e]
test eax, eax
je 0x100408e4
push 0
call fcn.100425af
pop ecx
mov dword [ebp - 0x20], 0
jmp 0x100408f4
mov eax, dword [ebp - 0x20]
dec eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jl 0x10040944
push dword [ebp - 0x20]
lea ecx, [ebp - 0x29c]
call fcn.100167d2
push dword [ebp - 0x20]
lea ecx, [ebp - 0x29c]
call fcn.100167d2
mov dword [ebp - 0x1b0], eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0x29c]
call fcn.100167d2
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1b0]
mov eax, dword [eax]
mov dword [ebp - 0x2d4], eax
jmp 0x100408ed
jmp 0x100408b5
jmp 0x1004089b
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x29c]
call fcn.100167cd
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0xf0]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x14], eax
jne 0x1004099d
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0xf0]
inc eax
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0xf0]
mov ecx, dword [ebp - 0x14]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x14], eax
jmp 0x100405b0
mov dword [ebp - 0x70], 1
mov dword [ebp - 0x3a8], 5
mov dword [ebp - 0x2f4], 0xfe57f6cc
mov dword [ebp - 0x8c], 0
jmp 0x100409d1
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 3
jge 0x100409ed
mov eax, dword [ebp - 0x8c]
mov dword [ebp + eax*4 - 0x480], 0xa8eac8b1
jmp 0x100409c4
mov dword [ebp - 0x70], 2
jmp 0x100409fd
mov eax, dword [ebp - 0x70]
dec eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
jl 0x10040a14
mov eax, dword [ebp - 0x70]
cmp dword [ebp + eax*4 - 0x480], 0
je 0x10040a12
jmp 0x10040a14
jmp 0x100409f6
lea eax, [ebp - 0x2f4]
push eax
push 0
push 0x6f06
push 0x3e54
call fcn.1003fa92
add esp, 0x10
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0xef]
mov ecx, dword [ebp - 0x14]
sub ecx, dword [ebp - 0x78]
movzx ecx, byte [ebp + ecx - 0xf2]
movsx ecx, byte [ebp + ecx - 0x394]
add eax, ecx
mov ecx, dword [ebp - 0x14]
movzx ecx, byte [ebp + ecx - 0xef]
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x78]
movzx edx, byte [ebp + edx - 0xf2]
movsx edx, byte [ebp + edx - 0x394]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x14]
movzx ecx, byte [ebp + ecx - 0xef]
mov edx, dword [ebp - 0x14]
sub edx, dword [ebp - 0x78]
movzx edx, byte [ebp + edx - 0xf2]
movsx edx, byte [ebp + edx - 0x394]
and ecx, edx
sub eax, ecx
mov ecx, dword [ebp - 0x14]
movzx ecx, byte [ebp + ecx - 0xf0]
mov byte [ebp + ecx - 0x394], al
mov dword [ebp - 0x34], 0x61928c17
mov dword [ebp - 0x104], 0xe229edca
mov dword [ebp - 0x5c], 0xd816f93b
mov dword [ebp - 0x10c], 0x18bd8502
mov dword [ebp - 0x314], 4
mov dword [ebp - 0x310], 4
mov dword [ebp - 0x30c], 4
mov dword [ebp - 0x308], 4
mov dword [ebp - 0x1c8], 9
mov dword [ebp - 0x34], 0x1d
jmp 0x10040b12
mov eax, dword [ebp - 0x34]
dec eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0x12
je 0x10040df0
mov dword [ebp - 0x38], 0x3b6f
mov dword [ebp - 0x238], 0xffffffff
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x420], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3b0], eax
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x104], eax
jg 0x10040b56
mov dword [ebp - 0x228], 1
jmp 0x10040b5d
and dword [ebp - 0x228], 0
mov eax, dword [ebp - 0x38]
add eax, dword [ebp - 0x228]
imul eax, dword [ebp - 0x38]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x34]
imul eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x38]
cmp eax, 9
jne 0x10040b88
mov dword [ebp - 0x1b8], 1
jmp 0x10040b8f
and dword [ebp - 0x1b8], 0
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0
jne 0x10040bb0
mov dword [ebp - 0x280], 1
jmp 0x10040bb7
and dword [ebp - 0x280], 0
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x280], eax
jle 0x10040bce
mov dword [ebp - 0x1c0], 1
jmp 0x10040bd5
and dword [ebp - 0x1c0], 0
mov eax, dword [ebp - 0x104]
cmp dword [ebp - 0x1c0], eax
jg 0x10040bef
mov dword [ebp - 0x230], 1
jmp 0x10040bf6
and dword [ebp - 0x230], 0
mov eax, dword [ebp - 0x104]
imul eax, dword [ebp - 0x230]
test eax, eax
je 0x10040da4
mov dword [ebp - 0x1d0], 0
and dword [ebp - 0x354], 0
and dword [ebp - 0x350], 0
and dword [ebp - 0x34c], 0
and dword [ebp - 0x348], 0
lea ecx, [ebp - 0x10d]
call fcn.100091c3
push eax
lea eax, [ebp - 0x344]
push eax
lea eax, [ebp - 0x354]
push eax
lea ecx, [ebp - 0x4b8]
call fcn.100167e1
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x3d4]
call fcn.100167a7
mov dword [ebp - 4], 1
mov dword [ebp - 0x7c], 0
jmp 0x10040c7d
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 1
jge 0x10040c93
mov eax, dword [ebp - 0x7c]
mov dword [ebp + eax*4 - 0x114], 0xffffffff
jmp 0x10040c76
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x398], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x114]
mov dword [ebp - 0x3b8], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x1c8], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x314]
imul eax, dword [ebp - 0x1c8]
push 4
pop ecx
imul ecx, ecx, 0
mov ecx, dword [ebp + ecx - 0x314]
dec ecx
push 4
pop edx
imul edx, edx, 0
mov dword [ebp + edx - 0x314], ecx
test eax, eax
jne 0x10040cfd
cmp dword [ebp - 0x238], 0
jne 0x10040cfd
and dword [ebp - 0x268], 0
jmp 0x10040d07
mov dword [ebp - 0x268], 1
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x428], eax
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x114]
mov dword [ebp - 0x3c8], eax
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x238], eax
jg 0x10040d49
mov dword [ebp - 0x1d8], 1
jmp 0x10040d50
and dword [ebp - 0x1d8], 0
push 1
lea ecx, [ebp - 0x3d4]
call fcn.100167d2
mov ecx, dword [ebp - 0x1d8]
mov dword [eax], ecx
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x114]
imul eax, dword [ebp - 0x38]
sub eax, 7
mov dword [ebp - 0x10c], eax
mov byte [ebp - 0x49], 0
movzx eax, byte [ebp - 0x49]
test eax, eax
je 0x10040d93
push 0
call fcn.10041aec
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3d4]
call fcn.100167cd
jmp 0x10040deb
mov dword [ebp - 0x5c], 0
jmp 0x10040db4
mov eax, dword [ebp - 0x5c]
dec eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0xfffffffd
je 0x10040deb
mov byte [ebp - 0x39], 0
movzx eax, byte [ebp - 0x39]
test eax, eax
je 0x10040de9
push 0x541f
push 0
push 0x621d
push 0x2738
push 0x18fa
push 0x7b3a
call fcn.100426db
add esp, 0x18
jmp 0x10040dad
jmp 0x10040b0b
and dword [ebp - 0x78], 0
jmp 0x100405b0
mov dword [ebp - 0x2dc], 0x5223
push 1
lea ecx, [ebp - 0x360]
call fcn.10016765
mov dword [ebp - 4], 2
push 0x5dbd
lea eax, [ebp - 0x44c]
push eax
push 0
push 0x44d3
lea eax, [ebp - 0x360]
push eax
push 0xa8e
call fcn.10042989
add esp, 0x18
push 0
push 0x374a
push 0x2e72
push 0x5368
push 0x591e
push 0x428f
lea eax, [ebp - 0x360]
push eax
lea eax, [ebp - 0x2dc]
push eax
call fcn.100433ab
add esp, 0x20
push 0
push 0x70a4
call fcn.1003faf3
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x360]
call fcn.100167cd
xor eax, eax
inc eax
imul eax, eax, 0x1a
mov byte [ebp + eax - 0x394], 0
lea eax, [ebp - 0x394]
push eax
lea ecx, [ebp - 0x4a4]
call fcn.10023bbc
mov dword [ebp - 4], 3
mov dword [ebp - 0x3d8], 0xeef20fe6
mov dword [ebp - 0x430], 0x1dbeccce
mov dword [ebp - 0x3e8], 1
mov dword [ebp - 0x40c], 0x3f9e923e
push 1
lea ecx, [ebp - 0x3e4]
call fcn.10016765
mov byte [ebp - 4], 4
mov dword [ebp - 0x290], 0xfffffff7
mov dword [ebp - 0x24], 0
jmp 0x10040f06
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jge 0x10040f1c
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x4d8], 1
jmp 0x10040eff
lea eax, [ebp - 0x3e4]
push eax
lea eax, [ebp - 0x24]
push eax
push 0
push 0x68f1
call fcn.10042665
add esp, 0x10
mov dword [ebp - 0x24], 0
jmp 0x10040f46
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jge 0x10040f5c
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x4cc], 0
jmp 0x10040f3f
mov eax, dword [ebp - 0x290]
inc eax
mov dword [ebp - 0x290], eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x3e4]
call fcn.100167cd
and dword [ebp - 0xa8], 0
jmp 0x10040f8e
mov eax, dword [ebp - 0xa8]
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0x1b
jae 0x10041042
push 2
lea ecx, [ebp - 0x3f4]
call fcn.10016765
mov byte [ebp - 4], 5
mov dword [ebp - 0xa0], 0xffffffff
mov dword [ebp - 0x3f8], 0x95364446
lea eax, [ebp - 0x3f4]
push eax
lea eax, [ebp - 0x414]
push eax
push 0
push 0x13d
push 0x58cd
call fcn.10042b89
add esp, 0x14
mov dword [ebp - 0xa0], 0
jmp 0x10040ffb
mov eax, dword [ebp - 0xa0]
inc eax
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 1
jg 0x10041020
mov dword [ebp - 0x2fc], 0xfffffffd
push 0
lea eax, [ebp - 0x2fc]
push eax
call fcn.10042b3f
pop ecx
pop ecx
jmp 0x10040fee
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x3f4]
call fcn.100167cd
mov eax, dword [ebp - 0xa8]
mov byte [ebp + eax - 0x394], 0
jmp 0x10040f81
and dword [ebp - 0x340], 0
and dword [ebp - 0x33c], 0
and dword [ebp - 0x338], 0
and dword [ebp - 0x334], 0
lea ecx, [ebp - 0x115]
call fcn.100091c3
push eax
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp - 0x340]
push eax
lea ecx, [ebp - 0x4c0]
call fcn.100167e1
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x320]
call fcn.100167a7
mov byte [ebp - 4], 6
push 0
lea ecx, [ebp - 0x320]
call fcn.100167d2
mov dword [eax], 0x1b
jmp 0x100410d0
push 0
lea ecx, [ebp - 0x320]
call fcn.100167d2
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x1e0]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x1e0]
mov dword [ecx], eax
push 0
lea ecx, [ebp - 0x320]
call fcn.100167d2
cmp dword [eax], 0x1d
jg 0x100410fe
mov byte [ebp - 0x4d], 0
movzx eax, byte [ebp - 0x4d]
test eax, eax
je 0x100410fc
push 0x3ecc
push 0
call fcn.100422c3
pop ecx
pop ecx
jmp 0x100410ac
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x320]
call fcn.100167cd
push 0x10007e5a
lea ecx, [ebp - 0x474]
call fcn.10023bbc
mov byte [ebp - 4], 7
mov dword [ebp - 0x1c], 0x33c6
mov dword [ebp - 0x240], 9
mov dword [ebp - 0x1e8], 0xfffffffa
mov dword [ebp - 0x304], 0xd635290c
mov dword [ebp - 0x28], 0
jmp 0x10041156
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 3
jge 0x1004116c
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x48c], 0xafd061a6
jmp 0x1004114f
mov dword [ebp - 0x28], 0
jmp 0x1004117c
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 3
jge 0x10041192
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x4b0], 1
jmp 0x10041175
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x240], eax
cmp dword [ebp - 0x240], 0xd5a519d8
jae 0x100411b3
mov dword [ebp - 0x270], 1
jmp 0x100411ba
and dword [ebp - 0x270], 0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1e8]
cmp dword [ebp - 0x270], eax
jg 0x100411dd
mov dword [ebp - 0x1f0], 1
jmp 0x100411e4
and dword [ebp - 0x1f0], 0
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1f0], eax
jne 0x100411fb
mov dword [ebp - 0x148], 1
jmp 0x10041202
and dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x148], eax
jne 0x10041219
mov dword [ebp - 0x14c], 1
jmp 0x10041220
and dword [ebp - 0x14c], 0
mov eax, dword [ebp - 0x14c]
sub eax, 0xfff6
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x154], eax
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0x154]
mov dword [ebp + eax - 0x48c], ecx
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x154], eax
jg 0x1004125d
mov dword [ebp - 0x15c], 1
jmp 0x10041264
and dword [ebp - 0x15c], 0
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x15c], eax
jne 0x1004127b
mov dword [ebp - 0x164], 1
jmp 0x10041282
and dword [ebp - 0x164], 0
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x164], eax
jge 0x10041299
mov dword [ebp - 0x16c], 1
jmp 0x100412a0
and dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x16c]
imul eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x1c]
jge 0x100412be
mov dword [ebp - 0x174], 1
jmp 0x100412c5
and dword [ebp - 0x174], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x4b0]
cmp dword [ebp - 0x174], eax
jg 0x100412e5
mov dword [ebp - 0x17c], 1
jmp 0x100412ec
and dword [ebp - 0x17c], 0
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x17c]
mov dword [ebp - 0x304], eax
mov dword [ebp - 0x100], 0xad72d767
mov dword [ebp - 0x2e4], 0xd67a4bed
mov dword [ebp - 0x184], 0xf023498e
mov dword [ebp - 0x19c], 0x7bff44ca
push 4
lea ecx, [ebp - 0x32c]
call fcn.10016765
mov byte [ebp - 4], 8
mov dword [ebp - 0xf8], 0xfff7
mov dword [ebp - 0x1bc], 0xffffffff
mov dword [ebp - 0x1c4], 0x257a10dd
mov dword [ebp - 0x2b0], 0x912e7550
push 0
lea eax, [ebp - 0x32c]
push eax
lea eax, [ebp - 0x408]
push eax
call fcn.1004211a
add esp, 0xc
mov eax, dword [ebp - 0x100]
sub eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x100]
cmp dword [ebp - 0x184], eax
jle 0x100413a0
mov dword [ebp - 0x1a4], 1
jmp 0x100413a7
and dword [ebp - 0x1a4], 0
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x130], eax
push 3
lea ecx, [ebp - 0x32c]
call fcn.100167d2
mov ecx, dword [ebp - 0x130]
mov dword [eax], ecx
mov eax, dword [ebp - 0x130]
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0xf8]
inc eax
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0x2ac], 0
jne 0x100413f6
mov dword [ebp - 0x194], 1
jmp 0x100413fd
and dword [ebp - 0x194], 0
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x19c]
cmp dword [ebp - 0x1a4], eax
jne 0x10041423
mov dword [ebp - 0x1ac], 1
jmp 0x1004142a
and dword [ebp - 0x1ac], 0
cmp dword [ebp - 0x1ac], 0xb09f
jge 0x10041442
mov dword [ebp - 0x1b4], 1
jmp 0x10041449
and dword [ebp - 0x1b4], 0
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x1bc], eax
cmp dword [ebp - 0x1bc], 0
jne 0x1004146b
push 0
lea ecx, [ebp - 0x32c]
call fcn.100167d2
mov eax, dword [ebp - 0x100]
add eax, 0xffff
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x2b0], eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x32c]
call fcn.100167cd
lea ecx, [ebp - 0x474]
call fcn.10016c00
cmp eax, dword [ebp + 0xc]
je 0x1004184c
push 0x6aa8
push 1
lea eax, [ebp - 0x4a4]
push eax
lea eax, [ebp - 0x2b8]
push eax
call fcn.1003fa92
add esp, 0x10
mov dword [ebp - 0x108], 7
push 2
lea ecx, [ebp - 0x36c]
call fcn.10016765
mov byte [ebp - 4], 9
mov dword [ebp - 0x18], 0
jmp 0x100414f3
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 3
jge 0x10041509
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x404], 0x8100c430
jmp 0x100414ec
mov dword [ebp - 0x18], 0
jmp 0x10041519
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x1004152c
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x44], 0xa32f3f60
jmp 0x10041512
mov dword [ebp - 0x18], 0
jmp 0x1004153c
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 2
jge 0x10041558
push dword [ebp - 0x18]
lea ecx, [ebp - 0x36c]
call fcn.100167d2
mov dword [eax], 0x633933b8
jmp 0x10041535
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x108]
cmp dword [ebp + eax - 0x44], ecx
jne 0x10041576
mov dword [ebp - 0x1cc], 1
jmp 0x1004157d
and dword [ebp - 0x1cc], 0
mov eax, dword [ebp - 0x108]
cmp dword [ebp - 0x1cc], eax
jge 0x10041597
mov dword [ebp - 0x1d4], 1
jmp 0x1004159e
and dword [ebp - 0x1d4], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x44]
cmp eax, dword [ebp - 0x1d4]
jge 0x100415bc
mov dword [ebp - 0x1dc], 1
jmp 0x100415c3
and dword [ebp - 0x1dc], 0
cmp dword [ebp - 0x1dc], 0x1355fff8
jg 0x100415e8
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x44], 0
je 0x100415e8
mov dword [ebp - 0x1e4], 1
jmp 0x100415ef
and dword [ebp - 0x1e4], 0
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0x404], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x44]
sub eax, dword [ebp - 0x1e4]
test eax, eax
jle 0x10041620
mov dword [ebp - 0x1ec], 1
jmp 0x10041627
and dword [ebp - 0x1ec], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x44]
cmp dword [ebp - 0x1ec], eax
jle 0x10041645
mov dword [ebp - 0x1f4], 1
jmp 0x1004164c
and dword [ebp - 0x1f4], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x44]
add eax, dword [ebp - 0x1f4]
push 4
pop ecx
shl ecx, 0
cmp eax, dword [ebp + ecx - 0x44]
je 0x10041674
mov dword [ebp - 0x1fc], 1
jmp 0x1004167b
and dword [ebp - 0x1fc], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x44]
cmp dword [ebp - 0x1fc], eax
jl 0x10041699
mov dword [ebp - 0x204], 1
jmp 0x100416a0
and dword [ebp - 0x204], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x44]
add eax, dword [ebp - 0x204]
jne 0x100416c4
mov eax, 0x7c44
test eax, eax
jne 0x100416c4
and dword [ebp - 0x20c], 0
jmp 0x100416ce
mov dword [ebp - 0x20c], 1
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x44]
cmp dword [ebp - 0x20c], eax
jg 0x100416ec
mov dword [ebp - 0x214], 1
jmp 0x100416f3
and dword [ebp - 0x214], 0
cmp dword [ebp - 0x214], 0x71dbcabe
je 0x1004170b
mov dword [ebp - 0x21c], 1
jmp 0x10041712
and dword [ebp - 0x21c], 0
cmp dword [ebp - 0x21c], 8
jg 0x10041727
mov dword [ebp - 0x224], 1
jmp 0x1004172e
and dword [ebp - 0x224], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x44]
cmp dword [ebp - 0x224], eax
jg 0x1004174c
mov dword [ebp - 0x22c], 1
jmp 0x10041753
and dword [ebp - 0x22c], 0
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x44]
cmp dword [ebp - 0x22c], eax
jge 0x1004177b
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x44], 0
jne 0x1004177b
and dword [ebp - 0x234], 0
jmp 0x10041785
mov dword [ebp - 0x234], 1
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x44]
cmp dword [ebp - 0x234], eax
jge 0x100417a3
mov dword [ebp - 0x23c], 1
jmp 0x100417aa
and dword [ebp - 0x23c], 0
mov eax, dword [ebp - 0x108]
cmp dword [ebp - 0x23c], eax
jg 0x100417e9
push 4
pop eax
shl eax, 0
cmp dword [ebp + eax - 0x404], 0
je 0x100417e9
mov byte [ebp - 0x4c], 0
push 1
lea eax, [ebp - 0x4c]
push eax
call fcn.1003faf3
pop ecx
pop ecx
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0x44], 0
jmp 0x10041803
mov byte [ebp - 0x4a], 0
movzx eax, byte [ebp - 0x4a]
test eax, eax
je 0x10041803
push 0x7d1b
push 1
call fcn.1003fb42
pop ecx
pop ecx
lea eax, [ebp - 0x36c]
push eax
push 0
push 0x1fb4
call fcn.10041d95
add esp, 0xc
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x36c]
call fcn.100167cd
lea eax, [ebp - 0x474]
push eax
push 0
lea eax, [ebp - 0x2b8]
push eax
lea eax, [ebp - 0x4a4]
push eax
call fcn.10042226
add esp, 0x10
jmp 0x10041497
mov dword [ebp - 0x58], 1
mov dword [ebp - 0x80], 0
jmp 0x10041863
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 3
jge 0x10041879
mov eax, dword [ebp - 0x80]
mov dword [ebp + eax*4 - 0x378], 5
jmp 0x1004185c
mov dword [ebp - 0x58], 2
jmp 0x10041889
mov eax, dword [ebp - 0x58]
dec eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
jl 0x1004199c
mov dword [ebp - 0x264], 0xfffffff9
mov dword [ebp - 0x2c0], 0xfffffff7
push 6
pop eax
test eax, eax
je 0x100418f0
cmp dword [ebp - 0x264], 0xfffffffd
jne 0x100418c3
mov dword [ebp - 0x244], 1
jmp 0x100418ca
and dword [ebp - 0x244], 0
mov eax, dword [ebp - 0x244]
sub eax, 0x2cda84c6
push 4
pop ecx
imul ecx, ecx, 0
cmp eax, dword [ebp + ecx - 0x378]
jne 0x100418f0
mov dword [ebp - 0x24c], 1
jmp 0x100418f7
and dword [ebp - 0x24c], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x378]
cmp dword [ebp - 0x24c], eax
je 0x10041917
mov dword [ebp - 0x254], 1
jmp 0x1004191e
and dword [ebp - 0x254], 0
mov eax, dword [ebp - 0x254]
sub eax, 0xc842
cmp eax, 1
jb 0x1004193a
mov dword [ebp - 0x25c], 1
jmp 0x10041941
and dword [ebp - 0x25c], 0
mov eax, dword [ebp - 0x58]
imul eax, dword [ebp - 0x25c]
cmp eax, dword [ebp - 0x264]
jge 0x1004195f
mov dword [ebp - 0x134], 1
jmp 0x10041966
and dword [ebp - 0x134], 0
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp + eax*4 - 0x378]
cmp eax, dword [ebp - 0x134]
jg 0x10041984
mov dword [ebp - 0x138], 1
jmp 0x1004198b
and dword [ebp - 0x138], 0
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x2c0], eax
jmp 0x10041882
lea eax, [ebp - 0x474]
push eax
mov ecx, dword [ebp + 8]
call fcn.1001666e
mov eax, dword [ebp - 0x140]
or eax, 1
mov dword [ebp - 0x140], eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x474]
call fcn.100166c7
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4a4]
call fcn.100166c7
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret