Function at 0x1069100
Capabilities:
Encode data using xor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
push esi
mov esi, dword [ebp + 8]
cmp word [esi + 0x244], 2
push edi
jne 0x1069781
mov eax, dword [esi + 0x248]
movsx edi, word [eax]
movsx ebx, word [eax + 2]
imul edi, edi, 0x6f0
mov ecx, dword [esi + 0x140]
imul ebx, ebx, 0x6f0
movzx edx, word [edi + ecx + 0x7a]
add edi, ecx
add ebx, ecx
cmp dword [esi + 0x3c], 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x2c], edx
jle 0x106915d
cmp dx, word [ebx + 0x7a]
jne 0x1069781
movzx eax, word [edi + 0x7c]
movss xmm0, dword [edi + 0x50]
movss xmm4, dword [edi + 0x48]
movss xmm2, dword [edi + 0x4c]
movss xmm3, dword [edi + 0x58]
movsx ecx, dx
movss dword [ebp - 4], xmm0
movss xmm0, dword [edi + 0x54]
mov dword [ebp - 0x20], eax
movss dword [ebp - 0xc], xmm0
mov dword [ebp - 0x34], ecx
cmp ax, dx
jl 0x10691a0
movzx edx, cx
mov dword [ebp - 0x24], edx
lea edx, [ecx + ecx]
movzx edx, dx
jmp 0x10691c7
movsx edx, ax
mov eax, ecx
sub eax, edx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
movzx eax, ax
mov dword [ebp - 0x24], eax
movsx eax, word [ebp - 0x20]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
movzx edx, ax
mov eax, dword [ebp - 0x20]
cmp dword [esi + 0x8c], 1
jne 0x10691f0
cmp dword [esi + 0x94], 0
jne 0x10691f0
movsx eax, word [ebp - 0x24]
movsx edx, dx
add eax, edx
cdq
sub eax, edx
sar eax, 1
movzx eax, ax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
cmp word [ebp - 0x2c], ax
jl 0x1069205
movzx ecx, ax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], ecx
jmp 0x1069227
cwde
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
movzx edx, ax
movsx eax, word [ebp - 0x20]
add eax, ecx
mov dword [ebp - 0x10], edx
cdq
sub eax, edx
sar eax, 1
movzx eax, ax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
cmp dword [esi + 0x8c], 1
jne 0x1069257
cmp dword [esi + 0x94], 0
jne 0x1069257
movsx eax, word [ebp - 0x10]
movsx ecx, word [ebp - 0x14]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
movzx eax, ax
movzx edx, ax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x14], edx
mov ecx, dword [edi + 0x38]
movsx esi, ax
mov eax, esi
cdq
sub eax, edx
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebx + 0x38]
mov ebx, eax
sar ebx, 1
mov dword [ebp - 0x38], ecx
mov dword [ebp + 8], 0
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x18], ebx
cmp ebx, 4
jl 0x106934a
mov edi, dword [ebp - 0x30]
add ebx, 0xfffffffc
shr ebx, 2
lea edx, [edi + 0xc]
lea esi, [edi + esi*4 - 0xc]
mov edi, dword [ebp - 0x28]
inc ebx
lea eax, [ecx + 4]
lea ecx, [ecx + edi*4 - 4]
mov edi, dword [ebp - 0x30]
sub edi, dword [ebp - 0x38]
mov dword [ebp - 0x1c], ebx
add ebx, ebx
add ebx, ebx
mov dword [ebp + 8], ebx
mov ebx, dword [ebp - 0x1c]
movss xmm0, dword [edx - 0xc]
fld dword [edi + ecx]
fstp dword [edx - 0xc]
movss dword [edi + ecx], xmm0
movss xmm0, dword [eax - 4]
fld dword [ecx]
fstp dword [eax - 4]
movss dword [ecx], xmm0
movss xmm0, dword [edi + eax]
fld dword [esi + 4]
fstp dword [edi + eax]
movss dword [esi + 4], xmm0
movss xmm0, dword [eax]
fld dword [ecx - 4]
fstp dword [eax]
movss dword [ecx - 4], xmm0
movss xmm0, dword [edx - 4]
fld dword [esi]
fstp dword [edx - 4]
movss dword [esi], xmm0
movss xmm0, dword [eax + 4]
fld dword [ecx - 8]
fstp dword [eax + 4]
movss dword [ecx - 8], xmm0
movss xmm0, dword [edx]
fld dword [esi - 4]
fstp dword [edx]
movss dword [esi - 4], xmm0
fld dword [ecx - 0xc]
movss xmm0, dword [eax + 8]
fstp dword [eax + 8]
movss dword [ecx - 0xc], xmm0
add eax, 0x10
add edx, 0x10
sub ecx, 0x10
sub esi, 0x10
dec ebx
jne 0x10692b3
mov ecx, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x18]
mov edi, dword [ebp - 8]
mov esi, dword [ebp - 0x28]
mov edx, dword [ebp + 8]
cmp edx, ebx
jge 0x1069389
sub esi, edx
lea eax, [ecx + edx*4]
lea edx, [ecx + esi*4 - 4]
mov esi, dword [ebp - 0x30]
sub esi, ecx
mov ecx, ebx
sub ecx, dword [ebp + 8]
movss xmm0, dword [eax + esi]
fld dword [edx + esi]
fstp dword [eax + esi]
movss dword [edx + esi], xmm0
fld dword [edx]
movss xmm0, dword [eax]
fstp dword [eax]
movss dword [edx], xmm0
add eax, 4
sub edx, 4
dec ecx
jne 0x1069364
mov eax, dword [ebp - 0x34]
mov esi, dword [edi + 0x38]
cdq
sub eax, edx
mov edx, dword [ebp - 0x3c]
mov edx, dword [edx + 0x38]
sar eax, 1
add eax, eax
add eax, eax
mov ecx, esi
mov edi, edx
sub ecx, eax
sub edi, eax
mov ax, word [ebp - 0x2c]
lea esi, [esi + ebx*4 - 4]
lea ebx, [edx + ebx*4 - 4]
movsx edx, word [ebp - 0x10]
cmp word [ebp - 0x20], ax
jle 0x10693d3
movsx eax, word [ebp - 0x14]
mov dword [ebp + 8], eax
sub eax, dword [ebp - 0x28]
add eax, eax
add eax, eax
add esi, eax
add ebx, eax
mov eax, dword [ebp + 8]
jmp 0x10693e6
movsx eax, word [ebp - 0x24]
sub eax, dword [ebp - 0x34]
add eax, eax
add eax, eax
add ecx, eax
add edi, eax
movsx eax, word [ebp - 0x14]
movss xmm7, dword [0x10072c0]
sub eax, edx
cdq
sub eax, edx
sar eax, 1
xor edx, edx
cmp eax, 4
jl 0x10696c4
lea edx, [eax - 4]
shr edx, 2
inc edx
mov dword [ebp - 0x3c], edx
add edx, edx
add edx, edx
mov dword [ebp + 8], edx
mov edx, dword [ebp - 0x3c]
movss xmm5, dword [ecx]
movss xmm6, dword [esi]
movaps xmm1, xmm4
xorps xmm1, xmm7
movaps xmm7, xmm5
mulss xmm5, xmm4
movaps xmm0, xmm1
mulss xmm0, xmm6
mulss xmm6, xmm2
addss xmm5, xmm6
mulss xmm7, xmm2
addss xmm0, xmm7
movss dword [ecx], xmm0
movss dword [esi], xmm5
movss xmm5, dword [edi]
movss xmm0, dword [ebx]
movaps xmm6, xmm5
mulss xmm5, xmm4
mulss xmm6, xmm2
mulss xmm1, xmm0
addss xmm1, xmm6
movss dword [edi], xmm1
mulss xmm0, xmm2
addss xmm5, xmm0
movss xmm0, dword [ebp - 0xc]
movss dword [ebx], xmm5
movss xmm7, dword [0x10072c0]
movss dword [ebp - 0xc], xmm2
movaps xmm1, xmm3
mulss xmm1, xmm2
addss xmm1, dword [ebp - 4]
movss xmm2, dword [ecx + 4]
movss dword [ebp - 4], xmm4
movaps xmm5, xmm3
mulss xmm5, xmm4
subss xmm0, xmm5
movss xmm5, dword [esi - 4]
movss dword [ebp - 8], xmm5
movaps xmm4, xmm1
xorps xmm4, xmm7
movaps xmm6, xmm4
mulss xmm6, xmm5
movaps xmm5, xmm0
mulss xmm5, xmm2
addss xmm6, xmm5
movaps xmm5, xmm1
mulss xmm5, xmm2
movss dword [ecx + 4], xmm6
movaps xmm2, xmm0
mulss xmm2, dword [ebp - 8]
addss xmm5, xmm2
movss dword [esi - 4], xmm5
movss xmm2, dword [edi + 4]
movss xmm5, dword [ebx - 4]
movss dword [ebp - 0x18], xmm1
mulss xmm1, xmm2
mulss xmm4, xmm5
movaps xmm6, xmm0
mulss xmm6, xmm2
movss dword [ebp - 0x1c], xmm0
addss xmm4, xmm6
movss dword [edi + 4], xmm4
movaps xmm2, xmm0
mulss xmm2, xmm5
addss xmm1, xmm2
movss xmm2, dword [ebp - 0x18]
movss dword [ebx - 4], xmm1
movss xmm1, dword [ebp - 0xc]
movss xmm5, dword [esi - 8]
mulss xmm0, xmm3
addss xmm0, dword [ebp - 4]
movaps xmm4, xmm3
mulss xmm4, xmm2
subss xmm1, xmm4
movss xmm4, dword [ecx + 8]
movss dword [ebp - 4], xmm2
movss xmm2, dword [ebp - 0x1c]
movss dword [ebp - 0x18], xmm0
movss dword [ebp - 0xc], xmm2
movss dword [ebp - 0x1c], xmm1
movss dword [ebp - 8], xmm5
movaps xmm2, xmm0
xorps xmm2, xmm7
movaps xmm6, xmm2
mulss xmm6, xmm5
movaps xmm5, xmm1
mulss xmm5, xmm4
addss xmm6, xmm5
movss dword [ecx + 8], xmm6
movaps xmm5, xmm0
mulss xmm5, xmm4
movaps xmm4, xmm1
mulss xmm4, dword [ebp - 8]
addss xmm5, xmm4
movss dword [esi - 8], xmm5
movss xmm5, dword [ebx - 8]
movss xmm4, dword [edi + 8]
mulss xmm2, xmm5
mulss xmm0, xmm4
movaps xmm6, xmm1
mulss xmm6, xmm4
addss xmm2, xmm6
movss dword [edi + 8], xmm2
movaps xmm2, xmm1
mulss xmm2, xmm5
addss xmm0, xmm2
movss xmm2, dword [ebp - 0x18]
movss dword [ebx - 8], xmm0
movss xmm5, dword [esi - 0xc]
movss xmm0, dword [ebp - 0xc]
mulss xmm1, xmm3
addss xmm1, dword [ebp - 4]
movss dword [ebp - 4], xmm2
movaps xmm4, xmm3
mulss xmm4, xmm2
movss xmm2, dword [ebp - 0x1c]
subss xmm0, xmm4
movss xmm4, dword [ecx + 0xc]
movss dword [ebp - 0xc], xmm2
movaps xmm2, xmm1
xorps xmm2, xmm7
movaps xmm6, xmm2
mulss xmm6, xmm5
movss dword [ebp - 8], xmm5
movaps xmm5, xmm0
mulss xmm5, xmm4
addss xmm6, xmm5
movaps xmm5, xmm1
mulss xmm5, xmm4
movss dword [ecx + 0xc], xmm6
movaps xmm4, xmm0
mulss xmm4, dword [ebp - 8]
addss xmm5, xmm4
movss dword [esi - 0xc], xmm5
movss xmm4, dword [edi + 0xc]
movss xmm5, dword [ebx - 0xc]
mulss xmm2, xmm5
movaps xmm6, xmm0
mulss xmm6, xmm4
addss xmm2, xmm6
movss dword [edi + 0xc], xmm2
movss dword [ebp - 0x18], xmm1
mulss xmm1, xmm4
movaps xmm2, xmm0
mulss xmm2, xmm5
addss xmm1, xmm2
movss xmm2, dword [ebp - 0x18]
movss dword [ebp - 0x1c], xmm0
movss dword [ebx - 0xc], xmm1
movss xmm1, dword [ebp - 0xc]
mulss xmm0, xmm3
addss xmm0, dword [ebp - 4]
movaps xmm4, xmm3
mulss xmm4, xmm2
subss xmm1, xmm4
movaps xmm4, xmm0
movss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 4], xmm2
sub esi, 0x10
movss dword [ebp - 0xc], xmm0
movaps xmm2, xmm1
sub ebx, 0x10
add ecx, 0x10
add edi, 0x10
dec edx
jne 0x1069414
mov edx, dword [ebp + 8]
cmp edx, eax
jge 0x1069c14
sub edi, ecx
sub ebx, esi
sub eax, edx
movss xmm5, dword [esi]
movss xmm1, dword [ecx]
movss dword [ebp - 8], xmm5
movaps xmm0, xmm4
xorps xmm0, xmm7
movaps xmm6, xmm0
mulss xmm6, xmm5
movaps xmm5, xmm1
mulss xmm5, xmm2
addss xmm6, xmm5
movss xmm5, dword [ebp - 8]
movss dword [ecx], xmm6
mulss xmm1, xmm4
mulss xmm5, xmm2
addss xmm1, xmm5
movss dword [esi], xmm1
movss xmm1, dword [edi + ecx]
movss xmm5, dword [ebx + esi]
mulss xmm0, xmm5
movaps xmm6, xmm1
mulss xmm6, xmm2
addss xmm0, xmm6
movss dword [edi + ecx], xmm0
mulss xmm1, xmm4
mulss xmm5, xmm2
addss xmm1, xmm5
movss dword [ebx + esi], xmm1
movss xmm1, dword [ebp - 0xc]
movaps xmm0, xmm3
mulss xmm0, xmm2
addss xmm0, dword [ebp - 4]
movaps xmm5, xmm3
mulss xmm5, xmm4
sub esi, 4
add ecx, 4
dec eax
subss xmm1, xmm5
movss dword [ebp - 4], xmm4
movss dword [ebp - 0xc], xmm2
movaps xmm4, xmm0
movaps xmm2, xmm1
jne 0x10696d2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
movzx eax, word [esi + 0x244]
xor ecx, ecx
mov dword [ebp - 0x38], 0
cmp cx, ax
jge 0x1069c14
movss xmm6, dword [0x10072c0]
jmp 0x10697a6
mov esi, ecx
movsx edx, word [ebp - 0x38]
mov eax, dword [esi + 0x248]
movsx edi, word [eax + edx*2]
imul edi, edi, 0x6f0
add edi, dword [esi + 0x140]
movzx eax, word [edi + 0x7a]
movzx ebx, word [edi + 0x7c]
movss xmm5, dword [edi + 0x50]
movss xmm0, dword [edi + 0x54]
movss xmm3, dword [edi + 0x48]
movss xmm4, dword [edi + 0x4c]
movss xmm2, dword [edi + 0x58]
movsx ecx, ax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x20], ebx
movss dword [ebp - 4], xmm5
movss dword [ebp - 0xc], xmm0
mov dword [ebp - 0x34], ecx
cmp bx, ax
jl 0x106980a
movzx edx, cx
mov dword [ebp - 0x24], edx
lea edx, [ecx + ecx]
movzx edx, dx
jmp 0x1069830
movsx edx, bx
mov eax, ecx
sub eax, edx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
movzx eax, ax
mov dword [ebp - 0x24], eax
movsx eax, bx
add eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
movzx edx, ax
mov eax, dword [ebp - 0x2c]
cmp dword [esi + 0x8c], 1
mov dword [ebp - 0x30], edx
jne 0x106985c
cmp dword [esi + 0x94], 0
jne 0x106985c
movsx eax, word [ebp - 0x24]
movsx edx, dx
add eax, edx
cdq
sub eax, edx
sar eax, 1
movzx eax, ax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x2c]
cmp ax, bx
jl 0x1069870
movzx ecx, bx
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], ecx
jmp 0x1069893
movsx esi, bx
mov eax, esi
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
movzx edx, ax
lea eax, [esi + ecx]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x10], edx
cdq
sub eax, edx
sar eax, 1
movzx eax, ax
mov dword [ebp - 0x14], eax
cmp dword [esi + 0x8c], 1
jne 0x10698c0
cmp dword [esi + 0x94], 0
jne 0x10698c0
movsx eax, word [ebp - 0x10]
movsx ecx, word [ebp - 0x14]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
movzx eax, ax
movzx edx, ax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], edx
mov ecx, dword [edi + 0x38]
movsx eax, bx
mov dword [ebp - 0x28], eax
cdq
sub eax, edx
mov ebx, eax
sar ebx, 1
xor esi, esi
mov dword [ebp - 0x30], ecx
cmp ebx, 4
jl 0x1069948
mov edx, dword [ebp - 0x28]
lea eax, [ecx + 8]
lea ecx, [ecx + edx*4 - 8]
lea edx, [ebx - 4]
shr edx, 2
inc edx
lea esi, [edx*4]
jmp 0x1069900
movss xmm0, dword [eax - 8]
fld dword [ecx + 4]
fstp dword [eax - 8]
movss dword [ecx + 4], xmm0
movss xmm0, dword [eax - 4]
fld dword [ecx]
fstp dword [eax - 4]
movss dword [ecx], xmm0
movss xmm0, dword [eax]
fld dword [ecx - 4]
fstp dword [eax]
movss dword [ecx - 4], xmm0
fld dword [ecx - 8]
movss xmm0, dword [eax + 4]
fstp dword [eax + 4]
movss dword [ecx - 8], xmm0
add eax, 0x10
sub ecx, 0x10
dec edx
jne 0x1069900
mov ecx, dword [ebp - 0x30]
cmp esi, ebx
jge 0x106996b
mov eax, dword [ebp - 0x28]
sub eax, esi
lea eax, [ecx + eax*4 - 4]
fld dword [eax]
movss xmm0, dword [ecx + esi*4]
fstp dword [ecx + esi*4]
movss dword [eax], xmm0
inc esi
sub eax, 4
cmp esi, ebx
jl 0x1069955
mov eax, dword [ebp - 0x34]
mov esi, dword [edi + 0x38]
cdq
sub eax, edx
mov dx, word [ebp - 0x2c]
sar eax, 1
add eax, eax
add eax, eax
mov ecx, esi
sub ecx, eax
lea esi, [esi + ebx*4 - 4]
cmp word [ebp - 0x20], dx
jle 0x106999a
movsx eax, word [ebp - 0x14]
mov edx, eax
sub edx, dword [ebp - 0x28]
lea esi, [esi + edx*4]
jmp 0x10699a8
movsx eax, word [ebp - 0x24]
sub eax, dword [ebp - 0x34]
lea ecx, [ecx + eax*4]
movsx eax, word [ebp - 0x14]
movsx edx, word [ebp - 0x10]
sub eax, edx
cdq
sub eax, edx
sar eax, 1
xor edi, edi
cmp eax, 4
jl 0x1069b7f
lea edx, [eax - 4]
shr edx, 2
inc edx
lea edi, [edx*4]
lea esp, [esp]
movss xmm0, dword [ecx]
movss xmm5, dword [esi]
movaps xmm7, xmm0
mulss xmm7, xmm4
mulss xmm0, xmm3
movaps xmm1, xmm3
xorps xmm1, xmm6
mulss xmm1, xmm5
addss xmm1, xmm7
mulss xmm5, xmm4
addss xmm0, xmm5
movss dword [ecx], xmm1
movss xmm1, dword [ebp - 0xc]
movss dword [esi], xmm0
movaps xmm0, xmm2
mulss xmm0, xmm4
addss xmm0, dword [ebp - 4]
movaps xmm7, xmm0
xorps xmm7, xmm6
movss dword [ebp - 4], xmm3
movss dword [ebp - 0x18], xmm0
movaps xmm5, xmm2
mulss xmm5, xmm3
movss xmm3, dword [ecx + 4]
subss xmm1, xmm5
movss xmm5, dword [esi - 4]
mulss xmm7, xmm5
mulss xmm0, xmm3
movss dword [ebp - 8], xmm5
movaps xmm5, xmm1
mulss xmm5, xmm3
addss xmm7, xmm5
movss dword [ecx + 4], xmm7
movss xmm5, dword [esi - 8]
movaps xmm3, xmm1
mulss xmm3, dword [ebp - 8]
addss xmm0, xmm3
movss xmm3, dword [ebp - 0x18]
movss dword [ebp - 0x1c], xmm1
movss dword [esi - 4], xmm0
mulss xmm1, xmm2
addss xmm1, dword [ebp - 4]
movaps xmm7, xmm1
movss dword [ebp - 0x18], xmm1
xorps xmm7, xmm6
mulss xmm7, xmm5
movss dword [ebp - 8], xmm5
movaps xmm0, xmm2
mulss xmm0, xmm3
subss xmm4, xmm0
movaps xmm0, xmm4
movss xmm4, dword [ecx + 8]
mulss xmm1, xmm4
movaps xmm5, xmm0
mulss xmm5, xmm4
movss dword [ebp - 4], xmm3
movss xmm3, dword [ebp - 0x1c]
addss xmm7, xmm5
movss dword [ecx + 8], xmm7
movss xmm5, dword [esi - 0xc]
movaps xmm4, xmm0
mulss xmm4, dword [ebp - 8]
addss xmm1, xmm4
movss xmm4, dword [ebp - 0x18]
movss dword [ebp - 0x1c], xmm0
movss dword [esi - 8], xmm1
mulss xmm0, xmm2
addss xmm0, dword [ebp - 4]
movaps xmm1, xmm2
mulss xmm1, xmm4
subss xmm3, xmm1
movaps xmm1, xmm3
movss xmm3, dword [ecx + 0xc]
movss dword [ebp - 4], xmm4
movss xmm4, dword [ebp - 0x1c]
movaps xmm7, xmm0
xorps xmm7, xmm6
movss dword [ebp - 0x18], xmm0
movss dword [ebp - 0x1c], xmm1
movss dword [ebp - 8], xmm5
mulss xmm7, xmm5
mulss xmm0, xmm3
movaps xmm5, xmm1
mulss xmm5, xmm3
movaps xmm3, xmm1
mulss xmm3, dword [ebp - 8]
addss xmm0, xmm3
addss xmm7, xmm5
movss xmm5, dword [ebp - 0x18]
movss dword [ecx + 0xc], xmm7
movss dword [esi - 0xc], xmm0
movss xmm0, dword [ebp - 0x1c]
movaps xmm3, xmm2
mulss xmm3, dword [ebp - 0x18]
mulss xmm1, xmm2
addss xmm1, dword [ebp - 4]
sub esi, 0x10
add ecx, 0x10
dec edx
subss xmm4, xmm3
movss dword [ebp - 4], xmm5
movaps xmm3, xmm1
movss dword [ebp - 0xc], xmm0
jne 0x10699d0
cmp edi, eax
jge 0x1069bfd
sub eax, edi
lea esp, [esp]
movss xmm1, dword [esi]
movss xmm0, dword [ecx]
movss dword [ebp - 8], xmm1
movaps xmm7, xmm3
xorps xmm7, xmm6
mulss xmm7, xmm1
movaps xmm1, xmm0
mulss xmm1, xmm4
addss xmm7, xmm1
movss xmm1, dword [ebp - 8]
mulss xmm0, xmm3
mulss xmm1, xmm4
addss xmm0, xmm1
movss xmm1, dword [ebp - 0xc]
movss dword [ecx], xmm7
movss dword [esi], xmm0
movaps xmm0, xmm2
mulss xmm0, xmm4
addss xmm0, xmm5
movaps xmm5, xmm2
mulss xmm5, xmm3
subss xmm1, xmm5
sub esi, 4
add ecx, 4
dec eax
movaps xmm5, xmm3
movss dword [ebp - 0xc], xmm4
movaps xmm3, xmm0
movaps xmm4, xmm1
jne 0x1069b90
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp + 8]
inc eax
mov dword [ebp - 0x38], eax
cmp ax, word [ecx + 0x244]
jl 0x10697a4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 4