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

Disassembly:
sub esp, 0x58
mov eax, dword [0x10a78b80]
xor eax, esp
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x64]
push ebx
push ebp
mov ebx, dword [esp + 0x70]
push esi
mov esi, dword [esp + 0x78]
push edi
mov edi, dword [esp + 0x6c]
movsd xmm0, qword [0x1081f650]
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x18], eax
mov ecx, dword [edi + 0x3eee0]
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], edx
mov eax, dword [ecx + 0x10]
mov edx, dword [edi + 0x5cd34]
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x28], edx
lea edx, [esp + 0x13]
push edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 0x20]
push 1
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0x3e7a8]
push esi
push 1
movsd qword [esp + 0x48], xmm0
mov eax, dword [eax + 0x48]
push eax
push dword [edx + ebx*4]
mov byte [esp + 0x2b], 0
push ecx
push 2
call fcn.1015a4c0
add esp, 0x20
test al, al
jne 0x10172f7e
cmp byte [esp + 0x13], al
je 0x101730e2
push str.Failed_to_allocate_global_motion_buffers
push 2
push ebp
call fcn.1006e850
add esp, 0xc
jmp 0x101730e2
cmp dword [esi + 0x34], 0
je 0x101730e2
lea eax, [esp + 0x40]
push eax
push esi
call fcn.1046aa40
add esp, 8
cmp byte [esp + 0x60], 1
jbe 0x101730e2
push dword [esi + 0x34]
mov ebp, dword [esp + 0x1c]
push dword [esi + 0x30]
mov esi, dword [esp + 0x8c]
push dword [esp + 0x90]
push esi
push ebp
call fcn.1046a910
mov eax, dword [edi + 0x16118]
push esi
push ebp
push dword [esp + 0x3c]
mov edx, dword [eax + 0x8c]
mov eax, dword [esp + 0x34]
push dword [esp + 0x44]
shr edx, 3
push dword [esp + 0x40]
mov ecx, dword [eax + ebx*4]
and edx, 1
mov eax, dword [edi + 0x3eee0]
push dword [eax + 0x28]
push dword [ecx + 0x20]
push dword [ecx + 0x28]
push dword [edi + 0x16b88]
push edx
call fcn.1046b390
mov ebp, eax
add esp, 0x3c
mov eax, edx
mov ecx, ebp
or ecx, eax
mov dword [esp + 0x30], eax
je 0x101730e2
push dword [esp + 0x84]
mov ecx, dword [edi + 0x16118]
push dword [esp + 0x1c]
push eax
mov esi, dword [ecx + 0x8c]
mov ecx, dword [esp + 0x20]
mov eax, dword [edi + 0x3eee0]
push ebp
push dword [esp + 0x38]
mov ecx, dword [ecx + ebx*4]
push dword [esp + 0x30]
shr esi, 3
push dword [esp + 0x38]
and esi, 1
push dword [esp + 0x40]
push dword [eax + 0x28]
lea eax, [esp + 0x64]
push dword [ecx + 0x20]
push dword [ecx + 0x18]
push dword [ecx + 0x10]
push dword [ecx + 0x28]
push dword [edi + 0x16b88]
push esi
push dword [esp + 0x9c]
push eax
call fcn.1046ac20
add esp, 0x44
cmp byte [esp + 0x60], 1
jbe 0x101730e2
mov ecx, eax
call fcn.10511ed0
mov edx, dword [esp + 0x30]
mov ecx, ebp
movsd qword [esp + 0x28], xmm0
call fcn.10511ed0
movsd xmm1, qword [esp + 0x28]
divsd xmm1, xmm0
movsd xmm0, qword [0x1081f650]
comisd xmm0, xmm1
jbe 0x101730e2
movups xmm0, xmmword [esp + 0x40]
mov ecx, dword [esp + 0x60]
lea eax, [ebx + ebx*8]
movsd qword [esp + 0x38], xmm1
movups xmmword [edi + eax*4 + 0x3e688], xmm0
movups xmm0, xmmword [esp + 0x50]
movups xmmword [edi + eax*4 + 0x3e698], xmm0
mov dword [edi + eax*4 + 0x3e6a8], ecx
lea ebx, [ebx + ebx*8]
lea esi, [edi + 0x3e688]
lea esi, [esi + ebx*4]
push esi
call fcn.1022f840
add esp, 4
test eax, eax
jne 0x10173118
movups xmm0, xmmword [0x10813e54]
movups xmmword [esi], xmm0
movups xmm0, xmmword [0x10813e64]
movups xmmword [esi + 0x10], xmm0
mov eax, dword [0x10813e74]
mov dword [esi + 0x20], eax
cmp byte [edi + ebx*4 + 0x3e6a8], 0
je 0x1017316f
movzx eax, byte [edi + 0x3ada9]
push eax
push dword [esp + 0x38]
push esi
call fcn.10173190
movsd xmm0, qword [esp + 0x44]
add esp, 0xc
push eax
sub esp, 8
movsd qword [esp], xmm0
call fcn.1046abe0
add esp, 0xc
test eax, eax
jne 0x1017316f
movups xmm0, xmmword [0x10813e54]
movups xmmword [esi], xmm0
movups xmm0, xmmword [0x10813e64]
movups xmmword [esi + 0x10], xmm0
mov eax, dword [0x10813e74]
mov dword [esi + 0x20], eax
mov ecx, dword [esp + 0x64]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.105116c0
add esp, 0x58
ret