Function at 0x4a7b90
Capabilities:
Query or enumerate registry key

Disassembly:
push 0xffffffffffffffff
push 0x4ebbb2
mov eax, dword fs:[0]
push eax
sub esp, 0x10c
mov eax, dword [0x50e74c]
xor eax, esp
mov dword [esp + 0x108], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x50e74c]
xor eax, esp
push eax
lea eax, [esp + 0x120]
mov dword fs:[0], eax
mov dword [esp + 0x14], ecx
mov ebp, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea eax, [esp + 0xac]
push eax
push 0x20019
push 0
push str.SOFTWAREMicrosoftWindows_NTCurrentVersionNetworkCards
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0xc0], 0
call ebp
test eax, eax
jne 0x4a7fe5
push eax
push eax
push eax
push eax
push eax
push eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xc8], eax
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0xd4]
push eax
push 0
push 0
push 0
push dword [esp + 0xd8]
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
jne 0x4a7fd8
mov eax, dword [esp + 0xb0]
cmp eax, 0x400
ja 0x4a7fd8
mov ecx, dword [esp + 0xb8]
cmp ecx, 0x400
ja 0x4a7fd8
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor esi, esi
test ecx, ecx
je 0x4a7fcb
mov edx, 2
xor ecx, ecx
add eax, edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004c472f
mov ecx, dword [esp + 0xb4]
add esp, 4
inc ecx
mov edi, eax
push ecx
push edi
push esi
push dword [esp + 0xb8]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
test eax, eax
jne 0x4a7fac
mov eax, dword [esp + 0xb0]
xor ecx, ecx
mov word [edi + eax*2 + 2], cx
lea eax, [esp + 0xb4]
push eax
push 0x20019
push ecx
push edi
push dword [esp + 0xbc]
mov dword [esp + 0xc8], ecx
call ebp
test eax, eax
jne 0x4a7fac
lea ecx, [esp + 0xd4]
call fcn.004a8010
mov dword [esp + 0x128], 0
lea ecx, [esp + 0x18]
push str.ServiceName
call fcn.004029f0
mov byte [esp + 0x128], 1
lea eax, [esp + 0x18]
push eax
push dword [esp + 0xb8]
lea eax, [esp + 0x98]
push eax
call fcn.004a7a30
mov byte [esp + 0x128], 2
lea ecx, [esp + 0xd4]
push eax
call fcn.00402a50
mov byte [esp + 0x128], 1
lea ecx, [esp + 0x90]
call fcn.00402a90
mov byte [esp + 0x128], 0
lea ecx, [esp + 0x18]
call fcn.00402a90
push str.Description
lea ecx, [esp + 0x34]
call fcn.004029f0
mov byte [esp + 0x128], 3
lea eax, [esp + 0x30]
push eax
push dword [esp + 0xb8]
lea eax, [esp + 0x80]
push eax
call fcn.004a7a30
mov byte [esp + 0x128], 4
lea ecx, [esp + 0xec]
push eax
call fcn.00402a50
mov byte [esp + 0x128], 3
lea ecx, [esp + 0x78]
call fcn.00402a90
mov byte [esp + 0x128], 0
lea ecx, [esp + 0x30]
call fcn.00402a90
cmp dword [esp + 0xe4], 0
je 0x4a7f6e
push str.SYSTEMCurrentControlSetControlNetwork4D36E972_E325_11CE_BFC1_08002BE10318_
lea ecx, [esp + 0xc0]
call fcn.004029f0
mov byte [esp + 0x128], 5
lea eax, [esp + 0xd4]
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xc8]
call fcn.004033c0
push str.Connection
lea ecx, [esp + 0xc0]
call fcn.00479c00
cmp dword [esp + 0xd0], 8
lea ecx, [esp + 0xa8]
push ecx
push 0x20019
lea eax, [esp + 0xc4]
mov dword [esp + 0xb0], 0
cmovae eax, dword [esp + 0xc4]
push 0
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call ebp
test eax, eax
jne 0x4a7ed3
push str.Name
lea ecx, [esp + 0x4c]
call fcn.004029f0
mov byte [esp + 0x128], 6
lea eax, [esp + 0x48]
push eax
push dword [esp + 0xac]
lea eax, [esp + 0x68]
push eax
call fcn.004a7a30
mov byte [esp + 0x128], 7
lea ecx, [esp + 0x104]
push eax
call fcn.00402a50
mov byte [esp + 0x128], 6
lea ecx, [esp + 0x60]
call fcn.00402a90
mov byte [esp + 0x128], 5
lea ecx, [esp + 0x48]
call fcn.00402a90
push dword [esp + 0xa8]
call ebx
mov dword [esp + 0xa8], 0
cmp dword [esp + 0x114], 0
je 0x4a7f5a
push str.SYSTEMCurrentControlSetServicesTcpipParametersInterfaces_
lea ecx, [esp + 0xc0]
call fcn.00402ac0
push 0xffffffffffffffff
push 0
lea eax, [esp + 0xdc]
push eax
lea ecx, [esp + 0xc8]
call fcn.004033c0
cmp dword [esp + 0xd0], 8
lea ecx, [esp + 0xa8]
push ecx
push 0x20019
lea eax, [esp + 0xc4]
cmovae eax, dword [esp + 0xc4]
push 0
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call ebp
test eax, eax
jne 0x4a7f4e
push dword [esp + 0xa8]
call ebx
mov dword [esp + 0xa8], 0
jmp 0x4a7f5a
lea ecx, [esp + 0x104]
call fcn.0047e410
mov byte [esp + 0x128], 0
lea ecx, [esp + 0xbc]
call fcn.00402a90
push dword [esp + 0xb4]
call ebx
cmp dword [esp + 0x114], 0
je 0x4a7f95
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0xd4]
push eax
lea ecx, [ecx + 0x18]
call fcn.004a84e0
mov dword [esp + 0x128], 0xffffffff
lea ecx, [esp + 0xd4]
call fcn.004a8090
push edi
call fcn.004c59f9
inc esi
add esp, 4
cmp esi, dword [esp + 0xb8]
jae 0x4a7fcb
mov eax, dword [esp + 0xb0]
jmp 0x4a7c77
push dword [esp + 0xac]
call ebx
mov al, 1
jmp 0x4a7fe7
push dword [esp + 0xac]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor al, al
mov ecx, dword [esp + 0x120]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x108]
xor ecx, esp
call fcn.004c515f
add esp, 0x118
ret