Advertisement
Guest User

disassembled solidity code

a guest
Mar 4th, 2017
372
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.32 KB | None | 0 0
  1. Instr.# addrs. mnemonic operand xrefs description
  2. ------------------------------------------------------------------------------------------------------------------------------------------------------
  3. [ 0] [0x00000000] PUSH1 0x60 ('`') # Place 1 byte item on stack.
  4. [ 1] [0x00000002] PUSH1 0x40 ('@') # Place 1 byte item on stack.
  5. [ 2] [0x00000004] MSTORE # Save word to memory.
  6. [ 3] [0x00000005] CALLVALUE # Get deposited value by the instruction/transaction responsible for this execution.
  7. [ 4] [0x00000006] ISZERO # Simple not operator
  8. [ 5] [0x00000007] PUSH2 0x000c # Place 2-byte item on stack.
  9. [ 6] [0x0000000a] JUMPI @0xc # Conditionally alter the program counter.
  10.  
  11. [ 7] [0x0000000b] UNKNOWN_0xfe # error: byte at address 11 (0xfe) is not a valid operator; KeyError(254,)
  12. :loc_0xc
  13. [ 8] [0x0000000c] JUMPDEST JUMPI@0xa # Mark a valid destination for jumps.
  14. :loc_0xd
  15. [ 9] [0x0000000d] JUMPDEST # Mark a valid destination for jumps.
  16. [ 10] [0x0000000e] PUSH2 0x0114 # Place 2-byte item on stack.
  17. [ 11] [0x00000011] DUP1 # Duplicate 1st stack item.
  18. [ 12] [0x00000012] PUSH2 0x001c # Place 2-byte item on stack.
  19. [ 13] [0x00000015] PUSH1 0x00 # Place 1 byte item on stack.
  20. [ 14] [0x00000017] CODECOPY # Copy code running in current environment to memory.
  21. [ 15] [0x00000018] PUSH1 0x00 # Place 1 byte item on stack.
  22. [ 16] [0x0000001a] RETURN # Halt execution returning output data.
  23.  
  24. [ 17] [0x0000001b] STOP # Halts execution.
  25.  
  26. [ 18] [0x0000001c] PUSH1 0x60 ('`') # Place 1 byte item on stack.
  27. [ 19] [0x0000001e] PUSH1 0x40 ('@') # Place 1 byte item on stack.
  28. [ 20] [0x00000020] MSTORE # Save word to memory.
  29. [ 21] [0x00000021] PUSH1 0x00 # Place 1 byte item on stack.
  30. [ 22] [0x00000023] CALLDATALOAD # Get input data of current environment.
  31. [ 23] [0x00000024] PUSH29 0x0100000000000000000000000000000000000000000000000000000000 # Place 29-byte item on stack.
  32. [ 24] [0x00000042] SWAP1 # Exchange 1st and 2nd stack items.
  33. [ 25] [0x00000043] DIV # Integer division operation.
  34. [ 26] [0x00000044] PUSH4 0xffffffff # Place 4-byte item on stack.
  35. [ 27] [0x00000049] AND # Bitwise AND operation.
  36. [ 28] [0x0000004a] DUP1 # Duplicate 1st stack item.
  37. [ 29] [0x0000004b] PUSH4 0xf55332ab # Place 4-byte item on stack.
  38. [ 30] [0x00000050] EQ # Equality comparison
  39. [ 31] [0x00000051] PUSH1 0x3a (':') # Place 1 byte item on stack.
  40. [ 32] [0x00000053] JUMPI @0x3a # Conditionally alter the program counter.
  41.  
  42. :loc_0x54
  43. [ 33] [0x00000054] JUMPDEST # Mark a valid destination for jumps.
  44. [ 34] [0x00000055] UNKNOWN_0xfe # error: byte at address 85 (0xfe) is not a valid operator; KeyError(254,)
  45. :loc_0x56
  46. [ 35] [0x00000056] JUMPDEST # Mark a valid destination for jumps.
  47. [ 36] [0x00000057] CALLVALUE # Get deposited value by the instruction/transaction responsible for this execution.
  48. [ 37] [0x00000058] ISZERO # Simple not operator
  49. [ 38] [0x00000059] PUSH1 0x41 ('A') # Place 1 byte item on stack.
  50. [ 39] [0x0000005b] JUMPI @0x41 # Conditionally alter the program counter.
  51.  
  52. [ 40] [0x0000005c] UNKNOWN_0xfe # error: byte at address 92 (0xfe) is not a valid operator; KeyError(254,)
  53. :loc_0x5d
  54. [ 41] [0x0000005d] JUMPDEST # Mark a valid destination for jumps.
  55. [ 42] [0x0000005e] PUSH1 0x6b ('k') # Place 1 byte item on stack.
  56. [ 43] [0x00000060] PUSH1 0x04 # Place 1 byte item on stack.
  57. [ 44] [0x00000062] DUP1 # Duplicate 1st stack item.
  58. [ 45] [0x00000063] DUP1 # Duplicate 1st stack item.
  59. [ 46] [0x00000064] CALLDATALOAD # Get input data of current environment.
  60. [ 47] [0x00000065] PUSH20 0xffffffffffffffffffffffffffffffffffffffff # Place 20-byte item on stack.
  61. [ 48] [0x0000007a] AND # Bitwise AND operation.
  62. [ 49] [0x0000007b] SWAP1 # Exchange 1st and 2nd stack items.
  63. [ 50] [0x0000007c] PUSH1 0x20 # Place 1 byte item on stack.
  64. [ 51] [0x0000007e] ADD # Addition operation.
  65. [ 52] [0x0000007f] SWAP1 # Exchange 1st and 2nd stack items.
  66. [ 53] [0x00000080] SWAP2 # Exchange 1st and 3rd stack items.
  67. [ 54] [0x00000081] SWAP1 # Exchange 1st and 2nd stack items.
  68. [ 55] [0x00000082] POP # Remove item from stack.
  69. [ 56] [0x00000083] POP # Remove item from stack.
  70. [ 57] [0x00000084] PUSH1 0x6d ('m') # Place 1 byte item on stack.
  71. [ 58] [0x00000086] JUMP @0x6d # Alter the program counter.
  72.  
  73. :loc_0x87
  74. [ 59] [0x00000087] JUMPDEST # Mark a valid destination for jumps.
  75. [ 60] [0x00000088] STOP # Halts execution.
  76.  
  77. :loc_0x89
  78. [ 61] [0x00000089] JUMPDEST # Mark a valid destination for jumps.
  79. [ 62] [0x0000008a] PUSH1 0x00 # Place 1 byte item on stack.
  80. [ 63] [0x0000008c] DUP2 # Duplicate 2nd stack item.
  81. [ 64] [0x0000008d] SWAP1 # Exchange 1st and 2nd stack items.
  82. [ 65] [0x0000008e] POP # Remove item from stack.
  83. [ 66] [0x0000008f] DUP1 # Duplicate 1st stack item.
  84. [ 67] [0x00000090] PUSH20 0xffffffffffffffffffffffffffffffffffffffff # Place 20-byte item on stack.
  85. [ 68] [0x000000a5] AND # Bitwise AND operation.
  86. [ 69] [0x000000a6] PUSH4 0x660b480f # Place 4-byte item on stack.
  87. [ 70] [0x000000ab] PUSH1 0x40 ('@') # Place 1 byte item on stack.
  88. [ 71] [0x000000ad] MLOAD # Load word from memory.
  89. [ 72] [0x000000ae] DUP2 # Duplicate 2nd stack item.
  90. [ 73] [0x000000af] PUSH4 0xffffffff # Place 4-byte item on stack.
  91. [ 74] [0x000000b4] AND # Bitwise AND operation.
  92. [ 75] [0x000000b5] PUSH29 0x0100000000000000000000000000000000000000000000000000000000 # Place 29-byte item on stack.
  93. [ 76] [0x000000d3] MUL # Multiplication operation.
  94. [ 77] [0x000000d4] DUP2 # Duplicate 2nd stack item.
  95. [ 78] [0x000000d5] MSTORE # Save word to memory.
  96. [ 79] [0x000000d6] PUSH1 0x04 # Place 1 byte item on stack.
  97. [ 80] [0x000000d8] ADD # Addition operation.
  98. [ 81] [0x000000d9] DUP1 # Duplicate 1st stack item.
  99. [ 82] [0x000000da] SWAP1 # Exchange 1st and 2nd stack items.
  100. [ 83] [0x000000db] POP # Remove item from stack.
  101. [ 84] [0x000000dc] PUSH1 0x00 # Place 1 byte item on stack.
  102. [ 85] [0x000000de] PUSH1 0x40 ('@') # Place 1 byte item on stack.
  103. [ 86] [0x000000e0] MLOAD # Load word from memory.
  104. [ 87] [0x000000e1] DUP1 # Duplicate 1st stack item.
  105. [ 88] [0x000000e2] DUP4 # Duplicate 4th stack item.
  106. [ 89] [0x000000e3] SUB # Subtraction operation.
  107. [ 90] [0x000000e4] DUP2 # Duplicate 2nd stack item.
  108. [ 91] [0x000000e5] PUSH1 0x00 # Place 1 byte item on stack.
  109. [ 92] [0x000000e7] DUP8 # Duplicate 8th stack item.
  110. [ 93] [0x000000e8] DUP1 # Duplicate 1st stack item.
  111. [ 94] [0x000000e9] EXTCODESIZE # Get size of an account’s code.
  112. [ 95] [0x000000ea] ISZERO # Simple not operator
  113. [ 96] [0x000000eb] ISZERO # Simple not operator
  114. [ 97] [0x000000ec] PUSH1 0xd4 # Place 1 byte item on stack.
  115. [ 98] [0x000000ee] JUMPI @0xd4 # Conditionally alter the program counter.
  116.  
  117. [ 99] [0x000000ef] UNKNOWN_0xfe # error: byte at address 239 (0xfe) is not a valid operator; KeyError(254,)
  118. :loc_0xf0
  119. [ 100] [0x000000f0] JUMPDEST # Mark a valid destination for jumps.
  120. [ 101] [0x000000f1] PUSH1 0x32 ('2') # Place 1 byte item on stack.
  121. [ 102] [0x000000f3] GAS # Get the amount of available gas, including the corresponding reduction
  122. [ 103] [0x000000f4] SUB # Subtraction operation.
  123. [ 104] [0x000000f5] CALL # Message-call into an account.
  124. [ 105] [0x000000f6] ISZERO # Simple not operator
  125. [ 106] [0x000000f7] ISZERO # Simple not operator
  126. [ 107] [0x000000f8] PUSH1 0xe0 # Place 1 byte item on stack.
  127. [ 108] [0x000000fa] JUMPI @0xe0 # Conditionally alter the program counter.
  128.  
  129. [ 109] [0x000000fb] UNKNOWN_0xfe # error: byte at address 251 (0xfe) is not a valid operator; KeyError(254,)
  130. :loc_0xfc
  131. [ 110] [0x000000fc] JUMPDEST # Mark a valid destination for jumps.
  132. [ 111] [0x000000fd] POP # Remove item from stack.
  133. [ 112] [0x000000fe] POP # Remove item from stack.
  134. [ 113] [0x000000ff] POP # Remove item from stack.
  135. :loc_0x100
  136. [ 114] [0x00000100] JUMPDEST # Mark a valid destination for jumps.
  137. [ 115] [0x00000101] POP # Remove item from stack.
  138. [ 116] [0x00000102] POP # Remove item from stack.
  139. [ 117] [0x00000103] JUMP # Alter the program counter.
  140.  
  141. [ 118] [0x00000104] STOP # Halts execution.
  142.  
  143. [ 119] [0x00000105] LOG1 0x65 ('e') # Append log record with one topic.
  144. [ 120] [0x00000107] PUSH3 0x7a7a72 ('zzr') # Place 3-byte item on stack.
  145. [ 121] [0x0000010b] ADDRESS # Get address of currently executing account.
  146. [ 122] [0x0000010c] PC # Get the value of the program counter prior to the increment.
  147. [ 123] [0x0000010d] SHA3 # Compute Keccak-256 hash.
  148. [ 124] [0x0000010e] DUP11 # Duplicate 11th stack item.
  149. [ 125] [0x0000010f] UNKNOWN_0xe4 # error: byte at address 271 (0xe4) is not a valid operator; KeyError(228,)
  150. [ 126] [0x00000110] PUSH10 0xb2209d1bef5ae46603a1 # Place 10-byte item on stack.
  151. [ 127] [0x0000011b] DUP4 # Duplicate 4th stack item.
  152. [ 128] [0x0000011c] TIMESTAMP # Get the block’s timestamp.
  153. [ 129] [0x0000011d] MSTORE8 0xaa2f47f44bb180af # Save byte to memory.
  154. [ 130] [0x00000126] UNKNOWN_0xa6 # error: byte at address 294 (0xa6) is not a valid operator; KeyError(166,)
  155. [ 131] [0x00000127] XOR # Bitwise XOR operation.
  156. [ 132] [0x00000128] UNKNOWN_0xd8 # error: byte at address 296 (0xd8) is not a valid operator; KeyError(216,)
  157. [ 133] [0x00000129] UNKNOWN_0xf6 # error: byte at address 297 (0xf6) is not a valid operator; KeyError(246,)
  158. [ 134] [0x0000012a] UNKNOWN_0x4a # error: byte at address 298 (0x4a) is not a valid operator; KeyError(74,)
  159. [ 135] [0x0000012b] UNKNOWN_0xa9 # error: byte at address 299 (0xa9) is not a valid operator; KeyError(169,)
  160. [ 136] [0x0000012c] UNKNOWN_0xe8 # error: byte at address 300 (0xe8) is not a valid operator; KeyError(232,)
  161. [ 137] [0x0000012d] JUMPI # Conditionally alter the program counter.
  162.  
  163. [ 138] [0x0000012e] STOP # Halts execution.
  164.  
  165. [ 139] [0x0000012f] UNKNOWN_0x29 # error: byte at address 303 (0x29) is not a valid operator; KeyError(41,)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement