Function at 0x10065770
Capabilities:
Check os version
Print debug messages
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10069716
mov eax, dword fs:[0]
push eax
mov eax, 0x1b50
call fcn.1001a2d0
mov eax, dword [0x10086ba0]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1b30], ecx
lea eax, [ebp - 0x113c]
push eax
call fcn.10065660
add esp, 4
mov dword [ebp - 4], 0
push 0x5c
lea ecx, [ebp - 0x113c]
call fcn.10001cb0
mov dword [ebp - 0x3a4], eax
mov ecx, dword [ebp - 0x3a4]
push ecx
lea edx, [ebp - 0x1b0c]
push edx
lea ecx, [ebp - 0x113c]
call fcn.10001f00
mov dword [ebp - 0x1b34], eax
mov eax, dword [ebp - 0x1b34]
mov dword [ebp - 0x1b38], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x1b38]
push ecx
lea ecx, [ebp - 0x113c]
call fcn.10002750
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1b0c]
call fcn.10001850
push 0x5c
lea ecx, [ebp - 0x113c]
call fcn.10001cb0
mov dword [ebp - 0x1138], eax
mov edx, dword [ebp - 0x3a4]
push edx
mov eax, dword [ebp - 0x1138]
add eax, 1
push eax
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x113c]
call fcn.10001e20
mov byte [ebp - 4], 2
mov dword [ebp - 0xf60], 0xffffffff
mov dword [ebp - 0x1120], 0xffffffff
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x360], 0
mov byte [ebp - 0x1094], 0
push 0x12b
push 0
lea edx, [ebp - 0x1093]
push edx
call fcn.100139b0
add esp, 0xc
mov byte [ebp - 0x35c], 0
push 0x12b
push 0
lea eax, [ebp - 0x35b]
push eax
call fcn.100139b0
add esp, 0xc
mov byte [ebp - 0x84], 0
push 0x63
push 0
lea ecx, [ebp - 0x83]
push ecx
call fcn.100139b0
add esp, 0xc
lea ecx, [ebp - 0x1118]
call fcn.10001af0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1114]
call fcn.10001af0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1110]
call fcn.10001af0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x384]
call fcn.10001af0
mov byte [ebp - 4], 6
push str.vid_
lea ecx, [ebp - 0x378]
call fcn.100017d0
mov byte [ebp - 4], 7
push str.ven_
lea ecx, [ebp - 0x10d8]
call fcn.100017d0
mov byte [ebp - 4], 8
mov byte [ebp - 0x36d], 0
lea ecx, [ebp - 0xf64]
call fcn.10001af0
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x14]
push edx
push str.SoftwareRtWLan_s
lea eax, [ebp - 0x22c]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0x1b10]
push ecx
call fcn.10065660
add esp, 4
mov dword [ebp - 0x1b3c], eax
mov edx, dword [ebp - 0x1b3c]
mov dword [ebp - 0x1b40], edx
mov byte [ebp - 4], 0xa
push str.RTK_HWID.dat
mov eax, dword [ebp - 0x1b40]
push eax
lea ecx, [ebp - 0x1b14]
push ecx
call fcn.10001f80
add esp, 0xc
mov dword [ebp - 0x1b44], eax
mov edx, dword [ebp - 0x1b44]
mov dword [ebp - 0x1b48], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x1b48]
push eax
lea ecx, [ebp - 0x1110]
call fcn.10002750
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1b14]
call fcn.10001850
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1b10]
call fcn.10001850
lea ecx, [ebp - 0x374]
push ecx
push 0xa
lea edx, [ebp - 0x124]
push edx
push 0x1007c060
call dword [sym.imp.SETUPAPI.dll_SetupDiClassGuidsFromNameA]
test eax, eax
jne 0x10065aa9
mov dword [ebp - 0x1b18], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xf64]
call fcn.10001850
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x10d8]
call fcn.10001850
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x378]
call fcn.10001850
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x384]
call fcn.10001850
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1110]
call fcn.10001850
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1114]
call fcn.10001850
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1118]
call fcn.10001850
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.10001850
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x113c]
call fcn.10001850
mov eax, dword [ebp - 0x1b18]
jmp 0x10066a1f
push 2
push 0
push 0
lea eax, [ebp - 0x124]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsA]
mov dword [ebp - 0x1134], eax
cmp dword [ebp - 0x1134], 0xffffffff
jne 0x10065b6b
mov dword [ebp - 0x1b1c], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xf64]
call fcn.10001850
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x10d8]
call fcn.10001850
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x378]
call fcn.10001850
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x384]
call fcn.10001850
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1110]
call fcn.10001850
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1114]
call fcn.10001850
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1118]
call fcn.10001850
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.10001850
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x113c]
call fcn.10001850
mov eax, dword [ebp - 0x1b1c]
jmp 0x10066a1f
mov dword [ebp - 0x3a0], 0x1c
push 0x20019
push 0
call dword [sym.imp.SETUPAPI.dll_SetupDiOpenClassRegKey]
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0xffffffff
jne 0x10065c31
mov dword [ebp - 0x1b20], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xf64]
call fcn.10001850
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x10d8]
call fcn.10001850
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x378]
call fcn.10001850
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x384]
call fcn.10001850
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1110]
call fcn.10001850
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1114]
call fcn.10001850
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1118]
call fcn.10001850
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.10001850
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x113c]
call fcn.10001850
mov eax, dword [ebp - 0x1b20]
jmp 0x10066a1f
mov ecx, dword [ebp - 0x360]
mov dword [ebp - 0x1b4c], ecx
lea edx, [ebp - 0x3a0]
push edx
mov eax, dword [ebp - 0x1b4c]
push eax
mov ecx, dword [ebp - 0x1134]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
mov edx, dword [ebp - 0x360]
add edx, 1
mov dword [ebp - 0x360], edx
test eax, eax
je 0x1006696c
lea eax, [ebp - 0x374]
push eax
push 0x3e8
lea ecx, [ebp - 0x1094]
push ecx
lea edx, [ebp - 0x368]
push edx
push 1
lea eax, [ebp - 0x3a0]
push eax
mov ecx, dword [ebp - 0x1134]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyA]
test eax, eax
jne 0x10065ca5
jmp 0x10065c31
lea edx, [ebp - 0x374]
push edx
push 0x3e8
lea eax, [ebp - 0x35c]
push eax
lea ecx, [ebp - 0x368]
push ecx
push 9
lea edx, [ebp - 0x3a0]
push edx
mov eax, dword [ebp - 0x1134]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyA]
test eax, eax
jne 0x10065cde
jmp 0x10065c31
lea ecx, [ebp - 0x364]
push ecx
lea edx, [ebp - 0x35c]
push edx
mov eax, dword [ebp - 0x128]
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
cmp dword [ebp - 0x364], 0xffffffff
jne 0x10065d07
jmp 0x10065c31
lea ecx, [ebp - 0x111c]
push ecx
push str.Linkage
mov edx, dword [ebp - 0x364]
push edx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
cmp dword [ebp - 0x111c], 0xffffffff
jne 0x10065d3b
mov eax, dword [ebp - 0x364]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x10065c31
lea ecx, [ebp - 0x18]
push ecx
push str.NDIInterfaces
mov edx, dword [ebp - 0x364]
push edx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
cmp dword [ebp - 0x18], 0xffffffff
jne 0x10065d76
mov eax, dword [ebp - 0x111c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x364]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x10065c31
mov dword [ebp - 0x374], 0x64
lea edx, [ebp - 0x374]
push edx
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x368]
push ecx
push 0
push str.LowerRange
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push str.wlan
lea ecx, [ebp - 0x1148]
call fcn.100017d0
mov byte [ebp - 4], 0xc
push str.ethernet
lea ecx, [ebp - 0x1144]
call fcn.100017d0
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x1140]
call fcn.10001ba0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x84]
push ecx
call fcn.10013a30
add esp, 4
test eax, eax
jne 0x10065e29
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1140]
call fcn.10001850
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x1144]
call fcn.10001850
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1148]
call fcn.10001850
jmp 0x10065c31
lea ecx, [ebp - 0x1148]
call fcn.10001d00
lea ecx, [ebp - 0x1144]
call fcn.10001d00
lea ecx, [ebp - 0x1140]
call fcn.10001d00
push 0
lea ecx, [ebp - 0x1148]
call fcn.10001ae0
push eax
lea ecx, [ebp - 0x1140]
call fcn.10001c30
cmp eax, 0xffffffff
jne 0x10065ea1
push 0
lea ecx, [ebp - 0x1144]
call fcn.10001ae0
push eax
lea ecx, [ebp - 0x1140]
call fcn.10001c30
cmp eax, 0xffffffff
jne 0x10065ea1
push 0
push 0x1007c09c
lea ecx, [ebp - 0x1140]
call fcn.10001c30
cmp eax, 0xffffffff
je 0x10066916
lea edx, [ebp - 0x1094]
push edx
lea ecx, [ebp - 0x384]
call fcn.10001c10
lea ecx, [ebp - 0x384]
call fcn.10001d00
mov byte [ebp - 0x36d], 0
push 0xbb8
push 0
lea eax, [ebp - 0xf5c]
push eax
call fcn.100139b0
add esp, 0xc
lea ecx, [ebp - 0x36c]
push ecx
lea edx, [ebp - 0x22c]
push edx
push reloc.RtlIhvOid.dll_Ordinal_2
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
mov dword [ebp - 0xf60], eax
cmp dword [ebp - 0xf60], 0
jne 0x10065f53
mov dword [ebp - 0x380], 0xbb8
mov dword [ebp - 0x37c], 1
lea eax, [ebp - 0x380]
push eax
lea ecx, [ebp - 0xf5c]
push ecx
lea edx, [ebp - 0x37c]
push edx
push 0
push str.DeviceID
mov eax, dword [ebp - 0x36c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [ebp - 0x1120], eax
mov ecx, dword [ebp - 0x36c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0
lea ecx, [ebp - 0x378]
call fcn.10001ae0
push eax
lea ecx, [ebp - 0x384]
call fcn.10001c30
cmp eax, 0xffffffff
jne 0x10065faa
push 0
lea ecx, [ebp - 0x10d8]
call fcn.10001ae0
push eax
lea ecx, [ebp - 0x384]
call fcn.10001c30
cmp eax, 0xffffffff
jne 0x10065faa
push 0
push 0x1007c0b0
lea ecx, [ebp - 0x384]
call fcn.10001c30
cmp eax, 0xffffffff
je 0x100662bd
movzx edx, byte [ebp - 0xf5c]
test edx, edx
je 0x10066188
movzx eax, byte [ebp - 0xf5b]
test eax, eax
je 0x10066188
lea ecx, [ebp - 0xf5c]
push ecx
push 0x1007c0b8
push 0x100a53a4
call fcn.100025d0
add esp, 0xc
mov ecx, 0x100a53a4
call fcn.10001d00
push 0x100a53a4
lea ecx, [ebp - 0x1114]
call fcn.10002750
mov dword [ebp - 0x3a4], 0
push 0x1006fb59
lea edx, [ebp - 0x1114]
push edx
call fcn.10002030
add esp, 8
movzx eax, al
test eax, eax
je 0x10066183
push 0x3b
lea ecx, [ebp - 0x1114]
call fcn.10001cb0
mov dword [ebp - 0x3a4], eax
cmp dword [ebp - 0x3a4], 0
jle 0x100660e9
mov ecx, dword [ebp - 0x3a4]
add ecx, 1
push ecx
lea edx, [ebp - 0x1b24]
push edx
lea ecx, [ebp - 0x1114]
call fcn.10001de0
mov dword [ebp - 0x1b50], eax
mov eax, dword [ebp - 0x1b50]
mov dword [ebp - 0x1b54], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x1b54]
push ecx
lea ecx, [ebp - 0x1118]
call fcn.10002750
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1b24]
call fcn.10001850
mov edx, dword [ebp - 0x3a4]
push edx
lea eax, [ebp - 0x1b28]
push eax
lea ecx, [ebp - 0x1114]
call fcn.10001f00
mov dword [ebp - 0x1b58], eax
mov ecx, dword [ebp - 0x1b58]
mov dword [ebp - 0x1b5c], ecx
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x1b5c]
push edx
lea ecx, [ebp - 0x1114]
call fcn.10002750
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1b28]
call fcn.10001850
jmp 0x1006610b
lea eax, [ebp - 0x1114]
push eax
lea ecx, [ebp - 0x1118]
call fcn.10002750
push 0x1006fb5a
lea ecx, [ebp - 0x1114]
call fcn.100017b0
push 0
lea ecx, [ebp - 0x1118]
call fcn.10001ae0
push eax
lea ecx, [ebp - 0x384]
call fcn.10001c30
cmp eax, 0xffffffff
je 0x10066148
movzx ecx, byte [0x1008af90]
test ecx, ecx
je 0x1006613f
push str.REG_DeviceID_Find_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov byte [ebp - 0x36d], 1
jmp 0x10066183
push 0
push 0x1007c0d0
lea ecx, [ebp - 0x384]
call fcn.10001c30
cmp eax, 0xffffffff
je 0x1006617e
movzx edx, byte [0x1008af90]
test edx, edx
je 0x10066175
push str.REG_DeviceID_Find_vwifi_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov byte [ebp - 0x36d], 1
jmp 0x10066183
jmp 0x10066005
jmp 0x100662bd
push 0
push 0x1007c0f4
lea ecx, [ebp - 0x384]
call fcn.10001c30
cmp eax, 0xffffffff
je 0x100661c1
movzx eax, byte [0x1008af90]
test eax, eax
je 0x100661b5
push str.RTK_HWID.dat_Find_vwifi_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov byte [ebp - 0x36d], 1
jmp 0x100662bd
push 0x1007c118
lea ecx, [ebp - 0x1110]
call fcn.10001ae0
push eax
call fcn.10015838
add esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x100662b6
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.1001584f
add esp, 4
test eax, eax
jne 0x100662a8
push 0x32
push 0
lea edx, [ebp - 0x110c]
push edx
call fcn.100139b0
add esp, 0xc
mov eax, dword [ebp - 0x10]
push eax
push 0x32
lea ecx, [ebp - 0x110c]
push ecx
call fcn.10015883
add esp, 0xc
lea edx, [ebp - 0x110c]
push edx
lea ecx, [ebp - 0xf64]
call fcn.100017b0
lea ecx, [ebp - 0xf64]
call fcn.10001d50
lea ecx, [ebp - 0xf64]
call fcn.10001d00
push 0
lea ecx, [ebp - 0xf64]
call fcn.10001330
push eax
lea ecx, [ebp - 0xf64]
call fcn.100015a0
push eax
lea ecx, [ebp - 0x384]
call fcn.10001c30
cmp eax, 0xffffffff
je 0x100662a3
lea ecx, [ebp - 0xf64]
call fcn.10001330
test eax, eax
je 0x100662a3
movzx eax, byte [0x1008af90]
test eax, eax
je 0x1006629a
push str.RTK_HWID.dat_Find_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov byte [ebp - 0x36d], 1
jmp 0x100662a8
jmp 0x100661e7
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.10015a42
add esp, 4
jmp 0x100662bd
mov byte [ebp - 0x36d], 0
movzx edx, byte [ebp - 0x36d]
test edx, edx
je 0x100668e2
mov byte [ebp - 0x19c1], 0
push 0
mov eax, dword [ebp - 0x38c]
push eax
lea ecx, [ebp - 0x19c0]
push ecx
lea edx, [ebp - 0x19c8]
push edx
call dword [sym.imp.SETUPAPI.dll_CM_Get_DevNode_Status]
cmp dword [ebp - 0x19c0], 0
je 0x1006631e
mov byte [ebp - 0x19c1], 1
lea eax, [ebp - 0x1094]
push eax
push str.Find_Device___s__is_disabled_n
lea ecx, [ebp - 0x19bc]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x1006633a
lea edx, [ebp - 0x1094]
push edx
push str.Find_Device___s__is_enabled_n
lea eax, [ebp - 0x19bc]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
movzx ecx, byte [0x1008af90]
test ecx, ecx
je 0x10066352
lea edx, [ebp - 0x19bc]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [ebp - 0x19c8]
and eax, 8
jne 0x10066563
movzx ecx, byte [0x10087ffb]
test ecx, ecx
je 0x10066563
mov dword [ebp - 0x11ec], 0x9c
lea edx, [ebp - 0x11ec]
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0x11dc], 2
je 0x100663c2
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1140]
call fcn.10001850
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x1144]
call fcn.10001850
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1148]
call fcn.10001850
jmp 0x10065c31
mov dword [ebp - 0x374], 0xc8
lea eax, [ebp - 0x374]
push eax
lea ecx, [ebp - 0x15d4]
push ecx
lea edx, [ebp - 0x3a0]
push edx
mov eax, dword [ebp - 0x1134]
push eax
call fcn.100655b0
add esp, 0x10
lea ecx, [ebp - 0x15d4]
push ecx
push str.Device___s__is_disabled._nDo_you_wait_to_Enable_it__
lea edx, [ebp - 0x19bc]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0x24
push str.Device_disabled
lea eax, [ebp - 0x19bc]
push eax
mov ecx, dword [ebp - 0x1b30]
call fcn.10006bf3
cmp eax, 6
jne 0x10066563
mov byte [ebp - 0x19c1], 0
mov dword [ebp - 0x1b08], 8
xor ecx, ecx
mov dword [ebp - 0x1b04], ecx
mov dword [ebp - 0x1b00], ecx
mov dword [ebp - 0x1afc], ecx
mov dword [ebp - 0x1af8], ecx
mov dword [ebp - 0x1b08], 8
mov dword [ebp - 0x1b04], 0x12
mov dword [ebp - 0x1afc], 1
mov dword [ebp - 0x1b00], 1
mov dword [ebp - 0x1af8], 0
push 0x14
lea edx, [ebp - 0x1b08]
push edx
lea eax, [ebp - 0x3a0]
push eax
mov ecx, dword [ebp - 0x1134]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupDiSetClassInstallParamsA]
test eax, eax
jne 0x100664b1
jmp 0x10066563
mov dword [ebp - 0x1b08], 8
mov dword [ebp - 0x1b04], 0x12
mov dword [ebp - 0x1afc], 2
mov dword [ebp - 0x1b00], 1
mov dword [ebp - 0x1af8], 0
push 0x14
lea edx, [ebp - 0x1b08]
push edx
lea eax, [ebp - 0x3a0]
push eax
mov ecx, dword [ebp - 0x1134]
push ecx
call dword [sym.imp.SETUPAPI.dll_SetupDiSetClassInstallParamsA]
test eax, eax
je 0x1006651e
lea edx, [ebp - 0x3a0]
push edx
mov eax, dword [ebp - 0x1134]
push eax
push 0x12
call dword [sym.imp.SETUPAPI.dll_SetupDiCallClassInstaller]
test eax, eax
jne 0x10066522
jmp 0x10066563
mov dword [ebp - 0x1af4], 0x128
lea ecx, [ebp - 0x1af4]
push ecx
lea edx, [ebp - 0x3a0]
push edx
mov eax, dword [ebp - 0x1134]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInstallParamsA]
test eax, eax
je 0x1006655b
mov ecx, dword [ebp - 0x1af0]
and ecx, 0x180
je 0x1006655b
jmp 0x10066563
xor edx, edx
jne 0x10066435
push 0
push str.vwifi
lea ecx, [ebp - 0x384]
call fcn.10001c30
cmp eax, 0xffffffff
je 0x1006657f
jmp 0x100668e0
cmp dword [ebp - 0x12c], 0x64
jge 0x100668e0
mov eax, dword [ebp - 0x12c]
push eax
lea ecx, [ebp - 0x1094]
push ecx
push str.Find_Device___s__index_d_n
lea edx, [ebp - 0x19bc]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
movzx eax, byte [0x1008af90]
test eax, eax
je 0x100665c7
lea ecx, [ebp - 0x19bc]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x429
push 0
mov edx, dword [ebp - 0x12c]
imul edx, edx, 0x429
mov eax, dword [ebp - 0x1b30]
lea ecx, [eax + edx + 0x208]
push ecx
call fcn.100139b0
add esp, 0xc
mov dword [ebp - 0x374], 0xc8
lea edx, [ebp - 0x374]
push edx
mov eax, dword [ebp - 0x12c]
imul eax, eax, 0x429
mov ecx, dword [ebp - 0x1b30]
lea edx, [ecx + eax + 0x208]
push edx
lea eax, [ebp - 0x3a0]
push eax
mov ecx, dword [ebp - 0x1134]
push ecx
call fcn.100655b0
add esp, 0x10
mov edx, dword [ebp - 0x12c]
imul edx, edx, 0x429
mov eax, dword [ebp - 0x1b30]
mov byte [eax + edx + 0x528], 0
mov dword [ebp - 0x374], 0x32
lea ecx, [ebp - 0x374]
push ecx
mov edx, dword [ebp - 0x12c]
imul edx, edx, 0x429
mov eax, dword [ebp - 0x1b30]
lea ecx, [eax + edx + 0x528]
push ecx
lea edx, [ebp - 0x368]
push edx
push 0
push str.DriverVersion
mov eax, dword [ebp - 0x364]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov ecx, dword [ebp - 0x12c]
imul ecx, ecx, 0x429
mov edx, dword [ebp - 0x1b30]
lea eax, [edx + ecx + 0x528]
push eax
call fcn.10013a30
add esp, 4
test eax, eax
jne 0x100666fd
mov dword [ebp - 0x374], 0x32
lea ecx, [ebp - 0x374]
push ecx
mov edx, dword [ebp - 0x12c]
imul edx, edx, 0x429
mov eax, dword [ebp - 0x1b30]
lea ecx, [eax + edx + 0x528]
push ecx
lea edx, [ebp - 0x368]
push edx
push 0
push str.DriverDate
mov eax, dword [ebp - 0x364]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov ecx, dword [ebp - 0x12c]
imul ecx, ecx, 0x429
mov edx, dword [ebp - 0x1b30]
mov byte [edx + ecx + 0x5bf], 0
mov dword [ebp - 0x374], 0x32
lea eax, [ebp - 0x374]
push eax
mov ecx, dword [ebp - 0x12c]
imul ecx, ecx, 0x429
mov edx, dword [ebp - 0x1b30]
lea eax, [edx + ecx + 0x5bf]
push eax
lea ecx, [ebp - 0x368]
push ecx
push 0
push str.DeviceVxDs
mov edx, dword [ebp - 0x364]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [ebp - 0x374], 0x32
lea eax, [ebp - 0x374]
push eax
mov ecx, dword [ebp - 0x12c]
imul ecx, ecx, 0x429
mov edx, dword [ebp - 0x1b30]
lea eax, [edx + ecx + 0x58d]
push eax
lea ecx, [ebp - 0x368]
push ecx
push 0
push str.InfSection
mov edx, dword [ebp - 0x364]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [ebp - 0x374], 0x32
lea eax, [ebp - 0x374]
push eax
mov ecx, dword [ebp - 0x12c]
imul ecx, ecx, 0x429
mov edx, dword [ebp - 0x1b30]
lea eax, [edx + ecx + 0x55a]
push eax
lea ecx, [ebp - 0x368]
push ecx
push 0
push str.NetCfgInstanceId
mov edx, dword [ebp - 0x364]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov dword [ebp - 0x374], 0x12c
lea eax, [ebp - 0x374]
push eax
mov ecx, dword [ebp - 0x12c]
imul ecx, ecx, 0x429
mov edx, dword [ebp - 0x1b30]
lea eax, [edx + ecx + 0x3fc]
push eax
lea ecx, [ebp - 0x368]
push ecx
push 0
push str.Export
mov edx, dword [ebp - 0x111c]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea eax, [ebp - 0x35c]
push eax
push 0x1007c228
mov ecx, dword [ebp - 0x12c]
imul ecx, ecx, 0x429
mov edx, dword [ebp - 0x1b30]
lea eax, [edx + ecx + 0x2d0]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov ecx, dword [ebp - 0x12c]
imul ecx, ecx, 0x429
mov edx, dword [ebp - 0x1b30]
mov al, byte [ebp - 0x19c1]
mov byte [edx + ecx + 0x58c], al
lea ecx, [ebp - 0x10d4]
push ecx
mov edx, dword [ebp - 0x12c]
imul edx, edx, 0x429
mov eax, dword [ebp - 0x1b30]
lea ecx, [eax + edx + 0x55a]
push ecx
call fcn.100654d0
add esp, 8
push 0x40
lea edx, [ebp - 0x10d4]
push edx
mov eax, dword [ebp - 0x12c]
imul eax, eax, 0x429
mov ecx, dword [ebp - 0x1b30]
lea edx, [ecx + eax + 0x5f1]
push edx
call fcn.10013640
add esp, 0xc
mov eax, dword [ebp - 0x12c]
add eax, 1
mov dword [ebp - 0x12c], eax
jmp 0x10066916
lea ecx, [ebp - 0x1094]
push ecx
push str.Device___s__not_RTK_HW_n
lea edx, [ebp - 0x19bc]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
movzx eax, byte [0x1008af90]
test eax, eax
je 0x10066916
lea ecx, [ebp - 0x19bc]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x111c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x364]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1140]
call fcn.10001850
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x1144]
call fcn.10001850
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1148]
call fcn.10001850
jmp 0x10065c31
mov edx, dword [ebp - 0x128]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x1134]
push eax
call dword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x1b2c], ecx
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xf64]
call fcn.10001850
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x10d8]
call fcn.10001850
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x378]
call fcn.10001850
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x384]
call fcn.10001850
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1110]
call fcn.10001850
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1114]
call fcn.10001850
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1118]
call fcn.10001850
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.10001850
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x113c]
call fcn.10001850
mov eax, dword [ebp - 0x1b2c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.1001362b
mov esp, ebp
pop ebp
ret