github.com/annchain/OG@v0.0.9/vm/vm_test/contracts/o/TokenCreator.evm (about)

     1      /* "../contracts/contruct.sol":1934:2893  contract TokenCreator {... */
     2    mstore(0x40, 0x80)
     3    callvalue
     4      /* "--CODEGEN--":8:17   */
     5    dup1
     6      /* "--CODEGEN--":5:7   */
     7    iszero
     8    tag_1
     9    jumpi
    10      /* "--CODEGEN--":30:31   */
    11    0x0
    12      /* "--CODEGEN--":27:28   */
    13    dup1
    14      /* "--CODEGEN--":20:32   */
    15    revert
    16      /* "--CODEGEN--":5:7   */
    17  tag_1:
    18      /* "../contracts/contruct.sol":1934:2893  contract TokenCreator {... */
    19    pop
    20    dataSize(sub_0)
    21    dup1
    22    dataOffset(sub_0)
    23    0x0
    24    codecopy
    25    0x0
    26    return
    27  stop
    28  
    29  sub_0: assembly {
    30          /* "../contracts/contruct.sol":1934:2893  contract TokenCreator {... */
    31        mstore(0x40, 0x80)
    32        jumpi(tag_1, lt(calldatasize, 0x4))
    33        calldataload(0x0)
    34        0x100000000000000000000000000000000000000000000000000000000
    35        swap1
    36        div
    37        0xffffffff
    38        and
    39        dup1
    40        0x7379b422
    41        eq
    42        tag_2
    43        jumpi
    44        dup1
    45        0xae3edb65
    46        eq
    47        tag_3
    48        jumpi
    49        dup1
    50        0xc3cee9c1
    51        eq
    52        tag_4
    53        jumpi
    54      tag_1:
    55        0x0
    56        dup1
    57        revert
    58          /* "../contracts/contruct.sol":2304:2502  function changeName(OwnedToken tokenAddress, bytes32 name) public {... */
    59      tag_2:
    60        callvalue
    61          /* "--CODEGEN--":8:17   */
    62        dup1
    63          /* "--CODEGEN--":5:7   */
    64        iszero
    65        tag_5
    66        jumpi
    67          /* "--CODEGEN--":30:31   */
    68        0x0
    69          /* "--CODEGEN--":27:28   */
    70        dup1
    71          /* "--CODEGEN--":20:32   */
    72        revert
    73          /* "--CODEGEN--":5:7   */
    74      tag_5:
    75          /* "../contracts/contruct.sol":2304:2502  function changeName(OwnedToken tokenAddress, bytes32 name) public {... */
    76        pop
    77        tag_6
    78        0x4
    79        dup1
    80        calldatasize
    81        sub
    82        dup2
    83        add
    84        swap1
    85        dup1
    86        dup1
    87        calldataload
    88        0xffffffffffffffffffffffffffffffffffffffff
    89        and
    90        swap1
    91        0x20
    92        add
    93        swap1
    94        swap3
    95        swap2
    96        swap1
    97        dup1
    98        calldataload
    99        not(0x0)
   100        and
   101        swap1
   102        0x20
   103        add
   104        swap1
   105        swap3
   106        swap2
   107        swap1
   108        pop
   109        pop
   110        pop
   111        jump(tag_7)
   112      tag_6:
   113        stop
   114          /* "../contracts/contruct.sol":1962:2298  function createToken(bytes32 name)... */
   115      tag_3:
   116        callvalue
   117          /* "--CODEGEN--":8:17   */
   118        dup1
   119          /* "--CODEGEN--":5:7   */
   120        iszero
   121        tag_8
   122        jumpi
   123          /* "--CODEGEN--":30:31   */
   124        0x0
   125          /* "--CODEGEN--":27:28   */
   126        dup1
   127          /* "--CODEGEN--":20:32   */
   128        revert
   129          /* "--CODEGEN--":5:7   */
   130      tag_8:
   131          /* "../contracts/contruct.sol":1962:2298  function createToken(bytes32 name)... */
   132        pop
   133        tag_9
   134        0x4
   135        dup1
   136        calldatasize
   137        sub
   138        dup2
   139        add
   140        swap1
   141        dup1
   142        dup1
   143        calldataload
   144        not(0x0)
   145        and
   146        swap1
   147        0x20
   148        add
   149        swap1
   150        swap3
   151        swap2
   152        swap1
   153        pop
   154        pop
   155        pop
   156        jump(tag_10)
   157      tag_9:
   158        mload(0x40)
   159        dup1
   160        dup3
   161        0xffffffffffffffffffffffffffffffffffffffff
   162        and
   163        0xffffffffffffffffffffffffffffffffffffffff
   164        and
   165        dup2
   166        mstore
   167        0x20
   168        add
   169        swap2
   170        pop
   171        pop
   172        mload(0x40)
   173        dup1
   174        swap2
   175        sub
   176        swap1
   177        return
   178          /* "../contracts/contruct.sol":2618:2891  function isTokenTransferOK(address currentOwner, address newOwner)... */
   179      tag_4:
   180        callvalue
   181          /* "--CODEGEN--":8:17   */
   182        dup1
   183          /* "--CODEGEN--":5:7   */
   184        iszero
   185        tag_11
   186        jumpi
   187          /* "--CODEGEN--":30:31   */
   188        0x0
   189          /* "--CODEGEN--":27:28   */
   190        dup1
   191          /* "--CODEGEN--":20:32   */
   192        revert
   193          /* "--CODEGEN--":5:7   */
   194      tag_11:
   195          /* "../contracts/contruct.sol":2618:2891  function isTokenTransferOK(address currentOwner, address newOwner)... */
   196        pop
   197        tag_12
   198        0x4
   199        dup1
   200        calldatasize
   201        sub
   202        dup2
   203        add
   204        swap1
   205        dup1
   206        dup1
   207        calldataload
   208        0xffffffffffffffffffffffffffffffffffffffff
   209        and
   210        swap1
   211        0x20
   212        add
   213        swap1
   214        swap3
   215        swap2
   216        swap1
   217        dup1
   218        calldataload
   219        0xffffffffffffffffffffffffffffffffffffffff
   220        and
   221        swap1
   222        0x20
   223        add
   224        swap1
   225        swap3
   226        swap2
   227        swap1
   228        pop
   229        pop
   230        pop
   231        jump(tag_13)
   232      tag_12:
   233        mload(0x40)
   234        dup1
   235        dup3
   236        iszero
   237        iszero
   238        iszero
   239        iszero
   240        dup2
   241        mstore
   242        0x20
   243        add
   244        swap2
   245        pop
   246        pop
   247        mload(0x40)
   248        dup1
   249        swap2
   250        sub
   251        swap1
   252        return
   253          /* "../contracts/contruct.sol":2304:2502  function changeName(OwnedToken tokenAddress, bytes32 name) public {... */
   254      tag_7:
   255          /* "../contracts/contruct.sol":2466:2478  tokenAddress */
   256        dup2
   257          /* "../contracts/contruct.sol":2466:2489  tokenAddress.changeName */
   258        0xffffffffffffffffffffffffffffffffffffffff
   259        and
   260        0x898855ed
   261          /* "../contracts/contruct.sol":2490:2494  name */
   262        dup3
   263          /* "../contracts/contruct.sol":2466:2495  tokenAddress.changeName(name) */
   264        mload(0x40)
   265        dup3
   266        0xffffffff
   267        and
   268        0x100000000000000000000000000000000000000000000000000000000
   269        mul
   270        dup2
   271        mstore
   272        0x4
   273        add
   274        dup1
   275        dup3
   276        not(0x0)
   277        and
   278        not(0x0)
   279        and
   280        dup2
   281        mstore
   282        0x20
   283        add
   284        swap2
   285        pop
   286        pop
   287        0x0
   288        mload(0x40)
   289        dup1
   290        dup4
   291        sub
   292        dup2
   293        0x0
   294        dup8
   295        dup1
   296        extcodesize
   297        iszero
   298          /* "--CODEGEN--":8:17   */
   299        dup1
   300          /* "--CODEGEN--":5:7   */
   301        iszero
   302        tag_15
   303        jumpi
   304          /* "--CODEGEN--":30:31   */
   305        0x0
   306          /* "--CODEGEN--":27:28   */
   307        dup1
   308          /* "--CODEGEN--":20:32   */
   309        revert
   310          /* "--CODEGEN--":5:7   */
   311      tag_15:
   312          /* "../contracts/contruct.sol":2466:2495  tokenAddress.changeName(name) */
   313        pop
   314        gas
   315        call
   316        iszero
   317          /* "--CODEGEN--":8:17   */
   318        dup1
   319          /* "--CODEGEN--":5:7   */
   320        iszero
   321        tag_16
   322        jumpi
   323          /* "--CODEGEN--":45:61   */
   324        returndatasize
   325          /* "--CODEGEN--":42:43   */
   326        0x0
   327          /* "--CODEGEN--":39:40   */
   328        dup1
   329          /* "--CODEGEN--":24:62   */
   330        returndatacopy
   331          /* "--CODEGEN--":77:93   */
   332        returndatasize
   333          /* "--CODEGEN--":74:75   */
   334        0x0
   335          /* "--CODEGEN--":67:94   */
   336        revert
   337          /* "--CODEGEN--":5:7   */
   338      tag_16:
   339          /* "../contracts/contruct.sol":2466:2495  tokenAddress.changeName(name) */
   340        pop
   341        pop
   342        pop
   343        pop
   344          /* "../contracts/contruct.sol":2304:2502  function changeName(OwnedToken tokenAddress, bytes32 name) public {... */
   345        pop
   346        pop
   347        jump	// out
   348          /* "../contracts/contruct.sol":1962:2298  function createToken(bytes32 name)... */
   349      tag_10:
   350          /* "../contracts/contruct.sol":2021:2044  OwnedToken tokenAddress */
   351        0x0
   352          /* "../contracts/contruct.sol":2286:2290  name */
   353        dup2
   354          /* "../contracts/contruct.sol":2271:2291  new OwnedToken(name) */
   355        tag_18
   356        jump	// in(tag_19)
   357      tag_18:
   358        dup1
   359        dup3
   360        not(0x0)
   361        and
   362        not(0x0)
   363        and
   364        dup2
   365        mstore
   366        0x20
   367        add
   368        swap2
   369        pop
   370        pop
   371        mload(0x40)
   372        dup1
   373        swap2
   374        sub
   375        swap1
   376        0x0
   377        create
   378        dup1
   379        iszero
   380          /* "--CODEGEN--":8:17   */
   381        dup1
   382          /* "--CODEGEN--":5:7   */
   383        iszero
   384        tag_20
   385        jumpi
   386          /* "--CODEGEN--":45:61   */
   387        returndatasize
   388          /* "--CODEGEN--":42:43   */
   389        0x0
   390          /* "--CODEGEN--":39:40   */
   391        dup1
   392          /* "--CODEGEN--":24:62   */
   393        returndatacopy
   394          /* "--CODEGEN--":77:93   */
   395        returndatasize
   396          /* "--CODEGEN--":74:75   */
   397        0x0
   398          /* "--CODEGEN--":67:94   */
   399        revert
   400          /* "--CODEGEN--":5:7   */
   401      tag_20:
   402          /* "../contracts/contruct.sol":2271:2291  new OwnedToken(name) */
   403        pop
   404          /* "../contracts/contruct.sol":2264:2291  return new OwnedToken(name) */
   405        swap1
   406        pop
   407          /* "../contracts/contruct.sol":1962:2298  function createToken(bytes32 name)... */
   408        swap2
   409        swap1
   410        pop
   411        jump	// out
   412          /* "../contracts/contruct.sol":2618:2891  function isTokenTransferOK(address currentOwner, address newOwner)... */
   413      tag_13:
   414          /* "../contracts/contruct.sol":2718:2725  bool ok */
   415        0x0
   416          /* "../contracts/contruct.sol":2880:2884  0x7f */
   417        0x7f
   418          /* "../contracts/contruct.sol":2822:2884  keccak256(abi.encodePacked(currentOwner, newOwner))[0] == 0x7f */
   419        0x100000000000000000000000000000000000000000000000000000000000000
   420        mul
   421          /* "../contracts/contruct.sol":2849:2861  currentOwner */
   422        dup4
   423          /* "../contracts/contruct.sol":2863:2871  newOwner */
   424        dup4
   425          /* "../contracts/contruct.sol":2832:2872  abi.encodePacked(currentOwner, newOwner) */
   426        add(0x20, mload(0x40))
   427        dup1
   428        dup4
   429        0xffffffffffffffffffffffffffffffffffffffff
   430        and
   431        0xffffffffffffffffffffffffffffffffffffffff
   432        and
   433        0x1000000000000000000000000
   434        mul
   435        dup2
   436        mstore
   437        0x14
   438        add
   439        dup3
   440        0xffffffffffffffffffffffffffffffffffffffff
   441        and
   442        0xffffffffffffffffffffffffffffffffffffffff
   443        and
   444        0x1000000000000000000000000
   445        mul
   446        dup2
   447        mstore
   448        0x14
   449        add
   450        swap3
   451        pop
   452        pop
   453        pop
   454        mload(0x40)
   455          /* "--CODEGEN--":49:53   */
   456        0x20
   457          /* "--CODEGEN--":39:46   */
   458        dup2
   459          /* "--CODEGEN--":30:37   */
   460        dup4
   461          /* "--CODEGEN--":26:47   */
   462        sub
   463          /* "--CODEGEN--":22:54   */
   464        sub
   465          /* "--CODEGEN--":13:20   */
   466        dup2
   467          /* "--CODEGEN--":6:55   */
   468        mstore
   469          /* "../contracts/contruct.sol":2832:2872  abi.encodePacked(currentOwner, newOwner) */
   470        swap1
   471        0x40
   472        mstore
   473          /* "../contracts/contruct.sol":2822:2873  keccak256(abi.encodePacked(currentOwner, newOwner)) */
   474        mload(0x40)
   475        dup1
   476        dup3
   477        dup1
   478        mload
   479        swap1
   480        0x20
   481        add
   482        swap1
   483        dup1
   484        dup4
   485        dup4
   486          /* "--CODEGEN--":36:189   */
   487      tag_22:
   488          /* "--CODEGEN--":66:68   */
   489        0x20
   490          /* "--CODEGEN--":61:64   */
   491        dup4
   492          /* "--CODEGEN--":58:69   */
   493        lt
   494          /* "--CODEGEN--":51:70   */
   495        iszero
   496          /* "--CODEGEN--":36:189   */
   497        iszero
   498        tag_23
   499        jumpi
   500          /* "--CODEGEN--":182:185   */
   501        dup1
   502          /* "--CODEGEN--":176:186   */
   503        mload
   504          /* "--CODEGEN--":171:174   */
   505        dup3
   506          /* "--CODEGEN--":164:187   */
   507        mstore
   508          /* "--CODEGEN--":98:100   */
   509        0x20
   510          /* "--CODEGEN--":93:96   */
   511        dup3
   512          /* "--CODEGEN--":89:101   */
   513        add
   514          /* "--CODEGEN--":82:101   */
   515        swap2
   516        pop
   517          /* "--CODEGEN--":123:125   */
   518        0x20
   519          /* "--CODEGEN--":118:121   */
   520        dup2
   521          /* "--CODEGEN--":114:126   */
   522        add
   523          /* "--CODEGEN--":107:126   */
   524        swap1
   525        pop
   526          /* "--CODEGEN--":148:150   */
   527        0x20
   528          /* "--CODEGEN--":143:146   */
   529        dup4
   530          /* "--CODEGEN--":139:151   */
   531        sub
   532          /* "--CODEGEN--":132:151   */
   533        swap3
   534        pop
   535          /* "--CODEGEN--":36:189   */
   536        jump(tag_22)
   537      tag_23:
   538          /* "--CODEGEN--":274:275   */
   539        0x1
   540          /* "--CODEGEN--":267:270   */
   541        dup4
   542          /* "--CODEGEN--":263:265   */
   543        0x20
   544          /* "--CODEGEN--":259:271   */
   545        sub
   546          /* "--CODEGEN--":254:257   */
   547        0x100
   548          /* "--CODEGEN--":250:272   */
   549        exp
   550          /* "--CODEGEN--":246:276   */
   551        sub
   552          /* "--CODEGEN--":315:319   */
   553        dup1
   554          /* "--CODEGEN--":311:320   */
   555        not
   556          /* "--CODEGEN--":305:308   */
   557        dup3
   558          /* "--CODEGEN--":299:309   */
   559        mload
   560          /* "--CODEGEN--":295:321   */
   561        and
   562          /* "--CODEGEN--":356:360   */
   563        dup2
   564          /* "--CODEGEN--":350:353   */
   565        dup5
   566          /* "--CODEGEN--":344:354   */
   567        mload
   568          /* "--CODEGEN--":340:361   */
   569        and
   570          /* "--CODEGEN--":389:396   */
   571        dup1
   572          /* "--CODEGEN--":380:387   */
   573        dup3
   574          /* "--CODEGEN--":377:397   */
   575        or
   576          /* "--CODEGEN--":372:375   */
   577        dup6
   578          /* "--CODEGEN--":365:398   */
   579        mstore
   580          /* "--CODEGEN--":3:402   */
   581        pop
   582        pop
   583        pop
   584          /* "../contracts/contruct.sol":2822:2873  keccak256(abi.encodePacked(currentOwner, newOwner)) */
   585        pop
   586        pop
   587        pop
   588        swap1
   589        pop
   590        add
   591        swap2
   592        pop
   593        pop
   594        mload(0x40)
   595        dup1
   596        swap2
   597        sub
   598        swap1
   599        keccak256
   600          /* "../contracts/contruct.sol":2874:2875  0 */
   601        0x0
   602          /* "../contracts/contruct.sol":2822:2876  keccak256(abi.encodePacked(currentOwner, newOwner))[0] */
   603        0x20
   604        dup2
   605        lt
   606        iszero
   607        iszero
   608        tag_25
   609        jumpi
   610        invalid
   611      tag_25:
   612        byte
   613        0x100000000000000000000000000000000000000000000000000000000000000
   614        mul
   615          /* "../contracts/contruct.sol":2822:2884  keccak256(abi.encodePacked(currentOwner, newOwner))[0] == 0x7f */
   616        not(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)
   617        and
   618        eq
   619          /* "../contracts/contruct.sol":2815:2884  return keccak256(abi.encodePacked(currentOwner, newOwner))[0] == 0x7f */
   620        swap1
   621        pop
   622          /* "../contracts/contruct.sol":2618:2891  function isTokenTransferOK(address currentOwner, address newOwner)... */
   623        swap3
   624        swap2
   625        pop
   626        pop
   627        jump	// out
   628          /* "../contracts/contruct.sol":1934:2893  contract TokenCreator {... */
   629      tag_19:
   630        mload(0x40)
   631        dataSize(sub_0)
   632        dup1
   633        dataOffset(sub_0)
   634        dup4
   635        codecopy
   636        add
   637        swap1
   638        jump	// out
   639      stop
   640  
   641      sub_0: assembly {
   642              /* "../contracts/contruct.sol":34:1932  contract OwnedToken {... */
   643            mstore(0x40, 0x80)
   644              /* "../contracts/contruct.sol":370:1148  constructor(bytes32 _name) public {... */
   645            callvalue
   646              /* "--CODEGEN--":8:17   */
   647            dup1
   648              /* "--CODEGEN--":5:7   */
   649            iszero
   650            tag_1
   651            jumpi
   652              /* "--CODEGEN--":30:31   */
   653            0x0
   654              /* "--CODEGEN--":27:28   */
   655            dup1
   656              /* "--CODEGEN--":20:32   */
   657            revert
   658              /* "--CODEGEN--":5:7   */
   659          tag_1:
   660              /* "../contracts/contruct.sol":370:1148  constructor(bytes32 _name) public {... */
   661            pop
   662            mload(0x40)
   663            0x20
   664            dup1
   665            bytecodeSize
   666            dup4
   667            codecopy
   668            dup2
   669            add
   670            dup1
   671            0x40
   672            mstore
   673            dup2
   674            add
   675            swap1
   676            dup1
   677            dup1
   678            mload
   679            swap1
   680            0x20
   681            add
   682            swap1
   683            swap3
   684            swap2
   685            swap1
   686            pop
   687            pop
   688            pop
   689              /* "../contracts/contruct.sol":849:859  msg.sender */
   690            caller
   691              /* "../contracts/contruct.sol":841:846  owner */
   692            0x1
   693            0x0
   694              /* "../contracts/contruct.sol":841:859  owner = msg.sender */
   695            0x100
   696            exp
   697            dup2
   698            sload
   699            dup2
   700            0xffffffffffffffffffffffffffffffffffffffff
   701            mul
   702            not
   703            and
   704            swap1
   705            dup4
   706            0xffffffffffffffffffffffffffffffffffffffff
   707            and
   708            mul
   709            or
   710            swap1
   711            sstore
   712            pop
   713              /* "../contracts/contruct.sol":1108:1118  msg.sender */
   714            caller
   715              /* "../contracts/contruct.sol":1085:1092  creator */
   716            0x0
   717            dup1
   718              /* "../contracts/contruct.sol":1085:1119  creator = TokenCreator(msg.sender) */
   719            0x100
   720            exp
   721            dup2
   722            sload
   723            dup2
   724            0xffffffffffffffffffffffffffffffffffffffff
   725            mul
   726            not
   727            and
   728            swap1
   729            dup4
   730            0xffffffffffffffffffffffffffffffffffffffff
   731            and
   732            mul
   733            or
   734            swap1
   735            sstore
   736            pop
   737              /* "../contracts/contruct.sol":1136:1141  _name */
   738            dup1
   739              /* "../contracts/contruct.sol":1129:1133  name */
   740            0x2
   741              /* "../contracts/contruct.sol":1129:1141  name = _name */
   742            dup2
   743            not(0x0)
   744            and
   745            swap1
   746            sstore
   747            pop
   748              /* "../contracts/contruct.sol":370:1148  constructor(bytes32 _name) public {... */
   749            pop
   750              /* "../contracts/contruct.sol":34:1932  contract OwnedToken {... */
   751            dataSize(sub_0)
   752            dup1
   753            dataOffset(sub_0)
   754            0x0
   755            codecopy
   756            0x0
   757            return
   758          stop
   759  
   760          sub_0: assembly {
   761                  /* "../contracts/contruct.sol":34:1932  contract OwnedToken {... */
   762                mstore(0x40, 0x80)
   763                jumpi(tag_1, lt(calldatasize, 0x4))
   764                calldataload(0x0)
   765                0x100000000000000000000000000000000000000000000000000000000
   766                swap1
   767                div
   768                0xffffffff
   769                and
   770                dup1
   771                0x1a695230
   772                eq
   773                tag_2
   774                jumpi
   775                dup1
   776                0x898855ed
   777                eq
   778                tag_3
   779                jumpi
   780              tag_1:
   781                0x0
   782                dup1
   783                revert
   784                  /* "../contracts/contruct.sol":1439:1930  function transfer(address newOwner) public {... */
   785              tag_2:
   786                callvalue
   787                  /* "--CODEGEN--":8:17   */
   788                dup1
   789                  /* "--CODEGEN--":5:7   */
   790                iszero
   791                tag_4
   792                jumpi
   793                  /* "--CODEGEN--":30:31   */
   794                0x0
   795                  /* "--CODEGEN--":27:28   */
   796                dup1
   797                  /* "--CODEGEN--":20:32   */
   798                revert
   799                  /* "--CODEGEN--":5:7   */
   800              tag_4:
   801                  /* "../contracts/contruct.sol":1439:1930  function transfer(address newOwner) public {... */
   802                pop
   803                tag_5
   804                0x4
   805                dup1
   806                calldatasize
   807                sub
   808                dup2
   809                add
   810                swap1
   811                dup1
   812                dup1
   813                calldataload
   814                0xffffffffffffffffffffffffffffffffffffffff
   815                and
   816                swap1
   817                0x20
   818                add
   819                swap1
   820                swap3
   821                swap2
   822                swap1
   823                pop
   824                pop
   825                pop
   826                jump(tag_6)
   827              tag_5:
   828                stop
   829                  /* "../contracts/contruct.sol":1154:1433  function changeName(bytes32 newName) public {... */
   830              tag_3:
   831                callvalue
   832                  /* "--CODEGEN--":8:17   */
   833                dup1
   834                  /* "--CODEGEN--":5:7   */
   835                iszero
   836                tag_7
   837                jumpi
   838                  /* "--CODEGEN--":30:31   */
   839                0x0
   840                  /* "--CODEGEN--":27:28   */
   841                dup1
   842                  /* "--CODEGEN--":20:32   */
   843                revert
   844                  /* "--CODEGEN--":5:7   */
   845              tag_7:
   846                  /* "../contracts/contruct.sol":1154:1433  function changeName(bytes32 newName) public {... */
   847                pop
   848                tag_8
   849                0x4
   850                dup1
   851                calldatasize
   852                sub
   853                dup2
   854                add
   855                swap1
   856                dup1
   857                dup1
   858                calldataload
   859                not(0x0)
   860                and
   861                swap1
   862                0x20
   863                add
   864                swap1
   865                swap3
   866                swap2
   867                swap1
   868                pop
   869                pop
   870                pop
   871                jump(tag_9)
   872              tag_8:
   873                stop
   874                  /* "../contracts/contruct.sol":1439:1930  function transfer(address newOwner) public {... */
   875              tag_6:
   876                  /* "../contracts/contruct.sol":1568:1573  owner */
   877                0x1
   878                0x0
   879                swap1
   880                sload
   881                swap1
   882                0x100
   883                exp
   884                swap1
   885                div
   886                0xffffffffffffffffffffffffffffffffffffffff
   887                and
   888                  /* "../contracts/contruct.sol":1554:1573  msg.sender != owner */
   889                0xffffffffffffffffffffffffffffffffffffffff
   890                and
   891                  /* "../contracts/contruct.sol":1554:1564  msg.sender */
   892                caller
   893                  /* "../contracts/contruct.sol":1554:1573  msg.sender != owner */
   894                0xffffffffffffffffffffffffffffffffffffffff
   895                and
   896                eq
   897                iszero
   898                  /* "../contracts/contruct.sol":1550:1582  if (msg.sender != owner) return; */
   899                iszero
   900                tag_11
   901                jumpi
   902                  /* "../contracts/contruct.sol":1575:1582  return; */
   903                jump(tag_10)
   904                  /* "../contracts/contruct.sol":1550:1582  if (msg.sender != owner) return; */
   905              tag_11:
   906                  /* "../contracts/contruct.sol":1851:1858  creator */
   907                0x0
   908                dup1
   909                swap1
   910                sload
   911                swap1
   912                0x100
   913                exp
   914                swap1
   915                div
   916                0xffffffffffffffffffffffffffffffffffffffff
   917                and
   918                  /* "../contracts/contruct.sol":1851:1876  creator.isTokenTransferOK */
   919                0xffffffffffffffffffffffffffffffffffffffff
   920                and
   921                0xc3cee9c1
   922                  /* "../contracts/contruct.sol":1877:1882  owner */
   923                0x1
   924                0x0
   925                swap1
   926                sload
   927                swap1
   928                0x100
   929                exp
   930                swap1
   931                div
   932                0xffffffffffffffffffffffffffffffffffffffff
   933                and
   934                  /* "../contracts/contruct.sol":1884:1892  newOwner */
   935                dup4
   936                  /* "../contracts/contruct.sol":1851:1893  creator.isTokenTransferOK(owner, newOwner) */
   937                mload(0x40)
   938                dup4
   939                0xffffffff
   940                and
   941                0x100000000000000000000000000000000000000000000000000000000
   942                mul
   943                dup2
   944                mstore
   945                0x4
   946                add
   947                dup1
   948                dup4
   949                0xffffffffffffffffffffffffffffffffffffffff
   950                and
   951                0xffffffffffffffffffffffffffffffffffffffff
   952                and
   953                dup2
   954                mstore
   955                0x20
   956                add
   957                dup3
   958                0xffffffffffffffffffffffffffffffffffffffff
   959                and
   960                0xffffffffffffffffffffffffffffffffffffffff
   961                and
   962                dup2
   963                mstore
   964                0x20
   965                add
   966                swap3
   967                pop
   968                pop
   969                pop
   970                0x20
   971                mload(0x40)
   972                dup1
   973                dup4
   974                sub
   975                dup2
   976                0x0
   977                dup8
   978                dup1
   979                extcodesize
   980                iszero
   981                  /* "--CODEGEN--":8:17   */
   982                dup1
   983                  /* "--CODEGEN--":5:7   */
   984                iszero
   985                tag_12
   986                jumpi
   987                  /* "--CODEGEN--":30:31   */
   988                0x0
   989                  /* "--CODEGEN--":27:28   */
   990                dup1
   991                  /* "--CODEGEN--":20:32   */
   992                revert
   993                  /* "--CODEGEN--":5:7   */
   994              tag_12:
   995                  /* "../contracts/contruct.sol":1851:1893  creator.isTokenTransferOK(owner, newOwner) */
   996                pop
   997                gas
   998                call
   999                iszero
  1000                  /* "--CODEGEN--":8:17   */
  1001                dup1
  1002                  /* "--CODEGEN--":5:7   */
  1003                iszero
  1004                tag_13
  1005                jumpi
  1006                  /* "--CODEGEN--":45:61   */
  1007                returndatasize
  1008                  /* "--CODEGEN--":42:43   */
  1009                0x0
  1010                  /* "--CODEGEN--":39:40   */
  1011                dup1
  1012                  /* "--CODEGEN--":24:62   */
  1013                returndatacopy
  1014                  /* "--CODEGEN--":77:93   */
  1015                returndatasize
  1016                  /* "--CODEGEN--":74:75   */
  1017                0x0
  1018                  /* "--CODEGEN--":67:94   */
  1019                revert
  1020                  /* "--CODEGEN--":5:7   */
  1021              tag_13:
  1022                  /* "../contracts/contruct.sol":1851:1893  creator.isTokenTransferOK(owner, newOwner) */
  1023                pop
  1024                pop
  1025                pop
  1026                pop
  1027                mload(0x40)
  1028                returndatasize
  1029                  /* "--CODEGEN--":13:15   */
  1030                0x20
  1031                  /* "--CODEGEN--":8:11   */
  1032                dup2
  1033                  /* "--CODEGEN--":5:16   */
  1034                lt
  1035                  /* "--CODEGEN--":2:4   */
  1036                iszero
  1037                tag_14
  1038                jumpi
  1039                  /* "--CODEGEN--":29:30   */
  1040                0x0
  1041                  /* "--CODEGEN--":26:27   */
  1042                dup1
  1043                  /* "--CODEGEN--":19:31   */
  1044                revert
  1045                  /* "--CODEGEN--":2:4   */
  1046              tag_14:
  1047                  /* "../contracts/contruct.sol":1851:1893  creator.isTokenTransferOK(owner, newOwner) */
  1048                dup2
  1049                add
  1050                swap1
  1051                dup1
  1052                dup1
  1053                mload
  1054                swap1
  1055                0x20
  1056                add
  1057                swap1
  1058                swap3
  1059                swap2
  1060                swap1
  1061                pop
  1062                pop
  1063                pop
  1064                  /* "../contracts/contruct.sol":1847:1923  if (creator.isTokenTransferOK(owner, newOwner))... */
  1065                iszero
  1066                tag_15
  1067                jumpi
  1068                  /* "../contracts/contruct.sol":1915:1923  newOwner */
  1069                dup1
  1070                  /* "../contracts/contruct.sol":1907:1912  owner */
  1071                0x1
  1072                0x0
  1073                  /* "../contracts/contruct.sol":1907:1923  owner = newOwner */
  1074                0x100
  1075                exp
  1076                dup2
  1077                sload
  1078                dup2
  1079                0xffffffffffffffffffffffffffffffffffffffff
  1080                mul
  1081                not
  1082                and
  1083                swap1
  1084                dup4
  1085                0xffffffffffffffffffffffffffffffffffffffff
  1086                and
  1087                mul
  1088                or
  1089                swap1
  1090                sstore
  1091                pop
  1092                  /* "../contracts/contruct.sol":1847:1923  if (creator.isTokenTransferOK(owner, newOwner))... */
  1093              tag_15:
  1094                  /* "../contracts/contruct.sol":1439:1930  function transfer(address newOwner) public {... */
  1095              tag_10:
  1096                pop
  1097                jump	// out
  1098                  /* "../contracts/contruct.sol":1154:1433  function changeName(bytes32 newName) public {... */
  1099              tag_9:
  1100                  /* "../contracts/contruct.sol":1390:1397  creator */
  1101                0x0
  1102                dup1
  1103                swap1
  1104                sload
  1105                swap1
  1106                0x100
  1107                exp
  1108                swap1
  1109                div
  1110                0xffffffffffffffffffffffffffffffffffffffff
  1111                and
  1112                  /* "../contracts/contruct.sol":1368:1398  msg.sender == address(creator) */
  1113                0xffffffffffffffffffffffffffffffffffffffff
  1114                and
  1115                  /* "../contracts/contruct.sol":1368:1378  msg.sender */
  1116                caller
  1117                  /* "../contracts/contruct.sol":1368:1398  msg.sender == address(creator) */
  1118                0xffffffffffffffffffffffffffffffffffffffff
  1119                and
  1120                eq
  1121                  /* "../contracts/contruct.sol":1364:1426  if (msg.sender == address(creator))... */
  1122                iszero
  1123                tag_17
  1124                jumpi
  1125                  /* "../contracts/contruct.sol":1419:1426  newName */
  1126                dup1
  1127                  /* "../contracts/contruct.sol":1412:1416  name */
  1128                0x2
  1129                  /* "../contracts/contruct.sol":1412:1426  name = newName */
  1130                dup2
  1131                not(0x0)
  1132                and
  1133                swap1
  1134                sstore
  1135                pop
  1136                  /* "../contracts/contruct.sol":1364:1426  if (msg.sender == address(creator))... */
  1137              tag_17:
  1138                  /* "../contracts/contruct.sol":1154:1433  function changeName(bytes32 newName) public {... */
  1139                pop
  1140                jump	// out
  1141  
  1142              auxdata: 0xa165627a7a723058209d0ea79f79c204b184d75f1016ae7588671aa20a3ecb7a8ae78a0c50185d19df0029
  1143          }
  1144      }
  1145  
  1146      auxdata: 0xa165627a7a7230582022488ac5c41f35a6032c7adf199d2816215315af5457a32a791ab1fde698b5760029
  1147  }