Function at 0x68ef9a08
Capabilities:
Query or enumerate registry key

Disassembly:
push 0x244
mov eax, 0x68f5d211
call fcn.68f54ccb
mov esi, ecx
xor edi, edi
mov dword [ebp - 0x230], esi
mov ebx, edx
mov dword [ebp - 0x228], edi
mov dword [ebp - 4], edi
push edi
lea ecx, [ebp - 0x248]
call sym.GrooveUtil.DLL_public:_void___thiscall_GCRegistryKey::constructor_bool_
mov byte [ebp - 4], 1
lea eax, [ebp - 0x22c]
push eax
push 0x20019
push edi
push str.SOFTWAREMicrosoftWindows_NTCurrentVersionTime_Zones
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x22c], edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, edi
jne 0x68ef9a71
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x228], eax
jmp 0x68ef9a76
call fcn.68ef99de
mov dword [ebp - 0x22c], edi
jmp 0x68ef9a84
mov esi, dword [ebp - 0x230]
lea eax, [ebp - 0x250]
push eax
xor edi, edi
push edi
push edi
push edi
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x224]
push eax
push dword [ebp - 0x22c]
mov dword [ebp - 0x234], 0x105
push dword [ebp - 0x228]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
inc dword [ebp - 0x22c]
cmp eax, 0x103
jne 0x68ef9ad3
push 0x80004005
push 0x2e6e3162
jmp 0x68ef9af9
cmp eax, edi
je 0x68ef9afe
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
test eax, eax
jg 0x68ef9ae7
call edi
jmp 0x68ef9af3
call edi
and eax, 0xffff
or eax, 0x80070000
push eax
push 0x2e6e3163
call fcn.68ef1014
lea eax, [ebp - 0x224]
push eax
push dword [ebp - 0x228]
lea ecx, [ebp - 0x248]
call sym.GrooveUtil.DLL_public:_void___thiscall_GCRegistryKey::SetKeyRoot_struct_HKEY_____wchar_t_const__
push 0x20019
lea ecx, [ebp - 0x248]
call sym.GrooveUtil.DLL_public:_long_int___thiscall_GCRegistryKey::Open_unsigned_long_int_
lea eax, [ebp - 0x248]
push eax
call fcn.68ef9c26
mov eax, dword [ebx]
cmp eax, dword [esi]
jne 0x68ef9a84
lea eax, [esi + 4]
xor edi, edi
cmp word [eax], di
je 0x68ef9b90
push eax
lea eax, [ebx + 4]
push eax
call dword [sym.imp.MSVCR80.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
jne 0x68ef9a84
mov byte [ebp - 4], al
lea ecx, [ebp - 0x248]
call sym.GrooveUtil.DLL_public_virtual:_void___thiscall_GCRegistryKey::destructor_void_
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x228], edi
je 0x68ef9c20
push dword [ebp - 0x228]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x228], edi
jmp 0x68ef9c20
mov eax, dword [ebx + 0x54]
cmp eax, dword [esi + 0x54]
jne 0x68ef9a84
mov eax, dword [ebx + 0xa8]
cmp eax, dword [esi + 0xa8]
jne 0x68ef9a84
push 0x10
lea edi, [esi + 0x44]
pop ecx
lea esi, [ebx + 0x44]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x68ef9bc2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x68ef9a7e
mov edi, dword [ebp - 0x230]
push 0x10
add edi, 0x98
pop ecx
lea esi, [ebx + 0x98]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x68ef9bea
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x68ef9a7e
mov byte [ebp - 4], al
lea ecx, [ebp - 0x248]
call sym.GrooveUtil.DLL_public_virtual:_void___thiscall_GCRegistryKey::destructor_void_
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x228], 0
je 0x68ef9c20
push dword [ebp - 0x228]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
and dword [ebp - 0x228], 0
call fcn.68f54d4e
ret