Function at 0x4ac8a0
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xa6e2ec
mov eax, dword fs:[0]
push eax
sub esp, 0xd80
mov eax, dword [0xaa906c]
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 - 0xd78], ecx
mov dword [ebp - 0xd8c], 0
push 0x800
push 0
lea eax, [ebp - 0x83c]
push eax
call fcn.00a46b60
add esp, 0xc
mov dword [ebp - 0x874], 0x400
mov dword [ebp - 0x990], 0
mov dword [ebp - 0x998], 0
xorps xmm0, xmm0
movsd qword [ebp - 0xae4], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xacc], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xacc], xmm0
jmp 0x4ac94d
movsd xmm0, qword [ebp - 0xacc]
addsd xmm0, qword [0xa71340]
movsd qword [ebp - 0xacc], xmm0
movsd xmm0, qword [0xa726c0]
comisd xmm0, xmmword [ebp - 0xacc]
jbe 0x4ac9fe
movsd xmm0, qword [0xa72670]
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 [0xa72508]
mulsd xmm1, qword [ebp - 0xacc]
mulsd xmm1, qword [ebp - 0xacc]
addsd xmm1, qword [0xa72548]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0xae4]
movsd qword [ebp - 0xae4], xmm0
movsd xmm0, qword [ebp - 0xae4]
comisd xmm0, xmmword [0xa725a0]
jbe 0x4ac9f9
movsd xmm0, qword [0xa724b8]
mulsd xmm0, qword [ebp - 0xacc]
movsd xmm1, qword [ebp - 0xae4]
subsd xmm1, xmm0
movsd qword [ebp - 0xae4], xmm1
jmp 0x4ac935
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0xae4]
jbe 0x4aca3b
aam 0x24
retf 0xc823
mov dword [ebp - 0x990], 0x4aca0b
mov dword [ebp - 0x998], 0x4aca25
mov ecx, dword [ebp - 0x990]
mov dword [ebp - 0xa0c], ecx
mov edx, dword [ebp - 0x998]
mov dword [ebp - 0xd58], edx
mov byte [ebp - 0xa52], 0x15
mov dword [ebp - 0x9d4], 0
jmp 0x4aca89
mov eax, dword [ebp - 0x9d4]
add eax, 1
mov dword [ebp - 0x9d4], eax
cmp dword [ebp - 0x9d4], 0x100
jae 0x4acaaa
mov ecx, dword [ebp - 0x9d4]
mov dl, byte [ebp - 0x9d4]
mov byte [ebp + ecx - 0xc54], dl
jmp 0x4aca7a
mov dword [ebp - 0xabc], 0
mov byte [ebp - 0x9b0], 0
mov dword [ebp - 0x9d4], 0xff
jmp 0x4acad6
mov eax, dword [ebp - 0x9d4]
sub eax, 1
mov dword [ebp - 0x9d4], eax
cmp dword [ebp - 0x9d4], 0
jbe 0x4acd46
mov dword [ebp - 0xb1c], 0
mov dword [ebp - 0xb04], 1
mov ecx, dword [ebp - 0xb04]
cmp ecx, dword [ebp - 0x9d4]
jae 0x4acb17
mov edx, dword [ebp - 0xb04]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xb04], eax
jmp 0x4acaf7
mov ecx, dword [ebp - 0xabc]
mov dword [ebp - 0xb40], ecx
cmp dword [ebp - 0xb40], 3
ja case.default.0x4acb36
mov edx, dword [ebp - 0xb40]
jmp dword [edx*4 + 0x4b0a34]
movzx eax, byte [ebp - 0x9b0]
movzx ebx, byte [ebp + eax - 0xc54]
movsd xmm0, qword [ebp - 0xae4]
call fcn.009f5ff0
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b0], bl
jmp 0x4acc1f
movzx ecx, byte [ebp - 0x9b0]
movzx ebx, byte [ebp + ecx - 0xc54]
movsd xmm0, qword [ebp - 0xae4]
call fcn.009f5ff0
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b0], bl
jmp 0x4acc1f
movzx edx, byte [ebp - 0x9b0]
movzx ebx, byte [ebp + edx - 0xc54]
movsd xmm0, qword [ebp - 0xae4]
call fcn.009f5ff0
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b0], bl
jmp 0x4acc1f
movzx eax, byte [ebp - 0x9b0]
movzx ebx, byte [ebp + eax - 0xc54]
movsd xmm0, qword [ebp - 0xae4]
call fcn.009f5ff0
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b0], bl
jmp 0x4acc1f
movzx ecx, byte [ebp - 0x9b0]
movzx edx, byte [ebp + ecx - 0xc54]
mov eax, dword [ebp - 0xd58]
add eax, dword [ebp - 0xabc]
movzx ecx, byte [eax - 4]
add edx, ecx
mov byte [ebp - 0x9b0], dl
mov edx, dword [ebp - 0xabc]
add edx, 1
mov dword [ebp - 0xabc], edx
movzx eax, byte [ebp - 0xa52]
cmp dword [ebp - 0xabc], eax
jb 0x4acc5d
mov dword [ebp - 0xabc], 0
movzx ecx, byte [ebp - 0xa52]
movzx edx, byte [ebp - 0x9b0]
add edx, ecx
mov byte [ebp - 0x9b0], dl
movzx eax, byte [ebp - 0x9b0]
and eax, dword [ebp - 0xb04]
mov dword [ebp - 0xa98], eax
mov ecx, dword [ebp - 0xb1c]
add ecx, 1
mov dword [ebp - 0xb1c], ecx
cmp dword [ebp - 0xb1c], 0xb
jbe 0x4acc9c
mov eax, dword [ebp - 0xa98]
xor edx, edx
div dword [ebp - 0x9d4]
mov dword [ebp - 0xa98], edx
mov edx, dword [ebp - 0xa98]
cmp edx, dword [ebp - 0x9d4]
ja 0x4acb17
mov eax, dword [ebp - 0x9d4]
cmp eax, dword [ebp - 0xa98]
je 0x4acd41
mov ecx, dword [ebp - 0xa98]
movzx edx, byte [ebp + ecx - 0xc54]
mov eax, dword [ebp - 0x9d4]
movzx ecx, byte [ebp + eax - 0xc54]
xor ecx, edx
mov edx, dword [ebp - 0x9d4]
mov byte [ebp + edx - 0xc54], cl
mov eax, dword [ebp - 0x9d4]
movzx ecx, byte [ebp + eax - 0xc54]
mov edx, dword [ebp - 0xa98]
movzx eax, byte [ebp + edx - 0xc54]
xor eax, ecx
mov ecx, dword [ebp - 0xa98]
mov byte [ebp + ecx - 0xc54], al
mov edx, dword [ebp - 0xa98]
movzx eax, byte [ebp + edx - 0xc54]
mov ecx, dword [ebp - 0x9d4]
movzx edx, byte [ebp + ecx - 0xc54]
xor edx, eax
mov eax, dword [ebp - 0x9d4]
mov byte [ebp + eax - 0xc54], dl
jmp 0x4acac7
mov ecx, 1
shl ecx, 0
mov dl, byte [ebp + ecx - 0xc54]
mov byte [ebp - 0x9a1], dl
mov eax, 1
imul ecx, eax, 3
mov dl, byte [ebp + ecx - 0xc54]
mov byte [ebp - 0x9a3], dl
mov eax, 1
imul ecx, eax, 5
mov dl, byte [ebp + ecx - 0xc54]
mov byte [ebp - 0x9aa], dl
mov eax, 1
imul ecx, eax, 7
mov dl, byte [ebp + ecx - 0xc54]
mov byte [ebp - 0x9a4], dl
movzx eax, byte [ebp - 0x9b0]
mov cl, byte [ebp + eax - 0xc54]
mov byte [ebp - 0x9a7], cl
mov dword [ebp - 0xb44], 0x1a
cmp dword [ebp - 0xb44], 2
jle 0x4aeb0c
mov edx, dword [ebp - 0xb44]
and edx, 1
jne 0x4aeb0c
mov dword [ebp - 0x9b8], 0
mov dword [ebp - 0x9c4], 0
mov eax, dword [ebp - 0x9c4]
add eax, 1
mov dword [ebp - 0x9c4], eax
mov dword [ebp - 0xa10], 0
mov ecx, dword [ebp - 0x9b8]
shl ecx, 1
mov dword [ebp - 0xa10], ecx
mov dword [ebp - 0x9e8], 0
mov edx, dword [ebp - 0xa0c]
add edx, dword [ebp - 0xa10]
movzx eax, byte [edx]
add eax, dword [ebp - 0x9e8]
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x9f8], 0
mov ecx, dword [ebp - 0x9f8]
add ecx, 0xc6
mov dword [ebp - 0x9f8], ecx
mov dword [ebp - 0x9fc], 0
mov edx, dword [ebp - 0x9b8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x9fc], eax
mov dword [ebp - 0x9f4], 0
mov ecx, dword [ebp - 0xa0c]
add ecx, dword [ebp - 0x9fc]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x9f4]
mov dword [ebp - 0x9f4], edx
mov dword [ebp - 0x9f0], 0
mov eax, dword [ebp - 0x9f0]
add eax, 0x18
mov dword [ebp - 0x9f0], eax
mov dword [ebp - 0x9ec], 0
mov ecx, dword [ebp - 0x9e8]
sub ecx, dword [ebp - 0x9f8]
add ecx, dword [ebp - 0x9ec]
mov dword [ebp - 0x9ec], ecx
mov dword [ebp - 0x9e0], 0
mov edx, dword [ebp - 0x9f4]
sub edx, dword [ebp - 0x9f0]
add edx, dword [ebp - 0x9e0]
mov dword [ebp - 0x9e0], edx
mov dword [ebp - 0xa08], 0
mov eax, dword [ebp - 0x9ec]
shl eax, 4
mov dword [ebp - 0xa08], eax
mov dword [ebp - 0xa04], 0
mov ecx, dword [ebp - 0x9e0]
mov dword [ebp - 0xa04], ecx
mov dword [ebp - 0xa00], 0
mov edx, dword [ebp - 0xa08]
or edx, dword [ebp - 0xa04]
mov dword [ebp - 0xa00], edx
mov byte [ebp - 0x9ab], 0
mov al, byte [ebp - 0xa00]
mov byte [ebp - 0x9ab], al
mov byte [ebp - 0x9a9], 0
movzx ecx, byte [ebp - 0x9a7]
mov dl, byte [ebp + ecx - 0xc54]
mov byte [ebp - 0x9a9], dl
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + eax - 0xc54]
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 - 0xc54]
mov byte [ebp + edx - 0xc54], al
movzx ecx, byte [ebp - 0x9a4]
movzx edx, byte [ebp - 0x9a3]
mov al, byte [ebp + ecx - 0xc54]
mov byte [ebp + edx - 0xc54], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp - 0x9a4]
mov al, byte [ebp + ecx - 0xc54]
mov byte [ebp + edx - 0xc54], al
movzx ecx, byte [ebp - 0x9a1]
mov dl, byte [ebp - 0x9a9]
mov byte [ebp + ecx - 0xc54], dl
movzx eax, byte [ebp - 0x9a9]
movzx ecx, byte [ebp + eax - 0xc54]
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 - 0xc54]
movzx ecx, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + ecx - 0xc54]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc54]
xor eax, edx
movzx ecx, byte [ebp - 0x9a4]
movzx edx, byte [ebp + ecx - 0xc54]
movzx ecx, byte [ebp - 0x9a7]
movzx ecx, byte [ebp + ecx - 0xc54]
add edx, ecx
movzx ecx, byte [ebp - 0x9aa]
movzx ecx, byte [ebp + ecx - 0xc54]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc54]
movzx ecx, byte [ebp + edx - 0xc54]
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 0x4ad0d1
movsx cx, byte [ebp - 0x9af]
mov edx, dword [ebp - 0x9b8]
mov word [ebp + edx*2 - 0x3e], cx
mov eax, dword [ebp - 0x9c4]
add eax, 3
mov dword [ebp - 0x9c4], eax
mov ecx, dword [ebp - 0x9b8]
add ecx, 1
mov dword [ebp - 0xb20], ecx
jmp 0x4ad100
mov edx, dword [ebp - 0xb20]
add edx, 1
mov dword [ebp - 0xb20], edx
mov eax, dword [ebp - 0xb20]
cmp eax, dword [ebp - 0x9c4]
jge 0x4ad60b
mov ecx, dword [ebp - 0x9b8]
add ecx, 1
mov dword [ebp - 0x9b8], ecx
mov edx, dword [ebp - 0x9b8]
shl edx, 1
mov dword [ebp - 0xa10], edx
mov eax, dword [ebp - 0xa0c]
add eax, dword [ebp - 0xa10]
movzx ecx, byte [eax]
mov dword [ebp - 0x9e8], ecx
mov dword [ebp - 0x9f8], 0xc6
mov edx, dword [ebp - 0x9b8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x9fc], eax
movsd xmm0, qword [0xa729c8]
movsd qword [ebp - 0xa60], xmm0
movsd xmm0, qword [0xa72980]
movsd qword [ebp - 0xab8], xmm0
movsd xmm0, qword [0xa728c0]
movsd qword [ebp - 0xa70], xmm0
movsd xmm0, qword [0xa727b8]
movsd qword [ebp - 0xa84], xmm0
movsd xmm0, qword [ebp - 0xab8]
subsd xmm0, qword [ebp - 0xa84]
movsd qword [ebp - 0xab8], xmm0
movsd xmm0, qword [ebp - 0xa70]
mulsd xmm0, qword [ebp - 0xa84]
movsd qword [ebp - 0xa70], xmm0
movsd xmm0, qword [ebp - 0xa60]
subsd xmm0, qword [ebp - 0xa84]
movsd qword [ebp - 0xa60], xmm0
movsd xmm0, qword [ebp - 0xa70]
mulsd xmm0, qword [ebp - 0xa84]
movsd qword [ebp - 0xa70], xmm0
movsd xmm0, qword [ebp - 0xa70]
comisd xmm0, xmmword [ebp - 0xa84]
jbe 0x4ad28a
movsd xmm0, qword [ebp - 0xa70]
subsd xmm0, qword [ebp - 0xa60]
movsd qword [ebp - 0xa70], xmm0
movsd xmm0, qword [ebp - 0xa60]
mulsd xmm0, qword [ebp - 0xa70]
movsd qword [ebp - 0xa60], xmm0
movsd xmm0, qword [ebp - 0xa84]
addsd xmm0, qword [ebp - 0xab8]
movsd qword [ebp - 0xa84], xmm0
movsd xmm0, qword [ebp - 0xa84]
mulsd xmm0, qword [ebp - 0xab8]
movsd qword [ebp - 0xa84], xmm0
mov ecx, dword [ebp - 0xa0c]
add ecx, dword [ebp - 0x9fc]
movzx edx, byte [ecx]
mov dword [ebp - 0x9f4], edx
jmp 0x4ad41e
movsd xmm0, qword [ebp - 0xab8]
subsd xmm0, qword [ebp - 0xa84]
movsd qword [ebp - 0xab8], xmm0
movsd xmm0, qword [ebp - 0xa60]
mulsd xmm0, qword [ebp - 0xa70]
movsd qword [ebp - 0xa60], xmm0
movsd xmm0, qword [ebp - 0xa60]
subsd xmm0, qword [ebp - 0xa70]
movsd qword [ebp - 0xa60], xmm0
movsd xmm0, qword [ebp - 0xa60]
subsd xmm0, qword [ebp - 0xa70]
movsd qword [ebp - 0xa60], xmm0
movsd xmm0, qword [ebp - 0xa60]
addsd xmm0, qword [ebp - 0xab8]
movsd qword [ebp - 0xa60], xmm0
movsd xmm0, qword [ebp - 0xa70]
addsd xmm0, qword [ebp - 0xa84]
movsd qword [ebp - 0xa70], xmm0
movsd xmm0, qword [ebp - 0xa70]
addsd xmm0, qword [ebp - 0xa84]
movsd qword [ebp - 0xa70], xmm0
movsd xmm0, qword [ebp - 0xa60]
mulsd xmm0, qword [ebp - 0xab8]
movsd qword [ebp - 0xa60], xmm0
movsd xmm0, qword [ebp - 0xa84]
comisd xmm0, xmmword [ebp - 0xab8]
jbe 0x4ad3be
movsd xmm0, qword [ebp - 0xa84]
divsd xmm0, qword [ebp - 0xab8]
movsd qword [ebp - 0xa84], xmm0
movsd xmm0, qword [ebp - 0xa60]
divsd xmm0, qword [ebp - 0xa70]
movsd qword [ebp - 0xa60], xmm0
movsd xmm0, qword [ebp - 0xa60]
subsd xmm0, qword [ebp - 0xa70]
movsd qword [ebp - 0xa60], xmm0
movsd xmm0, qword [ebp - 0xa70]
divsd xmm0, qword [ebp - 0xa60]
movsd qword [ebp - 0xa70], xmm0
jmp 0x4ad41e
movsd xmm0, qword [ebp - 0xab8]
subsd xmm0, qword [ebp - 0xa70]
movsd qword [ebp - 0xab8], xmm0
movsd xmm0, qword [ebp - 0xa84]
mulsd xmm0, qword [ebp - 0xa60]
movsd qword [ebp - 0xa84], xmm0
movsd xmm0, qword [ebp - 0xa70]
addsd xmm0, qword [ebp - 0xa84]
movsd qword [ebp - 0xa70], xmm0
movsd xmm0, qword [ebp - 0xa60]
divsd xmm0, qword [ebp - 0xab8]
movsd qword [ebp - 0xa60], xmm0
mov dword [ebp - 0x9f0], 0x18
mov eax, dword [ebp - 0x9e8]
sub eax, dword [ebp - 0x9f8]
mov dword [ebp - 0x9ec], eax
mov ecx, dword [ebp - 0x9f4]
sub ecx, dword [ebp - 0x9f0]
mov dword [ebp - 0x9e0], ecx
mov edx, dword [ebp - 0x9ec]
shl edx, 4
mov dword [ebp - 0xa08], edx
mov eax, dword [ebp - 0x9e0]
mov dword [ebp - 0xa04], eax
mov ecx, dword [ebp - 0xa08]
or ecx, dword [ebp - 0xa04]
mov dword [ebp - 0xa00], ecx
mov dl, byte [ebp - 0xa00]
mov byte [ebp - 0x9ab], dl
movzx eax, byte [ebp - 0x9a7]
mov cl, byte [ebp + eax - 0xc54]
mov byte [ebp - 0x9a9], cl
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp + edx - 0xc54]
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 - 0xc54]
mov byte [ebp + ecx - 0xc54], dl
movzx eax, byte [ebp - 0x9a4]
movzx ecx, byte [ebp - 0x9a3]
mov dl, byte [ebp + eax - 0xc54]
mov byte [ebp + ecx - 0xc54], dl
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp - 0x9a4]
mov dl, byte [ebp + eax - 0xc54]
mov byte [ebp + ecx - 0xc54], dl
movzx eax, byte [ebp - 0x9a1]
mov cl, byte [ebp - 0x9a9]
mov byte [ebp + eax - 0xc54], cl
movzx edx, byte [ebp - 0x9a9]
movzx eax, byte [ebp + edx - 0xc54]
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 - 0xc54]
movzx eax, byte [ebp - 0x9a1]
movzx eax, byte [ebp + eax - 0xc54]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc54]
xor edx, ecx
movzx eax, byte [ebp - 0x9a4]
movzx ecx, byte [ebp + eax - 0xc54]
movzx eax, byte [ebp - 0x9a7]
movzx eax, byte [ebp + eax - 0xc54]
add ecx, eax
movzx eax, byte [ebp - 0x9aa]
movzx eax, byte [ebp + eax - 0xc54]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc54]
movzx eax, byte [ebp + ecx - 0xc54]
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 0x4ad606
movsx ax, byte [ebp - 0x9af]
mov ecx, dword [ebp - 0x9b8]
mov word [ebp + ecx*2 - 0x3e], ax
jmp 0x4ad0f1
mov edx, dword [ebp - 0x9c4]
add edx, 1
mov dword [ebp - 0x9c4], edx
mov eax, dword [ebp - 0x9b8]
add eax, 1
mov dword [ebp - 0x9b8], eax
mov ecx, dword [ebp - 0x9c4]
add ecx, 1
mov dword [ebp - 0x9c4], ecx
mov edx, dword [ebp - 0x9b8]
shl edx, 1
mov dword [ebp - 0xa10], edx
mov eax, dword [ebp - 0xa0c]
add eax, dword [ebp - 0xa10]
movzx ecx, byte [eax]
mov dword [ebp - 0x9e8], ecx
mov dword [ebp - 0x9f8], 0xc6
mov edx, dword [ebp - 0x9b8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x9fc], eax
mov ecx, dword [ebp - 0xa0c]
add ecx, dword [ebp - 0x9fc]
movzx edx, byte [ecx]
mov dword [ebp - 0x9f4], edx
mov dword [ebp - 0x9f0], 0x18
mov eax, dword [ebp - 0x9e8]
sub eax, dword [ebp - 0x9f8]
mov dword [ebp - 0x9ec], eax
mov ecx, dword [ebp - 0x9f4]
sub ecx, dword [ebp - 0x9f0]
mov dword [ebp - 0x9e0], ecx
mov edx, dword [ebp - 0x9ec]
shl edx, 4
mov dword [ebp - 0xa08], edx
mov eax, dword [ebp - 0x9e0]
mov dword [ebp - 0xa04], eax
mov ecx, dword [ebp - 0xa08]
or ecx, dword [ebp - 0xa04]
mov dword [ebp - 0xa00], ecx
mov dl, byte [ebp - 0xa00]
mov byte [ebp - 0x9ab], dl
movzx eax, byte [ebp - 0x9a7]
mov cl, byte [ebp + eax - 0xc54]
mov byte [ebp - 0x9a9], cl
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp + edx - 0xc54]
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 - 0xc54]
mov byte [ebp + ecx - 0xc54], dl
movzx eax, byte [ebp - 0x9a4]
movzx ecx, byte [ebp - 0x9a3]
mov dl, byte [ebp + eax - 0xc54]
mov byte [ebp + ecx - 0xc54], dl
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp - 0x9a4]
mov dl, byte [ebp + eax - 0xc54]
mov byte [ebp + ecx - 0xc54], dl
movzx eax, byte [ebp - 0x9a1]
mov cl, byte [ebp - 0x9a9]
mov byte [ebp + eax - 0xc54], cl
movzx edx, byte [ebp - 0x9a9]
movzx eax, byte [ebp + edx - 0xc54]
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 - 0xc54]
movzx eax, byte [ebp - 0x9a1]
movzx eax, byte [ebp + eax - 0xc54]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc54]
xor edx, ecx
movzx eax, byte [ebp - 0x9a4]
movzx ecx, byte [ebp + eax - 0xc54]
movzx eax, byte [ebp - 0x9a7]
movzx eax, byte [ebp + eax - 0xc54]
add ecx, eax
movzx eax, byte [ebp - 0x9aa]
movzx eax, byte [ebp + eax - 0xc54]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc54]
movzx eax, byte [ebp + ecx - 0xc54]
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 0x4ad872
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 - 0x9c4]
add eax, 1
mov dword [ebp - 0x9c4], eax
mov ecx, dword [ebp - 0x9b8]
shl ecx, 1
mov dword [ebp - 0xa10], ecx
mov edx, dword [ebp - 0xa0c]
add edx, dword [ebp - 0xa10]
movzx eax, byte [edx]
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x9f8], 0xc6
mov ecx, dword [ebp - 0x9b8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x9fc], edx
mov eax, dword [ebp - 0xa0c]
add eax, dword [ebp - 0x9fc]
movzx ecx, byte [eax]
mov dword [ebp - 0x9f4], ecx
mov dword [ebp - 0x9f0], 0x18
mov edx, dword [ebp - 0x9e8]
sub edx, dword [ebp - 0x9f8]
mov dword [ebp - 0x9ec], edx
mov eax, dword [ebp - 0x9f4]
sub eax, dword [ebp - 0x9f0]
mov dword [ebp - 0x9e0], eax
mov ecx, dword [ebp - 0x9ec]
shl ecx, 4
mov dword [ebp - 0xa08], ecx
mov edx, dword [ebp - 0x9e0]
mov dword [ebp - 0xa04], edx
mov eax, dword [ebp - 0xa08]
or eax, dword [ebp - 0xa04]
mov dword [ebp - 0xa00], eax
mov cl, byte [ebp - 0xa00]
mov byte [ebp - 0x9ab], cl
movzx edx, byte [ebp - 0x9a7]
mov al, byte [ebp + edx - 0xc54]
mov byte [ebp - 0x9a9], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + ecx - 0xc54]
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 - 0xc54]
mov byte [ebp + eax - 0xc54], cl
movzx edx, byte [ebp - 0x9a4]
movzx eax, byte [ebp - 0x9a3]
mov cl, byte [ebp + edx - 0xc54]
mov byte [ebp + eax - 0xc54], cl
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp - 0x9a4]
mov cl, byte [ebp + edx - 0xc54]
mov byte [ebp + eax - 0xc54], cl
movzx edx, byte [ebp - 0x9a1]
mov al, byte [ebp - 0x9a9]
mov byte [ebp + edx - 0xc54], al
movzx ecx, byte [ebp - 0x9a9]
movzx edx, byte [ebp + ecx - 0xc54]
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 - 0xc54]
movzx edx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + edx - 0xc54]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc54]
xor ecx, eax
movzx edx, byte [ebp - 0x9a4]
movzx eax, byte [ebp + edx - 0xc54]
movzx edx, byte [ebp - 0x9a7]
movzx edx, byte [ebp + edx - 0xc54]
add eax, edx
movzx edx, byte [ebp - 0x9aa]
movzx edx, byte [ebp + edx - 0xc54]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc54]
movzx edx, byte [ebp + eax - 0xc54]
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 0x4adac8
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 - 0x9c4]
add edx, 1
mov dword [ebp - 0x9c4], edx
mov eax, dword [ebp - 0x9b8]
shl eax, 1
mov dword [ebp - 0xa10], eax
mov ecx, dword [ebp - 0xa0c]
add ecx, dword [ebp - 0xa10]
movzx edx, byte [ecx]
mov dword [ebp - 0x9e8], edx
mov dword [ebp - 0x9f8], 0xc6
mov eax, dword [ebp - 0x9b8]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x9fc], ecx
mov edx, dword [ebp - 0xa0c]
add edx, dword [ebp - 0x9fc]
movzx eax, byte [edx]
mov dword [ebp - 0x9f4], eax
mov dword [ebp - 0x9f0], 0x18
mov ecx, dword [ebp - 0x9e8]
sub ecx, dword [ebp - 0x9f8]
mov dword [ebp - 0x9ec], ecx
mov edx, dword [ebp - 0x9f4]
sub edx, dword [ebp - 0x9f0]
mov dword [ebp - 0x9e0], edx
mov eax, dword [ebp - 0x9ec]
shl eax, 4
mov dword [ebp - 0xa08], eax
mov ecx, dword [ebp - 0x9e0]
mov dword [ebp - 0xa04], ecx
mov edx, dword [ebp - 0xa08]
or edx, dword [ebp - 0xa04]
mov dword [ebp - 0xa00], edx
mov al, byte [ebp - 0xa00]
mov byte [ebp - 0x9ab], al
movzx ecx, byte [ebp - 0x9a7]
mov dl, byte [ebp + ecx - 0xc54]
mov byte [ebp - 0x9a9], dl
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + eax - 0xc54]
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 - 0xc54]
mov byte [ebp + edx - 0xc54], al
movzx ecx, byte [ebp - 0x9a4]
movzx edx, byte [ebp - 0x9a3]
mov al, byte [ebp + ecx - 0xc54]
mov byte [ebp + edx - 0xc54], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp - 0x9a4]
mov al, byte [ebp + ecx - 0xc54]
mov byte [ebp + edx - 0xc54], al
movzx ecx, byte [ebp - 0x9a1]
mov dl, byte [ebp - 0x9a9]
mov byte [ebp + ecx - 0xc54], dl
movzx eax, byte [ebp - 0x9a9]
movzx ecx, byte [ebp + eax - 0xc54]
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 - 0xc54]
movzx ecx, byte [ebp - 0x9a1]
movzx ecx, byte [ebp + ecx - 0xc54]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc54]
xor eax, edx
movzx ecx, byte [ebp - 0x9a4]
movzx edx, byte [ebp + ecx - 0xc54]
movzx ecx, byte [ebp - 0x9a7]
movzx ecx, byte [ebp + ecx - 0xc54]
add edx, ecx
movzx ecx, byte [ebp - 0x9aa]
movzx ecx, byte [ebp + ecx - 0xc54]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xc54]
movzx ecx, byte [ebp + edx - 0xc54]
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 0x4add1f
movsx cx, byte [ebp - 0x9af]
mov edx, dword [ebp - 0x9b8]
mov word [ebp + edx*2 - 0x3e], cx
mov eax, dword [ebp - 0x9c4]
add eax, 4
mov dword [ebp - 0x9c4], eax
mov ecx, dword [ebp - 0x9b8]
add ecx, 1
mov dword [ebp - 0xb24], ecx
jmp 0x4add4e
mov edx, dword [ebp - 0xb24]
add edx, 1
mov dword [ebp - 0xb24], edx
mov eax, dword [ebp - 0xb24]
cmp eax, dword [ebp - 0x9c4]
jge 0x4ae25a
mov ecx, dword [ebp - 0x9b8]
add ecx, 1
mov dword [ebp - 0x9b8], ecx
mov edx, dword [ebp - 0x9b8]
shl edx, 1
mov dword [ebp - 0xa10], edx
mov eax, dword [ebp - 0xa0c]
add eax, dword [ebp - 0xa10]
movzx ecx, byte [eax]
mov dword [ebp - 0x9e8], ecx
mov dword [ebp - 0x9f8], 0xc6
mov edx, dword [ebp - 0x9b8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x9fc], eax
mov ecx, dword [ebp - 0xa0c]
add ecx, dword [ebp - 0x9fc]
movzx edx, byte [ecx]
mov dword [ebp - 0x9f4], edx
mov dword [ebp - 0x9f0], 0x18
mov eax, dword [ebp - 0x9e8]
sub eax, dword [ebp - 0x9f8]
mov dword [ebp - 0x9ec], eax
mov ecx, dword [ebp - 0x9f4]
sub ecx, dword [ebp - 0x9f0]
mov dword [ebp - 0x9e0], ecx
mov edx, dword [ebp - 0x9ec]
shl edx, 4
mov dword [ebp - 0xa08], edx
movsd xmm0, qword [0xa72998]
movsd qword [ebp - 0xaac], xmm0
movsd xmm0, qword [0xa72930]
movsd qword [ebp - 0xa78], xmm0
movsd xmm0, qword [0xa72850]
movsd qword [ebp - 0xb00], xmm0
movsd xmm0, qword [0xa72760]
movsd qword [ebp - 0xa44], xmm0
movsd xmm0, qword [ebp - 0xb00]
mulsd xmm0, qword [ebp - 0xa44]
movsd qword [ebp - 0xb00], xmm0
movsd xmm0, qword [ebp - 0xa78]
mulsd xmm0, qword [ebp - 0xa44]
movsd qword [ebp - 0xa78], xmm0
movsd xmm0, qword [ebp - 0xaac]
addsd xmm0, qword [ebp - 0xa44]
movsd qword [ebp - 0xaac], xmm0
movsd xmm0, qword [ebp - 0xa78]
mulsd xmm0, qword [ebp - 0xa44]
movsd qword [ebp - 0xa78], xmm0
movsd xmm0, qword [ebp - 0xa44]
comisd xmm0, xmmword [ebp - 0xa78]
jbe 0x4ae04a
movsd xmm0, qword [ebp - 0xa44]
divsd xmm0, qword [ebp - 0xaac]
movsd qword [ebp - 0xa44], xmm0
movsd xmm0, qword [ebp - 0xa44]
divsd xmm0, qword [ebp - 0xaac]
movsd qword [ebp - 0xa44], xmm0
movsd xmm0, qword [ebp - 0xa78]
mulsd xmm0, qword [ebp - 0xb00]
movsd qword [ebp - 0xa78], xmm0
movsd xmm0, qword [ebp - 0xa78]
subsd xmm0, qword [ebp - 0xb00]
movsd qword [ebp - 0xa78], xmm0
movsd xmm0, qword [ebp - 0xa44]
divsd xmm0, qword [ebp - 0xa78]
movsd qword [ebp - 0xa44], xmm0
movsd xmm0, qword [ebp - 0xaac]
divsd xmm0, qword [ebp - 0xb00]
movsd qword [ebp - 0xaac], xmm0
movsd xmm0, qword [ebp - 0xaac]
divsd xmm0, qword [ebp - 0xb00]
movsd qword [ebp - 0xaac], xmm0
movsd xmm0, qword [ebp - 0xa44]
divsd xmm0, qword [ebp - 0xa78]
movsd qword [ebp - 0xa44], xmm0
movsd xmm0, qword [ebp - 0xa78]
comisd xmm0, xmmword [ebp - 0xa44]
jbe 0x4adfe8
movsd xmm0, qword [ebp - 0xa78]
subsd xmm0, qword [ebp - 0xb00]
movsd qword [ebp - 0xa78], xmm0
movsd xmm0, qword [ebp - 0xa44]
addsd xmm0, qword [ebp - 0xaac]
movsd qword [ebp - 0xa44], xmm0
movsd xmm0, qword [ebp - 0xaac]
subsd xmm0, qword [ebp - 0xa78]
movsd qword [ebp - 0xaac], xmm0
movsd xmm0, qword [ebp - 0xa44]
addsd xmm0, qword [ebp - 0xaac]
movsd qword [ebp - 0xa44], xmm0
jmp 0x4ae048
movsd xmm0, qword [ebp - 0xa44]
divsd xmm0, qword [ebp - 0xaac]
movsd qword [ebp - 0xa44], xmm0
movsd xmm0, qword [ebp - 0xaac]
divsd xmm0, qword [ebp - 0xa78]
movsd qword [ebp - 0xaac], xmm0
movsd xmm0, qword [ebp - 0xb00]
mulsd xmm0, qword [ebp - 0xa44]
movsd qword [ebp - 0xb00], xmm0
movsd xmm0, qword [ebp - 0xa44]
divsd xmm0, qword [ebp - 0xaac]
movsd qword [ebp - 0xa44], xmm0
jmp 0x4ae0b6
movsd xmm0, qword [ebp - 0xa44]
subsd xmm0, qword [ebp - 0xa78]
movsd qword [ebp - 0xa44], xmm0
movsd xmm0, qword [ebp - 0xa78]
addsd xmm0, qword [ebp - 0xa44]
movsd qword [ebp - 0xa78], xmm0
movsd xmm0, qword [ebp - 0xa78]
mulsd xmm0, qword [ebp - 0xa44]
movsd qword [ebp - 0xa78], xmm0
movsd xmm0, qword [ebp - 0xa44]
subsd xmm0, qword [ebp - 0xa78]
movsd qword [ebp - 0xa44], xmm0
mov eax, dword [ebp - 0x9e0]
mov dword [ebp - 0xa04], eax
mov ecx, dword [ebp - 0xa08]
or ecx, dword [ebp - 0xa04]
mov dword [ebp - 0xa00], ecx
mov dl, byte [ebp - 0xa00]
mov byte [ebp - 0x9ab], dl
movzx eax, byte [ebp - 0x9a7]
mov cl, byte [ebp + eax - 0xc54]
mov byte [ebp - 0x9a9], cl
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp + edx - 0xc54]
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 - 0xc54]
mov byte [ebp + ecx - 0xc54], dl
movzx eax, byte [ebp - 0x9a4]
movzx ecx, byte [ebp - 0x9a3]
mov dl, byte [ebp + eax - 0xc54]
mov byte [ebp + ecx - 0xc54], dl
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp - 0x9a4]
mov dl, byte [ebp + eax - 0xc54]
mov byte [ebp + ecx - 0xc54], dl
movzx eax, byte [ebp - 0x9a1]
mov cl, byte [ebp - 0x9a9]
mov byte [ebp + eax - 0xc54], cl
movzx edx, byte [ebp - 0x9a9]
movzx eax, byte [ebp + edx - 0xc54]
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 - 0xc54]
movzx eax, byte [ebp - 0x9a1]
movzx eax, byte [ebp + eax - 0xc54]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc54]
xor edx, ecx
movzx eax, byte [ebp - 0x9a4]
movzx ecx, byte [ebp + eax - 0xc54]
movzx eax, byte [ebp - 0x9a7]
movzx eax, byte [ebp + eax - 0xc54]
add ecx, eax
movzx eax, byte [ebp - 0x9aa]
movzx eax, byte [ebp + eax - 0xc54]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc54]
movzx eax, byte [ebp + ecx - 0xc54]
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 0x4ae255
movsx ax, byte [ebp - 0x9af]
mov ecx, dword [ebp - 0x9b8]
mov word [ebp + ecx*2 - 0x3e], ax
jmp 0x4add3f
mov edx, dword [ebp - 0x9c4]
add edx, 1
mov dword [ebp - 0x9c4], edx
mov eax, dword [ebp - 0x9b8]
add eax, 1
mov dword [ebp - 0x9b8], eax
mov ecx, dword [ebp - 0x9c4]
add ecx, 1
mov dword [ebp - 0x9c4], ecx
mov edx, dword [ebp - 0x9b8]
shl edx, 1
mov dword [ebp - 0xa10], edx
mov eax, dword [ebp - 0xa0c]
add eax, dword [ebp - 0xa10]
movzx ecx, byte [eax]
mov dword [ebp - 0x9e8], ecx
mov dword [ebp - 0x9f8], 0xc6
mov edx, dword [ebp - 0x9b8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x9fc], eax
mov ecx, dword [ebp - 0xa0c]
add ecx, dword [ebp - 0x9fc]
movzx edx, byte [ecx]
mov dword [ebp - 0x9f4], edx
mov dword [ebp - 0x9f0], 0x18
mov eax, dword [ebp - 0x9e8]
sub eax, dword [ebp - 0x9f8]
mov dword [ebp - 0x9ec], eax
mov ecx, dword [ebp - 0x9f4]
sub ecx, dword [ebp - 0x9f0]
mov dword [ebp - 0x9e0], ecx
mov edx, dword [ebp - 0x9ec]
shl edx, 4
mov dword [ebp - 0xa08], edx
mov eax, dword [ebp - 0x9e0]
mov dword [ebp - 0xa04], eax
mov ecx, dword [ebp - 0xa08]
or ecx, dword [ebp - 0xa04]
mov dword [ebp - 0xa00], ecx
mov dl, byte [ebp - 0xa00]
mov byte [ebp - 0x9ab], dl
movzx eax, byte [ebp - 0x9a7]
mov cl, byte [ebp + eax - 0xc54]
mov byte [ebp - 0x9a9], cl
movss xmm0, dword [0xa72a88]
movss dword [ebp - 0xa58], xmm0
movss xmm0, dword [0xa72a4c]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [0xa72a1c]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [0xa729dc]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [ebp - 0x9c0]
subss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c0]
mulss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c0]
mulss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c0]
subss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9d0]
comiss xmm0, dword [ebp - 0x9c0]
jbe 0x4ae5a1
movss xmm0, dword [ebp - 0x9cc]
mulss xmm0, dword [ebp - 0xa58]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9cc]
subss xmm0, dword [ebp - 0xa58]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9c0]
divss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9cc]
addss xmm0, dword [ebp - 0xa58]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9d0]
divss xmm0, dword [ebp - 0x9c0]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [ebp - 0xa58]
divss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0xa58], xmm0
movss xmm0, dword [ebp - 0x9cc]
mulss xmm0, dword [ebp - 0xa58]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9c0]
divss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9d0]
comiss xmm0, dword [ebp - 0x9c0]
jbe 0x4ae53c
movss xmm0, dword [ebp - 0x9c0]
subss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c0]
addss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c0]
divss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9d0]
mulss xmm0, dword [ebp - 0xa58]
movss dword [ebp - 0x9d0], xmm0
jmp 0x4ae59c
movss xmm0, dword [ebp - 0x9cc]
mulss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9d0]
divss xmm0, dword [ebp - 0xa58]
movss dword [ebp - 0x9d0], xmm0
movss xmm0, dword [ebp - 0x9cc]
addss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0x9c0]
divss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0x9c0], xmm0
jmp 0x4ae62e
movss xmm0, dword [ebp - 0x9c0]
mulss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9c0]
mulss xmm0, dword [ebp - 0x9d0]
movss dword [ebp - 0x9c0], xmm0
movss xmm0, dword [ebp - 0x9cc]
subss xmm0, dword [ebp - 0xa58]
movss dword [ebp - 0x9cc], xmm0
movss xmm0, dword [ebp - 0xa58]
subss xmm0, dword [ebp - 0x9cc]
movss dword [ebp - 0xa58], xmm0
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp + edx - 0xc54]
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 - 0xc54]
mov byte [ebp + ecx - 0xc54], dl
movzx eax, byte [ebp - 0x9a4]
movzx ecx, byte [ebp - 0x9a3]
mov dl, byte [ebp + eax - 0xc54]
mov byte [ebp + ecx - 0xc54], dl
movzx eax, byte [ebp - 0x9a1]
movzx ecx, byte [ebp - 0x9a4]
mov dl, byte [ebp + eax - 0xc54]
mov byte [ebp + ecx - 0xc54], dl
movzx eax, byte [ebp - 0x9a1]
mov cl, byte [ebp - 0x9a9]
mov byte [ebp + eax - 0xc54], cl
movzx edx, byte [ebp - 0x9a9]
movzx eax, byte [ebp + edx - 0xc54]
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 - 0xc54]
movzx eax, byte [ebp - 0x9a1]
movzx eax, byte [ebp + eax - 0xc54]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc54]
xor edx, ecx
movzx eax, byte [ebp - 0x9a4]
movzx ecx, byte [ebp + eax - 0xc54]
movzx eax, byte [ebp - 0x9a7]
movzx eax, byte [ebp + eax - 0xc54]
add ecx, eax
movzx eax, byte [ebp - 0x9aa]
movzx eax, byte [ebp + eax - 0xc54]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xc54]
movzx eax, byte [ebp + ecx - 0xc54]
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 0x4ae76e
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 - 0x9c4]
add eax, 1
mov dword [ebp - 0x9c4], eax
movss xmm0, dword [0xa72acc]
movss dword [ebp - 0x9dc], xmm0
movss xmm0, dword [0xa72a7c]
movss dword [ebp - 0xb08], xmm0
movss xmm0, dword [0xa72a10]
movss dword [ebp - 0xa9c], xmm0
movss xmm0, dword [ebp - 0x9dc]
addss xmm0, dword [ebp - 0xa9c]
movss dword [ebp - 0x9dc], xmm0
movss xmm0, dword [ebp - 0x9dc]
addss xmm0, dword [ebp - 0xa9c]
movss dword [ebp - 0x9dc], xmm0
movss xmm0, dword [ebp - 0x9dc]
mulss xmm0, dword [ebp - 0xa9c]
movss dword [ebp - 0x9dc], xmm0
movss xmm0, dword [ebp - 0xa9c]
comiss xmm0, dword [ebp - 0x9dc]
jbe 0x4ae85f
movss xmm0, dword [ebp - 0xa9c]
subss xmm0, dword [ebp - 0x9dc]
movss dword [ebp - 0xa9c], xmm0
movss xmm0, dword [ebp - 0x9dc]
addss xmm0, dword [ebp - 0xb08]
movss dword [ebp - 0x9dc], xmm0
movss xmm0, dword [ebp - 0x9dc]
subss xmm0, dword [ebp - 0xb08]
movss dword [ebp - 0x9dc], xmm0
jmp 0x4ae8b5
movss xmm0, dword [ebp - 0x9dc]
addss xmm0, dword [ebp - 0xb08]
movss dword [ebp - 0x9dc], xmm0
movss xmm0, dword [ebp - 0xa9c]
subss xmm0, dword [ebp - 0x9dc]
movss dword [ebp - 0xa9c], xmm0
movss xmm0, dword [ebp - 0x9dc]
subss xmm0, dword [ebp - 0xb08]
movss dword [ebp - 0x9dc], xmm0
mov ecx, dword [ebp - 0x9b8]
shl ecx, 1
mov dword [ebp - 0xa10], ecx
mov edx, dword [ebp - 0xa0c]
add edx, dword [ebp - 0xa10]
movzx eax, byte [edx]
mov dword [ebp - 0x9e8], eax
mov dword [ebp - 0x9f8], 0xc6
mov ecx, dword [ebp - 0x9b8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x9fc], edx
mov eax, dword [ebp - 0xa0c]
add eax, dword [ebp - 0x9fc]
movzx ecx, byte [eax]
mov dword [ebp - 0x9f4], ecx
mov dword [ebp - 0x9f0], 0x18
mov edx, dword [ebp - 0x9e8]
sub edx, dword [ebp - 0x9f8]
mov dword [ebp - 0x9ec], edx
mov eax, dword [ebp - 0x9f4]
sub eax, dword [ebp - 0x9f0]
mov dword [ebp - 0x9e0], eax
mov ecx, dword [ebp - 0x9ec]
shl ecx, 4
mov dword [ebp - 0xa08], ecx
mov edx, dword [ebp - 0x9e0]
mov dword [ebp - 0xa04], edx
mov eax, dword [ebp - 0xa08]
or eax, dword [ebp - 0xa04]
mov dword [ebp - 0xa00], eax
mov cl, byte [ebp - 0xa00]
mov byte [ebp - 0x9ab], cl
movzx edx, byte [ebp - 0x9a7]
mov al, byte [ebp + edx - 0xc54]
mov byte [ebp - 0x9a9], al
movzx ecx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + ecx - 0xc54]
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 - 0xc54]
mov byte [ebp + eax - 0xc54], cl
movzx edx, byte [ebp - 0x9a4]
movzx eax, byte [ebp - 0x9a3]
mov cl, byte [ebp + edx - 0xc54]
mov byte [ebp + eax - 0xc54], cl
movzx edx, byte [ebp - 0x9a1]
movzx eax, byte [ebp - 0x9a4]
mov cl, byte [ebp + edx - 0xc54]
mov byte [ebp + eax - 0xc54], cl
movzx edx, byte [ebp - 0x9a1]
mov al, byte [ebp - 0x9a9]
mov byte [ebp + edx - 0xc54], al
movzx ecx, byte [ebp - 0x9a9]
movzx edx, byte [ebp + ecx - 0xc54]
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 - 0xc54]
movzx edx, byte [ebp - 0x9a1]
movzx edx, byte [ebp + edx - 0xc54]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc54]
xor ecx, eax
movzx edx, byte [ebp - 0x9a4]
movzx eax, byte [ebp + edx - 0xc54]
movzx edx, byte [ebp - 0x9a7]
movzx edx, byte [ebp + edx - 0xc54]
add eax, edx
movzx edx, byte [ebp - 0x9aa]
movzx edx, byte [ebp + edx - 0xc54]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xc54]
movzx edx, byte [ebp + eax - 0xc54]
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 0x4aeadf
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 - 0xb48], edx
cmp dword [ebp - 0xb48], 0x1a
jae 0x4aeaf8
jmp 0x4aeafd
call fcn.009f5b17
xor eax, eax
mov ecx, dword [ebp - 0xb48]
mov word [ebp + ecx - 0x3c], ax
jmp 0x4aeb5d
mov dword [ebp - 0xaf4], 0
jmp 0x4aeb27
mov edx, dword [ebp - 0xaf4]
add edx, 1
mov dword [ebp - 0xaf4], edx
cmp dword [ebp - 0xaf4], 0xd
jge 0x4aeb5d
mov eax, dword [ebp - 0xaf4]
shl eax, 1
mov dword [ebp - 0xb4c], eax
cmp dword [ebp - 0xb4c], 0x1a
jae 0x4aeb49
jmp 0x4aeb4e
call fcn.009f5b17
xor ecx, ecx
mov edx, dword [ebp - 0xb4c]
mov word [ebp + edx - 0x3c], cx
jmp 0x4aeb18
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0xd68], eax
mov dword [ebp - 0x99c], 0
mov dword [ebp - 0x994], 0
xorps xmm0, xmm0
movsd qword [ebp - 0xadc], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xad4], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0xad4], xmm0
jmp 0x4aebbc
movsd xmm0, qword [ebp - 0xad4]
addsd xmm0, qword [0xa71350]
movsd qword [ebp - 0xad4], xmm0
movsd xmm0, qword [0xa735a0]
comisd xmm0, xmmword [ebp - 0xad4]
jbe 0x4aec6d
movsd xmm0, qword [0xa73478]
mulsd xmm0, qword [ebp - 0xad4]
mulsd xmm0, qword [ebp - 0xad4]
movsd xmm1, qword [ebp - 0xad4]
mulsd xmm1, qword [ebp - 0xad4]
subsd xmm0, xmm1
movsd xmm1, qword [0xa73348]
mulsd xmm1, qword [ebp - 0xad4]
mulsd xmm1, qword [ebp - 0xad4]
addsd xmm1, qword [0xa73398]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0xadc]
movsd qword [ebp - 0xadc], xmm0
movsd xmm0, qword [ebp - 0xadc]
comisd xmm0, xmmword [0xa733c8]
jbe 0x4aec68
movsd xmm0, qword [0xa732b8]
mulsd xmm0, qword [ebp - 0xad4]
movsd xmm1, qword [ebp - 0xadc]
subsd xmm1, xmm0
movsd qword [ebp - 0xadc], xmm1
jmp 0x4aeba4
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0xadc]
jbe 0x4aecb7
test esi, ebx
xchg bl, dl
xchg edx, eax
ror byte [edi + ebx*8 - 0x26722178], cl
xchg edx, edx
test edi, edx
mov edx, ss
invalid
mov dword [ebp - 0x99c], 0x4aec7a
mov dword [ebp - 0x994], 0x4aec94
mov ecx, dword [ebp - 0x99c]
mov dword [ebp - 0xa3c], ecx
mov edx, dword [ebp - 0x994]
mov dword [ebp - 0xd5c], edx
mov byte [ebp - 0xa51], 0x22
mov dword [ebp - 0x9d8], 0
jmp 0x4aed05
mov eax, dword [ebp - 0x9d8]
add eax, 1
mov dword [ebp - 0x9d8], eax
cmp dword [ebp - 0x9d8], 0x100
jae 0x4aed26
mov ecx, dword [ebp - 0x9d8]
mov dl, byte [ebp - 0x9d8]
mov byte [ebp + ecx - 0xd54], dl
jmp 0x4aecf6
mov dword [ebp - 0xac0], 0
mov byte [ebp - 0x9b1], 0
mov dword [ebp - 0x9d8], 0xff
jmp 0x4aed52
mov eax, dword [ebp - 0x9d8]
sub eax, 1
mov dword [ebp - 0x9d8], eax
cmp dword [ebp - 0x9d8], 0
jbe 0x4aefc2
mov dword [ebp - 0xb0c], 0
mov dword [ebp - 0xae8], 1
mov ecx, dword [ebp - 0xae8]
cmp ecx, dword [ebp - 0x9d8]
jae 0x4aed93
mov edx, dword [ebp - 0xae8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xae8], eax
jmp 0x4aed73
mov ecx, dword [ebp - 0xac0]
mov dword [ebp - 0xb50], ecx
cmp dword [ebp - 0xb50], 3
ja case.default.0x4aedb2
mov edx, dword [ebp - 0xb50]
jmp dword [edx*4 + 0x4b0a44]
movzx eax, byte [ebp - 0x9b1]
movzx ebx, byte [ebp + eax - 0xd54]
movsd xmm0, qword [ebp - 0xadc]
call fcn.009f5ff0
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b1], bl
jmp 0x4aee9b
movzx ecx, byte [ebp - 0x9b1]
movzx ebx, byte [ebp + ecx - 0xd54]
movsd xmm0, qword [ebp - 0xadc]
call fcn.009f5ff0
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b1], bl
jmp 0x4aee9b
movzx edx, byte [ebp - 0x9b1]
movzx ebx, byte [ebp + edx - 0xd54]
movsd xmm0, qword [ebp - 0xadc]
call fcn.009f5ff0
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b1], bl
jmp 0x4aee9b
movzx eax, byte [ebp - 0x9b1]
movzx ebx, byte [ebp + eax - 0xd54]
movsd xmm0, qword [ebp - 0xadc]
call fcn.009f5ff0
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9b1], bl
jmp 0x4aee9b
movzx ecx, byte [ebp - 0x9b1]
movzx edx, byte [ebp + ecx - 0xd54]
mov eax, dword [ebp - 0xd5c]
add eax, dword [ebp - 0xac0]
movzx ecx, byte [eax - 4]
add edx, ecx
mov byte [ebp - 0x9b1], dl
mov edx, dword [ebp - 0xac0]
add edx, 1
mov dword [ebp - 0xac0], edx
movzx eax, byte [ebp - 0xa51]
cmp dword [ebp - 0xac0], eax
jb 0x4aeed9
mov dword [ebp - 0xac0], 0
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 - 0xae8]
mov dword [ebp - 0xaa0], eax
mov ecx, dword [ebp - 0xb0c]
add ecx, 1
mov dword [ebp - 0xb0c], ecx
cmp dword [ebp - 0xb0c], 0xb
jbe 0x4aef18
mov eax, dword [ebp - 0xaa0]
xor edx, edx
div dword [ebp - 0x9d8]
mov dword [ebp - 0xaa0], edx
mov edx, dword [ebp - 0xaa0]
cmp edx, dword [ebp - 0x9d8]
ja 0x4aed93
mov eax, dword [ebp - 0x9d8]
cmp eax, dword [ebp - 0xaa0]
je 0x4aefbd
mov ecx, dword [ebp - 0xaa0]
movzx edx, byte [ebp + ecx - 0xd54]
mov eax, dword [ebp - 0x9d8]
movzx ecx, byte [ebp + eax - 0xd54]
xor ecx, edx
mov edx, dword [ebp - 0x9d8]
mov byte [ebp + edx - 0xd54], cl
mov eax, dword [ebp - 0x9d8]
movzx ecx, byte [ebp + eax - 0xd54]
mov edx, dword [ebp - 0xaa0]
movzx eax, byte [ebp + edx - 0xd54]
xor eax, ecx
mov ecx, dword [ebp - 0xaa0]
mov byte [ebp + ecx - 0xd54], al
mov edx, dword [ebp - 0xaa0]
movzx eax, byte [ebp + edx - 0xd54]
mov ecx, dword [ebp - 0x9d8]
movzx edx, byte [ebp + ecx - 0xd54]
xor edx, eax
mov eax, dword [ebp - 0x9d8]
mov byte [ebp + eax - 0xd54], dl
jmp 0x4aed43
mov ecx, 1
shl ecx, 0
mov dl, byte [ebp + ecx - 0xd54]
mov byte [ebp - 0x9a2], dl
mov eax, 1
imul ecx, eax, 3
mov dl, byte [ebp + ecx - 0xd54]
mov byte [ebp - 0x9a5], dl
mov eax, 1
imul ecx, eax, 5
mov dl, byte [ebp + ecx - 0xd54]
mov byte [ebp - 0x9ac], dl
mov eax, 1
imul ecx, eax, 7
mov dl, byte [ebp + ecx - 0xd54]
mov byte [ebp - 0x9a6], dl
movzx eax, byte [ebp - 0x9b1]
mov cl, byte [ebp + eax - 0xd54]
mov byte [ebp - 0x9a8], cl
mov dword [ebp - 0xb54], 0x1a
cmp dword [ebp - 0xb54], 2
jle 0x4b068b
mov edx, dword [ebp - 0xb54]
and edx, 1
jne 0x4b068b
mov dword [ebp - 0x9bc], 0
mov dword [ebp - 0x9c8], 0
mov eax, dword [ebp - 0x9c8]
add eax, 1
mov dword [ebp - 0x9c8], eax
mov dword [ebp - 0xa38], 0
mov ecx, dword [ebp - 0x9bc]
shl ecx, 1
mov dword [ebp - 0xa38], ecx
mov dword [ebp - 0xa24], 0
mov edx, dword [ebp - 0xa3c]
add edx, dword [ebp - 0xa38]
movzx eax, byte [edx]
add eax, dword [ebp - 0xa24]
mov dword [ebp - 0xa24], eax
mov dword [ebp - 0xa14], 0
mov ecx, dword [ebp - 0xa14]
add ecx, 0x84
mov dword [ebp - 0xa14], ecx
mov dword [ebp - 0xa48], 0
mov edx, dword [ebp - 0x9bc]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa48], eax
mov dword [ebp - 0xa18], 0
mov ecx, dword [ebp - 0xa3c]
add ecx, dword [ebp - 0xa48]
movzx edx, byte [ecx]
add edx, dword [ebp - 0xa18]
mov dword [ebp - 0xa18], edx
mov dword [ebp - 0xa1c], 0
mov eax, dword [ebp - 0xa1c]
add eax, 0xd1
mov dword [ebp - 0xa1c], eax
mov dword [ebp - 0xa20], 0
mov ecx, dword [ebp - 0xa24]
sub ecx, dword [ebp - 0xa14]
add ecx, dword [ebp - 0xa20]
mov dword [ebp - 0xa20], ecx
mov dword [ebp - 0xa28], 0
mov edx, dword [ebp - 0xa18]
sub edx, dword [ebp - 0xa1c]
add edx, dword [ebp - 0xa28]
mov dword [ebp - 0xa28], edx
mov dword [ebp - 0xa2c], 0
mov eax, dword [ebp - 0xa20]
shl eax, 4
mov dword [ebp - 0xa2c], eax
mov dword [ebp - 0xa30], 0
mov ecx, dword [ebp - 0xa28]
mov dword [ebp - 0xa30], ecx
mov dword [ebp - 0xa34], 0
mov edx, dword [ebp - 0xa2c]
or edx, dword [ebp - 0xa30]
mov dword [ebp - 0xa34], edx
mov byte [ebp - 0x9ad], 0
mov al, byte [ebp - 0xa34]
mov byte [ebp - 0x9ad], al
mov byte [ebp - 0x9ae], 0
movzx ecx, byte [ebp - 0x9a8]
mov dl, byte [ebp + ecx - 0xd54]
mov byte [ebp - 0x9ae], dl
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp + eax - 0xd54]
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 - 0xd54]
mov byte [ebp + edx - 0xd54], al
movzx ecx, byte [ebp - 0x9a6]
movzx edx, byte [ebp - 0x9a5]
mov al, byte [ebp + ecx - 0xd54]
mov byte [ebp + edx - 0xd54], al
movzx ecx, byte [ebp - 0x9a2]
movzx edx, byte [ebp - 0x9a6]
mov al, byte [ebp + ecx - 0xd54]
mov byte [ebp + edx - 0xd54], al
movzx ecx, byte [ebp - 0x9a2]
mov dl, byte [ebp - 0x9ae]
mov byte [ebp + ecx - 0xd54], dl
movzx eax, byte [ebp - 0x9ae]
movzx ecx, byte [ebp + eax - 0xd54]
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 - 0xd54]
movzx ecx, byte [ebp - 0x9a2]
movzx ecx, byte [ebp + ecx - 0xd54]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xd54]
xor eax, edx
movzx ecx, byte [ebp - 0x9a6]
movzx edx, byte [ebp + ecx - 0xd54]
movzx ecx, byte [ebp - 0x9a8]
movzx ecx, byte [ebp + ecx - 0xd54]
add edx, ecx
movzx ecx, byte [ebp - 0x9ac]
movzx ecx, byte [ebp + ecx - 0xd54]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xd54]
movzx ecx, byte [ebp + edx - 0xd54]
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 - 0x9b2], al
cmp dword [ebp - 0x9bc], 0
jle 0x4af34c
mov ecx, dword [ebp - 0x9bc]
mov dl, byte [ebp - 0x9b2]
mov byte [ebp + ecx - 0x21], dl
mov eax, dword [ebp - 0x9c8]
add eax, 4
mov dword [ebp - 0x9c8], eax
mov ecx, dword [ebp - 0x9bc]
add ecx, 1
mov dword [ebp - 0xb10], ecx
jmp 0x4af37b
mov edx, dword [ebp - 0xb10]
add edx, 1
mov dword [ebp - 0xb10], edx
mov eax, dword [ebp - 0xb10]
cmp eax, dword [ebp - 0x9c8]
jge 0x4af5d8
mov ecx, dword [ebp - 0x9bc]
add ecx, 1
mov dword [ebp - 0x9bc], ecx
mov edx, dword [ebp - 0x9bc]
shl edx, 1
mov dword [ebp - 0xa38], edx
mov eax, dword [ebp - 0xa3c]
add eax, dword [ebp - 0xa38]
movzx ecx, byte [eax]
mov dword [ebp - 0xa24], ecx
mov dword [ebp - 0xa14], 0x84
mov edx, dword [ebp - 0x9bc]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa48], eax
mov ecx, dword [ebp - 0xa3c]
add ecx, dword [ebp - 0xa48]
movzx edx, byte [ecx]
mov dword [ebp - 0xa18], edx
mov dword [ebp - 0xa1c], 0xd1
mov eax, dword [ebp - 0xa24]
sub eax, dword [ebp - 0xa14]
mov dword [ebp - 0xa20], eax
mov ecx, dword [ebp - 0xa18]
sub ecx, dword [ebp - 0xa1c]
mov dword [ebp - 0xa28], ecx
mov edx, dword [ebp - 0xa20]
shl edx, 4
mov dword [ebp - 0xa2c], edx
mov eax, dword [ebp - 0xa28]
mov dword [ebp - 0xa30], eax
mov ecx, dword [ebp - 0xa2c]
or ecx, dword [ebp - 0xa30]
mov dword [ebp - 0xa34], ecx
mov dl, byte [ebp - 0xa34]
mov byte [ebp - 0x9ad], dl
movzx eax, byte [ebp - 0x9a8]
mov cl, byte [ebp + eax - 0xd54]
mov byte [ebp - 0x9ae], cl
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp + edx - 0xd54]
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 - 0xd54]
mov byte [ebp + ecx - 0xd54], dl
movzx eax, byte [ebp - 0x9a6]
movzx ecx, byte [ebp - 0x9a5]
mov dl, byte [ebp + eax - 0xd54]
mov byte [ebp + ecx - 0xd54], dl
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp - 0x9a6]
mov dl, byte [ebp + eax - 0xd54]
mov byte [ebp + ecx - 0xd54], dl
movzx eax, byte [ebp - 0x9a2]
mov cl, byte [ebp - 0x9ae]
mov byte [ebp + eax - 0xd54], cl
movzx edx, byte [ebp - 0x9ae]
movzx eax, byte [ebp + edx - 0xd54]
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 - 0xd54]
movzx eax, byte [ebp - 0x9a2]
movzx eax, byte [ebp + eax - 0xd54]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd54]
xor edx, ecx
movzx eax, byte [ebp - 0x9a6]
movzx ecx, byte [ebp + eax - 0xd54]
movzx eax, byte [ebp - 0x9a8]
movzx eax, byte [ebp + eax - 0xd54]
add ecx, eax
movzx eax, byte [ebp - 0x9ac]
movzx eax, byte [ebp + eax - 0xd54]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd54]
movzx eax, byte [ebp + ecx - 0xd54]
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 - 0x9b2], dl
cmp dword [ebp - 0x9bc], 0
jle 0x4af5d3
mov eax, dword [ebp - 0x9bc]
mov cl, byte [ebp - 0x9b2]
mov byte [ebp + eax - 0x21], cl
jmp 0x4af36c
mov edx, dword [ebp - 0x9c8]
add edx, 1
mov dword [ebp - 0x9c8], edx
mov eax, dword [ebp - 0x9bc]
add eax, 1
mov dword [ebp - 0x9bc], eax
mov ecx, dword [ebp - 0x9c8]
add ecx, 1
mov dword [ebp - 0x9c8], ecx
mov edx, dword [ebp - 0x9bc]
shl edx, 1
mov dword [ebp - 0xa38], edx
mov eax, dword [ebp - 0xa3c]
add eax, dword [ebp - 0xa38]
movzx ecx, byte [eax]
mov dword [ebp - 0xa24], ecx
mov dword [ebp - 0xa14], 0x84
mov edx, dword [ebp - 0x9bc]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa48], eax
mov ecx, dword [ebp - 0xa3c]
add ecx, dword [ebp - 0xa48]
movzx edx, byte [ecx]
mov dword [ebp - 0xa18], edx
mov dword [ebp - 0xa1c], 0xd1
mov eax, dword [ebp - 0xa24]
sub eax, dword [ebp - 0xa14]
mov dword [ebp - 0xa20], eax
mov ecx, dword [ebp - 0xa18]
sub ecx, dword [ebp - 0xa1c]
mov dword [ebp - 0xa28], ecx
mov edx, dword [ebp - 0xa20]
shl edx, 4
mov dword [ebp - 0xa2c], edx
mov eax, dword [ebp - 0xa28]
mov dword [ebp - 0xa30], eax
mov ecx, dword [ebp - 0xa2c]
or ecx, dword [ebp - 0xa30]
mov dword [ebp - 0xa34], ecx
mov dl, byte [ebp - 0xa34]
mov byte [ebp - 0x9ad], dl
movzx eax, byte [ebp - 0x9a8]
mov cl, byte [ebp + eax - 0xd54]
mov byte [ebp - 0x9ae], cl
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp + edx - 0xd54]
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 - 0xd54]
mov byte [ebp + ecx - 0xd54], dl
movzx eax, byte [ebp - 0x9a6]
movzx ecx, byte [ebp - 0x9a5]
mov dl, byte [ebp + eax - 0xd54]
mov byte [ebp + ecx - 0xd54], dl
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp - 0x9a6]
mov dl, byte [ebp + eax - 0xd54]
mov byte [ebp + ecx - 0xd54], dl
movzx eax, byte [ebp - 0x9a2]
mov cl, byte [ebp - 0x9ae]
mov byte [ebp + eax - 0xd54], cl
movzx edx, byte [ebp - 0x9ae]
movzx eax, byte [ebp + edx - 0xd54]
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 - 0xd54]
movzx eax, byte [ebp - 0x9a2]
movzx eax, byte [ebp + eax - 0xd54]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd54]
xor edx, ecx
movzx eax, byte [ebp - 0x9a6]
movzx ecx, byte [ebp + eax - 0xd54]
movzx eax, byte [ebp - 0x9a8]
movzx eax, byte [ebp + eax - 0xd54]
add ecx, eax
movzx eax, byte [ebp - 0x9ac]
movzx eax, byte [ebp + eax - 0xd54]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd54]
movzx eax, byte [ebp + ecx - 0xd54]
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 - 0x9b2], dl
cmp dword [ebp - 0x9bc], 0
jle 0x4af83c
mov eax, dword [ebp - 0x9bc]
mov cl, byte [ebp - 0x9b2]
mov byte [ebp + eax - 0x21], cl
mov edx, dword [ebp - 0x9bc]
add edx, 1
mov dword [ebp - 0x9bc], edx
mov eax, dword [ebp - 0x9c8]
add eax, 1
mov dword [ebp - 0x9c8], eax
mov ecx, dword [ebp - 0x9bc]
shl ecx, 1
mov dword [ebp - 0xa38], ecx
mov edx, dword [ebp - 0xa3c]
add edx, dword [ebp - 0xa38]
movzx eax, byte [edx]
mov dword [ebp - 0xa24], eax
mov dword [ebp - 0xa14], 0x84
movsd xmm0, qword [0xa737f8]
movsd qword [ebp - 0xa8c], xmm0
movsd xmm0, qword [0xa736e0]
movsd qword [ebp - 0xa94], xmm0
movsd xmm0, qword [0xa735a8]
movsd qword [ebp - 0xa68], xmm0
movsd xmm0, qword [ebp - 0xa8c]
addsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa8c], xmm0
movsd xmm0, qword [ebp - 0xa94]
addsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa94], xmm0
movsd xmm0, qword [ebp - 0xa94]
mulsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa94], xmm0
movsd xmm0, qword [ebp - 0xa94]
comisd xmm0, xmmword [ebp - 0xa68]
jbe 0x4af96e
movsd xmm0, qword [ebp - 0xa8c]
addsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa8c], xmm0
movsd xmm0, qword [ebp - 0xa8c]
addsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa8c], xmm0
movsd xmm0, qword [ebp - 0xa68]
addsd xmm0, qword [ebp - 0xa94]
movsd qword [ebp - 0xa68], xmm0
mov ecx, dword [ebp - 0x9bc]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xa48], edx
jmp 0x4afaa2
movsd xmm0, qword [ebp - 0xa8c]
divsd xmm0, qword [ebp - 0xa94]
movsd qword [ebp - 0xa8c], xmm0
movsd xmm0, qword [ebp - 0xa68]
subsd xmm0, qword [ebp - 0xa8c]
movsd qword [ebp - 0xa68], xmm0
movsd xmm0, qword [ebp - 0xa68]
subsd xmm0, qword [ebp - 0xa8c]
movsd qword [ebp - 0xa68], xmm0
movsd xmm0, qword [ebp - 0xa94]
addsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa94], xmm0
movsd xmm0, qword [ebp - 0xa68]
mulsd xmm0, qword [ebp - 0xa8c]
movsd qword [ebp - 0xa68], xmm0
movsd xmm0, qword [ebp - 0xa8c]
subsd xmm0, qword [ebp - 0xa94]
movsd qword [ebp - 0xa8c], xmm0
movsd xmm0, qword [ebp - 0xa68]
comisd xmm0, xmmword [ebp - 0xa8c]
jbe 0x4afa5a
movsd xmm0, qword [ebp - 0xa68]
mulsd xmm0, qword [ebp - 0xa8c]
movsd qword [ebp - 0xa68], xmm0
movsd xmm0, qword [ebp - 0xa68]
subsd xmm0, qword [ebp - 0xa8c]
movsd qword [ebp - 0xa68], xmm0
movsd xmm0, qword [ebp - 0xa94]
addsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa94], xmm0
jmp 0x4afaa2
movsd xmm0, qword [ebp - 0xa94]
subsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa94], xmm0
movsd xmm0, qword [ebp - 0xa94]
addsd xmm0, qword [ebp - 0xa68]
movsd qword [ebp - 0xa94], xmm0
movsd xmm0, qword [ebp - 0xa8c]
addsd xmm0, qword [ebp - 0xa94]
movsd qword [ebp - 0xa8c], xmm0
mov eax, dword [ebp - 0xa3c]
add eax, dword [ebp - 0xa48]
movzx ecx, byte [eax]
mov dword [ebp - 0xa18], ecx
mov dword [ebp - 0xa1c], 0xd1
mov edx, dword [ebp - 0xa24]
sub edx, dword [ebp - 0xa14]
mov dword [ebp - 0xa20], edx
mov eax, dword [ebp - 0xa18]
sub eax, dword [ebp - 0xa1c]
mov dword [ebp - 0xa28], eax
mov ecx, dword [ebp - 0xa20]
shl ecx, 4
mov dword [ebp - 0xa2c], ecx
mov edx, dword [ebp - 0xa28]
mov dword [ebp - 0xa30], edx
mov eax, dword [ebp - 0xa2c]
or eax, dword [ebp - 0xa30]
mov dword [ebp - 0xa34], eax
mov cl, byte [ebp - 0xa34]
mov byte [ebp - 0x9ad], cl
movzx edx, byte [ebp - 0x9a8]
mov al, byte [ebp + edx - 0xd54]
mov byte [ebp - 0x9ae], al
movzx ecx, byte [ebp - 0x9a2]
movzx edx, byte [ebp + ecx - 0xd54]
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 - 0xd54]
mov byte [ebp + eax - 0xd54], cl
movzx edx, byte [ebp - 0x9a6]
movzx eax, byte [ebp - 0x9a5]
mov cl, byte [ebp + edx - 0xd54]
mov byte [ebp + eax - 0xd54], cl
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp - 0x9a6]
mov cl, byte [ebp + edx - 0xd54]
mov byte [ebp + eax - 0xd54], cl
movzx edx, byte [ebp - 0x9a2]
mov al, byte [ebp - 0x9ae]
mov byte [ebp + edx - 0xd54], al
movzx ecx, byte [ebp - 0x9ae]
movzx edx, byte [ebp + ecx - 0xd54]
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 - 0xd54]
movzx edx, byte [ebp - 0x9a2]
movzx edx, byte [ebp + edx - 0xd54]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xd54]
xor ecx, eax
movzx edx, byte [ebp - 0x9a6]
movzx eax, byte [ebp + edx - 0xd54]
movzx edx, byte [ebp - 0x9a8]
movzx edx, byte [ebp + edx - 0xd54]
add eax, edx
movzx edx, byte [ebp - 0x9ac]
movzx edx, byte [ebp + edx - 0xd54]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xd54]
movzx edx, byte [ebp + eax - 0xd54]
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 - 0x9b2], cl
cmp dword [ebp - 0x9bc], 0
jle 0x4afc9a
mov edx, dword [ebp - 0x9bc]
mov al, byte [ebp - 0x9b2]
mov byte [ebp + edx - 0x21], al
mov ecx, dword [ebp - 0x9bc]
add ecx, 1
mov dword [ebp - 0x9bc], ecx
mov edx, dword [ebp - 0x9c8]
add edx, 1
mov dword [ebp - 0x9c8], edx
mov eax, dword [ebp - 0x9bc]
shl eax, 1
mov dword [ebp - 0xa38], eax
mov ecx, dword [ebp - 0xa3c]
add ecx, dword [ebp - 0xa38]
movzx edx, byte [ecx]
mov dword [ebp - 0xa24], edx
mov dword [ebp - 0xa14], 0x84
mov eax, dword [ebp - 0x9bc]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xa48], ecx
movss xmm0, dword [0xa73b40]
movss dword [ebp - 0xa50], xmm0
movss xmm0, dword [0xa73b14]
movss dword [ebp - 0xb3c], xmm0
movss xmm0, dword [0xa73acc]
movss dword [ebp - 0xa4c], xmm0
movss xmm0, dword [0xa73a70]
movss dword [ebp - 0xaec], xmm0
movss xmm0, dword [0xa73a24]
movss dword [ebp - 0xa7c], xmm0
movss xmm0, dword [0xa739c8]
movss dword [ebp - 0xaa4], xmm0
movss xmm0, dword [0xa73978]
movss dword [ebp - 0x9e4], xmm0
movss xmm0, dword [ebp - 0xa7c]
subss xmm0, dword [ebp - 0x9e4]
movss dword [ebp - 0xa7c], xmm0
movss xmm0, dword [ebp - 0xa50]
mulss xmm0, dword [ebp - 0x9e4]
movss dword [ebp - 0xa50], xmm0
movss xmm0, dword [ebp - 0xa7c]
subss xmm0, dword [ebp - 0x9e4]
movss dword [ebp - 0xa7c], xmm0
movss xmm0, dword [ebp - 0xa50]
subss xmm0, dword [ebp - 0x9e4]
movss dword [ebp - 0xa50], xmm0
movss xmm0, dword [ebp - 0xa4c]
addss xmm0, dword [ebp - 0x9e4]
movss dword [ebp - 0xa4c], xmm0
movss xmm0, dword [ebp - 0xa50]
addss xmm0, dword [ebp - 0x9e4]
movss dword [ebp - 0xa50], xmm0
movss xmm0, dword [ebp - 0xaa4]
mulss xmm0, dword [ebp - 0x9e4]
movss dword [ebp - 0xaa4], xmm0
movss xmm0, dword [ebp - 0xa7c]
comiss xmm0, dword [ebp - 0xa50]
jbe 0x4afecf
movss xmm0, dword [ebp - 0xa4c]
addss xmm0, dword [ebp - 0xaec]
movss dword [ebp - 0xa4c], xmm0
movss xmm0, dword [ebp - 0x9e4]
addss xmm0, dword [ebp - 0xa50]
movss dword [ebp - 0x9e4], xmm0
movss xmm0, dword [ebp - 0xaa4]
mulss xmm0, dword [ebp - 0x9e4]
movss dword [ebp - 0xaa4], xmm0
movss xmm0, dword [ebp - 0x9e4]
mulss xmm0, dword [ebp - 0xa50]
movss dword [ebp - 0x9e4], xmm0
movss xmm0, dword [ebp - 0xa4c]
addss xmm0, dword [ebp - 0xaec]
movss dword [ebp - 0xa4c], xmm0
movss xmm0, dword [ebp - 0xaa4]
subss xmm0, dword [ebp - 0x9e4]
movss dword [ebp - 0xaa4], xmm0
movss xmm0, dword [ebp - 0xaec]
mulss xmm0, dword [ebp - 0xa7c]
movss dword [ebp - 0xaec], xmm0
jmp 0x4aff8c
movss xmm0, dword [ebp - 0xaa4]
addss xmm0, dword [ebp - 0xa50]
movss dword [ebp - 0xaa4], xmm0
movss xmm0, dword [ebp - 0x9e4]
addss xmm0, dword [ebp - 0xb3c]
movss dword [ebp - 0x9e4], xmm0
movss xmm0, dword [ebp - 0xa4c]
mulss xmm0, dword [ebp - 0xa7c]
movss dword [ebp - 0xa4c], xmm0
movss xmm0, dword [ebp - 0xa4c]
subss xmm0, dword [ebp - 0xa7c]
movss dword [ebp - 0xa4c], xmm0
movss xmm0, dword [ebp - 0xa4c]
subss xmm0, dword [ebp - 0xa7c]
movss dword [ebp - 0xa4c], xmm0
movss xmm0, dword [ebp - 0x9e4]
subss xmm0, dword [ebp - 0xb3c]
movss dword [ebp - 0x9e4], xmm0
movss xmm0, dword [ebp - 0xa50]
subss xmm0, dword [ebp - 0xa4c]
movss dword [ebp - 0xa50], xmm0
mov edx, dword [ebp - 0xa3c]
add edx, dword [ebp - 0xa48]
movzx eax, byte [edx]
mov dword [ebp - 0xa18], eax
mov dword [ebp - 0xa1c], 0xd1
mov ecx, dword [ebp - 0xa24]
sub ecx, dword [ebp - 0xa14]
mov dword [ebp - 0xa20], ecx
mov edx, dword [ebp - 0xa18]
sub edx, dword [ebp - 0xa1c]
mov dword [ebp - 0xa28], edx
mov eax, dword [ebp - 0xa20]
shl eax, 4
mov dword [ebp - 0xa2c], eax
mov ecx, dword [ebp - 0xa28]
mov dword [ebp - 0xa30], ecx
mov edx, dword [ebp - 0xa2c]
or edx, dword [ebp - 0xa30]
mov dword [ebp - 0xa34], edx
mov al, byte [ebp - 0xa34]
mov byte [ebp - 0x9ad], al
movzx ecx, byte [ebp - 0x9a8]
mov dl, byte [ebp + ecx - 0xd54]
mov byte [ebp - 0x9ae], dl
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp + eax - 0xd54]
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 - 0xd54]
mov byte [ebp + edx - 0xd54], al
movzx ecx, byte [ebp - 0x9a6]
movzx edx, byte [ebp - 0x9a5]
mov al, byte [ebp + ecx - 0xd54]
mov byte [ebp + edx - 0xd54], al
movzx ecx, byte [ebp - 0x9a2]
movzx edx, byte [ebp - 0x9a6]
mov al, byte [ebp + ecx - 0xd54]
mov byte [ebp + edx - 0xd54], al
movzx ecx, byte [ebp - 0x9a2]
mov dl, byte [ebp - 0x9ae]
mov byte [ebp + ecx - 0xd54], dl
movzx eax, byte [ebp - 0x9ae]
movzx ecx, byte [ebp + eax - 0xd54]
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 - 0xd54]
movzx ecx, byte [ebp - 0x9a2]
movzx ecx, byte [ebp + ecx - 0xd54]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xd54]
xor eax, edx
movzx ecx, byte [ebp - 0x9a6]
movzx edx, byte [ebp + ecx - 0xd54]
movzx ecx, byte [ebp - 0x9a8]
movzx ecx, byte [ebp + ecx - 0xd54]
add edx, ecx
movzx ecx, byte [ebp - 0x9ac]
movzx ecx, byte [ebp + ecx - 0xd54]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xd54]
movzx ecx, byte [ebp + edx - 0xd54]
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 - 0x9b2], al
cmp dword [ebp - 0x9bc], 0
jle 0x4b0170
mov ecx, dword [ebp - 0x9bc]
mov dl, byte [ebp - 0x9b2]
mov byte [ebp + ecx - 0x21], dl
mov eax, dword [ebp - 0x9c8]
add eax, 4
mov dword [ebp - 0x9c8], eax
mov ecx, dword [ebp - 0x9bc]
add ecx, 1
mov dword [ebp - 0xb14], ecx
jmp 0x4b019f
mov edx, dword [ebp - 0xb14]
add edx, 1
mov dword [ebp - 0xb14], edx
mov eax, dword [ebp - 0xb14]
cmp eax, dword [ebp - 0x9c8]
jge 0x4b03fc
mov ecx, dword [ebp - 0x9bc]
add ecx, 1
mov dword [ebp - 0x9bc], ecx
mov edx, dword [ebp - 0x9bc]
shl edx, 1
mov dword [ebp - 0xa38], edx
mov eax, dword [ebp - 0xa3c]
add eax, dword [ebp - 0xa38]
movzx ecx, byte [eax]
mov dword [ebp - 0xa24], ecx
mov dword [ebp - 0xa14], 0x84
mov edx, dword [ebp - 0x9bc]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa48], eax
mov ecx, dword [ebp - 0xa3c]
add ecx, dword [ebp - 0xa48]
movzx edx, byte [ecx]
mov dword [ebp - 0xa18], edx
mov dword [ebp - 0xa1c], 0xd1
mov eax, dword [ebp - 0xa24]
sub eax, dword [ebp - 0xa14]
mov dword [ebp - 0xa20], eax
mov ecx, dword [ebp - 0xa18]
sub ecx, dword [ebp - 0xa1c]
mov dword [ebp - 0xa28], ecx
mov edx, dword [ebp - 0xa20]
shl edx, 4
mov dword [ebp - 0xa2c], edx
mov eax, dword [ebp - 0xa28]
mov dword [ebp - 0xa30], eax
mov ecx, dword [ebp - 0xa2c]
or ecx, dword [ebp - 0xa30]
mov dword [ebp - 0xa34], ecx
mov dl, byte [ebp - 0xa34]
mov byte [ebp - 0x9ad], dl
movzx eax, byte [ebp - 0x9a8]
mov cl, byte [ebp + eax - 0xd54]
mov byte [ebp - 0x9ae], cl
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp + edx - 0xd54]
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 - 0xd54]
mov byte [ebp + ecx - 0xd54], dl
movzx eax, byte [ebp - 0x9a6]
movzx ecx, byte [ebp - 0x9a5]
mov dl, byte [ebp + eax - 0xd54]
mov byte [ebp + ecx - 0xd54], dl
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp - 0x9a6]
mov dl, byte [ebp + eax - 0xd54]
mov byte [ebp + ecx - 0xd54], dl
movzx eax, byte [ebp - 0x9a2]
mov cl, byte [ebp - 0x9ae]
mov byte [ebp + eax - 0xd54], cl
movzx edx, byte [ebp - 0x9ae]
movzx eax, byte [ebp + edx - 0xd54]
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 - 0xd54]
movzx eax, byte [ebp - 0x9a2]
movzx eax, byte [ebp + eax - 0xd54]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd54]
xor edx, ecx
movzx eax, byte [ebp - 0x9a6]
movzx ecx, byte [ebp + eax - 0xd54]
movzx eax, byte [ebp - 0x9a8]
movzx eax, byte [ebp + eax - 0xd54]
add ecx, eax
movzx eax, byte [ebp - 0x9ac]
movzx eax, byte [ebp + eax - 0xd54]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd54]
movzx eax, byte [ebp + ecx - 0xd54]
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 - 0x9b2], dl
cmp dword [ebp - 0x9bc], 0
jle 0x4b03f7
mov eax, dword [ebp - 0x9bc]
mov cl, byte [ebp - 0x9b2]
mov byte [ebp + eax - 0x21], cl
jmp 0x4b0190
mov edx, dword [ebp - 0x9c8]
add edx, 1
mov dword [ebp - 0x9c8], edx
mov eax, dword [ebp - 0x9bc]
add eax, 1
mov dword [ebp - 0x9bc], eax
mov ecx, dword [ebp - 0x9c8]
add ecx, 1
mov dword [ebp - 0x9c8], ecx
mov edx, dword [ebp - 0x9bc]
shl edx, 1
mov dword [ebp - 0xa38], edx
mov eax, dword [ebp - 0xa3c]
add eax, dword [ebp - 0xa38]
movzx ecx, byte [eax]
mov dword [ebp - 0xa24], ecx
mov dword [ebp - 0xa14], 0x84
mov edx, dword [ebp - 0x9bc]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa48], eax
mov ecx, dword [ebp - 0xa3c]
add ecx, dword [ebp - 0xa48]
movzx edx, byte [ecx]
mov dword [ebp - 0xa18], edx
mov dword [ebp - 0xa1c], 0xd1
mov eax, dword [ebp - 0xa24]
sub eax, dword [ebp - 0xa14]
mov dword [ebp - 0xa20], eax
mov ecx, dword [ebp - 0xa18]
sub ecx, dword [ebp - 0xa1c]
mov dword [ebp - 0xa28], ecx
mov edx, dword [ebp - 0xa20]
shl edx, 4
mov dword [ebp - 0xa2c], edx
mov eax, dword [ebp - 0xa28]
mov dword [ebp - 0xa30], eax
mov ecx, dword [ebp - 0xa2c]
or ecx, dword [ebp - 0xa30]
mov dword [ebp - 0xa34], ecx
mov dl, byte [ebp - 0xa34]
mov byte [ebp - 0x9ad], dl
movzx eax, byte [ebp - 0x9a8]
mov cl, byte [ebp + eax - 0xd54]
mov byte [ebp - 0x9ae], cl
movzx edx, byte [ebp - 0x9a2]
movzx eax, byte [ebp + edx - 0xd54]
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 - 0xd54]
mov byte [ebp + ecx - 0xd54], dl
movzx eax, byte [ebp - 0x9a6]
movzx ecx, byte [ebp - 0x9a5]
mov dl, byte [ebp + eax - 0xd54]
mov byte [ebp + ecx - 0xd54], dl
movzx eax, byte [ebp - 0x9a2]
movzx ecx, byte [ebp - 0x9a6]
mov dl, byte [ebp + eax - 0xd54]
mov byte [ebp + ecx - 0xd54], dl
movzx eax, byte [ebp - 0x9a2]
mov cl, byte [ebp - 0x9ae]
mov byte [ebp + eax - 0xd54], cl
movzx edx, byte [ebp - 0x9ae]
movzx eax, byte [ebp + edx - 0xd54]
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 - 0xd54]
movzx eax, byte [ebp - 0x9a2]
movzx eax, byte [ebp + eax - 0xd54]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd54]
xor edx, ecx
movzx eax, byte [ebp - 0x9a6]
movzx ecx, byte [ebp + eax - 0xd54]
movzx eax, byte [ebp - 0x9a8]
movzx eax, byte [ebp + eax - 0xd54]
add ecx, eax
movzx eax, byte [ebp - 0x9ac]
movzx eax, byte [ebp + eax - 0xd54]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd54]
movzx eax, byte [ebp + ecx - 0xd54]
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 - 0x9b2], dl
cmp dword [ebp - 0x9bc], 0
jle 0x4b0660
mov eax, dword [ebp - 0x9bc]
mov cl, byte [ebp - 0x9b2]
mov byte [ebp + eax - 0x21], cl
mov edx, 1
imul eax, edx, 0xc
mov dword [ebp - 0xb34], eax
cmp dword [ebp - 0xb34], 0xd
jae 0x4b0679
jmp 0x4b067e
call fcn.009f5b17
mov ecx, dword [ebp - 0xb34]
mov byte [ebp + ecx - 0x20], 0
jmp 0x4b06d8
mov dword [ebp - 0xaf0], 0
jmp 0x4b06a6
mov edx, dword [ebp - 0xaf0]
add edx, 1
mov dword [ebp - 0xaf0], edx
cmp dword [ebp - 0xaf0], 0xd
jge 0x4b06d8
mov eax, dword [ebp - 0xaf0]
mov dword [ebp - 0xb38], eax
cmp dword [ebp - 0xb38], 0xd
jae 0x4b06c6
jmp 0x4b06cb
call fcn.009f5b17
mov ecx, dword [ebp - 0xb38]
mov byte [ebp + ecx - 0x20], 0
jmp 0x4b0697
lea edx, [ebp - 0x20]
push edx
mov eax, dword [ebp - 0xd68]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0xd6c], eax
lea ecx, [ebp - 0x874]
push ecx
lea edx, [ebp - 0x83c]
push edx
call dword [ebp - 0xd6c]
push 0xc
lea ecx, [ebp - 0x870]
call fcn.00486090
lea ecx, [ebp - 0x870]
call fcn.00486480
mov dword [ebp - 4], 0
lea eax, [ebp - 0x9a0]
push eax
lea ecx, [ebp - 0x864]
push ecx
lea edx, [ebp - 0x870]
push edx
call fcn.004c8d20
add esp, 0xc
xorps xmm0, xmm0
movlpd qword [ebp - 0xb2c], xmm0
lea eax, [ebp - 0x83c]
push eax
lea ecx, [ebp - 0x88c]
call fcn.0046b1d0
mov byte [ebp - 4], 1
push fcn.00a4ae68
lea ecx, [ebp - 0xd70]
push ecx
lea ecx, [ebp - 0x88c]
call fcn.00486220
mov edx, dword [eax]
push edx
lea eax, [ebp - 0xd88]
push eax
lea ecx, [ebp - 0x88c]
call fcn.00486250
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0xd84]
push edx
lea ecx, [ebp - 0x88c]
call fcn.00486220
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0xd80]
push ecx
call fcn.0046b180
add esp, 0x14
lea ecx, [ebp - 0xb15]
call fcn.004a33c0
push eax
lea edx, [ebp - 0xd74]
push edx
lea ecx, [ebp - 0x88c]
call fcn.00486250
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0xd7c]
push ecx
lea ecx, [ebp - 0x88c]
call fcn.00486220
mov edx, dword [eax]
push edx
lea ecx, [ebp - 0x8a4]
call fcn.004a3370
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x8dc]
call fcn.0049f700
mov byte [ebp - 4], 3
push 0xb0
lea ecx, [ebp - 0x98c]
call fcn.00486090
push 1
mov eax, dword [ebp - 0x9a0]
cdq
push 0
push 4
push edx
push eax
call fcn.009f5c80
push edx
push eax
lea eax, [ebp - 0x864]
push eax
lea ecx, [ebp - 0x98c]
call fcn.004a3580
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x98c]
push ecx
lea ecx, [ebp - 0x8dc]
call fcn.004a2c50
lea edx, [ebp - 0x8a4]
push edx
lea ecx, [ebp - 0x8dc]
call fcn.004a2db0
lea ecx, [ebp - 0x8dc]
call fcn.004a1020
mov dword [ebp - 0xac4], 0
jmp 0x4b088d
mov eax, dword [ebp - 0xac4]
add eax, 1
mov dword [ebp - 0xac4], eax
lea ecx, [ebp - 0x870]
call fcn.0049f030
cmp dword [ebp - 0xac4], eax
jae 0x4b0963
mov dword [ebp - 0xaf8], 0
jmp 0x4b08bf
mov ecx, dword [ebp - 0xaf8]
add ecx, 1
mov dword [ebp - 0xaf8], ecx
mov edx, dword [ebp - 0xac4]
push edx
lea ecx, [ebp - 0x870]
call fcn.00494a60
mov ecx, dword [eax]
add ecx, 4
call fcn.0049f030
cmp dword [ebp - 0xaf8], eax
jae 0x4b095e
lea ecx, [ebp - 0x8dc]
call fcn.004a33c0
push eax
mov eax, dword [ebp - 0xaf8]
push eax
mov ecx, dword [ebp - 0xac4]
push ecx
lea ecx, [ebp - 0x870]
call fcn.00494a60
mov ecx, dword [eax]
add ecx, 4
call fcn.00494a60
mov ecx, dword [eax]
call fcn.004c8f50
mov byte [ebp - 0xaae], al
movzx edx, byte [ebp - 0xaae]
test edx, edx
je 0x4b0959
mov eax, dword [ebp - 0xac4]
push eax
lea ecx, [ebp - 0x870]
call fcn.00494a60
mov ecx, dword [eax]
mov eax, dword [ecx]
cdq
or eax, dword [ebp - 0xb2c]
or edx, dword [ebp - 0xb28]
mov dword [ebp - 0xb2c], eax
mov dword [ebp - 0xb28], edx
jmp 0x4b08b0
jmp 0x4b087e
lea edx, [ebp - 0x870]
push edx
call fcn.004b0a60
add esp, 4
mov eax, dword [ebp - 0xb2c]
and eax, 0x800000
mov ecx, dword [ebp - 0xb28]
and ecx, 0
mov dword [ebp - 0xd64], eax
mov dword [ebp - 0xd60], ecx
mov edx, dword [ebp - 0xd64]
or edx, dword [ebp - 0xd60]
jne 0x4b09ac
mov dword [ebp - 0xb30], 1
jmp 0x4b09b6
mov dword [ebp - 0xb30], 0
mov al, byte [ebp - 0xb30]
mov byte [ebp - 0xaad], al
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x98c]
call fcn.004a3740
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x8dc]
call fcn.00494a10
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x8a4]
call fcn.0049fcc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x88c]
call fcn.0046b340
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x870]
call fcn.004949b0
mov al, byte [ebp - 0xaad]
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.009f55bc
mov esp, ebp
pop ebp
ret