Function at 0x18000a220
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 [0x18017b008]
xor rax, rsp
mov qword [rsp + 0x460], rax
mov rbx, rdx
mov edi, ecx
cmp ecx, 2
jl case.0x18000a2ce.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 0x18000a2a6
cmp word [0x1801853d0], 0
jne case.0x18000a2ce.63
mov r8, rcx
mov edx, 0x104
lea rcx, [0x1801853d0]
call fcn.180028fb8
jmp 0x18000a4bf
movzx eax, word [rcx + 2]
add rcx, 2
add eax, 0xffffffc1
cmp eax, 0x38
ja case.0x18000a2ce.63
cdqe
movzx eax, byte [rsi + rax + 0xa5ec]
mov edx, dword [rsi + rax*4 + 0xa5cc]
add rdx, rsi
jmp rdx
lea rdx, str.check
call fcn.18001f3b8
test eax, eax
jne case.0x18000a2ce.63
mov byte [0x1801851a3], 1
jmp 0x18000a4bf
lea rdx, str.errorreport:none
call fcn.18001f3b8
test eax, eax
jne 0x18000a30b
mov dword [0x180180738], eax
jmp 0x18000a4bf
mov rcx, qword [rbx]
lea rdx, str.errorreport:prompt
add rcx, 2
call fcn.18001f3b8
test eax, eax
jne 0x18000a331
mov dword [0x180180738], 1
jmp 0x18000a4bf
mov rcx, qword [rbx]
lea rdx, str.errorreport:queue
add rcx, 2
call fcn.18001f3b8
test eax, eax
jne 0x18000a357
mov dword [0x180180738], 2
jmp 0x18000a4bf
mov rcx, qword [rbx]
lea rdx, str.errorreport:send
add rcx, 2
call fcn.18001f3b8
test eax, eax
jne 0x18000a37d
mov dword [0x180180738], 3
jmp 0x18000a4bf
mov rcx, qword [rbx]
lea rdx, str.errorreport:test
add rcx, 2
call fcn.18001f3b8
test eax, eax
jne 0x18000a3a0
mov byte [0x1801851a2], 1
jmp 0x18000a4bf
mov rcx, qword [rbx]
lea rdx, str.errorreport:internal
add rcx, 2
call fcn.18001f3b8
test eax, eax
jne case.0x18000a2ce.63
mov byte [0x1801851a0], 1
jmp 0x18000a4bf
lea rdx, str.nologo
call fcn.18001f3b8
test eax, eax
jne case.0x18000a2ce.63
mov byte [0x1801853c8], 1
jmp 0x18000a4bf
mov r8d, 4
lea rdx, str.out:
call fcn.18002a7c8
test eax, eax
jne case.0x18000a2ce.63
mov r8, qword [rbx]
mov rax, 0xffffffffffffffff
add r8, 0xa
nop
inc rax
cmp word [r8 + rax*2], 0
jne 0x18000a410
cmp rax, 0x104
jae 0x18000a5a4
mov edx, 0x104
lea rcx, [0x1801851c0]
call fcn.180028fb8
mov byte [0x1801851a6], 1
jmp 0x18000a4bf
lea rdx, str.status
call fcn.18001f3b8
test eax, eax
jne 0x18000a45a
mov byte [0x1801851a7], 1
jmp 0x18000a4bf
mov rcx, qword [rbx]
lea rdx, str.status:diag
add rcx, 2
call fcn.18001f3b8
test eax, eax
jne case.0x18000a2ce.63
mov byte [0x1801851a7], 1
mov byte [0x1801853c9], 1
jmp 0x18000a4bf
lea rdx, [0x180162f28]
call fcn.18001f3b8
test eax, eax
jne 0x18000a49e
mov byte [0x1801851a4], 1
jmp 0x18000a4bf
mov rcx, qword [rbx]
lea rdx, str.wx:no
add rcx, 2
call fcn.18001f3b8
test eax, eax
jne case.0x18000a2ce.63
mov byte [0x1801851a4], al
mov eax, 0xffffffff
add rbx, 8
add edi, eax
jne 0x18000a270
cmp byte [0x1801851a2], dil
je 0x18000a4e1
mov byte [0], dil
cmp byte [0x1801851a3], 0
jne 0x18000a565
lea rdx, [rsp + 0x250]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x18000a58e
lea rcx, [rsp + 0x30]
call qword [sym.imp.ole32.dll_CoCreateGuid]
test eax, eax
jne 0x18000a5b7
mov r8d, 0x104
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x30]
call qword [sym.imp.ole32.dll_StringFromGUID2]
test eax, eax
je 0x18000a5b7
lea rax, [rsp + 0x40]
mov edx, 0x104
lea r9, [rsp + 0x250]
mov qword [rsp + 0x20], rax
lea r8, str._s_s.cmf
lea rcx, [0x1801855e0]
call fcn.1800092d0
cmp eax, 0xffffffff
je 0x18000a5b7
mov rcx, qword [rsp + 0x460]
xor rcx, rsp
call fcn.18000b6d0
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.18000a000
int3
mov edx, 0x456
xor ecx, ecx
mov r8d, 0x104
call fcn.18000a000
int3
mov edx, 0x450
xor ecx, ecx
call fcn.18000a000
int3
call fcn.18000a1b0
int3