Function at 0x1401e8d10
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x98
mov rsi, rcx
mov rax, qword [0x1402b7040]
xor rax, rsp
mov qword [rsp + 0x90], rax
cmp byte [rcx + 0x17], 0
jns 0x1401e8d3a
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
setne cl
and eax, 0x10
shr eax, 4
test cl, al
jne 0x1401e8d67
cmp byte [rsi + 0x17], 0
mov rdx, rsi
jns 0x1401e8d5c
mov rdx, qword [rsi]
xor ecx, ecx
xor r8d, r8d
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
movaps xmm0, xmmword [0x140275a70]
lea rdi, [rsp + 0x70]
movaps xmmword [rdi], xmm0
movaps xmmword [rdi - 0x10], xmm0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rdi + 0x10], rax
mov qword [rdi], 0
mov dword [rdi - 8], 0xaaaaaa00
mov rcx, rdi
xor edx, edx
call fcn.1401e4830
xorps xmm0, xmm0
movups xmmword [rdi + 8], xmm0
lea rbx, [0x14027ab32]
lea r14, [rsp + 0x38]
mov rcx, r14
mov rdx, rbx
call fcn.1401e2910
lea rdx, str.fhkey
lea r8, [0x14027cdb1]
lea rdi, [rsp + 0x60]
mov rcx, rdi
call fcn.1401e3d20
mov rcx, r14
mov rdx, rax
call fcn.1401e2d90
mov rcx, r14
call fcn.1401e2610
lea rdx, [rsi + 0x30]
lea r14, [rsp + 0x38]
mov rcx, r14
call fcn.1401e2a60
lea rdx, [0x14027cb7e]
lea r8, [0x14027cb81]
mov rcx, rdi
call fcn.1401e3d20
mov rcx, r14
mov rdx, rax
call fcn.1401e2d90
mov rcx, r14
call fcn.1401e2610
lea r14, [rsp + 0x38]
mov rcx, r14
mov rdx, rbx
call fcn.1401e2910
lea rdx, [0x14027cdb2]
lea r8, [0x14027cdb5]
mov rcx, rdi
call fcn.1401e3d20
mov rcx, r14
mov rdx, rax
call fcn.1401e2d90
mov rcx, r14
call fcn.1401e2610
lea r14, [rsp + 0x38]
mov rcx, r14
mov rdx, rbx
call fcn.1401e2910
lea rdx, str.wciid
lea r8, [0x14027cdbb]
mov rcx, rdi
call fcn.1401e3d20
mov rcx, r14
mov rdx, rax
call fcn.1401e2d90
mov rcx, r14
call fcn.1401e2610
lea r14, [rsp + 0x38]
mov rcx, r14
mov rdx, rbx
call fcn.1401e2910
lea rdx, [0x14027cdbc]
lea r8, [0x14027cdbf]
mov rcx, rdi
call fcn.1401e3d20
mov rcx, r14
mov rdx, rax
call fcn.1401e2d90
mov rcx, r14
call fcn.1401e2610
lea r14, [rsp + 0x38]
mov rcx, r14
mov rdx, rbx
call fcn.1401e2910
lea rdx, str.uac_attempt
lea r8, [0x14027cdcb]
mov rcx, rdi
call fcn.1401e3d20
mov rcx, r14
mov rdx, rax
call fcn.1401e2d90
mov rcx, r14
call fcn.1401e2610
lea r14, [rsp + 0x38]
mov rcx, r14
mov rdx, rbx
call fcn.1401e2910
lea rdx, str.uac_last
lea r8, [0x14027cdd4]
mov rcx, rdi
call fcn.1401e3d20
mov rcx, r14
mov rdx, rax
call fcn.1401e2d90
mov rcx, r14
call fcn.1401e2610
mov edx, dword [rsi + 0x48]
lea rbx, [rsp + 0x20]
mov rcx, rbx
call fcn.140199fe0
lea r14, [rsp + 0x38]
mov rcx, r14
mov rdx, rbx
call fcn.1401e2a60
lea rdx, str.bb_mode
lea r8, [0x14027cb89]
mov rcx, rdi
call fcn.1401e3d20
mov rcx, r14
mov rdx, rax
call fcn.1401e2d90
mov rcx, r14
call fcn.1401e2610
cmp byte [rbx + 0x17], 0
jns 0x1401e8f9c
mov rcx, qword [rsp + 0x20]
call fcn.14019cac4
mov edx, dword [rsi + 0x4c]
lea rdi, [rsp + 0x20]
mov rcx, rdi
call fcn.140199fe0
lea rbx, [rsp + 0x38]
mov rcx, rbx
mov rdx, rdi
call fcn.1401e2a60
lea rdx, str.db_mode
lea r8, [0x14027cb91]
lea rcx, [rsp + 0x60]
call fcn.1401e3d20
mov rcx, rbx
mov rdx, rax
call fcn.1401e2d90
mov rcx, rbx
call fcn.1401e2610
cmp byte [rdi + 0x17], 0
jns 0x1401e8ff7
mov rcx, qword [rsp + 0x20]
call fcn.14019cac4
mov edx, dword [rsi + 0x50]
lea rdi, [rsp + 0x20]
mov rcx, rdi
call fcn.140200f00
lea rbx, [rsp + 0x38]
mov rcx, rbx
mov rdx, rdi
call fcn.1401e2a60
lea rdx, [0x14027cb92]
lea r8, [0x14027cb94]
lea rcx, [rsp + 0x60]
call fcn.1401e3d20
mov rcx, rbx
mov rdx, rax
call fcn.1401e2d90
mov rcx, rbx
call fcn.1401e2610
cmp byte [rdi + 0x17], 0
jns 0x1401e9052
mov rcx, qword [rsp + 0x20]
call fcn.14019cac4
mov edx, dword [rsi + 0x54]
lea rdi, [rsp + 0x20]
mov rcx, rdi
call fcn.140199fe0
lea rbx, [rsp + 0x38]
mov rcx, rbx
mov rdx, rdi
call fcn.1401e2a60
lea rdx, str.p_index
lea r8, [0x14027cb9c]
lea rcx, [rsp + 0x60]
call fcn.1401e3d20
mov rcx, rbx
mov rdx, rax
call fcn.1401e2d90
mov rcx, rbx
call fcn.1401e2610
cmp byte [rdi + 0x17], 0
jns 0x1401e90ad
mov rcx, qword [rsp + 0x20]
call fcn.14019cac4
mov edx, dword [rsi + 0x58]
lea rdi, [rsp + 0x20]
mov rcx, rdi
call fcn.140199fe0
lea rbx, [rsp + 0x38]
mov rcx, rbx
mov rdx, rdi
call fcn.1401e2a60
lea rdx, str.init_background
lea r8, [0x14027cbac]
lea rcx, [rsp + 0x60]
call fcn.1401e3d20
mov rcx, rbx
mov rdx, rax
call fcn.1401e2d90
mov rcx, rbx
call fcn.1401e2610
cmp byte [rdi + 0x17], 0
jns 0x1401e9108
mov rcx, qword [rsp + 0x20]
call fcn.14019cac4
mov edx, dword [rsi + 0x5c]
lea rdi, [rsp + 0x20]
mov rcx, rdi
call fcn.140199fe0
lea rbx, [rsp + 0x38]
mov rcx, rbx
mov rdx, rdi
call fcn.1401e2a60
lea rdx, str.init_startup
lea r8, [0x14027cbb9]
lea rcx, [rsp + 0x60]
call fcn.1401e3d20
mov rcx, rbx
mov rdx, rax
call fcn.1401e2d90
mov rcx, rbx
call fcn.1401e2610
cmp byte [rdi + 0x17], 0
jns 0x1401e9163
mov rcx, qword [rsp + 0x20]
call fcn.14019cac4
mov rdx, qword [rsi + 0x60]
lea rdi, [rsp + 0x20]
mov rcx, rdi
call fcn.14009db10
lea rbx, [rsp + 0x38]
mov rcx, rbx
mov rdx, rdi
call fcn.1401e2a60
lea rdx, str.date
lea r8, [0x14027cbbe]
lea rcx, [rsp + 0x60]
call fcn.1401e3d20
mov rcx, rbx
mov rdx, rax
call fcn.1401e2d90
mov rcx, rbx
call fcn.1401e2610
cmp byte [rdi + 0x17], 0
jns 0x1401e91bf
mov rcx, qword [rsp + 0x20]
call fcn.14019cac4
mov edx, dword [rsi + 0x68]
lea rdi, [rsp + 0x20]
mov rcx, rdi
call fcn.140199fe0
lea rbx, [rsp + 0x38]
mov rcx, rbx
mov rdx, rdi
call fcn.1401e2a60
lea rdx, str.wake
lea r8, [0x14027cbc3]
lea rcx, [rsp + 0x60]
call fcn.1401e3d20
mov rcx, rbx
mov rdx, rax
call fcn.1401e2d90
mov rcx, rbx
call fcn.1401e2610
cmp byte [rdi + 0x17], 0
jns 0x1401e921a
mov rcx, qword [rsp + 0x20]
call fcn.14019cac4
mov edx, dword [rsi + 0x6c]
lea rdi, [rsp + 0x20]
mov rcx, rdi
call fcn.140199fe0
lea rbx, [rsp + 0x38]
mov rcx, rbx
mov rdx, rdi
call fcn.1401e2a60
lea rdx, str.min_wake
lea r8, [0x14027cbcc]
lea rcx, [rsp + 0x60]
call fcn.1401e3d20
mov rcx, rbx
mov rdx, rax
call fcn.1401e2d90
mov rcx, rbx
call fcn.1401e2610
cmp byte [rdi + 0x17], 0
jns 0x1401e9275
mov rcx, qword [rsp + 0x20]
call fcn.14019cac4
lea rdx, [rsi + 0x70]
lea rdi, [rsp + 0x38]
mov rcx, rdi
call fcn.1401e2a60
lea rdx, [0x14027cbcd]
lea r8, [0x14027cbd0]
lea rbx, [rsp + 0x60]
mov rcx, rbx
call fcn.1401e3d20
mov rcx, rdi
mov rdx, rax
call fcn.1401e2d90
mov rcx, rdi
call fcn.1401e2610
lea rdi, [rsp + 0x38]
mov rcx, rdi
mov rdx, rbx
call fcn.1401e7510
add rsi, 0x18
mov rcx, rsi
mov rdx, rdi
call fcn.1401e9490
cmp byte [rdi + 0x17], 0
jns 0x1401e92e3
mov rcx, qword [rsp + 0x38]
call fcn.14019cac4
lea rcx, [rsp + 0x60]
call fcn.1401e2610
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
cmp rcx, qword [0x1402b7040]
je 0x1401e9307
call fcn.14019f290
int3
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r14
ret