Function at 0x140026967
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x188
movaps xmmword [rsp + 0x170], xmm6
mov qword [rsp + 0x90], rcx
imul rsi, qword [r8 + 0x10], 0x50
mov qword [rsp + 0x88], r8
mov r14, qword [r8]
add rsi, r14
lea r15, [0x14033eb1c]
xorps xmm6, xmm6
lea r13, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_percent_encoding_2.3.1_src_lib.rs
mov qword [rsp + 0x98], rsi
mov rbp, r14
cmp r14, rsi
je 0x140026f63
lea r14, [rbp + 0x50]
mov rcx, rbp
call fcn.14017a457
test rax, rax
je 0x1400269b6
mov rdi, rax
mov rbx, rdx
mov rcx, rdx
call fcn.1400bc32b
mov r12, rax
mov qword [rsp + 0x40], rdx
mov rcx, rax
mov rdx, rdi
mov r8, rbx
call main
cmp rbx, 2
jb 0x140026a12
mov cl, 0x7e
mov rdx, r12
mov r8, rbx
cmp rbx, 0x10
jae 0x140026a2e
call fcn.14000f1c1
jmp 0x140026a33
mov edx, 1
mov rcx, r13
mov r8, r12
mov r9, rbx
call fcn.14017cc12
test al, al
jne 0x140026a3d
jmp 0x140026f19
call fcn.1400855f0
cmp rax, 1
jne 0x140026f19
mov r8d, 0xb
lea rcx, [rsp + 0x108]
mov rdx, r15
call fcn.14019f060
mov al, byte [rsp + 0x120]
cmp al, 2
jne 0x140026aa1
and qword [rsp + 0x108], 0
lea rcx, [0x1402b9bc8]
mov edx, 0x4000
xor r8d, r8d
lea r9, [rsp + 0x108]
call sub.shell32.dll_SHGetKnownFolderPath
mov rdi, qword [rsp + 0x108]
test eax, eax
je 0x140026ae9
mov rcx, rdi
call sub.ole32.dll_CoTaskMemFree
mov byte [rsp + 0x68], 2
jmp 0x140026f19
cmp qword [rsp + 0x118], 0
je 0x140026f3d
mov rcx, qword [rsp + 0x118]
mov qword [rsp + 0x60], rcx
movups xmm0, xmmword [rsp + 0x108]
movaps xmmword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x121]
mov ecx, dword [rdx]
mov edx, dword [rdx + 3]
lea r8, [rsp + 0x69]
mov dword [r8 + 3], edx
mov dword [r8], ecx
mov byte [rsp + 0x68], al
jmp 0x140026b19
mov rcx, rdi
call sub.msvcrt.dll_wcslen
lea rcx, [rsp + 0x50]
mov rdx, rdi
mov r8, rax
call fcn.1401820c0
mov rcx, qword [rsp + 0x108]
call sub.ole32.dll_CoTaskMemFree
cmp byte [rsp + 0x68], 2
je 0x140026f19
mov qword [rsp + 0xb8], rbp
mov qword [rsp + 0xc0], r14
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xa0], rax
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xa8], rcx
call fcn.140009813
test rax, rax
cmove rdx, rax
mov qword [rsp + 0xe8], rdx
mov rcx, rax
lea rax, str.Malformed_XML.
cmove rcx, rax
mov qword [rsp + 0xe0], rcx
mov ecx, 1
mov qword [rsp + 0x70], rcx
lea rax, [rsp + 0x78]
movups xmmword [rax], xmm6
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x108]
mov qword [rsp + 0x48], r12
mov rdx, r12
mov qword [rsp + 0xb0], rbx
mov r8, rbx
mov r9, r13
call fcn.140085ac0
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xf0], rax
mov r13, qword [rsp + 0x110]
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x128]
mov qword [rsp + 0xf8], rcx
mov r14, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x140]
mov qword [rsp + 0x30], rcx
mov rdi, qword [rsp + 0x150]
mov rbp, qword [rsp + 0x158]
mov rsi, qword [rsp + 0x160]
mov rbx, qword [rsp + 0x168]
lea rcx, [rbx - 1]
mov qword [rsp + 0x100], rcx
mov rcx, rax
and rcx, 0xffffffffffffff00
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xd0], rax
mov r15d, eax
xor eax, eax
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0xf0], 0
je 0x140026db9
movzx r8d, r15b
or r8, qword [rsp + 0xd8]
mov rax, rbx
sub rax, r8
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x30]
mov rcx, rax
mov qword [rsp + 0x28], rax
mov r11, rax
cmp r13, r11
mov rcx, r11
cmova rcx, r13
cmp rax, 0xffffffffffffffff
cmove rcx, r13
mov r10d, 0
cmovne r10, r11
mov rax, qword [rsp + 0x100]
add rax, r14
cmp rax, rbp
jae 0x140026e95
movzx eax, byte [rdi + rax]
mov rdx, qword [rsp + 0xf8]
bt rdx, rax
jae 0x140026d52
lea rdx, [rdi + r14]
mov r12, rcx
cmp r12, rbx
jae 0x140026cff
mov rax, r12
add r12, r14
cmp r12, rbp
jae 0x140026fad
lea r12, [rax + 1]
mov r9b, byte [rsi + rax]
cmp r9b, byte [rdx + rax]
je 0x140026cc7
sub r14, r13
add r14, rax
inc r14
mov rax, qword [rsp + 0x30]
cmp rax, 0xffffffffffffffff
je 0x140026c96
jmp 0x140026d7d
mov rax, r13
cmp r10, rax
jae 0x140026d8c
dec rax
cmp rax, rbx
jae 0x140026fc0
lea rdx, [rax + r14]
cmp rdx, rbp
jae 0x140026fcf
mov r12b, byte [rsi + rax]
cmp r12b, byte [rdi + rdx]
je 0x140026d02
add r14, r8
mov rax, qword [rsp + 0x30]
cmp rax, 0xffffffffffffffff
je 0x140026c96
mov r11, qword [rsp + 0xc8]
mov qword [rsp + 0x28], r11
jmp 0x140026c7a
add r14, rbx
mov rcx, qword [rsp + 0x30]
cmp rcx, 0xffffffffffffffff
mov eax, 0
mov rdx, qword [rsp + 0x28]
cmovne rdx, rax
mov qword [rsp + 0x28], rdx
cmovne r11, rax
mov rax, rcx
jmp 0x140026c7a
xor ecx, ecx
mov qword [rsp + 0x28], rcx
xor r11d, r11d
jmp 0x140026c7a
cmp qword [rsp + 0x30], 0xffffffffffffffff
mov eax, 0
mov rcx, qword [rsp + 0x28]
cmovne rcx, rax
lea rax, [r14 + rbx]
mov r8, r14
mov qword [rsp + 0x28], rax
mov r14, rax
mov qword [rsp + 0x30], rcx
jmp 0x140026e55
test dword [rsp + 0xd0], 0xff0000
jne 0x140026e95
mov rcx, r13
mov rdx, rdi
mov r8, rbp
call fcn.14000ed43
test rax, rax
je 0x140026fe3
add rdx, rax
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rdx
lea rcx, [rsp + 0x108]
call fcn.14008911b
test eax, eax
mov eax, 0x110000
cmove edx, eax
test r15b, r15b
jne 0x140026e49
cmp edx, 0x110000
je 0x140026e95
mov eax, 1
cmp edx, 0x80
jb 0x140026e41
mov eax, 2
cmp edx, 0x800
jb 0x140026e41
cmp edx, 0x10000
mov eax, 4
sbb rax, 0
add r13, rax
mov r15b, 1
jmp 0x140026dca
xor r15b, 1
mov qword [rsp + 0x28], r13
mov r8, r13
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
lea rdx, [rax + rcx]
sub r8, rcx
lea r12, [rsp + 0x70]
mov rcx, r12
call fcn.1401b47a9
mov rcx, r12
mov rdx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xe8]
call fcn.1401b47a9
mov rax, qword [rsp + 0x28]
jmp 0x140026c3c
mov r14, qword [rsp + 0x48]
mov rdx, r14
mov rax, qword [rsp + 0x38]
add rdx, rax
mov r8, qword [rsp + 0xb0]
sub r8, rax
lea rcx, [rsp + 0x70]
call fcn.1401b47a9
mov r12, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x80]
mov rcx, r14
mov rdx, qword [rsp + 0x40]
call fcn.1400888cd
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xa0]
call fcn.1400888cd
mov qword [rsp + 0x40], rdi
mov rsi, qword [rsp + 0x98]
mov r14, qword [rsp + 0xc0]
lea r15, [0x14033eb1c]
lea r13, str._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_percent_encoding_2.3.1_src_lib.rs
mov rbp, qword [rsp + 0xb8]
mov rcx, r12
mov rdx, rbx
call fcn.140009844
mov ebx, eax
mov rcx, r12
mov rdx, qword [rsp + 0x40]
call fcn.1400888cd
test bl, bl
jne 0x1400269b6
jmp 0x140026f63
cmp qword [rsp + 0x110], 0
je 0x140026a5e
mov rcx, qword [rsp + 0x108]
mov edx, 1
call fcn.140030e40
jmp 0x140026a5e
cmp rbp, rsi
sete dl
mov rsi, qword [rsp + 0x90]
lea rcx, [rsi + 8]
call fcn.140090870
mov qword [rsi], 0x15
mov rcx, qword [rsp + 0x88]
call fcn.14008e5d2
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x170]
add rsp, 0x188
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add rcx, r14
cmp rbp, rcx
cmova rcx, rbp
lea r8, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_strpattern.rs
jmp 0x140026fd9
lea r8, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_strpattern.rs
mov rcx, rax
mov rdx, rbx
jmp 0x140026fdc
lea r8, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_strpattern.rs
mov rcx, rdx
mov rdx, rbp
call fcn.14007e870
ud2
lea rax, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_strpattern.rs
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, rbp
mov r8, r13
mov r9, rbp
call fcn.140084a00
ud2