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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x46c
mov edx, dword [0x58bd9c]
test edx, edx
je 0x523782
call fcn.004665f0
test eax, eax
jne 0x523734
lea esi, [ebp - 0x428]
lea edx, [ebp - 0x324]
mov eax, esi
call fcn.005146f0
call fcn.00514a20
mov ebx, eax
test eax, eax
je 0x523760
cmp dword [0x58bda8], 1
mov dword [esp + 0x18], str.prompt
sbb edi, edi
mov dword [esp + 0x14], str.label
mov dword [esp + 0x10], 1
and edi, 0xffffff00
mov dword [esp + 0xc], 0
add edi, 0xf013f
mov dword [esp + 8], 2
mov dword [esp + 4], eax
mov dword [esp], 0
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x871
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 + 0x18], str.prompt
mov dword [esp + 0x14], str.label
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], 0x5886c6
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x877
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 + 0x18], str.prompt
mov dword [esp + 0x14], str.label
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], str.garbage
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x87d
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 + 0x18], str.prompt
mov dword [esp + 0x14], str.label
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], 0x5886d0
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x884
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 + 0x18], str.prompt
mov dword [esp + 0x14], str.label
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], str.51CD2AD5_0482_4C46_8DDD_0ED1022AA1AA
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x88b
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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
mov dword [esp + 0x18], str.prompt
mov dword [esp + 0x14], str.label
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], str.51CD2AD5_0482_4C46_8DDD_0ED1022AA1AA
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x893
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 + 0x18], str.prompt
mov dword [esp + 0x14], str.label
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 2
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], str.51CD2AD5_0482_4C46_8DDD_0ED1022AA1AA
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x89b
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 + 0x18], str.prompt
mov dword [esp + 0x14], str.label
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 4
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], str.51CD2AD5_0482_4C46_8DDD_0ED1022AA1AA
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x8a3
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 eax, 0x5c73
mov dword [ebp - 0x220], 0x74666f53
mov word [ebp - 0x1fc], ax
lea eax, [ebp - 0x324]
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 - 0x434]
mov dword [esp], 0x80000001
mov dword [esp + 8], eax
lea eax, [ebp - 0x220]
mov dword [esp + 4], eax
call sub.advapi32.dll_RegCreateKeyA
sub esp, 0xc
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x8ac
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 + 0x18], str.prompt
mov dword [esp + 0x14], str.label
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], esi
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x8b2
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 - 0x42c]
mov dword [esp + 4], str.SourceList
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x434]
mov dword [esp], eax
call sub.advapi32.dll_RegCreateKeyA
sub esp, 0xc
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x8b6
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 + 0x18], str.prompt
mov dword [esp + 0x14], str.label
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], esi
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x8bc
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 - 0x430]
mov dword [esp + 4], str.Media
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x42c]
mov dword [esp], eax
call sub.advapi32.dll_RegOpenKeyA
sub esp, 0xc
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x8c0
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 - 0x430]
mov ecx, str.label_prompt
mov dword [esp], 0x8c2
mov edx, 0x5887ac
call fcn.005209e0
mov dword [esp + 0x18], str.prompt42
mov dword [esp + 0x14], str.label42
mov dword [esp + 0x10], 0x2a
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], esi
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x8c8
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 - 0x430]
mov ecx, str.label_prompt
mov dword [esp], 0x8ca
mov edx, 0x5887ac
call fcn.005209e0
mov eax, dword [ebp - 0x430]
mov ecx, str.label42_prompt42
mov dword [esp], 0x8cb
mov edx, 0x588fdb
call fcn.005209e0
mov dword [esp + 0x18], str.prompt0
mov dword [esp + 0x14], str.label0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], esi
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x8d1
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 - 0x430]
mov ecx, str.label0_prompt0
mov dword [esp], 0x8d3
mov edx, 0x588ffc
call fcn.005209e0
mov eax, dword [ebp - 0x430]
mov ecx, str.label_prompt
mov dword [esp], 0x8d4
mov edx, 0x5887ac
call fcn.005209e0
mov eax, dword [ebp - 0x430]
mov ecx, str.label42_prompt42
mov dword [esp], 0x8d5
mov edx, 0x588fdb
call fcn.005209e0
mov dword [esp + 0x18], str.prompt_1
mov dword [esp + 0x14], str.label_1
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], esi
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x8db
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 - 0x430]
mov ecx, str.label_1_prompt_1
mov dword [esp], 0x8dd
mov edx, 0x589020
call fcn.005209e0
mov eax, dword [ebp - 0x430]
mov ecx, str.label0_prompt0
mov dword [esp], 0x8de
mov edx, 0x588ffc
call fcn.005209e0
mov eax, dword [ebp - 0x430]
mov ecx, str.label_prompt
mov dword [esp], 0x8df
mov edx, 0x5887ac
call fcn.005209e0
mov eax, dword [ebp - 0x430]
mov ecx, str.label42_prompt42
mov dword [esp], 0x8e0
mov edx, 0x588fdb
call fcn.005209e0
mov dword [esp + 0x18], str.newprompt
mov dword [esp + 0x14], str.newlabel
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], esi
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x8e6
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 - 0x430]
mov ecx, str.label_1_prompt_1
mov dword [esp], 0x8e8
mov edx, 0x589020
call fcn.005209e0
mov eax, dword [ebp - 0x430]
mov ecx, str.label0_prompt0
mov dword [esp], 0x8e9
mov edx, 0x588ffc
call fcn.005209e0
mov eax, dword [ebp - 0x430]
mov ecx, str.newlabel_newprompt
mov dword [esp], 0x8ea
mov edx, 0x5887ac
call fcn.005209e0
mov eax, dword [ebp - 0x430]
mov ecx, str.label42_prompt42
mov dword [esp], 0x8eb
mov edx, 0x588fdb
call fcn.005209e0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], str.etiqueta
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], esi
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x8f1
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 - 0x430]
mov ecx, str.label_1_prompt_1
mov dword [esp], 0x8f3
mov edx, 0x589020
call fcn.005209e0
mov eax, dword [ebp - 0x430]
mov ecx, str.label0_prompt0
mov dword [esp], 0x8f4
mov edx, 0x588ffc
call fcn.005209e0
mov eax, dword [ebp - 0x430]
mov ecx, str.etiqueta_
mov dword [esp], 0x8f5
mov edx, 0x5887ac
call fcn.005209e0
mov eax, dword [ebp - 0x430]
mov ecx, str.label42_prompt42
mov dword [esp], 0x8f6
mov edx, 0x588fdb
call fcn.005209e0
mov dword [esp + 0x18], 0x5886c6
mov dword [esp + 0x14], str.etikett
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], esi
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x8fc
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 + 0x18], str.provocar
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], esi
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x903
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 - 0x430]
mov ecx, str.label_1_prompt_1
mov dword [esp], 0x905
mov edx, 0x589020
call fcn.005209e0
mov eax, dword [ebp - 0x430]
mov ecx, str.label0_prompt0
mov dword [esp], 0x906
mov edx, 0x588ffc
call fcn.005209e0
mov eax, dword [ebp - 0x430]
mov ecx, str._provocar
mov dword [esp], 0x907
mov edx, 0x5887ac
call fcn.005209e0
mov eax, dword [ebp - 0x430]
mov ecx, str.label42_prompt42
mov dword [esp], 0x908
mov edx, 0x588fdb
call fcn.005209e0
mov dword [esp + 0x18], str.provoquer
mov dword [esp + 0x14], 0x5886c6
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], esi
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x90e
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 + 0x18], str.provoquer
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], 0
mov dword [esp], esi
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x915
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 - 0x430]
mov ecx, str.label_1_prompt_1
mov dword [esp], 0x917
mov edx, 0x589020
call fcn.005209e0
mov eax, dword [ebp - 0x430]
mov ecx, str.label0_prompt0
mov dword [esp], 0x918
mov edx, 0x588ffc
call fcn.005209e0
mov eax, dword [ebp - 0x430]
mov ecx, str._provoquer
mov dword [esp], 0x919
mov edx, 0x5887ac
call fcn.005209e0
mov eax, dword [ebp - 0x430]
mov edx, 0x588fdb
mov dword [esp], 0x91a
mov ecx, str.label42_prompt42
call fcn.005209e0
mov eax, dword [ebp - 0x430]
mov dword [esp + 4], 0x589020
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov eax, dword [ebp - 0x430]
sub esp, 8
mov dword [esp + 4], 0x588ffc
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov eax, dword [ebp - 0x430]
sub esp, 8
mov dword [esp + 4], 0x5887ac
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov eax, dword [ebp - 0x430]
sub esp, 8
mov dword [esp + 4], 0x588fdb
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov eax, dword [ebp - 0x430]
sub esp, 8
mov dword [esp + 4], 0x5886c6
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteKeyA
mov eax, dword [ebp - 0x430]
sub esp, 8
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x42c]
sub esp, 4
mov dword [esp + 4], 0x5886c6
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteKeyA
mov eax, dword [ebp - 0x42c]
sub esp, 8
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x434]
sub esp, 4
mov dword [esp + 4], 0x5886c6
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteKeyA
mov eax, dword [ebp - 0x434]
sub esp, 8
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
lea eax, [ebp - 0x1e4]
mov dword [ebp - 0x220], 0x74666f53
mov dword [ebp - 0x21c], 0x65726177
sub esp, 4
mov dword [esp + 4], ebx
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
lea edx, [ebp - 0x220]
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x523030
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 - 0x220]
sbb edx, 3
sub edx, eax
add eax, 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, [ebp + edx - 0x20c]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x434]
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x220]
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
test eax, eax
jne 0x5237b0
mov dword [esp + 0x18], str.prompt
mov dword [esp + 0x14], str.label
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
mov dword [esp], esi
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x939
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 - 0x42c]
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x434]
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], str.SourceList
mov dword [esp], eax
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x93d
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 + 0x18], str.prompt
mov dword [esp + 0x14], str.label
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
mov dword [esp], esi
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x943
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 - 0x430]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x42c]
mov dword [esp + 8], 0
mov dword [esp + 4], str.Media
mov dword [esp], eax
call sub.advapi32.dll_RegOpenKeyExA
sub esp, 0x14
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x947
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 - 0x430]
mov ecx, str.label_prompt
mov dword [esp], 0x949
mov edx, 0x5887ac
call fcn.005209e0
mov eax, dword [ebp - 0x430]
mov dword [esp + 4], 0x5887ac
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov eax, dword [ebp - 0x430]
mov edx, edi
sub esp, 8
call fcn.00517330
mov eax, dword [ebp - 0x430]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x42c]
mov edx, edi
sub esp, 4
call fcn.00517330
mov eax, dword [ebp - 0x42c]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x434]
mov edx, edi
sub esp, 4
call fcn.00517330
mov eax, dword [ebp - 0x434]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
sub esp, 4
mov dword [ebp - 0x220], 0x74666f53
lea eax, [ebp - 0x324]
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 - 0x438]
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x220]
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
test eax, eax
jne 0x5237e5
mov dword [esp + 0x18], str.prompt
mov dword [esp + 0x14], str.label
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 4
mov dword [esp + 4], 0
mov dword [esp], esi
call dword [0x58bd9c]
sub esp, 0x1c
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x965
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 - 0x42c]
mov dword [esp + 0x14], edi
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], str.SourceList
mov dword [esp], eax
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x969
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 + 0x18], str.prompt
mov dword [esp + 0x14], str.label
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 4
mov dword [esp + 4], 0
mov dword [esp], esi
call dword [0x58bd9c]
sub esp, 0x1c
cmp eax, 5
je 0x523830
mov dword [esp + 4], 0x974
mov dword [esp], str..._wine_dlls_msi_tests_source.c
mov dword [ebp - 0x43c], eax
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 - 0x430]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x42c]
mov dword [esp + 8], 0
mov dword [esp + 4], str.Media
mov dword [esp], eax
call sub.advapi32.dll_RegOpenKeyExA
sub esp, 0x14
mov dword [ebp - 0x43c], eax
mov dword [esp + 4], 0x978
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
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 - 0x430]
mov ecx, str.label_prompt
mov dword [esp], 0x97a
mov edx, 0x5887ac
call fcn.005209e0
mov dword [esp], esi
mov dword [esp + 0x18], str.prompt
mov dword [esp + 0x14], str.label
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 4
mov dword [esp + 4], ebx
call dword [0x58bd9c]
sub esp, 0x1c
mov esi, eax
mov dword [esp + 4], 0x980
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
xor eax, eax
cmp esi, 0x57
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Expected_ERROR_INVALID_PARAMETER__got__d_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x430]
mov dword [esp + 4], 0x5887ac
mov dword [esp], eax
call sub.advapi32.dll_RegDeleteValueA
mov eax, dword [ebp - 0x430]
mov edx, edi
sub esp, 8
call fcn.00517330
mov eax, dword [ebp - 0x430]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
sub esp, 4
mov eax, dword [ebp - 0x42c]
mov edx, edi
call fcn.00517330
mov eax, dword [ebp - 0x42c]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x438]
mov edx, edi
sub esp, 4
call fcn.00517330
mov eax, dword [ebp - 0x438]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
sub esp, 4
mov dword [esp], ebx
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], 0x85e
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], 0x865
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [esp], str.User_SID_not_available____skipping_MsiSourceListAddMediaDiskA_tests_n
call fcn.0052b1d0
jmp 0x52372c
mov dword [esp + 4], 0x859
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [esp], str.MsiSourceListAddMediaDiskA_is_not_available_n
call fcn.0052b1f0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x931
mov dword [esp], str..._wine_dlls_msi_tests_source.c
mov dword [ebp - 0x43c], eax
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
mov dword [esp], str.Product_key_creation_failed_with_error_code__u_n
mov dword [esp + 4], eax
call fcn.0052b1d0
jmp 0x52336c
mov dword [esp + 4], 0x95c
mov dword [esp], str..._wine_dlls_msi_tests_source.c
mov dword [ebp - 0x43c], eax
call fcn.0052ae70
mov eax, dword [ebp - 0x43c]
mov dword [esp], str.Product_key_creation_failed_with_error_code__u_n
mov dword [esp + 4], eax
call fcn.0052b1d0
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_LocalFree]
sub esp, 4
jmp 0x52372c
mov dword [esp + 4], 0x971
mov dword [esp], str..._wine_dlls_msi_tests_source.c
call fcn.0052ae70
mov dword [esp], str.MsiSourceListAddMediaDisk__insufficient_privileges__n
call fcn.0052b1d0
jmp 0x5236e4