Function at 0x1400d7470
Capabilities:
Check if file exists
Read file on windows

Disassembly:
push r14
mov eax, 0x6030
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.1401d92a0
sub rsp, rax
mov rbp, qword [0x14022c040]
mov rax, qword [rbp]
mov qword [rsp + 0x6028], rax
mov rax, qword [0x14022c5d0]
mov rbx, r8
mov rsi, rcx
mov r13, rdx
mov r8d, dword [rax]
test r8d, r8d
je 0x1400d7450
call fcn.1400d1230
lea rdi, [rsp + 0x20]
mov r9d, 0xffffffff
mov rdx, r13
mov r8d, 0x1000
mov rcx, rdi
mov r12d, eax
call fcn.1400d25c0
test eax, eax
js 0x1400d72d0
mov r9d, r12d
mov r8d, 0x104
mov edx, eax
mov rcx, rdi
call fcn.1400d3b90
mov r13d, eax
test eax, eax
js 0x1400d72e2
call fcn.1400d1230
lea r12, [rsp + 0x2020]
mov r9d, 0xffffffff
mov rdx, rbx
mov r8d, 0x1000
mov rcx, r12
mov r14d, eax
call fcn.1400d25c0
test eax, eax
js 0x1400d72d0
mov r9d, r14d
mov r8d, 0x104
mov edx, eax
mov rcx, r12
call fcn.1400d3b90
test eax, eax
js 0x1400d72e2
test r13d, r13d
je 0x1400d71f9
movsxd rdx, r13d
lea ecx, [r13 - 1]
add rdx, rdx
add rcx, rcx
lea rax, [rdi + rdx]
lea rdx, [rsp + rdx + 0x1e]
sub rdx, rcx
nop word cs:[rax + rax]
nop word cs:[rax + rax]
nop
cmp word [rax - 2], 0x2f
jne 0x1400d71f0
mov ecx, 0x5c
mov word [rax - 2], cx
sub rax, 2
cmp rdx, rax
jne 0x1400d71e0
test rsi, rsi
je 0x1400d7299
mov r8, qword [0x140256108]
test r8, r8
je 0x1400d7390
mov rcx, rsi
mov rdx, rbx
call fcn.14000be60
mov rax, qword [0x140256108]
mov rax, qword [rax + 8]
mov rsi, qword [rax + 8]
test rsi, rsi
je 0x1400d7299
lea rdx, [0x140205d54]
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1400d7310
lea rdx, [0x140205d59]
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1400d7348
lea rdx, [0x140205d5d]
mov rcx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1400d7348
mov rax, qword [str.PF__]
lea rcx, str.ignoring_invalid_symlink_type__s_for__s
mov eax, dword [rax]
test eax, eax
jne 0x1400d7370
mov r8, rbx
mov rdx, rsi
call fcn.1400b6cc0
mov r8d, dword [0x140256d70]
mov rdx, rdi
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CreateSymbolicLinkW]
test al, al
je 0x1400d7327
mov rdx, r12
mov rcx, rdi
call fcn.1400d0e20
test eax, eax
je 0x1400d73b0
cmp eax, 2
je 0x1400d735f
xor eax, eax
jmp 0x1400d72e7
mov rbx, qword [sym.imp.msvcrt.dll__errno]
call rbx
cmp dword [rax], 0x22
je 0x1400d7380
mov eax, 0xffffffff
mov rdx, qword [rsp + 0x6028]
sub rdx, qword [rbp]
jne 0x1400d7461
add rsp, 0x6030
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov r8d, dword [0x140256d70]
mov rdx, rdi
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CreateSymbolicLinkW]
test al, al
jne 0x1400d72cc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, esi
mov rbx, rax
call fcn.1400d0b80
mov dword [rbx], eax
jmp 0x1400d72e2
mov r8d, dword [0x1401e4950]
mov rdx, rdi
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CreateSymbolicLinkW]
test al, al
je 0x1400d7327
call fcn.1400d1060
xor eax, eax
jmp 0x1400d72e7
call fcn.1401d81b8
mov rcx, rax
jmp 0x1400d728e
call rbx
mov dword [rax], 0x26
jmp 0x1400d72e2
xor edx, edx
lea rcx, str.symlink
call fcn.14000b870
mov qword [0x140256108], rax
mov r8, rax
jmp 0x1400d7212
lea r13, [rsp + 0x4020]
xor r9d, r9d
mov edx, 0x1000
mov rcx, r12
mov r8, r13
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
test eax, eax
je 0x1400d7327
cmp eax, 0xfff
jg 0x1400d7327
mov rcx, rdi
movsxd rsi, eax
call sub.msvcrt.dll_wcslen
lea rcx, [rsi + rax + 0xe]
add rcx, rcx
call fcn.1400bd0a0
mov rdx, r13
lea rcx, [rax + 0x18]
mov rbx, rax
mov qword [rax + 8], rcx
call sub.msvcrt.dll_wcscpy
mov rax, qword [rbx + 8]
mov rdx, rdi
lea rcx, [rax + rsi*2 + 2]
lea rsi, [0x140256d40]
mov qword [rbx + 0x10], rcx
call sub.msvcrt.dll_wcscpy
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [0x140256d68]
mov rcx, rsi
mov qword [rbx], rax
mov qword [0x140256d68], rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
jmp 0x1400d72e7
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0x28
jmp 0x1400d72e2
call fcn.1401d96b0
nop
nop word [rax + rax]
push r14
mov eax, 0x2040
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.1401d92a0
sub rsp, rax
mov rbp, qword [0x14022c040]
mov rax, qword [rbp]
mov qword [rsp + 0x2038], rax
xor eax, eax
mov eax, dword [0x1401e4954]
mov qword [rsp + 0x20], rcx
mov rbx, rcx
mov rsi, rdx
mov rdi, r8
test eax, eax
jne 0x1400d7618
xor r13d, r13d
test rbx, rbx
je 0x1400d74d7
lea rdx, [0x140205cbe]
mov rcx, rbx
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1400d7710
mov edx, 1
mov rcx, rbx
call fcn.1400d3780
test eax, eax
je 0x1400d7730
call fcn.1400d1230
lea r12, [rsp + 0x30]
mov r9d, 0xffffffff
mov rdx, rbx
mov r8d, 0x1000
mov rcx, r12
mov r14d, eax
call fcn.1400d25c0
test eax, eax
js 0x1400d75d8
mov r9d, r14d
mov r8d, 0x104
mov edx, eax
mov rcx, r12
call fcn.1400d3b90
test eax, eax
js 0x1400d75ea
lea r14, [rsp + 0x28]
mov r9d, 0xffffffff
mov r8d, 4
mov rdx, rsi
mov rcx, r14
call fcn.1400d25c0
test eax, eax
js 0x1400d75ea
test r13d, r13d
je 0x1400d76f0
mov rdx, rbx
lea rcx, [0x140205cba]
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x1400d758a
mov rdx, rbx
lea rcx, [0x140205cbe]
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x1400d7760
xor edx, edx
mov rcx, r12
call fcn.1400d10f0
test eax, eax
jne 0x1400d779e
mov r8, rdi
mov rdx, r14
mov rcx, r12
call qword [sym.imp.msvcrt.dll__wfreopen]
mov rsi, rax
test rax, rax
je 0x1400d75ea
mov edx, 1
mov rcx, r12
call fcn.1400d10f0
test eax, eax
je 0x1400d75ec
mov rdx, rbx
lea rcx, str.could_not_mark__s_as_hidden.
call fcn.1400b6cc0
jmp 0x1400d75ec
mov rbx, qword [sym.imp.msvcrt.dll__errno]
call rbx
cmp dword [rax], 0x22
je 0x1400d7791
xor esi, esi
mov rax, qword [rsp + 0x2038]
sub rax, qword [rbp]
jne 0x1400d77b7
mov rax, rsi
add rsp, 0x2040
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
lea rcx, [rsp + 0x20]
call fcn.1400db0f0
mov rax, qword [rsp + 0x20]
movzx edx, byte [rax]
test dl, dl
je 0x1400d74b8
mov r12, rax
jmp 0x1400d7659
mov rcx, rax
cmp dl, 0x5c
je 0x1400d7660
add rax, 1
mov qword [rsp + 0x20], rax
movzx edx, byte [rcx + 1]
test dl, dl
je 0x1400d7688
cmp dl, 0x2f
jne 0x1400d7640
nop
add rax, 1
mov qword [rsp + 0x20], rax
movsx ecx, byte [rax]
cmp cl, 0x2f
je 0x1400d7660
cmp ecx, 0x5c
je 0x1400d7660
test cl, cl
je 0x1400d7688
mov r12, rax
mov rcx, rax
jmp 0x1400d7648
mov eax, dword [0x1401e4954]
cmp eax, 1
je 0x1400d7780
cmp eax, 2
jne 0x1400d77b2
mov r8d, 4
mov rdx, r12
lea rcx, str..git
call qword [sym.imp.msvcrt.dll__strnicmp_1]
test eax, eax
jne 0x1400d74b8
movzx eax, byte [r12 + 4]
mov r13d, 1
test al, al
je 0x1400d74bb
cmp al, 0x2f
sete r13b
cmp al, 0x5c
sete al
or r13d, eax
movzx r13d, r13b
jmp 0x1400d74bb
mov r8, rdi
mov rdx, r14
mov rcx, r12
call qword [sym.imp.msvcrt.dll__wfreopen]
mov rsi, rax
jmp 0x1400d75ec
lea r12, [rsp + 0x30]
lea rdx, [0x140205d68]
mov rcx, r12
call sub.msvcrt.dll_wcscpy
jmp 0x1400d7533
mov ebx, 2
test rsi, rsi
je 0x1400d7753
mov edx, 0x77
mov rcx, rsi
call sub.msvcrt.dll_strchr
cmp rax, 1
sbb ebx, ebx
and ebx, 0xffffffec
add ebx, 0x16
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], ebx
jmp 0x1400d75ea
xor edx, edx
mov rcx, rbx
call fcn.1400d6710
test eax, eax
jne 0x1400d759c
jmp 0x1400d758a
xor r13d, r13d
cmp byte [r12], 0x2e
sete r13b
jmp 0x1400d74bb
call rbx
mov dword [rax], 0x26
jmp 0x1400d75ea
mov rdx, rbx
lea rcx, str.could_not_unhide__s
call fcn.1400b6bf0
jmp 0x1400d75ea
call fcn.1400d0120
call fcn.1401d96b0
nop
nop dword [rax]