Function at 0x1400c73e0
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 [0x1402c4148]
xor rax, rsp
mov qword [rbp + 0x5f0], rax
mov rdi, r8
mov rsi, rdx
mov rdx, rcx
lea rcx, [rbp - 0x80]
call fcn.140006840
nop
xor r14d, r14d
cmp qword [rbp - 0x70], r14
jne 0x1400c7593
mov qword [rsp + 0x58], r14
lea rax, [0x1402c8f98]
mov qword [rsp + 0x58], rax
mov rcx, qword [0x1402c8f98]
test rcx, rcx
je 0x1400c7454
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov r8, qword [0x1402c4ca8]
test r8, r8
je 0x1400c749c
lea rdx, [0x1402c4c98]
cmp qword [0x1402c4cb0], 8
cmovae rdx, qword [0x1402c4c98]
lea rcx, [rbp - 0x80]
call fcn.140006b60
nop
mov rcx, qword [0x1402c8f98]
test rcx, rcx
je 0x1400c758e
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1400c758e
xor edx, edx
mov r8d, 0x20c
lea rcx, [rbp - 0x40]
call fcn.14018da90
lea rdx, [rbp - 0x40]
mov ecx, 0x105
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
dec eax
cmp eax, 0x103
ja 0x1400c7566
mov word [rbp + 0x1ca], r14w
xor edx, edx
mov r8d, 0x412
lea rcx, [rbp + 0x1d0]
call fcn.14018da90
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 0x1400c7547
mov eax, eax
add rax, rax
cmp rax, 0x412
jae 0x1400c794e
mov word [rbp + rax + 0x1d0], r14w
lea rax, [rbp + 0x1d0]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rax + r8*2], 0
jne 0x1400c7530
lea rdx, [rbp + 0x1d0]
jmp 0x1400c7477
lea rax, [rbp - 0x40]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x1400c7552
lea rdx, [rbp - 0x40]
jmp 0x1400c7477
mov rcx, qword [0x1402c8f98]
test rcx, rcx
je 0x1400c7578
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 [0x1402c96c4]
test al, 1
jne 0x1400c75bc
or eax, 1
mov dword [0x1402c96c4], eax
xor ecx, ecx
call fcn.1401b630c
mov rcx, rax
call fcn.1401b6388
nop
mov eax, dword [0x1402c96c4]
test al, 2
jne 0x1400c75f7
or eax, 2
mov dword [0x1402c96c4], eax
call fcn.1401b635c
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 [0x1402c96bc], ecx
mov eax, dword [0x1402c96c4]
jmp 0x1400c75fd
mov ecx, dword [0x1402c96bc]
test al, 4
jne 0x1400c763c
or eax, 4
mov dword [0x1402c96c4], eax
call fcn.1401b635c
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 [0x1402c96c0], r8d
mov ecx, dword [0x1402c96bc]
jmp 0x1400c7643
mov r8d, dword [0x1402c96c0]
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 [0x1402c96c0], r8d
mov rax, rsi
cmp qword [rsi + 0x18], 8
jb 0x1400c7677
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.1400b6400
cmp qword [rbp - 0x50], 0
je 0x1400c7888
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x30]
call fcn.1400b4190
mov rbx, rax
cmp rdi, rax
je 0x1400c76dd
mov rcx, rdi
call fcn.140006a90
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 0x1400c771f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c771a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c7954
call fcn.140187064
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], r14w
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400c7740
mov rcx, qword [rdi]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x1400c7877
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.1400fea50
test al, al
je 0x1400c77a0
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 0x1400c7821
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x1400c77e2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c77dd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c7960
call fcn.140187064
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 0x1400c7888
mov ecx, dword [0x1402c96bc]
inc ecx
mov dword [0x1402c96bc], ecx
mov r8d, dword [0x1402c96c0]
jmp 0x1400c7660
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x1400c7863
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c785e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c795a
call fcn.140187064
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], r14w
mov edx, 0x10
mov rcx, rdi
call fcn.1400b38b0
mov bl, 1
jmp 0x1400c788a
xor bl, bl
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x1400c78ca
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c78c5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c7966
call fcn.140187064
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], r14w
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x1400c7917
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c7912
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c7948
call fcn.140187064
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.140187610
add rsp, 0x700
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140199e4c
nop
call fcn.14018774c
nop
call fcn.140199e4c
int3
call fcn.140199e4c
int3
call fcn.140199e4c
nop
call fcn.140199e4c
int3