Function at 0x1400c0e10
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 r12, rdx
call fcn.14008ea90
mov edx, 1
lea rcx, [0x1400b9260]
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, [0x1401e1718]
call fcn.1400b8af0
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.1400b8af0
mov r9d, 0x40000000
mov r8d, 2
mov dword [rsp + 0x20], 0x20000000
mov edx, 0xfffffff4
lea rcx, str.GIT_REDIRECT_STDERR
call fcn.1400b8af0
call qword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 0x3a7bffff
jbe 0x1400c0ec8
or dword [0x14023ef10], 2
or dword [0x1401c4550], 2
mov rax, qword [0x140207860]
mov rcx, qword [r12]
mov dword [rax], 1
call sub.msvcrt.dll_wcslen
cmp dword [rsp + 0x90], 1
mov esi, eax
jle 0x1400c1128
mov eax, dword [rsp + 0x90]
lea rbx, [r12 + 8]
sub eax, 2
lea rdi, [r12 + rax*8 + 0x10]
jmp 0x1400c0f11
add rbx, 8
cmp rbx, rdi
je 0x1400c0f37
mov rcx, qword [rbx]
call sub.msvcrt.dll_wcslen
mov rdx, rax
movsxd rax, esi
cmp rdx, rax
jb 0x1400c0f08
mov rcx, qword [rbx]
add rbx, 8
call sub.msvcrt.dll_wcslen
mov esi, eax
cmp rbx, rdi
jne 0x1400c0f11
lea r13d, [rsi + rsi*2 + 1]
movsxd r13, r13d
mov rcx, r13
call fcn.1400d2260
mov rbx, rax
test rax, rax
je 0x1400c1178
mov eax, dword [rsp + 0x90]
lea r15d, [rax + 1]
movsxd r15, r15d
lea rsi, [r15*8]
mov rcx, rsi
mov qword [rsp + 0x38], rsi
call fcn.1400a5fa0
mov rcx, rsi
mov rbp, rax
call fcn.1400a5fa0
mov edx, dword [rsp + 0x90]
mov rsi, rax
test edx, edx
jle 0x1400c1170
movsxd rdi, dword [rsp + 0x90]
mov r15d, 1
jmp 0x1400c0fab
mov r15, rax
mov rdx, qword [r12 + r15*8 - 8]
mov r8, r13
mov rcx, rbx
call fcn.1400bb580
lea r8d, [rax + 1]
movsxd r14, r8d
mov rcx, r14
call fcn.1400d2260
mov rcx, rax
test rax, rax
je 0x1400c1178
mov r8, r14
mov rdx, rbx
call sub.msvcrt.dll_memcpy
mov qword [rsi + r15*8 - 8], rax
mov qword [rbp + r15*8 - 8], rax
lea rax, [r15 + 1]
cmp rdi, r15
jne 0x1400c0fa8
shl rdi, 3
lea rax, [rsi + rdi]
add rdi, rbp
mov qword [rax], 0
mov rcx, rbx
mov qword [rdi], 0
call fcn.1400d2670
call fcn.1400bccb0
lea rcx, str.PERL5LIB
call fcn.1400a5f80
mov rbx, qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x14023e060]
mov qword [0x14023ef18], rax
call rbx
lea rcx, [0x14023eee0]
call rbx
mov rcx, qword [0x140207820]
call rbx
call qword [fcn.1401bea10]
mov r12, qword [fcn.1401bee20]
xor ecx, ecx
mov dword [rax], 0x8000
call r12
mov rdi, qword [sym.imp.msvcrt.dll__fileno]
mov rcx, rax
call rdi
mov rbx, qword [sym.imp.msvcrt.dll__setmode]
mov edx, 0x8000
mov ecx, eax
call rbx
mov ecx, 1
call r12
mov rcx, rax
call rdi
mov edx, 0x8000
mov ecx, eax
call rbx
mov ecx, 2
call r12
mov rcx, rax
call rdi
mov edx, 0x8000
mov ecx, eax
call rbx
mov rbx, rsi
call fcn.1400c2dd0
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov ecx, dword [rsp + 0x90]
mov rdx, rbp
mov dword [0x14023eec8], eax
call fcn.1401bf7c0
mov r12d, eax
mov rax, qword [rsp + 0x38]
lea rdi, [rsi + rax - 8]
mov eax, dword [rsp + 0x90]
test eax, eax
jle 0x1400c1101
nop
mov rcx, qword [rbx]
add rbx, 8
call fcn.1400d2670
cmp rdi, rbx
jne 0x1400c10f0
mov rcx, rsi
call fcn.1400d2670
mov rcx, rbp
call fcn.1400d2670
mov eax, r12d
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.1400d2260
mov rbx, rax
test rax, rax
je 0x1400c1178
mov eax, dword [rsp + 0x90]
lea r15d, [rax + 1]
movsxd r15, r15d
mov rax, r15
shr rax, 0x3d
je 0x1400c0f61
mov r8, r15
mov edx, 8
lea rcx, [0x1401e14a8]
call fcn.1400a08a0
nop
mov rdi, rbp
jmp 0x1400c0fff
call fcn.1400b8aa0
nop
nop