Here is it:
LUT:
dw 0000000000000000b, 0000000000000011b, 0000000000001100b, 0000000000001111b
dw 0000000000110000b, 0000000000110011b, 0000000000111100b, 0000000000111111b
...
dw 1111111111000000b, 1111111111000011b, 1111111111001100b, 1111111111001111b
dw 1111111111110000b, 1111111111110011b, 1111111111111100b, 1111111111111111b
BuildLUT:
mov edi, offset LUT
xor ecx, ecx
inc ch
or edx, -1
.Repeat
inc edx
xor eax, eax
push 8
.Repeat
shl eax, 2
rol dl, 1
.if Carry?
or eax, 3 ; set 11
.endif
dec dword ptr [esp]
.Until Zero?
stosw
pop eax
dec ecx
.Until Zero?
retn