Function at 0x41b3e0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45c15b
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xdc
mov eax, dword [0x477010]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
push 8
xor eax, eax
mov dword [ebp - 0x2c], 0
push str._INFO_:
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
call fcn.0040bcc0
push str.Detecting_installed_Microsoft_.Net_Framework
lea ecx, [ebp - 0x3c]
mov dword [ebp - 4], 0
call fcn.0040aa60
mov dword [ebp - 0x44], 0
xor ecx, ecx
mov dword [ebp - 0x40], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x54], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x44], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 1
push eax
call fcn.00401b50
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x40]
cmp edx, 8
jb 0x41b4d6
mov ecx, dword [ebp - 0x54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41b4cc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41bd45
push edx
push ecx
call fcn.00420a59
add esp, 8
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
cmp edx, 8
jb 0x41b52b
mov ecx, dword [ebp - 0x3c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41b521
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41bd4a
push edx
push ecx
call fcn.00420a59
add esp, 8
lea eax, [ebp - 0x88]
mov dword [ebp - 0x88], 0
push eax
mov ecx, esi
call fcn.004167e0
lea eax, [ebp - 0x20]
push eax
push 0x20119
push 0
push str.SOFTWAREMicrosoftNET_Framework_SetupNDP_v4Full
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x41b82d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0xb8]
call fcn.0041eab0
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x3c]
push 9
xor eax, eax
mov dword [ebp - 0x2c], 0
push str._failed:
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
call fcn.0040bcc0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x6c]
push 9
xor eax, eax
mov dword [ebp - 0x5c], 0
push str._ERROR_:
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
call fcn.0040bcc0
push str.RegOpenKeyEx
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 4
call fcn.0040aa60
mov dword [ebp - 0x44], 0
xor ecx, ecx
mov dword [ebp - 0x40], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x54], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x44], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 5
push eax
lea edx, [ebp - 0x54]
lea ecx, [ebp - 0x84]
call fcn.0040a950
add esp, 4
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 6
push ecx
mov edx, eax
lea ecx, [ebp - 0xa0]
call fcn.0040a950
add esp, 4
push eax
mov byte [ebp - 4], 7
call fcn.00401b50
mov edx, dword [ebp - 0x8c]
cmp edx, 8
jb 0x41b68b
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41b681
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41bd4f
push edx
push ecx
call fcn.00420a59
add esp, 8
mov edx, dword [ebp - 0x70]
xor eax, eax
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], ax
cmp edx, 8
jb 0x41b6e5
mov ecx, dword [ebp - 0x84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41b6db
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41bd54
push edx
push ecx
call fcn.00420a59
add esp, 8
mov edx, dword [ebp - 0x40]
xor eax, eax
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
cmp edx, 8
jb 0x41b736
mov ecx, dword [ebp - 0x54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41b72c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41bd59
push edx
push ecx
call fcn.00420a59
add esp, 8
mov edx, dword [ebp - 0x58]
xor eax, eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
cmp edx, 8
jb 0x41b784
mov ecx, dword [ebp - 0x6c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41b77a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41bd5e
push edx
push ecx
call fcn.00420a59
add esp, 8
mov edx, dword [ebp - 0x28]
xor eax, eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
cmp edx, 8
jb 0x41b7d2
mov ecx, dword [ebp - 0x3c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41b7c8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41bd63
push edx
push ecx
call fcn.00420a59
add esp, 8
mov edx, dword [ebp - 0xa4]
xor eax, eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
cmp edx, 8
jb 0x41b826
mov ecx, dword [ebp - 0xb8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41b81c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41bd68
push edx
push ecx
call fcn.00420a59
add esp, 8
xor al, al
jmp 0x41bd28
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x18], 0
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x1c], 4
push eax
push 0
push 0x10
push str.Release
push 0
push dword [ebp - 0x20]
call dword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
je 0x41bb2f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0xb8]
call fcn.0041eab0
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x54]
push 9
xor eax, eax
mov dword [ebp - 0x44], 0
push str._failed:
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
call fcn.0040bcc0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x6c]
push 9
xor eax, eax
mov dword [ebp - 0x5c], 0
push str._ERROR_:
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
call fcn.0040bcc0
push str.RegGetValue
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0xa
call fcn.0040aa60
mov dword [ebp - 0x2c], 0
xor ecx, ecx
mov dword [ebp - 0x28], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x3c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x2c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 0xb
push eax
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0xa0]
call fcn.0040a950
add esp, 4
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0xc
push ecx
mov edx, eax
lea ecx, [ebp - 0x84]
call fcn.0040a950
add esp, 4
push eax
mov byte [ebp - 4], 0xd
call fcn.00401b50
mov edx, dword [ebp - 0x70]
cmp edx, 8
jb 0x41b981
mov ecx, dword [ebp - 0x84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41b977
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41bd6d
push edx
push ecx
call fcn.00420a59
add esp, 8
mov edx, dword [ebp - 0x8c]
xor eax, eax
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
cmp edx, 8
jb 0x41b9d8
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41b9ce
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41bd72
push edx
push ecx
call fcn.00420a59
add esp, 8
mov edx, dword [ebp - 0x28]
xor eax, eax
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], ax
cmp edx, 8
jb 0x41ba2f
mov ecx, dword [ebp - 0x3c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41ba25
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41bd77
push edx
push ecx
call fcn.00420a59
add esp, 8
mov edx, dword [ebp - 0x58]
xor eax, eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
cmp edx, 8
jb 0x41ba7d
mov ecx, dword [ebp - 0x6c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41ba73
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41bd7c
push edx
push ecx
call fcn.00420a59
add esp, 8
mov edx, dword [ebp - 0x40]
xor eax, eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
cmp edx, 8
jb 0x41bacb
mov ecx, dword [ebp - 0x54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41bac1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41bd81
push edx
push ecx
call fcn.00420a59
add esp, 8
mov edx, dword [ebp - 0xa4]
xor eax, eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
cmp edx, 8
jb 0x41bb1f
mov ecx, dword [ebp - 0xb8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41bb15
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41bd86
push edx
push ecx
call fcn.00420a59
add esp, 8
push dword [ebp - 0x20]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor al, al
jmp 0x41bd28
push dword [ebp - 0x20]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.0041b300
test al, al
je 0x41bb4a
cmp dword [ebp - 0x18], 0x6004f
jmp 0x41bb51
cmp dword [ebp - 0x18], 0x60051
setae al
mov byte [ebp - 0x21], al
push 8
push str._INFO_:
test al, al
je 0x41bc3a
xor eax, eax
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
call fcn.0040bcc0
push str.Required_version_of_Microsoft_.Net_Framework__4.6__is_installed.
lea edx, [ebp - 0x3c]
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0x84]
call fcn.0040a900
add esp, 4
push eax
mov byte [ebp - 4], 0xf
call fcn.00401b50
mov edx, dword [ebp - 0x70]
cmp edx, 8
jb 0x41bbe6
mov ecx, dword [ebp - 0x84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41bbdc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41bd8b
push edx
push ecx
call fcn.00420a59
add esp, 8
mov edx, dword [ebp - 0x28]
xor eax, eax
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
cmp edx, 8
jb 0x41bd25
mov ecx, dword [ebp - 0x3c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41bd1b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41bd90
jmp 0x41bd1b
xor eax, eax
mov dword [ebp - 0xc0], 0
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xbc], 7
mov word [ebp - 0xd0], ax
call fcn.0040bcc0
push str.Unable_to_detect_required_Microsoft_.Net_Framework__4.6_._Run_its_setup_file_manually__we_will_open_the_window_for_you__and_restart_this_installation.
lea edx, [ebp - 0xd0]
mov dword [ebp - 4], 0x10
lea ecx, [ebp - 0xe8]
call fcn.0040a900
add esp, 4
push eax
mov byte [ebp - 4], 0x11
call fcn.00401b50
mov edx, dword [ebp - 0xd4]
cmp edx, 8
jb 0x41bccc
mov ecx, dword [ebp - 0xe8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41bcc2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41bd95
push edx
push ecx
call fcn.00420a59
add esp, 8
mov edx, dword [ebp - 0xbc]
xor eax, eax
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 7
mov word [ebp - 0xe8], ax
cmp edx, 8
jb 0x41bd25
mov ecx, dword [ebp - 0xd0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41bd1b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41bd9a
push edx
push ecx
call fcn.00420a59
add esp, 8
mov al, byte [ebp - 0x21]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00420a25
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
call fcn.0042848b
int3