Function at 0x466c80
Capabilities:
Get common file path
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2bb4
call fcn.005a2ab0
mov eax, dword [0x693f30]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push 0x208
lea eax, [ebp - 0x310]
mov esi, ecx
push 0
push eax
call fcn.005a49e0
add esp, 0xc
lea eax, [ebp - 0x310]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea ecx, [ebp - 0x310]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x466cd0
sub ecx, edx
sar ecx, 1
cmp ecx, 0x102
jle 0x466cee
mov ecx, 0x102
jmp 0x466cf2
test ecx, ecx
jle 0x466d25
mov eax, 0x5c
cmp ax, word [ebp + ecx*2 - 0x312]
je 0x466d25
mov word [ebp + ecx*2 - 0x310], ax
lea eax, [ecx*2 + 2]
cmp eax, 0x208
jae 0x46705e
xor ecx, ecx
mov word [ebp + eax - 0x310], cx
lea ecx, [ebp - 0x310]
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x466d30
sub ecx, edx
mov eax, 0x104
sar ecx, 1
sub eax, ecx
push eax
push str.iphlpapi.dll
lea eax, [ebp - 0x310]
push 0x104
push eax
call fcn.005befed
add esp, 0x10
lea eax, [ebp - 0x310]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [ebp - 0x2bb4], eax
test eax, eax
je 0x46703c
push str.GetAdaptersInfo
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x46701d
lea ecx, [ebp - 0x2ba0]
mov dword [ebp - 0x2ba0], 0x2880
push ecx
lea ecx, [ebp - 0x2b90]
push ecx
call eax
test eax, eax
jne 0x46701d
push ebx
push edi
lea edi, [ebp - 0x2b90]
mov dword [ebp - 0x2bb0], 3
mov byte [ebp - 0x2ba9], 1
xor eax, eax
nop dword [eax]
cmp byte [esi + eax], 0
jne 0x466dde
inc eax
cmp eax, 6
jl 0x466dd0
jmp 0x466de5
mov byte [ebp - 0x2ba9], 0
lea eax, [ebp - 0x2ba8]
mov dword [ebp - 0x2b94], 0x104
push eax
push 0x20019
push 0
push str.SystemCurrentControlSetControlNetwork4D36E972_E325_11CE_BFC1_08002BE10318
push reloc.WS2_32.dll_bind
mov ebx, 3
mov dword [ebp - 0x2b98], 1
mov dword [ebp - 0x2ba8], 0
mov dword [ebp - 0x2ba4], 0
mov dword [ebp - 0x2b9c], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x466f8a
lea eax, [edi + 8]
push eax
push str._sConnection
lea eax, [ebp - 0x108]
push 0x103
push eax
call fcn.00467070
add esp, 0x10
lea eax, [ebp - 0x2ba4]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x108]
push eax
push dword [ebp - 0x2ba8]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x466f8a
lea eax, [ebp - 0x2b94]
mov dword [ebp - 0x2b98], 4
push eax
lea eax, [ebp - 0x2b9c]
mov dword [ebp - 0x2b94], 4
push eax
lea eax, [ebp - 0x2b98]
push eax
push 0
push str.MediaSubType
push dword [ebp - 0x2ba4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x466f8a
push 0x104
push eax
lea eax, [ebp - 0x108]
mov dword [ebp - 0x2b98], 1
push eax
mov dword [ebp - 0x2b94], 0x103
call fcn.005a49e0
add esp, 0xc
lea eax, [ebp - 0x2b94]
push eax
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x2b98]
push eax
push 0
push str.PnpInstanceID
push dword [ebp - 0x2ba4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x466f8a
mov eax, dword [ebp - 0x2b9c]
cmp eax, 1
jne 0x466f7b
push ebx
lea eax, [ebp - 0x108]
push 0x67a1dc
push eax
call fcn.005b6cc0
add esp, 0xc
test eax, eax
jne 0x466f49
xor ebx, ebx
jmp 0x466f8a
mov eax, dword [ebp - 0x2b9c]
cmp eax, 1
jne 0x466f7b
push 3
lea eax, [ebp - 0x108]
push 0x67a1dc
push eax
call fcn.005b6cc0
add esp, 0xc
test eax, eax
je 0x466f75
mov ebx, 2
jmp 0x466f8a
mov eax, dword [ebp - 0x2b9c]
xor ebx, ebx
cmp eax, 2
setne bl
lea ebx, [ebx*2 + 1]
mov eax, dword [ebp - 0x2ba4]
test eax, eax
je 0x466fa5
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x2ba4], 0
mov eax, dword [ebp - 0x2ba8]
test eax, eax
je 0x466fb6
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp byte [ebp - 0x2ba9], 0
jne 0x466fd0
cmp dword [edi + 0x1a0], 6
jne 0x467011
cmp dword [ebp - 0x2bb0], ebx
jle 0x467011
movzx eax, byte [edi + 0x194]
mov byte [esi], al
movzx eax, byte [edi + 0x195]
mov byte [esi + 1], al
movzx eax, byte [edi + 0x196]
mov byte [esi + 2], al
movzx eax, byte [edi + 0x197]
mov byte [esi + 3], al
movzx eax, byte [edi + 0x198]
mov byte [esi + 4], al
movzx eax, byte [edi + 0x199]
mov byte [esi + 5], al
mov dword [ebp - 0x2bb0], ebx
mov edi, dword [edi]
test edi, edi
jne 0x466dc3
pop edi
pop ebx
push dword [ebp - 0x2bb4]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
nop dword [eax + eax]
cmp byte [esi + eax], 0
jne 0x46704d
inc eax
cmp eax, 6
jl 0x467030
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005a1c7e
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov al, 1
xor ecx, ebp
pop esi
call fcn.005a1c7e
mov esp, ebp
pop ebp
ret
call fcn.005a1fb7
int3