Function at 0x1400bccb0
Capabilities:
Check if file exists
Create directory
Get common file path
Get disk information
Get token membership
Query environment variable

Disassembly:
push r15
mov eax, 0x14078
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.1401be370
sub rsp, rax
mov rdi, qword [0x140207460]
lea rbx, str.TMPDIR
mov rcx, rbx
mov rax, qword [rdi]
mov qword [rsp + 0x14068], rax
xor eax, eax
call fcn.1400bbaa0
test rax, rax
jne 0x1400bcd0c
jmp 0x1400bd150
cmp dl, 0x5c
jne 0x1400bcd08
mov byte [rax], 0x2f
add rax, 1
movzx edx, byte [rax]
test dl, dl
jne 0x1400bcd00
lea rbx, [0x1401e11f5]
mov rcx, rbx
call fcn.1400bbaa0
test rax, rax
je 0x1400bd190
lea rbx, [0x1401e122d]
mov rcx, rbx
call fcn.1400bbaa0
test rax, rax
je 0x1400bd1c0
lea rsi, str.PLINK_PROTOCOL
mov rcx, rsi
call fcn.1400bbaa0
test rax, rax
je 0x1400bd0e0
lea r12, str.MSYSTEM
mov rcx, r12
call fcn.1400bbaa0
test rax, rax
je 0x1400bcde0
cmp byte [rax], 0
je 0x1400bcde0
lea rcx, [0x1401e1323]
call fcn.1400bbaa0
test rax, rax
je 0x1400bd100
lea rcx, str.MSYS
call fcn.1400bbaa0
mov rcx, rax
test rax, rax
je 0x1400bcfb0
lea rdx, str.winsymlinks:nativestrict
call sub.msvcrt.dll_strstr
test rax, rax
je 0x1400bcfb0
mov rax, qword [rsp + 0x14068]
sub rax, qword [rdi]
jne 0x1400bd456
add rsp, 0x14078
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbx
lea r13, str.PATH
lea rsi, [rsp + 0x4060]
call fcn.1400bbaa0
mov rcx, r13
mov rbx, rax
call fcn.1400bbaa0
lea r8, str.MINGW_d
mov edx, 0x8000
mov rcx, rsi
mov r9d, 0x40
mov rbp, rax
call fcn.1400a7010
mov r8d, 1
mov rdx, rsi
mov rcx, r12
call fcn.1400c6200
test rbx, rbx
je 0x1400bcfc8
mov r9, rbx
lea r8, str._s_bin_
mov edx, 0x8000
mov rcx, rsi
call fcn.1400a7010
mov r12d, 0x8000
movsxd rbx, eax
sub r12, rbx
lea r14, [rsi + rbx]
mov rax, qword [sym.imp.msvcrt.dll__wpgmptr]
lea r15, [rsp + 0xc060]
mov r8d, 0x8000
mov rcx, r15
mov rax, qword [rax]
mov rdx, qword [rax]
call fcn.1400bb580
cdqe
sub rax, 1
cmp rax, 0x7ffe
ja 0x1400bd04f
movzx eax, byte [rsp + 0xc060]
test al, al
je 0x1400bd04f
xor r8d, r8d
mov rdx, r15
jmp 0x1400bcebc
movzx eax, byte [rdx + 1]
add rdx, 1
test al, al
je 0x1400bced7
movsx ecx, al
cmp al, 0x5c
je 0x1400bcec8
cmp ecx, 0x2f
jne 0x1400bceb0
mov r8, rdx
movzx eax, byte [rdx + 1]
add rdx, 1
test al, al
jne 0x1400bcebc
test r8, r8
je 0x1400bd04f
sub r8, r15
cmp r8, 0x18
jbe 0x1400bd0b0
movabs rax, 0x343677676e696d5c
lea r9, [r8 - 0x19]
movabs rdx, 0x6365786562696c5c
lea rcx, [r15 + r9]
xor rax, qword [rcx]
xor rdx, qword [rcx + 8]
or rax, rdx
je 0x1400bcfd8
movabs r11, 0x343677676e696d5c
lea rdx, [r8 - 0xc]
lea rax, [r15 + rdx]
cmp qword [rax], r11
je 0x1400bd3d9
movabs r11, 0x323377676e696d5c
xor r11, qword [rcx]
movabs r10, 0x6365786562696c5c
xor r10, qword [rcx + 8]
or r11, r10
je 0x1400bd37e
movabs rcx, 0x323377676e696d5c
cmp qword [rax], rcx
je 0x1400bd3fd
lea r9, [r8 - 4]
lea rax, [r15 + r9]
cmp dword [rax], 0x646d635c
jne 0x1400bd40f
mov dword [rsp + 0x28], 0x40
lea r8, str._.smingw_d_bin_
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x20], r15
mov dword [rsp + 0x3c], r9d
call fcn.1400a7010
movsxd r11, eax
jmp 0x1400bd01c
mov rax, qword [0x1402079a0]
mov dword [rax], 0
jmp 0x1400bcdb6
mov r14, rsi
mov r12d, 0x8000
xor ebx, ebx
jmp 0x1400bce60
movabs rax, 0x5c6365786562696c
xor rax, qword [rcx + 9]
movabs rdx, 0x65726f632d746967
xor rdx, qword [rcx + 0x11]
or rax, rdx
jne 0x1400bcf19
mov qword [rsp + 0x20], r15
lea r8, str._.smingw64_bin_
mov rdx, r12
mov rcx, r14
mov dword [rsp + 0x3c], r9d
call fcn.1400a7010
movsxd r11, eax
mov qword [rsp + 0x20], r15
mov r9d, dword [rsp + 0x3c]
mov rdx, r12
lea rcx, [r14 + r11]
sub rdx, r11
lea r8, str._.susr_bin_
mov qword [rsp + 0x30], r11
call fcn.1400a7010
mov r11, qword [rsp + 0x30]
cdqe
add r11, rbx
lea rbx, [r11 + rax]
test rbp, rbp
je 0x1400bd088
mov edx, 0x8000
lea rcx, [rsi + rbx]
mov r9, rbp
sub rdx, rbx
lea r8, [0x1401e1320]
call fcn.1400a7010
mov r8d, 1
mov rdx, rsi
mov rcx, r13
call fcn.1400c6200
jmp 0x1400bcd74
test rbx, rbx
je 0x1400bd0a0
mov byte [rsp + rbx + 0x405f], 0
jmp 0x1400bd06f
mov byte [rsp + 0x4060], 0
jmp 0x1400bd06f
cmp r8, 0xb
jbe 0x1400bd3ee
movabs rdx, 0x343677676e696d5c
lea r9, [r8 - 0xc]
lea rax, [r15 + r9]
cmp qword [rax], rdx
je 0x1400bd3c7
mov rdx, r9
jmp 0x1400bcf58
xor r8d, r8d
lea rdx, [0x1401e1260]
mov rcx, rsi
call fcn.1400c6200
jmp 0x1400bcd5b
lea rbx, [0x1401e132a]
mov rcx, rbx
call fcn.1400bbaa0
test rax, rax
jne 0x1400bcd89
lea rcx, [0x1401e1333]
call fcn.1400bbaa0
test rax, rax
jne 0x1400bcd89
mov r8d, 1
lea rdx, str.C.UTF_8
mov rcx, rbx
call fcn.1400c6200
jmp 0x1400bcd89
lea rcx, [0x1401e11fa]
call fcn.1400bbaa0
mov rdx, rax
test rax, rax
je 0x1400bd342
mov rcx, rbx
mov r8d, 1
call fcn.1400c6200
mov rcx, rbx
call fcn.1400bbaa0
test rax, rax
je 0x1400bcd13
jmp 0x1400bcd0c
call qword [sym.imp.KERNEL32.dll_GetVersion]
xor r8d, r8d
cmp eax, 0x3ad6ffff
ja 0x1400bd318
lea rdx, str.cygwin
mov rcx, rbx
call fcn.1400c6200
jmp 0x1400bcd2b
lea rcx, str.HOMEDRIVE
call fcn.1400bbaa0
mov rsi, rax
test rax, rax
je 0x1400bd2e8
mov rax, qword [0x140207c90]
mov rcx, rsi
mov qword [rsp + 0x40], 0
lea rbp, [rsp + 0x40]
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], rax
call sub.msvcrt.dll_strlen
mov rdx, rsi
mov rcx, rbp
mov r8, rax
call fcn.14007e800
lea rcx, str.HOMEPATH
call fcn.1400bbaa0
mov rsi, rax
test rax, rax
je 0x1400bd2e0
mov rcx, rax
lea r12, [rsp + 0x2060]
call sub.msvcrt.dll_strlen
mov rdx, rsi
mov rcx, rbp
mov r8, rax
call fcn.14007e800
mov r13, qword [rsp + 0x50]
call fcn.1400b9ca0
mov r9d, 0xffffffff
mov r8d, 0x1000
mov rcx, r12
mov rdx, r13
mov esi, eax
call fcn.1400bb020
test eax, eax
js 0x1400bd35f
mov r9d, esi
mov r8d, 0x104
mov edx, eax
mov rcx, r12
call fcn.1400bc630
test eax, eax
js 0x1400bd2b0
lea rsi, [rsp + 0x60]
mov edx, 0x1000
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
je 0x1400bd2b0
mov rdx, r12
mov rcx, rsi
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
je 0x1400bd2e0
mov rcx, qword [rsp + 0x50]
call fcn.1400de320
test eax, eax
je 0x1400bd2e0
mov rdx, qword [rsp + 0x50]
mov rcx, rbx
mov r8d, 1
call fcn.1400c6200
mov rcx, rbp
call fcn.14007d7e0
jmp 0x1400bcd43
mov rcx, rbp
call fcn.14007d7e0
lea rcx, str.USERPROFILE
call fcn.1400bbaa0
test rax, rax
je 0x1400bcd43
mov r8d, 1
mov rdx, rax
mov rcx, rbx
call fcn.1400c6200
jmp 0x1400bcd43
mov rcx, rbx
lea rdx, str.xterm_256color
call fcn.1400c6200
xor r8d, r8d
lea rdx, str.truecolor
lea rcx, str.COLORTERM
call fcn.1400c6200
jmp 0x1400bcd2b
lea rcx, str.TEMP
call fcn.1400bbaa0
mov rdx, rax
test rax, rax
jne 0x1400bd168
jmp 0x1400bcd13
mov rsi, qword [sym.imp.msvcrt.dll__errno]
call rsi
cmp dword [rax], 0x22
jne 0x1400bd2b0
call rsi
mov dword [rax], 0x26
jmp 0x1400bd2b0
movabs r11, 0x5c6365786562696c
xor r11, qword [rcx + 9]
movabs r10, 0x65726f632d746967
xor r10, qword [rcx + 0x11]
or r11, r10
jne 0x1400bcf58
mov qword [rsp + 0x20], r15
lea r8, str._.smingw32_bin_
mov rdx, r12
mov rcx, r14
mov dword [rsp + 0x3c], r9d
call fcn.1400a7010
movsxd r11, eax
jmp 0x1400bd01c
cmp dword [rax + 8], 0x6e69625c
jne 0x1400bd0d5
jmp 0x1400bcffd
cmp dword [rax + 8], 0x6e69625c
jne 0x1400bcf34
mov r9, rdx
jmp 0x1400bcffd
cmp r8, 3
ja 0x1400bcf6b
jmp 0x1400bd04f
cmp dword [rax + 8], 0x6e69625c
mov r9, rdx
jne 0x1400bcf6b
jmp 0x1400bd3a3
cmp dword [rax], 0x6e69625c
je 0x1400bcf7f
cmp r8, 0x10
jbe 0x1400bd04f
lea r9, [r8 - 0x11]
lea rdx, str.libexecgit_core
mov r8d, 0x11
lea rcx, [r15 + r9]
mov qword [rsp + 0x30], r9
call sub.msvcrt.dll_memcmp
mov r9, qword [rsp + 0x30]
test eax, eax
je 0x1400bcf7f
jmp 0x1400bd04f
call fcn.1401be670
nop
nop dword [rax]