Function at 0x140001210
Capabilities:
Check os version

Disassembly:
push rbx
push rbp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb90
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0xb80], rax
mov ebp, ecx
lea rcx, str.DIFxAPI.dll
xor r15d, r15d
mov rbx, r9
mov r13d, r8d
mov r12, rdx
mov edi, r15d
call fcn.140001110
mov r14, rax
test rax, rax
jne 0x140001270
lea rcx, str.ERROR:_Unable_to_locate_DIFxAPI.dll__n
call fcn.140003308
mov edi, 0x80070002
jmp 0x1400016fa
mov rcx, rax
test ebp, ebp
je 0x1400012a6
lea rdx, str.DriverPackageInstallW
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400163c0], rax
test rax, rax
jne 0x1400012d5
lea rcx, str.ERROR:_Unable_to_retrieve_entry_point_for_DriverPackageInstallW__n
call fcn.140003308
mov edi, 0x8007007f
jmp 0x1400016f1
lea rdx, str.DriverPackageUninstallW
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400163c8], rax
test rax, rax
jne 0x1400012d5
lea rcx, str.ERROR:_Unable_to_retrieve_entry_point_for_DriverPackageUninstallW__n
call fcn.140003308
mov edi, 0x8007007f
jmp 0x1400016f1
lea rdx, str.DIFXAPISetLogCallbackW
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400163d0], rax
test rax, rax
jne 0x140001307
lea rcx, str.ERROR:_Unable_to_retrieve_entry_point_for_DIFXAPISetLogCallbackW__n
call fcn.140003308
mov edi, 0x8007007f
jmp 0x1400016f1
mov qword [rsp + 0xbe0], rsi
mov rsi, r15
test rbx, rbx
je 0x14000134a
lea rdx, [0x14000f338]
mov rcx, rbx
call fcn.140003978
mov rsi, rax
test rax, rax
jne 0x14000133a
lea rcx, str.ERROR:_Unable_to_create_log_file__n
call fcn.140003308
lea rcx, [0x140001090]
mov rdx, rsi
call qword [0x1400163d0]
lea rax, str.7d2c708d_c202_40ab_b3e8_de21da1dc629
lea r8, [rsp + 0x170]
xor r9d, r9d
mov qword [rsp + 0x28], rax
lea rax, str.VirtualBox_Guest_Additions_Install_Helper
mov edx, 0x104
mov qword [rsp + 0x30], rax
lea rax, str.VirtualBox_Guest_Additions
mov rcx, r12
mov qword [rsp + 0x38], rax
lea rax, [0x14000f1d8]
mov qword [rsp + 0x40], rax
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
test eax, eax
jne 0x1400013ad
lea rcx, str.ERROR:_INF_Path_too_long___could_not_be_retrieved__n
call fcn.140003308
mov edi, 0x80070057
jmp 0x1400016e9
lea rcx, str.Installing_driver_..._n
test ebp, ebp
jne 0x1400013bf
lea rcx, str.Uninstalling_driver_..._n
call fcn.140003308
lea rdx, [rsp + 0x170]
lea rcx, str.INF_File:__ws_n
call fcn.140003308
mov eax, 0x24
mov ebx, 4
test ebp, ebp
lea rcx, [rsp + 0x50]
mov r8d, 0x114
cmove ebx, eax
xor edx, edx
call fcn.1400039a0
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x50], 0x114
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x140001431
cmp dword [rsp + 0x60], 2
jne 0x140001431
cmp dword [rsp + 0x54], 6
jae 0x140001431
test ebp, ebp
je 0x140001431
lea rcx, str.Using_legacy_mode_for_install_..._n
call fcn.140003308
or ebx, 0x10
test r13d, r13d
je 0x140001442
lea rcx, str.Installation_is_silent_..._n
call fcn.140003308
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x28]
mov edx, ebx
lea rcx, [rsp + 0x170]
test ebp, ebp
je 0x140001462
call qword [0x1400163c0]
jmp 0x140001468
call qword [0x1400163c8]
mov ebx, eax
test eax, eax
je 0x140001695
cmp eax, 0x643
ja 0x140001573
je 0x140001559
cmp eax, 0x20
ja 0x140001511
je 0x1400014f7
cmp eax, 2
je 0x1400014d5
cmp eax, 5
je 0x1400014bb
cmp eax, 0xa
jne 0x140001625
lea rcx, str.ERROR:_The_current_Microsoft_Windows_version_does_not_support_this_operation__n
call fcn.140003308
movzx edi, bx
or edi, 0x80070000
jmp 0x140001695
lea rcx, str.ERROR:_Caller_is_not_in_Administrators_group_to__un_install_this_driver_package__n
call fcn.140003308
movzx edi, bx
or edi, 0x80070000
jmp 0x140001695
lea rdx, [rsp + 0x170]
lea rcx, str.ERROR:_File_not_found__File___ws_n
call fcn.140003308
movzx edi, bx
or edi, 0x80070000
jmp 0x140001695
lea rcx, str.ERROR:_A_component_of_the_driver_package_in_the_DIFx_driver_store_is_locked_by_a_thread_or_process_n
call fcn.140003308
movzx edi, bx
or edi, 0x80070000
jmp 0x140001695
cmp ebx, 0x103
je 0x14000153f
cmp ebx, 0x3ec
jne 0x140001625
lea rcx, str.ERROR:_The_flags_specified_are_invalid__n
call fcn.140003308
movzx edi, bx
or edi, 0x80070000
jmp 0x140001695
lea rcx, str.ERROR:_The_function_found_a_match_for_the_HardwareId_value__but_the_specified_driver_was_not_a_better_match_than_the_current_driver_and_the_caller_did_not_specify_the_INSTALLFLAG_FORCE_flag__n
call fcn.140003308
movzx edi, bx
or edi, 0x80070000
jmp 0x140001695
lea rcx, str.ERROR:_The__un_install_operation_failed__Consult_the_Setup_API_logs_for_more_information._n
call fcn.140003308
movzx edi, bx
or edi, 0x80070000
jmp 0x140001695
cmp ebx, 0xe0000203
ja 0x140001605
je 0x1400015f9
cmp ebx, 0x65e
je 0x1400015d7
cmp ebx, 0x780
je 0x1400015bd
cmp ebx, 0x80092003
je 0x1400015b1
cmp ebx, 0xe0000101
jne 0x140001625
lea rcx, str.ERROR:_Section_in_.INF_file_was_not_found__n
jmp 0x14000168e
lea rcx, str.ERROR:_The_catalog_file_for_the_specified_driver_package_was_not_found__n
jmp 0x14000168e
lea rcx, str.ERROR:_The_driver_package_files_could_not_be_accessed__n
call fcn.140003308
movzx edi, bx
or edi, 0x80070000
jmp 0x140001695
lea rdx, [rsp + 0x170]
lea rcx, str.ERROR:_The_driver_package_type_is_not_supported_of_INF__ws__n
call fcn.140003308
movzx edi, bx
or edi, 0x80070000
jmp 0x140001695
lea rcx, str.ERROR:_No_driver_in_.INF_file_selected__n
jmp 0x14000168e
cmp ebx, 0xe0000235
je 0x140001687
cmp ebx, 0xe0000247
je 0x14000167e
cmp ebx, 0xe0000300
je 0x140001675
cmp ebx, 0xe0000302
je 0x14000165f
lea rdx, [rsp + 0x380]
mov r8d, 0x800
mov ecx, ebx
call section..text
lea r8, [rsp + 0x380]
lea rcx, str.ERROR___08x_:__ws_n
mov edx, ebx
call fcn.140003308
test ebx, ebx
jle 0x140001693
movzx edi, bx
or edi, 0x80070000
jmp 0x140001695
lea rdx, [rsp + 0x170]
lea rcx, str.ERROR:_There_is_no_INF_file_in_the_DIFx_driver_store_that_corresponds_to_the_INF_file__ws__n
call fcn.140003308
jmp 0x140001693
lea rcx, str.ERROR:_DriverPackageUninstall_removed_an_association_between_the_driver_package_and_the_specified_application_but_the_function_did_not_uninstall_the_driver_package_because_other_applications_are_associated_with_the_driver_package__n
jmp 0x14000168e
lea rcx, str.ERROR:_Adding_driver_to_the_driver_store_failed___n
jmp 0x14000168e
lea rcx, str.ERROR:_The_calling_application_is_a_32_bit_application_attempting_to_execute_in_a_64_bit_environment__which_is_not_allowed__n
call fcn.140003308
mov edi, ebx
xor edx, edx
xor ecx, ecx
call qword [0x1400163d0]
test rsi, rsi
je 0x1400016ac
mov rcx, rsi
call fcn.140003830
test edi, edi
js 0x1400016e9
lea rax, [0x14000e4d4]
lea rbx, [0x14000e4cc]
test ebp, ebp
cmovne rbx, rax
lea rcx, str.Driver_was__sinstalled_successfully__n
mov rdx, rbx
call fcn.140003308
cmp dword [rsp + 0x20], r15d
je 0x1400016e9
lea rcx, str.A_reboot_is_needed_to_complete_the_driver__sinstallation__n
mov rdx, rbx
call fcn.140003308
mov rsi, qword [rsp + 0xbe0]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, 2
test edi, edi
cmovns eax, r15d
mov rcx, qword [rsp + 0xb80]
xor rcx, rsp
call fcn.140003450
add rsp, 0xb90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rbp
pop rbx
ret