Signing a raw transaction with multiple inputs
and other input(s) should have "00" in place.


Keep in mind that you replace the "scriptsig" with "empty" and the 0x00 is the size of the empty script.


  non-mandatory-script-verify-flag (Non-canonical DER signature) (code 64)


The problem here is the DER encoding used in your signatures. r values in a signature are positive and since each r value that you have has its most significant bit set they need a preceding 0x00 to tell the DER-decoder that the numbers are positive:  

0xE4 = 0b11100100 
0xC4 = 0b11000100 


Each signature should change to this: 483045022100E4A3...