Function at 0x180009c40
Capabilities:
Get common file path

Disassembly:
push rbp
push rbx
lea rbp, [rsp - 0x828]
sub rsp, 0x928
mov rax, qword [0x1800c6d00]
xor rax, rsp
mov qword [rbp + 0x810], rax
mov rbx, rcx
call qword [0x1800c56d0]
test eax, eax
je 0x180009f7b
mov qword [rsp + 0x948], rsi
lea rcx, [rbp + 0x1a2]
mov qword [rsp + 0x950], rdi
xor edx, edx
xor edi, edi
mov qword [rsp + 0x920], r14
mov r8d, 0x206
mov word [rbp + 0x1a0], di
call fcn.1800a24f0
xor edx, edx
lea rcx, [rbp]
mov r8d, 0xc8
call fcn.1800a24f0
call fcn.180005d70
mov rcx, rax
lea r8, [rbp + 0xd0]
mov r9d, 0x64
mov edx, 0x1c2d
call qword [sym.imp.USER32.dll_LoadStringW]
call fcn.180005d70
mov rcx, rax
lea r8, [rbp]
mov r9d, 0x53
mov edx, 0x1c36
call qword [sym.imp.USER32.dll_LoadStringW]
lea rax, [rbp]
mov rcx, 0xffffffffffffffff
cmp word [rax + rcx*2 + 2], di
lea rcx, [rcx + 1]
jne 0x180009d02
movups xmm0, xmmword [str.__.TWS_]
movzx eax, word [0x1800a6e78]
lea rsi, [0x1800cbcf0]
movups xmm1, xmmword [0x1800a6e68]
movups xmmword [rbp + rcx*2], xmm0
movups xmmword [rbp + rcx*2 + 0x10], xmm1
mov word [rbp + rcx*2 + 0x20], ax
mov rcx, rsi
call fcn.18000c8f0
test eax, eax
jne 0x180009d52
mov rdx, rsi
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
lea r14, [0x1800a6e50]
nop dword [rax]
xorps xmm0, xmm0
lea rcx, [rsp + 0x50]
xor eax, eax
mov qword [rbp - 0x20], rax
lea rax, [rbp]
movups xmmword [rbp - 0x80], xmm0
mov dword [rbp - 0x78], 0x104
movups xmmword [rsp + 0x50], xmm0
mov dword [rsp + 0x50], 0x98
movups xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x58], rbx
movups xmmword [rbp - 0x70], xmm0
mov qword [rsp + 0x70], rdi
movups xmmword [rbp - 0x60], xmm0
mov dword [rsp + 0x7c], edi
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x48], r14
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x68], rax
lea rax, [rbp + 0x1a0]
mov qword [rbp - 0x80], rax
lea rax, [rbp + 0xd0]
mov qword [rbp - 0x58], rax
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x70], rdi
movups xmmword [rbp - 0x30], xmm0
mov dword [rbp - 0x68], edi
mov qword [rbp - 0x60], rsi
mov dword [rbp - 0x50], 0x80880a
call qword [sym.imp.COMDLG32.dll_GetSaveFileNameW]
test eax, eax
je 0x180009f63
xor edx, edx
mov word [rbp + 0x3b0], di
mov r8d, 0x256
lea rcx, [rbp + 0x3b2]
call fcn.1800a24f0
call qword [0x1800c5468]
mov edx, 0x12c
lea rcx, [rbp + 0x3b0]
mov r8, rax
mov r9, 0xffffffffffffffff
call fcn.180042708
lea r9, [rbp + 0x1a0]
lea r8, [rbp + 0x3b0]
lea rdx, [0x1800a7258]
lea rcx, [0x1800a7260]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
test eax, eax
jne 0x180009ebe
lea rcx, [rbp + 0x1a0]
call fcn.18000c990
test eax, eax
je 0x180009e73
call fcn.180005d70
mov edx, 0x1c2f
jmp 0x180009e7d
call fcn.180005d70
mov edx, 0x1c2e
mov r9d, 0x12c
lea r8, [rbp + 0x3b0]
mov rcx, rax
call qword [sym.imp.USER32.dll_LoadStringW]
mov r9d, 0x15
lea r8, [rbp + 0xd0]
lea rdx, [rbp + 0x3b0]
mov rcx, rbx
call qword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 4
je 0x180009d60
jmp 0x180009f63
mov rcx, qword [0x1800cad38]
mov edx, 0x6a4
call qword [sym.imp.USER32.dll_LoadCursorA]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetCursor]
mov qword [rsp + 0x40], rdi
lea r9, [rbp + 0x610]
mov qword [rsp + 0x38], rdi
lea rdx, [rbp - 0x10]
mov qword [rsp + 0x30], rdi
lea rcx, [rbp + 0x1a0]
mov qword [rsp + 0x28], rdi
mov r8d, 3
mov qword [rsp + 0x20], 0x100
mov rbx, rax
call fcn.180078fe0
lea rax, [0x1800a5b48]
mov edx, 0x104
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x610]
lea r8, [rbp - 0x10]
mov qword [rsp + 0x20], rax
mov rcx, rsi
call fcn.1800780a4
xor r8d, r8d
lea rdx, [rbp + 0x1a0]
lea rcx, [0x1800a7260]
call fcn.18000bfa0
test rbx, rbx
je 0x180009f63
mov rcx, rbx
call qword [sym.imp.USER32.dll_SetCursor]
mov rdi, qword [rsp + 0x950]
mov rsi, qword [rsp + 0x948]
mov r14, qword [rsp + 0x920]
mov rcx, qword [rbp + 0x810]
xor rcx, rsp
call fcn.180032180
add rsp, 0x928
pop rbx
pop rbp
ret