Function at 0x1800941a0
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x270]
sub rsp, 0x370
mov rax, qword [0x180152040]
xor rax, rsp
mov qword [rbp + 0x260], rax
xor r13d, r13d
mov dword [rsp + 0x30], r13d
cmp byte [rcx], r13b
jne 0x180094845
mov byte [rcx], 1
mov qword [rsp + 0x40], r13
lea r9, [rsp + 0x40]
xor r8d, r8d
xor edx, edx
lea rcx, [0x1800f8ec0]
call qword [sym.imp.SHELL32.dll_SHGetKnownFolderPath]
mov rdx, qword [rsp + 0x40]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], r13w
jne 0x180094220
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], r13
mov qword [rbp + 0x48], r13
lea rcx, [rbp + 0x30]
call fcn.180036f30
nop
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rdi, qword [0x180156e60]
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp + 0x150]
call sub.VCRUNTIME140.dll_memset
mov rax, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x180094276
mov rax, qword [rdi]
mov r9, qword [rdi + 0x78]
add r9, 0x48
cmp qword [r9 + 0x18], 0xf
jbe 0x180094288
mov r9, qword [r9]
mov qword [rsp + 0x20], rax
lea r8, str.My_Games_sSKSE_s.log
mov edx, 0x104
lea rcx, [rbp + 0x150]
call fcn.180064640
lea rax, [rbp + 0x150]
mov qword [rbp - 0x80], rax
lea rax, [rbp + 0x150]
inc rbx
cmp byte [rax + rbx], 0
jne 0x1800942b7
mov qword [rbp - 0x78], rbx
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x10], xmm0
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x10]
call fcn.18002d130
nop
lea rdx, [rbp + 0x10]
cmp qword [rbp + 0x28], 7
cmova rdx, qword [rbp + 0x10]
mov r8, qword [rbp + 0x20]
lea rcx, [rbp + 0x30]
call fcn.18002e2d0
nop
lea rcx, [rbp + 0x10]
call fcn.180037470
lea r15, [rbp + 0x30]
cmp qword [rbp + 0x48], 7
cmova r15, qword [rbp + 0x30]
mov r14, qword [rbp + 0x40]
call fcn.1800ebe58
mov r12d, eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], r13
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
mov dword [rsp + 0x30], 0x47
test r14, r14
je 0x180094412
cmp r14, 0x7fffffff
ja 0x180094884
mov dword [rsp + 0x20], r13d
xor r9d, r9d
mov r8d, r14d
mov rdx, r15
mov ecx, eax
call fcn.1800ebec8
mov rbx, rax
mov rcx, rax
shr rcx, 0x20
test ecx, ecx
jne 0x18009488a
movsxd rsi, ebx
mov rcx, qword [rbp - 0x40]
cmp rsi, rcx
ja 0x18009439a
lea rax, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova rax, qword [rbp - 0x50]
mov qword [rbp - 0x40], rsi
mov byte [rax + rsi], 0
jmp 0x1800943e6
sub rsi, rcx
mov rdx, qword [rbp - 0x38]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x1800943d7
lea rax, [rsi + rcx]
mov qword [rbp - 0x40], rax
lea rdi, [rbp - 0x50]
cmp rdx, 0xf
cmova rdi, qword [rbp - 0x50]
add rdi, rcx
mov r8, rsi
xor edx, edx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memset
mov byte [rsi + rdi], 0
jmp 0x1800943e6
mov r9, rsi
mov rdx, rsi
lea rcx, [rbp - 0x50]
call fcn.18002bb00
lea r9, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova r9, qword [rbp - 0x50]
mov dword [rsp + 0x20], ebx
mov r8d, r14d
mov rdx, r15
mov ecx, r12d
call fcn.1800ebec8
shr rax, 0x20
test eax, eax
jne 0x18009487c
mov ecx, 0x1a8
call fcn.1800ec720
mov rsi, rax
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_obj2_class_spdlog::sinks::basic_file_sink_class_std::mutex__.0
mov qword [rsi], rax
lea rdi, [rsi + 0x10]
mov qword [rbp + 0x88], r13
mov qword [rbp + 0xc8], r13
mov qword [rbp + 0x108], r13
mov qword [rbp + 0x148], r13
lea r9, [rbp + 0x50]
mov r8b, 1
lea rdx, [rbp - 0x50]
mov rcx, rdi
call fcn.180094ed0
nop
lea rcx, [rbp + 0x50]
call fcn.180093d80
nop
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x78], rsi
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x1800944c6
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800944c1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800944c1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800ecad4
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], 2
mov qword [rbp - 0x18], 0xf
movzx eax, word [0x18012db10]
mov word [rbp - 0x30], ax
mov byte [rbp - 0x2e], 0
lea rbx, [rdi + 0x18]
mov qword [rsp + 0x38], rbx
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x18009450e
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov eax, dword [rbx + 0x4c]
cmp eax, 0x7fffffff
jne 0x180094529
dec eax
mov dword [rbx + 0x4c], eax
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov rax, qword [rdi]
lea rdx, [rbp - 0x30]
mov rcx, rdi
call qword [rax + 0x38]
nop
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 0xf
jbe 0x18009457f
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009457a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18009457a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800ecad4
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
lock inc dword [rsi + 8]
mov rax, qword [rbp - 0x80]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rsi
mov ecx, 0x10
call fcn.1800ec720
mov rdi, rax
mov qword [rbp - 0x70], rax
lea r14, [rax + 0x10]
mov qword [rbp - 0x60], r14
mov qword [rax], r13
mov qword [rax + 8], r13
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x1800945c8
lock inc dword [rax + 8]
mov rax, qword [rsp + 0x48]
mov qword [rdi], rax
mov rax, qword [rsp + 0x50]
mov qword [rdi + 8], rax
mov qword [rbp - 0x68], r14
lea r9, [fcn.180014e50]
mov edx, 0x10
lea r8d, [rdx - 0xf]
lea rcx, [rsp + 0x48]
call fcn.1800ecb08
mov ecx, 0x128
call fcn.1800ec720
mov r15, rax
mov qword [rsp + 0x38], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov dword [rax + 8], 1
mov dword [rax + 0xc], 1
lea rax, vtable.std::_Ref_count_obj2_class_spdlog::logger_.0
mov qword [r15], rax
lea rbx, [r15 + 0x10]
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], 6
mov qword [rbp + 0x28], 0xf
mov eax, dword [str.Logger]
mov dword [rbp + 0x10], eax
movzx eax, word [0x180123768]
mov word [rbp + 0x14], ax
mov byte [rbp + 0x16], 0
mov r9, r14
mov r8, rdi
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.180095090
nop
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x48], r15
mov eax, r13d
xchg dword [rbx + 0x40], eax
mov eax, r13d
xchg dword [rbx + 0x44], eax
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
lock inc dword [r15 + 8]
mov r12, qword [rbp - 0x50]
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r15
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
call fcn.1800281e0
mov rbx, rax
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rbp - 0x30], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0x60], xmm1
lea rax, [rbp - 0x30]
mov qword [rsp + 0x30], rax
mov qword [rbp - 0x58], rbx
mov rcx, rbx
call fcn.180028010
nop
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp - 0x10], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x30], xmm1
lea rdx, [rbp - 0x10]
mov rcx, rbx
call fcn.180095770
nop
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x18009470c
call fcn.180028190
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x18009471b
call fcn.180028190
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x30], r13
mov qword [rbp - 0x20], r13
lea rax, str._v
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], 6
movaps xmm0, xmmword [rbp - 0x10]
movdqa xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [rbp - 0x30]
movaps xmmword [rsp + 0x60], xmm1
movsd xmm0, qword [rbp - 0x20]
movsd qword [rsp + 0x70], xmm0
lea r9, [rbp - 0x10]
lea rdx, [rsp + 0x60]
mov rcx, r12
call fcn.180095200
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], r13
mov qword [rbp + 8], r13
mov r8d, 0x16
lea rdx, str.__d__m__C__H:_M:_S___v
lea rcx, [rbp - 0x10]
call fcn.180008430
nop
lea rdx, [rbp - 0x10]
mov rcx, qword [rbp - 0x80]
call fcn.180094b30
nop
mov rdx, qword [rbp + 8]
cmp rdx, 0xf
jbe 0x1800947db
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800947d5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800947d5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800ecad4
nop
mov rcx, r15
call fcn.180028190
nop
test rdi, rdi
je 0x180094829
mov rdx, r14
mov rcx, rdi
call fcn.180015280
mov rdx, qword [rbp - 0x60]
sub rdx, rdi
and rdx, 0xfffffffffffffff0
cmp rdx, 0x1000
jb 0x180094820
add rdx, 0x27
mov rcx, qword [rdi - 8]
sub rdi, rcx
lea rax, [rdi - 8]
cmp rax, 0x1f
ja 0x180094875
mov rdi, rcx
mov rcx, rdi
call fcn.1800ecad4
nop
mov rcx, rsi
call fcn.180028190
nop
mov r8, qword [rbp + 0x48]
cmp r8, 7
jbe 0x180094845
mov rdx, qword [rbp + 0x30]
call fcn.180037420
mov rcx, qword [rbp + 0x260]
xor rcx, rsp
call fcn.1800ec5e0
lea r11, [rsp + 0x370]
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
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov ecx, eax
call fcn.18002d7f0
int3
call fcn.18002d4a0
int3
call fcn.18002d7f0
int3