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

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0x100
mov rax, qword [0x140159060]
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 [0x1406030e8]
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 0x140031888
test byte [r11 + 0xc], 1
je 0x140031888
mov r10b, 1
jmp 0x14003188b
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 0x1400318e1
test rdi, rdi
je 0x1400318e1
test byte [r11 + 0x5cec], 8
lea rsi, [r11 + 0x4958]
je 0x1400318da
mov edx, dword [rsi]
lea rcx, str._nav__NavMoveRequestForward__d_n
call fcn.140035390
mov r11, qword [0x1406030e8]
mov eax, dword [rsi]
jmp 0x140031cb1
mov qword [r11 + 0x494c], r15
lea rsi, [r11 + 0x4958]
mov dword [rsi], 0xffffffff
test rdi, rdi
je 0x140031c90
cmp qword [r11 + 0x4a58], r15
jne 0x140031c90
test dword [rdi + 0x14], 0x40000
jne 0x140031c90
test byte [r11 + 0x4748], 1
movss xmm5, dword [0x140141a74]
movss xmm7, dword [0x140141a84]
jne 0x1400319fd
test r10b, r10b
je 0x140031998
mov edx, 0x26f
mov rcx, r11
call fcn.14002b5e0
cmp byte [rax], r15b
je 0x140031998
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140031998
ucomiss xmm0, xmm6
jp 0x14003195e
je 0x140031985
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140031998
mov ecx, 0x26f
call fcn.14002b7b0
test eax, eax
jle 0x140031998
mov edx, 0xffffffff
mov ecx, 0x26f
call fcn.14002da90
test al, al
jne 0x1400319fa
test bpl, bpl
je 0x1400319fd
mov edx, 0x201
mov rcx, r11
call fcn.14002b5e0
cmp byte [rax], r15b
je 0x1400319fd
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x1400319fd
ucomiss xmm0, xmm6
jp 0x1400319c0
je 0x1400319e7
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x1400319fd
mov ecx, 0x201
call fcn.14002b7b0
test eax, eax
jle 0x1400319fd
mov edx, 0xffffffff
mov ecx, 0x201
call fcn.14002da90
test al, al
je 0x1400319fd
mov dword [rsi], r15d
mov eax, dword [r11 + 0x4748]
shr eax, 1
test al, 1
jne 0x140031ad8
test r10b, r10b
je 0x140031a70
mov edx, 0x270
mov rcx, r11
call fcn.14002b5e0
cmp byte [rax], r15b
je 0x140031a70
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140031a70
ucomiss xmm0, xmm6
jp 0x140031a36
je 0x140031a5d
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140031a70
mov ecx, 0x270
call fcn.14002b7b0
test eax, eax
jle 0x140031a70
mov edx, 0xffffffff
mov ecx, 0x270
call fcn.14002da90
test al, al
jne 0x140031ad2
test bpl, bpl
je 0x140031ad8
mov edx, 0x202
mov rcx, r11
call fcn.14002b5e0
cmp byte [rax], r15b
je 0x140031ad8
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140031ad8
ucomiss xmm0, xmm6
jp 0x140031a98
je 0x140031abf
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140031ad8
mov ecx, 0x202
call fcn.14002b7b0
test eax, eax
jle 0x140031ad8
mov edx, 0xffffffff
mov ecx, 0x202
call fcn.14002da90
test al, al
je 0x140031ad8
mov dword [rsi], 1
mov eax, dword [r11 + 0x4748]
shr eax, 2
test al, 1
jne 0x140031bb4
test r10b, r10b
je 0x140031b4c
mov edx, 0x271
mov rcx, r11
call fcn.14002b5e0
cmp byte [rax], r15b
je 0x140031b4c
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140031b4c
ucomiss xmm0, xmm6
jp 0x140031b12
je 0x140031b39
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140031b4c
mov ecx, 0x271
call fcn.14002b7b0
test eax, eax
jle 0x140031b4c
mov edx, 0xffffffff
mov ecx, 0x271
call fcn.14002da90
test al, al
jne 0x140031bae
test bpl, bpl
je 0x140031bb4
mov edx, 0x203
mov rcx, r11
call fcn.14002b5e0
cmp byte [rax], r15b
je 0x140031bb4
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140031bb4
ucomiss xmm0, xmm6
jp 0x140031b74
je 0x140031b9b
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140031bb4
mov ecx, 0x203
call fcn.14002b7b0
test eax, eax
jle 0x140031bb4
mov edx, 0xffffffff
mov ecx, 0x203
call fcn.14002da90
test al, al
je 0x140031bb4
mov dword [rsi], 2
mov eax, dword [r11 + 0x4748]
shr eax, 3
test al, 1
jne 0x140031c90
test r10b, r10b
je 0x140031c28
mov edx, 0x272
mov rcx, r11
call fcn.14002b5e0
cmp byte [rax], r15b
je 0x140031c28
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140031c28
ucomiss xmm0, xmm6
jp 0x140031bee
je 0x140031c15
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140031c28
mov ecx, 0x272
call fcn.14002b7b0
test eax, eax
jle 0x140031c28
mov edx, 0xffffffff
mov ecx, 0x272
call fcn.14002da90
test al, al
jne 0x140031c8a
test bpl, bpl
je 0x140031c90
mov edx, 0x204
mov rcx, r11
call fcn.14002b5e0
cmp byte [rax], r15b
je 0x140031c90
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
ja 0x140031c90
ucomiss xmm0, xmm6
jp 0x140031c50
je 0x140031c77
movss xmm1, dword [r11 + 0x70]
movss xmm2, dword [r11 + 0x74]
mulss xmm1, xmm5
mulss xmm2, xmm7
comiss xmm0, xmm1
jbe 0x140031c90
mov ecx, 0x204
call fcn.14002b7b0
test eax, eax
jle 0x140031c90
mov edx, 0xffffffff
mov ecx, 0x204
call fcn.14002da90
test al, al
je 0x140031c90
mov dword [rsi], 3
movaps xmm0, xmmword [0x140142080]
xorps xmm11, xmm11
mov eax, dword [rsi]
mov dword [r11 + 0x4960], eax
movups xmmword [r11 + 0x4974], xmm0
test rdi, rdi
je 0x140031d0d
xorps xmm11, xmm11
cmp eax, 0xffffffff
jne 0x140031d0d
test bpl, bpl
je 0x140031d0d
call fcn.140032a50
movaps xmm11, xmm0
ucomiss xmm11, xmm6
jp 0x140031cd0
je 0x140031d06
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 [0x1406030e8]
mov ecx, dword [rsi]
mov byte [rbx + 0x494a], r15b
cmp ecx, 0xffffffff
je 0x140031d34
mov r9d, dword [rbx + 0x4950]
mov r8d, dword [rbx + 0x494c]
mov edx, dword [rbx + 0x4960]
call fcn.140030690
movzx eax, byte [rbx + 0x4948]
movss xmm14, dword [0x140141a58]
movss xmm13, dword [0x140141b98]
movss xmm15, dword [0x140141a9c]
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 0x140032051
cmp dword [rbx + 0x48d8], r15d
jne 0x140031dee
test byte [rbx + 0x5cec], 8
je 0x140031dcf
test rdi, rdi
je 0x140031da7
mov rdx, qword [rdi + 8]
jmp 0x140031dae
lea rdx, str._NULL_
mov r8d, dword [rbx + 0x4908]
lea rcx, str._nav__NavInitRequest:_from_move__window___s___layer_d_n
call fcn.140035390
movzx eax, byte [rbx + 0x4948]
mov r11, qword [0x1406030e8]
mov word [rbx + 0x4911], 0x101
mov dword [rbx + 0x4920], r15d
mov byte [rbx + 0x490e], r15b
test al, al
je 0x140032051
cmp dword [rbx + 0x4904], 3
jne 0x140032051
cmp dword [rbx + 0x4908], r15d
jne 0x140032051
test rdi, rdi
je 0x140032051
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.14002e650
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 0x140031ec1
test ebp, ebp
jne 0x140032051
movsxd rax, dword [rbx + 0x4908]
add rax, rax
movss xmm0, dword [rdi + rax*8 + 0x3a8]
comiss xmm0, xmm8
jb 0x140031f03
movss xmm0, dword [rdi + rax*8 + 0x3ac]
comiss xmm0, xmm9
jb 0x140031f03
comiss xmm10, dword [rdi + rax*8 + 0x3b0]
jb 0x140031f03
comiss xmm12, dword [rdi + rax*8 + 0x3b4]
jae 0x140032062
test byte [rbx + 0x5cec], 8
je 0x140031f1f
lea rcx, str._nav__NavMoveRequest:_clamp_NavRectRel_for_gamepad_move_n
call fcn.140035390
mov r11, qword [0x1406030e8]
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 0x140031f5a
mulss xmm0, dword [rax + 0x290]
mulss xmm1, dword [rax + 0x290]
movss xmm3, dword [0x140141bb4]
mulss xmm0, xmm14
mulss xmm1, xmm14
minss xmm2, xmm0
movaps xmm0, xmm12
subss xmm0, xmm9
minss xmm0, xmm1
test r14d, r14d
jne 0x140031f8e
addss xmm8, xmm2
subss xmm10, xmm2
jmp 0x140031f96
movaps xmm8, xmm3
movaps xmm10, xmm13
test ebp, ebp
jne 0x140031fa6
addss xmm9, xmm0
subss xmm12, xmm0
jmp 0x140031fae
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 0x140031fcd
movaps xmm1, xmm9
jmp 0x140031fd5
movaps xmm1, xmm12
minss xmm1, xmm0
movss xmm2, dword [rdi + rax*8 + 0x3a8]
comiss xmm8, xmm2
jbe 0x140031fea
movaps xmm0, xmm8
jmp 0x140031ff2
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 0x14003201c
movaps xmm9, xmm12
minss xmm9, xmm0
movss xmm0, dword [rdi + rax*8 + 0x3b0]
comiss xmm8, xmm0
ja 0x140032034
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 0x140032062
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
test rdi, rdi
je 0x1400321f5
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 0x14003209f
movss xmm0, dword [rdi + rax*8 + 0x3ac]
comiss xmm0, dword [rdi + rax*8 + 0x3b4]
ja 0x14003209f
movups xmm0, xmmword [rdi + rax*8 + 0x3a8]
jmp 0x1400320a2
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 0x14003220d
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 0x140032194
movss xmm0, dword [rdx + rcx*8 + 0x3c8]
ucomiss xmm0, xmm13
jp 0x14003216a
jne 0x14003216a
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 0x140032194
jne 0x140032194
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 0x1400321c6
movss xmm0, dword [rdx + rcx*8 + 0x3c8]
ucomiss xmm0, xmm13
jp 0x1400321ae
je 0x1400321c6
movaps xmm3, xmm1
addss xmm3, xmm0
movss dword [rsp + 0x40], xmm3
movaps xmm5, xmm3
movss dword [rsp + 0x38], xmm3
jmp 0x14003220d
cmp r8d, 1
ja 0x14003220d
movss xmm0, dword [rdx + rcx*8 + 0x3cc]
ucomiss xmm0, xmm13
jp 0x1400321dd
je 0x14003220d
movaps xmm2, xmm6
addss xmm2, xmm0
movss dword [rsp + 0x44], xmm2
movaps xmm4, xmm2
movss dword [rsp + 0x3c], xmm2
jmp 0x14003220d
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 0x1400322a5
movss dword [rbx + 0x4974], xmm3
movss xmm0, dword [rbx + 0x4978]
comiss xmm0, xmm2
jbe 0x1400322ba
movss dword [rbx + 0x4978], xmm2
comiss xmm5, dword [rbx + 0x497c]
jbe 0x1400322cb
movss dword [rbx + 0x497c], xmm5
comiss xmm4, dword [rbx + 0x4980]
jbe 0x1400322dc
movss dword [rbx + 0x4980], xmm4
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14010c680
add rsp, 0x100
pop rbx
ret