Function at 0x1400ec790
Capabilities:
Get common file path

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x78]
sub rsp, 0x170
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov rdi, rcx
mov qword [rsp + 0x48], rcx
xor esi, esi
mov dword [rsp + 0x28], esi
mov edx, 0x104
lea rcx, [rsp + 0x30]
call fcn.14000c860
nop
mov rcx, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
sub rcx, rbx
sar rcx, 1
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x1400ec905
lea edx, [rsi + 0x5c]
lea rcx, str..._sxs_registrator.cpp
call qword [sym.imp.MSVCR120.dll_strrchr]
test rax, rax
je 0x1400ec81b
inc rax
jmp 0x1400ec822
lea rax, str..._sxs_registrator.cpp
mov rdx, rax
lea rcx, [0x140209428]
call fcn.140005ff0
mov rbx, rax
shl rbx, 0x34
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
or rdi, rbx
movabs rax, 0x72500000000
or rdi, rax
lea rax, [0x140160748]
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x68]
call qword [sym.imp.MSVCR120.dll_public:_void___cdecl_std::exception::constructor_char_const__const___ptr64_const____ptr64__int____ptr64]
nop
lea rax, vtable.SwException.0
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x50], rdi
mov qword [rbp - 0x48], rsi
mov dword [rbp - 0x40], esi
mov qword [rbp - 0x38], rsi
cmp byte [0x1402088b9], 0
je 0x1400ec8dc
mov rdx, qword [0x1402088a8]
mov rax, rdx
xor rax, rdi
movabs rcx, 0x8000000000
test rcx, rax
jne 0x1400ec8dc
mov rax, rdx
xor rax, rdi
movabs rcx, 0x2000000000
test rcx, rax
jne 0x1400ec8dc
mov rcx, rdx
shr rcx, 0x20
mov rax, rdi
shr rax, 0x20
xor cl, al
test cl, 0x1f
jne 0x1400ec8dc
cmp edi, edx
je 0x1400ec8ed
cmp byte [0x1402088b8], 0
je 0x1400ec8f4
cmp edi, dword [0x1402088c0]
jne 0x1400ec8f4
call qword [sym.imp.KERNEL32.dll_DebugBreak]
nop
lea rdx, [0x1401f8420]
lea rcx, [rbp - 0x68]
call sub.MSVCR120.dll__CxxThrowException
int3
lea rcx, [rbp - 0x30]
call qword [sym.imp.ole32.dll_CoCreateGuid]
test eax, eax
jns 0x1400ec922
mov r9d, eax
mov r8d, 0x3d
call fcn.1400ec150
int3
mov r8d, 0x40
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x30]
call qword [sym.imp.ole32.dll_StringFromGUID2]
test eax, eax
jne 0x1400eca37
lea edx, [rax + 0x5c]
lea rcx, str..._sxs_registrator.cpp
call qword [sym.imp.MSVCR120.dll_strrchr]
test rax, rax
je 0x1400ec958
inc rax
jmp 0x1400ec95f
lea rax, str..._sxs_registrator.cpp
mov rdx, rax
lea rcx, [0x140209428]
call fcn.140005ff0
mov rbx, rax
shl rbx, 0x34
lea rax, [0x140160748]
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x68]
call qword [sym.imp.MSVCR120.dll_public:_void___cdecl_std::exception::constructor_char_const__const___ptr64_const____ptr64__int____ptr64]
nop
lea rax, vtable.SwException.0
mov qword [rbp - 0x68], rax
movabs rax, 0x8250000007a
or rbx, rax
mov qword [rbp - 0x50], rbx
mov qword [rbp - 0x48], rsi
mov dword [rbp - 0x40], esi
mov qword [rbp - 0x38], rsi
cmp byte [0x1402088b9], 0
je 0x1400eca0e
mov rax, rbx
mov rdx, qword [0x1402088a8]
xor rax, rdx
movabs rcx, 0x8000000000
test rcx, rax
jne 0x1400eca0e
mov rax, rbx
xor rax, rdx
movabs rcx, 0x2000000000
test rcx, rax
jne 0x1400eca0e
mov rcx, rbx
shr rcx, 0x20
mov rax, rdx
shr rax, 0x20
xor cl, al
test cl, 0x1f
jne 0x1400eca0e
cmp ebx, edx
je 0x1400eca1f
cmp byte [0x1402088b8], 0
je 0x1400eca26
cmp ebx, dword [0x1402088c0]
jne 0x1400eca26
call qword [sym.imp.KERNEL32.dll_DebugBreak]
nop
lea rdx, [0x1401f8420]
lea rcx, [rbp - 0x68]
call sub.MSVCR120.dll__CxxThrowException
int3
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], rsi
mov word [rsp + 0x58], si
cmp word [rbx], 0
jne 0x1400eca5f
mov r8, rsi
jmp 0x1400eca6e
or r8, 0xffffffffffffffff
inc r8
cmp word [rbx + r8*2], 0
jne 0x1400eca63
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.140007d00
nop
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x70], 7
mov qword [rbp - 0x78], rsi
mov word [rsp + 0x78], si
mov r8d, 7
lea rdx, str.appvtmp
lea rcx, [rsp + 0x78]
call fcn.140007d00
nop
lea r8, [rbp - 0x20]
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x68]
call fcn.14000d570
nop
mov r8, rax
lea rdx, [rsp + 0x58]
mov rcx, rdi
call fcn.1400181b0
mov dword [rsp + 0x28], 1
cmp qword [rbp - 0x50], 8
jb 0x1400ecae9
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp - 0x50], 7
mov qword [rbp - 0x58], rsi
mov word [rbp - 0x68], si
cmp qword [rbp - 0x70], 8
jb 0x1400ecb0b
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rbp - 0x70], 7
mov qword [rbp - 0x78], rsi
mov word [rsp + 0x78], si
cmp qword [rsp + 0x70], 8
jb 0x1400ecb2f
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void____ptr64_]
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], rsi
mov word [rsp + 0x58], si
mov rcx, rdi
call fcn.140094d10
mov rcx, rax
call fcn.140040650
nop
mov rcx, rbx
call qword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void____ptr64_]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rsi
mov rax, rdi
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.140107280
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret