Function at 0x1400d8560
Capabilities:
Get common file path

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov dword [rsp + 0x90], ecx
mov rbp, rdx
call fcn.1400a07e0
mov edx, 1
lea rcx, [0x1400d0ab0]
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
mov dword [rsp + 0x20], pe_nt_image_headers64
xor r8d, r8d
mov r9d, 0x80000000
mov edx, 0xfffffff6
lea rcx, [0x140205dc8]
call fcn.1400cff50
mov r9d, 0x40000000
mov r8d, 1
mov dword [rsp + 0x20], pe_nt_image_headers64
mov edx, 0xfffffff5
lea rcx, str.GIT_REDIRECT_STDOUT
call fcn.1400cff50
mov r9d, 0x40000000
mov r8d, 2
mov dword [rsp + 0x20], 0x20000000
mov edx, 0xfffffff4
lea rcx, str.GIT_REDIRECT_STDERR
call fcn.1400cff50
call qword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 0x3a7bffff
jbe 0x1400d8618
or dword [0x140256d70], 2
or dword [0x1401e4950], 2
mov rax, qword [0x14022c470]
mov rcx, qword [rbp]
mov dword [rax], 1
call sub.msvcrt.dll_wcslen
cmp dword [rsp + 0x90], 1
mov esi, eax
jle 0x1400d8868
mov eax, dword [rsp + 0x90]
lea rbx, [rbp + 8]
sub eax, 2
lea rdi, [rbp + rax*8 + 0x10]
jmp 0x1400d8661
add rbx, 8
cmp rbx, rdi
je 0x1400d8687
mov rcx, qword [rbx]
call sub.msvcrt.dll_wcslen
mov rdx, rax
movsxd rax, esi
cmp rdx, rax
jb 0x1400d8658
mov rcx, qword [rbx]
add rbx, 8
call sub.msvcrt.dll_wcslen
mov esi, eax
cmp rbx, rdi
jne 0x1400d8661
lea r13d, [rsi + rsi*2 + 1]
movsxd r13, r13d
mov rcx, r13
call fcn.1400eab00
mov rbx, rax
test rax, rax
je 0x1400d88d0
mov eax, dword [rsp + 0x90]
lea r15d, [rax + 1]
movsxd r15, r15d
lea rdi, [r15*8]
mov rcx, rdi
mov qword [rsp + 0x38], rdi
call fcn.1400bd0a0
mov rcx, rdi
mov r12, rax
call fcn.1400bd0a0
mov rdi, rax
movsxd rsi, dword [rsp + 0x90]
mov r15d, 1
jmp 0x1400d86eb
mov r15, rax
mov rdx, qword [rbp + r15*8 - 8]
mov r8, r13
mov rcx, rbx
call fcn.1400d2b10
lea r8d, [rax + 1]
movsxd r14, r8d
mov rcx, r14
call fcn.1400eab00
mov rcx, rax
test rax, rax
je 0x1400d88d0
mov r8, r14
mov rdx, rbx
call sub.msvcrt.dll_memcpy
mov qword [rdi + r15*8 - 8], rax
mov qword [r12 + r15*8 - 8], rax
lea rax, [r15 + 1]
cmp rsi, r15
jne 0x1400d86e8
shl rsi, 3
lea rax, [rdi + rsi]
add rsi, r12
mov qword [rax], 0
mov rcx, rbx
mov qword [rsi], 0
call fcn.1400eaf30
call fcn.1400d4270
lea rcx, str.PERL5LIB
call fcn.1400bd080
mov rbx, qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x140255ec0]
mov qword [0x140256d78], rax
call rbx
lea rcx, [0x140256d40]
call rbx
mov rcx, qword [0x14022c440]
call rbx
call qword [fcn.1401de490]
mov rbp, qword [fcn.1401de8b0]
xor ecx, ecx
mov dword [rax], 0x8000
call rbp
mov rsi, qword [sym.imp.msvcrt.dll__fileno_1]
mov rcx, rax
call rsi
mov rbx, qword [sym.imp.msvcrt.dll__setmode]
mov edx, 0x8000
mov ecx, eax
call rbx
mov ecx, 1
call rbp
mov rcx, rax
call rsi
mov edx, 0x8000
mov ecx, eax
call rbx
mov ecx, 2
call rbp
mov rcx, rax
call rsi
mov edx, 0x8000
mov ecx, eax
call rbx
mov rbx, rdi
call fcn.1400da720
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov ecx, dword [rsp + 0x90]
mov rdx, r12
mov dword [0x140256d28], eax
call fcn.1401df2d0
mov ebp, eax
mov rax, qword [rsp + 0x38]
lea rsi, [rdi + rax - 8]
mov eax, dword [rsp + 0x90]
test eax, eax
jle 0x1400d8841
nop word [rax + rax]
mov rcx, qword [rbx]
add rbx, 8
call fcn.1400eaf30
cmp rsi, rbx
jne 0x1400d8830
mov rcx, rdi
call fcn.1400eaf30
mov rcx, r12
call fcn.1400eaf30
mov eax, ebp
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea r13d, [rax + rax*2 + 1]
movsxd r13, r13d
mov rcx, r13
call fcn.1400eab00
mov rbx, rax
test rax, rax
je 0x1400d88d0
mov eax, dword [rsp + 0x90]
lea r8d, [rax + 1]
movsxd r8, r8d
mov rax, r8
shr rax, 0x3d
jne 0x1400d88d5
lea rdi, [r8*8]
mov rcx, rdi
mov qword [rsp + 0x38], rdi
call fcn.1400bd0a0
mov rcx, rdi
mov rsi, rax
call fcn.1400bd0a0
cmp dword [rsp + 0x90], 1
mov r12, rsi
mov rdi, rax
jne 0x1400d873f
jmp 0x1400d86d4
call fcn.1400cff00
mov edx, 8
lea rcx, [0x140205b58]
call fcn.1400b6950
nop
nop word [rax + rax]