Below is my take on the data, based on HDK's document. Hope this will help.
Offset 0
2 bytes
ID number
Offset 2
2 bytes
Commentary name ID number
Offset 4
16 bytes
Player name
Offset 20
4 bits - Secondary position
4 bits - Primary position
4 bits - Not used
4 bits - Tertiary position
(2 bytes)
0001 â€" prop
0010 â€" hooker
0011 â€" prop
0100 â€" second row
0101 â€" flanker
0110 â€" flanker
0111 â€" number 8
1000 â€" scrum half
1001 â€" fly half
1010 â€" winger
1011 â€" centre
1100 â€" full back
1101-1111 â€" not used
Offset 22
1 byte
Weight
In lbs minus 100; the lightest player is Campeggia at 151lbs, coded as 51.
Offset 23
1 byte
Not used
Offset 24
24 bits (3 bytes)
Nationality
1000 0000 0000 0000 0000 0000 â€" Georgia
0100 0000 0000 0000 0000 0000 â€" France
0010 0000 0000 0000 0000 0000 â€" Fiji
0001 0000 0000 0000 0000 0000 â€" France
0000 1000 0000 0000 0000 0000 â€" England
0000 0100 0000 0000 0000 0000 â€" Canada
0000 0010 0000 0000 0000 0000 â€" Australia
0000 0001 0000 0000 0000 0000 â€" Argentina
0000 0000 1000 0000 0000 0000 â€" Samoa
0000 0000 0100 0000 0000 0000 â€" Russia
0000 0000 0010 0000 0000 0000 â€" Romania
0000 0000 0001 0000 0000 0000 â€" New Zealand
0000 0000 0000 1000 0000 0000 â€" Namibia
0000 0000 0000 0100 0000 0000 â€" Japan
0000 0000 0000 0010 0000 0000 â€" Italy
0000 0000 0000 0001 0000 0000 â€" Ireland
0000 0000 0000 0000 1000 0000 â€" Wales
0000 0000 0000 0000 0100 0000 â€" USA
0000 0000 0000 0000 0010 0000 â€" Uruguay
0000 0000 0000 0000 0001 0000 â€" not used
0000 0000 0000 0000 0000 1000 â€" Tonga
0000 0000 0000 0000 0000 0100 â€" Spain
0000 0000 0000 0000 0000 0010 â€" South Africa
0000 0000 0000 0000 0000 0001 â€" Scotland
Offset 27
1 byte
Not used
Offset 28
1 byte
Height
In inches minus 60; the tallest player is Charteris at 7' 10â€, coded as 22
Offset 29
1 byte
Birth year
Range 68-87
Offset 30
1 byte
Birth month
Range 1-13 (!). The error is Ajroud.
Offset 31
1 bit - Left- or Right-footed
0 â€" left; 1 â€" right
7 bits - Birth day
Range 1-31
This looks bizarre. The effect is that the byte-value for a right-footed player born on the first of the month appears as 129.
Offset 32
1 byte
Unknown
Range 0-10
Offset 33
1 byte
Attack
Range 25-98
Offset 34
1 byte
Defense
Range 21-96
Offset 35
1 byte
Speed
Range 31-98
Offset 36
1 byte
Acceleration
Range 24-99
Offset 37
1 byte
Agility
Range 10-98
Offset 38
1 byte
Handling
Range 20-96
Offset 39
1 byte
Passing
Range 10-98
Offset 40
1 byte
Kicking
Range 2-93
Offset 41
1 byte
Kicking power
Range 0-98
Offset 42
1 byte
Goal kicking
Range 0-96
Offset 43
1 byte
Tackling
Range 18-94
Offset 44
1 byte
Strength
Range 23-98
Offset 45
1 byte
Rucking
Range 5-97
Offset 46
1 byte
Scrummaging
Range 0-96
Offset 47
1 byte
Hooking
Range 0-97
Offset 48
1 byte
Lineout
Range 0-95
Offset 49
1 byte
Discipline
Range 4-95
Offset 50
1 byte
Aggression
Range 21-98
Offset 51
3 bytes
Not used
Offset 54
1 byte
Stamina
Range 30-97
Offset 55
1 byte
Consistancy
Range 22-97
Offset 56
1 byte
Temperament
Range 20-97
Offset 57
1 byte
Creativity
Range 8-98
Offset 58
1 byte
Bravery
Range 24-100
Offset 59
1 byte
SetPlaySuccess
Range 50-100
Offset 60
1 byte
CrashBallRating
Range 40-100
Offset 61
1 byte
GapDefense
Range 45-100
Offset 62
22 bytes
Not used
Offset 84
16 bits (2 bytes)
Special abilities
1000 0000 0000 0000 â€" TackleBreaker
0100 0000 0000 0000 â€" Crashball
0010 0000 0000 0000 â€" Tacticalkicking
0001 0000 0000 0000 â€" GoalKicker
0000 1000 0000 0000 â€" Scoring
0000 0100 0000 0000 â€" Playmaker
0000 0010 0000 0000 â€" Passer
0000 0001 0000 0000 â€" Command
0000 0000 1000 0000 â€" not known(InjuryResistance)
0000 0000 0100 0000 â€" not known(InjuryResistance)
0000 0000 0010 0000 â€" not known(InjuryResistance)
0000 0000 0001 0000 â€" Jumper
0000 0000 0000 1000 â€" Scrummager
0000 0000 0000 0100 â€" DefensiveOrganisation
0000 0000 0000 0010 â€" Ballwinner
0000 0000 0000 0001 â€" Tackling
Offset 86
2 bytes
Not used
Offset 88
1 byte
Unknown
Range 0-6
Offset 89
1 byte
Unknown
Either 0 or 4
Offset 90
1 byte
Face
Range 2-255
Offset 91
1 byte
Skin tone
Range 0-175
Offset 92
1 byte
Unused
Offset 93
1 byte
Unknown
Either 0, 32, 64 or 96
Offset 94
1 byte
Unknown
Either 0, 1, 2, 3, 24, 26 or 27
Offset 95
5 bytes
Unused