Function at 0x4a6897
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xa51a4c
mov eax, dword fs:[0]
push eax
sub esp, 0xda4
mov eax, dword [0xa8d06c]
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 - 0xda4], ecx
mov dword [ebp - 0xda0], 0
push 0x800
push 0
lea eax, [ebp - 0x83c]
push eax
call fcn.00a2a2c0
add esp, 0xc
mov dword [ebp - 0x874], 0x400
mov dword [ebp - 0x994], 0
mov dword [ebp - 0x998], 0
xorps xmm0, xmm0
movsd qword [ebp - 0xb04], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xaec], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xaec], xmm0
jmp 0x4a669d
movsd xmm0, qword [ebp - 0xaec]
addsd xmm0, qword [0xa55360]
movsd qword [ebp - 0xaec], xmm0
movsd xmm0, qword [0xa56548]
comisd xmm0, xmmword [ebp - 0xaec]
jbe 0x4a674e
movsd xmm0, qword [0xa563d0]
mulsd xmm0, qword [ebp - 0xaec]
mulsd xmm0, qword [ebp - 0xaec]
movsd xmm1, qword [ebp - 0xaec]
mulsd xmm1, qword [ebp - 0xaec]
subsd xmm0, xmm1
movsd xmm1, qword [0xa562c8]
mulsd xmm1, qword [ebp - 0xaec]
mulsd xmm1, qword [ebp - 0xaec]
addsd xmm1, qword [0xa562f8]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0xb04]
movsd qword [ebp - 0xb04], xmm0
movsd xmm0, qword [ebp - 0xb04]
comisd xmm0, xmmword [0xa56350]
jbe 0x4a6749
movsd xmm0, qword [0xa56290]
mulsd xmm0, qword [ebp - 0xaec]
movsd xmm1, qword [ebp - 0xb04]
subsd xmm1, xmm0
movsd qword [ebp - 0xb04], xmm1
jmp 0x4a6685
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0xb04]
jbe 0x4a6795
push 0x2a7b2f29
pop ecx
push 0x5c
and ebp, dword [ebx]
insb byte es:[edi], dx
jnp 0x4a67b7
jb 0x4a67c5
pop edx
pushal
push 0x7256742e
push esi
popal
inc eax
push ebp
inc ebp
push ecx
movsd dword es:[edi], dword [esi]
push edx
stosd dword es:[edi], eax
push ecx
movsb byte es:[edi], byte [esi]
dec esi
cmpsb byte [esi], byte es:[edi]
push esp
mov cl, 0x4f
cmpsd dword [esi], dword es:[edi]
dec ebp
lodsd eax, dword [esi]
dec ebp
cmpsd dword [esi], dword es:[edi]
pop ebx
mov dword [0xa756a75a], eax
push ebx
mov dword [0xe3e9ab4e], eax
sbb eax, dword [eax]
add bh, al
test dword [esi + esi*8 - 1], ebp
push dword [esi + 0x67]
dec edx
add bh, al
test dword [eax - 0xa], ebp
invalid
mov dword [ebp - 0x994], 0x4a6776
mov dword [ebp - 0x998], 0x4a675b
mov ecx, dword [ebp - 0x994]
mov dword [ebp - 0xa10], ecx
mov edx, dword [ebp - 0x998]
mov dword [ebp - 0xc8c], edx
mov byte [ebp - 0xa92], 0x1f
mov dword [ebp - 0x9dc], 0
jmp 0x4a67e3
cmc
invalid
push 0x89fffff6
xchg ebp, eax
je 0x4a67b2
invalid
invalid
mov eax, dword [ebp - 0x9dc]
add eax, 1
mov dword [ebp - 0x9dc], eax
cmp dword [ebp - 0x9dc], 0x100
jae 0x4a6804
mov ecx, dword [ebp - 0x9dc]
mov dl, byte [ebp - 0x9dc]
mov byte [ebp + ecx - 0xc70], dl
jmp 0x4a67d4
mov dword [ebp - 0xad0], 0
mov byte [ebp - 0x9b1], 0
mov dword [ebp - 0x9dc], 0xff
jmp 0x4a6830
mov eax, dword [ebp - 0x9dc]
sub eax, 1
mov dword [ebp - 0x9dc], eax
cmp dword [ebp - 0x9dc], 0
jbe 0x4a6aa0
mov dword [ebp - 0xb3c], 0
mov dword [ebp - 0xb24], 1
mov ecx, dword [ebp - 0xb24]
cmp ecx, dword [ebp - 0x9dc]
jae 0x4a6871
mov edx, dword [ebp - 0xb24]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xb24], eax
jmp 0x4a6851
mov ecx, dword [ebp - 0xad0]
mov dword [ebp - 0xb6c], ecx
cmp dword [ebp - 0xb6c], 3
ja case.default.0x4a6890
mov edx, dword [ebp - 0xb6c]
jmp dword [edx*4 + 0x4aab14]
movzx eax, byte [ebp - 0x9b1]
movzx ebx, byte [ebp + eax - 0xc70]
movsd xmm0, qword [ebp - 0xb04]
call fcn.009d9750
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b1], bl
jmp 0x4a6979
movzx ecx, byte [ebp - 0x9b1]
movzx ebx, byte [ebp + ecx - 0xc70]
movsd xmm0, qword [ebp - 0xb04]
call fcn.009d9750
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b1], bl
jmp 0x4a6979
movzx edx, byte [ebp - 0x9b1]
movzx ebx, byte [ebp + edx - 0xc70]
movsd xmm0, qword [ebp - 0xb04]
call fcn.009d9750
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b1], bl
jmp 0x4a6979
movzx eax, byte [ebp - 0x9b1]
movzx ebx, byte [ebp + eax - 0xc70]
movsd xmm0, qword [ebp - 0xb04]
call fcn.009d9750
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b1], bl
jmp 0x4a6979
movzx ecx, byte [ebp - 0x9b1]
movzx edx, byte [ebp + ecx - 0xc70]
mov eax, dword [ebp - 0xc8c]
add eax, dword [ebp - 0xad0]
movzx ecx, byte [eax - 4]
add edx, ecx
mov byte [ebp - 0x9b1], dl
mov edx, dword [ebp - 0xad0]
add edx, 1
mov dword [ebp - 0xad0], edx
movzx eax, byte [ebp - 0xa92]
cmp dword [ebp - 0xad0], eax
jb 0x4a69b7
mov dword [ebp - 0xad0], 0
movzx ecx, byte [ebp - 0xa92]
movzx edx, byte [ebp - 0x9b1]
add edx, ecx
mov byte [ebp - 0x9b1], dl
movzx eax, byte [ebp - 0x9b1]
and eax, dword [ebp - 0xb24]
mov dword [ebp - 0xab4], eax
mov ecx, dword [ebp - 0xb3c]
add ecx, 1
mov dword [ebp - 0xb3c], ecx
cmp dword [ebp - 0xb3c], 0xb
jbe 0x4a69f6
mov eax, dword [ebp - 0xab4]
xor edx, edx
div dword [ebp - 0x9dc]
mov dword [ebp - 0xab4], edx
mov edx, dword [ebp - 0xab4]
cmp edx, dword [ebp - 0x9dc]
ja 0x4a6871
mov eax, dword [ebp - 0x9dc]
cmp eax, dword [ebp - 0xab4]
je 0x4a6a9b
mov ecx, dword [ebp - 0xab4]
movzx edx, byte [ebp + ecx - 0xc70]
mov eax, dword [ebp - 0x9dc]
movzx ecx, byte [ebp + eax - 0xc70]
xor ecx, edx
mov edx, dword [ebp - 0x9dc]
mov byte [ebp + edx - 0xc70], cl
mov eax, dword [ebp - 0x9dc]
movzx ecx, byte [ebp + eax - 0xc70]
mov edx, dword [ebp - 0xab4]
movzx eax, byte [ebp + edx - 0xc70]
xor eax, ecx
mov ecx, dword [ebp - 0xab4]
mov byte [ebp + ecx - 0xc70], al
mov edx, dword [ebp - 0xab4]
movzx eax, byte [ebp + edx - 0xc70]
mov ecx, dword [ebp - 0x9dc]
movzx edx, byte [ebp + ecx - 0xc70]
xor edx, eax
mov eax, dword [ebp - 0x9dc]
mov byte [ebp + eax - 0xc70], dl
jmp 0x4a6821
mov ecx, 1
shl ecx, 0
mov dl, byte [ebp + ecx - 0xc70]
mov byte [ebp - 0x9a1], dl
mov eax, 1
imul ecx, eax, 3
mov dl, byte [ebp + ecx - 0xc70]
mov byte [ebp - 0x9a2], dl
mov eax, 1
imul ecx, eax, 5
mov dl, byte [ebp + ecx - 0xc70]
mov byte [ebp - 0x9a8], dl
mov eax, 1
imul ecx, eax, 7
mov dl, byte [ebp + ecx - 0xc70]
mov byte [ebp - 0x9a3], dl
movzx eax, byte [ebp - 0x9b1]
mov cl, byte [ebp + eax - 0xc70]
mov byte [ebp - 0x9a5], cl
mov dword [ebp - 0xb70], 0x1a
cmp dword [ebp - 0xb70], 2
jle 0x4a8327
mov edx, dword [ebp - 0xb70]
and edx, 1
jne 0x4a8327
mov dword [ebp - 0x9b8], 0
mov dword [ebp - 0x9d4], 0
mov eax, dword [ebp - 0x9d4]
add eax, 1
mov dword [ebp - 0x9d4], eax
mov dword [ebp - 0xa0c], 0
mov ecx, dword [ebp - 0x9b8]
shl ecx, 1
mov dword [ebp - 0xa0c], ecx
mov dword [ebp - 0x9e8], 0
mov edx, dword [ebp - 0xa10]
add edx, dword [ebp - 0xa0c]
movzx eax, byte [edx]
add eax, dword [ebp - 0x9e8]
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x9ec], 0
mov ecx, dword [ebp - 0x9ec]
add ecx, 0x4c
mov dword [ebp - 0x9ec], ecx
mov dword [ebp - 0xa20], 0
mov edx, dword [ebp - 0x9b8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa20], eax
mov dword [ebp - 0x9f0], 0
mov ecx, dword [ebp - 0xa10]
add ecx, dword [ebp - 0xa20]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x9f0]
mov dword [ebp - 0x9f0], edx
mov dword [ebp - 0x9f4], 0
mov eax, dword [ebp - 0x9f4]
add eax, 0xa3
mov dword [ebp - 0x9f4], eax
mov dword [ebp - 0x9f8], 0
mov ecx, dword [ebp - 0x9e8]
sub ecx, dword [ebp - 0x9ec]
add ecx, dword [ebp - 0x9f8]
mov dword [ebp - 0x9f8], ecx
mov dword [ebp - 0x9fc], 0
mov edx, dword [ebp - 0x9f0]
sub edx, dword [ebp - 0x9f4]
add edx, dword [ebp - 0x9fc]
mov dword [ebp - 0x9fc], edx
mov dword [ebp - 0xa14], 0
mov eax, dword [ebp - 0x9f8]
shl eax, 4
mov dword [ebp - 0xa14], eax
mov dword [ebp - 0xa18], 0
mov ecx, dword [ebp - 0x9fc]
mov dword [ebp - 0xa18], ecx
mov dword [ebp - 0xa1c], 0
mov edx, dword [ebp - 0xa14]
or edx, dword [ebp - 0xa18]
mov dword [ebp - 0xa1c], edx
mov byte [ebp - 0x9a9], 0
mov al, byte [ebp - 0xa1c]
mov byte [ebp - 0x9a9], al
mov byte [ebp - 0x9ab], 0
movzx ecx, byte [ebp - 0x9a5]
mov dl, byte [ebp + ecx - 0xc70]
mov byte [ebp - 0x9ab], dl
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + eax - 0xc70]
movzx edx, byte [ebp - 0x9a2]
add edx, ecx
mov byte [ebp - 0x9a2], dl
mov al, byte [ebp - 0x9a1]
add al, 1
mov byte [ebp - 0x9a1], al
movzx ecx, byte [ebp - 0x9a2]
movzx edx, byte [ebp - 0x9a5]
mov al, byte [ebp + ecx - 0xc70]
mov byte [ebp + edx - 0xc70], al
movzx ecx, byte [ebp - 0x9a3]
movzx edx, byte [ebp - 0x9a2]
mov al, byte [ebp + ecx - 0xc70]
mov byte [ebp + edx - 0xc70], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp - 0x9a3]
mov al, byte [ebp + ecx - 0xc70]
mov byte [ebp + edx - 0xc70], al
movzx ecx, byte [ebp - 0x9a1]
mov dl, byte [ebp - 0x9ab]
mov byte [ebp + ecx - 0xc70], dl
movzx eax, byte [ebp - 0x9ab]
movzx ecx, byte [ebp + eax - 0xc70]
movzx edx, byte [ebp - 0x9a8]
add edx, ecx
mov byte [ebp - 0x9a8], dl
movzx eax, byte [ebp - 0x9a9]
movzx ecx, byte [ebp - 0x9a2]
movzx edx, byte [ebp + ecx - 0xc70]
movzx ecx, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + ecx - 0xc70]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc70]
xor eax, edx
movzx ecx, byte [ebp - 0x9a3]
movzx edx, byte [ebp + ecx - 0xc70]
movzx ecx, byte [ebp - 0x9a5]
movzx ecx, byte [ebp + ecx - 0xc70]
add edx, ecx
movzx ecx, byte [ebp - 0x9a8]
movzx ecx, byte [ebp + ecx - 0xc70]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc70]
movzx ecx, byte [ebp + edx - 0xc70]
xor eax, ecx
mov byte [ebp - 0x9a3], al
mov dl, byte [ebp - 0x9a9]
mov byte [ebp - 0x9a5], dl
mov al, byte [ebp - 0x9a3]
mov byte [ebp - 0x9af], al
cmp dword [ebp - 0x9b8], 0
jle 0x4a6e2a
movsx cx, byte [ebp - 0x9af]
mov edx, dword [ebp - 0x9b8]
mov word [ebp + edx*2 - 0x3e], cx
mov eax, dword [ebp - 0x9b8]
add eax, 1
mov dword [ebp - 0x9b8], eax
mov ecx, dword [ebp - 0x9d4]
add ecx, 1
mov dword [ebp - 0x9d4], ecx
mov edx, dword [ebp - 0x9b8]
shl edx, 1
mov dword [ebp - 0xa0c], edx
mov eax, dword [ebp - 0xa10]
add eax, dword [ebp - 0xa0c]
movzx ecx, byte [eax]
mov dword [ebp - 0x9e8], ecx
mov dword [ebp - 0x9ec], 0x4c
mov edx, dword [ebp - 0x9b8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa20], eax
mov ecx, dword [ebp - 0xa10]
add ecx, dword [ebp - 0xa20]
movzx edx, byte [ecx]
mov dword [ebp - 0x9f0], edx
mov dword [ebp - 0x9f4], 0xa3
mov eax, dword [ebp - 0x9e8]
sub eax, dword [ebp - 0x9ec]
mov dword [ebp - 0x9f8], eax
mov ecx, dword [ebp - 0x9f0]
sub ecx, dword [ebp - 0x9f4]
mov dword [ebp - 0x9fc], ecx
mov edx, dword [ebp - 0x9f8]
shl edx, 4
mov dword [ebp - 0xa14], edx
mov eax, dword [ebp - 0x9fc]
mov dword [ebp - 0xa18], eax
mov ecx, dword [ebp - 0xa14]
or ecx, dword [ebp - 0xa18]
mov dword [ebp - 0xa1c], ecx
mov dl, byte [ebp - 0xa1c]
mov byte [ebp - 0x9a9], dl
movzx eax, byte [ebp - 0x9a5]
mov cl, byte [ebp + eax - 0xc70]
mov byte [ebp - 0x9ab], cl
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp + edx - 0xc70]
movzx ecx, byte [ebp - 0x9a2]
add ecx, eax
mov byte [ebp - 0x9a2], cl
mov dl, byte [ebp - 0x9a1]
add dl, 1
mov byte [ebp - 0x9a1], dl
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp - 0x9a5]
mov dl, byte [ebp + eax - 0xc70]
mov byte [ebp + ecx - 0xc70], dl
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp - 0x9a2]
mov dl, byte [ebp + eax - 0xc70]
mov byte [ebp + ecx - 0xc70], dl
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp - 0x9a3]
mov dl, byte [ebp + eax - 0xc70]
mov byte [ebp + ecx - 0xc70], dl
movsd xmm0, qword [0xa56768]
movsd qword [ebp - 0xa38], xmm0
movsd xmm0, qword [0xa566c8]
movsd qword [ebp - 0xa40], xmm0
movsd xmm0, qword [0xa565e0]
movsd qword [ebp - 0xa30], xmm0
movsd xmm0, qword [0xa564c0]
movsd qword [ebp - 0xa68], xmm0
movsd xmm0, qword [ebp - 0xa38]
addsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa38], xmm0
movsd xmm0, qword [ebp - 0xa30]
subsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa30], xmm0
movsd xmm0, qword [ebp - 0xa38]
mulsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa38], xmm0
movsd xmm0, qword [ebp - 0xa30]
addsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa30], xmm0
movsd xmm0, qword [ebp - 0xa38]
comisd xmm0, xmmword [ebp - 0xa68]
jbe 0x4a70c1
movsd xmm0, qword [ebp - 0xa40]
mulsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa40], xmm0
movsd xmm0, qword [ebp - 0xa38]
mulsd xmm0, qword [ebp - 0xa30]
movsd qword [ebp - 0xa38], xmm0
movsd xmm0, qword [ebp - 0xa40]
mulsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa40], xmm0
movsd xmm0, qword [ebp - 0xa40]
subsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa40], xmm0
movzx eax, byte [ebp - 0x9a1]
mov cl, byte [ebp - 0x9ab]
mov byte [ebp + eax - 0xc70], cl
jmp 0x4a738d
movsd xmm0, qword [ebp - 0xa38]
addsd xmm0, qword [ebp - 0xa40]
movsd qword [ebp - 0xa38], xmm0
movsd xmm0, qword [ebp - 0xa40]
addsd xmm0, qword [ebp - 0xa30]
movsd qword [ebp - 0xa40], xmm0
movsd xmm0, qword [ebp - 0xa68]
subsd xmm0, qword [ebp - 0xa38]
movsd qword [ebp - 0xa68], xmm0
movsd xmm0, qword [ebp - 0xa40]
addsd xmm0, qword [ebp - 0xa30]
movsd qword [ebp - 0xa40], xmm0
movsd xmm0, qword [ebp - 0xa68]
divsd xmm0, qword [ebp - 0xa38]
movsd qword [ebp - 0xa68], xmm0
movsd xmm0, qword [ebp - 0xa38]
subsd xmm0, qword [ebp - 0xa40]
movsd qword [ebp - 0xa38], xmm0
movsd xmm0, qword [ebp - 0xa30]
mulsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa30], xmm0
movsd xmm0, qword [ebp - 0xa38]
addsd xmm0, qword [ebp - 0xa40]
movsd qword [ebp - 0xa38], xmm0
movsd xmm0, qword [ebp - 0xa68]
comisd xmm0, xmmword [ebp - 0xa40]
jbe 0x4a732d
movsd xmm0, qword [ebp - 0xa40]
subsd xmm0, qword [ebp - 0xa30]
movsd qword [ebp - 0xa40], xmm0
movsd xmm0, qword [ebp - 0xa68]
mulsd xmm0, qword [ebp - 0xa38]
movsd qword [ebp - 0xa68], xmm0
movsd xmm0, qword [ebp - 0xa38]
divsd xmm0, qword [ebp - 0xa40]
movsd qword [ebp - 0xa38], xmm0
movsd xmm0, qword [ebp - 0xa40]
divsd xmm0, qword [ebp - 0xa30]
movsd qword [ebp - 0xa40], xmm0
movsd xmm0, qword [ebp - 0xa40]
subsd xmm0, qword [ebp - 0xa30]
movsd qword [ebp - 0xa40], xmm0
movsd xmm0, qword [ebp - 0xa68]
mulsd xmm0, qword [ebp - 0xa38]
movsd qword [ebp - 0xa68], xmm0
movsd xmm0, qword [ebp - 0xa40]
subsd xmm0, qword [ebp - 0xa30]
movsd qword [ebp - 0xa40], xmm0
movsd xmm0, qword [ebp - 0xa68]
subsd xmm0, qword [ebp - 0xa38]
movsd qword [ebp - 0xa68], xmm0
movsd xmm0, qword [ebp - 0xa38]
comisd xmm0, xmmword [ebp - 0xa30]
jbe 0x4a72cb
movsd xmm0, qword [ebp - 0xa30]
mulsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa30], xmm0
movsd xmm0, qword [ebp - 0xa30]
divsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa30], xmm0
movsd xmm0, qword [ebp - 0xa30]
divsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa30], xmm0
movsd xmm0, qword [ebp - 0xa38]
subsd xmm0, qword [ebp - 0xa40]
movsd qword [ebp - 0xa38], xmm0
jmp 0x4a732b
movsd xmm0, qword [ebp - 0xa40]
subsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa40], xmm0
movsd xmm0, qword [ebp - 0xa30]
mulsd xmm0, qword [ebp - 0xa38]
movsd qword [ebp - 0xa30], xmm0
movsd xmm0, qword [ebp - 0xa38]
divsd xmm0, qword [ebp - 0xa30]
movsd qword [ebp - 0xa38], xmm0
movsd xmm0, qword [ebp - 0xa30]
subsd xmm0, qword [ebp - 0xa38]
movsd qword [ebp - 0xa30], xmm0
jmp 0x4a738d
movsd xmm0, qword [ebp - 0xa30]
mulsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa30], xmm0
movsd xmm0, qword [ebp - 0xa30]
divsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa30], xmm0
movsd xmm0, qword [ebp - 0xa38]
mulsd xmm0, qword [ebp - 0xa40]
movsd qword [ebp - 0xa38], xmm0
movsd xmm0, qword [ebp - 0xa40]
divsd xmm0, qword [ebp - 0xa30]
movsd qword [ebp - 0xa40], xmm0
movzx edx, byte [ebp - 0x9ab]
movzx eax, byte [ebp + edx - 0xc70]
movzx ecx, byte [ebp - 0x9a8]
add ecx, eax
mov byte [ebp - 0x9a8], cl
movzx edx, byte [ebp - 0x9a9]
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp + eax - 0xc70]
movzx eax, byte [ebp - 0x9a1]
movzx eax, byte [ebp + eax - 0xc70]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc70]
xor edx, ecx
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp + eax - 0xc70]
movzx eax, byte [ebp - 0x9a5]
movzx eax, byte [ebp + eax - 0xc70]
add ecx, eax
movzx eax, byte [ebp - 0x9a8]
movzx eax, byte [ebp + eax - 0xc70]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc70]
movzx eax, byte [ebp + ecx - 0xc70]
xor edx, eax
mov byte [ebp - 0x9a3], dl
mov cl, byte [ebp - 0x9a9]
mov byte [ebp - 0x9a5], cl
mov dl, byte [ebp - 0x9a3]
mov byte [ebp - 0x9af], dl
cmp dword [ebp - 0x9b8], 0
jle 0x4a7465
movsx ax, byte [ebp - 0x9af]
mov ecx, dword [ebp - 0x9b8]
mov word [ebp + ecx*2 - 0x3e], ax
mov edx, dword [ebp - 0x9d4]
add edx, 3
mov dword [ebp - 0x9d4], edx
mov eax, dword [ebp - 0x9b8]
add eax, 1
mov dword [ebp - 0xb44], eax
jmp 0x4a7494
mov ecx, dword [ebp - 0xb44]
add ecx, 1
mov dword [ebp - 0xb44], ecx
mov edx, dword [ebp - 0xb44]
cmp edx, dword [ebp - 0x9d4]
jge 0x4a76f2
mov eax, dword [ebp - 0x9b8]
add eax, 1
mov dword [ebp - 0x9b8], eax
mov ecx, dword [ebp - 0x9b8]
shl ecx, 1
mov dword [ebp - 0xa0c], ecx
mov edx, dword [ebp - 0xa10]
add edx, dword [ebp - 0xa0c]
movzx eax, byte [edx]
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x9ec], 0x4c
mov ecx, dword [ebp - 0x9b8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xa20], edx
mov eax, dword [ebp - 0xa10]
add eax, dword [ebp - 0xa20]
movzx ecx, byte [eax]
mov dword [ebp - 0x9f0], ecx
mov dword [ebp - 0x9f4], 0xa3
mov edx, dword [ebp - 0x9e8]
sub edx, dword [ebp - 0x9ec]
mov dword [ebp - 0x9f8], edx
mov eax, dword [ebp - 0x9f0]
sub eax, dword [ebp - 0x9f4]
mov dword [ebp - 0x9fc], eax
mov ecx, dword [ebp - 0x9f8]
shl ecx, 4
mov dword [ebp - 0xa14], ecx
mov edx, dword [ebp - 0x9fc]
mov dword [ebp - 0xa18], edx
mov eax, dword [ebp - 0xa14]
or eax, dword [ebp - 0xa18]
mov dword [ebp - 0xa1c], eax
mov cl, byte [ebp - 0xa1c]
mov byte [ebp - 0x9a9], cl
movzx edx, byte [ebp - 0x9a5]
mov al, byte [ebp + edx - 0xc70]
mov byte [ebp - 0x9ab], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + ecx - 0xc70]
movzx eax, byte [ebp - 0x9a2]
add eax, edx
mov byte [ebp - 0x9a2], al
mov cl, byte [ebp - 0x9a1]
add cl, 1
mov byte [ebp - 0x9a1], cl
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp - 0x9a5]
mov cl, byte [ebp + edx - 0xc70]
mov byte [ebp + eax - 0xc70], cl
movzx edx, byte [ebp - 0x9a3]
movzx eax, byte [ebp - 0x9a2]
mov cl, byte [ebp + edx - 0xc70]
mov byte [ebp + eax - 0xc70], cl
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp - 0x9a3]
mov cl, byte [ebp + edx - 0xc70]
mov byte [ebp + eax - 0xc70], cl
movzx edx, byte [ebp - 0x9a1]
mov al, byte [ebp - 0x9ab]
mov byte [ebp + edx - 0xc70], al
movzx ecx, byte [ebp - 0x9ab]
movzx edx, byte [ebp + ecx - 0xc70]
movzx eax, byte [ebp - 0x9a8]
add eax, edx
mov byte [ebp - 0x9a8], al
movzx ecx, byte [ebp - 0x9a9]
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp + edx - 0xc70]
movzx edx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + edx - 0xc70]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc70]
xor ecx, eax
movzx edx, byte [ebp - 0x9a3]
movzx eax, byte [ebp + edx - 0xc70]
movzx edx, byte [ebp - 0x9a5]
movzx edx, byte [ebp + edx - 0xc70]
add eax, edx
movzx edx, byte [ebp - 0x9a8]
movzx edx, byte [ebp + edx - 0xc70]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc70]
movzx edx, byte [ebp + eax - 0xc70]
xor ecx, edx
mov byte [ebp - 0x9a3], cl
mov al, byte [ebp - 0x9a9]
mov byte [ebp - 0x9a5], al
mov cl, byte [ebp - 0x9a3]
mov byte [ebp - 0x9af], cl
cmp dword [ebp - 0x9b8], 0
jle 0x4a76ed
movsx dx, byte [ebp - 0x9af]
mov eax, dword [ebp - 0x9b8]
mov word [ebp + eax*2 - 0x3e], dx
jmp 0x4a7485
mov ecx, dword [ebp - 0x9d4]
add ecx, 1
mov dword [ebp - 0x9d4], ecx
mov edx, dword [ebp - 0x9b8]
add edx, 1
mov dword [ebp - 0x9b8], edx
mov eax, dword [ebp - 0x9d4]
add eax, 1
mov dword [ebp - 0x9d4], eax
mov ecx, dword [ebp - 0x9b8]
shl ecx, 1
mov dword [ebp - 0xa0c], ecx
mov edx, dword [ebp - 0xa10]
add edx, dword [ebp - 0xa0c]
movzx eax, byte [edx]
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x9ec], 0x4c
mov ecx, dword [ebp - 0x9b8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xa20], edx
mov eax, dword [ebp - 0xa10]
add eax, dword [ebp - 0xa20]
movzx ecx, byte [eax]
mov dword [ebp - 0x9f0], ecx
mov dword [ebp - 0x9f4], 0xa3
mov edx, dword [ebp - 0x9e8]
sub edx, dword [ebp - 0x9ec]
mov dword [ebp - 0x9f8], edx
mov eax, dword [ebp - 0x9f0]
sub eax, dword [ebp - 0x9f4]
mov dword [ebp - 0x9fc], eax
mov ecx, dword [ebp - 0x9f8]
shl ecx, 4
mov dword [ebp - 0xa14], ecx
mov edx, dword [ebp - 0x9fc]
mov dword [ebp - 0xa18], edx
mov eax, dword [ebp - 0xa14]
or eax, dword [ebp - 0xa18]
mov dword [ebp - 0xa1c], eax
mov cl, byte [ebp - 0xa1c]
mov byte [ebp - 0x9a9], cl
movzx edx, byte [ebp - 0x9a5]
mov al, byte [ebp + edx - 0xc70]
mov byte [ebp - 0x9ab], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + ecx - 0xc70]
movzx eax, byte [ebp - 0x9a2]
add eax, edx
mov byte [ebp - 0x9a2], al
mov cl, byte [ebp - 0x9a1]
add cl, 1
mov byte [ebp - 0x9a1], cl
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp - 0x9a5]
mov cl, byte [ebp + edx - 0xc70]
mov byte [ebp + eax - 0xc70], cl
movzx edx, byte [ebp - 0x9a3]
movzx eax, byte [ebp - 0x9a2]
mov cl, byte [ebp + edx - 0xc70]
mov byte [ebp + eax - 0xc70], cl
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp - 0x9a3]
mov cl, byte [ebp + edx - 0xc70]
mov byte [ebp + eax - 0xc70], cl
movzx edx, byte [ebp - 0x9a1]
mov al, byte [ebp - 0x9ab]
mov byte [ebp + edx - 0xc70], al
movzx ecx, byte [ebp - 0x9ab]
movzx edx, byte [ebp + ecx - 0xc70]
movzx eax, byte [ebp - 0x9a8]
add eax, edx
mov byte [ebp - 0x9a8], al
movzx ecx, byte [ebp - 0x9a9]
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp + edx - 0xc70]
movzx edx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + edx - 0xc70]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc70]
xor ecx, eax
movzx edx, byte [ebp - 0x9a3]
movzx eax, byte [ebp + edx - 0xc70]
movzx edx, byte [ebp - 0x9a5]
movzx edx, byte [ebp + edx - 0xc70]
add eax, edx
movzx edx, byte [ebp - 0x9a8]
movzx edx, byte [ebp + edx - 0xc70]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc70]
movzx edx, byte [ebp + eax - 0xc70]
xor ecx, edx
mov byte [ebp - 0x9a3], cl
mov al, byte [ebp - 0x9a9]
mov byte [ebp - 0x9a5], al
mov cl, byte [ebp - 0x9a3]
mov byte [ebp - 0x9af], cl
cmp dword [ebp - 0x9b8], 0
jle 0x4a7957
movsx dx, byte [ebp - 0x9af]
mov eax, dword [ebp - 0x9b8]
mov word [ebp + eax*2 - 0x3e], dx
mov ecx, dword [ebp - 0x9b8]
add ecx, 1
mov dword [ebp - 0x9b8], ecx
mov edx, dword [ebp - 0x9d4]
add edx, 1
mov dword [ebp - 0x9d4], edx
mov eax, dword [ebp - 0x9b8]
shl eax, 1
mov dword [ebp - 0xa0c], eax
mov ecx, dword [ebp - 0xa10]
add ecx, dword [ebp - 0xa0c]
movzx edx, byte [ecx]
mov dword [ebp - 0x9e8], edx
mov dword [ebp - 0x9ec], 0x4c
mov eax, dword [ebp - 0x9b8]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xa20], ecx
mov edx, dword [ebp - 0xa10]
add edx, dword [ebp - 0xa20]
movzx eax, byte [edx]
mov dword [ebp - 0x9f0], eax
mov dword [ebp - 0x9f4], 0xa3
mov ecx, dword [ebp - 0x9e8]
sub ecx, dword [ebp - 0x9ec]
mov dword [ebp - 0x9f8], ecx
mov edx, dword [ebp - 0x9f0]
sub edx, dword [ebp - 0x9f4]
mov dword [ebp - 0x9fc], edx
mov eax, dword [ebp - 0x9f8]
shl eax, 4
mov dword [ebp - 0xa14], eax
mov ecx, dword [ebp - 0x9fc]
mov dword [ebp - 0xa18], ecx
mov edx, dword [ebp - 0xa14]
or edx, dword [ebp - 0xa18]
mov dword [ebp - 0xa1c], edx
mov al, byte [ebp - 0xa1c]
mov byte [ebp - 0x9a9], al
movzx ecx, byte [ebp - 0x9a5]
mov dl, byte [ebp + ecx - 0xc70]
mov byte [ebp - 0x9ab], dl
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + eax - 0xc70]
movzx edx, byte [ebp - 0x9a2]
add edx, ecx
mov byte [ebp - 0x9a2], dl
mov al, byte [ebp - 0x9a1]
add al, 1
mov byte [ebp - 0x9a1], al
movzx ecx, byte [ebp - 0x9a2]
movzx edx, byte [ebp - 0x9a5]
mov al, byte [ebp + ecx - 0xc70]
mov byte [ebp + edx - 0xc70], al
movzx ecx, byte [ebp - 0x9a3]
movzx edx, byte [ebp - 0x9a2]
mov al, byte [ebp + ecx - 0xc70]
mov byte [ebp + edx - 0xc70], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp - 0x9a3]
mov al, byte [ebp + ecx - 0xc70]
mov byte [ebp + edx - 0xc70], al
movzx ecx, byte [ebp - 0x9a1]
mov dl, byte [ebp - 0x9ab]
mov byte [ebp + ecx - 0xc70], dl
movzx eax, byte [ebp - 0x9ab]
movzx ecx, byte [ebp + eax - 0xc70]
movzx edx, byte [ebp - 0x9a8]
add edx, ecx
mov byte [ebp - 0x9a8], dl
movzx eax, byte [ebp - 0x9a9]
movzx ecx, byte [ebp - 0x9a2]
movzx edx, byte [ebp + ecx - 0xc70]
movzx ecx, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + ecx - 0xc70]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc70]
xor eax, edx
movzx ecx, byte [ebp - 0x9a3]
movzx edx, byte [ebp + ecx - 0xc70]
movzx ecx, byte [ebp - 0x9a5]
movzx ecx, byte [ebp + ecx - 0xc70]
add edx, ecx
movzx ecx, byte [ebp - 0x9a8]
movzx ecx, byte [ebp + ecx - 0xc70]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc70]
movzx ecx, byte [ebp + edx - 0xc70]
xor eax, ecx
mov byte [ebp - 0x9a3], al
mov dl, byte [ebp - 0x9a9]
mov byte [ebp - 0x9a5], dl
mov al, byte [ebp - 0x9a3]
mov byte [ebp - 0x9af], al
cmp dword [ebp - 0x9b8], 0
jle 0x4a7bae
movsx cx, byte [ebp - 0x9af]
mov edx, dword [ebp - 0x9b8]
mov word [ebp + edx*2 - 0x3e], cx
mov eax, dword [ebp - 0x9d4]
add eax, 4
mov dword [ebp - 0x9d4], eax
mov ecx, dword [ebp - 0x9b8]
add ecx, 1
mov dword [ebp - 0xb2c], ecx
jmp 0x4a7bdd
mov edx, dword [ebp - 0xb2c]
add edx, 1
mov dword [ebp - 0xb2c], edx
mov eax, dword [ebp - 0xb2c]
cmp eax, dword [ebp - 0x9d4]
jge 0x4a7e3d
mov ecx, dword [ebp - 0x9b8]
add ecx, 1
mov dword [ebp - 0x9b8], ecx
mov edx, dword [ebp - 0x9b8]
shl edx, 1
mov dword [ebp - 0xa0c], edx
mov eax, dword [ebp - 0xa10]
add eax, dword [ebp - 0xa0c]
movzx ecx, byte [eax]
mov dword [ebp - 0x9e8], ecx
mov dword [ebp - 0x9ec], 0x4c
mov edx, dword [ebp - 0x9b8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa20], eax
mov ecx, dword [ebp - 0xa10]
add ecx, dword [ebp - 0xa20]
movzx edx, byte [ecx]
mov dword [ebp - 0x9f0], edx
mov dword [ebp - 0x9f4], 0xa3
mov eax, dword [ebp - 0x9e8]
sub eax, dword [ebp - 0x9ec]
mov dword [ebp - 0x9f8], eax
mov ecx, dword [ebp - 0x9f0]
sub ecx, dword [ebp - 0x9f4]
mov dword [ebp - 0x9fc], ecx
mov edx, dword [ebp - 0x9f8]
shl edx, 4
mov dword [ebp - 0xa14], edx
mov eax, dword [ebp - 0x9fc]
mov dword [ebp - 0xa18], eax
mov ecx, dword [ebp - 0xa14]
or ecx, dword [ebp - 0xa18]
mov dword [ebp - 0xa1c], ecx
mov dl, byte [ebp - 0xa1c]
mov byte [ebp - 0x9a9], dl
movzx eax, byte [ebp - 0x9a5]
mov cl, byte [ebp + eax - 0xc70]
mov byte [ebp - 0x9ab], cl
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp + edx - 0xc70]
movzx ecx, byte [ebp - 0x9a2]
add ecx, eax
mov byte [ebp - 0x9a2], cl
mov dl, byte [ebp - 0x9a1]
add dl, 1
mov byte [ebp - 0x9a1], dl
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp - 0x9a5]
mov dl, byte [ebp + eax - 0xc70]
mov byte [ebp + ecx - 0xc70], dl
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp - 0x9a2]
mov dl, byte [ebp + eax - 0xc70]
mov byte [ebp + ecx - 0xc70], dl
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp - 0x9a3]
mov dl, byte [ebp + eax - 0xc70]
mov byte [ebp + ecx - 0xc70], dl
movzx eax, byte [ebp - 0x9a1]
mov cl, byte [ebp - 0x9ab]
mov byte [ebp + eax - 0xc70], cl
movzx edx, byte [ebp - 0x9ab]
movzx eax, byte [ebp + edx - 0xc70]
movzx ecx, byte [ebp - 0x9a8]
add ecx, eax
mov byte [ebp - 0x9a8], cl
movzx edx, byte [ebp - 0x9a9]
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp + eax - 0xc70]
movzx eax, byte [ebp - 0x9a1]
movzx eax, byte [ebp + eax - 0xc70]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc70]
xor edx, ecx
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp + eax - 0xc70]
movzx eax, byte [ebp - 0x9a5]
movzx eax, byte [ebp + eax - 0xc70]
add ecx, eax
movzx eax, byte [ebp - 0x9a8]
movzx eax, byte [ebp + eax - 0xc70]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc70]
movzx eax, byte [ebp + ecx - 0xc70]
xor edx, eax
mov byte [ebp - 0x9a3], dl
mov cl, byte [ebp - 0x9a9]
mov byte [ebp - 0x9a5], cl
mov dl, byte [ebp - 0x9a3]
mov byte [ebp - 0x9af], dl
cmp dword [ebp - 0x9b8], 0
jle 0x4a7e38
movsx ax, byte [ebp - 0x9af]
mov ecx, dword [ebp - 0x9b8]
mov word [ebp + ecx*2 - 0x3e], ax
jmp 0x4a7bce
mov edx, dword [ebp - 0x9d4]
add edx, 1
mov dword [ebp - 0x9d4], edx
mov eax, dword [ebp - 0x9b8]
add eax, 1
mov dword [ebp - 0x9b8], eax
mov ecx, dword [ebp - 0x9d4]
add ecx, 1
mov dword [ebp - 0x9d4], ecx
mov edx, dword [ebp - 0x9b8]
shl edx, 1
mov dword [ebp - 0xa0c], edx
mov eax, dword [ebp - 0xa10]
add eax, dword [ebp - 0xa0c]
movzx ecx, byte [eax]
mov dword [ebp - 0x9e8], ecx
mov dword [ebp - 0x9ec], 0x4c
mov edx, dword [ebp - 0x9b8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa20], eax
mov ecx, dword [ebp - 0xa10]
add ecx, dword [ebp - 0xa20]
movzx edx, byte [ecx]
mov dword [ebp - 0x9f0], edx
mov dword [ebp - 0x9f4], 0xa3
mov eax, dword [ebp - 0x9e8]
sub eax, dword [ebp - 0x9ec]
mov dword [ebp - 0x9f8], eax
mov ecx, dword [ebp - 0x9f0]
sub ecx, dword [ebp - 0x9f4]
mov dword [ebp - 0x9fc], ecx
mov edx, dword [ebp - 0x9f8]
shl edx, 4
mov dword [ebp - 0xa14], edx
mov eax, dword [ebp - 0x9fc]
mov dword [ebp - 0xa18], eax
mov ecx, dword [ebp - 0xa14]
or ecx, dword [ebp - 0xa18]
mov dword [ebp - 0xa1c], ecx
mov dl, byte [ebp - 0xa1c]
mov byte [ebp - 0x9a9], dl
movzx eax, byte [ebp - 0x9a5]
mov cl, byte [ebp + eax - 0xc70]
mov byte [ebp - 0x9ab], cl
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp + edx - 0xc70]
movzx ecx, byte [ebp - 0x9a2]
add ecx, eax
mov byte [ebp - 0x9a2], cl
mov dl, byte [ebp - 0x9a1]
add dl, 1
mov byte [ebp - 0x9a1], dl
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp - 0x9a5]
mov dl, byte [ebp + eax - 0xc70]
mov byte [ebp + ecx - 0xc70], dl
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp - 0x9a2]
mov dl, byte [ebp + eax - 0xc70]
mov byte [ebp + ecx - 0xc70], dl
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp - 0x9a3]
mov dl, byte [ebp + eax - 0xc70]
mov byte [ebp + ecx - 0xc70], dl
movzx eax, byte [ebp - 0x9a1]
mov cl, byte [ebp - 0x9ab]
mov byte [ebp + eax - 0xc70], cl
movzx edx, byte [ebp - 0x9ab]
movzx eax, byte [ebp + edx - 0xc70]
movzx ecx, byte [ebp - 0x9a8]
add ecx, eax
mov byte [ebp - 0x9a8], cl
movzx edx, byte [ebp - 0x9a9]
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp + eax - 0xc70]
movzx eax, byte [ebp - 0x9a1]
movzx eax, byte [ebp + eax - 0xc70]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc70]
xor edx, ecx
movzx eax, byte [ebp - 0x9a3]
movzx ecx, byte [ebp + eax - 0xc70]
movzx eax, byte [ebp - 0x9a5]
movzx eax, byte [ebp + eax - 0xc70]
add ecx, eax
movzx eax, byte [ebp - 0x9a8]
movzx eax, byte [ebp + eax - 0xc70]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc70]
movzx eax, byte [ebp + ecx - 0xc70]
xor edx, eax
mov byte [ebp - 0x9a3], dl
mov cl, byte [ebp - 0x9a9]
mov byte [ebp - 0x9a5], cl
mov dl, byte [ebp - 0x9a3]
mov byte [ebp - 0x9af], dl
cmp dword [ebp - 0x9b8], 0
jle 0x4a80a4
movsx ax, byte [ebp - 0x9af]
mov ecx, dword [ebp - 0x9b8]
mov word [ebp + ecx*2 - 0x3e], ax
mov edx, dword [ebp - 0x9b8]
add edx, 1
mov dword [ebp - 0x9b8], edx
mov eax, dword [ebp - 0x9d4]
add eax, 1
mov dword [ebp - 0x9d4], eax
mov ecx, dword [ebp - 0x9b8]
shl ecx, 1
mov dword [ebp - 0xa0c], ecx
mov edx, dword [ebp - 0xa10]
add edx, dword [ebp - 0xa0c]
movzx eax, byte [edx]
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x9ec], 0x4c
mov ecx, dword [ebp - 0x9b8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xa20], edx
mov eax, dword [ebp - 0xa10]
add eax, dword [ebp - 0xa20]
movzx ecx, byte [eax]
mov dword [ebp - 0x9f0], ecx
mov dword [ebp - 0x9f4], 0xa3
mov edx, dword [ebp - 0x9e8]
sub edx, dword [ebp - 0x9ec]
mov dword [ebp - 0x9f8], edx
mov eax, dword [ebp - 0x9f0]
sub eax, dword [ebp - 0x9f4]
mov dword [ebp - 0x9fc], eax
mov ecx, dword [ebp - 0x9f8]
shl ecx, 4
mov dword [ebp - 0xa14], ecx
mov edx, dword [ebp - 0x9fc]
mov dword [ebp - 0xa18], edx
mov eax, dword [ebp - 0xa14]
or eax, dword [ebp - 0xa18]
mov dword [ebp - 0xa1c], eax
mov cl, byte [ebp - 0xa1c]
mov byte [ebp - 0x9a9], cl
movzx edx, byte [ebp - 0x9a5]
mov al, byte [ebp + edx - 0xc70]
mov byte [ebp - 0x9ab], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + ecx - 0xc70]
movzx eax, byte [ebp - 0x9a2]
add eax, edx
mov byte [ebp - 0x9a2], al
mov cl, byte [ebp - 0x9a1]
add cl, 1
mov byte [ebp - 0x9a1], cl
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp - 0x9a5]
mov cl, byte [ebp + edx - 0xc70]
mov byte [ebp + eax - 0xc70], cl
movzx edx, byte [ebp - 0x9a3]
movzx eax, byte [ebp - 0x9a2]
mov cl, byte [ebp + edx - 0xc70]
mov byte [ebp + eax - 0xc70], cl
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp - 0x9a3]
mov cl, byte [ebp + edx - 0xc70]
mov byte [ebp + eax - 0xc70], cl
movzx edx, byte [ebp - 0x9a1]
mov al, byte [ebp - 0x9ab]
mov byte [ebp + edx - 0xc70], al
movzx ecx, byte [ebp - 0x9ab]
movzx edx, byte [ebp + ecx - 0xc70]
movzx eax, byte [ebp - 0x9a8]
add eax, edx
mov byte [ebp - 0x9a8], al
movzx ecx, byte [ebp - 0x9a9]
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp + edx - 0xc70]
movzx edx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + edx - 0xc70]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc70]
xor ecx, eax
movzx edx, byte [ebp - 0x9a3]
movzx eax, byte [ebp + edx - 0xc70]
movzx edx, byte [ebp - 0x9a5]
movzx edx, byte [ebp + edx - 0xc70]
add eax, edx
movzx edx, byte [ebp - 0x9a8]
movzx edx, byte [ebp + edx - 0xc70]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc70]
movzx edx, byte [ebp + eax - 0xc70]
xor ecx, edx
mov byte [ebp - 0x9a3], cl
mov al, byte [ebp - 0x9a9]
mov byte [ebp - 0x9a5], al
mov cl, byte [ebp - 0x9a3]
mov byte [ebp - 0x9af], cl
cmp dword [ebp - 0x9b8], 0
jle 0x4a82fa
movsx dx, byte [ebp - 0x9af]
mov eax, dword [ebp - 0x9b8]
mov word [ebp + eax*2 - 0x3e], dx
mov ecx, 2
imul edx, ecx, 0xc
mov dword [ebp - 0xb68], edx
cmp dword [ebp - 0xb68], 0x1a
jae 0x4a8313
jmp 0x4a8318
call fcn.009d9277
xor eax, eax
mov ecx, dword [ebp - 0xb68]
mov word [ebp + ecx - 0x3c], ax
jmp 0x4a8378
mov dword [ebp - 0xb20], 0
jmp 0x4a8342
mov edx, dword [ebp - 0xb20]
add edx, 1
mov dword [ebp - 0xb20], edx
cmp dword [ebp - 0xb20], 0xd
jge 0x4a8378
mov eax, dword [ebp - 0xb20]
shl eax, 1
mov dword [ebp - 0xb64], eax
cmp dword [ebp - 0xb64], 0x1a
jae 0x4a8364
jmp 0x4a8369
call fcn.009d9277
xor ecx, ecx
mov edx, dword [ebp - 0xb64]
mov word [ebp + edx - 0x3c], cx
jmp 0x4a8333
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0xc88], eax
mov dword [ebp - 0x990], 0
mov dword [ebp - 0x99c], 0
xorps xmm0, xmm0
movsd qword [ebp - 0xb0c], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xaf4], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xaf4], xmm0
jmp 0x4a83d7
movsd xmm0, qword [ebp - 0xaf4]
addsd xmm0, qword [0xa55350]
movsd qword [ebp - 0xaf4], xmm0
movsd xmm0, qword [0xa57290]
comisd xmm0, xmmword [ebp - 0xaf4]
jbe 0x4a8488
movsd xmm0, qword [0xa571a0]
mulsd xmm0, qword [ebp - 0xaf4]
mulsd xmm0, qword [ebp - 0xaf4]
movsd xmm1, qword [ebp - 0xaf4]
mulsd xmm1, qword [ebp - 0xaf4]
subsd xmm0, xmm1
movsd xmm1, qword [0xa57048]
mulsd xmm1, qword [ebp - 0xaf4]
mulsd xmm1, qword [ebp - 0xaf4]
addsd xmm1, qword [0xa57078]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0xb0c]
movsd qword [ebp - 0xb0c], xmm0
movsd xmm0, qword [ebp - 0xb0c]
comisd xmm0, xmmword [0xa570f8]
jbe 0x4a8483
movsd xmm0, qword [0xa56fd0]
mulsd xmm0, qword [ebp - 0xaf4]
movsd xmm1, qword [ebp - 0xb0c]
subsd xmm1, xmm0
movsd qword [ebp - 0xb0c], xmm1
jmp 0x4a83bf
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0xb0c]
jbe 0x4a84d2
insb byte es:[edi], dx
mov eax, 0xac63af6e
outsd dx, dword [esi]
lodsd eax, dword [esi]
outsd dx, dword [esi]
scasb al, byte es:[edi]
popal
mov cl, 0x61
mov ebx, 0xb961ad6c
insb byte es:[edi], dx
mov bl, 0x65
mov dl, 0x67
mov eax, 0x503cb363
xor bh, byte [esi]
jno 0x4a84e0
pop ecx
pop edi
cmp edi, dword [eax]
arpl word [ebp + 0x70], si
pushal
xor dword [edx + 0x72], ebx
js 0x4a8507
dec esi
jns 0x4a852a
cmp esi, dword [eax + 0x49]
pop esi
jl 0x4a84b7
in eax, 0x22
add byte [eax], al
mov dword [ebp - 0x990], 0x4a8495
mov dword [ebp - 0x99c], 0x4a84af
mov ecx, dword [ebp - 0x990]
mov dword [ebp - 0xa84], ecx
mov edx, dword [ebp - 0x99c]
mov dword [ebp - 0xc90], edx
mov byte [ebp - 0xa91], 0x22
mov dword [ebp - 0x9e0], 0
jmp 0x4a8520
invalid
and dh, dh
invalid
mov eax, dword [ebp - 0x9e0]
add eax, 1
mov dword [ebp - 0x9e0], eax
cmp dword [ebp - 0x9e0], 0x100
jae 0x4a8541
mov ecx, dword [ebp - 0x9e0]
mov dl, byte [ebp - 0x9e0]
mov byte [ebp + ecx - 0xd90], dl
jmp 0x4a8511
mov dword [ebp - 0xad4], 0
mov byte [ebp - 0x9b0], 0
mov dword [ebp - 0x9e0], 0xff
jmp 0x4a856d
mov eax, dword [ebp - 0x9e0]
sub eax, 1
mov dword [ebp - 0x9e0], eax
cmp dword [ebp - 0x9e0], 0
jbe 0x4a87dd
mov dword [ebp - 0xb30], 0
mov dword [ebp - 0xb14], 1
mov ecx, dword [ebp - 0xb14]
cmp ecx, dword [ebp - 0x9e0]
jae 0x4a85ae
mov edx, dword [ebp - 0xb14]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xb14], eax
jmp 0x4a858e
mov ecx, dword [ebp - 0xad4]
mov dword [ebp - 0xb50], ecx
cmp dword [ebp - 0xb50], 3
ja case.default.0x4a85cd
mov edx, dword [ebp - 0xb50]
jmp dword [edx*4 + 0x4aab24]
movzx eax, byte [ebp - 0x9b0]
movzx ebx, byte [ebp + eax - 0xd90]
movsd xmm0, qword [ebp - 0xb0c]
call fcn.009d9750
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b0], bl
jmp 0x4a86b6
movzx ecx, byte [ebp - 0x9b0]
movzx ebx, byte [ebp + ecx - 0xd90]
movsd xmm0, qword [ebp - 0xb0c]
call fcn.009d9750
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b0], bl
jmp 0x4a86b6
movzx edx, byte [ebp - 0x9b0]
movzx ebx, byte [ebp + edx - 0xd90]
movsd xmm0, qword [ebp - 0xb0c]
call fcn.009d9750
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b0], bl
jmp 0x4a86b6
movzx eax, byte [ebp - 0x9b0]
movzx ebx, byte [ebp + eax - 0xd90]
movsd xmm0, qword [ebp - 0xb0c]
call fcn.009d9750
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b0], bl
jmp 0x4a86b6
movzx ecx, byte [ebp - 0x9b0]
movzx edx, byte [ebp + ecx - 0xd90]
mov eax, dword [ebp - 0xc90]
add eax, dword [ebp - 0xad4]
movzx ecx, byte [eax - 4]
add edx, ecx
mov byte [ebp - 0x9b0], dl
mov edx, dword [ebp - 0xad4]
add edx, 1
mov dword [ebp - 0xad4], edx
movzx eax, byte [ebp - 0xa91]
cmp dword [ebp - 0xad4], eax
jb 0x4a86f4
mov dword [ebp - 0xad4], 0
movzx ecx, byte [ebp - 0xa91]
movzx edx, byte [ebp - 0x9b0]
add edx, ecx
mov byte [ebp - 0x9b0], dl
movzx eax, byte [ebp - 0x9b0]
and eax, dword [ebp - 0xb14]
mov dword [ebp - 0xab0], eax
mov ecx, dword [ebp - 0xb30]
add ecx, 1
mov dword [ebp - 0xb30], ecx
cmp dword [ebp - 0xb30], 0xb
jbe 0x4a8733
mov eax, dword [ebp - 0xab0]
xor edx, edx
div dword [ebp - 0x9e0]
mov dword [ebp - 0xab0], edx
mov edx, dword [ebp - 0xab0]
cmp edx, dword [ebp - 0x9e0]
ja 0x4a85ae
mov eax, dword [ebp - 0x9e0]
cmp eax, dword [ebp - 0xab0]
je 0x4a87d8
mov ecx, dword [ebp - 0xab0]
movzx edx, byte [ebp + ecx - 0xd90]
mov eax, dword [ebp - 0x9e0]
movzx ecx, byte [ebp + eax - 0xd90]
xor ecx, edx
mov edx, dword [ebp - 0x9e0]
mov byte [ebp + edx - 0xd90], cl
mov eax, dword [ebp - 0x9e0]
movzx ecx, byte [ebp + eax - 0xd90]
mov edx, dword [ebp - 0xab0]
movzx eax, byte [ebp + edx - 0xd90]
xor eax, ecx
mov ecx, dword [ebp - 0xab0]
mov byte [ebp + ecx - 0xd90], al
mov edx, dword [ebp - 0xab0]
movzx eax, byte [ebp + edx - 0xd90]
mov ecx, dword [ebp - 0x9e0]
movzx edx, byte [ebp + ecx - 0xd90]
xor edx, eax
mov eax, dword [ebp - 0x9e0]
mov byte [ebp + eax - 0xd90], dl
jmp 0x4a855e
mov ecx, 1
shl ecx, 0
mov dl, byte [ebp + ecx - 0xd90]
mov byte [ebp - 0x9a4], dl
mov eax, 1
imul ecx, eax, 3
mov dl, byte [ebp + ecx - 0xd90]
mov byte [ebp - 0x9a6], dl
mov eax, 1
imul ecx, eax, 5
mov dl, byte [ebp + ecx - 0xd90]
mov byte [ebp - 0x9ad], dl
mov eax, 1
imul ecx, eax, 7
mov dl, byte [ebp + ecx - 0xd90]
mov byte [ebp - 0x9a7], dl
movzx eax, byte [ebp - 0x9b0]
mov cl, byte [ebp + eax - 0xd90]
mov byte [ebp - 0x9aa], cl
mov dword [ebp - 0xb54], 0x1a
cmp dword [ebp - 0xb54], 2
jle 0x4aa76a
mov edx, dword [ebp - 0xb54]
and edx, 1
jne 0x4aa76a
mov dword [ebp - 0x9c4], 0
mov dword [ebp - 0x9e4], 0
mov eax, dword [ebp - 0x9e4]
add eax, 1
mov dword [ebp - 0x9e4], eax
mov dword [ebp - 0xa88], 0
mov ecx, dword [ebp - 0x9c4]
shl ecx, 1
mov dword [ebp - 0xa88], ecx
mov dword [ebp - 0xa54], 0
movss xmm0, dword [0xa5785c]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [0xa577f4]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [0xa577ac]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [0xa57750]
movss dword [ebp - 0xa00], xmm0
movss xmm0, dword [0xa576fc]
movss dword [ebp - 0x9d8], xmm0
movss xmm0, dword [0xa5768c]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c8]
mulss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9d0]
mulss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [ebp - 0x9d8]
mulss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0x9d8], xmm0
movss xmm0, dword [ebp - 0x9c8]
subss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9d0]
addss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [ebp - 0x9cc]
mulss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9c0]
comiss xmm0, dword [ebp - 0x9cc]
jbe 0x4a8dde
movss xmm0, dword [ebp - 0x9d0]
subss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [ebp - 0x9d0]
addss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [ebp - 0x9c0]
addss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9cc]
addss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9d8]
subss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0x9d8], xmm0
movss xmm0, dword [ebp - 0x9d0]
addss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [ebp - 0x9c8]
mulss xmm0, dword [ebp - 0xa00]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9cc]
divss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9d0]
addss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [ebp - 0x9c8]
divss xmm0, dword [ebp - 0xa00]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9cc]
divss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9c0]
mulss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c8]
comiss xmm0, dword [ebp - 0x9cc]
jbe 0x4a8b7f
movss xmm0, dword [ebp - 0x9c0]
subss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c8]
addss xmm0, dword [ebp - 0xa00]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9cc]
subss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9c8]
addss xmm0, dword [ebp - 0xa00]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9c0]
subss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c0]
mulss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9c0], xmm0
jmp 0x4a8dd9
movss xmm0, dword [ebp - 0xa00]
subss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0xa00], xmm0
movss xmm0, dword [ebp - 0x9c0]
addss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9d8]
divss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9d8], xmm0
movss xmm0, dword [ebp - 0x9d8]
mulss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9d8], xmm0
movss xmm0, dword [ebp - 0x9cc]
subss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0xa00]
subss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0xa00], xmm0
movss xmm0, dword [ebp - 0x9c8]
mulss xmm0, dword [ebp - 0x9d8]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9c0]
divss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9d8]
addss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9d8], xmm0
movss xmm0, dword [ebp - 0x9c0]
divss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c8]
subss xmm0, dword [ebp - 0x9d8]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9c0]
mulss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9d0]
comiss xmm0, dword [ebp - 0xa00]
jbe 0x4a8d49
movss xmm0, dword [ebp - 0x9d0]
subss xmm0, dword [ebp - 0x9c8]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [ebp - 0x9d8]
mulss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0x9d8], xmm0
movss xmm0, dword [ebp - 0x9d8]
addss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0x9d8], xmm0
movss xmm0, dword [ebp - 0x9cc]
subss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9c8]
subss xmm0, dword [ebp - 0xa00]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9c8]
mulss xmm0, dword [ebp - 0xa00]
movss dword [ebp - 0x9c8], xmm0
jmp 0x4a8dd9
movss xmm0, dword [ebp - 0x9c8]
addss xmm0, dword [ebp - 0xa00]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9cc]
addss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9cc]
mulss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9d8]
addss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0x9d8], xmm0
movss xmm0, dword [ebp - 0x9c8]
subss xmm0, dword [ebp - 0xa00]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0x9cc]
subss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9cc], xmm0
jmp 0x4a8e89
movss xmm0, dword [ebp - 0xa00]
addss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0xa00], xmm0
movss xmm0, dword [ebp - 0x9c8]
subss xmm0, dword [ebp - 0x9d8]
movss dword [ebp - 0x9c8], xmm0
movss xmm0, dword [ebp - 0xa00]
mulss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0xa00], xmm0
movss xmm0, dword [ebp - 0x9c0]
mulss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9d8]
subss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9d8], xmm0
movss xmm0, dword [ebp - 0x9c0]
mulss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9c0], xmm0
mov edx, dword [ebp - 0xa84]
add edx, dword [ebp - 0xa88]
movzx eax, byte [edx]
add eax, dword [ebp - 0xa54]
mov dword [ebp - 0xa54], eax
mov dword [ebp - 0xa58], 0
mov ecx, dword [ebp - 0xa58]
add ecx, 0x61
mov dword [ebp - 0xa58], ecx
mov dword [ebp - 0xa74], 0
mov edx, dword [ebp - 0x9c4]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa74], eax
mov dword [ebp - 0xa5c], 0
mov ecx, dword [ebp - 0xa84]
add ecx, dword [ebp - 0xa74]
movzx edx, byte [ecx]
add edx, dword [ebp - 0xa5c]
mov dword [ebp - 0xa5c], edx
mov dword [ebp - 0xa60], 0
mov eax, dword [ebp - 0xa60]
add eax, 0xac
mov dword [ebp - 0xa60], eax
mov dword [ebp - 0xa4c], 0
mov ecx, dword [ebp - 0xa54]
sub ecx, dword [ebp - 0xa58]
add ecx, dword [ebp - 0xa4c]
mov dword [ebp - 0xa4c], ecx
mov dword [ebp - 0xa50], 0
mov edx, dword [ebp - 0xa5c]
sub edx, dword [ebp - 0xa60]
add edx, dword [ebp - 0xa50]
mov dword [ebp - 0xa50], edx
mov dword [ebp - 0xa78], 0
mov eax, dword [ebp - 0xa4c]
shl eax, 4
mov dword [ebp - 0xa78], eax
mov dword [ebp - 0xa7c], 0
mov ecx, dword [ebp - 0xa50]
mov dword [ebp - 0xa7c], ecx
mov dword [ebp - 0xa80], 0
mov edx, dword [ebp - 0xa78]
or edx, dword [ebp - 0xa7c]
mov dword [ebp - 0xa80], edx
mov byte [ebp - 0x9ae], 0
mov al, byte [ebp - 0xa80]
mov byte [ebp - 0x9ae], al
mov byte [ebp - 0x9ac], 0
movzx ecx, byte [ebp - 0x9aa]
mov dl, byte [ebp + ecx - 0xd90]
mov byte [ebp - 0x9ac], dl
movzx eax, byte [ebp - 0x9a4]
movzx ecx, byte [ebp + eax - 0xd90]
movzx edx, byte [ebp - 0x9a6]
add edx, ecx
mov byte [ebp - 0x9a6], dl
mov al, byte [ebp - 0x9a4]
add al, 1
mov byte [ebp - 0x9a4], al
movzx ecx, byte [ebp - 0x9a6]
movzx edx, byte [ebp - 0x9aa]
mov al, byte [ebp + ecx - 0xd90]
mov byte [ebp + edx - 0xd90], al
movzx ecx, byte [ebp - 0x9a7]
movzx edx, byte [ebp - 0x9a6]
mov al, byte [ebp + ecx - 0xd90]
mov byte [ebp + edx - 0xd90], al
movzx ecx, byte [ebp - 0x9a4]
movzx edx, byte [ebp - 0x9a7]
mov al, byte [ebp + ecx - 0xd90]
mov byte [ebp + edx - 0xd90], al
movzx ecx, byte [ebp - 0x9a4]
mov dl, byte [ebp - 0x9ac]
mov byte [ebp + ecx - 0xd90], dl
movzx eax, byte [ebp - 0x9ac]
movzx ecx, byte [ebp + eax - 0xd90]
movzx edx, byte [ebp - 0x9ad]
add edx, ecx
mov byte [ebp - 0x9ad], dl
movzx eax, byte [ebp - 0x9ae]
movzx ecx, byte [ebp - 0x9a6]
movzx edx, byte [ebp + ecx - 0xd90]
movzx ecx, byte [ebp - 0x9a4]
movzx ecx, byte [ebp + ecx - 0xd90]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xd90]
xor eax, edx
movzx ecx, byte [ebp - 0x9a7]
movzx edx, byte [ebp + ecx - 0xd90]
movzx ecx, byte [ebp - 0x9aa]
movzx ecx, byte [ebp + ecx - 0xd90]
add edx, ecx
movzx ecx, byte [ebp - 0x9ad]
movzx ecx, byte [ebp + ecx - 0xd90]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xd90]
movzx ecx, byte [ebp + edx - 0xd90]
xor eax, ecx
mov byte [ebp - 0x9a7], al
mov dl, byte [ebp - 0x9ae]
mov byte [ebp - 0x9aa], dl
mov al, byte [ebp - 0x9a7]
mov byte [ebp - 0x9b9], al
cmp dword [ebp - 0x9c4], 0
jle 0x4a9122
mov ecx, dword [ebp - 0x9c4]
mov dl, byte [ebp - 0x9b9]
mov byte [ebp + ecx - 0x21], dl
mov eax, dword [ebp - 0x9c4]
add eax, 1
mov dword [ebp - 0x9c4], eax
mov ecx, dword [ebp - 0x9e4]
add ecx, 1
mov dword [ebp - 0x9e4], ecx
mov edx, dword [ebp - 0x9c4]
shl edx, 1
mov dword [ebp - 0xa88], edx
mov eax, dword [ebp - 0xa84]
add eax, dword [ebp - 0xa88]
movzx ecx, byte [eax]
mov dword [ebp - 0xa54], ecx
mov dword [ebp - 0xa58], 0x61
mov edx, dword [ebp - 0x9c4]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa74], eax
mov ecx, dword [ebp - 0xa84]
add ecx, dword [ebp - 0xa74]
movzx edx, byte [ecx]
mov dword [ebp - 0xa5c], edx
mov dword [ebp - 0xa60], 0xac
mov eax, dword [ebp - 0xa54]
sub eax, dword [ebp - 0xa58]
mov dword [ebp - 0xa4c], eax
mov ecx, dword [ebp - 0xa5c]
sub ecx, dword [ebp - 0xa60]
mov dword [ebp - 0xa50], ecx
mov edx, dword [ebp - 0xa4c]
shl edx, 4
mov dword [ebp - 0xa78], edx
mov eax, dword [ebp - 0xa50]
mov dword [ebp - 0xa7c], eax
mov ecx, dword [ebp - 0xa78]
or ecx, dword [ebp - 0xa7c]
mov dword [ebp - 0xa80], ecx
mov dl, byte [ebp - 0xa80]
mov byte [ebp - 0x9ae], dl
movzx eax, byte [ebp - 0x9aa]
mov cl, byte [ebp + eax - 0xd90]
mov byte [ebp - 0x9ac], cl
movzx edx, byte [ebp - 0x9a4]
movzx eax, byte [ebp + edx - 0xd90]
movzx ecx, byte [ebp - 0x9a6]
add ecx, eax
mov byte [ebp - 0x9a6], cl
mov dl, byte [ebp - 0x9a4]
add dl, 1
mov byte [ebp - 0x9a4], dl
movzx eax, byte [ebp - 0x9a6]
movzx ecx, byte [ebp - 0x9aa]
mov dl, byte [ebp + eax - 0xd90]
mov byte [ebp + ecx - 0xd90], dl
movzx eax, byte [ebp - 0x9a7]
movzx ecx, byte [ebp - 0x9a6]
mov dl, byte [ebp + eax - 0xd90]
mov byte [ebp + ecx - 0xd90], dl
movzx eax, byte [ebp - 0x9a4]
movzx ecx, byte [ebp - 0x9a7]
mov dl, byte [ebp + eax - 0xd90]
mov byte [ebp + ecx - 0xd90], dl
movzx eax, byte [ebp - 0x9a4]
mov cl, byte [ebp - 0x9ac]
mov byte [ebp + eax - 0xd90], cl
movzx edx, byte [ebp - 0x9ac]
movzx eax, byte [ebp + edx - 0xd90]
movzx ecx, byte [ebp - 0x9ad]
add ecx, eax
mov byte [ebp - 0x9ad], cl
movzx edx, byte [ebp - 0x9ae]
movzx eax, byte [ebp - 0x9a6]
movzx ecx, byte [ebp + eax - 0xd90]
movzx eax, byte [ebp - 0x9a4]
movzx eax, byte [ebp + eax - 0xd90]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd90]
xor edx, ecx
movzx eax, byte [ebp - 0x9a7]
movzx ecx, byte [ebp + eax - 0xd90]
movzx eax, byte [ebp - 0x9aa]
movzx eax, byte [ebp + eax - 0xd90]
add ecx, eax
movzx eax, byte [ebp - 0x9ad]
movzx eax, byte [ebp + eax - 0xd90]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd90]
movzx eax, byte [ebp + ecx - 0xd90]
xor edx, eax
mov byte [ebp - 0x9a7], dl
mov cl, byte [ebp - 0x9ae]
mov byte [ebp - 0x9aa], cl
mov dl, byte [ebp - 0x9a7]
mov byte [ebp - 0x9b9], dl
cmp dword [ebp - 0x9c4], 0
jle 0x4a9377
invalid
invalid
invalid