Function at 0x4b2dd0
Capabilities:
Contain obfuscated stackstrings
Create directory
Delete directory
Delete file
Get common file path
Set registry value

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x57c
mov dword [ebp - 0x544], 0x104
call fcn.004665f0
test eax, eax
jne 0x4b3e22
lea ebx, [ebp - 0x500]
lea eax, [ebp - 0x49d]
mov edx, ebx
lea esi, [ebp - 0x515]
call fcn.0047cb90
lea ecx, [ebp - 0x4df]
lea edx, [ebp - 0x52a]
lea eax, [ebp - 0x476]
call fcn.004a2b80
mov edx, esi
lea ecx, [ebp - 0x4be]
lea eax, [ebp - 0x44f]
call fcn.004a2b80
lea eax, [ebp - 0x544]
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x324]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x44f]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x49d]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str.qualifier
mov dword [esp], eax
call sub.msi.dll_MsiProvideQualifiedComponentExA
sub esp, 0x20
mov edi, eax
mov dword [esp + 4], 0xda1
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp edi, 0x647
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x55fe0f
mov edi, 0x5c73
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x1fa]
mov dword [esp + 4], ebx
mov dword [esp], eax
mov word [ebp - 0x1fc], di
mov dword [ebp - 0x220], 0x74666f53
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], 0x435c7265
mov dword [ebp - 0x204], 0x6f706d6f
mov dword [ebp - 0x200], 0x746e656e
call sub.msvcrt.dll_strcpy
cmp dword [0x58b784], 1
mov dword [esp + 0x20], 0
sbb eax, eax
mov dword [esp + 0x18], 0
not eax
mov dword [esp + 0x10], 0
and eax, 0x100
cmp dword [0x58b784], 1
mov dword [esp + 0xc], 0
mov dword [ebp - 0x54c], eax
sbb eax, eax
xor al, al
mov dword [esp + 8], 0
add eax, 0xf013f
mov dword [esp], 0x80000002
mov edi, eax
mov dword [ebp - 0x550], eax
lea eax, [ebp - 0x540]
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x220]
mov dword [esp + 0x14], edi
mov dword [esp + 4], eax
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0xda8
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], 0x55fe6b
lea ebx, [ebp - 0x428]
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], esi
mov dword [esp], ebx
call dword [sym.imp.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 0x4b2ff5
mov ecx, eax
mov edi, 0x56008a
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 [str.feature_]
sbb edx, 3
mov dword [edx], eax
mov eax, dword [0x561a7e]
mov dword [edx + 4], eax
movzx eax, word [0x561a82]
mov word [edx + 8], ax
mov dword [esp], esi
call dword [sym.imp.msvcrt.dll_strlen]
mov dword [esp + 0x10], ebx
add eax, 0xa
mov dword [esp + 0xc], 7
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x540]
mov dword [esp + 8], 0
mov dword [esp + 4], str.qualifier
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0xdae
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], 0x55fe6b
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x544]
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x324]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x44f]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x49d]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str.qualifier
mov dword [esp], eax
call sub.msi.dll_MsiProvideQualifiedComponentExA
sub esp, 0x20
mov ebx, eax
mov dword [esp + 4], 0xdb1
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x645
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55fe0f
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x544]
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x324]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x49d]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str.qualifier
mov dword [esp], eax
call sub.msi.dll_MsiProvideQualifiedComponentExA
sub esp, 0x20
mov ebx, eax
mov dword [esp + 4], 0xdb4
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x645
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55fe0f
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x44f]
mov dword [esp], eax
call sub.msi.dll_MsiQueryProductStateA
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0xdb7
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0xffffffff
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55fe6b
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x4be]
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 - 0x53c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x550]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x220]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 0x80000002
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0xdbd
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], 0x55fe6b
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x44f]
mov dword [esp], eax
call sub.msi.dll_MsiQueryProductStateA
sub esp, 4
mov ebx, eax
mov dword [esp + 4], 0xdc0
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], 0x55fe6b
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x544]
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x324]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x44f]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x49d]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str.qualifier
mov dword [esp], eax
call sub.msi.dll_MsiProvideQualifiedComponentExA
mov esi, dword [str.windows]
mov ecx, 5
sub esp, 0x20
mov ebx, eax
repe cmpsb byte [esi], byte es:[edi]
seta al
sbb al, 0
test al, al
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b250
jmp 0x4b33e8
mov dword [esp + 4], 0xdc3
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0x646
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55fe0f
mov dword [esp], eax
call fcn.0052b0e0
call fcn.0052b2a0
call fcn.0052b280
test eax, eax
jne 0x4b33b0
lea eax, [ebp - 0x4be]
mov esi, str.SoftwareMicrosoftWindowsCurrentVersionInstallerUserDataS_1_5_18Products_
mov dword [ebp - 0x220], 0x74666f53
lea edi, [ebp - 0x220]
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], 0x465c7265
mov dword [ebp - 0x204], 0x75746165
mov dword [ebp - 0x200], 0x5c736572
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x538]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x550]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x220]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 0x80000002
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0xdc9
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], 0x55fe6b
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x44f]
mov dword [esp + 4], 0x5616c7
mov dword [esp], eax
call sub.msi.dll_MsiQueryFeatureStateA
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0xdcc
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 0xffffffff
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55fe6b
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x538]
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0x55fb90
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5616c7
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0xdcf
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], 0x55fe6b
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x44f]
mov dword [esp + 4], 0x5616c7
mov dword [esp], eax
call sub.msi.dll_MsiQueryFeatureStateA
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0xdd2
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], 0x55fe6b
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x544]
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x324]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x44f]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x49d]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str.qualifier
mov dword [esp], eax
call sub.msi.dll_MsiProvideQualifiedComponentExA
sub esp, 0x20
mov ebx, eax
mov dword [esp + 4], 0xdd5
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55fe0f
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x544]
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x324]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x49d]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str.qualifier
mov dword [esp], eax
mov dword [ebp - 0x544], 0x104
call sub.msi.dll_MsiProvideQualifiedComponentExA
sub esp, 0x20
mov ebx, eax
mov dword [esp + 4], 0xdd9
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55fe0f
mov dword [esp], eax
call fcn.0052b0e0
mov ecx, 0x14
lea eax, [ebp - 0x4be]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 4], eax
lea eax, [ebp - 0x1d1]
mov dword [esp], eax
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 0x4b3723
mov ecx, eax
lea esi, [ebp - 0x220]
lea edi, [ebp - 0x52a]
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, 0x73
mov ebx, eax
add bl, al
lea eax, [ebp - 0x534]
sbb edx, 3
mov word [edx + 8], cx
mov dword [edx], 0x6165465c
mov dword [edx + 4], 0x65727574
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x550]
mov dword [esp + 4], esi
lea esi, [ebp - 0x44f]
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], 0x80000002
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0xde0
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], 0x55fe6b
mov dword [esp], eax
call fcn.0052b0e0
mov eax, dword [ebp - 0x534]
mov dword [esp + 0x10], edi
lea edi, [ebp - 0x220]
mov dword [esp + 0x14], 0x15
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0x5616c7
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0xde3
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], 0x55fe6b
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp], esi
mov esi, str.SoftwareMicrosoftWindowsCurrentVersionInstallerUserDataS_1_5_18Components_
mov dword [esp + 4], 0x5616c7
call sub.msi.dll_MsiQueryFeatureStateA
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0xde6
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], 0x55fe6b
mov dword [esp], eax
call fcn.0052b0e0
mov ecx, 0x14
rep movsd dword es:[edi], dword [esi]
movzx eax, byte [esi]
mov byte [edi], al
lea eax, [ebp - 0x1cf]
lea edi, [ebp - 0x4df]
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_strcpy
lea eax, [ebp - 0x530]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x550]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
lea eax, [ebp - 0x220]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 0x80000002
call sub.advapi32.dll_RegCreateKeyExA
sub esp, 0x24
mov ebx, eax
mov dword [esp + 4], 0xdec
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], 0x55fe6b
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x4be]
mov dword [esp + 0x14], 0xe
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x530]
mov dword [esp + 0x10], str.c:_nosuchfile
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp], eax
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov ebx, eax
mov dword [esp + 4], 0xdef
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], 0x55fe6b
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x44f]
mov dword [esp + 4], 0x5616c7
mov dword [esp], eax
call sub.msi.dll_MsiQueryFeatureStateA
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0xdf2
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 3
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55fe6b
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x544]
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x324]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x44f]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x49d]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str.qualifier
mov dword [esp], eax
call sub.msi.dll_MsiProvideQualifiedComponentExA
sub esp, 0x20
mov ebx, eax
mov dword [esp + 4], 0xdf5
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
xor eax, eax
cmp ebx, 2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55fe0f
lea ebx, [ebp - 0x11c]
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], ebx
mov dword [esp], 0x104
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryA]
mov edx, ebx
sub esp, 8
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x4b3aaf
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
mov dword [edx], 0x69736d5c
mov dword [edx + 4], 0x74736574
mov byte [edx + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_CreateDirectoryA]
mov edx, ebx
sub esp, 8
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x4b3b06
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 eax, 0x74
sbb edx, 3
mov dword [edx], 0x7365745c
mov dword [edx + 4], 0x78742e74
mov word [edx + 8], ax
mov dword [esp + 8], 0x64
mov dword [esp + 4], 0x55fb8b
mov dword [esp], ebx
call fcn.00466b70
mov edx, ebx
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x4b3b66
mov ecx, eax
mov dword [esp + 0x10], ebx
shr ecx, 0x10
test eax, 0x8080
mov dword [esp + 0xc], 1
cmove eax, ecx
lea ecx, [edx + 2]
mov dword [esp + 8], 0
cmove edx, ecx
mov ecx, eax
add cl, al
lea eax, [ebp - 0x4be]
sbb edx, 3
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x530]
sub edx, ebx
add edx, 1
mov dword [esp], eax
mov dword [esp + 0x14], edx
call sub.advapi32.dll_RegSetValueExA
sub esp, 0x18
mov esi, eax
mov dword [esp + 4], 0xdfe
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], 0x55fe6b
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x544]
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], eax
lea eax, [ebp - 0x324]
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x44f]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x49d]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], str.qualifier
mov dword [esp], eax
mov byte [ebp - 0x324], 0
mov dword [ebp - 0x544], 0x104
call sub.msi.dll_MsiProvideQualifiedComponentExA
sub esp, 0x20
mov esi, eax
mov dword [esp + 4], 0xe03
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 + 4], 0xe04
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov esi, dword [ebp - 0x544]
mov edx, ebx
mov ecx, dword [edx]
add edx, 4
lea eax, [ecx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x4b3cac
mov ecx, eax
mov dword [esp + 8], esi
shr ecx, 0x10
test eax, 0x8080
mov dword [esp + 4], 0x55fe0f
cmove eax, ecx
lea ecx, [edx + 2]
cmove edx, ecx
mov ecx, eax
add cl, al
sbb edx, 3
xor eax, eax
sub edx, ebx
cmp esi, edx
lea esi, [ebp - 0x324]
sete al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0xe05
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
lea eax, [ebp - 0x324]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_lstrcmpA]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], esi
movzx eax, al
mov dword [esp + 4], 0x561a92
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp], str.msitest_text.txt
call dword [sym.imp.kernel32.dll_DeleteFileA]
sub esp, 4
mov dword [esp], 0x55fc92
call dword [sym.imp.kernel32.dll_RemoveDirectoryA]
mov edi, dword [ebp - 0x54c]
mov eax, dword [ebp - 0x530]
mov edx, 0x55fb90
sub esp, 4
mov ecx, edi
call fcn.00476540
mov eax, dword [ebp - 0x530]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x534]
mov ecx, edi
mov edx, 0x55fb90
sub esp, 4
call fcn.00476540
mov eax, dword [ebp - 0x534]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x538]
mov ecx, edi
mov edx, 0x55fb90
sub esp, 4
call fcn.00476540
mov eax, dword [ebp - 0x538]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x53c]
mov ecx, edi
mov edx, 0x55fb90
sub esp, 4
call fcn.00476540
mov eax, dword [ebp - 0x53c]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
mov eax, dword [ebp - 0x540]
mov ecx, edi
mov edx, 0x55fb90
sub esp, 4
call fcn.00476540
mov eax, dword [ebp - 0x540]
mov dword [esp], eax
call sub.advapi32.dll_RegCloseKey
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0xd98
mov dword [esp], str..._wine_dlls_msi_tests_msi.c
call fcn.0052ae70
mov dword [esp], 0x55fd58
call fcn.0052b1d0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret