Hmm,I understand by using repne scasb, pointing DI to the base64 string is supposed to search the string for the character that is in the input but not much of how to use it for decoding purposes.
Anyway I been looking at the idea that, using the same example Man and same ideology as encoding we have
TWFu
010011 | 010110 | 000101 | 101110
19 22 5 46
edit: A side note, to clear up my text below. as we see above the 6 bit T = 010011 and W = 010110. What I was trying to do was merge 010011 and 01 using those shifts.
These 6 bit numbers convert according to my base64string whilest encoding. Now for decoding I was thinking of just stealing the first 2 bits of the next input using left and right shifts like how I did in encoding but that does not seem to work at all. No matter how hard I try. I also checked to see if there was an addition or subtraction that was similar by trying different inputs but they were all erratic.
Now I see that there might be an important to using repne scasb but how would I implement it to convert back to the normal ascii system? thus converting TWFu to Man, since I obviously dont want to use the base64 table to convert TWFu to Man since the unencoded file is not supposed to be base64.
I looked up scasb and I am a little confused as to its function also, I get the basic idea of scanning a string pointed to by DI, CX times but the actual purpose, its output is very flakey to me that no information found online o nthe command could seem to clear up for me.
I am continuing to work on it as I type this post but hit another block