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

Disassembly:
push ebp
lea ebp, [esp - 0x5a4]
sub esp, 0x624
mov eax, dword [0x487010]
xor eax, ebp
mov dword [ebp + 0x5a0], eax
mov eax, dword [ebp + 0x5b4]
push ebx
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0x78]
push eax
push 0x20019
xor ebx, ebx
push ebx
push str.SYSTEMCurrentControlSetControlClass4D36E972_E325_11CE_BFC1_08002BE10318
push reloc.SocksCapExDLL32.dll_Ordinal_2
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x459df2
push str.tapwin32_find_device
push str._s:
call fcn.0045a356
add eax, 0x40
push eax
call sub.msvcrt.dll_fprintf
add esp, 0xc
push str.Error_opening_adapter_key
call fcn.0045a356
add eax, 0x40
push eax
call sub.msvcrt.dll_fprintf
pop ecx
pop ecx
push 0x477010
call fcn.0045a356
add eax, 0x40
push eax
call sub.msvcrt.dll_fprintf
pop ecx
pop ecx
xor eax, eax
jmp 0x45a074
push esi
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp + 0x4a0]
push eax
push ebx
push dword [ebp - 0x78]
mov esi, 0x100
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x64], esi
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
test eax, eax
jne 0x459ff3
push edi
lea eax, [ebp + 0x4a0]
push eax
push str.SYSTEMCurrentControlSetControlClass4D36E972_E325_11CE_BFC1_08002BE10318
push str._s_s
lea eax, [ebp - 0x60]
push esi
push eax
call sub.msvcrt.dll__snprintf
add esp, 0x14
cmp eax, ebx
jl 0x45a046
cmp eax, esi
je 0x45a046
lea eax, [ebp - 0x68]
push eax
push 0x20019
push ebx
lea eax, [ebp - 0x60]
push eax
push reloc.SocksCapExDLL32.dll_Ordinal_2
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x45a046
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp + 0xa0]
push eax
lea eax, [ebp - 0x6c]
push eax
push ebx
push str.ComponentId
push dword [ebp - 0x68]
mov dword [ebp - 0x64], esi
call edi
test eax, eax
jne 0x45a034
cmp dword [ebp - 0x6c], 1
jne 0x45a034
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp + 0x3a0]
push eax
lea eax, [ebp - 0x6c]
push eax
push ebx
push str.NetCfgInstanceId
push dword [ebp - 0x68]
mov dword [ebp - 0x64], esi
call edi
test eax, eax
jne 0x45a034
cmp dword [ebp - 0x6c], 1
jne 0x45a034
push dword [ebp - 0x68]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edi, dword [ebp + 0x5ac]
lea eax, [ebp + 0xa0]
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x459f09
cmp cl, bl
je 0x459f05
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x459f09
inc eax
inc eax
inc edi
inc edi
cmp cl, bl
jne 0x459eeb
xor eax, eax
jmp 0x459f0e
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45a046
mov edi, dword [ebp + 0x5b0]
cmp edi, ebx
je 0x459feb
lea eax, [ebp + 0x3a0]
push eax
push str.SYSTEMCurrentControlSetControlNetwork4D36E972_E325_11CE_BFC1_08002BE10318
push str._s_sConnection
lea eax, [ebp + 0x1a0]
push esi
push eax
call sub.msvcrt.dll__snprintf
add esp, 0x14
cmp eax, ebx
jl 0x45a046
cmp eax, esi
je 0x45a046
lea eax, [ebp - 0x74]
push eax
push 0x20019
push ebx
lea eax, [ebp + 0x1a0]
push eax
push reloc.SocksCapExDLL32.dll_Ordinal_2
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x45a046
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp + 0x2a0]
push eax
lea eax, [ebp - 0x6c]
push eax
push ebx
push str.Name
push dword [ebp - 0x74]
mov dword [ebp - 0x64], esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x45a02f
cmp dword [ebp - 0x6c], 1
jne 0x45a02f
push dword [ebp - 0x74]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x459fbe
call sub.msvcrt.dll_abort
lea eax, [ebp + 0x2a0]
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x459fe2
cmp cl, bl
je 0x459fde
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x459fe2
inc eax
inc eax
inc edi
inc edi
cmp cl, bl
jne 0x459fc4
xor eax, eax
jmp 0x459fe7
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x45a046
mov dword [ebp - 0x70], 1
pop edi
push dword [ebp - 0x78]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x45a005
call sub.msvcrt.dll_abort
cmp dword [ebp - 0x70], ebx
je 0x45a071
lea eax, [ebp + 0x3a0]
push eax
push str..Global_s.tap
push esi
push dword [ebp - 0x80]
call sub.msvcrt.dll__snprintf
add esp, 0x10
cmp eax, ebx
jl 0x45a071
cmp eax, esi
je 0x45a071
xor eax, eax
inc eax
jmp 0x45a073
push dword [ebp - 0x74]
jmp 0x45a037
push dword [ebp - 0x68]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x45a046
call sub.msvcrt.dll_abort
inc dword [ebp - 0x7c]
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp + 0x4a0]
push eax
push dword [ebp - 0x7c]
mov dword [ebp - 0x64], esi
push dword [ebp - 0x78]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
test eax, eax
je 0x459e23
jmp 0x459ff2
xor eax, eax
pop esi
mov ecx, dword [ebp + 0x5a0]
xor ecx, ebp
pop ebx
call fcn.0045b700
add ebp, 0x5a4
leave
ret