Function at 0x405f50
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x43c
call fcn.004665f0
mov dword [ebp - 0x40c], eax
test eax, eax
jne 0x4066b0
call fcn.00403760
mov dword [esp + 8], 0x3e8
mov dword [esp + 4], str.msitestODBCdriver.dll
mov dword [esp], str.msitestODBCdriver.dll
call fcn.00466b70
mov dword [esp + 8], 0x3e8
mov dword [esp + 4], str.msitestODBCdriver2.dll
mov dword [esp], str.msitestODBCdriver2.dll
call fcn.00466b70
mov dword [esp + 8], 0x3e8
mov dword [esp + 4], str.msitestODBCtranslator.dll
mov dword [esp], str.msitestODBCtranslator.dll
call fcn.00466b70
mov dword [esp + 8], 0x3e8
mov dword [esp + 4], str.msitestODBCtranslator2.dll
mov dword [esp], str.msitestODBCtranslator2.dll
call fcn.00466b70
mov dword [esp + 8], 0x3e8
mov dword [esp + 4], str.msitestODBCsetup.dll
mov dword [esp], str.msitestODBCsetup.dll
call fcn.00466b70
mov dword [esp + 0x18], 0x52e1e8
mov dword [esp + 0x14], 0x52e20f
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x64
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0x532180
mov dword [esp], 0x52e06e
call fcn.00467500
mov dword [esp + 4], 0
mov dword [esp], 2
call sub.msi.dll_MsiSetInternalUI
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], 0x52e06e
call sub.msi.dll_MsiInstallProductA
sub esp, 8
mov ebx, eax
cmp eax, 0x659
je 0x4066f0
mov dword [esp + 4], 0x15d9
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x52e294
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x15db
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp], str.msitestODBCdriver.dll
call fcn.004673e0
mov dword [esp + 4], str.file_not_created_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x15dc
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp], str.msitestODBCdriver2.dll
call fcn.004673e0
mov dword [esp + 4], str.file_not_created_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x15dd
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp], str.msitestODBCtranslator.dll
call fcn.004673e0
mov dword [esp + 4], str.file_not_created_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x15de
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp], str.msitestODBCtranslator2.dll
call fcn.004673e0
mov dword [esp + 4], str.file_not_created_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x15df
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp], str.msitestODBCsetup.dll
call fcn.004673e0
mov dword [esp + 4], str.file_not_created_n
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x402]
mov dword [esp + 4], 0x3e8
mov dword [esp + 8], eax
lea eax, [ebp - 0x400]
mov dword [esp], eax
call sub.odbccp32.dll_SQLGetInstalledDrivers
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x15e2
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], 0x52ebea
cmp word [ebp - 0x402], 0x3e7
setbe al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x15e3
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], str.SQLGetInstalledDrivers_failed_n
mov dword [esp], ebx
call fcn.0052b0e0
cmp byte [ebp - 0x400], 0
mov dword [ebp - 0x414], 0
mov dword [ebp - 0x410], 0
je 0x4062c4
mov eax, dword [sym.imp.msvcrt.dll_strlen]
lea ebx, [ebp - 0x400]
mov dword [ebp - 0x418], 0x52ec1b
mov dword [ebp - 0x420], 0x52ec2c
mov dword [ebp - 0x41c], eax
lea esi, [esi]
nop
mov edi, dword [ebp - 0x418]
mov esi, ebx
mov ecx, 0x11
repe cmpsb byte [esi], byte es:[edi]
mov edi, dword [ebp - 0x420]
mov ecx, 0x12
mov esi, ebx
seta al
sbb al, 0
test al, al
mov eax, 1
cmovne eax, dword [ebp - 0x410]
repe cmpsb byte [esi], byte es:[edi]
mov dword [esp], ebx
mov dword [ebp - 0x410], eax
seta al
sbb al, 0
test al, al
mov eax, 1
cmovne eax, dword [ebp - 0x414]
mov dword [ebp - 0x414], eax
mov eax, dword [ebp - 0x41c]
call eax
lea ebx, [ebx + eax + 1]
cmp byte [ebx], 0
jne 0x406260
mov dword [esp + 4], 0x15eb
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov eax, dword [ebp - 0x410]
mov dword [esp + 4], str.driver_not_installed_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x15ec
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov eax, dword [ebp - 0x414]
mov dword [esp + 4], str.driver_2_not_installed_n
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x52e503
mov dword [esp], 0x52e06e
call sub.msi.dll_MsiInstallProductA
sub esp, 8
mov ebx, eax
mov dword [esp + 4], 0x15ef
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x52e294
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x15f1
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], 1
mov dword [esp], str.msitestODBCdriver.dll
call fcn.00467020
mov dword [esp + 4], 0x52e919
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x15f2
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], 1
mov dword [esp], str.msitestODBCdriver2.dll
call fcn.00467020
mov dword [esp + 4], 0x52e919
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x15f3
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], 1
mov dword [esp], str.msitestODBCtranslator.dll
call fcn.00467020
mov dword [esp + 4], 0x52e919
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x15f4
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], 1
mov dword [esp], str.msitestODBCtranslator2.dll
call fcn.00467020
mov dword [esp + 4], 0x52e919
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x15f5
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], 1
mov dword [esp], str.msitestODBCsetup.dll
call fcn.00467020
mov dword [esp + 4], 0x52e919
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x15f6
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], 0
mov dword [esp], 0x52e11c
call fcn.00467020
mov dword [esp + 4], 0x52e92b
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0052b0e0
lea eax, [ebp - 0x402]
mov dword [esp + 4], 0x3e8
mov dword [esp + 8], eax
lea eax, [ebp - 0x400]
mov dword [esp], eax
call sub.odbccp32.dll_SQLGetInstalledDrivers
sub esp, 0xc
mov ebx, eax
mov dword [esp + 4], 0x15fa
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
xor eax, eax
mov dword [esp + 4], 0x52ebea
cmp word [ebp - 0x402], 0x3e7
setbe al
mov dword [esp], eax
call fcn.0052b0e0
mov dword [esp + 4], 0x15fb
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], str.SQLGetInstalledDrivers_failed_n
mov dword [esp], ebx
call fcn.0052b0e0
cmp byte [ebp - 0x400], 0
je 0x4066e0
mov eax, dword [sym.imp.msvcrt.dll_strlen]
xor edx, edx
lea ebx, [ebp - 0x400]
mov dword [ebp - 0x418], 0x52ec1b
mov dword [ebp - 0x420], 0x52ec2c
mov dword [ebp - 0x41c], eax
nop
mov edi, dword [ebp - 0x418]
mov esi, ebx
mov ecx, 0x11
repe cmpsb byte [esi], byte es:[edi]
mov edi, dword [ebp - 0x420]
mov ecx, 0x12
mov esi, ebx
seta al
sbb al, 0
test al, al
mov eax, 1
cmovne eax, dword [ebp - 0x40c]
repe cmpsb byte [esi], byte es:[edi]
mov dword [esp], ebx
mov dword [ebp - 0x40c], eax
seta al
sbb al, 0
test al, al
mov eax, 1
cmove edx, eax
mov eax, dword [ebp - 0x41c]
mov dword [ebp - 0x410], edx
call eax
mov edx, dword [ebp - 0x410]
lea ebx, [ebx + eax + 1]
cmp byte [ebx], 0
jne 0x406590
mov ebx, dword [ebp - 0x40c]
mov esi, edx
xor esi, 1
xor ebx, 1
mov dword [esp + 4], 0x1603
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], str.driver_not_installed_n
mov dword [esp], ebx
call fcn.0052b0e0
mov dword [esp + 4], 0x1604
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp + 4], str.driver_2_not_installed_n
mov dword [esp], esi
call fcn.0052b0e0
mov ebx, dword [sym.imp.kernel32.dll_DeleteFileA]
mov dword [esp], str.msitestODBCdriver.dll
call ebx
sub esp, 4
mov dword [esp], str.msitestODBCdriver2.dll
call ebx
sub esp, 4
mov dword [esp], str.msitestODBCtranslator.dll
call ebx
sub esp, 4
mov dword [esp], str.msitestODBCtranslator2.dll
call ebx
sub esp, 4
mov dword [esp], str.msitestODBCsetup.dll
call ebx
sub esp, 4
call fcn.00401170
mov dword [esp], 0x52e06e
call ebx
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x15c5
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp], 0x52e124
call fcn.0052b1d0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, 1
mov ebx, 1
jmp 0x406604
mov dword [esp + 4], 0x15d6
mov dword [esp], str..._wine_dlls_msi_tests_action.c
call fcn.0052ae70
mov dword [esp], 0x52e270
call fcn.0052b1d0
jmp 0x40664c