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

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0x100
mov rax, qword [0x140050010]
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 [0x140056950]
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 + 0x48c0]
test bpl, 2
je 0x1400209e8
test byte [r11 + 0xc], 1
je 0x1400209e8
mov r10b, 1
jmp 0x1400209eb
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 + 0x493a], r15b
je 0x140020a41
test rdi, rdi
je 0x140020a41
test byte [r11 + 0x5cdc], 8
lea rsi, [r11 + 0x4948]
je 0x140020a3a
mov edx, dword [rsi]
lea rcx, str._nav__NavMoveRequestForward__d_n
call fcn.140024530
mov r11, qword [0x140056950]
mov eax, dword [rsi]
jmp 0x140020e11
mov qword [r11 + 0x493c], r15
lea rsi, [r11 + 0x4948]
mov dword [rsi], 0xffffffff
test rdi, rdi
je 0x140020df0
cmp qword [r11 + 0x4a48], r15
jne 0x140020df0
test dword [rdi + 0x14], 0x40000
jne 0x140020df0
test byte [r11 + 0x4748], 1
movss xmm5, dword [0x1400492b0]
movss xmm7, dword [0x1400492bc]
jne 0x140020b5d
test r10b, r10b
je 0x140020af8
mov edx, 0x26f
mov rcx, r11
call fcn.14001a8b0
cmp byte [rax], r15b
je 0x140020af8
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140020af8
ucomiss xmm0, xmm6
jp 0x140020abe
je 0x140020ae5
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140020af8
mov ecx, 0x26f
call fcn.14001aa80
test eax, eax
jle 0x140020af8
mov edx, 0xffffffff
mov ecx, 0x26f
call fcn.14001cd60
test al, al
jne 0x140020b5a
test bpl, bpl
je 0x140020b5d
mov edx, 0x201
mov rcx, r11
call fcn.14001a8b0
cmp byte [rax], r15b
je 0x140020b5d
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140020b5d
ucomiss xmm0, xmm6
jp 0x140020b20
je 0x140020b47
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140020b5d
mov ecx, 0x201
call fcn.14001aa80
test eax, eax
jle 0x140020b5d
mov edx, 0xffffffff
mov ecx, 0x201
call fcn.14001cd60
test al, al
je 0x140020b5d
mov dword [rsi], r15d
mov eax, dword [r11 + 0x4748]
shr eax, 1
test al, 1
jne 0x140020c38
test r10b, r10b
je 0x140020bd0
mov edx, 0x270
mov rcx, r11
call fcn.14001a8b0
cmp byte [rax], r15b
je 0x140020bd0
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140020bd0
ucomiss xmm0, xmm6
jp 0x140020b96
je 0x140020bbd
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140020bd0
mov ecx, 0x270
call fcn.14001aa80
test eax, eax
jle 0x140020bd0
mov edx, 0xffffffff
mov ecx, 0x270
call fcn.14001cd60
test al, al
jne 0x140020c32
test bpl, bpl
je 0x140020c38
mov edx, 0x202
mov rcx, r11
call fcn.14001a8b0
cmp byte [rax], r15b
je 0x140020c38
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140020c38
ucomiss xmm0, xmm6
jp 0x140020bf8
je 0x140020c1f
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140020c38
mov ecx, 0x202
call fcn.14001aa80
test eax, eax
jle 0x140020c38
mov edx, 0xffffffff
mov ecx, 0x202
call fcn.14001cd60
test al, al
je 0x140020c38
mov dword [rsi], 1
mov eax, dword [r11 + 0x4748]
shr eax, 2
test al, 1
jne 0x140020d14
test r10b, r10b
je 0x140020cac
mov edx, 0x271
mov rcx, r11
call fcn.14001a8b0
cmp byte [rax], r15b
je 0x140020cac
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140020cac
ucomiss xmm0, xmm6
jp 0x140020c72
je 0x140020c99
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140020cac
mov ecx, 0x271
call fcn.14001aa80
test eax, eax
jle 0x140020cac
mov edx, 0xffffffff
mov ecx, 0x271
call fcn.14001cd60
test al, al
jne 0x140020d0e
test bpl, bpl
je 0x140020d14
mov edx, 0x203
mov rcx, r11
call fcn.14001a8b0
cmp byte [rax], r15b
je 0x140020d14
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140020d14
ucomiss xmm0, xmm6
jp 0x140020cd4
je 0x140020cfb
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140020d14
mov ecx, 0x203
call fcn.14001aa80
test eax, eax
jle 0x140020d14
mov edx, 0xffffffff
mov ecx, 0x203
call fcn.14001cd60
test al, al
je 0x140020d14
mov dword [rsi], 2
mov eax, dword [r11 + 0x4748]
shr eax, 3
test al, 1
jne 0x140020df0
test r10b, r10b
je 0x140020d88
mov edx, 0x272
mov rcx, r11
call fcn.14001a8b0
cmp byte [rax], r15b
je 0x140020d88
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140020d88
ucomiss xmm0, xmm6
jp 0x140020d4e
je 0x140020d75
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140020d88
mov ecx, 0x272
call fcn.14001aa80
test eax, eax
jle 0x140020d88
mov edx, 0xffffffff
mov ecx, 0x272
call fcn.14001cd60
test al, al
jne 0x140020dea
test bpl, bpl
je 0x140020df0
mov edx, 0x204
mov rcx, r11
call fcn.14001a8b0
cmp byte [rax], r15b
je 0x140020df0
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140020df0
ucomiss xmm0, xmm6
jp 0x140020db0
je 0x140020dd7
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140020df0
mov ecx, 0x204
call fcn.14001aa80
test eax, eax
jle 0x140020df0
mov edx, 0xffffffff
mov ecx, 0x204
call fcn.14001cd60
test al, al
je 0x140020df0
mov dword [rsi], 3
movaps xmm0, xmmword [0x140049810]
xorps xmm11, xmm11
mov eax, dword [rsi]
mov dword [r11 + 0x4950], eax
movups xmmword [r11 + 0x4964], xmm0
test rdi, rdi
je 0x140020e6d
xorps xmm11, xmm11
cmp eax, 0xffffffff
jne 0x140020e6d
test bpl, bpl
je 0x140020e6d
call fcn.140021bb0
movaps xmm11, xmm0
ucomiss xmm11, xmm6
jp 0x140020e30
je 0x140020e66
movups xmm0, xmmword [rdi + 0x1f8]
movaps xmm1, xmm11
movups xmmword [rbx + 0x4964], xmm0
addss xmm1, dword [rbx + 0x4968]
movaps xmm0, xmm11
addss xmm0, dword [rbx + 0x4970]
movss dword [rbx + 0x4968], xmm1
movss dword [rbx + 0x4970], xmm0
mov r11, qword [0x140056950]
mov ecx, dword [rsi]
mov byte [rbx + 0x493a], r15b
cmp ecx, 0xffffffff
je 0x140020e94
mov r9d, dword [rbx + 0x4940]
mov r8d, dword [rbx + 0x493c]
mov edx, dword [rbx + 0x4950]
call fcn.14001f720
movzx eax, byte [rbx + 0x4938]
movss xmm14, dword [0x14004929c]
movss xmm13, dword [0x1400493a8]
movss xmm15, dword [0x1400492d0]
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 0x1400211b1
cmp dword [rbx + 0x48c8], r15d
jne 0x140020f4e
test byte [rbx + 0x5cdc], 8
je 0x140020f2f
test rdi, rdi
je 0x140020f07
mov rdx, qword [rdi + 8]
jmp 0x140020f0e
lea rdx, str._NULL_
mov r8d, dword [rbx + 0x48f8]
lea rcx, str._nav__NavInitRequest:_from_move__window___s___layer_d_n
call fcn.140024530
movzx eax, byte [rbx + 0x4938]
mov r11, qword [0x140056950]
mov word [rbx + 0x4901], 0x101
mov dword [rbx + 0x4910], r15d
mov byte [rbx + 0x48fe], r15b
test al, al
je 0x1400211b1
cmp dword [rbx + 0x48f4], 3
jne 0x1400211b1
cmp dword [rbx + 0x48f8], r15d
jne 0x1400211b1
test rdi, rdi
je 0x1400211b1
mov ebp, dword [rbx + 0x493c]
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.14001d460
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 0x140021021
test ebp, ebp
jne 0x1400211b1
movsxd rax, dword [rbx + 0x48f8]
add rax, rax
movss xmm0, dword [rdi + rax*8 + 0x3a8]
comiss xmm0, xmm8
jb 0x140021063
movss xmm0, dword [rdi + rax*8 + 0x3ac]
comiss xmm0, xmm9
jb 0x140021063
comiss xmm10, dword [rdi + rax*8 + 0x3b0]
jb 0x140021063
comiss xmm12, dword [rdi + rax*8 + 0x3b4]
jae 0x1400211c2
test byte [rbx + 0x5cdc], 8
je 0x14002107f
lea rcx, str._nav__NavMoveRequest:_clamp_NavRectRel_for_gamepad_move_n
call fcn.140024530
mov r11, qword [0x140056950]
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 0x1400210ba
mulss xmm0, dword [rax + 0x290]
mulss xmm1, dword [rax + 0x290]
movss xmm3, dword [0x1400493c8]
mulss xmm0, xmm14
mulss xmm1, xmm14
minss xmm2, xmm0
movaps xmm0, xmm12
subss xmm0, xmm9
minss xmm0, xmm1
test r14d, r14d
jne 0x1400210ee
addss xmm8, xmm2
subss xmm10, xmm2
jmp 0x1400210f6
movaps xmm8, xmm3
movaps xmm10, xmm13
test ebp, ebp
jne 0x140021106
addss xmm9, xmm0
subss xmm12, xmm0
jmp 0x14002110e
movaps xmm9, xmm3
movaps xmm12, xmm13
movsxd rax, dword [rbx + 0x48f8]
add rax, rax
movss xmm0, dword [rdi + rax*8 + 0x3ac]
comiss xmm9, xmm0
jbe 0x14002112d
movaps xmm1, xmm9
jmp 0x140021135
movaps xmm1, xmm12
minss xmm1, xmm0
movss xmm2, dword [rdi + rax*8 + 0x3a8]
comiss xmm8, xmm2
jbe 0x14002114a
movaps xmm0, xmm8
jmp 0x140021152
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 0x14002117c
movaps xmm9, xmm12
minss xmm9, xmm0
movss xmm0, dword [rdi + rax*8 + 0x3b0]
comiss xmm8, xmm0
ja 0x140021194
movaps xmm8, xmm10
minss xmm8, xmm0
movss dword [rdi + rax*8 + 0x3b0], xmm8
movss dword [rdi + rax*8 + 0x3b4], xmm9
mov dword [rbx + 0x48c8], r15d
jmp 0x1400211c2
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
test rdi, rdi
je 0x140021355
movsxd rcx, dword [rbx + 0x48f8]
mov rax, rcx
add rax, rax
movss xmm0, dword [rdi + rax*8 + 0x3a8]
comiss xmm0, dword [rdi + rax*8 + 0x3b0]
ja 0x1400211ff
movss xmm0, dword [rdi + rax*8 + 0x3ac]
comiss xmm0, dword [rdi + rax*8 + 0x3b4]
ja 0x1400211ff
movups xmm0, xmmword [rdi + rax*8 + 0x3a8]
jmp 0x140021202
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 + 0x4938], r15b
je 0x14002136d
test byte [rbx + 0x493c], 0x80
mov rax, qword [r11 + 0x48c0]
mov r8d, dword [rsi]
mov rdx, qword [rdi + 0x390]
movss xmm1, dword [rax + 0x110]
movss xmm6, dword [rax + 0x114]
jne 0x1400212f4
movss xmm0, dword [rdx + rcx*8 + 0x3c8]
ucomiss xmm0, xmm13
jp 0x1400212ca
jne 0x1400212ca
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 0x1400212f4
jne 0x1400212f4
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 0x140021326
movss xmm0, dword [rdx + rcx*8 + 0x3c8]
ucomiss xmm0, xmm13
jp 0x14002130e
je 0x140021326
movaps xmm3, xmm1
addss xmm3, xmm0
movss dword [rsp + 0x40], xmm3
movaps xmm5, xmm3
movss dword [rsp + 0x38], xmm3
jmp 0x14002136d
cmp r8d, 1
ja 0x14002136d
movss xmm0, dword [rdx + rcx*8 + 0x3cc]
ucomiss xmm0, xmm13
jp 0x14002133d
je 0x14002136d
movaps xmm2, xmm6
addss xmm2, xmm0
movss dword [rsp + 0x44], xmm2
movaps xmm4, xmm2
movss dword [rsp + 0x3c], xmm2
jmp 0x14002136d
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 + 0x4954], xmm0
movss xmm1, dword [rbx + 0x4964]
comiss xmm1, xmm3
jbe 0x140021405
movss dword [rbx + 0x4964], xmm3
movss xmm0, dword [rbx + 0x4968]
comiss xmm0, xmm2
jbe 0x14002141a
movss dword [rbx + 0x4968], xmm2
comiss xmm5, dword [rbx + 0x496c]
jbe 0x14002142b
movss dword [rbx + 0x496c], xmm5
comiss xmm4, dword [rbx + 0x4970]
jbe 0x14002143c
movss dword [rbx + 0x4970], xmm4
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14003f9b0
add rsp, 0x100
pop rbx
ret