Reverse Engineering Xiaorong Hacker Dictionary

cd\ & cd MinGW\include & type winuser.h | findstr "177"
rem 0xB1->EM_SETSEL->177->winuser.h|1571
type winuser.h | findstr "183"
rem 0xB7->EM_SCROLLCARET->183->winuser.h|1562
rem wParam This parameter is reversed.It should be set to zero.
rem lParam This parameter is reversed.Ir should be set to zero.
rem 0x3u-> 0x2|0x1 -> FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_READONLY
rem SetFileAttributesA(L"C:\regbanyet.dat",FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_READONLY);
cd \ & attrib regbanyet.dat
rem output should be contain 'HR'
rem GetWindowTextA(hWnd,String,100)
rem GetWindowTextA(hWnd,Buffer,100)

Python
import numpy
def sub_401B70(String):
    v13=list(numpy.zeros(len(String)))
    for i in range(0,len(String),1):
        v5=ord(String[i])%10
        if v5%2:  
            if v5%3:  
                v13[i]=chr(v5+49)
            else:  
                v13[i]=chr(ord(String[i])%26+97)
        else:
            v13[i]=chr(ord(String[i])%26+65)
        
        print(v13[i],end='')
sub_401B70('sxsymxsyy')
Haskell
import Data.Char (ord, chr)
sub_401B70 :: String -> String 
sub_401B70 i = map sub_420016 i
sub_420016 :: Char -> Char
sub_420016 string =
    if v5 `mod` 2 == 1  
       then if v5 `mod` 3 /= 0  
            then chr (v5 + 49)  
            else chr (s `mod` 26 + 97)  
    else chr (s `mod` 26 + 65) 
    where
        s = ord string 
        v5 = s `mod` 10 
main :: IO ()
main = do
       let result = sub_401B70 "sxsymxsyy"
       putStrLn result
C
for ( i = 0; i < strlen(String); ++i )
    {
      v5 = String[i] % 10;
      if ( v5 % 2 )
      {
        if ( v5 % 3 )
          v13[i] = v5 + 49;
        else
          v13[i] = String[i] % 26 + 97;
      }
      else
      {
        v13[i] = String[i] % 26 + 65;
      }
    }
BAT
type nul > C:\regbanyet.dat