Function at 0x140015b80
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 [0x1400f3040]
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 0x140015c2c
lea rax, [rbp + 0x330]
or r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], r13w
jne 0x140015c19
lea rdx, [rbp + 0x330]
jmp 0x140015c36
xor r8d, r8d
lea rdx, [0x1400dff50]
lea rcx, [rbp - 8]
call fcn.140005988
mov dword [rsp + 0x30], 0x10001
movabs rcx, 0x7ffffffffffffffe
mov rax, rcx
mov rbx, qword [rbp + 8]
sub rax, rbx
cmp rax, 0xc
jb 0x140016526
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 0x140015cca
mov rax, rsi
or rax, 7
cmp rax, rcx
ja 0x140015cb2
mov rcx, rax
cmp rax, r12
cmovb rcx, r12
mov qword [rbp - 0x80], rcx
lea rdx, [rbp - 0x80]
call fcn.140006abc
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 [0x1400dff70]
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.140005988
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.140016900
test eax, eax
jne 0x14001652c
lea rcx, [rbp + 0x78]
call fcn.14000505c
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140015d81
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 0x140015d9e
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 0x140015de1
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140015ddd
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 0x140015ddd
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 0x140016463
mov dword [rsp + 0x48], r13d
mov eax, dword [rsi + 0x1c]
and eax, 3
cmp al, 3
jne 0x140015e45
test dword [rsi + 0x10], 0x400
je 0x140015e36
cmp dword [rsi + 0x14], 0xa000000c
jne 0x140015e28
mov ecx, 4
mov dword [rsp + 0x48], ecx
jmp 0x140015ea9
cmp dword [rsi + 0x14], 0xa0000003
jne 0x140015e36
mov ecx, r12d
jmp 0x140015e1f
movzx ecx, byte [rsi + 0x10]
and ecx, 0x10
or ecx, 0x20
shr ecx, 4
jmp 0x140015e1f
test byte [rsi + 0x1c], 2
je 0x140015e51
mov r9d, dword [rsi + 0x10]
jmp 0x140015e55
or r9d, 0xffffffff
lea rbx, [rsi + 0x20]
mov rcx, rbx
cmp qword [rbx + 0x18], 7
jbe 0x140015e66
mov rcx, qword [rbx]
mov r8d, 3
lea rdx, [rbp + 0xb8]
call fcn.1400ba2ac
mov dword [rsp + 0x50], eax
lea r8, [rbp + 0xb8]
mov edx, eax
lea rcx, [rsp + 0x48]
call fcn.1400036e4
mov edx, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x48]
test edx, edx
je 0x140015ea9
lea eax, [rcx - 1]
test eax, 0xfffffff7
jne 0x14001653f
cmp ecx, 2
jne 0x140016090
lea rax, str..log
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], 4
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x98]
call fcn.140006b94
or edi, 0x20
or edi, 2
mov dword [rsp + 0x30], edi
lea rcx, [rsi + 0x20]
cmp qword [rsi + 0x38], 7
jbe 0x140015eee
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x30]
lea rdx, [rcx + rax*2]
mov rbx, rdx
call fcn.140015414
jmp 0x140015f10
cmp word [rax], 0x5c
je 0x140015f0c
cmp word [rax], 0x2f
jne 0x140015f15
add rax, 2
cmp rax, rdx
jne 0x140015f00
cmp rax, rdx
je 0x140015f32
lea rcx, [rbx - 2]
cmp word [rcx], 0x5c
je 0x140015f32
cmp word [rcx], 0x2f
je 0x140015f32
mov rbx, rcx
cmp rax, rcx
jne 0x140015f1a
mov r8d, 0x3a
mov rcx, rbx
call fcn.1400ba690
cmp rbx, rax
je 0x140015f74
lea rdx, [rax - 2]
cmp rbx, rdx
je 0x140015f74
cmp word [rdx], 0x2e
jne 0x140015f6b
lea rcx, [rdx - 2]
cmp rbx, rcx
jne 0x140015f77
cmp word [rcx], 0x2e
jne 0x140015f77
jmp 0x140015f74
cmp word [rdx], 0x2e
je 0x140015f77
sub rdx, 2
cmp rbx, rdx
jne 0x140015f65
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.140005988
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.140015414
mov r12, rax
lea r11, [rbx + r11*2]
mov rdx, r11
mov rcx, rbx
call fcn.140015414
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 0x140016031
sub r15, rbx
movzx eax, word [rbx + r15]
cmp ax, word [rbx]
jne 0x140016090
add rbx, 2
sub rcx, 1
jne 0x14001601d
cmp r8, rdx
jb 0x140016090
ja 0x140016090
mov rdx, r12
mov bx, 0x5c
cmp r12, r14
je 0x140016058
cmp word [rdx], bx
je 0x14001604f
cmp word [rdx], 0x2f
jne 0x140016058
add rdx, 2
cmp rdx, r14
jne 0x140016044
mov r8, r9
cmp r9, r11
je 0x140016076
cmp word [r8], bx
je 0x14001606d
cmp word [r8], 0x2f
jne 0x140016076
add r8, 2
cmp r8, r11
jne 0x140016060
mov ecx, r13d
cmp r9, r8
setne cl
mov eax, r13d
cmp r12, rdx
setne al
cmp eax, ecx
je 0x1400161c0
mov r14, qword [rbp - 0x10]
mov rbx, qword [rbp - 0x28]
mov r15b, r13b
test dil, 0x10
je 0x1400160ef
and edi, 0xffffffef
mov dword [rsp + 0x30], edi
cmp r14, 0xf
jbe 0x1400160df
lea rdx, [r14 + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400160d7
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14001645c
mov rcx, rbx
call fcn.1400b8ff4
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x10], 0xf
mov byte [rbp - 0x28], r13b
test dil, 8
je 0x140016106
and edi, 0xfffffff7
mov dword [rsp + 0x30], edi
lea rcx, [rbp + 0x38]
call fcn.14000505c
nop
test dil, 4
je 0x14001611d
and edi, 0xfffffffb
mov dword [rsp + 0x30], edi
lea rcx, [rbp + 0x58]
call fcn.14000505c
nop
test dil, 2
je 0x140016136
and edi, 0xfffffffd
mov dword [rsp + 0x30], edi
lea rcx, [rbp + 0x98]
call fcn.14000505c
test r15b, r15b
mov r15, qword [rbp - 0x78]
je 0x14001639d
lea r8, [rsi + 0x20]
mov rax, qword [r15 + 8]
cmp rax, qword [r15 + 0x10]
je 0x140016392
mov rdx, r8
mov rcx, rax
call fcn.1400050c0
add qword [r15 + 8], 0x20
jmp 0x14001639d
test ecx, ecx
jne 0x140016090
cmp word [rdx], bx
je 0x140016180
cmp word [rdx], 0x2f
mov r9b, r13b
jne 0x140016183
mov r9b, 1
cmp word [r8], bx
je 0x140016193
cmp word [r8], 0x2f
mov ecx, r13d
jne 0x140016198
mov ecx, 1
movzx eax, r9b
cmp ecx, eax
jne 0x140016090
test r9b, r9b
jne 0x14001620d
movzx eax, word [r8]
movzx ecx, word [rdx]
cmp ecx, eax
jne 0x140016090
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 0x14001616a
test ecx, ecx
jne 0x140016090
lea rcx, [rsi + 0x20]
cmp qword [rsi + 0x38], 7
jbe 0x1400161f0
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x30]
lea rdx, [rcx + rax*2]
mov r11, rdx
call fcn.140015414
jmp 0x14001623f
cmp word [rdx], bx
je 0x14001620d
cmp word [rdx], 0x2f
jne 0x140016225
add rdx, 2
cmp rdx, r14
jne 0x140016202
jmp 0x140016225
cmp word [r8], bx
je 0x140016225
cmp word [r8], 0x2f
jne 0x1400161c0
add r8, 2
cmp r8, r11
jne 0x140016218
jmp 0x1400161c0
cmp word [rax], bx
je 0x14001623b
cmp word [rax], 0x2f
jne 0x140016244
add rax, 2
cmp rax, rdx
jne 0x140016230
cmp rax, rdx
je 0x140016260
lea rcx, [r11 - 2]
cmp word [rcx], bx
je 0x140016260
cmp word [rcx], 0x2f
je 0x140016260
mov r11, rcx
cmp rax, rcx
jne 0x140016249
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.140005988
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.1400b9f20
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 0x14001634a
cmp r15, 0x7fffffff
ja 0x140016563
and dword [rsp + 0x20], edx
xor r9d, r9d
mov r8d, r15d
mov rdx, r12
mov ecx, eax
call fcn.1400b9f90
mov rbx, rax
mov qword [rsp + 0x38], rax
shr rax, 0x20
test eax, eax
jne 0x140016559
movsxd rdx, ebx
lea rcx, [rbp - 0x28]
call fcn.14000563c
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.1400b9f90
mov qword [rsp + 0x38], rax
shr rax, 0x20
xor r13d, r13d
test eax, eax
jne 0x14001654f
mov r14, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x18]
jmp 0x14001634d
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.1400076e0
cmp rax, 0xffffffffffffffff
je 0x140016098
mov r15b, 1
jmp 0x14001609b
mov rdx, rax
mov rcx, r15
call fcn.1400171d8
lea rdx, [rbp + 0xe0]
mov rcx, qword [rsi + 0x40]
call fcn.1400ba1f8
cmp eax, 0x12
je 0x1400163ff
test eax, eax
jne 0x14001651e
cmp word [rbp + 0x10c], 0x2e
jne 0x1400163e0
movzx eax, word [rbp + 0x10e]
test ax, ax
je 0x14001639d
cmp ax, 0x2e
jne 0x1400163e0
cmp word [rbp + 0x110], r13w
je 0x14001639d
lea rdx, [rbp + 0xe0]
mov rcx, rsi
call fcn.140015844
mov rcx, qword [rsp + 0x40]
mov r12d, 0xa
jmp 0x140015df0
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 0x140015df0
or eax, 0xffffffff
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140016453
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
or eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140016453
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov edi, dword [rsp + 0x30]
jmp 0x140015de1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
test rcx, rcx
je 0x14001649b
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x14001649b
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 0x14001649b
mov rcx, qword [rsp + 0x68]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x1400164d8
or eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400164d8
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 0x1400164d8
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rcx]
call qword [rdx + 8]
nop
lea rcx, [rbp + 0x18]
call fcn.14000505c
nop
lea rcx, [rbp - 8]
call fcn.14000505c
mov rax, r15
mov rcx, qword [rbp + 0x540]
xor rcx, rsp
call fcn.1400b8d50
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.1400157e8
nop
call fcn.1400027d0
nop
lea r8, [rbp + 0x78]
mov edx, eax
lea rcx, str.directory_iterator::directory_iterator
call fcn.14000362c
nop
mov r8, rbx
lea rcx, str.directory_entry::status
call fcn.14000362c
nop
mov ecx, dword [rsp + 0x3c]
call fcn.140003058
int3
mov ecx, dword [rsp + 0x3c]
call fcn.140003058
int3
call fcn.140002e20
int3