Function at 0x140002f44
Capabilities:
Reference sql statements

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov qword [rbp - 0x10], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov r13, r9
mov r15d, r8d
mov rsi, rdx
mov rbx, rcx
xor r12d, r12d
cmp dword [rcx + 0xc], r12d
je 0x1400031a6
lea rcx, [rbp - 0x18]
call fcn.140015078
nop
lea rdx, str.SELECT__FROM_Registry_WHERE_Registry.Registry___
lea rcx, [rbp - 0x18]
call fcn.140014f10
lea r14d, [r12 + 1]
mov ecx, r14d
call sub.msi.dll_MsiDatabaseExportA
mov edi, eax
mov dword [rbp - 0x1c], eax
test eax, eax
je 0x14000319d
mov r8, rsi
mov edx, r14d
mov ecx, eax
call sub.msi.dll_MsiReinstallFeatureFromDescriptorW
test eax, eax
jne 0x140003195
lea r8, [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
mov ecx, dword [rbx + 0xc]
call sub.msi.dll_MsiEnableUIPreview
test eax, eax
jne 0x140003195
mov edx, edi
mov ecx, dword [rbp - 0x20]
call sub.msi.dll_MsiViewModify
test eax, eax
jne 0x14000318d
lea rdx, [rbp + 0x40]
mov ecx, dword [rbp - 0x20]
call sub.msi.dll_MsiDatabaseIsTablePersistentA
test eax, eax
jne 0x1400030cf
lea esi, [rax + 2]
lea r14d, [r12 + 6]
mov rbx, qword [rbp + 0x68]
lea edi, [rax + 1]
test rbx, rbx
je 0x140003096
mov rcx, rbx
call fcn.1400179f0
test rax, rax
je 0x140003096
mov edx, esi
mov ecx, dword [rbp + 0x40]
test r15d, r15d
mov r8d, esi
jne 0x14000303a
mov r8d, edi
call sub.msi.dll_MsiRecordSetStringW
mov r8, r13
mov edx, 3
mov ecx, dword [rbp + 0x40]
call sub.msi.dll_MsiReinstallFeatureFromDescriptorW
mov r8, qword [rbp + 0x60]
mov edx, 4
mov ecx, dword [rbp + 0x40]
call sub.msi.dll_MsiReinstallFeatureFromDescriptorW
mov r8, rbx
mov edx, 5
mov ecx, dword [rbp + 0x40]
call sub.msi.dll_MsiReinstallFeatureFromDescriptorW
mov r8, qword [rbp + 0x70]
mov edx, r14d
mov ecx, dword [rbp + 0x40]
call sub.msi.dll_MsiReinstallFeatureFromDescriptorW
mov r8d, dword [rbp + 0x40]
mov edx, esi
mov ecx, dword [rbp - 0x20]
call sub.msi.dll_MsiRecordClearData
test eax, eax
jne 0x1400030ab
mov r12d, edi
jmp 0x1400030ab
mov r8d, dword [rbp + 0x40]
mov edx, r14d
mov ecx, dword [rbp - 0x20]
call sub.msi.dll_MsiRecordClearData
test eax, eax
cmove r12d, edi
mov ecx, dword [rbp + 0x40]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
lea rdx, [rbp + 0x40]
mov ecx, dword [rbp - 0x20]
call sub.msi.dll_MsiDatabaseIsTablePersistentA
test eax, eax
je 0x140003018
mov edi, dword [rbp - 0x1c]
jmp 0x14000318d
mov r13, qword [rbp + 0x68]
test r13, r13
je 0x14000318d
mov rcx, r13
call fcn.1400179f0
test rax, rax
je 0x14000318d
mov r14d, 6
mov ecx, r14d
call sub.msi.dll_MsiDatabaseExportA
mov ebx, eax
test eax, eax
je 0x14000318d
mov r8, rsi
lea esi, [r14 - 5]
mov edx, esi
mov ecx, eax
call sub.msi.dll_MsiReinstallFeatureFromDescriptorW
mov ecx, ebx
test r15d, r15d
je 0x140003124
lea esi, [r14 - 4]
mov edx, esi
jmp 0x140003129
mov edx, 2
mov r8d, esi
call sub.msi.dll_MsiRecordSetStringW
mov r8, qword [rbp + 0x58]
mov edx, 3
mov ecx, ebx
call sub.msi.dll_MsiReinstallFeatureFromDescriptorW
mov r8, qword [rbp + 0x60]
mov edx, 4
mov ecx, ebx
call sub.msi.dll_MsiReinstallFeatureFromDescriptorW
mov r8, r13
mov edx, 5
mov ecx, ebx
call sub.msi.dll_MsiReinstallFeatureFromDescriptorW
mov r8, qword [rbp + 0x70]
mov edx, r14d
mov ecx, ebx
call sub.msi.dll_MsiReinstallFeatureFromDescriptorW
mov r8d, ebx
mov esi, 1
mov edx, esi
mov ecx, dword [rbp - 0x20]
call sub.msi.dll_MsiRecordClearData
test eax, eax
cmove r12d, esi
mov ecx, ebx
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov ecx, dword [rbp - 0x20]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov ecx, edi
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
nop
lea rcx, [rbp - 0x18]
call fcn.1400149a0
mov eax, r12d
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret