Function at 0x14000705c
Capabilities:
Create directory
Get common file path

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2f8]
sub rsp, 0x3d0
mov rax, qword [0x14006d9f8]
xor rax, rsp
mov qword [rbp + 0x2c0], rax
lea rcx, [rbp + 0x90]
mov rsi, r8
call fcn.14000202c
mov r13d, 7
xor r15d, r15d
lea rdx, [0x14005fd28]
lea rcx, [rsp + 0x30]
lea r8d, [r13 + 4]
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], r15
mov word [rsp + 0x30], r15w
call fcn.140006368
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x90]
lea rcx, [rbp - 0x68]
call fcn.140002250
lea r12d, [r13 + 1]
cmp qword [rsp + 0x48], r12
jb 0x1400070fa
mov rcx, qword [rsp + 0x30]
call fcn.14003440c
lea rcx, [rbp + 0xb2]
xor edx, edx
mov r8d, 0x206
mov word [rbp + 0xb0], r15w
call fcn.140035510
lea rdx, [rbp + 0xb0]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
or rdi, 0xffffffffffffffff
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x68], r15
mov word [rsp + 0x58], r15w
cmp word [rbp + 0xb0], r15w
jne 0x14000714b
mov r8, r15
jmp 0x14000715f
lea rax, [rbp + 0xb0]
mov r8, rdi
inc r8
cmp word [rax + r8*2], r15w
jne 0x140007155
lea rdx, [rbp + 0xb0]
lea rcx, [rsp + 0x58]
call fcn.140006368
lea rdx, str.Wondershare_
lea rcx, [rsp + 0x58]
call fcn.140003954
cmp qword [rsp + 0x70], r12
lea rcx, [rsp + 0x58]
cmovae rcx, qword [rsp + 0x58]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea rdx, [0x14005fd60]
lea rcx, [rsp + 0x58]
call fcn.140003954
cmp qword [rsp + 0x70], r12
lea rcx, [rsp + 0x58]
cmovae rcx, qword [rsp + 0x58]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea r8, [0x14005fd78]
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x78]
call fcn.140006ca0
lea rcx, [rsp + 0x58]
mov r9, rdi
mov rdx, rax
xor r8d, r8d
call fcn.140006234
cmp qword [rbp - 0x70], r12
jb 0x1400071fa
mov rcx, qword [rsp + 0x78]
call fcn.14003440c
mov eax, dword [0x140071700]
mov ebx, 1
lea r14, [0x140071708]
test bl, al
jne 0x14000724d
or eax, ebx
lea rdx, [rsp + 0x58]
mov r9, rdi
xor r8d, r8d
mov rcx, r14
mov qword [0x140071720], r13
mov dword [0x140071700], eax
mov qword [0x140071718], r15
mov word [0x140071708], r15w
call fcn.14000584c
lea rcx, [0x140053230]
call fcn.140033d3c
cmp qword [0x140071718], r15
mov qword [0x1400716b0], r14
jne 0x14000726b
lea rcx, str._simpleLog::Log__log_filename_is_empty_n
call fcn.140034a24
jmp 0x14000728f
call fcn.140003084
cmp rax, 0x200000
jbe 0x14000728f
cmp qword [0x140071720], r12
cmovae r14, qword [0x140071708]
mov rcx, r14
call fcn.140033ad0
lea rdx, [0x14005fd88]
lea rcx, [rsp + 0x30]
mov r8d, 0xb
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], r15
mov word [rsp + 0x30], r15w
call fcn.140006368
lea r8, [rsp + 0x30]
lea rdx, [rbp + 0x90]
lea rcx, [rbp - 0x48]
call fcn.140002250
cmp qword [rsp + 0x48], r12
jb 0x1400072dc
mov rcx, qword [rsp + 0x30]
call fcn.14003440c
cmp qword [0x1400716b0], r15
je 0x1400073f2
lea rdx, [rbp - 0x48]
lea rcx, [rsp + 0x78]
call fcn.1400026bc
mov r14, rax
cmp qword [rax + 0x18], 0x10
jb 0x140007304
mov r14, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov rcx, qword [0x1400716b0]
lea r8, str._INFO___d___launcher_version__s_.
mov r9d, eax
mov edx, 3
mov qword [rsp + 0x20], r14
call fcn.14000d154
cmp qword [rbp - 0x70], 0x10
jb 0x14000733b
mov rcx, qword [rsp + 0x78]
call fcn.14003440c
cmp qword [0x1400716b0], r15
je 0x1400073f2
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], r15
mov word [rsp + 0x30], r15w
cmp word [rsi], r15w
jne 0x140007363
mov r8, r15
jmp 0x140007370
mov r8, rdi
inc r8
cmp word [rsi + r8*2], r15w
jne 0x140007366
lea rcx, [rsp + 0x30]
mov rdx, rsi
call fcn.140006368
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x78]
call fcn.1400026bc
mov r14, rax
cmp qword [rax + 0x18], 0x10
jb 0x140007399
mov r14, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov rcx, qword [0x1400716b0]
lea r8, str._INFO___d___parameters__s_.
mov r9d, eax
mov edx, 3
mov qword [rsp + 0x20], r14
call fcn.14000d154
cmp qword [rbp - 0x70], 0x10
jb 0x1400073d0
mov rcx, qword [rsp + 0x78]
call fcn.14003440c
mov qword [rbp - 0x70], 0xf
mov qword [rbp - 0x78], r15
mov byte [rsp + 0x78], r15b
cmp qword [rsp + 0x48], r12
jb 0x1400073f2
mov rcx, qword [rsp + 0x30]
call fcn.14003440c
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], r15
mov word [rsp + 0x30], r15w
cmp word [rsi], r15w
jne 0x14000740d
mov r8, r15
jmp 0x14000741a
mov r8, rdi
inc r8
cmp word [rsi + r8*2], r15w
jne 0x140007410
lea rcx, [rsp + 0x30]
mov rdx, rsi
call fcn.140006368
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x20]
call fcn.140007908
cmp qword [rsp + 0x48], r12
jb 0x140007446
mov rcx, qword [rsp + 0x30]
call fcn.14003440c
mov dword [rsp + 0x50], r15d
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x40], r15
mov word [rsp + 0x30], r15w
cmp word [rsi], r15w
jne 0x140007466
mov rdi, r15
jmp 0x140007470
inc rdi
cmp word [rsi + rdi*2], r15w
jne 0x140007466
lea rcx, [rsp + 0x30]
mov r8, rdi
mov rdx, rsi
call fcn.140006368
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x20]
call fcn.140007cd0
mov dil, al
cmp qword [rsp + 0x48], r12
jb 0x1400074a7
mov rcx, qword [rsp + 0x30]
call fcn.14003440c
test dil, dil
jne 0x140007575
lea r8, [rbp - 0x68]
lea rcx, [rsp + 0x78]
call fcn.140006b9c
cmp qword [rbp - 0x70], r12
lea r9, [rsp + 0x78]
cmovae r9, qword [rsp + 0x78]
mov r8d, ebx
mov edx, ebx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x140007516
cmp qword [0x1400716b0], r15
je 0x140007555
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov rcx, qword [0x1400716b0]
lea r8, str._WARN___d___instance_already_exists.
mov r9d, eax
mov edx, 2
call fcn.14000d154
jmp 0x140007555
lea rcx, [rbp - 0x20]
call fcn.1400081a0
test al, al
jne 0x140007551
cmp qword [0x1400716b0], r15
je 0x14000754a
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov rcx, qword [0x1400716b0]
lea r8, str._ERROR___d___run_product_exe_failed_
mov r9d, eax
mov edx, ebx
call fcn.14000d154
mov ebx, 2
jmp 0x140007555
mov ebx, dword [rsp + 0x50]
test rdi, rdi
je 0x140007563
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbp - 0x70], r12
jb 0x140007579
mov rcx, qword [rsp + 0x78]
call fcn.14003440c
jmp 0x140007579
mov ebx, dword [rsp + 0x50]
cmp qword [0x1400716b0], r15
je 0x1400075a7
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov rcx, qword [0x1400716b0]
lea r8, str._INFO___d___exit_code__d_.
mov r9d, eax
mov edx, 3
mov dword [rsp + 0x20], ebx
call fcn.14000d154
cmp qword [rbp + 0x78], r12
jb 0x1400075b6
mov rcx, qword [rbp + 0x60]
call fcn.14003440c
mov qword [rbp + 0x78], r13
mov qword [rbp + 0x70], r15
mov word [rbp + 0x60], r15w
cmp qword [rbp + 0x58], r12
jb 0x1400075d2
mov rcx, qword [rbp + 0x40]
call fcn.14003440c
mov qword [rbp + 0x58], r13
mov qword [rbp + 0x50], r15
mov word [rbp + 0x40], r15w
cmp qword [rbp + 0x38], r12
jb 0x1400075ee
mov rcx, qword [rbp + 0x20]
call fcn.14003440c
mov qword [rbp + 0x38], r13
mov qword [rbp + 0x30], r15
mov word [rbp + 0x20], r15w
cmp qword [rbp + 0x18], r12
jb 0x14000760a
mov rcx, qword [rbp]
call fcn.14003440c
mov qword [rbp + 0x18], r13
mov qword [rbp + 0x10], r15
mov word [rbp], r15w
cmp qword [rbp - 8], r12
jb 0x140007626
mov rcx, qword [rbp - 0x20]
call fcn.14003440c
mov qword [rbp - 8], r13
mov qword [rbp - 0x10], r15
mov word [rbp - 0x20], r15w
cmp qword [rbp - 0x30], r12
jb 0x140007642
mov rcx, qword [rbp - 0x48]
call fcn.14003440c
mov qword [rbp - 0x30], r13
mov qword [rbp - 0x38], r15
mov word [rbp - 0x48], r15w
cmp qword [rsp + 0x70], r12
jb 0x140007660
mov rcx, qword [rsp + 0x58]
call fcn.14003440c
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x68], r15
mov word [rsp + 0x58], r15w
cmp qword [rbp - 0x50], r12
jb 0x14000767f
mov rcx, qword [rbp - 0x68]
call fcn.14003440c
mov qword [rbp - 0x50], r13
mov qword [rbp - 0x58], r15
mov word [rbp - 0x68], r15w
cmp qword [rbp + 0xa8], r12
jb 0x1400076a1
mov rcx, qword [rbp + 0x90]
call fcn.14003440c
mov eax, ebx
mov rcx, qword [rbp + 0x2c0]
xor rcx, rsp
call fcn.1400326d0
lea r11, [rsp + 0x3d0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret