Function at 0x4e9c05
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xaa1af7
mov eax, dword fs:[0]
push eax
sub esp, 0x210
mov eax, dword [0xae9064]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x204], ecx
mov byte [ebp - 0x71], 0
push 3
call fcn.00a10ab0
pop ecx
push 0x18
lea ecx, [ebp - 0x40]
call fcn.0047b1b0
lea ecx, [ebp - 0x40]
call fcn.004e878b
and dword [ebp - 4], 0
and dword [ebp - 0x48], 0
and dword [ebp - 0x44], 0
xorps xmm0, xmm0
movsd qword [ebp - 0xd0], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xc8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xc8], xmm0
jmp 0x4e9b17
movsd xmm0, qword [ebp - 0xc8]
addsd xmm0, qword [0xaa6130]
movsd qword [ebp - 0xc8], xmm0
movsd xmm0, qword [0xaa9338]
comisd xmm0, xmmword [ebp - 0xc8]
jbe 0x4e9bc8
movsd xmm0, qword [0xaa9330]
mulsd xmm0, qword [ebp - 0xc8]
mulsd xmm0, qword [ebp - 0xc8]
movsd xmm1, qword [ebp - 0xc8]
mulsd xmm1, qword [ebp - 0xc8]
subsd xmm0, xmm1
movsd xmm1, qword [0xaa9318]
mulsd xmm1, qword [ebp - 0xc8]
mulsd xmm1, qword [ebp - 0xc8]
addsd xmm1, qword [0xaa9320]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0xd0]
movsd qword [ebp - 0xd0], xmm0
movsd xmm0, qword [ebp - 0xd0]
comisd xmm0, xmmword [0xaa9328]
jbe 0x4e9bc3
movsd xmm0, qword [0xaa9310]
mulsd xmm0, qword [ebp - 0xc8]
movsd xmm1, qword [ebp - 0xd0]
subsd xmm1, xmm0
movsd qword [ebp - 0xd0], xmm1
jmp 0x4e9aff
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0xd0]
jbe 0x4e9c27
sbb dword [eax], edi
and edi, dword [eax]
and esi, dword [0x2e202e22]
pop ss
cmp byte [edx], ah
cmp ah, byte [eax]
aaa
adc al, 0x37
sbb al, 0x2f
and dword [edi], ebp
sbb eax, 0x232f2238
adc al, 0x38
push ss
xor al, 0x15
xor eax, 0x341f2e14
sbb al, 0x36
and esi, dword [ecx + ebx]
xor al, 0x19
xor byte [edx], ah
cmp dword [esi + 0x54], esi
xor eax, 0x51764d33
push eax
insd dword es:[edi], dx
bound esp, qword [esi + 0x3c]
dec edi
and bh, byte cs:[0x404f7822]
xor byte [ebx + 0x3f], cl
cmp esi, dword [esi + 0x40]
popal
inc esi
jb 0x4e9c0c
push ebx
adc dword [eax], eax
add bh, al
inc ebp
mov eax, 0x4e9bd5
mov dword [ebp - 0x48], 0x4e9bd5
mov dword [ebp - 0x44], 0x4e9c05
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xfc], eax
mov byte [ebp - 0xad], 0x21
and dword [ebp - 0x68], 0
jmp 0x4e9c5b
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0x100
jae 0x4e9c73
mov eax, dword [ebp - 0x68]
mov cl, byte [ebp - 0x68]
mov byte [ebp + eax - 0x200], cl
jmp 0x4e9c54
and dword [ebp - 0xc0], 0
mov byte [ebp - 0x50], 0
mov dword [ebp - 0x68], 0xff
jmp 0x4e9c8e
mov eax, dword [ebp - 0x68]
dec eax
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0
jbe 0x4e9ec3
and dword [ebp - 0xdc], 0
mov dword [ebp - 0xd4], 1
mov eax, dword [ebp - 0xd4]
cmp eax, dword [ebp - 0x68]
jae 0x4e9cc6
mov eax, dword [ebp - 0xd4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xd4], eax
jmp 0x4e9ca9
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
je 0x4e9d07
sub dword [ebp - 0xa8], 1
je 0x4e9d2f
sub dword [ebp - 0xa8], 1
je 0x4e9d57
sub dword [ebp - 0xa8], 1
je 0x4e9d7f
jmp 0x4e9da7
movzx eax, byte [ebp - 0x50]
movzx ebx, byte [ebp + eax - 0x200]
movsd xmm0, qword [ebp - 0xd0]
call fcn.00a0dc11
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x50], bl
jmp 0x4e9dc8
movzx eax, byte [ebp - 0x50]
movzx ebx, byte [ebp + eax - 0x200]
movsd xmm0, qword [ebp - 0xd0]
call fcn.00a0dc11
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x50], bl
jmp 0x4e9dc8
movzx eax, byte [ebp - 0x50]
movzx ebx, byte [ebp + eax - 0x200]
movsd xmm0, qword [ebp - 0xd0]
call fcn.00a0dc11
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x50], bl
jmp 0x4e9dc8
movzx eax, byte [ebp - 0x50]
movzx ebx, byte [ebp + eax - 0x200]
movsd xmm0, qword [ebp - 0xd0]
call fcn.00a0dc11
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x50], bl
jmp 0x4e9dc8
movzx eax, byte [ebp - 0x50]
movzx eax, byte [ebp + eax - 0x200]
mov ecx, dword [ebp - 0xfc]
add ecx, dword [ebp - 0xc0]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x50], al
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
movzx eax, byte [ebp - 0xad]
cmp dword [ebp - 0xc0], eax
jb 0x4e9dfb
and dword [ebp - 0xc0], 0
movzx eax, byte [ebp - 0xad]
movzx ecx, byte [ebp - 0x50]
add ecx, eax
mov byte [ebp - 0x50], cl
movzx eax, byte [ebp - 0x50]
and eax, dword [ebp - 0xd4]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xdc]
inc eax
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0xb
jbe 0x4e9e32
mov eax, dword [ebp - 0xb8]
xor edx, edx
div dword [ebp - 0x68]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
cmp eax, dword [ebp - 0x68]
ja 0x4e9cc6
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0xb8]
je 0x4e9ebe
mov eax, dword [ebp - 0xb8]
movzx eax, byte [ebp + eax - 0x200]
mov ecx, dword [ebp - 0x68]
movzx ecx, byte [ebp + ecx - 0x200]
xor ecx, eax
mov eax, dword [ebp - 0x68]
mov byte [ebp + eax - 0x200], cl
mov eax, dword [ebp - 0x68]
movzx eax, byte [ebp + eax - 0x200]
mov ecx, dword [ebp - 0xb8]
movzx ecx, byte [ebp + ecx - 0x200]
xor ecx, eax
mov eax, dword [ebp - 0xb8]
mov byte [ebp + eax - 0x200], cl
mov eax, dword [ebp - 0xb8]
movzx eax, byte [ebp + eax - 0x200]
mov ecx, dword [ebp - 0x68]
movzx ecx, byte [ebp + ecx - 0x200]
xor ecx, eax
mov eax, dword [ebp - 0x68]
mov byte [ebp + eax - 0x200], cl
jmp 0x4e9c87
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0x200]
mov byte [ebp - 0x49], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0x200]
mov byte [ebp - 0x4a], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0x200]
mov byte [ebp - 0x4e], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0x200]
mov byte [ebp - 0x4b], al
movzx eax, byte [ebp - 0x50]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp - 0x4c], al
mov dword [ebp - 0xe8], 0x30
cmp dword [ebp - 0xe8], 2
jle 0x4ead32
mov eax, dword [ebp - 0xe8]
and eax, 1
jne 0x4ead32
and dword [ebp - 0x58], 0
and dword [ebp - 0x70], 0
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
and dword [ebp - 0xac], 0
mov eax, dword [ebp - 0x58]
shl eax, 1
mov dword [ebp - 0xac], eax
and dword [ebp - 0x7c], 0
mov eax, dword [ebp - 0x94]
add eax, dword [ebp - 0xac]
movzx eax, byte [eax]
add eax, dword [ebp - 0x7c]
mov dword [ebp - 0x7c], eax
and dword [ebp - 0x80], 0
mov eax, dword [ebp - 0x80]
add eax, 0x14
mov dword [ebp - 0x80], eax
and dword [ebp - 0x98], 0
mov eax, dword [ebp - 0x58]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x98], eax
and dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x94]
add eax, dword [ebp - 0x98]
movzx eax, byte [eax]
add eax, dword [ebp - 0x84]
mov dword [ebp - 0x84], eax
and dword [ebp - 0x88], 0
movss xmm0, dword [0xaa9350]
movss dword [ebp - 0x6c], xmm0
movss xmm0, dword [0xaa934c]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [0xaa9348]
movss dword [ebp - 0x78], xmm0
movss xmm0, dword [0xaa9344]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [0xaa9340]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [ebp - 0x64]
subss xmm0, dword [ebp - 0x60]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [ebp - 0x78]
addss xmm0, dword [ebp - 0x60]
movss dword [ebp - 0x78], xmm0
movss xmm0, dword [ebp - 0x5c]
addss xmm0, dword [ebp - 0x60]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [ebp - 0x64]
subss xmm0, dword [ebp - 0x60]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [ebp - 0x6c]
subss xmm0, dword [ebp - 0x60]
movss dword [ebp - 0x6c], xmm0
movss xmm0, dword [ebp - 0x5c]
comiss xmm0, dword [ebp - 0x64]
jbe 0x4ea0b1
movss xmm0, dword [ebp - 0x78]
mulss xmm0, dword [ebp - 0x60]
movss dword [ebp - 0x78], xmm0
movss xmm0, dword [ebp - 0x60]
subss xmm0, dword [ebp - 0x5c]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [ebp - 0x60]
subss xmm0, dword [ebp - 0x5c]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [ebp - 0x60]
addss xmm0, dword [ebp - 0x5c]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [ebp - 0x64]
addss xmm0, dword [ebp - 0x6c]
movss dword [ebp - 0x64], xmm0
mov eax, dword [ebp - 0x88]
add eax, 0x2d
mov dword [ebp - 0x88], eax
jmp 0x4ea1ea
movss xmm0, dword [ebp - 0x60]
addss xmm0, dword [ebp - 0x6c]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [ebp - 0x6c]
addss xmm0, dword [ebp - 0x5c]
movss dword [ebp - 0x6c], xmm0
movss xmm0, dword [ebp - 0x5c]
subss xmm0, dword [ebp - 0x78]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [ebp - 0x6c]
mulss xmm0, dword [ebp - 0x5c]
movss dword [ebp - 0x6c], xmm0
movss xmm0, dword [ebp - 0x6c]
addss xmm0, dword [ebp - 0x5c]
movss dword [ebp - 0x6c], xmm0
movss xmm0, dword [ebp - 0x64]
subss xmm0, dword [ebp - 0x6c]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [ebp - 0x64]
mulss xmm0, dword [ebp - 0x6c]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [ebp - 0x64]
divss xmm0, dword [ebp - 0x6c]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [ebp - 0x5c]
subss xmm0, dword [ebp - 0x64]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [ebp - 0x60]
mulss xmm0, dword [ebp - 0x5c]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [ebp - 0x64]
comiss xmm0, dword [ebp - 0x5c]
jbe 0x4ea19f
movss xmm0, dword [ebp - 0x64]
divss xmm0, dword [ebp - 0x6c]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [ebp - 0x6c]
subss xmm0, dword [ebp - 0x78]
movss dword [ebp - 0x6c], xmm0
movss xmm0, dword [ebp - 0x5c]
subss xmm0, dword [ebp - 0x64]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [ebp - 0x78]
addss xmm0, dword [ebp - 0x60]
movss dword [ebp - 0x78], xmm0
movss xmm0, dword [ebp - 0x6c]
addss xmm0, dword [ebp - 0x78]
movss dword [ebp - 0x6c], xmm0
jmp 0x4ea1ea
movss xmm0, dword [ebp - 0x5c]
addss xmm0, dword [ebp - 0x64]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [ebp - 0x5c]
mulss xmm0, dword [ebp - 0x64]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [ebp - 0x78]
mulss xmm0, dword [ebp - 0x60]
movss dword [ebp - 0x78], xmm0
movss xmm0, dword [ebp - 0x60]
divss xmm0, dword [ebp - 0x5c]
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [ebp - 0x78]
divss xmm0, dword [ebp - 0x60]
movss dword [ebp - 0x78], xmm0
and dword [ebp - 0x8c], 0
mov eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 0x80]
add eax, dword [ebp - 0x8c]
mov dword [ebp - 0x8c], eax
and dword [ebp - 0x90], 0
mov eax, dword [ebp - 0x84]
sub eax, dword [ebp - 0x88]
add eax, dword [ebp - 0x90]
mov dword [ebp - 0x90], eax
and dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0x8c]
shl eax, 4
mov dword [ebp - 0x9c], eax
and dword [ebp - 0xa0], 0
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xa0], eax
and dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0x9c]
or eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0x4f], 0
mov al, byte [ebp - 0xa4]
mov byte [ebp - 0x4f], al
mov byte [ebp - 0x4d], 0
movzx eax, byte [ebp - 0x4c]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp - 0x4d], al
movzx eax, byte [ebp - 0x49]
movzx eax, byte [ebp + eax - 0x200]
movzx ecx, byte [ebp - 0x4a]
add ecx, eax
mov byte [ebp - 0x4a], cl
mov al, byte [ebp - 0x49]
add al, 1
mov byte [ebp - 0x49], al
movzx eax, byte [ebp - 0x4a]
movzx ecx, byte [ebp - 0x4c]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp + ecx - 0x200], al
movzx eax, byte [ebp - 0x4b]
movzx ecx, byte [ebp - 0x4a]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp + ecx - 0x200], al
movzx eax, byte [ebp - 0x49]
movzx ecx, byte [ebp - 0x4b]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp + ecx - 0x200], al
movzx eax, byte [ebp - 0x49]
mov cl, byte [ebp - 0x4d]
mov byte [ebp + eax - 0x200], cl
movzx eax, byte [ebp - 0x4d]
movzx eax, byte [ebp + eax - 0x200]
movzx ecx, byte [ebp - 0x4e]
add ecx, eax
mov byte [ebp - 0x4e], cl
movzx eax, byte [ebp - 0x4f]
movzx ecx, byte [ebp - 0x4a]
movzx ecx, byte [ebp + ecx - 0x200]
movzx edx, byte [ebp - 0x49]
movzx edx, byte [ebp + edx - 0x200]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x200]
xor eax, ecx
movzx ecx, byte [ebp - 0x4b]
movzx ecx, byte [ebp + ecx - 0x200]
movzx edx, byte [ebp - 0x4c]
movzx edx, byte [ebp + edx - 0x200]
add ecx, edx
movzx edx, byte [ebp - 0x4e]
movzx edx, byte [ebp + edx - 0x200]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x200]
movzx ecx, byte [ebp + ecx - 0x200]
xor eax, ecx
mov byte [ebp - 0x4b], al
mov al, byte [ebp - 0x4f]
mov byte [ebp - 0x4c], al
mov al, byte [ebp - 0x4b]
mov byte [ebp - 0x51], al
cmp dword [ebp - 0x58], 0
jle 0x4ea392
mov eax, dword [ebp - 0x58]
mov cl, byte [ebp - 0x51]
mov byte [ebp + eax - 0x29], cl
mov eax, dword [ebp - 0x70]
add eax, 0xa
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0xe0], eax
jmp 0x4ea3b4
mov eax, dword [ebp - 0xe0]
inc eax
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xe0]
cmp eax, dword [ebp - 0x70]
jge 0x4ea590
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
shl eax, 1
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x94]
add eax, dword [ebp - 0xac]
movzx eax, byte [eax]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x80], 0x14
mov eax, dword [ebp - 0x58]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x94]
add eax, dword [ebp - 0x98]
movzx eax, byte [eax]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x88], 0x2d
mov eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x84]
sub eax, dword [ebp - 0x88]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x8c]
shl eax, 4
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x9c]
or eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa4], eax
mov al, byte [ebp - 0xa4]
mov byte [ebp - 0x4f], al
movzx eax, byte [ebp - 0x4c]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp - 0x4d], al
movzx eax, byte [ebp - 0x49]
movzx eax, byte [ebp + eax - 0x200]
movzx ecx, byte [ebp - 0x4a]
add ecx, eax
mov byte [ebp - 0x4a], cl
mov al, byte [ebp - 0x49]
add al, 1
mov byte [ebp - 0x49], al
movzx eax, byte [ebp - 0x4a]
movzx ecx, byte [ebp - 0x4c]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp + ecx - 0x200], al
movzx eax, byte [ebp - 0x4b]
movzx ecx, byte [ebp - 0x4a]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp + ecx - 0x200], al
movzx eax, byte [ebp - 0x49]
movzx ecx, byte [ebp - 0x4b]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp + ecx - 0x200], al
movzx eax, byte [ebp - 0x49]
mov cl, byte [ebp - 0x4d]
mov byte [ebp + eax - 0x200], cl
movzx eax, byte [ebp - 0x4d]
movzx eax, byte [ebp + eax - 0x200]
movzx ecx, byte [ebp - 0x4e]
add ecx, eax
mov byte [ebp - 0x4e], cl
movzx eax, byte [ebp - 0x4f]
movzx ecx, byte [ebp - 0x4a]
movzx ecx, byte [ebp + ecx - 0x200]
movzx edx, byte [ebp - 0x49]
movzx edx, byte [ebp + edx - 0x200]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x200]
xor eax, ecx
movzx ecx, byte [ebp - 0x4b]
movzx ecx, byte [ebp + ecx - 0x200]
movzx edx, byte [ebp - 0x4c]
movzx edx, byte [ebp + edx - 0x200]
add ecx, edx
movzx edx, byte [ebp - 0x4e]
movzx edx, byte [ebp + edx - 0x200]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x200]
movzx ecx, byte [ebp + ecx - 0x200]
xor eax, ecx
mov byte [ebp - 0x4b], al
mov al, byte [ebp - 0x4f]
mov byte [ebp - 0x4c], al
mov al, byte [ebp - 0x4b]
mov byte [ebp - 0x51], al
cmp dword [ebp - 0x58], 0
jle 0x4ea58b
mov eax, dword [ebp - 0x58]
mov cl, byte [ebp - 0x51]
mov byte [ebp + eax - 0x29], cl
jmp 0x4ea3a7
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
add eax, 0xa
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0xe4], eax
jmp 0x4ea5b9
mov eax, dword [ebp - 0xe4]
inc eax
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xe4]
cmp eax, dword [ebp - 0x70]
jge 0x4ea795
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
shl eax, 1
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x94]
add eax, dword [ebp - 0xac]
movzx eax, byte [eax]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x80], 0x14
mov eax, dword [ebp - 0x58]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x94]
add eax, dword [ebp - 0x98]
movzx eax, byte [eax]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x88], 0x2d
mov eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x84]
sub eax, dword [ebp - 0x88]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x8c]
shl eax, 4
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x9c]
or eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa4], eax
mov al, byte [ebp - 0xa4]
mov byte [ebp - 0x4f], al
movzx eax, byte [ebp - 0x4c]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp - 0x4d], al
movzx eax, byte [ebp - 0x49]
movzx eax, byte [ebp + eax - 0x200]
movzx ecx, byte [ebp - 0x4a]
add ecx, eax
mov byte [ebp - 0x4a], cl
mov al, byte [ebp - 0x49]
add al, 1
mov byte [ebp - 0x49], al
movzx eax, byte [ebp - 0x4a]
movzx ecx, byte [ebp - 0x4c]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp + ecx - 0x200], al
movzx eax, byte [ebp - 0x4b]
movzx ecx, byte [ebp - 0x4a]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp + ecx - 0x200], al
movzx eax, byte [ebp - 0x49]
movzx ecx, byte [ebp - 0x4b]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp + ecx - 0x200], al
movzx eax, byte [ebp - 0x49]
mov cl, byte [ebp - 0x4d]
mov byte [ebp + eax - 0x200], cl
movzx eax, byte [ebp - 0x4d]
movzx eax, byte [ebp + eax - 0x200]
movzx ecx, byte [ebp - 0x4e]
add ecx, eax
mov byte [ebp - 0x4e], cl
movzx eax, byte [ebp - 0x4f]
movzx ecx, byte [ebp - 0x4a]
movzx ecx, byte [ebp + ecx - 0x200]
movzx edx, byte [ebp - 0x49]
movzx edx, byte [ebp + edx - 0x200]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x200]
xor eax, ecx
movzx ecx, byte [ebp - 0x4b]
movzx ecx, byte [ebp + ecx - 0x200]
movzx edx, byte [ebp - 0x4c]
movzx edx, byte [ebp + edx - 0x200]
add ecx, edx
movzx edx, byte [ebp - 0x4e]
movzx edx, byte [ebp + edx - 0x200]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x200]
movzx ecx, byte [ebp + ecx - 0x200]
xor eax, ecx
mov byte [ebp - 0x4b], al
mov al, byte [ebp - 0x4f]
mov byte [ebp - 0x4c], al
mov al, byte [ebp - 0x4b]
mov byte [ebp - 0x51], al
cmp dword [ebp - 0x58], 0
jle 0x4ea790
mov eax, dword [ebp - 0x58]
mov cl, byte [ebp - 0x51]
mov byte [ebp + eax - 0x29], cl
jmp 0x4ea5ac
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x58]
shl eax, 1
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x94]
add eax, dword [ebp - 0xac]
movzx eax, byte [eax]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x80], 0x14
mov eax, dword [ebp - 0x58]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x94]
add eax, dword [ebp - 0x98]
movzx eax, byte [eax]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x88], 0x2d
mov eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x84]
sub eax, dword [ebp - 0x88]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x8c]
shl eax, 4
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x9c]
or eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa4], eax
mov al, byte [ebp - 0xa4]
mov byte [ebp - 0x4f], al
movzx eax, byte [ebp - 0x4c]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp - 0x4d], al
movzx eax, byte [ebp - 0x49]
movzx eax, byte [ebp + eax - 0x200]
movzx ecx, byte [ebp - 0x4a]
add ecx, eax
mov byte [ebp - 0x4a], cl
mov al, byte [ebp - 0x49]
add al, 1
mov byte [ebp - 0x49], al
movzx eax, byte [ebp - 0x4a]
movzx ecx, byte [ebp - 0x4c]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp + ecx - 0x200], al
movzx eax, byte [ebp - 0x4b]
movzx ecx, byte [ebp - 0x4a]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp + ecx - 0x200], al
movzx eax, byte [ebp - 0x49]
movzx ecx, byte [ebp - 0x4b]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp + ecx - 0x200], al
movzx eax, byte [ebp - 0x49]
mov cl, byte [ebp - 0x4d]
mov byte [ebp + eax - 0x200], cl
movzx eax, byte [ebp - 0x4d]
movzx eax, byte [ebp + eax - 0x200]
movzx ecx, byte [ebp - 0x4e]
add ecx, eax
mov byte [ebp - 0x4e], cl
movzx eax, byte [ebp - 0x4f]
movzx ecx, byte [ebp - 0x4a]
movzx ecx, byte [ebp + ecx - 0x200]
movzx edx, byte [ebp - 0x49]
movzx edx, byte [ebp + edx - 0x200]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x200]
xor eax, ecx
movzx ecx, byte [ebp - 0x4b]
movzx ecx, byte [ebp + ecx - 0x200]
movzx edx, byte [ebp - 0x4c]
movzx edx, byte [ebp + edx - 0x200]
add ecx, edx
movzx edx, byte [ebp - 0x4e]
movzx edx, byte [ebp + edx - 0x200]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x200]
movzx ecx, byte [ebp + ecx - 0x200]
xor eax, ecx
mov byte [ebp - 0x4b], al
mov al, byte [ebp - 0x4f]
mov byte [ebp - 0x4c], al
mov al, byte [ebp - 0x4b]
mov byte [ebp - 0x51], al
cmp dword [ebp - 0x58], 0
jle 0x4ea96b
mov eax, dword [ebp - 0x58]
mov cl, byte [ebp - 0x51]
mov byte [ebp + eax - 0x29], cl
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x58]
shl eax, 1
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x94]
add eax, dword [ebp - 0xac]
movzx eax, byte [eax]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x80], 0x14
mov eax, dword [ebp - 0x58]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x94]
add eax, dword [ebp - 0x98]
movzx eax, byte [eax]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x88], 0x2d
mov eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x84]
sub eax, dword [ebp - 0x88]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x8c]
shl eax, 4
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x9c]
or eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa4], eax
mov al, byte [ebp - 0xa4]
mov byte [ebp - 0x4f], al
movzx eax, byte [ebp - 0x4c]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp - 0x4d], al
movzx eax, byte [ebp - 0x49]
movzx eax, byte [ebp + eax - 0x200]
movzx ecx, byte [ebp - 0x4a]
add ecx, eax
mov byte [ebp - 0x4a], cl
mov al, byte [ebp - 0x49]
add al, 1
mov byte [ebp - 0x49], al
movzx eax, byte [ebp - 0x4a]
movzx ecx, byte [ebp - 0x4c]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp + ecx - 0x200], al
movzx eax, byte [ebp - 0x4b]
movzx ecx, byte [ebp - 0x4a]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp + ecx - 0x200], al
movzx eax, byte [ebp - 0x49]
movzx ecx, byte [ebp - 0x4b]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp + ecx - 0x200], al
movzx eax, byte [ebp - 0x49]
mov cl, byte [ebp - 0x4d]
mov byte [ebp + eax - 0x200], cl
movzx eax, byte [ebp - 0x4d]
movzx eax, byte [ebp + eax - 0x200]
movzx ecx, byte [ebp - 0x4e]
add ecx, eax
mov byte [ebp - 0x4e], cl
movzx eax, byte [ebp - 0x4f]
movzx ecx, byte [ebp - 0x4a]
movzx ecx, byte [ebp + ecx - 0x200]
movzx edx, byte [ebp - 0x49]
movzx edx, byte [ebp + edx - 0x200]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x200]
xor eax, ecx
movzx ecx, byte [ebp - 0x4b]
movzx ecx, byte [ebp + ecx - 0x200]
movzx edx, byte [ebp - 0x4c]
movzx edx, byte [ebp + edx - 0x200]
add ecx, edx
movzx edx, byte [ebp - 0x4e]
movzx edx, byte [ebp + edx - 0x200]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x200]
movzx ecx, byte [ebp + ecx - 0x200]
xor eax, ecx
mov byte [ebp - 0x4b], al
mov al, byte [ebp - 0x4f]
mov byte [ebp - 0x4c], al
mov al, byte [ebp - 0x4b]
mov byte [ebp - 0x51], al
cmp dword [ebp - 0x58], 0
jle 0x4eab3a
mov eax, dword [ebp - 0x58]
mov cl, byte [ebp - 0x51]
mov byte [ebp + eax - 0x29], cl
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x58]
shl eax, 1
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x94]
add eax, dword [ebp - 0xac]
movzx eax, byte [eax]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x80], 0x14
mov eax, dword [ebp - 0x58]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x94]
add eax, dword [ebp - 0x98]
movzx eax, byte [eax]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x88], 0x2d
mov eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x84]
sub eax, dword [ebp - 0x88]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x8c]
shl eax, 4
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x9c]
or eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa4], eax
mov al, byte [ebp - 0xa4]
mov byte [ebp - 0x4f], al
movzx eax, byte [ebp - 0x4c]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp - 0x4d], al
movzx eax, byte [ebp - 0x49]
movzx eax, byte [ebp + eax - 0x200]
movzx ecx, byte [ebp - 0x4a]
add ecx, eax
mov byte [ebp - 0x4a], cl
mov al, byte [ebp - 0x49]
add al, 1
mov byte [ebp - 0x49], al
movzx eax, byte [ebp - 0x4a]
movzx ecx, byte [ebp - 0x4c]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp + ecx - 0x200], al
movzx eax, byte [ebp - 0x4b]
movzx ecx, byte [ebp - 0x4a]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp + ecx - 0x200], al
movzx eax, byte [ebp - 0x49]
movzx ecx, byte [ebp - 0x4b]
mov al, byte [ebp + eax - 0x200]
mov byte [ebp + ecx - 0x200], al
movzx eax, byte [ebp - 0x49]
mov cl, byte [ebp - 0x4d]
mov byte [ebp + eax - 0x200], cl
movzx eax, byte [ebp - 0x4d]
movzx eax, byte [ebp + eax - 0x200]
movzx ecx, byte [ebp - 0x4e]
add ecx, eax
mov byte [ebp - 0x4e], cl
movzx eax, byte [ebp - 0x4f]
movzx ecx, byte [ebp - 0x4a]
movzx ecx, byte [ebp + ecx - 0x200]
movzx edx, byte [ebp - 0x49]
movzx edx, byte [ebp + edx - 0x200]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x200]
xor eax, ecx
movzx ecx, byte [ebp - 0x4b]
movzx ecx, byte [ebp + ecx - 0x200]
movzx edx, byte [ebp - 0x4c]
movzx edx, byte [ebp + edx - 0x200]
add ecx, edx
movzx edx, byte [ebp - 0x4e]
movzx edx, byte [ebp + edx - 0x200]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x200]
movzx ecx, byte [ebp + ecx - 0x200]
xor eax, ecx
mov byte [ebp - 0x4b], al
mov al, byte [ebp - 0x4f]
mov byte [ebp - 0x4c], al
mov al, byte [ebp - 0x4b]
mov byte [ebp - 0x51], al
cmp dword [ebp - 0x58], 0
jle 0x4ead09
mov eax, dword [ebp - 0x58]
mov cl, byte [ebp - 0x51]
mov byte [ebp + eax - 0x29], cl
xor eax, eax
inc eax
imul eax, eax, 0x17
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0x18
jae 0x4ead20
jmp 0x4ead25
call fcn.00a0d90a
mov eax, dword [ebp - 0xec]
mov byte [ebp + eax - 0x28], 0
jmp 0x4ead7a
and dword [ebp - 0xd8], 0
jmp 0x4ead48
mov eax, dword [ebp - 0xd8]
inc eax
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0x18
jge 0x4ead7a
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0x18
jae 0x4ead68
jmp 0x4ead6d
call fcn.00a0d90a
mov eax, dword [ebp - 0xf0]
mov byte [ebp + eax - 0x28], 0
jmp 0x4ead3b
call fcn.00a109e0
mov dword [ebp - 0xb4], eax
and dword [ebp - 0xf4], 0
cmp dword [ebp - 0xb4], 0
je 0x4eae97
push dword [ebp + 8]
push 0x2712
push dword [ebp - 0xb4]
call fcn.00a14170
add esp, 0xc
push 0x4eaed5
push 0x4e2b
push dword [ebp - 0xb4]
call fcn.00a14170
add esp, 0xc
lea eax, [ebp - 0x40]
push eax
push 0x2711
push dword [ebp - 0xb4]
call fcn.00a14170
add esp, 0xc
lea eax, [ebp - 0x28]
push eax
push 0x2722
push dword [ebp - 0xb4]
call fcn.00a14170
add esp, 0xc
push 0x3c
push 0x4e
push dword [ebp - 0xb4]
call fcn.00a14170
add esp, 0xc
push 2
push 0xd8
push dword [ebp - 0xb4]
call fcn.00a14170
add esp, 0xc
push 0
push 0x40
push dword [ebp - 0xb4]
call fcn.00a14170
add esp, 0xc
push dword [ebp - 0xb4]
call fcn.00a10a40
pop ecx
mov dword [ebp - 0xf4], eax
lea ecx, [ebp - 0x40]
call fcn.00537f00
push eax
lea ecx, [ebp - 0x40]
call fcn.004e9a51
push eax
lea ecx, [ebp - 0x21c]
call fcn.004e872a
mov dword [ebp - 0x100], eax
push dword [ebp - 0x100]
mov ecx, dword [ebp + 0xc]
call fcn.004e87bb
lea ecx, [ebp - 0x21c]
call fcn.0047c050
xor eax, eax
cmp dword [ebp - 0xf4], 0
sete al
mov byte [ebp - 0x71], al
push dword [ebp - 0xb4]
call fcn.00a109c0
pop ecx
call fcn.00a10a60
mov al, byte [ebp - 0x71]
mov byte [ebp - 0xb9], al
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.004e87ae
mov al, byte [ebp - 0xb9]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00a0d1f8
mov esp, ebp
pop ebp
ret 0xc