123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- /*
- generated from wasm binary using radare2
- radare2 -a wasm test.wasm
- >aaa
- >agfd
- */
- digraph code {
- graph [bgcolor=azure fontsize=8 fontname="Courier" splines="ortho"];
- node [fillcolor=gray style=filled shape=box];
- edge [arrowhead="normal"];
- "0x000000c7" [URL="entry0/0x000000c7", fillcolor="#c19c00",color="#c19c00", fontname="Courier",label=" ; XREFS(50)\l ;-- tty_name.constprop.0:\l ;-- pc:\l784: entry0 ();\l0x000000c7 i32.const 112\l0x000000c9 get_local 1\l0x000000cb i32.add\l0x000000cc set_local 8\l0x000000ce block\l0x000000d0 loop\l0x000000d2 block\l0x000000d4 block\l0x000000d6 block\l0x000000d8 block\l0x000000da block\l0x000000dc block\l0x000000de block\l0x000000e0 block\l0x000000e2 block\l0x000000e4 block\l0x000000e6 block\l0x000000e8 block\l0x000000ea block\l0x000000ec block\l0x000000ee block\l0x000000f0 block\l0x000000f2 block\l0x000000f4 block\l0x000000f6 get_local 0\l0x000000f8 ~ brtable 17 17 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0\l; XREFS: UNKNOWN 0x000029c3 UNKNOWN 0x000029eb UNKNOWN 0x00002a27 UNKNOWN 0x00002a63 \l; XREFS: UNKNOWN 0x00002a9f UNKNOWN 0x00002adb UNKNOWN 0x00002b03 UNKNOWN 0x00002b3f \l;-- aav.0x00000104:\l0x00000104 invalid\l0x00000105 end\l0x00000106 br 13\l0x00000108 brtable 15 16 0 11 32 8 65 16312 106 34 8 33 7 65 1 33 0\l0x0000011b end\l0x0000011c get_local 8\l0x0000011e i32.const 104\l0x00000120 i32.add\l0x00000121 set_local 8\l0x00000123 get_local 7\l0x00000125 i32.const 108\l0x00000127 i32.add\l0x00000128 get_local 2\l0x0000012a i32.store 2 0\l0x0000012d get_local 3\l0x0000012f set_local 9\l0x00000131 get_local 7\l0x00000133 i32.const 120\l0x00000135 i32.add\l0x00000136 get_local 3\l0x00000138 i32.load 2 0\l0x0000013b i32.store 2 0\l0x0000013e get_local 7\l0x00000140 i32.const 124\l0x00000142 i32.add\l0x00000143 i32.const 4128\l0x00000146 i32.store 2 0\l0x00000149 get_local 7\l0x0000014b i32.const 124\l0x0000014d i32.add\l0x0000014e i32.load 2 0\l0x00000151 i32.const 0\l0x00000153 i32.ne\l0x00000154 if\l"]
- "0x00000156" [URL="entry0/0x00000156", fillcolor="white",color="#767676", fontname="Courier",label="0x00000156 i32.const 6\l0x00000158 set_local 0\l0x0000015a br 17\l"]
- "0x0000015c" [URL="entry0/0x0000015c", fillcolor="white",color="#767676", fontname="Courier",label="; CODE XREF from entry0 @ 0x154\l0x0000015c end\l0x0000015d i32.const 2\l0x0000015f set_local 0\l0x00000161 end\l0x00000162 get_local 7\l0x00000164 i32.const 124\l0x00000166 i32.add\l0x00000167 i32.const 128\l0x0000016a i32.store 2 0\l; UNKNOWN XREF from aav.0x00000001 @ +0x2\l;-- aav.0x0000016d:\l0x0000016d get_local 7\l0x0000016f i32.const 120\l0x00000171 i32.add\l0x00000172 i32.load 2 0\l0x00000175 get_local 9\l0x00000177 i32.load 2 0\l0x0000017a i32.eq\l0x0000017b if\l"]
- "0x0000017d" [URL="entry0/0x0000017d", fillcolor="#c19c00",color="#c19c00", fontname="Courier",label="0x0000017d i32.const 9\l0x0000017f set_local 0\l0x00000181 br 16\l"]
- "0x00000183" [URL="entry0/0x00000183", fillcolor="white",color="#767676", fontname="Courier",label="; CODE XREF from entry0 @ 0x17b\l0x00000183 end\l0x00000184 i32.const 3\l0x00000186 set_local 0\l0x00000188 end\l0x00000189 get_local 7\l0x0000018b i32.const 124\l0x0000018d i32.add\l0x0000018e i32.load 2 0\l0x00000191 set_local 3\l0x00000193 get_local 7\l0x00000195 i32.const 120\l0x00000197 i32.add\l0x00000198 i32.load 2 0\l0x0000019b set_local 2\l0x0000019d i32.const 127\l0x0000019f get_local 8\l0x000001a1 get_local 2\l0x000001a3 get_local 3\l0x000001a5 i32.const 0\l0x000001a7 i32.const 0\l0x000001a9 call sym.realloc@@GLIBC_2.0@plt ; 0x272f ; \" \" ; sym.realloc__GLIBC_2.0_plt\l0x000001ab tee_local 6\l0x000001ad i32.const 3\l0x000001af i32.and\l0x000001b0 if\l"]
- "0x000001b2" [URL="entry0/0x000001b2", fillcolor="#c19c00",color="#c19c00", fontname="Courier",label="0x000001b2 i32.const 4\l0x000001b4 set_local 0\l0x000001b6 br 16\l"]
- "0x000001b8" [URL="entry0/0x000001b8", fillcolor="white",color="#767676", fontname="Courier",label="; CODE XREF from entry0 @ 0x1b0\l0x000001b8 end\l0x000001b9 i32.const 4\l0x000001bb set_local 0\l0x000001bd end\l0x000001be i32.const 8288\l0x000001c2 i32.load 2 0\l0x000001c5 set_local 2\l0x000001c7 i32.const 5\l0x000001c9 set_local 0\l0x000001cb end\l0x000001cc get_local 2\l0x000001ce i32.const 0\l0x000001d0 i32.eq\l0x000001d1 if\l"]
- "0x000001d3" [URL="entry0/0x000001d3", fillcolor="#c19c00",color="#c19c00", fontname="Courier",label="0x000001d3 i32.const 11\l0x000001d5 set_local 0\l0x000001d7 br 13\l"]
- "0x000001d9" [URL="entry0/0x000001d9", fillcolor="white",color="#767676", fontname="Courier",label="; CODE XREF from entry0 @ 0x1d1\l0x000001d9 end\l0x000001da get_local 7\l0x000001dc i32.const 120\l0x000001de i32.add\l0x000001df get_local 2\l0x000001e1 i32.store 2 0\l0x000001e4 get_local 7\l0x000001e6 i32.const 124\l0x000001e8 i32.add\l0x000001e9 i32.load 2 0\l0x000001ec i32.const 0\l0x000001ee i32.eq\l0x000001ef if\l"]
- "0x000001f1" [URL="entry0/0x000001f1", fillcolor="#c19c00",color="#c19c00", fontname="Courier",label="0x000001f1 i32.const 2\l0x000001f3 set_local 0\l0x000001f5 br 13\l"]
- "0x000001f7" [URL="entry0/0x000001f7", fillcolor="white",color="#767676", fontname="Courier",label="; CODE XREF from entry0 @ 0x1ef\l0x000001f7 end\l0x000001f8 i32.const 6\l0x000001fa set_local 0\l0x000001fc end\l0x000001fd i32.const 8296\l0x00000201 get_local 7\l0x00000203 i32.const 124\l0x00000205 i32.add\l0x00000206 i32.load 2 0\l0x00000209 i32.store 2 0\l0x0000020c get_local 7\l0x0000020e i32.const 120\l0x00000210 i32.add\l0x00000211 i32.load 2 0\l0x00000214 set_local 3\l0x00000216 get_local 7\l0x00000218 i32.const 108\l0x0000021a i32.add\l0x0000021b i32.load 2 0\l0x0000021e set_local 2\l0x00000220 i32.const 127\l0x00000222 get_local 8\l0x00000224 get_local 2\l0x00000226 get_local 3\l0x00000228 i32.const 0\l0x0000022a i32.const 0\l0x0000022c call sym.ttyname_r@@GLIBC_2.0@plt ; 0x27bf ; \" \" ; sym.ttyname_r__GLIBC_2.0_plt\l0x0000022e tee_local 6\l0x00000230 i32.const 3\l0x00000232 i32.and\l0x00000233 if\l"]
- "0x00000235" [URL="entry0/0x00000235", fillcolor="#c19c00",color="#c19c00", fontname="Courier",label="0x00000235 i32.const 7\l0x00000237 set_local 0\l0x00000239 br 13\l"]
- "0x0000023b" [URL="entry0/0x0000023b", fillcolor="white",color="#767676", fontname="Courier",label="; CODE XREF from entry0 @ 0x233\l0x0000023b end\l0x0000023c i32.const 7\l0x0000023e set_local 0\l0x00000240 end\l0x00000241 get_local 7\l0x00000243 i32.const 116\l0x00000245 i32.add\l0x00000246 i32.const 8288\l0x0000024a i32.load 2 0\l0x0000024d i32.store 2 0\l0x00000250 get_local 7\l0x00000252 i32.const 116\l0x00000254 i32.add\l0x00000255 i32.load 2 0\l0x00000258 i32.const 0\l0x0000025a i32.ne\l0x0000025b if\l"]
- "0x0000025d" [URL="entry0/0x0000025d", fillcolor="#c19c00",color="#c19c00", fontname="Courier",label="0x0000025d i32.const 12\l0x0000025f set_local 0\l0x00000261 br 11\l"]
- "0x00000263" [URL="entry0/0x00000263", fillcolor="white",color="#767676", fontname="Courier",label="; CODE XREF from entry0 @ 0x25b\l0x00000263 end\l0x00000264 i32.const 8296\l0x00000268 get_local 7\l0x0000026a i32.const 124\l0x0000026c i32.add\l0x0000026d i32.load 2 0\l0x00000270 i32.store 2 0\l0x00000273 i32.const 8288\l0x00000277 i32.load 2 0\l0x0000027a set_local 3\l0x0000027c get_local 7\l0x0000027e i32.const 120\l0x00000280 i32.add\l0x00000281 i32.load 2 0\l0x00000284 set_local 2\l0x00000286 i32.const 127\l0x00000288 get_local 8\l0x0000028a get_local 2\l0x0000028c get_local 3\l0x0000028e i32.const 0\l0x00000290 i32.const 0\l0x00000292 call sym.memchr@@GLIBC_2.0@plt ; 0x2807 ; \" \" ; sym.memchr__GLIBC_2.0_plt\l0x00000294 tee_local 6\l0x00000296 i32.const 3\l0x00000298 i32.and\l0x00000299 if\l"]
- "0x0000029b" [URL="entry0/0x0000029b", fillcolor="#c19c00",color="#c19c00", fontname="Courier",label="0x0000029b i32.const 8\l0x0000029d set_local 0\l0x0000029f br 12\l"]
- "0x000002a1" [URL="entry0/0x000002a1", fillcolor="white",color="#767676", fontname="Courier",label="; CODE XREF from entry0 @ 0x299\l0x000002a1 end\l0x000002a2 i32.const 8\l0x000002a4 set_local 0\l0x000002a6 end\l0x000002a7 get_local 7\l0x000002a9 i32.const 112\l0x000002ab i32.add\l0x000002ac i32.const 8288\l0x000002b0 i32.load 2 0\l0x000002b3 i32.store 2 0\l0x000002b6 get_local 7\l0x000002b8 i32.const 112\l0x000002ba i32.add\l0x000002bb i32.load 2 0\l0x000002be i32.const 0\l0x000002c0 i32.ne\l0x000002c1 if\l"]
- "0x000002c3" [URL="entry0/0x000002c3", fillcolor="#c19c00",color="#c19c00", fontname="Courier",label="0x000002c3 i32.const 15\l0x000002c5 set_local 0\l0x000002c7 br 10\l"]
- "0x000002c9" [URL="entry0/0x000002c9", fillcolor="white",color="#767676", fontname="Courier",label="; CODE XREF from entry0 @ 0x2c1\l0x000002c9 end\l0x000002ca get_local 7\l0x000002cc i32.const 124\l0x000002ce i32.add\l0x000002cf get_local 7\l0x000002d1 i32.const 124\l0x000002d3 i32.add\l0x000002d4 i32.load 2 0\l0x000002d7 i32.const 1\l0x000002d9 i32.shl\l0x000002da i32.store 2 0\l0x000002dd get_local 7\l0x000002df i32.const 120\l0x000002e1 i32.add\l0x000002e2 i32.load 2 0\l0x000002e5 get_local 9\l0x000002e7 i32.load 2 0\l0x000002ea i32.ne\l0x000002eb if\l"]
- "0x000002ed" [URL="entry0/0x000002ed", fillcolor="#c19c00",color="#c19c00", fontname="Courier",label="0x000002ed i32.const 3\l0x000002ef set_local 0\l0x000002f1 br 10\l"]
- "0x000002f3" [URL="entry0/0x000002f3", fillcolor="white",color="#767676", fontname="Courier",label="; CODE XREF from entry0 @ 0x2eb\l0x000002f3 end\l0x000002f4 i32.const 9\l0x000002f6 set_local 0\l0x000002f8 end\l0x000002f9 get_local 7\l0x000002fb i32.const 124\l0x000002fd i32.add\l0x000002fe i32.load 2 0\l0x00000301 set_local 2\l0x00000303 i32.const 127\l0x00000305 get_local 8\l0x00000307 get_local 2\l0x00000309 get_local 3\l0x0000030b i32.const 0\l0x0000030d i32.const 0\l0x0000030f call sym.malloc@@GLIBC_2.0@plt ; 0x2747 ; \" \" ; sym.malloc__GLIBC_2.0_plt\l0x00000311 tee_local 6\l0x00000313 i32.const 3\l0x00000315 i32.and\l0x00000316 if\l"]
- "0x00000318" [URL="entry0/0x00000318", fillcolor="#c19c00",color="#c19c00", fontname="Courier",label="0x00000318 i32.const 10\l0x0000031a set_local 0\l0x0000031c br 10\l"]
- "0x0000031e" [URL="entry0/0x0000031e", fillcolor="white",color="#767676", fontname="Courier",label="; CODE XREF from entry0 @ 0x316\l0x0000031e end\l0x0000031f i32.const 10\l0x00000321 set_local 0\l0x00000323 end\l0x00000324 i32.const 8288\l0x00000328 i32.load 2 0\l0x0000032b set_local 2\l0x0000032d i32.const 5\l0x0000032f set_local 0\l0x00000331 br 7\l"]
- "0x00000425" [URL="entry0/0x00000425", fillcolor="#c19c00",color="#c19c00", fontname="Courier",label="; XREFS: CODE 0x0000015a CODE 0x00000181 CODE 0x000001d7 CODE 0x000001f5 \l; XREFS: CODE 0x00000261 CODE 0x000002c7 CODE 0x000002f1 CODE 0x00000331 \l; XREFS: CODE 0x00000369 CODE 0x0000041f \l0x00000425 end\l"]
- "0x00000426" [URL="entry0/0x00000426", fillcolor="#c19c00",color="#c19c00", fontname="Courier",label="; CODE XREFS from entry0 @ 0x1b6, 0x239, 0x29f, 0x31c\l; CODE XREF from aav.0x0000016d @ +0x222\l0x00000426 end\l0x00000427 i32.const 3\l0x00000429 get_local 6\l0x0000042b i32.and\l0x0000042c i32.const 1\l0x0000042e i32.ne\l0x0000042f if\l"]
- "0x00000431" [URL="entry0/0x00000431", fillcolor="white",color="#767676", fontname="Courier",label="0x00000431 get_local 6\l0x00000433 return\l"]
- "0x00000434" [URL="entry0/0x00000434", fillcolor="#c19c00",color="#c19c00", fontname="Courier",label="; CODE XREF from entry0 @ 0x42f\l0x00000434 end\l0x00000435 get_local 8\l0x00000437 i32.const 112\l0x00000439 i32.add\l0x0000043a get_local 7\l0x0000043c i32.store 2 0\l0x0000043f get_local 8\l0x00000441 i32.const 120\l0x00000443 i32.add\l0x00000444 get_global 2\l0x00000446 get_local 0\l0x00000448 i32.const 0\l0x0000044a i32.add\l0x0000044b i32.add\l0x0000044c i32.store 2 0\l0x0000044f i32.const 0\l0x00000451 get_local 7\l0x00000453 i32.add\l0x00000454 get_local 7\l0x00000456 i32.const 72\l0x00000459 i32.add\l0x0000045a i32.store 2 0\l0x0000045d i32.const 8\l0x0000045f get_local 7\l0x00000461 i32.add\l0x00000462 get_global 1\l0x00000464 i32.const 0\l0x00000466 i32.add\l0x00000467 i32.store 2 0\l0x0000046a i32.const 16\l0x0000046c get_local 7\l0x0000046e i32.add\l0x0000046f get_local 0\l0x00000471 i32.store 2 0\l0x00000474 i32.const 24\l0x00000476 get_local 7\l0x00000478 i32.add\l0x00000479 get_global 2\l0x0000047b get_local 0\l0x0000047d i32.const 0\l0x0000047f i32.add\l0x00000480 i32.add\l0x00000481 i32.store 2 0\l0x00000484 i32.const 28\l0x00000486 get_local 7\l0x00000488 i32.add\l0x00000489 get_global 2\l0x0000048b i32.const 0\l0x0000048d i32.add\l0x0000048e i32.store 2 0\l0x00000491 i32.const 32\l0x00000493 get_local 7\l0x00000495 i32.add\l0x00000496 get_local 8\l0x00000498 i32.store 2 0\l0x0000049b i32.const 40\l0x0000049d get_local 7\l0x0000049f i32.add\l0x000004a0 i32.const 112\l0x000004a3 i32.store 2 0\l0x000004a6 i32.const 48\l0x000004a8 get_local 7\l0x000004aa i32.add\l0x000004ab get_local 2\l0x000004ad i32.store 2 0\l0x000004b0 i32.const 56\l0x000004b2 get_local 7\l0x000004b4 i32.add\l0x000004b5 get_local 3\l0x000004b7 i32.store 2 0\l0x000004ba i32.const 64\l0x000004bd get_local 7\l0x000004bf i32.add\l0x000004c0 get_local 9\l0x000004c2 i32.store 2 0\l0x000004c5 get_local 6\l0x000004c7 return\l0x000004c8 end\l"]
- "0x000000c7" -> "0x0000015c" [color="#13a10e"];
- "0x000000c7" -> "0x00000156" [color="#c50f1f"];
- "0x00000156" -> "0x00000425" [color="#0037da"];
- "0x0000015c" -> "0x00000183" [color="#13a10e"];
- "0x0000015c" -> "0x0000017d" [color="#c50f1f"];
- "0x0000017d" -> "0x00000425" [color="#0037da"];
- "0x00000183" -> "0x000001b8" [color="#13a10e"];
- "0x00000183" -> "0x000001b2" [color="#c50f1f"];
- "0x000001b2" -> "0x00000426" [color="#0037da"];
- "0x000001b8" -> "0x000001d9" [color="#13a10e"];
- "0x000001b8" -> "0x000001d3" [color="#c50f1f"];
- "0x000001d3" -> "0x00000425" [color="#0037da"];
- "0x000001d9" -> "0x000001f7" [color="#13a10e"];
- "0x000001d9" -> "0x000001f1" [color="#c50f1f"];
- "0x000001f1" -> "0x00000425" [color="#0037da"];
- "0x000001f7" -> "0x0000023b" [color="#13a10e"];
- "0x000001f7" -> "0x00000235" [color="#c50f1f"];
- "0x00000235" -> "0x00000426" [color="#0037da"];
- "0x0000023b" -> "0x00000263" [color="#13a10e"];
- "0x0000023b" -> "0x0000025d" [color="#c50f1f"];
- "0x0000025d" -> "0x00000425" [color="#0037da"];
- "0x00000263" -> "0x000002a1" [color="#13a10e"];
- "0x00000263" -> "0x0000029b" [color="#c50f1f"];
- "0x0000029b" -> "0x00000426" [color="#0037da"];
- "0x000002a1" -> "0x000002c9" [color="#13a10e"];
- "0x000002a1" -> "0x000002c3" [color="#c50f1f"];
- "0x000002c3" -> "0x00000425" [color="#0037da"];
- "0x000002c9" -> "0x000002f3" [color="#13a10e"];
- "0x000002c9" -> "0x000002ed" [color="#c50f1f"];
- "0x000002ed" -> "0x00000425" [color="#0037da"];
- "0x000002f3" -> "0x0000031e" [color="#13a10e"];
- "0x000002f3" -> "0x00000318" [color="#c50f1f"];
- "0x00000318" -> "0x00000426" [color="#0037da"];
- "0x0000031e" -> "0x00000425" [color="#0037da"];
- "0x00000425" -> "0x00000426" [color="#0037da"];
- "0x00000426" -> "0x00000434" [color="#13a10e"];
- "0x00000426" -> "0x00000431" [color="#c50f1f"];
- "0x00000431" -> "0x00000434" [color="#0037da"];
- }
|