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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x428]
lea edx, [ebp - 0x324]
push ebx
mov eax, edi
sub esp, 0x48c
call fcn.0047cb90
call fcn.00477380
cmp dword [0x58b784], 1
mov dword [ebp - 0x454], eax
sbb eax, eax
mov esi, dword fs:[0x18]
mov dword [esi + 0x34], 0xdeadbeef
xor al, al
mov dword [esp], 0
add eax, 0xf013f
mov dword [ebp - 0x44c], eax
call sub.msi.dll_MsiQueryProductStateA
mov ebx, dword [esi + 0x34]
sub esp, 4
mov dword [ebp - 0x450], eax
mov dword [esp + 4], 0x50c
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x450]
mov dword [esp + 4], str.Expected_INSTALLSTATE_INVALIDARG__got__d_n
cmp eax, 0xfffffffe
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x50d
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0xdeadbeef
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_0xdeadbeef__got__u_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp], 0x55fb90
call sub.msi.dll_MsiQueryProductStateA
mov ebx, dword [esi + 0x34]
sub esp, 4
mov dword [ebp - 0x450], eax
mov dword [esp + 4], 0x513
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x450]
mov dword [esp + 4], str.Expected_INSTALLSTATE_INVALIDARG__got__d_n
cmp eax, 0xfffffffe
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x514
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0xdeadbeef
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_0xdeadbeef__got__u_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp], 0x560220
call sub.msi.dll_MsiQueryProductStateA
mov ebx, dword [esi + 0x34]
sub esp, 4
mov dword [ebp - 0x450], eax
mov dword [esp + 4], 0x51a
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x450]
mov dword [esp + 4], str.Expected_INSTALLSTATE_INVALIDARG__got__d_n
cmp eax, 0xfffffffe
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x51b
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0xdeadbeef
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_0xdeadbeef__got__u_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp], 0x560228
call sub.msi.dll_MsiQueryProductStateA
mov ebx, dword [esi + 0x34]
sub esp, 4
mov dword [ebp - 0x450], eax
mov dword [esp + 4], 0x521
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x450]
mov dword [esp + 4], str.Expected_INSTALLSTATE_INVALIDARG__got__d_n
cmp eax, 0xfffffffe
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x522
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0xdeadbeef
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_0xdeadbeef__got__u_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp], str.6700E8CF_95AB_4D9C_BC2C_15840DEA7A5D
call sub.msi.dll_MsiQueryProductStateA
mov ebx, dword [esi + 0x34]
sub esp, 4
mov dword [ebp - 0x450], eax
mov dword [esp + 4], 0x528
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x450]
mov dword [esp + 4], str.Expected_INSTALLSTATE_UNKNOWN__got__d_n
cmp eax, 0xffffffff
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x529
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], 0x560404
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp], str.A938G02JF_2NF3N93_VN3_2NNF_3KGKALDNF93
call sub.msi.dll_MsiQueryProductStateA
mov ebx, dword [esi + 0x34]
sub esp, 4
mov dword [ebp - 0x450], eax
mov dword [esp + 4], 0x52f
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x450]
mov dword [esp + 4], str.Expected_INSTALLSTATE_UNKNOWN__got__d_n
cmp eax, 0xffffffff
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x530
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0xdeadbeef
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.expected_0xdeadbeef__got__u_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp], edi
call sub.msi.dll_MsiQueryProductStateA
mov ebx, dword [esi + 0x34]
sub esp, 4
mov dword [ebp - 0x450], eax
mov dword [esp + 4], 0x537
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x450]
mov dword [esp + 4], str.Expected_INSTALLSTATE_UNKNOWN__got__d_n
cmp eax, 0xffffffff
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x538
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], 0x560404
lea ebx, [ebp - 0x220]
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x5c73
lea ecx, [ebp - 0x324]
mov dword [ebp - 0x220], 0x74666f53
mov word [ebp - 0x1fc], ax
lea eax, [ebp - 0x1fa]
mov dword [esp + 4], ecx
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 - 0x43c]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp], 0x80000001
call sub.advapi32.dll_RegCreateKeyA
sub esp, 0xc
mov dword [ebp - 0x450], eax
mov dword [esp + 4], 0x53e
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x450]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp], edi
call sub.msi.dll_MsiQueryProductStateA
mov edx, dword [esi + 0x34]
sub esp, 4
mov dword [ebp - 0x458], eax
mov dword [esp + 4], 0x544
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
mov dword [ebp - 0x450], edx
call fcn.0052ae70
mov eax, dword [ebp - 0x458]
mov dword [esp + 4], str.Expected_INSTALLSTATE_ADVERTISED__got__d_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x545
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0x450]
xor eax, eax
mov dword [esp + 4], 0x560404
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x1ec]
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [ebp - 0x220], 0x74666f53
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 - 0x1f8], 0x6e555c6e
mov dword [ebp - 0x1f4], 0x74736e69
mov dword [ebp - 0x1f0], 0x5c6c6c61
call sub.msvcrt.dll_strcpy
mov eax, dword [ebp - 0x44c]
lea ecx, [ebp - 0x438]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 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 + 4], ebx
mov dword [esp], 0x80000002
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
cmp eax, 5
je 0x47e6a0
mov dword [esp + 4], 0x553
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
mov dword [ebp - 0x450], eax
call fcn.0052ae70
mov eax, dword [ebp - 0x450]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp], edi
call sub.msi.dll_MsiQueryProductStateA
mov edx, dword [esi + 0x34]
sub esp, 4
mov dword [ebp - 0x458], eax
mov dword [esp + 4], 0x559
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
mov dword [ebp - 0x450], edx
call fcn.0052ae70
mov eax, dword [ebp - 0x458]
mov dword [esp + 4], str.Expected_INSTALLSTATE_ADVERTISED__got__d_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x55a
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0x450]
xor eax, eax
mov dword [esp + 4], 0x560404
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x42c]
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x438]
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.WindowsInstaller
mov dword [esp], eax
mov dword [ebp - 0x42c], 1
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov dword [ebp - 0x450], eax
mov dword [esp + 4], 0x55e
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x450]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp], edi
call sub.msi.dll_MsiQueryProductStateA
mov esi, dword [esi + 0x34]
sub esp, 4
mov dword [ebp - 0x450], eax
mov dword [esp + 4], 0x564
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x450]
mov dword [esp + 4], str.Expected_INSTALLSTATE_ADVERTISED__got__d_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x565
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x560404
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x438]
mov dword [esp + 4], str.WindowsInstaller
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov eax, dword [ebp - 0x44c]
mov edx, 0x55fb90
sub esp, 8
and eax, 0x100
mov ecx, eax
mov dword [ebp - 0x450], eax
mov eax, dword [ebp - 0x438]
call fcn.00476540
mov eax, dword [ebp - 0x454]
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 dword [ebp - 0x1f8], 0x6e495c6e
mov dword [ebp - 0x1f4], 0x6c617473
mov dword [ebp - 0x1f0], 0x5c72656c
mov dword [ebp - 0x1ec], 0x72657355
mov dword [ebp - 0x1e8], 0x61746144
mov byte [ebp - 0x1e4], 0x5c
call sub.msvcrt.dll_strcpy
mov edx, ebx
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x47d5ee
mov ecx, eax
mov esi, 0x5c73
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, ebx
lea eax, [ebx + edx]
mov word [eax + 8], si
mov dword [eax], 0x6f72505c
mov dword [eax + 4], 0x74637564
lea eax, [ebp - 0x324]
mov dword [esp + 4], eax
lea eax, [ebx + edx + 0xa]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x438]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x44c]
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], ebx
mov dword [esp], 0x80000002
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov esi, eax
cmp eax, 5
je 0x47e770
mov dword [esp + 4], 0x578
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
mov esi, dword fs:[0x18]
call fcn.0052b0e0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp], edi
call sub.msi.dll_MsiQueryProductStateA
mov edx, dword [esi + 0x34]
sub esp, 4
mov dword [ebp - 0x45c], eax
mov dword [esp + 4], 0x57e
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
mov dword [ebp - 0x458], edx
call fcn.0052ae70
mov eax, dword [ebp - 0x45c]
mov dword [esp + 4], str.Expected_INSTALLSTATE_ADVERTISED__got__d_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x57f
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0x458]
xor eax, eax
mov dword [esp + 4], 0x560404
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x434]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x44c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x438]
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 dword [ebp - 0x458], eax
mov dword [esp + 4], 0x582
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x458]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp], edi
call sub.msi.dll_MsiQueryProductStateA
mov edx, dword [esi + 0x34]
sub esp, 4
mov dword [ebp - 0x45c], eax
mov dword [esp + 4], 0x588
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
mov dword [ebp - 0x458], edx
call fcn.0052ae70
mov eax, dword [ebp - 0x45c]
mov dword [esp + 4], str.Expected_INSTALLSTATE_ADVERTISED__got__d_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x589
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0x458]
xor eax, eax
mov dword [esp + 4], 0x560404
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x42c]
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x434]
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.WindowsInstaller
mov dword [esp], eax
mov dword [ebp - 0x42c], 1
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov dword [ebp - 0x458], eax
mov dword [esp + 4], 0x58d
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x458]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp], edi
call sub.msi.dll_MsiQueryProductStateA
sub esp, 4
cmp eax, 1
je 0x47e6e1
mov edx, dword [esi + 0x34]
mov dword [esp + 4], 0x5a0
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
mov dword [ebp - 0x458], edx
mov dword [ebp - 0x45c], eax
call fcn.0052ae70
mov eax, dword [ebp - 0x45c]
mov dword [esp + 4], str.Expected_INSTALLSTATE_DEFAULT__got__d_n
cmp eax, 5
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x5a1
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0x458]
xor eax, eax
mov dword [esp + 4], 0x560404
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x42c]
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x434]
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.WindowsInstaller
mov dword [esp], eax
mov dword [ebp - 0x42c], 2
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov dword [ebp - 0x458], eax
mov dword [esp + 4], 0x5a5
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x458]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp], edi
call sub.msi.dll_MsiQueryProductStateA
mov edx, dword [esi + 0x34]
sub esp, 4
mov dword [ebp - 0x45c], eax
mov dword [esp + 4], 0x5ab
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
mov dword [ebp - 0x458], edx
call fcn.0052ae70
mov eax, dword [ebp - 0x45c]
mov dword [esp + 4], str.Expected_INSTALLSTATE_DEFAULT__got__d_n
cmp eax, 5
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x5ac
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov edx, dword [ebp - 0x458]
xor eax, eax
mov dword [esp + 4], 0x560404
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x43c]
mov dword [esp + 4], 0x55fb90
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteKeyA
mov dword [esi + 0x34], 0xdeadbeef
sub esp, 8
mov dword [esp], edi
call sub.msi.dll_MsiQueryProductStateA
mov esi, dword [esi + 0x34]
sub esp, 4
mov dword [ebp - 0x458], eax
mov dword [esp + 4], 0x5b4
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x458]
mov dword [esp + 4], str.Expected_INSTALLSTATE_ABSENT__got__d_n
cmp eax, 2
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x5b5
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x560404
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x434]
mov dword [esp + 4], str.WindowsInstaller
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov esi, dword [ebp - 0x450]
mov eax, dword [ebp - 0x434]
mov edx, 0x55fb90
sub esp, 8
mov ecx, esi
call fcn.00476540
mov eax, dword [ebp - 0x434]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x438]
mov edx, 0x55fb90
mov ecx, esi
sub esp, 4
call fcn.00476540
mov eax, dword [ebp - 0x438]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x43c]
sub esp, 4
mov dword [esp + 4], 0x55fb90
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteKeyA
mov eax, dword [ebp - 0x43c]
sub esp, 8
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x454]
mov dword [ebx], 0x74666f53
sub esp, 4
mov dword [ebx + 4], 0x65726177
mov dword [ebx + 8], 0x63694d5c
mov dword [ebx + 0xc], 0x6f736f72
mov dword [ebx + 0x10], 0x575c7466
mov dword [ebx + 0x14], 0x6f646e69
mov dword [ebx + 0x18], 0x435c7377
mov dword [ebx + 0x1c], 0x65727275
mov dword [ebx + 0x20], 0x6556746e
mov dword [ebx + 0x24], 0x6f697372
mov dword [ebx + 0x28], 0x6e495c6e
mov dword [ebx + 0x2c], 0x6c617473
mov dword [ebx + 0x30], 0x5c72656c
mov dword [ebx + 0x34], 0x616e614d
mov dword [ebx + 0x38], 0x5c646567
mov dword [esp + 4], eax
lea eax, [ebp - 0x1e4]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov edx, ebx
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x47dc5a
mov ecx, eax
lea esi, [ebp - 0x430]
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, ebx
lea eax, [ebx + 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 - 0x324]
mov dword [esp + 4], eax
lea eax, [ebx + edx + 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
mov eax, dword [ebp - 0x44c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], esi
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], ebx
mov dword [esp], 0x80000002
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov dword [ebp - 0x458], eax
mov dword [esp + 4], 0x5c7
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x458]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp], edi
call sub.msi.dll_MsiQueryProductStateA
sub esp, 4
mov dword [ebp - 0x458], eax
mov dword [esp + 4], 0x5ca
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x458]
mov dword [esp + 4], str.Expected_INSTALLSTATE_ADVERTISED__got__d_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x454]
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 dword [ebp - 0x1f8], 0x6e495c6e
mov dword [ebp - 0x1f4], 0x6c617473
mov dword [ebp - 0x1f0], 0x5c72656c
mov dword [ebp - 0x1ec], 0x72657355
mov dword [ebp - 0x1e8], 0x61746144
mov byte [ebp - 0x1e4], 0x5c
call sub.msvcrt.dll_strcpy
mov edx, ebx
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x47de51
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
mov ecx, 0x5c73
sbb edx, 3
sub edx, ebx
lea eax, [ebx + 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, [ebx + edx + 0xa]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x438]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x44c]
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], ebx
mov dword [esp], 0x80000002
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov dword [ebp - 0x458], eax
mov dword [esp + 4], 0x5d3
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x458]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp], edi
call sub.msi.dll_MsiQueryProductStateA
sub esp, 4
mov dword [ebp - 0x458], eax
mov dword [esp + 4], 0x5d6
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x458]
mov dword [esp + 4], str.Expected_INSTALLSTATE_ADVERTISED__got__d_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x44c]
lea ecx, [ebp - 0x434]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x438]
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 dword [ebp - 0x458], eax
mov dword [esp + 4], 0x5da
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x458]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp], edi
call sub.msi.dll_MsiQueryProductStateA
sub esp, 4
mov dword [ebp - 0x458], eax
mov dword [esp + 4], 0x5dd
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x458]
mov dword [esp + 4], str.Expected_INSTALLSTATE_ADVERTISED__got__d_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x434]
lea ecx, [ebp - 0x42c]
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.WindowsInstaller
mov dword [esp], eax
mov dword [ebp - 0x42c], 1
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov dword [ebp - 0x458], eax
mov dword [esp + 4], 0x5e2
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x458]
mov dword [esp + 4], 0x5600bc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp], edi
call sub.msi.dll_MsiQueryProductStateA
sub esp, 4
mov dword [ebp - 0x458], eax
mov dword [esp + 4], 0x5e6
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x458]
mov dword [esp + 4], str.Expected_INSTALLSTATE_DEFAULT__got__d_n
cmp eax, 5
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x434]
mov dword [esp + 4], str.WindowsInstaller
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov ecx, dword [ebp - 0x450]
mov eax, dword [ebp - 0x434]
mov edx, 0x55fb90
sub esp, 8
call fcn.00476540
mov eax, dword [ebp - 0x434]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov ecx, dword [ebp - 0x450]
mov eax, dword [ebp - 0x438]
mov edx, 0x55fb90
sub esp, 4
call fcn.00476540
mov eax, dword [ebp - 0x438]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov ecx, dword [ebp - 0x450]
mov eax, dword [ebp - 0x430]
mov edx, 0x55fb90
sub esp, 4
call fcn.00476540
mov eax, dword [ebp - 0x430]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
lea ecx, [ebp - 0x324]
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x220], 0x74666f53
mov dword [ebp - 0x21c], 0x65726177
sub esp, 4
mov dword [esp + 4], ecx
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
mov eax, dword [ebp - 0x44c]
mov dword [esp + 0x1c], esi
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 + 4], ebx
mov dword [esp], 0x80000002
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov esi, eax
cmp eax, 5
je 0x47e795
mov dword [esp + 4], 0x5fc
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x5600bc
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp], edi
call sub.msi.dll_MsiQueryProductStateA
sub esp, 4
mov esi, eax
mov dword [esp + 4], 0x5ff
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp esi, 1
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Expected_INSTALLSTATE_ADVERTISED__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, 0x5c73
mov dword [ebp - 0x220], 0x74666f53
mov word [ebp - 0x1d3], 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 - 0x1f8], 0x6e495c6e
mov dword [ebp - 0x1f4], 0x6c617473
mov dword [ebp - 0x1f0], 0x5c72656c
mov dword [ebp - 0x1ec], 0x72657355
mov dword [ebp - 0x1e8], 0x61746144
mov byte [ebp - 0x1e4], 0x5c
mov dword [ebp - 0x1e3], 0x2d312d53
mov dword [ebp - 0x1df], 0x38312d35
mov dword [ebp - 0x1db], 0x6f72505c
mov dword [ebp - 0x1d7], 0x74637564
call sub.msvcrt.dll_strcpy
mov esi, dword [ebp - 0x44c]
lea eax, [ebp - 0x438]
mov dword [esp + 4], ebx
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], esi
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 ebx, eax
mov dword [esp + 4], 0x606
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], edi
call sub.msi.dll_MsiQueryProductStateA
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0x609
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 1
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Expected_INSTALLSTATE_ADVERTISED__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x434]
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x438]
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], 0x56071f
mov dword [esp], eax
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0x60d
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], edi
call sub.msi.dll_MsiQueryProductStateA
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0x610
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 1
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Expected_INSTALLSTATE_ADVERTISED__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x42c]
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x434]
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0
mov dword [esp + 4], str.WindowsInstaller
mov dword [esp], eax
mov dword [ebp - 0x42c], 1
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0x615
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], edi
call sub.msi.dll_MsiQueryProductStateA
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0x619
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 5
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Expected_INSTALLSTATE_DEFAULT__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x434]
mov dword [esp + 4], str.WindowsInstaller
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov edi, dword [ebp - 0x450]
mov eax, dword [ebp - 0x434]
mov edx, 0x55fb90
sub esp, 8
mov ecx, edi
call fcn.00476540
mov eax, dword [ebp - 0x434]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x438]
mov ecx, edi
mov edx, 0x55fb90
sub esp, 4
call fcn.00476540
mov eax, dword [ebp - 0x438]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x430]
mov ecx, edi
mov edx, 0x55fb90
sub esp, 4
call fcn.00476540
mov eax, dword [ebp - 0x430]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x454]
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 + 4], 0x54d
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp], 0x55fb58
call fcn.0052b1d0
mov eax, dword [ebp - 0x43c]
mov dword [esp + 4], 0x55fb90
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteKeyA
mov eax, dword [ebp - 0x43c]
sub esp, 8
jmp 0x47e67a
mov dword [esp + 4], 0x595
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp], str.broken_result_n
call fcn.0052b1f0
mov eax, dword [ebp - 0x434]
mov dword [esp + 4], str.WindowsInstaller
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov edi, dword [ebp - 0x450]
mov eax, dword [ebp - 0x434]
mov edx, 0x55fb90
sub esp, 8
mov ecx, edi
call fcn.00476540
mov eax, dword [ebp - 0x434]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x438]
mov ecx, edi
mov edx, 0x55fb90
sub esp, 4
call fcn.00476540
mov eax, dword [ebp - 0x438]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
sub esp, 4
jmp 0x47e6c0
mov dword [esp + 4], 0x572
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp], 0x55fb58
call fcn.0052b1d0
jmp 0x47e6c0
mov dword [esp + 4], 0x5f8
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp], 0x56078e
call fcn.0052b1d0
mov eax, dword [ebp - 0x454]
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