Function at 0x1400b6a60
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x468
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 2
mov qword [rsp + 0x38], 0
mov edi, 0x200
mov eax, 2
mov qword [rsp + 0x60], rax
xor ebx, ebx
xor esi, esi
xor r14d, r14d
cmp rdi, 0x201
jae 0x1400b6ae0
jmp 0x1400b6acf
jae 0x1400b6b9e
cmp rdi, 0x201
jae 0x1400b6ae0
mov r12d, 0x200
lea r15, [rsp + 0x68]
mov r13, rdi
jmp 0x1400b6b14
sub rdi, r14
sub rsi, r14
cmp rsi, rdi
jb 0x1400b6b7a
mov eax, 0xffffffff
cmp rbx, rax
mov r14d, 0xffffffff
cmovb r14, rbx
mov qword [rsp + 0x38], r14
mov rsi, rbx
mov r12, r14
mov r15, qword [rsp + 0x60]
mov r13, r14
xor ecx, ecx
call qword [sym.imp.kernel32.dll_SetLastError]
mov rcx, r15
mov edx, r13d
call qword [sym.imp.kernel32.dll_GetSystemDirectoryW]
mov ebp, eax
test eax, eax
jne 0x1400b6b3c
call qword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jne 0x1400b6bce
mov edi, ebp
cmp r13, rdi
jne 0x1400b6ac0
call qword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400b6e1d
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
cmovae r13, rax
mov rdi, r13
cmp rdi, 0x201
jb 0x1400b6acf
jmp 0x1400b6ae0
lea rcx, [rsp + 0x28]
mov rdx, r14
mov r8, rdi
call fcn.1400f0bc0
mov rbx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x60], rax
jmp 0x1400b6aef
cmp r12, rdi
jb 0x1400b6e35
test ebp, ebp
je 0x1400b6c15
lea r14, [rdi + rdi]
movzx eax, byte [0x140152279]
xor ecx, ecx
mov rdx, r14
call fcn.1400baaa0
test rax, rax
je 0x1400b6e47
mov rbx, rax
jmp 0x1400b6c1d
call qword [sym.imp.kernel32.dll_GetLastError]
mov edi, eax
shl rdi, 0x20
or rdi, 2
cmp qword [rsp + 0x28], 0
je 0x1400b6bfa
mov r8, qword [rsp + 0x30]
mov rcx, qword [0x1401521d8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [rsp + 0x58]
mov qword [rcx + 8], rdi
movabs rax, 0x8000000000000000
mov qword [rcx], rax
jmp 0x1400b6e09
mov ebx, 2
xor r14d, r14d
mov rcx, rbx
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
cmp qword [rsp + 0x28], 0
je 0x1400b6c47
mov r8, qword [rsp + 0x30]
mov rcx, qword [0x1401521d8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
lea r15, [0x1401172ff]
xor ebp, ebp
lea r12, [0x140117307]
xor esi, esi
xor r14d, r14d
jmp 0x1400b6c8f
xor ecx, ecx
mov r13d, esi
cmp rdi, qword [rsp + 0x40]
je 0x1400b6d41
mov esi, ecx
mov word [rbx + rdi*2], r13w
inc rdi
mov qword [rsp + 0x50], rdi
test r15, r15
je 0x1400b6d10
test si, si
jne 0x1400b6c70
cmp r15, r12
je 0x1400b6d10
movzx r13d, byte [r15]
test r13b, r13b
js 0x1400b6cae
inc r15
xor ecx, ecx
jmp 0x1400b6c75
mov eax, r13d
and eax, 0x1f
movzx edx, byte [r15 + 1]
and edx, 0x3f
cmp r13b, 0xdf
jbe 0x1400b6d8f
movzx ecx, byte [r15 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp r13b, 0xf0
jb 0x1400b6da2
movzx r13d, byte [r15 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and r13d, 0x3f
or r13d, ecx
or r13d, eax
cmp r13d, 0x110000
jne 0x1400b6ddf
nop word cs:[rax + rax]
cmp r14, 1
je 0x1400b6df3
mov ebp, 1
xor r15d, r15d
mov r14d, 1
mov r13d, 0
mov r8d, 0
cmp rdi, qword [rsp + 0x40]
jne 0x1400b6c82
jmp 0x1400b6d75
lea rax, [0x1401172ff]
sub rax, r15
add rax, 0xa
movabs rdx, 0xaaaaaaaaaaaaaaab
mul rdx
mov r8, rdx
shr r8, 1
cmp cx, 1
mov rax, rbp
adc rax, 0xffffffffffffffff
sub r8, rax
inc r8
mov esi, ecx
inc r8
lea rcx, [rsp + 0x40]
mov rdx, rdi
call fcn.1400f0bc0
mov rbx, qword [rsp + 0x48]
jmp 0x1400b6c82
add r15, 2
shl eax, 6
or eax, edx
mov r13d, eax
xor ecx, ecx
jmp 0x1400b6c75
add r15, 3
shl eax, 0xc
or ecx, eax
mov r13d, ecx
cmp r13d, 0xffff
jbe 0x1400b6dec
lea eax, [r13 + 0xff0000]
shr eax, 0xa
or eax, 0xd800
and r13d, 0x3ff
or r13d, 0xdc00
mov ecx, r13d
mov r13d, eax
jmp 0x1400b6c75
add r15, 4
cmp r13d, 0xffff
ja 0x1400b6db7
xor ecx, ecx
jmp 0x1400b6c75
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x58]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rcx], xmm0
add rsp, 0x468
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.internal_error:_entered_unreachable_codeEndOfInputC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001funtrusted_0.9.0_src_reader.rscalled__Result::unwrap____on_an__Err__value
lea r8, str.C:Users_runneradmin.rustup_toolchains_nightly_x86_64_pc_windows_msvclib_rustlib_src_rustlibrary_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call fcn.1400efbc0
lea r8, str.C:Users_runneradmin.rustup_toolchains_nightly_x86_64_pc_windows_msvclib_rustlib_src_rustlibrary_std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, rdi
mov rdx, r12
call fcn.1400efbb0
mov ecx, 2
mov rdx, r14
call fcn.1400ef8e0
int3