Function at 0x140051620
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x3d0
mov rax, qword [0x14006c040]
xor rax, rsp
mov qword [rsp + 0x3c8], rax
mov r12, rcx
mov qword [rsp + 0xd0], rcx
xor esi, esi
mov dword [rsp + 0x30], esi
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx], rsi
mov qword [rcx + 8], rsi
mov qword [rcx + 0x10], rsi
mov dword [rsp + 0x30], 1
lea rax, [rsp + 0x170]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1c
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathW]
xorps xmm0, xmm0
xorps xmm1, xmm1
movups xmmword [rsp + 0x70], xmm0
movdqu xmmword [rsp + 0x80], xmm1
test eax, eax
js 0x1400516df
lea rax, [rsp + 0x170]
mov r13, 0xffffffffffffffff
mov r8, r13
inc r8
cmp word [rax + r8*2], 0
jne 0x1400516c0
lea rdx, [rsp + 0x170]
lea rcx, [rsp + 0x70]
call fcn.140054020
jmp 0x1400516fa
xor r8d, r8d
lea rdx, [0x140060a90]
lea rcx, [rsp + 0x70]
call fcn.140054020
mov r13, 0xffffffffffffffff
mov r14d, 0x4001
mov dword [rsp + 0x30], r14d
mov r8d, 0xc
lea rdx, str.Robloxlogs
lea rcx, [rsp + 0x70]
call fcn.140053330
xorps xmm0, xmm0
movups xmmword [rsp + 0x140], xmm0
mov qword [rsp + 0x150], rsi
mov qword [rsp + 0x158], rsi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x140], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x150], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], 7
mov word [rax], si
bts r14d, 0xf
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0x88]
cmp rdx, 7
jbe 0x1400517af
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400517aa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400517aa
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140055f74
movdqa xmm0, xmmword [0x140060eb0]
movdqu xmmword [rsp + 0x80], xmm0
mov word [rsp + 0x70], si
lea rdx, [rsp + 0x140]
cmp qword [rsp + 0x158], 7
cmova rdx, qword [rsp + 0x140]
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rsi
mov r8, qword [rsp + 0x150]
lea rcx, [rsp + 0x38]
call fcn.140054020
or r14d, 0x30000
mov dword [rsp + 0x30], r14d
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x130], xmm0
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x130]
call fcn.140053870
test eax, eax
jne 0x140051ff1
mov rdx, qword [rsp + 0x50]
cmp rdx, 7
jbe 0x14005187a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140051875
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140051875
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140055f74
xorps xmm0, xmm0
movups xmmword [rsp + 0x120], xmm0
mov rcx, qword [rsp + 0x138]
test rcx, rcx
je 0x14005189b
lock inc dword [rcx + 8]
mov r14d, dword [rsp + 0x30]
movaps xmm0, xmmword [rsp + 0x130]
movdqa xmmword [rsp + 0x120], xmm0
mov rcx, qword [rsp + 0x138]
test rcx, rcx
je 0x1400518c2
lock inc dword [rcx + 8]
mov r14d, dword [rsp + 0x30]
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x160], xmm1
mov rcx, qword [rsp + 0x138]
test rcx, rcx
je 0x140051918
mov eax, r13d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140051913
mov rbx, qword [rsp + 0x138]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r13d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140051913
mov rcx, qword [rsp + 0x138]
mov rax, qword [rcx]
call qword [rax + 8]
mov r14d, dword [rsp + 0x30]
mov r15, qword [rsp + 0x120]
cmp r15, qword [rsp + 0x160]
je 0x140051ee1
lea rdx, [rsp + 0xb0]
mov rcx, r15
call fcn.140050f60
mov edx, dword [rsp + 0xb8]
mov rax, qword [rsp + 0xb0]
test edx, edx
je 0x140051960
lea ecx, [rax - 1]
test ecx, 0xfffffff7
jne 0x140052005
cmp eax, 2
jne 0x140051c6d
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rsi
mov r8d, 4
lea rdx, str..log
lea rcx, [rsp + 0x38]
call fcn.140054020
or r14d, 0x60
or r14d, 2
mov dword [rsp + 0x30], r14d
lea rsi, [r15 + 0x20]
mov rcx, rsi
cmp qword [rsi + 0x18], 7
jbe 0x1400519b0
mov rcx, qword [rsi]
lea rdi, [rsi + 0x10]
mov rax, qword [rdi]
lea rdx, [rcx + rax*2]
mov rbx, rdx
call fcn.14004fff0
cmp rax, rdx
je 0x140051a0c
nop dword [rax + rax]
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x1400519df
cmp cx, 0x2f
jne 0x1400519e8
add rax, 2
cmp rax, rdx
jne 0x1400519d0
cmp rax, rdx
je 0x140051a0c
nop dword [rax]
lea r8, [rbx - 2]
movzx ecx, word [r8]
cmp cx, 0x5c
je 0x140051a0c
cmp cx, 0x2f
je 0x140051a0c
mov rbx, r8
cmp rax, r8
jne 0x1400519f0
mov r8d, 0x3a
mov rcx, rbx
call fcn.140057520
cmp rbx, rax
je 0x140051a57
lea rdx, [rax - 2]
cmp rbx, rdx
je 0x140051a57
cmp word [rdx], 0x2e
jne 0x140051a3f
lea rcx, [rdx - 2]
cmp rbx, rcx
jne 0x140051a5a
cmp word [rcx], 0x2e
jne 0x140051a5a
jmp 0x140051a57
sub rdx, 2
cmp rbx, rdx
je 0x140051a57
cmp word [rdx], 0x2e
je 0x140051a5a
sub rdx, 2
cmp rbx, rdx
jne 0x140051a48
mov rdx, rax
sub rax, rdx
sar rax, 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
xor ecx, ecx
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rcx
mov r8, rax
lea rcx, [rsp + 0x90]
call fcn.140054020
or r14d, 0x380
or r14d, 4
mov dword [rsp + 0x30], r14d
lea rax, [rsp + 0x38]
cmp qword [rsp + 0x50], 7
cmova rax, qword [rsp + 0x38]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xc8], rax
movaps xmm0, xmmword [rsp + 0xc0]
movdqa xmmword [rsp + 0x60], xmm0
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x90]
call fcn.140050330
test eax, eax
jne 0x140051c6b
cmp qword [rsi + 0x18], 7
jbe 0x140051af5
mov rsi, qword [rsi]
mov rax, qword [rdi]
lea rdi, [rsi + rax*2]
mov rbx, rdi
mov rdx, rdi
mov rcx, rsi
call fcn.14004fff0
cmp rax, rdi
je 0x140051b4b
nop
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x140051b1f
cmp cx, 0x2f
jne 0x140051b28
add rax, 2
cmp rax, rdi
jne 0x140051b10
cmp rax, rdi
je 0x140051b4b
nop dword [rax]
lea rdx, [rbx - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x140051b4b
cmp cx, 0x2f
je 0x140051b4b
mov rbx, rdx
cmp rax, rdx
jne 0x140051b30
sub rdi, rbx
sar rdi, 1
xorps xmm0, xmm0
movups xmmword [rsp + 0xf8], xmm0
xor esi, esi
mov qword [rsp + 0x108], rsi
mov qword [rsp + 0x110], rsi
mov r8, rdi
mov rdx, rbx
lea rcx, [rsp + 0xf8]
call fcn.140054020
or r14d, 0x3800
or r14d, 8
mov dword [rsp + 0x30], r14d
lea rdx, [rsp + 0xf8]
lea rcx, [rsp + 0xd8]
call fcn.1400533b0
or r14d, 0x410
mov dword [rsp + 0x30], r14d
lea r10, [rsp + 0xd8]
mov r11, qword [rsp + 0xf0]
cmp r11, 7
cmova r10, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xe8]
cmp rax, 6
jb 0x140051c75
add rax, 0xfffffffffffffffb
lea rbx, [r10 + rax*2]
mov rax, r10
lea rdi, str.Player
nop dword [rax]
nop word [rax + rax]
mov rcx, rbx
sub rcx, rax
sar rcx, 1
mov rdx, rsi
je 0x140051c2a
cmp word [rax], 0x50
je 0x140051c27
cmp rcx, 1
je 0x140051c2a
dec rcx
add rax, 2
cmp word [rax], 0x50
jne 0x140051c14
mov rdx, rax
mov rax, rdx
test rdx, rdx
je 0x140051c75
mov r8d, 6
mov rdx, rdi
mov r9, rax
sub r9, rdi
movzx ecx, word [r9 + rdx]
cmp cx, word [rdx]
jne 0x140051c65
add rdx, 2
sub r8, 1
jne 0x140051c41
sub rax, r10
sar rax, 1
cmp rax, 0xffffffffffffffff
je 0x140051c75
mov bl, 1
jmp 0x140051c77
add rax, 2
jmp 0x140051c00
xor esi, esi
mov r11, qword [rsp + 0xf0]
xor bl, bl
test r14b, 0x10
je 0x140051cca
and r14d, 0xffffffef
mov dword [rsp + 0x30], r14d
cmp r11, 7
jbe 0x140051cca
lea rdx, [r11*2 + 2]
mov rcx, qword [rsp + 0xd8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140051cc4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140051cc4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140055f74
nop
test r14b, 8
je 0x140051d25
and r14d, 0xfffffff7
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0x110]
cmp rdx, 7
jbe 0x140051d25
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xf8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140051d1f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140051d1f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140055f74
nop
test r14b, 4
je 0x140051d9b
and r14d, 0xfffffffb
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0xa8]
cmp rdx, 7
jbe 0x140051d7f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140051d7a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140051d7a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140055f74
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], 7
mov word [rsp + 0x90], si
test r14b, 2
je 0x140051def
and r14d, 0xfffffffd
mov dword [rsp + 0x30], r14d
mov rdx, qword [rsp + 0x50]
cmp rdx, 7
jbe 0x140051def
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140051dea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140051dea
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140055f74
test bl, bl
je 0x140051e21
lea r8, [r15 + 0x20]
mov rax, qword [r12 + 8]
cmp rax, qword [r12 + 0x10]
je 0x140051e16
mov rdx, r8
mov rcx, rax
call fcn.1400533b0
add qword [r12 + 8], 0x20
jmp 0x140051e21
mov rdx, rax
mov rcx, r12
call fcn.140054a20
lea rdx, [rsp + 0x170]
mov rcx, qword [r15 + 0x40]
call fcn.1400570e4
cmp eax, 0x12
je 0x140051e7a
test eax, eax
jne 0x140052015
cmp word [rsp + 0x19c], 0x2e
jne 0x140051e68
movzx eax, word [rsp + 0x19e]
test ax, ax
je 0x140051e21
cmp ax, 0x2e
jne 0x140051e68
cmp word [rsp + 0x1a0], 0
je 0x140051e21
lea rdx, [rsp + 0x170]
mov rcx, r15
call fcn.140051340
jmp 0x140051ed2
mov r15, rsi
mov qword [rsp + 0x120], rsi
mov rbx, qword [rsp + 0x128]
mov qword [rsp + 0x128], rsi
test rbx, rbx
je 0x140051ed2
mov eax, r13d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x140051ec5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r13d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140051ec5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov r14d, dword [rsp + 0x30]
mov r15, qword [rsp + 0x120]
mov eax, esi
test eax, eax
jne 0x140052015
jmp 0x140051920
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x140051f27
mov eax, r13d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140051f27
mov rbx, qword [rsp + 0x128]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r13d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x140051f27
mov rcx, qword [rsp + 0x128]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [rsp + 0x138]
test rcx, rcx
je 0x140051f6c
mov eax, r13d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x140051f6c
mov rbx, qword [rsp + 0x138]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r13d
cmp r13d, 1
jne 0x140051f6c
mov rcx, qword [rsp + 0x138]
mov rax, qword [rcx]
call qword [rax + 8]
nop
jmp 0x140051f76
mov rdx, qword [rsp + 0x158]
cmp rdx, 7
jbe 0x140051fc1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140051fbc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140051fbc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140055f74
mov rax, r12
mov rcx, qword [rsp + 0x3c8]
xor rcx, rsp
call fcn.140055f10
lea r11, [rsp + 0x3d0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea r8, [rsp + 0x38]
mov edx, eax
lea rcx, str.directory_iterator::directory_iterator
call fcn.140050ef0
nop
lea r8, [r15 + 0x20]
lea rcx, str.directory_entry::status
call fcn.140050ef0
mov edx, eax
call fcn.140050e00
int3