Function at 0x1400c3740
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 0x1400c38f3
mov qword [rsp + 0x58], r14
lea rax, [0x1402c2fb8]
mov qword [rsp + 0x58], rax
mov rcx, qword [0x1402c2fb8]
test rcx, rcx
je 0x1400c37b4
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov r8, qword [0x1402becc8]
test r8, r8
je 0x1400c37fc
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 0x1400c38ee
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1400c38ee
xor edx, edx
mov r8d, 0x20c
lea rcx, [rbp - 0x40]
call fcn.140189b30
lea rdx, [rbp - 0x40]
mov ecx, 0x105
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x103
ja 0x1400c38c6
mov word [rbp + 0x1ca], r14w
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp + 0x1d0]
call fcn.140189b30
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 0x1400c38a7
mov eax, eax
add rax, rax
cmp rax, 0x412
jae 0x1400c3cae
mov word [rbp + rax + 0x1d0], r14w
lea rax, [rbp + 0x1d0]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x1400c3890
lea rdx, [rbp + 0x1d0]
jmp 0x1400c37d7
lea rax, [rbp - 0x40]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x1400c38b2
lea rdx, [rbp - 0x40]
jmp 0x1400c37d7
mov rcx, qword [0x1402c2fb8]
test rcx, rcx
je 0x1400c38d8
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 0x1400c391c
or eax, 1
mov dword [0x1402c36e4], eax
xor ecx, ecx
call fcn.1401b23ac
mov rcx, rax
call fcn.1401b2428
nop
mov eax, dword [0x1402c36e4]
test al, 2
jne 0x1400c3957
or eax, 2
mov dword [0x1402c36e4], eax
call fcn.1401b23fc
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 0x1400c395d
mov ecx, dword [0x1402c36dc]
test al, 4
jne 0x1400c399c
or eax, 4
mov dword [0x1402c36e4], eax
call fcn.1401b23fc
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 0x1400c39a3
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 0x1400c39d7
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.1400b2760
cmp qword [rbp - 0x50], 0
je 0x1400c3be8
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x30]
call fcn.1400b04f0
mov rbx, rax
cmp rdi, rax
je 0x1400c3a3d
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 0x1400c3a7f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3a7a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c3cb4
call fcn.140183104
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], r14w
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400c3aa0
mov rcx, qword [rdi]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x1400c3bd7
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.1400fadb0
test al, al
je 0x1400c3b00
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 0x1400c3b81
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x1400c3b42
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3b3d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c3cc0
call fcn.140183104
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 0x1400c3be8
mov ecx, dword [0x1402c36dc]
inc ecx
mov dword [0x1402c36dc], ecx
mov r8d, dword [0x1402c36e0]
jmp 0x1400c39c0
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x1400c3bc3
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3bbe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c3cba
call fcn.140183104
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], r14w
mov edx, 0x10
mov rcx, rdi
call fcn.1400afc10
mov bl, 1
jmp 0x1400c3bea
xor bl, bl
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x1400c3c2a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3c25
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c3cc6
call fcn.140183104
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r14w
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x1400c3c77
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3c72
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c3ca8
call fcn.140183104
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.1401836b0
add rsp, 0x700
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140195eec
nop
call fcn.1401837ec
nop
call fcn.140195eec
int3
call fcn.140195eec
int3
call fcn.140195eec
nop
call fcn.140195eec
int3