Function at 0x1000516d
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x54
mov eax, 0x1005b21d
call fcn.10039cce
mov edi, ecx
xor ebx, ebx
mov eax, edi
mov dword [edi + 0x10], ebx
cmp dword [edi + 0x14], 8
jb 0x1000518a
mov eax, dword [edi]
xor ecx, ecx
mov word [eax], cx
xor eax, eax
push 7
pop esi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], esi
mov word [ebp - 0x2c], ax
mov dword [ebp - 4], ebx
cmp byte [str.d38cc827_e34f_4453_9df4_1e796e9f1d07], 0x65
jne 0x100051dc
lea edx, [ebp - 0x2c]
mov ecx, str._DOTNET_TEST_GLOBALLY_REGISTERED_PATH
call fcn.1000549d
test al, al
je 0x100051dc
lea eax, [ebp - 0x2c]
cmp edi, eax
je 0x100051d5
cmp dword [ebp - 0x18], 8
mov ecx, edi
push dword [ebp - 0x1c]
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.10001641
mov bl, 1
jmp 0x10005331
xor eax, eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], esi
mov word [ebp - 0x44], ax
xor ebx, ebx
lea eax, [ebp - 0x60]
inc ebx
lea edx, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], bl
call fcn.10004ec4
and dword [ebp - 0x48], 0
lea ecx, [ebp - 0x48]
cmp dword [ebp - 0x30], 8
lea eax, [ebp - 0x44]
push ecx
cmovae eax, dword [ebp - 0x44]
push 0x20219
push 0
push eax
push dword [ebp - 0x5c]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x10005237
push eax
push str.Cant_open_the_SDK_installed_location_registry_key__result:_0x_X
call fcn.10004af0
pop ecx
pop ecx
jmp 0x10005327
xor ecx, ecx
lea eax, [ebp - 0x58]
push eax
push ecx
push ecx
push 2
push dword [ebp - 0x60]
mov dword [ebp - 0x58], ecx
push ecx
push dword [ebp - 0x48]
call dword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
jne 0x10005311
mov esi, dword [ebp - 0x58]
test esi, esi
je 0x10005311
shr esi, 1
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
je 0x100052a4
push esi
lea ecx, [ebp - 0x54]
call fcn.100017b0
lea ecx, [esi + esi]
mov dword [ebp - 0x54], eax
push ecx
push 0
lea esi, [ecx + eax]
push eax
mov dword [ebp - 0x4c], esi
call fcn.1003aeb0
and dword [ebp - 0x5c], 0
lea ecx, [ebp - 0x5c]
add esp, 0xc
mov dword [ebp - 0x50], esi
call fcn.10004cde
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 2
push ecx
push eax
push 0
push 2
push dword [ebp - 0x60]
push 0
push dword [ebp - 0x48]
call dword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
je 0x100052dd
push eax
push str.Cant_get_the_value_of_the_SDK_location_registry_value__result:_0x_X
call fcn.10004af0
pop ecx
pop ecx
push dword [ebp - 0x48]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor bl, bl
jmp 0x100052f0
push dword [ebp - 0x54]
mov ecx, edi
call fcn.1000161a
push dword [ebp - 0x48]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x10005329
mov edx, dword [ebp - 0x4c]
sub edx, ecx
and edx, 0xfffffffe
call fcn.10001712
xor eax, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
jmp 0x10005329
push eax
push str.Cant_get_the_size_of_the_SDK_location_registry_value_or_its_empty__result:_0x_X
call fcn.10004af0
pop ecx
pop ecx
push dword [ebp - 0x48]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor bl, bl
lea ecx, [ebp - 0x44]
call fcn.100015ef
lea ecx, [ebp - 0x2c]
call fcn.100015ef
mov al, bl
call fcn.10039c8c
ret