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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
mov eax, 0x6004
call fcn.00497d00
mov edi, dword [ebp + 8]
mov eax, dword [0x52cfb4]
xor eax, esp
mov edx, dword [edi + 0x14f2c]
mov dword [esp + 0x6000], eax
mov dword [esp + 0x30], edx
mov edx, dword [edi + 0x90]
test edx, edx
je 0x43a324
mov eax, dword [edi + 0x14f30]
mov dword [esp + 0x3c], eax
jmp 0x43a32c
mov dword [esp + 0x3c], 0
movss xmm0, dword [edi + 0xc4]
pxor xmm1, xmm1
comiss xmm0, xmm1
jbe 0x43a358
mov eax, dword [edi + 0x14f28]
movss xmm0, dword [eax + 8]
mulss xmm0, dword [edi + 0xcc]
movss dword [esp + 0x2c], xmm0
jmp 0x43a366
movss xmm0, dword [0x4c29a0]
movss dword [esp + 0x2c], xmm0
pxor xmm0, xmm0
movdqu xmmword [esp + 0x4b50], xmm0
movdqu xmmword [esp + 0x4b60], xmm0
movdqu xmmword [esp + 0x4b70], xmm0
movdqu xmmword [esp + 0x4b80], xmm0
mov eax, dword [edi + 0xb8]
mov esi, 4
cmp eax, 1
movups xmm0, xmmword [edi + 0x6800]
mov ebx, dword [edi + 0x4c]
cmovne esi, ebx
mov ecx, 0x3c0
movups xmmword [esp + 0x2ad0], xmm0
movups xmm0, xmmword [edi + ecx + 0x6430]
movups xmmword [esp + ecx + 0x2700], xmm0
movups xmm1, xmmword [edi + ecx + 0x6420]
movups xmmword [esp + ecx + 0x26f0], xmm1
movups xmm2, xmmword [edi + ecx + 0x6410]
movups xmmword [esp + ecx + 0x26e0], xmm2
movups xmm3, xmmword [edi + ecx + 0x6400]
movups xmmword [esp + ecx + 0x26d0], xmm3
sub ecx, 0x40
jne 0x43a3b6
test edx, edx
je 0x43a40b
mov edx, dword [edi + 0x14f30]
mov dword [esp + 0x28], edx
jmp 0x43a413
mov dword [esp + 0x28], 0
cmp eax, 1
mov eax, 4
lea edx, [esp + 0x4b90]
cmovne eax, ebx
mov dword [esp + 0x34], eax
push 0x1200
push 0
push edx
call fcn.0048a380
add esp, 0xc
test ebx, ebx
jle 0x43a7ad
imul eax, dword [ebp + 0x10], 0x3d0
xor ecx, ecx
mov edx, dword [ebp + 0x14]
add edx, eax
mov dword [esp + 0x20], edx
add eax, dword [ebp + 0x18]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0xb8], esi
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x10]
mov edx, dword [ebp + 0xc]
xor esi, esi
mov ebx, dword [esp + 0x24]
mov edx, dword [edx + ecx*4]
lea ebx, [esp + ebx + 0x4b90]
movups xmm5, xmmword [edx + esi*4 + 0x634]
movups xmm4, xmmword [edx + esi*4 + 0x688]
movups xmm0, xmmword [edx + esi*4 + 0x65c]
movups xmm3, xmmword [edx + esi*4 + 0x640]
movups xmm1, xmmword [edx + esi*4 + 0x638]
movups xmm6, xmmword [edx + esi*4 + 0x684]
movups xmm2, xmmword [edx + esi*4 + 0x63c]
movups xmm7, xmmword [edx + esi*4 + 0x674]
addps xmm5, xmm4
addps xmm1, xmm6
movups xmm4, xmmword [edx + esi*4 + 0x680]
mulps xmm5, xmmword [0x4c25d0]
addps xmm2, xmm4
mulps xmm1, xmmword [0x4c25e0]
movups xmm6, xmmword [edx + esi*4 + 0x678]
mulps xmm2, xmmword [0x4c25f0]
addps xmm0, xmm5
movups xmm5, xmmword [edx + esi*4 + 0x67c]
movups xmm4, xmmword [edx + esi*4 + 0x650]
addps xmm3, xmm5
addps xmm0, xmm2
movups xmm2, xmmword [edx + esi*4 + 0x644]
mulps xmm3, xmmword [str._a__a__a__a_Q_]
addps xmm2, xmm6
movups xmm6, xmmword [edx + esi*4 + 0x66c]
movups xmm5, xmmword [edx + esi*4 + 0x64c]
mulps xmm2, xmmword [0x4c2610]
addps xmm1, xmm3
addps xmm4, xmm6
movups xmm3, xmmword [edx + esi*4 + 0x648]
mulps xmm4, xmmword [0x4c2640]
addps xmm0, xmm2
addps xmm3, xmm7
movups xmm7, xmmword [edx + esi*4 + 0x670]
mulps xmm3, xmmword [0x4c2620]
addps xmm5, xmm7
movups xmm2, xmmword [edx + esi*4 + 0x664]
mulps xmm5, xmmword [0x4c2630]
addps xmm1, xmm3
movups xmm3, xmmword [edx + esi*4 + 0x668]
addps xmm1, xmm4
addps xmm0, xmm5
movups xmm4, xmmword [edx + esi*4 + 0x654]
addps xmm4, xmm3
nop
movups xmm3, xmmword [edx + esi*4 + 0x658]
mulps xmm4, xmmword [0x4c2650]
addps xmm3, xmm2
addps xmm0, xmm4
mulps xmm3, xmmword [0x4c2660]
addps xmm1, xmm3
addps xmm0, xmm1
movups xmmword [ebx + esi*4], xmm0
add esi, 4
cmp esi, 0x240
jb 0x43a488
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
lea edx, [edx + edi + 0x5440]
mov edi, dword [edx + 0x14c0]
lea esi, [ebx + eax]
lea ebx, [ebx + eax + 0xf4]
mov dword [ebx + 0xf0], edi
mov edi, 0xf0
movups xmm0, xmmword [edx + edi + 0x13c0]
movups xmmword [ebx + edi - 0x10], xmm0
movups xmm1, xmmword [edx + edi + 0x13b0]
movups xmmword [ebx + edi - 0x20], xmm1
movups xmm2, xmmword [edx + edi + 0x13a0]
movups xmmword [ebx + edi - 0x30], xmm2
movups xmm3, xmmword [edx + edi + 0x1390]
movups xmmword [ebx + edi - 0x40], xmm3
movups xmm4, xmmword [edx + edi + 0x1380]
movups xmmword [ebx + edi - 0x50], xmm4
sub edi, 0x50
jne 0x43a5f3
mov ebx, dword [edx + 0x10f0]
mov dword [esi + 0xf0], ebx
mov ebx, 0xf0
movups xmm0, xmmword [edx + ebx + 0xff0]
movups xmmword [esi + ebx - 0x10], xmm0
movups xmm1, xmmword [edx + ebx + 0xfe0]
movups xmmword [esi + ebx - 0x20], xmm1
movups xmm2, xmmword [edx + ebx + 0xfd0]
movups xmmword [esi + ebx - 0x30], xmm2
movups xmm3, xmmword [edx + ebx + 0xfc0]
movups xmmword [esi + ebx - 0x40], xmm3
movups xmm4, xmmword [edx + ebx + 0xfb0]
movups xmmword [esi + ebx - 0x50], xmm4
sub ebx, 0x50
jne 0x43a64a
cmp dword [esp + 0x34], 2
jle 0x43a783
mov ebx, dword [esp + 0x18]
mov edi, dword [edx + 0x16a8]
lea esi, [ebx + eax]
lea ebx, [ebx + eax + 0xf4]
mov dword [ebx + 0xf0], edi
mov edi, 0xf0
movups xmm0, xmmword [edx + edi + 0x15a8]
movups xmmword [ebx + edi - 0x10], xmm0
movups xmm1, xmmword [edx + edi + 0x1598]
movups xmmword [ebx + edi - 0x20], xmm1
movups xmm2, xmmword [edx + edi + 0x1588]
movups xmmword [ebx + edi - 0x30], xmm2
movups xmm3, xmmword [edx + edi + 0x1578]
movups xmmword [ebx + edi - 0x40], xmm3
movups xmm4, xmmword [edx + edi + 0x1568]
movups xmmword [ebx + edi - 0x50], xmm4
sub edi, 0x50
jne 0x43a6ba
mov ebx, dword [edx + 0x12d8]
mov dword [esi + 0xf0], ebx
mov ebx, 0xf0
movups xmm0, xmmword [edx + ebx + 0x11d8]
movups xmmword [esi + ebx - 0x10], xmm0
movups xmm1, xmmword [edx + ebx + 0x11c8]
movups xmmword [esi + ebx - 0x20], xmm1
movups xmm2, xmmword [edx + ebx + 0x11b8]
movups xmmword [esi + ebx - 0x30], xmm2
movups xmm3, xmmword [edx + ebx + 0x11a8]
movups xmmword [esi + ebx - 0x40], xmm3
movups xmm4, xmmword [edx + ebx + 0x1198]
movups xmmword [esi + ebx - 0x50], xmm4
sub ebx, 0x50
jne 0x43a711
inc ecx
add eax, 0x1e8
add dword [esp + 0x24], 0x900
add dword [esp + 0x1c], 0xf4
cmp ecx, dword [esp + 0x14]
jb 0x43a475
mov esi, dword [esp + 0xb8]
mov edi, dword [ebp + 8]
jmp 0x43a7b8
inc ecx
add eax, 0x1e8
add dword [esp + 0x24], 0x900
add dword [esp + 0x1c], 0xf4
cmp ecx, dword [esp + 0x14]
jb 0x43a475
mov esi, dword [esp + 0xb8]
mov edi, dword [ebp + 8]
cmp dword [esp + 0x34], 0
jle 0x43e4ea
pxor xmm0, xmm0
movdqu xmmword [esp + 0x50], xmm0
mov ebx, dword [ebp + 0x10]
xor edx, edx
shl ebx, 5
xor eax, eax
mov ecx, dword [ebp + 0x24]
add ebx, dword [esp + 0x28]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x4b90]
movss xmm0, dword [0x4c2954]
mov dword [esp + 0x10], ebx
mov dword [ecx - 0x4ad8], esi
mov eax, dword [esp + 0x18]
mov edi, dword [ebp + 8]
xor ebx, ebx
mov esi, dword [esp + 0x1c]
movss xmm7, dword [esp + 0x50]
mov dword [esp + 0x14], edx
movss xmm5, dword [esi + edi + 0x6c14]
movss xmm6, dword [esi + edi + 0x6c18]
movaps xmm2, xmm5
movss xmm4, dword [esi + edi + 0x6c10]
movaps xmm3, xmm6
movaps xmm1, xmm4
addss xmm7, xmm4
divss xmm2, dword [esi + edi + 0x6c0c]
divss xmm3, xmm4
divss xmm1, dword [esi + edi + 0x6c08]
movss dword [esp + 0xc0], xmm2
lea esi, [esi + edi + 0x5440]
movss dword [esp + 0xc4], xmm3
addss xmm7, xmm5
movss dword [esp + 0x7c], xmm4
addss xmm7, xmm6
movss dword [esp + 0xbc], xmm1
movss dword [esp + 0x80], xmm5
movss dword [esp + 0x84], xmm6
movss dword [esp + 0x50], xmm7
mov dword [esp + 0x18], eax
mov dword [esp + 0x44], esi
movss xmm2, dword [0x4c29a0]
movss xmm3, dword [0x4c294c]
mov edx, ecx
lea esi, [ecx + 0x100]
cmp ecx, esi
jae 0x43a9a9
sub esi, ecx
lea eax, [esi + 3]
sar eax, 1
shr eax, 0x1e
lea eax, [eax + esi + 3]
sar eax, 2
cmp eax, 8
jl 0x43afc2
mov edi, ecx
and edi, 0xf
je 0x43a8f2
test edi, 3
jne 0x43afc2
neg edi
add edi, 0x10
shr edi, 2
lea esi, [edi + 8]
cmp eax, esi
jl 0x43afc2
mov esi, eax
movaps xmm1, xmm2
sub esi, edi
and esi, 7
neg esi
add esi, eax
test edi, edi
jbe 0x43a942
mov dword [esp + 0x38], 0
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x38]
movss xmm4, dword [ecx + ebx*4]
movaps xmm5, xmm1
andps xmm4, xmmword [0x4c26a0]
inc ebx
movaps xmm1, xmm4
comiss xmm1, xmm5
ja 0x43a93a
movaps xmm1, xmm5
cmp ebx, edi
jb 0x43a91f
mov ebx, dword [esp + 0x40]
shufps xmm1, xmm1, 0
movups xmm4, xmmword [ecx + edi*4]
andps xmm4, xmmword [0x4c2690]
maxps xmm4, xmm1
movups xmm1, xmmword [ecx + edi*4 + 0x10]
add edi, 8
andps xmm1, xmmword [0x4c2690]
maxps xmm1, xmm4
cmp edi, esi
jb 0x43a946
movaps xmm4, xmm1
lea ecx, [ecx + esi*4]
movhlps xmm4, xmm1
maxps xmm1, xmm4
movaps xmm5, xmm1
shufps xmm5, xmm1, 0xf5
maxss xmm1, xmm5
cmp esi, eax
jae 0x43a9ac
movss xmm4, dword [edx + esi*4]
movaps xmm5, xmm1
andps xmm4, xmmword [0x4c26a0]
inc esi
movaps xmm1, xmm4
comiss xmm1, xmm5
ja 0x43a9a0
movaps xmm1, xmm5
cmp esi, eax
jb 0x43a985
lea ecx, [edx + esi*4]
jmp 0x43a9ac
movaps xmm1, xmm2
mov eax, 0x55555556
imul ebx
movss xmm4, dword [esp + edx*4 + 0x54]
mov esi, dword [esp + 0x44]
addss xmm4, xmm1
movss xmm5, dword [esp + ebx*4 + 0x80]
movss dword [esp + ebx*4 + 0x88], xmm1
movss dword [esi + ebx*4 + 0x17b8], xmm1
movss dword [esp + edx*4 + 0x54], xmm4
comiss xmm1, xmm5
jbe 0x43a9ed
divss xmm1, xmm5
jmp 0x43aa06
mulss xmm1, xmm3
comiss xmm5, xmm1
jbe 0x43aa02
movaps xmm4, xmm1
movaps xmm1, xmm5
divss xmm1, xmm4
jmp 0x43aa06
pxor xmm1, xmm1
movss dword [esp + ebx*4 + 0xc8], xmm1
inc ebx
cmp ebx, 9
jb 0x43a8ad
movss xmm2, dword [esp + 0x88]
movss xmm3, dword [esp + 0x8c]
movss xmm1, dword [esp + 0x90]
addss xmm2, xmm3
mov edx, dword [esp + 0x14]
addss xmm2, xmm1
mulss xmm1, dword [0x4c2950]
mov eax, dword [esp + 0x18]
comiss xmm2, xmm1
jbe 0x43aa70
mulss xmm3, dword [0x4c2950]
comiss xmm2, xmm3
movss xmm1, dword [0x4c295c]
ja 0x43aa78
movss xmm1, dword [0x4c2948]
jmp 0x43aa78
movss xmm1, dword [0x4c29a0]
movss xmm2, dword [esp + 0x94]
movss xmm3, dword [esp + 0x98]
movss dword [esp + eax + 0x5d90], xmm1
addss xmm2, xmm3
movss xmm1, dword [esp + 0x9c]
addss xmm2, xmm1
mulss xmm1, dword [0x4c2950]
comiss xmm2, xmm1
jbe 0x43aad0
mulss xmm3, dword [0x4c2950]
comiss xmm2, xmm3
movss xmm1, dword [0x4c295c]
ja 0x43aad8
movss xmm1, dword [0x4c2948]
jmp 0x43aad8
movss xmm1, dword [0x4c29a0]
movss xmm2, dword [esp + 0xa0]
movss xmm3, dword [esp + 0xa4]
movss dword [esp + eax + 0x5d94], xmm1
addss xmm2, xmm3
movss xmm1, dword [esp + 0xa8]
addss xmm2, xmm1
mulss xmm1, dword [0x4c2950]
comiss xmm2, xmm1
jbe 0x43ab30
mulss xmm3, dword [0x4c2950]
comiss xmm2, xmm3
movss xmm1, dword [0x4c295c]
ja 0x43ab38
movss xmm1, dword [0x4c2948]
jmp 0x43ab38
movss xmm1, dword [0x4c29a0]
movss dword [esp + eax + 0x5d98], xmm1
cmp dword [esp + 0x28], 0
je 0x43ac07
movss xmm2, dword [esp + 0xc0]
movss xmm3, dword [esp + 0xc4]
movss xmm4, dword [esp + 0xc8]
movss xmm5, dword [esp + 0xcc]
movss xmm6, dword [esp + 0xd0]
movss xmm7, dword [esp + 0xd4]
movss xmm1, dword [esp + 0xd8]
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x10]
maxss xmm2, dword [esp + 0xbc]
maxss xmm3, xmm2
movss xmm2, dword [esp + 0xdc]
maxss xmm4, xmm3
movss xmm3, dword [esp + 0xe4]
maxss xmm5, xmm4
movsd xmm4, qword [ebx + edx*8 + 0x301f8]
movsd qword [ecx + edx*8 + 0x30218], xmm4
maxss xmm6, xmm5
movss xmm5, dword [esp + 0xe8]
maxss xmm7, xmm6
maxss xmm1, xmm7
maxss xmm2, xmm1
movss xmm1, dword [esp + 0xe0]
maxss xmm1, xmm2
maxss xmm3, xmm1
maxss xmm5, xmm3
cvtss2sd xmm5, xmm5
movsd qword [ebx + edx*8 + 0x301f8], xmm5
mov ecx, dword [ebp + 8]
mov esi, edx
shl esi, 4
mov ebx, dword [ecx + 0x14f2c]
cmp dword [esp + esi + 0x4b50], 0
movss xmm1, dword [ebx + edx*4 + 0x2b50]
jne 0x43ac77
movss xmm2, dword [esp + 0xbc]
comiss xmm2, xmm1
jbe 0x43ac43
mov dword [esp + esi + 0x4b50], 1
jmp 0x43ac77
movss xmm2, dword [esp + 0xc0]
comiss xmm2, xmm1
jbe 0x43ac5e
mov dword [esp + esi + 0x4b50], 2
jmp 0x43ac77
movss xmm2, dword [esp + 0xc4]
comiss xmm2, xmm1
jbe 0x43ac77
mov dword [esp + esi + 0x4b50], 3
cmp dword [esp + esi + 0x4b54], 0
jne 0x43acd0
movss xmm2, dword [esp + 0xc8]
comiss xmm2, xmm1
jbe 0x43ac9c
mov dword [esp + esi + 0x4b54], 1
jmp 0x43acd0
movss xmm2, dword [esp + 0xcc]
comiss xmm2, xmm1
jbe 0x43acb7
mov dword [esp + esi + 0x4b54], 2
jmp 0x43acd0
movss xmm2, dword [esp + 0xd0]
comiss xmm2, xmm1
jbe 0x43acd0
mov dword [esp + esi + 0x4b54], 3
cmp dword [esp + esi + 0x4b58], 0
jne 0x43ad29
movss xmm2, dword [esp + 0xd4]
comiss xmm2, xmm1
jbe 0x43acf5
mov dword [esp + esi + 0x4b58], 1
jmp 0x43ad29
movss xmm2, dword [esp + 0xd8]
comiss xmm2, xmm1
jbe 0x43ad10
mov dword [esp + esi + 0x4b58], 2
jmp 0x43ad29
movss xmm2, dword [esp + 0xdc]
comiss xmm2, xmm1
jbe 0x43ad29
mov dword [esp + esi + 0x4b58], 3
cmp dword [esp + esi + 0x4b5c], 0
jne 0x43ad82
movss xmm2, dword [esp + 0xe0]
comiss xmm2, xmm1
jbe 0x43ad4e
mov dword [esp + esi + 0x4b5c], 1
jmp 0x43ad82
movss xmm2, dword [esp + 0xe4]
comiss xmm2, xmm1
jbe 0x43ad69
mov dword [esp + esi + 0x4b5c], 2
jmp 0x43ad82
movss xmm2, dword [esp + 0xe8]
comiss xmm2, xmm1
jbe 0x43ad82
mov dword [esp + esi + 0x4b5c], 3
movss xmm3, dword [esp + 0x50]
movss xmm2, dword [esp + 0x54]
movaps xmm1, xmm3
maxss xmm1, xmm2
comiss xmm0, xmm1
jbe 0x43ade7
movss xmm1, dword [0x4c2958]
mulss xmm1, xmm2
comiss xmm1, xmm3
jbe 0x43ade7
mulss xmm3, dword [0x4c2958]
comiss xmm3, xmm2
jbe 0x43ade7
mov ecx, dword [esp + esi + 0x4b50]
cmp ecx, dword [esp + esi + 0x4b54]
jg 0x43adda
mov dword [esp + esi + 0x4b50], 0
mov ecx, dword [esp + esi + 0x4b50]
mov dword [esp + esi + 0x4b54], 0
jmp 0x43adee
mov ecx, dword [esp + esi + 0x4b50]
movss xmm1, dword [esp + 0x58]
movaps xmm3, xmm2
maxss xmm3, xmm1
comiss xmm0, xmm3
jbe 0x43ae29
movss xmm3, dword [0x4c2958]
mulss xmm3, xmm1
comiss xmm3, xmm2
jbe 0x43ae29
mulss xmm2, dword [0x4c2958]
comiss xmm2, xmm1
jbe 0x43ae29
mov dword [esp + esi + 0x4b58], 0
movss xmm3, dword [esp + 0x5c]
movaps xmm2, xmm1
maxss xmm2, xmm3
comiss xmm0, xmm2
jbe 0x43ae64
movss xmm2, dword [0x4c2958]
mulss xmm2, xmm3
comiss xmm2, xmm1
jbe 0x43ae64
mulss xmm1, dword [0x4c2958]
comiss xmm1, xmm3
jbe 0x43ae64
mov dword [esp + esi + 0x4b5c], 0
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx + edx*4 + 0x6c88]
cmp ecx, ebx
jg 0x43ae7f
mov dword [esp + esi + 0x4b50], 0
xor ecx, ecx
mov edi, dword [esp + esi + 0x4b54]
mov dword [esp + 0x20], edi
cmp ebx, 3
je 0x43aeb1
mov ebx, edi
mov edi, dword [esp + esi + 0x4b58]
add edi, dword [esp + esi + 0x4b5c]
add ebx, ecx
add ebx, edi
jne 0x43aeb1
cmp edx, 2
jge 0x43af14
mov ecx, 1
jmp 0x43af04
cmp dword [esp + 0x20], 0
je 0x43aec7
test ecx, ecx
je 0x43aee8
mov dword [esp + esi + 0x4b54], 0
cmp dword [esp + esi + 0x4b58], 0
je 0x43aefd
cmp dword [esp + esi + 0x4b5c], 0
je 0x43aefd
mov dword [esp + esi + 0x4b5c], 0
jmp 0x43aefd
cmp dword [esp + esi + 0x4b58], 0
je 0x43aefd
mov dword [esp + esi + 0x4b58], 0
cmp edx, 2
jge 0x43af0a
xor ecx, ecx
mov dword [esp + edx*4 + 0x74], ecx
jmp 0x43af14
xor ecx, ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov ecx, dword [ebp + 8]
add eax, 0xc
mov esi, dword [esp + 0x24]
add dword [esp + 0x1c], 0x24
mov ebx, dword [ecx + edx*4 + 0x6be8]
mov dword [esi + edx*4], ebx
inc edx
cmp edx, dword [esp + 0x34]
jge 0x43afcc
pxor xmm1, xmm1
movdqu xmmword [esp + 0x50], xmm1
mov ecx, edx
and ecx, 1
lea ebx, [ecx + ecx*8]
shl ebx, 8
lea ecx, [esp + ebx + 0x4b90]
cmp edx, 2
jne 0x43a7fc
xor ebx, ebx
nop
movups xmm3, xmmword [esp + ebx*4 + 0x4b90]
movups xmm6, xmmword [esp + ebx*4 + 0x4ba0]
movaps xmm1, xmm3
movups xmm2, xmmword [esp + ebx*4 + 0x5490]
movaps xmm4, xmm6
movups xmm5, xmmword [esp + ebx*4 + 0x54a0]
addps xmm1, xmm2
subps xmm3, xmm2
addps xmm4, xmm5
subps xmm6, xmm5
movups xmmword [esp + ebx*4 + 0x4b90], xmm1
movups xmmword [esp + ebx*4 + 0x5490], xmm3
movups xmmword [esp + ebx*4 + 0x4ba0], xmm4
movups xmmword [esp + ebx*4 + 0x54a0], xmm6
add ebx, 8
cmp ebx, 0x240
jb 0x43af60
jmp 0x43a7fc
movaps xmm1, xmm2
xor esi, esi
jmp 0x43a981
movss xmm3, dword [0x4c2948]
mov esi, dword [esp + 0xb8]
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0xbc]
cmp eax, 1
je 0x43e4c9
mov edx, dword [edi + 0x4c]
test edx, edx
jle 0x43b006
cmp eax, 2
je 0x43e48c
cmp eax, 3
je 0x43e452
test esi, esi
jle 0x43e4f7
mov edx, dword [ebp + 0x10]
xor ebx, ebx
lea eax, [edi + edx*8]
mov dword [esp + 0x10], eax
shl edx, 0xf
mov dword [esp + 0x38], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0xb8], esi
movss xmm0, dword [0x4c2968]
mov edi, ebx
and edi, 1
mov dword [esp + 0x60], edi
shl edi, 0xc
mov eax, dword [ebp + 8]
cmp dword [eax + 0x90], 0
lea edi, [esp + edi + 0x70c]
je 0x43b062
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x14f30]
jmp 0x43b064
xor esi, esi
cmp ebx, 2
jl 0x43b071
je 0x43d63c
jmp 0x43b089
push dword [ebp + 0xc]
push ebx
push edi
push dword [ebp + 8]
call fcn.00464e50
movss xmm0, dword [0x4c2968]
add esp, 0x10
movss xmm1, dword [edi]
xor edx, edx
mulss xmm1, xmm1
xor eax, eax
movss dword [esp + 0x2ae0], xmm1
movups xmm1, xmmword [0x4c2670]
movss xmm2, dword [edi + eax*4 + 0xff8]
movss xmm3, dword [edi + eax*4 + 0xffc]
movsd xmm4, qword [edi + edx*4 + 4]
unpcklps xmm3, xmm2
mulps xmm4, xmm4
mulps xmm3, xmm3
movss xmm5, dword [edi + eax*4 + 0xff0]
addps xmm4, xmm3
movss xmm6, dword [edi + eax*4 + 0xff4]
movsd xmm7, qword [edi + edx*4 + 0xc]
unpcklps xmm6, xmm5
mulps xmm7, xmm7
mulps xmm6, xmm6
mulps xmm4, xmm1
addps xmm7, xmm6
movss xmm2, dword [edi + eax*4 + 0xfe8]
movss xmm3, dword [edi + eax*4 + 0xfec]
movss xmm5, dword [edi + eax*4 + 0xfe0]
movss xmm6, dword [edi + eax*4 + 0xfe4]
add eax, 0xfffffff8
movlps qword [esp + edx*4 + 0x2ae4], xmm4
movsd xmm4, qword [edi + edx*4 + 0x14]
unpcklps xmm3, xmm2
movsd xmm2, qword [edi + edx*4 + 0x1c]
unpcklps xmm6, xmm5
mulps xmm4, xmm4
mulps xmm3, xmm3
mulps xmm2, xmm2
mulps xmm6, xmm6
addps xmm4, xmm3
mulps xmm7, xmm1
addps xmm2, xmm6
mulps xmm4, xmm1
mulps xmm2, xmm1
movlps qword [esp + edx*4 + 0x2aec], xmm7
movlps qword [esp + edx*4 + 0x2af4], xmm4
movlps qword [esp + edx*4 + 0x2afc], xmm2
add edx, 8
cmp edx, 0x200
jb 0x43b0a5
movss xmm4, dword [esp + 0x2b0c]
mov eax, 1
pxor xmm3, xmm3
movaps xmm2, xmm3
movaps xmm1, xmm2
addps xmm4, xmmword [esp + eax*4 + 0x2b0c]
addps xmm3, xmmword [esp + eax*4 + 0x2b1c]
addps xmm2, xmmword [esp + eax*4 + 0x2b2c]
addps xmm1, xmmword [esp + eax*4 + 0x2b3c]
add eax, 0x10
cmp eax, 0x1f1
jb 0x43b18b
mov eax, dword [ebp + 8]
addps xmm4, xmm3
addps xmm2, xmm1
addps xmm4, xmm2
movaps xmm1, xmm4
movhlps xmm1, xmm4
addps xmm4, xmm1
movaps xmm2, xmm4
shufps xmm2, xmm4, 0xf5
addss xmm4, xmm2
addss xmm4, dword [esp + 0x32d0]
addss xmm4, dword [esp + 0x32d4]
addss xmm4, dword [esp + 0x32d8]
addss xmm4, dword [esp + 0x32dc]
addss xmm4, dword [esp + 0x32e0]
movss dword [eax + ebx*4 + 0x6be8], xmm4
test esi, esi
je 0x43b380
mov edx, dword [esp + 0x38]
lea ecx, [edx + esi + 8]
lea eax, [edx + esi]
mov dword [esp + 0x18], eax
and ecx, 0xf
mov dword [esp + 0x1c], ecx
je 0x43b257
test cl, 7
jne 0x43d6cf
mov eax, dword [esp + 0x14]
mov edi, edx
mov dword [esp + 0x1c], 1
lea edx, [esi + eax]
movsd xmm1, qword [esi + edi + 0x16338]
movsd qword [edx + edi + 0x1e338], xmm1
mov edx, dword [esp + 0x1c]
neg edx
mov eax, dword [esp + 0x14]
inc edx
mov edi, dword [esp + 0x38]
and edx, 1
neg edx
mov dword [esp + 0x24], ebx
add edx, 0x201
mov ebx, dword [esp + 0x1c]
add eax, edi
mov edi, dword [esp + 0x18]
add eax, esi
movups xmm1, xmmword [edi + ebx*8 + 0x16338]
movups xmmword [eax + ebx*8 + 0x1e338], xmm1
add ebx, 2
cmp ebx, edx
jb 0x43b281
mov ebx, dword [esp + 0x24]
cmp edx, 0x201
jae 0x43b2c3
mov edi, dword [esp + 0x18]
movsd xmm1, qword [edi + edx*8 + 0x16338]
movsd qword [eax + edx*8 + 0x1e338], xmm1
inc edx
cmp edx, 0x201
jb 0x43b2a8
test ecx, ecx
je 0x43b2ef
test cl, 7
jne 0x43d6e2
pxor xmm1, xmm1
mov ecx, 1
cvtss2sd xmm1, dword [esp + 0x2ae0]
mov eax, dword [esp + 0x38]
movsd qword [esi + eax + 0x16338], xmm1
mov eax, ecx
neg eax
inc eax
and eax, 7
neg eax
mov edx, dword [esp + 0x18]
add eax, 0x201
nop dword [eax]
nop dword [eax]
cvtps2pd xmm1, qword [esp + ecx*4 + 0x2ae0]
cvtps2pd xmm2, qword [esp + ecx*4 + 0x2ae8]
cvtps2pd xmm3, qword [esp + ecx*4 + 0x2af0]
cvtps2pd xmm4, qword [esp + ecx*4 + 0x2af8]
movups xmmword [edx + ecx*8 + 0x16338], xmm1
movups xmmword [edx + ecx*8 + 0x16348], xmm2
movups xmmword [edx + ecx*8 + 0x16358], xmm3
movups xmmword [edx + ecx*8 + 0x16368], xmm4
add ecx, 8
cmp ecx, eax
jb 0x43b310
cmp eax, 0x201
jae 0x43b380
mov edx, dword [esp + 0x18]
pxor xmm1, xmm1
cvtss2sd xmm1, dword [esp + eax*4 + 0x2ae0]
movsd qword [edx + eax*8 + 0x16338], xmm1
inc eax
cmp eax, 0x201
jb 0x43b362
cmp ebx, 2
jge 0x43b447
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x10]
pxor xmm2, xmm2
movaps xmm1, xmm2
mov edx, dword [ecx + ebx*4 + 0x6be0]
movaps xmm3, xmm1
mov dword [eax + ebx*4 + 0x6ca0], edx
xor eax, eax
mov edx, dword [ecx + 0x14f28]
movaps xmm4, xmm3
nop dword [eax + eax]
nop dword [eax + eax]
movups xmm5, xmmword [edx + eax*4 + 0x2d4]
movups xmm6, xmmword [edx + eax*4 + 0x2e4]
mulps xmm5, xmmword [esp + eax*4 + 0x2ae0]
mulps xmm6, xmmword [esp + eax*4 + 0x2af0]
movups xmm7, xmmword [edx + eax*4 + 0x2f4]
addps xmm2, xmm5
mulps xmm7, xmmword [esp + eax*4 + 0x2b00]
addps xmm1, xmm6
movups xmm5, xmmword [edx + eax*4 + 0x304]
addps xmm3, xmm7
mulps xmm5, xmmword [esp + eax*4 + 0x2b10]
add eax, 0x10
addps xmm4, xmm5
cmp eax, 0x200
jb 0x43b3c0
mov eax, dword [ebp + 8]
addps xmm2, xmm1
addps xmm3, xmm4
addps xmm2, xmm3
movaps xmm1, xmm2
movhlps xmm1, xmm2
addps xmm2, xmm1
movaps xmm3, xmm2
shufps xmm3, xmm2, 0xf5
addss xmm2, xmm3
mulss xmm2, dword [0x4c297c]
movss dword [eax + ebx*4 + 0x6be0], xmm2
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0x40]
mov edi, dword [esi + 0x14f2c]
mov dword [esp + 0x88], edi
lea ecx, [esp + eax + 0x46e0]
mov dword [esp + 0x58], ecx
lea edx, [esp + eax + 0x42e0]
mov esi, dword [edi + 0x1a64]
test esi, esi
jle 0x43b60c
xor ecx, ecx
mov dword [esp + 0x54], esi
xor eax, eax
mov dword [esp + 0x8c], edx
pxor xmm4, xmm4
mov dword [esp + 0x24], ebx
mov edx, dword [esp + 0x88]
mov ebx, ecx
mov esi, dword [edx + eax*4 + 0x18b4]
test esi, esi
jle 0x43b5c0
cmp esi, 8
jl 0x43d6e9
lea edx, [esp + ecx*4 + 0x2ae0]
mov dword [esp + 0x48], edx
and edx, 0xf
mov edi, edx
neg edi
add edi, 0x10
shr edi, 2
test edx, edx
cmovne edx, edi
lea edi, [edx + 8]
cmp esi, edi
jl 0x43d6e9
mov edi, esi
sub edi, edx
pxor xmm2, xmm2
and edi, 7
movaps xmm1, xmm2
neg edi
add edi, esi
test edx, edx
jbe 0x43b52d
mov dword [esp + 0x44], 0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ecx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
movss xmm3, dword [ecx + eax*4]
movaps xmm5, xmm1
movaps xmm1, xmm3
inc eax
comiss xmm1, xmm5
addss xmm2, xmm3
ja 0x43b521
movaps xmm1, xmm5
cmp eax, edx
jb 0x43b509
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
movaps xmm3, xmm4
mov dword [esp + 0x50], ecx
movss xmm3, xmm2
shufps xmm1, xmm1, 0
movaps xmm2, xmm4
mov ecx, dword [esp + 0x48]
movups xmm5, xmmword [ecx + edx*4]
addps xmm3, xmm5
maxps xmm5, xmm1
movups xmm1, xmmword [ecx + edx*4 + 0x10]
add edx, 8
addps xmm2, xmm1
maxps xmm1, xmm5
cmp edx, edi
jb 0x43b543
movaps xmm5, xmm1
addps xmm3, xmm2
movaps xmm2, xmm3
movhlps xmm5, xmm1
movhlps xmm2, xmm3
maxps xmm1, xmm5
addps xmm3, xmm2
movaps xmm6, xmm1
movaps xmm7, xmm3
shufps xmm6, xmm1, 0xf5
shufps xmm7, xmm3, 0xf5
maxss xmm1, xmm6
addss xmm3, xmm7
mov ecx, dword [esp + 0x50]
add ecx, edx
sub edx, edi
sub ecx, edx
cmp edi, esi
jae 0x43b5c7
lea edx, [esp + ebx*4 + 0x2ae0]
movss xmm2, dword [edx + edi*4]
movaps xmm5, xmm1
movaps xmm1, xmm2
inc edi
comiss xmm1, xmm5
addss xmm3, xmm2
ja 0x43b5b7
movaps xmm1, xmm5
cmp edi, esi
jb 0x43b59f
lea ecx, [ebx + edi]
jmp 0x43b5c7
pxor xmm3, xmm3
movaps xmm1, xmm3
mov ebx, dword [esp + 0x88]
movss dword [esp + eax*4 + 0x1e0], xmm1
mov edx, dword [esp + 0x8c]
movss xmm1, dword [ebx + eax*4 + 0x1400]
mulss xmm1, xmm3
movss dword [edx + eax*4], xmm3
movss dword [esp + eax*4 + 0xe0], xmm1
inc eax
cmp eax, dword [esp + 0x54]
jb 0x43b492
mov esi, dword [esp + 0x54]
mov ebx, dword [esp + 0x24]
movss xmm2, dword [esp + 0xe0]
pxor xmm1, xmm1
addss xmm2, dword [esp + 0xe4]
comiss xmm2, xmm1
jbe 0x43b687
movss xmm1, dword [esp + 0x1e4]
pxor xmm3, xmm3
mov eax, dword [esp + 0x88]
mov edi, 8
maxss xmm1, dword [esp + 0x1e0]
movaps xmm4, xmm1
mov ecx, dword [eax + 0x18b4]
subss xmm4, xmm2
mov eax, dword [eax + 0x18b8]
addss xmm4, xmm1
mulss xmm4, xmm0
lea ecx, [ecx + eax - 1]
cvtsi2ss xmm3, ecx
mulss xmm3, xmm2
divss xmm4, xmm3
cvttss2si eax, xmm4
cmp eax, 8
cmovg eax, edi
mov byte [esp + 0x2e0], al
jmp 0x43b68f
mov byte [esp + 0x2e0], 0
cmp esi, 2
jle 0x43e448
mov dword [esp + 0x24], ebx
lea edi, [esi - 2]
mov dword [esp + 0x54], esi
xor ecx, ecx
mov dword [esp + 0x8c], edx
mov eax, 8
movss xmm5, dword [0x4c296c]
mov ebx, dword [esp + 0x88]
movss xmm2, dword [esp + ecx*4 + 0xe0]
pxor xmm1, xmm1
addss xmm2, dword [esp + ecx*4 + 0xe4]
addss xmm2, dword [esp + ecx*4 + 0xe8]
comiss xmm2, xmm1
jbe 0x43b74b
movss xmm1, dword [esp + ecx*4 + 0x1e4]
pxor xmm3, xmm3
movss xmm4, dword [esp + ecx*4 + 0x1e8]
mov esi, dword [ebx + ecx*4 + 0x18b4]
add esi, dword [ebx + ecx*4 + 0x18b8]
mov edx, dword [ebx + ecx*4 + 0x18bc]
maxss xmm1, dword [esp + ecx*4 + 0x1e0]
maxss xmm4, xmm1
mulss xmm4, xmm5
lea esi, [esi + edx - 1]
cvtsi2ss xmm3, esi
subss xmm4, xmm2
mulss xmm3, xmm2
mulss xmm4, xmm0
divss xmm4, xmm3
cvttss2si edx, xmm4
cmp edx, 8
cmovg edx, eax
mov byte [esp + ecx + 0x2e1], dl
jmp 0x43b753
mov byte [esp + ecx + 0x2e1], 0
inc ecx
cmp ecx, edi
jb 0x43b6c0
mov esi, dword [esp + 0x54]
inc ecx
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x24]
movss xmm3, dword [esp + ecx*4 + 0xdc]
pxor xmm1, xmm1
addss xmm3, dword [esp + ecx*4 + 0xe0]
comiss xmm3, xmm1
jbe 0x43b7e9
movss xmm1, dword [esp + ecx*4 + 0x1e0]
pxor xmm2, xmm2
mov eax, dword [esp + 0x88]
maxss xmm1, dword [esp + ecx*4 + 0x1dc]
movaps xmm4, xmm1
mov edi, dword [eax + ecx*4 + 0x18b0]
subss xmm4, xmm3
mov eax, dword [eax + ecx*4 + 0x18b4]
addss xmm4, xmm1
mulss xmm4, xmm0
lea edi, [edi + eax - 1]
cvtsi2ss xmm2, edi
mulss xmm3, xmm2
mov edi, 8
divss xmm4, xmm3
cvttss2si eax, xmm4
cmp eax, 8
cmovg eax, edi
mov byte [esp + ecx + 0x2e0], al
jmp 0x43b7f1
mov byte [esp + ecx + 0x2e0], 0
test esi, esi
jle 0x43e441
mov eax, dword [esp + 0x40]
xor edi, edi
mov esi, dword [ebp + 8]
xor ecx, ecx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x24], ebx
movss xmm3, dword [0x4c29a0]
lea esi, [eax + esi + 0x5440]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x64], esi
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0x88]
mov dword [esp + 0x68], ecx
movss xmm2, dword [esi + 0x14bac]
mulss xmm2, dword [eax + ecx*4 + 0x1200]
mov esi, dword [eax + ecx*8 + 0x16b4]
mov edx, dword [eax + ecx*8 + 0x16b8]
movzx ecx, byte [esp + ecx + 0x2e0]
mov dword [esp + 0x90], edx
movzx edx, byte [esp + esi + 0x2e0]
mov ebx, dword [ecx*4 + 0x4c29a4]
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 0x8c]
mov eax, dword [eax + 0x1a6c]
mov ecx, dword [esp + 0x68]
movss xmm5, dword [ebx + esi*4]
inc esi
mulss xmm5, dword [edx*4 + 0x4c29c8]
mov ebx, 1
mulss xmm5, dword [eax + edi*4]
inc edi
cmp esi, dword [esp + 0x90]
jg 0x43ba00
movss dword [esp + 0x5c], xmm2
mov dword [esp + 0x68], ecx
mov ecx, edx
movss xmm0, dword [0x4c2960]
movss xmm1, dword [0x4c2964]
movss xmm3, dword [eax + edi*4]
inc ebx
mov eax, dword [esp + 0x8c]
pxor xmm2, xmm2
movzx edx, byte [esp + esi + 0x2e0]
pxor xmm4, xmm4
add ecx, edx
maxss xmm2, xmm5
mulss xmm3, dword [eax + esi*4]
comiss xmm4, xmm2
mulss xmm3, dword [edx*4 + 0x4c29c8]
pxor xmm5, xmm5
maxss xmm5, xmm3
jae 0x43b9cf
pxor xmm3, xmm3
comiss xmm3, xmm5
jae 0x43b9cc
comiss xmm5, xmm2
jbe 0x43b92c
movaps xmm3, xmm5
divss xmm3, xmm2
jmp 0x43b933
movaps xmm3, xmm2
divss xmm3, xmm5
mov eax, dword [esp + 0x84]
add eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, dword [esp + 0x80]
jg 0x43b9c1
comiss xmm3, xmm1
jb 0x43b955
addss xmm5, xmm2
jmp 0x43b9cf
movss dword [esp], xmm3
movss dword [esp + 0x6c], xmm5
movss dword [esp + 0x70], xmm2
mov dword [esp + 0x7c], ecx
call fcn.0042d830
fstp dword [esp + 0xd8]
mov ecx, dword [esp + 0x7c]
movss xmm2, dword [esp + 0x70]
movss xmm5, dword [esp + 0x6c]
movss xmm3, dword [esp + 0xd8]
movss xmm1, dword [0x4c2964]
movss xmm0, dword [0x4c2960]
cvtss2sd xmm3, xmm3
addss xmm2, xmm5
mulsd xmm3, qword [0x4c27b0]
invalid
invalid
invalid