Function at 0x4084a0
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
sub esp, 0x1c
push ebx
xor ebx, ebx
cmp dword [esp + 0x24], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
je 0x4087f2
cmp dword [esp + 0x28], ebx
je 0x4087f2
push esi
push 0x100
call fcn.0041ae22
mov esi, eax
add esp, 4
cmp esi, ebx
jne 0x4084ec
pop esi
xor eax, eax
pop ebx
add esp, 0x1c
ret 8
push ebp
push 0x100
call fcn.0041ae22
mov ebp, eax
add esp, 4
cmp ebp, ebx
mov dword [esp + 0x20], ebp
jne 0x408518
push esi
call fcn.0041b96e
add esp, 4
pop ebp
pop esi
xor eax, eax
pop ebx
add esp, 0x1c
ret 8
lea eax, [esp + 0x1c]
push eax
push 0x20019
push ebx
push str.SYSTEMCurrentControlSetControlClass4D36E972_E325_11CE_BFC1_08002BE10318
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x408551
push esi
call fcn.0041b96e
push ebp
call fcn.0041b96e
add esp, 8
pop ebp
pop esi
xor eax, eax
pop ebx
add esp, 0x1c
ret 8
mov edx, dword [esp + 0x1c]
push edi
push ebx
push ebx
push ebx
push ebx
lea ecx, [esp + 0x28]
push ecx
push ebp
push ebx
push edx
mov dword [esp + 0x38], 0x100
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
cmp eax, 0x103
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0x28], 1
je 0x4087cc
mov ebp, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
nop
cmp eax, ebx
jne 0x4087c8
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x10]
push eax
push 0x20019
push ebx
push ecx
push edx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x408792
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x14]
push eax
push 0x20019
push ebx
push str.NdiInterfaces
push ecx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x408787
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x18]
push eax
push esi
lea ecx, [esp + 0x24]
push ecx
push ebx
push str.LowerRange
push edx
mov dword [esp + 0x30], 0x100
call ebp
test eax, eax
jne 0x40877c
cmp dword [esp + 0x1c], 1
jne 0x40877c
push str.svnvnic
push esi
call fcn.0041c7f9
add esp, 8
test eax, eax
je 0x408638
mov eax, dword [esp + 0x14]
push eax
call edi
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ebx
push ecx
jmp 0x40878c
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x18]
push edx
push esi
lea eax, [esp + 0x24]
push eax
push ebx
push str.ComponentId
push ecx
mov dword [esp + 0x30], 0x100
call ebp
test eax, eax
jne 0x4086cf
cmp dword [esp + 0x1c], 1
jne 0x4086cf
mov edx, dword [esp + 0x30]
push edx
push esi
call fcn.0041c7f9
add esp, 8
test eax, eax
je 0x40868a
mov eax, dword [esp + 0x14]
push eax
call edi
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ebx
push ecx
jmp 0x40878c
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x18]
push edx
push esi
lea eax, [esp + 0x24]
push eax
push ebx
push str.DriverDesc
push ecx
mov dword [esp + 0x30], 0x100
call ebp
test eax, eax
jne 0x408623
cmp dword [esp + 0x1c], 1
jne 0x408623
push esi
push str.SVN_Adapter_V1.0
call fcn.0041c7f9
add esp, 8
test eax, eax
je 0x4086e4
mov edx, dword [esp + 0x14]
push edx
call edi
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], ebx
push eax
jmp 0x40878c
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x18]
push ecx
push esi
lea edx, [esp + 0x24]
push edx
push ebx
push str.NetCfgInstanceId
push eax
mov dword [esp + 0x30], 0x100
call ebp
test eax, eax
jne 0x40877c
cmp dword [esp + 0x1c], 1
jne 0x40877c
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x408714
sub eax, edx
cmp eax, 0x100
jae 0x408792
mov edx, dword [esp + 0x34]
push esi
push 0x100
push edx
call fcn.0041aff9
mov eax, dword [esp + 0x20]
add esp, 0xc
push eax
call edi
mov ecx, dword [esp + 0x10]
push ecx
mov dword [esp + 0x18], ebx
call edi
mov edx, dword [esp + 0x20]
push edx
mov dword [esp + 0x14], ebx
call edi
push esi
mov dword [esp + 0x24], ebx
call fcn.0041b96e
mov eax, dword [esp + 0x28]
push eax
call fcn.0041b96e
add esp, 8
pop edi
pop ebp
pop esi
mov eax, 1
pop ebx
add esp, 0x1c
ret 8
mov ecx, dword [esp + 0x14]
push ecx
call edi
mov dword [esp + 0x14], ebx
mov edx, dword [esp + 0x10]
push edx
call edi
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
push ebx
push ebx
push ebx
push ebx
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x34]
push ecx
push edx
push eax
mov dword [esp + 0x38], 0x100
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
add dword [esp + 0x28], 1
cmp eax, 0x103
jne 0x408590
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
push ecx
call edi
push esi
mov dword [esp + 0x24], ebx
call fcn.0041b96e
push ebp
call fcn.0041b96e
add esp, 8
pop edi
pop ebp
pop esi
xor eax, eax
pop ebx
add esp, 0x1c
ret 8
xor eax, eax
pop ebx
add esp, 0x1c
ret 8