Function at 0x4010af
Capabilities:
Delete file
Get common file path
Read .ini file

Disassembly:
jmp 0x402070
sub esp, 0x174
mov eax, dword [0x43a070]
xor eax, esp
mov dword [esp + 0x170], eax
push esi
mov esi, dword [esp + 0x17c]
push str.Enter_DelInstallFiles
push 0x43bba0
call fcn.0040103c
push esi
push str.Inf_file_Path___s
push 0x43bba0
call fcn.0040103c
add esp, 0x14
push 0
push 2
push 0
push esi
call dword [sym.imp.SETUPAPI.dll_SetupOpenInfFileA]
cmp eax, 0xffffffff
mov dword [esp + 4], eax
jne 0x4020ee
push str.SetupOpenInfFile_fail__
push 0x43bba0
call fcn.0040103c
add esp, 8
xor eax, eax
pop esi
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.00406884
add esp, 0x174
ret
push ebp
push edi
push 0x43ba98
push 0x14
push str.DEL_SECTION_COUNT
push str.DrvUninstall
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push eax
push str.ulSection_Count___d
push 0x43bba0
call fcn.0040103c
add esp, 0xc
call dword [sym.imp.SETUPAPI.dll_SetupOpenFileQueue]
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edi, dword [sym.imp.SETUPAPI.dll_SetupQueueDeleteSectionA]
mov dword [esp + 0x10], eax
xor ebp, ebp
mov eax, dword [esp + 0x188]
cmp dword [eax + 4], 5
jne 0x402509
cmp dword [eax + 8], 2
jne 0x402509
cmp ebp, 0x13
ja case.default.0x402512
jmp dword [ebp*4 + 0x402a84]
push 0x43ba98
push 0x104
lea eax, [esp + 0x1c]
push eax
push str.USBCamera.Files.Drv.NTamd64
push str.DelSectionX64_0
push str.DrvUninstall
call esi
lea ecx, [esp + 0x14]
push ecx
push str.DelSectionX64_0___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea edx, [esp + 0x1c]
push edx
push str.USBCamera.Files.Rsf
push str.DelSectionX64_1
push str.DrvUninstall
call esi
lea eax, [esp + 0x14]
push eax
push str.DelSectionX64_1___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea ecx, [esp + 0x1c]
push ecx
push str.USBCamera.Ctrl.Files.NTamd64
push str.DelSectionX64_2
push str.DrvUninstall
call esi
lea edx, [esp + 0x14]
push edx
push str.DelSectionX64_2___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea eax, [esp + 0x1c]
push eax
push str.USBCamera.TWAIN.Files
push str.DelSectionX64_3
push str.DrvUninstall
call esi
lea ecx, [esp + 0x14]
push ecx
push str.DelSectionX64_3___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea edx, [esp + 0x1c]
push edx
push 0x43490f
push str.DelSectionX64_4
push str.DrvUninstall
call esi
lea eax, [esp + 0x14]
push eax
push str.DelSectionX64_4___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea ecx, [esp + 0x1c]
push ecx
push 0x43490f
push str.DelSectionX64_5
push str.DrvUninstall
call esi
lea edx, [esp + 0x14]
push edx
push str.DelSectionX64_5___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea eax, [esp + 0x1c]
push eax
push 0x43490f
push str.DelSectionX64_6
push str.DrvUninstall
call esi
lea ecx, [esp + 0x14]
push ecx
push str.DelSectionX64_6___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea edx, [esp + 0x1c]
push edx
push 0x43490f
push str.DelSectionX64_7
push str.DrvUninstall
call esi
lea eax, [esp + 0x14]
push eax
push str.DelSectionX64_7___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea ecx, [esp + 0x1c]
push ecx
push 0x43490f
push str.DelSectionX64_8
push str.DrvUninstall
call esi
lea edx, [esp + 0x14]
push edx
push str.DelSectionX64_8___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea eax, [esp + 0x1c]
push eax
push 0x43490f
push str.DelSectionX64_9
push str.DrvUninstall
call esi
lea ecx, [esp + 0x14]
push ecx
push str.DelSectionX64_9___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea edx, [esp + 0x1c]
push edx
push 0x43490f
push str.DelSectionX64_10
push str.DrvUninstall
call esi
lea eax, [esp + 0x14]
push eax
push str.DelSectionX64_10___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea ecx, [esp + 0x1c]
push ecx
push 0x43490f
push str.DelSectionX64_11
push str.DrvUninstall
call esi
lea edx, [esp + 0x14]
push edx
push str.DelSectionX64_11___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea eax, [esp + 0x1c]
push eax
push 0x43490f
push str.DelSectionX64_12
push str.DrvUninstall
call esi
lea ecx, [esp + 0x14]
push ecx
push str.DelSectionX64_12___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea edx, [esp + 0x1c]
push edx
push 0x43490f
push str.DelSectionX64_13
push str.DrvUninstall
call esi
lea eax, [esp + 0x14]
push eax
push str.DelSectionX64_13___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea ecx, [esp + 0x1c]
push ecx
push 0x43490f
push str.DelSectionX64_14
push str.DrvUninstall
call esi
lea edx, [esp + 0x14]
push edx
push str.DelSectionX64_14___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea eax, [esp + 0x1c]
push eax
push 0x43490f
push str.DelSectionX64_15
push str.DrvUninstall
call esi
lea ecx, [esp + 0x14]
push ecx
push str.DelSectionX64_15___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea edx, [esp + 0x1c]
push edx
push 0x43490f
push str.DelSectionX64_16
push str.DrvUninstall
call esi
lea eax, [esp + 0x14]
push eax
push str.DelSectionX64_16___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea ecx, [esp + 0x1c]
push ecx
push 0x43490f
push str.DelSectionX64_17
push str.DrvUninstall
call esi
lea edx, [esp + 0x14]
push edx
push str.DelSectionX64_17___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea eax, [esp + 0x1c]
push eax
push 0x43490f
push str.DelSectionX64_18
push str.DrvUninstall
call esi
lea ecx, [esp + 0x14]
push ecx
push str.DelSectionX64_18___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea edx, [esp + 0x1c]
push edx
push 0x43490f
push str.DelSectionX64_19
push str.DrvUninstall
call esi
lea eax, [esp + 0x14]
push eax
push str.DelSectionX64_19___s
jmp 0x4028ba
cmp ebp, 0x13
ja case.default.0x402512
jmp dword [ebp*4 + 0x402ad4]
push 0x43ba98
push 0x104
lea ecx, [esp + 0x1c]
push ecx
push str.USBCamera.Files.Drv
push str.DelSection_0
push str.DrvUninstall
call esi
lea edx, [esp + 0x14]
push edx
push str.DelSection_0___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea eax, [esp + 0x1c]
push eax
push str.USBCamera.Files.Rsf
push str.DelSection_1
push str.DrvUninstall
call esi
lea ecx, [esp + 0x14]
push ecx
push str.DelSection_1___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea edx, [esp + 0x1c]
push edx
push str.USBCamera.Ctrl.Files
push str.DelSection_2
push str.DrvUninstall
call esi
lea eax, [esp + 0x14]
push eax
push str.DelSection_2___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea ecx, [esp + 0x1c]
push ecx
push str.USBCamera.TWAIN.Files
push str.DelSection_3
push str.DrvUninstall
call esi
lea edx, [esp + 0x14]
push edx
push str.DelSection_3___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea eax, [esp + 0x1c]
push eax
push 0x43490f
push str.DelSection_4
push str.DrvUninstall
call esi
lea ecx, [esp + 0x14]
push ecx
push str.DelSection_4___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea edx, [esp + 0x1c]
push edx
push 0x43490f
push str.DelSection_5
push str.DrvUninstall
call esi
lea eax, [esp + 0x14]
push eax
push str.DelSection_5___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea ecx, [esp + 0x1c]
push ecx
push 0x43490f
push str.DelSection_6
push str.DrvUninstall
call esi
lea edx, [esp + 0x14]
push edx
push str.DelSection_6___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea eax, [esp + 0x1c]
push eax
push 0x43490f
push str.DelSection_7
push str.DrvUninstall
call esi
lea ecx, [esp + 0x14]
push ecx
push str.DelSection_7___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea edx, [esp + 0x1c]
push edx
push 0x43490f
push str.DelSection_8
push str.DrvUninstall
call esi
lea eax, [esp + 0x14]
push eax
push str.DelSection_8___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea ecx, [esp + 0x1c]
push ecx
push 0x43490f
push str.DelSection_9
push str.DrvUninstall
call esi
lea edx, [esp + 0x14]
push edx
push str.DelSection_9___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea eax, [esp + 0x1c]
push eax
push 0x43490f
push str.DelSection_10
push str.DrvUninstall
call esi
lea ecx, [esp + 0x14]
push ecx
push str.DelSection_10___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea edx, [esp + 0x1c]
push edx
push 0x43490f
push str.DelSection_11
push str.DrvUninstall
call esi
lea eax, [esp + 0x14]
push eax
push str.DelSection_11___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea ecx, [esp + 0x1c]
push ecx
push 0x43490f
push str.DelSection_12
push str.DrvUninstall
call esi
lea edx, [esp + 0x14]
push edx
push str.DelSection_12___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea eax, [esp + 0x1c]
push eax
push 0x43490f
push str.DelSection_13
push str.DrvUninstall
call esi
lea ecx, [esp + 0x14]
push ecx
push str.DelSection_13___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea edx, [esp + 0x1c]
push edx
push 0x43490f
push str.DelSection_14
push str.DrvUninstall
call esi
lea eax, [esp + 0x14]
push eax
push str.DelSection_14___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea ecx, [esp + 0x1c]
push ecx
push 0x43490f
push str.DelSection_15
push str.DrvUninstall
call esi
lea edx, [esp + 0x14]
push edx
push str.DelSection_15___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea eax, [esp + 0x1c]
push eax
push 0x43490f
push str.DelSection_16
push str.DrvUninstall
call esi
lea ecx, [esp + 0x14]
push ecx
push str.DelSection_16___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea edx, [esp + 0x1c]
push edx
push 0x43490f
push str.DelSection_17
push str.DrvUninstall
call esi
lea eax, [esp + 0x14]
push eax
push str.DelSection_17___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea ecx, [esp + 0x1c]
push ecx
push 0x43490f
push str.DelSection_18
push str.DrvUninstall
call esi
lea edx, [esp + 0x14]
push edx
push str.DelSection_18___s
jmp 0x4028ba
push 0x43ba98
push 0x104
lea eax, [esp + 0x1c]
push eax
push 0x43490f
push str.DelSection_19
push str.DrvUninstall
call esi
lea ecx, [esp + 0x14]
push ecx
push str.DelSection19___s
push 0x43bba0
call fcn.0040103c
add esp, 0xc
lea edx, [esp + 0x14]
push edx
push str.SetupQueueDeleteSection_Section___s
push 0x43bba0
call fcn.0040103c
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
add esp, 0xc
lea eax, [esp + 0x14]
push eax
push 0
push ecx
push edx
call edi
test eax, eax
jne 0x402907
push str.SetupQueueDeleteSection_fail__
push 0x43bba0
call fcn.0040103c
add esp, 8
add ebp, 1
cmp ebp, 0x14
jl 0x402132
push 0
call dword [sym.imp.SETUPAPI.dll_SetupInitDefaultQueueCallback]
mov edi, dword [esp + 0x10]
mov esi, eax
mov eax, dword [sym.imp.SETUPAPI.dll_SetupDefaultQueueCallbackA]
push esi
push eax
push edi
push 0
call dword [sym.imp.SETUPAPI.dll_SetupCommitFileQueueA]
test eax, eax
jne 0x402961
push str.SetupCommitFileQueue_fail__
push 0x43bba0
call fcn.0040103c
add esp, 8
pop edi
pop ebp
xor eax, eax
pop esi
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.00406884
add esp, 0x174
ret
push esi
call dword [sym.imp.SETUPAPI.dll_SetupTermDefaultQueueCallback]
push edi
call dword [sym.imp.SETUPAPI.dll_SetupCloseFileQueue]
mov ecx, dword [esp + 0xc]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupCloseInfFile]
mov eax, dword [esp + 0x188]
cmp dword [eax + 4], 5
jne 0x402a64
cmp dword [eax + 8], 2
jne 0x402a64
push str.Delete_vm331.sys__
push 0x43bba0
call fcn.0040103c
add esp, 8
push 0x104
lea edx, [esp + 0x7c]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
jl 0x402a52
lea eax, [esp + 0x78]
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x4029c6
mov ecx, dword [str.drivers_vm331avs.sys]
mov edx, dword [0x434214]
mov dword [eax], ecx
mov ecx, dword [0x434218]
mov dword [eax + 4], edx
mov edx, dword [0x43421c]
mov dword [eax + 8], ecx
mov ecx, dword [0x434220]
mov dword [eax + 0xc], edx
mov dx, word [0x434224]
mov dword [eax + 0x10], ecx
mov word [eax + 0x14], dx
lea eax, [esp + 0x78]
push eax
push str.Driver_path___s
push 0x43bba0
call fcn.0040103c
add esp, 0xc
lea ecx, [esp + 0x78]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
je 0x402a34
push str.Delete_vm331.sys_success_
jmp 0x402a57
push str.Delete_vm331.sys_failed_
push 0x43bba0
call fcn.0040103c
add esp, 8
mov ecx, 0x43bba0
call fcn.00401032
jmp 0x402a64
push str.Delete_vm331.sys_failed_
push 0x43bba0
call fcn.0040103c
add esp, 8
mov ecx, dword [esp + 0x17c]
pop edi
pop ebp
pop esi
xor ecx, esp
mov eax, 1
call fcn.00406884
add esp, 0x174
ret