Function at 0x514b20
Capabilities:
Contain obfuscated stackstrings
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x57c
mov edx, dword [0x58bd98]
test edx, edx
je 0x517252
call fcn.004665f0
test eax, eax
jne 0x517200
lea esi, [ebp - 0x52c]
lea edx, [ebp - 0x428]
mov eax, esi
call fcn.005146f0
call fcn.00514a20
mov dword [ebp - 0x550], eax
test eax, eax
je 0x517230
cmp dword [0x58bda8], 1
mov edi, dword [ebp - 0x550]
mov dword [esp + 0x14], 0
sbb eax, eax
mov dword [esp + 0x10], str.C:_source
xor al, al
mov dword [esp + 4], edi
add eax, 0xf013f
mov dword [esp + 0xc], 2
mov dword [ebp - 0x554], eax
mov dword [esp + 8], 2
mov dword [esp], 0
call dword [0x58bd98]
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0x2c7
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x57
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Expected_ERROR_INVALID_PARAMETER__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], str.C:_source
mov dword [esp + 0xc], 2
mov dword [esp + 8], 2
mov dword [esp], 0x5886c6
call dword [0x58bd98]
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0x2cc
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x57
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Expected_ERROR_INVALID_PARAMETER__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], str.C:_source
mov dword [esp + 0xc], 2
mov dword [esp + 8], 2
mov dword [esp], str.garbage
call dword [0x58bd98]
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0x2d1
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x57
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Expected_ERROR_INVALID_PARAMETER__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], str.C:_source
mov dword [esp + 0xc], 2
mov dword [esp + 8], 2
mov dword [esp], 0x5886d0
call dword [0x58bd98]
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0x2d7
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x57
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Expected_ERROR_INVALID_PARAMETER__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], str.C:_source
mov dword [esp + 0xc], 2
mov dword [esp + 8], 2
mov dword [esp], str.51CD2AD5_0482_4C46_8DDD_0ED1022AA1AA
call dword [0x58bd98]
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0x2dd
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x645
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Expected_ERROR_UNKNOWN_PRODUCT__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], str.C:_source
mov dword [esp + 0xc], 2
mov dword [esp + 8], 2
call dword [0x58bd98]
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0x2e4
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x645
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Expected_ERROR_UNKNOWN_PRODUCT__got__d_n
lea ebx, [ebp - 0x220]
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x5c73
mov dword [ebp - 0x220], 0x74666f53
mov word [ebp - 0x1fc], ax
lea eax, [ebp - 0x428]
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 - 0x540]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp], 0x80000001
call sub.advapi32.dll_RegCreateKeyA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x2ea
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], str.C:_source
mov dword [esp + 0xc], 2
mov dword [esp + 8], 2
call dword [0x58bd98]
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0x2f0
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x64a
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Expected_ERROR_BAD_CONFIGURATION__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x538]
mov dword [esp + 4], str.SourceList
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x540]
mov dword [esp], eax
call sub.advapi32.dll_RegCreateKeyA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x2f3
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x538]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov dword [ebp - 0x550], edi
sub esp, 4
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], str.C:_source
mov dword [esp + 0xc], 2
mov dword [esp + 8], 2
call dword [0x58bd98]
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0x2fa
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x538]
mov dword [esp + 4], str.SourceListURL
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x540]
mov dword [esp], eax
call sub.advapi32.dll_RegOpenKeyA
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x2fd
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
lea ebx, [ebp - 0x324]
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x538]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5887ac
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x301
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x302
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [sym.imp.kernel32.dll_lstrcmpA]
mov dword [esp + 4], str.C:_source_
mov dword [esp], ebx
mov dword [ebp - 0x54c], eax
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_C:_source___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x303
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_11__got__d_n
cmp eax, 0xb
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov edi, dword [ebp - 0x550]
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 4], edi
mov dword [esp + 0x10], str.another
mov dword [esp + 0xc], 2
mov dword [esp + 8], 2
call dword [0x58bd98]
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x309
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x538]
lea edx, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5887ac
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x30d
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x30e
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [esp], ebx
mov eax, dword [ebp - 0x54c]
mov dword [esp + 4], str.C:_source_
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_C:_source___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x30f
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_11__got__d_n
cmp eax, 0xb
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x538]
lea ecx, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5887f8
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x313
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x314
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [esp], ebx
mov eax, dword [ebp - 0x54c]
mov dword [esp + 4], 0x5887fa
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_another___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x315
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_9__got__d_n
cmp eax, 9
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov edi, dword [ebp - 0x550]
mov dword [esp], esi
mov dword [esp + 0x14], 1
mov dword [esp + 4], edi
mov dword [esp + 0x10], str.third_
mov dword [esp + 0xc], 2
mov dword [esp + 8], 2
call dword [0x58bd98]
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x31b
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x538]
lea edx, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5887ac
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x31f
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x320
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [esp], ebx
mov eax, dword [ebp - 0x54c]
mov dword [esp + 4], str.third_
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_third___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x321
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_7__got__d_n
cmp eax, 7
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x538]
lea ecx, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5887f8
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x325
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x326
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [esp], ebx
mov eax, dword [ebp - 0x54c]
mov dword [esp + 4], str.C:_source_
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_C:_source___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x327
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_11__got__d_n
cmp eax, 0xb
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x538]
lea edx, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x58886a
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x32b
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x32c
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [esp], ebx
mov eax, dword [ebp - 0x54c]
mov dword [esp + 4], 0x5887fa
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_another___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x32d
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_9__got__d_n
cmp eax, 9
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov edi, dword [ebp - 0x550]
mov dword [esp], esi
mov dword [esp + 0x14], 5
mov dword [esp + 4], edi
mov dword [esp + 0x10], str.last_
mov dword [esp + 0xc], 2
mov dword [esp + 8], 2
call dword [0x58bd98]
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x333
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x538]
lea ecx, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5887ac
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x337
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x338
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [esp], ebx
mov eax, dword [ebp - 0x54c]
mov dword [esp + 4], str.third_
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_third___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x339
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_7__got__d_n
cmp eax, 7
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x538]
lea edx, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5887f8
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x33d
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x33e
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [esp], ebx
mov eax, dword [ebp - 0x54c]
mov dword [esp + 4], str.C:_source_
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_C:_source___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x33f
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_11__got__d_n
cmp eax, 0xb
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x538]
lea ecx, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x58886a
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x343
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x344
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [esp], ebx
mov eax, dword [ebp - 0x54c]
mov dword [esp + 4], 0x5887fa
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_another___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x345
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_9__got__d_n
cmp eax, 9
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x538]
lea edx, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x588872
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x349
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x34a
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [esp], ebx
mov eax, dword [ebp - 0x54c]
mov dword [esp + 4], str.last_
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_last___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x34b
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_6__got__d_n
cmp eax, 6
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov edi, dword [ebp - 0x550]
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 4], edi
mov dword [esp + 0x10], 0x5888a2
mov dword [esp + 0xc], 1
mov dword [esp + 8], 2
call dword [0x58bd98]
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x351
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x534]
mov dword [esp + 4], str.SourceListNet
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x540]
mov dword [esp], eax
call sub.advapi32.dll_RegOpenKeyA
sub esp, 0xc
mov edi, eax
mov dword [esp + 4], 0x354
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x534]
lea ecx, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5887ac
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x358
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x359
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [esp], ebx
mov eax, dword [ebp - 0x54c]
mov dword [esp + 4], 0x5888b8
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_source__got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x35a
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_8__got__d_n
cmp eax, 8
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov edi, dword [ebp - 0x550]
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 4], edi
mov dword [esp + 0x10], 0x5888a2
mov dword [esp + 0xc], 2
mov dword [esp + 8], 2
call dword [0x58bd98]
sub esp, 0x18
mov esi, eax
mov dword [esp + 4], 0x360
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x538]
lea edx, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5887ac
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov esi, eax
mov dword [esp + 4], 0x364
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x365
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov edi, dword [ebp - 0x54c]
mov dword [esp + 4], str.third_
mov dword [esp], ebx
call edi
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_third___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x366
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_7__got__d_n
cmp eax, 7
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x538]
lea ecx, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5887f8
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov esi, eax
mov dword [esp + 4], 0x36a
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x36b
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [esp + 4], str.C:_source_
mov dword [esp], ebx
call edi
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_C:_source___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x36c
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_11__got__d_n
cmp eax, 0xb
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x538]
lea edx, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x58886a
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov esi, eax
mov dword [esp + 4], 0x370
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x371
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [esp + 4], 0x5887fa
mov dword [esp], ebx
call edi
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_another___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x372
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_9__got__d_n
cmp eax, 9
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x538]
lea ecx, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x588872
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov esi, eax
mov dword [esp + 4], 0x376
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x377
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [esp + 4], str.last_
mov dword [esp], ebx
call edi
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_last___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x378
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_6__got__d_n
cmp eax, 6
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x538]
lea edx, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5888f0
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov esi, eax
mov dword [esp + 4], 0x37c
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
lea esi, [ebp - 0x52c]
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x37d
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [ebp - 0x54c], edi
mov dword [esp + 4], 0x5888f2
mov dword [esp], ebx
call edi
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_source___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x37e
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_8__got__d_n
cmp eax, 8
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], str.nousersid
mov dword [esp + 0xc], 1
mov dword [esp + 8], 2
mov dword [esp + 4], 0
mov dword [esp], esi
call dword [0x58bd98]
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x384
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x534]
lea ecx, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5887ac
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x388
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x389
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov edx, dword [ebp - 0x54c]
mov dword [esp + 4], 0x5888b8
mov dword [esp], ebx
call edx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_source__got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x38a
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_8__got__d_n
cmp eax, 8
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x534]
lea ecx, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5887f8
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x38e
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x38f
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov edx, dword [ebp - 0x54c]
mov dword [esp + 4], str.nousersid_
mov dword [esp], ebx
call edx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_nousersid__got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x390
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_11__got__d_n
cmp eax, 0xb
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov edi, dword [ebp - 0x550]
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 4], edi
mov dword [esp + 0x10], 0x5888a2
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
call dword [0x58bd98]
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x396
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x57
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_INVALID_PARAMETER__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov edi, dword [ebp - 0x550]
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 4], edi
mov dword [esp + 0x10], 0x5888a2
mov dword [esp + 0xc], 0x40000000
mov dword [esp + 8], 2
call dword [0x58bd98]
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x39b
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x57
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_INVALID_PARAMETER__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov edi, dword [ebp - 0x550]
mov dword [esp], esi
mov dword [esp + 0x14], 1
mov dword [esp + 4], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 2
mov dword [esp + 8], 2
call dword [0x58bd98]
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x3a1
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x57
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_INVALID_PARAMETER__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov edi, dword [ebp - 0x550]
mov dword [esp], esi
mov dword [esp + 0x14], 1
mov dword [esp + 4], edi
mov dword [esp + 0x10], 0x5886c6
mov dword [esp + 0xc], 2
mov dword [esp + 8], 2
call dword [0x58bd98]
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x3a7
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x57
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_INVALID_PARAMETER__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov edi, dword [ebp - 0x550]
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 4], edi
mov dword [esp + 0x10], str.C:_source
mov dword [esp + 0xc], 2
mov dword [esp + 8], 1
call dword [0x58bd98]
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x3ae
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x645
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_UNKNOWN_PRODUCT__got__d_n
lea edi, [ebp - 0x220]
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x550]
mov dword [ebp - 0x220], 0x74666f53
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 - 0x1f8], 0x6e495c6e
mov dword [ebp - 0x1f4], 0x6c617473
mov dword [ebp - 0x1f0], 0x5c72656c
mov dword [ebp - 0x1ec], 0x616e614d
mov dword [ebp - 0x1e8], 0x5c646567
call sub.msvcrt.dll_strcpy
mov edx, edi
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x516690
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
sbb edx, 3
sub edx, edi
lea eax, [edi + edx]
mov dword [eax], 0x736e495c
mov dword [eax + 4], 0x6c6c6174
mov dword [eax + 8], 0x505c7265
mov dword [eax + 0xc], 0x75646f72
mov dword [eax + 0x10], 0x5c737463
lea eax, [ebp - 0x428]
mov dword [esp + 4], eax
lea eax, [edi + edx + 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x544]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x554]
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 + 4], edi
mov dword [esp], 0x80000002
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
test eax, eax
jne 0x5172a5
mov eax, dword [ebp - 0x550]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], str.C:_source
mov dword [esp + 0xc], 2
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [0x58bd98]
sub esp, 0x18
mov dword [ebp - 0x558], eax
mov dword [esp + 4], 0x3c0
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x558]
mov dword [esp + 4], str.Expected_ERROR_BAD_CONFIGURATION__got__d_n
cmp eax, 0x64a
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x53c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x554]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x544]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.SourceList
mov dword [esp], eax
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov dword [ebp - 0x558], eax
mov dword [esp + 4], 0x3c3
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x558]
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x53c]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov edx, dword [ebp - 0x550]
sub esp, 4
mov dword [esp + 4], edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], str.C:_source
mov dword [esp + 0xc], 2
mov dword [esp + 8], 1
mov dword [esp], esi
call dword [0x58bd98]
sub esp, 0x18
mov dword [ebp - 0x558], eax
mov dword [esp + 4], 0x3ca
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x558]
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x554]
lea edx, [ebp - 0x538]
mov dword [esp + 8], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x544]
mov dword [esp + 4], str.SourceListURL
mov dword [esp], eax
call sub.advapi32.dll_RegOpenKeyExA
sub esp, 0x14
mov dword [ebp - 0x558], eax
mov dword [esp + 4], 0x3cd
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x558]
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x538]
lea edx, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5887ac
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov dword [ebp - 0x558], eax
mov dword [esp + 4], 0x3d1
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x558]
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x3d2
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov ecx, dword [ebp - 0x54c]
mov dword [esp + 4], str.C:_source_
mov dword [esp], ebx
call ecx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_C:_source___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x3d3
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_11__got__d_n
cmp eax, 0xb
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x538]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
sub esp, 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], str.another
mov dword [esp + 0xc], 2
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], esi
call dword [0x58bd98]
sub esp, 0x18
mov dword [ebp - 0x558], eax
mov dword [esp + 4], 0x3dc
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x558]
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x554]
lea edx, [ebp - 0x538]
mov dword [esp + 8], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x544]
mov dword [esp + 4], str.SourceListURL
mov dword [esp], eax
call sub.advapi32.dll_RegOpenKeyExA
sub esp, 0x14
mov dword [ebp - 0x558], eax
mov dword [esp + 4], 0x3df
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x558]
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x538]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5887ac
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov dword [ebp - 0x558], eax
mov dword [esp + 4], 0x3e3
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x558]
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x3e4
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov ecx, dword [ebp - 0x54c]
mov dword [esp + 4], str.C:_source_
mov dword [esp], ebx
call ecx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_C:_source___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x3e5
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_11__got__d_n
cmp eax, 0xb
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x538]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5887f8
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov dword [ebp - 0x558], eax
mov dword [esp + 4], 0x3e9
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x558]
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x3ea
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov ecx, dword [ebp - 0x54c]
mov dword [esp + 4], 0x5887fa
mov dword [esp], ebx
call ecx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_another___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x3eb
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_9__got__d_n
cmp eax, 9
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x538]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x544]
sub esp, 4
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
sub esp, 4
mov eax, dword [ebp - 0x550]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], str.C:_source
mov dword [esp + 0xc], 2
mov dword [esp + 8], 4
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [0x58bd98]
sub esp, 0x18
mov dword [ebp - 0x558], eax
mov dword [esp + 4], 0x3f7
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x558]
mov dword [esp + 4], str.Expected_ERROR_INVALID_PARAMETER__got__d_n
cmp eax, 0x57
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], str.C:_source
mov dword [esp + 0xc], 2
mov dword [esp + 8], 4
mov dword [esp + 4], 0
mov dword [esp], esi
call dword [0x58bd98]
sub esp, 0x18
mov dword [ebp - 0x558], eax
mov dword [esp + 4], 0x3fc
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x558]
mov dword [esp + 4], str.Expected_ERROR_UNKNOWN_PRODUCT__got__d_n
cmp eax, 0x645
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x428]
mov dword [ebp - 0x220], 0x74666f53
mov dword [esp + 4], eax
lea eax, [ebp - 0x1fc]
mov dword [esp], eax
mov dword [ebp - 0x21c], 0x65726177
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 - 0x544]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x554]
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 + 4], edi
mov dword [esp], 0x80000002
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
test eax, eax
jne 0x5172e0
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], str.C:_source
mov dword [esp + 0xc], 2
mov dword [esp + 8], 4
mov dword [esp + 4], 0
call dword [0x58bd98]
sub esp, 0x18
mov edi, eax
mov dword [esp + 4], 0x40d
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x64a
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_BAD_CONFIGURATION__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x53c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x554]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x544]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], str.SourceList
mov dword [esp], eax
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov edi, eax
mov dword [esp + 4], 0x410
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x53c]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
sub esp, 4
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], str.C:_source
mov dword [esp + 0xc], 2
mov dword [esp + 8], 4
mov dword [esp + 4], 0
call dword [0x58bd98]
sub esp, 0x18
mov esi, eax
cmp eax, 5
je 0x517280
mov dword [esp + 4], 0x41b
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x538]
mov dword [esp + 8], 0
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x554]
mov dword [esp + 4], str.SourceListURL
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x544]
mov dword [esp], eax
call sub.advapi32.dll_RegOpenKeyExA
sub esp, 0x14
mov esi, eax
mov dword [esp + 4], 0x41e
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x530]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x538]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5887ac
mov dword [esp], eax
mov dword [ebp - 0x530], 0x104
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov esi, eax
mov dword [esp + 4], 0x422
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Expected_ERROR_SUCCESS__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x423
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [esp], ebx
mov eax, dword [ebp - 0x54c]
mov dword [esp + 4], str.C:_source_
call eax
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.Expected_C:_source___got__s_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x424
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x530]
mov dword [esp + 4], str.Expected_11__got__d_n
cmp eax, 0xb
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x538]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x544]
sub esp, 4
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
sub esp, 4
mov eax, dword [ebp - 0x550]
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], 0x2b4
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [esp], str.process_is_limited_n
call fcn.0052b1d0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x2bb
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [esp], str.User_SID_not_available____skipping_MsiSourceListAddSourceExA_tests_n
call fcn.0052b1d0
jmp 0x5171f6
mov dword [esp + 4], 0x2af
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [esp], str.Skipping_MsiSourceListAddSourceExA_tests_n
call fcn.0052b1f0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x418
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [esp], str.MsiSourceListAddSourceEx__insufficient_privileges__n
call fcn.0052b1d0
jmp 0x5171e4
mov dword [esp + 4], 0x3b8
mov dword [esp], str..._wine_dlls_msi_tests_source.c
mov dword [ebp - 0x558], eax
call fcn.0052ae70
mov eax, dword [ebp - 0x558]
mov dword [esp], str.Product_key_creation_failed_with_error_code__u_n
mov dword [esp + 4], eax
call fcn.0052b1d0
jmp 0x516d50
mov dword [esp + 4], 0x404
mov dword [esp], str..._wine_dlls_msi_tests_source.c
mov dword [ebp - 0x54c], eax
call fcn.0052ae70
mov eax, dword [ebp - 0x54c]
mov dword [esp], str.Product_key_creation_failed_with_error_code__u_n
mov dword [esp + 4], eax
call fcn.0052b1d0
mov eax, dword [ebp - 0x550]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_LocalFree]
sub esp, 4
jmp 0x5171f6