joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400024c4
Capabilities:
Copy file
Get common file path
Set file attributes

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x150
mov rax, qword [0x140034ab8]
xor rax, rsp
mov qword [rsp + 0x140], rax
mov rdi, rcx
add rcx, 0x10
mov rsi, rdx
call fcn.140014f10
mov rcx, rsi
call sub.msi.dll_MsiViewFetch
test eax, eax
jne 0x1400025b7
lea rdx, [rsp + 0x30]
mov ecx, 0x104
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
jne 0x140002523
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400025b7
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x30]
call fcn.140013ab8
test eax, eax
jne 0x14000253d
mov eax, 3
jmp 0x1400025b7
cmp dword [rsp + 0x20], 1
jne 0x14000254b
mov eax, 0x660
jmp 0x1400025b7
lea rdx, [rsp + 0x30]
lea rcx, [rdi + 0x18]
call fcn.140014f10
lea rdx, str.updated.msi
lea rcx, [rdi + 0x18]
call fcn.140014e84
mov rdx, qword [rdi + 0x18]
xor r8d, r8d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x140002585
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140002594
mov rcx, qword [rdi + 0x18]
mov edx, 0x80
call qword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov rcx, qword [rdi + 0x10]
lea r8, [rdi + 8]
xor edx, edx
call sub.msi.dll_MsiOpenProductA
test eax, eax
jne 0x1400025b7
mov rcx, qword [rdi + 0x18]
lea r8, [rdi + 0xc]
lea edx, [rax + 1]
call sub.msi.dll_MsiOpenProductA
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.140017020
mov rbx, qword [rsp + 0x180]
add rsp, 0x150
pop rdi
pop rsi
pop rbp
ret

Function at 0x1400025dc
Capabilities:
Delete file

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov ecx, dword [rcx + 0xc]
test ecx, ecx
je 0x1400025fd
call sub.msi.dll_MsiDatabaseGenerateTransformW
mov ecx, dword [rbx + 0xc]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
and dword [rbx + 0xc], 0
mov ecx, dword [rbx + 8]
test ecx, ecx
je 0x14000260d
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
and dword [rbx + 8], 0
lea rcx, [rbx + 0x18]
call fcn.140014a28
test eax, eax
je 0x140002624
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, 1
add rsp, 0x20
pop rbx
ret
Function at 0x140002760
Capabilities:
Reference sql statements

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
lea rbp, [rax - 0x388]
sub rsp, 0x460
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x140034ab8]
xor rax, rsp
mov qword [rbp + 0x350], rax
mov r13, r8
mov r12, rdx
mov rsi, rcx
xor edi, edi
cmp dword [rcx + 0xc], edi
je 0x140002881
lea rcx, [rsp + 0x30]
call fcn.140015078
nop
lea rdx, str.SELECT__FROM_Property_WHERE_Property___
lea rcx, [rsp + 0x30]
call fcn.140014f10
lea ecx, [rdi + 1]
call sub.msi.dll_MsiDatabaseExportA
mov ebx, eax
mov dword [rsp + 0x38], eax
test eax, eax
je 0x14000286b
mov r8, r12
lea edx, [rdi + 1]
mov ecx, eax
call sub.msi.dll_MsiReinstallFeatureFromDescriptorW
test eax, eax
jne 0x14000286b
lea r8, [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
mov ecx, dword [rsi + 0xc]
call sub.msi.dll_MsiEnableUIPreview
test eax, eax
jne 0x14000286b
mov edx, ebx
mov ecx, dword [rsp + 0x20]
call sub.msi.dll_MsiViewModify
test eax, eax
jne 0x140002861
lea rdx, [rsp + 0x24]
mov ecx, dword [rsp + 0x20]
call sub.msi.dll_MsiDatabaseIsTablePersistentA
test eax, eax
jne 0x140002861
mov dword [rsp + 0x28], 0x400
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x50]
lea edx, [rdi + 2]
mov ecx, dword [rsp + 0x24]
call sub.msi.dll_MsiRecordSetInteger
test eax, eax
jne 0x140002858
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.140014f10
mov edi, 1
mov ecx, dword [rsp + 0x24]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov ecx, dword [rsp + 0x20]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
nop
test ebx, ebx
je 0x140002877
mov ecx, ebx
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
nop
lea rcx, [rsp + 0x30]
call fcn.1400149a0
mov eax, edi
mov rcx, qword [rbp + 0x350]
xor rcx, rsp
call fcn.140017020
mov rbx, qword [rsp + 0x4a8]
add rsp, 0x460
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400028ac
Capabilities:
Reference sql statements

