Improve call graphs

pull/12/head
Bernhard Mueller 7 years ago
parent 3368c035f4
commit 5b506623d0
  1. BIN
      static/callgraph3.png
  2. BIN
      static/callgraph4.png
  3. 151
      static/mythril.html

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

@ -25,7 +25,7 @@
improvedLayout:true,
hierarchical: {
enabled:true,
levelSeparation: 500,
levelSeparation: 450,
nodeSpacing: 200,
treeSpacing: 100,
blockShifting: true,
@ -74,128 +74,37 @@
}
var nodes = [
{id: 256, size: 150, 'label': '256 JUMPDEST\n257 CALLVALUE\n258 ISZERO\n259 PUSH2 0x0108\n262 JUMPI\n263 INVALID\n'},
{id: 1299, size: 150, 'label': '1299 JUMPDEST\n1300 PUSH1 0x00\n1302 SLOAD\n1303 CALLER\n1304 PUSH1 0x01\n1306 PUSH1 0xa0\n1308 PUSH1 0x02\n1310 EXP\n1311 SUB\n1312 SWAP1\n1313 DUP2\n1314 AND\n1315 SWAP2\n1316 AND\n1317 EQ\n1318 PUSH2 0x052f\n1321 JUMPI\n1322 PUSH1 0x00\n1324 PUSH1 0x00\n1326 REVERT\n'},
{id: 900, size: 150, 'label': '900 JUMPDEST\n901 EQ\n902 SWAP1\n903 POP\n904 JUMPDEST\n905 SWAP2\n906 SWAP1\n907 POP\n908 JUMP\n'},
{id: 520, size: 150, 'label': '520 JUMPDEST\n521 CALLVALUE\n522 ISZERO\n523 PUSH2 0x0210\n526 JUMPI\n527 INVALID\n'},
{id: 264, size: 150, 'label': '264 JUMPDEST\n265 PUSH2 0x0110\n268 PUSH2 0x02a2\n271 JUMP\n'},
{id: 394, size: 150, 'label': '394 JUMPDEST\n395 CALLVALUE\n396 ISZERO\n397 PUSH2 0x0192\n400 JUMPI\n401 INVALID\n'},
{id: 550, size: 150, 'label': '550 JUMPDEST\n551 CALLVALUE\n552 ISZERO\n553 PUSH2 0x022e\n556 JUMPI\n557 INVALID\n'},
{id: 909, size: 150, 'label': '909 JUMPDEST\n910 PUSH1 0x02\n912 SLOAD\n913 DUP2\n914 JUMP\n'},
{id: 272, size: 150, 'label': '272 JUMPDEST\n273 PUSH1 0x40\n275 DUP1\n276 MLOAD\n277 PUSH1 0x01\n279 PUSH1 0xa0\n281 PUSH1 0x02\n283 EXP\n284 SUB\n285 SWAP1\n286 SWAP3\n287 AND\n288 DUP3\n289 MSTORE\n290 MLOAD\n291 SWAP1\n292 DUP2\n293 SWAP1\n294 SUB\n295 PUSH1 0x20\n297 ADD\n298 SWAP1\n299 RETURN\n'},
{id: 402, size: 150, 'label': '402 JUMPDEST\n403 PUSH2 0x00ec\n406 PUSH1 0x01\n408 PUSH1 0xa0\n410 PUSH1 0x02\n412 EXP\n413 SUB\n414 PUSH1 0x04\n416 CALLDATALOAD\n417 AND\n418 PUSH2 0x0393\n421 JUMP\n'},
{id: 915, size: 150, 'label': '915 JUMPDEST\n916 PUSH1 0x00\n918 SLOAD\n919 CALLER\n920 PUSH1 0x01\n922 PUSH1 0xa0\n924 PUSH1 0x02\n926 EXP\n927 SUB\n928 SWAP1\n929 DUP2\n930 AND\n931 SWAP2\n932 AND\n933 EQ\n934 PUSH2 0x03af\n937 JUMPI\n938 PUSH1 0x00\n940 PUSH1 0x00\n942 REVERT\n'},
{id: 1390, size: 150, 'label': '1390 JUMPDEST\n1391 DUP3\n1392 JUMPDEST\n1393 SWAP1\n1394 POP\n1395 JUMPDEST\n1396 SWAP3\n1397 SWAP2\n1398 POP\n1399 POP\n1400 JUMP\n'},
{id: 1047, size: 150, 'label': '1047 JUMPDEST\n1048 PUSH1 0x00\n1050 SLOAD\n1051 PUSH1 0x01\n1053 PUSH1 0xa0\n1055 PUSH1 0x02\n1057 EXP\n1058 SUB\n1059 AND\n1060 DUP2\n1061 JUMP\n'},
{id: 1062, size: 150, 'label': '1062 JUMPDEST\n1063 PUSH1 0x03\n1065 SLOAD\n1066 PUSH1 0xff\n1068 AND\n1069 DUP2\n1070 JUMP\n'},
{id: 0, size: 150, 'label': '0 PUSH1 0x60\n2 PUSH1 0x40\n4 MSTORE\n5 CALLDATASIZE\n6 ISZERO\n7 PUSH2 0x0088\n10 JUMPI\n11 PUSH4 0xffffffff\n16 PUSH1 0xe0\n18 PUSH1 0x02\n20 EXP\n21 PUSH1 0x00\n23 CALLDATALOAD\n24 DIV\n25 AND\n26 PUSH4 0x146901db\n31 DUP2\n32 EQ\n33 PUSH2 0x00ee\n36 JUMPI\n37 DUP1\n38 PUSH4 0x1e0018d6\n43 EQ\n44 PUSH2 0x0100\n47 JUMPI\n48 DUP1\n49 PUSH4 0x3ccfd60b\n54 EQ\n55 PUSH2 0x012c\n58 JUMPI\n59 DUP1\n60 PUSH4 0x64ae4451\n65 EQ\n66 PUSH2 0x013e\n69 JUMPI\n70 DUP1\n71 PUSH4 0x73ad468a\n76 EQ\n77 PUSH2 0x0168\n80 JUMPI\n81 DUP1\n82 PUSH4 0x773041ce\n87 EQ\n88 PUSH2 0x018a\n91 JUMPI\n92 DUP1\n93 PUSH4 0x8da5cb5b\n98 EQ\n99 PUSH2 0x01a8\n102 JUMPI\n103 DUP1\n104 PUSH4 0xc19d93fb\n109 EQ\n110 PUSH2 0x01d4\n113 JUMPI\n114 DUP1\n115 PUSH4 0xec8ac4d8\n120 EQ\n121 PUSH2 0x0208\n124 JUMPI\n125 DUP1\n126 PUSH4 0xf2fde38b\n131 EQ\n132 PUSH2 0x0226\n135 JUMPI\n136 JUMPDEST\n137 PUSH2 0x00ec\n140 JUMPDEST\n141 PUSH1 0x02\n143 SLOAD\n144 ADDRESS\n145 PUSH1 0x01\n147 PUSH1 0xa0\n149 PUSH1 0x02\n151 EXP\n152 SUB\n153 AND\n154 BALANCE\n155 GT\n156 ISZERO\n157 PUSH2 0x00a6\n160 JUMPI\n161 PUSH1 0x00\n163 PUSH1 0x00\n165 REVERT\n'},
{id: 1392, size: 150, 'label': '1392 JUMPDEST\n1393 SWAP1\n1394 POP\n1395 JUMPDEST\n1396 SWAP3\n1397 SWAP2\n1398 POP\n1399 POP\n1400 JUMP\n'},
{id: 674, size: 150, 'label': '674 JUMPDEST\n675 PUSH1 0x01\n677 SLOAD\n678 PUSH1 0x01\n680 PUSH1 0xa0\n682 PUSH1 0x02\n684 EXP\n685 SUB\n686 AND\n687 DUP2\n688 JUMP\n'},
{id: 166, size: 150, 'label': '166 JUMPDEST\n167 PUSH1 0x40\n169 DUP1\n170 MLOAD\n171 CALLVALUE\n172 DUP2\n173 MSTORE\n174 PUSH1 0x01\n176 PUSH1 0xa0\n178 PUSH1 0x02\n180 EXP\n181 SUB\n182 CALLER\n183 AND\n184 PUSH1 0x20\n186 DUP3\n187 ADD\n188 MSTORE\n189 DUP2\n190 MLOAD\n191 PUSH32 0x33e36c5037a4834b94e805648de1a58578badec436cfbd0679b82ca91603f40d\n224 SWAP3\n225 SWAP2\n226 DUP2\n227 SWAP1\n228 SUB\n229 SWAP1\n230 SWAP2\n231 ADD\n232 SWAP1\n233 LOG1\n234 JUMPDEST\n235 JUMP\n'},
{id: 424, size: 150, 'label': '424 JUMPDEST\n425 CALLVALUE\n426 ISZERO\n427 PUSH2 0x01b0\n430 JUMPI\n431 INVALID\n'},
{id: 1071, size: 150, 'label': '1071 JUMPDEST\n1072 PUSH1 0x00\n1074 DUP1\n1075 SLOAD\n1076 CALLER\n1077 PUSH1 0x01\n1079 PUSH1 0xa0\n1081 PUSH1 0x02\n1083 EXP\n1084 SUB\n1085 SWAP1\n1086 DUP2\n1087 AND\n1088 SWAP2\n1089 AND\n1090 EQ\n1091 PUSH2 0x044c\n1094 JUMPI\n1095 PUSH1 0x00\n1097 PUSH1 0x00\n1099 REVERT\n'},
{id: 811, size: 150, 'label': '811 JUMPDEST\n812 PUSH1 0x40\n814 DUP1\n815 MLOAD\n816 DUP4\n817 DUP2\n818 MSTORE\n819 SWAP1\n820 MLOAD\n821 PUSH32 0xca4bd5135a11e3fc146ac22d75f0d2eae9b6c61b6fa3eb6724a456b311ad72d3\n854 SWAP2\n855 DUP2\n856 SWAP1\n857 SUB\n858 PUSH1 0x20\n860 ADD\n861 SWAP1\n862 LOG1\n863 JUMPDEST\n864 JUMPDEST\n865 POP\n866 JUMPDEST\n867 POP\n868 JUMP\n'},
{id: 300, size: 150, 'label': '300 JUMPDEST\n301 CALLVALUE\n302 ISZERO\n303 PUSH2 0x0134\n306 JUMPI\n307 INVALID\n'},
{id: 558, size: 150, 'label': '558 JUMPDEST\n559 PUSH2 0x00ec\n562 PUSH1 0x01\n564 PUSH1 0xa0\n566 PUSH1 0x02\n568 EXP\n569 SUB\n570 PUSH1 0x04\n572 CALLDATALOAD\n573 AND\n574 PUSH2 0x0513\n577 JUMP\n'},
{id: 943, size: 150, 'label': '943 JUMPDEST\n944 PUSH1 0x01\n946 SLOAD\n947 PUSH1 0x40\n949 DUP1\n950 MLOAD\n951 PUSH1 0x01\n953 PUSH1 0xa0\n955 PUSH1 0x02\n957 EXP\n958 SUB\n959 SWAP3\n960 DUP4\n961 AND\n962 DUP2\n963 MSTORE\n964 SWAP2\n965 DUP4\n966 AND\n967 PUSH1 0x20\n969 DUP4\n970 ADD\n971 MSTORE\n972 DUP1\n973 MLOAD\n974 PUSH32 0xc204b28865760f18aa0ef147ee25573d2dba9f208385c8aa65fb79150978fb6d\n1007 SWAP3\n1008 DUP2\n1009 SWAP1\n1010 SUB\n1011 SWAP1\n1012 SWAP2\n1013 ADD\n1014 SWAP1\n1015 LOG1\n1016 PUSH1 0x01\n1018 DUP1\n1019 SLOAD\n1020 PUSH1 0x01\n1022 PUSH1 0xa0\n1024 PUSH1 0x02\n1026 EXP\n1027 SUB\n1028 NOT\n1029 AND\n1030 PUSH1 0x01\n1032 PUSH1 0xa0\n1034 PUSH1 0x02\n1036 EXP\n1037 SUB\n1038 DUP4\n1039 AND\n1040 OR\n1041 SWAP1\n1042 SSTORE\n1043 JUMPDEST\n1044 JUMPDEST\n1045 POP\n1046 JUMP\n'},
{id: 432, size: 150, 'label': '432 JUMPDEST\n433 PUSH2 0x0110\n436 PUSH2 0x0417\n439 JUMP\n'},
{id: 689, size: 150, 'label': '689 JUMPDEST\n690 PUSH1 0x00\n692 DUP1\n693 SLOAD\n694 CALLER\n695 PUSH1 0x01\n697 PUSH1 0xa0\n699 PUSH1 0x02\n701 EXP\n702 SUB\n703 SWAP1\n704 DUP2\n705 AND\n706 SWAP2\n707 AND\n708 EQ\n709 PUSH2 0x02ce\n712 JUMPI\n713 PUSH1 0x00\n715 PUSH1 0x00\n717 REVERT\n'},
{id: 1203, size: 150, 'label': '1203 JUMPDEST\n1204 PUSH2 0x25ee\n1207 GAS\n1208 SUB\n1209 CALL\n1210 ISZERO\n1211 ISZERO\n1212 PUSH2 0x04c1\n1215 JUMPI\n1216 INVALID\n'},
{id: 308, size: 150, 'label': '308 JUMPDEST\n309 PUSH2 0x00ec\n312 PUSH2 0x02b1\n315 JUMP\n'},
{id: 318, size: 150, 'label': '318 JUMPDEST\n319 CALLVALUE\n320 ISZERO\n321 PUSH2 0x0146\n324 JUMPI\n325 INVALID\n'},
{id: 1217, size: 150, 'label': '1217 JUMPDEST\n1218 POP\n1219 POP\n1220 PUSH1 0x03\n1222 DUP1\n1223 SLOAD\n1224 PUSH1 0x01\n1226 SWAP4\n1227 POP\n1228 SWAP1\n1229 SWAP2\n1230 POP\n1231 PUSH1 0xff\n1233 NOT\n1234 AND\n1235 DUP3\n1236 DUP1\n1237 JUMPDEST\n1238 MUL\n1239 OR\n1240 SWAP1\n1241 SSTORE\n1242 POP\n1243 PUSH1 0x40\n1245 DUP1\n1246 MLOAD\n1247 DUP3\n1248 DUP2\n1249 MSTORE\n1250 SWAP1\n1251 MLOAD\n1252 PUSH32 0x9237e61b939e9e5141705f9a758c9804d596ad248ce04d74983b3b76b27a6156\n1285 SWAP2\n1286 DUP2\n1287 SWAP1\n1288 SUB\n1289 PUSH1 0x20\n1291 ADD\n1292 SWAP1\n1293 LOG1\n1294 JUMPDEST\n1295 JUMPDEST\n1296 POP\n1297 POP\n1298 JUMP\n'},
{id: 580, size: 150, 'label': '580 JUMPDEST\n581 PUSH1 0x00\n583 SLOAD\n584 CALLER\n585 PUSH1 0x01\n587 PUSH1 0xa0\n589 PUSH1 0x02\n591 EXP\n592 SUB\n593 SWAP1\n594 DUP2\n595 AND\n596 SWAP2\n597 AND\n598 EQ\n599 PUSH2 0x0260\n602 JUMPI\n603 PUSH1 0x00\n605 PUSH1 0x00\n607 REVERT\n'},
{id: 326, size: 150, 'label': '326 JUMPDEST\n327 PUSH2 0x0154\n330 PUSH1 0xff\n332 PUSH1 0x04\n334 CALLDATALOAD\n335 AND\n336 PUSH2 0x0365\n339 JUMP\n'},
{id: 1100, size: 150, 'label': '1100 JUMPDEST\n1101 PUSH2 0x0462\n1104 ADDRESS\n1105 PUSH1 0x01\n1107 PUSH1 0xa0\n1109 PUSH1 0x02\n1111 EXP\n1112 SUB\n1113 AND\n1114 BALANCE\n1115 PUSH1 0x02\n1117 SLOAD\n1118 PUSH2 0x055f\n1121 JUMP\n'},
{id: 866, size: 150, 'label': '866 JUMPDEST\n867 POP\n868 JUMP\n'},
{id: 718, size: 150, 'label': '718 JUMPDEST\n719 PUSH1 0x01\n721 DUP1\n722 JUMPDEST\n723 PUSH1 0x03\n725 SLOAD\n726 PUSH1 0xff\n728 AND\n729 PUSH1 0x02\n731 DUP2\n732 GT\n733 ISZERO\n734 PUSH2 0x02e3\n737 JUMPI\n738 INVALID\n'},
{id: 340, size: 150, 'label': '340 JUMPDEST\n341 PUSH1 0x40\n343 DUP1\n344 MLOAD\n345 SWAP2\n346 ISZERO\n347 ISZERO\n348 DUP3\n349 MSTORE\n350 MLOAD\n351 SWAP1\n352 DUP2\n353 SWAP1\n354 SUB\n355 PUSH1 0x20\n357 ADD\n358 SWAP1\n359 RETURN\n'},
{id: 476, size: 150, 'label': '476 JUMPDEST\n477 PUSH2 0x01e4\n480 PUSH2 0x0426\n483 JUMP\n'},
{id: 1375, size: 150, 'label': '1375 JUMPDEST\n1376 PUSH1 0x00\n1378 DUP2\n1379 DUP4\n1380 LT\n1381 PUSH2 0x056e\n1384 JUMPI\n1385 DUP2\n1386 PUSH2 0x0570\n1389 JUMP\n'},
{id: 608, size: 150, 'label': '608 JUMPDEST\n609 PUSH1 0x03\n611 DUP1\n612 SLOAD\n613 PUSH1 0x02\n615 SWAP2\n616 SWAP1\n617 PUSH1 0xff\n619 NOT\n620 AND\n621 PUSH1 0x01\n623 DUP4\n624 JUMPDEST\n625 MUL\n626 OR\n627 SWAP1\n628 SSTORE\n629 POP\n630 PUSH1 0x40\n632 MLOAD\n633 PUSH32 0x1b0ba14d0d88ac936babe67c6ed402959bc2a548d8521436f4f27a29be3f619a\n666 SWAP1\n667 PUSH1 0x00\n669 SWAP1\n670 LOG1\n671 JUMPDEST\n672 JUMPDEST\n673 JUMP\n'},
{id: 528, size: 150, 'label': '528 JUMPDEST\n529 PUSH2 0x00ec\n532 PUSH1 0x01\n534 PUSH1 0xa0\n536 PUSH1 0x02\n538 EXP\n539 SUB\n540 PUSH1 0x04\n542 CALLDATALOAD\n543 AND\n544 PUSH2 0x042f\n547 JUMP\n'},
{id: 1122, size: 150, 'label': '1122 JUMPDEST\n1123 PUSH1 0x01\n1125 SLOAD\n1126 PUSH1 0x40\n1128 DUP1\n1129 MLOAD\n1130 PUSH1 0xe3\n1132 PUSH1 0x02\n1134 EXP\n1135 PUSH4 0x1d91589b\n1140 MUL\n1141 DUP2\n1142 MSTORE\n1143 PUSH1 0x01\n1145 PUSH1 0xa0\n1147 PUSH1 0x02\n1149 EXP\n1150 SUB\n1151 SWAP3\n1152 DUP4\n1153 AND\n1154 PUSH1 0x04\n1156 DUP3\n1157 ADD\n1158 MSTORE\n1159 SWAP1\n1160 MLOAD\n1161 SWAP3\n1162 SWAP4\n1163 POP\n1164 SWAP1\n1165 DUP5\n1166 AND\n1167 SWAP2\n1168 PUSH4 0xec8ac4d8\n1173 SWAP2\n1174 DUP5\n1175 SWAP2\n1176 PUSH1 0x24\n1178 DUP1\n1179 DUP4\n1180 ADD\n1181 SWAP3\n1182 PUSH1 0x00\n1184 SWAP3\n1185 SWAP2\n1186 SWAP1\n1187 DUP3\n1188 SWAP1\n1189 SUB\n1190 ADD\n1191 DUP2\n1192 DUP6\n1193 DUP9\n1194 DUP1\n1195 EXTCODESIZE\n1196 ISZERO\n1197 ISZERO\n1198 PUSH2 0x04b3\n1201 JUMPI\n1202 INVALID\n'},
{id: 739, size: 150, 'label': '739 JUMPDEST\n740 EQ\n741 ISZERO\n742 PUSH2 0x02ef\n745 JUMPI\n746 PUSH1 0x00\n748 PUSH1 0x00\n750 REVERT\n'},
{id: 484, size: 150, 'label': '484 JUMPDEST\n485 PUSH1 0x40\n487 MLOAD\n488 DUP1\n489 DUP3\n490 PUSH1 0x02\n492 DUP2\n493 GT\n494 ISZERO\n495 PUSH2 0x01f4\n498 JUMPI\n499 INVALID\n'},
{id: 869, size: 150, 'label': '869 JUMPDEST\n870 PUSH1 0x00\n872 DUP2\n873 PUSH1 0x02\n875 DUP2\n876 GT\n877 ISZERO\n878 PUSH2 0x0373\n881 JUMPI\n882 INVALID\n'},
{id: 360, size: 150, 'label': '360 JUMPDEST\n361 CALLVALUE\n362 ISZERO\n363 PUSH2 0x0170\n366 JUMPI\n367 INVALID\n'},
{id: 236, size: 150, 'label': '236 JUMPDEST\n237 STOP\n'},
{id: 238, size: 150, 'label': '238 JUMPDEST\n239 CALLVALUE\n240 ISZERO\n241 PUSH2 0x00f6\n244 JUMPI\n245 INVALID\n'},
{id: 751, size: 150, 'label': '751 JUMPDEST\n752 PUSH1 0x01\n754 SLOAD\n755 PUSH1 0x40\n757 MLOAD\n758 PUSH1 0x01\n760 PUSH1 0xa0\n762 PUSH1 0x02\n764 EXP\n765 SUB\n766 ADDRESS\n767 DUP2\n768 AND\n769 BALANCE\n770 SWAP5\n771 POP\n772 SWAP2\n773 SWAP1\n774 SWAP2\n775 AND\n776 SWAP1\n777 DUP4\n778 ISZERO\n779 PUSH2 0x08fc\n782 MUL\n783 SWAP1\n784 DUP5\n785 SWAP1\n786 PUSH1 0x00\n788 DUP2\n789 DUP2\n790 DUP2\n791 DUP6\n792 DUP9\n793 DUP9\n794 CALL\n795 SWAP4\n796 POP\n797 POP\n798 POP\n799 POP\n800 ISZERO\n801 ISZERO\n802 PUSH2 0x032b\n805 JUMPI\n806 PUSH1 0x00\n808 PUSH1 0x00\n810 REVERT\n'},
{id: 368, size: 150, 'label': '368 JUMPDEST\n369 PUSH2 0x0178\n372 PUSH2 0x038d\n375 JUMP\n'},
{id: 883, size: 150, 'label': '883 JUMPDEST\n884 PUSH1 0x03\n886 SLOAD\n887 PUSH1 0xff\n889 AND\n890 PUSH1 0x02\n892 DUP2\n893 GT\n894 ISZERO\n895 PUSH2 0x0384\n898 JUMPI\n899 INVALID\n'},
{id: 500, size: 150, 'label': '500 JUMPDEST\n501 PUSH1 0xff\n503 AND\n504 DUP2\n505 MSTORE\n506 PUSH1 0x20\n508 ADD\n509 SWAP2\n510 POP\n511 POP\n512 PUSH1 0x40\n514 MLOAD\n515 DUP1\n516 SWAP2\n517 SUB\n518 SWAP1\n519 RETURN\n'},
{id: 246, size: 150, 'label': '246 JUMPDEST\n247 PUSH2 0x00ec\n250 PUSH2 0x0244\n253 JUMP\n'},
{id: 1327, size: 150, 'label': '1327 JUMPDEST\n1328 PUSH1 0x01\n1330 PUSH1 0xa0\n1332 PUSH1 0x02\n1334 EXP\n1335 SUB\n1336 DUP2\n1337 AND\n1338 ISZERO\n1339 PUSH2 0x0362\n1342 JUMPI\n1343 PUSH1 0x00\n1345 DUP1\n1346 SLOAD\n1347 PUSH1 0x01\n1349 PUSH1 0xa0\n1351 PUSH1 0x02\n1353 EXP\n1354 SUB\n1355 NOT\n1356 AND\n1357 PUSH1 0x01\n1359 PUSH1 0xa0\n1361 PUSH1 0x02\n1363 EXP\n1364 SUB\n1365 DUP4\n1366 AND\n1367 OR\n1368 SWAP1\n1369 SSTORE\n1370 JUMPDEST\n1371 JUMPDEST\n1372 JUMPDEST\n1373 POP\n1374 JUMP\n'},
{id: 376, size: 150, 'label': '376 JUMPDEST\n377 PUSH1 0x40\n379 DUP1\n380 MLOAD\n381 SWAP2\n382 DUP3\n383 MSTORE\n384 MLOAD\n385 SWAP1\n386 DUP2\n387 SWAP1\n388 SUB\n389 PUSH1 0x20\n391 ADD\n392 SWAP1\n393 RETURN\n'},
{id: 468, size: 150, 'label': '468 JUMPDEST\n469 CALLVALUE\n470 ISZERO\n471 PUSH2 0x01dc\n474 JUMPI\n475 INVALID\n'},
{id: 136, size: 150, 'label': '136 JUMPDEST\n137 PUSH2 0x00ec\n140 JUMPDEST\n141 PUSH1 0x02\n143 SLOAD\n144 ADDRESS\n145 PUSH1 0x01\n147 PUSH1 0xa0\n149 PUSH1 0x02\n151 EXP\n152 SUB\n153 AND\n154 BALANCE\n155 GT\n156 ISZERO\n157 PUSH2 0x00a6\n160 JUMPI\n161 PUSH1 0x00\n163 PUSH1 0x00\n165 REVERT\n'}
{id: 0, size: 150, 'label': '0 PUSH1 0x60\n2 PUSH1 0x40\n4 MSTORE\n5 PUSH1 0x04\n7 CALLDATASIZE\n8 LT\n9 PUSH2 0x0057\n12 JUMPI\n13 PUSH1 0x00\n15 CALLDATALOAD\n16 PUSH29 0x01000000(...)\n46 SWAP1\n47 DIV\n48 PUSH4 0xffffffff\n53 AND\n54 DUP1\n55 PUSH4 0x3ccfd60b\n60 EQ\n61 PUSH2 0x005c\n64 JUMPI\n65 DUP1\n66 PUSH4 0xf8b2cb4f\n71 EQ\n72 PUSH2 0x0071\n75 JUMPI\n76 DUP1\n77 PUSH4 0xfcddd056\n82 EQ\n83 PUSH2 0x00be\n86 JUMPI\n87 JUMPDEST\n88 PUSH1 0x00\n90 DUP1\n91 REVERT\n'},
{id: 198, size: 150, 'label': '198 JUMPDEST\n199 STOP\n'},
{id: 113, size: 150, 'label': '113 getBalance(address)\n114 CALLVALUE\n115 ISZERO\n116 PUSH2 0x007c\n119 JUMPI\n120 PUSH1 0x00\n122 DUP1\n123 REVERT\n'},
{id: 168, size: 150, 'label': '168 JUMPDEST\n169 PUSH1 0x40\n171 MLOAD\n172 DUP1\n173 DUP3\n174 DUP2\n175 MSTORE\n176 PUSH1 0x20\n178 ADD\n179 SWAP2\n180 POP\n181 POP\n182 PUSH1 0x40\n184 MLOAD\n185 DUP1\n186 SWAP2\n187 SUB\n188 SWAP1\n189 RETURN\n'},
{id: 92, size: 150, 'label': '92 withdraw()\n93 CALLVALUE\n94 ISZERO\n95 PUSH2 0x0067\n98 JUMPI\n99 PUSH1 0x00\n101 DUP1\n102 REVERT\n'},
{id: 103, size: 150, 'label': '103 JUMPDEST\n104 PUSH2 0x006f\n107 PUSH2 0x00c8\n110 JUMP\n'},
{id: 190, size: 150, 'label': '190 _function_0xfcddd056\n191 PUSH2 0x00c6\n194 PUSH2 0x021c\n197 JUMP\n'},
{id: 398, size: 150, 'label': '398 JUMPDEST\n399 PUSH1 0x00\n401 DUP1\n402 PUSH1 0x00\n404 CALLER\n405 PUSH20 0xffffffffffffffffffffffffffffffffffffffff\n426 AND\n427 PUSH20 0xffffffffffffffffffffffffffffffffffffffff\n448 AND\n449 DUP2\n450 MSTORE\n451 PUSH1 0x20\n453 ADD\n454 SWAP1\n455 DUP2\n456 MSTORE\n457 PUSH1 0x20\n459 ADD\n460 PUSH1 0x00\n462 SHA3\n463 DUP2\n464 SWAP1\n465 SSTORE\n466 POP\n467 JUMP\n'},
{id: 111, size: 150, 'label': '111 JUMPDEST\n112 STOP\n'},
{id: 200, size: 150, 'label': '200 JUMPDEST\n201 PUSH1 0x00\n203 DUP1\n204 PUSH1 0x00\n206 CALLER\n207 PUSH20 0xffffffffffffffffffffffffffffffffffffffff\n228 AND\n229 PUSH20 0xffffffffffffffffffffffffffffffffffffffff\n250 AND\n251 DUP2\n252 MSTORE\n253 PUSH1 0x20\n255 ADD\n256 SWAP1\n257 DUP2\n258 MSTORE\n259 PUSH1 0x20\n261 ADD\n262 PUSH1 0x00\n264 SHA3\n265 SLOAD\n266 GT\n267 ISZERO\n268 ISZERO\n269 PUSH2 0x0115\n272 JUMPI\n273 PUSH1 0x00\n275 DUP1\n276 REVERT\n'},
{id: 468, size: 150, 'label': '468 JUMPDEST\n469 PUSH1 0x00\n471 DUP1\n472 PUSH1 0x00\n474 DUP4\n475 PUSH20 0xffffffffffffffffffffffffffffffffffffffff\n496 AND\n497 PUSH20 0xffffffffffffffffffffffffffffffffffffffff\n518 AND\n519 DUP2\n520 MSTORE\n521 PUSH1 0x20\n523 ADD\n524 SWAP1\n525 DUP2\n526 MSTORE\n527 PUSH1 0x20\n529 ADD\n530 PUSH1 0x00\n532 SHA3\n533 SLOAD\n534 SWAP1\n535 POP\n536 SWAP2\n537 SWAP1\n538 POP\n539 JUMP\n'},
{id: 277, size: 150, 'label': '277 JUMPDEST\n278 CALLER\n279 PUSH20 0xffffffffffffffffffffffffffffffffffffffff\n300 AND\n301 PUSH1 0x00\n303 DUP1\n304 CALLER\n305 PUSH20 0xffffffffffffffffffffffffffffffffffffffff\n326 AND\n327 PUSH20 0xffffffffffffffffffffffffffffffffffffffff\n348 AND\n349 DUP2\n350 MSTORE\n351 PUSH1 0x20\n353 ADD\n354 SWAP1\n355 DUP2\n356 MSTORE\n357 PUSH1 0x20\n359 ADD\n360 PUSH1 0x00\n362 SHA3\n363 SLOAD\n364 PUSH1 0x40\n366 MLOAD\n367 PUSH1 0x00\n369 PUSH1 0x40\n371 MLOAD\n372 DUP1\n373 DUP4\n374 SUB\n375 DUP2\n376 DUP6\n377 DUP8\n378 PUSH2 0x8796\n381 GAS\n382 SUB\n383 CALL\n384 SWAP3\n385 POP\n386 POP\n387 POP\n388 ISZERO\n389 ISZERO\n390 PUSH2 0x018e\n393 JUMPI\n394 PUSH1 0x00\n396 DUP1\n397 REVERT\n'},
{id: 87, size: 150, 'label': '87 JUMPDEST\n88 PUSH1 0x00\n90 DUP1\n91 REVERT\n'},
{id: 124, size: 150, 'label': '124 JUMPDEST\n125 PUSH2 0x00a8\n128 PUSH1 0x04\n130 DUP1\n131 DUP1\n132 CALLDATALOAD\n133 PUSH20 0xffffffffffffffffffffffffffffffffffffffff\n154 AND\n155 SWAP1\n156 PUSH1 0x20\n158 ADD\n159 SWAP1\n160 SWAP2\n161 SWAP1\n162 POP\n163 POP\n164 PUSH2 0x01d4\n167 JUMP\n'},
{id: 540, size: 150, 'label': '540 JUMPDEST\n541 CALLVALUE\n542 PUSH1 0x00\n544 DUP1\n545 CALLER\n546 PUSH20 0xffffffffffffffffffffffffffffffffffffffff\n567 AND\n568 PUSH20 0xffffffffffffffffffffffffffffffffffffffff\n589 AND\n590 DUP2\n591 MSTORE\n592 PUSH1 0x20\n594 ADD\n595 SWAP1\n596 DUP2\n597 MSTORE\n598 PUSH1 0x20\n600 ADD\n601 PUSH1 0x00\n603 SHA3\n604 PUSH1 0x00\n606 DUP3\n607 DUP3\n608 SLOAD\n609 ADD\n610 SWAP3\n611 POP\n612 POP\n613 DUP2\n614 SWAP1\n615 SSTORE\n616 POP\n617 JUMP\n'}
];
var edges = [
{from: 166, to: 236, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 136, to: 166, 'arrows': 'to', 'label': 'UGT(balance_at_(2 << 160 - 1) - 1 & address_to, storage_2) ==False', 'smooth': {'type': 'cubicBezier'}},
{from: 0, to: 136, 'arrows': 'to', 'label': 'calldatasize == 0', 'smooth': {'type': 'cubicBezier'}},
{from: 608, to: 236, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 580, to: 608, 'arrows': 'to', 'label': 'storage_0 & (2 << 160 - 1) - 1 ==(2 << 160 - 1) - 1 & caller', 'smooth': {'type': 'cubicBezier'}},
{from: 246, to: 580, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 238, to: 246, 'arrows': 'to', 'label': 'callvalue == 0', 'smooth': {'type': 'cubicBezier'}},
{from: 0, to: 238, 'arrows': 'to', 'label': '342426075 == UDiv(calldata_0, 2 << 224 - 1) & 4294967295', 'smooth': {'type': 'cubicBezier'}},
{from: 674, to: 272, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 264, to: 674, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 256, to: 264, 'arrows': 'to', 'label': 'callvalue == 0', 'smooth': {'type': 'cubicBezier'}},
{from: 0, to: 256, 'arrows': 'to', 'label': '503322838 == UDiv(calldata_0, 2 << 224 - 1) & 4294967295', 'smooth': {'type': 'cubicBezier'}},
{from: 811, to: 236, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 751, to: 811, 'arrows': 'to', 'label': '(0 == 0) == False', 'smooth': {'type': 'cubicBezier'}},
{from: 739, to: 751, 'arrows': 'to', 'label': '(1 == 255 & storage_3) == False', 'smooth': {'type': 'cubicBezier'}},
{from: 718, to: 739, 'arrows': 'to', 'label': 'UGT(255 & storage_3, 2) == False', 'smooth': {'type': 'cubicBezier'}},
{from: 689, to: 718, 'arrows': 'to', 'label': 'storage_0 & (2 << 160 - 1) - 1 ==(2 << 160 - 1) - 1 & caller', 'smooth': {'type': 'cubicBezier'}},
{from: 308, to: 689, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 300, to: 308, 'arrows': 'to', 'label': 'callvalue == 0', 'smooth': {'type': 'cubicBezier'}},
{from: 0, to: 300, 'arrows': 'to', 'label': '1020253707 == UDiv(calldata_0, 2 << 224 - 1) & 4294967295', 'smooth': {'type': 'cubicBezier'}},
{from: 900, to: 340, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 883, to: 900, 'arrows': 'to', 'label': 'UGT(255 & storage_3, 2) == False', 'smooth': {'type': 'cubicBezier'}},
{from: 869, to: 883, 'arrows': 'to', 'label': 'UGT(calldata_4 & 255, 2) == False', 'smooth': {'type': 'cubicBezier'}},
{from: 326, to: 869, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 318, to: 326, 'arrows': 'to', 'label': 'callvalue == 0', 'smooth': {'type': 'cubicBezier'}},
{from: 0, to: 318, 'arrows': 'to', 'label': '1689142353 == UDiv(calldata_0, 2 << 224 - 1) & 4294967295', 'smooth': {'type': 'cubicBezier'}},
{from: 909, to: 376, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 368, to: 909, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 360, to: 368, 'arrows': 'to', 'label': 'callvalue == 0', 'smooth': {'type': 'cubicBezier'}},
{from: 0, to: 360, 'arrows': 'to', 'label': '1940735626 == UDiv(calldata_0, 2 << 224 - 1) & 4294967295', 'smooth': {'type': 'cubicBezier'}},
{from: 943, to: 236, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 915, to: 943, 'arrows': 'to', 'label': 'storage_0 & (2 << 160 - 1) - 1 ==(2 << 160 - 1) - 1 & caller', 'smooth': {'type': 'cubicBezier'}},
{from: 402, to: 915, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 394, to: 402, 'arrows': 'to', 'label': 'callvalue == 0', 'smooth': {'type': 'cubicBezier'}},
{from: 0, to: 394, 'arrows': 'to', 'label': '1999651278 == UDiv(calldata_0, 2 << 224 - 1) & 4294967295', 'smooth': {'type': 'cubicBezier'}},
{from: 1047, to: 272, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 432, to: 1047, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 424, to: 432, 'arrows': 'to', 'label': 'callvalue == 0', 'smooth': {'type': 'cubicBezier'}},
{from: 0, to: 424, 'arrows': 'to', 'label': '2376452955 == UDiv(calldata_0, 2 << 224 - 1) & 4294967295', 'smooth': {'type': 'cubicBezier'}},
{from: 484, to: 500, 'arrows': 'to', 'label': 'UGT(255 & storage_3, 2) == False', 'smooth': {'type': 'cubicBezier'}},
{from: 1062, to: 484, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 476, to: 1062, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 468, to: 476, 'arrows': 'to', 'label': 'callvalue == 0', 'smooth': {'type': 'cubicBezier'}},
{from: 0, to: 468, 'arrows': 'to', 'label': '3248329723 == UDiv(calldata_0, 2 << 224 - 1) & 4294967295', 'smooth': {'type': 'cubicBezier'}},
{from: 1217, to: 236, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 1203, to: 1217, 'arrows': 'to', 'label': '(0 == 0) == False', 'smooth': {'type': 'cubicBezier'}},
{from: 1122, to: 1203, 'arrows': 'to', 'label': '(extcodesize == 0) == False', 'smooth': {'type': 'cubicBezier'}},
{from: 1390, to: 1122, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 1375, to: 1390, 'arrows': 'to', 'label': 'ULT(balance_at_(2 << 160 - 1) - 1 & address_to, storage_2)', 'smooth': {'type': 'cubicBezier'}},
{from: 1392, to: 1122, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 1375, to: 1392, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 1100, to: 1375, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 1071, to: 1100, 'arrows': 'to', 'label': 'storage_0 & (2 << 160 - 1) - 1 ==(2 << 160 - 1) - 1 & caller', 'smooth': {'type': 'cubicBezier'}},
{from: 528, to: 1071, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 520, to: 528, 'arrows': 'to', 'label': 'callvalue == 0', 'smooth': {'type': 'cubicBezier'}},
{from: 0, to: 520, 'arrows': 'to', 'label': '3968517336 == UDiv(calldata_0, 2 << 224 - 1) & 4294967295', 'smooth': {'type': 'cubicBezier'}},
{from: 866, to: 236, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 1327, to: 866, 'arrows': 'to', 'label': 'calldata_4 & (2 << 160 - 1) - 1 & (2 << 160 - 1) - 1 == 0', 'smooth': {'type': 'cubicBezier'}},
{from: 1327, to: 236, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 1299, to: 1327, 'arrows': 'to', 'label': 'storage_0 & (2 << 160 - 1) - 1 ==(2 << 160 - 1) - 1 & caller', 'smooth': {'type': 'cubicBezier'}},
{from: 558, to: 1299, 'arrows': 'to', 'label': 'None', 'smooth': {'type': 'cubicBezier'}},
{from: 550, to: 558, 'arrows': 'to', 'label': 'callvalue == 0', 'smooth': {'type': 'cubicBezier'}},
{from: 0, to: 550, 'arrows': 'to', 'label': '4076725131 == UDiv(calldata_0, 2 << 224 - 1) & 4294967295', 'smooth': {'type': 'cubicBezier'}},
{from: 0, to: 166, 'arrows': 'to', 'label': 'UGT(balance_at_(2 << 160 - 1) - 1 & address_to, storage_2) ==False', 'smooth': {'type': 'cubicBezier'}}
{from: 0, to: 87, 'arrows': 'to', 'label': 'Not(ULE(4, calldatasize))', 'smooth': {'type': 'cubicBezier'}},
{from: 398, to: 111, 'arrows': 'to', 'label': '', 'smooth': {'type': 'cubicBezier'}},
{from: 277, to: 398, 'arrows': 'to', 'label': 'False', 'smooth': {'type': 'cubicBezier'}},
{from: 200, to: 277, 'arrows': 'to', 'label': 'Not(storage_sha_hash == 0)', 'smooth': {'type': 'cubicBezier'}},
{from: 103, to: 200, 'arrows': 'to', 'label': '', 'smooth': {'type': 'cubicBezier'}},
{from: 92, to: 103, 'arrows': 'to', 'label': 'callvalue == 0', 'smooth': {'type': 'cubicBezier'}},
{from: 0, to: 92, 'arrows': 'to', 'label': 'Extract(255, 224, calldata_0) == 10202537(...)', 'smooth': {'type': 'cubicBezier'}},
{from: 468, to: 168, 'arrows': 'to', 'label': '', 'smooth': {'type': 'cubicBezier'}},
{from: 124, to: 468, 'arrows': 'to', 'label': '', 'smooth': {'type': 'cubicBezier'}},
{from: 113, to: 124, 'arrows': 'to', 'label': 'callvalue == 0', 'smooth': {'type': 'cubicBezier'}},
{from: 0, to: 113, 'arrows': 'to', 'label': 'Extract(255, 224, calldata_0) == 41724670(...)', 'smooth': {'type': 'cubicBezier'}},
{from: 540, to: 198, 'arrows': 'to', 'label': '', 'smooth': {'type': 'cubicBezier'}},
{from: 190, to: 540, 'arrows': 'to', 'label': '', 'smooth': {'type': 'cubicBezier'}},
{from: 0, to: 190, 'arrows': 'to', 'label': 'Extract(255, 224, calldata_0) == 42423952(...)', 'smooth': {'type': 'cubicBezier'}}
];
</script>

Loading…
Cancel
Save