Function at 0x4a0790
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x52c
mov dword [ebp - 0x4d8], 0
mov dword [ebp - 0x4d4], 0
mov dword [ebp - 0x4d0], 0
call fcn.00477380
mov edx, dword [0x58b74c]
mov dword [ebp - 0x4ec], eax
test edx, edx
je 0x4a1720
lea ebx, [ebp - 0x467]
xor edx, edx
lea esi, [ebp - 0x220]
mov eax, ebx
call fcn.0047cb90
lea edx, [ebp - 0x4ca]
lea eax, [ebp - 0x440]
call fcn.0047cb90
lea edx, [ebp - 0x4a9]
lea eax, [ebp - 0x419]
call fcn.0047cb90
lea edx, [ebp - 0x488]
lea eax, [ebp - 0x3f2]
call fcn.0047cb90
mov eax, dword [ebp - 0x4ec]
cmp dword [0x58b784], 1
mov dword [ebp - 0x220], 0x74666f53
mov dword [ebp - 0x21c], 0x65726177
sbb edi, edi
mov dword [esp + 4], eax
lea eax, [ebp - 0x1e4]
and edi, 0xffffff00
mov dword [esp], eax
add edi, 0xf013f
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, esi
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x4a08e0
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, esi
lea eax, [esi + 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 - 0x4a9]
mov dword [esp + 4], eax
lea eax, [esi + edx + 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x4d4]
mov dword [esp + 4], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], edi
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 esi, eax
cmp eax, 5
je 0x4a1750
mov dword [esp + 4], 0x33d8
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], 0x55fe0f
lea esi, [ebp - 0x324]
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x4ca]
mov dword [ebp - 0x324], 0x74666f53
mov dword [esp + 4], eax
lea eax, [ebp - 0x300]
mov dword [esp], eax
mov dword [ebp - 0x320], 0x65726177
mov dword [ebp - 0x31c], 0x616c435c
mov dword [ebp - 0x318], 0x73657373
mov dword [ebp - 0x314], 0x736e495c
mov dword [ebp - 0x310], 0x6c6c6174
mov dword [ebp - 0x30c], 0x505c7265
mov dword [ebp - 0x308], 0x75646f72
mov dword [ebp - 0x304], 0x5c737463
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x4d8]
mov dword [esp + 4], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], edi
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 esi, eax
cmp eax, 5
je 0x4a1775
mov dword [esp + 4], 0x33e3
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], 0x55fe0f
lea esi, [ebp - 0x11c]
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x4ec]
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [sym.imp.msvcrt.dll_strcpy]
mov edx, esi
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x4a0ae6
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, esi
lea eax, [esi + edx]
mov dword [eax], 0x666f535c
mov dword [eax + 4], 0x72617774
mov dword [eax + 8], 0x694d5c65
mov dword [eax + 0xc], 0x736f7263
mov dword [eax + 0x10], 0x5c74666f
mov dword [eax + 0x14], 0x74736e49
mov dword [eax + 0x18], 0x656c6c61
mov dword [eax + 0x1c], 0x72505c72
mov dword [eax + 0x20], 0x6375646f
mov dword [eax + 0x24], 0x5c7374
lea eax, [ebp - 0x488]
mov dword [esp + 4], eax
lea eax, [esi + edx + 0x27]
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x4d0]
mov dword [esp + 4], esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], 0x80000003
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov esi, eax
mov dword [esp + 4], 0x33ea
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], 0x55fe0f
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [0x58b74c]
sub esp, 0x20
mov esi, eax
mov dword [esp + 4], 0x33ed
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp esi, 0x57
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x55fe0f
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x4e0]
mov dword [ebp - 0x4e0], pe_nt_image_headers32
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [0x58b74c]
sub esp, 0x20
mov esi, eax
mov dword [esp + 4], 0x33f1
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp esi, 0x57
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x55fe0f
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x33f2
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x4e0]
mov dword [esp + 4], 0x55fe0f
cmp eax, 0x80
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 7
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [0x58b74c]
sub esp, 0x20
mov esi, eax
mov dword [esp + 4], 0x33f5
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], 0x55fe0f
lea esi, [ebp - 0x3a4]
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x4e0]
mov dword [esp], ebx
mov byte [ebp - 0x3a4], 0
mov dword [ebp - 0x4e0], pe_nt_image_headers32
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 7
mov dword [esp + 4], 0
call dword [0x58b74c]
sub esp, 0x20
mov dword [ebp - 0x4f0], eax
mov dword [esp + 4], 0x33fa
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x4f0]
mov dword [esp + 4], 0x55fe0f
cmp eax, 0x103
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x33fb
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x4e0]
mov dword [esp + 4], 0x55fe0f
cmp eax, 0x80
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x33fc
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp byte [ebp - 0x3a4], 0
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x561588
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x4e0]
mov dword [esp], ebx
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x4ec]
mov byte [ebp - 0x3a4], 0
mov dword [ebp - 0x4e0], pe_nt_image_headers32
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 7
mov dword [esp + 4], eax
call dword [0x58b74c]
sub esp, 0x20
mov ebx, eax
mov dword [esp + 4], 0x3401
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x103
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55fe0f
lea ebx, [ebp - 0x4e0]
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x3402
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x4e0]
mov dword [esp + 4], 0x55fe0f
cmp eax, 0x80
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x3403
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp byte [ebp - 0x3a4], 0
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x561588
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x4ec]
mov dword [esp + 0x1c], ebx
mov byte [ebp - 0x3a4], 0
mov dword [ebp - 0x4e0], 0
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp + 4], eax
mov dword [esp], 0
call dword [0x58b74c]
sub esp, 0x20
mov ebx, eax
mov dword [esp + 4], 0x3408
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0xea
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55fe0f
lea ebx, [ebp - 0x4e0]
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x3409
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x4e0]
mov dword [esp + 4], str.length_unchanged_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x340a
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp byte [ebp - 0x3a4], 0
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x561588
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 0x1c], ebx
lea ebx, [ebp - 0x4dc]
mov dword [esp + 0x14], ebx
lea ebx, [ebp - 0x3cb]
mov dword [esp + 0x10], ebx
mov byte [ebp - 0x3cb], 0
mov dword [ebp - 0x4dc], 0xdeadbeef
mov byte [ebp - 0x3a4], 0
mov dword [ebp - 0x4e0], pe_nt_image_headers32
mov dword [esp + 0x18], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 7
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [0x58b74c]
sub esp, 0x20
mov ebx, eax
mov dword [esp + 4], 0x3411
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], 0x55fe0f
lea ebx, [ebp - 0x4e0]
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x3412
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
movsx eax, byte [ebp - 0x3cb]
mov dword [esp + 4], str.empty_guid_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x3413
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], str.context_unchanged_n
cmp dword [ebp - 0x4dc], 0xdeadbeef
setne al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x3414
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x4e0]
mov dword [esp + 4], 0x55fe0f
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x3415
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp byte [ebp - 0x3a4], 0
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x561588
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp - 0x4ec]
lea ebx, [ebp - 0x4dc]
mov dword [esp + 0x14], ebx
lea ebx, [ebp - 0x3cb]
mov dword [esp + 0x10], ebx
mov byte [ebp - 0x3cb], 0
mov dword [ebp - 0x4dc], 0xdeadbeef
mov byte [ebp - 0x3a4], 0
mov dword [ebp - 0x4e0], pe_nt_image_headers32
mov dword [esp + 0x18], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 7
mov dword [esp + 4], eax
mov dword [esp], 0
call dword [0x58b74c]
sub esp, 0x20
mov ebx, eax
mov dword [esp + 4], 0x341c
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], 0x55fe0f
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x341d
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
movsx eax, byte [ebp - 0x3cb]
mov dword [esp + 4], str.empty_guid_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x341e
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], str.context_unchanged_n
cmp dword [ebp - 0x4dc], 0xdeadbeef
setne al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x341f
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x4e0]
mov dword [esp + 4], 0x55fe0f
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x3420
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp byte [ebp - 0x3a4], 0
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x561588
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x4e0]
mov byte [ebp - 0x3cb], 0
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x4dc]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x3cb]
mov dword [ebp - 0x4dc], 0xdeadbeef
mov byte [ebp - 0x3a4], 0
mov dword [ebp - 0x4e0], pe_nt_image_headers32
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 7
mov dword [esp + 4], str.S_1_1_0
mov dword [esp], 0
call dword [0x58b74c]
sub esp, 0x20
mov ebx, eax
cmp eax, 5
je 0x4a17a0
mov dword [esp + 4], 0x342c
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], 0x55fe0f
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x342d
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
movsx eax, byte [ebp - 0x3cb]
mov dword [esp + 4], str.empty_guid_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x342e
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], str.context_unchanged_n
cmp dword [ebp - 0x4dc], 0xdeadbeef
setne al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x342f
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x4e0]
mov dword [esp + 4], 0x55fe0f
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x3430
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp byte [ebp - 0x3a4], 0
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x561588
xor ebx, ebx
mov dword [esp], eax
call fcn.0052b0e0
mov byte [ebp - 0x3cb], 0
mov dword [ebp - 0x4dc], 0xdeadbeef
mov byte [ebp - 0x3a4], 0
mov dword [ebp - 0x4e0], pe_nt_image_headers32
mov dword [ebp - 0x4f8], 0
mov dword [ebp - 0x4f4], 0
mov dword [ebp - 0x4f0], 0
lea eax, [ebp - 0x4e0]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x4dc]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x3cb]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 7
mov dword [esp + 4], str.S_1_1_0
mov dword [esp], 0
call dword [0x58b74c]
sub esp, 0x20
test eax, eax
je 0x4a1655
mov dword [esp + 4], 0x3456
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x4f0]
mov dword [esp + 4], str.product1_not_found_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x3457
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x4f4]
mov dword [esp + 4], str.product2_not_found_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x3458
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x4f8]
mov dword [esp + 4], str.product3_not_found_n
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x4d8]
mov ecx, edi
mov edx, 0x55fb90
call fcn.00476540
mov eax, dword [ebp - 0x4d4]
mov ecx, edi
mov edx, 0x55fb90
call fcn.00476540
mov eax, dword [ebp - 0x4d0]
mov ecx, edi
mov edx, 0x55fb90
call fcn.00476540
mov eax, dword [ebp - 0x4d8]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x4d4]
sub esp, 4
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x4d0]
sub esp, 4
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x4ec]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_LocalFree]
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [ebp - 0x3cb]
mov dword [esp + 4], eax
lea eax, [ebp - 0x440]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_strcmp]
test eax, eax
je 0x4a19c0
movzx eax, byte [ebp - 0x4f0]
and eax, 1
mov byte [ebp - 0x4f9], al
lea eax, [ebp - 0x3cb]
mov dword [esp + 4], eax
lea eax, [ebp - 0x419]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_strcmp]
test eax, eax
je 0x4a18d0
movzx eax, byte [ebp - 0x4f0]
and al, byte [ebp - 0x4f4]
mov byte [ebp - 0x4f9], al
lea eax, [ebp - 0x3cb]
mov dword [esp + 4], eax
lea eax, [ebp - 0x3f2]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_strcmp]
test eax, eax
je 0x4a17c5
cmp byte [ebp - 0x4f9], 0
je 0x4a16f2
mov eax, dword [ebp - 0x4f8]
test eax, eax
jne 0x4a18aa
add ebx, 1
mov byte [ebp - 0x3cb], 0
mov dword [ebp - 0x4dc], 0xdeadbeef
mov byte [ebp - 0x3a4], 0
mov dword [ebp - 0x4e0], pe_nt_image_headers32
jmp 0x4a1506
mov dword [esp + 4], 0x33c2
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp], str.MsiEnumProductsExA_not_implemented_n
call fcn.0052b1f0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x33d5
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp], 0x56078e
call fcn.0052b1d0
jmp 0x4a15d2
mov dword [esp + 4], 0x33e0
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp], 0x56078e
call fcn.0052b1d0
jmp 0x4a15d2
mov dword [esp + 4], 0x3429
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp], 0x56078e
call fcn.0052b1d0
jmp 0x4a15d2
mov dword [esp + 4], 0x344a
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x4dc]
mov dword [esp + 4], 0x55fe0f
cmp eax, 2
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x344b
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
movsx eax, byte [ebp - 0x3a4]
mov dword [esp + 4], str.empty_sid_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x344c
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x4e0]
mov edx, esi
mov dword [ebp - 0x4f8], eax
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x4a1849
mov ecx, eax
mov dword [esp + 4], str.unexpected_length__u_n
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
mov eax, dword [ebp - 0x4f8]
sbb edx, 3
sub edx, esi
mov dword [esp + 8], eax
cmp eax, edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
cmp byte [ebp - 0x4f9], 0
je 0x4a1a80
mov dword [ebp - 0x4f8], 1
mov dword [ebp - 0x4f4], 1
mov dword [ebp - 0x4f0], 1
jmp 0x4a1554
mov dword [esp + 4], 0x3443
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x4dc]
mov dword [esp + 4], 0x55fe0f
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x3444
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
movsx eax, byte [ebp - 0x3a4]
mov dword [esp + 4], str.empty_sid_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x3445
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x4e0]
mov edx, esi
mov dword [ebp - 0x4f4], eax
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x4a1954
mov ecx, eax
mov dword [esp + 4], str.unexpected_length__u_n
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
mov eax, dword [ebp - 0x4f4]
sbb edx, 3
sub edx, esi
mov dword [esp + 8], eax
cmp eax, edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [ebp - 0x4f4], 1
jmp 0x4a16ba
mov dword [esp + 4], 0x343c
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x4dc]
mov dword [esp + 4], 0x55fe0f
cmp eax, 4
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x343d
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp byte [ebp - 0x3a4], 0
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x5615c9
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x343e
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov eax, dword [ebp - 0x4e0]
mov dword [esp + 4], str.unexpected_length__u_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov byte [ebp - 0x4f9], 1
mov dword [ebp - 0x4f0], 1
jmp 0x4a1686
mov dword [ebp - 0x4f8], 1
jmp 0x4a16f2