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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
mov rdi, qword [0x140121ce8]
movzx ebx, r9b
mov r12d, dword [rsp + 0xc0]
mov ebp, edx
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm7
mov r14, qword [rdi + 0x3ed0]
mov eax, dword [r14 + 0xc]
movss xmm2, dword [r14 + 0x248]
and eax, 4
movss xmm4, dword [r14 + 0x24c]
or eax, 0x1000103
or r12d, eax
cmp qword [r14 + 0x1a0], 0
jne 0x140016e17
cmp qword [rdi + 0x4b18], 0
je 0x140016e20
movss xmm2, dword [r14 + 0x218]
cvttss2si eax, dword [r8]
xor r13d, r13d
subss xmm2, dword [r14 + 0xf8]
subss xmm4, dword [r14 + 0xfc]
xorps xmm7, xmm7
movd xmm1, eax
cvttss2si eax, dword [r8 + 4]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
ucomiss xmm1, xmm7
cvtdq2ps xmm0, xmm0
jp 0x140016e5d
mov eax, 1
je 0x140016e60
mov eax, r13d
ucomiss xmm0, xmm7
jp 0x140016e6d
mov r15d, 2
je 0x140016e70
mov r15d, r13d
movss xmm3, dword [0x1400c54d4]
or r15d, eax
comiss xmm7, xmm1
jb 0x140016e8b
addss xmm2, xmm1
movaps xmm1, xmm2
maxss xmm1, xmm3
comiss xmm7, xmm0
jb 0x140016e9b
addss xmm4, xmm0
movaps xmm0, xmm4
maxss xmm0, xmm3
or dword [rdi + 0x47a8], 2
xor edx, edx
movss dword [rdi + 0x47c8], xmm1
movss dword [rdi + 0x47cc], xmm0
mov dword [rdi + 0x47b0], 1
mov r9, qword [r14]
test rcx, rcx
je 0x140016ee5
mov dword [rsp + 0x28], ebp
lea r8, str._s__s__08X
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0xa0]
call fcn.14000fe10
jmp 0x140016efd
lea r8, str._s__08X
mov dword [rsp + 0x20], ebp
lea rcx, [rsp + 0xa0]
call fcn.14000fe10
movss xmm6, dword [rdi + 0x3810]
test bl, bl
jne 0x140016f10
mov dword [rdi + 0x3810], r13d
mov rcx, qword [rsp + 0xa0]
mov r8d, r12d
xor edx, edx
call fcn.140019cc0
mov rbx, qword [rdi + 0x3ed0]
movzx esi, al
movss dword [rdi + 0x3810], xmm6
cmp word [rbx + 0xba], 1
mov dword [rbx + 0x78], ebp
mov byte [rbx + 0xca], r15b
jne 0x140016f56
movsd xmm0, qword [rbx + 0x18]
movsd qword [r14 + 0xf8], xmm0
mov r11, qword [0x140121ce8]
lea rdx, [rsp + 0x38]
mov qword [r14 + 0x8c], 0x41200000
lea rcx, [rsp + 0x40]
mov r8b, 1
mov r10, qword [r11 + 0x3ed0]
movss xmm6, dword [r11 + 0xfc]
xorps xmm6, xmmword [0x1400c5d00]
movss xmm3, dword [r10 + 0x18]
movss xmm2, dword [r10 + 0x1c]
movaps xmm1, xmm3
addss xmm1, dword [r10 + 0x20]
movaps xmm0, xmm2
movss dword [rsp + 0x30], xmm3
addss xmm0, dword [r10 + 0x24]
movss dword [rsp + 0x34], xmm2
movss dword [rsp + 0x40], xmm3
movss dword [rsp + 0x38], xmm1
movss dword [rsp + 0x48], xmm1
movss dword [rsp + 0x3c], xmm0
movss dword [rsp + 0x4c], xmm0
movss dword [rsp + 0x44], xmm2
call fcn.14001d660
test al, al
je 0x140017061
cmp byte [r11 + 0xe04], r13b
je 0x140017061
mov ecx, 0x281
call fcn.14000f360
cmp byte [rax + 8], r13b
jne 0x140017061
call fcn.14001cb00
test al, al
jne 0x140017061
ucomiss xmm6, xmm7
jp 0x14001700c
je 0x140017061
comiss xmm7, xmm6
movss xmm2, dword [r10 + 0x4c]
movaps xmm1, xmm6
addss xmm1, dword [r10 + 0x80]
jbe 0x14001703e
movss xmm0, dword [r10 + 0x88]
subss xmm0, xmm2
subss xmm0, dword [0x1400c54b0]
minss xmm1, xmm0
jmp 0x14001704a
addss xmm2, dword [0x1400c54b0]
maxss xmm1, xmm2
movss dword [r10 + 0x90], xmm1
mov dword [r10 + 0x98], r13d
mov dword [r10 + 0xa0], r13d
cmp dword [rdi + 0x48c0], ebp
jne 0x1400170aa
bt r12d, 0x17
jb 0x1400170aa
cmp word [rbx + 0x154], r13w
jne 0x140017083
cmp byte [rbx + 0x159], r13b
je 0x1400170aa
mov rcx, rbx
call fcn.14001c5e0
xor edx, edx
mov rcx, rbx
call fcn.140021d60
lea ecx, [rbp + 1]
mov rdx, rbx
call fcn.140013670
mov dword [rdi + 0x3f58], 5
movaps xmm6, xmmword [rsp + 0x60]
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x38]
movzx eax, sil
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm7, xmmword [rsp + 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret