Function at 0x4178a0
Capabilities:
Get common file path

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
sub rsp, 0x3a0
mov qword [rsp + 0x110], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov qword [r11 + 0x20], rsi
mov rax, qword [0x004bf230]
xor rax, rsp
mov qword [rsp + 0x390], rax
mov rsi, rcx
mov qword [r11 - 0x2a0], rcx
xor r12d, r12d
mov qword [rcx + 8], r12
lea rax, [0x0049e648]
mov qword [rcx], rax
lea rax, [rcx + 0x18]
mov qword [r11 - 0x338], rax
mov qword [rax + 0x18], r12
mov qword [rcx + 0x38], r12
mov dword [rcx + 0x40], r12d
lea rax, [0x0049f930]
mov qword [rcx], rax
lea rbp, [rcx + 0x10]
lea rax, fcn.004290f4
mov qword [rbp], rax
mov qword [rcx + 0x48], rdx
mov byte [rcx + 0x50], r8b
lea edx, [r12 + 0x20]
mov rcx, qword [0x004c5760]
call fcn.0041004c
cmp eax, 1
sete al
mov byte [rsi + 0x51], al
lea rcx, [rsi + 0x58]
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [0x004c4030]
call fcn.0040d58c
nop
mov qword [rsi + 0x2e0], r12
mov qword [rsi + 0x2e8], r12
mov qword [rsi + 0x2f0], r12
mov qword [rsi + 0x310], r12
mov qword [rsi + 0x318], r12
mov dword [rsi + 0x320], r12d
mov dword [rsi + 0x324], r12d
mov byte [rsi + 0x328], r12b
lea edx, [r12 + 0x10]
mov dword [rsp + 0x88], edx
xor r9d, r9d
lea r8, [rsp + 0x88]
lea ecx, [rdx + 0x32]
call qword [sym.imp.USER32.dll_SystemParametersInfoW]
mov r11b, byte [rsp + 0x8c]
and r11b, 1
mov byte [rsi + 0x52], r11b
jne 0x4179d8
mov dword [rsi + 0x2f8], 0xffffff
jmp 0x4179e9
mov ecx, 0xf
call qword [sym.imp.USER32.dll_GetSysColor]
mov dword [rsi + 0x2f8], eax
mov edx, 0x1b
mov rcx, qword [0x004c5760]
call fcn.0041004c
movzx ebx, al
shl ebx, 8
mov edx, 0x1c
mov rcx, qword [0x004c5760]
call fcn.0041004c
movzx edi, al
shl edi, 0x10
or edi, ebx
mov edx, 0x1a
mov rcx, qword [0x004c5760]
call fcn.0041004c
movzx ecx, al
or ecx, edi
mov dword [rsi + 0x2fc], ecx
lea rax, [0x0049e780]
mov qword [rsi], rax
lea rax, [0x0049e810]
mov qword [rbp], rax
mov byte [rsi + 0x338], r12b
mov byte [rsi + 0x339], r12b
mov r13d, 7
mov qword [rsi + 0x360], r13
mov qword [rsi + 0x358], r12
mov word [rsi + 0x348], r12w
mov qword [rsi + 0x388], r13
mov qword [rsi + 0x380], r12
mov word [rsi + 0x370], r12w
lea rcx, [rsi + 0x390]
mov qword [rsp + 0x80], rcx
mov qword [rcx], r12
lea rax, [rcx + 8]
mov qword [rsp + 0x120], rax
mov qword [rax + 0x18], r12
mov qword [rcx + 0x28], r12
mov rax, qword [sym.imp.USER32.dll_DefWindowProcW]
mov qword [rcx + 0x30], rax
mov qword [rcx + 0x38], rbp
mov dword [rcx + 0x40], 1
mov qword [rcx + 0x48], r12
mov qword [rsp + 0x148], r13
mov qword [rsp + 0x140], r12
mov word [rsp + 0x130], r12w
mov qword [rsp + 0x170], r13
mov qword [rsp + 0x168], r12
mov word [rsp + 0x158], r12w
mov rax, qword [0x004c5760]
mov rdx, qword [rax + 0x28]
add rdx, 0xa20
or rbp, 0xffffffffffffffff
mov r9, rbp
xor r8d, r8d
lea rcx, [rsp + 0x128]
call fcn.004020b0
mov r11, qword [0x004c5760]
mov rdx, qword [r11 + 0x28]
add rdx, 0x810
mov r9, rbp
xor r8d, r8d
lea rcx, [rsp + 0x150]
call fcn.004020b0
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x48], r12
mov word [rsp + 0x38], r12w
lea r8d, [r13 - 3]
lea rdx, str..txt
lea rcx, [rsp + 0x30]
call fcn.00404e54
nop
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x70], r12
mov word [rsp + 0x60], r12w
lea r8d, [r13 - 2]
lea rdx, str.eula.
lea rcx, [rsp + 0x58]
call fcn.00404e54
nop
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x128]
lea rcx, [rsp + 0xc0]
call fcn.0040c644
nop
lea r8, [rsp + 0x150]
mov rdx, rax
lea rcx, [rsp + 0xe8]
call fcn.0040c644
nop
lea r8, [rsp + 0x30]
mov rdx, rax
lea rcx, [rsp + 0x98]
call fcn.0040c644
nop
mov r9, rbp
xor r8d, r8d
mov rdx, rax
lea rcx, [rsi + 0x340]
call fcn.004020b0
nop
cmp qword [rsp + 0xb8], 8
jb 0x417c0e
mov rcx, qword [rsp + 0xa0]
call fcn.00443d3c
mov qword [rsp + 0xb8], r13
mov qword [rsp + 0xb0], r12
mov word [rsp + 0xa0], r12w
cmp qword [rsp + 0x108], 8
jb 0x417c3f
mov rcx, qword [rsp + 0xf0]
call fcn.00443d3c
mov qword [rsp + 0x108], r13
mov qword [rsp + 0x100], r12
mov word [rsp + 0xf0], r12w
cmp qword [rsp + 0xe0], 8
jb 0x417c70
mov rcx, qword [rsp + 0xc8]
call fcn.00443d3c
mov qword [rsp + 0xe0], r13
mov qword [rsp + 0xd8], r12
mov word [rsp + 0xc8], r12w
cmp qword [rsp + 0x78], 8
jb 0x417c9b
mov rcx, qword [rsp + 0x60]
call fcn.00443d3c
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x70], r12
mov word [rsp + 0x60], r12w
cmp qword [rsp + 0x50], 8
jb 0x417cbd
mov rcx, qword [rsp + 0x38]
call fcn.00443d3c
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x48], r12
mov word [rsp + 0x38], r12w
mov r8d, 0xd
lea rdx, str.guih_eula.txt
lea rcx, [rsi + 0x368]
call fcn.00404e54
mov word [rsp + 0x180], r12w
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x182]
call fcn.00449860
mov edx, 0x104
lea rcx, [rsp + 0x180]
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea r8, str.RichEd20.dll
mov edx, 0x20a
lea rcx, [rsp + 0x180]
call fcn.00418be4
lea rcx, [rsp + 0x180]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
nop
cmp qword [rsp + 0x170], 8
jb 0x417d57
mov rcx, qword [rsp + 0x158]
call fcn.00443d3c
mov qword [rsp + 0x170], r13
mov qword [rsp + 0x168], r12
mov word [rsp + 0x158], r12w
cmp qword [rsp + 0x148], 8
jb 0x417d88
mov rcx, qword [rsp + 0x130]
call fcn.00443d3c
mov qword [rsp + 0x148], r13
mov qword [rsp + 0x140], r12
mov word [rsp + 0x130], r12w
mov rax, rsi
mov rcx, qword [rsp + 0x390]
xor rcx, rsp
call fcn.00443d60
lea r11, [rsp + 0x3a0]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r13
pop r12
pop rdi
ret