Function at 0x4b1910
Capabilities:
Contain obfuscated stackstrings
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
sub esp, 0x97c
call fcn.0047cb90
lea edx, [ebp - 0x630]
lea eax, [ebp - 0x734]
call fcn.0047cb90
lea edx, [ebp - 0x428]
lea ecx, [ebp - 0x324]
lea eax, [ebp - 0x52c]
call fcn.004a2b80
call fcn.00477380
cmp dword [0x58b784], 1
mov dword [esp + 4], 0
mov esi, eax
mov dword [ebp - 0x954], eax
sbb ecx, ecx
lea eax, [ebp - 0x220]
mov dword [esp + 8], eax
xor cl, cl
mov dword [esp], 0
add ecx, 0xf013f
mov dword [ebp - 0x950], ecx
mov byte [ebp - 0x220], 0
call sub.msi.dll_MsiEnumClientsA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xf49
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], 0xf4a
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edi, dword [sym.imp.kernel32.dll_lstrcmpA]
lea eax, [ebp - 0x220]
mov dword [esp + 4], 0x55fb90
mov dword [esp], eax
mov dword [ebp - 0x94c], edi
call edi
lea edx, [ebp - 0x220]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp + 4], str.Expected_product_to_be_unchanged__got__s_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x220]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov dword [esp], 0x55fb90
mov byte [ebp - 0x220], 0
call sub.msi.dll_MsiEnumClientsA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xf4f
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], 0xf50
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0x220]
mov dword [esp + 4], 0x55fb90
mov dword [esp], eax
call edi
lea edx, [ebp - 0x220]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp + 4], str.Expected_product_to_be_unchanged__got__s_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x52c]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msi.dll_MsiEnumClientsA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xf54
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
lea eax, [ebp - 0x220]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x52c]
mov dword [esp], eax
mov byte [ebp - 0x220], 0
call sub.msi.dll_MsiEnumClientsA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xf59
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x647
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Expected_ERROR_UNKNOWN_COMPONENT__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0xf5a
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0x220]
mov dword [esp + 4], 0x55fb90
mov dword [esp], eax
call edi
lea edx, [ebp - 0x220]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp + 4], str.Expected_product_to_be_unchanged__got__s_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0xdf]
mov dword [esp + 4], esi
mov edx, 0x5c6e
mov dword [esp], eax
mov word [ebp - 0xf4], dx
mov dword [ebp - 0x11c], 0x74666f53
mov dword [ebp - 0x118], 0x65726177
mov dword [ebp - 0x114], 0x63694d5c
mov dword [ebp - 0x110], 0x6f736f72
mov dword [ebp - 0x10c], 0x575c7466
mov dword [ebp - 0x108], 0x6f646e69
mov dword [ebp - 0x104], 0x435c7377
mov dword [ebp - 0x100], 0x65727275
mov dword [ebp - 0xfc], 0x6556746e
mov dword [ebp - 0xf8], 0x6f697372
mov dword [ebp - 0xf2], 0x74736e49
mov dword [ebp - 0xee], 0x656c6c61
mov dword [ebp - 0xea], 0x73555c72
mov dword [ebp - 0xe6], 0x61447265
mov dword [ebp - 0xe2], 0x5c6174
call sub.msvcrt.dll_strcpy
lea edx, [ebp - 0x11c]
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x4b1c89
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 - 0x11c]
sbb edx, 3
sub edx, eax
add eax, edx
mov dword [eax], 0x6d6f435c
mov dword [eax + 4], 0x656e6f70
mov dword [eax + 8], 0x5c73746e
lea eax, [ebp - 0x324]
mov dword [esp + 4], eax
lea eax, [ebp + edx - 0x110]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x940]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x950]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x11c]
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 ebx, eax
cmp eax, 5
je 0x4b2d90
mov dword [esp + 4], 0xf69
lea edi, [ebp - 0x93c]
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
lea eax, [ebp - 0x220]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x52c]
mov dword [esp], eax
mov byte [ebp - 0x220], 0
call sub.msi.dll_MsiEnumClientsA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xf6e
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x647
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Expected_ERROR_UNKNOWN_COMPONENT__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0xf6f
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0x220]
mov esi, dword [ebp - 0x94c]
mov dword [esp + 4], 0x55fb90
mov dword [esp], eax
call esi
lea ecx, [ebp - 0x220]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp + 4], str.Expected_product_to_be_unchanged__got__s_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x220]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
lea eax, [ebp - 0x52c]
mov dword [esp], eax
mov byte [ebp - 0x220], 0
call sub.msi.dll_MsiEnumClientsA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xf74
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], 0xf75
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0x220]
mov dword [esp + 4], 0x55fb90
mov dword [esp], eax
call esi
lea ecx, [ebp - 0x220]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp + 4], str.Expected_product_to_be_unchanged__got__s_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x838]
mov dword [esp + 0x14], 0xa
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x940]
mov dword [esp + 0x10], str.C:imapath
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0xf78
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
lea eax, [ebp - 0x220]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x52c]
mov dword [esp], eax
call sub.msi.dll_MsiEnumClientsA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xf7c
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 dword [esp + 4], 0xf7d
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0x93c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x220]
mov dword [esp], eax
call esi
lea ecx, [ebp - 0x93c]
lea edx, [ebp - 0x220]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 4], 0x560117
call fcn.0052b0e0
lea eax, [ebp - 0x220]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x52c]
mov dword [esp], eax
mov byte [ebp - 0x220], 0
call sub.msi.dll_MsiEnumClientsA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xf82
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 dword [esp + 4], 0xf83
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0x93c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x220]
mov dword [esp], eax
call esi
lea edx, [ebp - 0x220]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp + 8], edi
mov edi, 0x56008a
mov dword [esp], eax
mov dword [esp + 4], 0x560117
call fcn.0052b0e0
lea eax, [ebp - 0x220]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
lea eax, [ebp - 0x52c]
mov dword [esp], eax
mov byte [ebp - 0x220], 0
call sub.msi.dll_MsiEnumClientsA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xf88
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x103
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x560e34
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0xf89
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0x220]
mov dword [ebp - 0x94c], esi
mov dword [esp + 4], 0x55fb90
mov dword [esp], eax
call esi
lea ecx, [ebp - 0x220]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ecx
movzx eax, al
mov dword [esp + 4], str.Expected_product_to_be_unchanged__got__s_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x630]
mov dword [esp + 0x14], 0xa
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x940]
mov dword [esp + 0x10], str.C:_another
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0xf8c
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
lea eax, [ebp - 0x220]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
lea eax, [ebp - 0x52c]
mov dword [esp], eax
mov byte [ebp - 0x220], 0
call sub.msi.dll_MsiEnumClientsA
mov esi, dword [str.windows]
mov ecx, 5
sub esp, 0xc
mov ebx, eax
repe cmpsb byte [esi], byte es:[edi]
seta al
sbb al, 0
test al, al
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b250
mov esi, dword [ebp - 0x94c]
jmp 0x4b22a1
mov dword [esp + 4], 0xf93
lea edi, [ebp - 0x220]
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], 0xf94
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0x220]
mov dword [esp + 4], 0x55fb90
mov dword [esp], eax
call esi
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_product_to_be_unchanged__got__s_n
mov dword [esp], eax
call fcn.0052b0e0
call fcn.0052b2a0
call fcn.0052b280
test eax, eax
jne 0x4b2220
lea eax, [ebp - 0x220]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x52c]
mov dword [esp], eax
mov byte [ebp - 0x220], 0
call sub.msi.dll_MsiEnumClientsA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xf9a
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 dword [esp + 4], 0xf9b
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0x93c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x220]
mov dword [esp], eax
mov eax, dword [ebp - 0x94c]
call eax
mov edx, 1
sub esp, 8
test eax, eax
jne 0x4b2cd0
lea eax, [ebp - 0x220]
mov dword [esp], edx
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x734]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], eax
mov dword [esp + 4], str.Expected__s_or__s__got__s_n
call fcn.0052b0e0
lea eax, [ebp - 0x220]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
lea eax, [ebp - 0x52c]
mov dword [esp], eax
mov byte [ebp - 0x220], 0
call sub.msi.dll_MsiEnumClientsA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xfa1
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 dword [esp + 4], 0xfa2
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0x93c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x220]
mov dword [esp], eax
mov eax, dword [ebp - 0x94c]
call eax
mov edx, 1
sub esp, 8
test eax, eax
jne 0x4b2d60
lea eax, [ebp - 0x220]
mov dword [esp], edx
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x734]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], eax
mov dword [esp + 4], str.Expected__s_or__s__got__s_n
call fcn.0052b0e0
lea eax, [ebp - 0x838]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x940]
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
lea eax, [ebp - 0x630]
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x940]
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov edi, dword [ebp - 0x950]
mov edx, 0x55fb90
sub esp, 8
mov eax, edi
and eax, 0x100
mov ecx, eax
mov dword [ebp - 0x950], eax
mov eax, dword [ebp - 0x940]
call fcn.00476540
mov eax, dword [ebp - 0x940]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, 0x5c6e
mov dword [ebp - 0x11c], 0x74666f53
sub esp, 4
mov word [ebp - 0xf4], ax
lea eax, [ebp - 0x324]
mov dword [esp + 4], eax
lea eax, [ebp - 0xcb]
mov dword [esp], eax
mov dword [ebp - 0x118], 0x65726177
mov dword [ebp - 0x114], 0x63694d5c
mov dword [ebp - 0x110], 0x6f736f72
mov dword [ebp - 0x10c], 0x575c7466
mov dword [ebp - 0x108], 0x6f646e69
mov dword [ebp - 0x104], 0x435c7377
mov dword [ebp - 0x100], 0x65727275
mov dword [ebp - 0xfc], 0x6556746e
mov dword [ebp - 0xf8], 0x6f697372
mov dword [ebp - 0xf2], 0x74736e49
mov dword [ebp - 0xee], 0x656c6c61
mov dword [ebp - 0xea], 0x73555c72
mov dword [ebp - 0xe6], 0x61447265
mov dword [ebp - 0xe2], 0x535c6174
mov dword [ebp - 0xde], 0x352d312d
mov dword [ebp - 0xda], 0x5c38312d
mov dword [ebp - 0xd6], 0x706d6f43
mov dword [ebp - 0xd2], 0x6e656e6f
mov dword [ebp - 0xce], 0x5c7374
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x940]
mov dword [esp + 0x14], edi
lea edi, [ebp - 0x220]
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x11c]
mov dword [esp + 0x20], 0
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
mov ebx, eax
mov dword [esp + 4], 0xfaf
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
lea eax, [ebp - 0x220]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x52c]
mov dword [esp], eax
mov byte [ebp - 0x220], 0
call sub.msi.dll_MsiEnumClientsA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xfb4
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x647
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Expected_ERROR_UNKNOWN_COMPONENT__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0xfb5
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0x220]
mov esi, dword [ebp - 0x94c]
mov dword [esp + 4], 0x55fb90
mov dword [esp], eax
call esi
lea edx, [ebp - 0x220]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp + 4], str.Expected_product_to_be_unchanged__got__s_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x220]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
lea eax, [ebp - 0x52c]
mov dword [esp], eax
mov byte [ebp - 0x220], 0
call sub.msi.dll_MsiEnumClientsA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xfba
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], 0xfbb
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0x220]
mov dword [esp + 4], 0x55fb90
mov dword [esp], eax
call esi
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_product_to_be_unchanged__got__s_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x838]
mov dword [esp + 0x14], 0xa
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x940]
mov dword [esp + 0x10], str.C:imapath
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0xfbe
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
lea eax, [ebp - 0x52c]
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov dword [esp], eax
mov byte [ebp - 0x220], 0
call sub.msi.dll_MsiEnumClientsA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xfc3
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 dword [esp + 4], 0xfc4
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0x93c]
mov dword [esp], edi
mov dword [esp + 4], eax
call esi
lea edx, [ebp - 0x93c]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp + 0xc], edi
mov dword [esp], eax
mov dword [esp + 4], 0x560117
call fcn.0052b0e0
lea eax, [ebp - 0x52c]
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov dword [esp], eax
mov byte [ebp - 0x220], 0
call sub.msi.dll_MsiEnumClientsA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xfc9
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
lea eax, [ebp - 0x52c]
mov dword [esp + 8], edi
mov dword [esp + 4], 1
mov dword [esp], eax
mov byte [ebp - 0x220], 0
call sub.msi.dll_MsiEnumClientsA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xfce
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x103
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x560e34
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0xfcf
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp], edi
mov dword [ebp - 0x94c], esi
mov dword [esp + 4], 0x55fb90
call esi
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_product_to_be_unchanged__got__s_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x630]
mov dword [esp + 0x14], 0xa
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x940]
mov dword [esp + 0x10], str.C:_another
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0xfd2
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
lea eax, [ebp - 0x52c]
mov dword [esp + 8], edi
mov edi, 0x56008a
mov dword [esp + 4], 1
mov dword [esp], eax
mov byte [ebp - 0x220], 0
call sub.msi.dll_MsiEnumClientsA
mov esi, dword [str.windows]
mov ecx, 5
sub esp, 0xc
mov ebx, eax
repe cmpsb byte [esi], byte es:[edi]
seta al
sbb al, 0
test al, al
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b250
mov esi, dword [ebp - 0x94c]
jmp 0x4b2ab5
mov dword [esp + 4], 0xfd9
lea edi, [ebp - 0x220]
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], 0xfda
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0x220]
mov dword [esp + 4], 0x55fb90
mov dword [esp], eax
call esi
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], edi
movzx eax, al
mov dword [esp + 4], str.Expected_product_to_be_unchanged__got__s_n
mov dword [esp], eax
call fcn.0052b0e0
call fcn.0052b2a0
call fcn.0052b280
test eax, eax
jne 0x4b2a34
lea eax, [ebp - 0x220]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x52c]
mov dword [esp], eax
mov byte [ebp - 0x220], 0
call sub.msi.dll_MsiEnumClientsA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xfe0
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 dword [esp + 4], 0xfe1
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0x93c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x220]
mov dword [esp], eax
mov eax, dword [ebp - 0x94c]
call eax
mov edx, 1
sub esp, 8
test eax, eax
jne 0x4b2d30
lea eax, [ebp - 0x220]
mov dword [esp], edx
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x734]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], eax
mov dword [esp + 4], str.Expected__s_or__s__got__s_n
call fcn.0052b0e0
lea eax, [ebp - 0x220]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
lea eax, [ebp - 0x52c]
mov dword [esp], eax
mov byte [ebp - 0x220], 0
call sub.msi.dll_MsiEnumClientsA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0xfe7
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 dword [esp + 4], 0xfe8
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0x93c]
mov dword [esp + 4], eax
lea eax, [ebp - 0x220]
mov dword [esp], eax
mov eax, dword [ebp - 0x94c]
call eax
mov edx, 1
sub esp, 8
test eax, eax
jne 0x4b2d00
lea eax, [ebp - 0x220]
mov dword [esp], edx
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x734]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x93c]
mov dword [esp + 8], eax
mov dword [esp + 4], str.Expected__s_or__s__got__s_n
call fcn.0052b0e0
lea eax, [ebp - 0x838]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x940]
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
lea eax, [ebp - 0x630]
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x940]
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov ecx, dword [ebp - 0x950]
mov eax, dword [ebp - 0x940]
mov edx, 0x55fb90
sub esp, 8
call fcn.00476540
mov eax, dword [ebp - 0x940]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x954]
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
lea eax, [ebp - 0x734]
mov dword [esp + 4], eax
lea eax, [ebp - 0x220]
mov dword [esp], eax
mov eax, dword [ebp - 0x94c]
call eax
xor edx, edx
sub esp, 8
test eax, eax
sete dl
jmp 0x4b2348
lea eax, [ebp - 0x734]
mov dword [esp + 4], eax
lea eax, [ebp - 0x220]
mov dword [esp], eax
mov eax, dword [ebp - 0x94c]
call eax
xor edx, edx
sub esp, 8
test eax, eax
sete dl
jmp 0x4b2c24
lea eax, [ebp - 0x734]
mov dword [esp + 4], eax
lea eax, [ebp - 0x220]
mov dword [esp], eax
mov eax, dword [ebp - 0x94c]
call eax
xor edx, edx
sub esp, 8
test eax, eax
sete dl
jmp 0x4b2b5c
lea eax, [ebp - 0x734]
mov dword [esp + 4], eax
lea eax, [ebp - 0x220]
mov dword [esp], eax
mov eax, dword [ebp - 0x94c]
call eax
xor edx, edx
sub esp, 8
test eax, eax
sete dl
jmp 0x4b2410
mov dword [esp + 4], 0xf65
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp], 0x55fb58
call fcn.0052b1d0
mov eax, dword [ebp - 0x954]
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