Function at 0x140017548
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 - 0x378]
sub rsp, 0x450
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1400f7040]
xor rax, rsp
mov qword [rbp + 0x330], rax
mov r13, rcx
mov qword [rbp - 0x60], rcx
xor r12d, r12d
mov dword [rsp + 0x30], r12d
mov qword [rcx], r12
mov qword [rcx + 8], r12
mov qword [rcx + 0x10], r12
lea r15d, [r12 + 1]
mov dword [rsp + 0x30], r15d
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [r12 + 0x1c]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
xorps xmm0, xmm0
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x40], r12
movups xmmword [rbp - 0x58], xmm0
test eax, eax
js 0x1400175f7
lea rax, [rbp + 0xb0]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], r12w
jne 0x1400175e4
lea rdx, [rbp + 0xb0]
jmp 0x140017601
xor r8d, r8d
lea rdx, [0x1400e4850]
lea rcx, [rbp - 0x58]
call fcn.14000d5d0
mov dword [rsp + 0x30], 0x1001
movabs rcx, 0x7ffffffffffffffe
mov rax, rcx
mov rbx, qword [rbp - 0x48]
sub rax, rbx
cmp rax, 0xc
jb 0x140017ed1
lea r14, [rbp - 0x58]
mov edx, 7
cmp qword [rbp - 0x40], rdx
cmova r14, qword [rbp - 0x58]
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], r12
lea rsi, [rbx + 0xc]
mov eax, edx
lea rdi, [rbp + 0x10]
lea r8d, [rdx + 3]
cmp rsi, rdx
jbe 0x140017694
mov rax, rsi
or rax, rdx
cmp rax, rcx
ja 0x140017679
mov rcx, rax
cmp rax, r8
cmovb rcx, r8
mov qword [rsp + 0x38], rcx
lea rdx, [rsp + 0x38]
call fcn.1400046b0
mov rdi, rax
mov qword [rbp + 0x10], rax
mov rax, qword [rsp + 0x38]
mov qword [rbp + 0x20], rsi
mov qword [rbp + 0x28], 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 [0x1400e4870]
movsd qword [rdi + rbx + 0x10], xmm0
mov word [rdi + rsi*2], r12w
mov dword [rsp + 0x30], 0x3001
lea rdx, [rbp + 0x10]
cmp qword [rbp + 0x28], 7
cmova rdx, qword [rbp + 0x10]
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], r12
mov qword [rbp + 8], r12
mov r8, qword [rbp + 0x20]
lea rcx, [rbp - 0x10]
call fcn.14000d5d0
mov esi, 0xf001
mov dword [rsp + 0x30], esi
xorps xmm6, xmm6
movdqa xmmword [rbp - 0x80], xmm6
xor r8d, r8d
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0xb0]
call fcn.14001700c
nop
cmp byte [rbp + 0x328], r12b
je 0x140017780
mov ecx, 0x58
call fcn.1400b68e0
mov rdi, rax
mov qword [rbp - 0x30], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], r15d
mov dword [rax + 0xc], r15d
lea rax, vtable.std::_Ref_count_obj2_struct_std::filesystem::_Dir_enum_impl_.0
mov qword [rdi], rax
lea rbx, [rdi + 0x10]
lea rdx, [rbp + 0xb0]
mov rcx, rbx
call fcn.140017388
nop
mov esi, 0x1f001
mov dword [rsp + 0x30], esi
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], rdi
movdqa xmm6, xmmword [rbp - 0x80]
jmp 0x14001778d
xorps xmm0, xmm0
psrldq xmm0, 8
movq rdi, xmm0
mov ebx, dword [rbp + 0x32c]
mov rcx, qword [rbp + 0xd0]
call fcn.1400b7d40
lea rcx, [rbp + 0xb0]
call fcn.1400033b0
test ebx, ebx
jne 0x140017ed7
lea rcx, [rbp - 0x10]
call fcn.1400033b0
test rdi, rdi
je 0x1400177c6
lock add dword [rdi + 8], r15d
movdqa xmmword [rsp + 0x60], xmm6
test rdi, rdi
je 0x1400177d6
lock add dword [rdi + 8], r15d
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
test rdi, rdi
je 0x14001780f
or eax, 0xffffffff
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x14001780f
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x14001780f
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
nop
mov r14, qword [rsp + 0x68]
mov r15, qword [rsp + 0x60]
test r15, r15
je 0x140017e0a
mov dword [rsp + 0x40], r12d
mov ecx, dword [r15 + 0x1c]
mov eax, ecx
and eax, 3
cmp al, 3
jne 0x140017871
mov ecx, dword [r15 + 0x10]
mov eax, ecx
shr eax, 0xa
test al, 1
je 0x140017863
cmp dword [r15 + 0x14], 0xa000000c
jne 0x140017852
mov ecx, 4
jmp 0x1400178d0
cmp dword [r15 + 0x14], 0xa0000003
jne 0x140017863
mov ecx, 0xa
jmp 0x1400178d0
shr ecx, 4
movzx ecx, cl
and ecx, 1
or ecx, 2
jmp 0x1400178d0
shr ecx, 1
test cl, 1
je 0x14001787e
mov r9d, dword [r15 + 0x10]
jmp 0x140017882
or r9d, 0xffffffff
lea rbx, [r15 + 0x20]
mov rcx, rbx
cmp qword [rbx + 0x18], 7
jbe 0x140017893
mov rcx, qword [rbx]
mov r8d, 3
lea rdx, [rbp - 0x30]
call fcn.1400b7e04
mov dword [rsp + 0x48], eax
lea r8, [rbp - 0x30]
mov edx, eax
lea rcx, [rsp + 0x40]
call fcn.1400025a0
mov edx, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x40]
test edx, edx
je 0x1400178d0
lea eax, [rcx - 1]
test eax, 0xfffffff7
jne 0x140017eb9
cmp ecx, 2
jne 0x140017c7f
lea rax, str..log
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], 4
movaps xmm0, xmmword [rbp - 0x70]
movdqa xmmword [rbp - 0x30], xmm0
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x70]
call fcn.1400047f8
or esi, 0x20
or esi, 2
mov dword [rsp + 0x30], esi
lea r12, [r15 + 0x20]
mov rcx, r12
cmp qword [r12 + 0x18], 7
jbe 0x14001791f
mov rcx, qword [r12]
lea rax, [r12 + 0x10]
mov qword [rbp - 0x30], rax
mov rax, qword [rax]
lea rdx, [rcx + rax*2]
mov rbx, rdx
call fcn.140016b3c
jmp 0x140017949
cmp word [rax], 0x5c
je 0x140017945
cmp word [rax], 0x2f
jne 0x14001794e
add rax, 2
cmp rax, rdx
jne 0x140017939
cmp rax, rdx
je 0x14001796b
lea rcx, [rbx - 2]
cmp word [rcx], 0x5c
je 0x14001796b
cmp word [rcx], 0x2f
je 0x14001796b
mov rbx, rcx
cmp rax, rcx
jne 0x140017953
mov r8d, 0x3a
mov rcx, rbx
call fcn.1400b83c0
cmp rbx, rax
je 0x1400179ad
lea rdx, [rax - 2]
cmp rbx, rdx
je 0x1400179ad
cmp word [rdx], 0x2e
jne 0x1400179a4
lea rcx, [rdx - 2]
cmp rbx, rcx
jne 0x1400179b0
cmp word [rcx], 0x2e
jne 0x1400179b0
jmp 0x1400179ad
cmp word [rdx], 0x2e
je 0x1400179b0
sub rdx, 2
cmp rbx, rdx
jne 0x14001799e
mov rdx, rax
sub rax, rdx
sar rax, 1
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
and qword [rbp + 0x40], 0
and qword [rbp + 0x48], 0
mov r8, rax
lea rcx, [rbp + 0x30]
call fcn.14000d5d0
or esi, 0x1c0
or esi, 4
mov dword [rsp + 0x30], esi
lea rax, [rbp + 0x70]
cmp qword [rbp + 0x88], 7
cmova rax, qword [rbp + 0x70]
mov qword [rsp + 0x38], rax
mov r11, qword [rbp + 0x80]
lea rcx, [rbp + 0x30]
cmp qword [rbp + 0x48], 7
cmova rcx, qword [rbp + 0x30]
mov qword [rsp + 0x70], rcx
mov rax, qword [rbp + 0x40]
lea rbx, [rcx + rax*2]
mov rdx, rbx
call fcn.140016b3c
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x38]
lea rdx, [rcx + r11*2]
mov qword [rsp + 0x58], rdx
mov r11, rcx
call fcn.140016b3c
mov r10, rax
mov rdx, rax
sub rdx, rcx
sar rdx, 1
mov rax, qword [rsp + 0x50]
mov r8, rax
mov rcx, qword [rsp + 0x70]
sub r8, rcx
sar r8, 1
mov r9, r8
cmp rdx, r8
cmovb r9, rdx
test r9, r9
je 0x140017a89
movzx eax, word [r11]
cmp word [rcx], ax
jne 0x140017c7c
add rcx, 2
add r11, 2
sub r9, 1
jne 0x140017a69
mov rax, qword [rsp + 0x50]
cmp r8, rdx
jb 0x140017c7c
ja 0x140017c7c
mov rdx, rax
cmp rax, rbx
je 0x140017ab5
cmp word [rdx], 0x5c
je 0x140017aac
cmp word [rdx], 0x2f
jne 0x140017ab5
add rdx, 2
cmp rdx, rbx
jne 0x140017aa0
mov r8, r10
mov r10, qword [rsp + 0x58]
mov r9, r8
jmp 0x140017ad4
cmp word [r8], 0x5c
je 0x140017ad0
cmp word [r8], 0x2f
jne 0x140017ad9
add r8, 2
cmp r8, r10
jne 0x140017ac2
xor ecx, ecx
cmp rax, rdx
setne cl
xor eax, eax
cmp r9, r8
setne al
cmp ecx, eax
jne 0x140017c7c
xor ecx, ecx
cmp r8, r10
sete cl
xor eax, eax
cmp rdx, rbx
sete al
jmp 0x140017b6c
test ecx, ecx
jne 0x140017c7c
cmp word [rdx], 0x5c
je 0x140017b1c
cmp word [rdx], 0x2f
je 0x140017b1c
xor r9b, r9b
jmp 0x140017b1f
mov r9b, 1
cmp word [r8], 0x5c
je 0x140017b31
cmp word [r8], 0x2f
je 0x140017b31
xor ecx, ecx
jmp 0x140017b36
mov ecx, 1
movzx eax, r9b
cmp ecx, eax
jne 0x140017c7c
test r9b, r9b
jne 0x140017bab
movzx eax, word [r8]
cmp word [rdx], ax
jne 0x140017c7c
add rdx, 2
add r8, 2
xor eax, eax
cmp rdx, rbx
sete al
xor ecx, ecx
cmp r8, r10
sete cl
sub ecx, eax
cmp rdx, rbx
jne 0x140017b03
test ecx, ecx
jne 0x140017c7c
cmp qword [r12 + 0x18], 7
jbe 0x140017b87
mov r12, qword [r12]
mov rax, qword [rbp - 0x30]
mov rax, qword [rax]
lea rdx, [r12 + rax*2]
mov r11, rdx
mov rcx, r12
call fcn.140016b3c
jmp 0x140017bdf
cmp word [rdx], 0x5c
je 0x140017bab
cmp word [rdx], 0x2f
jne 0x140017bc4
add rdx, 2
cmp rdx, rbx
jne 0x140017b9f
jmp 0x140017bc4
cmp word [r8], 0x5c
je 0x140017bc4
cmp word [r8], 0x2f
jne 0x140017b5c
add r8, 2
cmp r8, r10
jne 0x140017bb6
jmp 0x140017b5c
cmp word [rax], 0x5c
je 0x140017bdb
cmp word [rax], 0x2f
jne 0x140017be4
add rax, 2
cmp rax, rdx
jne 0x140017bcf
cmp rax, rdx
je 0x140017c01
lea rcx, [r11 - 2]
cmp word [rcx], 0x5c
je 0x140017c01
cmp word [rcx], 0x2f
je 0x140017c01
mov r11, rcx
cmp rax, rcx
jne 0x140017be9
sub rdx, r11
sar rdx, 1
xorps xmm0, xmm0
movups xmmword [rbp + 0x50], xmm0
xor r12d, r12d
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x68], r12
mov r8, rdx
mov rdx, r11
lea rcx, [rbp + 0x50]
call fcn.14000d5d0
or esi, 0xe00
or esi, 8
mov dword [rsp + 0x30], esi
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0x50]
call fcn.140008e1c
or esi, 0x10
mov dword [rsp + 0x30], esi
mov rdx, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x140017c5a
mov rax, qword [rax]
mov qword [rsp + 0x20], 6
lea r9, str.Player
mov rcx, rax
call fcn.140006e90
cmp rax, 0xffffffffffffffff
je 0x140017c7f
mov bl, 1
jmp 0x140017c82
xor r12d, r12d
mov bl, r12b
test sil, 0x10
je 0x140017ce9
and esi, 0xffffffef
mov dword [rsp + 0x30], esi
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0xf
jbe 0x140017cd0
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140017ccb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140017e03
call fcn.1400b6924
mov qword [rbp + 0xa0], r12
mov qword [rbp + 0xa8], 0xf
mov byte [rbp + 0x90], r12b
test sil, 8
je 0x140017d00
and esi, 0xfffffff7
mov dword [rsp + 0x30], esi
lea rcx, [rbp + 0x50]
call fcn.1400033b0
nop
test sil, 4
je 0x140017d17
and esi, 0xfffffffb
mov dword [rsp + 0x30], esi
lea rcx, [rbp + 0x30]
call fcn.1400033b0
nop
test sil, 2
je 0x140017d2d
and esi, 0xfffffffd
mov dword [rsp + 0x30], esi
lea rcx, [rbp + 0x70]
call fcn.1400033b0
test bl, bl
je 0x140017d5c
lea r8, [r15 + 0x20]
mov rax, qword [r13 + 8]
cmp rax, qword [r13 + 0x10]
je 0x140017d51
mov rdx, r8
mov rcx, rax
call fcn.140003414
add qword [r13 + 8], 0x20
jmp 0x140017d5c
mov rdx, rax
mov rcx, r13
call fcn.1400188e4
lea rdx, [rbp + 0xb0]
mov rcx, qword [r15 + 0x40]
call fcn.1400b7d20
cmp eax, 0x12
je 0x140017db0
test eax, eax
jne 0x140017ec9
cmp word [rbp + 0xdc], 0x2e
jne 0x140017d9f
movzx eax, word [rbp + 0xde]
test ax, ax
je 0x140017d5c
cmp ax, 0x2e
jne 0x140017d9f
cmp word [rbp + 0xe0], r12w
je 0x140017d5c
lea rdx, [rbp + 0xb0]
mov rcx, r15
call fcn.140017208
jmp 0x140017df3
mov r15, r12
mov qword [rsp + 0x60], r12
mov rbx, r14
mov r14, r12
mov qword [rsp + 0x68], r12
test rbx, rbx
je 0x140017df3
or eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140017df3
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140017df3
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov eax, r12d
test eax, eax
jne 0x140017ec9
jmp 0x140017819
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
test r14, r14
je 0x140017e3d
or eax, 0xffffffff
lock xadd dword [r14 + 8], eax
cmp eax, 1
jne 0x140017e3d
mov rax, qword [r14]
mov rcx, r14
call qword [rax]
or eax, 0xffffffff
lock xadd dword [r14 + 0xc], eax
cmp eax, 1
jne 0x140017e3d
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
nop
test rdi, rdi
je 0x140017e6e
or eax, 0xffffffff
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x140017e6e
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
or edx, 0xffffffff
lock xadd dword [rdi + 0xc], edx
cmp edx, 1
jne 0x140017e6e
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 8]
nop
lea rcx, [rbp + 0x10]
call fcn.1400033b0
nop
lea rcx, [rbp - 0x58]
call fcn.1400033b0
mov rax, r13
mov rcx, qword [rbp + 0x330]
xor rcx, rsp
call fcn.1400b68c0
lea r11, [rsp + 0x450]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov r8, rbx
lea rcx, str.directory_entry::status
call fcn.140016fac
int3
mov edx, eax
call fcn.140016f50
nop
call fcn.140001860
nop
lea r8, [rbp - 0x10]
mov edx, ebx
lea rcx, str.directory_iterator::directory_iterator
call fcn.140016fac
int3