Function at 0x1800022d0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xe0]
sub rsp, 0x1e0
mov rax, qword [0x180008040]
xor rax, rsp
mov qword [rbp + 0xd0], rax
mov r12, rcx
mov qword [rsp + 0x20], rcx
xor r15d, r15d
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov ecx, 0x30
call fcn.1800030d4
mov rcx, rax
mov qword [rbp - 0x70], rax
movdqa xmm0, xmmword [0x180005c70]
movdqu xmmword [rbp - 0x60], xmm0
movups xmm0, xmmword [str.Handle_Address_:_00007FFFF16C081B]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x180005340]
movups xmmword [rax + 0x10], xmm1
movzx eax, byte [0x180005350]
mov byte [rcx + 0x20], al
mov byte [rcx + 0x21], r15b
lea rdx, [rbp - 0x40]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], r15
mov qword [rbp - 0x78], r15
lea rax, [rbp - 0x40]
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rax + rbx], 0
jne 0x180002385
movabs rsi, 0x7fffffffffffffff
cmp rbx, rsi
ja 0x1800026e1
movabs rax, 0x8000000000000000
mov ecx, 0x16
mov r14d, 0xf
cmp rbx, r14
ja 0x1800023e2
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], r14
mov r8, rbx
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x70]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + rbx + 0x70], 0
mov rdi, qword [rbp - 0x78]
jmp 0x180002472
mov rdi, rbx
or rdi, r14
cmp rdi, rsi
jbe 0x180002413
mov rdi, rsi
add rax, 0x27
mov rcx, rax
call fcn.1800030d4
test rax, rax
je 0x18000267e
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x180002448
cmp rdi, rcx
cmovb rdi, rcx
lea rcx, [rdi + 1]
test rcx, rcx
jne 0x180002428
mov rsi, r15
jmp 0x180002448
cmp rcx, 0x1000
jb 0x180002440
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800026d5
jmp 0x1800023f4
call fcn.1800030d4
mov rsi, rax
mov qword [rsp + 0x70], rsi
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], rdi
mov r8, rbx
lea rdx, [rbp - 0x40]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + rbx], 0
movabs rsi, 0x7fffffffffffffff
movups xmm0, xmmword [str.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]
movups xmmword [rsp + 0x30], xmm0
movups xmm1, xmmword [0x180005368]
movups xmmword [rsp + 0x40], xmm1
movups xmm0, xmmword [0x180005378]
movups xmmword [rsp + 0x50], xmm0
movsd xmm0, qword [0x180005388]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [0x180005390]
mov dword [rsp + 0x68], eax
movzx eax, word [0x180005394]
mov word [rsp + 0x6c], ax
movzx eax, byte [0x180005396]
mov byte [rsp + 0x6e], al
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
mov ebx, 0xa
movabs r13, 0x842108421084211
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, r13
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
imul rax, rax, 0x3e
sub rcx, rax
movzx r9d, byte [rsp + rcx + 0x30]
mov rcx, qword [rbp - 0x80]
cmp rcx, rdi
jae 0x18000253b
lea rax, [rcx + 1]
mov qword [rbp - 0x80], rax
lea rax, [rsp + 0x70]
cmp rdi, 0xf
cmova rax, qword [rsp + 0x70]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x180002545
lea rcx, [rsp + 0x70]
call fcn.180002c10
sub rbx, 1
je 0x180002551
mov rdi, qword [rbp - 0x78]
jmp 0x1800024e4
mov rax, rsi
mov rsi, qword [rbp - 0x80]
sub rax, rsi
cmp rax, 4
jb 0x1800026cf
lea rax, [rsp + 0x70]
mov rdi, qword [rsp + 0x70]
mov r13, qword [rbp - 0x78]
cmp r13, 0xf
cmova rax, rdi
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [r12], xmm0
mov qword [r12 + 0x10], r15
mov qword [r12 + 0x18], r15
lea r15, [rsi + 4]
mov rbx, r12
cmp r15, 0xf
jbe 0x18000262f
mov r14, r15
or r14, 0xf
movabs rcx, 0x7fffffffffffffff
cmp r14, rcx
jbe 0x1800025e5
mov r14, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1800030d4
test rax, rax
je 0x180002617
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x180002626
cmp r14, 0x16
mov ecx, 0x16
cmovb r14, rcx
lea rcx, [r14 + 1]
test rcx, rcx
jne 0x1800025ff
xor ebx, ebx
jmp 0x18000262b
cmp rcx, 0x1000
jb 0x18000261e
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800026db
jmp 0x1800025ca
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800030d4
mov rbx, rax
mov rax, qword [rsp + 0x20]
mov qword [r12], rbx
mov qword [r12 + 0x10], r15
mov qword [r12 + 0x18], r14
mov r8, rsi
mov rdx, rax
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov dword [rsi + rbx], 0x6578652e
mov byte [rbx + r15], 0
cmp r13, 0xf
jbe 0x18000268e
lea rdx, [r13 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x180002685
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180002685
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.1800030a0
nop
mov edx, 0x30
mov rcx, qword [rbp - 0x70]
call fcn.1800030a0
mov rax, r12
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.180003080
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1800022b0
nop
call fcn.180002210
nop
call fcn.180002210
nop
call fcn.1800022b0
int3