Function at 0x14003e5f0
Capabilities:
Reference sql statements

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
sub rsp, 0x508
mov qword [rsp + 0x78], 0xfffffffffffffffe
mov rax, qword [0x1400d2478]
xor rax, rsp
mov qword [rsp + 0x4f0], rax
mov r12, r9
mov rdi, r8
mov esi, edx
mov rbp, rcx
mov qword [rsp + 0xa0], 7
xor r13d, r13d
mov qword [rsp + 0x98], r13
mov word [rsp + 0x88], r13w
lea r8d, [r13 + 0x3e]
lea rdx, str.PSWindowsInstallerUtilities::PSWIUTIL_MsiGetComponentFilesList
lea rcx, [rsp + 0x80]
call fcn.140001870
nop
lea r9, [rsp + 0x88]
cmp qword [rsp + 0xa0], 8
cmovae r9, qword [rsp + 0x88]
lea rax, str.Function_start
mov qword [rsp + 0x20], rax
lea edx, [r13 + 0x32]
lea r8d, [r13 + 1]
mov rcx, rbp
call fcn.1400144a0
mov dword [rsp + 0x44], r13d
mov rdx, qword [r12 + 0x30]
mov rdx, qword [rdx + 8]
mov rcx, r12
call fcn.140011580
mov rdx, qword [r12 + 0x30]
mov qword [rdx + 8], rdx
mov qword [r12 + 0x38], r13
mov rax, qword [r12 + 0x30]
mov qword [rax], rax
mov rax, qword [r12 + 0x30]
mov qword [rax + 0x10], rax
mov r9, rdi
lea r8, str.SELECT_File_FileName_FROM_File_WHERE__Component___s
mov edx, 0x104
lea rcx, [rsp + 0x2e0]
call fcn.140066ef4
lea ebx, [r13 + 1]
mov rax, qword [0x1400d51b8]
test rax, rax
je 0x14003e709
lea r8, [rsp + 0x44]
lea rdx, [rsp + 0x2e0]
mov ecx, esi
call rax
mov ebx, eax
test ebx, ebx
jne 0x14003eafb
mov rax, qword [0x1400d5170]
test rax, rax
je 0x14003ea9a
lea ecx, [rbx + 0xa]
call rax
mov esi, eax
test eax, eax
je 0x14003ea9a
mov ebx, 1
mov rax, qword [0x1400d51a8]
test rax, rax
je 0x14003e74b
mov edx, esi
mov ecx, dword [rsp + 0x44]
call rax
mov ebx, eax
test ebx, ebx
jne 0x14003ea3d
mov dword [rsp + 0x40], r13d
nop dword [rax + rax]
mov rax, qword [0x1400d51a0]
test rax, rax
je 0x14003ea84
lea rdx, [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
call rax
test eax, eax
jne 0x14003ea84
mov word [rsp + 0xd0], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0xd2]
call fcn.1400719a0
mov dword [rsp + 0x48], 0x104
mov ebx, 1
mov rax, qword [0x1400d5198]
test rax, rax
je 0x14003e7d2
lea r9, [rsp + 0x48]
lea r8, [rsp + 0xd0]
lea edx, [rbx + 1]
mov ecx, dword [rsp + 0x40]
call rax
mov ebx, eax
cmp r13w, word [rsp + 0xd0]
je 0x14003e9ec
mov qword [rsp + 0xc8], 7
mov qword [rsp + 0xc0], r13
mov word [rsp + 0xb0], r13w
lea rdx, [0x1400b1ea0]
lea rcx, [rsp + 0xd0]
call fcn.140067a28
mov rdx, rax
test rax, rax
je 0x14003e820
add rdx, 2
jmp 0x14003e828
lea rdx, [rsp + 0xd0]
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0xa8]
call fcn.140001870
movzx eax, r13w
mov word [rsp + 0xd0], ax
mov dword [rsp + 0x48], 0x104
mov ebx, 1
mov rdi, qword [0x1400d5198]
test rdi, rdi
je 0x14003e88c
lea r9, [rsp + 0x48]
lea r8, [rsp + 0xd0]
mov edx, ebx
mov ecx, dword [rsp + 0x40]
call rdi
mov ebx, eax
mov ax, word [rsp + 0xd0]
cmp r13w, ax
je 0x14003e966
mov qword [rsp + 0x70], 7
mov qword [rsp + 0x68], r13
mov word [rsp + 0x58], r13w
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0xd0]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rsp + 0xd0]
lea rcx, [rsp + 0x50]
call fcn.140001870
nop
lea rdx, [rsp + 0x50]
mov rcx, r12
call fcn.1400099b0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rsp + 0xa8]
mov rcx, rax
call fcn.140001500
nop
cmp qword [rsp + 0x70], 8
jb 0x14003e90d
mov rcx, qword [rsp + 0x58]
call fcn.140065920
nop
cmp qword [rsp + 0xc8], 8
jb 0x14003e925
mov rcx, qword [rsp + 0xb0]
call fcn.140065920
mov qword [rsp + 0xc8], 7
mov qword [rsp + 0xc0], r13
mov word [rsp + 0xb0], r13w
mov ecx, dword [rsp + 0x40]
test ecx, ecx
je 0x14003e760
mov rax, qword [0x1400d5178]
test rax, rax
je 0x14003e95c
call rax
mov dword [rsp + 0x40], r13d
jmp 0x14003e760
test ebx, ebx
je 0x14003e9b2
lea r9, [rsp + 0x88]
cmp qword [rsp + 0xa0], 8
cmovae r9, qword [rsp + 0x88]
lea rax, str.MsiRecordGetStringW
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ebx
lea rax, str.Error___i__return_by_function___s_
mov qword [rsp + 0x20], rax
mov edx, 0xa
lea r8d, [rdx - 9]
mov rcx, rbp
call fcn.1400144a0
nop
cmp qword [rsp + 0xc8], 8
jb 0x14003e9ca
mov rcx, qword [rsp + 0xb0]
call fcn.140065920
mov qword [rsp + 0xc8], 7
mov qword [rsp + 0xc0], r13
mov word [rsp + 0xb0], r13w
jmp 0x14003ea84
test ebx, ebx
je 0x14003ea84
lea r9, [rsp + 0x88]
cmp qword [rsp + 0xa0], 8
cmovae r9, qword [rsp + 0x88]
lea rax, str.MsiRecordGetStringW
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ebx
lea rax, str.Error___i__return_by_function___s_
mov qword [rsp + 0x20], rax
mov edx, 0xa
lea r8d, [rdx - 9]
mov rcx, rbp
call fcn.1400144a0
jmp 0x14003ea84
lea r9, [rsp + 0x88]
cmp qword [rsp + 0xa0], 8
cmovae r9, qword [rsp + 0x88]
lea rax, str.MsiViewExecute
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ebx
lea rax, str.Error___i__return_by_function___s_
mov qword [rsp + 0x20], rax
mov edx, 0xa
lea r8d, [rdx - 9]
mov rcx, rbp
call fcn.1400144a0
mov rax, qword [0x1400d5178]
test rax, rax
je 0x14003eb42
mov ecx, esi
call rax
jmp 0x14003eae7
lea r9, [rsp + 0x88]
cmp qword [rsp + 0xa0], 8
cmovae r9, qword [rsp + 0x88]
lea rax, str.MsiCreateRecord
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r13d
lea rax, str.Error___i__return_by_function___s_
mov qword [rsp + 0x20], rax
mov edx, 0xa
lea r8d, [rdx - 9]
mov rcx, rbp
call fcn.1400144a0
mov ebx, 0x8000ffff
mov rax, qword [0x1400d5178]
test rax, rax
je 0x14003eb42
mov ecx, dword [rsp + 0x44]
call rax
jmp 0x14003eb42
lea r9, [rsp + 0x88]
cmp qword [rsp + 0xa0], 8
cmovae r9, qword [rsp + 0x88]
lea rax, str.MsiDatabaseOpenViewW
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ebx
lea rax, str.Error___i__return_by_function___s_
mov qword [rsp + 0x20], rax
mov edx, 0xa
lea r8d, [rdx - 9]
mov rcx, rbp
call fcn.1400144a0
lea r9, [rsp + 0x88]
cmp qword [rsp + 0xa0], 8
cmovae r9, qword [rsp + 0x88]
mov dword [rsp + 0x28], ebx
lea rax, str.Return_code__0x_x_
mov qword [rsp + 0x20], rax
mov edx, 0x28
lea r8d, [rdx - 0x27]
mov rcx, rbp
call fcn.1400144a0
lea r9, [rsp + 0x88]
cmp qword [rsp + 0xa0], 8
cmovae r9, qword [rsp + 0x88]
lea rax, str.Function_end
mov qword [rsp + 0x20], rax
mov edx, 0x32
lea r8d, [rdx - 0x31]
mov rcx, rbp
call fcn.1400144a0
nop
cmp qword [rsp + 0xa0], 8
jb 0x14003ebd1
mov rcx, qword [rsp + 0x88]
call fcn.140065920
mov eax, ebx
jmp 0x14003ebd3
mov eax, ebx
mov rcx, qword [rsp + 0x4f0]
xor rcx, rsp
call fcn.140064b70
add rsp, 0x508
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret