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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x114c
call fcn.00496d80
mov eax, dword [0x5a205c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x485ccd
test ebx, ebx
je 0x485ccd
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x485a64
sub ecx, edx
sar ecx, 1
je 0x485ccd
mov ecx, ebx
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x485a80
sub ecx, edx
sar ecx, 1
je 0x485ccd
push 0x190
lea eax, [ebp - 0x194]
mov dword [ebp - 0x1138], 0
push 0
push eax
call fcn.00498440
add esp, 0xc
lea eax, [ebp - 0x1138]
push eax
push 0x20019
push 0
push esi
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x485ca5
mov eax, dword [ebp - 0x1138]
test eax, eax
je 0x485cb6
push edi
xor edi, edi
mov dword [ebp - 0x1140], 0xc7
push edi
push edi
push edi
push edi
lea ecx, [ebp - 0x1140]
push ecx
lea ecx, [ebp - 0x194]
push ecx
push edi
push eax
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x485ca4
lea ecx, [ebp - 0x194]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x485b20
sub ecx, edx
sar ecx, 1
je 0x485ca4
cmp dword [ebp - 0x1138], 0
je 0x485c58
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x485b47
sub eax, edx
sar eax, 1
je 0x485c58
lea eax, [ebp - 0x113c]
mov dword [ebp - 0x113c], 0
push eax
push 0x20019
push 0
lea eax, [ebp - 0x194]
push eax
push dword [ebp - 0x1138]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x485c58
mov esi, dword [ebp - 0x113c]
test esi, esi
je 0x485c58
push 0xfa0
push eax
lea eax, [ebp - 0x1134]
mov dword [ebp - 0x1148], 1
push eax
call fcn.00498440
add esp, 0xc
mov dword [ebp - 0x1144], 0xf9e
lea eax, [ebp - 0x1144]
push eax
lea eax, [ebp - 0x1134]
push eax
lea eax, [ebp - 0x1148]
push eax
push 0xffff
push ebx
push 0
push esi
call dword [sym.imp.ADVAPI32.dll_RegGetValueW]
push dword [ebp - 0x113c]
mov esi, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
jne 0x485c58
cmp dword [ebp - 0x1148], 1
jne 0x485c58
lea ecx, [ebp - 0x1134]
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x485c10
sub ecx, edx
sar ecx, 1
je 0x485c58
mov eax, 0x25
cmp ax, word [ebp - 0x1134]
je 0x485c58
lea eax, [ebp - 0x1134]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsRelativeW]
test eax, eax
lea eax, [ebp - 0x1134]
je 0x485c4d
push 0x800
jmp 0x485c4f
push 0
push 0
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
push 0x190
lea eax, [ebp - 0x194]
mov dword [ebp - 0x1140], 0xc7
push 0
push eax
inc edi
call fcn.00498440
add esp, 0xc
lea eax, [ebp - 0x1140]
push 0
push 0
push 0
push 0
push eax
lea eax, [ebp - 0x194]
push eax
push edi
push dword [ebp - 0x1138]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
je 0x485b14
pop edi
mov eax, dword [ebp - 0x1138]
test eax, eax
je 0x485cb6
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004959d0
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 4]
xor eax, eax
pop esi
xor ecx, ebp
pop ebx
call fcn.004959d0
mov esp, ebp
pop ebp
ret 8