Function at 0x49a0e0
Capabilities:
Contain obfuscated stackstrings
Delete registry key
Delete registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea edx, [ebp - 0x838]
lea eax, [ebp - 0x93c]
push ebx
lea esi, [ebp - 0xc48]
lea ebx, [ebp - 0xd54]
sub esp, 0xdac
call fcn.0047cb90
lea edx, [ebp - 0xa40]
lea eax, [ebp - 0xb44]
call fcn.0047cb90
call fcn.00477380
cmp dword [0x58b784], 1
mov dword [esp + 0x10], ebx
sbb edi, edi
mov dword [esp + 8], esi
and edi, 0xffffff00
mov dword [esp + 4], 0
add edi, 0xf013f
mov dword [ebp - 0xd80], eax
mov eax, 0x65
mov dword [ebp - 0xd7c], edi
lea edi, [ebp - 0x734]
mov dword [esp + 0xc], edi
mov dword [esp], 0
mov word [ebp - 0xc44], ax
mov eax, 0x616e
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov word [ebp - 0x730], ax
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov ebx, eax
mov dword [esp + 4], 0x2bab
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x57
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55ff68
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2bad
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov ebx, dword [sym.imp.kernel32.dll_lstrcmpA]
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2baf
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2bb1
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea ecx, [ebp - 0xd54]
mov dword [esp + 0xc], edi
mov edx, 0x616e
mov dword [esp + 0x10], ecx
mov eax, 0x65
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], 0x55fb90
mov word [ebp - 0x730], dx
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov word [ebp - 0xc44], ax
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2bb8
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd84]
mov dword [esp + 4], 0x55ff68
cmp eax, 0x57
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2bba
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2bbc
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2bbe
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov ecx, 0x65
mov dword [esp + 0xc], edi
mov eax, 0x616e
mov word [ebp - 0xc44], cx
lea ecx, [ebp - 0xd54]
mov dword [esp + 0x10], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], 0x560220
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov word [ebp - 0x730], ax
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2bc5
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd84]
mov dword [esp + 4], 0x55ff68
cmp eax, 0x57
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2bc7
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2bc9
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2bcb
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea ecx, [ebp - 0xd54]
mov dword [esp + 0xc], edi
mov eax, 0x65
mov dword [esp + 0x10], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], 0x560228
mov word [ebp - 0xc44], ax
mov eax, 0x616e
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov word [ebp - 0x730], ax
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2bd3
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd84]
mov dword [esp + 4], 0x55ff68
cmp eax, 0x57
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2bd5
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2bd7
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2bd9
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea ecx, [ebp - 0xd54]
mov dword [esp + 0xc], edi
mov eax, 0x65
mov dword [esp + 0x10], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], str.6700E8CF_95AB_4D9C_BC2C_15840DEA7A5D
mov word [ebp - 0xc44], ax
mov eax, 0x616e
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov word [ebp - 0x730], ax
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2be1
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd84]
mov dword [esp + 4], 0x560278
cmp eax, 0x645
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2be3
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2be5
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2be7
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea ecx, [ebp - 0xd54]
mov dword [esp + 0xc], edi
mov edx, 0x616e
mov dword [esp + 0x10], ecx
mov eax, 0x65
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], str.A938G02JF_2NF3N93_VN3_2NNF_3KGKALDNF93
mov word [ebp - 0x730], dx
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov word [ebp - 0xc44], ax
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2bef
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd84]
mov dword [esp + 4], 0x55ff68
cmp eax, 0x57
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2bf1
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2bf3
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2bf5
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov ecx, 0x65
mov dword [esp + 0xc], edi
mov eax, 0x616e
mov word [ebp - 0xc44], cx
lea ecx, [ebp - 0xd54]
mov dword [esp + 0x10], ecx
lea ecx, [ebp - 0x93c]
mov dword [esp], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov word [ebp - 0x730], ax
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2bfd
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd84]
mov dword [esp + 4], 0x560278
cmp eax, 0x645
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2bff
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c01
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c03
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0xd80]
mov dword [ebp - 0xd4c], 0x74666f53
mov dword [ebp - 0xd48], 0x65726177
mov dword [esp + 4], eax
lea eax, [ebp - 0xd10]
mov dword [esp], eax
mov dword [ebp - 0xd44], 0x63694d5c
mov dword [ebp - 0xd40], 0x6f736f72
mov dword [ebp - 0xd3c], 0x575c7466
mov dword [ebp - 0xd38], 0x6f646e69
mov dword [ebp - 0xd34], 0x435c7377
mov dword [ebp - 0xd30], 0x65727275
mov dword [ebp - 0xd2c], 0x6556746e
mov dword [ebp - 0xd28], 0x6f697372
mov dword [ebp - 0xd24], 0x6e495c6e
mov dword [ebp - 0xd20], 0x6c617473
mov dword [ebp - 0xd1c], 0x5c72656c
mov dword [ebp - 0xd18], 0x616e614d
mov dword [ebp - 0xd14], 0x5c646567
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0xd4c]
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x49ab79
mov ecx, edx
shr ecx, 0x10
test edx, 0x8080
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
lea ecx, [ebp - 0xd4c]
sbb eax, 3
sub eax, ecx
lea edx, [ecx + eax]
lea ecx, [ebp - 0x838]
lea eax, [ebp + eax - 0xd38]
mov dword [edx], 0x736e495c
mov dword [edx + 4], 0x6c6c6174
mov dword [edx + 8], 0x505c7265
mov dword [edx + 0xc], 0x75646f72
mov dword [edx + 0x10], 0x5c737463
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0xd6c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0xd7c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
lea eax, [ebp - 0xd4c]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 0x80000002
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
cmp eax, 5
je 0x49f130
mov dword [esp + 4], 0x2c11
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
mov dword [ebp - 0xd84], eax
call fcn.0052ae70
mov eax, dword [ebp - 0xd84]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x616e
mov dword [esp + 0xc], edi
mov ecx, 0x65
mov word [ebp - 0x730], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov word [ebp - 0xc44], cx
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2c18
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd84]
mov dword [esp + 4], 0x560e34
cmp eax, 0x103
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c19
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c1b
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c1d
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xd68]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0xd7c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xd6c]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.Patches
mov dword [esp], eax
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2c20
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd84]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 0xc], edi
mov word [ebp - 0xc44], ax
mov eax, 0x616e
mov word [ebp - 0x730], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2c27
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0xd84]
mov eax, 1
cmp edx, 0x103
jne 0x49ef10
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], 0x560e34
call fcn.0052b0e0
mov dword [esp + 4], 0x2c2a
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c2c
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c2e
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xa40]
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x49afe8
mov ecx, edx
mov dword [esp + 0xc], 1
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 8], 0
cmove edx, ecx
lea ecx, [eax + 2]
mov dword [esp + 4], str.Patches
cmove eax, ecx
mov ecx, edx
add cl, dl
lea ecx, [ebp - 0xa40]
sbb eax, 3
mov dword [esp + 0x10], ecx
sub eax, ecx
add eax, 1
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xd68]
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2c33
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd84]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 0xc], edi
mov edx, 0x616e
mov word [ebp - 0xc44], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov word [ebp - 0x730], dx
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2c3a
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0xd84]
mov eax, 1
cmp edx, 0x64a
je 0x49b144
xor eax, eax
test edx, edx
sete al
mov dword [esp], eax
call fcn.0052af50
mov edx, dword [ebp - 0xd84]
test eax, eax
setne al
movzx eax, al
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], 0x560cc0
call fcn.0052b0e0
mov dword [esp + 4], 0x2c3d
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c3f
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c41
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0xd68]
mov dword [esp + 0x14], 7
mov dword [esp + 0x10], 0x560f4b
mov dword [esp + 0xc], 7
mov dword [esp + 8], 0
mov dword [esp + 4], str.Patches
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2c45
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd84]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 0xc], edi
mov word [ebp - 0xc44], ax
mov eax, 0x616e
mov word [ebp - 0x730], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2c4c
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd84]
mov dword [esp + 4], 0x560cc0
cmp eax, 0x64a
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c4e
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c50
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c52
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea edx, [ebp - 0xa40]
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x49b3ec
mov ecx, eax
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
lea eax, [ebp - 0xa40]
sbb edx, 3
sub edx, eax
mov byte [ebp + edx - 0xa3f], 0
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x49b42c
mov ecx, edx
mov dword [esp + 0xc], 7
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 8], 0
cmove edx, ecx
lea ecx, [eax + 2]
mov dword [esp + 4], str.Patches
cmove eax, ecx
mov ecx, edx
add cl, dl
lea ecx, [ebp - 0xa40]
sbb eax, 3
mov dword [esp + 0x10], ecx
sub eax, ecx
add eax, 2
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xd68]
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2c58
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd84]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 0xc], edi
mov word [ebp - 0xc44], ax
mov eax, 0x616e
mov word [ebp - 0x730], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2c5f
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0xd84]
mov eax, 1
cmp edx, 0x103
je 0x49b589
xor eax, eax
cmp edx, 2
sete al
mov dword [esp], eax
call fcn.0052af50
mov edx, dword [ebp - 0xd84]
test eax, eax
setne al
movzx eax, al
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], 0x560e34
call fcn.0052b0e0
mov dword [esp + 4], 0x2c62
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
mov edx, 1
sub esp, 8
test eax, eax
jne 0x49f0a0
mov dword [esp], edx
mov dword [esp + 8], esi
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
call fcn.0052b0e0
mov dword [esp + 4], 0x2c65
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c67
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xa40]
mov dword [esp + 0x14], 9
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd68]
mov dword [esp + 0x10], str.whatever
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2c6b
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd84]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 0xc], edi
mov word [ebp - 0xc44], ax
mov eax, 0x616e
mov word [ebp - 0x730], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2c72
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd84]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c73
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0xb44]
mov dword [esp], esi
mov dword [esp + 4], eax
call ebx
lea ecx, [ebp - 0xb44]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 4], 0x5601a1
call fcn.0052b0e0
mov dword [esp + 4], 0x2c75
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], str.whatever
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected__whatever___got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c77
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0xd54]
mov dword [esp + 4], str.Expected_8_or_MAX_PATH__got__d_n
cmp edx, 8
mov dword [esp + 8], edx
sete al
cmp edx, 0x104
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x616e
mov dword [esp + 0xc], edi
mov word [ebp - 0x730], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2c7d
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd84]
mov dword [esp + 4], 0x55ff68
cmp eax, 0x57
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c7f
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c81
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 0xc], 0
mov word [ebp - 0xc44], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2c87
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd84]
mov dword [esp + 4], 0x55ff68
cmp eax, 0x57
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c89
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c8b
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 0xc], edi
mov edx, 0x616e
mov word [ebp - 0xc44], ax
lea eax, [ebp - 0x93c]
mov dword [esp + 0x10], 0
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov word [ebp - 0x730], dx
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2c91
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd84]
mov dword [esp + 4], 0x55ff68
cmp eax, 0x57
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c93
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c95
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x616e
mov dword [esp + 0xc], edi
mov ecx, 0x65
mov word [ebp - 0x730], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov word [ebp - 0xc44], cx
mov dword [ebp - 0xd54], 6
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2c9d
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd84]
mov dword [esp + 4], 0x560140
cmp eax, 0xea
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2c9e
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0xb44]
mov dword [esp], esi
mov dword [esp + 4], eax
call ebx
lea ecx, [ebp - 0xb44]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 4], 0x5601a1
call fcn.0052b0e0
mov dword [esp + 4], 0x2ca0
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], str.whate
mov dword [esp], edi
call ebx
mov edx, 1
sub esp, 8
test eax, eax
jne 0x49f070
mov dword [esp], edx
mov dword [esp + 8], edi
mov dword [esp + 4], str.Expected__whate___got___s__n
call fcn.0052b0e0
mov dword [esp + 4], 0x2ca3
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], str.Expected_8_or_16__got__d_n
mov dword [esp + 8], eax
sub eax, 8
and eax, 0xfffffff7
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xd54]
mov dword [esp + 0xc], edi
mov edx, 0x65
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov ecx, 0x616e
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], eax
mov word [ebp - 0xc44], dx
mov word [ebp - 0x730], cx
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2caa
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd84]
mov dword [esp + 4], 0x560e34
cmp eax, 0x103
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2cab
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2cad
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2caf
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 0xc], edi
mov word [ebp - 0xc44], ax
mov eax, 0x616e
mov word [ebp - 0x730], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], esi
mov dword [esp + 4], 2
mov dword [esp], eax
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd84], eax
mov dword [esp + 4], 0x2cb6
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd84]
mov dword [esp + 4], 0x560e34
cmp eax, 0x103
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2cb7
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2cb9
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2cbb
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0xd68]
mov dword [esp + 4], str.Patches
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov eax, dword [ebp - 0xd7c]
mov edx, 0x55fb90
sub esp, 8
and eax, 0x100
mov ecx, eax
mov dword [ebp - 0xd84], eax
mov eax, dword [ebp - 0xd68]
call fcn.00476540
mov eax, dword [ebp - 0xd68]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov ecx, dword [ebp - 0xd84]
mov eax, dword [ebp - 0xd6c]
mov edx, 0x55fb90
sub esp, 4
call fcn.00476540
mov eax, dword [ebp - 0xd6c]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, 0x65
mov dword [ebp - 0xd54], 0x104
mov word [ebp - 0xc44], ax
mov eax, 0x616e
sub esp, 4
mov word [ebp - 0x730], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2cc9
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x560278
cmp eax, 0x645
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2ccb
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2ccd
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2ccf
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x5c73
mov dword [ebp - 0xd4c], 0x74666f53
mov word [ebp - 0xd28], ax
lea eax, [ebp - 0x838]
mov dword [esp + 4], eax
lea eax, [ebp - 0xd26]
mov dword [esp], eax
mov dword [ebp - 0xd48], 0x65726177
mov dword [ebp - 0xd44], 0x63694d5c
mov dword [ebp - 0xd40], 0x6f736f72
mov dword [ebp - 0xd3c], 0x495c7466
mov dword [ebp - 0xd38], 0x6174736e
mov dword [ebp - 0xd34], 0x72656c6c
mov dword [ebp - 0xd30], 0x6f72505c
mov dword [ebp - 0xd2c], 0x74637564
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0xd6c]
mov dword [esp], 0x80000001
mov dword [esp + 8], eax
lea eax, [ebp - 0xd4c]
mov dword [esp + 4], eax
call sub.advapi32.dll_RegCreateKeyA
sub esp, 0xc
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2cd5
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 0xc], edi
mov edx, 0x616e
mov word [ebp - 0xc44], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov word [ebp - 0x730], dx
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2cdc
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x560e34
cmp eax, 0x103
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2cdd
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2cdf
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2ce1
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xd68]
mov dword [esp + 4], str.Patches
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xd6c]
mov dword [esp], eax
call sub.advapi32.dll_RegCreateKeyA
sub esp, 0xc
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2ce4
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x616e
mov dword [esp + 0xc], edi
mov ecx, 0x65
mov word [ebp - 0x730], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov word [ebp - 0xc44], cx
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2ceb
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0xd88]
mov eax, 1
cmp edx, 0x103
jne 0x49eee4
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], 0x560e34
call fcn.0052b0e0
mov dword [esp + 4], 0x2cee
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2cf0
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2cf2
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xa40]
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x49c57c
mov ecx, edx
mov dword [esp + 0xc], 1
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 8], 0
cmove edx, ecx
lea ecx, [eax + 2]
mov dword [esp + 4], str.Patches
cmove eax, ecx
mov ecx, edx
add cl, dl
lea ecx, [ebp - 0xa40]
sbb eax, 3
mov dword [esp + 0x10], ecx
sub eax, ecx
add eax, 1
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xd68]
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2cf7
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 0xc], edi
mov word [ebp - 0xc44], ax
mov eax, 0x616e
mov word [ebp - 0x730], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2cfe
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0xd88]
mov eax, 1
cmp edx, 0x64a
je 0x49c6d8
xor eax, eax
test edx, edx
sete al
mov dword [esp], eax
call fcn.0052af50
mov edx, dword [ebp - 0xd88]
test eax, eax
setne al
movzx eax, al
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], 0x560cc0
call fcn.0052b0e0
mov dword [esp + 4], 0x2d01
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2d03
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2d05
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0xd68]
mov dword [esp + 0x14], 7
mov dword [esp + 0x10], 0x560f4b
mov dword [esp + 0xc], 7
mov dword [esp + 8], 0
mov dword [esp + 4], str.Patches
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2d09
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 0xc], edi
mov word [ebp - 0xc44], ax
mov eax, 0x616e
mov word [ebp - 0x730], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2d10
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x560cc0
cmp eax, 0x64a
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2d12
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2d14
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2d16
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea edx, [ebp - 0xa40]
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x49c980
mov ecx, eax
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
lea eax, [ebp - 0xa40]
sbb edx, 3
sub edx, eax
mov byte [ebp + edx - 0xa3f], 0
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x49c9c0
mov ecx, edx
mov dword [esp + 0xc], 7
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 8], 0
cmove edx, ecx
lea ecx, [eax + 2]
mov dword [esp + 4], str.Patches
cmove eax, ecx
mov ecx, edx
add cl, dl
lea ecx, [ebp - 0xa40]
sbb eax, 3
mov dword [esp + 0x10], ecx
sub eax, ecx
add eax, 2
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xd68]
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2d1c
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 0xc], edi
mov word [ebp - 0xc44], ax
mov eax, 0x616e
mov word [ebp - 0x730], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2d23
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0xd88]
mov eax, 1
cmp edx, 0x103
je 0x49cb1d
xor eax, eax
cmp edx, 2
sete al
mov dword [esp], eax
call fcn.0052af50
mov edx, dword [ebp - 0xd88]
test eax, eax
setne al
movzx eax, al
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], 0x560e34
call fcn.0052b0e0
mov dword [esp + 4], 0x2d26
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
mov edx, 1
sub esp, 8
test eax, eax
jne 0x49f040
mov dword [esp], edx
mov dword [esp + 8], esi
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
call fcn.0052b0e0
mov dword [esp + 4], 0x2d29
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2d2b
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xa40]
mov dword [esp + 0x14], 9
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd68]
mov dword [esp + 0x10], str.whatever
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2d2f
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xd54]
mov dword [esp + 0xc], edi
mov edx, 0x65
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov ecx, 0x616e
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov word [ebp - 0xc44], dx
mov word [ebp - 0x730], cx
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2d36
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0xd88]
mov eax, 1
cmp edx, 0x103
jne 0x49eec2
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], 0x560e34
call fcn.0052b0e0
mov dword [esp + 4], 0x2d39
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
mov edx, 1
sub esp, 8
test eax, eax
jne 0x49f100
mov dword [esp], edx
mov dword [esp + 8], esi
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
call fcn.0052b0e0
mov dword [esp + 4], 0x2d3c
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
mov edx, 1
sub esp, 8
test eax, eax
jne 0x49f0d0
mov dword [esp], edx
mov dword [esp + 8], edi
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
call fcn.0052b0e0
mov dword [esp + 4], 0x2d3f
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0xd80]
mov dword [ebp - 0xd4c], 0x74666f53
mov dword [ebp - 0xd48], 0x65726177
mov dword [esp + 4], eax
lea eax, [ebp - 0xd0f]
mov dword [esp], eax
mov dword [ebp - 0xd44], 0x63694d5c
mov dword [ebp - 0xd40], 0x6f736f72
mov dword [ebp - 0xd3c], 0x575c7466
mov dword [ebp - 0xd38], 0x6f646e69
mov dword [ebp - 0xd34], 0x435c7377
mov dword [ebp - 0xd30], 0x65727275
mov dword [ebp - 0xd2c], 0x6556746e
mov dword [ebp - 0xd28], 0x6f697372
mov dword [ebp - 0xd24], 0x6e495c6e
mov dword [ebp - 0xd20], 0x6c617473
mov dword [ebp - 0xd1c], 0x5c72656c
mov dword [ebp - 0xd18], 0x72657355
mov dword [ebp - 0xd14], 0x61746144
mov byte [ebp - 0xd10], 0x5c
call sub.msvcrt.dll_strcpy
lea edx, [ebp - 0xd4c]
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x49ce91
mov ecx, eax
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
lea eax, [ebp - 0xd4c]
sbb edx, 3
sub edx, eax
add eax, edx
mov dword [eax], 0x7461505c
mov dword [eax + 4], 0x73656863
mov byte [eax + 8], 0x5c
lea eax, [ebp - 0xa40]
mov dword [esp + 4], eax
lea eax, [ebp + edx - 0xd43]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0xd60]
lea ecx, [ebp - 0xd4c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0xd7c]
mov dword [esp + 4], ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], 0x80000002
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2d47
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea ecx, [ebp - 0xd54]
mov dword [esp + 0xc], edi
mov eax, 0x65
mov dword [esp + 0x10], ecx
lea ecx, [ebp - 0x93c]
mov dword [esp], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov word [ebp - 0xc44], ax
mov eax, 0x616e
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov word [ebp - 0x730], ax
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2d4e
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2d4f
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea ecx, [ebp - 0xb44]
mov dword [esp], esi
mov dword [esp + 4], ecx
call ebx
lea ecx, [ebp - 0xb44]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 4], 0x5601a1
call fcn.0052b0e0
mov dword [esp + 4], 0x2d51
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], str.whatever
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected__whatever___got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2d53
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0xd54]
mov dword [esp + 4], str.Expected_8_or_MAX_PATH__got__d_n
cmp edx, 8
mov dword [esp + 8], edx
sete al
cmp edx, 0x104
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov ecx, dword [ebp - 0xd84]
mov eax, dword [ebp - 0xd60]
mov edx, 0x55fb90
call fcn.00476540
mov eax, dword [ebp - 0xd60]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0xd68]
lea ecx, [ebp - 0xa40]
sub esp, 4
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov eax, dword [ebp - 0xd68]
sub esp, 8
mov dword [esp + 4], str.Patches
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov eax, dword [ebp - 0xd68]
sub esp, 8
mov dword [esp + 4], 0x55fb90
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteKeyA
mov eax, dword [ebp - 0xd68]
sub esp, 8
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0xd6c]
sub esp, 4
mov dword [esp + 4], 0x55fb90
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteKeyA
mov eax, dword [ebp - 0xd6c]
sub esp, 8
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
lea ecx, [ebp - 0xd54]
mov eax, 0x65
mov dword [ebp - 0xd54], 0x104
sub esp, 4
mov word [ebp - 0xc44], ax
mov eax, 0x616e
mov dword [esp + 0x10], ecx
lea ecx, [ebp - 0x93c]
mov dword [esp], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov word [ebp - 0x730], ax
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2d64
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x560278
cmp eax, 0x645
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2d66
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2d68
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2d6a
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea ecx, [ebp - 0x838]
lea eax, [ebp - 0xd28]
mov dword [ebp - 0xd4c], 0x74666f53
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [ebp - 0xd48], 0x65726177
mov dword [ebp - 0xd44], 0x616c435c
mov dword [ebp - 0xd40], 0x73657373
mov dword [ebp - 0xd3c], 0x736e495c
mov dword [ebp - 0xd38], 0x6c6c6174
mov dword [ebp - 0xd34], 0x505c7265
mov dword [ebp - 0xd30], 0x75646f72
mov dword [ebp - 0xd2c], 0x5c737463
call sub.msvcrt.dll_strcpy
mov eax, dword [ebp - 0xd7c]
lea ecx, [ebp - 0xd6c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
lea eax, [ebp - 0xd4c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 0x80000002
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
cmp eax, 5
je 0x49f170
mov dword [esp + 4], 0x2d76
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
mov dword [ebp - 0xd88], eax
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xd54]
mov dword [esp + 0xc], edi
mov edx, 0x65
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov ecx, 0x616e
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov word [ebp - 0xc44], dx
mov word [ebp - 0x730], cx
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2d7d
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x560e34
cmp eax, 0x103
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2d7e
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2d80
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2d82
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xd68]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0xd7c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xd6c]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.Patches
mov dword [esp], eax
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2d85
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 0xc], edi
mov word [ebp - 0xc44], ax
mov eax, 0x616e
mov word [ebp - 0x730], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2d8c
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0xd88]
mov eax, 1
cmp edx, 0x103
jne 0x49ef33
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], 0x560e34
call fcn.0052b0e0
mov dword [esp + 4], 0x2d8f
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2d91
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2d93
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xa40]
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x49d770
mov ecx, edx
mov dword [esp + 0xc], 1
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 8], 0
cmove edx, ecx
lea ecx, [eax + 2]
mov dword [esp + 4], str.Patches
cmove eax, ecx
mov ecx, edx
add cl, dl
lea ecx, [ebp - 0xa40]
sbb eax, 3
mov dword [esp + 0x10], ecx
sub eax, ecx
add eax, 1
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xd68]
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2d98
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 0xc], edi
mov word [ebp - 0xc44], ax
mov eax, 0x616e
mov word [ebp - 0x730], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2d9f
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0xd88]
mov eax, 1
cmp edx, 0x64a
jne 0x49eea0
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], 0x560cc0
call fcn.0052b0e0
mov dword [esp + 4], 0x2da2
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2da4
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2da6
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0xd68]
mov dword [esp + 0x14], 7
mov dword [esp + 0x10], 0x560f4b
mov dword [esp + 0xc], 7
mov dword [esp + 8], 0
mov dword [esp + 4], str.Patches
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2daa
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 0xc], edi
mov word [ebp - 0xc44], ax
mov eax, 0x616e
mov word [ebp - 0x730], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2db1
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x560cc0
cmp eax, 0x64a
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2db3
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2db5
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2db7
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea edx, [ebp - 0xa40]
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x49db5b
mov ecx, eax
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
lea eax, [ebp - 0xa40]
sbb edx, 3
sub edx, eax
mov byte [ebp + edx - 0xa3f], 0
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x49db9b
mov ecx, edx
mov dword [esp + 0xc], 7
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 8], 0
cmove edx, ecx
lea ecx, [eax + 2]
mov dword [esp + 4], str.Patches
cmove eax, ecx
mov ecx, edx
add cl, dl
lea ecx, [ebp - 0xa40]
sbb eax, 3
mov dword [esp + 0x10], ecx
sub eax, ecx
add eax, 2
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xd68]
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2dbd
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 0xc], edi
mov word [ebp - 0xc44], ax
mov eax, 0x616e
mov word [ebp - 0x730], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2dc4
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0xd88]
mov eax, 1
cmp edx, 0x103
je 0x49dcf8
xor eax, eax
cmp edx, 2
sete al
mov dword [esp], eax
call fcn.0052af50
mov edx, dword [ebp - 0xd88]
test eax, eax
setne al
movzx eax, al
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], 0x560e34
call fcn.0052b0e0
mov dword [esp + 4], 0x2dc7
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
mov edx, 1
sub esp, 8
test eax, eax
jne 0x49ef82
mov dword [esp], edx
mov dword [esp + 8], esi
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
call fcn.0052b0e0
mov dword [esp + 4], 0x2dca
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2dcc
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xa40]
mov dword [esp + 0x14], 9
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd68]
mov dword [esp + 0x10], str.whatever
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2dd0
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x616e
mov dword [esp + 0xc], edi
mov ecx, 0x65
mov word [ebp - 0x730], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov word [ebp - 0xc44], cx
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2dd7
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2dd8
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0xb44]
mov dword [esp], esi
mov dword [esp + 4], eax
call ebx
lea ecx, [ebp - 0xb44]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 4], 0x5601a1
call fcn.0052b0e0
mov dword [esp + 4], 0x2dda
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], str.whatever
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected__whatever___got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2ddc
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0xd54]
mov dword [esp + 4], str.Expected_8_or_MAX_PATH__got__d_n
cmp edx, 8
mov dword [esp + 8], edx
sete al
cmp edx, 0x104
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x5c6e
mov dword [ebp - 0xd4c], 0x74666f53
mov word [ebp - 0xd24], ax
lea eax, [ebp - 0x838]
mov dword [esp + 4], eax
lea eax, [ebp - 0xcfd]
mov dword [esp], eax
mov dword [ebp - 0xd48], 0x65726177
mov dword [ebp - 0xd44], 0x63694d5c
mov dword [ebp - 0xd40], 0x6f736f72
mov dword [ebp - 0xd3c], 0x575c7466
mov dword [ebp - 0xd38], 0x6f646e69
mov dword [ebp - 0xd34], 0x435c7377
mov dword [ebp - 0xd30], 0x65727275
mov dword [ebp - 0xd2c], 0x6556746e
mov dword [ebp - 0xd28], 0x6f697372
mov dword [ebp - 0xd22], 0x74736e49
mov dword [ebp - 0xd1e], 0x656c6c61
mov dword [ebp - 0xd1a], 0x73555c72
mov dword [ebp - 0xd16], 0x61447265
mov dword [ebp - 0xd12], 0x535c6174
mov dword [ebp - 0xd0e], 0x352d312d
mov dword [ebp - 0xd0a], 0x5c38312d
mov dword [ebp - 0xd06], 0x646f7250
mov dword [ebp - 0xd02], 0x73746375
mov byte [ebp - 0xcfe], 0x5c
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0xd64]
lea ecx, [ebp - 0xd4c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0xd7c]
mov dword [esp + 4], ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], 0x80000002
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2de3
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea ecx, [ebp - 0xd54]
mov dword [esp + 0xc], edi
mov eax, 0x65
mov dword [esp + 0x10], ecx
lea ecx, [ebp - 0x93c]
mov dword [esp], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov word [ebp - 0xc44], ax
mov eax, 0x616e
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov word [ebp - 0x730], ax
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2dea
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2deb
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea ecx, [ebp - 0xb44]
mov dword [esp], esi
mov dword [esp + 4], ecx
call ebx
lea ecx, [ebp - 0xb44]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 4], 0x5601a1
call fcn.0052b0e0
mov dword [esp + 4], 0x2ded
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], str.whatever
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected__whatever___got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2def
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0xd54]
mov dword [esp + 4], str.Expected_8_or_MAX_PATH__got__d_n
cmp edx, 8
mov dword [esp + 8], edx
sete al
cmp edx, 0x104
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xd58]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0xd7c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xd64]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.Patches
mov dword [esp], eax
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2df2
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea ecx, [ebp - 0xd54]
mov dword [esp + 0xc], edi
mov eax, 0x65
mov dword [esp + 0x10], ecx
lea ecx, [ebp - 0x93c]
mov dword [esp], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov word [ebp - 0xc44], ax
mov eax, 0x616e
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov word [ebp - 0x730], ax
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2df9
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2dfa
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea ecx, [ebp - 0xb44]
mov dword [esp], esi
mov dword [esp + 4], ecx
call ebx
lea ecx, [ebp - 0xb44]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 4], 0x5601a1
call fcn.0052b0e0
mov dword [esp + 4], 0x2dfc
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], str.whatever
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected__whatever___got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2dfe
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0xd54]
mov dword [esp + 4], str.Expected_8_or_MAX_PATH__got__d_n
cmp edx, 8
mov dword [esp + 8], edx
sete al
cmp edx, 0x104
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xd5c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0xd7c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
lea eax, [ebp - 0xa40]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd58]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], eax
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov dword [ebp - 0xd7c], eax
mov dword [esp + 4], 0x2e01
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd7c]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xd54]
mov dword [esp + 0xc], edi
mov edx, 0x65
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov ecx, 0x616e
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov word [ebp - 0xc44], dx
mov word [ebp - 0x730], cx
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd7c], eax
mov dword [esp + 4], 0x2e08
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0xd7c]
mov eax, 1
cmp edx, 0x103
jne 0x49ef60
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], 0x560e34
call fcn.0052b0e0
mov dword [esp + 4], 0x2e0b
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x5607ac
mov dword [esp], esi
call ebx
mov edx, 1
sub esp, 8
test eax, eax
jne 0x49efe0
mov dword [esp], edx
mov dword [esp + 8], esi
mov dword [esp + 4], str.Expected_lpPatchBuf_to_be_unchanged__got___s__n
call fcn.0052b0e0
mov dword [esp + 4], 0x2e0e
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
mov edx, 1
sub esp, 8
test eax, eax
jne 0x49efb0
mov dword [esp], edx
mov dword [esp + 8], edi
mov dword [esp + 4], str.Expected_lpTransformsBuf_to_be_unchanged__got___s__n
call fcn.0052b0e0
mov dword [esp + 4], 0x2e11
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560f1c
cmp eax, 0x104
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xd50]
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0xd5c]
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.State
mov dword [esp], eax
mov dword [ebp - 0xd50], 1
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov dword [ebp - 0xd7c], eax
mov dword [esp + 4], 0x2e16
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd7c]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x65
mov dword [esp + 0xc], edi
mov edx, 0x616e
mov word [ebp - 0xc44], ax
lea eax, [ebp - 0xd54]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
mov word [ebp - 0x730], dx
mov dword [ebp - 0xd54], 0x104
mov dword [ebp - 0xc48], 0x6c707061
mov dword [ebp - 0x734], 0x616e6162
mov byte [ebp - 0x72e], 0
call sub.msi.dll_MsiEnumPatchesA
sub esp, 0x14
mov dword [ebp - 0xd7c], eax
mov dword [esp + 4], 0x2e1d
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd7c]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2e1e
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0xb44]
mov dword [esp], esi
mov dword [esp + 4], eax
call ebx
lea ecx, [ebp - 0xb44]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 4], 0x5601a1
call fcn.0052b0e0
mov dword [esp + 4], 0x2e20
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], str.whatever
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected__whatever___got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2e22
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0xd54]
mov dword [esp + 4], str.Expected_8_or_MAX_PATH__got__d_n
cmp edx, 8
mov dword [esp + 8], edx
sete al
cmp edx, 0x104
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x428]
mov dword [ebp - 0xd54], 6
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], eax
mov eax, dword [sym.imp.kernel32.dll_MultiByteToWideChar]
mov dword [esp + 0x14], 0x104
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [ebp - 0xd7c], eax
call eax
lea ecx, [ebp - 0x630]
mov eax, dword [ebp - 0xd7c]
sub esp, 0x18
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0x104
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0x5607ac
mov dword [esp + 4], 0
mov dword [esp], 0
call eax
lea ecx, [ebp - 0x220]
mov eax, dword [ebp - 0xd7c]
sub esp, 0x18
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0x104
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0x560e88
mov dword [esp + 4], 0
mov dword [esp], 0
call eax
lea eax, [ebp - 0xd54]
sub esp, 0x18
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x220]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x630]
mov dword [esp + 8], eax
lea eax, [ebp - 0x428]
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msi.dll_MsiEnumPatchesW
sub esp, 0x14
mov dword [ebp - 0xd88], eax
mov dword [esp + 4], 0x2e2c
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd88]
mov dword [esp + 4], 0x560140
cmp eax, 0xea
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x630]
mov dword [esp + 0x1c], 0
mov dword [esp + 8], eax
mov eax, dword [sym.imp.kernel32.dll_WideCharToMultiByte]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [ebp - 0xd88], eax
call eax
lea ecx, [ebp - 0x220]
mov eax, dword [ebp - 0xd88]
sub esp, 0x20
mov dword [esp + 8], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0
call eax
sub esp, 0x20
mov dword [esp + 4], 0x2e2f
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0xb44]
mov dword [esp], esi
mov dword [esp + 4], eax
call ebx
lea ecx, [ebp - 0xb44]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp + 0xc], esi
mov dword [esp], eax
mov dword [esp + 4], 0x5601a1
call fcn.0052b0e0
mov dword [esp + 4], 0x2e31
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], str.whate
mov dword [esp], edi
call ebx
mov edx, 1
sub esp, 8
test eax, eax
jne 0x49f010
mov dword [esp], edx
mov dword [esp + 8], edi
mov dword [esp + 4], str.Expected__whate___got___s__n
call fcn.0052b0e0
mov dword [esp + 4], 0x2e34
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd54]
mov dword [esp + 4], 0x560def
cmp eax, 8
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x630]
mov dword [ebp - 0xd54], 0x104
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0xd7c]
mov dword [esp + 0x14], 0x104
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0x5607ac
mov dword [esp + 4], 0
mov dword [esp], 0
call eax
lea ecx, [ebp - 0x220]
mov eax, dword [ebp - 0xd7c]
sub esp, 0x18
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0x104
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0x560e88
mov dword [esp + 4], 0
mov dword [esp], 0
call eax
lea eax, [ebp - 0xd54]
sub esp, 0x18
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x220]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x630]
mov dword [esp + 8], eax
lea eax, [ebp - 0x428]
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msi.dll_MsiEnumPatchesW
sub esp, 0x14
mov dword [ebp - 0xd7c], eax
mov dword [esp + 4], 0x2e3b
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0xd7c]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x630]
mov dword [esp + 0x10], esi
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xd88]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0
call eax
lea ecx, [ebp - 0x220]
mov eax, dword [ebp - 0xd88]
sub esp, 0x20
mov dword [esp + 8], ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], 0
call eax
sub esp, 0x20
mov dword [esp + 4], 0x2e3e
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0xb44]
mov dword [esp], esi
mov dword [esp + 4], eax
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], esi
lea esi, [ebp - 0xb44]
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], 0x5601a1
call fcn.0052b0e0
mov dword [esp + 4], 0x2e40
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp], edi
mov dword [esp + 4], str.whatever
call ebx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected__whatever___got___s__n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2e42
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0xd54]
mov dword [esp + 4], str.Expected_8_or_MAX_PATH__got__d_n
cmp edx, 8
mov dword [esp + 8], edx
sete al
cmp edx, 0x104
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xa40]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd68]
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov eax, dword [ebp - 0xd68]
sub esp, 8
mov dword [esp + 4], str.Patches
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov esi, dword [ebp - 0xd84]
mov eax, dword [ebp - 0xd68]
mov edx, 0x55fb90
sub esp, 8
mov ecx, esi
call fcn.00476540
mov eax, dword [ebp - 0xd68]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0xd5c]
sub esp, 4
mov dword [esp + 4], str.State
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov eax, dword [ebp - 0xd5c]
mov ecx, esi
mov edx, 0x55fb90
sub esp, 8
call fcn.00476540
mov eax, dword [ebp - 0xd5c]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0xd58]
mov ecx, esi
mov edx, 0x55fb90
sub esp, 4
call fcn.00476540
mov eax, dword [ebp - 0xd58]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0xd64]
mov ecx, esi
mov edx, 0x55fb90
sub esp, 4
call fcn.00476540
mov eax, dword [ebp - 0xd64]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0xd6c]
mov ecx, esi
mov edx, 0x55fb90
sub esp, 4
call fcn.00476540
mov eax, dword [ebp - 0xd6c]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0xd80]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_LocalFree]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
xor eax, eax
test edx, edx
sete al
mov dword [esp], eax
call fcn.0052af50
mov edx, dword [ebp - 0xd88]
test eax, eax
setne al
movzx eax, al
jmp 0x49d8b3
xor eax, eax
test edx, edx
sete al
mov dword [esp], eax
call fcn.0052af50
mov edx, dword [ebp - 0xd88]
test eax, eax
setne al
movzx eax, al
jmp 0x49ccff
xor eax, eax
cmp edx, 2
sete al
mov dword [esp], eax
call fcn.0052af50
mov edx, dword [ebp - 0xd88]
test eax, eax
setne al
movzx eax, al
jmp 0x49c4a9
xor eax, eax
cmp edx, 2
sete al
mov dword [esp], eax
call fcn.0052af50
mov edx, dword [ebp - 0xd84]
test eax, eax
setne al
movzx eax, al
jmp 0x49af15
xor eax, eax
cmp edx, 2
sete al
mov dword [esp], eax
call fcn.0052af50
mov edx, dword [ebp - 0xd88]
test eax, eax
setne al
movzx eax, al
jmp 0x49d69d
xor eax, eax
test edx, edx
sete al
mov dword [esp], eax
call fcn.0052af50
mov edx, dword [ebp - 0xd7c]
test eax, eax
setne al
movzx eax, al
jmp 0x49e5ce
lea eax, [ebp - 0xb44]
mov dword [esp], esi
mov dword [esp + 4], eax
call ebx
sub esp, 8
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052af50
xor edx, edx
test eax, eax
setne dl
jmp 0x49dd3d
mov dword [esp + 4], str.whatever
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052af50
xor edx, edx
test eax, eax
setne dl
jmp 0x49e658
lea eax, [ebp - 0xb44]
mov dword [esp], esi
mov dword [esp + 4], eax
call ebx
sub esp, 8
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052af50
xor edx, edx
test eax, eax
setne dl
jmp 0x49e613
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052af50
xor edx, edx
test eax, eax
setne dl
jmp 0x49eae5
lea eax, [ebp - 0xb44]
mov dword [esp], esi
mov dword [esp + 4], eax
call ebx
sub esp, 8
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052af50
xor edx, edx
test eax, eax
setne dl
jmp 0x49cb62
mov dword [esp + 4], 0x560e88
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052af50
xor edx, edx
test eax, eax
setne dl
jmp 0x49bc92
lea eax, [ebp - 0xb44]
mov dword [esp], esi
mov dword [esp + 4], eax
call ebx
sub esp, 8
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052af50
xor edx, edx
test eax, eax
setne dl
jmp 0x49b5ce
mov dword [esp + 4], str.whatever
mov dword [esp], edi
call ebx
sub esp, 8
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052af50
xor edx, edx
test eax, eax
setne dl
jmp 0x49cd89
lea eax, [ebp - 0xb44]
mov dword [esp], esi
mov dword [esp + 4], eax
call ebx
sub esp, 8
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052af50
xor edx, edx
test eax, eax
setne dl
jmp 0x49cd44
mov dword [esp + 4], 0x2c0d
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp], 0x55fb58
call fcn.0052b1d0
mov eax, dword [ebp - 0xd80]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_LocalFree]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x2d72
jmp 0x49f138