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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
sub esp, 0x364
mov edx, dword [ebp + 8]
mov eax, dword [0x4f6e34]
xor eax, esp
mov edi, dword [edx + 0x50]
mov dword [esp + 0x354], eax
test edi, edi
jle 0x42a9ba
xor ecx, ecx
mov eax, dword [ebp + 8]
xor ebx, ebx
xor esi, esi
pxor xmm0, xmm0
xor edx, edx
mov eax, dword [eax + 0x4c]
movsd xmm6, qword [0x48e0a0]
movss xmm5, dword [0x48e0f4]
movsd xmm7, qword [0x48e0b0]
movsd xmm4, qword [0x48e0b8]
movss xmm3, dword [0x48e104]
movsd xmm2, qword [0x48e0c0]
movsd xmm1, qword [0x48e078]
mov dword [esp + 0x64], edx
test eax, eax
jle 0x42a99a
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x18], ebx
add edi, esi
mov dword [esp + 0x40], edi
add eax, ebx
imul edi, ecx, 0x270
mov dword [esp + 0x68], edi
imul edi, ecx, 0x2c0
mov dword [esp + 0x160], edi
imul edi, ecx, 0x160
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x15c], edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x14], esi
mov ebx, dword [esp + 0x3c]
mov ecx, dword [ebp + 8]
imul eax, ebx, 0x1484
mov edi, dword [esp + 0x44]
lea edi, [eax + edi + 0x134]
lea edx, [edi + 0x1200]
mov dword [esp + 0x120], edx
movups xmm0, xmmword [edx + 0x80]
movups xmmword [esp + 0x200], xmm0
movsd xmm2, qword [edx + 0x90]
movsd qword [esp + 0x210], xmm2
mov esi, dword [edx + 0x98]
mov dword [esp + 0x218], esi
mov esi, 0x80
mov edx, dword [esp + 0x120]
movups xmm0, xmmword [edx + esi - 0x10]
movups xmmword [esp + esi + 0x170], xmm0
movups xmm2, xmmword [edx + esi - 0x20]
movups xmmword [esp + esi + 0x160], xmm2
movups xmm3, xmmword [edx + esi - 0x30]
movups xmmword [esp + esi + 0x150], xmm3
movups xmm4, xmmword [edx + esi - 0x40]
movups xmmword [esp + esi + 0x140], xmm4
sub esi, 0x40
jne 0x4296f6
cmp dword [esp + 0x4c], 1
je 0x42af33
imul eax, ebx, 0x1e8
movaps xmm2, xmm1
cmp dword [edi + 0x12e4], 0
lea edx, [esp + 0x21c]
mov esi, dword [ecx + 0x14f28]
je 0x429763
movaps xmm2, xmm6
add eax, dword [esp + 0x40]
mov dword [edx - 0xb0], eax
xor eax, eax
mov dword [edx - 0x160], edx
mov dword [edx - 0x15c], esi
mov dword [edx - 0xec], eax
mov dword [edx - 0x164], eax
cmp dword [edi + 0x12f8], 0
jle 0x429b42
movsd qword [esp + 0x20], xmm2
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x168], edi
movss xmm2, dword [0x48e0f8]
mov esi, dword [esp + 0x130]
mov ebx, eax
mov eax, dword [esp + 0xc0]
mov edi, esi
mov edx, dword [ebp + 8]
push dword [eax + ebx*4 + 0x18]
movss xmm3, dword [eax + 8]
movss xmm0, dword [eax + 0x14]
movss xmm1, dword [edx + 0xe4]
movss dword [esp + 0xc8], xmm0
movss dword [esp + 0xcc], xmm1
movss dword [esp + 0xd8], xmm3
call fcn.0041fdd0
fstp dword [esp + 0xec]
movss xmm2, dword [0x48e0f8]
movss xmm3, dword [esp + 0xd8]
movss xmm5, dword [esp + 0xec]
add esp, 4
mulss xmm3, xmm3
comiss xmm3, dword [0x48e0e0]
jbe 0x42af2a
movss dword [esp], xmm3
movss dword [esp + 0x98], xmm5
call fcn.0041fdd0
fstp dword [esp + 0xe8]
movss xmm2, dword [0x48e0f8]
movss xmm5, dword [esp + 0x98]
movss xmm0, dword [esp + 0xe8]
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x48e090]
addsd xmm0, qword [0x48e0a0]
cvtsd2ss xmm0, xmm0
cvtss2sd xmm5, xmm5
mulsd xmm5, qword [0x48e098]
movss xmm6, dword [0x48e0f0]
movss xmm7, dword [esp + 0xc8]
cvtsd2ss xmm5, xmm5
comiss xmm6, xmm7
movss xmm4, dword [esp + 0xc4]
movss xmm1, dword [0x48e0ec]
subss xmm5, xmm4
addss xmm1, xmm4
pxor xmm4, xmm4
jbe 0x4298c4
movss xmm7, dword [0x48e0dc]
mov eax, dword [ebp + 8]
maxss xmm4, xmm0
subss xmm1, xmm7
mulss xmm5, xmm4
movss xmm3, dword [eax + ebx*4 + 0x14b20]
addss xmm1, xmm5
mulss xmm1, dword [0x48e0e8]
movss xmm0, dword [0x48e0e4]
movss dword [esp + 0xd8], xmm3
call fcn.004472f0
mov eax, dword [esp + 0x168]
pxor xmm4, xmm4
movss xmm3, dword [esp + 0xd8]
movaps xmm1, xmm0
mulss xmm1, xmm3
mov ecx, dword [eax + ebx*4 + 0x1308]
movaps xmm0, xmm1
cvtsi2ss xmm4, ecx
movss xmm2, dword [0x48e0f8]
divss xmm0, xmm4
test ecx, ecx
jle 0x429a72
cmp ecx, 4
jl 0x42a9e3
lea edx, [eax + esi*4]
mov dword [esp + 0xb0], edx
and edx, 0xf
je 0x429964
test dl, 3
jne 0x42a9e3
neg edx
add edx, 0x10
shr edx, 2
lea eax, [edx + 4]
cmp ecx, eax
jl 0x42a9e3
mov eax, ecx
movaps xmm6, xmm2
sub eax, edx
pxor xmm5, xmm5
and eax, 3
neg eax
add eax, ecx
test edx, edx
jbe 0x4299d4
mov dword [esp + 0xb4], 0
mov dword [esp + 0x130], esi
mov dword [esp + 0xb8], ebx
mov ebx, dword [esp + 0xb4]
mov esi, dword [esp + 0xb0]
movss xmm4, dword [esi + ebx*4]
inc ebx
mulss xmm4, xmm4
addss xmm5, xmm4
minss xmm4, xmm0
addss xmm6, xmm4
cmp ebx, edx
jb 0x4299ac
mov esi, dword [esp + 0x130]
mov ebx, dword [esp + 0xb8]
mov dword [esp + 0xb8], ebx
pxor xmm4, xmm4
movss xmm4, xmm5
pxor xmm5, xmm5
movss xmm5, xmm6
movaps xmm6, xmm0
shufps xmm6, xmm6, 0
mov ebx, dword [esp + 0xb0]
movups xmm7, xmmword [ebx + edx*4]
add edx, 4
mulps xmm7, xmm7
addps xmm4, xmm7
minps xmm7, xmm6
addps xmm5, xmm7
cmp edx, eax
jb 0x4299f9
movaps xmm6, xmm5
add esi, edx
movhlps xmm6, xmm5
sub edx, eax
mov ebx, dword [esp + 0xb8]
sub esi, edx
addps xmm5, xmm6
movaps xmm6, xmm4
movhlps xmm6, xmm4
movaps xmm7, xmm5
shufps xmm7, xmm5, 0xf5
addps xmm4, xmm6
addss xmm5, xmm7
movaps xmm7, xmm4
shufps xmm7, xmm4, 0xf5
addss xmm4, xmm7
cmp eax, ecx
jae 0x429a79
mov edx, dword [esp + 0x168]
lea edx, [edx + edi*4]
movss xmm6, dword [edx + eax*4]
inc eax
mulss xmm6, xmm6
addss xmm4, xmm6
minss xmm6, xmm0
addss xmm5, xmm6
cmp eax, ecx
jb 0x429a53
lea esi, [edi + eax]
jmp 0x429a79
movaps xmm5, xmm2
pxor xmm4, xmm4
comiss xmm1, xmm4
jbe 0x429a83
movaps xmm1, xmm4
jmp 0x429a87
maxss xmm1, xmm5
mov eax, dword [esp + 0x16c]
movss xmm0, dword [eax + ebx*4 + 0xf4]
comiss xmm0, dword [0x48e0f4]
jbe 0x429aba
movaps xmm5, xmm4
mulss xmm5, dword [eax + ebx*4]
divss xmm5, xmm0
mulss xmm3, xmm5
movaps xmm0, xmm1
movaps xmm1, xmm3
maxss xmm1, xmm0
movss xmm0, dword [0x48e0fc]
maxss xmm1, xmm2
mov ecx, dword [esp + 0x168]
addss xmm0, xmm1
mov edx, dword [esp + 0xbc]
cmpltss xmm0, xmm4
movd eax, xmm0
movss dword [edx], xmm1
neg eax
add edx, 4
mov byte [ebx + ecx + 0x145c], al
inc ebx
mov dword [esp + 0xbc], edx
cmp ebx, dword [ecx + 0x12f8]
jl 0x4297b6
mov dword [esp + 0xb8], ebx
mov dword [esp + 0x130], esi
movsd xmm2, qword [esp + 0x20]
mov edi, ecx
mov ebx, dword [esp + 0x3c]
movsd xmm1, qword [0x48e078]
movsd xmm7, qword [0x48e0b0]
movss xmm5, dword [0x48e0f4]
movsd xmm6, qword [0x48e0a0]
mov ecx, dword [ebp + 8]
mov edx, 0x23f
movss xmm0, dword [edi + edx*4]
andps xmm0, xmmword [0x48df50]
comiss xmm0, xmm5
ja 0x429b5d
dec edx
jg 0x429b47
xor edx, edx
mov eax, dword [edi + 0x12b4]
mov dword [esp + 0x50], eax
cmp eax, 2
je 0x42af17
or edx, 1
cmp dword [ecx + 0x14c64], 0
jne 0x429bb8
mov eax, dword [ecx + 0x44]
cmp eax, 0xabe0
jge 0x429bb8
cmp dword [esp + 0x50], 2
je 0x42aeed
cmp eax, 0x1f40
mov eax, 0x15
mov dword [esp + 0x1c], edx
mov edx, 0x11
cmovle eax, edx
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx + eax*4 + 0x5374]
dec eax
cmp eax, edx
cmovl edx, eax
mov eax, dword [edi + 0x1300]
mov dword [edi + 0x1458], edx
mov edx, dword [edi + 0x12f4]
cmp eax, dword [esp + 0xb8]
jle 0x42a04d
mov dword [esp + 0x3c], ebx
movsd qword [esp + 0x20], xmm2
mov dword [esp + 0x138], edx
mov dword [esp + 0x168], edi
mov esi, dword [esp + 0xbc]
mov ebx, dword [esp + 0xb8]
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0x138]
mov ecx, dword [ebp + 8]
movss xmm2, dword [edx + 8]
movss xmm0, dword [edx + 0x14]
push dword [edx + eax*4 + 0x70]
mov dword [esp + 0x144], esi
movss xmm1, dword [ecx + 0xe4]
movss dword [esp + 0xd0], xmm0
movss dword [esp + 0xd4], xmm1
movss dword [esp + 0xe0], xmm2
call fcn.0041fdd0
fstp dword [esp + 0xec]
movss xmm2, dword [esp + 0xe0]
movss xmm0, dword [esp + 0xec]
add esp, 4
mulss xmm2, xmm2
comiss xmm2, dword [0x48e0e0]
jbe 0x42aee4
movss dword [esp], xmm2
movss dword [esp + 0x9c], xmm0
call fcn.0041fdd0
fstp dword [esp + 0xe8]
movss xmm0, dword [esp + 0x9c]
movss xmm2, dword [esp + 0xe8]
cvtss2sd xmm2, xmm2
mulsd xmm2, qword [0x48e090]
addsd xmm2, qword [0x48e0a0]
cvtsd2ss xmm2, xmm2
cvtss2sd xmm0, xmm0
mulsd xmm0, qword [0x48e098]
pxor xmm6, xmm6
maxss xmm6, xmm2
cvtsd2ss xmm0, xmm0
movss xmm3, dword [0x48e0f0]
movss xmm4, dword [esp + 0xd0]
comiss xmm3, xmm4
movss xmm5, dword [esp + 0xcc]
movss xmm1, dword [0x48e0ec]
subss xmm0, xmm5
addss xmm1, xmm5
mulss xmm0, xmm6
jbe 0x429d0f
movss xmm4, dword [0x48e0dc]
subss xmm1, xmm4
addss xmm1, xmm0
movss xmm0, dword [0x48e0e4]
mulss xmm1, dword [0x48e0e8]
call fcn.004472f0
mov eax, dword [esp + 0x168]
pxor xmm2, xmm2
mov esi, dword [esp + 0x138]
movaps xmm1, xmm0
mov edx, dword [ebp + 8]
mov ecx, dword [eax + ebx*4 + 0x1308]
add eax, ebx
cvtsi2ss xmm2, ecx
mulss xmm1, dword [edx + esi*4 + 0x14b78]
movaps xmm0, xmm1
lea esi, [esi + esi*2]
divss xmm0, xmm2
mov edi, dword [esp + 0x16c]
movaps xmm2, xmm0
shufps xmm2, xmm2, 0
xor edx, edx
movups xmmword [esp + 0xa0], xmm2
mov dword [esp + 0x144], eax
lea edi, [edi + esi*4]
mov dword [esp + 0x13c], edi
mov dword [esp + 0xb8], ebx
movss xmm3, dword [0x48e0f8]
movss xmm2, dword [0x48e0f4]
mov eax, dword [esp + 0x130]
mov edi, eax
test ecx, ecx
jle 0x429ef4
cmp ecx, 4
jl 0x42a9f1
mov ebx, dword [esp + 0x168]
lea ebx, [ebx + eax*4]
mov dword [esp + 0x134], ebx
and ebx, 0xf
je 0x429de5
test bl, 3
jne 0x42a9f1
neg ebx
add ebx, 0x10
shr ebx, 2
lea esi, [ebx + 4]
cmp ecx, esi
jl 0x42a9f1
mov esi, ecx
movaps xmm5, xmm3
sub esi, ebx
pxor xmm4, xmm4
and esi, 3
neg esi
add esi, ecx
test ebx, ebx
jbe 0x429e55
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x134]
movss xmm6, dword [ecx + eax*4]
inc eax
mulss xmm6, xmm6
addss xmm4, xmm6
minss xmm6, xmm0
addss xmm5, xmm6
cmp eax, ebx
jb 0x429e2d
mov ecx, dword [esp + 0x12c]
mov eax, dword [esp + 0x130]
mov dword [esp + 0x130], eax
pxor xmm6, xmm6
movss xmm6, xmm4
pxor xmm4, xmm4
movups xmm7, xmmword [esp + 0xa0]
movss xmm4, xmm5
mov eax, dword [esp + 0x134]
movups xmm5, xmmword [eax + ebx*4]
add ebx, 4
mulps xmm5, xmm5
addps xmm6, xmm5
minps xmm5, xmm7
addps xmm4, xmm5
cmp ebx, esi
jb 0x429e7b
movaps xmm5, xmm4
movhlps xmm5, xmm4
mov eax, dword [esp + 0x130]
addps xmm4, xmm5
movaps xmm5, xmm6
movaps xmm7, xmm4
movhlps xmm5, xmm6
add eax, ebx
shufps xmm7, xmm4, 0xf5
sub ebx, esi
sub eax, ebx
addps xmm6, xmm5
addss xmm4, xmm7
movaps xmm7, xmm6
shufps xmm7, xmm6, 0xf5
addss xmm6, xmm7
cmp esi, ecx
jae 0x429efb
mov eax, dword [esp + 0x168]
lea eax, [eax + edi*4]
movss xmm5, dword [eax + esi*4]
inc esi
mulss xmm5, xmm5
addss xmm6, xmm5
minss xmm5, xmm0
addss xmm4, xmm5
cmp esi, ecx
jb 0x429ed5
lea eax, [edi + esi]
jmp 0x429efb
movaps xmm4, xmm3
pxor xmm6, xmm6
comiss xmm1, xmm6
jbe 0x429f05
movaps xmm5, xmm6
jmp 0x429f0c
movaps xmm5, xmm1
maxss xmm5, xmm4
mov ebx, dword [esp + 0x13c]
movss xmm7, dword [ebx + edx*4 + 0x14c]
comiss xmm7, xmm2
jbe 0x429f4b
movaps xmm4, xmm6
mov edi, dword [esp + 0x138]
mov esi, dword [ebp + 8]
mulss xmm4, dword [ebx + edx*4 + 0x58]
divss xmm4, xmm7
mulss xmm4, dword [esi + edi*4 + 0x14b78]
movaps xmm7, xmm5
movaps xmm5, xmm4
maxss xmm5, xmm7
movss xmm4, dword [0x48e0fc]
maxss xmm5, xmm3
mov esi, dword [esp + 0x144]
addss xmm4, xmm5
mov edi, dword [esp + 0x140]
cmpltss xmm4, xmm6
movd ebx, xmm4
movss dword [edi + edx*4], xmm5
neg ebx
mov byte [edx + esi + 0x145c], bl
lea esi, [edi + edx*4 + 4]
inc edx
cmp edx, 3
jb 0x429dab
mov dword [esp + 0x130], eax
mov eax, dword [ebp + 8]
mov ebx, dword [esp + 0xb8]
cmp dword [eax + 0x60], 0
je 0x429ffa
movss xmm0, dword [esi - 0xc]
movss xmm1, dword [esi - 8]
comiss xmm0, xmm1
jbe 0x429fd2
mov eax, dword [ebp + 8]
subss xmm0, xmm1
mov edx, dword [eax + 0x14f2c]
mulss xmm0, dword [edx + 0x2b60]
addss xmm1, xmm0
movss dword [esi - 8], xmm1
movss xmm0, dword [esi - 4]
comiss xmm1, xmm0
jbe 0x429ffa
mov eax, dword [ebp + 8]
subss xmm1, xmm0
mov edx, dword [eax + 0x14f2c]
mulss xmm1, dword [edx + 0x2b60]
addss xmm0, xmm1
movss dword [esi - 4], xmm0
mov eax, dword [esp + 0x168]
add ebx, 3
inc dword [esp + 0x138]
mov eax, dword [eax + 0x1300]
cmp ebx, eax
jl 0x429bfd
movsd xmm2, qword [esp + 0x20]
mov edi, dword [esp + 0x168]
mov ebx, dword [esp + 0x3c]
movsd xmm1, qword [0x48e078]
movsd xmm7, qword [0x48e0b0]
movss xmm5, dword [0x48e0f4]
movsd xmm6, qword [0x48e0a0]
mov ecx, dword [ebp + 8]
movss xmm4, dword [0x48e100]
lea esi, [esp + 0x2b8]
mov dword [esi - 0x170], esi
pxor xmm0, xmm0
mov esi, dword [esi - 0x198]
lea edx, [esp + 0x21c]
mov dword [edx - 0x108], esi
xor esi, esi
mov dword [edx - 0x120], esi
movaps xmm3, xmm0
mov dword [edx - 0x124], esi
test eax, eax
jle 0x42a46f
mov dword [esp + 0x3c], ebx
movss dword [esp + 0x100], xmm0
movsd qword [esp + 0x20], xmm2
mov dword [esp + 0x110], edx
mov ebx, esi
cmp dword [edi + 0x12e0], 0
je 0x42a0c0
mov eax, dword [ebx*4 + 0x48d7c0]
jmp 0x42a0c2
xor eax, eax
mov dword [esp + 0x10c], esi
mov esi, dword [esp + 0x114]
mov ecx, dword [edi + 0x12e4]
inc ecx
mov edx, dword [esi]
add esi, 4
neg edx
sub edx, eax
mov eax, dword [edi + ebx*4 + 0x13a4]
shl edx, cl
mov dword [esp + 0x114], esi
mov ecx, dword [edi + eax*4 + 0x12c8]
shl ecx, 3
mov eax, dword [edi + 0x12ac]
sub eax, ecx
add edx, eax
mov ecx, dword [esp + 0x110]
mov eax, dword [edi + ebx*4 + 0x1308]
mov esi, dword [esp + 0x10c]
movss xmm1, dword [edx*4 + 0x51fe30]
mov edx, eax
sar edx, 1
add eax, esi
mov dword [esp + 0x118], edx
movss xmm5, dword [ecx]
add ecx, 4
mov edx, dword [edi + 0x1458]
mov dword [esp + 0x110], ecx
mov ecx, dword [esp + 0x118]
cmp eax, edx
jle 0x42a15d
sub edx, esi
inc edx
test edx, edx
jle 0x42aecf
mov ecx, edx
sar ecx, 1
mov edx, esi
cmp esi, dword [edi + 0x12a8]
jg 0x42a27a
mov edx, esi
cmp esi, dword [edi + 0x12a4]
jle 0x42a1fa
dec ecx
pxor xmm0, xmm0
pxor xmm2, xmm2
movss dword [esp + 0xf0], xmm0
movss dword [esp + 0xf4], xmm1
cmp ecx, 0xffffffff
je 0x42a348
nop dword [eax]
mov eax, dword [edi + edx*4 + 0x900]
dec ecx
movss xmm0, dword [edi + edx*4]
andps xmm0, xmmword [0x48df50]
mov esi, dword [edi + edx*4 + 0x904]
movss xmm1, dword [edi + edx*4 + 4]
add edx, 2
andps xmm1, xmmword [0x48df50]
subss xmm0, dword [esp + eax*4 + 0xf0]
subss xmm1, dword [esp + esi*4 + 0xf0]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm2
movaps xmm2, xmm0
addss xmm2, xmm1
cmp ecx, 0xffffffff
jne 0x42a1a0
jmp 0x42a348
dec ecx
pxor xmm2, xmm2
cmp ecx, 0xffffffff
je 0x42a348
nop dword [eax + eax]
mov eax, dword [edi + edx*4 + 0x900]
dec ecx
movss xmm0, dword [edi + edx*4]
mov esi, dword [edi + edx*4 + 0x904]
movss xmm6, dword [eax*4 + 0x520240]
mulss xmm6, xmm1
andps xmm0, xmmword [0x48df50]
movss xmm7, dword [esi*4 + 0x520240]
subss xmm0, xmm6
mulss xmm7, xmm1
mulss xmm0, xmm0
movss xmm6, dword [edi + edx*4 + 4]
add edx, 2
andps xmm6, xmmword [0x48df50]
addss xmm0, xmm2
subss xmm6, xmm7
mulss xmm6, xmm6
movaps xmm2, xmm0
addss xmm2, xmm6
cmp ecx, 0xffffffff
jne 0x42a210
jmp 0x42a348
test ecx, ecx
je 0x42a344
mov eax, ecx
pxor xmm2, xmm2
shr eax, 1
mov dword [esp + 0xe0], eax
je 0x42a9ff
xor eax, eax
lea edx, [edi + esi*4]
mov dword [esp + 0x10c], esi
mov dword [esp + 0x168], edi
mov esi, eax
mov edi, dword [esp + 0xe0]
movss xmm1, dword [esi + edx]
inc eax
mulss xmm1, xmm1
movss xmm0, dword [esi + edx + 4]
addss xmm1, xmm2
mulss xmm0, xmm0
movss xmm2, dword [esi + edx + 8]
addss xmm1, xmm0
mulss xmm2, xmm2
movss xmm6, dword [esi + edx + 0xc]
add esi, 0x10
mulss xmm6, xmm6
addss xmm2, xmm1
addss xmm2, xmm6
cmp eax, edi
jb 0x42a2b3
mov esi, dword [esp + 0x10c]
lea edx, [esi + eax*4]
mov edi, dword [esp + 0x168]
lea eax, [eax + eax + 1]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xe4]
lea eax, [eax - 1]
cmp eax, ecx
jae 0x42a348
mov eax, dword [esp + 0xe4]
lea edx, [esi + eax*2]
movss xmm0, dword [edi + edx*4 - 8]
mulss xmm0, xmm0
movss xmm1, dword [edi + edx*4 - 4]
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
jmp 0x42a348
pxor xmm2, xmm2
divss xmm2, xmm5
movaps xmm0, xmm2
mov esi, edx
maxss xmm0, dword [0x48e0e0]
movss dword [esp], xmm0
movss dword [esp + 0x11c], xmm2
movss dword [esp + 0x104], xmm4
movss dword [esp + 0x108], xmm3
call fcn.0041fdd0
fstp dword [esp + 0xe8]
movss xmm5, dword [esp + 0xe8]
movss xmm3, dword [esp + 0x108]
movss xmm4, dword [esp + 0x104]
movss xmm2, dword [esp + 0x11c]
cvtss2sd xmm5, xmm5
mulsd xmm5, qword [0x48e0a8]
cvtsd2ss xmm5, xmm5
mov eax, dword [esp + 0x148]
pxor xmm0, xmm0
addss xmm3, xmm5
movss dword [eax], xmm2
add eax, 4
mov dword [esp + 0x148], eax
comiss xmm5, xmm0
jbe 0x42a428
movss xmm0, dword [0x48e0e4]
mov edx, 1
mulss xmm0, xmm5
cvtss2sd xmm0, xmm0
movss xmm1, dword [esp + 0x100]
inc dword [esp + 0xfc]
addss xmm1, xmm5
addsd xmm0, qword [0x48e078]
cvttsd2si eax, xmm0
test eax, eax
movss dword [esp + 0x100], xmm1
cmovg edx, eax
imul edx, edx
add dword [esp + 0xf8], edx
inc ebx
maxss xmm4, xmm5
cmp ebx, dword [edi + 0x1300]
jl 0x42a0ae
movss xmm0, dword [esp + 0x100]
movsd xmm2, qword [esp + 0x20]
mov ebx, dword [esp + 0x3c]
movsd xmm1, qword [0x48e078]
movsd xmm7, qword [0x48e0b0]
movss xmm5, dword [0x48e0f4]
movsd xmm6, qword [0x48e0a0]
mov ecx, dword [ebp + 8]
mov eax, dword [edi + 0x12f0]
cmp dword [edi + 0x12b4], 2
je 0x42aeb9
cmp dword [edi + 0x12b8], 0
jne 0x42a492
mov eax, 0x16
jmp 0x42a49a
test eax, eax
jle 0x42a839
xor edx, edx
mov dword [esp + 0x14c], edx
mov dword [esp + 0x38], edx
imul edx, ebx, 0xb0
movss dword [esp + 0x100], xmm0
movss xmm1, dword [0x48e104]
pxor xmm0, xmm0
mov esi, dword [esp + 0x15c]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x17c], edx
mov dword [esp + 0x164], eax
add esi, edx
mov dword [esp + 0x124], esi
mov dword [esp + 0x168], edi
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x14c]
mov eax, dword [ecx + esi*4 + 0x5374]
mov edx, dword [ecx + esi*4 + 0x5378]
mov dword [esp + 0x178], ebx
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], edx
cmp ebx, edx
jge 0x42a656
lea edx, [ebx + 1]
neg edx
add edx, dword [esp + 0x174]
inc edx
cmp edx, 8
jl 0x42aa0f
mov eax, dword [esp + 0x168]
lea edi, [eax + ebx*4]
mov dword [esp + 0x150], edi
and edi, 0xf
mov eax, edi
neg eax
add eax, 0x10
shr eax, 2
test edi, edi
cmovne edi, eax
mov dword [esp + 0x158], edi
lea eax, [edi + 8]
cmp edx, eax
jl 0x42aa0f
mov eax, edx
sub eax, edi
and eax, 7
pxor xmm5, xmm5
neg eax
add eax, edx
test edi, edi
jbe 0x42a5c4
mov dword [esp + 0x154], 0
mov dword [esp + 0x14c], ebx
mov ecx, dword [esp + 0x154]
mov ebx, edi
mov edi, dword [esp + 0x150]
movss xmm6, dword [edi + ecx*4]
inc ecx
mulss xmm6, xmm6
addss xmm5, xmm6
cmp ecx, ebx
jb 0x42a5a1
mov dword [esp + 0x158], ebx
mov ebx, dword [esp + 0x14c]
mov ecx, dword [ebp + 8]
mov ecx, dword [esp + 0x158]
pxor xmm6, xmm6
movss xmm6, xmm5
mov edi, dword [esp + 0x150]
pxor xmm5, xmm5
movups xmm7, xmmword [edi + ecx*4]
mulps xmm7, xmm7
addps xmm6, xmm7
movups xmm7, xmmword [edi + ecx*4 + 0x10]
mulps xmm7, xmm7
add ecx, 8
addps xmm5, xmm7
cmp ecx, eax
jb 0x42a5de
mov dword [esp + 0x158], ecx
addps xmm6, xmm5
movaps xmm5, xmm6
movhlps xmm5, xmm6
mov edi, ecx
add ebx, edi
sub edi, eax
addps xmm6, xmm5
movaps xmm7, xmm6
sub ebx, edi
shufps xmm7, xmm6, 0xf5
mov ecx, dword [ebp + 8]
addss xmm6, xmm7
cmp eax, edx
jae 0x42a65a
mov ebx, dword [esp + 0x168]
mov edi, dword [esp + 0x178]
lea ebx, [ebx + edi*4]
movss xmm5, dword [ebx + eax*4]
inc eax
mulss xmm5, xmm5
addss xmm6, xmm5
cmp eax, edx
jb 0x42a638
mov edx, dword [esp + 0x178]
lea ebx, [edx + eax]
jmp 0x42a65a
pxor xmm6, xmm6
mov eax, dword [esp + 0x174]
pxor xmm5, xmm5
sub eax, dword [esp + 0x170]
movaps xmm7, xmm1
cvtsi2ss xmm5, eax
divss xmm6, xmm5
mulss xmm7, xmm6
mov edx, dword [ecx + 0x14f30]
add edx, dword [esp + 0x160]
cvtss2sd xmm7, xmm7
mov edi, dword [esp + 0x17c]
add edx, edi
movsd qword [edx + esi*8 + 0x2e8f8], xmm7
movss xmm7, dword [esp + esi*4 + 0x21c]
mulss xmm7, xmm1
mulss xmm7, dword [esp + esi*4 + 0x2b8]
divss xmm7, xmm5
mov eax, dword [ecx + 0x14f30]
pxor xmm5, xmm5
add eax, dword [esp + 0x15c]
cvtss2sd xmm7, xmm7
add eax, edi
mov edx, dword [esp + 0x16c]
movsd qword [eax + esi*8 + 0x311f8], xmm7
movss xmm7, dword [edx + esi*4 + 0xf4]
comiss xmm7, xmm5
jbe 0x42a6fc
cmp dword [ecx + 0xd8], 0
jne 0x42a6fc
divss xmm6, xmm7
jmp 0x42a700
pxor xmm6, xmm6
mov eax, edx
mov edx, dword [ecx + 0x14f28]
mov edi, dword [ecx + 0x14f30]
mulss xmm6, dword [eax + esi*4]
add edi, dword [esp + 0x160]
mov eax, dword [esp + 0x17c]
add edi, eax
maxss xmm6, dword [edx + esi*4 + 0x18]
mulss xmm6, xmm1
cvtss2sd xmm6, xmm6
movsd qword [edi + esi*8 + 0x2e378], xmm6
mov edx, dword [ecx + 0x14f30]
add edx, dword [esp + 0x15c]
add edx, eax
mov edi, dword [esp + 0x168]
movsd qword [edx + esi*8 + 0x309f8], xmm0
cmp dword [edi + 0x12e0], 0
je 0x42a7a3
cmp esi, 0xb
jl 0x42a7a3
pxor xmm5, xmm5
movaps xmm6, xmm2
cvtsi2ss xmm5, dword [esi*4 + 0x48d7c0]
cvtss2sd xmm5, xmm5
mov eax, dword [ecx + 0x14f30]
xorps xmm6, xmmword [0x48df60]
add eax, dword [esp + 0x15c]
mulsd xmm6, xmm5
add eax, dword [esp + 0x17c]
movsd qword [eax + esi*8 + 0x309f8], xmm6
cmp esi, 0x15
jge 0x42a7e3
mov eax, dword [esp + 0x120]
pxor xmm5, xmm5
mov edx, dword [ecx + 0x14f30]
add edx, dword [esp + 0x124]
cvtsi2ss xmm5, dword [eax + esi*4]
cvtss2sd xmm5, xmm5
mulsd xmm5, xmm2
movsd xmm6, qword [edx + esi*8 + 0x309f8]
subsd xmm6, xmm5
movsd qword [edx + esi*8 + 0x309f8], xmm6
inc esi
cmp esi, dword [esp + 0x164]
jb 0x42a4f6
mov dword [esp + 0x14c], ebx
movss xmm0, dword [esp + 0x100]
mov eax, dword [esp + 0x164]
mov ebx, dword [esp + 0x3c]
movsd xmm1, qword [0x48e078]
movsd xmm7, qword [0x48e0b0]
movss xmm5, dword [0x48e0f4]
movsd xmm6, qword [0x48e0a0]
cmp dword [edi + 0x12b4], 2
je 0x42aa1f
mov esi, dword [ecx + 0x14f30]
mov edx, dword [esp + 0x4c]
mov eax, dword [edi + 0x12ac]
cvtss2sd xmm4, xmm4
cvtss2sd xmm0, xmm0
cvtss2sd xmm3, xmm3
mulsd xmm4, xmm7
mulsd xmm0, xmm7
mulsd xmm3, xmm7
lea esi, [esi + edx*8]
mov dword [esi + ebx*4 + 0x31198], eax
mov esi, dword [ecx + 0x14f30]
mov eax, dword [edi + 0x12a0]
add eax, dword [edi + 0x12ec]
lea esi, [esi + edx*8]
mov dword [esi + ebx*4 + 0x31a88], eax
mov eax, dword [ecx + 0x14f30]
mov edi, dword [edi + 0x12ec]
mov esi, dword [esp + 0xfc]
lea eax, [eax + edx*8]
mov dword [eax + ebx*4 + 0x31a98], edi
mov edi, dword [ecx + 0x14f30]
mov eax, dword [esp + 0x48]
lea edi, [edi + edx*8]
mov dword [edi + ebx*4 + 0x31998], esi
lea edi, [eax + ebx*8]
mov esi, dword [ecx + 0x14f30]
movsd qword [esi + edi + 0x319c8], xmm4
mov eax, dword [ecx + 0x14f30]
movsd qword [eax + edi + 0x319e8], xmm0
mov esi, dword [ecx + 0x14f30]
movsd qword [esi + edi + 0x319a8], xmm3
mov edi, dword [ecx + 0x14f30]
mov esi, dword [esp + 0x120]
lea eax, [edi + edx*8]
mov edx, dword [esp + 0xf8]
mov dword [eax + ebx*4 + 0x31a08], edx
movups xmm2, xmmword [esp + 0x200]
movups xmmword [esi + 0x80], xmm2
movsd xmm0, qword [esp + 0x210]
movsd qword [esi + 0x90], xmm0
mov edx, dword [esp + 0x218]
mov dword [esi + 0x98], edx
mov edx, 0x80
mov eax, dword [esp + 0x120]
movups xmm0, xmmword [esp + edx + 0x170]
movups xmmword [eax + edx - 0x10], xmm0
movups xmm2, xmmword [esp + edx + 0x160]
movups xmmword [eax + edx - 0x20], xmm2
movups xmm3, xmmword [esp + edx + 0x150]
movups xmmword [eax + edx - 0x30], xmm3
movups xmm4, xmmword [esp + edx + 0x140]
movups xmmword [eax + edx - 0x40], xmm4
sub edx, 0x40
jne 0x42a938
inc ebx
mov eax, dword [ecx + 0x4c]
cmp ebx, eax
jl 0x4296a6
mov edi, dword [ebp + 8]
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x4c]
mov edi, dword [edi + 0x50]
inc ecx
add ebx, 0x2908
add dword [esp + 0x64], 0x4e0
add esi, 0x3d0
add edx, 0x10
cmp ecx, edi
jl 0x429649
mov ecx, dword [esp + 0x354]
mov dword [esp + 0x354], 0
xor ecx, esp
cmp ecx, dword [0x4f6e34]
jne 0x42aa1a
add esp, 0x364
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movaps xmm5, xmm2
xor eax, eax
pxor xmm4, xmm4
jmp 0x429a45
movaps xmm4, xmm3
xor esi, esi
pxor xmm6, xmm6
jmp 0x429ec7
mov dword [esp + 0xe4], 1
jmp 0x42a30e
xor eax, eax
pxor xmm6, xmm6
jmp 0x42a623
call fcn.00466f40
mov edx, dword [edi + 0x12f4]
mov dword [esp + 0x90], edx
cmp edx, 0xd
jge 0x42a839
mov dword [esp + 0x164], eax
mov eax, edx
mov esi, eax
imul edx, ebx, 0x138
neg esi
movss dword [esp + 0x104], xmm4
movss dword [esp + 0x108], xmm3
movss dword [esp + 0x100], xmm0
movsd xmm4, qword [0x48e0c0]
mov dword [esp + 0x88], edx
lea ecx, [ecx + eax*4]
mov dword [esp + 0x28], ecx
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x68]
add esi, 0xd
mov dword [esp + 0x2c], esi
mov dword [esp + 0x84], 0
mov dword [esp + 0x8c], ecx
lea esi, [eax + edx]
mov edx, dword [esp + 0x16c]
lea eax, [esi + ecx*8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x3c], ebx
lea ecx, [edx + ecx*4]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x168], edi
movss xmm3, dword [0x48e104]
movsd xmm6, qword [0x48e0b8]
mov ebx, dword [esp + 0x84]
mov eax, dword [esp + 0x28]
pxor xmm5, xmm5
mov edi, dword [esp + 0x30]
mov dword [esp + 0x84], ebx
mov ecx, dword [eax + ebx*4 + 0x53d4]
mov edx, ecx
mov esi, dword [eax + ebx*4 + 0x53d0]
xor eax, eax
sub edx, esi
cvtsi2ss xmm5, edx
mov dword [esp + 0x7c], ecx
lea edx, [ebx + ebx*2]
mov dword [esp + 0x78], edx
lea edi, [edi + edx*8]
mov dword [esp + 0x54], edi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x80], esi
lea edi, [edi + edx*4]
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x90]
mov edx, dword [ebp + 8]
add edi, ebx
mov dword [esp + 0x6c], edi
lea edi, [esi + 1]
neg edi
add edi, ecx
inc edi
mov dword [esp + 0x74], edi
mov ecx, dword [esp + 0x14c]
mov esi, dword [esp + 0x80]
mov ebx, ecx
cmp esi, dword [esp + 0x7c]
jge 0x42ac68
cmp dword [esp + 0x74], 8
jl 0x42aeae
mov esi, dword [esp + 0x168]
lea edi, [esi + ecx*4]
mov dword [esp + 0x5c], edi
and edi, 0xf
mov esi, edi
neg esi
add esi, 0x10
shr esi, 2
test edi, edi
cmovne edi, esi
mov dword [esp + 0x60], edi
lea esi, [edi + 8]
cmp esi, dword [esp + 0x74]
jg 0x42aeae
mov edx, dword [esp + 0x74]
mov esi, edx
sub esi, edi
and esi, 7
neg esi
pxor xmm1, xmm1
add esi, edx
mov edx, dword [ebp + 8]
test edi, edi
jbe 0x42abe7
mov dword [esp + 0x58], 0
mov dword [esp + 0x14c], ecx
mov edx, dword [esp + 0x58]
mov ecx, edi
mov edi, dword [esp + 0x5c]
movss xmm0, dword [edi + edx*4]
inc edx
mulss xmm0, xmm0
addss xmm1, xmm0
cmp edx, ecx
jb 0x42abc7
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x14c]
mov edx, dword [ebp + 8]
mov edx, dword [esp + 0x60]
pxor xmm0, xmm0
movss xmm0, xmm1
mov edi, dword [esp + 0x5c]
pxor xmm1, xmm1
movups xmm7, xmmword [edi + edx*4]
mulps xmm7, xmm7
addps xmm0, xmm7
movups xmm7, xmmword [edi + edx*4 + 0x10]
mulps xmm7, xmm7
add edx, 8
addps xmm1, xmm7
cmp edx, esi
jb 0x42abfb
mov dword [esp + 0x60], edx
addps xmm0, xmm1
movaps xmm1, xmm0
movhlps xmm1, xmm0
mov edi, edx
add ecx, edi
sub edi, esi
addps xmm0, xmm1
movaps xmm7, xmm0
sub ecx, edi
shufps xmm7, xmm0, 0xf5
mov edx, dword [ebp + 8]
addss xmm0, xmm7
cmp esi, dword [esp + 0x74]
jae 0x42ac6c
mov ecx, dword [esp + 0x168]
mov edi, dword [esp + 0x74]
lea ecx, [ecx + ebx*4]
movss xmm1, dword [ecx + esi*4]
inc esi
mulss xmm1, xmm1
addss xmm0, xmm1
cmp esi, edi
jb 0x42ac51
lea ecx, [ebx + esi]
jmp 0x42ac6c
pxor xmm0, xmm0
divss xmm0, xmm5
cvtss2sd xmm0, xmm0
mov edi, dword [esp + 0x64]
movaps xmm1, xmm3
mov dword [esp + 0x94], eax
maxsd xmm0, xmm6
cvtsd2ss xmm0, xmm0
mulss xmm1, xmm0
lea esi, [edi + eax*8]
mov eax, dword [edx + 0x14f30]
mov ebx, dword [esp + 0x88]
add eax, ebx
mov dword [esp + 0x14c], ecx
mov ecx, dword [esp + 0x8c]
cvtss2sd xmm1, xmm1
lea edi, [eax + ecx*8]
mov eax, dword [esp + 0x78]
lea edi, [edi + eax*8]
movsd qword [edi + esi + 0x2f838], xmm1
mov esi, dword [esp + 0x164]
pxor xmm1, xmm1
mov edi, dword [edx + 0x14f30]
add edi, dword [esp + 0x68]
movss xmm7, dword [esp + esi*4 + 0x21c]
add edi, ebx
mulss xmm7, xmm3
mulss xmm7, dword [esp + esi*4 + 0x2b8]
lea ecx, [edi + ecx*8]
divss xmm7, xmm5
cvtss2sd xmm7, xmm7
lea ebx, [ecx + eax*8]
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x70]
movsd qword [ebx + eax*8 + 0x314b8], xmm7
movss xmm7, dword [ecx + eax*4 + 0x14c]
mov ecx, dword [esp + 0x14c]
comiss xmm7, xmm1
jbe 0x42ad2f
divss xmm0, xmm7
jmp 0x42ad33
pxor xmm0, xmm0
cmp dword [edx + 0xd8], 0
jne 0x42ad45
cmp dword [edx + 0xdc], 0
je 0x42ad49
pxor xmm0, xmm0
mov edi, dword [esp + 0x70]
pxor xmm1, xmm1
mov dword [esp + 0x14c], ecx
mov ecx, dword [edx + 0x14f28]
mov esi, dword [esp + 0x90]
mulss xmm0, dword [edi + eax*4 + 0x58]
mov edi, dword [esp + 0x84]
lea ebx, [ecx + esi*4]
mov ecx, dword [esp + 0x64]
mov esi, dword [esp + 0x88]
maxss xmm0, dword [ebx + edi*4 + 0x70]
mulss xmm0, xmm3
lea ebx, [ecx + eax*8]
mov edi, dword [edx + 0x14f30]
add edi, esi
mov ecx, dword [esp + 0x8c]
cvtss2sd xmm0, xmm0
lea edi, [edi + ecx*8]
mov ecx, dword [esp + 0x78]
lea edi, [edi + ecx*8]
movsd qword [edi + ebx + 0x2ee78], xmm0
mov ebx, dword [esp + 0x168]
mov edi, dword [edx + 0x14f30]
add edi, dword [esp + 0x68]
cvtsi2sd xmm1, dword [ebx + eax*4 + 0x12c8]
add edi, esi
mov esi, dword [esp + 0x8c]
mulsd xmm1, xmm4
cmp dword [esp + 0x6c], 0xc
lea ebx, [edi + esi*8]
lea ecx, [ebx + ecx*8]
movsd qword [ecx + eax*8 + 0x30cb8], xmm1
mov ecx, dword [esp + 0x14c]
jge 0x42ae36
mov ebx, dword [esp + 0x120]
pxor xmm0, xmm0
mov esi, dword [esp + 0x164]
mov edi, dword [edx + 0x14f30]
add edi, dword [esp + 0x54]
cvtsi2ss xmm0, dword [ebx + esi*4]
cvtss2sd xmm0, xmm0
mulsd xmm0, xmm2
movsd xmm1, qword [edi + eax*8 + 0x30cb8]
subsd xmm1, xmm0
movsd qword [edi + eax*8 + 0x30cb8], xmm1
inc eax
inc dword [esp + 0x164]
cmp eax, 3
jb 0x42ab45
mov ebx, dword [esp + 0x84]
inc ebx
mov dword [esp + 0x14c], ecx
cmp ebx, dword [esp + 0x2c]
jb 0x42aad3
movss xmm4, dword [esp + 0x104]
movss xmm3, dword [esp + 0x108]
movss xmm0, dword [esp + 0x100]
mov edi, dword [esp + 0x168]
mov ebx, dword [esp + 0x3c]
movsd xmm1, qword [0x48e078]
movsd xmm7, qword [0x48e0b0]
movss xmm5, dword [0x48e0f4]
movsd xmm6, qword [0x48e0a0]
mov ecx, dword [ebp + 8]
jmp 0x42a839
xor esi, esi
pxor xmm0, xmm0
jmp 0x42ac3d
test eax, eax
jg 0x42a49a
xor eax, eax
mov dword [esp + 0x14c], eax
jmp 0x42aa1f
mov edx, esi
cmp esi, dword [edi + 0x12a8]
jg 0x42a344
xor ecx, ecx
jmp 0x42a16b
pxor xmm2, xmm2
jmp 0x429cbc
cmp eax, 0x1f40
mov eax, 0xc
mov dword [esp + 0x1c], edx
mov edx, 9
cmovle eax, edx
mov edx, dword [esp + 0x1c]
mov esi, dword [ecx + eax*4 + 0x53d0]
lea eax, [esi + esi*2 - 1]
jmp 0x429bb3
mov eax, 0x2aaaaaab
imul edx
lea esi, [edx + edx*2]
lea edx, [esi + esi + 5]
jmp 0x429b73
pxor xmm0, xmm0
jmp 0x429879
mov esi, dword [edi + 0x12f0]
test esi, esi
jle 0x429741
mov dword [esp + 0x10], 0
add eax, ecx
mov edx, dword [esp + 0x10]
cmp dword [edi + edx*4 + 0x1200], 0
jge 0x42af6d
mov esi, dword [eax + edx*4 + 0x1334]
mov dword [edi + edx*4 + 0x1200], esi
mov esi, dword [edi + 0x12f0]
inc edx
cmp edx, esi
jl 0x42af4f
jmp 0x429741