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

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0x100
mov rax, qword [0x140069010]
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 [0x140069b90]
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 + 0x48d0]
test bpl, 2
je 0x140016898
test byte [r11 + 0xc], 1
je 0x140016898
mov r10b, 1
jmp 0x14001689b
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 + 0x494a], r15b
je 0x1400168f1
test rdi, rdi
je 0x1400168f1
test byte [r11 + 0x5cec], 8
lea rsi, [r11 + 0x4958]
je 0x1400168ea
mov edx, dword [rsi]
lea rcx, str._nav__NavMoveRequestForward__d_n
call fcn.14001a7e0
mov r11, qword [0x140069b90]
mov eax, dword [rsi]
jmp 0x140016cc1
mov qword [r11 + 0x494c], r15
lea rsi, [r11 + 0x4958]
mov dword [rsi], 0xffffffff
test rdi, rdi
je 0x140016ca0
cmp qword [r11 + 0x4a58], r15
jne 0x140016ca0
test dword [rdi + 0x14], 0x40000
jne 0x140016ca0
test byte [r11 + 0x4748], 1
movss xmm5, dword [0x140060a54]
movss xmm7, dword [0x140060a60]
jne 0x140016a0d
test r10b, r10b
je 0x1400169a8
mov edx, 0x26f
mov rcx, r11
call fcn.14000ff00
cmp byte [rax], r15b
je 0x1400169a8
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x1400169a8
ucomiss xmm0, xmm6
jp 0x14001696e
je 0x140016995
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x1400169a8
mov ecx, 0x26f
call fcn.1400100d0
test eax, eax
jle 0x1400169a8
mov edx, 0xffffffff
mov ecx, 0x26f
call fcn.1400123b0
test al, al
jne 0x140016a0a
test bpl, bpl
je 0x140016a0d
mov edx, 0x201
mov rcx, r11
call fcn.14000ff00
cmp byte [rax], r15b
je 0x140016a0d
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140016a0d
ucomiss xmm0, xmm6
jp 0x1400169d0
je 0x1400169f7
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140016a0d
mov ecx, 0x201
call fcn.1400100d0
test eax, eax
jle 0x140016a0d
mov edx, 0xffffffff
mov ecx, 0x201
call fcn.1400123b0
test al, al
je 0x140016a0d
mov dword [rsi], r15d
mov eax, dword [r11 + 0x4748]
shr eax, 1
test al, 1
jne 0x140016ae8
test r10b, r10b
je 0x140016a80
mov edx, 0x270
mov rcx, r11
call fcn.14000ff00
cmp byte [rax], r15b
je 0x140016a80
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140016a80
ucomiss xmm0, xmm6
jp 0x140016a46
je 0x140016a6d
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140016a80
mov ecx, 0x270
call fcn.1400100d0
test eax, eax
jle 0x140016a80
mov edx, 0xffffffff
mov ecx, 0x270
call fcn.1400123b0
test al, al
jne 0x140016ae2
test bpl, bpl
je 0x140016ae8
mov edx, 0x202
mov rcx, r11
call fcn.14000ff00
cmp byte [rax], r15b
je 0x140016ae8
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140016ae8
ucomiss xmm0, xmm6
jp 0x140016aa8
je 0x140016acf
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140016ae8
mov ecx, 0x202
call fcn.1400100d0
test eax, eax
jle 0x140016ae8
mov edx, 0xffffffff
mov ecx, 0x202
call fcn.1400123b0
test al, al
je 0x140016ae8
mov dword [rsi], 1
mov eax, dword [r11 + 0x4748]
shr eax, 2
test al, 1
jne 0x140016bc4
test r10b, r10b
je 0x140016b5c
mov edx, 0x271
mov rcx, r11
call fcn.14000ff00
cmp byte [rax], r15b
je 0x140016b5c
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140016b5c
ucomiss xmm0, xmm6
jp 0x140016b22
je 0x140016b49
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140016b5c
mov ecx, 0x271
call fcn.1400100d0
test eax, eax
jle 0x140016b5c
mov edx, 0xffffffff
mov ecx, 0x271
call fcn.1400123b0
test al, al
jne 0x140016bbe
test bpl, bpl
je 0x140016bc4
mov edx, 0x203
mov rcx, r11
call fcn.14000ff00
cmp byte [rax], r15b
je 0x140016bc4
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140016bc4
ucomiss xmm0, xmm6
jp 0x140016b84
je 0x140016bab
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140016bc4
mov ecx, 0x203
call fcn.1400100d0
test eax, eax
jle 0x140016bc4
mov edx, 0xffffffff
mov ecx, 0x203
call fcn.1400123b0
test al, al
je 0x140016bc4
mov dword [rsi], 2
mov eax, dword [r11 + 0x4748]
shr eax, 3
test al, 1
jne 0x140016ca0
test r10b, r10b
je 0x140016c38
mov edx, 0x272
mov rcx, r11
call fcn.14000ff00
cmp byte [rax], r15b
je 0x140016c38
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140016c38
ucomiss xmm0, xmm6
jp 0x140016bfe
je 0x140016c25
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140016c38
mov ecx, 0x272
call fcn.1400100d0
test eax, eax
jle 0x140016c38
mov edx, 0xffffffff
mov ecx, 0x272
call fcn.1400123b0
test al, al
jne 0x140016c9a
test bpl, bpl
je 0x140016ca0
mov edx, 0x204
mov rcx, r11
call fcn.14000ff00
cmp byte [rax], r15b
je 0x140016ca0
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140016ca0
ucomiss xmm0, xmm6
jp 0x140016c60
je 0x140016c87
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140016ca0
mov ecx, 0x204
call fcn.1400100d0
test eax, eax
jle 0x140016ca0
mov edx, 0xffffffff
mov ecx, 0x204
call fcn.1400123b0
test al, al
je 0x140016ca0
mov dword [rsi], 3
movaps xmm0, xmmword [0x1400614f0]
xorps xmm11, xmm11
mov eax, dword [rsi]
mov dword [r11 + 0x4960], eax
movups xmmword [r11 + 0x4974], xmm0
test rdi, rdi
je 0x140016d1d
xorps xmm11, xmm11
cmp eax, 0xffffffff
jne 0x140016d1d
test bpl, bpl
je 0x140016d1d
call fcn.140017a60
movaps xmm11, xmm0
ucomiss xmm11, xmm6
jp 0x140016ce0
je 0x140016d16
movups xmm0, xmmword [rdi + 0x1f8]
movaps xmm1, xmm11
movups xmmword [rbx + 0x4974], xmm0
addss xmm1, dword [rbx + 0x4978]
movaps xmm0, xmm11
addss xmm0, dword [rbx + 0x4980]
movss dword [rbx + 0x4978], xmm1
movss dword [rbx + 0x4980], xmm0
mov r11, qword [0x140069b90]
mov ecx, dword [rsi]
mov byte [rbx + 0x494a], r15b
cmp ecx, 0xffffffff
je 0x140016d44
mov r9d, dword [rbx + 0x4950]
mov r8d, dword [rbx + 0x494c]
mov edx, dword [rbx + 0x4960]
call fcn.1400155d0
movzx eax, byte [rbx + 0x4948]
movss xmm14, dword [0x140060a3c]
movss xmm13, dword [0x140060c40]
movss xmm15, dword [0x140060a7c]
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 0x140017061
cmp dword [rbx + 0x48d8], r15d
jne 0x140016dfe
test byte [rbx + 0x5cec], 8
je 0x140016ddf
test rdi, rdi
je 0x140016db7
mov rdx, qword [rdi + 8]
jmp 0x140016dbe
lea rdx, str._NULL_
mov r8d, dword [rbx + 0x4908]
lea rcx, str._nav__NavInitRequest:_from_move__window___s___layer_d_n
call fcn.14001a7e0
movzx eax, byte [rbx + 0x4948]
mov r11, qword [0x140069b90]
mov word [rbx + 0x4911], 0x101
mov dword [rbx + 0x4920], r15d
mov byte [rbx + 0x490e], r15b
test al, al
je 0x140017061
cmp dword [rbx + 0x4904], 3
jne 0x140017061
cmp dword [rbx + 0x4908], r15d
jne 0x140017061
test rdi, rdi
je 0x140017061
mov ebp, dword [rbx + 0x494c]
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.140013020
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 0x140016ed1
test ebp, ebp
jne 0x140017061
movsxd rax, dword [rbx + 0x4908]
add rax, rax
movss xmm0, dword [rdi + rax*8 + 0x3a8]
comiss xmm0, xmm8
jb 0x140016f13
movss xmm0, dword [rdi + rax*8 + 0x3ac]
comiss xmm0, xmm9
jb 0x140016f13
comiss xmm10, dword [rdi + rax*8 + 0x3b0]
jb 0x140016f13
comiss xmm12, dword [rdi + rax*8 + 0x3b4]
jae 0x140017072
test byte [rbx + 0x5cec], 8
je 0x140016f2f
lea rcx, str._nav__NavMoveRequest:_clamp_NavRectRel_for_gamepad_move_n
call fcn.14001a7e0
mov r11, qword [0x140069b90]
mov rax, qword [rdi]
movaps xmm2, xmm10
subss xmm2, xmm8
movss xmm1, dword [rax + 0x3c14]
mulss xmm1, dword [rdi + 0x290]
mov rax, qword [rdi + 0x368]
movaps xmm0, xmm1
test rax, rax
je 0x140016f6a
mulss xmm0, dword [rax + 0x290]
mulss xmm1, dword [rax + 0x290]
movss xmm3, dword [0x140060c90]
mulss xmm0, xmm14
mulss xmm1, xmm14
minss xmm2, xmm0
movaps xmm0, xmm12
subss xmm0, xmm9
minss xmm0, xmm1
test r14d, r14d
jne 0x140016f9e
addss xmm8, xmm2
subss xmm10, xmm2
jmp 0x140016fa6
movaps xmm8, xmm3
movaps xmm10, xmm13
test ebp, ebp
jne 0x140016fb6
addss xmm9, xmm0
subss xmm12, xmm0
jmp 0x140016fbe
movaps xmm9, xmm3
movaps xmm12, xmm13
movsxd rax, dword [rbx + 0x4908]
add rax, rax
movss xmm0, dword [rdi + rax*8 + 0x3ac]
comiss xmm9, xmm0
jbe 0x140016fdd
movaps xmm1, xmm9
jmp 0x140016fe5
movaps xmm1, xmm12
minss xmm1, xmm0
movss xmm2, dword [rdi + rax*8 + 0x3a8]
comiss xmm8, xmm2
jbe 0x140016ffa
movaps xmm0, xmm8
jmp 0x140017002
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 0x14001702c
movaps xmm9, xmm12
minss xmm9, xmm0
movss xmm0, dword [rdi + rax*8 + 0x3b0]
comiss xmm8, xmm0
ja 0x140017044
movaps xmm8, xmm10
minss xmm8, xmm0
movss dword [rdi + rax*8 + 0x3b0], xmm8
movss dword [rdi + rax*8 + 0x3b4], xmm9
mov dword [rbx + 0x48d8], r15d
jmp 0x140017072
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
test rdi, rdi
je 0x140017205
movsxd rcx, dword [rbx + 0x4908]
mov rax, rcx
add rax, rax
movss xmm0, dword [rdi + rax*8 + 0x3a8]
comiss xmm0, dword [rdi + rax*8 + 0x3b0]
ja 0x1400170af
movss xmm0, dword [rdi + rax*8 + 0x3ac]
comiss xmm0, dword [rdi + rax*8 + 0x3b4]
ja 0x1400170af
movups xmm0, xmmword [rdi + rax*8 + 0x3a8]
jmp 0x1400170b2
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 + 0x4948], r15b
je 0x14001721d
test byte [rbx + 0x494c], 0x80
mov rax, qword [r11 + 0x48d0]
mov r8d, dword [rsi]
mov rdx, qword [rdi + 0x390]
movss xmm1, dword [rax + 0x110]
movss xmm6, dword [rax + 0x114]
jne 0x1400171a4
movss xmm0, dword [rdx + rcx*8 + 0x3c8]
ucomiss xmm0, xmm13
jp 0x14001717a
jne 0x14001717a
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 0x1400171a4
jne 0x1400171a4
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 0x1400171d6
movss xmm0, dword [rdx + rcx*8 + 0x3c8]
ucomiss xmm0, xmm13
jp 0x1400171be
je 0x1400171d6
movaps xmm3, xmm1
addss xmm3, xmm0
movss dword [rsp + 0x40], xmm3
movaps xmm5, xmm3
movss dword [rsp + 0x38], xmm3
jmp 0x14001721d
cmp r8d, 1
ja 0x14001721d
movss xmm0, dword [rdx + rcx*8 + 0x3cc]
ucomiss xmm0, xmm13
jp 0x1400171ed
je 0x14001721d
movaps xmm2, xmm6
addss xmm2, xmm0
movss dword [rsp + 0x44], xmm2
movaps xmm4, xmm2
movss dword [rsp + 0x3c], xmm2
jmp 0x14001721d
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 + 0x4964], xmm0
movss xmm1, dword [rbx + 0x4974]
comiss xmm1, xmm3
jbe 0x1400172b5
movss dword [rbx + 0x4974], xmm3
movss xmm0, dword [rbx + 0x4978]
comiss xmm0, xmm2
jbe 0x1400172ca
movss dword [rbx + 0x4978], xmm2
comiss xmm5, dword [rbx + 0x497c]
jbe 0x1400172db
movss dword [rbx + 0x497c], xmm5
comiss xmm4, dword [rbx + 0x4980]
jbe 0x1400172ec
movss dword [rbx + 0x4980], xmm4
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140056530
add rsp, 0x100
pop rbx
ret