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

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0x100
mov rax, qword [0x1400663f8]
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 [0x14009c828]
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 + 0x4ad8]
test bpl, 2
je 0x1400165b8
test byte [r11 + 0xc], 1
je 0x1400165b8
mov r10b, 1
jmp 0x1400165bb
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 + 0x4b6a], r15b
je 0x140016611
test rdi, rdi
je 0x140016611
test byte [r11 + 0x5fb4], 8
lea rsi, [r11 + 0x4b78]
je 0x14001660a
mov edx, dword [rsi]
lea rcx, str._nav__NavMoveRequestForward__d_n
call fcn.14001a860
mov r11, qword [0x14009c828]
mov eax, dword [rsi]
jmp 0x1400169e1
mov qword [r11 + 0x4b6c], r15
lea rsi, [r11 + 0x4b78]
mov dword [rsi], 0xffffffff
test rdi, rdi
je 0x1400169c0
cmp qword [r11 + 0x4cb8], r15
jne 0x1400169c0
test dword [rdi + 0x14], 0x40000
jne 0x1400169c0
test byte [r11 + 0x4940], 1
movss xmm5, dword [0x14005b914]
movss xmm7, dword [0x14005b920]
jne 0x14001672d
test r10b, r10b
je 0x1400166c8
mov edx, 0x27d
mov rcx, r11
call fcn.14000fd40
cmp byte [rax], r15b
je 0x1400166c8
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x1400166c8
ucomiss xmm0, xmm6
jp 0x14001668e
je 0x1400166b5
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x1400166c8
mov ecx, 0x27d
call fcn.14000ff10
test eax, eax
jle 0x1400166c8
mov edx, 0xffffffff
mov ecx, 0x27d
call fcn.140012260
test al, al
jne 0x14001672a
test bpl, bpl
je 0x14001672d
mov edx, 0x201
mov rcx, r11
call fcn.14000fd40
cmp byte [rax], r15b
je 0x14001672d
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x14001672d
ucomiss xmm0, xmm6
jp 0x1400166f0
je 0x140016717
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x14001672d
mov ecx, 0x201
call fcn.14000ff10
test eax, eax
jle 0x14001672d
mov edx, 0xffffffff
mov ecx, 0x201
call fcn.140012260
test al, al
je 0x14001672d
mov dword [rsi], r15d
mov eax, dword [r11 + 0x4940]
shr eax, 1
test al, 1
jne 0x140016808
test r10b, r10b
je 0x1400167a0
mov edx, 0x27e
mov rcx, r11
call fcn.14000fd40
cmp byte [rax], r15b
je 0x1400167a0
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x1400167a0
ucomiss xmm0, xmm6
jp 0x140016766
je 0x14001678d
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x1400167a0
mov ecx, 0x27e
call fcn.14000ff10
test eax, eax
jle 0x1400167a0
mov edx, 0xffffffff
mov ecx, 0x27e
call fcn.140012260
test al, al
jne 0x140016802
test bpl, bpl
je 0x140016808
mov edx, 0x202
mov rcx, r11
call fcn.14000fd40
cmp byte [rax], r15b
je 0x140016808
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140016808
ucomiss xmm0, xmm6
jp 0x1400167c8
je 0x1400167ef
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140016808
mov ecx, 0x202
call fcn.14000ff10
test eax, eax
jle 0x140016808
mov edx, 0xffffffff
mov ecx, 0x202
call fcn.140012260
test al, al
je 0x140016808
mov dword [rsi], 1
mov eax, dword [r11 + 0x4940]
shr eax, 2
test al, 1
jne 0x1400168e4
test r10b, r10b
je 0x14001687c
mov edx, 0x27f
mov rcx, r11
call fcn.14000fd40
cmp byte [rax], r15b
je 0x14001687c
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x14001687c
ucomiss xmm0, xmm6
jp 0x140016842
je 0x140016869
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x14001687c
mov ecx, 0x27f
call fcn.14000ff10
test eax, eax
jle 0x14001687c
mov edx, 0xffffffff
mov ecx, 0x27f
call fcn.140012260
test al, al
jne 0x1400168de
test bpl, bpl
je 0x1400168e4
mov edx, 0x203
mov rcx, r11
call fcn.14000fd40
cmp byte [rax], r15b
je 0x1400168e4
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x1400168e4
ucomiss xmm0, xmm6
jp 0x1400168a4
je 0x1400168cb
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x1400168e4
mov ecx, 0x203
call fcn.14000ff10
test eax, eax
jle 0x1400168e4
mov edx, 0xffffffff
mov ecx, 0x203
call fcn.140012260
test al, al
je 0x1400168e4
mov dword [rsi], 2
mov eax, dword [r11 + 0x4940]
shr eax, 3
test al, 1
jne 0x1400169c0
test r10b, r10b
je 0x140016958
mov edx, 0x280
mov rcx, r11
call fcn.14000fd40
cmp byte [rax], r15b
je 0x140016958
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140016958
ucomiss xmm0, xmm6
jp 0x14001691e
je 0x140016945
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140016958
mov ecx, 0x280
call fcn.14000ff10
test eax, eax
jle 0x140016958
mov edx, 0xffffffff
mov ecx, 0x280
call fcn.140012260
test al, al
jne 0x1400169ba
test bpl, bpl
je 0x1400169c0
mov edx, 0x204
mov rcx, r11
call fcn.14000fd40
cmp byte [rax], r15b
je 0x1400169c0
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x1400169c0
ucomiss xmm0, xmm6
jp 0x140016980
je 0x1400169a7
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x1400169c0
mov ecx, 0x204
call fcn.14000ff10
test eax, eax
jle 0x1400169c0
mov edx, 0xffffffff
mov ecx, 0x204
call fcn.140012260
test al, al
je 0x1400169c0
mov dword [rsi], 3
movaps xmm0, xmmword [0x14005c1a0]
xorps xmm11, xmm11
mov eax, dword [rsi]
mov dword [r11 + 0x4b80], eax
movups xmmword [r11 + 0x4b94], xmm0
test rdi, rdi
je 0x140016a3d
xorps xmm11, xmm11
cmp eax, 0xffffffff
jne 0x140016a3d
test bpl, bpl
je 0x140016a3d
call fcn.140017790
movaps xmm11, xmm0
ucomiss xmm11, xmm6
jp 0x140016a00
je 0x140016a36
movups xmm0, xmmword [rdi + 0x1f8]
movaps xmm1, xmm11
movups xmmword [rbx + 0x4b94], xmm0
addss xmm1, dword [rbx + 0x4b98]
movaps xmm0, xmm11
addss xmm0, dword [rbx + 0x4ba0]
movss dword [rbx + 0x4b98], xmm1
movss dword [rbx + 0x4ba0], xmm0
mov r11, qword [0x14009c828]
mov ecx, dword [rsi]
mov byte [rbx + 0x4b6a], r15b
cmp ecx, 0xffffffff
je 0x140016a64
mov r9d, dword [rbx + 0x4b70]
mov r8d, dword [rbx + 0x4b6c]
mov edx, dword [rbx + 0x4b80]
call fcn.140015360
movzx eax, byte [rbx + 0x4b68]
movss xmm14, dword [0x14005b8f8]
movss xmm13, dword [0x14005ba10]
movss xmm15, dword [0x14005b938]
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 0x140016d81
cmp dword [rbx + 0x4ae0], r15d
jne 0x140016b1e
test byte [rbx + 0x5fb4], 8
je 0x140016aff
test rdi, rdi
je 0x140016ad7
mov rdx, qword [rdi + 8]
jmp 0x140016ade
lea rdx, str._NULL_
mov r8d, dword [rbx + 0x4b10]
lea rcx, str._nav__NavInitRequest:_from_move__window___s___layer_d_n
call fcn.14001a860
movzx eax, byte [rbx + 0x4b68]
mov r11, qword [0x14009c828]
mov word [rbx + 0x4b25], 0x101
mov dword [rbx + 0x4b30], r15d
mov byte [rbx + 0x4b22], r15b
test al, al
je 0x140016d81
cmp dword [rbx + 0x4b0c], 3
jne 0x140016d81
cmp dword [rbx + 0x4b10], r15d
jne 0x140016d81
test rdi, rdi
je 0x140016d81
mov ebp, dword [rbx + 0x4b6c]
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.140012fc0
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 0x140016bf1
test ebp, ebp
jne 0x140016d81
movsxd rax, dword [rbx + 0x4b10]
add rax, rax
movss xmm0, dword [rdi + rax*8 + 0x3a8]
comiss xmm0, xmm8
jb 0x140016c33
movss xmm0, dword [rdi + rax*8 + 0x3ac]
comiss xmm0, xmm9
jb 0x140016c33
comiss xmm10, dword [rdi + rax*8 + 0x3b0]
jb 0x140016c33
comiss xmm12, dword [rdi + rax*8 + 0x3b4]
jae 0x140016d92
test byte [rbx + 0x5fb4], 8
je 0x140016c4f
lea rcx, str._nav__NavMoveRequest:_clamp_NavRectRel_for_gamepad_move_n
call fcn.14001a860
mov r11, qword [0x14009c828]
mov rax, qword [rdi]
movaps xmm2, xmm10
subss xmm2, xmm8
movss xmm1, dword [rax + 0x3d44]
mulss xmm1, dword [rdi + 0x290]
mov rax, qword [rdi + 0x368]
movaps xmm0, xmm1
test rax, rax
je 0x140016c8a
mulss xmm0, dword [rax + 0x290]
mulss xmm1, dword [rax + 0x290]
movss xmm3, dword [0x14005ba54]
mulss xmm0, xmm14
mulss xmm1, xmm14
minss xmm2, xmm0
movaps xmm0, xmm12
subss xmm0, xmm9
minss xmm0, xmm1
test r14d, r14d
jne 0x140016cbe
addss xmm8, xmm2
subss xmm10, xmm2
jmp 0x140016cc6
movaps xmm8, xmm3
movaps xmm10, xmm13
test ebp, ebp
jne 0x140016cd6
addss xmm9, xmm0
subss xmm12, xmm0
jmp 0x140016cde
movaps xmm9, xmm3
movaps xmm12, xmm13
movsxd rax, dword [rbx + 0x4b10]
add rax, rax
movss xmm0, dword [rdi + rax*8 + 0x3ac]
comiss xmm9, xmm0
jbe 0x140016cfd
movaps xmm1, xmm9
jmp 0x140016d05
movaps xmm1, xmm12
minss xmm1, xmm0
movss xmm2, dword [rdi + rax*8 + 0x3a8]
comiss xmm8, xmm2
jbe 0x140016d1a
movaps xmm0, xmm8
jmp 0x140016d22
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 0x140016d4c
movaps xmm9, xmm12
minss xmm9, xmm0
movss xmm0, dword [rdi + rax*8 + 0x3b0]
comiss xmm8, xmm0
ja 0x140016d64
movaps xmm8, xmm10
minss xmm8, xmm0
movss dword [rdi + rax*8 + 0x3b0], xmm8
movss dword [rdi + rax*8 + 0x3b4], xmm9
mov dword [rbx + 0x4ae0], r15d
jmp 0x140016d92
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
test rdi, rdi
je 0x140016f25
movsxd rcx, dword [rbx + 0x4b10]
mov rax, rcx
add rax, rax
movss xmm0, dword [rdi + rax*8 + 0x3a8]
comiss xmm0, dword [rdi + rax*8 + 0x3b0]
ja 0x140016dcf
movss xmm0, dword [rdi + rax*8 + 0x3ac]
comiss xmm0, dword [rdi + rax*8 + 0x3b4]
ja 0x140016dcf
movups xmm0, xmmword [rdi + rax*8 + 0x3a8]
jmp 0x140016dd2
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 + 0x4b68], r15b
je 0x140016f3d
test byte [rbx + 0x4b6c], 0x80
mov rax, qword [r11 + 0x4ad8]
mov r8d, dword [rsi]
mov rdx, qword [rdi + 0x390]
movss xmm1, dword [rax + 0x110]
movss xmm6, dword [rax + 0x114]
jne 0x140016ec4
movss xmm0, dword [rdx + rcx*8 + 0x3c8]
ucomiss xmm0, xmm13
jp 0x140016e9a
jne 0x140016e9a
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 0x140016ec4
jne 0x140016ec4
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 0x140016ef6
movss xmm0, dword [rdx + rcx*8 + 0x3c8]
ucomiss xmm0, xmm13
jp 0x140016ede
je 0x140016ef6
movaps xmm3, xmm1
addss xmm3, xmm0
movss dword [rsp + 0x40], xmm3
movaps xmm5, xmm3
movss dword [rsp + 0x38], xmm3
jmp 0x140016f3d
cmp r8d, 1
ja 0x140016f3d
movss xmm0, dword [rdx + rcx*8 + 0x3cc]
ucomiss xmm0, xmm13
jp 0x140016f0d
je 0x140016f3d
movaps xmm2, xmm6
addss xmm2, xmm0
movss dword [rsp + 0x44], xmm2
movaps xmm4, xmm2
movss dword [rsp + 0x3c], xmm2
jmp 0x140016f3d
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 + 0x4b84], xmm0
movss xmm1, dword [rbx + 0x4b94]
comiss xmm1, xmm3
jbe 0x140016fd5
movss dword [rbx + 0x4b94], xmm3
movss xmm0, dword [rbx + 0x4b98]
comiss xmm0, xmm2
jbe 0x140016fea
movss dword [rbx + 0x4b98], xmm2
comiss xmm5, dword [rbx + 0x4b9c]
jbe 0x140016ffb
movss dword [rbx + 0x4b9c], xmm5
comiss xmm4, dword [rbx + 0x4ba0]
jbe 0x14001700c
movss dword [rbx + 0x4ba0], xmm4
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140050810
add rsp, 0x100
pop rbx
ret