Function at 0x1400a1ae0
Capabilities:
Check if file exists
Delete file
Get file attributes

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
mov rax, qword [0x1401c1ab0]
mov eax, dword [rax]
test eax, eax
je 0x1400a1b18
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, qword [rcx]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x28], rax
lea r15, [rsp + 0xa0]
movsxd rbx, dword [rcx + 8]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x80]
mov byte [rsp + 0x60], 0
test rsi, rsi
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0
mov byte [rsp + 0x80], 0
mov qword [rsp + 0x90], r15
jne 0x1400a1b7d
test rbx, rbx
jne 0x1400a2069
cmp rbx, 0xf
mov qword [rsp + 0xb0], rbx
ja 0x1400a1f30
cmp rbx, 1
jne 0x1400a1f10
movzx eax, byte [rsi]
mov byte [rsp + 0xa0], al
lea rdi, [rsp + 0x90]
mov rax, r15
mov qword [rsp + 0x38], rdi
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x98], rbx
lea r13, [rsp + 0x70]
mov byte [rax + rbx], 0
lea r12, [rsp + 0x50]
call fcn.14009e330
lea rdi, [rsp + 0xc0]
test rax, rax
mov rsi, rax
lea rbp, [rsp + 0xb0]
mov qword [rsp + 0xb0], rdi
je 0x1400a205d
mov rcx, rax
call sub.msvcrt.dll_strlen
cmp rax, 0xf
mov rbx, rax
mov qword [rsp + 0x48], rax
ja 0x1400a1f90
cmp rax, 1
je 0x1400a1ef8
test rax, rax
jne 0x1400a2038
mov rdx, rdi
lea r13, [rsp + 0x70]
mov qword [rsp + 0xb8], rax
mov rcx, rbp
lea r12, [rsp + 0x50]
mov byte [rdx + rax], 0
mov r8, r13
mov rdx, r12
call fcn.14009e370
mov rcx, qword [rsp + 0xb0]
cmp rcx, rdi
je 0x1400a1c69
mov rax, qword [rsp + 0xc0]
lea rdx, [rax + 1]
call fcn.140171e60
mov rcx, qword [rsp + 0x90]
call fcn.14009e810
test rax, rax
mov rbx, rax
je 0x1400a1ed0
cmp byte [rax], 0
je 0x1400a1ed0
mov rcx, rax
mov qword [rsp + 0xb0], rdi
call sub.msvcrt.dll_strlen
cmp rax, 0xf
mov rsi, rax
mov qword [rsp + 0x48], rax
ja 0x1400a1ff0
cmp rax, 1
je 0x1400a1fe0
test rax, rax
jne 0x1400a203d
mov rdx, rdi
mov qword [rsp + 0xb8], rax
mov r8, rbp
mov rcx, r13
mov byte [rdx + rax], 0
mov rdx, r12
call fcn.14009e740
mov rcx, qword [rsp + 0xb0]
cmp rcx, rdi
je 0x1400a1cfb
mov rax, qword [rsp + 0xc0]
lea rdx, [rax + 1]
call fcn.140171e60
mov rcx, qword [rsp + 0x70]
mov r14, qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
call r14
cmp eax, 0xffffffff
je 0x1400a1ee8
test al, 0x10
jne 0x1400a1ee8
cmp byte [rbx], 0
je 0x1400a1ed0
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
nop
mov rcx, qword [rsp + 0x70]
call r14
cmp eax, 0xffffffff
je 0x1400a1d53
test al, 0x10
jne 0x1400a1d53
mov rcx, qword [rsp + 0x70]
call sub.msvcrt.dll_remove
test eax, eax
jne 0x1400a1ea8
xor ecx, ecx
call fcn.14009e810
test rax, rax
mov rsi, rax
mov qword [rsp + 0xb0], rdi
je 0x1400a2051
mov rcx, rax
call sub.msvcrt.dll_strlen
cmp rax, 0xf
mov rbx, rax
mov qword [rsp + 0x48], rax
ja 0x1400a1e60
cmp rax, 1
je 0x1400a1e48
test rax, rax
jne 0x1400a1ee0
mov rdx, rdi
mov qword [rsp + 0xb8], rax
mov r8, rbp
mov rcx, r13
mov byte [rdx + rax], 0
mov rdx, r12
call fcn.14009e740
mov rcx, qword [rsp + 0xb0]
cmp rcx, rdi
je 0x1400a1dd6
mov rax, qword [rsp + 0xc0]
lea rdx, [rax + 1]
call fcn.140171e60
cmp byte [rsi], 0
jne 0x1400a1d30
mov rcx, qword [rsp + 0x90]
cmp rcx, r15
je 0x1400a1dfd
mov rax, qword [rsp + 0xa0]
lea rdx, [rax + 1]
call fcn.140171e60
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x30]
cmp rcx, rax
je 0x1400a1e1d
mov rax, qword [rsp + 0x80]
lea rdx, [rax + 1]
call fcn.140171e60
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x28]
cmp rcx, rax
je 0x1400a1b00
mov rax, qword [rsp + 0x60]
lea rdx, [rax + 1]
call fcn.140171e60
jmp 0x1400a1b00
movzx edx, byte [rsi]
mov byte [rsp + 0xc0], dl
jmp 0x1400a1d9b
mov rdx, qword [rsp + 0x20]
xor r8d, r8d
mov rcx, rbp
call fcn.14015eb80
mov rcx, rax
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xc0], rax
mov rdx, rsi
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0xb0]
jmp 0x1400a1d9e
call qword [sym.imp.msvcrt.dll__errno]
mov eax, dword [rax]
cmp eax, 2
je 0x1400a1ed0
cmp eax, 0xd
je 0x1400a2042
mov ecx, 0x40
call fcn.140041d20
jmp 0x1400a1d53
mov ecx, 0x35
call fcn.140041d20
jmp 0x1400a1ddf
mov rcx, rdi
jmp 0x1400a1e88
xor ecx, ecx
call fcn.14009e810
jmp 0x1400a1c76
movzx edx, byte [rsi]
mov byte [rsp + 0xc0], dl
jmp 0x1400a1c24
test rbx, rbx
je 0x1400a1ba3
lea rax, [rsp + 0x90]
mov rcx, r15
mov qword [rsp + 0x38], rax
jmp 0x1400a1f6b
lea rax, [rsp + 0x90]
xor r8d, r8d
lea rdx, [rsp + 0xb0]
mov rcx, rax
mov qword [rsp + 0x38], rax
call fcn.14015eb80
mov rcx, rax
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0xa0], rax
mov r8, rbx
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov rbx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x90]
jmp 0x1400a1bb3
lea rdx, [rsp + 0x48]
xor r8d, r8d
mov rcx, rbp
lea r13, [rsp + 0x70]
lea r12, [rsp + 0x50]
call fcn.14015eb80
mov rcx, rax
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xc0], rax
mov rdx, rsi
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0xb0]
jmp 0x1400a1c27
movzx edx, byte [rbx]
mov byte [rsp + 0xc0], dl
jmp 0x1400a1cc0
lea rdx, [rsp + 0x48]
xor r8d, r8d
mov rcx, rbp
call fcn.14015eb80
mov rcx, rax
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xc0], rax
mov rdx, rbx
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0xb0]
jmp 0x1400a1cc3
mov rcx, rdi
jmp 0x1400a1fc2
mov rcx, rdi
jmp 0x1400a2018
mov ecx, 0x4b
call fcn.140041d20
jmp 0x1400a1ddf
lea rcx, [0x1401a2e10]
call fcn.140172e60
lea rcx, [0x1401a2e10]
call fcn.140172e60
lea rcx, [0x1401a2e10]
call fcn.140172e60
lea r13, [rsp + 0x70]
mov rbx, rax
lea r12, [rsp + 0x50]
mov rcx, r13
call fcn.14015c120
mov rcx, r12
call fcn.14015c120
mov rcx, rbx
call fcn.1400c2350
mov rcx, rbp
mov rbx, rax
call fcn.14015c120
mov rcx, qword [rsp + 0x38]
call fcn.14015c120
jmp 0x1400a2082