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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x600]
sub rsp, 0x700
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov rax, qword [0x1402c5168]
xor rax, rsp
mov qword [rbp + 0x5f0], rax
mov rdi, r8
mov rsi, rdx
mov rdx, rcx
lea rcx, [rbp - 0x80]
call fcn.140006870
nop
xor r14d, r14d
cmp qword [rbp - 0x70], r14
jne 0x1400c75c3
mov qword [rsp + 0x58], r14
lea rax, [0x1402c9fb8]
mov qword [rsp + 0x58], rax
mov rcx, qword [0x1402c9fb8]
test rcx, rcx
je 0x1400c7484
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov r8, qword [0x1402c5cc8]
test r8, r8
je 0x1400c74cc
lea rdx, [0x1402c5cb8]
cmp qword [0x1402c5cd0], 8
cmovae rdx, qword [0x1402c5cb8]
lea rcx, [rbp - 0x80]
call fcn.140006b90
nop
mov rcx, qword [0x1402c9fb8]
test rcx, rcx
je 0x1400c75be
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1400c75be
xor edx, edx
mov r8d, 0x20c
lea rcx, [rbp - 0x40]
call fcn.14018d8d0
lea rdx, [rbp - 0x40]
mov ecx, 0x105
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x103
ja 0x1400c7596
mov word [rbp + 0x1ca], r14w
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp + 0x1d0]
call fcn.14018d8d0
mov r8d, 0x208
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
lea ecx, [rax - 1]
cmp ecx, 0x207
ja 0x1400c7577
mov eax, eax
add rax, rax
cmp rax, 0x412
jae 0x1400c797e
mov word [rbp + rax + 0x1d0], r14w
lea rax, [rbp + 0x1d0]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x1400c7560
lea rdx, [rbp + 0x1d0]
jmp 0x1400c74a7
lea rax, [rbp - 0x40]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x1400c7582
lea rdx, [rbp - 0x40]
jmp 0x1400c74a7
mov rcx, qword [0x1402c9fb8]
test rcx, rcx
je 0x1400c75a8
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov qword [rbp - 0x70], r14
lea rax, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rax, qword [rbp - 0x80]
mov word [rax], r14w
mov qword [rsp + 0x58], r14
mov eax, dword [0x1402ca6e4]
test al, 1
jne 0x1400c75ec
or eax, 1
mov dword [0x1402ca6e4], eax
xor ecx, ecx
call fcn.1401b614c
mov rcx, rax
call fcn.1401b61c8
nop
mov eax, dword [0x1402ca6e4]
test al, 2
jne 0x1400c7627
or eax, 2
mov dword [0x1402ca6e4], eax
call fcn.1401b619c
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x3e8
sub ecx, eax
mov dword [0x1402ca6dc], ecx
mov eax, dword [0x1402ca6e4]
jmp 0x1400c762d
mov ecx, dword [0x1402ca6dc]
test al, 4
jne 0x1400c766c
or eax, 4
mov dword [0x1402ca6e4], eax
call fcn.1401b619c
mov r8d, eax
mov eax, 0x68db8bad
imul r8d
sar edx, 0xb
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0x1388
sub r8d, ecx
mov dword [0x1402ca6e0], r8d
mov ecx, dword [0x1402ca6dc]
jmp 0x1400c7673
mov r8d, dword [0x1402ca6e0]
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], r14
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r14w
nop dword [rax]
inc r8d
mov dword [0x1402ca6e0], r8d
mov rax, rsi
cmp qword [rsi + 0x18], 8
jb 0x1400c76a7
mov rax, qword [rsi]
mov dword [rsp + 0x20], r8d
mov r9d, ecx
mov r8, rax
lea rdx, str._sD._.03d._.03d
lea rcx, [rbp - 0x60]
call fcn.1400b6430
cmp qword [rbp - 0x50], 0
je 0x1400c78b8
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x30]
call fcn.1400b41c0
mov rbx, rax
cmp rdi, rax
je 0x1400c770d
mov rcx, rdi
call fcn.140006ac0
movups xmm0, xmmword [rbx]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x1400c774f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c774a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c7984
call fcn.140186ea4
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], r14w
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400c7770
mov rcx, qword [rdi]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x1400c78a7
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], r14w
lea rdx, [rsp + 0x60]
mov rcx, rdi
call fcn.1400fea80
test al, al
je 0x1400c77d0
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae rcx, qword [rsp + 0x60]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x1400c7851
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x1400c7812
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c780d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c7990
call fcn.140186ea4
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], r14w
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x1400c78b8
mov ecx, dword [0x1402ca6dc]
inc ecx
mov dword [0x1402ca6dc], ecx
mov r8d, dword [0x1402ca6e0]
jmp 0x1400c7690
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x1400c7893
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c788e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c798a
call fcn.140186ea4
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], r14w
mov edx, 0x10
mov rcx, rdi
call fcn.1400b38e0
mov bl, 1
jmp 0x1400c78ba
xor bl, bl
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x1400c78fa
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c78f5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c7996
call fcn.140186ea4
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r14w
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x1400c7947
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c7942
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c7978
call fcn.140186ea4
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], r14w
movzx eax, bl
mov rcx, qword [rbp + 0x5f0]
xor rcx, rsp
call fcn.140187450
add rsp, 0x700
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140199c8c
nop
call fcn.14018758c
nop
call fcn.140199c8c
int3
call fcn.140199c8c
int3
call fcn.140199c8c
nop
call fcn.140199c8c
int3