Function at 0x45bac1
Capabilities:
Reference sql statements
Write file on windows

Disassembly:
push 0x228
mov eax, 0x469ae6
call fcn.0045f3fe
mov esi, ecx
mov dword [ebp - 4], 1
xor ebx, ebx
mov dword [ebp - 0x228], ebx
mov byte [ebp - 4], 2
mov dword [ebp - 0x220], ebx
mov byte [ebp - 4], 3
mov dword [ebp - 0x224], ebx
mov byte [ebp - 4], 4
xor eax, eax
push 0x208
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x21a]
push ebx
push eax
mov dword [ebp - 0x22c], ebx
mov dword [ebp - 0x234], ebx
call fcn.004433d0
mov eax, dword [ebp + 0xc]
add esp, 0xc
cmp dword [ebp + 0x20], 8
jae 0x45bb2f
lea eax, [ebp + 0xc]
push eax
push 0x4071a0
push 0xffffffffffffffff
lea eax, [ebp - 0x21c]
push 0x105
push eax
call fcn.004610c9
add esp, 0x14
call fcn.004610c9
cmp dword [esi + 0x18], 8
mov edi, dword [eax + 0x40]
jb 0x45bb5e
mov esi, dword [esi + 4]
jmp 0x45bb61
add esi, 4
lea ecx, [ebp - 0x228]
call fcn.0045ba7d
push eax
push ebx
push esi
call sub.msi.dll_MsiOpenProductW
test eax, eax
je 0x45bb8a
cmp edi, ebx
je 0x45bda6
push 0x407130
jmp 0x45bd9e
mov esi, dword [ebp - 0x228]
lea ecx, [ebp - 0x220]
call fcn.0045ba7d
push eax
lea eax, [ebp - 0x21c]
push eax
push esi
call sub.msi.dll_MsiEnumClientsA
test eax, eax
jne 0x45bb78
push ebx
push dword [ebp - 0x220]
call sub.msi.dll_MsiViewModify
cmp eax, ebx
je 0x45bbcf
cmp edi, ebx
je 0x45bda6
push 0x4070c8
jmp 0x45bd9e
mov esi, dword [ebp - 0x220]
lea ecx, [ebp - 0x224]
call fcn.0045ba7d
push eax
push esi
call sub.msi.dll_MsiDatabaseIsTablePersistentA
test eax, eax
je 0x45bbfd
cmp edi, ebx
je 0x45bda6
push 0x407068
jmp 0x45bd9e
lea eax, [ebp - 0x22c]
push eax
push ebx
xor esi, esi
inc esi
push esi
push dword [ebp - 0x224]
call sub.msi.dll_MsiRecordSetStringA
test eax, eax
je 0x45bc86
cmp edi, ebx
je 0x45bc29
push 0x406ff8
push edi
call fcn.004610c9
pop ecx
pop ecx
mov byte [ebp - 4], 3
cmp dword [ebp - 0x224], ebx
je 0x45bc40
push dword [ebp - 0x224]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov byte [ebp - 4], 2
cmp dword [ebp - 0x220], ebx
je 0x45bc57
push dword [ebp - 0x220]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov byte [ebp - 4], 1
cmp dword [ebp - 0x228], ebx
je 0x45bc6e
push dword [ebp - 0x228]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov byte [ebp - 4], bl
push ebx
push esi
lea ecx, [ebp + 8]
call fcn.004610c9
or dword [ebp - 4], 0xffffffff
push ebx
push esi
jmp 0x45be00
push dword [ebp - 0x22c]
call fcn.004610c9
pop ecx
mov dword [ebp - 0x230], eax
cmp eax, ebx
jne 0x45bcaa
cmp edi, ebx
je 0x45bc29
push 0x406f90
jmp 0x45bc21
lea ecx, [ebp - 0x22c]
push ecx
push eax
push esi
push dword [ebp - 0x224]
call sub.msi.dll_MsiRecordSetStringA
test eax, eax
je 0x45bcd4
cmp edi, ebx
je 0x45bc29
push 0x406f18
jmp 0x45bc21
cmp dword [ebp + 0x3c], 8
mov eax, dword [ebp + 0x28]
jae 0x45bce0
lea eax, [ebp + 0x28]
push ebx
push 0x80
push 2
push ebx
push ebx
push 0x40000000
push eax
call dword [sym.imp.kernel32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x45bd95
push ebx
lea eax, [ebp - 0x234]
push eax
push dword [ebp - 0x22c]
push dword [ebp - 0x230]
push esi
call dword [sym.imp.kernel32.dll_WriteFile]
push esi
call dword [sym.imp.kernel32.dll_CloseHandle]
push dword [ebp - 0x230]
call fcn.004610c9
pop ecx
mov byte [ebp - 4], 3
cmp dword [ebp - 0x224], ebx
je 0x45bd46
push dword [ebp - 0x224]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov byte [ebp - 4], 2
cmp dword [ebp - 0x220], ebx
je 0x45bd5d
push dword [ebp - 0x220]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov byte [ebp - 4], 1
cmp dword [ebp - 0x228], ebx
je 0x45bd74
push dword [ebp - 0x228]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov byte [ebp - 4], bl
push ebx
push 1
lea ecx, [ebp + 8]
call fcn.004610c9
or dword [ebp - 4], 0xffffffff
push ebx
push 1
lea ecx, [ebp + 0x24]
call fcn.004610c9
mov al, 1
jmp 0x45be0a
cmp edi, ebx
je 0x45bda6
push 0x406e88
push edi
call fcn.004610c9
pop ecx
pop ecx
mov byte [ebp - 4], 3
cmp dword [ebp - 0x224], ebx
je 0x45bdbd
push dword [ebp - 0x224]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov byte [ebp - 4], 2
cmp dword [ebp - 0x220], ebx
je 0x45bdd4
push dword [ebp - 0x220]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov byte [ebp - 4], 1
cmp dword [ebp - 0x228], ebx
je 0x45bdeb
push dword [ebp - 0x228]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov byte [ebp - 4], bl
push ebx
push 1
lea ecx, [ebp + 8]
call fcn.004610c9
or dword [ebp - 4], 0xffffffff
push ebx
push 1
lea ecx, [ebp + 0x24]
call fcn.004610c9
xor al, al
call fcn.0045f490
ret 0x38