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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb8
cmp byte [0x102afd5a], 0
mov eax, ecx
push esi
push edi
mov edi, edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], edi
jne 0x1003df72
mov edx, dword [0x102999e4]
xor edi, edi
mov eax, dword fs:[0x2c]
mov esi, 0x102afd9c
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x1c], ecx
mov eax, dword [0x102ba940]
cmp eax, dword [ecx + 4]
jle 0x1003de76
push 0x102ba940
call fcn.101e23b9
add esp, 4
cmp dword [0x102ba940], 0xffffffff
jne 0x1003de76
push 0x19fe05ae
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x990704d7
push eax
lea eax, [esp + 0x9c]
push eax
call fcn.101700c0
mov eax, dword [eax + 4]
test eax, eax
je 0x1003de4e
cmp eax, dword [0x102b2594]
je 0x1003de4e
lea eax, [esp + 0xc]
push eax
call fcn.1016fcd0
jmp 0x1003de50
xor eax, eax
push ecx
push 0x3f32c6a3
lea ecx, [esp + 0x30]
push ecx
mov ecx, eax
call fcn.1016f350
push 0x102ba940
mov eax, dword [eax]
mov dword [0x102ba944], eax
call fcn.101e236f
add esp, 4
inc edi
push edi
call dword [0x102ba944]
movss xmm1, dword [0x1026bac0]
add esp, 4
xorps xmm0, xmm0
call fcn.1011e870
movss xmm1, dword [0x1026bbdc]
movss dword [esp + 0x20], xmm0
xorps xmm0, xmm0
call fcn.1011e870
movss xmm1, dword [0x1026bac0]
movss dword [esp + 0xc], xmm0
xorps xmm0, xmm0
call fcn.1011e870
movss xmm1, dword [0x1026bbdc]
movss dword [esp + 0x18], xmm0
xorps xmm0, xmm0
call fcn.1011e870
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [esi - 4], xmm0
movss xmm0, dword [esp + 0x18]
movss dword [esi], xmm0
movss xmm0, dword [esp + 0xc]
cvtps2pd xmm0, xmm0
call fcn.1020a6d0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss dword [esi + 4], xmm1
movss xmm1, dword [esp + 0xc]
cvtps2pd xmm0, xmm1
call fcn.1020b950
cvtsd2ss xmm0, xmm0
movss dword [esi + 8], xmm0
movss xmm0, dword [esp + 0x14]
cvtps2pd xmm0, xmm0
call fcn.1020a6d0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss dword [esi + 0xc], xmm1
movss xmm1, dword [esp + 0x14]
cvtps2pd xmm0, xmm1
call fcn.1020b950
mov ecx, dword [esp + 0x1c]
cvtsd2ss xmm0, xmm0
movss dword [esi + 0x10], xmm0
add esi, 0x18
cmp esi, 0x102b159c
jl 0x1003ddf1
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov byte [0x102afd5a], 1
lea ecx, [esp + 0x44]
mov dword [esp + 0x40], 0x7f800000
push ecx
lea ecx, [esp + 0x30]
mov dword [esp + 0x40], 0x7f800000
push ecx
lea edx, [esp + 0x40]
mov dword [esp + 0x40], 0x7f800000
mov ecx, eax
mov dword [esp + 0x3c], 0x7f800000
mov dword [esp + 0x38], 0x7f800000
mov dword [esp + 0x34], 0x7f800000
mov dword [esp + 0x54], 0x7f800000
mov dword [esp + 0x50], 0x7f800000
mov dword [esp + 0x4c], 0x7f800000
call fcn.1011e210
movq xmm0, qword [0x10297b1c]
add esp, 8
mov eax, dword [0x10297b24]
mov ecx, dword [0x102afd70]
movq qword [esp + 0x50], xmm0
mov dword [esp + 0x58], eax
call fcn.10179220
mov ecx, dword [0x102afd70]
movss dword [esp + 0x24], xmm0
call fcn.10179180
mov ecx, dword [0x102afd74]
movss dword [esp + 0x14], xmm0
call fcn.1017ea40
mov ecx, dword [0x102afd70]
movss dword [esp + 0x94], xmm0
call fcn.10006f70
movsx eax, word [eax]
cmp eax, dword [0x102a5e50]
jne 0x1003e05f
movd xmm0, dword [ebp + 0x10]
movss xmm1, dword [0x1026bac0]
divss xmm1, dword [esp + 0x14]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x1026bcac]
comiss xmm1, xmm0
seta al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 4]
lea ecx, [edi + 4]
mov eax, dword [eax + 0x20]
call eax
push eax
call fcn.10035120
mov ecx, edi
mov esi, eax
call fcn.10034d50
mov eax, dword [eax]
cmp eax, dword [esi + 0xac]
jle 0x1003e087
xor edx, edx
jmp 0x1003e095
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0xb0]
lea edx, [eax + ecx*4]
add edx, esi
mov eax, dword [ebp + 0xc]
cmp eax, dword [edx + 4]
jle 0x1003e0a1
xor edi, edi
jmp 0x1003e0b0
mov ecx, eax
shl ecx, 4
add ecx, eax
mov eax, dword [edx + 8]
lea edi, [eax + ecx*4]
add edi, edx
movd xmm0, dword [ebp + 0x10]
xor edx, edx
cvtdq2ps xmm0, xmm0
mov dword [esp + 0x20], edx
mov esi, 0x102afd9c
divss xmm0, dword [0x1026bcac]
mulss xmm0, dword [0x1026bd38]
cvttss2si eax, xmm0
mov dword [esp + 0xc], eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x74]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x70]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x78]
mov dword [esp + 0x68], eax
nop dword [eax + eax]
movss xmm2, dword [esp + 0x24]
mulss xmm2, dword [esi]
mov dword [esp + 0x28], edx
movss xmm1, dword [esp + 0x14]
mulss xmm1, dword [esi - 4]
movaps xmm3, xmm2
mulss xmm2, dword [esi + 0x10]
mulss xmm3, dword [esi + 0xc]
movaps xmm0, xmm1
mulss xmm0, dword [esi + 4]
mulss xmm1, dword [esi + 8]
addss xmm3, xmm0
addss xmm2, xmm1
movaps xmm4, xmm3
movaps xmm5, xmm3
mulss xmm4, dword [esp + 0x2c]
mulss xmm5, dword [esp + 0x30]
movaps xmm0, xmm2
mulss xmm0, dword [esp + 0x44]
addss xmm4, dword [esp + 0x38]
addss xmm5, dword [esp + 0x3c]
mulss xmm3, dword [esp + 0x34]
addss xmm4, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [esp + 0x48]
addss xmm3, dword [esp + 0x40]
mulss xmm2, dword [esp + 0x4c]
addss xmm5, xmm0
movss dword [esp + 0x10], xmm4
movaps xmm0, xmm4
mulss xmm0, xmm4
addss xmm3, xmm2
movaps xmm1, xmm5
movss dword [esp + 0x1c], xmm5
mulss xmm1, xmm5
movss dword [esp + 0x18], xmm3
addss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1003e1ca
sqrtsd xmm0, xmm0
jmp 0x1003e1cf
call fcn.1020bb20
xorps xmm3, xmm3
xorps xmm2, xmm2
cvtsd2ss xmm3, xmm0
ucomiss xmm3, xmm2
lahf
test ah, 0x44
jnp 0x1003e202
movss xmm1, dword [esp + 0x10]
movss xmm2, dword [esp + 0x1c]
movss xmm0, dword [esp + 0x18]
divss xmm1, xmm3
divss xmm2, xmm3
divss xmm0, xmm3
jmp 0x1003e208
xorps xmm0, xmm0
xorps xmm1, xmm1
lea edx, [esp + 0x7c]
movss dword [esp + 0x9c], xmm1
lea ecx, [esp + 0x9c]
movss dword [esp + 0xa0], xmm2
movss dword [esp + 0xa4], xmm0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
call fcn.1011dde0
movss xmm1, dword [esp + 0x7c]
movss xmm0, dword [0x1026bca4]
comiss xmm1, xmm0
movss xmm2, dword [0x1026bd04]
jbe 0x1003e26a
subss xmm1, xmm2
comiss xmm1, xmm0
ja 0x1003e261
movss xmm0, dword [0x1026be78]
comiss xmm0, xmm1
jbe 0x1003e280
addss xmm1, xmm2
comiss xmm0, xmm1
ja 0x1003e277
movss xmm0, dword [esp + 0x80]
comiss xmm0, xmm2
movss xmm3, dword [0x1026bd68]
jbe 0x1003e29f
subss xmm0, xmm3
comiss xmm0, xmm2
ja 0x1003e296
movss xmm2, dword [0x1026be90]
comiss xmm2, xmm0
jbe 0x1003e2b9
nop dword [eax]
addss xmm0, xmm3
comiss xmm2, xmm0
ja 0x1003e2b0
movss xmm2, dword [0x1026b9d0]
mulss xmm0, xmm2
movss dword [esp + 0x10], xmm0
fld dword [esp + 0x10]
fsincos
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
fstp dword [edx]
fstp dword [eax]
mulss xmm1, xmm2
movss dword [esp + 0x10], xmm1
fld dword [esp + 0x10]
fsincos
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x68]
fstp dword [edx]
fstp dword [eax]
movss xmm2, dword [esp + 0x6c]
movss xmm3, dword [esp + 0x74]
mulss xmm2, dword [esp + 0x70]
mulss xmm3, dword [esp + 0x70]
movss xmm4, dword [esp + 0x78]
movaps xmm0, xmm2
xorps xmm4, xmmword [0x1026c420]
movaps xmm1, xmm3
mulss xmm0, xmm2
mulss xmm1, xmm3
movss dword [esp + 0x10], xmm2
movss dword [esp + 0x1c], xmm3
addss xmm1, xmm0
movss dword [esp + 0x18], xmm4
movaps xmm0, xmm4
mulss xmm0, xmm4
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1003e35f
sqrtsd xmm0, xmm0
jmp 0x1003e364
call fcn.1020bb20
xorps xmm4, xmm4
xorps xmm3, xmm3
cvtsd2ss xmm4, xmm0
ucomiss xmm4, xmm3
lahf
test ah, 0x44
jnp 0x1003e397
movss xmm0, dword [esp + 0x10]
movss xmm1, dword [esp + 0x1c]
movss xmm2, dword [esp + 0x18]
divss xmm0, xmm4
divss xmm1, xmm4
divss xmm2, xmm4
jmp 0x1003e3a0
xorps xmm2, xmm2
xorps xmm0, xmm0
xorps xmm1, xmm1
movss xmm4, dword [esp + 0x94]
mov eax, dword [edi]
mulss xmm0, xmm4
mulss xmm1, xmm4
lea eax, [eax + eax*2]
mulss xmm2, xmm4
shl eax, 4
addss xmm0, dword [esp + 0x50]
addss xmm1, dword [esp + 0x54]
addss xmm2, dword [esp + 0x58]
add eax, dword [ebp + 8]
movss dword [esp + 0x88], xmm0
movss xmm0, dword [edi + 0x30]
comiss xmm0, xmm3
movss dword [esp + 0x8c], xmm1
movss dword [esp + 0x90], xmm2
jbe 0x1003e55e
movss xmm4, dword [edi + 0xc]
lea edx, [esp + 0x88]
movss xmm2, dword [edi + 8]
lea ecx, [esp + 0x50]
movss xmm1, dword [eax]
movss xmm0, dword [eax + 4]
movss xmm3, dword [edi + 0x10]
mulss xmm1, xmm2
mulss xmm0, xmm4
addss xmm1, xmm0
movss xmm0, dword [eax + 8]
mulss xmm0, xmm3
addss xmm1, xmm0
movss xmm0, dword [eax + 0x14]
mulss xmm0, xmm4
addss xmm1, dword [eax + 0xc]
movss dword [esp + 0xb4], xmm1
movss xmm1, dword [eax + 0x10]
mulss xmm1, xmm2
addss xmm1, xmm0
movss xmm0, dword [eax + 0x18]
mulss xmm0, xmm3
addss xmm1, xmm0
movss xmm0, dword [eax + 0x24]
mulss xmm0, xmm4
movss xmm4, dword [edi + 0x18]
addss xmm1, dword [eax + 0x1c]
movss dword [esp + 0xb8], xmm1
movss xmm1, dword [eax + 0x20]
mulss xmm1, xmm2
movss xmm2, dword [edi + 0x14]
addss xmm1, xmm0
movss xmm0, dword [eax + 0x28]
mulss xmm0, xmm3
movss xmm3, dword [edi + 0x1c]
addss xmm1, xmm0
movss xmm0, dword [eax + 4]
mulss xmm0, xmm4
addss xmm1, dword [eax + 0x2c]
movss dword [esp + 0xbc], xmm1
movss xmm1, dword [eax]
mulss xmm1, xmm2
addss xmm1, xmm0
movss xmm0, dword [eax + 8]
mulss xmm0, xmm3
addss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [eax + 0x10]
mulss xmm2, dword [eax + 0x20]
addss xmm1, dword [eax + 0xc]
movss dword [esp + 0xa8], xmm1
movaps xmm1, xmm4
mulss xmm1, dword [eax + 0x14]
mulss xmm4, dword [eax + 0x24]
addss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [eax + 0x18]
mulss xmm3, dword [eax + 0x28]
addss xmm4, xmm2
addss xmm1, xmm0
addss xmm4, xmm3
addss xmm1, dword [eax + 0x1c]
addss xmm4, dword [eax + 0x2c]
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0xb8]
movss dword [esp + 0xb0], xmm1
push eax
movss dword [esp + 0xb8], xmm4
call fcn.1011f2a0
movss xmm1, dword [edi + 0x30]
add esp, 8
comiss xmm1, xmm0
seta al
jmp 0x1003e57a
push eax
lea eax, [edi + 0x14]
push eax
lea eax, [edi + 8]
push eax
lea edx, [esp + 0x94]
lea ecx, [esp + 0x5c]
call fcn.1011f5d0
add esp, 0xc
mov ecx, dword [esp + 0x28]
test al, al
lea edx, [ecx + 1]
cmove edx, ecx
cmp edx, dword [esp + 0xc]
jge 0x1003e5e8
mov ecx, dword [esp + 0x20]
mov eax, edx
sub eax, ecx
add eax, 0x100
cmp eax, dword [esp + 0xc]
jl 0x1003e5e0
inc ecx
add esi, 0x18
mov dword [esp + 0x20], ecx
cmp esi, 0x102b159c
jl 0x1003e100
mov eax, dword [ebp + 0x14]
cmp edx, dword [esp + 0xc]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1026b9b8]
mulss xmm0, dword [0x1026bcac]
cvttss2si ecx, xmm0
mov dword [eax], ecx
setge al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
pop edi
pop esi
mulss xmm0, dword [0x1026b9b8]
mulss xmm0, dword [0x1026bcac]
cvttss2si ecx, xmm0
mov dword [eax], ecx
mov al, 1
mov esp, ebp
pop ebp
ret