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

Disassembly:
push 0x228
mov eax, 0x39ebfc74
call fcn.39eaecb8
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.39e6fce0
mov eax, dword [ebp + 0xc]
add esp, 0xc
cmp dword [ebp + 0x20], 8
jae 0x39eab212
lea eax, [ebp + 0xc]
push eax
push 0x39e0f118
push 0xffffffffffffffff
lea eax, [ebp - 0x21c]
push 0x105
push eax
call fcn.39eb4742
add esp, 0x14
call fcn.39eb4742
cmp dword [esi + 0x18], 8
mov edi, dword [eax + 0x40]
jb 0x39eab241
mov esi, dword [esi + 4]
jmp 0x39eab244
add esi, 4
lea ecx, [ebp - 0x228]
call fcn.39eab187
push eax
push ebx
push esi
call sub.msi.dll_MsiOpenProductW
test eax, eax
je 0x39eab26d
cmp edi, ebx
je 0x39eab489
push 0x39e0f0a8
jmp 0x39eab481
mov esi, dword [ebp - 0x228]
lea ecx, [ebp - 0x220]
call fcn.39eab187
push eax
lea eax, [ebp - 0x21c]
push eax
push esi
call sub.msi.dll_MsiEnumClientsA
test eax, eax
jne 0x39eab25b
push ebx
push dword [ebp - 0x220]
call sub.msi.dll_MsiViewModify
cmp eax, ebx
je 0x39eab2b2
cmp edi, ebx
je 0x39eab489
push 0x39e0f040
jmp 0x39eab481
mov esi, dword [ebp - 0x220]
lea ecx, [ebp - 0x224]
call fcn.39eab187
push eax
push esi
call sub.msi.dll_MsiDatabaseIsTablePersistentA
test eax, eax
je 0x39eab2e0
cmp edi, ebx
je 0x39eab489
push 0x39e0efe0
jmp 0x39eab481
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 0x39eab369
cmp edi, ebx
je 0x39eab30c
push 0x39e0ef70
push edi
call fcn.39eb4742
pop ecx
pop ecx
mov byte [ebp - 4], 3
cmp dword [ebp - 0x224], ebx
je 0x39eab323
push dword [ebp - 0x224]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov byte [ebp - 4], 2
cmp dword [ebp - 0x220], ebx
je 0x39eab33a
push dword [ebp - 0x220]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov byte [ebp - 4], 1
cmp dword [ebp - 0x228], ebx
je 0x39eab351
push dword [ebp - 0x228]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov byte [ebp - 4], bl
push ebx
push esi
lea ecx, [ebp + 8]
call fcn.39eb4742
or dword [ebp - 4], 0xffffffff
push ebx
push esi
jmp 0x39eab4e3
push dword [ebp - 0x22c]
call fcn.39eb4742
pop ecx
mov dword [ebp - 0x230], eax
cmp eax, ebx
jne 0x39eab38d
cmp edi, ebx
je 0x39eab30c
push 0x39e0ef08
jmp 0x39eab304
lea ecx, [ebp - 0x22c]
push ecx
push eax
push esi
push dword [ebp - 0x224]
call sub.msi.dll_MsiRecordSetStringA
test eax, eax
je 0x39eab3b7
cmp edi, ebx
je 0x39eab30c
push 0x39e0ee90
jmp 0x39eab304
cmp dword [ebp + 0x3c], 8
mov eax, dword [ebp + 0x28]
jae 0x39eab3c3
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 0x39eab478
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.39eb4742
pop ecx
mov byte [ebp - 4], 3
cmp dword [ebp - 0x224], ebx
je 0x39eab429
push dword [ebp - 0x224]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov byte [ebp - 4], 2
cmp dword [ebp - 0x220], ebx
je 0x39eab440
push dword [ebp - 0x220]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov byte [ebp - 4], 1
cmp dword [ebp - 0x228], ebx
je 0x39eab457
push dword [ebp - 0x228]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov byte [ebp - 4], bl
push ebx
push 1
lea ecx, [ebp + 8]
call fcn.39eb4742
or dword [ebp - 4], 0xffffffff
push ebx
push 1
lea ecx, [ebp + 0x24]
call fcn.39eb4742
mov al, 1
jmp 0x39eab4ed
cmp edi, ebx
je 0x39eab489
push 0x39e0ee00
push edi
call fcn.39eb4742
pop ecx
pop ecx
mov byte [ebp - 4], 3
cmp dword [ebp - 0x224], ebx
je 0x39eab4a0
push dword [ebp - 0x224]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov byte [ebp - 4], 2
cmp dword [ebp - 0x220], ebx
je 0x39eab4b7
push dword [ebp - 0x220]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov byte [ebp - 4], 1
cmp dword [ebp - 0x228], ebx
je 0x39eab4ce
push dword [ebp - 0x228]
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
mov byte [ebp - 4], bl
push ebx
push 1
lea ecx, [ebp + 8]
call fcn.39eb4742
or dword [ebp - 4], 0xffffffff
push ebx
push 1
lea ecx, [ebp + 0x24]
call fcn.39eb4742
xor al, al
call fcn.39eaed4a
ret 0x38