Function at 0x4b3e50
Capabilities:
Contain obfuscated stackstrings
Delete file
Delete registry key
Delete registry value
Get common file path
Set registry value

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x68c
mov dword [esp + 4], 0
mov dword [esp], 2
call sub.msi.dll_MsiSetInternalUI
lea eax, [ebp - 0x52c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], 0x104
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryA]
lea edx, [ebp - 0x52c]
sub esp, 8
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x4b3e93
mov ecx, eax
lea esi, [ebp - 0x428]
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ebx, eax
add bl, al
mov eax, 0x5c
lea ebx, [ebp - 0x630]
sbb edx, 3
mov word [edx], ax
lea edx, [ebp - 0x324]
mov eax, esi
call fcn.0047cb90
call fcn.00477380
cmp dword [0x58b784], 1
mov dword [ebp - 0x630], 0
mov dword [ebp - 0x654], eax
sbb eax, eax
xor al, al
mov dword [esp], str.winetest.msi
add eax, 0xf013f
mov dword [ebp - 0x650], eax
mov eax, dword [sym.imp.kernel32.dll_DeleteFileA]
mov dword [ebp - 0x664], eax
call eax
sub esp, 4
mov dword [esp + 8], ebx
mov dword [esp + 4], 3
mov dword [esp], 0x566c64
call sub.msi.dll_MsiOpenDatabaseW
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0x345
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], str.Failed_to_create_database_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x630]
test edi, edi
je 0x4b5d30
lea ecx, [ebp - 0x220]
mov dword [ebp - 0x64c], ecx
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
lea eax, [ebp - 0x644]
mov dword [ebp - 0x644], 0xdeadbeef
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], 0
call sub.msi.dll_MsiOpenProductA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x2370
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x57
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x55ff68
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2372
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], str.Expected_hprod_to_be_unchanged_n
cmp dword [ebp - 0x644], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x644]
mov dword [esp], 0x55fb90
mov dword [esp + 4], eax
mov dword [ebp - 0x644], 0xdeadbeef
call sub.msi.dll_MsiOpenProductA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x2377
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x57
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x55ff68
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2379
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], str.Expected_hprod_to_be_unchanged_n
cmp dword [ebp - 0x644], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x644]
mov dword [esp], 0x560220
mov dword [esp + 4], eax
mov dword [ebp - 0x644], 0xdeadbeef
call sub.msi.dll_MsiOpenProductA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x237e
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x57
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x55ff68
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2380
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], str.Expected_hprod_to_be_unchanged_n
cmp dword [ebp - 0x644], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x644]
mov dword [esp], 0x560228
mov dword [esp + 4], eax
mov dword [ebp - 0x644], 0xdeadbeef
call sub.msi.dll_MsiOpenProductA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x2385
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x57
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x55ff68
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2387
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], str.Expected_hprod_to_be_unchanged_n
cmp dword [ebp - 0x644], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x644]
mov dword [esp], str.6700E8CF_95AB_4D9C_BC2C_15840DEA7A5D
mov dword [esp + 4], eax
mov dword [ebp - 0x644], 0xdeadbeef
call sub.msi.dll_MsiOpenProductA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x238c
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x645
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x560278
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x238e
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], str.Expected_hprod_to_be_unchanged_n
cmp dword [ebp - 0x644], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x644]
mov dword [esp], str.A938G02JF_2NF3N93_VN3_2NNF_3KGKALDNF93
mov dword [esp + 4], eax
mov dword [ebp - 0x644], 0xdeadbeef
call sub.msi.dll_MsiOpenProductA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x2393
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x57
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x55ff68
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2395
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], str.Expected_hprod_to_be_unchanged_n
cmp dword [ebp - 0x644], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0
mov dword [esp], esi
mov dword [ebp - 0x644], 0xdeadbeef
call sub.msi.dll_MsiOpenProductA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x239a
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x57
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x55ff68
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x239c
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], str.Expected_hprod_to_be_unchanged_n
cmp dword [ebp - 0x644], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x5c6e
mov dword [ebp - 0x220], 0x74666f53
mov word [ebp - 0x1f8], ax
mov eax, 0x5c64
mov word [ebp - 0x1e6], ax
mov eax, dword [ebp - 0x654]
mov dword [ebp - 0x21c], 0x65726177
mov dword [esp + 4], eax
lea eax, [ebp - 0x1e4]
mov dword [esp], eax
mov dword [ebp - 0x218], 0x63694d5c
mov dword [ebp - 0x214], 0x6f736f72
mov dword [ebp - 0x210], 0x575c7466
mov dword [ebp - 0x20c], 0x6f646e69
mov dword [ebp - 0x208], 0x435c7377
mov dword [ebp - 0x204], 0x65727275
mov dword [ebp - 0x200], 0x6556746e
mov dword [ebp - 0x1fc], 0x6f697372
mov dword [ebp - 0x1f6], 0x74736e49
mov dword [ebp - 0x1f2], 0x656c6c61
mov dword [ebp - 0x1ee], 0x614d5c72
mov dword [ebp - 0x1ea], 0x6567616e
call sub.msvcrt.dll_strcpy
mov eax, dword [ebp - 0x64c]
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4b440a
mov ecx, edx
mov edi, dword [ebp - 0x64c]
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 - 0x324]
sbb eax, 3
sub eax, edi
lea edx, [edi + eax]
lea eax, [edi + eax + 0x14]
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 - 0x640]
mov dword [esp + 4], edi
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x650]
mov dword [esp + 0x20], 0
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 edi, eax
cmp eax, 5
je 0x4b6250
mov dword [esp + 4], 0x23ad
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x644]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [ebp - 0x644], 0xdeadbeef
call sub.msi.dll_MsiOpenProductA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x23b2
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x645
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x560278
mov edi, 0x5c6e
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x23b4
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], str.Expected_hprod_to_be_unchanged_n
cmp dword [ebp - 0x644], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x654]
mov dword [ebp - 0x220], 0x74666f53
mov dword [ebp - 0x21c], 0x65726177
mov dword [esp + 4], eax
lea eax, [ebp - 0x1e3]
mov dword [esp], eax
mov dword [ebp - 0x218], 0x63694d5c
mov dword [ebp - 0x214], 0x6f736f72
mov dword [ebp - 0x210], 0x575c7466
mov dword [ebp - 0x20c], 0x6f646e69
mov dword [ebp - 0x208], 0x435c7377
mov dword [ebp - 0x204], 0x65727275
mov dword [ebp - 0x200], 0x6556746e
mov dword [ebp - 0x1fc], 0x6f697372
mov word [ebp - 0x1f8], di
mov dword [ebp - 0x1f6], 0x74736e49
mov dword [ebp - 0x1f2], 0x656c6c61
mov dword [ebp - 0x1ee], 0x73555c72
mov dword [ebp - 0x1ea], 0x61447265
mov dword [ebp - 0x1e6], 0x5c6174
call sub.msvcrt.dll_strcpy
mov edx, dword [ebp - 0x64c]
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x4b464f
mov ecx, eax
mov edi, dword [ebp - 0x64c]
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
mov ecx, 0x5c73
sbb edx, 3
sub edx, edi
lea eax, [edi + edx]
mov word [eax + 8], cx
mov dword [eax], 0x6f72505c
mov dword [eax + 4], 0x74637564
lea eax, [ebp - 0x324]
mov dword [esp + 4], eax
lea eax, [edi + edx + 0xa]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x63c]
mov dword [esp + 4], edi
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x650]
mov dword [esp + 0x20], 0
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 edi, eax
cmp eax, 5
je 0x4b6290
mov dword [esp + 4], 0x23c3
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x644]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [ebp - 0x644], 0xdeadbeef
call sub.msi.dll_MsiOpenProductA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x23c8
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x645
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x560278
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x23ca
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], str.Expected_hprod_to_be_unchanged_n
cmp dword [ebp - 0x644], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x638]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x650]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x63c]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x56071f
mov dword [esp], eax
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov edi, eax
mov dword [esp + 4], 0x23cd
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x644]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [ebp - 0x644], 0xdeadbeef
call sub.msi.dll_MsiOpenProductA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x23d2
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x645
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x560278
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x23d4
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], str.Expected_hprod_to_be_unchanged_n
cmp dword [ebp - 0x644], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x52c]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [sym.imp.msvcrt.dll_strcpy]
mov dword [ebp - 0x658], eax
call eax
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4b48ef
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
mov ecx, 0x69
sbb eax, 3
sub eax, ebx
lea edx, [ebx + eax]
add eax, 0xe
mov word [edx + 0xc], cx
mov dword [edx], 0x6e69775c
mov dword [edx + 4], 0x73657465
mov dword [edx + 8], 0x736d2e74
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x638]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], str.ManagedLocalPackage
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x23da
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x644]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [ebp - 0x644], 0xdeadbeef
call sub.msi.dll_MsiOpenProductA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x23df
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x23e0
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0x644]
mov dword [esp + 4], 0x561d38
test edx, edx
setne cl
xor eax, eax
cmp edx, 0xdeadbeef
setne al
and eax, ecx
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x634]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x644]
mov dword [esp + 4], 0x561d59
mov dword [esp], eax
mov dword [ebp - 0x634], 0x104
call sub.msi.dll_MsiGetPropertyA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x23e4
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x23e5
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [sym.imp.kernel32.dll_lstrcmpA]
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [ebp - 0x660], eax
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], ebx
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], 0x5601a1
call fcn.0052b0e0
mov dword [esp + 4], 0x23e6
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edi, dword [ebp - 0x634]
mov edx, esi
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x4b4afd
mov ecx, eax
mov dword [esp + 0xc], edi
shr ecx, 0x10
test eax, 0x8080
mov dword [esp + 4], 0x55ffc6
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
sbb edx, 3
xor eax, eax
sub edx, esi
cmp edi, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x644]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
mov eax, dword [ebp - 0x638]
sub esp, 4
mov dword [esp + 4], str.ManagedLocalPackage
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov eax, dword [ebp - 0x650]
mov edx, 0x55fb90
sub esp, 8
and eax, 0x100
mov edi, eax
mov ecx, eax
mov dword [ebp - 0x65c], eax
mov eax, dword [ebp - 0x638]
call fcn.00476540
mov eax, dword [ebp - 0x638]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x63c]
mov ecx, edi
mov edx, 0x55fb90
sub esp, 4
call fcn.00476540
mov eax, dword [ebp - 0x63c]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x640]
mov edx, 0x55fb90
mov ecx, edi
sub esp, 4
mov edi, 0x5c73
call fcn.00476540
mov eax, dword [ebp - 0x640]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
lea eax, [ebp - 0x324]
mov word [ebp - 0x1fc], di
mov dword [ebp - 0x220], 0x74666f53
sub esp, 4
mov dword [esp + 4], eax
lea eax, [ebp - 0x1fa]
mov dword [esp], eax
mov dword [ebp - 0x21c], 0x65726177
mov dword [ebp - 0x218], 0x63694d5c
mov dword [ebp - 0x214], 0x6f736f72
mov dword [ebp - 0x210], 0x495c7466
mov dword [ebp - 0x20c], 0x6174736e
mov dword [ebp - 0x208], 0x72656c6c
mov dword [ebp - 0x204], 0x6f72505c
mov dword [ebp - 0x200], 0x74637564
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x640]
mov dword [esp], 0x80000001
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x64c]
mov dword [esp + 4], eax
call sub.advapi32.dll_RegCreateKeyA
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0x23f8
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
call fcn.0052b0e0
lea ecx, [ebp - 0x644]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [ebp - 0x644], 0xdeadbeef
call sub.msi.dll_MsiOpenProductA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x23fd
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x645
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x560278
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x23ff
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], str.Expected_hprod_to_be_unchanged_n
cmp dword [ebp - 0x644], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov ecx, dword [ebp - 0x654]
mov eax, 0x5c6e
mov dword [ebp - 0x220], 0x74666f53
mov dword [ebp - 0x21c], 0x65726177
mov dword [esp + 4], ecx
lea ecx, [ebp - 0x1e3]
mov dword [esp], ecx
mov dword [ebp - 0x218], 0x63694d5c
mov dword [ebp - 0x214], 0x6f736f72
mov dword [ebp - 0x210], 0x575c7466
mov dword [ebp - 0x20c], 0x6f646e69
mov dword [ebp - 0x208], 0x435c7377
mov dword [ebp - 0x204], 0x65727275
mov dword [ebp - 0x200], 0x6556746e
mov dword [ebp - 0x1fc], 0x6f697372
mov word [ebp - 0x1f8], ax
mov dword [ebp - 0x1f6], 0x74736e49
mov dword [ebp - 0x1f2], 0x656c6c61
mov dword [ebp - 0x1ee], 0x73555c72
mov dword [ebp - 0x1ea], 0x61447265
mov dword [ebp - 0x1e6], 0x5c6174
call sub.msvcrt.dll_strcpy
mov eax, dword [ebp - 0x64c]
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4b4e0d
mov ecx, edx
mov edi, dword [ebp - 0x64c]
shr ecx, 0x10
test edx, 0x8080
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
mov ecx, 0x5c73
sbb eax, 3
sub eax, edi
lea edx, [edi + eax]
lea eax, [edi + eax + 0xa]
mov word [edx + 8], cx
lea ecx, [ebp - 0x324]
mov dword [edx], 0x6f72505c
mov dword [edx + 4], 0x74637564
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x63c]
mov dword [esp + 4], edi
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x650]
mov dword [esp + 0x20], 0
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 edi, eax
mov dword [esp + 4], 0x2408
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
call fcn.0052b0e0
lea ecx, [ebp - 0x644]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [ebp - 0x644], 0xdeadbeef
call sub.msi.dll_MsiOpenProductA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x240d
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x645
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x560278
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x240f
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], str.Expected_hprod_to_be_unchanged_n
cmp dword [ebp - 0x644], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x650]
lea ecx, [ebp - 0x638]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x63c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x56071f
mov dword [esp], eax
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov edi, eax
mov dword [esp + 4], 0x2412
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x644]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [ebp - 0x644], 0xdeadbeef
call sub.msi.dll_MsiOpenProductA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x2417
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x645
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x560278
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2419
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], str.Expected_hprod_to_be_unchanged_n
cmp dword [ebp - 0x644], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x52c]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x658]
call eax
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4b50a1
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
mov ecx, 0x69
sbb eax, 3
sub eax, ebx
lea edx, [ebx + eax]
add eax, 0xe
mov word [edx + 0xc], cx
mov dword [edx], 0x6e69775c
mov dword [edx + 4], 0x73657465
mov dword [edx + 8], 0x736d2e74
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x638]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0x560396
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x241f
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x644]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [ebp - 0x644], 0xdeadbeef
call sub.msi.dll_MsiOpenProductA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x2424
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2425
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0x644]
mov dword [esp + 4], 0x561d38
test edx, edx
setne cl
xor eax, eax
cmp edx, 0xdeadbeef
setne al
and eax, ecx
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x634]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x644]
mov dword [esp + 4], 0x561d59
mov dword [esp], eax
mov dword [ebp - 0x634], 0x104
call sub.msi.dll_MsiGetPropertyA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x2429
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x242a
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], esi
mov eax, dword [ebp - 0x660]
mov dword [esp], ebx
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], ebx
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], 0x5601a1
call fcn.0052b0e0
mov dword [esp + 4], 0x242b
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edi, dword [ebp - 0x634]
mov eax, esi
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4b52aa
mov ecx, edx
mov dword [esp + 0xc], edi
shr ecx, 0x10
test edx, 0x8080
mov dword [esp + 4], 0x55ffc6
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, esi
cmp edi, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x644]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
mov eax, dword [ebp - 0x638]
sub esp, 4
mov dword [esp + 4], 0x560396
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov edi, dword [ebp - 0x65c]
mov eax, dword [ebp - 0x638]
mov edx, 0x55fb90
sub esp, 8
mov ecx, edi
call fcn.00476540
mov eax, dword [ebp - 0x638]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x63c]
mov ecx, edi
mov edx, 0x55fb90
sub esp, 4
call fcn.00476540
mov eax, dword [ebp - 0x63c]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x640]
sub esp, 4
mov dword [esp + 4], 0x55fb90
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteKeyA
mov eax, dword [ebp - 0x640]
sub esp, 8
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
lea eax, [ebp - 0x324]
mov dword [ebp - 0x220], 0x74666f53
mov dword [ebp - 0x21c], 0x65726177
sub esp, 4
mov dword [esp + 4], eax
lea eax, [ebp - 0x1fc]
mov dword [esp], eax
mov dword [ebp - 0x218], 0x616c435c
mov dword [ebp - 0x214], 0x73657373
mov dword [ebp - 0x210], 0x736e495c
mov dword [ebp - 0x20c], 0x6c6c6174
mov dword [ebp - 0x208], 0x505c7265
mov dword [ebp - 0x204], 0x75646f72
mov dword [ebp - 0x200], 0x5c737463
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x640]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x650]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x64c]
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
mov edi, eax
cmp eax, 5
je 0x4b62b0
mov dword [esp + 4], 0x2443
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x644]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [ebp - 0x644], 0xdeadbeef
call sub.msi.dll_MsiOpenProductA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x2448
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x645
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x560278
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x244a
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], str.Expected_hprod_to_be_unchanged_n
cmp dword [ebp - 0x644], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x5c6e
mov dword [ebp - 0x220], 0x74666f53
mov word [ebp - 0x1f8], ax
lea eax, [ebp - 0x324]
mov dword [esp + 4], eax
lea eax, [ebp - 0x1d1]
mov dword [esp], eax
mov dword [ebp - 0x21c], 0x65726177
mov dword [ebp - 0x218], 0x63694d5c
mov dword [ebp - 0x214], 0x6f736f72
mov dword [ebp - 0x210], 0x575c7466
mov dword [ebp - 0x20c], 0x6f646e69
mov dword [ebp - 0x208], 0x435c7377
mov dword [ebp - 0x204], 0x65727275
mov dword [ebp - 0x200], 0x6556746e
mov dword [ebp - 0x1fc], 0x6f697372
mov dword [ebp - 0x1f6], 0x74736e49
mov dword [ebp - 0x1f2], 0x656c6c61
mov dword [ebp - 0x1ee], 0x73555c72
mov dword [ebp - 0x1ea], 0x61447265
mov dword [ebp - 0x1e6], 0x535c6174
mov dword [ebp - 0x1e2], 0x352d312d
mov dword [ebp - 0x1de], 0x5c38312d
mov dword [ebp - 0x1da], 0x646f7250
mov dword [ebp - 0x1d6], 0x73746375
mov byte [ebp - 0x1d2], 0x5c
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x63c]
mov ecx, dword [ebp - 0x64c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x650]
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 edi, eax
mov dword [esp + 4], 0x2451
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
call fcn.0052b0e0
lea edx, [ebp - 0x644]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [ebp - 0x644], 0xdeadbeef
call sub.msi.dll_MsiOpenProductA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x2456
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x645
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x560278
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2458
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], str.Expected_hprod_to_be_unchanged_n
cmp dword [ebp - 0x644], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x650]
lea ecx, [ebp - 0x638]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x63c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x56071f
mov dword [esp], eax
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov edi, eax
mov dword [esp + 4], 0x245b
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x644]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [ebp - 0x644], 0xdeadbeef
call sub.msi.dll_MsiOpenProductA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x2460
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x645
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x560278
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2462
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], str.Expected_hprod_to_be_unchanged_n
cmp dword [ebp - 0x644], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x52c]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x658]
call eax
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4b5840
mov ecx, edx
mov edi, 0x69
shr ecx, 0x10
test edx, 0x8080
cmove edx, ecx
lea ecx, [eax + 2]
cmove eax, ecx
mov ecx, edx
add cl, dl
sbb eax, 3
sub eax, ebx
lea edx, [ebx + eax]
add eax, 0xe
mov word [edx + 0xc], di
mov dword [edx], 0x6e69775c
mov dword [edx + 4], 0x73657465
mov dword [edx + 8], 0x736d2e74
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x638]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0x560396
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x2468
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x644]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [ebp - 0x644], 0xdeadbeef
call sub.msi.dll_MsiOpenProductA
sub esp, 8
mov edi, eax
mov dword [esp + 4], 0x246d
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x246e
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0x644]
mov dword [esp + 4], 0x561d38
test edx, edx
setne cl
xor eax, eax
cmp edx, 0xdeadbeef
setne al
and eax, ecx
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x634]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x644]
mov dword [esp + 4], 0x561d59
mov dword [esp], eax
mov dword [ebp - 0x634], 0x104
call sub.msi.dll_MsiGetPropertyA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x2472
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2473
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp + 4], esi
mov eax, dword [ebp - 0x660]
mov dword [esp], ebx
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], ebx
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], 0x5601a1
call fcn.0052b0e0
mov dword [esp + 4], 0x2474
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edi, dword [ebp - 0x634]
mov edx, esi
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x4b5a49
mov ecx, eax
mov dword [esp + 0xc], edi
shr ecx, 0x10
test eax, 0x8080
mov dword [esp + 4], 0x55ffc6
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
sbb edx, 3
xor eax, eax
sub edx, esi
cmp edi, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x644]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
mov eax, dword [ebp - 0x638]
sub esp, 4
mov dword [esp + 0x14], 0xd
mov dword [esp + 0x10], 0x561d65
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0x560396
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x247a
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x52c]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x658]
call eax
mov eax, ebx
mov ecx, dword [eax]
add eax, 4
lea edx, [ecx - 0x1010101]
not ecx
and edx, ecx
and edx, 0x80808080
je 0x4b5b2c
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
mov ecx, 0x69
sbb eax, 3
sub eax, ebx
lea edx, [ebx + eax]
add eax, 0xe
mov word [edx + 0xc], cx
mov dword [edx], 0x6e69775c
mov dword [edx + 4], 0x73657465
mov dword [edx + 8], 0x736d2e74
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x638]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0x560396
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0x2480
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
call fcn.0052b0e0
mov edi, dword [ebp - 0x664]
mov dword [esp], str.winetest.msi
call edi
lea eax, [ebp - 0x644]
mov dword [ebp - 0x644], 0xdeadbeef
sub esp, 4
mov dword [esp], esi
mov dword [esp + 4], eax
call sub.msi.dll_MsiOpenProductA
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x2487
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x645
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x560278
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x2489
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], str.Expected_hprod_to_be_unchanged_n
cmp dword [ebp - 0x644], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x638]
mov dword [esp + 4], 0x560396
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov esi, dword [ebp - 0x65c]
mov eax, dword [ebp - 0x638]
mov edx, 0x55fb90
sub esp, 8
mov ecx, esi
call fcn.00476540
mov eax, dword [ebp - 0x638]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x63c]
mov ecx, esi
mov edx, 0x55fb90
sub esp, 4
call fcn.00476540
mov eax, dword [ebp - 0x63c]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x640]
mov ecx, esi
mov edx, 0x55fb90
sub esp, 4
call fcn.00476540
mov eax, dword [ebp - 0x640]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
sub esp, 4
mov dword [esp], str.winetest.msi
call edi
mov eax, dword [ebp - 0x654]
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
mov dword [esp], eax
call sub.msi.dll_MsiDatabaseCommit
sub esp, 4
mov edi, eax
mov dword [esp + 4], 0x34a
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], 0x561ac8
sete al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x220]
mov dword [esp + 8], 7
mov dword [ebp - 0x64c], eax
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x630]
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msi.dll_MsiGetSummaryInformationA
sub esp, 0x10
mov edi, eax
mov dword [esp + 4], 0x316
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], 0x561ae3
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x220]
mov dword [esp + 0x14], 0x561aff
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1e
mov dword [esp + 4], 2
mov dword [esp], eax
call sub.msi.dll_MsiSummaryInfoSetPropertyA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x31a
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], 0x561b15
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x220]
mov dword [esp + 0x14], 0x561aff
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1e
mov dword [esp + 4], 3
mov dword [esp], eax
call sub.msi.dll_MsiSummaryInfoSetPropertyA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x31e
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], 0x561b15
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x220]
mov dword [esp + 0x14], 0x561b31
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1e
mov dword [esp + 4], 4
mov dword [esp], eax
call sub.msi.dll_MsiSummaryInfoSetPropertyA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x322
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], 0x561b15
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x220]
mov dword [esp + 0x14], 0x55fdab
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1e
mov dword [esp + 4], 7
mov dword [esp], eax
call sub.msi.dll_MsiSummaryInfoSetPropertyA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x326
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], 0x561b15
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x220]
mov dword [esp + 0x14], str.A2078D65_94D6_4205_8DEE_F68D6FD622AA
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1e
mov dword [esp + 4], 9
mov dword [esp], eax
call sub.msi.dll_MsiSummaryInfoSetPropertyA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x32a
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], 0x561b15
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x220]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x64
mov dword [esp + 8], 3
mov dword [esp + 4], 0xe
mov dword [esp], eax
call sub.msi.dll_MsiSummaryInfoSetPropertyA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x32d
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], 0x561b15
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x220]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 3
mov dword [esp + 4], 0xf
mov dword [esp], eax
call sub.msi.dll_MsiSummaryInfoSetPropertyA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x330
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], 0x561b15
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x220]
mov dword [esp], eax
call sub.msi.dll_MsiSummaryInfoPersist
sub esp, 4
mov edi, eax
mov dword [esp + 4], 0x333
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], 0x561b68
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x220]
mov dword [esp], eax
call sub.msi.dll_MsiCloseHandle
sub esp, 4
mov edi, eax
mov dword [esp + 4], 0x336
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], 0x561b8d
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x630]
mov dword [esp + 8], 0x561ba8
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00467470
mov dword [esp + 4], 0x354
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
mov edi, eax
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], 0x561c3c
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x630]
mov dword [esp + 8], str.CREATE_TABLE__Property_____Property__CHAR_72__NOT_NULL___Value__CHAR_255__PRIMARY_KEY__Property__
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00467470
mov dword [esp + 4], 0x35b
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
mov edi, eax
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], 0x561c3c
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov edi, dword [ebp - 0x64c]
mov dword [esp + 8], esi
mov dword [esp + 4], str.INSERT_INTO__Property____Property____Value___VALUES__ProductCode___s__
mov dword [esp], edi
call fcn.00477d60
mov eax, dword [ebp - 0x630]
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00467470
mov dword [esp + 4], 0x361
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
mov edi, eax
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], str.Failed_n
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x630]
mov dword [esp], eax
call sub.msi.dll_MsiDatabaseCommit
sub esp, 4
mov edi, eax
mov dword [esp + 4], 0x364
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 4], 0x561ac8
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x630]
jmp 0x4b3f88
mov dword [esp + 4], 0x23a9
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp], 0x55fb58
call fcn.0052b1d0
mov eax, dword [ebp - 0x654]
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], 0x23bf
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp], 0x55fb58
jmp 0x4b626b
mov dword [esp + 4], 0x243f
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp], 0x56078e
jmp 0x4b626b