Function at 0x46e6c6
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1f4
mov eax, dword [0x6e2a64]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0x19c], ecx
and dword [ebp - 0x1e8], 0
and dword [ebp - 0x1ec], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x1cc], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x1c4], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x1c4], xmm0
jmp 0x46e72b
movsd xmm0, qword [ebp - 0x1c4]
addsd xmm0, qword [0x6b6ed0]
movsd qword [ebp - 0x1c4], xmm0
movsd xmm0, qword [0x6b7c38]
comisd xmm0, xmmword [ebp - 0x1c4]
jbe 0x46e7dc
movsd xmm0, qword [0x6b7870]
mulsd xmm0, qword [ebp - 0x1c4]
mulsd xmm0, qword [ebp - 0x1c4]
movsd xmm1, qword [ebp - 0x1c4]
mulsd xmm1, qword [ebp - 0x1c4]
subsd xmm0, xmm1
movsd xmm1, qword [0x6b70c8]
mulsd xmm1, qword [ebp - 0x1c4]
mulsd xmm1, qword [ebp - 0x1c4]
addsd xmm1, qword [0x6b72e8]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x1cc]
movsd qword [ebp - 0x1cc], xmm0
movsd xmm0, qword [ebp - 0x1cc]
comisd xmm0, xmmword [0x6b7740]
jbe 0x46e7d7
movsd xmm0, qword [0x6b6c80]
mulsd xmm0, qword [ebp - 0x1c4]
movsd xmm1, qword [ebp - 0x1cc]
subsd xmm1, xmm0
movsd qword [ebp - 0x1cc], xmm1
jmp 0x46e713
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x1cc]
jbe 0x46e839
push ebx
mov ah, 0x49
mov ah, 0x51
mov ah, 0x55
mov bl, 0x4d
mov ch, 0x51
mov edi, 0xbe4bb249
dec ebp
mov edi, 0xba4ab853
push ebx
mov esp, 0xb748b04d
dec edx
mov edx, 0xba4bb155
inc esi
mov ebx, 0xb54fba4b
inc esi
mov eax, 0xbe4bb553
inc edi
mov bl, 0x47
mov edx, 0x5531b753
ja 0x46e86b
jno 0x46e85e
inc ebx
jl 0x46e85a
ja 0x46e873
dec esi
and al, 0x59
inc ebx
bound ecx, qword [edx + 0x35]
inc edx
push eax
inc esp
aaa
cmp eax, 0x207ae9
add bh, al
test dword [eax], ebx
invalid
mov dword [ebp - 0x1e8], 0x46e7e9
mov dword [ebp - 0x1ec], 0x46e81d
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x1f4], eax
mov byte [ebp - 0x169], 0x1b
test dword [esi + edi*8], edx
invalid
dec dword [ecx - 0x1f37b]
inc esi
test dword [edi + 0x1bfffffe], edx
sbb eax, dword [ebx - 0x13b5b]
inc dword [eax]
and dword [ebp - 0x13c], 0
jmp 0x46e882
mov eax, dword [ebp - 0x13c]
inc eax
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0x100
jae 0x46e8a3
mov eax, dword [ebp - 0x13c]
mov cl, byte [ebp - 0x13c]
mov byte [ebp + eax - 0x104], cl
jmp 0x46e875
and dword [ebp - 0x1bc], 0
mov byte [ebp - 0x10c], 0
mov dword [ebp - 0x13c], 0xff
jmp 0x46e8ca
mov eax, dword [ebp - 0x13c]
dec eax
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 0
jbe 0x46f1f0
and dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d4], 1
mov eax, dword [ebp - 0x1d4]
cmp eax, dword [ebp - 0x13c]
jae 0x46e908
mov eax, dword [ebp - 0x1d4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x1d4], eax
jmp 0x46e8e8
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x1d8], eax
cmp dword [ebp - 0x1d8], 0
je 0x46e941
cmp dword [ebp - 0x1d8], 1
je 0x46e96f
cmp dword [ebp - 0x1d8], 2
je 0x46e9a0
cmp dword [ebp - 0x1d8], 3
je 0x46e9ce
jmp 0x46e9fc
movzx eax, byte [ebp - 0x10c]
movzx ebx, byte [ebp + eax - 0x104]
movsd xmm0, qword [ebp - 0x1cc]
call fcn.00669c61
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x10c], bl
jmp 0x46ea23
movzx eax, byte [ebp - 0x10c]
movzx ebx, byte [ebp + eax - 0x104]
movsd xmm0, qword [ebp - 0x1cc]
call fcn.00669c61
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x10c], bl
jmp 0x46ea23
movzx eax, byte [ebp - 0x10c]
movzx ebx, byte [ebp + eax - 0x104]
movsd xmm0, qword [ebp - 0x1cc]
call fcn.00669c61
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x10c], bl
jmp 0x46ea23
movzx eax, byte [ebp - 0x10c]
movzx ebx, byte [ebp + eax - 0x104]
movsd xmm0, qword [ebp - 0x1cc]
call fcn.00669c61
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x10c], bl
jmp 0x46ea23
movzx eax, byte [ebp - 0x10c]
movzx eax, byte [ebp + eax - 0x104]
mov ecx, dword [ebp - 0x1f4]
add ecx, dword [ebp - 0x1bc]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x10c], al
mov eax, dword [ebp - 0x1bc]
inc eax
mov dword [ebp - 0x1bc], eax
movzx eax, byte [ebp - 0x169]
cmp dword [ebp - 0x1bc], eax
jb 0x46f109
and dword [ebp - 0x1bc], 0
movsd xmm0, qword [0x6b97e0]
movsd qword [ebp - 0x138], xmm0
movsd xmm0, qword [0x6b9668]
movsd qword [ebp - 0x160], xmm0
movsd xmm0, qword [0x6b93a8]
movsd qword [ebp - 0x1a8], xmm0
movsd xmm0, qword [0x6b8fe0]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [0x6b8b28]
movsd qword [ebp - 0x14c], xmm0
movsd xmm0, qword [0x6b8630]
movsd qword [ebp - 0x154], xmm0
movsd xmm0, qword [0x6b7f70]
movsd qword [ebp - 0x130], xmm0
movsd xmm0, qword [ebp - 0x138]
addsd xmm0, qword [ebp - 0x130]
movsd qword [ebp - 0x138], xmm0
movsd xmm0, qword [ebp - 0x168]
addsd xmm0, qword [ebp - 0x130]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [ebp - 0x154]
subsd xmm0, qword [ebp - 0x130]
movsd qword [ebp - 0x154], xmm0
movsd xmm0, qword [ebp - 0x14c]
subsd xmm0, qword [ebp - 0x130]
movsd qword [ebp - 0x14c], xmm0
movsd xmm0, qword [ebp - 0x160]
subsd xmm0, qword [ebp - 0x130]
movsd qword [ebp - 0x160], xmm0
movsd xmm0, qword [ebp - 0x154]
mulsd xmm0, qword [ebp - 0x130]
movsd qword [ebp - 0x154], xmm0
movsd xmm0, qword [ebp - 0x160]
mulsd xmm0, qword [ebp - 0x130]
movsd qword [ebp - 0x160], xmm0
movsd xmm0, qword [ebp - 0x130]
comisd xmm0, xmmword [ebp - 0x160]
jbe 0x46f04b
movsd xmm0, qword [ebp - 0x168]
subsd xmm0, qword [ebp - 0x154]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [ebp - 0x1a8]
addsd xmm0, qword [ebp - 0x14c]
movsd qword [ebp - 0x1a8], xmm0
movsd xmm0, qword [ebp - 0x1a8]
subsd xmm0, qword [ebp - 0x14c]
movsd qword [ebp - 0x1a8], xmm0
movsd xmm0, qword [ebp - 0x1a8]
mulsd xmm0, qword [ebp - 0x14c]
movsd qword [ebp - 0x1a8], xmm0
movsd xmm0, qword [ebp - 0x168]
subsd xmm0, qword [ebp - 0x154]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [ebp - 0x160]
mulsd xmm0, qword [ebp - 0x168]
movsd qword [ebp - 0x160], xmm0
movsd xmm0, qword [ebp - 0x168]
mulsd xmm0, qword [ebp - 0x154]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [ebp - 0x14c]
addsd xmm0, qword [ebp - 0x154]
movsd qword [ebp - 0x14c], xmm0
movsd xmm0, qword [ebp - 0x138]
addsd xmm0, qword [ebp - 0x160]
movsd qword [ebp - 0x138], xmm0
movsd xmm0, qword [ebp - 0x130]
addsd xmm0, qword [ebp - 0x138]
movsd qword [ebp - 0x130], xmm0
movsd xmm0, qword [ebp - 0x130]
mulsd xmm0, qword [ebp - 0x138]
movsd qword [ebp - 0x130], xmm0
movsd xmm0, qword [ebp - 0x130]
mulsd xmm0, qword [ebp - 0x138]
movsd qword [ebp - 0x130], xmm0
movsd xmm0, qword [ebp - 0x14c]
addsd xmm0, qword [ebp - 0x154]
movsd qword [ebp - 0x14c], xmm0
movsd xmm0, qword [ebp - 0x160]
addsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x160], xmm0
movsd xmm0, qword [ebp - 0x160]
comisd xmm0, xmmword [ebp - 0x130]
jbe 0x46ed8b
movsd xmm0, qword [ebp - 0x154]
mulsd xmm0, qword [ebp - 0x130]
movsd qword [ebp - 0x154], xmm0
movsd xmm0, qword [ebp - 0x160]
subsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x160], xmm0
movsd xmm0, qword [ebp - 0x130]
addsd xmm0, qword [ebp - 0x138]
movsd qword [ebp - 0x130], xmm0
movsd xmm0, qword [ebp - 0x168]
addsd xmm0, qword [ebp - 0x14c]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [ebp - 0x130]
mulsd xmm0, qword [ebp - 0x138]
movsd qword [ebp - 0x130], xmm0
movsd xmm0, qword [ebp - 0x168]
addsd xmm0, qword [ebp - 0x14c]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [ebp - 0x130]
divsd xmm0, qword [ebp - 0x138]
movsd qword [ebp - 0x130], xmm0
jmp 0x46f046
movsd xmm0, qword [ebp - 0x14c]
divsd xmm0, qword [ebp - 0x154]
movsd qword [ebp - 0x14c], xmm0
movsd xmm0, qword [ebp - 0x130]
divsd xmm0, qword [ebp - 0x138]
movsd qword [ebp - 0x130], xmm0
movsd xmm0, qword [ebp - 0x138]
mulsd xmm0, qword [ebp - 0x160]
movsd qword [ebp - 0x138], xmm0
movsd xmm0, qword [ebp - 0x160]
divsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x160], xmm0
movsd xmm0, qword [ebp - 0x130]
divsd xmm0, qword [ebp - 0x138]
movsd qword [ebp - 0x130], xmm0
movsd xmm0, qword [ebp - 0x14c]
subsd xmm0, qword [ebp - 0x154]
movsd qword [ebp - 0x14c], xmm0
movsd xmm0, qword [ebp - 0x138]
subsd xmm0, qword [ebp - 0x160]
movsd qword [ebp - 0x138], xmm0
movsd xmm0, qword [ebp - 0x138]
addsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x138], xmm0
movsd xmm0, qword [ebp - 0x14c]
mulsd xmm0, qword [ebp - 0x130]
movsd qword [ebp - 0x14c], xmm0
movsd xmm0, qword [ebp - 0x130]
mulsd xmm0, qword [ebp - 0x160]
movsd qword [ebp - 0x130], xmm0
movsd xmm0, qword [ebp - 0x154]
subsd xmm0, qword [ebp - 0x138]
movsd qword [ebp - 0x154], xmm0
movsd xmm0, qword [ebp - 0x138]
subsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x138], xmm0
movsd xmm0, qword [ebp - 0x154]
divsd xmm0, qword [ebp - 0x138]
movsd qword [ebp - 0x154], xmm0
movsd xmm0, qword [ebp - 0x14c]
addsd xmm0, qword [ebp - 0x130]
movsd qword [ebp - 0x14c], xmm0
movsd xmm0, qword [ebp - 0x138]
comisd xmm0, xmmword [ebp - 0x1a8]
jbe 0x46ef9e
movsd xmm0, qword [ebp - 0x168]
divsd xmm0, qword [ebp - 0x14c]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [ebp - 0x168]
subsd xmm0, qword [ebp - 0x14c]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [ebp - 0x154]
divsd xmm0, qword [ebp - 0x130]
movsd qword [ebp - 0x154], xmm0
movsd xmm0, qword [ebp - 0x130]
addsd xmm0, qword [ebp - 0x138]
movsd qword [ebp - 0x130], xmm0
movsd xmm0, qword [ebp - 0x138]
mulsd xmm0, qword [ebp - 0x160]
movsd qword [ebp - 0x138], xmm0
movsd xmm0, qword [ebp - 0x138]
subsd xmm0, qword [ebp - 0x160]
movsd qword [ebp - 0x138], xmm0
movsd xmm0, qword [ebp - 0x138]
addsd xmm0, qword [ebp - 0x160]
movsd qword [ebp - 0x138], xmm0
jmp 0x46f046
movsd xmm0, qword [ebp - 0x154]
subsd xmm0, qword [ebp - 0x130]
movsd qword [ebp - 0x154], xmm0
movsd xmm0, qword [ebp - 0x160]
mulsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x160], xmm0
movsd xmm0, qword [ebp - 0x14c]
subsd xmm0, qword [ebp - 0x154]
movsd qword [ebp - 0x14c], xmm0
movsd xmm0, qword [ebp - 0x1a8]
divsd xmm0, qword [ebp - 0x168]
movsd qword [ebp - 0x1a8], xmm0
movsd xmm0, qword [ebp - 0x168]
addsd xmm0, qword [ebp - 0x14c]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [ebp - 0x168]
addsd xmm0, qword [ebp - 0x14c]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [ebp - 0x130]
addsd xmm0, qword [ebp - 0x138]
movsd qword [ebp - 0x130], xmm0
jmp 0x46f109
movsd xmm0, qword [ebp - 0x138]
subsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x138], xmm0
movsd xmm0, qword [ebp - 0x130]
mulsd xmm0, qword [ebp - 0x160]
movsd qword [ebp - 0x130], xmm0
movsd xmm0, qword [ebp - 0x154]
subsd xmm0, qword [ebp - 0x138]
movsd qword [ebp - 0x154], xmm0
movsd xmm0, qword [ebp - 0x14c]
subsd xmm0, qword [ebp - 0x130]
movsd qword [ebp - 0x14c], xmm0
movsd xmm0, qword [ebp - 0x138]
subsd xmm0, qword [ebp - 0x1a8]
movsd qword [ebp - 0x138], xmm0
movsd xmm0, qword [ebp - 0x168]
addsd xmm0, qword [ebp - 0x154]
movsd qword [ebp - 0x168], xmm0
movsd xmm0, qword [ebp - 0x154]
subsd xmm0, qword [ebp - 0x138]
movsd qword [ebp - 0x154], xmm0
movzx eax, byte [ebp - 0x169]
movzx ecx, byte [ebp - 0x10c]
add ecx, eax
mov byte [ebp - 0x10c], cl
movzx eax, byte [ebp - 0x10c]
and eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x1dc]
inc eax
mov dword [ebp - 0x1dc], eax
cmp dword [ebp - 0x1dc], 0xb
jbe 0x46f146
mov eax, dword [ebp - 0x1a0]
xor edx, edx
div dword [ebp - 0x13c]
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x1a0]
cmp eax, dword [ebp - 0x13c]
ja 0x46e908
mov eax, dword [ebp - 0x13c]
cmp eax, dword [ebp - 0x1a0]
je 0x46f1eb
mov eax, dword [ebp - 0x1a0]
movzx eax, byte [ebp + eax - 0x104]
mov ecx, dword [ebp - 0x13c]
movzx ecx, byte [ebp + ecx - 0x104]
xor ecx, eax
mov eax, dword [ebp - 0x13c]
mov byte [ebp + eax - 0x104], cl
mov eax, dword [ebp - 0x13c]
movzx eax, byte [ebp + eax - 0x104]
mov ecx, dword [ebp - 0x1a0]
movzx ecx, byte [ebp + ecx - 0x104]
xor ecx, eax
mov eax, dword [ebp - 0x1a0]
mov byte [ebp + eax - 0x104], cl
mov eax, dword [ebp - 0x1a0]
movzx eax, byte [ebp + eax - 0x104]
mov ecx, dword [ebp - 0x13c]
movzx ecx, byte [ebp + ecx - 0x104]
xor ecx, eax
mov eax, dword [ebp - 0x13c]
mov byte [ebp + eax - 0x104], cl
jmp 0x46e8bd
xor eax, eax
inc eax
shl eax, 0
mov al, byte [ebp + eax - 0x104]
mov byte [ebp - 0x105], al
xor eax, eax
inc eax
imul eax, eax, 3
mov al, byte [ebp + eax - 0x104]
mov byte [ebp - 0x106], al
xor eax, eax
inc eax
imul eax, eax, 5
mov al, byte [ebp + eax - 0x104]
mov byte [ebp - 0x109], al
xor eax, eax
inc eax
imul eax, eax, 7
mov al, byte [ebp + eax - 0x104]
mov byte [ebp - 0x107], al
movzx eax, byte [ebp - 0x10c]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp - 0x108], al
mov dword [ebp - 0x1f0], 0x34
cmp dword [ebp - 0x1f0], 2
jle 0x470883
mov eax, dword [ebp - 0x1f0]
and eax, 1
jne 0x470883
and dword [ebp - 0x118], 0
mov dword [ebp - 0x144], 1
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x158]
movzx eax, byte [ecx + eax*2]
sub eax, 0x46
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x158]
movzx eax, byte [ecx + eax*2 + 1]
sub eax, 0xb0
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x170]
shl eax, 4
or eax, dword [ebp - 0x174]
mov dword [ebp - 0x178], eax
mov al, byte [ebp - 0x178]
mov byte [ebp - 0x10b], al
movzx eax, byte [ebp - 0x108]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp - 0x10a], al
movzx eax, byte [ebp - 0x105]
movzx eax, byte [ebp + eax - 0x104]
movzx ecx, byte [ebp - 0x106]
add ecx, eax
mov byte [ebp - 0x106], cl
mov al, byte [ebp - 0x105]
add al, 1
mov byte [ebp - 0x105], al
movzx eax, byte [ebp - 0x106]
movzx ecx, byte [ebp - 0x108]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp + ecx - 0x104], al
movzx eax, byte [ebp - 0x107]
movzx ecx, byte [ebp - 0x106]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp + ecx - 0x104], al
movzx eax, byte [ebp - 0x105]
movzx ecx, byte [ebp - 0x107]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp + ecx - 0x104], al
movzx eax, byte [ebp - 0x105]
mov cl, byte [ebp - 0x10a]
mov byte [ebp + eax - 0x104], cl
movzx eax, byte [ebp - 0x10a]
movzx eax, byte [ebp + eax - 0x104]
movzx ecx, byte [ebp - 0x109]
add ecx, eax
mov byte [ebp - 0x109], cl
movzx eax, byte [ebp - 0x10b]
movzx ecx, byte [ebp - 0x106]
movzx ecx, byte [ebp + ecx - 0x104]
movzx edx, byte [ebp - 0x105]
movzx edx, byte [ebp + edx - 0x104]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x104]
xor eax, ecx
movzx ecx, byte [ebp - 0x107]
movzx ecx, byte [ebp + ecx - 0x104]
movzx edx, byte [ebp - 0x108]
movzx edx, byte [ebp + edx - 0x104]
add ecx, edx
movzx edx, byte [ebp - 0x109]
movzx edx, byte [ebp + edx - 0x104]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x104]
movzx ecx, byte [ebp + ecx - 0x104]
xor eax, ecx
mov byte [ebp - 0x107], al
mov al, byte [ebp - 0x10b]
mov byte [ebp - 0x108], al
mov al, byte [ebp - 0x107]
mov byte [ebp - 0x10d], al
cmp dword [ebp - 0x118], 0
jle 0x46f45f
mov eax, dword [ebp - 0x19c]
add eax, dword [ebp - 0x118]
mov cl, byte [ebp - 0x10d]
mov byte [eax - 1], cl
mov eax, dword [ebp - 0x144]
add eax, 0xb
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x118]
inc eax
mov dword [ebp - 0x1e0], eax
jmp 0x46f48a
mov eax, dword [ebp - 0x1e0]
inc eax
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x1e0]
cmp eax, dword [ebp - 0x144]
jge 0x46f891
mov eax, dword [ebp - 0x118]
inc eax
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x158]
movzx eax, byte [ecx + eax*2]
sub eax, 0x46
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x158]
movzx eax, byte [ecx + eax*2 + 1]
sub eax, 0xb0
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x170]
shl eax, 4
or eax, dword [ebp - 0x174]
mov dword [ebp - 0x178], eax
mov al, byte [ebp - 0x178]
mov byte [ebp - 0x10b], al
movzx eax, byte [ebp - 0x108]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp - 0x10a], al
movzx eax, byte [ebp - 0x105]
movzx eax, byte [ebp + eax - 0x104]
movzx ecx, byte [ebp - 0x106]
add ecx, eax
mov byte [ebp - 0x106], cl
mov al, byte [ebp - 0x105]
add al, 1
mov byte [ebp - 0x105], al
movzx eax, byte [ebp - 0x106]
movzx ecx, byte [ebp - 0x108]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp + ecx - 0x104], al
movzx eax, byte [ebp - 0x107]
movzx ecx, byte [ebp - 0x106]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp + ecx - 0x104], al
movzx eax, byte [ebp - 0x105]
movzx ecx, byte [ebp - 0x107]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp + ecx - 0x104], al
movzx eax, byte [ebp - 0x105]
mov cl, byte [ebp - 0x10a]
mov byte [ebp + eax - 0x104], cl
movzx eax, byte [ebp - 0x10a]
movzx eax, byte [ebp + eax - 0x104]
movzx ecx, byte [ebp - 0x109]
add ecx, eax
mov byte [ebp - 0x109], cl
movzx eax, byte [ebp - 0x10b]
movzx ecx, byte [ebp - 0x106]
movzx ecx, byte [ebp + ecx - 0x104]
movzx edx, byte [ebp - 0x105]
movzx edx, byte [ebp + edx - 0x104]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x104]
xor eax, ecx
movzx ecx, byte [ebp - 0x107]
movzx ecx, byte [ebp + ecx - 0x104]
movzx edx, byte [ebp - 0x108]
movzx edx, byte [ebp + edx - 0x104]
add ecx, edx
movzx edx, byte [ebp - 0x109]
movzx edx, byte [ebp + edx - 0x104]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x104]
movzx ecx, byte [ebp + ecx - 0x104]
xor eax, ecx
mov byte [ebp - 0x107], al
mov al, byte [ebp - 0x10b]
mov byte [ebp - 0x108], al
movsd xmm0, qword [0x6b9780]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [0x6b9208]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [0x6b8820]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [ebp - 0x190]
addsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x180]
subsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x190]
mulsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x190]
comisd xmm0, xmmword [ebp - 0x1b0]
jbe 0x46f73a
movsd xmm0, qword [ebp - 0x1b0]
mulsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x1b0], xmm0
movsd xmm0, qword [ebp - 0x180]
subsd xmm0, qword [ebp - 0x190]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x180]
mulsd xmm0, qword [ebp - 0x190]
movsd qword [ebp - 0x180], xmm0
mov al, byte [ebp - 0x107]
mov byte [ebp - 0x10d], al
jmp 0x46f86e
movsd xmm0, qword [ebp - 0x190]
mulsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x180]
divsd xmm0, qword [ebp - 0x190]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x190]
divsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x180]
addsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x190]
mulsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x180]
addsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x190]
comisd xmm0, xmmword [ebp - 0x1b0]
jbe 0x46f826
movsd xmm0, qword [ebp - 0x190]
divsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x190], xmm0
movsd xmm0, qword [ebp - 0x180]
divsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x1b0]
mulsd xmm0, qword [ebp - 0x190]
movsd qword [ebp - 0x1b0], xmm0
jmp 0x46f86e
movsd xmm0, qword [ebp - 0x180]
addsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x180]
addsd xmm0, qword [ebp - 0x1b0]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x190]
addsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x190], xmm0
cmp dword [ebp - 0x118], 0
jle 0x46f88c
mov eax, dword [ebp - 0x19c]
add eax, dword [ebp - 0x118]
mov cl, byte [ebp - 0x10d]
mov byte [eax - 1], cl
jmp 0x46f47d
mov eax, dword [ebp - 0x144]
inc eax
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x118]
inc eax
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x144]
inc eax
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x158]
movzx eax, byte [ecx + eax*2]
sub eax, 0x46
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x158]
movzx eax, byte [ecx + eax*2 + 1]
sub eax, 0xb0
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x170]
shl eax, 4
or eax, dword [ebp - 0x174]
mov dword [ebp - 0x178], eax
mov al, byte [ebp - 0x178]
mov byte [ebp - 0x10b], al
movzx eax, byte [ebp - 0x108]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp - 0x10a], al
movzx eax, byte [ebp - 0x105]
movzx eax, byte [ebp + eax - 0x104]
movzx ecx, byte [ebp - 0x106]
add ecx, eax
mov byte [ebp - 0x106], cl
mov al, byte [ebp - 0x105]
add al, 1
mov byte [ebp - 0x105], al
movzx eax, byte [ebp - 0x106]
movzx ecx, byte [ebp - 0x108]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp + ecx - 0x104], al
movzx eax, byte [ebp - 0x107]
movzx ecx, byte [ebp - 0x106]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp + ecx - 0x104], al
movzx eax, byte [ebp - 0x105]
movzx ecx, byte [ebp - 0x107]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp + ecx - 0x104], al
movzx eax, byte [ebp - 0x105]
mov cl, byte [ebp - 0x10a]
mov byte [ebp + eax - 0x104], cl
movzx eax, byte [ebp - 0x10a]
movzx eax, byte [ebp + eax - 0x104]
movzx ecx, byte [ebp - 0x109]
add ecx, eax
mov byte [ebp - 0x109], cl
movzx eax, byte [ebp - 0x10b]
movzx ecx, byte [ebp - 0x106]
movzx ecx, byte [ebp + ecx - 0x104]
movzx edx, byte [ebp - 0x105]
movzx edx, byte [ebp + edx - 0x104]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x104]
xor eax, ecx
movzx ecx, byte [ebp - 0x107]
movzx ecx, byte [ebp + ecx - 0x104]
movzx edx, byte [ebp - 0x108]
movzx edx, byte [ebp + edx - 0x104]
add ecx, edx
movzx edx, byte [ebp - 0x109]
movzx edx, byte [ebp + edx - 0x104]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x104]
movzx ecx, byte [ebp + ecx - 0x104]
xor eax, ecx
mov byte [ebp - 0x107], al
mov al, byte [ebp - 0x10b]
mov byte [ebp - 0x108], al
movss xmm0, dword [0x6ba2ac]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [0x6ba1d0]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [0x6ba074]
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [0x6b9e10]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [0x6b9bc4]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [0x6b992c]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0x140]
addss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [ebp - 0x140]
subss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [ebp - 0x11c]
addss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x11c]
mulss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x140]
subss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [ebp - 0x124]
subss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x120]
comiss xmm0, dword [ebp - 0x11c]
jbe 0x46ff94
movss xmm0, dword [ebp - 0x124]
divss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x124]
subss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x128]
subss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [ebp - 0x124]
addss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x120]
divss xmm0, dword [ebp - 0x114]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0x120]
addss xmm0, dword [ebp - 0x114]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0x11c]
addss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x11c]
mulss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x128]
subss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [ebp - 0x11c]
subss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x120]
divss xmm0, dword [ebp - 0x114]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0x120]
addss xmm0, dword [ebp - 0x114]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0x128]
comiss xmm0, dword [ebp - 0x114]
jbe 0x46fd35
movss xmm0, dword [ebp - 0x120]
subss xmm0, dword [ebp - 0x114]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0x114]
mulss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebp - 0x120]
subss xmm0, dword [ebp - 0x114]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0x114]
divss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebp - 0x124]
subss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x124]
addss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0x124], xmm0
jmp 0x46ff8f
movss xmm0, dword [ebp - 0x11c]
mulss xmm0, dword [ebp - 0x114]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x128]
divss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [ebp - 0x140]
divss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [ebp - 0x11c]
divss xmm0, dword [ebp - 0x114]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x124]
divss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x114]
divss xmm0, dword [ebp - 0x128]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebp - 0x114]
mulss xmm0, dword [ebp - 0x128]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebp - 0x140]
divss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [ebp - 0x11c]
mulss xmm0, dword [ebp - 0x114]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x120]
divss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0x11c]
addss xmm0, dword [ebp - 0x114]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x114]
subss xmm0, dword [ebp - 0x128]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebp - 0x11c]
comiss xmm0, dword [ebp - 0x128]
jbe 0x46feff
movss xmm0, dword [ebp - 0x124]
divss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x120]
divss xmm0, dword [ebp - 0x114]
movss dword [ebp - 0x120], xmm0
movss xmm0, dword [ebp - 0x114]
subss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebp - 0x128]
divss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [ebp - 0x128]
subss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [ebp - 0x114]
mulss xmm0, dword [ebp - 0x140]
movss dword [ebp - 0x114], xmm0
jmp 0x46ff8f
movss xmm0, dword [ebp - 0x114]
mulss xmm0, dword [ebp - 0x128]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebp - 0x114]
subss xmm0, dword [ebp - 0x128]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebp - 0x124]
mulss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x114]
mulss xmm0, dword [ebp - 0x128]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebp - 0x140]
mulss xmm0, dword [ebp - 0x124]
movss dword [ebp - 0x140], xmm0
movss xmm0, dword [ebp - 0x124]
divss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0x124], xmm0
jmp 0x470030
movss xmm0, dword [ebp - 0x114]
addss xmm0, dword [ebp - 0x128]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebp - 0x128]
addss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0x128], xmm0
movss xmm0, dword [ebp - 0x11c]
subss xmm0, dword [ebp - 0x114]
movss dword [ebp - 0x11c], xmm0
movss xmm0, dword [ebp - 0x114]
addss xmm0, dword [ebp - 0x128]
movss dword [ebp - 0x114], xmm0
movss xmm0, dword [ebp - 0x124]
mulss xmm0, dword [ebp - 0x120]
movss dword [ebp - 0x124], xmm0
movss xmm0, dword [ebp - 0x128]
mulss xmm0, dword [ebp - 0x11c]
movss dword [ebp - 0x128], xmm0
mov al, byte [ebp - 0x107]
mov byte [ebp - 0x10d], al
cmp dword [ebp - 0x118], 0
jle 0x47004e
mov eax, dword [ebp - 0x19c]
add eax, dword [ebp - 0x118]
mov cl, byte [ebp - 0x10d]
mov byte [eax - 1], cl
mov eax, dword [ebp - 0x118]
inc eax
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x144]
inc eax
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x158]
movzx eax, byte [ecx + eax*2]
sub eax, 0x46
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x158]
movzx eax, byte [ecx + eax*2 + 1]
sub eax, 0xb0
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x170]
shl eax, 4
or eax, dword [ebp - 0x174]
mov dword [ebp - 0x178], eax
mov al, byte [ebp - 0x178]
mov byte [ebp - 0x10b], al
movzx eax, byte [ebp - 0x108]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp - 0x10a], al
movzx eax, byte [ebp - 0x105]
movzx eax, byte [ebp + eax - 0x104]
movzx ecx, byte [ebp - 0x106]
add ecx, eax
mov byte [ebp - 0x106], cl
mov al, byte [ebp - 0x105]
add al, 1
mov byte [ebp - 0x105], al
movzx eax, byte [ebp - 0x106]
movzx ecx, byte [ebp - 0x108]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp + ecx - 0x104], al
movzx eax, byte [ebp - 0x107]
movzx ecx, byte [ebp - 0x106]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp + ecx - 0x104], al
movzx eax, byte [ebp - 0x105]
movzx ecx, byte [ebp - 0x107]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp + ecx - 0x104], al
movzx eax, byte [ebp - 0x105]
mov cl, byte [ebp - 0x10a]
mov byte [ebp + eax - 0x104], cl
movzx eax, byte [ebp - 0x10a]
movzx eax, byte [ebp + eax - 0x104]
movzx ecx, byte [ebp - 0x109]
add ecx, eax
mov byte [ebp - 0x109], cl
movzx eax, byte [ebp - 0x10b]
movzx ecx, byte [ebp - 0x106]
movzx ecx, byte [ebp + ecx - 0x104]
movzx edx, byte [ebp - 0x105]
movzx edx, byte [ebp + edx - 0x104]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x104]
xor eax, ecx
movzx ecx, byte [ebp - 0x107]
movzx ecx, byte [ebp + ecx - 0x104]
movzx edx, byte [ebp - 0x108]
movzx edx, byte [ebp + edx - 0x104]
add ecx, edx
movzx edx, byte [ebp - 0x109]
movzx edx, byte [ebp + edx - 0x104]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x104]
movzx ecx, byte [ebp + ecx - 0x104]
xor eax, ecx
mov byte [ebp - 0x107], al
mov al, byte [ebp - 0x10b]
mov byte [ebp - 0x108], al
mov al, byte [ebp - 0x107]
mov byte [ebp - 0x10d], al
cmp dword [ebp - 0x118], 0
jle 0x470240
mov eax, dword [ebp - 0x19c]
add eax, dword [ebp - 0x118]
mov cl, byte [ebp - 0x10d]
mov byte [eax - 1], cl
mov eax, dword [ebp - 0x118]
inc eax
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x144]
inc eax
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x158]
movzx eax, byte [ecx + eax*2]
sub eax, 0x46
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x158]
movzx eax, byte [ecx + eax*2 + 1]
sub eax, 0xb0
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x170]
shl eax, 4
or eax, dword [ebp - 0x174]
mov dword [ebp - 0x178], eax
mov al, byte [ebp - 0x178]
mov byte [ebp - 0x10b], al
movzx eax, byte [ebp - 0x108]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp - 0x10a], al
movzx eax, byte [ebp - 0x105]
movzx eax, byte [ebp + eax - 0x104]
movzx ecx, byte [ebp - 0x106]
add ecx, eax
mov byte [ebp - 0x106], cl
mov al, byte [ebp - 0x105]
add al, 1
mov byte [ebp - 0x105], al
movzx eax, byte [ebp - 0x106]
movzx ecx, byte [ebp - 0x108]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp + ecx - 0x104], al
movzx eax, byte [ebp - 0x107]
movzx ecx, byte [ebp - 0x106]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp + ecx - 0x104], al
movzx eax, byte [ebp - 0x105]
movzx ecx, byte [ebp - 0x107]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp + ecx - 0x104], al
movzx eax, byte [ebp - 0x105]
mov cl, byte [ebp - 0x10a]
mov byte [ebp + eax - 0x104], cl
movzx eax, byte [ebp - 0x10a]
movzx eax, byte [ebp + eax - 0x104]
movzx ecx, byte [ebp - 0x109]
add ecx, eax
mov byte [ebp - 0x109], cl
movzx eax, byte [ebp - 0x10b]
movzx ecx, byte [ebp - 0x106]
movzx ecx, byte [ebp + ecx - 0x104]
movzx edx, byte [ebp - 0x105]
movzx edx, byte [ebp + edx - 0x104]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x104]
xor eax, ecx
movzx ecx, byte [ebp - 0x107]
movzx ecx, byte [ebp + ecx - 0x104]
movzx edx, byte [ebp - 0x108]
movzx edx, byte [ebp + edx - 0x104]
add ecx, edx
movzx edx, byte [ebp - 0x109]
movzx edx, byte [ebp + edx - 0x104]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x104]
movzx ecx, byte [ebp + ecx - 0x104]
xor eax, ecx
mov byte [ebp - 0x107], al
mov al, byte [ebp - 0x10b]
mov byte [ebp - 0x108], al
mov al, byte [ebp - 0x107]
mov byte [ebp - 0x10d], al
cmp dword [ebp - 0x118], 0
jle 0x470432
mov eax, dword [ebp - 0x19c]
add eax, dword [ebp - 0x118]
mov cl, byte [ebp - 0x10d]
mov byte [eax - 1], cl
mov eax, dword [ebp - 0x144]
add eax, 0xb
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x118]
inc eax
mov dword [ebp - 0x1e4], eax
jmp 0x47045d
mov eax, dword [ebp - 0x1e4]
inc eax
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0x1e4]
cmp eax, dword [ebp - 0x144]
jge 0x470864
mov eax, dword [ebp - 0x118]
inc eax
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x158]
movzx eax, byte [ecx + eax*2]
sub eax, 0x46
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x158]
movzx eax, byte [ecx + eax*2 + 1]
sub eax, 0xb0
mov dword [ebp - 0x174], eax
mov eax, dword [ebp - 0x170]
shl eax, 4
or eax, dword [ebp - 0x174]
mov dword [ebp - 0x178], eax
mov al, byte [ebp - 0x178]
mov byte [ebp - 0x10b], al
movzx eax, byte [ebp - 0x108]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp - 0x10a], al
movzx eax, byte [ebp - 0x105]
movzx eax, byte [ebp + eax - 0x104]
movzx ecx, byte [ebp - 0x106]
add ecx, eax
mov byte [ebp - 0x106], cl
mov al, byte [ebp - 0x105]
add al, 1
mov byte [ebp - 0x105], al
movzx eax, byte [ebp - 0x106]
movzx ecx, byte [ebp - 0x108]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp + ecx - 0x104], al
movzx eax, byte [ebp - 0x107]
movzx ecx, byte [ebp - 0x106]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp + ecx - 0x104], al
movzx eax, byte [ebp - 0x105]
movzx ecx, byte [ebp - 0x107]
mov al, byte [ebp + eax - 0x104]
mov byte [ebp + ecx - 0x104], al
movzx eax, byte [ebp - 0x105]
mov cl, byte [ebp - 0x10a]
mov byte [ebp + eax - 0x104], cl
movzx eax, byte [ebp - 0x10a]
movzx eax, byte [ebp + eax - 0x104]
movzx ecx, byte [ebp - 0x109]
add ecx, eax
mov byte [ebp - 0x109], cl
movzx eax, byte [ebp - 0x10b]
movzx ecx, byte [ebp - 0x106]
movzx ecx, byte [ebp + ecx - 0x104]
movzx edx, byte [ebp - 0x105]
movzx edx, byte [ebp + edx - 0x104]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x104]
xor eax, ecx
movzx ecx, byte [ebp - 0x107]
movzx ecx, byte [ebp + ecx - 0x104]
movzx edx, byte [ebp - 0x108]
movzx edx, byte [ebp + edx - 0x104]
add ecx, edx
movzx edx, byte [ebp - 0x109]
movzx edx, byte [ebp + edx - 0x104]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x104]
movzx ecx, byte [ebp + ecx - 0x104]
xor eax, ecx
mov byte [ebp - 0x107], al
mov al, byte [ebp - 0x10b]
mov byte [ebp - 0x108], al
movsd xmm0, qword [0x6b9780]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [0x6b9208]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [0x6b8820]
movsd qword [ebp - 0x1b8], xmm0
movsd xmm0, qword [ebp - 0x198]
addsd xmm0, qword [ebp - 0x1b8]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x188]
subsd xmm0, qword [ebp - 0x1b8]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x198]
mulsd xmm0, qword [ebp - 0x1b8]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x198]
comisd xmm0, xmmword [ebp - 0x1b8]
jbe 0x47070d
movsd xmm0, qword [ebp - 0x1b8]
mulsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x1b8], xmm0
movsd xmm0, qword [ebp - 0x188]
subsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x188]
mulsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x188], xmm0
mov al, byte [ebp - 0x107]
mov byte [ebp - 0x10d], al
jmp 0x470841
movsd xmm0, qword [ebp - 0x198]
mulsd xmm0, qword [ebp - 0x1b8]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x188]
divsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x198]
divsd xmm0, qword [ebp - 0x1b8]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x188]
addsd xmm0, qword [ebp - 0x1b8]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x198]
mulsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x188]
addsd xmm0, qword [ebp - 0x1b8]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x198]
comisd xmm0, xmmword [ebp - 0x1b8]
jbe 0x4707f9
movsd xmm0, qword [ebp - 0x198]
divsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x198], xmm0
movsd xmm0, qword [ebp - 0x188]
divsd xmm0, qword [ebp - 0x1b8]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x1b8]
mulsd xmm0, qword [ebp - 0x198]
movsd qword [ebp - 0x1b8], xmm0
jmp 0x470841
movsd xmm0, qword [ebp - 0x188]
addsd xmm0, qword [ebp - 0x1b8]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x188]
addsd xmm0, qword [ebp - 0x1b8]
movsd qword [ebp - 0x188], xmm0
movsd xmm0, qword [ebp - 0x198]
addsd xmm0, qword [ebp - 0x188]
movsd qword [ebp - 0x198], xmm0
cmp dword [ebp - 0x118], 0
jle 0x47085f
mov eax, dword [ebp - 0x19c]
add eax, dword [ebp - 0x118]
mov cl, byte [ebp - 0x10d]
mov byte [eax - 1], cl
jmp 0x470450
mov eax, dword [ebp - 0x144]
inc eax
mov dword [ebp - 0x144], eax
xor eax, eax
inc eax
imul eax, eax, 0x19
mov ecx, dword [ebp - 0x19c]
mov byte [ecx + eax], 0
jmp 0x4708b3
and dword [ebp - 0x1d0], 0
jmp 0x470899
mov eax, dword [ebp - 0x1d0]
inc eax
mov dword [ebp - 0x1d0], eax
cmp dword [ebp - 0x1d0], 0x1a
jge 0x4708b3
mov eax, dword [ebp - 0x19c]
add eax, dword [ebp - 0x1d0]
mov byte [eax], 0
jmp 0x47088c
mov eax, dword [ebp - 0x19c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00644dd6
mov esp, ebp
pop ebp
ret