Function at 0x1400c1948
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x598
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
lea r14, [rsp + 0xa8]
mov rcx, r14
call fcn.140194900
lea r15, [rsp + 0xe8]
mov rcx, r15
mov rdx, r14
call fcn.1401713c0
mov al, byte [r15]
cmp al, 0xa
je 0x1400c1a61
lea ecx, [rax - 6]
add al, 0xfb
xor edx, edx
cmp cl, 4
movzx eax, al
cmovae eax, edx
cmp al, 1
je 0x1400c1a61
movzx eax, al
cmp eax, 4
jne 0x1400c1a02
mov rdx, qword [rsp + 0xf0]
mov r8, qword [rsp + 0xf8]
lea r14, [rsp + 0x190]
mov rcx, r14
call fcn.140081cf0
cmp qword [r14], 0
jne 0x1400c1e0b
mov rcx, qword [rsp + 0x198]
mov rdx, qword [rsp + 0x1a0]
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_percent_encoding_2.3.1_src_lib.rs_00_01_02_03_04_05_06_07_08_09_0A_0B_0C_0D_0E_0F_10_11_12_13_14_15_16_17_18_19_1A_1B_1C_1D_1E_1F_20_21_22_23_24_25_26_27_28_29_2A_2B_2C_2D_2E_2F_30_31_32_33_34_35_36_37_38_39_3A_3B_3C_3D_3E_3F_40_41_42_43_44_45_46_47_48_49_4A_4B_4C_4D_4E_4F_50_51_52_53_54_55_56_57_58_59_5A_5B_5C_5D_5E_5F_60_61_62_63_64_65_66_67_68_69_6A_6B_6C_6D_6E_6F_70_71_72_73_74_75_76_77_78_79_7A_7B_7C_7D_7E_7F_80_81_82_83_84_85_86_87_88_89_8A_8B_8C_8D_8E_8F_90_91_92_93_94_95_96_97_98_99_9A_9B_9C_9D_9E_9F_A0_A1_A2_A3_A4_A5_A6_A7_A8_A9_AA_AB_AC_AD_AE_AF_B0_B1_B2_B3_B4_B5_B6_B7_B8_B9_BA_BB_BC_BD_BE_BF_C0_C1_C2_C3_C4_C5_C6_C7_C8_C9_CA_CB_CC_CD_CE_CF_D0_D1_D2_D3_D4_D5_D6_D7_D8_D9_DA_DB_DC_DD_DE_DF_E0_E1_E2_E3_E4_E5_E6_E7_E8_E9_EA_EB_EC_ED_EE_EF_F0_F1_F2_F3_F4_F5_F6_F7_F8_F9_FA_FB_FC_FD_FE_FF
mov r9d, 1
call fcn.1400c142c
test al, al
je 0x1400c1a61
movabs r12, 0x8000000000000000
and qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 1
and qword [rsp + 0x70], 0
mov byte [rsp + 0x78], 1
lea rdx, str.HOMEUSERPROFILE.pipe__rust_anonymous_pipe1__.
lea rdi, [rsp + 0x190]
mov r8d, 4
mov rcx, rdi
call fcn.14018dae0
cmp qword [rdi], r12
jne 0x1400c1a74
lea rdx, [0x14032c2ec]
lea rcx, [rsp + 0x40]
mov r8d, 0xb
call fcn.14018dae0
jmp 0x1400c1a8e
mov rcx, rsi
mov rdx, rbx
mov r8, rdi
call fcn.1400c1e53
jmp 0x1400c1d76
movups xmm0, xmmword [rsp + 0x190]
movups xmm1, xmmword [rsp + 0x1a0]
movaps xmmword [rsp + 0x50], xmm1
movaps xmmword [rsp + 0x40], xmm0
mov rbx, qword [rsp + 0x40]
cmp rbx, r12
jne 0x1400c1c24
mov qword [rsp + 0xa0], rsi
lea rax, [rsp + 0x28]
and qword [rax], 0
mov qword [rax + 8], 2
and qword [rax + 0x10], 0
mov r8d, 0x200
mov esi, 2
xor edi, edi
mov ebp, 0xffffffff
xor ebx, ebx
xor r12d, r12d
cmp r8, 0x201
jae 0x1400c1aed
mov r14d, 0x200
lea r13, [rsp + 0x190]
mov r15, r8
jmp 0x1400c1b2d
sub r8, r12
sub rbx, r12
cmp rbx, r8
jae 0x1400c1b0f
lea rcx, [rsp + 0x28]
mov rdx, r12
call fcn.14016e830
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
cmp rdi, rbp
mov r12d, 0xffffffff
cmovb r12, rdi
mov qword [rsp + 0x38], r12
mov rbx, rdi
mov r14, r12
mov r13, rsi
mov r15, r12
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov dword [rsp + 0x40], r15d
mov rcx, 0xfffffffffffffffc
mov rdx, r13
lea r8, [rsp + 0x40]
call sub.userenv.dll_GetUserProfileDirectoryW
test eax, eax
je 0x1400c1b59
mov ecx, dword [rsp + 0x40]
dec ecx
jmp 0x1400c1b67
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x1400c1b6b
mov ecx, dword [rsp + 0x40]
test ecx, ecx
jne 0x1400c1b7a
call sub.KERNEL32.dll_GetLastError
xor ecx, ecx
test eax, eax
jne 0x1400c1da8
mov r8d, ecx
cmp r15, r8
jne 0x1400c1ba2
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x1400c1d8b
add r15, r15
cmp r15, rbp
cmovae r15, rbp
mov r8, r15
jmp 0x1400c1ad1
jb 0x1400c1ad1
cmp r14, r8
jb 0x1400c1e17
lea rcx, [rsp + 0x40]
mov rdx, r13
call fcn.140170950
mov rsi, qword [rsp + 0xa0]
movabs r12, 0x8000000000000000
movups xmm0, xmmword [rsp + 0x40]
movups xmm1, xmmword [rsp + 0x50]
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
cmp qword [rsp + 0x28], 0
je 0x1400c1c01
mov rcx, qword [rsp + 0x30]
mov edx, 2
call fcn.1400322f0
mov rbx, qword [rsp + 0x80]
cmp rbx, r12
je 0x1400c1de6
mov rdi, qword [rsp + 0x88]
mov r14, qword [rsp + 0x90]
jmp 0x1400c1c2e
mov rdi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
lea r15, [rsp + 0x190]
mov rcx, r15
mov rdx, rdi
mov r8, r14
call fcn.140081cf0
cmp qword [r15], 0
jne case.0x1400be460.101
mov rcx, qword [rsp + 0x198]
mov rdx, qword [rsp + 0x1a0]
lea r8, str.Malformed_XML.
xor r9d, r9d
call fcn.1400c142c
test al, al
je 0x1400c1c88
mov rcx, rbx
mov rdx, rdi
call fcn.1400b5a3c
movabs rdi, 0x1400000003
jmp 0x1400c1c92
lea rax, [r12 + 1]
cmp rbx, rax
jne 0x1400c1cab
mov qword [rsi + 8], rdi
inc r12
mov qword [rsi], r12
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
jmp 0x1400c1d71
lea r15, [rsp + 0x190]
mov rcx, r15
mov rdx, rdi
mov r8, r14
call fcn.140194900
lea r14, [rsp + 0x120]
lea r12, [rsp + 0x60]
mov rcx, r14
mov rdx, r15
call fcn.1401713c0
cmp byte [rsp + 0x120], 0xa
je 0x1400c1cf0
mov rcx, r12
mov rdx, r14
call fcn.1400c1925
jmp 0x1400c1cce
movups xmm0, xmmword [rsp + 0xa8]
movups xmm1, xmmword [rsp + 0xb8]
movups xmm2, xmmword [rsp + 0xc8]
movups xmm3, xmmword [rsp + 0xd8]
lea r14, [rsp + 0x190]
movaps xmmword [r14 + 0x30], xmm3
movaps xmmword [r14 + 0x20], xmm2
movaps xmmword [r14 + 0x10], xmm1
movaps xmmword [r14], xmm0
lea r15, [rsp + 0x158]
lea r12, [rsp + 0x60]
mov rcx, r15
mov rdx, r14
call fcn.1401713c0
cmp byte [rsp + 0x158], 0xa
je 0x1400c1d5a
mov rcx, r12
mov rdx, r15
call fcn.1400c1925
jmp 0x1400c1d38
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x70]
movups xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov rcx, rbx
mov rdx, rdi
call fcn.1400b5a3c
nop
add rsp, 0x598
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.internal_error:_entered_unreachable_code__
lea r8, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call fcn.140080ec0
jmp 0x1400c1e2c
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x88], rax
movabs rax, 0x8000000000000000
mov qword [rsp + 0x80], rax
cmp qword [rsp + 0x28], 0
je 0x1400c1de6
mov rcx, qword [rsp + 0x30]
mov edx, 2
call fcn.1400322f0
lea rcx, [rsp + 0x88]
call fcn.14016d350
lea rcx, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_path_calculate_0.1.3_src_calculate.rs
call fcn.140084070
lea rcx, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_path_calculate_0.1.3_src_calculate.rs
call fcn.140084070
lea rcx, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_path_calculate_0.1.3_src_calculate.rs
call fcn.140084070
lea rax, str.library_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, r14
mov r8, rax
call fcn.140080b50
ud2