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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x820]
sub rsp, 0x920
mov rax, qword [0x140317e98]
xor rax, rsp
mov qword [rbp + 0x810], rax
mov rdi, r8
mov rsi, rdx
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor r13d, r13d
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x20], rcx
mov r9d, 0x400
mov r8d, eax
xor edx, edx
mov ecx, 0x1100
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
xor edx, edx
mov r8d, 0x7d0
lea rcx, [rbp + 0x40]
call fcn.1400d9fc0
test rsi, rsi
je 0x14002c713
mov r8, rsi
mov edx, 0x3e8
lea rcx, [rbp + 0x40]
call fcn.1400eac18
lea r8, [0x140247be0]
mov edx, 0x3e8
lea rcx, [rbp + 0x40]
call fcn.1400eac18
test rdi, rdi
je 0x14002c73e
mov r8, rdi
mov edx, 0x3e8
lea rcx, [rbp + 0x40]
call fcn.1400eac18
lea r8, [0x140247be0]
mov edx, 0x3e8
lea rcx, [rbp + 0x40]
call fcn.1400eac18
test rbx, rbx
je 0x14002c769
mov r8, rbx
mov edx, 0x3e8
lea rcx, [rbp + 0x40]
call fcn.1400eac18
lea r8, [0x140247be0]
mov edx, 0x3e8
lea rcx, [rbp + 0x40]
call fcn.1400eac18
mov r8, qword [rsp + 0x50]
test r8, r8
je 0x14002c796
mov edx, 0x3e8
lea rcx, [rbp + 0x40]
call fcn.1400eac18
lea rcx, [rsp + 0x40]
call fcn.140029d60
nop
lea rdx, str.updaterlogs_
mov rbx, 0xffffffffffffffff
mov rax, rbx
inc rax
cmp word [rdx + rax*2], 0
jne 0x14002c7b2
mov r8d, eax
lea rcx, [rsp + 0x40]
call fcn.14000c240
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14002c7e5
xor edx, edx
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea rcx, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
mov dword [rsp + 0x28], 0x64
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, str.yyyy_M_d
lea r8, [rsp + 0x58]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetDateFormatW]
lea r8, [0x140247c00]
mov edx, 0x64
lea rcx, [rsp + 0x70]
call fcn.1400eac18
lea rax, [rsp + 0x70]
mov rcx, rbx
inc rcx
cmp word [rax + rcx*2], 0
jne 0x14002c836
lea r15, [rsp + 0x70]
lea rsi, [rsp + 0x70]
mov rax, qword [rsp + 0x40]
sub rsi, rax
sar rsi, 1
mov r14d, dword [rax - 0x10]
test ecx, ecx
js 0x14002ca00
movsxd rdx, ecx
lea rcx, [rsp + 0x70]
call fcn.1400ea46c
mov r12, rax
mov ecx, 0x7fffffff
sub ecx, eax
cmp ecx, r14d
jl 0x14002ca00
lea edi, [r14 + rax]
test edi, edi
js 0x14002ca00
mov rcx, qword [rsp + 0x40]
mov edx, 1
sub edx, dword [rcx - 8]
mov eax, dword [rcx - 0xc]
sub eax, edi
or eax, edx
jge 0x14002c8af
mov edx, edi
lea rcx, [rsp + 0x40]
call fcn.140005800
cmp rsi, r14
ja 0x14002c8bd
mov rax, qword [rsp + 0x40]
lea r15, [rax + rsi*2]
mov rax, qword [rsp + 0x40]
lea rcx, [rax + r14*2]
movsxd r8, r12d
add r8, r8
je 0x14002c8f9
test rcx, rcx
je 0x14002c8e9
test r15, r15
je 0x14002c8e2
mov rdx, r15
call fcn.1400d9910
jmp 0x14002c8f9
xor edx, edx
call fcn.1400d9fc0
call fcn.1400e8b0c
mov dword [rax], 0x16
call fcn.1400de95c
mov rax, qword [rsp + 0x40]
cmp edi, dword [rax - 0xc]
jg 0x14002ca00
mov dword [rax - 0x10], edi
movsxd rcx, edi
mov rax, qword [rsp + 0x40]
mov word [rax + rcx*2], r13w
lea rdx, [0x140247c0c]
xor ecx, ecx
call fcn.1400ed564
mov rdi, rax
mov qword [rsp + 0x48], r13
lea r8, [0x140247c10]
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x48]
call fcn.1400eb870
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x14002c9ba
mov eax, dword [0x1403201e0]
test eax, eax
jne 0x14002c968
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [0x1403201e0], eax
mov rcx, qword [rsp + 0x48]
movzx edx, word [rsp + 0x66]
movzx r8d, word [rsp + 0x64]
movzx r10d, word [rsp + 0x62]
movzx r9d, word [rsp + 0x60]
lea r11, [rbp + 0x40]
mov qword [rsp + 0x38], r11
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], r10d
mov r8d, eax
lea rdx, str.updater_log:_pid:__d___d:_d:_d:_d__s
call fcn.14002cf30
mov rcx, qword [rsp + 0x48]
call fcn.1400eb9e0
mov rdx, rdi
xor ecx, ecx
call fcn.1400ed564
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
sub ebx, 1
jg 0x14002c9d6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rbp + 0x810]
xor rcx, rsp
call fcn.1400d7670
mov rbx, qword [rsp + 0x978]
add rsp, 0x920
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80070057
call fcn.1400049a0
int3