Function at 0x421f80
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x278]
lea esi, [ebp - 0x274]
push ebx
sub esp, 0x29c
mov eax, dword [0x58b384]
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x274], str.winetest_automation.msi
mov edx, dword [eax]
mov dword [esp + 0x14], edi
mov dword [esp + 8], esi
mov dword [esp + 0x10], 0x400
mov dword [esp + 0xc], 1
mov dword [esp + 4], 0x5431d4
mov dword [esp], eax
call dword [edx + 0x14]
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0x272
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x80020006
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.IDispatch::GetIDsOfNames_returned_0x_08x_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [0x58b384]
mov ecx, dword [ebp - 0x278]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5431d4
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0x276
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x80020003
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.IDispatch::Invoke_returned_0x_08x_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [0x58b384]
mov dword [ebp - 0x274], 0x541368
mov edx, dword [eax]
mov dword [esp + 0x14], edi
lea edi, [ebp - 0x270]
mov dword [esp + 8], esi
lea esi, [ebp - 0x260]
mov dword [esp + 0x10], 0x400
mov dword [esp + 0xc], 1
mov dword [esp + 4], 0x5431d4
mov dword [esp], eax
call dword [edx + 0x14]
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0x27b
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.IDispatch::GetIDsOfNames_returned_0x_08x_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [0x58b384]
mov ecx, dword [ebp - 0x278]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x58b3a0
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5431d4
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0x288
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x80020005
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.IDispatch::Invoke_returned_0x_08x_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x250]
mov dword [ebp - 0x258], 1
mov dword [esp], eax
mov dword [ebp - 0x260], eax
call sub.oleaut32.dll_VariantInit
mov eax, dword [0x58b384]
mov ecx, dword [ebp - 0x278]
sub esp, 4
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x58b3a0
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5431d4
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0x28f
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x80020005
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.IDispatch::Invoke_returned_0x_08x_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x250]
mov dword [ebp - 0x258], 2
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
lea eax, [ebp - 0x240]
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
mov eax, dword [0x58b384]
mov ecx, dword [ebp - 0x278]
sub esp, 4
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x58b3a0
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5431d4
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0x296
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x80020005
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.IDispatch::Invoke_returned_0x_08x_n
mov ebx, 8
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x250]
mov dword [ebp - 0x258], 1
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
mov word [ebp - 0x250], bx
sub esp, 4
mov dword [esp], str.winetest_automation.msi
call sub.oleaut32.dll_SysAllocString
mov ecx, dword [ebp - 0x278]
mov dword [ebp - 0x248], eax
mov eax, dword [0x58b384]
sub esp, 4
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x58b3a0
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5431d4
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0x2a0
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x80020009
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.IDispatch::Invoke_returned_0x_08x_n
mov dword [esp], eax
call fcn.0052b0e0
cmp ebx, 0x80020009
je 0x4236f0
lea eax, [ebp - 0x250]
lea edi, [ebp - 0x270]
mov dword [esp], eax
lea esi, [ebp - 0x260]
call sub.oleaut32.dll_VariantClear
lea eax, [ebp - 0x240]
mov dword [ebp - 0x258], 2
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
mov eax, 8
sub esp, 4
mov word [ebp - 0x240], ax
mov dword [esp], str.winetest_automation.msi
call sub.oleaut32.dll_SysAllocString
sub esp, 4
mov dword [ebp - 0x238], eax
lea eax, [ebp - 0x250]
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
mov eax, dword [0x58b384]
mov ecx, dword [ebp - 0x278]
sub esp, 4
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x58b3a0
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5431d4
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0x2ad
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x80020009
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.IDispatch::Invoke_returned_0x_08x_n
mov dword [esp], eax
call fcn.0052b0e0
cmp ebx, 0x80020009
je 0x4234b0
lea eax, [ebp - 0x240]
mov ebx, 8
lea edi, [ebp - 0x270]
mov dword [esp], eax
lea esi, [ebp - 0x260]
call sub.oleaut32.dll_VariantClear
lea eax, [ebp - 0x230]
mov dword [ebp - 0x258], 3
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
mov word [ebp - 0x230], bx
sub esp, 4
mov dword [esp], str.winetest_automation.msi
call sub.oleaut32.dll_SysAllocString
sub esp, 4
mov dword [ebp - 0x228], eax
lea eax, [ebp - 0x240]
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
lea eax, [ebp - 0x250]
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
mov eax, dword [0x58b384]
mov ecx, dword [ebp - 0x278]
sub esp, 4
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x58b3a0
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5431d4
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0x2bb
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x80020009
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.IDispatch::Invoke_returned_0x_08x_n
mov dword [esp], eax
call fcn.0052b0e0
cmp ebx, 0x80020009
je 0x423270
lea eax, [ebp - 0x230]
mov ebx, 8
mov esi, 8
mov dword [esp], eax
lea edi, [ebp - 0x270]
call sub.oleaut32.dll_VariantClear
lea eax, [ebp - 0x240]
mov dword [ebp - 0x258], 2
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
mov word [ebp - 0x240], bx
sub esp, 4
mov dword [esp], str.winetest_automation.msi
call sub.oleaut32.dll_SysAllocString
sub esp, 4
mov dword [ebp - 0x238], eax
lea eax, [ebp - 0x250]
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
mov word [ebp - 0x250], si
lea esi, [ebp - 0x260]
sub esp, 4
mov dword [esp], str.winetest_automation.msi
call sub.oleaut32.dll_SysAllocString
mov ecx, dword [ebp - 0x278]
mov dword [ebp - 0x248], eax
mov eax, dword [0x58b384]
sub esp, 4
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x58b3a0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5431d4
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0x2c8
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x80020005
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.IDispatch::Invoke_returned_0x_08x_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x250]
mov dword [esp], eax
call sub.oleaut32.dll_VariantClear
lea eax, [ebp - 0x240]
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_VariantClear
lea eax, [ebp - 0x220]
sub esp, 4
call fcn.00421b20
lea eax, [ebp - 0x250]
mov dword [ebp - 0x258], 1
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
mov eax, 8
sub esp, 4
mov word [ebp - 0x250], ax
mov dword [esp], str.winetest_automation.msi
call sub.oleaut32.dll_SysAllocString
mov ecx, dword [ebp - 0x278]
mov dword [ebp - 0x248], eax
mov eax, dword [0x58b384]
sub esp, 4
mov edx, dword [eax]
mov dword [esp + 0x18], edi
mov edi, 0x540266
mov dword [esp + 0x14], esi
mov dword [esp + 4], ecx
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x58b3a0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5431d4
mov dword [esp], eax
call dword [edx + 0x18]
mov esi, dword [str.windows]
mov ecx, 5
sub esp, 0x24
mov ebx, eax
repe cmpsb byte [esi], byte es:[edi]
seta al
sbb al, 0
test al, al
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b250
jmp 0x4227d9
mov dword [esp + 4], 0x2d7
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x80020009
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.IDispatch::Invoke_returned_0x_08x_n
mov dword [esp], eax
call fcn.0052b0e0
call fcn.0052b2a0
call fcn.0052b280
test eax, eax
jne 0x4227a1
cmp ebx, 0x80020009
je 0x423020
lea eax, [ebp - 0x250]
mov dword [esp], eax
call sub.oleaut32.dll_VariantClear
lea eax, [ebp - 0x270]
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_VariantClear
sub esp, 4
lea eax, [ebp - 0x250]
lea edi, [ebp - 0x270]
mov dword [ebp - 0x258], 1
mov dword [esp], eax
lea esi, [ebp - 0x260]
call sub.oleaut32.dll_VariantInit
mov eax, 8
sub esp, 4
mov word [ebp - 0x250], ax
lea eax, [ebp - 0x220]
mov dword [esp], eax
call sub.oleaut32.dll_SysAllocString
mov ecx, dword [ebp - 0x278]
mov dword [ebp - 0x248], eax
mov eax, dword [0x58b384]
sub esp, 4
mov edx, dword [eax]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x58b3a0
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5431d4
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x24
mov ebx, eax
cmp eax, 0x80020009
je 0x422fe3
mov dword [esp + 4], 0x2eb
lea edi, [ebp - 0x270]
lea esi, [ebp - 0x260]
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.IDispatch::Invoke_returned_0x_08x_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x250]
mov dword [esp], eax
call sub.oleaut32.dll_VariantClear
lea eax, [ebp - 0x270]
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_VariantClear
lea eax, [ebp - 0x240]
mov dword [ebp - 0x258], 2
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
mov eax, 8
sub esp, 4
mov word [ebp - 0x240], ax
lea eax, [ebp - 0x220]
mov dword [esp], eax
call sub.oleaut32.dll_SysAllocString
sub esp, 4
mov dword [ebp - 0x238], eax
lea eax, [ebp - 0x250]
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
mov eax, dword [0x58b384]
mov ecx, dword [ebp - 0x278]
sub esp, 4
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x58b3a0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5431d4
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0x2f8
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.IDispatch::Invoke_returned_0x_08x_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x240]
mov dword [esp], eax
call sub.oleaut32.dll_VariantClear
sub esp, 4
mov dword [esp], edi
call sub.oleaut32.dll_VariantClear
lea eax, [ebp - 0x230]
mov dword [ebp - 0x258], 3
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
lea eax, [ebp - 0x220]
mov edx, 8
sub esp, 4
mov word [ebp - 0x230], dx
mov dword [esp], eax
call sub.oleaut32.dll_SysAllocString
sub esp, 4
mov dword [ebp - 0x228], eax
lea eax, [ebp - 0x240]
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
lea eax, [ebp - 0x250]
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
mov eax, dword [0x58b384]
mov ecx, dword [ebp - 0x278]
sub esp, 4
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x58b3a0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5431d4
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0x306
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.IDispatch::Invoke_returned_0x_08x_n
mov ebx, 8
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x230]
mov dword [esp], eax
call sub.oleaut32.dll_VariantClear
sub esp, 4
mov dword [esp], edi
call sub.oleaut32.dll_VariantClear
lea eax, [ebp - 0x240]
mov dword [ebp - 0x258], 2
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
lea eax, [ebp - 0x220]
mov ecx, 8
sub esp, 4
mov word [ebp - 0x240], cx
mov dword [esp], eax
call sub.oleaut32.dll_SysAllocString
sub esp, 4
mov dword [ebp - 0x238], eax
lea eax, [ebp - 0x250]
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
lea eax, [ebp - 0x220]
mov word [ebp - 0x250], bx
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_SysAllocString
mov ecx, dword [ebp - 0x278]
mov dword [ebp - 0x248], eax
mov eax, dword [0x58b384]
sub esp, 4
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x58b3a0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5431d4
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0x313
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x80020005
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.IDispatch::Invoke_returned_0x_08x_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x250]
mov dword [esp], eax
call sub.oleaut32.dll_VariantClear
lea eax, [ebp - 0x240]
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_VariantClear
lea eax, [ebp - 0x240]
mov dword [ebp - 0x258], 2
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
mov eax, 8
sub esp, 4
mov word [ebp - 0x240], ax
lea eax, [ebp - 0x220]
mov dword [esp], eax
call sub.oleaut32.dll_SysAllocString
sub esp, 4
mov dword [ebp - 0x238], eax
lea eax, [ebp - 0x250]
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
mov eax, 2
mov ecx, dword [ebp - 0x278]
mov dword [ebp - 0x248], 0
mov word [ebp - 0x250], ax
mov eax, dword [0x58b384]
sub esp, 4
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x58b3a0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5431d4
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0x322
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.IDispatch::Invoke_returned_0x_08x_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x240]
mov dword [esp], eax
call sub.oleaut32.dll_VariantClear
sub esp, 4
mov dword [esp], edi
call sub.oleaut32.dll_VariantClear
lea eax, [ebp - 0x220]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_DeleteFileW]
lea eax, [ebp - 0x250]
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
mov eax, dword [0x58b384]
mov ecx, dword [ebp - 0x278]
sub esp, 4
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x58b3a0
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5431d4
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0x32b
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x80020003
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.IDispatch::Invoke_returned_0x_08x_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x250]
mov dword [esp], eax
call sub.oleaut32.dll_VariantInit
mov eax, dword [0x58b384]
mov ecx, dword [ebp - 0x278]
sub esp, 4
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp + 0x18], edi
lea edi, [ebp - 0x278]
mov dword [esp + 0x14], esi
lea esi, [ebp - 0x274]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x58b3a0
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5431d4
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0x32f
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x80020003
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.IDispatch::Invoke_returned_0x_08x_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [0x58b384]
mov dword [ebp - 0x274], str.ProductState
mov edx, dword [eax]
mov dword [esp + 0x14], edi
lea edi, [ebp - 0x260]
mov dword [esp + 8], esi
lea esi, [ebp - 0x270]
mov dword [esp + 0x10], 0x400
mov dword [esp + 0xc], 1
mov dword [esp + 4], 0x5431d4
mov dword [esp], eax
call dword [edx + 0x14]
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0x334
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.IDispatch::GetIDsOfNames_returned_0x_08x_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [0x58b384]
lea ecx, [ebp - 0x270]
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x258], 0
mov edx, dword [eax]
mov dword [esp + 0x18], ecx
mov ecx, dword [ebp - 0x278]
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], 0
mov dword [esp + 4], ecx
mov dword [esp + 0x1c], 0x58b3a0
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5431d4
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0x339
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x80020003
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.IDispatch::Invoke_returned_0x_08x_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [0x58b384]
mov ecx, dword [ebp - 0x278]
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x258], 0
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x58b3a0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x5431d4
mov dword [esp], eax
call dword [edx + 0x18]
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0x33e
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x80020003
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.IDispatch::Invoke_returned_0x_08x_n
mov dword [esp], eax
call fcn.0052b0e0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x2e7
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
mov dword [esp], str.OpenPackage_failed__insufficient_rights__n
call fcn.0052b1d0
lea eax, [ebp - 0x220]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_DeleteFileW]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x2d8
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
movzx edx, word [0x58b3a0]
mov dword [esp + 4], str.Exception_info_was__d__expected_1000_n
cmp dx, 0x3e8
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2d8
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
mov ecx, dword [0x58b3a4]
xor eax, eax
mov dword [esp + 4], str.Exception_source_was_NULL_n
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [0x58b3a4]
test eax, eax
je 0x423142
mov ebx, dword [sym.imp.kernel32.dll_WideCharToMultiByte]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], 0x58b160
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0x20
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], 0x58b040
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.Msi_API_Error
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0x20
mov dword [esp + 4], 0x58b040
mov dword [esp], 0x58b160
call dword [sym.imp.kernel32.dll_lstrcmpA]
sub esp, 8
test eax, eax
jne 0x42392f
mov dword [esp + 4], 0x2d8
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
mov edx, dword [0x58b3a8]
xor eax, eax
mov dword [esp + 4], str.Exception_description_was_NULL_n
test edx, edx
setne al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [0x58b3a8]
test eax, eax
je 0x42322a
mov ebx, dword [sym.imp.kernel32.dll_WideCharToMultiByte]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], 0x58b160
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0x20
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], 0x58b040
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.OpenPackage_PackagePath_Options
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0x20
mov dword [esp + 4], 0x58b040
mov dword [esp], 0x58b160
call dword [sym.imp.kernel32.dll_lstrcmpA]
sub esp, 8
test eax, eax
jne 0x42396c
mov eax, dword [0x58b3a4]
mov dword [esp], eax
call sub.oleaut32.dll_SysFreeString
mov eax, dword [0x58b3a8]
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_SysFreeString
mov eax, dword [0x58b3ac]
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_SysFreeString
lea eax, [ebp - 0x250]
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_VariantClear
sub esp, 4
jmp 0x422810
mov dword [esp + 4], 0x2bc
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
movzx edx, word [0x58b3a0]
mov dword [esp + 4], str.Exception_info_was__d__expected_1000_n
cmp dx, 0x3e8
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2bc
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
mov ecx, dword [0x58b3a4]
xor eax, eax
mov dword [esp + 4], str.Exception_source_was_NULL_n
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [0x58b3a4]
test eax, eax
je 0x423392
mov ebx, dword [sym.imp.kernel32.dll_WideCharToMultiByte]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], 0x58b160
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0x20
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], 0x58b040
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.Msi_API_Error
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0x20
mov dword [esp + 4], 0x58b040
mov dword [esp], 0x58b160
call dword [sym.imp.kernel32.dll_lstrcmpA]
sub esp, 8
test eax, eax
jne 0x4239a9
mov dword [esp + 4], 0x2bc
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
mov edx, dword [0x58b3a8]
xor eax, eax
mov dword [esp + 4], str.Exception_description_was_NULL_n
test edx, edx
setne al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [0x58b3a8]
test eax, eax
je 0x42347a
mov ebx, dword [sym.imp.kernel32.dll_WideCharToMultiByte]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], 0x58b160
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0x20
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], 0x58b040
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.OpenPackage_PackagePath_Options
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0x20
mov dword [esp + 4], 0x58b040
mov dword [esp], 0x58b160
call dword [sym.imp.kernel32.dll_lstrcmpA]
sub esp, 8
test eax, eax
jne 0x4239e6
mov eax, dword [0x58b3a4]
mov dword [esp], eax
call sub.oleaut32.dll_SysFreeString
mov eax, dword [0x58b3a8]
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_SysFreeString
mov eax, dword [0x58b3ac]
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_SysFreeString
sub esp, 4
jmp 0x4225b9
mov dword [esp + 4], 0x2ae
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
movzx edx, word [0x58b3a0]
mov dword [esp + 4], str.Exception_info_was__d__expected_1000_n
cmp dx, 0x3e8
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2ae
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
mov edi, dword [0x58b3a4]
xor eax, eax
mov dword [esp + 4], str.Exception_source_was_NULL_n
test edi, edi
setne al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [0x58b3a4]
test eax, eax
je 0x4235d2
mov ebx, dword [sym.imp.kernel32.dll_WideCharToMultiByte]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], 0x58b160
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0x20
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], 0x58b040
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.Msi_API_Error
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0x20
mov dword [esp + 4], 0x58b040
mov dword [esp], 0x58b160
call dword [sym.imp.kernel32.dll_lstrcmpA]
sub esp, 8
test eax, eax
jne 0x423a23
mov dword [esp + 4], 0x2ae
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
mov esi, dword [0x58b3a8]
xor eax, eax
mov dword [esp + 4], str.Exception_description_was_NULL_n
test esi, esi
setne al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [0x58b3a8]
test eax, eax
je 0x4236ba
mov ebx, dword [sym.imp.kernel32.dll_WideCharToMultiByte]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], 0x58b160
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0x20
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], 0x58b040
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.OpenPackage_PackagePath_Options
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0x20
mov dword [esp + 4], 0x58b040
mov dword [esp], 0x58b160
call dword [sym.imp.kernel32.dll_lstrcmpA]
sub esp, 8
test eax, eax
jne 0x423a60
mov eax, dword [0x58b3a4]
mov dword [esp], eax
call sub.oleaut32.dll_SysFreeString
mov eax, dword [0x58b3a8]
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_SysFreeString
mov eax, dword [0x58b3ac]
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_SysFreeString
sub esp, 4
jmp 0x4224b3
mov dword [esp + 4], 0x2a1
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
movzx edx, word [0x58b3a0]
mov dword [esp + 4], str.Exception_info_was__d__expected_1000_n
cmp dx, 0x3e8
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2a1
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
mov ecx, dword [0x58b3a4]
xor eax, eax
mov dword [esp + 4], str.Exception_source_was_NULL_n
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [0x58b3a4]
test eax, eax
je 0x423812
mov ebx, dword [sym.imp.kernel32.dll_WideCharToMultiByte]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], 0x58b160
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0x20
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], 0x58b040
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.Msi_API_Error
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0x20
mov dword [esp + 4], 0x58b040
mov dword [esp], 0x58b160
call dword [sym.imp.kernel32.dll_lstrcmpA]
sub esp, 8
test eax, eax
jne 0x423a9d
mov dword [esp + 4], 0x2a1
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
mov edx, dword [0x58b3a8]
xor eax, eax
mov dword [esp + 4], str.Exception_description_was_NULL_n
test edx, edx
setne al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [0x58b3a8]
test eax, eax
je 0x4238fa
mov ebx, dword [sym.imp.kernel32.dll_WideCharToMultiByte]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], 0x58b160
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0x20
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], 0x58b040
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], str.OpenPackage_PackagePath_Options
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0x20
mov dword [esp + 4], 0x58b040
mov dword [esp], 0x58b160
call dword [sym.imp.kernel32.dll_lstrcmpA]
sub esp, 8
test eax, eax
jne 0x423ada
mov eax, dword [0x58b3a4]
mov dword [esp], eax
call sub.oleaut32.dll_SysFreeString
mov eax, dword [0x58b3a8]
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_SysFreeString
mov eax, dword [0x58b3ac]
sub esp, 4
mov dword [esp], eax
call sub.oleaut32.dll_SysFreeString
sub esp, 4
jmp 0x4223be
mov dword [esp + 4], 0x2d8
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
mov dword [esp + 0xc], 0x58b040
mov dword [esp + 8], 0x58b160
mov dword [esp + 4], str.Exception_source_was___s__but_expected_to_be___s__n
mov dword [esp], 0
call fcn.0052b0e0
jmp 0x423142
mov dword [esp + 4], 0x2d8
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
mov dword [esp + 0xc], 0x58b040
mov dword [esp + 8], 0x58b160
mov dword [esp + 4], str.Exception_description_was___s__but_expected_to_be___s__n
mov dword [esp], 0
call fcn.0052b0e0
jmp 0x42322a
mov dword [esp + 4], 0x2bc
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
mov dword [esp + 0xc], 0x58b040
mov dword [esp + 8], 0x58b160
mov dword [esp + 4], str.Exception_source_was___s__but_expected_to_be___s__n
mov dword [esp], 0
call fcn.0052b0e0
jmp 0x423392
mov dword [esp + 4], 0x2bc
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
mov dword [esp + 0xc], 0x58b040
mov dword [esp + 8], 0x58b160
mov dword [esp + 4], str.Exception_description_was___s__but_expected_to_be___s__n
mov dword [esp], 0
call fcn.0052b0e0
jmp 0x42347a
mov dword [esp + 4], 0x2ae
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
mov dword [esp + 0xc], 0x58b040
mov dword [esp + 8], 0x58b160
mov dword [esp + 4], str.Exception_source_was___s__but_expected_to_be___s__n
mov dword [esp], 0
call fcn.0052b0e0
jmp 0x4235d2
mov dword [esp + 4], 0x2ae
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
mov dword [esp + 0xc], 0x58b040
mov dword [esp + 8], 0x58b160
mov dword [esp + 4], str.Exception_description_was___s__but_expected_to_be___s__n
mov dword [esp], 0
call fcn.0052b0e0
jmp 0x4236ba
mov dword [esp + 4], 0x2a1
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
mov dword [esp + 0xc], 0x58b040
mov dword [esp + 8], 0x58b160
mov dword [esp + 4], str.Exception_source_was___s__but_expected_to_be___s__n
mov dword [esp], 0
call fcn.0052b0e0
jmp 0x423812
mov dword [esp + 4], 0x2a1
mov dword [esp], str..._wine_dlls_msi_tests_automation.c
call fcn.0052ae70
mov dword [esp + 0xc], 0x58b040
mov dword [esp + 8], 0x58b160
mov dword [esp + 4], str.Exception_description_was___s__but_expected_to_be___s__n
mov dword [esp], 0
call fcn.0052b0e0
jmp 0x4238fa