Function at 0x1004a8d8
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006d6c7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x284
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x1004b89b
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x164], eax
lea eax, [ebp + 0xc]
mov dword [ebp - 0x170], eax
lea eax, [ebp + 0x18]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x170]
movzx eax, byte [eax]
test eax, eax
je 0x1004b875
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x14], 0x896e6a37
push 1
lea ecx, [ebp - 0xac]
call fcn.1001e8dc
and dword [ebp - 4], 0
push 4
lea ecx, [ebp - 0xc4]
call fcn.1001e8dc
mov byte [ebp - 4], 1
mov dword [ebp - 0x110], 0x2a34
mov dword [ebp - 0x18c], 0x10008998
cmp dword [ebp - 0x110], 0x2db1
jle 0x1004aa2c
and dword [ebp - 0x60], 0
jmp 0x1004a9ba
mov eax, dword [ebp - 0x60]
inc eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x62da
jge 0x1004aa2c
and dword [ebp - 0x54], 0
jmp 0x1004a9d0
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x3d30
jge 0x1004aa2a
mov eax, dword [ebp - 0x60]
xor eax, dword [ebp - 0x54]
cdq
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], edx
push dword [ebp - 0x194]
push dword [ebp - 0x198]
lea ecx, [ebp - 0x294]
call fcn.1000a23e
pop ecx
pop ecx
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x190]
call fcn.1001e67c
push eax
call fcn.1005556f
pop ecx
lea ecx, [ebp - 0x294]
call fcn.1001e672
jmp 0x1004a9c9
jmp 0x1004a9b3
mov dword [ebp - 0x120], 0xffffffff
mov byte [ebp - 4], 2
cmp dword [ebp - 0x110], 0x28f0
jge 0x1004aa52
push dword [ebp - 0x18c]
call fcn.1005556f
pop ecx
jmp 0x1004aa6e
mov dword [ebp - 4], 1
jmp 0x1004aa7e
push 0x4a4e
push 0
lea eax, [ebp - 0xac]
push eax
push 1
lea eax, [ebp - 0x160]
push eax
call fcn.1004a66b
add esp, 0x14
lea eax, [ebp - 0x160]
push eax
push 0x6b85
lea eax, [ebp - 0xc4]
push eax
push 0
push 0x79be
call fcn.1004c251
add esp, 0x14
lea eax, [ebp - 0x14]
push eax
push 0x451d
push 0x2d98
push 1
push 0
push 0x5ce7
push 0x202e
push 0x7de3
push 0x4689
push 0x4053
push 1
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x1c]
push eax
push 0x3c10
call fcn.1004d220
add esp, 0x38
mov dword [ebp - 0x148], 0x4716
mov dword [ebp - 0x168], 0x10008a00
cmp dword [ebp - 0x148], 0x48e0
jle 0x1004abc6
and dword [ebp - 0x48], 0
jmp 0x1004ab32
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0x222f
jge 0x1004abc6
and dword [ebp - 0x5c], 0
jmp 0x1004ab4c
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0x5681
jge 0x1004abc1
and dword [ebp - 0x3c], 0
jmp 0x1004ab62
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x6cb
jge 0x1004abbf
mov eax, dword [ebp - 0x48]
and eax, dword [ebp - 0x5c]
xor eax, dword [ebp - 0x3c]
cdq
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1a0], edx
push dword [ebp - 0x1a0]
push dword [ebp - 0x1a4]
lea ecx, [ebp - 0x27c]
call fcn.1000a23e
pop ecx
pop ecx
mov dword [ebp - 0x1c4], eax
mov ecx, dword [ebp - 0x1c4]
call fcn.1001e67c
push eax
call fcn.1005556f
pop ecx
lea ecx, [ebp - 0x27c]
call fcn.1001e672
jmp 0x1004ab5b
jmp 0x1004ab45
jmp 0x1004ab2b
mov byte [ebp - 4], 4
cmp dword [ebp - 0x148], 0x4558
jge 0x1004abe2
push dword [ebp - 0x168]
call fcn.1005556f
pop ecx
jmp 0x1004abfe
mov dword [ebp - 4], 1
jmp 0x1004ac0e
mov dword [ebp - 0x14], 0
jmp 0x1004ac1e
mov eax, dword [ebp - 0x14]
dec eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jl 0x1004b45a
mov dword [ebp - 0x28], 0x1dba1dd7
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x22c], 0x9a85
mov dword [ebp - 0x218], 0x4c941e8e
mov dword [ebp - 0x224], 0xfffffff9
push 2
lea ecx, [ebp - 0x214]
call fcn.1001e8dc
mov byte [ebp - 4], 6
mov dword [ebp - 0x1d4], 2
mov dword [ebp - 0x34], 0
jmp 0x1004ac7f
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 3
jge 0x1004ac95
mov eax, dword [ebp - 0x34]
mov dword [ebp + eax*4 - 0x1d0], 0xffff
jmp 0x1004ac78
lea eax, [ebp - 0x214]
push eax
push 0x4b66
push 0
lea eax, [ebp - 0x34]
push eax
call fcn.1004d9d7
add esp, 0x10
mov dword [ebp - 0x1c], 0
jmp 0x1004acbf
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jl 0x1004b42b
mov dword [ebp - 0x24], 1
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x150], 0x3eb2
mov dword [ebp - 0x19c], 0x10008a78
cmp dword [ebp - 0x150], 0x41cc
jle 0x1004adb5
push 0x23da
push 0x1f58
push 0
push 0
push 0x1b01
push 0x17
call dword [sym.imp.USER32.dll_ToUnicode]
and dword [ebp - 0x50], 0
jmp 0x1004ad2d
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0x24d7
jge 0x1004adb5
and dword [ebp - 0x68], 0
jmp 0x1004ad43
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0x4279
jge 0x1004adb0
and dword [ebp - 0x64], 0
jmp 0x1004ad59
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0x29d
jge 0x1004adae
and dword [ebp - 0x58], 0
jmp 0x1004ad6f
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0x246
jge 0x1004adac
mov eax, dword [ebp - 0x64]
cdq
idiv dword [ebp - 0x58]
add edx, dword [ebp - 0x68]
or edx, dword [ebp - 0x50]
mov eax, edx
cdq
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], edx
push dword [ebp - 0x1ac]
push dword [ebp - 0x1b0]
mov ecx, 0x106142f8
call fcn.1001e69c
jmp 0x1004ad68
jmp 0x1004ad52
jmp 0x1004ad3c
jmp 0x1004ad26
mov byte [ebp - 4], 7
cmp dword [ebp - 0x150], 0x3cbb
jge 0x1004add5
mov edx, dword [ebp - 0x19c]
mov ecx, 0x106142f8
call fcn.10020f77
jmp 0x1004adf1
mov dword [ebp - 4], 6
jmp 0x1004ae01
mov esi, dword [ebp - 0x28]
push dword [ebp - 0x14]
lea ecx, [ebp - 0xac]
call fcn.1001e97a
cmp esi, dword [eax]
jl 0x1004ae22
mov dword [ebp - 0x14c], 1
jmp 0x1004ae29
and dword [ebp - 0x14c], 0
push dword [ebp - 0x14]
lea ecx, [ebp - 0xac]
call fcn.1001e97a
mov esi, dword [eax]
imul esi, dword [ebp - 0x14c]
push dword [ebp - 0x14]
lea ecx, [ebp - 0xac]
call fcn.1001e97a
cmp esi, dword [eax]
jne 0x1004ae5e
mov dword [ebp - 0x140], 1
jmp 0x1004ae65
and dword [ebp - 0x140], 0
cmp dword [ebp - 0x140], 0
jae 0x1004ae7a
mov dword [ebp - 0x154], 1
jmp 0x1004ae81
and dword [ebp - 0x154], 0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x28]
jl 0x1004ae9e
mov dword [ebp - 0xd4], 1
jmp 0x1004aea5
and dword [ebp - 0xd4], 0
cmp dword [ebp - 0xd4], 0x8694a219
ja 0x1004aebd
mov dword [ebp - 0x114], 1
jmp 0x1004aec4
and dword [ebp - 0x114], 0
cmp dword [ebp - 0x114], 0x73d4c46
jg 0x1004aedc
mov dword [ebp - 0xdc], 1
jmp 0x1004aee3
and dword [ebp - 0xdc], 0
push dword [ebp - 0x14]
lea ecx, [ebp - 0xac]
call fcn.1001e97a
mov ecx, dword [ebp - 0xdc]
sub ecx, dword [eax]
cmp ecx, 0x5996
jg 0x1004af0d
mov dword [ebp - 0x134], 1
jmp 0x1004af14
and dword [ebp - 0x134], 0
push 4
pop eax
shl eax, 1
mov eax, dword [ebp + eax - 0x1d0]
cmp dword [ebp - 0x134], eax
jl 0x1004af34
mov dword [ebp - 0xe4], 1
jmp 0x1004af3b
and dword [ebp - 0xe4], 0
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x1004af5c
cmp dword [ebp - 0x14], 0
je 0x1004af5c
mov dword [ebp - 0x11c], 1
jmp 0x1004af63
and dword [ebp - 0x11c], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x11c], eax
jl 0x1004af7a
mov dword [ebp - 0xec], 1
jmp 0x1004af81
and dword [ebp - 0xec], 0
push 0xfffffffffffffffc
pop eax
sub eax, dword [ebp - 0xec]
jne 0x1004af9b
cmp dword [ebp - 0x40], 0
jne 0x1004af9b
and dword [ebp - 0x144], 0
jmp 0x1004afa5
mov dword [ebp - 0x144], 1
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x144], eax
jl 0x1004afbc
mov dword [ebp - 0xf4], 1
jmp 0x1004afc3
and dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0xf4]
add eax, 8
jne 0x1004afeb
push dword [ebp - 0x14]
lea ecx, [ebp - 0xac]
call fcn.1001e97a
cmp dword [eax], 0
jne 0x1004afeb
cmp dword [ebp - 0x24], 0
je 0x1004b099
mov dword [ebp - 0x178], 0x7d62
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x30], 0xffffffff
mov eax, dword [ebp - 0x1c]
inc eax
cmp dword [ebp - 0x30], eax
jle 0x1004b023
mov dword [ebp - 0x124], 1
jmp 0x1004b02a
and dword [ebp - 0x124], 0
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x124], eax
jle 0x1004b041
mov dword [ebp - 0xfc], 1
jmp 0x1004b048
and dword [ebp - 0xfc], 0
push 4
pop eax
shl eax, 1
push 8
pop ecx
sub ecx, dword [ebp - 0xfc]
imul ecx, dword [ebp + eax - 0x1d0]
cmp ecx, dword [ebp - 0x40]
je 0x1004b06f
mov dword [ebp - 0x1bc], 1
jmp 0x1004b076
and dword [ebp - 0x1bc], 0
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x204], eax
mov esi, dword [ebp - 0x28]
push 2
lea ecx, [ebp - 0xc4]
call fcn.1001e97a
mov dword [eax], esi
jmp 0x1004b210
mov dword [ebp - 0xd0], 0x7fbcb15e
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x1d0], 0
je 0x1004b1eb
push 2
lea ecx, [ebp - 0xc4]
call fcn.1001e97a
cmp dword [eax], 0
je 0x1004b0da
cmp dword [ebp - 0x1c], 0
je 0x1004b0da
mov dword [ebp - 0x13c], 1
jmp 0x1004b0e1
and dword [ebp - 0x13c], 0
cmp dword [ebp - 0x13c], 1
ja 0x1004b0f6
mov dword [ebp - 0x104], 1
jmp 0x1004b0fd
and dword [ebp - 0x104], 0
push 2
lea ecx, [ebp - 0xc4]
call fcn.1001e97a
mov ecx, dword [ebp - 0x104]
sub ecx, dword [eax]
cmp ecx, 0x5bddf9c2
jne 0x1004b126
mov dword [ebp - 0x12c], 1
jmp 0x1004b12d
and dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0x12c]
sub eax, 0x2645
cmp eax, dword [ebp - 0x30]
jle 0x1004b149
mov dword [ebp - 0xb0], 1
jmp 0x1004b150
and dword [ebp - 0xb0], 0
push 2
lea ecx, [ebp - 0xc4]
call fcn.1001e97a
mov ecx, dword [ebp - 0xb0]
mov dword [eax], ecx
cmp dword [ebp - 0xb0], 0xeef3aa79
ja 0x1004b17d
mov dword [ebp - 0x10c], 1
jmp 0x1004b184
and dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0xd0]
cmp dword [ebp - 0x10c], eax
jg 0x1004b19e
mov dword [ebp - 0x1a8], 1
jmp 0x1004b1a5
and dword [ebp - 0x1a8], 0
push dword [ebp - 0x14]
lea ecx, [ebp - 0xac]
call fcn.1001e97a
push 3
lea ecx, [ebp - 0xc4]
call fcn.1001e97a
cmp dword [ebp - 0x24], 0
jne 0x1004b1d5
cmp dword [ebp - 0x28], 0
jne 0x1004b1d5
and dword [ebp - 0xcc], 0
jmp 0x1004b1df
mov dword [ebp - 0xcc], 1
mov eax, dword [ebp - 0xcc]
sub eax, dword [ebp - 0xd0]
cmp dword [ebp - 0x24], 0x6b47
jg 0x1004b200
mov dword [ebp - 0xd8], 1
jmp 0x1004b207
and dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x44], eax
push 4
pop eax
shl eax, 1
cmp dword [ebp + eax - 0x1d0], 0
je 0x1004b29c
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x234], eax
push 0
lea ecx, [ebp - 0xac]
call fcn.1001e97a
mov esi, eax
push dword [ebp - 0x14]
lea ecx, [ebp - 0xac]
call fcn.1001e97a
mov eax, dword [eax]
cmp eax, dword [esi]
jge 0x1004b25a
mov dword [ebp - 0xe0], 1
jmp 0x1004b261
and dword [ebp - 0xe0], 0
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0xe0], eax
jge 0x1004b278
mov dword [ebp - 0xe8], 1
jmp 0x1004b27f
and dword [ebp - 0xe8], 0
push 2
lea ecx, [ebp - 0xc4]
call fcn.1001e97a
mov ecx, dword [ebp - 0xe8]
imul ecx, dword [eax]
mov dword [ebp - 0x30], ecx
cmp dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x1c]
jle 0x1004b2b0
mov dword [ebp - 0xf0], 1
jmp 0x1004b2b7
and dword [ebp - 0xf0], 0
push 4
pop eax
shl eax, 1
mov ecx, dword [ebp - 0xf0]
imul ecx, dword [ebp + eax - 0x1d0]
mov dword [ebp - 0xf8], ecx
push dword [ebp - 0x14]
lea ecx, [ebp - 0xac]
call fcn.1001e97a
mov ecx, dword [ebp - 0xf8]
mov dword [eax], ecx
cmp dword [ebp - 0xf8], 0
je 0x1004b301
cmp dword [ebp - 0x14], 0
je 0x1004b301
mov dword [ebp - 0x100], 1
jmp 0x1004b308
and dword [ebp - 0x100], 0
mov eax, dword [ebp - 0x180]
add eax, dword [ebp - 0x100]
cmp eax, 0x2a7
jl 0x1004b327
mov dword [ebp - 0x108], 1
jmp 0x1004b32e
and dword [ebp - 0x108], 0
cmp dword [ebp - 0x108], 0xffffffff
jge 0x1004b343
mov dword [ebp - 0xc8], 1
jmp 0x1004b34a
and dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0xc8]
je 0x1004b373
push 0
lea ecx, [ebp - 0xac]
call fcn.1001e97a
cmp dword [eax], 0
je 0x1004b373
mov dword [ebp - 0x118], 1
jmp 0x1004b37a
and dword [ebp - 0x118], 0
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x118], eax
jg 0x1004b397
cmp dword [ebp - 0x120], 0
jne 0x1004b397
and dword [ebp - 0x128], 0
jmp 0x1004b3a1
mov dword [ebp - 0x128], 1
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x128], eax
je 0x1004b3b8
mov dword [ebp - 0x130], 1
jmp 0x1004b3bf
and dword [ebp - 0x130], 0
cmp dword [ebp - 0x130], 0xffffffff
jbe 0x1004b3d4
mov dword [ebp - 0x138], 1
jmp 0x1004b3db
and dword [ebp - 0x138], 0
push 1
lea ecx, [ebp - 0xc4]
call fcn.1001e97a
mov ecx, dword [ebp - 0x138]
sub ecx, dword [eax]
cmp dword [ebp - 0x24], ecx
jle 0x1004b401
mov dword [ebp - 0xb8], 1
jmp 0x1004b408
and dword [ebp - 0xb8], 0
push 2
lea ecx, [ebp - 0xc4]
call fcn.1001e97a
mov ecx, dword [ebp - 0xb8]
mov dword [eax], ecx
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x44], eax
jmp 0x1004acb8
lea eax, [ebp - 0x1d4]
push eax
push 0x5f8
push 0
push 0x37c6
call fcn.1004cb0c
add esp, 0x10
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x214]
call fcn.1001e95e
jmp 0x1004ac17
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xc4]
call fcn.1001e95e
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xac]
call fcn.1001e95e
mov dword [ebp - 0x20], 0x20f89b54
mov dword [ebp - 0x4c], 0
jmp 0x1004b48f
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 1
jge 0x1004b4a5
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax*4 - 0x188], 0xfffffffd
jmp 0x1004b488
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x208], eax
push 4
pop eax
imul eax, eax, 0
mov dword [ebp + eax - 0x188], 0xfffffffb
mov dword [ebp - 0x20], 0
jmp 0x1004b4f3
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 4
je 0x1004b557
mov dword [ebp - 0x38], 0x9f8d19c9
mov dword [ebp - 0x38], 0xffffffeb
jmp 0x1004b510
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 6
jge 0x1004b536
mov byte [ebp - 0x29], 0
lea eax, [ebp - 0x29]
push eax
push 1
push 0x71d1
push 1
push 0x2b92
call fcn.1004a66b
add esp, 0x14
jmp 0x1004b509
push 0x2da
lea eax, [ebp - 0x38]
push eax
push 1
push 1
push 0x4ddc
push 0x6ce2
call fcn.1004a74a
add esp, 0x18
jmp 0x1004b4ec
mov byte [ebp - 0xa0], 0xa
mov byte [ebp - 0x9f], 0xda
mov byte [ebp - 0x9e], 9
mov byte [ebp - 0x9d], 1
mov byte [ebp - 0x9c], 3
mov byte [ebp - 0x9b], 0xe
mov byte [ebp - 0x9a], 0xd
mov byte [ebp - 0x99], 0xa
mov byte [ebp - 0x98], 7
mov byte [ebp - 0x97], 6
mov byte [ebp - 0x96], 0x11
mov byte [ebp - 0x95], 0x1a
mov byte [ebp - 0x94], 0x19
mov byte [ebp - 0x93], 8
mov byte [ebp - 0x92], 8
mov byte [ebp - 0x91], 0x13
mov byte [ebp - 0x90], 2
mov byte [ebp - 0x8f], 0xa
mov byte [ebp - 0x8e], 0xf
mov byte [ebp - 0x8d], 0x13
mov byte [ebp - 0x8c], 0x12
mov byte [ebp - 0x8b], 3
mov byte [ebp - 0x8a], 0x18
mov byte [ebp - 0x89], 0xa
mov byte [ebp - 0x88], 0x16
mov byte [ebp - 0x87], 0xe
mov byte [ebp - 0x86], 0x14
mov byte [ebp - 0x85], 2
mov byte [ebp - 0x84], 0x10
mov byte [ebp - 0x83], 4
mov byte [ebp - 0x82], 6
mov byte [ebp - 0x81], 0x16
mov byte [ebp - 0x80], 0x13
mov byte [ebp - 0x7f], 0x13
mov byte [ebp - 0x7e], 4
mov byte [ebp - 0x7d], 0x11
mov byte [ebp - 0x7c], 0x15
mov byte [ebp - 0x7b], 0x13
mov byte [ebp - 0x7a], 0x17
mov byte [ebp - 0x79], 0xe
mov byte [ebp - 0x78], 0
mov byte [ebp - 0x77], 0x19
mov byte [ebp - 0x76], 0xb
mov byte [ebp - 0x75], 0xd
mov byte [ebp - 0x74], 5
mov byte [ebp - 0x73], 0xa
mov byte [ebp - 0x72], 0xc
mov byte [ebp - 0x71], 0xb
mov byte [ebp - 0x70], 0xe
mov byte [ebp - 0x6f], 2
mov byte [ebp - 0x6e], 1
mov byte [ebp - 0x6d], 0xd
xor eax, eax
inc eax
shl eax, 0
movzx eax, byte [ebp + eax - 0xa0]
and eax, 0xb1
xor ecx, ecx
inc ecx
shl ecx, 0
movzx ecx, byte [ebp + ecx - 0xa0]
or ecx, 0xb1
sub ecx, eax
xor eax, eax
inc eax
imul eax, eax, 0
movzx eax, byte [ebp + eax - 0xa0]
mov byte [ebp + eax - 0x1f0], cl
mov dword [ebp - 0x18], 2
and dword [ebp - 0xb4], 0
jmp 0x1004b6dd
mov eax, dword [ebp - 0x18]
inc eax
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0x34
jae 0x1004b774
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0xb4]
movzx eax, byte [ebp + eax - 0xa2]
movsx eax, byte [ebp + eax - 0x1f0]
mov ecx, dword [ebp - 0x18]
movzx ecx, byte [ebp + ecx - 0x9f]
and ecx, eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0xb4]
movzx eax, byte [ebp + eax - 0xa2]
movsx eax, byte [ebp + eax - 0x1f0]
mov edx, dword [ebp - 0x18]
movzx edx, byte [ebp + edx - 0x9f]
and edx, eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0xb4]
movzx eax, byte [ebp + eax - 0xa2]
movsx eax, byte [ebp + eax - 0x1f0]
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 - 0x1f0], bl
jmp 0x1004b6d5
xor eax, eax
inc eax
imul eax, eax, 0x1a
mov byte [ebp + eax - 0x1f0], 0
mov dword [ebp - 0x1b4], 0xb26bdde0
push 0x1316
push 0
lea eax, [ebp - 0x1b4]
push eax
call fcn.1004bc00
add esp, 0xc
lea eax, [ebp - 0x1f0]
push eax
lea ecx, [ebp - 0x264]
call fcn.1001e845
mov dword [ebp - 4], 9
and dword [ebp - 0x6c], 0
jmp 0x1004b7c8
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0x1b
jae 0x1004b7db
mov eax, dword [ebp - 0x6c]
mov byte [ebp + eax - 0x1f0], 0
jmp 0x1004b7c1
push 0x10007661
lea ecx, [ebp - 0x24c]
call fcn.1001e845
mov byte [ebp - 4], 0xa
push 0x4be2
push 0x5753
push 0x464e
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x264]
push eax
push 0
lea eax, [ebp - 0x24c]
push eax
push dword [ebp - 0x158]
call fcn.1004c5a4
add esp, 0x20
lea eax, [ebp - 0x24c]
push eax
mov ecx, dword [ebp - 0x15c]
call fcn.100480be
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x24c]
call fcn.1001e868
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x264]
call fcn.1001e868
jmp 0x1004b8c7
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x174]
mov dword [eax], 0xfffffff8
jmp 0x1004b8c7
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x184], eax
push 0
push dword [ebp - 0x17c]
mov edx, 0x6b82
mov ecx, dword [ebp - 0x184]
call fcn.1004a081
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret