Function at 0x1400c3780
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 [0x1402be168]
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 0x1400c3933
mov qword [rsp + 0x58], r14
lea rax, [0x1402c2fb8]
mov qword [rsp + 0x58], rax
mov rcx, qword [0x1402c2fb8]
test rcx, rcx
je 0x1400c37f4
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov r8, qword [0x1402becc8]
test r8, r8
je 0x1400c383c
lea rdx, [0x1402becb8]
cmp qword [0x1402becd0], 8
cmovae rdx, qword [0x1402becb8]
lea rcx, [rbp - 0x80]
call fcn.140006b90
nop
mov rcx, qword [0x1402c2fb8]
test rcx, rcx
je 0x1400c392e
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1400c392e
xor edx, edx
mov r8d, 0x20c
lea rcx, [rbp - 0x40]
call fcn.140189c40
lea rdx, [rbp - 0x40]
mov ecx, 0x105
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x103
ja 0x1400c3906
mov word [rbp + 0x1ca], r14w
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp + 0x1d0]
call fcn.140189c40
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 0x1400c38e7
mov eax, eax
add rax, rax
cmp rax, 0x412
jae 0x1400c3cee
mov word [rbp + rax + 0x1d0], r14w
lea rax, [rbp + 0x1d0]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x1400c38d0
lea rdx, [rbp + 0x1d0]
jmp 0x1400c3817
lea rax, [rbp - 0x40]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x1400c38f2
lea rdx, [rbp - 0x40]
jmp 0x1400c3817
mov rcx, qword [0x1402c2fb8]
test rcx, rcx
je 0x1400c3918
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 [0x1402c36e4]
test al, 1
jne 0x1400c395c
or eax, 1
mov dword [0x1402c36e4], eax
xor ecx, ecx
call fcn.1401b24bc
mov rcx, rax
call fcn.1401b2538
nop
mov eax, dword [0x1402c36e4]
test al, 2
jne 0x1400c3997
or eax, 2
mov dword [0x1402c36e4], eax
call fcn.1401b250c
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 [0x1402c36dc], ecx
mov eax, dword [0x1402c36e4]
jmp 0x1400c399d
mov ecx, dword [0x1402c36dc]
test al, 4
jne 0x1400c39dc
or eax, 4
mov dword [0x1402c36e4], eax
call fcn.1401b250c
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 [0x1402c36e0], r8d
mov ecx, dword [0x1402c36dc]
jmp 0x1400c39e3
mov r8d, dword [0x1402c36e0]
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 [0x1402c36e0], r8d
mov rax, rsi
cmp qword [rsi + 0x18], 8
jb 0x1400c3a17
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.1400b27a0
cmp qword [rbp - 0x50], 0
je 0x1400c3c28
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x30]
call fcn.1400b0530
mov rbx, rax
cmp rdi, rax
je 0x1400c3a7d
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 0x1400c3abf
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3aba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c3cf4
call fcn.140183214
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], r14w
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400c3ae0
mov rcx, qword [rdi]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x1400c3c17
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.1400fadf0
test al, al
je 0x1400c3b40
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 0x1400c3bc1
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x1400c3b82
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3b7d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c3d00
call fcn.140183214
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 0x1400c3c28
mov ecx, dword [0x1402c36dc]
inc ecx
mov dword [0x1402c36dc], ecx
mov r8d, dword [0x1402c36e0]
jmp 0x1400c3a00
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x1400c3c03
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3bfe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c3cfa
call fcn.140183214
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], r14w
mov edx, 0x10
mov rcx, rdi
call fcn.1400afc50
mov bl, 1
jmp 0x1400c3c2a
xor bl, bl
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x1400c3c6a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3c65
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c3d06
call fcn.140183214
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r14w
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x1400c3cb7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3cb2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c3ce8
call fcn.140183214
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.1401837c0
add rsp, 0x700
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140195ffc
nop
call fcn.1401838fc
nop
call fcn.140195ffc
int3
call fcn.140195ffc
int3
call fcn.140195ffc
nop
call fcn.140195ffc
int3