Function at 0x14001a8f0
Capabilities:
Delete registry value
Set registry value

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0x100
mov qword [rbp - 0x79], 0xfffffffffffffffe
mov qword [rsp + 0x130], rbx
mov rax, qword [0x14007d008]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r15, r9
mov r14, r8
mov rbx, rdx
lea rcx, [rbp - 0x11]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
lea rcx, [rbp - 0x19]
call qword [sym.imp.mfc140u.dll_Ordinal_296]
nop
xor esi, esi
test r14, r14
jne 0x14001aa6a
xor eax, eax
mov qword [rbp - 9], rax
mov qword [rbp - 1], rax
mov qword [rbp + 7], rax
mov qword [rbp + 0xf], rax
mov qword [rbp + 0x17], rax
lea rcx, [rbp - 9]
call qword [sym.imp.mfc140u.dll_CSmartDockingStandaloneGuideWnd::CSmartDockingStandaloneGuideWnd]
nop
lea rdx, [0x140053370]
lea rcx, [rbp - 0x49]
call qword [sym.imp.acdb21.dll_public:_void___cdecl_AdXREFString::constructor_wchar_t_const____ptr64____ptr64]
nop
mov rdx, rbx
lea rcx, [rbp - 0x71]
call qword [sym.imp.acdb21.dll_public:_void___cdecl_AdXREFString::constructor_wchar_t_const____ptr64____ptr64]
nop
lea r8, [rbp - 9]
lea rdx, [rbp - 0x49]
lea rcx, [rbp - 0x71]
call fcn.140019b30
nop
lea rcx, [rbp - 0x71]
call qword [sym.imp.acdb21.dll_public_virtual:_void___cdecl_AdXREFString::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x49]
call qword [sym.imp.acdb21.dll_public_virtual:_void___cdecl_AdXREFString::destructor_void____ptr64]
mov rax, qword [rbp + 7]
cmp rax, 2
jge 0x14001a9cd
lea rcx, [rbp - 9]
call qword [sym.imp.mfc140u.dll_CSemaphore::CSemaphore]
jmp 0x14001ab1d
lea rcx, [rax - 1]
test rcx, rcx
js 0x14001aa63
cmp rcx, rax
jge 0x14001aa63
mov rax, qword [rbp - 1]
lea rdx, [rax + rcx*8]
lea rcx, [rbp - 0x11]
call qword [sym.imp.mfc140u.dll_Ordinal_1501]
mov edi, esi
mov rcx, qword [rbp + 7]
lea rax, [rcx - 1]
test rax, rax
jle 0x14001aa57
mov rbx, rsi
test edi, edi
jle 0x14001aa20
lea rdx, [0x140053370]
lea rcx, [rbp - 0x19]
call qword [sym.imp.mfc140u.dll_COleCurrency::operator_]
mov rcx, qword [rbp + 7]
test rbx, rbx
js 0x14001aa50
cmp rbx, rcx
jge 0x14001aa50
mov rax, qword [rbp - 1]
lea rdx, [rax + rbx*8]
lea rcx, [rbp - 0x19]
call qword [sym.imp.mfc140u.dll_Ordinal_1667]
inc edi
movsxd rbx, edi
mov rcx, qword [rbp + 7]
lea rax, [rcx - 1]
cmp rbx, rax
jl 0x14001aa07
jmp 0x14001aa57
call qword [sym.imp.mfc140u.dll_AfxRegDeleteKey]
nop
lea rcx, [rbp - 9]
call qword [sym.imp.mfc140u.dll_CSemaphore::CSemaphore]
jmp 0x14001aa77
call qword [sym.imp.mfc140u.dll_AfxRegDeleteKey]
nop
mov rdx, rbx
lea rcx, [rbp - 0x19]
call qword [sym.imp.mfc140u.dll_CMFCControlRendererInfo::CMFCControlRendererInfo]
lea rax, [rbp + 0x1f]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x21]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rbp - 0x19]
mov rcx, 0xffffffff80000001
call fcn.140049ca0
test eax, eax
jne 0x14001ab1d
test r14, r14
jne 0x14001aacb
xor r8d, r8d
mov rdx, qword [rbp - 0x11]
mov rcx, qword [rbp - 0x21]
call fcn.140049d90
jmp 0x14001ab0c
test r15, r15
jne 0x14001aade
mov rdx, r14
mov rcx, qword [rbp - 0x21]
call sub.ADVAPI32.dll_RegDeleteValueW
jmp 0x14001ab0c
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r15
mov r9d, 1
xor r8d, r8d
mov rdx, r14
mov rcx, qword [rbp - 0x21]
call sub.ADVAPI32.dll_RegSetValueExW
mov ebx, eax
mov rcx, qword [rbp - 0x21]
call sub.ADVAPI32.dll_RegCloseKey
test ebx, ebx
sete sil
lea rcx, [rbp - 0x19]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
nop
lea rcx, [rbp - 0x11]
call qword [sym.imp.mfc140u.dll_CMFCRibbonInfo::XElementButtonGallery::XGalleryGroup::XGalleryGroup]
mov eax, esi
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1400489c0
mov rbx, qword [rsp + 0x130]
add rsp, 0x100
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret