Modbus TCP previews correct output, but receiving end gets garbage

Solution: Turns out there was an error on my colleague's side, where his software was reading from addresses 4001, where it should have been reading from address 1 as they were already denoted as holding registers to begin with and didn't need the 400 preamble.