Function at 0x46bf5b
Capabilities:
Query or enumerate registry key

Disassembly:
push 0x294
mov eax, 0x47fc10
call fcn.004083cb
mov dword [ebp - 0x2a0], ecx
mov eax, dword [ebp + 8]
push 0x28
lea ecx, [ebp - 0x60]
push ecx
push eax
call dword [sym.imp.ole32.dll_StringFromGUID2]
test eax, eax
jg 0x46bf9c
push 0x46c6a0
push 1
call fcn.004015a0
pop ecx
pop ecx
mov eax, 0x80004005
jmp 0x46c252
xor ebx, ebx
mov dword [ebp - 0x290], ebx
mov dword [ebp - 0x28c], ebx
mov dword [ebp - 0x288], ebx
xor ecx, ecx
push 2
mov esi, 0xf3
pop edx
mov eax, esi
mul edx
seto cl
mov dword [ebp - 4], ebx
neg ecx
or ecx, eax
push ecx
call fcn.00402c5d
mov dword [ebp - 0x280], eax
xor ecx, ecx
push 2
pop edx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00402c5d
mov edi, dword [ebp - 0x280]
pop ecx
pop ecx
mov dword [ebp - 0x27c], eax
cmp edi, ebx
je 0x46c213
cmp eax, ebx
je 0x46c213
xor eax, eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x60]
push eax
push 0x40fe98
push 0x410514
push esi
push dword [ebp - 0x280]
call fcn.0040ffd2
mov edi, eax
add esp, 0x14
cmp edi, ebx
jge 0x46c066
push edi
push 0x46c610
push 1
call fcn.004015a0
push dword [ebp - 0x280]
call fcn.00402c4c
push dword [ebp - 0x27c]
call fcn.00402c4c
add esp, 0x14
lea ecx, [ebp - 0x290]
call fcn.00403d1d
mov eax, edi
jmp 0x46c252
push ebx
push ebx
push 0x3001f
push ebx
push ebx
push dword [ebp - 0x280]
lea ecx, [ebp - 0x290]
push 0x80000002
call fcn.004065e4
mov edi, eax
cmp edi, ebx
jge 0x46c093
push edi
push 0x46c588
jmp 0x46c034
push 0x104
lea eax, [ebp - 0x268]
push eax
mov dword [ebp - 0x284], ebx
push ebx
jmp 0x46c1d8
lea eax, [ebp - 0x278]
push eax
lea eax, [ebp - 0x268]
push eax
call dword [sym.imp.ole32.dll_CLSIDFromString]
cmp eax, 0x800401f3
je 0x46c1c6
push 0x3001f
lea eax, [ebp - 0x268]
push eax
push dword [ebp - 0x290]
lea ecx, [ebp - 0x29c]
mov dword [ebp - 0x29c], ebx
mov dword [ebp - 0x298], ebx
mov dword [ebp - 0x294], ebx
call fcn.00403d7c
test eax, eax
jne 0x46c1bb
push dword [ebp - 0x29c]
mov ecx, dword [ebp - 0x2a0]
call fcn.00418b14
mov edi, dword [ebp - 0x27c]
test eax, eax
jne 0x46c167
stosd dword es:[edi], eax
lea eax, [ebp - 0x268]
push eax
push 0x46c4a8
push 4
call fcn.004015a0
lea eax, [ebp - 0x268]
push eax
push dword [ebp - 0x280]
push 0x410514
push esi
push dword [ebp - 0x27c]
call fcn.0040ffd2
add esp, 0x20
cmp eax, ebx
jge 0x46c1ab
push eax
push 0x46c400
push 1
call fcn.004015a0
add esp, 0xc
jmp 0x46c1bb
inc dword [ebp - 0x284]
xor eax, eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x268]
push eax
push 0x46c300
push 4
call fcn.004015a0
push 0x410444
lea eax, [ebp - 0x268]
push eax
push dword [ebp - 0x280]
push 0x46c2ec
push esi
push dword [ebp - 0x27c]
call fcn.0040ffd2
add esp, 0x24
jmp 0x46c151
push dword [ebp - 0x27c]
push 0x80000002
call fcn.0047c19a
lea ecx, [ebp - 0x29c]
call fcn.00403d1d
push 0x104
lea eax, [ebp - 0x268]
push eax
push dword [ebp - 0x284]
push dword [ebp - 0x290]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
test eax, eax
je 0x46c0ab
push dword [ebp - 0x280]
call fcn.00402c4c
push dword [ebp - 0x27c]
call fcn.00402c4c
pop ecx
pop ecx
lea ecx, [ebp - 0x290]
call fcn.00403d1d
xor eax, eax
jmp 0x46c252
push esi
push 0x46c260
push 1
call fcn.004015a0
add esp, 0xc
cmp edi, ebx
je 0x46c22e
push edi
call fcn.00402c4c
pop ecx
cmp dword [ebp - 0x27c], ebx
je 0x46c242
push dword [ebp - 0x27c]
call fcn.00402c4c
pop ecx
lea ecx, [ebp - 0x290]
call fcn.00403d1d
mov eax, 0x8007000e
call fcn.00408465
ret 4