Function at 0x40d230
Capabilities:
Check os version

Disassembly:
push 0x340
mov eax, 0x416c54
call fcn.00415e14
xor ebx, ebx
mov dword [ebp - 0x220], ebx
mov dword [ebp - 0x21c], ebx
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x214], ebx
lea eax, [ebp - 0x210]
mov dword [ebp - 0x21c], 0x200
mov dword [ebp - 0x214], eax
mov dword [ebp - 4], ebx
push 2
pop edx
mov dword [ebp - 0x220], edx
mov eax, dword [ebp - 0x214]
xor ecx, ecx
mov word [eax], cx
mov dword [ebp - 4], edx
lea ecx, [ebp - 0x220]
call fcn.0040ade0
push 0x40210c
lea ecx, [ebp - 0x220]
call fcn.0040a609
lea edx, [ebp - 0x338]
mov dword [ebp - 0x338], ebx
mov ecx, 0x402934
call fcn.0040e387
mov esi, dword [ebp - 0x338]
mov edi, ebx
mov dword [ebp - 0x34c], esi
mov dword [ebp - 0x348], edi
test esi, esi
je 0x40d2d9
inc edi
mov dword [ebp - 0x348], edi
mov byte [ebp - 4], 6
test esi, esi
je 0x40d2fd
push 0x4014a8
lea ecx, [ebp - 0x220]
call fcn.0040a609
push esi
lea ecx, [ebp - 0x220]
call fcn.0040a609
push 0x402128
lea ecx, [ebp - 0x220]
call fcn.0040a609
mov dword [ebp - 0x338], ebx
lea ecx, [ebp - 0x220]
call fcn.00410ead
mov edx, dword [ebp - 0x214]
lea eax, [ebp - 0x338]
push ecx
push eax
push 0x402138
call fcn.00413008
test eax, eax
je 0x40d372
cmp dword [ebp - 0x338], 0
je 0x40d372
mov byte [ebp - 4], 2
test edi, edi
je 0x40d35c
test esi, esi
je 0x40d356
mov edx, esi
call fcn.0040e697
mov dword [ebp - 0x348], ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x220]
call fcn.0040a64a
mov al, 1
jmp 0x40d5b0
lea ecx, [ebp - 0x220]
call fcn.0040aec3
push 0x401528
lea ecx, [ebp - 0x220]
call fcn.0040a609
lea ecx, [ebp - 0x220]
call fcn.00410ead
mov edx, dword [ebp - 0x214]
lea eax, [ebp - 0x338]
push ecx
push eax
push 0x402150
call fcn.00413008
test eax, eax
je 0x40d3d8
cmp dword [ebp - 0x338], 0
je 0x40d3d8
mov byte [ebp - 4], 2
test edi, edi
je 0x40d3d6
test esi, esi
je 0x40d3d0
mov edx, esi
call fcn.0040e697
mov dword [ebp - 0x348], ebx
jmp 0x40d35c
lea eax, [ebp - 0x334]
mov dword [ebp - 0x334], 0x114
xor ebx, ebx
push eax
inc ebx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x40d3fb
call fcn.00410938
cmp dword [ebp - 0x330], 5
ja 0x40d40f
jne 0x40d414
cmp dword [ebp - 0x32c], 0
jbe 0x40d414
mov ebx, 0x101
and dword [ebp - 0x33c], 0
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x33c]
mov edx, 0x402170
push eax
push ebx
push ecx
call fcn.00413510
test eax, eax
jne 0x40d4b3
xor ecx, ecx
mov dword [ebp - 0x338], ecx
mov dword [ebp - 0x344], ecx
push ecx
push ecx
push ecx
push ecx
lea eax, [ebp - 0x344]
push eax
push ecx
push ecx
lea eax, [ebp - 0x338]
push eax
push ecx
push ecx
push ecx
push dword [ebp - 0x33c]
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
jne 0x40d4b3
cmp dword [ebp - 0x338], eax
jne 0x40d47b
cmp dword [ebp - 0x344], eax
je 0x40d4b3
mov byte [ebp - 4], 6
cmp dword [ebp - 0x33c], 0
je 0x40d494
push dword [ebp - 0x33c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 2
test edi, edi
je 0x40d4ae
test esi, esi
je 0x40d4a7
mov edx, esi
call fcn.0040e697
and dword [ebp - 0x348], 0
jmp 0x40d35c
and dword [ebp - 0x340], 0
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x340]
mov edx, 0x4021f0
push eax
push ebx
push ecx
call fcn.00413510
xor ebx, ebx
test eax, eax
jne 0x40d554
mov dword [ebp - 0x344], ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x344]
push eax
push ebx
push ebx
push ebx
push dword [ebp - 0x340]
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
jne 0x40d554
cmp dword [ebp - 0x344], ebx
je 0x40d554
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x340], ebx
je 0x40d51e
push dword [ebp - 0x340]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 6
cmp dword [ebp - 0x33c], ebx
je 0x40d536
push dword [ebp - 0x33c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 2
test edi, edi
je 0x40d54f
test esi, esi
je 0x40d549
mov edx, esi
call fcn.0040e697
mov dword [ebp - 0x348], ebx
jmp 0x40d35c
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x340], 0
je 0x40d56d
push dword [ebp - 0x340]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 6
cmp dword [ebp - 0x33c], 0
je 0x40d586
push dword [ebp - 0x33c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 2
test edi, edi
je 0x40d59f
test esi, esi
je 0x40d599
mov edx, esi
call fcn.0040e697
mov dword [ebp - 0x348], ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x220]
call fcn.0040a64a
xor al, al
call fcn.00415dbe
ret