Function at 0x1001b21a
Capabilities:
Reference sql statements

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x2d4
push ebx
push esi
push edi
push 0x19
pop ecx
mov esi, 0x1001b4c0
lea edi, [ebp - 0x240]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x20
pop ecx
mov esi, 0x1001b438
lea edi, [ebp - 0x2c4]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [0x1003b164]
push 0x13
pop ecx
mov edx, dword [ebp + 0x10]
mov esi, 0x1001b3e8
lea edi, [ebp - 0x178]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x17
pop ecx
mov esi, 0x1001b388
lea edi, [ebp - 0x1d8]
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push eax
mov dword [ebp - 0x2d0], eax
push edx
movsw word es:[edi], word [esi]
mov esi, dword [sym.imp.msvcrt.dll__snwprintf]
lea eax, [ebp - 0x240]
push eax
mov edi, 0x91
lea eax, [ebp - 0x128]
push edi
xor ebx, ebx
push eax
mov dword [ebp - 0x2d4], edx
mov dword [ebp - 0x2cc], ebx
call esi
add esp, 0x14
lea eax, [ebp - 0x2cc]
push eax
lea eax, [ebp - 0x128]
push eax
push dword [ebp + 8]
mov word [ebp - 8], bx
call sub.msi.dll_MsiEnumClientsA
cmp eax, ebx
jne 0x1001b369
push ebx
push dword [ebp - 0x2cc]
call sub.msi.dll_MsiViewModify
push dword [ebp - 0x2cc]
mov dword [ebp - 0x2c8], eax
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x2c8], ebx
jne 0x1001b361
push dword [ebp - 0x2d0]
lea eax, [ebp - 0x2c4]
push dword [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x128]
push edi
push eax
call esi
add esp, 0x14
lea eax, [ebp - 0x2cc]
push eax
lea eax, [ebp - 0x128]
push eax
push dword [ebp + 8]
mov word [ebp - 8], bx
call sub.msi.dll_MsiEnumClientsA
cmp eax, ebx
jne 0x1001b369
push ebx
push dword [ebp - 0x2cc]
call sub.msi.dll_MsiViewModify
push dword [ebp - 0x2cc]
mov dword [ebp - 0x2c8], eax
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp dword [ebp - 0x2c8], ebx
je 0x1001b526
mov eax, dword [ebp - 0x2c8]
cmp eax, ebx
jle 0x1001b375
and eax, 0xffff
or eax, 0x80070000
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.10023cf0
leave
ret 0xc
push dword [ebp - 0x2d0]
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x128]
push edi
push eax
call esi
add esp, 0x10
lea eax, [ebp - 0x2cc]
push eax
lea eax, [ebp - 0x128]
push eax
push dword [ebp + 8]
mov word [ebp - 8], bx
call sub.msi.dll_MsiEnumClientsA
mov esi, eax
cmp esi, ebx
jne 0x1001b662
push ebx
push dword [ebp - 0x2cc]
call sub.msi.dll_MsiViewModify
mov esi, eax
cmp esi, ebx
mov edi, 0x103
jne 0x1001b5b6
lea eax, [ebp - 0x2c8]
push eax
push dword [ebp - 0x2cc]
mov dword [ebp - 0x2c8], ebx
call sub.msi.dll_MsiDatabaseIsTablePersistentA
mov esi, eax
cmp esi, ebx
je 0x1001b677
cmp esi, edi
jne 0x1001b5a3
xor esi, esi
cmp dword [ebp - 0x2c8], ebx
je 0x1001b5b6
push dword [ebp - 0x2c8]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
push dword [ebp - 0x2cc]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp esi, ebx
jne 0x1001b662
push dword [ebp - 0x2d0]
lea eax, [ebp - 0x1d8]
push eax
lea eax, [ebp - 0x128]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [ebp - 0x2cc]
push eax
lea eax, [ebp - 0x128]
push eax
push dword [ebp + 8]
call sub.msi.dll_MsiEnumClientsA
mov esi, eax
cmp esi, ebx
jne 0x1001b662
push ebx
push dword [ebp - 0x2cc]
call sub.msi.dll_MsiViewModify
mov esi, eax
cmp esi, ebx
jne 0x1001b64f
lea eax, [ebp - 0x2c8]
push eax
push dword [ebp - 0x2cc]
mov dword [ebp - 0x2c8], ebx
call sub.msi.dll_MsiDatabaseIsTablePersistentA
mov esi, eax
cmp esi, ebx
je 0x1001b6c1
cmp esi, edi
jne 0x1001b63c
xor esi, esi
cmp dword [ebp - 0x2c8], ebx
je 0x1001b64f
push dword [ebp - 0x2c8]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
push dword [ebp - 0x2cc]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
cmp esi, ebx
je 0x1001b70b
jle 0x1001b670
and esi, 0xffff
or esi, 0x80070000
mov eax, esi
jmp 0x1001b375
push dword [ebp - 0x2d4]
push 1
push dword [ebp - 0x2c8]
call sub.msi.dll_MsiReinstallFeatureW
mov esi, eax
cmp esi, ebx
jne 0x1001b59d
push dword [ebp - 0x2c8]
push 4
push dword [ebp - 0x2cc]
call sub.msi.dll_MsiRecordClearData
mov esi, eax
cmp esi, ebx
jne 0x1001b59d
push dword [ebp - 0x2c8]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
jmp 0x1001b57b
push dword [ebp - 0x2d4]
push 1
push dword [ebp - 0x2c8]
call sub.msi.dll_MsiReinstallFeatureW
mov esi, eax
cmp esi, ebx
jne 0x1001b636
push dword [ebp - 0x2c8]
push 4
push dword [ebp - 0x2cc]
call sub.msi.dll_MsiRecordClearData
mov esi, eax
cmp esi, ebx
jne 0x1001b636
push dword [ebp - 0x2c8]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
jmp 0x1001b614
xor eax, eax
jmp 0x1001b375