Function at 0x1008ed1
Capabilities:
Query or enumerate registry key

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x274
mov eax, dword [0x1019214]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x220], eax
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
push 0x10
call dword [sym.imp.COMCTL32.dll_DPA_CreateEx]
xor ebx, ebx
cmp eax, ebx
mov dword [ebp - 0x214], eax
je 0x10093e7
push esi
mov esi, dword [0x1019080]
push edi
push 1
mov dword [ebp - 0x208], esi
call fcn.01005550
push ebx
push ebx
push 0xb
push esi
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
call esi
push ebx
push 9
mov edi, 0x110a
push edi
push dword [ebp - 0x208]
call esi
mov dword [ebp - 0x24c], eax
lea eax, [ebp - 0x204]
push ebx
mov dword [ebp - 0x274], 1
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x260], 0x100
mov dword [ebp - 0x248], 0x48
mov dword [ebp - 0x23c], ebx
push ebx
push edi
push dword [ebp - 0x208]
call esi
mov dword [ebp - 0x244], eax
lea eax, [ebp - 0x248]
push eax
push ebx
push 0x113e
push dword [ebp - 0x208]
call esi
push ebx
lea eax, [ebp - 0x204]
push eax
push dword [ebp - 0x244]
push dword [ebp - 0x208]
call fcn.010080e7
test byte [ebp - 0x240], 0x20
mov dword [ebp - 0x218], eax
je 0x1009316
cmp eax, ebx
je 0x1009309
lea ecx, [ebp - 0x21c]
push ecx
push 8
push ebx
lea ecx, [ebp - 0x204]
push ecx
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1009309
push dword [ebp - 0x244]
push ebx
push 0x1113
push dword [ebp - 0x208]
call esi
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, 0xff
sub ecx, eax
push ecx
lea eax, [ebp - 0x204]
push eax
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x20c], ebx
push ebx
jmp 0x100907a
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x210]
push eax
mov dword [ebp - 0x210], ebx
call dword [sym.imp.COMCTL32.dll_Str_SetPtrW]
push dword [ebp - 0x210]
push dword [ebp - 0x20c]
push dword [ebp - 0x214]
call dword [sym.imp.COMCTL32.dll_DPA_InsertPtr]
push dword [ebp - 0x218]
inc dword [ebp - 0x20c]
lea eax, [ebp - 0x204]
push eax
push dword [ebp - 0x20c]
push dword [ebp - 0x21c]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
test eax, eax
je 0x100902f
push dword [ebp - 0x21c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push ebx
push 0x1008066
push dword [ebp - 0x214]
call dword [sym.imp.COMCTL32.dll_DPA_Sort]
cmp dword [ebp - 0x20c], ebx
jne 0x10090df
push dword [ebp - 0x214]
call dword [sym.imp.COMCTL32.dll_DPA_DeleteAllPtrs]
push dword [ebp - 0x244]
push 0x8001
push 0x1102
push dword [ebp - 0x208]
call esi
mov dword [ebp - 0x228], ebx
jmp 0x100934a
push dword [ebp - 0x244]
dec dword [ebp - 0x20c]
mov eax, dword [ebp - 0x214]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x20c]
mov eax, dword [eax + ecx*4]
push 4
push edi
push dword [ebp - 0x208]
mov dword [ebp - 0x210], eax
call esi
cmp eax, ebx
mov dword [ebp - 0x270], eax
je 0x100912d
lea eax, [ebp - 0x274]
push eax
push ebx
push 0x113e
push dword [ebp - 0x208]
call esi
cmp dword [ebp - 0x20c], ebx
jl 0x10092ba
cmp dword [ebp - 0x270], ebx
je 0x100924f
push dword [ebp - 0x210]
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
cmp eax, ebx
jne 0x100918e
push dword [ebp - 0x270]
push 1
push edi
push dword [ebp - 0x208]
call esi
cmp eax, ebx
mov dword [ebp - 0x270], eax
je 0x10091bf
lea eax, [ebp - 0x274]
push eax
push ebx
push 0x113e
push dword [ebp - 0x208]
call esi
jmp 0x10091bf
jle 0x10091f6
push ebx
push dword [ebp - 0x210]
push dword [ebp - 0x21c]
call fcn.0100823b
push eax
push dword [ebp - 0x210]
push 0xffff0003
push dword [ebp - 0x244]
push dword [ebp - 0x208]
call fcn.010081e3
push ebx
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.COMCTL32.dll_Str_SetPtrW]
dec dword [ebp - 0x20c]
js 0x10092ba
mov eax, dword [ebp - 0x214]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x20c]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x210], eax
jmp 0x1009139
push dword [ebp - 0x270]
push 1
push edi
push dword [ebp - 0x208]
call esi
push dword [ebp - 0x270]
mov dword [ebp - 0x218], eax
push ebx
push 0x1101
push dword [ebp - 0x208]
call esi
mov eax, dword [ebp - 0x218]
cmp eax, ebx
mov dword [ebp - 0x270], eax
je 0x1009139
lea eax, [ebp - 0x274]
push eax
push ebx
push 0x113e
push dword [ebp - 0x208]
call esi
jmp 0x1009139
cmp dword [ebp - 0x20c], ebx
jl 0x10092ba
push ebx
push dword [ebp - 0x210]
jmp 0x100927a
mov eax, dword [ebp - 0x214]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x20c]
mov eax, dword [eax + ecx*4]
push ebx
mov dword [ebp - 0x210], eax
push eax
push dword [ebp - 0x21c]
call fcn.0100823b
push eax
push dword [ebp - 0x210]
push 0xffff0003
push dword [ebp - 0x244]
push dword [ebp - 0x208]
call fcn.010081e3
lea eax, [ebp - 0x210]
push ebx
push eax
call dword [sym.imp.COMCTL32.dll_Str_SetPtrW]
dec dword [ebp - 0x20c]
jns 0x1009260
jmp 0x10092fd
cmp dword [ebp - 0x270], ebx
je 0x10092fd
push dword [ebp - 0x270]
push 1
push edi
push dword [ebp - 0x208]
call esi
push dword [ebp - 0x270]
mov dword [ebp - 0x218], eax
push ebx
push 0x1101
push dword [ebp - 0x208]
call esi
mov eax, dword [ebp - 0x218]
cmp eax, ebx
mov dword [ebp - 0x270], eax
jne 0x10092c2
push dword [ebp - 0x214]
call dword [sym.imp.COMCTL32.dll_DPA_DeleteAllPtrs]
push dword [ebp - 0x244]
push 4
jmp 0x1008f78
cmp eax, ebx
je 0x100935f
push dword [ebp - 0x244]
push 0x8001
push 0x1102
push dword [ebp - 0x208]
call esi
lea eax, [ebp - 0x204]
push eax
push dword [ebp - 0x218]
call fcn.0100823b
mov dword [ebp - 0x228], eax
lea eax, [ebp - 0x248]
push eax
push ebx
push 0x113f
push dword [ebp - 0x208]
call esi
push dword [ebp - 0x244]
jmp 0x1009383
push dword [ebp - 0x244]
push 3
push edi
push dword [ebp - 0x208]
call esi
cmp eax, ebx
mov dword [ebp - 0x244], eax
je 0x1009397
push eax
push 1
push edi
push dword [ebp - 0x208]
call esi
cmp eax, ebx
je 0x1009367
jmp 0x1008f81
push dword [ebp - 0x214]
call dword [sym.imp.COMCTL32.dll_DPA_Destroy]
push ebx
push 1
push 0xb
push dword [ebp - 0x208]
call esi
push ebx
push 9
push edi
push dword [ebp - 0x208]
call esi
cmp eax, dword [ebp - 0x24c]
pop edi
pop esi
jne 0x10093d5
push dword [ebp - 0x220]
call fcn.0100e889
test eax, eax
je 0x10093e1
push ebx
push dword [ebp - 0x220]
call fcn.01008e65
push ebx
call fcn.01005550
mov ecx, dword [ebp - 4]
pop ebx
call fcn.010167d4
leave
ret 4