Function at 0x100010fe
Capabilities:
Query or enumerate registry key

Disassembly:
push 0x14c
mov eax, 0x10018651
call fcn.1001450a
mov eax, dword [ebp + 8]
mov ebx, ecx
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x144], ebx
and dword [ebp - 4], 0
mov eax, dword [ebp + 0xc]
mov esi, edx
or esi, 0x20019
add eax, 0xfffffff0
mov dword [ebp - 0x140], esi
call fcn.10001dec
lea edi, [eax + 0x10]
xor eax, eax
push edi
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], eax
push ebx
mov eax, esi
lea ebx, [ebp - 0x124]
call fcn.10005408
test eax, eax
je 0x1000117d
mov esi, ebx
call fcn.1000545a
lea eax, [edi - 0x10]
call fcn.100021af
and dword [ebp - 0x12c], 0
jmp 0x100011bf
xor ebx, ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x130]
push eax
push ebx
push ebx
push ebx
push dword [ebp - 0x124]
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
lea esi, [ebp - 0x124]
test eax, eax
jne 0x100011ac
mov ebx, dword [ebp - 0x130]
call fcn.1000545a
lea eax, [edi - 0x10]
call fcn.100021af
mov dword [ebp - 0x12c], ebx
mov eax, dword [0x1001f038]
mov esi, 0x1001f038
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x118], eax
mov byte [ebp - 4], 1
mov eax, dword [0x1001f038]
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x128], eax
and dword [ebp - 0x134], 0
cmp dword [ebp - 0x12c], 0
mov byte [ebp - 4], 2
jle 0x10001470
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
call fcn.10001dec
lea edi, [eax + 0x10]
mov dword [ebp - 0x13c], edi
xor eax, eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], eax
push 0x1001b858
xor ebx, ebx
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 4
call fcn.10001d76
mov eax, dword [ebp - 0x140]
push edi
push dword [ebp - 0x144]
lea ebx, [ebp - 0x124]
call fcn.10005408
test eax, eax
je 0x10001277
lea esi, [ebp - 0x124]
call fcn.1000545a
mov byte [ebp - 4], 2
lea eax, [edi - 0x10]
jmp 0x10001453
push 0x80
lea eax, [ebp - 0x114]
push eax
push dword [ebp - 0x134]
push dword [ebp - 0x124]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
test eax, eax
jne 0x10001260
lea eax, [ebp - 0x114]
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x100012a2
sub eax, ecx
sar eax, 1
lea ecx, [ebp - 0x114]
mov ebx, eax
push ecx
lea eax, [ebp - 0x118]
call fcn.10001d76
lea esi, [ebp - 0x124]
call fcn.1000545a
lea eax, [edi - 0x10]
mov byte [ebp - 4], 2
call fcn.100021af
mov eax, dword [ebp - 0x118]
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x13c], esp
mov esi, esp
call fcn.10001dec
add eax, 0x10
mov dword [esi], eax
mov esi, dword [ebp - 0x138]
lea eax, [ebp - 0x158]
push eax
mov ecx, esi
call fcn.100014f5
push eax
lea edi, [esi + 0xc]
mov byte [ebp - 4], 5
call fcn.10001b9d
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x158]
add eax, 0xfffffff0
call fcn.100021af
push 0x1001b2f4
lea eax, [ebp - 0x130]
push eax
call fcn.10001aa9
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x150]
push eax
lea edi, [ebp + 0xc]
mov byte [ebp - 4], 6
call fcn.10001b4e
lea ecx, [ebp - 0x118]
push ecx
lea ecx, [ebp - 0x154]
push ecx
mov edi, eax
mov byte [ebp - 4], 7
call fcn.10001b4e
add esp, 0x10
lea edi, [ebp - 0x118]
mov byte [ebp - 4], 8
call fcn.10001ae6
mov eax, dword [ebp - 0x154]
add eax, 0xfffffff0
call fcn.100021af
mov eax, dword [ebp - 0x150]
add eax, 0xfffffff0
call fcn.100021af
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x130]
add eax, 0xfffffff0
call fcn.100021af
push dword [ebp - 0x140]
lea eax, [ebp - 0x128]
push eax
push ecx
mov eax, esp
mov dword [ebp - 0x13c], esp
push str.DisplayName
push eax
call fcn.10001aa9
mov byte [ebp - 4], 9
push ecx
mov eax, dword [ebp - 0x118]
add eax, 0xfffffff0
mov dword [ebp - 0x14c], esp
mov esi, esp
call fcn.10001dec
push dword [ebp - 0x144]
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 2
call fcn.1000517e
test al, al
je 0x10001458
mov eax, dword [ebp - 0x128]
cmp dword [eax - 0xc], 0
jle 0x10001458
push ecx
add eax, 0xfffffff0
mov dword [ebp - 0x14c], esp
mov esi, esp
call fcn.10001dec
add eax, 0x10
mov dword [esi], eax
mov esi, dword [ebp - 0x138]
lea eax, [ebp - 0x148]
push eax
mov ecx, esi
call fcn.100014f5
push eax
lea edi, [esi + 0x18]
mov byte [ebp - 4], 0xa
call fcn.10001b9d
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x148]
add eax, 0xfffffff0
call fcn.100021af
inc dword [ebp - 0x134]
mov eax, dword [ebp - 0x134]
cmp eax, dword [ebp - 0x12c]
jl 0x10001206
mov eax, dword [ebp - 0x128]
add eax, 0xfffffff0
call fcn.100021af
mov eax, dword [ebp - 0x118]
add eax, 0xfffffff0
call fcn.100021af
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
call fcn.100021af
call fcn.10014554
ret 8