Function at 0x140001ef0
Capabilities:
Get common file path

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov rax, qword [0x1400a5488]
xor rax, rbp
mov qword [rbp], rax
mov ebx, dword [0x1400a9dd4]
mov ecx, dword [0x1400a9dd0]
cmp ecx, 9
setg al
cmp ecx, 0xa
setl dl
mov ecx, 1
sub ecx, ebx
imul ecx, ebx
and ecx, 1
sete bl
test dl, bl
jne 0x140001f4f
and cl, dl
xor cl, dl
xor cl, bl
or al, bl
xor al, cl
jne 0x1400021af
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x58], rax
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x40], rax
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x48], rax
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x50], rax
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
mov eax, 0x20
call fcn.1400459d0
sub rsp, rax
mov rsi, rsp
mov eax, 0x210
call fcn.1400459d0
sub rsp, rax
mov rdi, rsp
mov eax, 0x210
call fcn.1400459d0
sub rsp, rax
mov rbx, rsp
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
mov eax, 0x30
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x30]
mov qword [rax], rsi
mov rax, qword [rbp - 0x30]
mov rax, qword [rax]
mov rax, qword [rbp - 0x30]
mov rax, qword [rax]
xorps xmm0, xmm0
movaps xmmword [rax], xmm0
mov qword [rax + 0xe], 0
sub rsp, 0x20
mov rcx, rsi
mov edx, 0xa
call fcn.1400017f0
add rsp, 0x20
mov rax, qword [rbp - 0x50]
mov qword [rax], rdi
mov rax, qword [rbp - 0x50]
mov rax, qword [rax]
sub rsp, 0x20
mov ecx, 0x104
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
add rsp, 0x20
mov rax, qword [rbp - 0x48]
mov qword [rax], rbx
mov rax, qword [rbp - 0x48]
mov rax, qword [rax]
mov rax, qword [rbp - 0x28]
mov qword [rax], rbx
mov rax, qword [rbp - 0x28]
mov r9, qword [rax]
sub rsp, 0x20
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetTempFileNameW]
add rsp, 0x20
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x40]
mov qword [rcx], rax
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
mov rax, qword [rbp - 0x10]
mov qword [rax], 0
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x20]
mov qword [rcx], rax
mov rax, qword [rbp - 0x20]
mov rax, qword [rax]
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax]
sub rsp, 0x40
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
mov edx, 0x80000000
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
add rsp, 0x40
mov rcx, qword [rbp - 0x18]
mov qword [rcx], rax
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
cmp rax, 0xffffffffffffffff
mov rax, qword [rbp - 0x58]
sete byte [rax]
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
mov dword [rax], 0xcdb541cd
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x38], rax
cmp dword [0x1400a9dcc], 0xa
jl 0x1400023ee
mov eax, dword [0x1400a9dc8]
mov ecx, 1
sub ecx, eax
imul ecx, eax
and ecx, 1
je 0x1400023ee
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x58], rax
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x40], rax
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x48], rax
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x50], rax
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
mov eax, 0x20
call fcn.1400459d0
sub rsp, rax
mov rsi, rsp
mov eax, 0x210
call fcn.1400459d0
sub rsp, rax
mov rdi, rsp
mov eax, 0x210
call fcn.1400459d0
sub rsp, rax
mov rbx, rsp
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
mov eax, 0x30
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x60], rax
mov rax, qword [rbp - 0x30]
mov qword [rax], rsi
mov rax, qword [rbp - 0x30]
mov rax, qword [rax]
mov rax, qword [rbp - 0x30]
mov rax, qword [rax]
xorps xmm0, xmm0
movaps xmmword [rax], xmm0
mov qword [rax + 0xe], 0
sub rsp, 0x20
mov rcx, rsi
mov edx, 0xa
call fcn.1400017f0
add rsp, 0x20
mov rax, qword [rbp - 0x50]
mov qword [rax], rdi
mov rax, qword [rbp - 0x50]
mov rax, qword [rax]
sub rsp, 0x20
mov ecx, 0x104
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
add rsp, 0x20
mov rax, qword [rbp - 0x48]
mov qword [rax], rbx
mov rax, qword [rbp - 0x48]
mov rax, qword [rax]
mov rax, qword [rbp - 0x28]
mov qword [rax], rbx
mov rax, qword [rbp - 0x28]
mov r9, qword [rax]
sub rsp, 0x20
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_GetTempFileNameW]
add rsp, 0x20
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x40]
mov qword [rcx], rax
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
mov rax, qword [rbp - 0x10]
mov qword [rax], 0
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x20]
mov qword [rcx], rax
mov rax, qword [rbp - 0x20]
mov rax, qword [rax]
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax]
sub rsp, 0x40
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
mov edx, 0x80000000
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileW]
add rsp, 0x40
mov rcx, qword [rbp - 0x18]
mov qword [rcx], rax
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
cmp rax, 0xffffffffffffffff
mov rax, qword [rbp - 0x58]
sete byte [rax]
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
mov dword [rax], 0xcdb541cd
mov eax, 0x10
call fcn.1400459d0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x38], rax
jmp 0x140001f4f
mov r14, qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r15, qword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
mov r12d, 0xa2423f27
mov r13, qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax]
mov eax, dword [0x1400a9dc4]
mov ecx, dword [0x1400a9dc0]
cmp ecx, 9
setg dl
cmp ecx, 0xa
setl bl
mov edi, 1
sub edi, eax
imul edi, eax
and edi, 1
sete al
mov ecx, ebx
and cl, al
and dl, al
xor al, bl
xor al, dl
or dil, bl
xor dil, al
cmp cl, dil
jne 0x140002477
nop dword [rax]
mov rax, qword [rbp - 8]
mov eax, dword [rax]
mov dword [rbp - 0x64], eax
cmp dword [0x1400a9dbc], 0xa
jl 0x140002490
mov eax, dword [0x1400a9db8]
mov ecx, 1
sub ecx, eax
imul ecx, eax
and ecx, 1
je 0x140002490
mov rax, qword [rbp - 8]
mov eax, dword [rax]
mov dword [rbp - 0x64], eax
jmp 0x140002450
mov eax, dword [rbp - 0x64]
cmp eax, 0x4493bd64
jl 0x1400024c0
cmp eax, 0x48d12a31
jge 0x140002530
cmp eax, 0x4493bd64
jne 0x140002630
jmp 0x140002976
cmp eax, 0xcdb541cd
jge 0x1400025a0
cmp eax, 0xa2423f27
jne 0x140002630
mov edx, dword [0x1400a9db4]
cmp dword [0x1400a9db0], 0xa
setl r8b
mov ecx, 1
sub ecx, edx
or ecx, 0xfffffffe
add ecx, 3
mov ebx, ecx
not ebx
sub ecx, edx
add ecx, ebx
add ecx, 0xbbe2f36
imul ecx, edx
and ecx, 1
sete dl
mov eax, r8d
xor al, dl
jne 0x140002830
or r8b, cl
xor dl, r8b
jne 0x140002896
jmp 0x140002830
cmp eax, 0x7ac28e7b
jge 0x1400025dd
cmp eax, 0x48d12a31
jne 0x140002630
cmp dword [0x1400a9dac], 0xa
jl 0x1400028c5
mov eax, dword [0x1400a9da8]
mov ecx, eax
and ecx, 0x586464b7
mov edx, eax
xor edx, 0x586464b7
add ecx, eax
lea ebx, [rcx + rdx]
add ecx, edx
add ecx, 0x4f373692
mov edx, ecx
not edx
add edx, ebx
add ecx, edx
add ecx, 0xffffffff
imul ecx, eax
and ecx, 1
jne 0x14000292e
jmp 0x1400028c5
cmp eax, 0x2277fde4
jge 0x140002607
cmp eax, 0xcdb541cd
jne 0x140002630
cmp dword [0x1400a9da4], 0xa
jl 0x1400027d9
mov eax, dword [0x1400a9da0]
mov ecx, 1
sub ecx, eax
imul ecx, eax
and ecx, 1
jne 0x14000280d
jmp 0x1400027d9
jne 0x140002630
cmp dword [0x1400a9d9c], 0xa
jl 0x140002669
mov eax, dword [0x1400a9d98]
mov ecx, 1
sub ecx, eax
imul ecx, eax
and ecx, 1
jne 0x1400026b2
jmp 0x140002669
jne 0x140002630
cmp dword [0x1400a9d94], 0xa
jl 0x1400026d7
mov eax, dword [0x1400a9d90]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x140002760
jmp 0x1400026d7
mov ecx, dword [0x1400a9d8c]
mov eax, dword [0x1400a9d88]
cmp eax, 9
setg dl
cmp eax, 0xa
setl bl
lea eax, [rcx + 1]
imul eax, ecx
and al, 1
or al, bl
xor al, dl
nop word cs:[rax + rax]
nop
test al, al
je 0x140002660
jmp 0x1400027a0
sub rsp, 0x20
call r13
add rsp, 0x20
mov rax, qword [rbp - 0x10]
mov rax, qword [rax]
mov rcx, qword [rbp - 8]
mov dword [rcx], 0x4493bd64
mov rcx, qword [rbp - 0x38]
mov qword [rcx], rax
cmp dword [0x1400a9d84], 0xa
jl 0x1400027a0
mov eax, dword [0x1400a9d80]
mov ecx, 1
sub ecx, eax
imul ecx, eax
and ecx, 1
je 0x1400027a0
sub rsp, 0x20
call r13
add rsp, 0x20
mov rax, qword [rbp - 0x10]
mov rax, qword [rax]
mov rcx, qword [rbp - 8]
mov dword [rcx], 0x4493bd64
mov rcx, qword [rbp - 0x38]
mov qword [rcx], rax
jmp 0x140002669
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax]
mov rax, qword [rbp - 0x20]
mov r8, qword [rax]
sub rsp, 0x20
xor edx, edx
call r15
add rsp, 0x20
test eax, eax
mov eax, 0x48d12a31
cmove eax, r12d
mov rcx, qword [rbp - 8]
mov dword [rcx], eax
mov eax, dword [0x1400a9d7c]
mov ecx, dword [0x1400a9d78]
cmp ecx, 9
setg dl
cmp ecx, 0xa
setl cl
mov ebx, eax
or ebx, 0x9a48d20a
lea esi, [rbx + 1]
mov edi, esi
not edi
and edi, 1
xor esi, 0xfffffffe
add ebx, esi
add ebx, 1
lea esi, [rdi + rbx]
add esi, 2
add ebx, edi
mov edi, 0x7ffffffd
sub edi, ebx
and edi, 0xf5
add ebx, edi
add ebx, 2
add ebx, esi
add ebx, 0xfffffffe
imul ebx, eax
and bl, 1
or bl, cl
xor bl, dl
jne 0x1400027a0
mov rax, qword [rbp - 0x28]
mov rcx, qword [rax]
mov rax, qword [rbp - 0x20]
mov r8, qword [rax]
sub rsp, 0x20
xor edx, edx
call r15
add rsp, 0x20
test eax, eax
mov eax, 0x48d12a31
cmove eax, r12d
mov rcx, qword [rbp - 8]
mov dword [rcx], eax
jmp 0x1400026d7
cmp dword [0x1400a9d74], 0xa
mov eax, dword [0x1400a9d70]
setl cl
mov edx, 1
sub edx, eax
imul edx, eax
test dl, 1
sete al
or al, cl
nop word cs:[rax + rax]
nop dword [rax]
test al, al
je 0x1400027d0
jmp 0x140002410
mov rax, qword [rbp - 0x58]
cmp byte [rax], 0
mov eax, 0x2277fde4
mov ecx, 0x7ac28e7b
cmovne eax, ecx
mov rcx, qword [rbp - 8]
mov dword [rcx], eax
cmp dword [0x1400a9d6c], 0xa
jl 0x1400027a0
mov eax, dword [0x1400a9d68]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1400027a0
mov rax, qword [rbp - 0x58]
cmp byte [rax], 0
mov eax, 0x2277fde4
mov ecx, 0x7ac28e7b
cmovne eax, ecx
mov rcx, qword [rbp - 8]
mov dword [rcx], eax
jmp 0x1400027d9
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax]
sub rsp, 0x20
call r14
add rsp, 0x20
mov rax, qword [rbp - 0x10]
mov rax, qword [rax]
mov rcx, qword [rbp - 8]
mov dword [rcx], 0x4493bd64
mov rcx, qword [rbp - 0x38]
mov qword [rcx], rax
cmp dword [0x1400a9d64], 0xa
mov eax, dword [0x1400a9d60]
setl cl
mov edx, eax
not edx
imul edx, eax
and edx, 1
sete al
or dl, cl
xor dl, al
mov ebx, edx
xor bl, 1
xor cl, al
mov eax, ecx
not al
and al, bl
or bl, cl
xor bl, al
or cl, dl
cmp cl, bl
je 0x1400027a0
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax]
sub rsp, 0x20
call r14
add rsp, 0x20
mov rax, qword [rbp - 0x10]
mov rax, qword [rax]
mov rcx, qword [rbp - 8]
mov dword [rcx], 0x4493bd64
mov rcx, qword [rbp - 0x38]
mov qword [rcx], rax
jmp 0x140002830
mov rax, qword [rbp - 0x60]
mov rcx, qword [rax + 0xc]
mov rdx, qword [rbp - 0x10]
sub rsp, 0x20
call fcn.140001db0
add rsp, 0x20
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax]
sub rsp, 0x20
call r14
add rsp, 0x20
mov rax, qword [rbp - 0x10]
mov rax, qword [rax]
mov rcx, qword [rbp - 8]
mov dword [rcx], 0x4493bd64
mov rcx, qword [rbp - 0x38]
mov qword [rcx], rax
cmp dword [0x1400a9d5c], 9
mov eax, dword [0x1400a9d58]
setg cl
lea edx, [rax + 1]
imul edx, eax
and edx, 1
sete al
or al, cl
cmp dl, al
jne 0x1400027a0
mov rax, qword [rbp - 0x60]
mov rcx, qword [rax + 0xc]
mov rdx, qword [rbp - 0x10]
sub rsp, 0x20
call fcn.140001db0
add rsp, 0x20
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax]
sub rsp, 0x20
call r14
add rsp, 0x20
mov rax, qword [rbp - 0x10]
mov rax, qword [rax]
mov rcx, qword [rbp - 8]
mov dword [rcx], 0x4493bd64
mov rcx, qword [rbp - 0x38]
mov qword [rcx], rax
jmp 0x1400028c5
cmp dword [0x1400a9d54], 0xa
jl 0x140002990
mov eax, dword [0x1400a9d50]
lea ecx, [rax + 1]
imul ecx, eax
and ecx, 1
jne 0x1400029fb
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
mov rax, qword [rbp - 0x20]
mov rax, qword [rax]
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
mov rax, qword [rbp - 0x48]
mov rax, qword [rax]
mov rax, qword [rbp - 0x50]
mov rax, qword [rax]
mov rax, qword [rbp - 0x30]
mov rax, qword [rax]
mov edx, dword [0x1400a9d4c]
mov ecx, dword [0x1400a9d48]
cmp ecx, 0xa
setl r8b
cmp ecx, 9
setg cl
lea ebx, [rdx + 1]
imul ebx, edx
test bl, 1
sete dl
test r8b, dl
jne 0x140002a2e
and cl, dl
mov eax, r8d
xor al, dl
xor al, cl
or dl, r8b
xor dl, r8b
xor dl, al
jne 0x140002a2e
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
mov rax, qword [rbp - 0x20]
mov rax, qword [rax]
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
mov rax, qword [rbp - 0x48]
mov rax, qword [rax]
mov rax, qword [rbp - 0x50]
mov rax, qword [rax]
mov rax, qword [rbp - 0x30]
mov rax, qword [rax]
jmp 0x140002990
mov rsi, qword [rbp - 0x70]
mov rcx, qword [rbp]
xor rcx, rbp
sub rsp, 0x20
call fcn.140045a40
add rsp, 0x20
mov rax, rsi
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret