Function at 0x4add30
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x230
mov eax, dword [0xaf908c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0x1d0], ecx
call fcn.00a965ba
cdq
mov ecx, 0x1a
idiv ecx
mov dword [ebp - 0xc8], edx
call fcn.00a965ba
cdq
mov ecx, 0x1a
idiv ecx
mov dword [ebp - 0xcc], edx
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0xc8]
push eax
mov ecx, dword [ebp - 0x1d0]
call fcn.004c0670
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
xorps xmm0, xmm0
movsd qword [ebp - 0xa0], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x98], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x98], xmm0
jmp 0x4addda
movsd xmm0, qword [ebp - 0x98]
addsd xmm0, qword [0xabc320]
movsd qword [ebp - 0x98], xmm0
movsd xmm0, qword [0xabe920]
comisd xmm0, xmmword [ebp - 0x98]
jbe 0x4ade8b
movsd xmm0, qword [0xabe8b0]
mulsd xmm0, qword [ebp - 0x98]
mulsd xmm0, qword [ebp - 0x98]
movsd xmm1, qword [ebp - 0x98]
mulsd xmm1, qword [ebp - 0x98]
subsd xmm0, xmm1
movsd xmm1, qword [0xabe820]
mulsd xmm1, qword [ebp - 0x98]
mulsd xmm1, qword [ebp - 0x98]
addsd xmm1, qword [0xabe860]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0xa0]
movsd qword [ebp - 0xa0], xmm0
movsd xmm0, qword [ebp - 0xa0]
comisd xmm0, xmmword [0xabe888]
jbe 0x4ade86
movsd xmm0, qword [0xabe7f0]
mulsd xmm0, qword [ebp - 0x98]
movsd xmm1, qword [ebp - 0xa0]
subsd xmm1, xmm0
movsd qword [ebp - 0xa0], xmm1
jmp 0x4addc2
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0xa0]
jbe 0x4adee5
dec ecx
jl 0x4adef3
push eax
cmp al, 0x52
jl 0x4adee4
jl 0x4adee4
pop esi
pop esp
inc esp
cmp eax, 0xeae23c5c
in eax, 0xe2
out 0xe8, eax
in al, 0xef
fsub st(3), st(0)
loop 0x4adea0
loope 0x4ade9f
jecxz 0x4ade9c
fsubrp st(1)
out 0xec, eax
in eax, 0xe6
fucompi st(3)
fucompi st(2)
out 0xef, eax
loope 0x4adeb6
fucompi st(0)
call 0xdf2cc8b1
in al, dx
invalid
add bh, al
inc ebp
clc
stosb byte es:[edi], al
fimul word [edx]
mov dword [ebp - 8], 0x4adeaa
mov dword [ebp - 0xc], 0x4ade98
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x1f0], edx
mov byte [ebp - 0x65], 0x16
mov dword [ebp - 0x2c], 0
jmp 0x4adf18
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x100
jae 0x4adf30
mov ecx, dword [ebp - 0x2c]
mov dl, byte [ebp - 0x2c]
mov byte [ebp + ecx - 0x1cc], dl
jmp 0x4adf0f
mov dword [ebp - 0x90], 0
mov byte [ebp - 0x15], 0
mov dword [ebp - 0x2c], 0xff
jmp 0x4adf50
mov eax, dword [ebp - 0x2c]
sub eax, 1
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jbe 0x4ae153
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa4], 1
mov ecx, dword [ebp - 0xa4]
cmp ecx, dword [ebp - 0x2c]
jae 0x4adf8b
mov edx, dword [ebp - 0xa4]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xa4], eax
jmp 0x4adf6e
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0xb8], ecx
cmp dword [ebp - 0xb8], 3
ja case.default.0x4adfaa
mov edx, dword [ebp - 0xb8]
jmp dword [edx*4 + 0x4af494]
movzx eax, byte [ebp - 0x15]
movzx ebx, byte [ebp + eax - 0x1cc]
movsd xmm0, qword [ebp - 0xa0]
call fcn.00a40f60
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x15], bl
jmp 0x4ae072
movzx ecx, byte [ebp - 0x15]
movzx ebx, byte [ebp + ecx - 0x1cc]
movsd xmm0, qword [ebp - 0xa0]
call fcn.00a40f60
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x15], bl
jmp 0x4ae072
movzx edx, byte [ebp - 0x15]
movzx ebx, byte [ebp + edx - 0x1cc]
movsd xmm0, qword [ebp - 0xa0]
call fcn.00a40f60
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x15], bl
jmp 0x4ae072
movzx eax, byte [ebp - 0x15]
movzx ebx, byte [ebp + eax - 0x1cc]
movsd xmm0, qword [ebp - 0xa0]
call fcn.00a40f60
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x15], bl
jmp 0x4ae072
movzx ecx, byte [ebp - 0x15]
movzx edx, byte [ebp + ecx - 0x1cc]
mov eax, dword [ebp - 0x1f0]
add eax, dword [ebp - 0x90]
movzx ecx, byte [eax - 4]
add edx, ecx
mov byte [ebp - 0x15], dl
mov edx, dword [ebp - 0x90]
add edx, 1
mov dword [ebp - 0x90], edx
movzx eax, byte [ebp - 0x65]
cmp dword [ebp - 0x90], eax
jb 0x4ae0a4
mov dword [ebp - 0x90], 0
movzx ecx, byte [ebp - 0x65]
movzx edx, byte [ebp - 0x15]
add edx, ecx
mov byte [ebp - 0x15], dl
movzx eax, byte [ebp - 0x15]
and eax, dword [ebp - 0xa4]
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0xac]
add ecx, 1
mov dword [ebp - 0xac], ecx
cmp dword [ebp - 0xac], 0xb
jbe 0x4ae0d4
mov eax, dword [ebp - 0x7c]
xor edx, edx
div dword [ebp - 0x2c]
mov dword [ebp - 0x7c], edx
mov edx, dword [ebp - 0x7c]
cmp edx, dword [ebp - 0x2c]
ja 0x4adf8b
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x7c]
je 0x4ae14e
mov ecx, dword [ebp - 0x7c]
movzx edx, byte [ebp + ecx - 0x1cc]
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [ebp + eax - 0x1cc]
xor ecx, edx
mov edx, dword [ebp - 0x2c]
mov byte [ebp + edx - 0x1cc], cl
mov eax, dword [ebp - 0x2c]
movzx ecx, byte [ebp + eax - 0x1cc]
mov edx, dword [ebp - 0x7c]
movzx eax, byte [ebp + edx - 0x1cc]
xor eax, ecx
mov ecx, dword [ebp - 0x7c]
mov byte [ebp + ecx - 0x1cc], al
mov edx, dword [ebp - 0x7c]
movzx eax, byte [ebp + edx - 0x1cc]
mov ecx, dword [ebp - 0x2c]
movzx edx, byte [ebp + ecx - 0x1cc]
xor edx, eax
mov eax, dword [ebp - 0x2c]
mov byte [ebp + eax - 0x1cc], dl
jmp 0x4adf47
mov ecx, 1
shl ecx, 0
mov dl, byte [ebp + ecx - 0x1cc]
mov byte [ebp - 0xd], dl
mov eax, 1
imul ecx, eax, 3
mov dl, byte [ebp + ecx - 0x1cc]
mov byte [ebp - 0xe], dl
mov eax, 1
imul ecx, eax, 5
mov dl, byte [ebp + ecx - 0x1cc]
mov byte [ebp - 0x12], dl
mov eax, 1
imul ecx, eax, 7
mov dl, byte [ebp + ecx - 0x1cc]
mov byte [ebp - 0xf], dl
movzx eax, byte [ebp - 0x15]
mov cl, byte [ebp + eax - 0x1cc]
mov byte [ebp - 0x10], cl
mov dword [ebp - 0xbc], 0x36
cmp dword [ebp - 0xbc], 2
jle 0x4af3c4
mov edx, dword [ebp - 0xbc]
and edx, 1
jne 0x4af3c4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x60], 0
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x44], 0
mov edx, dword [ebp - 0x48]
add edx, dword [ebp - 0x60]
movzx eax, byte [edx]
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x30], 0
mov ecx, dword [ebp - 0x30]
add ecx, 0xda
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x4c], 0
mov edx, dword [ebp - 0x1c]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x34], 0
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x4c]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x34]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x38]
add eax, 0xe1
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], 0
mov ecx, dword [ebp - 0x44]
sub ecx, dword [ebp - 0x30]
add ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x40], 0
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 0x38]
add edx, dword [ebp - 0x40]
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x50], 0
mov eax, dword [ebp - 0x3c]
shl eax, 4
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x54], 0
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x58], 0
mov edx, dword [ebp - 0x50]
or edx, dword [ebp - 0x54]
mov dword [ebp - 0x58], edx
mov byte [ebp - 0x13], 0
mov al, byte [ebp - 0x58]
mov byte [ebp - 0x13], al
mov byte [ebp - 0x11], 0
movzx ecx, byte [ebp - 0x10]
mov dl, byte [ebp + ecx - 0x1cc]
mov byte [ebp - 0x11], dl
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp + eax - 0x1cc]
mov dword [ebp - 0x1d4], ecx
mov dl, byte [ebp - 0xd]
add dl, 1
mov byte [ebp - 0xd], dl
movzx eax, byte [ebp - 0xe]
add eax, dword [ebp - 0x1d4]
mov byte [ebp - 0xe], al
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp - 0x10]
mov al, byte [ebp + ecx - 0x1cc]
mov byte [ebp + edx - 0x1cc], al
movzx ecx, byte [ebp - 0xf]
movzx edx, byte [ebp - 0xe]
mov al, byte [ebp + ecx - 0x1cc]
mov byte [ebp + edx - 0x1cc], al
movzx ecx, byte [ebp - 0xd]
movzx edx, byte [ebp - 0xf]
mov al, byte [ebp + ecx - 0x1cc]
mov byte [ebp + edx - 0x1cc], al
movzx ecx, byte [ebp - 0xd]
mov dl, byte [ebp - 0x11]
mov byte [ebp + ecx - 0x1cc], dl
movzx eax, byte [ebp - 0x11]
movzx ecx, byte [ebp + eax - 0x1cc]
movzx edx, byte [ebp - 0x12]
add edx, ecx
mov byte [ebp - 0x12], dl
movzx eax, byte [ebp - 0x13]
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp + ecx - 0x1cc]
movzx ecx, byte [ebp - 0xd]
movzx ecx, byte [ebp + ecx - 0x1cc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x1cc]
xor eax, edx
movzx ecx, byte [ebp - 0xf]
movzx edx, byte [ebp + ecx - 0x1cc]
movzx ecx, byte [ebp - 0x10]
movzx ecx, byte [ebp + ecx - 0x1cc]
add edx, ecx
movzx ecx, byte [ebp - 0x12]
movzx ecx, byte [ebp + ecx - 0x1cc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x1cc]
movzx ecx, byte [ebp + edx - 0x1cc]
xor eax, ecx
mov byte [ebp - 0xf], al
mov dl, byte [ebp - 0x13]
mov byte [ebp - 0x10], dl
mov al, byte [ebp - 0xf]
mov byte [ebp - 0x14], al
cmp dword [ebp - 0x1c], 0
jle 0x4ae3e6
movsx cx, byte [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov word [ebp + edx*2 - 0x232], cx
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x1c]
shl edx, 1
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x60]
movzx ecx, byte [eax]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x30], 0xda
mov edx, dword [ebp - 0x1c]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x4c]
movzx edx, byte [ecx]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], 0xe1
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x38]
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x3c]
shl edx, 4
mov dword [ebp - 0x50], edx
movss xmm0, dword [0xabec2c]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [0xabebc8]
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [0xabeb4c]
movss dword [ebp - 0x80], xmm0
movss xmm0, dword [ebp - 0x84]
subss xmm0, dword [ebp - 0x80]
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [ebp - 0x64]
addss xmm0, dword [ebp - 0x80]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [ebp - 0x84]
addss xmm0, dword [ebp - 0x80]
movss dword [ebp - 0x84], xmm0
movss xmm0, dword [ebp - 0x64]
comiss xmm0, dword [ebp - 0x80]
jbe 0x4ae4f4
movss xmm0, dword [ebp - 0x64]
addss xmm0, dword [ebp - 0x84]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [ebp - 0x64]
subss xmm0, dword [ebp - 0x84]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [ebp - 0x80]
addss xmm0, dword [ebp - 0x64]
movss dword [ebp - 0x80], xmm0
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x54], eax
jmp 0x4ae527
movss xmm0, dword [ebp - 0x64]
mulss xmm0, dword [ebp - 0x80]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [ebp - 0x64]
subss xmm0, dword [ebp - 0x80]
movss dword [ebp - 0x64], xmm0
movss xmm0, dword [ebp - 0x84]
mulss xmm0, dword [ebp - 0x64]
movss dword [ebp - 0x84], xmm0
mov ecx, dword [ebp - 0x50]
or ecx, dword [ebp - 0x54]
mov dword [ebp - 0x58], ecx
mov dl, byte [ebp - 0x58]
mov byte [ebp - 0x13], dl
movzx eax, byte [ebp - 0x10]
mov cl, byte [ebp + eax - 0x1cc]
mov byte [ebp - 0x11], cl
movzx edx, byte [ebp - 0xd]
movzx eax, byte [ebp + edx - 0x1cc]
mov dword [ebp - 0x1d8], eax
mov cl, byte [ebp - 0xd]
add cl, 1
mov byte [ebp - 0xd], cl
movzx edx, byte [ebp - 0xe]
add edx, dword [ebp - 0x1d8]
mov byte [ebp - 0xe], dl
movzx eax, byte [ebp - 0xe]
movzx ecx, byte [ebp - 0x10]
mov dl, byte [ebp + eax - 0x1cc]
mov byte [ebp + ecx - 0x1cc], dl
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp - 0xe]
mov dl, byte [ebp + eax - 0x1cc]
mov byte [ebp + ecx - 0x1cc], dl
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp - 0xf]
mov dl, byte [ebp + eax - 0x1cc]
mov byte [ebp + ecx - 0x1cc], dl
movzx eax, byte [ebp - 0xd]
mov cl, byte [ebp - 0x11]
mov byte [ebp + eax - 0x1cc], cl
movzx edx, byte [ebp - 0x11]
movzx eax, byte [ebp + edx - 0x1cc]
movzx ecx, byte [ebp - 0x12]
add ecx, eax
mov byte [ebp - 0x12], cl
movzx edx, byte [ebp - 0x13]
movzx eax, byte [ebp - 0xe]
movzx ecx, byte [ebp + eax - 0x1cc]
movzx eax, byte [ebp - 0xd]
movzx eax, byte [ebp + eax - 0x1cc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1cc]
xor edx, ecx
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp + eax - 0x1cc]
movzx eax, byte [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x1cc]
add ecx, eax
movzx eax, byte [ebp - 0x12]
movzx eax, byte [ebp + eax - 0x1cc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1cc]
movzx eax, byte [ebp + ecx - 0x1cc]
xor edx, eax
mov byte [ebp - 0xf], dl
mov cl, byte [ebp - 0x13]
mov byte [ebp - 0x10], cl
mov dl, byte [ebp - 0xf]
mov byte [ebp - 0x14], dl
cmp dword [ebp - 0x1c], 0
jle 0x4ae664
movsx ax, byte [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov word [ebp + ecx*2 - 0x232], ax
mov edx, dword [ebp - 0x20]
add edx, 0xa
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0xb0], eax
jmp 0x4ae68a
mov ecx, dword [ebp - 0xb0]
add ecx, 1
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0xb0]
cmp edx, dword [ebp - 0x20]
jge 0x4ae83a
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x48]
add edx, dword [ebp - 0x60]
movzx eax, byte [edx]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x30], 0xda
mov ecx, dword [ebp - 0x1c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x4c]
movzx ecx, byte [eax]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x38], 0xe1
mov edx, dword [ebp - 0x44]
sub edx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x3c]
shl ecx, 4
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x50]
or eax, dword [ebp - 0x54]
mov dword [ebp - 0x58], eax
mov cl, byte [ebp - 0x58]
mov byte [ebp - 0x13], cl
movzx edx, byte [ebp - 0x10]
mov al, byte [ebp + edx - 0x1cc]
mov byte [ebp - 0x11], al
movzx ecx, byte [ebp - 0xd]
movzx edx, byte [ebp + ecx - 0x1cc]
mov dword [ebp - 0x1dc], edx
mov al, byte [ebp - 0xd]
add al, 1
mov byte [ebp - 0xd], al
movzx ecx, byte [ebp - 0xe]
add ecx, dword [ebp - 0x1dc]
mov byte [ebp - 0xe], cl
movzx edx, byte [ebp - 0xe]
movzx eax, byte [ebp - 0x10]
mov cl, byte [ebp + edx - 0x1cc]
mov byte [ebp + eax - 0x1cc], cl
movzx edx, byte [ebp - 0xf]
movzx eax, byte [ebp - 0xe]
mov cl, byte [ebp + edx - 0x1cc]
mov byte [ebp + eax - 0x1cc], cl
movzx edx, byte [ebp - 0xd]
movzx eax, byte [ebp - 0xf]
mov cl, byte [ebp + edx - 0x1cc]
mov byte [ebp + eax - 0x1cc], cl
movzx edx, byte [ebp - 0xd]
mov al, byte [ebp - 0x11]
mov byte [ebp + edx - 0x1cc], al
movzx ecx, byte [ebp - 0x11]
movzx edx, byte [ebp + ecx - 0x1cc]
movzx eax, byte [ebp - 0x12]
add eax, edx
mov byte [ebp - 0x12], al
movzx ecx, byte [ebp - 0x13]
movzx edx, byte [ebp - 0xe]
movzx eax, byte [ebp + edx - 0x1cc]
movzx edx, byte [ebp - 0xd]
movzx edx, byte [ebp + edx - 0x1cc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x1cc]
xor ecx, eax
movzx edx, byte [ebp - 0xf]
movzx eax, byte [ebp + edx - 0x1cc]
movzx edx, byte [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x1cc]
add eax, edx
movzx edx, byte [ebp - 0x12]
movzx edx, byte [ebp + edx - 0x1cc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x1cc]
movzx edx, byte [ebp + eax - 0x1cc]
xor ecx, edx
mov byte [ebp - 0xf], cl
mov al, byte [ebp - 0x13]
mov byte [ebp - 0x10], al
mov cl, byte [ebp - 0xf]
mov byte [ebp - 0x14], cl
cmp dword [ebp - 0x1c], 0
jle 0x4ae835
movsx dx, byte [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov word [ebp + eax*2 - 0x232], dx
jmp 0x4ae67b
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x48]
add edx, dword [ebp - 0x60]
movzx eax, byte [edx]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x30], 0xda
mov ecx, dword [ebp - 0x1c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x4c]
movzx ecx, byte [eax]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x38], 0xe1
mov edx, dword [ebp - 0x44]
sub edx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x3c]
shl ecx, 4
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x50]
or eax, dword [ebp - 0x54]
mov dword [ebp - 0x58], eax
mov cl, byte [ebp - 0x58]
mov byte [ebp - 0x13], cl
movzx edx, byte [ebp - 0x10]
mov al, byte [ebp + edx - 0x1cc]
mov byte [ebp - 0x11], al
movzx ecx, byte [ebp - 0xd]
movzx edx, byte [ebp + ecx - 0x1cc]
mov dword [ebp - 0x1e0], edx
mov al, byte [ebp - 0xd]
add al, 1
mov byte [ebp - 0xd], al
movzx ecx, byte [ebp - 0xe]
add ecx, dword [ebp - 0x1e0]
mov byte [ebp - 0xe], cl
movzx edx, byte [ebp - 0xe]
movzx eax, byte [ebp - 0x10]
mov cl, byte [ebp + edx - 0x1cc]
mov byte [ebp + eax - 0x1cc], cl
movzx edx, byte [ebp - 0xf]
movzx eax, byte [ebp - 0xe]
mov cl, byte [ebp + edx - 0x1cc]
mov byte [ebp + eax - 0x1cc], cl
movzx edx, byte [ebp - 0xd]
movzx eax, byte [ebp - 0xf]
mov cl, byte [ebp + edx - 0x1cc]
mov byte [ebp + eax - 0x1cc], cl
movzx edx, byte [ebp - 0xd]
mov al, byte [ebp - 0x11]
mov byte [ebp + edx - 0x1cc], al
movzx ecx, byte [ebp - 0x11]
movzx edx, byte [ebp + ecx - 0x1cc]
movzx eax, byte [ebp - 0x12]
add eax, edx
mov byte [ebp - 0x12], al
movzx ecx, byte [ebp - 0x13]
movzx edx, byte [ebp - 0xe]
movzx eax, byte [ebp + edx - 0x1cc]
movzx edx, byte [ebp - 0xd]
movzx edx, byte [ebp + edx - 0x1cc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x1cc]
xor ecx, eax
movzx edx, byte [ebp - 0xf]
movzx eax, byte [ebp + edx - 0x1cc]
movzx edx, byte [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x1cc]
add eax, edx
movzx edx, byte [ebp - 0x12]
movzx edx, byte [ebp + edx - 0x1cc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x1cc]
movzx edx, byte [ebp + eax - 0x1cc]
xor ecx, edx
mov byte [ebp - 0xf], cl
mov al, byte [ebp - 0x13]
mov byte [ebp - 0x10], al
mov cl, byte [ebp - 0xf]
mov byte [ebp - 0x14], cl
cmp dword [ebp - 0x1c], 0
jle 0x4ae9e8
movsx dx, byte [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov word [ebp + eax*2 - 0x232], dx
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x20]
add edx, 1
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x1c]
shl eax, 1
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x60]
movzx edx, byte [ecx]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x30], 0xda
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x48]
add edx, dword [ebp - 0x4c]
movzx eax, byte [edx]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], 0xe1
mov ecx, dword [ebp - 0x44]
sub ecx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 0x38]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x3c]
shl eax, 4
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x50]
or edx, dword [ebp - 0x54]
mov dword [ebp - 0x58], edx
mov al, byte [ebp - 0x58]
mov byte [ebp - 0x13], al
movzx ecx, byte [ebp - 0x10]
mov dl, byte [ebp + ecx - 0x1cc]
mov byte [ebp - 0x11], dl
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp + eax - 0x1cc]
mov dword [ebp - 0x1e4], ecx
mov dl, byte [ebp - 0xd]
add dl, 1
mov byte [ebp - 0xd], dl
movzx eax, byte [ebp - 0xe]
add eax, dword [ebp - 0x1e4]
mov byte [ebp - 0xe], al
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp - 0x10]
mov al, byte [ebp + ecx - 0x1cc]
mov byte [ebp + edx - 0x1cc], al
movzx ecx, byte [ebp - 0xf]
movzx edx, byte [ebp - 0xe]
mov al, byte [ebp + ecx - 0x1cc]
mov byte [ebp + edx - 0x1cc], al
movzx ecx, byte [ebp - 0xd]
movzx edx, byte [ebp - 0xf]
mov al, byte [ebp + ecx - 0x1cc]
mov byte [ebp + edx - 0x1cc], al
movzx ecx, byte [ebp - 0xd]
mov dl, byte [ebp - 0x11]
mov byte [ebp + ecx - 0x1cc], dl
movzx eax, byte [ebp - 0x11]
movzx ecx, byte [ebp + eax - 0x1cc]
movzx edx, byte [ebp - 0x12]
add edx, ecx
mov byte [ebp - 0x12], dl
movzx eax, byte [ebp - 0x13]
movzx ecx, byte [ebp - 0xe]
movzx edx, byte [ebp + ecx - 0x1cc]
movzx ecx, byte [ebp - 0xd]
movzx ecx, byte [ebp + ecx - 0x1cc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x1cc]
xor eax, edx
movzx ecx, byte [ebp - 0xf]
movzx edx, byte [ebp + ecx - 0x1cc]
movzx ecx, byte [ebp - 0x10]
movzx ecx, byte [ebp + ecx - 0x1cc]
add edx, ecx
movzx ecx, byte [ebp - 0x12]
movzx ecx, byte [ebp + ecx - 0x1cc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x1cc]
movzx ecx, byte [ebp + edx - 0x1cc]
xor eax, ecx
mov byte [ebp - 0xf], al
mov dl, byte [ebp - 0x13]
mov byte [ebp - 0x10], dl
mov al, byte [ebp - 0xf]
mov byte [ebp - 0x14], al
cmp dword [ebp - 0x1c], 0
jle 0x4aeb90
movsx cx, byte [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov word [ebp + edx*2 - 0x232], cx
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x1c]
shl edx, 1
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x60]
movzx ecx, byte [eax]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x30], 0xda
mov edx, dword [ebp - 0x1c]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x4c]
movzx edx, byte [ecx]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], 0xe1
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x38]
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x3c]
shl edx, 4
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x50]
or ecx, dword [ebp - 0x54]
mov dword [ebp - 0x58], ecx
mov dl, byte [ebp - 0x58]
mov byte [ebp - 0x13], dl
movzx eax, byte [ebp - 0x10]
mov cl, byte [ebp + eax - 0x1cc]
mov byte [ebp - 0x11], cl
movsd xmm0, qword [0xabead0]
movsd qword [ebp - 0x78], xmm0
movsd xmm0, qword [0xabea40]
movsd qword [ebp - 0x70], xmm0
movsd xmm0, qword [0xabe990]
movsd qword [ebp - 0x8c], xmm0
movsd xmm0, qword [ebp - 0x78]
subsd xmm0, qword [ebp - 0x8c]
movsd qword [ebp - 0x78], xmm0
movsd xmm0, qword [ebp - 0x70]
mulsd xmm0, qword [ebp - 0x8c]
movsd qword [ebp - 0x70], xmm0
movsd xmm0, qword [ebp - 0x70]
subsd xmm0, qword [ebp - 0x8c]
movsd qword [ebp - 0x70], xmm0
movsd xmm0, qword [ebp - 0x8c]
comisd xmm0, xmmword [ebp - 0x70]
jbe 0x4aed70
movsd xmm0, qword [ebp - 0x70]
divsd xmm0, qword [ebp - 0x78]
movsd qword [ebp - 0x70], xmm0
movsd xmm0, qword [ebp - 0x70]
subsd xmm0, qword [ebp - 0x78]
movsd qword [ebp - 0x70], xmm0
movsd xmm0, qword [ebp - 0x70]
mulsd xmm0, qword [ebp - 0x78]
movsd qword [ebp - 0x70], xmm0
movsd xmm0, qword [ebp - 0x70]
subsd xmm0, qword [ebp - 0x8c]
movsd qword [ebp - 0x70], xmm0
movsd xmm0, qword [ebp - 0x8c]
mulsd xmm0, qword [ebp - 0x78]
movsd qword [ebp - 0x8c], xmm0
movsd xmm0, qword [ebp - 0x8c]
addsd xmm0, qword [ebp - 0x78]
movsd qword [ebp - 0x8c], xmm0
movsd xmm0, qword [ebp - 0x78]
comisd xmm0, xmmword [ebp - 0x70]
jbe 0x4aed38
movsd xmm0, qword [ebp - 0x8c]
subsd xmm0, qword [ebp - 0x78]
movsd qword [ebp - 0x8c], xmm0
movsd xmm0, qword [ebp - 0x70]
addsd xmm0, qword [ebp - 0x8c]
movsd qword [ebp - 0x70], xmm0
movsd xmm0, qword [ebp - 0x78]
subsd xmm0, qword [ebp - 0x70]
movsd qword [ebp - 0x78], xmm0
jmp 0x4aed6e
movsd xmm0, qword [ebp - 0x78]
divsd xmm0, qword [ebp - 0x70]
movsd qword [ebp - 0x78], xmm0
movsd xmm0, qword [ebp - 0x70]
divsd xmm0, qword [ebp - 0x8c]
movsd qword [ebp - 0x70], xmm0
movsd xmm0, qword [ebp - 0x8c]
subsd xmm0, qword [ebp - 0x78]
movsd qword [ebp - 0x8c], xmm0
jmp 0x4aedc5
movsd xmm0, qword [ebp - 0x78]
addsd xmm0, qword [ebp - 0x70]
movsd qword [ebp - 0x78], xmm0
movsd xmm0, qword [ebp - 0x78]
subsd xmm0, qword [ebp - 0x70]
movsd qword [ebp - 0x78], xmm0
movsd xmm0, qword [ebp - 0x78]
subsd xmm0, qword [ebp - 0x70]
movsd qword [ebp - 0x78], xmm0
movzx edx, byte [ebp - 0xd]
movzx eax, byte [ebp + edx - 0x1cc]
mov dword [ebp - 0x1e8], eax
mov cl, byte [ebp - 0xd]
add cl, 1
mov byte [ebp - 0xd], cl
movzx edx, byte [ebp - 0xe]
add edx, dword [ebp - 0x1e8]
mov byte [ebp - 0xe], dl
movzx eax, byte [ebp - 0xe]
movzx ecx, byte [ebp - 0x10]
mov dl, byte [ebp + eax - 0x1cc]
mov byte [ebp + ecx - 0x1cc], dl
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp - 0xe]
mov dl, byte [ebp + eax - 0x1cc]
mov byte [ebp + ecx - 0x1cc], dl
movzx eax, byte [ebp - 0xd]
movzx ecx, byte [ebp - 0xf]
mov dl, byte [ebp + eax - 0x1cc]
mov byte [ebp + ecx - 0x1cc], dl
movzx eax, byte [ebp - 0xd]
mov cl, byte [ebp - 0x11]
mov byte [ebp + eax - 0x1cc], cl
movzx edx, byte [ebp - 0x11]
movzx eax, byte [ebp + edx - 0x1cc]
movzx ecx, byte [ebp - 0x12]
add ecx, eax
mov byte [ebp - 0x12], cl
movzx edx, byte [ebp - 0x13]
movzx eax, byte [ebp - 0xe]
movzx ecx, byte [ebp + eax - 0x1cc]
movzx eax, byte [ebp - 0xd]
movzx eax, byte [ebp + eax - 0x1cc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1cc]
xor edx, ecx
movzx eax, byte [ebp - 0xf]
movzx ecx, byte [ebp + eax - 0x1cc]
movzx eax, byte [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x1cc]
add ecx, eax
movzx eax, byte [ebp - 0x12]
movzx eax, byte [ebp + eax - 0x1cc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1cc]
movzx eax, byte [ebp + ecx - 0x1cc]
xor edx, eax
mov byte [ebp - 0xf], dl
mov cl, byte [ebp - 0x13]
mov byte [ebp - 0x10], cl
mov dl, byte [ebp - 0xf]
mov byte [ebp - 0x14], dl
cmp dword [ebp - 0x1c], 0
jle 0x4aeebd
movsx ax, byte [ebp - 0x14]
mov ecx, dword [ebp - 0x1c]
mov word [ebp + ecx*2 - 0x232], ax
mov edx, dword [ebp - 0x20]
add edx, 0xb
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0xb4], eax
jmp 0x4aeee3
mov ecx, dword [ebp - 0xb4]
add ecx, 1
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xb4]
cmp edx, dword [ebp - 0x20]
jge 0x4af093
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x48]
add edx, dword [ebp - 0x60]
movzx eax, byte [edx]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x30], 0xda
mov ecx, dword [ebp - 0x1c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x4c]
movzx ecx, byte [eax]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x38], 0xe1
mov edx, dword [ebp - 0x44]
sub edx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x3c]
shl ecx, 4
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x50]
or eax, dword [ebp - 0x54]
mov dword [ebp - 0x58], eax
mov cl, byte [ebp - 0x58]
mov byte [ebp - 0x13], cl
movzx edx, byte [ebp - 0x10]
mov al, byte [ebp + edx - 0x1cc]
mov byte [ebp - 0x11], al
movzx ecx, byte [ebp - 0xd]
movzx edx, byte [ebp + ecx - 0x1cc]
mov dword [ebp - 0x1ec], edx
mov al, byte [ebp - 0xd]
add al, 1
mov byte [ebp - 0xd], al
movzx ecx, byte [ebp - 0xe]
add ecx, dword [ebp - 0x1ec]
mov byte [ebp - 0xe], cl
movzx edx, byte [ebp - 0xe]
movzx eax, byte [ebp - 0x10]
mov cl, byte [ebp + edx - 0x1cc]
mov byte [ebp + eax - 0x1cc], cl
movzx edx, byte [ebp - 0xf]
movzx eax, byte [ebp - 0xe]
mov cl, byte [ebp + edx - 0x1cc]
mov byte [ebp + eax - 0x1cc], cl
movzx edx, byte [ebp - 0xd]
movzx eax, byte [ebp - 0xf]
mov cl, byte [ebp + edx - 0x1cc]
mov byte [ebp + eax - 0x1cc], cl
movzx edx, byte [ebp - 0xd]
mov al, byte [ebp - 0x11]
mov byte [ebp + edx - 0x1cc], al
movzx ecx, byte [ebp - 0x11]
movzx edx, byte [ebp + ecx - 0x1cc]
movzx eax, byte [ebp - 0x12]
add eax, edx
mov byte [ebp - 0x12], al
movzx ecx, byte [ebp - 0x13]
movzx edx, byte [ebp - 0xe]
movzx eax, byte [ebp + edx - 0x1cc]
movzx edx, byte [ebp - 0xd]
movzx edx, byte [ebp + edx - 0x1cc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x1cc]
xor ecx, eax
movzx edx, byte [ebp - 0xf]
movzx eax, byte [ebp + edx - 0x1cc]
movzx edx, byte [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x1cc]
add eax, edx
movzx edx, byte [ebp - 0x12]
movzx edx, byte [ebp + edx - 0x1cc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x1cc]
movzx edx, byte [ebp + eax - 0x1cc]
xor ecx, edx
mov byte [ebp - 0xf], cl
mov al, byte [ebp - 0x13]
mov byte [ebp - 0x10], al
mov cl, byte [ebp - 0xf]
mov byte [ebp - 0x14], cl
cmp dword [ebp - 0x1c], 0
jle 0x4af08e
movsx dx, byte [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov word [ebp + eax*2 - 0x232], dx
jmp 0x4aeed4
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x1c]
shl ecx, 1
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x48]
add edx, dword [ebp - 0x60]
movzx eax, byte [edx]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x30], 0xda
mov ecx, dword [ebp - 0x1c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x4c]
movzx ecx, byte [eax]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x38], 0xe1
mov edx, dword [ebp - 0x44]
sub edx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x3c]
shl ecx, 4
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x50]
or eax, dword [ebp - 0x54]
mov dword [ebp - 0x58], eax
mov cl, byte [ebp - 0x58]
mov byte [ebp - 0x13], cl
movzx edx, byte [ebp - 0x10]
mov al, byte [ebp + edx - 0x1cc]
mov byte [ebp - 0x11], al
movzx ecx, byte [ebp - 0xd]
movzx edx, byte [ebp + ecx - 0x1cc]
mov dword [ebp - 0x1f8], edx
mov al, byte [ebp - 0xd]
add al, 1
mov byte [ebp - 0xd], al
movzx ecx, byte [ebp - 0xe]
add ecx, dword [ebp - 0x1f8]
mov byte [ebp - 0xe], cl
movzx edx, byte [ebp - 0xe]
movzx eax, byte [ebp - 0x10]
mov cl, byte [ebp + edx - 0x1cc]
mov byte [ebp + eax - 0x1cc], cl
movzx edx, byte [ebp - 0xf]
movzx eax, byte [ebp - 0xe]
mov cl, byte [ebp + edx - 0x1cc]
mov byte [ebp + eax - 0x1cc], cl
movzx edx, byte [ebp - 0xd]
movzx eax, byte [ebp - 0xf]
mov cl, byte [ebp + edx - 0x1cc]
mov byte [ebp + eax - 0x1cc], cl
movzx edx, byte [ebp - 0xd]
mov al, byte [ebp - 0x11]
mov byte [ebp + edx - 0x1cc], al
movzx ecx, byte [ebp - 0x11]
movzx edx, byte [ebp + ecx - 0x1cc]
movzx eax, byte [ebp - 0x12]
add eax, edx
mov byte [ebp - 0x12], al
movzx ecx, byte [ebp - 0x13]
movzx edx, byte [ebp - 0xe]
movzx eax, byte [ebp + edx - 0x1cc]
movzx edx, byte [ebp - 0xd]
movzx edx, byte [ebp + edx - 0x1cc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x1cc]
xor ecx, eax
movzx edx, byte [ebp - 0xf]
movzx eax, byte [ebp + edx - 0x1cc]
movzx edx, byte [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x1cc]
add eax, edx
movzx edx, byte [ebp - 0x12]
movzx edx, byte [ebp + edx - 0x1cc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x1cc]
movzx edx, byte [ebp + eax - 0x1cc]
xor ecx, edx
mov byte [ebp - 0xf], cl
mov al, byte [ebp - 0x13]
mov byte [ebp - 0x10], al
mov cl, byte [ebp - 0xf]
mov byte [ebp - 0x14], cl
cmp dword [ebp - 0x1c], 0
jle 0x4af241
movsx dx, byte [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov word [ebp + eax*2 - 0x232], dx
movss xmm0, dword [0xabec04]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [0xabeba0]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [0xabeb3c]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x28]
mulss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x28]
subss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x28]
subss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x24]
comiss xmm0, dword [ebp - 0x28]
jbe 0x4af367
movss xmm0, dword [ebp - 0x24]
divss xmm0, dword [ebp - 0x5c]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x28]
divss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x24]
divss xmm0, dword [ebp - 0x5c]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x24]
mulss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x5c]
divss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [ebp - 0x5c]
addss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [ebp - 0x28]
comiss xmm0, dword [ebp - 0x5c]
jbe 0x4af338
movss xmm0, dword [ebp - 0x5c]
mulss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [ebp - 0x5c]
subss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [ebp - 0x24]
divss xmm0, dword [ebp - 0x5c]
movss dword [ebp - 0x24], xmm0
jmp 0x4af365
movss xmm0, dword [ebp - 0x24]
mulss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x28]
divss xmm0, dword [ebp - 0x5c]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x24]
addss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x24], xmm0
jmp 0x4af3c2
movss xmm0, dword [ebp - 0x28]
addss xmm0, dword [ebp - 0x5c]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x24]
subss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x5c]
subss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x5c], xmm0
mov ecx, 2
imul edx, ecx, 0x1a
mov dword [ebp - 0xc0], edx
cmp dword [ebp - 0xc0], 0x36
jae 0x4af3ad
jmp 0x4af3b2
call fcn.00a40cf2
xor eax, eax
mov ecx, dword [ebp - 0xc0]
mov word [ebp + ecx - 0x230], ax
jmp 0x4af418
mov dword [ebp - 0xa8], 0
jmp 0x4af3df
mov edx, dword [ebp - 0xa8]
add edx, 1
mov dword [ebp - 0xa8], edx
cmp dword [ebp - 0xa8], 0x1b
jge 0x4af418
mov eax, dword [ebp - 0xa8]
shl eax, 1
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0x36
jae 0x4af401
jmp 0x4af406
call fcn.00a40cf2
xor ecx, ecx
mov edx, dword [ebp - 0xc4]
mov word [ebp + edx - 0x230], cx
jmp 0x4af3d0
mov eax, 2
imul ecx, eax, 0
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xc8]
mov ax, word [ebp + eax*2 - 0x230]
mov word [edx + ecx], ax
mov ecx, 2
imul edx, ecx, 3
xor eax, eax
mov ecx, dword [ebp + 8]
mov word [ecx + edx], ax
mov edx, 2
shl edx, 1
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x1f4]
mov cx, word [ebp + ecx*2 - 0x230]
mov word [eax + edx], cx
mov edx, 2
shl edx, 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xcc]
mov cx, word [ebp + ecx*2 - 0x230]
mov word [eax + edx], cx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00a405be
mov esp, ebp
pop ebp
ret 4