Function at 0x4be640
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1a88
call fcn.006ab750
cmp byte [ebp + 0x14], 0
push esi
push edi
push 0
mov eax, str.SuiteUsage
je 0x4be670
push 0x6ed838
call fcn.004811b0
push 0x6ed838
jmp 0x4be67f
push 0x6ed830
call fcn.004811b0
push 0x6ed830
push str.SuiteUsage
add eax, 1
call fcn.00480f20
lea eax, [esp + 0x1474]
push eax
mov eax, str.SuiteUsageLinks
call fcn.004a55a0
lea edi, [esp + 0x1474]
lea esi, [esp + 0x420]
mov dword [esp + 0x1474], 0x80000001
call fcn.00557d70
cmp word [esp + 0xa48], 0
je 0x4be850
mov esi, dword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
mov edx, dword [esp + 0x83c]
lea ecx, [esp + 0x1268]
push ecx
push 0x6bc0cc
push 0x6f701c
lea ecx, [esp + 0xa54]
call fcn.004af7e0
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x1268]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4be726
test dx, dx
je 0x4be722
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4be726
add eax, 4
add ecx, 4
test dx, dx
jne 0x4be700
xor eax, eax
jmp 0x4be72b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4be7f3
lea edx, [esp + 0x1888]
push edx
mov edx, dword [esp + 0x840]
push 0x6bc0cc
push 0x6f7024
lea ecx, [esp + 0xa54]
call fcn.004af7e0
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0x1888]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4be788
test dx, dx
je 0x4be784
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4be788
add eax, 4
add ecx, 4
test dx, dx
jne 0x4be762
xor eax, eax
jmp 0x4be78d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4be7f3
mov edx, dword [esp + 0x83c]
lea eax, [esp + 0xc50]
push eax
push 0x6bc0cc
push 0x6f702c
lea ecx, [esp + 0xa54]
call fcn.004af7e0
mov ecx, dword [ebp + 0x10]
lea eax, [esp + 0xc50]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4be7e6
test dx, dx
je 0x4be7e2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4be7e6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4be7c0
xor eax, eax
jmp 0x4be7eb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4be91d
mov eax, dword [esp + 0x420]
mov ecx, eax
push 0x104
add eax, 1
lea edx, [esp + 0xc54]
push edx
mov dword [esp + 0x428], eax
mov eax, dword [esp + 0x42c]
push ecx
push eax
call esi
test eax, eax
jne 0x4be90e
lea ecx, [esp + 0x428]
push ecx
lea eax, [esp + 0x840]
lea ecx, [esp + 0xc54]
call fcn.00401730
cmp word [esp + 0xa48], 0
jne 0x4be6d1
mov eax, dword [esp + 0x424]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [esp + 0x1474]
push ecx
lea edi, [esp + 0x10]
mov word [esp + 0x14], 0
mov word [esp + 0x21c], 0
mov dword [esp + 0x10], SysReAllocStringLen
call fcn.00557d00
mov edx, dword [esp + 0xc]
mov esi, dword [ebp + 8]
push 0x6f701c
push edx
lea edx, [esp + 0x220]
call fcn.004af710
mov eax, dword [esp + 0xc]
mov esi, dword [ebp + 0xc]
push 0x6f7024
push eax
lea edx, [esp + 0x220]
call fcn.004af710
mov ecx, dword [esp + 0xc]
mov esi, dword [ebp + 0x10]
push 0x6f702c
push ecx
lea edx, [esp + 0x220]
call fcn.004af710
push 1
push 0x6bc0dc
lea edx, [esp + 0xe60]
call fcn.00401000
mov edx, dword [esp + 0x14]
add esp, 8
push 0x6f7034
push edx
lea esi, [esp + 0xe60]
lea edx, [esp + 0x220]
call fcn.004af710
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
mov word [esp + 0xa48], 0
jmp 0x4be850
lea edx, [esp + 0x1060]
push edx
mov edx, dword [esp + 0x840]
push 0x6bc0cc
push 0x6f7034
lea ecx, [esp + 0xa54]
call fcn.004af7e0
cmp word [esp + 0x1060], 0
je 0x4be95f
lea eax, [esp + 0x1060]
push eax
call fcn.0069c8f5
add esp, 4
jmp 0x4be961
xor eax, eax
add eax, 1
push eax
push 0x6bc0dc
lea edx, [esp + 0xe60]
call fcn.00401000
mov ecx, dword [esp + 0x844]
add esp, 8
push 0x6f7034
push ecx
lea esi, [esp + 0xe60]
lea edx, [esp + 0xa50]
call fcn.004af710
mov edx, dword [esp + 0x424]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10