Function at 0x140001610
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push r12
push r15
lea rbp, [rsp - 0x228]
sub rsp, 0x328
mov rax, qword [0x140008008]
xor rax, rsp
mov qword [rbp + 0x200], rax
mov r12, qword [rbp + 0x270]
mov r15, r9
mov rbx, r8
test r8, r8
je 0x140001af3
test r9, r9
je 0x140001af3
test r12, r12
je 0x140001af3
xor edx, edx
mov qword [rsp + 0x350], rsi
lea rcx, [0x140004980]
call qword [sym.imp.SETUPAPI.dll_SetupDiCreateDeviceInfoList]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x1400016c4
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.tap_create_adapter
mov ebx, eax
lea rdx, str._s:_SetupDiCreateDeviceInfoList_failed
lea ecx, [rsi + 0x21]
call section..text
mov eax, ebx
mov rsi, qword [rsp + 0x350]
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.140003170
add rsp, 0x328
pop r15
pop r12
pop rbx
pop rbp
ret
xor r9d, r9d
mov qword [rsp + 0x320], rdi
lea rdx, [rbp + 0x1c0]
lea rcx, [0x140004980]
lea r8d, [r9 + 0x20]
call qword [sym.imp.SETUPAPI.dll_SetupDiClassNameFromGuidW]
test eax, eax
jne 0x140001710
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.tap_create_adapter
mov ecx, 0x20
lea rdx, str._s:_SetupDiClassNameFromGuid_failed
mov edi, eax
call section..text
jmp 0x140001adb
xor eax, eax
mov qword [rsp + 0x318], r13
xor r13d, r13d
mov qword [rbp + 0x1aa], rax
mov word [rbp + 0x1b2], ax
lea r9, str.Virtual_Ethernet
lea rax, [rbp + 0x1a0]
mov qword [rbp + 0x1a0], 0x20
mov qword [rsp + 0x30], rax
lea r8, [0x140004980]
mov dword [rsp + 0x28], 1
lea rdx, [rbp + 0x1c0]
mov rcx, rsi
mov qword [rsp + 0x20], r13
mov word [rbp + 0x1a8], r13w
mov dword [rbp + 0x1b4], r13d
mov qword [rbp + 0x1b8], r13
call qword [sym.imp.SETUPAPI.dll_SetupDiCreateDeviceInfoW]
test eax, eax
jne 0x14000179f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
lea rdx, str._s:_SetupDiCreateDeviceInfo_failed
lea ecx, [r13 + 0x20]
jmp 0x140001ac7
lea rdx, [rbp + 0x1a0]
mov rcx, rsi
call qword [sym.imp.SETUPAPI.dll_SetupDiSetSelectedDevice]
test eax, eax
jne 0x1400017cc
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str._s:_SetupDiSetSelectedDevice_failed
mov ecx, 0x20
mov edi, eax
jmp 0x140001ac7
mov rax, 0xffffffffffffffff
cmp word [rbx + rax*2 + 2], r13w
lea rax, [rax + 1]
jne 0x1400017d3
lea eax, [rax*2 + 2]
mov r9, rbx
mov r8d, 1
mov dword [rsp + 0x20], eax
lea rdx, [rbp + 0x1a0]
mov rcx, rsi
call qword [sym.imp.SETUPAPI.dll_SetupDiSetDeviceRegistryPropertyW]
test eax, eax
jne 0x140001820
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str._s:_SetupDiSetDeviceRegistryProperty_failed
mov ecx, 0x20
mov edi, eax
jmp 0x140001ac7
lea r8, [rbp + 0x1a0]
mov rdx, rsi
mov ecx, 0x19
call qword [sym.imp.SETUPAPI.dll_SetupDiCallClassInstaller]
test eax, eax
jne 0x140001852
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdx, str._s:_SetupDiCallClassInstaller_DIF_REGISTERDEVICE__failed
mov ecx, 0x20
mov edi, eax
jmp 0x140001ac7
mov qword [rsp + 0x28], r15
lea r8, [rbp + 0x1a0]
xor r9d, r9d
mov dword [rsp + 0x20], r13d
mov rdx, rsi
xor ecx, ecx
call qword [sym.imp.newdev.dll_DiInstallDevice]
test eax, eax
jne 0x14000189a
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.tap_create_adapter
mov ecx, 0x120
lea rdx, str._s:_DiInstallDevice_failed
mov edi, eax
call section..text
jmp 0x1400019c5
mov ebx, 0x1e
mov dword [rsp + 0x28], 0x20019
xor r9d, r9d
mov qword [rsp + 0x310], r14
lea rdx, [rbp + 0x1a0]
mov dword [rsp + 0x20], 2
mov rcx, rsi
lea r8d, [rbx - 0x1d]
call qword [sym.imp.SETUPAPI.dll_SetupDiOpenDevRegKey]
mov r14, rax
cmp rax, 0xffffffffffffffff
jne 0x1400018fc
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.get_net_adapter_guid
mov ecx, 0x120
lea rdx, str._s:_SetupDiOpenDevRegKey_failed
mov edi, eax
call section..text
jmp 0x1400019bd
mov qword [rbp + 0x190], r13
nop dword [rax]
nop word [rax + rax]
mov qword [rsp + 0x28], r13
lea rdx, str.NetCfgInstanceId
xor r9d, r9d
mov qword [rsp + 0x20], r13
xor r8d, r8d
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov edi, eax
test eax, eax
je 0x140001970
cmp eax, 2
jne 0x14000194e
dec ebx
test ebx, ebx
jle 0x14000194e
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140001910
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r8, str.get_net_adapter_guid
mov ecx, 0x120
lea rdx, str._s:_querying__NetCfgInstanceId__registry_value_failed
call section..text
jmp 0x1400019b4
lea r8, [rbp + 0x190]
mov rcx, r14
lea rdx, str.NetCfgInstanceId
call fcn.140001370
mov edi, eax
test eax, eax
jne 0x1400019b4
mov rcx, qword [rbp + 0x190]
mov rdx, r12
call qword [sym.imp.ole32.dll_CLSIDFromString]
mov rcx, qword [rbp + 0x190]
mov edi, 0xd
test eax, eax
cmovns edi, r13d
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r14, qword [rsp + 0x310]
test edi, edi
je 0x140001ad3
mov r9d, 0x10
mov dword [rbp + 0x190], 8
lea r8, [rbp + 0x190]
mov dword [rbp + 0x194], 5
lea rdx, [rbp + 0x1a0]
mov qword [rbp + 0x198], 1
mov rcx, rsi
call qword [sym.imp.SETUPAPI.dll_SetupDiSetClassInstallParamsW]
test eax, eax
je 0x140001abb
lea r8, [rbp + 0x1a0]
mov rdx, rsi
mov ecx, 5
call qword [sym.imp.SETUPAPI.dll_SetupDiCallClassInstaller]
test eax, eax
je 0x140001ab2
xorps xmm0, xmm0
mov qword [rsp + 0x40], 0x248
xor edx, edx
movdqa xmmword [rsp + 0x60], xmm0
mov r8d, 0x20c
mov dword [rsp + 0x48], r13d
lea rcx, [rsp + 0x7c]
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x78], r13d
call sub.VCRUNTIME140.dll_memset
lea r8, [rsp + 0x40]
mov rcx, rsi
lea rdx, [rbp + 0x1a0]
call qword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstallParamsW]
test eax, eax
jne 0x140001a9f
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r8, str.check_reboot
mov ecx, 0x120
lea rdx, str._s:_SetupDiGetDeviceInstallParams_failed
jmp 0x140001ace
test dword [rsp + 0x44], 0x180
je 0x140001ad3
mov dword [r15], 1
jmp 0x140001ad3
lea rdx, str._s:_SetupDiCallClassInstaller_DIF_REMOVE__failed
jmp 0x140001ac2
lea rdx, str._s:_SetupDiSetClassInstallParams_failed
mov ecx, 0x120
lea r8, str.tap_create_adapter
call section..text
mov r13, qword [rsp + 0x318]
mov rcx, rsi
call qword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
mov eax, edi
mov rdi, qword [rsp + 0x320]
jmp 0x14000169f
mov eax, 0xa0
jmp 0x1400016a7