Function at 0x180008d70
Capabilities:
Get common file path

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x470
mov rax, qword [0x180176010]
xor rax, rsp
mov qword [rsp + 0x460], rax
mov rbx, rdx
mov edi, ecx
cmp ecx, 2
jl case.0x180008e1e.63
dec edi
lea rsi, [0x180000000]
add rbx, 8
mov ebp, 0xfffd
nop dword [rax]
mov rcx, qword [rbx]
movzx eax, word [rcx]
sub ax, 0x2d
test bp, ax
je 0x180008df6
cmp word [0x18017eca0], 0
jne case.0x180008e1e.63
mov r8, rcx
mov edx, 0x104
lea rcx, [0x18017eca0]
call fcn.1800274b0
jmp 0x18000900f
movzx eax, word [rcx + 2]
add rcx, 2
add eax, 0xffffffc1
cmp eax, 0x38
ja case.0x180008e1e.63
cdqe
movzx eax, byte [rsi + rax + 0x9138]
mov edx, dword [rsi + rax*4 + 0x9118]
add rdx, rsi
jmp rdx
lea rdx, str.check
call fcn.18001d7b0
test eax, eax
jne case.0x180008e1e.63
mov byte [0x18017ea73], 1
jmp 0x18000900f
lea rdx, str.errorreport:none
call fcn.18001d7b0
test eax, eax
jne 0x180008e5b
mov dword [0x180179fb8], eax
jmp 0x18000900f
mov rcx, qword [rbx]
lea rdx, str.errorreport:prompt
add rcx, 2
call fcn.18001d7b0
test eax, eax
jne 0x180008e81
mov dword [0x180179fb8], 1
jmp 0x18000900f
mov rcx, qword [rbx]
lea rdx, str.errorreport:queue
add rcx, 2
call fcn.18001d7b0
test eax, eax
jne 0x180008ea7
mov dword [0x180179fb8], 2
jmp 0x18000900f
mov rcx, qword [rbx]
lea rdx, str.errorreport:send
add rcx, 2
call fcn.18001d7b0
test eax, eax
jne 0x180008ecd
mov dword [0x180179fb8], 3
jmp 0x18000900f
mov rcx, qword [rbx]
lea rdx, str.errorreport:test
add rcx, 2
call fcn.18001d7b0
test eax, eax
jne 0x180008ef0
mov byte [0x18017ea72], 1
jmp 0x18000900f
mov rcx, qword [rbx]
lea rdx, str.errorreport:internal
add rcx, 2
call fcn.18001d7b0
test eax, eax
jne case.0x180008e1e.63
mov byte [0x18017ea70], 1
jmp 0x18000900f
lea rdx, str.nologo
call fcn.18001d7b0
test eax, eax
jne case.0x180008e1e.63
mov byte [0x18017ec98], 1
jmp 0x18000900f
mov r8d, 4
lea rdx, str.out:
call fcn.180028ce0
test eax, eax
jne case.0x180008e1e.63
mov r8, qword [rbx]
mov rax, 0xffffffffffffffff
add r8, 0xa
nop
inc rax
cmp word [r8 + rax*2], 0
jne 0x180008f60
cmp rax, 0x104
jae 0x1800090f0
mov edx, 0x104
lea rcx, [0x18017ea90]
call fcn.1800274b0
mov byte [0x18017ea76], 1
jmp 0x18000900f
lea rdx, str.status
call fcn.18001d7b0
test eax, eax
jne 0x180008faa
mov byte [0x18017ea77], 1
jmp 0x18000900f
mov rcx, qword [rbx]
lea rdx, str.status:diag
add rcx, 2
call fcn.18001d7b0
test eax, eax
jne case.0x180008e1e.63
mov byte [0x18017ea77], 1
mov byte [0x18017ec99], 1
jmp 0x18000900f
lea rdx, [0x18015f0c8]
call fcn.18001d7b0
test eax, eax
jne 0x180008fee
mov byte [0x18017ea74], 1
jmp 0x18000900f
mov rcx, qword [rbx]
lea rdx, str.wx:no
add rcx, 2
call fcn.18001d7b0
test eax, eax
jne case.0x180008e1e.63
mov byte [0x18017ea74], al
add rbx, 8
sub edi, 1
jne 0x180008dc0
cmp byte [0x18017ea72], dil
je 0x18000902d
mov byte [0], dil
cmp byte [0x18017ea73], 0
jne 0x1800090b1
lea rdx, [rsp + 0x250]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x1800090da
lea rcx, [rsp + 0x30]
call qword [sym.imp.ole32.dll_CoCreateGuid]
test eax, eax
jne 0x180009103
mov r8d, 0x104
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x30]
call qword [sym.imp.ole32.dll_StringFromGUID2]
test eax, eax
je 0x180009103
lea rax, [rsp + 0x40]
mov edx, 0x104
lea r9, [rsp + 0x250]
mov qword [rsp + 0x20], rax
lea r8, str._s_s.cmf
lea rcx, [0x18017eeb0]
call fcn.180007e20
cmp eax, 0xffffffff
je 0x180009103
mov rcx, qword [rsp + 0x460]
xor rcx, rsp
call fcn.18000a220
lea r11, [rsp + 0x470]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, 0x44f
xor ecx, ecx
mov r8d, eax
call fcn.180008b50
int3
mov edx, 0x456
xor ecx, ecx
mov r8d, 0x104
call fcn.180008b50
int3
mov edx, 0x450
xor ecx, ecx
call fcn.180008b50
int3
call fcn.180008d00
int3