What are you not seeing? You know that there are 4 pairs and you're already able to process them with labels 0 thru 3. To think of them in binary terms, process them as 00 thru 11 instead.
Here's the codes for the "1" button.
Here's how I do it, step by step...
1) Here's the timing data that you posted for the "1" button...
+416 -278 +166 -610 +166 -278 +166 -278 +166 -444 +166 -444 +166 -444 +166 -112360
2) Next I edit all the pairs to their labels with a "^" suffixed so I can easily identify them later, if needed. So in this case, to get to the 200111 code, I would replace +166 -278 with 0^, +166 -444 with 1^, etc
+416 -278 2^0^0^1^1^1^+166 -112360
3) To get to the binary, I can now edit 0^ to 00^, 1^ to 01^, etc. I could also have gone direct to binary in step 2 replacing +166 -278 with 00^, etc
+416 -278 10^00^00^01^01^01^+166 -112360
4) Finally, edit out the ^
+416 -278 100000010101 +166 -112360
Now, of course, when I'm doing this, I'm working with a complete set of codes, not just one button. Does that help?