Function at 0x4b07d0
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.0056fc10
sub rsp, rax
mov rbp, qword [sym.imp.libssp_0.dll___stack_chk_guard]
mov rax, qword [rbp]
mov qword [rsp + 0x6028], rax
xor eax, eax
mov rax, qword [0x005aae60]
mov rbx, r8
mov r14, rcx
mov r8d, dword [rax]
test r8d, r8d
je 0x4b0b6e
lea r12, [rsp + 0x20]
mov r9d, 0xffffffff
mov r8d, 0x1000
mov esi, dword [0x00605de8]
mov rcx, r12
call fcn.004ad7d0
mov edx, eax
test eax, eax
js 0x4b09c0
mov r9d, esi
mov r8d, 0x104
mov rcx, r12
call fcn.004af110
mov esi, eax
test eax, eax
js 0x4b09d2
mov rdx, rbx
lea r13, [rsp + 0x2020]
mov r9d, 0xffffffff
mov r8d, 0x1000
mov rcx, r13
mov edi, dword [0x00605de8]
call fcn.004ad7d0
mov edx, eax
test eax, eax
js 0x4b09c0
mov r9d, edi
mov r8d, 0x104
mov rcx, r13
call fcn.004af110
test eax, eax
js 0x4b09d2
test esi, esi
je 0x4b08d9
movsxd rdx, esi
lea ecx, [rsi - 1]
add rdx, rdx
add rcx, rcx
lea rax, [r12 + rdx]
lea rdx, [rsp + rdx + 0x1e]
sub rdx, rcx
nop dword [rax]
cmp word [rax - 2], 0x2f
jne 0x4b08d0
mov ecx, 0x5c
mov word [rax - 2], cx
sub rax, 2
cmp rax, rdx
jne 0x4b08c0
test r14, r14
je 0x4b098a
mov r8, qword [0x005ede28]
test r8, r8
je 0x4b0ab0
mov rcx, r14
mov rdx, rbx
call fcn.0040d560
mov rax, qword [0x005ede28]
mov rax, qword [rax + 8]
mov r14, qword [rax + 8]
test r14, r14
je 0x4b098a
mov ecx, 5
lea rdi, [0x00590c86]
mov rsi, r14
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
je 0x4b0a00
mov ecx, 4
lea rdi, [0x00590c8b]
mov rsi, r14
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
je 0x4b0a38
mov ecx, 0xa
lea rdi, [0x00590c8f]
mov rsi, r14
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
je 0x4b0a38
call fcn.00426640
lea rcx, [0x00590b47]
test eax, eax
je 0x4b0a92
mov r8, rbx
mov rdx, r14
call fcn.00494a30
mov r8d, dword [0x005ee9f0]
mov rdx, r12
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CreateSymbolicLinkW]
test al, al
je 0x4b0a17
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
and eax, 0x410
cmp eax, 0x400
je 0x4b0a60
xor eax, eax
jmp 0x4b09d7
mov rbx, qword [sym.imp.msvcrt.dll__errno]
call rbx
cmp dword [rax], 0x22
je 0x4b0a80
mov eax, 0xffffffff
mov rbx, qword [rsp + 0x6028]
xor rbx, qword [rbp]
jne 0x4b0b84
add rsp, 0x6030
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
mov r8d, dword [0x005ee9f0]
mov rdx, r12
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CreateSymbolicLinkW]
test al, al
jne 0x4b09ba
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r12d, eax
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, r12d
mov rbx, rax
call fcn.004abd60
mov dword [rbx], eax
jmp 0x4b09d2
mov r8d, dword [0x005765d8]
mov rdx, r12
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CreateSymbolicLinkW]
test al, al
je 0x4b0a17
call fcn.004ac230
xor eax, eax
jmp 0x4b09d7
mov rdx, r13
mov rcx, r12
call fcn.004ac000
test eax, eax
je 0x4b0acd
cmp eax, 2
je 0x4b0a4f
xor eax, eax
jmp 0x4b09d7
call rbx
mov dword [rax], 0x26
mov eax, 0xffffffff
jmp 0x4b09d7
lea rcx, str.ignoring_invalid_symlink_type__s_for__s
call fcn.0056e6a8
mov rcx, rax
jmp 0x4b097f
xor edx, edx
lea rcx, str.symlink
call fcn.0040d060
mov qword [0x005ede28], rax
mov r8, rax
jmp 0x4b08f2
lea r14, [rsp + 0x4020]
xor r9d, r9d
mov edx, 0x1000
mov rcx, r13
mov r8, r14
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
test eax, eax
je 0x4b0a17
cmp eax, 0xfff
jg 0x4b0a17
mov rcx, r12
movsxd rsi, eax
call sub.msvcrt.dll_wcslen
lea rcx, [rsi + rax + 0xe]
add rcx, rcx
call fcn.004996e0
mov rdx, r14
lea rcx, [rax + 0x18]
mov rbx, rax
mov qword [rax + 8], rcx
call sub.msvcrt.dll_wcscpy
mov rax, qword [rbx + 8]
mov rdx, r12
lea rcx, [rax + rsi*2 + 2]
mov qword [rbx + 0x10], rcx
call sub.msvcrt.dll_wcscpy
lea rcx, [0x005ee9c0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rax, qword [0x005ee9e8]
lea rcx, [0x005ee9c0]
mov qword [rbx], rax
mov qword [0x005ee9e8], rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
jmp 0x4b09d7
call qword [sym.imp.msvcrt.dll__errno]
mov dword [rax], 0x28
mov eax, 0xffffffff
jmp 0x4b09d7
call sub.libssp_0.dll___stack_chk_fail
nop
nop word [rax + rax]