Function at 0x459b16
Capabilities:
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x204
mov eax, dword [0x5ec268]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0xb8], ecx
lea eax, [ebp - 0xc]
push eax
call fcn.00539bc9
add esp, 4
mov eax, dword [ebp - 0xc]
xor edx, edx
mov ecx, 0x1a
div ecx
mov dword [ebp - 0xc], edx
lea edx, [ebp - 8]
push edx
call fcn.00539bc9
add esp, 4
mov eax, dword [ebp - 8]
xor edx, edx
mov ecx, 0x1a
div ecx
mov dword [ebp - 8], edx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0xb8]
call fcn.004757e0
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x90], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x88], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x88], xmm0
jmp 0x459944
movsd xmm0, qword [ebp - 0x88]
addsd xmm0, qword [0x549110]
movsd qword [ebp - 0x88], xmm0
movsd xmm0, qword [0x549778]
comisd xmm0, xmmword [ebp - 0x88]
jbe 0x4599f5
movsd xmm0, qword [0x5496b8]
mulsd xmm0, qword [ebp - 0x88]
mulsd xmm0, qword [ebp - 0x88]
movsd xmm1, qword [ebp - 0x88]
mulsd xmm1, qword [ebp - 0x88]
subsd xmm0, xmm1
movsd xmm1, qword [0x5494b8]
mulsd xmm1, qword [ebp - 0x88]
mulsd xmm1, qword [ebp - 0x88]
addsd xmm1, qword [0x549520]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x90]
movsd qword [ebp - 0x90], xmm0
movsd xmm0, qword [ebp - 0x90]
comisd xmm0, xmmword [0x549630]
jbe 0x4599f0
movsd xmm0, qword [0x5493e0]
mulsd xmm0, qword [ebp - 0x88]
movsd xmm1, qword [ebp - 0x90]
subsd xmm1, xmm0
test dword [eax - 1], edi
invalid
enter 0xff2, 0x11
lea esi, [eax - 1]
invalid
movsd qword [ebp - 0x90], xmm1
jmp 0x45992c
invalid
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x90]
jbe 0x459a50
pop esp
push esi
inc edx
dec eax
xor eax, 0x45452959
pop ebp
pop eax
xor edi, dword [eax]
jo 0x459a7c
xor eax, 0xc93a2e44
out 0xc4, al
jecxz 0x4599d7
fmul st(1)
fadd st(0)
fadd st(5)
fcmovnb st(0), st(4)
jecxz 0x4599e7
fmul st(1), st(0)
ffree st(3)
out 0xc7, al
jecxz 0x4599e8
out 0xc7, al
in eax, 0xc7
fadd st(7), st(0)
fadd st(1)
loope 0x4599f3
out 0xc0, al
faddp st(4)
invalid
mov dword [ebp - 0x10], 0x459a15
mov dword [ebp - 0x14], 0x459a02
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0xbc], edx
mov byte [ebp - 0x45], 0x17
mov dword [ebp - 0x30], 0
jmp 0x459a83
mov eax, dword [ebp - 0x30]
add eax, 1
mov dword [ebp - 0x30], eax
rol byte [ebx + 0x458901c0], 1
rol byte [ecx + 0x100d07d], 1
add byte [eax], al
cmp dword [ebp - 0x30], 0x100
jae 0x459a9b
mov ecx, dword [ebp - 0x30]
mov dl, byte [ebp - 0x30]
mov byte [ebp + ecx - 0x1cc], dl
jmp 0x459a7a
mov dword [ebp - 0x7c], 0
mov byte [ebp - 0x18], 0
mov dword [ebp - 0x30], 0xff
jmp 0x459ab8
mov eax, dword [ebp - 0x30]
sub eax, 1
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jbe 0x459ca9
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x94], 1
mov ecx, dword [ebp - 0x94]
cmp ecx, dword [ebp - 0x30]
jae 0x459af3
mov edx, dword [ebp - 0x94]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x94], eax
jmp 0x459ad6
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0xa8], ecx
cmp dword [ebp - 0xa8], 3
ja case.default.0x459b0f
mov edx, dword [ebp - 0xa8]
jmp dword [edx*4 + 0x45a684]
movzx eax, byte [ebp - 0x18]
movzx ebx, byte [ebp + eax - 0x1cc]
movsd xmm0, qword [ebp - 0x90]
call fcn.00534880
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x18], bl
jmp 0x459bd4
movzx ecx, byte [ebp - 0x18]
movzx ebx, byte [ebp + ecx - 0x1cc]
movsd xmm0, qword [ebp - 0x90]
call fcn.00534880
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x18], bl
jmp 0x459bd4
movzx edx, byte [ebp - 0x18]
movzx ebx, byte [ebp + edx - 0x1cc]
movsd xmm0, qword [ebp - 0x90]
call fcn.00534880
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x18], bl
jmp 0x459bd4
movzx eax, byte [ebp - 0x18]
movzx ebx, byte [ebp + eax - 0x1cc]
movsd xmm0, qword [ebp - 0x90]
call fcn.00534880
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x18], bl
jmp 0x459bd4
movzx ecx, byte [ebp - 0x18]
movzx edx, byte [ebp + ecx - 0x1cc]
mov eax, dword [ebp - 0xbc]
add eax, dword [ebp - 0x7c]
movzx ecx, byte [eax - 4]
add edx, ecx
mov byte [ebp - 0x18], dl
mov edx, dword [ebp - 0x7c]
add edx, 1
mov dword [ebp - 0x7c], edx
movzx eax, byte [ebp - 0x45]
cmp dword [ebp - 0x7c], eax
jb 0x459bfa
mov dword [ebp - 0x7c], 0
movzx ecx, byte [ebp - 0x45]
movzx edx, byte [ebp - 0x18]
add edx, ecx
mov byte [ebp - 0x18], dl
movzx eax, byte [ebp - 0x18]
and eax, dword [ebp - 0x94]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x9c]
add ecx, 1
mov dword [ebp - 0x9c], ecx
cmp dword [ebp - 0x9c], 0xb
jbe 0x459c2a
mov eax, dword [ebp - 0x4c]
xor edx, edx
div dword [ebp - 0x30]
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x4c]
cmp edx, dword [ebp - 0x30]
ja 0x459af3
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x4c]
je 0x459ca4
mov ecx, dword [ebp - 0x4c]
movzx edx, byte [ebp + ecx - 0x1cc]
mov eax, dword [ebp - 0x30]
movzx ecx, byte [ebp + eax - 0x1cc]
xor ecx, edx
mov edx, dword [ebp - 0x30]
mov byte [ebp + edx - 0x1cc], cl
mov eax, dword [ebp - 0x30]
movzx ecx, byte [ebp + eax - 0x1cc]
mov edx, dword [ebp - 0x4c]
movzx eax, byte [ebp + edx - 0x1cc]
xor eax, ecx
mov ecx, dword [ebp - 0x4c]
mov byte [ebp + ecx - 0x1cc], al
mov edx, dword [ebp - 0x4c]
movzx eax, byte [ebp + edx - 0x1cc]
mov ecx, dword [ebp - 0x30]
movzx edx, byte [ebp + ecx - 0x1cc]
xor edx, eax
mov eax, dword [ebp - 0x30]
mov byte [ebp + eax - 0x1cc], dl
jmp 0x459aaf
mov ecx, 1
shl ecx, 0
mov dl, byte [ebp + ecx - 0x1cc]
mov byte [ebp - 0x15], dl
mov eax, 1
imul ecx, eax, 3
mov dl, byte [ebp + ecx - 0x1cc]
mov byte [ebp - 0x16], dl
mov eax, 1
imul ecx, eax, 5
mov dl, byte [ebp + ecx - 0x1cc]
mov byte [ebp - 0x1b], dl
mov eax, 1
imul ecx, eax, 7
mov dl, byte [ebp + ecx - 0x1cc]
mov byte [ebp - 0x17], dl
movzx eax, byte [ebp - 0x18]
mov cl, byte [ebp + eax - 0x1cc]
mov byte [ebp - 0x19], cl
mov dword [ebp - 0xac], 0x36
cmp dword [ebp - 0xac], 2
jle 0x45a5bb
mov edx, dword [ebp - 0xac]
and edx, 1
jne 0x45a5bb
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x44]
add eax, 1
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x78], 0
mov ecx, dword [ebp - 0x34]
shl ecx, 1
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x64], 0
mov edx, dword [ebp - 0x74]
add edx, dword [ebp - 0x78]
movzx eax, byte [edx]
add eax, dword [ebp - 0x64]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], 0
mov ecx, dword [ebp - 0x60]
add ecx, 0xbb
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x80], 0
mov edx, dword [ebp - 0x34]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x50], 0
mov ecx, dword [ebp - 0x74]
add ecx, dword [ebp - 0x80]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x50]
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x54], 0
mov eax, dword [ebp - 0x54]
add eax, 0xd8
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x58], 0
mov ecx, dword [ebp - 0x64]
sub ecx, dword [ebp - 0x60]
add ecx, dword [ebp - 0x58]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x5c], 0
mov edx, dword [ebp - 0x50]
sub edx, dword [ebp - 0x54]
add edx, dword [ebp - 0x5c]
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x68], 0
mov eax, dword [ebp - 0x58]
shl eax, 4
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x6c], 0
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x70], 0
mov edx, dword [ebp - 0x68]
or edx, dword [ebp - 0x6c]
mov dword [ebp - 0x70], edx
mov byte [ebp - 0x1c], 0
mov al, byte [ebp - 0x70]
mov byte [ebp - 0x1c], al
mov byte [ebp - 0x1a], 0
movzx ecx, byte [ebp - 0x19]
mov dl, byte [ebp + ecx - 0x1cc]
mov byte [ebp - 0x1a], dl
movzx eax, byte [ebp - 0x15]
movzx ecx, byte [ebp + eax - 0x1cc]
mov dword [ebp - 0xc0], ecx
mov dl, byte [ebp - 0x15]
add dl, 1
mov byte [ebp - 0x15], dl
movzx eax, byte [ebp - 0x16]
add eax, dword [ebp - 0xc0]
mov byte [ebp - 0x16], al
movzx ecx, byte [ebp - 0x16]
movzx edx, byte [ebp - 0x19]
mov al, byte [ebp + ecx - 0x1cc]
mov byte [ebp + edx - 0x1cc], al
movzx ecx, byte [ebp - 0x17]
movzx edx, byte [ebp - 0x16]
mov al, byte [ebp + ecx - 0x1cc]
mov byte [ebp + edx - 0x1cc], al
movzx ecx, byte [ebp - 0x15]
movzx edx, byte [ebp - 0x17]
mov al, byte [ebp + ecx - 0x1cc]
mov byte [ebp + edx - 0x1cc], al
movzx ecx, byte [ebp - 0x15]
mov dl, byte [ebp - 0x1a]
mov byte [ebp + ecx - 0x1cc], dl
movzx eax, byte [ebp - 0x1a]
movzx ecx, byte [ebp + eax - 0x1cc]
movzx edx, byte [ebp - 0x1b]
add edx, ecx
mov byte [ebp - 0x1b], dl
movzx eax, byte [ebp - 0x1c]
movzx ecx, byte [ebp - 0x16]
movzx edx, byte [ebp + ecx - 0x1cc]
movzx ecx, byte [ebp - 0x15]
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 - 0x17]
movzx edx, byte [ebp + ecx - 0x1cc]
movzx ecx, byte [ebp - 0x19]
movzx ecx, byte [ebp + ecx - 0x1cc]
add edx, ecx
movzx ecx, byte [ebp - 0x1b]
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 - 0x17], al
mov dl, byte [ebp - 0x1c]
mov byte [ebp - 0x19], dl
mov al, byte [ebp - 0x17]
mov byte [ebp - 0x21], al
cmp dword [ebp - 0x34], 0
jle 0x459f3c
movsx cx, byte [ebp - 0x21]
mov edx, dword [ebp - 0x34]
mov word [ebp + edx*2 - 0x206], cx
mov eax, dword [ebp - 0x44]
add eax, 0xd
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x34]
add ecx, 1
mov dword [ebp - 0xa0], ecx
jmp 0x459f62
mov edx, dword [ebp - 0xa0]
add edx, 1
mov dword [ebp - 0xa0], edx
mov eax, dword [ebp - 0xa0]
cmp eax, dword [ebp - 0x44]
jge 0x45a115
mov ecx, dword [ebp - 0x34]
add ecx, 1
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x34]
shl edx, 1
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x74]
add eax, dword [ebp - 0x78]
movzx ecx, byte [eax]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], 0xbb
mov edx, dword [ebp - 0x34]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x74]
add ecx, dword [ebp - 0x80]
movzx edx, byte [ecx]
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x54], 0xd8
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x60]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x54]
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x58]
shl edx, 4
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x68]
or ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x70], ecx
mov dl, byte [ebp - 0x70]
mov byte [ebp - 0x1c], dl
movzx eax, byte [ebp - 0x19]
mov cl, byte [ebp + eax - 0x1cc]
mov byte [ebp - 0x1a], cl
movzx edx, byte [ebp - 0x15]
movzx eax, byte [ebp + edx - 0x1cc]
mov dword [ebp - 0xc4], eax
mov cl, byte [ebp - 0x15]
add cl, 1
mov byte [ebp - 0x15], cl
movzx edx, byte [ebp - 0x16]
add edx, dword [ebp - 0xc4]
mov byte [ebp - 0x16], dl
movzx eax, byte [ebp - 0x16]
movzx ecx, byte [ebp - 0x19]
mov dl, byte [ebp + eax - 0x1cc]
mov byte [ebp + ecx - 0x1cc], dl
movzx eax, byte [ebp - 0x17]
movzx ecx, byte [ebp - 0x16]
mov dl, byte [ebp + eax - 0x1cc]
mov byte [ebp + ecx - 0x1cc], dl
movzx eax, byte [ebp - 0x15]
movzx ecx, byte [ebp - 0x17]
mov dl, byte [ebp + eax - 0x1cc]
mov byte [ebp + ecx - 0x1cc], dl
movzx eax, byte [ebp - 0x15]
mov cl, byte [ebp - 0x1a]
mov byte [ebp + eax - 0x1cc], cl
movzx edx, byte [ebp - 0x1a]
movzx eax, byte [ebp + edx - 0x1cc]
movzx ecx, byte [ebp - 0x1b]
add ecx, eax
mov byte [ebp - 0x1b], cl
movzx edx, byte [ebp - 0x1c]
movzx eax, byte [ebp - 0x16]
movzx ecx, byte [ebp + eax - 0x1cc]
movzx eax, byte [ebp - 0x15]
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 - 0x17]
movzx ecx, byte [ebp + eax - 0x1cc]
movzx eax, byte [ebp - 0x19]
movzx eax, byte [ebp + eax - 0x1cc]
add ecx, eax
movzx eax, byte [ebp - 0x1b]
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 - 0x17], dl
mov cl, byte [ebp - 0x1c]
mov byte [ebp - 0x19], cl
mov dl, byte [ebp - 0x17]
mov byte [ebp - 0x21], dl
cmp dword [ebp - 0x34], 0
jle 0x45a110
movsx ax, byte [ebp - 0x21]
mov ecx, dword [ebp - 0x34]
mov word [ebp + ecx*2 - 0x206], ax
jmp 0x459f53
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x44]
add eax, 0xd
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x34]
add ecx, 1
mov dword [ebp - 0xa4], ecx
jmp 0x45a144
mov edx, dword [ebp - 0xa4]
add edx, 1
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0xa4]
cmp eax, dword [ebp - 0x44]
jge 0x45a582
mov ecx, dword [ebp - 0x34]
add ecx, 1
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x34]
shl edx, 1
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x74]
add eax, dword [ebp - 0x78]
movzx ecx, byte [eax]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], 0xbb
mov edx, dword [ebp - 0x34]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x74]
add ecx, dword [ebp - 0x80]
movzx edx, byte [ecx]
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x54], 0xd8
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0x60]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x50]
sub ecx, dword [ebp - 0x54]
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x58]
shl edx, 4
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x68]
or ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x70], ecx
mov dl, byte [ebp - 0x70]
mov byte [ebp - 0x1c], dl
movzx eax, byte [ebp - 0x19]
mov cl, byte [ebp + eax - 0x1cc]
mov byte [ebp - 0x1a], cl
movss xmm0, dword [0x54a134]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [0x54a0ac]
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [0x54a034]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [0x549fa8]
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [0x549f28]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [0x549e9c]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0x20]
addss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x28]
subss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x20]
subss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x28]
addss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x20]
addss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x20]
addss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x20]
comiss xmm0, dword [ebp - 0x2c]
jbe 0x45a310
movss xmm0, dword [ebp - 0x40]
subss xmm0, dword [ebp - 0x3c]
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [ebp - 0x20]
addss xmm0, dword [ebp - 0x40]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x2c]
mulss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0x3c]
addss xmm0, dword [ebp - 0x38]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [ebp - 0x3c]
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [ebp - 0x40]
subss xmm0, dword [ebp - 0x3c]
movss dword [ebp - 0x40], xmm0
movzx edx, byte [ebp - 0x15]
movzx eax, byte [ebp + edx - 0x1cc]
mov dword [ebp - 0xc8], eax
mov cl, byte [ebp - 0x15]
add cl, 1
mov byte [ebp - 0x15], cl
movzx edx, byte [ebp - 0x16]
add edx, dword [ebp - 0xc8]
mov byte [ebp - 0x16], dl
jmp 0x45a485
movss xmm0, dword [ebp - 0x3c]
addss xmm0, dword [ebp - 0x38]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [ebp - 0x20]
mulss xmm0, dword [ebp - 0x40]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [ebp - 0x2c]
mulss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0x2c]
subss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0x2c]
addss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0x38]
divss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [ebp - 0x40]
divss xmm0, dword [ebp - 0x38]
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [ebp - 0x38]
subss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [ebp - 0x3c]
mulss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [ebp - 0x38]
mulss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [ebp - 0x28]
mulss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x28]
divss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x40]
comiss xmm0, dword [ebp - 0x38]
jbe 0x45a42b
movss xmm0, dword [ebp - 0x40]
subss xmm0, dword [ebp - 0x3c]
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [ebp - 0x3c]
addss xmm0, dword [ebp - 0x38]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [ebp - 0x38]
addss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [ebp - 0x38]
mulss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [ebp - 0x2c]
subss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0x3c]
addss xmm0, dword [ebp - 0x38]
movss dword [ebp - 0x3c], xmm0
jmp 0x45a485
movss xmm0, dword [ebp - 0x28]
mulss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x28]
subss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x28]
divss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x3c]
addss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [ebp - 0x28]
divss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x28]
subss xmm0, dword [ebp - 0x20]
movss dword [ebp - 0x28], xmm0
movzx eax, byte [ebp - 0x16]
movzx ecx, byte [ebp - 0x19]
mov dl, byte [ebp + eax - 0x1cc]
mov byte [ebp + ecx - 0x1cc], dl
movzx eax, byte [ebp - 0x17]
movzx ecx, byte [ebp - 0x16]
mov dl, byte [ebp + eax - 0x1cc]
mov byte [ebp + ecx - 0x1cc], dl
movzx eax, byte [ebp - 0x15]
movzx ecx, byte [ebp - 0x17]
mov dl, byte [ebp + eax - 0x1cc]
mov byte [ebp + ecx - 0x1cc], dl
movzx eax, byte [ebp - 0x15]
mov cl, byte [ebp - 0x1a]
mov byte [ebp + eax - 0x1cc], cl
movzx edx, byte [ebp - 0x1a]
movzx eax, byte [ebp + edx - 0x1cc]
movzx ecx, byte [ebp - 0x1b]
add ecx, eax
mov byte [ebp - 0x1b], cl
movzx edx, byte [ebp - 0x1c]
movzx eax, byte [ebp - 0x16]
movzx ecx, byte [ebp + eax - 0x1cc]
movzx eax, byte [ebp - 0x15]
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 - 0x17]
movzx ecx, byte [ebp + eax - 0x1cc]
movzx eax, byte [ebp - 0x19]
movzx eax, byte [ebp + eax - 0x1cc]
add ecx, eax
movzx eax, byte [ebp - 0x1b]
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 - 0x17], dl
mov cl, byte [ebp - 0x1c]
mov byte [ebp - 0x19], cl
mov dl, byte [ebp - 0x17]
mov byte [ebp - 0x21], dl
cmp dword [ebp - 0x34], 0
jle 0x45a57d
movsx ax, byte [ebp - 0x21]
mov ecx, dword [ebp - 0x34]
mov word [ebp + ecx*2 - 0x206], ax
jmp 0x45a135
mov edx, dword [ebp - 0x44]
add edx, 1
mov dword [ebp - 0x44], edx
mov eax, 2
imul ecx, eax, 0x1a
mov dword [ebp - 0xb0], ecx
cmp dword [ebp - 0xb0], 0x36
jae 0x45a5a4
jmp 0x45a5a9
call fcn.00534217
xor edx, edx
mov eax, dword [ebp - 0xb0]
mov word [ebp + eax - 0x204], dx
jmp 0x45a60f
mov dword [ebp - 0x98], 0
jmp 0x45a5d6
mov ecx, dword [ebp - 0x98]
add ecx, 1
mov dword [ebp - 0x98], ecx
cmp dword [ebp - 0x98], 0x1b
jge 0x45a60f
mov edx, dword [ebp - 0x98]
shl edx, 1
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0x36
jae 0x45a5f8
jmp 0x45a5fd
call fcn.00534217
xor eax, eax
mov ecx, dword [ebp - 0xb4]
mov word [ebp + ecx - 0x204], ax
jmp 0x45a5c7
mov edx, 2
imul eax, edx, 0
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov dx, word [ebp + edx*2 - 0x204]
mov word [ecx + eax], dx
mov eax, 2
imul ecx, eax, 3
xor edx, edx
mov eax, dword [ebp + 8]
mov word [eax + ecx], dx
mov ecx, 2
shl ecx, 1
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xcc]
mov ax, word [ebp + eax*2 - 0x204]
mov word [edx + ecx], ax
mov ecx, 2
shl ecx, 0
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov ax, word [ebp + eax*2 - 0x204]
mov word [edx + ecx], ax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00533c96
mov esp, ebp
pop ebp
ret 4