Function at 0x10221060
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push esi
push edi
push ebx
sub esp, 0x80
mov edi, dword [esp + 0x90]
mov esi, dword [esp + 0x94]
cmp dword [esp + 0x9c], 0
jle 0x10221553
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1c], 0
movss xmm0, dword [0x103a7e08]
lea edx, [ecx*8]
lea eax, [eax + 0x20]
mov dword [esp + 0x18], eax
lea ebx, [edx + ecx*4]
mov edx, ecx
mov eax, ecx
shl edx, 4
sar eax, 1
mov dword [esp + 0xc], ebx
lea ebx, [ecx + ecx - 3]
mov dword [esp + 0x20], ebx
lea ebx, [ecx + ecx*4]
lea ecx, [ecx*8 - 4]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], eax
mov dword [esp], edx
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x30], edi
cmp dword [esp + 0x24], 0
lea ebx, [edi + ecx*4]
movss xmm5, dword [ebx]
lea edx, [edi + ecx*8]
movaps xmm6, xmm5
lea ecx, [eax + edi]
mov eax, dword [esp]
mov dword [esp + 0x40], ecx
movss xmm3, dword [edx]
movaps xmm4, xmm3
lea edi, [eax + edi]
mov dword [esp + 0x38], edi
lea eax, [esi + eax - 4]
movss xmm7, dword [edi]
mov edi, ecx
addss xmm6, xmm7
subss xmm5, xmm7
mulss xmm0, xmm6
movss xmm2, dword [edi]
mov edi, dword [esp + 0x30]
addss xmm4, xmm2
subss xmm3, xmm2
movss xmm2, dword [edi]
movaps xmm1, xmm2
addss xmm0, xmm2
addss xmm1, xmm6
mov ecx, dword [esp + 0x14]
addss xmm1, xmm4
movss dword [esi], xmm1
lea ecx, [ecx + esi]
movss xmm1, dword [0x103a7e0c]
movaps xmm7, xmm1
mulss xmm7, xmm4
mulss xmm6, xmm1
addss xmm0, xmm7
addss xmm2, xmm6
movss dword [ecx], xmm0
movss xmm0, dword [0x103a7e10]
movss xmm7, dword [0x103a7e14]
mulss xmm0, xmm5
mulss xmm7, xmm3
mulss xmm5, dword [0x103a7e14]
mulss xmm3, dword [0x103a7e10]
addss xmm0, xmm7
subss xmm5, xmm3
movss dword [ecx + 4], xmm0
movss xmm0, dword [0x103a7e08]
mulss xmm4, xmm0
mov dword [esp + 0x3c], ebx
addss xmm2, xmm4
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
movss dword [eax], xmm2
movss dword [eax + 4], xmm5
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
jle 0x10221533
mov edx, 1
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edi
mov eax, edx
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x3c]
movss xmm6, dword [ecx]
movss xmm4, dword [ecx + 4]
movss xmm1, dword [ebx + eax*4]
movaps xmm5, xmm4
movss xmm3, dword [ebx + eax*4 + 4]
movaps xmm0, xmm1
mulss xmm0, xmm6
mulss xmm6, xmm3
mulss xmm1, xmm4
mulss xmm5, xmm3
addss xmm6, xmm1
subss xmm0, xmm5
mov edi, dword [esp + 0x44]
movss xmm4, dword [ecx + 8]
movss xmm3, dword [ecx + 0xc]
movaps xmm7, xmm4
movss xmm1, dword [edi + eax*4]
movaps xmm5, xmm3
movss xmm2, dword [edi + eax*4 + 4]
mulss xmm7, xmm1
mulss xmm4, xmm2
mulss xmm1, xmm3
mulss xmm5, xmm2
addss xmm4, xmm1
subss xmm7, xmm5
mov ebx, dword [esp + 0x40]
movss dword [esp + 0x4c], xmm4
movss xmm4, dword [ecx + 0x10]
movss xmm2, dword [ecx + 0x14]
movss dword [esp + 0x48], xmm7
movaps xmm7, xmm4
movss xmm3, dword [ebx + eax*4]
movaps xmm5, xmm2
movss xmm1, dword [ebx + eax*4 + 4]
mulss xmm7, xmm3
mulss xmm5, xmm1
mulss xmm4, xmm1
mulss xmm3, xmm2
subss xmm7, xmm5
addss xmm4, xmm3
mov edi, dword [esp + 0x38]
movss dword [esp + 0x50], xmm7
movss xmm7, dword [ecx + 0x18]
movss dword [esp + 0x54], xmm4
movaps xmm1, xmm7
movss xmm4, dword [edi + eax*4]
movss xmm2, dword [edi + eax*4 + 4]
movss xmm3, dword [ecx + 0x1c]
add ecx, 0x20
mulss xmm1, xmm4
movaps xmm5, xmm3
mulss xmm7, xmm2
mulss xmm4, xmm3
mulss xmm5, xmm2
addss xmm7, xmm4
subss xmm1, xmm5
movaps xmm4, xmm6
movaps xmm5, xmm0
movss xmm3, dword [esp + 0x54]
subss xmm6, xmm7
subss xmm0, xmm1
addss xmm4, xmm7
addss xmm5, xmm1
movss dword [esp + 0x64], xmm6
movss xmm7, dword [esp + 0x48]
movss xmm6, dword [esp + 0x50]
movss dword [esp + 0x60], xmm0
movaps xmm0, xmm7
movss xmm1, dword [esp + 0x4c]
subss xmm7, xmm6
addss xmm0, xmm6
movss dword [esp + 0x48], xmm7
movaps xmm2, xmm1
movss xmm7, dword [0x103a7e08]
addss xmm2, xmm3
subss xmm1, xmm3
movaps xmm6, xmm7
movss dword [esp + 0x58], xmm5
mulss xmm6, xmm5
movss xmm5, dword [0x103a7e0c]
movaps xmm3, xmm5
mulss xmm3, xmm0
mov ebx, dword [esp + 0x30]
addss xmm6, xmm3
movss dword [esp + 0x5c], xmm4
movss dword [esp + 0x68], xmm2
movss xmm3, dword [0x103a7e14]
mov edi, dword [esp + 0x28]
addss xmm6, dword [ebx + eax*4]
movss dword [esp + 0x6c], xmm6
movaps xmm6, xmm7
mulss xmm6, xmm4
movaps xmm4, xmm5
mulss xmm4, xmm2
movss xmm2, dword [0x103a7e10]
addss xmm6, xmm4
movaps xmm4, xmm3
addss xmm6, dword [ebx + eax*4 + 4]
mulss xmm4, xmm1
mulss xmm1, xmm2
movss dword [esp + 0x70], xmm6
movaps xmm6, xmm2
mulss xmm6, dword [esp + 0x64]
addss xmm6, xmm4
movaps xmm4, xmm3
mulss xmm4, dword [esp + 0x48]
movss dword [esp + 0x74], xmm6
movaps xmm6, xmm2
mulss xmm6, dword [esp + 0x60]
addss xmm6, xmm4
movaps xmm4, xmm7
mulss xmm4, xmm0
movss dword [esp + 0x78], xmm6
movaps xmm6, xmm5
mulss xmm6, dword [esp + 0x58]
addss xmm6, xmm4
movss xmm4, dword [esp + 0x5c]
mulss xmm5, xmm4
addss xmm6, dword [ebx + eax*4]
movss dword [esp + 0x7c], xmm6
movss xmm6, dword [esp + 0x68]
mulss xmm7, xmm6
addss xmm4, xmm6
addss xmm5, xmm7
movss xmm7, dword [esp + 0x64]
mulss xmm7, xmm3
addss xmm5, dword [ebx + eax*4 + 4]
subss xmm7, xmm1
movss xmm1, dword [esp + 0x60]
mulss xmm1, xmm3
movss xmm3, dword [esp + 0x48]
mulss xmm3, xmm2
movss xmm2, dword [esp + 0x58]
subss xmm1, xmm3
addss xmm2, xmm0
movss xmm3, dword [esp + 0x74]
movss xmm6, dword [esp + 0x70]
addss xmm2, dword [ebx + eax*4]
movss dword [esi + eax*4], xmm2
movss xmm2, dword [esp + 0x6c]
movaps xmm0, xmm2
addss xmm4, dword [ebx + eax*4 + 4]
subss xmm0, xmm3
addss xmm2, xmm3
movss dword [esi + eax*4 + 4], xmm4
movaps xmm4, xmm6
mov ebx, dword [esp + 0x2c]
addss xmm4, dword [esp + 0x78]
movss dword [ebx + eax*4 + 4], xmm0
movss xmm0, dword [esp + 0x7c]
movss dword [ebx + eax*4 + 8], xmm4
movaps xmm4, xmm0
subss xmm4, xmm7
addss xmm0, xmm7
movss dword [edi + eax*4 + 4], xmm4
movaps xmm4, xmm5
addss xmm4, xmm1
subss xmm1, xmm5
movss dword [edi + eax*4 + 8], xmm4
add eax, 2
movss dword [ebx + edx*4 + 8], xmm1
movss xmm1, dword [esp + 0x78]
movss dword [ebx + edx*4 + 4], xmm0
subss xmm1, xmm6
mov ebx, dword [esp + 0x34]
inc ebx
movss dword [esi + edx*4], xmm2
movss dword [esi + edx*4 + 4], xmm1
add edx, 0xfffffffe
cmp ebx, dword [esp + 0x24]
jle 0x1022120d
movss xmm0, dword [0x103a7e08]
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
inc edx
mov dword [esp + 0x1c], edx
lea edi, [edi + eax*4]
cmp edx, dword [esp + 0x9c]
lea esi, [esi + eax*4]
jl 0x102210e2
add esp, 0x80
pop ebx
pop edi
pop esi
ret