Function at 0x401a3c
Capabilities:
Reference sql statements

Disassembly:
add byte [eax], al
push 0x4c928c
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0xd], 1
call fcn.00402829
lea eax, [ebp - 0xd]
mov dword [ebp - 4], 1
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0040b865
mov ecx, dword [ebp - 0x2c]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov dword [ebp - 4], 2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 4
push eax
push ebx
push dword [edi]
mov dword [ebp - 0x20], ebx
call dword [sym.imp.msi.dll_MsiOpenProductW]
mov edi, eax
test edi, edi
je 0x401abe
push str.MOD_failed:
lea ecx, [ebp - 0x2c]
call fcn.00402829
xor ecx, ecx
mov byte [ebp - 4], 5
push edi
lea edx, [ebp - 0x2c]
call fcn.0044f181
push eax
lea ecx, [ebp - 0x2c]
call fcn.00402899
mov byte [ebp - 4], 6
lea eax, [ebp - 0x2c]
push dword [esi]
push str.SELECT__FROM__Binary__WHERE__Name__s
push eax
call fcn.004027d2
add esp, 0xc
cmp dword [ebp - 0x18], 0
je 0x401af2
push dword [ebp - 0x18]
call dword [sym.imp.msi.dll_MsiConfigureFeatureFromDescriptorA]
mov esi, dword [ebp - 0x2c]
lea eax, [ebp - 0x18]
push eax
push esi
push dword [ebp - 0x20]
mov dword [ebp - 0x18], ebx
call dword [sym.imp.msi.dll_MsiEnumClientsA]
mov edi, eax
test edi, edi
je 0x401b1f
push str.MDOV_failed:
lea ecx, [ebp - 0x28]
call fcn.00402829
mov byte [ebp - 4], 7
jmp 0x401b78
push ebx
push dword [ebp - 0x18]
call dword [sym.imp.msi.dll_MsiViewModify]
mov edi, eax
test edi, edi
je 0x401b42
push str.MVE_failed:
lea ecx, [ebp - 0x28]
call fcn.00402829
mov byte [ebp - 4], 8
jmp 0x401b78
cmp dword [ebp - 0x14], 0
je 0x401b51
push dword [ebp - 0x14]
call dword [sym.imp.msi.dll_MsiConfigureFeatureFromDescriptorA]
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], ebx
push eax
push dword [ebp - 0x18]
call dword [sym.imp.msi.dll_MsiDatabaseIsTablePersistentA]
mov edi, eax
test edi, edi
je 0x401b8d
push str.MVF_failed:
lea ecx, [ebp - 0x28]
call fcn.00402829
mov byte [ebp - 4], 9
xor ecx, ecx
lea edx, [ebp - 0x28]
push edi
inc ecx
call fcn.004137d1
pop ecx
mov ecx, dword [ebp - 0x28]
jmp 0x401e88
push 2
push dword [ebp - 0x14]
call dword [sym.imp.msi.dll_MsiRecordGetStringW]
push esp
dec ebx
add byte [ebx - 0xa82783], cl
jne 0x401ba7
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.004024b8
add esp, 0xc
push dword [ebp + 0xc]
mov byte [ebp - 4], 0xb
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x401bca
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1c]
call fcn.0040259d
push str.___File:
lea ecx, [ebp - 0x28]
call fcn.00402829
push ebx
mov byte [ebp - 4], 0xc
lea edx, [ebp - 0x28]
push dword [ebp - 0x30]
push 2
pop ecx
call fcn.004130a0
pop ecx
pop ecx
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x28]
lea ecx, [ecx - 0x10]
call fcn.00402e64
push 0xa11775
cmpsb byte [esi], byte es:[edi]
inc eax
add byte [ecx + 0x40a6001d], cl
add byte [ebx + 0x4438910], cl
mov dword [ebx], edx
mov dword [eax], ebx
mov dword [edx + 4], ebx
pop edi
pop esi
pop ebx
ret
call fcn.00401788
test al, al
je 0x401e99
cmp ebx, 0x7ffffff8
jle 0x401ea3
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x401ff7
xor ecx, ecx
push ebp
push 0x401ff0
push dword fs:[ecx]
mov dword fs:[ecx], esp
cmp byte [0x40a035], 0
je 0x401ec4
push 0x40a5b4
call fcn.004010e4
add ebx, 7
and ebx, 0xfffffffc
cmp ebx, 0xc