Function at 0x40fcab
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x52c
push edi
mov dword [ebp - 0x44], 1
call fcn.00407350
mov dword [ebp - 8], eax
call fcn.0040f770
mov ecx, dword [ebp - 8]
mov dword [ebp - 4], eax
cmp ecx, 0xffffffff
je 0x410129
xor edi, edi
cmp eax, edi
je 0x410129
mov eax, dword [0x424d68]
push ebx
push esi
push 2
pop esi
lea edx, [ebp - 8]
push dword [ecx*4 + 0x41fe88]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x24], edx
mov edx, dword [0x424e24]
lea eax, [ebp - 0x52c]
push str._s_Properties
push eax
mov dword [ebp - 0x40], 0x30
mov dword [ebp - 0x3c], 0xc
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], str.Basic
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x78], 0x34
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x68], edi
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp - 8]
mov ebx, dword [sym.imp.COMCTL32.dll_CreatePropertySheetPageW]
add esp, 0xc
lea eax, [ebp - 0x52c]
cmp ecx, 0x11
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x54], edi
ja 0x40fddc
cmp ecx, 0x11
je 0x40fdd3
mov eax, ecx
sub eax, 5
je 0x40fdca
dec eax
je 0x40fdc1
dec eax
je 0x40fdb5
dec eax
je 0x40fda9
sub eax, 5
je 0x40fd9d
dec eax
je 0x40fd91
dec eax
jne 0x40fdf5
mov dword [ebp - 0x34], 0x75
jmp 0x40fe3a
mov dword [ebp - 0x34], 0x76
jmp 0x40fe3a
mov dword [ebp - 0x34], 0x78
jmp 0x40fe3a
mov dword [ebp - 0x34], 0x72
jmp 0x40fe3a
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x34], 0x437
jmp 0x40fe3a
mov dword [ebp - 0x34], 0x79
jmp 0x40fe3a
mov dword [ebp - 0x34], 0x43a
jmp 0x40fe3a
mov dword [ebp - 0x34], 0x73
jmp 0x40fe3a
mov eax, ecx
sub eax, 0x15
je 0x40fe2e
dec eax
je 0x40fe25
dec eax
je 0x40fe1c
sub eax, esi
je 0x40fe13
sub eax, esi
je 0x40fe07
sub eax, esi
je 0x40fdfe
mov dword [ebp - 0x34], 0x6c
jmp 0x40fe35
mov dword [ebp - 0x34], 0x424
jmp 0x40fe3a
mov dword [ebp - 0x34], 0x7a
jmp 0x40ff6a
mov dword [ebp - 0x34], 0x74
jmp 0x40fe3a
mov dword [ebp - 0x34], 0x6f
jmp 0x40fe3a
mov dword [ebp - 0x34], 0x71
jmp 0x40fe3a
mov dword [ebp - 0x34], 0x70
cmp ecx, 0x1b
je 0x40fe58
lea eax, [ebp - 0x40]
mov dword [ebp - 0x28], 0x40c795
push eax
call ebx
mov ecx, dword [ebp - 0x60]
cmp eax, edi
mov dword [ebp + ecx*4 - 0x98], eax
je 0x40fe58
inc dword [ebp - 0x60]
mov eax, dword [ebp - 8]
cmp eax, 5
jb 0x40fea0
cmp eax, 8
jbe 0x40fe74
cmp eax, 0x11
je 0x40fe74
cmp eax, 0x16
je 0x40fe74
cmp eax, 0x19
jne 0x40fea0
lea eax, [ebp - 0x40]
mov dword [ebp - 0x28], 0x40caa4
push eax
mov dword [ebp - 0x34], 0x436
mov dword [ebp - 0x2c], 0x4235bc
call ebx
mov ecx, dword [ebp - 0x60]
cmp eax, edi
mov dword [ebp + ecx*4 - 0x98], eax
je 0x40fea0
inc dword [ebp - 0x60]
cmp dword [ebp - 8], 7
jne 0x40fed2
lea eax, [ebp - 0x40]
mov dword [ebp - 0x28], 0x40d313
push eax
mov dword [ebp - 0x34], 0x439
mov dword [ebp - 0x2c], str.Registry
call ebx
mov ecx, dword [ebp - 0x60]
cmp eax, edi
mov dword [ebp + ecx*4 - 0x98], eax
je 0x40fed2
inc dword [ebp - 0x60]
cmp dword [ebp - 8], 0x1b
je 0x40ff21
push dword [ebp - 8]
lea eax, [ebp - 0xc]
push dword [ebp - 4]
push edi
push eax
call fcn.004061c8
test eax, eax
jne 0x40ff21
push dword [ebp - 0xc]
call dword [sym.imp.ntdll.dll_ZwClose]
lea eax, [ebp - 0x40]
mov dword [ebp - 0x28], 0x40a07c
push eax
mov dword [ebp - 0x34], 0x42f
mov dword [ebp - 0x2c], 0x42328c
call ebx
mov ecx, dword [ebp - 0x60]
cmp eax, edi
mov dword [ebp + ecx*4 - 0x98], eax
je 0x40ff21
inc dword [ebp - 0x60]
mov eax, dword [ebp - 8]
cmp eax, 8
je 0x40ff38
cmp eax, 0x16
je 0x40ff38
cmp eax, 0x19
je 0x40ff38
cmp eax, 0x11
jne 0x40ff64
lea eax, [ebp - 0x40]
mov dword [ebp - 0x28], 0x40a945
push eax
mov dword [ebp - 0x34], 0x43b
mov dword [ebp - 0x2c], 0x4241ec
call ebx
mov ecx, dword [ebp - 0x60]
cmp eax, edi
mov dword [ebp + ecx*4 - 0x98], eax
je 0x40ff64
inc dword [ebp - 0x60]
cmp dword [ebp - 8], 0x1b
jne 0x40ff9f
push dword [ebp - 4]
call fcn.004074cc
mov dword [ebp - 0xc], eax
mov esi, 0x41fe88
push dword [esi]
push dword [ebp - 0xc]
call fcn.00415020
pop ecx
test eax, eax
pop ecx
je 0x40ff96
add esi, 4
inc edi
cmp esi, 0x41ff04
jl 0x40ff7a
and dword [ebp - 0x44], 0
mov dword [ebp - 8], edi
xor edi, edi
lea eax, [ebp - 0x40]
mov dword [ebp - 0x28], 0x40d8e6
push eax
mov dword [ebp - 0x34], 0x7a
mov dword [ebp - 0x2c], 0x423208
call ebx
mov ecx, dword [ebp - 0x60]
cmp eax, edi
mov dword [ebp + ecx*4 - 0x98], eax
je 0x40ffcb
inc dword [ebp - 0x60]
push 0x24
xor eax, eax
pop ecx
lea edi, [ebp - 0x128]
mov dword [ebp - 0x12c], 0x94
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x12c]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0x124], 0
mov edi, str.__Mailslot
je 0x410002
mov edi, str.GLOBAL__Mailslot
mov esi, 0x200
lea eax, [ebp - 0x32c]
push esi
push eax
push edi
call fcn.00408121
push edi
push dword [ebp - 4]
call fcn.00415020
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
pop ecx
je 0x41003f
lea eax, [ebp - 0x32c]
push eax
push dword [ebp - 4]
call fcn.00415020
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
pop ecx
jne 0x410054
mov dword [ebp - 0x28], 0x408f0e
mov dword [ebp - 0x34], 0x426
mov dword [ebp - 0x2c], 0x424194
cmp dword [ebp - 0x124], 0
mov edi, str.__Pipe
je 0x410067
mov edi, str.GLOBAL__Pipe
lea eax, [ebp - 0x32c]
push esi
push eax
push edi
call fcn.00408121
push edi
push dword [ebp - 4]
call fcn.00415020
xor esi, esi
pop ecx
cmp eax, esi
pop ecx
je 0x41009b
lea eax, [ebp - 0x32c]
push eax
push dword [ebp - 4]
call fcn.00415020
pop ecx
cmp eax, esi
pop ecx
jne 0x4100b0
mov dword [ebp - 0x28], 0x409621
mov dword [ebp - 0x34], 0x42a
mov dword [ebp - 0x2c], 0x424168
cmp dword [ebp - 0xc], esi
je 0x4100b9
cmp eax, esi
jne 0x4100d0
lea eax, [ebp - 0x40]
push eax
call ebx
mov ecx, dword [ebp - 0x60]
cmp eax, esi
mov dword [ebp + ecx*4 - 0x98], eax
je 0x4100d0
inc dword [ebp - 0x60]
cmp dword [ebp - 0x44], esi
mov dword [ebp - 0x10], esi
je 0x410107
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 8]
push dword [ebp - 4]
call fcn.00407ea1
cmp dword [ebp - 0x10], esi
je 0x410107
mov eax, dword [0x424e2c]
cmp eax, esi
je 0x410107
push dword [ebp - 0x10]
call eax
mov ecx, dword [ebp - 0x60]
inc dword [ebp - 0x60]
mov dword [ebp + ecx*4 - 0x98], eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x78]
push eax
call dword [sym.imp.COMCTL32.dll_PropertySheetW]
cmp dword [ebp - 0x10], esi
pop esi
pop ebx
je 0x410129
push dword [ebp - 0x10]
call fcn.00405081
pop edi
leave
ret