Function at 0x1400c2ec0
Capabilities:
Get common file path

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x60
mov ebx, 0x400
lea rdi, [rsp + 0x40]
mov rsi, rcx
lea rbp, [rsp + 0x50]
call fcn.140100f80
xor r10d, r10d
mov edx, ebx
mov rcx, rdi
mov qword [rsp + 0x38], rax
mov r12, qword [sym.imp.KERNEL32.dll_GetTempPathW]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], 0
mov word [rsp + 0x50], r10w
call fcn.140112be0
nop
mov rdx, qword [rsp + 0x40]
mov ecx, ebx
call r12
cmp ebx, eax
jae 0x1400c2f48
mov rdx, qword [rsp + 0x40]
xor r9d, r9d
mov ebx, eax
mov rcx, rdi
mov qword [rsp + 0x48], 0
mov word [rdx], r9w
mov edx, ebx
call fcn.140112be0
jmp 0x1400c2f10
mov rcx, qword [rsp + 0x40]
mov edx, eax
xor r8d, r8d
mov qword [rsp + 0x48], rdx
mov word [rcx + rdx*2], r8w
test eax, eax
je 0x1400c3038
lea rax, [rsi + 0x10]
xor ebx, ebx
mov qword [rsi], rax
cmp rcx, rbp
je 0x1400c305a
mov rax, qword [rsp + 0x50]
mov qword [rsi], rcx
mov qword [rsi + 0x10], rax
mov qword [rsi + 8], rdx
lea r12, [rsi + 0x20]
xor eax, eax
mov rcx, r12
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], 0
mov word [rsp + 0x50], ax
call fcn.1400cb540
mov rcx, rsi
call fcn.1400c9af0
mov rcx, qword [rsp + 0x40]
cmp rcx, rbp
je 0x1400c2fc8
mov rax, qword [rsp + 0x50]
lea rdx, [rax + rax + 2]
call fcn.140127f50
test ebx, ebx
je 0x1400c30a0
cmp qword [rsi + 8], 0
mov ecx, 0x30
jne 0x1400c319c
call fcn.140128070
lea rdx, str.temp_directory_path
mov rcx, rdi
mov rbp, rax
call fcn.14010c6e0
mov dword [rsp + 0x30], ebx
movdqa xmm0, xmmword [rsp + 0x30]
mov rdx, rdi
mov rcx, rbp
lea r8, [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm0
call fcn.1400c6300
mov rcx, rdi
call fcn.140106de0
lea r8, [0x1400c6830]
lea rdx, [0x140294160]
mov rcx, rbp
call fcn.1401287f0
nop dword [rax]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov ebx, eax
lea rax, [rsi + 0x10]
mov qword [rsi], rax
cmp rcx, rbp
jne 0x1400c2f76
lea rcx, [rdx + rdx + 2]
cmp ecx, 8
jae 0x1400c30e7
test cl, 4
jne 0x1400c3137
test ecx, ecx
je 0x1400c2f82
movzx r8d, byte [rsp + 0x50]
mov byte [rax], r8b
test cl, 2
je 0x1400c2f82
mov ecx, ecx
movzx r8d, word [rbp + rcx - 2]
mov word [rax + rcx - 2], r8w
jmp 0x1400c2f82
lea rdx, [rsp + 0x30]
mov rcx, rsi
mov dword [rsp + 0x30], 0
call fcn.1400c4c70
mov ebx, dword [rsp + 0x30]
test ebx, ebx
jne 0x1400c2fd0
cmp al, 2
je 0x1400c30d9
call fcn.140100f90
mov ebx, 0x14
mov qword [rsp + 0x38], rax
jmp 0x1400c2fd0
mov rax, rsi
add rsp, 0x60
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov r8, qword [rsp + 0x50]
mov r10, rbp
mov qword [rax], r8
mov r8d, ecx
mov r9, qword [rbp + r8 - 8]
mov qword [rax + r8 - 8], r9
lea r8, [rax + 8]
and r8, 0xfffffffffffffff8
sub rax, r8
add ecx, eax
sub r10, rax
and ecx, 0xfffffff8
cmp ecx, 8
jb 0x1400c2f82
and ecx, 0xfffffff8
xor eax, eax
mov r9d, eax
add eax, 8
mov r11, qword [r10 + r9]
mov qword [r8 + r9], r11
cmp eax, ecx
jb 0x1400c3120
jmp 0x1400c2f82
mov r8d, dword [rsp + 0x50]
mov ecx, ecx
mov dword [rax], r8d
mov r8d, dword [rbp + rcx - 4]
mov dword [rax + rcx - 4], r8d
jmp 0x1400c2f82
call fcn.140128070
lea rdx, str.temp_directory_path
mov rcx, rdi
mov rbp, rax
call fcn.14010c6e0
mov dword [rsp + 0x30], ebx
movdqa xmm1, xmmword [rsp + 0x30]
mov r8, rsi
mov rdx, rdi
lea r9, [rsp + 0x20]
mov rcx, rbp
movaps xmmword [rsp + 0x20], xmm1
call fcn.1400c5e90
mov rcx, rdi
call fcn.140106de0
lea r8, [0x1400c6830]
lea rdx, [0x140294160]
mov rcx, rbp
call fcn.1401287f0
mov rbx, rax
mov rcx, rsi
call fcn.1400cdd40
mov rcx, rbx
call fcn.14001ae80
mov rcx, rdi
mov rbx, rax
call fcn.140106de0
mov rcx, rbp
call fcn.1401282f0
jmp 0x1400c31f6