Function at 0x40d1b0
Capabilities:
Check os version

Disassembly:
push 0x340
mov eax, 0x416be4
call fcn.00415da4
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.0040ad90
push 0x40210c
lea ecx, [ebp - 0x220]
call fcn.0040a5b9
lea edx, [ebp - 0x338]
mov dword [ebp - 0x338], ebx
mov ecx, 0x402934
call fcn.0040e307
mov esi, dword [ebp - 0x338]
mov edi, ebx
mov dword [ebp - 0x34c], esi
mov dword [ebp - 0x348], edi
test esi, esi
je 0x40d259
inc edi
mov dword [ebp - 0x348], edi
mov byte [ebp - 4], 6
test esi, esi
je 0x40d27d
push 0x4014a8
lea ecx, [ebp - 0x220]
call fcn.0040a5b9
push esi
lea ecx, [ebp - 0x220]
call fcn.0040a5b9
push 0x402128
lea ecx, [ebp - 0x220]
call fcn.0040a5b9
mov dword [ebp - 0x338], ebx
lea ecx, [ebp - 0x220]
call fcn.00410e2d
mov edx, dword [ebp - 0x214]
lea eax, [ebp - 0x338]
push ecx
push eax
push 0x402138
call fcn.00412f88
test eax, eax
je 0x40d2f2
cmp dword [ebp - 0x338], 0
je 0x40d2f2
mov byte [ebp - 4], 2
test edi, edi
je 0x40d2dc
test esi, esi
je 0x40d2d6
mov edx, esi
call fcn.0040e617
mov dword [ebp - 0x348], ebx
lea ecx, [ebp - 0x220]
call fcn.0040ae73
push 0x401528
lea ecx, [ebp - 0x220]
call fcn.0040a5b9
lea ecx, [ebp - 0x220]
call fcn.00410e2d
mov edx, dword [ebp - 0x214]
lea eax, [ebp - 0x338]
push ecx
push eax
push 0x402150
call fcn.00412f88
test eax, eax
je 0x40d358
cmp dword [ebp - 0x338], 0
je 0x40d358
mov byte [ebp - 4], 2
test edi, edi
je 0x40d356
test esi, esi
je 0x40d350
mov edx, esi
call fcn.0040e617
mov dword [ebp - 0x348], ebx
jmp 0x40d2dc
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 0x40d37b
call fcn.004108b8
cmp dword [ebp - 0x330], 5
ja 0x40d38f
jne 0x40d394
cmp dword [ebp - 0x32c], 0
jbe 0x40d394
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.00413490
test eax, eax
jne 0x40d433
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 0x40d433
cmp dword [ebp - 0x338], eax
jne 0x40d3fb
cmp dword [ebp - 0x344], eax
je 0x40d433
mov byte [ebp - 4], 6
cmp dword [ebp - 0x33c], 0
je 0x40d414
push dword [ebp - 0x33c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 2
test edi, edi
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.00413490
xor ebx, ebx
test eax, eax
jne 0x40d4d4
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 0x40d4d4
cmp dword [ebp - 0x344], ebx
je 0x40d4d4
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x340], ebx
je 0x40d49e
push dword [ebp - 0x340]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 6
cmp dword [ebp - 0x33c], ebx
je 0x40d4b6
push dword [ebp - 0x33c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 2
test edi, edi
je 0x40d4cf
test esi, esi
je 0x40d4c9
mov edx, esi
call fcn.0040e617
mov dword [ebp - 0x348], ebx
jmp 0x40d2dc
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x340], 0
je 0x40d4ed
push dword [ebp - 0x340]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 6
cmp dword [ebp - 0x33c], 0
je 0x40d506
push dword [ebp - 0x33c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 2
test edi, edi
je 0x40d51f
test esi, esi
je 0x40d519
mov edx, esi
call fcn.0040e617
mov dword [ebp - 0x348], ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x220]
call fcn.0040a5fa
xor al, al