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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x208
mov eax, dword [0x1009400c]
xor eax, esp
mov dword [esp + 0x204], eax
cmp byte [0x101db644], 0
push esi
push edi
movss dword [esp + 0x14], xmm1
mov edi, ecx
je 0x1001576c
mov dword [0x101db59c], 4
call dword [0x101db674]
test eax, eax
jne 0x100146ee
mov byte [0x101db644], al
pop edi
pop esi
mov ecx, dword [esp + 0x204]
xor ecx, esp
call fcn.1004d763
mov esp, ebp
pop ebp
ret
mov eax, dword [0x101db5a4]
sub eax, 0
je 0x1001552d
sub eax, 1
je 0x1001492a
sub eax, 1
jne 0x10015768
movss xmm0, dword [esp + 0x14]
mulss xmm0, dword [0x1008b978]
movss xmm2, dword [0x101db518]
cvtps2pd xmm3, xmm0
movss xmm0, dword [0x1008b864]
comiss xmm0, xmm2
jbe 0x10014745
cvtps2pd xmm1, xmm2
addsd xmm1, xmm1
mulsd xmm1, qword [0x1008b8d8]
jmp 0x10014754
movsd xmm1, qword [0x1008b8e8]
cvtps2pd xmm0, xmm2
subsd xmm1, xmm0
mulsd xmm1, qword [0x1008b8d8]
xor ecx, ecx
movzx eax, byte [0x101db644]
movss xmm4, dword [edi + 4]
movss xmm5, dword [edi + 8]
movss xmm7, dword [edi + 0x10]
addsd xmm1, qword [0x1008b870]
movss xmm6, dword [edi + 0x18]
movss dword [esp + 0x1b0], xmm4
movss dword [esp + 0x1d0], xmm5
movss dword [esp + 0x1b8], xmm7
mulsd xmm1, xmm3
mov dword [esp + 0x1e8], ecx
movss xmm3, dword [edi + 0xc]
movss dword [esp + 0x1c0], xmm3
movss dword [esp + 0x1c8], xmm6
cvtpd2ps xmm0, xmm1
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1cc], ecx
mov dword [esp + 0x1bc], ecx
movss xmm1, dword [edi + 0x1c]
addss xmm0, xmm2
movss dword [esp + 0x1b4], xmm1
movss xmm2, dword [edi + 0x20]
movss dword [esp + 0x1d4], xmm2
mov dword [esp + 0x1ec], 0x3f800000
comiss xmm0, dword [0x1008b888]
movss dword [0x101db518], xmm0
movss xmm0, dword [edi + 0x28]
movss dword [0x101db620], xmm0
cmova eax, ecx
movss xmm0, dword [edi + 0x2c]
movss dword [0x101db624], xmm0
movss xmm0, dword [edi + 0x30]
movss dword [0x101db628], xmm0
movss xmm0, dword [edi + 0x24]
mov byte [0x101db644], al
lea eax, [esp + 0x1b0]
movss dword [esp + 0x1c4], xmm0
movss xmm0, dword [edi + 0x14]
push eax
push 0x101f4448
movss dword [esp + 0x1e0], xmm0
call dword [sym.imp.d3dx9_43.dll_D3DXQuaternionRotationMatrix]
movss xmm0, dword [0x101db518]
lea eax, [esp + 0x88]
push ecx
movss dword [esp], xmm0
push 0x101f4448
push 0x101f4428
push eax
call dword [sym.imp.d3dx9_43.dll_D3DXQuaternionSlerp]
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x7c]
push eax
call dword [sym.imp.d3dx9_43.dll_D3DXQuaternionNormalize]
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x174]
push eax
call dword [sym.imp.d3dx9_43.dll_D3DXMatrixRotationQuaternion]
movss xmm4, dword [0x101db620]
movss xmm3, dword [0x101db624]
movss xmm1, dword [0x101db628]
subss xmm4, dword [0x101db558]
subss xmm3, dword [0x101db55c]
subss xmm1, dword [0x101db560]
movss xmm2, dword [0x101db518]
mulss xmm4, xmm2
mulss xmm3, xmm2
addss xmm4, dword [0x101db558]
mulss xmm1, xmm2
addss xmm3, dword [0x101db55c]
addss xmm1, dword [0x101db560]
jmp 0x10015695
movss xmm0, dword [0x101db4ac]
lea eax, [esp + 0x1f4]
push eax
lea eax, [esp + 0x104]
mov dword [esp + 0x1f8], 0xc2700000
push eax
movss dword [esp + 0x200], xmm0
mov dword [esp + 0x204], 0
call dword [sym.imp.Common.dll_class_Matrix___cdecl_EulerMatrix_class_Vector_const__]
mov esi, dword [0x616844]
add esp, 8
cmp dword [0x101db630], 0
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x140], xmm0
movups xmm0, xmmword [eax + 0x10]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x160], eax
mov eax, dword [0x616840]
mov dword [esp + 0x38], eax
mov eax, dword [0x610850]
mov dword [esp + 0x18], eax
mov eax, dword [0x610854]
movups xmmword [esp + 0x150], xmm0
mov dword [esp + 0x3c], eax
je 0x100150ba
movss xmm0, dword [0x101db620]
lea eax, [esp + 0x1b0]
movss dword [edi + 0x28], xmm0
movss xmm0, dword [0x101db624]
movss dword [edi + 0x2c], xmm0
movss xmm0, dword [0x101db628]
movss dword [edi + 0x30], xmm0
movaps xmm0, xmmword [esp + 0x140]
movups xmmword [edi + 4], xmm0
push eax
movaps xmm0, xmmword [esp + 0x154]
lea eax, [esp + 0x104]
movups xmmword [edi + 0x14], xmm0
push 0
movss xmm0, dword [esp + 0x168]
movss dword [edi + 0x24], xmm0
movss xmm0, dword [edi + 4]
movss dword [esp + 0x1b8], xmm0
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [edi + 8]
movss dword [esp + 0x1bc], xmm0
movss xmm1, dword [edi + 0xc]
movss dword [esp + 0x7c], xmm0
movss xmm0, dword [0x1008ba1c]
mulss xmm1, xmm0
movss xmm7, dword [edi + 0x30]
movss xmm3, dword [edi + 0x28]
movss dword [esp + 0x1c0], xmm1
movss xmm6, dword [edi + 0x1c]
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x1c8], xmm6
movss xmm1, dword [edi + 0x20]
movss dword [esp + 0x1cc], xmm1
movss dword [esp + 0x78], xmm1
movss xmm1, dword [edi + 0x24]
mulss xmm1, xmm0
movss xmm4, dword [edi + 0x2c]
movss dword [esp + 0x1d0], xmm1
movss xmm2, dword [edi + 0x10]
movss dword [esp + 0x28], xmm1
movss dword [esp + 0x1d8], xmm2
movss xmm5, dword [edi + 0x14]
movss dword [esp + 0x1dc], xmm5
movss xmm1, dword [edi + 0x18]
mulss xmm1, xmm0
mov dword [esp + 0x1f4], 0x3f800000
movss xmm0, dword [esp + 0x1c]
mulss xmm0, xmm3
mov dword [esp + 0x1e4], 0
movss dword [esp + 0x24], xmm1
movss dword [esp + 0x1e0], xmm1
movaps xmm1, xmm7
mulss xmm1, xmm6
mov dword [esp + 0x1d4], 0
mov dword [esp + 0x1c4], 0
addss xmm1, xmm0
movaps xmm0, xmm4
mulss xmm0, xmm2
movss xmm2, dword [0x1008bbe0]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x7c]
mulss xmm0, xmm3
xorps xmm1, xmm2
movss dword [esp + 0x1e8], xmm1
movaps xmm1, xmm7
mulss xmm1, dword [esp + 0x78]
mulss xmm7, dword [esp + 0x28]
addss xmm1, xmm0
movaps xmm0, xmm4
mulss xmm0, xmm5
addss xmm1, xmm0
movss xmm0, dword [esp + 0x2c]
mulss xmm0, xmm3
addss xmm7, xmm0
xorps xmm1, xmm2
movss xmm0, dword [esp + 0x24]
mulss xmm0, xmm4
movss dword [esp + 0x1ec], xmm1
addss xmm7, xmm0
xorps xmm7, xmm2
movss dword [esp + 0x1f0], xmm7
push eax
call dword [sym.imp.d3dx9_43.dll_D3DXMatrixInverse]
cmp dword [0x101db630], 1
movd xmm0, dword [esp + 0x18]
movd xmm3, dword [esp + 0x38]
cvtdq2ps xmm0, xmm0
push 0x101f4668
cvtdq2ps xmm3, xmm3
movd xmm2, esi
divss xmm3, xmm0
mov esi, dword [sym.imp.d3dx9_43.dll_D3DXVec4Transform]
movd xmm0, dword [esp + 0x40]
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
addss xmm3, xmm3
divss xmm2, xmm0
movss xmm0, dword [edi + 0x28]
subss xmm3, dword [0x1008b888]
addss xmm2, xmm2
movss dword [esp + 0x28], xmm0
movss xmm0, dword [edi + 0x30]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [edi + 0x2c]
movss dword [esp + 0x18], xmm3
subss xmm2, dword [0x1008b888]
movss dword [esp + 0x20], xmm0
xorps xmm2, xmmword [0x1008bbe0]
movss dword [esp + 0x1c], xmm2
jne 0x10014d7c
lea eax, [esp + 0xf4]
movss dword [esp + 0xf4], xmm3
push eax
lea eax, [esp + 0x48]
movss dword [esp + 0xfc], xmm2
push eax
mov dword [esp + 0x104], 0x3f800000
mov dword [esp + 0x108], 0x3f800000
call esi
movss xmm1, dword [esp + 0x4c]
lea eax, [esp + 0x100]
movss xmm0, dword [esp + 0x40]
divss xmm0, xmm1
push eax
lea eax, [esp + 0x44]
mov dword [esp + 0x50], 0x3f800000
push eax
lea eax, [esp + 0x30]
push eax
movss dword [esp + 0x4c], xmm0
movss xmm0, dword [esp + 0x50]
divss xmm0, xmm1
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0x54]
divss xmm0, xmm1
movss dword [esp + 0x54], xmm0
call esi
movss xmm0, dword [esp + 0x34]
movss xmm3, dword [esp + 0x30]
divss xmm3, xmm0
mov dword [0x101f4410], 0x3f800000
mov dword [0x101db630], 2
movss xmm1, dword [esp + 0x28]
movss xmm2, dword [esp + 0x2c]
movss xmm5, dword [esp + 0x1c]
divss xmm1, xmm0
divss xmm2, xmm0
movss xmm0, dword [0x101db594]
subss xmm5, xmm3
subss xmm0, xmm3
movss xmm4, dword [esp + 0x24]
subss xmm4, xmm1
divss xmm0, xmm5
mulss xmm4, xmm0
addss xmm4, xmm1
movss xmm1, dword [esp + 0x20]
subss xmm1, xmm2
movss dword [0x101f4404], xmm4
mulss xmm1, xmm0
mulss xmm0, xmm5
addss xmm1, xmm2
movss dword [0x101db4b8], xmm4
addss xmm0, xmm3
movss dword [0x101f4408], xmm1
movss dword [0x101db4c0], xmm1
movss dword [0x101f440c], xmm0
movss dword [0x101db4bc], xmm0
mov byte [edi + 0x34], 1
pop edi
pop esi
mov ecx, dword [esp + 0x204]
xor ecx, esp
call fcn.1004d763
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0xb4]
movss dword [esp + 0xb4], xmm3
push eax
lea eax, [esp + 0xe8]
movss dword [esp + 0xbc], xmm2
push eax
mov dword [esp + 0xc4], 0x3f800000
mov dword [esp + 0xc8], 0x3f800000
call esi
lea eax, [esp + 0x100]
push eax
lea eax, [esp + 0xe4]
push eax
lea eax, [esp + 0x58]
push eax
call esi
movss xmm0, dword [esp + 0x14]
lea eax, [esp + 0x78]
push 0x101f4668
push eax
movss dword [esp + 0x80], xmm0
lea eax, [esp + 0xc8]
movss xmm0, dword [esp + 0x20]
push eax
movss dword [esp + 0x88], xmm0
mov dword [esp + 0x8c], 0x3f666666
mov dword [esp + 0x90], 0x3f800000
call esi
lea eax, [esp + 0x100]
push eax
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x68]
push eax
call esi
movss xmm0, dword [esp + 0x14]
lea eax, [esp + 0x88]
addss xmm0, dword [0x1008b83c]
push 0x101f4668
push eax
lea eax, [esp + 0xd8]
mov dword [esp + 0x98], 0x3f800000
push eax
movss dword [esp + 0x94], xmm0
movss xmm0, dword [esp + 0x24]
movss dword [esp + 0x98], xmm0
mov dword [esp + 0xa0], 0x3f800000
call esi
lea eax, [esp + 0x100]
push eax
lea eax, [esp + 0xd4]
push eax
lea eax, [esp + 0x30]
push eax
call esi
movss xmm0, dword [esp + 0x5c]
movss xmm1, dword [esp + 0x50]
divss xmm1, xmm0
mov dword [esp + 0x5c], 0x3f800000
movss xmm7, dword [esp + 0x60]
movss dword [esp + 0x14], xmm1
movss dword [esp + 0x50], xmm1
movss xmm1, dword [esp + 0x54]
divss xmm1, xmm0
movss xmm6, dword [esp + 0x64]
movss xmm4, dword [esp + 0x68]
movss dword [esp + 0x18], xmm1
movss dword [esp + 0x54], xmm1
movss xmm1, dword [esp + 0x58]
divss xmm1, xmm0
movss xmm0, dword [esp + 0x6c]
divss xmm7, xmm0
mov dword [esp + 0x6c], 0x3f800000
divss xmm6, xmm0
divss xmm4, xmm0
movss xmm5, dword [esp + 0x28]
movss dword [esp + 0x1c], xmm1
movss dword [esp + 0x58], xmm1
movss dword [esp + 0x60], xmm7
movss dword [esp + 0x64], xmm6
movss dword [esp + 0x68], xmm4
movss xmm0, dword [esp + 0x34]
subss xmm4, xmm1
movss xmm3, dword [esp + 0x2c]
lea ecx, [esp + 0xf0]
movss xmm2, dword [esp + 0x30]
divss xmm3, xmm0
mov dword [esp + 0x34], 0x3f800000
divss xmm2, xmm0
divss xmm5, xmm0
subss xmm6, dword [esp + 0x18]
subss xmm7, dword [esp + 0x14]
movss dword [esp + 0x2c], xmm3
subss xmm3, dword [esp + 0x18]
movss dword [esp + 0x30], xmm2
subss xmm2, xmm1
movss dword [esp + 0x28], xmm5
subss xmm5, dword [esp + 0x14]
movaps xmm0, xmm3
mulss xmm3, xmm7
movaps xmm1, xmm2
mulss xmm0, xmm4
mulss xmm1, xmm6
mulss xmm2, xmm7
subss xmm1, xmm0
movaps xmm0, xmm5
mulss xmm0, xmm4
mulss xmm5, xmm6
subss xmm0, xmm2
movss dword [esp + 0xf0], xmm1
subss xmm3, xmm5
movss dword [esp + 0xf4], xmm0
movss dword [esp + 0xf8], xmm3
call fcn.1002bcd0
movss xmm1, dword [esp + 0xf4]
lea eax, [esp + 0xf0]
mulss xmm1, dword [esp + 0x18]
lea edx, [esp + 0xa4]
lea ecx, [esp + 0x40]
movss xmm0, dword [esp + 0xf0]
mulss xmm0, dword [esp + 0x14]
push eax
movss xmm2, dword [0x101f4404]
lea eax, [esp + 0x9c]
push eax
addss xmm1, xmm0
movss dword [esp + 0xac], xmm2
movss xmm0, dword [esp + 0x100]
mulss xmm0, dword [esp + 0x24]
movss dword [esp + 0xa0], xmm2
addss xmm1, xmm0
movss xmm0, dword [0x101f4408]
movss dword [esp + 0xb0], xmm0
movss dword [esp + 0xa4], xmm0
xorps xmm1, xmmword [0x1008bbe0]
movss dword [esp + 0x104], xmm1
movss xmm1, dword [0x101f440c]
movss dword [esp + 0xb4], xmm1
addss xmm1, dword [0x1008b9b4]
movss dword [esp + 0xa8], xmm1
call fcn.1002bde0
movss xmm0, dword [esp + 0x50]
add esp, 8
movss dword [0x101db4bc], xmm0
mov byte [edi + 0x34], 1
pop edi
pop esi
mov ecx, dword [esp + 0x204]
xor ecx, esp
call fcn.1004d763
mov esp, ebp
pop ebp
ret
movss xmm0, dword [0x101db4ac]
lea eax, [esp + 0x200]
push eax
lea eax, [esp + 0x1b4]
mov dword [esp + 0x204], 0xc2b40000
push eax
movss dword [esp + 0x20c], xmm0
mov dword [esp + 0x210], 0
call dword [sym.imp.Common.dll_class_Matrix___cdecl_EulerMatrix_class_Vector_const__]
add esp, 4
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x104], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esp + 0x114], xmm0
movss xmm0, dword [0x101db594]
subss xmm0, dword [0x101db624]
movss dword [esp], xmm0
call fcn.10009960
fdiv dword [0x1008b9e8]
add esp, 4
mov eax, dword [esp + 0x18]
add eax, 0xfffffffb
mov ecx, dword [esp + 0x38]
movss xmm5, dword [esp + 0x14]
movss xmm1, dword [0x1008b998]
movaps xmm7, xmm5
mulss xmm7, dword [0x1008b9c8]
fstp dword [esp + 0x1c]
movss xmm6, dword [esp + 0x1c]
cmp ecx, eax
jle 0x1001518b
movss xmm2, dword [0x101db62c]
divss xmm2, xmm1
addss xmm2, xmm7
addss xmm2, dword [0x101db62c]
movss dword [0x101db62c], xmm2
movaps xmm3, xmm2
jmp 0x100151b9
cmp ecx, 5
jge 0x10015215
movss xmm3, dword [0x101db62c]
movaps xmm0, xmm3
divss xmm0, xmm1
movaps xmm1, xmm7
subss xmm1, xmm0
subss xmm3, xmm1
movaps xmm2, xmm3
movss dword [0x101db62c], xmm3
mulss xmm3, dword [esp + 0x100]
movaps xmm4, xmm2
mulss xmm4, dword [esp + 0x10c]
mulss xmm2, dword [esp + 0x118]
mulss xmm3, xmm6
mulss xmm4, xmm6
addss xmm3, dword [0x101db558]
mulss xmm2, xmm6
addss xmm4, dword [0x101db55c]
addss xmm2, dword [0x101db560]
movss dword [0x101db558], xmm3
movss dword [0x101db55c], xmm4
movss dword [0x101db560], xmm2
jmp 0x10015237
movss xmm2, dword [0x101db560]
movss xmm4, dword [0x101db55c]
movss xmm3, dword [0x101db558]
mov dword [0x101db62c], 0
mov eax, dword [esp + 0x3c]
add eax, 0xfffffffb
cmp esi, eax
jle 0x10015260
movss xmm1, dword [0x101db65c]
divss xmm1, dword [0x1008b998]
addss xmm1, xmm7
addss xmm1, dword [0x101db65c]
jmp 0x10015280
cmp esi, 5
jge 0x100152db
movss xmm1, dword [0x101db65c]
movaps xmm0, xmm1
divss xmm0, dword [0x1008b998]
subss xmm7, xmm0
subss xmm1, xmm7
movaps xmm0, xmm1
movss dword [0x101db65c], xmm1
mulss xmm0, dword [esp + 0x104]
mulss xmm0, xmm6
subss xmm3, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [esp + 0x110]
mulss xmm1, dword [esp + 0x11c]
mulss xmm0, xmm6
mulss xmm1, xmm6
subss xmm4, xmm0
movss dword [0x101db558], xmm3
subss xmm2, xmm1
movss dword [0x101db55c], xmm4
movss dword [0x101db560], xmm2
jmp 0x100152e5
mov dword [0x101db65c], 0
movss xmm1, dword [0x1008b888]
movaps xmm0, xmm5
mulss xmm0, dword [0x1008b978]
mov eax, dword [0x101db550]
subss xmm3, dword [0x101db620]
subss xmm4, dword [0x101db624]
minss xmm1, xmm0
subss xmm2, dword [0x101db628]
mulss xmm3, xmm1
mulss xmm4, xmm1
mulss xmm2, xmm1
addss xmm3, dword [0x101db620]
addss xmm4, dword [0x101db624]
addss xmm2, dword [0x101db628]
movss dword [0x101db620], xmm3
movss dword [0x101db624], xmm4
movss dword [0x101db628], xmm2
movss dword [edi + 0x28], xmm3
movss dword [edi + 0x2c], xmm4
movss dword [edi + 0x30], xmm2
cmp eax, 1
jne 0x10015383
mulss xmm5, dword [0x1008b9b0]
addss xmm5, dword [0x101db4ac]
movss dword [0x101db4ac], xmm5
jmp 0x100153b1
cmp eax, 2
jne 0x100153a9
movaps xmm0, xmm5
movss xmm5, dword [0x101db4ac]
mulss xmm0, dword [0x1008b9b0]
subss xmm5, xmm0
movss dword [0x101db4ac], xmm5
jmp 0x100153b1
movss xmm5, dword [0x101db4ac]
movss xmm1, dword [0x1008b9d4]
comiss xmm5, xmm1
jbe 0x100153c4
subss xmm5, xmm1
jmp 0x100153d5
movss xmm0, dword [0x1008ba30]
comiss xmm0, xmm5
jbe 0x100153dd
addss xmm5, xmm1
movss dword [0x101db4ac], xmm5
movss xmm5, dword [esp + 0x140]
lea eax, [esp + 0x170]
movss xmm6, dword [esp + 0x144]
movss xmm3, dword [esp + 0x148]
movss xmm7, dword [esp + 0x14c]
movss xmm0, dword [esp + 0x150]
movss xmm4, dword [esp + 0x154]
movss xmm1, dword [esp + 0x158]
movss xmm2, dword [esp + 0x15c]
movss dword [edi + 4], xmm5
movss dword [edi + 8], xmm6
movss dword [edi + 0xc], xmm3
movss dword [edi + 0x10], xmm7
movss dword [edi + 0x14], xmm0
movss xmm0, dword [esp + 0x160]
movss dword [edi + 0x18], xmm4
movss dword [edi + 0x1c], xmm1
movss dword [edi + 0x20], xmm2
movss dword [edi + 0x24], xmm0
movss dword [esp + 0x184], xmm0
movss xmm0, dword [esp + 0x150]
push eax
push 0x101f4428
movss dword [esp + 0x178], xmm5
movss dword [esp + 0x188], xmm3
movss dword [esp + 0x198], xmm6
movss dword [esp + 0x17c], xmm1
movss dword [esp + 0x19c], xmm2
movss dword [esp + 0x180], xmm7
movss dword [esp + 0x190], xmm4
movss dword [esp + 0x1a0], xmm0
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x194], 0
mov dword [esp + 0x184], 0
mov dword [esp + 0x1b4], 0x3f800000
call dword [sym.imp.d3dx9_43.dll_D3DXQuaternionRotationMatrix]
mov byte [edi + 0x34], 1
pop edi
pop esi
mov ecx, dword [esp + 0x204]
xor ecx, esp
call fcn.1004d763
mov esp, ebp
pop ebp
ret
movss xmm2, dword [esp + 0x14]
movss xmm3, dword [0x101db518]
movaps xmm0, xmm2
mulss xmm0, dword [0x1008b978]
cvtps2pd xmm4, xmm0
movss xmm0, dword [0x1008b864]
comiss xmm0, xmm3
jbe 0x10015567
cvtps2pd xmm1, xmm3
addsd xmm1, xmm1
mulsd xmm1, qword [0x1008b8d8]
jmp 0x10015576
movsd xmm1, qword [0x1008b8e8]
cvtps2pd xmm0, xmm3
subsd xmm1, xmm0
mulsd xmm1, qword [0x1008b8d8]
addsd xmm1, qword [0x1008b870]
mulsd xmm1, xmm4
cvtpd2ps xmm0, xmm1
addss xmm0, xmm3
comiss xmm0, dword [0x1008b888]
movss dword [0x101db518], xmm0
jbe 0x100155ef
movq xmm0, qword [0x101db558]
movaps xmm1, xmm2
mov eax, dword [0x101db560]
mov ecx, edi
mov dword [0x101db518], 0x3f800000
mov dword [0x101db5a4], 1
movq qword [0x101db620], xmm0
mov dword [0x101db628], eax
call fcn.10014690
pop edi
pop esi
mov ecx, dword [esp + 0x204]
xor ecx, esp
call fcn.1004d763
mov esp, ebp
pop ebp
ret
push ecx
movss dword [esp], xmm0
lea eax, [esp + 0xd4]
push 0x101f4428
push 0x101f4448
push eax
call dword [sym.imp.d3dx9_43.dll_D3DXQuaternionSlerp]
lea eax, [esp + 0xd0]
push eax
lea eax, [esp + 0xc4]
push eax
call dword [sym.imp.d3dx9_43.dll_D3DXQuaternionNormalize]
lea eax, [esp + 0xc0]
push eax
lea eax, [esp + 0x174]
push eax
call dword [sym.imp.d3dx9_43.dll_D3DXMatrixRotationQuaternion]
movss xmm4, dword [0x101db558]
movss xmm3, dword [0x101db55c]
movss xmm1, dword [0x101db560]
subss xmm4, dword [0x101db620]
subss xmm3, dword [0x101db624]
subss xmm1, dword [0x101db628]
movss xmm2, dword [0x101db518]
mulss xmm4, xmm2
mulss xmm3, xmm2
addss xmm4, dword [0x101db620]
mulss xmm1, xmm2
addss xmm3, dword [0x101db624]
addss xmm1, dword [0x101db628]
movss xmm0, dword [esp + 0x170]
movss dword [esp + 0x100], xmm0
movss xmm0, dword [esp + 0x180]
movss dword [esp + 0x108], xmm0
movss xmm0, dword [esp + 0x190]
movss dword [esp + 0x104], xmm0
movss xmm0, dword [esp + 0x174]
movss dword [esp + 0x118], xmm0
movss xmm0, dword [esp + 0x184]
movss dword [esp + 0x120], xmm0
movss xmm0, dword [esp + 0x194]
mov eax, dword [esp + 0x120]
movss dword [esp + 0x11c], xmm0
movss xmm0, dword [esp + 0x178]
movss dword [esp + 0x10c], xmm0
movss xmm0, dword [esp + 0x188]
movss dword [esp + 0x114], xmm0
movss xmm0, dword [esp + 0x198]
movss dword [esp + 0x110], xmm0
movups xmm0, xmmword [esp + 0x100]
movups xmmword [edi + 4], xmm0
movups xmm0, xmmword [esp + 0x110]
movups xmmword [edi + 0x14], xmm0
mov dword [edi + 0x24], eax
movss dword [edi + 0x30], xmm1
movss dword [edi + 0x2c], xmm3
movss dword [edi + 0x28], xmm4
mov byte [edi + 0x34], 1
mov ecx, dword [esp + 0x20c]
pop edi
pop esi
xor ecx, esp
call fcn.1004d763
mov esp, ebp
pop ebp
ret