Function at 0x108a308
Capabilities:
Query or enumerate registry value

Disassembly:
push 0xe8c
mov eax, 0x10a37c1
call fcn.010044ce
mov edi, dword [ebp + 8]
xor eax, eax
push 0x206
mov word [ebp - 0x218], ax
xor esi, esi
lea eax, [ebp - 0x216]
push esi
push eax
mov ebx, ecx
mov dword [ebp - 0xe48], edi
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0xe98]
push eax
lea eax, [ebp - 0xe64]
push eax
lea eax, [ebp - 0xe54]
push eax
lea eax, [ebp - 0xe58]
push eax
lea eax, [ebp - 0xe40]
push eax
lea eax, [ebp - 0xe6c]
push eax
lea eax, [ebp - 0xe68]
push eax
lea eax, [ebp - 0xe50]
push eax
push esi
lea eax, [ebp - 0xe60]
push eax
lea eax, [ebp - 0x218]
push eax
push edi
mov dword [ebp - 0xe60], 0x104
mov dword [ebp - 0xe50], esi
mov dword [ebp - 0xe68], esi
mov dword [ebp - 0xe6c], esi
mov dword [ebp - 0xe40], esi
mov dword [ebp - 0xe58], esi
mov dword [ebp - 0xe54], esi
mov dword [ebp - 0xe64], esi
mov dword [ebp - 0xe3c], esi
mov dword [ebp - 0xe4c], 0x400
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
cmp eax, esi
je 0x108a3de
mov dword [ebp - 0xe40], esi
cmp dword [ebp - 0xe40], esi
je 0x108a60e
lea ecx, [ebp - 0xe38]
mov dword [ebp - 0xe44], 4
call fcn.0100b62f
lea ecx, [ebp - 0xe1c]
mov dword [ebp - 4], esi
call fcn.0100b62f
mov byte [ebp - 4], 1
mov dword [ebp - 0xe3c], esi
cmp dword [ebp - 0xe40], esi
jbe 0x108a564
mov edi, dword [sym.imp.ADVAPI32.dll_RegGetValueW]
push esi
push esi
push esi
xor eax, eax
push esi
mov word [ebp - 0xe00], ax
lea eax, [ebp - 0xe4c]
push eax
lea eax, [ebp - 0xe00]
push eax
push dword [ebp - 0xe3c]
mov dword [ebp - 0xe4c], 0x400
push dword [ebp - 0xe48]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
cmp eax, esi
jne 0x108a54c
lea eax, [ebp - 0xe00]
push eax
lea ecx, [ebp - 0xe1c]
call fcn.0100b304
cmp dword [ebp - 0xe04], 8
mov eax, dword [ebp - 0xe18]
mov dword [ebp - 0xe44], 4
jae 0x108a499
lea eax, [ebp - 0xe18]
lea ecx, [ebp - 0xe44]
push ecx
lea ecx, [ebp - 0xe5c]
push ecx
push esi
push 0x10
push eax
push 0x10046c8
push dword [ebp - 0xe48]
call edi
test eax, eax
jne 0x108a4d5
lea eax, [ebp - 0xe1c]
push eax
lea ecx, [ebx + 0x54]
call fcn.0108a220
mov ecx, dword [ebp - 0xe5c]
mov dword [eax], ecx
jmp 0x108a54c
cmp dword [ebp - 0xe04], 8
mov eax, dword [ebp - 0xe18]
mov dword [ebp - 0xe44], 0x3e8
jae 0x108a4f4
lea eax, [ebp - 0xe18]
lea ecx, [ebp - 0xe44]
push ecx
lea ecx, [ebp - 0x600]
push ecx
push esi
push 0xffff
push eax
push 0x10046c8
push dword [ebp - 0xe48]
call edi
test eax, eax
jne 0x108a54c
lea eax, [ebp - 0x600]
push eax
lea ecx, [ebp - 0xe38]
call fcn.0100b304
lea eax, [ebp - 0xe1c]
push eax
lea ecx, [ebx + 0x48]
call fcn.0108a1a2
push 0xffffffffffffffff
push esi
lea ecx, [ebp - 0xe38]
push ecx
mov ecx, eax
call fcn.0100b506
inc dword [ebp - 0xe3c]
mov eax, dword [ebp - 0xe3c]
cmp eax, dword [ebp - 0xe40]
jb 0x108a429
push 0x103adb4
lea ecx, [ebp - 0xe90]
call fcn.0100b2d8
lea eax, [ebp - 0xe90]
lea edi, [ebx + 0x54]
push eax
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.0108a220
mov eax, dword [eax]
push esi
push 1
lea ecx, [ebp - 0xe90]
mov dword [ebp - 0xe74], eax
mov byte [ebp - 4], 1
call fcn.01008000
push 0x1046db4
lea ecx, [ebp - 0xe90]
call fcn.0100b2d8
lea eax, [ebp - 0xe90]
push eax
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.0108a220
mov eax, dword [eax]
xor edi, edi
push esi
inc edi
push edi
lea ecx, [ebp - 0xe90]
mov dword [ebp - 0xe70], eax
call fcn.01008000
add ebx, 0x38
push ebx
lea eax, [ebp - 0xe74]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
push esi
push edi
lea ecx, [ebp - 0xe1c]
mov dword [ebp - 0xe3c], edi
call fcn.01008000
push esi
push edi
lea ecx, [ebp - 0xe38]
call fcn.01008000
mov eax, dword [ebp - 0xe3c]
call fcn.0100450b
ret 4