Function at 0x428f90
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3dc
mov eax, dword [0x4ed018]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x10]
push 0x3a
mov dword [ebp - 0x3c8], eax
lea eax, [ebp - 0x72]
push 0
push eax
mov dword [ebp - 0x3d0], esi
call fcn.00411960
push 0x20a
lea eax, [ebp - 0x280]
push 0
push eax
call fcn.00411960
add esp, 0x18
mov dword [ebp - 0x3dc], 0x105
mov dword [ebp - 0x3d4], 0
mov dword [ebp - 0x3d8], 0
test ebx, ebx
je 0x4298ea
test esi, esi
je 0x4298ea
cmp dword [esi], 0
je 0x42901f
push str.VNLInstallNetworkAdapterW2K:_Callers_parameter_already_indicates_reboot_required
push 8
call fcn.00446b80
add esp, 8
push ebx
call fcn.0041e620
mov esi, eax
add esp, 4
lfence
test esi, esi
jns 0x429053
push ebx
push str.VNLInstallNetworkAdapterW2K:_invalid_vnet_name:__s
push 1
call fcn.00446b80
add esp, 0xc
xor eax, eax
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401bd5
mov esp, ebp
pop ebp
ret
push esi
push str.VNLInstallNetworkAdapterW2K:_vnet_number_is:__d
push 0x20
call fcn.00446b80
push 0x4e20
call fcn.004364c0
call fcn.00428620
push 0x3c
lea eax, [ebp - 0x74]
push 0
push eax
call fcn.00411960
push esi
push str.VMnetAdapter_d
lea eax, [ebp - 0x74]
push 0x1e
push eax
call fcn.00419510
lea ecx, [ebp - 0x74]
add esp, 0x2c
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x429096
sub ecx, edx
sar ecx, 1
mov dword [ebp - 0x3cc], ecx
lea ecx, [ecx*2 + 2]
cmp ecx, 0x3c
jae 0x42990d
xor eax, eax
mov word [ebp + ecx - 0x74], ax
lea eax, [ebp - 0x74]
push eax
push str.VNLInstallNetworkAdapterW2K:_hardware_ID_is:__S
push 0x20
call fcn.00446b80
add esp, 0xc
lea eax, [ebp - 0x3dc]
push eax
lea eax, [ebp - 0x280]
push eax
call fcn.00418120
test eax, eax
jne 0x429111
push str.VNLInstallNetworkAdapterW2K:_could_not_get_product_install_path
push 1
call fcn.00446b80
mov eax, dword [ebp - 0x3d8]
add esp, 8
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401bd5
mov esp, ebp
pop ebp
ret
push edi
lea edi, [ebp - 0x280]
lfence
add edi, 0xfffffffe
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x429120
mov ecx, 7
mov esi, str.netadapter.inf
rep movsd dword es:[edi], dword [esi]
push 0
push 0
push 0
push ebx
movsw word es:[edi], word [esi]
call fcn.00427710
add esp, 0x10
lfence
push ebx
test eax, eax
je 0x429249
push str.VNLInstallNetworkAdapterW2K:_device_already_found:__s
push 2
mov dword [ebp - 0x3cc], 0
call fcn.00446b80
push str.VNLInstallNetworkAdapterW2K:_calling_UpdateDriverForPlugAndPlayDevices
push 0x20
call fcn.00446b80
add esp, 0x14
lea eax, [ebp - 0x3cc]
push eax
push 1
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x3c8]
call sub.newdev.dll_UpdateDriverForPlugAndPlayDevicesW
test eax, eax
jne 0x4291f7
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xe000022f
jne 0x4291d0
push str.VNLInstallNetworkAdapterW2K:_device_update_failed:_no_catalog_or_user_system_refused_unsigned_install
push 1
call fcn.00446b80
mov eax, dword [ebp - 0x3d8]
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401bd5
mov esp, ebp
pop ebp
ret
push eax
push str.VNLInstallNetworkAdapterW2K:_device_update_failed:_0x_08x
push 1
call fcn.00446b80
mov eax, dword [ebp - 0x3d8]
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401bd5
mov esp, ebp
pop ebp
ret
push str.VNLInstallNetworkAdapterW2K:_device_was_successfully_updated
push 0x12
call fcn.00446b80
add esp, 8
cmp dword [ebp - 0x3cc], 0
je 0x429232
push str.VNLInstallNetworkAdapterW2K:_update_driver_indicates_reboot_required
push 2
call fcn.00446b80
mov edi, dword [ebp - 0x3d0]
add esp, 8
or esi, 0xffffffff
mov dword [edi], 1
jmp 0x4297f9
push str.VNLInstallNetworkAdapterW2K:_update_driver_indicates_reboot_not_required
push 0x20
call fcn.00446b80
add esp, 8
or esi, 0xffffffff
jmp 0x4297f9
push str.VNLInstallNetworkAdapterW2K:_device_NOT_already_found:__s
push 0x20
call fcn.00446b80
lea eax, [ebp - 0x280]
push 0x5000
push eax
call fcn.00436170
add esp, 0x14
test eax, eax
lea eax, [ebp - 0x280]
push eax
jne 0x42929a
push str.VNLInstallNetworkAdapterW2K:_could_not_copy_inf_file:__S
push 1
call fcn.00446b80
mov eax, dword [ebp - 0x3d8]
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401bd5
mov esp, ebp
pop ebp
ret
push str.VNLInstallNetworkAdapterW2K:_copied_inf_file:__S
push 0x10
call fcn.00446b80
mov edi, dword [ebp - 0x3c8]
add esp, 0xc
push edi
push 0x4bdf2c
call dword [sym.imp.SETUPAPI.dll_SetupDiCreateDeviceInfoList]
mov esi, eax
cmp esi, 0xffffffff
jne 0x4292ef
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.VNLInstallNetworkAdapterW2K:_could_not_create_device_info_list:_0x_08x
push 1
call fcn.00446b80
mov eax, dword [ebp - 0x3d8]
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401bd5
mov esp, ebp
pop ebp
ret
push str.VNLInstallNetworkAdapterW2K:_created_device_info_list
push 0x10
call fcn.00446b80
mov eax, dword [str.VMWARE]
xorps xmm0, xmm0
mov dword [ebp - 0x24], eax
mov ax, word [0x4aeaac]
mov word [ebp - 0x20], ax
mov al, byte [0x4aeaae]
mov byte [ebp - 0x1e], al
lea eax, [ebp - 0x24]
push eax
push str.VNLInstallNetworkAdapterW2K:_device_name:__s
push 0x20
movups xmmword [ebp - 0x1d], xmm0
mov dword [ebp - 0xd], 0
mov word [ebp - 9], 0
mov byte [ebp - 7], 0
movlpd qword [ebp - 0x298], xmm0
movlpd qword [ebp - 0x290], xmm0
movlpd qword [ebp - 0x288], xmm0
mov dword [ebp - 0x29c], 0x1c
call fcn.00446b80
add esp, 0x14
lea eax, [ebp - 0x29c]
push eax
push 1
push edi
push 0
push 0x4bdf2c
lea eax, [ebp - 0x24]
push eax
push esi
call dword [sym.imp.SETUPAPI.dll_SetupDiCreateDeviceInfoA]
test eax, eax
jne 0x4293db
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp edi, 5
jne 0x4293ab
push eax
push str.VNLInstallNetworkAdapterW2K:_could_not_create_device_info_object:_ERROR_ACCESS_DENIED_0x_08x
push 1
call fcn.00446b80
push 0xffffffffffffffff
call fcn.0041ce40
add esp, 0x10
jmp 0x42988c
push edi
push str.VNLInstallNetworkAdapterW2K:_could_not_create_device_info_object:_0x_08x
push 1
call fcn.00446b80
add esp, 0xc
cmp edi, 0xe0000207
jne 0x42988c
push str.VNLInstallNetworkAdapterW2K:_device_already_exists__device_config_cleanup_recommended
push 1
call fcn.00446b80
add esp, 8
jmp 0x42988c
push str.VNLInstallNetworkAdapterW2K:_created_device_info_object
push 0x10
lfence
call fcn.00446b80
mov eax, dword [ebp - 0x3cc]
add esp, 8
mov dword [ebp - 0x3d4], 1
lea eax, [eax*2 + 4]
push eax
lea eax, [ebp - 0x74]
push eax
push 1
lea eax, [ebp - 0x29c]
push eax
push esi
call dword [sym.imp.SETUPAPI.dll_SetupDiSetDeviceRegistryPropertyW]
test eax, eax
jne 0x429438
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.VNLInstallNetworkAdapterW2K:_could_not_register_device_property:_0x_08x
push 1
call fcn.00446b80
add esp, 0xc
jmp 0x42984e
push str.VNLInstallNetworkAdapterW2K:_registered_device_property
push 0x10
call fcn.00446b80
add esp, 8
lea eax, [ebp - 0x29c]
push eax
push esi
push 0x19
call dword [sym.imp.SETUPAPI.dll_SetupDiCallClassInstaller]
test eax, eax
jne 0x429476
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.VNLInstallNetworkAdapterW2K:_call_to_class_installer_failed:_0x_08x
push 1
call fcn.00446b80
add esp, 0xc
jmp 0x42984e
push str.VNLInstallNetworkAdapterW2K:_class_installer_successfully_called
push 0x10
call fcn.00446b80
push str.VNLInstallNetworkAdapterW2K:_calling_UpdateDriverForPlugAndPlayDevices
push 0x20
mov dword [ebp - 0x3c8], 0
call fcn.00446b80
add esp, 0x10
lea eax, [ebp - 0x3c8]
push eax
push 1
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x74]
push eax
push edi
call sub.newdev.dll_UpdateDriverForPlugAndPlayDevicesW
test eax, eax
jne 0x42952a
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xe000022f
jne 0x4294d7
push str.VNLInstallNetworkAdapterW2K:_device_install_failed:_no_catalog_or_user_system_refused_unsigned_install
push 1
call fcn.00446b80
add esp, 8
jmp 0x4294e7
push eax
push str.VNLInstallNetworkAdapterW2K:_device_install_failed:_0x_08x
push 1
call fcn.00446b80
add esp, 0xc
lea eax, [ebp - 0x29c]
push eax
push esi
push 5
call dword [sym.imp.SETUPAPI.dll_SetupDiCallClassInstaller]
test eax, eax
jne 0x429516
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.VNLInstallNetworkAdapterW2K:_device_remove_failed:_0x_08x
push 1
call fcn.00446b80
add esp, 0xc
jmp 0x42984e
push str.VNLInstallNetworkAdapterW2K:_device_remove_successful
push 0x10
call fcn.00446b80
add esp, 8
jmp 0x42984e
push str.VNLInstallNetworkAdapterW2K:_device_was_successfully_installed
push 0x12
lfence
call fcn.00446b80
add esp, 8
cmp dword [ebp - 0x3c8], 0
je 0x42955f
push str.VNLInstallNetworkAdapterW2K:_update_driver_indicates_reboot_required
push 2
call fcn.00446b80
mov edi, dword [ebp - 0x3d0]
mov dword [edi], 1
jmp 0x429571
push str.VNLInstallNetworkAdapterW2K:_update_driver_indicates_reboot_not_required
push 0x20
call fcn.00446b80
mov edi, dword [ebp - 0x3d0]
add esp, 8
push 1
push 0
push 0
push ebx
call fcn.00427710
add esp, 0x10
test eax, eax
je 0x4296b4
push ebx
lfence
xorps xmm0, xmm0
mov dword [ebp - 0x3cc], 0x14
push str.VNLUpdateAdapterJumboFrameSize:_VNLUpdateAdapterJumboFrameSize_for__s
push 0x20
movups xmmword [ebp - 0x30], xmm0
movups xmmword [ebp - 0x20], xmm0
movq qword [ebp - 0x10], xmm0
call fcn.00446b80
lea eax, [ebp - 0x3cc]
push eax
lea eax, [ebp - 0x30]
push eax
push 0x4adc14
push 0
push ebx
lfence
call fcn.00417040
add esp, 0x20
lfence
test eax, eax
je 0x429690
push 3
push ebx
call fcn.00427b70
mov edx, eax
add esp, 8
mov dword [ebp - 0x3d0], edx
lfence
test edx, edx
jne 0x42960d
push ebx
push str.VNLUpdateAdapterJumboFrameSize:_Cant_open_vmnet_key_to_read_for__s
push 1
call fcn.00446b80
add esp, 0xc
jmp 0x4296a5
lea ecx, [ebp - 0x30]
lea eax, [ecx + 2]
mov dword [ebp - 0x3c8], eax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x429620
sub ecx, dword [ebp - 0x3c8]
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [ebp - 0x30]
push eax
push 1
push 0
push 0x4adb70
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 0x3d0]
mov dword [ebp - 0x3c8], eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x3c8], 0
je 0x4296a5
lfence
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp - 0x3c8]
push 0x4adb70
push str.VNLUpdateAdapterJumboFrameSize:_couldnt_set_property___S_:_0x_08x_0x_08x
push 1
call fcn.00446b80
add esp, 0x14
jmp 0x4296a5
push ebx
push str.JumboPacket
push str.VNLUpdateAdapterJumboFrameSize:_There_has_no_property___S__for__s_configured
push 2
call fcn.00446b80
add esp, 0x10
push 0
push 1
push 0
push ebx
call fcn.00427710
add esp, 0x10
push 0x124
lea eax, [ebp - 0x3c0]
push 0
push eax
call fcn.00411960
add esp, 0xc
mov dword [ebp - 0x3c4], 0x128
lea eax, [ebp - 0x3c4]
push eax
lea eax, [ebp - 0x29c]
push eax
push esi
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstallParamsA]
test eax, eax
jne 0x4296fe
push str.VNLInstallNetworkAdapterW2K:_failed_to_obtain_device_parameters
push 1
call fcn.00446b80
jmp 0x42979b
test byte [ebp - 0x3bc], 0x80
je 0x42972b
push str.VNLInstallNetworkAdapterW2K:_OS_reports_that_install_failed
push 1
call fcn.00446b80
add esp, 8
lea eax, [ebp - 0x29c]
push eax
push esi
push 5
call dword [sym.imp.SETUPAPI.dll_SetupDiCallClassInstaller]
jmp 0x42984e
push str.VNLInstallNetworkAdapterW2K:_OS_does_not_report_that_install_failed
push 0x10
call fcn.00446b80
mov ecx, dword [ebp - 0x3bc]
mov edx, str.VNLInstallNetworkAdapterW2K:_OS_reports_that_a_class_installer_failed
and ecx, 4
mov eax, str.VNLInstallNetworkAdapterW2K:_OS_does_not_report_that_a_class_installer_failed
cmovne eax, edx
test ecx, 4
push eax
mov edx, 0x10
mov eax, 1
cmove eax, edx
push eax
call fcn.00446b80
mov eax, dword [ebp - 0x3c0]
add esp, 0x10
test eax, 0x100
jne 0x429789
test al, al
js 0x429789
push str.VNLInstallNetworkAdapterW2K:_reboot_not_required
push 0x20
call fcn.00446b80
jmp 0x42979b
push str.VNLInstallNetworkAdapterW2K:_reboot_required
push 2
call fcn.00446b80
mov dword [edi], 1
add esp, 8
lea eax, [ebp - 0x38]
push 0x32
push 0
push eax
call fcn.00411960
add esp, 0xc
lea eax, [ebp - 0x38]
push 0
push 0x19
push eax
lea eax, [ebp - 0x29c]
push eax
push esi
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstanceIdW]
test eax, eax
jne 0x4297d6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.VNLInstallNetworkAdapterW2K:_Failed_to_obtain_instanceID_for_rebinding:_0x_08x
jmp 0x4297ef
lea eax, [ebp - 0x38]
push eax
call fcn.004280b0
add esp, 4
test eax, eax
jne 0x4297f9
lea eax, [ebp - 0x38]
push eax
push str.VNLInstallNetworkAdapterW2K:_Failed_to_change_the_binding_order_for:__S
push 1
call fcn.00446b80
add esp, 0xc
push 0
push ebx
lfence
call fcn.00429c10
add esp, 8
lfence
test eax, eax
jne 0x42981a
mov eax, 1
mov ecx, str.VNLInstallNetworkAdapterW2K:_failed_to_set_connection_name_for_device:__s
jmp 0x429824
mov eax, 0x10
mov ecx, str.VNLInstallNetworkAdapterW2K:_Successfully_set_connection_name_for_device:__s
push ebx
push ecx
push eax
call fcn.00446b80
push str.VNLInstallNetworkAdapterW2K:_install_appears_to_be_successful
push 2
call fcn.00446b80
add esp, 0x14
mov dword [ebp - 0x3d8], 1
cmp dword [ebp - 0x3d4], 0
je 0x429887
lea eax, [ebp - 0x29c]
push eax
push esi
call dword [sym.imp.SETUPAPI.dll_SetupDiDeleteDeviceInfo]
test eax, eax
jne 0x429878
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.VNLInstallNetworkAdapterW2K:_device_delete_failed:_0x_08x
push 1
call fcn.00446b80
add esp, 0xc
jmp 0x429887
push str.VNLInstallNetworkAdapterW2K:_device_info_delete_successful
push 0x10
call fcn.00446b80
add esp, 8
cmp esi, 0xffffffff
je 0x4298d3
push esi
call dword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
test eax, eax
jne 0x4298c4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.VNLInstallNetworkAdapterW2K:_delete_device_list_failed:_0x_08x
push 1
call fcn.00446b80
mov eax, dword [ebp - 0x3d8]
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401bd5
mov esp, ebp
pop ebp
ret
push str.VNLInstallNetworkAdapterW2K:_delete_device_info_list_successful
push 0x10
call fcn.00446b80
add esp, 8
mov eax, dword [ebp - 0x3d8]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401bd5
mov esp, ebp
pop ebp
ret
push esi
push ebx
push str.VNLInstallNetworkAdapterW2K:_invalid_parameters:_0x_08x_0x_08x
push 1
call fcn.00446b80
mov ecx, dword [ebp - 4]
add esp, 0x10
xor ecx, ebp
xor eax, eax
pop esi
pop ebx
call fcn.00401bd5
mov esp, ebp
pop ebp
ret
call fcn.00401d05
int3