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

Disassembly:
mov r11, rsp
push rsi
sub rsp, 0x100
mov rax, qword [0x18006d010]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov qword [r11 + 8], rbx
mov rbx, qword [0x180097320]
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rdi
mov qword [r11 - 0x18], r13
mov ebp, dword [rbx + 8]
mov rdi, qword [rbx + 0x48a8]
mov qword [r11 - 0x28], r15
movaps xmmword [r11 - 0x38], xmm6
movaps xmmword [r11 - 0x58], xmm8
movaps xmmword [rsp + 0x50], xmm14
test bpl, 2
je 0x180015740
test byte [rbx + 0xc], 1
je 0x180015740
mov r10b, 1
jmp 0x180015743
xor r10b, r10b
mov qword [rsp + 0xf8], r12
and bpl, 1
xor r13d, r13d
mov qword [rsp + 0xe8], r14
movaps xmmword [rsp + 0x60], xmm13
cmp byte [rbx + 0x4902], r13b
je 0x1800157ae
test rdi, rdi
je 0x1800157ae
test byte [rbx + 0x5c7c], 8
lea r15, [rbx + 0x4910]
je 0x18001578d
mov edx, dword [r15]
lea rcx, str._nav__NavMoveRequestForward__d_n
call fcn.180018e50
lea rsi, [rbx + 0x492c]
mov r9, r15
mov r14, rsi
lea r12, [rbx + 0x4904]
xorps xmm8, xmm8
xorps xmm13, xmm13
jmp 0x180015b8a
mov dword [rbx + 0x4908], r13d
lea r9, [rbx + 0x4910]
mov dword [r9], 0xffffffff
lea r12, [rbx + 0x4904]
mov dword [r12], r13d
xorps xmm8, xmm8
test rdi, rdi
je 0x180015b4c
cmp qword [rbx + 0x4a10], r13
jne 0x180015b4c
test dword [rdi + 0x14], 0x40000
jne 0x180015b4c
test byte [rbx + 0x4738], 1
movss xmm5, dword [0x1800622c4]
movss xmm6, dword [0x1800622d0]
jne 0x1800158d1
test r10b, r10b
je 0x180015867
mov ecx, 0x26f
call fcn.18000f610
cmp byte [rax], r13b
je 0x180015867
movss xmm0, dword [rax + 4]
comiss xmm8, xmm0
ja 0x180015867
ucomiss xmm0, xmm8
jp 0x180015839
je 0x18001585e
movss xmm1, dword [rbx + 0x3c]
movss xmm2, dword [rbx + 0x40]
mulss xmm1, xmm5
mulss xmm2, xmm6
comiss xmm0, xmm1
jbe 0x180015867
mov ecx, 0x26f
call fcn.18000f7b0
test eax, eax
jle 0x180015867
cmp dword [rbx + 0x44a4], 0xffffffff
je 0x1800158ce
test bpl, bpl
je 0x1800158d1
mov ecx, 0x201
call fcn.18000f610
cmp byte [rax], r13b
je 0x1800158d1
movss xmm0, dword [rax + 4]
comiss xmm8, xmm0
ja 0x1800158d1
ucomiss xmm0, xmm8
jp 0x18001588e
je 0x1800158b3
movss xmm1, dword [rbx + 0x3c]
movss xmm2, dword [rbx + 0x40]
mulss xmm1, xmm5
mulss xmm2, xmm6
comiss xmm0, xmm1
jbe 0x1800158d1
mov ecx, 0x201
call fcn.18000f7b0
test eax, eax
jle 0x1800158d1
cmp byte [rbx + 0x473c], r13b
je 0x1800158c5
cmp dword [rbx + 0x3f28], 0xffffffff
jne 0x1800158d1
cmp dword [rbx + 0x3f7c], 0xffffffff
jne 0x1800158d1
mov dword [r9], r13d
mov eax, dword [rbx + 0x4738]
shr eax, 1
test al, 1
jne 0x1800159a4
test r10b, r10b
je 0x180015936
mov ecx, 0x270
call fcn.18000f610
cmp byte [rax], r13b
je 0x180015936
movss xmm0, dword [rax + 4]
comiss xmm8, xmm0
ja 0x180015936
ucomiss xmm0, xmm8
jp 0x180015908
je 0x18001592d
movss xmm1, dword [rbx + 0x3c]
movss xmm2, dword [rbx + 0x40]
mulss xmm1, xmm5
mulss xmm2, xmm6
comiss xmm0, xmm1
jbe 0x180015936
mov ecx, 0x270
call fcn.18000f7b0
test eax, eax
jle 0x180015936
cmp dword [rbx + 0x44b0], 0xffffffff
je 0x18001599d
test bpl, bpl
je 0x1800159a4
mov ecx, 0x202
call fcn.18000f610
cmp byte [rax], r13b
je 0x1800159a4
movss xmm0, dword [rax + 4]
comiss xmm8, xmm0
ja 0x1800159a4
ucomiss xmm0, xmm8
jp 0x18001595d
je 0x180015982
movss xmm1, dword [rbx + 0x3c]
movss xmm2, dword [rbx + 0x40]
mulss xmm1, xmm5
mulss xmm2, xmm6
comiss xmm0, xmm1
jbe 0x1800159a4
mov ecx, 0x202
call fcn.18000f7b0
test eax, eax
jle 0x1800159a4
cmp byte [rbx + 0x473c], r13b
je 0x180015994
cmp dword [rbx + 0x3f28], 0xffffffff
jne 0x1800159a4
cmp dword [rbx + 0x3f88], 0xffffffff
jne 0x1800159a4
mov dword [r9], 1
mov eax, dword [rbx + 0x4738]
shr eax, 2
test al, 1
jne 0x180015a78
test r10b, r10b
je 0x180015a0a
mov ecx, 0x271
call fcn.18000f610
cmp byte [rax], r13b
je 0x180015a0a
movss xmm0, dword [rax + 4]
comiss xmm8, xmm0
ja 0x180015a0a
ucomiss xmm0, xmm8
jp 0x1800159dc
je 0x180015a01
movss xmm1, dword [rbx + 0x3c]
movss xmm2, dword [rbx + 0x40]
mulss xmm1, xmm5
mulss xmm2, xmm6
comiss xmm0, xmm1
jbe 0x180015a0a
mov ecx, 0x271
call fcn.18000f7b0
test eax, eax
jle 0x180015a0a
cmp dword [rbx + 0x44bc], 0xffffffff
je 0x180015a71
test bpl, bpl
je 0x180015a78
mov ecx, 0x203
call fcn.18000f610
cmp byte [rax], r13b
je 0x180015a78
movss xmm0, dword [rax + 4]
comiss xmm8, xmm0
ja 0x180015a78
ucomiss xmm0, xmm8
jp 0x180015a31
je 0x180015a56
movss xmm1, dword [rbx + 0x3c]
movss xmm2, dword [rbx + 0x40]
mulss xmm1, xmm5
mulss xmm2, xmm6
comiss xmm0, xmm1
jbe 0x180015a78
mov ecx, 0x203
call fcn.18000f7b0
test eax, eax
jle 0x180015a78
cmp byte [rbx + 0x473c], r13b
je 0x180015a68
cmp dword [rbx + 0x3f28], 0xffffffff
jne 0x180015a78
cmp dword [rbx + 0x3f94], 0xffffffff
jne 0x180015a78
mov dword [r9], 2
mov eax, dword [rbx + 0x4738]
shr eax, 3
test al, 1
jne 0x180015b4c
test r10b, r10b
je 0x180015ade
mov ecx, 0x272
call fcn.18000f610
cmp byte [rax], r13b
je 0x180015ade
movss xmm0, dword [rax + 4]
comiss xmm8, xmm0
ja 0x180015ade
ucomiss xmm0, xmm8
jp 0x180015ab0
je 0x180015ad5
movss xmm1, dword [rbx + 0x3c]
movss xmm2, dword [rbx + 0x40]
mulss xmm1, xmm5
mulss xmm2, xmm6
comiss xmm0, xmm1
jbe 0x180015ade
mov ecx, 0x272
call fcn.18000f7b0
test eax, eax
jle 0x180015ade
cmp dword [rbx + 0x44c8], 0xffffffff
je 0x180015b45
test bpl, bpl
je 0x180015b4c
mov ecx, 0x204
call fcn.18000f610
cmp byte [rax], r13b
je 0x180015b4c
movss xmm0, dword [rax + 4]
comiss xmm8, xmm0
ja 0x180015b4c
ucomiss xmm0, xmm8
jp 0x180015b05
je 0x180015b2a
movss xmm1, dword [rbx + 0x3c]
movss xmm2, dword [rbx + 0x40]
mulss xmm1, xmm5
mulss xmm2, xmm6
comiss xmm0, xmm1
jbe 0x180015b4c
mov ecx, 0x204
call fcn.18000f7b0
test eax, eax
jle 0x180015b4c
cmp byte [rbx + 0x473c], r13b
je 0x180015b3c
cmp dword [rbx + 0x3f28], 0xffffffff
jne 0x180015b4c
cmp dword [rbx + 0x3fa0], 0xffffffff
jne 0x180015b4c
mov dword [r9], 3
mov eax, dword [r9]
lea r14, [rbx + 0x492c]
mov dword [rbx + 0x4918], eax
mov rsi, r14
mov dword [r14], 0x7f7fffff
mov r15, r9
mov dword [r14 + 4], 0x7f7fffff
xorps xmm13, xmm13
mov dword [r14 + 8], 0xff7fffff
mov dword [r14 + 0xc], 0xff7fffff
test rdi, rdi
je 0x180015bd4
cmp dword [r9], 0xffffffff
jne 0x180015bd4
test bpl, bpl
je 0x180015bd4
call fcn.180016690
ucomiss xmm0, xmm8
movaps xmm13, xmm0
jp 0x180015ba6
je 0x180015bd4
movups xmm1, xmmword [rdi + 0x1f8]
movaps xmm2, xmm0
movups xmmword [r14], xmm1
addss xmm2, dword [rbx + 0x4930]
addss xmm0, dword [rbx + 0x4938]
movss dword [rbx + 0x4930], xmm2
movss dword [rbx + 0x4938], xmm0
mov ecx, dword [r15]
mov r15, qword [rsp + 0xe0]
mov byte [rbx + 0x4902], r13b
cmp ecx, 0xffffffff
je 0x180015c04
mov r9d, dword [rbx + 0x4908]
mov r8d, dword [rbx + 0x4904]
mov edx, dword [rbx + 0x4918]
call fcn.180014600
movzx eax, byte [rbx + 0x4900]
movss xmm14, dword [0x1800622e4]
movaps xmmword [rsp + 0xc0], xmm7
movaps xmmword [rsp + 0xa0], xmm9
movaps xmmword [rsp + 0x90], xmm10
movaps xmmword [rsp + 0x80], xmm11
movaps xmmword [rsp + 0x70], xmm12
test al, al
je 0x180015f1f
cmp dword [rbx + 0x48b0], r13d
jne 0x180015ca2
test byte [rbx + 0x5c7c], 8
je 0x180015c83
test rdi, rdi
je 0x180015c62
mov rdx, qword [rdi + 8]
jmp 0x180015c69
lea rdx, str._NULL_
mov r8d, dword [rbx + 0x48e0]
lea rcx, str._nav__NavInitRequest:_from_move__window___s___layer_d_n
call fcn.180018e50
movzx eax, byte [rbx + 0x4900]
mov word [rbx + 0x48e9], 0x101
mov dword [rbx + 0x48ec], r13d
mov byte [rbx + 0x48e6], r13b
test al, al
je 0x180015f1f
cmp dword [rbx + 0x48dc], 3
jne 0x180015f1f
cmp dword [rbx + 0x48e0], r13d
jne 0x180015f1f
test rdi, rdi
je 0x180015f1f
mov ebp, dword [r12]
lea rcx, [rsp + 0x30]
movss xmm11, dword [rdi + 0x200]
mov r14d, ebp
movss xmm12, dword [rdi + 0x204]
addss xmm11, xmm14
movss xmm9, dword [rdi + 0x1f8]
addss xmm12, xmm14
movss xmm10, dword [rdi + 0x1fc]
subss xmm9, xmm14
movss xmm6, dword [rdi + 0x110]
subss xmm10, xmm14
movss xmm7, dword [rdi + 0x114]
mov rdx, rdi
and ebp, 0xa
call fcn.180012770
subss xmm9, xmm6
subss xmm10, xmm7
subss xmm11, xmm6
movss xmm0, dword [rax]
subss xmm12, xmm7
movss xmm1, dword [rax + 4]
subss xmm0, dword [rdi + 0x84]
subss xmm1, dword [rdi + 0x88]
addss xmm9, xmm0
addss xmm10, xmm1
addss xmm11, xmm0
addss xmm12, xmm1
and r14d, 5
je 0x180015d73
test ebp, ebp
jne 0x180015f1f
movsxd rax, dword [rbx + 0x48e0]
add rax, rax
movss xmm0, dword [rdi + rax*8 + 0x3a8]
comiss xmm0, xmm9
jb 0x180015dc0
movss xmm0, dword [rdi + rax*8 + 0x3ac]
comiss xmm0, xmm10
jb 0x180015dc0
comiss xmm11, dword [rdi + rax*8 + 0x3b0]
jb 0x180015dc0
comiss xmm12, dword [rdi + rax*8 + 0x3b4]
jb 0x180015dc0
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x3c], r13d
jmp 0x180015f33
test byte [rbx + 0x5c7c], 8
je 0x180015dd5
lea rcx, str._nav__NavMoveRequest:_clamp_NavRectRel_for_gamepad_move_n
call fcn.180018e50
mov rax, qword [rdi]
movaps xmm0, xmm11
movss xmm3, dword [0x1800622b0]
subss xmm0, xmm9
movss xmm1, dword [rax + 0x3c2c]
mulss xmm1, dword [rdi + 0x290]
mov rax, qword [rdi + 0x368]
movaps xmm2, xmm1
test rax, rax
je 0x180015e18
mulss xmm2, dword [rax + 0x290]
mulss xmm1, dword [rax + 0x290]
mulss xmm2, xmm3
mulss xmm1, xmm3
movss xmm3, dword [0x1800623c0]
minss xmm0, xmm2
movaps xmm2, xmm12
subss xmm2, xmm10
minss xmm2, xmm1
movss xmm1, dword [0x1800623a4]
test r14d, r14d
jne 0x180015e52
addss xmm9, xmm0
subss xmm11, xmm0
jmp 0x180015e5a
movaps xmm9, xmm3
movaps xmm11, xmm1
test ebp, ebp
jne 0x180015e6a
addss xmm10, xmm2
subss xmm12, xmm2
jmp 0x180015e72
movaps xmm10, xmm3
movaps xmm12, xmm1
movsxd rax, dword [rbx + 0x48e0]
add rax, rax
movss xmm0, dword [rdi + rax*8 + 0x3ac]
comiss xmm10, xmm0
jbe 0x180015e91
movaps xmm1, xmm10
jmp 0x180015e99
movaps xmm1, xmm12
minss xmm1, xmm0
movss xmm2, dword [rdi + rax*8 + 0x3a8]
comiss xmm9, xmm2
jbe 0x180015eae
movaps xmm0, xmm9
jmp 0x180015eb6
movaps xmm0, xmm11
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 xmm10, xmm0
ja 0x180015ee0
movaps xmm10, xmm12
minss xmm10, xmm0
movss xmm0, dword [rdi + rax*8 + 0x3b0]
comiss xmm9, xmm0
ja 0x180015ef8
movaps xmm9, xmm11
minss xmm9, xmm0
movss dword [rdi + rax*8 + 0x3b0], xmm9
movss dword [rdi + rax*8 + 0x3b4], xmm10
mov dword [rbx + 0x48b0], r13d
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x3c], r13d
jmp 0x180015f33
xorps xmm2, xmm2
xorps xmm6, xmm6
movups xmmword [rsp + 0x30], xmm2
test rdi, rdi
je 0x180016004
movsxd rax, dword [rbx + 0x48e0]
add rax, rax
movss xmm0, dword [rdi + rax*8 + 0x3a8]
comiss xmm0, dword [rdi + rax*8 + 0x3b0]
ja 0x180015f6d
movss xmm0, dword [rdi + rax*8 + 0x3ac]
comiss xmm0, dword [rdi + rax*8 + 0x3b4]
ja 0x180015f6d
movups xmm0, xmmword [rdi + rax*8 + 0x3a8]
jmp 0x180015f70
xorps xmm0, xmm0
movss xmm2, dword [rdi + 0x110]
lea rax, [rsp + 0x20]
movups xmmword [rsp + 0x20], xmm0
movups xmm4, xmmword [rax]
movss xmm0, dword [rdi + 0x114]
movaps xmm8, xmm4
movaps xmm6, xmm4
addss xmm8, xmm2
shufps xmm6, xmm4, 0x55
movaps xmm5, xmm4
addss xmm6, xmm0
shufps xmm5, xmm4, 0xff
shufps xmm4, xmm4, 0xaa
addss xmm5, xmm0
addss xmm4, xmm2
addss xmm8, xmm14
addss xmm6, xmm13
addss xmm5, xmm13
minss xmm8, xmm4
movaps xmm7, xmm6
movss dword [rsp + 0x30], xmm8
movaps xmm4, xmm8
movss dword [rsp + 0x38], xmm8
movaps xmm9, xmm8
movups xmm2, xmmword [rsp + 0x30]
shufps xmm2, xmm2, 0xe1
movss xmm2, xmm6
shufps xmm2, xmm2, 0x87
movss xmm2, xmm5
shufps xmm2, xmm2, 0x27
movss xmm2, xmm4
shufps xmm2, xmm2, 0xc9
jmp 0x180016020
xorps xmm0, xmm0
xorps xmm4, xmm4
shufps xmm0, xmm2, 0xff
xorps xmm7, xmm7
movaps xmm5, xmm0
shufps xmm4, xmm2, 0xaa
shufps xmm7, xmm2, 0x55
xorps xmm9, xmm9
movaps xmm14, xmmword [rsp + 0x50]
movaps xmm13, xmmword [rsp + 0x60]
movaps xmm12, xmmword [rsp + 0x70]
movaps xmm11, xmmword [rsp + 0x80]
movaps xmm10, xmmword [rsp + 0x90]
mov r14, qword [rsp + 0xe8]
mov r13, qword [rsp + 0xf0]
mov r12, qword [rsp + 0xf8]
mov rdi, qword [rsp + 0x120]
mov rbp, qword [rsp + 0x118]
movups xmmword [rbx + 0x491c], xmm2
mov rbx, qword [rsp + 0x110]
movss xmm0, dword [rsi]
comiss xmm0, xmm8
movaps xmm8, xmmword [rsp + 0xb0]
jbe 0x180016093
movss dword [rsi], xmm9
movss xmm0, dword [rsi + 4]
movaps xmm9, xmmword [rsp + 0xa0]
comiss xmm0, xmm6
movaps xmm6, xmmword [rsp + 0xd0]
jbe 0x1800160b3
movss dword [rsi + 4], xmm7
comiss xmm4, dword [rsi + 8]
movaps xmm7, xmmword [rsp + 0xc0]
jbe 0x1800160c6
movss dword [rsi + 8], xmm4
comiss xmm5, dword [rsi + 0xc]
jbe 0x1800160d1
movss dword [rsi + 0xc], xmm5
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1800543d0
add rsp, 0x100
pop rsi
ret