Function at 0x200137ac
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
mov eax, 0x2009be3c
call fcn.2007d394
mov eax, 0x4288
call fcn.2007eb40
mov eax, dword [0x200cc84c]
push ebx
push esi
mov esi, ecx
xor eax, ebp
push edi
lea ecx, [esi + 8]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x426c], esi
mov dword [esi], 0x200a6730
call fcn.20013786
xor ebx, ebx
mov dword [ebp - 4], ebx
push 0x40
mov byte [ebp - 0x114], bl
xor eax, eax
pop ecx
lea edi, [ebp - 0x113]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [esi + 8]
stosb byte es:[edi], al
mov dword [ebp - 0x4248], 0x104
mov dword [ebp - 0x4234], ebx
call fcn.2001367f
mov edi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
lea eax, [ebp - 0x423c]
push eax
push 0x20019
push ebx
push str.SOFTWAREMicrosoftVisualStudio
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esi + 4], ebx
call edi
test eax, eax
jne 0x20013a06
lea eax, [ebp - 0x4264]
push eax
lea eax, [ebp - 0x4254]
push eax
lea eax, [ebp - 0x4270]
push eax
lea eax, [ebp - 0x4250]
push eax
lea eax, [ebp - 0x4268]
push eax
lea eax, [ebp - 0x4258]
push eax
lea eax, [ebp - 0x425c]
push eax
lea eax, [ebp - 0x4234]
push eax
push ebx
lea eax, [ebp - 0x4248]
push eax
lea eax, [ebp - 0x114]
push eax
push dword [ebp - 0x423c]
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyA]
cmp dword [ebp - 0x4234], ebx
je 0x200139fa
mov dword [ebp - 0x4238], ebx
jbe 0x200139fa
lea eax, [ebp - 0x4264]
push eax
push ebx
push ebx
push ebx
lea eax, [ebp - 0x4244]
push eax
lea eax, [ebp - 0x214]
push eax
push dword [ebp - 0x4238]
mov dword [ebp - 0x4244], 0xff
push dword [ebp - 0x423c]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
cmp eax, ebx
jne 0x200139e2
push ebx
lea ecx, [ebp - 0x4230]
mov dword [ebp - 0x4218], 0xf
call fcn.20001bc0
mov byte [ebp - 4], 1
push str.SOFTWAREMicrosoftVisualStudio_
lea ecx, [ebp - 0x4230]
call fcn.20003a20
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x4230]
call fcn.20008f58
cmp dword [ebp - 0x4218], 0x10
mov eax, dword [ebp - 0x422c]
mov dword [ebp - 0x424c], 0x3fff
jae 0x20013942
lea eax, [ebp - 0x422c]
lea ecx, [ebp - 0x4240]
push ecx
push 0x20019
push ebx
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call edi
test eax, eax
jne 0x200139d1
lea eax, [ebp - 0x424c]
push eax
lea eax, [ebp - 0x4214]
push eax
push ebx
push ebx
push 0x200a6734
push dword [ebp - 0x4240]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x200139c5
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x4294]
mov dword [esi + 4], 1
call fcn.20003c27
mov byte [ebp - 4], 2
lea eax, [ebp - 0x4294]
push eax
lea eax, [ebp - 0x4278]
push eax
lea ecx, [esi + 8]
call fcn.200135de
mov byte [ebp - 4], 1
push ebx
push 1
lea ecx, [ebp - 0x4294]
call fcn.2000275e
push dword [ebp - 0x4240]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], bl
push ebx
push 1
lea ecx, [ebp - 0x4230]
call fcn.2000275e
inc dword [ebp - 0x4238]
mov eax, dword [ebp - 0x4238]
cmp eax, dword [ebp - 0x4234]
jb 0x200138ab
push dword [ebp - 0x423c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.2007c9ae
leave
ret