Function at 0x8e8110
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9f29d5
mov eax, dword fs:[0]
push eax
sub esp, 0xd2c
mov eax, dword [0xa260c0]
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 - 0xd34], ecx
push 0x800
push 0
lea eax, [ebp - 0x83c]
push eax
call fcn.009ce2b0
add esp, 0xc
mov dword [ebp - 0x874], 0x400
and dword [ebp - 0x998], 0
and dword [ebp - 0x994], 0
xorps xmm0, xmm0
movsd qword [ebp - 0xaa8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xa98], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xa98], xmm0
jmp 0x8e81ad
movsd xmm0, qword [ebp - 0xa98]
addsd xmm0, qword [0x9f5798]
movsd qword [ebp - 0xa98], xmm0
movsd xmm0, qword [0x9f59f8]
comisd xmm0, xmmword [ebp - 0xa98]
jbe 0x8e825e
movsd xmm0, qword [0x9f5900]
mulsd xmm0, qword [ebp - 0xa98]
mulsd xmm0, qword [ebp - 0xa98]
movsd xmm1, qword [ebp - 0xa98]
mulsd xmm1, qword [ebp - 0xa98]
subsd xmm0, xmm1
movsd xmm1, qword [0x9f57a0]
mulsd xmm1, qword [ebp - 0xa98]
mulsd xmm1, qword [ebp - 0xa98]
addsd xmm1, qword [0x9f5830]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0xaa8]
movsd qword [ebp - 0xaa8], xmm0
movsd xmm0, qword [ebp - 0xaa8]
comisd xmm0, xmmword [0x9f58c0]
jbe 0x8e8259
movsd xmm0, qword [0x9f5740]
mulsd xmm0, qword [ebp - 0xa98]
movsd xmm1, qword [ebp - 0xaa8]
subsd xmm1, xmm0
movsd qword [ebp - 0xaa8], xmm1
jmp 0x8e8195
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0xaa8]
jbe 0x8e829a
xor al, byte [edx + 0x3b]
inc esi
cmp bh, byte cs:[ebx]
cmp ebp, dword [0x3841363f]
cmp eax, 0x46393f3a
cmp bh, byte [esi]
das
cmp eax, 0x3c323c3a
dec esi
pop ebx
js 0x8e82f7
sub eax, 0x4f605a3d
and byte [ebp + 0x38], al
outsb dx, byte [esi]
pop edi
pop eax
inc eax
jmp 0x8e9fc7
mov dword [ebp - 0x998], 0x8e826b
mov dword [ebp - 0x994], 0x8e8285
mov eax, dword [ebp - 0x998]
mov dword [ebp - 0x9ec], eax
mov eax, dword [ebp - 0x994]
mov dword [ebp - 0xc04], eax
mov byte [ebp - 0xa22], 0x14
and dword [ebp - 0x9c8], 0
jmp 0x8e82e3
mov eax, dword [ebp - 0x9c8]
inc eax
mov dword [ebp - 0x9c8], eax
cmp dword [ebp - 0x9c8], 0x100
jae 0x8e8304
mov eax, dword [ebp - 0x9c8]
mov cl, byte [ebp - 0x9c8]
mov byte [ebp + eax - 0xbfc], cl
jmp 0x8e82d6
cmp dh, dh
invalid
and dword [ebp - 0xa84], 0
mov byte [ebp - 0x9ae], 0
mov dword [ebp - 0x9c8], 0xff
jmp 0x8e832b
mov eax, dword [ebp - 0x9c8]
dec eax
mov dword [ebp - 0x9c8], eax
cmp dword [ebp - 0x9c8], 0
jbe 0x8e85b0
and dword [ebp - 0xac0], 0
mov dword [ebp - 0xab4], 1
mov eax, dword [ebp - 0xab4]
cmp eax, dword [ebp - 0x9c8]
jae 0x8e8369
mov eax, dword [ebp - 0xab4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xab4], eax
jmp 0x8e8349
mov eax, dword [ebp - 0xa84]
mov dword [ebp - 0xc00], eax
mov eax, dword [ebp - 0xc00]
mov dword [ebp - 0xa18], eax
cmp dword [ebp - 0xa18], 0
je 0x8e83ae
sub dword [ebp - 0xa18], 1
je 0x8e83dc
sub dword [ebp - 0xa18], 1
je 0x8e840d
sub dword [ebp - 0xa18], 1
je 0x8e843b
jmp 0x8e8469
movzx eax, byte [ebp - 0x9ae]
movzx ebx, byte [ebp + eax - 0xbfc]
movsd xmm0, qword [ebp - 0xaa8]
call fcn.0097a0c0
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9ae], bl
jmp 0x8e8490
movzx eax, byte [ebp - 0x9ae]
movzx ebx, byte [ebp + eax - 0xbfc]
movsd xmm0, qword [ebp - 0xaa8]
call fcn.0097a0c0
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9ae], bl
jmp 0x8e8490
movzx eax, byte [ebp - 0x9ae]
movzx ebx, byte [ebp + eax - 0xbfc]
movsd xmm0, qword [ebp - 0xaa8]
call fcn.0097a0c0
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9ae], bl
jmp 0x8e8490
movzx eax, byte [ebp - 0x9ae]
movzx ebx, byte [ebp + eax - 0xbfc]
movsd xmm0, qword [ebp - 0xaa8]
call fcn.0097a0c0
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9ae], bl
jmp 0x8e8490
movzx eax, byte [ebp - 0x9ae]
movzx eax, byte [ebp + eax - 0xbfc]
mov ecx, dword [ebp - 0xc04]
add ecx, dword [ebp - 0xa84]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x9ae], al
mov eax, dword [ebp - 0xa84]
inc eax
mov dword [ebp - 0xa84], eax
movzx eax, byte [ebp - 0xa22]
cmp dword [ebp - 0xa84], eax
jb 0x8e84c9
and dword [ebp - 0xa84], 0
movzx eax, byte [ebp - 0xa22]
movzx ecx, byte [ebp - 0x9ae]
add ecx, eax
mov byte [ebp - 0x9ae], cl
movzx eax, byte [ebp - 0x9ae]
and eax, dword [ebp - 0xab4]
mov dword [ebp - 0xa70], eax
mov eax, dword [ebp - 0xac0]
inc eax
mov dword [ebp - 0xac0], eax
cmp dword [ebp - 0xac0], 0xb
jbe 0x8e8506
mov eax, dword [ebp - 0xa70]
xor edx, edx
div dword [ebp - 0x9c8]
mov dword [ebp - 0xa70], edx
mov eax, dword [ebp - 0xa70]
cmp eax, dword [ebp - 0x9c8]
ja 0x8e8369
mov eax, dword [ebp - 0x9c8]
cmp eax, dword [ebp - 0xa70]
je 0x8e85ab
mov eax, dword [ebp - 0xa70]
movzx eax, byte [ebp + eax - 0xbfc]
mov ecx, dword [ebp - 0x9c8]
movzx ecx, byte [ebp + ecx - 0xbfc]
xor ecx, eax
mov eax, dword [ebp - 0x9c8]
mov byte [ebp + eax - 0xbfc], cl
mov eax, dword [ebp - 0x9c8]
movzx eax, byte [ebp + eax - 0xbfc]
mov ecx, dword [ebp - 0xa70]
movzx ecx, byte [ebp + ecx - 0xbfc]
xor ecx, eax
mov eax, dword [ebp - 0xa70]
mov byte [ebp + eax - 0xbfc], cl
mov eax, dword [ebp - 0xa70]
movzx eax, byte [ebp + eax - 0xbfc]
mov ecx, dword [ebp - 0x9c8]
movzx ecx, byte [ebp + ecx - 0xbfc]
xor ecx, eax
mov eax, dword [ebp - 0x9c8]
mov byte [ebp + eax - 0xbfc], cl
jmp 0x8e831e
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp - 0x9a1], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp - 0x9a2], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp - 0x9a6], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp - 0x9a3], al
movzx eax, byte [ebp - 0x9ae]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp - 0x9a4], al
mov dword [ebp - 0xae4], 0x1a
cmp dword [ebp - 0xae4], 2
jle 0x8e9f7a
mov eax, dword [ebp - 0xae4]
and eax, 1
jne 0x8e9f7a
and dword [ebp - 0x9b8], 0
and dword [ebp - 0x9c4], 0
mov eax, dword [ebp - 0x9c4]
inc eax
mov dword [ebp - 0x9c4], eax
and dword [ebp - 0x9e8], 0
mov eax, dword [ebp - 0x9b8]
shl eax, 1
mov dword [ebp - 0x9e8], eax
and dword [ebp - 0x9d8], 0
mov eax, dword [ebp - 0x9ec]
add eax, dword [ebp - 0x9e8]
movzx eax, byte [eax]
add eax, dword [ebp - 0x9d8]
mov dword [ebp - 0x9d8], eax
and dword [ebp - 0x9dc], 0
mov eax, dword [ebp - 0x9dc]
add eax, 0x2d
mov dword [ebp - 0x9dc], eax
and dword [ebp - 0x9f0], 0
mov eax, dword [ebp - 0x9b8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x9f0], eax
and dword [ebp - 0x9e0], 0
mov eax, dword [ebp - 0x9ec]
add eax, dword [ebp - 0x9f0]
movzx eax, byte [eax]
add eax, dword [ebp - 0x9e0]
mov dword [ebp - 0x9e0], eax
and dword [ebp - 0x9e4], 0
mov eax, dword [ebp - 0x9e4]
add eax, 0x39
mov dword [ebp - 0x9e4], eax
and dword [ebp - 0x9d0], 0
mov eax, dword [ebp - 0x9d8]
sub eax, dword [ebp - 0x9dc]
add eax, dword [ebp - 0x9d0]
mov dword [ebp - 0x9d0], eax
and dword [ebp - 0x9d4], 0
mov eax, dword [ebp - 0x9e0]
sub eax, dword [ebp - 0x9e4]
add eax, dword [ebp - 0x9d4]
mov dword [ebp - 0x9d4], eax
and dword [ebp - 0x9fc], 0
movsd xmm0, qword [0x9f5cb0]
movsd qword [ebp - 0xa0c], xmm0
movsd xmm0, qword [0x9f5bc8]
movsd qword [ebp - 0xa2c], xmm0
movsd xmm0, qword [0x9f5a80]
movsd qword [ebp - 0x9f8], xmm0
movsd xmm0, qword [ebp - 0xa0c]
subsd xmm0, qword [ebp - 0x9f8]
movsd qword [ebp - 0xa0c], xmm0
movsd xmm0, qword [ebp - 0xa0c]
mulsd xmm0, qword [ebp - 0x9f8]
movsd qword [ebp - 0xa0c], xmm0
movsd xmm0, qword [ebp - 0xa0c]
subsd xmm0, qword [ebp - 0x9f8]
movsd qword [ebp - 0xa0c], xmm0
movsd xmm0, qword [ebp - 0x9f8]
comisd xmm0, xmmword [ebp - 0xa0c]
jbe 0x8e89e6
movsd xmm0, qword [ebp - 0xa0c]
mulsd xmm0, qword [ebp - 0x9f8]
movsd qword [ebp - 0xa0c], xmm0
movsd xmm0, qword [ebp - 0x9f8]
divsd xmm0, qword [ebp - 0xa2c]
movsd qword [ebp - 0x9f8], xmm0
movsd xmm0, qword [ebp - 0x9f8]
mulsd xmm0, qword [ebp - 0xa2c]
movsd qword [ebp - 0x9f8], xmm0
movsd xmm0, qword [ebp - 0xa2c]
addsd xmm0, qword [ebp - 0xa0c]
movsd qword [ebp - 0xa2c], xmm0
movsd xmm0, qword [ebp - 0x9f8]
addsd xmm0, qword [ebp - 0xa2c]
movsd qword [ebp - 0x9f8], xmm0
movsd xmm0, qword [ebp - 0x9f8]
subsd xmm0, qword [ebp - 0xa2c]
movsd qword [ebp - 0x9f8], xmm0
movsd xmm0, qword [ebp - 0xa0c]
comisd xmm0, xmmword [ebp - 0x9f8]
jbe 0x8e899c
movsd xmm0, qword [ebp - 0xa2c]
addsd xmm0, qword [ebp - 0xa0c]
movsd qword [ebp - 0xa2c], xmm0
movsd xmm0, qword [ebp - 0xa2c]
addsd xmm0, qword [ebp - 0xa0c]
movsd qword [ebp - 0xa2c], xmm0
movsd xmm0, qword [ebp - 0xa2c]
subsd xmm0, qword [ebp - 0xa0c]
movsd qword [ebp - 0xa2c], xmm0
movsd xmm0, qword [ebp - 0xa0c]
subsd xmm0, qword [ebp - 0x9f8]
movsd qword [ebp - 0xa0c], xmm0
movsd xmm0, qword [ebp - 0xa0c]
addsd xmm0, qword [ebp - 0x9f8]
movsd qword [ebp - 0xa0c], xmm0
movsd xmm0, qword [ebp - 0x9f8]
divsd xmm0, qword [ebp - 0xa2c]
movsd qword [ebp - 0x9f8], xmm0
movsd xmm0, qword [ebp - 0xa0c]
comisd xmm0, xmmword [ebp - 0xa2c]
jbe 0x8e8952
movsd xmm0, qword [ebp - 0xa0c]
subsd xmm0, qword [ebp - 0xa2c]
movsd qword [ebp - 0xa0c], xmm0
movsd xmm0, qword [ebp - 0x9f8]
mulsd xmm0, qword [ebp - 0xa0c]
movsd qword [ebp - 0x9f8], xmm0
movsd xmm0, qword [ebp - 0x9f8]
divsd xmm0, qword [ebp - 0xa0c]
movsd qword [ebp - 0x9f8], xmm0
jmp 0x8e899a
movsd xmm0, qword [ebp - 0xa0c]
mulsd xmm0, qword [ebp - 0x9f8]
movsd qword [ebp - 0xa0c], xmm0
movsd xmm0, qword [ebp - 0xa0c]
divsd xmm0, qword [ebp - 0x9f8]
movsd qword [ebp - 0xa0c], xmm0
movsd xmm0, qword [ebp - 0x9f8]
mulsd xmm0, qword [ebp - 0xa2c]
movsd qword [ebp - 0x9f8], xmm0
jmp 0x8e89e4
movsd xmm0, qword [ebp - 0xa0c]
subsd xmm0, qword [ebp - 0x9f8]
movsd qword [ebp - 0xa0c], xmm0
movsd xmm0, qword [ebp - 0x9f8]
mulsd xmm0, qword [ebp - 0xa2c]
movsd qword [ebp - 0x9f8], xmm0
movsd xmm0, qword [ebp - 0x9f8]
divsd xmm0, qword [ebp - 0xa2c]
movsd qword [ebp - 0x9f8], xmm0
jmp 0x8e8a3d
movsd xmm0, qword [ebp - 0xa2c]
subsd xmm0, qword [ebp - 0xa0c]
movsd qword [ebp - 0xa2c], xmm0
movsd xmm0, qword [ebp - 0xa2c]
mulsd xmm0, qword [ebp - 0xa0c]
movsd qword [ebp - 0xa2c], xmm0
movsd xmm0, qword [ebp - 0x9f8]
subsd xmm0, qword [ebp - 0xa2c]
movsd qword [ebp - 0x9f8], xmm0
mov eax, dword [ebp - 0x9d0]
shl eax, 4
mov dword [ebp - 0x9fc], eax
and dword [ebp - 0xa00], 0
mov eax, dword [ebp - 0x9d4]
mov dword [ebp - 0xa00], eax
and dword [ebp - 0xa04], 0
mov eax, dword [ebp - 0x9fc]
or eax, dword [ebp - 0xa00]
mov dword [ebp - 0xa04], eax
mov byte [ebp - 0x9a7], 0
mov al, byte [ebp - 0xa04]
mov byte [ebp - 0x9a7], al
mov byte [ebp - 0x9a5], 0
movzx eax, byte [ebp - 0x9a4]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp - 0x9a5], al
movzx eax, byte [ebp - 0x9a1]
movzx eax, byte [ebp + eax - 0xbfc]
movzx ecx, byte [ebp - 0x9a2]
add ecx, eax
mov byte [ebp - 0x9a2], cl
mov al, byte [ebp - 0x9a1]
add al, 1
mov byte [ebp - 0x9a1], al
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp - 0x9a4]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp - 0x9a2]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp - 0x9a3]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a1]
mov cl, byte [ebp - 0x9a5]
mov byte [ebp + eax - 0xbfc], cl
movzx eax, byte [ebp - 0x9a5]
movzx eax, byte [ebp + eax - 0xbfc]
movzx ecx, byte [ebp - 0x9a6]
add ecx, eax
mov byte [ebp - 0x9a6], cl
movzx eax, byte [ebp - 0x9a7]
movzx ecx, byte [ebp - 0x9a2]
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx edx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbfc]
xor eax, ecx
movzx ecx, byte [ebp - 0x9a3]
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx edx, byte [ebp - 0x9a4]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
movzx edx, byte [ebp - 0x9a6]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx ecx, byte [ebp + ecx - 0xbfc]
xor eax, ecx
mov byte [ebp - 0x9a3], al
mov al, byte [ebp - 0x9a7]
mov byte [ebp - 0x9a4], al
mov al, byte [ebp - 0x9a3]
mov byte [ebp - 0x9ac], al
cmp dword [ebp - 0x9b8], 0
jle 0x8e8c03
movsx ax, byte [ebp - 0x9ac]
mov ecx, dword [ebp - 0x9b8]
mov word [ebp + ecx*2 - 0x3e], ax
mov eax, dword [ebp - 0x9b8]
inc eax
mov dword [ebp - 0x9b8], eax
mov eax, dword [ebp - 0x9c4]
inc eax
mov dword [ebp - 0x9c4], eax
mov eax, dword [ebp - 0x9b8]
shl eax, 1
mov dword [ebp - 0x9e8], eax
mov eax, dword [ebp - 0x9ec]
add eax, dword [ebp - 0x9e8]
movzx eax, byte [eax]
mov dword [ebp - 0x9d8], eax
mov dword [ebp - 0x9dc], 0x2d
mov eax, dword [ebp - 0x9b8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x9f0], eax
mov eax, dword [ebp - 0x9ec]
add eax, dword [ebp - 0x9f0]
movzx eax, byte [eax]
mov dword [ebp - 0x9e0], eax
mov dword [ebp - 0x9e4], 0x39
mov eax, dword [ebp - 0x9d8]
sub eax, dword [ebp - 0x9dc]
mov dword [ebp - 0x9d0], eax
mov eax, dword [ebp - 0x9e0]
sub eax, dword [ebp - 0x9e4]
mov dword [ebp - 0x9d4], eax
mov eax, dword [ebp - 0x9d0]
shl eax, 4
mov dword [ebp - 0x9fc], eax
mov eax, dword [ebp - 0x9d4]
mov dword [ebp - 0xa00], eax
mov eax, dword [ebp - 0x9fc]
or eax, dword [ebp - 0xa00]
mov dword [ebp - 0xa04], eax
mov al, byte [ebp - 0xa04]
mov byte [ebp - 0x9a7], al
movzx eax, byte [ebp - 0x9a4]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp - 0x9a5], al
movzx eax, byte [ebp - 0x9a1]
movzx eax, byte [ebp + eax - 0xbfc]
movzx ecx, byte [ebp - 0x9a2]
add ecx, eax
mov byte [ebp - 0x9a2], cl
mov al, byte [ebp - 0x9a1]
add al, 1
mov byte [ebp - 0x9a1], al
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp - 0x9a4]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp - 0x9a2]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp - 0x9a3]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a1]
mov cl, byte [ebp - 0x9a5]
mov byte [ebp + eax - 0xbfc], cl
movzx eax, byte [ebp - 0x9a5]
movzx eax, byte [ebp + eax - 0xbfc]
movzx ecx, byte [ebp - 0x9a6]
add ecx, eax
mov byte [ebp - 0x9a6], cl
movzx eax, byte [ebp - 0x9a7]
movzx ecx, byte [ebp - 0x9a2]
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx edx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbfc]
xor eax, ecx
movzx ecx, byte [ebp - 0x9a3]
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx edx, byte [ebp - 0x9a4]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
movzx edx, byte [ebp - 0x9a6]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx ecx, byte [ebp + ecx - 0xbfc]
xor eax, ecx
mov byte [ebp - 0x9a3], al
mov al, byte [ebp - 0x9a7]
mov byte [ebp - 0x9a4], al
mov al, byte [ebp - 0x9a3]
mov byte [ebp - 0x9ac], al
cmp dword [ebp - 0x9b8], 0
jle 0x8e8e56
movsx ax, byte [ebp - 0x9ac]
mov ecx, dword [ebp - 0x9b8]
mov word [ebp + ecx*2 - 0x3e], ax
mov eax, dword [ebp - 0x9c4]
add eax, 3
mov dword [ebp - 0x9c4], eax
mov eax, dword [ebp - 0x9b8]
inc eax
mov dword [ebp - 0xac4], eax
jmp 0x8e8e81
mov eax, dword [ebp - 0xac4]
inc eax
mov dword [ebp - 0xac4], eax
mov eax, dword [ebp - 0xac4]
cmp eax, dword [ebp - 0x9c4]
jge 0x8e9360
mov eax, dword [ebp - 0x9b8]
inc eax
mov dword [ebp - 0x9b8], eax
mov eax, dword [ebp - 0x9b8]
shl eax, 1
mov dword [ebp - 0x9e8], eax
mov eax, dword [ebp - 0x9ec]
add eax, dword [ebp - 0x9e8]
movzx eax, byte [eax]
mov dword [ebp - 0x9d8], eax
mov dword [ebp - 0x9dc], 0x2d
mov eax, dword [ebp - 0x9b8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x9f0], eax
mov eax, dword [ebp - 0x9ec]
add eax, dword [ebp - 0x9f0]
movzx eax, byte [eax]
mov dword [ebp - 0x9e0], eax
mov dword [ebp - 0x9e4], 0x39
mov eax, dword [ebp - 0x9d8]
sub eax, dword [ebp - 0x9dc]
mov dword [ebp - 0x9d0], eax
mov eax, dword [ebp - 0x9e0]
sub eax, dword [ebp - 0x9e4]
mov dword [ebp - 0x9d4], eax
mov eax, dword [ebp - 0x9d0]
shl eax, 4
mov dword [ebp - 0x9fc], eax
mov eax, dword [ebp - 0x9d4]
mov dword [ebp - 0xa00], eax
mov eax, dword [ebp - 0x9fc]
or eax, dword [ebp - 0xa00]
mov dword [ebp - 0xa04], eax
mov al, byte [ebp - 0xa04]
mov byte [ebp - 0x9a7], al
movzx eax, byte [ebp - 0x9a4]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp - 0x9a5], al
movzx eax, byte [ebp - 0x9a1]
movzx eax, byte [ebp + eax - 0xbfc]
movzx ecx, byte [ebp - 0x9a2]
add ecx, eax
mov byte [ebp - 0x9a2], cl
mov al, byte [ebp - 0x9a1]
add al, 1
mov byte [ebp - 0x9a1], al
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp - 0x9a4]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp - 0x9a2]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp - 0x9a3]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a1]
mov cl, byte [ebp - 0x9a5]
mov byte [ebp + eax - 0xbfc], cl
movzx eax, byte [ebp - 0x9a5]
movzx eax, byte [ebp + eax - 0xbfc]
movzx ecx, byte [ebp - 0x9a6]
add ecx, eax
mov byte [ebp - 0x9a6], cl
movss xmm0, dword [0x9f5e20]
movss dword [ebp - 0xa50], xmm0
movss xmm0, dword [0x9f5dec]
movss dword [ebp - 0xa78], xmm0
movss xmm0, dword [0x9f5dc4]
movss dword [ebp - 0xa20], xmm0
movss xmm0, dword [0x9f5d98]
movss dword [ebp - 0xa74], xmm0
movss xmm0, dword [0x9f5d64]
movss dword [ebp - 0xa4c], xmm0
movss xmm0, dword [0x9f5d38]
movss dword [ebp - 0xa30], xmm0
movss xmm0, dword [0x9f5d10]
movss dword [ebp - 0xa14], xmm0
movss xmm0, dword [ebp - 0xa50]
addss xmm0, dword [ebp - 0xa14]
movss dword [ebp - 0xa50], xmm0
movss xmm0, dword [ebp - 0xa78]
addss xmm0, dword [ebp - 0xa14]
movss dword [ebp - 0xa78], xmm0
movss xmm0, dword [ebp - 0xa30]
subss xmm0, dword [ebp - 0xa14]
movss dword [ebp - 0xa30], xmm0
movss xmm0, dword [ebp - 0xa20]
addss xmm0, dword [ebp - 0xa14]
movss dword [ebp - 0xa20], xmm0
movss xmm0, dword [ebp - 0xa74]
addss xmm0, dword [ebp - 0xa14]
movss dword [ebp - 0xa74], xmm0
movss xmm0, dword [ebp - 0xa20]
mulss xmm0, dword [ebp - 0xa14]
movss dword [ebp - 0xa20], xmm0
movss xmm0, dword [ebp - 0xa30]
addss xmm0, dword [ebp - 0xa14]
movss dword [ebp - 0xa30], xmm0
movss xmm0, dword [ebp - 0xa20]
comiss xmm0, dword [ebp - 0xa14]
jbe 0x8e927f
movss xmm0, dword [ebp - 0xa20]
mulss xmm0, dword [ebp - 0xa74]
movss dword [ebp - 0xa20], xmm0
movss xmm0, dword [ebp - 0xa50]
mulss xmm0, dword [ebp - 0xa78]
movss dword [ebp - 0xa50], xmm0
movss xmm0, dword [ebp - 0xa20]
mulss xmm0, dword [ebp - 0xa74]
movss dword [ebp - 0xa20], xmm0
movss xmm0, dword [ebp - 0xa78]
subss xmm0, dword [ebp - 0xa20]
movss dword [ebp - 0xa78], xmm0
movss xmm0, dword [ebp - 0xa50]
addss xmm0, dword [ebp - 0xa78]
movss dword [ebp - 0xa50], xmm0
movss xmm0, dword [ebp - 0xa74]
mulss xmm0, dword [ebp - 0xa4c]
movss dword [ebp - 0xa74], xmm0
movss xmm0, dword [ebp - 0xa4c]
addss xmm0, dword [ebp - 0xa30]
movss dword [ebp - 0xa4c], xmm0
movzx eax, byte [ebp - 0x9a7]
movzx ecx, byte [ebp - 0x9a2]
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx edx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbfc]
xor eax, ecx
movzx ecx, byte [ebp - 0x9a3]
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx edx, byte [ebp - 0x9a4]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
movzx edx, byte [ebp - 0x9a6]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx ecx, byte [ebp + ecx - 0xbfc]
xor eax, ecx
mov byte [ebp - 0x9a3], al
jmp 0x8e9327
movss xmm0, dword [ebp - 0xa74]
mulss xmm0, dword [ebp - 0xa4c]
movss dword [ebp - 0xa74], xmm0
movss xmm0, dword [ebp - 0xa78]
subss xmm0, dword [ebp - 0xa20]
movss dword [ebp - 0xa78], xmm0
movss xmm0, dword [ebp - 0xa4c]
mulss xmm0, dword [ebp - 0xa30]
movss dword [ebp - 0xa4c], xmm0
movss xmm0, dword [ebp - 0xa4c]
mulss xmm0, dword [ebp - 0xa30]
movss dword [ebp - 0xa4c], xmm0
movss xmm0, dword [ebp - 0xa14]
divss xmm0, dword [ebp - 0xa50]
movss dword [ebp - 0xa14], xmm0
movss xmm0, dword [ebp - 0xa30]
divss xmm0, dword [ebp - 0xa14]
movss dword [ebp - 0xa30], xmm0
movss xmm0, dword [ebp - 0xa14]
subss xmm0, dword [ebp - 0xa50]
movss dword [ebp - 0xa14], xmm0
mov al, byte [ebp - 0x9a7]
mov byte [ebp - 0x9a4], al
mov al, byte [ebp - 0x9a3]
mov byte [ebp - 0x9ac], al
cmp dword [ebp - 0x9b8], 0
jle 0x8e935b
movsx ax, byte [ebp - 0x9ac]
mov ecx, dword [ebp - 0x9b8]
mov word [ebp + ecx*2 - 0x3e], ax
jmp 0x8e8e74
mov eax, dword [ebp - 0x9c4]
inc eax
mov dword [ebp - 0x9c4], eax
mov eax, dword [ebp - 0x9b8]
inc eax
mov dword [ebp - 0x9b8], eax
mov eax, dword [ebp - 0x9c4]
inc eax
mov dword [ebp - 0x9c4], eax
mov eax, dword [ebp - 0x9b8]
shl eax, 1
mov dword [ebp - 0x9e8], eax
mov eax, dword [ebp - 0x9ec]
add eax, dword [ebp - 0x9e8]
movzx eax, byte [eax]
mov dword [ebp - 0x9d8], eax
mov dword [ebp - 0x9dc], 0x2d
mov eax, dword [ebp - 0x9b8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x9f0], eax
mov eax, dword [ebp - 0x9ec]
add eax, dword [ebp - 0x9f0]
movzx eax, byte [eax]
mov dword [ebp - 0x9e0], eax
mov dword [ebp - 0x9e4], 0x39
mov eax, dword [ebp - 0x9d8]
sub eax, dword [ebp - 0x9dc]
mov dword [ebp - 0x9d0], eax
mov eax, dword [ebp - 0x9e0]
sub eax, dword [ebp - 0x9e4]
mov dword [ebp - 0x9d4], eax
mov eax, dword [ebp - 0x9d0]
shl eax, 4
mov dword [ebp - 0x9fc], eax
mov eax, dword [ebp - 0x9d4]
mov dword [ebp - 0xa00], eax
mov eax, dword [ebp - 0x9fc]
or eax, dword [ebp - 0xa00]
mov dword [ebp - 0xa04], eax
mov al, byte [ebp - 0xa04]
mov byte [ebp - 0x9a7], al
movzx eax, byte [ebp - 0x9a4]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp - 0x9a5], al
movzx eax, byte [ebp - 0x9a1]
movzx eax, byte [ebp + eax - 0xbfc]
movzx ecx, byte [ebp - 0x9a2]
add ecx, eax
mov byte [ebp - 0x9a2], cl
mov al, byte [ebp - 0x9a1]
add al, 1
mov byte [ebp - 0x9a1], al
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp - 0x9a4]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp - 0x9a2]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp - 0x9a3]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a1]
mov cl, byte [ebp - 0x9a5]
mov byte [ebp + eax - 0xbfc], cl
movzx eax, byte [ebp - 0x9a5]
movzx eax, byte [ebp + eax - 0xbfc]
movzx ecx, byte [ebp - 0x9a6]
add ecx, eax
mov byte [ebp - 0x9a6], cl
movzx eax, byte [ebp - 0x9a7]
movzx ecx, byte [ebp - 0x9a2]
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx edx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbfc]
xor eax, ecx
movzx ecx, byte [ebp - 0x9a3]
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx edx, byte [ebp - 0x9a4]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
movzx edx, byte [ebp - 0x9a6]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx ecx, byte [ebp + ecx - 0xbfc]
xor eax, ecx
mov byte [ebp - 0x9a3], al
mov al, byte [ebp - 0x9a7]
mov byte [ebp - 0x9a4], al
mov al, byte [ebp - 0x9a3]
mov byte [ebp - 0x9ac], al
cmp dword [ebp - 0x9b8], 0
jle 0x8e95c0
movsx ax, byte [ebp - 0x9ac]
mov ecx, dword [ebp - 0x9b8]
mov word [ebp + ecx*2 - 0x3e], ax
mov eax, dword [ebp - 0x9b8]
inc eax
mov dword [ebp - 0x9b8], eax
mov eax, dword [ebp - 0x9c4]
inc eax
mov dword [ebp - 0x9c4], eax
mov eax, dword [ebp - 0x9b8]
shl eax, 1
mov dword [ebp - 0x9e8], eax
mov eax, dword [ebp - 0x9ec]
add eax, dword [ebp - 0x9e8]
movzx eax, byte [eax]
mov dword [ebp - 0x9d8], eax
mov dword [ebp - 0x9dc], 0x2d
mov eax, dword [ebp - 0x9b8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x9f0], eax
mov eax, dword [ebp - 0x9ec]
add eax, dword [ebp - 0x9f0]
movzx eax, byte [eax]
mov dword [ebp - 0x9e0], eax
mov dword [ebp - 0x9e4], 0x39
mov eax, dword [ebp - 0x9d8]
sub eax, dword [ebp - 0x9dc]
mov dword [ebp - 0x9d0], eax
mov eax, dword [ebp - 0x9e0]
sub eax, dword [ebp - 0x9e4]
mov dword [ebp - 0x9d4], eax
mov eax, dword [ebp - 0x9d0]
shl eax, 4
mov dword [ebp - 0x9fc], eax
mov eax, dword [ebp - 0x9d4]
mov dword [ebp - 0xa00], eax
mov eax, dword [ebp - 0x9fc]
or eax, dword [ebp - 0xa00]
mov dword [ebp - 0xa04], eax
mov al, byte [ebp - 0xa04]
mov byte [ebp - 0x9a7], al
movzx eax, byte [ebp - 0x9a4]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp - 0x9a5], al
movzx eax, byte [ebp - 0x9a1]
movzx eax, byte [ebp + eax - 0xbfc]
movzx ecx, byte [ebp - 0x9a2]
add ecx, eax
mov byte [ebp - 0x9a2], cl
mov al, byte [ebp - 0x9a1]
add al, 1
mov byte [ebp - 0x9a1], al
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp - 0x9a4]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp - 0x9a2]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp - 0x9a3]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a1]
mov cl, byte [ebp - 0x9a5]
mov byte [ebp + eax - 0xbfc], cl
movzx eax, byte [ebp - 0x9a5]
movzx eax, byte [ebp + eax - 0xbfc]
movzx ecx, byte [ebp - 0x9a6]
add ecx, eax
mov byte [ebp - 0x9a6], cl
movzx eax, byte [ebp - 0x9a7]
movzx ecx, byte [ebp - 0x9a2]
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx edx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbfc]
xor eax, ecx
movzx ecx, byte [ebp - 0x9a3]
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx edx, byte [ebp - 0x9a4]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
movzx edx, byte [ebp - 0x9a6]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx ecx, byte [ebp + ecx - 0xbfc]
xor eax, ecx
mov byte [ebp - 0x9a3], al
mov al, byte [ebp - 0x9a7]
mov byte [ebp - 0x9a4], al
mov al, byte [ebp - 0x9a3]
mov byte [ebp - 0x9ac], al
cmp dword [ebp - 0x9b8], 0
jle 0x8e9813
movsx ax, byte [ebp - 0x9ac]
mov ecx, dword [ebp - 0x9b8]
mov word [ebp + ecx*2 - 0x3e], ax
mov eax, dword [ebp - 0x9b8]
inc eax
mov dword [ebp - 0x9b8], eax
mov eax, dword [ebp - 0x9c4]
inc eax
mov dword [ebp - 0x9c4], eax
mov eax, dword [ebp - 0x9b8]
shl eax, 1
mov dword [ebp - 0x9e8], eax
mov eax, dword [ebp - 0x9ec]
add eax, dword [ebp - 0x9e8]
movzx eax, byte [eax]
mov dword [ebp - 0x9d8], eax
mov dword [ebp - 0x9dc], 0x2d
mov eax, dword [ebp - 0x9b8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x9f0], eax
mov eax, dword [ebp - 0x9ec]
add eax, dword [ebp - 0x9f0]
movzx eax, byte [eax]
mov dword [ebp - 0x9e0], eax
mov dword [ebp - 0x9e4], 0x39
mov eax, dword [ebp - 0x9d8]
sub eax, dword [ebp - 0x9dc]
mov dword [ebp - 0x9d0], eax
mov eax, dword [ebp - 0x9e0]
sub eax, dword [ebp - 0x9e4]
mov dword [ebp - 0x9d4], eax
mov eax, dword [ebp - 0x9d0]
shl eax, 4
mov dword [ebp - 0x9fc], eax
mov eax, dword [ebp - 0x9d4]
mov dword [ebp - 0xa00], eax
mov eax, dword [ebp - 0x9fc]
or eax, dword [ebp - 0xa00]
mov dword [ebp - 0xa04], eax
mov al, byte [ebp - 0xa04]
mov byte [ebp - 0x9a7], al
movzx eax, byte [ebp - 0x9a4]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp - 0x9a5], al
movzx eax, byte [ebp - 0x9a1]
movzx eax, byte [ebp + eax - 0xbfc]
movzx ecx, byte [ebp - 0x9a2]
add ecx, eax
mov byte [ebp - 0x9a2], cl
mov al, byte [ebp - 0x9a1]
add al, 1
mov byte [ebp - 0x9a1], al
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp - 0x9a4]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp - 0x9a2]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp - 0x9a3]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a1]
mov cl, byte [ebp - 0x9a5]
mov byte [ebp + eax - 0xbfc], cl
movzx eax, byte [ebp - 0x9a5]
movzx eax, byte [ebp + eax - 0xbfc]
movzx ecx, byte [ebp - 0x9a6]
add ecx, eax
mov byte [ebp - 0x9a6], cl
movzx eax, byte [ebp - 0x9a7]
movzx ecx, byte [ebp - 0x9a2]
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx edx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbfc]
xor eax, ecx
movzx ecx, byte [ebp - 0x9a3]
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx edx, byte [ebp - 0x9a4]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
movzx edx, byte [ebp - 0x9a6]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx ecx, byte [ebp + ecx - 0xbfc]
xor eax, ecx
mov byte [ebp - 0x9a3], al
mov al, byte [ebp - 0x9a7]
mov byte [ebp - 0x9a4], al
mov al, byte [ebp - 0x9a3]
mov byte [ebp - 0x9ac], al
cmp dword [ebp - 0x9b8], 0
jle 0x8e9a66
movsx ax, byte [ebp - 0x9ac]
mov ecx, dword [ebp - 0x9b8]
mov word [ebp + ecx*2 - 0x3e], ax
mov eax, dword [ebp - 0x9c4]
add eax, 4
mov dword [ebp - 0x9c4], eax
mov eax, dword [ebp - 0x9b8]
inc eax
mov dword [ebp - 0xac8], eax
jmp 0x8e9a91
mov eax, dword [ebp - 0xac8]
inc eax
mov dword [ebp - 0xac8], eax
mov eax, dword [ebp - 0xac8]
cmp eax, dword [ebp - 0x9c4]
jge 0x8e9cee
mov eax, dword [ebp - 0x9b8]
inc eax
mov dword [ebp - 0x9b8], eax
mov eax, dword [ebp - 0x9b8]
shl eax, 1
mov dword [ebp - 0x9e8], eax
mov eax, dword [ebp - 0x9ec]
add eax, dword [ebp - 0x9e8]
movzx eax, byte [eax]
mov dword [ebp - 0x9d8], eax
mov dword [ebp - 0x9dc], 0x2d
mov eax, dword [ebp - 0x9b8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x9f0], eax
mov eax, dword [ebp - 0x9ec]
add eax, dword [ebp - 0x9f0]
movzx eax, byte [eax]
mov dword [ebp - 0x9e0], eax
mov dword [ebp - 0x9e4], 0x39
mov eax, dword [ebp - 0x9d8]
sub eax, dword [ebp - 0x9dc]
mov dword [ebp - 0x9d0], eax
mov eax, dword [ebp - 0x9e0]
sub eax, dword [ebp - 0x9e4]
mov dword [ebp - 0x9d4], eax
mov eax, dword [ebp - 0x9d0]
shl eax, 4
mov dword [ebp - 0x9fc], eax
mov eax, dword [ebp - 0x9d4]
mov dword [ebp - 0xa00], eax
mov eax, dword [ebp - 0x9fc]
or eax, dword [ebp - 0xa00]
mov dword [ebp - 0xa04], eax
mov al, byte [ebp - 0xa04]
mov byte [ebp - 0x9a7], al
movzx eax, byte [ebp - 0x9a4]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp - 0x9a5], al
movzx eax, byte [ebp - 0x9a1]
movzx eax, byte [ebp + eax - 0xbfc]
movzx ecx, byte [ebp - 0x9a2]
add ecx, eax
mov byte [ebp - 0x9a2], cl
mov al, byte [ebp - 0x9a1]
add al, 1
mov byte [ebp - 0x9a1], al
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp - 0x9a4]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp - 0x9a2]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp - 0x9a3]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a1]
mov cl, byte [ebp - 0x9a5]
mov byte [ebp + eax - 0xbfc], cl
movzx eax, byte [ebp - 0x9a5]
movzx eax, byte [ebp + eax - 0xbfc]
movzx ecx, byte [ebp - 0x9a6]
add ecx, eax
mov byte [ebp - 0x9a6], cl
movzx eax, byte [ebp - 0x9a7]
movzx ecx, byte [ebp - 0x9a2]
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx edx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbfc]
xor eax, ecx
movzx ecx, byte [ebp - 0x9a3]
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx edx, byte [ebp - 0x9a4]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
movzx edx, byte [ebp - 0x9a6]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx ecx, byte [ebp + ecx - 0xbfc]
xor eax, ecx
mov byte [ebp - 0x9a3], al
mov al, byte [ebp - 0x9a7]
mov byte [ebp - 0x9a4], al
mov al, byte [ebp - 0x9a3]
mov byte [ebp - 0x9ac], al
cmp dword [ebp - 0x9b8], 0
jle 0x8e9ce9
movsx ax, byte [ebp - 0x9ac]
mov ecx, dword [ebp - 0x9b8]
mov word [ebp + ecx*2 - 0x3e], ax
jmp 0x8e9a84
mov eax, dword [ebp - 0x9c4]
inc eax
mov dword [ebp - 0x9c4], eax
mov eax, dword [ebp - 0x9b8]
inc eax
mov dword [ebp - 0x9b8], eax
mov eax, dword [ebp - 0x9c4]
inc eax
mov dword [ebp - 0x9c4], eax
mov eax, dword [ebp - 0x9b8]
shl eax, 1
mov dword [ebp - 0x9e8], eax
mov eax, dword [ebp - 0x9ec]
add eax, dword [ebp - 0x9e8]
movzx eax, byte [eax]
mov dword [ebp - 0x9d8], eax
mov dword [ebp - 0x9dc], 0x2d
mov eax, dword [ebp - 0x9b8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x9f0], eax
mov eax, dword [ebp - 0x9ec]
add eax, dword [ebp - 0x9f0]
movzx eax, byte [eax]
mov dword [ebp - 0x9e0], eax
mov dword [ebp - 0x9e4], 0x39
mov eax, dword [ebp - 0x9d8]
sub eax, dword [ebp - 0x9dc]
mov dword [ebp - 0x9d0], eax
mov eax, dword [ebp - 0x9e0]
sub eax, dword [ebp - 0x9e4]
mov dword [ebp - 0x9d4], eax
mov eax, dword [ebp - 0x9d0]
shl eax, 4
mov dword [ebp - 0x9fc], eax
mov eax, dword [ebp - 0x9d4]
mov dword [ebp - 0xa00], eax
mov eax, dword [ebp - 0x9fc]
or eax, dword [ebp - 0xa00]
mov dword [ebp - 0xa04], eax
mov al, byte [ebp - 0xa04]
mov byte [ebp - 0x9a7], al
movzx eax, byte [ebp - 0x9a4]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp - 0x9a5], al
movzx eax, byte [ebp - 0x9a1]
movzx eax, byte [ebp + eax - 0xbfc]
movzx ecx, byte [ebp - 0x9a2]
add ecx, eax
mov byte [ebp - 0x9a2], cl
mov al, byte [ebp - 0x9a1]
add al, 1
mov byte [ebp - 0x9a1], al
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp - 0x9a4]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp - 0x9a2]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp - 0x9a3]
mov al, byte [ebp + eax - 0xbfc]
mov byte [ebp + ecx - 0xbfc], al
movzx eax, byte [ebp - 0x9a1]
mov cl, byte [ebp - 0x9a5]
mov byte [ebp + eax - 0xbfc], cl
movzx eax, byte [ebp - 0x9a5]
movzx eax, byte [ebp + eax - 0xbfc]
movzx ecx, byte [ebp - 0x9a6]
add ecx, eax
mov byte [ebp - 0x9a6], cl
movzx eax, byte [ebp - 0x9a7]
movzx ecx, byte [ebp - 0x9a2]
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx edx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbfc]
xor eax, ecx
movzx ecx, byte [ebp - 0x9a3]
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx edx, byte [ebp - 0x9a4]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
movzx edx, byte [ebp - 0x9a6]
movzx edx, byte [ebp + edx - 0xbfc]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbfc]
movzx ecx, byte [ebp + ecx - 0xbfc]
xor eax, ecx
mov byte [ebp - 0x9a3], al
mov al, byte [ebp - 0x9a7]
mov byte [ebp - 0x9a4], al
mov al, byte [ebp - 0x9a3]
mov byte [ebp - 0x9ac], al
cmp dword [ebp - 0x9b8], 0
jle 0x8e9f4e
movsx ax, byte [ebp - 0x9ac]
mov ecx, dword [ebp - 0x9b8]
mov word [ebp + ecx*2 - 0x3e], ax
push 2
pop eax
imul eax, eax, 0xc
mov dword [ebp - 0xae8], eax
cmp dword [ebp - 0xae8], 0x1a
jae 0x8e9f65
jmp 0x8e9f6b
call fcn.00979ee8
nop
xor eax, eax
mov ecx, dword [ebp - 0xae8]
mov word [ebp + ecx - 0x3c], ax
jmp 0x8e9fc7
and dword [ebp - 0xabc], 0
jmp 0x8e9f90
mov eax, dword [ebp - 0xabc]
inc eax
mov dword [ebp - 0xabc], eax
cmp dword [ebp - 0xabc], 0xd
jge 0x8e9fc7
mov eax, dword [ebp - 0xabc]
shl eax, 1
mov dword [ebp - 0xaec], eax
cmp dword [ebp - 0xaec], 0x1a
jae 0x8e9fb2
jmp 0x8e9fb8
call fcn.00979ee8
nop
xor eax, eax
mov ecx, dword [ebp - 0xaec]
mov word [ebp + ecx - 0x3c], ax
jmp 0x8e9f83
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0xc1c], eax
and dword [ebp - 0x990], 0
and dword [ebp - 0x99c], 0
xorps xmm0, xmm0
movsd qword [ebp - 0xaa0], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xa90], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xa90], xmm0
jmp 0x8ea020
movsd xmm0, qword [ebp - 0xa90]
addsd xmm0, qword [0x9f5778]
movsd qword [ebp - 0xa90], xmm0
movsd xmm0, qword [0xa06d40]
comisd xmm0, xmmword [ebp - 0xa90]
jbe 0x8ea0d1
movsd xmm0, qword [0xa06cf0]
mulsd xmm0, qword [ebp - 0xa90]
mulsd xmm0, qword [ebp - 0xa90]
movsd xmm1, qword [ebp - 0xa90]
mulsd xmm1, qword [ebp - 0xa90]
subsd xmm0, xmm1
movsd xmm1, qword [0x9f81b0]
mulsd xmm1, qword [ebp - 0xa90]
mulsd xmm1, qword [ebp - 0xa90]
addsd xmm1, qword [0x9f8ba8]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0xaa0]
movsd qword [ebp - 0xaa0], xmm0
movsd xmm0, qword [ebp - 0xaa0]
comisd xmm0, xmmword [0xa06c38]
jbe 0x8ea0cc
movsd xmm0, qword [0xa06bc0]
mulsd xmm0, qword [ebp - 0xa90]
movsd xmm1, qword [ebp - 0xaa0]
subsd xmm1, xmm0
movsd qword [ebp - 0xaa0], xmm1
jmp 0x8ea008
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0xaa0]
jbe 0x8ea11c
xor eax, 0x396b2d25
dec edx
inc ecx
and byte [edi + ebp*2], ch
sub eax, 0x78203120
and al, 0x3b
sub eax, 0x71615940
jno 0x8ea171
cmp eax, 0x356c4063
push 0x6eed6dea
invalid
mov dword [ebp - 0x990], 0x8ea0fd
mov dword [ebp - 0x99c], 0x8ea0de
mov eax, dword [ebp - 0x990]
mov dword [ebp - 0xa5c], eax
mov eax, dword [ebp - 0x99c]
mov dword [ebp - 0xc0c], eax
mov byte [ebp - 0xa21], 0x23
and dword [ebp - 0x9cc], 0
jmp 0x8ea165
mov eax, dword [ebp - 0x9cc]
inc eax
mov dword [ebp - 0x9cc], eax
cmp dword [ebp - 0x9cc], 0x100
jae 0x8ea186
mov eax, dword [ebp - 0x9cc]
mov cl, byte [ebp - 0x9cc]
mov byte [ebp + eax - 0xd1c], cl
jmp 0x8ea158
and dword [ebp - 0xa88], 0
mov byte [ebp - 0x9ad], 0
mov dword [ebp - 0x9cc], 0xff
jmp 0x8ea1ad
mov eax, dword [ebp - 0x9cc]
dec eax
mov dword [ebp - 0x9cc], eax
cmp dword [ebp - 0x9cc], 0
jbe 0x8ea432
and dword [ebp - 0xacc], 0
mov dword [ebp - 0xaac], 1
mov eax, dword [ebp - 0xaac]
cmp eax, dword [ebp - 0x9cc]
jae 0x8ea1eb
mov eax, dword [ebp - 0xaac]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xaac], eax
jmp 0x8ea1cb
mov eax, dword [ebp - 0xa88]
mov dword [ebp - 0xc08], eax
mov eax, dword [ebp - 0xc08]
mov dword [ebp - 0xa1c], eax
cmp dword [ebp - 0xa1c], 0
je 0x8ea230
sub dword [ebp - 0xa1c], 1
je 0x8ea25e
sub dword [ebp - 0xa1c], 1
je 0x8ea28f
sub dword [ebp - 0xa1c], 1
je 0x8ea2bd
jmp 0x8ea2eb
movzx eax, byte [ebp - 0x9ad]
movzx ebx, byte [ebp + eax - 0xd1c]
movsd xmm0, qword [ebp - 0xaa0]
call fcn.0097a0c0
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9ad], bl
jmp 0x8ea312
movzx eax, byte [ebp - 0x9ad]
movzx ebx, byte [ebp + eax - 0xd1c]
movsd xmm0, qword [ebp - 0xaa0]
call fcn.0097a0c0
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9ad], bl
jmp 0x8ea312
movzx eax, byte [ebp - 0x9ad]
movzx ebx, byte [ebp + eax - 0xd1c]
movsd xmm0, qword [ebp - 0xaa0]
call fcn.0097a0c0
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9ad], bl
jmp 0x8ea312
movzx eax, byte [ebp - 0x9ad]
movzx ebx, byte [ebp + eax - 0xd1c]
movsd xmm0, qword [ebp - 0xaa0]
call fcn.0097a0c0
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9ad], bl
jmp 0x8ea312
movzx eax, byte [ebp - 0x9ad]
movzx eax, byte [ebp + eax - 0xd1c]
mov ecx, dword [ebp - 0xc0c]
add ecx, dword [ebp - 0xa88]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x9ad], al
mov eax, dword [ebp - 0xa88]
inc eax
mov dword [ebp - 0xa88], eax
movzx eax, byte [ebp - 0xa21]
cmp dword [ebp - 0xa88], eax
jb 0x8ea34b
and dword [ebp - 0xa88], 0
movzx eax, byte [ebp - 0xa21]
movzx ecx, byte [ebp - 0x9ad]
add ecx, eax
mov byte [ebp - 0x9ad], cl
movzx eax, byte [ebp - 0x9ad]
and eax, dword [ebp - 0xaac]
mov dword [ebp - 0xa54], eax
mov eax, dword [ebp - 0xacc]
inc eax
mov dword [ebp - 0xacc], eax
cmp dword [ebp - 0xacc], 0xb
jbe 0x8ea388
mov eax, dword [ebp - 0xa54]
xor edx, edx
div dword [ebp - 0x9cc]
mov dword [ebp - 0xa54], edx
mov eax, dword [ebp - 0xa54]
cmp eax, dword [ebp - 0x9cc]
ja 0x8ea1eb
mov eax, dword [ebp - 0x9cc]
cmp eax, dword [ebp - 0xa54]
je 0x8ea42d
mov eax, dword [ebp - 0xa54]
movzx eax, byte [ebp + eax - 0xd1c]
mov ecx, dword [ebp - 0x9cc]
movzx ecx, byte [ebp + ecx - 0xd1c]
xor ecx, eax
mov eax, dword [ebp - 0x9cc]
mov byte [ebp + eax - 0xd1c], cl
mov eax, dword [ebp - 0x9cc]
movzx eax, byte [ebp + eax - 0xd1c]
mov ecx, dword [ebp - 0xa54]
movzx ecx, byte [ebp + ecx - 0xd1c]
xor ecx, eax
mov eax, dword [ebp - 0xa54]
mov byte [ebp + eax - 0xd1c], cl
mov eax, dword [ebp - 0xa54]
movzx eax, byte [ebp + eax - 0xd1c]
mov ecx, dword [ebp - 0x9cc]
movzx ecx, byte [ebp + ecx - 0xd1c]
xor ecx, eax
mov eax, dword [ebp - 0x9cc]
mov byte [ebp + eax - 0xd1c], cl
jmp 0x8ea1a0
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0xd1c]
mov byte [ebp - 0x9a8], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0xd1c]
mov byte [ebp - 0x9a9], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0xd1c]
mov byte [ebp - 0x9b0], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0xd1c]
mov byte [ebp - 0x9aa], al
movzx eax, byte [ebp - 0x9ad]
mov al, byte [ebp + eax - 0xd1c]
mov byte [ebp - 0x9ab], al
mov dword [ebp - 0xaf0], 0x1a
cmp dword [ebp - 0xaf0], 2
jle 0x8eaf26
mov eax, dword [ebp - 0xaf0]
and eax, 1
jne 0x8eaf26
and dword [ebp - 0x9c0], 0
and dword [ebp - 0xa10], 0
mov eax, dword [ebp - 0xa10]
inc eax
mov dword [ebp - 0xa10], eax
and dword [ebp - 0xa58], 0
mov eax, dword [ebp - 0x9c0]
shl eax, 1
mov dword [ebp - 0xa58], eax
and dword [ebp - 0xa34], 0
mov eax, dword [ebp - 0xa5c]
add eax, dword [ebp - 0xa58]
movzx eax, byte [eax]
add eax, dword [ebp - 0xa34]
mov dword [ebp - 0xa34], eax
and dword [ebp - 0xa38], 0
mov eax, dword [ebp - 0xa38]
add eax, 0x65
mov dword [ebp - 0xa38], eax
and dword [ebp - 0xa60], 0
mov eax, dword [ebp - 0x9c0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xa60], eax
and dword [ebp - 0xa3c], 0
mov eax, dword [ebp - 0xa5c]
add eax, dword [ebp - 0xa60]
movzx eax, byte [eax]
add eax, dword [ebp - 0xa3c]
mov dword [ebp - 0xa3c], eax
and dword [ebp - 0xa40], 0
mov eax, dword [ebp - 0xa40]
add eax, 0xe2
mov dword [ebp - 0xa40], eax
and dword [ebp - 0xa48], 0
mov eax, dword [ebp - 0xa34]
sub eax, dword [ebp - 0xa38]
add eax, dword [ebp - 0xa48]
mov dword [ebp - 0xa48], eax
and dword [ebp - 0xa44], 0
mov eax, dword [ebp - 0xa3c]
sub eax, dword [ebp - 0xa40]
add eax, dword [ebp - 0xa44]
mov dword [ebp - 0xa44], eax
and dword [ebp - 0xa64], 0
mov eax, dword [ebp - 0xa48]
shl eax, 4
mov dword [ebp - 0xa64], eax
and dword [ebp - 0xa68], 0
mov eax, dword [ebp - 0xa44]
mov dword [ebp - 0xa68], eax
and dword [ebp - 0xa6c], 0
mov eax, dword [ebp - 0xa64]
or eax, dword [ebp - 0xa68]
mov dword [ebp - 0xa6c], eax
mov byte [ebp - 0x9af], 0
mov al, byte [ebp - 0xa6c]
mov byte [ebp - 0x9af], al
mov byte [ebp - 0x9b1], 0
movzx eax, byte [ebp - 0x9ab]
mov al, byte [ebp + eax - 0xd1c]
mov byte [ebp - 0x9b1], al
movzx eax, byte [ebp - 0x9a8]
movzx eax, byte [ebp + eax - 0xd1c]
movzx ecx, byte [ebp - 0x9a9]
add ecx, eax
mov byte [ebp - 0x9a9], cl
mov al, byte [ebp - 0x9a8]
add al, 1
mov byte [ebp - 0x9a8], al
movzx eax, byte [ebp - 0x9a9]
movzx ecx, byte [ebp - 0x9ab]
mov al, byte [ebp + eax - 0xd1c]
mov byte [ebp + ecx - 0xd1c], al
movzx eax, byte [ebp - 0x9aa]
movzx ecx, byte [ebp - 0x9a9]
mov al, byte [ebp + eax - 0xd1c]
mov byte [ebp + ecx - 0xd1c], al
movzx eax, byte [ebp - 0x9a8]
movzx ecx, byte [ebp - 0x9aa]
mov al, byte [ebp + eax - 0xd1c]
mov byte [ebp + ecx - 0xd1c], al
movzx eax, byte [ebp - 0x9a8]
mov cl, byte [ebp - 0x9b1]
mov byte [ebp + eax - 0xd1c], cl
movzx eax, byte [ebp - 0x9b1]
movzx eax, byte [ebp + eax - 0xd1c]
movzx ecx, byte [ebp - 0x9b0]
add ecx, eax
mov byte [ebp - 0x9b0], cl
movzx eax, byte [ebp - 0x9af]
movzx ecx, byte [ebp - 0x9a9]
movzx ecx, byte [ebp + ecx - 0xd1c]
movzx edx, byte [ebp - 0x9a8]
movzx edx, byte [ebp + edx - 0xd1c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd1c]
xor eax, ecx
movzx ecx, byte [ebp - 0x9aa]
movzx ecx, byte [ebp + ecx - 0xd1c]
movzx edx, byte [ebp - 0x9ab]
movzx edx, byte [ebp + edx - 0xd1c]
add ecx, edx
movzx edx, byte [ebp - 0x9b0]
movzx edx, byte [ebp + edx - 0xd1c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd1c]
movzx ecx, byte [ebp + ecx - 0xd1c]
xor eax, ecx
mov byte [ebp - 0x9aa], al
mov al, byte [ebp - 0x9af]
mov byte [ebp - 0x9ab], al
mov al, byte [ebp - 0x9aa]
mov byte [ebp - 0x9b9], al
cmp dword [ebp - 0x9c0], 0
jle 0x8ea788
mov eax, dword [ebp - 0x9c0]
mov cl, byte [ebp - 0x9b9]
mov byte [ebp + eax - 0x21], cl
mov eax, dword [ebp - 0x9c0]
inc eax
mov dword [ebp - 0x9c0], eax
mov eax, dword [ebp - 0xa10]
inc eax
mov dword [ebp - 0xa10], eax
mov eax, dword [ebp - 0x9c0]
shl eax, 1
mov dword [ebp - 0xa58], eax
mov eax, dword [ebp - 0xa5c]
add eax, dword [ebp - 0xa58]
movzx eax, byte [eax]
mov dword [ebp - 0xa34], eax
mov dword [ebp - 0xa38], 0x65
mov eax, dword [ebp - 0x9c0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xa60], eax
mov eax, dword [ebp - 0xa5c]
add eax, dword [ebp - 0xa60]
movzx eax, byte [eax]
mov dword [ebp - 0xa3c], eax
mov dword [ebp - 0xa40], 0xe2
mov eax, dword [ebp - 0xa34]
sub eax, dword [ebp - 0xa38]
mov dword [ebp - 0xa48], eax
mov eax, dword [ebp - 0xa3c]
sub eax, dword [ebp - 0xa40]
mov dword [ebp - 0xa44], eax
mov eax, dword [ebp - 0xa48]
shl eax, 4
mov dword [ebp - 0xa64], eax
mov eax, dword [ebp - 0xa44]
mov dword [ebp - 0xa68], eax
mov eax, dword [ebp - 0xa64]
or eax, dword [ebp - 0xa68]
mov dword [ebp - 0xa6c], eax
mov al, byte [ebp - 0xa6c]
mov byte [ebp - 0x9af], al
movzx eax, byte [ebp - 0x9ab]
mov al, byte [ebp + eax - 0xd1c]
mov byte [ebp - 0x9b1], al
movzx eax, byte [ebp - 0x9a8]
movzx eax, byte [ebp + eax - 0xd1c]
movzx ecx, byte [ebp - 0x9a9]
add ecx, eax
mov byte [ebp - 0x9a9], cl
mov al, byte [ebp - 0x9a8]
add al, 1
mov byte [ebp - 0x9a8], al
movzx eax, byte [ebp - 0x9a9]
movzx ecx, byte [ebp - 0x9ab]
mov al, byte [ebp + eax - 0xd1c]
mov byte [ebp + ecx - 0xd1c], al
movzx eax, byte [ebp - 0x9aa]
movzx ecx, byte [ebp - 0x9a9]
mov al, byte [ebp + eax - 0xd1c]
mov byte [ebp + ecx - 0xd1c], al
movzx eax, byte [ebp - 0x9a8]
movzx ecx, byte [ebp - 0x9aa]
mov al, byte [ebp + eax - 0xd1c]
mov byte [ebp + ecx - 0xd1c], al
movzx eax, byte [ebp - 0x9a8]
mov cl, byte [ebp - 0x9b1]
mov byte [ebp + eax - 0xd1c], cl
movzx eax, byte [ebp - 0x9b1]
movzx eax, byte [ebp + eax - 0xd1c]
movzx ecx, byte [ebp - 0x9b0]
add ecx, eax
mov byte [ebp - 0x9b0], cl
movzx eax, byte [ebp - 0x9af]
movzx ecx, byte [ebp - 0x9a9]
movzx ecx, byte [ebp + ecx - 0xd1c]
movzx edx, byte [ebp - 0x9a8]
movzx edx, byte [ebp + edx - 0xd1c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd1c]
xor eax, ecx
movzx ecx, byte [ebp - 0x9aa]
movzx ecx, byte [ebp + ecx - 0xd1c]
movzx edx, byte [ebp - 0x9ab]
movzx edx, byte [ebp + edx - 0xd1c]
add ecx, edx
movzx edx, byte [ebp - 0x9b0]
movzx edx, byte [ebp + edx - 0xd1c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd1c]
movzx ecx, byte [ebp + ecx - 0xd1c]
xor eax, ecx
mov byte [ebp - 0x9aa], al
mov al, byte [ebp - 0x9af]
mov byte [ebp - 0x9ab], al
mov al, byte [ebp - 0x9aa]
mov byte [ebp - 0x9b9], al
cmp dword [ebp - 0x9c0], 0
jle 0x8ea9d8
mov eax, dword [ebp - 0x9c0]
mov cl, byte [ebp - 0x9b9]
mov byte [ebp + eax - 0x21], cl
mov eax, dword [ebp - 0xa10]
add eax, 5
mov dword [ebp - 0xa10], eax
mov eax, dword [ebp - 0x9c0]
inc eax
mov dword [ebp - 0xad0], eax
jmp 0x8eaa03
mov eax, dword [ebp - 0xad0]
inc eax
mov dword [ebp - 0xad0], eax
mov eax, dword [ebp - 0xad0]
cmp eax, dword [ebp - 0xa10]
jge 0x8eac5d
mov eax, dword [ebp - 0x9c0]
inc eax
mov dword [ebp - 0x9c0], eax
mov eax, dword [ebp - 0x9c0]
shl eax, 1
mov dword [ebp - 0xa58], eax
mov eax, dword [ebp - 0xa5c]
add eax, dword [ebp - 0xa58]
movzx eax, byte [eax]
mov dword [ebp - 0xa34], eax
mov dword [ebp - 0xa38], 0x65
mov eax, dword [ebp - 0x9c0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xa60], eax
mov eax, dword [ebp - 0xa5c]
add eax, dword [ebp - 0xa60]
movzx eax, byte [eax]
mov dword [ebp - 0xa3c], eax
mov dword [ebp - 0xa40], 0xe2
mov eax, dword [ebp - 0xa34]
sub eax, dword [ebp - 0xa38]
mov dword [ebp - 0xa48], eax
mov eax, dword [ebp - 0xa3c]
sub eax, dword [ebp - 0xa40]
mov dword [ebp - 0xa44], eax
mov eax, dword [ebp - 0xa48]
shl eax, 4
mov dword [ebp - 0xa64], eax
mov eax, dword [ebp - 0xa44]
mov dword [ebp - 0xa68], eax
mov eax, dword [ebp - 0xa64]
or eax, dword [ebp - 0xa68]
mov dword [ebp - 0xa6c], eax
mov al, byte [ebp - 0xa6c]
mov byte [ebp - 0x9af], al
movzx eax, byte [ebp - 0x9ab]
mov al, byte [ebp + eax - 0xd1c]
mov byte [ebp - 0x9b1], al
movzx eax, byte [ebp - 0x9a8]
movzx eax, byte [ebp + eax - 0xd1c]
movzx ecx, byte [ebp - 0x9a9]
add ecx, eax
mov byte [ebp - 0x9a9], cl
mov al, byte [ebp - 0x9a8]
add al, 1
mov byte [ebp - 0x9a8], al
movzx eax, byte [ebp - 0x9a9]
movzx ecx, byte [ebp - 0x9ab]
mov al, byte [ebp + eax - 0xd1c]
mov byte [ebp + ecx - 0xd1c], al
movzx eax, byte [ebp - 0x9aa]
movzx ecx, byte [ebp - 0x9a9]
mov al, byte [ebp + eax - 0xd1c]
mov byte [ebp + ecx - 0xd1c], al
movzx eax, byte [ebp - 0x9a8]
movzx ecx, byte [ebp - 0x9aa]
mov al, byte [ebp + eax - 0xd1c]
mov byte [ebp + ecx - 0xd1c], al
movzx eax, byte [ebp - 0x9a8]
mov cl, byte [ebp - 0x9b1]
mov byte [ebp + eax - 0xd1c], cl
movzx eax, byte [ebp - 0x9b1]
movzx eax, byte [ebp + eax - 0xd1c]
movzx ecx, byte [ebp - 0x9b0]
add ecx, eax
mov byte [ebp - 0x9b0], cl
movzx eax, byte [ebp - 0x9af]
movzx ecx, byte [ebp - 0x9a9]
movzx ecx, byte [ebp + ecx - 0xd1c]
movzx edx, byte [ebp - 0x9a8]
movzx edx, byte [ebp + edx - 0xd1c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd1c]
xor eax, ecx
movzx ecx, byte [ebp - 0x9aa]
movzx ecx, byte [ebp + ecx - 0xd1c]
movzx edx, byte [ebp - 0x9ab]
movzx edx, byte [ebp + edx - 0xd1c]
add ecx, edx
movzx edx, byte [ebp - 0x9b0]
movzx edx, byte [ebp + edx - 0xd1c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd1c]
movzx ecx, byte [ebp + ecx - 0xd1c]
xor eax, ecx
mov byte [ebp - 0x9aa], al
mov al, byte [ebp - 0x9af]
mov byte [ebp - 0x9ab], al
mov al, byte [ebp - 0x9aa]
mov byte [ebp - 0x9b9], al
cmp dword [ebp - 0x9c0], 0
jle 0x8eac58
mov eax, dword [ebp - 0x9c0]
mov cl, byte [ebp - 0x9b9]
mov byte [ebp + eax - 0x21], cl
jmp 0x8ea9f6
mov eax, dword [ebp - 0xa10]
inc eax
mov dword [ebp - 0xa10], eax
mov eax, dword [ebp - 0xa10]
add eax, 6
mov dword [ebp - 0xa10], eax
mov eax, dword [ebp - 0x9c0]
inc eax
mov dword [ebp - 0xad4], eax
jmp 0x8eac95
mov eax, dword [ebp - 0xad4]
inc eax
mov dword [ebp - 0xad4], eax
mov eax, dword [ebp - 0xad4]
cmp eax, dword [ebp - 0xa10]
jge 0x8eaeef
mov eax, dword [ebp - 0x9c0]
inc eax
mov dword [ebp - 0x9c0], eax
mov eax, dword [ebp - 0x9c0]
shl eax, 1
mov dword [ebp - 0xa58], eax
mov eax, dword [ebp - 0xa5c]
add eax, dword [ebp - 0xa58]
movzx eax, byte [eax]
mov dword [ebp - 0xa34], eax
mov dword [ebp - 0xa38], 0x65
mov eax, dword [ebp - 0x9c0]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xa60], eax
mov eax, dword [ebp - 0xa5c]
add eax, dword [ebp - 0xa60]
movzx eax, byte [eax]
mov dword [ebp - 0xa3c], eax
mov dword [ebp - 0xa40], 0xe2
mov eax, dword [ebp - 0xa34]
sub eax, dword [ebp - 0xa38]
mov dword [ebp - 0xa48], eax
mov eax, dword [ebp - 0xa3c]
sub eax, dword [ebp - 0xa40]
mov dword [ebp - 0xa44], eax
mov eax, dword [ebp - 0xa48]
shl eax, 4
mov dword [ebp - 0xa64], eax
mov eax, dword [ebp - 0xa44]
mov dword [ebp - 0xa68], eax
mov eax, dword [ebp - 0xa64]
or eax, dword [ebp - 0xa68]
mov dword [ebp - 0xa6c], eax
mov al, byte [ebp - 0xa6c]
mov byte [ebp - 0x9af], al
movzx eax, byte [ebp - 0x9ab]
mov al, byte [ebp + eax - 0xd1c]
mov byte [ebp - 0x9b1], al
movzx eax, byte [ebp - 0x9a8]
movzx eax, byte [ebp + eax - 0xd1c]
movzx ecx, byte [ebp - 0x9a9]
add ecx, eax
mov byte [ebp - 0x9a9], cl
mov al, byte [ebp - 0x9a8]
add al, 1
mov byte [ebp - 0x9a8], al
movzx eax, byte [ebp - 0x9a9]
movzx ecx, byte [ebp - 0x9ab]
mov al, byte [ebp + eax - 0xd1c]
mov byte [ebp + ecx - 0xd1c], al
movzx eax, byte [ebp - 0x9aa]
movzx ecx, byte [ebp - 0x9a9]
mov al, byte [ebp + eax - 0xd1c]
mov byte [ebp + ecx - 0xd1c], al
movzx eax, byte [ebp - 0x9a8]
movzx ecx, byte [ebp - 0x9aa]
mov al, byte [ebp + eax - 0xd1c]
mov byte [ebp + ecx - 0xd1c], al
movzx eax, byte [ebp - 0x9a8]
mov cl, byte [ebp - 0x9b1]
mov byte [ebp + eax - 0xd1c], cl
movzx eax, byte [ebp - 0x9b1]
movzx eax, byte [ebp + eax - 0xd1c]
movzx ecx, byte [ebp - 0x9b0]
add ecx, eax
mov byte [ebp - 0x9b0], cl
movzx eax, byte [ebp - 0x9af]
movzx ecx, byte [ebp - 0x9a9]
movzx ecx, byte [ebp + ecx - 0xd1c]
movzx edx, byte [ebp - 0x9a8]
movzx edx, byte [ebp + edx - 0xd1c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd1c]
xor eax, ecx
movzx ecx, byte [ebp - 0x9aa]
movzx ecx, byte [ebp + ecx - 0xd1c]
movzx edx, byte [ebp - 0x9ab]
movzx edx, byte [ebp + edx - 0xd1c]
add ecx, edx
movzx edx, byte [ebp - 0x9b0]
movzx edx, byte [ebp + edx - 0xd1c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd1c]
movzx ecx, byte [ebp + ecx - 0xd1c]
xor eax, ecx
mov byte [ebp - 0x9aa], al
mov al, byte [ebp - 0x9af]
mov byte [ebp - 0x9ab], al
mov al, byte [ebp - 0x9aa]
mov byte [ebp - 0x9b9], al
cmp dword [ebp - 0x9c0], 0
jle 0x8eaeea
mov eax, dword [ebp - 0x9c0]
mov cl, byte [ebp - 0x9b9]
mov byte [ebp + eax - 0x21], cl
jmp 0x8eac88
mov eax, dword [ebp - 0xa10]
inc eax
mov dword [ebp - 0xa10], eax
xor eax, eax
inc eax
imul eax, eax, 0xc
mov dword [ebp - 0xaf4], eax
cmp dword [ebp - 0xaf4], 0xd
jae 0x8eaf13
jmp 0x8eaf19
call fcn.00979ee8
nop
mov eax, dword [ebp - 0xaf4]
mov byte [ebp + eax - 0x20], 0
jmp 0x8eaf6f
and dword [ebp - 0xab8], 0
jmp 0x8eaf3c
mov eax, dword [ebp - 0xab8]
inc eax
mov dword [ebp - 0xab8], eax
cmp dword [ebp - 0xab8], 0xd
jge 0x8eaf6f
mov eax, dword [ebp - 0xab8]
mov dword [ebp - 0xaf8], eax
cmp dword [ebp - 0xaf8], 0xd
jae 0x8eaf5c
jmp 0x8eaf62
call fcn.00979ee8
nop
mov eax, dword [ebp - 0xaf8]
mov byte [ebp + eax - 0x20], 0
jmp 0x8eaf2f
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0xc1c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0xc10], eax
lea eax, [ebp - 0x874]
push eax
lea eax, [ebp - 0x83c]
push eax
call dword [ebp - 0xc10]
push 0xc
lea ecx, [ebp - 0x870]
call fcn.0043daf6
lea ecx, [ebp - 0x870]
call fcn.004725ba
and dword [ebp - 4], 0
lea eax, [ebp - 0x9a0]
push eax
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x870]
push eax
call fcn.00904460
add esp, 0xc
xorps xmm0, xmm0
movlpd qword [ebp - 0xae0], xmm0
lea eax, [ebp - 0x83c]
push eax
lea ecx, [ebp - 0x88c]
call fcn.0043df50
mov byte [ebp - 4], 1
push 0x9d28c9
lea eax, [ebp - 0xd30]
push eax
lea ecx, [ebp - 0x88c]
call fcn.0047247d
push dword [eax]
lea eax, [ebp - 0xd2c]
push eax
lea ecx, [ebp - 0x88c]
call fcn.00472491
push dword [eax]
lea eax, [ebp - 0xd28]
push eax
lea ecx, [ebp - 0x88c]
call fcn.0047247d
push dword [eax]
lea eax, [ebp - 0xd24]
push eax
call fcn.0043df09
add esp, 0x14
lea ecx, [ebp - 0xad5]
call fcn.00472598
push eax
lea eax, [ebp - 0xd38]
push eax
lea ecx, [ebp - 0x88c]
call fcn.00472491
push dword [eax]
lea eax, [ebp - 0xd20]
push eax
lea ecx, [ebp - 0x88c]
call fcn.0047247d
push dword [eax]
lea ecx, [ebp - 0x8a4]
call fcn.0047604e
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x8dc]
call fcn.00956168
mov byte [ebp - 4], 3
push 0xb0
lea ecx, [ebp - 0x98c]
call fcn.0043daf6
push 1
mov eax, dword [ebp - 0x9a0]
cdq
push 0
push 4
push edx
push eax
call fcn.00979fd0
push edx
push eax
lea eax, [ebp - 0x864]
push eax
lea ecx, [ebp - 0x98c]
call fcn.008df20c
mov byte [ebp - 4], 4
lea eax, [ebp - 0x98c]
push eax
lea ecx, [ebp - 0x8dc]
call fcn.009582f4
lea eax, [ebp - 0x8a4]
push eax
lea ecx, [ebp - 0x8dc]
call fcn.009583bb
lea ecx, [ebp - 0x8dc]
call fcn.009566ee
nop
and dword [ebp - 0xa80], 0
jmp 0x8eb117
mov eax, dword [ebp - 0xa80]
inc eax
mov dword [ebp - 0xa80], eax
lea ecx, [ebp - 0x870]
call fcn.0090e938
cmp dword [ebp - 0xa80], eax
jae 0x8eb1e4
and dword [ebp - 0xab0], 0
jmp 0x8eb144
mov eax, dword [ebp - 0xab0]
inc eax
mov dword [ebp - 0xab0], eax
push dword [ebp - 0xa80]
lea ecx, [ebp - 0x870]
call fcn.008df515
mov ecx, dword [eax]
add ecx, 4
call fcn.0090e938
cmp dword [ebp - 0xab0], eax
jae 0x8eb1df
lea ecx, [ebp - 0x8dc]
call fcn.00472598
push eax
push dword [ebp - 0xab0]
push dword [ebp - 0xa80]
lea ecx, [ebp - 0x870]
call fcn.008df515
mov ecx, dword [eax]
add ecx, 4
call fcn.008df515
mov ecx, dword [eax]
call fcn.0090465d
mov byte [ebp - 0xa7a], al
movzx eax, byte [ebp - 0xa7a]
test eax, eax
je 0x8eb1da
push dword [ebp - 0xa80]
lea ecx, [ebp - 0x870]
call fcn.008df515
mov eax, dword [eax]
mov eax, dword [eax]
cdq
or eax, dword [ebp - 0xae0]
or edx, dword [ebp - 0xadc]
mov dword [ebp - 0xae0], eax
mov dword [ebp - 0xadc], edx
jmp 0x8eb137
jmp 0x8eb10a
lea eax, [ebp - 0x870]
push eax
call fcn.008eb2a9
pop ecx
mov eax, dword [ebp - 0xae0]
and eax, 0x800000
mov ecx, dword [ebp - 0xadc]
and ecx, 0
mov dword [ebp - 0xc18], eax
mov dword [ebp - 0xc14], ecx
mov eax, dword [ebp - 0xc18]
or eax, dword [ebp - 0xc14]
jne 0x8eb22b
mov dword [ebp - 0xafc], 1
jmp 0x8eb232
and dword [ebp - 0xafc], 0
mov al, byte [ebp - 0xafc]
mov byte [ebp - 0xa79], al
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x98c]
call fcn.008df5d1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x8dc]
call fcn.008df3ea
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x8a4]
call fcn.0041a7da
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x88c]
call fcn.0041a7df
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x870]
call fcn.0041cc3e
mov al, byte [ebp - 0xa79]
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.009799b3
leave
ret