Function at 0x10022e10
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x50
mov esi, esp
mov dword [esi + 0xc], ecx
cmp dword [ebp + 0xc], 2
jl 0x10023870
movss xmm0, dword [ebp + 0x18]
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x28]
mov ecx, dword [eax]
mov dword [esi + 0x2c], ecx
mov eax, dword [eax + 4]
mov dword [esi + 0x14], eax
mov edi, dword [ebp + 0xc]
lea eax, [edi - 1]
cmp byte [ebp + 0x14], 0
mov ecx, eax
cmovne ecx, edi
test byte [edx + 0x24], 1
jne 0x10023059
lea eax, [ecx + ecx]
lea eax, [eax + eax*2]
lea edx, [ecx*4]
mov edi, ecx
mov ecx, dword [esi + 0xc]
push edx
push eax
call fcn.10022ce0
movss xmm6, dword [ebp + 0x18]
mulss xmm6, dword [0x100340c4]
neg edi
mov dword [esi + 0x10], edi
mov eax, 1
movss xmm0, dword [0x10034020]
xorps xmm1, xmm1
mov ebx, dword [esi + 0xc]
jmp 0x1002300b
mulss xmm5, xmm6
movaps xmm3, xmm5
mulss xmm3, xmm2
shufps xmm2, xmm2, 0x55
mulss xmm2, xmm5
addss xmm4, xmm2
mov edi, dword [ebx + 0x34]
movss dword [edi], xmm4
mov ecx, dword [ebp + 8]
movss xmm4, dword [ecx + eax*8 - 4]
subss xmm4, xmm3
mov edi, dword [ebx + 0x34]
movss dword [edi + 4], xmm4
mov edi, dword [ebx + 0x34]
mov ecx, dword [esi + 0x14]
mov dword [edi + 0xc], ecx
mov ecx, dword [esi + 0x2c]
mov dword [edi + 8], ecx
mov edi, dword [ebx + 0x34]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov dword [edi + 0x10], edx
mov edx, dword [esi + 0x18]
movss xmm4, dword [ecx + edx*8]
addss xmm4, xmm2
mov edi, dword [ebx + 0x34]
movss dword [edi + 0x14], xmm4
movss xmm4, dword [ecx + edx*8 + 4]
subss xmm4, xmm3
mov edi, dword [ebx + 0x34]
movss dword [edi + 0x18], xmm4
mov edi, dword [ebx + 0x34]
mov ecx, dword [esi + 0x14]
mov dword [edi + 0x20], ecx
mov dword [esi + 8], eax
mov eax, dword [esi + 0x2c]
mov dword [edi + 0x1c], eax
mov edi, dword [ebx + 0x34]
mov ecx, dword [ebp + 0x10]
mov dword [edi + 0x24], ecx
mov ecx, dword [ebp + 8]
movss xmm4, dword [ecx + edx*8]
subss xmm4, xmm2
mov edi, dword [ebx + 0x34]
movss dword [edi + 0x28], xmm4
movss xmm4, dword [ecx + edx*8 + 4]
addss xmm4, xmm3
mov edx, dword [ebx + 0x34]
movss dword [edx + 0x2c], xmm4
mov edx, dword [ebx + 0x34]
mov edi, dword [esi + 0x14]
mov dword [edx + 0x34], edi
mov dword [edx + 0x30], eax
mov edx, dword [ebx + 0x34]
mov ecx, dword [ebp + 0x10]
mov dword [edx + 0x38], ecx
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 8]
movss xmm4, dword [ecx + edx*8 - 8]
subss xmm4, xmm2
mov edx, dword [ebx + 0x34]
movss dword [edx + 0x3c], xmm4
mov edx, dword [esi + 8]
addss xmm3, dword [ecx + edx*8 - 4]
mov edx, dword [ebx + 0x34]
movss dword [edx + 0x40], xmm3
mov edx, dword [ebx + 0x34]
mov dword [edx + 0x48], edi
mov dword [edx + 0x44], eax
mov eax, dword [esi + 8]
mov edx, dword [ebx + 0x34]
mov ecx, dword [ebp + 0x10]
mov dword [edx + 0x4c], ecx
add dword [ebx + 0x34], 0x50
movzx edx, word [ebx + 0x30]
mov edi, dword [ebx + 0x38]
mov word [edi], dx
mov edx, dword [ebx + 0x30]
mov edi, dword [ebx + 0x38]
inc edx
mov word [edi + 2], dx
mov edx, dword [ebx + 0x30]
mov edi, dword [ebx + 0x38]
add edx, 2
mov word [edi + 4], dx
movzx edx, word [ebx + 0x30]
mov edi, dword [ebx + 0x38]
mov word [edi + 6], dx
mov edx, dword [ebx + 0x30]
mov edi, dword [ebx + 0x38]
add edx, 2
mov word [edi + 8], dx
mov edx, dword [ebx + 0x30]
mov edi, dword [ebx + 0x38]
add edx, 3
mov word [edi + 0xa], dx
add dword [ebx + 0x38], 0xc
add dword [ebx + 0x30], 4
mov edx, dword [esi + 0x10]
add edx, eax
inc edx
inc eax
cmp edx, 1
je 0x10023870
cmp dword [ebp + 0xc], eax
mov ecx, eax
mov edi, 0
cmove ecx, edi
mov edi, dword [ebp + 8]
mov dword [esi + 0x18], ecx
movsd xmm2, qword [edi + ecx*8]
movsd xmm4, qword [edi + eax*8 - 8]
subps xmm2, xmm4
movaps xmm5, xmm2
mulps xmm5, xmm2
movaps xmm3, xmm5
shufps xmm3, xmm5, 0x55
addss xmm3, xmm5
ucomiss xmm3, xmm1
movaps xmm5, xmm0
jbe 0x10022ea0
sqrtss xmm3, xmm3
movaps xmm5, xmm0
divss xmm5, xmm3
jmp 0x10022ea0
mov dword [esi + 0x20], eax
mov ebx, ecx
lea edi, [edi*4]
xor ecx, ecx
ucomiss xmm0, dword [0x10034020]
mov edx, 0x12
mov eax, 0xc
cmova eax, edx
mov edx, dword [ebp + 0xc]
lea edx, [edx + edx*2]
cmova edx, edi
seta cl
mov edi, ecx
imul eax, ebx
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x30], edx
push edx
push eax
call fcn.10022ce0
lea eax, [edi + edi]
add eax, 3
imul eax, dword [ebp + 0xc]
shl eax, 3
call fcn.10032be0
mov eax, esp
and eax, 0xfffffff0
mov dword [esi + 0x18], eax
mov esp, eax
mov eax, 0
mov dword [esi + 0x10], ebx
cmp ebx, 4
jb 0x1002323d
mov eax, dword [esi + 0x10]
and eax, 0xfffffffc
mov edi, dword [ebp + 0xc]
neg edi
mov dword [esi + 0x28], edi
mov dword [esi + 0x24], eax
neg eax
mov dword [esi + 0x1c], eax
mov eax, 4
movaps xmm2, xmmword [0x10039af0]
movaps xmm3, xmmword [0x10034040]
nop
mov ecx, dword [esi + 0x28]
lea edx, [ecx + eax]
lea ecx, [eax - 3]
cmp edx, 3
mov ebx, 0
cmove ecx, ebx
mov dword [esi + 8], ecx
lea ecx, [eax - 2]
cmp edx, 2
cmove ecx, ebx
lea edi, [eax - 1]
cmp edx, 1
cmove edi, ebx
test edx, edx
cmovne edx, eax
mov ebx, dword [ebp + 8]
movss xmm4, dword [ebx + edx*8]
movss xmm5, dword [ebx + edx*8 + 4]
mov edx, dword [esi + 0x18]
movss xmm6, dword [ebx + edi*8]
movss xmm7, dword [ebx + edi*8 + 4]
unpcklps xmm6, xmm4
movss xmm0, dword [ebx + ecx*8]
movss xmm1, dword [ebx + ecx*8 + 4]
unpcklps xmm7, xmm5
mov ecx, dword [esi + 8]
movss xmm4, dword [ebx + ecx*8]
unpcklps xmm4, xmm0
movlhps xmm4, xmm6
movss xmm5, dword [ebx + ecx*8 + 4]
unpcklps xmm5, xmm1
movlhps xmm5, xmm7
movups xmm0, xmmword [ebx + eax*8 - 0x20]
movups xmm1, xmmword [ebx + eax*8 - 0x10]
movaps xmm6, xmm0
shufps xmm6, xmm1, 0x88
subps xmm4, xmm6
shufps xmm0, xmm1, 0xdd
subps xmm5, xmm0
movaps xmm0, xmm4
mulps xmm0, xmm4
movaps xmm1, xmm5
mulps xmm1, xmm5
addps xmm1, xmm0
rsqrtps xmm7, xmm1
xorps xmm6, xmm6
cmpltps xmm6, xmm1
mulps xmm1, xmm7
mulps xmm1, xmm7
addps xmm1, xmmword [0x10039dd0]
mulps xmm7, xmmword [0x10034e80]
mulps xmm7, xmm1
andps xmm7, xmm6
andnps xmm6, xmm2
orps xmm6, xmm7
mulps xmm5, xmm6
xorps xmm4, xmm3
mulps xmm4, xmm6
movaps xmm0, xmm5
unpcklps xmm0, xmm4
unpckhps xmm5, xmm4
movaps xmmword [edx + eax*8 - 0x10], xmm5
movaps xmmword [edx + eax*8 - 0x20], xmm0
mov ecx, dword [esi + 0x1c]
add ecx, eax
add ecx, 4
add eax, 4
cmp ecx, 4
jne 0x100230f0
mov eax, dword [esi + 0x24]
cmp dword [esi + 0x10], eax
jne 0x1002323d
mov eax, dword [ebp + 0x10]
and eax, 0xffffff
mov dword [esi + 0x28], eax
mov eax, dword [ebp + 0xc]
lea eax, [edx + eax*8]
mov dword [esi + 0x24], eax
movss xmm7, dword [ebp + 0x18]
cmp byte [ebp + 0x14], 0
je 0x100232d0
ucomiss xmm7, dword [0x10034020]
mov ecx, dword [esi + 0x10]
jbe 0x10023660
mulss xmm7, dword [0x100340c4]
movss xmm1, dword [0x10034970]
addss xmm1, xmm7
jmp 0x1002339a
inc eax
mov ebx, dword [esi + 0x10]
neg ebx
movss xmm0, dword [0x10034020]
xorps xmm1, xmm1
movaps xmm2, xmmword [0x10034040]
jmp 0x1002328a
movaps xmm5, xmm3
xorps xmm5, xmm2
unpcklps xmm4, xmm4
shufps xmm5, xmm3, 0xd4
shufps xmm5, xmm3, 0x52
mulps xmm5, xmm4
mov edx, dword [esi + 0x18]
movlps qword [edx + ecx*8 - 8], xmm5
lea ecx, [ebx + eax]
inc ecx
inc eax
cmp ecx, 1
je 0x100231f1
cmp dword [ebp + 0xc], eax
mov ecx, eax
mov edx, 0
cmove ecx, edx
mov edx, dword [ebp + 8]
movsd xmm3, qword [edx + ecx*8]
mov ecx, eax
movsd xmm4, qword [edx + eax*8 - 8]
subps xmm3, xmm4
movaps xmm4, xmm3
mulps xmm4, xmm3
movaps xmm5, xmm4
shufps xmm5, xmm4, 0x55
addss xmm5, xmm4
ucomiss xmm5, xmm1
movaps xmm4, xmm0
jbe 0x10023260
sqrtss xmm5, xmm5
movaps xmm4, xmm0
divss xmm4, xmm5
jmp 0x10023260
ucomiss xmm7, dword [0x10034020]
mov edi, dword [ebp + 0xc]
mov eax, dword [edx + edi*8 - 0x10]
mov ecx, dword [edx + edi*8 - 0xc]
mov dword [edx + edi*8 - 8], eax
mov dword [edx + edi*8 - 4], ecx
movd xmm0, eax
jbe 0x10023610
movss xmm3, dword [0x100340c4]
mulss xmm7, xmm3
mov ecx, dword [esi + 0x20]
shl ecx, 5
movaps xmm1, xmm7
shufps xmm1, xmm7, 0
addps xmm1, xmmword [0x10034180]
movaps xmm2, xmm1
unpcklps xmm2, xmm1
shufps xmm1, xmm1, 0x55
movsd xmm5, qword [edx]
movlhps xmm5, xmm5
mov eax, dword [ebp + 8]
movsd xmm4, qword [eax]
movaps xmm6, xmm4
movlhps xmm6, xmm4
mulps xmm5, xmm2
addps xmm5, xmm6
movups xmmword [edx + edi*8], xmm5
movsd xmm5, qword [edx]
mulps xmm5, xmm1
movaps xmm6, xmm4
subps xmm6, xmm5
movlps qword [edx + edi*8 + 0x10], xmm6
movsd xmm5, qword [edx]
addss xmm3, xmm7
unpcklps xmm3, xmm3
mulps xmm3, xmm5
subps xmm4, xmm3
movlps qword [edx + edi*8 + 0x18], xmm4
movsd xmm3, qword [eax + edi*8 - 8]
movd xmm4, dword [edx + edi*8 - 4]
punpckldq xmm0, xmm4
punpcklqdq xmm0, xmm0
mulps xmm0, xmm2
movlhps xmm3, xmm3
movaps xmm2, xmm3
addps xmm2, xmm0
mov eax, dword [esi + 0x24]
movups xmmword [eax + ecx], xmm2
shufps xmm0, xmm0, 0x4e
subps xmm3, xmm0
movups xmmword [eax + ecx + 0x10], xmm3
mov ecx, dword [esi + 0x10]
addss xmm7, dword [0x100340c4]
mov eax, dword [esi + 0xc]
mov edx, dword [eax + 0x30]
shufps xmm7, xmm1, 0
neg ecx
mov dword [esi + 0x10], ecx
mov ecx, 1
movaps xmm0, xmmword [0x100340d0]
movss xmm1, dword [0x10034e2c]
movss xmm2, dword [0x10034020]
movss xmm3, dword [0x10034bd4]
mov ebx, dword [esi + 0xc]
jmp 0x100234d7
movlhps xmm4, xmm4
mulps xmm4, xmm7
mov eax, dword [ebp + 8]
movsd xmm5, qword [eax + ecx*8]
shl ecx, 5
movlhps xmm5, xmm5
movaps xmm6, xmm5
addps xmm6, xmm4
mov eax, dword [esi + 0x24]
movups xmmword [eax + ecx], xmm6
shufps xmm4, xmm4, 0x4e
subps xmm5, xmm4
movups xmmword [eax + ecx + 0x10], xmm5
mov eax, dword [esi + 8]
inc eax
mov dword [esi + 0x3c], eax
mov ecx, dword [ebx + 0x38]
mov word [ecx], ax
lea eax, [edx + 1]
mov dword [esi + 0x38], eax
mov edi, dword [ebx + 0x38]
mov word [edi + 2], ax
lea eax, [edx + 2]
mov dword [esi + 0x20], eax
mov ecx, dword [ebx + 0x38]
mov word [ecx + 4], ax
mov ecx, dword [ebx + 0x38]
mov word [ecx + 6], ax
mov eax, dword [esi + 8]
lea eax, [eax + 2]
mov dword [esi + 0x34], eax
mov ecx, dword [ebx + 0x38]
mov word [ecx + 8], ax
mov ecx, dword [ebx + 0x38]
mov eax, dword [esi + 0x3c]
mov word [ecx + 0xa], ax
mov ecx, dword [ebx + 0x38]
mov word [ecx + 0xc], ax
mov ecx, dword [ebx + 0x38]
mov edi, dword [esi + 0x38]
mov word [ecx + 0xe], di
mov ecx, dword [ebx + 0x38]
mov word [ecx + 0x10], dx
mov ecx, dword [ebx + 0x38]
mov word [ecx + 0x12], dx
mov ecx, dword [ebx + 0x38]
mov edi, dword [esi + 8]
mov word [ecx + 0x14], di
mov ecx, dword [ebx + 0x38]
mov word [ecx + 0x16], ax
mov eax, dword [ebx + 0x38]
mov edi, dword [esi + 0x34]
mov word [eax + 0x18], di
mov eax, dword [ebx + 0x38]
mov ecx, dword [esi + 0x20]
mov word [eax + 0x1a], cx
add edx, 3
mov eax, dword [ebx + 0x38]
mov word [eax + 0x1c], dx
mov eax, dword [ebx + 0x38]
mov word [eax + 0x1e], dx
mov edx, dword [esi + 8]
lea eax, [edx + 3]
mov ecx, dword [ebx + 0x38]
mov word [ecx + 0x20], ax
mov eax, dword [ebx + 0x38]
mov word [eax + 0x22], di
add dword [ebx + 0x38], 0x24
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x1c]
add eax, ecx
inc eax
inc ecx
cmp eax, 1
mov eax, dword [ebp + 0xc]
mov dword [esi + 8], eax
je 0x10023540
cmp dword [ebp + 0xc], ecx
jne 0x100234f0
mov edi, ecx
xor ecx, ecx
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x30]
mov dword [esi + 8], eax
jmp 0x100234f8
lea eax, [edx + 4]
mov dword [esi + 8], eax
mov edi, ecx
mov eax, dword [esi + 0x18]
mov dword [esi + 0x1c], edi
movsd xmm5, qword [eax + edi*8 - 8]
movsd xmm4, qword [eax + ecx*8]
addps xmm4, xmm5
mulps xmm4, xmm0
movaps xmm6, xmm4
mulps xmm6, xmm4
movaps xmm5, xmm6
shufps xmm5, xmm6, 0x55
addss xmm5, xmm6
ucomiss xmm5, xmm1
jbe 0x100233e0
movaps xmm6, xmm2
divss xmm6, xmm5
minss xmm6, xmm3
shufps xmm6, xmm6, 0
mulps xmm4, xmm6
jmp 0x100233e0
cmp dword [ebp + 0xc], 0
mov edx, dword [esi + 0x14]
jle 0x10023866
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x34]
mov eax, dword [esi + 0x18]
mov edi, dword [ebp + 0xc]
lea eax, [eax + edi*8]
add eax, 0x18
mov ebx, dword [esi + 0xc]
nop word cs:[eax + eax]
movsd xmm0, qword [eax - 0x18]
movsd qword [ecx], xmm0
mov ecx, dword [ebx + 0x34]
mov dword [ecx + 0xc], edx
mov edx, dword [esi + 0x2c]
mov dword [ecx + 8], edx
mov ecx, dword [ebx + 0x34]
mov edi, dword [esi + 0x28]
mov dword [ecx + 0x10], edi
mov ecx, dword [ebx + 0x34]
movsd xmm0, qword [eax - 0x10]
movsd qword [ecx + 0x14], xmm0
mov ecx, dword [ebx + 0x34]
mov edi, dword [esi + 0x14]
mov dword [ecx + 0x20], edi
mov dword [ecx + 0x1c], edx
mov ecx, dword [ebx + 0x34]
mov edi, dword [ebp + 0x10]
mov dword [ecx + 0x24], edi
mov ecx, dword [ebx + 0x34]
movsd xmm0, qword [eax - 8]
movsd qword [ecx + 0x28], xmm0
mov ecx, dword [ebx + 0x34]
mov edi, dword [esi + 0x14]
mov dword [ecx + 0x34], edi
mov dword [ecx + 0x30], edx
mov ecx, dword [ebx + 0x34]
mov edi, dword [ebp + 0x10]
mov dword [ecx + 0x38], edi
mov ecx, dword [ebx + 0x34]
movsd xmm0, qword [eax]
movsd qword [ecx + 0x3c], xmm0
mov ecx, dword [ebx + 0x34]
mov edi, dword [esi + 0x14]
mov dword [ecx + 0x48], edi
mov dword [ecx + 0x44], edx
mov edx, dword [esi + 0x14]
mov ecx, dword [ebx + 0x34]
mov edi, dword [esi + 0x28]
mov dword [ecx + 0x4c], edi
mov ecx, dword [ebx + 0x34]
add ecx, 0x50
mov dword [ebx + 0x34], ecx
add eax, 0x20
dec dword [esi + 8]
jne 0x10023570
jmp 0x10023866
movsd xmm1, qword [edx]
movlhps xmm2, xmm1
mov eax, dword [ebp + 8]
movsd xmm3, qword [eax]
movlhps xmm4, xmm3
subps xmm4, xmm2
addps xmm3, xmm1
shufps xmm3, xmm4, 0xe4
movups xmmword [edx + edi*8], xmm3
mov ecx, dword [esi + 0x20]
shl ecx, 4
movsd xmm1, qword [eax + edi*8 - 8]
movlhps xmm2, xmm1
movd xmm3, dword [edx + edi*8 - 4]
punpckldq xmm0, xmm3
punpcklqdq xmm3, xmm0
subps xmm2, xmm3
addps xmm0, xmm1
shufps xmm0, xmm2, 0xe4
mov eax, dword [esi + 0x24]
movups xmmword [eax + ecx], xmm0
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x30]
mov dword [esi + 0x1c], eax
neg ecx
mov dword [esi + 0x10], ecx
mov edx, 1
movaps xmm0, xmmword [0x100340d0]
movss xmm1, dword [0x10034e2c]
movss xmm2, dword [0x10034020]
movss xmm3, dword [0x10034bd4]
mov ebx, dword [esi + 0xc]
jmp 0x1002373d
movlhps xmm5, xmm4
movsd xmm6, qword [ecx + edi*8]
shl edi, 4
movlhps xmm7, xmm6
subps xmm7, xmm5
addps xmm6, xmm4
shufps xmm6, xmm7, 0xe4
mov ecx, dword [esi + 0x24]
movups xmmword [ecx + edi], xmm6
mov edi, dword [ebx + 0x38]
mov ecx, dword [esi + 8]
mov word [edi], cx
mov edi, dword [ebx + 0x38]
mov eax, dword [esi + 0x1c]
mov word [edi + 2], ax
lea edi, [eax + 2]
mov edx, dword [ebx + 0x38]
mov word [edx + 4], di
mov edx, dword [ebx + 0x38]
mov word [edx + 6], di
lea edx, [ecx + 2]
mov edi, dword [ebx + 0x38]
mov word [edi + 8], dx
mov edx, dword [ebx + 0x38]
mov word [edx + 0xa], cx
lea edi, [ecx + 1]
mov edx, dword [ebx + 0x38]
mov word [edx + 0xc], di
mov edx, eax
inc edx
mov ecx, dword [ebx + 0x38]
mov word [ecx + 0xe], dx
mov ecx, dword [ebx + 0x38]
mov word [ecx + 0x10], ax
mov ecx, dword [ebx + 0x38]
mov word [ecx + 0x12], ax
mov ecx, dword [ebx + 0x38]
mov eax, dword [esi + 8]
mov word [ecx + 0x14], ax
mov ecx, dword [ebx + 0x38]
mov word [ecx + 0x16], di
add dword [ebx + 0x38], 0x18
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x20]
add ecx, edx
inc ecx
inc edx
mov dword [esi + 0x1c], eax
cmp ecx, 1
je 0x100237b3
cmp dword [ebp + 0xc], edx
mov eax, dword [esi + 0x18]
jne 0x10023760
xor edi, edi
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx + 0x30]
mov dword [esi + 8], ecx
jmp 0x1002376b
mov ecx, dword [esi + 0x1c]
add ecx, 3
mov dword [esi + 8], ecx
mov edi, edx
mov ecx, dword [ebp + 8]
mov dword [esi + 0x20], edx
movsd xmm5, qword [eax + edx*8 - 8]
movsd xmm4, qword [eax + edi*8]
addps xmm4, xmm5
mulps xmm4, xmm0
movaps xmm6, xmm4
mulps xmm6, xmm4
movaps xmm5, xmm6
shufps xmm5, xmm6, 0x55
addss xmm5, xmm6
ucomiss xmm5, xmm1
jbe 0x100236a0
movaps xmm6, xmm2
divss xmm6, xmm5
minss xmm6, xmm3
shufps xmm6, xmm6, 0
mulps xmm4, xmm6
jmp 0x100236a0
cmp dword [ebp + 0xc], 0
mov ebx, dword [ebp + 8]
jle 0x10023866
mov eax, dword [esi + 0xc]
mov edx, dword [eax + 0x34]
mov eax, dword [esi + 0x18]
mov ecx, dword [ebp + 0xc]
lea edi, [eax + ecx*8]
add edi, 8
xor ecx, ecx
nop word cs:[eax + eax]
movsd xmm0, qword [ebx + ecx*8]
movsd qword [edx], xmm0
mov ebx, dword [esi + 0xc]
mov edx, dword [ebx + 0x34]
mov eax, dword [esi + 0x14]
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x2c]
mov dword [edx + 8], eax
mov edx, dword [ebx + 0x34]
mov eax, dword [ebp + 0x10]
mov dword [edx + 0x10], eax
mov edx, dword [ebx + 0x34]
movsd xmm0, qword [edi - 8]
movsd qword [edx + 0x14], xmm0
mov edx, dword [ebx + 0x34]
mov eax, dword [esi + 0x14]
mov dword [edx + 0x20], eax
mov eax, dword [esi + 0x2c]
mov dword [edx + 0x1c], eax
mov edx, dword [ebx + 0x34]
mov eax, dword [esi + 0x28]
mov dword [edx + 0x24], eax
mov edx, dword [ebx + 0x34]
movsd xmm0, qword [edi]
movsd qword [edx + 0x28], xmm0
mov edx, dword [ebx + 0x34]
mov eax, dword [esi + 0x14]
mov dword [edx + 0x34], eax
mov eax, dword [esi + 0x2c]
mov dword [edx + 0x30], eax
mov edx, dword [ebx + 0x34]
mov eax, dword [esi + 0x28]
mov dword [edx + 0x38], eax
mov edx, dword [ebx + 0x34]
add edx, 0x3c
mov dword [ebx + 0x34], edx
mov ebx, dword [ebp + 8]
inc ecx
add edi, 0x10
cmp dword [ebp + 0xc], ecx
jne 0x100237e0
movzx eax, word [esi + 0x30]
mov ecx, dword [esi + 0xc]
add dword [ecx + 0x30], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x14