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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa24
mov ecx, 0x445278
push ebx
push esi
push edi
push 1
push 0
call fcn.00409140
mov dword [0x43feb8], eax
call fcn.00402120
push 0x30
call fcn.0041c3f4
add esp, 4
mov edi, eax
call fcn.00401e80
test eax, eax
je 0x40418a
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [edi + 4], eax
call fcn.00401e80
test eax, eax
je 0x40418a
mov edx, dword [eax]
lea esi, [edi + 8]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [0x445260], 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.00402f40
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 0x403fcf
xor al, al
jmp 0x404066
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 0x404005
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 0x404035
mov dword [esi], 0x14
push dword [ebp - 0xc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, edi
call fcn.00403570
cmp eax, 7
jge 0x404064
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.00403ec0
add esp, 0x10
mov al, 1
push str.ProcessLasso
push 0x104
push 0x44066c
mov byte [edi], al
call fcn.0041fff9
mov esi, dword [0x4431b4]
lea eax, [ebp - 0x120]
push 0x110
push 0
push eax
mov dword [0x440874], 0x43ad4c
mov dword [0x440040], esi
mov dword [0x44003c], 6
call fcn.0041e140
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 0x404167
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 0x404143
cmp byte [0x43feb0], al
je 0x404118
push dword [0x43fec0]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov byte [0x43feb0], 0
push 0x3ff
lea eax, [ebp - 0xa24]
push eax
push 0x14d
push dword [0x43fec0]
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call esi
test eax, eax
jne 0x404143
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 0x405400
push 0
push 0xb3
push dword [0x4431b4]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x80004005
call fcn.00401f80
int3