Function at 0x1400036c0
Capabilities:
Check if file exists
Create directory

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x458]
sub rsp, 0x558
mov rax, qword [0x1400591e0]
xor rax, rsp
mov qword [rbp + 0x440], rax
mov r12, r9
mov rdi, r8
mov rsi, rdx
mov r14, rcx
mov r15, qword [rbp + 0x4c0]
mov r13, qword [rbp + 0x4d0]
mov ebx, 0x208
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x20]
call fcn.14001f180
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x230]
call fcn.14001f180
xor ebx, ebx
test rsi, rsi
je 0x14000374f
cmp word [rsi], bx
je 0x14000374f
mov r8, rsi
mov esi, 0x104
mov edx, esi
lea rcx, [rbp + 0x230]
call fcn.140026ac0
jmp 0x14000376f
lea rdx, [rbp + 0x230]
mov rcx, qword [0x14005c998]
call fcn.140003554
test eax, eax
je 0x140003957
mov esi, 0x104
mov rdx, r14
lea rcx, [rbp + 0x230]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
test rdi, rdi
je 0x14000379a
cmp word [rdi], bx
je 0x14000379a
mov r8, rdi
mov rdx, rsi
lea rcx, [rbp + 0x20]
call fcn.140026ac0
jmp 0x1400037c2
lea rcx, [rbp + 0x20]
call fcn.140003594
test eax, eax
je 0x140003957
cmp byte [rbp + 0x4c8], bl
je 0x1400037c2
xor r8d, r8d
lea rdx, [rbp + 0x20]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
mov rdx, r14
lea rcx, [rbp + 0x20]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
test r12, r12
je 0x1400037e6
lea r8, [rbp + 0x230]
mov rdx, rsi
mov rcx, r12
call fcn.140026ac0
test r15, r15
je 0x1400037fa
lea r8, [rbp + 0x20]
mov rdx, rsi
mov rcx, r15
call fcn.140026ac0
lea rcx, [rbp + 0x20]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov edi, eax
mov rdx, r14
lea r14, str.CptService.exe
mov rcx, r14
call fcn.14002589c
mov esi, 0x40
mov r8d, esi
xor edx, edx
lea rcx, [rbp - 0x20]
call fcn.14001f180
mov r8d, esi
xor edx, edx
lea rcx, [rbp - 0x60]
call fcn.14001f180
lea rcx, [rsp + 0x60]
call fcn.140015374
nop
lea rcx, [rsp + 0x28]
call fcn.140015374
nop
lea rcx, [rbp + 0x230]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov rdx, rax
mov rcx, r14
call fcn.14002589c
mov r8d, esi
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x230]
test eax, eax
jne 0x140003880
call fcn.14000c470
jmp 0x140003885
call fcn.14000c634
test al, al
je 0x14000393e
lea rdx, [rbp + 0x230]
lea rcx, [rsp + 0x60]
call fcn.14001547c
test al, al
je 0x14000393e
mov dword [rsp + 0x20], ebx
test r13, r13
je 0x1400038ca
lea r8, [rsp + 0x20]
mov rdx, r13
lea rcx, [rbp - 0x60]
call fcn.14000dad4
test al, al
je 0x14000393e
cmp dword [rsp + 0x20], ebx
jl 0x14000393e
test edi, edi
je 0x140003939
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x28]
call fcn.14001547c
test al, al
je 0x140003939
mov eax, dword [rbp - 0x70]
cmp dword [rsp + 0x58], eax
jne 0x140003939
lea rcx, [rbp + 0x20]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov rdx, rax
mov rcx, r14
call fcn.14002589c
mov r8d, esi
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x20]
test eax, eax
jne 0x140003914
call fcn.14000c470
jmp 0x140003919
call fcn.14000c634
test al, al
je 0x140003939
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x60]
call fcn.14000dad4
test al, al
je 0x140003939
cmp dword [rsp + 0x20], ebx
je 0x14000393e
mov ebx, 1
lea rcx, [rsp + 0x28]
call fcn.140015388
nop
lea rcx, [rsp + 0x60]
call fcn.140015388
mov eax, ebx
jmp 0x140003964
mov ecx, 3
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov rcx, qword [rbp + 0x440]
xor rcx, rsp
call fcn.14001c630
add rsp, 0x558
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret