Ok, so I disassembled the file that I think has the loading routines for MCGA 
sprites with Cutter 
([https://github.com/radareorg/cutter)](https://github.com/radareorg/cutter\)), 
but I do not have enough experience to read the assembly code. Can someone give 
me some hints/pointer of what is going on in the function below?

The binary is DOS 16-bit MZ format: 
    
    
    fcn.00000000 (int arg_22h);
        ; arg int arg_22h @ bp+0x22
        0000:0000      inc si
        0000:0001      and byte [0x9521], al
        0000:0005      and word [bx], sp
        0000:0007      and dl, byte [arg_22h]
        0000:000a      xor word [bp + si], sp
        0000:000c      pushaw
        0000:000d      and bh, byte [bx - 0x32de]
        0000:0011      and al, byte [di - 0x70dd]
        0000:0015      and bp, word [si - 0x33dd]
        0000:0019      and si, bp
        0000:001b      and cx, word [si + 0x25]
        0000:001e      loop 0x45
        0000:0020      cld
        0000:0021      and ax, 0x27e9
        0000:0024      push di
        0000:0025      sub byte [bp + si - 0x26d8], bl
        0000:0029      sub byte [bp + si], bl
        0000:002b      sub word [bx + 0x29], bp
        0000:002e      ret
    
    
    Run

By the way, I am trying to remake the game in Nim, that is why I am posting 
this here.

Reply via email to