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

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0x100
mov rax, qword [0x140070010]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov qword [r11 + 8], rbp
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x18], rdi
mov qword [r11 - 0x18], r15
movaps xmmword [r11 - 0x28], xmm6
mov r11, qword [0x1400a33e0]
movaps xmmword [rsp + 0x70], xmm13
mov rbx, r11
movaps xmmword [rsp + 0x60], xmm14
movaps xmmword [rsp + 0x50], xmm15
mov ebp, dword [r11 + 8]
mov rdi, qword [r11 + 0x48b0]
test bpl, 2
je 0x1400167f8
test byte [r11 + 0xc], 1
je 0x1400167f8
mov r10b, 1
jmp 0x1400167fb
xor r10b, r10b
and bpl, 1
movaps xmmword [rsp + 0xd0], xmm7
xor r15d, r15d
movaps xmmword [rsp + 0x90], xmm11
xorps xmm6, xmm6
cmp byte [r11 + 0x492a], r15b
je 0x140016851
test rdi, rdi
je 0x140016851
test byte [r11 + 0x5cbc], 8
lea rsi, [r11 + 0x4938]
je 0x14001684a
mov edx, dword [rsi]
lea rcx, str._nav__NavMoveRequestForward__d_n
call fcn.14001a440
mov r11, qword [0x1400a33e0]
mov eax, dword [rsi]
jmp 0x140016c21
mov qword [r11 + 0x492c], r15
lea rsi, [r11 + 0x4938]
mov dword [rsi], 0xffffffff
test rdi, rdi
je 0x140016c00
cmp qword [r11 + 0x4a38], r15
jne 0x140016c00
test dword [rdi + 0x14], 0x40000
jne 0x140016c00
test byte [r11 + 0x4740], 1
movss xmm5, dword [0x1400669c0]
movss xmm7, dword [0x1400669cc]
jne 0x14001696d
test r10b, r10b
je 0x140016908
mov edx, 0x26f
mov rcx, r11
call fcn.1400101d0
cmp byte [rax], r15b
je 0x140016908
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140016908
ucomiss xmm0, xmm6
jp 0x1400168ce
je 0x1400168f5
movss xmm1, dword [r11 + 0x3c]
movss xmm2, dword [r11 + 0x40]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140016908
mov ecx, 0x26f
call fcn.1400103a0
test eax, eax
jle 0x140016908
mov edx, 0xffffffff
mov ecx, 0x26f
call fcn.140012610
test al, al
jne 0x14001696a
test bpl, bpl
je 0x14001696d
mov edx, 0x201
mov rcx, r11
call fcn.1400101d0
cmp byte [rax], r15b
je 0x14001696d
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x14001696d
ucomiss xmm0, xmm6
jp 0x140016930
je 0x140016957
movss xmm1, dword [r11 + 0x3c]
movss xmm2, dword [r11 + 0x40]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x14001696d
mov ecx, 0x201
call fcn.1400103a0
test eax, eax
jle 0x14001696d
mov edx, 0xffffffff
mov ecx, 0x201
call fcn.140012610
test al, al
je 0x14001696d
mov dword [rsi], r15d
mov eax, dword [r11 + 0x4740]
shr eax, 1
test al, 1
jne 0x140016a48
test r10b, r10b
je 0x1400169e0
mov edx, 0x270
mov rcx, r11
call fcn.1400101d0
cmp byte [rax], r15b
je 0x1400169e0
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x1400169e0
ucomiss xmm0, xmm6
jp 0x1400169a6
je 0x1400169cd
movss xmm1, dword [r11 + 0x3c]
movss xmm2, dword [r11 + 0x40]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x1400169e0
mov ecx, 0x270
call fcn.1400103a0
test eax, eax
jle 0x1400169e0
mov edx, 0xffffffff
mov ecx, 0x270
call fcn.140012610
test al, al
jne 0x140016a42
test bpl, bpl
je 0x140016a48
mov edx, 0x202
mov rcx, r11
call fcn.1400101d0
cmp byte [rax], r15b
je 0x140016a48
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140016a48
ucomiss xmm0, xmm6
jp 0x140016a08
je 0x140016a2f
movss xmm1, dword [r11 + 0x3c]
movss xmm2, dword [r11 + 0x40]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140016a48
mov ecx, 0x202
call fcn.1400103a0
test eax, eax
jle 0x140016a48
mov edx, 0xffffffff
mov ecx, 0x202
call fcn.140012610
test al, al
je 0x140016a48
mov dword [rsi], 1
mov eax, dword [r11 + 0x4740]
shr eax, 2
test al, 1
jne 0x140016b24
test r10b, r10b
je 0x140016abc
mov edx, 0x271
mov rcx, r11
call fcn.1400101d0
cmp byte [rax], r15b
je 0x140016abc
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140016abc
ucomiss xmm0, xmm6
jp 0x140016a82
je 0x140016aa9
movss xmm1, dword [r11 + 0x3c]
movss xmm2, dword [r11 + 0x40]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140016abc
mov ecx, 0x271
call fcn.1400103a0
test eax, eax
jle 0x140016abc
mov edx, 0xffffffff
mov ecx, 0x271
call fcn.140012610
test al, al
jne 0x140016b1e
test bpl, bpl
je 0x140016b24
mov edx, 0x203
mov rcx, r11
call fcn.1400101d0
cmp byte [rax], r15b
je 0x140016b24
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140016b24
ucomiss xmm0, xmm6
jp 0x140016ae4
je 0x140016b0b
movss xmm1, dword [r11 + 0x3c]
movss xmm2, dword [r11 + 0x40]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140016b24
mov ecx, 0x203
call fcn.1400103a0
test eax, eax
jle 0x140016b24
mov edx, 0xffffffff
mov ecx, 0x203
call fcn.140012610
test al, al
je 0x140016b24
mov dword [rsi], 2
mov eax, dword [r11 + 0x4740]
shr eax, 3
test al, 1
jne 0x140016c00
test r10b, r10b
je 0x140016b98
mov edx, 0x272
mov rcx, r11
call fcn.1400101d0
cmp byte [rax], r15b
je 0x140016b98
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140016b98
ucomiss xmm0, xmm6
jp 0x140016b5e
je 0x140016b85
movss xmm1, dword [r11 + 0x3c]
movss xmm2, dword [r11 + 0x40]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140016b98
mov ecx, 0x272
call fcn.1400103a0
test eax, eax
jle 0x140016b98
mov edx, 0xffffffff
mov ecx, 0x272
call fcn.140012610
test al, al
jne 0x140016bfa
test bpl, bpl
je 0x140016c00
mov edx, 0x204
mov rcx, r11
call fcn.1400101d0
cmp byte [rax], r15b
je 0x140016c00
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140016c00
ucomiss xmm0, xmm6
jp 0x140016bc0
je 0x140016be7
movss xmm1, dword [r11 + 0x3c]
movss xmm2, dword [r11 + 0x40]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140016c00
mov ecx, 0x204
call fcn.1400103a0
test eax, eax
jle 0x140016c00
mov edx, 0xffffffff
mov ecx, 0x204
call fcn.140012610
test al, al
je 0x140016c00
mov dword [rsi], 3
movaps xmm0, xmmword [0x140067190]
xorps xmm11, xmm11
mov eax, dword [rsi]
mov dword [r11 + 0x4940], eax
movups xmmword [r11 + 0x4954], xmm0
test rdi, rdi
je 0x140016c7d
xorps xmm11, xmm11
cmp eax, 0xffffffff
jne 0x140016c7d
test bpl, bpl
je 0x140016c7d
call fcn.1400179a0
movaps xmm11, xmm0
ucomiss xmm11, xmm6
jp 0x140016c40
je 0x140016c76
movups xmm0, xmmword [rdi + 0x1f8]
movaps xmm1, xmm11
movups xmmword [rbx + 0x4954], xmm0
addss xmm1, dword [rbx + 0x4958]
movaps xmm0, xmm11
addss xmm0, dword [rbx + 0x4960]
movss dword [rbx + 0x4958], xmm1
movss dword [rbx + 0x4960], xmm0
mov r11, qword [0x1400a33e0]
mov ecx, dword [rsi]
mov byte [rbx + 0x492a], r15b
cmp ecx, 0xffffffff
je 0x140016ca4
mov r9d, dword [rbx + 0x4930]
mov r8d, dword [rbx + 0x492c]
mov edx, dword [rbx + 0x4940]
call fcn.140015530
movzx eax, byte [rbx + 0x4928]
movss xmm14, dword [0x1400669a8]
movss xmm13, dword [0x140066cf4]
movss xmm15, dword [0x1400669f0]
mov qword [rsp + 0xf8], r14
movaps xmmword [rsp + 0xc0], xmm8
movaps xmmword [rsp + 0xb0], xmm9
movaps xmmword [rsp + 0xa0], xmm10
movaps xmmword [rsp + 0x80], xmm12
test al, al
je 0x140016fc1
cmp dword [rbx + 0x48b8], r15d
jne 0x140016d5e
test byte [rbx + 0x5cbc], 8
je 0x140016d3f
test rdi, rdi
je 0x140016d17
mov rdx, qword [rdi + 8]
jmp 0x140016d1e
lea rdx, str._NULL_
mov r8d, dword [rbx + 0x48e8]
lea rcx, str._nav__NavInitRequest:_from_move__window___s___layer_d_n
call fcn.14001a440
movzx eax, byte [rbx + 0x4928]
mov r11, qword [0x1400a33e0]
mov word [rbx + 0x48f1], 0x101
mov dword [rbx + 0x4900], r15d
mov byte [rbx + 0x48ee], r15b
test al, al
je 0x140016fc1
cmp dword [rbx + 0x48e4], 3
jne 0x140016fc1
cmp dword [rbx + 0x48e8], r15d
jne 0x140016fc1
test rdi, rdi
je 0x140016fc1
mov ebp, dword [rbx + 0x492c]
lea rcx, [rsp + 0x30]
movss xmm10, dword [rdi + 0x200]
mov r14d, ebp
movss xmm12, dword [rdi + 0x204]
addss xmm10, xmm15
movss xmm8, dword [rdi + 0x1f8]
addss xmm12, xmm15
movss xmm9, dword [rdi + 0x1fc]
subss xmm8, xmm15
movss xmm6, dword [rdi + 0x110]
subss xmm9, xmm15
movss xmm7, dword [rdi + 0x114]
mov rdx, rdi
and ebp, 0xa
call fcn.140013280
subss xmm8, xmm6
subss xmm9, xmm7
subss xmm10, xmm6
movss xmm0, dword [rax]
subss xmm12, xmm7
movss xmm1, dword [rax + 4]
subss xmm0, dword [rdi + 0x84]
subss xmm1, dword [rdi + 0x88]
addss xmm8, xmm0
addss xmm9, xmm1
addss xmm10, xmm0
addss xmm12, xmm1
and r14d, 5
je 0x140016e31
test ebp, ebp
jne 0x140016fc1
movsxd rax, dword [rbx + 0x48e8]
add rax, rax
movss xmm0, dword [rdi + rax*8 + 0x3a8]
comiss xmm0, xmm8
jb 0x140016e73
movss xmm0, dword [rdi + rax*8 + 0x3ac]
comiss xmm0, xmm9
jb 0x140016e73
comiss xmm10, dword [rdi + rax*8 + 0x3b0]
jb 0x140016e73
comiss xmm12, dword [rdi + rax*8 + 0x3b4]
jae 0x140016fd2
test byte [rbx + 0x5cbc], 8
je 0x140016e8f
lea rcx, str._nav__NavMoveRequest:_clamp_NavRectRel_for_gamepad_move_n
call fcn.14001a440
mov r11, qword [0x1400a33e0]
mov rax, qword [rdi]
movaps xmm2, xmm10
subss xmm2, xmm8
movss xmm1, dword [rax + 0x3c0c]
mulss xmm1, dword [rdi + 0x290]
mov rax, qword [rdi + 0x368]
movaps xmm0, xmm1
test rax, rax
je 0x140016eca
mulss xmm0, dword [rax + 0x290]
mulss xmm1, dword [rax + 0x290]
movss xmm3, dword [0x140066d3c]
mulss xmm0, xmm14
mulss xmm1, xmm14
minss xmm2, xmm0
movaps xmm0, xmm12
subss xmm0, xmm9
minss xmm0, xmm1
test r14d, r14d
jne 0x140016efe
addss xmm8, xmm2
subss xmm10, xmm2
jmp 0x140016f06
movaps xmm8, xmm3
movaps xmm10, xmm13
test ebp, ebp
jne 0x140016f16
addss xmm9, xmm0
subss xmm12, xmm0
jmp 0x140016f1e
movaps xmm9, xmm3
movaps xmm12, xmm13
movsxd rax, dword [rbx + 0x48e8]
add rax, rax
movss xmm0, dword [rdi + rax*8 + 0x3ac]
comiss xmm9, xmm0
jbe 0x140016f3d
movaps xmm1, xmm9
jmp 0x140016f45
movaps xmm1, xmm12
minss xmm1, xmm0
movss xmm2, dword [rdi + rax*8 + 0x3a8]
comiss xmm8, xmm2
jbe 0x140016f5a
movaps xmm0, xmm8
jmp 0x140016f62
movaps xmm0, xmm10
minss xmm0, xmm2
movss dword [rdi + rax*8 + 0x3a8], xmm0
movss dword [rdi + rax*8 + 0x3ac], xmm1
movss xmm0, dword [rdi + rax*8 + 0x3b4]
comiss xmm9, xmm0
ja 0x140016f8c
movaps xmm9, xmm12
minss xmm9, xmm0
movss xmm0, dword [rdi + rax*8 + 0x3b0]
comiss xmm8, xmm0
ja 0x140016fa4
movaps xmm8, xmm10
minss xmm8, xmm0
movss dword [rdi + rax*8 + 0x3b0], xmm8
movss dword [rdi + rax*8 + 0x3b4], xmm9
mov dword [rbx + 0x48b8], r15d
jmp 0x140016fd2
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
test rdi, rdi
je 0x140017165
movsxd rcx, dword [rbx + 0x48e8]
mov rax, rcx
add rax, rax
movss xmm0, dword [rdi + rax*8 + 0x3a8]
comiss xmm0, dword [rdi + rax*8 + 0x3b0]
ja 0x14001700f
movss xmm0, dword [rdi + rax*8 + 0x3ac]
comiss xmm0, dword [rdi + rax*8 + 0x3b4]
ja 0x14001700f
movups xmm0, xmmword [rdi + rax*8 + 0x3a8]
jmp 0x140017012
xorps xmm0, xmm0
lea rax, [rsp + 0x20]
movss xmm5, dword [rdi + 0x110]
movaps xmm3, xmm5
movss xmm4, dword [rdi + 0x114]
movaps xmm2, xmm4
movups xmmword [rsp + 0x20], xmm0
movups xmm1, xmmword [rax]
addss xmm3, xmm1
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xaa
addss xmm5, xmm0
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
addss xmm2, xmm0
shufps xmm1, xmm1, 0xff
addss xmm4, xmm1
movss dword [rsp + 0x38], xmm3
movss dword [rsp + 0x40], xmm5
addss xmm2, xmm11
addss xmm4, xmm11
movss dword [rsp + 0x3c], xmm2
movss dword [rsp + 0x44], xmm4
cmp byte [rbx + 0x4928], r15b
je 0x14001717d
test byte [rbx + 0x492c], 0x80
mov rax, qword [r11 + 0x48b0]
mov r8d, dword [rsi]
mov rdx, qword [rdi + 0x390]
movss xmm1, dword [rax + 0x110]
movss xmm6, dword [rax + 0x114]
jne 0x140017104
movss xmm0, dword [rdx + rcx*8 + 0x3c8]
ucomiss xmm0, xmm13
jp 0x1400170da
jne 0x1400170da
movaps xmm0, xmm3
addss xmm0, xmm15
minss xmm0, xmm5
subss xmm0, xmm1
movss dword [rdx + rcx*8 + 0x3c8], xmm0
movss xmm0, dword [rdx + rcx*8 + 0x3cc]
ucomiss xmm0, xmm13
jp 0x140017104
jne 0x140017104
movaps xmm0, xmm4
addss xmm0, xmm2
mulss xmm0, xmm14
subss xmm0, xmm6
movss dword [rdx + rcx*8 + 0x3cc], xmm0
lea eax, [r8 - 2]
cmp eax, 1
ja 0x140017136
movss xmm0, dword [rdx + rcx*8 + 0x3c8]
ucomiss xmm0, xmm13
jp 0x14001711e
je 0x140017136
movaps xmm3, xmm1
addss xmm3, xmm0
movss dword [rsp + 0x40], xmm3
movaps xmm5, xmm3
movss dword [rsp + 0x38], xmm3
jmp 0x14001717d
cmp r8d, 1
ja 0x14001717d
movss xmm0, dword [rdx + rcx*8 + 0x3cc]
ucomiss xmm0, xmm13
jp 0x14001714d
je 0x14001717d
movaps xmm2, xmm6
addss xmm2, xmm0
movss dword [rsp + 0x44], xmm2
movaps xmm4, xmm2
movss dword [rsp + 0x3c], xmm2
jmp 0x14001717d
movss xmm4, dword [rsp + 0x44]
movss xmm5, dword [rsp + 0x40]
movss xmm2, dword [rsp + 0x3c]
movss xmm3, dword [rsp + 0x38]
movups xmm0, xmmword [rsp + 0x38]
mov r15, qword [rsp + 0xf0]
movaps xmm15, xmmword [rsp + 0x50]
movaps xmm14, xmmword [rsp + 0x60]
movaps xmm13, xmmword [rsp + 0x70]
movaps xmm12, xmmword [rsp + 0x80]
movaps xmm11, xmmword [rsp + 0x90]
movaps xmm10, xmmword [rsp + 0xa0]
movaps xmm9, xmmword [rsp + 0xb0]
movaps xmm8, xmmword [rsp + 0xc0]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm6, xmmword [rsp + 0xe0]
mov r14, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0x120]
mov rsi, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x110]
movups xmmword [rbx + 0x4944], xmm0
movss xmm1, dword [rbx + 0x4954]
comiss xmm1, xmm3
jbe 0x140017215
movss dword [rbx + 0x4954], xmm3
movss xmm0, dword [rbx + 0x4958]
comiss xmm0, xmm2
jbe 0x14001722a
movss dword [rbx + 0x4958], xmm2
comiss xmm5, dword [rbx + 0x495c]
jbe 0x14001723b
movss dword [rbx + 0x495c], xmm5
comiss xmm4, dword [rbx + 0x4960]
jbe 0x14001724c
movss dword [rbx + 0x4960], xmm4
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14005c560
add rsp, 0x100
pop rbx
ret