Function at 0x4345e5
Capabilities:
Check os version

Disassembly:
push 0x60
mov eax, 0x44602d
call fcn.0041cecd
mov eax, dword [ebp + 8]
xor ebx, ebx
xor edi, edi
mov esi, ecx
mov dword [ebp - 0x54], ebx
inc edi
test byte [0x4698d0], 1
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], eax
jne 0x434623
or dword [0x4698d0], edi
call dword [sym.imp.KERNEL32.dll_GetVersion]
and eax, 0xff
mov dword [0x4698cc], eax
call fcn.004018e3
lea eax, [ebp - 0x6c]
mov dword [ebp - 4], ebx
push eax
mov dword [ebp - 0x54], edi
call fcn.00401bda
lea eax, [ebp - 0x48]
push eax
mov dword [ebp - 4], edi
call fcn.00401bda
mov byte [ebp - 4], 2
cmp dword [0x4698cc], 6
push 0x454610
lea esi, [ebp - 0x30]
jl 0x4347e8
call fcn.004018f6
mov eax, esi
push eax
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 3
call fcn.00401deb
push ebx
push edi
mov byte [ebp - 4], 2
call fcn.0040115a
push str.productState
lea esi, [ebp - 0x30]
call fcn.004018f6
mov eax, esi
push eax
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 4
call fcn.00401deb
push ebx
push edi
mov byte [ebp - 4], 2
call fcn.0040115a
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x4c], esp
lea ecx, [ebp - 0x6c]
push ecx
push eax
call fcn.00401c12
sub esp, 0x1c
mov byte [ebp - 4], 5
mov esi, esp
mov dword [ebp - 0x50], esp
push dword [ebp - 0x14]
call fcn.004010aa
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x14], esp
push str.ROOTSecurityCenter2
mov byte [ebp - 4], 6
call fcn.004018f6
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00433ece
add esp, 0x50
mov esi, eax
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 7
call fcn.00401ccf
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.004024a3
push dword [ebp - 0x2c]
call fcn.0041b820
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x3c]
pop ecx
push 0x1c
cdq
pop ecx
idiv ecx
mov dword [ebp - 0x14], ebx
test eax, eax
jbe 0x4349de
mov edi, 0x44e134
mov ebx, dword [ebp - 0x14]
push edi
push ebx
lea esi, [ebp - 0x48]
call fcn.00401dc5
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0040326b
add esp, 0xc
push 0xffffffffffffffff
mov byte [ebp - 4], 8
mov esi, dword [ebp - 0x10]
push 0
call fcn.004025c1
push 0
push 1
lea esi, [ebp - 0x30]
mov byte [ebp - 4], 2
call fcn.0040115a
inc ebx
push ebx
lea esi, [ebp - 0x48]
call fcn.00401dc5
cmp dword [eax + 0x14], 0
je 0x4347bd
push ebx
call fcn.00401dc5
mov ebx, eax
call fcn.00430edc
mov ebx, eax
test ebx, 0x1000
je 0x434794
push str.edou
jmp 0x434799
push 0x454674
push dword [ebp - 0x10]
call fcn.004034a6
test bl, 0x10
je 0x4347ad
push 0x454678
jmp 0x4347b2
push 0x45467c
push dword [ebp - 0x10]
call fcn.004034a6
push edi
jmp 0x4347c2
push 0x454680
push dword [ebp - 0x10]
call fcn.004034a6
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x3c]
push 0x1c
cdq
pop ecx
idiv ecx
add dword [ebp - 0x14], 2
cmp dword [ebp - 0x14], eax
jb 0x43472c
jmp 0x4349dc
call fcn.004018f6
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 9
call fcn.00401deb
push ebx
push edi
lea esi, [ebp - 0x30]
mov byte [ebp - 4], 2
call fcn.0040115a
push 0x454688
lea esi, [ebp - 0x30]
call fcn.004018f6
mov eax, esi
push eax
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0xa
call fcn.00401deb
push ebx
push edi
mov byte [ebp - 4], 2
call fcn.0040115a
push str.productUptoDate
lea esi, [ebp - 0x30]
call fcn.004018f6
mov eax, esi
push eax
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0xb
call fcn.00401deb
push ebx
push edi
mov byte [ebp - 4], 2
call fcn.0040115a
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x50], esp
lea ecx, [ebp - 0x6c]
push ecx
push eax
call fcn.00401c12
sub esp, 0x1c
mov byte [ebp - 4], 0xc
mov esi, esp
mov dword [ebp - 0x4c], esp
push dword [ebp - 0x14]
call fcn.004010aa
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x14], esp
push str.ROOTSecurityCenter
mov byte [ebp - 4], 0xd
call fcn.004018f6
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00433ece
add esp, 0x50
mov esi, eax
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0xe
call fcn.00401ccf
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.004024a3
push dword [ebp - 0x2c]
call fcn.0041b820
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x3c]
pop ecx
push 0x1c
cdq
pop ecx
idiv ecx
test eax, eax
jbe 0x4349de
push 2
pop ebx
mov edi, 0x44e134
push edi
lea eax, [ebx - 2]
push eax
lea esi, [ebp - 0x48]
call fcn.00401dc5
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0040326b
add esp, 0xc
push 0xffffffffffffffff
mov byte [ebp - 4], 0xf
mov esi, dword [ebp - 0x10]
push 0
call fcn.004025c1
push 0
push 1
lea esi, [ebp - 0x30]
mov byte [ebp - 4], 2
call fcn.0040115a
lea eax, [ebx - 1]
push str.true
push eax
lea esi, [ebp - 0x48]
call fcn.00401dc5
call fcn.0040709e
pop ecx
test al, al
je 0x43493f
push str.edou
jmp 0x434966
push str.false
lea eax, [ebx - 1]
push eax
lea esi, [ebp - 0x48]
call fcn.00401dc5
call fcn.0040709e
pop ecx
test al, al
je 0x434961
push 0x454674
jmp 0x434966
push 0x45199c
push dword [ebp - 0x10]
call fcn.004034a6
push str.true
push ebx
lea esi, [ebp - 0x48]
call fcn.00401dc5
call fcn.0040709e
pop ecx
test al, al
je 0x43498d
push 0x45467c
jmp 0x4349b1
push str.false
push ebx
lea esi, [ebp - 0x48]
call fcn.00401dc5
call fcn.0040709e
pop ecx
test al, al
je 0x4349ac
push 0x454678
jmp 0x4349b1
push 0x45199c
push dword [ebp - 0x10]
call fcn.004034a6
push edi
push dword [ebp - 0x10]
call fcn.004034a6
mov eax, dword [ebp - 0x38]
sub eax, dword [ebp - 0x3c]
push 0x1c
cdq
pop ecx
idiv ecx
add ebx, 3
lea ecx, [ebx - 2]
cmp ecx, eax
jb 0x4348e3
xor ebx, ebx
mov edi, dword [ebp - 0x10]
mov eax, dword [edi + 0x14]
cmp eax, ebx
je 0x4349f0
dec eax
mov ecx, edi
call fcn.0040194d
lea esi, [ebp - 0x48]
call fcn.004024a3
push dword [ebp - 0x48]
call fcn.0041b820
pop ecx
lea esi, [ebp - 0x6c]
call fcn.004024a3
push dword [ebp - 0x6c]
call fcn.0041b820
pop ecx
mov eax, edi
call fcn.0041cfa5
ret