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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1e090
call fcn.00485cf0
push esi
push edi
mov edi, ecx
mov dword [esp + 0x28], edi
call fcn.0045717b
mov esi, eax
mov dword [esp + 0x2c], esi
test esi, esi
je 0x4285c1
mov edx, dword [esi]
push 0
push esi
call dword [edx + 0x170]
mov ecx, dword [esi]
push 0x342
push esi
call dword [ecx + 0x164]
mov eax, dword [esi]
push 0
push 0x1b
push esi
call dword [eax + 0xe4]
mov ecx, edi
call fcn.00457214
mov ecx, edi
call fcn.004571e4
movaps xmm0, xmmword [0x4c16a0]
lea esi, [esp + 0x68]
xor eax, eax
mov dword [esp + 0x6c], 0x3f800000
movups xmmword [esp + 0x74], xmm0
mov dword [esp + 0x94], 0x3f800000
movaps xmm0, xmmword [0x4c16a0]
movups xmmword [esp + 0x84], xmm0
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov ecx, edi
call fcn.0045720d
fstp dword [esp + 0xc]
movss xmm1, dword [esp + 0xc]
xorps xmm0, xmm0
mulss xmm1, dword [0x4c15f4]
push ecx
cvtsi2ss xmm0, dword [esp + 0x24]
push ecx
mulss xmm1, dword [0x4c13e4]
addss xmm1, dword [0x4c1590]
addss xmm1, xmm0
addss xmm1, dword [edi + 0x8ec3cc]
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.00499680
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fmul dword [0x4c1420]
pop ecx
pop ecx
mov ecx, edi
fadd dword [0x4c1468]
fstp dword [esp + 0x14]
movss xmm0, dword [esp + 0x14]
movss dword [esi], xmm0
call fcn.0045720d
fstp dword [esp + 0xc]
movss xmm1, dword [esp + 0xc]
xorps xmm0, xmm0
mulss xmm1, dword [0x4c15f4]
push ecx
cvtsi2ss xmm0, dword [esp + 0x20]
push ecx
mulss xmm1, dword [0x4c13d8]
addss xmm1, dword [0x4bc5a0]
addss xmm1, xmm0
addss xmm1, dword [edi + 0x8ec3c4]
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.00499680
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fmul dword [0x4c1420]
pop ecx
pop ecx
mov ecx, edi
fadd dword [0x4c1468]
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
movss dword [esi + 4], xmm0
call fcn.0045720d
fstp dword [esp + 0xc]
movss xmm1, dword [esp + 0xc]
xorps xmm0, xmm0
mulss xmm1, dword [0x4c15f4]
push ecx
cvtsi2ss xmm0, dword [esp + 0x1c]
push ecx
mulss xmm1, dword [0x4c13dc]
addss xmm1, dword [0x4c15cc]
addss xmm1, xmm0
addss xmm1, dword [edi + 0x8ec3c8]
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.00499680
movss xmm0, dword [esp + 0x1c]
maxss xmm0, dword [esp + 0x18]
movss xmm1, dword [0x4bfb4c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fmul dword [0x4c1420]
pop ecx
pop ecx
push 3
pop eax
fadd dword [0x4c1468]
fstp dword [esp + 0xc]
movss xmm2, dword [esp + 0xc]
movss dword [esi + 8], xmm2
maxss xmm2, xmm0
movss xmm0, dword [esi]
divss xmm0, xmm2
mulss xmm0, xmm1
addss xmm0, xmm1
movss dword [esi], xmm0
add esi, 4
sub eax, 1
jne 0x428028
mov eax, dword [esp + 0x20]
add dword [esp + 0x1c], 0xd
add eax, 0x15
add dword [esp + 0x18], 9
mov dword [esp + 0x20], eax
cmp eax, 0x54
jl 0x427eb8
movss xmm7, dword [0x4c1608]
lea eax, [edi + 0x8ec44c]
mov dword [esp + 0x24], 0x18
xorps xmm6, xmm6
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x20
movss xmm2, dword [eax - 4]
movss xmm3, dword [eax]
xor eax, eax
movss xmm4, dword [0x4bc5a0]
movss xmm5, dword [0x4bc5a0]
mulss xmm2, xmm1
mov dword [esp + 0x3c], 0x3f800000
mulss xmm3, xmm1
mov dword [esp + 0x40], 0x3f800000
addss xmm2, xmm1
mov dword [esp + 0x44], 0x3f800000
addss xmm3, xmm1
subss xmm4, xmm2
subss xmm5, xmm3
movaps xmm0, xmm2
movaps xmm1, xmm4
mulss xmm0, dword [esp + eax + 0x68]
mulss xmm1, dword [esp + eax + 0x74]
mulss xmm0, xmm3
mulss xmm1, xmm3
addss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [esp + eax + 0x80]
mulss xmm0, xmm5
addss xmm1, xmm0
movaps xmm0, xmm4
mulss xmm0, dword [esp + eax + 0x8c]
mulss xmm0, xmm5
addss xmm1, xmm0
movss dword [esp + eax + 0x3c], xmm1
add eax, 4
cmp eax, 0xc
jl 0x4280d2
mov eax, dword [edi + 0x6c2cc]
movsd xmm5, qword [0x4bea10]
cmp byte [eax + 0x2bf3d0], 0
je 0x428270
mov ecx, dword [edi + 0x6a828]
mov esi, dword [edi + 0x6a82c]
mov dword [esp + 0xc], ecx
lea edx, [ecx + 1]
movd xmm1, edx
lea eax, [esi + 1]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm2
movd xmm2, eax
lea eax, [ecx - 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm2, xmm2
comiss xmm0, xmm1
mulss xmm2, xmm3
jbe 0x428181
movaps xmm3, xmm1
jmp 0x428184
movaps xmm3, xmm0
comiss xmm3, xmm6
jbe 0x42818f
minss xmm1, xmm0
jmp 0x428192
movaps xmm1, xmm6
lea eax, [esi - 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
minss xmm2, xmm0
comiss xmm2, xmm6
ja 0x4281a8
movaps xmm2, xmm6
mov edi, dword [edi + 0x8ec434]
xorps xmm0, xmm0
mov eax, dword [esp + 0xc]
xorps xmm5, xmm5
cvttss2si esi, xmm1
cvttss2si ecx, xmm2
xorps xmm4, xmm4
xorps xmm3, xmm3
cvtsi2ss xmm0, esi
imul edx, ecx
subss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
add edx, esi
imul edx, edx, 0x28
inc ecx
subss xmm2, xmm0
inc eax
imul ecx, eax
xorps xmm0, xmm0
cvtss2sd xmm4, xmm1
add ecx, esi
movsd xmm1, qword [0x4bea10]
movzx eax, byte [edx + edi + 0xf]
cvtss2sd xmm3, xmm2
movsd xmm2, qword [0x4bea10]
cvtsi2sd xmm5, eax
movzx eax, byte [edx + edi + 0x37]
subsd xmm2, xmm4
imul ecx, ecx, 0x28
cvtsi2sd xmm0, eax
mulsd xmm5, xmm2
subsd xmm1, xmm3
movzx eax, byte [ecx + edi + 0xf]
mulsd xmm0, xmm4
mulsd xmm5, xmm1
mulsd xmm0, xmm1
addsd xmm5, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movzx eax, byte [ecx + edi + 0x37]
mov edi, dword [esp + 0x28]
mulsd xmm0, xmm2
mulsd xmm0, xmm3
addsd xmm5, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
mulsd xmm0, xmm4
mulsd xmm0, xmm3
addsd xmm5, xmm0
divsd xmm5, qword [0x4c15a8]
movss xmm0, dword [esp + 0x3c]
mulsd xmm5, qword [0x4c15a8]
mulss xmm0, xmm7
movss xmm1, dword [0x4bfb4c]
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x40]
movzx ecx, al
cvttsd2si eax, xmm5
mulss xmm0, xmm7
shl eax, 8
or ecx, eax
shl ecx, 8
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x44]
movzx eax, al
or ecx, eax
mulss xmm0, xmm7
shl ecx, 8
cvttss2si eax, xmm0
movzx eax, al
or ecx, eax
mov eax, dword [esp + 0x14]
mov dword [eax + 8], ecx
add eax, 0x28
sub dword [esp + 0x10], 1
mov dword [esp + 0x14], eax
jne 0x428087
sub dword [esp + 0x24], 1
jne 0x42807b
cmp byte [ebp + 0xc], 0
mov esi, dword [esp + 0x2c]
mov eax, dword [esi]
mov eax, dword [eax + 0xe4]
je 0x428332
push 1
push 0x1b
push esi
call eax
cmp byte [ebp + 0x10], 0
mov eax, dword [esi]
mov eax, dword [eax + 0xe4]
je 0x42831c
push 6
push 0x13
push esi
call eax
push 5
jmp 0x428325
push 5
push 0x13
push esi
call eax
push 6
mov eax, dword [esi]
push 0x14
push esi
call dword [eax + 0xe4]
jmp 0x428339
push 0
push 0x1b
push esi
call eax
mov eax, dword [ebp + 8]
mov ecx, 0x6b1c4
test eax, eax
mov edx, 0x6b57c
cmove ecx, edx
add ecx, edi
mov dword [esp + 0x10], ecx
test eax, eax
jne 0x42835d
mov eax, dword [edi + 0x6c2d0]
jmp 0x428363
mov eax, dword [edi + 0x6c2cc]
push dword [edi + 0x6c29c]
mov dword [esp + 0x18], eax
mov eax, dword [esi]
push esi
call dword [eax + 0x15c]
push dword [edi + 0x6aa54]
mov eax, dword [esi]
push esi
call dword [eax + 0x170]
mov ecx, dword [esp + 0x10]
mov eax, dword [esi]
push dword [ecx]
push esi
call dword [eax + 0x1ac]
mov eax, dword [esp + 0x10]
mov ecx, edi
push dword [esp + 0x14]
push dword [eax + 4]
add eax, 8
push eax
call fcn.00417d9b
mov ecx, edi
call fcn.00457161
mov ecx, 0x400
cmp dword [eax + 0xb4], ecx
jae 0x4283cb
mov ecx, edi
call fcn.00457161
mov ecx, dword [eax + 0xb4]
add ecx, 0xfffffffc
and dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
xor edx, edx
mov dword [esp + 0x10], edx
test ecx, ecx
jle 0x4285a2
lea eax, [esp + 0x98]
mov dword [esp + 0x20], eax
lea ecx, [esp + 0xa4]
lea eax, [esp + 0xa4]
sub ecx, 0x28
sub eax, 0x78
lea esi, [esp + 0xa4]
mov dword [esp + 0x1c], eax
sub esi, 0x50
mov eax, dword [esp + 0x18]
add eax, 0x23cf12
lea eax, [edi + eax*4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x18], 0xf78
mov edi, dword [esp + 0x20]
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x50], esi
mov dword [esp + 0x48], eax
jge 0x42857c
mov eax, dword [esp + 0x30]
add esi, 0x78
mov edi, dword [esp + 0x20]
mov edx, edi
add dword [esp + 0x18], 3
add edi, 0x78
mov dword [esp + 0x24], eax
add eax, 0xc
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x1c]
add eax, 0x78
mov dword [esp + 0x20], edi
add ecx, 0x78
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x34], 3
mov dword [esp + 0xc], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x5c], ecx
mov eax, dword [eax]
add eax, 0x391b5
imul esi, eax, 0x28
mov eax, dword [esp + 0x24]
push 0xa
pop ecx
push 0xa
add esi, edi
add eax, 4
lea edi, [esp + 0x6c]
mov dword [esp + 0x28], eax
rep movsd dword es:[edi], dword [esi]
mov edi, edx
lea esi, [esp + 0x6c]
pop ecx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x28]
add edx, 0x28
sub dword [esp + 0x34], 1
jne 0x4284aa
cmp byte [ebp + 0x14], 0
mov edx, dword [esp + 0x10]
je 0x428561
cmp byte [ebp + 0x18], 0
mov eax, dword [esp + 0x1c]
mov esi, dword [eax]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov eax, dword [esp + 0x38]
je 0x428515
and ecx, dword [eax]
and ecx, esi
mov esi, 0xff000000
and ecx, esi
cmp ecx, esi
setb cl
jmp 0x428522
or esi, dword [eax]
or esi, ecx
test esi, 0xff000000
seta cl
mov eax, dword [esp + 0x48]
test cl, cl
mov esi, dword [esp + 0x50]
cmovne eax, dword [esp + 0x4c]
cmovne esi, dword [esp + 0x54]
mov byte [esp + 0xb], cl
cmp byte [esp + 0xb], 0
mov ecx, dword [esp + 0x58]
cmovne ecx, dword [esp + 0x5c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x60]
cmovne eax, dword [esp + 0x64]
mov dword [esp + 0x20], eax
lea eax, [edx + 1]
cmovne edx, eax
jmp 0x42856a
mov ecx, dword [esp + 0x38]
inc edx
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], edx
cmp edx, dword [esp + 0x14]
jl 0x42842a
mov esi, dword [esp + 0x2c]
test edx, edx
jle 0x42859a
mov eax, dword [esi]
lea ecx, [esp + 0x98]
push 0x28
push ecx
push edx
push 4
push esi
call dword [eax + 0x14c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cmp eax, 0xf78
jl 0x4283db
mov eax, dword [esi]
push 0
push 0x1b
push esi
call dword [eax + 0xe4]
mov ecx, edi
call fcn.00425555
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x14