We have USDT smart contract, which is located at
0xdac17f958d2ee523a2206206994597c13d831ec7. I am trying to decompile the smart contract (at least view it as at opcodes). What I see is that it begins with
60606040526000 (ABI on etherscan)
 PUSH1 0x60 -> 6060  PUSH1 0x40 -> 6040  MSTORE -> 52  PUSH1 0x00 -> 6000
PUSH1 0x60 PUSH1 0x40 MSTORE PUSH1 0x04 CALLDATASIZE LT PUSH2 0x0196 JUMPI PUSH1 0x00 CALLDATALOAD
which are not
# from opcode tool  PUSH1 0x60  PUSH1 0x40  MSTORE  PUSH1 0x00  DUP1  PUSH1 0x14  PUSH2 0x0100  EXP  DUP2  SLOAD  DUP2
the question is why do those differ? And what is the right one? I guess the second variant is right due to the docs, but can etherscan mistake? By the way, if you know any docs on compiled smart contract structure it'd be nice to share, so I and everyone could understand it better.