github.com/annchain/OG@v0.0.9/vm/vm_test/contracts/o/ABBToken.evm (about) 1 /* "../contracts/token.sol":2930:3764 contract ABBToken is owned, TokenERC20 {... */ 2 mstore(0x40, 0x80) 3 /* "../contracts/token.sol":1277:1279 18 */ 4 0x12 5 /* "../contracts/token.sol":1253:1279 uint8 public decimals = 18 */ 6 0x3 7 exp(0x100, 0x0) 8 dup2 9 sload 10 dup2 11 0xff 12 mul 13 not 14 and 15 swap1 16 dup4 17 0xff 18 and 19 mul 20 or 21 swap1 22 sstore 23 pop 24 /* "../contracts/token.sol":3135:3273 function ABBToken(uint256 initialSupply, string tokenName, string tokenSymbol) TokenERC20(initialSupply, tokenName, tokenSymbol) public {} */ 25 callvalue 26 /* "--CODEGEN--":8:17 */ 27 dup1 28 /* "--CODEGEN--":5:7 */ 29 iszero 30 tag_1 31 jumpi 32 /* "--CODEGEN--":30:31 */ 33 0x0 34 /* "--CODEGEN--":27:28 */ 35 dup1 36 /* "--CODEGEN--":20:32 */ 37 revert 38 /* "--CODEGEN--":5:7 */ 39 tag_1: 40 /* "../contracts/token.sol":3135:3273 function ABBToken(uint256 initialSupply, string tokenName, string tokenSymbol) TokenERC20(initialSupply, tokenName, tokenSymbol) public {} */ 41 pop 42 mload(0x40) 43 sub(codesize, bytecodeSize) 44 dup1 45 bytecodeSize 46 dup4 47 codecopy 48 dup2 49 add 50 dup1 51 0x40 52 mstore 53 dup2 54 add 55 swap1 56 dup1 57 dup1 58 mload 59 swap1 60 0x20 61 add 62 swap1 63 swap3 64 swap2 65 swap1 66 dup1 67 mload 68 dup3 69 add 70 swap3 71 swap2 72 swap1 73 0x20 74 add 75 dup1 76 mload 77 dup3 78 add 79 swap3 80 swap2 81 swap1 82 pop 83 pop 84 pop 85 /* "../contracts/token.sol":3225:3238 initialSupply */ 86 dup3 87 /* "../contracts/token.sol":3240:3249 tokenName */ 88 dup3 89 /* "../contracts/token.sol":3251:3262 tokenSymbol */ 90 dup3 91 /* "../contracts/token.sol":873:883 msg.sender */ 92 caller 93 /* "../contracts/token.sol":865:870 owner */ 94 0x0 95 dup1 96 /* "../contracts/token.sol":865:883 owner = msg.sender */ 97 0x100 98 exp 99 dup2 100 sload 101 dup2 102 0xffffffffffffffffffffffffffffffffffffffff 103 mul 104 not 105 and 106 swap1 107 dup4 108 0xffffffffffffffffffffffffffffffffffffffff 109 and 110 mul 111 or 112 swap1 113 sstore 114 pop 115 /* "../contracts/token.sol":1662:1670 decimals */ 116 0x3 117 0x0 118 swap1 119 sload 120 swap1 121 0x100 122 exp 123 swap1 124 div 125 0xff 126 and 127 /* "../contracts/token.sol":1654:1671 uint256(decimals) */ 128 0xff 129 and 130 /* "../contracts/token.sol":1648:1650 10 */ 131 0xa 132 /* "../contracts/token.sol":1648:1671 10 ** uint256(decimals) */ 133 exp 134 /* "../contracts/token.sol":1632:1645 initialSupply */ 135 dup4 136 /* "../contracts/token.sol":1632:1671 initialSupply * 10 ** uint256(decimals) */ 137 mul 138 /* "../contracts/token.sol":1618:1629 totalSupply */ 139 0x4 140 /* "../contracts/token.sol":1618:1671 totalSupply = initialSupply * 10 ** uint256(decimals) */ 141 dup2 142 swap1 143 sstore 144 pop 145 /* "../contracts/token.sol":1705:1716 totalSupply */ 146 sload(0x4) 147 /* "../contracts/token.sol":1681:1690 balanceOf */ 148 0x5 149 /* "../contracts/token.sol":1681:1702 balanceOf[msg.sender] */ 150 0x0 151 /* "../contracts/token.sol":1691:1701 msg.sender */ 152 caller 153 /* "../contracts/token.sol":1681:1702 balanceOf[msg.sender] */ 154 0xffffffffffffffffffffffffffffffffffffffff 155 and 156 0xffffffffffffffffffffffffffffffffffffffff 157 and 158 dup2 159 mstore 160 0x20 161 add 162 swap1 163 dup2 164 mstore 165 0x20 166 add 167 0x0 168 keccak256 169 /* "../contracts/token.sol":1681:1716 balanceOf[msg.sender] = totalSupply */ 170 dup2 171 swap1 172 sstore 173 pop 174 /* "../contracts/token.sol":1733:1742 tokenName */ 175 dup2 176 /* "../contracts/token.sol":1726:1730 name */ 177 0x1 178 /* "../contracts/token.sol":1726:1742 name = tokenName */ 179 swap1 180 dup1 181 mload 182 swap1 183 0x20 184 add 185 swap1 186 tag_7 187 swap3 188 swap2 189 swap1 190 jump // in(tag_8) 191 tag_7: 192 pop 193 /* "../contracts/token.sol":1761:1772 tokenSymbol */ 194 dup1 195 /* "../contracts/token.sol":1752:1758 symbol */ 196 0x2 197 /* "../contracts/token.sol":1752:1772 symbol = tokenSymbol */ 198 swap1 199 dup1 200 mload 201 swap1 202 0x20 203 add 204 swap1 205 tag_9 206 swap3 207 swap2 208 swap1 209 jump // in(tag_8) 210 tag_9: 211 pop 212 /* "../contracts/token.sol":1520:1779 function TokenERC20(uint256 initialSupply, string tokenName, string tokenSymbol) public {... */ 213 pop 214 pop 215 pop 216 /* "../contracts/token.sol":3135:3273 function ABBToken(uint256 initialSupply, string tokenName, string tokenSymbol) TokenERC20(initialSupply, tokenName, tokenSymbol) public {} */ 217 pop 218 pop 219 pop 220 /* "../contracts/token.sol":2930:3764 contract ABBToken is owned, TokenERC20 {... */ 221 jump(tag_11) 222 tag_8: 223 dup3 224 dup1 225 sload 226 0x1 227 dup2 228 0x1 229 and 230 iszero 231 0x100 232 mul 233 sub 234 and 235 0x2 236 swap1 237 div 238 swap1 239 0x0 240 mstore 241 keccak256(0x0, 0x20) 242 swap1 243 0x1f 244 add 245 0x20 246 swap1 247 div 248 dup2 249 add 250 swap3 251 dup3 252 0x1f 253 lt 254 tag_13 255 jumpi 256 dup1 257 mload 258 not(0xff) 259 and 260 dup4 261 dup1 262 add 263 or 264 dup6 265 sstore 266 jump(tag_12) 267 tag_13: 268 dup3 269 dup1 270 add 271 0x1 272 add 273 dup6 274 sstore 275 dup3 276 iszero 277 tag_12 278 jumpi 279 swap2 280 dup3 281 add 282 tag_14: 283 dup3 284 dup2 285 gt 286 iszero 287 tag_15 288 jumpi 289 dup3 290 mload 291 dup3 292 sstore 293 swap2 294 0x20 295 add 296 swap2 297 swap1 298 0x1 299 add 300 swap1 301 jump(tag_14) 302 tag_15: 303 tag_12: 304 pop 305 swap1 306 pop 307 tag_16 308 swap2 309 swap1 310 jump // in(tag_17) 311 tag_16: 312 pop 313 swap1 314 jump // out 315 tag_17: 316 tag_18 317 swap2 318 swap1 319 tag_19: 320 dup1 321 dup3 322 gt 323 iszero 324 tag_20 325 jumpi 326 0x0 327 dup2 328 0x0 329 swap1 330 sstore 331 pop 332 0x1 333 add 334 jump(tag_19) 335 tag_20: 336 pop 337 swap1 338 jump 339 tag_18: 340 swap1 341 jump // out 342 tag_11: 343 dataSize(sub_0) 344 dup1 345 dataOffset(sub_0) 346 0x0 347 codecopy 348 0x0 349 return 350 stop 351 352 sub_0: assembly { 353 /* "../contracts/token.sol":2930:3764 contract ABBToken is owned, TokenERC20 {... */ 354 mstore(0x40, 0x80) 355 jumpi(tag_1, lt(calldatasize, 0x4)) 356 calldataload(0x0) 357 0x100000000000000000000000000000000000000000000000000000000 358 swap1 359 div 360 0xffffffff 361 and 362 dup1 363 0x6fdde03 364 eq 365 tag_2 366 jumpi 367 dup1 368 0x95ea7b3 369 eq 370 tag_3 371 jumpi 372 dup1 373 0x18160ddd 374 eq 375 tag_4 376 jumpi 377 dup1 378 0x23b872dd 379 eq 380 tag_5 381 jumpi 382 dup1 383 0x313ce567 384 eq 385 tag_6 386 jumpi 387 dup1 388 0x42966c68 389 eq 390 tag_7 391 jumpi 392 dup1 393 0x70a08231 394 eq 395 tag_8 396 jumpi 397 dup1 398 0x8da5cb5b 399 eq 400 tag_9 401 jumpi 402 dup1 403 0x95d89b41 404 eq 405 tag_10 406 jumpi 407 dup1 408 0xa9059cbb 409 eq 410 tag_11 411 jumpi 412 dup1 413 0xb414d4b6 414 eq 415 tag_12 416 jumpi 417 dup1 418 0xdd62ed3e 419 eq 420 tag_13 421 jumpi 422 dup1 423 0xe724529c 424 eq 425 tag_14 426 jumpi 427 dup1 428 0xf2fde38b 429 eq 430 tag_15 431 jumpi 432 tag_1: 433 0x0 434 dup1 435 revert 436 /* "../contracts/token.sol":1203:1221 string public name */ 437 tag_2: 438 callvalue 439 /* "--CODEGEN--":8:17 */ 440 dup1 441 /* "--CODEGEN--":5:7 */ 442 iszero 443 tag_16 444 jumpi 445 /* "--CODEGEN--":30:31 */ 446 0x0 447 /* "--CODEGEN--":27:28 */ 448 dup1 449 /* "--CODEGEN--":20:32 */ 450 revert 451 /* "--CODEGEN--":5:7 */ 452 tag_16: 453 /* "../contracts/token.sol":1203:1221 string public name */ 454 pop 455 tag_17 456 jump(tag_18) 457 tag_17: 458 mload(0x40) 459 dup1 460 dup1 461 0x20 462 add 463 dup3 464 dup2 465 sub 466 dup3 467 mstore 468 dup4 469 dup2 470 dup2 471 mload 472 dup2 473 mstore 474 0x20 475 add 476 swap2 477 pop 478 dup1 479 mload 480 swap1 481 0x20 482 add 483 swap1 484 dup1 485 dup4 486 dup4 487 /* "--CODEGEN--":23:24 */ 488 0x0 489 /* "--CODEGEN--":8:108 */ 490 tag_19: 491 /* "--CODEGEN--":33:36 */ 492 dup4 493 /* "--CODEGEN--":30:31 */ 494 dup2 495 /* "--CODEGEN--":27:37 */ 496 lt 497 /* "--CODEGEN--":8:108 */ 498 iszero 499 tag_20 500 jumpi 501 /* "--CODEGEN--":99:100 */ 502 dup1 503 /* "--CODEGEN--":94:97 */ 504 dup3 505 /* "--CODEGEN--":90:101 */ 506 add 507 /* "--CODEGEN--":84:102 */ 508 mload 509 /* "--CODEGEN--":80:81 */ 510 dup2 511 /* "--CODEGEN--":75:78 */ 512 dup5 513 /* "--CODEGEN--":71:82 */ 514 add 515 /* "--CODEGEN--":64:103 */ 516 mstore 517 /* "--CODEGEN--":52:54 */ 518 0x20 519 /* "--CODEGEN--":49:50 */ 520 dup2 521 /* "--CODEGEN--":45:55 */ 522 add 523 /* "--CODEGEN--":40:55 */ 524 swap1 525 pop 526 /* "--CODEGEN--":8:108 */ 527 jump(tag_19) 528 tag_20: 529 /* "--CODEGEN--":12:26 */ 530 pop 531 /* "../contracts/token.sol":1203:1221 string public name */ 532 pop 533 pop 534 pop 535 swap1 536 pop 537 swap1 538 dup2 539 add 540 swap1 541 0x1f 542 and 543 dup1 544 iszero 545 tag_22 546 jumpi 547 dup1 548 dup3 549 sub 550 dup1 551 mload 552 0x1 553 dup4 554 0x20 555 sub 556 0x100 557 exp 558 sub 559 not 560 and 561 dup2 562 mstore 563 0x20 564 add 565 swap2 566 pop 567 tag_22: 568 pop 569 swap3 570 pop 571 pop 572 pop 573 mload(0x40) 574 dup1 575 swap2 576 sub 577 swap1 578 return 579 /* "../contracts/token.sol":2767:2926 function approve(address _spender, uint256 _value) public returns (bool success) {... */ 580 tag_3: 581 callvalue 582 /* "--CODEGEN--":8:17 */ 583 dup1 584 /* "--CODEGEN--":5:7 */ 585 iszero 586 tag_23 587 jumpi 588 /* "--CODEGEN--":30:31 */ 589 0x0 590 /* "--CODEGEN--":27:28 */ 591 dup1 592 /* "--CODEGEN--":20:32 */ 593 revert 594 /* "--CODEGEN--":5:7 */ 595 tag_23: 596 /* "../contracts/token.sol":2767:2926 function approve(address _spender, uint256 _value) public returns (bool success) {... */ 597 pop 598 tag_24 599 0x4 600 dup1 601 calldatasize 602 sub 603 dup2 604 add 605 swap1 606 dup1 607 dup1 608 calldataload 609 0xffffffffffffffffffffffffffffffffffffffff 610 and 611 swap1 612 0x20 613 add 614 swap1 615 swap3 616 swap2 617 swap1 618 dup1 619 calldataload 620 swap1 621 0x20 622 add 623 swap1 624 swap3 625 swap2 626 swap1 627 pop 628 pop 629 pop 630 jump(tag_25) 631 tag_24: 632 mload(0x40) 633 dup1 634 dup3 635 iszero 636 iszero 637 iszero 638 iszero 639 dup2 640 mstore 641 0x20 642 add 643 swap2 644 pop 645 pop 646 mload(0x40) 647 dup1 648 swap2 649 sub 650 swap1 651 return 652 /* "../contracts/token.sol":1285:1311 uint256 public totalSupply */ 653 tag_4: 654 callvalue 655 /* "--CODEGEN--":8:17 */ 656 dup1 657 /* "--CODEGEN--":5:7 */ 658 iszero 659 tag_26 660 jumpi 661 /* "--CODEGEN--":30:31 */ 662 0x0 663 /* "--CODEGEN--":27:28 */ 664 dup1 665 /* "--CODEGEN--":20:32 */ 666 revert 667 /* "--CODEGEN--":5:7 */ 668 tag_26: 669 /* "../contracts/token.sol":1285:1311 uint256 public totalSupply */ 670 pop 671 tag_27 672 jump(tag_28) 673 tag_27: 674 mload(0x40) 675 dup1 676 dup3 677 dup2 678 mstore 679 0x20 680 add 681 swap2 682 pop 683 pop 684 mload(0x40) 685 dup1 686 swap2 687 sub 688 swap1 689 return 690 /* "../contracts/token.sol":2446:2761 function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {... */ 691 tag_5: 692 callvalue 693 /* "--CODEGEN--":8:17 */ 694 dup1 695 /* "--CODEGEN--":5:7 */ 696 iszero 697 tag_29 698 jumpi 699 /* "--CODEGEN--":30:31 */ 700 0x0 701 /* "--CODEGEN--":27:28 */ 702 dup1 703 /* "--CODEGEN--":20:32 */ 704 revert 705 /* "--CODEGEN--":5:7 */ 706 tag_29: 707 /* "../contracts/token.sol":2446:2761 function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {... */ 708 pop 709 tag_30 710 0x4 711 dup1 712 calldatasize 713 sub 714 dup2 715 add 716 swap1 717 dup1 718 dup1 719 calldataload 720 0xffffffffffffffffffffffffffffffffffffffff 721 and 722 swap1 723 0x20 724 add 725 swap1 726 swap3 727 swap2 728 swap1 729 dup1 730 calldataload 731 0xffffffffffffffffffffffffffffffffffffffff 732 and 733 swap1 734 0x20 735 add 736 swap1 737 swap3 738 swap2 739 swap1 740 dup1 741 calldataload 742 swap1 743 0x20 744 add 745 swap1 746 swap3 747 swap2 748 swap1 749 pop 750 pop 751 pop 752 jump(tag_31) 753 tag_30: 754 mload(0x40) 755 dup1 756 dup3 757 iszero 758 iszero 759 iszero 760 iszero 761 dup2 762 mstore 763 0x20 764 add 765 swap2 766 pop 767 pop 768 mload(0x40) 769 dup1 770 swap2 771 sub 772 swap1 773 return 774 /* "../contracts/token.sol":1253:1279 uint8 public decimals = 18 */ 775 tag_6: 776 callvalue 777 /* "--CODEGEN--":8:17 */ 778 dup1 779 /* "--CODEGEN--":5:7 */ 780 iszero 781 tag_32 782 jumpi 783 /* "--CODEGEN--":30:31 */ 784 0x0 785 /* "--CODEGEN--":27:28 */ 786 dup1 787 /* "--CODEGEN--":20:32 */ 788 revert 789 /* "--CODEGEN--":5:7 */ 790 tag_32: 791 /* "../contracts/token.sol":1253:1279 uint8 public decimals = 18 */ 792 pop 793 tag_33 794 jump(tag_34) 795 tag_33: 796 mload(0x40) 797 dup1 798 dup3 799 0xff 800 and 801 0xff 802 and 803 dup2 804 mstore 805 0x20 806 add 807 swap2 808 pop 809 pop 810 mload(0x40) 811 dup1 812 swap2 813 sub 814 swap1 815 return 816 /* "../contracts/token.sol":3279:3603 function burn(uint256 _value) onlyOwner public returns (bool success) {... */ 817 tag_7: 818 callvalue 819 /* "--CODEGEN--":8:17 */ 820 dup1 821 /* "--CODEGEN--":5:7 */ 822 iszero 823 tag_35 824 jumpi 825 /* "--CODEGEN--":30:31 */ 826 0x0 827 /* "--CODEGEN--":27:28 */ 828 dup1 829 /* "--CODEGEN--":20:32 */ 830 revert 831 /* "--CODEGEN--":5:7 */ 832 tag_35: 833 /* "../contracts/token.sol":3279:3603 function burn(uint256 _value) onlyOwner public returns (bool success) {... */ 834 pop 835 tag_36 836 0x4 837 dup1 838 calldatasize 839 sub 840 dup2 841 add 842 swap1 843 dup1 844 dup1 845 calldataload 846 swap1 847 0x20 848 add 849 swap1 850 swap3 851 swap2 852 swap1 853 pop 854 pop 855 pop 856 jump(tag_37) 857 tag_36: 858 mload(0x40) 859 dup1 860 dup3 861 iszero 862 iszero 863 iszero 864 iszero 865 dup2 866 mstore 867 0x20 868 add 869 swap2 870 pop 871 pop 872 mload(0x40) 873 dup1 874 swap2 875 sub 876 swap1 877 return 878 /* "../contracts/token.sol":1318:1363 mapping (address => uint256) public balanceOf */ 879 tag_8: 880 callvalue 881 /* "--CODEGEN--":8:17 */ 882 dup1 883 /* "--CODEGEN--":5:7 */ 884 iszero 885 tag_38 886 jumpi 887 /* "--CODEGEN--":30:31 */ 888 0x0 889 /* "--CODEGEN--":27:28 */ 890 dup1 891 /* "--CODEGEN--":20:32 */ 892 revert 893 /* "--CODEGEN--":5:7 */ 894 tag_38: 895 /* "../contracts/token.sol":1318:1363 mapping (address => uint256) public balanceOf */ 896 pop 897 tag_39 898 0x4 899 dup1 900 calldatasize 901 sub 902 dup2 903 add 904 swap1 905 dup1 906 dup1 907 calldataload 908 0xffffffffffffffffffffffffffffffffffffffff 909 and 910 swap1 911 0x20 912 add 913 swap1 914 swap3 915 swap2 916 swap1 917 pop 918 pop 919 pop 920 jump(tag_40) 921 tag_39: 922 mload(0x40) 923 dup1 924 dup3 925 dup2 926 mstore 927 0x20 928 add 929 swap2 930 pop 931 pop 932 mload(0x40) 933 dup1 934 swap2 935 sub 936 swap1 937 return 938 /* "../contracts/token.sol":714:734 address public owner */ 939 tag_9: 940 callvalue 941 /* "--CODEGEN--":8:17 */ 942 dup1 943 /* "--CODEGEN--":5:7 */ 944 iszero 945 tag_41 946 jumpi 947 /* "--CODEGEN--":30:31 */ 948 0x0 949 /* "--CODEGEN--":27:28 */ 950 dup1 951 /* "--CODEGEN--":20:32 */ 952 revert 953 /* "--CODEGEN--":5:7 */ 954 tag_41: 955 /* "../contracts/token.sol":714:734 address public owner */ 956 pop 957 tag_42 958 jump(tag_43) 959 tag_42: 960 mload(0x40) 961 dup1 962 dup3 963 0xffffffffffffffffffffffffffffffffffffffff 964 and 965 0xffffffffffffffffffffffffffffffffffffffff 966 and 967 dup2 968 mstore 969 0x20 970 add 971 swap2 972 pop 973 pop 974 mload(0x40) 975 dup1 976 swap2 977 sub 978 swap1 979 return 980 /* "../contracts/token.sol":1227:1247 string public symbol */ 981 tag_10: 982 callvalue 983 /* "--CODEGEN--":8:17 */ 984 dup1 985 /* "--CODEGEN--":5:7 */ 986 iszero 987 tag_44 988 jumpi 989 /* "--CODEGEN--":30:31 */ 990 0x0 991 /* "--CODEGEN--":27:28 */ 992 dup1 993 /* "--CODEGEN--":20:32 */ 994 revert 995 /* "--CODEGEN--":5:7 */ 996 tag_44: 997 /* "../contracts/token.sol":1227:1247 string public symbol */ 998 pop 999 tag_45 1000 jump(tag_46) 1001 tag_45: 1002 mload(0x40) 1003 dup1 1004 dup1 1005 0x20 1006 add 1007 dup3 1008 dup2 1009 sub 1010 dup3 1011 mstore 1012 dup4 1013 dup2 1014 dup2 1015 mload 1016 dup2 1017 mstore 1018 0x20 1019 add 1020 swap2 1021 pop 1022 dup1 1023 mload 1024 swap1 1025 0x20 1026 add 1027 swap1 1028 dup1 1029 dup4 1030 dup4 1031 /* "--CODEGEN--":23:24 */ 1032 0x0 1033 /* "--CODEGEN--":8:108 */ 1034 tag_47: 1035 /* "--CODEGEN--":33:36 */ 1036 dup4 1037 /* "--CODEGEN--":30:31 */ 1038 dup2 1039 /* "--CODEGEN--":27:37 */ 1040 lt 1041 /* "--CODEGEN--":8:108 */ 1042 iszero 1043 tag_48 1044 jumpi 1045 /* "--CODEGEN--":99:100 */ 1046 dup1 1047 /* "--CODEGEN--":94:97 */ 1048 dup3 1049 /* "--CODEGEN--":90:101 */ 1050 add 1051 /* "--CODEGEN--":84:102 */ 1052 mload 1053 /* "--CODEGEN--":80:81 */ 1054 dup2 1055 /* "--CODEGEN--":75:78 */ 1056 dup5 1057 /* "--CODEGEN--":71:82 */ 1058 add 1059 /* "--CODEGEN--":64:103 */ 1060 mstore 1061 /* "--CODEGEN--":52:54 */ 1062 0x20 1063 /* "--CODEGEN--":49:50 */ 1064 dup2 1065 /* "--CODEGEN--":45:55 */ 1066 add 1067 /* "--CODEGEN--":40:55 */ 1068 swap1 1069 pop 1070 /* "--CODEGEN--":8:108 */ 1071 jump(tag_47) 1072 tag_48: 1073 /* "--CODEGEN--":12:26 */ 1074 pop 1075 /* "../contracts/token.sol":1227:1247 string public symbol */ 1076 pop 1077 pop 1078 pop 1079 swap1 1080 pop 1081 swap1 1082 dup2 1083 add 1084 swap1 1085 0x1f 1086 and 1087 dup1 1088 iszero 1089 tag_50 1090 jumpi 1091 dup1 1092 dup3 1093 sub 1094 dup1 1095 mload 1096 0x1 1097 dup4 1098 0x20 1099 sub 1100 0x100 1101 exp 1102 sub 1103 not 1104 and 1105 dup2 1106 mstore 1107 0x20 1108 add 1109 swap2 1110 pop 1111 tag_50: 1112 pop 1113 swap3 1114 pop 1115 pop 1116 pop 1117 mload(0x40) 1118 dup1 1119 swap2 1120 sub 1121 swap1 1122 return 1123 /* "../contracts/token.sol":2335:2440 function transfer(address _to, uint256 _value) public {... */ 1124 tag_11: 1125 callvalue 1126 /* "--CODEGEN--":8:17 */ 1127 dup1 1128 /* "--CODEGEN--":5:7 */ 1129 iszero 1130 tag_51 1131 jumpi 1132 /* "--CODEGEN--":30:31 */ 1133 0x0 1134 /* "--CODEGEN--":27:28 */ 1135 dup1 1136 /* "--CODEGEN--":20:32 */ 1137 revert 1138 /* "--CODEGEN--":5:7 */ 1139 tag_51: 1140 /* "../contracts/token.sol":2335:2440 function transfer(address _to, uint256 _value) public {... */ 1141 pop 1142 tag_52 1143 0x4 1144 dup1 1145 calldatasize 1146 sub 1147 dup2 1148 add 1149 swap1 1150 dup1 1151 dup1 1152 calldataload 1153 0xffffffffffffffffffffffffffffffffffffffff 1154 and 1155 swap1 1156 0x20 1157 add 1158 swap1 1159 swap3 1160 swap2 1161 swap1 1162 dup1 1163 calldataload 1164 swap1 1165 0x20 1166 add 1167 swap1 1168 swap3 1169 swap2 1170 swap1 1171 pop 1172 pop 1173 pop 1174 jump(tag_53) 1175 tag_52: 1176 stop 1177 /* "../contracts/token.sol":2976:3022 mapping (address => bool) public frozenAccount */ 1178 tag_12: 1179 callvalue 1180 /* "--CODEGEN--":8:17 */ 1181 dup1 1182 /* "--CODEGEN--":5:7 */ 1183 iszero 1184 tag_54 1185 jumpi 1186 /* "--CODEGEN--":30:31 */ 1187 0x0 1188 /* "--CODEGEN--":27:28 */ 1189 dup1 1190 /* "--CODEGEN--":20:32 */ 1191 revert 1192 /* "--CODEGEN--":5:7 */ 1193 tag_54: 1194 /* "../contracts/token.sol":2976:3022 mapping (address => bool) public frozenAccount */ 1195 pop 1196 tag_55 1197 0x4 1198 dup1 1199 calldatasize 1200 sub 1201 dup2 1202 add 1203 swap1 1204 dup1 1205 dup1 1206 calldataload 1207 0xffffffffffffffffffffffffffffffffffffffff 1208 and 1209 swap1 1210 0x20 1211 add 1212 swap1 1213 swap3 1214 swap2 1215 swap1 1216 pop 1217 pop 1218 pop 1219 jump(tag_56) 1220 tag_55: 1221 mload(0x40) 1222 dup1 1223 dup3 1224 iszero 1225 iszero 1226 iszero 1227 iszero 1228 dup2 1229 mstore 1230 0x20 1231 add 1232 swap2 1233 pop 1234 pop 1235 mload(0x40) 1236 dup1 1237 swap2 1238 sub 1239 swap1 1240 return 1241 /* "../contracts/token.sol":1369:1435 mapping (address => mapping (address => uint256)) public allowance */ 1242 tag_13: 1243 callvalue 1244 /* "--CODEGEN--":8:17 */ 1245 dup1 1246 /* "--CODEGEN--":5:7 */ 1247 iszero 1248 tag_57 1249 jumpi 1250 /* "--CODEGEN--":30:31 */ 1251 0x0 1252 /* "--CODEGEN--":27:28 */ 1253 dup1 1254 /* "--CODEGEN--":20:32 */ 1255 revert 1256 /* "--CODEGEN--":5:7 */ 1257 tag_57: 1258 /* "../contracts/token.sol":1369:1435 mapping (address => mapping (address => uint256)) public allowance */ 1259 pop 1260 tag_58 1261 0x4 1262 dup1 1263 calldatasize 1264 sub 1265 dup2 1266 add 1267 swap1 1268 dup1 1269 dup1 1270 calldataload 1271 0xffffffffffffffffffffffffffffffffffffffff 1272 and 1273 swap1 1274 0x20 1275 add 1276 swap1 1277 swap3 1278 swap2 1279 swap1 1280 dup1 1281 calldataload 1282 0xffffffffffffffffffffffffffffffffffffffff 1283 and 1284 swap1 1285 0x20 1286 add 1287 swap1 1288 swap3 1289 swap2 1290 swap1 1291 pop 1292 pop 1293 pop 1294 jump(tag_59) 1295 tag_58: 1296 mload(0x40) 1297 dup1 1298 dup3 1299 dup2 1300 mstore 1301 0x20 1302 add 1303 swap2 1304 pop 1305 pop 1306 mload(0x40) 1307 dup1 1308 swap2 1309 sub 1310 swap1 1311 return 1312 /* "../contracts/token.sol":3609:3762 function freezeAccount(address target, bool freeze) onlyOwner public {... */ 1313 tag_14: 1314 callvalue 1315 /* "--CODEGEN--":8:17 */ 1316 dup1 1317 /* "--CODEGEN--":5:7 */ 1318 iszero 1319 tag_60 1320 jumpi 1321 /* "--CODEGEN--":30:31 */ 1322 0x0 1323 /* "--CODEGEN--":27:28 */ 1324 dup1 1325 /* "--CODEGEN--":20:32 */ 1326 revert 1327 /* "--CODEGEN--":5:7 */ 1328 tag_60: 1329 /* "../contracts/token.sol":3609:3762 function freezeAccount(address target, bool freeze) onlyOwner public {... */ 1330 pop 1331 tag_61 1332 0x4 1333 dup1 1334 calldatasize 1335 sub 1336 dup2 1337 add 1338 swap1 1339 dup1 1340 dup1 1341 calldataload 1342 0xffffffffffffffffffffffffffffffffffffffff 1343 and 1344 swap1 1345 0x20 1346 add 1347 swap1 1348 swap3 1349 swap2 1350 swap1 1351 dup1 1352 calldataload 1353 iszero 1354 iszero 1355 swap1 1356 0x20 1357 add 1358 swap1 1359 swap3 1360 swap2 1361 swap1 1362 pop 1363 pop 1364 pop 1365 jump(tag_62) 1366 tag_61: 1367 stop 1368 /* "../contracts/token.sol":977:1160 function transferOwnership(address newOwner) onlyOwner public {... */ 1369 tag_15: 1370 callvalue 1371 /* "--CODEGEN--":8:17 */ 1372 dup1 1373 /* "--CODEGEN--":5:7 */ 1374 iszero 1375 tag_63 1376 jumpi 1377 /* "--CODEGEN--":30:31 */ 1378 0x0 1379 /* "--CODEGEN--":27:28 */ 1380 dup1 1381 /* "--CODEGEN--":20:32 */ 1382 revert 1383 /* "--CODEGEN--":5:7 */ 1384 tag_63: 1385 /* "../contracts/token.sol":977:1160 function transferOwnership(address newOwner) onlyOwner public {... */ 1386 pop 1387 tag_64 1388 0x4 1389 dup1 1390 calldatasize 1391 sub 1392 dup2 1393 add 1394 swap1 1395 dup1 1396 dup1 1397 calldataload 1398 0xffffffffffffffffffffffffffffffffffffffff 1399 and 1400 swap1 1401 0x20 1402 add 1403 swap1 1404 swap3 1405 swap2 1406 swap1 1407 pop 1408 pop 1409 pop 1410 jump(tag_65) 1411 tag_64: 1412 stop 1413 /* "../contracts/token.sol":1203:1221 string public name */ 1414 tag_18: 1415 0x1 1416 dup1 1417 sload 1418 0x1 1419 dup2 1420 0x1 1421 and 1422 iszero 1423 0x100 1424 mul 1425 sub 1426 and 1427 0x2 1428 swap1 1429 div 1430 dup1 1431 0x1f 1432 add 1433 0x20 1434 dup1 1435 swap2 1436 div 1437 mul 1438 0x20 1439 add 1440 mload(0x40) 1441 swap1 1442 dup2 1443 add 1444 0x40 1445 mstore 1446 dup1 1447 swap3 1448 swap2 1449 swap1 1450 dup2 1451 dup2 1452 mstore 1453 0x20 1454 add 1455 dup3 1456 dup1 1457 sload 1458 0x1 1459 dup2 1460 0x1 1461 and 1462 iszero 1463 0x100 1464 mul 1465 sub 1466 and 1467 0x2 1468 swap1 1469 div 1470 dup1 1471 iszero 1472 tag_66 1473 jumpi 1474 dup1 1475 0x1f 1476 lt 1477 tag_67 1478 jumpi 1479 0x100 1480 dup1 1481 dup4 1482 sload 1483 div 1484 mul 1485 dup4 1486 mstore 1487 swap2 1488 0x20 1489 add 1490 swap2 1491 jump(tag_66) 1492 tag_67: 1493 dup3 1494 add 1495 swap2 1496 swap1 1497 0x0 1498 mstore 1499 keccak256(0x0, 0x20) 1500 swap1 1501 tag_68: 1502 dup2 1503 sload 1504 dup2 1505 mstore 1506 swap1 1507 0x1 1508 add 1509 swap1 1510 0x20 1511 add 1512 dup1 1513 dup4 1514 gt 1515 tag_68 1516 jumpi 1517 dup3 1518 swap1 1519 sub 1520 0x1f 1521 and 1522 dup3 1523 add 1524 swap2 1525 tag_66: 1526 pop 1527 pop 1528 pop 1529 pop 1530 pop 1531 dup2 1532 jump // out 1533 /* "../contracts/token.sol":2767:2926 function approve(address _spender, uint256 _value) public returns (bool success) {... */ 1534 tag_25: 1535 /* "../contracts/token.sol":2834:2846 bool success */ 1536 0x0 1537 /* "../contracts/token.sol":2892:2898 _value */ 1538 dup2 1539 /* "../contracts/token.sol":2858:2867 allowance */ 1540 0x6 1541 /* "../contracts/token.sol":2858:2879 allowance[msg.sender] */ 1542 0x0 1543 /* "../contracts/token.sol":2868:2878 msg.sender */ 1544 caller 1545 /* "../contracts/token.sol":2858:2879 allowance[msg.sender] */ 1546 0xffffffffffffffffffffffffffffffffffffffff 1547 and 1548 0xffffffffffffffffffffffffffffffffffffffff 1549 and 1550 dup2 1551 mstore 1552 0x20 1553 add 1554 swap1 1555 dup2 1556 mstore 1557 0x20 1558 add 1559 0x0 1560 keccak256 1561 /* "../contracts/token.sol":2858:2889 allowance[msg.sender][_spender] */ 1562 0x0 1563 /* "../contracts/token.sol":2880:2888 _spender */ 1564 dup6 1565 /* "../contracts/token.sol":2858:2889 allowance[msg.sender][_spender] */ 1566 0xffffffffffffffffffffffffffffffffffffffff 1567 and 1568 0xffffffffffffffffffffffffffffffffffffffff 1569 and 1570 dup2 1571 mstore 1572 0x20 1573 add 1574 swap1 1575 dup2 1576 mstore 1577 0x20 1578 add 1579 0x0 1580 keccak256 1581 /* "../contracts/token.sol":2858:2898 allowance[msg.sender][_spender] = _value */ 1582 dup2 1583 swap1 1584 sstore 1585 pop 1586 /* "../contracts/token.sol":2915:2919 true */ 1587 0x1 1588 /* "../contracts/token.sol":2908:2919 return true */ 1589 swap1 1590 pop 1591 /* "../contracts/token.sol":2767:2926 function approve(address _spender, uint256 _value) public returns (bool success) {... */ 1592 swap3 1593 swap2 1594 pop 1595 pop 1596 jump // out 1597 /* "../contracts/token.sol":1285:1311 uint256 public totalSupply */ 1598 tag_28: 1599 sload(0x4) 1600 dup2 1601 jump // out 1602 /* "../contracts/token.sol":2446:2761 function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {... */ 1603 tag_31: 1604 /* "../contracts/token.sol":2528:2540 bool success */ 1605 0x0 1606 /* "../contracts/token.sol":2570:2579 allowance */ 1607 0x6 1608 /* "../contracts/token.sol":2570:2586 allowance[_from] */ 1609 0x0 1610 /* "../contracts/token.sol":2580:2585 _from */ 1611 dup6 1612 /* "../contracts/token.sol":2570:2586 allowance[_from] */ 1613 0xffffffffffffffffffffffffffffffffffffffff 1614 and 1615 0xffffffffffffffffffffffffffffffffffffffff 1616 and 1617 dup2 1618 mstore 1619 0x20 1620 add 1621 swap1 1622 dup2 1623 mstore 1624 0x20 1625 add 1626 0x0 1627 keccak256 1628 /* "../contracts/token.sol":2570:2598 allowance[_from][msg.sender] */ 1629 0x0 1630 /* "../contracts/token.sol":2587:2597 msg.sender */ 1631 caller 1632 /* "../contracts/token.sol":2570:2598 allowance[_from][msg.sender] */ 1633 0xffffffffffffffffffffffffffffffffffffffff 1634 and 1635 0xffffffffffffffffffffffffffffffffffffffff 1636 and 1637 dup2 1638 mstore 1639 0x20 1640 add 1641 swap1 1642 dup2 1643 mstore 1644 0x20 1645 add 1646 0x0 1647 keccak256 1648 sload 1649 /* "../contracts/token.sol":2560:2566 _value */ 1650 dup3 1651 /* "../contracts/token.sol":2560:2598 _value <= allowance[_from][msg.sender] */ 1652 gt 1653 iszero 1654 /* "../contracts/token.sol":2552:2599 require(_value <= allowance[_from][msg.sender]) */ 1655 iszero 1656 iszero 1657 tag_71 1658 jumpi 1659 0x0 1660 dup1 1661 revert 1662 tag_71: 1663 /* "../contracts/token.sol":2640:2694 SafeMath.safeSub(allowance[_from][msg.sender], _value) */ 1664 tag_72 1665 /* "../contracts/token.sol":2657:2666 allowance */ 1666 0x6 1667 /* "../contracts/token.sol":2657:2673 allowance[_from] */ 1668 0x0 1669 /* "../contracts/token.sol":2667:2672 _from */ 1670 dup7 1671 /* "../contracts/token.sol":2657:2673 allowance[_from] */ 1672 0xffffffffffffffffffffffffffffffffffffffff 1673 and 1674 0xffffffffffffffffffffffffffffffffffffffff 1675 and 1676 dup2 1677 mstore 1678 0x20 1679 add 1680 swap1 1681 dup2 1682 mstore 1683 0x20 1684 add 1685 0x0 1686 keccak256 1687 /* "../contracts/token.sol":2657:2685 allowance[_from][msg.sender] */ 1688 0x0 1689 /* "../contracts/token.sol":2674:2684 msg.sender */ 1690 caller 1691 /* "../contracts/token.sol":2657:2685 allowance[_from][msg.sender] */ 1692 0xffffffffffffffffffffffffffffffffffffffff 1693 and 1694 0xffffffffffffffffffffffffffffffffffffffff 1695 and 1696 dup2 1697 mstore 1698 0x20 1699 add 1700 swap1 1701 dup2 1702 mstore 1703 0x20 1704 add 1705 0x0 1706 keccak256 1707 sload 1708 /* "../contracts/token.sol":2687:2693 _value */ 1709 dup4 1710 /* "../contracts/token.sol":2640:2656 SafeMath.safeSub */ 1711 tag_73 1712 /* "../contracts/token.sol":2640:2694 SafeMath.safeSub(allowance[_from][msg.sender], _value) */ 1713 jump // in 1714 tag_72: 1715 /* "../contracts/token.sol":2609:2618 allowance */ 1716 0x6 1717 /* "../contracts/token.sol":2609:2625 allowance[_from] */ 1718 0x0 1719 /* "../contracts/token.sol":2619:2624 _from */ 1720 dup7 1721 /* "../contracts/token.sol":2609:2625 allowance[_from] */ 1722 0xffffffffffffffffffffffffffffffffffffffff 1723 and 1724 0xffffffffffffffffffffffffffffffffffffffff 1725 and 1726 dup2 1727 mstore 1728 0x20 1729 add 1730 swap1 1731 dup2 1732 mstore 1733 0x20 1734 add 1735 0x0 1736 keccak256 1737 /* "../contracts/token.sol":2609:2637 allowance[_from][msg.sender] */ 1738 0x0 1739 /* "../contracts/token.sol":2626:2636 msg.sender */ 1740 caller 1741 /* "../contracts/token.sol":2609:2637 allowance[_from][msg.sender] */ 1742 0xffffffffffffffffffffffffffffffffffffffff 1743 and 1744 0xffffffffffffffffffffffffffffffffffffffff 1745 and 1746 dup2 1747 mstore 1748 0x20 1749 add 1750 swap1 1751 dup2 1752 mstore 1753 0x20 1754 add 1755 0x0 1756 keccak256 1757 /* "../contracts/token.sol":2609:2694 allowance[_from][msg.sender] = SafeMath.safeSub(allowance[_from][msg.sender], _value) */ 1758 dup2 1759 swap1 1760 sstore 1761 pop 1762 /* "../contracts/token.sol":2704:2733 _transfer(_from, _to, _value) */ 1763 tag_74 1764 /* "../contracts/token.sol":2714:2719 _from */ 1765 dup5 1766 /* "../contracts/token.sol":2721:2724 _to */ 1767 dup5 1768 /* "../contracts/token.sol":2726:2732 _value */ 1769 dup5 1770 /* "../contracts/token.sol":2704:2713 _transfer */ 1771 tag_75 1772 /* "../contracts/token.sol":2704:2733 _transfer(_from, _to, _value) */ 1773 jump // in 1774 tag_74: 1775 /* "../contracts/token.sol":2750:2754 true */ 1776 0x1 1777 /* "../contracts/token.sol":2743:2754 return true */ 1778 swap1 1779 pop 1780 /* "../contracts/token.sol":2446:2761 function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {... */ 1781 swap4 1782 swap3 1783 pop 1784 pop 1785 pop 1786 jump // out 1787 /* "../contracts/token.sol":1253:1279 uint8 public decimals = 18 */ 1788 tag_34: 1789 0x3 1790 0x0 1791 swap1 1792 sload 1793 swap1 1794 0x100 1795 exp 1796 swap1 1797 div 1798 0xff 1799 and 1800 dup2 1801 jump // out 1802 /* "../contracts/token.sol":3279:3603 function burn(uint256 _value) onlyOwner public returns (bool success) {... */ 1803 tag_37: 1804 /* "../contracts/token.sol":3335:3347 bool success */ 1805 0x0 1806 /* "../contracts/token.sol":947:952 owner */ 1807 dup1 1808 0x0 1809 swap1 1810 sload 1811 swap1 1812 0x100 1813 exp 1814 swap1 1815 div 1816 0xffffffffffffffffffffffffffffffffffffffff 1817 and 1818 /* "../contracts/token.sol":933:952 msg.sender == owner */ 1819 0xffffffffffffffffffffffffffffffffffffffff 1820 and 1821 /* "../contracts/token.sol":933:943 msg.sender */ 1822 caller 1823 /* "../contracts/token.sol":933:952 msg.sender == owner */ 1824 0xffffffffffffffffffffffffffffffffffffffff 1825 and 1826 eq 1827 /* "../contracts/token.sol":925:953 require(msg.sender == owner) */ 1828 iszero 1829 iszero 1830 tag_77 1831 jumpi 1832 0x0 1833 dup1 1834 revert 1835 tag_77: 1836 /* "../contracts/token.sol":3392:3398 _value */ 1837 dup2 1838 /* "../contracts/token.sol":3367:3376 balanceOf */ 1839 0x5 1840 /* "../contracts/token.sol":3367:3388 balanceOf[msg.sender] */ 1841 0x0 1842 /* "../contracts/token.sol":3377:3387 msg.sender */ 1843 caller 1844 /* "../contracts/token.sol":3367:3388 balanceOf[msg.sender] */ 1845 0xffffffffffffffffffffffffffffffffffffffff 1846 and 1847 0xffffffffffffffffffffffffffffffffffffffff 1848 and 1849 dup2 1850 mstore 1851 0x20 1852 add 1853 swap1 1854 dup2 1855 mstore 1856 0x20 1857 add 1858 0x0 1859 keccak256 1860 sload 1861 /* "../contracts/token.sol":3367:3398 balanceOf[msg.sender] >= _value */ 1862 lt 1863 iszero 1864 /* "../contracts/token.sol":3359:3399 require(balanceOf[msg.sender] >= _value) */ 1865 iszero 1866 iszero 1867 tag_79 1868 jumpi 1869 0x0 1870 dup1 1871 revert 1872 tag_79: 1873 /* "../contracts/token.sol":3433:3480 SafeMath.safeSub(balanceOf[msg.sender], _value) */ 1874 tag_80 1875 /* "../contracts/token.sol":3450:3459 balanceOf */ 1876 0x5 1877 /* "../contracts/token.sol":3450:3471 balanceOf[msg.sender] */ 1878 0x0 1879 /* "../contracts/token.sol":3460:3470 msg.sender */ 1880 caller 1881 /* "../contracts/token.sol":3450:3471 balanceOf[msg.sender] */ 1882 0xffffffffffffffffffffffffffffffffffffffff 1883 and 1884 0xffffffffffffffffffffffffffffffffffffffff 1885 and 1886 dup2 1887 mstore 1888 0x20 1889 add 1890 swap1 1891 dup2 1892 mstore 1893 0x20 1894 add 1895 0x0 1896 keccak256 1897 sload 1898 /* "../contracts/token.sol":3473:3479 _value */ 1899 dup4 1900 /* "../contracts/token.sol":3433:3449 SafeMath.safeSub */ 1901 tag_73 1902 /* "../contracts/token.sol":3433:3480 SafeMath.safeSub(balanceOf[msg.sender], _value) */ 1903 jump // in 1904 tag_80: 1905 /* "../contracts/token.sol":3409:3418 balanceOf */ 1906 0x5 1907 /* "../contracts/token.sol":3409:3430 balanceOf[msg.sender] */ 1908 0x0 1909 /* "../contracts/token.sol":3419:3429 msg.sender */ 1910 caller 1911 /* "../contracts/token.sol":3409:3430 balanceOf[msg.sender] */ 1912 0xffffffffffffffffffffffffffffffffffffffff 1913 and 1914 0xffffffffffffffffffffffffffffffffffffffff 1915 and 1916 dup2 1917 mstore 1918 0x20 1919 add 1920 swap1 1921 dup2 1922 mstore 1923 0x20 1924 add 1925 0x0 1926 keccak256 1927 /* "../contracts/token.sol":3409:3480 balanceOf[msg.sender] = SafeMath.safeSub(balanceOf[msg.sender], _value) */ 1928 dup2 1929 swap1 1930 sstore 1931 pop 1932 /* "../contracts/token.sol":3504:3541 SafeMath.safeSub(totalSupply, _value) */ 1933 tag_81 1934 /* "../contracts/token.sol":3521:3532 totalSupply */ 1935 sload(0x4) 1936 /* "../contracts/token.sol":3534:3540 _value */ 1937 dup4 1938 /* "../contracts/token.sol":3504:3520 SafeMath.safeSub */ 1939 tag_73 1940 /* "../contracts/token.sol":3504:3541 SafeMath.safeSub(totalSupply, _value) */ 1941 jump // in 1942 tag_81: 1943 /* "../contracts/token.sol":3490:3501 totalSupply */ 1944 0x4 1945 /* "../contracts/token.sol":3490:3541 totalSupply = SafeMath.safeSub(totalSupply, _value) */ 1946 dup2 1947 swap1 1948 sstore 1949 pop 1950 /* "../contracts/token.sol":3556:3566 msg.sender */ 1951 caller 1952 /* "../contracts/token.sol":3551:3575 Burn(msg.sender, _value) */ 1953 0xffffffffffffffffffffffffffffffffffffffff 1954 and 1955 0xcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5 1956 /* "../contracts/token.sol":3568:3574 _value */ 1957 dup4 1958 /* "../contracts/token.sol":3551:3575 Burn(msg.sender, _value) */ 1959 mload(0x40) 1960 dup1 1961 dup3 1962 dup2 1963 mstore 1964 0x20 1965 add 1966 swap2 1967 pop 1968 pop 1969 mload(0x40) 1970 dup1 1971 swap2 1972 sub 1973 swap1 1974 log2 1975 /* "../contracts/token.sol":3592:3596 true */ 1976 0x1 1977 /* "../contracts/token.sol":3585:3596 return true */ 1978 swap1 1979 pop 1980 /* "../contracts/token.sol":3279:3603 function burn(uint256 _value) onlyOwner public returns (bool success) {... */ 1981 swap2 1982 swap1 1983 pop 1984 jump // out 1985 /* "../contracts/token.sol":1318:1363 mapping (address => uint256) public balanceOf */ 1986 tag_40: 1987 mstore(0x20, 0x5) 1988 dup1 1989 0x0 1990 mstore 1991 keccak256(0x0, 0x40) 1992 0x0 1993 swap2 1994 pop 1995 swap1 1996 pop 1997 sload 1998 dup2 1999 jump // out 2000 /* "../contracts/token.sol":714:734 address public owner */ 2001 tag_43: 2002 0x0 2003 dup1 2004 swap1 2005 sload 2006 swap1 2007 0x100 2008 exp 2009 swap1 2010 div 2011 0xffffffffffffffffffffffffffffffffffffffff 2012 and 2013 dup2 2014 jump // out 2015 /* "../contracts/token.sol":1227:1247 string public symbol */ 2016 tag_46: 2017 0x2 2018 dup1 2019 sload 2020 0x1 2021 dup2 2022 0x1 2023 and 2024 iszero 2025 0x100 2026 mul 2027 sub 2028 and 2029 0x2 2030 swap1 2031 div 2032 dup1 2033 0x1f 2034 add 2035 0x20 2036 dup1 2037 swap2 2038 div 2039 mul 2040 0x20 2041 add 2042 mload(0x40) 2043 swap1 2044 dup2 2045 add 2046 0x40 2047 mstore 2048 dup1 2049 swap3 2050 swap2 2051 swap1 2052 dup2 2053 dup2 2054 mstore 2055 0x20 2056 add 2057 dup3 2058 dup1 2059 sload 2060 0x1 2061 dup2 2062 0x1 2063 and 2064 iszero 2065 0x100 2066 mul 2067 sub 2068 and 2069 0x2 2070 swap1 2071 div 2072 dup1 2073 iszero 2074 tag_82 2075 jumpi 2076 dup1 2077 0x1f 2078 lt 2079 tag_83 2080 jumpi 2081 0x100 2082 dup1 2083 dup4 2084 sload 2085 div 2086 mul 2087 dup4 2088 mstore 2089 swap2 2090 0x20 2091 add 2092 swap2 2093 jump(tag_82) 2094 tag_83: 2095 dup3 2096 add 2097 swap2 2098 swap1 2099 0x0 2100 mstore 2101 keccak256(0x0, 0x20) 2102 swap1 2103 tag_84: 2104 dup2 2105 sload 2106 dup2 2107 mstore 2108 swap1 2109 0x1 2110 add 2111 swap1 2112 0x20 2113 add 2114 dup1 2115 dup4 2116 gt 2117 tag_84 2118 jumpi 2119 dup3 2120 swap1 2121 sub 2122 0x1f 2123 and 2124 dup3 2125 add 2126 swap2 2127 tag_82: 2128 pop 2129 pop 2130 pop 2131 pop 2132 pop 2133 dup2 2134 jump // out 2135 /* "../contracts/token.sol":2335:2440 function transfer(address _to, uint256 _value) public {... */ 2136 tag_53: 2137 /* "../contracts/token.sol":2399:2433 _transfer(msg.sender, _to, _value) */ 2138 tag_86 2139 /* "../contracts/token.sol":2409:2419 msg.sender */ 2140 caller 2141 /* "../contracts/token.sol":2421:2424 _to */ 2142 dup4 2143 /* "../contracts/token.sol":2426:2432 _value */ 2144 dup4 2145 /* "../contracts/token.sol":2399:2408 _transfer */ 2146 tag_75 2147 /* "../contracts/token.sol":2399:2433 _transfer(msg.sender, _to, _value) */ 2148 jump // in 2149 tag_86: 2150 /* "../contracts/token.sol":2335:2440 function transfer(address _to, uint256 _value) public {... */ 2151 pop 2152 pop 2153 jump // out 2154 /* "../contracts/token.sol":2976:3022 mapping (address => bool) public frozenAccount */ 2155 tag_56: 2156 mstore(0x20, 0x7) 2157 dup1 2158 0x0 2159 mstore 2160 keccak256(0x0, 0x40) 2161 0x0 2162 swap2 2163 pop 2164 sload 2165 swap1 2166 0x100 2167 exp 2168 swap1 2169 div 2170 0xff 2171 and 2172 dup2 2173 jump // out 2174 /* "../contracts/token.sol":1369:1435 mapping (address => mapping (address => uint256)) public allowance */ 2175 tag_59: 2176 mstore(0x20, 0x6) 2177 dup2 2178 0x0 2179 mstore 2180 mstore(0x20, keccak256(0x0, 0x40)) 2181 dup1 2182 0x0 2183 mstore 2184 keccak256(0x0, 0x40) 2185 0x0 2186 swap2 2187 pop 2188 swap2 2189 pop 2190 pop 2191 sload 2192 dup2 2193 jump // out 2194 /* "../contracts/token.sol":3609:3762 function freezeAccount(address target, bool freeze) onlyOwner public {... */ 2195 tag_62: 2196 /* "../contracts/token.sol":947:952 owner */ 2197 0x0 2198 dup1 2199 swap1 2200 sload 2201 swap1 2202 0x100 2203 exp 2204 swap1 2205 div 2206 0xffffffffffffffffffffffffffffffffffffffff 2207 and 2208 /* "../contracts/token.sol":933:952 msg.sender == owner */ 2209 0xffffffffffffffffffffffffffffffffffffffff 2210 and 2211 /* "../contracts/token.sol":933:943 msg.sender */ 2212 caller 2213 /* "../contracts/token.sol":933:952 msg.sender == owner */ 2214 0xffffffffffffffffffffffffffffffffffffffff 2215 and 2216 eq 2217 /* "../contracts/token.sol":925:953 require(msg.sender == owner) */ 2218 iszero 2219 iszero 2220 tag_88 2221 jumpi 2222 0x0 2223 dup1 2224 revert 2225 tag_88: 2226 /* "../contracts/token.sol":3712:3718 freeze */ 2227 dup1 2228 /* "../contracts/token.sol":3688:3701 frozenAccount */ 2229 0x7 2230 /* "../contracts/token.sol":3688:3709 frozenAccount[target] */ 2231 0x0 2232 /* "../contracts/token.sol":3702:3708 target */ 2233 dup5 2234 /* "../contracts/token.sol":3688:3709 frozenAccount[target] */ 2235 0xffffffffffffffffffffffffffffffffffffffff 2236 and 2237 0xffffffffffffffffffffffffffffffffffffffff 2238 and 2239 dup2 2240 mstore 2241 0x20 2242 add 2243 swap1 2244 dup2 2245 mstore 2246 0x20 2247 add 2248 0x0 2249 keccak256 2250 0x0 2251 /* "../contracts/token.sol":3688:3718 frozenAccount[target] = freeze */ 2252 0x100 2253 exp 2254 dup2 2255 sload 2256 dup2 2257 0xff 2258 mul 2259 not 2260 and 2261 swap1 2262 dup4 2263 iszero 2264 iszero 2265 mul 2266 or 2267 swap1 2268 sstore 2269 pop 2270 /* "../contracts/token.sol":3728:3755 FrozenFunds(target, freeze) */ 2271 0x48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a5 2272 /* "../contracts/token.sol":3740:3746 target */ 2273 dup3 2274 /* "../contracts/token.sol":3748:3754 freeze */ 2275 dup3 2276 /* "../contracts/token.sol":3728:3755 FrozenFunds(target, freeze) */ 2277 mload(0x40) 2278 dup1 2279 dup4 2280 0xffffffffffffffffffffffffffffffffffffffff 2281 and 2282 0xffffffffffffffffffffffffffffffffffffffff 2283 and 2284 dup2 2285 mstore 2286 0x20 2287 add 2288 dup3 2289 iszero 2290 iszero 2291 iszero 2292 iszero 2293 dup2 2294 mstore 2295 0x20 2296 add 2297 swap3 2298 pop 2299 pop 2300 pop 2301 mload(0x40) 2302 dup1 2303 swap2 2304 sub 2305 swap1 2306 log1 2307 /* "../contracts/token.sol":3609:3762 function freezeAccount(address target, bool freeze) onlyOwner public {... */ 2308 pop 2309 pop 2310 jump // out 2311 /* "../contracts/token.sol":977:1160 function transferOwnership(address newOwner) onlyOwner public {... */ 2312 tag_65: 2313 /* "../contracts/token.sol":947:952 owner */ 2314 0x0 2315 dup1 2316 swap1 2317 sload 2318 swap1 2319 0x100 2320 exp 2321 swap1 2322 div 2323 0xffffffffffffffffffffffffffffffffffffffff 2324 and 2325 /* "../contracts/token.sol":933:952 msg.sender == owner */ 2326 0xffffffffffffffffffffffffffffffffffffffff 2327 and 2328 /* "../contracts/token.sol":933:943 msg.sender */ 2329 caller 2330 /* "../contracts/token.sol":933:952 msg.sender == owner */ 2331 0xffffffffffffffffffffffffffffffffffffffff 2332 and 2333 eq 2334 /* "../contracts/token.sol":925:953 require(msg.sender == owner) */ 2335 iszero 2336 iszero 2337 tag_91 2338 jumpi 2339 0x0 2340 dup1 2341 revert 2342 tag_91: 2343 /* "../contracts/token.sol":1077:1078 0 */ 2344 0x0 2345 /* "../contracts/token.sol":1057:1079 newOwner != address(0) */ 2346 0xffffffffffffffffffffffffffffffffffffffff 2347 and 2348 /* "../contracts/token.sol":1057:1065 newOwner */ 2349 dup2 2350 /* "../contracts/token.sol":1057:1079 newOwner != address(0) */ 2351 0xffffffffffffffffffffffffffffffffffffffff 2352 and 2353 eq 2354 iszero 2355 /* "../contracts/token.sol":1049:1080 require(newOwner != address(0)) */ 2356 iszero 2357 iszero 2358 tag_93 2359 jumpi 2360 0x0 2361 dup1 2362 revert 2363 tag_93: 2364 /* "../contracts/token.sol":1118:1126 newOwner */ 2365 dup1 2366 /* "../contracts/token.sol":1090:1127 OwnershipTransferred(owner, newOwner) */ 2367 0xffffffffffffffffffffffffffffffffffffffff 2368 and 2369 /* "../contracts/token.sol":1111:1116 owner */ 2370 0x0 2371 dup1 2372 swap1 2373 sload 2374 swap1 2375 0x100 2376 exp 2377 swap1 2378 div 2379 0xffffffffffffffffffffffffffffffffffffffff 2380 and 2381 /* "../contracts/token.sol":1090:1127 OwnershipTransferred(owner, newOwner) */ 2382 0xffffffffffffffffffffffffffffffffffffffff 2383 and 2384 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 2385 mload(0x40) 2386 mload(0x40) 2387 dup1 2388 swap2 2389 sub 2390 swap1 2391 log3 2392 /* "../contracts/token.sol":1145:1153 newOwner */ 2393 dup1 2394 /* "../contracts/token.sol":1137:1142 owner */ 2395 0x0 2396 dup1 2397 /* "../contracts/token.sol":1137:1153 owner = newOwner */ 2398 0x100 2399 exp 2400 dup2 2401 sload 2402 dup2 2403 0xffffffffffffffffffffffffffffffffffffffff 2404 mul 2405 not 2406 and 2407 swap1 2408 dup4 2409 0xffffffffffffffffffffffffffffffffffffffff 2410 and 2411 mul 2412 or 2413 swap1 2414 sstore 2415 pop 2416 /* "../contracts/token.sol":977:1160 function transferOwnership(address newOwner) onlyOwner public {... */ 2417 pop 2418 jump // out 2419 /* "../contracts/token.sol":406:530 function safeSub(uint256 a, uint256 b) internal pure returns (uint256) {... */ 2420 tag_73: 2421 /* "../contracts/token.sol":468:475 uint256 */ 2422 0x0 2423 /* "../contracts/token.sol":499:500 a */ 2424 dup3 2425 /* "../contracts/token.sol":494:495 b */ 2426 dup3 2427 /* "../contracts/token.sol":494:500 b <= a */ 2428 gt 2429 iszero 2430 /* "../contracts/token.sol":487:501 assert(b <= a) */ 2431 iszero 2432 iszero 2433 tag_95 2434 jumpi 2435 invalid 2436 tag_95: 2437 /* "../contracts/token.sol":522:523 b */ 2438 dup2 2439 /* "../contracts/token.sol":518:519 a */ 2440 dup4 2441 /* "../contracts/token.sol":518:523 a - b */ 2442 sub 2443 /* "../contracts/token.sol":511:523 return a - b */ 2444 swap1 2445 pop 2446 /* "../contracts/token.sol":406:530 function safeSub(uint256 a, uint256 b) internal pure returns (uint256) {... */ 2447 swap3 2448 swap2 2449 pop 2450 pop 2451 jump // out 2452 /* "../contracts/token.sol":1785:2329 function _transfer(address _from, address _to, uint256 _value) private {... */ 2453 tag_75: 2454 /* "../contracts/token.sol":1999:2023 uint256 previousBalances */ 2455 0x0 2456 /* "../contracts/token.sol":1881:1884 0x0 */ 2457 dup1 2458 /* "../contracts/token.sol":1874:1877 _to */ 2459 dup4 2460 /* "../contracts/token.sol":1874:1884 _to != 0x0 */ 2461 0xffffffffffffffffffffffffffffffffffffffff 2462 and 2463 eq 2464 iszero 2465 /* "../contracts/token.sol":1866:1885 require(_to != 0x0) */ 2466 iszero 2467 iszero 2468 tag_97 2469 jumpi 2470 0x0 2471 dup1 2472 revert 2473 tag_97: 2474 /* "../contracts/token.sol":1923:1929 _value */ 2475 dup2 2476 /* "../contracts/token.sol":1903:1912 balanceOf */ 2477 0x5 2478 /* "../contracts/token.sol":1903:1919 balanceOf[_from] */ 2479 0x0 2480 /* "../contracts/token.sol":1913:1918 _from */ 2481 dup7 2482 /* "../contracts/token.sol":1903:1919 balanceOf[_from] */ 2483 0xffffffffffffffffffffffffffffffffffffffff 2484 and 2485 0xffffffffffffffffffffffffffffffffffffffff 2486 and 2487 dup2 2488 mstore 2489 0x20 2490 add 2491 swap1 2492 dup2 2493 mstore 2494 0x20 2495 add 2496 0x0 2497 keccak256 2498 sload 2499 /* "../contracts/token.sol":1903:1929 balanceOf[_from] >= _value */ 2500 lt 2501 iszero 2502 /* "../contracts/token.sol":1895:1930 require(balanceOf[_from] >= _value) */ 2503 iszero 2504 iszero 2505 tag_98 2506 jumpi 2507 0x0 2508 dup1 2509 revert 2510 tag_98: 2511 /* "../contracts/token.sol":1974:1983 balanceOf */ 2512 0x5 2513 /* "../contracts/token.sol":1974:1988 balanceOf[_to] */ 2514 0x0 2515 /* "../contracts/token.sol":1984:1987 _to */ 2516 dup5 2517 /* "../contracts/token.sol":1974:1988 balanceOf[_to] */ 2518 0xffffffffffffffffffffffffffffffffffffffff 2519 and 2520 0xffffffffffffffffffffffffffffffffffffffff 2521 and 2522 dup2 2523 mstore 2524 0x20 2525 add 2526 swap1 2527 dup2 2528 mstore 2529 0x20 2530 add 2531 0x0 2532 keccak256 2533 sload 2534 /* "../contracts/token.sol":1965:1971 _value */ 2535 dup3 2536 /* "../contracts/token.sol":1948:1957 balanceOf */ 2537 0x5 2538 /* "../contracts/token.sol":1948:1962 balanceOf[_to] */ 2539 0x0 2540 /* "../contracts/token.sol":1958:1961 _to */ 2541 dup7 2542 /* "../contracts/token.sol":1948:1962 balanceOf[_to] */ 2543 0xffffffffffffffffffffffffffffffffffffffff 2544 and 2545 0xffffffffffffffffffffffffffffffffffffffff 2546 and 2547 dup2 2548 mstore 2549 0x20 2550 add 2551 swap1 2552 dup2 2553 mstore 2554 0x20 2555 add 2556 0x0 2557 keccak256 2558 sload 2559 /* "../contracts/token.sol":1948:1971 balanceOf[_to] + _value */ 2560 add 2561 /* "../contracts/token.sol":1948:1988 balanceOf[_to] + _value > balanceOf[_to] */ 2562 gt 2563 /* "../contracts/token.sol":1940:1989 require(balanceOf[_to] + _value > balanceOf[_to]) */ 2564 iszero 2565 iszero 2566 tag_99 2567 jumpi 2568 0x0 2569 dup1 2570 revert 2571 tag_99: 2572 /* "../contracts/token.sol":2026:2075 SafeMath.safeAdd(balanceOf[_from],balanceOf[_to]) */ 2573 tag_100 2574 /* "../contracts/token.sol":2043:2052 balanceOf */ 2575 0x5 2576 /* "../contracts/token.sol":2043:2059 balanceOf[_from] */ 2577 0x0 2578 /* "../contracts/token.sol":2053:2058 _from */ 2579 dup7 2580 /* "../contracts/token.sol":2043:2059 balanceOf[_from] */ 2581 0xffffffffffffffffffffffffffffffffffffffff 2582 and 2583 0xffffffffffffffffffffffffffffffffffffffff 2584 and 2585 dup2 2586 mstore 2587 0x20 2588 add 2589 swap1 2590 dup2 2591 mstore 2592 0x20 2593 add 2594 0x0 2595 keccak256 2596 sload 2597 /* "../contracts/token.sol":2060:2069 balanceOf */ 2598 0x5 2599 /* "../contracts/token.sol":2060:2074 balanceOf[_to] */ 2600 0x0 2601 /* "../contracts/token.sol":2070:2073 _to */ 2602 dup7 2603 /* "../contracts/token.sol":2060:2074 balanceOf[_to] */ 2604 0xffffffffffffffffffffffffffffffffffffffff 2605 and 2606 0xffffffffffffffffffffffffffffffffffffffff 2607 and 2608 dup2 2609 mstore 2610 0x20 2611 add 2612 swap1 2613 dup2 2614 mstore 2615 0x20 2616 add 2617 0x0 2618 keccak256 2619 sload 2620 /* "../contracts/token.sol":2026:2042 SafeMath.safeAdd */ 2621 tag_101 2622 /* "../contracts/token.sol":2026:2075 SafeMath.safeAdd(balanceOf[_from],balanceOf[_to]) */ 2623 jump // in 2624 tag_100: 2625 /* "../contracts/token.sol":1999:2075 uint256 previousBalances = SafeMath.safeAdd(balanceOf[_from],balanceOf[_to]) */ 2626 swap1 2627 pop 2628 /* "../contracts/token.sol":2104:2146 SafeMath.safeSub(balanceOf[_from], _value) */ 2629 tag_102 2630 /* "../contracts/token.sol":2121:2130 balanceOf */ 2631 0x5 2632 /* "../contracts/token.sol":2121:2137 balanceOf[_from] */ 2633 0x0 2634 /* "../contracts/token.sol":2131:2136 _from */ 2635 dup7 2636 /* "../contracts/token.sol":2121:2137 balanceOf[_from] */ 2637 0xffffffffffffffffffffffffffffffffffffffff 2638 and 2639 0xffffffffffffffffffffffffffffffffffffffff 2640 and 2641 dup2 2642 mstore 2643 0x20 2644 add 2645 swap1 2646 dup2 2647 mstore 2648 0x20 2649 add 2650 0x0 2651 keccak256 2652 sload 2653 /* "../contracts/token.sol":2139:2145 _value */ 2654 dup4 2655 /* "../contracts/token.sol":2104:2120 SafeMath.safeSub */ 2656 tag_73 2657 /* "../contracts/token.sol":2104:2146 SafeMath.safeSub(balanceOf[_from], _value) */ 2658 jump // in 2659 tag_102: 2660 /* "../contracts/token.sol":2085:2094 balanceOf */ 2661 0x5 2662 /* "../contracts/token.sol":2085:2101 balanceOf[_from] */ 2663 0x0 2664 /* "../contracts/token.sol":2095:2100 _from */ 2665 dup7 2666 /* "../contracts/token.sol":2085:2101 balanceOf[_from] */ 2667 0xffffffffffffffffffffffffffffffffffffffff 2668 and 2669 0xffffffffffffffffffffffffffffffffffffffff 2670 and 2671 dup2 2672 mstore 2673 0x20 2674 add 2675 swap1 2676 dup2 2677 mstore 2678 0x20 2679 add 2680 0x0 2681 keccak256 2682 /* "../contracts/token.sol":2085:2146 balanceOf[_from] = SafeMath.safeSub(balanceOf[_from], _value) */ 2683 dup2 2684 swap1 2685 sstore 2686 pop 2687 /* "../contracts/token.sol":2173:2213 SafeMath.safeAdd(balanceOf[_to], _value) */ 2688 tag_103 2689 /* "../contracts/token.sol":2190:2199 balanceOf */ 2690 0x5 2691 /* "../contracts/token.sol":2190:2204 balanceOf[_to] */ 2692 0x0 2693 /* "../contracts/token.sol":2200:2203 _to */ 2694 dup6 2695 /* "../contracts/token.sol":2190:2204 balanceOf[_to] */ 2696 0xffffffffffffffffffffffffffffffffffffffff 2697 and 2698 0xffffffffffffffffffffffffffffffffffffffff 2699 and 2700 dup2 2701 mstore 2702 0x20 2703 add 2704 swap1 2705 dup2 2706 mstore 2707 0x20 2708 add 2709 0x0 2710 keccak256 2711 sload 2712 /* "../contracts/token.sol":2206:2212 _value */ 2713 dup4 2714 /* "../contracts/token.sol":2173:2189 SafeMath.safeAdd */ 2715 tag_101 2716 /* "../contracts/token.sol":2173:2213 SafeMath.safeAdd(balanceOf[_to], _value) */ 2717 jump // in 2718 tag_103: 2719 /* "../contracts/token.sol":2156:2165 balanceOf */ 2720 0x5 2721 /* "../contracts/token.sol":2156:2170 balanceOf[_to] */ 2722 0x0 2723 /* "../contracts/token.sol":2166:2169 _to */ 2724 dup6 2725 /* "../contracts/token.sol":2156:2170 balanceOf[_to] */ 2726 0xffffffffffffffffffffffffffffffffffffffff 2727 and 2728 0xffffffffffffffffffffffffffffffffffffffff 2729 and 2730 dup2 2731 mstore 2732 0x20 2733 add 2734 swap1 2735 dup2 2736 mstore 2737 0x20 2738 add 2739 0x0 2740 keccak256 2741 /* "../contracts/token.sol":2156:2213 balanceOf[_to] = SafeMath.safeAdd(balanceOf[_to], _value) */ 2742 dup2 2743 swap1 2744 sstore 2745 pop 2746 /* "../contracts/token.sol":2239:2242 _to */ 2747 dup3 2748 /* "../contracts/token.sol":2223:2251 Transfer(_from, _to, _value) */ 2749 0xffffffffffffffffffffffffffffffffffffffff 2750 and 2751 /* "../contracts/token.sol":2232:2237 _from */ 2752 dup5 2753 /* "../contracts/token.sol":2223:2251 Transfer(_from, _to, _value) */ 2754 0xffffffffffffffffffffffffffffffffffffffff 2755 and 2756 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 2757 /* "../contracts/token.sol":2244:2250 _value */ 2758 dup5 2759 /* "../contracts/token.sol":2223:2251 Transfer(_from, _to, _value) */ 2760 mload(0x40) 2761 dup1 2762 dup3 2763 dup2 2764 mstore 2765 0x20 2766 add 2767 swap2 2768 pop 2769 pop 2770 mload(0x40) 2771 dup1 2772 swap2 2773 sub 2774 swap1 2775 log3 2776 /* "../contracts/token.sol":2305:2321 previousBalances */ 2777 dup1 2778 /* "../contracts/token.sol":2287:2296 balanceOf */ 2779 0x5 2780 /* "../contracts/token.sol":2287:2301 balanceOf[_to] */ 2781 0x0 2782 /* "../contracts/token.sol":2297:2300 _to */ 2783 dup6 2784 /* "../contracts/token.sol":2287:2301 balanceOf[_to] */ 2785 0xffffffffffffffffffffffffffffffffffffffff 2786 and 2787 0xffffffffffffffffffffffffffffffffffffffff 2788 and 2789 dup2 2790 mstore 2791 0x20 2792 add 2793 swap1 2794 dup2 2795 mstore 2796 0x20 2797 add 2798 0x0 2799 keccak256 2800 sload 2801 /* "../contracts/token.sol":2268:2277 balanceOf */ 2802 0x5 2803 /* "../contracts/token.sol":2268:2284 balanceOf[_from] */ 2804 0x0 2805 /* "../contracts/token.sol":2278:2283 _from */ 2806 dup8 2807 /* "../contracts/token.sol":2268:2284 balanceOf[_from] */ 2808 0xffffffffffffffffffffffffffffffffffffffff 2809 and 2810 0xffffffffffffffffffffffffffffffffffffffff 2811 and 2812 dup2 2813 mstore 2814 0x20 2815 add 2816 swap1 2817 dup2 2818 mstore 2819 0x20 2820 add 2821 0x0 2822 keccak256 2823 sload 2824 /* "../contracts/token.sol":2268:2301 balanceOf[_from] + balanceOf[_to] */ 2825 add 2826 /* "../contracts/token.sol":2268:2321 balanceOf[_from] + balanceOf[_to] == previousBalances */ 2827 eq 2828 /* "../contracts/token.sol":2261:2322 assert(balanceOf[_from] + balanceOf[_to] == previousBalances) */ 2829 iszero 2830 iszero 2831 tag_104 2832 jumpi 2833 invalid 2834 tag_104: 2835 /* "../contracts/token.sol":1785:2329 function _transfer(address _from, address _to, uint256 _value) private {... */ 2836 pop 2837 pop 2838 pop 2839 pop 2840 jump // out 2841 /* "../contracts/token.sol":536:689 function safeAdd(uint256 a, uint256 b) internal pure returns (uint256) {... */ 2842 tag_101: 2843 /* "../contracts/token.sol":598:605 uint256 */ 2844 0x0 2845 /* "../contracts/token.sol":617:626 uint256 c */ 2846 dup1 2847 /* "../contracts/token.sol":633:634 b */ 2848 dup3 2849 /* "../contracts/token.sol":629:630 a */ 2850 dup5 2851 /* "../contracts/token.sol":629:634 a + b */ 2852 add 2853 /* "../contracts/token.sol":617:634 uint256 c = a + b */ 2854 swap1 2855 pop 2856 /* "../contracts/token.sol":654:655 a */ 2857 dup4 2858 /* "../contracts/token.sol":651:652 c */ 2859 dup2 2860 /* "../contracts/token.sol":651:655 c>=a */ 2861 lt 2862 iszero 2863 /* "../contracts/token.sol":651:663 c>=a && c>=b */ 2864 dup1 2865 iszero 2866 tag_106 2867 jumpi 2868 pop 2869 /* "../contracts/token.sol":662:663 b */ 2870 dup3 2871 /* "../contracts/token.sol":659:660 c */ 2872 dup2 2873 /* "../contracts/token.sol":659:663 c>=b */ 2874 lt 2875 iszero 2876 /* "../contracts/token.sol":651:663 c>=a && c>=b */ 2877 tag_106: 2878 /* "../contracts/token.sol":644:664 assert(c>=a && c>=b) */ 2879 iszero 2880 iszero 2881 tag_107 2882 jumpi 2883 invalid 2884 tag_107: 2885 /* "../contracts/token.sol":681:682 c */ 2886 dup1 2887 /* "../contracts/token.sol":674:682 return c */ 2888 swap2 2889 pop 2890 /* "../contracts/token.sol":536:689 function safeAdd(uint256 a, uint256 b) internal pure returns (uint256) {... */ 2891 pop 2892 swap3 2893 swap2 2894 pop 2895 pop 2896 jump // out 2897 2898 auxdata: 0xa165627a7a72305820bf04f8fe232f2a5e04aef016185ac8e9d28dd720625582f0c40be40ee23af9f20029 2899 }