Function at 0x1400c3770
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 0x1400c3923
mov qword [rsp + 0x58], r14
lea rax, [0x1402c2fb8]
mov qword [rsp + 0x58], rax
mov rcx, qword [0x1402c2fb8]
test rcx, rcx
je 0x1400c37e4
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov r8, qword [0x1402becc8]
test r8, r8
je 0x1400c382c
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 0x1400c391e
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1400c391e
xor edx, edx
mov r8d, 0x20c
lea rcx, [rbp - 0x40]
call fcn.140189b60
lea rdx, [rbp - 0x40]
mov ecx, 0x105
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x103
ja 0x1400c38f6
mov word [rbp + 0x1ca], r14w
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp + 0x1d0]
call fcn.140189b60
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 0x1400c38d7
mov eax, eax
add rax, rax
cmp rax, 0x412
jae 0x1400c3cde
mov word [rbp + rax + 0x1d0], r14w
lea rax, [rbp + 0x1d0]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x1400c38c0
lea rdx, [rbp + 0x1d0]
jmp 0x1400c3807
lea rax, [rbp - 0x40]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x1400c38e2
lea rdx, [rbp - 0x40]
jmp 0x1400c3807
mov rcx, qword [0x1402c2fb8]
test rcx, rcx
je 0x1400c3908
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 0x1400c394c
or eax, 1
mov dword [0x1402c36e4], eax
xor ecx, ecx
call fcn.1401b23dc
mov rcx, rax
call fcn.1401b2458
nop
mov eax, dword [0x1402c36e4]
test al, 2
jne 0x1400c3987
or eax, 2
mov dword [0x1402c36e4], eax
call fcn.1401b242c
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 0x1400c398d
mov ecx, dword [0x1402c36dc]
test al, 4
jne 0x1400c39cc
or eax, 4
mov dword [0x1402c36e4], eax
call fcn.1401b242c
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 0x1400c39d3
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 0x1400c3a07
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.1400b2790
cmp qword [rbp - 0x50], 0
je 0x1400c3c18
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x30]
call fcn.1400b0520
mov rbx, rax
cmp rdi, rax
je 0x1400c3a6d
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 0x1400c3aaf
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3aaa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c3ce4
call fcn.140183134
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], r14w
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400c3ad0
mov rcx, qword [rdi]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x1400c3c07
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.1400fade0
test al, al
je 0x1400c3b30
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 0x1400c3bb1
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x1400c3b72
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3b6d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c3cf0
call fcn.140183134
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 0x1400c3c18
mov ecx, dword [0x1402c36dc]
inc ecx
mov dword [0x1402c36dc], ecx
mov r8d, dword [0x1402c36e0]
jmp 0x1400c39f0
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x1400c3bf3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3bee
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c3cea
call fcn.140183134
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], r14w
mov edx, 0x10
mov rcx, rdi
call fcn.1400afc40
mov bl, 1
jmp 0x1400c3c1a
xor bl, bl
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x1400c3c5a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3c55
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c3cf6
call fcn.140183134
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r14w
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x1400c3ca7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3ca2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c3cd8
call fcn.140183134
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.1401836e0
add rsp, 0x700
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140195f1c
nop
call fcn.14018381c
nop
call fcn.140195f1c
int3
call fcn.140195f1c
int3
call fcn.140195f1c
nop
call fcn.140195f1c
int3