Checking a Windows 95 OEM Key for validity Introduction
Windows 95 used a very simple algorithm for verifying license keys. The scheme of an OEM license key always looked like this:
xxxyy-OEM-NNNNNNN-zzzzz

The day can be anything within 001-366, and the year cannot be lower than 95 or above 03.
xxx represents the day of the year the key was printed on (for example 192 = 10th of July) and is a number between 001-366.
yy represents the year the key was printed on and cannot be lower than 95 or above 03.
This means for example, a key with 19296 as the first segment was printed on 10th of July 1996.
The second segment is always OEM.
The third segment (NN..) is always starts with 00 and the sum of the digits has to be divisible by 7
The fourth segment is irrelevant, provided the field is the appropriate length, but has to be filled out with digits.
Challange
Given a string, output a truthy or falsy value whether this oem key is valid or not.
Rules

You may provide a function or a program
This is code-golf, so the submission with the least amount of bytes wins!

Test cases
Valid keys
12899-OEM-0042134-31009
15795-OEM-0001355-07757
35201-OEM-0009165-64718

Invalid keys
12804-OEM-0033143-31009
16595-OEM-0001695-9
12899-OEM-0022134-31009
27497-OEM-0525347-80387
perl -pl -MList::Util=sum, 106 113 bytes

$_=/^(?!000)(([012]\d\d|3([0-5]\d|6[0-5]))(9[5-9]|0[0-3])|366(00|96))-OEM-00(\d{5})-\d{5}$/&amp;&amp;!(sum(split//,$6)%7)


Try it online!

This assumes an ASCII only input. If the input can be outside of ASCII, we'd have to add a single extra byte (a trailing a modifier on the main regexp). It also assumes a leading 366 can only occur in the years 96 and 00, them being leap years. The bulk of the matching is done by a regexp; testing of divisibility by 7 is done outside of it.

Reads keys from STDIN; writes 1 to STDOUT for valid keys, empty lines for invalid keys.

Edit: fixed the issue mentioned by @Dingus.