Disassembly:
push rbp
push rdi
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x30
mov qword [rbp - 8], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rsi
mov r14, r8
mov r13, rdx
mov rdi, rcx
xor esi, esi
cmp dword [rcx + 0xc], esi
je 0x1400029ed
lea rcx, [rbp - 0x10]
call fcn.140015078
nop
lea rdx, str.SELECT__FROM_Property_WHERE_Property___
lea rcx, [rbp - 0x10]
call fcn.140014f10
lea r15d, [rsi + 1]
mov ecx, r15d
call sub.msi.dll_MsiDatabaseExportA
mov ebx, eax
test eax, eax
je 0x1400029e4
mov r8, r13
mov edx, r15d
mov ecx, eax
call sub.msi.dll_MsiReinstallFeatureFromDescriptorW
test eax, eax
jne 0x1400029dc
lea r8, [rbp + 0x30]
mov rdx, qword [rbp - 0x10]
mov ecx, dword [rdi + 0xc]
call sub.msi.dll_MsiEnableUIPreview
test eax, eax
jne 0x1400029dc
mov edx, ebx
mov ecx, dword [rbp + 0x30]
call sub.msi.dll_MsiViewModify
test eax, eax
jne 0x1400029d4
lea rdx, [rbp + 0x48]
mov ecx, dword [rbp + 0x30]
call sub.msi.dll_MsiDatabaseIsTablePersistentA
test eax, eax
jne 0x14000298d
mov r8, r14
lea edx, [rsi + 2]
mov ecx, dword [rbp + 0x48]
call sub.msi.dll_MsiReinstallFeatureFromDescriptorW
test eax, eax
jne 0x140002988
mov r8d, dword [rbp + 0x48]
lea edx, [rsi + 2]
mov ecx, dword [rbp + 0x30]
call sub.msi.dll_MsiRecordClearData
test eax, eax
cmove esi, r15d
mov ecx, dword [rbp + 0x48]
jmp 0x1400029cf
mov ecx, 2
call sub.msi.dll_MsiDatabaseExportA
mov edi, eax
test eax, eax
je 0x1400029d4
mov r8, r13
mov edx, r15d
mov ecx, eax
call sub.msi.dll_MsiReinstallFeatureFromDescriptorW
mov r8, r14
mov edx, 2
mov ecx, edi
call sub.msi.dll_MsiReinstallFeatureFromDescriptorW
mov r8d, edi
mov edx, r15d
mov ecx, dword [rbp + 0x30]
call sub.msi.dll_MsiRecordClearData
test eax, eax
cmove esi, r15d
mov ecx, edi
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov ecx, dword [rbp + 0x30]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov ecx, ebx
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
nop
lea rcx, [rbp - 0x10]
call fcn.1400149a0
mov eax, esi
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop rdi
pop rbp
ret
mov r8, rdx
lea rdx, str.custom_logo_path_property
add rcx, 0x40
jmp 0x1400028ac
Function at 0x140003460
Capabilities:
Reference sql statements

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
lea rbp, [rax - 0x368]
sub rsp, 0x450
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x140034ab8]
xor rax, rsp
mov qword [rbp + 0x340], rax
mov edi, r8d
mov r12, rdx
mov rsi, rcx
xor ebx, ebx
cmp dword [rcx + 0xc], ebx
je 0x14000355f
lea rcx, [rsp + 0x28]
call fcn.140015078
nop
lea rcx, [rsp + 0x28]
test edi, edi
lea rdx, str.SELECT__FROM_Registry_WHERE_Root__2
jne 0x1400034cd
lea rdx, str.SELECT__FROM_Registry_WHERE_Root__1
call fcn.140014f10
lea r8, [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
mov ecx, dword [rsi + 0xc]
call sub.msi.dll_MsiEnableUIPreview
test eax, eax
jne 0x140003555
xor edx, edx
mov ecx, dword [rsp + 0x20]
call sub.msi.dll_MsiViewModify
test eax, eax
jne 0x14000354b
jmp 0x140003539
mov dword [rsp + 0x30], 0x400
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x40]
mov edx, 3
mov ecx, dword [rsp + 0x24]
call sub.msi.dll_MsiRecordSetInteger
test eax, eax
jne 0x140003530
mov rdx, r12
lea rcx, [rsp + 0x40]
call fcn.14001714c
test eax, eax
jne 0x140003530
inc ebx
mov ecx, dword [rsp + 0x24]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
lea rdx, [rsp + 0x24]
mov ecx, dword [rsp + 0x20]
call sub.msi.dll_MsiDatabaseIsTablePersistentA
test eax, eax
je 0x1400034f9
mov ecx, dword [rsp + 0x20]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
nop
lea rcx, [rsp + 0x28]
call fcn.1400149a0
mov eax, ebx
mov rcx, qword [rbp + 0x340]
xor rcx, rsp
call fcn.140017020
lea r11, [rsp + 0x450]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r12
pop rdi
pop rbp
ret
lea rdx, str.SOFTWAREEntrustWIGLAllowCPs
add rcx, 0x40
mov r8d, 1
jmp 0x140003460
Function at 0x140003588
Capabilities:
Reference sql statements

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x788]
sub rsp, 0x850
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x140034ab8]
xor rax, rsp
mov qword [rbp + 0x740], rax
mov r14d, r9d
mov esi, r8d
mov r15, rdx
mov r12, rcx
mov r13, qword [rbp + 0x7b0]
xor ebx, ebx
cmp dword [rcx + 0xc], ebx
je 0x1400036f2
mov edi, ebx
lea rcx, [rsp + 0x28]
call fcn.140015078
nop
lea rcx, [rsp + 0x28]
test esi, esi
lea rdx, str.SELECT__FROM_Registry_WHERE_Root__2
jne 0x140003604
lea rdx, str.SELECT__FROM_Registry_WHERE_Root__1
call fcn.140014f10
lea r8, [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
mov ecx, dword [r12 + 0xc]
call sub.msi.dll_MsiEnableUIPreview
test eax, eax
jne 0x1400036e8
xor edx, edx
mov ecx, dword [rsp + 0x20]
call sub.msi.dll_MsiViewModify
test eax, eax
jne 0x1400036de
lea rdx, [rsp + 0x24]
mov ecx, dword [rsp + 0x20]
call sub.msi.dll_MsiDatabaseIsTablePersistentA
test eax, eax
jne 0x1400036de
mov esi, 0x400
mov dword [rsp + 0x34], esi
lea r9, [rsp + 0x34]
lea r8, [rsp + 0x40]
mov edx, 3
mov ecx, dword [rsp + 0x24]
call sub.msi.dll_MsiRecordSetInteger
test eax, eax
jne 0x14000368b
mov rdx, r15
lea rcx, [rsp + 0x40]
call fcn.14001714c
test eax, eax
jne 0x14000368b
cmp r14d, edi
je 0x1400036a8
inc edi
mov ecx, dword [rsp + 0x24]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
lea rdx, [rsp + 0x24]
mov ecx, dword [rsp + 0x20]
call sub.msi.dll_MsiDatabaseIsTablePersistentA
test eax, eax
jne 0x1400036de
jmp 0x140003653
mov dword [rsp + 0x30], esi
lea r9, [rsp + 0x30]
lea r8, [rbp + 0x340]
mov edx, 4
mov ecx, dword [rsp + 0x24]
call sub.msi.dll_MsiRecordSetInteger
test eax, eax
jne 0x1400036de
lea rdx, [rbp + 0x340]
mov rcx, r13
call fcn.140014f10
mov ebx, 1
mov ecx, dword [rsp + 0x20]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
nop
lea rcx, [rsp + 0x28]
call fcn.1400149a0
mov eax, ebx
mov rcx, qword [rbp + 0x740]
xor rcx, rsp
call fcn.140017020
mov rbx, qword [rsp + 0x8a0]
add rsp, 0x850
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x140003720
Capabilities:
Reference sql statements

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x58], rbx
mov rbp, rdx
mov rsi, rcx
xor edi, edi
cmp dword [rcx + 0xc], edi
je 0x1400037e0
lea rcx, [rsp + 0x68]
call fcn.140015078
nop
lea rdx, str.SELECT__FROM_Registry_WHERE_Registry___
lea rcx, [rsp + 0x68]
call fcn.140014f10
lea ecx, [rdi + 1]
call sub.msi.dll_MsiDatabaseExportA
mov ebx, eax
test eax, eax
je 0x1400037d6
mov r8, rbp
lea edx, [rdi + 1]
mov ecx, eax
call sub.msi.dll_MsiReinstallFeatureFromDescriptorW
test eax, eax
jne 0x1400037ce
lea r8, [rsp + 0x50]
mov rdx, qword [rsp + 0x68]
mov ecx, dword [rsi + 0xc]
call sub.msi.dll_MsiEnableUIPreview
test eax, eax
jne 0x1400037ce
mov edx, ebx
mov ecx, dword [rsp + 0x50]
call sub.msi.dll_MsiViewModify
test eax, eax
jne 0x1400037c5
lea rdx, [rsp + 0x60]
mov ecx, dword [rsp + 0x50]
call sub.msi.dll_MsiDatabaseIsTablePersistentA
test eax, eax
jne 0x1400037c5
lea edi, [rax + 1]
mov ecx, dword [rsp + 0x60]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov ecx, dword [rsp + 0x50]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov ecx, ebx
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
nop
lea rcx, [rsp + 0x68]
call fcn.1400149a0
mov eax, edi
mov rbx, qword [rsp + 0x58]
add rsp, 0x30
pop rdi
pop rsi
pop rbp
ret
Function at 0x140004308
Capabilities:
Reference sql statements

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r13
mov rbp, rsp
sub rsp, 0x30
mov qword [rbp - 0x10], 0xfffffffffffffffe
mov esi, edx
mov rbx, rcx
xor edi, edi
cmp dword [rcx + 0xc], edi
je 0x1400043e1
lea rcx, [rbp + 0x48]
call fcn.140015078
nop
lea rdx, str.SELECT__FROM_EntrustCertificates_WHERE_RecordNumber___
lea rcx, [rbp + 0x48]
call fcn.140014f10
and dword [rbp + 0x30], edi
lea r8, [rbp + 0x30]
mov rdx, qword [rbp + 0x48]
mov ecx, dword [rbx + 0xc]
call sub.msi.dll_MsiEnableUIPreview
test eax, eax
jne 0x1400043cb
lea r13d, [rdi + 1]
mov ecx, r13d
call sub.msi.dll_MsiDatabaseExportA
mov ebx, eax
test eax, eax
je 0x1400043cb
mov r8d, esi
mov edx, r13d
mov ecx, eax
call sub.msi.dll_MsiRecordSetStringW
test eax, eax
jne 0x1400043c4
mov edx, ebx
mov ecx, dword [rbp + 0x30]
call sub.msi.dll_MsiViewModify
test eax, eax
jne 0x1400043c4
and dword [rbp + 0x40], eax
lea rdx, [rbp + 0x40]
mov ecx, dword [rbp + 0x30]
call sub.msi.dll_MsiDatabaseIsTablePersistentA
test eax, eax
jne 0x1400043b8
mov r8d, dword [rbp + 0x40]
lea edx, [rdi + 6]
mov ecx, dword [rbp + 0x30]
call sub.msi.dll_MsiRecordClearData
test eax, eax
cmovne edi, r13d
mov ecx, dword [rbp + 0x40]
test ecx, ecx
je 0x1400043c4
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov ecx, ebx
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov ecx, dword [rbp + 0x30]
test ecx, ecx
je 0x1400043d8
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
nop
lea rcx, [rbp + 0x48]
call fcn.1400149a0
mov eax, edi
add rsp, 0x30
pop r13
pop rdi
pop rsi
pop rbx
pop rbp
ret
add rcx, 0x40
jmp 0x140004308
Function at 0x140004430
Capabilities:
Reference sql statements

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
lea rbp, [rax - 0x378]
sub rsp, 0x460
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x140034ab8]
xor rax, rsp
mov qword [rbp + 0x350], rax
mov rsi, r8
mov qword [rsp + 0x28], rdx
mov rbx, rcx
mov qword [rsp + 0x38], rcx
call fcn.140003cb4
mov edi, eax
test eax, eax
jne 0x140004640
mov r8, rsi
mov rdx, qword [rsp + 0x28]
mov rcx, rbx
call fcn.140002760
mov edi, eax
test eax, eax
jne 0x140004640
cmp dword [rbx + 0xc], eax
je 0x140004640
lea rcx, [rsp + 0x30]
call fcn.140015078
nop
lea rdx, str.SELECT__FROM_Directory_WHERE_Directory___
lea rcx, [rsp + 0x30]
call fcn.140014f10
lea ecx, [rdi + 1]
call sub.msi.dll_MsiDatabaseExportA
mov ebx, eax
mov dword [rsp + 0x40], eax
test eax, eax
je 0x14000462a
mov r8, qword [rsp + 0x28]
lea edx, [rdi + 1]
mov ecx, eax
call sub.msi.dll_MsiReinstallFeatureFromDescriptorW
test eax, eax
jne 0x14000462a
lea r8, [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 0xc]
call sub.msi.dll_MsiEnableUIPreview
test eax, eax
jne 0x14000462a
mov edx, ebx
mov ecx, dword [rsp + 0x28]
call sub.msi.dll_MsiViewModify
test eax, eax
jne 0x140004620
lea rdx, [rsp + 0x24]
mov ecx, dword [rsp + 0x28]
call sub.msi.dll_MsiDatabaseIsTablePersistentA
test eax, eax
jne 0x140004620
mov dword [rsp + 0x20], 0x400
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x50]
lea edx, [rdi + 2]
mov ecx, dword [rsp + 0x24]
call sub.msi.dll_MsiRecordSetInteger
test eax, eax
jne 0x140004617
lea rcx, [rsp + 0x50]
call fcn.1400179f0
test rax, rax
je 0x1400045ce
mov r8, rsi
lea rdx, [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
call fcn.140004430
mov edi, eax
test eax, eax
je 0x140004617
mov dword [rsp + 0x20], 0x400
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x50]
mov edx, 3
mov ecx, dword [rsp + 0x24]
call sub.msi.dll_MsiRecordSetInteger
test eax, eax
jne 0x140004615
lea edx, [rax + 0x7c]
lea rcx, [rsp + 0x50]
call fcn.140017b84
test rax, rax
je 0x1400045f2
cmp byte [rax], 0x7c
jne 0x1400045f2
mov rcx, rax
call fcn.140017e48
mov rdx, rax
jmp 0x1400045f7
mov dword [rsp + 0x20], 0x400
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x50]
mov edx, 3
mov ecx, dword [rsp + 0x24]
call sub.msi.dll_MsiRecordSetInteger
test eax, eax
jne 0x140004615
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.140014e84
lea rdx, [0x140027d28]
mov rcx, rsi
call fcn.140014e84
mov edi, 1
jmp 0x140004617
xor edi, edi
mov ecx, dword [rsp + 0x24]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov ecx, dword [rsp + 0x28]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
nop
test ebx, ebx
je 0x140004636
mov ecx, ebx
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
nop
lea rcx, [rsp + 0x30]
call fcn.1400149a0
mov eax, edi
mov rcx, qword [rbp + 0x350]
xor rcx, rsp
call fcn.140017020
mov rbx, qword [rsp + 0x498]
add rsp, 0x460
pop rdi
pop rsi
pop rbp
ret
Function at 0x14000494c
Capabilities:
Reference sql statements

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
lea rbp, [rax - 0x378]
sub rsp, 0x460
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x140034ab8]
xor rax, rsp
mov qword [rbp + 0x350], rax
mov r12, rdx
mov rsi, rcx
xor edi, edi
cmp dword [rcx + 0xc], edi
je 0x140004a6c
lea rcx, [rsp + 0x30]
call fcn.140015078
nop
lea rdx, str.SELECT__FROM_FeatureComponents_WHERE_Feature____
lea rcx, [rsp + 0x30]
call fcn.140014f10
lea ecx, [rdi + 1]
call sub.msi.dll_MsiDatabaseExportA
mov ebx, eax
mov dword [rsp + 0x38], eax
test eax, eax
je 0x140004a56
mov r8, r12
lea edx, [rdi + 1]
mov ecx, eax
call sub.msi.dll_MsiReinstallFeatureFromDescriptorW
test eax, eax
jne 0x140004a56
lea r8, [rsp + 0x20]
mov rdx, qword [rsp + 0x30]
mov ecx, dword [rsi + 0xc]
call sub.msi.dll_MsiEnableUIPreview
test eax, eax
jne 0x140004a56
mov edx, ebx
mov ecx, dword [rsp + 0x20]
call sub.msi.dll_MsiViewModify
test eax, eax
jne 0x140004a4c
jmp 0x140004a3a
mov dword [rsp + 0x28], 0x400
lea r9, [rsp + 0x28]
lea r8, [rsp + 0x50]
mov edx, 2
mov ecx, dword [rsp + 0x24]
call sub.msi.dll_MsiRecordSetInteger
test eax, eax
jne 0x140004a31
lea rdx, [rsp + 0x50]
mov rcx, rsi
call fcn.140003d18
add edi, eax
mov ecx, dword [rsp + 0x24]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
lea rdx, [rsp + 0x24]
mov ecx, dword [rsp + 0x20]
call sub.msi.dll_MsiDatabaseIsTablePersistentA
test eax, eax
je 0x1400049fe
mov ecx, dword [rsp + 0x20]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
nop
test ebx, ebx
je 0x140004a62
mov ecx, ebx
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
nop
lea rcx, [rsp + 0x30]
call fcn.1400149a0
mov eax, edi
mov rcx, qword [rbp + 0x350]
xor rcx, rsp
call fcn.140017020
lea r11, [rsp + 0x460]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r12
pop rdi
pop rbp
ret
Function at 0x1400052d0
Capabilities:
Get graphical window text

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x358]
sub rsp, 0x450
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov rax, qword [0x140034ab8]
xor rax, rsp
mov qword [rbp + 0x340], rax
mov rbx, rcx
mov byte [rbp + 0x10], 0
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.USER32.dll_GetWindowTextLengthA]
test eax, eax
je 0x140005329
mov r8d, 0x104
lea rdx, [rbp + 0x10]
mov rcx, qword [rbx + 0x30]
call qword [sym.imp.USER32.dll_GetWindowTextA]
mov byte [rbp + 0x120], 0
and qword [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rbp + 0x230]
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x10]
call fcn.140018844
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x120]
call fcn.140018460
mov byte [rbp + 0x10], 0
mov r9d, MsiDatabaseExportA
xor r8d, r8d
mov rdx, qword [rbx + 0x10]
lea rcx, [rsp + 0x50]
call fcn.1400147a4
nop
mov r9d, MsiDatabaseExportA
xor r8d, r8d
mov rdx, qword [rbx + 0x10]
lea rcx, [rsp + 0x30]
call fcn.1400147a4
nop
jmp 0x14000539c
mov byte [rax], 0
lea rcx, [rsp + 0x30]
call fcn.1400145b4
mov edx, reloc.msi.dll_MsiReinstallFeatureFromDescriptorW
mov rcx, rax
call fcn.140018040
test rax, rax
jne 0x140005399
xor edx, edx
mov r8d, MsiViewFetch
lea rcx, [rsp + 0x70]
call fcn.140017870
mov dword [rsp + 0x70], MsiViewModify
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x30]
call fcn.1400145b4
mov qword [rbp - 0x78], rax
lea rax, [rbp + 0x10]
mov qword [rbp - 0x60], rax
mov dword [rbp - 0x58], 0x104
and qword [rbp - 0x50], 0
and dword [rbp - 0x48], 0
lea rax, [rbp + 0x120]
mov qword [rbp - 0x40], rax
lea rcx, [rsp + 0x50]
call fcn.1400145b4
mov qword [rbp - 0x38], rax
mov dword [rbp - 0x30], 0x1006
lea rax, [0x140028310]
mov qword [rbp - 0x28], rax
lea rcx, [rsp + 0x70]
call qword [sym.imp.COMDLG32.dll_GetOpenFileNameA]
test eax, eax
je 0x14000544a
lea rdx, [rbp + 0x10]
mov rcx, qword [rbx + 0x30]
call qword [sym.imp.USER32.dll_SetWindowTextA]
nop
lea rcx, [rsp + 0x30]
call fcn.140014484
nop
lea rcx, [rsp + 0x50]
call fcn.140014484
mov rcx, qword [rbp + 0x340]
xor rcx, rsp
call fcn.140017020
mov rbx, qword [rsp + 0x468]
add rsp, 0x450
pop rbp
ret
Function at 0x1400056d4
Capabilities:
Get graphical window text

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x358]
sub rsp, 0x450
mov qword [rsp + 0x48], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov rax, qword [0x140034ab8]
xor rax, rsp
mov qword [rbp + 0x340], rax
mov rbx, rcx
mov byte [rbp + 0x10], 0
mov rcx, qword [rcx + 0x38]
call qword [sym.imp.USER32.dll_GetWindowTextLengthA]
test eax, eax
je 0x14000572d
mov r8d, 0x104
lea rdx, [rbp + 0x10]
mov rcx, qword [rbx + 0x38]
call qword [sym.imp.USER32.dll_GetWindowTextA]
mov byte [rbp + 0x120], 0
and qword [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rbp + 0x230]
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x10]
call fcn.140018844
lea rdx, [rbp + 0x230]
lea rcx, [rbp + 0x120]
call fcn.140018460
mov byte [rbp + 0x10], 0
mov r9d, 0x3d
xor r8d, r8d
mov rdx, qword [rbx + 0x10]
lea rcx, [rsp + 0x50]
call fcn.1400147a4
nop
mov r9d, 0x46
xor r8d, r8d
mov rdx, qword [rbx + 0x10]
lea rcx, [rsp + 0x30]
call fcn.1400147a4
nop
jmp 0x1400057a0
mov byte [rax], 0
lea rcx, [rsp + 0x30]
call fcn.1400145b4
mov edx, reloc.msi.dll_MsiReinstallFeatureFromDescriptorW
mov rcx, rax
call fcn.140018040
test rax, rax
jne 0x14000579d
xor edx, edx
mov r8d, MsiViewFetch
lea rcx, [rsp + 0x70]
call fcn.140017870
mov dword [rsp + 0x70], MsiViewModify
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x30]
call fcn.1400145b4
mov qword [rbp - 0x78], rax
lea rax, [rbp + 0x10]
mov qword [rbp - 0x60], rax
mov dword [rbp - 0x58], 0x104
and qword [rbp - 0x50], 0
and dword [rbp - 0x48], 0
lea rax, [rbp + 0x120]
mov qword [rbp - 0x40], rax
lea rcx, [rsp + 0x50]
call fcn.1400145b4
mov qword [rbp - 0x38], rax
mov dword [rbp - 0x30], 0x1006
lea rax, [0x140028378]
mov qword [rbp - 0x28], rax
lea rcx, [rsp + 0x70]
call qword [sym.imp.COMDLG32.dll_GetOpenFileNameA]
test eax, eax
je 0x14000584e
lea rdx, [rbp + 0x10]
mov rcx, qword [rbx + 0x38]
call qword [sym.imp.USER32.dll_SetWindowTextA]
nop
lea rcx, [rsp + 0x30]
call fcn.140014484
nop
lea rcx, [rsp + 0x50]
call fcn.140014484
mov rcx, qword [rbp + 0x340]
xor rcx, rsp
call fcn.140017020
mov rbx, qword [rsp + 0x468]
add rsp, 0x450
pop rbp
ret