Function at 0x1400154f8
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x578]
sub rsp, 0x650
mov rax, qword [0x1400ef040]
xor rax, rsp
mov qword [rbp + 0x540], rax
mov r15, rcx
mov qword [rbp - 0x78], rcx
mov qword [rbp - 0x60], rcx
xor r13d, r13d
mov dword [rsp + 0x30], r13d
mov qword [rcx], r13
mov qword [rcx + 8], r13
mov qword [rcx + 0x10], r13
mov dword [rsp + 0x30], 1
lea rax, [rbp + 0x330]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r13 + 0x1c]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
xorps xmm0, xmm0
mov qword [rbp + 8], r13
mov qword [rbp + 0x10], r13
movups xmmword [rbp - 8], xmm0
test eax, eax
js 0x1400155a4
lea rax, [rbp + 0x330]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], r13w
jne 0x140015591
lea rdx, [rbp + 0x330]
jmp 0x1400155ae
xor r8d, r8d
lea rdx, [0x1400dce8c]
lea rcx, [rbp - 8]
call fcn.1400054b8
mov dword [rsp + 0x30], 0x10001
movabs rcx, 0x7ffffffffffffffe
mov rax, rcx
mov rbx, qword [rbp + 8]
sub rax, rbx
cmp rax, 0xc
jb 0x140015e9e
lea r14, [rbp - 8]
cmp qword [rbp + 0x10], 7
cmova r14, qword [rbp - 8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x18], xmm0
mov qword [rbp + 0x28], r13
mov qword [rbp + 0x30], r13
lea rsi, [rbx + 0xc]
mov eax, 7
mov qword [rbp - 0x80], rax
lea rdi, [rbp + 0x18]
lea r12d, [rax + 3]
cmp rsi, rax
jbe 0x140015642
mov rax, rsi
or rax, 7
cmp rax, rcx
ja 0x14001562a
mov rcx, rax
cmp rax, r12
cmovb rcx, r12
mov qword [rbp - 0x80], rcx
lea rdx, [rbp - 0x80]
call fcn.1400064ac
mov rdi, rax
mov qword [rbp + 0x18], rax
mov rax, qword [rbp - 0x80]
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x30], rax
add rbx, rbx
mov r8, rbx
mov rdx, r14
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [str.Robloxlogs]
movups xmmword [rdi + rbx], xmm0
movsd xmm0, qword [0x1400dce80]
movsd qword [rdi + rbx + 0x10], xmm0
mov word [rdi + rsi*2], r13w
mov dword [rsp + 0x30], 0x30001
lea rdx, [rbp + 0x18]
cmp qword [rbp + 0x30], 7
cmova rdx, qword [rbp + 0x18]
xorps xmm0, xmm0
movups xmmword [rbp + 0x78], xmm0
mov qword [rbp + 0x88], r13
mov qword [rbp + 0x90], r13
mov r8, qword [rbp + 0x28]
lea rcx, [rbp + 0x78]
call fcn.1400054b8
mov edi, 0xf0001
mov dword [rsp + 0x30], edi
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x70], xmm0
lea rdx, [rbp + 0x78]
lea rcx, [rsp + 0x70]
call fcn.140016278
test eax, eax
jne 0x140015ea4
lea rcx, [rbp + 0x78]
call fcn.140004b8c
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x1400156f9
lock inc dword [rcx + 8]
mov rcx, qword [rsp + 0x78]
mov edi, dword [rsp + 0x30]
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x60], xmm0
test rcx, rcx
je 0x140015716
lock inc dword [rcx + 8]
mov rcx, qword [rsp + 0x78]
mov edi, dword [rsp + 0x30]
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x58], xmm1
test rcx, rcx
je 0x140015759
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140015755
mov rbx, qword [rsp + 0x78]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140015755
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
call qword [rax + 8]
mov edi, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x40], rcx
test rsi, rsi
je 0x140015ddb
mov dword [rsp + 0x48], r13d
mov eax, dword [rsi + 0x1c]
and eax, 3
cmp al, 3
jne 0x1400157bd
test dword [rsi + 0x10], 0x400
je 0x1400157ae
cmp dword [rsi + 0x14], 0xa000000c
jne 0x1400157a0
mov ecx, 4
mov dword [rsp + 0x48], ecx
jmp 0x140015821
cmp dword [rsi + 0x14], 0xa0000003
jne 0x1400157ae
mov ecx, r12d
jmp 0x140015797
movzx ecx, byte [rsi + 0x10]
and ecx, 0x10
or ecx, 0x20
shr ecx, 4
jmp 0x140015797
test byte [rsi + 0x1c], 2
je 0x1400157c9
mov r9d, dword [rsi + 0x10]
jmp 0x1400157cd
or r9d, 0xffffffff
lea rbx, [rsi + 0x20]
mov rcx, rbx
cmp qword [rbx + 0x18], 7
jbe 0x1400157de
mov rcx, qword [rbx]
mov r8d, 3
lea rdx, [rbp + 0xb8]
call fcn.1400b771c
mov dword [rsp + 0x50], eax
lea r8, [rbp + 0xb8]
mov edx, eax
lea rcx, [rsp + 0x48]
call fcn.140003214
mov edx, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x48]
test edx, edx
je 0x140015821
lea eax, [rcx - 1]
test eax, 0xfffffff7
jne 0x140015eb7
cmp ecx, 2
jne 0x140015a08
lea rax, str..log
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], 4
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x98]
call fcn.140006584
or edi, 0x20
or edi, 2
mov dword [rsp + 0x30], edi
lea rcx, [rsi + 0x20]
cmp qword [rsi + 0x38], 7
jbe 0x140015866
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x30]
lea rdx, [rcx + rax*2]
mov rbx, rdx
call fcn.140014d8c
jmp 0x140015888
cmp word [rax], 0x5c
je 0x140015884
cmp word [rax], 0x2f
jne 0x14001588d
add rax, 2
cmp rax, rdx
jne 0x140015878
cmp rax, rdx
je 0x1400158aa
lea rcx, [rbx - 2]
cmp word [rcx], 0x5c
je 0x1400158aa
cmp word [rcx], 0x2f
je 0x1400158aa
mov rbx, rcx
cmp rax, rcx
jne 0x140015892
mov r8d, 0x3a
mov rcx, rbx
call fcn.1400b7b00
cmp rbx, rax
je 0x1400158ec
lea rdx, [rax - 2]
cmp rbx, rdx
je 0x1400158ec
cmp word [rdx], 0x2e
jne 0x1400158e3
lea rcx, [rdx - 2]
cmp rbx, rcx
jne 0x1400158ef
cmp word [rcx], 0x2e
jne 0x1400158ef
jmp 0x1400158ec
cmp word [rdx], 0x2e
je 0x1400158ef
sub rdx, 2
cmp rbx, rdx
jne 0x1400158dd
mov rdx, rax
sub rax, rdx
sar rax, 1
xorps xmm0, xmm0
movups xmmword [rbp + 0x58], xmm0
mov qword [rbp + 0x68], r13
mov qword [rbp + 0x70], r13
mov r8, rax
lea rcx, [rbp + 0x58]
call fcn.1400054b8
or edi, 0x1c0
or edi, 4
mov dword [rsp + 0x30], edi
lea rbx, [rbp + 0x98]
cmp qword [rbp + 0xb0], 7
cmova rbx, qword [rbp + 0x98]
mov r11, qword [rbp + 0xa8]
lea r15, [rbp + 0x58]
cmp qword [rbp + 0x70], 7
cmova r15, qword [rbp + 0x58]
mov rax, qword [rbp + 0x68]
lea r14, [r15 + rax*2]
mov rdx, r14
mov rcx, r15
call fcn.140014d8c
mov r12, rax
lea r11, [rbx + r11*2]
mov rdx, r11
mov rcx, rbx
call fcn.140014d8c
mov r9, rax
mov rdx, rax
sub rdx, rbx
sar rdx, 1
mov r8, r12
sub r8, r15
sar r8, 1
mov rcx, r8
cmp rdx, r8
cmovb rcx, rdx
test rcx, rcx
je 0x1400159a9
sub r15, rbx
movzx eax, word [rbx + r15]
cmp ax, word [rbx]
jne 0x140015a08
add rbx, 2
sub rcx, 1
jne 0x140015995
cmp r8, rdx
jb 0x140015a08
ja 0x140015a08
mov rdx, r12
mov bx, 0x5c
cmp r12, r14
je 0x1400159d0
cmp word [rdx], bx
je 0x1400159c7
cmp word [rdx], 0x2f
jne 0x1400159d0
add rdx, 2
cmp rdx, r14
jne 0x1400159bc
mov r8, r9
cmp r9, r11
je 0x1400159ee
cmp word [r8], bx
je 0x1400159e5
cmp word [r8], 0x2f
jne 0x1400159ee
add r8, 2
cmp r8, r11
jne 0x1400159d8
mov ecx, r13d
cmp r9, r8
setne cl
mov eax, r13d
cmp r12, rdx
setne al
cmp eax, ecx
je 0x140015b38
mov r14, qword [rbp - 0x10]
mov rbx, qword [rbp - 0x28]
mov r15b, r13b
test dil, 0x10
je 0x140015a67
and edi, 0xffffffef
mov dword [rsp + 0x30], edi
cmp r14, 0xf
jbe 0x140015a57
lea rdx, [r14 + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140015a4f
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015dd4
mov rcx, rbx
call fcn.1400b6464
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x10], 0xf
mov byte [rbp - 0x28], r13b
test dil, 8
je 0x140015a7e
and edi, 0xfffffff7
mov dword [rsp + 0x30], edi
lea rcx, [rbp + 0x38]
call fcn.140004b8c
nop
test dil, 4
je 0x140015a95
and edi, 0xfffffffb
mov dword [rsp + 0x30], edi
lea rcx, [rbp + 0x58]
call fcn.140004b8c
nop
test dil, 2
je 0x140015aae
and edi, 0xfffffffd
mov dword [rsp + 0x30], edi
lea rcx, [rbp + 0x98]
call fcn.140004b8c
test r15b, r15b
mov r15, qword [rbp - 0x78]
je 0x140015d15
lea r8, [rsi + 0x20]
mov rax, qword [r15 + 8]
cmp rax, qword [r15 + 0x10]
je 0x140015d0a
mov rdx, r8
mov rcx, rax
call fcn.140004bf0
add qword [r15 + 8], 0x20
jmp 0x140015d15
test ecx, ecx
jne 0x140015a08
cmp word [rdx], bx
je 0x140015af8
cmp word [rdx], 0x2f
mov r9b, r13b
jne 0x140015afb
mov r9b, 1
cmp word [r8], bx
je 0x140015b0b
cmp word [r8], 0x2f
mov ecx, r13d
jne 0x140015b10
mov ecx, 1
movzx eax, r9b
cmp ecx, eax
jne 0x140015a08
test r9b, r9b
jne 0x140015b85
movzx eax, word [r8]
movzx ecx, word [rdx]
cmp ecx, eax
jne 0x140015a08
add rdx, 2
add r8, 2
mov ecx, r13d
cmp r8, r11
sete cl
mov eax, r13d
cmp rdx, r14
sete al
sub ecx, eax
cmp rdx, r14
jne 0x140015ae2
test ecx, ecx
jne 0x140015a08
lea rcx, [rsi + 0x20]
cmp qword [rsi + 0x38], 7
jbe 0x140015b68
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x30]
lea rdx, [rcx + rax*2]
mov r11, rdx
call fcn.140014d8c
jmp 0x140015bb7
cmp word [rdx], bx
je 0x140015b85
cmp word [rdx], 0x2f
jne 0x140015b9d
add rdx, 2
cmp rdx, r14
jne 0x140015b7a
jmp 0x140015b9d
cmp word [r8], bx
je 0x140015b9d
cmp word [r8], 0x2f
jne 0x140015b38
add r8, 2
cmp r8, r11
jne 0x140015b90
jmp 0x140015b38
cmp word [rax], bx
je 0x140015bb3
cmp word [rax], 0x2f
jne 0x140015bbc
add rax, 2
cmp rax, rdx
jne 0x140015ba8
cmp rax, rdx
je 0x140015bd8
lea rcx, [r11 - 2]
cmp word [rcx], bx
je 0x140015bd8
cmp word [rcx], 0x2f
je 0x140015bd8
mov r11, rcx
cmp rax, rcx
jne 0x140015bc1
sub rdx, r11
sar rdx, 1
xorps xmm0, xmm0
movups xmmword [rbp + 0x38], xmm0
mov qword [rbp + 0x48], r13
mov qword [rbp + 0x50], r13
mov r8, rdx
mov rdx, r11
lea rcx, [rbp + 0x38]
call fcn.1400054b8
or edi, 0xe000
or edi, 8
lea r12, [rbp + 0x38]
cmp qword [rbp + 0x50], 7
cmova r12, qword [rbp + 0x38]
mov r15, qword [rbp + 0x48]
call fcn.1400b7390
mov r13d, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
xor edx, edx
mov qword [rbp - 0x18], rdx
lea r14d, [rdx + 0xf]
mov qword [rbp - 0x10], r14
mov byte [rbp - 0x28], dl
bts edi, 0xc
mov dword [rsp + 0x30], edi
test r15, r15
je 0x140015cc2
cmp r15, 0x7fffffff
ja 0x140015edb
and dword [rsp + 0x20], edx
xor r9d, r9d
mov r8d, r15d
mov rdx, r12
mov ecx, eax
call fcn.1400b7400
mov rbx, rax
mov qword [rsp + 0x38], rax
shr rax, 0x20
test eax, eax
jne 0x140015ed1
movsxd rdx, ebx
lea rcx, [rbp - 0x28]
call fcn.14000516c
lea r9, [rbp - 0x28]
cmp qword [rbp - 0x10], r14
cmova r9, qword [rbp - 0x28]
mov dword [rsp + 0x20], ebx
mov r8d, r15d
mov rdx, r12
mov ecx, r13d
call fcn.1400b7400
mov qword [rsp + 0x38], rax
shr rax, 0x20
xor r13d, r13d
test eax, eax
jne 0x140015ec7
mov r14, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x18]
jmp 0x140015cc5
xor r13d, r13d
btr edi, 0xc
or edi, 0xe10
mov dword [rsp + 0x30], edi
lea rcx, [rbp - 0x28]
mov rbx, qword [rbp - 0x28]
cmp r14, 0xf
cmova rcx, rbx
mov qword [rsp + 0x20], 6
lea r9, str.Player
call fcn.1400070d0
cmp rax, 0xffffffffffffffff
je 0x140015a10
mov r15b, 1
jmp 0x140015a13
mov rdx, rax
mov rcx, r15
call fcn.140016b50
lea rdx, [rbp + 0xe0]
mov rcx, qword [rsi + 0x40]
call fcn.1400b7668
cmp eax, 0x12
je 0x140015d77
test eax, eax
jne 0x140015e96
cmp word [rbp + 0x10c], 0x2e
jne 0x140015d58
movzx eax, word [rbp + 0x10e]
test ax, ax
je 0x140015d15
cmp ax, 0x2e
jne 0x140015d58
cmp word [rbp + 0x110], r13w
je 0x140015d15
lea rdx, [rbp + 0xe0]
mov rcx, rsi
call fcn.1400151bc
mov rcx, qword [rsp + 0x40]
mov r12d, 0xa
jmp 0x140015768
mov rsi, r13
mov qword [rsp + 0x60], r13
mov rbx, qword [rsp + 0x40]
mov rcx, r13
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x68], rcx
test rbx, rbx
mov r12d, 0xa
je 0x140015768
or eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140015dcb
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140015dcb
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov edi, dword [rsp + 0x30]
jmp 0x140015759
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
test rcx, rcx
je 0x140015e13
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140015e13
mov rbx, qword [rsp + 0x68]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140015e13
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140015e50
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140015e50
mov rbx, qword [rsp + 0x78]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140015e50
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rcx]
call qword [rdx + 8]
nop
lea rcx, [rbp + 0x18]
call fcn.140004b8c
nop
lea rcx, [rbp - 8]
call fcn.140004b8c
mov rax, r15
mov rcx, qword [rbp + 0x540]
xor rcx, rsp
call fcn.1400b61c0
lea r11, [rsp + 0x650]
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 edx, eax
call fcn.140015160
nop
call fcn.1400023b0
nop
lea r8, [rbp + 0x78]
mov edx, eax
lea rcx, str.directory_iterator::directory_iterator
call fcn.14000315c
nop
mov r8, rbx
lea rcx, str.directory_entry::status
call fcn.14000315c
nop
mov ecx, dword [rsp + 0x3c]
call fcn.140002b88
int3
mov ecx, dword [rsp + 0x3c]
call fcn.140002b88
int3
call fcn.140002950
int3