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

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x170
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov rax, qword [0x180142d48]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov rsi, rcx
lea rax, vtable._BaseModule::CAutoLocker.0
mov qword [rsp + 0x68], rax
lea r14, [rcx + 8]
mov qword [rsp + 0x70], r14
test r14, r14
je 0x18001333b
mov rax, qword [r14]
mov rcx, r14
call qword [rax]
nop
xor edi, edi
mov r12d, edi
mov rcx, qword [rsi + 0x50]
mov r8, 0xffffffffffffffff
mov rax, r8
nop
inc rax
cmp word [rcx + rax*2], di
jne 0x180013350
inc eax
movsxd rbx, eax
mov eax, 2
mul rbx
cmovo rax, r8
mov rcx, rax
call fcn.180050af4
mov rbp, rax
add rbx, rbx
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.18009b170
mov r8, qword [rsi + 0x50]
shr rbx, 1
lea rax, [rbx - 1]
mov edx, 0x7ffffffe
cmp rax, rdx
ja 0x1800133d1
mov rcx, rbp
sub rdx, rbx
sub r8, rbp
lea rax, [rdx + rbx]
test rax, rax
je 0x1800133c3
movzx eax, word [r8 + rcx]
test ax, ax
je 0x1800133c3
mov word [rcx], ax
add rcx, 2
sub rbx, 1
jne 0x1800133a3
lea rax, [rcx - 2]
test rbx, rbx
cmovne rax, rcx
mov word [rax], di
mov rcx, rbp
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
mov rcx, rbp
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1800133f5
xor r8d, r8d
mov rdx, rbp
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
mov rcx, rbp
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x180013528
xor eax, eax
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rax
lea rcx, [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
xor edx, edx
mov r8d, reloc.OLEAUT32.dll_SetErrorInfo
lea rcx, [rsp + 0x90]
call fcn.18009b170
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
movzx ecx, word [rsp + 0x84]
movzx edx, word [rsp + 0x82]
movzx r8d, word [rsp + 0x80]
movzx r10d, word [rsp + 0x7e]
movzx r11d, word [rsp + 0x7a]
movzx r9d, word [rsp + 0x78]
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], r8d
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r11d
lea r8, str._04d__02d__02d__02d:_02d:_02d___d___d_
mov edx, 0x400
lea rcx, [rsp + 0x90]
call fcn.1800137a0
lea rdx, [0x1800f48e0]
mov rcx, qword [rsi + 0x50]
call fcn.1800a23a0
mov rbx, rax
test rax, rax
je 0x180013528
mov r12d, 1
cmp dword [rsi + 0x58], edi
je 0x1800134e3
lea r8, [rsp + 0x90]
lea rdx, str._r_n_Start_Log:_s__n
mov rcx, rax
call fcn.1800139b0
mov dword [rsi + 0x58], edi
mov rax, qword [rsi + 0x40]
sub rax, qword [rsi + 0x38]
sar rax, 3
movsxd r15, eax
test eax, eax
jle 0x180013518
nop word [rax + rax]
mov rax, qword [rsi + 0x38]
mov rdx, qword [rax + rdi*8]
mov rcx, rbx
call fcn.1800139b0
inc rdi
cmp rdi, r15
jl 0x180013500
mov rcx, rbx
call fcn.1800a2658
mov rcx, rbx
call fcn.1800a2438
test rbp, rbp
je 0x180013535
mov rcx, rbp
call fcn.180050640
mov rcx, rsi
call fcn.1800131b0
nop
test r14, r14
je 0x18001354d
mov rdx, qword [r14]
mov rcx, r14
call qword [rdx + reloc.OLEAUT32.dll_VariantClear]
nop
mov eax, r12d
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.180050ad0
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret