Function at 0x10049890
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008755e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x314
push esi
push edi
jmp 0x100498cc
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
add eax, 4
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
add eax, 4
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp dword [eax], 0
je 0x1004ae2c
mov dword [ebp - 0x1bc], 0x38d3
mov dword [ebp - 0x220], 0x1000bfd8
cmp dword [ebp - 0x1bc], 0x3b2d
jle 0x100499ad
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_GetTextExtentExPointA]
and dword [ebp - 0x90], 0
jmp 0x10049928
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0x54a0
jge 0x100499ad
and dword [ebp - 0x64], 0
jmp 0x10049941
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0x2932
jge 0x100499a8
mov dword [ebp - 0x2cc], 0x1008b61c
mov eax, dword [ebp - 0x90]
and eax, dword [ebp - 0x64]
cdq
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x20c], edx
push dword [ebp - 0x20c]
push dword [ebp - 0x210]
lea ecx, [ebp - 0x320]
call fcn.10010ffe
pop ecx
pop ecx
mov dword [ebp - 0x1e8], eax
mov ecx, dword [ebp - 0x1e8]
call fcn.1001fbf4
push eax
call fcn.100714f3
pop ecx
lea ecx, [ebp - 0x320]
call fcn.1001fbea
jmp 0x1004993a
jmp 0x1004991b
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0x80000000
je 0x1004a04b
mov dword [ebp - 0x14], 0x68ec0ae9
mov dword [ebp - 0x9c], 0x6848
mov dword [ebp - 0x1f8], 0xfffffff7
mov dword [ebp - 0x100], 8
mov dword [ebp - 0x1d0], 0xfffffff8
mov dword [ebp - 0x14], 0xfffffff7
jmp 0x100499fe
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xfffffffe
jne 0x10049a41
mov dword [ebp - 0x58], 0xad386cce
mov byte [ebp - 0x3b], 0
movzx eax, byte [ebp - 0x3b]
test eax, eax
je 0x10049a1f
push 0
call dword [sym.imp.USER32.dll_RegisterWindowMessageA]
mov dword [ebp - 0x58], 0
jmp 0x10049a2f
mov eax, dword [ebp - 0x58]
dec eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0xfffffff5
jg 0x10049a3f
cmp dword [ebp - 0x14], 0
je 0x10049a3d
jmp 0x10049a3f
jmp 0x10049a28
jmp 0x100499f7
mov dword [ebp - 0x14], 0xe
jmp 0x10049a51
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x15
jge 0x1004a01a
mov dword [ebp - 0x44], 0xffffffff
mov dword [ebp - 0x15c], 0x1986
mov dword [ebp - 0x250], 0x1000c01c
cmp dword [ebp - 0x15c], 0x1a73
jle 0x10049b3f
and dword [ebp - 0x6c], 0
jmp 0x10049a93
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xf09
jge 0x10049b3f
and dword [ebp - 0x88], 0
jmp 0x10049ab6
mov eax, dword [ebp - 0x88]
inc eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0x7ecd
jge 0x10049b3a
and dword [ebp - 0x74], 0
jmp 0x10049acf
mov eax, dword [ebp - 0x74]
inc eax
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0x5d7e
jge 0x10049b35
and dword [ebp - 0x8c], 0
jmp 0x10049aee
mov eax, dword [ebp - 0x8c]
inc eax
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0x8061
jge 0x10049b33
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x88]
sar eax, cl
and eax, dword [ebp - 0x74]
xor eax, dword [ebp - 0x8c]
cdq
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x218], edx
push dword [ebp - 0x218]
push dword [ebp - 0x21c]
mov ecx, 0x1008bbb8
call fcn.1001fc14
jmp 0x10049ae1
jmp 0x10049ac8
jmp 0x10049aa9
jmp 0x10049a8c
mov dword [ebp - 0xa0], 1
cmp dword [ebp - 0x15c], 0x1796
jge 0x10049b65
mov edx, dword [ebp - 0x250]
mov ecx, 0x1008bbb8
call fcn.100228da
mov dword [ebp - 0xe0], 0xfffffff7
mov dword [ebp - 0x1b0], 0xc7a88ff7
mov dword [ebp - 0x2d4], 0x13222c7e
mov dword [ebp - 0x44], 0
jmp 0x10049b93
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x1a
jg 0x1004a015
mov dword [ebp - 0x204], 1
push 2
lea ecx, [ebp - 0x1e4]
call fcn.1001ff2e
and dword [ebp - 4], 0
mov dword [ebp - 0x50], 0xfffffff8
mov dword [ebp - 0x1d8], 0x1174
mov dword [ebp - 0x260], 0x1000c058
cmp dword [ebp - 0x1d8], 0x126f
jle 0x10049c89
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
and dword [ebp - 0x84], 0
jmp 0x10049c07
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0x4f4d
jge 0x10049c89
and dword [ebp - 0x7c], 0
jmp 0x10049c20
mov eax, dword [ebp - 0x7c]
inc eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0x27ef
jge 0x10049c84
and dword [ebp - 0x94], 0
jmp 0x10049c3f
mov eax, dword [ebp - 0x94]
inc eax
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0xeb
jge 0x10049c82
mov ecx, dword [ebp - 0x7c]
imul ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x84]
shl eax, cl
cdq
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x224], edx
push dword [ebp - 0x224]
push dword [ebp - 0x228]
mov ecx, 0x1008bbb8
call fcn.1001fc14
jmp 0x10049c32
jmp 0x10049c19
jmp 0x10049bfa
push 1
lea ecx, [ebp - 0x290]
call fcn.1001ff2e
mov byte [ebp - 4], 1
cmp dword [ebp - 0x1d8], 0xe1d
jge 0x10049cb6
mov edx, dword [ebp - 0x260]
mov ecx, 0x1008bbb8
call fcn.100228da
mov dword [ebp - 0x200], 3
mov dword [ebp - 0x28], 0
jmp 0x10049cd0
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 2
jge 0x10049ce9
push dword [ebp - 0x28]
lea ecx, [ebp - 0x1e4]
call fcn.1001ffcc
and dword [eax], 0
jmp 0x10049cc9
mov dword [ebp - 0x28], 0
jmp 0x10049cf9
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 1
jge 0x10049d12
push dword [ebp - 0x28]
lea ecx, [ebp - 0x290]
call fcn.1001ffcc
and dword [eax], 0
jmp 0x10049cf2
mov dword [ebp - 0xa0], 1
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x9c]
inc ecx
mov dword [ebp - 0x9c], ecx
test eax, eax
je 0x10049d4c
xor eax, eax
je 0x10049d4c
mov dword [ebp - 0x268], 1
jmp 0x10049d53
and dword [ebp - 0x268], 0
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x2c8], eax
cmp dword [ebp - 0x44], 0
je 0x10049d7a
cmp dword [ebp - 0x204], 0
je 0x10049d7a
mov dword [ebp - 0x198], 1
jmp 0x10049d81
and dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x1b0]
cmp dword [ebp - 0x198], eax
jne 0x10049daa
push 0
lea ecx, [ebp - 0x1e4]
call fcn.1001ffcc
cmp dword [eax], 0
jne 0x10049daa
and dword [ebp - 0xd8], 0
jmp 0x10049db4
mov dword [ebp - 0xd8], 1
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0xd8], eax
jl 0x10049dcb
mov dword [ebp - 0x1a0], 1
jmp 0x10049dd2
and dword [ebp - 0x1a0], 0
cmp dword [ebp - 0x1a0], 0x534f
je 0x10049dea
mov dword [ebp - 0x1a8], 1
jmp 0x10049df1
and dword [ebp - 0x1a8], 0
mov eax, dword [ebp - 0xe0]
cmp dword [ebp - 0x1a8], eax
jl 0x10049e0b
mov dword [ebp - 0xe8], 1
jmp 0x10049e12
and dword [ebp - 0xe8], 0
mov eax, dword [ebp - 0xe8]
neg eax
cmp eax, 1
jge 0x10049e34
cmp dword [ebp - 0x1b0], 0
je 0x10049e34
mov dword [ebp - 0xf0], 1
jmp 0x10049e3b
and dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0xa0]
cmp eax, dword [ebp - 0xf0]
jge 0x10049e55
mov dword [ebp - 0x1f4], 1
jmp 0x10049e5c
and dword [ebp - 0x1f4], 0
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x2bc], eax
mov eax, dword [ebp - 0x1f8]
cmp dword [ebp - 0x9c], eax
jne 0x10049e7f
mov dword [ebp - 0x1b8], 1
jmp 0x10049e86
and dword [ebp - 0x1b8], 0
push 0
lea ecx, [ebp - 0x1e4]
call fcn.1001ffcc
mov ecx, dword [ebp - 0x1b8]
cmp ecx, dword [eax]
jne 0x10049ea9
mov dword [ebp - 0xf8], 1
jmp 0x10049eb0
and dword [ebp - 0xf8], 0
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0xf8], eax
jge 0x10049ec7
mov dword [ebp - 0x1c0], 1
jmp 0x10049ece
and dword [ebp - 0x1c0], 0
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x100], eax
mov esi, dword [ebp - 0x100]
push 1
lea ecx, [ebp - 0x1e4]
call fcn.1001ffcc
cmp esi, dword [eax]
jl 0x10049f01
push 9
pop eax
test eax, eax
jne 0x10049f01
and dword [ebp - 0x1c8], 0
jmp 0x10049f0b
mov dword [ebp - 0x1c8], 1
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x1d0]
add eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x50]
cmp eax, 0xb631
jle 0x10049f39
mov dword [ebp - 0x108], 1
jmp 0x10049f40
and dword [ebp - 0x108], 0
push 0
lea ecx, [ebp - 0x1e4]
call fcn.1001ffcc
mov ecx, dword [ebp - 0x108]
cmp ecx, dword [eax]
jle 0x10049f63
mov dword [ebp - 0x23c], 1
jmp 0x10049f6a
and dword [ebp - 0x23c], 0
mov esi, dword [ebp - 0x14]
push 0
lea ecx, [ebp - 0x290]
call fcn.1001ffcc
cmp esi, dword [eax]
jge 0x10049f8a
mov dword [ebp - 0x1cc], 1
jmp 0x10049f91
and dword [ebp - 0x1cc], 0
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x1cc]
lea esi, [ecx + eax + 0x546d5e23]
push 0
lea ecx, [ebp - 0x290]
call fcn.1001ffcc
cmp esi, dword [eax]
je 0x10049fc1
mov dword [ebp - 0x11c], 1
jmp 0x10049fc8
and dword [ebp - 0x11c], 0
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x11c]
jne 0x10049fdf
mov dword [ebp - 0x17c], 1
jmp 0x10049fe6
and dword [ebp - 0x17c], 0
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x200], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x290]
call fcn.1001ffb0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1e4]
call fcn.1001ffb0
jmp 0x10049b8c
jmp 0x10049a4a
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xffff
push eax
mov eax, dword [ebp + 8]
push dword [eax]
push 0x9ea8
push 0x8b70
call fcn.100468ba
pop ecx
pop ecx
call eax
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx]
mov dword [ecx], eax
jmp 0x1004a612
mov dword [ebp - 0x18], 0xe76f5020
mov dword [ebp - 0x184], 0x40ee1d45
mov dword [ebp - 0x208], 0x4333
mov dword [ebp - 0x14c], 0xfffffff6
mov dword [ebp - 0x2c4], 0xc3da550
mov dword [ebp - 0x124], 0x6b94
mov dword [ebp - 0x240], 0x1000c0a8
cmp dword [ebp - 0x124], 0x6eed
jle 0x1004a102
and dword [ebp - 0x98], 0
jmp 0x1004a0b0
mov eax, dword [ebp - 0x98]
inc eax
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0x6be2
jge 0x1004a102
and dword [ebp - 0x5c], 0
jmp 0x1004a0c9
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0x54f4
jge 0x1004a100
mov eax, dword [ebp - 0x98]
xor eax, dword [ebp - 0x5c]
cdq
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], edx
push dword [ebp - 0x230]
push dword [ebp - 0x234]
mov ecx, 0x1008bbb8
call fcn.1001fc14
jmp 0x1004a0c2
jmp 0x1004a0a3
mov dword [ebp - 0x60], 0
jmp 0x1004a112
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 1
jge 0x1004a125
mov eax, dword [ebp - 0x60]
mov dword [ebp + eax*4 - 0x48], 0xc85f
jmp 0x1004a10b
cmp dword [ebp - 0x124], 0x686d
jge 0x1004a141
mov edx, dword [ebp - 0x240]
mov ecx, 0x1008bbb8
call fcn.100228da
mov dword [ebp - 0x18], 0
jmp 0x1004a151
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
jl 0x1004a302
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x48]
mov dword [ebp + ecx*4 - 0x48], eax
mov dword [ebp - 0x38], 0
jmp 0x1004a180
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jg 0x1004a2fd
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 0x4c], 0
jmp 0x1004a1a1
mov eax, dword [ebp - 0x4c]
dec eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jl 0x1004a1c1
mov byte [ebp - 0x3a], 0
movzx eax, byte [ebp - 0x3a]
test eax, eax
je 0x1004a1bf
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_PlayEnhMetaFile]
jmp 0x1004a19a
mov eax, dword [ebp - 0x38]
cmp dword [ebp + eax*4 - 0x48], 0x8b78
jne 0x1004a1da
mov dword [ebp - 0x134], 1
jmp 0x1004a1e1
and dword [ebp - 0x134], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp + eax*4 - 0x48], 0
je 0x1004a200
mov eax, 0xf0442e11
test eax, eax
je 0x1004a200
mov dword [ebp - 0x1ac], 1
jmp 0x1004a207
and dword [ebp - 0x1ac], 0
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x1ac], eax
jl 0x1004a21e
mov dword [ebp - 0x12c], 1
jmp 0x1004a225
and dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x184], eax
cmp dword [ebp - 0x184], 0
jne 0x1004a24c
mov eax, 0xe60d
test eax, eax
jne 0x1004a24c
and dword [ebp - 0x1c4], 0
jmp 0x1004a256
mov dword [ebp - 0x1c4], 1
mov eax, dword [ebp - 0x134]
add eax, dword [ebp - 0x1c4]
cmp eax, dword [ebp - 0x208]
jl 0x1004a276
mov dword [ebp - 0x13c], 1
jmp 0x1004a27d
and dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x13c], eax
jle 0x1004a294
mov dword [ebp - 0x18c], 1
jmp 0x1004a29b
and dword [ebp - 0x18c], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x18c], eax
jge 0x1004a2b2
mov dword [ebp - 0x144], 1
jmp 0x1004a2b9
and dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x144], eax
jl 0x1004a2d0
mov dword [ebp - 0x1b4], 1
jmp 0x1004a2d7
and dword [ebp - 0x1b4], 0
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x48]
mov ecx, dword [ebp - 0x1b4]
sub ecx, dword [ebp - 0x18]
add eax, ecx
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x4c], eax
jmp 0x1004a179
jmp 0x1004a14a
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ebp + 0xc]
add ecx, dword [eax]
mov dword [ebp - 0x24c], ecx
push 1
lea ecx, [ebp - 0xc8]
call fcn.1001ff2e
mov dword [ebp - 4], 2
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x78], 3
push 2
lea ecx, [ebp - 0x284]
call fcn.1001ff2e
mov byte [ebp - 4], 3
mov dword [ebp - 0x2c], 0
jmp 0x1004a355
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 1
jge 0x1004a371
push dword [ebp - 0x2c]
lea ecx, [ebp - 0xc8]
call fcn.1001ffcc
mov dword [eax], 0xb910
jmp 0x1004a34e
mov dword [ebp - 0x2c], 0
jmp 0x1004a381
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 2
jge 0x1004a39a
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x284]
call fcn.1001ffcc
and dword [eax], 0
jmp 0x1004a37a
mov dword [ebp - 0x164], 0x7bf9
mov dword [ebp - 0x214], 0x1000c110
cmp dword [ebp - 0x164], 0x7ed2
jle 0x1004a415
and dword [ebp - 0x68], 0
jmp 0x1004a3c7
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0x5bad
jge 0x1004a415
and dword [ebp - 0x70], 0
jmp 0x1004a3dd
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0x31a3
jge 0x1004a413
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x70]
sar eax, cl
cdq
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], edx
push dword [ebp - 0x244]
push dword [ebp - 0x248]
mov ecx, 0x1008bbb8
call fcn.1001fc14
jmp 0x1004a3d6
jmp 0x1004a3c0
mov dword [ebp - 0x24], 0
jmp 0x1004a425
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jg 0x1004a5b0
mov dword [ebp - 0x34], 0x3ccde6bc
push dword [ebp - 0x24]
lea ecx, [ebp - 0xc8]
call fcn.1001ffcc
mov esi, eax
push dword [ebp - 0x24]
lea ecx, [ebp - 0xc8]
call fcn.1001ffcc
mov ecx, dword [esi]
cmp ecx, dword [eax]
jne 0x1004a466
mov dword [ebp - 0x194], 1
jmp 0x1004a46d
and dword [ebp - 0x194], 0
push 0
lea ecx, [ebp - 0xc8]
call fcn.1001ffcc
mov eax, dword [eax]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
cmp dword [ebp - 0x194], eax
jl 0x1004a496
mov dword [ebp - 0x154], 1
jmp 0x1004a49d
and dword [ebp - 0x154], 0
push 0
lea ecx, [ebp - 0xc8]
call fcn.1001ffcc
mov eax, dword [eax]
cmp eax, dword [ebp - 0x154]
jge 0x1004a4c0
mov dword [ebp - 0x1d4], 1
jmp 0x1004a4c7
and dword [ebp - 0x1d4], 0
push dword [ebp - 0x24]
lea ecx, [ebp - 0xc8]
call fcn.1001ffcc
mov ecx, dword [ebp - 0x1d4]
cmp ecx, dword [eax]
je 0x1004a4eb
mov dword [ebp - 0xcc], 1
jmp 0x1004a4f2
and dword [ebp - 0xcc], 0
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x34], eax
push dword [ebp - 0x24]
lea ecx, [ebp - 0xc8]
call fcn.1001ffcc
mov ecx, dword [ebp - 0x24]
cmp dword [eax], ecx
jg 0x1004a51c
mov dword [ebp - 0x26c], 1
jmp 0x1004a523
and dword [ebp - 0x26c], 0
push dword [ebp - 0x24]
lea ecx, [ebp - 0xc8]
call fcn.1001ffcc
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2d8], eax
cmp dword [ebp - 0x78], 0
jne 0x1004a55d
or eax, 0xffffffff
jne 0x1004a55d
cmp dword [ebp - 0x34], 0
jne 0x1004a55d
and dword [ebp - 0x19c], 0
jmp 0x1004a567
mov dword [ebp - 0x19c], 1
push 0
lea ecx, [ebp - 0x284]
call fcn.1001ffcc
mov ecx, dword [ebp - 0x19c]
mov dword [eax], ecx
mov dword [ebp - 0x34], 0
jmp 0x1004a58c
mov eax, dword [ebp - 0x34]
dec eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jl 0x1004a5ab
mov eax, dword [ebp - 0x34]
inc eax
push eax
lea ecx, [ebp - 0x284]
call fcn.1001ffcc
cmp dword [eax], 0
je 0x1004a5a9
jmp 0x1004a5ab
jmp 0x1004a585
jmp 0x1004a41e
cmp dword [ebp - 0x164], 0x790c
jge 0x1004a5cc
mov edx, dword [ebp - 0x214]
mov ecx, 0x1008bbb8
call fcn.100228da
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x284]
call fcn.1001ffb0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc8]
call fcn.1001ffb0
mov eax, dword [ebp - 0x24c]
inc eax
inc eax
push eax
mov eax, dword [ebp + 8]
push dword [eax]
push 0x9ea8
push 0x8b70
call fcn.100468ba
pop ecx
pop ecx
call eax
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx]
mov dword [ecx], eax
cmp dword [ebp - 0x1bc], 0x3814
jge 0x1004a62a
push dword [ebp - 0x220]
call fcn.100714f3
pop ecx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0xe9bf9f36
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x128], 0xa6c6
mov dword [ebp - 0x264], 0xfffffff9
mov dword [ebp - 0x1c], 6
jmp 0x1004a666
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x1c
jge 0x1004a676
cmp dword [ebp - 0x1c], 0
je 0x1004a674
jmp 0x1004a676
jmp 0x1004a65f
cmp dword [ebp - 0x20], 0
jne 0x1004a7d7
cmp dword [ebp - 0x20], 5
jae 0x1004a692
mov dword [ebp - 0x16c], 1
jmp 0x1004a699
and dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x16c], eax
jle 0x1004a6b0
mov dword [ebp - 0x1a4], 1
jmp 0x1004a6b7
and dword [ebp - 0x1a4], 0
mov eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x174]
shl eax, 1
cmp dword [ebp - 0x1c], eax
jl 0x1004a6dc
mov dword [ebp - 0x104], 1
jmp 0x1004a6e3
and dword [ebp - 0x104], 0
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x104], eax
jl 0x1004a6fa
mov dword [ebp - 0x118], 1
jmp 0x1004a701
and dword [ebp - 0x118], 0
cmp dword [ebp - 0x118], 0xf9d66de6
jne 0x1004a719
mov dword [ebp - 0x120], 1
jmp 0x1004a720
and dword [ebp - 0x120], 0
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x128], eax
jne 0x1004a743
mov dword [ebp - 0x130], 1
jmp 0x1004a74a
and dword [ebp - 0x130], 0
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x130], eax
jg 0x1004a761
mov dword [ebp - 0x138], 1
jmp 0x1004a768
and dword [ebp - 0x138], 0
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x138]
jge 0x1004a77f
mov dword [ebp - 0x140], 1
jmp 0x1004a786
and dword [ebp - 0x140], 0
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x140], eax
jne 0x1004a79d
mov dword [ebp - 0x148], 1
jmp 0x1004a7a4
and dword [ebp - 0x148], 0
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x148], eax
jl 0x1004a7bb
mov dword [ebp - 0x150], 1
jmp 0x1004a7c2
and dword [ebp - 0x150], 0
cmp dword [ebp - 0x150], 0xf0ad
jle 0x1004a7d7
and dword [ebp - 0x158], 0
jmp 0x1004a7e1
mov dword [ebp - 0x158], 1
cmp dword [ebp - 0x158], 0x8ee41b66
ja 0x1004a7f9
mov dword [ebp - 0x160], 1
jmp 0x1004a800
and dword [ebp - 0x160], 0
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x160], eax
jg 0x1004a817
mov dword [ebp - 0x168], 1
jmp 0x1004a81e
and dword [ebp - 0x168], 0
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x1c], eax
je 0x1004a83b
mov dword [ebp - 0x170], 1
jmp 0x1004a842
and dword [ebp - 0x170], 0
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x170], eax
jge 0x1004a85c
cmp dword [ebp - 0x1c], 0
jne 0x1004a85c
and dword [ebp - 0x178], 0
jmp 0x1004a866
mov dword [ebp - 0x178], 1
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x178], eax
jle 0x1004a87d
mov dword [ebp - 0x180], 1
jmp 0x1004a884
and dword [ebp - 0x180], 0
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x264], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
cmp dword [eax], 0
jne 0x1004ae27
mov dword [ebp - 0x40], 0xdf75dcec
mov dword [ebp - 0xa8], 0xf1571c09
mov dword [ebp - 0x1fc], 0xe8a7
mov dword [ebp - 0x2a4], 0x7ba9ac04
mov dword [ebp - 0x2a0], 0x7ba9ac04
mov dword [ebp - 0x29c], 0x7ba9ac04
mov dword [ebp - 0x298], 0x7ba9ac04
lea ecx, [ebp - 0xb5]
call fcn.1001ffdb
push eax
lea eax, [ebp - 0x294]
push eax
lea eax, [ebp - 0x2a4]
push eax
lea ecx, [ebp - 0x2f8]
call fcn.1001ffde
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x2b0]
call fcn.1001ff8a
mov dword [ebp - 4], 4
mov dword [ebp - 0xac], 0xffffffff
mov dword [ebp - 0x238], 0x64ea
mov dword [ebp - 0x30], 0
jmp 0x1004a941
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 4
jge 0x1004a957
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0x308], 0x421dd2eb
jmp 0x1004a93a
mov dword [ebp - 0x30], 0
jmp 0x1004a967
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 1
jge 0x1004a97d
mov eax, dword [ebp - 0x30]
mov dword [ebp + eax*4 - 0xfc], 0x2a2d6201
jmp 0x1004a960
mov dword [ebp - 0x40], 0xf
jmp 0x1004a98d
mov eax, dword [ebp - 0x40]
dec eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0xffffffe9
jg 0x1004add3
push 1
lea ecx, [ebp - 0x114]
call fcn.1001ff2e
mov byte [ebp - 4], 5
mov dword [ebp - 0x1ec], 0xfffffffb
mov dword [ebp - 0xbc], 0x12e75507
mov dword [ebp - 0xf4], 0x6e86ff18
push 4
lea ecx, [ebp - 0x25c]
call fcn.1001ff2e
mov byte [ebp - 4], 6
mov dword [ebp - 0x1f0], 0x689bb5c
mov dword [ebp - 0x2d0], 0xc0e03a84
mov dword [ebp - 0x10], 0
jmp 0x1004a9fb
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 1
jge 0x1004aa17
push dword [ebp - 0x10]
lea ecx, [ebp - 0x114]
call fcn.1001ffcc
mov dword [eax], 0xe7bff44c
jmp 0x1004a9f4
mov dword [ebp - 0x10], 0
jmp 0x1004aa27
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1004aa43
push dword [ebp - 0x10]
lea ecx, [ebp - 0x25c]
call fcn.1001ffcc
mov dword [eax], 0xcae7bf19
jmp 0x1004aa20
mov dword [ebp - 0x10], 0
jmp 0x1004aa53
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 4
jge 0x1004aa69
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x2f0], 0x1ba1
jmp 0x1004aa4c
mov esi, dword [ebp - 0x40]
push 0
lea ecx, [ebp - 0x114]
call fcn.1001ffcc
mov edi, eax
push 0
lea ecx, [ebp - 0x114]
call fcn.1001ffcc
mov ecx, dword [edi]
add ecx, dword [eax]
cmp esi, ecx
jg 0x1004aa9c
mov dword [ebp - 0xd0], 1
jmp 0x1004aaa3
and dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xac]
inc ecx
mov dword [ebp - 0xac], ecx
test eax, eax
jne 0x1004abcf
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x2e0], eax
mov eax, 0x49f3923b
cmp eax, 0xcf27260e
je 0x1004aae2
mov dword [ebp - 0xb4], 1
jmp 0x1004aae9
and dword [ebp - 0xb4], 0
push 4
pop eax
imul eax, eax, 3
mov ecx, dword [ebp - 0xb4]
mov dword [ebp + eax - 0x308], ecx
cmp dword [ebp - 0xb4], 0x221365d5
jle 0x1004ab14
mov dword [ebp - 0x188], 1
jmp 0x1004ab1b
and dword [ebp - 0x188], 0
push 1
lea ecx, [ebp - 0x2b0]
call fcn.1001ffcc
mov eax, dword [eax]
cmp eax, dword [ebp - 0x188]
jle 0x1004ab3e
mov dword [ebp - 0xa4], 1
jmp 0x1004ab45
and dword [ebp - 0xa4], 0
push 2
lea ecx, [ebp - 0x25c]
call fcn.1001ffcc
mov ecx, dword [ebp - 0xa4]
mov dword [eax], ecx
push 0
lea ecx, [ebp - 0x114]
call fcn.1001ffcc
mov ecx, dword [ebp - 0xa4]
cmp ecx, dword [eax]
jl 0x1004ab7d
mov dword [ebp - 0x22c], 1
jmp 0x1004ab84
and dword [ebp - 0x22c], 0
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x2c0], eax
mov esi, dword [ebp - 0xa8]
push 0
lea ecx, [ebp - 0x114]
call fcn.1001ffcc
cmp esi, dword [eax]
je 0x1004abbc
mov dword [ebp - 0x190], 1
jmp 0x1004abc3
and dword [ebp - 0x190], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x2f0]
push 1
lea ecx, [ebp - 0x2b0]
call fcn.1001ffcc
imul eax, dword [ebp - 0x1f0], 0x23f8
cmp eax, dword [ebp - 0x40]
jl 0x1004ac00
cmp dword [ebp - 0x1ec], 0
je 0x1004ac00
mov dword [ebp - 0xd4], 1
jmp 0x1004ac07
and dword [ebp - 0xd4], 0
mov eax, dword [ebp - 0xd0]
imul eax, dword [ebp - 0xd4]
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 1
ja 0x1004ac2f
mov dword [ebp - 0xb0], 1
jmp 0x1004ac36
and dword [ebp - 0xb0], 0
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0xb0]
mov dword [ebp + eax - 0xfc], ecx
mov eax, dword [ebp - 0xb0]
sub eax, dword [ebp - 0x1fc]
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0xffffffff
jg 0x1004ac70
mov dword [ebp - 0xdc], 1
jmp 0x1004ac77
and dword [ebp - 0xdc], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x2f0]
cmp dword [ebp - 0xdc], eax
je 0x1004ac98
mov dword [ebp - 0xe4], 1
jmp 0x1004ac9f
and dword [ebp - 0xe4], 0
mov eax, dword [ebp - 0xe4]
sub eax, 0x82240a4
je 0x1004ad73
cmp dword [ebp - 0xf4], 0
je 0x1004ad73
push 1
lea ecx, [ebp - 0x278]
call fcn.1001ff2e
mov byte [ebp - 4], 7
mov dword [ebp - 0x80], 0
jmp 0x1004acde
mov eax, dword [ebp - 0x80]
inc eax
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 1
jge 0x1004acfa
push dword [ebp - 0x80]
lea ecx, [ebp - 0x278]
call fcn.1001ffcc
mov dword [eax], 0x97eee40b
jmp 0x1004acd7
push 0
lea ecx, [ebp - 0x278]
call fcn.1001ffcc
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xec]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0xec]
mov dword [ecx], eax
push 0
lea ecx, [ebp - 0x278]
call fcn.1001ffcc
cmp dword [eax], 0
je 0x1004ad62
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x278]
call fcn.1001ffb0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x25c]
call fcn.1001ffb0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x114]
call fcn.1001ffb0
jmp 0x1004a986
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x278]
call fcn.1001ffb0
jmp 0x1004adb0
mov dword [ebp - 0xf4], 0xeb859678
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0xfc], 0
je 0x1004adb0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x25c]
call fcn.1001ffb0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x114]
call fcn.1001ffb0
jmp 0x1004a986
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x25c]
call fcn.1001ffb0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x114]
call fcn.1001ffb0
jmp 0x1004a986
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2b0]
call fcn.1001ffb0
mov eax, dword [ebp + 0x18]
and dword [eax], 0
mov dword [ebp - 0x54], 8
mov dword [ebp - 0x54], 0xfffffff1
jmp 0x1004adff
mov eax, dword [ebp - 0x54]
dec eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0xffffffe7
jg 0x1004ae25
mov byte [ebp - 0x39], 0
movzx eax, byte [ebp - 0x39]
test eax, eax
je 0x1004ae1b
push 0
push 0
call dword [sym.imp.GDI32.dll_GetRgnBox]
cmp dword [ebp - 0x54], 0
je 0x1004ae23
jmp 0x1004adf8
jmp 0x1004adf8
jmp 0x1004ae2c
jmp 0x100498b2
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret