Function at 0x486520
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ee13c
mov eax, dword fs:[0]
push eax
sub esp, 0xdc8
mov eax, dword [0xb5c470]
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 - 0xdcc], ecx
mov dword [ebp - 0xdc4], 0
push 0x800
push 0
lea eax, [ebp - 0x83c]
push eax
call fcn.004d8ef0
add esp, 0xc
mov dword [ebp - 0x874], 0x400
mov dword [ebp - 0x990], 0
mov dword [ebp - 0x998], 0
xorps xmm0, xmm0
movsd qword [ebp - 0xaf8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xacc], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xacc], xmm0
jmp 0x4865cd
movsd xmm0, qword [ebp - 0xacc]
addsd xmm0, qword [0x4f0488]
movsd qword [ebp - 0xacc], xmm0
movsd xmm0, qword [0x4f06b0]
comisd xmm0, xmmword [ebp - 0xacc]
jbe 0x48667e
movsd xmm0, qword [0x4f05f8]
mulsd xmm0, qword [ebp - 0xacc]
mulsd xmm0, qword [ebp - 0xacc]
movsd xmm1, qword [ebp - 0xacc]
mulsd xmm1, qword [ebp - 0xacc]
subsd xmm0, xmm1
movsd xmm1, qword [0x4f04b0]
mulsd xmm1, qword [ebp - 0xacc]
mulsd xmm1, qword [ebp - 0xacc]
addsd xmm1, qword [0x4f0538]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0xaf8]
movsd qword [ebp - 0xaf8], xmm0
or ch, dh
invalid
movsd xmm0, qword [ebp - 0xaf8]
comisd xmm0, xmmword [0x4f0588]
jbe 0x486679
or ch, dh
invalid
mov byte [0x2476004f], al
add eax, 0x2476004f
movsd xmm0, qword [0x4f0430]
movups xmm0, xmmword [0x4f0430]
mulsd xmm0, qword [ebp - 0xacc]
movsd xmm1, qword [ebp - 0xaf8]
subsd xmm1, xmm0
movsd qword [ebp - 0xaf8], xmm1
jmp 0x4865b5
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0xaf8]
jbe 0x4866c6
jae 0x486637
ja 0x486643
jge 0x486647
outsd dx, dword [esi]
lodsb al, byte [esi]
outsd dx, dword [esi]
mov bh, 0x76
mov al, 0x75
mov bh, 0x76
mov dh, 0x7b
stosd dword es:[edi], eax
jbe 0x486650
jns 0x486656
jp 0x486656
jl 0x48664f
outsd dx, dword [esi]
xor esi, dword [edi + 0x22]
xor dl, byte [ebx + 0x6d]
pop ecx
inc esp
cmp eax, 0x3454406b
sub al, 0x40
xor al, 0x20
and ecx, dword [ecx + 0x25]
and eax, 0x6c696b5c
push eax
jmp 0x48882f
mov dword [ebp - 0x990], 0x48668b
mov dword [ebp - 0x998], 0x4866a5
mov ecx, dword [ebp - 0x990]
mov dword [ebp - 0xa30], ecx
mov edx, dword [ebp - 0x998]
mov dword [ebp - 0xdb4], edx
mov byte [ebp - 0xa51], 0x20
mov dword [ebp - 0x9f0], 0
jmp 0x486714
mov eax, dword [ebp - 0x9f0]
add eax, 1
mov dword [ebp - 0x9f0], eax
cmp dword [ebp - 0x9f0], 0x100
jae 0x486735
mov ecx, dword [ebp - 0x9f0]
mov dl, byte [ebp - 0x9f0]
mov byte [ebp + ecx - 0xd9c], dl
jmp 0x486705
mov dword [ebp - 0xaa8], 0
mov byte [ebp - 0x9b1], 0
mov dword [ebp - 0x9f0], 0xff
jmp 0x486761
mov eax, dword [ebp - 0x9f0]
sub eax, 1
mov dword [ebp - 0x9f0], eax
cmp dword [ebp - 0x9f0], 0
jbe 0x486b49
mov dword [ebp - 0xb30], 0
mov dword [ebp - 0xb00], 1
mov ecx, dword [ebp - 0xb00]
cmp ecx, dword [ebp - 0x9f0]
jae 0x4867a2
mov edx, dword [ebp - 0xb00]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xb00], eax
jmp 0x486782
mov ecx, dword [ebp - 0xaa8]
mov dword [ebp - 0xb98], ecx
cmp dword [ebp - 0xb98], 3
ja case.default.0x4867c1
mov edx, dword [ebp - 0xb98]
jmp dword [edx*4 + 0x48acf0]
movzx eax, byte [ebp - 0x9b1]
movzx ebx, byte [ebp + eax - 0xd9c]
movsd xmm0, qword [ebp - 0xaf8]
call fcn.004d7730
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b1], bl
jmp 0x4868aa
movzx ecx, byte [ebp - 0x9b1]
movzx ebx, byte [ebp + ecx - 0xd9c]
movsd xmm0, qword [ebp - 0xaf8]
call fcn.004d7730
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b1], bl
jmp 0x4868aa
movzx edx, byte [ebp - 0x9b1]
movzx ebx, byte [ebp + edx - 0xd9c]
movsd xmm0, qword [ebp - 0xaf8]
call fcn.004d7730
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b1], bl
jmp 0x4868aa
movzx eax, byte [ebp - 0x9b1]
movzx ebx, byte [ebp + eax - 0xd9c]
movsd xmm0, qword [ebp - 0xaf8]
call fcn.004d7730
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b1], bl
jmp 0x4868aa
movzx ecx, byte [ebp - 0x9b1]
movzx edx, byte [ebp + ecx - 0xd9c]
mov eax, dword [ebp - 0xdb4]
add eax, dword [ebp - 0xaa8]
movzx ecx, byte [eax - 4]
add edx, ecx
mov byte [ebp - 0x9b1], dl
mov edx, dword [ebp - 0xaa8]
add edx, 1
mov dword [ebp - 0xaa8], edx
movzx eax, byte [ebp - 0xa51]
cmp dword [ebp - 0xaa8], eax
jb 0x486a60
movsd xmm0, qword [0x4f0a58]
movsd qword [ebp - 0xaf0], xmm0
movsd xmm0, qword [0x4f09c0]
movsd qword [ebp - 0xb44], xmm0
movsd xmm0, qword [0x4f08b0]
movsd qword [ebp - 0xabc], xmm0
movsd xmm0, qword [0x4f0758]
movsd qword [ebp - 0xb0c], xmm0
movsd xmm0, qword [ebp - 0xabc]
mulsd xmm0, qword [ebp - 0xb0c]
movsd qword [ebp - 0xabc], xmm0
movsd xmm0, qword [ebp - 0xaf0]
mulsd xmm0, qword [ebp - 0xb0c]
movsd qword [ebp - 0xaf0], xmm0
movsd xmm0, qword [ebp - 0xb44]
mulsd xmm0, qword [ebp - 0xb0c]
movsd qword [ebp - 0xb44], xmm0
movsd xmm0, qword [ebp - 0xabc]
mulsd xmm0, qword [ebp - 0xb0c]
movsd qword [ebp - 0xabc], xmm0
movsd xmm0, qword [ebp - 0xabc]
comisd xmm0, xmmword [ebp - 0xb0c]
jbe 0x4869ea
movsd xmm0, qword [ebp - 0xaf0]
subsd xmm0, qword [ebp - 0xabc]
movsd qword [ebp - 0xaf0], xmm0
movsd xmm0, qword [ebp - 0xb0c]
mulsd xmm0, qword [ebp - 0xb44]
movsd qword [ebp - 0xb0c], xmm0
movsd xmm0, qword [ebp - 0xaf0]
addsd xmm0, qword [ebp - 0xabc]
movsd qword [ebp - 0xaf0], xmm0
movsd xmm0, qword [ebp - 0xb44]
subsd xmm0, qword [ebp - 0xb0c]
movsd qword [ebp - 0xb44], xmm0
mov dword [ebp - 0xaa8], 0
jmp 0x486a4a
movsd xmm0, qword [ebp - 0xabc]
mulsd xmm0, qword [ebp - 0xaf0]
movsd qword [ebp - 0xabc], xmm0
movsd xmm0, qword [ebp - 0xaf0]
divsd xmm0, qword [ebp - 0xabc]
movsd qword [ebp - 0xaf0], xmm0
movsd xmm0, qword [ebp - 0xabc]
divsd xmm0, qword [ebp - 0xaf0]
movsd qword [ebp - 0xabc], xmm0
movsd xmm0, qword [ebp - 0xb44]
divsd xmm0, qword [ebp - 0xb0c]
movsd qword [ebp - 0xb44], xmm0
movzx ecx, byte [ebp - 0xa51]
movzx edx, byte [ebp - 0x9b1]
add edx, ecx
mov byte [ebp - 0x9b1], dl
movzx eax, byte [ebp - 0x9b1]
and eax, dword [ebp - 0xb00]
mov dword [ebp - 0xa70], eax
mov ecx, dword [ebp - 0xb30]
add ecx, 1
mov dword [ebp - 0xb30], ecx
cmp dword [ebp - 0xb30], 0xb
jbe 0x486a9f
mov eax, dword [ebp - 0xa70]
xor edx, edx
div dword [ebp - 0x9f0]
mov dword [ebp - 0xa70], edx
mov edx, dword [ebp - 0xa70]
cmp edx, dword [ebp - 0x9f0]
ja 0x4867a2
mov eax, dword [ebp - 0x9f0]
cmp eax, dword [ebp - 0xa70]
je 0x486b44
mov ecx, dword [ebp - 0xa70]
movzx edx, byte [ebp + ecx - 0xd9c]
mov eax, dword [ebp - 0x9f0]
movzx ecx, byte [ebp + eax - 0xd9c]
xor ecx, edx
mov edx, dword [ebp - 0x9f0]
mov byte [ebp + edx - 0xd9c], cl
mov eax, dword [ebp - 0x9f0]
movzx ecx, byte [ebp + eax - 0xd9c]
mov edx, dword [ebp - 0xa70]
movzx eax, byte [ebp + edx - 0xd9c]
xor eax, ecx
mov ecx, dword [ebp - 0xa70]
mov byte [ebp + ecx - 0xd9c], al
mov edx, dword [ebp - 0xa70]
movzx eax, byte [ebp + edx - 0xd9c]
mov ecx, dword [ebp - 0x9f0]
movzx edx, byte [ebp + ecx - 0xd9c]
xor edx, eax
mov eax, dword [ebp - 0x9f0]
mov byte [ebp + eax - 0xd9c], dl
jmp 0x486752
mov ecx, 1
shl ecx, 0
mov dl, byte [ebp + ecx - 0xd9c]
mov byte [ebp - 0x9a2], dl
mov eax, 1
imul ecx, eax, 3
mov dl, byte [ebp + ecx - 0xd9c]
mov byte [ebp - 0x9a5], dl
mov eax, 1
imul ecx, eax, 5
mov dl, byte [ebp + ecx - 0xd9c]
mov byte [ebp - 0x9ac], dl
mov eax, 1
imul ecx, eax, 7
mov dl, byte [ebp + ecx - 0xd9c]
mov byte [ebp - 0x9a6], dl
movzx eax, byte [ebp - 0x9b1]
mov cl, byte [ebp + eax - 0xd9c]
mov byte [ebp - 0x9a8], cl
mov dword [ebp - 0xb9c], 0x1a
cmp dword [ebp - 0xb9c], 2
jle 0x4887de
mov edx, dword [ebp - 0xb9c]
and edx, 1
jne 0x4887de
mov dword [ebp - 0x9bc], 0
mov dword [ebp - 0x9d0], 0
mov eax, dword [ebp - 0x9d0]
add eax, 1
mov dword [ebp - 0x9d0], eax
mov dword [ebp - 0xa2c], 0
mov ecx, dword [ebp - 0x9bc]
shl ecx, 1
mov dword [ebp - 0xa2c], ecx
mov dword [ebp - 0xa1c], 0
mov edx, dword [ebp - 0xa30]
add edx, dword [ebp - 0xa2c]
movzx eax, byte [edx]
add eax, dword [ebp - 0xa1c]
mov dword [ebp - 0xa1c], eax
mov dword [ebp - 0xa0c], 0
mov ecx, dword [ebp - 0xa0c]
add ecx, 0x6e
mov dword [ebp - 0xa0c], ecx
mov dword [ebp - 0xa34], 0
mov edx, dword [ebp - 0x9bc]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa34], eax
mov dword [ebp - 0xa10], 0
mov ecx, dword [ebp - 0xa30]
add ecx, dword [ebp - 0xa34]
movzx edx, byte [ecx]
add edx, dword [ebp - 0xa10]
mov dword [ebp - 0xa10], edx
mov dword [ebp - 0xa14], 0
mov eax, dword [ebp - 0xa14]
add eax, 0xa9
mov dword [ebp - 0xa14], eax
mov dword [ebp - 0xa18], 0
mov ecx, dword [ebp - 0xa1c]
sub ecx, dword [ebp - 0xa0c]
add ecx, dword [ebp - 0xa18]
mov dword [ebp - 0xa18], ecx
mov dword [ebp - 0xa20], 0
mov edx, dword [ebp - 0xa10]
sub edx, dword [ebp - 0xa14]
add edx, dword [ebp - 0xa20]
mov dword [ebp - 0xa20], edx
mov dword [ebp - 0xa38], 0
movss xmm0, dword [0x4f0c14]
movss dword [ebp - 0xa64], xmm0
movss xmm0, dword [0x4f0bb8]
movss dword [ebp - 0xa90], xmm0
movss xmm0, dword [0x4f0b60]
movss dword [ebp - 0xa74], xmm0
movss xmm0, dword [0x4f0b08]
movss dword [ebp - 0xa50], xmm0
movss xmm0, dword [0x4f0ab4]
movss dword [ebp - 0xa4c], xmm0
movss xmm0, dword [ebp - 0xa50]
mulss xmm0, dword [ebp - 0xa4c]
movss dword [ebp - 0xa50], xmm0
movss xmm0, dword [ebp - 0xa64]
mulss xmm0, dword [ebp - 0xa4c]
movss dword [ebp - 0xa64], xmm0
movss xmm0, dword [ebp - 0xa64]
addss xmm0, dword [ebp - 0xa4c]
movss dword [ebp - 0xa64], xmm0
movss xmm0, dword [ebp - 0xa50]
mulss xmm0, dword [ebp - 0xa4c]
movss dword [ebp - 0xa50], xmm0
movss xmm0, dword [ebp - 0xa50]
addss xmm0, dword [ebp - 0xa4c]
movss dword [ebp - 0xa50], xmm0
movss xmm0, dword [ebp - 0xa4c]
comiss xmm0, dword [ebp - 0xa50]
jbe 0x486e4e
movss xmm0, dword [ebp - 0xa64]
addss xmm0, dword [ebp - 0xa74]
movss dword [ebp - 0xa64], 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 - 0xa90]
movss dword [ebp - 0xa4c], xmm0
movss xmm0, dword [ebp - 0xa74]
divss xmm0, dword [ebp - 0xa4c]
movss dword [ebp - 0xa74], xmm0
movss xmm0, dword [ebp - 0xa90]
addss xmm0, dword [ebp - 0xa50]
movss dword [ebp - 0xa90], xmm0
jmp 0x486ed5
movss xmm0, dword [ebp - 0xa50]
addss xmm0, dword [ebp - 0xa4c]
movss dword [ebp - 0xa50], xmm0
movss xmm0, dword [ebp - 0xa64]
addss xmm0, dword [ebp - 0xa90]
movss dword [ebp - 0xa64], xmm0
movss xmm0, dword [ebp - 0xa74]
mulss xmm0, dword [ebp - 0xa50]
movss dword [ebp - 0xa74], xmm0
movss xmm0, dword [ebp - 0xa90]
addss xmm0, dword [ebp - 0xa74]
movss dword [ebp - 0xa90], xmm0
movss xmm0, dword [ebp - 0xa64]
addss xmm0, dword [ebp - 0xa90]
movss dword [ebp - 0xa64], xmm0
mov eax, dword [ebp - 0xa18]
shl eax, 4
mov dword [ebp - 0xa38], eax
mov dword [ebp - 0xa24], 0
mov ecx, dword [ebp - 0xa20]
mov dword [ebp - 0xa24], ecx
mov dword [ebp - 0xa28], 0
mov edx, dword [ebp - 0xa38]
or edx, dword [ebp - 0xa24]
mov dword [ebp - 0xa28], edx
mov byte [ebp - 0x9ad], 0
mov al, byte [ebp - 0xa28]
mov byte [ebp - 0x9ad], al
mov byte [ebp - 0x9ae], 0
movzx ecx, byte [ebp - 0x9a8]
mov dl, byte [ebp + ecx - 0xd9c]
mov byte [ebp - 0x9ae], dl
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp + eax - 0xd9c]
movzx edx, byte [ebp - 0x9a5]
add edx, ecx
mov byte [ebp - 0x9a5], dl
mov al, byte [ebp - 0x9a2]
add al, 1
mov byte [ebp - 0x9a2], al
movzx ecx, byte [ebp - 0x9a5]
movzx edx, byte [ebp - 0x9a8]
mov al, byte [ebp + ecx - 0xd9c]
mov byte [ebp + edx - 0xd9c], al
movzx ecx, byte [ebp - 0x9a6]
movzx edx, byte [ebp - 0x9a5]
mov al, byte [ebp + ecx - 0xd9c]
mov byte [ebp + edx - 0xd9c], al
movzx ecx, byte [ebp - 0x9a2]
movzx edx, byte [ebp - 0x9a6]
mov al, byte [ebp + ecx - 0xd9c]
mov byte [ebp + edx - 0xd9c], al
movzx ecx, byte [ebp - 0x9a2]
mov dl, byte [ebp - 0x9ae]
mov byte [ebp + ecx - 0xd9c], dl
movzx eax, byte [ebp - 0x9ae]
movzx ecx, byte [ebp + eax - 0xd9c]
movzx edx, byte [ebp - 0x9ac]
add edx, ecx
mov byte [ebp - 0x9ac], dl
movzx eax, byte [ebp - 0x9ad]
movzx ecx, byte [ebp - 0x9a5]
movzx edx, byte [ebp + ecx - 0xd9c]
movzx ecx, byte [ebp - 0x9a2]
movzx ecx, byte [ebp + ecx - 0xd9c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xd9c]
xor eax, edx
movzx ecx, byte [ebp - 0x9a6]
movzx edx, byte [ebp + ecx - 0xd9c]
movzx ecx, byte [ebp - 0x9a8]
movzx ecx, byte [ebp + ecx - 0xd9c]
add edx, ecx
movzx ecx, byte [ebp - 0x9ac]
movzx ecx, byte [ebp + ecx - 0xd9c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xd9c]
movzx ecx, byte [ebp + edx - 0xd9c]
xor eax, ecx
mov byte [ebp - 0x9a6], al
mov dl, byte [ebp - 0x9ad]
mov byte [ebp - 0x9a8], dl
mov al, byte [ebp - 0x9a6]
mov byte [ebp - 0x9b0], al
cmp dword [ebp - 0x9bc], 0
jle 0x4870a1
movsx cx, byte [ebp - 0x9b0]
mov edx, dword [ebp - 0x9bc]
mov word [ebp + edx*2 - 0x3e], cx
mov eax, dword [ebp - 0x9bc]
add eax, 1
mov dword [ebp - 0x9bc], eax
mov ecx, dword [ebp - 0x9d0]
add ecx, 1
mov dword [ebp - 0x9d0], ecx
mov edx, dword [ebp - 0x9bc]
shl edx, 1
mov dword [ebp - 0xa2c], edx
mov eax, dword [ebp - 0xa30]
add eax, dword [ebp - 0xa2c]
movzx ecx, byte [eax]
mov dword [ebp - 0xa1c], ecx
mov dword [ebp - 0xa0c], 0x6e
mov edx, dword [ebp - 0x9bc]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa34], eax
mov ecx, dword [ebp - 0xa30]
add ecx, dword [ebp - 0xa34]
movzx edx, byte [ecx]
mov dword [ebp - 0xa10], edx
mov dword [ebp - 0xa14], 0xa9
mov eax, dword [ebp - 0xa1c]
sub eax, dword [ebp - 0xa0c]
mov dword [ebp - 0xa18], eax
mov ecx, dword [ebp - 0xa10]
sub ecx, dword [ebp - 0xa14]
mov dword [ebp - 0xa20], ecx
mov edx, dword [ebp - 0xa18]
shl edx, 4
mov dword [ebp - 0xa38], edx
mov eax, dword [ebp - 0xa20]
mov dword [ebp - 0xa24], eax
mov ecx, dword [ebp - 0xa38]
or ecx, dword [ebp - 0xa24]
mov dword [ebp - 0xa28], ecx
mov dl, byte [ebp - 0xa28]
mov byte [ebp - 0x9ad], dl
movzx eax, byte [ebp - 0x9a8]
mov cl, byte [ebp + eax - 0xd9c]
mov byte [ebp - 0x9ae], cl
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp + edx - 0xd9c]
movzx ecx, byte [ebp - 0x9a5]
add ecx, eax
mov byte [ebp - 0x9a5], cl
mov dl, byte [ebp - 0x9a2]
add dl, 1
mov byte [ebp - 0x9a2], dl
movzx eax, byte [ebp - 0x9a5]
movzx ecx, byte [ebp - 0x9a8]
mov dl, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], dl
movzx eax, byte [ebp - 0x9a6]
movzx ecx, byte [ebp - 0x9a5]
mov dl, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], dl
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp - 0x9a6]
mov dl, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], dl
movzx eax, byte [ebp - 0x9a2]
mov cl, byte [ebp - 0x9ae]
mov byte [ebp + eax - 0xd9c], cl
movzx edx, byte [ebp - 0x9ae]
movzx eax, byte [ebp + edx - 0xd9c]
movzx ecx, byte [ebp - 0x9ac]
add ecx, eax
mov byte [ebp - 0x9ac], cl
movzx edx, byte [ebp - 0x9ad]
movzx eax, byte [ebp - 0x9a5]
movzx ecx, byte [ebp + eax - 0xd9c]
movzx eax, byte [ebp - 0x9a2]
movzx eax, byte [ebp + eax - 0xd9c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd9c]
xor edx, ecx
movzx eax, byte [ebp - 0x9a6]
movzx ecx, byte [ebp + eax - 0xd9c]
movzx eax, byte [ebp - 0x9a8]
movzx eax, byte [ebp + eax - 0xd9c]
add ecx, eax
movzx eax, byte [ebp - 0x9ac]
movzx eax, byte [ebp + eax - 0xd9c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd9c]
movzx eax, byte [ebp + ecx - 0xd9c]
xor edx, eax
mov byte [ebp - 0x9a6], dl
mov cl, byte [ebp - 0x9ad]
mov byte [ebp - 0x9a8], cl
mov dl, byte [ebp - 0x9a6]
mov byte [ebp - 0x9b0], dl
cmp dword [ebp - 0x9bc], 0
jle 0x4872f9
movsx ax, byte [ebp - 0x9b0]
mov ecx, dword [ebp - 0x9bc]
mov word [ebp + ecx*2 - 0x3e], ax
mov edx, dword [ebp - 0x9d0]
add edx, 3
mov dword [ebp - 0x9d0], edx
mov eax, dword [ebp - 0x9bc]
add eax, 1
mov dword [ebp - 0xb34], eax
jmp 0x487328
mov ecx, dword [ebp - 0xb34]
add ecx, 1
mov dword [ebp - 0xb34], ecx
mov edx, dword [ebp - 0xb34]
cmp edx, dword [ebp - 0x9d0]
jge 0x4877b1
mov eax, dword [ebp - 0x9bc]
add eax, 1
mov dword [ebp - 0x9bc], eax
mov ecx, dword [ebp - 0x9bc]
shl ecx, 1
mov dword [ebp - 0xa2c], ecx
mov edx, dword [ebp - 0xa30]
add edx, dword [ebp - 0xa2c]
movzx eax, byte [edx]
mov dword [ebp - 0xa1c], eax
mov dword [ebp - 0xa0c], 0x6e
mov ecx, dword [ebp - 0x9bc]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xa34], edx
mov eax, dword [ebp - 0xa30]
add eax, dword [ebp - 0xa34]
movzx ecx, byte [eax]
mov dword [ebp - 0xa10], ecx
mov dword [ebp - 0xa14], 0xa9
mov edx, dword [ebp - 0xa1c]
sub edx, dword [ebp - 0xa0c]
mov dword [ebp - 0xa18], edx
mov eax, dword [ebp - 0xa10]
sub eax, dword [ebp - 0xa14]
mov dword [ebp - 0xa20], eax
mov ecx, dword [ebp - 0xa18]
shl ecx, 4
mov dword [ebp - 0xa38], ecx
mov edx, dword [ebp - 0xa20]
mov dword [ebp - 0xa24], edx
mov eax, dword [ebp - 0xa38]
or eax, dword [ebp - 0xa24]
mov dword [ebp - 0xa28], eax
mov cl, byte [ebp - 0xa28]
mov byte [ebp - 0x9ad], cl
movzx edx, byte [ebp - 0x9a8]
mov al, byte [ebp + edx - 0xd9c]
mov byte [ebp - 0x9ae], al
movzx ecx, byte [ebp - 0x9a2]
movzx edx, byte [ebp + ecx - 0xd9c]
movzx eax, byte [ebp - 0x9a5]
add eax, edx
mov byte [ebp - 0x9a5], al
mov cl, byte [ebp - 0x9a2]
add cl, 1
mov byte [ebp - 0x9a2], cl
movzx edx, byte [ebp - 0x9a5]
movzx eax, byte [ebp - 0x9a8]
mov cl, byte [ebp + edx - 0xd9c]
mov byte [ebp + eax - 0xd9c], cl
movzx edx, byte [ebp - 0x9a6]
movzx eax, byte [ebp - 0x9a5]
mov cl, byte [ebp + edx - 0xd9c]
mov byte [ebp + eax - 0xd9c], cl
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp - 0x9a6]
mov cl, byte [ebp + edx - 0xd9c]
mov byte [ebp + eax - 0xd9c], cl
movzx edx, byte [ebp - 0x9a2]
mov al, byte [ebp - 0x9ae]
mov byte [ebp + edx - 0xd9c], al
movsd xmm0, qword [0x4f0a48]
movsd qword [ebp - 0xb3c], xmm0
movsd xmm0, qword [0x4f09f8]
movsd qword [ebp - 0xa88], xmm0
movsd xmm0, qword [0x4f0948]
movsd qword [ebp - 0xb20], xmm0
movsd xmm0, qword [0x4f0898]
movsd qword [ebp - 0xb90], xmm0
movsd xmm0, qword [0x4f07e0]
movsd qword [ebp - 0xb2c], xmm0
movsd xmm0, qword [0x4f06c8]
movsd qword [ebp - 0xad4], xmm0
movsd xmm0, qword [ebp - 0xb2c]
subsd xmm0, qword [ebp - 0xad4]
movsd qword [ebp - 0xb2c], xmm0
movsd xmm0, qword [ebp - 0xa88]
mulsd xmm0, qword [ebp - 0xad4]
movsd qword [ebp - 0xa88], xmm0
movsd xmm0, qword [ebp - 0xa88]
subsd xmm0, qword [ebp - 0xad4]
movsd qword [ebp - 0xa88], xmm0
movsd xmm0, qword [ebp - 0xb20]
mulsd xmm0, qword [ebp - 0xad4]
movsd qword [ebp - 0xb20], xmm0
movsd xmm0, qword [ebp - 0xa88]
addsd xmm0, qword [ebp - 0xad4]
movsd qword [ebp - 0xa88], xmm0
movsd xmm0, qword [ebp - 0xa88]
addsd xmm0, qword [ebp - 0xad4]
movsd qword [ebp - 0xa88], xmm0
movsd xmm0, qword [ebp - 0xa88]
comisd xmm0, xmmword [ebp - 0xb2c]
jbe 0x487664
movsd xmm0, qword [ebp - 0xb3c]
addsd xmm0, qword [ebp - 0xb20]
movsd qword [ebp - 0xb3c], xmm0
movsd xmm0, qword [ebp - 0xb3c]
addsd xmm0, qword [ebp - 0xb20]
movsd qword [ebp - 0xb3c], xmm0
movsd xmm0, qword [ebp - 0xad4]
addsd xmm0, qword [ebp - 0xa88]
movsd qword [ebp - 0xad4], xmm0
movsd xmm0, qword [ebp - 0xa88]
addsd xmm0, qword [ebp - 0xb90]
movsd qword [ebp - 0xa88], xmm0
movsd xmm0, qword [ebp - 0xb3c]
mulsd xmm0, qword [ebp - 0xb20]
movsd qword [ebp - 0xb3c], xmm0
movsd xmm0, qword [ebp - 0xb20]
addsd xmm0, qword [ebp - 0xb2c]
movsd qword [ebp - 0xb20], xmm0
movzx ecx, byte [ebp - 0x9ae]
movzx edx, byte [ebp + ecx - 0xd9c]
movzx eax, byte [ebp - 0x9ac]
add eax, edx
mov byte [ebp - 0x9ac], al
jmp 0x4876f4
movsd xmm0, qword [ebp - 0xa88]
subsd xmm0, qword [ebp - 0xb20]
movsd qword [ebp - 0xa88], xmm0
movsd xmm0, qword [ebp - 0xb90]
addsd xmm0, qword [ebp - 0xb2c]
movsd qword [ebp - 0xb90], xmm0
movsd xmm0, qword [ebp - 0xad4]
addsd xmm0, qword [ebp - 0xb3c]
movsd qword [ebp - 0xad4], xmm0
movsd xmm0, qword [ebp - 0xa88]
addsd xmm0, qword [ebp - 0xb20]
movsd qword [ebp - 0xa88], xmm0
movsd xmm0, qword [ebp - 0xb2c]
mulsd xmm0, qword [ebp - 0xad4]
movsd qword [ebp - 0xb2c], xmm0
movsd xmm0, qword [ebp - 0xb90]
addsd xmm0, qword [ebp - 0xb2c]
movsd qword [ebp - 0xb90], xmm0
movzx ecx, byte [ebp - 0x9ad]
movzx edx, byte [ebp - 0x9a5]
movzx eax, byte [ebp + edx - 0xd9c]
movzx edx, byte [ebp - 0x9a2]
movzx edx, byte [ebp + edx - 0xd9c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xd9c]
xor ecx, eax
movzx edx, byte [ebp - 0x9a6]
movzx eax, byte [ebp + edx - 0xd9c]
movzx edx, byte [ebp - 0x9a8]
movzx edx, byte [ebp + edx - 0xd9c]
add eax, edx
movzx edx, byte [ebp - 0x9ac]
movzx edx, byte [ebp + edx - 0xd9c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xd9c]
movzx edx, byte [ebp + eax - 0xd9c]
xor ecx, edx
mov byte [ebp - 0x9a6], cl
mov al, byte [ebp - 0x9ad]
mov byte [ebp - 0x9a8], al
mov cl, byte [ebp - 0x9a6]
mov byte [ebp - 0x9b0], cl
cmp dword [ebp - 0x9bc], 0
jle 0x4877ac
movsx dx, byte [ebp - 0x9b0]
mov eax, dword [ebp - 0x9bc]
mov word [ebp + eax*2 - 0x3e], dx
jmp 0x487319
mov ecx, dword [ebp - 0x9d0]
add ecx, 1
mov dword [ebp - 0x9d0], ecx
movsd xmm0, qword [0x4f0930]
movsd qword [ebp - 0xab0], xmm0
movsd xmm0, qword [0x4f08a8]
movsd qword [ebp - 0xac4], xmm0
movsd xmm0, qword [0x4f0820]
movsd qword [ebp - 0xb68], xmm0
movsd xmm0, qword [0x4f0748]
movsd qword [ebp - 0xb4c], xmm0
movsd xmm0, qword [0x4f0670]
movsd qword [ebp - 0xb14], xmm0
movsd xmm0, qword [ebp - 0xb4c]
addsd xmm0, qword [ebp - 0xb14]
movsd qword [ebp - 0xb4c], xmm0
movsd xmm0, qword [ebp - 0xab0]
subsd xmm0, qword [ebp - 0xb14]
movsd qword [ebp - 0xab0], xmm0
movsd xmm0, qword [ebp - 0xb68]
addsd xmm0, qword [ebp - 0xb14]
movsd qword [ebp - 0xb68], xmm0
movsd xmm0, qword [ebp - 0xac4]
addsd xmm0, qword [ebp - 0xb14]
movsd qword [ebp - 0xac4], xmm0
movsd xmm0, qword [ebp - 0xb4c]
subsd xmm0, qword [ebp - 0xb14]
movsd qword [ebp - 0xb4c], xmm0
movsd xmm0, qword [ebp - 0xac4]
comisd xmm0, xmmword [ebp - 0xb14]
jbe 0x487927
movsd xmm0, qword [ebp - 0xb68]
mulsd xmm0, qword [ebp - 0xb4c]
movsd qword [ebp - 0xb68], xmm0
movsd xmm0, qword [ebp - 0xb14]
mulsd xmm0, qword [ebp - 0xab0]
movsd qword [ebp - 0xb14], xmm0
movsd xmm0, qword [ebp - 0xac4]
subsd xmm0, qword [ebp - 0xb68]
movsd qword [ebp - 0xac4], xmm0
movsd xmm0, qword [ebp - 0xab0]
subsd xmm0, qword [ebp - 0xac4]
movsd qword [ebp - 0xab0], xmm0
movsd xmm0, qword [ebp - 0xac4]
addsd xmm0, qword [ebp - 0xb68]
movsd qword [ebp - 0xac4], xmm0
mov edx, dword [ebp - 0x9bc]
add edx, 1
mov dword [ebp - 0x9bc], edx
jmp 0x48799f
movsd xmm0, qword [ebp - 0xab0]
subsd xmm0, qword [ebp - 0xac4]
movsd qword [ebp - 0xab0], xmm0
movsd xmm0, qword [ebp - 0xab0]
addsd xmm0, qword [ebp - 0xac4]
movsd qword [ebp - 0xab0], xmm0
movsd xmm0, qword [ebp - 0xab0]
subsd xmm0, qword [ebp - 0xac4]
movsd qword [ebp - 0xab0], xmm0
movsd xmm0, qword [ebp - 0xab0]
mulsd xmm0, qword [ebp - 0xac4]
movsd qword [ebp - 0xab0], xmm0
movsd xmm0, qword [ebp - 0xb4c]
subsd xmm0, qword [ebp - 0xb14]
movsd qword [ebp - 0xb4c], xmm0
mov eax, dword [ebp - 0x9d0]
add eax, 1
mov dword [ebp - 0x9d0], eax
mov ecx, dword [ebp - 0x9bc]
shl ecx, 1
mov dword [ebp - 0xa2c], ecx
mov edx, dword [ebp - 0xa30]
add edx, dword [ebp - 0xa2c]
movzx eax, byte [edx]
mov dword [ebp - 0xa1c], eax
mov dword [ebp - 0xa0c], 0x6e
mov ecx, dword [ebp - 0x9bc]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xa34], edx
mov eax, dword [ebp - 0xa30]
add eax, dword [ebp - 0xa34]
movzx ecx, byte [eax]
mov dword [ebp - 0xa10], ecx
mov dword [ebp - 0xa14], 0xa9
mov edx, dword [ebp - 0xa1c]
sub edx, dword [ebp - 0xa0c]
mov dword [ebp - 0xa18], edx
mov eax, dword [ebp - 0xa10]
sub eax, dword [ebp - 0xa14]
mov dword [ebp - 0xa20], eax
mov ecx, dword [ebp - 0xa18]
shl ecx, 4
mov dword [ebp - 0xa38], ecx
mov edx, dword [ebp - 0xa20]
mov dword [ebp - 0xa24], edx
mov eax, dword [ebp - 0xa38]
or eax, dword [ebp - 0xa24]
mov dword [ebp - 0xa28], eax
mov cl, byte [ebp - 0xa28]
mov byte [ebp - 0x9ad], cl
movzx edx, byte [ebp - 0x9a8]
mov al, byte [ebp + edx - 0xd9c]
mov byte [ebp - 0x9ae], al
movzx ecx, byte [ebp - 0x9a2]
movzx edx, byte [ebp + ecx - 0xd9c]
movzx eax, byte [ebp - 0x9a5]
add eax, edx
mov byte [ebp - 0x9a5], al
mov cl, byte [ebp - 0x9a2]
add cl, 1
mov byte [ebp - 0x9a2], cl
movzx edx, byte [ebp - 0x9a5]
movzx eax, byte [ebp - 0x9a8]
mov cl, byte [ebp + edx - 0xd9c]
mov byte [ebp + eax - 0xd9c], cl
movzx edx, byte [ebp - 0x9a6]
movzx eax, byte [ebp - 0x9a5]
mov cl, byte [ebp + edx - 0xd9c]
mov byte [ebp + eax - 0xd9c], cl
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp - 0x9a6]
mov cl, byte [ebp + edx - 0xd9c]
mov byte [ebp + eax - 0xd9c], cl
movzx edx, byte [ebp - 0x9a2]
mov al, byte [ebp - 0x9ae]
mov byte [ebp + edx - 0xd9c], al
movzx ecx, byte [ebp - 0x9ae]
movzx edx, byte [ebp + ecx - 0xd9c]
movzx eax, byte [ebp - 0x9ac]
add eax, edx
mov byte [ebp - 0x9ac], al
movzx ecx, byte [ebp - 0x9ad]
movzx edx, byte [ebp - 0x9a5]
movzx eax, byte [ebp + edx - 0xd9c]
movzx edx, byte [ebp - 0x9a2]
movzx edx, byte [ebp + edx - 0xd9c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xd9c]
xor ecx, eax
movzx edx, byte [ebp - 0x9a6]
movzx eax, byte [ebp + edx - 0xd9c]
movzx edx, byte [ebp - 0x9a8]
movzx edx, byte [ebp + edx - 0xd9c]
add eax, edx
movzx edx, byte [ebp - 0x9ac]
movzx edx, byte [ebp + edx - 0xd9c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xd9c]
movzx edx, byte [ebp + eax - 0xd9c]
xor ecx, edx
mov byte [ebp - 0x9a6], cl
mov al, byte [ebp - 0x9ad]
mov byte [ebp - 0x9a8], al
mov cl, byte [ebp - 0x9a6]
mov byte [ebp - 0x9b0], cl
cmp dword [ebp - 0x9bc], 0
jle 0x487be6
movsx dx, byte [ebp - 0x9b0]
mov eax, dword [ebp - 0x9bc]
mov word [ebp + eax*2 - 0x3e], dx
mov ecx, dword [ebp - 0x9bc]
add ecx, 1
mov dword [ebp - 0x9bc], ecx
mov edx, dword [ebp - 0x9d0]
add edx, 1
mov dword [ebp - 0x9d0], edx
mov eax, dword [ebp - 0x9bc]
shl eax, 1
mov dword [ebp - 0xa2c], eax
mov ecx, dword [ebp - 0xa30]
add ecx, dword [ebp - 0xa2c]
movzx edx, byte [ecx]
mov dword [ebp - 0xa1c], edx
mov dword [ebp - 0xa0c], 0x6e
mov eax, dword [ebp - 0x9bc]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xa34], ecx
mov edx, dword [ebp - 0xa30]
add edx, dword [ebp - 0xa34]
movzx eax, byte [edx]
mov dword [ebp - 0xa10], eax
mov dword [ebp - 0xa14], 0xa9
mov ecx, dword [ebp - 0xa1c]
sub ecx, dword [ebp - 0xa0c]
mov dword [ebp - 0xa18], ecx
mov edx, dword [ebp - 0xa10]
sub edx, dword [ebp - 0xa14]
mov dword [ebp - 0xa20], edx
mov eax, dword [ebp - 0xa18]
shl eax, 4
mov dword [ebp - 0xa38], eax
mov ecx, dword [ebp - 0xa20]
mov dword [ebp - 0xa24], ecx
mov edx, dword [ebp - 0xa38]
or edx, dword [ebp - 0xa24]
mov dword [ebp - 0xa28], edx
mov al, byte [ebp - 0xa28]
mov byte [ebp - 0x9ad], al
movzx ecx, byte [ebp - 0x9a8]
mov dl, byte [ebp + ecx - 0xd9c]
mov byte [ebp - 0x9ae], dl
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp + eax - 0xd9c]
movzx edx, byte [ebp - 0x9a5]
add edx, ecx
mov byte [ebp - 0x9a5], dl
mov al, byte [ebp - 0x9a2]
add al, 1
mov byte [ebp - 0x9a2], al
movzx ecx, byte [ebp - 0x9a5]
movzx edx, byte [ebp - 0x9a8]
mov al, byte [ebp + ecx - 0xd9c]
mov byte [ebp + edx - 0xd9c], al
movzx ecx, byte [ebp - 0x9a6]
movzx edx, byte [ebp - 0x9a5]
mov al, byte [ebp + ecx - 0xd9c]
mov byte [ebp + edx - 0xd9c], al
movzx ecx, byte [ebp - 0x9a2]
movzx edx, byte [ebp - 0x9a6]
mov al, byte [ebp + ecx - 0xd9c]
mov byte [ebp + edx - 0xd9c], al
movzx ecx, byte [ebp - 0x9a2]
mov dl, byte [ebp - 0x9ae]
mov byte [ebp + ecx - 0xd9c], dl
movzx eax, byte [ebp - 0x9ae]
movzx ecx, byte [ebp + eax - 0xd9c]
movzx edx, byte [ebp - 0x9ac]
add edx, ecx
mov byte [ebp - 0x9ac], dl
movzx eax, byte [ebp - 0x9ad]
movzx ecx, byte [ebp - 0x9a5]
movzx edx, byte [ebp + ecx - 0xd9c]
movzx ecx, byte [ebp - 0x9a2]
movzx ecx, byte [ebp + ecx - 0xd9c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xd9c]
xor eax, edx
movzx ecx, byte [ebp - 0x9a6]
movzx edx, byte [ebp + ecx - 0xd9c]
movzx ecx, byte [ebp - 0x9a8]
movzx ecx, byte [ebp + ecx - 0xd9c]
add edx, ecx
movzx ecx, byte [ebp - 0x9ac]
movzx ecx, byte [ebp + ecx - 0xd9c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xd9c]
movzx ecx, byte [ebp + edx - 0xd9c]
xor eax, ecx
mov byte [ebp - 0x9a6], al
mov dl, byte [ebp - 0x9ad]
mov byte [ebp - 0x9a8], dl
mov al, byte [ebp - 0x9a6]
mov byte [ebp - 0x9b0], al
cmp dword [ebp - 0x9bc], 0
jle 0x487e3d
movsx cx, byte [ebp - 0x9b0]
mov edx, dword [ebp - 0x9bc]
mov word [ebp + edx*2 - 0x3e], cx
mov eax, dword [ebp - 0x9bc]
add eax, 1
mov dword [ebp - 0x9bc], eax
mov ecx, dword [ebp - 0x9d0]
add ecx, 1
mov dword [ebp - 0x9d0], ecx
mov edx, dword [ebp - 0x9bc]
shl edx, 1
mov dword [ebp - 0xa2c], edx
mov eax, dword [ebp - 0xa30]
add eax, dword [ebp - 0xa2c]
movzx ecx, byte [eax]
mov dword [ebp - 0xa1c], ecx
mov dword [ebp - 0xa0c], 0x6e
mov edx, dword [ebp - 0x9bc]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa34], eax
mov ecx, dword [ebp - 0xa30]
add ecx, dword [ebp - 0xa34]
movzx edx, byte [ecx]
mov dword [ebp - 0xa10], edx
mov dword [ebp - 0xa14], 0xa9
mov eax, dword [ebp - 0xa1c]
sub eax, dword [ebp - 0xa0c]
mov dword [ebp - 0xa18], eax
mov ecx, dword [ebp - 0xa10]
sub ecx, dword [ebp - 0xa14]
mov dword [ebp - 0xa20], ecx
mov edx, dword [ebp - 0xa18]
shl edx, 4
mov dword [ebp - 0xa38], edx
mov eax, dword [ebp - 0xa20]
mov dword [ebp - 0xa24], eax
mov ecx, dword [ebp - 0xa38]
or ecx, dword [ebp - 0xa24]
mov dword [ebp - 0xa28], ecx
mov dl, byte [ebp - 0xa28]
mov byte [ebp - 0x9ad], dl
movzx eax, byte [ebp - 0x9a8]
mov cl, byte [ebp + eax - 0xd9c]
mov byte [ebp - 0x9ae], cl
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp + edx - 0xd9c]
movzx ecx, byte [ebp - 0x9a5]
add ecx, eax
mov byte [ebp - 0x9a5], cl
mov dl, byte [ebp - 0x9a2]
add dl, 1
mov byte [ebp - 0x9a2], dl
movzx eax, byte [ebp - 0x9a5]
movzx ecx, byte [ebp - 0x9a8]
mov dl, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], dl
movzx eax, byte [ebp - 0x9a6]
movzx ecx, byte [ebp - 0x9a5]
mov dl, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], dl
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp - 0x9a6]
mov dl, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], dl
movzx eax, byte [ebp - 0x9a2]
mov cl, byte [ebp - 0x9ae]
mov byte [ebp + eax - 0xd9c], cl
movzx edx, byte [ebp - 0x9ae]
movzx eax, byte [ebp + edx - 0xd9c]
movzx ecx, byte [ebp - 0x9ac]
add ecx, eax
mov byte [ebp - 0x9ac], cl
movzx edx, byte [ebp - 0x9ad]
movzx eax, byte [ebp - 0x9a5]
movzx ecx, byte [ebp + eax - 0xd9c]
movzx eax, byte [ebp - 0x9a2]
movzx eax, byte [ebp + eax - 0xd9c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd9c]
xor edx, ecx
movzx eax, byte [ebp - 0x9a6]
movzx ecx, byte [ebp + eax - 0xd9c]
movzx eax, byte [ebp - 0x9a8]
movzx eax, byte [ebp + eax - 0xd9c]
add ecx, eax
movzx eax, byte [ebp - 0x9ac]
movzx eax, byte [ebp + eax - 0xd9c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd9c]
movzx eax, byte [ebp + ecx - 0xd9c]
xor edx, eax
mov byte [ebp - 0x9a6], dl
mov cl, byte [ebp - 0x9ad]
mov byte [ebp - 0x9a8], cl
mov dl, byte [ebp - 0x9a6]
mov byte [ebp - 0x9b0], dl
cmp dword [ebp - 0x9bc], 0
jle 0x488095
movsx ax, byte [ebp - 0x9b0]
mov ecx, dword [ebp - 0x9bc]
mov word [ebp + ecx*2 - 0x3e], ax
mov edx, dword [ebp - 0x9d0]
add edx, 4
mov dword [ebp - 0x9d0], edx
mov eax, dword [ebp - 0x9bc]
add eax, 1
mov dword [ebp - 0xb54], eax
jmp 0x4880c4
mov ecx, dword [ebp - 0xb54]
add ecx, 1
mov dword [ebp - 0xb54], ecx
mov edx, dword [ebp - 0xb54]
cmp edx, dword [ebp - 0x9d0]
jge 0x48854c
mov eax, dword [ebp - 0x9bc]
add eax, 1
mov dword [ebp - 0x9bc], eax
mov ecx, dword [ebp - 0x9bc]
shl ecx, 1
mov dword [ebp - 0xa2c], ecx
mov edx, dword [ebp - 0xa30]
add edx, dword [ebp - 0xa2c]
movzx eax, byte [edx]
mov dword [ebp - 0xa1c], eax
mov dword [ebp - 0xa0c], 0x6e
mov ecx, dword [ebp - 0x9bc]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xa34], edx
mov eax, dword [ebp - 0xa30]
add eax, dword [ebp - 0xa34]
movzx ecx, byte [eax]
mov dword [ebp - 0xa10], ecx
mov dword [ebp - 0xa14], 0xa9
mov edx, dword [ebp - 0xa1c]
sub edx, dword [ebp - 0xa0c]
mov dword [ebp - 0xa18], edx
mov eax, dword [ebp - 0xa10]
sub eax, dword [ebp - 0xa14]
mov dword [ebp - 0xa20], eax
mov ecx, dword [ebp - 0xa18]
shl ecx, 4
mov dword [ebp - 0xa38], ecx
mov edx, dword [ebp - 0xa20]
mov dword [ebp - 0xa24], edx
movss xmm0, dword [0x4f0c88]
movss dword [ebp - 0xa78], xmm0
movss xmm0, dword [0x4f0c54]
movss dword [ebp - 0xa44], xmm0
movss xmm0, dword [0x4f0bfc]
movss dword [ebp - 0xa58], xmm0
movss xmm0, dword [0x4f0ba0]
movss dword [ebp - 0xab4], xmm0
movss xmm0, dword [0x4f0b3c]
movss dword [ebp - 0xa68], xmm0
movss xmm0, dword [0x4f0ad0]
movss dword [ebp - 0xa80], xmm0
movss xmm0, dword [ebp - 0xa68]
mulss xmm0, dword [ebp - 0xa80]
movss dword [ebp - 0xa68], xmm0
movss xmm0, dword [ebp - 0xa44]
mulss xmm0, dword [ebp - 0xa80]
movss dword [ebp - 0xa44], xmm0
movss xmm0, dword [ebp - 0xa78]
subss xmm0, dword [ebp - 0xa80]
movss dword [ebp - 0xa78], xmm0
movss xmm0, dword [ebp - 0xa44]
mulss xmm0, dword [ebp - 0xa80]
movss dword [ebp - 0xa44], xmm0
movss xmm0, dword [ebp - 0xa78]
mulss xmm0, dword [ebp - 0xa80]
movss dword [ebp - 0xa78], xmm0
movss xmm0, dword [ebp - 0xa58]
addss xmm0, dword [ebp - 0xa80]
movss dword [ebp - 0xa58], xmm0
movss xmm0, dword [ebp - 0xa44]
comiss xmm0, dword [ebp - 0xa80]
jbe 0x48832c
movss xmm0, dword [ebp - 0xa44]
subss xmm0, dword [ebp - 0xab4]
movss dword [ebp - 0xa44], xmm0
movss xmm0, dword [ebp - 0xa44]
addss xmm0, dword [ebp - 0xab4]
movss dword [ebp - 0xa44], xmm0
movss xmm0, dword [ebp - 0xa58]
subss xmm0, dword [ebp - 0xa68]
movss dword [ebp - 0xa58], xmm0
movss xmm0, dword [ebp - 0xab4]
subss xmm0, dword [ebp - 0xa80]
movss dword [ebp - 0xab4], xmm0
movss xmm0, dword [ebp - 0xa44]
addss xmm0, dword [ebp - 0xab4]
movss dword [ebp - 0xa44], xmm0
movss xmm0, dword [ebp - 0xa78]
mulss xmm0, dword [ebp - 0xa58]
movss dword [ebp - 0xa78], xmm0
mov eax, dword [ebp - 0xa38]
or eax, dword [ebp - 0xa24]
mov dword [ebp - 0xa28], eax
jmp 0x4883bc
movss xmm0, dword [ebp - 0xa44]
divss xmm0, dword [ebp - 0xab4]
movss dword [ebp - 0xa44], xmm0
movss xmm0, dword [ebp - 0xa58]
subss xmm0, dword [ebp - 0xa68]
movss dword [ebp - 0xa58], xmm0
movss xmm0, dword [ebp - 0xa58]
mulss xmm0, dword [ebp - 0xa68]
movss dword [ebp - 0xa58], xmm0
movss xmm0, dword [ebp - 0xa68]
addss xmm0, dword [ebp - 0xa78]
movss dword [ebp - 0xa68], xmm0
movss xmm0, dword [ebp - 0xa58]
subss xmm0, dword [ebp - 0xa68]
movss dword [ebp - 0xa58], xmm0
movss xmm0, dword [ebp - 0xa68]
divss xmm0, dword [ebp - 0xa78]
movss dword [ebp - 0xa68], xmm0
mov cl, byte [ebp - 0xa28]
mov byte [ebp - 0x9ad], cl
movzx edx, byte [ebp - 0x9a8]
mov al, byte [ebp + edx - 0xd9c]
mov byte [ebp - 0x9ae], al
movzx ecx, byte [ebp - 0x9a2]
movzx edx, byte [ebp + ecx - 0xd9c]
movzx eax, byte [ebp - 0x9a5]
add eax, edx
mov byte [ebp - 0x9a5], al
mov cl, byte [ebp - 0x9a2]
add cl, 1
mov byte [ebp - 0x9a2], cl
movzx edx, byte [ebp - 0x9a5]
movzx eax, byte [ebp - 0x9a8]
mov cl, byte [ebp + edx - 0xd9c]
mov byte [ebp + eax - 0xd9c], cl
movzx edx, byte [ebp - 0x9a6]
movzx eax, byte [ebp - 0x9a5]
mov cl, byte [ebp + edx - 0xd9c]
mov byte [ebp + eax - 0xd9c], cl
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp - 0x9a6]
mov cl, byte [ebp + edx - 0xd9c]
mov byte [ebp + eax - 0xd9c], cl
movzx edx, byte [ebp - 0x9a2]
mov al, byte [ebp - 0x9ae]
mov byte [ebp + edx - 0xd9c], al
movzx ecx, byte [ebp - 0x9ae]
movzx edx, byte [ebp + ecx - 0xd9c]
movzx eax, byte [ebp - 0x9ac]
add eax, edx
mov byte [ebp - 0x9ac], al
movzx ecx, byte [ebp - 0x9ad]
movzx edx, byte [ebp - 0x9a5]
movzx eax, byte [ebp + edx - 0xd9c]
movzx edx, byte [ebp - 0x9a2]
movzx edx, byte [ebp + edx - 0xd9c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xd9c]
xor ecx, eax
movzx edx, byte [ebp - 0x9a6]
movzx eax, byte [ebp + edx - 0xd9c]
movzx edx, byte [ebp - 0x9a8]
movzx edx, byte [ebp + edx - 0xd9c]
add eax, edx
movzx edx, byte [ebp - 0x9ac]
movzx edx, byte [ebp + edx - 0xd9c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xd9c]
movzx edx, byte [ebp + eax - 0xd9c]
xor ecx, edx
mov byte [ebp - 0x9a6], cl
mov al, byte [ebp - 0x9ad]
mov byte [ebp - 0x9a8], al
mov cl, byte [ebp - 0x9a6]
mov byte [ebp - 0x9b0], cl
cmp dword [ebp - 0x9bc], 0
jle 0x488547
movsx dx, byte [ebp - 0x9b0]
mov eax, dword [ebp - 0x9bc]
mov word [ebp + eax*2 - 0x3e], dx
jmp 0x4880b5
mov ecx, dword [ebp - 0x9d0]
add ecx, 1
mov dword [ebp - 0x9d0], ecx
mov edx, dword [ebp - 0x9bc]
add edx, 1
mov dword [ebp - 0x9bc], edx
mov eax, dword [ebp - 0x9d0]
add eax, 1
mov dword [ebp - 0x9d0], eax
mov ecx, dword [ebp - 0x9bc]
shl ecx, 1
mov dword [ebp - 0xa2c], ecx
mov edx, dword [ebp - 0xa30]
add edx, dword [ebp - 0xa2c]
movzx eax, byte [edx]
mov dword [ebp - 0xa1c], eax
mov dword [ebp - 0xa0c], 0x6e
mov ecx, dword [ebp - 0x9bc]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xa34], edx
mov eax, dword [ebp - 0xa30]
add eax, dword [ebp - 0xa34]
movzx ecx, byte [eax]
mov dword [ebp - 0xa10], ecx
mov dword [ebp - 0xa14], 0xa9
mov edx, dword [ebp - 0xa1c]
sub edx, dword [ebp - 0xa0c]
mov dword [ebp - 0xa18], edx
mov eax, dword [ebp - 0xa10]
sub eax, dword [ebp - 0xa14]
mov dword [ebp - 0xa20], eax
mov ecx, dword [ebp - 0xa18]
shl ecx, 4
mov dword [ebp - 0xa38], ecx
mov edx, dword [ebp - 0xa20]
mov dword [ebp - 0xa24], edx
mov eax, dword [ebp - 0xa38]
or eax, dword [ebp - 0xa24]
mov dword [ebp - 0xa28], eax
mov cl, byte [ebp - 0xa28]
mov byte [ebp - 0x9ad], cl
movzx edx, byte [ebp - 0x9a8]
mov al, byte [ebp + edx - 0xd9c]
mov byte [ebp - 0x9ae], al
movzx ecx, byte [ebp - 0x9a2]
movzx edx, byte [ebp + ecx - 0xd9c]
movzx eax, byte [ebp - 0x9a5]
add eax, edx
mov byte [ebp - 0x9a5], al
mov cl, byte [ebp - 0x9a2]
add cl, 1
mov byte [ebp - 0x9a2], cl
movzx edx, byte [ebp - 0x9a5]
movzx eax, byte [ebp - 0x9a8]
mov cl, byte [ebp + edx - 0xd9c]
mov byte [ebp + eax - 0xd9c], cl
movzx edx, byte [ebp - 0x9a6]
movzx eax, byte [ebp - 0x9a5]
mov cl, byte [ebp + edx - 0xd9c]
mov byte [ebp + eax - 0xd9c], cl
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp - 0x9a6]
mov cl, byte [ebp + edx - 0xd9c]
mov byte [ebp + eax - 0xd9c], cl
movzx edx, byte [ebp - 0x9a2]
mov al, byte [ebp - 0x9ae]
mov byte [ebp + edx - 0xd9c], al
movzx ecx, byte [ebp - 0x9ae]
movzx edx, byte [ebp + ecx - 0xd9c]
movzx eax, byte [ebp - 0x9ac]
add eax, edx
mov byte [ebp - 0x9ac], al
movzx ecx, byte [ebp - 0x9ad]
movzx edx, byte [ebp - 0x9a5]
movzx eax, byte [ebp + edx - 0xd9c]
movzx edx, byte [ebp - 0x9a2]
movzx edx, byte [ebp + edx - 0xd9c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xd9c]
xor ecx, eax
movzx edx, byte [ebp - 0x9a6]
movzx eax, byte [ebp + edx - 0xd9c]
movzx edx, byte [ebp - 0x9a8]
movzx edx, byte [ebp + edx - 0xd9c]
add eax, edx
movzx edx, byte [ebp - 0x9ac]
movzx edx, byte [ebp + edx - 0xd9c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xd9c]
movzx edx, byte [ebp + eax - 0xd9c]
xor ecx, edx
mov byte [ebp - 0x9a6], cl
mov al, byte [ebp - 0x9ad]
mov byte [ebp - 0x9a8], al
mov cl, byte [ebp - 0x9a6]
mov byte [ebp - 0x9b0], cl
cmp dword [ebp - 0x9bc], 0
jle 0x4887b1
movsx dx, byte [ebp - 0x9b0]
mov eax, dword [ebp - 0x9bc]
mov word [ebp + eax*2 - 0x3e], dx
mov ecx, 2
imul edx, ecx, 0xc
mov dword [ebp - 0xb84], edx
cmp dword [ebp - 0xb84], 0x1a
jae 0x4887ca
jmp 0x4887cf
call fcn.004d7537
xor eax, eax
mov ecx, dword [ebp - 0xb84]
mov word [ebp + ecx - 0x3c], ax
jmp 0x48882f
mov dword [ebp - 0xb04], 0
jmp 0x4887f9
mov edx, dword [ebp - 0xb04]
add edx, 1
mov dword [ebp - 0xb04], edx
cmp dword [ebp - 0xb04], 0xd
jge 0x48882f
mov eax, dword [ebp - 0xb04]
shl eax, 1
mov dword [ebp - 0xb88], eax
cmp dword [ebp - 0xb88], 0x1a
jae 0x48881b
jmp 0x488820
call fcn.004d7537
xor ecx, ecx
mov edx, dword [ebp - 0xb88]
mov word [ebp + edx - 0x3c], cx
jmp 0x4887ea
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0xdac], eax
mov dword [ebp - 0x994], 0
mov dword [ebp - 0x99c], 0
xorps xmm0, xmm0
movsd qword [ebp - 0xae8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xadc], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xadc], xmm0
jmp 0x48888e
movsd xmm0, qword [ebp - 0xadc]
addsd xmm0, qword [0x4f0dc0]
movsd qword [ebp - 0xadc], xmm0
movsd xmm0, qword [0x4f25d0]
comisd xmm0, xmmword [ebp - 0xadc]
jbe 0x48893f
movsd xmm0, qword [0x4f23f8]
mulsd xmm0, qword [ebp - 0xadc]
mulsd xmm0, qword [ebp - 0xadc]
movsd xmm1, qword [ebp - 0xadc]
mulsd xmm1, qword [ebp - 0xadc]
subsd xmm0, xmm1
movsd xmm1, qword [0x4f22a0]
mulsd xmm1, qword [ebp - 0xadc]
mulsd xmm1, qword [ebp - 0xadc]
addsd xmm1, qword [0x4f2338]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0xae8]
movsd qword [ebp - 0xae8], xmm0
pop esi
sal edx, 0xf
pop eax
test dword [eax], ebx
cmc
invalid
test dword [eax], ebx
cmc
sbb ch, dh
invalid
movsd xmm0, qword [ebp - 0xae8]
comisd xmm0, xmmword [0x4f2388]
jbe 0x48893a
jmp dword [esi + 0xf]
movsd xmm0, qword [0x4f2270]
mulsd xmm0, qword [ebp - 0xadc]
movsd xmm1, qword [ebp - 0xae8]
subsd xmm1, xmm0
movsd qword [ebp - 0xae8], xmm1
jmp 0x488876
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0xae8]
jbe 0x48897e
insb byte es:[edi], dx
lahf
jbe 0x4888f2
imul esp, dword [ecx - 0x5e8f5c94], 0x6b
stosb byte es:[edi], al
js 0x4888ff
jae 0x488900
outsb dx, byte [esi]
test al, 0x72
cmpsb byte [esi], byte es:[edi]
js 0x4888ff
je 0x48890b
ja 0x488904
insd dword es:[edi], dx
jle 0x4889a7
bound edi, qword [ebp + 0x39]
sub al, 0x4f
cmp edi, dword [0x2368713f]
pop edi
xor dword [eax + ecx*2 + 0x56], ebp
jmp 0x48a995
mov dword [ebp - 0x994], 0x48894c
mov dword [ebp - 0x99c], 0x488966
mov ecx, dword [ebp - 0x994]
mov dword [ebp - 0xa04], ecx
mov edx, dword [ebp - 0x99c]
mov dword [ebp - 0xdb0], edx
mov byte [ebp - 0xa45], 0x17
mov dword [ebp - 0xa08], 0
jmp 0x4889cc
invalid
mov eax, dword [ebp - 0xa08]
add eax, 1
mov dword [ebp - 0xa08], eax
cmp dword [ebp - 0xa08], 0x100
jae 0x4889ed
mov ecx, dword [ebp - 0xa08]
mov dl, byte [ebp - 0xa08]
mov byte [ebp + ecx - 0xc9c], dl
jmp 0x4889bd
mov dword [ebp - 0xa98], 0
mov byte [ebp - 0x9b2], 0
mov dword [ebp - 0xa08], 0xff
jmp 0x488a19
mov eax, dword [ebp - 0xa08]
sub eax, 1
mov dword [ebp - 0xa08], eax
cmp dword [ebp - 0xa08], 0
jbe 0x488c89
mov dword [ebp - 0xb58], 0
mov dword [ebp - 0xafc], 1
mov ecx, dword [ebp - 0xafc]
cmp ecx, dword [ebp - 0xa08]
jae 0x488a5a
mov edx, dword [ebp - 0xafc]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xafc], eax
jmp 0x488a3a
mov ecx, dword [ebp - 0xa98]
mov dword [ebp - 0xb94], ecx
cmp dword [ebp - 0xb94], 3
ja case.default.0x488a79
mov edx, dword [ebp - 0xb94]
jmp dword [edx*4 + 0x48ad00]
movzx eax, byte [ebp - 0x9b2]
movzx ebx, byte [ebp + eax - 0xc9c]
movsd xmm0, qword [ebp - 0xae8]
call fcn.004d7730
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b2], bl
jmp 0x488b62
movzx ecx, byte [ebp - 0x9b2]
movzx ebx, byte [ebp + ecx - 0xc9c]
movsd xmm0, qword [ebp - 0xae8]
call fcn.004d7730
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b2], bl
jmp 0x488b62
movzx edx, byte [ebp - 0x9b2]
movzx ebx, byte [ebp + edx - 0xc9c]
movsd xmm0, qword [ebp - 0xae8]
call fcn.004d7730
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b2], bl
jmp 0x488b62
movzx eax, byte [ebp - 0x9b2]
movzx ebx, byte [ebp + eax - 0xc9c]
movsd xmm0, qword [ebp - 0xae8]
call fcn.004d7730
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b2], bl
jmp 0x488b62
movzx ecx, byte [ebp - 0x9b2]
movzx edx, byte [ebp + ecx - 0xc9c]
mov eax, dword [ebp - 0xdb0]
add eax, dword [ebp - 0xa98]
movzx ecx, byte [eax - 4]
add edx, ecx
mov byte [ebp - 0x9b2], dl
mov edx, dword [ebp - 0xa98]
add edx, 1
mov dword [ebp - 0xa98], edx
movzx eax, byte [ebp - 0xa45]
cmp dword [ebp - 0xa98], eax
jb 0x488ba0
mov dword [ebp - 0xa98], 0
movzx ecx, byte [ebp - 0xa45]
movzx edx, byte [ebp - 0x9b2]
add edx, ecx
mov byte [ebp - 0x9b2], dl
movzx eax, byte [ebp - 0x9b2]
and eax, dword [ebp - 0xafc]
mov dword [ebp - 0xa7c], eax
mov ecx, dword [ebp - 0xb58]
add ecx, 1
mov dword [ebp - 0xb58], ecx
cmp dword [ebp - 0xb58], 0xb
jbe 0x488bdf
mov eax, dword [ebp - 0xa7c]
xor edx, edx
div dword [ebp - 0xa08]
mov dword [ebp - 0xa7c], edx
mov edx, dword [ebp - 0xa7c]
cmp edx, dword [ebp - 0xa08]
ja 0x488a5a
mov eax, dword [ebp - 0xa08]
cmp eax, dword [ebp - 0xa7c]
je 0x488c84
mov ecx, dword [ebp - 0xa7c]
movzx edx, byte [ebp + ecx - 0xc9c]
mov eax, dword [ebp - 0xa08]
movzx ecx, byte [ebp + eax - 0xc9c]
xor ecx, edx
mov edx, dword [ebp - 0xa08]
mov byte [ebp + edx - 0xc9c], cl
mov eax, dword [ebp - 0xa08]
movzx ecx, byte [ebp + eax - 0xc9c]
mov edx, dword [ebp - 0xa7c]
movzx eax, byte [ebp + edx - 0xc9c]
xor eax, ecx
mov ecx, dword [ebp - 0xa7c]
mov byte [ebp + ecx - 0xc9c], al
mov edx, dword [ebp - 0xa7c]
movzx eax, byte [ebp + edx - 0xc9c]
mov ecx, dword [ebp - 0xa08]
movzx edx, byte [ebp + ecx - 0xc9c]
xor edx, eax
mov eax, dword [ebp - 0xa08]
mov byte [ebp + eax - 0xc9c], dl
jmp 0x488a0a
mov ecx, 1
shl ecx, 0
mov dl, byte [ebp + ecx - 0xc9c]
mov byte [ebp - 0x9a1], dl
mov eax, 1
imul ecx, eax, 3
mov dl, byte [ebp + ecx - 0xc9c]
mov byte [ebp - 0x9a3], dl
mov eax, 1
imul ecx, eax, 5
mov dl, byte [ebp + ecx - 0xc9c]
mov byte [ebp - 0x9aa], dl
mov eax, 1
imul ecx, eax, 7
mov dl, byte [ebp + ecx - 0xc9c]
mov byte [ebp - 0x9a4], dl
movzx eax, byte [ebp - 0x9b2]
mov cl, byte [ebp + eax - 0xc9c]
mov byte [ebp - 0x9a7], cl
mov dword [ebp - 0xb74], 0x1a
cmp dword [ebp - 0xb74], 2
jle 0x48a948
mov edx, dword [ebp - 0xb74]
and edx, 1
jne 0x48a948
mov dword [ebp - 0x9b8], 0
mov dword [ebp - 0x9cc], 0
mov eax, dword [ebp - 0x9cc]
add eax, 1
mov dword [ebp - 0x9cc], eax
mov dword [ebp - 0x9ec], 0
mov ecx, dword [ebp - 0x9b8]
shl ecx, 1
mov dword [ebp - 0x9ec], ecx
mov dword [ebp - 0x9d4], 0
mov edx, dword [ebp - 0xa04]
add edx, dword [ebp - 0x9ec]
movzx eax, byte [edx]
add eax, dword [ebp - 0x9d4]
mov dword [ebp - 0x9d4], eax
mov dword [ebp - 0x9d8], 0
mov ecx, dword [ebp - 0x9d8]
add ecx, 0x69
mov dword [ebp - 0x9d8], ecx
mov dword [ebp - 0xa00], 0
mov edx, dword [ebp - 0x9b8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa00], eax
mov dword [ebp - 0x9e8], 0
mov ecx, dword [ebp - 0xa04]
add ecx, dword [ebp - 0xa00]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x9e8]
mov dword [ebp - 0x9e8], edx
mov dword [ebp - 0x9e4], 0
mov eax, dword [ebp - 0x9e4]
add eax, 0x9d
mov dword [ebp - 0x9e4], eax
mov dword [ebp - 0x9e0], 0
mov ecx, dword [ebp - 0x9d4]
sub ecx, dword [ebp - 0x9d8]
add ecx, dword [ebp - 0x9e0]
mov dword [ebp - 0x9e0], ecx
mov dword [ebp - 0x9dc], 0
mov edx, dword [ebp - 0x9e8]
sub edx, dword [ebp - 0x9e4]
add edx, dword [ebp - 0x9dc]
mov dword [ebp - 0x9dc], edx
mov dword [ebp - 0x9fc], 0
mov eax, dword [ebp - 0x9e0]
shl eax, 4
mov dword [ebp - 0x9fc], eax
mov dword [ebp - 0x9f8], 0
mov ecx, dword [ebp - 0x9dc]
mov dword [ebp - 0x9f8], ecx
mov dword [ebp - 0x9f4], 0
mov edx, dword [ebp - 0x9fc]
or edx, dword [ebp - 0x9f8]
mov dword [ebp - 0x9f4], edx
mov byte [ebp - 0x9ab], 0
mov al, byte [ebp - 0x9f4]
mov byte [ebp - 0x9ab], al
mov byte [ebp - 0x9a9], 0
movzx ecx, byte [ebp - 0x9a7]
mov dl, byte [ebp + ecx - 0xc9c]
mov byte [ebp - 0x9a9], dl
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + eax - 0xc9c]
movzx edx, byte [ebp - 0x9a3]
add edx, ecx
mov byte [ebp - 0x9a3], dl
mov al, byte [ebp - 0x9a1]
add al, 1
mov byte [ebp - 0x9a1], al
movzx ecx, byte [ebp - 0x9a3]
movzx edx, byte [ebp - 0x9a7]
mov al, byte [ebp + ecx - 0xc9c]
mov byte [ebp + edx - 0xc9c], al
movzx ecx, byte [ebp - 0x9a4]
movzx edx, byte [ebp - 0x9a3]
mov al, byte [ebp + ecx - 0xc9c]
mov byte [ebp + edx - 0xc9c], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp - 0x9a4]
mov al, byte [ebp + ecx - 0xc9c]
mov byte [ebp + edx - 0xc9c], al
movzx ecx, byte [ebp - 0x9a1]
mov dl, byte [ebp - 0x9a9]
mov byte [ebp + ecx - 0xc9c], dl
movzx eax, byte [ebp - 0x9a9]
movzx ecx, byte [ebp + eax - 0xc9c]
movzx edx, byte [ebp - 0x9aa]
add edx, ecx
mov byte [ebp - 0x9aa], dl
movzx eax, byte [ebp - 0x9ab]
movzx ecx, byte [ebp - 0x9a3]
movzx edx, byte [ebp + ecx - 0xc9c]
movzx ecx, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + ecx - 0xc9c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc9c]
xor eax, edx
movzx ecx, byte [ebp - 0x9a4]
movzx edx, byte [ebp + ecx - 0xc9c]
movzx ecx, byte [ebp - 0x9a7]
movzx ecx, byte [ebp + ecx - 0xc9c]
add edx, ecx
movzx ecx, byte [ebp - 0x9aa]
movzx ecx, byte [ebp + ecx - 0xc9c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc9c]
movzx ecx, byte [ebp + edx - 0xc9c]
xor eax, ecx
mov byte [ebp - 0x9a4], al
mov dl, byte [ebp - 0x9ab]
mov byte [ebp - 0x9a7], dl
mov al, byte [ebp - 0x9a4]
mov byte [ebp - 0x9af], al
cmp dword [ebp - 0x9b8], 0
jle 0x489010
mov ecx, dword [ebp - 0x9b8]
mov dl, byte [ebp - 0x9af]
mov byte [ebp + ecx - 0x21], dl
mov eax, dword [ebp - 0x9b8]
add eax, 1
mov dword [ebp - 0x9b8], eax
movss xmm0, dword [0x4f2b9c]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [0x4f2af4]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [0x4f2a08]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9c0]
mulss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c4]
mulss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [ebp - 0x9c0]
subss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c4]
comiss xmm0, dword [ebp - 0x9c8]
jbe 0x489104
movss xmm0, dword [ebp - 0x9c4]
addss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [ebp - 0x9c4]
subss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [ebp - 0x9c4]
addss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0x9c4], xmm0
mov ecx, dword [ebp - 0x9cc]
add ecx, 1
mov dword [ebp - 0x9cc], ecx
jmp 0x489325
movss xmm0, dword [ebp - 0x9c4]
subss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [ebp - 0x9c0]
mulss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c8]
divss xmm0, dword [ebp - 0x9c4]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9c0]
addss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c4]
mulss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [ebp - 0x9c8]
subss xmm0, dword [ebp - 0x9c4]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9c4]
comiss xmm0, dword [ebp - 0x9c0]
jbe 0x4891f2
movss xmm0, dword [ebp - 0x9c0]
addss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c0]
mulss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c8]
subss xmm0, dword [ebp - 0x9c4]
movss dword [ebp - 0x9c8], xmm0
jmp 0x489325
movss xmm0, dword [ebp - 0x9c4]
addss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [ebp - 0x9c0]
mulss xmm0, dword [ebp - 0x9c4]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c0]
addss xmm0, dword [ebp - 0x9c4]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c8]
addss xmm0, dword [ebp - 0x9c4]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9c8]
mulss xmm0, dword [ebp - 0x9c4]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9c0]
mulss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c4]
comiss xmm0, dword [ebp - 0x9c0]
jbe 0x4892dd
movss xmm0, dword [ebp - 0x9c0]
mulss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c4]
divss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0x9c4], xmm0
movss xmm0, dword [ebp - 0x9c0]
divss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9c0], xmm0
jmp 0x489325
movss xmm0, dword [ebp - 0x9c0]
mulss xmm0, dword [ebp - 0x9c4]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c0]
divss xmm0, dword [ebp - 0x9c4]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c8]
divss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0x9c8], xmm0
mov edx, dword [ebp - 0x9b8]
shl edx, 1
mov dword [ebp - 0x9ec], edx
mov eax, dword [ebp - 0xa04]
add eax, dword [ebp - 0x9ec]
movzx ecx, byte [eax]
mov dword [ebp - 0x9d4], ecx
mov dword [ebp - 0x9d8], 0x69
mov edx, dword [ebp - 0x9b8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa00], eax
mov ecx, dword [ebp - 0xa04]
add ecx, dword [ebp - 0xa00]
movzx edx, byte [ecx]
mov dword [ebp - 0x9e8], edx
mov dword [ebp - 0x9e4], 0x9d
mov eax, dword [ebp - 0x9d4]
sub eax, dword [ebp - 0x9d8]
mov dword [ebp - 0x9e0], eax
mov ecx, dword [ebp - 0x9e8]
sub ecx, dword [ebp - 0x9e4]
mov dword [ebp - 0x9dc], ecx
mov edx, dword [ebp - 0x9e0]
shl edx, 4
mov dword [ebp - 0x9fc], edx
mov eax, dword [ebp - 0x9dc]
mov dword [ebp - 0x9f8], eax
mov ecx, dword [ebp - 0x9fc]
or ecx, dword [ebp - 0x9f8]
mov dword [ebp - 0x9f4], ecx
mov dl, byte [ebp - 0x9f4]
mov byte [ebp - 0x9ab], dl
movzx eax, byte [ebp - 0x9a7]
mov cl, byte [ebp + eax - 0xc9c]
mov byte [ebp - 0x9a9], cl
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp + edx - 0xc9c]
movzx ecx, byte [ebp - 0x9a3]
add ecx, eax
mov byte [ebp - 0x9a3], cl
mov dl, byte [ebp - 0x9a1]
add dl, 1
mov byte [ebp - 0x9a1], dl
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp - 0x9a7]
mov dl, byte [ebp + eax - 0xc9c]
mov byte [ebp + ecx - 0xc9c], dl
movzx eax, byte [ebp - 0x9a4]
movzx ecx, byte [ebp - 0x9a3]
mov dl, byte [ebp + eax - 0xc9c]
mov byte [ebp + ecx - 0xc9c], dl
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp - 0x9a4]
mov dl, byte [ebp + eax - 0xc9c]
mov byte [ebp + ecx - 0xc9c], dl
movzx eax, byte [ebp - 0x9a1]
mov cl, byte [ebp - 0x9a9]
mov byte [ebp + eax - 0xc9c], cl
movzx edx, byte [ebp - 0x9a9]
movzx eax, byte [ebp + edx - 0xc9c]
movzx ecx, byte [ebp - 0x9aa]
add ecx, eax
mov byte [ebp - 0x9aa], cl
movzx edx, byte [ebp - 0x9ab]
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp + eax - 0xc9c]
movzx eax, byte [ebp - 0x9a1]
movzx eax, byte [ebp + eax - 0xc9c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc9c]
xor edx, ecx
movzx eax, byte [ebp - 0x9a4]
movzx ecx, byte [ebp + eax - 0xc9c]
movzx eax, byte [ebp - 0x9a7]
movzx eax, byte [ebp + eax - 0xc9c]
add ecx, eax
movzx eax, byte [ebp - 0x9aa]
movzx eax, byte [ebp + eax - 0xc9c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc9c]
movzx eax, byte [ebp + ecx - 0xc9c]
xor edx, eax
mov byte [ebp - 0x9a4], dl
mov cl, byte [ebp - 0x9ab]
mov byte [ebp - 0x9a7], cl
mov dl, byte [ebp - 0x9a4]
mov byte [ebp - 0x9af], dl
cmp dword [ebp - 0x9b8], 0
jle 0x48955c
mov eax, dword [ebp - 0x9b8]
mov cl, byte [ebp - 0x9af]
mov byte [ebp + eax - 0x21], cl
mov edx, dword [ebp - 0x9b8]
add edx, 1
mov dword [ebp - 0x9b8], edx
mov eax, dword [ebp - 0x9cc]
add eax, 1
mov dword [ebp - 0x9cc], eax
mov ecx, dword [ebp - 0x9b8]
shl ecx, 1
mov dword [ebp - 0x9ec], ecx
mov edx, dword [ebp - 0xa04]
add edx, dword [ebp - 0x9ec]
movzx eax, byte [edx]
mov dword [ebp - 0x9d4], eax
mov dword [ebp - 0x9d8], 0x69
mov ecx, dword [ebp - 0x9b8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xa00], edx
mov eax, dword [ebp - 0xa04]
add eax, dword [ebp - 0xa00]
movzx ecx, byte [eax]
mov dword [ebp - 0x9e8], ecx
mov dword [ebp - 0x9e4], 0x9d
mov edx, dword [ebp - 0x9d4]
sub edx, dword [ebp - 0x9d8]
mov dword [ebp - 0x9e0], edx
mov eax, dword [ebp - 0x9e8]
sub eax, dword [ebp - 0x9e4]
mov dword [ebp - 0x9dc], eax
mov ecx, dword [ebp - 0x9e0]
shl ecx, 4
mov dword [ebp - 0x9fc], ecx
mov edx, dword [ebp - 0x9dc]
mov dword [ebp - 0x9f8], edx
mov eax, dword [ebp - 0x9fc]
or eax, dword [ebp - 0x9f8]
mov dword [ebp - 0x9f4], eax
mov cl, byte [ebp - 0x9f4]
mov byte [ebp - 0x9ab], cl
movzx edx, byte [ebp - 0x9a7]
mov al, byte [ebp + edx - 0xc9c]
mov byte [ebp - 0x9a9], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + ecx - 0xc9c]
movzx eax, byte [ebp - 0x9a3]
add eax, edx
mov byte [ebp - 0x9a3], al
mov cl, byte [ebp - 0x9a1]
add cl, 1
mov byte [ebp - 0x9a1], cl
movzx edx, byte [ebp - 0x9a3]
movzx eax, byte [ebp - 0x9a7]
mov cl, byte [ebp + edx - 0xc9c]
mov byte [ebp + eax - 0xc9c], cl
movzx edx, byte [ebp - 0x9a4]
movzx eax, byte [ebp - 0x9a3]
mov cl, byte [ebp + edx - 0xc9c]
mov byte [ebp + eax - 0xc9c], cl
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp - 0x9a4]
mov cl, byte [ebp + edx - 0xc9c]
mov byte [ebp + eax - 0xc9c], cl
movzx edx, byte [ebp - 0x9a1]
mov al, byte [ebp - 0x9a9]
mov byte [ebp + edx - 0xc9c], al
movzx ecx, byte [ebp - 0x9a9]
movzx edx, byte [ebp + ecx - 0xc9c]
movzx eax, byte [ebp - 0x9aa]
add eax, edx
mov byte [ebp - 0x9aa], al
movzx ecx, byte [ebp - 0x9ab]
movzx edx, byte [ebp - 0x9a3]
movzx eax, byte [ebp + edx - 0xc9c]
movzx edx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + edx - 0xc9c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc9c]
xor ecx, eax
movzx edx, byte [ebp - 0x9a4]
movzx eax, byte [ebp + edx - 0xc9c]
movzx edx, byte [ebp - 0x9a7]
movzx edx, byte [ebp + edx - 0xc9c]
add eax, edx
movzx edx, byte [ebp - 0x9aa]
movzx edx, byte [ebp + edx - 0xc9c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc9c]
movzx edx, byte [ebp + eax - 0xc9c]
xor ecx, edx
mov byte [ebp - 0x9a4], cl
mov al, byte [ebp - 0x9ab]
mov byte [ebp - 0x9a7], al
mov cl, byte [ebp - 0x9a4]
mov byte [ebp - 0x9af], cl
cmp dword [ebp - 0x9b8], 0
jle 0x4897af
mov edx, dword [ebp - 0x9b8]
mov al, byte [ebp - 0x9af]
mov byte [ebp + edx - 0x21], al
mov ecx, dword [ebp - 0x9cc]
add ecx, 3
mov dword [ebp - 0x9cc], ecx
mov edx, dword [ebp - 0x9b8]
add edx, 1
mov dword [ebp - 0xb5c], edx
jmp 0x4897de
mov eax, dword [ebp - 0xb5c]
add eax, 1
mov dword [ebp - 0xb5c], eax
mov ecx, dword [ebp - 0xb5c]
cmp ecx, dword [ebp - 0x9cc]
jge 0x489a3a
mov edx, dword [ebp - 0x9b8]
add edx, 1
mov dword [ebp - 0x9b8], edx
mov eax, dword [ebp - 0x9b8]
shl eax, 1
mov dword [ebp - 0x9ec], eax
mov ecx, dword [ebp - 0xa04]
add ecx, dword [ebp - 0x9ec]
movzx edx, byte [ecx]
mov dword [ebp - 0x9d4], edx
mov dword [ebp - 0x9d8], 0x69
mov eax, dword [ebp - 0x9b8]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xa00], ecx
mov edx, dword [ebp - 0xa04]
add edx, dword [ebp - 0xa00]
movzx eax, byte [edx]
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x9e4], 0x9d
mov ecx, dword [ebp - 0x9d4]
sub ecx, dword [ebp - 0x9d8]
mov dword [ebp - 0x9e0], ecx
mov edx, dword [ebp - 0x9e8]
sub edx, dword [ebp - 0x9e4]
mov dword [ebp - 0x9dc], edx
mov eax, dword [ebp - 0x9e0]
shl eax, 4
mov dword [ebp - 0x9fc], eax
mov ecx, dword [ebp - 0x9dc]
mov dword [ebp - 0x9f8], ecx
mov edx, dword [ebp - 0x9fc]
or edx, dword [ebp - 0x9f8]
mov dword [ebp - 0x9f4], edx
mov al, byte [ebp - 0x9f4]
mov byte [ebp - 0x9ab], al
movzx ecx, byte [ebp - 0x9a7]
mov dl, byte [ebp + ecx - 0xc9c]
mov byte [ebp - 0x9a9], dl
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + eax - 0xc9c]
movzx edx, byte [ebp - 0x9a3]
add edx, ecx
mov byte [ebp - 0x9a3], dl
mov al, byte [ebp - 0x9a1]
add al, 1
mov byte [ebp - 0x9a1], al
movzx ecx, byte [ebp - 0x9a3]
movzx edx, byte [ebp - 0x9a7]
mov al, byte [ebp + ecx - 0xc9c]
mov byte [ebp + edx - 0xc9c], al
movzx ecx, byte [ebp - 0x9a4]
movzx edx, byte [ebp - 0x9a3]
mov al, byte [ebp + ecx - 0xc9c]
mov byte [ebp + edx - 0xc9c], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp - 0x9a4]
mov al, byte [ebp + ecx - 0xc9c]
mov byte [ebp + edx - 0xc9c], al
movzx ecx, byte [ebp - 0x9a1]
mov dl, byte [ebp - 0x9a9]
mov byte [ebp + ecx - 0xc9c], dl
movzx eax, byte [ebp - 0x9a9]
movzx ecx, byte [ebp + eax - 0xc9c]
movzx edx, byte [ebp - 0x9aa]
add edx, ecx
mov byte [ebp - 0x9aa], dl
movzx eax, byte [ebp - 0x9ab]
movzx ecx, byte [ebp - 0x9a3]
movzx edx, byte [ebp + ecx - 0xc9c]
movzx ecx, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + ecx - 0xc9c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc9c]
xor eax, edx
movzx ecx, byte [ebp - 0x9a4]
movzx edx, byte [ebp + ecx - 0xc9c]
movzx ecx, byte [ebp - 0x9a7]
movzx ecx, byte [ebp + ecx - 0xc9c]
add edx, ecx
movzx ecx, byte [ebp - 0x9aa]
movzx ecx, byte [ebp + ecx - 0xc9c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc9c]
movzx ecx, byte [ebp + edx - 0xc9c]
xor eax, ecx
mov byte [ebp - 0x9a4], al
mov dl, byte [ebp - 0x9ab]
mov byte [ebp - 0x9a7], dl
mov al, byte [ebp - 0x9a4]
mov byte [ebp - 0x9af], al
cmp dword [ebp - 0x9b8], 0
jle 0x489a35
mov ecx, dword [ebp - 0x9b8]
mov dl, byte [ebp - 0x9af]
mov byte [ebp + ecx - 0x21], dl
jmp 0x4897cf
mov eax, dword [ebp - 0x9cc]
add eax, 1
mov dword [ebp - 0x9cc], eax
mov ecx, dword [ebp - 0x9cc]
add ecx, 3
mov dword [ebp - 0x9cc], ecx
mov edx, dword [ebp - 0x9b8]
add edx, 1
mov dword [ebp - 0xb60], edx
jmp 0x489a78
mov eax, dword [ebp - 0xb60]
add eax, 1
mov dword [ebp - 0xb60], eax
mov ecx, dword [ebp - 0xb60]
cmp ecx, dword [ebp - 0x9cc]
jge 0x489def
mov edx, dword [ebp - 0x9b8]
add edx, 1
mov dword [ebp - 0x9b8], edx
mov eax, dword [ebp - 0x9b8]
shl eax, 1
mov dword [ebp - 0x9ec], eax
mov ecx, dword [ebp - 0xa04]
add ecx, dword [ebp - 0x9ec]
movzx edx, byte [ecx]
mov dword [ebp - 0x9d4], edx
mov dword [ebp - 0x9d8], 0x69
mov eax, dword [ebp - 0x9b8]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xa00], ecx
mov edx, dword [ebp - 0xa04]
add edx, dword [ebp - 0xa00]
movzx eax, byte [edx]
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x9e4], 0x9d
mov ecx, dword [ebp - 0x9d4]
sub ecx, dword [ebp - 0x9d8]
mov dword [ebp - 0x9e0], ecx
mov edx, dword [ebp - 0x9e8]
sub edx, dword [ebp - 0x9e4]
mov dword [ebp - 0x9dc], edx
mov eax, dword [ebp - 0x9e0]
shl eax, 4
mov dword [ebp - 0x9fc], eax
mov ecx, dword [ebp - 0x9dc]
mov dword [ebp - 0x9f8], ecx
mov edx, dword [ebp - 0x9fc]
or edx, dword [ebp - 0x9f8]
mov dword [ebp - 0x9f4], edx
mov al, byte [ebp - 0x9f4]
mov byte [ebp - 0x9ab], al
movss xmm0, dword [0x4f2b14]
movss dword [ebp - 0xa9c], xmm0
movss xmm0, dword [0x4f2a6c]
movss dword [ebp - 0xa40], xmm0
movss xmm0, dword [0x4f29c8]
movss dword [ebp - 0xa6c], xmm0
movss xmm0, dword [ebp - 0xa40]
addss xmm0, dword [ebp - 0xa6c]
movss dword [ebp - 0xa40], xmm0
movss xmm0, dword [ebp - 0xa40]
subss xmm0, dword [ebp - 0xa6c]
movss dword [ebp - 0xa40], xmm0
movss xmm0, dword [ebp - 0xa40]
addss xmm0, dword [ebp - 0xa6c]
movss dword [ebp - 0xa40], xmm0
movss xmm0, dword [ebp - 0xa9c]
comiss xmm0, dword [ebp - 0xa6c]
jbe 0x489c39
movss xmm0, dword [ebp - 0xa9c]
addss xmm0, dword [ebp - 0xa6c]
movss dword [ebp - 0xa9c], xmm0
movss xmm0, dword [ebp - 0xa9c]
subss xmm0, dword [ebp - 0xa6c]
movss dword [ebp - 0xa9c], xmm0
movss xmm0, dword [ebp - 0xa40]
subss xmm0, dword [ebp - 0xa9c]
movss dword [ebp - 0xa40], xmm0
movzx ecx, byte [ebp - 0x9a7]
mov dl, byte [ebp + ecx - 0xc9c]
mov byte [ebp - 0x9a9], dl
jmp 0x489c81
movss xmm0, dword [ebp - 0xa40]
divss xmm0, dword [ebp - 0xa6c]
movss dword [ebp - 0xa40], xmm0
movss xmm0, dword [ebp - 0xa40]
subss xmm0, dword [ebp - 0xa6c]
movss dword [ebp - 0xa40], xmm0
movss xmm0, dword [ebp - 0xa40]
mulss xmm0, dword [ebp - 0xa6c]
movss dword [ebp - 0xa40], xmm0
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + eax - 0xc9c]
movzx edx, byte [ebp - 0x9a3]
add edx, ecx
mov byte [ebp - 0x9a3], dl
mov al, byte [ebp - 0x9a1]
add al, 1
mov byte [ebp - 0x9a1], al
movzx ecx, byte [ebp - 0x9a3]
movzx edx, byte [ebp - 0x9a7]
mov al, byte [ebp + ecx - 0xc9c]
mov byte [ebp + edx - 0xc9c], al
movzx ecx, byte [ebp - 0x9a4]
movzx edx, byte [ebp - 0x9a3]
mov al, byte [ebp + ecx - 0xc9c]
mov byte [ebp + edx - 0xc9c], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp - 0x9a4]
mov al, byte [ebp + ecx - 0xc9c]
mov byte [ebp + edx - 0xc9c], al
movzx ecx, byte [ebp - 0x9a1]
mov dl, byte [ebp - 0x9a9]
mov byte [ebp + ecx - 0xc9c], dl
movzx eax, byte [ebp - 0x9a9]
movzx ecx, byte [ebp + eax - 0xc9c]
movzx edx, byte [ebp - 0x9aa]
add edx, ecx
mov byte [ebp - 0x9aa], dl
movzx eax, byte [ebp - 0x9ab]
movzx ecx, byte [ebp - 0x9a3]
movzx edx, byte [ebp + ecx - 0xc9c]
movzx ecx, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + ecx - 0xc9c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc9c]
xor eax, edx
movzx ecx, byte [ebp - 0x9a4]
movzx edx, byte [ebp + ecx - 0xc9c]
movzx ecx, byte [ebp - 0x9a7]
movzx ecx, byte [ebp + ecx - 0xc9c]
add edx, ecx
movzx ecx, byte [ebp - 0x9aa]
movzx ecx, byte [ebp + ecx - 0xc9c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc9c]
movzx ecx, byte [ebp + edx - 0xc9c]
xor eax, ecx
mov byte [ebp - 0x9a4], al
mov dl, byte [ebp - 0x9ab]
mov byte [ebp - 0x9a7], dl
mov al, byte [ebp - 0x9a4]
mov byte [ebp - 0x9af], al
cmp dword [ebp - 0x9b8], 0
jle 0x489dea
mov ecx, dword [ebp - 0x9b8]
mov dl, byte [ebp - 0x9af]
mov byte [ebp + ecx - 0x21], dl
jmp 0x489a69
mov eax, dword [ebp - 0x9cc]
add eax, 1
mov dword [ebp - 0x9cc], eax
mov ecx, dword [ebp - 0x9b8]
add ecx, 1
mov dword [ebp - 0x9b8], ecx
mov edx, dword [ebp - 0x9cc]
add edx, 1
mov dword [ebp - 0x9cc], edx
mov eax, dword [ebp - 0x9b8]
shl eax, 1
mov dword [ebp - 0x9ec], eax
mov ecx, dword [ebp - 0xa04]
add ecx, dword [ebp - 0x9ec]
movzx edx, byte [ecx]
mov dword [ebp - 0x9d4], edx
mov dword [ebp - 0x9d8], 0x69
mov eax, dword [ebp - 0x9b8]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xa00], ecx
mov edx, dword [ebp - 0xa04]
add edx, dword [ebp - 0xa00]
movzx eax, byte [edx]
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x9e4], 0x9d
mov ecx, dword [ebp - 0x9d4]
sub ecx, dword [ebp - 0x9d8]
mov dword [ebp - 0x9e0], ecx
mov edx, dword [ebp - 0x9e8]
sub edx, dword [ebp - 0x9e4]
mov dword [ebp - 0x9dc], edx
mov eax, dword [ebp - 0x9e0]
shl eax, 4
mov dword [ebp - 0x9fc], eax
mov ecx, dword [ebp - 0x9dc]
mov dword [ebp - 0x9f8], ecx
movss xmm0, dword [0x4f2be0]
movss dword [ebp - 0xa5c], xmm0
movss xmm0, dword [0x4f2ba8]
movss dword [ebp - 0xa60], xmm0
movss xmm0, dword [0x4f2b30]
movss dword [ebp - 0xae0], xmm0
movss xmm0, dword [0x4f2a80]
movss dword [ebp - 0xaa0], xmm0
movss xmm0, dword [0x4f29d8]
movss dword [ebp - 0xa3c], xmm0
movss xmm0, dword [ebp - 0xa60]
addss xmm0, dword [ebp - 0xa3c]
movss dword [ebp - 0xa60], xmm0
movss xmm0, dword [ebp - 0xa5c]
subss xmm0, dword [ebp - 0xa3c]
movss dword [ebp - 0xa5c], xmm0
movss xmm0, dword [ebp - 0xa5c]
mulss xmm0, dword [ebp - 0xa3c]
movss dword [ebp - 0xa5c], xmm0
movss xmm0, dword [ebp - 0xa5c]
mulss xmm0, dword [ebp - 0xa3c]
movss dword [ebp - 0xa5c], xmm0
movss xmm0, dword [ebp - 0xae0]
addss xmm0, dword [ebp - 0xa3c]
movss dword [ebp - 0xae0], xmm0
movss xmm0, dword [ebp - 0xa5c]
comiss xmm0, dword [ebp - 0xa3c]
jbe 0x48a020
movss xmm0, dword [ebp - 0xa3c]
subss xmm0, dword [ebp - 0xa5c]
movss dword [ebp - 0xa3c], xmm0
movss xmm0, dword [ebp - 0xae0]
mulss xmm0, dword [ebp - 0xaa0]
movss dword [ebp - 0xae0], xmm0
movss xmm0, dword [ebp - 0xa5c]
mulss xmm0, dword [ebp - 0xa60]
movss dword [ebp - 0xa5c], xmm0
movss xmm0, dword [ebp - 0xa60]
mulss xmm0, dword [ebp - 0xae0]
movss dword [ebp - 0xa60], xmm0
movss xmm0, dword [ebp - 0xaa0]
addss xmm0, dword [ebp - 0xa3c]
movss dword [ebp - 0xaa0], xmm0
mov edx, dword [ebp - 0x9fc]
or edx, dword [ebp - 0x9f8]
mov dword [ebp - 0x9f4], edx
jmp 0x48a098
movss xmm0, dword [ebp - 0xa3c]
subss xmm0, dword [ebp - 0xa60]
movss dword [ebp - 0xa3c], xmm0
movss xmm0, dword [ebp - 0xa60]
addss xmm0, dword [ebp - 0xaa0]
movss dword [ebp - 0xa60], xmm0
movss xmm0, dword [ebp - 0xa3c]
subss xmm0, dword [ebp - 0xa60]
movss dword [ebp - 0xa3c], xmm0
movss xmm0, dword [ebp - 0xa3c]
addss xmm0, dword [ebp - 0xa60]
movss dword [ebp - 0xa3c], xmm0
movss xmm0, dword [ebp - 0xaa0]
subss xmm0, dword [ebp - 0xa5c]
movss dword [ebp - 0xaa0], xmm0
mov al, byte [ebp - 0x9f4]
mov byte [ebp - 0x9ab], al
movzx ecx, byte [ebp - 0x9a7]
mov dl, byte [ebp + ecx - 0xc9c]
mov byte [ebp - 0x9a9], dl
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + eax - 0xc9c]
movzx edx, byte [ebp - 0x9a3]
add edx, ecx
mov byte [ebp - 0x9a3], dl
mov al, byte [ebp - 0x9a1]
add al, 1
mov byte [ebp - 0x9a1], al
movzx ecx, byte [ebp - 0x9a3]
movzx edx, byte [ebp - 0x9a7]
mov al, byte [ebp + ecx - 0xc9c]
mov byte [ebp + edx - 0xc9c], al
movzx ecx, byte [ebp - 0x9a4]
movzx edx, byte [ebp - 0x9a3]
mov al, byte [ebp + ecx - 0xc9c]
mov byte [ebp + edx - 0xc9c], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp - 0x9a4]
mov al, byte [ebp + ecx - 0xc9c]
mov byte [ebp + edx - 0xc9c], al
movzx ecx, byte [ebp - 0x9a1]
mov dl, byte [ebp - 0x9a9]
mov byte [ebp + ecx - 0xc9c], dl
movzx eax, byte [ebp - 0x9a9]
movzx ecx, byte [ebp + eax - 0xc9c]
movzx edx, byte [ebp - 0x9aa]
add edx, ecx
mov byte [ebp - 0x9aa], dl
movzx eax, byte [ebp - 0x9ab]
movzx ecx, byte [ebp - 0x9a3]
movzx edx, byte [ebp + ecx - 0xc9c]
movzx ecx, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + ecx - 0xc9c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc9c]
xor eax, edx
movzx ecx, byte [ebp - 0x9a4]
movzx edx, byte [ebp + ecx - 0xc9c]
movzx ecx, byte [ebp - 0x9a7]
movzx ecx, byte [ebp + ecx - 0xc9c]
add edx, ecx
movzx ecx, byte [ebp - 0x9aa]
movzx ecx, byte [ebp + ecx - 0xc9c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc9c]
movzx ecx, byte [ebp + edx - 0xc9c]
xor eax, ecx
mov byte [ebp - 0x9a4], al
mov dl, byte [ebp - 0x9ab]
mov byte [ebp - 0x9a7], dl
mov al, byte [ebp - 0x9a4]
mov byte [ebp - 0x9af], al
cmp dword [ebp - 0x9b8], 0
jle 0x48a221
mov ecx, dword [ebp - 0x9b8]
mov dl, byte [ebp - 0x9af]
mov byte [ebp + ecx - 0x21], dl
mov eax, dword [ebp - 0x9b8]
add eax, 1
mov dword [ebp - 0x9b8], eax
mov ecx, dword [ebp - 0x9cc]
add ecx, 1
mov dword [ebp - 0x9cc], ecx
mov edx, dword [ebp - 0x9b8]
shl edx, 1
mov dword [ebp - 0x9ec], edx
mov eax, dword [ebp - 0xa04]
add eax, dword [ebp - 0x9ec]
movzx ecx, byte [eax]
mov dword [ebp - 0x9d4], ecx
mov dword [ebp - 0x9d8], 0x69
mov edx, dword [ebp - 0x9b8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa00], eax
mov ecx, dword [ebp - 0xa04]
add ecx, dword [ebp - 0xa00]
movzx edx, byte [ecx]
mov dword [ebp - 0x9e8], edx
mov dword [ebp - 0x9e4], 0x9d
mov eax, dword [ebp - 0x9d4]
sub eax, dword [ebp - 0x9d8]
mov dword [ebp - 0x9e0], eax
mov ecx, dword [ebp - 0x9e8]
sub ecx, dword [ebp - 0x9e4]
mov dword [ebp - 0x9dc], ecx
mov edx, dword [ebp - 0x9e0]
shl edx, 4
mov dword [ebp - 0x9fc], edx
mov eax, dword [ebp - 0x9dc]
mov dword [ebp - 0x9f8], eax
mov ecx, dword [ebp - 0x9fc]
or ecx, dword [ebp - 0x9f8]
mov dword [ebp - 0x9f4], ecx
mov dl, byte [ebp - 0x9f4]
mov byte [ebp - 0x9ab], dl
movzx eax, byte [ebp - 0x9a7]
mov cl, byte [ebp + eax - 0xc9c]
mov byte [ebp - 0x9a9], cl
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp + edx - 0xc9c]
movzx ecx, byte [ebp - 0x9a3]
add ecx, eax
mov byte [ebp - 0x9a3], cl
mov dl, byte [ebp - 0x9a1]
add dl, 1
mov byte [ebp - 0x9a1], dl
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp - 0x9a7]
mov dl, byte [ebp + eax - 0xc9c]
mov byte [ebp + ecx - 0xc9c], dl
movzx eax, byte [ebp - 0x9a4]
movzx ecx, byte [ebp - 0x9a3]
mov dl, byte [ebp + eax - 0xc9c]
mov byte [ebp + ecx - 0xc9c], dl
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp - 0x9a4]
mov dl, byte [ebp + eax - 0xc9c]
mov byte [ebp + ecx - 0xc9c], dl
movzx eax, byte [ebp - 0x9a1]
mov cl, byte [ebp - 0x9a9]
mov byte [ebp + eax - 0xc9c], cl
movzx edx, byte [ebp - 0x9a9]
movzx eax, byte [ebp + edx - 0xc9c]
movzx ecx, byte [ebp - 0x9aa]
add ecx, eax
mov byte [ebp - 0x9aa], cl
movzx edx, byte [ebp - 0x9ab]
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp + eax - 0xc9c]
movzx eax, byte [ebp - 0x9a1]
movzx eax, byte [ebp + eax - 0xc9c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc9c]
xor edx, ecx
movzx eax, byte [ebp - 0x9a4]
movzx ecx, byte [ebp + eax - 0xc9c]
movzx eax, byte [ebp - 0x9a7]
movzx eax, byte [ebp + eax - 0xc9c]
add ecx, eax
movzx eax, byte [ebp - 0x9aa]
movzx eax, byte [ebp + eax - 0xc9c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc9c]
movzx eax, byte [ebp + ecx - 0xc9c]
xor edx, eax
mov byte [ebp - 0x9a4], dl
mov cl, byte [ebp - 0x9ab]
mov byte [ebp - 0x9a7], cl
mov dl, byte [ebp - 0x9a4]
mov byte [ebp - 0x9af], dl
cmp dword [ebp - 0x9b8], 0
jle 0x48a476
mov eax, dword [ebp - 0x9b8]
mov cl, byte [ebp - 0x9af]
mov byte [ebp + eax - 0x21], cl
mov edx, dword [ebp - 0x9b8]
add edx, 1
mov dword [ebp - 0x9b8], edx
mov eax, dword [ebp - 0x9cc]
add eax, 1
mov dword [ebp - 0x9cc], eax
mov ecx, dword [ebp - 0x9b8]
shl ecx, 1
mov dword [ebp - 0x9ec], ecx
mov edx, dword [ebp - 0xa04]
add edx, dword [ebp - 0x9ec]
movzx eax, byte [edx]
mov dword [ebp - 0x9d4], eax
mov dword [ebp - 0x9d8], 0x69
mov ecx, dword [ebp - 0x9b8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xa00], edx
mov eax, dword [ebp - 0xa04]
add eax, dword [ebp - 0xa00]
movzx ecx, byte [eax]
mov dword [ebp - 0x9e8], ecx
mov dword [ebp - 0x9e4], 0x9d
mov edx, dword [ebp - 0x9d4]
sub edx, dword [ebp - 0x9d8]
mov dword [ebp - 0x9e0], edx
mov eax, dword [ebp - 0x9e8]
sub eax, dword [ebp - 0x9e4]
mov dword [ebp - 0x9dc], eax
mov ecx, dword [ebp - 0x9e0]
shl ecx, 4
mov dword [ebp - 0x9fc], ecx
mov edx, dword [ebp - 0x9dc]
mov dword [ebp - 0x9f8], edx
mov eax, dword [ebp - 0x9fc]
or eax, dword [ebp - 0x9f8]
mov dword [ebp - 0x9f4], eax
mov cl, byte [ebp - 0x9f4]
mov byte [ebp - 0x9ab], cl
movzx edx, byte [ebp - 0x9a7]
mov al, byte [ebp + edx - 0xc9c]
mov byte [ebp - 0x9a9], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + ecx - 0xc9c]
movzx eax, byte [ebp - 0x9a3]
add eax, edx
mov byte [ebp - 0x9a3], al
mov cl, byte [ebp - 0x9a1]
add cl, 1
mov byte [ebp - 0x9a1], cl
movzx edx, byte [ebp - 0x9a3]
movzx eax, byte [ebp - 0x9a7]
mov cl, byte [ebp + edx - 0xc9c]
mov byte [ebp + eax - 0xc9c], cl
movzx edx, byte [ebp - 0x9a4]
movzx eax, byte [ebp - 0x9a3]
mov cl, byte [ebp + edx - 0xc9c]
mov byte [ebp + eax - 0xc9c], cl
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp - 0x9a4]
mov cl, byte [ebp + edx - 0xc9c]
mov byte [ebp + eax - 0xc9c], cl
movzx edx, byte [ebp - 0x9a1]
mov al, byte [ebp - 0x9a9]
mov byte [ebp + edx - 0xc9c], al
movzx ecx, byte [ebp - 0x9a9]
movzx edx, byte [ebp + ecx - 0xc9c]
movzx eax, byte [ebp - 0x9aa]
add eax, edx
mov byte [ebp - 0x9aa], al
movzx ecx, byte [ebp - 0x9ab]
movzx edx, byte [ebp - 0x9a3]
movzx eax, byte [ebp + edx - 0xc9c]
movzx edx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + edx - 0xc9c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc9c]
xor ecx, eax
movzx edx, byte [ebp - 0x9a4]
movzx eax, byte [ebp + edx - 0xc9c]
movzx edx, byte [ebp - 0x9a7]
movzx edx, byte [ebp + edx - 0xc9c]
add eax, edx
movzx edx, byte [ebp - 0x9aa]
movzx edx, byte [ebp + edx - 0xc9c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc9c]
movzx edx, byte [ebp + eax - 0xc9c]
xor ecx, edx
mov byte [ebp - 0x9a4], cl
mov al, byte [ebp - 0x9ab]
mov byte [ebp - 0x9a7], al
mov cl, byte [ebp - 0x9a4]
mov byte [ebp - 0x9af], cl
cmp dword [ebp - 0x9b8], 0
jle 0x48a6c9
mov edx, dword [ebp - 0x9b8]
mov al, byte [ebp - 0x9af]
mov byte [ebp + edx - 0x21], al
mov ecx, dword [ebp - 0x9b8]
add ecx, 1
mov dword [ebp - 0x9b8], ecx
mov edx, dword [ebp - 0x9cc]
add edx, 1
mov dword [ebp - 0x9cc], edx
mov eax, dword [ebp - 0x9b8]
shl eax, 1
mov dword [ebp - 0x9ec], eax
mov ecx, dword [ebp - 0xa04]
add ecx, dword [ebp - 0x9ec]
movzx edx, byte [ecx]
mov dword [ebp - 0x9d4], edx
mov dword [ebp - 0x9d8], 0x69
mov eax, dword [ebp - 0x9b8]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xa00], ecx
mov edx, dword [ebp - 0xa04]
add edx, dword [ebp - 0xa00]
movzx eax, byte [edx]
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x9e4], 0x9d
mov ecx, dword [ebp - 0x9d4]
sub ecx, dword [ebp - 0x9d8]
mov dword [ebp - 0x9e0], ecx
mov edx, dword [ebp - 0x9e8]
sub edx, dword [ebp - 0x9e4]
mov dword [ebp - 0x9dc], edx
mov eax, dword [ebp - 0x9e0]
shl eax, 4
mov dword [ebp - 0x9fc], eax
mov ecx, dword [ebp - 0x9dc]
mov dword [ebp - 0x9f8], ecx
mov edx, dword [ebp - 0x9fc]
or edx, dword [ebp - 0x9f8]
mov dword [ebp - 0x9f4], edx
mov al, byte [ebp - 0x9f4]
mov byte [ebp - 0x9ab], al
movzx ecx, byte [ebp - 0x9a7]
mov dl, byte [ebp + ecx - 0xc9c]
mov byte [ebp - 0x9a9], dl
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + eax - 0xc9c]
movzx edx, byte [ebp - 0x9a3]
add edx, ecx
mov byte [ebp - 0x9a3], dl
mov al, byte [ebp - 0x9a1]
add al, 1
mov byte [ebp - 0x9a1], al
movzx ecx, byte [ebp - 0x9a3]
movzx edx, byte [ebp - 0x9a7]
mov al, byte [ebp + ecx - 0xc9c]
mov byte [ebp + edx - 0xc9c], al
movzx ecx, byte [ebp - 0x9a4]
movzx edx, byte [ebp - 0x9a3]
mov al, byte [ebp + ecx - 0xc9c]
mov byte [ebp + edx - 0xc9c], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp - 0x9a4]
mov al, byte [ebp + ecx - 0xc9c]
mov byte [ebp + edx - 0xc9c], al
movzx ecx, byte [ebp - 0x9a1]
mov dl, byte [ebp - 0x9a9]
mov byte [ebp + ecx - 0xc9c], dl
movzx eax, byte [ebp - 0x9a9]
movzx ecx, byte [ebp + eax - 0xc9c]
movzx edx, byte [ebp - 0x9aa]
add edx, ecx
mov byte [ebp - 0x9aa], dl
movzx eax, byte [ebp - 0x9ab]
movzx ecx, byte [ebp - 0x9a3]
movzx edx, byte [ebp + ecx - 0xc9c]
movzx ecx, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + ecx - 0xc9c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc9c]
xor eax, edx
movzx ecx, byte [ebp - 0x9a4]
movzx edx, byte [ebp + ecx - 0xc9c]
movzx ecx, byte [ebp - 0x9a7]
movzx ecx, byte [ebp + ecx - 0xc9c]
add edx, ecx
movzx ecx, byte [ebp - 0x9aa]
movzx ecx, byte [ebp + ecx - 0xc9c]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc9c]
movzx ecx, byte [ebp + edx - 0xc9c]
xor eax, ecx
mov byte [ebp - 0x9a4], al
mov dl, byte [ebp - 0x9ab]
mov byte [ebp - 0x9a7], dl
mov al, byte [ebp - 0x9a4]
mov byte [ebp - 0x9af], al
cmp dword [ebp - 0x9b8], 0
jle 0x48a91d
mov ecx, dword [ebp - 0x9b8]
mov dl, byte [ebp - 0x9af]
mov byte [ebp + ecx - 0x21], dl
mov eax, 1
imul ecx, eax, 0xc
mov dword [ebp - 0xb80], ecx
cmp dword [ebp - 0xb80], 0xd
jae 0x48a936
jmp 0x48a93b
call fcn.004d7537
mov edx, dword [ebp - 0xb80]
mov byte [ebp + edx - 0x20], 0
jmp 0x48a995
mov dword [ebp - 0xb18], 0
jmp 0x48a963
mov eax, dword [ebp - 0xb18]
add eax, 1
mov dword [ebp - 0xb18], eax
cmp dword [ebp - 0xb18], 0xd
jge 0x48a995
mov ecx, dword [ebp - 0xb18]
mov dword [ebp - 0xb78], ecx
cmp dword [ebp - 0xb78], 0xd
jae 0x48a983
jmp 0x48a988
call fcn.004d7537
mov edx, dword [ebp - 0xb78]
mov byte [ebp + edx - 0x20], 0
jmp 0x48a954
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0xdac]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0xda8], eax
lea edx, [ebp - 0x874]
push edx
lea eax, [ebp - 0x83c]
push eax
call dword [ebp - 0xda8]
push 0xc
lea ecx, [ebp - 0x870]
call fcn.004391f0
lea ecx, [ebp - 0x870]
call fcn.0047cce0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x9a0]
push ecx
lea edx, [ebp - 0x864]
push edx
lea eax, [ebp - 0x870]
push eax
call fcn.004a5cb0
add esp, 0xc
xorps xmm0, xmm0
movlpd qword [ebp - 0xb70], xmm0
lea ecx, [ebp - 0x83c]
push ecx
lea ecx, [ebp - 0x88c]
call fcn.00418d60
mov byte [ebp - 4], 1
push fcn.004dce0c
lea edx, [ebp - 0xdc0]
push edx
lea ecx, [ebp - 0x88c]
call fcn.00439380
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0xdd4]
push ecx
lea ecx, [ebp - 0x88c]
call fcn.004393b0
mov edx, dword [eax]
push edx
lea eax, [ebp - 0xdbc]
push eax
lea ecx, [ebp - 0x88c]
call fcn.00439380
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0xdb8]
push edx
call fcn.00418d10
add esp, 0x14
lea ecx, [ebp - 0xb4d]
call fcn.0047cb80
push eax
lea eax, [ebp - 0xdc8]
push eax
lea ecx, [ebp - 0x88c]
call fcn.004393b0
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0xdd0]
push edx
lea ecx, [ebp - 0x88c]
call fcn.00439380
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x8a4]
call fcn.0047c6f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x8dc]
call fcn.004cf5e0
mov byte [ebp - 4], 3
push 0xb0
lea ecx, [ebp - 0x98c]
call fcn.004391f0
push 1
mov eax, dword [ebp - 0x9a0]
cdq
push 0
push 4
push edx
push eax
call fcn.004d7640
push edx
push eax
lea ecx, [ebp - 0x864]
push ecx
lea ecx, [ebp - 0x98c]
call fcn.0047d110
mov byte [ebp - 4], 4
lea edx, [ebp - 0x98c]
push edx
lea ecx, [ebp - 0x8dc]
call fcn.004d18f0
lea eax, [ebp - 0x8a4]
push eax
lea ecx, [ebp - 0x8dc]
call fcn.004d1a50
lea ecx, [ebp - 0x8dc]
call fcn.004cffc0
mov dword [ebp - 0xaa4], 0
jmp 0x48ab4a
mov ecx, dword [ebp - 0xaa4]
add ecx, 1
mov dword [ebp - 0xaa4], ecx
lea ecx, [ebp - 0x870]
call fcn.004b4da0
cmp dword [ebp - 0xaa4], eax
jae 0x48ac20
mov dword [ebp - 0xb24], 0
jmp 0x48ab7c
mov edx, dword [ebp - 0xb24]
add edx, 1
mov dword [ebp - 0xb24], edx
mov eax, dword [ebp - 0xaa4]
push eax
lea ecx, [ebp - 0x870]
call fcn.0047d570
mov ecx, dword [eax]
add ecx, 4
call fcn.004b4da0
cmp dword [ebp - 0xb24], eax
jae 0x48ac1b
lea ecx, [ebp - 0x8dc]
call fcn.0047cb80
push eax
mov ecx, dword [ebp - 0xb24]
push ecx
mov edx, dword [ebp - 0xaa4]
push edx
lea ecx, [ebp - 0x870]
call fcn.0047d570
mov ecx, dword [eax]
add ecx, 4
call fcn.0047d570
mov ecx, dword [eax]
call fcn.004a5ee0
mov byte [ebp - 0xa89], al
movzx eax, byte [ebp - 0xa89]
test eax, eax
je 0x48ac16
mov ecx, dword [ebp - 0xaa4]
push ecx
lea ecx, [ebp - 0x870]
call fcn.0047d570
mov edx, dword [eax]
mov eax, dword [edx]
cdq
or eax, dword [ebp - 0xb70]
or edx, dword [ebp - 0xb6c]
mov dword [ebp - 0xb70], eax
mov dword [ebp - 0xb6c], edx
jmp 0x48ab6d
jmp 0x48ab3b
lea eax, [ebp - 0x870]
push eax
call fcn.0048ad10
add esp, 4
mov ecx, dword [ebp - 0xb70]
and ecx, 0x800000
mov edx, dword [ebp - 0xb6c]
and edx, 0
mov dword [ebp - 0xda4], ecx
mov dword [ebp - 0xda0], edx
mov eax, dword [ebp - 0xda4]
or eax, dword [ebp - 0xda0]
jne 0x48ac6a
mov dword [ebp - 0xb7c], 1
jmp 0x48ac74
mov dword [ebp - 0xb7c], 0
mov cl, byte [ebp - 0xb7c]
mov byte [ebp - 0xa91], cl
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x98c]
call fcn.0047d580
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x8dc]
call fcn.0047d450
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x8a4]
call fcn.0047d390
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x88c]
call fcn.00418f00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x870]
call fcn.0047d3f0
mov al, byte [ebp - 0xa91]
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.004d6ff7
mov esp, ebp
pop ebp
ret