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

Disassembly:
sub esp, 0x1c
push ebx
xor ebx, ebx
xor eax, eax
cmp eax, str.SVNDrv
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 0x409aa3
cmp dword [esp + 0x24], ebx
je 0x409aa3
push edi
push 0x100
call fcn.0041ae22
mov edi, eax
add esp, 4
cmp edi, ebx
jne 0x40978d
pop edi
xor eax, eax
pop ebx
add esp, 0x1c
ret
push esi
push 0x100
call fcn.0041ae22
mov esi, eax
add esp, 4
cmp esi, ebx
mov dword [esp + 0x20], esi
jne 0x4097b7
push edi
call fcn.0041b96e
add esp, 4
pop esi
pop edi
xor eax, eax
pop ebx
add esp, 0x1c
ret
lea ecx, [esp + 0x1c]
push ecx
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 0x4097ee
push edi
call fcn.0041b96e
push esi
call fcn.0041b96e
add esp, 8
pop esi
pop edi
xor eax, eax
pop ebx
add esp, 0x1c
ret
mov eax, dword [esp + 0x1c]
push ebp
push ebx
push ebx
push ebx
push ebx
lea edx, [esp + 0x28]
push edx
push esi
push ebx
push eax
mov dword [esp + 0x38], 0x100
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
cmp eax, 0x103
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0x28], 1
je 0x409a7b
mov ebp, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea esp, [esp]
cmp eax, ebx
jne 0x409a7b
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x10]
push ecx
push 0x20019
push ebx
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x409982
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x14]
push ecx
push 0x20019
push ebx
push str.NdiInterfaces
push edx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x409977
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x18]
push ecx
push edi
lea edx, [esp + 0x24]
push edx
push ebx
push str.LowerRange
push eax
mov dword [esp + 0x30], 0x100
call ebp
test eax, eax
jne 0x40996c
cmp dword [esp + 0x1c], 1
jne 0x40996c
push str.svnvnic
push edi
call fcn.0041c7f9
add esp, 8
test eax, eax
je 0x4098d8
mov ecx, dword [esp + 0x14]
push ecx
call esi
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], ebx
push edx
jmp 0x40997c
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x18]
push eax
push edi
lea ecx, [esp + 0x24]
push ecx
push ebx
push str.ComponentId
push edx
mov dword [esp + 0x30], 0x100
call ebp
test eax, eax
jne 0x409915
cmp dword [esp + 0x1c], 1
jne 0x409915
push str.SVNDrv
push edi
call fcn.0041c7f9
add esp, 8
test eax, eax
je 0x409927
mov eax, dword [esp + 0x14]
push eax
call esi
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ebx
push ecx
jmp 0x40997c
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x18]
push edx
push edi
lea eax, [esp + 0x24]
push eax
push ebx
push str.DriverDesc
push ecx
mov dword [esp + 0x30], 0x100
call ebp
test eax, eax
jne 0x4098c3
cmp dword [esp + 0x1c], 1
jne 0x4098c3
push edi
push str.SVN_Adapter_V1.0
call fcn.0041c7f9
add esp, 8
test eax, eax
je 0x4099bd
mov edx, dword [esp + 0x14]
push edx
call esi
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x10]
push eax
call esi
mov dword [esp + 0x10], ebx
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
push ebx
push ebx
push ebx
push ebx
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x34]
push edx
push eax
push ecx
mov dword [esp + 0x38], 0x100
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
add dword [esp + 0x28], 1
cmp eax, 0x103
jne 0x409830
jmp 0x409a7b
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x18]
push edx
push edi
lea eax, [esp + 0x24]
push eax
push ebx
push str.NetCfgInstanceId
push ecx
mov dword [esp + 0x30], 0x100
call ebp
test eax, eax
jne 0x409a65
cmp dword [esp + 0x1c], 1
jne 0x409a65
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x4099f1
sub eax, edx
cmp eax, 0x100
jae 0x409a57
mov edx, dword [esp + 0x30]
push edi
push 0x100
push edx
call fcn.0041aff9
mov eax, dword [esp + 0x20]
add esp, 0xc
push eax
call esi
mov ecx, dword [esp + 0x10]
push ecx
mov dword [esp + 0x18], ebx
call esi
mov edx, dword [esp + 0x20]
push edx
mov dword [esp + 0x14], ebx
call esi
push edi
mov dword [esp + 0x24], ebx
call fcn.0041b96e
mov eax, dword [esp + 0x28]
push eax
call fcn.0041b96e
add esp, 8
pop ebp
pop esi
pop edi
mov eax, 1
pop ebx
add esp, 0x1c
ret
mov ecx, dword [esp + 0x14]
push ecx
call esi
mov edx, dword [esp + 0x10]
push edx
jmp 0x409a71
mov eax, dword [esp + 0x14]
push eax
call esi
mov ecx, dword [esp + 0x10]
push ecx
mov dword [esp + 0x18], ebx
call esi
mov dword [esp + 0x10], ebx
mov edx, dword [esp + 0x20]
push edx
call esi
push edi
mov dword [esp + 0x24], ebx
call fcn.0041b96e
mov eax, dword [esp + 0x28]
push eax
call fcn.0041b96e
add esp, 8
pop ebp
pop esi
pop edi
xor eax, eax
pop ebx
add esp, 0x1c
ret
xor eax, eax
pop ebx
add esp, 0x1c
ret