Function at 0x403f20
Capabilities:
Check os version
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa24
mov ecx, 0x446278
push ebx
push esi
push edi
push 1
push 0
call fcn.00409180
mov dword [0x440eb8], eax
call fcn.00402160
push 0x30
call fcn.0041ca91
add esp, 4
mov edi, eax
call fcn.00401ec0
test eax, eax
je 0x4041ca
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [edi + 4], eax
call fcn.00401ec0
test eax, eax
je 0x4041ca
mov edx, dword [eax]
lea esi, [edi + 8]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [0x446260], edi
mov dword [esi], eax
lea ecx, [edi + 4]
push 0xd
push str.SystemProfile
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov byte [edi], 0
mov dword [edi + 0x18], 0
call fcn.00401840
push str.SystemProfile
push str.SOFTWAREMicrosoftWindows_NTCurrentVersionMultiMedia_s
push esi
call fcn.00402f80
add esp, 0xc
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
push 0
push 0x20019
push 0
push 0
push 0
push dword [esi]
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x40400f
xor al, al
jmp 0x4040a6
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea eax, [ebp - 4]
push eax
lea esi, [edi + 0x28]
mov dword [ebp - 4], 4
push esi
lea eax, [ebp - 8]
mov dword [ebp - 8], 4
push eax
push 0
push str.NetworkThrottlingIndex
push dword [ebp - 0xc]
call ebx
test eax, eax
je 0x404045
mov dword [esi], 0xa
lea eax, [ebp - 4]
mov dword [ebp - 4], 4
push eax
lea esi, [edi + 0x2c]
mov dword [ebp - 8], 4
push esi
lea eax, [ebp - 8]
push eax
push 0
push str.SystemResponsiveness
push dword [ebp - 0xc]
call ebx
test eax, eax
je 0x404075
mov dword [esi], 0x14
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, edi
call fcn.004035b0
cmp eax, 7
jge 0x4040a4
push eax
push str.Warning:_Did_not_load_at_least_7_tasks_as_expected__only_loaded__d
lea eax, [ebp - 0x224]
push 0x100
push eax
call fcn.00403f00
add esp, 0x10
mov al, 1
push str.ProcessLasso
push 0x104
push 0x44166c
mov byte [edi], al
call fcn.00420699
mov esi, dword [0x4441b4]
lea eax, [ebp - 0x120]
push 0x110
push 0
push eax
mov dword [0x441874], 0x43be4c
mov dword [0x441040], esi
mov dword [0x44103c], 6
call fcn.0041e7e0
add esp, 0x18
mov dword [ebp - 0x124], 0x114
lea eax, [ebp - 0x124]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x120], 6
jae 0x4041a7
xor eax, eax
push 0x3ff
mov word [ebp - 0xa24], ax
lea eax, [ebp - 0xa24]
push eax
push 0x14d
push esi
mov esi, dword [sym.imp.USER32.dll_LoadStringW]
call esi
test eax, eax
jne 0x404183
cmp byte [0x440eb0], al
je 0x404158
push dword [0x440ec0]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov byte [0x440eb0], 0
push 0x3ff
lea eax, [ebp - 0xa24]
push eax
push 0x14d
push dword [0x440ec0]
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call esi
test eax, eax
jne 0x404183
mov word [ebp - 0xa24], ax
push 0x10
push str.VistaMMSC
lea eax, [ebp - 0xa24]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0
push 0x405440
push 0
push 0xb3
push dword [0x4441b4]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x80004005
call fcn.00401fc0
int3