Function at 0x140060320
Capabilities:
Check for time delay via gettickcount
Create directory
Get common file path

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x278
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x140155cc0]
xor rax, rsp
mov qword [rsp + 0x270], rax
lea rbx, [rsp + 0x60]
mov r8d, 0x20a
mov rcx, rbx
mov dl, 0xaa
call fcn.140114c60
mov ecx, 0x105
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
lea ecx, [rax - 0x106]
cmp ecx, 0xfffffefa
ja 0x1400603e3
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 0
lea rcx, str.Failed_to_retrieve_temporary_directory
call fcn.140060290
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
cmp byte [rsp + 0x57], 0
jns 0x1400603b8
mov rcx, qword [rsp + 0x40]
call fcn.1400dffa0
mov rcx, qword [rsp + 0x270]
xor rcx, rsp
cmp rcx, qword [0x140155cc0]
jne 0x140060411
mov rax, rsi
add rsp, 0x278
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r12d, eax
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x50], rcx
movaps xmm0, xmmword [section..rdata]
movaps xmmword [rsp + 0x40], xmm0
cmp eax, 0xa
ja 0x140060417
mov byte [rsp + 0x57], al
lea r14, [rsp + 0x40]
jmp 0x14006045b
call fcn.1400e0180
int3
mov rax, r12
or rax, 3
lea rcx, [rax + 1]
cmp rax, 0xb
mov r15d, 0xd
cmovne r15, rcx
lea rcx, [r15 + r15]
call fcn.1400dff64
mov r14, rax
mov qword [rsp + 0x40], rax
movabs rax, 0x7fffffffffffffff
add rax, r15
inc rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], r12
lea rax, [r14 + r12*2]
cmp rbx, r14
setb cl
cmp rbx, rax
setae al
or al, cl
je 0x1400607d6
lea r15, [rsp + 0x40]
lea r8, [r12 + r12]
lea rbx, [rsp + 0x60]
mov rcx, r14
mov rdx, rbx
call fcn.1401145c0
mov word [r14 + r12*2], 0
jmp 0x1400604ae
dec rax
mov byte [rsp + 0x57], al
mov word [r15 + rax*2], 0
movsx rax, byte [rsp + 0x57]
test rax, rax
js 0x1400604e0
test al, al
je 0x14006038d
movzx ecx, word [rsp + rax*2 + 0x3e]
cmp ecx, 0x2f
je 0x1400604a0
cmp ecx, 0x5c
je 0x1400604a0
jmp 0x140060512
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x14006038d
mov rcx, qword [rsp + 0x40]
movzx edx, word [rcx + rax*2 - 2]
cmp edx, 0x2f
je 0x140060502
cmp edx, 0x5c
jne 0x140060528
dec rax
mov qword [rsp + 0x48], rax
mov word [rcx + rax*2], 0
jmp 0x1400604ae
mov r14d, 0xa
cmp al, 0xa
je 0x14006054d
lea ecx, [rax + 1]
and cl, 0x7f
mov byte [rsp + 0x57], cl
jmp 0x140060581
mov r14, qword [rsp + 0x48]
test r14, r14
je 0x14006038d
movabs rax, 0x7fffffffffffffff
and rax, qword [rsp + 0x50]
dec rax
cmp r14, rax
jne 0x140060570
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x20], r14
lea rcx, [rsp + 0x40]
mov r8d, 1
mov rdx, r14
mov r9, r14
call fcn.1400113e0
mov r15, qword [rsp + 0x40]
lea rax, [r14 + 1]
mov qword [rsp + 0x48], rax
mov rax, r14
mov dword [r15 + rax*2], 0x5c
mov rdx, qword [rdi]
mov r8, qword [rdi + 8]
lea rdi, [rsp + 0x40]
mov rcx, rdi
call fcn.140043bf0
mov r8, qword [0x14012d588]
lea rdx, [0x14012d570]
mov rcx, rdi
call fcn.140043bf0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov rcx, rbx
mov edx, eax
call fcn.1400444a0
movsx r8, byte [rsp + 0x77]
test r8, r8
jns 0x1400605d8
mov r8, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov rcx, rdi
mov rdx, rbx
call fcn.140043bf0
cmp byte [rsp + 0x77], 0
jns 0x1400605f4
mov rcx, qword [rsp + 0x60]
call fcn.1400dffa0
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea rbx, [rsp + 0x60]
mov rcx, rbx
mov edx, eax
call fcn.1400444a0
movsx r8, byte [rsp + 0x77]
test r8, r8
jns 0x14006061e
mov r8, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
lea rdi, [rsp + 0x40]
mov rcx, rdi
mov rdx, rbx
call fcn.140043bf0
cmp byte [rsp + 0x77], 0
jns 0x14006063f
mov rcx, qword [rsp + 0x60]
call fcn.1400dffa0
movsx r15, byte [rsp + 0x57]
test r15, r15
jns 0x14006064f
mov r15, qword [rsp + 0x48]
mov ebp, 0x32
mov r12, qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea rbx, [0x140164a20]
mov r13, qword [sym.imp.KERNEL32.dll_GetTickCount]
lea r14, [rsp + 0x60]
jmp 0x14006068b
mov rcx, rdi
call fcn.140043bf0
cmp byte [rsp + 0x77], 0
js 0x140060740
dec ebp
je 0x1400607b2
cmp byte [rsp + 0x57], 0
mov rcx, rdi
jns 0x14006069a
mov rcx, qword [rsp + 0x40]
xor edx, edx
call r12
test eax, eax
jne 0x140060780
mov eax, dword [0x140164a20]
mov ecx, dword [0x1401652f8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x10]
jg 0x140060754
movsx rax, byte [rsp + 0x57]
test rax, rax
js 0x1400606f0
cmp r15, rax
ja 0x1400607e9
mov byte [rsp + 0x57], r15b
mov rax, rdi
jmp 0x140060705
cmp r15, qword [rsp + 0x48]
ja 0x1400607e9
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x48], r15
mov word [rax + r15*2], 0
call fcn.1400fe7bc
mov rcx, r14
mov edx, eax
call fcn.1400442e0
movsx r8, byte [rsp + 0x77]
mov rdx, r14
test r8, r8
jns 0x140060670
mov r8, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
jmp 0x140060670
mov rcx, qword [rsp + 0x60]
call fcn.1400dffa0
dec ebp
jne 0x14006068b
jmp 0x1400607b2
mov rcx, rbx
call fcn.1400dffec
cmp dword [0x140164a20], 0xffffffff
jne 0x1400606cc
call r13
mov ecx, eax
call fcn.1400fe7a4
mov rcx, rbx
call fcn.1400e00a0
jmp 0x1400606cc
mov rax, qword [rsp + 0x50]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x40]
movups xmmword [rsi], xmm0
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 0
cmp byte [rsp + 0x57], 0
jns 0x1400603b8
jmp 0x1400603ae
cmp byte [rsp + 0x57], 0
jns 0x1400607c0
mov rdx, qword [rsp + 0x40]
jmp 0x1400607c5
lea rdx, [rsp + 0x40]
lea rcx, str.Failed_to_create_unique_temporary_directory__ls
call fcn.140060290
jmp 0x140060399
lea rcx, [0x140117223]
lea rdx, str....._third_partylibc_srcinclude__stringchar_traits.h:208:_assertion__std::__is_pointer_in_range___dest____dest____n____src__failed:_char_traits::copy:_source_and_destination_ranges_overlap_n
call fcn.140044b40
lea rcx, [rsp + 0x40]
call fcn.140003cc0
int3