Function at 0x4064d0
Capabilities:
Check if file exists
Persist via run registry key

Disassembly:
push ecx
push ecx
push ebx
push ebp
push esi
mov ebp, str.EloUSB.INF
push edi
mov ebx, 0x412b60
xor esi, esi
push ebp
push ebx
mov dword [esp + 0x18], esi
call fcn.0040255b
pop ecx
test eax, eax
pop ecx
jne 0x4064fa
push 0xffffffffffffff9d
jmp 0x4065e5
mov edi, dword [sym.imp.USER32.dll_LoadStringA]
push 0x64
push 0x412ec0
push 0x11
push dword [0x413044]
call edi
call fcn.0040193a
cmp eax, 1
jne 0x406534
mov esi, 0x413060
push 0x104
push esi
push 0x12
push dword [0x413044]
call edi
push 0xffffffffffffffa0
jmp 0x406553
cmp dword [0x412550], esi
jne 0x40656b
mov esi, 0x413060
push 0x104
push esi
push 0x17
push dword [0x413044]
call edi
push 0xffffffffffffffa1
pop edi
push 0x10
push 0x412ec0
push esi
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, edi
jmp 0x4068be
call fcn.00403dc0
push ebp
push ebx
call fcn.0040255b
pop ecx
test eax, eax
pop ecx
je 0x4065e3
push str.EloVA.EXE
push ebx
call fcn.0040255b
pop ecx
test eax, eax
pop ecx
je 0x4065e3
push str.License.Txt
push ebx
call fcn.0040255b
pop ecx
test eax, eax
pop ecx
je 0x4065e3
push str.EloUSB.Sys
push ebx
call fcn.0040255b
pop ecx
test eax, eax
pop ecx
je 0x4065e3
push str.MonMouse.Cpl
push ebx
call fcn.0040255b
pop ecx
test eax, eax
pop ecx
je 0x4065e3
push str.Readme.Txt
push ebx
call fcn.0040255b
pop ecx
test eax, eax
pop ecx
je 0x4065e3
push str.ZAxis.Exe
push ebx
call fcn.0040255b
pop ecx
test eax, eax
pop ecx
jne 0x4065eb
push 0xffffffffffffff9f
pop eax
jmp 0x4068be
mov edi, fcn.00403e90
push esi
push edi
push esi
mov esi, dword [sym.imp.USER32.dll_DialogBoxParamA]
push 0x68
push dword [0x413044]
call esi
cmp eax, 2
je 0x4068b5
push 1
push 0x410480
push str.USBVID_04E7PID_0001_USBVID_04E7PID_0002_USBVID_04E7PID_0007_USBVID_04E7PID_0008
call fcn.0040136e
add esp, 0xc
test eax, eax
je 0x406647
call fcn.00403dd8
dec eax
dec eax
je 0x4068b5
sub eax, 0x3e8
jne 0x40666b
push 0
push edi
push 0
push 0x68
push dword [0x413044]
jmp 0x406601
push dword [0x413048]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
push 0x40419b
push 0
push 0x6e
push dword [0x413044]
call esi
jmp 0x4068b5
mov edi, 0x412f40
push 0x104
push edi
push 0xc
push dword [0x413044]
call dword [sym.imp.USER32.dll_LoadStringA]
push 0
push 0
push 1
push edi
call fcn.004045bf
push str.EloUSB98
call fcn.0040720a
push str.EloUSBNT
call fcn.0040720a
push str.UsbTouch
call fcn.0040720a
push str.__Elo_TouchSystems_EloUsb.INF_Signature_Line_0x9E46A2B___DO_NOT_CHANGE_THIS_LINE
call fcn.0040733b
push str.__Elo_TouchSystems_USB_Tool_for_Windows_98
call fcn.0040733b
mov esi, 0x413060
push ebx
push esi
call fcn.00407600
push 0x40f068
push esi
call fcn.00407610
push ebp
push esi
call fcn.00407610
mov ebp, 0x4101b8
push ebp
call fcn.004014e5
add esp, 0x40
push ebp
call fcn.004014ef
push 0
push ebx
push str.EloUSB.Install
push esi
push 1
push 0x410480
push str.USBVID_04E7PID_0001_USBVID_04E7PID_0002_USBVID_04E7PID_0007_USBVID_04E7PID_0008
call fcn.00401b60
add esp, 0x20
mov dword [esp + 0x10], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, str.EloUSBRunOnce
mov ebp, 0x80000002
push ebx
push 0x410030
push ebp
mov dword [esp + 0x20], eax
call fcn.00402aec
push ebx
push str.SoftwareMicrosoftWindowsCurrentVersionRunOnceSetup
push ebp
call fcn.00402aec
add esp, 0x18
call fcn.0040193a
cmp eax, 2
jne 0x40676f
push str.Mouse
xor ebp, ebp
push str.4d36e96f_e325_11ce_bfc1_08002be10318
push ebp
push 0x410480
push str.USBVID_04E7PID_0001_USBVID_04E7PID_0002_USBVID_04E7PID_0007_USBVID_04E7PID_0008
call fcn.00401a1d
add esp, 0x14
jmp 0x406771
xor ebp, ebp
cmp dword [esp + 0x10], ebp
jne 0x4067c9
mov ebx, dword [esp + 0x14]
cmp ebx, 0xe000022f
mov dword [esp + 0x10], ebx
jne 0x406794
mov dword [esp + 0x10], 0xffffffa2
jmp 0x4068b5
push 0x104
push edi
push 4
push dword [0x413044]
call dword [sym.imp.USER32.dll_LoadStringA]
push ebx
push ebx
push edi
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push 0x10
push 0x412ec0
push esi
push ebp
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x4068b5
mov dword [esp + 0x10], ebp
call fcn.00404635
call fcn.00401c28
test eax, eax
jne 0x40684c
call fcn.0040193a
cmp eax, 4
jae 0x40684c
call fcn.004044df
push ebp
push 0x412524
call fcn.00404220
pop ecx
test eax, eax
pop ecx
jne 0x40681e
push 0x104
push esi
push 9
push dword [0x413044]
call dword [sym.imp.USER32.dll_LoadStringA]
push 0x10
push 0x412ec0
push esi
push ebp
call dword [sym.imp.USER32.dll_MessageBoxA]
push ebp
push fcn.00403e90
push ebp
push 0x6b
push dword [0x413044]
mov dword [0x41253c], 1
call dword [sym.imp.USER32.dll_DialogBoxParamA]
cmp dword [0x41253c], ebp
je 0x4068b5
call fcn.004042ea
jmp 0x4068b5
push ebp
push fcn.00403e90
push ebp
push 0x72
push dword [0x413044]
call dword [sym.imp.USER32.dll_DialogBoxParamA]
cmp eax, 2
je 0x4068b5
push dword [0x412b44]
push esi
call fcn.00407600
mov edi, 0x40f32c
push 0x104
push edi
push str.USBAppDir
push esi
call fcn.00402b4f
add esp, 0x18
test eax, eax
je 0x4068b0
push edi
push esi
call fcn.00407600
push str.EloLib.Exe__R
push esi
call fcn.00407610
push esi
push ebx
push str.SoftwareMicrosoftWindowsCurrentVersionRunOnceSetup
call fcn.00402b28
add esp, 0x1c
call fcn.004044fc
call fcn.00404635
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
ret