Function at 0x42ca90
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.00466f60
mov edi, dword [ebp + 8]
mov eax, dword [0x4f6e34]
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 0x42cad4
mov eax, dword [edi + 0x14f30]
mov dword [esp + 0x3c], eax
jmp 0x42cadc
mov dword [esp + 0x3c], 0
movss xmm0, dword [edi + 0xc4]
pxor xmm1, xmm1
comiss xmm0, xmm1
jbe 0x42cb08
mov eax, dword [edi + 0x14f28]
movss xmm0, dword [eax + 8]
mulss xmm0, dword [edi + 0xcc]
movss dword [esp + 0x2c], xmm0
jmp 0x42cb16
movss xmm0, dword [0x48efa0]
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 0x42cb66
test edx, edx
je 0x42cbbb
mov edx, dword [edi + 0x14f30]
mov dword [esp + 0x28], edx
jmp 0x42cbc3
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.00449a20
add esp, 0xc
test ebx, ebx
jle 0x42cf5d
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 [0x48ebd0]
addps xmm2, xmm4
mulps xmm1, xmmword [0x48ebe0]
movups xmm6, xmmword [edx + esi*4 + 0x678]
mulps xmm2, xmmword [0x48ebf0]
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 [0x48ec10]
addps xmm1, xmm3
addps xmm4, xmm6
movups xmm3, xmmword [edx + esi*4 + 0x648]
mulps xmm4, xmmword [0x48ec40]
addps xmm0, xmm2
addps xmm3, xmm7
movups xmm7, xmmword [edx + esi*4 + 0x670]
mulps xmm3, xmmword [0x48ec20]
addps xmm5, xmm7
movups xmm2, xmmword [edx + esi*4 + 0x664]
mulps xmm5, xmmword [0x48ec30]
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 [0x48ec50]
addps xmm3, xmm2
addps xmm0, xmm4
mulps xmm3, xmmword [0x48ec60]
addps xmm1, xmm3
addps xmm0, xmm1
movups xmmword [ebx + esi*4], xmm0
add esi, 4
cmp esi, 0x240
jb 0x42cc38
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 0x42cda3
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 0x42cdfa
cmp dword [esp + 0x34], 2
jle 0x42cf33
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 0x42ce6a
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 0x42cec1
inc ecx
add eax, 0x1e8
add dword [esp + 0x24], 0x900
add dword [esp + 0x1c], 0xf4
cmp ecx, dword [esp + 0x14]
jb 0x42cc25
mov esi, dword [esp + 0xb8]
mov edi, dword [ebp + 8]
jmp 0x42cf68
inc ecx
add eax, 0x1e8
add dword [esp + 0x24], 0x900
add dword [esp + 0x1c], 0xf4
cmp ecx, dword [esp + 0x14]
jb 0x42cc25
mov esi, dword [esp + 0xb8]
mov edi, dword [ebp + 8]
cmp dword [esp + 0x34], 0
jle 0x430c9a
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 [0x48ef54]
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 [0x48efa0]
movss xmm3, dword [0x48ef4c]
mov edx, ecx
lea esi, [ecx + 0x100]
cmp ecx, esi
jae 0x42d159
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 0x42d772
mov edi, ecx
and edi, 0xf
je 0x42d0a2
test edi, 3
jne 0x42d772
neg edi
add edi, 0x10
shr edi, 2
lea esi, [edi + 8]
cmp eax, esi
jl 0x42d772
mov esi, eax
movaps xmm1, xmm2
sub esi, edi
and esi, 7
neg esi
add esi, eax
test edi, edi
jbe 0x42d0f2
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 [0x48eca0]
inc ebx
movaps xmm1, xmm4
comiss xmm1, xmm5
ja 0x42d0ea
movaps xmm1, xmm5
cmp ebx, edi
jb 0x42d0cf
mov ebx, dword [esp + 0x40]
shufps xmm1, xmm1, 0
movups xmm4, xmmword [ecx + edi*4]
andps xmm4, xmmword [0x48ec90]
maxps xmm4, xmm1
movups xmm1, xmmword [ecx + edi*4 + 0x10]
add edi, 8
andps xmm1, xmmword [0x48ec90]
maxps xmm1, xmm4
cmp edi, esi
jb 0x42d0f6
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 0x42d15c
movss xmm4, dword [edx + esi*4]
movaps xmm5, xmm1
andps xmm4, xmmword [0x48eca0]
inc esi
movaps xmm1, xmm4
comiss xmm1, xmm5
ja 0x42d150
movaps xmm1, xmm5
cmp esi, eax
jb 0x42d135
lea ecx, [edx + esi*4]
jmp 0x42d15c
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 0x42d19d
divss xmm1, xmm5
jmp 0x42d1b6
mulss xmm1, xmm3
comiss xmm5, xmm1
jbe 0x42d1b2
movaps xmm4, xmm1
movaps xmm1, xmm5
divss xmm1, xmm4
jmp 0x42d1b6
pxor xmm1, xmm1
movss dword [esp + ebx*4 + 0xc8], xmm1
inc ebx
cmp ebx, 9
jb 0x42d05d
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 [0x48ef50]
mov eax, dword [esp + 0x18]
comiss xmm2, xmm1
jbe 0x42d220
mulss xmm3, dword [0x48ef50]
comiss xmm2, xmm3
movss xmm1, dword [0x48ef5c]
ja 0x42d228
movss xmm1, dword [0x48ef48]
jmp 0x42d228
movss xmm1, dword [0x48efa0]
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 [0x48ef50]
comiss xmm2, xmm1
jbe 0x42d280
mulss xmm3, dword [0x48ef50]
comiss xmm2, xmm3
movss xmm1, dword [0x48ef5c]
ja 0x42d288
movss xmm1, dword [0x48ef48]
jmp 0x42d288
movss xmm1, dword [0x48efa0]
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 [0x48ef50]
comiss xmm2, xmm1
jbe 0x42d2e0
mulss xmm3, dword [0x48ef50]
comiss xmm2, xmm3
movss xmm1, dword [0x48ef5c]
ja 0x42d2e8
movss xmm1, dword [0x48ef48]
jmp 0x42d2e8
movss xmm1, dword [0x48efa0]
movss dword [esp + eax + 0x5d98], xmm1
cmp dword [esp + 0x28], 0
je 0x42d3b7
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 0x42d427
movss xmm2, dword [esp + 0xbc]
comiss xmm2, xmm1
jbe 0x42d3f3
mov dword [esp + esi + 0x4b50], 1
jmp 0x42d427
movss xmm2, dword [esp + 0xc0]
comiss xmm2, xmm1
jbe 0x42d40e
mov dword [esp + esi + 0x4b50], 2
jmp 0x42d427
movss xmm2, dword [esp + 0xc4]
comiss xmm2, xmm1
jbe 0x42d427
mov dword [esp + esi + 0x4b50], 3
cmp dword [esp + esi + 0x4b54], 0
jne 0x42d480
movss xmm2, dword [esp + 0xc8]
comiss xmm2, xmm1
jbe 0x42d44c
mov dword [esp + esi + 0x4b54], 1
jmp 0x42d480
movss xmm2, dword [esp + 0xcc]
comiss xmm2, xmm1
jbe 0x42d467
mov dword [esp + esi + 0x4b54], 2
jmp 0x42d480
movss xmm2, dword [esp + 0xd0]
comiss xmm2, xmm1
jbe 0x42d480
mov dword [esp + esi + 0x4b54], 3
cmp dword [esp + esi + 0x4b58], 0
jne 0x42d4d9
movss xmm2, dword [esp + 0xd4]
comiss xmm2, xmm1
jbe 0x42d4a5
mov dword [esp + esi + 0x4b58], 1
jmp 0x42d4d9
movss xmm2, dword [esp + 0xd8]
comiss xmm2, xmm1
jbe 0x42d4c0
mov dword [esp + esi + 0x4b58], 2
jmp 0x42d4d9
movss xmm2, dword [esp + 0xdc]
comiss xmm2, xmm1
jbe 0x42d4d9
mov dword [esp + esi + 0x4b58], 3
cmp dword [esp + esi + 0x4b5c], 0
jne 0x42d532
movss xmm2, dword [esp + 0xe0]
comiss xmm2, xmm1
jbe 0x42d4fe
mov dword [esp + esi + 0x4b5c], 1
jmp 0x42d532
movss xmm2, dword [esp + 0xe4]
comiss xmm2, xmm1
jbe 0x42d519
mov dword [esp + esi + 0x4b5c], 2
jmp 0x42d532
movss xmm2, dword [esp + 0xe8]
comiss xmm2, xmm1
jbe 0x42d532
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 0x42d597
movss xmm1, dword [0x48ef58]
mulss xmm1, xmm2
comiss xmm1, xmm3
jbe 0x42d597
mulss xmm3, dword [0x48ef58]
comiss xmm3, xmm2
jbe 0x42d597
mov ecx, dword [esp + esi + 0x4b50]
cmp ecx, dword [esp + esi + 0x4b54]
jg 0x42d58a
mov dword [esp + esi + 0x4b50], 0
mov ecx, dword [esp + esi + 0x4b50]
mov dword [esp + esi + 0x4b54], 0
jmp 0x42d59e
mov ecx, dword [esp + esi + 0x4b50]
movss xmm1, dword [esp + 0x58]
movaps xmm3, xmm2
maxss xmm3, xmm1
comiss xmm0, xmm3
jbe 0x42d5d9
movss xmm3, dword [0x48ef58]
mulss xmm3, xmm1
comiss xmm3, xmm2
jbe 0x42d5d9
mulss xmm2, dword [0x48ef58]
comiss xmm2, xmm1
jbe 0x42d5d9
mov dword [esp + esi + 0x4b58], 0
movss xmm3, dword [esp + 0x5c]
movaps xmm2, xmm1
maxss xmm2, xmm3
comiss xmm0, xmm2
jbe 0x42d614
movss xmm2, dword [0x48ef58]
mulss xmm2, xmm3
comiss xmm2, xmm1
jbe 0x42d614
mulss xmm1, dword [0x48ef58]
comiss xmm1, xmm3
jbe 0x42d614
mov dword [esp + esi + 0x4b5c], 0
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx + edx*4 + 0x6c88]
cmp ecx, ebx
jg 0x42d62f
mov dword [esp + esi + 0x4b50], 0
xor ecx, ecx
mov edi, dword [esp + esi + 0x4b54]
mov dword [esp + 0x20], edi
cmp ebx, 3
je 0x42d661
mov ebx, edi
mov edi, dword [esp + esi + 0x4b58]
add edi, dword [esp + esi + 0x4b5c]
add ebx, ecx
add ebx, edi
jne 0x42d661
cmp edx, 2
jge 0x42d6c4
mov ecx, 1
jmp 0x42d6b4
cmp dword [esp + 0x20], 0
je 0x42d677
test ecx, ecx
je 0x42d698
mov dword [esp + esi + 0x4b54], 0
cmp dword [esp + esi + 0x4b58], 0
je 0x42d6ad
cmp dword [esp + esi + 0x4b5c], 0
je 0x42d6ad
mov dword [esp + esi + 0x4b5c], 0
jmp 0x42d6ad
cmp dword [esp + esi + 0x4b58], 0
je 0x42d6ad
mov dword [esp + esi + 0x4b58], 0
cmp edx, 2
jge 0x42d6ba
xor ecx, ecx
mov dword [esp + edx*4 + 0x74], ecx
jmp 0x42d6c4
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 0x42d77c
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 0x42cfac
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 0x42d710
jmp 0x42cfac
movaps xmm1, xmm2
xor esi, esi
jmp 0x42d131
movss xmm3, dword [0x48ef48]
mov esi, dword [esp + 0xb8]
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0xbc]
cmp eax, 1
je 0x430c79
mov edx, dword [edi + 0x4c]
test edx, edx
jle 0x42d7b6
cmp eax, 2
je 0x430c3c
cmp eax, 3
je 0x430c02
test esi, esi
jle 0x430ca7
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 [0x48ef68]
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 0x42d812
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x14f30]
jmp 0x42d814
xor esi, esi
cmp ebx, 2
jl 0x42d821
je 0x42fdec
jmp 0x42d839
push dword [ebp + 0xc]
push ebx
push edi
push dword [ebp + 8]
call fcn.0043e7b0
movss xmm0, dword [0x48ef68]
add esp, 0x10
movss xmm1, dword [edi]
xor edx, edx
mulss xmm1, xmm1
xor eax, eax
movss dword [esp + 0x2ae0], xmm1
movups xmm1, xmmword [0x48ec70]
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 0x42d855
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 0x42d93b
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 0x42db30
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 0x42da07
test cl, 7
jne 0x42fe7f
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 0x42da31
mov ebx, dword [esp + 0x24]
cmp edx, 0x201
jae 0x42da73
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 0x42da58
test ecx, ecx
je 0x42da9f
test cl, 7
jne 0x42fe92
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 0x42dac0
cmp eax, 0x201
jae 0x42db30
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 0x42db12
cmp ebx, 2
jge 0x42dbf7
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 0x42db70
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 [0x48ef7c]
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 0x42ddbc
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 0x42dd70
cmp esi, 8
jl 0x42fe99
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 0x42fe99
mov edi, esi
sub edi, edx
pxor xmm2, xmm2
and edi, 7
movaps xmm1, xmm2
neg edi
add edi, esi
test edx, edx
jbe 0x42dcdd
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 0x42dcd1
movaps xmm1, xmm5
cmp eax, edx
jb 0x42dcb9
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 0x42dcf3
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 0x42dd77
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 0x42dd67
movaps xmm1, xmm5
cmp edi, esi
jb 0x42dd4f
lea ecx, [ebx + edi]
jmp 0x42dd77
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 0x42dc42
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 0x42de37
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 0x42de3f
mov byte [esp + 0x2e0], 0
cmp esi, 2
jle 0x430bf8
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 [0x48ef6c]
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 0x42defb
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 0x42df03
mov byte [esp + ecx + 0x2e1], 0
inc ecx
cmp ecx, edi
jb 0x42de70
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 0x42df99
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 0x42dfa1
mov byte [esp + ecx + 0x2e0], 0
test esi, esi
jle 0x430bf1
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 [0x48efa0]
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 + 0x48efa4]
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 + 0x48efc8]
mov ebx, 1
mulss xmm5, dword [eax + edi*4]
inc edi
cmp esi, dword [esp + 0x90]
jg 0x42e1b0
movss dword [esp + 0x5c], xmm2
mov dword [esp + 0x68], ecx
mov ecx, edx
movss xmm0, dword [0x48ef60]
movss xmm1, dword [0x48ef64]
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 + 0x48efc8]
pxor xmm5, xmm5
maxss xmm5, xmm3
jae 0x42e17f
pxor xmm3, xmm3
comiss xmm3, xmm5
jae 0x42e17c
comiss xmm5, xmm2
jbe 0x42e0dc
movaps xmm3, xmm5
divss xmm3, xmm2
jmp 0x42e0e3
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 0x42e171
comiss xmm3, xmm1
jb 0x42e105
addss xmm5, xmm2
jmp 0x42e17f
movss dword [esp], xmm3
movss dword [esp + 0x6c], xmm5
movss dword [esp + 0x70], xmm2
mov dword [esp + 0x7c], ecx
call fcn.0041fdd0
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 [0x48ef64]
movss xmm0, dword [0x48ef60]
cvtss2sd xmm3, xmm3
addss xmm2, xmm5
mulsd xmm3, qword [0x48edb0]
cvttsd2si eax, xmm3
movaps xmm5, xmm2
mulss xmm5, dword [eax*4 + 0x48efec]
jmp 0x42e17f
comiss xmm0, xmm3
ja 0x42e0ff
maxss xmm5, xmm2
jmp 0x42e17f
movaps xmm5, xmm2
inc esi
inc edi
cmp esi, dword [esp + 0x90]
jg 0x42e19c
mov eax, dword [esp + 0x88]
mov eax, dword [eax + 0x1a6c]
jmp 0x42e07f
movss xmm2, dword [esp + 0x5c]
mov edx, ecx
mov ecx, dword [esp + 0x68]
movss xmm3, dword [0x48efa0]
add ebx, ebx
lea eax, [edx + edx + 1]
cdq
idiv ebx
movss xmm1, dword [eax*4 + 0x48efc8]
mov eax, dword [esp + 0x64]
mulss xmm1, dword [0x48ef48]
mov esi, dword [esp + 0x60]
mov ebx, dword [ebp + 8]
movss xmm0, dword [eax + ecx*4]
movss xmm4, dword [0x48ef78]
mov edx, dword [ebx + esi*4 + 0x6c98]
mulss xmm5, xmm1
mulss xmm4, xmm0
cmp edx, 2
je 0x430bab
pxor xmm7, xmm7
movss xmm6, dword [eax + ecx*4 + 0x400]
mulss xmm6, dword [0x48ef74]
comiss xmm7, xmm6
pxor xmm7, xmm7
jb 0x42e21b
movaps xmm6, xmm5
comiss xmm7, xmm4
jb 0x42e223
movaps xmm4, xmm5
test edx, edx
jne 0x42e22b
minss xmm4, xmm6
mov eax, dword [esp + 0x8c]
movaps xmm6, xmm5
minss xmm6, xmm4
movss xmm7, dword [eax + ecx*4]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x88]
comiss xmm2, xmm3
movss dword [eax + ecx*4 + 0x400], xmm0
movss dword [eax + ecx*4], xmm5
movss xmm0, dword [esp + ecx*4 + 0x1e0]
mulss xmm0, dword [edx + ecx*4 + 0x1300]
mulss xmm0, xmm1
minss xmm0, xmm6
jbe 0x42e27a
mulss xmm0, xmm2
comiss xmm3, xmm2
minss xmm7, xmm0
jbe 0x42e292
mulss xmm2, xmm7
mov eax, dword [esp + 0x58]
movss dword [eax + ecx*4], xmm2
jmp 0x42e29b
mov eax, dword [esp + 0x58]
movss dword [eax + ecx*4], xmm7
mov eax, edx
inc ecx
dec dword [esp + 0x84]
cmp ecx, dword [eax + 0x1a64]
jl 0x42dfd9
movss xmm0, dword [0x48ef68]
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x24]
cmp ecx, 0x40
jge 0x42e403
mov eax, ecx
neg eax
add eax, 0x40
cmp eax, 8
jl 0x42fea7
mov esi, dword [esp + 0x58]
lea edi, [esi + ecx*4]
mov dword [esp + 0x20], edi
and edi, 0xf
je 0x42e2f5
neg edi
add edi, 0x10
shr edi, 2
lea esi, [edi + 8]
cmp eax, esi
jl 0x42fea7
mov esi, eax
sub esi, edi
and esi, 7
neg esi
add esi, eax
mov dword [esp + 0x34], esi
lea esi, [edx + ecx*4]
mov dword [esp + 0x28], esi
test edi, edi
jbe 0x42e351
mov dword [esp + 0x8c], edx
xor esi, esi
mov dword [esp + 0x24], ebx
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
pxor xmm1, xmm1
pxor xmm2, xmm2
movss dword [edx + esi*4], xmm1
movss dword [ebx + esi*4], xmm2
inc esi
cmp esi, edi
jb 0x42e32f
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x24]
lea esi, [ecx + edi]
lea esi, [edx + esi*4]
test esi, 0xf
je 0x42e395
mov dword [esp + 0x8c], edx
mov dword [esp + 0x24], ebx
pxor xmm1, xmm1
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
movups xmmword [ebx + edi*4], xmm1
movups xmmword [ebx + edi*4 + 0x10], xmm1
movups xmmword [esi + edi*4], xmm1
movups xmmword [esi + edi*4 + 0x10], xmm1
add edi, 8
cmp edi, edx
jb 0x42e37a
jmp 0x42e3c9
mov dword [esp + 0x8c], edx
mov dword [esp + 0x24], ebx
pxor xmm1, xmm1
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
movups xmmword [ebx + edi*4], xmm1
movups xmmword [esi + edi*4], xmm1
movups xmmword [ebx + edi*4 + 0x10], xmm1
movups xmmword [esi + edi*4 + 0x10], xmm1
add edi, 8
cmp edi, edx
jb 0x42e3b0
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x24]
cmp eax, dword [esp + 0x34]
jbe 0x42e403
mov esi, dword [esp + 0x58]
lea edx, [edx + ecx*4]
lea ecx, [esi + ecx*4]
mov esi, dword [esp + 0x34]
pxor xmm1, xmm1
pxor xmm2, xmm2
movss dword [edx + esi*4], xmm1
movss dword [ecx + esi*4], xmm2
inc esi
cmp esi, eax
jb 0x42e3ec
inc ebx
add dword [esp + 0x40], 0x100
add dword [esp + 0x38], 0x2000
cmp ebx, dword [esp + 0xb8]
jl 0x42d7e8
movss xmm3, dword [0x48ef48]
mov esi, dword [esp + 0xb8]
pxor xmm4, xmm4
mov edi, dword [ebp + 8]
cmp dword [edi + 0xb8], 1
je 0x4309cb
movss xmm5, dword [0x48ef84]
test esi, esi
jle 0x42ead6
movups xmm2, xmmword [0x48ec80]
xor ecx, ecx
movss xmm1, dword [0x48ef80]
movss dword [esp + 0x38], xmm5
mov dword [esp + 0xb8], esi
movss xmm3, dword [0x48efa0]
mov ebx, ecx
shl ebx, 8
lea edx, [esp + ebx + 0x42e0]
mov dword [esp + 0x6c], edx
imul edx, ecx, 0xf4
lea esi, [esp + ebx + 0x46e0]
mov ebx, dword [edi + 0x14f2c]
lea eax, [edx + edi + 0x5440]
mov dword [esp + 0x68], esi
mov dword [esp + 0x88], eax
xor eax, eax
mov esi, dword [ebx + 0x1a68]
test esi, esi
jle 0x430718
mov dword [esp + 0x70], 0
pxor xmm0, xmm0
mov dword [esp + 0x5c], esi
movaps xmm5, xmm0
mov dword [esp + 0xa4], eax
mov dword [esp + 0x48], edx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0xac], eax
mov ecx, dword [edx + 0x1a64]
mov ebx, dword [edx + ebx*4 + 0x1a0c]
cmp ebx, ecx
mov dword [esp + 0xa8], ecx
cmovge ebx, ecx
cmp eax, ebx
jge 0x42e690
lea edx, [eax + 1]
sub ebx, edx
inc ebx
cmp ebx, 8
jl 0x4309c4
mov edx, dword [esp + 0x68]
lea edx, [edx + eax*4]
mov dword [esp + 0x84], edx
and edx, 0xf
je 0x42e550
neg edx
add edx, 0x10
shr edx, 2
lea ecx, [edx + 8]
cmp ebx, ecx
jl 0x4309c4
mov ecx, ebx
lea edi, [esi + eax*4]
sub ecx, edx
and ecx, 7
neg ecx
add ecx, ebx
mov dword [esp + 0xb4], edi
test edx, edx
jbe 0x42e5a4
mov dword [esp + 0x64], 0
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x64]
mov esi, edi
mov edi, dword [esp + 0x84]
addss xmm5, dword [esi + eax*4]
addss xmm0, dword [edi + eax*4]
inc eax
cmp eax, edx
jb 0x42e58d
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
mov dword [esp + 0xbc], ecx
lea ecx, [eax + edx]
lea edi, [esi + ecx*4]
mov ecx, dword [esp + 0xbc]
pxor xmm1, xmm1
movaps xmm4, xmm1
movaps xmm2, xmm1
movss xmm4, xmm5
movss xmm2, xmm0
test edi, 0xf
je 0x42e601
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0x84]
movups xmm0, xmmword [esi + edx*4]
movups xmm5, xmmword [esi + edx*4 + 0x10]
addps xmm2, xmmword [edi + edx*4]
addps xmm4, xmm0
addps xmm1, xmm5
addps xmm2, xmmword [edi + edx*4 + 0x10]
add edx, 8
cmp edx, ecx
jb 0x42e5e0
jmp 0x42e628
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0x84]
addps xmm2, xmmword [edi + edx*4]
addps xmm4, xmmword [esi + edx*4]
addps xmm1, xmmword [esi + edx*4 + 0x10]
addps xmm2, xmmword [edi + edx*4 + 0x10]
add edx, 8
cmp edx, ecx
jb 0x42e60f
add eax, edx
sub edx, ecx
mov esi, dword [esp + 0x6c]
sub eax, edx
movaps xmm0, xmm2
addps xmm4, xmm1
movhlps xmm0, xmm2
movaps xmm1, xmm4
movhlps xmm1, xmm4
addps xmm2, xmm0
addps xmm4, xmm1
movaps xmm5, xmm2
shufps xmm5, xmm2, 0xf5
addss xmm2, xmm5
movaps xmm0, xmm2
movaps xmm2, xmm4
shufps xmm2, xmm4, 0xf5
addss xmm4, xmm2
movaps xmm5, xmm4
cmp ecx, ebx
jae 0x42e690
mov edi, dword [esp + 0xac]
mov edx, dword [esp + 0x68]
lea eax, [esi + edi*4]
lea edx, [edx + edi*4]
addss xmm5, dword [eax + ecx*4]
addss xmm0, dword [edx + ecx*4]
inc ecx
cmp ecx, ebx
jb 0x42e678
mov eax, dword [esp + 0xac]
add eax, ecx
cmp eax, dword [esp + 0xa8]
jge 0x4306d5
mov edx, dword [esp + 0xb0]
movaps xmm7, xmm3
mov edi, dword [esp + 0xa4]
mov ecx, dword [esp + 0x68]
movss xmm4, dword [esi + eax*4]
movss xmm2, dword [edx + edi*4 + 0x1658]
movaps xmm1, xmm4
movss xmm6, dword [ecx + eax*4]
inc eax
mulss xmm1, xmm2
subss xmm7, xmm2
mulss xmm2, xmm6
addss xmm5, xmm1
addss xmm0, xmm2
mov ebx, dword [esp + 0x88]
movss dword [ebx + edi*4 + 0x13d0], xmm5
movaps xmm5, xmm4
movss dword [ebx + edi*4 + 0x1000], xmm0
inc edi
movaps xmm0, xmm6
mulss xmm5, xmm7
mulss xmm0, xmm7
mov dword [esp + 0xa4], edi
cmp edi, dword [esp + 0x5c]
jl 0x42e4f0
movss xmm1, dword [0x48ef80]
movups xmm2, xmmword [0x48ec80]
pxor xmm4, xmm4
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov edi, dword [ebp + 8]
mov ebx, dword [edi + 0x14f2c]
xor eax, eax
mov dword [esp + 0x94], ebx
mov ebx, dword [ebx + 0x2b48]
test ebx, ebx
jle 0x43061b
mov esi, dword [esp + 0x94]
mov dword [esp + 0x7c], 0
pxor xmm0, xmm0
mov dword [esp + 0x98], eax
movaps xmm5, xmm0
mov esi, dword [esi + 0x2b44]
mov dword [esp + 0x90], esi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x9c], eax
mov ebx, dword [ebx + edx*4 + 0x2aec]
cmp ebx, ecx
cmovge ebx, ecx
cmp eax, ebx
jge 0x42e929
lea edx, [eax + 1]
sub ebx, edx
inc ebx
cmp ebx, 8
jl 0x4306ce
mov edx, dword [esp + 0x68]
lea edx, [edx + eax*4]
mov dword [esp + 0x80], edx
and edx, 0xf
je 0x42e7e9
neg edx
add edx, 0x10
shr edx, 2
lea ecx, [edx + 8]
cmp ebx, ecx
jl 0x4306ce
mov ecx, ebx
lea edi, [esi + eax*4]
sub ecx, edx
and ecx, 7
neg ecx
add ecx, ebx
mov dword [esp + 0xa0], edi
test edx, edx
jbe 0x42e83d
mov dword [esp + 0x60], 0
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x60]
mov esi, edi
mov edi, dword [esp + 0x80]
addss xmm5, dword [esi + eax*4]
addss xmm0, dword [edi + eax*4]
inc eax
cmp eax, edx
jb 0x42e826
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x6c]
mov dword [esp + 0xc0], ecx
lea ecx, [eax + edx]
lea edi, [esi + ecx*4]
mov ecx, dword [esp + 0xc0]
pxor xmm1, xmm1
movaps xmm4, xmm1
movaps xmm2, xmm1
movss xmm4, xmm5
movss xmm2, xmm0
test edi, 0xf
je 0x42e89a
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0x80]
movups xmm0, xmmword [esi + edx*4]
movups xmm5, xmmword [esi + edx*4 + 0x10]
addps xmm2, xmmword [edi + edx*4]
addps xmm4, xmm0
addps xmm1, xmm5
addps xmm2, xmmword [edi + edx*4 + 0x10]
add edx, 8
cmp edx, ecx
jb 0x42e879
jmp 0x42e8c1
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0x80]
addps xmm2, xmmword [edi + edx*4]
addps xmm4, xmmword [esi + edx*4]
addps xmm1, xmmword [esi + edx*4 + 0x10]
addps xmm2, xmmword [edi + edx*4 + 0x10]
add edx, 8
cmp edx, ecx
jb 0x42e8a8
add eax, edx
sub edx, ecx
mov esi, dword [esp + 0x6c]
sub eax, edx
movaps xmm0, xmm2
addps xmm4, xmm1
movhlps xmm0, xmm2
movaps xmm1, xmm4
movhlps xmm1, xmm4
addps xmm2, xmm0
addps xmm4, xmm1
movaps xmm5, xmm2
shufps xmm5, xmm2, 0xf5
addss xmm2, xmm5
movaps xmm0, xmm2
movaps xmm2, xmm4
shufps xmm2, xmm4, 0xf5
addss xmm4, xmm2
movaps xmm5, xmm4
cmp ecx, ebx
jae 0x42e929
mov edi, dword [esp + 0x9c]
mov edx, dword [esp + 0x68]
lea eax, [esi + edi*4]
lea edx, [edx + edi*4]
addss xmm5, dword [eax + ecx*4]
addss xmm0, dword [edx + ecx*4]
inc ecx
cmp ecx, ebx
jb 0x42e911
mov eax, dword [esp + 0x9c]
add eax, ecx
cmp eax, dword [esp + 0x90]
jge 0x4305df
mov edx, dword [esp + 0x94]
movaps xmm7, xmm3
mov ebx, dword [esp + 0x98]
mov ecx, dword [esp + 0x68]
movss xmm4, dword [esi + eax*4]
movss xmm2, dword [edx + ebx*4 + 0x2738]
movaps xmm1, xmm4
movss xmm6, dword [ecx + eax*4]
inc eax
mulss xmm1, xmm2
subss xmm7, xmm2
mulss xmm2, xmm6
addss xmm5, xmm1
addss xmm0, xmm2
movss dword [esp + ebx*4 + 0x114], xmm5
movaps xmm5, xmm4
movss dword [esp + ebx*4 + 0xe0], xmm0
inc ebx
movaps xmm0, xmm6
mulss xmm5, xmm7
mulss xmm0, xmm7
mov dword [esp + 0x98], ebx
cmp ebx, dword [esp + 0x58]
jl 0x42e78f
movss xmm1, dword [0x48ef80]
movups xmm2, xmmword [0x48ec80]
pxor xmm4, xmm4
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x88]
xor eax, eax
movsd xmm6, qword [esp + eax*4 + 0xe0]
lea ebx, [eax + eax*2]
mulps xmm6, xmm2
movsd xmm0, qword [esp + eax*4 + 0x114]
movaps xmm7, xmm6
movaps xmm5, xmm0
add eax, 2
shufps xmm5, xmm0, 0xe5
shufps xmm7, xmm6, 0xe5
movss dword [esi + ebx*4 + 0x1430], xmm0
movss dword [esi + ebx*4 + 0x143c], xmm5
movss dword [esi + ebx*4 + 0x142c], xmm0
movss dword [esi + ebx*4 + 0x1438], xmm5
movss dword [esi + ebx*4 + 0x1428], xmm0
movss dword [esi + ebx*4 + 0x1434], xmm5
movss dword [esi + ebx*4 + 0x1060], xmm6
movss dword [esi + ebx*4 + 0x106c], xmm7
movss dword [esi + ebx*4 + 0x105c], xmm6
movss dword [esi + ebx*4 + 0x1068], xmm7
movss dword [esi + ebx*4 + 0x1058], xmm6
movss dword [esi + ebx*4 + 0x1064], xmm7
cmp eax, 0xc
jb 0x42e9cf
movss xmm0, dword [esp + 0x110]
inc ecx
mulss xmm0, xmm1
mov eax, dword [esp + 0x144]
mov dword [edi + edx + 0x68f8], eax
movss dword [edi + edx + 0x6528], xmm0
mov dword [edi + edx + 0x68fc], eax
movss dword [edi + edx + 0x652c], xmm0
mov dword [edi + edx + 0x6900], eax
movss dword [edi + edx + 0x6530], xmm0
cmp ecx, dword [esp + 0xb8]
jl 0x42e47a
mov esi, dword [esp + 0xb8]
test esi, esi
movss xmm5, dword [esp + 0x38]
movss xmm3, dword [0x48ef48]
mov eax, dword [edi + 0x14f2c]
mov edx, 0
movss dword [esp + 0x38], xmm5
mov dword [esp + 0xb8], esi
mov ecx, dword [eax + 0x2b64]
mov eax, edx
mov dword [esp + 0x44], ecx
movss xmm5, dword [0x48efa0]
jle 0x42f4be
xor ecx, ecx
mov esi, edx
shl esi, 0xa
lea edi, [esp + eax + 0x100]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x6c], esi
mov dword [esp + 0xbc], edi
mov dword [esp + 0x80], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x68], edx
movss xmm4, dword [0x48ef68]
mov eax, dword [esp + 0x80]
and eax, 1
cmp dword [esp + eax*4 + 0x74], 0
je 0x42ebe5
cmp dword [esp + 0x44], 0
jne 0x42ebe5
cmp dword [esp + 0x68], 0
jne 0x42f486
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 0x7c]
mov esi, dword [ebx + 0x14f2c]
lea eax, [ebx + edx + 0x6040]
lea ecx, [ebx + edx + 0x5c40]
mov dword [esp + 0x40], ecx
mov edx, dword [esi + 0x22d4]
test edx, edx
jle 0x42f486
cmp edx, 0x18
jle 0x42feb4
xor ebx, ebx
lea esi, [edx*4]
mov edi, 1
xor ecx, ecx
cmp esi, 0x400
cmovl ecx, edi
cmp esi, 0xfffffc00
cmovge edi, ebx
or ecx, edi
je 0x42feb4
shl edx, 2
push edx
push dword [esp + 0x44]
push eax
call fcn.004499d0
movss xmm4, dword [0x48ef68]
add esp, 0xc
jmp 0x42f486
lea eax, [eax + eax*2]
shl eax, 0xa
cmp dword [esp + 0x68], 0
lea ebx, [esp + eax + 0x2ae0]
jne 0x42ec21
cmp dword [esp + 0x80], 2
jge 0x42ec21
push dword [ebp + 0xc]
push dword [esp + 0x84]
push ebx
push dword [ebp + 8]
call fcn.0043e5d0
movss xmm4, dword [0x48ef68]
add esp, 0x10
mov eax, dword [esp + 0x6c]
cmp dword [esp + 0x80], 2
lea eax, [eax + ebx]
je 0x43054d
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0xbc]
movups xmm3, xmmword [0x48ec70]
movss xmm0, dword [ebx + edx]
mulss xmm0, xmm0
movss dword [ecx], xmm0
xor ecx, ecx
mov ebx, dword [esp + 0xbc]
xor edx, edx
movss xmm0, dword [eax + edx*4 + 0x3f8]
movss xmm1, dword [eax + edx*4 + 0x3fc]
add edx, 0xfffffffe
movsd xmm2, qword [eax + ecx*4 + 4]
unpcklps xmm1, xmm0
mulps xmm2, xmm2
mulps xmm1, xmm1
addps xmm2, xmm1
mulps xmm2, xmm3
movlps qword [ebx + ecx*4 + 4], xmm2
add ecx, 2
cmp ecx, 0x80
jb 0x42ec60
mov eax, dword [esp + 0x7c]
mov ecx, dword [ebp + 8]
lea edx, [esp + eax + 0x46e0]
mov dword [esp + 0xb4], edx
mov edx, 0x100
lea esi, [esp + eax + 0x42e0]
mov eax, dword [ecx + 0x14f2c]
pxor xmm0, xmm0
movdqu xmmword [esp + edx + 0x5db0], xmm0
movdqu xmmword [esp + edx + 0x5da0], xmm0
movdqu xmmword [esp + edx + 0x5d90], xmm0
movdqu xmmword [esp + edx + 0x5d80], xmm0
sub edx, 0x40
jne 0x42ecc5
mov edx, 0x100
pxor xmm0, xmm0
movdqu xmmword [esp + edx + 0x5eb0], xmm0
movdqu xmmword [esp + edx + 0x5ea0], xmm0
movdqu xmmword [esp + edx + 0x5e90], xmm0
movdqu xmmword [esp + edx + 0x5e80], xmm0
sub edx, 0x40
jne 0x42ecf7
mov ebx, dword [eax + 0x22d4]
test ebx, ebx
jle 0x42ee7a
xor ecx, ecx
mov dword [esp + 0xcc], ebx
xor edx, edx
mov dword [esp + 0xf4], eax
pxor xmm3, xmm3
mov dword [esp + 0xf8], esi
mov ebx, dword [esp + 0xf4]
mov eax, ecx
mov ebx, dword [ebx + edx*4 + 0x2124]
test ebx, ebx
jle 0x42ee1e
cmp ebx, 8
jl 0x42fef3
mov edi, dword [esp + 0xbc]
movaps xmm1, xmm3
mov dword [esp + 0xc4], 0
mov esi, ebx
movaps xmm2, xmm1
and esi, 0xfffffff8
mov dword [esp + 0xc0], ecx
lea edi, [edi + ecx*4]
movaps xmm0, xmm2
mov ecx, edi
mov edi, dword [esp + 0xc4]
movups xmm5, xmmword [ecx + edi*4]
addps xmm1, xmm5
maxps xmm5, xmm0
movups xmm0, xmmword [ecx + edi*4 + 0x10]
add edi, 8
addps xmm2, xmm0
maxps xmm0, xmm5
cmp edi, esi
jb 0x42ed9f
movaps xmm5, xmm0
addps xmm1, xmm2
movaps xmm2, xmm1
movhlps xmm5, xmm0
movhlps xmm2, xmm1
maxps xmm0, xmm5
addps xmm1, xmm2
movaps xmm6, xmm0
movaps xmm7, xmm1
shufps xmm6, xmm0, 0xf5
shufps xmm7, xmm1, 0xf5
maxss xmm0, xmm6
addss xmm1, xmm7
mov ecx, dword [esp + 0xc0]
add ecx, esi
cmp esi, ebx
jae 0x42ee25
mov ecx, dword [esp + 0xbc]
lea ecx, [ecx + eax*4]
movss xmm2, dword [ecx + esi*4]
movaps xmm5, xmm0
movaps xmm0, xmm2
inc esi
comiss xmm0, xmm5
addss xmm1, xmm2
ja 0x42ee15
movaps xmm0, xmm5
cmp esi, ebx
jb 0x42edfd
lea ecx, [eax + esi]
jmp 0x42ee25
pxor xmm1, xmm1
movaps xmm0, xmm1
mov ebx, dword [esp + 0xf4]
movss dword [esp + edx*4 + 0x5dc0], xmm0
mov eax, dword [esp + 0xf8]
movss xmm0, dword [ebx + edx*4 + 0x1c70]
mulss xmm0, xmm1
movss dword [eax + edx*4], xmm1
movss dword [esp + edx*4 + 0x5ec0], xmm0
inc edx
cmp edx, dword [esp + 0xcc]
jb 0x42ed4b
mov ebx, dword [esp + 0xcc]
mov eax, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
movss xmm1, dword [esp + 0x5ec0]
pxor xmm0, xmm0
addss xmm1, dword [esp + 0x5ec4]
comiss xmm1, xmm0
jbe 0x42eeee
movss xmm0, dword [esp + 0x5dc4]
pxor xmm2, xmm2
mov edi, dword [eax + 0x2124]
mov ecx, 8
mov edx, dword [eax + 0x2128]
maxss xmm0, dword [esp + 0x5dc0]
movaps xmm3, xmm0
lea edi, [edi + edx - 1]
cvtsi2ss xmm2, edi
subss xmm3, xmm1
mulss xmm2, xmm1
addss xmm3, xmm0
mulss xmm3, xmm4
divss xmm3, xmm2
cvttss2si edx, xmm3
cmp edx, 8
cmovg edx, ecx
mov byte [esp + 0x5fc0], dl
jmp 0x42eef6
mov byte [esp + 0x5fc0], 0
cmp ebx, 2
jle 0x430543
mov dword [esp + 0xcc], ebx
lea edi, [ebx - 2]
mov dword [esp + 0xf8], esi
xor ecx, ecx
movss xmm5, dword [0x48ef6c]
mov edx, 8
movss xmm1, dword [esp + ecx*4 + 0x5ec0]
pxor xmm0, xmm0
addss xmm1, dword [esp + ecx*4 + 0x5ec4]
addss xmm1, dword [esp + ecx*4 + 0x5ec8]
comiss xmm1, xmm0
jbe 0x42efaa
movss xmm0, dword [esp + ecx*4 + 0x5dc4]
pxor xmm2, xmm2
movss xmm3, dword [esp + ecx*4 + 0x5dc8]
mov esi, dword [eax + ecx*4 + 0x2124]
add esi, dword [eax + ecx*4 + 0x2128]
mov ebx, dword [eax + ecx*4 + 0x212c]
maxss xmm0, dword [esp + ecx*4 + 0x5dc0]
maxss xmm3, xmm0
mulss xmm3, xmm5
lea esi, [esi + ebx - 1]
cvtsi2ss xmm2, esi
subss xmm3, xmm1
mulss xmm2, xmm1
mulss xmm3, xmm4
divss xmm3, xmm2
cvttss2si ebx, xmm3
cmp ebx, 8
cmovg ebx, edx
mov byte [esp + ecx + 0x5fc1], bl
jmp 0x42efb2
mov byte [esp + ecx + 0x5fc1], 0
inc ecx
cmp ecx, edi
jb 0x42ef1f
mov ebx, dword [esp + 0xcc]
inc ecx
mov esi, dword [esp + 0xf8]
movss xmm2, dword [esp + ecx*4 + 0x5ebc]
pxor xmm0, xmm0
addss xmm2, dword [esp + ecx*4 + 0x5ec0]
comiss xmm2, xmm0
jbe 0x42f040
movss xmm0, dword [esp + ecx*4 + 0x5dc0]
pxor xmm1, xmm1
mov edi, dword [eax + ecx*4 + 0x2120]
mov edx, dword [eax + ecx*4 + 0x2124]
maxss xmm0, dword [esp + ecx*4 + 0x5dbc]
movaps xmm3, xmm0
lea edi, [edi + edx - 1]
cvtsi2ss xmm1, edi
subss xmm3, xmm2
mulss xmm2, xmm1
addss xmm3, xmm0
mulss xmm3, xmm4
mov edi, 8
divss xmm3, xmm2
cvttss2si edx, xmm3
cmp edx, 8
cmovg edx, edi
mov byte [esp + ecx + 0x5fc0], dl
jmp 0x42f048
mov byte [esp + ecx + 0x5fc0], 0
test ebx, ebx
jle 0x43053c
mov edi, dword [ebp + 8]
xor ecx, ecx
mov edx, dword [esp + 0x7c]
xor ebx, ebx
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], esi
movss xmm2, dword [0x48ef48]
lea edi, [edx + edi + 0x5440]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xd0], edi
movss xmm6, dword [0x48ef60]
movss xmm5, dword [0x48ef64]
movss xmm3, dword [0x48efa0]
mov eax, dword [esp + 0xf4]
movzx edi, byte [esp + ecx + 0x5fc0]
mov dword [esp + 0xd4], ecx
mov edx, dword [eax + ecx*8 + 0x1f28]
mov dword [esp + 0xfc], edx
mov edx, dword [edi*4 + 0x48efa4]
mov edi, dword [ebp + 8]
mov esi, dword [eax + ecx*8 + 0x1f24]
mov dword [esp + 0xec], edx
movss xmm1, dword [edi + 0x14bac]
mov edi, 1
mulss xmm1, dword [eax + ecx*4 + 0x1a70]
mov ecx, dword [esp + 0xf8]
movzx edx, byte [esp + esi + 0x5fc0]
mov eax, dword [eax + 0x22dc]
movss xmm4, dword [ecx + esi*4]
inc esi
mulss xmm4, dword [edx*4 + 0x48efc8]
mulss xmm4, dword [eax + ebx*4]
inc ebx
mov ecx, dword [esp + 0xd4]
cmp esi, dword [esp + 0xfc]
jg 0x42f2a2
movss dword [esp + 0xc8], xmm1
mov dword [esp + 0xd4], ecx
mov ecx, edi
mov edi, edx
mov edx, eax
movss xmm1, dword [edx + ebx*4]
inc ecx
mov edx, dword [esp + 0xf8]
pxor xmm0, xmm0
movzx eax, byte [esp + esi + 0x5fc0]
pxor xmm2, xmm2
add edi, eax
maxss xmm0, xmm4
mulss xmm1, dword [edx + esi*4]
comiss xmm2, xmm0
mulss xmm1, dword [eax*4 + 0x48efc8]
pxor xmm4, xmm4
maxss xmm4, xmm1
jae 0x42f261
pxor xmm1, xmm1
comiss xmm1, xmm4
jae 0x42f25e
comiss xmm4, xmm0
jbe 0x42f1a1
movaps xmm1, xmm4
divss xmm1, xmm0
jmp 0x42f1a8
movaps xmm1, xmm0
divss xmm1, xmm4
mov eax, dword [esp + 0xf0]
add eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, dword [esp + 0xec]
jg 0x42f24f
comiss xmm1, xmm5
jb 0x42f1d1
addss xmm4, xmm0
jmp 0x42f261
movss dword [esp], xmm1
movss dword [esp + 0xe0], xmm0
movss dword [esp + 0xe4], xmm4
mov dword [esp + 0xe8], ecx
call fcn.0041fdd0
fstp dword [esp + 0xd8]
mov ecx, dword [esp + 0xe8]
movss xmm4, dword [esp + 0xe4]
movss xmm0, dword [esp + 0xe0]
movss xmm1, dword [esp + 0xd8]
movss xmm5, dword [0x48ef64]
movss xmm6, dword [0x48ef60]
cvtss2sd xmm1, xmm1
addss xmm0, xmm4
mulsd xmm1, qword [0x48edb0]
cvttsd2si eax, xmm1
movaps xmm4, xmm0
mulss xmm4, dword [eax*4 + 0x48efec]
jmp 0x42f261
comiss xmm6, xmm1
ja 0x42f1c8
maxss xmm4, xmm0
jmp 0x42f261
movaps xmm4, xmm0
inc esi
inc ebx
cmp esi, dword [esp + 0xfc]
jg 0x42f27e
mov eax, dword [esp + 0xf4]
mov edx, dword [eax + 0x22dc]
jmp 0x42f144
movss xmm1, dword [esp + 0xc8]
mov edx, edi
movss xmm2, dword [0x48ef48]
mov edi, ecx
movss xmm3, dword [0x48efa0]
mov ecx, dword [esp + 0xd4]
add edi, edi
lea eax, [edx + edx + 1]
cdq
idiv edi
movss xmm7, dword [eax*4 + 0x48efc8]
mulss xmm7, xmm2
comiss xmm1, xmm3
mulss xmm4, xmm7
mov edi, dword [esp + 0xd0]
mov eax, dword [esp + 0xf4]
movss xmm0, dword [esp + ecx*4 + 0x5dc0]
mov esi, dword [edi + ecx*4 + 0x800]
mov dword [edi + ecx*4 + 0xc00], esi
movss dword [edi + ecx*4 + 0x800], xmm4
mulss xmm0, dword [eax + ecx*4 + 0x1b70]
mulss xmm0, xmm7
minss xmm0, xmm4
jbe 0x42f304
mulss xmm0, xmm1
mov eax, dword [esp + 0xf8]
comiss xmm3, xmm1
movss xmm4, dword [eax + ecx*4]
minss xmm4, xmm0
jbe 0x42f32b
mulss xmm1, xmm4
mov eax, dword [esp + 0xb4]
movss dword [eax + ecx*4], xmm1
jmp 0x42f337
mov eax, dword [esp + 0xb4]
movss dword [eax + ecx*4], xmm4
mov eax, dword [esp + 0xf4]
inc ecx
dec dword [esp + 0xf0]
cmp ecx, dword [eax + 0x22d4]
jl 0x42f09e
movss xmm4, dword [0x48ef68]
mov esi, dword [esp + 0xf8]
cmp ecx, 0x40
jge 0x42f486
mov edi, ecx
neg edi
add edi, 0x40
cmp edi, 8
jl 0x42ff08
mov eax, dword [esp + 0xb4]
lea edx, [eax + ecx*4]
mov dword [esp + 0x64], edx
and edx, 0xf
je 0x42f395
neg edx
add edx, 0x10
shr edx, 2
lea eax, [edx + 8]
cmp edi, eax
jl 0x42ff08
mov ebx, edi
lea eax, [esi + ecx*4]
sub ebx, edx
and ebx, 7
neg ebx
add ebx, edi
mov dword [esp + 0x70], eax
test edx, edx
jbe 0x42f3f3
mov dword [esp + 0xd4], ecx
xor eax, eax
mov dword [esp + 0xf8], esi
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x64]
pxor xmm0, xmm0
pxor xmm1, xmm1
movss dword [ecx + eax*4], xmm0
movss dword [esi + eax*4], xmm1
inc eax
cmp eax, edx
jb 0x42f3ce
mov ecx, dword [esp + 0xd4]
mov esi, dword [esp + 0xf8]
lea eax, [ecx + edx]
lea eax, [esi + eax*4]
test al, 0xf
je 0x42f42b
mov dword [esp + 0xf8], esi
mov eax, dword [esp + 0x70]
pxor xmm0, xmm0
mov esi, dword [esp + 0x64]
movups xmmword [eax + edx*4], xmm0
movups xmmword [eax + edx*4 + 0x10], xmm0
movups xmmword [esi + edx*4], xmm0
movups xmmword [esi + edx*4 + 0x10], xmm0
add edx, 8
cmp edx, ebx
jb 0x42f410
jmp 0x42f457
mov dword [esp + 0xf8], esi
mov eax, dword [esp + 0x70]
pxor xmm0, xmm0
mov esi, dword [esp + 0x64]
movups xmmword [eax + edx*4], xmm0
movups xmmword [esi + edx*4], xmm0
movups xmmword [eax + edx*4 + 0x10], xmm0
movups xmmword [esi + edx*4 + 0x10], xmm0
add edx, 8
cmp edx, ebx
jb 0x42f43e
mov esi, dword [esp + 0xf8]
cmp ebx, edi
jae 0x42f486
mov eax, dword [esp + 0xb4]
lea edx, [esi + ecx*4]
lea eax, [eax + ecx*4]
pxor xmm0, xmm0
pxor xmm1, xmm1
movss dword [edx + ebx*4], xmm0
movss dword [eax + ebx*4], xmm1
inc ebx
cmp ebx, edi
jb 0x42f46f
mov eax, dword [esp + 0x80]
inc eax
add dword [esp + 0x7c], 0x100
mov dword [esp + 0x80], eax
cmp eax, dword [esp + 0xb8]
jl 0x42eb3c
movss xmm5, dword [0x48efa0]
mov eax, dword [esp + 0x34]
pxor xmm4, xmm4
mov edx, dword [esp + 0x68]
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xb8], 1
je 0x43036f
cmp dword [esp + 0xb8], 0
jle 0x42f973
mov ecx, dword [ebp + 8]
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x68], edx
lea edi, [ecx + edx*4 + 0x5440]
mov dword [esp + 0x60], edi
xor ecx, ecx
mov eax, esi
and eax, 1
cmp dword [esp + eax*4 + 0x74], 0
je 0x42f50f
cmp dword [esp + 0x44], 0
je 0x42f951
mov edi, dword [ebp + 8]
lea edx, [esp + ecx + 0x42e0]
mov dword [esp + 0x88], edx
lea eax, [esp + ecx + 0x46e0]
mov dword [esp + 0x90], eax
xor eax, eax
mov edx, dword [edi + 0x14f2c]
mov dword [esp + 0xa0], edx
mov edx, dword [edx + 0x22d8]
test edx, edx
jle 0x4302a9
mov edi, dword [esp + 0xa0]
mov dword [esp + 0x8c], 0
pxor xmm2, xmm2
mov dword [esp + 0x84], edx
movaps xmm1, xmm2
mov edi, dword [edi + 0x22d4]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa8], eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x50], esi
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0xa0]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0xac], edx
mov esi, dword [esi + eax*4 + 0x227c]
cmp esi, ecx
cmovge esi, ecx
cmp edx, esi
jge 0x42f74c
lea eax, [edx + 1]
sub esi, eax
inc esi
cmp esi, 8
jl 0x430368
mov eax, dword [esp + 0x90]
lea eax, [eax + edx*4]
mov dword [esp + 0x94], eax
and eax, 0xf
je 0x42f5f6
neg eax
add eax, 0x10
shr eax, 2
lea ecx, [eax + 8]
cmp esi, ecx
jl 0x430368
mov ecx, esi
lea edi, [ebx + edx*4]
sub ecx, eax
and ecx, 7
neg ecx
add ecx, esi
mov dword [esp + 0xa4], edi
test eax, eax
jbe 0x42f659
mov dword [esp + 0x98], 0
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x98]
mov ebx, edi
mov edi, dword [esp + 0x94]
addss xmm1, dword [ebx + edx*4]
addss xmm2, dword [edi + edx*4]
inc edx
cmp edx, eax
jb 0x42f63c
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x88]
mov dword [esp + 0xb0], ecx
lea ecx, [edx + eax]
pxor xmm0, xmm0
lea edi, [ebx + ecx*4]
movaps xmm3, xmm0
movss xmm3, xmm1
movaps xmm1, xmm0
mov ecx, dword [esp + 0xb0]
movss xmm1, xmm2
test edi, 0xf
je 0x42f6b6
mov ebx, dword [esp + 0xa4]
mov edi, dword [esp + 0x94]
movups xmm2, xmmword [ebx + eax*4]
movups xmm4, xmmword [ebx + eax*4 + 0x10]
addps xmm1, xmmword [edi + eax*4]
addps xmm3, xmm2
addps xmm0, xmm4
addps xmm1, xmmword [edi + eax*4 + 0x10]
add eax, 8
cmp eax, ecx
jb 0x42f695
jmp 0x42f6dd
mov ebx, dword [esp + 0xa4]
mov edi, dword [esp + 0x94]
addps xmm1, xmmword [edi + eax*4]
addps xmm3, xmmword [ebx + eax*4]
addps xmm0, xmmword [ebx + eax*4 + 0x10]
addps xmm1, xmmword [edi + eax*4 + 0x10]
add eax, 8
cmp eax, ecx
jb 0x42f6c4
add edx, eax
sub eax, ecx
mov ebx, dword [esp + 0x88]
sub edx, eax
movaps xmm2, xmm1
addps xmm3, xmm0
movhlps xmm2, xmm1
movaps xmm0, xmm3
movhlps xmm0, xmm3
addps xmm1, xmm2
addps xmm3, xmm0
movaps xmm4, xmm1
shufps xmm4, xmm1, 0xf5
addss xmm1, xmm4
movaps xmm2, xmm1
movaps xmm1, xmm3
shufps xmm1, xmm3, 0xf5
addss xmm3, xmm1
movaps xmm1, xmm3
cmp ecx, esi
jae 0x42f74c
mov edi, dword [esp + 0xac]
mov edx, dword [esp + 0x90]
lea eax, [ebx + edi*4]
lea edx, [edx + edi*4]
addss xmm1, dword [eax + ecx*4]
addss xmm2, dword [edx + ecx*4]
inc ecx
cmp ecx, esi
jb 0x42f733
mov eax, dword [esp + 0xac]
lea edx, [eax + ecx]
cmp edx, dword [esp + 0x9c]
jge 0x430278
mov eax, dword [esp + 0xa0]
movaps xmm7, xmm5
mov esi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x90]
movss xmm4, dword [ebx + edx*4]
movss xmm3, dword [eax + esi*4 + 0x1ec8]
movaps xmm0, xmm4
movss xmm6, dword [ecx + edx*4]
inc edx
mulss xmm0, xmm3
subss xmm7, xmm3
mulss xmm3, xmm6
addss xmm1, xmm0
addss xmm2, xmm3
movss dword [esp + esi*4 + 0x4b14], xmm1
movaps xmm1, xmm4
movss dword [esp + esi*4 + 0x4ae0], xmm2
inc esi
movaps xmm2, xmm6
mulss xmm1, xmm7
mulss xmm2, xmm7
mov dword [esp + 0xa8], esi
cmp esi, dword [esp + 0x84]
jl 0x42f599
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
pxor xmm4, xmm4
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x4b14]
mov edi, dword [esp + 0x4ae0]
mov dword [ebx + eax + 0x1428], edx
mov dword [ebx + eax + 0x1058], edi
mov edx, dword [esp + 0x4b18]
mov edi, dword [esp + 0x4ae4]
mov dword [ebx + eax + 0x1434], edx
mov dword [ebx + eax + 0x1064], edi
mov edx, dword [esp + 0x4b1c]
mov edi, dword [esp + 0x4ae8]
mov dword [ebx + eax + 0x1440], edx
mov dword [ebx + eax + 0x1070], edi
mov edx, dword [esp + 0x4b20]
mov edi, dword [esp + 0x4aec]
mov dword [ebx + eax + 0x144c], edx
mov dword [ebx + eax + 0x107c], edi
mov edx, dword [esp + 0x4b24]
mov edi, dword [esp + 0x4af0]
mov dword [ebx + eax + 0x1458], edx
mov dword [ebx + eax + 0x1088], edi
mov edx, dword [esp + 0x4b28]
mov edi, dword [esp + 0x4af4]
mov dword [ebx + eax + 0x1464], edx
mov dword [ebx + eax + 0x1094], edi
mov edx, dword [esp + 0x4b2c]
mov edi, dword [esp + 0x4af8]
mov dword [ebx + eax + 0x1470], edx
mov dword [ebx + eax + 0x10a0], edi
mov edx, dword [esp + 0x4b30]
mov edi, dword [esp + 0x4afc]
mov dword [ebx + eax + 0x147c], edx
mov dword [ebx + eax + 0x10ac], edi
mov edx, dword [esp + 0x4b34]
mov edi, dword [esp + 0x4b00]
mov dword [ebx + eax + 0x1488], edx
mov dword [ebx + eax + 0x10b8], edi
mov edx, dword [esp + 0x4b38]
mov edi, dword [esp + 0x4b04]
mov dword [ebx + eax + 0x1494], edx
mov dword [ebx + eax + 0x10c4], edi
mov edx, dword [esp + 0x4b3c]
mov edi, dword [esp + 0x4b08]
mov dword [ebx + eax + 0x14a0], edx
mov dword [ebx + eax + 0x10d0], edi
mov edx, dword [esp + 0x4b40]
mov edi, dword [esp + 0x4b0c]
mov dword [ebx + eax + 0x14ac], edx
mov dword [ebx + eax + 0x10dc], edi
mov edx, dword [esp + 0x4b44]
mov edi, dword [esp + 0x4b10]
mov dword [ebx + eax + 0x14b8], edx
mov dword [ebx + eax + 0x10e8], edi
inc esi
add ebx, 0xf4
add ecx, 0x100
cmp esi, dword [esp + 0xb8]
jl 0x42f4f8
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x68]
inc edx
add eax, 0x204
cmp edx, 3
jge 0x42f98b
cmp dword [esp + 0xb8], 0
jmp 0x42eb02
mov esi, dword [esp + 0xb8]
mov edi, dword [ebp + 8]
test esi, esi
jle 0x42fb58
xor eax, eax
lea edx, [esp + 0x4b50]
movss xmm4, dword [0x48ef88]
xor ebx, ebx
mov dword [esp + 0x30], edx
mov dword [edx - 0x4a98], esi
mov esi, eax
xor edx, edx
lea ecx, [esp + ebx + 0x2768]
mov dword [esp + 0x28], ecx
lea ecx, [esi + esi*2]
mov dword [esp + 0x10], ebx
lea ecx, [esp + ecx*4 + 0x5d90]
mov dword [esp + 0x2c], ecx
lea eax, [ebx + edi + 0x5440]
mov dword [esp + 0x44], esi
xor ecx, ecx
xor edi, edi
mov dword [esp + 0x38], eax
mov ebx, edi
mov dword [esp + 0x40], ecx
lea esi, [eax + ecx]
mov dword [esp + 0x34], edx
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
movss xmm6, dword [esi + ebx*4 + 0x1058]
mulss xmm6, xmm4
movaps xmm2, xmm6
test ebx, ebx
jle 0x42fa1f
movss xmm5, dword [esp + ebx*4 + 0x44]
jmp 0x42fa2d
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
movss xmm5, dword [edx + ecx + 8]
mov edx, dword [eax + ebx*4]
cmp edx, 2
jge 0x42fa3c
cmp dword [eax + ebx*4 + 4], 1
jne 0x42fa96
pxor xmm1, xmm1
comiss xmm6, xmm1
jbe 0x42fa92
movaps xmm0, xmm5
divss xmm0, xmm6
movss xmm1, dword [0x48ef8c]
movss dword [esp + 0x1c], xmm5
mov dword [esp + 0x20], edx
movss dword [esp + 0x24], xmm6
mov dword [esp + 0x30], eax
call fcn.004472f0
movss xmm6, dword [esp + 0x24]
movaps xmm2, xmm0
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
movss xmm5, dword [esp + 0x1c]
movss xmm4, dword [0x48ef88]
mulss xmm2, xmm6
jmp 0x42fa96
pxor xmm2, xmm2
movaps xmm3, xmm2
minss xmm3, xmm6
cmp edx, 1
je 0x430262
test ebx, ebx
jne 0x42fabf
mov ecx, dword [esp + 0x44]
mov edx, dword [ebp + 8]
cmp dword [edx + ecx*4 + 0x6c88], 3
je 0x42ff0f
test ebx, ebx
jle 0x42face
cmp dword [eax + ebx*4 - 4], 3
je 0x42ff0f
minss xmm2, xmm3
minss xmm6, xmm2
mulss xmm6, dword [edi + ebx*4]
movss dword [esp + ebx*4 + 0x48], xmm6
inc ebx
cmp ebx, 3
jl 0x42fa03
mov dword [esp + 0x30], eax
xor edi, edi
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x48]
mov dword [ecx + eax + 0x1058], ebx
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x4c]
inc edx
mov ebx, dword [esp + 0x50]
mov dword [ecx + eax + 0x105c], esi
mov dword [ecx + eax + 0x1060], ebx
add ecx, 0xc
cmp edx, 0xd
jl 0x42f9ea
mov esi, dword [esp + 0x44]
inc esi
mov ebx, dword [esp + 0x10]
add dword [esp + 0x30], 0x10
add ebx, 0xf4
mov edi, dword [ebp + 8]
cmp esi, dword [esp + 0xb8]
jl 0x42f9bc
mov esi, dword [esp + 0xb8]
test esi, esi
jle 0x42fbaa
mov edx, esi
shr edx, 1
je 0x430258
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + eax + 0x4b58]
mov dword [edi + ecx*8 + 0x6c88], ebx
mov ebx, dword [esp + eax + 0x4b68]
add eax, 0x20
mov dword [edi + ecx*8 + 0x6c8c], ebx
inc ecx
cmp ecx, edx
jb 0x42fb68
lea ecx, [ecx + ecx + 1]
lea eax, [ecx - 1]
cmp eax, esi
jae 0x42fbaa
mov eax, ecx
shl eax, 4
mov edx, dword [esp + eax + 0x4b48]
mov dword [edi + ecx*4 + 0x6c84], edx
mov ebx, dword [edi + 0x4c]
test ebx, ebx
jle 0x42fc06
mov dword [esp + 0xb8], esi
xor ecx, ecx
mov edx, dword [edi + ecx*4 + 0x6c98]
cmp dword [esp + ecx*4 + 0x74], 0
je 0x42fbd7
xor eax, eax
mov esi, 3
cmp edx, 2
cmove eax, esi
jmp 0x42fbed
mov eax, 2
test edx, edx
jne 0x42fbe7
mov edx, 1
jmp 0x42fbed
cmp edx, 3
cmove edx, eax
mov esi, dword [ebp + 0x28]
mov dword [esi + ecx*4], edx
mov dword [edi + ecx*4 + 0x6c98], eax
inc ecx
cmp ecx, ebx
jl 0x42fbba
mov esi, dword [esp + 0xb8]
test esi, esi
jle 0x42ff98
mov edx, dword [ebp + 0x10]
xor eax, eax
imul ecx, edx, 0x3d0
movsd xmm1, qword [0x48edc8]
mov ebx, dword [ebp + 0x14]
shl edx, 5
add edx, dword [esp + 0x3c]
mov dword [esp + 0x30], edx
add ebx, ecx
mov dword [esp + 0x20], ebx
mov ebx, dword [ebp + 0x20]
add ecx, dword [ebp + 0x18]
mov dword [esp + 0xb8], esi
mov dword [esp + 0x18], ecx
lea ebx, [ebx - 8]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], eax
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x28]
mov esi, dword [esp + 0x14]
jmp 0x42fc6b
mov dword [esp + 0x28], edx
mov edi, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x28]
mov ebx, dword [esp + 0x20]
mov ecx, dword [edx + eax*4]
mov dword [esp + 0x24], edi
mov edx, dword [esp + 0x28]
add ebx, esi
cmp ecx, 2
je 0x42ffc8
mov ecx, dword [ebp + 8]
xor edi, edi
movss xmm2, dword [0x48ef94]
mov dword [esp + 0x28], edx
movss xmm0, dword [ecx + 0x14bac]
mov dword [esp + 0x2c], eax
movss xmm4, dword [ebx + edi*4]
pxor xmm3, xmm3
comiss xmm4, xmm3
jbe 0x42fd61
mulss xmm4, xmm0
movss xmm5, dword [ebx + edi*4 + 0xf4]
comiss xmm5, xmm4
jbe 0x42fd61
movss xmm3, dword [0x48ef98]
mulss xmm3, xmm4
comiss xmm5, xmm3
jbe 0x42fcfa
pxor xmm3, xmm3
cvtss2sd xmm3, dword [edi*4 + 0x48eb20]
cvtss2sd xmm2, xmm2
mulsd xmm3, xmm1
addsd xmm2, xmm3
cvtsd2ss xmm2, xmm2
jmp 0x42fd61
divss xmm5, xmm4
movss dword [esp], xmm5
movss dword [esp + 0x34], xmm2
movss dword [esp + 0x38], xmm0
call fcn.0041fdd0
fstp dword [esp + 0xd8]
movsd xmm1, qword [0x48edc8]
movss xmm0, dword [esp + 0x38]
movss xmm2, dword [esp + 0x34]
movss xmm3, dword [esp + 0xd8]
pxor xmm4, xmm4
cvtss2sd xmm4, dword [edi*4 + 0x48eb20]
cvtss2sd xmm3, xmm3
cvtss2sd xmm2, xmm2
mulsd xmm4, qword [0x48edc0]
mulsd xmm4, xmm3
addsd xmm2, xmm4
cvtsd2ss xmm2, xmm2
inc edi
cmp edi, 0x15
jb 0x42fca2
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
movss dword [ecx + edx], xmm2
cmp dword [esp + 0x3c], 0
je 0x42fd94
cvtss2sd xmm2, xmm2
mov ecx, dword [esp + 0x30]
movsd qword [ecx + eax*8 + 0x2e338], xmm2
inc eax
add edx, 4
add esi, 0x1e8
cmp eax, dword [esp + 0xb8]
jge 0x42ff98
cmp eax, 1
jle 0x42fc61
mov ebx, dword [ebp + 0x28]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
cmp dword [ebx], 2
je 0x42fdd1
mov ecx, dword [ebp + 0x28]
cmp dword [ecx + 4], 2
je 0x42fdd1
xor ecx, ecx
jmp 0x42fdd6
mov ecx, 2
imul edi, eax, 0x1e8
mov ebx, dword [esp + 0x18]
lea ebx, [ebx + edi - 0x3d0]
jmp 0x42fc7c
xor edx, edx
movss xmm7, dword [0x48ef70]
xor eax, eax
nop dword [eax + eax]
movss xmm3, dword [eax + edi + 0xffc]
inc edx
movss xmm6, dword [eax + edi + 0xff8]
movaps xmm1, xmm3
movss xmm2, dword [eax + edi + 0x1ffc]
movaps xmm4, xmm6
movss xmm5, dword [eax + edi + 0x1ff8]
addss xmm1, xmm2
subss xmm3, xmm2
addss xmm4, xmm5
subss xmm6, xmm5
mulss xmm1, xmm7
mulss xmm3, xmm7
mulss xmm4, xmm7
mulss xmm6, xmm7
movss dword [eax + edi + 0xffc], xmm1
movss dword [eax + edi + 0x1ffc], xmm3
movss dword [eax + edi + 0xff8], xmm4
movss dword [eax + edi + 0x1ff8], xmm6
add eax, 0xfffffff8
cmp edx, 0x200
jb 0x42fe00
jmp 0x42d839
mov eax, dword [esp + 0x14]
xor edx, edx
mov edi, dword [esp + 0x38]
add eax, edi
add eax, esi
jmp 0x42da54
xor eax, eax
jmp 0x42db0e
xor edi, edi
pxor xmm3, xmm3
movaps xmm1, xmm3
jmp 0x42dd44
mov dword [esp + 0x34], 0
jmp 0x42e3d8
mov ecx, edx
shr ecx, 1
je 0x42ff01
mov esi, dword [esp + 0x40]
xor ebx, ebx
mov edi, dword [esi + ebx*8]
mov dword [eax + ebx*8], edi
mov edi, dword [esi + ebx*8 + 4]
mov dword [eax + ebx*8 + 4], edi
inc ebx
cmp ebx, ecx
jb 0x42fec0
lea ebx, [ebx + ebx + 1]
lea ecx, [ebx - 1]
cmp ecx, edx
jae 0x42f486
mov edx, dword [esp + 0x40]
mov ecx, dword [edx + ebx*4 - 4]
mov dword [eax + ebx*4 - 4], ecx
jmp 0x42f486
xor esi, esi
pxor xmm1, xmm1
movaps xmm0, xmm1
jmp 0x42edef
mov ebx, 1
jmp 0x42fed7
xor ebx, ebx
jmp 0x42f45e
test ebx, ebx
je 0x42ff35
cmp ebx, 1
jne 0x42ff28
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
movss xmm5, dword [edx + ecx + 8]
jmp 0x42ff43
cmp ebx, 2
jne 0x42ff43
movss xmm5, dword [esp + 0x48]
jmp 0x42ff43
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
movss xmm5, dword [edx + ecx + 4]
pxor xmm1, xmm1
comiss xmm3, xmm1
jbe 0x43026f
divss xmm5, xmm3
movss xmm1, dword [0x48ef90]
movaps xmm0, xmm5
movss dword [esp + 0x14], xmm3
movss dword [esp + 0x18], xmm2
mov dword [esp + 0x30], eax
call fcn.004472f0
movss xmm3, dword [esp + 0x14]
movaps xmm6, xmm0
mov eax, dword [esp + 0x30]
movss xmm2, dword [esp + 0x18]
movss xmm4, dword [0x48ef88]
mulss xmm6, xmm3
jmp 0x42face
mov ecx, dword [esp + 0x6000]
mov dword [esp + 0x6000], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x42ffc3
xor eax, eax
add esp, 0x6004
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call fcn.00466f40
mov ecx, dword [ebp + 8]
xor edi, edi
movss xmm2, dword [0x48ef9c]
mov dword [esp + 0x14], esi
movss xmm0, dword [ecx + 0x14bac]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
lea esi, [edi + edi*2]
movss xmm4, dword [ebx + esi*4 + 0x58]
pxor xmm3, xmm3
comiss xmm4, xmm3
jbe 0x4300ac
mulss xmm4, xmm0
movss xmm5, dword [ebx + esi*4 + 0x14c]
comiss xmm5, xmm4
jbe 0x4300ac
movss xmm3, dword [0x48ef98]
mulss xmm3, xmm4
comiss xmm5, xmm3
jbe 0x430045
pxor xmm3, xmm3
cvtss2sd xmm3, dword [edi*4 + 0x48eb74]
cvtss2sd xmm2, xmm2
mulsd xmm3, xmm1
addsd xmm2, xmm3
cvtsd2ss xmm2, xmm2
jmp 0x4300ac
divss xmm5, xmm4
movss dword [esp], xmm5
movss dword [esp + 0x10], xmm0
movss dword [esp + 0x34], xmm2
call fcn.0041fdd0
fstp dword [esp + 0xd8]
movsd xmm1, qword [0x48edc8]
movss xmm2, dword [esp + 0x34]
movss xmm0, dword [esp + 0x10]
movss xmm3, dword [esp + 0xd8]
pxor xmm4, xmm4
cvtss2sd xmm4, dword [edi*4 + 0x48eb74]
cvtss2sd xmm3, xmm3
cvtss2sd xmm2, xmm2
mulsd xmm4, qword [0x48edc0]
mulsd xmm4, xmm3
addsd xmm2, xmm4
cvtsd2ss xmm2, xmm2
movss xmm4, dword [ebx + esi*4 + 0x5c]
pxor xmm3, xmm3
comiss xmm4, xmm3
jbe 0x430170
mulss xmm4, xmm0
movss xmm5, dword [ebx + esi*4 + 0x150]
comiss xmm5, xmm4
jbe 0x430170
movss xmm3, dword [0x48ef98]
mulss xmm3, xmm4
comiss xmm5, xmm3
jbe 0x430109
pxor xmm3, xmm3
cvtss2sd xmm3, dword [edi*4 + 0x48eb74]
cvtss2sd xmm2, xmm2
mulsd xmm3, xmm1
addsd xmm3, xmm2
pxor xmm2, xmm2
cvtsd2ss xmm2, xmm3
jmp 0x430170
divss xmm5, xmm4
movss dword [esp], xmm5
movss dword [esp + 0x10], xmm0
movss dword [esp + 0x34], xmm2
call fcn.0041fdd0
fstp dword [esp + 0xd8]
movsd xmm1, qword [0x48edc8]
movss xmm2, dword [esp + 0x34]
movss xmm0, dword [esp + 0x10]
movss xmm3, dword [esp + 0xd8]
pxor xmm4, xmm4
cvtss2sd xmm4, dword [edi*4 + 0x48eb74]
cvtss2sd xmm3, xmm3
cvtss2sd xmm2, xmm2
mulsd xmm4, qword [0x48edc0]
mulsd xmm4, xmm3
addsd xmm2, xmm4
cvtsd2ss xmm2, xmm2
movss xmm4, dword [ebx + esi*4 + 0x60]
pxor xmm3, xmm3
comiss xmm4, xmm3
jbe 0x430234
mulss xmm4, xmm0
movss xmm5, dword [ebx + esi*4 + 0x154]
comiss xmm5, xmm4
jbe 0x430234
movss xmm3, dword [0x48ef98]
mulss xmm3, xmm4
comiss xmm5, xmm3
jbe 0x4301cd
pxor xmm3, xmm3
cvtss2sd xmm3, dword [edi*4 + 0x48eb74]
cvtss2sd xmm2, xmm2
mulsd xmm3, xmm1
addsd xmm3, xmm2
pxor xmm2, xmm2
cvtsd2ss xmm2, xmm3
jmp 0x430234
divss xmm5, xmm4
movss dword [esp], xmm5
movss dword [esp + 0x10], xmm0
movss dword [esp + 0x34], xmm2
call fcn.0041fdd0
fstp dword [esp + 0xd8]
movsd xmm1, qword [0x48edc8]
movss xmm2, dword [esp + 0x34]
movss xmm0, dword [esp + 0x10]
movss xmm3, dword [esp + 0xd8]
pxor xmm4, xmm4
cvtss2sd xmm4, dword [edi*4 + 0x48eb74]
cvtss2sd xmm3, xmm3
cvtss2sd xmm2, xmm2
mulsd xmm4, qword [0x48edc0]
mulsd xmm4, xmm3
addsd xmm2, xmm4
cvtsd2ss xmm2, xmm2
inc edi
cmp edi, 0xc
jb 0x42ffe9
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
movss dword [ecx + edx], xmm2
jmp 0x42fd7c
mov ecx, 1
jmp 0x42fb90
pxor xmm1, xmm1
comiss xmm3, xmm1
ja 0x42ff50
pxor xmm6, xmm6
jmp 0x42face
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0x84]
pxor xmm4, xmm4
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x50]
movss dword [esp + eax*4 + 0x4b14], xmm1
movss dword [esp + eax*4 + 0x4ae0], xmm2
inc eax
cmp eax, edx
jge 0x42f7e1
lea edi, [eax + 1]
sub edx, edi
inc edx
cmp edx, 4
jl 0x43035e
mov edi, edx
and edi, 0xfffffffc
mov dword [esp + 0x5c], edi
lea edi, [esp + eax*4 + 0x4b14]
mov dword [esp + 0x58], edi
lea edi, [esp + eax*4 + 0x4ae0]
mov dword [esp + 0x54], 0
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], esi
mov ecx, dword [esp + 0x5c]
mov ebx, edi
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x54]
movups xmmword [esi + edi*4], xmm4
movups xmmword [ebx + edi*4], xmm4
add edi, 4
cmp edi, ecx
jb 0x4302fd
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x50]
cmp edx, dword [esp + 0x5c]
jbe 0x42f7e1
mov dword [esp + 0x50], esi
lea edi, [esp + eax*4 + 0x4b14]
lea eax, [esp + eax*4 + 0x4ae0]
mov esi, edi
mov edi, dword [esp + 0x5c]
pxor xmm0, xmm0
pxor xmm1, xmm1
movss dword [esi + edi*4], xmm0
movss dword [eax + edi*4], xmm1
inc edi
cmp edi, edx
jb 0x43033e
mov esi, dword [esp + 0x50]
jmp 0x42f7e1
mov dword [esp + 0x5c], 0
jmp 0x43031c
xor ecx, ecx
jmp 0x42f71b
mov ecx, dword [esp + 0x74]
add ecx, dword [esp + 0x78]
jne 0x42f4ce
mov ecx, dword [ebp + 8]
mov esi, dword [esp + 0x30]
movss xmm1, dword [ecx + 0xc4]
movaps xmm0, xmm1
mov ebx, dword [ecx + 0x14f28]
addss xmm0, xmm1
mov ecx, dword [esi + 0x22d4]
test ecx, ecx
jle 0x42f4ce
movss dword [esp + 0x10], xmm0
xor esi, esi
movss dword [esp + 0x28], xmm1
mov edi, dword [esp + 0x30]
movss xmm4, dword [esp + esi*4 + 0x47e0]
movss xmm1, dword [esp + 0x38]
mulss xmm1, xmm4
movss xmm2, dword [esp + esi*4 + 0x46e0]
movss xmm6, dword [esp + esi*4 + 0x44e0]
movss xmm0, dword [esp + esi*4 + 0x48e0]
movss xmm5, dword [esp + esi*4 + 0x45e0]
movss xmm3, dword [esp + esi*4 + 0x49e0]
comiss xmm1, xmm2
jb 0x430445
movss xmm1, dword [esp + 0x38]
mulss xmm1, xmm2
comiss xmm1, xmm4
jb 0x430445
movss xmm1, dword [edi + esi*4 + 0x1d70]
movaps xmm7, xmm5
mulss xmm7, xmm1
movss dword [esp + 0x14], xmm1
movaps xmm1, xmm3
minss xmm1, xmm7
movaps xmm7, xmm0
maxss xmm7, xmm1
movss xmm1, dword [esp + 0x14]
mulss xmm1, xmm6
minss xmm0, xmm1
maxss xmm3, xmm0
jmp 0x430448
movaps xmm7, xmm0
movss xmm0, dword [esp + 0x28]
pxor xmm1, xmm1
comiss xmm0, xmm1
jbe 0x430508
movss xmm0, dword [esp + 0x2c]
movaps xmm1, xmm7
mulss xmm0, dword [ebx + esi*4 + 0x1d4]
movss dword [esp + 0x18], xmm0
maxss xmm1, xmm0
movss dword [esp + 0x24], xmm1
movaps xmm1, xmm3
maxss xmm1, xmm0
movss xmm0, dword [esp + 0x24]
movss dword [esp + 0x20], xmm1
pxor xmm1, xmm1
addss xmm0, dword [esp + 0x20]
movss dword [esp + 0x1c], xmm0
comiss xmm0, xmm1
jbe 0x4304ee
movss xmm0, dword [esp + 0x18]
movss xmm1, dword [esp + 0x1c]
maxss xmm2, xmm0
maxss xmm4, xmm0
minss xmm2, xmm4
mulss xmm2, dword [esp + 0x10]
comiss xmm1, xmm2
jbe 0x4304ee
divss xmm2, dword [esp + 0x1c]
movss xmm0, dword [esp + 0x24]
movss xmm1, dword [esp + 0x20]
mulss xmm0, xmm2
mulss xmm1, xmm2
movss dword [esp + 0x24], xmm0
movss dword [esp + 0x20], xmm1
movaps xmm0, xmm7
movaps xmm1, xmm3
movss xmm7, dword [esp + 0x24]
movss xmm3, dword [esp + 0x20]
minss xmm7, xmm0
minss xmm3, xmm1
minss xmm6, xmm7
minss xmm5, xmm3
movss dword [esp + esi*4 + 0x48e0], xmm6
movss dword [esp + esi*4 + 0x49e0], xmm5
inc esi
cmp esi, ecx
jl 0x4303b9
movss xmm5, dword [0x48efa0]
pxor xmm4, xmm4
jmp 0x42f4ce
xor ecx, ecx
jmp 0x42f36a
mov ecx, 1
jmp 0x42efca
xor ecx, ecx
movss xmm7, dword [0x48ef70]
xor edx, edx
nop dword [eax]
movss xmm2, dword [edx + eax + 0x3fc]
inc ecx
movss xmm6, dword [edx + eax + 0x3f8]
movaps xmm0, xmm2
movss xmm1, dword [edx + eax + 0xffc]
movaps xmm3, xmm6
movss xmm5, dword [edx + eax + 0xff8]
addss xmm0, xmm1
subss xmm2, xmm1
addss xmm3, xmm5
subss xmm6, xmm5
mulss xmm0, xmm7
mulss xmm2, xmm7
mulss xmm3, xmm7
mulss xmm6, xmm7
movss dword [edx + eax + 0x3fc], xmm0
movss dword [edx + eax + 0xffc], xmm2
movss dword [edx + eax + 0x3f8], xmm3
movss dword [edx + eax + 0xff8], xmm6
add edx, 0xfffffff8
cmp ecx, 0x80
jb 0x430560
jmp 0x42ec36
mov eax, dword [esp + 0x98]
mov ebx, dword [esp + 0x58]
pxor xmm4, xmm4
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
movss xmm1, dword [0x48ef80]
movups xmm2, xmmword [0x48ec80]
mov edi, dword [ebp + 8]
movss dword [esp + eax*4 + 0x114], xmm5
movss dword [esp + eax*4 + 0xe0], xmm0
inc eax
cmp eax, ebx
jge 0x42e9c6
lea esi, [eax + 1]
sub ebx, esi
inc ebx
cmp ebx, 4
jl 0x4306c4
mov esi, ebx
and esi, 0xfffffffc
mov dword [esp + 0x54], esi
lea esi, [esp + eax*4 + 0x114]
mov dword [esp + 0x50], esi
lea esi, [esp + eax*4 + 0xe0]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x54]
mov ecx, esi
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
movups xmmword [esi + edi*4], xmm4
movups xmmword [ecx + edi*4], xmm4
add edi, 4
cmp edi, edx
jb 0x43066b
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov edi, dword [ebp + 8]
cmp ebx, dword [esp + 0x54]
jbe 0x42e9c6
mov edi, dword [esp + 0x54]
lea esi, [esp + eax*4 + 0x114]
lea eax, [esp + eax*4 + 0xe0]
pxor xmm0, xmm0
pxor xmm5, xmm5
movss dword [esi + edi*4], xmm0
movss dword [eax + edi*4], xmm5
inc edi
cmp edi, ebx
jb 0x4306a5
mov edi, dword [ebp + 8]
jmp 0x42e9c6
mov dword [esp + 0x54], 0
jmp 0x430689
xor ecx, ecx
jmp 0x42e8fc
mov ebx, dword [esp + 0x88]
mov eax, dword [esp + 0xa4]
pxor xmm4, xmm4
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
movss xmm1, dword [0x48ef80]
movups xmm2, xmmword [0x48ec80]
mov edi, dword [ebp + 8]
movss dword [ebx + eax*4 + 0x13d0], xmm5
movss dword [ebx + eax*4 + 0x1000], xmm0
inc eax
cmp eax, esi
jge 0x42e734
mov ebx, eax
neg ebx
lea ebx, [esi + ebx - 1]
mov dword [esp + 0x10], ebx
lea ebx, [ebx + 1]
mov dword [esp + 0x24], ebx
cmp ebx, 6
jle 0x4308eb
mov ebx, dword [esp + 0x88]
lea ebx, [ebx + eax*4 + 0x1000]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x10]
lea ebx, [ebx*4 + 4]
cmp ebx, 0xfffffc30
jle 0x43076d
cmp ebx, 0x3d0
jg 0x4308eb
cmp dword [esp + 0x24], 8
jl 0x4309ad
mov ebx, dword [esp + 0x14]
and ebx, 0xf
mov dword [esp + 0x8c], ebx
je 0x4307a5
test byte [esp + 0x8c], 3
jne 0x4309ad
neg ebx
add ebx, 0x10
shr ebx, 2
mov dword [esp + 0x8c], ebx
lea esi, [ebx + 8]
cmp esi, dword [esp + 0x24]
jg 0x4309ad
mov esi, dword [esp + 0x24]
mov edi, esi
sub edi, ebx
and edi, 7
neg edi
add edi, esi
mov esi, dword [esp + 0x88]
mov dword [esp + 0x20], edi
lea edi, [esi + eax*4 + 0x13d0]
mov dword [esp + 0x28], edi
mov edi, dword [ebp + 8]
test ebx, ebx
jbe 0x430818
mov dword [esp + 0x44], ecx
xor ebx, ebx
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x14]
pxor xmm0, xmm0
pxor xmm5, xmm5
movss dword [ecx + ebx*4], xmm0
movss dword [edi + ebx*4], xmm5
inc ebx
cmp ebx, esi
jb 0x4307f3
mov dword [esp + 0x8c], esi
mov ecx, dword [esp + 0x44]
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
add ebx, eax
lea esi, [esi + ebx*4 + 0x13d0]
test esi, 0xf
je 0x430869
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x14]
movups xmmword [ebx + esi*4], xmm4
movups xmmword [ebx + esi*4 + 0x10], xmm4
movups xmmword [edi + esi*4], xmm4
movups xmmword [edi + esi*4 + 0x10], xmm4
add esi, 8
cmp esi, ecx
jb 0x43084e
jmp 0x430899
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x14]
movups xmmword [ebx + esi*4], xmm4
movups xmmword [edi + esi*4], xmm4
movups xmmword [ebx + esi*4 + 0x10], xmm4
movups xmmword [edi + esi*4 + 0x10], xmm4
add esi, 8
cmp esi, ecx
jb 0x430880
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x44]
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x20]
cmp ebx, dword [esp + 0x24]
jae 0x42e734
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
lea eax, [ebx + eax*4 + 0x13d0]
mov ebx, dword [esp + 0x20]
pxor xmm0, xmm0
pxor xmm5, xmm5
movss dword [eax + ebx*4], xmm0
movss dword [esi + ebx*4], xmm5
inc ebx
cmp ebx, edi
jb 0x4308cc
mov edi, dword [ebp + 8]
jmp 0x42e734
sub esi, eax
mov ebx, esi
shr ebx, 1
mov dword [esp + 0x34], ebx
je 0x4309ba
mov edi, dword [esp + 0x88]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ecx
lea ebx, [edi + eax*4 + 0x13d0]
mov dword [esp + 0x18], ebx
lea ebx, [edi + eax*4 + 0x1000]
mov edx, ebx
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x34]
pxor xmm0, xmm0
pxor xmm5, xmm5
movss dword [ecx + ebx*8], xmm0
pxor xmm6, xmm6
movss dword [edx + ebx*8], xmm5
pxor xmm7, xmm7
movss dword [ecx + ebx*8 + 4], xmm6
movss dword [edx + ebx*8 + 4], xmm7
inc ebx
cmp ebx, edi
jb 0x430932
mov dword [esp + 0x1c], ebx
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov edi, dword [ebp + 8]
lea ebx, [ebx + ebx + 1]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x40]
lea ebx, [ebx - 1]
cmp ebx, esi
jae 0x42e734
add eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x88]
pxor xmm0, xmm0
pxor xmm5, xmm5
movss dword [ebx + eax*4 + 0x13cc], xmm0
movss dword [ebx + eax*4 + 0xffc], xmm5
jmp 0x42e734
mov dword [esp + 0x20], 0
jmp 0x4308a4
mov dword [esp + 0x40], 1
jmp 0x430974
xor ecx, ecx
jmp 0x42e663
mov eax, dword [esp + 0x74]
add eax, dword [esp + 0x78]
cmp eax, 2
jne 0x42e444
mov eax, dword [esp + 0x30]
movss xmm1, dword [edi + 0xc4]
movaps xmm0, xmm1
mov eax, dword [eax + 0x1a64]
addss xmm0, xmm1
mov edx, dword [edi + 0x14f28]
test eax, eax
jle 0x42e444
movss xmm5, dword [0x48ef84]
xor ecx, ecx
movss dword [esp + 0x10], xmm0
movss dword [esp + 0x28], xmm1
movss dword [esp + 0x38], xmm5
mov ebx, dword [esp + 0x30]
movss xmm3, dword [esp + ecx*4 + 0x47e0]
movss xmm2, dword [0x48ef84]
mulss xmm2, xmm3
movss xmm0, dword [esp + ecx*4 + 0x46e0]
movss xmm5, dword [esp + ecx*4 + 0x44e0]
movss xmm6, dword [esp + ecx*4 + 0x48e0]
movss xmm4, dword [esp + ecx*4 + 0x45e0]
movss xmm1, dword [esp + ecx*4 + 0x49e0]
comiss xmm2, xmm0
jb 0x430ab3
movss xmm2, dword [0x48ef84]
mulss xmm2, xmm0
comiss xmm2, xmm3
jb 0x430ab3
movss xmm7, dword [ebx + ecx*4 + 0x1500]
movaps xmm2, xmm4
mulss xmm2, xmm7
movss dword [esp + 0x14], xmm7
movaps xmm7, xmm1
minss xmm7, xmm2
movaps xmm2, xmm6
maxss xmm2, xmm7
movss xmm7, dword [esp + 0x14]
mulss xmm7, xmm5
minss xmm6, xmm7
maxss xmm1, xmm6
jmp 0x430ab6
movaps xmm2, xmm6
movss xmm6, dword [esp + 0x28]
pxor xmm7, xmm7
comiss xmm6, xmm7
jbe 0x430b71
movss xmm7, dword [esp + 0x2c]
movaps xmm6, xmm2
mulss xmm7, dword [edx + ecx*4 + 0xd4]
movss dword [esp + 0x1c], xmm7
maxss xmm6, xmm7
movss dword [esp + 0x24], xmm6
movaps xmm6, xmm1
maxss xmm6, xmm7
movss xmm7, dword [esp + 0x24]
movss dword [esp + 0x20], xmm6
addss xmm7, xmm6
pxor xmm6, xmm6
movss dword [esp + 0x18], xmm7
comiss xmm7, xmm6
jbe 0x430b57
movss xmm6, dword [esp + 0x1c]
maxss xmm0, xmm6
maxss xmm3, xmm6
minss xmm0, xmm3
movaps xmm3, xmm7
mulss xmm0, dword [esp + 0x10]
comiss xmm3, xmm0
jbe 0x430b57
divss xmm0, dword [esp + 0x18]
movss xmm3, dword [esp + 0x24]
movss xmm6, dword [esp + 0x20]
mulss xmm3, xmm0
mulss xmm6, xmm0
movss dword [esp + 0x24], xmm3
movss dword [esp + 0x20], xmm6
movaps xmm0, xmm2
movaps xmm3, xmm1
movss xmm2, dword [esp + 0x24]
movss xmm1, dword [esp + 0x20]
minss xmm2, xmm0
minss xmm1, xmm3
minss xmm5, xmm2
minss xmm4, xmm1
movss dword [esp + ecx*4 + 0x48e0], xmm5
movss dword [esp + ecx*4 + 0x49e0], xmm4
inc ecx
cmp ecx, eax
jl 0x430a23
movss xmm3, dword [0x48ef48]
movss xmm5, dword [esp + 0x38]
pxor xmm4, xmm4
jmp 0x42e44c
mov eax, dword [esp + 0x8c]
pxor xmm6, xmm6
comiss xmm4, xmm6
movss xmm7, dword [eax + ecx*4]
jbe 0x430bcc
movaps xmm6, xmm5
minss xmm6, xmm4
jmp 0x42e23e
pxor xmm4, xmm4
pxor xmm6, xmm6
cvtss2sd xmm4, xmm7
cvtss2sd xmm6, xmm5
mulsd xmm4, qword [0x48edb8]
minsd xmm6, xmm4
cvtsd2ss xmm6, xmm6
jmp 0x42e23e
xor ecx, ecx
jmp 0x42e2cd
mov ecx, 1
jmp 0x42df1c
mov eax, edx
shr eax, 1
je 0x430c35
xor ecx, ecx
xor ebx, ebx
mov dword [esp + ecx*8 + 0x74], ebx
mov dword [esp + ecx*8 + 0x78], ebx
inc ecx
cmp ecx, eax
jb 0x430c0c
lea ecx, [ecx + ecx + 1]
lea eax, [ecx - 1]
cmp eax, edx
jae 0x42d7b6
mov dword [esp + ecx*4 + 0x70], 0
jmp 0x42d7b6
mov ecx, 1
jmp 0x430c1d
mov eax, edx
shr eax, 1
je 0x430c72
xor ebx, ebx
mov ecx, 1
mov dword [esp + ebx*8 + 0x74], ecx
mov dword [esp + ebx*8 + 0x78], ecx
inc ebx
cmp ebx, eax
jb 0x430c49
lea ecx, [ebx + ebx + 1]
lea eax, [ecx - 1]
cmp eax, edx
jae 0x42d7b6
mov dword [esp + ecx*4 + 0x70], 1
jmp 0x42d7b6
mov ecx, 1
jmp 0x430c5a
cmp dword [esp + 0x74], 0
je 0x430c8b
cmp dword [esp + 0x78], 0
jne 0x42d7b6
xor eax, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
jmp 0x42d7b6
movss xmm3, dword [0x48ef48]
jmp 0x42d78e
pxor xmm4, xmm4
jmp 0x42e437