Function at 0x1400a78f0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0xe8
mov qword [rsp + 0xd0], 0xfffffffffffffffe
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, 1
lea rdx, str.AutoProtect
lea rcx, str.ImageGuardian
call fcn.14002da80
test eax, eax
jne 0x1400a7937
xor al, al
jmp 0x1400a7c38
call fcn.1400a6bb0
movzx eax, al
test eax, eax
je 0x1400a794f
call fcn.1400a6b80
movzx eax, al
test eax, eax
jne 0x1400a7956
xor al, al
jmp 0x1400a7c38
mov rcx, qword [rsp + 0xf0]
call fcn.140003fd0
test eax, eax
jne 0x1400a796e
xor al, al
jmp 0x1400a7c38
mov rdx, qword [rsp + 0xf0]
lea rcx, [rsp + 0x38]
call fcn.140007200
nop
lea r8, [0x1402eeb24]
lea rdx, [0x1402eeb2c]
lea rcx, [rsp + 0x38]
call fcn.140006760
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x38]
mov rcx, qword [rsp + 0x50]
call fcn.140007200
mov qword [rsp + 0x58], rax
mov rdx, qword [rsp + 0x58]
lea rcx, [rsp + 0x70]
call fcn.140029340
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x68], rax
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x38]
call fcn.140007070
nop
lea rcx, [rsp + 0x70]
call fcn.1400031c0
lea rcx, [rsp + 0x40]
call fcn.140004410
nop
mov r8d, 3
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x38]
call fcn.1400581c0
mov qword [rsp + 0x78], rax
lea rdx, [0x1402eeb38]
mov rcx, qword [rsp + 0x78]
call fcn.140054c10
mov byte [rsp + 0x30], al
lea rcx, [rsp + 0x80]
call fcn.1400031c0
movzx eax, byte [rsp + 0x30]
test eax, eax
je 0x1400a7b34
mov r8d, 4
lea rdx, [0x1402ee334]
lea rcx, [rsp + 0x38]
call fcn.1400066b0
mov dword [rsp + 0x48], eax
mov r8d, dword [rsp + 0x48]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x38]
call fcn.1400581c0
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x90], rax
mov r8w, 0x5c
mov rdx, qword [rsp + 0x90]
lea rcx, [rsp + 0xa8]
call fcn.1400ab580
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xa0], rax
mov rdx, qword [rsp + 0xa0]
lea rcx, [rsp + 0x40]
call fcn.140007070
nop
lea rcx, [rsp + 0xa8]
call fcn.1400031c0
nop
lea rcx, [rsp + 0xb0]
call fcn.1400031c0
lea rcx, [rsp + 0x40]
call fcn.140003250
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400a7b2f
mov byte [rsp + 0x31], 0
lea rcx, [rsp + 0x40]
call fcn.1400031c0
nop
lea rcx, [rsp + 0x38]
call fcn.1400031c0
movzx eax, byte [rsp + 0x31]
jmp 0x1400a7c38
jmp 0x1400a7c0e
lea rcx, [rsp + 0x38]
call fcn.140003fd0
cmp eax, 3
jl 0x1400a7bed
mov edx, 1
lea rcx, [rsp + 0x38]
call fcn.140054e90
movzx eax, ax
cmp eax, 0x3a
jne 0x1400a7bed
mov r8d, 3
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x38]
call fcn.1400581c0
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0xc0], rax
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0x40]
call fcn.140007070
nop
lea rcx, [rsp + 0xc8]
call fcn.1400031c0
lea rcx, [rsp + 0x40]
call fcn.140003250
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400a7beb
mov byte [rsp + 0x32], 0
lea rcx, [rsp + 0x40]
call fcn.1400031c0
nop
lea rcx, [rsp + 0x38]
call fcn.1400031c0
movzx eax, byte [rsp + 0x32]
jmp 0x1400a7c38
jmp 0x1400a7c0e
mov byte [rsp + 0x33], 0
lea rcx, [rsp + 0x40]
call fcn.1400031c0
nop
lea rcx, [rsp + 0x38]
call fcn.1400031c0
movzx eax, byte [rsp + 0x33]
jmp 0x1400a7c38
mov dl, 1
lea rcx, [rsp + 0x40]
call fcn.1400a7520
mov byte [rsp + 0x34], al
lea rcx, [rsp + 0x40]
call fcn.1400031c0
nop
lea rcx, [rsp + 0x38]
call fcn.1400031c0
movzx eax, byte [rsp + 0x34]
add rsp, 0xe8
ret