Function at 0x1400ffa80
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x90]
sub rsp, 0x190
mov rax, qword [0x14029ba50]
xor rax, rsp
mov qword [rbp + 0x80], rax
xor r12d, r12d
mov dword [rsp + 0x40], r12d
mov qword [rbp - 0x18], r12
lea r9, [rbp - 0x18]
xor r8d, r8d
xor edx, edx
lea rcx, [0x140237ff0]
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
test eax, eax
je 0x1400ffae5
xor eax, eax
jmp 0x1401001d3
mov qword [rbp + 0x50], r12
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x68], 7
mov word [rbp + 0x50], r12w
mov rdx, qword [rbp - 0x18]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x1400ffb05
lea rcx, [rbp + 0x50]
call fcn.1400fd560
nop
mov rcx, qword [rbp - 0x18]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov r8d, 0x1a
lea rdx, str.AppDataLocalRobloxlogs
lea rcx, [rbp + 0x50]
call fcn.1400fcab0
xorps xmm1, xmm1
movdqu xmmword [rbp], xmm1
mov qword [rbp + 0x10], r12
lea rdx, [rbp + 0x50]
cmp qword [rbp + 0x68], 8
cmovae rdx, qword [rbp + 0x50]
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r12w
mov r8, qword [rbp + 0x60]
lea rcx, [rsp + 0x58]
call fcn.1400fd560
mov edi, listen
mov dword [rsp + 0x40], edi
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x10], xmm0
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x10]
call fcn.1400fdb00
test eax, eax
jne 0x140100223
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x1400ffbe7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ffbe2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400ffbe2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401a78c8
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
mov r15, qword [rbp - 8]
test r15, r15
je 0x1400ffc04
lock inc dword [r15 + 8]
mov r15, qword [rbp - 8]
mov edi, dword [rsp + 0x40]
movaps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp + 0x20], xmm0
test r15, r15
je 0x1400ffc1f
lock inc dword [r15 + 8]
mov r15, qword [rbp - 8]
mov edi, dword [rsp + 0x40]
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x70], xmm1
test r15, r15
je 0x1400ffc6e
mov eax, 0xffffffff
lock xadd dword [r15 + 8], eax
cmp eax, 1
jne 0x1400ffc66
mov rbx, qword [rbp - 8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400ffc66
mov r15, qword [rbp - 8]
mov rax, qword [r15]
mov rcx, r15
call qword [rax + reloc.WS2_32.dll_htonl]
jmp 0x1400ffc6a
mov r15, qword [rbp - 8]
mov edi, dword [rsp + 0x40]
lea rax, [0x1402410a8]
mov qword [rsp + 0x50], rax
nop word [rax + rax]
mov r13, qword [rbp + 0x20]
test r13, r13
je 0x1400fff1f
mov r8d, 3
lea rdx, [rbp - 0x68]
mov rcx, r13
call fcn.1400f4360
mov rax, qword [rbp - 0x68]
mov edx, dword [rbp - 0x60]
test edx, edx
je 0x1400ffcb9
lea ecx, [rax - 1]
test ecx, 0xfffffff7
jne 0x140100203
cmp eax, 2
jne 0x1400ffe2e
lea rcx, [r13 + 0x20]
mov rax, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 8
jb 0x1400ffcd4
mov rcx, qword [rcx]
lea rbx, [rcx + rax*2]
mov r11, rbx
mov rdx, rbx
call fcn.1400f3530
cmp rax, rbx
je 0x1400ffd1b
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x1400ffcf7
cmp cx, 0x2f
jne 0x1400ffd00
add rax, 2
jmp 0x1400ffce3
lea rdx, [r11 - 2]
movzx ecx, word [rdx]
cmp cx, 0x5c
je 0x1400ffd1b
cmp cx, 0x2f
je 0x1400ffd1b
mov r11, rdx
cmp rax, rdx
jne 0x1400ffd00
sub rbx, r11
sar rbx, 1
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r12w
mov r8, rbx
mov rdx, r11
lea rcx, [rsp + 0x78]
call fcn.1400fd560
or edi, 0x70
or edi, 1
mov dword [rsp + 0x40], edi
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x58]
call fcn.1400fcb30
or edi, 0x82
mov dword [rsp + 0x40], edi
lea rsi, [rbp - 0x58]
mov r11, qword [rbp - 0x58]
mov r14, qword [rbp - 0x40]
cmp r14, 8
cmovae rsi, r11
mov rax, qword [rbp - 0x48]
cmp rax, 6
jb 0x1400ffe36
add rax, 0xfffffffffffffffb
lea rbx, [rsi + rax*2]
mov rax, rsi
nop word [rax + rax]
mov rcx, rbx
sub rcx, rax
sar rcx, 1
mov rdx, r12
je 0x1400ffdca
cmp word [rax], 0x50
je 0x1400ffdc7
cmp rcx, 1
je 0x1400ffdca
dec rcx
add rax, 2
cmp word [rax], 0x50
jne 0x1400ffdb4
mov rdx, rax
mov rax, rdx
test rdx, rdx
je 0x1400ffe36
mov r9d, 6
lea rcx, [0x1402410a8]
movzx edx, word [rdx]
mov r8d, 0x50
cmp dx, r8w
jb 0x1400ffe18
mov r10, rax
sub r10, qword [rsp + 0x50]
cmp dx, r8w
ja 0x1400ffe18
cmp r9, 1
je 0x1400ffe1e
dec r9
add rcx, 2
movzx edx, word [rcx + r10]
movzx r8d, word [rcx]
cmp dx, r8w
jae 0x1400ffdfa
add rax, 2
jmp 0x1400ffda0
sub rax, rsi
sar rax, 1
cmp rax, 0xffffffffffffffff
je 0x1400ffe36
mov bl, 1
jmp 0x1400ffe38
mov r14, qword [rbp - 0x40]
mov r11, qword [rbp - 0x58]
xor bl, bl
test dil, 2
je 0x1400ffe81
and edi, 0xfffffffd
mov dword [rsp + 0x40], edi
cmp r14, 8
jb 0x1400ffe81
lea rdx, [r14*2 + 2]
mov rax, r11
cmp rdx, 0x1000
jb 0x1400ffe78
add rdx, 0x27
mov r11, qword [r11 - 8]
sub rax, r11
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400fff11
mov rcx, r11
call fcn.1401a78c8
nop
test dil, 1
je 0x1400ffecb
and edi, 0xfffffffe
mov dword [rsp + 0x40], edi
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x1400ffecb
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400ffec6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400fff18
call fcn.1401a78c8
test bl, bl
je 0x1400ffefb
lea r8, [r13 + 0x20]
mov rax, qword [rbp + 8]
cmp rax, qword [rbp + 0x10]
je 0x1400ffeef
mov rdx, r8
mov rcx, rax
call fcn.1400fcb30
add qword [rbp + 8], 0x20
jmp 0x1400ffefb
mov rdx, rax
lea rcx, [rbp]
call fcn.140100ad0
lea rcx, [rbp + 0x20]
call fcn.1400f44c0
test eax, eax
jne 0x140100214
jmp 0x1400ffc80
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x1400fff60
mov eax, 0xffffffff
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x1400fff5c
mov rbx, qword [rbp + 0x28]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400fff5c
mov rcx, qword [rbp + 0x28]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov r15, qword [rbp - 8]
test r15, r15
je 0x1400fff9a
mov eax, 0xffffffff
lock xadd dword [r15 + 8], eax
cmp eax, 1
jne 0x1400fff9a
mov rbx, qword [rbp - 8]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400fff9a
mov rcx, qword [rbp - 8]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rcx, qword [rbp]
mov rdx, qword [rbp + 8]
cmp rcx, rdx
jne 0x1400fffaf
mov rbx, r12
jmp 0x14010013b
mov r8, rdx
sub r8, rcx
sar r8, 5
movzx r9d, byte [rsp + 0x48]
call fcn.140100f70
mov rdx, qword [rbp]
lea rcx, [rbp + 0x30]
call fcn.1400fcb30
nop
lea r8, [rbp + 0x30]
cmp qword [rbp + 0x48], 8
cmovae r8, qword [rbp + 0x30]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
xor edx, edx
mov ecx, 0xfde9
lea r9d, [rdx - 1]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movsxd rdi, eax
test eax, eax
jne 0x140100014
mov rbx, r12
jmp 0x1401000df
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax]
lea rbx, [0x14029d990]
mov eax, dword [rdx + rcx]
cmp dword [0x14029d98c], eax
jle 0x14010008a
lea rcx, [0x14029d98c]
call fcn.1401a7a8c
cmp dword [0x14029d98c], 0xffffffff
jne 0x14010008a
mov qword [0x14029d990], r12
movdqa xmm0, xmmword [0x140249a60]
movdqu xmmword [0x14029d9a0], xmm0
mov rdx, rdi
xor r8d, r8d
mov rcx, rbx
call fcn.140100900
lea rcx, [0x140227a10]
call fcn.1401a7dd4
nop
lea rcx, [0x14029d98c]
call fcn.1401a7a2c
mov rax, rbx
cmp qword [0x14029d9a8], 0x10
cmovae rax, qword [0x14029d990]
lea r8, [rbp + 0x30]
cmp qword [rbp + 0x48], 8
cmovae r8, qword [rbp + 0x30]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
xor edx, edx
mov ecx, 0xfde9
lea r9d, [rdx - 1]
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp qword [0x14029d9a8], 0x10
cmovae rbx, qword [0x14029d990]
mov rdx, qword [rbp + 0x48]
cmp rdx, 8
jb 0x140100122
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14010011d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14010011d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401a78c8
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x48], 7
mov word [rbp + 0x30], r12w
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp]
test rcx, rcx
je 0x14010018d
call fcn.140100d50
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rbp]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x14010017c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14010017c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401a78c8
xorps xmm0, xmm0
movdqu xmmword [rbp], xmm0
mov qword [rbp + 0x10], r12
mov rdx, qword [rbp + 0x68]
cmp rdx, 8
jb 0x1401001d0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401001cb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1401001cb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401a78c8
mov rax, rbx
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.1401a75d0
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea r8, [r13 + 0x20]
lea rcx, str.directory_entry::status
call fcn.1400f4220
int3
mov edx, eax
lea rcx, str.directory_iterator::operator
call fcn.1400f4130
nop
lea r8, [rsp + 0x58]
mov edx, eax
lea rcx, str.directory_iterator::directory_iterator
call fcn.1400f4220
int3