004DBD5A |> F643 2C 80 TEST BYTE PTR DS:[EBX+2C],80 ; If [EBX+2C] == int 128 004DBD5E |. 0F84 D7000000 JE magic1.004DBE3B ; Jump to line 134 004DBD64 |. 8B83 80000000 MOV EAX,DWORD PTR DS:[EBX+80] ; EAX == [EBX + int 128] (probably smaller than a DWORD) 004DBD6A |. 0FB610 MOVZX EDX,BYTE PTR DS:[EAX] ; EDX == [EAX], rest filled with 0's 004DBD6D |. 33C9 XOR ECX,ECX ; ECX == 0 004DBD6F |. 8A48 01 MOV CL,BYTE PTR DS:[EAX+1] ; CL == [EAX + 1] 004DBD72 |. 83C0 02 ADD EAX,2 ; EAX += 2 004DBD75 |. 84C9 TEST CL,CL ; If CL > 0 (has no sign, aka not negative) 004DBD77 |. 79 26 JNS SHORT magic1.004DBD9F ; Jump to line 85 004DBD79 |. 83E1 7F AND ECX,7F ; AND ECX == int 127 004DBD7C |. C1E1 08 SHL ECX,8 ; ECX << 8