Function at 0x180004e30
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 - 0x3a0]
sub rsp, 0x4a0
mov rax, qword [0x1800671c0]
xor rax, rsp
mov qword [rbp + 0x390], rax
xorps xmm0, xmm0
mov qword [rbp - 0x70], 7
mov r15, rcx
lea rdx, [rbp + 0x180]
xor r13d, r13d
mov ecx, 0x104
movups xmmword [rsp + 0x78], xmm0
mov word [rsp + 0x78], r13w
mov qword [rbp - 0x78], r13
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
lea rsi, [r13 - 1]
test eax, eax
je 0x180004f04
lea rax, [rbp + 0x180]
mov rdx, rsi
nop dword [rax]
inc rdx
cmp word [rax + rdx*2], r13w
jne 0x180004eb0
mov rax, qword [rbp - 0x70]
cmp rdx, rax
ja 0x180004ef3
lea rbx, [rdx + rdx]
mov qword [rbp - 0x78], rdx
cmp rax, 7
lea rdi, [rsp + 0x78]
mov r8, rbx
lea rdx, [rbp + 0x180]
cmova rdi, qword [rsp + 0x78]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov word [rdi + rbx], r13w
jmp 0x180004f04
lea r9, [rbp + 0x180]
lea rcx, [rsp + 0x78]
call fcn.180018290
mov rdx, qword [rbp - 0x78]
lea rcx, [rsp + 0x78]
add rdx, 0xfffffffffffffffb
mov qword [rsp + 0x20], r13
call fcn.180014b80
mov r12, qword [rbp - 0x78]
movabs r14, 0x7ffffffffffffffe
mov rax, r14
sub rax, r12
cmp rax, 9
jb 0x1800055a9
cmp qword [rbp - 0x70], 7
lea rax, [rsp + 0x78]
mov ebx, 7
mov qword [rsp + 0x68], r13
cmova rax, qword [rsp + 0x78]
lea rdi, [rsp + 0x58]
mov qword [rsp + 0x70], r13
xorps xmm0, xmm0
lea r13, [r12 + 9]
mov qword [rsp + 0x30], rax
lea ecx, [rbx + 3]
movabs rdx, 0x7fffffffffffffff
movups xmmword [rsp + 0x58], xmm0
cmp r13, rbx
jbe 0x180005006
mov rbx, r13
or rbx, 7
cmp rbx, r14
jbe 0x180004f9a
mov rbx, r14
lea rcx, [rdx + rdx]
jmp 0x180004fba
cmp rbx, rcx
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, rdx
ja 0x18000559d
add rcx, rcx
cmp rcx, 0x1000
jb 0x180004feb
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18000559d
mov rcx, rax
call fcn.18004f0f4
test rax, rax
je 0x180005596
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
mov rax, qword [rsp + 0x30]
jmp 0x180005001
test rcx, rcx
je 0x180004fff
call fcn.18004f0f4
mov rdi, rax
mov rax, qword [rsp + 0x30]
jmp 0x180005001
xor edi, edi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x70], rbx
mov rdx, rax
lea rbx, [r12 + r12]
mov qword [rsp + 0x68], r13
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [str.token.dgt]
xor r12d, r12d
movups xmmword [rbx + rdi], xmm0
movzx eax, word [0x180056510]
mov word [rbx + rdi + 0x10], ax
xorps xmm0, xmm0
mov word [rdi + r13*2], r12w
lea rdi, [rsp + 0x58]
cmp qword [rsp + 0x70], 7
mov rbx, qword [rsp + 0x68]
cmova rdi, qword [rsp + 0x58]
movups xmmword [rsp + 0x38], xmm0
cmp rbx, r14
ja 0x1800055af
cmp rbx, 7
ja 0x18000508a
mov eax, 7
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x38], xmm0
jmp 0x18000513e
mov rax, rbx
or rax, 7
cmp rax, r14
jbe 0x1800050a6
movabs rax, 0x7fffffffffffffff
lea rcx, [rax + rax]
jmp 0x1800050d9
cmp rax, 0xa
mov r14, rax
mov eax, 0xa
cmovb r14, rax
movabs rax, 0x7fffffffffffffff
lea rcx, [r14 + 1]
cmp rcx, rax
ja 0x1800055a3
add rcx, rcx
cmp rcx, 0x1000
jb 0x180005108
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800055a3
mov rcx, rax
call fcn.18004f0f4
mov rcx, rax
test rax, rax
je 0x180005190
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180005117
test rcx, rcx
je 0x180005114
call fcn.18004f0f4
jmp 0x180005117
mov rax, r12
lea r8, [rbx*2 + 2]
mov qword [rsp + 0x38], rax
mov rdx, rdi
mov qword [rsp + 0x48], rbx
mov rcx, rax
mov qword [rsp + 0x50], r14
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x50]
cmp rax, 7
lea rcx, [rsp + 0x38]
cmova rcx, qword [rsp + 0x38]
xor edx, edx
call qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__waccess]
mov rdx, qword [rsp + 0x50]
mov ebx, eax
cmp rdx, 7
jbe 0x18000519c
mov rcx, qword [rsp + 0x38]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005197
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180005197
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18004f0c0
test ebx, ebx
je 0x180005391
xor edx, edx
lea rcx, [rbp - 0x40]
mov r8d, 0x108
call sub.VCRUNTIME140.dll_memset
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x40]
call fcn.1800109f0
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
cdqe
movabs rcx, 0x9184e72a000
cqo
lea r9, [rbp + 0xfa]
idiv rcx
mov r8, rdx
add r8d, 0x4e72a000
jns 0x180005240
neg r8d
sub r9, 2
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8d, edx
test edx, edx
jne 0x180005201
add r9, 0xfffffffffffffffe
mov word [r9], 0x2d
jmp 0x180005270
sub r9, 2
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub r8w, cx
add r8w, 0x30
mov word [r9], r8w
mov r8d, edx
test edx, edx
jne 0x180005240
lea rax, [rbp + 0xfa]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], r12
xorps xmm0, xmm0
mov r8, r12
movups xmmword [rsp + 0x38], xmm0
cmp r9, rax
jne 0x1800052a3
mov eax, 7
mov word [rsp + 0x38], r12w
mov qword [rsp + 0x50], rax
jmp 0x1800052c7
lea r8, [rbp + 0xfa]
mov rdx, r9
sub r8, r9
lea rcx, [rsp + 0x38]
sar r8, 1
call fcn.180023180
mov rax, qword [rsp + 0x50]
mov r8, qword [rsp + 0x48]
cmp rax, 7
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x40]
cmova rdx, qword [rsp + 0x38]
call fcn.1800232b0
mov rdx, qword [rsp + 0x50]
cmp rdx, 7
jbe 0x180005324
mov rcx, qword [rsp + 0x38]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000531f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000531f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18004f0c0
lea rcx, [rbp - 0x38]
call fcn.180014480
test rax, rax
jne 0x18000534e
mov rax, qword [rbp - 0x40]
xor r8d, r8d
movsxd rcx, dword [rax + 4]
lea edx, [r8 + 2]
lea rax, [rbp - 0x40]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::setstate_int__bool____ptr64]
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_wchar_t__struct_std::char_traits_wchar_t__.0
mov qword [rbp + rcx - 0x40], rax
mov rax, qword [rbp - 0x40]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx - 0x44], edx
lea rcx, [rbp - 0x38]
call fcn.180010980
lea rcx, [rbp - 0x30]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
lea rcx, [rbp + 0x68]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__::destructor_void____ptr64]
cmp qword [rsp + 0x70], 7
lea rcx, [rsp + 0x58]
lea r8, [rbp - 0x68]
cmova rcx, qword [rsp + 0x58]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
jne 0x1800054a2
xorps xmm0, xmm0
lea r8d, [rax + 0x17]
movups xmmword [r15], xmm0
lea rdx, str._______________________
mov qword [r15 + 0x10], r12
mov rcx, r15
mov qword [r15 + 0x18], r12
call fcn.180017290
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x18000541a
mov rcx, qword [rsp + 0x58]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005415
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180005596
call fcn.18004f0c0
mov rdx, qword [rbp - 0x70]
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r12w
cmp rdx, 7
jbe 0x18000546f
mov rcx, qword [rsp + 0x78]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000546a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180005596
call fcn.18004f0c0
mov rax, r15
mov rcx, qword [rbp + 0x390]
xor rcx, rsp
call fcn.18004f0a0
lea r11, [rsp + 0x4a0]
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
mov rax, qword [rbp - 0x64]
lea r8, str._I64u
mov dword [rsp + 0x30], eax
lea rcx, [rbp + 0x100]
shr rax, 0x20
mov edx, 0x80
mov dword [rsp + 0x34], eax
mov r9, qword [rsp + 0x30]
call fcn.1800014b0
xorps xmm0, xmm0
lea rax, [rbp + 0x100]
movups xmmword [r15], xmm0
mov qword [r15 + 0x10], r12
mov qword [r15 + 0x18], r12
inc rsi
cmp byte [rax + rsi], r12b
jne 0x1800054e5
mov r8, rsi
lea rdx, [rbp + 0x100]
mov rcx, r15
call fcn.180017290
mov rdx, qword [rsp + 0x70]
cmp rdx, 7
jbe 0x18000553e
mov rcx, qword [rsp + 0x58]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180005539
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180005596
call fcn.18004f0c0
mov rdx, qword [rbp - 0x70]
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r12w
cmp rdx, 7
jbe 0x18000546f
mov rcx, qword [rsp + 0x78]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000546a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000546a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180001610
int3
call fcn.180001610
int3
call fcn.180001750
int3
call fcn.180001750
int3