Function at 0x10014277
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100621ce
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x588
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
movzx eax, byte [ebp + 0x2c]
test eax, eax
je 0x100166e4
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x3e4], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x3a8], eax
mov eax, dword [ebp + 0x4c]
mov dword [ebp - 0x3a4], eax
mov dword [ebp - 0x220], 0x4bec
mov dword [ebp - 0x390], str.ifdatbkf_lwo_oarx_mwni_jpezrviw_nyxvupy
cmp dword [ebp - 0x220], 0x4f1a
jle 0x1001439b
and dword [ebp - 0x11c], 0
jmp 0x10014306
mov eax, dword [ebp - 0x11c]
inc eax
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0x7069
jge 0x1001439b
and dword [ebp - 0x110], 0
jmp 0x1001432c
mov eax, dword [ebp - 0x110]
inc eax
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0x219
jge 0x10014396
and dword [ebp - 0x118], 0
jmp 0x1001434e
mov eax, dword [ebp - 0x118]
inc eax
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0x63a0
jge 0x10014394
mov eax, dword [ebp - 0x110]
cdq
idiv dword [ebp - 0x118]
mov eax, dword [ebp - 0x11c]
sub eax, edx
cdq
mov dword [ebp - 0x344], eax
mov dword [ebp - 0x340], edx
push dword [ebp - 0x340]
push dword [ebp - 0x344]
mov ecx, 0x1007d858
call fcn.1000bb8e
jmp 0x10014341
jmp 0x1001431f
jmp 0x100142f9
mov eax, dword [ebp + 0x48]
mov dword [ebp - 0x3c8], eax
and dword [ebp - 4], 0
cmp dword [ebp - 0x220], 0x49ad
jge 0x100143c4
mov edx, dword [ebp - 0x390]
mov ecx, 0x1007d858
call fcn.1000dfd7
jmp 0x100143e0
or dword [ebp - 4], 0xffffffff
jmp 0x100143ea
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp + 0x40]
mov dword [ebp - 0x39c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x304], eax
lea eax, [ebp + 0x34]
mov dword [ebp - 0x3b8], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x3b0], eax
mov eax, dword [ebp + 0x44]
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 0x160], 0xcc
mov dword [ebp - 0x354], str.vbmrux_dilxqkg_dsmzod_xocmvxpk_ohcla_jdyo_ftmtkw_ckhv_nwxo_ismy
cmp dword [ebp - 0x160], 0x46c
jle 0x10014522
and dword [ebp - 0xdc], 0
jmp 0x1001445a
mov eax, dword [ebp - 0xdc]
inc eax
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0x5217
jge 0x10014522
and dword [ebp - 0xb0], 0
jmp 0x10014480
mov eax, dword [ebp - 0xb0]
inc eax
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0x3132
jge 0x1001451d
and dword [ebp - 0xe0], 0
jmp 0x100144a6
mov eax, dword [ebp - 0xe0]
inc eax
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0x76ec
jge 0x10014518
and dword [ebp - 0xb8], 0
jmp 0x100144c8
mov eax, dword [ebp - 0xb8]
inc eax
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0x784d
jge 0x10014516
mov eax, dword [ebp - 0xdc]
cdq
idiv dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xe0]
sar edx, cl
xor edx, dword [ebp - 0xb8]
mov eax, edx
cdq
mov dword [ebp - 0x350], eax
mov dword [ebp - 0x34c], edx
push dword [ebp - 0x34c]
push dword [ebp - 0x350]
mov ecx, 0x1007d858
call fcn.1000bb8e
jmp 0x100144bb
jmp 0x10014499
jmp 0x10014473
jmp 0x1001444d
mov eax, dword [ebp - 0x3b8]
movzx eax, byte [eax]
test eax, eax
je 0x100162eb
mov eax, dword [ebp - 0x3c0]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x3c8]
mov dword [ebp - 0x1b0], eax
push 0x6aa3
push 0x233e
push 0x336a
push 0x316d
push 0
push 0x1cb5
push 1
call fcn.10011025
add esp, 0x1c
mov eax, dword [0x100e0a34]
and eax, 1
jne 0x100145a7
mov eax, dword [0x100e0a34]
or eax, 1
mov dword [0x100e0a34], eax
mov dword [ebp - 4], 2
mov ecx, 0x100e0a38
call fcn.10022ec0
push 0x100632c4
call fcn.1004ae34
pop ecx
or dword [ebp - 4], 0xffffffff
push 3
lea ecx, [ebp - 0x3fc]
call fcn.10001a5a
mov dword [ebp - 4], 3
mov dword [ebp - 0x68], 0xfffffff7
push 0x7b2
push 1
push 0x2871
push 0
lea eax, [ebp - 0x3fc]
push eax
lea eax, [ebp - 0x48c]
push eax
push 1
push 0x4117
call fcn.100172b7
add esp, 0x20
mov dword [ebp - 0x68], 2
jmp 0x100145fd
mov eax, dword [ebp - 0x68]
dec eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0
jl 0x1001467c
mov dword [ebp - 0x48], 0x70ade216
mov dword [ebp - 0x3d0], 4
mov dword [ebp - 0x48], 0
jmp 0x10014624
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 2
jg 0x10014677
push 0x1ef2
push 0x3498
push 0xd62
push 1
lea eax, [ebp - 0x48]
push eax
push 0
push 0x2ca8
push 0x4d1c
lea eax, [ebp - 0x3fc]
push eax
lea eax, [ebp - 0x3d0]
push eax
push 0x68c4
push 0x2511
push 1
call fcn.100131d8
add esp, 0x34
cmp dword [ebp - 0x48], 0
je 0x10014675
jmp 0x10014677
jmp 0x1001461d
jmp 0x100145f6
push 0
lea eax, [ebp - 0x68]
push eax
push 0x27a2
push 0x52e2
push 1
push 0x4711
push 1
lea eax, [ebp - 0x3fc]
push eax
push 0x250a
call fcn.10021713
add esp, 0x24
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3fc]
call fcn.10001abc
push dword [ebp - 0x24c]
lea ecx, [ebp - 0x428]
call fcn.1000bca3
mov dword [ebp - 4], 4
lea eax, [ebp - 0x4dc]
push eax
lea ecx, [ebp - 0x428]
call fcn.1000c452
push dword [eax]
lea eax, [ebp - 0x4b0]
push eax
lea ecx, [ebp - 0x428]
call fcn.1000c466
push dword [eax]
lea eax, [ebp - 0x4e0]
push eax
lea ecx, [ebp - 0x428]
call fcn.1000c452
push dword [eax]
mov edx, 0x1000ede0
lea ecx, [ebp - 0x4e8]
call fcn.10023866
add esp, 0xc
mov dword [ebp - 0x248], 0x2d6
mov dword [ebp - 0x3c4], str.zgb_odfrqo_nrfxg
cmp dword [ebp - 0x248], 0x6a8
jle 0x10014852
and dword [ebp - 0xe8], 0
jmp 0x10014759
mov eax, dword [ebp - 0xe8]
inc eax
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0x23a6
jge 0x10014852
and dword [ebp - 0xc0], 0
jmp 0x1001477f
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0x52c9
jge 0x1001484d
and dword [ebp - 0xf0], 0
jmp 0x100147a5
mov eax, dword [ebp - 0xf0]
inc eax
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0x3d79
jge 0x10014848
and dword [ebp - 0xc8], 0
jmp 0x100147cb
mov eax, dword [ebp - 0xc8]
inc eax
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0x5852
jge 0x10014843
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xc0]
shl eax, cl
mov ecx, dword [ebp - 0xf0]
sar eax, cl
mov ecx, dword [ebp - 0xc8]
sar eax, cl
cdq
mov dword [ebp - 0x35c], eax
mov dword [ebp - 0x358], edx
push dword [ebp - 0x358]
push dword [ebp - 0x35c]
lea ecx, [ebp - 0x588]
call fcn.1000260d
pop ecx
pop ecx
mov dword [ebp - 0x3ec], eax
mov ecx, dword [ebp - 0x3ec]
call fcn.1000bb0c
push eax
call fcn.1004ae5e
pop ecx
lea ecx, [ebp - 0x588]
call fcn.1000bb02
jmp 0x100147be
jmp 0x10014798
jmp 0x10014772
jmp 0x1001474c
lea ecx, [ebp - 0x428]
call fcn.1000ed6b
mov dword [ebp - 0x1e4], eax
mov byte [ebp - 4], 5
cmp dword [ebp - 0x248], 0x64
jge 0x1001487c
push dword [ebp - 0x3c4]
call fcn.1004ae5e
pop ecx
jmp 0x10014898
mov dword [ebp - 4], 4
jmp 0x100148a8
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x2c], 2
jmp 0x100148bf
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x10
jle 0x100148ea
mov byte [ebp - 0x32], 0
lea eax, [ebp - 0x32]
push eax
push 0x2efa
push 1
push 0x742d
push 0x53e2
push 1
call fcn.10010c09
add esp, 0x18
jmp 0x100148b8
mov dword [ebp - 0x2c], 0
jmp 0x100148fa
mov eax, dword [ebp - 0x2c]
dec eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0xffffffef
jl 0x100149b7
push 2
lea ecx, [ebp - 0x448]
call fcn.10001a5a
mov byte [ebp - 4], 7
mov dword [ebp - 0x2c4], 0xaad8530d
push 0
lea eax, [ebp - 0x4f0]
push eax
push 0x380d
push 0x3145
lea eax, [ebp - 0x448]
push eax
push 0x65cd
call fcn.100220e7
add esp, 0x18
push 0x12a0
push 0x224b
push 0x5384
push 0x2439
push 0x49cf
lea eax, [ebp - 0x448]
push eax
push 1
push 0x4c24
push 0
push 0x3d17
push 0
push 0x2540
lea eax, [ebp - 0x2c4]
push eax
push 0x7381
push 0x3a87
push 0x2b7f
push 0x33dc
push 0x2ba
call fcn.10014277
add esp, 0x48
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x448]
call fcn.10001abc
jmp 0x100148f3
movzx eax, byte [0x100e09d0]
test eax, eax
je 0x10014add
mov ecx, 0x100e0a38
call fcn.10022f85
movzx eax, al
test eax, eax
jne 0x10014add
mov dword [ebp - 0x1ec], 0x2c03342e
mov dword [ebp - 0x250], 0x8e3bf118
mov dword [ebp - 0x260], 5
mov dword [ebp - 0x310], 1
mov dword [ebp - 0x298], 0xfffffff9
push 0
push 0x62f9
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x250]
push eax
push 0x7fb8
push 0x6362
lea eax, [ebp - 0x1ec]
push eax
call fcn.100213ec
add esp, 0x1c
push 0xfca
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x298]
push eax
push 0xacd
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x310]
push eax
push 0
lea eax, [ebp - 0x1ec]
push eax
push 0x40fe
call fcn.10022358
add esp, 0x24
lea eax, [ebp - 0x1e4]
push eax
lea eax, [ebp - 0x240]
push eax
mov ecx, 0x100e0a38
call fcn.10022f8e
lea eax, [ebp - 0x4f8]
push eax
mov ecx, 0x100e0a38
call fcn.10022f77
push eax
lea ecx, [ebp - 0x240]
call fcn.10022ead
movzx eax, al
test eax, eax
je 0x10014add
lea ecx, [ebp - 0x240]
call fcn.10022fa3
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [eax + 4]
mov dword [ecx], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x428]
call fcn.1000bd03
jmp 0x100169cd
and dword [ebp - 0x6c], 0
mov dword [ebp - 0x43c], 0xfffffffd
mov dword [ebp - 0x438], 0xfffffffd
mov dword [ebp - 0x434], 0xfffffffd
mov dword [ebp - 0x430], 0xfffffffd
lea ecx, [ebp - 0x141]
call fcn.10001ae7
push eax
lea eax, [ebp - 0x42c]
push eax
lea eax, [ebp - 0x43c]
push eax
lea ecx, [ebp - 0x510]
call fcn.10001aea
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x3e0]
call fcn.10001a96
mov byte [ebp - 4], 8
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x17c], 1
mov dword [ebp - 0x154], 0x54ee87f6
mov dword [ebp - 0x36c], 0xe65c3421
mov dword [ebp - 0x30], 0
jmp 0x10014b77
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 3
jg 0x10015001
mov dword [ebp - 0x2c0], 0xfffffffb
mov dword [ebp - 0xa4], 0
jmp 0x10014ba4
mov eax, dword [ebp - 0xa4]
inc eax
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 1
jge 0x10014bbd
mov eax, dword [ebp - 0xa4]
mov dword [ebp + eax*4 - 0x64], 5
jmp 0x10014b97
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x64], 0
jmp 0x10014be2
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x64]
inc eax
push 4
pop ecx
imul ecx, ecx, 0
mov dword [ebp + ecx - 0x64], eax
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x64], 3
jg 0x10014f3e
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x338], 1
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x2a0], eax
mov eax, dword [ebp - 0x12c]
dec eax
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x2a0], 0xfffe
je 0x10014ef7
mov dword [ebp - 0x330], 0x695998ab
mov byte [ebp - 0x34], 0
movzx eax, byte [ebp - 0x34]
test eax, eax
je 0x10014e99
push 0x6e84
push 0x4892
push 0x36c8
push 1
push 0xfdb
push 0
push 0x7df4
push 0x503b
push 0x1a51
push 0x2746
push 0x76ac
push 0x6627
push 0
call fcn.100131d8
add esp, 0x34
mov dword [ebp - 0x16c], 0x72b3
mov dword [ebp - 0x2b8], str.eyenk_uohphr_wsbl_tolsrgrtr
cmp dword [ebp - 0x16c], 0x764d
jle 0x10014d90
and dword [ebp - 0xd0], 0
jmp 0x10014cd0
mov eax, dword [ebp - 0xd0]
inc eax
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0x72fc
jge 0x10014d90
and dword [ebp - 0xf8], 0
jmp 0x10014cf6
mov eax, dword [ebp - 0xf8]
inc eax
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 0x5027
jge 0x10014d8b
and dword [ebp - 0xd8], 0
jmp 0x10014d1c
mov eax, dword [ebp - 0xd8]
inc eax
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0x78bf
jge 0x10014d86
mov eax, dword [ebp - 0xd0]
imul eax, dword [ebp - 0xf8]
xor eax, dword [ebp - 0xd8]
cdq
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x364], edx
push dword [ebp - 0x364]
push dword [ebp - 0x368]
lea ecx, [ebp - 0x570]
call fcn.1000260d
pop ecx
pop ecx
mov dword [ebp - 0x318], eax
mov ecx, dword [ebp - 0x318]
call fcn.1000bb0c
push eax
call fcn.1004ae5e
pop ecx
lea ecx, [ebp - 0x570]
call fcn.1000bb02
jmp 0x10014d0f
jmp 0x10014ce9
jmp 0x10014cc3
mov byte [ebp - 4], 9
cmp dword [ebp - 0x16c], 0x6f5f
jge 0x10014e6d
mov dword [ebp - 0x2a8], 0x1f77
cmp dword [ebp - 0x2a8], 0x86e
jge 0x10014e61
lea eax, [ebp - 0x328]
push eax
lea eax, [ebp - 0x100]
push eax
push str._d__d
call fcn.1004a92b
add esp, 0xc
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x320], eax
mov eax, dword [ebp - 0x100]
dec eax
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x320], 0
je 0x10014e4f
lea eax, [ebp - 0x2b0]
push eax
push 0x1006d2d0
call fcn.1004a92b
pop ecx
pop ecx
mov eax, dword [ebp - 0x2b0]
cmp eax, dword [ebp - 0x328]
jle 0x10014e34
mov dword [ebp - 0x258], 1
jmp 0x10014e3b
and dword [ebp - 0x258], 0
mov eax, dword [ebp - 0x14c]
add eax, dword [ebp - 0x258]
mov dword [ebp - 0x14c], eax
jmp 0x10014de5
push dword [ebp - 0x14c]
push 0x1006d2d4
call fcn.1004ae5e
pop ecx
pop ecx
push dword [ebp - 0x2b8]
call fcn.1004ae5e
pop ecx
jmp 0x10014e89
mov dword [ebp - 4], 8
jmp 0x10014e99
push 0x167c
push 0x500a
push 0x3eb0
push 0x395d
lea eax, [ebp - 0x30]
push eax
push 0x7914
push 1
push 0x66c3
push 0
push 0x1261
push 1
push 0x7d79
push 0x36f4
push 0x74bf
push 0x1a6d
push 0x47e
lea eax, [ebp - 0x330]
push eax
lea eax, [ebp - 0x3e0]
push eax
call fcn.10014277
add esp, 0x48
jmp 0x10014f26
mov dword [ebp - 0x44], 0xaf0488f4
cmp dword [ebp - 0x44], 0
je 0x10014f06
jmp 0x10014f3e
mov dword [ebp - 0x44], 0
jmp 0x10014f16
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 3
jg 0x10014f26
cmp dword [ebp - 0x44], 0
je 0x10014f24
jmp 0x10014f26
jmp 0x10014f0f
push 0
lea eax, [ebp - 0x338]
push eax
push 1
call fcn.10012c01
add esp, 0xc
jmp 0x10014bcd
xor eax, eax
inc eax
je 0x10014f5c
push 4
pop eax
imul eax, eax, 0
cmp dword [ebp + eax - 0x64], 0
je 0x10014f5c
mov dword [ebp - 0x174], 1
jmp 0x10014f63
and dword [ebp - 0x174], 0
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x154], eax
push 0
lea ecx, [ebp - 0x3e0]
call fcn.10001ad8
mov esi, eax
push dword [ebp - 0x30]
lea ecx, [ebp - 0x3e0]
call fcn.10001ad8
mov eax, dword [eax]
cmp eax, dword [esi]
je 0x10014f9e
mov dword [ebp - 0x1f4], 1
jmp 0x10014fa5
and dword [ebp - 0x1f4], 0
mov eax, dword [ebp - 0x17c]
cmp eax, dword [ebp - 0x1f4]
jle 0x10014fba
cmp dword [ebp - 0x17c], 0
push dword [ebp - 0x30]
lea ecx, [ebp - 0x3e0]
call fcn.10001ad8
cmp dword [eax], 0
jg 0x10014fd9
mov dword [ebp - 0x234], 1
jmp 0x10014fe0
and dword [ebp - 0x234], 0
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x2c0], eax
mov eax, 0x7976
add eax, 0xffff
mov dword [ebp - 0x36c], eax
jmp 0x10014b70
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x3e0]
call fcn.10001abc
lea eax, [ebp - 0x428]
push eax
call fcn.1000f68c
pop ecx
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0
jne 0x10015d31
mov dword [ebp - 0x2cc], 0x5cdbe8e5
mov dword [ebp - 0x4c4], 0xc5d9
mov dword [ebp - 0x2d4], 0x934f545e
push 1
lea ecx, [ebp - 0x454]
call fcn.10001a5a
mov byte [ebp - 4], 0xb
push 2
lea ecx, [ebp - 0x4c0]
call fcn.10001a5a
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x49c], 0x35a12a2e
mov dword [ebp - 0x394], 0x8fe4
mov dword [ebp - 0x58], 0
jmp 0x1001508e
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 1
jge 0x100150aa
push dword [ebp - 0x58]
lea ecx, [ebp - 0x454]
call fcn.10001ad8
mov dword [eax], 0xeb77278f
jmp 0x10015087
lea eax, [ebp - 0x58]
push eax
push 0x7c97
push 0x1b80
push 0x6f5f
lea eax, [ebp - 0x4c0]
push eax
push 1
push 0
push 0x2bf8
call fcn.1000fb24
add esp, 0x20
lea eax, [ebp - 0x454]
push eax
lea eax, [ebp - 0x2cc]
push eax
push 1
push 0x4474
lea eax, [ebp - 0x394]
push eax
lea eax, [ebp - 0x2d4]
push eax
push 0x44c8
push 1
push 0x2b0c
call fcn.1000f78a
add esp, 0x24
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4c0]
call fcn.10001abc
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x454]
call fcn.10001abc
push 1
lea ecx, [ebp - 0x54]
call fcn.10001a5a
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x15c], 0xfb0b44cf
mov dword [ebp - 0x138], 1
push 2
lea ecx, [ebp - 0x46c]
call fcn.10001a5a
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x23c], 0xffffffff
mov dword [ebp - 0x2dc], 0x4a08deb2
mov dword [ebp - 0x2e4], 0x71799991
lea eax, [ebp - 0x40]
push eax
push 0x3fff
push 0x20a2
push 1
push 1
lea eax, [ebp - 0x54]
push eax
call fcn.1000fa44
add esp, 0x18
push 1
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x46c]
push eax
push 0
call fcn.1000fc70
add esp, 0x10
mov dword [ebp - 0x40], 0
jmp 0x100151c0
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 3
jge 0x100151d6
mov eax, dword [ebp - 0x40]
mov dword [ebp + eax*4 - 0x498], 0xfa0b2b04
jmp 0x100151b9
push 0
lea ecx, [ebp - 0x54]
call fcn.10001ad8
cmp dword [eax], 7
jl 0x100151f1
mov dword [ebp - 0x184], 1
jmp 0x100151f8
and dword [ebp - 0x184], 0
push 0
lea ecx, [ebp - 0x54]
call fcn.10001ad8
mov ecx, dword [ebp - 0x184]
cmp ecx, dword [eax]
jge 0x10015218
mov dword [ebp - 0x1fc], 1
jmp 0x1001521f
and dword [ebp - 0x1fc], 0
cmp dword [ebp - 0x1fc], 0x71658a60
jl 0x10015237
mov dword [ebp - 0x18c], 1
jmp 0x1001523e
and dword [ebp - 0x18c], 0
cmp dword [ebp - 0x18c], 0x9d9e
jne 0x10015256
mov dword [ebp - 0x254], 1
jmp 0x1001525d
and dword [ebp - 0x254], 0
mov eax, dword [ebp - 0x15c]
cmp dword [ebp - 0x254], eax
jge 0x10015277
mov dword [ebp - 0x194], 1
jmp 0x1001527e
and dword [ebp - 0x194], 0
push 0
lea ecx, [ebp - 0x54]
call fcn.10001ad8
mov ecx, dword [ebp - 0x194]
cmp ecx, dword [eax]
jge 0x1001529e
mov dword [ebp - 0x204], 1
jmp 0x100152a5
and dword [ebp - 0x204], 0
mov eax, dword [ebp - 0x15c]
cmp dword [ebp - 0x204], eax
je 0x100152bf
mov dword [ebp - 0x378], 1
jmp 0x100152c6
and dword [ebp - 0x378], 0
push 0
lea ecx, [ebp - 0x54]
call fcn.10001ad8
push 0
lea ecx, [ebp - 0x54]
call fcn.10001ad8
cmp dword [eax], 0xac3efc16
ja 0x100152fd
push 0
lea ecx, [ebp - 0x54]
call fcn.10001ad8
cmp dword [eax], 0
je 0x100152fd
mov dword [ebp - 0x19c], 1
jmp 0x10015304
and dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x15c]
imul eax, dword [ebp - 0x19c]
test eax, eax
je 0x1001532a
cmp dword [ebp - 0x138], 0
je 0x1001532a
mov dword [ebp - 0x148], 1
jmp 0x10015331
and dword [ebp - 0x148], 0
push 0
lea ecx, [ebp - 0x46c]
call fcn.10001ad8
mov ecx, dword [ebp - 0x148]
mov dword [eax], ecx
cmp dword [ebp - 0x148], 0
jne 0x1001535e
push 0
lea ecx, [ebp - 0x54]
call fcn.10001ad8
cmp dword [eax], 0
je 0x10015367
mov eax, 0xcce005ab
test eax, eax
jne 0x1001536e
cmp dword [ebp - 0x138], 0
push 0
lea ecx, [ebp - 0x54]
call fcn.10001ad8
mov eax, dword [eax]
mov dword [ebp - 0x23c], eax
mov esi, dword [ebp - 0x23c]
push 0
lea ecx, [ebp - 0x54]
call fcn.10001ad8
cmp dword [eax], esi
jne 0x100153a0
mov dword [ebp - 0x1a4], 1
jmp 0x100153a7
and dword [ebp - 0x1a4], 0
push 0
lea ecx, [ebp - 0x54]
call fcn.10001ad8
mov ecx, dword [ebp - 0x1a4]
cmp ecx, dword [eax]
jge 0x100153c7
mov dword [ebp - 0x20c], 1
jmp 0x100153ce
and dword [ebp - 0x20c], 0
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x2dc], eax
push 0
lea ecx, [ebp - 0x54]
call fcn.10001ad8
mov esi, eax
push 0
lea ecx, [ebp - 0x54]
call fcn.10001ad8
mov eax, dword [eax]
cmp eax, dword [esi]
jne 0x10015402
mov dword [ebp - 0x1ac], 1
jmp 0x10015409
and dword [ebp - 0x1ac], 0
push 0
lea ecx, [ebp - 0x54]
call fcn.10001ad8
mov esi, dword [ebp - 0x1ac]
imul esi, dword [eax]
push 0
lea ecx, [ebp - 0x54]
call fcn.10001ad8
imul esi, dword [eax]
mov dword [ebp - 0x25c], esi
push 4
pop eax
imul eax, eax, 0
mov ecx, dword [ebp - 0x25c]
mov dword [ebp + eax - 0x498], ecx
push 0
lea ecx, [ebp - 0x54]
call fcn.10001ad8
mov esi, dword [ebp - 0x25c]
sub esi, dword [eax]
push 0
lea ecx, [ebp - 0x54]
call fcn.10001ad8
cmp dword [eax], esi
jle 0x1001546e
mov dword [ebp - 0x1b4], 1
jmp 0x10015475
and dword [ebp - 0x1b4], 0
mov eax, dword [ebp - 0x138]
cmp dword [ebp - 0x1b4], eax
jge 0x1001548f
mov dword [ebp - 0x398], 1
jmp 0x10015496
and dword [ebp - 0x398], 0
push 0
lea ecx, [ebp - 0x54]
call fcn.10001ad8
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x498]
mov dword [ebp - 0x2e4], eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x46c]
call fcn.10001abc
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x54]
call fcn.10001abc
cmp dword [0x100e09cc], 0
jne 0x10015ce2
push 4
lea ecx, [ebp - 0x128]
call fcn.10001a5a
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x140], 7
push 4
lea ecx, [ebp - 0x408]
call fcn.10001a5a
mov byte [ebp - 4], 0x10
mov dword [ebp - 0x158], 0x1b07fb07
mov dword [ebp - 0x224], 0xa429adbd
mov dword [ebp - 0x4ac], 0x1262
mov dword [ebp - 0x20], 0
jmp 0x10015535
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 3
jge 0x1001554b
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x28c], 0xec2e0cf5
jmp 0x1001552e
mov dword [ebp - 0x20], 0
jmp 0x1001555b
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
jge 0x10015577
push dword [ebp - 0x20]
lea ecx, [ebp - 0x128]
call fcn.10001ad8
mov dword [eax], 0x30f94f37
jmp 0x10015554
push 0x61be
push 0x4505
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x408]
push eax
push 0x442a
push 1
push 1
push 0x31ff
call fcn.1000fb24
add esp, 0x20
push 0
lea ecx, [ebp - 0x128]
call fcn.10001ad8
mov dword [eax], 2
jmp 0x100155db
push 0
lea ecx, [ebp - 0x128]
call fcn.10001ad8
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0x214]
mov dword [ecx], eax
push 0
lea ecx, [ebp - 0x128]
call fcn.10001ad8
cmp dword [eax], 0
jl 0x100157ac
push 0
lea ecx, [ebp - 0x128]
call fcn.10001ad8
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x28c]
mov dword [ebp - 0x4c8], eax
push 0
lea ecx, [ebp - 0x128]
call fcn.10001ad8
push 0
lea ecx, [ebp - 0x128]
call fcn.10001ad8
mov eax, dword [eax]
cmp dword [ebp + eax*4 - 0x28c], 0
je 0x1001566b
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x28c], 0
je 0x1001566b
push 0
lea ecx, [ebp - 0x128]
call fcn.10001ad8
mov eax, dword [eax]
cmp dword [ebp + eax*4 - 0x28c], 0
je 0x1001566b
mov dword [ebp - 0x1bc], 1
jmp 0x10015672
and dword [ebp - 0x1bc], 0
push 0
lea ecx, [ebp - 0x128]
call fcn.10001ad8
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x28c]
cmp dword [ebp - 0x1bc], eax
jle 0x1001569c
mov dword [ebp - 0x244], 1
jmp 0x100156a3
and dword [ebp - 0x244], 0
cmp dword [ebp - 0x244], 0xffffffff
jle 0x100156b8
mov dword [ebp - 0x1c4], 1
jmp 0x100156bf
and dword [ebp - 0x1c4], 0
push 0
lea ecx, [ebp - 0x128]
call fcn.10001ad8
mov eax, dword [eax]
mov eax, dword [ebp + eax*4 - 0x28c]
cmp eax, dword [ebp - 0x1c4]
jg 0x100156e9
mov dword [ebp - 0x21c], 1
jmp 0x100156f0
and dword [ebp - 0x21c], 0
imul eax, dword [ebp - 0x21c], 6
cmp eax, 0x79cd
jg 0x1001570a
mov dword [ebp - 0x1cc], 1
jmp 0x10015711
and dword [ebp - 0x1cc], 0
cmp dword [ebp - 0x1cc], 0
ja 0x10015726
mov dword [ebp - 0x264], 1
jmp 0x1001572d
and dword [ebp - 0x264], 0
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x4b4], eax
push 0
lea ecx, [ebp - 0x128]
call fcn.10001ad8
push 3
lea ecx, [ebp - 0x408]
call fcn.10001ad8
mov esi, eax
push 0
lea ecx, [ebp - 0x128]
call fcn.10001ad8
mov eax, dword [eax]
mov dword [esi], eax
mov byte [ebp - 0x31], 0
movzx eax, byte [ebp - 0x31]
test eax, eax
je 0x100157a7
push 0
push 0x253
push 0x2fb2
push 0x7195
push 1
push 0x72
push 0x66d1
push 1
push 0x79c3
call fcn.1000fd2e
add esp, 0x24
jmp 0x100155b7
mov eax, dword [ebp - 0x158]
inc eax
jne 0x100157c7
mov eax, 0xd8a
test eax, eax
jne 0x100157c7
and dword [ebp - 0x1d4], 0
jmp 0x100157d1
mov dword [ebp - 0x1d4], 1
mov eax, dword [ebp - 0x158]
cmp dword [ebp - 0x1d4], eax
jg 0x100157eb
mov dword [ebp - 0x384], 1
jmp 0x100157f2
and dword [ebp - 0x384], 0
push 3
lea ecx, [ebp - 0x408]
call fcn.10001ad8
mov eax, dword [eax]
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x224]
neg eax
je 0x10015857
mov byte [ebp - 0x33], 0
movzx eax, byte [ebp - 0x33]
test eax, eax
je 0x10015833
push 1
push 0x25aa
push 0x542c
push 1
call fcn.1000fc70
add esp, 0x10
push 0x2f6a
push 0x5c52
push 1
push 1
push 1
push 0x6d00
push 0x58b8
call fcn.100128b2
add esp, 0x1c
jmp 0x1001588a
push 1
push 0x2180
lea eax, [ebp - 0x158]
push eax
push 0
push 0x39fa
push 0x3b3a
push 0xc39
push 0x14d9
lea eax, [ebp - 0x140]
push eax
call fcn.100228ca
add esp, 0x24
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x408]
call fcn.10001abc
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x128]
call fcn.10001abc
mov byte [ebp - 0x88], 6
mov byte [ebp - 0x87], 0xfb
mov byte [ebp - 0x86], 8
mov byte [ebp - 0x85], 0x1d
mov byte [ebp - 0x84], 0
mov byte [ebp - 0x83], 0x65
mov byte [ebp - 0x82], 7
mov byte [ebp - 0x81], 0x79
mov byte [ebp - 0x80], 3
mov byte [ebp - 0x7f], 0x5c
mov byte [ebp - 0x7e], 0xb
mov byte [ebp - 0x7d], 2
mov byte [ebp - 0x7c], 0xa
mov byte [ebp - 0x7b], 0
mov byte [ebp - 0x7a], 1
mov byte [ebp - 0x79], 0x60
mov byte [ebp - 0x78], 5
mov byte [ebp - 0x77], 0
mov byte [ebp - 0x76], 2
mov byte [ebp - 0x75], 0x1e
mov byte [ebp - 0x74], 9
mov byte [ebp - 0x73], 0x16
mov byte [ebp - 0x72], 1
mov byte [ebp - 0x71], 1
mov byte [ebp - 0x70], 4
mov byte [ebp - 0x6f], 0
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0x88]
and eax, 0xc8
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0x88]
or ecx, 0xc8
sub ecx, eax
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x88]
mov word [ebp + eax*2 - 0x488], cx
mov dword [ebp - 0x14], 2
and dword [ebp - 0x108], 0
jmp 0x1001597f
mov eax, dword [ebp - 0x14]
inc eax
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x1a
jae 0x10015a36
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0x88]
lea eax, [eax + eax + 2]
cmp dword [ebp - 0x14], eax
jne 0x100159c9
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0x88]
inc eax
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0x88]
mov ecx, dword [ebp - 0x14]
lea eax, [ecx + eax - 1]
mov dword [ebp - 0x14], eax
jmp 0x10015977
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x108]
movzx eax, byte [ebp + eax - 0x8a]
movzx eax, word [ebp + eax*2 - 0x488]
mov ecx, dword [ebp - 0x14]
movzx ecx, byte [ebp + ecx - 0x87]
and ecx, eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x108]
movzx eax, byte [ebp + eax - 0x8a]
movzx eax, word [ebp + eax*2 - 0x488]
mov edx, dword [ebp - 0x14]
movzx edx, byte [ebp + edx - 0x87]
or edx, eax
sub edx, ecx
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebp + eax - 0x88]
mov word [ebp + eax*2 - 0x488], dx
and dword [ebp - 0x108], 0
jmp 0x10015977
push 2
pop eax
imul eax, eax, 0xc
xor ecx, ecx
mov word [ebp + eax - 0x488], cx
lea eax, [ebp - 0x488]
push eax
lea ecx, [ebp - 0x540]
call fcn.1000bcde
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x2ec]
mov dword [ebp - 0x3a0], eax
mov byte [ebp - 4], 0x11
push dword [ebp - 0x3a0]
call fcn.1000f68c
pop ecx
mov dword [ebp - 0x1dc], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x540]
call fcn.1000bd03
and dword [ebp - 0xe4], 0
jmp 0x10015aa5
mov eax, dword [ebp - 0xe4]
inc eax
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0xd
jae 0x10015ac0
xor eax, eax
mov ecx, dword [ebp - 0xe4]
mov word [ebp + ecx*2 - 0x488], ax
jmp 0x10015a98
cmp dword [ebp - 0x1dc], 0
je 0x10015ce2
mov byte [ebp - 0xa0], 6
mov byte [ebp - 0x9f], 0xc7
mov byte [ebp - 0x9e], 4
mov byte [ebp - 0x9d], 0x2e
mov byte [ebp - 0x9c], 7
mov byte [ebp - 0x9b], 0x3e
mov byte [ebp - 0x9a], 1
mov byte [ebp - 0x99], 0x1d
mov byte [ebp - 0x98], 0xb
mov byte [ebp - 0x97], 0x38
mov byte [ebp - 0x96], 9
mov byte [ebp - 0x95], 0x25
mov byte [ebp - 0x94], 2
mov byte [ebp - 0x93], 0x13
mov byte [ebp - 0x92], 0xa
mov byte [ebp - 0x91], 0x18
mov byte [ebp - 0x90], 0
mov byte [ebp - 0x8f], 0x35
mov byte [ebp - 0x8e], 3
mov byte [ebp - 0x8d], 0x28
mov byte [ebp - 0x8c], 8
mov byte [ebp - 0x8b], 5
mov byte [ebp - 0x8a], 5
mov byte [ebp - 0x89], 8
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0xa0]
and eax, 0xa5
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0xa0]
or ecx, 0xa5
sub ecx, eax
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0xa0]
mov byte [ebp + eax - 0x280], cl
mov dword [ebp - 0x18], 2
and dword [ebp - 0x150], 0
jmp 0x10015bcb
mov eax, dword [ebp - 0x18]
inc eax
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x18
jae 0x10015c62
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x150]
movzx eax, byte [ebp + eax - 0xa2]
movsx eax, byte [ebp + eax - 0x280]
mov ecx, dword [ebp - 0x18]
movzx ecx, byte [ebp + ecx - 0x9f]
and ecx, eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x150]
movzx eax, byte [ebp + eax - 0xa2]
movsx eax, byte [ebp + eax - 0x280]
mov edx, dword [ebp - 0x18]
movzx edx, byte [ebp + edx - 0x9f]
and edx, eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x150]
movzx eax, byte [ebp + eax - 0xa2]
movsx eax, byte [ebp + eax - 0x280]
mov esi, dword [ebp - 0x18]
movzx ebx, byte [ebp + esi - 0x9f]
add ebx, eax
sub ebx, edx
sub ebx, ecx
mov eax, dword [ebp - 0x18]
movzx eax, byte [ebp + eax - 0xa0]
mov byte [ebp + eax - 0x280], bl
jmp 0x10015bc3
xor eax, eax
inc eax
imul eax, eax, 0xc
mov byte [ebp + eax - 0x280], 0
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebp - 0x528]
call fcn.10022e21
mov byte [ebp - 4], 0x12
and dword [ebp - 0x104], 0
jmp 0x10015c9c
mov eax, dword [ebp - 0x104]
inc eax
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x104], 0xd
jae 0x10015cb5
mov eax, dword [ebp - 0x104]
mov byte [ebp + eax - 0x280], 0
jmp 0x10015c8f
push 0
push 0
lea eax, [ebp - 0x528]
push eax
push dword [ebp - 0x1dc]
call fcn.1001f0fa
add esp, 0x10
mov dword [0x100e09cc], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x528]
call fcn.10022e50
mov dword [ebp - 0x2f4], 0xdf75dcec
push 1
push 0x6acd
push 1
call fcn.10012c01
add esp, 0xc
lea eax, [ebp - 0x2f4]
push eax
push 0
push 0x5ebb
call fcn.100213c5
add esp, 0xc
cmp dword [0x100e09cc], 0
je 0x10015d31
mov ecx, dword [ebp - 0x24c]
call fcn.1000bd62
push eax
call dword [0x100e09cc]
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x1e4]
push eax
push 0x4731
push 0x100e09d0
push 1
push 0x6671
push 1
push 0x51a3
push 0x202c
push 0xbc0
push 0x7286
push 0x100e0a38
lea eax, [ebp - 0x6c]
push eax
push 1
call fcn.100131d8
add esp, 0x34
mov dword [ebp - 0x28], 0x540d7f82
mov dword [ebp - 0x60], 0xdb7758b3
mov dword [ebp - 0x4d0], 0xe8ea4716
mov dword [ebp - 0x4d8], 0xffffffff
mov dword [ebp - 0x4ec], 9
mov dword [ebp - 0x4cc], 0xffffffff
mov dword [ebp - 0x4e4], 0xfffffffb
mov dword [ebp - 0x2fc], 1
mov dword [ebp - 0xec], 0
jmp 0x10015dd5
mov eax, dword [ebp - 0xec]
inc eax
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 4
jge 0x10015df1
mov eax, dword [ebp - 0xec]
mov dword [ebp + eax*4 - 0x598], 4
jmp 0x10015dc8
mov dword [ebp - 0x28], 0
jmp 0x10015e01
mov eax, dword [ebp - 0x28]
dec eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xfffffffc
je 0x10016282
push 2
lea ecx, [ebp - 0x270]
call fcn.10001a5a
mov byte [ebp - 4], 0x13
mov dword [ebp - 0x1c], 0
jmp 0x10015e2c
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 2
jge 0x10015e42
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x410], 0xfffffff9
jmp 0x10015e25
push 0x2611
lea eax, [ebp - 0x270]
push eax
push 0x2804
push 1
push 1
push 0x697b
lea eax, [ebp - 0x1c]
push eax
push 0xd40
call fcn.100105d6
add esp, 0x20
mov dword [ebp - 0x1c], 0
jmp 0x10015e7d
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 3
jge 0x10015e93
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x4a8], 0x141a9c21
jmp 0x10015e76
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x4d4], eax
xor eax, eax
jne 0x10015ebb
push 0
lea ecx, [ebp - 0x270]
call fcn.10001ad8
cmp dword [eax], 0
jne 0x10015ebb
and dword [ebp - 0x130], 0
jmp 0x10015ec5
mov dword [ebp - 0x130], 1
push 0
lea ecx, [ebp - 0x270]
call fcn.10001ad8
mov ecx, dword [ebp - 0x130]
mov dword [eax], ecx
push 4
pop eax
imul eax, eax, 0
mov eax, dword [ebp + eax - 0x4a8]
cmp dword [ebp - 0x130], eax
jg 0x10015efb
mov dword [ebp - 0x22c], 1
jmp 0x10015f02
and dword [ebp - 0x22c], 0
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x22c]
jle 0x10015f19
mov dword [ebp - 0x164], 1
jmp 0x10015f20
and dword [ebp - 0x164], 0
push 4
pop eax
shl eax, 0
mov dword [ebp + eax - 0x410], 0
cmp dword [ebp - 0x164], 0
jle 0x10016252
mov dword [ebp - 0x24], 0
jmp 0x10015f4e
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 3
jge 0x10015f64
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x460], 0xffff
jmp 0x10015f47
mov dword [ebp - 0x24], 0
jmp 0x10015f74
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 4
jge 0x10015f8a
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x508], 0
jmp 0x10015f6d
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x460]
mov dword [ebp - 0x4f4], eax
push 4
pop eax
shl eax, 0
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp + eax - 0x460]
jg 0x10015fbb
mov dword [ebp - 0x168], 1
jmp 0x10015fc2
and dword [ebp - 0x168], 0
mov dword [ebp - 0x60], 1
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x410]
add eax, dword [ebp - 0x168]
imul eax, eax, 6
cmp dword [ebp - 0x60], eax
jge 0x10015ff0
mov dword [ebp - 0x170], 1
jmp 0x10015ff7
and dword [ebp - 0x170], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x508]
cmp dword [ebp - 0x170], eax
jg 0x10016027
mov eax, 0xf13b
test eax, eax
jne 0x10016027
cmp dword [ebp - 0x60], 0
jne 0x10016027
mov dword [ebp - 0x178], 1
jmp 0x1001602e
and dword [ebp - 0x178], 0
push 4
pop eax
shl eax, 0
mov esi, dword [ebp + eax - 0x4a8]
push 1
lea ecx, [ebp - 0x270]
call fcn.10001ad8
mov ecx, dword [ebp - 0x178]
imul ecx, dword [eax]
cmp ecx, esi
jle 0x10016061
mov dword [ebp - 0x180], 1
jmp 0x10016068
and dword [ebp - 0x180], 0
imul esi, dword [ebp - 0x180], 0x67e7
push 0
lea ecx, [ebp - 0x270]
call fcn.10001ad8
cmp esi, dword [eax]
jge 0x1001608f
mov dword [ebp - 0x188], 1
jmp 0x10016096
and dword [ebp - 0x188], 0
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x188], eax
jl 0x100160ad
mov dword [ebp - 0x190], 1
jmp 0x100160b4
and dword [ebp - 0x190], 0
push 4
pop eax
shl eax, 0
mov eax, dword [ebp + eax - 0x460]
cmp dword [ebp - 0x190], eax
je 0x100160d5
mov dword [ebp - 0x198], 1
jmp 0x100160dc
and dword [ebp - 0x198], 0
push 1
lea ecx, [ebp - 0x270]
call fcn.10001ad8
mov ecx, dword [ebp - 0x198]
mov dword [eax], ecx
mov dword [ebp - 0x1a0], 0x6e30
mov dword [ebp - 0x290], str.qbqw_flzsacf_ftiffd_hrlmdvgv_zozpxut_gnwdvmrrf_kxvlnyw_zdohflf_qzbnfiync_udq
cmp dword [ebp - 0x1a0], 0x6fe3
jle 0x100161f0
and dword [ebp - 0x114], 0
jmp 0x1001612b
mov eax, dword [ebp - 0x114]
inc eax
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0x5567
jge 0x100161f0
and dword [ebp - 0xf4], 0
jmp 0x10016151
mov eax, dword [ebp - 0xf4]
inc eax
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 0x6641
jge 0x100161eb
and dword [ebp - 0x10c], 0
jmp 0x10016177
mov eax, dword [ebp - 0x10c]
inc eax
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0x1820
jge 0x100161e6
and dword [ebp - 0xfc], 0
jmp 0x10016199
mov eax, dword [ebp - 0xfc]
inc eax
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0x5b70
jge 0x100161e4
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0xf4]
shl eax, cl
xor eax, dword [ebp - 0x10c]
or eax, dword [ebp - 0xfc]
cdq
mov dword [ebp - 0x374], eax
mov dword [ebp - 0x370], edx
push dword [ebp - 0x370]
push dword [ebp - 0x374]
mov ecx, 0x1007d858
call fcn.1000bb8e
jmp 0x1001618c
jmp 0x1001616a
jmp 0x10016144
jmp 0x1001611e
mov byte [ebp - 0x35], 0
mov byte [ebp - 4], 0x14
cmp dword [ebp - 0x1a0], 0x6a64
jge 0x10016214
mov edx, dword [ebp - 0x290]
mov ecx, 0x1007d858
call fcn.1000dfd7
jmp 0x10016230
mov dword [ebp - 4], 0x13
jmp 0x10016240
push 1
push 1
lea eax, [ebp - 0x35]
push eax
call fcn.10010a26
add esp, 0xc
jmp 0x1001626e
mov dword [ebp - 0x1a8], 1
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x60], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x270]
call fcn.10001abc
jmp 0x10015dfa
push 1
push 0x1245
push 0x65c5
push 0x7ba9
push 0x4a9d
push 0x78d0
lea eax, [ebp - 0x2fc]
push eax
push 0x682b
push 0
push 0x79a0
call fcn.10012daa
add esp, 0x28
mov eax, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x428]
call fcn.1000bd03
jmp 0x100169cd
mov eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x3cc], eax
mov eax, dword [ebp - 0x3b0]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x3ac], eax
mov eax, dword [ebp - 0x39c]
mov dword [ebp - 0x334], eax
mov eax, dword [ebp - 0x314]
mov dword [ebp - 0x3e8], eax
mov dword [ebp - 0x1b8], 0x3a2b
mov dword [ebp - 0x31c], str.hkhpbk_eig_wlpalofdw_nrajc_iotpf_fgvhvs_arftqeyve_ifmlhlbq
cmp dword [ebp - 0x1b8], 0x3d84
jle 0x10016402
and dword [ebp - 0xa8], 0
jmp 0x1001636d
mov eax, dword [ebp - 0xa8]
inc eax
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0xf9
jge 0x10016402
and dword [ebp - 0xac], 0
jmp 0x10016393
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0x11e8
jge 0x100163fd
and dword [ebp - 0xb4], 0
jmp 0x100163b5
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0x2153
jge 0x100163fb
mov eax, dword [ebp - 0xa8]
cdq
idiv dword [ebp - 0xac]
and edx, dword [ebp - 0xb4]
mov eax, edx
cdq
mov dword [ebp - 0x380], eax
mov dword [ebp - 0x37c], edx
push dword [ebp - 0x37c]
push dword [ebp - 0x380]
mov ecx, 0x1007d858
call fcn.1000bb8e
jmp 0x100163a8
jmp 0x10016386
jmp 0x10016360
mov eax, dword [ebp - 0x3e4]
mov dword [ebp - 0x33c], eax
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x1b8], 0x3904
jge 0x10016431
mov edx, dword [ebp - 0x31c]
mov ecx, 0x1007d858
call fcn.1000dfd7
jmp 0x1001644d
or dword [ebp - 4], 0xffffffff
jmp 0x10016457
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x3b4], eax
mov eax, dword [ebp - 0x324]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x3cc]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x32c]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x3ac]
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x334]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x33c]
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x3b4]
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp - 0x5c]
push dword [eax]
mov ecx, dword [ebp - 0x3c]
call fcn.10001ad8
cmp dword [eax], 0
jne 0x1001661b
mov eax, dword [ebp - 0x5c]
push dword [eax]
mov ecx, dword [ebp - 0x3c]
call fcn.10001ad8
mov esi, eax
push 1
mov ecx, dword [ebp - 0x3c]
call fcn.10001ad8
mov eax, dword [eax]
cmp eax, dword [esi]
jg 0x100164fe
mov dword [ebp - 0x1c0], 1
jmp 0x10016505
and dword [ebp - 0x1c0], 0
mov eax, dword [ebp - 0x1c0]
sub eax, 0x39ef5b50
mov ecx, dword [ebp - 0x1c8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x1c8]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov eax, dword [ebp - 0x134]
cmp dword [eax], 0
jne 0x1001653d
push 0
mov ecx, dword [ebp - 0x3c]
call fcn.10001ad8
mov eax, dword [ebp - 0x210]
mov ecx, 0xe848
sub ecx, 0xb783
cmp ecx, dword [eax]
jge 0x1001655e
mov dword [ebp - 0x1d0], 1
jmp 0x10016565
and dword [ebp - 0x1d0], 0
mov eax, dword [ebp - 0x5c]
push dword [eax]
mov ecx, dword [ebp - 0x3c]
call fcn.10001ad8
mov ecx, dword [ebp - 0x1d0]
cmp ecx, dword [eax]
jg 0x10016588
mov dword [ebp - 0x1d8], 1
jmp 0x1001658f
and dword [ebp - 0x1d8], 0
mov eax, dword [ebp - 0x348]
mov ecx, dword [ebp - 0x1d8]
sub ecx, dword [eax]
jne 0x100165a8
mov eax, dword [ebp - 0x1f8]
cmp dword [eax], 0
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov eax, dword [ebp - 0x1e0]
cmp dword [eax], 0
jne 0x100165d5
mov eax, 0x6b9ec499
test eax, eax
jne 0x100165d5
and dword [ebp - 0x1e8], 0
jmp 0x100165df
mov dword [ebp - 0x1e8], 1
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
cmp dword [ebp - 0x1e8], eax
jge 0x100165f8
mov dword [ebp - 0x1f0], 1
jmp 0x100165ff
and dword [ebp - 0x1f0], 0
cmp dword [ebp - 0x1f0], 0xfffffff6
jg 0x10016614
mov dword [ebp - 0x3d4], 1
jmp 0x1001661b
and dword [ebp - 0x3d4], 0
mov eax, dword [ebp - 0x1f8]
cmp dword [eax], 0
je 0x10016637
or eax, 0xffffffff
je 0x10016637
mov dword [ebp - 0x200], 1
jmp 0x1001663e
and dword [ebp - 0x200], 0
cmp dword [ebp - 0x200], 0xffffffff
jg 0x10016653
mov dword [ebp - 0x208], 1
jmp 0x1001665a
and dword [ebp - 0x208], 0
mov eax, dword [ebp - 0x5c]
push dword [eax]
mov ecx, dword [ebp - 0x3c]
call fcn.10001ad8
mov ecx, dword [ebp - 0x208]
cmp ecx, dword [eax]
jg 0x10016684
push 0xfffffffffffffffe
pop eax
test eax, eax
je 0x10016684
mov dword [ebp - 0x218], 1
jmp 0x1001668b
and dword [ebp - 0x218], 0
mov eax, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x218]
mov dword [eax], ecx
mov dword [ebp - 4], 0x18
cmp dword [ebp - 0x160], 0xffffffce
jge 0x100166b9
mov edx, dword [ebp - 0x354]
mov ecx, 0x1007d858
call fcn.1000dfd7
jmp 0x100166d5
or dword [ebp - 4], 0xffffffff
jmp 0x100166df
jmp 0x100169cd
mov eax, dword [ebp + 0x3c]
mov dword [ebp - 0x2bc], eax
lea eax, [ebp + 0x24]
mov dword [ebp - 0x3bc], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x360], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x294], eax
mov eax, dword [ebp + 0x38]
mov dword [ebp - 0x300], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x3f0], eax
mov eax, dword [ebp - 0x3bc]
movzx eax, byte [eax]
test eax, eax
je 0x100167b4
mov eax, dword [ebp - 0x360]
mov dword [ebp - 0x2c8], eax
mov eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x2f0], eax
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2e0]
push dword [eax]
mov ecx, dword [ebp - 0x2e8]
call fcn.10001ad8
cmp dword [eax], 0xfff9
jne 0x1001679a
mov dword [ebp - 0x228], 1
jmp 0x100167a1
and dword [ebp - 0x228], 0
mov eax, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x228]
mov dword [eax], ecx
jmp 0x100169cd
mov dword [ebp - 0x230], 0x5053
mov dword [ebp - 0x308], str.jmpzrxche_bqqs_agl_lcadsizr_qqffejj_qckdzwden_xwkw_civvu
cmp dword [ebp - 0x230], 0x538a
jle 0x100168c2
and dword [ebp - 0xcc], 0
jmp 0x100167ee
mov eax, dword [ebp - 0xcc]
inc eax
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0x3902
jge 0x100168ae
and dword [ebp - 0xbc], 0
jmp 0x10016814
mov eax, dword [ebp - 0xbc]
inc eax
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0x31b8
jge 0x100168a9
and dword [ebp - 0xc4], 0
jmp 0x1001683a
mov eax, dword [ebp - 0xc4]
inc eax
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0x7568
jge 0x100168a4
mov eax, dword [ebp - 0xbc]
imul eax, dword [ebp - 0xc4]
add eax, dword [ebp - 0xcc]
cdq
mov dword [ebp - 0x38c], eax
mov dword [ebp - 0x388], edx
push dword [ebp - 0x388]
push dword [ebp - 0x38c]
lea ecx, [ebp - 0x558]
call fcn.1000260d
pop ecx
pop ecx
mov dword [ebp - 0x2f8], eax
mov ecx, dword [ebp - 0x2f8]
call fcn.1000bb0c
push eax
call fcn.1004ae5e
pop ecx
lea ecx, [ebp - 0x558]
call fcn.1000bb02
jmp 0x1001682d
jmp 0x10016807
jmp 0x100167e1
push 0
push 0x1058
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x29c], eax
mov dword [ebp - 4], 0x1a
cmp dword [ebp - 0x230], 0x4d8a
jge 0x100168ed
push dword [ebp - 0x308]
call fcn.1004ae5e
pop ecx
jmp 0x10016909
or dword [ebp - 4], 0xffffffff
jmp 0x10016913
mov eax, dword [ebp - 0x294]
mov dword [ebp - 0x2a4], eax
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0x2a4]
mov dword [ebp - 0x2ac], eax
push 1
mov ecx, dword [ebp - 0xd4]
call fcn.10001ad8
and dword [eax], 0
jmp 0x1001696d
push 1
mov ecx, dword [ebp - 0xd4]
call fcn.10001ad8
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x238]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x238]
mov dword [ecx], eax
push 1
mov ecx, dword [ebp - 0xd4]
call fcn.10001ad8
cmp dword [eax], 0x10
jne 0x100169cd
mov dword [ebp - 0x2b4], 0xffffffff
push 1
mov ecx, dword [ebp - 0xd4]
call fcn.10001ad8
cmp dword [eax], 1
je 0x100169a7
mov dword [ebp - 0x13c], 1
jmp 0x100169ae
and dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ebp - 0x13c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x2b4], eax
jmp 0x10016949
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret