Function at 0x1401b4f90
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x5b0]
sub rsp, 0x6b0
mov rax, qword [0x1403a1d18]
xor rax, rsp
mov qword [rbp + 0x5a0], rax
mov r13, rdx
mov rbx, rcx
xor edi, edi
mov r12d, edi
mov qword [rsp + 0x48], rdi
xor edx, edx
mov r8d, 0x400
lea rcx, [rbp + 0x1a0]
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x58], rdi
lea r8d, [rdi + 0x32]
lea rdx, [rbp + 0x130]
mov rcx, rbx
call qword [sym.imp.ole32.dll_StringFromGUID2]
test eax, eax
jne 0x1401b502e
mov r12d, 0x80004005
lea rcx, str.Failed_to_create_a_Guid_string
call fcn.1401b1440
lea rdx, str.Failed_to_create_a_Guid_string
lea rcx, [rsp + 0x48]
call fcn.1401b1090
jmp 0x1401b519d
lea r9, [rbp + 0x130]
lea r8, str.SYSTEMCurrentControlSetControlNetwork4D36E972_E325_11CE_BFC1_08002BE10318_ls
mov edx, 0xb2
lea rcx, [rbp - 0x60]
call qword [sym.imp.BstkRT.dll_RTUtf16Printf]
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, [rbp - 0x60]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ebx, eax
test eax, eax
jne 0x1401b516c
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x1401b516c
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.Connection
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov ebx, eax
test eax, eax
jne 0x1401b514a
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1401b514a
mov dword [rsp + 0x50], 0x3fe
mov dword [rsp + 0x40], 0xffffffff
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x1a0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
xor r8d, r8d
lea rdx, str.PnPInstanceID
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ebx, eax
mov r9d, dword [rsp + 0x40]
test eax, eax
jne 0x1401b510f
cmp r9d, 1
je 0x1401b519d
mov r12d, 0x80004005
mov r8d, ebx
lea rdx, [rbp - 0x60]
lea rcx, str.Host_interface_network_is_not_found_in_registry___S_:_lrc_u__dwType_u__3_
call fcn.1401b1440
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x20], eax
mov r9d, ebx
lea r8, [rbp - 0x60]
lea rdx, str.Host_interface_network_is_not_found_in_registry___S_:_lrc_u__dwType_u__3_
lea rcx, [rsp + 0x48]
call fcn.1401b1090
jmp 0x1401b519d
mov r12d, 0x80004005
mov r8d, ebx
lea rdx, [rbp - 0x60]
lea rcx, str.Host_interface_network_is_not_found_in_registry___S_:_lrc_u__2_
call fcn.1401b1440
lea rdx, str.Host_interface_network_is_not_found_in_registry___S_:_lrc_u__2_
jmp 0x1401b518c
mov r12d, 0x80004005
mov r8d, ebx
lea rdx, [rbp - 0x60]
lea rcx, str.Host_interface_network_is_not_found_in_registry___S_:_lrc_u__1_
call fcn.1401b1440
lea rdx, str.Host_interface_network_is_not_found_in_registry___S_:_lrc_u__1_
mov r9d, ebx
lea r8, [rbp - 0x60]
lea rcx, [rsp + 0x48]
call fcn.1401b1090
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1401b51ad
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x1401b51bd
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test r12d, r12d
js 0x1401b5465
mov dword [rsp + 0x68], 0x20
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x6c], xmm0
mov qword [rsp + 0x7c], rax
mov dword [rbp - 0x7c], eax
movups xmm0, xmmword [0x1402b7128]
movups xmmword [rbp - 0x78], xmm0
lea r9d, [rax + 2]
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x78]
call qword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x1401b5240
mov r12d, 0x80004005
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.SetupDiGetClassDevs_failed__0x_08X_
call fcn.1401b1440
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r8d, eax
lea rdx, str.SetupDiGetClassDevs_failed__0x_08X_
lea rcx, [rsp + 0x48]
call fcn.1401b1090
jmp 0x1401b5465
xor r15b, r15b
mov r14d, edi
nop word [rax + rax]
lea r8, [rsp + 0x68]
mov edx, r14d
mov rcx, rsi
call qword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
test eax, eax
jne 0x1401b527b
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x103
je 0x1401b53e3
jmp 0x1401b539a
mov dword [rsp + 0x40], edi
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
lea r8d, [r9 + 1]
lea rdx, [rsp + 0x68]
mov rcx, rsi
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyW]
test eax, eax
jne 0x1401b539a
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1401b539a
mov ecx, dword [rsp + 0x40]
add rcx, 4
lea rdx, str.C:_virtualbox_srcVBoxHostDriversVBoxNetFltwincfgVBoxNetCfg.cpp
call qword [sym.imp.BstkRT.dll_RTMemAllocZTag]
mov rdi, rax
test rax, rax
je 0x1401b53e1
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
xor r9d, r9d
lea r8d, [r9 + 1]
lea rdx, [rsp + 0x68]
mov rcx, rsi
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyW]
test eax, eax
je 0x1401b538f
mov rbx, rdi
cmp dword [rsp + 0x40], 0
jbe 0x1401b538f
nop dword [rax]
cmp word [rbx], 0
je 0x1401b538f
mov rdx, rbx
lea rcx, str.sun_VBoxNetAdp
call qword [sym.imp.BstkRT.dll_RTUtf16ICmp]
test eax, eax
jne 0x1401b536a
xor r9d, r9d
mov r8d, reloc.OLEAUT32.dll_SetErrorInfo
lea rdx, [rbp - 0x60]
mov ecx, dword [rsp + 0x7c]
call qword [sym.imp.SETUPAPI.dll_CM_Get_Device_IDW]
test eax, eax
jne 0x1401b536a
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp - 0x60]
call qword [sym.imp.BstkRT.dll_RTUtf16Cmp]
test eax, eax
je 0x1401b538c
mov rcx, rbx
call qword [sym.imp.BstkRT.dll_RTUtf16Len]
lea rbx, [rbx + rax*2]
add rbx, 2
mov rcx, rbx
sub rcx, rdi
mov eax, dword [rsp + 0x40]
cmp rcx, rax
jae 0x1401b538f
jmp 0x1401b5320
mov r15b, 1
mov rcx, rdi
call qword [sym.imp.BstkRT.dll_RTMemFree]
xor edi, edi
inc r14d
test r15b, r15b
je 0x1401b5250
lea rdx, [rsp + 0x68]
mov rcx, rsi
call qword [sym.imp.SETUPAPI.dll_SetupDiSetSelectedDevice]
test eax, eax
jne 0x1401b5411
mov r12d, 0x80004005
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.SetupDiSetSelectedDevice_failed__0x_08X_
call fcn.1401b1440
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.SetupDiSetSelectedDevice_failed__0x_08X_
jmp 0x1401b544f
xor edi, edi
test r15b, r15b
jne 0x1401b53a6
mov r12d, 0x80004005
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.Host_Interface_Network_driver_not_found__0x_08X_
call fcn.1401b1440
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.Host_Interface_Network_driver_not_found__0x_08X_
jmp 0x1401b544f
lea r8, [rsp + 0x68]
mov rdx, rsi
mov ecx, 5
call qword [sym.imp.SETUPAPI.dll_SetupDiCallClassInstaller]
test eax, eax
jne 0x1401b545c
mov r12d, 0x80004005
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str.SetupDiCallClassInstaller__DIF_REMOVE__failed__0x_08X_
call fcn.1401b1440
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str.SetupDiCallClassInstaller__DIF_REMOVE__failed__0x_08X_
mov r8d, eax
lea rcx, [rsp + 0x48]
call fcn.1401b1090
mov rcx, rsi
call qword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
test r13, r13
je 0x1401b5487
mov qword [r13], rdi
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x1401b5487
cmp word [rcx], 0
je 0x1401b5487
mov qword [r13], rcx
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x48]
call fcn.1401b06b0
nop
mov eax, r12d
mov rcx, qword [rbp + 0x5a0]
xor rcx, rsp
call fcn.1401af5e0
mov rbx, qword [rsp + 0x700]
add rsp, 0x6b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret