Function at 0x405260
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov dword [0x65af34], 0
lea eax, [ebp - 4]
push ebx
mov ebx, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
push esi
push edi
push eax
push 0x20019
push 0
push str.SOFTWAREMicrosoftNET_Framework_SetupNDP_v4Full
push reloc.OLEAUT32.dll_SysReAllocString
call ebx
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
jne 0x4053bb
lea eax, [ebp - 8]
mov dword [ebp - 8], 4
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push 0
push str.Install
push dword [ebp - 4]
call esi
test eax, eax
jne 0x4053b6
cmp dword [ebp - 0xc], 1
jne 0x4053b6
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x14]
push eax
push 0
push 0
push str.Release
push dword [ebp - 4]
call esi
test eax, eax
jne 0x405356
cmp dword [ebp - 0x14], 0x5c615
jne 0x405356
mov ecx, 0x65ae30
mov esi, str..net_Framework_4.5_Full
mov edx, 0x80
sub esi, ecx
nop word [eax + eax]
lea eax, [edx + 0x7fffff7e]
test eax, eax
je 0x40532e
movzx eax, word [esi + ecx]
test ax, ax
je 0x40532e
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x405310
test edx, edx
lea eax, [ecx - 2]
pop edi
cmovne eax, ecx
xor ecx, ecx
pop esi
pop ebx
mov word [eax], cx
mov dword [0x65af30], 0x2d
mov dword [0x65af34], 1
mov esp, ebp
pop ebp
ret
mov ecx, 0x65ae30
mov esi, str..net_Framework_4.0_Full
mov edx, 0x80
sub esi, ecx
nop word [eax + eax]
lea eax, [edx + 0x7fffff7e]
test eax, eax
je 0x40538e
movzx eax, word [esi + ecx]
test ax, ax
je 0x40538e
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x405370
test edx, edx
lea eax, [ecx - 2]
pop edi
cmovne eax, ecx
xor ecx, ecx
pop esi
pop ebx
mov word [eax], cx
mov dword [0x65af30], 0x28
mov dword [0x65af34], 1
mov esp, ebp
pop ebp
ret
push dword [ebp - 4]
call edi
lea eax, [ebp - 4]
push eax
push 0x20019
push 0
push str.SOFTWAREMicrosoftNET_Framework_SetupNDP_v4Client
push reloc.OLEAUT32.dll_SysReAllocString
call ebx
test eax, eax
jne 0x4054d1
lea eax, [ebp - 8]
mov dword [ebp - 8], 4
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push 0
push str.Install
push dword [ebp - 4]
call esi
test eax, eax
jne 0x4054cc
cmp dword [ebp - 0xc], 1
jne 0x4054cc
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x14]
push eax
push 0
push 0
push str.Release
push dword [ebp - 4]
call esi
test eax, eax
jne 0x40547c
cmp dword [ebp - 0x14], 0x5c615
jne 0x40547c
mov ecx, 0x65ae30
mov esi, str..net_Framework_4.5_Client_Profile
mov edx, 0x80
sub esi, ecx
nop dword [eax]
lea eax, [edx + 0x7fffff7e]
test eax, eax
je 0x40545e
movzx eax, word [esi + ecx]
test ax, ax
je 0x40545e
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x405440
test edx, edx
lea eax, [ecx - 2]
pop edi
cmovne eax, ecx
xor ecx, ecx
pop esi
pop ebx
mov word [eax], cx
mov dword [0x65af30], 0x2d
mov esp, ebp
pop ebp
ret
mov ecx, 0x65ae30
mov esi, str..net_Framework_4.0_Client_Profile
mov edx, 0x80
sub esi, ecx
nop dword [eax]
lea eax, [edx + 0x7fffff7e]
test eax, eax
je 0x4054ae
movzx eax, word [esi + ecx]
test ax, ax
je 0x4054ae
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x405490
test edx, edx
lea eax, [ecx - 2]
pop edi
cmovne eax, ecx
xor ecx, ecx
pop esi
pop ebx
mov word [eax], cx
mov dword [0x65af30], 0x28
mov esp, ebp
pop ebp
ret
push dword [ebp - 4]
call edi
lea eax, [ebp - 4]
push eax
push 0x20019
push 0
push str.SOFTWAREMicrosoftNET_Framework_SetupNDP_v3.5
push reloc.OLEAUT32.dll_SysReAllocString
call ebx
test eax, eax
jne 0x4055c2
lea eax, [ebp - 8]
mov dword [ebp - 8], 4
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push 0
push str.Install
push dword [ebp - 4]
call esi
test eax, eax
jne 0x4055bd
cmp dword [ebp - 0xc], 1
jne 0x4055bd
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 0x422820
push dword [ebp - 4]
call esi
test eax, eax
jne 0x405570
cmp dword [ebp - 0x10], 1
jne 0x405570
mov ecx, 0x65ae30
mov esi, str..net_Framework_3.5_Service_Pack_1
mov edx, 0x80
sub esi, ecx
lea eax, [edx + 0x7fffff7e]
test eax, eax
je 0x40559f
movzx eax, word [esi + ecx]
test ax, ax
je 0x40559f
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x405550
jmp 0x40559f
mov ecx, 0x65ae30
mov esi, str..net_Framework_3.5
mov edx, 0x80
sub esi, ecx
lea eax, [edx + 0x7fffff7e]
test eax, eax
je 0x40559f
movzx eax, word [esi + ecx]
test ax, ax
je 0x40559f
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x405581
test edx, edx
lea eax, [ecx - 2]
pop edi
cmovne eax, ecx
xor ecx, ecx
pop esi
pop ebx
mov word [eax], cx
mov dword [0x65af30], 0x23
mov esp, ebp
pop ebp
ret
push dword [ebp - 4]
call edi
lea eax, [ebp - 4]
push eax
push 0x20019
push 0
push str.SOFTWAREMicrosoftNET_Framework_SetupNDP_v3.0
push reloc.OLEAUT32.dll_SysReAllocString
call ebx
test eax, eax
jne 0x4056f3
lea eax, [ebp - 8]
mov dword [ebp - 8], 4
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push 0
push str.Install
push dword [ebp - 4]
call esi
test eax, eax
jne 0x4056ee
cmp dword [ebp - 0xc], 1
jne 0x4056ee
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 0x422820
push dword [ebp - 4]
call esi
test eax, eax
jne 0x4056a1
mov eax, dword [ebp - 0x10]
cmp eax, 2
je 0x405670
cmp eax, 1
jne 0x4056a1
mov ecx, 0x65ae30
mov esi, str..net_Framework_3.0_Service_Pack_1
mov edx, 0x80
sub esi, ecx
nop dword [eax + eax]
lea eax, [edx + 0x7fffff7e]
test eax, eax
je 0x4056d0
movzx eax, word [esi + ecx]
test ax, ax
je 0x4056d0
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x405650
jmp 0x4056d0
mov ecx, 0x65ae30
mov esi, str..net_Framework_3.0_Service_Pack_2
mov edx, 0x80
sub esi, ecx
lea eax, [edx + 0x7fffff7e]
test eax, eax
je 0x4056d0
movzx eax, word [esi + ecx]
test ax, ax
je 0x4056d0
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x405681
jmp 0x4056d0
mov ecx, 0x65ae30
mov esi, str..net_Framework_3.0
mov edx, 0x80
sub esi, ecx
lea eax, [edx + 0x7fffff7e]
test eax, eax
je 0x4056d0
movzx eax, word [ecx + esi]
test ax, ax
je 0x4056d0
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x4056b2
test edx, edx
lea eax, [ecx - 2]
pop edi
cmovne eax, ecx
xor ecx, ecx
pop esi
pop ebx
mov word [eax], cx
mov dword [0x65af30], 0x1e
mov esp, ebp
pop ebp
ret
push dword [ebp - 4]
call edi
lea eax, [ebp - 4]
push eax
push 0x20019
push 0
push str.SOFTWAREMicrosoftNET_Framework_SetupNDP_v2.0.50727
push reloc.OLEAUT32.dll_SysReAllocString
call ebx
test eax, eax
jne 0x405823
lea eax, [ebp - 8]
mov dword [ebp - 8], 4
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push 0
push str.Install
push dword [ebp - 4]
call esi
test eax, eax
jne 0x40581e
cmp dword [ebp - 0xc], 1
jne 0x40581e
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 0x422820
push dword [ebp - 4]
call esi
test eax, eax
jne 0x4057d1
mov eax, dword [ebp - 0x10]
cmp eax, 2
je 0x4057a0
cmp eax, 1
jne 0x4057d1
mov ecx, 0x65ae30
mov esi, str..net_Framework_2.0_Service_Pack_1
mov edx, 0x80
sub esi, ecx
nop dword [eax]
lea eax, [edx + 0x7fffff7e]
test eax, eax
je 0x405800
movzx eax, word [ecx + esi]
test ax, ax
je 0x405800
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x405780
jmp 0x405800
mov ecx, 0x65ae30
mov esi, str..net_Framework_2.0_Service_Pack_2
mov edx, 0x80
sub esi, ecx
lea eax, [edx + 0x7fffff7e]
test eax, eax
je 0x405800
movzx eax, word [ecx + esi]
test ax, ax
je 0x405800
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x4057b1
jmp 0x405800
mov ecx, 0x65ae30
mov esi, str..net_Framework_2.0
mov edx, 0x80
sub esi, ecx
lea eax, [edx + 0x7fffff7e]
test eax, eax
je 0x405800
movzx eax, word [ecx + esi]
test ax, ax
je 0x405800
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x4057e2
test edx, edx
lea eax, [ecx - 2]
pop edi
cmovne eax, ecx
xor ecx, ecx
pop esi
pop ebx
mov word [eax], cx
mov dword [0x65af30], 0x14
mov esp, ebp
pop ebp
ret
push dword [ebp - 4]
call edi
lea eax, [ebp - 4]
push eax
push 0x20019
push 0
push str.SOFTWAREMicrosoftNET_Framework_SetupNDP_v1.1.4322
push reloc.OLEAUT32.dll_SysReAllocString
call ebx
test eax, eax
jne 0x405914
lea eax, [ebp - 8]
mov dword [ebp - 8], 4
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push 0
push str.Install
push dword [ebp - 4]
call esi
test eax, eax
jne 0x40590f
cmp dword [ebp - 0xc], 1
jne 0x40590f
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x10]
push eax
push 0
push 0
push 0x422820
push dword [ebp - 4]
call esi
test eax, eax
jne 0x4058c2
cmp dword [ebp - 0x10], 1
jne 0x4058c2
mov ecx, 0x65ae30
mov esi, str..net_Framework_1.1_Service_Pack_1
mov edx, 0x80
sub esi, ecx
lea eax, [edx + 0x7fffff7e]
test eax, eax
je 0x4058f1
movzx eax, word [esi + ecx]
test ax, ax
je 0x4058f1
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x4058a2
jmp 0x4058f1
mov ecx, 0x65ae30
mov esi, str..net_Framework_1.1
mov edx, 0x80
sub esi, ecx
lea eax, [edx + 0x7fffff7e]
test eax, eax
je 0x4058f1
movzx eax, word [ecx + esi]
test ax, ax
je 0x4058f1
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x4058d3
test edx, edx
lea eax, [ecx - 2]
pop edi
cmovne eax, ecx
xor ecx, ecx
pop esi
pop ebx
mov word [eax], cx
mov dword [0x65af30], 0xb
mov esp, ebp
pop ebp
ret
push dword [ebp - 4]
call edi
mov ecx, 0x65ae30
mov esi, str.No_.net_Framework_detected.
mov edx, 0x80
sub esi, ecx
lea eax, [edx + 0x7fffff7e]
test eax, eax
je 0x405943
movzx eax, word [esi + ecx]
test ax, ax
je 0x405943
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x405925
test edx, edx
lea eax, [ecx - 2]
pop edi
cmovne eax, ecx
xor ecx, ecx
pop esi
pop ebx
mov word [eax], cx
mov dword [0x65af30], ecx
mov esp, ebp
pop ebp
ret