Function at 0x1400037bc
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 [0x1400591f0]
xor rax, rsp
mov qword [rbp + 0x440], rax
mov r15, r9
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
mov r14, qword [rbp + 0x4c0]
mov r12, qword [rbp + 0x4d0]
mov r13d, 0x208
mov r8d, r13d
xor edx, edx
lea rcx, [rbp + 0x20]
call fcn.14001f2d0
mov r8d, r13d
xor edx, edx
lea rcx, [rbp + 0x230]
call fcn.14001f2d0
xor r13d, r13d
test rdi, rdi
je 0x14000384e
cmp word [rdi], r13w
je 0x14000384e
mov r8, rdi
mov edi, 0x104
mov edx, edi
lea rcx, [rbp + 0x230]
call fcn.140026c10
jmp 0x14000386e
lea rdx, [rbp + 0x230]
mov rcx, qword [0x14005c9a8]
call fcn.140003618
test eax, eax
je 0x140003aa7
mov edi, 0x104
mov rdx, rsi
lea rcx, [rbp + 0x230]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
test rbx, rbx
je 0x14000389a
cmp word [rbx], r13w
je 0x14000389a
mov r8, rbx
mov rdx, rdi
lea rcx, [rbp + 0x20]
call fcn.140026c10
jmp 0x1400038c3
lea rcx, [rbp + 0x20]
call fcn.140003658
test eax, eax
je 0x140003aa7
cmp byte [rbp + 0x4c8], r13b
je 0x1400038c3
xor r8d, r8d
lea rdx, [rbp + 0x20]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
mov rdx, rsi
lea rcx, [rbp + 0x20]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
test r15, r15
je 0x1400038e7
lea r8, [rbp + 0x230]
mov rdx, rdi
mov rcx, r15
call fcn.140026c10
test r14, r14
je 0x1400038fb
lea r8, [rbp + 0x20]
mov rdx, rdi
mov rcx, r14
call fcn.140026c10
lea rcx, [rbp + 0x20]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov ebx, eax
mov rdx, rsi
lea r15, str.CptService.exe
mov rcx, r15
call fcn.1400259ec
test eax, eax
sete r14b
mov rdx, rsi
lea rcx, [0x140040c10]
call fcn.1400259ec
test eax, eax
sete dil
mov esi, 0x40
mov r8d, esi
xor edx, edx
lea rcx, [rbp - 0x20]
call fcn.14001f2d0
mov r8d, esi
xor edx, edx
lea rcx, [rbp - 0x60]
call fcn.14001f2d0
lea rcx, [rsp + 0x60]
call fcn.1400154c4
nop
lea rcx, [rsp + 0x28]
call fcn.1400154c4
nop
lea rcx, [rbp + 0x230]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov rdx, rax
mov rcx, r15
call fcn.1400259ec
mov r8d, esi
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x230]
test eax, eax
jne 0x14000399c
call fcn.14000c5c0
jmp 0x1400039a1
call fcn.14000c784
test al, al
je 0x140003a8b
lea rdx, [rbp + 0x230]
lea rcx, [rsp + 0x60]
call fcn.1400155cc
test al, al
je 0x140003a8b
mov dword [rsp + 0x20], r13d
test r12, r12
je 0x1400039f0
lea r8, [rsp + 0x20]
mov rdx, r12
lea rcx, [rbp - 0x60]
call fcn.14000dc24
test al, al
je 0x140003a8b
cmp dword [rsp + 0x20], r13d
jl 0x140003a8b
test ebx, ebx
jne 0x1400039fe
mov ebx, 1
jmp 0x140003a8e
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x28]
call fcn.1400155cc
test al, al
je 0x1400039f4
mov eax, dword [rbp - 0x70]
cmp dword [rsp + 0x58], eax
jne 0x1400039f4
lea rcx, [rbp + 0x20]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov rdx, rax
mov rcx, r15
call fcn.1400259ec
mov r8d, esi
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x20]
test eax, eax
jne 0x140003a44
call fcn.14000c5c0
jmp 0x140003a49
call fcn.14000c784
test al, al
je 0x1400039f4
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x60]
call fcn.14000dc24
test r14b, r14b
jne 0x140003a7b
test dil, dil
jne 0x140003a7b
mov ebx, 1
cmp al, bl
jne 0x140003a8b
cmp dword [rsp + 0x20], r13d
jne 0x140003a8e
jmp 0x140003a8b
mov ebx, 1
cmp al, bl
jne 0x140003a8b
cmp dword [rsp + 0x20], r13d
jg 0x140003a8e
mov ebx, r13d
lea rcx, [rsp + 0x28]
call fcn.1400154d8
nop
lea rcx, [rsp + 0x60]
call fcn.1400154d8
mov eax, ebx
jmp 0x140003ab4
mov ecx, 3
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov rcx, qword [rbp + 0x440]
xor rcx, rsp
call fcn.14001c780
add rsp, 0x558
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret