From 2e3db864387176bd67c1ecaa2b7cf55ec070a64e Mon Sep 17 00:00:00 2001 From: l-kent Date: Mon, 9 Oct 2023 15:16:56 +1000 Subject: [PATCH] remove impossible tests, add specifications to tests that needed them, make unresolved indirect calls cause verification failure so they are not overlooked --- src/main/scala/translating/IRToBoogie.scala | 2 +- src/test/correct/complex/clang/complex.adt | 1815 ---------------- src/test/correct/complex/clang/complex.bir | 948 --------- src/test/correct/complex/clang/complex.relf | 166 -- src/test/correct/complex/clang_O2/complex.adt | 1647 --------------- src/test/correct/complex/clang_O2/complex.bir | 811 -------- .../correct/complex/clang_O2/complex.relf | 169 -- .../correct/complex/clang_pic/complex.adt | 1852 ----------------- .../correct/complex/clang_pic/complex.bir | 959 --------- .../correct/complex/clang_pic/complex.relf | 168 -- src/test/correct/complex/complex.c | 101 - src/test/correct/complex/gcc/complex.adt | 1632 --------------- src/test/correct/complex/gcc/complex.bir | 790 ------- src/test/correct/complex/gcc/complex.relf | 170 -- src/test/correct/complex/gcc_O2/complex.adt | 1694 --------------- src/test/correct/complex/gcc_O2/complex.bir | 814 -------- src/test/correct/complex/gcc_O2/complex.relf | 171 -- src/test/correct/complex/gcc_pic/complex.adt | 1634 --------------- src/test/correct/complex/gcc_pic/complex.bir | 790 ------- src/test/correct/complex/gcc_pic/complex.relf | 172 -- .../functionpointer/functionpointer.spec | 2 + .../clang/indirect_call.expected | 234 --- .../indirect_call.expected | 234 --- .../clang_pic/indirect_call.expected | 242 --- .../indirect_call/gcc/indirect_call.expected | 277 --- .../gcc_no_plt_no_pic/indirect_call.expected | 277 --- .../jumptable/clang/jumptable.expected | 225 -- .../clang_no_plt_no_pic/jumptable.expected | 253 --- .../jumptable/clang_pic/jumptable.expected | 233 --- .../correct/jumptable/gcc/jumptable.expected | 350 ---- .../jumptable/gcc_pic/jumptable.expected | 358 ---- .../jumptable2/clang/jumptable2.expected | 239 --- .../jumptable2/clang_O2/jumptable2.expected | 212 -- .../clang_no_plt_no_pic/jumptable2.expected | 239 --- .../jumptable2/clang_pic/jumptable2.expected | 254 --- .../jumptable2/gcc_O2/jumptable2.expected | 266 --- .../jumptable2/gcc_pic/jumptable2.expected | 292 --- .../jumptable3/gcc/jumptable3.expected | 700 +++++++ .../jumptable3/gcc_O2/jumptable3.expected | 451 ++++ .../gcc_no_plt_no_pic/jumptable3.expected | 700 +++++++ .../jumptable3/gcc_pic/jumptable3.expected | 708 +++++++ src/test/correct/jumptable3/jumptable3.spec | 2 + .../correct/switch2/clang_O2/switch2.expected | 101 - .../gcc/switch2.expected} | 270 ++- .../correct/switch2/gcc_O2/switch2.expected | 157 -- .../gcc_no_plt_no_pic/switch2.expected} | 270 ++- .../correct/switch2/gcc_pic/switch2.expected | 392 ++++ src/test/correct/switch2/switch2.spec | 2 + .../correct/syscall/clang_O2/syscall.expected | 127 -- .../incorrect/iflocal/clang_O2/iflocal.adt | 485 ----- .../incorrect/iflocal/clang_O2/iflocal.bir | 224 -- .../incorrect/iflocal/clang_O2/iflocal.relf | 121 -- src/test/incorrect/iflocal/gcc_O2/iflocal.adt | 485 ----- src/test/incorrect/iflocal/gcc_O2/iflocal.bir | 224 -- .../incorrect/iflocal/gcc_O2/iflocal.relf | 119 -- .../clang_O2/nestedifglobal.adt | 492 ----- .../clang_O2/nestedifglobal.bir | 227 -- .../clang_O2/nestedifglobal.relf | 124 -- .../nestedifglobal/gcc_O2/nestedifglobal.adt | 491 ----- .../nestedifglobal/gcc_O2/nestedifglobal.bir | 227 -- .../nestedifglobal/gcc_O2/nestedifglobal.relf | 122 -- src/test/scala/SystemTests.scala | 2 +- 62 files changed, 3345 insertions(+), 24570 deletions(-) delete mode 100644 src/test/correct/complex/clang/complex.adt delete mode 100644 src/test/correct/complex/clang/complex.bir delete mode 100644 src/test/correct/complex/clang/complex.relf delete mode 100644 src/test/correct/complex/clang_O2/complex.adt delete mode 100644 src/test/correct/complex/clang_O2/complex.bir delete mode 100644 src/test/correct/complex/clang_O2/complex.relf delete mode 100644 src/test/correct/complex/clang_pic/complex.adt delete mode 100644 src/test/correct/complex/clang_pic/complex.bir delete mode 100644 src/test/correct/complex/clang_pic/complex.relf delete mode 100644 src/test/correct/complex/complex.c delete mode 100644 src/test/correct/complex/gcc/complex.adt delete mode 100644 src/test/correct/complex/gcc/complex.bir delete mode 100644 src/test/correct/complex/gcc/complex.relf delete mode 100644 src/test/correct/complex/gcc_O2/complex.adt delete mode 100644 src/test/correct/complex/gcc_O2/complex.bir delete mode 100644 src/test/correct/complex/gcc_O2/complex.relf delete mode 100644 src/test/correct/complex/gcc_pic/complex.adt delete mode 100644 src/test/correct/complex/gcc_pic/complex.bir delete mode 100644 src/test/correct/complex/gcc_pic/complex.relf create mode 100644 src/test/correct/functionpointer/functionpointer.spec delete mode 100644 src/test/correct/indirect_call/clang/indirect_call.expected delete mode 100644 src/test/correct/indirect_call/clang_no_plt_no_pic/indirect_call.expected delete mode 100644 src/test/correct/indirect_call/clang_pic/indirect_call.expected delete mode 100644 src/test/correct/indirect_call/gcc/indirect_call.expected delete mode 100644 src/test/correct/indirect_call/gcc_no_plt_no_pic/indirect_call.expected delete mode 100644 src/test/correct/jumptable/clang/jumptable.expected delete mode 100644 src/test/correct/jumptable/clang_no_plt_no_pic/jumptable.expected delete mode 100644 src/test/correct/jumptable/clang_pic/jumptable.expected delete mode 100644 src/test/correct/jumptable/gcc/jumptable.expected delete mode 100644 src/test/correct/jumptable/gcc_pic/jumptable.expected delete mode 100644 src/test/correct/jumptable2/clang/jumptable2.expected delete mode 100644 src/test/correct/jumptable2/clang_O2/jumptable2.expected delete mode 100644 src/test/correct/jumptable2/clang_no_plt_no_pic/jumptable2.expected delete mode 100644 src/test/correct/jumptable2/clang_pic/jumptable2.expected delete mode 100644 src/test/correct/jumptable2/gcc_O2/jumptable2.expected delete mode 100644 src/test/correct/jumptable2/gcc_pic/jumptable2.expected create mode 100644 src/test/correct/jumptable3/gcc/jumptable3.expected create mode 100644 src/test/correct/jumptable3/gcc_O2/jumptable3.expected create mode 100644 src/test/correct/jumptable3/gcc_no_plt_no_pic/jumptable3.expected create mode 100644 src/test/correct/jumptable3/gcc_pic/jumptable3.expected create mode 100644 src/test/correct/jumptable3/jumptable3.spec delete mode 100644 src/test/correct/switch2/clang_O2/switch2.expected rename src/test/correct/{jumptable2/gcc/jumptable2.expected => switch2/gcc/switch2.expected} (50%) delete mode 100644 src/test/correct/switch2/gcc_O2/switch2.expected rename src/test/correct/{jumptable2/gcc_no_plt_no_pic/jumptable2.expected => switch2/gcc_no_plt_no_pic/switch2.expected} (50%) create mode 100644 src/test/correct/switch2/gcc_pic/switch2.expected create mode 100644 src/test/correct/switch2/switch2.spec delete mode 100644 src/test/correct/syscall/clang_O2/syscall.expected delete mode 100644 src/test/incorrect/iflocal/clang_O2/iflocal.adt delete mode 100644 src/test/incorrect/iflocal/clang_O2/iflocal.bir delete mode 100644 src/test/incorrect/iflocal/clang_O2/iflocal.relf delete mode 100644 src/test/incorrect/iflocal/gcc_O2/iflocal.adt delete mode 100644 src/test/incorrect/iflocal/gcc_O2/iflocal.bir delete mode 100644 src/test/incorrect/iflocal/gcc_O2/iflocal.relf delete mode 100644 src/test/incorrect/nestedifglobal/clang_O2/nestedifglobal.adt delete mode 100644 src/test/incorrect/nestedifglobal/clang_O2/nestedifglobal.bir delete mode 100644 src/test/incorrect/nestedifglobal/clang_O2/nestedifglobal.relf delete mode 100644 src/test/incorrect/nestedifglobal/gcc_O2/nestedifglobal.adt delete mode 100644 src/test/incorrect/nestedifglobal/gcc_O2/nestedifglobal.bir delete mode 100644 src/test/incorrect/nestedifglobal/gcc_O2/nestedifglobal.relf diff --git a/src/main/scala/translating/IRToBoogie.scala b/src/main/scala/translating/IRToBoogie.scala index ce24b3a2e..4c06ae490 100644 --- a/src/main/scala/translating/IRToBoogie.scala +++ b/src/main/scala/translating/IRToBoogie.scala @@ -319,7 +319,7 @@ class IRToBoogie(var program: Program, var spec: Specification) { val call: List[BCmd] = if (i.target.name == "R30") { List(ReturnCmd) } else { - val unresolved: List[BCmd] = List(Comment(s"UNRESOLVED: call ${i.target.name}"), BAssume(FalseBLiteral)) + val unresolved: List[BCmd] = List(Comment(s"UNRESOLVED: call ${i.target.name}"), BAssert(FalseBLiteral)) i.returnTarget match { case Some(r) => unresolved :+ GoToCmd(r.label) case None => unresolved ++ List(Comment("no return target"), BAssume(FalseBLiteral)) diff --git a/src/test/correct/complex/clang/complex.adt b/src/test/correct/complex/clang/complex.adt deleted file mode 100644 index 83fb6f4b4..000000000 --- a/src/test/correct/complex/clang/complex.adt +++ /dev/null @@ -1,1815 +0,0 @@ -Project(Attrs([Attr("filename","\"clang/complex.out\""), -Attr("image-specification","(declare abi (name str))\n(declare arch (name str))\n(declare base-address (addr int))\n(declare bias (off int))\n(declare bits (size int))\n(declare code-region (addr int) (size int) (off int))\n(declare code-start (addr int))\n(declare entry-point (addr int))\n(declare external-reference (addr int) (name str))\n(declare format (name str))\n(declare is-executable (flag bool))\n(declare is-little-endian (flag bool))\n(declare llvm:base-address (addr int))\n(declare llvm:code-entry (name str) (off int) (size int))\n(declare llvm:coff-import-library (name str))\n(declare llvm:coff-virtual-section-header (name str) (addr int) (size int))\n(declare llvm:elf-program-header (name str) (off int) (size int))\n(declare llvm:elf-program-header-flags (name str) (ld bool) (r bool) \n (w bool) (x bool))\n(declare llvm:elf-virtual-program-header (name str) (addr int) (size int))\n(declare llvm:entry-point (addr int))\n(declare llvm:macho-symbol (name str) (value int))\n(declare llvm:name-reference (at int) (name str))\n(declare llvm:relocation (at int) (addr int))\n(declare llvm:section-entry (name str) (addr int) (size int) (off int))\n(declare llvm:section-flags (name str) (r bool) (w bool) (x bool))\n(declare llvm:segment-command (name str) (off int) (size int))\n(declare llvm:segment-command-flags (name str) (r bool) (w bool) (x bool))\n(declare llvm:symbol-entry (name str) (addr int) (size int) (off int)\n (value int))\n(declare llvm:virtual-segment-command (name str) (addr int) (size int))\n(declare mapped (addr int) (size int) (off int))\n(declare named-region (addr int) (size int) (name str))\n(declare named-symbol (addr int) (name str))\n(declare require (name str))\n(declare section (addr int) (size int))\n(declare segment (addr int) (size int) (r bool) (w bool) (x bool))\n(declare subarch (name str))\n(declare symbol-chunk (addr int) (size int) (root int))\n(declare symbol-value (addr int) (value int))\n(declare system (name str))\n(declare vendor (name str))\n\n(abi unknown)\n(arch aarch64)\n(base-address 0)\n(bias 0)\n(bits 64)\n(code-region 3588 20 3588)\n(code-region 2432 1156 2432)\n(code-region 2112 272 2112)\n(code-region 2088 24 2088)\n(code-start 2484)\n(code-start 3296)\n(code-start 3128)\n(code-start 3384)\n(code-start 2432)\n(code-start 3476)\n(code-start 2708)\n(code-start 2816)\n(entry-point 2432)\n(external-reference 73656 _ITM_deregisterTMCloneTable)\n(external-reference 73664 __cxa_finalize)\n(external-reference 73680 __gmon_start__)\n(external-reference 73696 _ITM_registerTMCloneTable)\n(external-reference 73728 exit)\n(external-reference 73736 __libc_start_main)\n(external-reference 73744 __cxa_finalize)\n(external-reference 73752 fclose)\n(external-reference 73760 fopen)\n(external-reference 73768 strncmp)\n(external-reference 73776 rewind)\n(external-reference 73784 strdup)\n(external-reference 73792 __gmon_start__)\n(external-reference 73800 abort)\n(external-reference 73808 strcmp)\n(external-reference 73816 free)\n(external-reference 73824 strcspn)\n(external-reference 73832 printf)\n(external-reference 73840 fgets)\n(format elf)\n(is-executable true)\n(is-little-endian true)\n(llvm:base-address 0)\n(llvm:code-entry fgets 0 0)\n(llvm:code-entry printf 0 0)\n(llvm:code-entry strcspn 0 0)\n(llvm:code-entry free 0 0)\n(llvm:code-entry strcmp 0 0)\n(llvm:code-entry abort 0 0)\n(llvm:code-entry strdup 0 0)\n(llvm:code-entry rewind 0 0)\n(llvm:code-entry strncmp 0 0)\n(llvm:code-entry fopen 0 0)\n(llvm:code-entry fclose 0 0)\n(llvm:code-entry __cxa_finalize 0 0)\n(llvm:code-entry __libc_start_main 0 0)\n(llvm:code-entry exit 0 0)\n(llvm:code-entry fgets@GLIBC_2.17 0 0)\n(llvm:code-entry _init 2088 0)\n(llvm:code-entry printf@GLIBC_2.17 0 0)\n(llvm:code-entry strcspn@GLIBC_2.17 0 0)\n(llvm:code-entry handleInput 2816 312)\n(llvm:code-entry main 2708 108)\n(llvm:code-entry closeFile 3476 112)\n(llvm:code-entry _start 2432 52)\n(llvm:code-entry free@GLIBC_2.17 0 0)\n(llvm:code-entry strcmp@GLIBC_2.17 0 0)\n(llvm:code-entry abort@GLIBC_2.17 0 0)\n(llvm:code-entry strdup@GLIBC_2.17 0 0)\n(llvm:code-entry rewind@GLIBC_2.17 0 0)\n(llvm:code-entry strncmp@GLIBC_2.17 0 0)\n(llvm:code-entry saveFile 3384 92)\n(llvm:code-entry fopen@GLIBC_2.17 0 0)\n(llvm:code-entry fclose@GLIBC_2.17 0 0)\n(llvm:code-entry _fini 3588 0)\n(llvm:code-entry openFile 3128 168)\n(llvm:code-entry __cxa_finalize@GLIBC_2.17 0 0)\n(llvm:code-entry __libc_start_main@GLIBC_2.34 0 0)\n(llvm:code-entry exit@GLIBC_2.17 0 0)\n(llvm:code-entry printHelp 3296 88)\n(llvm:code-entry frame_dummy 2704 0)\n(llvm:code-entry __do_global_dtors_aux 2624 0)\n(llvm:code-entry register_tm_clones 2560 0)\n(llvm:code-entry deregister_tm_clones 2512 0)\n(llvm:code-entry call_weak_fn 2484 20)\n(llvm:code-entry .fini 3588 20)\n(llvm:code-entry .text 2432 1156)\n(llvm:code-entry .plt 2112 272)\n(llvm:code-entry .init 2088 24)\n(llvm:elf-program-header 08 7616 576)\n(llvm:elf-program-header 07 0 0)\n(llvm:elf-program-header 06 4096 100)\n(llvm:elf-program-header 05 596 68)\n(llvm:elf-program-header 04 7632 480)\n(llvm:elf-program-header 03 7616 712)\n(llvm:elf-program-header 02 0 4592)\n(llvm:elf-program-header 01 568 27)\n(llvm:elf-program-header 00 64 504)\n(llvm:elf-program-header-flags 08 false true false false)\n(llvm:elf-program-header-flags 07 false true true false)\n(llvm:elf-program-header-flags 06 false true false false)\n(llvm:elf-program-header-flags 05 false true false false)\n(llvm:elf-program-header-flags 04 false true true false)\n(llvm:elf-program-header-flags 03 true true true false)\n(llvm:elf-program-header-flags 02 true true false true)\n(llvm:elf-program-header-flags 01 false true false false)\n(llvm:elf-program-header-flags 00 false true false false)\n(llvm:elf-virtual-program-header 08 73152 576)\n(llvm:elf-virtual-program-header 07 0 0)\n(llvm:elf-virtual-program-header 06 4096 100)\n(llvm:elf-virtual-program-header 05 596 68)\n(llvm:elf-virtual-program-header 04 73168 480)\n(llvm:elf-virtual-program-header 03 73152 736)\n(llvm:elf-virtual-program-header 02 0 4592)\n(llvm:elf-virtual-program-header 01 568 27)\n(llvm:elf-virtual-program-header 00 64 504)\n(llvm:entry-point 2432)\n(llvm:name-reference 73840 fgets)\n(llvm:name-reference 73832 printf)\n(llvm:name-reference 73824 strcspn)\n(llvm:name-reference 73816 free)\n(llvm:name-reference 73808 strcmp)\n(llvm:name-reference 73800 abort)\n(llvm:name-reference 73792 __gmon_start__)\n(llvm:name-reference 73784 strdup)\n(llvm:name-reference 73776 rewind)\n(llvm:name-reference 73768 strncmp)\n(llvm:name-reference 73760 fopen)\n(llvm:name-reference 73752 fclose)\n(llvm:name-reference 73744 __cxa_finalize)\n(llvm:name-reference 73736 __libc_start_main)\n(llvm:name-reference 73728 exit)\n(llvm:name-reference 73696 _ITM_registerTMCloneTable)\n(llvm:name-reference 73680 __gmon_start__)\n(llvm:name-reference 73664 __cxa_finalize)\n(llvm:name-reference 73656 _ITM_deregisterTMCloneTable)\n(llvm:section-entry .shstrtab 0 259 11873)\n(llvm:section-entry .strtab 0 857 11016)\n(llvm:section-entry .symtab 0 2616 8400)\n(llvm:section-entry .comment 0 71 8328)\n(llvm:section-entry .bss 73864 24 8328)\n(llvm:section-entry .data 73848 16 8312)\n(llvm:section-entry .got.plt 73704 144 8168)\n(llvm:section-entry .got 73648 56 8112)\n(llvm:section-entry .dynamic 73168 480 7632)\n(llvm:section-entry .fini_array 73160 8 7624)\n(llvm:section-entry .init_array 73152 8 7616)\n(llvm:section-entry .eh_frame 4200 392 4200)\n(llvm:section-entry .eh_frame_hdr 4096 100 4096)\n(llvm:section-entry .rodata 3608 485 3608)\n(llvm:section-entry .fini 3588 20 3588)\n(llvm:section-entry .text 2432 1156 2432)\n(llvm:section-entry .plt 2112 272 2112)\n(llvm:section-entry .init 2088 24 2088)\n(llvm:section-entry .rela.plt 1728 360 1728)\n(llvm:section-entry .rela.dyn 1512 216 1512)\n(llvm:section-entry .gnu.version_r 1464 48 1464)\n(llvm:section-entry .gnu.version 1420 42 1420)\n(llvm:section-entry .dynstr 1200 220 1200)\n(llvm:section-entry .dynsym 696 504 696)\n(llvm:section-entry .gnu.hash 664 28 664)\n(llvm:section-entry .note.ABI-tag 632 32 632)\n(llvm:section-entry .note.gnu.build-id 596 36 596)\n(llvm:section-entry .interp 568 27 568)\n(llvm:section-flags .shstrtab true false false)\n(llvm:section-flags .strtab true false false)\n(llvm:section-flags .symtab true false false)\n(llvm:section-flags .comment true false false)\n(llvm:section-flags .bss true true false)\n(llvm:section-flags .data true true false)\n(llvm:section-flags .got.plt true true false)\n(llvm:section-flags .got true true false)\n(llvm:section-flags .dynamic true true false)\n(llvm:section-flags .fini_array true true false)\n(llvm:section-flags .init_array true true false)\n(llvm:section-flags .eh_frame true false false)\n(llvm:section-flags .eh_frame_hdr true false false)\n(llvm:section-flags .rodata true false false)\n(llvm:section-flags .fini true false true)\n(llvm:section-flags .text true false true)\n(llvm:section-flags .plt true false true)\n(llvm:section-flags .init true false true)\n(llvm:section-flags .rela.plt true false false)\n(llvm:section-flags .rela.dyn true false false)\n(llvm:section-flags .gnu.version_r true false false)\n(llvm:section-flags .gnu.version true false false)\n(llvm:section-flags .dynstr true false false)\n(llvm:section-flags .dynsym true false false)\n(llvm:section-flags .gnu.hash true false false)\n(llvm:section-flags .note.ABI-tag true false false)\n(llvm:section-flags .note.gnu.build-id true false false)\n(llvm:section-flags .interp true false false)\n(llvm:symbol-entry fgets 0 0 0 0)\n(llvm:symbol-entry printf 0 0 0 0)\n(llvm:symbol-entry strcspn 0 0 0 0)\n(llvm:symbol-entry free 0 0 0 0)\n(llvm:symbol-entry strcmp 0 0 0 0)\n(llvm:symbol-entry abort 0 0 0 0)\n(llvm:symbol-entry strdup 0 0 0 0)\n(llvm:symbol-entry rewind 0 0 0 0)\n(llvm:symbol-entry strncmp 0 0 0 0)\n(llvm:symbol-entry fopen 0 0 0 0)\n(llvm:symbol-entry fclose 0 0 0 0)\n(llvm:symbol-entry __cxa_finalize 0 0 0 0)\n(llvm:symbol-entry __libc_start_main 0 0 0 0)\n(llvm:symbol-entry exit 0 0 0 0)\n(llvm:symbol-entry fgets@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry _init 2088 0 2088 2088)\n(llvm:symbol-entry printf@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strcspn@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry handleInput 2816 312 2816 2816)\n(llvm:symbol-entry main 2708 108 2708 2708)\n(llvm:symbol-entry closeFile 3476 112 3476 3476)\n(llvm:symbol-entry _start 2432 52 2432 2432)\n(llvm:symbol-entry free@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strcmp@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry abort@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strdup@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry rewind@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strncmp@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry saveFile 3384 92 3384 3384)\n(llvm:symbol-entry fopen@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry fclose@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry _fini 3588 0 3588 3588)\n(llvm:symbol-entry openFile 3128 168 3128 3128)\n(llvm:symbol-entry __cxa_finalize@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry __libc_start_main@GLIBC_2.34 0 0 0 0)\n(llvm:symbol-entry exit@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry printHelp 3296 88 3296 3296)\n(llvm:symbol-entry frame_dummy 2704 0 2704 2704)\n(llvm:symbol-entry __do_global_dtors_aux 2624 0 2624 2624)\n(llvm:symbol-entry register_tm_clones 2560 0 2560 2560)\n(llvm:symbol-entry deregister_tm_clones 2512 0 2512 2512)\n(llvm:symbol-entry call_weak_fn 2484 20 2484 2484)\n(mapped 0 4592 0)\n(mapped 73152 712 7616)\n(named-region 0 4592 02)\n(named-region 73152 736 03)\n(named-region 568 27 .interp)\n(named-region 596 36 .note.gnu.build-id)\n(named-region 632 32 .note.ABI-tag)\n(named-region 664 28 .gnu.hash)\n(named-region 696 504 .dynsym)\n(named-region 1200 220 .dynstr)\n(named-region 1420 42 .gnu.version)\n(named-region 1464 48 .gnu.version_r)\n(named-region 1512 216 .rela.dyn)\n(named-region 1728 360 .rela.plt)\n(named-region 2088 24 .init)\n(named-region 2112 272 .plt)\n(named-region 2432 1156 .text)\n(named-region 3588 20 .fini)\n(named-region 3608 485 .rodata)\n(named-region 4096 100 .eh_frame_hdr)\n(named-region 4200 392 .eh_frame)\n(named-region 73152 8 .init_array)\n(named-region 73160 8 .fini_array)\n(named-region 73168 480 .dynamic)\n(named-region 73648 56 .got)\n(named-region 73704 144 .got.plt)\n(named-region 73848 16 .data)\n(named-region 73864 24 .bss)\n(named-region 0 71 .comment)\n(named-region 0 2616 .symtab)\n(named-region 0 857 .strtab)\n(named-region 0 259 .shstrtab)\n(named-symbol 2484 call_weak_fn)\n(named-symbol 2512 deregister_tm_clones)\n(named-symbol 2560 register_tm_clones)\n(named-symbol 2624 __do_global_dtors_aux)\n(named-symbol 2704 frame_dummy)\n(named-symbol 3296 printHelp)\n(named-symbol 0 exit@GLIBC_2.17)\n(named-symbol 0 __libc_start_main@GLIBC_2.34)\n(named-symbol 0 __cxa_finalize@GLIBC_2.17)\n(named-symbol 3128 openFile)\n(named-symbol 3588 _fini)\n(named-symbol 0 fclose@GLIBC_2.17)\n(named-symbol 0 fopen@GLIBC_2.17)\n(named-symbol 3384 saveFile)\n(named-symbol 0 strncmp@GLIBC_2.17)\n(named-symbol 0 rewind@GLIBC_2.17)\n(named-symbol 0 strdup@GLIBC_2.17)\n(named-symbol 0 abort@GLIBC_2.17)\n(named-symbol 0 strcmp@GLIBC_2.17)\n(named-symbol 0 free@GLIBC_2.17)\n(named-symbol 2432 _start)\n(named-symbol 3476 closeFile)\n(named-symbol 2708 main)\n(named-symbol 2816 handleInput)\n(named-symbol 0 strcspn@GLIBC_2.17)\n(named-symbol 0 printf@GLIBC_2.17)\n(named-symbol 2088 _init)\n(named-symbol 0 fgets@GLIBC_2.17)\n(named-symbol 0 exit)\n(named-symbol 0 __libc_start_main)\n(named-symbol 0 __cxa_finalize)\n(named-symbol 0 fclose)\n(named-symbol 0 fopen)\n(named-symbol 0 strncmp)\n(named-symbol 0 rewind)\n(named-symbol 0 strdup)\n(named-symbol 0 abort)\n(named-symbol 0 strcmp)\n(named-symbol 0 free)\n(named-symbol 0 strcspn)\n(named-symbol 0 printf)\n(named-symbol 0 fgets)\n(require libc.so.6)\n(section 568 27)\n(section 596 36)\n(section 632 32)\n(section 664 28)\n(section 696 504)\n(section 1200 220)\n(section 1420 42)\n(section 1464 48)\n(section 1512 216)\n(section 1728 360)\n(section 2088 24)\n(section 2112 272)\n(section 2432 1156)\n(section 3588 20)\n(section 3608 485)\n(section 4096 100)\n(section 4200 392)\n(section 73152 8)\n(section 73160 8)\n(section 73168 480)\n(section 73648 56)\n(section 73704 144)\n(section 73848 16)\n(section 73864 24)\n(section 0 71)\n(section 0 2616)\n(section 0 857)\n(section 0 259)\n(segment 0 4592 true false true)\n(segment 73152 736 true true false)\n(subarch v8)\n(symbol-chunk 2484 20 2484)\n(symbol-chunk 3296 88 3296)\n(symbol-chunk 3128 168 3128)\n(symbol-chunk 3384 92 3384)\n(symbol-chunk 2432 52 2432)\n(symbol-chunk 3476 112 3476)\n(symbol-chunk 2708 108 2708)\n(symbol-chunk 2816 312 2816)\n(symbol-value 2484 2484)\n(symbol-value 2512 2512)\n(symbol-value 2560 2560)\n(symbol-value 2624 2624)\n(symbol-value 2704 2704)\n(symbol-value 3296 3296)\n(symbol-value 3128 3128)\n(symbol-value 3588 3588)\n(symbol-value 3384 3384)\n(symbol-value 2432 2432)\n(symbol-value 3476 3476)\n(symbol-value 2708 2708)\n(symbol-value 2816 2816)\n(symbol-value 2088 2088)\n(symbol-value 0 0)\n(system \"\")\n(vendor \"\")\n"), -Attr("abi-name","\"aarch64-linux-gnu-elf\"")]), -Sections([Section(".shstrtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x80\x09\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x68\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1d\x00\x1c\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x11\x00\x00\x00\x00\x00\x00\xf0\x11\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\xc0\x1d\x00\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\xc0\x1d\x01"), -Section(".strtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x80\x09\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x68\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1d\x00\x1c\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x11\x00\x00\x00\x00\x00\x00\xf0\x11\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\xc0\x1d\x00\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\xc8\x02\x00\x00\x00\x00\x00\x00\xe0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\xd0\x1d\x00\x00\x00\x00\x00\x00\xd0\x1d\x01\x00\x00\x00\x00\x00\xd0\x1d\x01\x00\x00\x00\x00\x00\xe0\x01\x00\x00\x00\x00\x00\x00\xe0\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x50\xe5\x74\x64\x04\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x51\xe5\x74\x64\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x52\xe5\x74\x64\x04\x00\x00\x00\xc0\x1d\x00\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00\x00\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\x4e\x25\xa1\x29\xd5\x95\x4a\x27\x78\xfe\x93\xd7\x64\x35\x72\x6e\x10\x0e\xf8\x6f\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\x28\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x17\x00\x78\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".symtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x80\x09\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x68\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1d\x00\x1c\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x11\x00\x00\x00\x00\x00\x00\xf0\x11\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\xc0\x1d\x00\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\xc8\x02\x00\x00\x00\x00\x00\x00\xe0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\xd0\x1d\x00\x00\x00\x00\x00\x00\xd0\x1d\x01\x00\x00\x00\x00\x00\xd0\x1d\x01\x00\x00\x00\x00\x00\xe0\x01\x00\x00\x00\x00\x00\x00\xe0\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x50\xe5\x74\x64\x04\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x51\xe5\x74\x64\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x52\xe5\x74\x64\x04\x00\x00\x00\xc0\x1d\x00\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00\x00\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\x4e\x25\xa1\x29\xd5\x95\x4a\x27\x78\xfe\x93\xd7\x64\x35\x72\x6e\x10\x0e\xf8\x6f\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\x28\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x17\x00\x78\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x5f\x63\x78\x61\x5f\x66\x69\x6e\x61\x6c\x69\x7a\x65\x00\x66\x67\x65\x74\x73\x00\x73\x74\x72\x63\x73\x70\x6e\x00\x5f\x5f\x6c\x69\x62\x63\x5f\x73\x74\x61\x72\x74\x5f\x6d\x61\x69\x6e\x00\x73\x74\x72\x63\x6d\x70\x00\x66\x6f\x70\x65\x6e\x00\x66\x63\x6c\x6f\x73\x65\x00\x73\x74\x72\x6e\x63\x6d\x70\x00\x66\x72\x65\x65\x00\x73\x74\x72\x64\x75\x70\x00\x73\x74\x64\x69\x6e\x00\x61\x62\x6f\x72\x74\x00\x65\x78\x69\x74\x00\x72\x65\x77\x69\x6e\x64\x00\x70\x72\x69\x6e\x74\x66\x00\x6c\x69\x62\x63\x2e\x73\x6f\x2e\x36\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x33\x34\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x31\x37\x00\x5f\x49\x54\x4d\x5f\x64\x65\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x5f\x5f\x67\x6d\x6f\x6e\x5f\x73\x74\x61\x72\x74\x5f\x5f\x00\x5f\x49\x54\x4d\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x02\x00\x02\x00\x00\x00\x01\x00\x02\x00\x77\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\xb4\x91\x96\x06\x00\x00\x03\x00\x81\x00\x00\x00\x10\x00\x00\x00\x97\x91\x96\x06\x00\x00\x02\x00\x8c\x00\x00\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x90\x0a\x00\x00\x00\x00\x00\x00\xc8\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x40\x0a\x00\x00\x00\x00\x00\x00\xd8\x1f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x94\x0a\x00\x00\x00\x00\x00\x00\x80\x20\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x80\x20\x01\x00\x00\x00\x00\x00\xb8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x60\x00\x00\x94\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6\xf0\x7b\xbf\xa9\x90\x00\x00\xb0\x11\xfe\x47\xf9\x10\xe2\x3f\x91\x20\x02\x1f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x90\x00\x00\xd0\x11\x02\x40\xf9\x10\x02\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x06\x40\xf9\x10\x22\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x0a\x40\xf9\x10\x42\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x0e\x40\xf9\x10\x62\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x12\x40\xf9\x10\x82\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x16\x40\xf9\x10\xa2\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x1a\x40\xf9\x10\xc2\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x1e\x40\xf9\x10\xe2\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x22\x40\xf9\x10\x02\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x26\x40\xf9\x10\x22\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x2a\x40\xf9\x10\x42\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x2e\x40\xf9\x10\x62\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x32\x40\xf9\x10\x82\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x36\x40\xf9\x10\xa2\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x3a\x40\xf9\x10\xc2\x01\x91\x20\x02\x1f\xd6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x20\x03\xd5\x1d\x00\x80\xd2\x1e\x00\x80\xd2\xe5\x03\x00\xaa\xe1\x03\x40\xf9\xe2\x23\x00\x91\xe6\x03\x00\x91\x80\x00\x00\xb0\x00\xec\x47\xf9\x03\x00\x80\xd2\x04\x00\x80\xd2\xb1\xff\xff\x97\xd0\xff\xff\x97\x80\x00\x00\xb0\x00\xe8\x47\xf9\x40\x00\x00\xb4\xc8\xff\xff\x17\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x80\x00\x00\xd0\x00\x20\x02\x91\x81\x00\x00\xd0\x21\x20\x02\x91\x3f\x00\x00\xeb\xc0\x00\x00\x54\x81\x00\x00\xb0\x21\xdc\x47\xf9\x61\x00\x00\xb4\xf0\x03\x01\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x80\x00\x00\xd0\x00\x20\x02\x91\x81\x00\x00\xd0\x21\x20\x02\x91\x21\x00\x00\xcb\x22\xfc\x7f\xd3\x41\x0c\x81\x8b\x21\xfc\x41\x93\xc1\x00\x00\xb4\x82\x00\x00\xb0\x42\xf0\x47\xf9\x62\x00\x00\xb4\xf0\x03\x02\xaa\x00\x02\x1f\xd6"), -Section(".comment", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x80\x09\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x68\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1d\x00\x1c\x00\x06\x00\x00\x00\x04\x00\x00"), -Section(".interp", 0x238, "\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00"), -Section(".note.gnu.build-id", 0x254, "\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\x4e\x25\xa1\x29\xd5\x95\x4a\x27\x78\xfe\x93\xd7\x64\x35\x72\x6e\x10\x0e\xf8\x6f"), -Section(".note.ABI-tag", 0x278, "\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00"), -Section(".gnu.hash", 0x298, "\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".dynsym", 0x2B8, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\x28\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x17\x00\x78\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".dynstr", 0x4B0, "\x00\x5f\x5f\x63\x78\x61\x5f\x66\x69\x6e\x61\x6c\x69\x7a\x65\x00\x66\x67\x65\x74\x73\x00\x73\x74\x72\x63\x73\x70\x6e\x00\x5f\x5f\x6c\x69\x62\x63\x5f\x73\x74\x61\x72\x74\x5f\x6d\x61\x69\x6e\x00\x73\x74\x72\x63\x6d\x70\x00\x66\x6f\x70\x65\x6e\x00\x66\x63\x6c\x6f\x73\x65\x00\x73\x74\x72\x6e\x63\x6d\x70\x00\x66\x72\x65\x65\x00\x73\x74\x72\x64\x75\x70\x00\x73\x74\x64\x69\x6e\x00\x61\x62\x6f\x72\x74\x00\x65\x78\x69\x74\x00\x72\x65\x77\x69\x6e\x64\x00\x70\x72\x69\x6e\x74\x66\x00\x6c\x69\x62\x63\x2e\x73\x6f\x2e\x36\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x33\x34\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x31\x37\x00\x5f\x49\x54\x4d\x5f\x64\x65\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x5f\x5f\x67\x6d\x6f\x6e\x5f\x73\x74\x61\x72\x74\x5f\x5f\x00\x5f\x49\x54\x4d\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00"), -Section(".gnu.version", 0x58C, "\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x02\x00\x02\x00"), -Section(".gnu.version_r", 0x5B8, "\x01\x00\x02\x00\x77\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\xb4\x91\x96\x06\x00\x00\x03\x00\x81\x00\x00\x00\x10\x00\x00\x00\x97\x91\x96\x06\x00\x00\x02\x00\x8c\x00\x00\x00\x00\x00\x00\x00"), -Section(".rela.dyn", 0x5E8, "\xc0\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x90\x0a\x00\x00\x00\x00\x00\x00\xc8\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x40\x0a\x00\x00\x00\x00\x00\x00\xd8\x1f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x94\x0a\x00\x00\x00\x00\x00\x00\x80\x20\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x80\x20\x01\x00\x00\x00\x00\x00\xb8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".rela.plt", 0x6C0, "\x00\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".init", 0x828, "\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x60\x00\x00\x94\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".plt", 0x840, "\xf0\x7b\xbf\xa9\x90\x00\x00\xb0\x11\xfe\x47\xf9\x10\xe2\x3f\x91\x20\x02\x1f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x90\x00\x00\xd0\x11\x02\x40\xf9\x10\x02\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x06\x40\xf9\x10\x22\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x0a\x40\xf9\x10\x42\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x0e\x40\xf9\x10\x62\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x12\x40\xf9\x10\x82\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x16\x40\xf9\x10\xa2\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x1a\x40\xf9\x10\xc2\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x1e\x40\xf9\x10\xe2\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x22\x40\xf9\x10\x02\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x26\x40\xf9\x10\x22\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x2a\x40\xf9\x10\x42\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x2e\x40\xf9\x10\x62\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x32\x40\xf9\x10\x82\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x36\x40\xf9\x10\xa2\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x3a\x40\xf9\x10\xc2\x01\x91\x20\x02\x1f\xd6"), -Section(".text", 0x980, "\x1f\x20\x03\xd5\x1d\x00\x80\xd2\x1e\x00\x80\xd2\xe5\x03\x00\xaa\xe1\x03\x40\xf9\xe2\x23\x00\x91\xe6\x03\x00\x91\x80\x00\x00\xb0\x00\xec\x47\xf9\x03\x00\x80\xd2\x04\x00\x80\xd2\xb1\xff\xff\x97\xd0\xff\xff\x97\x80\x00\x00\xb0\x00\xe8\x47\xf9\x40\x00\x00\xb4\xc8\xff\xff\x17\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x80\x00\x00\xd0\x00\x20\x02\x91\x81\x00\x00\xd0\x21\x20\x02\x91\x3f\x00\x00\xeb\xc0\x00\x00\x54\x81\x00\x00\xb0\x21\xdc\x47\xf9\x61\x00\x00\xb4\xf0\x03\x01\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x80\x00\x00\xd0\x00\x20\x02\x91\x81\x00\x00\xd0\x21\x20\x02\x91\x21\x00\x00\xcb\x22\xfc\x7f\xd3\x41\x0c\x81\x8b\x21\xfc\x41\x93\xc1\x00\x00\xb4\x82\x00\x00\xb0\x42\xf0\x47\xf9\x62\x00\x00\xb4\xf0\x03\x02\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\xfd\x7b\xbe\xa9\xfd\x03\x00\x91\xf3\x0b\x00\xf9\x93\x00\x00\xd0\x60\x22\x42\x39\x40\x01\x00\x35\x80\x00\x00\xb0\x00\xe0\x47\xf9\x80\x00\x00\xb4\x80\x00\x00\xd0\x00\x40\x40\xf9\x85\xff\xff\x97\xd8\xff\xff\x97\x20\x00\x80\x52\x60\x22\x02\x39\xf3\x0b\x40\xf9\xfd\x7b\xc2\xa8\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\xdc\xff\xff\x17\xff\xc3\x04\xd1\xfd\x7b\x11\xa9\xfc\x93\x00\xf9\xfd\x43\x04\x91\xbf\xc3\x1f\xb8\x01\x00\x00\x14\x00\x00\x00\x90\x00\x70\x38\x91\x9f\xff\xff\x97\x88\x00\x00\xb0\x08\xe5\x47\xf9\x02\x01\x40\xf9\xe0\x33\x00\x91\xe0\x03\x00\xf9\x01\x20\x80\x52\x9c\xff\xff\x97\xe0\x03\x40\xf9\x01\x00\x00\x90\x21\xcc\x3e\x91\x90\xff\xff\x97\xe9\x03\x00\xaa\xe0\x03\x40\xf9\xe8\x03\x00\xaa\x08\x01\x09\x8b\x1f\x01\x00\x39\x02\x00\x00\x94\xec\xff\xff\x17\xff\x83\x00\xd1\xfd\x7b\x01\xa9\xfd\x43\x00\x91\xe0\x07\x00\xf9\xe0\x07\x40\xf9\x01\x00\x00\x90\x21\xb8\x38\x91\x79\xff\xff\x97\x08\x00\x00\x71\xe8\x07\x9f\x1a\x88\x00\x00\x37\x01\x00\x00\x14\x6c\x00\x00\x94\x3e\x00\x00\x14\xe0\x07\x40\xf9\x01\x00\x00\x90\x21\xcc\x38\x91\xa2\x00\x80\xd2\x5a\xff\xff\x97\x08\x00\x00\x71\xe8\x07\x9f\x1a\x08\x01\x00\x37\x01\x00\x00\x14\xe8\x07\x40\xf9\x08\x15\x00\x91\xe8\x03\x00\xf9\xe0\x03\x40\xf9\x33\x00\x00\x94\x2e\x00\x00\x14\xe0\x07\x40\xf9\x01\x00\x00\x90\x21\xe4\x38\x91\x60\xff\xff\x97\x08\x00\x00\x71\xe8\x07\x9f\x1a\x88\x00\x00\x37\x01\x00\x00\x14\x69\x00\x00\x94\x23\x00\x00\x14\xe0\x07\x40\xf9\x01\x00\x00\x90\x21\xf8\x38\x91\x56\xff\xff\x97\x08\x00\x00\x71\xe8\x07\x9f\x1a\x88\x00\x00\x37\x01\x00\x00\x14\x76\x00\x00\x94\x18\x00\x00\x14\xe0\x07\x40\xf9\x01\x00\x00\x90\x21\x10\x39\x91\x4c\xff\xff\x97\x08\x00\x00\x71\xe8\x07\x9f\x1a\x88\x01\x00\x37\x01\x00\x00\x14\x88\x00\x00\xd0\x08\x4d\x40\xf9\x08\x01\x00\xf1\xe8\x17\x9f\x1a\x88\x00\x00\x37\x01\x00\x00\x14\x66\x00\x00\x94\x01\x00\x00\x14\xe0\x03\x1f\x2a\x16\xff\xff\x97\x00\x00\x00\x90\x00\x24\x39\x91\x47\xff\xff\x97\x01\x00\x00\x14\x01\x00\x00\x14\x01\x00\x00\x14\x01\x00\x00\x14\x01\x00\x00\x14\xfd\x7b\x41\xa9\xff\x83\x00\x91\xc0\x03\x5f\xd6\xff\x83\x00\xd1\xfd\x7b\x01\xa9\xfd\x43\x00\x91\xe0\x07\x00\xf9\x88\x00\x00\xd0\x08\x4d\x40\xf9\x08\x01\x00\xf1\xe8\x17\x9f\x1a\x88\x00\x00\x37\x01\x00\x00\x14\x4d\x00\x00\x94\x01\x00\x00\x14\xe0\x07\x40\xf9\x19\xff\xff\x97\x88\x00\x00\xd0\x00\x49\x00\xf9\x00\x49\x40\xf9\x01\x00\x00\x90\x21\x18\x3e\x91\x07\xff\xff\x97\x88\x00\x00\xd0\x00\x4d\x00\xf9\x08\x4d\x40\xf9\x08\x01\x00\xf1\xe8\x07\x9f\x1a\x08\x01\x00\x37\x01\x00\x00\x14\x88\x00\x00\xd0\x01\x49\x40\xf9\x00\x00\x00\x90\x00\x24\x3e\x91\x1f\xff\xff\x97\x07\x00\x00\x14\x88\x00\x00\xd0\x01\x49\x40\xf9\x00\x00\x00\x90\x00\x8c\x3e\x91\x19\xff\xff\x97\x01\x00\x00\x14\xfd\x7b\x41\xa9\xff\x83\x00\x91\xc0\x03\x5f\xd6\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x00\x00\x00\x90\x00\xfc\x39\x91\x10\xff\xff\x97\x00\x00\x00\x90\x00\x28\x3a\x91\x0d\xff\xff\x97\x00\x00\x00\x90\x00\xf8\x3a\x91\x0a\xff\xff\x97\x00\x00\x00\x90\x00\xc0\x3b\x91\x07\xff\xff\x97\x00\x00\x00\x90\x00\xac\x3c\x91\x04\xff\xff\x97\x00\x00\x00\x90\x00\x70\x3d\x91\x01\xff\xff\x97\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x88\x00\x00\xd0\x08\x4d\x40\xf9\x08\x01\x00\xf1\xe8\x07\x9f\x1a\xc8\x00\x00\x37\x01\x00\x00\x14\x00\x00\x00\x90\x00\xd4\x3e\x91\xf4\xfe\xff\x97\x0a\x00\x00\x14\x88\x00\x00\xd0\x00\x4d\x40\xf9\xd4\xfe\xff\x97\x88\x00\x00\xd0\x01\x49\x40\xf9\x00\x00\x00\x90\x00\x40\x3f\x91\xeb\xfe\xff\x97\x01\x00\x00\x14\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6\xff\x83\x00\xd1\xfd\x7b\x01\xa9\xfd\x43\x00\x91\x88\x00\x00\xd0\x08\x4d\x40\xf9\x08\x01\x00\xf1\xe8\x17\x9f\x1a\x48\x02\x00\x37\x01\x00\x00\x14\x88\x00\x00\xd0\xe8\x03\x00\xf9\x00\x4d\x40\xf9\xb3\xfe\xff\x97\x88\x00\x00\xd0\xe8\x07\x00\xf9\x00\x49\x40\xf9\xcf\xfe\xff\x97\xe9\x03\x40\xf9\xe8\x07\x40\xf9\x3f\x4d\x00\xf9\x1f\x49\x00\xf9\x00\x00\x00\x90\x00\xb0\x3f\x91\xd0\xfe\xff\x97\x01\x00\x00\x14\xfd\x7b\x41\xa9\xff\x83\x00\x91\xc0\x03\x5f\xd6"), -Section(".fini", 0xE04, "\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".rodata", 0xE18, "\x01\x00\x02\x00\x45\x6e\x74\x65\x72\x20\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x3a\x20\x00\x68\x65\x6c\x70\x00\x6f\x70\x65\x6e\x20\x00\x73\x61\x76\x65\x00\x63\x6c\x6f\x73\x65\x00\x65\x78\x69\x74\x00\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x2e\x20\x54\x79\x70\x65\x20\x27\x68\x65\x6c\x70\x27\x20\x66\x6f\x72\x20\x61\x20\x6c\x69\x73\x74\x20\x6f\x66\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x73\x2e\x0a\x00\x43\x6f\x6d\x6d\x61\x6e\x64\x73\x3a\x0a\x00\x20\x20\x68\x65\x6c\x70\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x44\x69\x73\x70\x6c\x61\x79\x20\x74\x68\x69\x73\x20\x68\x65\x6c\x70\x20\x6d\x65\x73\x73\x61\x67\x65\x0a\x00\x20\x20\x6f\x70\x65\x6e\x20\x3c\x66\x69\x6c\x65\x6e\x61\x6d\x65\x3e\x20\x20\x20\x20\x20\x20\x2d\x20\x4f\x70\x65\x6e\x20\x61\x20\x66\x69\x6c\x65\x20\x66\x6f\x72\x20\x65\x64\x69\x74\x69\x6e\x67\x0a\x00\x20\x20\x73\x61\x76\x65\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x53\x61\x76\x65\x20\x63\x68\x61\x6e\x67\x65\x73\x20\x74\x6f\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x66\x69\x6c\x65\x0a\x00\x20\x20\x63\x6c\x6f\x73\x65\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x43\x6c\x6f\x73\x65\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x66\x69\x6c\x65\x0a\x00\x20\x20\x65\x78\x69\x74\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x45\x78\x69\x74\x20\x74\x68\x65\x20\x65\x64\x69\x74\x6f\x72\x0a\x00\x72\x2b\x00\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x6f\x70\x65\x6e\x20\x66\x69\x6c\x65\x20\x27\x25\x73\x27\x0a\x00\x4f\x70\x65\x6e\x65\x64\x20\x66\x69\x6c\x65\x20\x27\x25\x73\x27\x0a\x00\x4e\x6f\x20\x66\x69\x6c\x65\x20\x69\x73\x20\x63\x75\x72\x72\x65\x6e\x74\x6c\x79\x20\x6f\x70\x65\x6e\x0a\x00\x53\x61\x76\x65\x64\x20\x63\x68\x61\x6e\x67\x65\x73\x20\x74\x6f\x20\x66\x69\x6c\x65\x20\x27\x25\x73\x27\x0a\x00\x43\x6c\x6f\x73\x65\x64\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x0a\x00"), -Section(".eh_frame_hdr", 0x1000, "\x01\x1b\x03\x3b\x64\x00\x00\x00\x0b\x00\x00\x00\x80\xf9\xff\xff\x7c\x00\x00\x00\xd0\xf9\xff\xff\x90\x00\x00\x00\x00\xfa\xff\xff\xa4\x00\x00\x00\x40\xfa\xff\xff\xb8\x00\x00\x00\x90\xfa\xff\xff\xdc\x00\x00\x00\x94\xfa\xff\xff\x04\x01\x00\x00\x00\xfb\xff\xff\x24\x01\x00\x00\x38\xfc\xff\xff\x4c\x01\x00\x00\xe0\xfc\xff\xff\x74\x01\x00\x00\x38\xfd\xff\xff\x9c\x01\x00\x00\x94\xfd\xff\xff\xc4\x01\x00\x00"), -Section(".eh_frame", 0x1068, "\x10\x00\x00\x00\x00\x00\x00\x00\x01\x7a\x52\x00\x04\x78\x1e\x01\x1b\x0c\x1f\x00\x10\x00\x00\x00\x18\x00\x00\x00\xfc\xf8\xff\xff\x34\x00\x00\x00\x00\x41\x07\x1e\x10\x00\x00\x00\x2c\x00\x00\x00\x38\xf9\xff\xff\x30\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x40\x00\x00\x00\x54\xf9\xff\xff\x3c\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x54\x00\x00\x00\x80\xf9\xff\xff\x48\x00\x00\x00\x00\x41\x0e\x20\x9d\x04\x9e\x03\x42\x93\x02\x4e\xde\xdd\xd3\x0e\x00\x00\x00\x00\x10\x00\x00\x00\x78\x00\x00\x00\xac\xf9\xff\xff\x04\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x01\x7a\x52\x00\x01\x7c\x1e\x01\x1b\x0c\x1f\x00\x1c\x00\x00\x00\x18\x00\x00\x00\x88\xf9\xff\xff\x6c\x00\x00\x00\x00\x44\x0e\xb0\x02\x4c\x0c\x1d\x20\x9c\x04\x9e\x06\x9d\x08\x00\x24\x00\x00\x00\x38\x00\x00\x00\xd4\xf9\xff\xff\x38\x01\x00\x00\x00\x44\x0e\x20\x48\x0c\x1d\x10\x9e\x02\x9d\x04\x03\x20\x01\x0c\x1f\x20\x48\x0e\x00\xde\xdd\x00\x24\x00\x00\x00\x60\x00\x00\x00\xe4\xfa\xff\xff\xa8\x00\x00\x00\x00\x44\x0e\x20\x48\x0c\x1d\x10\x9e\x02\x9d\x04\x02\x90\x0c\x1f\x20\x48\x0e\x00\xde\xdd\x00\x00\x24\x00\x00\x00\x88\x00\x00\x00\x64\xfb\xff\xff\x58\x00\x00\x00\x00\x44\x0e\x10\x44\x0c\x1d\x10\x9e\x02\x9d\x04\x02\x48\x0c\x1f\x10\x44\x0e\x00\xde\xdd\x00\x00\x24\x00\x00\x00\xb0\x00\x00\x00\x94\xfb\xff\xff\x5c\x00\x00\x00\x00\x44\x0e\x10\x44\x0c\x1d\x10\x9e\x02\x9d\x04\x02\x4c\x0c\x1f\x10\x44\x0e\x00\xde\xdd\x00\x00\x24\x00\x00\x00\xd8\x00\x00\x00\xc8\xfb\xff\xff\x70\x00\x00\x00\x00\x44\x0e\x20\x48\x0c\x1d\x10\x9e\x02\x9d\x04\x02\x58\x0c\x1f\x20\x48\x0e\x00\xde\xdd\x00\x00\x00\x00\x00\x00"), -Section(".fini_array", 0x11DC8, "\x40\x0a\x00\x00\x00\x00\x00\x00"), -Section(".dynamic", 0x11DD0, "\x01\x00\x00\x00\x00\x00\x00\x00\x77\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x28\x08\x00\x00\x00\x00\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x04\x0e\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\xc8\x1d\x01\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xf5\xfe\xff\x6f\x00\x00\x00\x00\x98\x02\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\xb0\x04\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\xb8\x02\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\xdc\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\xe8\x1f\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x68\x01\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\xc0\x06\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\xe8\x05\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xd8\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\xfb\xff\xff\x6f\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\xfe\xff\xff\x6f\x00\x00\x00\x00\xb8\x05\x00\x00\x00\x00\x00\x00\xff\xff\xff\x6f\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xf0\xff\xff\x6f\x00\x00\x00\x00\x8c\x05\x00\x00\x00\x00\x00\x00\xf9\xff\xff\x6f\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".got", 0x11FB0, "\xd0\x1d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".got.plt", 0x11FE8, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x08\x00\x00\x00\x00\x00\x00\x40\x08\x00\x00\x00\x00\x00\x00\x40\x08\x00\x00\x00\x00\x00\x00\x40\x08\x00\x00\x00\x00\x00\x00\x40\x08\x00\x00\x00\x00\x00\x00\x40\x08\x00\x00\x00\x00\x00\x00\x40\x08\x00\x00\x00\x00\x00\x00\x40\x08\x00\x00\x00\x00\x00\x00\x40\x08\x00\x00\x00\x00\x00\x00\x40\x08\x00\x00\x00\x00\x00\x00\x40\x08\x00\x00\x00\x00\x00\x00\x40\x08\x00\x00\x00\x00\x00\x00\x40\x08\x00\x00\x00\x00\x00\x00\x40\x08\x00\x00\x00\x00\x00\x00\x40\x08\x00\x00\x00\x00\x00\x00"), -Section(".data", 0x12078, "\x00\x00\x00\x00\x00\x00\x00\x00\x80\x20\x01\x00\x00\x00\x00\x00"), -Section(".init_array", 0x11DC0, "\x90\x0a\x00\x00\x00\x00\x00\x00")]), -Memmap([Annotation(Region(0x0,0x11EF), Attr("segment","02 0 4592")), -Annotation(Region(0x980,0x9B3), Attr("symbol","\"_start\"")), -Annotation(Region(0x0,0x102), Attr("section","\".shstrtab\"")), -Annotation(Region(0x0,0x358), Attr("section","\".strtab\"")), -Annotation(Region(0x0,0xA37), Attr("section","\".symtab\"")), -Annotation(Region(0x0,0x46), Attr("section","\".comment\"")), -Annotation(Region(0x238,0x252), Attr("section","\".interp\"")), -Annotation(Region(0x254,0x277), Attr("section","\".note.gnu.build-id\"")), -Annotation(Region(0x278,0x297), Attr("section","\".note.ABI-tag\"")), -Annotation(Region(0x298,0x2B3), Attr("section","\".gnu.hash\"")), -Annotation(Region(0x2B8,0x4AF), Attr("section","\".dynsym\"")), -Annotation(Region(0x4B0,0x58B), Attr("section","\".dynstr\"")), -Annotation(Region(0x58C,0x5B5), Attr("section","\".gnu.version\"")), -Annotation(Region(0x5B8,0x5E7), Attr("section","\".gnu.version_r\"")), -Annotation(Region(0x5E8,0x6BF), Attr("section","\".rela.dyn\"")), -Annotation(Region(0x6C0,0x827), Attr("section","\".rela.plt\"")), -Annotation(Region(0x828,0x83F), Attr("section","\".init\"")), -Annotation(Region(0x840,0x94F), Attr("section","\".plt\"")), -Annotation(Region(0x828,0x83F), Attr("code-region","()")), -Annotation(Region(0x840,0x94F), Attr("code-region","()")), -Annotation(Region(0x980,0x9B3), Attr("symbol-info","_start 0x980 52")), -Annotation(Region(0x9B4,0x9C7), Attr("symbol","\"call_weak_fn\"")), -Annotation(Region(0x9B4,0x9C7), Attr("symbol-info","call_weak_fn 0x9B4 20")), -Annotation(Region(0xA94,0xAFF), Attr("symbol","\"main\"")), -Annotation(Region(0xA94,0xAFF), Attr("symbol-info","main 0xA94 108")), -Annotation(Region(0xB00,0xC37), Attr("symbol","\"handleInput\"")), -Annotation(Region(0x980,0xE03), Attr("section","\".text\"")), -Annotation(Region(0x980,0xE03), Attr("code-region","()")), -Annotation(Region(0xB00,0xC37), Attr("symbol-info","handleInput 0xB00 312")), -Annotation(Region(0xC38,0xCDF), Attr("symbol","\"openFile\"")), -Annotation(Region(0xC38,0xCDF), Attr("symbol-info","openFile 0xC38 168")), -Annotation(Region(0xCE0,0xD37), Attr("symbol","\"printHelp\"")), -Annotation(Region(0xCE0,0xD37), Attr("symbol-info","printHelp 0xCE0 88")), -Annotation(Region(0xD38,0xD93), Attr("symbol","\"saveFile\"")), -Annotation(Region(0xD38,0xD93), Attr("symbol-info","saveFile 0xD38 92")), -Annotation(Region(0xD94,0xE03), Attr("symbol","\"closeFile\"")), -Annotation(Region(0xD94,0xE03), Attr("symbol-info","closeFile 0xD94 112")), -Annotation(Region(0xE04,0xE17), Attr("section","\".fini\"")), -Annotation(Region(0xE04,0xE17), Attr("code-region","()")), -Annotation(Region(0xE18,0xFFC), Attr("section","\".rodata\"")), -Annotation(Region(0x1000,0x1063), Attr("section","\".eh_frame_hdr\"")), -Annotation(Region(0x1068,0x11EF), Attr("section","\".eh_frame\"")), -Annotation(Region(0x11DC0,0x12087), Attr("segment","03 0x11DC0 736")), -Annotation(Region(0x11DC8,0x11DCF), Attr("section","\".fini_array\"")), -Annotation(Region(0x11DD0,0x11FAF), Attr("section","\".dynamic\"")), -Annotation(Region(0x11FB0,0x11FE7), Attr("section","\".got\"")), -Annotation(Region(0x11FE8,0x12077), Attr("section","\".got.plt\"")), -Annotation(Region(0x12078,0x12087), Attr("section","\".data\"")), -Annotation(Region(0x11DC0,0x11DC7), Attr("section","\".init_array\""))]), -Program(Tid(4_609, "%00001201"), Attrs([]), - Subs([Sub(Tid(4_561, "@__cxa_finalize"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x880"), -Attr("stub","()")]), "__cxa_finalize", Args([Arg(Tid(4_610, "%00001202"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("__cxa_finalize_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(3_383, "@__cxa_finalize"), - Attrs([Attr("address","0x880")]), Phis([]), -Defs([Def(Tid(3_829, "%00000ef5"), Attrs([Attr("address","0x880"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_836, "%00000efc"), Attrs([Attr("address","0x884"), -Attr("insn","ldr x17, [x16, #0x10]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(16,64)),LittleEndian(),64)), -Def(Tid(3_842, "%00000f02"), Attrs([Attr("address","0x888"), -Attr("insn","add x16, x16, #0x10")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(3_847, "%00000f07"), - Attrs([Attr("address","0x88C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), -Sub(Tid(4_562, "@__do_global_dtors_aux"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xA40")]), - "__do_global_dtors_aux", Args([Arg(Tid(4_611, "%00001203"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("__do_global_dtors_aux_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_470, "@__do_global_dtors_aux"), - Attrs([Attr("address","0xA40")]), Phis([]), -Defs([Def(Tid(1_474, "%000005c2"), Attrs([Attr("address","0xA40"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("#3",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(1_480, "%000005c8"), Attrs([Attr("address","0xA40"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#3",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_486, "%000005ce"), Attrs([Attr("address","0xA40"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#3",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_490, "%000005d2"), Attrs([Attr("address","0xA40"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("R31",Imm(64)), -Var("#3",Imm(64))), Def(Tid(1_496, "%000005d8"), - Attrs([Attr("address","0xA44"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(1_504, "%000005e0"), - Attrs([Attr("address","0xA48"), Attr("insn","str x19, [sp, #0x10]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),Var("R19",Imm(64)),LittleEndian(),64)), -Def(Tid(1_509, "%000005e5"), Attrs([Attr("address","0xA4C"), -Attr("insn","adrp x19, #73728")]), Var("R19",Imm(64)), Int(73728,64)), -Def(Tid(1_516, "%000005ec"), Attrs([Attr("address","0xA50"), -Attr("insn","ldrb w0, [x19, #0x88]")]), Var("R0",Imm(64)), -UNSIGNED(64,Load(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(136,64)),LittleEndian(),8)))]), -Jmps([Goto(Tid(1_523, "%000005f3"), Attrs([Attr("address","0xA54"), -Attr("insn","cbnz w0, #0x28")]), - NEQ(Extract(31,0,Var("R0",Imm(64))),Int(0,32)), -Direct(Tid(1_521, "%000005f1"))), Goto(Tid(4_563, "%000011d3"), Attrs([]), - Int(1,1), Direct(Tid(3_328, "%00000d00")))])), Blk(Tid(3_328, "%00000d00"), - Attrs([Attr("address","0xA58")]), Phis([]), -Defs([Def(Tid(3_331, "%00000d03"), Attrs([Attr("address","0xA58"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(3_338, "%00000d0a"), Attrs([Attr("address","0xA5C"), -Attr("insn","ldr x0, [x0, #0xfc0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4032,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(3_344, "%00000d10"), Attrs([Attr("address","0xA60"), -Attr("insn","cbz x0, #0x10")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(3_342, "%00000d0e"))), Goto(Tid(4_564, "%000011d4"), Attrs([]), - Int(1,1), Direct(Tid(3_367, "%00000d27")))])), Blk(Tid(3_367, "%00000d27"), - Attrs([Attr("address","0xA64")]), Phis([]), -Defs([Def(Tid(3_370, "%00000d2a"), Attrs([Attr("address","0xA64"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(3_377, "%00000d31"), Attrs([Attr("address","0xA68"), -Attr("insn","ldr x0, [x0, #0x80]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(128,64)),LittleEndian(),64)), -Def(Tid(3_382, "%00000d36"), Attrs([Attr("address","0xA6C"), -Attr("insn","bl #-0x1ec")]), Var("R30",Imm(64)), Int(2672,64))]), -Jmps([Call(Tid(3_385, "%00000d39"), Attrs([Attr("address","0xA6C"), -Attr("insn","bl #-0x1ec")]), Int(1,1), -(Direct(Tid(4_561, "@__cxa_finalize")),Direct(Tid(3_342, "%00000d0e"))))])), -Blk(Tid(3_342, "%00000d0e"), Attrs([Attr("address","0xA70")]), Phis([]), -Defs([Def(Tid(3_350, "%00000d16"), Attrs([Attr("address","0xA70"), -Attr("insn","bl #-0xa0")]), Var("R30",Imm(64)), Int(2676,64))]), -Jmps([Call(Tid(3_352, "%00000d18"), Attrs([Attr("address","0xA70"), -Attr("insn","bl #-0xa0")]), Int(1,1), -(Direct(Tid(4_577, "@deregister_tm_clones")),Direct(Tid(3_354, "%00000d1a"))))])), -Blk(Tid(3_354, "%00000d1a"), Attrs([Attr("address","0xA74")]), Phis([]), -Defs([Def(Tid(3_357, "%00000d1d"), Attrs([Attr("address","0xA74"), -Attr("insn","mov w0, #0x1")]), Var("R0",Imm(64)), Int(1,64)), -Def(Tid(3_365, "%00000d25"), Attrs([Attr("address","0xA78"), -Attr("insn","strb w0, [x19, #0x88]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(136,64)),Extract(7,0,Var("R0",Imm(64))),LittleEndian(),8))]), -Jmps([Goto(Tid(4_565, "%000011d5"), Attrs([]), Int(1,1), -Direct(Tid(1_521, "%000005f1")))])), Blk(Tid(1_521, "%000005f1"), - Attrs([Attr("address","0xA7C")]), Phis([]), -Defs([Def(Tid(1_531, "%000005fb"), Attrs([Attr("address","0xA7C"), -Attr("insn","ldr x19, [sp, #0x10]")]), Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),LittleEndian(),64)), -Def(Tid(1_538, "%00000602"), Attrs([Attr("address","0xA80"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_543, "%00000607"), Attrs([Attr("address","0xA80"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_547, "%0000060b"), Attrs([Attr("address","0xA80"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(1_552, "%00000610"), - Attrs([Attr("address","0xA84"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_566, "@__libc_start_main"), - Attrs([Attr("c.proto","signed (*)(signed (*)(signed , char** , char** );* main, signed , char** , \nvoid* auxv)"), -Attr("address","0x870"), Attr("stub","()")]), "__libc_start_main", - Args([Arg(Tid(4_612, "%00001204"), - Attrs([Attr("c.layout","**[ : 64]"), -Attr("c.data","Top:u64 ptr ptr"), -Attr("c.type","signed (*)(signed , char** , char** );*")]), - Var("__libc_start_main_main",Imm(64)), Var("R0",Imm(64)), In()), -Arg(Tid(4_613, "%00001205"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("__libc_start_main_arg2",Imm(32)), LOW(32,Var("R1",Imm(64))), In()), -Arg(Tid(4_614, "%00001206"), Attrs([Attr("c.layout","**[char : 8]"), -Attr("c.data","Top:u8 ptr ptr"), Attr("c.type","char**")]), - Var("__libc_start_main_arg3",Imm(64)), Var("R2",Imm(64)), Both()), -Arg(Tid(4_615, "%00001207"), Attrs([Attr("c.layout","*[ : 8]"), -Attr("c.data","{} ptr"), Attr("c.type","void*")]), - Var("__libc_start_main_auxv",Imm(64)), Var("R3",Imm(64)), Both()), -Arg(Tid(4_616, "%00001208"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("__libc_start_main_result",Imm(32)), LOW(32,Var("R0",Imm(64))), -Out())]), Blks([Blk(Tid(1_303, "@__libc_start_main"), - Attrs([Attr("address","0x870")]), Phis([]), -Defs([Def(Tid(3_807, "%00000edf"), Attrs([Attr("address","0x870"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_814, "%00000ee6"), Attrs([Attr("address","0x874"), -Attr("insn","ldr x17, [x16, #0x8]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(3_820, "%00000eec"), Attrs([Attr("address","0x878"), -Attr("insn","add x16, x16, #0x8")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(8,64)))]), Jmps([Call(Tid(3_825, "%00000ef1"), - Attrs([Attr("address","0x87C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_567, "@_fini"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xE04")]), - "_fini", Args([Arg(Tid(4_617, "%00001209"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_fini_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(31, "@_fini"), - Attrs([Attr("address","0xE04")]), Phis([]), Defs([Def(Tid(37, "%00000025"), - Attrs([Attr("address","0xE08"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#0",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(43, "%0000002b"), Attrs([Attr("address","0xE08"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#0",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(49, "%00000031"), Attrs([Attr("address","0xE08"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#0",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(53, "%00000035"), Attrs([Attr("address","0xE08"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#0",Imm(64))), Def(Tid(59, "%0000003b"), Attrs([Attr("address","0xE0C"), -Attr("insn","mov x29, sp")]), Var("R29",Imm(64)), Var("R31",Imm(64))), -Def(Tid(66, "%00000042"), Attrs([Attr("address","0xE10"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(71, "%00000047"), Attrs([Attr("address","0xE10"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(75, "%0000004b"), Attrs([Attr("address","0xE10"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(80, "%00000050"), - Attrs([Attr("address","0xE14"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_568, "@_init"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x828")]), - "_init", Args([Arg(Tid(4_618, "%0000120a"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_init_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(4_139, "@_init"), - Attrs([Attr("address","0x828")]), Phis([]), -Defs([Def(Tid(4_145, "%00001031"), Attrs([Attr("address","0x82C"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#24",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(4_151, "%00001037"), Attrs([Attr("address","0x82C"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#24",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(4_157, "%0000103d"), Attrs([Attr("address","0x82C"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#24",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(4_161, "%00001041"), Attrs([Attr("address","0x82C"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#24",Imm(64))), Def(Tid(4_167, "%00001047"), - Attrs([Attr("address","0x830"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(4_172, "%0000104c"), - Attrs([Attr("address","0x834"), Attr("insn","bl #0x180")]), - Var("R30",Imm(64)), Int(2104,64))]), Jmps([Call(Tid(4_174, "%0000104e"), - Attrs([Attr("address","0x834"), Attr("insn","bl #0x180")]), Int(1,1), -(Direct(Tid(4_573, "@call_weak_fn")),Direct(Tid(4_176, "%00001050"))))])), -Blk(Tid(4_176, "%00001050"), Attrs([Attr("address","0x838")]), Phis([]), -Defs([Def(Tid(4_181, "%00001055"), Attrs([Attr("address","0x838"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(4_186, "%0000105a"), Attrs([Attr("address","0x838"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(4_190, "%0000105e"), Attrs([Attr("address","0x838"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(4_195, "%00001063"), - Attrs([Attr("address","0x83C"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_569, "@_start"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x980"), -Attr("entry-point","()")]), "_start", Args([Arg(Tid(4_619, "%0000120b"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_start_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_240, "@_start"), - Attrs([Attr("address","0x980")]), Phis([]), -Defs([Def(Tid(1_245, "%000004dd"), Attrs([Attr("address","0x984"), -Attr("insn","mov x29, #0x0")]), Var("R29",Imm(64)), Int(0,64)), -Def(Tid(1_250, "%000004e2"), Attrs([Attr("address","0x988"), -Attr("insn","mov x30, #0x0")]), Var("R30",Imm(64)), Int(0,64)), -Def(Tid(1_256, "%000004e8"), Attrs([Attr("address","0x98C"), -Attr("insn","mov x5, x0")]), Var("R5",Imm(64)), Var("R0",Imm(64))), -Def(Tid(1_263, "%000004ef"), Attrs([Attr("address","0x990"), -Attr("insn","ldr x1, [sp]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_269, "%000004f5"), Attrs([Attr("address","0x994"), -Attr("insn","add x2, sp, #0x8")]), Var("R2",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(8,64))), Def(Tid(1_275, "%000004fb"), - Attrs([Attr("address","0x998"), Attr("insn","mov x6, sp")]), - Var("R6",Imm(64)), Var("R31",Imm(64))), Def(Tid(1_280, "%00000500"), - Attrs([Attr("address","0x99C"), Attr("insn","adrp x0, #69632")]), - Var("R0",Imm(64)), Int(69632,64)), Def(Tid(1_287, "%00000507"), - Attrs([Attr("address","0x9A0"), Attr("insn","ldr x0, [x0, #0xfd8]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4056,64)),LittleEndian(),64)), -Def(Tid(1_292, "%0000050c"), Attrs([Attr("address","0x9A4"), -Attr("insn","mov x3, #0x0")]), Var("R3",Imm(64)), Int(0,64)), -Def(Tid(1_297, "%00000511"), Attrs([Attr("address","0x9A8"), -Attr("insn","mov x4, #0x0")]), Var("R4",Imm(64)), Int(0,64)), -Def(Tid(1_302, "%00000516"), Attrs([Attr("address","0x9AC"), -Attr("insn","bl #-0x13c")]), Var("R30",Imm(64)), Int(2480,64))]), -Jmps([Call(Tid(1_305, "%00000519"), Attrs([Attr("address","0x9AC"), -Attr("insn","bl #-0x13c")]), Int(1,1), -(Direct(Tid(4_566, "@__libc_start_main")),Direct(Tid(1_307, "%0000051b"))))])), -Blk(Tid(1_307, "%0000051b"), Attrs([Attr("address","0x9B0")]), Phis([]), -Defs([Def(Tid(1_310, "%0000051e"), Attrs([Attr("address","0x9B0"), -Attr("insn","bl #-0xc0")]), Var("R30",Imm(64)), Int(2484,64))]), -Jmps([Call(Tid(1_313, "%00000521"), Attrs([Attr("address","0x9B0"), -Attr("insn","bl #-0xc0")]), Int(1,1), -(Direct(Tid(4_572, "@abort")),Direct(Tid(4_570, "%000011da"))))])), -Blk(Tid(4_570, "%000011da"), Attrs([]), Phis([]), Defs([]), -Jmps([Call(Tid(4_571, "%000011db"), Attrs([]), Int(1,1), -(Direct(Tid(4_573, "@call_weak_fn")),))]))])), Sub(Tid(4_572, "@abort"), - Attrs([Attr("noreturn","()"), Attr("c.proto","void (*)(void)"), -Attr("address","0x8F0"), Attr("stub","()")]), "abort", Args([]), -Blks([Blk(Tid(1_311, "@abort"), Attrs([Attr("address","0x8F0")]), Phis([]), -Defs([Def(Tid(3_983, "%00000f8f"), Attrs([Attr("address","0x8F0"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_990, "%00000f96"), Attrs([Attr("address","0x8F4"), -Attr("insn","ldr x17, [x16, #0x48]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(72,64)),LittleEndian(),64)), -Def(Tid(3_996, "%00000f9c"), Attrs([Attr("address","0x8F8"), -Attr("insn","add x16, x16, #0x48")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(72,64)))]), Jmps([Call(Tid(4_001, "%00000fa1"), - Attrs([Attr("address","0x8FC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_573, "@call_weak_fn"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x9B4")]), - "call_weak_fn", Args([Arg(Tid(4_620, "%0000120c"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("call_weak_fn_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_315, "@call_weak_fn"), - Attrs([Attr("address","0x9B4")]), Phis([]), -Defs([Def(Tid(1_318, "%00000526"), Attrs([Attr("address","0x9B4"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(1_325, "%0000052d"), Attrs([Attr("address","0x9B8"), -Attr("insn","ldr x0, [x0, #0xfd0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4048,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(1_331, "%00000533"), Attrs([Attr("address","0x9BC"), -Attr("insn","cbz x0, #0x8")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(1_329, "%00000531"))), Goto(Tid(4_574, "%000011de"), Attrs([]), - Int(1,1), Direct(Tid(3_447, "%00000d77")))])), Blk(Tid(1_329, "%00000531"), - Attrs([Attr("address","0x9C4")]), Phis([]), Defs([]), -Jmps([Call(Tid(1_337, "%00000539"), Attrs([Attr("address","0x9C4"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(3_447, "%00000d77"), Attrs([Attr("address","0x9C0")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_450, "%00000d7a"), Attrs([Attr("address","0x9C0"), -Attr("insn","b #-0xe0")]), Int(1,1), -Direct(Tid(3_448, "@__gmon_start__")))])), Blk(Tid(3_448, "@__gmon_start__"), - Attrs([Attr("address","0x8E0")]), Phis([]), -Defs([Def(Tid(3_961, "%00000f79"), Attrs([Attr("address","0x8E0"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_968, "%00000f80"), Attrs([Attr("address","0x8E4"), -Attr("insn","ldr x17, [x16, #0x40]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(64,64)),LittleEndian(),64)), -Def(Tid(3_974, "%00000f86"), Attrs([Attr("address","0x8E8"), -Attr("insn","add x16, x16, #0x40")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(64,64)))]), Jmps([Call(Tid(3_979, "%00000f8b"), - Attrs([Attr("address","0x8EC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_575, "@closeFile"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xD94")]), - "closeFile", Args([Arg(Tid(4_621, "%0000120d"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("closeFile_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_834, "@closeFile"), - Attrs([Attr("address","0xD94")]), Phis([]), -Defs([Def(Tid(2_838, "%00000b16"), Attrs([Attr("address","0xD94"), -Attr("insn","sub sp, sp, #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(2_844, "%00000b1c"), Attrs([Attr("address","0xD98"), -Attr("insn","stp x29, x30, [sp, #0x10]")]), Var("#19",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(2_850, "%00000b22"), - Attrs([Attr("address","0xD98"), Attr("insn","stp x29, x30, [sp, #0x10]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#19",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(2_856, "%00000b28"), Attrs([Attr("address","0xD98"), -Attr("insn","stp x29, x30, [sp, #0x10]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#19",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(2_862, "%00000b2e"), Attrs([Attr("address","0xD9C"), -Attr("insn","add x29, sp, #0x10")]), Var("R29",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(2_867, "%00000b33"), - Attrs([Attr("address","0xDA0"), Attr("insn","adrp x8, #73728")]), - Var("R8",Imm(64)), Int(73728,64)), Def(Tid(2_874, "%00000b3a"), - Attrs([Attr("address","0xDA4"), Attr("insn","ldr x8, [x8, #0x98]")]), - Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(152,64)),LittleEndian(),64)), -Def(Tid(2_880, "%00000b40"), Attrs([Attr("address","0xDA8"), -Attr("insn","subs x8, x8, #0x0")]), Var("#20",Imm(64)), -PLUS(Var("R8",Imm(64)),Int(18446744073709551615,64))), -Def(Tid(2_885, "%00000b45"), Attrs([Attr("address","0xDA8"), -Attr("insn","subs x8, x8, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#20",Imm(64)),Int(1,64))),PLUS(SIGNED(65,Var("R8",Imm(64))),Int(0,65)))), -Def(Tid(2_890, "%00000b4a"), Attrs([Attr("address","0xDA8"), -Attr("insn","subs x8, x8, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#20",Imm(64)),Int(1,64))),PLUS(UNSIGNED(65,Var("R8",Imm(64))),Int(18446744073709551616,65)))), -Def(Tid(2_894, "%00000b4e"), Attrs([Attr("address","0xDA8"), -Attr("insn","subs x8, x8, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#20",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(2_898, "%00000b52"), Attrs([Attr("address","0xDA8"), -Attr("insn","subs x8, x8, #0x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#20",Imm(64)),Int(1,64)))), -Def(Tid(2_902, "%00000b56"), Attrs([Attr("address","0xDA8"), -Attr("insn","subs x8, x8, #0x0")]), Var("R8",Imm(64)), -PLUS(Var("#20",Imm(64)),Int(1,64)))]), Jmps([Goto(Tid(2_914, "%00000b62"), - Attrs([Attr("address","0xDAC"), Attr("insn","cset w8, eq")]), - NEQ(Var("ZF",Imm(1)),Int(1,1)), Direct(Tid(2_907, "%00000b5b"))), -Goto(Tid(2_915, "%00000b63"), Attrs([Attr("address","0xDAC"), -Attr("insn","cset w8, eq")]), Int(1,1), Direct(Tid(2_910, "%00000b5e")))])), -Blk(Tid(2_910, "%00000b5e"), Attrs([]), Phis([]), -Defs([Def(Tid(2_911, "%00000b5f"), Attrs([Attr("address","0xDAC"), -Attr("insn","cset w8, eq")]), Var("R8",Imm(64)), Int(1,64))]), -Jmps([Goto(Tid(2_917, "%00000b65"), Attrs([Attr("address","0xDAC"), -Attr("insn","cset w8, eq")]), Int(1,1), Direct(Tid(2_913, "%00000b61")))])), -Blk(Tid(2_907, "%00000b5b"), Attrs([]), Phis([]), -Defs([Def(Tid(2_908, "%00000b5c"), Attrs([Attr("address","0xDAC"), -Attr("insn","cset w8, eq")]), Var("R8",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(2_916, "%00000b64"), Attrs([Attr("address","0xDAC"), -Attr("insn","cset w8, eq")]), Int(1,1), Direct(Tid(2_913, "%00000b61")))])), -Blk(Tid(2_913, "%00000b61"), Attrs([]), Phis([]), Defs([]), -Jmps([Goto(Tid(2_923, "%00000b6b"), Attrs([Attr("address","0xDB0"), -Attr("insn","tbnz w8, #0x0, #0x48")]), - EQ(Extract(0,0,Var("R8",Imm(64))),Int(1,1)), -Direct(Tid(2_921, "%00000b69"))), Goto(Tid(4_576, "%000011e0"), Attrs([]), - Int(1,1), Direct(Tid(2_953, "%00000b89")))])), Blk(Tid(2_953, "%00000b89"), - Attrs([Attr("address","0xDB4")]), Phis([]), Defs([]), -Jmps([Goto(Tid(2_956, "%00000b8c"), Attrs([Attr("address","0xDB4"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(2_954, "%00000b8a")))])), -Blk(Tid(2_954, "%00000b8a"), Attrs([Attr("address","0xDB8")]), Phis([]), -Defs([Def(Tid(2_960, "%00000b90"), Attrs([Attr("address","0xDB8"), -Attr("insn","adrp x8, #73728")]), Var("R8",Imm(64)), Int(73728,64)), -Def(Tid(2_968, "%00000b98"), Attrs([Attr("address","0xDBC"), -Attr("insn","str x8, [sp]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("R31",Imm(64)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(2_975, "%00000b9f"), Attrs([Attr("address","0xDC0"), -Attr("insn","ldr x0, [x8, #0x98]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(152,64)),LittleEndian(),64)), -Def(Tid(2_980, "%00000ba4"), Attrs([Attr("address","0xDC4"), -Attr("insn","bl #-0x534")]), Var("R30",Imm(64)), Int(3528,64))]), -Jmps([Call(Tid(2_983, "%00000ba7"), Attrs([Attr("address","0xDC4"), -Attr("insn","bl #-0x534")]), Int(1,1), -(Direct(Tid(4_581, "@fclose")),Direct(Tid(2_985, "%00000ba9"))))])), -Blk(Tid(2_985, "%00000ba9"), Attrs([Attr("address","0xDC8")]), Phis([]), -Defs([Def(Tid(2_988, "%00000bac"), Attrs([Attr("address","0xDC8"), -Attr("insn","adrp x8, #73728")]), Var("R8",Imm(64)), Int(73728,64)), -Def(Tid(2_996, "%00000bb4"), Attrs([Attr("address","0xDCC"), -Attr("insn","str x8, [sp, #0x8]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(3_003, "%00000bbb"), Attrs([Attr("address","0xDD0"), -Attr("insn","ldr x0, [x8, #0x90]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(144,64)),LittleEndian(),64)), -Def(Tid(3_008, "%00000bc0"), Attrs([Attr("address","0xDD4"), -Attr("insn","bl #-0x4c4")]), Var("R30",Imm(64)), Int(3544,64))]), -Jmps([Call(Tid(3_011, "%00000bc3"), Attrs([Attr("address","0xDD4"), -Attr("insn","bl #-0x4c4")]), Int(1,1), -(Direct(Tid(4_585, "@free")),Direct(Tid(3_013, "%00000bc5"))))])), -Blk(Tid(3_013, "%00000bc5"), Attrs([Attr("address","0xDD8")]), Phis([]), -Defs([Def(Tid(3_018, "%00000bca"), Attrs([Attr("address","0xDD8"), -Attr("insn","ldr x9, [sp]")]), Var("R9",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(3_025, "%00000bd1"), Attrs([Attr("address","0xDDC"), -Attr("insn","ldr x8, [sp, #0x8]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(3_032, "%00000bd8"), Attrs([Attr("address","0xDE0"), -Attr("insn","str xzr, [x9, #0x98]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R9",Imm(64)),Int(152,64)),Int(0,64),LittleEndian(),64)), -Def(Tid(3_039, "%00000bdf"), Attrs([Attr("address","0xDE4"), -Attr("insn","str xzr, [x8, #0x90]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(144,64)),Int(0,64),LittleEndian(),64)), -Def(Tid(3_044, "%00000be4"), Attrs([Attr("address","0xDE8"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(3_050, "%00000bea"), Attrs([Attr("address","0xDEC"), -Attr("insn","add x0, x0, #0xfec")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(4076,64))), Def(Tid(3_055, "%00000bef"), - Attrs([Attr("address","0xDF0"), Attr("insn","bl #-0x4c0")]), - Var("R30",Imm(64)), Int(3572,64))]), Jmps([Call(Tid(3_057, "%00000bf1"), - Attrs([Attr("address","0xDF0"), Attr("insn","bl #-0x4c0")]), Int(1,1), -(Direct(Tid(4_598, "@printf")),Direct(Tid(3_059, "%00000bf3"))))])), -Blk(Tid(3_059, "%00000bf3"), Attrs([Attr("address","0xDF4")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_061, "%00000bf5"), Attrs([Attr("address","0xDF4"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(2_921, "%00000b69")))])), -Blk(Tid(2_921, "%00000b69"), Attrs([Attr("address","0xDF8")]), Phis([]), -Defs([Def(Tid(2_930, "%00000b72"), Attrs([Attr("address","0xDF8"), -Attr("insn","ldp x29, x30, [sp, #0x10]")]), Var("#21",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(2_935, "%00000b77"), - Attrs([Attr("address","0xDF8"), Attr("insn","ldp x29, x30, [sp, #0x10]")]), - Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#21",Imm(64)),LittleEndian(),64)), -Def(Tid(2_940, "%00000b7c"), Attrs([Attr("address","0xDF8"), -Attr("insn","ldp x29, x30, [sp, #0x10]")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#21",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_946, "%00000b82"), Attrs([Attr("address","0xDFC"), -Attr("insn","add sp, sp, #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(2_951, "%00000b87"), - Attrs([Attr("address","0xE00"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), -Sub(Tid(4_577, "@deregister_tm_clones"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x9D0")]), - "deregister_tm_clones", Args([Arg(Tid(4_622, "%0000120e"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("deregister_tm_clones_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_343, "@deregister_tm_clones"), - Attrs([Attr("address","0x9D0")]), Phis([]), -Defs([Def(Tid(1_346, "%00000542"), Attrs([Attr("address","0x9D0"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(1_352, "%00000548"), Attrs([Attr("address","0x9D4"), -Attr("insn","add x0, x0, #0x88")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(136,64))), Def(Tid(1_357, "%0000054d"), - Attrs([Attr("address","0x9D8"), Attr("insn","adrp x1, #73728")]), - Var("R1",Imm(64)), Int(73728,64)), Def(Tid(1_363, "%00000553"), - Attrs([Attr("address","0x9DC"), Attr("insn","add x1, x1, #0x88")]), - Var("R1",Imm(64)), PLUS(Var("R1",Imm(64)),Int(136,64))), -Def(Tid(1_369, "%00000559"), Attrs([Attr("address","0x9E0"), -Attr("insn","cmp x1, x0")]), Var("#1",Imm(64)), NOT(Var("R0",Imm(64)))), -Def(Tid(1_374, "%0000055e"), Attrs([Attr("address","0x9E0"), -Attr("insn","cmp x1, x0")]), Var("#2",Imm(64)), -PLUS(Var("R1",Imm(64)),NOT(Var("R0",Imm(64))))), Def(Tid(1_380, "%00000564"), - Attrs([Attr("address","0x9E0"), Attr("insn","cmp x1, x0")]), - Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#2",Imm(64)),Int(1,64))),PLUS(PLUS(SIGNED(65,Var("R1",Imm(64))),SIGNED(65,Var("#1",Imm(64)))),Int(1,65)))), -Def(Tid(1_386, "%0000056a"), Attrs([Attr("address","0x9E0"), -Attr("insn","cmp x1, x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#2",Imm(64)),Int(1,64))),PLUS(PLUS(UNSIGNED(65,Var("R1",Imm(64))),UNSIGNED(65,Var("#1",Imm(64)))),Int(1,65)))), -Def(Tid(1_390, "%0000056e"), Attrs([Attr("address","0x9E0"), -Attr("insn","cmp x1, x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#2",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(1_394, "%00000572"), Attrs([Attr("address","0x9E0"), -Attr("insn","cmp x1, x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#2",Imm(64)),Int(1,64))))]), -Jmps([Goto(Tid(1_400, "%00000578"), Attrs([Attr("address","0x9E4"), -Attr("insn","b.eq #0x18")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(1_398, "%00000576"))), Goto(Tid(4_578, "%000011e2"), Attrs([]), - Int(1,1), Direct(Tid(3_417, "%00000d59")))])), Blk(Tid(3_417, "%00000d59"), - Attrs([Attr("address","0x9E8")]), Phis([]), -Defs([Def(Tid(3_420, "%00000d5c"), Attrs([Attr("address","0x9E8"), -Attr("insn","adrp x1, #69632")]), Var("R1",Imm(64)), Int(69632,64)), -Def(Tid(3_427, "%00000d63"), Attrs([Attr("address","0x9EC"), -Attr("insn","ldr x1, [x1, #0xfb8]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R1",Imm(64)),Int(4024,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(3_432, "%00000d68"), Attrs([Attr("address","0x9F0"), -Attr("insn","cbz x1, #0xc")]), EQ(Var("R1",Imm(64)),Int(0,64)), -Direct(Tid(1_398, "%00000576"))), Goto(Tid(4_579, "%000011e3"), Attrs([]), - Int(1,1), Direct(Tid(3_436, "%00000d6c")))])), Blk(Tid(1_398, "%00000576"), - Attrs([Attr("address","0x9FC")]), Phis([]), Defs([]), -Jmps([Call(Tid(1_406, "%0000057e"), Attrs([Attr("address","0x9FC"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(3_436, "%00000d6c"), Attrs([Attr("address","0x9F4")]), Phis([]), -Defs([Def(Tid(3_440, "%00000d70"), Attrs([Attr("address","0x9F4"), -Attr("insn","mov x16, x1")]), Var("R16",Imm(64)), Var("R1",Imm(64)))]), -Jmps([Call(Tid(3_445, "%00000d75"), Attrs([Attr("address","0x9F8"), -Attr("insn","br x16")]), Int(1,1), (Indirect(Var("R16",Imm(64))),))]))])), -Sub(Tid(4_580, "@exit"), Attrs([Attr("noreturn","()"), -Attr("c.proto","void (*)(signed code)"), Attr("address","0x860"), -Attr("stub","()")]), "exit", Args([Arg(Tid(4_623, "%0000120f"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("exit_code",Imm(32)), -LOW(32,Var("R0",Imm(64))), In())]), Blks([Blk(Tid(3_217, "@exit"), - Attrs([Attr("address","0x860")]), Phis([]), -Defs([Def(Tid(3_785, "%00000ec9"), Attrs([Attr("address","0x860"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_792, "%00000ed0"), Attrs([Attr("address","0x864"), -Attr("insn","ldr x17, [x16]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R16",Imm(64)),LittleEndian(),64)), -Def(Tid(3_798, "%00000ed6"), Attrs([Attr("address","0x868"), -Attr("insn","add x16, x16, #0x0")]), Var("R16",Imm(64)), -Var("R16",Imm(64)))]), Jmps([Call(Tid(3_803, "%00000edb"), - Attrs([Attr("address","0x86C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_581, "@fclose"), - Attrs([Attr("c.proto","signed (*)(void** fp)"), Attr("address","0x890"), -Attr("stub","()")]), "fclose", Args([Arg(Tid(4_624, "%00001210"), - Attrs([Attr("c.layout","**[ : 8]"), Attr("c.data","{} ptr ptr"), -Attr("c.type","void**")]), Var("fclose_fp",Imm(64)), Var("R0",Imm(64)), -Both()), Arg(Tid(4_625, "%00001211"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("fclose_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_981, "@fclose"), - Attrs([Attr("address","0x890")]), Phis([]), -Defs([Def(Tid(3_851, "%00000f0b"), Attrs([Attr("address","0x890"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_858, "%00000f12"), Attrs([Attr("address","0x894"), -Attr("insn","ldr x17, [x16, #0x18]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(24,64)),LittleEndian(),64)), -Def(Tid(3_864, "%00000f18"), Attrs([Attr("address","0x898"), -Attr("insn","add x16, x16, #0x18")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(24,64)))]), Jmps([Call(Tid(3_869, "%00000f1d"), - Attrs([Attr("address","0x89C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_582, "@fgets"), - Attrs([Attr("c.proto","char* (*)(char restrict * s, signed size, void* restrict * stream)"), -Attr("address","0x940"), Attr("stub","()")]), "fgets", - Args([Arg(Tid(4_626, "%00001212"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type","char restrict *")]), - Var("fgets_s",Imm(64)), Var("R0",Imm(64)), Both()), -Arg(Tid(4_627, "%00001213"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("fgets_size",Imm(32)), LOW(32,Var("R1",Imm(64))), In()), -Arg(Tid(4_628, "%00001214"), Attrs([Attr("c.layout","**[ : 8]"), -Attr("c.data","{} ptr ptr"), Attr("c.type","void* restrict *")]), - Var("fgets_stream",Imm(64)), Var("R2",Imm(64)), Both()), -Arg(Tid(4_629, "%00001215"), Attrs([Attr("warn-unused","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type","char*")]), Var("fgets_result",Imm(64)), Var("R0",Imm(64)), -Out())]), Blks([Blk(Tid(1_672, "@fgets"), Attrs([Attr("address","0x940")]), - Phis([]), Defs([Def(Tid(4_093, "%00000ffd"), Attrs([Attr("address","0x940"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(4_100, "%00001004"), Attrs([Attr("address","0x944"), -Attr("insn","ldr x17, [x16, #0x70]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(112,64)),LittleEndian(),64)), -Def(Tid(4_106, "%0000100a"), Attrs([Attr("address","0x948"), -Attr("insn","add x16, x16, #0x70")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(112,64)))]), Jmps([Call(Tid(4_111, "%0000100f"), - Attrs([Attr("address","0x94C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_583, "@fopen"), - Attrs([Attr("c.proto","void** (*)( const char restrict * path, const char restrict * mode)"), -Attr("address","0x8A0"), Attr("stub","()")]), "fopen", - Args([Arg(Tid(4_630, "%00001216"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char restrict *")]), - Var("fopen_path",Imm(64)), Var("R0",Imm(64)), In()), -Arg(Tid(4_631, "%00001217"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char restrict *")]), - Var("fopen_mode",Imm(64)), Var("R1",Imm(64)), In()), -Arg(Tid(4_632, "%00001218"), Attrs([Attr("warn-unused","()"), -Attr("c.layout","**[ : 8]"), Attr("c.data","{} ptr ptr"), -Attr("c.type","void**")]), Var("fopen_result",Imm(64)), Var("R0",Imm(64)), -Out())]), Blks([Blk(Tid(2_377, "@fopen"), Attrs([Attr("address","0x8A0")]), - Phis([]), Defs([Def(Tid(3_873, "%00000f21"), Attrs([Attr("address","0x8A0"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_880, "%00000f28"), Attrs([Attr("address","0x8A4"), -Attr("insn","ldr x17, [x16, #0x20]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(32,64)),LittleEndian(),64)), -Def(Tid(3_886, "%00000f2e"), Attrs([Attr("address","0x8A8"), -Attr("insn","add x16, x16, #0x20")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(3_891, "%00000f33"), - Attrs([Attr("address","0x8AC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_584, "@frame_dummy"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xA90")]), - "frame_dummy", Args([Arg(Tid(4_633, "%00001219"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("frame_dummy_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_558, "@frame_dummy"), - Attrs([Attr("address","0xA90")]), Phis([]), Defs([]), -Jmps([Call(Tid(1_560, "%00000618"), Attrs([Attr("address","0xA90"), -Attr("insn","b #-0x90")]), Int(1,1), -(Direct(Tid(4_599, "@register_tm_clones")),))]))])), Sub(Tid(4_585, "@free"), - Attrs([Attr("c.proto","void (*)(void* ptr)"), Attr("address","0x910"), -Attr("stub","()")]), "free", Args([Arg(Tid(4_634, "%0000121a"), - Attrs([Attr("c.layout","*[ : 8]"), Attr("c.data","{} ptr"), -Attr("c.type","void*")]), Var("free_ptr",Imm(64)), Var("R0",Imm(64)), -Both())]), Blks([Blk(Tid(3_009, "@free"), Attrs([Attr("address","0x910")]), - Phis([]), Defs([Def(Tid(4_027, "%00000fbb"), Attrs([Attr("address","0x910"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(4_034, "%00000fc2"), Attrs([Attr("address","0x914"), -Attr("insn","ldr x17, [x16, #0x58]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(88,64)),LittleEndian(),64)), -Def(Tid(4_040, "%00000fc8"), Attrs([Attr("address","0x918"), -Attr("insn","add x16, x16, #0x58")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(88,64)))]), Jmps([Call(Tid(4_045, "%00000fcd"), - Attrs([Attr("address","0x91C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_586, "@handleInput"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xB00")]), - "handleInput", Args([Arg(Tid(4_635, "%0000121b"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("handleInput_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_739, "@handleInput"), - Attrs([Attr("address","0xB00")]), Phis([]), -Defs([Def(Tid(1_746, "%000006d2"), Attrs([Attr("address","0xB00"), -Attr("insn","sub sp, sp, #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(1_752, "%000006d8"), Attrs([Attr("address","0xB04"), -Attr("insn","stp x29, x30, [sp, #0x10]")]), Var("#5",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(1_758, "%000006de"), - Attrs([Attr("address","0xB04"), Attr("insn","stp x29, x30, [sp, #0x10]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#5",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_764, "%000006e4"), Attrs([Attr("address","0xB04"), -Attr("insn","stp x29, x30, [sp, #0x10]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#5",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_770, "%000006ea"), Attrs([Attr("address","0xB08"), -Attr("insn","add x29, sp, #0x10")]), Var("R29",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(1_778, "%000006f2"), - Attrs([Attr("address","0xB0C"), Attr("insn","str x0, [sp, #0x8]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(1_785, "%000006f9"), Attrs([Attr("address","0xB10"), -Attr("insn","ldr x0, [sp, #0x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_790, "%000006fe"), Attrs([Attr("address","0xB14"), -Attr("insn","adrp x1, #0")]), Var("R1",Imm(64)), Int(0,64)), -Def(Tid(1_796, "%00000704"), Attrs([Attr("address","0xB18"), -Attr("insn","add x1, x1, #0xe2e")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(3630,64))), Def(Tid(1_801, "%00000709"), - Attrs([Attr("address","0xB1C"), Attr("insn","bl #-0x21c")]), - Var("R30",Imm(64)), Int(2848,64))]), Jmps([Call(Tid(1_804, "%0000070c"), - Attrs([Attr("address","0xB1C"), Attr("insn","bl #-0x21c")]), Int(1,1), -(Direct(Tid(4_605, "@strcmp")),Direct(Tid(1_806, "%0000070e"))))])), -Blk(Tid(1_806, "%0000070e"), Attrs([Attr("address","0xB20")]), Phis([]), -Defs([Def(Tid(1_810, "%00000712"), Attrs([Attr("address","0xB20"), -Attr("insn","subs w8, w0, #0x0")]), Var("#6",Imm(32)), -PLUS(Extract(31,0,Var("R0",Imm(64))),Int(4294967295,32))), -Def(Tid(1_815, "%00000717"), Attrs([Attr("address","0xB20"), -Attr("insn","subs w8, w0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(33,PLUS(Var("#6",Imm(32)),Int(1,32))),PLUS(SIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(0,33)))), -Def(Tid(1_820, "%0000071c"), Attrs([Attr("address","0xB20"), -Attr("insn","subs w8, w0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(33,PLUS(Var("#6",Imm(32)),Int(1,32))),PLUS(UNSIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(4294967296,33)))), -Def(Tid(1_824, "%00000720"), Attrs([Attr("address","0xB20"), -Attr("insn","subs w8, w0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#6",Imm(32)),Int(1,32)),Int(0,32))), -Def(Tid(1_828, "%00000724"), Attrs([Attr("address","0xB20"), -Attr("insn","subs w8, w0, #0x0")]), Var("NF",Imm(1)), -Extract(31,31,PLUS(Var("#6",Imm(32)),Int(1,32)))), -Def(Tid(1_832, "%00000728"), Attrs([Attr("address","0xB20"), -Attr("insn","subs w8, w0, #0x0")]), Var("R8",Imm(64)), -UNSIGNED(64,PLUS(Var("#6",Imm(32)),Int(1,32))))]), -Jmps([Goto(Tid(1_844, "%00000734"), Attrs([Attr("address","0xB24"), -Attr("insn","cset w8, ne")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(1_837, "%0000072d"))), Goto(Tid(1_845, "%00000735"), - Attrs([Attr("address","0xB24"), Attr("insn","cset w8, ne")]), Int(1,1), -Direct(Tid(1_840, "%00000730")))])), Blk(Tid(1_840, "%00000730"), Attrs([]), - Phis([]), Defs([Def(Tid(1_841, "%00000731"), Attrs([Attr("address","0xB24"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(1,64))]), -Jmps([Goto(Tid(1_847, "%00000737"), Attrs([Attr("address","0xB24"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(1_843, "%00000733")))])), -Blk(Tid(1_837, "%0000072d"), Attrs([]), Phis([]), -Defs([Def(Tid(1_838, "%0000072e"), Attrs([Attr("address","0xB24"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(1_846, "%00000736"), Attrs([Attr("address","0xB24"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(1_843, "%00000733")))])), -Blk(Tid(1_843, "%00000733"), Attrs([]), Phis([]), Defs([]), -Jmps([Goto(Tid(1_853, "%0000073d"), Attrs([Attr("address","0xB28"), -Attr("insn","tbnz w8, #0x0, #0x10")]), - EQ(Extract(0,0,Var("R8",Imm(64))),Int(1,1)), -Direct(Tid(1_851, "%0000073b"))), Goto(Tid(4_587, "%000011eb"), Attrs([]), - Int(1,1), Direct(Tid(3_309, "%00000ced")))])), Blk(Tid(1_851, "%0000073b"), - Attrs([Attr("address","0xB38")]), Phis([]), -Defs([Def(Tid(1_861, "%00000745"), Attrs([Attr("address","0xB38"), -Attr("insn","ldr x0, [sp, #0x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_866, "%0000074a"), Attrs([Attr("address","0xB3C"), -Attr("insn","adrp x1, #0")]), Var("R1",Imm(64)), Int(0,64)), -Def(Tid(1_872, "%00000750"), Attrs([Attr("address","0xB40"), -Attr("insn","add x1, x1, #0xe33")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(3635,64))), Def(Tid(1_877, "%00000755"), - Attrs([Attr("address","0xB44"), Attr("insn","mov x2, #0x5")]), - Var("R2",Imm(64)), Int(5,64)), Def(Tid(1_882, "%0000075a"), - Attrs([Attr("address","0xB48"), Attr("insn","bl #-0x298")]), - Var("R30",Imm(64)), Int(2892,64))]), Jmps([Call(Tid(1_885, "%0000075d"), - Attrs([Attr("address","0xB48"), Attr("insn","bl #-0x298")]), Int(1,1), -(Direct(Tid(4_608, "@strncmp")),Direct(Tid(1_887, "%0000075f"))))])), -Blk(Tid(1_887, "%0000075f"), Attrs([Attr("address","0xB4C")]), Phis([]), -Defs([Def(Tid(1_891, "%00000763"), Attrs([Attr("address","0xB4C"), -Attr("insn","subs w8, w0, #0x0")]), Var("#7",Imm(32)), -PLUS(Extract(31,0,Var("R0",Imm(64))),Int(4294967295,32))), -Def(Tid(1_896, "%00000768"), Attrs([Attr("address","0xB4C"), -Attr("insn","subs w8, w0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(33,PLUS(Var("#7",Imm(32)),Int(1,32))),PLUS(SIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(0,33)))), -Def(Tid(1_901, "%0000076d"), Attrs([Attr("address","0xB4C"), -Attr("insn","subs w8, w0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(33,PLUS(Var("#7",Imm(32)),Int(1,32))),PLUS(UNSIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(4294967296,33)))), -Def(Tid(1_905, "%00000771"), Attrs([Attr("address","0xB4C"), -Attr("insn","subs w8, w0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#7",Imm(32)),Int(1,32)),Int(0,32))), -Def(Tid(1_909, "%00000775"), Attrs([Attr("address","0xB4C"), -Attr("insn","subs w8, w0, #0x0")]), Var("NF",Imm(1)), -Extract(31,31,PLUS(Var("#7",Imm(32)),Int(1,32)))), -Def(Tid(1_913, "%00000779"), Attrs([Attr("address","0xB4C"), -Attr("insn","subs w8, w0, #0x0")]), Var("R8",Imm(64)), -UNSIGNED(64,PLUS(Var("#7",Imm(32)),Int(1,32))))]), -Jmps([Goto(Tid(1_925, "%00000785"), Attrs([Attr("address","0xB50"), -Attr("insn","cset w8, ne")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(1_918, "%0000077e"))), Goto(Tid(1_926, "%00000786"), - Attrs([Attr("address","0xB50"), Attr("insn","cset w8, ne")]), Int(1,1), -Direct(Tid(1_921, "%00000781")))])), Blk(Tid(1_921, "%00000781"), Attrs([]), - Phis([]), Defs([Def(Tid(1_922, "%00000782"), Attrs([Attr("address","0xB50"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(1,64))]), -Jmps([Goto(Tid(1_928, "%00000788"), Attrs([Attr("address","0xB50"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(1_924, "%00000784")))])), -Blk(Tid(1_918, "%0000077e"), Attrs([]), Phis([]), -Defs([Def(Tid(1_919, "%0000077f"), Attrs([Attr("address","0xB50"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(1_927, "%00000787"), Attrs([Attr("address","0xB50"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(1_924, "%00000784")))])), -Blk(Tid(1_924, "%00000784"), Attrs([]), Phis([]), Defs([]), -Jmps([Goto(Tid(1_934, "%0000078e"), Attrs([Attr("address","0xB54"), -Attr("insn","tbnz w8, #0x0, #0x20")]), - EQ(Extract(0,0,Var("R8",Imm(64))),Int(1,1)), -Direct(Tid(1_932, "%0000078c"))), Goto(Tid(4_588, "%000011ec"), Attrs([]), - Int(1,1), Direct(Tid(3_266, "%00000cc2")))])), Blk(Tid(1_932, "%0000078c"), - Attrs([Attr("address","0xB74")]), Phis([]), -Defs([Def(Tid(1_942, "%00000796"), Attrs([Attr("address","0xB74"), -Attr("insn","ldr x0, [sp, #0x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_947, "%0000079b"), Attrs([Attr("address","0xB78"), -Attr("insn","adrp x1, #0")]), Var("R1",Imm(64)), Int(0,64)), -Def(Tid(1_953, "%000007a1"), Attrs([Attr("address","0xB7C"), -Attr("insn","add x1, x1, #0xe39")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(3641,64))), Def(Tid(1_958, "%000007a6"), - Attrs([Attr("address","0xB80"), Attr("insn","bl #-0x280")]), - Var("R30",Imm(64)), Int(2948,64))]), Jmps([Call(Tid(1_960, "%000007a8"), - Attrs([Attr("address","0xB80"), Attr("insn","bl #-0x280")]), Int(1,1), -(Direct(Tid(4_605, "@strcmp")),Direct(Tid(1_962, "%000007aa"))))])), -Blk(Tid(1_962, "%000007aa"), Attrs([Attr("address","0xB84")]), Phis([]), -Defs([Def(Tid(1_966, "%000007ae"), Attrs([Attr("address","0xB84"), -Attr("insn","subs w8, w0, #0x0")]), Var("#8",Imm(32)), -PLUS(Extract(31,0,Var("R0",Imm(64))),Int(4294967295,32))), -Def(Tid(1_971, "%000007b3"), Attrs([Attr("address","0xB84"), -Attr("insn","subs w8, w0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(33,PLUS(Var("#8",Imm(32)),Int(1,32))),PLUS(SIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(0,33)))), -Def(Tid(1_976, "%000007b8"), Attrs([Attr("address","0xB84"), -Attr("insn","subs w8, w0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(33,PLUS(Var("#8",Imm(32)),Int(1,32))),PLUS(UNSIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(4294967296,33)))), -Def(Tid(1_980, "%000007bc"), Attrs([Attr("address","0xB84"), -Attr("insn","subs w8, w0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#8",Imm(32)),Int(1,32)),Int(0,32))), -Def(Tid(1_984, "%000007c0"), Attrs([Attr("address","0xB84"), -Attr("insn","subs w8, w0, #0x0")]), Var("NF",Imm(1)), -Extract(31,31,PLUS(Var("#8",Imm(32)),Int(1,32)))), -Def(Tid(1_988, "%000007c4"), Attrs([Attr("address","0xB84"), -Attr("insn","subs w8, w0, #0x0")]), Var("R8",Imm(64)), -UNSIGNED(64,PLUS(Var("#8",Imm(32)),Int(1,32))))]), -Jmps([Goto(Tid(2_000, "%000007d0"), Attrs([Attr("address","0xB88"), -Attr("insn","cset w8, ne")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(1_993, "%000007c9"))), Goto(Tid(2_001, "%000007d1"), - Attrs([Attr("address","0xB88"), Attr("insn","cset w8, ne")]), Int(1,1), -Direct(Tid(1_996, "%000007cc")))])), Blk(Tid(1_996, "%000007cc"), Attrs([]), - Phis([]), Defs([Def(Tid(1_997, "%000007cd"), Attrs([Attr("address","0xB88"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(1,64))]), -Jmps([Goto(Tid(2_003, "%000007d3"), Attrs([Attr("address","0xB88"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(1_999, "%000007cf")))])), -Blk(Tid(1_993, "%000007c9"), Attrs([]), Phis([]), -Defs([Def(Tid(1_994, "%000007ca"), Attrs([Attr("address","0xB88"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(2_002, "%000007d2"), Attrs([Attr("address","0xB88"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(1_999, "%000007cf")))])), -Blk(Tid(1_999, "%000007cf"), Attrs([]), Phis([]), Defs([]), -Jmps([Goto(Tid(2_009, "%000007d9"), Attrs([Attr("address","0xB8C"), -Attr("insn","tbnz w8, #0x0, #0x10")]), - EQ(Extract(0,0,Var("R8",Imm(64))),Int(1,1)), -Direct(Tid(2_007, "%000007d7"))), Goto(Tid(4_589, "%000011ed"), Attrs([]), - Int(1,1), Direct(Tid(3_251, "%00000cb3")))])), Blk(Tid(2_007, "%000007d7"), - Attrs([Attr("address","0xB9C")]), Phis([]), -Defs([Def(Tid(2_017, "%000007e1"), Attrs([Attr("address","0xB9C"), -Attr("insn","ldr x0, [sp, #0x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_022, "%000007e6"), Attrs([Attr("address","0xBA0"), -Attr("insn","adrp x1, #0")]), Var("R1",Imm(64)), Int(0,64)), -Def(Tid(2_028, "%000007ec"), Attrs([Attr("address","0xBA4"), -Attr("insn","add x1, x1, #0xe3e")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(3646,64))), Def(Tid(2_033, "%000007f1"), - Attrs([Attr("address","0xBA8"), Attr("insn","bl #-0x2a8")]), - Var("R30",Imm(64)), Int(2988,64))]), Jmps([Call(Tid(2_035, "%000007f3"), - Attrs([Attr("address","0xBA8"), Attr("insn","bl #-0x2a8")]), Int(1,1), -(Direct(Tid(4_605, "@strcmp")),Direct(Tid(2_037, "%000007f5"))))])), -Blk(Tid(2_037, "%000007f5"), Attrs([Attr("address","0xBAC")]), Phis([]), -Defs([Def(Tid(2_041, "%000007f9"), Attrs([Attr("address","0xBAC"), -Attr("insn","subs w8, w0, #0x0")]), Var("#9",Imm(32)), -PLUS(Extract(31,0,Var("R0",Imm(64))),Int(4294967295,32))), -Def(Tid(2_046, "%000007fe"), Attrs([Attr("address","0xBAC"), -Attr("insn","subs w8, w0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(33,PLUS(Var("#9",Imm(32)),Int(1,32))),PLUS(SIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(0,33)))), -Def(Tid(2_051, "%00000803"), Attrs([Attr("address","0xBAC"), -Attr("insn","subs w8, w0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(33,PLUS(Var("#9",Imm(32)),Int(1,32))),PLUS(UNSIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(4294967296,33)))), -Def(Tid(2_055, "%00000807"), Attrs([Attr("address","0xBAC"), -Attr("insn","subs w8, w0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#9",Imm(32)),Int(1,32)),Int(0,32))), -Def(Tid(2_059, "%0000080b"), Attrs([Attr("address","0xBAC"), -Attr("insn","subs w8, w0, #0x0")]), Var("NF",Imm(1)), -Extract(31,31,PLUS(Var("#9",Imm(32)),Int(1,32)))), -Def(Tid(2_063, "%0000080f"), Attrs([Attr("address","0xBAC"), -Attr("insn","subs w8, w0, #0x0")]), Var("R8",Imm(64)), -UNSIGNED(64,PLUS(Var("#9",Imm(32)),Int(1,32))))]), -Jmps([Goto(Tid(2_075, "%0000081b"), Attrs([Attr("address","0xBB0"), -Attr("insn","cset w8, ne")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(2_068, "%00000814"))), Goto(Tid(2_076, "%0000081c"), - Attrs([Attr("address","0xBB0"), Attr("insn","cset w8, ne")]), Int(1,1), -Direct(Tid(2_071, "%00000817")))])), Blk(Tid(2_071, "%00000817"), Attrs([]), - Phis([]), Defs([Def(Tid(2_072, "%00000818"), Attrs([Attr("address","0xBB0"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(1,64))]), -Jmps([Goto(Tid(2_078, "%0000081e"), Attrs([Attr("address","0xBB0"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_074, "%0000081a")))])), -Blk(Tid(2_068, "%00000814"), Attrs([]), Phis([]), -Defs([Def(Tid(2_069, "%00000815"), Attrs([Attr("address","0xBB0"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(2_077, "%0000081d"), Attrs([Attr("address","0xBB0"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_074, "%0000081a")))])), -Blk(Tid(2_074, "%0000081a"), Attrs([]), Phis([]), Defs([]), -Jmps([Goto(Tid(2_084, "%00000824"), Attrs([Attr("address","0xBB4"), -Attr("insn","tbnz w8, #0x0, #0x10")]), - EQ(Extract(0,0,Var("R8",Imm(64))),Int(1,1)), -Direct(Tid(2_082, "%00000822"))), Goto(Tid(4_590, "%000011ee"), Attrs([]), - Int(1,1), Direct(Tid(3_236, "%00000ca4")))])), Blk(Tid(2_082, "%00000822"), - Attrs([Attr("address","0xBC4")]), Phis([]), -Defs([Def(Tid(2_092, "%0000082c"), Attrs([Attr("address","0xBC4"), -Attr("insn","ldr x0, [sp, #0x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_097, "%00000831"), Attrs([Attr("address","0xBC8"), -Attr("insn","adrp x1, #0")]), Var("R1",Imm(64)), Int(0,64)), -Def(Tid(2_103, "%00000837"), Attrs([Attr("address","0xBCC"), -Attr("insn","add x1, x1, #0xe44")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(3652,64))), Def(Tid(2_108, "%0000083c"), - Attrs([Attr("address","0xBD0"), Attr("insn","bl #-0x2d0")]), - Var("R30",Imm(64)), Int(3028,64))]), Jmps([Call(Tid(2_110, "%0000083e"), - Attrs([Attr("address","0xBD0"), Attr("insn","bl #-0x2d0")]), Int(1,1), -(Direct(Tid(4_605, "@strcmp")),Direct(Tid(2_112, "%00000840"))))])), -Blk(Tid(2_112, "%00000840"), Attrs([Attr("address","0xBD4")]), Phis([]), -Defs([Def(Tid(2_116, "%00000844"), Attrs([Attr("address","0xBD4"), -Attr("insn","subs w8, w0, #0x0")]), Var("#10",Imm(32)), -PLUS(Extract(31,0,Var("R0",Imm(64))),Int(4294967295,32))), -Def(Tid(2_121, "%00000849"), Attrs([Attr("address","0xBD4"), -Attr("insn","subs w8, w0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(33,PLUS(Var("#10",Imm(32)),Int(1,32))),PLUS(SIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(0,33)))), -Def(Tid(2_126, "%0000084e"), Attrs([Attr("address","0xBD4"), -Attr("insn","subs w8, w0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(33,PLUS(Var("#10",Imm(32)),Int(1,32))),PLUS(UNSIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(4294967296,33)))), -Def(Tid(2_130, "%00000852"), Attrs([Attr("address","0xBD4"), -Attr("insn","subs w8, w0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#10",Imm(32)),Int(1,32)),Int(0,32))), -Def(Tid(2_134, "%00000856"), Attrs([Attr("address","0xBD4"), -Attr("insn","subs w8, w0, #0x0")]), Var("NF",Imm(1)), -Extract(31,31,PLUS(Var("#10",Imm(32)),Int(1,32)))), -Def(Tid(2_138, "%0000085a"), Attrs([Attr("address","0xBD4"), -Attr("insn","subs w8, w0, #0x0")]), Var("R8",Imm(64)), -UNSIGNED(64,PLUS(Var("#10",Imm(32)),Int(1,32))))]), -Jmps([Goto(Tid(2_150, "%00000866"), Attrs([Attr("address","0xBD8"), -Attr("insn","cset w8, ne")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(2_143, "%0000085f"))), Goto(Tid(2_151, "%00000867"), - Attrs([Attr("address","0xBD8"), Attr("insn","cset w8, ne")]), Int(1,1), -Direct(Tid(2_146, "%00000862")))])), Blk(Tid(2_146, "%00000862"), Attrs([]), - Phis([]), Defs([Def(Tid(2_147, "%00000863"), Attrs([Attr("address","0xBD8"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(1,64))]), -Jmps([Goto(Tid(2_153, "%00000869"), Attrs([Attr("address","0xBD8"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_149, "%00000865")))])), -Blk(Tid(2_143, "%0000085f"), Attrs([]), Phis([]), -Defs([Def(Tid(2_144, "%00000860"), Attrs([Attr("address","0xBD8"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(2_152, "%00000868"), Attrs([Attr("address","0xBD8"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_149, "%00000865")))])), -Blk(Tid(2_149, "%00000865"), Attrs([]), Phis([]), Defs([]), -Jmps([Goto(Tid(2_159, "%0000086f"), Attrs([Attr("address","0xBDC"), -Attr("insn","tbnz w8, #0x0, #0x30")]), - EQ(Extract(0,0,Var("R8",Imm(64))),Int(1,1)), -Direct(Tid(2_157, "%0000086d"))), Goto(Tid(4_591, "%000011ef"), Attrs([]), - Int(1,1), Direct(Tid(3_142, "%00000c46")))])), Blk(Tid(3_142, "%00000c46"), - Attrs([Attr("address","0xBE0")]), Phis([]), Defs([]), -Jmps([Goto(Tid(3_145, "%00000c49"), Attrs([Attr("address","0xBE0"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_143, "%00000c47")))])), -Blk(Tid(3_143, "%00000c47"), Attrs([Attr("address","0xBE4")]), Phis([]), -Defs([Def(Tid(3_149, "%00000c4d"), Attrs([Attr("address","0xBE4"), -Attr("insn","adrp x8, #73728")]), Var("R8",Imm(64)), Int(73728,64)), -Def(Tid(3_156, "%00000c54"), Attrs([Attr("address","0xBE8"), -Attr("insn","ldr x8, [x8, #0x98]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(152,64)),LittleEndian(),64)), -Def(Tid(3_162, "%00000c5a"), Attrs([Attr("address","0xBEC"), -Attr("insn","subs x8, x8, #0x0")]), Var("#22",Imm(64)), -PLUS(Var("R8",Imm(64)),Int(18446744073709551615,64))), -Def(Tid(3_167, "%00000c5f"), Attrs([Attr("address","0xBEC"), -Attr("insn","subs x8, x8, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#22",Imm(64)),Int(1,64))),PLUS(SIGNED(65,Var("R8",Imm(64))),Int(0,65)))), -Def(Tid(3_172, "%00000c64"), Attrs([Attr("address","0xBEC"), -Attr("insn","subs x8, x8, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#22",Imm(64)),Int(1,64))),PLUS(UNSIGNED(65,Var("R8",Imm(64))),Int(18446744073709551616,65)))), -Def(Tid(3_176, "%00000c68"), Attrs([Attr("address","0xBEC"), -Attr("insn","subs x8, x8, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#22",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(3_180, "%00000c6c"), Attrs([Attr("address","0xBEC"), -Attr("insn","subs x8, x8, #0x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#22",Imm(64)),Int(1,64)))), -Def(Tid(3_184, "%00000c70"), Attrs([Attr("address","0xBEC"), -Attr("insn","subs x8, x8, #0x0")]), Var("R8",Imm(64)), -PLUS(Var("#22",Imm(64)),Int(1,64)))]), Jmps([Goto(Tid(3_196, "%00000c7c"), - Attrs([Attr("address","0xBF0"), Attr("insn","cset w8, eq")]), - NEQ(Var("ZF",Imm(1)),Int(1,1)), Direct(Tid(3_189, "%00000c75"))), -Goto(Tid(3_197, "%00000c7d"), Attrs([Attr("address","0xBF0"), -Attr("insn","cset w8, eq")]), Int(1,1), Direct(Tid(3_192, "%00000c78")))])), -Blk(Tid(3_192, "%00000c78"), Attrs([]), Phis([]), -Defs([Def(Tid(3_193, "%00000c79"), Attrs([Attr("address","0xBF0"), -Attr("insn","cset w8, eq")]), Var("R8",Imm(64)), Int(1,64))]), -Jmps([Goto(Tid(3_199, "%00000c7f"), Attrs([Attr("address","0xBF0"), -Attr("insn","cset w8, eq")]), Int(1,1), Direct(Tid(3_195, "%00000c7b")))])), -Blk(Tid(3_189, "%00000c75"), Attrs([]), Phis([]), -Defs([Def(Tid(3_190, "%00000c76"), Attrs([Attr("address","0xBF0"), -Attr("insn","cset w8, eq")]), Var("R8",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(3_198, "%00000c7e"), Attrs([Attr("address","0xBF0"), -Attr("insn","cset w8, eq")]), Int(1,1), Direct(Tid(3_195, "%00000c7b")))])), -Blk(Tid(3_195, "%00000c7b"), Attrs([]), Phis([]), Defs([]), -Jmps([Goto(Tid(3_205, "%00000c85"), Attrs([Attr("address","0xBF4"), -Attr("insn","tbnz w8, #0x0, #0x10")]), - EQ(Extract(0,0,Var("R8",Imm(64))),Int(1,1)), -Direct(Tid(3_203, "%00000c83"))), Goto(Tid(4_592, "%000011f0"), Attrs([]), - Int(1,1), Direct(Tid(3_221, "%00000c95")))])), Blk(Tid(3_221, "%00000c95"), - Attrs([Attr("address","0xBF8")]), Phis([]), Defs([]), -Jmps([Goto(Tid(3_224, "%00000c98"), Attrs([Attr("address","0xBF8"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_222, "%00000c96")))])), -Blk(Tid(3_222, "%00000c96"), Attrs([Attr("address","0xBFC")]), Phis([]), -Defs([Def(Tid(3_228, "%00000c9c"), Attrs([Attr("address","0xBFC"), -Attr("insn","bl #0x198")]), Var("R30",Imm(64)), Int(3072,64))]), -Jmps([Call(Tid(3_230, "%00000c9e"), Attrs([Attr("address","0xBFC"), -Attr("insn","bl #0x198")]), Int(1,1), -(Direct(Tid(4_575, "@closeFile")),Direct(Tid(3_232, "%00000ca0"))))])), -Blk(Tid(3_232, "%00000ca0"), Attrs([Attr("address","0xC00")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_234, "%00000ca2"), Attrs([Attr("address","0xC00"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_203, "%00000c83")))])), -Blk(Tid(3_203, "%00000c83"), Attrs([Attr("address","0xC04")]), Phis([]), -Defs([Def(Tid(3_211, "%00000c8b"), Attrs([Attr("address","0xC04"), -Attr("insn","mov w0, wzr")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(3_216, "%00000c90"), Attrs([Attr("address","0xC08"), -Attr("insn","bl #-0x3a8")]), Var("R30",Imm(64)), Int(3084,64))]), -Jmps([Call(Tid(3_219, "%00000c93"), Attrs([Attr("address","0xC08"), -Attr("insn","bl #-0x3a8")]), Int(1,1), -(Direct(Tid(4_580, "@exit")),Direct(Tid(2_157, "%0000086d"))))])), -Blk(Tid(2_157, "%0000086d"), Attrs([Attr("address","0xC0C")]), Phis([]), -Defs([Def(Tid(2_165, "%00000875"), Attrs([Attr("address","0xC0C"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_171, "%0000087b"), Attrs([Attr("address","0xC10"), -Attr("insn","add x0, x0, #0xe49")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3657,64))), Def(Tid(2_176, "%00000880"), - Attrs([Attr("address","0xC14"), Attr("insn","bl #-0x2e4")]), - Var("R30",Imm(64)), Int(3096,64))]), Jmps([Call(Tid(2_178, "%00000882"), - Attrs([Attr("address","0xC14"), Attr("insn","bl #-0x2e4")]), Int(1,1), -(Direct(Tid(4_598, "@printf")),Direct(Tid(2_180, "%00000884"))))])), -Blk(Tid(2_180, "%00000884"), Attrs([Attr("address","0xC18")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_183, "%00000887"), Attrs([Attr("address","0xC18"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(2_181, "%00000885")))])), -Blk(Tid(2_181, "%00000885"), Attrs([Attr("address","0xC1C")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_187, "%0000088b"), Attrs([Attr("address","0xC1C"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(2_185, "%00000889")))])), -Blk(Tid(3_236, "%00000ca4"), Attrs([Attr("address","0xBB8")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_239, "%00000ca7"), Attrs([Attr("address","0xBB8"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_237, "%00000ca5")))])), -Blk(Tid(3_237, "%00000ca5"), Attrs([Attr("address","0xBBC")]), Phis([]), -Defs([Def(Tid(3_243, "%00000cab"), Attrs([Attr("address","0xBBC"), -Attr("insn","bl #0x1d8")]), Var("R30",Imm(64)), Int(3008,64))]), -Jmps([Call(Tid(3_245, "%00000cad"), Attrs([Attr("address","0xBBC"), -Attr("insn","bl #0x1d8")]), Int(1,1), -(Direct(Tid(4_575, "@closeFile")),Direct(Tid(3_247, "%00000caf"))))])), -Blk(Tid(3_247, "%00000caf"), Attrs([Attr("address","0xBC0")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_249, "%00000cb1"), Attrs([Attr("address","0xBC0"), -Attr("insn","b #0x60")]), Int(1,1), Direct(Tid(2_185, "%00000889")))])), -Blk(Tid(2_185, "%00000889"), Attrs([Attr("address","0xC20")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_191, "%0000088f"), Attrs([Attr("address","0xC20"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(2_189, "%0000088d")))])), -Blk(Tid(3_251, "%00000cb3"), Attrs([Attr("address","0xB90")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_254, "%00000cb6"), Attrs([Attr("address","0xB90"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_252, "%00000cb4")))])), -Blk(Tid(3_252, "%00000cb4"), Attrs([Attr("address","0xB94")]), Phis([]), -Defs([Def(Tid(3_258, "%00000cba"), Attrs([Attr("address","0xB94"), -Attr("insn","bl #0x1a4")]), Var("R30",Imm(64)), Int(2968,64))]), -Jmps([Call(Tid(3_260, "%00000cbc"), Attrs([Attr("address","0xB94"), -Attr("insn","bl #0x1a4")]), Int(1,1), -(Direct(Tid(4_603, "@saveFile")),Direct(Tid(3_262, "%00000cbe"))))])), -Blk(Tid(3_262, "%00000cbe"), Attrs([Attr("address","0xB98")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_264, "%00000cc0"), Attrs([Attr("address","0xB98"), -Attr("insn","b #0x8c")]), Int(1,1), Direct(Tid(2_189, "%0000088d")))])), -Blk(Tid(2_189, "%0000088d"), Attrs([Attr("address","0xC24")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_195, "%00000893"), Attrs([Attr("address","0xC24"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(2_193, "%00000891")))])), -Blk(Tid(3_266, "%00000cc2"), Attrs([Attr("address","0xB58")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_269, "%00000cc5"), Attrs([Attr("address","0xB58"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_267, "%00000cc3")))])), -Blk(Tid(3_267, "%00000cc3"), Attrs([Attr("address","0xB5C")]), Phis([]), -Defs([Def(Tid(3_275, "%00000ccb"), Attrs([Attr("address","0xB5C"), -Attr("insn","ldr x8, [sp, #0x8]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(3_281, "%00000cd1"), Attrs([Attr("address","0xB60"), -Attr("insn","add x8, x8, #0x5")]), Var("R8",Imm(64)), -PLUS(Var("R8",Imm(64)),Int(5,64))), Def(Tid(3_289, "%00000cd9"), - Attrs([Attr("address","0xB64"), Attr("insn","str x8, [sp]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("R31",Imm(64)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(3_296, "%00000ce0"), Attrs([Attr("address","0xB68"), -Attr("insn","ldr x0, [sp]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(3_301, "%00000ce5"), Attrs([Attr("address","0xB6C"), -Attr("insn","bl #0xcc")]), Var("R30",Imm(64)), Int(2928,64))]), -Jmps([Call(Tid(3_303, "%00000ce7"), Attrs([Attr("address","0xB6C"), -Attr("insn","bl #0xcc")]), Int(1,1), -(Direct(Tid(4_594, "@openFile")),Direct(Tid(3_305, "%00000ce9"))))])), -Blk(Tid(3_305, "%00000ce9"), Attrs([Attr("address","0xB70")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_307, "%00000ceb"), Attrs([Attr("address","0xB70"), -Attr("insn","b #0xb8")]), Int(1,1), Direct(Tid(2_193, "%00000891")))])), -Blk(Tid(2_193, "%00000891"), Attrs([Attr("address","0xC28")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_199, "%00000897"), Attrs([Attr("address","0xC28"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(2_197, "%00000895")))])), -Blk(Tid(3_309, "%00000ced"), Attrs([Attr("address","0xB2C")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_312, "%00000cf0"), Attrs([Attr("address","0xB2C"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_310, "%00000cee")))])), -Blk(Tid(3_310, "%00000cee"), Attrs([Attr("address","0xB30")]), Phis([]), -Defs([Def(Tid(3_316, "%00000cf4"), Attrs([Attr("address","0xB30"), -Attr("insn","bl #0x1b0")]), Var("R30",Imm(64)), Int(2868,64))]), -Jmps([Call(Tid(3_318, "%00000cf6"), Attrs([Attr("address","0xB30"), -Attr("insn","bl #0x1b0")]), Int(1,1), -(Direct(Tid(4_597, "@printHelp")),Direct(Tid(3_320, "%00000cf8"))))])), -Blk(Tid(3_320, "%00000cf8"), Attrs([Attr("address","0xB34")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_322, "%00000cfa"), Attrs([Attr("address","0xB34"), -Attr("insn","b #0xf8")]), Int(1,1), Direct(Tid(2_197, "%00000895")))])), -Blk(Tid(2_197, "%00000895"), Attrs([Attr("address","0xC2C")]), Phis([]), -Defs([Def(Tid(2_204, "%0000089c"), Attrs([Attr("address","0xC2C"), -Attr("insn","ldp x29, x30, [sp, #0x10]")]), Var("#11",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(2_209, "%000008a1"), - Attrs([Attr("address","0xC2C"), Attr("insn","ldp x29, x30, [sp, #0x10]")]), - Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#11",Imm(64)),LittleEndian(),64)), -Def(Tid(2_214, "%000008a6"), Attrs([Attr("address","0xC2C"), -Attr("insn","ldp x29, x30, [sp, #0x10]")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#11",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_220, "%000008ac"), Attrs([Attr("address","0xC30"), -Attr("insn","add sp, sp, #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(2_225, "%000008b1"), - Attrs([Attr("address","0xC34"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_593, "@main"), - Attrs([Attr("c.proto","signed (*)(signed argc, const char** argv)"), -Attr("address","0xA94")]), "main", Args([Arg(Tid(4_636, "%0000121c"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("main_argc",Imm(32)), -LOW(32,Var("R0",Imm(64))), In()), Arg(Tid(4_637, "%0000121d"), - Attrs([Attr("c.layout","**[char : 8]"), Attr("c.data","Top:u8 ptr ptr"), -Attr("c.type"," const char**")]), Var("main_argv",Imm(64)), -Var("R1",Imm(64)), Both()), Arg(Tid(4_638, "%0000121e"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("main_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_562, "@main"), - Attrs([Attr("address","0xA94")]), Phis([]), -Defs([Def(Tid(1_566, "%0000061e"), Attrs([Attr("address","0xA94"), -Attr("insn","sub sp, sp, #0x130")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551312,64))), -Def(Tid(1_572, "%00000624"), Attrs([Attr("address","0xA98"), -Attr("insn","stp x29, x30, [sp, #0x110]")]), Var("#4",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(272,64))), Def(Tid(1_578, "%0000062a"), - Attrs([Attr("address","0xA98"), Attr("insn","stp x29, x30, [sp, #0x110]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#4",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_584, "%00000630"), Attrs([Attr("address","0xA98"), -Attr("insn","stp x29, x30, [sp, #0x110]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#4",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_592, "%00000638"), Attrs([Attr("address","0xA9C"), -Attr("insn","str x28, [sp, #0x120]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(288,64)),Var("R28",Imm(64)),LittleEndian(),64)), -Def(Tid(1_598, "%0000063e"), Attrs([Attr("address","0xAA0"), -Attr("insn","add x29, sp, #0x110")]), Var("R29",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(272,64))), Def(Tid(1_605, "%00000645"), - Attrs([Attr("address","0xAA4"), Attr("insn","stur wzr, [x29, #-0x4]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R29",Imm(64)),Int(18446744073709551612,64)),Int(0,32),LittleEndian(),32))]), -Jmps([Goto(Tid(1_610, "%0000064a"), Attrs([Attr("address","0xAA8"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(1_608, "%00000648")))])), -Blk(Tid(1_608, "%00000648"), Attrs([Attr("address","0xAAC")]), Phis([]), -Defs([Def(Tid(1_614, "%0000064e"), Attrs([Attr("address","0xAAC"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_620, "%00000654"), Attrs([Attr("address","0xAB0"), -Attr("insn","add x0, x0, #0xe1c")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3612,64))), Def(Tid(1_625, "%00000659"), - Attrs([Attr("address","0xAB4"), Attr("insn","bl #-0x184")]), - Var("R30",Imm(64)), Int(2744,64))]), Jmps([Call(Tid(1_628, "%0000065c"), - Attrs([Attr("address","0xAB4"), Attr("insn","bl #-0x184")]), Int(1,1), -(Direct(Tid(4_598, "@printf")),Direct(Tid(1_630, "%0000065e"))))])), -Blk(Tid(1_630, "%0000065e"), Attrs([Attr("address","0xAB8")]), Phis([]), -Defs([Def(Tid(1_633, "%00000661"), Attrs([Attr("address","0xAB8"), -Attr("insn","adrp x8, #69632")]), Var("R8",Imm(64)), Int(69632,64)), -Def(Tid(1_640, "%00000668"), Attrs([Attr("address","0xABC"), -Attr("insn","ldr x8, [x8, #0xfc8]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(4040,64)),LittleEndian(),64)), -Def(Tid(1_647, "%0000066f"), Attrs([Attr("address","0xAC0"), -Attr("insn","ldr x2, [x8]")]), Var("R2",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(1_653, "%00000675"), Attrs([Attr("address","0xAC4"), -Attr("insn","add x0, sp, #0xc")]), Var("R0",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(12,64))), Def(Tid(1_661, "%0000067d"), - Attrs([Attr("address","0xAC8"), Attr("insn","str x0, [sp]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("R31",Imm(64)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(1_666, "%00000682"), Attrs([Attr("address","0xACC"), -Attr("insn","mov w1, #0x100")]), Var("R1",Imm(64)), Int(256,64)), -Def(Tid(1_671, "%00000687"), Attrs([Attr("address","0xAD0"), -Attr("insn","bl #-0x190")]), Var("R30",Imm(64)), Int(2772,64))]), -Jmps([Call(Tid(1_674, "%0000068a"), Attrs([Attr("address","0xAD0"), -Attr("insn","bl #-0x190")]), Int(1,1), -(Direct(Tid(4_582, "@fgets")),Direct(Tid(1_676, "%0000068c"))))])), -Blk(Tid(1_676, "%0000068c"), Attrs([Attr("address","0xAD4")]), Phis([]), -Defs([Def(Tid(1_681, "%00000691"), Attrs([Attr("address","0xAD4"), -Attr("insn","ldr x0, [sp]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_686, "%00000696"), Attrs([Attr("address","0xAD8"), -Attr("insn","adrp x1, #0")]), Var("R1",Imm(64)), Int(0,64)), -Def(Tid(1_692, "%0000069c"), Attrs([Attr("address","0xADC"), -Attr("insn","add x1, x1, #0xfb3")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(4019,64))), Def(Tid(1_697, "%000006a1"), - Attrs([Attr("address","0xAE0"), Attr("insn","bl #-0x1c0")]), - Var("R30",Imm(64)), Int(2788,64))]), Jmps([Call(Tid(1_700, "%000006a4"), - Attrs([Attr("address","0xAE0"), Attr("insn","bl #-0x1c0")]), Int(1,1), -(Direct(Tid(4_606, "@strcspn")),Direct(Tid(1_702, "%000006a6"))))])), -Blk(Tid(1_702, "%000006a6"), Attrs([Attr("address","0xAE4")]), Phis([]), -Defs([Def(Tid(1_706, "%000006aa"), Attrs([Attr("address","0xAE4"), -Attr("insn","mov x9, x0")]), Var("R9",Imm(64)), Var("R0",Imm(64))), -Def(Tid(1_713, "%000006b1"), Attrs([Attr("address","0xAE8"), -Attr("insn","ldr x0, [sp]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_719, "%000006b7"), Attrs([Attr("address","0xAEC"), -Attr("insn","mov x8, x0")]), Var("R8",Imm(64)), Var("R0",Imm(64))), -Def(Tid(1_726, "%000006be"), Attrs([Attr("address","0xAF0"), -Attr("insn","add x8, x8, x9")]), Var("R8",Imm(64)), -PLUS(Var("R8",Imm(64)),Var("R9",Imm(64)))), Def(Tid(1_733, "%000006c5"), - Attrs([Attr("address","0xAF4"), Attr("insn","strb wzr, [x8]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("R8",Imm(64)),Int(0,8),LittleEndian(),8)), -Def(Tid(1_738, "%000006ca"), Attrs([Attr("address","0xAF8"), -Attr("insn","bl #0x8")]), Var("R30",Imm(64)), Int(2812,64))]), -Jmps([Call(Tid(1_741, "%000006cd"), Attrs([Attr("address","0xAF8"), -Attr("insn","bl #0x8")]), Int(1,1), -(Direct(Tid(4_586, "@handleInput")),Direct(Tid(3_324, "%00000cfc"))))])), -Blk(Tid(3_324, "%00000cfc"), Attrs([Attr("address","0xAFC")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_326, "%00000cfe"), Attrs([Attr("address","0xAFC"), -Attr("insn","b #-0x50")]), Int(1,1), Direct(Tid(1_608, "%00000648")))]))])), -Sub(Tid(4_594, "@openFile"), Attrs([Attr("c.proto","signed (*)(void)"), -Attr("address","0xC38")]), "openFile", Args([Arg(Tid(4_639, "%0000121f"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("openFile_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_227, "@openFile"), - Attrs([Attr("address","0xC38")]), Phis([]), -Defs([Def(Tid(2_231, "%000008b7"), Attrs([Attr("address","0xC38"), -Attr("insn","sub sp, sp, #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(2_237, "%000008bd"), Attrs([Attr("address","0xC3C"), -Attr("insn","stp x29, x30, [sp, #0x10]")]), Var("#12",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(2_243, "%000008c3"), - Attrs([Attr("address","0xC3C"), Attr("insn","stp x29, x30, [sp, #0x10]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#12",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(2_249, "%000008c9"), Attrs([Attr("address","0xC3C"), -Attr("insn","stp x29, x30, [sp, #0x10]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#12",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(2_255, "%000008cf"), Attrs([Attr("address","0xC40"), -Attr("insn","add x29, sp, #0x10")]), Var("R29",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(2_263, "%000008d7"), - Attrs([Attr("address","0xC44"), Attr("insn","str x0, [sp, #0x8]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_268, "%000008dc"), Attrs([Attr("address","0xC48"), -Attr("insn","adrp x8, #73728")]), Var("R8",Imm(64)), Int(73728,64)), -Def(Tid(2_275, "%000008e3"), Attrs([Attr("address","0xC4C"), -Attr("insn","ldr x8, [x8, #0x98]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(152,64)),LittleEndian(),64)), -Def(Tid(2_281, "%000008e9"), Attrs([Attr("address","0xC50"), -Attr("insn","subs x8, x8, #0x0")]), Var("#13",Imm(64)), -PLUS(Var("R8",Imm(64)),Int(18446744073709551615,64))), -Def(Tid(2_286, "%000008ee"), Attrs([Attr("address","0xC50"), -Attr("insn","subs x8, x8, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#13",Imm(64)),Int(1,64))),PLUS(SIGNED(65,Var("R8",Imm(64))),Int(0,65)))), -Def(Tid(2_291, "%000008f3"), Attrs([Attr("address","0xC50"), -Attr("insn","subs x8, x8, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#13",Imm(64)),Int(1,64))),PLUS(UNSIGNED(65,Var("R8",Imm(64))),Int(18446744073709551616,65)))), -Def(Tid(2_295, "%000008f7"), Attrs([Attr("address","0xC50"), -Attr("insn","subs x8, x8, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#13",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(2_299, "%000008fb"), Attrs([Attr("address","0xC50"), -Attr("insn","subs x8, x8, #0x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#13",Imm(64)),Int(1,64)))), -Def(Tid(2_303, "%000008ff"), Attrs([Attr("address","0xC50"), -Attr("insn","subs x8, x8, #0x0")]), Var("R8",Imm(64)), -PLUS(Var("#13",Imm(64)),Int(1,64)))]), Jmps([Goto(Tid(2_315, "%0000090b"), - Attrs([Attr("address","0xC54"), Attr("insn","cset w8, eq")]), - NEQ(Var("ZF",Imm(1)),Int(1,1)), Direct(Tid(2_308, "%00000904"))), -Goto(Tid(2_316, "%0000090c"), Attrs([Attr("address","0xC54"), -Attr("insn","cset w8, eq")]), Int(1,1), Direct(Tid(2_311, "%00000907")))])), -Blk(Tid(2_311, "%00000907"), Attrs([]), Phis([]), -Defs([Def(Tid(2_312, "%00000908"), Attrs([Attr("address","0xC54"), -Attr("insn","cset w8, eq")]), Var("R8",Imm(64)), Int(1,64))]), -Jmps([Goto(Tid(2_318, "%0000090e"), Attrs([Attr("address","0xC54"), -Attr("insn","cset w8, eq")]), Int(1,1), Direct(Tid(2_314, "%0000090a")))])), -Blk(Tid(2_308, "%00000904"), Attrs([]), Phis([]), -Defs([Def(Tid(2_309, "%00000905"), Attrs([Attr("address","0xC54"), -Attr("insn","cset w8, eq")]), Var("R8",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(2_317, "%0000090d"), Attrs([Attr("address","0xC54"), -Attr("insn","cset w8, eq")]), Int(1,1), Direct(Tid(2_314, "%0000090a")))])), -Blk(Tid(2_314, "%0000090a"), Attrs([]), Phis([]), Defs([]), -Jmps([Goto(Tid(2_324, "%00000914"), Attrs([Attr("address","0xC58"), -Attr("insn","tbnz w8, #0x0, #0x10")]), - EQ(Extract(0,0,Var("R8",Imm(64))),Int(1,1)), -Direct(Tid(2_322, "%00000912"))), Goto(Tid(4_595, "%000011f3"), Attrs([]), - Int(1,1), Direct(Tid(3_127, "%00000c37")))])), Blk(Tid(3_127, "%00000c37"), - Attrs([Attr("address","0xC5C")]), Phis([]), Defs([]), -Jmps([Goto(Tid(3_130, "%00000c3a"), Attrs([Attr("address","0xC5C"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_128, "%00000c38")))])), -Blk(Tid(3_128, "%00000c38"), Attrs([Attr("address","0xC60")]), Phis([]), -Defs([Def(Tid(3_134, "%00000c3e"), Attrs([Attr("address","0xC60"), -Attr("insn","bl #0x134")]), Var("R30",Imm(64)), Int(3172,64))]), -Jmps([Call(Tid(3_136, "%00000c40"), Attrs([Attr("address","0xC60"), -Attr("insn","bl #0x134")]), Int(1,1), -(Direct(Tid(4_575, "@closeFile")),Direct(Tid(3_138, "%00000c42"))))])), -Blk(Tid(3_138, "%00000c42"), Attrs([Attr("address","0xC64")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_140, "%00000c44"), Attrs([Attr("address","0xC64"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(2_322, "%00000912")))])), -Blk(Tid(2_322, "%00000912"), Attrs([Attr("address","0xC68")]), Phis([]), -Defs([Def(Tid(2_332, "%0000091c"), Attrs([Attr("address","0xC68"), -Attr("insn","ldr x0, [sp, #0x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_337, "%00000921"), Attrs([Attr("address","0xC6C"), -Attr("insn","bl #-0x39c")]), Var("R30",Imm(64)), Int(3184,64))]), -Jmps([Call(Tid(2_340, "%00000924"), Attrs([Attr("address","0xC6C"), -Attr("insn","bl #-0x39c")]), Int(1,1), -(Direct(Tid(4_607, "@strdup")),Direct(Tid(2_342, "%00000926"))))])), -Blk(Tid(2_342, "%00000926"), Attrs([Attr("address","0xC70")]), Phis([]), -Defs([Def(Tid(2_345, "%00000929"), Attrs([Attr("address","0xC70"), -Attr("insn","adrp x8, #73728")]), Var("R8",Imm(64)), Int(73728,64)), -Def(Tid(2_353, "%00000931"), Attrs([Attr("address","0xC74"), -Attr("insn","str x0, [x8, #0x90]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(144,64)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_360, "%00000938"), Attrs([Attr("address","0xC78"), -Attr("insn","ldr x0, [x8, #0x90]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(144,64)),LittleEndian(),64)), -Def(Tid(2_365, "%0000093d"), Attrs([Attr("address","0xC7C"), -Attr("insn","adrp x1, #0")]), Var("R1",Imm(64)), Int(0,64)), -Def(Tid(2_371, "%00000943"), Attrs([Attr("address","0xC80"), -Attr("insn","add x1, x1, #0xf86")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(3974,64))), Def(Tid(2_376, "%00000948"), - Attrs([Attr("address","0xC84"), Attr("insn","bl #-0x3e4")]), - Var("R30",Imm(64)), Int(3208,64))]), Jmps([Call(Tid(2_379, "%0000094b"), - Attrs([Attr("address","0xC84"), Attr("insn","bl #-0x3e4")]), Int(1,1), -(Direct(Tid(4_583, "@fopen")),Direct(Tid(2_381, "%0000094d"))))])), -Blk(Tid(2_381, "%0000094d"), Attrs([Attr("address","0xC88")]), Phis([]), -Defs([Def(Tid(2_384, "%00000950"), Attrs([Attr("address","0xC88"), -Attr("insn","adrp x8, #73728")]), Var("R8",Imm(64)), Int(73728,64)), -Def(Tid(2_392, "%00000958"), Attrs([Attr("address","0xC8C"), -Attr("insn","str x0, [x8, #0x98]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(152,64)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_399, "%0000095f"), Attrs([Attr("address","0xC90"), -Attr("insn","ldr x8, [x8, #0x98]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(152,64)),LittleEndian(),64)), -Def(Tid(2_405, "%00000965"), Attrs([Attr("address","0xC94"), -Attr("insn","subs x8, x8, #0x0")]), Var("#14",Imm(64)), -PLUS(Var("R8",Imm(64)),Int(18446744073709551615,64))), -Def(Tid(2_410, "%0000096a"), Attrs([Attr("address","0xC94"), -Attr("insn","subs x8, x8, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#14",Imm(64)),Int(1,64))),PLUS(SIGNED(65,Var("R8",Imm(64))),Int(0,65)))), -Def(Tid(2_415, "%0000096f"), Attrs([Attr("address","0xC94"), -Attr("insn","subs x8, x8, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#14",Imm(64)),Int(1,64))),PLUS(UNSIGNED(65,Var("R8",Imm(64))),Int(18446744073709551616,65)))), -Def(Tid(2_419, "%00000973"), Attrs([Attr("address","0xC94"), -Attr("insn","subs x8, x8, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#14",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(2_423, "%00000977"), Attrs([Attr("address","0xC94"), -Attr("insn","subs x8, x8, #0x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#14",Imm(64)),Int(1,64)))), -Def(Tid(2_427, "%0000097b"), Attrs([Attr("address","0xC94"), -Attr("insn","subs x8, x8, #0x0")]), Var("R8",Imm(64)), -PLUS(Var("#14",Imm(64)),Int(1,64)))]), Jmps([Goto(Tid(2_439, "%00000987"), - Attrs([Attr("address","0xC98"), Attr("insn","cset w8, ne")]), - EQ(Var("ZF",Imm(1)),Int(1,1)), Direct(Tid(2_432, "%00000980"))), -Goto(Tid(2_440, "%00000988"), Attrs([Attr("address","0xC98"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_435, "%00000983")))])), -Blk(Tid(2_435, "%00000983"), Attrs([]), Phis([]), -Defs([Def(Tid(2_436, "%00000984"), Attrs([Attr("address","0xC98"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(1,64))]), -Jmps([Goto(Tid(2_442, "%0000098a"), Attrs([Attr("address","0xC98"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_438, "%00000986")))])), -Blk(Tid(2_432, "%00000980"), Attrs([]), Phis([]), -Defs([Def(Tid(2_433, "%00000981"), Attrs([Attr("address","0xC98"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(2_441, "%00000989"), Attrs([Attr("address","0xC98"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_438, "%00000986")))])), -Blk(Tid(2_438, "%00000986"), Attrs([]), Phis([]), Defs([]), -Jmps([Goto(Tid(2_448, "%00000990"), Attrs([Attr("address","0xC9C"), -Attr("insn","tbnz w8, #0x0, #0x20")]), - EQ(Extract(0,0,Var("R8",Imm(64))),Int(1,1)), -Direct(Tid(2_446, "%0000098e"))), Goto(Tid(4_596, "%000011f4"), Attrs([]), - Int(1,1), Direct(Tid(3_089, "%00000c11")))])), Blk(Tid(2_446, "%0000098e"), - Attrs([Attr("address","0xCBC")]), Phis([]), -Defs([Def(Tid(2_454, "%00000996"), Attrs([Attr("address","0xCBC"), -Attr("insn","adrp x8, #73728")]), Var("R8",Imm(64)), Int(73728,64)), -Def(Tid(2_461, "%0000099d"), Attrs([Attr("address","0xCC0"), -Attr("insn","ldr x1, [x8, #0x90]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(144,64)),LittleEndian(),64)), -Def(Tid(2_466, "%000009a2"), Attrs([Attr("address","0xCC4"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_472, "%000009a8"), Attrs([Attr("address","0xCC8"), -Attr("insn","add x0, x0, #0xfa3")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(4003,64))), Def(Tid(2_477, "%000009ad"), - Attrs([Attr("address","0xCCC"), Attr("insn","bl #-0x39c")]), - Var("R30",Imm(64)), Int(3280,64))]), Jmps([Call(Tid(2_479, "%000009af"), - Attrs([Attr("address","0xCCC"), Attr("insn","bl #-0x39c")]), Int(1,1), -(Direct(Tid(4_598, "@printf")),Direct(Tid(2_481, "%000009b1"))))])), -Blk(Tid(2_481, "%000009b1"), Attrs([Attr("address","0xCD0")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_484, "%000009b4"), Attrs([Attr("address","0xCD0"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(2_482, "%000009b2")))])), -Blk(Tid(3_089, "%00000c11"), Attrs([Attr("address","0xCA0")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_092, "%00000c14"), Attrs([Attr("address","0xCA0"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_090, "%00000c12")))])), -Blk(Tid(3_090, "%00000c12"), Attrs([Attr("address","0xCA4")]), Phis([]), -Defs([Def(Tid(3_096, "%00000c18"), Attrs([Attr("address","0xCA4"), -Attr("insn","adrp x8, #73728")]), Var("R8",Imm(64)), Int(73728,64)), -Def(Tid(3_103, "%00000c1f"), Attrs([Attr("address","0xCA8"), -Attr("insn","ldr x1, [x8, #0x90]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(144,64)),LittleEndian(),64)), -Def(Tid(3_108, "%00000c24"), Attrs([Attr("address","0xCAC"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(3_114, "%00000c2a"), Attrs([Attr("address","0xCB0"), -Attr("insn","add x0, x0, #0xf89")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3977,64))), Def(Tid(3_119, "%00000c2f"), - Attrs([Attr("address","0xCB4"), Attr("insn","bl #-0x384")]), - Var("R30",Imm(64)), Int(3256,64))]), Jmps([Call(Tid(3_121, "%00000c31"), - Attrs([Attr("address","0xCB4"), Attr("insn","bl #-0x384")]), Int(1,1), -(Direct(Tid(4_598, "@printf")),Direct(Tid(3_123, "%00000c33"))))])), -Blk(Tid(3_123, "%00000c33"), Attrs([Attr("address","0xCB8")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_125, "%00000c35"), Attrs([Attr("address","0xCB8"), -Attr("insn","b #0x1c")]), Int(1,1), Direct(Tid(2_482, "%000009b2")))])), -Blk(Tid(2_482, "%000009b2"), Attrs([Attr("address","0xCD4")]), Phis([]), -Defs([Def(Tid(2_489, "%000009b9"), Attrs([Attr("address","0xCD4"), -Attr("insn","ldp x29, x30, [sp, #0x10]")]), Var("#15",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(2_494, "%000009be"), - Attrs([Attr("address","0xCD4"), Attr("insn","ldp x29, x30, [sp, #0x10]")]), - Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#15",Imm(64)),LittleEndian(),64)), -Def(Tid(2_499, "%000009c3"), Attrs([Attr("address","0xCD4"), -Attr("insn","ldp x29, x30, [sp, #0x10]")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#15",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_505, "%000009c9"), Attrs([Attr("address","0xCD8"), -Attr("insn","add sp, sp, #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(2_510, "%000009ce"), - Attrs([Attr("address","0xCDC"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_597, "@printHelp"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xCE0")]), - "printHelp", Args([Arg(Tid(4_640, "%00001220"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("printHelp_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_512, "@printHelp"), - Attrs([Attr("address","0xCE0")]), Phis([]), -Defs([Def(Tid(2_516, "%000009d4"), Attrs([Attr("address","0xCE0"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#16",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(2_522, "%000009da"), Attrs([Attr("address","0xCE0"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#16",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(2_528, "%000009e0"), Attrs([Attr("address","0xCE0"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#16",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(2_532, "%000009e4"), Attrs([Attr("address","0xCE0"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#16",Imm(64))), Def(Tid(2_538, "%000009ea"), - Attrs([Attr("address","0xCE4"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(2_543, "%000009ef"), - Attrs([Attr("address","0xCE8"), Attr("insn","adrp x0, #0")]), - Var("R0",Imm(64)), Int(0,64)), Def(Tid(2_549, "%000009f5"), - Attrs([Attr("address","0xCEC"), Attr("insn","add x0, x0, #0xe7f")]), - Var("R0",Imm(64)), PLUS(Var("R0",Imm(64)),Int(3711,64))), -Def(Tid(2_554, "%000009fa"), Attrs([Attr("address","0xCF0"), -Attr("insn","bl #-0x3c0")]), Var("R30",Imm(64)), Int(3316,64))]), -Jmps([Call(Tid(2_556, "%000009fc"), Attrs([Attr("address","0xCF0"), -Attr("insn","bl #-0x3c0")]), Int(1,1), -(Direct(Tid(4_598, "@printf")),Direct(Tid(2_558, "%000009fe"))))])), -Blk(Tid(2_558, "%000009fe"), Attrs([Attr("address","0xCF4")]), Phis([]), -Defs([Def(Tid(2_561, "%00000a01"), Attrs([Attr("address","0xCF4"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_567, "%00000a07"), Attrs([Attr("address","0xCF8"), -Attr("insn","add x0, x0, #0xe8a")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3722,64))), Def(Tid(2_572, "%00000a0c"), - Attrs([Attr("address","0xCFC"), Attr("insn","bl #-0x3cc")]), - Var("R30",Imm(64)), Int(3328,64))]), Jmps([Call(Tid(2_574, "%00000a0e"), - Attrs([Attr("address","0xCFC"), Attr("insn","bl #-0x3cc")]), Int(1,1), -(Direct(Tid(4_598, "@printf")),Direct(Tid(2_576, "%00000a10"))))])), -Blk(Tid(2_576, "%00000a10"), Attrs([Attr("address","0xD00")]), Phis([]), -Defs([Def(Tid(2_579, "%00000a13"), Attrs([Attr("address","0xD00"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_585, "%00000a19"), Attrs([Attr("address","0xD04"), -Attr("insn","add x0, x0, #0xebe")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3774,64))), Def(Tid(2_590, "%00000a1e"), - Attrs([Attr("address","0xD08"), Attr("insn","bl #-0x3d8")]), - Var("R30",Imm(64)), Int(3340,64))]), Jmps([Call(Tid(2_592, "%00000a20"), - Attrs([Attr("address","0xD08"), Attr("insn","bl #-0x3d8")]), Int(1,1), -(Direct(Tid(4_598, "@printf")),Direct(Tid(2_594, "%00000a22"))))])), -Blk(Tid(2_594, "%00000a22"), Attrs([Attr("address","0xD0C")]), Phis([]), -Defs([Def(Tid(2_597, "%00000a25"), Attrs([Attr("address","0xD0C"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_603, "%00000a2b"), Attrs([Attr("address","0xD10"), -Attr("insn","add x0, x0, #0xef0")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3824,64))), Def(Tid(2_608, "%00000a30"), - Attrs([Attr("address","0xD14"), Attr("insn","bl #-0x3e4")]), - Var("R30",Imm(64)), Int(3352,64))]), Jmps([Call(Tid(2_610, "%00000a32"), - Attrs([Attr("address","0xD14"), Attr("insn","bl #-0x3e4")]), Int(1,1), -(Direct(Tid(4_598, "@printf")),Direct(Tid(2_612, "%00000a34"))))])), -Blk(Tid(2_612, "%00000a34"), Attrs([Attr("address","0xD18")]), Phis([]), -Defs([Def(Tid(2_615, "%00000a37"), Attrs([Attr("address","0xD18"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_621, "%00000a3d"), Attrs([Attr("address","0xD1C"), -Attr("insn","add x0, x0, #0xf2b")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3883,64))), Def(Tid(2_626, "%00000a42"), - Attrs([Attr("address","0xD20"), Attr("insn","bl #-0x3f0")]), - Var("R30",Imm(64)), Int(3364,64))]), Jmps([Call(Tid(2_628, "%00000a44"), - Attrs([Attr("address","0xD20"), Attr("insn","bl #-0x3f0")]), Int(1,1), -(Direct(Tid(4_598, "@printf")),Direct(Tid(2_630, "%00000a46"))))])), -Blk(Tid(2_630, "%00000a46"), Attrs([Attr("address","0xD24")]), Phis([]), -Defs([Def(Tid(2_633, "%00000a49"), Attrs([Attr("address","0xD24"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_639, "%00000a4f"), Attrs([Attr("address","0xD28"), -Attr("insn","add x0, x0, #0xf5c")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3932,64))), Def(Tid(2_644, "%00000a54"), - Attrs([Attr("address","0xD2C"), Attr("insn","bl #-0x3fc")]), - Var("R30",Imm(64)), Int(3376,64))]), Jmps([Call(Tid(2_646, "%00000a56"), - Attrs([Attr("address","0xD2C"), Attr("insn","bl #-0x3fc")]), Int(1,1), -(Direct(Tid(4_598, "@printf")),Direct(Tid(2_648, "%00000a58"))))])), -Blk(Tid(2_648, "%00000a58"), Attrs([Attr("address","0xD30")]), Phis([]), -Defs([Def(Tid(2_653, "%00000a5d"), Attrs([Attr("address","0xD30"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_658, "%00000a62"), Attrs([Attr("address","0xD30"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_662, "%00000a66"), Attrs([Attr("address","0xD30"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(2_667, "%00000a6b"), - Attrs([Attr("address","0xD34"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_598, "@printf"), - Attrs([Attr("c.proto","signed (*)( const char restrict * format, ...)"), -Attr("address","0x930"), Attr("stub","()")]), "printf", - Args([Arg(Tid(4_641, "%00001221"), Attrs([Attr("format","\"printf\""), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char restrict *")]), Var("printf_format",Imm(64)), -Var("R0",Imm(64)), In()), Arg(Tid(4_642, "%00001222"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("printf_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_626, "@printf"), - Attrs([Attr("address","0x930")]), Phis([]), -Defs([Def(Tid(4_071, "%00000fe7"), Attrs([Attr("address","0x930"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(4_078, "%00000fee"), Attrs([Attr("address","0x934"), -Attr("insn","ldr x17, [x16, #0x68]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(104,64)),LittleEndian(),64)), -Def(Tid(4_084, "%00000ff4"), Attrs([Attr("address","0x938"), -Attr("insn","add x16, x16, #0x68")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(104,64)))]), Jmps([Call(Tid(4_089, "%00000ff9"), - Attrs([Attr("address","0x93C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), -Sub(Tid(4_599, "@register_tm_clones"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xA00")]), - "register_tm_clones", Args([Arg(Tid(4_643, "%00001223"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("register_tm_clones_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_408, "@register_tm_clones"), - Attrs([Attr("address","0xA00")]), Phis([]), -Defs([Def(Tid(1_411, "%00000583"), Attrs([Attr("address","0xA00"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(1_417, "%00000589"), Attrs([Attr("address","0xA04"), -Attr("insn","add x0, x0, #0x88")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(136,64))), Def(Tid(1_422, "%0000058e"), - Attrs([Attr("address","0xA08"), Attr("insn","adrp x1, #73728")]), - Var("R1",Imm(64)), Int(73728,64)), Def(Tid(1_428, "%00000594"), - Attrs([Attr("address","0xA0C"), Attr("insn","add x1, x1, #0x88")]), - Var("R1",Imm(64)), PLUS(Var("R1",Imm(64)),Int(136,64))), -Def(Tid(1_435, "%0000059b"), Attrs([Attr("address","0xA10"), -Attr("insn","sub x1, x1, x0")]), Var("R1",Imm(64)), -PLUS(PLUS(Var("R1",Imm(64)),NOT(Var("R0",Imm(64)))),Int(1,64))), -Def(Tid(1_441, "%000005a1"), Attrs([Attr("address","0xA14"), -Attr("insn","lsr x2, x1, #63")]), Var("R2",Imm(64)), -Concat(Int(0,63),Extract(63,63,Var("R1",Imm(64))))), -Def(Tid(1_448, "%000005a8"), Attrs([Attr("address","0xA18"), -Attr("insn","add x1, x2, x1, asr #3")]), Var("R1",Imm(64)), -PLUS(Var("R2",Imm(64)),ARSHIFT(Var("R1",Imm(64)),Int(3,3)))), -Def(Tid(1_454, "%000005ae"), Attrs([Attr("address","0xA1C"), -Attr("insn","asr x1, x1, #1")]), Var("R1",Imm(64)), -SIGNED(64,Extract(63,1,Var("R1",Imm(64)))))]), -Jmps([Goto(Tid(1_460, "%000005b4"), Attrs([Attr("address","0xA20"), -Attr("insn","cbz x1, #0x18")]), EQ(Var("R1",Imm(64)),Int(0,64)), -Direct(Tid(1_458, "%000005b2"))), Goto(Tid(4_600, "%000011f8"), Attrs([]), - Int(1,1), Direct(Tid(3_387, "%00000d3b")))])), Blk(Tid(3_387, "%00000d3b"), - Attrs([Attr("address","0xA24")]), Phis([]), -Defs([Def(Tid(3_390, "%00000d3e"), Attrs([Attr("address","0xA24"), -Attr("insn","adrp x2, #69632")]), Var("R2",Imm(64)), Int(69632,64)), -Def(Tid(3_397, "%00000d45"), Attrs([Attr("address","0xA28"), -Attr("insn","ldr x2, [x2, #0xfe0]")]), Var("R2",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R2",Imm(64)),Int(4064,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(3_402, "%00000d4a"), Attrs([Attr("address","0xA2C"), -Attr("insn","cbz x2, #0xc")]), EQ(Var("R2",Imm(64)),Int(0,64)), -Direct(Tid(1_458, "%000005b2"))), Goto(Tid(4_601, "%000011f9"), Attrs([]), - Int(1,1), Direct(Tid(3_406, "%00000d4e")))])), Blk(Tid(1_458, "%000005b2"), - Attrs([Attr("address","0xA38")]), Phis([]), Defs([]), -Jmps([Call(Tid(1_466, "%000005ba"), Attrs([Attr("address","0xA38"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(3_406, "%00000d4e"), Attrs([Attr("address","0xA30")]), Phis([]), -Defs([Def(Tid(3_410, "%00000d52"), Attrs([Attr("address","0xA30"), -Attr("insn","mov x16, x2")]), Var("R16",Imm(64)), Var("R2",Imm(64)))]), -Jmps([Call(Tid(3_415, "%00000d57"), Attrs([Attr("address","0xA34"), -Attr("insn","br x16")]), Int(1,1), (Indirect(Var("R16",Imm(64))),))]))])), -Sub(Tid(4_602, "@rewind"), Attrs([Attr("c.proto","signed (*)(void)"), -Attr("address","0x8C0"), Attr("stub","()")]), "rewind", - Args([Arg(Tid(4_644, "%00001224"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("rewind_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(2_775, "@rewind"), Attrs([Attr("address","0x8C0")]), Phis([]), -Defs([Def(Tid(3_917, "%00000f4d"), Attrs([Attr("address","0x8C0"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_924, "%00000f54"), Attrs([Attr("address","0x8C4"), -Attr("insn","ldr x17, [x16, #0x30]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(48,64)),LittleEndian(),64)), -Def(Tid(3_930, "%00000f5a"), Attrs([Attr("address","0x8C8"), -Attr("insn","add x16, x16, #0x30")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(48,64)))]), Jmps([Call(Tid(3_935, "%00000f5f"), - Attrs([Attr("address","0x8CC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_603, "@saveFile"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xD38")]), - "saveFile", Args([Arg(Tid(4_645, "%00001225"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("saveFile_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_669, "@saveFile"), - Attrs([Attr("address","0xD38")]), Phis([]), -Defs([Def(Tid(2_673, "%00000a71"), Attrs([Attr("address","0xD38"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#17",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(2_679, "%00000a77"), Attrs([Attr("address","0xD38"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#17",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(2_685, "%00000a7d"), Attrs([Attr("address","0xD38"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#17",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(2_689, "%00000a81"), Attrs([Attr("address","0xD38"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#17",Imm(64))), Def(Tid(2_695, "%00000a87"), - Attrs([Attr("address","0xD3C"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(2_700, "%00000a8c"), - Attrs([Attr("address","0xD40"), Attr("insn","adrp x8, #73728")]), - Var("R8",Imm(64)), Int(73728,64)), Def(Tid(2_707, "%00000a93"), - Attrs([Attr("address","0xD44"), Attr("insn","ldr x8, [x8, #0x98]")]), - Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(152,64)),LittleEndian(),64)), -Def(Tid(2_713, "%00000a99"), Attrs([Attr("address","0xD48"), -Attr("insn","subs x8, x8, #0x0")]), Var("#18",Imm(64)), -PLUS(Var("R8",Imm(64)),Int(18446744073709551615,64))), -Def(Tid(2_718, "%00000a9e"), Attrs([Attr("address","0xD48"), -Attr("insn","subs x8, x8, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#18",Imm(64)),Int(1,64))),PLUS(SIGNED(65,Var("R8",Imm(64))),Int(0,65)))), -Def(Tid(2_723, "%00000aa3"), Attrs([Attr("address","0xD48"), -Attr("insn","subs x8, x8, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#18",Imm(64)),Int(1,64))),PLUS(UNSIGNED(65,Var("R8",Imm(64))),Int(18446744073709551616,65)))), -Def(Tid(2_727, "%00000aa7"), Attrs([Attr("address","0xD48"), -Attr("insn","subs x8, x8, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#18",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(2_731, "%00000aab"), Attrs([Attr("address","0xD48"), -Attr("insn","subs x8, x8, #0x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#18",Imm(64)),Int(1,64)))), -Def(Tid(2_735, "%00000aaf"), Attrs([Attr("address","0xD48"), -Attr("insn","subs x8, x8, #0x0")]), Var("R8",Imm(64)), -PLUS(Var("#18",Imm(64)),Int(1,64)))]), Jmps([Goto(Tid(2_747, "%00000abb"), - Attrs([Attr("address","0xD4C"), Attr("insn","cset w8, ne")]), - EQ(Var("ZF",Imm(1)),Int(1,1)), Direct(Tid(2_740, "%00000ab4"))), -Goto(Tid(2_748, "%00000abc"), Attrs([Attr("address","0xD4C"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_743, "%00000ab7")))])), -Blk(Tid(2_743, "%00000ab7"), Attrs([]), Phis([]), -Defs([Def(Tid(2_744, "%00000ab8"), Attrs([Attr("address","0xD4C"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(1,64))]), -Jmps([Goto(Tid(2_750, "%00000abe"), Attrs([Attr("address","0xD4C"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_746, "%00000aba")))])), -Blk(Tid(2_740, "%00000ab4"), Attrs([]), Phis([]), -Defs([Def(Tid(2_741, "%00000ab5"), Attrs([Attr("address","0xD4C"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(2_749, "%00000abd"), Attrs([Attr("address","0xD4C"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_746, "%00000aba")))])), -Blk(Tid(2_746, "%00000aba"), Attrs([]), Phis([]), Defs([]), -Jmps([Goto(Tid(2_756, "%00000ac4"), Attrs([Attr("address","0xD50"), -Attr("insn","tbnz w8, #0x0, #0x18")]), - EQ(Extract(0,0,Var("R8",Imm(64))),Int(1,1)), -Direct(Tid(2_754, "%00000ac2"))), Goto(Tid(4_604, "%000011fc"), Attrs([]), - Int(1,1), Direct(Tid(3_063, "%00000bf7")))])), Blk(Tid(2_754, "%00000ac2"), - Attrs([Attr("address","0xD68")]), Phis([]), -Defs([Def(Tid(2_762, "%00000aca"), Attrs([Attr("address","0xD68"), -Attr("insn","adrp x8, #73728")]), Var("R8",Imm(64)), Int(73728,64)), -Def(Tid(2_769, "%00000ad1"), Attrs([Attr("address","0xD6C"), -Attr("insn","ldr x0, [x8, #0x98]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(152,64)),LittleEndian(),64)), -Def(Tid(2_774, "%00000ad6"), Attrs([Attr("address","0xD70"), -Attr("insn","bl #-0x4b0")]), Var("R30",Imm(64)), Int(3444,64))]), -Jmps([Call(Tid(2_777, "%00000ad9"), Attrs([Attr("address","0xD70"), -Attr("insn","bl #-0x4b0")]), Int(1,1), -(Direct(Tid(4_602, "@rewind")),Direct(Tid(2_779, "%00000adb"))))])), -Blk(Tid(2_779, "%00000adb"), Attrs([Attr("address","0xD74")]), Phis([]), -Defs([Def(Tid(2_782, "%00000ade"), Attrs([Attr("address","0xD74"), -Attr("insn","adrp x8, #73728")]), Var("R8",Imm(64)), Int(73728,64)), -Def(Tid(2_789, "%00000ae5"), Attrs([Attr("address","0xD78"), -Attr("insn","ldr x1, [x8, #0x90]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(144,64)),LittleEndian(),64)), -Def(Tid(2_794, "%00000aea"), Attrs([Attr("address","0xD7C"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_800, "%00000af0"), Attrs([Attr("address","0xD80"), -Attr("insn","add x0, x0, #0xfd0")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(4048,64))), Def(Tid(2_805, "%00000af5"), - Attrs([Attr("address","0xD84"), Attr("insn","bl #-0x454")]), - Var("R30",Imm(64)), Int(3464,64))]), Jmps([Call(Tid(2_807, "%00000af7"), - Attrs([Attr("address","0xD84"), Attr("insn","bl #-0x454")]), Int(1,1), -(Direct(Tid(4_598, "@printf")),Direct(Tid(2_809, "%00000af9"))))])), -Blk(Tid(2_809, "%00000af9"), Attrs([Attr("address","0xD88")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_812, "%00000afc"), Attrs([Attr("address","0xD88"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(2_810, "%00000afa")))])), -Blk(Tid(3_063, "%00000bf7"), Attrs([Attr("address","0xD54")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_066, "%00000bfa"), Attrs([Attr("address","0xD54"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_064, "%00000bf8")))])), -Blk(Tid(3_064, "%00000bf8"), Attrs([Attr("address","0xD58")]), Phis([]), -Defs([Def(Tid(3_070, "%00000bfe"), Attrs([Attr("address","0xD58"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(3_076, "%00000c04"), Attrs([Attr("address","0xD5C"), -Attr("insn","add x0, x0, #0xfb5")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(4021,64))), Def(Tid(3_081, "%00000c09"), - Attrs([Attr("address","0xD60"), Attr("insn","bl #-0x430")]), - Var("R30",Imm(64)), Int(3428,64))]), Jmps([Call(Tid(3_083, "%00000c0b"), - Attrs([Attr("address","0xD60"), Attr("insn","bl #-0x430")]), Int(1,1), -(Direct(Tid(4_598, "@printf")),Direct(Tid(3_085, "%00000c0d"))))])), -Blk(Tid(3_085, "%00000c0d"), Attrs([Attr("address","0xD64")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_087, "%00000c0f"), Attrs([Attr("address","0xD64"), -Attr("insn","b #0x28")]), Int(1,1), Direct(Tid(2_810, "%00000afa")))])), -Blk(Tid(2_810, "%00000afa"), Attrs([Attr("address","0xD8C")]), Phis([]), -Defs([Def(Tid(2_818, "%00000b02"), Attrs([Attr("address","0xD8C"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_823, "%00000b07"), Attrs([Attr("address","0xD8C"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_827, "%00000b0b"), Attrs([Attr("address","0xD8C"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(2_832, "%00000b10"), - Attrs([Attr("address","0xD90"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_605, "@strcmp"), - Attrs([Attr("c.proto","signed (*)( const char* s1, const char* s2)"), -Attr("pure","()"), Attr("address","0x900"), Attr("stub","()")]), "strcmp", - Args([Arg(Tid(4_646, "%00001226"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcmp_s1",Imm(64)), Var("R0",Imm(64)), -In()), Arg(Tid(4_647, "%00001227"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcmp_s2",Imm(64)), Var("R1",Imm(64)), -In()), Arg(Tid(4_648, "%00001228"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("strcmp_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_802, "@strcmp"), Attrs([Attr("address","0x900")]), Phis([]), -Defs([Def(Tid(4_005, "%00000fa5"), Attrs([Attr("address","0x900"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(4_012, "%00000fac"), Attrs([Attr("address","0x904"), -Attr("insn","ldr x17, [x16, #0x50]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(80,64)),LittleEndian(),64)), -Def(Tid(4_018, "%00000fb2"), Attrs([Attr("address","0x908"), -Attr("insn","add x16, x16, #0x50")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(80,64)))]), Jmps([Call(Tid(4_023, "%00000fb7"), - Attrs([Attr("address","0x90C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_606, "@strcspn"), - Attrs([Attr("c.proto","unsigned long (*)( const char* s, const char* reject)"), -Attr("pure","()"), Attr("address","0x920"), Attr("stub","()")]), "strcspn", - Args([Arg(Tid(4_649, "%00001229"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcspn_s",Imm(64)), Var("R0",Imm(64)), -In()), Arg(Tid(4_650, "%0000122a"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcspn_reject",Imm(64)), -Var("R1",Imm(64)), In()), Arg(Tid(4_651, "%0000122b"), - Attrs([Attr("c.layout","[unsigned long : 64]"), Attr("c.data","Top:u64"), -Attr("c.type","unsigned long")]), Var("strcspn_result",Imm(64)), -Var("R0",Imm(64)), Out())]), Blks([Blk(Tid(1_698, "@strcspn"), - Attrs([Attr("address","0x920")]), Phis([]), -Defs([Def(Tid(4_049, "%00000fd1"), Attrs([Attr("address","0x920"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(4_056, "%00000fd8"), Attrs([Attr("address","0x924"), -Attr("insn","ldr x17, [x16, #0x60]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(96,64)),LittleEndian(),64)), -Def(Tid(4_062, "%00000fde"), Attrs([Attr("address","0x928"), -Attr("insn","add x16, x16, #0x60")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(96,64)))]), Jmps([Call(Tid(4_067, "%00000fe3"), - Attrs([Attr("address","0x92C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_607, "@strdup"), - Attrs([Attr("c.proto","char* (*)( const char* s)"), Attr("address","0x8D0"), -Attr("malloc","()"), Attr("stub","()")]), "strdup", - Args([Arg(Tid(4_652, "%0000122c"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strdup_s",Imm(64)), Var("R0",Imm(64)), -In()), Arg(Tid(4_653, "%0000122d"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type","char*")]), - Var("strdup_result",Imm(64)), Var("R0",Imm(64)), Out())]), -Blks([Blk(Tid(2_338, "@strdup"), Attrs([Attr("address","0x8D0")]), Phis([]), -Defs([Def(Tid(3_939, "%00000f63"), Attrs([Attr("address","0x8D0"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_946, "%00000f6a"), Attrs([Attr("address","0x8D4"), -Attr("insn","ldr x17, [x16, #0x38]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(56,64)),LittleEndian(),64)), -Def(Tid(3_952, "%00000f70"), Attrs([Attr("address","0x8D8"), -Attr("insn","add x16, x16, #0x38")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(56,64)))]), Jmps([Call(Tid(3_957, "%00000f75"), - Attrs([Attr("address","0x8DC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_608, "@strncmp"), - Attrs([Attr("c.proto","signed (*)( const char* s1, const char* s2, unsigned long n)"), -Attr("pure","()"), Attr("address","0x8B0"), Attr("stub","()")]), "strncmp", - Args([Arg(Tid(4_654, "%0000122e"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strncmp_s1",Imm(64)), -Var("R0",Imm(64)), In()), Arg(Tid(4_655, "%0000122f"), - Attrs([Attr("nonnull","()"), Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char*")]), - Var("strncmp_s2",Imm(64)), Var("R1",Imm(64)), In()), -Arg(Tid(4_656, "%00001230"), Attrs([Attr("c.layout","[unsigned long : 64]"), -Attr("c.data","Top:u64"), Attr("c.type","unsigned long")]), - Var("strncmp_n",Imm(64)), Var("R2",Imm(64)), In()), -Arg(Tid(4_657, "%00001231"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("strncmp_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_883, "@strncmp"), Attrs([Attr("address","0x8B0")]), Phis([]), -Defs([Def(Tid(3_895, "%00000f37"), Attrs([Attr("address","0x8B0"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_902, "%00000f3e"), Attrs([Attr("address","0x8B4"), -Attr("insn","ldr x17, [x16, #0x28]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(40,64)),LittleEndian(),64)), -Def(Tid(3_908, "%00000f44"), Attrs([Attr("address","0x8B8"), -Attr("insn","add x16, x16, #0x28")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(40,64)))]), Jmps([Call(Tid(3_913, "%00000f49"), - Attrs([Attr("address","0x8BC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))]))]))) \ No newline at end of file diff --git a/src/test/correct/complex/clang/complex.bir b/src/test/correct/complex/clang/complex.bir deleted file mode 100644 index f9208b099..000000000 --- a/src/test/correct/complex/clang/complex.bir +++ /dev/null @@ -1,948 +0,0 @@ -00001201: program -000011d1: sub __cxa_finalize(__cxa_finalize_result) -00001202: __cxa_finalize_result :: out u32 = low:32[R0] - -00000d37: -00000ef5: R16 := 0x12000 -00000efc: R17 := mem[R16 + 0x10, el]:u64 -00000f02: R16 := R16 + 0x10 -00000f07: call R17 with noreturn - -000011d2: sub __do_global_dtors_aux(__do_global_dtors_aux_result) -00001203: __do_global_dtors_aux_result :: out u32 = low:32[R0] - -000005be: -000005c2: #3 := R31 - 0x20 -000005c8: mem := mem with [#3, el]:u64 <- R29 -000005ce: mem := mem with [#3 + 8, el]:u64 <- R30 -000005d2: R31 := #3 -000005d8: R29 := R31 -000005e0: mem := mem with [R31 + 0x10, el]:u64 <- R19 -000005e5: R19 := 0x12000 -000005ec: R0 := pad:64[mem[R19 + 0x88]] -000005f3: when 31:0[R0] <> 0 goto %000005f1 -000011d3: goto %00000d00 - -00000d00: -00000d03: R0 := 0x11000 -00000d0a: R0 := mem[R0 + 0xFC0, el]:u64 -00000d10: when R0 = 0 goto %00000d0e -000011d4: goto %00000d27 - -00000d27: -00000d2a: R0 := 0x12000 -00000d31: R0 := mem[R0 + 0x80, el]:u64 -00000d36: R30 := 0xA70 -00000d39: call @__cxa_finalize with return %00000d0e - -00000d0e: -00000d16: R30 := 0xA74 -00000d18: call @deregister_tm_clones with return %00000d1a - -00000d1a: -00000d1d: R0 := 1 -00000d25: mem := mem with [R19 + 0x88] <- 7:0[R0] -000011d5: goto %000005f1 - -000005f1: -000005fb: R19 := mem[R31 + 0x10, el]:u64 -00000602: R29 := mem[R31, el]:u64 -00000607: R30 := mem[R31 + 8, el]:u64 -0000060b: R31 := R31 + 0x20 -00000610: call R30 with noreturn - -000011d6: sub __libc_start_main(__libc_start_main_main, __libc_start_main_arg2, __libc_start_main_arg3, __libc_start_main_auxv, __libc_start_main_result) -00001204: __libc_start_main_main :: in u64 = R0 -00001205: __libc_start_main_arg2 :: in u32 = low:32[R1] -00001206: __libc_start_main_arg3 :: in out u64 = R2 -00001207: __libc_start_main_auxv :: in out u64 = R3 -00001208: __libc_start_main_result :: out u32 = low:32[R0] - -00000517: -00000edf: R16 := 0x12000 -00000ee6: R17 := mem[R16 + 8, el]:u64 -00000eec: R16 := R16 + 8 -00000ef1: call R17 with noreturn - -000011d7: sub _fini(_fini_result) -00001209: _fini_result :: out u32 = low:32[R0] - -0000001f: -00000025: #0 := R31 - 0x10 -0000002b: mem := mem with [#0, el]:u64 <- R29 -00000031: mem := mem with [#0 + 8, el]:u64 <- R30 -00000035: R31 := #0 -0000003b: R29 := R31 -00000042: R29 := mem[R31, el]:u64 -00000047: R30 := mem[R31 + 8, el]:u64 -0000004b: R31 := R31 + 0x10 -00000050: call R30 with noreturn - -000011d8: sub _init(_init_result) -0000120a: _init_result :: out u32 = low:32[R0] - -0000102b: -00001031: #24 := R31 - 0x10 -00001037: mem := mem with [#24, el]:u64 <- R29 -0000103d: mem := mem with [#24 + 8, el]:u64 <- R30 -00001041: R31 := #24 -00001047: R29 := R31 -0000104c: R30 := 0x838 -0000104e: call @call_weak_fn with return %00001050 - -00001050: -00001055: R29 := mem[R31, el]:u64 -0000105a: R30 := mem[R31 + 8, el]:u64 -0000105e: R31 := R31 + 0x10 -00001063: call R30 with noreturn - -000011d9: sub _start(_start_result) -0000120b: _start_result :: out u32 = low:32[R0] - -000004d8: -000004dd: R29 := 0 -000004e2: R30 := 0 -000004e8: R5 := R0 -000004ef: R1 := mem[R31, el]:u64 -000004f5: R2 := R31 + 8 -000004fb: R6 := R31 -00000500: R0 := 0x11000 -00000507: R0 := mem[R0 + 0xFD8, el]:u64 -0000050c: R3 := 0 -00000511: R4 := 0 -00000516: R30 := 0x9B0 -00000519: call @__libc_start_main with return %0000051b - -0000051b: -0000051e: R30 := 0x9B4 -00000521: call @abort with return %000011da - -000011da: -000011db: call @call_weak_fn with noreturn - -000011dc: sub abort() - - -0000051f: -00000f8f: R16 := 0x12000 -00000f96: R17 := mem[R16 + 0x48, el]:u64 -00000f9c: R16 := R16 + 0x48 -00000fa1: call R17 with noreturn - -000011dd: sub call_weak_fn(call_weak_fn_result) -0000120c: call_weak_fn_result :: out u32 = low:32[R0] - -00000523: -00000526: R0 := 0x11000 -0000052d: R0 := mem[R0 + 0xFD0, el]:u64 -00000533: when R0 = 0 goto %00000531 -000011de: goto %00000d77 - -00000531: -00000539: call R30 with noreturn - -00000d77: -00000d7a: goto @__gmon_start__ - -00000d78: -00000f79: R16 := 0x12000 -00000f80: R17 := mem[R16 + 0x40, el]:u64 -00000f86: R16 := R16 + 0x40 -00000f8b: call R17 with noreturn - -000011df: sub closeFile(closeFile_result) -0000120d: closeFile_result :: out u32 = low:32[R0] - -00000b12: -00000b16: R31 := R31 - 0x20 -00000b1c: #19 := R31 + 0x10 -00000b22: mem := mem with [#19, el]:u64 <- R29 -00000b28: mem := mem with [#19 + 8, el]:u64 <- R30 -00000b2e: R29 := R31 + 0x10 -00000b33: R8 := 0x12000 -00000b3a: R8 := mem[R8 + 0x98, el]:u64 -00000b40: #20 := R8 - 1 -00000b45: VF := extend:65[#20 + 1] <> extend:65[R8] + 0 -00000b4a: CF := pad:65[#20 + 1] <> pad:65[R8] - 0x10000000000000000 -00000b4e: ZF := #20 + 1 = 0 -00000b52: NF := 63:63[#20 + 1] -00000b56: R8 := #20 + 1 -00000b62: when ZF <> 1 goto %00000b5b -00000b63: goto %00000b5e - -00000b5e: -00000b5f: R8 := 1 -00000b65: goto %00000b61 - -00000b5b: -00000b5c: R8 := 0 -00000b64: goto %00000b61 - -00000b61: -00000b6b: when 0:0[R8] goto %00000b69 -000011e0: goto %00000b89 - -00000b89: -00000b8c: goto %00000b8a - -00000b8a: -00000b90: R8 := 0x12000 -00000b98: mem := mem with [R31, el]:u64 <- R8 -00000b9f: R0 := mem[R8 + 0x98, el]:u64 -00000ba4: R30 := 0xDC8 -00000ba7: call @fclose with return %00000ba9 - -00000ba9: -00000bac: R8 := 0x12000 -00000bb4: mem := mem with [R31 + 8, el]:u64 <- R8 -00000bbb: R0 := mem[R8 + 0x90, el]:u64 -00000bc0: R30 := 0xDD8 -00000bc3: call @free with return %00000bc5 - -00000bc5: -00000bca: R9 := mem[R31, el]:u64 -00000bd1: R8 := mem[R31 + 8, el]:u64 -00000bd8: mem := mem with [R9 + 0x98, el]:u64 <- 0 -00000bdf: mem := mem with [R8 + 0x90, el]:u64 <- 0 -00000be4: R0 := 0 -00000bea: R0 := R0 + 0xFEC -00000bef: R30 := 0xDF4 -00000bf1: call @printf with return %00000bf3 - -00000bf3: -00000bf5: goto %00000b69 - -00000b69: -00000b72: #21 := R31 + 0x10 -00000b77: R29 := mem[#21, el]:u64 -00000b7c: R30 := mem[#21 + 8, el]:u64 -00000b82: R31 := R31 + 0x20 -00000b87: call R30 with noreturn - -000011e1: sub deregister_tm_clones(deregister_tm_clones_result) -0000120e: deregister_tm_clones_result :: out u32 = low:32[R0] - -0000053f: -00000542: R0 := 0x12000 -00000548: R0 := R0 + 0x88 -0000054d: R1 := 0x12000 -00000553: R1 := R1 + 0x88 -00000559: #1 := ~R0 -0000055e: #2 := R1 + ~R0 -00000564: VF := extend:65[#2 + 1] <> extend:65[R1] + extend:65[#1] + 1 -0000056a: CF := pad:65[#2 + 1] <> pad:65[R1] + pad:65[#1] + 1 -0000056e: ZF := #2 + 1 = 0 -00000572: NF := 63:63[#2 + 1] -00000578: when ZF goto %00000576 -000011e2: goto %00000d59 - -00000d59: -00000d5c: R1 := 0x11000 -00000d63: R1 := mem[R1 + 0xFB8, el]:u64 -00000d68: when R1 = 0 goto %00000576 -000011e3: goto %00000d6c - -00000576: -0000057e: call R30 with noreturn - -00000d6c: -00000d70: R16 := R1 -00000d75: call R16 with noreturn - -000011e4: sub exit(exit_code) -0000120f: exit_code :: in u32 = low:32[R0] - -00000c91: -00000ec9: R16 := 0x12000 -00000ed0: R17 := mem[R16, el]:u64 -00000ed6: R16 := R16 -00000edb: call R17 with noreturn - -000011e5: sub fclose(fclose_fp, fclose_result) -00001210: fclose_fp :: in out u64 = R0 -00001211: fclose_result :: out u32 = low:32[R0] - -00000ba5: -00000f0b: R16 := 0x12000 -00000f12: R17 := mem[R16 + 0x18, el]:u64 -00000f18: R16 := R16 + 0x18 -00000f1d: call R17 with noreturn - -000011e6: sub fgets(fgets_s, fgets_size, fgets_stream, fgets_result) -00001212: fgets_s :: in out u64 = R0 -00001213: fgets_size :: in u32 = low:32[R1] -00001214: fgets_stream :: in out u64 = R2 -00001215: fgets_result :: out u64 = R0 - -00000688: -00000ffd: R16 := 0x12000 -00001004: R17 := mem[R16 + 0x70, el]:u64 -0000100a: R16 := R16 + 0x70 -0000100f: call R17 with noreturn - -000011e7: sub fopen(fopen_path, fopen_mode, fopen_result) -00001216: fopen_path :: in u64 = R0 -00001217: fopen_mode :: in u64 = R1 -00001218: fopen_result :: out u64 = R0 - -00000949: -00000f21: R16 := 0x12000 -00000f28: R17 := mem[R16 + 0x20, el]:u64 -00000f2e: R16 := R16 + 0x20 -00000f33: call R17 with noreturn - -000011e8: sub frame_dummy(frame_dummy_result) -00001219: frame_dummy_result :: out u32 = low:32[R0] - -00000616: -00000618: call @register_tm_clones with noreturn - -000011e9: sub free(free_ptr) -0000121a: free_ptr :: in out u64 = R0 - -00000bc1: -00000fbb: R16 := 0x12000 -00000fc2: R17 := mem[R16 + 0x58, el]:u64 -00000fc8: R16 := R16 + 0x58 -00000fcd: call R17 with noreturn - -000011ea: sub handleInput(handleInput_result) -0000121b: handleInput_result :: out u32 = low:32[R0] - -000006cb: -000006d2: R31 := R31 - 0x20 -000006d8: #5 := R31 + 0x10 -000006de: mem := mem with [#5, el]:u64 <- R29 -000006e4: mem := mem with [#5 + 8, el]:u64 <- R30 -000006ea: R29 := R31 + 0x10 -000006f2: mem := mem with [R31 + 8, el]:u64 <- R0 -000006f9: R0 := mem[R31 + 8, el]:u64 -000006fe: R1 := 0 -00000704: R1 := R1 + 0xE2E -00000709: R30 := 0xB20 -0000070c: call @strcmp with return %0000070e - -0000070e: -00000712: #6 := 31:0[R0] - 1 -00000717: VF := extend:33[#6 + 1] <> extend:33[31:0[R0]] + 0 -0000071c: CF := pad:33[#6 + 1] <> pad:33[31:0[R0]] - 0x100000000 -00000720: ZF := #6 + 1 = 0 -00000724: NF := 31:31[#6 + 1] -00000728: R8 := pad:64[#6 + 1] -00000734: when ZF goto %0000072d -00000735: goto %00000730 - -00000730: -00000731: R8 := 1 -00000737: goto %00000733 - -0000072d: -0000072e: R8 := 0 -00000736: goto %00000733 - -00000733: -0000073d: when 0:0[R8] goto %0000073b -000011eb: goto %00000ced - -0000073b: -00000745: R0 := mem[R31 + 8, el]:u64 -0000074a: R1 := 0 -00000750: R1 := R1 + 0xE33 -00000755: R2 := 5 -0000075a: R30 := 0xB4C -0000075d: call @strncmp with return %0000075f - -0000075f: -00000763: #7 := 31:0[R0] - 1 -00000768: VF := extend:33[#7 + 1] <> extend:33[31:0[R0]] + 0 -0000076d: CF := pad:33[#7 + 1] <> pad:33[31:0[R0]] - 0x100000000 -00000771: ZF := #7 + 1 = 0 -00000775: NF := 31:31[#7 + 1] -00000779: R8 := pad:64[#7 + 1] -00000785: when ZF goto %0000077e -00000786: goto %00000781 - -00000781: -00000782: R8 := 1 -00000788: goto %00000784 - -0000077e: -0000077f: R8 := 0 -00000787: goto %00000784 - -00000784: -0000078e: when 0:0[R8] goto %0000078c -000011ec: goto %00000cc2 - -0000078c: -00000796: R0 := mem[R31 + 8, el]:u64 -0000079b: R1 := 0 -000007a1: R1 := R1 + 0xE39 -000007a6: R30 := 0xB84 -000007a8: call @strcmp with return %000007aa - -000007aa: -000007ae: #8 := 31:0[R0] - 1 -000007b3: VF := extend:33[#8 + 1] <> extend:33[31:0[R0]] + 0 -000007b8: CF := pad:33[#8 + 1] <> pad:33[31:0[R0]] - 0x100000000 -000007bc: ZF := #8 + 1 = 0 -000007c0: NF := 31:31[#8 + 1] -000007c4: R8 := pad:64[#8 + 1] -000007d0: when ZF goto %000007c9 -000007d1: goto %000007cc - -000007cc: -000007cd: R8 := 1 -000007d3: goto %000007cf - -000007c9: -000007ca: R8 := 0 -000007d2: goto %000007cf - -000007cf: -000007d9: when 0:0[R8] goto %000007d7 -000011ed: goto %00000cb3 - -000007d7: -000007e1: R0 := mem[R31 + 8, el]:u64 -000007e6: R1 := 0 -000007ec: R1 := R1 + 0xE3E -000007f1: R30 := 0xBAC -000007f3: call @strcmp with return %000007f5 - -000007f5: -000007f9: #9 := 31:0[R0] - 1 -000007fe: VF := extend:33[#9 + 1] <> extend:33[31:0[R0]] + 0 -00000803: CF := pad:33[#9 + 1] <> pad:33[31:0[R0]] - 0x100000000 -00000807: ZF := #9 + 1 = 0 -0000080b: NF := 31:31[#9 + 1] -0000080f: R8 := pad:64[#9 + 1] -0000081b: when ZF goto %00000814 -0000081c: goto %00000817 - -00000817: -00000818: R8 := 1 -0000081e: goto %0000081a - -00000814: -00000815: R8 := 0 -0000081d: goto %0000081a - -0000081a: -00000824: when 0:0[R8] goto %00000822 -000011ee: goto %00000ca4 - -00000822: -0000082c: R0 := mem[R31 + 8, el]:u64 -00000831: R1 := 0 -00000837: R1 := R1 + 0xE44 -0000083c: R30 := 0xBD4 -0000083e: call @strcmp with return %00000840 - -00000840: -00000844: #10 := 31:0[R0] - 1 -00000849: VF := extend:33[#10 + 1] <> extend:33[31:0[R0]] + 0 -0000084e: CF := pad:33[#10 + 1] <> pad:33[31:0[R0]] - 0x100000000 -00000852: ZF := #10 + 1 = 0 -00000856: NF := 31:31[#10 + 1] -0000085a: R8 := pad:64[#10 + 1] -00000866: when ZF goto %0000085f -00000867: goto %00000862 - -00000862: -00000863: R8 := 1 -00000869: goto %00000865 - -0000085f: -00000860: R8 := 0 -00000868: goto %00000865 - -00000865: -0000086f: when 0:0[R8] goto %0000086d -000011ef: goto %00000c46 - -00000c46: -00000c49: goto %00000c47 - -00000c47: -00000c4d: R8 := 0x12000 -00000c54: R8 := mem[R8 + 0x98, el]:u64 -00000c5a: #22 := R8 - 1 -00000c5f: VF := extend:65[#22 + 1] <> extend:65[R8] + 0 -00000c64: CF := pad:65[#22 + 1] <> pad:65[R8] - 0x10000000000000000 -00000c68: ZF := #22 + 1 = 0 -00000c6c: NF := 63:63[#22 + 1] -00000c70: R8 := #22 + 1 -00000c7c: when ZF <> 1 goto %00000c75 -00000c7d: goto %00000c78 - -00000c78: -00000c79: R8 := 1 -00000c7f: goto %00000c7b - -00000c75: -00000c76: R8 := 0 -00000c7e: goto %00000c7b - -00000c7b: -00000c85: when 0:0[R8] goto %00000c83 -000011f0: goto %00000c95 - -00000c95: -00000c98: goto %00000c96 - -00000c96: -00000c9c: R30 := 0xC00 -00000c9e: call @closeFile with return %00000ca0 - -00000ca0: -00000ca2: goto %00000c83 - -00000c83: -00000c8b: R0 := 0 -00000c90: R30 := 0xC0C -00000c93: call @exit with return %0000086d - -0000086d: -00000875: R0 := 0 -0000087b: R0 := R0 + 0xE49 -00000880: R30 := 0xC18 -00000882: call @printf with return %00000884 - -00000884: -00000887: goto %00000885 - -00000885: -0000088b: goto %00000889 - -00000ca4: -00000ca7: goto %00000ca5 - -00000ca5: -00000cab: R30 := 0xBC0 -00000cad: call @closeFile with return %00000caf - -00000caf: -00000cb1: goto %00000889 - -00000889: -0000088f: goto %0000088d - -00000cb3: -00000cb6: goto %00000cb4 - -00000cb4: -00000cba: R30 := 0xB98 -00000cbc: call @saveFile with return %00000cbe - -00000cbe: -00000cc0: goto %0000088d - -0000088d: -00000893: goto %00000891 - -00000cc2: -00000cc5: goto %00000cc3 - -00000cc3: -00000ccb: R8 := mem[R31 + 8, el]:u64 -00000cd1: R8 := R8 + 5 -00000cd9: mem := mem with [R31, el]:u64 <- R8 -00000ce0: R0 := mem[R31, el]:u64 -00000ce5: R30 := 0xB70 -00000ce7: call @openFile with return %00000ce9 - -00000ce9: -00000ceb: goto %00000891 - -00000891: -00000897: goto %00000895 - -00000ced: -00000cf0: goto %00000cee - -00000cee: -00000cf4: R30 := 0xB34 -00000cf6: call @printHelp with return %00000cf8 - -00000cf8: -00000cfa: goto %00000895 - -00000895: -0000089c: #11 := R31 + 0x10 -000008a1: R29 := mem[#11, el]:u64 -000008a6: R30 := mem[#11 + 8, el]:u64 -000008ac: R31 := R31 + 0x20 -000008b1: call R30 with noreturn - -000011f1: sub main(main_argc, main_argv, main_result) -0000121c: main_argc :: in u32 = low:32[R0] -0000121d: main_argv :: in out u64 = R1 -0000121e: main_result :: out u32 = low:32[R0] - -0000061a: -0000061e: R31 := R31 - 0x130 -00000624: #4 := R31 + 0x110 -0000062a: mem := mem with [#4, el]:u64 <- R29 -00000630: mem := mem with [#4 + 8, el]:u64 <- R30 -00000638: mem := mem with [R31 + 0x120, el]:u64 <- R28 -0000063e: R29 := R31 + 0x110 -00000645: mem := mem with [R29 - 4, el]:u32 <- 0 -0000064a: goto %00000648 - -00000648: -0000064e: R0 := 0 -00000654: R0 := R0 + 0xE1C -00000659: R30 := 0xAB8 -0000065c: call @printf with return %0000065e - -0000065e: -00000661: R8 := 0x11000 -00000668: R8 := mem[R8 + 0xFC8, el]:u64 -0000066f: R2 := mem[R8, el]:u64 -00000675: R0 := R31 + 0xC -0000067d: mem := mem with [R31, el]:u64 <- R0 -00000682: R1 := 0x100 -00000687: R30 := 0xAD4 -0000068a: call @fgets with return %0000068c - -0000068c: -00000691: R0 := mem[R31, el]:u64 -00000696: R1 := 0 -0000069c: R1 := R1 + 0xFB3 -000006a1: R30 := 0xAE4 -000006a4: call @strcspn with return %000006a6 - -000006a6: -000006aa: R9 := R0 -000006b1: R0 := mem[R31, el]:u64 -000006b7: R8 := R0 -000006be: R8 := R8 + R9 -000006c5: mem := mem with [R8] <- 0 -000006ca: R30 := 0xAFC -000006cd: call @handleInput with return %00000cfc - -00000cfc: -00000cfe: goto %00000648 - -000011f2: sub openFile(openFile_result) -0000121f: openFile_result :: out u32 = low:32[R0] - -000008b3: -000008b7: R31 := R31 - 0x20 -000008bd: #12 := R31 + 0x10 -000008c3: mem := mem with [#12, el]:u64 <- R29 -000008c9: mem := mem with [#12 + 8, el]:u64 <- R30 -000008cf: R29 := R31 + 0x10 -000008d7: mem := mem with [R31 + 8, el]:u64 <- R0 -000008dc: R8 := 0x12000 -000008e3: R8 := mem[R8 + 0x98, el]:u64 -000008e9: #13 := R8 - 1 -000008ee: VF := extend:65[#13 + 1] <> extend:65[R8] + 0 -000008f3: CF := pad:65[#13 + 1] <> pad:65[R8] - 0x10000000000000000 -000008f7: ZF := #13 + 1 = 0 -000008fb: NF := 63:63[#13 + 1] -000008ff: R8 := #13 + 1 -0000090b: when ZF <> 1 goto %00000904 -0000090c: goto %00000907 - -00000907: -00000908: R8 := 1 -0000090e: goto %0000090a - -00000904: -00000905: R8 := 0 -0000090d: goto %0000090a - -0000090a: -00000914: when 0:0[R8] goto %00000912 -000011f3: goto %00000c37 - -00000c37: -00000c3a: goto %00000c38 - -00000c38: -00000c3e: R30 := 0xC64 -00000c40: call @closeFile with return %00000c42 - -00000c42: -00000c44: goto %00000912 - -00000912: -0000091c: R0 := mem[R31 + 8, el]:u64 -00000921: R30 := 0xC70 -00000924: call @strdup with return %00000926 - -00000926: -00000929: R8 := 0x12000 -00000931: mem := mem with [R8 + 0x90, el]:u64 <- R0 -00000938: R0 := mem[R8 + 0x90, el]:u64 -0000093d: R1 := 0 -00000943: R1 := R1 + 0xF86 -00000948: R30 := 0xC88 -0000094b: call @fopen with return %0000094d - -0000094d: -00000950: R8 := 0x12000 -00000958: mem := mem with [R8 + 0x98, el]:u64 <- R0 -0000095f: R8 := mem[R8 + 0x98, el]:u64 -00000965: #14 := R8 - 1 -0000096a: VF := extend:65[#14 + 1] <> extend:65[R8] + 0 -0000096f: CF := pad:65[#14 + 1] <> pad:65[R8] - 0x10000000000000000 -00000973: ZF := #14 + 1 = 0 -00000977: NF := 63:63[#14 + 1] -0000097b: R8 := #14 + 1 -00000987: when ZF goto %00000980 -00000988: goto %00000983 - -00000983: -00000984: R8 := 1 -0000098a: goto %00000986 - -00000980: -00000981: R8 := 0 -00000989: goto %00000986 - -00000986: -00000990: when 0:0[R8] goto %0000098e -000011f4: goto %00000c11 - -0000098e: -00000996: R8 := 0x12000 -0000099d: R1 := mem[R8 + 0x90, el]:u64 -000009a2: R0 := 0 -000009a8: R0 := R0 + 0xFA3 -000009ad: R30 := 0xCD0 -000009af: call @printf with return %000009b1 - -000009b1: -000009b4: goto %000009b2 - -00000c11: -00000c14: goto %00000c12 - -00000c12: -00000c18: R8 := 0x12000 -00000c1f: R1 := mem[R8 + 0x90, el]:u64 -00000c24: R0 := 0 -00000c2a: R0 := R0 + 0xF89 -00000c2f: R30 := 0xCB8 -00000c31: call @printf with return %00000c33 - -00000c33: -00000c35: goto %000009b2 - -000009b2: -000009b9: #15 := R31 + 0x10 -000009be: R29 := mem[#15, el]:u64 -000009c3: R30 := mem[#15 + 8, el]:u64 -000009c9: R31 := R31 + 0x20 -000009ce: call R30 with noreturn - -000011f5: sub printHelp(printHelp_result) -00001220: printHelp_result :: out u32 = low:32[R0] - -000009d0: -000009d4: #16 := R31 - 0x10 -000009da: mem := mem with [#16, el]:u64 <- R29 -000009e0: mem := mem with [#16 + 8, el]:u64 <- R30 -000009e4: R31 := #16 -000009ea: R29 := R31 -000009ef: R0 := 0 -000009f5: R0 := R0 + 0xE7F -000009fa: R30 := 0xCF4 -000009fc: call @printf with return %000009fe - -000009fe: -00000a01: R0 := 0 -00000a07: R0 := R0 + 0xE8A -00000a0c: R30 := 0xD00 -00000a0e: call @printf with return %00000a10 - -00000a10: -00000a13: R0 := 0 -00000a19: R0 := R0 + 0xEBE -00000a1e: R30 := 0xD0C -00000a20: call @printf with return %00000a22 - -00000a22: -00000a25: R0 := 0 -00000a2b: R0 := R0 + 0xEF0 -00000a30: R30 := 0xD18 -00000a32: call @printf with return %00000a34 - -00000a34: -00000a37: R0 := 0 -00000a3d: R0 := R0 + 0xF2B -00000a42: R30 := 0xD24 -00000a44: call @printf with return %00000a46 - -00000a46: -00000a49: R0 := 0 -00000a4f: R0 := R0 + 0xF5C -00000a54: R30 := 0xD30 -00000a56: call @printf with return %00000a58 - -00000a58: -00000a5d: R29 := mem[R31, el]:u64 -00000a62: R30 := mem[R31 + 8, el]:u64 -00000a66: R31 := R31 + 0x10 -00000a6b: call R30 with noreturn - -000011f6: sub printf(printf_format, printf_result) -00001221: printf_format :: in u64 = R0 -00001222: printf_result :: out u32 = low:32[R0] - -0000065a: -00000fe7: R16 := 0x12000 -00000fee: R17 := mem[R16 + 0x68, el]:u64 -00000ff4: R16 := R16 + 0x68 -00000ff9: call R17 with noreturn - -000011f7: sub register_tm_clones(register_tm_clones_result) -00001223: register_tm_clones_result :: out u32 = low:32[R0] - -00000580: -00000583: R0 := 0x12000 -00000589: R0 := R0 + 0x88 -0000058e: R1 := 0x12000 -00000594: R1 := R1 + 0x88 -0000059b: R1 := R1 + ~R0 + 1 -000005a1: R2 := 0.63:63[R1] -000005a8: R1 := R2 + (R1 ~>> 3) -000005ae: R1 := extend:64[63:1[R1]] -000005b4: when R1 = 0 goto %000005b2 -000011f8: goto %00000d3b - -00000d3b: -00000d3e: R2 := 0x11000 -00000d45: R2 := mem[R2 + 0xFE0, el]:u64 -00000d4a: when R2 = 0 goto %000005b2 -000011f9: goto %00000d4e - -000005b2: -000005ba: call R30 with noreturn - -00000d4e: -00000d52: R16 := R2 -00000d57: call R16 with noreturn - -000011fa: sub rewind(rewind_result) -00001224: rewind_result :: out u32 = low:32[R0] - -00000ad7: -00000f4d: R16 := 0x12000 -00000f54: R17 := mem[R16 + 0x30, el]:u64 -00000f5a: R16 := R16 + 0x30 -00000f5f: call R17 with noreturn - -000011fb: sub saveFile(saveFile_result) -00001225: saveFile_result :: out u32 = low:32[R0] - -00000a6d: -00000a71: #17 := R31 - 0x10 -00000a77: mem := mem with [#17, el]:u64 <- R29 -00000a7d: mem := mem with [#17 + 8, el]:u64 <- R30 -00000a81: R31 := #17 -00000a87: R29 := R31 -00000a8c: R8 := 0x12000 -00000a93: R8 := mem[R8 + 0x98, el]:u64 -00000a99: #18 := R8 - 1 -00000a9e: VF := extend:65[#18 + 1] <> extend:65[R8] + 0 -00000aa3: CF := pad:65[#18 + 1] <> pad:65[R8] - 0x10000000000000000 -00000aa7: ZF := #18 + 1 = 0 -00000aab: NF := 63:63[#18 + 1] -00000aaf: R8 := #18 + 1 -00000abb: when ZF goto %00000ab4 -00000abc: goto %00000ab7 - -00000ab7: -00000ab8: R8 := 1 -00000abe: goto %00000aba - -00000ab4: -00000ab5: R8 := 0 -00000abd: goto %00000aba - -00000aba: -00000ac4: when 0:0[R8] goto %00000ac2 -000011fc: goto %00000bf7 - -00000ac2: -00000aca: R8 := 0x12000 -00000ad1: R0 := mem[R8 + 0x98, el]:u64 -00000ad6: R30 := 0xD74 -00000ad9: call @rewind with return %00000adb - -00000adb: -00000ade: R8 := 0x12000 -00000ae5: R1 := mem[R8 + 0x90, el]:u64 -00000aea: R0 := 0 -00000af0: R0 := R0 + 0xFD0 -00000af5: R30 := 0xD88 -00000af7: call @printf with return %00000af9 - -00000af9: -00000afc: goto %00000afa - -00000bf7: -00000bfa: goto %00000bf8 - -00000bf8: -00000bfe: R0 := 0 -00000c04: R0 := R0 + 0xFB5 -00000c09: R30 := 0xD64 -00000c0b: call @printf with return %00000c0d - -00000c0d: -00000c0f: goto %00000afa - -00000afa: -00000b02: R29 := mem[R31, el]:u64 -00000b07: R30 := mem[R31 + 8, el]:u64 -00000b0b: R31 := R31 + 0x10 -00000b10: call R30 with noreturn - -000011fd: sub strcmp(strcmp_s1, strcmp_s2, strcmp_result) -00001226: strcmp_s1 :: in u64 = R0 -00001227: strcmp_s2 :: in u64 = R1 -00001228: strcmp_result :: out u32 = low:32[R0] - -0000070a: -00000fa5: R16 := 0x12000 -00000fac: R17 := mem[R16 + 0x50, el]:u64 -00000fb2: R16 := R16 + 0x50 -00000fb7: call R17 with noreturn - -000011fe: sub strcspn(strcspn_s, strcspn_reject, strcspn_result) -00001229: strcspn_s :: in u64 = R0 -0000122a: strcspn_reject :: in u64 = R1 -0000122b: strcspn_result :: out u64 = R0 - -000006a2: -00000fd1: R16 := 0x12000 -00000fd8: R17 := mem[R16 + 0x60, el]:u64 -00000fde: R16 := R16 + 0x60 -00000fe3: call R17 with noreturn - -000011ff: sub strdup(strdup_s, strdup_result) -0000122c: strdup_s :: in u64 = R0 -0000122d: strdup_result :: out u64 = R0 - -00000922: -00000f63: R16 := 0x12000 -00000f6a: R17 := mem[R16 + 0x38, el]:u64 -00000f70: R16 := R16 + 0x38 -00000f75: call R17 with noreturn - -00001200: sub strncmp(strncmp_s1, strncmp_s2, strncmp_n, strncmp_result) -0000122e: strncmp_s1 :: in u64 = R0 -0000122f: strncmp_s2 :: in u64 = R1 -00001230: strncmp_n :: in u64 = R2 -00001231: strncmp_result :: out u32 = low:32[R0] - -0000075b: -00000f37: R16 := 0x12000 -00000f3e: R17 := mem[R16 + 0x28, el]:u64 -00000f44: R16 := R16 + 0x28 -00000f49: call R17 with noreturn diff --git a/src/test/correct/complex/clang/complex.relf b/src/test/correct/complex/clang/complex.relf deleted file mode 100644 index a5465f82e..000000000 --- a/src/test/correct/complex/clang/complex.relf +++ /dev/null @@ -1,166 +0,0 @@ - -Relocation section '.rela.dyn' at offset 0x5e8 contains 9 entries: - Offset Info Type Symbol's Value Symbol's Name + Addend -0000000000011dc0 0000000000000403 R_AARCH64_RELATIVE a90 -0000000000011dc8 0000000000000403 R_AARCH64_RELATIVE a40 -0000000000011fd8 0000000000000403 R_AARCH64_RELATIVE a94 -0000000000012080 0000000000000403 R_AARCH64_RELATIVE 12080 -0000000000011fb8 0000000500000401 R_AARCH64_GLOB_DAT 0000000000000000 _ITM_deregisterTMCloneTable + 0 -0000000000011fc0 0000000600000401 R_AARCH64_GLOB_DAT 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0 -0000000000011fc8 0000000b00000401 R_AARCH64_GLOB_DAT 0000000000000000 stdin@GLIBC_2.17 + 0 -0000000000011fd0 0000000d00000401 R_AARCH64_GLOB_DAT 0000000000000000 __gmon_start__ + 0 -0000000000011fe0 0000001100000401 R_AARCH64_GLOB_DAT 0000000000000000 _ITM_registerTMCloneTable + 0 - -Relocation section '.rela.plt' at offset 0x6c0 contains 15 entries: - Offset Info Type Symbol's Value Symbol's Name + Addend -0000000000012000 0000000300000402 R_AARCH64_JUMP_SLOT 0000000000000000 exit@GLIBC_2.17 + 0 -0000000000012008 0000000400000402 R_AARCH64_JUMP_SLOT 0000000000000000 __libc_start_main@GLIBC_2.34 + 0 -0000000000012010 0000000600000402 R_AARCH64_JUMP_SLOT 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0 -0000000000012018 0000000700000402 R_AARCH64_JUMP_SLOT 0000000000000000 fclose@GLIBC_2.17 + 0 -0000000000012020 0000000800000402 R_AARCH64_JUMP_SLOT 0000000000000000 fopen@GLIBC_2.17 + 0 -0000000000012028 0000000900000402 R_AARCH64_JUMP_SLOT 0000000000000000 strncmp@GLIBC_2.17 + 0 -0000000000012030 0000000a00000402 R_AARCH64_JUMP_SLOT 0000000000000000 rewind@GLIBC_2.17 + 0 -0000000000012038 0000000c00000402 R_AARCH64_JUMP_SLOT 0000000000000000 strdup@GLIBC_2.17 + 0 -0000000000012040 0000000d00000402 R_AARCH64_JUMP_SLOT 0000000000000000 __gmon_start__ + 0 -0000000000012048 0000000e00000402 R_AARCH64_JUMP_SLOT 0000000000000000 abort@GLIBC_2.17 + 0 -0000000000012050 0000000f00000402 R_AARCH64_JUMP_SLOT 0000000000000000 strcmp@GLIBC_2.17 + 0 -0000000000012058 0000001000000402 R_AARCH64_JUMP_SLOT 0000000000000000 free@GLIBC_2.17 + 0 -0000000000012060 0000001200000402 R_AARCH64_JUMP_SLOT 0000000000000000 strcspn@GLIBC_2.17 + 0 -0000000000012068 0000001300000402 R_AARCH64_JUMP_SLOT 0000000000000000 printf@GLIBC_2.17 + 0 -0000000000012070 0000001400000402 R_AARCH64_JUMP_SLOT 0000000000000000 fgets@GLIBC_2.17 + 0 - -Symbol table '.dynsym' contains 21 entries: - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000828 0 SECTION LOCAL DEFAULT 11 .init - 2: 0000000000012078 0 SECTION LOCAL DEFAULT 23 .data - 3: 0000000000000000 0 FUNC GLOBAL DEFAULT UND exit@GLIBC_2.17 (2) - 4: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.34 (3) - 5: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable - 6: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 (2) - 7: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fclose@GLIBC_2.17 (2) - 8: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fopen@GLIBC_2.17 (2) - 9: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strncmp@GLIBC_2.17 (2) - 10: 0000000000000000 0 FUNC GLOBAL DEFAULT UND rewind@GLIBC_2.17 (2) - 11: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND stdin@GLIBC_2.17 (2) - 12: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strdup@GLIBC_2.17 (2) - 13: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 14: 0000000000000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.17 (2) - 15: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcmp@GLIBC_2.17 (2) - 16: 0000000000000000 0 FUNC GLOBAL DEFAULT UND free@GLIBC_2.17 (2) - 17: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - 18: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcspn@GLIBC_2.17 (2) - 19: 0000000000000000 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.17 (2) - 20: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fgets@GLIBC_2.17 (2) - -Symbol table '.symtab' contains 109 entries: - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000238 0 SECTION LOCAL DEFAULT 1 .interp - 2: 0000000000000254 0 SECTION LOCAL DEFAULT 2 .note.gnu.build-id - 3: 0000000000000278 0 SECTION LOCAL DEFAULT 3 .note.ABI-tag - 4: 0000000000000298 0 SECTION LOCAL DEFAULT 4 .gnu.hash - 5: 00000000000002b8 0 SECTION LOCAL DEFAULT 5 .dynsym - 6: 00000000000004b0 0 SECTION LOCAL DEFAULT 6 .dynstr - 7: 000000000000058c 0 SECTION LOCAL DEFAULT 7 .gnu.version - 8: 00000000000005b8 0 SECTION LOCAL DEFAULT 8 .gnu.version_r - 9: 00000000000005e8 0 SECTION LOCAL DEFAULT 9 .rela.dyn - 10: 00000000000006c0 0 SECTION LOCAL DEFAULT 10 .rela.plt - 11: 0000000000000828 0 SECTION LOCAL DEFAULT 11 .init - 12: 0000000000000840 0 SECTION LOCAL DEFAULT 12 .plt - 13: 0000000000000980 0 SECTION LOCAL DEFAULT 13 .text - 14: 0000000000000e04 0 SECTION LOCAL DEFAULT 14 .fini - 15: 0000000000000e18 0 SECTION LOCAL DEFAULT 15 .rodata - 16: 0000000000001000 0 SECTION LOCAL DEFAULT 16 .eh_frame_hdr - 17: 0000000000001068 0 SECTION LOCAL DEFAULT 17 .eh_frame - 18: 0000000000011dc0 0 SECTION LOCAL DEFAULT 18 .init_array - 19: 0000000000011dc8 0 SECTION LOCAL DEFAULT 19 .fini_array - 20: 0000000000011dd0 0 SECTION LOCAL DEFAULT 20 .dynamic - 21: 0000000000011fb0 0 SECTION LOCAL DEFAULT 21 .got - 22: 0000000000011fe8 0 SECTION LOCAL DEFAULT 22 .got.plt - 23: 0000000000012078 0 SECTION LOCAL DEFAULT 23 .data - 24: 0000000000012088 0 SECTION LOCAL DEFAULT 24 .bss - 25: 0000000000000000 0 SECTION LOCAL DEFAULT 25 .comment - 26: 0000000000000000 0 FILE LOCAL DEFAULT ABS Scrt1.o - 27: 0000000000000278 0 NOTYPE LOCAL DEFAULT 3 $d - 28: 0000000000000278 32 OBJECT LOCAL DEFAULT 3 __abi_tag - 29: 0000000000000980 0 NOTYPE LOCAL DEFAULT 13 $x - 30: 000000000000107c 0 NOTYPE LOCAL DEFAULT 17 $d - 31: 0000000000000e18 0 NOTYPE LOCAL DEFAULT 15 $d - 32: 0000000000000000 0 FILE LOCAL DEFAULT ABS crti.o - 33: 00000000000009b4 0 NOTYPE LOCAL DEFAULT 13 $x - 34: 00000000000009b4 20 FUNC LOCAL DEFAULT 13 call_weak_fn - 35: 0000000000000828 0 NOTYPE LOCAL DEFAULT 11 $x - 36: 0000000000000e04 0 NOTYPE LOCAL DEFAULT 14 $x - 37: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtn.o - 38: 0000000000000838 0 NOTYPE LOCAL DEFAULT 11 $x - 39: 0000000000000e10 0 NOTYPE LOCAL DEFAULT 14 $x - 40: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 41: 00000000000009d0 0 NOTYPE LOCAL DEFAULT 13 $x - 42: 00000000000009d0 0 FUNC LOCAL DEFAULT 13 deregister_tm_clones - 43: 0000000000000a00 0 FUNC LOCAL DEFAULT 13 register_tm_clones - 44: 0000000000012080 0 NOTYPE LOCAL DEFAULT 23 $d - 45: 0000000000000a40 0 FUNC LOCAL DEFAULT 13 __do_global_dtors_aux - 46: 0000000000012088 1 OBJECT LOCAL DEFAULT 24 completed.0 - 47: 0000000000011dc8 0 NOTYPE LOCAL DEFAULT 19 $d - 48: 0000000000011dc8 0 OBJECT LOCAL DEFAULT 19 __do_global_dtors_aux_fini_array_entry - 49: 0000000000000a90 0 FUNC LOCAL DEFAULT 13 frame_dummy - 50: 0000000000011dc0 0 NOTYPE LOCAL DEFAULT 18 $d - 51: 0000000000011dc0 0 OBJECT LOCAL DEFAULT 18 __frame_dummy_init_array_entry - 52: 0000000000001090 0 NOTYPE LOCAL DEFAULT 17 $d - 53: 0000000000012088 0 NOTYPE LOCAL DEFAULT 24 $d - 54: 0000000000000000 0 FILE LOCAL DEFAULT ABS complex.c - 55: 0000000000000a94 0 NOTYPE LOCAL DEFAULT 13 $x.0 - 56: 0000000000012090 0 NOTYPE LOCAL DEFAULT 24 $d.1 - 57: 0000000000000e1c 0 NOTYPE LOCAL DEFAULT 15 $d.2 - 58: 000000000000002a 0 NOTYPE LOCAL DEFAULT 25 $d.3 - 59: 00000000000010f0 0 NOTYPE LOCAL DEFAULT 17 $d.4 - 60: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 61: 00000000000011ec 0 NOTYPE LOCAL DEFAULT 17 $d - 62: 00000000000011ec 0 OBJECT LOCAL DEFAULT 17 __FRAME_END__ - 63: 0000000000000000 0 FILE LOCAL DEFAULT ABS - 64: 0000000000011dd0 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC - 65: 0000000000001000 0 NOTYPE LOCAL DEFAULT 16 __GNU_EH_FRAME_HDR - 66: 0000000000011fb0 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ - 67: 0000000000000840 0 NOTYPE LOCAL DEFAULT 12 $x - 68: 0000000000000ce0 88 FUNC GLOBAL DEFAULT 13 printHelp - 69: 0000000000000000 0 FUNC GLOBAL DEFAULT UND exit@GLIBC_2.17 - 70: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.34 - 71: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable - 72: 0000000000012078 0 NOTYPE WEAK DEFAULT 23 data_start - 73: 0000000000012088 0 NOTYPE GLOBAL DEFAULT 24 __bss_start__ - 74: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 - 75: 00000000000120a0 0 NOTYPE GLOBAL DEFAULT 24 _bss_end__ - 76: 0000000000012088 0 NOTYPE GLOBAL DEFAULT 23 _edata - 77: 0000000000000c38 168 FUNC GLOBAL DEFAULT 13 openFile - 78: 0000000000000e04 0 FUNC GLOBAL HIDDEN 14 _fini - 79: 00000000000120a0 0 NOTYPE GLOBAL DEFAULT 24 __bss_end__ - 80: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fclose@GLIBC_2.17 - 81: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fopen@GLIBC_2.17 - 82: 0000000000000d38 92 FUNC GLOBAL DEFAULT 13 saveFile - 83: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strncmp@GLIBC_2.17 - 84: 0000000000012090 8 OBJECT GLOBAL DEFAULT 24 currentFilename - 85: 0000000000000000 0 FUNC GLOBAL DEFAULT UND rewind@GLIBC_2.17 - 86: 0000000000012078 0 NOTYPE GLOBAL DEFAULT 23 __data_start - 87: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND stdin@GLIBC_2.17 - 88: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strdup@GLIBC_2.17 - 89: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 90: 0000000000012080 0 OBJECT GLOBAL HIDDEN 23 __dso_handle - 91: 0000000000000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.17 - 92: 0000000000000e18 4 OBJECT GLOBAL DEFAULT 15 _IO_stdin_used - 93: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcmp@GLIBC_2.17 - 94: 0000000000012098 8 OBJECT GLOBAL DEFAULT 24 currentFile - 95: 00000000000120a0 0 NOTYPE GLOBAL DEFAULT 24 _end - 96: 0000000000000000 0 FUNC GLOBAL DEFAULT UND free@GLIBC_2.17 - 97: 0000000000000980 52 FUNC GLOBAL DEFAULT 13 _start - 98: 00000000000120a0 0 NOTYPE GLOBAL DEFAULT 24 __end__ - 99: 0000000000000d94 112 FUNC GLOBAL DEFAULT 13 closeFile - 100: 0000000000012088 0 NOTYPE GLOBAL DEFAULT 24 __bss_start - 101: 0000000000000a94 108 FUNC GLOBAL DEFAULT 13 main - 102: 0000000000012088 0 OBJECT GLOBAL HIDDEN 23 __TMC_END__ - 103: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - 104: 0000000000000b00 312 FUNC GLOBAL DEFAULT 13 handleInput - 105: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcspn@GLIBC_2.17 - 106: 0000000000000000 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.17 - 107: 0000000000000828 0 FUNC GLOBAL HIDDEN 11 _init - 108: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fgets@GLIBC_2.17 diff --git a/src/test/correct/complex/clang_O2/complex.adt b/src/test/correct/complex/clang_O2/complex.adt deleted file mode 100644 index 563807e3f..000000000 --- a/src/test/correct/complex/clang_O2/complex.adt +++ /dev/null @@ -1,1647 +0,0 @@ -Project(Attrs([Attr("filename","\"clang_O2/complex.out\""), -Attr("image-specification","(declare abi (name str))\n(declare arch (name str))\n(declare base-address (addr int))\n(declare bias (off int))\n(declare bits (size int))\n(declare code-region (addr int) (size int) (off int))\n(declare code-start (addr int))\n(declare entry-point (addr int))\n(declare external-reference (addr int) (name str))\n(declare format (name str))\n(declare is-executable (flag bool))\n(declare is-little-endian (flag bool))\n(declare llvm:base-address (addr int))\n(declare llvm:code-entry (name str) (off int) (size int))\n(declare llvm:coff-import-library (name str))\n(declare llvm:coff-virtual-section-header (name str) (addr int) (size int))\n(declare llvm:elf-program-header (name str) (off int) (size int))\n(declare llvm:elf-program-header-flags (name str) (ld bool) (r bool) \n (w bool) (x bool))\n(declare llvm:elf-virtual-program-header (name str) (addr int) (size int))\n(declare llvm:entry-point (addr int))\n(declare llvm:macho-symbol (name str) (value int))\n(declare llvm:name-reference (at int) (name str))\n(declare llvm:relocation (at int) (addr int))\n(declare llvm:section-entry (name str) (addr int) (size int) (off int))\n(declare llvm:section-flags (name str) (r bool) (w bool) (x bool))\n(declare llvm:segment-command (name str) (off int) (size int))\n(declare llvm:segment-command-flags (name str) (r bool) (w bool) (x bool))\n(declare llvm:symbol-entry (name str) (addr int) (size int) (off int)\n (value int))\n(declare llvm:virtual-segment-command (name str) (addr int) (size int))\n(declare mapped (addr int) (size int) (off int))\n(declare named-region (addr int) (size int) (name str))\n(declare named-symbol (addr int) (name str))\n(declare require (name str))\n(declare section (addr int) (size int))\n(declare segment (addr int) (size int) (r bool) (w bool) (x bool))\n(declare subarch (name str))\n(declare symbol-chunk (addr int) (size int) (root int))\n(declare symbol-value (addr int) (value int))\n(declare system (name str))\n(declare vendor (name str))\n\n(abi unknown)\n(arch aarch64)\n(base-address 0)\n(bias 0)\n(bits 64)\n(code-region 3612 20 3612)\n(code-region 2496 1116 2496)\n(code-region 2176 288 2176)\n(code-region 2144 24 2144)\n(code-start 2548)\n(code-start 3384)\n(code-start 3240)\n(code-start 3468)\n(code-start 2496)\n(code-start 3532)\n(code-start 2772)\n(code-start 2876)\n(entry-point 2496)\n(external-reference 73656 _ITM_deregisterTMCloneTable)\n(external-reference 73664 __cxa_finalize)\n(external-reference 73680 __gmon_start__)\n(external-reference 73696 _ITM_registerTMCloneTable)\n(external-reference 73728 exit)\n(external-reference 73736 __libc_start_main)\n(external-reference 73744 __cxa_finalize)\n(external-reference 73752 fclose)\n(external-reference 73760 fopen)\n(external-reference 73768 strncmp)\n(external-reference 73776 rewind)\n(external-reference 73784 strdup)\n(external-reference 73792 __gmon_start__)\n(external-reference 73800 abort)\n(external-reference 73808 puts)\n(external-reference 73816 strcmp)\n(external-reference 73824 free)\n(external-reference 73832 strcspn)\n(external-reference 73840 printf)\n(external-reference 73848 fgets)\n(format elf)\n(is-executable true)\n(is-little-endian true)\n(llvm:base-address 0)\n(llvm:code-entry fgets 0 0)\n(llvm:code-entry printf 0 0)\n(llvm:code-entry strcspn 0 0)\n(llvm:code-entry free 0 0)\n(llvm:code-entry strcmp 0 0)\n(llvm:code-entry puts 0 0)\n(llvm:code-entry abort 0 0)\n(llvm:code-entry strdup 0 0)\n(llvm:code-entry rewind 0 0)\n(llvm:code-entry strncmp 0 0)\n(llvm:code-entry fopen 0 0)\n(llvm:code-entry fclose 0 0)\n(llvm:code-entry __cxa_finalize 0 0)\n(llvm:code-entry __libc_start_main 0 0)\n(llvm:code-entry exit 0 0)\n(llvm:code-entry fgets@GLIBC_2.17 0 0)\n(llvm:code-entry _init 2144 0)\n(llvm:code-entry printf@GLIBC_2.17 0 0)\n(llvm:code-entry strcspn@GLIBC_2.17 0 0)\n(llvm:code-entry handleInput 2876 364)\n(llvm:code-entry main 2772 104)\n(llvm:code-entry closeFile 3532 80)\n(llvm:code-entry _start 2496 52)\n(llvm:code-entry free@GLIBC_2.17 0 0)\n(llvm:code-entry strcmp@GLIBC_2.17 0 0)\n(llvm:code-entry puts@GLIBC_2.17 0 0)\n(llvm:code-entry abort@GLIBC_2.17 0 0)\n(llvm:code-entry strdup@GLIBC_2.17 0 0)\n(llvm:code-entry rewind@GLIBC_2.17 0 0)\n(llvm:code-entry strncmp@GLIBC_2.17 0 0)\n(llvm:code-entry saveFile 3468 64)\n(llvm:code-entry fopen@GLIBC_2.17 0 0)\n(llvm:code-entry fclose@GLIBC_2.17 0 0)\n(llvm:code-entry _fini 3612 0)\n(llvm:code-entry openFile 3240 144)\n(llvm:code-entry __cxa_finalize@GLIBC_2.17 0 0)\n(llvm:code-entry __libc_start_main@GLIBC_2.34 0 0)\n(llvm:code-entry exit@GLIBC_2.17 0 0)\n(llvm:code-entry printHelp 3384 84)\n(llvm:code-entry frame_dummy 2768 0)\n(llvm:code-entry __do_global_dtors_aux 2688 0)\n(llvm:code-entry register_tm_clones 2624 0)\n(llvm:code-entry deregister_tm_clones 2576 0)\n(llvm:code-entry call_weak_fn 2548 20)\n(llvm:code-entry .fini 3612 20)\n(llvm:code-entry .text 2496 1116)\n(llvm:code-entry .plt 2176 288)\n(llvm:code-entry .init 2144 24)\n(llvm:elf-program-header 08 7616 576)\n(llvm:elf-program-header 07 0 0)\n(llvm:elf-program-header 06 4108 100)\n(llvm:elf-program-header 05 596 68)\n(llvm:elf-program-header 04 7632 480)\n(llvm:elf-program-header 03 7616 720)\n(llvm:elf-program-header 02 0 4716)\n(llvm:elf-program-header 01 568 27)\n(llvm:elf-program-header 00 64 504)\n(llvm:elf-program-header-flags 08 false true false false)\n(llvm:elf-program-header-flags 07 false true true false)\n(llvm:elf-program-header-flags 06 false true false false)\n(llvm:elf-program-header-flags 05 false true false false)\n(llvm:elf-program-header-flags 04 false true true false)\n(llvm:elf-program-header-flags 03 true true true false)\n(llvm:elf-program-header-flags 02 true true false true)\n(llvm:elf-program-header-flags 01 false true false false)\n(llvm:elf-program-header-flags 00 false true false false)\n(llvm:elf-virtual-program-header 08 73152 576)\n(llvm:elf-virtual-program-header 07 0 0)\n(llvm:elf-virtual-program-header 06 4108 100)\n(llvm:elf-virtual-program-header 05 596 68)\n(llvm:elf-virtual-program-header 04 73168 480)\n(llvm:elf-virtual-program-header 03 73152 744)\n(llvm:elf-virtual-program-header 02 0 4716)\n(llvm:elf-virtual-program-header 01 568 27)\n(llvm:elf-virtual-program-header 00 64 504)\n(llvm:entry-point 2496)\n(llvm:name-reference 73848 fgets)\n(llvm:name-reference 73840 printf)\n(llvm:name-reference 73832 strcspn)\n(llvm:name-reference 73824 free)\n(llvm:name-reference 73816 strcmp)\n(llvm:name-reference 73808 puts)\n(llvm:name-reference 73800 abort)\n(llvm:name-reference 73792 __gmon_start__)\n(llvm:name-reference 73784 strdup)\n(llvm:name-reference 73776 rewind)\n(llvm:name-reference 73768 strncmp)\n(llvm:name-reference 73760 fopen)\n(llvm:name-reference 73752 fclose)\n(llvm:name-reference 73744 __cxa_finalize)\n(llvm:name-reference 73736 __libc_start_main)\n(llvm:name-reference 73728 exit)\n(llvm:name-reference 73696 _ITM_registerTMCloneTable)\n(llvm:name-reference 73680 __gmon_start__)\n(llvm:name-reference 73664 __cxa_finalize)\n(llvm:name-reference 73656 _ITM_deregisterTMCloneTable)\n(llvm:section-entry .shstrtab 0 259 11921)\n(llvm:section-entry .strtab 0 873 11048)\n(llvm:section-entry .symtab 0 2640 8408)\n(llvm:section-entry .comment 0 71 8336)\n(llvm:section-entry .bss 73872 24 8336)\n(llvm:section-entry .data 73856 16 8320)\n(llvm:section-entry .got.plt 73704 152 8168)\n(llvm:section-entry .got 73648 56 8112)\n(llvm:section-entry .dynamic 73168 480 7632)\n(llvm:section-entry .fini_array 73160 8 7624)\n(llvm:section-entry .init_array 73152 8 7616)\n(llvm:section-entry .eh_frame 4208 508 4208)\n(llvm:section-entry .eh_frame_hdr 4108 100 4108)\n(llvm:section-entry .rodata 3632 476 3632)\n(llvm:section-entry .fini 3612 20 3612)\n(llvm:section-entry .text 2496 1116 2496)\n(llvm:section-entry .plt 2176 288 2176)\n(llvm:section-entry .init 2144 24 2144)\n(llvm:section-entry .rela.plt 1760 384 1760)\n(llvm:section-entry .rela.dyn 1544 216 1544)\n(llvm:section-entry .gnu.version_r 1496 48 1496)\n(llvm:section-entry .gnu.version 1450 44 1450)\n(llvm:section-entry .dynstr 1224 225 1224)\n(llvm:section-entry .dynsym 696 528 696)\n(llvm:section-entry .gnu.hash 664 28 664)\n(llvm:section-entry .note.ABI-tag 632 32 632)\n(llvm:section-entry .note.gnu.build-id 596 36 596)\n(llvm:section-entry .interp 568 27 568)\n(llvm:section-flags .shstrtab true false false)\n(llvm:section-flags .strtab true false false)\n(llvm:section-flags .symtab true false false)\n(llvm:section-flags .comment true false false)\n(llvm:section-flags .bss true true false)\n(llvm:section-flags .data true true false)\n(llvm:section-flags .got.plt true true false)\n(llvm:section-flags .got true true false)\n(llvm:section-flags .dynamic true true false)\n(llvm:section-flags .fini_array true true false)\n(llvm:section-flags .init_array true true false)\n(llvm:section-flags .eh_frame true false false)\n(llvm:section-flags .eh_frame_hdr true false false)\n(llvm:section-flags .rodata true false false)\n(llvm:section-flags .fini true false true)\n(llvm:section-flags .text true false true)\n(llvm:section-flags .plt true false true)\n(llvm:section-flags .init true false true)\n(llvm:section-flags .rela.plt true false false)\n(llvm:section-flags .rela.dyn true false false)\n(llvm:section-flags .gnu.version_r true false false)\n(llvm:section-flags .gnu.version true false false)\n(llvm:section-flags .dynstr true false false)\n(llvm:section-flags .dynsym true false false)\n(llvm:section-flags .gnu.hash true false false)\n(llvm:section-flags .note.ABI-tag true false false)\n(llvm:section-flags .note.gnu.build-id true false false)\n(llvm:section-flags .interp true false false)\n(llvm:symbol-entry fgets 0 0 0 0)\n(llvm:symbol-entry printf 0 0 0 0)\n(llvm:symbol-entry strcspn 0 0 0 0)\n(llvm:symbol-entry free 0 0 0 0)\n(llvm:symbol-entry strcmp 0 0 0 0)\n(llvm:symbol-entry puts 0 0 0 0)\n(llvm:symbol-entry abort 0 0 0 0)\n(llvm:symbol-entry strdup 0 0 0 0)\n(llvm:symbol-entry rewind 0 0 0 0)\n(llvm:symbol-entry strncmp 0 0 0 0)\n(llvm:symbol-entry fopen 0 0 0 0)\n(llvm:symbol-entry fclose 0 0 0 0)\n(llvm:symbol-entry __cxa_finalize 0 0 0 0)\n(llvm:symbol-entry __libc_start_main 0 0 0 0)\n(llvm:symbol-entry exit 0 0 0 0)\n(llvm:symbol-entry fgets@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry _init 2144 0 2144 2144)\n(llvm:symbol-entry printf@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strcspn@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry handleInput 2876 364 2876 2876)\n(llvm:symbol-entry main 2772 104 2772 2772)\n(llvm:symbol-entry closeFile 3532 80 3532 3532)\n(llvm:symbol-entry _start 2496 52 2496 2496)\n(llvm:symbol-entry free@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strcmp@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry puts@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry abort@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strdup@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry rewind@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strncmp@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry saveFile 3468 64 3468 3468)\n(llvm:symbol-entry fopen@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry fclose@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry _fini 3612 0 3612 3612)\n(llvm:symbol-entry openFile 3240 144 3240 3240)\n(llvm:symbol-entry __cxa_finalize@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry __libc_start_main@GLIBC_2.34 0 0 0 0)\n(llvm:symbol-entry exit@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry printHelp 3384 84 3384 3384)\n(llvm:symbol-entry frame_dummy 2768 0 2768 2768)\n(llvm:symbol-entry __do_global_dtors_aux 2688 0 2688 2688)\n(llvm:symbol-entry register_tm_clones 2624 0 2624 2624)\n(llvm:symbol-entry deregister_tm_clones 2576 0 2576 2576)\n(llvm:symbol-entry call_weak_fn 2548 20 2548 2548)\n(mapped 0 4716 0)\n(mapped 73152 720 7616)\n(named-region 0 4716 02)\n(named-region 73152 744 03)\n(named-region 568 27 .interp)\n(named-region 596 36 .note.gnu.build-id)\n(named-region 632 32 .note.ABI-tag)\n(named-region 664 28 .gnu.hash)\n(named-region 696 528 .dynsym)\n(named-region 1224 225 .dynstr)\n(named-region 1450 44 .gnu.version)\n(named-region 1496 48 .gnu.version_r)\n(named-region 1544 216 .rela.dyn)\n(named-region 1760 384 .rela.plt)\n(named-region 2144 24 .init)\n(named-region 2176 288 .plt)\n(named-region 2496 1116 .text)\n(named-region 3612 20 .fini)\n(named-region 3632 476 .rodata)\n(named-region 4108 100 .eh_frame_hdr)\n(named-region 4208 508 .eh_frame)\n(named-region 73152 8 .init_array)\n(named-region 73160 8 .fini_array)\n(named-region 73168 480 .dynamic)\n(named-region 73648 56 .got)\n(named-region 73704 152 .got.plt)\n(named-region 73856 16 .data)\n(named-region 73872 24 .bss)\n(named-region 0 71 .comment)\n(named-region 0 2640 .symtab)\n(named-region 0 873 .strtab)\n(named-region 0 259 .shstrtab)\n(named-symbol 2548 call_weak_fn)\n(named-symbol 2576 deregister_tm_clones)\n(named-symbol 2624 register_tm_clones)\n(named-symbol 2688 __do_global_dtors_aux)\n(named-symbol 2768 frame_dummy)\n(named-symbol 3384 printHelp)\n(named-symbol 0 exit@GLIBC_2.17)\n(named-symbol 0 __libc_start_main@GLIBC_2.34)\n(named-symbol 0 __cxa_finalize@GLIBC_2.17)\n(named-symbol 3240 openFile)\n(named-symbol 3612 _fini)\n(named-symbol 0 fclose@GLIBC_2.17)\n(named-symbol 0 fopen@GLIBC_2.17)\n(named-symbol 3468 saveFile)\n(named-symbol 0 strncmp@GLIBC_2.17)\n(named-symbol 0 rewind@GLIBC_2.17)\n(named-symbol 0 strdup@GLIBC_2.17)\n(named-symbol 0 abort@GLIBC_2.17)\n(named-symbol 0 puts@GLIBC_2.17)\n(named-symbol 0 strcmp@GLIBC_2.17)\n(named-symbol 0 free@GLIBC_2.17)\n(named-symbol 2496 _start)\n(named-symbol 3532 closeFile)\n(named-symbol 2772 main)\n(named-symbol 2876 handleInput)\n(named-symbol 0 strcspn@GLIBC_2.17)\n(named-symbol 0 printf@GLIBC_2.17)\n(named-symbol 2144 _init)\n(named-symbol 0 fgets@GLIBC_2.17)\n(named-symbol 0 exit)\n(named-symbol 0 __libc_start_main)\n(named-symbol 0 __cxa_finalize)\n(named-symbol 0 fclose)\n(named-symbol 0 fopen)\n(named-symbol 0 strncmp)\n(named-symbol 0 rewind)\n(named-symbol 0 strdup)\n(named-symbol 0 abort)\n(named-symbol 0 puts)\n(named-symbol 0 strcmp)\n(named-symbol 0 free)\n(named-symbol 0 strcspn)\n(named-symbol 0 printf)\n(named-symbol 0 fgets)\n(require libc.so.6)\n(section 568 27)\n(section 596 36)\n(section 632 32)\n(section 664 28)\n(section 696 528)\n(section 1224 225)\n(section 1450 44)\n(section 1496 48)\n(section 1544 216)\n(section 1760 384)\n(section 2144 24)\n(section 2176 288)\n(section 2496 1116)\n(section 3612 20)\n(section 3632 476)\n(section 4108 100)\n(section 4208 508)\n(section 73152 8)\n(section 73160 8)\n(section 73168 480)\n(section 73648 56)\n(section 73704 152)\n(section 73856 16)\n(section 73872 24)\n(section 0 71)\n(section 0 2640)\n(section 0 873)\n(section 0 259)\n(segment 0 4716 true false true)\n(segment 73152 744 true true false)\n(subarch v8)\n(symbol-chunk 2548 20 2548)\n(symbol-chunk 3384 84 3384)\n(symbol-chunk 3240 144 3240)\n(symbol-chunk 3468 64 3468)\n(symbol-chunk 2496 52 2496)\n(symbol-chunk 3532 80 3532)\n(symbol-chunk 2772 104 2772)\n(symbol-chunk 2876 364 2876)\n(symbol-value 2548 2548)\n(symbol-value 2576 2576)\n(symbol-value 2624 2624)\n(symbol-value 2688 2688)\n(symbol-value 2768 2768)\n(symbol-value 3384 3384)\n(symbol-value 3240 3240)\n(symbol-value 3612 3612)\n(symbol-value 3468 3468)\n(symbol-value 2496 2496)\n(symbol-value 3532 3532)\n(symbol-value 2772 2772)\n(symbol-value 2876 2876)\n(symbol-value 2144 2144)\n(symbol-value 0 0)\n(system \"\")\n(vendor \"\")\n"), -Attr("abi-name","\"aarch64-linux-gnu-elf\"")]), -Sections([Section(".shstrtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\xc0\x09\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x98\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1d\x00\x1c\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x12\x00\x00\x00\x00\x00\x00\x6c\x12\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\xc0\x1d\x00\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\xc0\x1d\x01"), -Section(".strtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\xc0\x09\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x98\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1d\x00\x1c\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x12\x00\x00\x00\x00\x00\x00\x6c\x12\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\xc0\x1d\x00\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\xd0\x02\x00\x00\x00\x00\x00\x00\xe8\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\xd0\x1d\x00\x00\x00\x00\x00\x00\xd0\x1d\x01\x00\x00\x00\x00\x00\xd0\x1d\x01\x00\x00\x00\x00\x00\xe0\x01\x00\x00\x00\x00\x00\x00\xe0\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x50\xe5\x74\x64\x04\x00\x00\x00\x0c\x10\x00\x00\x00\x00\x00\x00\x0c\x10\x00\x00\x00\x00\x00\x00\x0c\x10\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x51\xe5\x74\x64\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x52\xe5\x74\x64\x04\x00\x00\x00\xc0\x1d\x00\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00\x00\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\xdd\x9d\x6f\x01\xb5\xce\x34\x58\x7f\xe8\x87\x61\x8b\x60\x73\x1b\x05\x26\x62\x10\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\x60\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x17\x00\x80\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x12\x00\x00\x00\x00"), -Section(".symtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\xc0\x09\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x98\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1d\x00\x1c\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x12\x00\x00\x00\x00\x00\x00\x6c\x12\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\xc0\x1d\x00\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\xd0\x02\x00\x00\x00\x00\x00\x00\xe8\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\xd0\x1d\x00\x00\x00\x00\x00\x00\xd0\x1d\x01\x00\x00\x00\x00\x00\xd0\x1d\x01\x00\x00\x00\x00\x00\xe0\x01\x00\x00\x00\x00\x00\x00\xe0\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x50\xe5\x74\x64\x04\x00\x00\x00\x0c\x10\x00\x00\x00\x00\x00\x00\x0c\x10\x00\x00\x00\x00\x00\x00\x0c\x10\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x51\xe5\x74\x64\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x52\xe5\x74\x64\x04\x00\x00\x00\xc0\x1d\x00\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00\x00\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\xdd\x9d\x6f\x01\xb5\xce\x34\x58\x7f\xe8\x87\x61\x8b\x60\x73\x1b\x05\x26\x62\x10\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\x60\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x17\x00\x80\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x5f\x63\x78\x61\x5f\x66\x69\x6e\x61\x6c\x69\x7a\x65\x00\x66\x67\x65\x74\x73\x00\x73\x74\x72\x63\x73\x70\x6e\x00\x5f\x5f\x6c\x69\x62\x63\x5f\x73\x74\x61\x72\x74\x5f\x6d\x61\x69\x6e\x00\x73\x74\x72\x63\x6d\x70\x00\x66\x6f\x70\x65\x6e\x00\x66\x63\x6c\x6f\x73\x65\x00\x73\x74\x72\x6e\x63\x6d\x70\x00\x70\x75\x74\x73\x00\x66\x72\x65\x65\x00\x73\x74\x72\x64\x75\x70\x00\x73\x74\x64\x69\x6e\x00\x61\x62\x6f\x72\x74\x00\x65\x78\x69\x74\x00\x72\x65\x77\x69\x6e\x64\x00\x70\x72\x69\x6e\x74\x66\x00\x6c\x69\x62\x63\x2e\x73\x6f\x2e\x36\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x33\x34\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x31\x37\x00\x5f\x49\x54\x4d\x5f\x64\x65\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x5f\x5f\x67\x6d\x6f\x6e\x5f\x73\x74\x61\x72\x74\x5f\x5f\x00\x5f\x49\x54\x4d\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x02\x00\x02\x00\x00\x00\x01\x00\x02\x00\x7c\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\xb4\x91\x96\x06\x00\x00\x03\x00\x86\x00\x00\x00\x10\x00\x00\x00\x97\x91\x96\x06\x00\x00\x02\x00\x91\x00\x00\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\xd0\x0a\x00\x00\x00\x00\x00\x00\xc8\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x80\x0a\x00\x00\x00\x00\x00\x00\xd8\x1f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\xd4\x0a\x00\x00\x00\x00\x00\x00\x88\x20\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x88\x20\x01\x00\x00\x00\x00\x00\xb8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x62\x00\x00\x94\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x7b\xbf\xa9\x90\x00\x00\xb0\x11\xfe\x47\xf9\x10\xe2\x3f\x91\x20\x02\x1f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x90\x00\x00\xd0\x11\x02\x40\xf9\x10\x02\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x06\x40\xf9\x10\x22\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x0a\x40\xf9\x10\x42\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x0e\x40\xf9\x10\x62\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x12\x40\xf9\x10\x82\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x16\x40\xf9\x10\xa2\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x1a\x40\xf9\x10\xc2\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x1e\x40\xf9\x10\xe2\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x22\x40\xf9\x10\x02\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x26\x40\xf9\x10\x22\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x2a\x40\xf9\x10\x42\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x2e\x40\xf9\x10\x62\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x32\x40\xf9\x10\x82\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x36\x40\xf9\x10\xa2\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x3a\x40\xf9\x10\xc2\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x3e\x40\xf9\x10\xe2\x01\x91\x20\x02\x1f\xd6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x20\x03\xd5\x1d\x00\x80\xd2\x1e\x00\x80\xd2\xe5\x03\x00\xaa\xe1\x03\x40\xf9\xe2\x23\x00\x91\xe6\x03\x00\x91\x80\x00\x00\xb0\x00\xec\x47\xf9\x03\x00\x80\xd2\x04\x00\x80\xd2\xb1\xff\xff\x97\xd0\xff\xff\x97\x80\x00\x00\xb0\x00\xe8\x47\xf9\x40\x00\x00\xb4\xc8\xff\xff\x17\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x80\x00\x00\xd0\x00\x40\x02\x91\x81\x00\x00\xd0\x21\x40\x02\x91\x3f\x00\x00\xeb\xc0\x00\x00\x54\x81\x00\x00\xb0\x21\xdc\x47\xf9\x61\x00\x00\xb4\xf0\x03\x01\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x80\x00\x00\xd0\x00\x40\x02\x91\x81\x00\x00\xd0\x21\x40\x02\x91"), -Section(".comment", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\xc0\x09\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x98\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1d\x00\x1c\x00\x06\x00\x00\x00\x04\x00\x00"), -Section(".interp", 0x238, "\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00"), -Section(".note.gnu.build-id", 0x254, "\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\xdd\x9d\x6f\x01\xb5\xce\x34\x58\x7f\xe8\x87\x61\x8b\x60\x73\x1b\x05\x26\x62\x10"), -Section(".note.ABI-tag", 0x278, "\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00"), -Section(".gnu.hash", 0x298, "\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".dynsym", 0x2B8, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\x60\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x17\x00\x80\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc7\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".dynstr", 0x4C8, "\x00\x5f\x5f\x63\x78\x61\x5f\x66\x69\x6e\x61\x6c\x69\x7a\x65\x00\x66\x67\x65\x74\x73\x00\x73\x74\x72\x63\x73\x70\x6e\x00\x5f\x5f\x6c\x69\x62\x63\x5f\x73\x74\x61\x72\x74\x5f\x6d\x61\x69\x6e\x00\x73\x74\x72\x63\x6d\x70\x00\x66\x6f\x70\x65\x6e\x00\x66\x63\x6c\x6f\x73\x65\x00\x73\x74\x72\x6e\x63\x6d\x70\x00\x70\x75\x74\x73\x00\x66\x72\x65\x65\x00\x73\x74\x72\x64\x75\x70\x00\x73\x74\x64\x69\x6e\x00\x61\x62\x6f\x72\x74\x00\x65\x78\x69\x74\x00\x72\x65\x77\x69\x6e\x64\x00\x70\x72\x69\x6e\x74\x66\x00\x6c\x69\x62\x63\x2e\x73\x6f\x2e\x36\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x33\x34\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x31\x37\x00\x5f\x49\x54\x4d\x5f\x64\x65\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x5f\x5f\x67\x6d\x6f\x6e\x5f\x73\x74\x61\x72\x74\x5f\x5f\x00\x5f\x49\x54\x4d\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00"), -Section(".gnu.version", 0x5AA, "\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x02\x00\x02\x00"), -Section(".gnu.version_r", 0x5D8, "\x01\x00\x02\x00\x7c\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\xb4\x91\x96\x06\x00\x00\x03\x00\x86\x00\x00\x00\x10\x00\x00\x00\x97\x91\x96\x06\x00\x00\x02\x00\x91\x00\x00\x00\x00\x00\x00\x00"), -Section(".rela.dyn", 0x608, "\xc0\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\xd0\x0a\x00\x00\x00\x00\x00\x00\xc8\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x80\x0a\x00\x00\x00\x00\x00\x00\xd8\x1f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\xd4\x0a\x00\x00\x00\x00\x00\x00\x88\x20\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x88\x20\x01\x00\x00\x00\x00\x00\xb8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".rela.plt", 0x6E0, "\x00\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".init", 0x860, "\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x62\x00\x00\x94\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".plt", 0x880, "\xf0\x7b\xbf\xa9\x90\x00\x00\xb0\x11\xfe\x47\xf9\x10\xe2\x3f\x91\x20\x02\x1f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x90\x00\x00\xd0\x11\x02\x40\xf9\x10\x02\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x06\x40\xf9\x10\x22\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x0a\x40\xf9\x10\x42\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x0e\x40\xf9\x10\x62\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x12\x40\xf9\x10\x82\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x16\x40\xf9\x10\xa2\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x1a\x40\xf9\x10\xc2\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x1e\x40\xf9\x10\xe2\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x22\x40\xf9\x10\x02\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x26\x40\xf9\x10\x22\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x2a\x40\xf9\x10\x42\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x2e\x40\xf9\x10\x62\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x32\x40\xf9\x10\x82\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x36\x40\xf9\x10\xa2\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x3a\x40\xf9\x10\xc2\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x3e\x40\xf9\x10\xe2\x01\x91\x20\x02\x1f\xd6"), -Section(".text", 0x9C0, "\x1f\x20\x03\xd5\x1d\x00\x80\xd2\x1e\x00\x80\xd2\xe5\x03\x00\xaa\xe1\x03\x40\xf9\xe2\x23\x00\x91\xe6\x03\x00\x91\x80\x00\x00\xb0\x00\xec\x47\xf9\x03\x00\x80\xd2\x04\x00\x80\xd2\xb1\xff\xff\x97\xd0\xff\xff\x97\x80\x00\x00\xb0\x00\xe8\x47\xf9\x40\x00\x00\xb4\xc8\xff\xff\x17\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x80\x00\x00\xd0\x00\x40\x02\x91\x81\x00\x00\xd0\x21\x40\x02\x91\x3f\x00\x00\xeb\xc0\x00\x00\x54\x81\x00\x00\xb0\x21\xdc\x47\xf9\x61\x00\x00\xb4\xf0\x03\x01\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x80\x00\x00\xd0\x00\x40\x02\x91\x81\x00\x00\xd0\x21\x40\x02\x91\x21\x00\x00\xcb\x22\xfc\x7f\xd3\x41\x0c\x81\x8b\x21\xfc\x41\x93\xc1\x00\x00\xb4\x82\x00\x00\xb0\x42\xf0\x47\xf9\x62\x00\x00\xb4\xf0\x03\x02\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\xfd\x7b\xbe\xa9\xfd\x03\x00\x91\xf3\x0b\x00\xf9\x93\x00\x00\xd0\x60\x42\x42\x39\x40\x01\x00\x35\x80\x00\x00\xb0\x00\xe0\x47\xf9\x80\x00\x00\xb4\x80\x00\x00\xd0\x00\x44\x40\xf9\x85\xff\xff\x97\xd8\xff\xff\x97\x20\x00\x80\x52\x60\x42\x02\x39\xf3\x0b\x40\xf9\xfd\x7b\xc2\xa8\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\xdc\xff\xff\x17\xff\x03\x05\xd1\xfd\x7b\x10\xa9\xfc\x8b\x00\xf9\xf6\x57\x12\xa9\xf4\x4f\x13\xa9\xfd\x03\x04\x91\x95\x00\x00\xb0\xf6\x03\x00\x91\x13\x00\x00\x90\x73\xd2\x38\x91\x14\x00\x00\x90\x94\x3a\x3a\x91\xb5\xe6\x47\xf9\xe0\x03\x13\xaa\x9d\xff\xff\x97\xa2\x02\x40\xf9\xe0\x03\x00\x91\x01\x20\x80\x52\x9d\xff\xff\x97\xe0\x03\x00\x91\xe1\x03\x14\xaa\x92\xff\xff\x97\xdf\x6a\x20\x38\xe0\x03\x00\x91\x02\x00\x00\x94\xf4\xff\xff\x17\xfd\x7b\xbe\xa9\xf4\x4f\x01\xa9\xfd\x03\x00\x91\x01\x00\x00\x90\x21\x18\x39\x91\xf3\x03\x00\xaa\x7f\xff\xff\x97\x20\x03\x00\x34\x01\x00\x00\x90\x21\x2c\x39\x91\xe0\x03\x13\xaa\xa2\x00\x80\x52\x61\xff\xff\x97\xe0\x04\x00\x34\x01\x00\x00\x90\x21\x44\x39\x91\xe0\x03\x13\xaa\x74\xff\xff\x97\xc0\x04\x00\x34\x01\x00\x00\x90\x21\x58\x39\x91\xe0\x03\x13\xaa\x6f\xff\xff\x97\x80\x05\x00\x34\x01\x00\x00\x90\x21\x70\x39\x91\xe0\x03\x13\xaa\x6a\xff\xff\x97\x20\x07\x00\x34\x00\x00\x00\x90\x00\xb0\x3a\x91\x12\x00\x00\x14\x00\x00\x00\x90\x00\x84\x3b\x91\x5f\xff\xff\x97\x00\x00\x00\x90\x00\xac\x3b\x91\x5c\xff\xff\x97\x00\x00\x00\x90\x00\x78\x3c\x91\x59\xff\xff\x97\x00\x00\x00\x90\x00\x3c\x3d\x91\x56\xff\xff\x97\x00\x00\x00\x90\x00\x24\x3e\x91\x53\xff\xff\x97\x00\x00\x00\x90\x00\xe4\x3e\x91\xf4\x4f\x41\xa9\xfd\x7b\xc2\xa8\x4e\xff\xff\x17\x60\x16\x00\x91\xf4\x4f\x41\xa9\xfd\x7b\xc2\xa8\x24\x00\x00\x14\x88\x00\x00\xd0\x00\x51\x40\xf9\xa0\x02\x00\xb4\x36\xff\xff\x97\x88\x00\x00\xd0\x01\x4d\x40\xf9\x00\x00\x00\x90\x00\x40\x3a\x91\xf4\x4f\x41\xa9\xfd\x7b\xc2\xa8\x4f\xff\xff\x17\x93\x00\x00\xd0\x60\x52\x40\xf9\xa0\x01\x00\xb4\x1f\xff\xff\x97\x94\x00\x00\xd0\x80\x4e\x40\xf9\x40\xff\xff\x97\x00\x00\x00\x90\x00\xf0\x3f\x91\x7f\x52\x00\xf9\x9f\x4e\x00\xf9\xe3\xff\xff\x17\x00\x00\x00\x90\x00\x88\x3f\x91\xe0\xff\xff\x17\xf4\x4f\x41\xa9\xfd\x7b\xc2\xa8\xc0\x03\x5f\xd6\x88\x00\x00\xd0\x08\x51\x40\xf9\x48\x00\x00\xb4\x4c\x00\x00\x94\xe0\x03\x1f\x2a\xff\xfe\xff\x97\xfd\x7b\xbd\xa9\xf5\x0b\x00\xf9\xf4\x4f\x02\xa9\xfd\x03\x00\x91\x94\x00\x00\xd0\xf3\x03\x00\xaa\x95\x00\x00\xd0\x80\x52\x40\xf9\x20\x01\x00\xb4\x01\xff\xff\x97\xa0\x4e\x40\xf9\x23\xff\xff\x97\x00\x00\x00\x90\x00\xf0\x3f\x91\x9f\x52\x00\xf9\xbf\x4e\x00\xf9\x16\xff\xff\x97\xe0\x03\x13\xaa\x08\xff\xff\x97\x01\x00\x00\x90\x21\x84\x39\x91\xa0\x4e\x00\xf9\xf8\xfe\xff\x97\xe8\x03\x00\xaa\xa1\x4e\x40\xf9\x09\x00\x00\x90\x29\xf9\x39\x91\x0a\x00\x00\x90\x4a\x91\x39\x91\x1f\x00\x00\xf1\x40\x01\x89\x9a\x88\x52\x00\xf9\xf4\x4f\x42\xa9\xf5\x0b\x40\xf9\xfd\x7b\xc3\xa8\x13\xff\xff\x17\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x00\x00\x00\x90\x00\x84\x3b\x91\xfe\xfe\xff\x97\x00\x00\x00\x90\x00\xac\x3b\x91\xfb\xfe\xff\x97\x00\x00\x00\x90\x00\x78\x3c\x91\xf8\xfe\xff\x97\x00\x00\x00\x90\x00\x3c\x3d\x91\xf5\xfe\xff\x97\x00\x00\x00\x90\x00\x24\x3e\x91\xf2\xfe\xff\x97\x00\x00\x00\x90\x00\xe4\x3e\x91\xfd\x7b\xc1\xa8\xee\xfe\xff\x17\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x88\x00\x00\xd0\x00\x51\x40\xf9\x00\x01\x00\xb4\xd8\xfe\xff\x97\x88\x00\x00\xd0\x01\x4d\x40\xf9\x00\x00\x00\x90\x00\x40\x3a\x91\xfd\x7b\xc1\xa8\xf2\xfe\xff\x17\x00\x00\x00\x90\x00\x88\x3f\x91\xfd\x7b\xc1\xa8\xde\xfe\xff\x17\xfd\x7b\xbe\xa9\xf4\x4f\x01\xa9\xfd\x03\x00\x91\x93\x00\x00\xd0\x60\x52\x40\xf9\x80\x01\x00\xb4\xbb\xfe\xff\x97\x94\x00\x00\xd0\x80\x4e\x40\xf9\xdc\xfe\xff\x97\x00\x00\x00\x90\x00\xf0\x3f\x91\x7f\x52\x00\xf9\x9f\x4e\x00\xf9\xf4\x4f\x41\xa9\xfd\x7b\xc2\xa8\xcd\xfe\xff\x17\xf4\x4f\x41\xa9\xfd\x7b\xc2\xa8\xc0\x03\x5f\xd6"), -Section(".fini", 0xE1C, "\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".rodata", 0xE30, "\x01\x00\x02\x00\x45\x6e\x74\x65\x72\x20\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x3a\x20\x00\x68\x65\x6c\x70\x00\x6f\x70\x65\x6e\x20\x00\x73\x61\x76\x65\x00\x63\x6c\x6f\x73\x65\x00\x65\x78\x69\x74\x00\x72\x2b\x00\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x6f\x70\x65\x6e\x20\x66\x69\x6c\x65\x20\x27\x25\x73\x27\x0a\x00\x4f\x70\x65\x6e\x65\x64\x20\x66\x69\x6c\x65\x20\x27\x25\x73\x27\x0a\x00\x53\x61\x76\x65\x64\x20\x63\x68\x61\x6e\x67\x65\x73\x20\x74\x6f\x20\x66\x69\x6c\x65\x20\x27\x25\x73\x27\x0a\x00\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x2e\x20\x54\x79\x70\x65\x20\x27\x68\x65\x6c\x70\x27\x20\x66\x6f\x72\x20\x61\x20\x6c\x69\x73\x74\x20\x6f\x66\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x73\x2e\x00\x43\x6f\x6d\x6d\x61\x6e\x64\x73\x3a\x00\x20\x20\x68\x65\x6c\x70\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x44\x69\x73\x70\x6c\x61\x79\x20\x74\x68\x69\x73\x20\x68\x65\x6c\x70\x20\x6d\x65\x73\x73\x61\x67\x65\x00\x20\x20\x6f\x70\x65\x6e\x20\x3c\x66\x69\x6c\x65\x6e\x61\x6d\x65\x3e\x20\x20\x20\x20\x20\x20\x2d\x20\x4f\x70\x65\x6e\x20\x61\x20\x66\x69\x6c\x65\x20\x66\x6f\x72\x20\x65\x64\x69\x74\x69\x6e\x67\x00\x20\x20\x73\x61\x76\x65\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x53\x61\x76\x65\x20\x63\x68\x61\x6e\x67\x65\x73\x20\x74\x6f\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x66\x69\x6c\x65\x00\x20\x20\x63\x6c\x6f\x73\x65\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x43\x6c\x6f\x73\x65\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x66\x69\x6c\x65\x00\x20\x20\x65\x78\x69\x74\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x45\x78\x69\x74\x20\x74\x68\x65\x20\x65\x64\x69\x74\x6f\x72\x00\x4e\x6f\x20\x66\x69\x6c\x65\x20\x69\x73\x20\x63\x75\x72\x72\x65\x6e\x74\x6c\x79\x20\x6f\x70\x65\x6e\x00\x43\x6c\x6f\x73\x65\x64\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x00"), -Section(".eh_frame_hdr", 0x100C, "\x01\x1b\x03\x3b\x60\x00\x00\x00\x0b\x00\x00\x00\xb4\xf9\xff\xff\x78\x00\x00\x00\x04\xfa\xff\xff\x8c\x00\x00\x00\x34\xfa\xff\xff\xa0\x00\x00\x00\x74\xfa\xff\xff\xb4\x00\x00\x00\xc4\xfa\xff\xff\xd8\x00\x00\x00\xc8\xfa\xff\xff\x00\x01\x00\x00\x30\xfb\xff\xff\x28\x01\x00\x00\x9c\xfc\xff\xff\x98\x01\x00\x00\x2c\xfd\xff\xff\xc8\x01\x00\x00\x80\xfd\xff\xff\xf0\x01\x00\x00\xc0\xfd\xff\xff\x24\x02\x00\x00"), -Section(".eh_frame", 0x1070, "\x10\x00\x00\x00\x00\x00\x00\x00\x01\x7a\x52\x00\x04\x78\x1e\x01\x1b\x0c\x1f\x00\x10\x00\x00\x00\x18\x00\x00\x00\x34\xf9\xff\xff\x34\x00\x00\x00\x00\x41\x07\x1e\x10\x00\x00\x00\x2c\x00\x00\x00\x70\xf9\xff\xff\x30\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x40\x00\x00\x00\x8c\xf9\xff\xff\x3c\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x54\x00\x00\x00\xb8\xf9\xff\xff\x48\x00\x00\x00\x00\x41\x0e\x20\x9d\x04\x9e\x03\x42\x93\x02\x4e\xde\xdd\xd3\x0e\x00\x00\x00\x00\x10\x00\x00\x00\x78\x00\x00\x00\xe4\xf9\xff\xff\x04\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x01\x7a\x52\x00\x01\x7c\x1e\x01\x1b\x0c\x1f\x00\x24\x00\x00\x00\x18\x00\x00\x00\xc0\xf9\xff\xff\x68\x00\x00\x00\x00\x44\x0e\xc0\x02\x54\x0c\x1d\x40\x93\x02\x94\x04\x95\x06\x96\x08\x9c\x0c\x9e\x0e\x9d\x10\x00\x6c\x00\x00\x00\x40\x00\x00\x00\x00\xfa\xff\xff\x6c\x01\x00\x00\x00\x44\x0e\x20\x48\x0c\x1d\x20\x93\x02\x94\x04\x9e\x06\x9d\x08\x0a\x02\x70\x0c\x1f\x20\x44\x0b\x0a\x02\x44\x0c\x1f\x20\x48\x0e\x00\xd3\xd4\xde\xdd\x44\x0b\x0a\x44\x0c\x1f\x20\x48\x0e\x00\xd3\xd4\xde\xdd\x44\x0b\x0a\x60\x0c\x1f\x20\x48\x0e\x00\xd3\xd4\xde\xdd\x44\x0b\x0a\x6c\x0c\x1f\x20\x44\x0b\x0a\x48\x0c\x1f\x20\x44\x0b\x0a\x0c\x1f\x20\x48\x0e\x00\xd3\xd4\xde\xdd\x44\x0b\x00\x00\x2c\x00\x00\x00\xb0\x00\x00\x00\xfc\xfa\xff\xff\x90\x00\x00\x00\x00\x44\x0e\x30\x4c\x0c\x1d\x30\x93\x02\x94\x04\x95\x08\x9e\x0a\x9d\x0c\x02\x70\x0c\x1f\x30\x4c\x0e\x00\xd3\xd4\xd5\xde\xdd\x00\x24\x00\x00\x00\xe0\x00\x00\x00\x5c\xfb\xff\xff\x54\x00\x00\x00\x00\x44\x0e\x10\x44\x0c\x1d\x10\x9e\x02\x9d\x04\x02\x44\x0c\x1f\x10\x44\x0e\x00\xde\xdd\x00\x00\x30\x00\x00\x00\x08\x01\x00\x00\x88\xfb\xff\xff\x40\x00\x00\x00\x00\x44\x0e\x10\x44\x0c\x1d\x10\x9e\x02\x9d\x04\x0a\x60\x0c\x1f\x10\x44\x0e\x00\xde\xdd\x44\x0b\x48\x0c\x1f\x10\x44\x0e\x00\xde\xdd\x00\x00\x00\x34\x00\x00\x00\x3c\x01\x00\x00\x94\xfb\xff\xff\x50\x00\x00\x00\x00\x44\x0e\x20\x48\x0c\x1d\x20\x93\x02\x94\x04\x9e\x06\x9d\x08\x0a\x6c\x0c\x1f\x20\x48\x0e\x00\xd3\xd4\xde\xdd\x44\x0b\x0c\x1f\x20\x48\x0e\x00\xd3\xd4\xde\xdd\x00\x00\x00\x00"), -Section(".fini_array", 0x11DC8, "\x80\x0a\x00\x00\x00\x00\x00\x00"), -Section(".dynamic", 0x11DD0, "\x01\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x60\x08\x00\x00\x00\x00\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x1c\x0e\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\xc8\x1d\x01\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xf5\xfe\xff\x6f\x00\x00\x00\x00\x98\x02\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\xc8\x04\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\xb8\x02\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\xe1\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\xe8\x1f\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\xe0\x06\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x08\x06\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xd8\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\xfb\xff\xff\x6f\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\xfe\xff\xff\x6f\x00\x00\x00\x00\xd8\x05\x00\x00\x00\x00\x00\x00\xff\xff\xff\x6f\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xf0\xff\xff\x6f\x00\x00\x00\x00\xaa\x05\x00\x00\x00\x00\x00\x00\xf9\xff\xff\x6f\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".got", 0x11FB0, "\xd0\x1d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".got.plt", 0x11FE8, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00\x80\x08\x00\x00\x00\x00\x00\x00"), -Section(".data", 0x12080, "\x00\x00\x00\x00\x00\x00\x00\x00\x88\x20\x01\x00\x00\x00\x00\x00"), -Section(".init_array", 0x11DC0, "\xd0\x0a\x00\x00\x00\x00\x00\x00")]), -Memmap([Annotation(Region(0x0,0x126B), Attr("segment","02 0 4716")), -Annotation(Region(0x9C0,0x9F3), Attr("symbol","\"_start\"")), -Annotation(Region(0x0,0x102), Attr("section","\".shstrtab\"")), -Annotation(Region(0x0,0x368), Attr("section","\".strtab\"")), -Annotation(Region(0x0,0xA4F), Attr("section","\".symtab\"")), -Annotation(Region(0x0,0x46), Attr("section","\".comment\"")), -Annotation(Region(0x238,0x252), Attr("section","\".interp\"")), -Annotation(Region(0x254,0x277), Attr("section","\".note.gnu.build-id\"")), -Annotation(Region(0x278,0x297), Attr("section","\".note.ABI-tag\"")), -Annotation(Region(0x298,0x2B3), Attr("section","\".gnu.hash\"")), -Annotation(Region(0x2B8,0x4C7), Attr("section","\".dynsym\"")), -Annotation(Region(0x4C8,0x5A8), Attr("section","\".dynstr\"")), -Annotation(Region(0x5AA,0x5D5), Attr("section","\".gnu.version\"")), -Annotation(Region(0x5D8,0x607), Attr("section","\".gnu.version_r\"")), -Annotation(Region(0x608,0x6DF), Attr("section","\".rela.dyn\"")), -Annotation(Region(0x6E0,0x85F), Attr("section","\".rela.plt\"")), -Annotation(Region(0x860,0x877), Attr("section","\".init\"")), -Annotation(Region(0x880,0x99F), Attr("section","\".plt\"")), -Annotation(Region(0x860,0x877), Attr("code-region","()")), -Annotation(Region(0x880,0x99F), Attr("code-region","()")), -Annotation(Region(0x9C0,0x9F3), Attr("symbol-info","_start 0x9C0 52")), -Annotation(Region(0x9F4,0xA07), Attr("symbol","\"call_weak_fn\"")), -Annotation(Region(0x9F4,0xA07), Attr("symbol-info","call_weak_fn 0x9F4 20")), -Annotation(Region(0xAD4,0xB3B), Attr("symbol","\"main\"")), -Annotation(Region(0xAD4,0xB3B), Attr("symbol-info","main 0xAD4 104")), -Annotation(Region(0xB3C,0xCA7), Attr("symbol","\"handleInput\"")), -Annotation(Region(0x9C0,0xE1B), Attr("section","\".text\"")), -Annotation(Region(0x9C0,0xE1B), Attr("code-region","()")), -Annotation(Region(0xB3C,0xCA7), Attr("symbol-info","handleInput 0xB3C 364")), -Annotation(Region(0xCA8,0xD37), Attr("symbol","\"openFile\"")), -Annotation(Region(0xCA8,0xD37), Attr("symbol-info","openFile 0xCA8 144")), -Annotation(Region(0xD38,0xD8B), Attr("symbol","\"printHelp\"")), -Annotation(Region(0xD38,0xD8B), Attr("symbol-info","printHelp 0xD38 84")), -Annotation(Region(0xD8C,0xDCB), Attr("symbol","\"saveFile\"")), -Annotation(Region(0xD8C,0xDCB), Attr("symbol-info","saveFile 0xD8C 64")), -Annotation(Region(0xDCC,0xE1B), Attr("symbol","\"closeFile\"")), -Annotation(Region(0xDCC,0xE1B), Attr("symbol-info","closeFile 0xDCC 80")), -Annotation(Region(0xE1C,0xE2F), Attr("section","\".fini\"")), -Annotation(Region(0xE1C,0xE2F), Attr("code-region","()")), -Annotation(Region(0xE30,0x100B), Attr("section","\".rodata\"")), -Annotation(Region(0x100C,0x106F), Attr("section","\".eh_frame_hdr\"")), -Annotation(Region(0x1070,0x126B), Attr("section","\".eh_frame\"")), -Annotation(Region(0x11DC0,0x1208F), Attr("segment","03 0x11DC0 744")), -Annotation(Region(0x11DC8,0x11DCF), Attr("section","\".fini_array\"")), -Annotation(Region(0x11DD0,0x11FAF), Attr("section","\".dynamic\"")), -Annotation(Region(0x11FB0,0x11FE7), Attr("section","\".got\"")), -Annotation(Region(0x11FE8,0x1207F), Attr("section","\".got.plt\"")), -Annotation(Region(0x12080,0x1208F), Attr("section","\".data\"")), -Annotation(Region(0x11DC0,0x11DC7), Attr("section","\".init_array\""))]), -Program(Tid(4_394, "%0000112a"), Attrs([]), - Subs([Sub(Tid(4_340, "@__cxa_finalize"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x8C0"), -Attr("stub","()")]), "__cxa_finalize", Args([Arg(Tid(4_395, "%0000112b"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("__cxa_finalize_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(3_203, "@__cxa_finalize"), - Attrs([Attr("address","0x8C0")]), Phis([]), -Defs([Def(Tid(3_665, "%00000e51"), Attrs([Attr("address","0x8C0"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_672, "%00000e58"), Attrs([Attr("address","0x8C4"), -Attr("insn","ldr x17, [x16, #0x10]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(16,64)),LittleEndian(),64)), -Def(Tid(3_678, "%00000e5e"), Attrs([Attr("address","0x8C8"), -Attr("insn","add x16, x16, #0x10")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(3_683, "%00000e63"), - Attrs([Attr("address","0x8CC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), -Sub(Tid(4_341, "@__do_global_dtors_aux"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xA80")]), - "__do_global_dtors_aux", Args([Arg(Tid(4_396, "%0000112c"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("__do_global_dtors_aux_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_430, "@__do_global_dtors_aux"), - Attrs([Attr("address","0xA80")]), Phis([]), -Defs([Def(Tid(1_434, "%0000059a"), Attrs([Attr("address","0xA80"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("#3",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(1_440, "%000005a0"), Attrs([Attr("address","0xA80"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#3",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_446, "%000005a6"), Attrs([Attr("address","0xA80"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#3",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_450, "%000005aa"), Attrs([Attr("address","0xA80"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("R31",Imm(64)), -Var("#3",Imm(64))), Def(Tid(1_456, "%000005b0"), - Attrs([Attr("address","0xA84"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(1_464, "%000005b8"), - Attrs([Attr("address","0xA88"), Attr("insn","str x19, [sp, #0x10]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),Var("R19",Imm(64)),LittleEndian(),64)), -Def(Tid(1_469, "%000005bd"), Attrs([Attr("address","0xA8C"), -Attr("insn","adrp x19, #73728")]), Var("R19",Imm(64)), Int(73728,64)), -Def(Tid(1_476, "%000005c4"), Attrs([Attr("address","0xA90"), -Attr("insn","ldrb w0, [x19, #0x90]")]), Var("R0",Imm(64)), -UNSIGNED(64,Load(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(144,64)),LittleEndian(),8)))]), -Jmps([Goto(Tid(1_483, "%000005cb"), Attrs([Attr("address","0xA94"), -Attr("insn","cbnz w0, #0x28")]), - NEQ(Extract(31,0,Var("R0",Imm(64))),Int(0,32)), -Direct(Tid(1_481, "%000005c9"))), Goto(Tid(4_342, "%000010f6"), Attrs([]), - Int(1,1), Direct(Tid(3_148, "%00000c4c")))])), Blk(Tid(3_148, "%00000c4c"), - Attrs([Attr("address","0xA98")]), Phis([]), -Defs([Def(Tid(3_151, "%00000c4f"), Attrs([Attr("address","0xA98"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(3_158, "%00000c56"), Attrs([Attr("address","0xA9C"), -Attr("insn","ldr x0, [x0, #0xfc0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4032,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(3_164, "%00000c5c"), Attrs([Attr("address","0xAA0"), -Attr("insn","cbz x0, #0x10")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(3_162, "%00000c5a"))), Goto(Tid(4_343, "%000010f7"), Attrs([]), - Int(1,1), Direct(Tid(3_187, "%00000c73")))])), Blk(Tid(3_187, "%00000c73"), - Attrs([Attr("address","0xAA4")]), Phis([]), -Defs([Def(Tid(3_190, "%00000c76"), Attrs([Attr("address","0xAA4"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(3_197, "%00000c7d"), Attrs([Attr("address","0xAA8"), -Attr("insn","ldr x0, [x0, #0x88]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(136,64)),LittleEndian(),64)), -Def(Tid(3_202, "%00000c82"), Attrs([Attr("address","0xAAC"), -Attr("insn","bl #-0x1ec")]), Var("R30",Imm(64)), Int(2736,64))]), -Jmps([Call(Tid(3_205, "%00000c85"), Attrs([Attr("address","0xAAC"), -Attr("insn","bl #-0x1ec")]), Int(1,1), -(Direct(Tid(4_340, "@__cxa_finalize")),Direct(Tid(3_162, "%00000c5a"))))])), -Blk(Tid(3_162, "%00000c5a"), Attrs([Attr("address","0xAB0")]), Phis([]), -Defs([Def(Tid(3_170, "%00000c62"), Attrs([Attr("address","0xAB0"), -Attr("insn","bl #-0xa0")]), Var("R30",Imm(64)), Int(2740,64))]), -Jmps([Call(Tid(3_172, "%00000c64"), Attrs([Attr("address","0xAB0"), -Attr("insn","bl #-0xa0")]), Int(1,1), -(Direct(Tid(4_356, "@deregister_tm_clones")),Direct(Tid(3_174, "%00000c66"))))])), -Blk(Tid(3_174, "%00000c66"), Attrs([Attr("address","0xAB4")]), Phis([]), -Defs([Def(Tid(3_177, "%00000c69"), Attrs([Attr("address","0xAB4"), -Attr("insn","mov w0, #0x1")]), Var("R0",Imm(64)), Int(1,64)), -Def(Tid(3_185, "%00000c71"), Attrs([Attr("address","0xAB8"), -Attr("insn","strb w0, [x19, #0x90]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(144,64)),Extract(7,0,Var("R0",Imm(64))),LittleEndian(),8))]), -Jmps([Goto(Tid(4_344, "%000010f8"), Attrs([]), Int(1,1), -Direct(Tid(1_481, "%000005c9")))])), Blk(Tid(1_481, "%000005c9"), - Attrs([Attr("address","0xABC")]), Phis([]), -Defs([Def(Tid(1_491, "%000005d3"), Attrs([Attr("address","0xABC"), -Attr("insn","ldr x19, [sp, #0x10]")]), Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),LittleEndian(),64)), -Def(Tid(1_498, "%000005da"), Attrs([Attr("address","0xAC0"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_503, "%000005df"), Attrs([Attr("address","0xAC0"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_507, "%000005e3"), Attrs([Attr("address","0xAC0"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(1_512, "%000005e8"), - Attrs([Attr("address","0xAC4"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_345, "@__libc_start_main"), - Attrs([Attr("c.proto","signed (*)(signed (*)(signed , char** , char** );* main, signed , char** , \nvoid* auxv)"), -Attr("address","0x8B0"), Attr("stub","()")]), "__libc_start_main", - Args([Arg(Tid(4_397, "%0000112d"), - Attrs([Attr("c.layout","**[ : 64]"), -Attr("c.data","Top:u64 ptr ptr"), -Attr("c.type","signed (*)(signed , char** , char** );*")]), - Var("__libc_start_main_main",Imm(64)), Var("R0",Imm(64)), In()), -Arg(Tid(4_398, "%0000112e"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("__libc_start_main_arg2",Imm(32)), LOW(32,Var("R1",Imm(64))), In()), -Arg(Tid(4_399, "%0000112f"), Attrs([Attr("c.layout","**[char : 8]"), -Attr("c.data","Top:u8 ptr ptr"), Attr("c.type","char**")]), - Var("__libc_start_main_arg3",Imm(64)), Var("R2",Imm(64)), Both()), -Arg(Tid(4_400, "%00001130"), Attrs([Attr("c.layout","*[ : 8]"), -Attr("c.data","{} ptr"), Attr("c.type","void*")]), - Var("__libc_start_main_auxv",Imm(64)), Var("R3",Imm(64)), Both()), -Arg(Tid(4_401, "%00001131"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("__libc_start_main_result",Imm(32)), LOW(32,Var("R0",Imm(64))), -Out())]), Blks([Blk(Tid(1_263, "@__libc_start_main"), - Attrs([Attr("address","0x8B0")]), Phis([]), -Defs([Def(Tid(3_643, "%00000e3b"), Attrs([Attr("address","0x8B0"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_650, "%00000e42"), Attrs([Attr("address","0x8B4"), -Attr("insn","ldr x17, [x16, #0x8]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(3_656, "%00000e48"), Attrs([Attr("address","0x8B8"), -Attr("insn","add x16, x16, #0x8")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(8,64)))]), Jmps([Call(Tid(3_661, "%00000e4d"), - Attrs([Attr("address","0x8BC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_346, "@_fini"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xE1C")]), - "_fini", Args([Arg(Tid(4_402, "%00001132"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_fini_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(31, "@_fini"), - Attrs([Attr("address","0xE1C")]), Phis([]), Defs([Def(Tid(37, "%00000025"), - Attrs([Attr("address","0xE20"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#0",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(43, "%0000002b"), Attrs([Attr("address","0xE20"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#0",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(49, "%00000031"), Attrs([Attr("address","0xE20"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#0",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(53, "%00000035"), Attrs([Attr("address","0xE20"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#0",Imm(64))), Def(Tid(59, "%0000003b"), Attrs([Attr("address","0xE24"), -Attr("insn","mov x29, sp")]), Var("R29",Imm(64)), Var("R31",Imm(64))), -Def(Tid(66, "%00000042"), Attrs([Attr("address","0xE28"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(71, "%00000047"), Attrs([Attr("address","0xE28"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(75, "%0000004b"), Attrs([Attr("address","0xE28"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(80, "%00000050"), - Attrs([Attr("address","0xE2C"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_347, "@_init"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x860")]), - "_init", Args([Arg(Tid(4_403, "%00001133"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_init_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(3_997, "@_init"), - Attrs([Attr("address","0x860")]), Phis([]), -Defs([Def(Tid(4_003, "%00000fa3"), Attrs([Attr("address","0x864"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#24",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(4_009, "%00000fa9"), Attrs([Attr("address","0x864"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#24",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(4_015, "%00000faf"), Attrs([Attr("address","0x864"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#24",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(4_019, "%00000fb3"), Attrs([Attr("address","0x864"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#24",Imm(64))), Def(Tid(4_025, "%00000fb9"), - Attrs([Attr("address","0x868"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(4_030, "%00000fbe"), - Attrs([Attr("address","0x86C"), Attr("insn","bl #0x188")]), - Var("R30",Imm(64)), Int(2160,64))]), Jmps([Call(Tid(4_032, "%00000fc0"), - Attrs([Attr("address","0x86C"), Attr("insn","bl #0x188")]), Int(1,1), -(Direct(Tid(4_352, "@call_weak_fn")),Direct(Tid(4_034, "%00000fc2"))))])), -Blk(Tid(4_034, "%00000fc2"), Attrs([Attr("address","0x870")]), Phis([]), -Defs([Def(Tid(4_039, "%00000fc7"), Attrs([Attr("address","0x870"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(4_044, "%00000fcc"), Attrs([Attr("address","0x870"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(4_048, "%00000fd0"), Attrs([Attr("address","0x870"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(4_053, "%00000fd5"), - Attrs([Attr("address","0x874"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_348, "@_start"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x9C0"), -Attr("entry-point","()")]), "_start", Args([Arg(Tid(4_404, "%00001134"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_start_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_200, "@_start"), - Attrs([Attr("address","0x9C0")]), Phis([]), -Defs([Def(Tid(1_205, "%000004b5"), Attrs([Attr("address","0x9C4"), -Attr("insn","mov x29, #0x0")]), Var("R29",Imm(64)), Int(0,64)), -Def(Tid(1_210, "%000004ba"), Attrs([Attr("address","0x9C8"), -Attr("insn","mov x30, #0x0")]), Var("R30",Imm(64)), Int(0,64)), -Def(Tid(1_216, "%000004c0"), Attrs([Attr("address","0x9CC"), -Attr("insn","mov x5, x0")]), Var("R5",Imm(64)), Var("R0",Imm(64))), -Def(Tid(1_223, "%000004c7"), Attrs([Attr("address","0x9D0"), -Attr("insn","ldr x1, [sp]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_229, "%000004cd"), Attrs([Attr("address","0x9D4"), -Attr("insn","add x2, sp, #0x8")]), Var("R2",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(8,64))), Def(Tid(1_235, "%000004d3"), - Attrs([Attr("address","0x9D8"), Attr("insn","mov x6, sp")]), - Var("R6",Imm(64)), Var("R31",Imm(64))), Def(Tid(1_240, "%000004d8"), - Attrs([Attr("address","0x9DC"), Attr("insn","adrp x0, #69632")]), - Var("R0",Imm(64)), Int(69632,64)), Def(Tid(1_247, "%000004df"), - Attrs([Attr("address","0x9E0"), Attr("insn","ldr x0, [x0, #0xfd8]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4056,64)),LittleEndian(),64)), -Def(Tid(1_252, "%000004e4"), Attrs([Attr("address","0x9E4"), -Attr("insn","mov x3, #0x0")]), Var("R3",Imm(64)), Int(0,64)), -Def(Tid(1_257, "%000004e9"), Attrs([Attr("address","0x9E8"), -Attr("insn","mov x4, #0x0")]), Var("R4",Imm(64)), Int(0,64)), -Def(Tid(1_262, "%000004ee"), Attrs([Attr("address","0x9EC"), -Attr("insn","bl #-0x13c")]), Var("R30",Imm(64)), Int(2544,64))]), -Jmps([Call(Tid(1_265, "%000004f1"), Attrs([Attr("address","0x9EC"), -Attr("insn","bl #-0x13c")]), Int(1,1), -(Direct(Tid(4_345, "@__libc_start_main")),Direct(Tid(1_267, "%000004f3"))))])), -Blk(Tid(1_267, "%000004f3"), Attrs([Attr("address","0x9F0")]), Phis([]), -Defs([Def(Tid(1_270, "%000004f6"), Attrs([Attr("address","0x9F0"), -Attr("insn","bl #-0xc0")]), Var("R30",Imm(64)), Int(2548,64))]), -Jmps([Call(Tid(1_273, "%000004f9"), Attrs([Attr("address","0x9F0"), -Attr("insn","bl #-0xc0")]), Int(1,1), -(Direct(Tid(4_351, "@abort")),Direct(Tid(4_349, "%000010fd"))))])), -Blk(Tid(4_349, "%000010fd"), Attrs([]), Phis([]), Defs([]), -Jmps([Call(Tid(4_350, "%000010fe"), Attrs([]), Int(1,1), -(Direct(Tid(4_352, "@call_weak_fn")),))]))])), Sub(Tid(4_351, "@abort"), - Attrs([Attr("noreturn","()"), Attr("c.proto","void (*)(void)"), -Attr("address","0x930"), Attr("stub","()")]), "abort", Args([]), -Blks([Blk(Tid(1_271, "@abort"), Attrs([Attr("address","0x930")]), Phis([]), -Defs([Def(Tid(3_819, "%00000eeb"), Attrs([Attr("address","0x930"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_826, "%00000ef2"), Attrs([Attr("address","0x934"), -Attr("insn","ldr x17, [x16, #0x48]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(72,64)),LittleEndian(),64)), -Def(Tid(3_832, "%00000ef8"), Attrs([Attr("address","0x938"), -Attr("insn","add x16, x16, #0x48")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(72,64)))]), Jmps([Call(Tid(3_837, "%00000efd"), - Attrs([Attr("address","0x93C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_352, "@call_weak_fn"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x9F4")]), - "call_weak_fn", Args([Arg(Tid(4_405, "%00001135"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("call_weak_fn_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_275, "@call_weak_fn"), - Attrs([Attr("address","0x9F4")]), Phis([]), -Defs([Def(Tid(1_278, "%000004fe"), Attrs([Attr("address","0x9F4"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(1_285, "%00000505"), Attrs([Attr("address","0x9F8"), -Attr("insn","ldr x0, [x0, #0xfd0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4048,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(1_291, "%0000050b"), Attrs([Attr("address","0x9FC"), -Attr("insn","cbz x0, #0x8")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(1_289, "%00000509"))), Goto(Tid(4_353, "%00001101"), Attrs([]), - Int(1,1), Direct(Tid(3_267, "%00000cc3")))])), Blk(Tid(1_289, "%00000509"), - Attrs([Attr("address","0xA04")]), Phis([]), Defs([]), -Jmps([Call(Tid(1_297, "%00000511"), Attrs([Attr("address","0xA04"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(3_267, "%00000cc3"), Attrs([Attr("address","0xA00")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_270, "%00000cc6"), Attrs([Attr("address","0xA00"), -Attr("insn","b #-0xe0")]), Int(1,1), -Direct(Tid(3_268, "@__gmon_start__")))])), Blk(Tid(3_268, "@__gmon_start__"), - Attrs([Attr("address","0x920")]), Phis([]), -Defs([Def(Tid(3_797, "%00000ed5"), Attrs([Attr("address","0x920"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_804, "%00000edc"), Attrs([Attr("address","0x924"), -Attr("insn","ldr x17, [x16, #0x40]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(64,64)),LittleEndian(),64)), -Def(Tid(3_810, "%00000ee2"), Attrs([Attr("address","0x928"), -Attr("insn","add x16, x16, #0x40")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(64,64)))]), Jmps([Call(Tid(3_815, "%00000ee7"), - Attrs([Attr("address","0x92C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_354, "@closeFile"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xDCC")]), - "closeFile", Args([Arg(Tid(4_406, "%00001136"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("closeFile_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_454, "@closeFile"), - Attrs([Attr("address","0xDCC")]), Phis([]), -Defs([Def(Tid(2_458, "%0000099a"), Attrs([Attr("address","0xDCC"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("#17",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(2_464, "%000009a0"), Attrs([Attr("address","0xDCC"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#17",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(2_470, "%000009a6"), Attrs([Attr("address","0xDCC"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#17",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(2_474, "%000009aa"), Attrs([Attr("address","0xDCC"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("R31",Imm(64)), -Var("#17",Imm(64))), Def(Tid(2_480, "%000009b0"), - Attrs([Attr("address","0xDD0"), Attr("insn","stp x20, x19, [sp, #0x10]")]), - Var("#18",Imm(64)), PLUS(Var("R31",Imm(64)),Int(16,64))), -Def(Tid(2_486, "%000009b6"), Attrs([Attr("address","0xDD0"), -Attr("insn","stp x20, x19, [sp, #0x10]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#18",Imm(64)),Var("R20",Imm(64)),LittleEndian(),64)), -Def(Tid(2_492, "%000009bc"), Attrs([Attr("address","0xDD0"), -Attr("insn","stp x20, x19, [sp, #0x10]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#18",Imm(64)),Int(8,64)),Var("R19",Imm(64)),LittleEndian(),64)), -Def(Tid(2_498, "%000009c2"), Attrs([Attr("address","0xDD4"), -Attr("insn","mov x29, sp")]), Var("R29",Imm(64)), Var("R31",Imm(64))), -Def(Tid(2_503, "%000009c7"), Attrs([Attr("address","0xDD8"), -Attr("insn","adrp x19, #73728")]), Var("R19",Imm(64)), Int(73728,64)), -Def(Tid(2_510, "%000009ce"), Attrs([Attr("address","0xDDC"), -Attr("insn","ldr x0, [x19, #0xa0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(160,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(2_516, "%000009d4"), Attrs([Attr("address","0xDE0"), -Attr("insn","cbz x0, #0x30")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(2_514, "%000009d2"))), Goto(Tid(4_355, "%00001103"), Attrs([]), - Int(1,1), Direct(Tid(2_556, "%000009fc")))])), Blk(Tid(2_514, "%000009d2"), - Attrs([Attr("address","0xE10")]), Phis([]), -Defs([Def(Tid(2_523, "%000009db"), Attrs([Attr("address","0xE10"), -Attr("insn","ldp x20, x19, [sp, #0x10]")]), Var("#19",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(2_528, "%000009e0"), - Attrs([Attr("address","0xE10"), Attr("insn","ldp x20, x19, [sp, #0x10]")]), - Var("R20",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#19",Imm(64)),LittleEndian(),64)), -Def(Tid(2_533, "%000009e5"), Attrs([Attr("address","0xE10"), -Attr("insn","ldp x20, x19, [sp, #0x10]")]), Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#19",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_540, "%000009ec"), Attrs([Attr("address","0xE14"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_545, "%000009f1"), Attrs([Attr("address","0xE14"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_549, "%000009f5"), Attrs([Attr("address","0xE14"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(2_554, "%000009fa"), - Attrs([Attr("address","0xE18"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))])), Blk(Tid(2_556, "%000009fc"), - Attrs([Attr("address","0xDE4")]), Phis([]), -Defs([Def(Tid(2_559, "%000009ff"), Attrs([Attr("address","0xDE4"), -Attr("insn","bl #-0x514")]), Var("R30",Imm(64)), Int(3560,64))]), -Jmps([Call(Tid(2_562, "%00000a02"), Attrs([Attr("address","0xDE4"), -Attr("insn","bl #-0x514")]), Int(1,1), -(Direct(Tid(4_360, "@fclose")),Direct(Tid(2_564, "%00000a04"))))])), -Blk(Tid(2_564, "%00000a04"), Attrs([Attr("address","0xDE8")]), Phis([]), -Defs([Def(Tid(2_567, "%00000a07"), Attrs([Attr("address","0xDE8"), -Attr("insn","adrp x20, #73728")]), Var("R20",Imm(64)), Int(73728,64)), -Def(Tid(2_574, "%00000a0e"), Attrs([Attr("address","0xDEC"), -Attr("insn","ldr x0, [x20, #0x98]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R20",Imm(64)),Int(152,64)),LittleEndian(),64)), -Def(Tid(2_579, "%00000a13"), Attrs([Attr("address","0xDF0"), -Attr("insn","bl #-0x490")]), Var("R30",Imm(64)), Int(3572,64))]), -Jmps([Call(Tid(2_582, "%00000a16"), Attrs([Attr("address","0xDF0"), -Attr("insn","bl #-0x490")]), Int(1,1), -(Direct(Tid(4_364, "@free")),Direct(Tid(2_584, "%00000a18"))))])), -Blk(Tid(2_584, "%00000a18"), Attrs([Attr("address","0xDF4")]), Phis([]), -Defs([Def(Tid(2_587, "%00000a1b"), Attrs([Attr("address","0xDF4"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_593, "%00000a21"), Attrs([Attr("address","0xDF8"), -Attr("insn","add x0, x0, #0xffc")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(4092,64))), Def(Tid(2_600, "%00000a28"), - Attrs([Attr("address","0xDFC"), Attr("insn","str xzr, [x19, #0xa0]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(160,64)),Int(0,64),LittleEndian(),64)), -Def(Tid(2_607, "%00000a2f"), Attrs([Attr("address","0xE00"), -Attr("insn","str xzr, [x20, #0x98]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R20",Imm(64)),Int(152,64)),Int(0,64),LittleEndian(),64)), -Def(Tid(2_613, "%00000a35"), Attrs([Attr("address","0xE04"), -Attr("insn","ldp x20, x19, [sp, #0x10]")]), Var("#20",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(2_618, "%00000a3a"), - Attrs([Attr("address","0xE04"), Attr("insn","ldp x20, x19, [sp, #0x10]")]), - Var("R20",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#20",Imm(64)),LittleEndian(),64)), -Def(Tid(2_623, "%00000a3f"), Attrs([Attr("address","0xE04"), -Attr("insn","ldp x20, x19, [sp, #0x10]")]), Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#20",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_630, "%00000a46"), Attrs([Attr("address","0xE08"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_635, "%00000a4b"), Attrs([Attr("address","0xE08"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_639, "%00000a4f"), Attrs([Attr("address","0xE08"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(2_643, "%00000a53"), - Attrs([Attr("address","0xE0C"), Attr("insn","b #-0x4cc")]), Int(1,1), -(Direct(Tid(4_383, "@puts")),))]))])), -Sub(Tid(4_356, "@deregister_tm_clones"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xA10")]), - "deregister_tm_clones", Args([Arg(Tid(4_407, "%00001137"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("deregister_tm_clones_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_303, "@deregister_tm_clones"), - Attrs([Attr("address","0xA10")]), Phis([]), -Defs([Def(Tid(1_306, "%0000051a"), Attrs([Attr("address","0xA10"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(1_312, "%00000520"), Attrs([Attr("address","0xA14"), -Attr("insn","add x0, x0, #0x90")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(144,64))), Def(Tid(1_317, "%00000525"), - Attrs([Attr("address","0xA18"), Attr("insn","adrp x1, #73728")]), - Var("R1",Imm(64)), Int(73728,64)), Def(Tid(1_323, "%0000052b"), - Attrs([Attr("address","0xA1C"), Attr("insn","add x1, x1, #0x90")]), - Var("R1",Imm(64)), PLUS(Var("R1",Imm(64)),Int(144,64))), -Def(Tid(1_329, "%00000531"), Attrs([Attr("address","0xA20"), -Attr("insn","cmp x1, x0")]), Var("#1",Imm(64)), NOT(Var("R0",Imm(64)))), -Def(Tid(1_334, "%00000536"), Attrs([Attr("address","0xA20"), -Attr("insn","cmp x1, x0")]), Var("#2",Imm(64)), -PLUS(Var("R1",Imm(64)),NOT(Var("R0",Imm(64))))), Def(Tid(1_340, "%0000053c"), - Attrs([Attr("address","0xA20"), Attr("insn","cmp x1, x0")]), - Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#2",Imm(64)),Int(1,64))),PLUS(PLUS(SIGNED(65,Var("R1",Imm(64))),SIGNED(65,Var("#1",Imm(64)))),Int(1,65)))), -Def(Tid(1_346, "%00000542"), Attrs([Attr("address","0xA20"), -Attr("insn","cmp x1, x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#2",Imm(64)),Int(1,64))),PLUS(PLUS(UNSIGNED(65,Var("R1",Imm(64))),UNSIGNED(65,Var("#1",Imm(64)))),Int(1,65)))), -Def(Tid(1_350, "%00000546"), Attrs([Attr("address","0xA20"), -Attr("insn","cmp x1, x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#2",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(1_354, "%0000054a"), Attrs([Attr("address","0xA20"), -Attr("insn","cmp x1, x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#2",Imm(64)),Int(1,64))))]), -Jmps([Goto(Tid(1_360, "%00000550"), Attrs([Attr("address","0xA24"), -Attr("insn","b.eq #0x18")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(1_358, "%0000054e"))), Goto(Tid(4_357, "%00001105"), Attrs([]), - Int(1,1), Direct(Tid(3_237, "%00000ca5")))])), Blk(Tid(3_237, "%00000ca5"), - Attrs([Attr("address","0xA28")]), Phis([]), -Defs([Def(Tid(3_240, "%00000ca8"), Attrs([Attr("address","0xA28"), -Attr("insn","adrp x1, #69632")]), Var("R1",Imm(64)), Int(69632,64)), -Def(Tid(3_247, "%00000caf"), Attrs([Attr("address","0xA2C"), -Attr("insn","ldr x1, [x1, #0xfb8]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R1",Imm(64)),Int(4024,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(3_252, "%00000cb4"), Attrs([Attr("address","0xA30"), -Attr("insn","cbz x1, #0xc")]), EQ(Var("R1",Imm(64)),Int(0,64)), -Direct(Tid(1_358, "%0000054e"))), Goto(Tid(4_358, "%00001106"), Attrs([]), - Int(1,1), Direct(Tid(3_256, "%00000cb8")))])), Blk(Tid(1_358, "%0000054e"), - Attrs([Attr("address","0xA3C")]), Phis([]), Defs([]), -Jmps([Call(Tid(1_366, "%00000556"), Attrs([Attr("address","0xA3C"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(3_256, "%00000cb8"), Attrs([Attr("address","0xA34")]), Phis([]), -Defs([Def(Tid(3_260, "%00000cbc"), Attrs([Attr("address","0xA34"), -Attr("insn","mov x16, x1")]), Var("R16",Imm(64)), Var("R1",Imm(64)))]), -Jmps([Call(Tid(3_265, "%00000cc1"), Attrs([Attr("address","0xA38"), -Attr("insn","br x16")]), Int(1,1), (Indirect(Var("R16",Imm(64))),))]))])), -Sub(Tid(4_359, "@exit"), Attrs([Attr("noreturn","()"), -Attr("c.proto","void (*)(signed code)"), Attr("address","0x8A0"), -Attr("stub","()")]), "exit", Args([Arg(Tid(4_408, "%00001138"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("exit_code",Imm(32)), -LOW(32,Var("R0",Imm(64))), In())]), Blks([Blk(Tid(2_848, "@exit"), - Attrs([Attr("address","0x8A0")]), Phis([]), -Defs([Def(Tid(3_621, "%00000e25"), Attrs([Attr("address","0x8A0"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_628, "%00000e2c"), Attrs([Attr("address","0x8A4"), -Attr("insn","ldr x17, [x16]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R16",Imm(64)),LittleEndian(),64)), -Def(Tid(3_634, "%00000e32"), Attrs([Attr("address","0x8A8"), -Attr("insn","add x16, x16, #0x0")]), Var("R16",Imm(64)), -Var("R16",Imm(64)))]), Jmps([Call(Tid(3_639, "%00000e37"), - Attrs([Attr("address","0x8AC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_360, "@fclose"), - Attrs([Attr("c.proto","signed (*)(void** fp)"), Attr("address","0x8D0"), -Attr("stub","()")]), "fclose", Args([Arg(Tid(4_409, "%00001139"), - Attrs([Attr("c.layout","**[ : 8]"), Attr("c.data","{} ptr ptr"), -Attr("c.type","void**")]), Var("fclose_fp",Imm(64)), Var("R0",Imm(64)), -Both()), Arg(Tid(4_410, "%0000113a"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("fclose_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_560, "@fclose"), - Attrs([Attr("address","0x8D0")]), Phis([]), -Defs([Def(Tid(3_687, "%00000e67"), Attrs([Attr("address","0x8D0"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_694, "%00000e6e"), Attrs([Attr("address","0x8D4"), -Attr("insn","ldr x17, [x16, #0x18]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(24,64)),LittleEndian(),64)), -Def(Tid(3_700, "%00000e74"), Attrs([Attr("address","0x8D8"), -Attr("insn","add x16, x16, #0x18")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(24,64)))]), Jmps([Call(Tid(3_705, "%00000e79"), - Attrs([Attr("address","0x8DC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_361, "@fgets"), - Attrs([Attr("c.proto","char* (*)(char restrict * s, signed size, void* restrict * stream)"), -Attr("address","0x990"), Attr("stub","()")]), "fgets", - Args([Arg(Tid(4_411, "%0000113b"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type","char restrict *")]), - Var("fgets_s",Imm(64)), Var("R0",Imm(64)), Both()), -Arg(Tid(4_412, "%0000113c"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("fgets_size",Imm(32)), LOW(32,Var("R1",Imm(64))), In()), -Arg(Tid(4_413, "%0000113d"), Attrs([Attr("c.layout","**[ : 8]"), -Attr("c.data","{} ptr ptr"), Attr("c.type","void* restrict *")]), - Var("fgets_stream",Imm(64)), Var("R2",Imm(64)), Both()), -Arg(Tid(4_414, "%0000113e"), Attrs([Attr("warn-unused","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type","char*")]), Var("fgets_result",Imm(64)), Var("R0",Imm(64)), -Out())]), Blks([Blk(Tid(1_672, "@fgets"), Attrs([Attr("address","0x990")]), - Phis([]), Defs([Def(Tid(3_951, "%00000f6f"), Attrs([Attr("address","0x990"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_958, "%00000f76"), Attrs([Attr("address","0x994"), -Attr("insn","ldr x17, [x16, #0x78]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(120,64)),LittleEndian(),64)), -Def(Tid(3_964, "%00000f7c"), Attrs([Attr("address","0x998"), -Attr("insn","add x16, x16, #0x78")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(120,64)))]), Jmps([Call(Tid(3_969, "%00000f81"), - Attrs([Attr("address","0x99C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_362, "@fopen"), - Attrs([Attr("c.proto","void** (*)( const char restrict * path, const char restrict * mode)"), -Attr("address","0x8E0"), Attr("stub","()")]), "fopen", - Args([Arg(Tid(4_415, "%0000113f"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char restrict *")]), - Var("fopen_path",Imm(64)), Var("R0",Imm(64)), In()), -Arg(Tid(4_416, "%00001140"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char restrict *")]), - Var("fopen_mode",Imm(64)), Var("R1",Imm(64)), In()), -Arg(Tid(4_417, "%00001141"), Attrs([Attr("warn-unused","()"), -Attr("c.layout","**[ : 8]"), Attr("c.data","{} ptr ptr"), -Attr("c.type","void**")]), Var("fopen_result",Imm(64)), Var("R0",Imm(64)), -Out())]), Blks([Blk(Tid(2_096, "@fopen"), Attrs([Attr("address","0x8E0")]), - Phis([]), Defs([Def(Tid(3_709, "%00000e7d"), Attrs([Attr("address","0x8E0"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_716, "%00000e84"), Attrs([Attr("address","0x8E4"), -Attr("insn","ldr x17, [x16, #0x20]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(32,64)),LittleEndian(),64)), -Def(Tid(3_722, "%00000e8a"), Attrs([Attr("address","0x8E8"), -Attr("insn","add x16, x16, #0x20")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(3_727, "%00000e8f"), - Attrs([Attr("address","0x8EC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_363, "@frame_dummy"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xAD0")]), - "frame_dummy", Args([Arg(Tid(4_418, "%00001142"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("frame_dummy_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_518, "@frame_dummy"), - Attrs([Attr("address","0xAD0")]), Phis([]), Defs([]), -Jmps([Call(Tid(1_520, "%000005f0"), Attrs([Attr("address","0xAD0"), -Attr("insn","b #-0x90")]), Int(1,1), -(Direct(Tid(4_384, "@register_tm_clones")),))]))])), Sub(Tid(4_364, "@free"), - Attrs([Attr("c.proto","void (*)(void* ptr)"), Attr("address","0x960"), -Attr("stub","()")]), "free", Args([Arg(Tid(4_419, "%00001143"), - Attrs([Attr("c.layout","*[ : 8]"), Attr("c.data","{} ptr"), -Attr("c.type","void*")]), Var("free_ptr",Imm(64)), Var("R0",Imm(64)), -Both())]), Blks([Blk(Tid(2_580, "@free"), Attrs([Attr("address","0x960")]), - Phis([]), Defs([Def(Tid(3_885, "%00000f2d"), Attrs([Attr("address","0x960"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_892, "%00000f34"), Attrs([Attr("address","0x964"), -Attr("insn","ldr x17, [x16, #0x60]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(96,64)),LittleEndian(),64)), -Def(Tid(3_898, "%00000f3a"), Attrs([Attr("address","0x968"), -Attr("insn","add x16, x16, #0x60")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(96,64)))]), Jmps([Call(Tid(3_903, "%00000f3f"), - Attrs([Attr("address","0x96C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_365, "@handleInput"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xB3C")]), - "handleInput", Args([Arg(Tid(4_420, "%00001144"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("handleInput_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_714, "@handleInput"), - Attrs([Attr("address","0xB3C")]), Phis([]), -Defs([Def(Tid(1_721, "%000006b9"), Attrs([Attr("address","0xB3C"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("#7",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(1_727, "%000006bf"), Attrs([Attr("address","0xB3C"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#7",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_733, "%000006c5"), Attrs([Attr("address","0xB3C"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#7",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_737, "%000006c9"), Attrs([Attr("address","0xB3C"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("R31",Imm(64)), -Var("#7",Imm(64))), Def(Tid(1_743, "%000006cf"), - Attrs([Attr("address","0xB40"), Attr("insn","stp x20, x19, [sp, #0x10]")]), - Var("#8",Imm(64)), PLUS(Var("R31",Imm(64)),Int(16,64))), -Def(Tid(1_749, "%000006d5"), Attrs([Attr("address","0xB40"), -Attr("insn","stp x20, x19, [sp, #0x10]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#8",Imm(64)),Var("R20",Imm(64)),LittleEndian(),64)), -Def(Tid(1_755, "%000006db"), Attrs([Attr("address","0xB40"), -Attr("insn","stp x20, x19, [sp, #0x10]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#8",Imm(64)),Int(8,64)),Var("R19",Imm(64)),LittleEndian(),64)), -Def(Tid(1_761, "%000006e1"), Attrs([Attr("address","0xB44"), -Attr("insn","mov x29, sp")]), Var("R29",Imm(64)), Var("R31",Imm(64))), -Def(Tid(1_766, "%000006e6"), Attrs([Attr("address","0xB48"), -Attr("insn","adrp x1, #0")]), Var("R1",Imm(64)), Int(0,64)), -Def(Tid(1_772, "%000006ec"), Attrs([Attr("address","0xB4C"), -Attr("insn","add x1, x1, #0xe46")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(3654,64))), Def(Tid(1_778, "%000006f2"), - Attrs([Attr("address","0xB50"), Attr("insn","mov x19, x0")]), - Var("R19",Imm(64)), Var("R0",Imm(64))), Def(Tid(1_783, "%000006f7"), - Attrs([Attr("address","0xB54"), Attr("insn","bl #-0x204")]), - Var("R30",Imm(64)), Int(2904,64))]), Jmps([Call(Tid(1_786, "%000006fa"), - Attrs([Attr("address","0xB54"), Attr("insn","bl #-0x204")]), Int(1,1), -(Direct(Tid(4_390, "@strcmp")),Direct(Tid(1_788, "%000006fc"))))])), -Blk(Tid(1_788, "%000006fc"), Attrs([Attr("address","0xB58")]), Phis([]), -Defs([]), Jmps([Goto(Tid(1_792, "%00000700"), Attrs([Attr("address","0xB58"), -Attr("insn","cbz w0, #0x64")]), - EQ(Extract(31,0,Var("R0",Imm(64))),Int(0,32)), -Direct(Tid(1_790, "%000006fe"))), Goto(Tid(4_366, "%0000110e"), Attrs([]), - Int(1,1), Direct(Tid(2_999, "%00000bb7")))])), Blk(Tid(1_790, "%000006fe"), - Attrs([Attr("address","0xBBC")]), Phis([]), -Defs([Def(Tid(1_798, "%00000706"), Attrs([Attr("address","0xBBC"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_804, "%0000070c"), Attrs([Attr("address","0xBC0"), -Attr("insn","add x0, x0, #0xee1")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3809,64))), Def(Tid(1_809, "%00000711"), - Attrs([Attr("address","0xBC4"), Attr("insn","bl #-0x284")]), - Var("R30",Imm(64)), Int(3016,64))]), Jmps([Call(Tid(1_812, "%00000714"), - Attrs([Attr("address","0xBC4"), Attr("insn","bl #-0x284")]), Int(1,1), -(Direct(Tid(4_383, "@puts")),Direct(Tid(1_814, "%00000716"))))])), -Blk(Tid(1_814, "%00000716"), Attrs([Attr("address","0xBC8")]), Phis([]), -Defs([Def(Tid(1_817, "%00000719"), Attrs([Attr("address","0xBC8"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_823, "%0000071f"), Attrs([Attr("address","0xBCC"), -Attr("insn","add x0, x0, #0xeeb")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3819,64))), Def(Tid(1_828, "%00000724"), - Attrs([Attr("address","0xBD0"), Attr("insn","bl #-0x290")]), - Var("R30",Imm(64)), Int(3028,64))]), Jmps([Call(Tid(1_830, "%00000726"), - Attrs([Attr("address","0xBD0"), Attr("insn","bl #-0x290")]), Int(1,1), -(Direct(Tid(4_383, "@puts")),Direct(Tid(1_832, "%00000728"))))])), -Blk(Tid(1_832, "%00000728"), Attrs([Attr("address","0xBD4")]), Phis([]), -Defs([Def(Tid(1_835, "%0000072b"), Attrs([Attr("address","0xBD4"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_841, "%00000731"), Attrs([Attr("address","0xBD8"), -Attr("insn","add x0, x0, #0xf1e")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3870,64))), Def(Tid(1_846, "%00000736"), - Attrs([Attr("address","0xBDC"), Attr("insn","bl #-0x29c")]), - Var("R30",Imm(64)), Int(3040,64))]), Jmps([Call(Tid(1_848, "%00000738"), - Attrs([Attr("address","0xBDC"), Attr("insn","bl #-0x29c")]), Int(1,1), -(Direct(Tid(4_383, "@puts")),Direct(Tid(1_850, "%0000073a"))))])), -Blk(Tid(1_850, "%0000073a"), Attrs([Attr("address","0xBE0")]), Phis([]), -Defs([Def(Tid(1_853, "%0000073d"), Attrs([Attr("address","0xBE0"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_859, "%00000743"), Attrs([Attr("address","0xBE4"), -Attr("insn","add x0, x0, #0xf4f")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3919,64))), Def(Tid(1_864, "%00000748"), - Attrs([Attr("address","0xBE8"), Attr("insn","bl #-0x2a8")]), - Var("R30",Imm(64)), Int(3052,64))]), Jmps([Call(Tid(1_866, "%0000074a"), - Attrs([Attr("address","0xBE8"), Attr("insn","bl #-0x2a8")]), Int(1,1), -(Direct(Tid(4_383, "@puts")),Direct(Tid(1_868, "%0000074c"))))])), -Blk(Tid(1_868, "%0000074c"), Attrs([Attr("address","0xBEC")]), Phis([]), -Defs([Def(Tid(1_871, "%0000074f"), Attrs([Attr("address","0xBEC"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_877, "%00000755"), Attrs([Attr("address","0xBF0"), -Attr("insn","add x0, x0, #0xf89")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3977,64))), Def(Tid(1_882, "%0000075a"), - Attrs([Attr("address","0xBF4"), Attr("insn","bl #-0x2b4")]), - Var("R30",Imm(64)), Int(3064,64))]), Jmps([Call(Tid(1_884, "%0000075c"), - Attrs([Attr("address","0xBF4"), Attr("insn","bl #-0x2b4")]), Int(1,1), -(Direct(Tid(4_383, "@puts")),Direct(Tid(1_886, "%0000075e"))))])), -Blk(Tid(1_886, "%0000075e"), Attrs([Attr("address","0xBF8")]), Phis([]), -Defs([Def(Tid(1_889, "%00000761"), Attrs([Attr("address","0xBF8"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_895, "%00000767"), Attrs([Attr("address","0xBFC"), -Attr("insn","add x0, x0, #0xfb9")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(4025,64)))]), Jmps([Goto(Tid(4_367, "%0000110f"), - Attrs([]), Int(1,1), Direct(Tid(1_897, "%00000769")))])), -Blk(Tid(2_999, "%00000bb7"), Attrs([Attr("address","0xB5C")]), Phis([]), -Defs([Def(Tid(3_002, "%00000bba"), Attrs([Attr("address","0xB5C"), -Attr("insn","adrp x1, #0")]), Var("R1",Imm(64)), Int(0,64)), -Def(Tid(3_008, "%00000bc0"), Attrs([Attr("address","0xB60"), -Attr("insn","add x1, x1, #0xe4b")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(3659,64))), Def(Tid(3_014, "%00000bc6"), - Attrs([Attr("address","0xB64"), Attr("insn","mov x0, x19")]), - Var("R0",Imm(64)), Var("R19",Imm(64))), Def(Tid(3_019, "%00000bcb"), - Attrs([Attr("address","0xB68"), Attr("insn","mov w2, #0x5")]), - Var("R2",Imm(64)), Int(5,64)), Def(Tid(3_024, "%00000bd0"), - Attrs([Attr("address","0xB6C"), Attr("insn","bl #-0x27c")]), - Var("R30",Imm(64)), Int(2928,64))]), Jmps([Call(Tid(3_027, "%00000bd3"), - Attrs([Attr("address","0xB6C"), Attr("insn","bl #-0x27c")]), Int(1,1), -(Direct(Tid(4_393, "@strncmp")),Direct(Tid(3_029, "%00000bd5"))))])), -Blk(Tid(3_029, "%00000bd5"), Attrs([Attr("address","0xB70")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_032, "%00000bd8"), Attrs([Attr("address","0xB70"), -Attr("insn","cbz w0, #0x9c")]), - EQ(Extract(31,0,Var("R0",Imm(64))),Int(0,32)), -Direct(Tid(1_933, "%0000078d"))), Goto(Tid(4_368, "%00001110"), Attrs([]), - Int(1,1), Direct(Tid(3_036, "%00000bdc")))])), Blk(Tid(1_933, "%0000078d"), - Attrs([Attr("address","0xC0C")]), Phis([]), -Defs([Def(Tid(1_937, "%00000791"), Attrs([Attr("address","0xC0C"), -Attr("insn","add x0, x19, #0x5")]), Var("R0",Imm(64)), -PLUS(Var("R19",Imm(64)),Int(5,64))), Def(Tid(1_943, "%00000797"), - Attrs([Attr("address","0xC10"), Attr("insn","ldp x20, x19, [sp, #0x10]")]), - Var("#10",Imm(64)), PLUS(Var("R31",Imm(64)),Int(16,64))), -Def(Tid(1_948, "%0000079c"), Attrs([Attr("address","0xC10"), -Attr("insn","ldp x20, x19, [sp, #0x10]")]), Var("R20",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#10",Imm(64)),LittleEndian(),64)), -Def(Tid(1_953, "%000007a1"), Attrs([Attr("address","0xC10"), -Attr("insn","ldp x20, x19, [sp, #0x10]")]), Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#10",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_960, "%000007a8"), Attrs([Attr("address","0xC14"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_965, "%000007ad"), Attrs([Attr("address","0xC14"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_969, "%000007b1"), Attrs([Attr("address","0xC14"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(1_974, "%000007b6"), - Attrs([Attr("address","0xC18"), Attr("insn","b #0x90")]), Int(1,1), -(Direct(Tid(4_379, "@openFile")),))])), Blk(Tid(3_036, "%00000bdc"), - Attrs([Attr("address","0xB74")]), Phis([]), -Defs([Def(Tid(3_039, "%00000bdf"), Attrs([Attr("address","0xB74"), -Attr("insn","adrp x1, #0")]), Var("R1",Imm(64)), Int(0,64)), -Def(Tid(3_045, "%00000be5"), Attrs([Attr("address","0xB78"), -Attr("insn","add x1, x1, #0xe51")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(3665,64))), Def(Tid(3_051, "%00000beb"), - Attrs([Attr("address","0xB7C"), Attr("insn","mov x0, x19")]), - Var("R0",Imm(64)), Var("R19",Imm(64))), Def(Tid(3_056, "%00000bf0"), - Attrs([Attr("address","0xB80"), Attr("insn","bl #-0x230")]), - Var("R30",Imm(64)), Int(2948,64))]), Jmps([Call(Tid(3_058, "%00000bf2"), - Attrs([Attr("address","0xB80"), Attr("insn","bl #-0x230")]), Int(1,1), -(Direct(Tid(4_390, "@strcmp")),Direct(Tid(3_060, "%00000bf4"))))])), -Blk(Tid(3_060, "%00000bf4"), Attrs([Attr("address","0xB84")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_063, "%00000bf7"), Attrs([Attr("address","0xB84"), -Attr("insn","cbz w0, #0x98")]), - EQ(Extract(31,0,Var("R0",Imm(64))),Int(0,32)), -Direct(Tid(2_749, "%00000abd"))), Goto(Tid(4_369, "%00001111"), Attrs([]), - Int(1,1), Direct(Tid(3_067, "%00000bfb")))])), Blk(Tid(2_749, "%00000abd"), - Attrs([Attr("address","0xC1C")]), Phis([]), -Defs([Def(Tid(2_752, "%00000ac0"), Attrs([Attr("address","0xC1C"), -Attr("insn","adrp x8, #73728")]), Var("R8",Imm(64)), Int(73728,64)), -Def(Tid(2_759, "%00000ac7"), Attrs([Attr("address","0xC20"), -Attr("insn","ldr x0, [x8, #0xa0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(160,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(2_765, "%00000acd"), Attrs([Attr("address","0xC24"), -Attr("insn","cbz x0, #0x54")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(2_763, "%00000acb"))), Goto(Tid(4_370, "%00001112"), Attrs([]), - Int(1,1), Direct(Tid(2_859, "%00000b2b")))])), Blk(Tid(2_763, "%00000acb"), - Attrs([Attr("address","0xC78")]), Phis([]), -Defs([Def(Tid(2_771, "%00000ad3"), Attrs([Attr("address","0xC78"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_777, "%00000ad9"), Attrs([Attr("address","0xC7C"), -Attr("insn","add x0, x0, #0xfe2")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(4066,64)))]), Jmps([Goto(Tid(2_781, "%00000add"), - Attrs([Attr("address","0xC80"), Attr("insn","b #-0x80")]), Int(1,1), -Direct(Tid(1_897, "%00000769")))])), Blk(Tid(2_859, "%00000b2b"), - Attrs([Attr("address","0xC28")]), Phis([]), -Defs([Def(Tid(2_862, "%00000b2e"), Attrs([Attr("address","0xC28"), -Attr("insn","bl #-0x328")]), Var("R30",Imm(64)), Int(3116,64))]), -Jmps([Call(Tid(2_864, "%00000b30"), Attrs([Attr("address","0xC28"), -Attr("insn","bl #-0x328")]), Int(1,1), -(Direct(Tid(4_387, "@rewind")),Direct(Tid(2_866, "%00000b32"))))])), -Blk(Tid(2_866, "%00000b32"), Attrs([Attr("address","0xC2C")]), Phis([]), -Defs([Def(Tid(2_869, "%00000b35"), Attrs([Attr("address","0xC2C"), -Attr("insn","adrp x8, #73728")]), Var("R8",Imm(64)), Int(73728,64)), -Def(Tid(2_876, "%00000b3c"), Attrs([Attr("address","0xC30"), -Attr("insn","ldr x1, [x8, #0x98]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(152,64)),LittleEndian(),64)), -Def(Tid(2_881, "%00000b41"), Attrs([Attr("address","0xC34"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_887, "%00000b47"), Attrs([Attr("address","0xC38"), -Attr("insn","add x0, x0, #0xe90")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3728,64))), Def(Tid(2_893, "%00000b4d"), - Attrs([Attr("address","0xC3C"), Attr("insn","ldp x20, x19, [sp, #0x10]")]), - Var("#22",Imm(64)), PLUS(Var("R31",Imm(64)),Int(16,64))), -Def(Tid(2_898, "%00000b52"), Attrs([Attr("address","0xC3C"), -Attr("insn","ldp x20, x19, [sp, #0x10]")]), Var("R20",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#22",Imm(64)),LittleEndian(),64)), -Def(Tid(2_903, "%00000b57"), Attrs([Attr("address","0xC3C"), -Attr("insn","ldp x20, x19, [sp, #0x10]")]), Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#22",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_910, "%00000b5e"), Attrs([Attr("address","0xC40"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_915, "%00000b63"), Attrs([Attr("address","0xC40"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_919, "%00000b67"), Attrs([Attr("address","0xC40"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(2_923, "%00000b6b"), - Attrs([Attr("address","0xC44"), Attr("insn","b #-0x2c4")]), Int(1,1), -(Direct(Tid(4_382, "@printf")),))])), Blk(Tid(3_067, "%00000bfb"), - Attrs([Attr("address","0xB88")]), Phis([]), -Defs([Def(Tid(3_070, "%00000bfe"), Attrs([Attr("address","0xB88"), -Attr("insn","adrp x1, #0")]), Var("R1",Imm(64)), Int(0,64)), -Def(Tid(3_076, "%00000c04"), Attrs([Attr("address","0xB8C"), -Attr("insn","add x1, x1, #0xe56")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(3670,64))), Def(Tid(3_082, "%00000c0a"), - Attrs([Attr("address","0xB90"), Attr("insn","mov x0, x19")]), - Var("R0",Imm(64)), Var("R19",Imm(64))), Def(Tid(3_087, "%00000c0f"), - Attrs([Attr("address","0xB94"), Attr("insn","bl #-0x244")]), - Var("R30",Imm(64)), Int(2968,64))]), Jmps([Call(Tid(3_089, "%00000c11"), - Attrs([Attr("address","0xB94"), Attr("insn","bl #-0x244")]), Int(1,1), -(Direct(Tid(4_390, "@strcmp")),Direct(Tid(3_091, "%00000c13"))))])), -Blk(Tid(3_091, "%00000c13"), Attrs([Attr("address","0xB98")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_094, "%00000c16"), Attrs([Attr("address","0xB98"), -Attr("insn","cbz w0, #0xb0")]), - EQ(Extract(31,0,Var("R0",Imm(64))),Int(0,32)), -Direct(Tid(2_925, "%00000b6d"))), Goto(Tid(4_371, "%00001113"), Attrs([]), - Int(1,1), Direct(Tid(3_098, "%00000c1a")))])), Blk(Tid(2_925, "%00000b6d"), - Attrs([Attr("address","0xC48")]), Phis([]), -Defs([Def(Tid(2_928, "%00000b70"), Attrs([Attr("address","0xC48"), -Attr("insn","adrp x19, #73728")]), Var("R19",Imm(64)), Int(73728,64)), -Def(Tid(2_935, "%00000b77"), Attrs([Attr("address","0xC4C"), -Attr("insn","ldr x0, [x19, #0xa0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(160,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(2_940, "%00000b7c"), Attrs([Attr("address","0xC50"), -Attr("insn","cbz x0, #0x34")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(2_783, "%00000adf"))), Goto(Tid(4_372, "%00001114"), Attrs([]), - Int(1,1), Direct(Tid(2_944, "%00000b80")))])), Blk(Tid(2_783, "%00000adf"), - Attrs([Attr("address","0xC84")]), Phis([]), -Defs([Def(Tid(2_787, "%00000ae3"), Attrs([Attr("address","0xC84"), -Attr("insn","ldp x20, x19, [sp, #0x10]")]), Var("#21",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(2_792, "%00000ae8"), - Attrs([Attr("address","0xC84"), Attr("insn","ldp x20, x19, [sp, #0x10]")]), - Var("R20",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#21",Imm(64)),LittleEndian(),64)), -Def(Tid(2_797, "%00000aed"), Attrs([Attr("address","0xC84"), -Attr("insn","ldp x20, x19, [sp, #0x10]")]), Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#21",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_804, "%00000af4"), Attrs([Attr("address","0xC88"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_809, "%00000af9"), Attrs([Attr("address","0xC88"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_813, "%00000afd"), Attrs([Attr("address","0xC88"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(2_818, "%00000b02"), - Attrs([Attr("address","0xC8C"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))])), Blk(Tid(2_944, "%00000b80"), - Attrs([Attr("address","0xC54")]), Phis([]), -Defs([Def(Tid(2_947, "%00000b83"), Attrs([Attr("address","0xC54"), -Attr("insn","bl #-0x384")]), Var("R30",Imm(64)), Int(3160,64))]), -Jmps([Call(Tid(2_949, "%00000b85"), Attrs([Attr("address","0xC54"), -Attr("insn","bl #-0x384")]), Int(1,1), -(Direct(Tid(4_360, "@fclose")),Direct(Tid(2_951, "%00000b87"))))])), -Blk(Tid(2_951, "%00000b87"), Attrs([Attr("address","0xC58")]), Phis([]), -Defs([Def(Tid(2_954, "%00000b8a"), Attrs([Attr("address","0xC58"), -Attr("insn","adrp x20, #73728")]), Var("R20",Imm(64)), Int(73728,64)), -Def(Tid(2_961, "%00000b91"), Attrs([Attr("address","0xC5C"), -Attr("insn","ldr x0, [x20, #0x98]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R20",Imm(64)),Int(152,64)),LittleEndian(),64)), -Def(Tid(2_966, "%00000b96"), Attrs([Attr("address","0xC60"), -Attr("insn","bl #-0x300")]), Var("R30",Imm(64)), Int(3172,64))]), -Jmps([Call(Tid(2_968, "%00000b98"), Attrs([Attr("address","0xC60"), -Attr("insn","bl #-0x300")]), Int(1,1), -(Direct(Tid(4_364, "@free")),Direct(Tid(2_970, "%00000b9a"))))])), -Blk(Tid(2_970, "%00000b9a"), Attrs([Attr("address","0xC64")]), Phis([]), -Defs([Def(Tid(2_973, "%00000b9d"), Attrs([Attr("address","0xC64"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_979, "%00000ba3"), Attrs([Attr("address","0xC68"), -Attr("insn","add x0, x0, #0xffc")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(4092,64))), Def(Tid(2_986, "%00000baa"), - Attrs([Attr("address","0xC6C"), Attr("insn","str xzr, [x19, #0xa0]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(160,64)),Int(0,64),LittleEndian(),64)), -Def(Tid(2_993, "%00000bb1"), Attrs([Attr("address","0xC70"), -Attr("insn","str xzr, [x20, #0x98]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R20",Imm(64)),Int(152,64)),Int(0,64),LittleEndian(),64))]), -Jmps([Goto(Tid(2_997, "%00000bb5"), Attrs([Attr("address","0xC74"), -Attr("insn","b #-0x74")]), Int(1,1), Direct(Tid(1_897, "%00000769")))])), -Blk(Tid(3_098, "%00000c1a"), Attrs([Attr("address","0xB9C")]), Phis([]), -Defs([Def(Tid(3_101, "%00000c1d"), Attrs([Attr("address","0xB9C"), -Attr("insn","adrp x1, #0")]), Var("R1",Imm(64)), Int(0,64)), -Def(Tid(3_107, "%00000c23"), Attrs([Attr("address","0xBA0"), -Attr("insn","add x1, x1, #0xe5c")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(3676,64))), Def(Tid(3_113, "%00000c29"), - Attrs([Attr("address","0xBA4"), Attr("insn","mov x0, x19")]), - Var("R0",Imm(64)), Var("R19",Imm(64))), Def(Tid(3_118, "%00000c2e"), - Attrs([Attr("address","0xBA8"), Attr("insn","bl #-0x258")]), - Var("R30",Imm(64)), Int(2988,64))]), Jmps([Call(Tid(3_120, "%00000c30"), - Attrs([Attr("address","0xBA8"), Attr("insn","bl #-0x258")]), Int(1,1), -(Direct(Tid(4_390, "@strcmp")),Direct(Tid(3_122, "%00000c32"))))])), -Blk(Tid(3_122, "%00000c32"), Attrs([Attr("address","0xBAC")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_125, "%00000c35"), Attrs([Attr("address","0xBAC"), -Attr("insn","cbz w0, #0xe4")]), - EQ(Extract(31,0,Var("R0",Imm(64))),Int(0,32)), -Direct(Tid(2_820, "%00000b04"))), Goto(Tid(4_373, "%00001115"), Attrs([]), - Int(1,1), Direct(Tid(3_129, "%00000c39")))])), Blk(Tid(2_820, "%00000b04"), - Attrs([Attr("address","0xC90")]), Phis([]), -Defs([Def(Tid(2_823, "%00000b07"), Attrs([Attr("address","0xC90"), -Attr("insn","adrp x8, #73728")]), Var("R8",Imm(64)), Int(73728,64)), -Def(Tid(2_830, "%00000b0e"), Attrs([Attr("address","0xC94"), -Attr("insn","ldr x8, [x8, #0xa0]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(160,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(2_836, "%00000b14"), Attrs([Attr("address","0xC98"), -Attr("insn","cbz x8, #0x8")]), EQ(Var("R8",Imm(64)),Int(0,64)), -Direct(Tid(2_834, "%00000b12"))), Goto(Tid(4_374, "%00001116"), Attrs([]), - Int(1,1), Direct(Tid(2_852, "%00000b24")))])), Blk(Tid(2_852, "%00000b24"), - Attrs([Attr("address","0xC9C")]), Phis([]), -Defs([Def(Tid(2_855, "%00000b27"), Attrs([Attr("address","0xC9C"), -Attr("insn","bl #0x130")]), Var("R30",Imm(64)), Int(3232,64))]), -Jmps([Call(Tid(2_857, "%00000b29"), Attrs([Attr("address","0xC9C"), -Attr("insn","bl #0x130")]), Int(1,1), -(Direct(Tid(4_354, "@closeFile")),Direct(Tid(2_834, "%00000b12"))))])), -Blk(Tid(2_834, "%00000b12"), Attrs([Attr("address","0xCA0")]), Phis([]), -Defs([Def(Tid(2_842, "%00000b1a"), Attrs([Attr("address","0xCA0"), -Attr("insn","mov w0, wzr")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_847, "%00000b1f"), Attrs([Attr("address","0xCA4"), -Attr("insn","bl #-0x404")]), Var("R30",Imm(64)), Int(3240,64))]), -Jmps([Call(Tid(2_850, "%00000b22"), Attrs([Attr("address","0xCA4"), -Attr("insn","bl #-0x404")]), Int(1,1), -(Direct(Tid(4_359, "@exit")),Direct(Tid(4_375, "%00001117"))))])), -Blk(Tid(4_375, "%00001117"), Attrs([]), Phis([]), Defs([]), -Jmps([Call(Tid(4_376, "%00001118"), Attrs([]), Int(1,1), -(Direct(Tid(4_379, "@openFile")),))])), Blk(Tid(3_129, "%00000c39"), - Attrs([Attr("address","0xBB0")]), Phis([]), -Defs([Def(Tid(3_132, "%00000c3c"), Attrs([Attr("address","0xBB0"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(3_138, "%00000c42"), Attrs([Attr("address","0xBB4"), -Attr("insn","add x0, x0, #0xeac")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3756,64)))]), Jmps([Goto(Tid(3_142, "%00000c46"), - Attrs([Attr("address","0xBB8"), Attr("insn","b #0x48")]), Int(1,1), -Direct(Tid(1_897, "%00000769")))])), Blk(Tid(1_897, "%00000769"), - Attrs([Attr("address","0xC00")]), Phis([]), -Defs([Def(Tid(1_901, "%0000076d"), Attrs([Attr("address","0xC00"), -Attr("insn","ldp x20, x19, [sp, #0x10]")]), Var("#9",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(1_906, "%00000772"), - Attrs([Attr("address","0xC00"), Attr("insn","ldp x20, x19, [sp, #0x10]")]), - Var("R20",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#9",Imm(64)),LittleEndian(),64)), -Def(Tid(1_911, "%00000777"), Attrs([Attr("address","0xC00"), -Attr("insn","ldp x20, x19, [sp, #0x10]")]), Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#9",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_918, "%0000077e"), Attrs([Attr("address","0xC04"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_923, "%00000783"), Attrs([Attr("address","0xC04"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_927, "%00000787"), Attrs([Attr("address","0xC04"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(1_931, "%0000078b"), - Attrs([Attr("address","0xC08"), Attr("insn","b #-0x2c8")]), Int(1,1), -(Direct(Tid(4_383, "@puts")),))]))])), Sub(Tid(4_377, "@main"), - Attrs([Attr("c.proto","signed (*)(signed argc, const char** argv)"), -Attr("address","0xAD4")]), "main", Args([Arg(Tid(4_421, "%00001145"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("main_argc",Imm(32)), -LOW(32,Var("R0",Imm(64))), In()), Arg(Tid(4_422, "%00001146"), - Attrs([Attr("c.layout","**[char : 8]"), Attr("c.data","Top:u8 ptr ptr"), -Attr("c.type"," const char**")]), Var("main_argv",Imm(64)), -Var("R1",Imm(64)), Both()), Arg(Tid(4_423, "%00001147"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("main_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_522, "@main"), - Attrs([Attr("address","0xAD4")]), Phis([]), -Defs([Def(Tid(1_526, "%000005f6"), Attrs([Attr("address","0xAD4"), -Attr("insn","sub sp, sp, #0x140")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551296,64))), -Def(Tid(1_532, "%000005fc"), Attrs([Attr("address","0xAD8"), -Attr("insn","stp x29, x30, [sp, #0x100]")]), Var("#4",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(256,64))), Def(Tid(1_538, "%00000602"), - Attrs([Attr("address","0xAD8"), Attr("insn","stp x29, x30, [sp, #0x100]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#4",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_544, "%00000608"), Attrs([Attr("address","0xAD8"), -Attr("insn","stp x29, x30, [sp, #0x100]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#4",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_552, "%00000610"), Attrs([Attr("address","0xADC"), -Attr("insn","str x28, [sp, #0x110]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(272,64)),Var("R28",Imm(64)),LittleEndian(),64)), -Def(Tid(1_558, "%00000616"), Attrs([Attr("address","0xAE0"), -Attr("insn","stp x22, x21, [sp, #0x120]")]), Var("#5",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(288,64))), Def(Tid(1_564, "%0000061c"), - Attrs([Attr("address","0xAE0"), Attr("insn","stp x22, x21, [sp, #0x120]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#5",Imm(64)),Var("R22",Imm(64)),LittleEndian(),64)), -Def(Tid(1_570, "%00000622"), Attrs([Attr("address","0xAE0"), -Attr("insn","stp x22, x21, [sp, #0x120]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#5",Imm(64)),Int(8,64)),Var("R21",Imm(64)),LittleEndian(),64)), -Def(Tid(1_576, "%00000628"), Attrs([Attr("address","0xAE4"), -Attr("insn","stp x20, x19, [sp, #0x130]")]), Var("#6",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(304,64))), Def(Tid(1_582, "%0000062e"), - Attrs([Attr("address","0xAE4"), Attr("insn","stp x20, x19, [sp, #0x130]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#6",Imm(64)),Var("R20",Imm(64)),LittleEndian(),64)), -Def(Tid(1_588, "%00000634"), Attrs([Attr("address","0xAE4"), -Attr("insn","stp x20, x19, [sp, #0x130]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#6",Imm(64)),Int(8,64)),Var("R19",Imm(64)),LittleEndian(),64)), -Def(Tid(1_594, "%0000063a"), Attrs([Attr("address","0xAE8"), -Attr("insn","add x29, sp, #0x100")]), Var("R29",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(256,64))), Def(Tid(1_599, "%0000063f"), - Attrs([Attr("address","0xAEC"), Attr("insn","adrp x21, #69632")]), - Var("R21",Imm(64)), Int(69632,64)), Def(Tid(1_605, "%00000645"), - Attrs([Attr("address","0xAF0"), Attr("insn","mov x22, sp")]), - Var("R22",Imm(64)), Var("R31",Imm(64))), Def(Tid(1_610, "%0000064a"), - Attrs([Attr("address","0xAF4"), Attr("insn","adrp x19, #0")]), - Var("R19",Imm(64)), Int(0,64)), Def(Tid(1_616, "%00000650"), - Attrs([Attr("address","0xAF8"), Attr("insn","add x19, x19, #0xe34")]), - Var("R19",Imm(64)), PLUS(Var("R19",Imm(64)),Int(3636,64))), -Def(Tid(1_621, "%00000655"), Attrs([Attr("address","0xAFC"), -Attr("insn","adrp x20, #0")]), Var("R20",Imm(64)), Int(0,64)), -Def(Tid(1_627, "%0000065b"), Attrs([Attr("address","0xB00"), -Attr("insn","add x20, x20, #0xe8e")]), Var("R20",Imm(64)), -PLUS(Var("R20",Imm(64)),Int(3726,64))), Def(Tid(1_634, "%00000662"), - Attrs([Attr("address","0xB04"), Attr("insn","ldr x21, [x21, #0xfc8]")]), - Var("R21",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R21",Imm(64)),Int(4040,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(4_378, "%0000111a"), Attrs([]), Int(1,1), -Direct(Tid(1_636, "%00000664")))])), Blk(Tid(1_636, "%00000664"), - Attrs([Attr("address","0xB08")]), Phis([]), -Defs([Def(Tid(1_640, "%00000668"), Attrs([Attr("address","0xB08"), -Attr("insn","mov x0, x19")]), Var("R0",Imm(64)), Var("R19",Imm(64))), -Def(Tid(1_645, "%0000066d"), Attrs([Attr("address","0xB0C"), -Attr("insn","bl #-0x18c")]), Var("R30",Imm(64)), Int(2832,64))]), -Jmps([Call(Tid(1_648, "%00000670"), Attrs([Attr("address","0xB0C"), -Attr("insn","bl #-0x18c")]), Int(1,1), -(Direct(Tid(4_382, "@printf")),Direct(Tid(1_650, "%00000672"))))])), -Blk(Tid(1_650, "%00000672"), Attrs([Attr("address","0xB10")]), Phis([]), -Defs([Def(Tid(1_655, "%00000677"), Attrs([Attr("address","0xB10"), -Attr("insn","ldr x2, [x21]")]), Var("R2",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R21",Imm(64)),LittleEndian(),64)), -Def(Tid(1_661, "%0000067d"), Attrs([Attr("address","0xB14"), -Attr("insn","mov x0, sp")]), Var("R0",Imm(64)), Var("R31",Imm(64))), -Def(Tid(1_666, "%00000682"), Attrs([Attr("address","0xB18"), -Attr("insn","mov w1, #0x100")]), Var("R1",Imm(64)), Int(256,64)), -Def(Tid(1_671, "%00000687"), Attrs([Attr("address","0xB1C"), -Attr("insn","bl #-0x18c")]), Var("R30",Imm(64)), Int(2848,64))]), -Jmps([Call(Tid(1_674, "%0000068a"), Attrs([Attr("address","0xB1C"), -Attr("insn","bl #-0x18c")]), Int(1,1), -(Direct(Tid(4_361, "@fgets")),Direct(Tid(1_676, "%0000068c"))))])), -Blk(Tid(1_676, "%0000068c"), Attrs([Attr("address","0xB20")]), Phis([]), -Defs([Def(Tid(1_680, "%00000690"), Attrs([Attr("address","0xB20"), -Attr("insn","mov x0, sp")]), Var("R0",Imm(64)), Var("R31",Imm(64))), -Def(Tid(1_686, "%00000696"), Attrs([Attr("address","0xB24"), -Attr("insn","mov x1, x20")]), Var("R1",Imm(64)), Var("R20",Imm(64))), -Def(Tid(1_691, "%0000069b"), Attrs([Attr("address","0xB28"), -Attr("insn","bl #-0x1b8")]), Var("R30",Imm(64)), Int(2860,64))]), -Jmps([Call(Tid(1_694, "%0000069e"), Attrs([Attr("address","0xB28"), -Attr("insn","bl #-0x1b8")]), Int(1,1), -(Direct(Tid(4_391, "@strcspn")),Direct(Tid(1_696, "%000006a0"))))])), -Blk(Tid(1_696, "%000006a0"), Attrs([Attr("address","0xB2C")]), Phis([]), -Defs([Def(Tid(1_702, "%000006a6"), Attrs([Attr("address","0xB2C"), -Attr("insn","strb wzr, [x22, x0]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R22",Imm(64)),Var("R0",Imm(64))),Int(0,8),LittleEndian(),8)), -Def(Tid(1_708, "%000006ac"), Attrs([Attr("address","0xB30"), -Attr("insn","mov x0, sp")]), Var("R0",Imm(64)), Var("R31",Imm(64))), -Def(Tid(1_713, "%000006b1"), Attrs([Attr("address","0xB34"), -Attr("insn","bl #0x8")]), Var("R30",Imm(64)), Int(2872,64))]), -Jmps([Call(Tid(1_716, "%000006b4"), Attrs([Attr("address","0xB34"), -Attr("insn","bl #0x8")]), Int(1,1), -(Direct(Tid(4_365, "@handleInput")),Direct(Tid(3_144, "%00000c48"))))])), -Blk(Tid(3_144, "%00000c48"), Attrs([Attr("address","0xB38")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_146, "%00000c4a"), Attrs([Attr("address","0xB38"), -Attr("insn","b #-0x30")]), Int(1,1), Direct(Tid(1_636, "%00000664")))]))])), -Sub(Tid(4_379, "@openFile"), Attrs([Attr("c.proto","signed (*)(void)"), -Attr("address","0xCA8")]), "openFile", Args([Arg(Tid(4_424, "%00001148"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("openFile_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_972, "@openFile"), - Attrs([Attr("address","0xCA8")]), Phis([]), -Defs([Def(Tid(1_979, "%000007bb"), Attrs([Attr("address","0xCA8"), -Attr("insn","stp x29, x30, [sp, #-0x30]!")]), Var("#11",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551568,64))), -Def(Tid(1_985, "%000007c1"), Attrs([Attr("address","0xCA8"), -Attr("insn","stp x29, x30, [sp, #-0x30]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#11",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_991, "%000007c7"), Attrs([Attr("address","0xCA8"), -Attr("insn","stp x29, x30, [sp, #-0x30]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#11",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_995, "%000007cb"), Attrs([Attr("address","0xCA8"), -Attr("insn","stp x29, x30, [sp, #-0x30]!")]), Var("R31",Imm(64)), -Var("#11",Imm(64))), Def(Tid(2_003, "%000007d3"), - Attrs([Attr("address","0xCAC"), Attr("insn","str x21, [sp, #0x10]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),Var("R21",Imm(64)),LittleEndian(),64)), -Def(Tid(2_009, "%000007d9"), Attrs([Attr("address","0xCB0"), -Attr("insn","stp x20, x19, [sp, #0x20]")]), Var("#12",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64))), Def(Tid(2_015, "%000007df"), - Attrs([Attr("address","0xCB0"), Attr("insn","stp x20, x19, [sp, #0x20]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#12",Imm(64)),Var("R20",Imm(64)),LittleEndian(),64)), -Def(Tid(2_021, "%000007e5"), Attrs([Attr("address","0xCB0"), -Attr("insn","stp x20, x19, [sp, #0x20]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#12",Imm(64)),Int(8,64)),Var("R19",Imm(64)),LittleEndian(),64)), -Def(Tid(2_027, "%000007eb"), Attrs([Attr("address","0xCB4"), -Attr("insn","mov x29, sp")]), Var("R29",Imm(64)), Var("R31",Imm(64))), -Def(Tid(2_032, "%000007f0"), Attrs([Attr("address","0xCB8"), -Attr("insn","adrp x20, #73728")]), Var("R20",Imm(64)), Int(73728,64)), -Def(Tid(2_038, "%000007f6"), Attrs([Attr("address","0xCBC"), -Attr("insn","mov x19, x0")]), Var("R19",Imm(64)), Var("R0",Imm(64))), -Def(Tid(2_043, "%000007fb"), Attrs([Attr("address","0xCC0"), -Attr("insn","adrp x21, #73728")]), Var("R21",Imm(64)), Int(73728,64)), -Def(Tid(2_050, "%00000802"), Attrs([Attr("address","0xCC4"), -Attr("insn","ldr x0, [x20, #0xa0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R20",Imm(64)),Int(160,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(2_056, "%00000808"), Attrs([Attr("address","0xCC8"), -Attr("insn","cbz x0, #0x24")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(2_054, "%00000806"))), Goto(Tid(4_380, "%0000111c"), Attrs([]), - Int(1,1), Direct(Tid(2_696, "%00000a88")))])), Blk(Tid(2_696, "%00000a88"), - Attrs([Attr("address","0xCCC")]), Phis([]), -Defs([Def(Tid(2_699, "%00000a8b"), Attrs([Attr("address","0xCCC"), -Attr("insn","bl #-0x3fc")]), Var("R30",Imm(64)), Int(3280,64))]), -Jmps([Call(Tid(2_701, "%00000a8d"), Attrs([Attr("address","0xCCC"), -Attr("insn","bl #-0x3fc")]), Int(1,1), -(Direct(Tid(4_360, "@fclose")),Direct(Tid(2_703, "%00000a8f"))))])), -Blk(Tid(2_703, "%00000a8f"), Attrs([Attr("address","0xCD0")]), Phis([]), -Defs([Def(Tid(2_708, "%00000a94"), Attrs([Attr("address","0xCD0"), -Attr("insn","ldr x0, [x21, #0x98]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R21",Imm(64)),Int(152,64)),LittleEndian(),64)), -Def(Tid(2_713, "%00000a99"), Attrs([Attr("address","0xCD4"), -Attr("insn","bl #-0x374")]), Var("R30",Imm(64)), Int(3288,64))]), -Jmps([Call(Tid(2_715, "%00000a9b"), Attrs([Attr("address","0xCD4"), -Attr("insn","bl #-0x374")]), Int(1,1), -(Direct(Tid(4_364, "@free")),Direct(Tid(2_717, "%00000a9d"))))])), -Blk(Tid(2_717, "%00000a9d"), Attrs([Attr("address","0xCD8")]), Phis([]), -Defs([Def(Tid(2_720, "%00000aa0"), Attrs([Attr("address","0xCD8"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_726, "%00000aa6"), Attrs([Attr("address","0xCDC"), -Attr("insn","add x0, x0, #0xffc")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(4092,64))), Def(Tid(2_733, "%00000aad"), - Attrs([Attr("address","0xCE0"), Attr("insn","str xzr, [x20, #0xa0]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R20",Imm(64)),Int(160,64)),Int(0,64),LittleEndian(),64)), -Def(Tid(2_740, "%00000ab4"), Attrs([Attr("address","0xCE4"), -Attr("insn","str xzr, [x21, #0x98]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R21",Imm(64)),Int(152,64)),Int(0,64),LittleEndian(),64)), -Def(Tid(2_745, "%00000ab9"), Attrs([Attr("address","0xCE8"), -Attr("insn","bl #-0x3a8")]), Var("R30",Imm(64)), Int(3308,64))]), -Jmps([Call(Tid(2_747, "%00000abb"), Attrs([Attr("address","0xCE8"), -Attr("insn","bl #-0x3a8")]), Int(1,1), -(Direct(Tid(4_383, "@puts")),Direct(Tid(2_054, "%00000806"))))])), -Blk(Tid(2_054, "%00000806"), Attrs([Attr("address","0xCEC")]), Phis([]), -Defs([Def(Tid(2_063, "%0000080f"), Attrs([Attr("address","0xCEC"), -Attr("insn","mov x0, x19")]), Var("R0",Imm(64)), Var("R19",Imm(64))), -Def(Tid(2_068, "%00000814"), Attrs([Attr("address","0xCF0"), -Attr("insn","bl #-0x3e0")]), Var("R30",Imm(64)), Int(3316,64))]), -Jmps([Call(Tid(2_071, "%00000817"), Attrs([Attr("address","0xCF0"), -Attr("insn","bl #-0x3e0")]), Int(1,1), -(Direct(Tid(4_392, "@strdup")),Direct(Tid(2_073, "%00000819"))))])), -Blk(Tid(2_073, "%00000819"), Attrs([Attr("address","0xCF4")]), Phis([]), -Defs([Def(Tid(2_076, "%0000081c"), Attrs([Attr("address","0xCF4"), -Attr("insn","adrp x1, #0")]), Var("R1",Imm(64)), Int(0,64)), -Def(Tid(2_082, "%00000822"), Attrs([Attr("address","0xCF8"), -Attr("insn","add x1, x1, #0xe61")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(3681,64))), Def(Tid(2_090, "%0000082a"), - Attrs([Attr("address","0xCFC"), Attr("insn","str x0, [x21, #0x98]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R21",Imm(64)),Int(152,64)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_095, "%0000082f"), Attrs([Attr("address","0xD00"), -Attr("insn","bl #-0x420")]), Var("R30",Imm(64)), Int(3332,64))]), -Jmps([Call(Tid(2_098, "%00000832"), Attrs([Attr("address","0xD00"), -Attr("insn","bl #-0x420")]), Int(1,1), -(Direct(Tid(4_362, "@fopen")),Direct(Tid(2_100, "%00000834"))))])), -Blk(Tid(2_100, "%00000834"), Attrs([Attr("address","0xD04")]), Phis([]), -Defs([Def(Tid(2_104, "%00000838"), Attrs([Attr("address","0xD04"), -Attr("insn","mov x8, x0")]), Var("R8",Imm(64)), Var("R0",Imm(64))), -Def(Tid(2_111, "%0000083f"), Attrs([Attr("address","0xD08"), -Attr("insn","ldr x1, [x21, #0x98]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R21",Imm(64)),Int(152,64)),LittleEndian(),64)), -Def(Tid(2_116, "%00000844"), Attrs([Attr("address","0xD0C"), -Attr("insn","adrp x9, #0")]), Var("R9",Imm(64)), Int(0,64)), -Def(Tid(2_122, "%0000084a"), Attrs([Attr("address","0xD10"), -Attr("insn","add x9, x9, #0xe7e")]), Var("R9",Imm(64)), -PLUS(Var("R9",Imm(64)),Int(3710,64))), Def(Tid(2_127, "%0000084f"), - Attrs([Attr("address","0xD14"), Attr("insn","adrp x10, #0")]), - Var("R10",Imm(64)), Int(0,64)), Def(Tid(2_133, "%00000855"), - Attrs([Attr("address","0xD18"), Attr("insn","add x10, x10, #0xe64")]), - Var("R10",Imm(64)), PLUS(Var("R10",Imm(64)),Int(3684,64))), -Def(Tid(2_139, "%0000085b"), Attrs([Attr("address","0xD1C"), -Attr("insn","cmp x0, #0x0")]), Var("#13",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(18446744073709551615,64))), -Def(Tid(2_144, "%00000860"), Attrs([Attr("address","0xD1C"), -Attr("insn","cmp x0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#13",Imm(64)),Int(1,64))),PLUS(SIGNED(65,Var("R0",Imm(64))),Int(0,65)))), -Def(Tid(2_149, "%00000865"), Attrs([Attr("address","0xD1C"), -Attr("insn","cmp x0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#13",Imm(64)),Int(1,64))),PLUS(UNSIGNED(65,Var("R0",Imm(64))),Int(18446744073709551616,65)))), -Def(Tid(2_153, "%00000869"), Attrs([Attr("address","0xD1C"), -Attr("insn","cmp x0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#13",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(2_157, "%0000086d"), Attrs([Attr("address","0xD1C"), -Attr("insn","cmp x0, #0x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#13",Imm(64)),Int(1,64))))]), -Jmps([Goto(Tid(2_171, "%0000087b"), Attrs([Attr("address","0xD20"), -Attr("insn","csel x0, x10, x9, eq")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(2_163, "%00000873"))), Goto(Tid(2_172, "%0000087c"), - Attrs([Attr("address","0xD20"), Attr("insn","csel x0, x10, x9, eq")]), - Int(1,1), Direct(Tid(2_167, "%00000877")))])), Blk(Tid(2_167, "%00000877"), - Attrs([]), Phis([]), Defs([Def(Tid(2_168, "%00000878"), - Attrs([Attr("address","0xD20"), Attr("insn","csel x0, x10, x9, eq")]), - Var("R0",Imm(64)), Var("R9",Imm(64)))]), Jmps([Goto(Tid(2_174, "%0000087e"), - Attrs([Attr("address","0xD20"), Attr("insn","csel x0, x10, x9, eq")]), - Int(1,1), Direct(Tid(2_170, "%0000087a")))])), Blk(Tid(2_163, "%00000873"), - Attrs([]), Phis([]), Defs([Def(Tid(2_164, "%00000874"), - Attrs([Attr("address","0xD20"), Attr("insn","csel x0, x10, x9, eq")]), - Var("R0",Imm(64)), Var("R10",Imm(64)))]), -Jmps([Goto(Tid(2_173, "%0000087d"), Attrs([Attr("address","0xD20"), -Attr("insn","csel x0, x10, x9, eq")]), Int(1,1), -Direct(Tid(2_170, "%0000087a")))])), Blk(Tid(2_170, "%0000087a"), Attrs([]), - Phis([]), Defs([Def(Tid(2_182, "%00000886"), Attrs([Attr("address","0xD24"), -Attr("insn","str x8, [x20, #0xa0]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R20",Imm(64)),Int(160,64)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(2_188, "%0000088c"), Attrs([Attr("address","0xD28"), -Attr("insn","ldp x20, x19, [sp, #0x20]")]), Var("#14",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64))), Def(Tid(2_193, "%00000891"), - Attrs([Attr("address","0xD28"), Attr("insn","ldp x20, x19, [sp, #0x20]")]), - Var("R20",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#14",Imm(64)),LittleEndian(),64)), -Def(Tid(2_198, "%00000896"), Attrs([Attr("address","0xD28"), -Attr("insn","ldp x20, x19, [sp, #0x20]")]), Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#14",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_205, "%0000089d"), Attrs([Attr("address","0xD2C"), -Attr("insn","ldr x21, [sp, #0x10]")]), Var("R21",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),LittleEndian(),64)), -Def(Tid(2_212, "%000008a4"), Attrs([Attr("address","0xD30"), -Attr("insn","ldp x29, x30, [sp], #0x30")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_217, "%000008a9"), Attrs([Attr("address","0xD30"), -Attr("insn","ldp x29, x30, [sp], #0x30")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_221, "%000008ad"), Attrs([Attr("address","0xD30"), -Attr("insn","ldp x29, x30, [sp], #0x30")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(48,64)))]), Jmps([Call(Tid(2_225, "%000008b1"), - Attrs([Attr("address","0xD34"), Attr("insn","b #-0x3b4")]), Int(1,1), -(Direct(Tid(4_382, "@printf")),))]))])), Sub(Tid(4_381, "@printHelp"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xD38")]), - "printHelp", Args([Arg(Tid(4_425, "%00001149"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("printHelp_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_227, "@printHelp"), - Attrs([Attr("address","0xD38")]), Phis([]), -Defs([Def(Tid(2_231, "%000008b7"), Attrs([Attr("address","0xD38"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#15",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(2_237, "%000008bd"), Attrs([Attr("address","0xD38"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#15",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(2_243, "%000008c3"), Attrs([Attr("address","0xD38"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#15",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(2_247, "%000008c7"), Attrs([Attr("address","0xD38"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#15",Imm(64))), Def(Tid(2_253, "%000008cd"), - Attrs([Attr("address","0xD3C"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(2_258, "%000008d2"), - Attrs([Attr("address","0xD40"), Attr("insn","adrp x0, #0")]), - Var("R0",Imm(64)), Int(0,64)), Def(Tid(2_264, "%000008d8"), - Attrs([Attr("address","0xD44"), Attr("insn","add x0, x0, #0xee1")]), - Var("R0",Imm(64)), PLUS(Var("R0",Imm(64)),Int(3809,64))), -Def(Tid(2_269, "%000008dd"), Attrs([Attr("address","0xD48"), -Attr("insn","bl #-0x408")]), Var("R30",Imm(64)), Int(3404,64))]), -Jmps([Call(Tid(2_271, "%000008df"), Attrs([Attr("address","0xD48"), -Attr("insn","bl #-0x408")]), Int(1,1), -(Direct(Tid(4_383, "@puts")),Direct(Tid(2_273, "%000008e1"))))])), -Blk(Tid(2_273, "%000008e1"), Attrs([Attr("address","0xD4C")]), Phis([]), -Defs([Def(Tid(2_276, "%000008e4"), Attrs([Attr("address","0xD4C"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_282, "%000008ea"), Attrs([Attr("address","0xD50"), -Attr("insn","add x0, x0, #0xeeb")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3819,64))), Def(Tid(2_287, "%000008ef"), - Attrs([Attr("address","0xD54"), Attr("insn","bl #-0x414")]), - Var("R30",Imm(64)), Int(3416,64))]), Jmps([Call(Tid(2_289, "%000008f1"), - Attrs([Attr("address","0xD54"), Attr("insn","bl #-0x414")]), Int(1,1), -(Direct(Tid(4_383, "@puts")),Direct(Tid(2_291, "%000008f3"))))])), -Blk(Tid(2_291, "%000008f3"), Attrs([Attr("address","0xD58")]), Phis([]), -Defs([Def(Tid(2_294, "%000008f6"), Attrs([Attr("address","0xD58"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_300, "%000008fc"), Attrs([Attr("address","0xD5C"), -Attr("insn","add x0, x0, #0xf1e")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3870,64))), Def(Tid(2_305, "%00000901"), - Attrs([Attr("address","0xD60"), Attr("insn","bl #-0x420")]), - Var("R30",Imm(64)), Int(3428,64))]), Jmps([Call(Tid(2_307, "%00000903"), - Attrs([Attr("address","0xD60"), Attr("insn","bl #-0x420")]), Int(1,1), -(Direct(Tid(4_383, "@puts")),Direct(Tid(2_309, "%00000905"))))])), -Blk(Tid(2_309, "%00000905"), Attrs([Attr("address","0xD64")]), Phis([]), -Defs([Def(Tid(2_312, "%00000908"), Attrs([Attr("address","0xD64"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_318, "%0000090e"), Attrs([Attr("address","0xD68"), -Attr("insn","add x0, x0, #0xf4f")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3919,64))), Def(Tid(2_323, "%00000913"), - Attrs([Attr("address","0xD6C"), Attr("insn","bl #-0x42c")]), - Var("R30",Imm(64)), Int(3440,64))]), Jmps([Call(Tid(2_325, "%00000915"), - Attrs([Attr("address","0xD6C"), Attr("insn","bl #-0x42c")]), Int(1,1), -(Direct(Tid(4_383, "@puts")),Direct(Tid(2_327, "%00000917"))))])), -Blk(Tid(2_327, "%00000917"), Attrs([Attr("address","0xD70")]), Phis([]), -Defs([Def(Tid(2_330, "%0000091a"), Attrs([Attr("address","0xD70"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_336, "%00000920"), Attrs([Attr("address","0xD74"), -Attr("insn","add x0, x0, #0xf89")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3977,64))), Def(Tid(2_341, "%00000925"), - Attrs([Attr("address","0xD78"), Attr("insn","bl #-0x438")]), - Var("R30",Imm(64)), Int(3452,64))]), Jmps([Call(Tid(2_343, "%00000927"), - Attrs([Attr("address","0xD78"), Attr("insn","bl #-0x438")]), Int(1,1), -(Direct(Tid(4_383, "@puts")),Direct(Tid(2_345, "%00000929"))))])), -Blk(Tid(2_345, "%00000929"), Attrs([Attr("address","0xD7C")]), Phis([]), -Defs([Def(Tid(2_348, "%0000092c"), Attrs([Attr("address","0xD7C"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_354, "%00000932"), Attrs([Attr("address","0xD80"), -Attr("insn","add x0, x0, #0xfb9")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(4025,64))), Def(Tid(2_361, "%00000939"), - Attrs([Attr("address","0xD84"), Attr("insn","ldp x29, x30, [sp], #0x10")]), - Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_366, "%0000093e"), Attrs([Attr("address","0xD84"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_370, "%00000942"), Attrs([Attr("address","0xD84"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(2_374, "%00000946"), - Attrs([Attr("address","0xD88"), Attr("insn","b #-0x448")]), Int(1,1), -(Direct(Tid(4_383, "@puts")),))]))])), Sub(Tid(4_382, "@printf"), - Attrs([Attr("c.proto","signed (*)( const char restrict * format, ...)"), -Attr("address","0x980"), Attr("stub","()")]), "printf", - Args([Arg(Tid(4_426, "%0000114a"), Attrs([Attr("format","\"printf\""), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char restrict *")]), Var("printf_format",Imm(64)), -Var("R0",Imm(64)), In()), Arg(Tid(4_427, "%0000114b"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("printf_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_646, "@printf"), - Attrs([Attr("address","0x980")]), Phis([]), -Defs([Def(Tid(3_929, "%00000f59"), Attrs([Attr("address","0x980"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_936, "%00000f60"), Attrs([Attr("address","0x984"), -Attr("insn","ldr x17, [x16, #0x70]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(112,64)),LittleEndian(),64)), -Def(Tid(3_942, "%00000f66"), Attrs([Attr("address","0x988"), -Attr("insn","add x16, x16, #0x70")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(112,64)))]), Jmps([Call(Tid(3_947, "%00000f6b"), - Attrs([Attr("address","0x98C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_383, "@puts"), - Attrs([Attr("c.proto","signed (*)( const char* s)"), -Attr("address","0x940"), Attr("stub","()")]), "puts", - Args([Arg(Tid(4_428, "%0000114c"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char*")]), - Var("puts_s",Imm(64)), Var("R0",Imm(64)), In()), -Arg(Tid(4_429, "%0000114d"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("puts_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_810, "@puts"), Attrs([Attr("address","0x940")]), Phis([]), -Defs([Def(Tid(3_841, "%00000f01"), Attrs([Attr("address","0x940"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_848, "%00000f08"), Attrs([Attr("address","0x944"), -Attr("insn","ldr x17, [x16, #0x50]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(80,64)),LittleEndian(),64)), -Def(Tid(3_854, "%00000f0e"), Attrs([Attr("address","0x948"), -Attr("insn","add x16, x16, #0x50")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(80,64)))]), Jmps([Call(Tid(3_859, "%00000f13"), - Attrs([Attr("address","0x94C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), -Sub(Tid(4_384, "@register_tm_clones"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xA40")]), - "register_tm_clones", Args([Arg(Tid(4_430, "%0000114e"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("register_tm_clones_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_368, "@register_tm_clones"), - Attrs([Attr("address","0xA40")]), Phis([]), -Defs([Def(Tid(1_371, "%0000055b"), Attrs([Attr("address","0xA40"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(1_377, "%00000561"), Attrs([Attr("address","0xA44"), -Attr("insn","add x0, x0, #0x90")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(144,64))), Def(Tid(1_382, "%00000566"), - Attrs([Attr("address","0xA48"), Attr("insn","adrp x1, #73728")]), - Var("R1",Imm(64)), Int(73728,64)), Def(Tid(1_388, "%0000056c"), - Attrs([Attr("address","0xA4C"), Attr("insn","add x1, x1, #0x90")]), - Var("R1",Imm(64)), PLUS(Var("R1",Imm(64)),Int(144,64))), -Def(Tid(1_395, "%00000573"), Attrs([Attr("address","0xA50"), -Attr("insn","sub x1, x1, x0")]), Var("R1",Imm(64)), -PLUS(PLUS(Var("R1",Imm(64)),NOT(Var("R0",Imm(64)))),Int(1,64))), -Def(Tid(1_401, "%00000579"), Attrs([Attr("address","0xA54"), -Attr("insn","lsr x2, x1, #63")]), Var("R2",Imm(64)), -Concat(Int(0,63),Extract(63,63,Var("R1",Imm(64))))), -Def(Tid(1_408, "%00000580"), Attrs([Attr("address","0xA58"), -Attr("insn","add x1, x2, x1, asr #3")]), Var("R1",Imm(64)), -PLUS(Var("R2",Imm(64)),ARSHIFT(Var("R1",Imm(64)),Int(3,3)))), -Def(Tid(1_414, "%00000586"), Attrs([Attr("address","0xA5C"), -Attr("insn","asr x1, x1, #1")]), Var("R1",Imm(64)), -SIGNED(64,Extract(63,1,Var("R1",Imm(64)))))]), -Jmps([Goto(Tid(1_420, "%0000058c"), Attrs([Attr("address","0xA60"), -Attr("insn","cbz x1, #0x18")]), EQ(Var("R1",Imm(64)),Int(0,64)), -Direct(Tid(1_418, "%0000058a"))), Goto(Tid(4_385, "%00001121"), Attrs([]), - Int(1,1), Direct(Tid(3_207, "%00000c87")))])), Blk(Tid(3_207, "%00000c87"), - Attrs([Attr("address","0xA64")]), Phis([]), -Defs([Def(Tid(3_210, "%00000c8a"), Attrs([Attr("address","0xA64"), -Attr("insn","adrp x2, #69632")]), Var("R2",Imm(64)), Int(69632,64)), -Def(Tid(3_217, "%00000c91"), Attrs([Attr("address","0xA68"), -Attr("insn","ldr x2, [x2, #0xfe0]")]), Var("R2",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R2",Imm(64)),Int(4064,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(3_222, "%00000c96"), Attrs([Attr("address","0xA6C"), -Attr("insn","cbz x2, #0xc")]), EQ(Var("R2",Imm(64)),Int(0,64)), -Direct(Tid(1_418, "%0000058a"))), Goto(Tid(4_386, "%00001122"), Attrs([]), - Int(1,1), Direct(Tid(3_226, "%00000c9a")))])), Blk(Tid(1_418, "%0000058a"), - Attrs([Attr("address","0xA78")]), Phis([]), Defs([]), -Jmps([Call(Tid(1_426, "%00000592"), Attrs([Attr("address","0xA78"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(3_226, "%00000c9a"), Attrs([Attr("address","0xA70")]), Phis([]), -Defs([Def(Tid(3_230, "%00000c9e"), Attrs([Attr("address","0xA70"), -Attr("insn","mov x16, x2")]), Var("R16",Imm(64)), Var("R2",Imm(64)))]), -Jmps([Call(Tid(3_235, "%00000ca3"), Attrs([Attr("address","0xA74"), -Attr("insn","br x16")]), Int(1,1), (Indirect(Var("R16",Imm(64))),))]))])), -Sub(Tid(4_387, "@rewind"), Attrs([Attr("c.proto","signed (*)(void)"), -Attr("address","0x900"), Attr("stub","()")]), "rewind", - Args([Arg(Tid(4_431, "%0000114f"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("rewind_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(2_649, "@rewind"), Attrs([Attr("address","0x900")]), Phis([]), -Defs([Def(Tid(3_753, "%00000ea9"), Attrs([Attr("address","0x900"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_760, "%00000eb0"), Attrs([Attr("address","0x904"), -Attr("insn","ldr x17, [x16, #0x30]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(48,64)),LittleEndian(),64)), -Def(Tid(3_766, "%00000eb6"), Attrs([Attr("address","0x908"), -Attr("insn","add x16, x16, #0x30")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(48,64)))]), Jmps([Call(Tid(3_771, "%00000ebb"), - Attrs([Attr("address","0x90C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_388, "@saveFile"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xD8C")]), - "saveFile", Args([Arg(Tid(4_432, "%00001150"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("saveFile_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_376, "@saveFile"), - Attrs([Attr("address","0xD8C")]), Phis([]), -Defs([Def(Tid(2_380, "%0000094c"), Attrs([Attr("address","0xD8C"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#16",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(2_386, "%00000952"), Attrs([Attr("address","0xD8C"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#16",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(2_392, "%00000958"), Attrs([Attr("address","0xD8C"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#16",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(2_396, "%0000095c"), Attrs([Attr("address","0xD8C"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#16",Imm(64))), Def(Tid(2_402, "%00000962"), - Attrs([Attr("address","0xD90"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(2_407, "%00000967"), - Attrs([Attr("address","0xD94"), Attr("insn","adrp x8, #73728")]), - Var("R8",Imm(64)), Int(73728,64)), Def(Tid(2_414, "%0000096e"), - Attrs([Attr("address","0xD98"), Attr("insn","ldr x0, [x8, #0xa0]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(160,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(2_420, "%00000974"), Attrs([Attr("address","0xD9C"), -Attr("insn","cbz x0, #0x20")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(2_418, "%00000972"))), Goto(Tid(4_389, "%00001125"), Attrs([]), - Int(1,1), Direct(Tid(2_645, "%00000a55")))])), Blk(Tid(2_418, "%00000972"), - Attrs([Attr("address","0xDBC")]), Phis([]), -Defs([Def(Tid(2_426, "%0000097a"), Attrs([Attr("address","0xDBC"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_432, "%00000980"), Attrs([Attr("address","0xDC0"), -Attr("insn","add x0, x0, #0xfe2")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(4066,64))), Def(Tid(2_439, "%00000987"), - Attrs([Attr("address","0xDC4"), Attr("insn","ldp x29, x30, [sp], #0x10")]), - Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_444, "%0000098c"), Attrs([Attr("address","0xDC4"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_448, "%00000990"), Attrs([Attr("address","0xDC4"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(2_452, "%00000994"), - Attrs([Attr("address","0xDC8"), Attr("insn","b #-0x488")]), Int(1,1), -(Direct(Tid(4_383, "@puts")),))])), Blk(Tid(2_645, "%00000a55"), - Attrs([Attr("address","0xDA0")]), Phis([]), -Defs([Def(Tid(2_648, "%00000a58"), Attrs([Attr("address","0xDA0"), -Attr("insn","bl #-0x4a0")]), Var("R30",Imm(64)), Int(3492,64))]), -Jmps([Call(Tid(2_651, "%00000a5b"), Attrs([Attr("address","0xDA0"), -Attr("insn","bl #-0x4a0")]), Int(1,1), -(Direct(Tid(4_387, "@rewind")),Direct(Tid(2_653, "%00000a5d"))))])), -Blk(Tid(2_653, "%00000a5d"), Attrs([Attr("address","0xDA4")]), Phis([]), -Defs([Def(Tid(2_656, "%00000a60"), Attrs([Attr("address","0xDA4"), -Attr("insn","adrp x8, #73728")]), Var("R8",Imm(64)), Int(73728,64)), -Def(Tid(2_663, "%00000a67"), Attrs([Attr("address","0xDA8"), -Attr("insn","ldr x1, [x8, #0x98]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(152,64)),LittleEndian(),64)), -Def(Tid(2_668, "%00000a6c"), Attrs([Attr("address","0xDAC"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_674, "%00000a72"), Attrs([Attr("address","0xDB0"), -Attr("insn","add x0, x0, #0xe90")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3728,64))), Def(Tid(2_681, "%00000a79"), - Attrs([Attr("address","0xDB4"), Attr("insn","ldp x29, x30, [sp], #0x10")]), - Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_686, "%00000a7e"), Attrs([Attr("address","0xDB4"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_690, "%00000a82"), Attrs([Attr("address","0xDB4"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(2_694, "%00000a86"), - Attrs([Attr("address","0xDB8"), Attr("insn","b #-0x438")]), Int(1,1), -(Direct(Tid(4_382, "@printf")),))]))])), Sub(Tid(4_390, "@strcmp"), - Attrs([Attr("c.proto","signed (*)( const char* s1, const char* s2)"), -Attr("pure","()"), Attr("address","0x950"), Attr("stub","()")]), "strcmp", - Args([Arg(Tid(4_433, "%00001151"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcmp_s1",Imm(64)), Var("R0",Imm(64)), -In()), Arg(Tid(4_434, "%00001152"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcmp_s2",Imm(64)), Var("R1",Imm(64)), -In()), Arg(Tid(4_435, "%00001153"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("strcmp_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_784, "@strcmp"), Attrs([Attr("address","0x950")]), Phis([]), -Defs([Def(Tid(3_863, "%00000f17"), Attrs([Attr("address","0x950"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_870, "%00000f1e"), Attrs([Attr("address","0x954"), -Attr("insn","ldr x17, [x16, #0x58]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(88,64)),LittleEndian(),64)), -Def(Tid(3_876, "%00000f24"), Attrs([Attr("address","0x958"), -Attr("insn","add x16, x16, #0x58")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(88,64)))]), Jmps([Call(Tid(3_881, "%00000f29"), - Attrs([Attr("address","0x95C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_391, "@strcspn"), - Attrs([Attr("c.proto","unsigned long (*)( const char* s, const char* reject)"), -Attr("pure","()"), Attr("address","0x970"), Attr("stub","()")]), "strcspn", - Args([Arg(Tid(4_436, "%00001154"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcspn_s",Imm(64)), Var("R0",Imm(64)), -In()), Arg(Tid(4_437, "%00001155"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcspn_reject",Imm(64)), -Var("R1",Imm(64)), In()), Arg(Tid(4_438, "%00001156"), - Attrs([Attr("c.layout","[unsigned long : 64]"), Attr("c.data","Top:u64"), -Attr("c.type","unsigned long")]), Var("strcspn_result",Imm(64)), -Var("R0",Imm(64)), Out())]), Blks([Blk(Tid(1_692, "@strcspn"), - Attrs([Attr("address","0x970")]), Phis([]), -Defs([Def(Tid(3_907, "%00000f43"), Attrs([Attr("address","0x970"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_914, "%00000f4a"), Attrs([Attr("address","0x974"), -Attr("insn","ldr x17, [x16, #0x68]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(104,64)),LittleEndian(),64)), -Def(Tid(3_920, "%00000f50"), Attrs([Attr("address","0x978"), -Attr("insn","add x16, x16, #0x68")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(104,64)))]), Jmps([Call(Tid(3_925, "%00000f55"), - Attrs([Attr("address","0x97C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_392, "@strdup"), - Attrs([Attr("c.proto","char* (*)( const char* s)"), Attr("address","0x910"), -Attr("malloc","()"), Attr("stub","()")]), "strdup", - Args([Arg(Tid(4_439, "%00001157"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strdup_s",Imm(64)), Var("R0",Imm(64)), -In()), Arg(Tid(4_440, "%00001158"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type","char*")]), - Var("strdup_result",Imm(64)), Var("R0",Imm(64)), Out())]), -Blks([Blk(Tid(2_069, "@strdup"), Attrs([Attr("address","0x910")]), Phis([]), -Defs([Def(Tid(3_775, "%00000ebf"), Attrs([Attr("address","0x910"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_782, "%00000ec6"), Attrs([Attr("address","0x914"), -Attr("insn","ldr x17, [x16, #0x38]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(56,64)),LittleEndian(),64)), -Def(Tid(3_788, "%00000ecc"), Attrs([Attr("address","0x918"), -Attr("insn","add x16, x16, #0x38")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(56,64)))]), Jmps([Call(Tid(3_793, "%00000ed1"), - Attrs([Attr("address","0x91C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_393, "@strncmp"), - Attrs([Attr("c.proto","signed (*)( const char* s1, const char* s2, unsigned long n)"), -Attr("pure","()"), Attr("address","0x8F0"), Attr("stub","()")]), "strncmp", - Args([Arg(Tid(4_441, "%00001159"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strncmp_s1",Imm(64)), -Var("R0",Imm(64)), In()), Arg(Tid(4_442, "%0000115a"), - Attrs([Attr("nonnull","()"), Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char*")]), - Var("strncmp_s2",Imm(64)), Var("R1",Imm(64)), In()), -Arg(Tid(4_443, "%0000115b"), Attrs([Attr("c.layout","[unsigned long : 64]"), -Attr("c.data","Top:u64"), Attr("c.type","unsigned long")]), - Var("strncmp_n",Imm(64)), Var("R2",Imm(64)), In()), -Arg(Tid(4_444, "%0000115c"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("strncmp_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(3_025, "@strncmp"), Attrs([Attr("address","0x8F0")]), Phis([]), -Defs([Def(Tid(3_731, "%00000e93"), Attrs([Attr("address","0x8F0"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_738, "%00000e9a"), Attrs([Attr("address","0x8F4"), -Attr("insn","ldr x17, [x16, #0x28]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(40,64)),LittleEndian(),64)), -Def(Tid(3_744, "%00000ea0"), Attrs([Attr("address","0x8F8"), -Attr("insn","add x16, x16, #0x28")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(40,64)))]), Jmps([Call(Tid(3_749, "%00000ea5"), - Attrs([Attr("address","0x8FC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))]))]))) \ No newline at end of file diff --git a/src/test/correct/complex/clang_O2/complex.bir b/src/test/correct/complex/clang_O2/complex.bir deleted file mode 100644 index 6c0bceba6..000000000 --- a/src/test/correct/complex/clang_O2/complex.bir +++ /dev/null @@ -1,811 +0,0 @@ -0000112a: program -000010f4: sub __cxa_finalize(__cxa_finalize_result) -0000112b: __cxa_finalize_result :: out u32 = low:32[R0] - -00000c83: -00000e51: R16 := 0x12000 -00000e58: R17 := mem[R16 + 0x10, el]:u64 -00000e5e: R16 := R16 + 0x10 -00000e63: call R17 with noreturn - -000010f5: sub __do_global_dtors_aux(__do_global_dtors_aux_result) -0000112c: __do_global_dtors_aux_result :: out u32 = low:32[R0] - -00000596: -0000059a: #3 := R31 - 0x20 -000005a0: mem := mem with [#3, el]:u64 <- R29 -000005a6: mem := mem with [#3 + 8, el]:u64 <- R30 -000005aa: R31 := #3 -000005b0: R29 := R31 -000005b8: mem := mem with [R31 + 0x10, el]:u64 <- R19 -000005bd: R19 := 0x12000 -000005c4: R0 := pad:64[mem[R19 + 0x90]] -000005cb: when 31:0[R0] <> 0 goto %000005c9 -000010f6: goto %00000c4c - -00000c4c: -00000c4f: R0 := 0x11000 -00000c56: R0 := mem[R0 + 0xFC0, el]:u64 -00000c5c: when R0 = 0 goto %00000c5a -000010f7: goto %00000c73 - -00000c73: -00000c76: R0 := 0x12000 -00000c7d: R0 := mem[R0 + 0x88, el]:u64 -00000c82: R30 := 0xAB0 -00000c85: call @__cxa_finalize with return %00000c5a - -00000c5a: -00000c62: R30 := 0xAB4 -00000c64: call @deregister_tm_clones with return %00000c66 - -00000c66: -00000c69: R0 := 1 -00000c71: mem := mem with [R19 + 0x90] <- 7:0[R0] -000010f8: goto %000005c9 - -000005c9: -000005d3: R19 := mem[R31 + 0x10, el]:u64 -000005da: R29 := mem[R31, el]:u64 -000005df: R30 := mem[R31 + 8, el]:u64 -000005e3: R31 := R31 + 0x20 -000005e8: call R30 with noreturn - -000010f9: sub __libc_start_main(__libc_start_main_main, __libc_start_main_arg2, __libc_start_main_arg3, __libc_start_main_auxv, __libc_start_main_result) -0000112d: __libc_start_main_main :: in u64 = R0 -0000112e: __libc_start_main_arg2 :: in u32 = low:32[R1] -0000112f: __libc_start_main_arg3 :: in out u64 = R2 -00001130: __libc_start_main_auxv :: in out u64 = R3 -00001131: __libc_start_main_result :: out u32 = low:32[R0] - -000004ef: -00000e3b: R16 := 0x12000 -00000e42: R17 := mem[R16 + 8, el]:u64 -00000e48: R16 := R16 + 8 -00000e4d: call R17 with noreturn - -000010fa: sub _fini(_fini_result) -00001132: _fini_result :: out u32 = low:32[R0] - -0000001f: -00000025: #0 := R31 - 0x10 -0000002b: mem := mem with [#0, el]:u64 <- R29 -00000031: mem := mem with [#0 + 8, el]:u64 <- R30 -00000035: R31 := #0 -0000003b: R29 := R31 -00000042: R29 := mem[R31, el]:u64 -00000047: R30 := mem[R31 + 8, el]:u64 -0000004b: R31 := R31 + 0x10 -00000050: call R30 with noreturn - -000010fb: sub _init(_init_result) -00001133: _init_result :: out u32 = low:32[R0] - -00000f9d: -00000fa3: #24 := R31 - 0x10 -00000fa9: mem := mem with [#24, el]:u64 <- R29 -00000faf: mem := mem with [#24 + 8, el]:u64 <- R30 -00000fb3: R31 := #24 -00000fb9: R29 := R31 -00000fbe: R30 := 0x870 -00000fc0: call @call_weak_fn with return %00000fc2 - -00000fc2: -00000fc7: R29 := mem[R31, el]:u64 -00000fcc: R30 := mem[R31 + 8, el]:u64 -00000fd0: R31 := R31 + 0x10 -00000fd5: call R30 with noreturn - -000010fc: sub _start(_start_result) -00001134: _start_result :: out u32 = low:32[R0] - -000004b0: -000004b5: R29 := 0 -000004ba: R30 := 0 -000004c0: R5 := R0 -000004c7: R1 := mem[R31, el]:u64 -000004cd: R2 := R31 + 8 -000004d3: R6 := R31 -000004d8: R0 := 0x11000 -000004df: R0 := mem[R0 + 0xFD8, el]:u64 -000004e4: R3 := 0 -000004e9: R4 := 0 -000004ee: R30 := 0x9F0 -000004f1: call @__libc_start_main with return %000004f3 - -000004f3: -000004f6: R30 := 0x9F4 -000004f9: call @abort with return %000010fd - -000010fd: -000010fe: call @call_weak_fn with noreturn - -000010ff: sub abort() - - -000004f7: -00000eeb: R16 := 0x12000 -00000ef2: R17 := mem[R16 + 0x48, el]:u64 -00000ef8: R16 := R16 + 0x48 -00000efd: call R17 with noreturn - -00001100: sub call_weak_fn(call_weak_fn_result) -00001135: call_weak_fn_result :: out u32 = low:32[R0] - -000004fb: -000004fe: R0 := 0x11000 -00000505: R0 := mem[R0 + 0xFD0, el]:u64 -0000050b: when R0 = 0 goto %00000509 -00001101: goto %00000cc3 - -00000509: -00000511: call R30 with noreturn - -00000cc3: -00000cc6: goto @__gmon_start__ - -00000cc4: -00000ed5: R16 := 0x12000 -00000edc: R17 := mem[R16 + 0x40, el]:u64 -00000ee2: R16 := R16 + 0x40 -00000ee7: call R17 with noreturn - -00001102: sub closeFile(closeFile_result) -00001136: closeFile_result :: out u32 = low:32[R0] - -00000996: -0000099a: #17 := R31 - 0x20 -000009a0: mem := mem with [#17, el]:u64 <- R29 -000009a6: mem := mem with [#17 + 8, el]:u64 <- R30 -000009aa: R31 := #17 -000009b0: #18 := R31 + 0x10 -000009b6: mem := mem with [#18, el]:u64 <- R20 -000009bc: mem := mem with [#18 + 8, el]:u64 <- R19 -000009c2: R29 := R31 -000009c7: R19 := 0x12000 -000009ce: R0 := mem[R19 + 0xA0, el]:u64 -000009d4: when R0 = 0 goto %000009d2 -00001103: goto %000009fc - -000009d2: -000009db: #19 := R31 + 0x10 -000009e0: R20 := mem[#19, el]:u64 -000009e5: R19 := mem[#19 + 8, el]:u64 -000009ec: R29 := mem[R31, el]:u64 -000009f1: R30 := mem[R31 + 8, el]:u64 -000009f5: R31 := R31 + 0x20 -000009fa: call R30 with noreturn - -000009fc: -000009ff: R30 := 0xDE8 -00000a02: call @fclose with return %00000a04 - -00000a04: -00000a07: R20 := 0x12000 -00000a0e: R0 := mem[R20 + 0x98, el]:u64 -00000a13: R30 := 0xDF4 -00000a16: call @free with return %00000a18 - -00000a18: -00000a1b: R0 := 0 -00000a21: R0 := R0 + 0xFFC -00000a28: mem := mem with [R19 + 0xA0, el]:u64 <- 0 -00000a2f: mem := mem with [R20 + 0x98, el]:u64 <- 0 -00000a35: #20 := R31 + 0x10 -00000a3a: R20 := mem[#20, el]:u64 -00000a3f: R19 := mem[#20 + 8, el]:u64 -00000a46: R29 := mem[R31, el]:u64 -00000a4b: R30 := mem[R31 + 8, el]:u64 -00000a4f: R31 := R31 + 0x20 -00000a53: call @puts with noreturn - -00001104: sub deregister_tm_clones(deregister_tm_clones_result) -00001137: deregister_tm_clones_result :: out u32 = low:32[R0] - -00000517: -0000051a: R0 := 0x12000 -00000520: R0 := R0 + 0x90 -00000525: R1 := 0x12000 -0000052b: R1 := R1 + 0x90 -00000531: #1 := ~R0 -00000536: #2 := R1 + ~R0 -0000053c: VF := extend:65[#2 + 1] <> extend:65[R1] + extend:65[#1] + 1 -00000542: CF := pad:65[#2 + 1] <> pad:65[R1] + pad:65[#1] + 1 -00000546: ZF := #2 + 1 = 0 -0000054a: NF := 63:63[#2 + 1] -00000550: when ZF goto %0000054e -00001105: goto %00000ca5 - -00000ca5: -00000ca8: R1 := 0x11000 -00000caf: R1 := mem[R1 + 0xFB8, el]:u64 -00000cb4: when R1 = 0 goto %0000054e -00001106: goto %00000cb8 - -0000054e: -00000556: call R30 with noreturn - -00000cb8: -00000cbc: R16 := R1 -00000cc1: call R16 with noreturn - -00001107: sub exit(exit_code) -00001138: exit_code :: in u32 = low:32[R0] - -00000b20: -00000e25: R16 := 0x12000 -00000e2c: R17 := mem[R16, el]:u64 -00000e32: R16 := R16 -00000e37: call R17 with noreturn - -00001108: sub fclose(fclose_fp, fclose_result) -00001139: fclose_fp :: in out u64 = R0 -0000113a: fclose_result :: out u32 = low:32[R0] - -00000a00: -00000e67: R16 := 0x12000 -00000e6e: R17 := mem[R16 + 0x18, el]:u64 -00000e74: R16 := R16 + 0x18 -00000e79: call R17 with noreturn - -00001109: sub fgets(fgets_s, fgets_size, fgets_stream, fgets_result) -0000113b: fgets_s :: in out u64 = R0 -0000113c: fgets_size :: in u32 = low:32[R1] -0000113d: fgets_stream :: in out u64 = R2 -0000113e: fgets_result :: out u64 = R0 - -00000688: -00000f6f: R16 := 0x12000 -00000f76: R17 := mem[R16 + 0x78, el]:u64 -00000f7c: R16 := R16 + 0x78 -00000f81: call R17 with noreturn - -0000110a: sub fopen(fopen_path, fopen_mode, fopen_result) -0000113f: fopen_path :: in u64 = R0 -00001140: fopen_mode :: in u64 = R1 -00001141: fopen_result :: out u64 = R0 - -00000830: -00000e7d: R16 := 0x12000 -00000e84: R17 := mem[R16 + 0x20, el]:u64 -00000e8a: R16 := R16 + 0x20 -00000e8f: call R17 with noreturn - -0000110b: sub frame_dummy(frame_dummy_result) -00001142: frame_dummy_result :: out u32 = low:32[R0] - -000005ee: -000005f0: call @register_tm_clones with noreturn - -0000110c: sub free(free_ptr) -00001143: free_ptr :: in out u64 = R0 - -00000a14: -00000f2d: R16 := 0x12000 -00000f34: R17 := mem[R16 + 0x60, el]:u64 -00000f3a: R16 := R16 + 0x60 -00000f3f: call R17 with noreturn - -0000110d: sub handleInput(handleInput_result) -00001144: handleInput_result :: out u32 = low:32[R0] - -000006b2: -000006b9: #7 := R31 - 0x20 -000006bf: mem := mem with [#7, el]:u64 <- R29 -000006c5: mem := mem with [#7 + 8, el]:u64 <- R30 -000006c9: R31 := #7 -000006cf: #8 := R31 + 0x10 -000006d5: mem := mem with [#8, el]:u64 <- R20 -000006db: mem := mem with [#8 + 8, el]:u64 <- R19 -000006e1: R29 := R31 -000006e6: R1 := 0 -000006ec: R1 := R1 + 0xE46 -000006f2: R19 := R0 -000006f7: R30 := 0xB58 -000006fa: call @strcmp with return %000006fc - -000006fc: -00000700: when 31:0[R0] = 0 goto %000006fe -0000110e: goto %00000bb7 - -000006fe: -00000706: R0 := 0 -0000070c: R0 := R0 + 0xEE1 -00000711: R30 := 0xBC8 -00000714: call @puts with return %00000716 - -00000716: -00000719: R0 := 0 -0000071f: R0 := R0 + 0xEEB -00000724: R30 := 0xBD4 -00000726: call @puts with return %00000728 - -00000728: -0000072b: R0 := 0 -00000731: R0 := R0 + 0xF1E -00000736: R30 := 0xBE0 -00000738: call @puts with return %0000073a - -0000073a: -0000073d: R0 := 0 -00000743: R0 := R0 + 0xF4F -00000748: R30 := 0xBEC -0000074a: call @puts with return %0000074c - -0000074c: -0000074f: R0 := 0 -00000755: R0 := R0 + 0xF89 -0000075a: R30 := 0xBF8 -0000075c: call @puts with return %0000075e - -0000075e: -00000761: R0 := 0 -00000767: R0 := R0 + 0xFB9 -0000110f: goto %00000769 - -00000bb7: -00000bba: R1 := 0 -00000bc0: R1 := R1 + 0xE4B -00000bc6: R0 := R19 -00000bcb: R2 := 5 -00000bd0: R30 := 0xB70 -00000bd3: call @strncmp with return %00000bd5 - -00000bd5: -00000bd8: when 31:0[R0] = 0 goto %0000078d -00001110: goto %00000bdc - -0000078d: -00000791: R0 := R19 + 5 -00000797: #10 := R31 + 0x10 -0000079c: R20 := mem[#10, el]:u64 -000007a1: R19 := mem[#10 + 8, el]:u64 -000007a8: R29 := mem[R31, el]:u64 -000007ad: R30 := mem[R31 + 8, el]:u64 -000007b1: R31 := R31 + 0x20 -000007b6: call @openFile with noreturn - -00000bdc: -00000bdf: R1 := 0 -00000be5: R1 := R1 + 0xE51 -00000beb: R0 := R19 -00000bf0: R30 := 0xB84 -00000bf2: call @strcmp with return %00000bf4 - -00000bf4: -00000bf7: when 31:0[R0] = 0 goto %00000abd -00001111: goto %00000bfb - -00000abd: -00000ac0: R8 := 0x12000 -00000ac7: R0 := mem[R8 + 0xA0, el]:u64 -00000acd: when R0 = 0 goto %00000acb -00001112: goto %00000b2b - -00000acb: -00000ad3: R0 := 0 -00000ad9: R0 := R0 + 0xFE2 -00000add: goto %00000769 - -00000b2b: -00000b2e: R30 := 0xC2C -00000b30: call @rewind with return %00000b32 - -00000b32: -00000b35: R8 := 0x12000 -00000b3c: R1 := mem[R8 + 0x98, el]:u64 -00000b41: R0 := 0 -00000b47: R0 := R0 + 0xE90 -00000b4d: #22 := R31 + 0x10 -00000b52: R20 := mem[#22, el]:u64 -00000b57: R19 := mem[#22 + 8, el]:u64 -00000b5e: R29 := mem[R31, el]:u64 -00000b63: R30 := mem[R31 + 8, el]:u64 -00000b67: R31 := R31 + 0x20 -00000b6b: call @printf with noreturn - -00000bfb: -00000bfe: R1 := 0 -00000c04: R1 := R1 + 0xE56 -00000c0a: R0 := R19 -00000c0f: R30 := 0xB98 -00000c11: call @strcmp with return %00000c13 - -00000c13: -00000c16: when 31:0[R0] = 0 goto %00000b6d -00001113: goto %00000c1a - -00000b6d: -00000b70: R19 := 0x12000 -00000b77: R0 := mem[R19 + 0xA0, el]:u64 -00000b7c: when R0 = 0 goto %00000adf -00001114: goto %00000b80 - -00000adf: -00000ae3: #21 := R31 + 0x10 -00000ae8: R20 := mem[#21, el]:u64 -00000aed: R19 := mem[#21 + 8, el]:u64 -00000af4: R29 := mem[R31, el]:u64 -00000af9: R30 := mem[R31 + 8, el]:u64 -00000afd: R31 := R31 + 0x20 -00000b02: call R30 with noreturn - -00000b80: -00000b83: R30 := 0xC58 -00000b85: call @fclose with return %00000b87 - -00000b87: -00000b8a: R20 := 0x12000 -00000b91: R0 := mem[R20 + 0x98, el]:u64 -00000b96: R30 := 0xC64 -00000b98: call @free with return %00000b9a - -00000b9a: -00000b9d: R0 := 0 -00000ba3: R0 := R0 + 0xFFC -00000baa: mem := mem with [R19 + 0xA0, el]:u64 <- 0 -00000bb1: mem := mem with [R20 + 0x98, el]:u64 <- 0 -00000bb5: goto %00000769 - -00000c1a: -00000c1d: R1 := 0 -00000c23: R1 := R1 + 0xE5C -00000c29: R0 := R19 -00000c2e: R30 := 0xBAC -00000c30: call @strcmp with return %00000c32 - -00000c32: -00000c35: when 31:0[R0] = 0 goto %00000b04 -00001115: goto %00000c39 - -00000b04: -00000b07: R8 := 0x12000 -00000b0e: R8 := mem[R8 + 0xA0, el]:u64 -00000b14: when R8 = 0 goto %00000b12 -00001116: goto %00000b24 - -00000b24: -00000b27: R30 := 0xCA0 -00000b29: call @closeFile with return %00000b12 - -00000b12: -00000b1a: R0 := 0 -00000b1f: R30 := 0xCA8 -00000b22: call @exit with return %00001117 - -00001117: -00001118: call @openFile with noreturn - -00000c39: -00000c3c: R0 := 0 -00000c42: R0 := R0 + 0xEAC -00000c46: goto %00000769 - -00000769: -0000076d: #9 := R31 + 0x10 -00000772: R20 := mem[#9, el]:u64 -00000777: R19 := mem[#9 + 8, el]:u64 -0000077e: R29 := mem[R31, el]:u64 -00000783: R30 := mem[R31 + 8, el]:u64 -00000787: R31 := R31 + 0x20 -0000078b: call @puts with noreturn - -00001119: sub main(main_argc, main_argv, main_result) -00001145: main_argc :: in u32 = low:32[R0] -00001146: main_argv :: in out u64 = R1 -00001147: main_result :: out u32 = low:32[R0] - -000005f2: -000005f6: R31 := R31 - 0x140 -000005fc: #4 := R31 + 0x100 -00000602: mem := mem with [#4, el]:u64 <- R29 -00000608: mem := mem with [#4 + 8, el]:u64 <- R30 -00000610: mem := mem with [R31 + 0x110, el]:u64 <- R28 -00000616: #5 := R31 + 0x120 -0000061c: mem := mem with [#5, el]:u64 <- R22 -00000622: mem := mem with [#5 + 8, el]:u64 <- R21 -00000628: #6 := R31 + 0x130 -0000062e: mem := mem with [#6, el]:u64 <- R20 -00000634: mem := mem with [#6 + 8, el]:u64 <- R19 -0000063a: R29 := R31 + 0x100 -0000063f: R21 := 0x11000 -00000645: R22 := R31 -0000064a: R19 := 0 -00000650: R19 := R19 + 0xE34 -00000655: R20 := 0 -0000065b: R20 := R20 + 0xE8E -00000662: R21 := mem[R21 + 0xFC8, el]:u64 -0000111a: goto %00000664 - -00000664: -00000668: R0 := R19 -0000066d: R30 := 0xB10 -00000670: call @printf with return %00000672 - -00000672: -00000677: R2 := mem[R21, el]:u64 -0000067d: R0 := R31 -00000682: R1 := 0x100 -00000687: R30 := 0xB20 -0000068a: call @fgets with return %0000068c - -0000068c: -00000690: R0 := R31 -00000696: R1 := R20 -0000069b: R30 := 0xB2C -0000069e: call @strcspn with return %000006a0 - -000006a0: -000006a6: mem := mem with [R22 + R0] <- 0 -000006ac: R0 := R31 -000006b1: R30 := 0xB38 -000006b4: call @handleInput with return %00000c48 - -00000c48: -00000c4a: goto %00000664 - -0000111b: sub openFile(openFile_result) -00001148: openFile_result :: out u32 = low:32[R0] - -000007b4: -000007bb: #11 := R31 - 0x30 -000007c1: mem := mem with [#11, el]:u64 <- R29 -000007c7: mem := mem with [#11 + 8, el]:u64 <- R30 -000007cb: R31 := #11 -000007d3: mem := mem with [R31 + 0x10, el]:u64 <- R21 -000007d9: #12 := R31 + 0x20 -000007df: mem := mem with [#12, el]:u64 <- R20 -000007e5: mem := mem with [#12 + 8, el]:u64 <- R19 -000007eb: R29 := R31 -000007f0: R20 := 0x12000 -000007f6: R19 := R0 -000007fb: R21 := 0x12000 -00000802: R0 := mem[R20 + 0xA0, el]:u64 -00000808: when R0 = 0 goto %00000806 -0000111c: goto %00000a88 - -00000a88: -00000a8b: R30 := 0xCD0 -00000a8d: call @fclose with return %00000a8f - -00000a8f: -00000a94: R0 := mem[R21 + 0x98, el]:u64 -00000a99: R30 := 0xCD8 -00000a9b: call @free with return %00000a9d - -00000a9d: -00000aa0: R0 := 0 -00000aa6: R0 := R0 + 0xFFC -00000aad: mem := mem with [R20 + 0xA0, el]:u64 <- 0 -00000ab4: mem := mem with [R21 + 0x98, el]:u64 <- 0 -00000ab9: R30 := 0xCEC -00000abb: call @puts with return %00000806 - -00000806: -0000080f: R0 := R19 -00000814: R30 := 0xCF4 -00000817: call @strdup with return %00000819 - -00000819: -0000081c: R1 := 0 -00000822: R1 := R1 + 0xE61 -0000082a: mem := mem with [R21 + 0x98, el]:u64 <- R0 -0000082f: R30 := 0xD04 -00000832: call @fopen with return %00000834 - -00000834: -00000838: R8 := R0 -0000083f: R1 := mem[R21 + 0x98, el]:u64 -00000844: R9 := 0 -0000084a: R9 := R9 + 0xE7E -0000084f: R10 := 0 -00000855: R10 := R10 + 0xE64 -0000085b: #13 := R0 - 1 -00000860: VF := extend:65[#13 + 1] <> extend:65[R0] + 0 -00000865: CF := pad:65[#13 + 1] <> pad:65[R0] - 0x10000000000000000 -00000869: ZF := #13 + 1 = 0 -0000086d: NF := 63:63[#13 + 1] -0000087b: when ZF goto %00000873 -0000087c: goto %00000877 - -00000877: -00000878: R0 := R9 -0000087e: goto %0000087a - -00000873: -00000874: R0 := R10 -0000087d: goto %0000087a - -0000087a: -00000886: mem := mem with [R20 + 0xA0, el]:u64 <- R8 -0000088c: #14 := R31 + 0x20 -00000891: R20 := mem[#14, el]:u64 -00000896: R19 := mem[#14 + 8, el]:u64 -0000089d: R21 := mem[R31 + 0x10, el]:u64 -000008a4: R29 := mem[R31, el]:u64 -000008a9: R30 := mem[R31 + 8, el]:u64 -000008ad: R31 := R31 + 0x30 -000008b1: call @printf with noreturn - -0000111d: sub printHelp(printHelp_result) -00001149: printHelp_result :: out u32 = low:32[R0] - -000008b3: -000008b7: #15 := R31 - 0x10 -000008bd: mem := mem with [#15, el]:u64 <- R29 -000008c3: mem := mem with [#15 + 8, el]:u64 <- R30 -000008c7: R31 := #15 -000008cd: R29 := R31 -000008d2: R0 := 0 -000008d8: R0 := R0 + 0xEE1 -000008dd: R30 := 0xD4C -000008df: call @puts with return %000008e1 - -000008e1: -000008e4: R0 := 0 -000008ea: R0 := R0 + 0xEEB -000008ef: R30 := 0xD58 -000008f1: call @puts with return %000008f3 - -000008f3: -000008f6: R0 := 0 -000008fc: R0 := R0 + 0xF1E -00000901: R30 := 0xD64 -00000903: call @puts with return %00000905 - -00000905: -00000908: R0 := 0 -0000090e: R0 := R0 + 0xF4F -00000913: R30 := 0xD70 -00000915: call @puts with return %00000917 - -00000917: -0000091a: R0 := 0 -00000920: R0 := R0 + 0xF89 -00000925: R30 := 0xD7C -00000927: call @puts with return %00000929 - -00000929: -0000092c: R0 := 0 -00000932: R0 := R0 + 0xFB9 -00000939: R29 := mem[R31, el]:u64 -0000093e: R30 := mem[R31 + 8, el]:u64 -00000942: R31 := R31 + 0x10 -00000946: call @puts with noreturn - -0000111e: sub printf(printf_format, printf_result) -0000114a: printf_format :: in u64 = R0 -0000114b: printf_result :: out u32 = low:32[R0] - -0000066e: -00000f59: R16 := 0x12000 -00000f60: R17 := mem[R16 + 0x70, el]:u64 -00000f66: R16 := R16 + 0x70 -00000f6b: call R17 with noreturn - -0000111f: sub puts(puts_s, puts_result) -0000114c: puts_s :: in u64 = R0 -0000114d: puts_result :: out u32 = low:32[R0] - -00000712: -00000f01: R16 := 0x12000 -00000f08: R17 := mem[R16 + 0x50, el]:u64 -00000f0e: R16 := R16 + 0x50 -00000f13: call R17 with noreturn - -00001120: sub register_tm_clones(register_tm_clones_result) -0000114e: register_tm_clones_result :: out u32 = low:32[R0] - -00000558: -0000055b: R0 := 0x12000 -00000561: R0 := R0 + 0x90 -00000566: R1 := 0x12000 -0000056c: R1 := R1 + 0x90 -00000573: R1 := R1 + ~R0 + 1 -00000579: R2 := 0.63:63[R1] -00000580: R1 := R2 + (R1 ~>> 3) -00000586: R1 := extend:64[63:1[R1]] -0000058c: when R1 = 0 goto %0000058a -00001121: goto %00000c87 - -00000c87: -00000c8a: R2 := 0x11000 -00000c91: R2 := mem[R2 + 0xFE0, el]:u64 -00000c96: when R2 = 0 goto %0000058a -00001122: goto %00000c9a - -0000058a: -00000592: call R30 with noreturn - -00000c9a: -00000c9e: R16 := R2 -00000ca3: call R16 with noreturn - -00001123: sub rewind(rewind_result) -0000114f: rewind_result :: out u32 = low:32[R0] - -00000a59: -00000ea9: R16 := 0x12000 -00000eb0: R17 := mem[R16 + 0x30, el]:u64 -00000eb6: R16 := R16 + 0x30 -00000ebb: call R17 with noreturn - -00001124: sub saveFile(saveFile_result) -00001150: saveFile_result :: out u32 = low:32[R0] - -00000948: -0000094c: #16 := R31 - 0x10 -00000952: mem := mem with [#16, el]:u64 <- R29 -00000958: mem := mem with [#16 + 8, el]:u64 <- R30 -0000095c: R31 := #16 -00000962: R29 := R31 -00000967: R8 := 0x12000 -0000096e: R0 := mem[R8 + 0xA0, el]:u64 -00000974: when R0 = 0 goto %00000972 -00001125: goto %00000a55 - -00000972: -0000097a: R0 := 0 -00000980: R0 := R0 + 0xFE2 -00000987: R29 := mem[R31, el]:u64 -0000098c: R30 := mem[R31 + 8, el]:u64 -00000990: R31 := R31 + 0x10 -00000994: call @puts with noreturn - -00000a55: -00000a58: R30 := 0xDA4 -00000a5b: call @rewind with return %00000a5d - -00000a5d: -00000a60: R8 := 0x12000 -00000a67: R1 := mem[R8 + 0x98, el]:u64 -00000a6c: R0 := 0 -00000a72: R0 := R0 + 0xE90 -00000a79: R29 := mem[R31, el]:u64 -00000a7e: R30 := mem[R31 + 8, el]:u64 -00000a82: R31 := R31 + 0x10 -00000a86: call @printf with noreturn - -00001126: sub strcmp(strcmp_s1, strcmp_s2, strcmp_result) -00001151: strcmp_s1 :: in u64 = R0 -00001152: strcmp_s2 :: in u64 = R1 -00001153: strcmp_result :: out u32 = low:32[R0] - -000006f8: -00000f17: R16 := 0x12000 -00000f1e: R17 := mem[R16 + 0x58, el]:u64 -00000f24: R16 := R16 + 0x58 -00000f29: call R17 with noreturn - -00001127: sub strcspn(strcspn_s, strcspn_reject, strcspn_result) -00001154: strcspn_s :: in u64 = R0 -00001155: strcspn_reject :: in u64 = R1 -00001156: strcspn_result :: out u64 = R0 - -0000069c: -00000f43: R16 := 0x12000 -00000f4a: R17 := mem[R16 + 0x68, el]:u64 -00000f50: R16 := R16 + 0x68 -00000f55: call R17 with noreturn - -00001128: sub strdup(strdup_s, strdup_result) -00001157: strdup_s :: in u64 = R0 -00001158: strdup_result :: out u64 = R0 - -00000815: -00000ebf: R16 := 0x12000 -00000ec6: R17 := mem[R16 + 0x38, el]:u64 -00000ecc: R16 := R16 + 0x38 -00000ed1: call R17 with noreturn - -00001129: sub strncmp(strncmp_s1, strncmp_s2, strncmp_n, strncmp_result) -00001159: strncmp_s1 :: in u64 = R0 -0000115a: strncmp_s2 :: in u64 = R1 -0000115b: strncmp_n :: in u64 = R2 -0000115c: strncmp_result :: out u32 = low:32[R0] - -00000bd1: -00000e93: R16 := 0x12000 -00000e9a: R17 := mem[R16 + 0x28, el]:u64 -00000ea0: R16 := R16 + 0x28 -00000ea5: call R17 with noreturn diff --git a/src/test/correct/complex/clang_O2/complex.relf b/src/test/correct/complex/clang_O2/complex.relf deleted file mode 100644 index 1e3534353..000000000 --- a/src/test/correct/complex/clang_O2/complex.relf +++ /dev/null @@ -1,169 +0,0 @@ - -Relocation section '.rela.dyn' at offset 0x608 contains 9 entries: - Offset Info Type Symbol's Value Symbol's Name + Addend -0000000000011dc0 0000000000000403 R_AARCH64_RELATIVE ad0 -0000000000011dc8 0000000000000403 R_AARCH64_RELATIVE a80 -0000000000011fd8 0000000000000403 R_AARCH64_RELATIVE ad4 -0000000000012088 0000000000000403 R_AARCH64_RELATIVE 12088 -0000000000011fb8 0000000500000401 R_AARCH64_GLOB_DAT 0000000000000000 _ITM_deregisterTMCloneTable + 0 -0000000000011fc0 0000000600000401 R_AARCH64_GLOB_DAT 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0 -0000000000011fc8 0000000b00000401 R_AARCH64_GLOB_DAT 0000000000000000 stdin@GLIBC_2.17 + 0 -0000000000011fd0 0000000d00000401 R_AARCH64_GLOB_DAT 0000000000000000 __gmon_start__ + 0 -0000000000011fe0 0000001200000401 R_AARCH64_GLOB_DAT 0000000000000000 _ITM_registerTMCloneTable + 0 - -Relocation section '.rela.plt' at offset 0x6e0 contains 16 entries: - Offset Info Type Symbol's Value Symbol's Name + Addend -0000000000012000 0000000300000402 R_AARCH64_JUMP_SLOT 0000000000000000 exit@GLIBC_2.17 + 0 -0000000000012008 0000000400000402 R_AARCH64_JUMP_SLOT 0000000000000000 __libc_start_main@GLIBC_2.34 + 0 -0000000000012010 0000000600000402 R_AARCH64_JUMP_SLOT 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0 -0000000000012018 0000000700000402 R_AARCH64_JUMP_SLOT 0000000000000000 fclose@GLIBC_2.17 + 0 -0000000000012020 0000000800000402 R_AARCH64_JUMP_SLOT 0000000000000000 fopen@GLIBC_2.17 + 0 -0000000000012028 0000000900000402 R_AARCH64_JUMP_SLOT 0000000000000000 strncmp@GLIBC_2.17 + 0 -0000000000012030 0000000a00000402 R_AARCH64_JUMP_SLOT 0000000000000000 rewind@GLIBC_2.17 + 0 -0000000000012038 0000000c00000402 R_AARCH64_JUMP_SLOT 0000000000000000 strdup@GLIBC_2.17 + 0 -0000000000012040 0000000d00000402 R_AARCH64_JUMP_SLOT 0000000000000000 __gmon_start__ + 0 -0000000000012048 0000000e00000402 R_AARCH64_JUMP_SLOT 0000000000000000 abort@GLIBC_2.17 + 0 -0000000000012050 0000000f00000402 R_AARCH64_JUMP_SLOT 0000000000000000 puts@GLIBC_2.17 + 0 -0000000000012058 0000001000000402 R_AARCH64_JUMP_SLOT 0000000000000000 strcmp@GLIBC_2.17 + 0 -0000000000012060 0000001100000402 R_AARCH64_JUMP_SLOT 0000000000000000 free@GLIBC_2.17 + 0 -0000000000012068 0000001300000402 R_AARCH64_JUMP_SLOT 0000000000000000 strcspn@GLIBC_2.17 + 0 -0000000000012070 0000001400000402 R_AARCH64_JUMP_SLOT 0000000000000000 printf@GLIBC_2.17 + 0 -0000000000012078 0000001500000402 R_AARCH64_JUMP_SLOT 0000000000000000 fgets@GLIBC_2.17 + 0 - -Symbol table '.dynsym' contains 22 entries: - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000860 0 SECTION LOCAL DEFAULT 11 .init - 2: 0000000000012080 0 SECTION LOCAL DEFAULT 23 .data - 3: 0000000000000000 0 FUNC GLOBAL DEFAULT UND exit@GLIBC_2.17 (2) - 4: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.34 (3) - 5: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable - 6: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 (2) - 7: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fclose@GLIBC_2.17 (2) - 8: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fopen@GLIBC_2.17 (2) - 9: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strncmp@GLIBC_2.17 (2) - 10: 0000000000000000 0 FUNC GLOBAL DEFAULT UND rewind@GLIBC_2.17 (2) - 11: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND stdin@GLIBC_2.17 (2) - 12: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strdup@GLIBC_2.17 (2) - 13: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 14: 0000000000000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.17 (2) - 15: 0000000000000000 0 FUNC GLOBAL DEFAULT UND puts@GLIBC_2.17 (2) - 16: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcmp@GLIBC_2.17 (2) - 17: 0000000000000000 0 FUNC GLOBAL DEFAULT UND free@GLIBC_2.17 (2) - 18: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - 19: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcspn@GLIBC_2.17 (2) - 20: 0000000000000000 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.17 (2) - 21: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fgets@GLIBC_2.17 (2) - -Symbol table '.symtab' contains 110 entries: - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000238 0 SECTION LOCAL DEFAULT 1 .interp - 2: 0000000000000254 0 SECTION LOCAL DEFAULT 2 .note.gnu.build-id - 3: 0000000000000278 0 SECTION LOCAL DEFAULT 3 .note.ABI-tag - 4: 0000000000000298 0 SECTION LOCAL DEFAULT 4 .gnu.hash - 5: 00000000000002b8 0 SECTION LOCAL DEFAULT 5 .dynsym - 6: 00000000000004c8 0 SECTION LOCAL DEFAULT 6 .dynstr - 7: 00000000000005aa 0 SECTION LOCAL DEFAULT 7 .gnu.version - 8: 00000000000005d8 0 SECTION LOCAL DEFAULT 8 .gnu.version_r - 9: 0000000000000608 0 SECTION LOCAL DEFAULT 9 .rela.dyn - 10: 00000000000006e0 0 SECTION LOCAL DEFAULT 10 .rela.plt - 11: 0000000000000860 0 SECTION LOCAL DEFAULT 11 .init - 12: 0000000000000880 0 SECTION LOCAL DEFAULT 12 .plt - 13: 00000000000009c0 0 SECTION LOCAL DEFAULT 13 .text - 14: 0000000000000e1c 0 SECTION LOCAL DEFAULT 14 .fini - 15: 0000000000000e30 0 SECTION LOCAL DEFAULT 15 .rodata - 16: 000000000000100c 0 SECTION LOCAL DEFAULT 16 .eh_frame_hdr - 17: 0000000000001070 0 SECTION LOCAL DEFAULT 17 .eh_frame - 18: 0000000000011dc0 0 SECTION LOCAL DEFAULT 18 .init_array - 19: 0000000000011dc8 0 SECTION LOCAL DEFAULT 19 .fini_array - 20: 0000000000011dd0 0 SECTION LOCAL DEFAULT 20 .dynamic - 21: 0000000000011fb0 0 SECTION LOCAL DEFAULT 21 .got - 22: 0000000000011fe8 0 SECTION LOCAL DEFAULT 22 .got.plt - 23: 0000000000012080 0 SECTION LOCAL DEFAULT 23 .data - 24: 0000000000012090 0 SECTION LOCAL DEFAULT 24 .bss - 25: 0000000000000000 0 SECTION LOCAL DEFAULT 25 .comment - 26: 0000000000000000 0 FILE LOCAL DEFAULT ABS Scrt1.o - 27: 0000000000000278 0 NOTYPE LOCAL DEFAULT 3 $d - 28: 0000000000000278 32 OBJECT LOCAL DEFAULT 3 __abi_tag - 29: 00000000000009c0 0 NOTYPE LOCAL DEFAULT 13 $x - 30: 0000000000001084 0 NOTYPE LOCAL DEFAULT 17 $d - 31: 0000000000000e30 0 NOTYPE LOCAL DEFAULT 15 $d - 32: 0000000000000000 0 FILE LOCAL DEFAULT ABS crti.o - 33: 00000000000009f4 0 NOTYPE LOCAL DEFAULT 13 $x - 34: 00000000000009f4 20 FUNC LOCAL DEFAULT 13 call_weak_fn - 35: 0000000000000860 0 NOTYPE LOCAL DEFAULT 11 $x - 36: 0000000000000e1c 0 NOTYPE LOCAL DEFAULT 14 $x - 37: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtn.o - 38: 0000000000000870 0 NOTYPE LOCAL DEFAULT 11 $x - 39: 0000000000000e28 0 NOTYPE LOCAL DEFAULT 14 $x - 40: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 41: 0000000000000a10 0 NOTYPE LOCAL DEFAULT 13 $x - 42: 0000000000000a10 0 FUNC LOCAL DEFAULT 13 deregister_tm_clones - 43: 0000000000000a40 0 FUNC LOCAL DEFAULT 13 register_tm_clones - 44: 0000000000012088 0 NOTYPE LOCAL DEFAULT 23 $d - 45: 0000000000000a80 0 FUNC LOCAL DEFAULT 13 __do_global_dtors_aux - 46: 0000000000012090 1 OBJECT LOCAL DEFAULT 24 completed.0 - 47: 0000000000011dc8 0 NOTYPE LOCAL DEFAULT 19 $d - 48: 0000000000011dc8 0 OBJECT LOCAL DEFAULT 19 __do_global_dtors_aux_fini_array_entry - 49: 0000000000000ad0 0 FUNC LOCAL DEFAULT 13 frame_dummy - 50: 0000000000011dc0 0 NOTYPE LOCAL DEFAULT 18 $d - 51: 0000000000011dc0 0 OBJECT LOCAL DEFAULT 18 __frame_dummy_init_array_entry - 52: 0000000000001098 0 NOTYPE LOCAL DEFAULT 17 $d - 53: 0000000000012090 0 NOTYPE LOCAL DEFAULT 24 $d - 54: 0000000000000000 0 FILE LOCAL DEFAULT ABS complex.c - 55: 0000000000000ad4 0 NOTYPE LOCAL DEFAULT 13 $x.0 - 56: 0000000000012098 0 NOTYPE LOCAL DEFAULT 24 $d.1 - 57: 0000000000000e34 0 NOTYPE LOCAL DEFAULT 15 $d.2 - 58: 000000000000002a 0 NOTYPE LOCAL DEFAULT 25 $d.3 - 59: 00000000000010f8 0 NOTYPE LOCAL DEFAULT 17 $d.4 - 60: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 61: 0000000000001268 0 NOTYPE LOCAL DEFAULT 17 $d - 62: 0000000000001268 0 OBJECT LOCAL DEFAULT 17 __FRAME_END__ - 63: 0000000000000000 0 FILE LOCAL DEFAULT ABS - 64: 0000000000011dd0 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC - 65: 000000000000100c 0 NOTYPE LOCAL DEFAULT 16 __GNU_EH_FRAME_HDR - 66: 0000000000011fb0 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ - 67: 0000000000000880 0 NOTYPE LOCAL DEFAULT 12 $x - 68: 0000000000000d38 84 FUNC GLOBAL DEFAULT 13 printHelp - 69: 0000000000000000 0 FUNC GLOBAL DEFAULT UND exit@GLIBC_2.17 - 70: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.34 - 71: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable - 72: 0000000000012080 0 NOTYPE WEAK DEFAULT 23 data_start - 73: 0000000000012090 0 NOTYPE GLOBAL DEFAULT 24 __bss_start__ - 74: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 - 75: 00000000000120a8 0 NOTYPE GLOBAL DEFAULT 24 _bss_end__ - 76: 0000000000012090 0 NOTYPE GLOBAL DEFAULT 23 _edata - 77: 0000000000000ca8 144 FUNC GLOBAL DEFAULT 13 openFile - 78: 0000000000000e1c 0 FUNC GLOBAL HIDDEN 14 _fini - 79: 00000000000120a8 0 NOTYPE GLOBAL DEFAULT 24 __bss_end__ - 80: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fclose@GLIBC_2.17 - 81: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fopen@GLIBC_2.17 - 82: 0000000000000d8c 64 FUNC GLOBAL DEFAULT 13 saveFile - 83: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strncmp@GLIBC_2.17 - 84: 0000000000012098 8 OBJECT GLOBAL DEFAULT 24 currentFilename - 85: 0000000000000000 0 FUNC GLOBAL DEFAULT UND rewind@GLIBC_2.17 - 86: 0000000000012080 0 NOTYPE GLOBAL DEFAULT 23 __data_start - 87: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND stdin@GLIBC_2.17 - 88: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strdup@GLIBC_2.17 - 89: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 90: 0000000000012088 0 OBJECT GLOBAL HIDDEN 23 __dso_handle - 91: 0000000000000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.17 - 92: 0000000000000e30 4 OBJECT GLOBAL DEFAULT 15 _IO_stdin_used - 93: 0000000000000000 0 FUNC GLOBAL DEFAULT UND puts@GLIBC_2.17 - 94: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcmp@GLIBC_2.17 - 95: 00000000000120a0 8 OBJECT GLOBAL DEFAULT 24 currentFile - 96: 00000000000120a8 0 NOTYPE GLOBAL DEFAULT 24 _end - 97: 0000000000000000 0 FUNC GLOBAL DEFAULT UND free@GLIBC_2.17 - 98: 00000000000009c0 52 FUNC GLOBAL DEFAULT 13 _start - 99: 00000000000120a8 0 NOTYPE GLOBAL DEFAULT 24 __end__ - 100: 0000000000000dcc 80 FUNC GLOBAL DEFAULT 13 closeFile - 101: 0000000000012090 0 NOTYPE GLOBAL DEFAULT 24 __bss_start - 102: 0000000000000ad4 104 FUNC GLOBAL DEFAULT 13 main - 103: 0000000000012090 0 OBJECT GLOBAL HIDDEN 23 __TMC_END__ - 104: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - 105: 0000000000000b3c 364 FUNC GLOBAL DEFAULT 13 handleInput - 106: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcspn@GLIBC_2.17 - 107: 0000000000000000 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.17 - 108: 0000000000000860 0 FUNC GLOBAL HIDDEN 11 _init - 109: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fgets@GLIBC_2.17 diff --git a/src/test/correct/complex/clang_pic/complex.adt b/src/test/correct/complex/clang_pic/complex.adt deleted file mode 100644 index 4fd2fe828..000000000 --- a/src/test/correct/complex/clang_pic/complex.adt +++ /dev/null @@ -1,1852 +0,0 @@ -Project(Attrs([Attr("filename","\"clang_pic/complex.out\""), -Attr("image-specification","(declare abi (name str))\n(declare arch (name str))\n(declare base-address (addr int))\n(declare bias (off int))\n(declare bits (size int))\n(declare code-region (addr int) (size int) (off int))\n(declare code-start (addr int))\n(declare entry-point (addr int))\n(declare external-reference (addr int) (name str))\n(declare format (name str))\n(declare is-executable (flag bool))\n(declare is-little-endian (flag bool))\n(declare llvm:base-address (addr int))\n(declare llvm:code-entry (name str) (off int) (size int))\n(declare llvm:coff-import-library (name str))\n(declare llvm:coff-virtual-section-header (name str) (addr int) (size int))\n(declare llvm:elf-program-header (name str) (off int) (size int))\n(declare llvm:elf-program-header-flags (name str) (ld bool) (r bool) \n (w bool) (x bool))\n(declare llvm:elf-virtual-program-header (name str) (addr int) (size int))\n(declare llvm:entry-point (addr int))\n(declare llvm:macho-symbol (name str) (value int))\n(declare llvm:name-reference (at int) (name str))\n(declare llvm:relocation (at int) (addr int))\n(declare llvm:section-entry (name str) (addr int) (size int) (off int))\n(declare llvm:section-flags (name str) (r bool) (w bool) (x bool))\n(declare llvm:segment-command (name str) (off int) (size int))\n(declare llvm:segment-command-flags (name str) (r bool) (w bool) (x bool))\n(declare llvm:symbol-entry (name str) (addr int) (size int) (off int)\n (value int))\n(declare llvm:virtual-segment-command (name str) (addr int) (size int))\n(declare mapped (addr int) (size int) (off int))\n(declare named-region (addr int) (size int) (name str))\n(declare named-symbol (addr int) (name str))\n(declare require (name str))\n(declare section (addr int) (size int))\n(declare segment (addr int) (size int) (r bool) (w bool) (x bool))\n(declare subarch (name str))\n(declare symbol-chunk (addr int) (size int) (root int))\n(declare symbol-value (addr int) (value int))\n(declare system (name str))\n(declare vendor (name str))\n\n(abi unknown)\n(arch aarch64)\n(base-address 0)\n(bias 0)\n(bits 64)\n(code-region 3632 20 3632)\n(code-region 2432 1200 2432)\n(code-region 2160 272 2160)\n(code-region 2136 24 2136)\n(code-start 2484)\n(code-start 3320)\n(code-start 3132)\n(code-start 3408)\n(code-start 2432)\n(code-start 3512)\n(code-start 2708)\n(code-start 2816)\n(entry-point 2432)\n(external-reference 73640 _ITM_deregisterTMCloneTable)\n(external-reference 73648 __cxa_finalize)\n(external-reference 73672 __gmon_start__)\n(external-reference 73696 _ITM_registerTMCloneTable)\n(external-reference 73728 exit)\n(external-reference 73736 __libc_start_main)\n(external-reference 73744 __cxa_finalize)\n(external-reference 73752 fclose)\n(external-reference 73760 fopen)\n(external-reference 73768 strncmp)\n(external-reference 73776 rewind)\n(external-reference 73784 strdup)\n(external-reference 73792 __gmon_start__)\n(external-reference 73800 abort)\n(external-reference 73808 strcmp)\n(external-reference 73816 free)\n(external-reference 73824 strcspn)\n(external-reference 73832 printf)\n(external-reference 73840 fgets)\n(format elf)\n(is-executable true)\n(is-little-endian true)\n(llvm:base-address 0)\n(llvm:code-entry fgets 0 0)\n(llvm:code-entry printf 0 0)\n(llvm:code-entry strcspn 0 0)\n(llvm:code-entry free 0 0)\n(llvm:code-entry strcmp 0 0)\n(llvm:code-entry abort 0 0)\n(llvm:code-entry strdup 0 0)\n(llvm:code-entry rewind 0 0)\n(llvm:code-entry strncmp 0 0)\n(llvm:code-entry fopen 0 0)\n(llvm:code-entry fclose 0 0)\n(llvm:code-entry __cxa_finalize 0 0)\n(llvm:code-entry __libc_start_main 0 0)\n(llvm:code-entry exit 0 0)\n(llvm:code-entry fgets@GLIBC_2.17 0 0)\n(llvm:code-entry _init 2136 0)\n(llvm:code-entry printf@GLIBC_2.17 0 0)\n(llvm:code-entry strcspn@GLIBC_2.17 0 0)\n(llvm:code-entry handleInput 2816 316)\n(llvm:code-entry main 2708 108)\n(llvm:code-entry closeFile 3512 120)\n(llvm:code-entry _start 2432 52)\n(llvm:code-entry free@GLIBC_2.17 0 0)\n(llvm:code-entry strcmp@GLIBC_2.17 0 0)\n(llvm:code-entry abort@GLIBC_2.17 0 0)\n(llvm:code-entry strdup@GLIBC_2.17 0 0)\n(llvm:code-entry rewind@GLIBC_2.17 0 0)\n(llvm:code-entry strncmp@GLIBC_2.17 0 0)\n(llvm:code-entry saveFile 3408 104)\n(llvm:code-entry fopen@GLIBC_2.17 0 0)\n(llvm:code-entry fclose@GLIBC_2.17 0 0)\n(llvm:code-entry _fini 3632 0)\n(llvm:code-entry openFile 3132 188)\n(llvm:code-entry __cxa_finalize@GLIBC_2.17 0 0)\n(llvm:code-entry __libc_start_main@GLIBC_2.34 0 0)\n(llvm:code-entry exit@GLIBC_2.17 0 0)\n(llvm:code-entry printHelp 3320 88)\n(llvm:code-entry frame_dummy 2704 0)\n(llvm:code-entry __do_global_dtors_aux 2624 0)\n(llvm:code-entry register_tm_clones 2560 0)\n(llvm:code-entry deregister_tm_clones 2512 0)\n(llvm:code-entry call_weak_fn 2484 20)\n(llvm:code-entry .fini 3632 20)\n(llvm:code-entry .text 2432 1200)\n(llvm:code-entry .plt 2160 272)\n(llvm:code-entry .init 2136 24)\n(llvm:elf-program-header 08 7600 592)\n(llvm:elf-program-header 07 0 0)\n(llvm:elf-program-header 06 4140 100)\n(llvm:elf-program-header 05 596 68)\n(llvm:elf-program-header 04 7616 480)\n(llvm:elf-program-header 03 7600 728)\n(llvm:elf-program-header 02 0 4632)\n(llvm:elf-program-header 01 568 27)\n(llvm:elf-program-header 00 64 504)\n(llvm:elf-program-header-flags 08 false true false false)\n(llvm:elf-program-header-flags 07 false true true false)\n(llvm:elf-program-header-flags 06 false true false false)\n(llvm:elf-program-header-flags 05 false true false false)\n(llvm:elf-program-header-flags 04 false true true false)\n(llvm:elf-program-header-flags 03 true true true false)\n(llvm:elf-program-header-flags 02 true true false true)\n(llvm:elf-program-header-flags 01 false true false false)\n(llvm:elf-program-header-flags 00 false true false false)\n(llvm:elf-virtual-program-header 08 73136 592)\n(llvm:elf-virtual-program-header 07 0 0)\n(llvm:elf-virtual-program-header 06 4140 100)\n(llvm:elf-virtual-program-header 05 596 68)\n(llvm:elf-virtual-program-header 04 73152 480)\n(llvm:elf-virtual-program-header 03 73136 752)\n(llvm:elf-virtual-program-header 02 0 4632)\n(llvm:elf-virtual-program-header 01 568 27)\n(llvm:elf-virtual-program-header 00 64 504)\n(llvm:entry-point 2432)\n(llvm:name-reference 73840 fgets)\n(llvm:name-reference 73832 printf)\n(llvm:name-reference 73824 strcspn)\n(llvm:name-reference 73816 free)\n(llvm:name-reference 73808 strcmp)\n(llvm:name-reference 73800 abort)\n(llvm:name-reference 73792 __gmon_start__)\n(llvm:name-reference 73784 strdup)\n(llvm:name-reference 73776 rewind)\n(llvm:name-reference 73768 strncmp)\n(llvm:name-reference 73760 fopen)\n(llvm:name-reference 73752 fclose)\n(llvm:name-reference 73744 __cxa_finalize)\n(llvm:name-reference 73736 __libc_start_main)\n(llvm:name-reference 73728 exit)\n(llvm:name-reference 73696 _ITM_registerTMCloneTable)\n(llvm:name-reference 73672 __gmon_start__)\n(llvm:name-reference 73648 __cxa_finalize)\n(llvm:name-reference 73640 _ITM_deregisterTMCloneTable)\n(llvm:section-entry .shstrtab 0 259 11873)\n(llvm:section-entry .strtab 0 857 11016)\n(llvm:section-entry .symtab 0 2616 8400)\n(llvm:section-entry .comment 0 71 8328)\n(llvm:section-entry .bss 73864 24 8328)\n(llvm:section-entry .data 73848 16 8312)\n(llvm:section-entry .got.plt 73704 144 8168)\n(llvm:section-entry .got 73632 72 8096)\n(llvm:section-entry .dynamic 73152 480 7616)\n(llvm:section-entry .fini_array 73144 8 7608)\n(llvm:section-entry .init_array 73136 8 7600)\n(llvm:section-entry .eh_frame 4240 392 4240)\n(llvm:section-entry .eh_frame_hdr 4140 100 4140)\n(llvm:section-entry .rodata 3652 485 3652)\n(llvm:section-entry .fini 3632 20 3632)\n(llvm:section-entry .text 2432 1200 2432)\n(llvm:section-entry .plt 2160 272 2160)\n(llvm:section-entry .init 2136 24 2136)\n(llvm:section-entry .rela.plt 1776 360 1776)\n(llvm:section-entry .rela.dyn 1512 264 1512)\n(llvm:section-entry .gnu.version_r 1464 48 1464)\n(llvm:section-entry .gnu.version 1420 42 1420)\n(llvm:section-entry .dynstr 1200 220 1200)\n(llvm:section-entry .dynsym 696 504 696)\n(llvm:section-entry .gnu.hash 664 28 664)\n(llvm:section-entry .note.ABI-tag 632 32 632)\n(llvm:section-entry .note.gnu.build-id 596 36 596)\n(llvm:section-entry .interp 568 27 568)\n(llvm:section-flags .shstrtab true false false)\n(llvm:section-flags .strtab true false false)\n(llvm:section-flags .symtab true false false)\n(llvm:section-flags .comment true false false)\n(llvm:section-flags .bss true true false)\n(llvm:section-flags .data true true false)\n(llvm:section-flags .got.plt true true false)\n(llvm:section-flags .got true true false)\n(llvm:section-flags .dynamic true true false)\n(llvm:section-flags .fini_array true true false)\n(llvm:section-flags .init_array true true false)\n(llvm:section-flags .eh_frame true false false)\n(llvm:section-flags .eh_frame_hdr true false false)\n(llvm:section-flags .rodata true false false)\n(llvm:section-flags .fini true false true)\n(llvm:section-flags .text true false true)\n(llvm:section-flags .plt true false true)\n(llvm:section-flags .init true false true)\n(llvm:section-flags .rela.plt true false false)\n(llvm:section-flags .rela.dyn true false false)\n(llvm:section-flags .gnu.version_r true false false)\n(llvm:section-flags .gnu.version true false false)\n(llvm:section-flags .dynstr true false false)\n(llvm:section-flags .dynsym true false false)\n(llvm:section-flags .gnu.hash true false false)\n(llvm:section-flags .note.ABI-tag true false false)\n(llvm:section-flags .note.gnu.build-id true false false)\n(llvm:section-flags .interp true false false)\n(llvm:symbol-entry fgets 0 0 0 0)\n(llvm:symbol-entry printf 0 0 0 0)\n(llvm:symbol-entry strcspn 0 0 0 0)\n(llvm:symbol-entry free 0 0 0 0)\n(llvm:symbol-entry strcmp 0 0 0 0)\n(llvm:symbol-entry abort 0 0 0 0)\n(llvm:symbol-entry strdup 0 0 0 0)\n(llvm:symbol-entry rewind 0 0 0 0)\n(llvm:symbol-entry strncmp 0 0 0 0)\n(llvm:symbol-entry fopen 0 0 0 0)\n(llvm:symbol-entry fclose 0 0 0 0)\n(llvm:symbol-entry __cxa_finalize 0 0 0 0)\n(llvm:symbol-entry __libc_start_main 0 0 0 0)\n(llvm:symbol-entry exit 0 0 0 0)\n(llvm:symbol-entry fgets@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry _init 2136 0 2136 2136)\n(llvm:symbol-entry printf@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strcspn@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry handleInput 2816 316 2816 2816)\n(llvm:symbol-entry main 2708 108 2708 2708)\n(llvm:symbol-entry closeFile 3512 120 3512 3512)\n(llvm:symbol-entry _start 2432 52 2432 2432)\n(llvm:symbol-entry free@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strcmp@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry abort@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strdup@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry rewind@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strncmp@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry saveFile 3408 104 3408 3408)\n(llvm:symbol-entry fopen@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry fclose@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry _fini 3632 0 3632 3632)\n(llvm:symbol-entry openFile 3132 188 3132 3132)\n(llvm:symbol-entry __cxa_finalize@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry __libc_start_main@GLIBC_2.34 0 0 0 0)\n(llvm:symbol-entry exit@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry printHelp 3320 88 3320 3320)\n(llvm:symbol-entry frame_dummy 2704 0 2704 2704)\n(llvm:symbol-entry __do_global_dtors_aux 2624 0 2624 2624)\n(llvm:symbol-entry register_tm_clones 2560 0 2560 2560)\n(llvm:symbol-entry deregister_tm_clones 2512 0 2512 2512)\n(llvm:symbol-entry call_weak_fn 2484 20 2484 2484)\n(mapped 0 4632 0)\n(mapped 73136 728 7600)\n(named-region 0 4632 02)\n(named-region 73136 752 03)\n(named-region 568 27 .interp)\n(named-region 596 36 .note.gnu.build-id)\n(named-region 632 32 .note.ABI-tag)\n(named-region 664 28 .gnu.hash)\n(named-region 696 504 .dynsym)\n(named-region 1200 220 .dynstr)\n(named-region 1420 42 .gnu.version)\n(named-region 1464 48 .gnu.version_r)\n(named-region 1512 264 .rela.dyn)\n(named-region 1776 360 .rela.plt)\n(named-region 2136 24 .init)\n(named-region 2160 272 .plt)\n(named-region 2432 1200 .text)\n(named-region 3632 20 .fini)\n(named-region 3652 485 .rodata)\n(named-region 4140 100 .eh_frame_hdr)\n(named-region 4240 392 .eh_frame)\n(named-region 73136 8 .init_array)\n(named-region 73144 8 .fini_array)\n(named-region 73152 480 .dynamic)\n(named-region 73632 72 .got)\n(named-region 73704 144 .got.plt)\n(named-region 73848 16 .data)\n(named-region 73864 24 .bss)\n(named-region 0 71 .comment)\n(named-region 0 2616 .symtab)\n(named-region 0 857 .strtab)\n(named-region 0 259 .shstrtab)\n(named-symbol 2484 call_weak_fn)\n(named-symbol 2512 deregister_tm_clones)\n(named-symbol 2560 register_tm_clones)\n(named-symbol 2624 __do_global_dtors_aux)\n(named-symbol 2704 frame_dummy)\n(named-symbol 3320 printHelp)\n(named-symbol 0 exit@GLIBC_2.17)\n(named-symbol 0 __libc_start_main@GLIBC_2.34)\n(named-symbol 0 __cxa_finalize@GLIBC_2.17)\n(named-symbol 3132 openFile)\n(named-symbol 3632 _fini)\n(named-symbol 0 fclose@GLIBC_2.17)\n(named-symbol 0 fopen@GLIBC_2.17)\n(named-symbol 3408 saveFile)\n(named-symbol 0 strncmp@GLIBC_2.17)\n(named-symbol 0 rewind@GLIBC_2.17)\n(named-symbol 0 strdup@GLIBC_2.17)\n(named-symbol 0 abort@GLIBC_2.17)\n(named-symbol 0 strcmp@GLIBC_2.17)\n(named-symbol 0 free@GLIBC_2.17)\n(named-symbol 2432 _start)\n(named-symbol 3512 closeFile)\n(named-symbol 2708 main)\n(named-symbol 2816 handleInput)\n(named-symbol 0 strcspn@GLIBC_2.17)\n(named-symbol 0 printf@GLIBC_2.17)\n(named-symbol 2136 _init)\n(named-symbol 0 fgets@GLIBC_2.17)\n(named-symbol 0 exit)\n(named-symbol 0 __libc_start_main)\n(named-symbol 0 __cxa_finalize)\n(named-symbol 0 fclose)\n(named-symbol 0 fopen)\n(named-symbol 0 strncmp)\n(named-symbol 0 rewind)\n(named-symbol 0 strdup)\n(named-symbol 0 abort)\n(named-symbol 0 strcmp)\n(named-symbol 0 free)\n(named-symbol 0 strcspn)\n(named-symbol 0 printf)\n(named-symbol 0 fgets)\n(require libc.so.6)\n(section 568 27)\n(section 596 36)\n(section 632 32)\n(section 664 28)\n(section 696 504)\n(section 1200 220)\n(section 1420 42)\n(section 1464 48)\n(section 1512 264)\n(section 1776 360)\n(section 2136 24)\n(section 2160 272)\n(section 2432 1200)\n(section 3632 20)\n(section 3652 485)\n(section 4140 100)\n(section 4240 392)\n(section 73136 8)\n(section 73144 8)\n(section 73152 480)\n(section 73632 72)\n(section 73704 144)\n(section 73848 16)\n(section 73864 24)\n(section 0 71)\n(section 0 2616)\n(section 0 857)\n(section 0 259)\n(segment 0 4632 true false true)\n(segment 73136 752 true true false)\n(subarch v8)\n(symbol-chunk 2484 20 2484)\n(symbol-chunk 3320 88 3320)\n(symbol-chunk 3132 188 3132)\n(symbol-chunk 3408 104 3408)\n(symbol-chunk 2432 52 2432)\n(symbol-chunk 3512 120 3512)\n(symbol-chunk 2708 108 2708)\n(symbol-chunk 2816 316 2816)\n(symbol-value 2484 2484)\n(symbol-value 2512 2512)\n(symbol-value 2560 2560)\n(symbol-value 2624 2624)\n(symbol-value 2704 2704)\n(symbol-value 3320 3320)\n(symbol-value 3132 3132)\n(symbol-value 3632 3632)\n(symbol-value 3408 3408)\n(symbol-value 2432 2432)\n(symbol-value 3512 3512)\n(symbol-value 2708 2708)\n(symbol-value 2816 2816)\n(symbol-value 2136 2136)\n(symbol-value 0 0)\n(system \"\")\n(vendor \"\")\n"), -Attr("abi-name","\"aarch64-linux-gnu-elf\"")]), -Sections([Section(".shstrtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x80\x09\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x68\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1d\x00\x1c\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x12\x00\x00\x00\x00\x00\x00\x18\x12\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\xb0\x1d\x00\x00\x00\x00\x00\x00\xb0\x1d\x01\x00\x00\x00\x00\x00\xb0\x1d\x01"), -Section(".strtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x80\x09\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x68\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1d\x00\x1c\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x12\x00\x00\x00\x00\x00\x00\x18\x12\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\xb0\x1d\x00\x00\x00\x00\x00\x00\xb0\x1d\x01\x00\x00\x00\x00\x00\xb0\x1d\x01\x00\x00\x00\x00\x00\xd8\x02\x00\x00\x00\x00\x00\x00\xf0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\xc0\x1d\x00\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\xe0\x01\x00\x00\x00\x00\x00\x00\xe0\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x50\xe5\x74\x64\x04\x00\x00\x00\x2c\x10\x00\x00\x00\x00\x00\x00\x2c\x10\x00\x00\x00\x00\x00\x00\x2c\x10\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x51\xe5\x74\x64\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x52\xe5\x74\x64\x04\x00\x00\x00\xb0\x1d\x00\x00\x00\x00\x00\x00\xb0\x1d\x01\x00\x00\x00\x00\x00\xb0\x1d\x01\x00\x00\x00\x00\x00\x50\x02\x00\x00\x00\x00\x00\x00\x50\x02\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00\x00\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\xd7\xfd\xf0\x73\x59\xb5\x8f\x40\x16\xa0\xa3\x70\xba\x7d\xfe\x3c\x87\x8f\xba\x83\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\x58\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x17\x00\x78\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".symtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x80\x09\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x68\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1d\x00\x1c\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x12\x00\x00\x00\x00\x00\x00\x18\x12\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\xb0\x1d\x00\x00\x00\x00\x00\x00\xb0\x1d\x01\x00\x00\x00\x00\x00\xb0\x1d\x01\x00\x00\x00\x00\x00\xd8\x02\x00\x00\x00\x00\x00\x00\xf0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\xc0\x1d\x00\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\xc0\x1d\x01\x00\x00\x00\x00\x00\xe0\x01\x00\x00\x00\x00\x00\x00\xe0\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x50\xe5\x74\x64\x04\x00\x00\x00\x2c\x10\x00\x00\x00\x00\x00\x00\x2c\x10\x00\x00\x00\x00\x00\x00\x2c\x10\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x51\xe5\x74\x64\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x52\xe5\x74\x64\x04\x00\x00\x00\xb0\x1d\x00\x00\x00\x00\x00\x00\xb0\x1d\x01\x00\x00\x00\x00\x00\xb0\x1d\x01\x00\x00\x00\x00\x00\x50\x02\x00\x00\x00\x00\x00\x00\x50\x02\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00\x00\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\xd7\xfd\xf0\x73\x59\xb5\x8f\x40\x16\xa0\xa3\x70\xba\x7d\xfe\x3c\x87\x8f\xba\x83\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\x58\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x17\x00\x78\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x5f\x63\x78\x61\x5f\x66\x69\x6e\x61\x6c\x69\x7a\x65\x00\x66\x67\x65\x74\x73\x00\x73\x74\x72\x63\x73\x70\x6e\x00\x5f\x5f\x6c\x69\x62\x63\x5f\x73\x74\x61\x72\x74\x5f\x6d\x61\x69\x6e\x00\x73\x74\x72\x63\x6d\x70\x00\x66\x6f\x70\x65\x6e\x00\x66\x63\x6c\x6f\x73\x65\x00\x73\x74\x72\x6e\x63\x6d\x70\x00\x66\x72\x65\x65\x00\x73\x74\x72\x64\x75\x70\x00\x73\x74\x64\x69\x6e\x00\x61\x62\x6f\x72\x74\x00\x65\x78\x69\x74\x00\x72\x65\x77\x69\x6e\x64\x00\x70\x72\x69\x6e\x74\x66\x00\x6c\x69\x62\x63\x2e\x73\x6f\x2e\x36\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x33\x34\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x31\x37\x00\x5f\x49\x54\x4d\x5f\x64\x65\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x5f\x5f\x67\x6d\x6f\x6e\x5f\x73\x74\x61\x72\x74\x5f\x5f\x00\x5f\x49\x54\x4d\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x02\x00\x02\x00\x00\x00\x01\x00\x02\x00\x77\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\xb4\x91\x96\x06\x00\x00\x03\x00\x81\x00\x00\x00\x10\x00\x00\x00\x97\x91\x96\x06\x00\x00\x02\x00\x8c\x00\x00\x00\x00\x00\x00\x00\xb0\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x90\x0a\x00\x00\x00\x00\x00\x00\xb8\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x40\x0a\x00\x00\x00\x00\x00\x00\xb8\x1f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x90\x20\x01\x00\x00\x00\x00\x00\xd0\x1f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x98\x20\x01\x00\x00\x00\x00\x00\xd8\x1f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x94\x0a\x00\x00\x00\x00\x00\x00\x80\x20\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x80\x20\x01\x00\x00\x00\x00\x00\xa8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x54\x00\x00\x94\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6\xf0\x7b\xbf\xa9\x90\x00\x00\xb0\x11\xfe\x47\xf9\x10\xe2\x3f\x91\x20\x02\x1f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x90\x00\x00\xd0\x11\x02\x40\xf9\x10\x02\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x06\x40\xf9\x10\x22\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x0a\x40\xf9\x10\x42\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x0e\x40\xf9\x10\x62\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x12\x40\xf9\x10\x82\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x16\x40\xf9\x10\xa2\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x1a\x40\xf9\x10\xc2\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x1e\x40\xf9\x10\xe2\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x22\x40\xf9\x10\x02\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x26\x40\xf9\x10\x22\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x2a\x40\xf9\x10\x42\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x2e\x40\xf9\x10\x62\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x32\x40\xf9\x10\x82\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x36\x40\xf9\x10\xa2\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x3a\x40\xf9\x10\xc2\x01\x91\x20\x02\x1f\xd6\x1f\x20\x03\xd5\x1d\x00\x80\xd2\x1e\x00\x80\xd2\xe5\x03\x00\xaa\xe1\x03\x40\xf9\xe2\x23\x00\x91\xe6\x03\x00\x91\x80\x00\x00\xb0\x00\xec\x47\xf9\x03\x00\x80\xd2\x04\x00\x80\xd2\xbd\xff\xff\x97\xdc\xff\xff\x97\x80\x00\x00\xb0\x00\xe4\x47\xf9\x40\x00\x00\xb4\xd4\xff\xff\x17\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x80\x00\x00\xd0\x00\x20\x02\x91\x81\x00\x00\xd0\x21\x20\x02\x91\x3f\x00\x00\xeb\xc0\x00\x00\x54\x81\x00\x00\xb0\x21\xd4\x47\xf9\x61\x00\x00\xb4\xf0\x03\x01\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x80\x00\x00\xd0\x00\x20\x02\x91\x81\x00\x00\xd0\x21\x20\x02\x91\x21\x00\x00\xcb\x22\xfc\x7f\xd3\x41\x0c\x81\x8b\x21\xfc\x41\x93\xc1\x00\x00\xb4\x82\x00\x00\xb0\x42\xf0\x47\xf9\x62\x00\x00\xb4\xf0\x03\x02\xaa\x00\x02\x1f\xd6"), -Section(".comment", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x80\x09\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x68\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1d\x00\x1c\x00\x06\x00\x00\x00\x04\x00\x00"), -Section(".interp", 0x238, "\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00"), -Section(".note.gnu.build-id", 0x254, "\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\xd7\xfd\xf0\x73\x59\xb5\x8f\x40\x16\xa0\xa3\x70\xba\x7d\xfe\x3c\x87\x8f\xba\x83"), -Section(".note.ABI-tag", 0x278, "\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00"), -Section(".gnu.hash", 0x298, "\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".dynsym", 0x2B8, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\x58\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x17\x00\x78\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".dynstr", 0x4B0, "\x00\x5f\x5f\x63\x78\x61\x5f\x66\x69\x6e\x61\x6c\x69\x7a\x65\x00\x66\x67\x65\x74\x73\x00\x73\x74\x72\x63\x73\x70\x6e\x00\x5f\x5f\x6c\x69\x62\x63\x5f\x73\x74\x61\x72\x74\x5f\x6d\x61\x69\x6e\x00\x73\x74\x72\x63\x6d\x70\x00\x66\x6f\x70\x65\x6e\x00\x66\x63\x6c\x6f\x73\x65\x00\x73\x74\x72\x6e\x63\x6d\x70\x00\x66\x72\x65\x65\x00\x73\x74\x72\x64\x75\x70\x00\x73\x74\x64\x69\x6e\x00\x61\x62\x6f\x72\x74\x00\x65\x78\x69\x74\x00\x72\x65\x77\x69\x6e\x64\x00\x70\x72\x69\x6e\x74\x66\x00\x6c\x69\x62\x63\x2e\x73\x6f\x2e\x36\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x33\x34\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x31\x37\x00\x5f\x49\x54\x4d\x5f\x64\x65\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x5f\x5f\x67\x6d\x6f\x6e\x5f\x73\x74\x61\x72\x74\x5f\x5f\x00\x5f\x49\x54\x4d\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00"), -Section(".gnu.version", 0x58C, "\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x02\x00\x02\x00"), -Section(".gnu.version_r", 0x5B8, "\x01\x00\x02\x00\x77\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\xb4\x91\x96\x06\x00\x00\x03\x00\x81\x00\x00\x00\x10\x00\x00\x00\x97\x91\x96\x06\x00\x00\x02\x00\x8c\x00\x00\x00\x00\x00\x00\x00"), -Section(".rela.dyn", 0x5E8, "\xb0\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x90\x0a\x00\x00\x00\x00\x00\x00\xb8\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x40\x0a\x00\x00\x00\x00\x00\x00\xb8\x1f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x90\x20\x01\x00\x00\x00\x00\x00\xd0\x1f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x98\x20\x01\x00\x00\x00\x00\x00\xd8\x1f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x94\x0a\x00\x00\x00\x00\x00\x00\x80\x20\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x80\x20\x01\x00\x00\x00\x00\x00\xa8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".rela.plt", 0x6F0, "\x00\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x20\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".init", 0x858, "\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x54\x00\x00\x94\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".plt", 0x870, "\xf0\x7b\xbf\xa9\x90\x00\x00\xb0\x11\xfe\x47\xf9\x10\xe2\x3f\x91\x20\x02\x1f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x90\x00\x00\xd0\x11\x02\x40\xf9\x10\x02\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x06\x40\xf9\x10\x22\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x0a\x40\xf9\x10\x42\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x0e\x40\xf9\x10\x62\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x12\x40\xf9\x10\x82\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x16\x40\xf9\x10\xa2\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x1a\x40\xf9\x10\xc2\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x1e\x40\xf9\x10\xe2\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x22\x40\xf9\x10\x02\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x26\x40\xf9\x10\x22\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x2a\x40\xf9\x10\x42\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x2e\x40\xf9\x10\x62\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x32\x40\xf9\x10\x82\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x36\x40\xf9\x10\xa2\x01\x91\x20\x02\x1f\xd6\x90\x00\x00\xd0\x11\x3a\x40\xf9\x10\xc2\x01\x91\x20\x02\x1f\xd6"), -Section(".text", 0x980, "\x1f\x20\x03\xd5\x1d\x00\x80\xd2\x1e\x00\x80\xd2\xe5\x03\x00\xaa\xe1\x03\x40\xf9\xe2\x23\x00\x91\xe6\x03\x00\x91\x80\x00\x00\xb0\x00\xec\x47\xf9\x03\x00\x80\xd2\x04\x00\x80\xd2\xbd\xff\xff\x97\xdc\xff\xff\x97\x80\x00\x00\xb0\x00\xe4\x47\xf9\x40\x00\x00\xb4\xd4\xff\xff\x17\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x80\x00\x00\xd0\x00\x20\x02\x91\x81\x00\x00\xd0\x21\x20\x02\x91\x3f\x00\x00\xeb\xc0\x00\x00\x54\x81\x00\x00\xb0\x21\xd4\x47\xf9\x61\x00\x00\xb4\xf0\x03\x01\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x80\x00\x00\xd0\x00\x20\x02\x91\x81\x00\x00\xd0\x21\x20\x02\x91\x21\x00\x00\xcb\x22\xfc\x7f\xd3\x41\x0c\x81\x8b\x21\xfc\x41\x93\xc1\x00\x00\xb4\x82\x00\x00\xb0\x42\xf0\x47\xf9\x62\x00\x00\xb4\xf0\x03\x02\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\xfd\x7b\xbe\xa9\xfd\x03\x00\x91\xf3\x0b\x00\xf9\x93\x00\x00\xd0\x60\x22\x42\x39\x40\x01\x00\x35\x80\x00\x00\xb0\x00\xd8\x47\xf9\x80\x00\x00\xb4\x80\x00\x00\xd0\x00\x40\x40\xf9\x91\xff\xff\x97\xd8\xff\xff\x97\x20\x00\x80\x52\x60\x22\x02\x39\xf3\x0b\x40\xf9\xfd\x7b\xc2\xa8\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\xdc\xff\xff\x17\xff\xc3\x04\xd1\xfd\x7b\x11\xa9\xfc\x93\x00\xf9\xfd\x43\x04\x91\xbf\xc3\x1f\xb8\x01\x00\x00\x14\x00\x00\x00\x90\x00\x20\x39\x91\xab\xff\xff\x97\x88\x00\x00\xb0\x08\xe1\x47\xf9\x02\x01\x40\xf9\xe0\x33\x00\x91\xe0\x03\x00\xf9\x01\x20\x80\x52\xa8\xff\xff\x97\xe0\x03\x40\xf9\x01\x00\x00\x90\x21\x7c\x3f\x91\x9c\xff\xff\x97\xe9\x03\x00\xaa\xe0\x03\x40\xf9\xe8\x03\x00\xaa\x08\x01\x09\x8b\x1f\x01\x00\x39\x02\x00\x00\x94\xec\xff\xff\x17\xff\x83\x00\xd1\xfd\x7b\x01\xa9\xfd\x43\x00\x91\xe0\x07\x00\xf9\xe0\x07\x40\xf9\x01\x00\x00\x90\x21\x68\x39\x91\x85\xff\xff\x97\x08\x00\x00\x71\xe8\x07\x9f\x1a\x88\x00\x00\x37\x01\x00\x00\x14\x72\x00\x00\x94\x3f\x00\x00\x14\xe0\x07\x40\xf9\x01\x00\x00\x90\x21\x7c\x39\x91\xa2\x00\x80\xd2\x66\xff\xff\x97\x08\x00\x00\x71\xe8\x07\x9f\x1a\x08\x01\x00\x37\x01\x00\x00\x14\xe8\x07\x40\xf9\x08\x15\x00\x91\xe8\x03\x00\xf9\xe0\x03\x40\xf9\x34\x00\x00\x94\x2f\x00\x00\x14\xe0\x07\x40\xf9\x01\x00\x00\x90\x21\x94\x39\x91\x6c\xff\xff\x97\x08\x00\x00\x71\xe8\x07\x9f\x1a\x88\x00\x00\x37\x01\x00\x00\x14\x6f\x00\x00\x94\x24\x00\x00\x14\xe0\x07\x40\xf9\x01\x00\x00\x90\x21\xa8\x39\x91\x62\xff\xff\x97\x08\x00\x00\x71\xe8\x07\x9f\x1a\x88\x00\x00\x37\x01\x00\x00\x14\x7f\x00\x00\x94\x19\x00\x00\x14\xe0\x07\x40\xf9\x01\x00\x00\x90\x21\xc0\x39\x91\x58\xff\xff\x97\x08\x00\x00\x71\xe8\x07\x9f\x1a\xa8\x01\x00\x37\x01\x00\x00\x14\x88\x00\x00\xb0\x08\xe9\x47\xf9\x08\x01\x40\xf9\x08\x01\x00\xf1\xe8\x17\x9f\x1a\x88\x00\x00\x37\x01\x00\x00\x14\x6e\x00\x00\x94\x01\x00\x00\x14\xe0\x03\x1f\x2a\x21\xff\xff\x97\x00\x00\x00\x90\x00\xd4\x39\x91\x52\xff\xff\x97\x01\x00\x00\x14\x01\x00\x00\x14\x01\x00\x00\x14\x01\x00\x00\x14\x01\x00\x00\x14\xfd\x7b\x41\xa9\xff\x83\x00\x91\xc0\x03\x5f\xd6\xff\xc3\x00\xd1\xfd\x7b\x02\xa9\xfd\x83\x00\x91\x88\x00\x00\xb0\x08\xe9\x47\xf9\xe8\x07\x00\xf9\x89\x00\x00\xb0\x29\xdd\x47\xf9\xe9\x0b\x00\xf9\xa0\x83\x1f\xf8\x08\x01\x40\xf9\x08\x01\x00\xf1\xe8\x17\x9f\x1a\x88\x00\x00\x37\x01\x00\x00\x14\x50\x00\x00\x94\x01\x00\x00\x14\xa0\x83\x5f\xf8\x1f\xff\xff\x97\xe8\x0b\x40\xf9\x00\x01\x00\xf9\x00\x01\x40\xf9\x01\x00\x00\x90\x21\xc8\x3e\x91\x0d\xff\xff\x97\xe8\x07\x40\xf9\x00\x01\x00\xf9\x08\x01\x40\xf9\x08\x01\x00\xf1\xe8\x07\x9f\x1a\x08\x01\x00\x37\x01\x00\x00\x14\xe8\x0b\x40\xf9\x01\x01\x40\xf9\x00\x00\x00\x90\x00\xd4\x3e\x91\x25\xff\xff\x97\x07\x00\x00\x14\xe8\x0b\x40\xf9\x01\x01\x40\xf9\x00\x00\x00\x90\x00\x3c\x3f\x91\x1f\xff\xff\x97\x01\x00\x00\x14\xfd\x7b\x42\xa9\xff\xc3\x00\x91\xc0\x03\x5f\xd6\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x00\x00\x00\x90\x00\xac\x3a\x91\x16\xff\xff\x97\x00\x00\x00\x90\x00\xd8\x3a\x91\x13\xff\xff\x97\x00\x00\x00\x90\x00\xa8\x3b\x91\x10\xff\xff\x97\x00\x00\x00\x90\x00\x70\x3c\x91\x0d\xff\xff\x97\x00\x00\x00\x90\x00\x5c\x3d\x91\x0a\xff\xff\x97\x00\x00\x00\x90\x00\x20\x3e\x91\x07\xff\xff\x97\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x88\x00\x00\xb0\x08\xe9\x47\xf9\x08\x01\x40\xf9\x08\x01\x00\xf1\xe8\x07\x9f\x1a\xc8\x00\x00\x37\x01\x00\x00\x14\x00\x00\x00\x90\x00\x84\x3f\x91\xf9\xfe\xff\x97\x0c\x00\x00\x14\x88\x00\x00\xb0\x08\xe9\x47\xf9\x00\x01\x40\xf9\xd8\xfe\xff\x97\x88\x00\x00\xb0\x08\xdd\x47\xf9\x01\x01\x40\xf9\x00\x00\x00\x90\x00\xf0\x3f\x91\xee\xfe\xff\x97\x01\x00\x00\x14\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6\xff\x83\x00\xd1\xfd\x7b\x01\xa9\xfd\x43\x00\x91\x88\x00\x00\xb0\x08\xe9\x47\xf9\xe8\x07\x00\xf9\x08\x01\x40\xf9\x08\x01\x00\xf1\xe8\x17\x9f\x1a\x48\x02\x00\x37\x01\x00\x00\x14\xe8\x07\x40\xf9\x00\x01\x40\xf9\xb5\xfe\xff\x97\x88\x00\x00\xb0\x08\xdd\x47\xf9\xe8\x03\x00\xf9\x00\x01\x40\xf9\xd0\xfe\xff\x97\xe9\x07\x40\xf9\xe8\x03\x40\xf9\x3f\x01\x00\xf9\x1f\x01\x00\xf9\x00\x00\x00\xb0\x00\x60\x00\x91\xd1\xfe\xff\x97\x01\x00\x00\x14\xfd\x7b\x41\xa9\xff\x83\x00\x91\xc0\x03\x5f\xd6"), -Section(".fini", 0xE30, "\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".rodata", 0xE44, "\x01\x00\x02\x00\x45\x6e\x74\x65\x72\x20\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x3a\x20\x00\x68\x65\x6c\x70\x00\x6f\x70\x65\x6e\x20\x00\x73\x61\x76\x65\x00\x63\x6c\x6f\x73\x65\x00\x65\x78\x69\x74\x00\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x2e\x20\x54\x79\x70\x65\x20\x27\x68\x65\x6c\x70\x27\x20\x66\x6f\x72\x20\x61\x20\x6c\x69\x73\x74\x20\x6f\x66\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x73\x2e\x0a\x00\x43\x6f\x6d\x6d\x61\x6e\x64\x73\x3a\x0a\x00\x20\x20\x68\x65\x6c\x70\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x44\x69\x73\x70\x6c\x61\x79\x20\x74\x68\x69\x73\x20\x68\x65\x6c\x70\x20\x6d\x65\x73\x73\x61\x67\x65\x0a\x00\x20\x20\x6f\x70\x65\x6e\x20\x3c\x66\x69\x6c\x65\x6e\x61\x6d\x65\x3e\x20\x20\x20\x20\x20\x20\x2d\x20\x4f\x70\x65\x6e\x20\x61\x20\x66\x69\x6c\x65\x20\x66\x6f\x72\x20\x65\x64\x69\x74\x69\x6e\x67\x0a\x00\x20\x20\x73\x61\x76\x65\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x53\x61\x76\x65\x20\x63\x68\x61\x6e\x67\x65\x73\x20\x74\x6f\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x66\x69\x6c\x65\x0a\x00\x20\x20\x63\x6c\x6f\x73\x65\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x43\x6c\x6f\x73\x65\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x66\x69\x6c\x65\x0a\x00\x20\x20\x65\x78\x69\x74\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x45\x78\x69\x74\x20\x74\x68\x65\x20\x65\x64\x69\x74\x6f\x72\x0a\x00\x72\x2b\x00\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x6f\x70\x65\x6e\x20\x66\x69\x6c\x65\x20\x27\x25\x73\x27\x0a\x00\x4f\x70\x65\x6e\x65\x64\x20\x66\x69\x6c\x65\x20\x27\x25\x73\x27\x0a\x00\x4e\x6f\x20\x66\x69\x6c\x65\x20\x69\x73\x20\x63\x75\x72\x72\x65\x6e\x74\x6c\x79\x20\x6f\x70\x65\x6e\x0a\x00\x53\x61\x76\x65\x64\x20\x63\x68\x61\x6e\x67\x65\x73\x20\x74\x6f\x20\x66\x69\x6c\x65\x20\x27\x25\x73\x27\x0a\x00\x43\x6c\x6f\x73\x65\x64\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x0a\x00"), -Section(".eh_frame_hdr", 0x102C, "\x01\x1b\x03\x3b\x60\x00\x00\x00\x0b\x00\x00\x00\x54\xf9\xff\xff\x78\x00\x00\x00\xa4\xf9\xff\xff\x8c\x00\x00\x00\xd4\xf9\xff\xff\xa0\x00\x00\x00\x14\xfa\xff\xff\xb4\x00\x00\x00\x64\xfa\xff\xff\xd8\x00\x00\x00\x68\xfa\xff\xff\x00\x01\x00\x00\xd4\xfa\xff\xff\x20\x01\x00\x00\x10\xfc\xff\xff\x48\x01\x00\x00\xcc\xfc\xff\xff\x70\x01\x00\x00\x24\xfd\xff\xff\x98\x01\x00\x00\x8c\xfd\xff\xff\xc0\x01\x00\x00"), -Section(".eh_frame", 0x1090, "\x10\x00\x00\x00\x00\x00\x00\x00\x01\x7a\x52\x00\x04\x78\x1e\x01\x1b\x0c\x1f\x00\x10\x00\x00\x00\x18\x00\x00\x00\xd4\xf8\xff\xff\x34\x00\x00\x00\x00\x41\x07\x1e\x10\x00\x00\x00\x2c\x00\x00\x00\x10\xf9\xff\xff\x30\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x40\x00\x00\x00\x2c\xf9\xff\xff\x3c\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x54\x00\x00\x00\x58\xf9\xff\xff\x48\x00\x00\x00\x00\x41\x0e\x20\x9d\x04\x9e\x03\x42\x93\x02\x4e\xde\xdd\xd3\x0e\x00\x00\x00\x00\x10\x00\x00\x00\x78\x00\x00\x00\x84\xf9\xff\xff\x04\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x01\x7a\x52\x00\x01\x7c\x1e\x01\x1b\x0c\x1f\x00\x1c\x00\x00\x00\x18\x00\x00\x00\x60\xf9\xff\xff\x6c\x00\x00\x00\x00\x44\x0e\xb0\x02\x4c\x0c\x1d\x20\x9c\x04\x9e\x06\x9d\x08\x00\x24\x00\x00\x00\x38\x00\x00\x00\xac\xf9\xff\xff\x3c\x01\x00\x00\x00\x44\x0e\x20\x48\x0c\x1d\x10\x9e\x02\x9d\x04\x03\x24\x01\x0c\x1f\x20\x48\x0e\x00\xde\xdd\x00\x24\x00\x00\x00\x60\x00\x00\x00\xc0\xfa\xff\xff\xbc\x00\x00\x00\x00\x44\x0e\x30\x48\x0c\x1d\x10\x9e\x02\x9d\x04\x02\xa4\x0c\x1f\x30\x48\x0e\x00\xde\xdd\x00\x00\x24\x00\x00\x00\x88\x00\x00\x00\x54\xfb\xff\xff\x58\x00\x00\x00\x00\x44\x0e\x10\x44\x0c\x1d\x10\x9e\x02\x9d\x04\x02\x48\x0c\x1f\x10\x44\x0e\x00\xde\xdd\x00\x00\x24\x00\x00\x00\xb0\x00\x00\x00\x84\xfb\xff\xff\x68\x00\x00\x00\x00\x44\x0e\x10\x44\x0c\x1d\x10\x9e\x02\x9d\x04\x02\x58\x0c\x1f\x10\x44\x0e\x00\xde\xdd\x00\x00\x24\x00\x00\x00\xd8\x00\x00\x00\xc4\xfb\xff\xff\x78\x00\x00\x00\x00\x44\x0e\x20\x48\x0c\x1d\x10\x9e\x02\x9d\x04\x02\x60\x0c\x1f\x20\x48\x0e\x00\xde\xdd\x00\x00\x00\x00\x00\x00"), -Section(".fini_array", 0x11DB8, "\x40\x0a\x00\x00\x00\x00\x00\x00"), -Section(".dynamic", 0x11DC0, "\x01\x00\x00\x00\x00\x00\x00\x00\x77\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x58\x08\x00\x00\x00\x00\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x30\x0e\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\xb0\x1d\x01\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\xb8\x1d\x01\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xf5\xfe\xff\x6f\x00\x00\x00\x00\x98\x02\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\xb0\x04\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\xb8\x02\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\xdc\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\xe8\x1f\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x68\x01\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\xf0\x06\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\xe8\x05\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x08\x01\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\xfb\xff\xff\x6f\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\xfe\xff\xff\x6f\x00\x00\x00\x00\xb8\x05\x00\x00\x00\x00\x00\x00\xff\xff\xff\x6f\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xf0\xff\xff\x6f\x00\x00\x00\x00\x8c\x05\x00\x00\x00\x00\x00\x00\xf9\xff\xff\x6f\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".got", 0x11FA0, "\xc0\x1d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x20\x01\x00\x00\x00\x00\x00\x94\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".got.plt", 0x11FE8, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x08\x00\x00\x00\x00\x00\x00\x70\x08\x00\x00\x00\x00\x00\x00\x70\x08\x00\x00\x00\x00\x00\x00\x70\x08\x00\x00\x00\x00\x00\x00\x70\x08\x00\x00\x00\x00\x00\x00\x70\x08\x00\x00\x00\x00\x00\x00\x70\x08\x00\x00\x00\x00\x00\x00\x70\x08\x00\x00\x00\x00\x00\x00\x70\x08\x00\x00\x00\x00\x00\x00\x70\x08\x00\x00\x00\x00\x00\x00\x70\x08\x00\x00\x00\x00\x00\x00\x70\x08\x00\x00\x00\x00\x00\x00\x70\x08\x00\x00\x00\x00\x00\x00\x70\x08\x00\x00\x00\x00\x00\x00\x70\x08\x00\x00\x00\x00\x00\x00"), -Section(".data", 0x12078, "\x00\x00\x00\x00\x00\x00\x00\x00\x80\x20\x01\x00\x00\x00\x00\x00"), -Section(".init_array", 0x11DB0, "\x90\x0a\x00\x00\x00\x00\x00\x00")]), -Memmap([Annotation(Region(0x0,0x1217), Attr("segment","02 0 4632")), -Annotation(Region(0x980,0x9B3), Attr("symbol","\"_start\"")), -Annotation(Region(0x0,0x102), Attr("section","\".shstrtab\"")), -Annotation(Region(0x0,0x358), Attr("section","\".strtab\"")), -Annotation(Region(0x0,0xA37), Attr("section","\".symtab\"")), -Annotation(Region(0x0,0x46), Attr("section","\".comment\"")), -Annotation(Region(0x238,0x252), Attr("section","\".interp\"")), -Annotation(Region(0x254,0x277), Attr("section","\".note.gnu.build-id\"")), -Annotation(Region(0x278,0x297), Attr("section","\".note.ABI-tag\"")), -Annotation(Region(0x298,0x2B3), Attr("section","\".gnu.hash\"")), -Annotation(Region(0x2B8,0x4AF), Attr("section","\".dynsym\"")), -Annotation(Region(0x4B0,0x58B), Attr("section","\".dynstr\"")), -Annotation(Region(0x58C,0x5B5), Attr("section","\".gnu.version\"")), -Annotation(Region(0x5B8,0x5E7), Attr("section","\".gnu.version_r\"")), -Annotation(Region(0x5E8,0x6EF), Attr("section","\".rela.dyn\"")), -Annotation(Region(0x6F0,0x857), Attr("section","\".rela.plt\"")), -Annotation(Region(0x858,0x86F), Attr("section","\".init\"")), -Annotation(Region(0x870,0x97F), Attr("section","\".plt\"")), -Annotation(Region(0x858,0x86F), Attr("code-region","()")), -Annotation(Region(0x870,0x97F), Attr("code-region","()")), -Annotation(Region(0x980,0x9B3), Attr("symbol-info","_start 0x980 52")), -Annotation(Region(0x9B4,0x9C7), Attr("symbol","\"call_weak_fn\"")), -Annotation(Region(0x9B4,0x9C7), Attr("symbol-info","call_weak_fn 0x9B4 20")), -Annotation(Region(0xA94,0xAFF), Attr("symbol","\"main\"")), -Annotation(Region(0xA94,0xAFF), Attr("symbol-info","main 0xA94 108")), -Annotation(Region(0xB00,0xC3B), Attr("symbol","\"handleInput\"")), -Annotation(Region(0x980,0xE2F), Attr("section","\".text\"")), -Annotation(Region(0x980,0xE2F), Attr("code-region","()")), -Annotation(Region(0xB00,0xC3B), Attr("symbol-info","handleInput 0xB00 316")), -Annotation(Region(0xC3C,0xCF7), Attr("symbol","\"openFile\"")), -Annotation(Region(0xC3C,0xCF7), Attr("symbol-info","openFile 0xC3C 188")), -Annotation(Region(0xCF8,0xD4F), Attr("symbol","\"printHelp\"")), -Annotation(Region(0xCF8,0xD4F), Attr("symbol-info","printHelp 0xCF8 88")), -Annotation(Region(0xD50,0xDB7), Attr("symbol","\"saveFile\"")), -Annotation(Region(0xD50,0xDB7), Attr("symbol-info","saveFile 0xD50 104")), -Annotation(Region(0xDB8,0xE2F), Attr("symbol","\"closeFile\"")), -Annotation(Region(0xDB8,0xE2F), Attr("symbol-info","closeFile 0xDB8 120")), -Annotation(Region(0xE30,0xE43), Attr("section","\".fini\"")), -Annotation(Region(0xE30,0xE43), Attr("code-region","()")), -Annotation(Region(0xE44,0x1028), Attr("section","\".rodata\"")), -Annotation(Region(0x102C,0x108F), Attr("section","\".eh_frame_hdr\"")), -Annotation(Region(0x1090,0x1217), Attr("section","\".eh_frame\"")), -Annotation(Region(0x11DB0,0x12087), Attr("segment","03 0x11DB0 752")), -Annotation(Region(0x11DB8,0x11DBF), Attr("section","\".fini_array\"")), -Annotation(Region(0x11DC0,0x11F9F), Attr("section","\".dynamic\"")), -Annotation(Region(0x11FA0,0x11FE7), Attr("section","\".got\"")), -Annotation(Region(0x11FE8,0x12077), Attr("section","\".got.plt\"")), -Annotation(Region(0x12078,0x12087), Attr("section","\".data\"")), -Annotation(Region(0x11DB0,0x11DB7), Attr("section","\".init_array\""))]), -Program(Tid(5_058, "%000013c2"), Attrs([]), - Subs([Sub(Tid(5_010, "@__cxa_finalize"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x8B0"), -Attr("stub","()")]), "__cxa_finalize", Args([Arg(Tid(5_059, "%000013c3"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("__cxa_finalize_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(3_514, "@__cxa_finalize"), - Attrs([Attr("address","0x8B0")]), Phis([]), -Defs([Def(Tid(3_960, "%00000f78"), Attrs([Attr("address","0x8B0"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_967, "%00000f7f"), Attrs([Attr("address","0x8B4"), -Attr("insn","ldr x17, [x16, #0x10]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(16,64)),LittleEndian(),64)), -Def(Tid(3_973, "%00000f85"), Attrs([Attr("address","0x8B8"), -Attr("insn","add x16, x16, #0x10")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(3_978, "%00000f8a"), - Attrs([Attr("address","0x8BC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), -Sub(Tid(5_011, "@__do_global_dtors_aux"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xA40")]), - "__do_global_dtors_aux", Args([Arg(Tid(5_060, "%000013c4"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("__do_global_dtors_aux_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_514, "@__do_global_dtors_aux"), - Attrs([Attr("address","0xA40")]), Phis([]), -Defs([Def(Tid(1_518, "%000005ee"), Attrs([Attr("address","0xA40"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("#3",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(1_524, "%000005f4"), Attrs([Attr("address","0xA40"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#3",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_530, "%000005fa"), Attrs([Attr("address","0xA40"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#3",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_534, "%000005fe"), Attrs([Attr("address","0xA40"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("R31",Imm(64)), -Var("#3",Imm(64))), Def(Tid(1_540, "%00000604"), - Attrs([Attr("address","0xA44"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(1_548, "%0000060c"), - Attrs([Attr("address","0xA48"), Attr("insn","str x19, [sp, #0x10]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),Var("R19",Imm(64)),LittleEndian(),64)), -Def(Tid(1_553, "%00000611"), Attrs([Attr("address","0xA4C"), -Attr("insn","adrp x19, #73728")]), Var("R19",Imm(64)), Int(73728,64)), -Def(Tid(1_560, "%00000618"), Attrs([Attr("address","0xA50"), -Attr("insn","ldrb w0, [x19, #0x88]")]), Var("R0",Imm(64)), -UNSIGNED(64,Load(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(136,64)),LittleEndian(),8)))]), -Jmps([Goto(Tid(1_567, "%0000061f"), Attrs([Attr("address","0xA54"), -Attr("insn","cbnz w0, #0x28")]), - NEQ(Extract(31,0,Var("R0",Imm(64))),Int(0,32)), -Direct(Tid(1_565, "%0000061d"))), Goto(Tid(5_012, "%00001394"), Attrs([]), - Int(1,1), Direct(Tid(3_459, "%00000d83")))])), Blk(Tid(3_459, "%00000d83"), - Attrs([Attr("address","0xA58")]), Phis([]), -Defs([Def(Tid(3_462, "%00000d86"), Attrs([Attr("address","0xA58"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(3_469, "%00000d8d"), Attrs([Attr("address","0xA5C"), -Attr("insn","ldr x0, [x0, #0xfb0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4016,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(3_475, "%00000d93"), Attrs([Attr("address","0xA60"), -Attr("insn","cbz x0, #0x10")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(3_473, "%00000d91"))), Goto(Tid(5_013, "%00001395"), Attrs([]), - Int(1,1), Direct(Tid(3_498, "%00000daa")))])), Blk(Tid(3_498, "%00000daa"), - Attrs([Attr("address","0xA64")]), Phis([]), -Defs([Def(Tid(3_501, "%00000dad"), Attrs([Attr("address","0xA64"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(3_508, "%00000db4"), Attrs([Attr("address","0xA68"), -Attr("insn","ldr x0, [x0, #0x80]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(128,64)),LittleEndian(),64)), -Def(Tid(3_513, "%00000db9"), Attrs([Attr("address","0xA6C"), -Attr("insn","bl #-0x1bc")]), Var("R30",Imm(64)), Int(2672,64))]), -Jmps([Call(Tid(3_516, "%00000dbc"), Attrs([Attr("address","0xA6C"), -Attr("insn","bl #-0x1bc")]), Int(1,1), -(Direct(Tid(5_010, "@__cxa_finalize")),Direct(Tid(3_473, "%00000d91"))))])), -Blk(Tid(3_473, "%00000d91"), Attrs([Attr("address","0xA70")]), Phis([]), -Defs([Def(Tid(3_481, "%00000d99"), Attrs([Attr("address","0xA70"), -Attr("insn","bl #-0xa0")]), Var("R30",Imm(64)), Int(2676,64))]), -Jmps([Call(Tid(3_483, "%00000d9b"), Attrs([Attr("address","0xA70"), -Attr("insn","bl #-0xa0")]), Int(1,1), -(Direct(Tid(5_026, "@deregister_tm_clones")),Direct(Tid(3_485, "%00000d9d"))))])), -Blk(Tid(3_485, "%00000d9d"), Attrs([Attr("address","0xA74")]), Phis([]), -Defs([Def(Tid(3_488, "%00000da0"), Attrs([Attr("address","0xA74"), -Attr("insn","mov w0, #0x1")]), Var("R0",Imm(64)), Int(1,64)), -Def(Tid(3_496, "%00000da8"), Attrs([Attr("address","0xA78"), -Attr("insn","strb w0, [x19, #0x88]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(136,64)),Extract(7,0,Var("R0",Imm(64))),LittleEndian(),8))]), -Jmps([Goto(Tid(5_014, "%00001396"), Attrs([]), Int(1,1), -Direct(Tid(1_565, "%0000061d")))])), Blk(Tid(1_565, "%0000061d"), - Attrs([Attr("address","0xA7C")]), Phis([]), -Defs([Def(Tid(1_575, "%00000627"), Attrs([Attr("address","0xA7C"), -Attr("insn","ldr x19, [sp, #0x10]")]), Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),LittleEndian(),64)), -Def(Tid(1_582, "%0000062e"), Attrs([Attr("address","0xA80"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_587, "%00000633"), Attrs([Attr("address","0xA80"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_591, "%00000637"), Attrs([Attr("address","0xA80"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(1_596, "%0000063c"), - Attrs([Attr("address","0xA84"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(5_015, "@__libc_start_main"), - Attrs([Attr("c.proto","signed (*)(signed (*)(signed , char** , char** );* main, signed , char** , \nvoid* auxv)"), -Attr("address","0x8A0"), Attr("stub","()")]), "__libc_start_main", - Args([Arg(Tid(5_061, "%000013c5"), - Attrs([Attr("c.layout","**[ : 64]"), -Attr("c.data","Top:u64 ptr ptr"), -Attr("c.type","signed (*)(signed , char** , char** );*")]), - Var("__libc_start_main_main",Imm(64)), Var("R0",Imm(64)), In()), -Arg(Tid(5_062, "%000013c6"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("__libc_start_main_arg2",Imm(32)), LOW(32,Var("R1",Imm(64))), In()), -Arg(Tid(5_063, "%000013c7"), Attrs([Attr("c.layout","**[char : 8]"), -Attr("c.data","Top:u8 ptr ptr"), Attr("c.type","char**")]), - Var("__libc_start_main_arg3",Imm(64)), Var("R2",Imm(64)), Both()), -Arg(Tid(5_064, "%000013c8"), Attrs([Attr("c.layout","*[ : 8]"), -Attr("c.data","{} ptr"), Attr("c.type","void*")]), - Var("__libc_start_main_auxv",Imm(64)), Var("R3",Imm(64)), Both()), -Arg(Tid(5_065, "%000013c9"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("__libc_start_main_result",Imm(32)), LOW(32,Var("R0",Imm(64))), -Out())]), Blks([Blk(Tid(1_347, "@__libc_start_main"), - Attrs([Attr("address","0x8A0")]), Phis([]), -Defs([Def(Tid(3_938, "%00000f62"), Attrs([Attr("address","0x8A0"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_945, "%00000f69"), Attrs([Attr("address","0x8A4"), -Attr("insn","ldr x17, [x16, #0x8]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(3_951, "%00000f6f"), Attrs([Attr("address","0x8A8"), -Attr("insn","add x16, x16, #0x8")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(8,64)))]), Jmps([Call(Tid(3_956, "%00000f74"), - Attrs([Attr("address","0x8AC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(5_016, "@_fini"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xE30")]), - "_fini", Args([Arg(Tid(5_066, "%000013ca"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_fini_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(31, "@_fini"), - Attrs([Attr("address","0xE30")]), Phis([]), Defs([Def(Tid(37, "%00000025"), - Attrs([Attr("address","0xE34"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#0",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(43, "%0000002b"), Attrs([Attr("address","0xE34"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#0",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(49, "%00000031"), Attrs([Attr("address","0xE34"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#0",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(53, "%00000035"), Attrs([Attr("address","0xE34"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#0",Imm(64))), Def(Tid(59, "%0000003b"), Attrs([Attr("address","0xE38"), -Attr("insn","mov x29, sp")]), Var("R29",Imm(64)), Var("R31",Imm(64))), -Def(Tid(66, "%00000042"), Attrs([Attr("address","0xE3C"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(71, "%00000047"), Attrs([Attr("address","0xE3C"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(75, "%0000004b"), Attrs([Attr("address","0xE3C"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(80, "%00000050"), - Attrs([Attr("address","0xE40"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(5_017, "@_init"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x858")]), - "_init", Args([Arg(Tid(5_067, "%000013cb"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_init_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(4_577, "@_init"), - Attrs([Attr("address","0x858")]), Phis([]), -Defs([Def(Tid(4_583, "%000011e7"), Attrs([Attr("address","0x85C"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#24",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(4_589, "%000011ed"), Attrs([Attr("address","0x85C"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#24",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(4_595, "%000011f3"), Attrs([Attr("address","0x85C"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#24",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(4_599, "%000011f7"), Attrs([Attr("address","0x85C"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#24",Imm(64))), Def(Tid(4_605, "%000011fd"), - Attrs([Attr("address","0x860"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(4_610, "%00001202"), - Attrs([Attr("address","0x864"), Attr("insn","bl #0x150")]), - Var("R30",Imm(64)), Int(2152,64))]), Jmps([Call(Tid(4_612, "%00001204"), - Attrs([Attr("address","0x864"), Attr("insn","bl #0x150")]), Int(1,1), -(Direct(Tid(5_022, "@call_weak_fn")),Direct(Tid(4_614, "%00001206"))))])), -Blk(Tid(4_614, "%00001206"), Attrs([Attr("address","0x868")]), Phis([]), -Defs([Def(Tid(4_619, "%0000120b"), Attrs([Attr("address","0x868"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(4_624, "%00001210"), Attrs([Attr("address","0x868"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(4_628, "%00001214"), Attrs([Attr("address","0x868"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(4_633, "%00001219"), - Attrs([Attr("address","0x86C"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(5_018, "@_start"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x980"), -Attr("stub","()"), Attr("entry-point","()")]), "_start", - Args([Arg(Tid(5_068, "%000013cc"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("_start_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_284, "@_start"), Attrs([Attr("address","0x980")]), Phis([]), -Defs([Def(Tid(1_289, "%00000509"), Attrs([Attr("address","0x984"), -Attr("insn","mov x29, #0x0")]), Var("R29",Imm(64)), Int(0,64)), -Def(Tid(1_294, "%0000050e"), Attrs([Attr("address","0x988"), -Attr("insn","mov x30, #0x0")]), Var("R30",Imm(64)), Int(0,64)), -Def(Tid(1_300, "%00000514"), Attrs([Attr("address","0x98C"), -Attr("insn","mov x5, x0")]), Var("R5",Imm(64)), Var("R0",Imm(64))), -Def(Tid(1_307, "%0000051b"), Attrs([Attr("address","0x990"), -Attr("insn","ldr x1, [sp]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_313, "%00000521"), Attrs([Attr("address","0x994"), -Attr("insn","add x2, sp, #0x8")]), Var("R2",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(8,64))), Def(Tid(1_319, "%00000527"), - Attrs([Attr("address","0x998"), Attr("insn","mov x6, sp")]), - Var("R6",Imm(64)), Var("R31",Imm(64))), Def(Tid(1_324, "%0000052c"), - Attrs([Attr("address","0x99C"), Attr("insn","adrp x0, #69632")]), - Var("R0",Imm(64)), Int(69632,64)), Def(Tid(1_331, "%00000533"), - Attrs([Attr("address","0x9A0"), Attr("insn","ldr x0, [x0, #0xfd8]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4056,64)),LittleEndian(),64)), -Def(Tid(1_336, "%00000538"), Attrs([Attr("address","0x9A4"), -Attr("insn","mov x3, #0x0")]), Var("R3",Imm(64)), Int(0,64)), -Def(Tid(1_341, "%0000053d"), Attrs([Attr("address","0x9A8"), -Attr("insn","mov x4, #0x0")]), Var("R4",Imm(64)), Int(0,64)), -Def(Tid(1_346, "%00000542"), Attrs([Attr("address","0x9AC"), -Attr("insn","bl #-0x10c")]), Var("R30",Imm(64)), Int(2480,64))]), -Jmps([Call(Tid(1_349, "%00000545"), Attrs([Attr("address","0x9AC"), -Attr("insn","bl #-0x10c")]), Int(1,1), -(Direct(Tid(5_015, "@__libc_start_main")),Direct(Tid(1_351, "%00000547"))))])), -Blk(Tid(1_351, "%00000547"), Attrs([Attr("address","0x9B0")]), Phis([]), -Defs([Def(Tid(1_354, "%0000054a"), Attrs([Attr("address","0x9B0"), -Attr("insn","bl #-0x90")]), Var("R30",Imm(64)), Int(2484,64))]), -Jmps([Call(Tid(1_357, "%0000054d"), Attrs([Attr("address","0x9B0"), -Attr("insn","bl #-0x90")]), Int(1,1), -(Direct(Tid(5_021, "@abort")),Direct(Tid(5_019, "%0000139b"))))])), -Blk(Tid(5_019, "%0000139b"), Attrs([]), Phis([]), Defs([]), -Jmps([Call(Tid(5_020, "%0000139c"), Attrs([]), Int(1,1), -(Direct(Tid(5_022, "@call_weak_fn")),))]))])), Sub(Tid(5_021, "@abort"), - Attrs([Attr("noreturn","()"), Attr("c.proto","void (*)(void)"), -Attr("address","0x920"), Attr("stub","()")]), "abort", Args([]), -Blks([Blk(Tid(1_355, "@abort"), Attrs([Attr("address","0x920")]), Phis([]), -Defs([Def(Tid(4_114, "%00001012"), Attrs([Attr("address","0x920"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(4_121, "%00001019"), Attrs([Attr("address","0x924"), -Attr("insn","ldr x17, [x16, #0x48]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(72,64)),LittleEndian(),64)), -Def(Tid(4_127, "%0000101f"), Attrs([Attr("address","0x928"), -Attr("insn","add x16, x16, #0x48")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(72,64)))]), Jmps([Call(Tid(4_132, "%00001024"), - Attrs([Attr("address","0x92C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(5_022, "@call_weak_fn"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x9B4")]), - "call_weak_fn", Args([Arg(Tid(5_069, "%000013cd"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("call_weak_fn_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_359, "@call_weak_fn"), - Attrs([Attr("address","0x9B4")]), Phis([]), -Defs([Def(Tid(1_362, "%00000552"), Attrs([Attr("address","0x9B4"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(1_369, "%00000559"), Attrs([Attr("address","0x9B8"), -Attr("insn","ldr x0, [x0, #0xfc8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4040,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(1_375, "%0000055f"), Attrs([Attr("address","0x9BC"), -Attr("insn","cbz x0, #0x8")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(1_373, "%0000055d"))), Goto(Tid(5_023, "%0000139f"), Attrs([]), - Int(1,1), Direct(Tid(3_578, "%00000dfa")))])), Blk(Tid(1_373, "%0000055d"), - Attrs([Attr("address","0x9C4")]), Phis([]), Defs([]), -Jmps([Call(Tid(1_381, "%00000565"), Attrs([Attr("address","0x9C4"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(3_578, "%00000dfa"), Attrs([Attr("address","0x9C0")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_581, "%00000dfd"), Attrs([Attr("address","0x9C0"), -Attr("insn","b #-0xb0")]), Int(1,1), -Direct(Tid(3_579, "@__gmon_start__")))])), Blk(Tid(3_579, "@__gmon_start__"), - Attrs([Attr("address","0x910")]), Phis([]), -Defs([Def(Tid(4_092, "%00000ffc"), Attrs([Attr("address","0x910"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(4_099, "%00001003"), Attrs([Attr("address","0x914"), -Attr("insn","ldr x17, [x16, #0x40]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(64,64)),LittleEndian(),64)), -Def(Tid(4_105, "%00001009"), Attrs([Attr("address","0x918"), -Attr("insn","add x16, x16, #0x40")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(64,64)))]), Jmps([Call(Tid(4_110, "%0000100e"), - Attrs([Attr("address","0x91C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(5_024, "@closeFile"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xDB8")]), - "closeFile", Args([Arg(Tid(5_070, "%000013ce"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("closeFile_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_940, "@closeFile"), - Attrs([Attr("address","0xDB8")]), Phis([]), -Defs([Def(Tid(2_944, "%00000b80"), Attrs([Attr("address","0xDB8"), -Attr("insn","sub sp, sp, #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(2_950, "%00000b86"), Attrs([Attr("address","0xDBC"), -Attr("insn","stp x29, x30, [sp, #0x10]")]), Var("#19",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(2_956, "%00000b8c"), - Attrs([Attr("address","0xDBC"), Attr("insn","stp x29, x30, [sp, #0x10]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#19",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(2_962, "%00000b92"), Attrs([Attr("address","0xDBC"), -Attr("insn","stp x29, x30, [sp, #0x10]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#19",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(2_968, "%00000b98"), Attrs([Attr("address","0xDC0"), -Attr("insn","add x29, sp, #0x10")]), Var("R29",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(2_973, "%00000b9d"), - Attrs([Attr("address","0xDC4"), Attr("insn","adrp x8, #69632")]), - Var("R8",Imm(64)), Int(69632,64)), Def(Tid(2_980, "%00000ba4"), - Attrs([Attr("address","0xDC8"), Attr("insn","ldr x8, [x8, #0xfd0]")]), - Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(4048,64)),LittleEndian(),64)), -Def(Tid(2_988, "%00000bac"), Attrs([Attr("address","0xDCC"), -Attr("insn","str x8, [sp, #0x8]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(2_995, "%00000bb3"), Attrs([Attr("address","0xDD0"), -Attr("insn","ldr x8, [x8]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(3_001, "%00000bb9"), Attrs([Attr("address","0xDD4"), -Attr("insn","subs x8, x8, #0x0")]), Var("#20",Imm(64)), -PLUS(Var("R8",Imm(64)),Int(18446744073709551615,64))), -Def(Tid(3_006, "%00000bbe"), Attrs([Attr("address","0xDD4"), -Attr("insn","subs x8, x8, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#20",Imm(64)),Int(1,64))),PLUS(SIGNED(65,Var("R8",Imm(64))),Int(0,65)))), -Def(Tid(3_011, "%00000bc3"), Attrs([Attr("address","0xDD4"), -Attr("insn","subs x8, x8, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#20",Imm(64)),Int(1,64))),PLUS(UNSIGNED(65,Var("R8",Imm(64))),Int(18446744073709551616,65)))), -Def(Tid(3_015, "%00000bc7"), Attrs([Attr("address","0xDD4"), -Attr("insn","subs x8, x8, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#20",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(3_019, "%00000bcb"), Attrs([Attr("address","0xDD4"), -Attr("insn","subs x8, x8, #0x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#20",Imm(64)),Int(1,64)))), -Def(Tid(3_023, "%00000bcf"), Attrs([Attr("address","0xDD4"), -Attr("insn","subs x8, x8, #0x0")]), Var("R8",Imm(64)), -PLUS(Var("#20",Imm(64)),Int(1,64)))]), Jmps([Goto(Tid(3_035, "%00000bdb"), - Attrs([Attr("address","0xDD8"), Attr("insn","cset w8, eq")]), - NEQ(Var("ZF",Imm(1)),Int(1,1)), Direct(Tid(3_028, "%00000bd4"))), -Goto(Tid(3_036, "%00000bdc"), Attrs([Attr("address","0xDD8"), -Attr("insn","cset w8, eq")]), Int(1,1), Direct(Tid(3_031, "%00000bd7")))])), -Blk(Tid(3_031, "%00000bd7"), Attrs([]), Phis([]), -Defs([Def(Tid(3_032, "%00000bd8"), Attrs([Attr("address","0xDD8"), -Attr("insn","cset w8, eq")]), Var("R8",Imm(64)), Int(1,64))]), -Jmps([Goto(Tid(3_038, "%00000bde"), Attrs([Attr("address","0xDD8"), -Attr("insn","cset w8, eq")]), Int(1,1), Direct(Tid(3_034, "%00000bda")))])), -Blk(Tid(3_028, "%00000bd4"), Attrs([]), Phis([]), -Defs([Def(Tid(3_029, "%00000bd5"), Attrs([Attr("address","0xDD8"), -Attr("insn","cset w8, eq")]), Var("R8",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(3_037, "%00000bdd"), Attrs([Attr("address","0xDD8"), -Attr("insn","cset w8, eq")]), Int(1,1), Direct(Tid(3_034, "%00000bda")))])), -Blk(Tid(3_034, "%00000bda"), Attrs([]), Phis([]), Defs([]), -Jmps([Goto(Tid(3_044, "%00000be4"), Attrs([Attr("address","0xDDC"), -Attr("insn","tbnz w8, #0x0, #0x48")]), - EQ(Extract(0,0,Var("R8",Imm(64))),Int(1,1)), -Direct(Tid(3_042, "%00000be2"))), Goto(Tid(5_025, "%000013a1"), Attrs([]), - Int(1,1), Direct(Tid(3_074, "%00000c02")))])), Blk(Tid(3_074, "%00000c02"), - Attrs([Attr("address","0xDE0")]), Phis([]), Defs([]), -Jmps([Goto(Tid(3_077, "%00000c05"), Attrs([Attr("address","0xDE0"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_075, "%00000c03")))])), -Blk(Tid(3_075, "%00000c03"), Attrs([Attr("address","0xDE4")]), Phis([]), -Defs([Def(Tid(3_083, "%00000c0b"), Attrs([Attr("address","0xDE4"), -Attr("insn","ldr x8, [sp, #0x8]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(3_090, "%00000c12"), Attrs([Attr("address","0xDE8"), -Attr("insn","ldr x0, [x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(3_095, "%00000c17"), Attrs([Attr("address","0xDEC"), -Attr("insn","bl #-0x52c")]), Var("R30",Imm(64)), Int(3568,64))]), -Jmps([Call(Tid(3_098, "%00000c1a"), Attrs([Attr("address","0xDEC"), -Attr("insn","bl #-0x52c")]), Int(1,1), -(Direct(Tid(5_030, "@fclose")),Direct(Tid(3_100, "%00000c1c"))))])), -Blk(Tid(3_100, "%00000c1c"), Attrs([Attr("address","0xDF0")]), Phis([]), -Defs([Def(Tid(3_103, "%00000c1f"), Attrs([Attr("address","0xDF0"), -Attr("insn","adrp x8, #69632")]), Var("R8",Imm(64)), Int(69632,64)), -Def(Tid(3_110, "%00000c26"), Attrs([Attr("address","0xDF4"), -Attr("insn","ldr x8, [x8, #0xfb8]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(4024,64)),LittleEndian(),64)), -Def(Tid(3_118, "%00000c2e"), Attrs([Attr("address","0xDF8"), -Attr("insn","str x8, [sp]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("R31",Imm(64)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(3_125, "%00000c35"), Attrs([Attr("address","0xDFC"), -Attr("insn","ldr x0, [x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(3_130, "%00000c3a"), Attrs([Attr("address","0xE00"), -Attr("insn","bl #-0x4c0")]), Var("R30",Imm(64)), Int(3588,64))]), -Jmps([Call(Tid(3_133, "%00000c3d"), Attrs([Attr("address","0xE00"), -Attr("insn","bl #-0x4c0")]), Int(1,1), -(Direct(Tid(5_034, "@free")),Direct(Tid(3_135, "%00000c3f"))))])), -Blk(Tid(3_135, "%00000c3f"), Attrs([Attr("address","0xE04")]), Phis([]), -Defs([Def(Tid(3_140, "%00000c44"), Attrs([Attr("address","0xE04"), -Attr("insn","ldr x9, [sp, #0x8]")]), Var("R9",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(3_147, "%00000c4b"), Attrs([Attr("address","0xE08"), -Attr("insn","ldr x8, [sp]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(3_154, "%00000c52"), Attrs([Attr("address","0xE0C"), -Attr("insn","str xzr, [x9]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("R9",Imm(64)),Int(0,64),LittleEndian(),64)), -Def(Tid(3_161, "%00000c59"), Attrs([Attr("address","0xE10"), -Attr("insn","str xzr, [x8]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("R8",Imm(64)),Int(0,64),LittleEndian(),64)), -Def(Tid(3_166, "%00000c5e"), Attrs([Attr("address","0xE14"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(3_172, "%00000c64"), Attrs([Attr("address","0xE18"), -Attr("insn","add x0, x0, #0x18")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(24,64))), Def(Tid(3_177, "%00000c69"), - Attrs([Attr("address","0xE1C"), Attr("insn","bl #-0x4bc")]), - Var("R30",Imm(64)), Int(3616,64))]), Jmps([Call(Tid(3_179, "%00000c6b"), - Attrs([Attr("address","0xE1C"), Attr("insn","bl #-0x4bc")]), Int(1,1), -(Direct(Tid(5_047, "@printf")),Direct(Tid(3_181, "%00000c6d"))))])), -Blk(Tid(3_181, "%00000c6d"), Attrs([Attr("address","0xE20")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_183, "%00000c6f"), Attrs([Attr("address","0xE20"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_042, "%00000be2")))])), -Blk(Tid(3_042, "%00000be2"), Attrs([Attr("address","0xE24")]), Phis([]), -Defs([Def(Tid(3_051, "%00000beb"), Attrs([Attr("address","0xE24"), -Attr("insn","ldp x29, x30, [sp, #0x10]")]), Var("#21",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(3_056, "%00000bf0"), - Attrs([Attr("address","0xE24"), Attr("insn","ldp x29, x30, [sp, #0x10]")]), - Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#21",Imm(64)),LittleEndian(),64)), -Def(Tid(3_061, "%00000bf5"), Attrs([Attr("address","0xE24"), -Attr("insn","ldp x29, x30, [sp, #0x10]")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#21",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(3_067, "%00000bfb"), Attrs([Attr("address","0xE28"), -Attr("insn","add sp, sp, #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(3_072, "%00000c00"), - Attrs([Attr("address","0xE2C"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), -Sub(Tid(5_026, "@deregister_tm_clones"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x9D0")]), - "deregister_tm_clones", Args([Arg(Tid(5_071, "%000013cf"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("deregister_tm_clones_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_387, "@deregister_tm_clones"), - Attrs([Attr("address","0x9D0")]), Phis([]), -Defs([Def(Tid(1_390, "%0000056e"), Attrs([Attr("address","0x9D0"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(1_396, "%00000574"), Attrs([Attr("address","0x9D4"), -Attr("insn","add x0, x0, #0x88")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(136,64))), Def(Tid(1_401, "%00000579"), - Attrs([Attr("address","0x9D8"), Attr("insn","adrp x1, #73728")]), - Var("R1",Imm(64)), Int(73728,64)), Def(Tid(1_407, "%0000057f"), - Attrs([Attr("address","0x9DC"), Attr("insn","add x1, x1, #0x88")]), - Var("R1",Imm(64)), PLUS(Var("R1",Imm(64)),Int(136,64))), -Def(Tid(1_413, "%00000585"), Attrs([Attr("address","0x9E0"), -Attr("insn","cmp x1, x0")]), Var("#1",Imm(64)), NOT(Var("R0",Imm(64)))), -Def(Tid(1_418, "%0000058a"), Attrs([Attr("address","0x9E0"), -Attr("insn","cmp x1, x0")]), Var("#2",Imm(64)), -PLUS(Var("R1",Imm(64)),NOT(Var("R0",Imm(64))))), Def(Tid(1_424, "%00000590"), - Attrs([Attr("address","0x9E0"), Attr("insn","cmp x1, x0")]), - Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#2",Imm(64)),Int(1,64))),PLUS(PLUS(SIGNED(65,Var("R1",Imm(64))),SIGNED(65,Var("#1",Imm(64)))),Int(1,65)))), -Def(Tid(1_430, "%00000596"), Attrs([Attr("address","0x9E0"), -Attr("insn","cmp x1, x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#2",Imm(64)),Int(1,64))),PLUS(PLUS(UNSIGNED(65,Var("R1",Imm(64))),UNSIGNED(65,Var("#1",Imm(64)))),Int(1,65)))), -Def(Tid(1_434, "%0000059a"), Attrs([Attr("address","0x9E0"), -Attr("insn","cmp x1, x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#2",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(1_438, "%0000059e"), Attrs([Attr("address","0x9E0"), -Attr("insn","cmp x1, x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#2",Imm(64)),Int(1,64))))]), -Jmps([Goto(Tid(1_444, "%000005a4"), Attrs([Attr("address","0x9E4"), -Attr("insn","b.eq #0x18")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(1_442, "%000005a2"))), Goto(Tid(5_027, "%000013a3"), Attrs([]), - Int(1,1), Direct(Tid(3_548, "%00000ddc")))])), Blk(Tid(3_548, "%00000ddc"), - Attrs([Attr("address","0x9E8")]), Phis([]), -Defs([Def(Tid(3_551, "%00000ddf"), Attrs([Attr("address","0x9E8"), -Attr("insn","adrp x1, #69632")]), Var("R1",Imm(64)), Int(69632,64)), -Def(Tid(3_558, "%00000de6"), Attrs([Attr("address","0x9EC"), -Attr("insn","ldr x1, [x1, #0xfa8]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R1",Imm(64)),Int(4008,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(3_563, "%00000deb"), Attrs([Attr("address","0x9F0"), -Attr("insn","cbz x1, #0xc")]), EQ(Var("R1",Imm(64)),Int(0,64)), -Direct(Tid(1_442, "%000005a2"))), Goto(Tid(5_028, "%000013a4"), Attrs([]), - Int(1,1), Direct(Tid(3_567, "%00000def")))])), Blk(Tid(1_442, "%000005a2"), - Attrs([Attr("address","0x9FC")]), Phis([]), Defs([]), -Jmps([Call(Tid(1_450, "%000005aa"), Attrs([Attr("address","0x9FC"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(3_567, "%00000def"), Attrs([Attr("address","0x9F4")]), Phis([]), -Defs([Def(Tid(3_571, "%00000df3"), Attrs([Attr("address","0x9F4"), -Attr("insn","mov x16, x1")]), Var("R16",Imm(64)), Var("R1",Imm(64)))]), -Jmps([Call(Tid(3_576, "%00000df8"), Attrs([Attr("address","0x9F8"), -Attr("insn","br x16")]), Int(1,1), (Indirect(Var("R16",Imm(64))),))]))])), -Sub(Tid(5_029, "@exit"), Attrs([Attr("noreturn","()"), -Attr("c.proto","void (*)(signed code)"), Attr("address","0x890"), -Attr("stub","()")]), "exit", Args([Arg(Tid(5_072, "%000013d0"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("exit_code",Imm(32)), -LOW(32,Var("R0",Imm(64))), In())]), Blks([Blk(Tid(3_348, "@exit"), - Attrs([Attr("address","0x890")]), Phis([]), -Defs([Def(Tid(3_916, "%00000f4c"), Attrs([Attr("address","0x890"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_923, "%00000f53"), Attrs([Attr("address","0x894"), -Attr("insn","ldr x17, [x16]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R16",Imm(64)),LittleEndian(),64)), -Def(Tid(3_929, "%00000f59"), Attrs([Attr("address","0x898"), -Attr("insn","add x16, x16, #0x0")]), Var("R16",Imm(64)), -Var("R16",Imm(64)))]), Jmps([Call(Tid(3_934, "%00000f5e"), - Attrs([Attr("address","0x89C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(5_030, "@fclose"), - Attrs([Attr("c.proto","signed (*)(void** fp)"), Attr("address","0x8C0"), -Attr("stub","()")]), "fclose", Args([Arg(Tid(5_073, "%000013d1"), - Attrs([Attr("c.layout","**[ : 8]"), Attr("c.data","{} ptr ptr"), -Attr("c.type","void**")]), Var("fclose_fp",Imm(64)), Var("R0",Imm(64)), -Both()), Arg(Tid(5_074, "%000013d2"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("fclose_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(3_096, "@fclose"), - Attrs([Attr("address","0x8C0")]), Phis([]), -Defs([Def(Tid(3_982, "%00000f8e"), Attrs([Attr("address","0x8C0"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(3_989, "%00000f95"), Attrs([Attr("address","0x8C4"), -Attr("insn","ldr x17, [x16, #0x18]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(24,64)),LittleEndian(),64)), -Def(Tid(3_995, "%00000f9b"), Attrs([Attr("address","0x8C8"), -Attr("insn","add x16, x16, #0x18")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(24,64)))]), Jmps([Call(Tid(4_000, "%00000fa0"), - Attrs([Attr("address","0x8CC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(5_031, "@fgets"), - Attrs([Attr("c.proto","char* (*)(char restrict * s, signed size, void* restrict * stream)"), -Attr("address","0x970"), Attr("stub","()")]), "fgets", - Args([Arg(Tid(5_075, "%000013d3"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type","char restrict *")]), - Var("fgets_s",Imm(64)), Var("R0",Imm(64)), Both()), -Arg(Tid(5_076, "%000013d4"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("fgets_size",Imm(32)), LOW(32,Var("R1",Imm(64))), In()), -Arg(Tid(5_077, "%000013d5"), Attrs([Attr("c.layout","**[ : 8]"), -Attr("c.data","{} ptr ptr"), Attr("c.type","void* restrict *")]), - Var("fgets_stream",Imm(64)), Var("R2",Imm(64)), Both()), -Arg(Tid(5_078, "%000013d6"), Attrs([Attr("warn-unused","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type","char*")]), Var("fgets_result",Imm(64)), Var("R0",Imm(64)), -Out())]), Blks([Blk(Tid(1_716, "@fgets"), Attrs([Attr("address","0x970")]), - Phis([]), Defs([Def(Tid(4_224, "%00001080"), Attrs([Attr("address","0x970"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(4_231, "%00001087"), Attrs([Attr("address","0x974"), -Attr("insn","ldr x17, [x16, #0x70]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(112,64)),LittleEndian(),64)), -Def(Tid(4_237, "%0000108d"), Attrs([Attr("address","0x978"), -Attr("insn","add x16, x16, #0x70")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(112,64)))]), Jmps([Call(Tid(4_242, "%00001092"), - Attrs([Attr("address","0x97C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(5_032, "@fopen"), - Attrs([Attr("c.proto","void** (*)( const char restrict * path, const char restrict * mode)"), -Attr("address","0x8D0"), Attr("stub","()")]), "fopen", - Args([Arg(Tid(5_079, "%000013d7"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char restrict *")]), - Var("fopen_path",Imm(64)), Var("R0",Imm(64)), In()), -Arg(Tid(5_080, "%000013d8"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char restrict *")]), - Var("fopen_mode",Imm(64)), Var("R1",Imm(64)), In()), -Arg(Tid(5_081, "%000013d9"), Attrs([Attr("warn-unused","()"), -Attr("c.layout","**[ : 8]"), Attr("c.data","{} ptr ptr"), -Attr("c.type","void**")]), Var("fopen_result",Imm(64)), Var("R0",Imm(64)), -Out())]), Blks([Blk(Tid(2_458, "@fopen"), Attrs([Attr("address","0x8D0")]), - Phis([]), Defs([Def(Tid(4_004, "%00000fa4"), Attrs([Attr("address","0x8D0"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(4_011, "%00000fab"), Attrs([Attr("address","0x8D4"), -Attr("insn","ldr x17, [x16, #0x20]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(32,64)),LittleEndian(),64)), -Def(Tid(4_017, "%00000fb1"), Attrs([Attr("address","0x8D8"), -Attr("insn","add x16, x16, #0x20")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(4_022, "%00000fb6"), - Attrs([Attr("address","0x8DC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(5_033, "@frame_dummy"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xA90")]), - "frame_dummy", Args([Arg(Tid(5_082, "%000013da"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("frame_dummy_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_602, "@frame_dummy"), - Attrs([Attr("address","0xA90")]), Phis([]), Defs([]), -Jmps([Call(Tid(1_604, "%00000644"), Attrs([Attr("address","0xA90"), -Attr("insn","b #-0x90")]), Int(1,1), -(Direct(Tid(5_048, "@register_tm_clones")),))]))])), Sub(Tid(5_034, "@free"), - Attrs([Attr("c.proto","void (*)(void* ptr)"), Attr("address","0x940"), -Attr("stub","()")]), "free", Args([Arg(Tid(5_083, "%000013db"), - Attrs([Attr("c.layout","*[ : 8]"), Attr("c.data","{} ptr"), -Attr("c.type","void*")]), Var("free_ptr",Imm(64)), Var("R0",Imm(64)), -Both())]), Blks([Blk(Tid(3_131, "@free"), Attrs([Attr("address","0x940")]), - Phis([]), Defs([Def(Tid(4_158, "%0000103e"), Attrs([Attr("address","0x940"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(4_165, "%00001045"), Attrs([Attr("address","0x944"), -Attr("insn","ldr x17, [x16, #0x58]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(88,64)),LittleEndian(),64)), -Def(Tid(4_171, "%0000104b"), Attrs([Attr("address","0x948"), -Attr("insn","add x16, x16, #0x58")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(88,64)))]), Jmps([Call(Tid(4_176, "%00001050"), - Attrs([Attr("address","0x94C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(5_035, "@handleInput"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xB00")]), - "handleInput", Args([Arg(Tid(5_084, "%000013dc"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("handleInput_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_783, "@handleInput"), - Attrs([Attr("address","0xB00")]), Phis([]), -Defs([Def(Tid(1_790, "%000006fe"), Attrs([Attr("address","0xB00"), -Attr("insn","sub sp, sp, #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(1_796, "%00000704"), Attrs([Attr("address","0xB04"), -Attr("insn","stp x29, x30, [sp, #0x10]")]), Var("#5",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(1_802, "%0000070a"), - Attrs([Attr("address","0xB04"), Attr("insn","stp x29, x30, [sp, #0x10]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#5",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_808, "%00000710"), Attrs([Attr("address","0xB04"), -Attr("insn","stp x29, x30, [sp, #0x10]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#5",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_814, "%00000716"), Attrs([Attr("address","0xB08"), -Attr("insn","add x29, sp, #0x10")]), Var("R29",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(1_822, "%0000071e"), - Attrs([Attr("address","0xB0C"), Attr("insn","str x0, [sp, #0x8]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(1_829, "%00000725"), Attrs([Attr("address","0xB10"), -Attr("insn","ldr x0, [sp, #0x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_834, "%0000072a"), Attrs([Attr("address","0xB14"), -Attr("insn","adrp x1, #0")]), Var("R1",Imm(64)), Int(0,64)), -Def(Tid(1_840, "%00000730"), Attrs([Attr("address","0xB18"), -Attr("insn","add x1, x1, #0xe5a")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(3674,64))), Def(Tid(1_845, "%00000735"), - Attrs([Attr("address","0xB1C"), Attr("insn","bl #-0x1ec")]), - Var("R30",Imm(64)), Int(2848,64))]), Jmps([Call(Tid(1_848, "%00000738"), - Attrs([Attr("address","0xB1C"), Attr("insn","bl #-0x1ec")]), Int(1,1), -(Direct(Tid(5_054, "@strcmp")),Direct(Tid(1_850, "%0000073a"))))])), -Blk(Tid(1_850, "%0000073a"), Attrs([Attr("address","0xB20")]), Phis([]), -Defs([Def(Tid(1_854, "%0000073e"), Attrs([Attr("address","0xB20"), -Attr("insn","subs w8, w0, #0x0")]), Var("#6",Imm(32)), -PLUS(Extract(31,0,Var("R0",Imm(64))),Int(4294967295,32))), -Def(Tid(1_859, "%00000743"), Attrs([Attr("address","0xB20"), -Attr("insn","subs w8, w0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(33,PLUS(Var("#6",Imm(32)),Int(1,32))),PLUS(SIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(0,33)))), -Def(Tid(1_864, "%00000748"), Attrs([Attr("address","0xB20"), -Attr("insn","subs w8, w0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(33,PLUS(Var("#6",Imm(32)),Int(1,32))),PLUS(UNSIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(4294967296,33)))), -Def(Tid(1_868, "%0000074c"), Attrs([Attr("address","0xB20"), -Attr("insn","subs w8, w0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#6",Imm(32)),Int(1,32)),Int(0,32))), -Def(Tid(1_872, "%00000750"), Attrs([Attr("address","0xB20"), -Attr("insn","subs w8, w0, #0x0")]), Var("NF",Imm(1)), -Extract(31,31,PLUS(Var("#6",Imm(32)),Int(1,32)))), -Def(Tid(1_876, "%00000754"), Attrs([Attr("address","0xB20"), -Attr("insn","subs w8, w0, #0x0")]), Var("R8",Imm(64)), -UNSIGNED(64,PLUS(Var("#6",Imm(32)),Int(1,32))))]), -Jmps([Goto(Tid(1_888, "%00000760"), Attrs([Attr("address","0xB24"), -Attr("insn","cset w8, ne")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(1_881, "%00000759"))), Goto(Tid(1_889, "%00000761"), - Attrs([Attr("address","0xB24"), Attr("insn","cset w8, ne")]), Int(1,1), -Direct(Tid(1_884, "%0000075c")))])), Blk(Tid(1_884, "%0000075c"), Attrs([]), - Phis([]), Defs([Def(Tid(1_885, "%0000075d"), Attrs([Attr("address","0xB24"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(1,64))]), -Jmps([Goto(Tid(1_891, "%00000763"), Attrs([Attr("address","0xB24"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(1_887, "%0000075f")))])), -Blk(Tid(1_881, "%00000759"), Attrs([]), Phis([]), -Defs([Def(Tid(1_882, "%0000075a"), Attrs([Attr("address","0xB24"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(1_890, "%00000762"), Attrs([Attr("address","0xB24"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(1_887, "%0000075f")))])), -Blk(Tid(1_887, "%0000075f"), Attrs([]), Phis([]), Defs([]), -Jmps([Goto(Tid(1_897, "%00000769"), Attrs([Attr("address","0xB28"), -Attr("insn","tbnz w8, #0x0, #0x10")]), - EQ(Extract(0,0,Var("R8",Imm(64))),Int(1,1)), -Direct(Tid(1_895, "%00000767"))), Goto(Tid(5_036, "%000013ac"), Attrs([]), - Int(1,1), Direct(Tid(3_440, "%00000d70")))])), Blk(Tid(1_895, "%00000767"), - Attrs([Attr("address","0xB38")]), Phis([]), -Defs([Def(Tid(1_905, "%00000771"), Attrs([Attr("address","0xB38"), -Attr("insn","ldr x0, [sp, #0x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_910, "%00000776"), Attrs([Attr("address","0xB3C"), -Attr("insn","adrp x1, #0")]), Var("R1",Imm(64)), Int(0,64)), -Def(Tid(1_916, "%0000077c"), Attrs([Attr("address","0xB40"), -Attr("insn","add x1, x1, #0xe5f")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(3679,64))), Def(Tid(1_921, "%00000781"), - Attrs([Attr("address","0xB44"), Attr("insn","mov x2, #0x5")]), - Var("R2",Imm(64)), Int(5,64)), Def(Tid(1_926, "%00000786"), - Attrs([Attr("address","0xB48"), Attr("insn","bl #-0x268")]), - Var("R30",Imm(64)), Int(2892,64))]), Jmps([Call(Tid(1_929, "%00000789"), - Attrs([Attr("address","0xB48"), Attr("insn","bl #-0x268")]), Int(1,1), -(Direct(Tid(5_057, "@strncmp")),Direct(Tid(1_931, "%0000078b"))))])), -Blk(Tid(1_931, "%0000078b"), Attrs([Attr("address","0xB4C")]), Phis([]), -Defs([Def(Tid(1_935, "%0000078f"), Attrs([Attr("address","0xB4C"), -Attr("insn","subs w8, w0, #0x0")]), Var("#7",Imm(32)), -PLUS(Extract(31,0,Var("R0",Imm(64))),Int(4294967295,32))), -Def(Tid(1_940, "%00000794"), Attrs([Attr("address","0xB4C"), -Attr("insn","subs w8, w0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(33,PLUS(Var("#7",Imm(32)),Int(1,32))),PLUS(SIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(0,33)))), -Def(Tid(1_945, "%00000799"), Attrs([Attr("address","0xB4C"), -Attr("insn","subs w8, w0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(33,PLUS(Var("#7",Imm(32)),Int(1,32))),PLUS(UNSIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(4294967296,33)))), -Def(Tid(1_949, "%0000079d"), Attrs([Attr("address","0xB4C"), -Attr("insn","subs w8, w0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#7",Imm(32)),Int(1,32)),Int(0,32))), -Def(Tid(1_953, "%000007a1"), Attrs([Attr("address","0xB4C"), -Attr("insn","subs w8, w0, #0x0")]), Var("NF",Imm(1)), -Extract(31,31,PLUS(Var("#7",Imm(32)),Int(1,32)))), -Def(Tid(1_957, "%000007a5"), Attrs([Attr("address","0xB4C"), -Attr("insn","subs w8, w0, #0x0")]), Var("R8",Imm(64)), -UNSIGNED(64,PLUS(Var("#7",Imm(32)),Int(1,32))))]), -Jmps([Goto(Tid(1_969, "%000007b1"), Attrs([Attr("address","0xB50"), -Attr("insn","cset w8, ne")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(1_962, "%000007aa"))), Goto(Tid(1_970, "%000007b2"), - Attrs([Attr("address","0xB50"), Attr("insn","cset w8, ne")]), Int(1,1), -Direct(Tid(1_965, "%000007ad")))])), Blk(Tid(1_965, "%000007ad"), Attrs([]), - Phis([]), Defs([Def(Tid(1_966, "%000007ae"), Attrs([Attr("address","0xB50"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(1,64))]), -Jmps([Goto(Tid(1_972, "%000007b4"), Attrs([Attr("address","0xB50"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(1_968, "%000007b0")))])), -Blk(Tid(1_962, "%000007aa"), Attrs([]), Phis([]), -Defs([Def(Tid(1_963, "%000007ab"), Attrs([Attr("address","0xB50"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(1_971, "%000007b3"), Attrs([Attr("address","0xB50"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(1_968, "%000007b0")))])), -Blk(Tid(1_968, "%000007b0"), Attrs([]), Phis([]), Defs([]), -Jmps([Goto(Tid(1_978, "%000007ba"), Attrs([Attr("address","0xB54"), -Attr("insn","tbnz w8, #0x0, #0x20")]), - EQ(Extract(0,0,Var("R8",Imm(64))),Int(1,1)), -Direct(Tid(1_976, "%000007b8"))), Goto(Tid(5_037, "%000013ad"), Attrs([]), - Int(1,1), Direct(Tid(3_397, "%00000d45")))])), Blk(Tid(1_976, "%000007b8"), - Attrs([Attr("address","0xB74")]), Phis([]), -Defs([Def(Tid(1_986, "%000007c2"), Attrs([Attr("address","0xB74"), -Attr("insn","ldr x0, [sp, #0x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_991, "%000007c7"), Attrs([Attr("address","0xB78"), -Attr("insn","adrp x1, #0")]), Var("R1",Imm(64)), Int(0,64)), -Def(Tid(1_997, "%000007cd"), Attrs([Attr("address","0xB7C"), -Attr("insn","add x1, x1, #0xe65")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(3685,64))), Def(Tid(2_002, "%000007d2"), - Attrs([Attr("address","0xB80"), Attr("insn","bl #-0x250")]), - Var("R30",Imm(64)), Int(2948,64))]), Jmps([Call(Tid(2_004, "%000007d4"), - Attrs([Attr("address","0xB80"), Attr("insn","bl #-0x250")]), Int(1,1), -(Direct(Tid(5_054, "@strcmp")),Direct(Tid(2_006, "%000007d6"))))])), -Blk(Tid(2_006, "%000007d6"), Attrs([Attr("address","0xB84")]), Phis([]), -Defs([Def(Tid(2_010, "%000007da"), Attrs([Attr("address","0xB84"), -Attr("insn","subs w8, w0, #0x0")]), Var("#8",Imm(32)), -PLUS(Extract(31,0,Var("R0",Imm(64))),Int(4294967295,32))), -Def(Tid(2_015, "%000007df"), Attrs([Attr("address","0xB84"), -Attr("insn","subs w8, w0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(33,PLUS(Var("#8",Imm(32)),Int(1,32))),PLUS(SIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(0,33)))), -Def(Tid(2_020, "%000007e4"), Attrs([Attr("address","0xB84"), -Attr("insn","subs w8, w0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(33,PLUS(Var("#8",Imm(32)),Int(1,32))),PLUS(UNSIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(4294967296,33)))), -Def(Tid(2_024, "%000007e8"), Attrs([Attr("address","0xB84"), -Attr("insn","subs w8, w0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#8",Imm(32)),Int(1,32)),Int(0,32))), -Def(Tid(2_028, "%000007ec"), Attrs([Attr("address","0xB84"), -Attr("insn","subs w8, w0, #0x0")]), Var("NF",Imm(1)), -Extract(31,31,PLUS(Var("#8",Imm(32)),Int(1,32)))), -Def(Tid(2_032, "%000007f0"), Attrs([Attr("address","0xB84"), -Attr("insn","subs w8, w0, #0x0")]), Var("R8",Imm(64)), -UNSIGNED(64,PLUS(Var("#8",Imm(32)),Int(1,32))))]), -Jmps([Goto(Tid(2_044, "%000007fc"), Attrs([Attr("address","0xB88"), -Attr("insn","cset w8, ne")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(2_037, "%000007f5"))), Goto(Tid(2_045, "%000007fd"), - Attrs([Attr("address","0xB88"), Attr("insn","cset w8, ne")]), Int(1,1), -Direct(Tid(2_040, "%000007f8")))])), Blk(Tid(2_040, "%000007f8"), Attrs([]), - Phis([]), Defs([Def(Tid(2_041, "%000007f9"), Attrs([Attr("address","0xB88"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(1,64))]), -Jmps([Goto(Tid(2_047, "%000007ff"), Attrs([Attr("address","0xB88"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_043, "%000007fb")))])), -Blk(Tid(2_037, "%000007f5"), Attrs([]), Phis([]), -Defs([Def(Tid(2_038, "%000007f6"), Attrs([Attr("address","0xB88"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(2_046, "%000007fe"), Attrs([Attr("address","0xB88"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_043, "%000007fb")))])), -Blk(Tid(2_043, "%000007fb"), Attrs([]), Phis([]), Defs([]), -Jmps([Goto(Tid(2_053, "%00000805"), Attrs([Attr("address","0xB8C"), -Attr("insn","tbnz w8, #0x0, #0x10")]), - EQ(Extract(0,0,Var("R8",Imm(64))),Int(1,1)), -Direct(Tid(2_051, "%00000803"))), Goto(Tid(5_038, "%000013ae"), Attrs([]), - Int(1,1), Direct(Tid(3_382, "%00000d36")))])), Blk(Tid(2_051, "%00000803"), - Attrs([Attr("address","0xB9C")]), Phis([]), -Defs([Def(Tid(2_061, "%0000080d"), Attrs([Attr("address","0xB9C"), -Attr("insn","ldr x0, [sp, #0x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_066, "%00000812"), Attrs([Attr("address","0xBA0"), -Attr("insn","adrp x1, #0")]), Var("R1",Imm(64)), Int(0,64)), -Def(Tid(2_072, "%00000818"), Attrs([Attr("address","0xBA4"), -Attr("insn","add x1, x1, #0xe6a")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(3690,64))), Def(Tid(2_077, "%0000081d"), - Attrs([Attr("address","0xBA8"), Attr("insn","bl #-0x278")]), - Var("R30",Imm(64)), Int(2988,64))]), Jmps([Call(Tid(2_079, "%0000081f"), - Attrs([Attr("address","0xBA8"), Attr("insn","bl #-0x278")]), Int(1,1), -(Direct(Tid(5_054, "@strcmp")),Direct(Tid(2_081, "%00000821"))))])), -Blk(Tid(2_081, "%00000821"), Attrs([Attr("address","0xBAC")]), Phis([]), -Defs([Def(Tid(2_085, "%00000825"), Attrs([Attr("address","0xBAC"), -Attr("insn","subs w8, w0, #0x0")]), Var("#9",Imm(32)), -PLUS(Extract(31,0,Var("R0",Imm(64))),Int(4294967295,32))), -Def(Tid(2_090, "%0000082a"), Attrs([Attr("address","0xBAC"), -Attr("insn","subs w8, w0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(33,PLUS(Var("#9",Imm(32)),Int(1,32))),PLUS(SIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(0,33)))), -Def(Tid(2_095, "%0000082f"), Attrs([Attr("address","0xBAC"), -Attr("insn","subs w8, w0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(33,PLUS(Var("#9",Imm(32)),Int(1,32))),PLUS(UNSIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(4294967296,33)))), -Def(Tid(2_099, "%00000833"), Attrs([Attr("address","0xBAC"), -Attr("insn","subs w8, w0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#9",Imm(32)),Int(1,32)),Int(0,32))), -Def(Tid(2_103, "%00000837"), Attrs([Attr("address","0xBAC"), -Attr("insn","subs w8, w0, #0x0")]), Var("NF",Imm(1)), -Extract(31,31,PLUS(Var("#9",Imm(32)),Int(1,32)))), -Def(Tid(2_107, "%0000083b"), Attrs([Attr("address","0xBAC"), -Attr("insn","subs w8, w0, #0x0")]), Var("R8",Imm(64)), -UNSIGNED(64,PLUS(Var("#9",Imm(32)),Int(1,32))))]), -Jmps([Goto(Tid(2_119, "%00000847"), Attrs([Attr("address","0xBB0"), -Attr("insn","cset w8, ne")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(2_112, "%00000840"))), Goto(Tid(2_120, "%00000848"), - Attrs([Attr("address","0xBB0"), Attr("insn","cset w8, ne")]), Int(1,1), -Direct(Tid(2_115, "%00000843")))])), Blk(Tid(2_115, "%00000843"), Attrs([]), - Phis([]), Defs([Def(Tid(2_116, "%00000844"), Attrs([Attr("address","0xBB0"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(1,64))]), -Jmps([Goto(Tid(2_122, "%0000084a"), Attrs([Attr("address","0xBB0"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_118, "%00000846")))])), -Blk(Tid(2_112, "%00000840"), Attrs([]), Phis([]), -Defs([Def(Tid(2_113, "%00000841"), Attrs([Attr("address","0xBB0"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(2_121, "%00000849"), Attrs([Attr("address","0xBB0"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_118, "%00000846")))])), -Blk(Tid(2_118, "%00000846"), Attrs([]), Phis([]), Defs([]), -Jmps([Goto(Tid(2_128, "%00000850"), Attrs([Attr("address","0xBB4"), -Attr("insn","tbnz w8, #0x0, #0x10")]), - EQ(Extract(0,0,Var("R8",Imm(64))),Int(1,1)), -Direct(Tid(2_126, "%0000084e"))), Goto(Tid(5_039, "%000013af"), Attrs([]), - Int(1,1), Direct(Tid(3_367, "%00000d27")))])), Blk(Tid(2_126, "%0000084e"), - Attrs([Attr("address","0xBC4")]), Phis([]), -Defs([Def(Tid(2_136, "%00000858"), Attrs([Attr("address","0xBC4"), -Attr("insn","ldr x0, [sp, #0x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_141, "%0000085d"), Attrs([Attr("address","0xBC8"), -Attr("insn","adrp x1, #0")]), Var("R1",Imm(64)), Int(0,64)), -Def(Tid(2_147, "%00000863"), Attrs([Attr("address","0xBCC"), -Attr("insn","add x1, x1, #0xe70")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(3696,64))), Def(Tid(2_152, "%00000868"), - Attrs([Attr("address","0xBD0"), Attr("insn","bl #-0x2a0")]), - Var("R30",Imm(64)), Int(3028,64))]), Jmps([Call(Tid(2_154, "%0000086a"), - Attrs([Attr("address","0xBD0"), Attr("insn","bl #-0x2a0")]), Int(1,1), -(Direct(Tid(5_054, "@strcmp")),Direct(Tid(2_156, "%0000086c"))))])), -Blk(Tid(2_156, "%0000086c"), Attrs([Attr("address","0xBD4")]), Phis([]), -Defs([Def(Tid(2_160, "%00000870"), Attrs([Attr("address","0xBD4"), -Attr("insn","subs w8, w0, #0x0")]), Var("#10",Imm(32)), -PLUS(Extract(31,0,Var("R0",Imm(64))),Int(4294967295,32))), -Def(Tid(2_165, "%00000875"), Attrs([Attr("address","0xBD4"), -Attr("insn","subs w8, w0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(33,PLUS(Var("#10",Imm(32)),Int(1,32))),PLUS(SIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(0,33)))), -Def(Tid(2_170, "%0000087a"), Attrs([Attr("address","0xBD4"), -Attr("insn","subs w8, w0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(33,PLUS(Var("#10",Imm(32)),Int(1,32))),PLUS(UNSIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(4294967296,33)))), -Def(Tid(2_174, "%0000087e"), Attrs([Attr("address","0xBD4"), -Attr("insn","subs w8, w0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#10",Imm(32)),Int(1,32)),Int(0,32))), -Def(Tid(2_178, "%00000882"), Attrs([Attr("address","0xBD4"), -Attr("insn","subs w8, w0, #0x0")]), Var("NF",Imm(1)), -Extract(31,31,PLUS(Var("#10",Imm(32)),Int(1,32)))), -Def(Tid(2_182, "%00000886"), Attrs([Attr("address","0xBD4"), -Attr("insn","subs w8, w0, #0x0")]), Var("R8",Imm(64)), -UNSIGNED(64,PLUS(Var("#10",Imm(32)),Int(1,32))))]), -Jmps([Goto(Tid(2_194, "%00000892"), Attrs([Attr("address","0xBD8"), -Attr("insn","cset w8, ne")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(2_187, "%0000088b"))), Goto(Tid(2_195, "%00000893"), - Attrs([Attr("address","0xBD8"), Attr("insn","cset w8, ne")]), Int(1,1), -Direct(Tid(2_190, "%0000088e")))])), Blk(Tid(2_190, "%0000088e"), Attrs([]), - Phis([]), Defs([Def(Tid(2_191, "%0000088f"), Attrs([Attr("address","0xBD8"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(1,64))]), -Jmps([Goto(Tid(2_197, "%00000895"), Attrs([Attr("address","0xBD8"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_193, "%00000891")))])), -Blk(Tid(2_187, "%0000088b"), Attrs([]), Phis([]), -Defs([Def(Tid(2_188, "%0000088c"), Attrs([Attr("address","0xBD8"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(2_196, "%00000894"), Attrs([Attr("address","0xBD8"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_193, "%00000891")))])), -Blk(Tid(2_193, "%00000891"), Attrs([]), Phis([]), Defs([]), -Jmps([Goto(Tid(2_203, "%0000089b"), Attrs([Attr("address","0xBDC"), -Attr("insn","tbnz w8, #0x0, #0x34")]), - EQ(Extract(0,0,Var("R8",Imm(64))),Int(1,1)), -Direct(Tid(2_201, "%00000899"))), Goto(Tid(5_040, "%000013b0"), Attrs([]), - Int(1,1), Direct(Tid(3_266, "%00000cc2")))])), Blk(Tid(3_266, "%00000cc2"), - Attrs([Attr("address","0xBE0")]), Phis([]), Defs([]), -Jmps([Goto(Tid(3_269, "%00000cc5"), Attrs([Attr("address","0xBE0"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_267, "%00000cc3")))])), -Blk(Tid(3_267, "%00000cc3"), Attrs([Attr("address","0xBE4")]), Phis([]), -Defs([Def(Tid(3_273, "%00000cc9"), Attrs([Attr("address","0xBE4"), -Attr("insn","adrp x8, #69632")]), Var("R8",Imm(64)), Int(69632,64)), -Def(Tid(3_280, "%00000cd0"), Attrs([Attr("address","0xBE8"), -Attr("insn","ldr x8, [x8, #0xfd0]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(4048,64)),LittleEndian(),64)), -Def(Tid(3_287, "%00000cd7"), Attrs([Attr("address","0xBEC"), -Attr("insn","ldr x8, [x8]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(3_293, "%00000cdd"), Attrs([Attr("address","0xBF0"), -Attr("insn","subs x8, x8, #0x0")]), Var("#22",Imm(64)), -PLUS(Var("R8",Imm(64)),Int(18446744073709551615,64))), -Def(Tid(3_298, "%00000ce2"), Attrs([Attr("address","0xBF0"), -Attr("insn","subs x8, x8, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#22",Imm(64)),Int(1,64))),PLUS(SIGNED(65,Var("R8",Imm(64))),Int(0,65)))), -Def(Tid(3_303, "%00000ce7"), Attrs([Attr("address","0xBF0"), -Attr("insn","subs x8, x8, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#22",Imm(64)),Int(1,64))),PLUS(UNSIGNED(65,Var("R8",Imm(64))),Int(18446744073709551616,65)))), -Def(Tid(3_307, "%00000ceb"), Attrs([Attr("address","0xBF0"), -Attr("insn","subs x8, x8, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#22",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(3_311, "%00000cef"), Attrs([Attr("address","0xBF0"), -Attr("insn","subs x8, x8, #0x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#22",Imm(64)),Int(1,64)))), -Def(Tid(3_315, "%00000cf3"), Attrs([Attr("address","0xBF0"), -Attr("insn","subs x8, x8, #0x0")]), Var("R8",Imm(64)), -PLUS(Var("#22",Imm(64)),Int(1,64)))]), Jmps([Goto(Tid(3_327, "%00000cff"), - Attrs([Attr("address","0xBF4"), Attr("insn","cset w8, eq")]), - NEQ(Var("ZF",Imm(1)),Int(1,1)), Direct(Tid(3_320, "%00000cf8"))), -Goto(Tid(3_328, "%00000d00"), Attrs([Attr("address","0xBF4"), -Attr("insn","cset w8, eq")]), Int(1,1), Direct(Tid(3_323, "%00000cfb")))])), -Blk(Tid(3_323, "%00000cfb"), Attrs([]), Phis([]), -Defs([Def(Tid(3_324, "%00000cfc"), Attrs([Attr("address","0xBF4"), -Attr("insn","cset w8, eq")]), Var("R8",Imm(64)), Int(1,64))]), -Jmps([Goto(Tid(3_330, "%00000d02"), Attrs([Attr("address","0xBF4"), -Attr("insn","cset w8, eq")]), Int(1,1), Direct(Tid(3_326, "%00000cfe")))])), -Blk(Tid(3_320, "%00000cf8"), Attrs([]), Phis([]), -Defs([Def(Tid(3_321, "%00000cf9"), Attrs([Attr("address","0xBF4"), -Attr("insn","cset w8, eq")]), Var("R8",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(3_329, "%00000d01"), Attrs([Attr("address","0xBF4"), -Attr("insn","cset w8, eq")]), Int(1,1), Direct(Tid(3_326, "%00000cfe")))])), -Blk(Tid(3_326, "%00000cfe"), Attrs([]), Phis([]), Defs([]), -Jmps([Goto(Tid(3_336, "%00000d08"), Attrs([Attr("address","0xBF8"), -Attr("insn","tbnz w8, #0x0, #0x10")]), - EQ(Extract(0,0,Var("R8",Imm(64))),Int(1,1)), -Direct(Tid(3_334, "%00000d06"))), Goto(Tid(5_041, "%000013b1"), Attrs([]), - Int(1,1), Direct(Tid(3_352, "%00000d18")))])), Blk(Tid(3_352, "%00000d18"), - Attrs([Attr("address","0xBFC")]), Phis([]), Defs([]), -Jmps([Goto(Tid(3_355, "%00000d1b"), Attrs([Attr("address","0xBFC"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_353, "%00000d19")))])), -Blk(Tid(3_353, "%00000d19"), Attrs([Attr("address","0xC00")]), Phis([]), -Defs([Def(Tid(3_359, "%00000d1f"), Attrs([Attr("address","0xC00"), -Attr("insn","bl #0x1b8")]), Var("R30",Imm(64)), Int(3076,64))]), -Jmps([Call(Tid(3_361, "%00000d21"), Attrs([Attr("address","0xC00"), -Attr("insn","bl #0x1b8")]), Int(1,1), -(Direct(Tid(5_024, "@closeFile")),Direct(Tid(3_363, "%00000d23"))))])), -Blk(Tid(3_363, "%00000d23"), Attrs([Attr("address","0xC04")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_365, "%00000d25"), Attrs([Attr("address","0xC04"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_334, "%00000d06")))])), -Blk(Tid(3_334, "%00000d06"), Attrs([Attr("address","0xC08")]), Phis([]), -Defs([Def(Tid(3_342, "%00000d0e"), Attrs([Attr("address","0xC08"), -Attr("insn","mov w0, wzr")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(3_347, "%00000d13"), Attrs([Attr("address","0xC0C"), -Attr("insn","bl #-0x37c")]), Var("R30",Imm(64)), Int(3088,64))]), -Jmps([Call(Tid(3_350, "%00000d16"), Attrs([Attr("address","0xC0C"), -Attr("insn","bl #-0x37c")]), Int(1,1), -(Direct(Tid(5_029, "@exit")),Direct(Tid(2_201, "%00000899"))))])), -Blk(Tid(2_201, "%00000899"), Attrs([Attr("address","0xC10")]), Phis([]), -Defs([Def(Tid(2_209, "%000008a1"), Attrs([Attr("address","0xC10"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_215, "%000008a7"), Attrs([Attr("address","0xC14"), -Attr("insn","add x0, x0, #0xe75")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3701,64))), Def(Tid(2_220, "%000008ac"), - Attrs([Attr("address","0xC18"), Attr("insn","bl #-0x2b8")]), - Var("R30",Imm(64)), Int(3100,64))]), Jmps([Call(Tid(2_222, "%000008ae"), - Attrs([Attr("address","0xC18"), Attr("insn","bl #-0x2b8")]), Int(1,1), -(Direct(Tid(5_047, "@printf")),Direct(Tid(2_224, "%000008b0"))))])), -Blk(Tid(2_224, "%000008b0"), Attrs([Attr("address","0xC1C")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_227, "%000008b3"), Attrs([Attr("address","0xC1C"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(2_225, "%000008b1")))])), -Blk(Tid(2_225, "%000008b1"), Attrs([Attr("address","0xC20")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_231, "%000008b7"), Attrs([Attr("address","0xC20"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(2_229, "%000008b5")))])), -Blk(Tid(3_367, "%00000d27"), Attrs([Attr("address","0xBB8")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_370, "%00000d2a"), Attrs([Attr("address","0xBB8"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_368, "%00000d28")))])), -Blk(Tid(3_368, "%00000d28"), Attrs([Attr("address","0xBBC")]), Phis([]), -Defs([Def(Tid(3_374, "%00000d2e"), Attrs([Attr("address","0xBBC"), -Attr("insn","bl #0x1fc")]), Var("R30",Imm(64)), Int(3008,64))]), -Jmps([Call(Tid(3_376, "%00000d30"), Attrs([Attr("address","0xBBC"), -Attr("insn","bl #0x1fc")]), Int(1,1), -(Direct(Tid(5_024, "@closeFile")),Direct(Tid(3_378, "%00000d32"))))])), -Blk(Tid(3_378, "%00000d32"), Attrs([Attr("address","0xBC0")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_380, "%00000d34"), Attrs([Attr("address","0xBC0"), -Attr("insn","b #0x64")]), Int(1,1), Direct(Tid(2_229, "%000008b5")))])), -Blk(Tid(2_229, "%000008b5"), Attrs([Attr("address","0xC24")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_235, "%000008bb"), Attrs([Attr("address","0xC24"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(2_233, "%000008b9")))])), -Blk(Tid(3_382, "%00000d36"), Attrs([Attr("address","0xB90")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_385, "%00000d39"), Attrs([Attr("address","0xB90"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_383, "%00000d37")))])), -Blk(Tid(3_383, "%00000d37"), Attrs([Attr("address","0xB94")]), Phis([]), -Defs([Def(Tid(3_389, "%00000d3d"), Attrs([Attr("address","0xB94"), -Attr("insn","bl #0x1bc")]), Var("R30",Imm(64)), Int(2968,64))]), -Jmps([Call(Tid(3_391, "%00000d3f"), Attrs([Attr("address","0xB94"), -Attr("insn","bl #0x1bc")]), Int(1,1), -(Direct(Tid(5_052, "@saveFile")),Direct(Tid(3_393, "%00000d41"))))])), -Blk(Tid(3_393, "%00000d41"), Attrs([Attr("address","0xB98")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_395, "%00000d43"), Attrs([Attr("address","0xB98"), -Attr("insn","b #0x90")]), Int(1,1), Direct(Tid(2_233, "%000008b9")))])), -Blk(Tid(2_233, "%000008b9"), Attrs([Attr("address","0xC28")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_239, "%000008bf"), Attrs([Attr("address","0xC28"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(2_237, "%000008bd")))])), -Blk(Tid(3_397, "%00000d45"), Attrs([Attr("address","0xB58")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_400, "%00000d48"), Attrs([Attr("address","0xB58"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_398, "%00000d46")))])), -Blk(Tid(3_398, "%00000d46"), Attrs([Attr("address","0xB5C")]), Phis([]), -Defs([Def(Tid(3_406, "%00000d4e"), Attrs([Attr("address","0xB5C"), -Attr("insn","ldr x8, [sp, #0x8]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(3_412, "%00000d54"), Attrs([Attr("address","0xB60"), -Attr("insn","add x8, x8, #0x5")]), Var("R8",Imm(64)), -PLUS(Var("R8",Imm(64)),Int(5,64))), Def(Tid(3_420, "%00000d5c"), - Attrs([Attr("address","0xB64"), Attr("insn","str x8, [sp]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("R31",Imm(64)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(3_427, "%00000d63"), Attrs([Attr("address","0xB68"), -Attr("insn","ldr x0, [sp]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(3_432, "%00000d68"), Attrs([Attr("address","0xB6C"), -Attr("insn","bl #0xd0")]), Var("R30",Imm(64)), Int(2928,64))]), -Jmps([Call(Tid(3_434, "%00000d6a"), Attrs([Attr("address","0xB6C"), -Attr("insn","bl #0xd0")]), Int(1,1), -(Direct(Tid(5_043, "@openFile")),Direct(Tid(3_436, "%00000d6c"))))])), -Blk(Tid(3_436, "%00000d6c"), Attrs([Attr("address","0xB70")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_438, "%00000d6e"), Attrs([Attr("address","0xB70"), -Attr("insn","b #0xbc")]), Int(1,1), Direct(Tid(2_237, "%000008bd")))])), -Blk(Tid(2_237, "%000008bd"), Attrs([Attr("address","0xC2C")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_243, "%000008c3"), Attrs([Attr("address","0xC2C"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(2_241, "%000008c1")))])), -Blk(Tid(3_440, "%00000d70"), Attrs([Attr("address","0xB2C")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_443, "%00000d73"), Attrs([Attr("address","0xB2C"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_441, "%00000d71")))])), -Blk(Tid(3_441, "%00000d71"), Attrs([Attr("address","0xB30")]), Phis([]), -Defs([Def(Tid(3_447, "%00000d77"), Attrs([Attr("address","0xB30"), -Attr("insn","bl #0x1c8")]), Var("R30",Imm(64)), Int(2868,64))]), -Jmps([Call(Tid(3_449, "%00000d79"), Attrs([Attr("address","0xB30"), -Attr("insn","bl #0x1c8")]), Int(1,1), -(Direct(Tid(5_046, "@printHelp")),Direct(Tid(3_451, "%00000d7b"))))])), -Blk(Tid(3_451, "%00000d7b"), Attrs([Attr("address","0xB34")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_453, "%00000d7d"), Attrs([Attr("address","0xB34"), -Attr("insn","b #0xfc")]), Int(1,1), Direct(Tid(2_241, "%000008c1")))])), -Blk(Tid(2_241, "%000008c1"), Attrs([Attr("address","0xC30")]), Phis([]), -Defs([Def(Tid(2_248, "%000008c8"), Attrs([Attr("address","0xC30"), -Attr("insn","ldp x29, x30, [sp, #0x10]")]), Var("#11",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(2_253, "%000008cd"), - Attrs([Attr("address","0xC30"), Attr("insn","ldp x29, x30, [sp, #0x10]")]), - Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#11",Imm(64)),LittleEndian(),64)), -Def(Tid(2_258, "%000008d2"), Attrs([Attr("address","0xC30"), -Attr("insn","ldp x29, x30, [sp, #0x10]")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#11",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_264, "%000008d8"), Attrs([Attr("address","0xC34"), -Attr("insn","add sp, sp, #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(2_269, "%000008dd"), - Attrs([Attr("address","0xC38"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(5_042, "@main"), - Attrs([Attr("c.proto","signed (*)(signed argc, const char** argv)"), -Attr("address","0xA94")]), "main", Args([Arg(Tid(5_085, "%000013dd"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("main_argc",Imm(32)), -LOW(32,Var("R0",Imm(64))), In()), Arg(Tid(5_086, "%000013de"), - Attrs([Attr("c.layout","**[char : 8]"), Attr("c.data","Top:u8 ptr ptr"), -Attr("c.type"," const char**")]), Var("main_argv",Imm(64)), -Var("R1",Imm(64)), Both()), Arg(Tid(5_087, "%000013df"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("main_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_606, "@main"), - Attrs([Attr("address","0xA94")]), Phis([]), -Defs([Def(Tid(1_610, "%0000064a"), Attrs([Attr("address","0xA94"), -Attr("insn","sub sp, sp, #0x130")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551312,64))), -Def(Tid(1_616, "%00000650"), Attrs([Attr("address","0xA98"), -Attr("insn","stp x29, x30, [sp, #0x110]")]), Var("#4",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(272,64))), Def(Tid(1_622, "%00000656"), - Attrs([Attr("address","0xA98"), Attr("insn","stp x29, x30, [sp, #0x110]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#4",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_628, "%0000065c"), Attrs([Attr("address","0xA98"), -Attr("insn","stp x29, x30, [sp, #0x110]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#4",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_636, "%00000664"), Attrs([Attr("address","0xA9C"), -Attr("insn","str x28, [sp, #0x120]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(288,64)),Var("R28",Imm(64)),LittleEndian(),64)), -Def(Tid(1_642, "%0000066a"), Attrs([Attr("address","0xAA0"), -Attr("insn","add x29, sp, #0x110")]), Var("R29",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(272,64))), Def(Tid(1_649, "%00000671"), - Attrs([Attr("address","0xAA4"), Attr("insn","stur wzr, [x29, #-0x4]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R29",Imm(64)),Int(18446744073709551612,64)),Int(0,32),LittleEndian(),32))]), -Jmps([Goto(Tid(1_654, "%00000676"), Attrs([Attr("address","0xAA8"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(1_652, "%00000674")))])), -Blk(Tid(1_652, "%00000674"), Attrs([Attr("address","0xAAC")]), Phis([]), -Defs([Def(Tid(1_658, "%0000067a"), Attrs([Attr("address","0xAAC"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_664, "%00000680"), Attrs([Attr("address","0xAB0"), -Attr("insn","add x0, x0, #0xe48")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3656,64))), Def(Tid(1_669, "%00000685"), - Attrs([Attr("address","0xAB4"), Attr("insn","bl #-0x154")]), - Var("R30",Imm(64)), Int(2744,64))]), Jmps([Call(Tid(1_672, "%00000688"), - Attrs([Attr("address","0xAB4"), Attr("insn","bl #-0x154")]), Int(1,1), -(Direct(Tid(5_047, "@printf")),Direct(Tid(1_674, "%0000068a"))))])), -Blk(Tid(1_674, "%0000068a"), Attrs([Attr("address","0xAB8")]), Phis([]), -Defs([Def(Tid(1_677, "%0000068d"), Attrs([Attr("address","0xAB8"), -Attr("insn","adrp x8, #69632")]), Var("R8",Imm(64)), Int(69632,64)), -Def(Tid(1_684, "%00000694"), Attrs([Attr("address","0xABC"), -Attr("insn","ldr x8, [x8, #0xfc0]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(4032,64)),LittleEndian(),64)), -Def(Tid(1_691, "%0000069b"), Attrs([Attr("address","0xAC0"), -Attr("insn","ldr x2, [x8]")]), Var("R2",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(1_697, "%000006a1"), Attrs([Attr("address","0xAC4"), -Attr("insn","add x0, sp, #0xc")]), Var("R0",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(12,64))), Def(Tid(1_705, "%000006a9"), - Attrs([Attr("address","0xAC8"), Attr("insn","str x0, [sp]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("R31",Imm(64)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(1_710, "%000006ae"), Attrs([Attr("address","0xACC"), -Attr("insn","mov w1, #0x100")]), Var("R1",Imm(64)), Int(256,64)), -Def(Tid(1_715, "%000006b3"), Attrs([Attr("address","0xAD0"), -Attr("insn","bl #-0x160")]), Var("R30",Imm(64)), Int(2772,64))]), -Jmps([Call(Tid(1_718, "%000006b6"), Attrs([Attr("address","0xAD0"), -Attr("insn","bl #-0x160")]), Int(1,1), -(Direct(Tid(5_031, "@fgets")),Direct(Tid(1_720, "%000006b8"))))])), -Blk(Tid(1_720, "%000006b8"), Attrs([Attr("address","0xAD4")]), Phis([]), -Defs([Def(Tid(1_725, "%000006bd"), Attrs([Attr("address","0xAD4"), -Attr("insn","ldr x0, [sp]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_730, "%000006c2"), Attrs([Attr("address","0xAD8"), -Attr("insn","adrp x1, #0")]), Var("R1",Imm(64)), Int(0,64)), -Def(Tid(1_736, "%000006c8"), Attrs([Attr("address","0xADC"), -Attr("insn","add x1, x1, #0xfdf")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(4063,64))), Def(Tid(1_741, "%000006cd"), - Attrs([Attr("address","0xAE0"), Attr("insn","bl #-0x190")]), - Var("R30",Imm(64)), Int(2788,64))]), Jmps([Call(Tid(1_744, "%000006d0"), - Attrs([Attr("address","0xAE0"), Attr("insn","bl #-0x190")]), Int(1,1), -(Direct(Tid(5_055, "@strcspn")),Direct(Tid(1_746, "%000006d2"))))])), -Blk(Tid(1_746, "%000006d2"), Attrs([Attr("address","0xAE4")]), Phis([]), -Defs([Def(Tid(1_750, "%000006d6"), Attrs([Attr("address","0xAE4"), -Attr("insn","mov x9, x0")]), Var("R9",Imm(64)), Var("R0",Imm(64))), -Def(Tid(1_757, "%000006dd"), Attrs([Attr("address","0xAE8"), -Attr("insn","ldr x0, [sp]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_763, "%000006e3"), Attrs([Attr("address","0xAEC"), -Attr("insn","mov x8, x0")]), Var("R8",Imm(64)), Var("R0",Imm(64))), -Def(Tid(1_770, "%000006ea"), Attrs([Attr("address","0xAF0"), -Attr("insn","add x8, x8, x9")]), Var("R8",Imm(64)), -PLUS(Var("R8",Imm(64)),Var("R9",Imm(64)))), Def(Tid(1_777, "%000006f1"), - Attrs([Attr("address","0xAF4"), Attr("insn","strb wzr, [x8]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("R8",Imm(64)),Int(0,8),LittleEndian(),8)), -Def(Tid(1_782, "%000006f6"), Attrs([Attr("address","0xAF8"), -Attr("insn","bl #0x8")]), Var("R30",Imm(64)), Int(2812,64))]), -Jmps([Call(Tid(1_785, "%000006f9"), Attrs([Attr("address","0xAF8"), -Attr("insn","bl #0x8")]), Int(1,1), -(Direct(Tid(5_035, "@handleInput")),Direct(Tid(3_455, "%00000d7f"))))])), -Blk(Tid(3_455, "%00000d7f"), Attrs([Attr("address","0xAFC")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_457, "%00000d81"), Attrs([Attr("address","0xAFC"), -Attr("insn","b #-0x50")]), Int(1,1), Direct(Tid(1_652, "%00000674")))]))])), -Sub(Tid(5_043, "@openFile"), Attrs([Attr("c.proto","signed (*)(void)"), -Attr("address","0xC3C")]), "openFile", Args([Arg(Tid(5_088, "%000013e0"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("openFile_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_271, "@openFile"), - Attrs([Attr("address","0xC3C")]), Phis([]), -Defs([Def(Tid(2_275, "%000008e3"), Attrs([Attr("address","0xC3C"), -Attr("insn","sub sp, sp, #0x30")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551568,64))), -Def(Tid(2_281, "%000008e9"), Attrs([Attr("address","0xC40"), -Attr("insn","stp x29, x30, [sp, #0x20]")]), Var("#12",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64))), Def(Tid(2_287, "%000008ef"), - Attrs([Attr("address","0xC40"), Attr("insn","stp x29, x30, [sp, #0x20]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#12",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(2_293, "%000008f5"), Attrs([Attr("address","0xC40"), -Attr("insn","stp x29, x30, [sp, #0x20]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#12",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(2_299, "%000008fb"), Attrs([Attr("address","0xC44"), -Attr("insn","add x29, sp, #0x20")]), Var("R29",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64))), Def(Tid(2_304, "%00000900"), - Attrs([Attr("address","0xC48"), Attr("insn","adrp x8, #69632")]), - Var("R8",Imm(64)), Int(69632,64)), Def(Tid(2_311, "%00000907"), - Attrs([Attr("address","0xC4C"), Attr("insn","ldr x8, [x8, #0xfd0]")]), - Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(4048,64)),LittleEndian(),64)), -Def(Tid(2_319, "%0000090f"), Attrs([Attr("address","0xC50"), -Attr("insn","str x8, [sp, #0x8]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(2_324, "%00000914"), Attrs([Attr("address","0xC54"), -Attr("insn","adrp x9, #69632")]), Var("R9",Imm(64)), Int(69632,64)), -Def(Tid(2_331, "%0000091b"), Attrs([Attr("address","0xC58"), -Attr("insn","ldr x9, [x9, #0xfb8]")]), Var("R9",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R9",Imm(64)),Int(4024,64)),LittleEndian(),64)), -Def(Tid(2_339, "%00000923"), Attrs([Attr("address","0xC5C"), -Attr("insn","str x9, [sp, #0x10]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),Var("R9",Imm(64)),LittleEndian(),64)), -Def(Tid(2_347, "%0000092b"), Attrs([Attr("address","0xC60"), -Attr("insn","stur x0, [x29, #-0x8]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R29",Imm(64)),Int(18446744073709551608,64)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_354, "%00000932"), Attrs([Attr("address","0xC64"), -Attr("insn","ldr x8, [x8]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(2_360, "%00000938"), Attrs([Attr("address","0xC68"), -Attr("insn","subs x8, x8, #0x0")]), Var("#13",Imm(64)), -PLUS(Var("R8",Imm(64)),Int(18446744073709551615,64))), -Def(Tid(2_365, "%0000093d"), Attrs([Attr("address","0xC68"), -Attr("insn","subs x8, x8, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#13",Imm(64)),Int(1,64))),PLUS(SIGNED(65,Var("R8",Imm(64))),Int(0,65)))), -Def(Tid(2_370, "%00000942"), Attrs([Attr("address","0xC68"), -Attr("insn","subs x8, x8, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#13",Imm(64)),Int(1,64))),PLUS(UNSIGNED(65,Var("R8",Imm(64))),Int(18446744073709551616,65)))), -Def(Tid(2_374, "%00000946"), Attrs([Attr("address","0xC68"), -Attr("insn","subs x8, x8, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#13",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(2_378, "%0000094a"), Attrs([Attr("address","0xC68"), -Attr("insn","subs x8, x8, #0x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#13",Imm(64)),Int(1,64)))), -Def(Tid(2_382, "%0000094e"), Attrs([Attr("address","0xC68"), -Attr("insn","subs x8, x8, #0x0")]), Var("R8",Imm(64)), -PLUS(Var("#13",Imm(64)),Int(1,64)))]), Jmps([Goto(Tid(2_394, "%0000095a"), - Attrs([Attr("address","0xC6C"), Attr("insn","cset w8, eq")]), - NEQ(Var("ZF",Imm(1)),Int(1,1)), Direct(Tid(2_387, "%00000953"))), -Goto(Tid(2_395, "%0000095b"), Attrs([Attr("address","0xC6C"), -Attr("insn","cset w8, eq")]), Int(1,1), Direct(Tid(2_390, "%00000956")))])), -Blk(Tid(2_390, "%00000956"), Attrs([]), Phis([]), -Defs([Def(Tid(2_391, "%00000957"), Attrs([Attr("address","0xC6C"), -Attr("insn","cset w8, eq")]), Var("R8",Imm(64)), Int(1,64))]), -Jmps([Goto(Tid(2_397, "%0000095d"), Attrs([Attr("address","0xC6C"), -Attr("insn","cset w8, eq")]), Int(1,1), Direct(Tid(2_393, "%00000959")))])), -Blk(Tid(2_387, "%00000953"), Attrs([]), Phis([]), -Defs([Def(Tid(2_388, "%00000954"), Attrs([Attr("address","0xC6C"), -Attr("insn","cset w8, eq")]), Var("R8",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(2_396, "%0000095c"), Attrs([Attr("address","0xC6C"), -Attr("insn","cset w8, eq")]), Int(1,1), Direct(Tid(2_393, "%00000959")))])), -Blk(Tid(2_393, "%00000959"), Attrs([]), Phis([]), Defs([]), -Jmps([Goto(Tid(2_403, "%00000963"), Attrs([Attr("address","0xC70"), -Attr("insn","tbnz w8, #0x0, #0x10")]), - EQ(Extract(0,0,Var("R8",Imm(64))),Int(1,1)), -Direct(Tid(2_401, "%00000961"))), Goto(Tid(5_044, "%000013b4"), Attrs([]), - Int(1,1), Direct(Tid(3_251, "%00000cb3")))])), Blk(Tid(3_251, "%00000cb3"), - Attrs([Attr("address","0xC74")]), Phis([]), Defs([]), -Jmps([Goto(Tid(3_254, "%00000cb6"), Attrs([Attr("address","0xC74"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_252, "%00000cb4")))])), -Blk(Tid(3_252, "%00000cb4"), Attrs([Attr("address","0xC78")]), Phis([]), -Defs([Def(Tid(3_258, "%00000cba"), Attrs([Attr("address","0xC78"), -Attr("insn","bl #0x140")]), Var("R30",Imm(64)), Int(3196,64))]), -Jmps([Call(Tid(3_260, "%00000cbc"), Attrs([Attr("address","0xC78"), -Attr("insn","bl #0x140")]), Int(1,1), -(Direct(Tid(5_024, "@closeFile")),Direct(Tid(3_262, "%00000cbe"))))])), -Blk(Tid(3_262, "%00000cbe"), Attrs([Attr("address","0xC7C")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_264, "%00000cc0"), Attrs([Attr("address","0xC7C"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(2_401, "%00000961")))])), -Blk(Tid(2_401, "%00000961"), Attrs([Attr("address","0xC80")]), Phis([]), -Defs([Def(Tid(2_411, "%0000096b"), Attrs([Attr("address","0xC80"), -Attr("insn","ldur x0, [x29, #-0x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R29",Imm(64)),Int(18446744073709551608,64)),LittleEndian(),64)), -Def(Tid(2_416, "%00000970"), Attrs([Attr("address","0xC84"), -Attr("insn","bl #-0x384")]), Var("R30",Imm(64)), Int(3208,64))]), -Jmps([Call(Tid(2_419, "%00000973"), Attrs([Attr("address","0xC84"), -Attr("insn","bl #-0x384")]), Int(1,1), -(Direct(Tid(5_056, "@strdup")),Direct(Tid(2_421, "%00000975"))))])), -Blk(Tid(2_421, "%00000975"), Attrs([Attr("address","0xC88")]), Phis([]), -Defs([Def(Tid(2_426, "%0000097a"), Attrs([Attr("address","0xC88"), -Attr("insn","ldr x8, [sp, #0x10]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),LittleEndian(),64)), -Def(Tid(2_434, "%00000982"), Attrs([Attr("address","0xC8C"), -Attr("insn","str x0, [x8]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("R8",Imm(64)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_441, "%00000989"), Attrs([Attr("address","0xC90"), -Attr("insn","ldr x0, [x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(2_446, "%0000098e"), Attrs([Attr("address","0xC94"), -Attr("insn","adrp x1, #0")]), Var("R1",Imm(64)), Int(0,64)), -Def(Tid(2_452, "%00000994"), Attrs([Attr("address","0xC98"), -Attr("insn","add x1, x1, #0xfb2")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(4018,64))), Def(Tid(2_457, "%00000999"), - Attrs([Attr("address","0xC9C"), Attr("insn","bl #-0x3cc")]), - Var("R30",Imm(64)), Int(3232,64))]), Jmps([Call(Tid(2_460, "%0000099c"), - Attrs([Attr("address","0xC9C"), Attr("insn","bl #-0x3cc")]), Int(1,1), -(Direct(Tid(5_032, "@fopen")),Direct(Tid(2_462, "%0000099e"))))])), -Blk(Tid(2_462, "%0000099e"), Attrs([Attr("address","0xCA0")]), Phis([]), -Defs([Def(Tid(2_467, "%000009a3"), Attrs([Attr("address","0xCA0"), -Attr("insn","ldr x8, [sp, #0x8]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_475, "%000009ab"), Attrs([Attr("address","0xCA4"), -Attr("insn","str x0, [x8]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("R8",Imm(64)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_482, "%000009b2"), Attrs([Attr("address","0xCA8"), -Attr("insn","ldr x8, [x8]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(2_488, "%000009b8"), Attrs([Attr("address","0xCAC"), -Attr("insn","subs x8, x8, #0x0")]), Var("#14",Imm(64)), -PLUS(Var("R8",Imm(64)),Int(18446744073709551615,64))), -Def(Tid(2_493, "%000009bd"), Attrs([Attr("address","0xCAC"), -Attr("insn","subs x8, x8, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#14",Imm(64)),Int(1,64))),PLUS(SIGNED(65,Var("R8",Imm(64))),Int(0,65)))), -Def(Tid(2_498, "%000009c2"), Attrs([Attr("address","0xCAC"), -Attr("insn","subs x8, x8, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#14",Imm(64)),Int(1,64))),PLUS(UNSIGNED(65,Var("R8",Imm(64))),Int(18446744073709551616,65)))), -Def(Tid(2_502, "%000009c6"), Attrs([Attr("address","0xCAC"), -Attr("insn","subs x8, x8, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#14",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(2_506, "%000009ca"), Attrs([Attr("address","0xCAC"), -Attr("insn","subs x8, x8, #0x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#14",Imm(64)),Int(1,64)))), -Def(Tid(2_510, "%000009ce"), Attrs([Attr("address","0xCAC"), -Attr("insn","subs x8, x8, #0x0")]), Var("R8",Imm(64)), -PLUS(Var("#14",Imm(64)),Int(1,64)))]), Jmps([Goto(Tid(2_522, "%000009da"), - Attrs([Attr("address","0xCB0"), Attr("insn","cset w8, ne")]), - EQ(Var("ZF",Imm(1)),Int(1,1)), Direct(Tid(2_515, "%000009d3"))), -Goto(Tid(2_523, "%000009db"), Attrs([Attr("address","0xCB0"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_518, "%000009d6")))])), -Blk(Tid(2_518, "%000009d6"), Attrs([]), Phis([]), -Defs([Def(Tid(2_519, "%000009d7"), Attrs([Attr("address","0xCB0"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(1,64))]), -Jmps([Goto(Tid(2_525, "%000009dd"), Attrs([Attr("address","0xCB0"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_521, "%000009d9")))])), -Blk(Tid(2_515, "%000009d3"), Attrs([]), Phis([]), -Defs([Def(Tid(2_516, "%000009d4"), Attrs([Attr("address","0xCB0"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(2_524, "%000009dc"), Attrs([Attr("address","0xCB0"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_521, "%000009d9")))])), -Blk(Tid(2_521, "%000009d9"), Attrs([]), Phis([]), Defs([]), -Jmps([Goto(Tid(2_531, "%000009e3"), Attrs([Attr("address","0xCB4"), -Attr("insn","tbnz w8, #0x0, #0x20")]), - EQ(Extract(0,0,Var("R8",Imm(64))),Int(1,1)), -Direct(Tid(2_529, "%000009e1"))), Goto(Tid(5_045, "%000013b5"), Attrs([]), - Int(1,1), Direct(Tid(3_211, "%00000c8b")))])), Blk(Tid(2_529, "%000009e1"), - Attrs([Attr("address","0xCD4")]), Phis([]), -Defs([Def(Tid(2_539, "%000009eb"), Attrs([Attr("address","0xCD4"), -Attr("insn","ldr x8, [sp, #0x10]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),LittleEndian(),64)), -Def(Tid(2_546, "%000009f2"), Attrs([Attr("address","0xCD8"), -Attr("insn","ldr x1, [x8]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(2_551, "%000009f7"), Attrs([Attr("address","0xCDC"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_557, "%000009fd"), Attrs([Attr("address","0xCE0"), -Attr("insn","add x0, x0, #0xfcf")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(4047,64))), Def(Tid(2_562, "%00000a02"), - Attrs([Attr("address","0xCE4"), Attr("insn","bl #-0x384")]), - Var("R30",Imm(64)), Int(3304,64))]), Jmps([Call(Tid(2_564, "%00000a04"), - Attrs([Attr("address","0xCE4"), Attr("insn","bl #-0x384")]), Int(1,1), -(Direct(Tid(5_047, "@printf")),Direct(Tid(2_566, "%00000a06"))))])), -Blk(Tid(2_566, "%00000a06"), Attrs([Attr("address","0xCE8")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_569, "%00000a09"), Attrs([Attr("address","0xCE8"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(2_567, "%00000a07")))])), -Blk(Tid(3_211, "%00000c8b"), Attrs([Attr("address","0xCB8")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_214, "%00000c8e"), Attrs([Attr("address","0xCB8"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_212, "%00000c8c")))])), -Blk(Tid(3_212, "%00000c8c"), Attrs([Attr("address","0xCBC")]), Phis([]), -Defs([Def(Tid(3_220, "%00000c94"), Attrs([Attr("address","0xCBC"), -Attr("insn","ldr x8, [sp, #0x10]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),LittleEndian(),64)), -Def(Tid(3_227, "%00000c9b"), Attrs([Attr("address","0xCC0"), -Attr("insn","ldr x1, [x8]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(3_232, "%00000ca0"), Attrs([Attr("address","0xCC4"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(3_238, "%00000ca6"), Attrs([Attr("address","0xCC8"), -Attr("insn","add x0, x0, #0xfb5")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(4021,64))), Def(Tid(3_243, "%00000cab"), - Attrs([Attr("address","0xCCC"), Attr("insn","bl #-0x36c")]), - Var("R30",Imm(64)), Int(3280,64))]), Jmps([Call(Tid(3_245, "%00000cad"), - Attrs([Attr("address","0xCCC"), Attr("insn","bl #-0x36c")]), Int(1,1), -(Direct(Tid(5_047, "@printf")),Direct(Tid(3_247, "%00000caf"))))])), -Blk(Tid(3_247, "%00000caf"), Attrs([Attr("address","0xCD0")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_249, "%00000cb1"), Attrs([Attr("address","0xCD0"), -Attr("insn","b #0x1c")]), Int(1,1), Direct(Tid(2_567, "%00000a07")))])), -Blk(Tid(2_567, "%00000a07"), Attrs([Attr("address","0xCEC")]), Phis([]), -Defs([Def(Tid(2_574, "%00000a0e"), Attrs([Attr("address","0xCEC"), -Attr("insn","ldp x29, x30, [sp, #0x20]")]), Var("#15",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64))), Def(Tid(2_579, "%00000a13"), - Attrs([Attr("address","0xCEC"), Attr("insn","ldp x29, x30, [sp, #0x20]")]), - Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#15",Imm(64)),LittleEndian(),64)), -Def(Tid(2_584, "%00000a18"), Attrs([Attr("address","0xCEC"), -Attr("insn","ldp x29, x30, [sp, #0x20]")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#15",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_590, "%00000a1e"), Attrs([Attr("address","0xCF0"), -Attr("insn","add sp, sp, #0x30")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(48,64)))]), Jmps([Call(Tid(2_595, "%00000a23"), - Attrs([Attr("address","0xCF4"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(5_046, "@printHelp"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xCF8")]), - "printHelp", Args([Arg(Tid(5_089, "%000013e1"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("printHelp_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_597, "@printHelp"), - Attrs([Attr("address","0xCF8")]), Phis([]), -Defs([Def(Tid(2_601, "%00000a29"), Attrs([Attr("address","0xCF8"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#16",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(2_607, "%00000a2f"), Attrs([Attr("address","0xCF8"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#16",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(2_613, "%00000a35"), Attrs([Attr("address","0xCF8"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#16",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(2_617, "%00000a39"), Attrs([Attr("address","0xCF8"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#16",Imm(64))), Def(Tid(2_623, "%00000a3f"), - Attrs([Attr("address","0xCFC"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(2_628, "%00000a44"), - Attrs([Attr("address","0xD00"), Attr("insn","adrp x0, #0")]), - Var("R0",Imm(64)), Int(0,64)), Def(Tid(2_634, "%00000a4a"), - Attrs([Attr("address","0xD04"), Attr("insn","add x0, x0, #0xeab")]), - Var("R0",Imm(64)), PLUS(Var("R0",Imm(64)),Int(3755,64))), -Def(Tid(2_639, "%00000a4f"), Attrs([Attr("address","0xD08"), -Attr("insn","bl #-0x3a8")]), Var("R30",Imm(64)), Int(3340,64))]), -Jmps([Call(Tid(2_641, "%00000a51"), Attrs([Attr("address","0xD08"), -Attr("insn","bl #-0x3a8")]), Int(1,1), -(Direct(Tid(5_047, "@printf")),Direct(Tid(2_643, "%00000a53"))))])), -Blk(Tid(2_643, "%00000a53"), Attrs([Attr("address","0xD0C")]), Phis([]), -Defs([Def(Tid(2_646, "%00000a56"), Attrs([Attr("address","0xD0C"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_652, "%00000a5c"), Attrs([Attr("address","0xD10"), -Attr("insn","add x0, x0, #0xeb6")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3766,64))), Def(Tid(2_657, "%00000a61"), - Attrs([Attr("address","0xD14"), Attr("insn","bl #-0x3b4")]), - Var("R30",Imm(64)), Int(3352,64))]), Jmps([Call(Tid(2_659, "%00000a63"), - Attrs([Attr("address","0xD14"), Attr("insn","bl #-0x3b4")]), Int(1,1), -(Direct(Tid(5_047, "@printf")),Direct(Tid(2_661, "%00000a65"))))])), -Blk(Tid(2_661, "%00000a65"), Attrs([Attr("address","0xD18")]), Phis([]), -Defs([Def(Tid(2_664, "%00000a68"), Attrs([Attr("address","0xD18"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_670, "%00000a6e"), Attrs([Attr("address","0xD1C"), -Attr("insn","add x0, x0, #0xeea")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3818,64))), Def(Tid(2_675, "%00000a73"), - Attrs([Attr("address","0xD20"), Attr("insn","bl #-0x3c0")]), - Var("R30",Imm(64)), Int(3364,64))]), Jmps([Call(Tid(2_677, "%00000a75"), - Attrs([Attr("address","0xD20"), Attr("insn","bl #-0x3c0")]), Int(1,1), -(Direct(Tid(5_047, "@printf")),Direct(Tid(2_679, "%00000a77"))))])), -Blk(Tid(2_679, "%00000a77"), Attrs([Attr("address","0xD24")]), Phis([]), -Defs([Def(Tid(2_682, "%00000a7a"), Attrs([Attr("address","0xD24"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_688, "%00000a80"), Attrs([Attr("address","0xD28"), -Attr("insn","add x0, x0, #0xf1c")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3868,64))), Def(Tid(2_693, "%00000a85"), - Attrs([Attr("address","0xD2C"), Attr("insn","bl #-0x3cc")]), - Var("R30",Imm(64)), Int(3376,64))]), Jmps([Call(Tid(2_695, "%00000a87"), - Attrs([Attr("address","0xD2C"), Attr("insn","bl #-0x3cc")]), Int(1,1), -(Direct(Tid(5_047, "@printf")),Direct(Tid(2_697, "%00000a89"))))])), -Blk(Tid(2_697, "%00000a89"), Attrs([Attr("address","0xD30")]), Phis([]), -Defs([Def(Tid(2_700, "%00000a8c"), Attrs([Attr("address","0xD30"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_706, "%00000a92"), Attrs([Attr("address","0xD34"), -Attr("insn","add x0, x0, #0xf57")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3927,64))), Def(Tid(2_711, "%00000a97"), - Attrs([Attr("address","0xD38"), Attr("insn","bl #-0x3d8")]), - Var("R30",Imm(64)), Int(3388,64))]), Jmps([Call(Tid(2_713, "%00000a99"), - Attrs([Attr("address","0xD38"), Attr("insn","bl #-0x3d8")]), Int(1,1), -(Direct(Tid(5_047, "@printf")),Direct(Tid(2_715, "%00000a9b"))))])), -Blk(Tid(2_715, "%00000a9b"), Attrs([Attr("address","0xD3C")]), Phis([]), -Defs([Def(Tid(2_718, "%00000a9e"), Attrs([Attr("address","0xD3C"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_724, "%00000aa4"), Attrs([Attr("address","0xD40"), -Attr("insn","add x0, x0, #0xf88")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3976,64))), Def(Tid(2_729, "%00000aa9"), - Attrs([Attr("address","0xD44"), Attr("insn","bl #-0x3e4")]), - Var("R30",Imm(64)), Int(3400,64))]), Jmps([Call(Tid(2_731, "%00000aab"), - Attrs([Attr("address","0xD44"), Attr("insn","bl #-0x3e4")]), Int(1,1), -(Direct(Tid(5_047, "@printf")),Direct(Tid(2_733, "%00000aad"))))])), -Blk(Tid(2_733, "%00000aad"), Attrs([Attr("address","0xD48")]), Phis([]), -Defs([Def(Tid(2_738, "%00000ab2"), Attrs([Attr("address","0xD48"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_743, "%00000ab7"), Attrs([Attr("address","0xD48"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_747, "%00000abb"), Attrs([Attr("address","0xD48"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(2_752, "%00000ac0"), - Attrs([Attr("address","0xD4C"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(5_047, "@printf"), - Attrs([Attr("c.proto","signed (*)( const char restrict * format, ...)"), -Attr("address","0x960"), Attr("stub","()")]), "printf", - Args([Arg(Tid(5_090, "%000013e2"), Attrs([Attr("format","\"printf\""), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char restrict *")]), Var("printf_format",Imm(64)), -Var("R0",Imm(64)), In()), Arg(Tid(5_091, "%000013e3"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("printf_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_670, "@printf"), - Attrs([Attr("address","0x960")]), Phis([]), -Defs([Def(Tid(4_202, "%0000106a"), Attrs([Attr("address","0x960"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(4_209, "%00001071"), Attrs([Attr("address","0x964"), -Attr("insn","ldr x17, [x16, #0x68]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(104,64)),LittleEndian(),64)), -Def(Tid(4_215, "%00001077"), Attrs([Attr("address","0x968"), -Attr("insn","add x16, x16, #0x68")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(104,64)))]), Jmps([Call(Tid(4_220, "%0000107c"), - Attrs([Attr("address","0x96C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), -Sub(Tid(5_048, "@register_tm_clones"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xA00")]), - "register_tm_clones", Args([Arg(Tid(5_092, "%000013e4"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("register_tm_clones_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_452, "@register_tm_clones"), - Attrs([Attr("address","0xA00")]), Phis([]), -Defs([Def(Tid(1_455, "%000005af"), Attrs([Attr("address","0xA00"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(1_461, "%000005b5"), Attrs([Attr("address","0xA04"), -Attr("insn","add x0, x0, #0x88")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(136,64))), Def(Tid(1_466, "%000005ba"), - Attrs([Attr("address","0xA08"), Attr("insn","adrp x1, #73728")]), - Var("R1",Imm(64)), Int(73728,64)), Def(Tid(1_472, "%000005c0"), - Attrs([Attr("address","0xA0C"), Attr("insn","add x1, x1, #0x88")]), - Var("R1",Imm(64)), PLUS(Var("R1",Imm(64)),Int(136,64))), -Def(Tid(1_479, "%000005c7"), Attrs([Attr("address","0xA10"), -Attr("insn","sub x1, x1, x0")]), Var("R1",Imm(64)), -PLUS(PLUS(Var("R1",Imm(64)),NOT(Var("R0",Imm(64)))),Int(1,64))), -Def(Tid(1_485, "%000005cd"), Attrs([Attr("address","0xA14"), -Attr("insn","lsr x2, x1, #63")]), Var("R2",Imm(64)), -Concat(Int(0,63),Extract(63,63,Var("R1",Imm(64))))), -Def(Tid(1_492, "%000005d4"), Attrs([Attr("address","0xA18"), -Attr("insn","add x1, x2, x1, asr #3")]), Var("R1",Imm(64)), -PLUS(Var("R2",Imm(64)),ARSHIFT(Var("R1",Imm(64)),Int(3,3)))), -Def(Tid(1_498, "%000005da"), Attrs([Attr("address","0xA1C"), -Attr("insn","asr x1, x1, #1")]), Var("R1",Imm(64)), -SIGNED(64,Extract(63,1,Var("R1",Imm(64)))))]), -Jmps([Goto(Tid(1_504, "%000005e0"), Attrs([Attr("address","0xA20"), -Attr("insn","cbz x1, #0x18")]), EQ(Var("R1",Imm(64)),Int(0,64)), -Direct(Tid(1_502, "%000005de"))), Goto(Tid(5_049, "%000013b9"), Attrs([]), - Int(1,1), Direct(Tid(3_518, "%00000dbe")))])), Blk(Tid(3_518, "%00000dbe"), - Attrs([Attr("address","0xA24")]), Phis([]), -Defs([Def(Tid(3_521, "%00000dc1"), Attrs([Attr("address","0xA24"), -Attr("insn","adrp x2, #69632")]), Var("R2",Imm(64)), Int(69632,64)), -Def(Tid(3_528, "%00000dc8"), Attrs([Attr("address","0xA28"), -Attr("insn","ldr x2, [x2, #0xfe0]")]), Var("R2",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R2",Imm(64)),Int(4064,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(3_533, "%00000dcd"), Attrs([Attr("address","0xA2C"), -Attr("insn","cbz x2, #0xc")]), EQ(Var("R2",Imm(64)),Int(0,64)), -Direct(Tid(1_502, "%000005de"))), Goto(Tid(5_050, "%000013ba"), Attrs([]), - Int(1,1), Direct(Tid(3_537, "%00000dd1")))])), Blk(Tid(1_502, "%000005de"), - Attrs([Attr("address","0xA38")]), Phis([]), Defs([]), -Jmps([Call(Tid(1_510, "%000005e6"), Attrs([Attr("address","0xA38"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(3_537, "%00000dd1"), Attrs([Attr("address","0xA30")]), Phis([]), -Defs([Def(Tid(3_541, "%00000dd5"), Attrs([Attr("address","0xA30"), -Attr("insn","mov x16, x2")]), Var("R16",Imm(64)), Var("R2",Imm(64)))]), -Jmps([Call(Tid(3_546, "%00000dda"), Attrs([Attr("address","0xA34"), -Attr("insn","br x16")]), Int(1,1), (Indirect(Var("R16",Imm(64))),))]))])), -Sub(Tid(5_051, "@rewind"), Attrs([Attr("c.proto","signed (*)(void)"), -Attr("address","0x8F0"), Attr("stub","()")]), "rewind", - Args([Arg(Tid(5_093, "%000013e5"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("rewind_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(2_874, "@rewind"), Attrs([Attr("address","0x8F0")]), Phis([]), -Defs([Def(Tid(4_048, "%00000fd0"), Attrs([Attr("address","0x8F0"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(4_055, "%00000fd7"), Attrs([Attr("address","0x8F4"), -Attr("insn","ldr x17, [x16, #0x30]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(48,64)),LittleEndian(),64)), -Def(Tid(4_061, "%00000fdd"), Attrs([Attr("address","0x8F8"), -Attr("insn","add x16, x16, #0x30")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(48,64)))]), Jmps([Call(Tid(4_066, "%00000fe2"), - Attrs([Attr("address","0x8FC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(5_052, "@saveFile"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xD50")]), - "saveFile", Args([Arg(Tid(5_094, "%000013e6"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("saveFile_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_754, "@saveFile"), - Attrs([Attr("address","0xD50")]), Phis([]), -Defs([Def(Tid(2_758, "%00000ac6"), Attrs([Attr("address","0xD50"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#17",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(2_764, "%00000acc"), Attrs([Attr("address","0xD50"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#17",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(2_770, "%00000ad2"), Attrs([Attr("address","0xD50"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#17",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(2_774, "%00000ad6"), Attrs([Attr("address","0xD50"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#17",Imm(64))), Def(Tid(2_780, "%00000adc"), - Attrs([Attr("address","0xD54"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(2_785, "%00000ae1"), - Attrs([Attr("address","0xD58"), Attr("insn","adrp x8, #69632")]), - Var("R8",Imm(64)), Int(69632,64)), Def(Tid(2_792, "%00000ae8"), - Attrs([Attr("address","0xD5C"), Attr("insn","ldr x8, [x8, #0xfd0]")]), - Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(4048,64)),LittleEndian(),64)), -Def(Tid(2_799, "%00000aef"), Attrs([Attr("address","0xD60"), -Attr("insn","ldr x8, [x8]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(2_805, "%00000af5"), Attrs([Attr("address","0xD64"), -Attr("insn","subs x8, x8, #0x0")]), Var("#18",Imm(64)), -PLUS(Var("R8",Imm(64)),Int(18446744073709551615,64))), -Def(Tid(2_810, "%00000afa"), Attrs([Attr("address","0xD64"), -Attr("insn","subs x8, x8, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#18",Imm(64)),Int(1,64))),PLUS(SIGNED(65,Var("R8",Imm(64))),Int(0,65)))), -Def(Tid(2_815, "%00000aff"), Attrs([Attr("address","0xD64"), -Attr("insn","subs x8, x8, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#18",Imm(64)),Int(1,64))),PLUS(UNSIGNED(65,Var("R8",Imm(64))),Int(18446744073709551616,65)))), -Def(Tid(2_819, "%00000b03"), Attrs([Attr("address","0xD64"), -Attr("insn","subs x8, x8, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#18",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(2_823, "%00000b07"), Attrs([Attr("address","0xD64"), -Attr("insn","subs x8, x8, #0x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#18",Imm(64)),Int(1,64)))), -Def(Tid(2_827, "%00000b0b"), Attrs([Attr("address","0xD64"), -Attr("insn","subs x8, x8, #0x0")]), Var("R8",Imm(64)), -PLUS(Var("#18",Imm(64)),Int(1,64)))]), Jmps([Goto(Tid(2_839, "%00000b17"), - Attrs([Attr("address","0xD68"), Attr("insn","cset w8, ne")]), - EQ(Var("ZF",Imm(1)),Int(1,1)), Direct(Tid(2_832, "%00000b10"))), -Goto(Tid(2_840, "%00000b18"), Attrs([Attr("address","0xD68"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_835, "%00000b13")))])), -Blk(Tid(2_835, "%00000b13"), Attrs([]), Phis([]), -Defs([Def(Tid(2_836, "%00000b14"), Attrs([Attr("address","0xD68"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(1,64))]), -Jmps([Goto(Tid(2_842, "%00000b1a"), Attrs([Attr("address","0xD68"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_838, "%00000b16")))])), -Blk(Tid(2_832, "%00000b10"), Attrs([]), Phis([]), -Defs([Def(Tid(2_833, "%00000b11"), Attrs([Attr("address","0xD68"), -Attr("insn","cset w8, ne")]), Var("R8",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(2_841, "%00000b19"), Attrs([Attr("address","0xD68"), -Attr("insn","cset w8, ne")]), Int(1,1), Direct(Tid(2_838, "%00000b16")))])), -Blk(Tid(2_838, "%00000b16"), Attrs([]), Phis([]), Defs([]), -Jmps([Goto(Tid(2_848, "%00000b20"), Attrs([Attr("address","0xD6C"), -Attr("insn","tbnz w8, #0x0, #0x18")]), - EQ(Extract(0,0,Var("R8",Imm(64))),Int(1,1)), -Direct(Tid(2_846, "%00000b1e"))), Goto(Tid(5_053, "%000013bd"), Attrs([]), - Int(1,1), Direct(Tid(3_185, "%00000c71")))])), Blk(Tid(2_846, "%00000b1e"), - Attrs([Attr("address","0xD84")]), Phis([]), -Defs([Def(Tid(2_854, "%00000b26"), Attrs([Attr("address","0xD84"), -Attr("insn","adrp x8, #69632")]), Var("R8",Imm(64)), Int(69632,64)), -Def(Tid(2_861, "%00000b2d"), Attrs([Attr("address","0xD88"), -Attr("insn","ldr x8, [x8, #0xfd0]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(4048,64)),LittleEndian(),64)), -Def(Tid(2_868, "%00000b34"), Attrs([Attr("address","0xD8C"), -Attr("insn","ldr x0, [x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(2_873, "%00000b39"), Attrs([Attr("address","0xD90"), -Attr("insn","bl #-0x4a0")]), Var("R30",Imm(64)), Int(3476,64))]), -Jmps([Call(Tid(2_876, "%00000b3c"), Attrs([Attr("address","0xD90"), -Attr("insn","bl #-0x4a0")]), Int(1,1), -(Direct(Tid(5_051, "@rewind")),Direct(Tid(2_878, "%00000b3e"))))])), -Blk(Tid(2_878, "%00000b3e"), Attrs([Attr("address","0xD94")]), Phis([]), -Defs([Def(Tid(2_881, "%00000b41"), Attrs([Attr("address","0xD94"), -Attr("insn","adrp x8, #69632")]), Var("R8",Imm(64)), Int(69632,64)), -Def(Tid(2_888, "%00000b48"), Attrs([Attr("address","0xD98"), -Attr("insn","ldr x8, [x8, #0xfb8]")]), Var("R8",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R8",Imm(64)),Int(4024,64)),LittleEndian(),64)), -Def(Tid(2_895, "%00000b4f"), Attrs([Attr("address","0xD9C"), -Attr("insn","ldr x1, [x8]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R8",Imm(64)),LittleEndian(),64)), -Def(Tid(2_900, "%00000b54"), Attrs([Attr("address","0xDA0"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_906, "%00000b5a"), Attrs([Attr("address","0xDA4"), -Attr("insn","add x0, x0, #0xffc")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(4092,64))), Def(Tid(2_911, "%00000b5f"), - Attrs([Attr("address","0xDA8"), Attr("insn","bl #-0x448")]), - Var("R30",Imm(64)), Int(3500,64))]), Jmps([Call(Tid(2_913, "%00000b61"), - Attrs([Attr("address","0xDA8"), Attr("insn","bl #-0x448")]), Int(1,1), -(Direct(Tid(5_047, "@printf")),Direct(Tid(2_915, "%00000b63"))))])), -Blk(Tid(2_915, "%00000b63"), Attrs([Attr("address","0xDAC")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_918, "%00000b66"), Attrs([Attr("address","0xDAC"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(2_916, "%00000b64")))])), -Blk(Tid(3_185, "%00000c71"), Attrs([Attr("address","0xD70")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_188, "%00000c74"), Attrs([Attr("address","0xD70"), -Attr("insn","b #0x4")]), Int(1,1), Direct(Tid(3_186, "%00000c72")))])), -Blk(Tid(3_186, "%00000c72"), Attrs([Attr("address","0xD74")]), Phis([]), -Defs([Def(Tid(3_192, "%00000c78"), Attrs([Attr("address","0xD74"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(3_198, "%00000c7e"), Attrs([Attr("address","0xD78"), -Attr("insn","add x0, x0, #0xfe1")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(4065,64))), Def(Tid(3_203, "%00000c83"), - Attrs([Attr("address","0xD7C"), Attr("insn","bl #-0x41c")]), - Var("R30",Imm(64)), Int(3456,64))]), Jmps([Call(Tid(3_205, "%00000c85"), - Attrs([Attr("address","0xD7C"), Attr("insn","bl #-0x41c")]), Int(1,1), -(Direct(Tid(5_047, "@printf")),Direct(Tid(3_207, "%00000c87"))))])), -Blk(Tid(3_207, "%00000c87"), Attrs([Attr("address","0xD80")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_209, "%00000c89"), Attrs([Attr("address","0xD80"), -Attr("insn","b #0x30")]), Int(1,1), Direct(Tid(2_916, "%00000b64")))])), -Blk(Tid(2_916, "%00000b64"), Attrs([Attr("address","0xDB0")]), Phis([]), -Defs([Def(Tid(2_924, "%00000b6c"), Attrs([Attr("address","0xDB0"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_929, "%00000b71"), Attrs([Attr("address","0xDB0"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_933, "%00000b75"), Attrs([Attr("address","0xDB0"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(2_938, "%00000b7a"), - Attrs([Attr("address","0xDB4"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(5_054, "@strcmp"), - Attrs([Attr("c.proto","signed (*)( const char* s1, const char* s2)"), -Attr("pure","()"), Attr("address","0x930"), Attr("stub","()")]), "strcmp", - Args([Arg(Tid(5_095, "%000013e7"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcmp_s1",Imm(64)), Var("R0",Imm(64)), -In()), Arg(Tid(5_096, "%000013e8"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcmp_s2",Imm(64)), Var("R1",Imm(64)), -In()), Arg(Tid(5_097, "%000013e9"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("strcmp_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_846, "@strcmp"), Attrs([Attr("address","0x930")]), Phis([]), -Defs([Def(Tid(4_136, "%00001028"), Attrs([Attr("address","0x930"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(4_143, "%0000102f"), Attrs([Attr("address","0x934"), -Attr("insn","ldr x17, [x16, #0x50]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(80,64)),LittleEndian(),64)), -Def(Tid(4_149, "%00001035"), Attrs([Attr("address","0x938"), -Attr("insn","add x16, x16, #0x50")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(80,64)))]), Jmps([Call(Tid(4_154, "%0000103a"), - Attrs([Attr("address","0x93C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(5_055, "@strcspn"), - Attrs([Attr("c.proto","unsigned long (*)( const char* s, const char* reject)"), -Attr("pure","()"), Attr("address","0x950"), Attr("stub","()")]), "strcspn", - Args([Arg(Tid(5_098, "%000013ea"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcspn_s",Imm(64)), Var("R0",Imm(64)), -In()), Arg(Tid(5_099, "%000013eb"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcspn_reject",Imm(64)), -Var("R1",Imm(64)), In()), Arg(Tid(5_100, "%000013ec"), - Attrs([Attr("c.layout","[unsigned long : 64]"), Attr("c.data","Top:u64"), -Attr("c.type","unsigned long")]), Var("strcspn_result",Imm(64)), -Var("R0",Imm(64)), Out())]), Blks([Blk(Tid(1_742, "@strcspn"), - Attrs([Attr("address","0x950")]), Phis([]), -Defs([Def(Tid(4_180, "%00001054"), Attrs([Attr("address","0x950"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(4_187, "%0000105b"), Attrs([Attr("address","0x954"), -Attr("insn","ldr x17, [x16, #0x60]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(96,64)),LittleEndian(),64)), -Def(Tid(4_193, "%00001061"), Attrs([Attr("address","0x958"), -Attr("insn","add x16, x16, #0x60")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(96,64)))]), Jmps([Call(Tid(4_198, "%00001066"), - Attrs([Attr("address","0x95C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(5_056, "@strdup"), - Attrs([Attr("c.proto","char* (*)( const char* s)"), Attr("address","0x900"), -Attr("malloc","()"), Attr("stub","()")]), "strdup", - Args([Arg(Tid(5_101, "%000013ed"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strdup_s",Imm(64)), Var("R0",Imm(64)), -In()), Arg(Tid(5_102, "%000013ee"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type","char*")]), - Var("strdup_result",Imm(64)), Var("R0",Imm(64)), Out())]), -Blks([Blk(Tid(2_417, "@strdup"), Attrs([Attr("address","0x900")]), Phis([]), -Defs([Def(Tid(4_070, "%00000fe6"), Attrs([Attr("address","0x900"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(4_077, "%00000fed"), Attrs([Attr("address","0x904"), -Attr("insn","ldr x17, [x16, #0x38]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(56,64)),LittleEndian(),64)), -Def(Tid(4_083, "%00000ff3"), Attrs([Attr("address","0x908"), -Attr("insn","add x16, x16, #0x38")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(56,64)))]), Jmps([Call(Tid(4_088, "%00000ff8"), - Attrs([Attr("address","0x90C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(5_057, "@strncmp"), - Attrs([Attr("c.proto","signed (*)( const char* s1, const char* s2, unsigned long n)"), -Attr("pure","()"), Attr("address","0x8E0"), Attr("stub","()")]), "strncmp", - Args([Arg(Tid(5_103, "%000013ef"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strncmp_s1",Imm(64)), -Var("R0",Imm(64)), In()), Arg(Tid(5_104, "%000013f0"), - Attrs([Attr("nonnull","()"), Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char*")]), - Var("strncmp_s2",Imm(64)), Var("R1",Imm(64)), In()), -Arg(Tid(5_105, "%000013f1"), Attrs([Attr("c.layout","[unsigned long : 64]"), -Attr("c.data","Top:u64"), Attr("c.type","unsigned long")]), - Var("strncmp_n",Imm(64)), Var("R2",Imm(64)), In()), -Arg(Tid(5_106, "%000013f2"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("strncmp_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_927, "@strncmp"), Attrs([Attr("address","0x8E0")]), Phis([]), -Defs([Def(Tid(4_026, "%00000fba"), Attrs([Attr("address","0x8E0"), -Attr("insn","adrp x16, #73728")]), Var("R16",Imm(64)), Int(73728,64)), -Def(Tid(4_033, "%00000fc1"), Attrs([Attr("address","0x8E4"), -Attr("insn","ldr x17, [x16, #0x28]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(40,64)),LittleEndian(),64)), -Def(Tid(4_039, "%00000fc7"), Attrs([Attr("address","0x8E8"), -Attr("insn","add x16, x16, #0x28")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(40,64)))]), Jmps([Call(Tid(4_044, "%00000fcc"), - Attrs([Attr("address","0x8EC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))]))]))) \ No newline at end of file diff --git a/src/test/correct/complex/clang_pic/complex.bir b/src/test/correct/complex/clang_pic/complex.bir deleted file mode 100644 index de0ca2d12..000000000 --- a/src/test/correct/complex/clang_pic/complex.bir +++ /dev/null @@ -1,959 +0,0 @@ -000013c2: program -00001392: sub __cxa_finalize(__cxa_finalize_result) -000013c3: __cxa_finalize_result :: out u32 = low:32[R0] - -00000dba: -00000f78: R16 := 0x12000 -00000f7f: R17 := mem[R16 + 0x10, el]:u64 -00000f85: R16 := R16 + 0x10 -00000f8a: call R17 with noreturn - -00001393: sub __do_global_dtors_aux(__do_global_dtors_aux_result) -000013c4: __do_global_dtors_aux_result :: out u32 = low:32[R0] - -000005ea: -000005ee: #3 := R31 - 0x20 -000005f4: mem := mem with [#3, el]:u64 <- R29 -000005fa: mem := mem with [#3 + 8, el]:u64 <- R30 -000005fe: R31 := #3 -00000604: R29 := R31 -0000060c: mem := mem with [R31 + 0x10, el]:u64 <- R19 -00000611: R19 := 0x12000 -00000618: R0 := pad:64[mem[R19 + 0x88]] -0000061f: when 31:0[R0] <> 0 goto %0000061d -00001394: goto %00000d83 - -00000d83: -00000d86: R0 := 0x11000 -00000d8d: R0 := mem[R0 + 0xFB0, el]:u64 -00000d93: when R0 = 0 goto %00000d91 -00001395: goto %00000daa - -00000daa: -00000dad: R0 := 0x12000 -00000db4: R0 := mem[R0 + 0x80, el]:u64 -00000db9: R30 := 0xA70 -00000dbc: call @__cxa_finalize with return %00000d91 - -00000d91: -00000d99: R30 := 0xA74 -00000d9b: call @deregister_tm_clones with return %00000d9d - -00000d9d: -00000da0: R0 := 1 -00000da8: mem := mem with [R19 + 0x88] <- 7:0[R0] -00001396: goto %0000061d - -0000061d: -00000627: R19 := mem[R31 + 0x10, el]:u64 -0000062e: R29 := mem[R31, el]:u64 -00000633: R30 := mem[R31 + 8, el]:u64 -00000637: R31 := R31 + 0x20 -0000063c: call R30 with noreturn - -00001397: sub __libc_start_main(__libc_start_main_main, __libc_start_main_arg2, __libc_start_main_arg3, __libc_start_main_auxv, __libc_start_main_result) -000013c5: __libc_start_main_main :: in u64 = R0 -000013c6: __libc_start_main_arg2 :: in u32 = low:32[R1] -000013c7: __libc_start_main_arg3 :: in out u64 = R2 -000013c8: __libc_start_main_auxv :: in out u64 = R3 -000013c9: __libc_start_main_result :: out u32 = low:32[R0] - -00000543: -00000f62: R16 := 0x12000 -00000f69: R17 := mem[R16 + 8, el]:u64 -00000f6f: R16 := R16 + 8 -00000f74: call R17 with noreturn - -00001398: sub _fini(_fini_result) -000013ca: _fini_result :: out u32 = low:32[R0] - -0000001f: -00000025: #0 := R31 - 0x10 -0000002b: mem := mem with [#0, el]:u64 <- R29 -00000031: mem := mem with [#0 + 8, el]:u64 <- R30 -00000035: R31 := #0 -0000003b: R29 := R31 -00000042: R29 := mem[R31, el]:u64 -00000047: R30 := mem[R31 + 8, el]:u64 -0000004b: R31 := R31 + 0x10 -00000050: call R30 with noreturn - -00001399: sub _init(_init_result) -000013cb: _init_result :: out u32 = low:32[R0] - -000011e1: -000011e7: #24 := R31 - 0x10 -000011ed: mem := mem with [#24, el]:u64 <- R29 -000011f3: mem := mem with [#24 + 8, el]:u64 <- R30 -000011f7: R31 := #24 -000011fd: R29 := R31 -00001202: R30 := 0x868 -00001204: call @call_weak_fn with return %00001206 - -00001206: -0000120b: R29 := mem[R31, el]:u64 -00001210: R30 := mem[R31 + 8, el]:u64 -00001214: R31 := R31 + 0x10 -00001219: call R30 with noreturn - -0000139a: sub _start(_start_result) -000013cc: _start_result :: out u32 = low:32[R0] - -00000504: -00000509: R29 := 0 -0000050e: R30 := 0 -00000514: R5 := R0 -0000051b: R1 := mem[R31, el]:u64 -00000521: R2 := R31 + 8 -00000527: R6 := R31 -0000052c: R0 := 0x11000 -00000533: R0 := mem[R0 + 0xFD8, el]:u64 -00000538: R3 := 0 -0000053d: R4 := 0 -00000542: R30 := 0x9B0 -00000545: call @__libc_start_main with return %00000547 - -00000547: -0000054a: R30 := 0x9B4 -0000054d: call @abort with return %0000139b - -0000139b: -0000139c: call @call_weak_fn with noreturn - -0000139d: sub abort() - - -0000054b: -00001012: R16 := 0x12000 -00001019: R17 := mem[R16 + 0x48, el]:u64 -0000101f: R16 := R16 + 0x48 -00001024: call R17 with noreturn - -0000139e: sub call_weak_fn(call_weak_fn_result) -000013cd: call_weak_fn_result :: out u32 = low:32[R0] - -0000054f: -00000552: R0 := 0x11000 -00000559: R0 := mem[R0 + 0xFC8, el]:u64 -0000055f: when R0 = 0 goto %0000055d -0000139f: goto %00000dfa - -0000055d: -00000565: call R30 with noreturn - -00000dfa: -00000dfd: goto @__gmon_start__ - -00000dfb: -00000ffc: R16 := 0x12000 -00001003: R17 := mem[R16 + 0x40, el]:u64 -00001009: R16 := R16 + 0x40 -0000100e: call R17 with noreturn - -000013a0: sub closeFile(closeFile_result) -000013ce: closeFile_result :: out u32 = low:32[R0] - -00000b7c: -00000b80: R31 := R31 - 0x20 -00000b86: #19 := R31 + 0x10 -00000b8c: mem := mem with [#19, el]:u64 <- R29 -00000b92: mem := mem with [#19 + 8, el]:u64 <- R30 -00000b98: R29 := R31 + 0x10 -00000b9d: R8 := 0x11000 -00000ba4: R8 := mem[R8 + 0xFD0, el]:u64 -00000bac: mem := mem with [R31 + 8, el]:u64 <- R8 -00000bb3: R8 := mem[R8, el]:u64 -00000bb9: #20 := R8 - 1 -00000bbe: VF := extend:65[#20 + 1] <> extend:65[R8] + 0 -00000bc3: CF := pad:65[#20 + 1] <> pad:65[R8] - 0x10000000000000000 -00000bc7: ZF := #20 + 1 = 0 -00000bcb: NF := 63:63[#20 + 1] -00000bcf: R8 := #20 + 1 -00000bdb: when ZF <> 1 goto %00000bd4 -00000bdc: goto %00000bd7 - -00000bd7: -00000bd8: R8 := 1 -00000bde: goto %00000bda - -00000bd4: -00000bd5: R8 := 0 -00000bdd: goto %00000bda - -00000bda: -00000be4: when 0:0[R8] goto %00000be2 -000013a1: goto %00000c02 - -00000c02: -00000c05: goto %00000c03 - -00000c03: -00000c0b: R8 := mem[R31 + 8, el]:u64 -00000c12: R0 := mem[R8, el]:u64 -00000c17: R30 := 0xDF0 -00000c1a: call @fclose with return %00000c1c - -00000c1c: -00000c1f: R8 := 0x11000 -00000c26: R8 := mem[R8 + 0xFB8, el]:u64 -00000c2e: mem := mem with [R31, el]:u64 <- R8 -00000c35: R0 := mem[R8, el]:u64 -00000c3a: R30 := 0xE04 -00000c3d: call @free with return %00000c3f - -00000c3f: -00000c44: R9 := mem[R31 + 8, el]:u64 -00000c4b: R8 := mem[R31, el]:u64 -00000c52: mem := mem with [R9, el]:u64 <- 0 -00000c59: mem := mem with [R8, el]:u64 <- 0 -00000c5e: R0 := 0x1000 -00000c64: R0 := R0 + 0x18 -00000c69: R30 := 0xE20 -00000c6b: call @printf with return %00000c6d - -00000c6d: -00000c6f: goto %00000be2 - -00000be2: -00000beb: #21 := R31 + 0x10 -00000bf0: R29 := mem[#21, el]:u64 -00000bf5: R30 := mem[#21 + 8, el]:u64 -00000bfb: R31 := R31 + 0x20 -00000c00: call R30 with noreturn - -000013a2: sub deregister_tm_clones(deregister_tm_clones_result) -000013cf: deregister_tm_clones_result :: out u32 = low:32[R0] - -0000056b: -0000056e: R0 := 0x12000 -00000574: R0 := R0 + 0x88 -00000579: R1 := 0x12000 -0000057f: R1 := R1 + 0x88 -00000585: #1 := ~R0 -0000058a: #2 := R1 + ~R0 -00000590: VF := extend:65[#2 + 1] <> extend:65[R1] + extend:65[#1] + 1 -00000596: CF := pad:65[#2 + 1] <> pad:65[R1] + pad:65[#1] + 1 -0000059a: ZF := #2 + 1 = 0 -0000059e: NF := 63:63[#2 + 1] -000005a4: when ZF goto %000005a2 -000013a3: goto %00000ddc - -00000ddc: -00000ddf: R1 := 0x11000 -00000de6: R1 := mem[R1 + 0xFA8, el]:u64 -00000deb: when R1 = 0 goto %000005a2 -000013a4: goto %00000def - -000005a2: -000005aa: call R30 with noreturn - -00000def: -00000df3: R16 := R1 -00000df8: call R16 with noreturn - -000013a5: sub exit(exit_code) -000013d0: exit_code :: in u32 = low:32[R0] - -00000d14: -00000f4c: R16 := 0x12000 -00000f53: R17 := mem[R16, el]:u64 -00000f59: R16 := R16 -00000f5e: call R17 with noreturn - -000013a6: sub fclose(fclose_fp, fclose_result) -000013d1: fclose_fp :: in out u64 = R0 -000013d2: fclose_result :: out u32 = low:32[R0] - -00000c18: -00000f8e: R16 := 0x12000 -00000f95: R17 := mem[R16 + 0x18, el]:u64 -00000f9b: R16 := R16 + 0x18 -00000fa0: call R17 with noreturn - -000013a7: sub fgets(fgets_s, fgets_size, fgets_stream, fgets_result) -000013d3: fgets_s :: in out u64 = R0 -000013d4: fgets_size :: in u32 = low:32[R1] -000013d5: fgets_stream :: in out u64 = R2 -000013d6: fgets_result :: out u64 = R0 - -000006b4: -00001080: R16 := 0x12000 -00001087: R17 := mem[R16 + 0x70, el]:u64 -0000108d: R16 := R16 + 0x70 -00001092: call R17 with noreturn - -000013a8: sub fopen(fopen_path, fopen_mode, fopen_result) -000013d7: fopen_path :: in u64 = R0 -000013d8: fopen_mode :: in u64 = R1 -000013d9: fopen_result :: out u64 = R0 - -0000099a: -00000fa4: R16 := 0x12000 -00000fab: R17 := mem[R16 + 0x20, el]:u64 -00000fb1: R16 := R16 + 0x20 -00000fb6: call R17 with noreturn - -000013a9: sub frame_dummy(frame_dummy_result) -000013da: frame_dummy_result :: out u32 = low:32[R0] - -00000642: -00000644: call @register_tm_clones with noreturn - -000013aa: sub free(free_ptr) -000013db: free_ptr :: in out u64 = R0 - -00000c3b: -0000103e: R16 := 0x12000 -00001045: R17 := mem[R16 + 0x58, el]:u64 -0000104b: R16 := R16 + 0x58 -00001050: call R17 with noreturn - -000013ab: sub handleInput(handleInput_result) -000013dc: handleInput_result :: out u32 = low:32[R0] - -000006f7: -000006fe: R31 := R31 - 0x20 -00000704: #5 := R31 + 0x10 -0000070a: mem := mem with [#5, el]:u64 <- R29 -00000710: mem := mem with [#5 + 8, el]:u64 <- R30 -00000716: R29 := R31 + 0x10 -0000071e: mem := mem with [R31 + 8, el]:u64 <- R0 -00000725: R0 := mem[R31 + 8, el]:u64 -0000072a: R1 := 0 -00000730: R1 := R1 + 0xE5A -00000735: R30 := 0xB20 -00000738: call @strcmp with return %0000073a - -0000073a: -0000073e: #6 := 31:0[R0] - 1 -00000743: VF := extend:33[#6 + 1] <> extend:33[31:0[R0]] + 0 -00000748: CF := pad:33[#6 + 1] <> pad:33[31:0[R0]] - 0x100000000 -0000074c: ZF := #6 + 1 = 0 -00000750: NF := 31:31[#6 + 1] -00000754: R8 := pad:64[#6 + 1] -00000760: when ZF goto %00000759 -00000761: goto %0000075c - -0000075c: -0000075d: R8 := 1 -00000763: goto %0000075f - -00000759: -0000075a: R8 := 0 -00000762: goto %0000075f - -0000075f: -00000769: when 0:0[R8] goto %00000767 -000013ac: goto %00000d70 - -00000767: -00000771: R0 := mem[R31 + 8, el]:u64 -00000776: R1 := 0 -0000077c: R1 := R1 + 0xE5F -00000781: R2 := 5 -00000786: R30 := 0xB4C -00000789: call @strncmp with return %0000078b - -0000078b: -0000078f: #7 := 31:0[R0] - 1 -00000794: VF := extend:33[#7 + 1] <> extend:33[31:0[R0]] + 0 -00000799: CF := pad:33[#7 + 1] <> pad:33[31:0[R0]] - 0x100000000 -0000079d: ZF := #7 + 1 = 0 -000007a1: NF := 31:31[#7 + 1] -000007a5: R8 := pad:64[#7 + 1] -000007b1: when ZF goto %000007aa -000007b2: goto %000007ad - -000007ad: -000007ae: R8 := 1 -000007b4: goto %000007b0 - -000007aa: -000007ab: R8 := 0 -000007b3: goto %000007b0 - -000007b0: -000007ba: when 0:0[R8] goto %000007b8 -000013ad: goto %00000d45 - -000007b8: -000007c2: R0 := mem[R31 + 8, el]:u64 -000007c7: R1 := 0 -000007cd: R1 := R1 + 0xE65 -000007d2: R30 := 0xB84 -000007d4: call @strcmp with return %000007d6 - -000007d6: -000007da: #8 := 31:0[R0] - 1 -000007df: VF := extend:33[#8 + 1] <> extend:33[31:0[R0]] + 0 -000007e4: CF := pad:33[#8 + 1] <> pad:33[31:0[R0]] - 0x100000000 -000007e8: ZF := #8 + 1 = 0 -000007ec: NF := 31:31[#8 + 1] -000007f0: R8 := pad:64[#8 + 1] -000007fc: when ZF goto %000007f5 -000007fd: goto %000007f8 - -000007f8: -000007f9: R8 := 1 -000007ff: goto %000007fb - -000007f5: -000007f6: R8 := 0 -000007fe: goto %000007fb - -000007fb: -00000805: when 0:0[R8] goto %00000803 -000013ae: goto %00000d36 - -00000803: -0000080d: R0 := mem[R31 + 8, el]:u64 -00000812: R1 := 0 -00000818: R1 := R1 + 0xE6A -0000081d: R30 := 0xBAC -0000081f: call @strcmp with return %00000821 - -00000821: -00000825: #9 := 31:0[R0] - 1 -0000082a: VF := extend:33[#9 + 1] <> extend:33[31:0[R0]] + 0 -0000082f: CF := pad:33[#9 + 1] <> pad:33[31:0[R0]] - 0x100000000 -00000833: ZF := #9 + 1 = 0 -00000837: NF := 31:31[#9 + 1] -0000083b: R8 := pad:64[#9 + 1] -00000847: when ZF goto %00000840 -00000848: goto %00000843 - -00000843: -00000844: R8 := 1 -0000084a: goto %00000846 - -00000840: -00000841: R8 := 0 -00000849: goto %00000846 - -00000846: -00000850: when 0:0[R8] goto %0000084e -000013af: goto %00000d27 - -0000084e: -00000858: R0 := mem[R31 + 8, el]:u64 -0000085d: R1 := 0 -00000863: R1 := R1 + 0xE70 -00000868: R30 := 0xBD4 -0000086a: call @strcmp with return %0000086c - -0000086c: -00000870: #10 := 31:0[R0] - 1 -00000875: VF := extend:33[#10 + 1] <> extend:33[31:0[R0]] + 0 -0000087a: CF := pad:33[#10 + 1] <> pad:33[31:0[R0]] - 0x100000000 -0000087e: ZF := #10 + 1 = 0 -00000882: NF := 31:31[#10 + 1] -00000886: R8 := pad:64[#10 + 1] -00000892: when ZF goto %0000088b -00000893: goto %0000088e - -0000088e: -0000088f: R8 := 1 -00000895: goto %00000891 - -0000088b: -0000088c: R8 := 0 -00000894: goto %00000891 - -00000891: -0000089b: when 0:0[R8] goto %00000899 -000013b0: goto %00000cc2 - -00000cc2: -00000cc5: goto %00000cc3 - -00000cc3: -00000cc9: R8 := 0x11000 -00000cd0: R8 := mem[R8 + 0xFD0, el]:u64 -00000cd7: R8 := mem[R8, el]:u64 -00000cdd: #22 := R8 - 1 -00000ce2: VF := extend:65[#22 + 1] <> extend:65[R8] + 0 -00000ce7: CF := pad:65[#22 + 1] <> pad:65[R8] - 0x10000000000000000 -00000ceb: ZF := #22 + 1 = 0 -00000cef: NF := 63:63[#22 + 1] -00000cf3: R8 := #22 + 1 -00000cff: when ZF <> 1 goto %00000cf8 -00000d00: goto %00000cfb - -00000cfb: -00000cfc: R8 := 1 -00000d02: goto %00000cfe - -00000cf8: -00000cf9: R8 := 0 -00000d01: goto %00000cfe - -00000cfe: -00000d08: when 0:0[R8] goto %00000d06 -000013b1: goto %00000d18 - -00000d18: -00000d1b: goto %00000d19 - -00000d19: -00000d1f: R30 := 0xC04 -00000d21: call @closeFile with return %00000d23 - -00000d23: -00000d25: goto %00000d06 - -00000d06: -00000d0e: R0 := 0 -00000d13: R30 := 0xC10 -00000d16: call @exit with return %00000899 - -00000899: -000008a1: R0 := 0 -000008a7: R0 := R0 + 0xE75 -000008ac: R30 := 0xC1C -000008ae: call @printf with return %000008b0 - -000008b0: -000008b3: goto %000008b1 - -000008b1: -000008b7: goto %000008b5 - -00000d27: -00000d2a: goto %00000d28 - -00000d28: -00000d2e: R30 := 0xBC0 -00000d30: call @closeFile with return %00000d32 - -00000d32: -00000d34: goto %000008b5 - -000008b5: -000008bb: goto %000008b9 - -00000d36: -00000d39: goto %00000d37 - -00000d37: -00000d3d: R30 := 0xB98 -00000d3f: call @saveFile with return %00000d41 - -00000d41: -00000d43: goto %000008b9 - -000008b9: -000008bf: goto %000008bd - -00000d45: -00000d48: goto %00000d46 - -00000d46: -00000d4e: R8 := mem[R31 + 8, el]:u64 -00000d54: R8 := R8 + 5 -00000d5c: mem := mem with [R31, el]:u64 <- R8 -00000d63: R0 := mem[R31, el]:u64 -00000d68: R30 := 0xB70 -00000d6a: call @openFile with return %00000d6c - -00000d6c: -00000d6e: goto %000008bd - -000008bd: -000008c3: goto %000008c1 - -00000d70: -00000d73: goto %00000d71 - -00000d71: -00000d77: R30 := 0xB34 -00000d79: call @printHelp with return %00000d7b - -00000d7b: -00000d7d: goto %000008c1 - -000008c1: -000008c8: #11 := R31 + 0x10 -000008cd: R29 := mem[#11, el]:u64 -000008d2: R30 := mem[#11 + 8, el]:u64 -000008d8: R31 := R31 + 0x20 -000008dd: call R30 with noreturn - -000013b2: sub main(main_argc, main_argv, main_result) -000013dd: main_argc :: in u32 = low:32[R0] -000013de: main_argv :: in out u64 = R1 -000013df: main_result :: out u32 = low:32[R0] - -00000646: -0000064a: R31 := R31 - 0x130 -00000650: #4 := R31 + 0x110 -00000656: mem := mem with [#4, el]:u64 <- R29 -0000065c: mem := mem with [#4 + 8, el]:u64 <- R30 -00000664: mem := mem with [R31 + 0x120, el]:u64 <- R28 -0000066a: R29 := R31 + 0x110 -00000671: mem := mem with [R29 - 4, el]:u32 <- 0 -00000676: goto %00000674 - -00000674: -0000067a: R0 := 0 -00000680: R0 := R0 + 0xE48 -00000685: R30 := 0xAB8 -00000688: call @printf with return %0000068a - -0000068a: -0000068d: R8 := 0x11000 -00000694: R8 := mem[R8 + 0xFC0, el]:u64 -0000069b: R2 := mem[R8, el]:u64 -000006a1: R0 := R31 + 0xC -000006a9: mem := mem with [R31, el]:u64 <- R0 -000006ae: R1 := 0x100 -000006b3: R30 := 0xAD4 -000006b6: call @fgets with return %000006b8 - -000006b8: -000006bd: R0 := mem[R31, el]:u64 -000006c2: R1 := 0 -000006c8: R1 := R1 + 0xFDF -000006cd: R30 := 0xAE4 -000006d0: call @strcspn with return %000006d2 - -000006d2: -000006d6: R9 := R0 -000006dd: R0 := mem[R31, el]:u64 -000006e3: R8 := R0 -000006ea: R8 := R8 + R9 -000006f1: mem := mem with [R8] <- 0 -000006f6: R30 := 0xAFC -000006f9: call @handleInput with return %00000d7f - -00000d7f: -00000d81: goto %00000674 - -000013b3: sub openFile(openFile_result) -000013e0: openFile_result :: out u32 = low:32[R0] - -000008df: -000008e3: R31 := R31 - 0x30 -000008e9: #12 := R31 + 0x20 -000008ef: mem := mem with [#12, el]:u64 <- R29 -000008f5: mem := mem with [#12 + 8, el]:u64 <- R30 -000008fb: R29 := R31 + 0x20 -00000900: R8 := 0x11000 -00000907: R8 := mem[R8 + 0xFD0, el]:u64 -0000090f: mem := mem with [R31 + 8, el]:u64 <- R8 -00000914: R9 := 0x11000 -0000091b: R9 := mem[R9 + 0xFB8, el]:u64 -00000923: mem := mem with [R31 + 0x10, el]:u64 <- R9 -0000092b: mem := mem with [R29 - 8, el]:u64 <- R0 -00000932: R8 := mem[R8, el]:u64 -00000938: #13 := R8 - 1 -0000093d: VF := extend:65[#13 + 1] <> extend:65[R8] + 0 -00000942: CF := pad:65[#13 + 1] <> pad:65[R8] - 0x10000000000000000 -00000946: ZF := #13 + 1 = 0 -0000094a: NF := 63:63[#13 + 1] -0000094e: R8 := #13 + 1 -0000095a: when ZF <> 1 goto %00000953 -0000095b: goto %00000956 - -00000956: -00000957: R8 := 1 -0000095d: goto %00000959 - -00000953: -00000954: R8 := 0 -0000095c: goto %00000959 - -00000959: -00000963: when 0:0[R8] goto %00000961 -000013b4: goto %00000cb3 - -00000cb3: -00000cb6: goto %00000cb4 - -00000cb4: -00000cba: R30 := 0xC7C -00000cbc: call @closeFile with return %00000cbe - -00000cbe: -00000cc0: goto %00000961 - -00000961: -0000096b: R0 := mem[R29 - 8, el]:u64 -00000970: R30 := 0xC88 -00000973: call @strdup with return %00000975 - -00000975: -0000097a: R8 := mem[R31 + 0x10, el]:u64 -00000982: mem := mem with [R8, el]:u64 <- R0 -00000989: R0 := mem[R8, el]:u64 -0000098e: R1 := 0 -00000994: R1 := R1 + 0xFB2 -00000999: R30 := 0xCA0 -0000099c: call @fopen with return %0000099e - -0000099e: -000009a3: R8 := mem[R31 + 8, el]:u64 -000009ab: mem := mem with [R8, el]:u64 <- R0 -000009b2: R8 := mem[R8, el]:u64 -000009b8: #14 := R8 - 1 -000009bd: VF := extend:65[#14 + 1] <> extend:65[R8] + 0 -000009c2: CF := pad:65[#14 + 1] <> pad:65[R8] - 0x10000000000000000 -000009c6: ZF := #14 + 1 = 0 -000009ca: NF := 63:63[#14 + 1] -000009ce: R8 := #14 + 1 -000009da: when ZF goto %000009d3 -000009db: goto %000009d6 - -000009d6: -000009d7: R8 := 1 -000009dd: goto %000009d9 - -000009d3: -000009d4: R8 := 0 -000009dc: goto %000009d9 - -000009d9: -000009e3: when 0:0[R8] goto %000009e1 -000013b5: goto %00000c8b - -000009e1: -000009eb: R8 := mem[R31 + 0x10, el]:u64 -000009f2: R1 := mem[R8, el]:u64 -000009f7: R0 := 0 -000009fd: R0 := R0 + 0xFCF -00000a02: R30 := 0xCE8 -00000a04: call @printf with return %00000a06 - -00000a06: -00000a09: goto %00000a07 - -00000c8b: -00000c8e: goto %00000c8c - -00000c8c: -00000c94: R8 := mem[R31 + 0x10, el]:u64 -00000c9b: R1 := mem[R8, el]:u64 -00000ca0: R0 := 0 -00000ca6: R0 := R0 + 0xFB5 -00000cab: R30 := 0xCD0 -00000cad: call @printf with return %00000caf - -00000caf: -00000cb1: goto %00000a07 - -00000a07: -00000a0e: #15 := R31 + 0x20 -00000a13: R29 := mem[#15, el]:u64 -00000a18: R30 := mem[#15 + 8, el]:u64 -00000a1e: R31 := R31 + 0x30 -00000a23: call R30 with noreturn - -000013b6: sub printHelp(printHelp_result) -000013e1: printHelp_result :: out u32 = low:32[R0] - -00000a25: -00000a29: #16 := R31 - 0x10 -00000a2f: mem := mem with [#16, el]:u64 <- R29 -00000a35: mem := mem with [#16 + 8, el]:u64 <- R30 -00000a39: R31 := #16 -00000a3f: R29 := R31 -00000a44: R0 := 0 -00000a4a: R0 := R0 + 0xEAB -00000a4f: R30 := 0xD0C -00000a51: call @printf with return %00000a53 - -00000a53: -00000a56: R0 := 0 -00000a5c: R0 := R0 + 0xEB6 -00000a61: R30 := 0xD18 -00000a63: call @printf with return %00000a65 - -00000a65: -00000a68: R0 := 0 -00000a6e: R0 := R0 + 0xEEA -00000a73: R30 := 0xD24 -00000a75: call @printf with return %00000a77 - -00000a77: -00000a7a: R0 := 0 -00000a80: R0 := R0 + 0xF1C -00000a85: R30 := 0xD30 -00000a87: call @printf with return %00000a89 - -00000a89: -00000a8c: R0 := 0 -00000a92: R0 := R0 + 0xF57 -00000a97: R30 := 0xD3C -00000a99: call @printf with return %00000a9b - -00000a9b: -00000a9e: R0 := 0 -00000aa4: R0 := R0 + 0xF88 -00000aa9: R30 := 0xD48 -00000aab: call @printf with return %00000aad - -00000aad: -00000ab2: R29 := mem[R31, el]:u64 -00000ab7: R30 := mem[R31 + 8, el]:u64 -00000abb: R31 := R31 + 0x10 -00000ac0: call R30 with noreturn - -000013b7: sub printf(printf_format, printf_result) -000013e2: printf_format :: in u64 = R0 -000013e3: printf_result :: out u32 = low:32[R0] - -00000686: -0000106a: R16 := 0x12000 -00001071: R17 := mem[R16 + 0x68, el]:u64 -00001077: R16 := R16 + 0x68 -0000107c: call R17 with noreturn - -000013b8: sub register_tm_clones(register_tm_clones_result) -000013e4: register_tm_clones_result :: out u32 = low:32[R0] - -000005ac: -000005af: R0 := 0x12000 -000005b5: R0 := R0 + 0x88 -000005ba: R1 := 0x12000 -000005c0: R1 := R1 + 0x88 -000005c7: R1 := R1 + ~R0 + 1 -000005cd: R2 := 0.63:63[R1] -000005d4: R1 := R2 + (R1 ~>> 3) -000005da: R1 := extend:64[63:1[R1]] -000005e0: when R1 = 0 goto %000005de -000013b9: goto %00000dbe - -00000dbe: -00000dc1: R2 := 0x11000 -00000dc8: R2 := mem[R2 + 0xFE0, el]:u64 -00000dcd: when R2 = 0 goto %000005de -000013ba: goto %00000dd1 - -000005de: -000005e6: call R30 with noreturn - -00000dd1: -00000dd5: R16 := R2 -00000dda: call R16 with noreturn - -000013bb: sub rewind(rewind_result) -000013e5: rewind_result :: out u32 = low:32[R0] - -00000b3a: -00000fd0: R16 := 0x12000 -00000fd7: R17 := mem[R16 + 0x30, el]:u64 -00000fdd: R16 := R16 + 0x30 -00000fe2: call R17 with noreturn - -000013bc: sub saveFile(saveFile_result) -000013e6: saveFile_result :: out u32 = low:32[R0] - -00000ac2: -00000ac6: #17 := R31 - 0x10 -00000acc: mem := mem with [#17, el]:u64 <- R29 -00000ad2: mem := mem with [#17 + 8, el]:u64 <- R30 -00000ad6: R31 := #17 -00000adc: R29 := R31 -00000ae1: R8 := 0x11000 -00000ae8: R8 := mem[R8 + 0xFD0, el]:u64 -00000aef: R8 := mem[R8, el]:u64 -00000af5: #18 := R8 - 1 -00000afa: VF := extend:65[#18 + 1] <> extend:65[R8] + 0 -00000aff: CF := pad:65[#18 + 1] <> pad:65[R8] - 0x10000000000000000 -00000b03: ZF := #18 + 1 = 0 -00000b07: NF := 63:63[#18 + 1] -00000b0b: R8 := #18 + 1 -00000b17: when ZF goto %00000b10 -00000b18: goto %00000b13 - -00000b13: -00000b14: R8 := 1 -00000b1a: goto %00000b16 - -00000b10: -00000b11: R8 := 0 -00000b19: goto %00000b16 - -00000b16: -00000b20: when 0:0[R8] goto %00000b1e -000013bd: goto %00000c71 - -00000b1e: -00000b26: R8 := 0x11000 -00000b2d: R8 := mem[R8 + 0xFD0, el]:u64 -00000b34: R0 := mem[R8, el]:u64 -00000b39: R30 := 0xD94 -00000b3c: call @rewind with return %00000b3e - -00000b3e: -00000b41: R8 := 0x11000 -00000b48: R8 := mem[R8 + 0xFB8, el]:u64 -00000b4f: R1 := mem[R8, el]:u64 -00000b54: R0 := 0 -00000b5a: R0 := R0 + 0xFFC -00000b5f: R30 := 0xDAC -00000b61: call @printf with return %00000b63 - -00000b63: -00000b66: goto %00000b64 - -00000c71: -00000c74: goto %00000c72 - -00000c72: -00000c78: R0 := 0 -00000c7e: R0 := R0 + 0xFE1 -00000c83: R30 := 0xD80 -00000c85: call @printf with return %00000c87 - -00000c87: -00000c89: goto %00000b64 - -00000b64: -00000b6c: R29 := mem[R31, el]:u64 -00000b71: R30 := mem[R31 + 8, el]:u64 -00000b75: R31 := R31 + 0x10 -00000b7a: call R30 with noreturn - -000013be: sub strcmp(strcmp_s1, strcmp_s2, strcmp_result) -000013e7: strcmp_s1 :: in u64 = R0 -000013e8: strcmp_s2 :: in u64 = R1 -000013e9: strcmp_result :: out u32 = low:32[R0] - -00000736: -00001028: R16 := 0x12000 -0000102f: R17 := mem[R16 + 0x50, el]:u64 -00001035: R16 := R16 + 0x50 -0000103a: call R17 with noreturn - -000013bf: sub strcspn(strcspn_s, strcspn_reject, strcspn_result) -000013ea: strcspn_s :: in u64 = R0 -000013eb: strcspn_reject :: in u64 = R1 -000013ec: strcspn_result :: out u64 = R0 - -000006ce: -00001054: R16 := 0x12000 -0000105b: R17 := mem[R16 + 0x60, el]:u64 -00001061: R16 := R16 + 0x60 -00001066: call R17 with noreturn - -000013c0: sub strdup(strdup_s, strdup_result) -000013ed: strdup_s :: in u64 = R0 -000013ee: strdup_result :: out u64 = R0 - -00000971: -00000fe6: R16 := 0x12000 -00000fed: R17 := mem[R16 + 0x38, el]:u64 -00000ff3: R16 := R16 + 0x38 -00000ff8: call R17 with noreturn - -000013c1: sub strncmp(strncmp_s1, strncmp_s2, strncmp_n, strncmp_result) -000013ef: strncmp_s1 :: in u64 = R0 -000013f0: strncmp_s2 :: in u64 = R1 -000013f1: strncmp_n :: in u64 = R2 -000013f2: strncmp_result :: out u32 = low:32[R0] - -00000787: -00000fba: R16 := 0x12000 -00000fc1: R17 := mem[R16 + 0x28, el]:u64 -00000fc7: R16 := R16 + 0x28 -00000fcc: call R17 with noreturn diff --git a/src/test/correct/complex/clang_pic/complex.relf b/src/test/correct/complex/clang_pic/complex.relf deleted file mode 100644 index 7889839fb..000000000 --- a/src/test/correct/complex/clang_pic/complex.relf +++ /dev/null @@ -1,168 +0,0 @@ - -Relocation section '.rela.dyn' at offset 0x5e8 contains 11 entries: - Offset Info Type Symbol's Value Symbol's Name + Addend -0000000000011db0 0000000000000403 R_AARCH64_RELATIVE a90 -0000000000011db8 0000000000000403 R_AARCH64_RELATIVE a40 -0000000000011fb8 0000000000000403 R_AARCH64_RELATIVE 12090 -0000000000011fd0 0000000000000403 R_AARCH64_RELATIVE 12098 -0000000000011fd8 0000000000000403 R_AARCH64_RELATIVE a94 -0000000000012080 0000000000000403 R_AARCH64_RELATIVE 12080 -0000000000011fa8 0000000500000401 R_AARCH64_GLOB_DAT 0000000000000000 _ITM_deregisterTMCloneTable + 0 -0000000000011fb0 0000000600000401 R_AARCH64_GLOB_DAT 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0 -0000000000011fc0 0000000b00000401 R_AARCH64_GLOB_DAT 0000000000000000 stdin@GLIBC_2.17 + 0 -0000000000011fc8 0000000d00000401 R_AARCH64_GLOB_DAT 0000000000000000 __gmon_start__ + 0 -0000000000011fe0 0000001100000401 R_AARCH64_GLOB_DAT 0000000000000000 _ITM_registerTMCloneTable + 0 - -Relocation section '.rela.plt' at offset 0x6f0 contains 15 entries: - Offset Info Type Symbol's Value Symbol's Name + Addend -0000000000012000 0000000300000402 R_AARCH64_JUMP_SLOT 0000000000000000 exit@GLIBC_2.17 + 0 -0000000000012008 0000000400000402 R_AARCH64_JUMP_SLOT 0000000000000000 __libc_start_main@GLIBC_2.34 + 0 -0000000000012010 0000000600000402 R_AARCH64_JUMP_SLOT 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0 -0000000000012018 0000000700000402 R_AARCH64_JUMP_SLOT 0000000000000000 fclose@GLIBC_2.17 + 0 -0000000000012020 0000000800000402 R_AARCH64_JUMP_SLOT 0000000000000000 fopen@GLIBC_2.17 + 0 -0000000000012028 0000000900000402 R_AARCH64_JUMP_SLOT 0000000000000000 strncmp@GLIBC_2.17 + 0 -0000000000012030 0000000a00000402 R_AARCH64_JUMP_SLOT 0000000000000000 rewind@GLIBC_2.17 + 0 -0000000000012038 0000000c00000402 R_AARCH64_JUMP_SLOT 0000000000000000 strdup@GLIBC_2.17 + 0 -0000000000012040 0000000d00000402 R_AARCH64_JUMP_SLOT 0000000000000000 __gmon_start__ + 0 -0000000000012048 0000000e00000402 R_AARCH64_JUMP_SLOT 0000000000000000 abort@GLIBC_2.17 + 0 -0000000000012050 0000000f00000402 R_AARCH64_JUMP_SLOT 0000000000000000 strcmp@GLIBC_2.17 + 0 -0000000000012058 0000001000000402 R_AARCH64_JUMP_SLOT 0000000000000000 free@GLIBC_2.17 + 0 -0000000000012060 0000001200000402 R_AARCH64_JUMP_SLOT 0000000000000000 strcspn@GLIBC_2.17 + 0 -0000000000012068 0000001300000402 R_AARCH64_JUMP_SLOT 0000000000000000 printf@GLIBC_2.17 + 0 -0000000000012070 0000001400000402 R_AARCH64_JUMP_SLOT 0000000000000000 fgets@GLIBC_2.17 + 0 - -Symbol table '.dynsym' contains 21 entries: - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000858 0 SECTION LOCAL DEFAULT 11 .init - 2: 0000000000012078 0 SECTION LOCAL DEFAULT 23 .data - 3: 0000000000000000 0 FUNC GLOBAL DEFAULT UND exit@GLIBC_2.17 (2) - 4: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.34 (3) - 5: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable - 6: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 (2) - 7: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fclose@GLIBC_2.17 (2) - 8: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fopen@GLIBC_2.17 (2) - 9: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strncmp@GLIBC_2.17 (2) - 10: 0000000000000000 0 FUNC GLOBAL DEFAULT UND rewind@GLIBC_2.17 (2) - 11: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND stdin@GLIBC_2.17 (2) - 12: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strdup@GLIBC_2.17 (2) - 13: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 14: 0000000000000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.17 (2) - 15: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcmp@GLIBC_2.17 (2) - 16: 0000000000000000 0 FUNC GLOBAL DEFAULT UND free@GLIBC_2.17 (2) - 17: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - 18: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcspn@GLIBC_2.17 (2) - 19: 0000000000000000 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.17 (2) - 20: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fgets@GLIBC_2.17 (2) - -Symbol table '.symtab' contains 109 entries: - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000238 0 SECTION LOCAL DEFAULT 1 .interp - 2: 0000000000000254 0 SECTION LOCAL DEFAULT 2 .note.gnu.build-id - 3: 0000000000000278 0 SECTION LOCAL DEFAULT 3 .note.ABI-tag - 4: 0000000000000298 0 SECTION LOCAL DEFAULT 4 .gnu.hash - 5: 00000000000002b8 0 SECTION LOCAL DEFAULT 5 .dynsym - 6: 00000000000004b0 0 SECTION LOCAL DEFAULT 6 .dynstr - 7: 000000000000058c 0 SECTION LOCAL DEFAULT 7 .gnu.version - 8: 00000000000005b8 0 SECTION LOCAL DEFAULT 8 .gnu.version_r - 9: 00000000000005e8 0 SECTION LOCAL DEFAULT 9 .rela.dyn - 10: 00000000000006f0 0 SECTION LOCAL DEFAULT 10 .rela.plt - 11: 0000000000000858 0 SECTION LOCAL DEFAULT 11 .init - 12: 0000000000000870 0 SECTION LOCAL DEFAULT 12 .plt - 13: 0000000000000980 0 SECTION LOCAL DEFAULT 13 .text - 14: 0000000000000e30 0 SECTION LOCAL DEFAULT 14 .fini - 15: 0000000000000e44 0 SECTION LOCAL DEFAULT 15 .rodata - 16: 000000000000102c 0 SECTION LOCAL DEFAULT 16 .eh_frame_hdr - 17: 0000000000001090 0 SECTION LOCAL DEFAULT 17 .eh_frame - 18: 0000000000011db0 0 SECTION LOCAL DEFAULT 18 .init_array - 19: 0000000000011db8 0 SECTION LOCAL DEFAULT 19 .fini_array - 20: 0000000000011dc0 0 SECTION LOCAL DEFAULT 20 .dynamic - 21: 0000000000011fa0 0 SECTION LOCAL DEFAULT 21 .got - 22: 0000000000011fe8 0 SECTION LOCAL DEFAULT 22 .got.plt - 23: 0000000000012078 0 SECTION LOCAL DEFAULT 23 .data - 24: 0000000000012088 0 SECTION LOCAL DEFAULT 24 .bss - 25: 0000000000000000 0 SECTION LOCAL DEFAULT 25 .comment - 26: 0000000000000000 0 FILE LOCAL DEFAULT ABS Scrt1.o - 27: 0000000000000278 0 NOTYPE LOCAL DEFAULT 3 $d - 28: 0000000000000278 32 OBJECT LOCAL DEFAULT 3 __abi_tag - 29: 0000000000000980 0 NOTYPE LOCAL DEFAULT 13 $x - 30: 00000000000010a4 0 NOTYPE LOCAL DEFAULT 17 $d - 31: 0000000000000e44 0 NOTYPE LOCAL DEFAULT 15 $d - 32: 0000000000000000 0 FILE LOCAL DEFAULT ABS crti.o - 33: 00000000000009b4 0 NOTYPE LOCAL DEFAULT 13 $x - 34: 00000000000009b4 20 FUNC LOCAL DEFAULT 13 call_weak_fn - 35: 0000000000000858 0 NOTYPE LOCAL DEFAULT 11 $x - 36: 0000000000000e30 0 NOTYPE LOCAL DEFAULT 14 $x - 37: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtn.o - 38: 0000000000000868 0 NOTYPE LOCAL DEFAULT 11 $x - 39: 0000000000000e3c 0 NOTYPE LOCAL DEFAULT 14 $x - 40: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 41: 00000000000009d0 0 NOTYPE LOCAL DEFAULT 13 $x - 42: 00000000000009d0 0 FUNC LOCAL DEFAULT 13 deregister_tm_clones - 43: 0000000000000a00 0 FUNC LOCAL DEFAULT 13 register_tm_clones - 44: 0000000000012080 0 NOTYPE LOCAL DEFAULT 23 $d - 45: 0000000000000a40 0 FUNC LOCAL DEFAULT 13 __do_global_dtors_aux - 46: 0000000000012088 1 OBJECT LOCAL DEFAULT 24 completed.0 - 47: 0000000000011db8 0 NOTYPE LOCAL DEFAULT 19 $d - 48: 0000000000011db8 0 OBJECT LOCAL DEFAULT 19 __do_global_dtors_aux_fini_array_entry - 49: 0000000000000a90 0 FUNC LOCAL DEFAULT 13 frame_dummy - 50: 0000000000011db0 0 NOTYPE LOCAL DEFAULT 18 $d - 51: 0000000000011db0 0 OBJECT LOCAL DEFAULT 18 __frame_dummy_init_array_entry - 52: 00000000000010b8 0 NOTYPE LOCAL DEFAULT 17 $d - 53: 0000000000012088 0 NOTYPE LOCAL DEFAULT 24 $d - 54: 0000000000000000 0 FILE LOCAL DEFAULT ABS complex.c - 55: 0000000000000a94 0 NOTYPE LOCAL DEFAULT 13 $x.0 - 56: 0000000000012090 0 NOTYPE LOCAL DEFAULT 24 $d.1 - 57: 0000000000000e48 0 NOTYPE LOCAL DEFAULT 15 $d.2 - 58: 000000000000002a 0 NOTYPE LOCAL DEFAULT 25 $d.3 - 59: 0000000000001118 0 NOTYPE LOCAL DEFAULT 17 $d.4 - 60: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 61: 0000000000001214 0 NOTYPE LOCAL DEFAULT 17 $d - 62: 0000000000001214 0 OBJECT LOCAL DEFAULT 17 __FRAME_END__ - 63: 0000000000000000 0 FILE LOCAL DEFAULT ABS - 64: 0000000000011dc0 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC - 65: 000000000000102c 0 NOTYPE LOCAL DEFAULT 16 __GNU_EH_FRAME_HDR - 66: 0000000000011fa0 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ - 67: 0000000000000870 0 NOTYPE LOCAL DEFAULT 12 $x - 68: 0000000000000cf8 88 FUNC GLOBAL DEFAULT 13 printHelp - 69: 0000000000000000 0 FUNC GLOBAL DEFAULT UND exit@GLIBC_2.17 - 70: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.34 - 71: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable - 72: 0000000000012078 0 NOTYPE WEAK DEFAULT 23 data_start - 73: 0000000000012088 0 NOTYPE GLOBAL DEFAULT 24 __bss_start__ - 74: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 - 75: 00000000000120a0 0 NOTYPE GLOBAL DEFAULT 24 _bss_end__ - 76: 0000000000012088 0 NOTYPE GLOBAL DEFAULT 23 _edata - 77: 0000000000000c3c 188 FUNC GLOBAL DEFAULT 13 openFile - 78: 0000000000000e30 0 FUNC GLOBAL HIDDEN 14 _fini - 79: 00000000000120a0 0 NOTYPE GLOBAL DEFAULT 24 __bss_end__ - 80: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fclose@GLIBC_2.17 - 81: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fopen@GLIBC_2.17 - 82: 0000000000000d50 104 FUNC GLOBAL DEFAULT 13 saveFile - 83: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strncmp@GLIBC_2.17 - 84: 0000000000012090 8 OBJECT GLOBAL DEFAULT 24 currentFilename - 85: 0000000000000000 0 FUNC GLOBAL DEFAULT UND rewind@GLIBC_2.17 - 86: 0000000000012078 0 NOTYPE GLOBAL DEFAULT 23 __data_start - 87: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND stdin@GLIBC_2.17 - 88: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strdup@GLIBC_2.17 - 89: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 90: 0000000000012080 0 OBJECT GLOBAL HIDDEN 23 __dso_handle - 91: 0000000000000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.17 - 92: 0000000000000e44 4 OBJECT GLOBAL DEFAULT 15 _IO_stdin_used - 93: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcmp@GLIBC_2.17 - 94: 0000000000012098 8 OBJECT GLOBAL DEFAULT 24 currentFile - 95: 00000000000120a0 0 NOTYPE GLOBAL DEFAULT 24 _end - 96: 0000000000000000 0 FUNC GLOBAL DEFAULT UND free@GLIBC_2.17 - 97: 0000000000000980 52 FUNC GLOBAL DEFAULT 13 _start - 98: 00000000000120a0 0 NOTYPE GLOBAL DEFAULT 24 __end__ - 99: 0000000000000db8 120 FUNC GLOBAL DEFAULT 13 closeFile - 100: 0000000000012088 0 NOTYPE GLOBAL DEFAULT 24 __bss_start - 101: 0000000000000a94 108 FUNC GLOBAL DEFAULT 13 main - 102: 0000000000012088 0 OBJECT GLOBAL HIDDEN 23 __TMC_END__ - 103: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - 104: 0000000000000b00 316 FUNC GLOBAL DEFAULT 13 handleInput - 105: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcspn@GLIBC_2.17 - 106: 0000000000000000 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.17 - 107: 0000000000000858 0 FUNC GLOBAL HIDDEN 11 _init - 108: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fgets@GLIBC_2.17 diff --git a/src/test/correct/complex/complex.c b/src/test/correct/complex/complex.c deleted file mode 100644 index 877688e09..000000000 --- a/src/test/correct/complex/complex.c +++ /dev/null @@ -1,101 +0,0 @@ -#include -#include -#include - -/* Define constants */ -#define MAX_LINE_LENGTH 256 - -/* Function prototypes */ -void handleInput(char* input); -void printHelp(); -void openFile(char* filename); -void saveFile(); -void closeFile(); - -/* Global variables */ -char* currentFilename = NULL; -FILE* currentFile = NULL; - -int main() { - char input[MAX_LINE_LENGTH]; - - while (1) { - printf("Enter a command: "); - fgets(input, MAX_LINE_LENGTH, stdin); - - // Remove trailing newline character - input[strcspn(input, "\n")] = '\0'; - - handleInput(input); - } - - return 0; -} - -void handleInput(char* input) { - if (strcmp(input, "help") == 0) { - printHelp(); - } else if (strncmp(input, "open ", 5) == 0) { - char* filename = input + 5; - openFile(filename); - } else if (strcmp(input, "save") == 0) { - saveFile(); - } else if (strcmp(input, "close") == 0) { - closeFile(); - } else if (strcmp(input, "exit") == 0) { - if (currentFile != NULL) { - closeFile(); - } - exit(0); - } else { - printf("Unknown command. Type 'help' for a list of commands.\n"); - } -} - -void printHelp() { - printf("Commands:\n"); - printf(" help - Display this help message\n"); - printf(" open - Open a file for editing\n"); - printf(" save - Save changes to the current file\n"); - printf(" close - Close the current file\n"); - printf(" exit - Exit the editor\n"); -} - -void openFile(char* filename) { - if (currentFile != NULL) { - closeFile(); - } - - currentFilename = strdup(filename); - currentFile = fopen(currentFilename, "r+"); - - if (currentFile == NULL) { - printf("Failed to open file '%s'\n", currentFilename); - } else { - printf("Opened file '%s'\n", currentFilename); - } -} - -void saveFile() { - if (currentFile == NULL) { - printf("No file is currently open\n"); - return; - } - - rewind(currentFile); - - // TODO: Implement saving changes to the file - - printf("Saved changes to file '%s'\n", currentFilename); -} - -void closeFile() { - if (currentFile != NULL) { - fclose(currentFile); - free(currentFilename); - currentFile = NULL; - currentFilename = NULL; - printf("Closed the file\n"); - } -} - diff --git a/src/test/correct/complex/gcc/complex.adt b/src/test/correct/complex/gcc/complex.adt deleted file mode 100644 index 1e4b07009..000000000 --- a/src/test/correct/complex/gcc/complex.adt +++ /dev/null @@ -1,1632 +0,0 @@ -Project(Attrs([Attr("filename","\"gcc/complex.out\""), -Attr("image-specification","(declare abi (name str))\n(declare arch (name str))\n(declare base-address (addr int))\n(declare bias (off int))\n(declare bits (size int))\n(declare code-region (addr int) (size int) (off int))\n(declare code-start (addr int))\n(declare entry-point (addr int))\n(declare external-reference (addr int) (name str))\n(declare format (name str))\n(declare is-executable (flag bool))\n(declare is-little-endian (flag bool))\n(declare llvm:base-address (addr int))\n(declare llvm:code-entry (name str) (off int) (size int))\n(declare llvm:coff-import-library (name str))\n(declare llvm:coff-virtual-section-header (name str) (addr int) (size int))\n(declare llvm:elf-program-header (name str) (off int) (size int))\n(declare llvm:elf-program-header-flags (name str) (ld bool) (r bool) \n (w bool) (x bool))\n(declare llvm:elf-virtual-program-header (name str) (addr int) (size int))\n(declare llvm:entry-point (addr int))\n(declare llvm:macho-symbol (name str) (value int))\n(declare llvm:name-reference (at int) (name str))\n(declare llvm:relocation (at int) (addr int))\n(declare llvm:section-entry (name str) (addr int) (size int) (off int))\n(declare llvm:section-flags (name str) (r bool) (w bool) (x bool))\n(declare llvm:segment-command (name str) (off int) (size int))\n(declare llvm:segment-command-flags (name str) (r bool) (w bool) (x bool))\n(declare llvm:symbol-entry (name str) (addr int) (size int) (off int)\n (value int))\n(declare llvm:virtual-segment-command (name str) (addr int) (size int))\n(declare mapped (addr int) (size int) (off int))\n(declare named-region (addr int) (size int) (name str))\n(declare named-symbol (addr int) (name str))\n(declare require (name str))\n(declare section (addr int) (size int))\n(declare segment (addr int) (size int) (r bool) (w bool) (x bool))\n(declare subarch (name str))\n(declare symbol-chunk (addr int) (size int) (root int))\n(declare symbol-value (addr int) (value int))\n(declare system (name str))\n(declare vendor (name str))\n\n(abi unknown)\n(arch aarch64)\n(base-address 0)\n(bias 0)\n(bits 64)\n(code-region 3744 20 3744)\n(code-region 2624 1120 2624)\n(code-region 2288 288 2288)\n(code-region 2264 24 2264)\n(code-start 2676)\n(code-start 3252)\n(code-start 3344)\n(code-start 3540)\n(code-start 2624)\n(code-start 3636)\n(code-start 2900)\n(code-start 3012)\n(entry-point 2624)\n(external-reference 73672 _ITM_deregisterTMCloneTable)\n(external-reference 73680 __cxa_finalize)\n(external-reference 73696 __gmon_start__)\n(external-reference 73720 _ITM_registerTMCloneTable)\n(external-reference 73536 exit)\n(external-reference 73544 __libc_start_main)\n(external-reference 73552 __cxa_finalize)\n(external-reference 73560 fclose)\n(external-reference 73568 fopen)\n(external-reference 73576 strncmp)\n(external-reference 73584 rewind)\n(external-reference 73592 strdup)\n(external-reference 73600 __gmon_start__)\n(external-reference 73608 abort)\n(external-reference 73616 puts)\n(external-reference 73624 strcmp)\n(external-reference 73632 free)\n(external-reference 73640 strcspn)\n(external-reference 73648 printf)\n(external-reference 73656 fgets)\n(format elf)\n(is-executable true)\n(is-little-endian true)\n(llvm:base-address 0)\n(llvm:code-entry fgets 0 0)\n(llvm:code-entry printf 0 0)\n(llvm:code-entry strcspn 0 0)\n(llvm:code-entry free 0 0)\n(llvm:code-entry strcmp 0 0)\n(llvm:code-entry puts 0 0)\n(llvm:code-entry abort 0 0)\n(llvm:code-entry strdup 0 0)\n(llvm:code-entry rewind 0 0)\n(llvm:code-entry strncmp 0 0)\n(llvm:code-entry fopen 0 0)\n(llvm:code-entry fclose 0 0)\n(llvm:code-entry __cxa_finalize 0 0)\n(llvm:code-entry __libc_start_main 0 0)\n(llvm:code-entry exit 0 0)\n(llvm:code-entry fgets@GLIBC_2.17 0 0)\n(llvm:code-entry _init 2264 0)\n(llvm:code-entry printf@GLIBC_2.17 0 0)\n(llvm:code-entry strcspn@GLIBC_2.17 0 0)\n(llvm:code-entry handleInput 3012 240)\n(llvm:code-entry main 2900 112)\n(llvm:code-entry closeFile 3636 108)\n(llvm:code-entry _start 2624 52)\n(llvm:code-entry free@GLIBC_2.17 0 0)\n(llvm:code-entry strcmp@GLIBC_2.17 0 0)\n(llvm:code-entry puts@GLIBC_2.17 0 0)\n(llvm:code-entry abort@GLIBC_2.17 0 0)\n(llvm:code-entry strdup@GLIBC_2.17 0 0)\n(llvm:code-entry rewind@GLIBC_2.17 0 0)\n(llvm:code-entry strncmp@GLIBC_2.17 0 0)\n(llvm:code-entry saveFile 3540 96)\n(llvm:code-entry fopen@GLIBC_2.17 0 0)\n(llvm:code-entry fclose@GLIBC_2.17 0 0)\n(llvm:code-entry _fini 3744 0)\n(llvm:code-entry openFile 3344 196)\n(llvm:code-entry __cxa_finalize@GLIBC_2.17 0 0)\n(llvm:code-entry __libc_start_main@GLIBC_2.34 0 0)\n(llvm:code-entry exit@GLIBC_2.17 0 0)\n(llvm:code-entry printHelp 3252 92)\n(llvm:code-entry frame_dummy 2896 0)\n(llvm:code-entry __do_global_dtors_aux 2816 0)\n(llvm:code-entry register_tm_clones 2752 0)\n(llvm:code-entry deregister_tm_clones 2704 0)\n(llvm:code-entry call_weak_fn 2676 20)\n(llvm:code-entry .fini 3744 20)\n(llvm:code-entry .text 2624 1120)\n(llvm:code-entry .plt 2288 288)\n(llvm:code-entry .init 2264 24)\n(llvm:elf-program-header 08 7448 744)\n(llvm:elf-program-header 07 0 0)\n(llvm:elf-program-header 06 4336 100)\n(llvm:elf-program-header 05 596 68)\n(llvm:elf-program-header 04 7464 512)\n(llvm:elf-program-header 03 7448 760)\n(llvm:elf-program-header 02 0 4768)\n(llvm:elf-program-header 01 568 27)\n(llvm:elf-program-header 00 64 504)\n(llvm:elf-program-header-flags 08 false true false false)\n(llvm:elf-program-header-flags 07 false true true false)\n(llvm:elf-program-header-flags 06 false true false false)\n(llvm:elf-program-header-flags 05 false true false false)\n(llvm:elf-program-header-flags 04 false true true false)\n(llvm:elf-program-header-flags 03 true true true false)\n(llvm:elf-program-header-flags 02 true true false true)\n(llvm:elf-program-header-flags 01 false true false false)\n(llvm:elf-program-header-flags 00 false true false false)\n(llvm:elf-virtual-program-header 08 72984 744)\n(llvm:elf-virtual-program-header 07 0 0)\n(llvm:elf-virtual-program-header 06 4336 100)\n(llvm:elf-virtual-program-header 05 596 68)\n(llvm:elf-virtual-program-header 04 73000 512)\n(llvm:elf-virtual-program-header 03 72984 784)\n(llvm:elf-virtual-program-header 02 0 4768)\n(llvm:elf-virtual-program-header 01 568 27)\n(llvm:elf-virtual-program-header 00 64 504)\n(llvm:entry-point 2624)\n(llvm:name-reference 73656 fgets)\n(llvm:name-reference 73648 printf)\n(llvm:name-reference 73640 strcspn)\n(llvm:name-reference 73632 free)\n(llvm:name-reference 73624 strcmp)\n(llvm:name-reference 73616 puts)\n(llvm:name-reference 73608 abort)\n(llvm:name-reference 73600 __gmon_start__)\n(llvm:name-reference 73592 strdup)\n(llvm:name-reference 73584 rewind)\n(llvm:name-reference 73576 strncmp)\n(llvm:name-reference 73568 fopen)\n(llvm:name-reference 73560 fclose)\n(llvm:name-reference 73552 __cxa_finalize)\n(llvm:name-reference 73544 __libc_start_main)\n(llvm:name-reference 73536 exit)\n(llvm:name-reference 73720 _ITM_registerTMCloneTable)\n(llvm:name-reference 73696 __gmon_start__)\n(llvm:name-reference 73680 __cxa_finalize)\n(llvm:name-reference 73672 _ITM_deregisterTMCloneTable)\n(llvm:section-entry .shstrtab 0 250 11749)\n(llvm:section-entry .strtab 0 877 10872)\n(llvm:section-entry .symtab 0 2616 8256)\n(llvm:section-entry .comment 0 43 8208)\n(llvm:section-entry .bss 73744 24 8208)\n(llvm:section-entry .data 73728 16 8192)\n(llvm:section-entry .got 73512 216 7976)\n(llvm:section-entry .dynamic 73000 512 7464)\n(llvm:section-entry .fini_array 72992 8 7456)\n(llvm:section-entry .init_array 72984 8 7448)\n(llvm:section-entry .eh_frame 4440 328 4440)\n(llvm:section-entry .eh_frame_hdr 4336 100 4336)\n(llvm:section-entry .rodata 3768 568 3768)\n(llvm:section-entry .fini 3744 20 3744)\n(llvm:section-entry .text 2624 1120 2624)\n(llvm:section-entry .plt 2288 288 2288)\n(llvm:section-entry .init 2264 24 2264)\n(llvm:section-entry .rela.plt 1880 384 1880)\n(llvm:section-entry .rela.dyn 1640 240 1640)\n(llvm:section-entry .gnu.version_r 1560 80 1560)\n(llvm:section-entry .gnu.version 1514 46 1514)\n(llvm:section-entry .dynstr 1248 265 1248)\n(llvm:section-entry .dynsym 696 552 696)\n(llvm:section-entry .gnu.hash 664 28 664)\n(llvm:section-entry .note.ABI-tag 632 32 632)\n(llvm:section-entry .note.gnu.build-id 596 36 596)\n(llvm:section-entry .interp 568 27 568)\n(llvm:section-flags .shstrtab true false false)\n(llvm:section-flags .strtab true false false)\n(llvm:section-flags .symtab true false false)\n(llvm:section-flags .comment true false false)\n(llvm:section-flags .bss true true false)\n(llvm:section-flags .data true true false)\n(llvm:section-flags .got true true false)\n(llvm:section-flags .dynamic true true false)\n(llvm:section-flags .fini_array true true false)\n(llvm:section-flags .init_array true true false)\n(llvm:section-flags .eh_frame true false false)\n(llvm:section-flags .eh_frame_hdr true false false)\n(llvm:section-flags .rodata true false false)\n(llvm:section-flags .fini true false true)\n(llvm:section-flags .text true false true)\n(llvm:section-flags .plt true false true)\n(llvm:section-flags .init true false true)\n(llvm:section-flags .rela.plt true false false)\n(llvm:section-flags .rela.dyn true false false)\n(llvm:section-flags .gnu.version_r true false false)\n(llvm:section-flags .gnu.version true false false)\n(llvm:section-flags .dynstr true false false)\n(llvm:section-flags .dynsym true false false)\n(llvm:section-flags .gnu.hash true false false)\n(llvm:section-flags .note.ABI-tag true false false)\n(llvm:section-flags .note.gnu.build-id true false false)\n(llvm:section-flags .interp true false false)\n(llvm:symbol-entry fgets 0 0 0 0)\n(llvm:symbol-entry printf 0 0 0 0)\n(llvm:symbol-entry strcspn 0 0 0 0)\n(llvm:symbol-entry free 0 0 0 0)\n(llvm:symbol-entry strcmp 0 0 0 0)\n(llvm:symbol-entry puts 0 0 0 0)\n(llvm:symbol-entry abort 0 0 0 0)\n(llvm:symbol-entry strdup 0 0 0 0)\n(llvm:symbol-entry rewind 0 0 0 0)\n(llvm:symbol-entry strncmp 0 0 0 0)\n(llvm:symbol-entry fopen 0 0 0 0)\n(llvm:symbol-entry fclose 0 0 0 0)\n(llvm:symbol-entry __cxa_finalize 0 0 0 0)\n(llvm:symbol-entry __libc_start_main 0 0 0 0)\n(llvm:symbol-entry exit 0 0 0 0)\n(llvm:symbol-entry fgets@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry _init 2264 0 2264 2264)\n(llvm:symbol-entry printf@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strcspn@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry handleInput 3012 240 3012 3012)\n(llvm:symbol-entry main 2900 112 2900 2900)\n(llvm:symbol-entry closeFile 3636 108 3636 3636)\n(llvm:symbol-entry _start 2624 52 2624 2624)\n(llvm:symbol-entry free@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strcmp@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry puts@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry abort@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strdup@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry rewind@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strncmp@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry saveFile 3540 96 3540 3540)\n(llvm:symbol-entry fopen@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry fclose@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry _fini 3744 0 3744 3744)\n(llvm:symbol-entry openFile 3344 196 3344 3344)\n(llvm:symbol-entry __cxa_finalize@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry __libc_start_main@GLIBC_2.34 0 0 0 0)\n(llvm:symbol-entry exit@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry printHelp 3252 92 3252 3252)\n(llvm:symbol-entry frame_dummy 2896 0 2896 2896)\n(llvm:symbol-entry __do_global_dtors_aux 2816 0 2816 2816)\n(llvm:symbol-entry register_tm_clones 2752 0 2752 2752)\n(llvm:symbol-entry deregister_tm_clones 2704 0 2704 2704)\n(llvm:symbol-entry call_weak_fn 2676 20 2676 2676)\n(mapped 0 4768 0)\n(mapped 72984 760 7448)\n(named-region 0 4768 02)\n(named-region 72984 784 03)\n(named-region 568 27 .interp)\n(named-region 596 36 .note.gnu.build-id)\n(named-region 632 32 .note.ABI-tag)\n(named-region 664 28 .gnu.hash)\n(named-region 696 552 .dynsym)\n(named-region 1248 265 .dynstr)\n(named-region 1514 46 .gnu.version)\n(named-region 1560 80 .gnu.version_r)\n(named-region 1640 240 .rela.dyn)\n(named-region 1880 384 .rela.plt)\n(named-region 2264 24 .init)\n(named-region 2288 288 .plt)\n(named-region 2624 1120 .text)\n(named-region 3744 20 .fini)\n(named-region 3768 568 .rodata)\n(named-region 4336 100 .eh_frame_hdr)\n(named-region 4440 328 .eh_frame)\n(named-region 72984 8 .init_array)\n(named-region 72992 8 .fini_array)\n(named-region 73000 512 .dynamic)\n(named-region 73512 216 .got)\n(named-region 73728 16 .data)\n(named-region 73744 24 .bss)\n(named-region 0 43 .comment)\n(named-region 0 2616 .symtab)\n(named-region 0 877 .strtab)\n(named-region 0 250 .shstrtab)\n(named-symbol 2676 call_weak_fn)\n(named-symbol 2704 deregister_tm_clones)\n(named-symbol 2752 register_tm_clones)\n(named-symbol 2816 __do_global_dtors_aux)\n(named-symbol 2896 frame_dummy)\n(named-symbol 3252 printHelp)\n(named-symbol 0 exit@GLIBC_2.17)\n(named-symbol 0 __libc_start_main@GLIBC_2.34)\n(named-symbol 0 __cxa_finalize@GLIBC_2.17)\n(named-symbol 3344 openFile)\n(named-symbol 3744 _fini)\n(named-symbol 0 fclose@GLIBC_2.17)\n(named-symbol 0 fopen@GLIBC_2.17)\n(named-symbol 3540 saveFile)\n(named-symbol 0 strncmp@GLIBC_2.17)\n(named-symbol 0 rewind@GLIBC_2.17)\n(named-symbol 0 strdup@GLIBC_2.17)\n(named-symbol 0 abort@GLIBC_2.17)\n(named-symbol 0 puts@GLIBC_2.17)\n(named-symbol 0 strcmp@GLIBC_2.17)\n(named-symbol 0 free@GLIBC_2.17)\n(named-symbol 2624 _start)\n(named-symbol 3636 closeFile)\n(named-symbol 2900 main)\n(named-symbol 3012 handleInput)\n(named-symbol 0 strcspn@GLIBC_2.17)\n(named-symbol 0 printf@GLIBC_2.17)\n(named-symbol 2264 _init)\n(named-symbol 0 fgets@GLIBC_2.17)\n(named-symbol 0 exit)\n(named-symbol 0 __libc_start_main)\n(named-symbol 0 __cxa_finalize)\n(named-symbol 0 fclose)\n(named-symbol 0 fopen)\n(named-symbol 0 strncmp)\n(named-symbol 0 rewind)\n(named-symbol 0 strdup)\n(named-symbol 0 abort)\n(named-symbol 0 puts)\n(named-symbol 0 strcmp)\n(named-symbol 0 free)\n(named-symbol 0 strcspn)\n(named-symbol 0 printf)\n(named-symbol 0 fgets)\n(require ld-linux-aarch64.so.1)\n(require libc.so.6)\n(section 568 27)\n(section 596 36)\n(section 632 32)\n(section 664 28)\n(section 696 552)\n(section 1248 265)\n(section 1514 46)\n(section 1560 80)\n(section 1640 240)\n(section 1880 384)\n(section 2264 24)\n(section 2288 288)\n(section 2624 1120)\n(section 3744 20)\n(section 3768 568)\n(section 4336 100)\n(section 4440 328)\n(section 72984 8)\n(section 72992 8)\n(section 73000 512)\n(section 73512 216)\n(section 73728 16)\n(section 73744 24)\n(section 0 43)\n(section 0 2616)\n(section 0 877)\n(section 0 250)\n(segment 0 4768 true false true)\n(segment 72984 784 true true false)\n(subarch v8)\n(symbol-chunk 2676 20 2676)\n(symbol-chunk 3252 92 3252)\n(symbol-chunk 3344 196 3344)\n(symbol-chunk 3540 96 3540)\n(symbol-chunk 2624 52 2624)\n(symbol-chunk 3636 108 3636)\n(symbol-chunk 2900 112 2900)\n(symbol-chunk 3012 240 3012)\n(symbol-value 2676 2676)\n(symbol-value 2704 2704)\n(symbol-value 2752 2752)\n(symbol-value 2816 2816)\n(symbol-value 2896 2896)\n(symbol-value 3252 3252)\n(symbol-value 3344 3344)\n(symbol-value 3744 3744)\n(symbol-value 3540 3540)\n(symbol-value 2624 2624)\n(symbol-value 3636 3636)\n(symbol-value 2900 2900)\n(symbol-value 3012 3012)\n(symbol-value 2264 2264)\n(symbol-value 0 0)\n(system \"\")\n(vendor \"\")\n"), -Attr("abi-name","\"aarch64-linux-gnu-elf\"")]), -Sections([Section(".shstrtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x40\x0a\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xe0\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1c\x00\x1b\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x12\x00\x00\x00\x00\x00\x00\xa0\x12\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x18\x1d\x00\x00\x00\x00\x00\x00\x18\x1d"), -Section(".strtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x40\x0a\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xe0\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1c\x00\x1b\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x12\x00\x00\x00\x00\x00\x00\xa0\x12\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x18\x1d\x00\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\xf8\x02\x00\x00\x00\x00\x00\x00\x10\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x28\x1d\x00\x00\x00\x00\x00\x00\x28\x1d\x01\x00\x00\x00\x00\x00\x28\x1d\x01\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x50\xe5\x74\x64\x04\x00\x00\x00\xf0\x10\x00\x00\x00\x00\x00\x00\xf0\x10\x00\x00\x00\x00\x00\x00\xf0\x10\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x51\xe5\x74\x64\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x52\xe5\x74\x64\x04\x00\x00\x00\x18\x1d\x00\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\xe8\x02\x00\x00\x00\x00\x00\x00\xe8\x02\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00\x00\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\x4f\xa5\x03\x77\xe2\x4b\xbf\xd9\xea\x4d\x63\x47\x4f\x5c\x9b\x35\xa9\x3b\x79\x63\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\xd8\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x16\x00\x00\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".symtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x40\x0a\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xe0\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1c\x00\x1b\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x12\x00\x00\x00\x00\x00\x00\xa0\x12\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x18\x1d\x00\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\xf8\x02\x00\x00\x00\x00\x00\x00\x10\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x28\x1d\x00\x00\x00\x00\x00\x00\x28\x1d\x01\x00\x00\x00\x00\x00\x28\x1d\x01\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x50\xe5\x74\x64\x04\x00\x00\x00\xf0\x10\x00\x00\x00\x00\x00\x00\xf0\x10\x00\x00\x00\x00\x00\x00\xf0\x10\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x51\xe5\x74\x64\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x52\xe5\x74\x64\x04\x00\x00\x00\x18\x1d\x00\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\xe8\x02\x00\x00\x00\x00\x00\x00\xe8\x02\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00\x00\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\x4f\xa5\x03\x77\xe2\x4b\xbf\xd9\xea\x4d\x63\x47\x4f\x5c\x9b\x35\xa9\x3b\x79\x63\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\xd8\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x16\x00\x00\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x5f\x63\x78\x61\x5f\x66\x69\x6e\x61\x6c\x69\x7a\x65\x00\x66\x67\x65\x74\x73\x00\x73\x74\x72\x63\x73\x70\x6e\x00\x5f\x5f\x6c\x69\x62\x63\x5f\x73\x74\x61\x72\x74\x5f\x6d\x61\x69\x6e\x00\x73\x74\x72\x63\x6d\x70\x00\x66\x6f\x70\x65\x6e\x00\x66\x63\x6c\x6f\x73\x65\x00\x73\x74\x72\x6e\x63\x6d\x70\x00\x70\x75\x74\x73\x00\x66\x72\x65\x65\x00\x73\x74\x72\x64\x75\x70\x00\x73\x74\x64\x69\x6e\x00\x61\x62\x6f\x72\x74\x00\x65\x78\x69\x74\x00\x72\x65\x77\x69\x6e\x64\x00\x70\x72\x69\x6e\x74\x66\x00\x5f\x5f\x73\x74\x61\x63\x6b\x5f\x63\x68\x6b\x5f\x67\x75\x61\x72\x64\x00\x6c\x69\x62\x63\x2e\x73\x6f\x2e\x36\x00\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x31\x37\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x33\x34\x00\x5f\x49\x54\x4d\x5f\x64\x65\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x5f\x5f\x67\x6d\x6f\x6e\x5f\x73\x74\x61\x72\x74\x5f\x5f\x00\x5f\x49\x54\x4d\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x04\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x02\x00\x02\x00\x01\x00\x01\x00\x98\x00\x00\x00\x10\x00\x00\x00\x20\x00\x00\x00\x97\x91\x96\x06\x00\x00\x04\x00\xae\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x8e\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\xb4\x91\x96\x06\x00\x00\x03\x00\xb9\x00\x00\x00\x10\x00\x00\x00\x97\x91\x96\x06\x00\x00\x02\x00\xae\x00\x00\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x50\x0b\x00\x00\x00\x00\x00\x00\x20\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\xf0\x1f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x54\x0b\x00\x00\x00\x00\x00\x00\x08\x20\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x08\x20\x01\x00\x00\x00\x00\x00\xc8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x64\x00\x00\x94\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6\xf0\x7b\xbf\xa9\x90\x00\x00\xb0\x11\x9e\x47\xf9\x10\xe2\x3c\x91\x20\x02\x1f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x90\x00\x00\xb0\x11\xa2\x47\xf9\x10\x02\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xa6\x47\xf9\x10\x22\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xaa\x47\xf9\x10\x42\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xae\x47\xf9\x10\x62\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xb2\x47\xf9\x10\x82\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xb6\x47\xf9\x10\xa2\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xba\x47\xf9\x10\xc2\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xbe\x47\xf9\x10\xe2\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xc2\x47\xf9\x10\x02\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xc6\x47\xf9\x10\x22\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xca\x47\xf9\x10\x42\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xce\x47\xf9\x10\x62\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xd2\x47\xf9\x10\x82\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xd6\x47\xf9\x10\xa2\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xda\x47\xf9\x10\xc2\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xde\x47\xf9\x10\xe2\x3e\x91\x20\x02\x1f\xd6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".comment", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x40\x0a\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xe0\x2e\x00"), -Section(".interp", 0x238, "\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00"), -Section(".note.gnu.build-id", 0x254, "\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\x4f\xa5\x03\x77\xe2\x4b\xbf\xd9\xea\x4d\x63\x47\x4f\x5c\x9b\x35\xa9\x3b\x79\x63"), -Section(".note.ABI-tag", 0x278, "\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00"), -Section(".gnu.hash", 0x298, "\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".dynsym", 0x2B8, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\xd8\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x16\x00\x00\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".dynstr", 0x4E0, "\x00\x5f\x5f\x63\x78\x61\x5f\x66\x69\x6e\x61\x6c\x69\x7a\x65\x00\x66\x67\x65\x74\x73\x00\x73\x74\x72\x63\x73\x70\x6e\x00\x5f\x5f\x6c\x69\x62\x63\x5f\x73\x74\x61\x72\x74\x5f\x6d\x61\x69\x6e\x00\x73\x74\x72\x63\x6d\x70\x00\x66\x6f\x70\x65\x6e\x00\x66\x63\x6c\x6f\x73\x65\x00\x73\x74\x72\x6e\x63\x6d\x70\x00\x70\x75\x74\x73\x00\x66\x72\x65\x65\x00\x73\x74\x72\x64\x75\x70\x00\x73\x74\x64\x69\x6e\x00\x61\x62\x6f\x72\x74\x00\x65\x78\x69\x74\x00\x72\x65\x77\x69\x6e\x64\x00\x70\x72\x69\x6e\x74\x66\x00\x5f\x5f\x73\x74\x61\x63\x6b\x5f\x63\x68\x6b\x5f\x67\x75\x61\x72\x64\x00\x6c\x69\x62\x63\x2e\x73\x6f\x2e\x36\x00\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x31\x37\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x33\x34\x00\x5f\x49\x54\x4d\x5f\x64\x65\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x5f\x5f\x67\x6d\x6f\x6e\x5f\x73\x74\x61\x72\x74\x5f\x5f\x00\x5f\x49\x54\x4d\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00"), -Section(".gnu.version", 0x5EA, "\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x04\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x02\x00\x02\x00"), -Section(".gnu.version_r", 0x618, "\x01\x00\x01\x00\x98\x00\x00\x00\x10\x00\x00\x00\x20\x00\x00\x00\x97\x91\x96\x06\x00\x00\x04\x00\xae\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x8e\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\xb4\x91\x96\x06\x00\x00\x03\x00\xb9\x00\x00\x00\x10\x00\x00\x00\x97\x91\x96\x06\x00\x00\x02\x00\xae\x00\x00\x00\x00\x00\x00\x00"), -Section(".rela.dyn", 0x668, "\x18\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x50\x0b\x00\x00\x00\x00\x00\x00\x20\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\xf0\x1f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x54\x0b\x00\x00\x00\x00\x00\x00\x08\x20\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x08\x20\x01\x00\x00\x00\x00\x00\xc8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".rela.plt", 0x758, "\x40\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".init", 0x8D8, "\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x64\x00\x00\x94\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".plt", 0x8F0, "\xf0\x7b\xbf\xa9\x90\x00\x00\xb0\x11\x9e\x47\xf9\x10\xe2\x3c\x91\x20\x02\x1f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x90\x00\x00\xb0\x11\xa2\x47\xf9\x10\x02\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xa6\x47\xf9\x10\x22\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xaa\x47\xf9\x10\x42\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xae\x47\xf9\x10\x62\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xb2\x47\xf9\x10\x82\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xb6\x47\xf9\x10\xa2\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xba\x47\xf9\x10\xc2\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xbe\x47\xf9\x10\xe2\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xc2\x47\xf9\x10\x02\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xc6\x47\xf9\x10\x22\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xca\x47\xf9\x10\x42\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xce\x47\xf9\x10\x62\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xd2\x47\xf9\x10\x82\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xd6\x47\xf9\x10\xa2\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xda\x47\xf9\x10\xc2\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xde\x47\xf9\x10\xe2\x3e\x91\x20\x02\x1f\xd6"), -Section(".text", 0xA40, "\x1f\x20\x03\xd5\x1d\x00\x80\xd2\x1e\x00\x80\xd2\xe5\x03\x00\xaa\xe1\x03\x40\xf9\xe2\x23\x00\x91\xe6\x03\x00\x91\x80\x00\x00\xb0\x00\xf8\x47\xf9\x03\x00\x80\xd2\x04\x00\x80\xd2\xad\xff\xff\x97\xcc\xff\xff\x97\x80\x00\x00\xb0\x00\xf0\x47\xf9\x40\x00\x00\xb4\xc4\xff\xff\x17\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x80\x00\x00\xd0\x00\x40\x00\x91\x81\x00\x00\xd0\x21\x40\x00\x91\x3f\x00\x00\xeb\xc0\x00\x00\x54\x81\x00\x00\xb0\x21\xe4\x47\xf9\x61\x00\x00\xb4\xf0\x03\x01\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x80\x00\x00\xd0\x00\x40\x00\x91\x81\x00\x00\xd0\x21\x40\x00\x91\x21\x00\x00\xcb\x22\xfc\x7f\xd3\x41\x0c\x81\x8b\x21\xfc\x41\x93\xc1\x00\x00\xb4\x82\x00\x00\xb0\x42\xfc\x47\xf9\x62\x00\x00\xb4\xf0\x03\x02\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\xfd\x7b\xbe\xa9\xfd\x03\x00\x91\xf3\x0b\x00\xf9\x93\x00\x00\xd0\x60\x42\x40\x39\x40\x01\x00\x35\x80\x00\x00\xb0\x00\xe8\x47\xf9\x80\x00\x00\xb4\x80\x00\x00\xd0\x00\x04\x40\xf9\x81\xff\xff\x97\xd8\xff\xff\x97\x20\x00\x80\x52\x60\x42\x00\x39\xf3\x0b\x40\xf9\xfd\x7b\xc2\xa8\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\xdc\xff\xff\x17\xfd\x7b\xae\xa9\xfd\x03\x00\x91\x80\x00\x00\xb0\x00\xf4\x47\xf9\x01\x00\x40\xf9\xe1\x8f\x00\xf9\x01\x00\x80\xd2\x00\x00\x00\x90\x00\x00\x3b\x91\x9e\xff\xff\x97\x80\x00\x00\xb0\x00\xec\x47\xf9\x01\x00\x40\xf9\xe0\x63\x00\x91\xe2\x03\x01\xaa\x01\x20\x80\x52\x9b\xff\xff\x97\xe2\x63\x00\x91\x00\x00\x00\x90\x01\x60\x3b\x91\xe0\x03\x02\xaa\x8e\xff\xff\x97\xe1\x03\x00\xaa\xe0\x63\x00\x91\x1f\x68\x21\x38\xe0\x63\x00\x91\x02\x00\x00\x94\xec\xff\xff\x17\xfd\x7b\xbd\xa9\xfd\x03\x00\x91\xe0\x0f\x00\xf9\x00\x00\x00\x90\x01\x80\x3b\x91\xe0\x0f\x40\xf9\x79\xff\xff\x97\x1f\x00\x00\x71\x61\x00\x00\x54\x33\x00\x00\x94\x2f\x00\x00\x14\xa2\x00\x80\x52\x00\x00\x00\x90\x01\xa0\x3b\x91\xe0\x0f\x40\xf9\x58\xff\xff\x97\x1f\x00\x00\x71\xe1\x00\x00\x54\xe0\x0f\x40\xf9\x00\x14\x00\x91\xe0\x17\x00\xf9\xe0\x17\x40\xf9\x3d\x00\x00\x94\x22\x00\x00\x14\x00\x00\x00\x90\x01\xc0\x3b\x91\xe0\x0f\x40\xf9\x64\xff\xff\x97\x1f\x00\x00\x71\x61\x00\x00\x54\x66\x00\x00\x94\x1a\x00\x00\x14\x00\x00\x00\x90\x01\xe0\x3b\x91\xe0\x0f\x40\xf9\x5c\xff\xff\x97\x1f\x00\x00\x71\x61\x00\x00\x54\x76\x00\x00\x94\x12\x00\x00\x14\x00\x00\x00\x90\x01\x00\x3c\x91\xe0\x0f\x40\xf9\x54\xff\xff\x97\x1f\x00\x00\x71\x21\x01\x00\x54\x80\x00\x00\xd0\x00\x80\x00\x91\x00\x00\x40\xf9\x1f\x00\x00\xf1\x40\x00\x00\x54\x69\x00\x00\x94\x00\x00\x80\x52\x1e\xff\xff\x97\x00\x00\x00\x90\x00\x20\x3c\x91\x43\xff\xff\x97\x1f\x20\x03\xd5\xfd\x7b\xc3\xa8\xc0\x03\x5f\xd6\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x00\x00\x00\x90\x00\x00\x3d\x91\x3b\xff\xff\x97\x00\x00\x00\x90\x00\x40\x3d\x91\x38\xff\xff\x97\x00\x00\x00\x90\x00\x20\x3e\x91\x35\xff\xff\x97\x00\x00\x00\x90\x00\x00\x3f\x91\x32\xff\xff\x97\x00\x00\x00\xb0\x00\x00\x00\x91\x2f\xff\xff\x97\x00\x00\x00\xb0\x00\xc0\x00\x91\x2c\xff\xff\x97\x1f\x20\x03\xd5\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6\xfd\x7b\xbe\xa9\xfd\x03\x00\x91\xe0\x0f\x00\xf9\x80\x00\x00\xd0\x00\x80\x00\x91\x00\x00\x40\xf9\x1f\x00\x00\xf1\x40\x00\x00\x54\x41\x00\x00\x94\xe0\x0f\x40\xf9\x12\xff\xff\x97\xe1\x03\x00\xaa\x80\x00\x00\xd0\x00\x60\x00\x91\x01\x00\x00\xf9\x80\x00\x00\xd0\x00\x60\x00\x91\x02\x00\x40\xf9\x00\x00\x00\xb0\x01\x80\x01\x91\xe0\x03\x02\xaa\xfb\xfe\xff\x97\xe1\x03\x00\xaa\x80\x00\x00\xd0\x00\x80\x00\x91\x01\x00\x00\xf9\x80\x00\x00\xd0\x00\x80\x00\x91\x00\x00\x40\xf9\x1f\x00\x00\xf1\x21\x01\x00\x54\x80\x00\x00\xd0\x00\x60\x00\x91\x00\x00\x40\xf9\xe1\x03\x00\xaa\x00\x00\x00\xb0\x00\xa0\x01\x91\x13\xff\xff\x97\x08\x00\x00\x14\x80\x00\x00\xd0\x00\x60\x00\x91\x00\x00\x40\xf9\xe1\x03\x00\xaa\x00\x00\x00\xb0\x00\x20\x02\x91\x0b\xff\xff\x97\x1f\x20\x03\xd5\xfd\x7b\xc2\xa8\xc0\x03\x5f\xd6\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x80\x00\x00\xd0\x00\x80\x00\x91\x00\x00\x40\xf9\x1f\x00\x00\xf1\xa1\x00\x00\x54\x00\x00\x00\xb0\x00\x80\x02\x91\xee\xfe\xff\x97\x0c\x00\x00\x14\x80\x00\x00\xd0\x00\x80\x00\x91\x00\x00\x40\xf9\xd9\xfe\xff\x97\x80\x00\x00\xd0\x00\x60\x00\x91\x00\x00\x40\xf9\xe1\x03\x00\xaa\x00\x00\x00\xb0\x00\x00\x03\x91\xf2\xfe\xff\x97\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x80\x00\x00\xd0\x00\x80\x00\x91\x00\x00\x40\xf9\x1f\x00\x00\xf1\x40\x02\x00\x54\x80\x00\x00\xd0\x00\x80\x00\x91\x00\x00\x40\xf9\xb9\xfe\xff\x97\x80\x00\x00\xd0\x00\x60\x00\x91\x00\x00\x40\xf9\xd9\xfe\xff\x97\x80\x00\x00\xd0\x00\x80\x00\x91\x1f\x00\x00\xf9\x80\x00\x00\xd0\x00\x60\x00\x91\x1f\x00\x00\xf9\x00\x00\x00\xb0\x00\x80\x03\x91\xc8\xfe\xff\x97\x1f\x20\x03\xd5\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".fini", 0xEA0, "\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".rodata", 0xEB8, "\x01\x00\x02\x00\x00\x00\x00\x00\x45\x6e\x74\x65\x72\x20\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x3a\x20\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x68\x65\x6c\x70\x00\x00\x00\x00\x6f\x70\x65\x6e\x20\x00\x00\x00\x73\x61\x76\x65\x00\x00\x00\x00\x63\x6c\x6f\x73\x65\x00\x00\x00\x65\x78\x69\x74\x00\x00\x00\x00\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x2e\x20\x54\x79\x70\x65\x20\x27\x68\x65\x6c\x70\x27\x20\x66\x6f\x72\x20\x61\x20\x6c\x69\x73\x74\x20\x6f\x66\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x73\x2e\x00\x00\x00\x00\x43\x6f\x6d\x6d\x61\x6e\x64\x73\x3a\x00\x00\x00\x00\x00\x00\x00\x20\x20\x68\x65\x6c\x70\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x44\x69\x73\x70\x6c\x61\x79\x20\x74\x68\x69\x73\x20\x68\x65\x6c\x70\x20\x6d\x65\x73\x73\x61\x67\x65\x00\x00\x00\x00\x00\x00\x20\x20\x6f\x70\x65\x6e\x20\x3c\x66\x69\x6c\x65\x6e\x61\x6d\x65\x3e\x20\x20\x20\x20\x20\x20\x2d\x20\x4f\x70\x65\x6e\x20\x61\x20\x66\x69\x6c\x65\x20\x66\x6f\x72\x20\x65\x64\x69\x74\x69\x6e\x67\x00\x00\x00\x00\x00\x00\x00\x00\x20\x20\x73\x61\x76\x65\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x53\x61\x76\x65\x20\x63\x68\x61\x6e\x67\x65\x73\x20\x74\x6f\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x66\x69\x6c\x65\x00\x00\x00\x00\x00\x00\x00\x20\x20\x63\x6c\x6f\x73\x65\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x43\x6c\x6f\x73\x65\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x66\x69\x6c\x65\x00\x20\x20\x65\x78\x69\x74\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x45\x78\x69\x74\x20\x74\x68\x65\x20\x65\x64\x69\x74\x6f\x72\x00\x00\x00\x00\x00\x00\x00\x00\x72\x2b\x00\x00\x00\x00\x00\x00\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x6f\x70\x65\x6e\x20\x66\x69\x6c\x65\x20\x27\x25\x73\x27\x0a\x00\x00\x00\x00\x00\x00\x00\x4f\x70\x65\x6e\x65\x64\x20\x66\x69\x6c\x65\x20\x27\x25\x73\x27\x0a\x00\x00\x00\x00\x00\x00\x00\x4e\x6f\x20\x66\x69\x6c\x65\x20\x69\x73\x20\x63\x75\x72\x72\x65\x6e\x74\x6c\x79\x20\x6f\x70\x65\x6e\x00\x00\x00\x00\x00\x00\x00\x53\x61\x76\x65\x64\x20\x63\x68\x61\x6e\x67\x65\x73\x20\x74\x6f\x20\x66\x69\x6c\x65\x20\x27\x25\x73\x27\x0a\x00\x00\x00\x00\x00\x43\x6c\x6f\x73\x65\x64\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x00"), -Section(".eh_frame_hdr", 0x10F0, "\x01\x1b\x03\x3b\x64\x00\x00\x00\x0b\x00\x00\x00\x50\xf9\xff\xff\x7c\x00\x00\x00\xa0\xf9\xff\xff\x90\x00\x00\x00\xd0\xf9\xff\xff\xa4\x00\x00\x00\x10\xfa\xff\xff\xb8\x00\x00\x00\x60\xfa\xff\xff\xdc\x00\x00\x00\x64\xfa\xff\xff\xf0\x00\x00\x00\xd4\xfa\xff\xff\x0c\x01\x00\x00\xc4\xfb\xff\xff\x2c\x01\x00\x00\x20\xfc\xff\xff\x4c\x01\x00\x00\xe4\xfc\xff\xff\x6c\x01\x00\x00\x44\xfd\xff\xff\x8c\x01\x00\x00"), -Section(".eh_frame", 0x1158, "\x10\x00\x00\x00\x00\x00\x00\x00\x01\x7a\x52\x00\x04\x78\x1e\x01\x1b\x0c\x1f\x00\x10\x00\x00\x00\x18\x00\x00\x00\xcc\xf8\xff\xff\x34\x00\x00\x00\x00\x41\x07\x1e\x10\x00\x00\x00\x2c\x00\x00\x00\x08\xf9\xff\xff\x30\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x40\x00\x00\x00\x24\xf9\xff\xff\x3c\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x54\x00\x00\x00\x50\xf9\xff\xff\x48\x00\x00\x00\x00\x41\x0e\x20\x9d\x04\x9e\x03\x42\x93\x02\x4e\xde\xdd\xd3\x0e\x00\x00\x00\x00\x10\x00\x00\x00\x78\x00\x00\x00\x7c\xf9\xff\xff\x04\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x8c\x00\x00\x00\x6c\xf9\xff\xff\x70\x00\x00\x00\x00\x41\x0e\xa0\x02\x9d\x24\x9e\x23\x00\x00\x00\x1c\x00\x00\x00\xa8\x00\x00\x00\xc0\xf9\xff\xff\xf0\x00\x00\x00\x00\x41\x0e\x30\x9d\x06\x9e\x05\x7a\xde\xdd\x0e\x00\x00\x00\x00\x1c\x00\x00\x00\xc8\x00\x00\x00\x90\xfa\xff\xff\x5c\x00\x00\x00\x00\x41\x0e\x10\x9d\x02\x9e\x01\x55\xde\xdd\x0e\x00\x00\x00\x00\x1c\x00\x00\x00\xe8\x00\x00\x00\xcc\xfa\xff\xff\xc4\x00\x00\x00\x00\x41\x0e\x20\x9d\x04\x9e\x03\x6f\xde\xdd\x0e\x00\x00\x00\x00\x1c\x00\x00\x00\x08\x01\x00\x00\x70\xfb\xff\xff\x60\x00\x00\x00\x00\x41\x0e\x10\x9d\x02\x9e\x01\x56\xde\xdd\x0e\x00\x00\x00\x00\x1c\x00\x00\x00\x28\x01\x00\x00\xb0\xfb\xff\xff\x6c\x00\x00\x00\x00\x41\x0e\x10\x9d\x02\x9e\x01\x59\xde\xdd\x0e\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".fini_array", 0x11D20, "\x00\x0b\x00\x00\x00\x00\x00\x00"), -Section(".dynamic", 0x11D28, "\x01\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x98\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\xd8\x08\x00\x00\x00\x00\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\xa0\x0e\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x20\x1d\x01\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xf5\xfe\xff\x6f\x00\x00\x00\x00\x98\x02\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\xe0\x04\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\xb8\x02\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x09\x01\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x28\x1f\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x58\x07\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x68\x06\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xf0\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xfb\xff\xff\x6f\x00\x00\x00\x00\x01\x00\x00\x08\x00\x00\x00\x00\xfe\xff\xff\x6f\x00\x00\x00\x00\x18\x06\x00\x00\x00\x00\x00\x00\xff\xff\xff\x6f\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\xf0\xff\xff\x6f\x00\x00\x00\x00\xea\x05\x00\x00\x00\x00\x00\x00\xf9\xff\xff\x6f\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".got", 0x11F28, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x08\x00\x00\x00\x00\x00\x00\xf0\x08\x00\x00\x00\x00\x00\x00\xf0\x08\x00\x00\x00\x00\x00\x00\xf0\x08\x00\x00\x00\x00\x00\x00\xf0\x08\x00\x00\x00\x00\x00\x00\xf0\x08\x00\x00\x00\x00\x00\x00\xf0\x08\x00\x00\x00\x00\x00\x00\xf0\x08\x00\x00\x00\x00\x00\x00\xf0\x08\x00\x00\x00\x00\x00\x00\xf0\x08\x00\x00\x00\x00\x00\x00\xf0\x08\x00\x00\x00\x00\x00\x00\xf0\x08\x00\x00\x00\x00\x00\x00\xf0\x08\x00\x00\x00\x00\x00\x00\xf0\x08\x00\x00\x00\x00\x00\x00\xf0\x08\x00\x00\x00\x00\x00\x00\xf0\x08\x00\x00\x00\x00\x00\x00\x28\x1d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".data", 0x12000, "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x20\x01\x00\x00\x00\x00\x00"), -Section(".init_array", 0x11D18, "\x50\x0b\x00\x00\x00\x00\x00\x00")]), -Memmap([Annotation(Region(0x0,0x129F), Attr("segment","02 0 4768")), -Annotation(Region(0xA40,0xA73), Attr("symbol","\"_start\"")), -Annotation(Region(0x0,0xF9), Attr("section","\".shstrtab\"")), -Annotation(Region(0x0,0x36C), Attr("section","\".strtab\"")), -Annotation(Region(0x0,0xA37), Attr("section","\".symtab\"")), -Annotation(Region(0x0,0x2A), Attr("section","\".comment\"")), -Annotation(Region(0x238,0x252), Attr("section","\".interp\"")), -Annotation(Region(0x254,0x277), Attr("section","\".note.gnu.build-id\"")), -Annotation(Region(0x278,0x297), Attr("section","\".note.ABI-tag\"")), -Annotation(Region(0x298,0x2B3), Attr("section","\".gnu.hash\"")), -Annotation(Region(0x2B8,0x4DF), Attr("section","\".dynsym\"")), -Annotation(Region(0x4E0,0x5E8), Attr("section","\".dynstr\"")), -Annotation(Region(0x5EA,0x617), Attr("section","\".gnu.version\"")), -Annotation(Region(0x618,0x667), Attr("section","\".gnu.version_r\"")), -Annotation(Region(0x668,0x757), Attr("section","\".rela.dyn\"")), -Annotation(Region(0x758,0x8D7), Attr("section","\".rela.plt\"")), -Annotation(Region(0x8D8,0x8EF), Attr("section","\".init\"")), -Annotation(Region(0x8F0,0xA0F), Attr("section","\".plt\"")), -Annotation(Region(0x8D8,0x8EF), Attr("code-region","()")), -Annotation(Region(0x8F0,0xA0F), Attr("code-region","()")), -Annotation(Region(0xA40,0xA73), Attr("symbol-info","_start 0xA40 52")), -Annotation(Region(0xA74,0xA87), Attr("symbol","\"call_weak_fn\"")), -Annotation(Region(0xA74,0xA87), Attr("symbol-info","call_weak_fn 0xA74 20")), -Annotation(Region(0xB54,0xBC3), Attr("symbol","\"main\"")), -Annotation(Region(0xB54,0xBC3), Attr("symbol-info","main 0xB54 112")), -Annotation(Region(0xBC4,0xCB3), Attr("symbol","\"handleInput\"")), -Annotation(Region(0xA40,0xE9F), Attr("section","\".text\"")), -Annotation(Region(0xA40,0xE9F), Attr("code-region","()")), -Annotation(Region(0xBC4,0xCB3), Attr("symbol-info","handleInput 0xBC4 240")), -Annotation(Region(0xCB4,0xD0F), Attr("symbol","\"printHelp\"")), -Annotation(Region(0xCB4,0xD0F), Attr("symbol-info","printHelp 0xCB4 92")), -Annotation(Region(0xD10,0xDD3), Attr("symbol","\"openFile\"")), -Annotation(Region(0xD10,0xDD3), Attr("symbol-info","openFile 0xD10 196")), -Annotation(Region(0xDD4,0xE33), Attr("symbol","\"saveFile\"")), -Annotation(Region(0xDD4,0xE33), Attr("symbol-info","saveFile 0xDD4 96")), -Annotation(Region(0xE34,0xE9F), Attr("symbol","\"closeFile\"")), -Annotation(Region(0xE34,0xE9F), Attr("symbol-info","closeFile 0xE34 108")), -Annotation(Region(0xEA0,0xEB3), Attr("section","\".fini\"")), -Annotation(Region(0xEA0,0xEB3), Attr("code-region","()")), -Annotation(Region(0xEB8,0x10EF), Attr("section","\".rodata\"")), -Annotation(Region(0x10F0,0x1153), Attr("section","\".eh_frame_hdr\"")), -Annotation(Region(0x1158,0x129F), Attr("section","\".eh_frame\"")), -Annotation(Region(0x11D18,0x1200F), Attr("segment","03 0x11D18 784")), -Annotation(Region(0x11D20,0x11D27), Attr("section","\".fini_array\"")), -Annotation(Region(0x11D28,0x11F27), Attr("section","\".dynamic\"")), -Annotation(Region(0x11F28,0x11FFF), Attr("section","\".got\"")), -Annotation(Region(0x12000,0x1200F), Attr("section","\".data\"")), -Annotation(Region(0x11D18,0x11D1F), Attr("section","\".init_array\""))]), -Program(Tid(4_452, "%00001164"), Attrs([]), - Subs([Sub(Tid(4_402, "@__cxa_finalize"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x930"), -Attr("stub","()")]), "__cxa_finalize", Args([Arg(Tid(4_453, "%00001165"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("__cxa_finalize_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(3_191, "@__cxa_finalize"), - Attrs([Attr("address","0x930")]), Phis([]), -Defs([Def(Tid(3_653, "%00000e45"), Attrs([Attr("address","0x930"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_660, "%00000e4c"), Attrs([Attr("address","0x934"), -Attr("insn","ldr x17, [x16, #0xf50]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3920,64)),LittleEndian(),64)), -Def(Tid(3_666, "%00000e52"), Attrs([Attr("address","0x938"), -Attr("insn","add x16, x16, #0xf50")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3920,64)))]), Jmps([Call(Tid(3_671, "%00000e57"), - Attrs([Attr("address","0x93C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), -Sub(Tid(4_403, "@__do_global_dtors_aux"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xB00")]), - "__do_global_dtors_aux", Args([Arg(Tid(4_454, "%00001166"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("__do_global_dtors_aux_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_434, "@__do_global_dtors_aux"), - Attrs([Attr("address","0xB00")]), Phis([]), -Defs([Def(Tid(1_438, "%0000059e"), Attrs([Attr("address","0xB00"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("#3",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(1_444, "%000005a4"), Attrs([Attr("address","0xB00"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#3",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_450, "%000005aa"), Attrs([Attr("address","0xB00"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#3",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_454, "%000005ae"), Attrs([Attr("address","0xB00"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("R31",Imm(64)), -Var("#3",Imm(64))), Def(Tid(1_460, "%000005b4"), - Attrs([Attr("address","0xB04"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(1_468, "%000005bc"), - Attrs([Attr("address","0xB08"), Attr("insn","str x19, [sp, #0x10]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),Var("R19",Imm(64)),LittleEndian(),64)), -Def(Tid(1_473, "%000005c1"), Attrs([Attr("address","0xB0C"), -Attr("insn","adrp x19, #73728")]), Var("R19",Imm(64)), Int(73728,64)), -Def(Tid(1_480, "%000005c8"), Attrs([Attr("address","0xB10"), -Attr("insn","ldrb w0, [x19, #0x10]")]), Var("R0",Imm(64)), -UNSIGNED(64,Load(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(16,64)),LittleEndian(),8)))]), -Jmps([Goto(Tid(1_487, "%000005cf"), Attrs([Attr("address","0xB14"), -Attr("insn","cbnz w0, #0x28")]), - NEQ(Extract(31,0,Var("R0",Imm(64))),Int(0,32)), -Direct(Tid(1_485, "%000005cd"))), Goto(Tid(4_404, "%00001134"), Attrs([]), - Int(1,1), Direct(Tid(3_136, "%00000c40")))])), Blk(Tid(3_136, "%00000c40"), - Attrs([Attr("address","0xB18")]), Phis([]), -Defs([Def(Tid(3_139, "%00000c43"), Attrs([Attr("address","0xB18"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(3_146, "%00000c4a"), Attrs([Attr("address","0xB1C"), -Attr("insn","ldr x0, [x0, #0xfd0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4048,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(3_152, "%00000c50"), Attrs([Attr("address","0xB20"), -Attr("insn","cbz x0, #0x10")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(3_150, "%00000c4e"))), Goto(Tid(4_405, "%00001135"), Attrs([]), - Int(1,1), Direct(Tid(3_175, "%00000c67")))])), Blk(Tid(3_175, "%00000c67"), - Attrs([Attr("address","0xB24")]), Phis([]), -Defs([Def(Tid(3_178, "%00000c6a"), Attrs([Attr("address","0xB24"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(3_185, "%00000c71"), Attrs([Attr("address","0xB28"), -Attr("insn","ldr x0, [x0, #0x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(3_190, "%00000c76"), Attrs([Attr("address","0xB2C"), -Attr("insn","bl #-0x1fc")]), Var("R30",Imm(64)), Int(2864,64))]), -Jmps([Call(Tid(3_193, "%00000c79"), Attrs([Attr("address","0xB2C"), -Attr("insn","bl #-0x1fc")]), Int(1,1), -(Direct(Tid(4_402, "@__cxa_finalize")),Direct(Tid(3_150, "%00000c4e"))))])), -Blk(Tid(3_150, "%00000c4e"), Attrs([Attr("address","0xB30")]), Phis([]), -Defs([Def(Tid(3_158, "%00000c56"), Attrs([Attr("address","0xB30"), -Attr("insn","bl #-0xa0")]), Var("R30",Imm(64)), Int(2868,64))]), -Jmps([Call(Tid(3_160, "%00000c58"), Attrs([Attr("address","0xB30"), -Attr("insn","bl #-0xa0")]), Int(1,1), -(Direct(Tid(4_418, "@deregister_tm_clones")),Direct(Tid(3_162, "%00000c5a"))))])), -Blk(Tid(3_162, "%00000c5a"), Attrs([Attr("address","0xB34")]), Phis([]), -Defs([Def(Tid(3_165, "%00000c5d"), Attrs([Attr("address","0xB34"), -Attr("insn","mov w0, #0x1")]), Var("R0",Imm(64)), Int(1,64)), -Def(Tid(3_173, "%00000c65"), Attrs([Attr("address","0xB38"), -Attr("insn","strb w0, [x19, #0x10]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(16,64)),Extract(7,0,Var("R0",Imm(64))),LittleEndian(),8))]), -Jmps([Goto(Tid(4_406, "%00001136"), Attrs([]), Int(1,1), -Direct(Tid(1_485, "%000005cd")))])), Blk(Tid(1_485, "%000005cd"), - Attrs([Attr("address","0xB3C")]), Phis([]), -Defs([Def(Tid(1_495, "%000005d7"), Attrs([Attr("address","0xB3C"), -Attr("insn","ldr x19, [sp, #0x10]")]), Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),LittleEndian(),64)), -Def(Tid(1_502, "%000005de"), Attrs([Attr("address","0xB40"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_507, "%000005e3"), Attrs([Attr("address","0xB40"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_511, "%000005e7"), Attrs([Attr("address","0xB40"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(1_516, "%000005ec"), - Attrs([Attr("address","0xB44"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_407, "@__libc_start_main"), - Attrs([Attr("c.proto","signed (*)(signed (*)(signed , char** , char** );* main, signed , char** , \nvoid* auxv)"), -Attr("address","0x920"), Attr("stub","()")]), "__libc_start_main", - Args([Arg(Tid(4_455, "%00001167"), - Attrs([Attr("c.layout","**[ : 64]"), -Attr("c.data","Top:u64 ptr ptr"), -Attr("c.type","signed (*)(signed , char** , char** );*")]), - Var("__libc_start_main_main",Imm(64)), Var("R0",Imm(64)), In()), -Arg(Tid(4_456, "%00001168"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("__libc_start_main_arg2",Imm(32)), LOW(32,Var("R1",Imm(64))), In()), -Arg(Tid(4_457, "%00001169"), Attrs([Attr("c.layout","**[char : 8]"), -Attr("c.data","Top:u8 ptr ptr"), Attr("c.type","char**")]), - Var("__libc_start_main_arg3",Imm(64)), Var("R2",Imm(64)), Both()), -Arg(Tid(4_458, "%0000116a"), Attrs([Attr("c.layout","*[ : 8]"), -Attr("c.data","{} ptr"), Attr("c.type","void*")]), - Var("__libc_start_main_auxv",Imm(64)), Var("R3",Imm(64)), Both()), -Arg(Tid(4_459, "%0000116b"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("__libc_start_main_result",Imm(32)), LOW(32,Var("R0",Imm(64))), -Out())]), Blks([Blk(Tid(1_267, "@__libc_start_main"), - Attrs([Attr("address","0x920")]), Phis([]), -Defs([Def(Tid(3_631, "%00000e2f"), Attrs([Attr("address","0x920"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_638, "%00000e36"), Attrs([Attr("address","0x924"), -Attr("insn","ldr x17, [x16, #0xf48]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3912,64)),LittleEndian(),64)), -Def(Tid(3_644, "%00000e3c"), Attrs([Attr("address","0x928"), -Attr("insn","add x16, x16, #0xf48")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3912,64)))]), Jmps([Call(Tid(3_649, "%00000e41"), - Attrs([Attr("address","0x92C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_408, "@_fini"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xEA0")]), - "_fini", Args([Arg(Tid(4_460, "%0000116c"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_fini_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(31, "@_fini"), - Attrs([Attr("address","0xEA0")]), Phis([]), Defs([Def(Tid(37, "%00000025"), - Attrs([Attr("address","0xEA4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#0",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(43, "%0000002b"), Attrs([Attr("address","0xEA4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#0",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(49, "%00000031"), Attrs([Attr("address","0xEA4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#0",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(53, "%00000035"), Attrs([Attr("address","0xEA4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#0",Imm(64))), Def(Tid(59, "%0000003b"), Attrs([Attr("address","0xEA8"), -Attr("insn","mov x29, sp")]), Var("R29",Imm(64)), Var("R31",Imm(64))), -Def(Tid(66, "%00000042"), Attrs([Attr("address","0xEAC"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(71, "%00000047"), Attrs([Attr("address","0xEAC"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(75, "%0000004b"), Attrs([Attr("address","0xEAC"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(80, "%00000050"), - Attrs([Attr("address","0xEB0"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_409, "@_init"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x8D8")]), - "_init", Args([Arg(Tid(4_461, "%0000116d"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_init_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(3_985, "@_init"), - Attrs([Attr("address","0x8D8")]), Phis([]), -Defs([Def(Tid(3_991, "%00000f97"), Attrs([Attr("address","0x8DC"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#21",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(3_997, "%00000f9d"), Attrs([Attr("address","0x8DC"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#21",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(4_003, "%00000fa3"), Attrs([Attr("address","0x8DC"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#21",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(4_007, "%00000fa7"), Attrs([Attr("address","0x8DC"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#21",Imm(64))), Def(Tid(4_013, "%00000fad"), - Attrs([Attr("address","0x8E0"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(4_018, "%00000fb2"), - Attrs([Attr("address","0x8E4"), Attr("insn","bl #0x190")]), - Var("R30",Imm(64)), Int(2280,64))]), Jmps([Call(Tid(4_020, "%00000fb4"), - Attrs([Attr("address","0x8E4"), Attr("insn","bl #0x190")]), Int(1,1), -(Direct(Tid(4_414, "@call_weak_fn")),Direct(Tid(4_022, "%00000fb6"))))])), -Blk(Tid(4_022, "%00000fb6"), Attrs([Attr("address","0x8E8")]), Phis([]), -Defs([Def(Tid(4_027, "%00000fbb"), Attrs([Attr("address","0x8E8"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(4_032, "%00000fc0"), Attrs([Attr("address","0x8E8"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(4_036, "%00000fc4"), Attrs([Attr("address","0x8E8"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(4_041, "%00000fc9"), - Attrs([Attr("address","0x8EC"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_410, "@_start"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xA40"), -Attr("entry-point","()")]), "_start", Args([Arg(Tid(4_462, "%0000116e"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_start_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_204, "@_start"), - Attrs([Attr("address","0xA40")]), Phis([]), -Defs([Def(Tid(1_209, "%000004b9"), Attrs([Attr("address","0xA44"), -Attr("insn","mov x29, #0x0")]), Var("R29",Imm(64)), Int(0,64)), -Def(Tid(1_214, "%000004be"), Attrs([Attr("address","0xA48"), -Attr("insn","mov x30, #0x0")]), Var("R30",Imm(64)), Int(0,64)), -Def(Tid(1_220, "%000004c4"), Attrs([Attr("address","0xA4C"), -Attr("insn","mov x5, x0")]), Var("R5",Imm(64)), Var("R0",Imm(64))), -Def(Tid(1_227, "%000004cb"), Attrs([Attr("address","0xA50"), -Attr("insn","ldr x1, [sp]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_233, "%000004d1"), Attrs([Attr("address","0xA54"), -Attr("insn","add x2, sp, #0x8")]), Var("R2",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(8,64))), Def(Tid(1_239, "%000004d7"), - Attrs([Attr("address","0xA58"), Attr("insn","mov x6, sp")]), - Var("R6",Imm(64)), Var("R31",Imm(64))), Def(Tid(1_244, "%000004dc"), - Attrs([Attr("address","0xA5C"), Attr("insn","adrp x0, #69632")]), - Var("R0",Imm(64)), Int(69632,64)), Def(Tid(1_251, "%000004e3"), - Attrs([Attr("address","0xA60"), Attr("insn","ldr x0, [x0, #0xff0]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4080,64)),LittleEndian(),64)), -Def(Tid(1_256, "%000004e8"), Attrs([Attr("address","0xA64"), -Attr("insn","mov x3, #0x0")]), Var("R3",Imm(64)), Int(0,64)), -Def(Tid(1_261, "%000004ed"), Attrs([Attr("address","0xA68"), -Attr("insn","mov x4, #0x0")]), Var("R4",Imm(64)), Int(0,64)), -Def(Tid(1_266, "%000004f2"), Attrs([Attr("address","0xA6C"), -Attr("insn","bl #-0x14c")]), Var("R30",Imm(64)), Int(2672,64))]), -Jmps([Call(Tid(1_269, "%000004f5"), Attrs([Attr("address","0xA6C"), -Attr("insn","bl #-0x14c")]), Int(1,1), -(Direct(Tid(4_407, "@__libc_start_main")),Direct(Tid(1_271, "%000004f7"))))])), -Blk(Tid(1_271, "%000004f7"), Attrs([Attr("address","0xA70")]), Phis([]), -Defs([Def(Tid(1_274, "%000004fa"), Attrs([Attr("address","0xA70"), -Attr("insn","bl #-0xd0")]), Var("R30",Imm(64)), Int(2676,64))]), -Jmps([Call(Tid(1_277, "%000004fd"), Attrs([Attr("address","0xA70"), -Attr("insn","bl #-0xd0")]), Int(1,1), -(Direct(Tid(4_413, "@abort")),Direct(Tid(4_411, "%0000113b"))))])), -Blk(Tid(4_411, "%0000113b"), Attrs([]), Phis([]), Defs([]), -Jmps([Call(Tid(4_412, "%0000113c"), Attrs([]), Int(1,1), -(Direct(Tid(4_414, "@call_weak_fn")),))]))])), Sub(Tid(4_413, "@abort"), - Attrs([Attr("noreturn","()"), Attr("c.proto","void (*)(void)"), -Attr("address","0x9A0"), Attr("stub","()")]), "abort", Args([]), -Blks([Blk(Tid(1_275, "@abort"), Attrs([Attr("address","0x9A0")]), Phis([]), -Defs([Def(Tid(3_807, "%00000edf"), Attrs([Attr("address","0x9A0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_814, "%00000ee6"), Attrs([Attr("address","0x9A4"), -Attr("insn","ldr x17, [x16, #0xf88]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3976,64)),LittleEndian(),64)), -Def(Tid(3_820, "%00000eec"), Attrs([Attr("address","0x9A8"), -Attr("insn","add x16, x16, #0xf88")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3976,64)))]), Jmps([Call(Tid(3_825, "%00000ef1"), - Attrs([Attr("address","0x9AC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_414, "@call_weak_fn"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xA74")]), - "call_weak_fn", Args([Arg(Tid(4_463, "%0000116f"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("call_weak_fn_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_279, "@call_weak_fn"), - Attrs([Attr("address","0xA74")]), Phis([]), -Defs([Def(Tid(1_282, "%00000502"), Attrs([Attr("address","0xA74"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(1_289, "%00000509"), Attrs([Attr("address","0xA78"), -Attr("insn","ldr x0, [x0, #0xfe0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4064,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(1_295, "%0000050f"), Attrs([Attr("address","0xA7C"), -Attr("insn","cbz x0, #0x8")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(1_293, "%0000050d"))), Goto(Tid(4_415, "%0000113f"), Attrs([]), - Int(1,1), Direct(Tid(3_255, "%00000cb7")))])), Blk(Tid(1_293, "%0000050d"), - Attrs([Attr("address","0xA84")]), Phis([]), Defs([]), -Jmps([Call(Tid(1_301, "%00000515"), Attrs([Attr("address","0xA84"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(3_255, "%00000cb7"), Attrs([Attr("address","0xA80")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_258, "%00000cba"), Attrs([Attr("address","0xA80"), -Attr("insn","b #-0xf0")]), Int(1,1), -Direct(Tid(3_256, "@__gmon_start__")))])), Blk(Tid(3_256, "@__gmon_start__"), - Attrs([Attr("address","0x990")]), Phis([]), -Defs([Def(Tid(3_785, "%00000ec9"), Attrs([Attr("address","0x990"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_792, "%00000ed0"), Attrs([Attr("address","0x994"), -Attr("insn","ldr x17, [x16, #0xf80]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3968,64)),LittleEndian(),64)), -Def(Tid(3_798, "%00000ed6"), Attrs([Attr("address","0x998"), -Attr("insn","add x16, x16, #0xf80")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3968,64)))]), Jmps([Call(Tid(3_803, "%00000edb"), - Attrs([Attr("address","0x99C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_416, "@closeFile"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xE34")]), - "closeFile", Args([Arg(Tid(4_464, "%00001170"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("closeFile_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_710, "@closeFile"), - Attrs([Attr("address","0xE34")]), Phis([]), -Defs([Def(Tid(2_714, "%00000a9a"), Attrs([Attr("address","0xE34"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#17",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(2_720, "%00000aa0"), Attrs([Attr("address","0xE34"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#17",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(2_726, "%00000aa6"), Attrs([Attr("address","0xE34"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#17",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(2_730, "%00000aaa"), Attrs([Attr("address","0xE34"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#17",Imm(64))), Def(Tid(2_736, "%00000ab0"), - Attrs([Attr("address","0xE38"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(2_741, "%00000ab5"), - Attrs([Attr("address","0xE3C"), Attr("insn","adrp x0, #73728")]), - Var("R0",Imm(64)), Int(73728,64)), Def(Tid(2_747, "%00000abb"), - Attrs([Attr("address","0xE40"), Attr("insn","add x0, x0, #0x20")]), - Var("R0",Imm(64)), PLUS(Var("R0",Imm(64)),Int(32,64))), -Def(Tid(2_754, "%00000ac2"), Attrs([Attr("address","0xE44"), -Attr("insn","ldr x0, [x0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_760, "%00000ac8"), Attrs([Attr("address","0xE48"), -Attr("insn","cmp x0, #0x0")]), Var("#18",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(18446744073709551615,64))), -Def(Tid(2_765, "%00000acd"), Attrs([Attr("address","0xE48"), -Attr("insn","cmp x0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#18",Imm(64)),Int(1,64))),PLUS(SIGNED(65,Var("R0",Imm(64))),Int(0,65)))), -Def(Tid(2_770, "%00000ad2"), Attrs([Attr("address","0xE48"), -Attr("insn","cmp x0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#18",Imm(64)),Int(1,64))),PLUS(UNSIGNED(65,Var("R0",Imm(64))),Int(18446744073709551616,65)))), -Def(Tid(2_774, "%00000ad6"), Attrs([Attr("address","0xE48"), -Attr("insn","cmp x0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#18",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(2_778, "%00000ada"), Attrs([Attr("address","0xE48"), -Attr("insn","cmp x0, #0x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#18",Imm(64)),Int(1,64))))]), -Jmps([Goto(Tid(2_784, "%00000ae0"), Attrs([Attr("address","0xE4C"), -Attr("insn","b.eq #0x48")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(2_782, "%00000ade"))), Goto(Tid(4_417, "%00001141"), Attrs([]), - Int(1,1), Direct(Tid(2_810, "%00000afa")))])), Blk(Tid(2_810, "%00000afa"), - Attrs([Attr("address","0xE50")]), Phis([]), -Defs([Def(Tid(2_813, "%00000afd"), Attrs([Attr("address","0xE50"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(2_819, "%00000b03"), Attrs([Attr("address","0xE54"), -Attr("insn","add x0, x0, #0x20")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(32,64))), Def(Tid(2_826, "%00000b0a"), - Attrs([Attr("address","0xE58"), Attr("insn","ldr x0, [x0]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_831, "%00000b0f"), Attrs([Attr("address","0xE5C"), -Attr("insn","bl #-0x51c")]), Var("R30",Imm(64)), Int(3680,64))]), -Jmps([Call(Tid(2_834, "%00000b12"), Attrs([Attr("address","0xE5C"), -Attr("insn","bl #-0x51c")]), Int(1,1), -(Direct(Tid(4_422, "@fclose")),Direct(Tid(2_836, "%00000b14"))))])), -Blk(Tid(2_836, "%00000b14"), Attrs([Attr("address","0xE60")]), Phis([]), -Defs([Def(Tid(2_839, "%00000b17"), Attrs([Attr("address","0xE60"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(2_845, "%00000b1d"), Attrs([Attr("address","0xE64"), -Attr("insn","add x0, x0, #0x18")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(24,64))), Def(Tid(2_852, "%00000b24"), - Attrs([Attr("address","0xE68"), Attr("insn","ldr x0, [x0]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_857, "%00000b29"), Attrs([Attr("address","0xE6C"), -Attr("insn","bl #-0x49c")]), Var("R30",Imm(64)), Int(3696,64))]), -Jmps([Call(Tid(2_860, "%00000b2c"), Attrs([Attr("address","0xE6C"), -Attr("insn","bl #-0x49c")]), Int(1,1), -(Direct(Tid(4_426, "@free")),Direct(Tid(2_862, "%00000b2e"))))])), -Blk(Tid(2_862, "%00000b2e"), Attrs([Attr("address","0xE70")]), Phis([]), -Defs([Def(Tid(2_865, "%00000b31"), Attrs([Attr("address","0xE70"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(2_871, "%00000b37"), Attrs([Attr("address","0xE74"), -Attr("insn","add x0, x0, #0x20")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(32,64))), Def(Tid(2_878, "%00000b3e"), - Attrs([Attr("address","0xE78"), Attr("insn","str xzr, [x0]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("R0",Imm(64)),Int(0,64),LittleEndian(),64)), -Def(Tid(2_883, "%00000b43"), Attrs([Attr("address","0xE7C"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(2_889, "%00000b49"), Attrs([Attr("address","0xE80"), -Attr("insn","add x0, x0, #0x18")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(24,64))), Def(Tid(2_896, "%00000b50"), - Attrs([Attr("address","0xE84"), Attr("insn","str xzr, [x0]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("R0",Imm(64)),Int(0,64),LittleEndian(),64)), -Def(Tid(2_901, "%00000b55"), Attrs([Attr("address","0xE88"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_907, "%00000b5b"), Attrs([Attr("address","0xE8C"), -Attr("insn","add x0, x0, #0xe0")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(224,64))), Def(Tid(2_912, "%00000b60"), - Attrs([Attr("address","0xE90"), Attr("insn","bl #-0x4e0")]), - Var("R30",Imm(64)), Int(3732,64))]), Jmps([Call(Tid(2_914, "%00000b62"), - Attrs([Attr("address","0xE90"), Attr("insn","bl #-0x4e0")]), Int(1,1), -(Direct(Tid(4_441, "@puts")),Direct(Tid(2_782, "%00000ade"))))])), -Blk(Tid(2_782, "%00000ade"), Attrs([Attr("address","0xE94")]), Phis([]), -Defs([Def(Tid(2_794, "%00000aea"), Attrs([Attr("address","0xE98"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_799, "%00000aef"), Attrs([Attr("address","0xE98"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_803, "%00000af3"), Attrs([Attr("address","0xE98"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(2_808, "%00000af8"), - Attrs([Attr("address","0xE9C"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), -Sub(Tid(4_418, "@deregister_tm_clones"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xA90")]), - "deregister_tm_clones", Args([Arg(Tid(4_465, "%00001171"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("deregister_tm_clones_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_307, "@deregister_tm_clones"), - Attrs([Attr("address","0xA90")]), Phis([]), -Defs([Def(Tid(1_310, "%0000051e"), Attrs([Attr("address","0xA90"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(1_316, "%00000524"), Attrs([Attr("address","0xA94"), -Attr("insn","add x0, x0, #0x10")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(16,64))), Def(Tid(1_321, "%00000529"), - Attrs([Attr("address","0xA98"), Attr("insn","adrp x1, #73728")]), - Var("R1",Imm(64)), Int(73728,64)), Def(Tid(1_327, "%0000052f"), - Attrs([Attr("address","0xA9C"), Attr("insn","add x1, x1, #0x10")]), - Var("R1",Imm(64)), PLUS(Var("R1",Imm(64)),Int(16,64))), -Def(Tid(1_333, "%00000535"), Attrs([Attr("address","0xAA0"), -Attr("insn","cmp x1, x0")]), Var("#1",Imm(64)), NOT(Var("R0",Imm(64)))), -Def(Tid(1_338, "%0000053a"), Attrs([Attr("address","0xAA0"), -Attr("insn","cmp x1, x0")]), Var("#2",Imm(64)), -PLUS(Var("R1",Imm(64)),NOT(Var("R0",Imm(64))))), Def(Tid(1_344, "%00000540"), - Attrs([Attr("address","0xAA0"), Attr("insn","cmp x1, x0")]), - Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#2",Imm(64)),Int(1,64))),PLUS(PLUS(SIGNED(65,Var("R1",Imm(64))),SIGNED(65,Var("#1",Imm(64)))),Int(1,65)))), -Def(Tid(1_350, "%00000546"), Attrs([Attr("address","0xAA0"), -Attr("insn","cmp x1, x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#2",Imm(64)),Int(1,64))),PLUS(PLUS(UNSIGNED(65,Var("R1",Imm(64))),UNSIGNED(65,Var("#1",Imm(64)))),Int(1,65)))), -Def(Tid(1_354, "%0000054a"), Attrs([Attr("address","0xAA0"), -Attr("insn","cmp x1, x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#2",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(1_358, "%0000054e"), Attrs([Attr("address","0xAA0"), -Attr("insn","cmp x1, x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#2",Imm(64)),Int(1,64))))]), -Jmps([Goto(Tid(1_364, "%00000554"), Attrs([Attr("address","0xAA4"), -Attr("insn","b.eq #0x18")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(1_362, "%00000552"))), Goto(Tid(4_419, "%00001143"), Attrs([]), - Int(1,1), Direct(Tid(3_225, "%00000c99")))])), Blk(Tid(3_225, "%00000c99"), - Attrs([Attr("address","0xAA8")]), Phis([]), -Defs([Def(Tid(3_228, "%00000c9c"), Attrs([Attr("address","0xAA8"), -Attr("insn","adrp x1, #69632")]), Var("R1",Imm(64)), Int(69632,64)), -Def(Tid(3_235, "%00000ca3"), Attrs([Attr("address","0xAAC"), -Attr("insn","ldr x1, [x1, #0xfc8]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R1",Imm(64)),Int(4040,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(3_240, "%00000ca8"), Attrs([Attr("address","0xAB0"), -Attr("insn","cbz x1, #0xc")]), EQ(Var("R1",Imm(64)),Int(0,64)), -Direct(Tid(1_362, "%00000552"))), Goto(Tid(4_420, "%00001144"), Attrs([]), - Int(1,1), Direct(Tid(3_244, "%00000cac")))])), Blk(Tid(1_362, "%00000552"), - Attrs([Attr("address","0xABC")]), Phis([]), Defs([]), -Jmps([Call(Tid(1_370, "%0000055a"), Attrs([Attr("address","0xABC"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(3_244, "%00000cac"), Attrs([Attr("address","0xAB4")]), Phis([]), -Defs([Def(Tid(3_248, "%00000cb0"), Attrs([Attr("address","0xAB4"), -Attr("insn","mov x16, x1")]), Var("R16",Imm(64)), Var("R1",Imm(64)))]), -Jmps([Call(Tid(3_253, "%00000cb5"), Attrs([Attr("address","0xAB8"), -Attr("insn","br x16")]), Int(1,1), (Indirect(Var("R16",Imm(64))),))]))])), -Sub(Tid(4_421, "@exit"), Attrs([Attr("noreturn","()"), -Attr("c.proto","void (*)(signed code)"), Attr("address","0x910"), -Attr("stub","()")]), "exit", Args([Arg(Tid(4_466, "%00001172"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("exit_code",Imm(32)), -LOW(32,Var("R0",Imm(64))), In())]), Blks([Blk(Tid(3_049, "@exit"), - Attrs([Attr("address","0x910")]), Phis([]), -Defs([Def(Tid(3_609, "%00000e19"), Attrs([Attr("address","0x910"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_616, "%00000e20"), Attrs([Attr("address","0x914"), -Attr("insn","ldr x17, [x16, #0xf40]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3904,64)),LittleEndian(),64)), -Def(Tid(3_622, "%00000e26"), Attrs([Attr("address","0x918"), -Attr("insn","add x16, x16, #0xf40")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3904,64)))]), Jmps([Call(Tid(3_627, "%00000e2b"), - Attrs([Attr("address","0x91C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_422, "@fclose"), - Attrs([Attr("c.proto","signed (*)(void** fp)"), Attr("address","0x940"), -Attr("stub","()")]), "fclose", Args([Arg(Tid(4_467, "%00001173"), - Attrs([Attr("c.layout","**[ : 8]"), Attr("c.data","{} ptr ptr"), -Attr("c.type","void**")]), Var("fclose_fp",Imm(64)), Var("R0",Imm(64)), -Both()), Arg(Tid(4_468, "%00001174"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("fclose_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_832, "@fclose"), - Attrs([Attr("address","0x940")]), Phis([]), -Defs([Def(Tid(3_675, "%00000e5b"), Attrs([Attr("address","0x940"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_682, "%00000e62"), Attrs([Attr("address","0x944"), -Attr("insn","ldr x17, [x16, #0xf58]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3928,64)),LittleEndian(),64)), -Def(Tid(3_688, "%00000e68"), Attrs([Attr("address","0x948"), -Attr("insn","add x16, x16, #0xf58")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3928,64)))]), Jmps([Call(Tid(3_693, "%00000e6d"), - Attrs([Attr("address","0x94C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_423, "@fgets"), - Attrs([Attr("c.proto","char* (*)(char restrict * s, signed size, void* restrict * stream)"), -Attr("address","0xA00"), Attr("stub","()")]), "fgets", - Args([Arg(Tid(4_469, "%00001175"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type","char restrict *")]), - Var("fgets_s",Imm(64)), Var("R0",Imm(64)), Both()), -Arg(Tid(4_470, "%00001176"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("fgets_size",Imm(32)), LOW(32,Var("R1",Imm(64))), In()), -Arg(Tid(4_471, "%00001177"), Attrs([Attr("c.layout","**[ : 8]"), -Attr("c.data","{} ptr ptr"), Attr("c.type","void* restrict *")]), - Var("fgets_stream",Imm(64)), Var("R2",Imm(64)), Both()), -Arg(Tid(4_472, "%00001178"), Attrs([Attr("warn-unused","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type","char*")]), Var("fgets_result",Imm(64)), Var("R0",Imm(64)), -Out())]), Blks([Blk(Tid(1_645, "@fgets"), Attrs([Attr("address","0xA00")]), - Phis([]), Defs([Def(Tid(3_939, "%00000f63"), Attrs([Attr("address","0xA00"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_946, "%00000f6a"), Attrs([Attr("address","0xA04"), -Attr("insn","ldr x17, [x16, #0xfb8]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(4024,64)),LittleEndian(),64)), -Def(Tid(3_952, "%00000f70"), Attrs([Attr("address","0xA08"), -Attr("insn","add x16, x16, #0xfb8")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(4024,64)))]), Jmps([Call(Tid(3_957, "%00000f75"), - Attrs([Attr("address","0xA0C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_424, "@fopen"), - Attrs([Attr("c.proto","void** (*)( const char restrict * path, const char restrict * mode)"), -Attr("address","0x950"), Attr("stub","()")]), "fopen", - Args([Arg(Tid(4_473, "%00001179"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char restrict *")]), - Var("fopen_path",Imm(64)), Var("R0",Imm(64)), In()), -Arg(Tid(4_474, "%0000117a"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char restrict *")]), - Var("fopen_mode",Imm(64)), Var("R1",Imm(64)), In()), -Arg(Tid(4_475, "%0000117b"), Attrs([Attr("warn-unused","()"), -Attr("c.layout","**[ : 8]"), Attr("c.data","{} ptr ptr"), -Attr("c.type","void**")]), Var("fopen_result",Imm(64)), Var("R0",Imm(64)), -Out())]), Blks([Blk(Tid(2_401, "@fopen"), Attrs([Attr("address","0x950")]), - Phis([]), Defs([Def(Tid(3_697, "%00000e71"), Attrs([Attr("address","0x950"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_704, "%00000e78"), Attrs([Attr("address","0x954"), -Attr("insn","ldr x17, [x16, #0xf60]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3936,64)),LittleEndian(),64)), -Def(Tid(3_710, "%00000e7e"), Attrs([Attr("address","0x958"), -Attr("insn","add x16, x16, #0xf60")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3936,64)))]), Jmps([Call(Tid(3_715, "%00000e83"), - Attrs([Attr("address","0x95C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_425, "@frame_dummy"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xB50")]), - "frame_dummy", Args([Arg(Tid(4_476, "%0000117c"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("frame_dummy_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_522, "@frame_dummy"), - Attrs([Attr("address","0xB50")]), Phis([]), Defs([]), -Jmps([Call(Tid(1_524, "%000005f4"), Attrs([Attr("address","0xB50"), -Attr("insn","b #-0x90")]), Int(1,1), -(Direct(Tid(4_442, "@register_tm_clones")),))]))])), Sub(Tid(4_426, "@free"), - Attrs([Attr("c.proto","void (*)(void* ptr)"), Attr("address","0x9D0"), -Attr("stub","()")]), "free", Args([Arg(Tid(4_477, "%0000117d"), - Attrs([Attr("c.layout","*[ : 8]"), Attr("c.data","{} ptr"), -Attr("c.type","void*")]), Var("free_ptr",Imm(64)), Var("R0",Imm(64)), -Both())]), Blks([Blk(Tid(2_858, "@free"), Attrs([Attr("address","0x9D0")]), - Phis([]), Defs([Def(Tid(3_873, "%00000f21"), Attrs([Attr("address","0x9D0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_880, "%00000f28"), Attrs([Attr("address","0x9D4"), -Attr("insn","ldr x17, [x16, #0xfa0]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(4000,64)),LittleEndian(),64)), -Def(Tid(3_886, "%00000f2e"), Attrs([Attr("address","0x9D8"), -Attr("insn","add x16, x16, #0xfa0")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(4000,64)))]), Jmps([Call(Tid(3_891, "%00000f33"), - Attrs([Attr("address","0x9DC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_427, "@handleInput"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xBC4")]), - "handleInput", Args([Arg(Tid(4_478, "%0000117e"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("handleInput_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_710, "@handleInput"), - Attrs([Attr("address","0xBC4")]), Phis([]), -Defs([Def(Tid(1_717, "%000006b5"), Attrs([Attr("address","0xBC4"), -Attr("insn","stp x29, x30, [sp, #-0x30]!")]), Var("#5",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551568,64))), -Def(Tid(1_723, "%000006bb"), Attrs([Attr("address","0xBC4"), -Attr("insn","stp x29, x30, [sp, #-0x30]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#5",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_729, "%000006c1"), Attrs([Attr("address","0xBC4"), -Attr("insn","stp x29, x30, [sp, #-0x30]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#5",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_733, "%000006c5"), Attrs([Attr("address","0xBC4"), -Attr("insn","stp x29, x30, [sp, #-0x30]!")]), Var("R31",Imm(64)), -Var("#5",Imm(64))), Def(Tid(1_739, "%000006cb"), - Attrs([Attr("address","0xBC8"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(1_747, "%000006d3"), - Attrs([Attr("address","0xBCC"), Attr("insn","str x0, [sp, #0x18]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(24,64)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(1_752, "%000006d8"), Attrs([Attr("address","0xBD0"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_758, "%000006de"), Attrs([Attr("address","0xBD4"), -Attr("insn","add x1, x0, #0xee0")]), Var("R1",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3808,64))), Def(Tid(1_765, "%000006e5"), - Attrs([Attr("address","0xBD8"), Attr("insn","ldr x0, [sp, #0x18]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(24,64)),LittleEndian(),64)), -Def(Tid(1_770, "%000006ea"), Attrs([Attr("address","0xBDC"), -Attr("insn","bl #-0x21c")]), Var("R30",Imm(64)), Int(3040,64))]), -Jmps([Call(Tid(1_773, "%000006ed"), Attrs([Attr("address","0xBDC"), -Attr("insn","bl #-0x21c")]), Int(1,1), -(Direct(Tid(4_448, "@strcmp")),Direct(Tid(1_775, "%000006ef"))))])), -Blk(Tid(1_775, "%000006ef"), Attrs([Attr("address","0xBE0")]), Phis([]), -Defs([Def(Tid(1_779, "%000006f3"), Attrs([Attr("address","0xBE0"), -Attr("insn","cmp w0, #0x0")]), Var("#6",Imm(32)), -PLUS(Extract(31,0,Var("R0",Imm(64))),Int(4294967295,32))), -Def(Tid(1_784, "%000006f8"), Attrs([Attr("address","0xBE0"), -Attr("insn","cmp w0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(33,PLUS(Var("#6",Imm(32)),Int(1,32))),PLUS(SIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(0,33)))), -Def(Tid(1_789, "%000006fd"), Attrs([Attr("address","0xBE0"), -Attr("insn","cmp w0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(33,PLUS(Var("#6",Imm(32)),Int(1,32))),PLUS(UNSIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(4294967296,33)))), -Def(Tid(1_793, "%00000701"), Attrs([Attr("address","0xBE0"), -Attr("insn","cmp w0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#6",Imm(32)),Int(1,32)),Int(0,32))), -Def(Tid(1_797, "%00000705"), Attrs([Attr("address","0xBE0"), -Attr("insn","cmp w0, #0x0")]), Var("NF",Imm(1)), -Extract(31,31,PLUS(Var("#6",Imm(32)),Int(1,32))))]), -Jmps([Goto(Tid(1_803, "%0000070b"), Attrs([Attr("address","0xBE4"), -Attr("insn","b.ne #0xc")]), NEQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(1_801, "%00000709"))), Goto(Tid(4_428, "%0000114c"), Attrs([]), - Int(1,1), Direct(Tid(3_121, "%00000c31")))])), Blk(Tid(1_801, "%00000709"), - Attrs([Attr("address","0xBF0")]), Phis([]), -Defs([Def(Tid(1_809, "%00000711"), Attrs([Attr("address","0xBF0"), -Attr("insn","mov w2, #0x5")]), Var("R2",Imm(64)), Int(5,64)), -Def(Tid(1_814, "%00000716"), Attrs([Attr("address","0xBF4"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_820, "%0000071c"), Attrs([Attr("address","0xBF8"), -Attr("insn","add x1, x0, #0xee8")]), Var("R1",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3816,64))), Def(Tid(1_827, "%00000723"), - Attrs([Attr("address","0xBFC"), Attr("insn","ldr x0, [sp, #0x18]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(24,64)),LittleEndian(),64)), -Def(Tid(1_832, "%00000728"), Attrs([Attr("address","0xC00"), -Attr("insn","bl #-0x2a0")]), Var("R30",Imm(64)), Int(3076,64))]), -Jmps([Call(Tid(1_835, "%0000072b"), Attrs([Attr("address","0xC00"), -Attr("insn","bl #-0x2a0")]), Int(1,1), -(Direct(Tid(4_451, "@strncmp")),Direct(Tid(1_837, "%0000072d"))))])), -Blk(Tid(1_837, "%0000072d"), Attrs([Attr("address","0xC04")]), Phis([]), -Defs([Def(Tid(1_841, "%00000731"), Attrs([Attr("address","0xC04"), -Attr("insn","cmp w0, #0x0")]), Var("#7",Imm(32)), -PLUS(Extract(31,0,Var("R0",Imm(64))),Int(4294967295,32))), -Def(Tid(1_846, "%00000736"), Attrs([Attr("address","0xC04"), -Attr("insn","cmp w0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(33,PLUS(Var("#7",Imm(32)),Int(1,32))),PLUS(SIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(0,33)))), -Def(Tid(1_851, "%0000073b"), Attrs([Attr("address","0xC04"), -Attr("insn","cmp w0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(33,PLUS(Var("#7",Imm(32)),Int(1,32))),PLUS(UNSIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(4294967296,33)))), -Def(Tid(1_855, "%0000073f"), Attrs([Attr("address","0xC04"), -Attr("insn","cmp w0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#7",Imm(32)),Int(1,32)),Int(0,32))), -Def(Tid(1_859, "%00000743"), Attrs([Attr("address","0xC04"), -Attr("insn","cmp w0, #0x0")]), Var("NF",Imm(1)), -Extract(31,31,PLUS(Var("#7",Imm(32)),Int(1,32))))]), -Jmps([Goto(Tid(1_865, "%00000749"), Attrs([Attr("address","0xC08"), -Attr("insn","b.ne #0x1c")]), NEQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(1_863, "%00000747"))), Goto(Tid(4_429, "%0000114d"), Attrs([]), - Int(1,1), Direct(Tid(3_082, "%00000c0a")))])), Blk(Tid(1_863, "%00000747"), - Attrs([Attr("address","0xC24")]), Phis([]), -Defs([Def(Tid(1_871, "%0000074f"), Attrs([Attr("address","0xC24"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_877, "%00000755"), Attrs([Attr("address","0xC28"), -Attr("insn","add x1, x0, #0xef0")]), Var("R1",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3824,64))), Def(Tid(1_884, "%0000075c"), - Attrs([Attr("address","0xC2C"), Attr("insn","ldr x0, [sp, #0x18]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(24,64)),LittleEndian(),64)), -Def(Tid(1_889, "%00000761"), Attrs([Attr("address","0xC30"), -Attr("insn","bl #-0x270")]), Var("R30",Imm(64)), Int(3124,64))]), -Jmps([Call(Tid(1_891, "%00000763"), Attrs([Attr("address","0xC30"), -Attr("insn","bl #-0x270")]), Int(1,1), -(Direct(Tid(4_448, "@strcmp")),Direct(Tid(1_893, "%00000765"))))])), -Blk(Tid(1_893, "%00000765"), Attrs([Attr("address","0xC34")]), Phis([]), -Defs([Def(Tid(1_897, "%00000769"), Attrs([Attr("address","0xC34"), -Attr("insn","cmp w0, #0x0")]), Var("#8",Imm(32)), -PLUS(Extract(31,0,Var("R0",Imm(64))),Int(4294967295,32))), -Def(Tid(1_902, "%0000076e"), Attrs([Attr("address","0xC34"), -Attr("insn","cmp w0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(33,PLUS(Var("#8",Imm(32)),Int(1,32))),PLUS(SIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(0,33)))), -Def(Tid(1_907, "%00000773"), Attrs([Attr("address","0xC34"), -Attr("insn","cmp w0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(33,PLUS(Var("#8",Imm(32)),Int(1,32))),PLUS(UNSIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(4294967296,33)))), -Def(Tid(1_911, "%00000777"), Attrs([Attr("address","0xC34"), -Attr("insn","cmp w0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#8",Imm(32)),Int(1,32)),Int(0,32))), -Def(Tid(1_915, "%0000077b"), Attrs([Attr("address","0xC34"), -Attr("insn","cmp w0, #0x0")]), Var("NF",Imm(1)), -Extract(31,31,PLUS(Var("#8",Imm(32)),Int(1,32))))]), -Jmps([Goto(Tid(1_921, "%00000781"), Attrs([Attr("address","0xC38"), -Attr("insn","b.ne #0xc")]), NEQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(1_919, "%0000077f"))), Goto(Tid(4_430, "%0000114e"), Attrs([]), - Int(1,1), Direct(Tid(3_071, "%00000bff")))])), Blk(Tid(1_919, "%0000077f"), - Attrs([Attr("address","0xC44")]), Phis([]), -Defs([Def(Tid(1_927, "%00000787"), Attrs([Attr("address","0xC44"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_933, "%0000078d"), Attrs([Attr("address","0xC48"), -Attr("insn","add x1, x0, #0xef8")]), Var("R1",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3832,64))), Def(Tid(1_940, "%00000794"), - Attrs([Attr("address","0xC4C"), Attr("insn","ldr x0, [sp, #0x18]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(24,64)),LittleEndian(),64)), -Def(Tid(1_945, "%00000799"), Attrs([Attr("address","0xC50"), -Attr("insn","bl #-0x290")]), Var("R30",Imm(64)), Int(3156,64))]), -Jmps([Call(Tid(1_947, "%0000079b"), Attrs([Attr("address","0xC50"), -Attr("insn","bl #-0x290")]), Int(1,1), -(Direct(Tid(4_448, "@strcmp")),Direct(Tid(1_949, "%0000079d"))))])), -Blk(Tid(1_949, "%0000079d"), Attrs([Attr("address","0xC54")]), Phis([]), -Defs([Def(Tid(1_953, "%000007a1"), Attrs([Attr("address","0xC54"), -Attr("insn","cmp w0, #0x0")]), Var("#9",Imm(32)), -PLUS(Extract(31,0,Var("R0",Imm(64))),Int(4294967295,32))), -Def(Tid(1_958, "%000007a6"), Attrs([Attr("address","0xC54"), -Attr("insn","cmp w0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(33,PLUS(Var("#9",Imm(32)),Int(1,32))),PLUS(SIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(0,33)))), -Def(Tid(1_963, "%000007ab"), Attrs([Attr("address","0xC54"), -Attr("insn","cmp w0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(33,PLUS(Var("#9",Imm(32)),Int(1,32))),PLUS(UNSIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(4294967296,33)))), -Def(Tid(1_967, "%000007af"), Attrs([Attr("address","0xC54"), -Attr("insn","cmp w0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#9",Imm(32)),Int(1,32)),Int(0,32))), -Def(Tid(1_971, "%000007b3"), Attrs([Attr("address","0xC54"), -Attr("insn","cmp w0, #0x0")]), Var("NF",Imm(1)), -Extract(31,31,PLUS(Var("#9",Imm(32)),Int(1,32))))]), -Jmps([Goto(Tid(1_977, "%000007b9"), Attrs([Attr("address","0xC58"), -Attr("insn","b.ne #0xc")]), NEQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(1_975, "%000007b7"))), Goto(Tid(4_431, "%0000114f"), Attrs([]), - Int(1,1), Direct(Tid(3_060, "%00000bf4")))])), Blk(Tid(1_975, "%000007b7"), - Attrs([Attr("address","0xC64")]), Phis([]), -Defs([Def(Tid(1_983, "%000007bf"), Attrs([Attr("address","0xC64"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_989, "%000007c5"), Attrs([Attr("address","0xC68"), -Attr("insn","add x1, x0, #0xf00")]), Var("R1",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3840,64))), Def(Tid(1_996, "%000007cc"), - Attrs([Attr("address","0xC6C"), Attr("insn","ldr x0, [sp, #0x18]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(24,64)),LittleEndian(),64)), -Def(Tid(2_001, "%000007d1"), Attrs([Attr("address","0xC70"), -Attr("insn","bl #-0x2b0")]), Var("R30",Imm(64)), Int(3188,64))]), -Jmps([Call(Tid(2_003, "%000007d3"), Attrs([Attr("address","0xC70"), -Attr("insn","bl #-0x2b0")]), Int(1,1), -(Direct(Tid(4_448, "@strcmp")),Direct(Tid(2_005, "%000007d5"))))])), -Blk(Tid(2_005, "%000007d5"), Attrs([Attr("address","0xC74")]), Phis([]), -Defs([Def(Tid(2_009, "%000007d9"), Attrs([Attr("address","0xC74"), -Attr("insn","cmp w0, #0x0")]), Var("#10",Imm(32)), -PLUS(Extract(31,0,Var("R0",Imm(64))),Int(4294967295,32))), -Def(Tid(2_014, "%000007de"), Attrs([Attr("address","0xC74"), -Attr("insn","cmp w0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(33,PLUS(Var("#10",Imm(32)),Int(1,32))),PLUS(SIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(0,33)))), -Def(Tid(2_019, "%000007e3"), Attrs([Attr("address","0xC74"), -Attr("insn","cmp w0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(33,PLUS(Var("#10",Imm(32)),Int(1,32))),PLUS(UNSIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(4294967296,33)))), -Def(Tid(2_023, "%000007e7"), Attrs([Attr("address","0xC74"), -Attr("insn","cmp w0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#10",Imm(32)),Int(1,32)),Int(0,32))), -Def(Tid(2_027, "%000007eb"), Attrs([Attr("address","0xC74"), -Attr("insn","cmp w0, #0x0")]), Var("NF",Imm(1)), -Extract(31,31,PLUS(Var("#10",Imm(32)),Int(1,32))))]), -Jmps([Goto(Tid(2_033, "%000007f1"), Attrs([Attr("address","0xC78"), -Attr("insn","b.ne #0x24")]), NEQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(2_031, "%000007ef"))), Goto(Tid(4_432, "%00001150"), Attrs([]), - Int(1,1), Direct(Tid(2_991, "%00000baf")))])), Blk(Tid(2_991, "%00000baf"), - Attrs([Attr("address","0xC7C")]), Phis([]), -Defs([Def(Tid(2_994, "%00000bb2"), Attrs([Attr("address","0xC7C"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(3_000, "%00000bb8"), Attrs([Attr("address","0xC80"), -Attr("insn","add x0, x0, #0x20")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(32,64))), Def(Tid(3_007, "%00000bbf"), - Attrs([Attr("address","0xC84"), Attr("insn","ldr x0, [x0]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(3_013, "%00000bc5"), Attrs([Attr("address","0xC88"), -Attr("insn","cmp x0, #0x0")]), Var("#19",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(18446744073709551615,64))), -Def(Tid(3_018, "%00000bca"), Attrs([Attr("address","0xC88"), -Attr("insn","cmp x0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#19",Imm(64)),Int(1,64))),PLUS(SIGNED(65,Var("R0",Imm(64))),Int(0,65)))), -Def(Tid(3_023, "%00000bcf"), Attrs([Attr("address","0xC88"), -Attr("insn","cmp x0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#19",Imm(64)),Int(1,64))),PLUS(UNSIGNED(65,Var("R0",Imm(64))),Int(18446744073709551616,65)))), -Def(Tid(3_027, "%00000bd3"), Attrs([Attr("address","0xC88"), -Attr("insn","cmp x0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#19",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(3_031, "%00000bd7"), Attrs([Attr("address","0xC88"), -Attr("insn","cmp x0, #0x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#19",Imm(64)),Int(1,64))))]), -Jmps([Goto(Tid(3_037, "%00000bdd"), Attrs([Attr("address","0xC8C"), -Attr("insn","b.eq #0x8")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(3_035, "%00000bdb"))), Goto(Tid(4_433, "%00001151"), Attrs([]), - Int(1,1), Direct(Tid(3_053, "%00000bed")))])), Blk(Tid(3_053, "%00000bed"), - Attrs([Attr("address","0xC90")]), Phis([]), -Defs([Def(Tid(3_056, "%00000bf0"), Attrs([Attr("address","0xC90"), -Attr("insn","bl #0x1a4")]), Var("R30",Imm(64)), Int(3220,64))]), -Jmps([Call(Tid(3_058, "%00000bf2"), Attrs([Attr("address","0xC90"), -Attr("insn","bl #0x1a4")]), Int(1,1), -(Direct(Tid(4_416, "@closeFile")),Direct(Tid(3_035, "%00000bdb"))))])), -Blk(Tid(3_035, "%00000bdb"), Attrs([Attr("address","0xC94")]), Phis([]), -Defs([Def(Tid(3_043, "%00000be3"), Attrs([Attr("address","0xC94"), -Attr("insn","mov w0, #0x0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(3_048, "%00000be8"), Attrs([Attr("address","0xC98"), -Attr("insn","bl #-0x388")]), Var("R30",Imm(64)), Int(3228,64))]), -Jmps([Call(Tid(3_051, "%00000beb"), Attrs([Attr("address","0xC98"), -Attr("insn","bl #-0x388")]), Int(1,1), -(Direct(Tid(4_421, "@exit")),Direct(Tid(2_031, "%000007ef"))))])), -Blk(Tid(2_031, "%000007ef"), Attrs([Attr("address","0xC9C")]), Phis([]), -Defs([Def(Tid(2_039, "%000007f7"), Attrs([Attr("address","0xC9C"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_045, "%000007fd"), Attrs([Attr("address","0xCA0"), -Attr("insn","add x0, x0, #0xf08")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3848,64))), Def(Tid(2_050, "%00000802"), - Attrs([Attr("address","0xCA4"), Attr("insn","bl #-0x2f4")]), - Var("R30",Imm(64)), Int(3240,64))]), Jmps([Call(Tid(2_053, "%00000805"), - Attrs([Attr("address","0xCA4"), Attr("insn","bl #-0x2f4")]), Int(1,1), -(Direct(Tid(4_441, "@puts")),Direct(Tid(2_055, "%00000807"))))])), -Blk(Tid(3_060, "%00000bf4"), Attrs([Attr("address","0xC5C")]), Phis([]), -Defs([Def(Tid(3_063, "%00000bf7"), Attrs([Attr("address","0xC5C"), -Attr("insn","bl #0x1d8")]), Var("R30",Imm(64)), Int(3168,64))]), -Jmps([Call(Tid(3_065, "%00000bf9"), Attrs([Attr("address","0xC5C"), -Attr("insn","bl #0x1d8")]), Int(1,1), -(Direct(Tid(4_416, "@closeFile")),Direct(Tid(3_067, "%00000bfb"))))])), -Blk(Tid(3_067, "%00000bfb"), Attrs([Attr("address","0xC60")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_069, "%00000bfd"), Attrs([Attr("address","0xC60"), -Attr("insn","b #0x48")]), Int(1,1), Direct(Tid(2_055, "%00000807")))])), -Blk(Tid(3_071, "%00000bff"), Attrs([Attr("address","0xC3C")]), Phis([]), -Defs([Def(Tid(3_074, "%00000c02"), Attrs([Attr("address","0xC3C"), -Attr("insn","bl #0x198")]), Var("R30",Imm(64)), Int(3136,64))]), -Jmps([Call(Tid(3_076, "%00000c04"), Attrs([Attr("address","0xC3C"), -Attr("insn","bl #0x198")]), Int(1,1), -(Direct(Tid(4_446, "@saveFile")),Direct(Tid(3_078, "%00000c06"))))])), -Blk(Tid(3_078, "%00000c06"), Attrs([Attr("address","0xC40")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_080, "%00000c08"), Attrs([Attr("address","0xC40"), -Attr("insn","b #0x68")]), Int(1,1), Direct(Tid(2_055, "%00000807")))])), -Blk(Tid(3_082, "%00000c0a"), Attrs([Attr("address","0xC0C")]), Phis([]), -Defs([Def(Tid(3_087, "%00000c0f"), Attrs([Attr("address","0xC0C"), -Attr("insn","ldr x0, [sp, #0x18]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(24,64)),LittleEndian(),64)), -Def(Tid(3_093, "%00000c15"), Attrs([Attr("address","0xC10"), -Attr("insn","add x0, x0, #0x5")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(5,64))), Def(Tid(3_101, "%00000c1d"), - Attrs([Attr("address","0xC14"), Attr("insn","str x0, [sp, #0x28]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(40,64)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(3_108, "%00000c24"), Attrs([Attr("address","0xC18"), -Attr("insn","ldr x0, [sp, #0x28]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(40,64)),LittleEndian(),64)), -Def(Tid(3_113, "%00000c29"), Attrs([Attr("address","0xC1C"), -Attr("insn","bl #0xf4")]), Var("R30",Imm(64)), Int(3104,64))]), -Jmps([Call(Tid(3_115, "%00000c2b"), Attrs([Attr("address","0xC1C"), -Attr("insn","bl #0xf4")]), Int(1,1), -(Direct(Tid(4_436, "@openFile")),Direct(Tid(3_117, "%00000c2d"))))])), -Blk(Tid(3_117, "%00000c2d"), Attrs([Attr("address","0xC20")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_119, "%00000c2f"), Attrs([Attr("address","0xC20"), -Attr("insn","b #0x88")]), Int(1,1), Direct(Tid(2_055, "%00000807")))])), -Blk(Tid(3_121, "%00000c31"), Attrs([Attr("address","0xBE8")]), Phis([]), -Defs([Def(Tid(3_124, "%00000c34"), Attrs([Attr("address","0xBE8"), -Attr("insn","bl #0xcc")]), Var("R30",Imm(64)), Int(3052,64))]), -Jmps([Call(Tid(3_126, "%00000c36"), Attrs([Attr("address","0xBE8"), -Attr("insn","bl #0xcc")]), Int(1,1), -(Direct(Tid(4_439, "@printHelp")),Direct(Tid(3_128, "%00000c38"))))])), -Blk(Tid(3_128, "%00000c38"), Attrs([Attr("address","0xBEC")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_130, "%00000c3a"), Attrs([Attr("address","0xBEC"), -Attr("insn","b #0xbc")]), Int(1,1), Direct(Tid(2_055, "%00000807")))])), -Blk(Tid(2_055, "%00000807"), Attrs([Attr("address","0xCA8")]), Phis([]), -Defs([Def(Tid(2_062, "%0000080e"), Attrs([Attr("address","0xCAC"), -Attr("insn","ldp x29, x30, [sp], #0x30")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_067, "%00000813"), Attrs([Attr("address","0xCAC"), -Attr("insn","ldp x29, x30, [sp], #0x30")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_071, "%00000817"), Attrs([Attr("address","0xCAC"), -Attr("insn","ldp x29, x30, [sp], #0x30")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(48,64)))]), Jmps([Call(Tid(2_076, "%0000081c"), - Attrs([Attr("address","0xCB0"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_434, "@main"), - Attrs([Attr("c.proto","signed (*)(signed argc, const char** argv)"), -Attr("address","0xB54")]), "main", Args([Arg(Tid(4_479, "%0000117f"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("main_argc",Imm(32)), -LOW(32,Var("R0",Imm(64))), In()), Arg(Tid(4_480, "%00001180"), - Attrs([Attr("c.layout","**[char : 8]"), Attr("c.data","Top:u8 ptr ptr"), -Attr("c.type"," const char**")]), Var("main_argv",Imm(64)), -Var("R1",Imm(64)), Both()), Arg(Tid(4_481, "%00001181"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("main_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_526, "@main"), - Attrs([Attr("address","0xB54")]), Phis([]), -Defs([Def(Tid(1_530, "%000005fa"), Attrs([Attr("address","0xB54"), -Attr("insn","stp x29, x30, [sp, #-0x120]!")]), Var("#4",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551328,64))), -Def(Tid(1_536, "%00000600"), Attrs([Attr("address","0xB54"), -Attr("insn","stp x29, x30, [sp, #-0x120]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#4",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_542, "%00000606"), Attrs([Attr("address","0xB54"), -Attr("insn","stp x29, x30, [sp, #-0x120]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#4",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_546, "%0000060a"), Attrs([Attr("address","0xB54"), -Attr("insn","stp x29, x30, [sp, #-0x120]!")]), Var("R31",Imm(64)), -Var("#4",Imm(64))), Def(Tid(1_552, "%00000610"), - Attrs([Attr("address","0xB58"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(1_557, "%00000615"), - Attrs([Attr("address","0xB5C"), Attr("insn","adrp x0, #69632")]), - Var("R0",Imm(64)), Int(69632,64)), Def(Tid(1_564, "%0000061c"), - Attrs([Attr("address","0xB60"), Attr("insn","ldr x0, [x0, #0xfe8]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4072,64)),LittleEndian(),64)), -Def(Tid(1_571, "%00000623"), Attrs([Attr("address","0xB64"), -Attr("insn","ldr x1, [x0]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(1_579, "%0000062b"), Attrs([Attr("address","0xB68"), -Attr("insn","str x1, [sp, #0x118]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(280,64)),Var("R1",Imm(64)),LittleEndian(),64)), -Def(Tid(1_584, "%00000630"), Attrs([Attr("address","0xB6C"), -Attr("insn","mov x1, #0x0")]), Var("R1",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(4_435, "%00001153"), Attrs([]), Int(1,1), -Direct(Tid(1_586, "%00000632")))])), Blk(Tid(1_586, "%00000632"), - Attrs([Attr("address","0xB70")]), Phis([]), -Defs([Def(Tid(1_589, "%00000635"), Attrs([Attr("address","0xB70"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_595, "%0000063b"), Attrs([Attr("address","0xB74"), -Attr("insn","add x0, x0, #0xec0")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3776,64))), Def(Tid(1_600, "%00000640"), - Attrs([Attr("address","0xB78"), Attr("insn","bl #-0x188")]), - Var("R30",Imm(64)), Int(2940,64))]), Jmps([Call(Tid(1_603, "%00000643"), - Attrs([Attr("address","0xB78"), Attr("insn","bl #-0x188")]), Int(1,1), -(Direct(Tid(4_440, "@printf")),Direct(Tid(1_605, "%00000645"))))])), -Blk(Tid(1_605, "%00000645"), Attrs([Attr("address","0xB7C")]), Phis([]), -Defs([Def(Tid(1_608, "%00000648"), Attrs([Attr("address","0xB7C"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(1_615, "%0000064f"), Attrs([Attr("address","0xB80"), -Attr("insn","ldr x0, [x0, #0xfd8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4056,64)),LittleEndian(),64)), -Def(Tid(1_622, "%00000656"), Attrs([Attr("address","0xB84"), -Attr("insn","ldr x1, [x0]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(1_628, "%0000065c"), Attrs([Attr("address","0xB88"), -Attr("insn","add x0, sp, #0x18")]), Var("R0",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(24,64))), Def(Tid(1_634, "%00000662"), - Attrs([Attr("address","0xB8C"), Attr("insn","mov x2, x1")]), - Var("R2",Imm(64)), Var("R1",Imm(64))), Def(Tid(1_639, "%00000667"), - Attrs([Attr("address","0xB90"), Attr("insn","mov w1, #0x100")]), - Var("R1",Imm(64)), Int(256,64)), Def(Tid(1_644, "%0000066c"), - Attrs([Attr("address","0xB94"), Attr("insn","bl #-0x194")]), - Var("R30",Imm(64)), Int(2968,64))]), Jmps([Call(Tid(1_647, "%0000066f"), - Attrs([Attr("address","0xB94"), Attr("insn","bl #-0x194")]), Int(1,1), -(Direct(Tid(4_423, "@fgets")),Direct(Tid(1_649, "%00000671"))))])), -Blk(Tid(1_649, "%00000671"), Attrs([Attr("address","0xB98")]), Phis([]), -Defs([Def(Tid(1_653, "%00000675"), Attrs([Attr("address","0xB98"), -Attr("insn","add x2, sp, #0x18")]), Var("R2",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(24,64))), Def(Tid(1_658, "%0000067a"), - Attrs([Attr("address","0xB9C"), Attr("insn","adrp x0, #0")]), - Var("R0",Imm(64)), Int(0,64)), Def(Tid(1_664, "%00000680"), - Attrs([Attr("address","0xBA0"), Attr("insn","add x1, x0, #0xed8")]), - Var("R1",Imm(64)), PLUS(Var("R0",Imm(64)),Int(3800,64))), -Def(Tid(1_670, "%00000686"), Attrs([Attr("address","0xBA4"), -Attr("insn","mov x0, x2")]), Var("R0",Imm(64)), Var("R2",Imm(64))), -Def(Tid(1_675, "%0000068b"), Attrs([Attr("address","0xBA8"), -Attr("insn","bl #-0x1c8")]), Var("R30",Imm(64)), Int(2988,64))]), -Jmps([Call(Tid(1_678, "%0000068e"), Attrs([Attr("address","0xBA8"), -Attr("insn","bl #-0x1c8")]), Int(1,1), -(Direct(Tid(4_449, "@strcspn")),Direct(Tid(1_680, "%00000690"))))])), -Blk(Tid(1_680, "%00000690"), Attrs([Attr("address","0xBAC")]), Phis([]), -Defs([Def(Tid(1_684, "%00000694"), Attrs([Attr("address","0xBAC"), -Attr("insn","mov x1, x0")]), Var("R1",Imm(64)), Var("R0",Imm(64))), -Def(Tid(1_690, "%0000069a"), Attrs([Attr("address","0xBB0"), -Attr("insn","add x0, sp, #0x18")]), Var("R0",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(24,64))), Def(Tid(1_698, "%000006a2"), - Attrs([Attr("address","0xBB4"), Attr("insn","strb wzr, [x0, x1]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Var("R1",Imm(64))),Int(0,8),LittleEndian(),8)), -Def(Tid(1_704, "%000006a8"), Attrs([Attr("address","0xBB8"), -Attr("insn","add x0, sp, #0x18")]), Var("R0",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(24,64))), Def(Tid(1_709, "%000006ad"), - Attrs([Attr("address","0xBBC"), Attr("insn","bl #0x8")]), - Var("R30",Imm(64)), Int(3008,64))]), Jmps([Call(Tid(1_712, "%000006b0"), - Attrs([Attr("address","0xBBC"), Attr("insn","bl #0x8")]), Int(1,1), -(Direct(Tid(4_427, "@handleInput")),Direct(Tid(3_132, "%00000c3c"))))])), -Blk(Tid(3_132, "%00000c3c"), Attrs([Attr("address","0xBC0")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_134, "%00000c3e"), Attrs([Attr("address","0xBC0"), -Attr("insn","b #-0x50")]), Int(1,1), Direct(Tid(1_586, "%00000632")))]))])), -Sub(Tid(4_436, "@openFile"), Attrs([Attr("c.proto","signed (*)(void)"), -Attr("address","0xD10")]), "openFile", Args([Arg(Tid(4_482, "%00001182"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("openFile_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_237, "@openFile"), - Attrs([Attr("address","0xD10")]), Phis([]), -Defs([Def(Tid(2_241, "%000008c1"), Attrs([Attr("address","0xD10"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("#12",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(2_247, "%000008c7"), Attrs([Attr("address","0xD10"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#12",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(2_253, "%000008cd"), Attrs([Attr("address","0xD10"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#12",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(2_257, "%000008d1"), Attrs([Attr("address","0xD10"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("R31",Imm(64)), -Var("#12",Imm(64))), Def(Tid(2_263, "%000008d7"), - Attrs([Attr("address","0xD14"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(2_271, "%000008df"), - Attrs([Attr("address","0xD18"), Attr("insn","str x0, [sp, #0x18]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(24,64)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_276, "%000008e4"), Attrs([Attr("address","0xD1C"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(2_282, "%000008ea"), Attrs([Attr("address","0xD20"), -Attr("insn","add x0, x0, #0x20")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(32,64))), Def(Tid(2_289, "%000008f1"), - Attrs([Attr("address","0xD24"), Attr("insn","ldr x0, [x0]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_295, "%000008f7"), Attrs([Attr("address","0xD28"), -Attr("insn","cmp x0, #0x0")]), Var("#13",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(18446744073709551615,64))), -Def(Tid(2_300, "%000008fc"), Attrs([Attr("address","0xD28"), -Attr("insn","cmp x0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#13",Imm(64)),Int(1,64))),PLUS(SIGNED(65,Var("R0",Imm(64))),Int(0,65)))), -Def(Tid(2_305, "%00000901"), Attrs([Attr("address","0xD28"), -Attr("insn","cmp x0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#13",Imm(64)),Int(1,64))),PLUS(UNSIGNED(65,Var("R0",Imm(64))),Int(18446744073709551616,65)))), -Def(Tid(2_309, "%00000905"), Attrs([Attr("address","0xD28"), -Attr("insn","cmp x0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#13",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(2_313, "%00000909"), Attrs([Attr("address","0xD28"), -Attr("insn","cmp x0, #0x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#13",Imm(64)),Int(1,64))))]), -Jmps([Goto(Tid(2_319, "%0000090f"), Attrs([Attr("address","0xD2C"), -Attr("insn","b.eq #0x8")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(2_317, "%0000090d"))), Goto(Tid(4_437, "%00001155"), Attrs([]), - Int(1,1), Direct(Tid(2_984, "%00000ba8")))])), Blk(Tid(2_984, "%00000ba8"), - Attrs([Attr("address","0xD30")]), Phis([]), -Defs([Def(Tid(2_987, "%00000bab"), Attrs([Attr("address","0xD30"), -Attr("insn","bl #0x104")]), Var("R30",Imm(64)), Int(3380,64))]), -Jmps([Call(Tid(2_989, "%00000bad"), Attrs([Attr("address","0xD30"), -Attr("insn","bl #0x104")]), Int(1,1), -(Direct(Tid(4_416, "@closeFile")),Direct(Tid(2_317, "%0000090d"))))])), -Blk(Tid(2_317, "%0000090d"), Attrs([Attr("address","0xD34")]), Phis([]), -Defs([Def(Tid(2_327, "%00000917"), Attrs([Attr("address","0xD34"), -Attr("insn","ldr x0, [sp, #0x18]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(24,64)),LittleEndian(),64)), -Def(Tid(2_332, "%0000091c"), Attrs([Attr("address","0xD38"), -Attr("insn","bl #-0x3b8")]), Var("R30",Imm(64)), Int(3388,64))]), -Jmps([Call(Tid(2_335, "%0000091f"), Attrs([Attr("address","0xD38"), -Attr("insn","bl #-0x3b8")]), Int(1,1), -(Direct(Tid(4_450, "@strdup")),Direct(Tid(2_337, "%00000921"))))])), -Blk(Tid(2_337, "%00000921"), Attrs([Attr("address","0xD3C")]), Phis([]), -Defs([Def(Tid(2_341, "%00000925"), Attrs([Attr("address","0xD3C"), -Attr("insn","mov x1, x0")]), Var("R1",Imm(64)), Var("R0",Imm(64))), -Def(Tid(2_346, "%0000092a"), Attrs([Attr("address","0xD40"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(2_352, "%00000930"), Attrs([Attr("address","0xD44"), -Attr("insn","add x0, x0, #0x18")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(24,64))), Def(Tid(2_360, "%00000938"), - Attrs([Attr("address","0xD48"), Attr("insn","str x1, [x0]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("R0",Imm(64)),Var("R1",Imm(64)),LittleEndian(),64)), -Def(Tid(2_365, "%0000093d"), Attrs([Attr("address","0xD4C"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(2_371, "%00000943"), Attrs([Attr("address","0xD50"), -Attr("insn","add x0, x0, #0x18")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(24,64))), Def(Tid(2_378, "%0000094a"), - Attrs([Attr("address","0xD54"), Attr("insn","ldr x2, [x0]")]), - Var("R2",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_383, "%0000094f"), Attrs([Attr("address","0xD58"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_389, "%00000955"), Attrs([Attr("address","0xD5C"), -Attr("insn","add x1, x0, #0x60")]), Var("R1",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(96,64))), Def(Tid(2_395, "%0000095b"), - Attrs([Attr("address","0xD60"), Attr("insn","mov x0, x2")]), - Var("R0",Imm(64)), Var("R2",Imm(64))), Def(Tid(2_400, "%00000960"), - Attrs([Attr("address","0xD64"), Attr("insn","bl #-0x414")]), - Var("R30",Imm(64)), Int(3432,64))]), Jmps([Call(Tid(2_403, "%00000963"), - Attrs([Attr("address","0xD64"), Attr("insn","bl #-0x414")]), Int(1,1), -(Direct(Tid(4_424, "@fopen")),Direct(Tid(2_405, "%00000965"))))])), -Blk(Tid(2_405, "%00000965"), Attrs([Attr("address","0xD68")]), Phis([]), -Defs([Def(Tid(2_409, "%00000969"), Attrs([Attr("address","0xD68"), -Attr("insn","mov x1, x0")]), Var("R1",Imm(64)), Var("R0",Imm(64))), -Def(Tid(2_414, "%0000096e"), Attrs([Attr("address","0xD6C"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(2_420, "%00000974"), Attrs([Attr("address","0xD70"), -Attr("insn","add x0, x0, #0x20")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(32,64))), Def(Tid(2_428, "%0000097c"), - Attrs([Attr("address","0xD74"), Attr("insn","str x1, [x0]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("R0",Imm(64)),Var("R1",Imm(64)),LittleEndian(),64)), -Def(Tid(2_433, "%00000981"), Attrs([Attr("address","0xD78"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(2_439, "%00000987"), Attrs([Attr("address","0xD7C"), -Attr("insn","add x0, x0, #0x20")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(32,64))), Def(Tid(2_446, "%0000098e"), - Attrs([Attr("address","0xD80"), Attr("insn","ldr x0, [x0]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_452, "%00000994"), Attrs([Attr("address","0xD84"), -Attr("insn","cmp x0, #0x0")]), Var("#14",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(18446744073709551615,64))), -Def(Tid(2_457, "%00000999"), Attrs([Attr("address","0xD84"), -Attr("insn","cmp x0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#14",Imm(64)),Int(1,64))),PLUS(SIGNED(65,Var("R0",Imm(64))),Int(0,65)))), -Def(Tid(2_462, "%0000099e"), Attrs([Attr("address","0xD84"), -Attr("insn","cmp x0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#14",Imm(64)),Int(1,64))),PLUS(UNSIGNED(65,Var("R0",Imm(64))),Int(18446744073709551616,65)))), -Def(Tid(2_466, "%000009a2"), Attrs([Attr("address","0xD84"), -Attr("insn","cmp x0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#14",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(2_470, "%000009a6"), Attrs([Attr("address","0xD84"), -Attr("insn","cmp x0, #0x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#14",Imm(64)),Int(1,64))))]), -Jmps([Goto(Tid(2_476, "%000009ac"), Attrs([Attr("address","0xD88"), -Attr("insn","b.ne #0x24")]), NEQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(2_474, "%000009aa"))), Goto(Tid(4_438, "%00001156"), Attrs([]), - Int(1,1), Direct(Tid(2_938, "%00000b7a")))])), Blk(Tid(2_474, "%000009aa"), - Attrs([Attr("address","0xDAC")]), Phis([]), -Defs([Def(Tid(2_482, "%000009b2"), Attrs([Attr("address","0xDAC"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(2_488, "%000009b8"), Attrs([Attr("address","0xDB0"), -Attr("insn","add x0, x0, #0x18")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(24,64))), Def(Tid(2_495, "%000009bf"), - Attrs([Attr("address","0xDB4"), Attr("insn","ldr x0, [x0]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_501, "%000009c5"), Attrs([Attr("address","0xDB8"), -Attr("insn","mov x1, x0")]), Var("R1",Imm(64)), Var("R0",Imm(64))), -Def(Tid(2_506, "%000009ca"), Attrs([Attr("address","0xDBC"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_512, "%000009d0"), Attrs([Attr("address","0xDC0"), -Attr("insn","add x0, x0, #0x88")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(136,64))), Def(Tid(2_517, "%000009d5"), - Attrs([Attr("address","0xDC4"), Attr("insn","bl #-0x3d4")]), - Var("R30",Imm(64)), Int(3528,64))]), Jmps([Call(Tid(2_519, "%000009d7"), - Attrs([Attr("address","0xDC4"), Attr("insn","bl #-0x3d4")]), Int(1,1), -(Direct(Tid(4_440, "@printf")),Direct(Tid(2_521, "%000009d9"))))])), -Blk(Tid(2_938, "%00000b7a"), Attrs([Attr("address","0xD8C")]), Phis([]), -Defs([Def(Tid(2_941, "%00000b7d"), Attrs([Attr("address","0xD8C"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(2_947, "%00000b83"), Attrs([Attr("address","0xD90"), -Attr("insn","add x0, x0, #0x18")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(24,64))), Def(Tid(2_954, "%00000b8a"), - Attrs([Attr("address","0xD94"), Attr("insn","ldr x0, [x0]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_960, "%00000b90"), Attrs([Attr("address","0xD98"), -Attr("insn","mov x1, x0")]), Var("R1",Imm(64)), Var("R0",Imm(64))), -Def(Tid(2_965, "%00000b95"), Attrs([Attr("address","0xD9C"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_971, "%00000b9b"), Attrs([Attr("address","0xDA0"), -Attr("insn","add x0, x0, #0x68")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(104,64))), Def(Tid(2_976, "%00000ba0"), - Attrs([Attr("address","0xDA4"), Attr("insn","bl #-0x3b4")]), - Var("R30",Imm(64)), Int(3496,64))]), Jmps([Call(Tid(2_978, "%00000ba2"), - Attrs([Attr("address","0xDA4"), Attr("insn","bl #-0x3b4")]), Int(1,1), -(Direct(Tid(4_440, "@printf")),Direct(Tid(2_980, "%00000ba4"))))])), -Blk(Tid(2_980, "%00000ba4"), Attrs([Attr("address","0xDA8")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_982, "%00000ba6"), Attrs([Attr("address","0xDA8"), -Attr("insn","b #0x20")]), Int(1,1), Direct(Tid(2_521, "%000009d9")))])), -Blk(Tid(2_521, "%000009d9"), Attrs([Attr("address","0xDC8")]), Phis([]), -Defs([Def(Tid(2_528, "%000009e0"), Attrs([Attr("address","0xDCC"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_533, "%000009e5"), Attrs([Attr("address","0xDCC"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_537, "%000009e9"), Attrs([Attr("address","0xDCC"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(2_542, "%000009ee"), - Attrs([Attr("address","0xDD0"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_439, "@printHelp"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xCB4")]), - "printHelp", Args([Arg(Tid(4_483, "%00001183"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("printHelp_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_078, "@printHelp"), - Attrs([Attr("address","0xCB4")]), Phis([]), -Defs([Def(Tid(2_082, "%00000822"), Attrs([Attr("address","0xCB4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#11",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(2_088, "%00000828"), Attrs([Attr("address","0xCB4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#11",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(2_094, "%0000082e"), Attrs([Attr("address","0xCB4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#11",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(2_098, "%00000832"), Attrs([Attr("address","0xCB4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#11",Imm(64))), Def(Tid(2_104, "%00000838"), - Attrs([Attr("address","0xCB8"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(2_109, "%0000083d"), - Attrs([Attr("address","0xCBC"), Attr("insn","adrp x0, #0")]), - Var("R0",Imm(64)), Int(0,64)), Def(Tid(2_115, "%00000843"), - Attrs([Attr("address","0xCC0"), Attr("insn","add x0, x0, #0xf40")]), - Var("R0",Imm(64)), PLUS(Var("R0",Imm(64)),Int(3904,64))), -Def(Tid(2_120, "%00000848"), Attrs([Attr("address","0xCC4"), -Attr("insn","bl #-0x314")]), Var("R30",Imm(64)), Int(3272,64))]), -Jmps([Call(Tid(2_122, "%0000084a"), Attrs([Attr("address","0xCC4"), -Attr("insn","bl #-0x314")]), Int(1,1), -(Direct(Tid(4_441, "@puts")),Direct(Tid(2_124, "%0000084c"))))])), -Blk(Tid(2_124, "%0000084c"), Attrs([Attr("address","0xCC8")]), Phis([]), -Defs([Def(Tid(2_127, "%0000084f"), Attrs([Attr("address","0xCC8"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_133, "%00000855"), Attrs([Attr("address","0xCCC"), -Attr("insn","add x0, x0, #0xf50")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3920,64))), Def(Tid(2_138, "%0000085a"), - Attrs([Attr("address","0xCD0"), Attr("insn","bl #-0x320")]), - Var("R30",Imm(64)), Int(3284,64))]), Jmps([Call(Tid(2_140, "%0000085c"), - Attrs([Attr("address","0xCD0"), Attr("insn","bl #-0x320")]), Int(1,1), -(Direct(Tid(4_441, "@puts")),Direct(Tid(2_142, "%0000085e"))))])), -Blk(Tid(2_142, "%0000085e"), Attrs([Attr("address","0xCD4")]), Phis([]), -Defs([Def(Tid(2_145, "%00000861"), Attrs([Attr("address","0xCD4"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_151, "%00000867"), Attrs([Attr("address","0xCD8"), -Attr("insn","add x0, x0, #0xf88")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3976,64))), Def(Tid(2_156, "%0000086c"), - Attrs([Attr("address","0xCDC"), Attr("insn","bl #-0x32c")]), - Var("R30",Imm(64)), Int(3296,64))]), Jmps([Call(Tid(2_158, "%0000086e"), - Attrs([Attr("address","0xCDC"), Attr("insn","bl #-0x32c")]), Int(1,1), -(Direct(Tid(4_441, "@puts")),Direct(Tid(2_160, "%00000870"))))])), -Blk(Tid(2_160, "%00000870"), Attrs([Attr("address","0xCE0")]), Phis([]), -Defs([Def(Tid(2_163, "%00000873"), Attrs([Attr("address","0xCE0"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_169, "%00000879"), Attrs([Attr("address","0xCE4"), -Attr("insn","add x0, x0, #0xfc0")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(4032,64))), Def(Tid(2_174, "%0000087e"), - Attrs([Attr("address","0xCE8"), Attr("insn","bl #-0x338")]), - Var("R30",Imm(64)), Int(3308,64))]), Jmps([Call(Tid(2_176, "%00000880"), - Attrs([Attr("address","0xCE8"), Attr("insn","bl #-0x338")]), Int(1,1), -(Direct(Tid(4_441, "@puts")),Direct(Tid(2_178, "%00000882"))))])), -Blk(Tid(2_178, "%00000882"), Attrs([Attr("address","0xCEC")]), Phis([]), -Defs([Def(Tid(2_181, "%00000885"), Attrs([Attr("address","0xCEC"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_187, "%0000088b"), Attrs([Attr("address","0xCF0"), -Attr("insn","add x0, x0, #0x0")]), Var("R0",Imm(64)), Var("R0",Imm(64))), -Def(Tid(2_192, "%00000890"), Attrs([Attr("address","0xCF4"), -Attr("insn","bl #-0x344")]), Var("R30",Imm(64)), Int(3320,64))]), -Jmps([Call(Tid(2_194, "%00000892"), Attrs([Attr("address","0xCF4"), -Attr("insn","bl #-0x344")]), Int(1,1), -(Direct(Tid(4_441, "@puts")),Direct(Tid(2_196, "%00000894"))))])), -Blk(Tid(2_196, "%00000894"), Attrs([Attr("address","0xCF8")]), Phis([]), -Defs([Def(Tid(2_199, "%00000897"), Attrs([Attr("address","0xCF8"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_205, "%0000089d"), Attrs([Attr("address","0xCFC"), -Attr("insn","add x0, x0, #0x30")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(48,64))), Def(Tid(2_210, "%000008a2"), - Attrs([Attr("address","0xD00"), Attr("insn","bl #-0x350")]), - Var("R30",Imm(64)), Int(3332,64))]), Jmps([Call(Tid(2_212, "%000008a4"), - Attrs([Attr("address","0xD00"), Attr("insn","bl #-0x350")]), Int(1,1), -(Direct(Tid(4_441, "@puts")),Direct(Tid(2_214, "%000008a6"))))])), -Blk(Tid(2_214, "%000008a6"), Attrs([Attr("address","0xD04")]), Phis([]), -Defs([Def(Tid(2_221, "%000008ad"), Attrs([Attr("address","0xD08"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_226, "%000008b2"), Attrs([Attr("address","0xD08"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_230, "%000008b6"), Attrs([Attr("address","0xD08"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(2_235, "%000008bb"), - Attrs([Attr("address","0xD0C"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_440, "@printf"), - Attrs([Attr("c.proto","signed (*)( const char restrict * format, ...)"), -Attr("address","0x9F0"), Attr("stub","()")]), "printf", - Args([Arg(Tid(4_484, "%00001184"), Attrs([Attr("format","\"printf\""), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char restrict *")]), Var("printf_format",Imm(64)), -Var("R0",Imm(64)), In()), Arg(Tid(4_485, "%00001185"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("printf_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_601, "@printf"), - Attrs([Attr("address","0x9F0")]), Phis([]), -Defs([Def(Tid(3_917, "%00000f4d"), Attrs([Attr("address","0x9F0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_924, "%00000f54"), Attrs([Attr("address","0x9F4"), -Attr("insn","ldr x17, [x16, #0xfb0]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(4016,64)),LittleEndian(),64)), -Def(Tid(3_930, "%00000f5a"), Attrs([Attr("address","0x9F8"), -Attr("insn","add x16, x16, #0xfb0")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(4016,64)))]), Jmps([Call(Tid(3_935, "%00000f5f"), - Attrs([Attr("address","0x9FC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_441, "@puts"), - Attrs([Attr("c.proto","signed (*)( const char* s)"), -Attr("address","0x9B0"), Attr("stub","()")]), "puts", - Args([Arg(Tid(4_486, "%00001186"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char*")]), - Var("puts_s",Imm(64)), Var("R0",Imm(64)), In()), -Arg(Tid(4_487, "%00001187"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("puts_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(2_051, "@puts"), Attrs([Attr("address","0x9B0")]), Phis([]), -Defs([Def(Tid(3_829, "%00000ef5"), Attrs([Attr("address","0x9B0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_836, "%00000efc"), Attrs([Attr("address","0x9B4"), -Attr("insn","ldr x17, [x16, #0xf90]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3984,64)),LittleEndian(),64)), -Def(Tid(3_842, "%00000f02"), Attrs([Attr("address","0x9B8"), -Attr("insn","add x16, x16, #0xf90")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3984,64)))]), Jmps([Call(Tid(3_847, "%00000f07"), - Attrs([Attr("address","0x9BC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), -Sub(Tid(4_442, "@register_tm_clones"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xAC0")]), - "register_tm_clones", Args([Arg(Tid(4_488, "%00001188"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("register_tm_clones_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_372, "@register_tm_clones"), - Attrs([Attr("address","0xAC0")]), Phis([]), -Defs([Def(Tid(1_375, "%0000055f"), Attrs([Attr("address","0xAC0"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(1_381, "%00000565"), Attrs([Attr("address","0xAC4"), -Attr("insn","add x0, x0, #0x10")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(16,64))), Def(Tid(1_386, "%0000056a"), - Attrs([Attr("address","0xAC8"), Attr("insn","adrp x1, #73728")]), - Var("R1",Imm(64)), Int(73728,64)), Def(Tid(1_392, "%00000570"), - Attrs([Attr("address","0xACC"), Attr("insn","add x1, x1, #0x10")]), - Var("R1",Imm(64)), PLUS(Var("R1",Imm(64)),Int(16,64))), -Def(Tid(1_399, "%00000577"), Attrs([Attr("address","0xAD0"), -Attr("insn","sub x1, x1, x0")]), Var("R1",Imm(64)), -PLUS(PLUS(Var("R1",Imm(64)),NOT(Var("R0",Imm(64)))),Int(1,64))), -Def(Tid(1_405, "%0000057d"), Attrs([Attr("address","0xAD4"), -Attr("insn","lsr x2, x1, #63")]), Var("R2",Imm(64)), -Concat(Int(0,63),Extract(63,63,Var("R1",Imm(64))))), -Def(Tid(1_412, "%00000584"), Attrs([Attr("address","0xAD8"), -Attr("insn","add x1, x2, x1, asr #3")]), Var("R1",Imm(64)), -PLUS(Var("R2",Imm(64)),ARSHIFT(Var("R1",Imm(64)),Int(3,3)))), -Def(Tid(1_418, "%0000058a"), Attrs([Attr("address","0xADC"), -Attr("insn","asr x1, x1, #1")]), Var("R1",Imm(64)), -SIGNED(64,Extract(63,1,Var("R1",Imm(64)))))]), -Jmps([Goto(Tid(1_424, "%00000590"), Attrs([Attr("address","0xAE0"), -Attr("insn","cbz x1, #0x18")]), EQ(Var("R1",Imm(64)),Int(0,64)), -Direct(Tid(1_422, "%0000058e"))), Goto(Tid(4_443, "%0000115b"), Attrs([]), - Int(1,1), Direct(Tid(3_195, "%00000c7b")))])), Blk(Tid(3_195, "%00000c7b"), - Attrs([Attr("address","0xAE4")]), Phis([]), -Defs([Def(Tid(3_198, "%00000c7e"), Attrs([Attr("address","0xAE4"), -Attr("insn","adrp x2, #69632")]), Var("R2",Imm(64)), Int(69632,64)), -Def(Tid(3_205, "%00000c85"), Attrs([Attr("address","0xAE8"), -Attr("insn","ldr x2, [x2, #0xff8]")]), Var("R2",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R2",Imm(64)),Int(4088,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(3_210, "%00000c8a"), Attrs([Attr("address","0xAEC"), -Attr("insn","cbz x2, #0xc")]), EQ(Var("R2",Imm(64)),Int(0,64)), -Direct(Tid(1_422, "%0000058e"))), Goto(Tid(4_444, "%0000115c"), Attrs([]), - Int(1,1), Direct(Tid(3_214, "%00000c8e")))])), Blk(Tid(1_422, "%0000058e"), - Attrs([Attr("address","0xAF8")]), Phis([]), Defs([]), -Jmps([Call(Tid(1_430, "%00000596"), Attrs([Attr("address","0xAF8"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(3_214, "%00000c8e"), Attrs([Attr("address","0xAF0")]), Phis([]), -Defs([Def(Tid(3_218, "%00000c92"), Attrs([Attr("address","0xAF0"), -Attr("insn","mov x16, x2")]), Var("R16",Imm(64)), Var("R2",Imm(64)))]), -Jmps([Call(Tid(3_223, "%00000c97"), Attrs([Attr("address","0xAF4"), -Attr("insn","br x16")]), Int(1,1), (Indirect(Var("R16",Imm(64))),))]))])), -Sub(Tid(4_445, "@rewind"), Attrs([Attr("c.proto","signed (*)(void)"), -Attr("address","0x970"), Attr("stub","()")]), "rewind", - Args([Arg(Tid(4_489, "%00001189"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("rewind_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(2_643, "@rewind"), Attrs([Attr("address","0x970")]), Phis([]), -Defs([Def(Tid(3_741, "%00000e9d"), Attrs([Attr("address","0x970"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_748, "%00000ea4"), Attrs([Attr("address","0x974"), -Attr("insn","ldr x17, [x16, #0xf70]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3952,64)),LittleEndian(),64)), -Def(Tid(3_754, "%00000eaa"), Attrs([Attr("address","0x978"), -Attr("insn","add x16, x16, #0xf70")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3952,64)))]), Jmps([Call(Tid(3_759, "%00000eaf"), - Attrs([Attr("address","0x97C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_446, "@saveFile"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xDD4")]), - "saveFile", Args([Arg(Tid(4_490, "%0000118a"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("saveFile_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_544, "@saveFile"), - Attrs([Attr("address","0xDD4")]), Phis([]), -Defs([Def(Tid(2_548, "%000009f4"), Attrs([Attr("address","0xDD4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#15",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(2_554, "%000009fa"), Attrs([Attr("address","0xDD4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#15",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(2_560, "%00000a00"), Attrs([Attr("address","0xDD4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#15",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(2_564, "%00000a04"), Attrs([Attr("address","0xDD4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#15",Imm(64))), Def(Tid(2_570, "%00000a0a"), - Attrs([Attr("address","0xDD8"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(2_575, "%00000a0f"), - Attrs([Attr("address","0xDDC"), Attr("insn","adrp x0, #73728")]), - Var("R0",Imm(64)), Int(73728,64)), Def(Tid(2_581, "%00000a15"), - Attrs([Attr("address","0xDE0"), Attr("insn","add x0, x0, #0x20")]), - Var("R0",Imm(64)), PLUS(Var("R0",Imm(64)),Int(32,64))), -Def(Tid(2_588, "%00000a1c"), Attrs([Attr("address","0xDE4"), -Attr("insn","ldr x0, [x0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_594, "%00000a22"), Attrs([Attr("address","0xDE8"), -Attr("insn","cmp x0, #0x0")]), Var("#16",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(18446744073709551615,64))), -Def(Tid(2_599, "%00000a27"), Attrs([Attr("address","0xDE8"), -Attr("insn","cmp x0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#16",Imm(64)),Int(1,64))),PLUS(SIGNED(65,Var("R0",Imm(64))),Int(0,65)))), -Def(Tid(2_604, "%00000a2c"), Attrs([Attr("address","0xDE8"), -Attr("insn","cmp x0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#16",Imm(64)),Int(1,64))),PLUS(UNSIGNED(65,Var("R0",Imm(64))),Int(18446744073709551616,65)))), -Def(Tid(2_608, "%00000a30"), Attrs([Attr("address","0xDE8"), -Attr("insn","cmp x0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#16",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(2_612, "%00000a34"), Attrs([Attr("address","0xDE8"), -Attr("insn","cmp x0, #0x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#16",Imm(64)),Int(1,64))))]), -Jmps([Goto(Tid(2_618, "%00000a3a"), Attrs([Attr("address","0xDEC"), -Attr("insn","b.ne #0x14")]), NEQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(2_616, "%00000a38"))), Goto(Tid(4_447, "%0000115f"), Attrs([]), - Int(1,1), Direct(Tid(2_916, "%00000b64")))])), Blk(Tid(2_616, "%00000a38"), - Attrs([Attr("address","0xE00")]), Phis([]), -Defs([Def(Tid(2_624, "%00000a40"), Attrs([Attr("address","0xE00"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(2_630, "%00000a46"), Attrs([Attr("address","0xE04"), -Attr("insn","add x0, x0, #0x20")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(32,64))), Def(Tid(2_637, "%00000a4d"), - Attrs([Attr("address","0xE08"), Attr("insn","ldr x0, [x0]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_642, "%00000a52"), Attrs([Attr("address","0xE0C"), -Attr("insn","bl #-0x49c")]), Var("R30",Imm(64)), Int(3600,64))]), -Jmps([Call(Tid(2_645, "%00000a55"), Attrs([Attr("address","0xE0C"), -Attr("insn","bl #-0x49c")]), Int(1,1), -(Direct(Tid(4_445, "@rewind")),Direct(Tid(2_647, "%00000a57"))))])), -Blk(Tid(2_647, "%00000a57"), Attrs([Attr("address","0xE10")]), Phis([]), -Defs([Def(Tid(2_650, "%00000a5a"), Attrs([Attr("address","0xE10"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(2_656, "%00000a60"), Attrs([Attr("address","0xE14"), -Attr("insn","add x0, x0, #0x18")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(24,64))), Def(Tid(2_663, "%00000a67"), - Attrs([Attr("address","0xE18"), Attr("insn","ldr x0, [x0]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_669, "%00000a6d"), Attrs([Attr("address","0xE1C"), -Attr("insn","mov x1, x0")]), Var("R1",Imm(64)), Var("R0",Imm(64))), -Def(Tid(2_674, "%00000a72"), Attrs([Attr("address","0xE20"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_680, "%00000a78"), Attrs([Attr("address","0xE24"), -Attr("insn","add x0, x0, #0xc0")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(192,64))), Def(Tid(2_685, "%00000a7d"), - Attrs([Attr("address","0xE28"), Attr("insn","bl #-0x438")]), - Var("R30",Imm(64)), Int(3628,64))]), Jmps([Call(Tid(2_687, "%00000a7f"), - Attrs([Attr("address","0xE28"), Attr("insn","bl #-0x438")]), Int(1,1), -(Direct(Tid(4_440, "@printf")),Direct(Tid(2_689, "%00000a81"))))])), -Blk(Tid(2_916, "%00000b64"), Attrs([Attr("address","0xDF0")]), Phis([]), -Defs([Def(Tid(2_919, "%00000b67"), Attrs([Attr("address","0xDF0"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_925, "%00000b6d"), Attrs([Attr("address","0xDF4"), -Attr("insn","add x0, x0, #0xa0")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(160,64))), Def(Tid(2_930, "%00000b72"), - Attrs([Attr("address","0xDF8"), Attr("insn","bl #-0x448")]), - Var("R30",Imm(64)), Int(3580,64))]), Jmps([Call(Tid(2_932, "%00000b74"), - Attrs([Attr("address","0xDF8"), Attr("insn","bl #-0x448")]), Int(1,1), -(Direct(Tid(4_441, "@puts")),Direct(Tid(2_934, "%00000b76"))))])), -Blk(Tid(2_934, "%00000b76"), Attrs([Attr("address","0xDFC")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_936, "%00000b78"), Attrs([Attr("address","0xDFC"), -Attr("insn","b #0x30")]), Int(1,1), Direct(Tid(2_689, "%00000a81")))])), -Blk(Tid(2_689, "%00000a81"), Attrs([Attr("address","0xE2C")]), Phis([]), -Defs([Def(Tid(2_694, "%00000a86"), Attrs([Attr("address","0xE2C"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_699, "%00000a8b"), Attrs([Attr("address","0xE2C"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_703, "%00000a8f"), Attrs([Attr("address","0xE2C"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(2_708, "%00000a94"), - Attrs([Attr("address","0xE30"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_448, "@strcmp"), - Attrs([Attr("c.proto","signed (*)( const char* s1, const char* s2)"), -Attr("pure","()"), Attr("address","0x9C0"), Attr("stub","()")]), "strcmp", - Args([Arg(Tid(4_491, "%0000118b"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcmp_s1",Imm(64)), Var("R0",Imm(64)), -In()), Arg(Tid(4_492, "%0000118c"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcmp_s2",Imm(64)), Var("R1",Imm(64)), -In()), Arg(Tid(4_493, "%0000118d"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("strcmp_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_771, "@strcmp"), Attrs([Attr("address","0x9C0")]), Phis([]), -Defs([Def(Tid(3_851, "%00000f0b"), Attrs([Attr("address","0x9C0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_858, "%00000f12"), Attrs([Attr("address","0x9C4"), -Attr("insn","ldr x17, [x16, #0xf98]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3992,64)),LittleEndian(),64)), -Def(Tid(3_864, "%00000f18"), Attrs([Attr("address","0x9C8"), -Attr("insn","add x16, x16, #0xf98")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3992,64)))]), Jmps([Call(Tid(3_869, "%00000f1d"), - Attrs([Attr("address","0x9CC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_449, "@strcspn"), - Attrs([Attr("c.proto","unsigned long (*)( const char* s, const char* reject)"), -Attr("pure","()"), Attr("address","0x9E0"), Attr("stub","()")]), "strcspn", - Args([Arg(Tid(4_494, "%0000118e"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcspn_s",Imm(64)), Var("R0",Imm(64)), -In()), Arg(Tid(4_495, "%0000118f"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcspn_reject",Imm(64)), -Var("R1",Imm(64)), In()), Arg(Tid(4_496, "%00001190"), - Attrs([Attr("c.layout","[unsigned long : 64]"), Attr("c.data","Top:u64"), -Attr("c.type","unsigned long")]), Var("strcspn_result",Imm(64)), -Var("R0",Imm(64)), Out())]), Blks([Blk(Tid(1_676, "@strcspn"), - Attrs([Attr("address","0x9E0")]), Phis([]), -Defs([Def(Tid(3_895, "%00000f37"), Attrs([Attr("address","0x9E0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_902, "%00000f3e"), Attrs([Attr("address","0x9E4"), -Attr("insn","ldr x17, [x16, #0xfa8]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(4008,64)),LittleEndian(),64)), -Def(Tid(3_908, "%00000f44"), Attrs([Attr("address","0x9E8"), -Attr("insn","add x16, x16, #0xfa8")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(4008,64)))]), Jmps([Call(Tid(3_913, "%00000f49"), - Attrs([Attr("address","0x9EC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_450, "@strdup"), - Attrs([Attr("c.proto","char* (*)( const char* s)"), Attr("address","0x980"), -Attr("malloc","()"), Attr("stub","()")]), "strdup", - Args([Arg(Tid(4_497, "%00001191"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strdup_s",Imm(64)), Var("R0",Imm(64)), -In()), Arg(Tid(4_498, "%00001192"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type","char*")]), - Var("strdup_result",Imm(64)), Var("R0",Imm(64)), Out())]), -Blks([Blk(Tid(2_333, "@strdup"), Attrs([Attr("address","0x980")]), Phis([]), -Defs([Def(Tid(3_763, "%00000eb3"), Attrs([Attr("address","0x980"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_770, "%00000eba"), Attrs([Attr("address","0x984"), -Attr("insn","ldr x17, [x16, #0xf78]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3960,64)),LittleEndian(),64)), -Def(Tid(3_776, "%00000ec0"), Attrs([Attr("address","0x988"), -Attr("insn","add x16, x16, #0xf78")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3960,64)))]), Jmps([Call(Tid(3_781, "%00000ec5"), - Attrs([Attr("address","0x98C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_451, "@strncmp"), - Attrs([Attr("c.proto","signed (*)( const char* s1, const char* s2, unsigned long n)"), -Attr("pure","()"), Attr("address","0x960"), Attr("stub","()")]), "strncmp", - Args([Arg(Tid(4_499, "%00001193"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strncmp_s1",Imm(64)), -Var("R0",Imm(64)), In()), Arg(Tid(4_500, "%00001194"), - Attrs([Attr("nonnull","()"), Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char*")]), - Var("strncmp_s2",Imm(64)), Var("R1",Imm(64)), In()), -Arg(Tid(4_501, "%00001195"), Attrs([Attr("c.layout","[unsigned long : 64]"), -Attr("c.data","Top:u64"), Attr("c.type","unsigned long")]), - Var("strncmp_n",Imm(64)), Var("R2",Imm(64)), In()), -Arg(Tid(4_502, "%00001196"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("strncmp_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_833, "@strncmp"), Attrs([Attr("address","0x960")]), Phis([]), -Defs([Def(Tid(3_719, "%00000e87"), Attrs([Attr("address","0x960"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_726, "%00000e8e"), Attrs([Attr("address","0x964"), -Attr("insn","ldr x17, [x16, #0xf68]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3944,64)),LittleEndian(),64)), -Def(Tid(3_732, "%00000e94"), Attrs([Attr("address","0x968"), -Attr("insn","add x16, x16, #0xf68")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3944,64)))]), Jmps([Call(Tid(3_737, "%00000e99"), - Attrs([Attr("address","0x96C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))]))]))) \ No newline at end of file diff --git a/src/test/correct/complex/gcc/complex.bir b/src/test/correct/complex/gcc/complex.bir deleted file mode 100644 index 7fdf6041a..000000000 --- a/src/test/correct/complex/gcc/complex.bir +++ /dev/null @@ -1,790 +0,0 @@ -00001164: program -00001132: sub __cxa_finalize(__cxa_finalize_result) -00001165: __cxa_finalize_result :: out u32 = low:32[R0] - -00000c77: -00000e45: R16 := 0x11000 -00000e4c: R17 := mem[R16 + 0xF50, el]:u64 -00000e52: R16 := R16 + 0xF50 -00000e57: call R17 with noreturn - -00001133: sub __do_global_dtors_aux(__do_global_dtors_aux_result) -00001166: __do_global_dtors_aux_result :: out u32 = low:32[R0] - -0000059a: -0000059e: #3 := R31 - 0x20 -000005a4: mem := mem with [#3, el]:u64 <- R29 -000005aa: mem := mem with [#3 + 8, el]:u64 <- R30 -000005ae: R31 := #3 -000005b4: R29 := R31 -000005bc: mem := mem with [R31 + 0x10, el]:u64 <- R19 -000005c1: R19 := 0x12000 -000005c8: R0 := pad:64[mem[R19 + 0x10]] -000005cf: when 31:0[R0] <> 0 goto %000005cd -00001134: goto %00000c40 - -00000c40: -00000c43: R0 := 0x11000 -00000c4a: R0 := mem[R0 + 0xFD0, el]:u64 -00000c50: when R0 = 0 goto %00000c4e -00001135: goto %00000c67 - -00000c67: -00000c6a: R0 := 0x12000 -00000c71: R0 := mem[R0 + 8, el]:u64 -00000c76: R30 := 0xB30 -00000c79: call @__cxa_finalize with return %00000c4e - -00000c4e: -00000c56: R30 := 0xB34 -00000c58: call @deregister_tm_clones with return %00000c5a - -00000c5a: -00000c5d: R0 := 1 -00000c65: mem := mem with [R19 + 0x10] <- 7:0[R0] -00001136: goto %000005cd - -000005cd: -000005d7: R19 := mem[R31 + 0x10, el]:u64 -000005de: R29 := mem[R31, el]:u64 -000005e3: R30 := mem[R31 + 8, el]:u64 -000005e7: R31 := R31 + 0x20 -000005ec: call R30 with noreturn - -00001137: sub __libc_start_main(__libc_start_main_main, __libc_start_main_arg2, __libc_start_main_arg3, __libc_start_main_auxv, __libc_start_main_result) -00001167: __libc_start_main_main :: in u64 = R0 -00001168: __libc_start_main_arg2 :: in u32 = low:32[R1] -00001169: __libc_start_main_arg3 :: in out u64 = R2 -0000116a: __libc_start_main_auxv :: in out u64 = R3 -0000116b: __libc_start_main_result :: out u32 = low:32[R0] - -000004f3: -00000e2f: R16 := 0x11000 -00000e36: R17 := mem[R16 + 0xF48, el]:u64 -00000e3c: R16 := R16 + 0xF48 -00000e41: call R17 with noreturn - -00001138: sub _fini(_fini_result) -0000116c: _fini_result :: out u32 = low:32[R0] - -0000001f: -00000025: #0 := R31 - 0x10 -0000002b: mem := mem with [#0, el]:u64 <- R29 -00000031: mem := mem with [#0 + 8, el]:u64 <- R30 -00000035: R31 := #0 -0000003b: R29 := R31 -00000042: R29 := mem[R31, el]:u64 -00000047: R30 := mem[R31 + 8, el]:u64 -0000004b: R31 := R31 + 0x10 -00000050: call R30 with noreturn - -00001139: sub _init(_init_result) -0000116d: _init_result :: out u32 = low:32[R0] - -00000f91: -00000f97: #21 := R31 - 0x10 -00000f9d: mem := mem with [#21, el]:u64 <- R29 -00000fa3: mem := mem with [#21 + 8, el]:u64 <- R30 -00000fa7: R31 := #21 -00000fad: R29 := R31 -00000fb2: R30 := 0x8E8 -00000fb4: call @call_weak_fn with return %00000fb6 - -00000fb6: -00000fbb: R29 := mem[R31, el]:u64 -00000fc0: R30 := mem[R31 + 8, el]:u64 -00000fc4: R31 := R31 + 0x10 -00000fc9: call R30 with noreturn - -0000113a: sub _start(_start_result) -0000116e: _start_result :: out u32 = low:32[R0] - -000004b4: -000004b9: R29 := 0 -000004be: R30 := 0 -000004c4: R5 := R0 -000004cb: R1 := mem[R31, el]:u64 -000004d1: R2 := R31 + 8 -000004d7: R6 := R31 -000004dc: R0 := 0x11000 -000004e3: R0 := mem[R0 + 0xFF0, el]:u64 -000004e8: R3 := 0 -000004ed: R4 := 0 -000004f2: R30 := 0xA70 -000004f5: call @__libc_start_main with return %000004f7 - -000004f7: -000004fa: R30 := 0xA74 -000004fd: call @abort with return %0000113b - -0000113b: -0000113c: call @call_weak_fn with noreturn - -0000113d: sub abort() - - -000004fb: -00000edf: R16 := 0x11000 -00000ee6: R17 := mem[R16 + 0xF88, el]:u64 -00000eec: R16 := R16 + 0xF88 -00000ef1: call R17 with noreturn - -0000113e: sub call_weak_fn(call_weak_fn_result) -0000116f: call_weak_fn_result :: out u32 = low:32[R0] - -000004ff: -00000502: R0 := 0x11000 -00000509: R0 := mem[R0 + 0xFE0, el]:u64 -0000050f: when R0 = 0 goto %0000050d -0000113f: goto %00000cb7 - -0000050d: -00000515: call R30 with noreturn - -00000cb7: -00000cba: goto @__gmon_start__ - -00000cb8: -00000ec9: R16 := 0x11000 -00000ed0: R17 := mem[R16 + 0xF80, el]:u64 -00000ed6: R16 := R16 + 0xF80 -00000edb: call R17 with noreturn - -00001140: sub closeFile(closeFile_result) -00001170: closeFile_result :: out u32 = low:32[R0] - -00000a96: -00000a9a: #17 := R31 - 0x10 -00000aa0: mem := mem with [#17, el]:u64 <- R29 -00000aa6: mem := mem with [#17 + 8, el]:u64 <- R30 -00000aaa: R31 := #17 -00000ab0: R29 := R31 -00000ab5: R0 := 0x12000 -00000abb: R0 := R0 + 0x20 -00000ac2: R0 := mem[R0, el]:u64 -00000ac8: #18 := R0 - 1 -00000acd: VF := extend:65[#18 + 1] <> extend:65[R0] + 0 -00000ad2: CF := pad:65[#18 + 1] <> pad:65[R0] - 0x10000000000000000 -00000ad6: ZF := #18 + 1 = 0 -00000ada: NF := 63:63[#18 + 1] -00000ae0: when ZF goto %00000ade -00001141: goto %00000afa - -00000afa: -00000afd: R0 := 0x12000 -00000b03: R0 := R0 + 0x20 -00000b0a: R0 := mem[R0, el]:u64 -00000b0f: R30 := 0xE60 -00000b12: call @fclose with return %00000b14 - -00000b14: -00000b17: R0 := 0x12000 -00000b1d: R0 := R0 + 0x18 -00000b24: R0 := mem[R0, el]:u64 -00000b29: R30 := 0xE70 -00000b2c: call @free with return %00000b2e - -00000b2e: -00000b31: R0 := 0x12000 -00000b37: R0 := R0 + 0x20 -00000b3e: mem := mem with [R0, el]:u64 <- 0 -00000b43: R0 := 0x12000 -00000b49: R0 := R0 + 0x18 -00000b50: mem := mem with [R0, el]:u64 <- 0 -00000b55: R0 := 0x1000 -00000b5b: R0 := R0 + 0xE0 -00000b60: R30 := 0xE94 -00000b62: call @puts with return %00000ade - -00000ade: -00000aea: R29 := mem[R31, el]:u64 -00000aef: R30 := mem[R31 + 8, el]:u64 -00000af3: R31 := R31 + 0x10 -00000af8: call R30 with noreturn - -00001142: sub deregister_tm_clones(deregister_tm_clones_result) -00001171: deregister_tm_clones_result :: out u32 = low:32[R0] - -0000051b: -0000051e: R0 := 0x12000 -00000524: R0 := R0 + 0x10 -00000529: R1 := 0x12000 -0000052f: R1 := R1 + 0x10 -00000535: #1 := ~R0 -0000053a: #2 := R1 + ~R0 -00000540: VF := extend:65[#2 + 1] <> extend:65[R1] + extend:65[#1] + 1 -00000546: CF := pad:65[#2 + 1] <> pad:65[R1] + pad:65[#1] + 1 -0000054a: ZF := #2 + 1 = 0 -0000054e: NF := 63:63[#2 + 1] -00000554: when ZF goto %00000552 -00001143: goto %00000c99 - -00000c99: -00000c9c: R1 := 0x11000 -00000ca3: R1 := mem[R1 + 0xFC8, el]:u64 -00000ca8: when R1 = 0 goto %00000552 -00001144: goto %00000cac - -00000552: -0000055a: call R30 with noreturn - -00000cac: -00000cb0: R16 := R1 -00000cb5: call R16 with noreturn - -00001145: sub exit(exit_code) -00001172: exit_code :: in u32 = low:32[R0] - -00000be9: -00000e19: R16 := 0x11000 -00000e20: R17 := mem[R16 + 0xF40, el]:u64 -00000e26: R16 := R16 + 0xF40 -00000e2b: call R17 with noreturn - -00001146: sub fclose(fclose_fp, fclose_result) -00001173: fclose_fp :: in out u64 = R0 -00001174: fclose_result :: out u32 = low:32[R0] - -00000b10: -00000e5b: R16 := 0x11000 -00000e62: R17 := mem[R16 + 0xF58, el]:u64 -00000e68: R16 := R16 + 0xF58 -00000e6d: call R17 with noreturn - -00001147: sub fgets(fgets_s, fgets_size, fgets_stream, fgets_result) -00001175: fgets_s :: in out u64 = R0 -00001176: fgets_size :: in u32 = low:32[R1] -00001177: fgets_stream :: in out u64 = R2 -00001178: fgets_result :: out u64 = R0 - -0000066d: -00000f63: R16 := 0x11000 -00000f6a: R17 := mem[R16 + 0xFB8, el]:u64 -00000f70: R16 := R16 + 0xFB8 -00000f75: call R17 with noreturn - -00001148: sub fopen(fopen_path, fopen_mode, fopen_result) -00001179: fopen_path :: in u64 = R0 -0000117a: fopen_mode :: in u64 = R1 -0000117b: fopen_result :: out u64 = R0 - -00000961: -00000e71: R16 := 0x11000 -00000e78: R17 := mem[R16 + 0xF60, el]:u64 -00000e7e: R16 := R16 + 0xF60 -00000e83: call R17 with noreturn - -00001149: sub frame_dummy(frame_dummy_result) -0000117c: frame_dummy_result :: out u32 = low:32[R0] - -000005f2: -000005f4: call @register_tm_clones with noreturn - -0000114a: sub free(free_ptr) -0000117d: free_ptr :: in out u64 = R0 - -00000b2a: -00000f21: R16 := 0x11000 -00000f28: R17 := mem[R16 + 0xFA0, el]:u64 -00000f2e: R16 := R16 + 0xFA0 -00000f33: call R17 with noreturn - -0000114b: sub handleInput(handleInput_result) -0000117e: handleInput_result :: out u32 = low:32[R0] - -000006ae: -000006b5: #5 := R31 - 0x30 -000006bb: mem := mem with [#5, el]:u64 <- R29 -000006c1: mem := mem with [#5 + 8, el]:u64 <- R30 -000006c5: R31 := #5 -000006cb: R29 := R31 -000006d3: mem := mem with [R31 + 0x18, el]:u64 <- R0 -000006d8: R0 := 0 -000006de: R1 := R0 + 0xEE0 -000006e5: R0 := mem[R31 + 0x18, el]:u64 -000006ea: R30 := 0xBE0 -000006ed: call @strcmp with return %000006ef - -000006ef: -000006f3: #6 := 31:0[R0] - 1 -000006f8: VF := extend:33[#6 + 1] <> extend:33[31:0[R0]] + 0 -000006fd: CF := pad:33[#6 + 1] <> pad:33[31:0[R0]] - 0x100000000 -00000701: ZF := #6 + 1 = 0 -00000705: NF := 31:31[#6 + 1] -0000070b: when ZF <> 1 goto %00000709 -0000114c: goto %00000c31 - -00000709: -00000711: R2 := 5 -00000716: R0 := 0 -0000071c: R1 := R0 + 0xEE8 -00000723: R0 := mem[R31 + 0x18, el]:u64 -00000728: R30 := 0xC04 -0000072b: call @strncmp with return %0000072d - -0000072d: -00000731: #7 := 31:0[R0] - 1 -00000736: VF := extend:33[#7 + 1] <> extend:33[31:0[R0]] + 0 -0000073b: CF := pad:33[#7 + 1] <> pad:33[31:0[R0]] - 0x100000000 -0000073f: ZF := #7 + 1 = 0 -00000743: NF := 31:31[#7 + 1] -00000749: when ZF <> 1 goto %00000747 -0000114d: goto %00000c0a - -00000747: -0000074f: R0 := 0 -00000755: R1 := R0 + 0xEF0 -0000075c: R0 := mem[R31 + 0x18, el]:u64 -00000761: R30 := 0xC34 -00000763: call @strcmp with return %00000765 - -00000765: -00000769: #8 := 31:0[R0] - 1 -0000076e: VF := extend:33[#8 + 1] <> extend:33[31:0[R0]] + 0 -00000773: CF := pad:33[#8 + 1] <> pad:33[31:0[R0]] - 0x100000000 -00000777: ZF := #8 + 1 = 0 -0000077b: NF := 31:31[#8 + 1] -00000781: when ZF <> 1 goto %0000077f -0000114e: goto %00000bff - -0000077f: -00000787: R0 := 0 -0000078d: R1 := R0 + 0xEF8 -00000794: R0 := mem[R31 + 0x18, el]:u64 -00000799: R30 := 0xC54 -0000079b: call @strcmp with return %0000079d - -0000079d: -000007a1: #9 := 31:0[R0] - 1 -000007a6: VF := extend:33[#9 + 1] <> extend:33[31:0[R0]] + 0 -000007ab: CF := pad:33[#9 + 1] <> pad:33[31:0[R0]] - 0x100000000 -000007af: ZF := #9 + 1 = 0 -000007b3: NF := 31:31[#9 + 1] -000007b9: when ZF <> 1 goto %000007b7 -0000114f: goto %00000bf4 - -000007b7: -000007bf: R0 := 0 -000007c5: R1 := R0 + 0xF00 -000007cc: R0 := mem[R31 + 0x18, el]:u64 -000007d1: R30 := 0xC74 -000007d3: call @strcmp with return %000007d5 - -000007d5: -000007d9: #10 := 31:0[R0] - 1 -000007de: VF := extend:33[#10 + 1] <> extend:33[31:0[R0]] + 0 -000007e3: CF := pad:33[#10 + 1] <> pad:33[31:0[R0]] - 0x100000000 -000007e7: ZF := #10 + 1 = 0 -000007eb: NF := 31:31[#10 + 1] -000007f1: when ZF <> 1 goto %000007ef -00001150: goto %00000baf - -00000baf: -00000bb2: R0 := 0x12000 -00000bb8: R0 := R0 + 0x20 -00000bbf: R0 := mem[R0, el]:u64 -00000bc5: #19 := R0 - 1 -00000bca: VF := extend:65[#19 + 1] <> extend:65[R0] + 0 -00000bcf: CF := pad:65[#19 + 1] <> pad:65[R0] - 0x10000000000000000 -00000bd3: ZF := #19 + 1 = 0 -00000bd7: NF := 63:63[#19 + 1] -00000bdd: when ZF goto %00000bdb -00001151: goto %00000bed - -00000bed: -00000bf0: R30 := 0xC94 -00000bf2: call @closeFile with return %00000bdb - -00000bdb: -00000be3: R0 := 0 -00000be8: R30 := 0xC9C -00000beb: call @exit with return %000007ef - -000007ef: -000007f7: R0 := 0 -000007fd: R0 := R0 + 0xF08 -00000802: R30 := 0xCA8 -00000805: call @puts with return %00000807 - -00000bf4: -00000bf7: R30 := 0xC60 -00000bf9: call @closeFile with return %00000bfb - -00000bfb: -00000bfd: goto %00000807 - -00000bff: -00000c02: R30 := 0xC40 -00000c04: call @saveFile with return %00000c06 - -00000c06: -00000c08: goto %00000807 - -00000c0a: -00000c0f: R0 := mem[R31 + 0x18, el]:u64 -00000c15: R0 := R0 + 5 -00000c1d: mem := mem with [R31 + 0x28, el]:u64 <- R0 -00000c24: R0 := mem[R31 + 0x28, el]:u64 -00000c29: R30 := 0xC20 -00000c2b: call @openFile with return %00000c2d - -00000c2d: -00000c2f: goto %00000807 - -00000c31: -00000c34: R30 := 0xBEC -00000c36: call @printHelp with return %00000c38 - -00000c38: -00000c3a: goto %00000807 - -00000807: -0000080e: R29 := mem[R31, el]:u64 -00000813: R30 := mem[R31 + 8, el]:u64 -00000817: R31 := R31 + 0x30 -0000081c: call R30 with noreturn - -00001152: sub main(main_argc, main_argv, main_result) -0000117f: main_argc :: in u32 = low:32[R0] -00001180: main_argv :: in out u64 = R1 -00001181: main_result :: out u32 = low:32[R0] - -000005f6: -000005fa: #4 := R31 - 0x120 -00000600: mem := mem with [#4, el]:u64 <- R29 -00000606: mem := mem with [#4 + 8, el]:u64 <- R30 -0000060a: R31 := #4 -00000610: R29 := R31 -00000615: R0 := 0x11000 -0000061c: R0 := mem[R0 + 0xFE8, el]:u64 -00000623: R1 := mem[R0, el]:u64 -0000062b: mem := mem with [R31 + 0x118, el]:u64 <- R1 -00000630: R1 := 0 -00001153: goto %00000632 - -00000632: -00000635: R0 := 0 -0000063b: R0 := R0 + 0xEC0 -00000640: R30 := 0xB7C -00000643: call @printf with return %00000645 - -00000645: -00000648: R0 := 0x11000 -0000064f: R0 := mem[R0 + 0xFD8, el]:u64 -00000656: R1 := mem[R0, el]:u64 -0000065c: R0 := R31 + 0x18 -00000662: R2 := R1 -00000667: R1 := 0x100 -0000066c: R30 := 0xB98 -0000066f: call @fgets with return %00000671 - -00000671: -00000675: R2 := R31 + 0x18 -0000067a: R0 := 0 -00000680: R1 := R0 + 0xED8 -00000686: R0 := R2 -0000068b: R30 := 0xBAC -0000068e: call @strcspn with return %00000690 - -00000690: -00000694: R1 := R0 -0000069a: R0 := R31 + 0x18 -000006a2: mem := mem with [R0 + R1] <- 0 -000006a8: R0 := R31 + 0x18 -000006ad: R30 := 0xBC0 -000006b0: call @handleInput with return %00000c3c - -00000c3c: -00000c3e: goto %00000632 - -00001154: sub openFile(openFile_result) -00001182: openFile_result :: out u32 = low:32[R0] - -000008bd: -000008c1: #12 := R31 - 0x20 -000008c7: mem := mem with [#12, el]:u64 <- R29 -000008cd: mem := mem with [#12 + 8, el]:u64 <- R30 -000008d1: R31 := #12 -000008d7: R29 := R31 -000008df: mem := mem with [R31 + 0x18, el]:u64 <- R0 -000008e4: R0 := 0x12000 -000008ea: R0 := R0 + 0x20 -000008f1: R0 := mem[R0, el]:u64 -000008f7: #13 := R0 - 1 -000008fc: VF := extend:65[#13 + 1] <> extend:65[R0] + 0 -00000901: CF := pad:65[#13 + 1] <> pad:65[R0] - 0x10000000000000000 -00000905: ZF := #13 + 1 = 0 -00000909: NF := 63:63[#13 + 1] -0000090f: when ZF goto %0000090d -00001155: goto %00000ba8 - -00000ba8: -00000bab: R30 := 0xD34 -00000bad: call @closeFile with return %0000090d - -0000090d: -00000917: R0 := mem[R31 + 0x18, el]:u64 -0000091c: R30 := 0xD3C -0000091f: call @strdup with return %00000921 - -00000921: -00000925: R1 := R0 -0000092a: R0 := 0x12000 -00000930: R0 := R0 + 0x18 -00000938: mem := mem with [R0, el]:u64 <- R1 -0000093d: R0 := 0x12000 -00000943: R0 := R0 + 0x18 -0000094a: R2 := mem[R0, el]:u64 -0000094f: R0 := 0x1000 -00000955: R1 := R0 + 0x60 -0000095b: R0 := R2 -00000960: R30 := 0xD68 -00000963: call @fopen with return %00000965 - -00000965: -00000969: R1 := R0 -0000096e: R0 := 0x12000 -00000974: R0 := R0 + 0x20 -0000097c: mem := mem with [R0, el]:u64 <- R1 -00000981: R0 := 0x12000 -00000987: R0 := R0 + 0x20 -0000098e: R0 := mem[R0, el]:u64 -00000994: #14 := R0 - 1 -00000999: VF := extend:65[#14 + 1] <> extend:65[R0] + 0 -0000099e: CF := pad:65[#14 + 1] <> pad:65[R0] - 0x10000000000000000 -000009a2: ZF := #14 + 1 = 0 -000009a6: NF := 63:63[#14 + 1] -000009ac: when ZF <> 1 goto %000009aa -00001156: goto %00000b7a - -000009aa: -000009b2: R0 := 0x12000 -000009b8: R0 := R0 + 0x18 -000009bf: R0 := mem[R0, el]:u64 -000009c5: R1 := R0 -000009ca: R0 := 0x1000 -000009d0: R0 := R0 + 0x88 -000009d5: R30 := 0xDC8 -000009d7: call @printf with return %000009d9 - -00000b7a: -00000b7d: R0 := 0x12000 -00000b83: R0 := R0 + 0x18 -00000b8a: R0 := mem[R0, el]:u64 -00000b90: R1 := R0 -00000b95: R0 := 0x1000 -00000b9b: R0 := R0 + 0x68 -00000ba0: R30 := 0xDA8 -00000ba2: call @printf with return %00000ba4 - -00000ba4: -00000ba6: goto %000009d9 - -000009d9: -000009e0: R29 := mem[R31, el]:u64 -000009e5: R30 := mem[R31 + 8, el]:u64 -000009e9: R31 := R31 + 0x20 -000009ee: call R30 with noreturn - -00001157: sub printHelp(printHelp_result) -00001183: printHelp_result :: out u32 = low:32[R0] - -0000081e: -00000822: #11 := R31 - 0x10 -00000828: mem := mem with [#11, el]:u64 <- R29 -0000082e: mem := mem with [#11 + 8, el]:u64 <- R30 -00000832: R31 := #11 -00000838: R29 := R31 -0000083d: R0 := 0 -00000843: R0 := R0 + 0xF40 -00000848: R30 := 0xCC8 -0000084a: call @puts with return %0000084c - -0000084c: -0000084f: R0 := 0 -00000855: R0 := R0 + 0xF50 -0000085a: R30 := 0xCD4 -0000085c: call @puts with return %0000085e - -0000085e: -00000861: R0 := 0 -00000867: R0 := R0 + 0xF88 -0000086c: R30 := 0xCE0 -0000086e: call @puts with return %00000870 - -00000870: -00000873: R0 := 0 -00000879: R0 := R0 + 0xFC0 -0000087e: R30 := 0xCEC -00000880: call @puts with return %00000882 - -00000882: -00000885: R0 := 0x1000 -0000088b: R0 := R0 -00000890: R30 := 0xCF8 -00000892: call @puts with return %00000894 - -00000894: -00000897: R0 := 0x1000 -0000089d: R0 := R0 + 0x30 -000008a2: R30 := 0xD04 -000008a4: call @puts with return %000008a6 - -000008a6: -000008ad: R29 := mem[R31, el]:u64 -000008b2: R30 := mem[R31 + 8, el]:u64 -000008b6: R31 := R31 + 0x10 -000008bb: call R30 with noreturn - -00001158: sub printf(printf_format, printf_result) -00001184: printf_format :: in u64 = R0 -00001185: printf_result :: out u32 = low:32[R0] - -00000641: -00000f4d: R16 := 0x11000 -00000f54: R17 := mem[R16 + 0xFB0, el]:u64 -00000f5a: R16 := R16 + 0xFB0 -00000f5f: call R17 with noreturn - -00001159: sub puts(puts_s, puts_result) -00001186: puts_s :: in u64 = R0 -00001187: puts_result :: out u32 = low:32[R0] - -00000803: -00000ef5: R16 := 0x11000 -00000efc: R17 := mem[R16 + 0xF90, el]:u64 -00000f02: R16 := R16 + 0xF90 -00000f07: call R17 with noreturn - -0000115a: sub register_tm_clones(register_tm_clones_result) -00001188: register_tm_clones_result :: out u32 = low:32[R0] - -0000055c: -0000055f: R0 := 0x12000 -00000565: R0 := R0 + 0x10 -0000056a: R1 := 0x12000 -00000570: R1 := R1 + 0x10 -00000577: R1 := R1 + ~R0 + 1 -0000057d: R2 := 0.63:63[R1] -00000584: R1 := R2 + (R1 ~>> 3) -0000058a: R1 := extend:64[63:1[R1]] -00000590: when R1 = 0 goto %0000058e -0000115b: goto %00000c7b - -00000c7b: -00000c7e: R2 := 0x11000 -00000c85: R2 := mem[R2 + 0xFF8, el]:u64 -00000c8a: when R2 = 0 goto %0000058e -0000115c: goto %00000c8e - -0000058e: -00000596: call R30 with noreturn - -00000c8e: -00000c92: R16 := R2 -00000c97: call R16 with noreturn - -0000115d: sub rewind(rewind_result) -00001189: rewind_result :: out u32 = low:32[R0] - -00000a53: -00000e9d: R16 := 0x11000 -00000ea4: R17 := mem[R16 + 0xF70, el]:u64 -00000eaa: R16 := R16 + 0xF70 -00000eaf: call R17 with noreturn - -0000115e: sub saveFile(saveFile_result) -0000118a: saveFile_result :: out u32 = low:32[R0] - -000009f0: -000009f4: #15 := R31 - 0x10 -000009fa: mem := mem with [#15, el]:u64 <- R29 -00000a00: mem := mem with [#15 + 8, el]:u64 <- R30 -00000a04: R31 := #15 -00000a0a: R29 := R31 -00000a0f: R0 := 0x12000 -00000a15: R0 := R0 + 0x20 -00000a1c: R0 := mem[R0, el]:u64 -00000a22: #16 := R0 - 1 -00000a27: VF := extend:65[#16 + 1] <> extend:65[R0] + 0 -00000a2c: CF := pad:65[#16 + 1] <> pad:65[R0] - 0x10000000000000000 -00000a30: ZF := #16 + 1 = 0 -00000a34: NF := 63:63[#16 + 1] -00000a3a: when ZF <> 1 goto %00000a38 -0000115f: goto %00000b64 - -00000a38: -00000a40: R0 := 0x12000 -00000a46: R0 := R0 + 0x20 -00000a4d: R0 := mem[R0, el]:u64 -00000a52: R30 := 0xE10 -00000a55: call @rewind with return %00000a57 - -00000a57: -00000a5a: R0 := 0x12000 -00000a60: R0 := R0 + 0x18 -00000a67: R0 := mem[R0, el]:u64 -00000a6d: R1 := R0 -00000a72: R0 := 0x1000 -00000a78: R0 := R0 + 0xC0 -00000a7d: R30 := 0xE2C -00000a7f: call @printf with return %00000a81 - -00000b64: -00000b67: R0 := 0x1000 -00000b6d: R0 := R0 + 0xA0 -00000b72: R30 := 0xDFC -00000b74: call @puts with return %00000b76 - -00000b76: -00000b78: goto %00000a81 - -00000a81: -00000a86: R29 := mem[R31, el]:u64 -00000a8b: R30 := mem[R31 + 8, el]:u64 -00000a8f: R31 := R31 + 0x10 -00000a94: call R30 with noreturn - -00001160: sub strcmp(strcmp_s1, strcmp_s2, strcmp_result) -0000118b: strcmp_s1 :: in u64 = R0 -0000118c: strcmp_s2 :: in u64 = R1 -0000118d: strcmp_result :: out u32 = low:32[R0] - -000006eb: -00000f0b: R16 := 0x11000 -00000f12: R17 := mem[R16 + 0xF98, el]:u64 -00000f18: R16 := R16 + 0xF98 -00000f1d: call R17 with noreturn - -00001161: sub strcspn(strcspn_s, strcspn_reject, strcspn_result) -0000118e: strcspn_s :: in u64 = R0 -0000118f: strcspn_reject :: in u64 = R1 -00001190: strcspn_result :: out u64 = R0 - -0000068c: -00000f37: R16 := 0x11000 -00000f3e: R17 := mem[R16 + 0xFA8, el]:u64 -00000f44: R16 := R16 + 0xFA8 -00000f49: call R17 with noreturn - -00001162: sub strdup(strdup_s, strdup_result) -00001191: strdup_s :: in u64 = R0 -00001192: strdup_result :: out u64 = R0 - -0000091d: -00000eb3: R16 := 0x11000 -00000eba: R17 := mem[R16 + 0xF78, el]:u64 -00000ec0: R16 := R16 + 0xF78 -00000ec5: call R17 with noreturn - -00001163: sub strncmp(strncmp_s1, strncmp_s2, strncmp_n, strncmp_result) -00001193: strncmp_s1 :: in u64 = R0 -00001194: strncmp_s2 :: in u64 = R1 -00001195: strncmp_n :: in u64 = R2 -00001196: strncmp_result :: out u32 = low:32[R0] - -00000729: -00000e87: R16 := 0x11000 -00000e8e: R17 := mem[R16 + 0xF68, el]:u64 -00000e94: R16 := R16 + 0xF68 -00000e99: call R17 with noreturn diff --git a/src/test/correct/complex/gcc/complex.relf b/src/test/correct/complex/gcc/complex.relf deleted file mode 100644 index f2ba537ec..000000000 --- a/src/test/correct/complex/gcc/complex.relf +++ /dev/null @@ -1,170 +0,0 @@ - -Relocation section '.rela.dyn' at offset 0x668 contains 10 entries: - Offset Info Type Symbol's Value Symbol's Name + Addend -0000000000011d18 0000000000000403 R_AARCH64_RELATIVE b50 -0000000000011d20 0000000000000403 R_AARCH64_RELATIVE b00 -0000000000011ff0 0000000000000403 R_AARCH64_RELATIVE b54 -0000000000012008 0000000000000403 R_AARCH64_RELATIVE 12008 -0000000000011fc8 0000000500000401 R_AARCH64_GLOB_DAT 0000000000000000 _ITM_deregisterTMCloneTable + 0 -0000000000011fd0 0000000600000401 R_AARCH64_GLOB_DAT 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0 -0000000000011fd8 0000000b00000401 R_AARCH64_GLOB_DAT 0000000000000000 stdin@GLIBC_2.17 + 0 -0000000000011fe0 0000000d00000401 R_AARCH64_GLOB_DAT 0000000000000000 __gmon_start__ + 0 -0000000000011fe8 0000000e00000401 R_AARCH64_GLOB_DAT 0000000000000000 __stack_chk_guard@GLIBC_2.17 + 0 -0000000000011ff8 0000001300000401 R_AARCH64_GLOB_DAT 0000000000000000 _ITM_registerTMCloneTable + 0 - -Relocation section '.rela.plt' at offset 0x758 contains 16 entries: - Offset Info Type Symbol's Value Symbol's Name + Addend -0000000000011f40 0000000300000402 R_AARCH64_JUMP_SLOT 0000000000000000 exit@GLIBC_2.17 + 0 -0000000000011f48 0000000400000402 R_AARCH64_JUMP_SLOT 0000000000000000 __libc_start_main@GLIBC_2.34 + 0 -0000000000011f50 0000000600000402 R_AARCH64_JUMP_SLOT 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0 -0000000000011f58 0000000700000402 R_AARCH64_JUMP_SLOT 0000000000000000 fclose@GLIBC_2.17 + 0 -0000000000011f60 0000000800000402 R_AARCH64_JUMP_SLOT 0000000000000000 fopen@GLIBC_2.17 + 0 -0000000000011f68 0000000900000402 R_AARCH64_JUMP_SLOT 0000000000000000 strncmp@GLIBC_2.17 + 0 -0000000000011f70 0000000a00000402 R_AARCH64_JUMP_SLOT 0000000000000000 rewind@GLIBC_2.17 + 0 -0000000000011f78 0000000c00000402 R_AARCH64_JUMP_SLOT 0000000000000000 strdup@GLIBC_2.17 + 0 -0000000000011f80 0000000d00000402 R_AARCH64_JUMP_SLOT 0000000000000000 __gmon_start__ + 0 -0000000000011f88 0000000f00000402 R_AARCH64_JUMP_SLOT 0000000000000000 abort@GLIBC_2.17 + 0 -0000000000011f90 0000001000000402 R_AARCH64_JUMP_SLOT 0000000000000000 puts@GLIBC_2.17 + 0 -0000000000011f98 0000001100000402 R_AARCH64_JUMP_SLOT 0000000000000000 strcmp@GLIBC_2.17 + 0 -0000000000011fa0 0000001200000402 R_AARCH64_JUMP_SLOT 0000000000000000 free@GLIBC_2.17 + 0 -0000000000011fa8 0000001400000402 R_AARCH64_JUMP_SLOT 0000000000000000 strcspn@GLIBC_2.17 + 0 -0000000000011fb0 0000001500000402 R_AARCH64_JUMP_SLOT 0000000000000000 printf@GLIBC_2.17 + 0 -0000000000011fb8 0000001600000402 R_AARCH64_JUMP_SLOT 0000000000000000 fgets@GLIBC_2.17 + 0 - -Symbol table '.dynsym' contains 23 entries: - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 00000000000008d8 0 SECTION LOCAL DEFAULT 11 .init - 2: 0000000000012000 0 SECTION LOCAL DEFAULT 22 .data - 3: 0000000000000000 0 FUNC GLOBAL DEFAULT UND exit@GLIBC_2.17 (2) - 4: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.34 (3) - 5: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable - 6: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 (2) - 7: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fclose@GLIBC_2.17 (2) - 8: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fopen@GLIBC_2.17 (2) - 9: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strncmp@GLIBC_2.17 (2) - 10: 0000000000000000 0 FUNC GLOBAL DEFAULT UND rewind@GLIBC_2.17 (2) - 11: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND stdin@GLIBC_2.17 (2) - 12: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strdup@GLIBC_2.17 (2) - 13: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 14: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND __stack_chk_guard@GLIBC_2.17 (4) - 15: 0000000000000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.17 (2) - 16: 0000000000000000 0 FUNC GLOBAL DEFAULT UND puts@GLIBC_2.17 (2) - 17: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcmp@GLIBC_2.17 (2) - 18: 0000000000000000 0 FUNC GLOBAL DEFAULT UND free@GLIBC_2.17 (2) - 19: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - 20: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcspn@GLIBC_2.17 (2) - 21: 0000000000000000 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.17 (2) - 22: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fgets@GLIBC_2.17 (2) - -Symbol table '.symtab' contains 109 entries: - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000238 0 SECTION LOCAL DEFAULT 1 .interp - 2: 0000000000000254 0 SECTION LOCAL DEFAULT 2 .note.gnu.build-id - 3: 0000000000000278 0 SECTION LOCAL DEFAULT 3 .note.ABI-tag - 4: 0000000000000298 0 SECTION LOCAL DEFAULT 4 .gnu.hash - 5: 00000000000002b8 0 SECTION LOCAL DEFAULT 5 .dynsym - 6: 00000000000004e0 0 SECTION LOCAL DEFAULT 6 .dynstr - 7: 00000000000005ea 0 SECTION LOCAL DEFAULT 7 .gnu.version - 8: 0000000000000618 0 SECTION LOCAL DEFAULT 8 .gnu.version_r - 9: 0000000000000668 0 SECTION LOCAL DEFAULT 9 .rela.dyn - 10: 0000000000000758 0 SECTION LOCAL DEFAULT 10 .rela.plt - 11: 00000000000008d8 0 SECTION LOCAL DEFAULT 11 .init - 12: 00000000000008f0 0 SECTION LOCAL DEFAULT 12 .plt - 13: 0000000000000a40 0 SECTION LOCAL DEFAULT 13 .text - 14: 0000000000000ea0 0 SECTION LOCAL DEFAULT 14 .fini - 15: 0000000000000eb8 0 SECTION LOCAL DEFAULT 15 .rodata - 16: 00000000000010f0 0 SECTION LOCAL DEFAULT 16 .eh_frame_hdr - 17: 0000000000001158 0 SECTION LOCAL DEFAULT 17 .eh_frame - 18: 0000000000011d18 0 SECTION LOCAL DEFAULT 18 .init_array - 19: 0000000000011d20 0 SECTION LOCAL DEFAULT 19 .fini_array - 20: 0000000000011d28 0 SECTION LOCAL DEFAULT 20 .dynamic - 21: 0000000000011f28 0 SECTION LOCAL DEFAULT 21 .got - 22: 0000000000012000 0 SECTION LOCAL DEFAULT 22 .data - 23: 0000000000012010 0 SECTION LOCAL DEFAULT 23 .bss - 24: 0000000000000000 0 SECTION LOCAL DEFAULT 24 .comment - 25: 0000000000000000 0 FILE LOCAL DEFAULT ABS Scrt1.o - 26: 0000000000000278 0 NOTYPE LOCAL DEFAULT 3 $d - 27: 0000000000000278 32 OBJECT LOCAL DEFAULT 3 __abi_tag - 28: 0000000000000a40 0 NOTYPE LOCAL DEFAULT 13 $x - 29: 000000000000116c 0 NOTYPE LOCAL DEFAULT 17 $d - 30: 0000000000000eb8 0 NOTYPE LOCAL DEFAULT 15 $d - 31: 0000000000000000 0 FILE LOCAL DEFAULT ABS crti.o - 32: 0000000000000a74 0 NOTYPE LOCAL DEFAULT 13 $x - 33: 0000000000000a74 20 FUNC LOCAL DEFAULT 13 call_weak_fn - 34: 00000000000008d8 0 NOTYPE LOCAL DEFAULT 11 $x - 35: 0000000000000ea0 0 NOTYPE LOCAL DEFAULT 14 $x - 36: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtn.o - 37: 00000000000008e8 0 NOTYPE LOCAL DEFAULT 11 $x - 38: 0000000000000eac 0 NOTYPE LOCAL DEFAULT 14 $x - 39: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 40: 0000000000000a90 0 NOTYPE LOCAL DEFAULT 13 $x - 41: 0000000000000a90 0 FUNC LOCAL DEFAULT 13 deregister_tm_clones - 42: 0000000000000ac0 0 FUNC LOCAL DEFAULT 13 register_tm_clones - 43: 0000000000012008 0 NOTYPE LOCAL DEFAULT 22 $d - 44: 0000000000000b00 0 FUNC LOCAL DEFAULT 13 __do_global_dtors_aux - 45: 0000000000012010 1 OBJECT LOCAL DEFAULT 23 completed.0 - 46: 0000000000011d20 0 NOTYPE LOCAL DEFAULT 19 $d - 47: 0000000000011d20 0 OBJECT LOCAL DEFAULT 19 __do_global_dtors_aux_fini_array_entry - 48: 0000000000000b50 0 FUNC LOCAL DEFAULT 13 frame_dummy - 49: 0000000000011d18 0 NOTYPE LOCAL DEFAULT 18 $d - 50: 0000000000011d18 0 OBJECT LOCAL DEFAULT 18 __frame_dummy_init_array_entry - 51: 0000000000001180 0 NOTYPE LOCAL DEFAULT 17 $d - 52: 0000000000012010 0 NOTYPE LOCAL DEFAULT 23 $d - 53: 0000000000000000 0 FILE LOCAL DEFAULT ABS complex.c - 54: 0000000000012018 0 NOTYPE LOCAL DEFAULT 23 $d - 55: 0000000000000ec0 0 NOTYPE LOCAL DEFAULT 15 $d - 56: 0000000000000b54 0 NOTYPE LOCAL DEFAULT 13 $x - 57: 00000000000011e0 0 NOTYPE LOCAL DEFAULT 17 $d - 58: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 59: 000000000000129c 0 NOTYPE LOCAL DEFAULT 17 $d - 60: 000000000000129c 0 OBJECT LOCAL DEFAULT 17 __FRAME_END__ - 61: 0000000000000000 0 FILE LOCAL DEFAULT ABS - 62: 0000000000011d28 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC - 63: 00000000000010f0 0 NOTYPE LOCAL DEFAULT 16 __GNU_EH_FRAME_HDR - 64: 0000000000011fc0 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ - 65: 00000000000008f0 0 NOTYPE LOCAL DEFAULT 12 $x - 66: 0000000000000cb4 92 FUNC GLOBAL DEFAULT 13 printHelp - 67: 0000000000000000 0 FUNC GLOBAL DEFAULT UND exit@GLIBC_2.17 - 68: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.34 - 69: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable - 70: 0000000000012000 0 NOTYPE WEAK DEFAULT 22 data_start - 71: 0000000000012010 0 NOTYPE GLOBAL DEFAULT 23 __bss_start__ - 72: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 - 73: 0000000000012028 0 NOTYPE GLOBAL DEFAULT 23 _bss_end__ - 74: 0000000000012010 0 NOTYPE GLOBAL DEFAULT 22 _edata - 75: 0000000000000d10 196 FUNC GLOBAL DEFAULT 13 openFile - 76: 0000000000000ea0 0 FUNC GLOBAL HIDDEN 14 _fini - 77: 0000000000012028 0 NOTYPE GLOBAL DEFAULT 23 __bss_end__ - 78: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fclose@GLIBC_2.17 - 79: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fopen@GLIBC_2.17 - 80: 0000000000000dd4 96 FUNC GLOBAL DEFAULT 13 saveFile - 81: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strncmp@GLIBC_2.17 - 82: 0000000000012018 8 OBJECT GLOBAL DEFAULT 23 currentFilename - 83: 0000000000000000 0 FUNC GLOBAL DEFAULT UND rewind@GLIBC_2.17 - 84: 0000000000012000 0 NOTYPE GLOBAL DEFAULT 22 __data_start - 85: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND stdin@GLIBC_2.17 - 86: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strdup@GLIBC_2.17 - 87: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 88: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND __stack_chk_guard@GLIBC_2.17 - 89: 0000000000012008 0 OBJECT GLOBAL HIDDEN 22 __dso_handle - 90: 0000000000000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.17 - 91: 0000000000000eb8 4 OBJECT GLOBAL DEFAULT 15 _IO_stdin_used - 92: 0000000000000000 0 FUNC GLOBAL DEFAULT UND puts@GLIBC_2.17 - 93: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcmp@GLIBC_2.17 - 94: 0000000000012020 8 OBJECT GLOBAL DEFAULT 23 currentFile - 95: 0000000000012028 0 NOTYPE GLOBAL DEFAULT 23 _end - 96: 0000000000000000 0 FUNC GLOBAL DEFAULT UND free@GLIBC_2.17 - 97: 0000000000000a40 52 FUNC GLOBAL DEFAULT 13 _start - 98: 0000000000012028 0 NOTYPE GLOBAL DEFAULT 23 __end__ - 99: 0000000000000e34 108 FUNC GLOBAL DEFAULT 13 closeFile - 100: 0000000000012010 0 NOTYPE GLOBAL DEFAULT 23 __bss_start - 101: 0000000000000b54 112 FUNC GLOBAL DEFAULT 13 main - 102: 0000000000012010 0 OBJECT GLOBAL HIDDEN 22 __TMC_END__ - 103: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - 104: 0000000000000bc4 240 FUNC GLOBAL DEFAULT 13 handleInput - 105: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcspn@GLIBC_2.17 - 106: 0000000000000000 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.17 - 107: 00000000000008d8 0 FUNC GLOBAL HIDDEN 11 _init - 108: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fgets@GLIBC_2.17 diff --git a/src/test/correct/complex/gcc_O2/complex.adt b/src/test/correct/complex/gcc_O2/complex.adt deleted file mode 100644 index bae44debd..000000000 --- a/src/test/correct/complex/gcc_O2/complex.adt +++ /dev/null @@ -1,1694 +0,0 @@ -Project(Attrs([Attr("filename","\"gcc_O2/complex.out\""), -Attr("image-specification","(declare abi (name str))\n(declare arch (name str))\n(declare base-address (addr int))\n(declare bias (off int))\n(declare bits (size int))\n(declare code-region (addr int) (size int) (off int))\n(declare code-start (addr int))\n(declare entry-point (addr int))\n(declare external-reference (addr int) (name str))\n(declare format (name str))\n(declare is-executable (flag bool))\n(declare is-little-endian (flag bool))\n(declare llvm:base-address (addr int))\n(declare llvm:code-entry (name str) (off int) (size int))\n(declare llvm:coff-import-library (name str))\n(declare llvm:coff-virtual-section-header (name str) (addr int) (size int))\n(declare llvm:elf-program-header (name str) (off int) (size int))\n(declare llvm:elf-program-header-flags (name str) (ld bool) (r bool) \n (w bool) (x bool))\n(declare llvm:elf-virtual-program-header (name str) (addr int) (size int))\n(declare llvm:entry-point (addr int))\n(declare llvm:macho-symbol (name str) (value int))\n(declare llvm:name-reference (at int) (name str))\n(declare llvm:relocation (at int) (addr int))\n(declare llvm:section-entry (name str) (addr int) (size int) (off int))\n(declare llvm:section-flags (name str) (r bool) (w bool) (x bool))\n(declare llvm:segment-command (name str) (off int) (size int))\n(declare llvm:segment-command-flags (name str) (r bool) (w bool) (x bool))\n(declare llvm:symbol-entry (name str) (addr int) (size int) (off int)\n (value int))\n(declare llvm:virtual-segment-command (name str) (addr int) (size int))\n(declare mapped (addr int) (size int) (off int))\n(declare named-region (addr int) (size int) (name str))\n(declare named-symbol (addr int) (name str))\n(declare require (name str))\n(declare section (addr int) (size int))\n(declare segment (addr int) (size int) (r bool) (w bool) (x bool))\n(declare subarch (name str))\n(declare symbol-chunk (addr int) (size int) (root int))\n(declare symbol-value (addr int) (value int))\n(declare system (name str))\n(declare vendor (name str))\n\n(abi unknown)\n(arch aarch64)\n(base-address 0)\n(bias 0)\n(bits 64)\n(code-region 3812 20 3812)\n(code-region 2624 1188 2624)\n(code-region 2304 288 2304)\n(code-region 2272 24 2272)\n(code-start 2804)\n(code-start 3040)\n(code-start 3124)\n(code-start 3652)\n(code-start 2752)\n(code-start 3732)\n(code-start 2624)\n(code-start 3296)\n(entry-point 2752)\n(external-reference 73672 _ITM_deregisterTMCloneTable)\n(external-reference 73680 __cxa_finalize)\n(external-reference 73696 __gmon_start__)\n(external-reference 73720 _ITM_registerTMCloneTable)\n(external-reference 73536 exit)\n(external-reference 73544 __libc_start_main)\n(external-reference 73552 __cxa_finalize)\n(external-reference 73560 fclose)\n(external-reference 73568 fopen)\n(external-reference 73576 strncmp)\n(external-reference 73584 __printf_chk)\n(external-reference 73592 rewind)\n(external-reference 73600 strdup)\n(external-reference 73608 __gmon_start__)\n(external-reference 73616 abort)\n(external-reference 73624 puts)\n(external-reference 73632 strcmp)\n(external-reference 73640 free)\n(external-reference 73648 strcspn)\n(external-reference 73656 fgets)\n(format elf)\n(is-executable true)\n(is-little-endian true)\n(llvm:base-address 0)\n(llvm:code-entry fgets 0 0)\n(llvm:code-entry strcspn 0 0)\n(llvm:code-entry free 0 0)\n(llvm:code-entry strcmp 0 0)\n(llvm:code-entry puts 0 0)\n(llvm:code-entry abort 0 0)\n(llvm:code-entry strdup 0 0)\n(llvm:code-entry rewind 0 0)\n(llvm:code-entry __printf_chk 0 0)\n(llvm:code-entry strncmp 0 0)\n(llvm:code-entry fopen 0 0)\n(llvm:code-entry fclose 0 0)\n(llvm:code-entry __cxa_finalize 0 0)\n(llvm:code-entry __libc_start_main 0 0)\n(llvm:code-entry exit 0 0)\n(llvm:code-entry fgets@GLIBC_2.17 0 0)\n(llvm:code-entry _init 2272 0)\n(llvm:code-entry strcspn@GLIBC_2.17 0 0)\n(llvm:code-entry handleInput 3296 356)\n(llvm:code-entry main 2624 124)\n(llvm:code-entry closeFile 3732 80)\n(llvm:code-entry _start 2752 52)\n(llvm:code-entry free@GLIBC_2.17 0 0)\n(llvm:code-entry strcmp@GLIBC_2.17 0 0)\n(llvm:code-entry puts@GLIBC_2.17 0 0)\n(llvm:code-entry abort@GLIBC_2.17 0 0)\n(llvm:code-entry strdup@GLIBC_2.17 0 0)\n(llvm:code-entry rewind@GLIBC_2.17 0 0)\n(llvm:code-entry __printf_chk@GLIBC_2.17 0 0)\n(llvm:code-entry strncmp@GLIBC_2.17 0 0)\n(llvm:code-entry saveFile 3652 80)\n(llvm:code-entry fopen@GLIBC_2.17 0 0)\n(llvm:code-entry fclose@GLIBC_2.17 0 0)\n(llvm:code-entry _fini 3812 0)\n(llvm:code-entry openFile 3124 164)\n(llvm:code-entry __cxa_finalize@GLIBC_2.17 0 0)\n(llvm:code-entry __libc_start_main@GLIBC_2.34 0 0)\n(llvm:code-entry exit@GLIBC_2.17 0 0)\n(llvm:code-entry printHelp 3040 84)\n(llvm:code-entry frame_dummy 3024 0)\n(llvm:code-entry __do_global_dtors_aux 2944 0)\n(llvm:code-entry register_tm_clones 2880 0)\n(llvm:code-entry deregister_tm_clones 2832 0)\n(llvm:code-entry call_weak_fn 2804 20)\n(llvm:code-entry .fini 3812 20)\n(llvm:code-entry .text 2624 1188)\n(llvm:code-entry .plt 2304 288)\n(llvm:code-entry .init 2272 24)\n(llvm:elf-program-header 08 7448 744)\n(llvm:elf-program-header 07 0 0)\n(llvm:elf-program-header 06 4388 100)\n(llvm:elf-program-header 05 596 68)\n(llvm:elf-program-header 04 7464 512)\n(llvm:elf-program-header 03 7448 760)\n(llvm:elf-program-header 02 0 4936)\n(llvm:elf-program-header 01 568 27)\n(llvm:elf-program-header 00 64 504)\n(llvm:elf-program-header-flags 08 false true false false)\n(llvm:elf-program-header-flags 07 false true true false)\n(llvm:elf-program-header-flags 06 false true false false)\n(llvm:elf-program-header-flags 05 false true false false)\n(llvm:elf-program-header-flags 04 false true true false)\n(llvm:elf-program-header-flags 03 true true true false)\n(llvm:elf-program-header-flags 02 true true false true)\n(llvm:elf-program-header-flags 01 false true false false)\n(llvm:elf-program-header-flags 00 false true false false)\n(llvm:elf-virtual-program-header 08 72984 744)\n(llvm:elf-virtual-program-header 07 0 0)\n(llvm:elf-virtual-program-header 06 4388 100)\n(llvm:elf-virtual-program-header 05 596 68)\n(llvm:elf-virtual-program-header 04 73000 512)\n(llvm:elf-virtual-program-header 03 72984 784)\n(llvm:elf-virtual-program-header 02 0 4936)\n(llvm:elf-virtual-program-header 01 568 27)\n(llvm:elf-virtual-program-header 00 64 504)\n(llvm:entry-point 2752)\n(llvm:name-reference 73656 fgets)\n(llvm:name-reference 73648 strcspn)\n(llvm:name-reference 73640 free)\n(llvm:name-reference 73632 strcmp)\n(llvm:name-reference 73624 puts)\n(llvm:name-reference 73616 abort)\n(llvm:name-reference 73608 __gmon_start__)\n(llvm:name-reference 73600 strdup)\n(llvm:name-reference 73592 rewind)\n(llvm:name-reference 73584 __printf_chk)\n(llvm:name-reference 73576 strncmp)\n(llvm:name-reference 73568 fopen)\n(llvm:name-reference 73560 fclose)\n(llvm:name-reference 73552 __cxa_finalize)\n(llvm:name-reference 73544 __libc_start_main)\n(llvm:name-reference 73536 exit)\n(llvm:name-reference 73720 _ITM_registerTMCloneTable)\n(llvm:name-reference 73696 __gmon_start__)\n(llvm:name-reference 73680 __cxa_finalize)\n(llvm:name-reference 73672 _ITM_deregisterTMCloneTable)\n(llvm:section-entry .shstrtab 0 250 11779)\n(llvm:section-entry .strtab 0 883 10896)\n(llvm:section-entry .symtab 0 2640 8256)\n(llvm:section-entry .comment 0 43 8208)\n(llvm:section-entry .bss 73744 24 8208)\n(llvm:section-entry .data 73728 16 8192)\n(llvm:section-entry .got 73512 216 7976)\n(llvm:section-entry .dynamic 73000 512 7464)\n(llvm:section-entry .fini_array 72992 8 7456)\n(llvm:section-entry .init_array 72984 8 7448)\n(llvm:section-entry .eh_frame 4488 448 4488)\n(llvm:section-entry .eh_frame_hdr 4388 100 4388)\n(llvm:section-entry .rodata 3832 554 3832)\n(llvm:section-entry .fini 3812 20 3812)\n(llvm:section-entry .text 2624 1188 2624)\n(llvm:section-entry .plt 2304 288 2304)\n(llvm:section-entry .init 2272 24 2272)\n(llvm:section-entry .rela.plt 1888 384 1888)\n(llvm:section-entry .rela.dyn 1648 240 1648)\n(llvm:section-entry .gnu.version_r 1568 80 1568)\n(llvm:section-entry .gnu.version 1520 46 1520)\n(llvm:section-entry .dynstr 1248 271 1248)\n(llvm:section-entry .dynsym 696 552 696)\n(llvm:section-entry .gnu.hash 664 28 664)\n(llvm:section-entry .note.ABI-tag 632 32 632)\n(llvm:section-entry .note.gnu.build-id 596 36 596)\n(llvm:section-entry .interp 568 27 568)\n(llvm:section-flags .shstrtab true false false)\n(llvm:section-flags .strtab true false false)\n(llvm:section-flags .symtab true false false)\n(llvm:section-flags .comment true false false)\n(llvm:section-flags .bss true true false)\n(llvm:section-flags .data true true false)\n(llvm:section-flags .got true true false)\n(llvm:section-flags .dynamic true true false)\n(llvm:section-flags .fini_array true true false)\n(llvm:section-flags .init_array true true false)\n(llvm:section-flags .eh_frame true false false)\n(llvm:section-flags .eh_frame_hdr true false false)\n(llvm:section-flags .rodata true false false)\n(llvm:section-flags .fini true false true)\n(llvm:section-flags .text true false true)\n(llvm:section-flags .plt true false true)\n(llvm:section-flags .init true false true)\n(llvm:section-flags .rela.plt true false false)\n(llvm:section-flags .rela.dyn true false false)\n(llvm:section-flags .gnu.version_r true false false)\n(llvm:section-flags .gnu.version true false false)\n(llvm:section-flags .dynstr true false false)\n(llvm:section-flags .dynsym true false false)\n(llvm:section-flags .gnu.hash true false false)\n(llvm:section-flags .note.ABI-tag true false false)\n(llvm:section-flags .note.gnu.build-id true false false)\n(llvm:section-flags .interp true false false)\n(llvm:symbol-entry fgets 0 0 0 0)\n(llvm:symbol-entry strcspn 0 0 0 0)\n(llvm:symbol-entry free 0 0 0 0)\n(llvm:symbol-entry strcmp 0 0 0 0)\n(llvm:symbol-entry puts 0 0 0 0)\n(llvm:symbol-entry abort 0 0 0 0)\n(llvm:symbol-entry strdup 0 0 0 0)\n(llvm:symbol-entry rewind 0 0 0 0)\n(llvm:symbol-entry __printf_chk 0 0 0 0)\n(llvm:symbol-entry strncmp 0 0 0 0)\n(llvm:symbol-entry fopen 0 0 0 0)\n(llvm:symbol-entry fclose 0 0 0 0)\n(llvm:symbol-entry __cxa_finalize 0 0 0 0)\n(llvm:symbol-entry __libc_start_main 0 0 0 0)\n(llvm:symbol-entry exit 0 0 0 0)\n(llvm:symbol-entry fgets@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry _init 2272 0 2272 2272)\n(llvm:symbol-entry strcspn@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry handleInput 3296 356 3296 3296)\n(llvm:symbol-entry main 2624 124 2624 2624)\n(llvm:symbol-entry closeFile 3732 80 3732 3732)\n(llvm:symbol-entry _start 2752 52 2752 2752)\n(llvm:symbol-entry free@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strcmp@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry puts@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry abort@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strdup@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry rewind@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry __printf_chk@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strncmp@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry saveFile 3652 80 3652 3652)\n(llvm:symbol-entry fopen@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry fclose@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry _fini 3812 0 3812 3812)\n(llvm:symbol-entry openFile 3124 164 3124 3124)\n(llvm:symbol-entry __cxa_finalize@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry __libc_start_main@GLIBC_2.34 0 0 0 0)\n(llvm:symbol-entry exit@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry printHelp 3040 84 3040 3040)\n(llvm:symbol-entry frame_dummy 3024 0 3024 3024)\n(llvm:symbol-entry __do_global_dtors_aux 2944 0 2944 2944)\n(llvm:symbol-entry register_tm_clones 2880 0 2880 2880)\n(llvm:symbol-entry deregister_tm_clones 2832 0 2832 2832)\n(llvm:symbol-entry call_weak_fn 2804 20 2804 2804)\n(mapped 0 4936 0)\n(mapped 72984 760 7448)\n(named-region 0 4936 02)\n(named-region 72984 784 03)\n(named-region 568 27 .interp)\n(named-region 596 36 .note.gnu.build-id)\n(named-region 632 32 .note.ABI-tag)\n(named-region 664 28 .gnu.hash)\n(named-region 696 552 .dynsym)\n(named-region 1248 271 .dynstr)\n(named-region 1520 46 .gnu.version)\n(named-region 1568 80 .gnu.version_r)\n(named-region 1648 240 .rela.dyn)\n(named-region 1888 384 .rela.plt)\n(named-region 2272 24 .init)\n(named-region 2304 288 .plt)\n(named-region 2624 1188 .text)\n(named-region 3812 20 .fini)\n(named-region 3832 554 .rodata)\n(named-region 4388 100 .eh_frame_hdr)\n(named-region 4488 448 .eh_frame)\n(named-region 72984 8 .init_array)\n(named-region 72992 8 .fini_array)\n(named-region 73000 512 .dynamic)\n(named-region 73512 216 .got)\n(named-region 73728 16 .data)\n(named-region 73744 24 .bss)\n(named-region 0 43 .comment)\n(named-region 0 2640 .symtab)\n(named-region 0 883 .strtab)\n(named-region 0 250 .shstrtab)\n(named-symbol 2804 call_weak_fn)\n(named-symbol 2832 deregister_tm_clones)\n(named-symbol 2880 register_tm_clones)\n(named-symbol 2944 __do_global_dtors_aux)\n(named-symbol 3024 frame_dummy)\n(named-symbol 3040 printHelp)\n(named-symbol 0 exit@GLIBC_2.17)\n(named-symbol 0 __libc_start_main@GLIBC_2.34)\n(named-symbol 0 __cxa_finalize@GLIBC_2.17)\n(named-symbol 3124 openFile)\n(named-symbol 3812 _fini)\n(named-symbol 0 fclose@GLIBC_2.17)\n(named-symbol 0 fopen@GLIBC_2.17)\n(named-symbol 3652 saveFile)\n(named-symbol 0 strncmp@GLIBC_2.17)\n(named-symbol 0 __printf_chk@GLIBC_2.17)\n(named-symbol 0 rewind@GLIBC_2.17)\n(named-symbol 0 strdup@GLIBC_2.17)\n(named-symbol 0 abort@GLIBC_2.17)\n(named-symbol 0 puts@GLIBC_2.17)\n(named-symbol 0 strcmp@GLIBC_2.17)\n(named-symbol 0 free@GLIBC_2.17)\n(named-symbol 2752 _start)\n(named-symbol 3732 closeFile)\n(named-symbol 2624 main)\n(named-symbol 3296 handleInput)\n(named-symbol 0 strcspn@GLIBC_2.17)\n(named-symbol 2272 _init)\n(named-symbol 0 fgets@GLIBC_2.17)\n(named-symbol 0 exit)\n(named-symbol 0 __libc_start_main)\n(named-symbol 0 __cxa_finalize)\n(named-symbol 0 fclose)\n(named-symbol 0 fopen)\n(named-symbol 0 strncmp)\n(named-symbol 0 __printf_chk)\n(named-symbol 0 rewind)\n(named-symbol 0 strdup)\n(named-symbol 0 abort)\n(named-symbol 0 puts)\n(named-symbol 0 strcmp)\n(named-symbol 0 free)\n(named-symbol 0 strcspn)\n(named-symbol 0 fgets)\n(require ld-linux-aarch64.so.1)\n(require libc.so.6)\n(section 568 27)\n(section 596 36)\n(section 632 32)\n(section 664 28)\n(section 696 552)\n(section 1248 271)\n(section 1520 46)\n(section 1568 80)\n(section 1648 240)\n(section 1888 384)\n(section 2272 24)\n(section 2304 288)\n(section 2624 1188)\n(section 3812 20)\n(section 3832 554)\n(section 4388 100)\n(section 4488 448)\n(section 72984 8)\n(section 72992 8)\n(section 73000 512)\n(section 73512 216)\n(section 73728 16)\n(section 73744 24)\n(section 0 43)\n(section 0 2640)\n(section 0 883)\n(section 0 250)\n(segment 0 4936 true false true)\n(segment 72984 784 true true false)\n(subarch v8)\n(symbol-chunk 2804 20 2804)\n(symbol-chunk 3040 84 3040)\n(symbol-chunk 3124 164 3124)\n(symbol-chunk 3652 80 3652)\n(symbol-chunk 2752 52 2752)\n(symbol-chunk 3732 80 3732)\n(symbol-chunk 2624 124 2624)\n(symbol-chunk 3296 356 3296)\n(symbol-value 2804 2804)\n(symbol-value 2832 2832)\n(symbol-value 2880 2880)\n(symbol-value 2944 2944)\n(symbol-value 3024 3024)\n(symbol-value 3040 3040)\n(symbol-value 3124 3124)\n(symbol-value 3812 3812)\n(symbol-value 3652 3652)\n(symbol-value 2752 2752)\n(symbol-value 3732 3732)\n(symbol-value 2624 2624)\n(symbol-value 3296 3296)\n(symbol-value 2272 2272)\n(symbol-value 0 0)\n(system \"\")\n(vendor \"\")\n"), -Attr("abi-name","\"aarch64-linux-gnu-elf\"")]), -Sections([Section(".shstrtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\xc0\x0a\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1c\x00\x1b\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x13\x00\x00\x00\x00\x00\x00\x48\x13\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x18\x1d\x00\x00\x00\x00\x00\x00\x18\x1d"), -Section(".strtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\xc0\x0a\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1c\x00\x1b\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x13\x00\x00\x00\x00\x00\x00\x48\x13\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x18\x1d\x00\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\xf8\x02\x00\x00\x00\x00\x00\x00\x10\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x28\x1d\x00\x00\x00\x00\x00\x00\x28\x1d\x01\x00\x00\x00\x00\x00\x28\x1d\x01\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x50\xe5\x74\x64\x04\x00\x00\x00\x24\x11\x00\x00\x00\x00\x00\x00\x24\x11\x00\x00\x00\x00\x00\x00\x24\x11\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x51\xe5\x74\x64\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x52\xe5\x74\x64\x04\x00\x00\x00\x18\x1d\x00\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\xe8\x02\x00\x00\x00\x00\x00\x00\xe8\x02\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00\x00\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\x6f\xaf\xdb\x0e\xd9\x30\x80\x0b\x20\xe1\x32\xfd\xcf\xd5\xd6\x9c\x25\x91\xd4\xbc\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\xe0\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x16\x00\x00\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".symtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\xc0\x0a\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1c\x00\x1b\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x13\x00\x00\x00\x00\x00\x00\x48\x13\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x18\x1d\x00\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\xf8\x02\x00\x00\x00\x00\x00\x00\x10\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x28\x1d\x00\x00\x00\x00\x00\x00\x28\x1d\x01\x00\x00\x00\x00\x00\x28\x1d\x01\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x50\xe5\x74\x64\x04\x00\x00\x00\x24\x11\x00\x00\x00\x00\x00\x00\x24\x11\x00\x00\x00\x00\x00\x00\x24\x11\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x51\xe5\x74\x64\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x52\xe5\x74\x64\x04\x00\x00\x00\x18\x1d\x00\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\xe8\x02\x00\x00\x00\x00\x00\x00\xe8\x02\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00\x00\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\x6f\xaf\xdb\x0e\xd9\x30\x80\x0b\x20\xe1\x32\xfd\xcf\xd5\xd6\x9c\x25\x91\xd4\xbc\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\xe0\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x16\x00\x00\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe6\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x5f\x63\x78\x61\x5f\x66\x69\x6e\x61\x6c\x69\x7a\x65\x00\x66\x67\x65\x74\x73\x00\x5f\x5f\x70\x72\x69\x6e\x74\x66\x5f\x63\x68\x6b\x00\x73\x74\x72\x63\x73\x70\x6e\x00\x5f\x5f\x6c\x69\x62\x63\x5f\x73\x74\x61\x72\x74\x5f\x6d\x61\x69\x6e\x00\x73\x74\x72\x63\x6d\x70\x00\x66\x6f\x70\x65\x6e\x00\x66\x63\x6c\x6f\x73\x65\x00\x73\x74\x72\x6e\x63\x6d\x70\x00\x70\x75\x74\x73\x00\x66\x72\x65\x65\x00\x73\x74\x72\x64\x75\x70\x00\x73\x74\x64\x69\x6e\x00\x61\x62\x6f\x72\x74\x00\x65\x78\x69\x74\x00\x72\x65\x77\x69\x6e\x64\x00\x5f\x5f\x73\x74\x61\x63\x6b\x5f\x63\x68\x6b\x5f\x67\x75\x61\x72\x64\x00\x6c\x69\x62\x63\x2e\x73\x6f\x2e\x36\x00\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x31\x37\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x33\x34\x00\x5f\x49\x54\x4d\x5f\x64\x65\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x5f\x5f\x67\x6d\x6f\x6e\x5f\x73\x74\x61\x72\x74\x5f\x5f\x00\x5f\x49\x54\x4d\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x04\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x02\x00\x00\x00\x01\x00\x01\x00\x9e\x00\x00\x00\x10\x00\x00\x00\x20\x00\x00\x00\x97\x91\x96\x06\x00\x00\x04\x00\xb4\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x94\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\xb4\x91\x96\x06\x00\x00\x03\x00\xbf\x00\x00\x00\x10\x00\x00\x00\x97\x91\x96\x06\x00\x00\x02\x00\xb4\x00\x00\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\xd0\x0b\x00\x00\x00\x00\x00\x00\x20\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x80\x0b\x00\x00\x00\x00\x00\x00\xf0\x1f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x40\x0a\x00\x00\x00\x00\x00\x00\x08\x20\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x08\x20\x01\x00\x00\x00\x00\x00\xc8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x82\x00\x00\x94\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x7b\xbf\xa9\x90\x00\x00\xb0\x11\x9e\x47\xf9\x10\xe2\x3c\x91\x20\x02\x1f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x90\x00\x00\xb0\x11\xa2\x47\xf9\x10\x02\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xa6\x47\xf9\x10\x22\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xaa\x47\xf9\x10\x42\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xae\x47\xf9\x10\x62\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xb2\x47\xf9\x10\x82\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xb6\x47\xf9\x10\xa2\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xba\x47\xf9\x10\xc2\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xbe\x47\xf9\x10\xe2\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xc2\x47\xf9\x10\x02\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xc6\x47\xf9\x10\x22\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xca\x47\xf9\x10\x42\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xce\x47\xf9\x10\x62\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xd2\x47\xf9\x10\x82\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xd6\x47\xf9\x10\xa2\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xda\x47\xf9\x10\xc2\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xde\x47\xf9\x10\xe2\x3e\x91\x20\x02\x1f\xd6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x7b\xac\xa9\x80\x00\x00\xb0\xfd\x03\x00\x91\x00\xf4\x47\xf9"), -Section(".comment", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\xc0\x0a\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x00"), -Section(".interp", 0x238, "\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00"), -Section(".note.gnu.build-id", 0x254, "\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\x6f\xaf\xdb\x0e\xd9\x30\x80\x0b\x20\xe1\x32\xfd\xcf\xd5\xd6\x9c\x25\x91\xd4\xbc"), -Section(".note.ABI-tag", 0x278, "\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00"), -Section(".gnu.hash", 0x298, "\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".dynsym", 0x2B8, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\xe0\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x16\x00\x00\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe6\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".dynstr", 0x4E0, "\x00\x5f\x5f\x63\x78\x61\x5f\x66\x69\x6e\x61\x6c\x69\x7a\x65\x00\x66\x67\x65\x74\x73\x00\x5f\x5f\x70\x72\x69\x6e\x74\x66\x5f\x63\x68\x6b\x00\x73\x74\x72\x63\x73\x70\x6e\x00\x5f\x5f\x6c\x69\x62\x63\x5f\x73\x74\x61\x72\x74\x5f\x6d\x61\x69\x6e\x00\x73\x74\x72\x63\x6d\x70\x00\x66\x6f\x70\x65\x6e\x00\x66\x63\x6c\x6f\x73\x65\x00\x73\x74\x72\x6e\x63\x6d\x70\x00\x70\x75\x74\x73\x00\x66\x72\x65\x65\x00\x73\x74\x72\x64\x75\x70\x00\x73\x74\x64\x69\x6e\x00\x61\x62\x6f\x72\x74\x00\x65\x78\x69\x74\x00\x72\x65\x77\x69\x6e\x64\x00\x5f\x5f\x73\x74\x61\x63\x6b\x5f\x63\x68\x6b\x5f\x67\x75\x61\x72\x64\x00\x6c\x69\x62\x63\x2e\x73\x6f\x2e\x36\x00\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x31\x37\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x33\x34\x00\x5f\x49\x54\x4d\x5f\x64\x65\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x5f\x5f\x67\x6d\x6f\x6e\x5f\x73\x74\x61\x72\x74\x5f\x5f\x00\x5f\x49\x54\x4d\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00"), -Section(".gnu.version", 0x5F0, "\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x04\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x02\x00"), -Section(".gnu.version_r", 0x620, "\x01\x00\x01\x00\x9e\x00\x00\x00\x10\x00\x00\x00\x20\x00\x00\x00\x97\x91\x96\x06\x00\x00\x04\x00\xb4\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x94\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\xb4\x91\x96\x06\x00\x00\x03\x00\xbf\x00\x00\x00\x10\x00\x00\x00\x97\x91\x96\x06\x00\x00\x02\x00\xb4\x00\x00\x00\x00\x00\x00\x00"), -Section(".rela.dyn", 0x670, "\x18\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\xd0\x0b\x00\x00\x00\x00\x00\x00\x20\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x80\x0b\x00\x00\x00\x00\x00\x00\xf0\x1f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x40\x0a\x00\x00\x00\x00\x00\x00\x08\x20\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x08\x20\x01\x00\x00\x00\x00\x00\xc8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".rela.plt", 0x760, "\x40\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".init", 0x8E0, "\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x82\x00\x00\x94\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".plt", 0x900, "\xf0\x7b\xbf\xa9\x90\x00\x00\xb0\x11\x9e\x47\xf9\x10\xe2\x3c\x91\x20\x02\x1f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x90\x00\x00\xb0\x11\xa2\x47\xf9\x10\x02\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xa6\x47\xf9\x10\x22\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xaa\x47\xf9\x10\x42\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xae\x47\xf9\x10\x62\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xb2\x47\xf9\x10\x82\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xb6\x47\xf9\x10\xa2\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xba\x47\xf9\x10\xc2\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xbe\x47\xf9\x10\xe2\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xc2\x47\xf9\x10\x02\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xc6\x47\xf9\x10\x22\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xca\x47\xf9\x10\x42\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xce\x47\xf9\x10\x62\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xd2\x47\xf9\x10\x82\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xd6\x47\xf9\x10\xa2\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xda\x47\xf9\x10\xc2\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xde\x47\xf9\x10\xe2\x3e\x91\x20\x02\x1f\xd6"), -Section(".text", 0xA40, "\xfd\x7b\xac\xa9\x80\x00\x00\xb0\xfd\x03\x00\x91\x00\xf4\x47\xf9\xf5\x5b\x02\xa9\x95\x00\x00\xb0\xf3\x53\x01\xa9\x16\x00\x00\xb0\x14\x00\x00\xb0\xb5\xee\x47\xf9\xd6\x42\x04\x91\x01\x00\x40\xf9\xe1\x9f\x00\xf9\x01\x00\x80\xd2\x94\xa2\x01\x91\xf3\xe3\x00\x91\xe1\x03\x16\xaa\x20\x00\x80\x52\xbe\xff\xff\x97\xa2\x02\x40\xf9\xe0\x03\x13\xaa\x01\x20\x80\x52\xde\xff\xff\x97\xe1\x03\x14\xaa\xe0\x03\x13\xaa\xd7\xff\xff\x97\xe1\x03\x00\xaa\xe0\x03\x13\xaa\x7f\x6a\x21\x38\x8b\x00\x00\x94\xf2\xff\xff\x17\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1d\x00\x80\xd2\x1e\x00\x80\xd2\xe5\x03\x00\xaa\xe1\x03\x40\xf9\xe2\x23\x00\x91\xe6\x03\x00\x91\x80\x00\x00\xb0\x00\xf8\x47\xf9\x03\x00\x80\xd2\x04\x00\x80\xd2\x91\xff\xff\x97\xb4\xff\xff\x97\x80\x00\x00\xb0\x00\xf0\x47\xf9\x40\x00\x00\xb4\xac\xff\xff\x17\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x80\x00\x00\xd0\x00\x40\x00\x91\x81\x00\x00\xd0\x21\x40\x00\x91\x3f\x00\x00\xeb\xc0\x00\x00\x54\x81\x00\x00\xb0\x21\xe4\x47\xf9\x61\x00\x00\xb4\xf0\x03\x01\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x80\x00\x00\xd0\x00\x40\x00\x91\x81\x00\x00\xd0\x21\x40\x00\x91\x21\x00\x00\xcb\x22\xfc\x7f\xd3\x41\x0c\x81\x8b\x21\xfc\x41\x93\xc1\x00\x00\xb4\x82\x00\x00\xb0\x42\xfc\x47\xf9\x62\x00\x00\xb4\xf0\x03\x02\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\xfd\x7b\xbe\xa9\xfd\x03\x00\x91\xf3\x0b\x00\xf9\x93\x00\x00\xd0\x60\x42\x40\x39\x40\x01\x00\x35\x80\x00\x00\xb0\x00\xe8\x47\xf9\x80\x00\x00\xb4\x80\x00\x00\xd0\x00\x04\x40\xf9\x65\xff\xff\x97\xd8\xff\xff\x97\x20\x00\x80\x52\x60\x42\x00\x39\xf3\x0b\x40\xf9\xfd\x7b\xc2\xa8\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\xdc\xff\xff\x17\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\x00\x00\x00\x90\x00\x00\x3c\x91\xfd\x03\x00\x91\x78\xff\xff\x97\x00\x00\x00\x90\x00\x40\x3c\x91\x75\xff\xff\x97\x00\x00\x00\x90\x00\x20\x3d\x91\x72\xff\xff\x97\x00\x00\x00\x90\x00\x00\x3e\x91\x6f\xff\xff\x97\x00\x00\x00\x90\x00\x00\x3f\x91\x6c\xff\xff\x97\xfd\x7b\xc1\xa8\x00\x00\x00\x90\x00\xc0\x3f\x91\x68\xff\xff\x17\xfd\x7b\xbd\xa9\xfd\x03\x00\x91\xf3\x53\x01\xa9\x93\x00\x00\xd0\xf4\x03\x00\xaa\x60\x0e\x40\xf9\xf5\x13\x00\xf9\x40\x01\x00\xb4\x75\x62\x00\x91\x3e\xff\xff\x97\xa0\x06\x40\xf9\x64\xff\xff\x97\x7f\x0e\x00\xf9\x00\x00\x00\xb0\x00\x80\x00\x91\xbf\x06\x00\xf9\x57\xff\xff\x97\x75\x62\x00\x91\xe0\x03\x14\xaa\x48\xff\xff\x97\x01\x00\x00\xb0\x21\xc0\x00\x91\xa0\x06\x00\xf9\x34\xff\xff\x97\x60\x0e\x00\xf9\xa2\x06\x40\xf9\x00\x01\x00\xb4\xf3\x53\x41\xa9\x01\x00\x00\xb0\xf5\x13\x40\xf9\x21\x60\x01\x91\xfd\x7b\xc3\xa8\x20\x00\x80\x52\x32\xff\xff\x17\xf3\x53\x41\xa9\x01\x00\x00\xb0\xf5\x13\x40\xf9\x21\xe0\x00\x91\xfd\x7b\xc3\xa8\x20\x00\x80\x52\x2b\xff\xff\x17\x1f\x20\x03\xd5\x1f\x20\x03\xd5\xfd\x7b\xbe\xa9\x01\x00\x00\xb0\x21\xc0\x01\x91\xfd\x03\x00\x91\xf3\x53\x01\xa9\xf3\x03\x00\xaa\x3a\xff\xff\x97\x00\x05\x00\x34\x01\x00\x00\xb0\xe0\x03\x13\xaa\x21\xe0\x01\x91\xa2\x00\x80\x52\x18\xff\xff\x97\xc0\x03\x00\x34\x01\x00\x00\xb0\xe0\x03\x13\xaa\x21\x00\x02\x91\x2f\xff\xff\x97\xa0\x04\x00\x34\x01\x00\x00\xb0\xe0\x03\x13\xaa\x21\x20\x03\x91\x2a\xff\xff\x97\x80\x05\x00\x34\x01\x00\x00\xb0\xe0\x03\x13\xaa\x21\x40\x03\x91\x25\xff\xff\x97\xc0\x02\x00\x35\x93\x00\x00\xd0\x74\x62\x00\x91\x60\x0e\x40\xf9\x20\x01\x00\xb4\xfb\xfe\xff\x97\x80\x06\x40\xf9\x21\xff\xff\x97\x7f\x0e\x00\xf9\x00\x00\x00\xb0\x00\x80\x00\x91\x9f\x06\x00\xf9\x14\xff\xff\x97\x00\x00\x80\x52\xe6\xfe\xff\x97\x60\x16\x00\x91\xf3\x53\x41\xa9\xfd\x7b\xc2\xa8\xa7\xff\xff\x17\xf3\x53\x41\xa9\xfd\x7b\xc2\xa8\x8f\xff\xff\x17\xf3\x53\x41\xa9\x00\x00\x00\xb0\xfd\x7b\xc2\xa8\x00\x60\x03\x91\x06\xff\xff\x17\x80\x00\x00\xd0\x13\x60\x00\x91\x00\x0c\x40\xf9\x40\x03\x00\xb4\xf1\xfe\xff\x97\x62\x06\x40\xf9\x01\x00\x00\xb0\xf3\x53\x41\xa9\x21\xa0\x02\x91\xfd\x7b\xc2\xa8\x20\x00\x80\x52\xe6\xfe\xff\x17\x93\x00\x00\xd0\x74\x62\x00\x91\x60\x0e\x40\xf9\x60\x01\x00\xb4\xd5\xfe\xff\x97\x80\x06\x40\xf9\xfb\xfe\xff\x97\x7f\x0e\x00\xf9\x9f\x06\x00\xf9\x00\x00\x00\xb0\xf3\x53\x41\xa9\x00\x80\x00\x91\xfd\x7b\xc2\xa8\xec\xfe\xff\x17\xf3\x53\x41\xa9\xfd\x7b\xc2\xa8\xc0\x03\x5f\xd6\xf3\x53\x41\xa9\x00\x00\x00\xb0\xfd\x7b\xc2\xa8\x00\x20\x02\x91\xe4\xfe\xff\x17\xfd\x7b\xbe\xa9\x80\x00\x00\xd0\xfd\x03\x00\x91\xf3\x0b\x00\xf9\x13\x60\x00\x91\x00\x0c\x40\xf9\x20\x01\x00\xb4\xcc\xfe\xff\x97\x62\x06\x40\xf9\x01\x00\x00\xb0\xf3\x0b\x40\xf9\x21\xa0\x02\x91\xfd\x7b\xc2\xa8\x20\x00\x80\x52\xc1\xfe\xff\x17\xf3\x0b\x40\xf9\x00\x00\x00\xb0\xfd\x7b\xc2\xa8\x00\x20\x02\x91\xd0\xfe\xff\x17\xfd\x7b\xbe\xa9\xfd\x03\x00\x91\xf3\x53\x01\xa9\x93\x00\x00\xd0\x60\x0e\x40\xf9\x80\x01\x00\xb4\x74\x62\x00\x91\xa8\xfe\xff\x97\x80\x06\x40\xf9\xce\xfe\xff\x97\x7f\x0e\x00\xf9\x9f\x06\x00\xf9\x00\x00\x00\xb0\xf3\x53\x41\xa9\x00\x80\x00\x91\xfd\x7b\xc2\xa8\xbf\xfe\xff\x17\xf3\x53\x41\xa9\xfd\x7b\xc2\xa8\xc0\x03\x5f\xd6"), -Section(".fini", 0xEE4, "\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".rodata", 0xEF8, "\x01\x00\x02\x00\x00\x00\x00\x00\x43\x6f\x6d\x6d\x61\x6e\x64\x73\x3a\x00\x00\x00\x00\x00\x00\x00\x20\x20\x68\x65\x6c\x70\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x44\x69\x73\x70\x6c\x61\x79\x20\x74\x68\x69\x73\x20\x68\x65\x6c\x70\x20\x6d\x65\x73\x73\x61\x67\x65\x00\x00\x00\x00\x00\x00\x20\x20\x6f\x70\x65\x6e\x20\x3c\x66\x69\x6c\x65\x6e\x61\x6d\x65\x3e\x20\x20\x20\x20\x20\x20\x2d\x20\x4f\x70\x65\x6e\x20\x61\x20\x66\x69\x6c\x65\x20\x66\x6f\x72\x20\x65\x64\x69\x74\x69\x6e\x67\x00\x00\x00\x00\x00\x00\x00\x00\x20\x20\x73\x61\x76\x65\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x53\x61\x76\x65\x20\x63\x68\x61\x6e\x67\x65\x73\x20\x74\x6f\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x66\x69\x6c\x65\x00\x00\x00\x00\x00\x00\x00\x20\x20\x63\x6c\x6f\x73\x65\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x43\x6c\x6f\x73\x65\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x66\x69\x6c\x65\x00\x20\x20\x65\x78\x69\x74\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x45\x78\x69\x74\x20\x74\x68\x65\x20\x65\x64\x69\x74\x6f\x72\x00\x00\x00\x00\x00\x00\x00\x00\x43\x6c\x6f\x73\x65\x64\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x00\x72\x2b\x00\x00\x00\x00\x00\x00\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x6f\x70\x65\x6e\x20\x66\x69\x6c\x65\x20\x27\x25\x73\x27\x0a\x00\x00\x00\x00\x00\x00\x00\x4f\x70\x65\x6e\x65\x64\x20\x66\x69\x6c\x65\x20\x27\x25\x73\x27\x0a\x00\x00\x00\x00\x00\x00\x00\x68\x65\x6c\x70\x00\x00\x00\x00\x6f\x70\x65\x6e\x20\x00\x00\x00\x73\x61\x76\x65\x00\x00\x00\x00\x4e\x6f\x20\x66\x69\x6c\x65\x20\x69\x73\x20\x63\x75\x72\x72\x65\x6e\x74\x6c\x79\x20\x6f\x70\x65\x6e\x00\x00\x00\x00\x00\x00\x00\x53\x61\x76\x65\x64\x20\x63\x68\x61\x6e\x67\x65\x73\x20\x74\x6f\x20\x66\x69\x6c\x65\x20\x27\x25\x73\x27\x0a\x00\x00\x00\x00\x00\x63\x6c\x6f\x73\x65\x00\x00\x00\x65\x78\x69\x74\x00\x00\x00\x00\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x2e\x20\x54\x79\x70\x65\x20\x27\x68\x65\x6c\x70\x27\x20\x66\x6f\x72\x20\x61\x20\x6c\x69\x73\x74\x20\x6f\x66\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x73\x2e\x00\x00\x00\x00\x45\x6e\x74\x65\x72\x20\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x3a\x20\x00"), -Section(".eh_frame_hdr", 0x1124, "\x01\x1b\x03\x3b\x60\x00\x00\x00\x0b\x00\x00\x00\x1c\xf9\xff\xff\xa0\x01\x00\x00\x9c\xf9\xff\xff\x78\x00\x00\x00\xec\xf9\xff\xff\x8c\x00\x00\x00\x1c\xfa\xff\xff\xa0\x00\x00\x00\x5c\xfa\xff\xff\xb4\x00\x00\x00\xac\xfa\xff\xff\xd8\x00\x00\x00\xbc\xfa\xff\xff\xec\x00\x00\x00\x10\xfb\xff\xff\x0c\x01\x00\x00\xbc\xfb\xff\xff\x40\x01\x00\x00\x20\xfd\xff\xff\xc4\x01\x00\x00\x70\xfd\xff\xff\xf0\x01\x00\x00"), -Section(".eh_frame", 0x1188, "\x10\x00\x00\x00\x00\x00\x00\x00\x01\x7a\x52\x00\x04\x78\x1e\x01\x1b\x0c\x1f\x00\x10\x00\x00\x00\x18\x00\x00\x00\x1c\xf9\xff\xff\x34\x00\x00\x00\x00\x41\x07\x1e\x10\x00\x00\x00\x2c\x00\x00\x00\x58\xf9\xff\xff\x30\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x40\x00\x00\x00\x74\xf9\xff\xff\x3c\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x54\x00\x00\x00\xa0\xf9\xff\xff\x48\x00\x00\x00\x00\x41\x0e\x20\x9d\x04\x9e\x03\x42\x93\x02\x4e\xde\xdd\xd3\x0e\x00\x00\x00\x00\x10\x00\x00\x00\x78\x00\x00\x00\xcc\xf9\xff\xff\x04\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x8c\x00\x00\x00\xc8\xf9\xff\xff\x54\x00\x00\x00\x00\x41\x0e\x10\x9d\x02\x9e\x01\x51\xde\xdd\x0e\x00\x00\x00\x00\x30\x00\x00\x00\xac\x00\x00\x00\xfc\xf9\xff\xff\xa4\x00\x00\x00\x00\x41\x0e\x30\x9d\x06\x9e\x05\x42\x93\x04\x94\x03\x44\x95\x02\x59\x0a\xde\xdd\xd5\xd3\xd4\x0e\x00\x42\x0b\x45\xde\xdd\xd5\xd3\xd4\x0e\x00\x00\x5c\x00\x00\x00\xe0\x00\x00\x00\x74\xfa\xff\xff\x64\x01\x00\x00\x00\x41\x0e\x20\x9d\x04\x9e\x03\x44\x93\x02\x94\x01\x69\x0a\xde\xdd\xd3\xd4\x0e\x00\x41\x0b\x42\x0a\xde\xdd\xd3\xd4\x0e\x00\x41\x0b\x43\x0a\xde\xdd\xd3\xd4\x0e\x00\x42\x0b\x4a\x0a\xde\xdd\xd3\xd4\x0e\x00\x42\x0b\x4d\x0a\xde\xdd\xd3\xd4\x0e\x00\x41\x0b\x42\x0a\xde\xdd\xd3\xd4\x0e\x00\x41\x0b\x43\xde\xdd\xd3\xd4\x0e\x00\x20\x00\x00\x00\x40\x01\x00\x00\x74\xf7\xff\xff\x7c\x00\x00\x00\x00\x41\x0e\xc0\x02\x9d\x28\x9e\x27\x44\x95\x24\x96\x23\x42\x93\x26\x94\x25\x00\x28\x00\x00\x00\x64\x01\x00\x00\x54\xfb\xff\xff\x50\x00\x00\x00\x00\x41\x0e\x20\x9d\x04\x9e\x03\x43\x93\x02\x49\x0a\xde\xdd\xd3\x0e\x00\x42\x0b\x43\xde\xdd\xd3\x0e\x00\x00\x00\x2c\x00\x00\x00\x90\x01\x00\x00\x78\xfb\xff\xff\x50\x00\x00\x00\x00\x41\x0e\x20\x9d\x04\x9e\x03\x42\x93\x02\x94\x01\x4d\x0a\xde\xdd\xd3\xd4\x0e\x00\x41\x0b\x42\xde\xdd\xd3\xd4\x0e\x00\x00\x00\x00\x00\x00\x00"), -Section(".fini_array", 0x11D20, "\x80\x0b\x00\x00\x00\x00\x00\x00"), -Section(".dynamic", 0x11D28, "\x01\x00\x00\x00\x00\x00\x00\x00\x94\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\xe0\x08\x00\x00\x00\x00\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\xe4\x0e\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x20\x1d\x01\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xf5\xfe\xff\x6f\x00\x00\x00\x00\x98\x02\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\xe0\x04\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\xb8\x02\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x0f\x01\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x28\x1f\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x60\x07\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x70\x06\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xf0\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xfb\xff\xff\x6f\x00\x00\x00\x00\x01\x00\x00\x08\x00\x00\x00\x00\xfe\xff\xff\x6f\x00\x00\x00\x00\x20\x06\x00\x00\x00\x00\x00\x00\xff\xff\xff\x6f\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\xf0\xff\xff\x6f\x00\x00\x00\x00\xf0\x05\x00\x00\x00\x00\x00\x00\xf9\xff\xff\x6f\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".init_array", 0x11D18, "\xd0\x0b\x00\x00\x00\x00\x00\x00"), -Section(".got", 0x11F28, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x28\x1d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".data", 0x12000, "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x20\x01\x00\x00\x00\x00\x00")]), -Memmap([Annotation(Region(0x0,0x1347), Attr("segment","02 0 4936")), -Annotation(Region(0xA40,0xABB), Attr("symbol","\"main\"")), -Annotation(Region(0x0,0xF9), Attr("section","\".shstrtab\"")), -Annotation(Region(0x0,0x372), Attr("section","\".strtab\"")), -Annotation(Region(0x0,0xA4F), Attr("section","\".symtab\"")), -Annotation(Region(0x0,0x2A), Attr("section","\".comment\"")), -Annotation(Region(0x238,0x252), Attr("section","\".interp\"")), -Annotation(Region(0x254,0x277), Attr("section","\".note.gnu.build-id\"")), -Annotation(Region(0x278,0x297), Attr("section","\".note.ABI-tag\"")), -Annotation(Region(0x298,0x2B3), Attr("section","\".gnu.hash\"")), -Annotation(Region(0x2B8,0x4DF), Attr("section","\".dynsym\"")), -Annotation(Region(0x4E0,0x5EE), Attr("section","\".dynstr\"")), -Annotation(Region(0x5F0,0x61D), Attr("section","\".gnu.version\"")), -Annotation(Region(0x620,0x66F), Attr("section","\".gnu.version_r\"")), -Annotation(Region(0x670,0x75F), Attr("section","\".rela.dyn\"")), -Annotation(Region(0x760,0x8DF), Attr("section","\".rela.plt\"")), -Annotation(Region(0x8E0,0x8F7), Attr("section","\".init\"")), -Annotation(Region(0x900,0xA1F), Attr("section","\".plt\"")), -Annotation(Region(0x8E0,0x8F7), Attr("code-region","()")), -Annotation(Region(0x900,0xA1F), Attr("code-region","()")), -Annotation(Region(0xA40,0xABB), Attr("symbol-info","main 0xA40 124")), -Annotation(Region(0xAC0,0xAF3), Attr("symbol","\"_start\"")), -Annotation(Region(0xA40,0xEE3), Attr("section","\".text\"")), -Annotation(Region(0xA40,0xEE3), Attr("code-region","()")), -Annotation(Region(0xAC0,0xAF3), Attr("symbol-info","_start 0xAC0 52")), -Annotation(Region(0xAF4,0xB07), Attr("symbol","\"call_weak_fn\"")), -Annotation(Region(0xAF4,0xB07), Attr("symbol-info","call_weak_fn 0xAF4 20")), -Annotation(Region(0xBE0,0xC33), Attr("symbol","\"printHelp\"")), -Annotation(Region(0xBE0,0xC33), Attr("symbol-info","printHelp 0xBE0 84")), -Annotation(Region(0xC34,0xCD7), Attr("symbol","\"openFile\"")), -Annotation(Region(0xC34,0xCD7), Attr("symbol-info","openFile 0xC34 164")), -Annotation(Region(0xCE0,0xE43), Attr("symbol","\"handleInput\"")), -Annotation(Region(0xCE0,0xE43), Attr("symbol-info","handleInput 0xCE0 356")), -Annotation(Region(0xE44,0xE93), Attr("symbol","\"saveFile\"")), -Annotation(Region(0xE44,0xE93), Attr("symbol-info","saveFile 0xE44 80")), -Annotation(Region(0xE94,0xEE3), Attr("symbol","\"closeFile\"")), -Annotation(Region(0xE94,0xEE3), Attr("symbol-info","closeFile 0xE94 80")), -Annotation(Region(0xEE4,0xEF7), Attr("section","\".fini\"")), -Annotation(Region(0xEE4,0xEF7), Attr("code-region","()")), -Annotation(Region(0xEF8,0x1121), Attr("section","\".rodata\"")), -Annotation(Region(0x1124,0x1187), Attr("section","\".eh_frame_hdr\"")), -Annotation(Region(0x1188,0x1347), Attr("section","\".eh_frame\"")), -Annotation(Region(0x11D18,0x1200F), Attr("segment","03 0x11D18 784")), -Annotation(Region(0x11D20,0x11D27), Attr("section","\".fini_array\"")), -Annotation(Region(0x11D28,0x11F27), Attr("section","\".dynamic\"")), -Annotation(Region(0x11D18,0x11D1F), Attr("section","\".init_array\"")), -Annotation(Region(0x11F28,0x11FFF), Attr("section","\".got\"")), -Annotation(Region(0x12000,0x1200F), Attr("section","\".data\""))]), -Program(Tid(4_631, "%00001217"), Attrs([]), - Subs([Sub(Tid(4_579, "@__cxa_finalize"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x940"), -Attr("stub","()")]), "__cxa_finalize", Args([Arg(Tid(4_632, "%00001218"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("__cxa_finalize_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(3_424, "@__cxa_finalize"), - Attrs([Attr("address","0x940")]), Phis([]), -Defs([Def(Tid(3_886, "%00000f2e"), Attrs([Attr("address","0x940"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_893, "%00000f35"), Attrs([Attr("address","0x944"), -Attr("insn","ldr x17, [x16, #0xf50]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3920,64)),LittleEndian(),64)), -Def(Tid(3_899, "%00000f3b"), Attrs([Attr("address","0x948"), -Attr("insn","add x16, x16, #0xf50")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3920,64)))]), Jmps([Call(Tid(3_904, "%00000f40"), - Attrs([Attr("address","0x94C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), -Sub(Tid(4_580, "@__do_global_dtors_aux"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xB80")]), - "__do_global_dtors_aux", Args([Arg(Tid(4_633, "%00001219"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("__do_global_dtors_aux_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(3_271, "@__do_global_dtors_aux"), - Attrs([Attr("address","0xB80")]), Phis([]), -Defs([Def(Tid(3_275, "%00000ccb"), Attrs([Attr("address","0xB80"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("#25",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(3_281, "%00000cd1"), Attrs([Attr("address","0xB80"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#25",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(3_287, "%00000cd7"), Attrs([Attr("address","0xB80"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#25",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(3_291, "%00000cdb"), Attrs([Attr("address","0xB80"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("R31",Imm(64)), -Var("#25",Imm(64))), Def(Tid(3_297, "%00000ce1"), - Attrs([Attr("address","0xB84"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(3_305, "%00000ce9"), - Attrs([Attr("address","0xB88"), Attr("insn","str x19, [sp, #0x10]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),Var("R19",Imm(64)),LittleEndian(),64)), -Def(Tid(3_310, "%00000cee"), Attrs([Attr("address","0xB8C"), -Attr("insn","adrp x19, #73728")]), Var("R19",Imm(64)), Int(73728,64)), -Def(Tid(3_317, "%00000cf5"), Attrs([Attr("address","0xB90"), -Attr("insn","ldrb w0, [x19, #0x10]")]), Var("R0",Imm(64)), -UNSIGNED(64,Load(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(16,64)),LittleEndian(),8)))]), -Jmps([Goto(Tid(3_324, "%00000cfc"), Attrs([Attr("address","0xB94"), -Attr("insn","cbnz w0, #0x28")]), - NEQ(Extract(31,0,Var("R0",Imm(64))),Int(0,32)), -Direct(Tid(3_322, "%00000cfa"))), Goto(Tid(4_581, "%000011e5"), Attrs([]), - Int(1,1), Direct(Tid(3_369, "%00000d29")))])), Blk(Tid(3_369, "%00000d29"), - Attrs([Attr("address","0xB98")]), Phis([]), -Defs([Def(Tid(3_372, "%00000d2c"), Attrs([Attr("address","0xB98"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(3_379, "%00000d33"), Attrs([Attr("address","0xB9C"), -Attr("insn","ldr x0, [x0, #0xfd0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4048,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(3_385, "%00000d39"), Attrs([Attr("address","0xBA0"), -Attr("insn","cbz x0, #0x10")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(3_383, "%00000d37"))), Goto(Tid(4_582, "%000011e6"), Attrs([]), - Int(1,1), Direct(Tid(3_408, "%00000d50")))])), Blk(Tid(3_408, "%00000d50"), - Attrs([Attr("address","0xBA4")]), Phis([]), -Defs([Def(Tid(3_411, "%00000d53"), Attrs([Attr("address","0xBA4"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(3_418, "%00000d5a"), Attrs([Attr("address","0xBA8"), -Attr("insn","ldr x0, [x0, #0x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(3_423, "%00000d5f"), Attrs([Attr("address","0xBAC"), -Attr("insn","bl #-0x26c")]), Var("R30",Imm(64)), Int(2992,64))]), -Jmps([Call(Tid(3_426, "%00000d62"), Attrs([Attr("address","0xBAC"), -Attr("insn","bl #-0x26c")]), Int(1,1), -(Direct(Tid(4_579, "@__cxa_finalize")),Direct(Tid(3_383, "%00000d37"))))])), -Blk(Tid(3_383, "%00000d37"), Attrs([Attr("address","0xBB0")]), Phis([]), -Defs([Def(Tid(3_391, "%00000d3f"), Attrs([Attr("address","0xBB0"), -Attr("insn","bl #-0xa0")]), Var("R30",Imm(64)), Int(2996,64))]), -Jmps([Call(Tid(3_393, "%00000d41"), Attrs([Attr("address","0xBB0"), -Attr("insn","bl #-0xa0")]), Int(1,1), -(Direct(Tid(4_596, "@deregister_tm_clones")),Direct(Tid(3_395, "%00000d43"))))])), -Blk(Tid(3_395, "%00000d43"), Attrs([Attr("address","0xBB4")]), Phis([]), -Defs([Def(Tid(3_398, "%00000d46"), Attrs([Attr("address","0xBB4"), -Attr("insn","mov w0, #0x1")]), Var("R0",Imm(64)), Int(1,64)), -Def(Tid(3_406, "%00000d4e"), Attrs([Attr("address","0xBB8"), -Attr("insn","strb w0, [x19, #0x10]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(16,64)),Extract(7,0,Var("R0",Imm(64))),LittleEndian(),8))]), -Jmps([Goto(Tid(4_583, "%000011e7"), Attrs([]), Int(1,1), -Direct(Tid(3_322, "%00000cfa")))])), Blk(Tid(3_322, "%00000cfa"), - Attrs([Attr("address","0xBBC")]), Phis([]), -Defs([Def(Tid(3_332, "%00000d04"), Attrs([Attr("address","0xBBC"), -Attr("insn","ldr x19, [sp, #0x10]")]), Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),LittleEndian(),64)), -Def(Tid(3_339, "%00000d0b"), Attrs([Attr("address","0xBC0"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(3_344, "%00000d10"), Attrs([Attr("address","0xBC0"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(3_348, "%00000d14"), Attrs([Attr("address","0xBC0"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(3_353, "%00000d19"), - Attrs([Attr("address","0xBC4"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_584, "@__libc_start_main"), - Attrs([Attr("c.proto","signed (*)(signed (*)(signed , char** , char** );* main, signed , char** , \nvoid* auxv)"), -Attr("address","0x930"), Attr("stub","()")]), "__libc_start_main", - Args([Arg(Tid(4_634, "%0000121a"), - Attrs([Attr("c.layout","**[ : 64]"), -Attr("c.data","Top:u64 ptr ptr"), -Attr("c.type","signed (*)(signed , char** , char** );*")]), - Var("__libc_start_main_main",Imm(64)), Var("R0",Imm(64)), In()), -Arg(Tid(4_635, "%0000121b"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("__libc_start_main_arg2",Imm(32)), LOW(32,Var("R1",Imm(64))), In()), -Arg(Tid(4_636, "%0000121c"), Attrs([Attr("c.layout","**[char : 8]"), -Attr("c.data","Top:u8 ptr ptr"), Attr("c.type","char**")]), - Var("__libc_start_main_arg3",Imm(64)), Var("R2",Imm(64)), Both()), -Arg(Tid(4_637, "%0000121d"), Attrs([Attr("c.layout","*[ : 8]"), -Attr("c.data","{} ptr"), Attr("c.type","void*")]), - Var("__libc_start_main_auxv",Imm(64)), Var("R3",Imm(64)), Both()), -Arg(Tid(4_638, "%0000121e"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("__libc_start_main_result",Imm(32)), LOW(32,Var("R0",Imm(64))), -Out())]), Blks([Blk(Tid(3_104, "@__libc_start_main"), - Attrs([Attr("address","0x930")]), Phis([]), -Defs([Def(Tid(3_864, "%00000f18"), Attrs([Attr("address","0x930"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_871, "%00000f1f"), Attrs([Attr("address","0x934"), -Attr("insn","ldr x17, [x16, #0xf48]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3912,64)),LittleEndian(),64)), -Def(Tid(3_877, "%00000f25"), Attrs([Attr("address","0x938"), -Attr("insn","add x16, x16, #0xf48")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3912,64)))]), Jmps([Call(Tid(3_882, "%00000f2a"), - Attrs([Attr("address","0x93C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_585, "@__printf_chk"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x980"), -Attr("stub","()")]), "__printf_chk", Args([Arg(Tid(4_639, "%0000121f"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("__printf_chk_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_423, "@__printf_chk"), - Attrs([Attr("address","0x980")]), Phis([]), -Defs([Def(Tid(3_974, "%00000f86"), Attrs([Attr("address","0x980"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_981, "%00000f8d"), Attrs([Attr("address","0x984"), -Attr("insn","ldr x17, [x16, #0xf70]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3952,64)),LittleEndian(),64)), -Def(Tid(3_987, "%00000f93"), Attrs([Attr("address","0x988"), -Attr("insn","add x16, x16, #0xf70")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3952,64)))]), Jmps([Call(Tid(3_992, "%00000f98"), - Attrs([Attr("address","0x98C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_586, "@_fini"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xEE4")]), - "_fini", Args([Arg(Tid(4_640, "%00001220"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_fini_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(31, "@_fini"), - Attrs([Attr("address","0xEE4")]), Phis([]), Defs([Def(Tid(37, "%00000025"), - Attrs([Attr("address","0xEE8"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#0",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(43, "%0000002b"), Attrs([Attr("address","0xEE8"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#0",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(49, "%00000031"), Attrs([Attr("address","0xEE8"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#0",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(53, "%00000035"), Attrs([Attr("address","0xEE8"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#0",Imm(64))), Def(Tid(59, "%0000003b"), Attrs([Attr("address","0xEEC"), -Attr("insn","mov x29, sp")]), Var("R29",Imm(64)), Var("R31",Imm(64))), -Def(Tid(66, "%00000042"), Attrs([Attr("address","0xEF0"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(71, "%00000047"), Attrs([Attr("address","0xEF0"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(75, "%0000004b"), Attrs([Attr("address","0xEF0"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(80, "%00000050"), - Attrs([Attr("address","0xEF4"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_587, "@_init"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x8E0")]), - "_init", Args([Arg(Tid(4_641, "%00001221"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_init_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(4_218, "@_init"), - Attrs([Attr("address","0x8E0")]), Phis([]), -Defs([Def(Tid(4_224, "%00001080"), Attrs([Attr("address","0x8E4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#27",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(4_230, "%00001086"), Attrs([Attr("address","0x8E4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#27",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(4_236, "%0000108c"), Attrs([Attr("address","0x8E4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#27",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(4_240, "%00001090"), Attrs([Attr("address","0x8E4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#27",Imm(64))), Def(Tid(4_246, "%00001096"), - Attrs([Attr("address","0x8E8"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(4_251, "%0000109b"), - Attrs([Attr("address","0x8EC"), Attr("insn","bl #0x208")]), - Var("R30",Imm(64)), Int(2288,64))]), Jmps([Call(Tid(4_253, "%0000109d"), - Attrs([Attr("address","0x8EC"), Attr("insn","bl #0x208")]), Int(1,1), -(Direct(Tid(4_592, "@call_weak_fn")),Direct(Tid(4_255, "%0000109f"))))])), -Blk(Tid(4_255, "%0000109f"), Attrs([Attr("address","0x8F0")]), Phis([]), -Defs([Def(Tid(4_260, "%000010a4"), Attrs([Attr("address","0x8F0"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(4_265, "%000010a9"), Attrs([Attr("address","0x8F0"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(4_269, "%000010ad"), Attrs([Attr("address","0x8F0"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(4_274, "%000010b2"), - Attrs([Attr("address","0x8F4"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_588, "@_start"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xAC0"), -Attr("entry-point","()")]), "_start", Args([Arg(Tid(4_642, "%00001222"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_start_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(3_041, "@_start"), - Attrs([Attr("address","0xAC0")]), Phis([]), -Defs([Def(Tid(3_046, "%00000be6"), Attrs([Attr("address","0xAC4"), -Attr("insn","mov x29, #0x0")]), Var("R29",Imm(64)), Int(0,64)), -Def(Tid(3_051, "%00000beb"), Attrs([Attr("address","0xAC8"), -Attr("insn","mov x30, #0x0")]), Var("R30",Imm(64)), Int(0,64)), -Def(Tid(3_057, "%00000bf1"), Attrs([Attr("address","0xACC"), -Attr("insn","mov x5, x0")]), Var("R5",Imm(64)), Var("R0",Imm(64))), -Def(Tid(3_064, "%00000bf8"), Attrs([Attr("address","0xAD0"), -Attr("insn","ldr x1, [sp]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(3_070, "%00000bfe"), Attrs([Attr("address","0xAD4"), -Attr("insn","add x2, sp, #0x8")]), Var("R2",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(8,64))), Def(Tid(3_076, "%00000c04"), - Attrs([Attr("address","0xAD8"), Attr("insn","mov x6, sp")]), - Var("R6",Imm(64)), Var("R31",Imm(64))), Def(Tid(3_081, "%00000c09"), - Attrs([Attr("address","0xADC"), Attr("insn","adrp x0, #69632")]), - Var("R0",Imm(64)), Int(69632,64)), Def(Tid(3_088, "%00000c10"), - Attrs([Attr("address","0xAE0"), Attr("insn","ldr x0, [x0, #0xff0]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4080,64)),LittleEndian(),64)), -Def(Tid(3_093, "%00000c15"), Attrs([Attr("address","0xAE4"), -Attr("insn","mov x3, #0x0")]), Var("R3",Imm(64)), Int(0,64)), -Def(Tid(3_098, "%00000c1a"), Attrs([Attr("address","0xAE8"), -Attr("insn","mov x4, #0x0")]), Var("R4",Imm(64)), Int(0,64)), -Def(Tid(3_103, "%00000c1f"), Attrs([Attr("address","0xAEC"), -Attr("insn","bl #-0x1bc")]), Var("R30",Imm(64)), Int(2800,64))]), -Jmps([Call(Tid(3_106, "%00000c22"), Attrs([Attr("address","0xAEC"), -Attr("insn","bl #-0x1bc")]), Int(1,1), -(Direct(Tid(4_584, "@__libc_start_main")),Direct(Tid(3_108, "%00000c24"))))])), -Blk(Tid(3_108, "%00000c24"), Attrs([Attr("address","0xAF0")]), Phis([]), -Defs([Def(Tid(3_111, "%00000c27"), Attrs([Attr("address","0xAF0"), -Attr("insn","bl #-0x130")]), Var("R30",Imm(64)), Int(2804,64))]), -Jmps([Call(Tid(3_114, "%00000c2a"), Attrs([Attr("address","0xAF0"), -Attr("insn","bl #-0x130")]), Int(1,1), -(Direct(Tid(4_591, "@abort")),Direct(Tid(4_589, "%000011ed"))))])), -Blk(Tid(4_589, "%000011ed"), Attrs([]), Phis([]), Defs([]), -Jmps([Call(Tid(4_590, "%000011ee"), Attrs([]), Int(1,1), -(Direct(Tid(4_592, "@call_weak_fn")),))]))])), Sub(Tid(4_591, "@abort"), - Attrs([Attr("noreturn","()"), Attr("c.proto","void (*)(void)"), -Attr("address","0x9C0"), Attr("stub","()")]), "abort", Args([]), -Blks([Blk(Tid(3_112, "@abort"), Attrs([Attr("address","0x9C0")]), Phis([]), -Defs([Def(Tid(4_062, "%00000fde"), Attrs([Attr("address","0x9C0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(4_069, "%00000fe5"), Attrs([Attr("address","0x9C4"), -Attr("insn","ldr x17, [x16, #0xf90]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3984,64)),LittleEndian(),64)), -Def(Tid(4_075, "%00000feb"), Attrs([Attr("address","0x9C8"), -Attr("insn","add x16, x16, #0xf90")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3984,64)))]), Jmps([Call(Tid(4_080, "%00000ff0"), - Attrs([Attr("address","0x9CC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_592, "@call_weak_fn"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xAF4")]), - "call_weak_fn", Args([Arg(Tid(4_643, "%00001223"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("call_weak_fn_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(3_116, "@call_weak_fn"), - Attrs([Attr("address","0xAF4")]), Phis([]), -Defs([Def(Tid(3_119, "%00000c2f"), Attrs([Attr("address","0xAF4"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(3_126, "%00000c36"), Attrs([Attr("address","0xAF8"), -Attr("insn","ldr x0, [x0, #0xfe0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4064,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(3_132, "%00000c3c"), Attrs([Attr("address","0xAFC"), -Attr("insn","cbz x0, #0x8")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(3_130, "%00000c3a"))), Goto(Tid(4_593, "%000011f1"), Attrs([]), - Int(1,1), Direct(Tid(3_488, "%00000da0")))])), Blk(Tid(3_130, "%00000c3a"), - Attrs([Attr("address","0xB04")]), Phis([]), Defs([]), -Jmps([Call(Tid(3_138, "%00000c42"), Attrs([Attr("address","0xB04"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(3_488, "%00000da0"), Attrs([Attr("address","0xB00")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_491, "%00000da3"), Attrs([Attr("address","0xB00"), -Attr("insn","b #-0x150")]), Int(1,1), -Direct(Tid(3_489, "@__gmon_start__")))])), Blk(Tid(3_489, "@__gmon_start__"), - Attrs([Attr("address","0x9B0")]), Phis([]), -Defs([Def(Tid(4_040, "%00000fc8"), Attrs([Attr("address","0x9B0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(4_047, "%00000fcf"), Attrs([Attr("address","0x9B4"), -Attr("insn","ldr x17, [x16, #0xf88]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3976,64)),LittleEndian(),64)), -Def(Tid(4_053, "%00000fd5"), Attrs([Attr("address","0x9B8"), -Attr("insn","add x16, x16, #0xf88")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3976,64)))]), Jmps([Call(Tid(4_058, "%00000fda"), - Attrs([Attr("address","0x9BC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_594, "@closeFile"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xE94")]), - "closeFile", Args([Arg(Tid(4_644, "%00001224"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("closeFile_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_313, "@closeFile"), - Attrs([Attr("address","0xE94")]), Phis([]), -Defs([Def(Tid(2_317, "%0000090d"), Attrs([Attr("address","0xE94"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("#15",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(2_323, "%00000913"), Attrs([Attr("address","0xE94"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#15",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(2_329, "%00000919"), Attrs([Attr("address","0xE94"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#15",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(2_333, "%0000091d"), Attrs([Attr("address","0xE94"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("R31",Imm(64)), -Var("#15",Imm(64))), Def(Tid(2_339, "%00000923"), - Attrs([Attr("address","0xE98"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(2_345, "%00000929"), - Attrs([Attr("address","0xE9C"), Attr("insn","stp x19, x20, [sp, #0x10]")]), - Var("#16",Imm(64)), PLUS(Var("R31",Imm(64)),Int(16,64))), -Def(Tid(2_351, "%0000092f"), Attrs([Attr("address","0xE9C"), -Attr("insn","stp x19, x20, [sp, #0x10]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#16",Imm(64)),Var("R19",Imm(64)),LittleEndian(),64)), -Def(Tid(2_357, "%00000935"), Attrs([Attr("address","0xE9C"), -Attr("insn","stp x19, x20, [sp, #0x10]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#16",Imm(64)),Int(8,64)),Var("R20",Imm(64)),LittleEndian(),64)), -Def(Tid(2_362, "%0000093a"), Attrs([Attr("address","0xEA0"), -Attr("insn","adrp x19, #73728")]), Var("R19",Imm(64)), Int(73728,64)), -Def(Tid(2_369, "%00000941"), Attrs([Attr("address","0xEA4"), -Attr("insn","ldr x0, [x19, #0x18]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(24,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(2_375, "%00000947"), Attrs([Attr("address","0xEA8"), -Attr("insn","cbz x0, #0x30")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(2_373, "%00000945"))), Goto(Tid(4_595, "%000011f3"), Attrs([]), - Int(1,1), Direct(Tid(2_415, "%0000096f")))])), Blk(Tid(2_373, "%00000945"), - Attrs([Attr("address","0xED8")]), Phis([]), -Defs([Def(Tid(2_382, "%0000094e"), Attrs([Attr("address","0xED8"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("#17",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(2_387, "%00000953"), - Attrs([Attr("address","0xED8"), Attr("insn","ldp x19, x20, [sp, #0x10]")]), - Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#17",Imm(64)),LittleEndian(),64)), -Def(Tid(2_392, "%00000958"), Attrs([Attr("address","0xED8"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("R20",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#17",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_399, "%0000095f"), Attrs([Attr("address","0xEDC"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_404, "%00000964"), Attrs([Attr("address","0xEDC"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_408, "%00000968"), Attrs([Attr("address","0xEDC"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(2_413, "%0000096d"), - Attrs([Attr("address","0xEE0"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))])), Blk(Tid(2_415, "%0000096f"), - Attrs([Attr("address","0xEAC")]), Phis([]), -Defs([Def(Tid(2_419, "%00000973"), Attrs([Attr("address","0xEAC"), -Attr("insn","add x20, x19, #0x18")]), Var("R20",Imm(64)), -PLUS(Var("R19",Imm(64)),Int(24,64))), Def(Tid(2_424, "%00000978"), - Attrs([Attr("address","0xEB0"), Attr("insn","bl #-0x560")]), - Var("R30",Imm(64)), Int(3764,64))]), Jmps([Call(Tid(2_426, "%0000097a"), - Attrs([Attr("address","0xEB0"), Attr("insn","bl #-0x560")]), Int(1,1), -(Direct(Tid(4_600, "@fclose")),Direct(Tid(2_428, "%0000097c"))))])), -Blk(Tid(2_428, "%0000097c"), Attrs([Attr("address","0xEB4")]), Phis([]), -Defs([Def(Tid(2_433, "%00000981"), Attrs([Attr("address","0xEB4"), -Attr("insn","ldr x0, [x20, #0x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R20",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_438, "%00000986"), Attrs([Attr("address","0xEB8"), -Attr("insn","bl #-0x4c8")]), Var("R30",Imm(64)), Int(3772,64))]), -Jmps([Call(Tid(2_440, "%00000988"), Attrs([Attr("address","0xEB8"), -Attr("insn","bl #-0x4c8")]), Int(1,1), -(Direct(Tid(4_604, "@free")),Direct(Tid(2_442, "%0000098a"))))])), -Blk(Tid(2_442, "%0000098a"), Attrs([Attr("address","0xEBC")]), Phis([]), -Defs([Def(Tid(2_447, "%0000098f"), Attrs([Attr("address","0xEBC"), -Attr("insn","str xzr, [x19, #0x18]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(24,64)),Int(0,64),LittleEndian(),64)), -Def(Tid(2_454, "%00000996"), Attrs([Attr("address","0xEC0"), -Attr("insn","str xzr, [x20, #0x8]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R20",Imm(64)),Int(8,64)),Int(0,64),LittleEndian(),64)), -Def(Tid(2_459, "%0000099b"), Attrs([Attr("address","0xEC4"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_465, "%000009a1"), Attrs([Attr("address","0xEC8"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("#18",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(2_470, "%000009a6"), - Attrs([Attr("address","0xEC8"), Attr("insn","ldp x19, x20, [sp, #0x10]")]), - Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#18",Imm(64)),LittleEndian(),64)), -Def(Tid(2_475, "%000009ab"), Attrs([Attr("address","0xEC8"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("R20",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#18",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_481, "%000009b1"), Attrs([Attr("address","0xECC"), -Attr("insn","add x0, x0, #0x20")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(32,64))), Def(Tid(2_488, "%000009b8"), - Attrs([Attr("address","0xED0"), Attr("insn","ldp x29, x30, [sp], #0x20")]), - Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_493, "%000009bd"), Attrs([Attr("address","0xED0"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_497, "%000009c1"), Attrs([Attr("address","0xED0"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(2_501, "%000009c5"), - Attrs([Attr("address","0xED4"), Attr("insn","b #-0x504")]), Int(1,1), -(Direct(Tid(4_620, "@puts")),))]))])), -Sub(Tid(4_596, "@deregister_tm_clones"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xB10")]), - "deregister_tm_clones", Args([Arg(Tid(4_645, "%00001225"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("deregister_tm_clones_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(3_144, "@deregister_tm_clones"), - Attrs([Attr("address","0xB10")]), Phis([]), -Defs([Def(Tid(3_147, "%00000c4b"), Attrs([Attr("address","0xB10"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(3_153, "%00000c51"), Attrs([Attr("address","0xB14"), -Attr("insn","add x0, x0, #0x10")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(16,64))), Def(Tid(3_158, "%00000c56"), - Attrs([Attr("address","0xB18"), Attr("insn","adrp x1, #73728")]), - Var("R1",Imm(64)), Int(73728,64)), Def(Tid(3_164, "%00000c5c"), - Attrs([Attr("address","0xB1C"), Attr("insn","add x1, x1, #0x10")]), - Var("R1",Imm(64)), PLUS(Var("R1",Imm(64)),Int(16,64))), -Def(Tid(3_170, "%00000c62"), Attrs([Attr("address","0xB20"), -Attr("insn","cmp x1, x0")]), Var("#23",Imm(64)), NOT(Var("R0",Imm(64)))), -Def(Tid(3_175, "%00000c67"), Attrs([Attr("address","0xB20"), -Attr("insn","cmp x1, x0")]), Var("#24",Imm(64)), -PLUS(Var("R1",Imm(64)),NOT(Var("R0",Imm(64))))), Def(Tid(3_181, "%00000c6d"), - Attrs([Attr("address","0xB20"), Attr("insn","cmp x1, x0")]), - Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#24",Imm(64)),Int(1,64))),PLUS(PLUS(SIGNED(65,Var("R1",Imm(64))),SIGNED(65,Var("#23",Imm(64)))),Int(1,65)))), -Def(Tid(3_187, "%00000c73"), Attrs([Attr("address","0xB20"), -Attr("insn","cmp x1, x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#24",Imm(64)),Int(1,64))),PLUS(PLUS(UNSIGNED(65,Var("R1",Imm(64))),UNSIGNED(65,Var("#23",Imm(64)))),Int(1,65)))), -Def(Tid(3_191, "%00000c77"), Attrs([Attr("address","0xB20"), -Attr("insn","cmp x1, x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#24",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(3_195, "%00000c7b"), Attrs([Attr("address","0xB20"), -Attr("insn","cmp x1, x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#24",Imm(64)),Int(1,64))))]), -Jmps([Goto(Tid(3_201, "%00000c81"), Attrs([Attr("address","0xB24"), -Attr("insn","b.eq #0x18")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(3_199, "%00000c7f"))), Goto(Tid(4_597, "%000011f5"), Attrs([]), - Int(1,1), Direct(Tid(3_458, "%00000d82")))])), Blk(Tid(3_458, "%00000d82"), - Attrs([Attr("address","0xB28")]), Phis([]), -Defs([Def(Tid(3_461, "%00000d85"), Attrs([Attr("address","0xB28"), -Attr("insn","adrp x1, #69632")]), Var("R1",Imm(64)), Int(69632,64)), -Def(Tid(3_468, "%00000d8c"), Attrs([Attr("address","0xB2C"), -Attr("insn","ldr x1, [x1, #0xfc8]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R1",Imm(64)),Int(4040,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(3_473, "%00000d91"), Attrs([Attr("address","0xB30"), -Attr("insn","cbz x1, #0xc")]), EQ(Var("R1",Imm(64)),Int(0,64)), -Direct(Tid(3_199, "%00000c7f"))), Goto(Tid(4_598, "%000011f6"), Attrs([]), - Int(1,1), Direct(Tid(3_477, "%00000d95")))])), Blk(Tid(3_199, "%00000c7f"), - Attrs([Attr("address","0xB3C")]), Phis([]), Defs([]), -Jmps([Call(Tid(3_207, "%00000c87"), Attrs([Attr("address","0xB3C"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(3_477, "%00000d95"), Attrs([Attr("address","0xB34")]), Phis([]), -Defs([Def(Tid(3_481, "%00000d99"), Attrs([Attr("address","0xB34"), -Attr("insn","mov x16, x1")]), Var("R16",Imm(64)), Var("R1",Imm(64)))]), -Jmps([Call(Tid(3_486, "%00000d9e"), Attrs([Attr("address","0xB38"), -Attr("insn","br x16")]), Int(1,1), (Indirect(Var("R16",Imm(64))),))]))])), -Sub(Tid(4_599, "@exit"), Attrs([Attr("noreturn","()"), -Attr("c.proto","void (*)(signed code)"), Attr("address","0x920"), -Attr("stub","()")]), "exit", Args([Arg(Tid(4_646, "%00001226"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("exit_code",Imm(32)), -LOW(32,Var("R0",Imm(64))), In())]), Blks([Blk(Tid(2_978, "@exit"), - Attrs([Attr("address","0x920")]), Phis([]), -Defs([Def(Tid(3_842, "%00000f02"), Attrs([Attr("address","0x920"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_849, "%00000f09"), Attrs([Attr("address","0x924"), -Attr("insn","ldr x17, [x16, #0xf40]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3904,64)),LittleEndian(),64)), -Def(Tid(3_855, "%00000f0f"), Attrs([Attr("address","0x928"), -Attr("insn","add x16, x16, #0xf40")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3904,64)))]), Jmps([Call(Tid(3_860, "%00000f14"), - Attrs([Attr("address","0x92C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_600, "@fclose"), - Attrs([Attr("c.proto","signed (*)(void** fp)"), Attr("address","0x950"), -Attr("stub","()")]), "fclose", Args([Arg(Tid(4_647, "%00001227"), - Attrs([Attr("c.layout","**[ : 8]"), Attr("c.data","{} ptr ptr"), -Attr("c.type","void**")]), Var("fclose_fp",Imm(64)), Var("R0",Imm(64)), -Both()), Arg(Tid(4_648, "%00001228"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("fclose_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_044, "@fclose"), - Attrs([Attr("address","0x950")]), Phis([]), -Defs([Def(Tid(3_908, "%00000f44"), Attrs([Attr("address","0x950"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_915, "%00000f4b"), Attrs([Attr("address","0x954"), -Attr("insn","ldr x17, [x16, #0xf58]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3928,64)),LittleEndian(),64)), -Def(Tid(3_921, "%00000f51"), Attrs([Attr("address","0x958"), -Attr("insn","add x16, x16, #0xf58")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3928,64)))]), Jmps([Call(Tid(3_926, "%00000f56"), - Attrs([Attr("address","0x95C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_601, "@fgets"), - Attrs([Attr("c.proto","char* (*)(char restrict * s, signed size, void* restrict * stream)"), -Attr("address","0xA10"), Attr("stub","()")]), "fgets", - Args([Arg(Tid(4_649, "%00001229"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type","char restrict *")]), - Var("fgets_s",Imm(64)), Var("R0",Imm(64)), Both()), -Arg(Tid(4_650, "%0000122a"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("fgets_size",Imm(32)), LOW(32,Var("R1",Imm(64))), In()), -Arg(Tid(4_651, "%0000122b"), Attrs([Attr("c.layout","**[ : 8]"), -Attr("c.data","{} ptr ptr"), Attr("c.type","void* restrict *")]), - Var("fgets_stream",Imm(64)), Var("R2",Imm(64)), Both()), -Arg(Tid(4_652, "%0000122c"), Attrs([Attr("warn-unused","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type","char*")]), Var("fgets_result",Imm(64)), Var("R0",Imm(64)), -Out())]), Blks([Blk(Tid(1_449, "@fgets"), Attrs([Attr("address","0xA10")]), - Phis([]), Defs([Def(Tid(4_172, "%0000104c"), Attrs([Attr("address","0xA10"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(4_179, "%00001053"), Attrs([Attr("address","0xA14"), -Attr("insn","ldr x17, [x16, #0xfb8]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(4024,64)),LittleEndian(),64)), -Def(Tid(4_185, "%00001059"), Attrs([Attr("address","0xA18"), -Attr("insn","add x16, x16, #0xfb8")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(4024,64)))]), Jmps([Call(Tid(4_190, "%0000105e"), - Attrs([Attr("address","0xA1C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_602, "@fopen"), - Attrs([Attr("c.proto","void** (*)( const char restrict * path, const char restrict * mode)"), -Attr("address","0x960"), Attr("stub","()")]), "fopen", - Args([Arg(Tid(4_653, "%0000122d"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char restrict *")]), - Var("fopen_path",Imm(64)), Var("R0",Imm(64)), In()), -Arg(Tid(4_654, "%0000122e"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char restrict *")]), - Var("fopen_mode",Imm(64)), Var("R1",Imm(64)), In()), -Arg(Tid(4_655, "%0000122f"), Attrs([Attr("warn-unused","()"), -Attr("c.layout","**[ : 8]"), Attr("c.data","{} ptr ptr"), -Attr("c.type","void**")]), Var("fopen_result",Imm(64)), Var("R0",Imm(64)), -Out())]), Blks([Blk(Tid(1_886, "@fopen"), Attrs([Attr("address","0x960")]), - Phis([]), Defs([Def(Tid(3_930, "%00000f5a"), Attrs([Attr("address","0x960"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_937, "%00000f61"), Attrs([Attr("address","0x964"), -Attr("insn","ldr x17, [x16, #0xf60]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3936,64)),LittleEndian(),64)), -Def(Tid(3_943, "%00000f67"), Attrs([Attr("address","0x968"), -Attr("insn","add x16, x16, #0xf60")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3936,64)))]), Jmps([Call(Tid(3_948, "%00000f6c"), - Attrs([Attr("address","0x96C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_603, "@frame_dummy"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xBD0")]), - "frame_dummy", Args([Arg(Tid(4_656, "%00001230"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("frame_dummy_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(3_359, "@frame_dummy"), - Attrs([Attr("address","0xBD0")]), Phis([]), Defs([]), -Jmps([Call(Tid(3_361, "%00000d21"), Attrs([Attr("address","0xBD0"), -Attr("insn","b #-0x90")]), Int(1,1), -(Direct(Tid(4_621, "@register_tm_clones")),))]))])), Sub(Tid(4_604, "@free"), - Attrs([Attr("c.proto","void (*)(void* ptr)"), Attr("address","0x9F0"), -Attr("stub","()")]), "free", Args([Arg(Tid(4_657, "%00001231"), - Attrs([Attr("c.layout","*[ : 8]"), Attr("c.data","{} ptr"), -Attr("c.type","void*")]), Var("free_ptr",Imm(64)), Var("R0",Imm(64)), -Both())]), Blks([Blk(Tid(2_059, "@free"), Attrs([Attr("address","0x9F0")]), - Phis([]), Defs([Def(Tid(4_128, "%00001020"), Attrs([Attr("address","0x9F0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(4_135, "%00001027"), Attrs([Attr("address","0x9F4"), -Attr("insn","ldr x17, [x16, #0xfa8]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(4008,64)),LittleEndian(),64)), -Def(Tid(4_141, "%0000102d"), Attrs([Attr("address","0x9F8"), -Attr("insn","add x16, x16, #0xfa8")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(4008,64)))]), Jmps([Call(Tid(4_146, "%00001032"), - Attrs([Attr("address","0x9FC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_605, "@handleInput"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xCE0")]), - "handleInput", Args([Arg(Tid(4_658, "%00001232"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("handleInput_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_497, "@handleInput"), - Attrs([Attr("address","0xCE0")]), Phis([]), -Defs([Def(Tid(1_504, "%000005e0"), Attrs([Attr("address","0xCE0"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("#4",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(1_510, "%000005e6"), Attrs([Attr("address","0xCE0"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#4",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_516, "%000005ec"), Attrs([Attr("address","0xCE0"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#4",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_520, "%000005f0"), Attrs([Attr("address","0xCE0"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("R31",Imm(64)), -Var("#4",Imm(64))), Def(Tid(1_525, "%000005f5"), - Attrs([Attr("address","0xCE4"), Attr("insn","adrp x1, #4096")]), - Var("R1",Imm(64)), Int(4096,64)), Def(Tid(1_531, "%000005fb"), - Attrs([Attr("address","0xCE8"), Attr("insn","add x1, x1, #0x70")]), - Var("R1",Imm(64)), PLUS(Var("R1",Imm(64)),Int(112,64))), -Def(Tid(1_537, "%00000601"), Attrs([Attr("address","0xCEC"), -Attr("insn","mov x29, sp")]), Var("R29",Imm(64)), Var("R31",Imm(64))), -Def(Tid(1_543, "%00000607"), Attrs([Attr("address","0xCF0"), -Attr("insn","stp x19, x20, [sp, #0x10]")]), Var("#5",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(1_549, "%0000060d"), - Attrs([Attr("address","0xCF0"), Attr("insn","stp x19, x20, [sp, #0x10]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#5",Imm(64)),Var("R19",Imm(64)),LittleEndian(),64)), -Def(Tid(1_555, "%00000613"), Attrs([Attr("address","0xCF0"), -Attr("insn","stp x19, x20, [sp, #0x10]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#5",Imm(64)),Int(8,64)),Var("R20",Imm(64)),LittleEndian(),64)), -Def(Tid(1_561, "%00000619"), Attrs([Attr("address","0xCF4"), -Attr("insn","mov x19, x0")]), Var("R19",Imm(64)), Var("R0",Imm(64))), -Def(Tid(1_566, "%0000061e"), Attrs([Attr("address","0xCF8"), -Attr("insn","bl #-0x318")]), Var("R30",Imm(64)), Int(3324,64))]), -Jmps([Call(Tid(1_569, "%00000621"), Attrs([Attr("address","0xCF8"), -Attr("insn","bl #-0x318")]), Int(1,1), -(Direct(Tid(4_627, "@strcmp")),Direct(Tid(1_571, "%00000623"))))])), -Blk(Tid(1_571, "%00000623"), Attrs([Attr("address","0xCFC")]), Phis([]), -Defs([]), Jmps([Goto(Tid(1_575, "%00000627"), Attrs([Attr("address","0xCFC"), -Attr("insn","cbz w0, #0xa0")]), - EQ(Extract(31,0,Var("R0",Imm(64))),Int(0,32)), -Direct(Tid(1_573, "%00000625"))), Goto(Tid(4_606, "%000011fe"), Attrs([]), - Int(1,1), Direct(Tid(2_771, "%00000ad3")))])), Blk(Tid(1_573, "%00000625"), - Attrs([Attr("address","0xD9C")]), Phis([]), -Defs([Def(Tid(1_582, "%0000062e"), Attrs([Attr("address","0xD9C"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("#6",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(1_587, "%00000633"), - Attrs([Attr("address","0xD9C"), Attr("insn","ldp x19, x20, [sp, #0x10]")]), - Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#6",Imm(64)),LittleEndian(),64)), -Def(Tid(1_592, "%00000638"), Attrs([Attr("address","0xD9C"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("R20",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#6",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_599, "%0000063f"), Attrs([Attr("address","0xDA0"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_604, "%00000644"), Attrs([Attr("address","0xDA0"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_608, "%00000648"), Attrs([Attr("address","0xDA0"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(1_613, "%0000064d"), - Attrs([Attr("address","0xDA4"), Attr("insn","b #-0x1c4")]), Int(1,1), -(Direct(Tid(4_619, "@printHelp")),))])), Blk(Tid(2_771, "%00000ad3"), - Attrs([Attr("address","0xD00")]), Phis([]), -Defs([Def(Tid(2_774, "%00000ad6"), Attrs([Attr("address","0xD00"), -Attr("insn","adrp x1, #4096")]), Var("R1",Imm(64)), Int(4096,64)), -Def(Tid(2_780, "%00000adc"), Attrs([Attr("address","0xD04"), -Attr("insn","mov x0, x19")]), Var("R0",Imm(64)), Var("R19",Imm(64))), -Def(Tid(2_786, "%00000ae2"), Attrs([Attr("address","0xD08"), -Attr("insn","add x1, x1, #0x78")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(120,64))), Def(Tid(2_791, "%00000ae7"), - Attrs([Attr("address","0xD0C"), Attr("insn","mov w2, #0x5")]), - Var("R2",Imm(64)), Int(5,64)), Def(Tid(2_796, "%00000aec"), - Attrs([Attr("address","0xD10"), Attr("insn","bl #-0x3a0")]), - Var("R30",Imm(64)), Int(3348,64))]), Jmps([Call(Tid(2_799, "%00000aef"), - Attrs([Attr("address","0xD10"), Attr("insn","bl #-0x3a0")]), Int(1,1), -(Direct(Tid(4_630, "@strncmp")),Direct(Tid(2_801, "%00000af1"))))])), -Blk(Tid(2_801, "%00000af1"), Attrs([Attr("address","0xD14")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_805, "%00000af5"), Attrs([Attr("address","0xD14"), -Attr("insn","cbz w0, #0x78")]), - EQ(Extract(31,0,Var("R0",Imm(64))),Int(0,32)), -Direct(Tid(2_803, "%00000af3"))), Goto(Tid(4_607, "%000011ff"), Attrs([]), - Int(1,1), Direct(Tid(2_850, "%00000b22")))])), Blk(Tid(2_850, "%00000b22"), - Attrs([Attr("address","0xD18")]), Phis([]), -Defs([Def(Tid(2_853, "%00000b25"), Attrs([Attr("address","0xD18"), -Attr("insn","adrp x1, #4096")]), Var("R1",Imm(64)), Int(4096,64)), -Def(Tid(2_859, "%00000b2b"), Attrs([Attr("address","0xD1C"), -Attr("insn","mov x0, x19")]), Var("R0",Imm(64)), Var("R19",Imm(64))), -Def(Tid(2_865, "%00000b31"), Attrs([Attr("address","0xD20"), -Attr("insn","add x1, x1, #0x80")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(128,64))), Def(Tid(2_870, "%00000b36"), - Attrs([Attr("address","0xD24"), Attr("insn","bl #-0x344")]), - Var("R30",Imm(64)), Int(3368,64))]), Jmps([Call(Tid(2_872, "%00000b38"), - Attrs([Attr("address","0xD24"), Attr("insn","bl #-0x344")]), Int(1,1), -(Direct(Tid(4_627, "@strcmp")),Direct(Tid(2_874, "%00000b3a"))))])), -Blk(Tid(2_874, "%00000b3a"), Attrs([Attr("address","0xD28")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_877, "%00000b3d"), Attrs([Attr("address","0xD28"), -Attr("insn","cbz w0, #0x94")]), - EQ(Extract(31,0,Var("R0",Imm(64))),Int(0,32)), -Direct(Tid(2_142, "%0000085e"))), Goto(Tid(4_608, "%00001200"), Attrs([]), - Int(1,1), Direct(Tid(2_881, "%00000b41")))])), Blk(Tid(2_142, "%0000085e"), - Attrs([Attr("address","0xDBC")]), Phis([]), -Defs([Def(Tid(2_145, "%00000861"), Attrs([Attr("address","0xDBC"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(2_151, "%00000867"), Attrs([Attr("address","0xDC0"), -Attr("insn","add x19, x0, #0x18")]), Var("R19",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(24,64))), Def(Tid(2_158, "%0000086e"), - Attrs([Attr("address","0xDC4"), Attr("insn","ldr x0, [x0, #0x18]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(24,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(2_164, "%00000874"), Attrs([Attr("address","0xDC8"), -Attr("insn","cbz x0, #0x68")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(2_162, "%00000872"))), Goto(Tid(4_609, "%00001201"), Attrs([]), - Int(1,1), Direct(Tid(2_561, "%00000a01")))])), Blk(Tid(2_162, "%00000872"), - Attrs([Attr("address","0xE30")]), Phis([]), -Defs([Def(Tid(2_171, "%0000087b"), Attrs([Attr("address","0xE30"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("#13",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(2_176, "%00000880"), - Attrs([Attr("address","0xE30"), Attr("insn","ldp x19, x20, [sp, #0x10]")]), - Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#13",Imm(64)),LittleEndian(),64)), -Def(Tid(2_181, "%00000885"), Attrs([Attr("address","0xE30"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("R20",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#13",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_186, "%0000088a"), Attrs([Attr("address","0xE34"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_193, "%00000891"), Attrs([Attr("address","0xE38"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_198, "%00000896"), Attrs([Attr("address","0xE38"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_202, "%0000089a"), Attrs([Attr("address","0xE38"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64))), Def(Tid(2_208, "%000008a0"), - Attrs([Attr("address","0xE3C"), Attr("insn","add x0, x0, #0x88")]), - Var("R0",Imm(64)), PLUS(Var("R0",Imm(64)),Int(136,64)))]), -Jmps([Call(Tid(2_212, "%000008a4"), Attrs([Attr("address","0xE40"), -Attr("insn","b #-0x470")]), Int(1,1), (Direct(Tid(4_620, "@puts")),))])), -Blk(Tid(2_561, "%00000a01"), Attrs([Attr("address","0xDCC")]), Phis([]), -Defs([Def(Tid(2_564, "%00000a04"), Attrs([Attr("address","0xDCC"), -Attr("insn","bl #-0x43c")]), Var("R30",Imm(64)), Int(3536,64))]), -Jmps([Call(Tid(2_566, "%00000a06"), Attrs([Attr("address","0xDCC"), -Attr("insn","bl #-0x43c")]), Int(1,1), -(Direct(Tid(4_624, "@rewind")),Direct(Tid(2_568, "%00000a08"))))])), -Blk(Tid(2_568, "%00000a08"), Attrs([Attr("address","0xDD0")]), Phis([]), -Defs([Def(Tid(2_573, "%00000a0d"), Attrs([Attr("address","0xDD0"), -Attr("insn","ldr x2, [x19, #0x8]")]), Var("R2",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_578, "%00000a12"), Attrs([Attr("address","0xDD4"), -Attr("insn","adrp x1, #4096")]), Var("R1",Imm(64)), Int(4096,64)), -Def(Tid(2_584, "%00000a18"), Attrs([Attr("address","0xDD8"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("#19",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(2_589, "%00000a1d"), - Attrs([Attr("address","0xDD8"), Attr("insn","ldp x19, x20, [sp, #0x10]")]), - Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#19",Imm(64)),LittleEndian(),64)), -Def(Tid(2_594, "%00000a22"), Attrs([Attr("address","0xDD8"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("R20",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#19",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_600, "%00000a28"), Attrs([Attr("address","0xDDC"), -Attr("insn","add x1, x1, #0xa8")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(168,64))), Def(Tid(2_607, "%00000a2f"), - Attrs([Attr("address","0xDE0"), Attr("insn","ldp x29, x30, [sp], #0x20")]), - Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_612, "%00000a34"), Attrs([Attr("address","0xDE0"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_616, "%00000a38"), Attrs([Attr("address","0xDE0"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64))), Def(Tid(2_621, "%00000a3d"), - Attrs([Attr("address","0xDE4"), Attr("insn","mov w0, #0x1")]), - Var("R0",Imm(64)), Int(1,64))]), Jmps([Call(Tid(2_625, "%00000a41"), - Attrs([Attr("address","0xDE8"), Attr("insn","b #-0x468")]), Int(1,1), -(Direct(Tid(4_585, "@__printf_chk")),))])), Blk(Tid(2_881, "%00000b41"), - Attrs([Attr("address","0xD2C")]), Phis([]), -Defs([Def(Tid(2_884, "%00000b44"), Attrs([Attr("address","0xD2C"), -Attr("insn","adrp x1, #4096")]), Var("R1",Imm(64)), Int(4096,64)), -Def(Tid(2_890, "%00000b4a"), Attrs([Attr("address","0xD30"), -Attr("insn","mov x0, x19")]), Var("R0",Imm(64)), Var("R19",Imm(64))), -Def(Tid(2_896, "%00000b50"), Attrs([Attr("address","0xD34"), -Attr("insn","add x1, x1, #0xc8")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(200,64))), Def(Tid(2_901, "%00000b55"), - Attrs([Attr("address","0xD38"), Attr("insn","bl #-0x358")]), - Var("R30",Imm(64)), Int(3388,64))]), Jmps([Call(Tid(2_903, "%00000b57"), - Attrs([Attr("address","0xD38"), Attr("insn","bl #-0x358")]), Int(1,1), -(Direct(Tid(4_627, "@strcmp")),Direct(Tid(2_905, "%00000b59"))))])), -Blk(Tid(2_905, "%00000b59"), Attrs([Attr("address","0xD3C")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_908, "%00000b5c"), Attrs([Attr("address","0xD3C"), -Attr("insn","cbz w0, #0xb0")]), - EQ(Extract(31,0,Var("R0",Imm(64))),Int(0,32)), -Direct(Tid(2_627, "%00000a43"))), Goto(Tid(4_610, "%00001202"), Attrs([]), - Int(1,1), Direct(Tid(2_912, "%00000b60")))])), Blk(Tid(2_627, "%00000a43"), - Attrs([Attr("address","0xDEC")]), Phis([]), -Defs([Def(Tid(2_630, "%00000a46"), Attrs([Attr("address","0xDEC"), -Attr("insn","adrp x19, #73728")]), Var("R19",Imm(64)), Int(73728,64)), -Def(Tid(2_636, "%00000a4c"), Attrs([Attr("address","0xDF0"), -Attr("insn","add x20, x19, #0x18")]), Var("R20",Imm(64)), -PLUS(Var("R19",Imm(64)),Int(24,64))), Def(Tid(2_643, "%00000a53"), - Attrs([Attr("address","0xDF4"), Attr("insn","ldr x0, [x19, #0x18]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(24,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(2_649, "%00000a59"), Attrs([Attr("address","0xDF8"), -Attr("insn","cbz x0, #0x2c")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(2_647, "%00000a57"))), Goto(Tid(4_611, "%00001203"), Attrs([]), - Int(1,1), Direct(Tid(2_689, "%00000a81")))])), Blk(Tid(2_647, "%00000a57"), - Attrs([Attr("address","0xE24")]), Phis([]), -Defs([Def(Tid(2_656, "%00000a60"), Attrs([Attr("address","0xE24"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("#20",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(2_661, "%00000a65"), - Attrs([Attr("address","0xE24"), Attr("insn","ldp x19, x20, [sp, #0x10]")]), - Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#20",Imm(64)),LittleEndian(),64)), -Def(Tid(2_666, "%00000a6a"), Attrs([Attr("address","0xE24"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("R20",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#20",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_673, "%00000a71"), Attrs([Attr("address","0xE28"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_678, "%00000a76"), Attrs([Attr("address","0xE28"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_682, "%00000a7a"), Attrs([Attr("address","0xE28"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(2_687, "%00000a7f"), - Attrs([Attr("address","0xE2C"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))])), Blk(Tid(2_689, "%00000a81"), - Attrs([Attr("address","0xDFC")]), Phis([]), -Defs([Def(Tid(2_692, "%00000a84"), Attrs([Attr("address","0xDFC"), -Attr("insn","bl #-0x4ac")]), Var("R30",Imm(64)), Int(3584,64))]), -Jmps([Call(Tid(2_694, "%00000a86"), Attrs([Attr("address","0xDFC"), -Attr("insn","bl #-0x4ac")]), Int(1,1), -(Direct(Tid(4_600, "@fclose")),Direct(Tid(2_696, "%00000a88"))))])), -Blk(Tid(2_696, "%00000a88"), Attrs([Attr("address","0xE00")]), Phis([]), -Defs([Def(Tid(2_701, "%00000a8d"), Attrs([Attr("address","0xE00"), -Attr("insn","ldr x0, [x20, #0x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R20",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_706, "%00000a92"), Attrs([Attr("address","0xE04"), -Attr("insn","bl #-0x414")]), Var("R30",Imm(64)), Int(3592,64))]), -Jmps([Call(Tid(2_708, "%00000a94"), Attrs([Attr("address","0xE04"), -Attr("insn","bl #-0x414")]), Int(1,1), -(Direct(Tid(4_604, "@free")),Direct(Tid(2_710, "%00000a96"))))])), -Blk(Tid(2_710, "%00000a96"), Attrs([Attr("address","0xE08")]), Phis([]), -Defs([Def(Tid(2_715, "%00000a9b"), Attrs([Attr("address","0xE08"), -Attr("insn","str xzr, [x19, #0x18]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(24,64)),Int(0,64),LittleEndian(),64)), -Def(Tid(2_722, "%00000aa2"), Attrs([Attr("address","0xE0C"), -Attr("insn","str xzr, [x20, #0x8]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R20",Imm(64)),Int(8,64)),Int(0,64),LittleEndian(),64)), -Def(Tid(2_727, "%00000aa7"), Attrs([Attr("address","0xE10"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_733, "%00000aad"), Attrs([Attr("address","0xE14"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("#21",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(2_738, "%00000ab2"), - Attrs([Attr("address","0xE14"), Attr("insn","ldp x19, x20, [sp, #0x10]")]), - Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#21",Imm(64)),LittleEndian(),64)), -Def(Tid(2_743, "%00000ab7"), Attrs([Attr("address","0xE14"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("R20",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#21",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_749, "%00000abd"), Attrs([Attr("address","0xE18"), -Attr("insn","add x0, x0, #0x20")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(32,64))), Def(Tid(2_756, "%00000ac4"), - Attrs([Attr("address","0xE1C"), Attr("insn","ldp x29, x30, [sp], #0x20")]), - Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_761, "%00000ac9"), Attrs([Attr("address","0xE1C"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_765, "%00000acd"), Attrs([Attr("address","0xE1C"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(2_769, "%00000ad1"), - Attrs([Attr("address","0xE20"), Attr("insn","b #-0x450")]), Int(1,1), -(Direct(Tid(4_620, "@puts")),))])), Blk(Tid(2_912, "%00000b60"), - Attrs([Attr("address","0xD40")]), Phis([]), -Defs([Def(Tid(2_915, "%00000b63"), Attrs([Attr("address","0xD40"), -Attr("insn","adrp x1, #4096")]), Var("R1",Imm(64)), Int(4096,64)), -Def(Tid(2_921, "%00000b69"), Attrs([Attr("address","0xD44"), -Attr("insn","mov x0, x19")]), Var("R0",Imm(64)), Var("R19",Imm(64))), -Def(Tid(2_927, "%00000b6f"), Attrs([Attr("address","0xD48"), -Attr("insn","add x1, x1, #0xd0")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(208,64))), Def(Tid(2_932, "%00000b74"), - Attrs([Attr("address","0xD4C"), Attr("insn","bl #-0x36c")]), - Var("R30",Imm(64)), Int(3408,64))]), Jmps([Call(Tid(2_934, "%00000b76"), - Attrs([Attr("address","0xD4C"), Attr("insn","bl #-0x36c")]), Int(1,1), -(Direct(Tid(4_627, "@strcmp")),Direct(Tid(2_936, "%00000b78"))))])), -Blk(Tid(2_936, "%00000b78"), Attrs([Attr("address","0xD50")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_940, "%00000b7c"), Attrs([Attr("address","0xD50"), -Attr("insn","cbnz w0, #0x58")]), - NEQ(Extract(31,0,Var("R0",Imm(64))),Int(0,32)), -Direct(Tid(2_095, "%0000082f"))), Goto(Tid(4_612, "%00001204"), Attrs([]), - Int(1,1), Direct(Tid(2_944, "%00000b80")))])), Blk(Tid(2_095, "%0000082f"), - Attrs([Attr("address","0xDA8")]), Phis([]), -Defs([Def(Tid(2_099, "%00000833"), Attrs([Attr("address","0xDA8"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("#12",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(2_104, "%00000838"), - Attrs([Attr("address","0xDA8"), Attr("insn","ldp x19, x20, [sp, #0x10]")]), - Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#12",Imm(64)),LittleEndian(),64)), -Def(Tid(2_109, "%0000083d"), Attrs([Attr("address","0xDA8"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("R20",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#12",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_114, "%00000842"), Attrs([Attr("address","0xDAC"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_121, "%00000849"), Attrs([Attr("address","0xDB0"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_126, "%0000084e"), Attrs([Attr("address","0xDB0"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_130, "%00000852"), Attrs([Attr("address","0xDB0"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64))), Def(Tid(2_136, "%00000858"), - Attrs([Attr("address","0xDB4"), Attr("insn","add x0, x0, #0xd8")]), - Var("R0",Imm(64)), PLUS(Var("R0",Imm(64)),Int(216,64)))]), -Jmps([Call(Tid(2_140, "%0000085c"), Attrs([Attr("address","0xDB8"), -Attr("insn","b #-0x3e8")]), Int(1,1), (Direct(Tid(4_620, "@puts")),))])), -Blk(Tid(2_944, "%00000b80"), Attrs([Attr("address","0xD54")]), Phis([]), -Defs([Def(Tid(2_947, "%00000b83"), Attrs([Attr("address","0xD54"), -Attr("insn","adrp x19, #73728")]), Var("R19",Imm(64)), Int(73728,64)), -Def(Tid(2_953, "%00000b89"), Attrs([Attr("address","0xD58"), -Attr("insn","add x20, x19, #0x18")]), Var("R20",Imm(64)), -PLUS(Var("R19",Imm(64)),Int(24,64))), Def(Tid(2_960, "%00000b90"), - Attrs([Attr("address","0xD5C"), Attr("insn","ldr x0, [x19, #0x18]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(24,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(2_966, "%00000b96"), Attrs([Attr("address","0xD60"), -Attr("insn","cbz x0, #0x24")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(2_964, "%00000b94"))), Goto(Tid(4_613, "%00001205"), Attrs([]), - Int(1,1), Direct(Tid(2_982, "%00000ba6")))])), Blk(Tid(2_982, "%00000ba6"), - Attrs([Attr("address","0xD64")]), Phis([]), -Defs([Def(Tid(2_985, "%00000ba9"), Attrs([Attr("address","0xD64"), -Attr("insn","bl #-0x414")]), Var("R30",Imm(64)), Int(3432,64))]), -Jmps([Call(Tid(2_987, "%00000bab"), Attrs([Attr("address","0xD64"), -Attr("insn","bl #-0x414")]), Int(1,1), -(Direct(Tid(4_600, "@fclose")),Direct(Tid(2_989, "%00000bad"))))])), -Blk(Tid(2_989, "%00000bad"), Attrs([Attr("address","0xD68")]), Phis([]), -Defs([Def(Tid(2_994, "%00000bb2"), Attrs([Attr("address","0xD68"), -Attr("insn","ldr x0, [x20, #0x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R20",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_999, "%00000bb7"), Attrs([Attr("address","0xD6C"), -Attr("insn","bl #-0x37c")]), Var("R30",Imm(64)), Int(3440,64))]), -Jmps([Call(Tid(3_001, "%00000bb9"), Attrs([Attr("address","0xD6C"), -Attr("insn","bl #-0x37c")]), Int(1,1), -(Direct(Tid(4_604, "@free")),Direct(Tid(3_003, "%00000bbb"))))])), -Blk(Tid(3_003, "%00000bbb"), Attrs([Attr("address","0xD70")]), Phis([]), -Defs([Def(Tid(3_008, "%00000bc0"), Attrs([Attr("address","0xD70"), -Attr("insn","str xzr, [x19, #0x18]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(24,64)),Int(0,64),LittleEndian(),64)), -Def(Tid(3_013, "%00000bc5"), Attrs([Attr("address","0xD74"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(3_019, "%00000bcb"), Attrs([Attr("address","0xD78"), -Attr("insn","add x0, x0, #0x20")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(32,64))), Def(Tid(3_026, "%00000bd2"), - Attrs([Attr("address","0xD7C"), Attr("insn","str xzr, [x20, #0x8]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R20",Imm(64)),Int(8,64)),Int(0,64),LittleEndian(),64)), -Def(Tid(3_031, "%00000bd7"), Attrs([Attr("address","0xD80"), -Attr("insn","bl #-0x3b0")]), Var("R30",Imm(64)), Int(3460,64))]), -Jmps([Call(Tid(3_033, "%00000bd9"), Attrs([Attr("address","0xD80"), -Attr("insn","bl #-0x3b0")]), Int(1,1), -(Direct(Tid(4_620, "@puts")),Direct(Tid(2_964, "%00000b94"))))])), -Blk(Tid(2_964, "%00000b94"), Attrs([Attr("address","0xD84")]), Phis([]), -Defs([Def(Tid(2_972, "%00000b9c"), Attrs([Attr("address","0xD84"), -Attr("insn","mov w0, #0x0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_977, "%00000ba1"), Attrs([Attr("address","0xD88"), -Attr("insn","bl #-0x468")]), Var("R30",Imm(64)), Int(3468,64))]), -Jmps([Call(Tid(2_980, "%00000ba4"), Attrs([Attr("address","0xD88"), -Attr("insn","bl #-0x468")]), Int(1,1), -(Direct(Tid(4_599, "@exit")),Direct(Tid(2_803, "%00000af3"))))])), -Blk(Tid(2_803, "%00000af3"), Attrs([Attr("address","0xD8C")]), Phis([]), -Defs([Def(Tid(2_812, "%00000afc"), Attrs([Attr("address","0xD8C"), -Attr("insn","add x0, x19, #0x5")]), Var("R0",Imm(64)), -PLUS(Var("R19",Imm(64)),Int(5,64))), Def(Tid(2_818, "%00000b02"), - Attrs([Attr("address","0xD90"), Attr("insn","ldp x19, x20, [sp, #0x10]")]), - Var("#22",Imm(64)), PLUS(Var("R31",Imm(64)),Int(16,64))), -Def(Tid(2_823, "%00000b07"), Attrs([Attr("address","0xD90"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#22",Imm(64)),LittleEndian(),64)), -Def(Tid(2_828, "%00000b0c"), Attrs([Attr("address","0xD90"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("R20",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#22",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_835, "%00000b13"), Attrs([Attr("address","0xD94"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_840, "%00000b18"), Attrs([Attr("address","0xD94"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_844, "%00000b1c"), Attrs([Attr("address","0xD94"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(2_848, "%00000b20"), - Attrs([Attr("address","0xD98"), Attr("insn","b #-0x164")]), Int(1,1), -(Direct(Tid(4_616, "@openFile")),))]))])), Sub(Tid(4_614, "@main"), - Attrs([Attr("c.proto","signed (*)(signed argc, const char** argv)"), -Attr("address","0xA40")]), "main", Args([Arg(Tid(4_659, "%00001233"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("main_argc",Imm(32)), -LOW(32,Var("R0",Imm(64))), In()), Arg(Tid(4_660, "%00001234"), - Attrs([Attr("c.layout","**[char : 8]"), Attr("c.data","Top:u8 ptr ptr"), -Attr("c.type"," const char**")]), Var("main_argv",Imm(64)), -Var("R1",Imm(64)), Both()), Arg(Tid(4_661, "%00001235"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("main_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_272, "@main"), - Attrs([Attr("address","0xA40")]), Phis([]), -Defs([Def(Tid(1_276, "%000004fc"), Attrs([Attr("address","0xA40"), -Attr("insn","stp x29, x30, [sp, #-0x140]!")]), Var("#1",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551296,64))), -Def(Tid(1_282, "%00000502"), Attrs([Attr("address","0xA40"), -Attr("insn","stp x29, x30, [sp, #-0x140]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#1",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_288, "%00000508"), Attrs([Attr("address","0xA40"), -Attr("insn","stp x29, x30, [sp, #-0x140]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#1",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_292, "%0000050c"), Attrs([Attr("address","0xA40"), -Attr("insn","stp x29, x30, [sp, #-0x140]!")]), Var("R31",Imm(64)), -Var("#1",Imm(64))), Def(Tid(1_297, "%00000511"), - Attrs([Attr("address","0xA44"), Attr("insn","adrp x0, #69632")]), - Var("R0",Imm(64)), Int(69632,64)), Def(Tid(1_303, "%00000517"), - Attrs([Attr("address","0xA48"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(1_310, "%0000051e"), - Attrs([Attr("address","0xA4C"), Attr("insn","ldr x0, [x0, #0xfe8]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4072,64)),LittleEndian(),64)), -Def(Tid(1_316, "%00000524"), Attrs([Attr("address","0xA50"), -Attr("insn","stp x21, x22, [sp, #0x20]")]), Var("#2",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64))), Def(Tid(1_322, "%0000052a"), - Attrs([Attr("address","0xA50"), Attr("insn","stp x21, x22, [sp, #0x20]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#2",Imm(64)),Var("R21",Imm(64)),LittleEndian(),64)), -Def(Tid(1_328, "%00000530"), Attrs([Attr("address","0xA50"), -Attr("insn","stp x21, x22, [sp, #0x20]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#2",Imm(64)),Int(8,64)),Var("R22",Imm(64)),LittleEndian(),64)), -Def(Tid(1_333, "%00000535"), Attrs([Attr("address","0xA54"), -Attr("insn","adrp x21, #69632")]), Var("R21",Imm(64)), Int(69632,64)), -Def(Tid(1_339, "%0000053b"), Attrs([Attr("address","0xA58"), -Attr("insn","stp x19, x20, [sp, #0x10]")]), Var("#3",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(1_345, "%00000541"), - Attrs([Attr("address","0xA58"), Attr("insn","stp x19, x20, [sp, #0x10]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#3",Imm(64)),Var("R19",Imm(64)),LittleEndian(),64)), -Def(Tid(1_351, "%00000547"), Attrs([Attr("address","0xA58"), -Attr("insn","stp x19, x20, [sp, #0x10]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#3",Imm(64)),Int(8,64)),Var("R20",Imm(64)),LittleEndian(),64)), -Def(Tid(1_356, "%0000054c"), Attrs([Attr("address","0xA5C"), -Attr("insn","adrp x22, #4096")]), Var("R22",Imm(64)), Int(4096,64)), -Def(Tid(1_361, "%00000551"), Attrs([Attr("address","0xA60"), -Attr("insn","adrp x20, #4096")]), Var("R20",Imm(64)), Int(4096,64)), -Def(Tid(1_368, "%00000558"), Attrs([Attr("address","0xA64"), -Attr("insn","ldr x21, [x21, #0xfd8]")]), Var("R21",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R21",Imm(64)),Int(4056,64)),LittleEndian(),64)), -Def(Tid(1_374, "%0000055e"), Attrs([Attr("address","0xA68"), -Attr("insn","add x22, x22, #0x110")]), Var("R22",Imm(64)), -PLUS(Var("R22",Imm(64)),Int(272,64))), Def(Tid(1_381, "%00000565"), - Attrs([Attr("address","0xA6C"), Attr("insn","ldr x1, [x0]")]), - Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(1_389, "%0000056d"), Attrs([Attr("address","0xA70"), -Attr("insn","str x1, [sp, #0x138]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(312,64)),Var("R1",Imm(64)),LittleEndian(),64)), -Def(Tid(1_394, "%00000572"), Attrs([Attr("address","0xA74"), -Attr("insn","mov x1, #0x0")]), Var("R1",Imm(64)), Int(0,64)), -Def(Tid(1_400, "%00000578"), Attrs([Attr("address","0xA78"), -Attr("insn","add x20, x20, #0x68")]), Var("R20",Imm(64)), -PLUS(Var("R20",Imm(64)),Int(104,64))), Def(Tid(1_406, "%0000057e"), - Attrs([Attr("address","0xA7C"), Attr("insn","add x19, sp, #0x38")]), - Var("R19",Imm(64)), PLUS(Var("R31",Imm(64)),Int(56,64)))]), -Jmps([Goto(Tid(4_615, "%00001207"), Attrs([]), Int(1,1), -Direct(Tid(1_408, "%00000580")))])), Blk(Tid(1_408, "%00000580"), - Attrs([Attr("address","0xA80")]), Phis([]), -Defs([Def(Tid(1_412, "%00000584"), Attrs([Attr("address","0xA80"), -Attr("insn","mov x1, x22")]), Var("R1",Imm(64)), Var("R22",Imm(64))), -Def(Tid(1_417, "%00000589"), Attrs([Attr("address","0xA84"), -Attr("insn","mov w0, #0x1")]), Var("R0",Imm(64)), Int(1,64)), -Def(Tid(1_422, "%0000058e"), Attrs([Attr("address","0xA88"), -Attr("insn","bl #-0x108")]), Var("R30",Imm(64)), Int(2700,64))]), -Jmps([Call(Tid(1_425, "%00000591"), Attrs([Attr("address","0xA88"), -Attr("insn","bl #-0x108")]), Int(1,1), -(Direct(Tid(4_585, "@__printf_chk")),Direct(Tid(1_427, "%00000593"))))])), -Blk(Tid(1_427, "%00000593"), Attrs([Attr("address","0xA8C")]), Phis([]), -Defs([Def(Tid(1_432, "%00000598"), Attrs([Attr("address","0xA8C"), -Attr("insn","ldr x2, [x21]")]), Var("R2",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R21",Imm(64)),LittleEndian(),64)), -Def(Tid(1_438, "%0000059e"), Attrs([Attr("address","0xA90"), -Attr("insn","mov x0, x19")]), Var("R0",Imm(64)), Var("R19",Imm(64))), -Def(Tid(1_443, "%000005a3"), Attrs([Attr("address","0xA94"), -Attr("insn","mov w1, #0x100")]), Var("R1",Imm(64)), Int(256,64)), -Def(Tid(1_448, "%000005a8"), Attrs([Attr("address","0xA98"), -Attr("insn","bl #-0x88")]), Var("R30",Imm(64)), Int(2716,64))]), -Jmps([Call(Tid(1_451, "%000005ab"), Attrs([Attr("address","0xA98"), -Attr("insn","bl #-0x88")]), Int(1,1), -(Direct(Tid(4_601, "@fgets")),Direct(Tid(1_453, "%000005ad"))))])), -Blk(Tid(1_453, "%000005ad"), Attrs([Attr("address","0xA9C")]), Phis([]), -Defs([Def(Tid(1_457, "%000005b1"), Attrs([Attr("address","0xA9C"), -Attr("insn","mov x1, x20")]), Var("R1",Imm(64)), Var("R20",Imm(64))), -Def(Tid(1_463, "%000005b7"), Attrs([Attr("address","0xAA0"), -Attr("insn","mov x0, x19")]), Var("R0",Imm(64)), Var("R19",Imm(64))), -Def(Tid(1_468, "%000005bc"), Attrs([Attr("address","0xAA4"), -Attr("insn","bl #-0xa4")]), Var("R30",Imm(64)), Int(2728,64))]), -Jmps([Call(Tid(1_471, "%000005bf"), Attrs([Attr("address","0xAA4"), -Attr("insn","bl #-0xa4")]), Int(1,1), -(Direct(Tid(4_628, "@strcspn")),Direct(Tid(1_473, "%000005c1"))))])), -Blk(Tid(1_473, "%000005c1"), Attrs([Attr("address","0xAA8")]), Phis([]), -Defs([Def(Tid(1_477, "%000005c5"), Attrs([Attr("address","0xAA8"), -Attr("insn","mov x1, x0")]), Var("R1",Imm(64)), Var("R0",Imm(64))), -Def(Tid(1_483, "%000005cb"), Attrs([Attr("address","0xAAC"), -Attr("insn","mov x0, x19")]), Var("R0",Imm(64)), Var("R19",Imm(64))), -Def(Tid(1_491, "%000005d3"), Attrs([Attr("address","0xAB0"), -Attr("insn","strb wzr, [x19, x1]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Var("R1",Imm(64))),Int(0,8),LittleEndian(),8)), -Def(Tid(1_496, "%000005d8"), Attrs([Attr("address","0xAB4"), -Attr("insn","bl #0x22c")]), Var("R30",Imm(64)), Int(2744,64))]), -Jmps([Call(Tid(1_499, "%000005db"), Attrs([Attr("address","0xAB4"), -Attr("insn","bl #0x22c")]), Int(1,1), -(Direct(Tid(4_605, "@handleInput")),Direct(Tid(3_035, "%00000bdb"))))])), -Blk(Tid(3_035, "%00000bdb"), Attrs([Attr("address","0xAB8")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_037, "%00000bdd"), Attrs([Attr("address","0xAB8"), -Attr("insn","b #-0x38")]), Int(1,1), Direct(Tid(1_408, "%00000580")))]))])), -Sub(Tid(4_616, "@openFile"), Attrs([Attr("c.proto","signed (*)(void)"), -Attr("address","0xC34")]), "openFile", Args([Arg(Tid(4_662, "%00001236"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("openFile_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_764, "@openFile"), - Attrs([Attr("address","0xC34")]), Phis([]), -Defs([Def(Tid(1_768, "%000006e8"), Attrs([Attr("address","0xC34"), -Attr("insn","stp x29, x30, [sp, #-0x30]!")]), Var("#8",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551568,64))), -Def(Tid(1_774, "%000006ee"), Attrs([Attr("address","0xC34"), -Attr("insn","stp x29, x30, [sp, #-0x30]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#8",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_780, "%000006f4"), Attrs([Attr("address","0xC34"), -Attr("insn","stp x29, x30, [sp, #-0x30]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#8",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_784, "%000006f8"), Attrs([Attr("address","0xC34"), -Attr("insn","stp x29, x30, [sp, #-0x30]!")]), Var("R31",Imm(64)), -Var("#8",Imm(64))), Def(Tid(1_790, "%000006fe"), - Attrs([Attr("address","0xC38"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(1_796, "%00000704"), - Attrs([Attr("address","0xC3C"), Attr("insn","stp x19, x20, [sp, #0x10]")]), - Var("#9",Imm(64)), PLUS(Var("R31",Imm(64)),Int(16,64))), -Def(Tid(1_802, "%0000070a"), Attrs([Attr("address","0xC3C"), -Attr("insn","stp x19, x20, [sp, #0x10]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#9",Imm(64)),Var("R19",Imm(64)),LittleEndian(),64)), -Def(Tid(1_808, "%00000710"), Attrs([Attr("address","0xC3C"), -Attr("insn","stp x19, x20, [sp, #0x10]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#9",Imm(64)),Int(8,64)),Var("R20",Imm(64)),LittleEndian(),64)), -Def(Tid(1_813, "%00000715"), Attrs([Attr("address","0xC40"), -Attr("insn","adrp x19, #73728")]), Var("R19",Imm(64)), Int(73728,64)), -Def(Tid(1_819, "%0000071b"), Attrs([Attr("address","0xC44"), -Attr("insn","mov x20, x0")]), Var("R20",Imm(64)), Var("R0",Imm(64))), -Def(Tid(1_826, "%00000722"), Attrs([Attr("address","0xC48"), -Attr("insn","ldr x0, [x19, #0x18]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(24,64)),LittleEndian(),64)), -Def(Tid(1_834, "%0000072a"), Attrs([Attr("address","0xC4C"), -Attr("insn","str x21, [sp, #0x20]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(32,64)),Var("R21",Imm(64)),LittleEndian(),64))]), -Jmps([Goto(Tid(1_840, "%00000730"), Attrs([Attr("address","0xC50"), -Attr("insn","cbz x0, #0x28")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(1_838, "%0000072e"))), Goto(Tid(4_617, "%00001209"), Attrs([]), - Int(1,1), Direct(Tid(2_034, "%000007f2")))])), Blk(Tid(2_034, "%000007f2"), - Attrs([Attr("address","0xC54")]), Phis([]), -Defs([Def(Tid(2_038, "%000007f6"), Attrs([Attr("address","0xC54"), -Attr("insn","add x21, x19, #0x18")]), Var("R21",Imm(64)), -PLUS(Var("R19",Imm(64)),Int(24,64))), Def(Tid(2_043, "%000007fb"), - Attrs([Attr("address","0xC58"), Attr("insn","bl #-0x308")]), - Var("R30",Imm(64)), Int(3164,64))]), Jmps([Call(Tid(2_046, "%000007fe"), - Attrs([Attr("address","0xC58"), Attr("insn","bl #-0x308")]), Int(1,1), -(Direct(Tid(4_600, "@fclose")),Direct(Tid(2_048, "%00000800"))))])), -Blk(Tid(2_048, "%00000800"), Attrs([Attr("address","0xC5C")]), Phis([]), -Defs([Def(Tid(2_053, "%00000805"), Attrs([Attr("address","0xC5C"), -Attr("insn","ldr x0, [x21, #0x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R21",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_058, "%0000080a"), Attrs([Attr("address","0xC60"), -Attr("insn","bl #-0x270")]), Var("R30",Imm(64)), Int(3172,64))]), -Jmps([Call(Tid(2_061, "%0000080d"), Attrs([Attr("address","0xC60"), -Attr("insn","bl #-0x270")]), Int(1,1), -(Direct(Tid(4_604, "@free")),Direct(Tid(2_063, "%0000080f"))))])), -Blk(Tid(2_063, "%0000080f"), Attrs([Attr("address","0xC64")]), Phis([]), -Defs([Def(Tid(2_068, "%00000814"), Attrs([Attr("address","0xC64"), -Attr("insn","str xzr, [x19, #0x18]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(24,64)),Int(0,64),LittleEndian(),64)), -Def(Tid(2_073, "%00000819"), Attrs([Attr("address","0xC68"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_079, "%0000081f"), Attrs([Attr("address","0xC6C"), -Attr("insn","add x0, x0, #0x20")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(32,64))), Def(Tid(2_086, "%00000826"), - Attrs([Attr("address","0xC70"), Attr("insn","str xzr, [x21, #0x8]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R21",Imm(64)),Int(8,64)),Int(0,64),LittleEndian(),64)), -Def(Tid(2_091, "%0000082b"), Attrs([Attr("address","0xC74"), -Attr("insn","bl #-0x2a4")]), Var("R30",Imm(64)), Int(3192,64))]), -Jmps([Call(Tid(2_093, "%0000082d"), Attrs([Attr("address","0xC74"), -Attr("insn","bl #-0x2a4")]), Int(1,1), -(Direct(Tid(4_620, "@puts")),Direct(Tid(1_838, "%0000072e"))))])), -Blk(Tid(1_838, "%0000072e"), Attrs([Attr("address","0xC78")]), Phis([]), -Defs([Def(Tid(1_847, "%00000737"), Attrs([Attr("address","0xC78"), -Attr("insn","add x21, x19, #0x18")]), Var("R21",Imm(64)), -PLUS(Var("R19",Imm(64)),Int(24,64))), Def(Tid(1_853, "%0000073d"), - Attrs([Attr("address","0xC7C"), Attr("insn","mov x0, x20")]), - Var("R0",Imm(64)), Var("R20",Imm(64))), Def(Tid(1_858, "%00000742"), - Attrs([Attr("address","0xC80"), Attr("insn","bl #-0x2e0")]), - Var("R30",Imm(64)), Int(3204,64))]), Jmps([Call(Tid(1_861, "%00000745"), - Attrs([Attr("address","0xC80"), Attr("insn","bl #-0x2e0")]), Int(1,1), -(Direct(Tid(4_629, "@strdup")),Direct(Tid(1_863, "%00000747"))))])), -Blk(Tid(1_863, "%00000747"), Attrs([Attr("address","0xC84")]), Phis([]), -Defs([Def(Tid(1_866, "%0000074a"), Attrs([Attr("address","0xC84"), -Attr("insn","adrp x1, #4096")]), Var("R1",Imm(64)), Int(4096,64)), -Def(Tid(1_872, "%00000750"), Attrs([Attr("address","0xC88"), -Attr("insn","add x1, x1, #0x30")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(48,64))), Def(Tid(1_880, "%00000758"), - Attrs([Attr("address","0xC8C"), Attr("insn","str x0, [x21, #0x8]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R21",Imm(64)),Int(8,64)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(1_885, "%0000075d"), Attrs([Attr("address","0xC90"), -Attr("insn","bl #-0x330")]), Var("R30",Imm(64)), Int(3220,64))]), -Jmps([Call(Tid(1_888, "%00000760"), Attrs([Attr("address","0xC90"), -Attr("insn","bl #-0x330")]), Int(1,1), -(Direct(Tid(4_602, "@fopen")),Direct(Tid(1_890, "%00000762"))))])), -Blk(Tid(1_890, "%00000762"), Attrs([Attr("address","0xC94")]), Phis([]), -Defs([Def(Tid(1_896, "%00000768"), Attrs([Attr("address","0xC94"), -Attr("insn","str x0, [x19, #0x18]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(24,64)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(1_903, "%0000076f"), Attrs([Attr("address","0xC98"), -Attr("insn","ldr x2, [x21, #0x8]")]), Var("R2",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R21",Imm(64)),Int(8,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(1_909, "%00000775"), Attrs([Attr("address","0xC9C"), -Attr("insn","cbz x0, #0x20")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(1_907, "%00000773"))), Goto(Tid(4_618, "%0000120a"), Attrs([]), - Int(1,1), Direct(Tid(1_975, "%000007b7")))])), Blk(Tid(1_907, "%00000773"), - Attrs([Attr("address","0xCBC")]), Phis([]), -Defs([Def(Tid(1_916, "%0000077c"), Attrs([Attr("address","0xCBC"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("#10",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(1_921, "%00000781"), - Attrs([Attr("address","0xCBC"), Attr("insn","ldp x19, x20, [sp, #0x10]")]), - Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#10",Imm(64)),LittleEndian(),64)), -Def(Tid(1_926, "%00000786"), Attrs([Attr("address","0xCBC"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("R20",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#10",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_931, "%0000078b"), Attrs([Attr("address","0xCC0"), -Attr("insn","adrp x1, #4096")]), Var("R1",Imm(64)), Int(4096,64)), -Def(Tid(1_938, "%00000792"), Attrs([Attr("address","0xCC4"), -Attr("insn","ldr x21, [sp, #0x20]")]), Var("R21",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(32,64)),LittleEndian(),64)), -Def(Tid(1_944, "%00000798"), Attrs([Attr("address","0xCC8"), -Attr("insn","add x1, x1, #0x38")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(56,64))), Def(Tid(1_951, "%0000079f"), - Attrs([Attr("address","0xCCC"), Attr("insn","ldp x29, x30, [sp], #0x30")]), - Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_956, "%000007a4"), Attrs([Attr("address","0xCCC"), -Attr("insn","ldp x29, x30, [sp], #0x30")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_960, "%000007a8"), Attrs([Attr("address","0xCCC"), -Attr("insn","ldp x29, x30, [sp], #0x30")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(48,64))), Def(Tid(1_965, "%000007ad"), - Attrs([Attr("address","0xCD0"), Attr("insn","mov w0, #0x1")]), - Var("R0",Imm(64)), Int(1,64))]), Jmps([Call(Tid(1_969, "%000007b1"), - Attrs([Attr("address","0xCD4"), Attr("insn","b #-0x354")]), Int(1,1), -(Direct(Tid(4_585, "@__printf_chk")),))])), Blk(Tid(1_975, "%000007b7"), - Attrs([Attr("address","0xCA0")]), Phis([]), -Defs([Def(Tid(1_979, "%000007bb"), Attrs([Attr("address","0xCA0"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("#11",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(1_984, "%000007c0"), - Attrs([Attr("address","0xCA0"), Attr("insn","ldp x19, x20, [sp, #0x10]")]), - Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("#11",Imm(64)),LittleEndian(),64)), -Def(Tid(1_989, "%000007c5"), Attrs([Attr("address","0xCA0"), -Attr("insn","ldp x19, x20, [sp, #0x10]")]), Var("R20",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("#11",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_994, "%000007ca"), Attrs([Attr("address","0xCA4"), -Attr("insn","adrp x1, #4096")]), Var("R1",Imm(64)), Int(4096,64)), -Def(Tid(2_001, "%000007d1"), Attrs([Attr("address","0xCA8"), -Attr("insn","ldr x21, [sp, #0x20]")]), Var("R21",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(32,64)),LittleEndian(),64)), -Def(Tid(2_007, "%000007d7"), Attrs([Attr("address","0xCAC"), -Attr("insn","add x1, x1, #0x58")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(88,64))), Def(Tid(2_014, "%000007de"), - Attrs([Attr("address","0xCB0"), Attr("insn","ldp x29, x30, [sp], #0x30")]), - Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_019, "%000007e3"), Attrs([Attr("address","0xCB0"), -Attr("insn","ldp x29, x30, [sp], #0x30")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_023, "%000007e7"), Attrs([Attr("address","0xCB0"), -Attr("insn","ldp x29, x30, [sp], #0x30")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(48,64))), Def(Tid(2_028, "%000007ec"), - Attrs([Attr("address","0xCB4"), Attr("insn","mov w0, #0x1")]), - Var("R0",Imm(64)), Int(1,64))]), Jmps([Call(Tid(2_032, "%000007f0"), - Attrs([Attr("address","0xCB8"), Attr("insn","b #-0x338")]), Int(1,1), -(Direct(Tid(4_585, "@__printf_chk")),))]))])), Sub(Tid(4_619, "@printHelp"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xBE0")]), - "printHelp", Args([Arg(Tid(4_663, "%00001237"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("printHelp_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_611, "@printHelp"), - Attrs([Attr("address","0xBE0")]), Phis([]), -Defs([Def(Tid(1_618, "%00000652"), Attrs([Attr("address","0xBE0"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#7",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(1_624, "%00000658"), Attrs([Attr("address","0xBE0"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#7",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_630, "%0000065e"), Attrs([Attr("address","0xBE0"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#7",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_634, "%00000662"), Attrs([Attr("address","0xBE0"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#7",Imm(64))), Def(Tid(1_639, "%00000667"), - Attrs([Attr("address","0xBE4"), Attr("insn","adrp x0, #0")]), - Var("R0",Imm(64)), Int(0,64)), Def(Tid(1_645, "%0000066d"), - Attrs([Attr("address","0xBE8"), Attr("insn","add x0, x0, #0xf00")]), - Var("R0",Imm(64)), PLUS(Var("R0",Imm(64)),Int(3840,64))), -Def(Tid(1_651, "%00000673"), Attrs([Attr("address","0xBEC"), -Attr("insn","mov x29, sp")]), Var("R29",Imm(64)), Var("R31",Imm(64))), -Def(Tid(1_656, "%00000678"), Attrs([Attr("address","0xBF0"), -Attr("insn","bl #-0x220")]), Var("R30",Imm(64)), Int(3060,64))]), -Jmps([Call(Tid(1_659, "%0000067b"), Attrs([Attr("address","0xBF0"), -Attr("insn","bl #-0x220")]), Int(1,1), -(Direct(Tid(4_620, "@puts")),Direct(Tid(1_661, "%0000067d"))))])), -Blk(Tid(1_661, "%0000067d"), Attrs([Attr("address","0xBF4")]), Phis([]), -Defs([Def(Tid(1_664, "%00000680"), Attrs([Attr("address","0xBF4"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_670, "%00000686"), Attrs([Attr("address","0xBF8"), -Attr("insn","add x0, x0, #0xf10")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3856,64))), Def(Tid(1_675, "%0000068b"), - Attrs([Attr("address","0xBFC"), Attr("insn","bl #-0x22c")]), - Var("R30",Imm(64)), Int(3072,64))]), Jmps([Call(Tid(1_677, "%0000068d"), - Attrs([Attr("address","0xBFC"), Attr("insn","bl #-0x22c")]), Int(1,1), -(Direct(Tid(4_620, "@puts")),Direct(Tid(1_679, "%0000068f"))))])), -Blk(Tid(1_679, "%0000068f"), Attrs([Attr("address","0xC00")]), Phis([]), -Defs([Def(Tid(1_682, "%00000692"), Attrs([Attr("address","0xC00"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_688, "%00000698"), Attrs([Attr("address","0xC04"), -Attr("insn","add x0, x0, #0xf48")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3912,64))), Def(Tid(1_693, "%0000069d"), - Attrs([Attr("address","0xC08"), Attr("insn","bl #-0x238")]), - Var("R30",Imm(64)), Int(3084,64))]), Jmps([Call(Tid(1_695, "%0000069f"), - Attrs([Attr("address","0xC08"), Attr("insn","bl #-0x238")]), Int(1,1), -(Direct(Tid(4_620, "@puts")),Direct(Tid(1_697, "%000006a1"))))])), -Blk(Tid(1_697, "%000006a1"), Attrs([Attr("address","0xC0C")]), Phis([]), -Defs([Def(Tid(1_700, "%000006a4"), Attrs([Attr("address","0xC0C"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_706, "%000006aa"), Attrs([Attr("address","0xC10"), -Attr("insn","add x0, x0, #0xf80")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3968,64))), Def(Tid(1_711, "%000006af"), - Attrs([Attr("address","0xC14"), Attr("insn","bl #-0x244")]), - Var("R30",Imm(64)), Int(3096,64))]), Jmps([Call(Tid(1_713, "%000006b1"), - Attrs([Attr("address","0xC14"), Attr("insn","bl #-0x244")]), Int(1,1), -(Direct(Tid(4_620, "@puts")),Direct(Tid(1_715, "%000006b3"))))])), -Blk(Tid(1_715, "%000006b3"), Attrs([Attr("address","0xC18")]), Phis([]), -Defs([Def(Tid(1_718, "%000006b6"), Attrs([Attr("address","0xC18"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_724, "%000006bc"), Attrs([Attr("address","0xC1C"), -Attr("insn","add x0, x0, #0xfc0")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(4032,64))), Def(Tid(1_729, "%000006c1"), - Attrs([Attr("address","0xC20"), Attr("insn","bl #-0x250")]), - Var("R30",Imm(64)), Int(3108,64))]), Jmps([Call(Tid(1_731, "%000006c3"), - Attrs([Attr("address","0xC20"), Attr("insn","bl #-0x250")]), Int(1,1), -(Direct(Tid(4_620, "@puts")),Direct(Tid(1_733, "%000006c5"))))])), -Blk(Tid(1_733, "%000006c5"), Attrs([Attr("address","0xC24")]), Phis([]), -Defs([Def(Tid(1_738, "%000006ca"), Attrs([Attr("address","0xC24"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_743, "%000006cf"), Attrs([Attr("address","0xC24"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_747, "%000006d3"), Attrs([Attr("address","0xC24"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64))), Def(Tid(1_752, "%000006d8"), - Attrs([Attr("address","0xC28"), Attr("insn","adrp x0, #0")]), - Var("R0",Imm(64)), Int(0,64)), Def(Tid(1_758, "%000006de"), - Attrs([Attr("address","0xC2C"), Attr("insn","add x0, x0, #0xff0")]), - Var("R0",Imm(64)), PLUS(Var("R0",Imm(64)),Int(4080,64)))]), -Jmps([Call(Tid(1_762, "%000006e2"), Attrs([Attr("address","0xC30"), -Attr("insn","b #-0x260")]), Int(1,1), (Direct(Tid(4_620, "@puts")),))]))])), -Sub(Tid(4_620, "@puts"), Attrs([Attr("c.proto","signed (*)( const char* s)"), -Attr("address","0x9D0"), Attr("stub","()")]), "puts", - Args([Arg(Tid(4_664, "%00001238"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char*")]), - Var("puts_s",Imm(64)), Var("R0",Imm(64)), In()), -Arg(Tid(4_665, "%00001239"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("puts_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_657, "@puts"), Attrs([Attr("address","0x9D0")]), Phis([]), -Defs([Def(Tid(4_084, "%00000ff4"), Attrs([Attr("address","0x9D0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(4_091, "%00000ffb"), Attrs([Attr("address","0x9D4"), -Attr("insn","ldr x17, [x16, #0xf98]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3992,64)),LittleEndian(),64)), -Def(Tid(4_097, "%00001001"), Attrs([Attr("address","0x9D8"), -Attr("insn","add x16, x16, #0xf98")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3992,64)))]), Jmps([Call(Tid(4_102, "%00001006"), - Attrs([Attr("address","0x9DC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), -Sub(Tid(4_621, "@register_tm_clones"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xB40")]), - "register_tm_clones", Args([Arg(Tid(4_666, "%0000123a"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("register_tm_clones_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(3_209, "@register_tm_clones"), - Attrs([Attr("address","0xB40")]), Phis([]), -Defs([Def(Tid(3_212, "%00000c8c"), Attrs([Attr("address","0xB40"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(3_218, "%00000c92"), Attrs([Attr("address","0xB44"), -Attr("insn","add x0, x0, #0x10")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(16,64))), Def(Tid(3_223, "%00000c97"), - Attrs([Attr("address","0xB48"), Attr("insn","adrp x1, #73728")]), - Var("R1",Imm(64)), Int(73728,64)), Def(Tid(3_229, "%00000c9d"), - Attrs([Attr("address","0xB4C"), Attr("insn","add x1, x1, #0x10")]), - Var("R1",Imm(64)), PLUS(Var("R1",Imm(64)),Int(16,64))), -Def(Tid(3_236, "%00000ca4"), Attrs([Attr("address","0xB50"), -Attr("insn","sub x1, x1, x0")]), Var("R1",Imm(64)), -PLUS(PLUS(Var("R1",Imm(64)),NOT(Var("R0",Imm(64)))),Int(1,64))), -Def(Tid(3_242, "%00000caa"), Attrs([Attr("address","0xB54"), -Attr("insn","lsr x2, x1, #63")]), Var("R2",Imm(64)), -Concat(Int(0,63),Extract(63,63,Var("R1",Imm(64))))), -Def(Tid(3_249, "%00000cb1"), Attrs([Attr("address","0xB58"), -Attr("insn","add x1, x2, x1, asr #3")]), Var("R1",Imm(64)), -PLUS(Var("R2",Imm(64)),ARSHIFT(Var("R1",Imm(64)),Int(3,3)))), -Def(Tid(3_255, "%00000cb7"), Attrs([Attr("address","0xB5C"), -Attr("insn","asr x1, x1, #1")]), Var("R1",Imm(64)), -SIGNED(64,Extract(63,1,Var("R1",Imm(64)))))]), -Jmps([Goto(Tid(3_261, "%00000cbd"), Attrs([Attr("address","0xB60"), -Attr("insn","cbz x1, #0x18")]), EQ(Var("R1",Imm(64)),Int(0,64)), -Direct(Tid(3_259, "%00000cbb"))), Goto(Tid(4_622, "%0000120e"), Attrs([]), - Int(1,1), Direct(Tid(3_428, "%00000d64")))])), Blk(Tid(3_428, "%00000d64"), - Attrs([Attr("address","0xB64")]), Phis([]), -Defs([Def(Tid(3_431, "%00000d67"), Attrs([Attr("address","0xB64"), -Attr("insn","adrp x2, #69632")]), Var("R2",Imm(64)), Int(69632,64)), -Def(Tid(3_438, "%00000d6e"), Attrs([Attr("address","0xB68"), -Attr("insn","ldr x2, [x2, #0xff8]")]), Var("R2",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R2",Imm(64)),Int(4088,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(3_443, "%00000d73"), Attrs([Attr("address","0xB6C"), -Attr("insn","cbz x2, #0xc")]), EQ(Var("R2",Imm(64)),Int(0,64)), -Direct(Tid(3_259, "%00000cbb"))), Goto(Tid(4_623, "%0000120f"), Attrs([]), - Int(1,1), Direct(Tid(3_447, "%00000d77")))])), Blk(Tid(3_259, "%00000cbb"), - Attrs([Attr("address","0xB78")]), Phis([]), Defs([]), -Jmps([Call(Tid(3_267, "%00000cc3"), Attrs([Attr("address","0xB78"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(3_447, "%00000d77"), Attrs([Attr("address","0xB70")]), Phis([]), -Defs([Def(Tid(3_451, "%00000d7b"), Attrs([Attr("address","0xB70"), -Attr("insn","mov x16, x2")]), Var("R16",Imm(64)), Var("R2",Imm(64)))]), -Jmps([Call(Tid(3_456, "%00000d80"), Attrs([Attr("address","0xB74"), -Attr("insn","br x16")]), Int(1,1), (Indirect(Var("R16",Imm(64))),))]))])), -Sub(Tid(4_624, "@rewind"), Attrs([Attr("c.proto","signed (*)(void)"), -Attr("address","0x990"), Attr("stub","()")]), "rewind", - Args([Arg(Tid(4_667, "%0000123b"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("rewind_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(2_507, "@rewind"), Attrs([Attr("address","0x990")]), Phis([]), -Defs([Def(Tid(3_996, "%00000f9c"), Attrs([Attr("address","0x990"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(4_003, "%00000fa3"), Attrs([Attr("address","0x994"), -Attr("insn","ldr x17, [x16, #0xf78]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3960,64)),LittleEndian(),64)), -Def(Tid(4_009, "%00000fa9"), Attrs([Attr("address","0x998"), -Attr("insn","add x16, x16, #0xf78")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3960,64)))]), Jmps([Call(Tid(4_014, "%00000fae"), - Attrs([Attr("address","0x99C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_625, "@saveFile"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xE44")]), - "saveFile", Args([Arg(Tid(4_668, "%0000123c"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("saveFile_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_214, "@saveFile"), - Attrs([Attr("address","0xE44")]), Phis([]), -Defs([Def(Tid(2_218, "%000008aa"), Attrs([Attr("address","0xE44"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("#14",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(2_224, "%000008b0"), Attrs([Attr("address","0xE44"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#14",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(2_230, "%000008b6"), Attrs([Attr("address","0xE44"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#14",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(2_234, "%000008ba"), Attrs([Attr("address","0xE44"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("R31",Imm(64)), -Var("#14",Imm(64))), Def(Tid(2_239, "%000008bf"), - Attrs([Attr("address","0xE48"), Attr("insn","adrp x0, #73728")]), - Var("R0",Imm(64)), Int(73728,64)), Def(Tid(2_245, "%000008c5"), - Attrs([Attr("address","0xE4C"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(2_253, "%000008cd"), - Attrs([Attr("address","0xE50"), Attr("insn","str x19, [sp, #0x10]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),Var("R19",Imm(64)),LittleEndian(),64)), -Def(Tid(2_259, "%000008d3"), Attrs([Attr("address","0xE54"), -Attr("insn","add x19, x0, #0x18")]), Var("R19",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(24,64))), Def(Tid(2_266, "%000008da"), - Attrs([Attr("address","0xE58"), Attr("insn","ldr x0, [x0, #0x18]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(24,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(2_272, "%000008e0"), Attrs([Attr("address","0xE5C"), -Attr("insn","cbz x0, #0x24")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(2_270, "%000008de"))), Goto(Tid(4_626, "%00001212"), Attrs([]), - Int(1,1), Direct(Tid(2_503, "%000009c7")))])), Blk(Tid(2_270, "%000008de"), - Attrs([Attr("address","0xE80")]), Phis([]), -Defs([Def(Tid(2_280, "%000008e8"), Attrs([Attr("address","0xE80"), -Attr("insn","ldr x19, [sp, #0x10]")]), Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),LittleEndian(),64)), -Def(Tid(2_285, "%000008ed"), Attrs([Attr("address","0xE84"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_292, "%000008f4"), Attrs([Attr("address","0xE88"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_297, "%000008f9"), Attrs([Attr("address","0xE88"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_301, "%000008fd"), Attrs([Attr("address","0xE88"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64))), Def(Tid(2_307, "%00000903"), - Attrs([Attr("address","0xE8C"), Attr("insn","add x0, x0, #0x88")]), - Var("R0",Imm(64)), PLUS(Var("R0",Imm(64)),Int(136,64)))]), -Jmps([Call(Tid(2_311, "%00000907"), Attrs([Attr("address","0xE90"), -Attr("insn","b #-0x4c0")]), Int(1,1), (Direct(Tid(4_620, "@puts")),))])), -Blk(Tid(2_503, "%000009c7"), Attrs([Attr("address","0xE60")]), Phis([]), -Defs([Def(Tid(2_506, "%000009ca"), Attrs([Attr("address","0xE60"), -Attr("insn","bl #-0x4d0")]), Var("R30",Imm(64)), Int(3684,64))]), -Jmps([Call(Tid(2_509, "%000009cd"), Attrs([Attr("address","0xE60"), -Attr("insn","bl #-0x4d0")]), Int(1,1), -(Direct(Tid(4_624, "@rewind")),Direct(Tid(2_511, "%000009cf"))))])), -Blk(Tid(2_511, "%000009cf"), Attrs([Attr("address","0xE64")]), Phis([]), -Defs([Def(Tid(2_516, "%000009d4"), Attrs([Attr("address","0xE64"), -Attr("insn","ldr x2, [x19, #0x8]")]), Var("R2",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_521, "%000009d9"), Attrs([Attr("address","0xE68"), -Attr("insn","adrp x1, #4096")]), Var("R1",Imm(64)), Int(4096,64)), -Def(Tid(2_528, "%000009e0"), Attrs([Attr("address","0xE6C"), -Attr("insn","ldr x19, [sp, #0x10]")]), Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),LittleEndian(),64)), -Def(Tid(2_534, "%000009e6"), Attrs([Attr("address","0xE70"), -Attr("insn","add x1, x1, #0xa8")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(168,64))), Def(Tid(2_541, "%000009ed"), - Attrs([Attr("address","0xE74"), Attr("insn","ldp x29, x30, [sp], #0x20")]), - Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_546, "%000009f2"), Attrs([Attr("address","0xE74"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_550, "%000009f6"), Attrs([Attr("address","0xE74"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64))), Def(Tid(2_555, "%000009fb"), - Attrs([Attr("address","0xE78"), Attr("insn","mov w0, #0x1")]), - Var("R0",Imm(64)), Int(1,64))]), Jmps([Call(Tid(2_559, "%000009ff"), - Attrs([Attr("address","0xE7C"), Attr("insn","b #-0x4fc")]), Int(1,1), -(Direct(Tid(4_585, "@__printf_chk")),))]))])), Sub(Tid(4_627, "@strcmp"), - Attrs([Attr("c.proto","signed (*)( const char* s1, const char* s2)"), -Attr("pure","()"), Attr("address","0x9E0"), Attr("stub","()")]), "strcmp", - Args([Arg(Tid(4_669, "%0000123d"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcmp_s1",Imm(64)), Var("R0",Imm(64)), -In()), Arg(Tid(4_670, "%0000123e"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcmp_s2",Imm(64)), Var("R1",Imm(64)), -In()), Arg(Tid(4_671, "%0000123f"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("strcmp_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_567, "@strcmp"), Attrs([Attr("address","0x9E0")]), Phis([]), -Defs([Def(Tid(4_106, "%0000100a"), Attrs([Attr("address","0x9E0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(4_113, "%00001011"), Attrs([Attr("address","0x9E4"), -Attr("insn","ldr x17, [x16, #0xfa0]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(4000,64)),LittleEndian(),64)), -Def(Tid(4_119, "%00001017"), Attrs([Attr("address","0x9E8"), -Attr("insn","add x16, x16, #0xfa0")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(4000,64)))]), Jmps([Call(Tid(4_124, "%0000101c"), - Attrs([Attr("address","0x9EC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_628, "@strcspn"), - Attrs([Attr("c.proto","unsigned long (*)( const char* s, const char* reject)"), -Attr("pure","()"), Attr("address","0xA00"), Attr("stub","()")]), "strcspn", - Args([Arg(Tid(4_672, "%00001240"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcspn_s",Imm(64)), Var("R0",Imm(64)), -In()), Arg(Tid(4_673, "%00001241"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcspn_reject",Imm(64)), -Var("R1",Imm(64)), In()), Arg(Tid(4_674, "%00001242"), - Attrs([Attr("c.layout","[unsigned long : 64]"), Attr("c.data","Top:u64"), -Attr("c.type","unsigned long")]), Var("strcspn_result",Imm(64)), -Var("R0",Imm(64)), Out())]), Blks([Blk(Tid(1_469, "@strcspn"), - Attrs([Attr("address","0xA00")]), Phis([]), -Defs([Def(Tid(4_150, "%00001036"), Attrs([Attr("address","0xA00"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(4_157, "%0000103d"), Attrs([Attr("address","0xA04"), -Attr("insn","ldr x17, [x16, #0xfb0]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(4016,64)),LittleEndian(),64)), -Def(Tid(4_163, "%00001043"), Attrs([Attr("address","0xA08"), -Attr("insn","add x16, x16, #0xfb0")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(4016,64)))]), Jmps([Call(Tid(4_168, "%00001048"), - Attrs([Attr("address","0xA0C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_629, "@strdup"), - Attrs([Attr("c.proto","char* (*)( const char* s)"), Attr("address","0x9A0"), -Attr("malloc","()"), Attr("stub","()")]), "strdup", - Args([Arg(Tid(4_675, "%00001243"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strdup_s",Imm(64)), Var("R0",Imm(64)), -In()), Arg(Tid(4_676, "%00001244"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type","char*")]), - Var("strdup_result",Imm(64)), Var("R0",Imm(64)), Out())]), -Blks([Blk(Tid(1_859, "@strdup"), Attrs([Attr("address","0x9A0")]), Phis([]), -Defs([Def(Tid(4_018, "%00000fb2"), Attrs([Attr("address","0x9A0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(4_025, "%00000fb9"), Attrs([Attr("address","0x9A4"), -Attr("insn","ldr x17, [x16, #0xf80]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3968,64)),LittleEndian(),64)), -Def(Tid(4_031, "%00000fbf"), Attrs([Attr("address","0x9A8"), -Attr("insn","add x16, x16, #0xf80")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3968,64)))]), Jmps([Call(Tid(4_036, "%00000fc4"), - Attrs([Attr("address","0x9AC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_630, "@strncmp"), - Attrs([Attr("c.proto","signed (*)( const char* s1, const char* s2, unsigned long n)"), -Attr("pure","()"), Attr("address","0x970"), Attr("stub","()")]), "strncmp", - Args([Arg(Tid(4_677, "%00001245"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strncmp_s1",Imm(64)), -Var("R0",Imm(64)), In()), Arg(Tid(4_678, "%00001246"), - Attrs([Attr("nonnull","()"), Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char*")]), - Var("strncmp_s2",Imm(64)), Var("R1",Imm(64)), In()), -Arg(Tid(4_679, "%00001247"), Attrs([Attr("c.layout","[unsigned long : 64]"), -Attr("c.data","Top:u64"), Attr("c.type","unsigned long")]), - Var("strncmp_n",Imm(64)), Var("R2",Imm(64)), In()), -Arg(Tid(4_680, "%00001248"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("strncmp_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(2_797, "@strncmp"), Attrs([Attr("address","0x970")]), Phis([]), -Defs([Def(Tid(3_952, "%00000f70"), Attrs([Attr("address","0x970"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_959, "%00000f77"), Attrs([Attr("address","0x974"), -Attr("insn","ldr x17, [x16, #0xf68]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3944,64)),LittleEndian(),64)), -Def(Tid(3_965, "%00000f7d"), Attrs([Attr("address","0x978"), -Attr("insn","add x16, x16, #0xf68")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3944,64)))]), Jmps([Call(Tid(3_970, "%00000f82"), - Attrs([Attr("address","0x97C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))]))]))) \ No newline at end of file diff --git a/src/test/correct/complex/gcc_O2/complex.bir b/src/test/correct/complex/gcc_O2/complex.bir deleted file mode 100644 index 9bb3eda63..000000000 --- a/src/test/correct/complex/gcc_O2/complex.bir +++ /dev/null @@ -1,814 +0,0 @@ -00001217: program -000011e3: sub __cxa_finalize(__cxa_finalize_result) -00001218: __cxa_finalize_result :: out u32 = low:32[R0] - -00000d60: -00000f2e: R16 := 0x11000 -00000f35: R17 := mem[R16 + 0xF50, el]:u64 -00000f3b: R16 := R16 + 0xF50 -00000f40: call R17 with noreturn - -000011e4: sub __do_global_dtors_aux(__do_global_dtors_aux_result) -00001219: __do_global_dtors_aux_result :: out u32 = low:32[R0] - -00000cc7: -00000ccb: #25 := R31 - 0x20 -00000cd1: mem := mem with [#25, el]:u64 <- R29 -00000cd7: mem := mem with [#25 + 8, el]:u64 <- R30 -00000cdb: R31 := #25 -00000ce1: R29 := R31 -00000ce9: mem := mem with [R31 + 0x10, el]:u64 <- R19 -00000cee: R19 := 0x12000 -00000cf5: R0 := pad:64[mem[R19 + 0x10]] -00000cfc: when 31:0[R0] <> 0 goto %00000cfa -000011e5: goto %00000d29 - -00000d29: -00000d2c: R0 := 0x11000 -00000d33: R0 := mem[R0 + 0xFD0, el]:u64 -00000d39: when R0 = 0 goto %00000d37 -000011e6: goto %00000d50 - -00000d50: -00000d53: R0 := 0x12000 -00000d5a: R0 := mem[R0 + 8, el]:u64 -00000d5f: R30 := 0xBB0 -00000d62: call @__cxa_finalize with return %00000d37 - -00000d37: -00000d3f: R30 := 0xBB4 -00000d41: call @deregister_tm_clones with return %00000d43 - -00000d43: -00000d46: R0 := 1 -00000d4e: mem := mem with [R19 + 0x10] <- 7:0[R0] -000011e7: goto %00000cfa - -00000cfa: -00000d04: R19 := mem[R31 + 0x10, el]:u64 -00000d0b: R29 := mem[R31, el]:u64 -00000d10: R30 := mem[R31 + 8, el]:u64 -00000d14: R31 := R31 + 0x20 -00000d19: call R30 with noreturn - -000011e8: sub __libc_start_main(__libc_start_main_main, __libc_start_main_arg2, __libc_start_main_arg3, __libc_start_main_auxv, __libc_start_main_result) -0000121a: __libc_start_main_main :: in u64 = R0 -0000121b: __libc_start_main_arg2 :: in u32 = low:32[R1] -0000121c: __libc_start_main_arg3 :: in out u64 = R2 -0000121d: __libc_start_main_auxv :: in out u64 = R3 -0000121e: __libc_start_main_result :: out u32 = low:32[R0] - -00000c20: -00000f18: R16 := 0x11000 -00000f1f: R17 := mem[R16 + 0xF48, el]:u64 -00000f25: R16 := R16 + 0xF48 -00000f2a: call R17 with noreturn - -000011e9: sub __printf_chk(__printf_chk_result) -0000121f: __printf_chk_result :: out u32 = low:32[R0] - -0000058f: -00000f86: R16 := 0x11000 -00000f8d: R17 := mem[R16 + 0xF70, el]:u64 -00000f93: R16 := R16 + 0xF70 -00000f98: call R17 with noreturn - -000011ea: sub _fini(_fini_result) -00001220: _fini_result :: out u32 = low:32[R0] - -0000001f: -00000025: #0 := R31 - 0x10 -0000002b: mem := mem with [#0, el]:u64 <- R29 -00000031: mem := mem with [#0 + 8, el]:u64 <- R30 -00000035: R31 := #0 -0000003b: R29 := R31 -00000042: R29 := mem[R31, el]:u64 -00000047: R30 := mem[R31 + 8, el]:u64 -0000004b: R31 := R31 + 0x10 -00000050: call R30 with noreturn - -000011eb: sub _init(_init_result) -00001221: _init_result :: out u32 = low:32[R0] - -0000107a: -00001080: #27 := R31 - 0x10 -00001086: mem := mem with [#27, el]:u64 <- R29 -0000108c: mem := mem with [#27 + 8, el]:u64 <- R30 -00001090: R31 := #27 -00001096: R29 := R31 -0000109b: R30 := 0x8F0 -0000109d: call @call_weak_fn with return %0000109f - -0000109f: -000010a4: R29 := mem[R31, el]:u64 -000010a9: R30 := mem[R31 + 8, el]:u64 -000010ad: R31 := R31 + 0x10 -000010b2: call R30 with noreturn - -000011ec: sub _start(_start_result) -00001222: _start_result :: out u32 = low:32[R0] - -00000be1: -00000be6: R29 := 0 -00000beb: R30 := 0 -00000bf1: R5 := R0 -00000bf8: R1 := mem[R31, el]:u64 -00000bfe: R2 := R31 + 8 -00000c04: R6 := R31 -00000c09: R0 := 0x11000 -00000c10: R0 := mem[R0 + 0xFF0, el]:u64 -00000c15: R3 := 0 -00000c1a: R4 := 0 -00000c1f: R30 := 0xAF0 -00000c22: call @__libc_start_main with return %00000c24 - -00000c24: -00000c27: R30 := 0xAF4 -00000c2a: call @abort with return %000011ed - -000011ed: -000011ee: call @call_weak_fn with noreturn - -000011ef: sub abort() - - -00000c28: -00000fde: R16 := 0x11000 -00000fe5: R17 := mem[R16 + 0xF90, el]:u64 -00000feb: R16 := R16 + 0xF90 -00000ff0: call R17 with noreturn - -000011f0: sub call_weak_fn(call_weak_fn_result) -00001223: call_weak_fn_result :: out u32 = low:32[R0] - -00000c2c: -00000c2f: R0 := 0x11000 -00000c36: R0 := mem[R0 + 0xFE0, el]:u64 -00000c3c: when R0 = 0 goto %00000c3a -000011f1: goto %00000da0 - -00000c3a: -00000c42: call R30 with noreturn - -00000da0: -00000da3: goto @__gmon_start__ - -00000da1: -00000fc8: R16 := 0x11000 -00000fcf: R17 := mem[R16 + 0xF88, el]:u64 -00000fd5: R16 := R16 + 0xF88 -00000fda: call R17 with noreturn - -000011f2: sub closeFile(closeFile_result) -00001224: closeFile_result :: out u32 = low:32[R0] - -00000909: -0000090d: #15 := R31 - 0x20 -00000913: mem := mem with [#15, el]:u64 <- R29 -00000919: mem := mem with [#15 + 8, el]:u64 <- R30 -0000091d: R31 := #15 -00000923: R29 := R31 -00000929: #16 := R31 + 0x10 -0000092f: mem := mem with [#16, el]:u64 <- R19 -00000935: mem := mem with [#16 + 8, el]:u64 <- R20 -0000093a: R19 := 0x12000 -00000941: R0 := mem[R19 + 0x18, el]:u64 -00000947: when R0 = 0 goto %00000945 -000011f3: goto %0000096f - -00000945: -0000094e: #17 := R31 + 0x10 -00000953: R19 := mem[#17, el]:u64 -00000958: R20 := mem[#17 + 8, el]:u64 -0000095f: R29 := mem[R31, el]:u64 -00000964: R30 := mem[R31 + 8, el]:u64 -00000968: R31 := R31 + 0x20 -0000096d: call R30 with noreturn - -0000096f: -00000973: R20 := R19 + 0x18 -00000978: R30 := 0xEB4 -0000097a: call @fclose with return %0000097c - -0000097c: -00000981: R0 := mem[R20 + 8, el]:u64 -00000986: R30 := 0xEBC -00000988: call @free with return %0000098a - -0000098a: -0000098f: mem := mem with [R19 + 0x18, el]:u64 <- 0 -00000996: mem := mem with [R20 + 8, el]:u64 <- 0 -0000099b: R0 := 0x1000 -000009a1: #18 := R31 + 0x10 -000009a6: R19 := mem[#18, el]:u64 -000009ab: R20 := mem[#18 + 8, el]:u64 -000009b1: R0 := R0 + 0x20 -000009b8: R29 := mem[R31, el]:u64 -000009bd: R30 := mem[R31 + 8, el]:u64 -000009c1: R31 := R31 + 0x20 -000009c5: call @puts with noreturn - -000011f4: sub deregister_tm_clones(deregister_tm_clones_result) -00001225: deregister_tm_clones_result :: out u32 = low:32[R0] - -00000c48: -00000c4b: R0 := 0x12000 -00000c51: R0 := R0 + 0x10 -00000c56: R1 := 0x12000 -00000c5c: R1 := R1 + 0x10 -00000c62: #23 := ~R0 -00000c67: #24 := R1 + ~R0 -00000c6d: VF := extend:65[#24 + 1] <> extend:65[R1] + extend:65[#23] + 1 -00000c73: CF := pad:65[#24 + 1] <> pad:65[R1] + pad:65[#23] + 1 -00000c77: ZF := #24 + 1 = 0 -00000c7b: NF := 63:63[#24 + 1] -00000c81: when ZF goto %00000c7f -000011f5: goto %00000d82 - -00000d82: -00000d85: R1 := 0x11000 -00000d8c: R1 := mem[R1 + 0xFC8, el]:u64 -00000d91: when R1 = 0 goto %00000c7f -000011f6: goto %00000d95 - -00000c7f: -00000c87: call R30 with noreturn - -00000d95: -00000d99: R16 := R1 -00000d9e: call R16 with noreturn - -000011f7: sub exit(exit_code) -00001226: exit_code :: in u32 = low:32[R0] - -00000ba2: -00000f02: R16 := 0x11000 -00000f09: R17 := mem[R16 + 0xF40, el]:u64 -00000f0f: R16 := R16 + 0xF40 -00000f14: call R17 with noreturn - -000011f8: sub fclose(fclose_fp, fclose_result) -00001227: fclose_fp :: in out u64 = R0 -00001228: fclose_result :: out u32 = low:32[R0] - -000007fc: -00000f44: R16 := 0x11000 -00000f4b: R17 := mem[R16 + 0xF58, el]:u64 -00000f51: R16 := R16 + 0xF58 -00000f56: call R17 with noreturn - -000011f9: sub fgets(fgets_s, fgets_size, fgets_stream, fgets_result) -00001229: fgets_s :: in out u64 = R0 -0000122a: fgets_size :: in u32 = low:32[R1] -0000122b: fgets_stream :: in out u64 = R2 -0000122c: fgets_result :: out u64 = R0 - -000005a9: -0000104c: R16 := 0x11000 -00001053: R17 := mem[R16 + 0xFB8, el]:u64 -00001059: R16 := R16 + 0xFB8 -0000105e: call R17 with noreturn - -000011fa: sub fopen(fopen_path, fopen_mode, fopen_result) -0000122d: fopen_path :: in u64 = R0 -0000122e: fopen_mode :: in u64 = R1 -0000122f: fopen_result :: out u64 = R0 - -0000075e: -00000f5a: R16 := 0x11000 -00000f61: R17 := mem[R16 + 0xF60, el]:u64 -00000f67: R16 := R16 + 0xF60 -00000f6c: call R17 with noreturn - -000011fb: sub frame_dummy(frame_dummy_result) -00001230: frame_dummy_result :: out u32 = low:32[R0] - -00000d1f: -00000d21: call @register_tm_clones with noreturn - -000011fc: sub free(free_ptr) -00001231: free_ptr :: in out u64 = R0 - -0000080b: -00001020: R16 := 0x11000 -00001027: R17 := mem[R16 + 0xFA8, el]:u64 -0000102d: R16 := R16 + 0xFA8 -00001032: call R17 with noreturn - -000011fd: sub handleInput(handleInput_result) -00001232: handleInput_result :: out u32 = low:32[R0] - -000005d9: -000005e0: #4 := R31 - 0x20 -000005e6: mem := mem with [#4, el]:u64 <- R29 -000005ec: mem := mem with [#4 + 8, el]:u64 <- R30 -000005f0: R31 := #4 -000005f5: R1 := 0x1000 -000005fb: R1 := R1 + 0x70 -00000601: R29 := R31 -00000607: #5 := R31 + 0x10 -0000060d: mem := mem with [#5, el]:u64 <- R19 -00000613: mem := mem with [#5 + 8, el]:u64 <- R20 -00000619: R19 := R0 -0000061e: R30 := 0xCFC -00000621: call @strcmp with return %00000623 - -00000623: -00000627: when 31:0[R0] = 0 goto %00000625 -000011fe: goto %00000ad3 - -00000625: -0000062e: #6 := R31 + 0x10 -00000633: R19 := mem[#6, el]:u64 -00000638: R20 := mem[#6 + 8, el]:u64 -0000063f: R29 := mem[R31, el]:u64 -00000644: R30 := mem[R31 + 8, el]:u64 -00000648: R31 := R31 + 0x20 -0000064d: call @printHelp with noreturn - -00000ad3: -00000ad6: R1 := 0x1000 -00000adc: R0 := R19 -00000ae2: R1 := R1 + 0x78 -00000ae7: R2 := 5 -00000aec: R30 := 0xD14 -00000aef: call @strncmp with return %00000af1 - -00000af1: -00000af5: when 31:0[R0] = 0 goto %00000af3 -000011ff: goto %00000b22 - -00000b22: -00000b25: R1 := 0x1000 -00000b2b: R0 := R19 -00000b31: R1 := R1 + 0x80 -00000b36: R30 := 0xD28 -00000b38: call @strcmp with return %00000b3a - -00000b3a: -00000b3d: when 31:0[R0] = 0 goto %0000085e -00001200: goto %00000b41 - -0000085e: -00000861: R0 := 0x12000 -00000867: R19 := R0 + 0x18 -0000086e: R0 := mem[R0 + 0x18, el]:u64 -00000874: when R0 = 0 goto %00000872 -00001201: goto %00000a01 - -00000872: -0000087b: #13 := R31 + 0x10 -00000880: R19 := mem[#13, el]:u64 -00000885: R20 := mem[#13 + 8, el]:u64 -0000088a: R0 := 0x1000 -00000891: R29 := mem[R31, el]:u64 -00000896: R30 := mem[R31 + 8, el]:u64 -0000089a: R31 := R31 + 0x20 -000008a0: R0 := R0 + 0x88 -000008a4: call @puts with noreturn - -00000a01: -00000a04: R30 := 0xDD0 -00000a06: call @rewind with return %00000a08 - -00000a08: -00000a0d: R2 := mem[R19 + 8, el]:u64 -00000a12: R1 := 0x1000 -00000a18: #19 := R31 + 0x10 -00000a1d: R19 := mem[#19, el]:u64 -00000a22: R20 := mem[#19 + 8, el]:u64 -00000a28: R1 := R1 + 0xA8 -00000a2f: R29 := mem[R31, el]:u64 -00000a34: R30 := mem[R31 + 8, el]:u64 -00000a38: R31 := R31 + 0x20 -00000a3d: R0 := 1 -00000a41: call @__printf_chk with noreturn - -00000b41: -00000b44: R1 := 0x1000 -00000b4a: R0 := R19 -00000b50: R1 := R1 + 0xC8 -00000b55: R30 := 0xD3C -00000b57: call @strcmp with return %00000b59 - -00000b59: -00000b5c: when 31:0[R0] = 0 goto %00000a43 -00001202: goto %00000b60 - -00000a43: -00000a46: R19 := 0x12000 -00000a4c: R20 := R19 + 0x18 -00000a53: R0 := mem[R19 + 0x18, el]:u64 -00000a59: when R0 = 0 goto %00000a57 -00001203: goto %00000a81 - -00000a57: -00000a60: #20 := R31 + 0x10 -00000a65: R19 := mem[#20, el]:u64 -00000a6a: R20 := mem[#20 + 8, el]:u64 -00000a71: R29 := mem[R31, el]:u64 -00000a76: R30 := mem[R31 + 8, el]:u64 -00000a7a: R31 := R31 + 0x20 -00000a7f: call R30 with noreturn - -00000a81: -00000a84: R30 := 0xE00 -00000a86: call @fclose with return %00000a88 - -00000a88: -00000a8d: R0 := mem[R20 + 8, el]:u64 -00000a92: R30 := 0xE08 -00000a94: call @free with return %00000a96 - -00000a96: -00000a9b: mem := mem with [R19 + 0x18, el]:u64 <- 0 -00000aa2: mem := mem with [R20 + 8, el]:u64 <- 0 -00000aa7: R0 := 0x1000 -00000aad: #21 := R31 + 0x10 -00000ab2: R19 := mem[#21, el]:u64 -00000ab7: R20 := mem[#21 + 8, el]:u64 -00000abd: R0 := R0 + 0x20 -00000ac4: R29 := mem[R31, el]:u64 -00000ac9: R30 := mem[R31 + 8, el]:u64 -00000acd: R31 := R31 + 0x20 -00000ad1: call @puts with noreturn - -00000b60: -00000b63: R1 := 0x1000 -00000b69: R0 := R19 -00000b6f: R1 := R1 + 0xD0 -00000b74: R30 := 0xD50 -00000b76: call @strcmp with return %00000b78 - -00000b78: -00000b7c: when 31:0[R0] <> 0 goto %0000082f -00001204: goto %00000b80 - -0000082f: -00000833: #12 := R31 + 0x10 -00000838: R19 := mem[#12, el]:u64 -0000083d: R20 := mem[#12 + 8, el]:u64 -00000842: R0 := 0x1000 -00000849: R29 := mem[R31, el]:u64 -0000084e: R30 := mem[R31 + 8, el]:u64 -00000852: R31 := R31 + 0x20 -00000858: R0 := R0 + 0xD8 -0000085c: call @puts with noreturn - -00000b80: -00000b83: R19 := 0x12000 -00000b89: R20 := R19 + 0x18 -00000b90: R0 := mem[R19 + 0x18, el]:u64 -00000b96: when R0 = 0 goto %00000b94 -00001205: goto %00000ba6 - -00000ba6: -00000ba9: R30 := 0xD68 -00000bab: call @fclose with return %00000bad - -00000bad: -00000bb2: R0 := mem[R20 + 8, el]:u64 -00000bb7: R30 := 0xD70 -00000bb9: call @free with return %00000bbb - -00000bbb: -00000bc0: mem := mem with [R19 + 0x18, el]:u64 <- 0 -00000bc5: R0 := 0x1000 -00000bcb: R0 := R0 + 0x20 -00000bd2: mem := mem with [R20 + 8, el]:u64 <- 0 -00000bd7: R30 := 0xD84 -00000bd9: call @puts with return %00000b94 - -00000b94: -00000b9c: R0 := 0 -00000ba1: R30 := 0xD8C -00000ba4: call @exit with return %00000af3 - -00000af3: -00000afc: R0 := R19 + 5 -00000b02: #22 := R31 + 0x10 -00000b07: R19 := mem[#22, el]:u64 -00000b0c: R20 := mem[#22 + 8, el]:u64 -00000b13: R29 := mem[R31, el]:u64 -00000b18: R30 := mem[R31 + 8, el]:u64 -00000b1c: R31 := R31 + 0x20 -00000b20: call @openFile with noreturn - -00001206: sub main(main_argc, main_argv, main_result) -00001233: main_argc :: in u32 = low:32[R0] -00001234: main_argv :: in out u64 = R1 -00001235: main_result :: out u32 = low:32[R0] - -000004f8: -000004fc: #1 := R31 - 0x140 -00000502: mem := mem with [#1, el]:u64 <- R29 -00000508: mem := mem with [#1 + 8, el]:u64 <- R30 -0000050c: R31 := #1 -00000511: R0 := 0x11000 -00000517: R29 := R31 -0000051e: R0 := mem[R0 + 0xFE8, el]:u64 -00000524: #2 := R31 + 0x20 -0000052a: mem := mem with [#2, el]:u64 <- R21 -00000530: mem := mem with [#2 + 8, el]:u64 <- R22 -00000535: R21 := 0x11000 -0000053b: #3 := R31 + 0x10 -00000541: mem := mem with [#3, el]:u64 <- R19 -00000547: mem := mem with [#3 + 8, el]:u64 <- R20 -0000054c: R22 := 0x1000 -00000551: R20 := 0x1000 -00000558: R21 := mem[R21 + 0xFD8, el]:u64 -0000055e: R22 := R22 + 0x110 -00000565: R1 := mem[R0, el]:u64 -0000056d: mem := mem with [R31 + 0x138, el]:u64 <- R1 -00000572: R1 := 0 -00000578: R20 := R20 + 0x68 -0000057e: R19 := R31 + 0x38 -00001207: goto %00000580 - -00000580: -00000584: R1 := R22 -00000589: R0 := 1 -0000058e: R30 := 0xA8C -00000591: call @__printf_chk with return %00000593 - -00000593: -00000598: R2 := mem[R21, el]:u64 -0000059e: R0 := R19 -000005a3: R1 := 0x100 -000005a8: R30 := 0xA9C -000005ab: call @fgets with return %000005ad - -000005ad: -000005b1: R1 := R20 -000005b7: R0 := R19 -000005bc: R30 := 0xAA8 -000005bf: call @strcspn with return %000005c1 - -000005c1: -000005c5: R1 := R0 -000005cb: R0 := R19 -000005d3: mem := mem with [R19 + R1] <- 0 -000005d8: R30 := 0xAB8 -000005db: call @handleInput with return %00000bdb - -00000bdb: -00000bdd: goto %00000580 - -00001208: sub openFile(openFile_result) -00001236: openFile_result :: out u32 = low:32[R0] - -000006e4: -000006e8: #8 := R31 - 0x30 -000006ee: mem := mem with [#8, el]:u64 <- R29 -000006f4: mem := mem with [#8 + 8, el]:u64 <- R30 -000006f8: R31 := #8 -000006fe: R29 := R31 -00000704: #9 := R31 + 0x10 -0000070a: mem := mem with [#9, el]:u64 <- R19 -00000710: mem := mem with [#9 + 8, el]:u64 <- R20 -00000715: R19 := 0x12000 -0000071b: R20 := R0 -00000722: R0 := mem[R19 + 0x18, el]:u64 -0000072a: mem := mem with [R31 + 0x20, el]:u64 <- R21 -00000730: when R0 = 0 goto %0000072e -00001209: goto %000007f2 - -000007f2: -000007f6: R21 := R19 + 0x18 -000007fb: R30 := 0xC5C -000007fe: call @fclose with return %00000800 - -00000800: -00000805: R0 := mem[R21 + 8, el]:u64 -0000080a: R30 := 0xC64 -0000080d: call @free with return %0000080f - -0000080f: -00000814: mem := mem with [R19 + 0x18, el]:u64 <- 0 -00000819: R0 := 0x1000 -0000081f: R0 := R0 + 0x20 -00000826: mem := mem with [R21 + 8, el]:u64 <- 0 -0000082b: R30 := 0xC78 -0000082d: call @puts with return %0000072e - -0000072e: -00000737: R21 := R19 + 0x18 -0000073d: R0 := R20 -00000742: R30 := 0xC84 -00000745: call @strdup with return %00000747 - -00000747: -0000074a: R1 := 0x1000 -00000750: R1 := R1 + 0x30 -00000758: mem := mem with [R21 + 8, el]:u64 <- R0 -0000075d: R30 := 0xC94 -00000760: call @fopen with return %00000762 - -00000762: -00000768: mem := mem with [R19 + 0x18, el]:u64 <- R0 -0000076f: R2 := mem[R21 + 8, el]:u64 -00000775: when R0 = 0 goto %00000773 -0000120a: goto %000007b7 - -00000773: -0000077c: #10 := R31 + 0x10 -00000781: R19 := mem[#10, el]:u64 -00000786: R20 := mem[#10 + 8, el]:u64 -0000078b: R1 := 0x1000 -00000792: R21 := mem[R31 + 0x20, el]:u64 -00000798: R1 := R1 + 0x38 -0000079f: R29 := mem[R31, el]:u64 -000007a4: R30 := mem[R31 + 8, el]:u64 -000007a8: R31 := R31 + 0x30 -000007ad: R0 := 1 -000007b1: call @__printf_chk with noreturn - -000007b7: -000007bb: #11 := R31 + 0x10 -000007c0: R19 := mem[#11, el]:u64 -000007c5: R20 := mem[#11 + 8, el]:u64 -000007ca: R1 := 0x1000 -000007d1: R21 := mem[R31 + 0x20, el]:u64 -000007d7: R1 := R1 + 0x58 -000007de: R29 := mem[R31, el]:u64 -000007e3: R30 := mem[R31 + 8, el]:u64 -000007e7: R31 := R31 + 0x30 -000007ec: R0 := 1 -000007f0: call @__printf_chk with noreturn - -0000120b: sub printHelp(printHelp_result) -00001237: printHelp_result :: out u32 = low:32[R0] - -0000064b: -00000652: #7 := R31 - 0x10 -00000658: mem := mem with [#7, el]:u64 <- R29 -0000065e: mem := mem with [#7 + 8, el]:u64 <- R30 -00000662: R31 := #7 -00000667: R0 := 0 -0000066d: R0 := R0 + 0xF00 -00000673: R29 := R31 -00000678: R30 := 0xBF4 -0000067b: call @puts with return %0000067d - -0000067d: -00000680: R0 := 0 -00000686: R0 := R0 + 0xF10 -0000068b: R30 := 0xC00 -0000068d: call @puts with return %0000068f - -0000068f: -00000692: R0 := 0 -00000698: R0 := R0 + 0xF48 -0000069d: R30 := 0xC0C -0000069f: call @puts with return %000006a1 - -000006a1: -000006a4: R0 := 0 -000006aa: R0 := R0 + 0xF80 -000006af: R30 := 0xC18 -000006b1: call @puts with return %000006b3 - -000006b3: -000006b6: R0 := 0 -000006bc: R0 := R0 + 0xFC0 -000006c1: R30 := 0xC24 -000006c3: call @puts with return %000006c5 - -000006c5: -000006ca: R29 := mem[R31, el]:u64 -000006cf: R30 := mem[R31 + 8, el]:u64 -000006d3: R31 := R31 + 0x10 -000006d8: R0 := 0 -000006de: R0 := R0 + 0xFF0 -000006e2: call @puts with noreturn - -0000120c: sub puts(puts_s, puts_result) -00001238: puts_s :: in u64 = R0 -00001239: puts_result :: out u32 = low:32[R0] - -00000679: -00000ff4: R16 := 0x11000 -00000ffb: R17 := mem[R16 + 0xF98, el]:u64 -00001001: R16 := R16 + 0xF98 -00001006: call R17 with noreturn - -0000120d: sub register_tm_clones(register_tm_clones_result) -0000123a: register_tm_clones_result :: out u32 = low:32[R0] - -00000c89: -00000c8c: R0 := 0x12000 -00000c92: R0 := R0 + 0x10 -00000c97: R1 := 0x12000 -00000c9d: R1 := R1 + 0x10 -00000ca4: R1 := R1 + ~R0 + 1 -00000caa: R2 := 0.63:63[R1] -00000cb1: R1 := R2 + (R1 ~>> 3) -00000cb7: R1 := extend:64[63:1[R1]] -00000cbd: when R1 = 0 goto %00000cbb -0000120e: goto %00000d64 - -00000d64: -00000d67: R2 := 0x11000 -00000d6e: R2 := mem[R2 + 0xFF8, el]:u64 -00000d73: when R2 = 0 goto %00000cbb -0000120f: goto %00000d77 - -00000cbb: -00000cc3: call R30 with noreturn - -00000d77: -00000d7b: R16 := R2 -00000d80: call R16 with noreturn - -00001210: sub rewind(rewind_result) -0000123b: rewind_result :: out u32 = low:32[R0] - -000009cb: -00000f9c: R16 := 0x11000 -00000fa3: R17 := mem[R16 + 0xF78, el]:u64 -00000fa9: R16 := R16 + 0xF78 -00000fae: call R17 with noreturn - -00001211: sub saveFile(saveFile_result) -0000123c: saveFile_result :: out u32 = low:32[R0] - -000008a6: -000008aa: #14 := R31 - 0x20 -000008b0: mem := mem with [#14, el]:u64 <- R29 -000008b6: mem := mem with [#14 + 8, el]:u64 <- R30 -000008ba: R31 := #14 -000008bf: R0 := 0x12000 -000008c5: R29 := R31 -000008cd: mem := mem with [R31 + 0x10, el]:u64 <- R19 -000008d3: R19 := R0 + 0x18 -000008da: R0 := mem[R0 + 0x18, el]:u64 -000008e0: when R0 = 0 goto %000008de -00001212: goto %000009c7 - -000008de: -000008e8: R19 := mem[R31 + 0x10, el]:u64 -000008ed: R0 := 0x1000 -000008f4: R29 := mem[R31, el]:u64 -000008f9: R30 := mem[R31 + 8, el]:u64 -000008fd: R31 := R31 + 0x20 -00000903: R0 := R0 + 0x88 -00000907: call @puts with noreturn - -000009c7: -000009ca: R30 := 0xE64 -000009cd: call @rewind with return %000009cf - -000009cf: -000009d4: R2 := mem[R19 + 8, el]:u64 -000009d9: R1 := 0x1000 -000009e0: R19 := mem[R31 + 0x10, el]:u64 -000009e6: R1 := R1 + 0xA8 -000009ed: R29 := mem[R31, el]:u64 -000009f2: R30 := mem[R31 + 8, el]:u64 -000009f6: R31 := R31 + 0x20 -000009fb: R0 := 1 -000009ff: call @__printf_chk with noreturn - -00001213: sub strcmp(strcmp_s1, strcmp_s2, strcmp_result) -0000123d: strcmp_s1 :: in u64 = R0 -0000123e: strcmp_s2 :: in u64 = R1 -0000123f: strcmp_result :: out u32 = low:32[R0] - -0000061f: -0000100a: R16 := 0x11000 -00001011: R17 := mem[R16 + 0xFA0, el]:u64 -00001017: R16 := R16 + 0xFA0 -0000101c: call R17 with noreturn - -00001214: sub strcspn(strcspn_s, strcspn_reject, strcspn_result) -00001240: strcspn_s :: in u64 = R0 -00001241: strcspn_reject :: in u64 = R1 -00001242: strcspn_result :: out u64 = R0 - -000005bd: -00001036: R16 := 0x11000 -0000103d: R17 := mem[R16 + 0xFB0, el]:u64 -00001043: R16 := R16 + 0xFB0 -00001048: call R17 with noreturn - -00001215: sub strdup(strdup_s, strdup_result) -00001243: strdup_s :: in u64 = R0 -00001244: strdup_result :: out u64 = R0 - -00000743: -00000fb2: R16 := 0x11000 -00000fb9: R17 := mem[R16 + 0xF80, el]:u64 -00000fbf: R16 := R16 + 0xF80 -00000fc4: call R17 with noreturn - -00001216: sub strncmp(strncmp_s1, strncmp_s2, strncmp_n, strncmp_result) -00001245: strncmp_s1 :: in u64 = R0 -00001246: strncmp_s2 :: in u64 = R1 -00001247: strncmp_n :: in u64 = R2 -00001248: strncmp_result :: out u32 = low:32[R0] - -00000aed: -00000f70: R16 := 0x11000 -00000f77: R17 := mem[R16 + 0xF68, el]:u64 -00000f7d: R16 := R16 + 0xF68 -00000f82: call R17 with noreturn diff --git a/src/test/correct/complex/gcc_O2/complex.relf b/src/test/correct/complex/gcc_O2/complex.relf deleted file mode 100644 index e24885452..000000000 --- a/src/test/correct/complex/gcc_O2/complex.relf +++ /dev/null @@ -1,171 +0,0 @@ - -Relocation section '.rela.dyn' at offset 0x670 contains 10 entries: - Offset Info Type Symbol's Value Symbol's Name + Addend -0000000000011d18 0000000000000403 R_AARCH64_RELATIVE bd0 -0000000000011d20 0000000000000403 R_AARCH64_RELATIVE b80 -0000000000011ff0 0000000000000403 R_AARCH64_RELATIVE a40 -0000000000012008 0000000000000403 R_AARCH64_RELATIVE 12008 -0000000000011fc8 0000000500000401 R_AARCH64_GLOB_DAT 0000000000000000 _ITM_deregisterTMCloneTable + 0 -0000000000011fd0 0000000600000401 R_AARCH64_GLOB_DAT 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0 -0000000000011fd8 0000000c00000401 R_AARCH64_GLOB_DAT 0000000000000000 stdin@GLIBC_2.17 + 0 -0000000000011fe0 0000000e00000401 R_AARCH64_GLOB_DAT 0000000000000000 __gmon_start__ + 0 -0000000000011fe8 0000000f00000401 R_AARCH64_GLOB_DAT 0000000000000000 __stack_chk_guard@GLIBC_2.17 + 0 -0000000000011ff8 0000001400000401 R_AARCH64_GLOB_DAT 0000000000000000 _ITM_registerTMCloneTable + 0 - -Relocation section '.rela.plt' at offset 0x760 contains 16 entries: - Offset Info Type Symbol's Value Symbol's Name + Addend -0000000000011f40 0000000300000402 R_AARCH64_JUMP_SLOT 0000000000000000 exit@GLIBC_2.17 + 0 -0000000000011f48 0000000400000402 R_AARCH64_JUMP_SLOT 0000000000000000 __libc_start_main@GLIBC_2.34 + 0 -0000000000011f50 0000000600000402 R_AARCH64_JUMP_SLOT 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0 -0000000000011f58 0000000700000402 R_AARCH64_JUMP_SLOT 0000000000000000 fclose@GLIBC_2.17 + 0 -0000000000011f60 0000000800000402 R_AARCH64_JUMP_SLOT 0000000000000000 fopen@GLIBC_2.17 + 0 -0000000000011f68 0000000900000402 R_AARCH64_JUMP_SLOT 0000000000000000 strncmp@GLIBC_2.17 + 0 -0000000000011f70 0000000a00000402 R_AARCH64_JUMP_SLOT 0000000000000000 __printf_chk@GLIBC_2.17 + 0 -0000000000011f78 0000000b00000402 R_AARCH64_JUMP_SLOT 0000000000000000 rewind@GLIBC_2.17 + 0 -0000000000011f80 0000000d00000402 R_AARCH64_JUMP_SLOT 0000000000000000 strdup@GLIBC_2.17 + 0 -0000000000011f88 0000000e00000402 R_AARCH64_JUMP_SLOT 0000000000000000 __gmon_start__ + 0 -0000000000011f90 0000001000000402 R_AARCH64_JUMP_SLOT 0000000000000000 abort@GLIBC_2.17 + 0 -0000000000011f98 0000001100000402 R_AARCH64_JUMP_SLOT 0000000000000000 puts@GLIBC_2.17 + 0 -0000000000011fa0 0000001200000402 R_AARCH64_JUMP_SLOT 0000000000000000 strcmp@GLIBC_2.17 + 0 -0000000000011fa8 0000001300000402 R_AARCH64_JUMP_SLOT 0000000000000000 free@GLIBC_2.17 + 0 -0000000000011fb0 0000001500000402 R_AARCH64_JUMP_SLOT 0000000000000000 strcspn@GLIBC_2.17 + 0 -0000000000011fb8 0000001600000402 R_AARCH64_JUMP_SLOT 0000000000000000 fgets@GLIBC_2.17 + 0 - -Symbol table '.dynsym' contains 23 entries: - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 00000000000008e0 0 SECTION LOCAL DEFAULT 11 .init - 2: 0000000000012000 0 SECTION LOCAL DEFAULT 22 .data - 3: 0000000000000000 0 FUNC GLOBAL DEFAULT UND exit@GLIBC_2.17 (2) - 4: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.34 (3) - 5: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable - 6: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 (2) - 7: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fclose@GLIBC_2.17 (2) - 8: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fopen@GLIBC_2.17 (2) - 9: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strncmp@GLIBC_2.17 (2) - 10: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __printf_chk@GLIBC_2.17 (2) - 11: 0000000000000000 0 FUNC GLOBAL DEFAULT UND rewind@GLIBC_2.17 (2) - 12: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND stdin@GLIBC_2.17 (2) - 13: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strdup@GLIBC_2.17 (2) - 14: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 15: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND __stack_chk_guard@GLIBC_2.17 (4) - 16: 0000000000000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.17 (2) - 17: 0000000000000000 0 FUNC GLOBAL DEFAULT UND puts@GLIBC_2.17 (2) - 18: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcmp@GLIBC_2.17 (2) - 19: 0000000000000000 0 FUNC GLOBAL DEFAULT UND free@GLIBC_2.17 (2) - 20: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - 21: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcspn@GLIBC_2.17 (2) - 22: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fgets@GLIBC_2.17 (2) - -Symbol table '.symtab' contains 110 entries: - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000238 0 SECTION LOCAL DEFAULT 1 .interp - 2: 0000000000000254 0 SECTION LOCAL DEFAULT 2 .note.gnu.build-id - 3: 0000000000000278 0 SECTION LOCAL DEFAULT 3 .note.ABI-tag - 4: 0000000000000298 0 SECTION LOCAL DEFAULT 4 .gnu.hash - 5: 00000000000002b8 0 SECTION LOCAL DEFAULT 5 .dynsym - 6: 00000000000004e0 0 SECTION LOCAL DEFAULT 6 .dynstr - 7: 00000000000005f0 0 SECTION LOCAL DEFAULT 7 .gnu.version - 8: 0000000000000620 0 SECTION LOCAL DEFAULT 8 .gnu.version_r - 9: 0000000000000670 0 SECTION LOCAL DEFAULT 9 .rela.dyn - 10: 0000000000000760 0 SECTION LOCAL DEFAULT 10 .rela.plt - 11: 00000000000008e0 0 SECTION LOCAL DEFAULT 11 .init - 12: 0000000000000900 0 SECTION LOCAL DEFAULT 12 .plt - 13: 0000000000000a40 0 SECTION LOCAL DEFAULT 13 .text - 14: 0000000000000ee4 0 SECTION LOCAL DEFAULT 14 .fini - 15: 0000000000000ef8 0 SECTION LOCAL DEFAULT 15 .rodata - 16: 0000000000001124 0 SECTION LOCAL DEFAULT 16 .eh_frame_hdr - 17: 0000000000001188 0 SECTION LOCAL DEFAULT 17 .eh_frame - 18: 0000000000011d18 0 SECTION LOCAL DEFAULT 18 .init_array - 19: 0000000000011d20 0 SECTION LOCAL DEFAULT 19 .fini_array - 20: 0000000000011d28 0 SECTION LOCAL DEFAULT 20 .dynamic - 21: 0000000000011f28 0 SECTION LOCAL DEFAULT 21 .got - 22: 0000000000012000 0 SECTION LOCAL DEFAULT 22 .data - 23: 0000000000012010 0 SECTION LOCAL DEFAULT 23 .bss - 24: 0000000000000000 0 SECTION LOCAL DEFAULT 24 .comment - 25: 0000000000000000 0 FILE LOCAL DEFAULT ABS Scrt1.o - 26: 0000000000000278 0 NOTYPE LOCAL DEFAULT 3 $d - 27: 0000000000000278 32 OBJECT LOCAL DEFAULT 3 __abi_tag - 28: 0000000000000ac0 0 NOTYPE LOCAL DEFAULT 13 $x - 29: 000000000000119c 0 NOTYPE LOCAL DEFAULT 17 $d - 30: 0000000000000ef8 0 NOTYPE LOCAL DEFAULT 15 $d - 31: 0000000000000000 0 FILE LOCAL DEFAULT ABS crti.o - 32: 0000000000000af4 0 NOTYPE LOCAL DEFAULT 13 $x - 33: 0000000000000af4 20 FUNC LOCAL DEFAULT 13 call_weak_fn - 34: 00000000000008e0 0 NOTYPE LOCAL DEFAULT 11 $x - 35: 0000000000000ee4 0 NOTYPE LOCAL DEFAULT 14 $x - 36: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtn.o - 37: 00000000000008f0 0 NOTYPE LOCAL DEFAULT 11 $x - 38: 0000000000000ef0 0 NOTYPE LOCAL DEFAULT 14 $x - 39: 0000000000000000 0 FILE LOCAL DEFAULT ABS complex.c - 40: 0000000000000f00 0 NOTYPE LOCAL DEFAULT 15 $d - 41: 0000000000000be0 0 NOTYPE LOCAL DEFAULT 13 $x - 42: 0000000000000a40 0 NOTYPE LOCAL DEFAULT 13 $x - 43: 0000000000012018 0 NOTYPE LOCAL DEFAULT 23 $d - 44: 0000000000001210 0 NOTYPE LOCAL DEFAULT 17 $d - 45: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 46: 0000000000000b10 0 NOTYPE LOCAL DEFAULT 13 $x - 47: 0000000000000b10 0 FUNC LOCAL DEFAULT 13 deregister_tm_clones - 48: 0000000000000b40 0 FUNC LOCAL DEFAULT 13 register_tm_clones - 49: 0000000000012008 0 NOTYPE LOCAL DEFAULT 22 $d - 50: 0000000000000b80 0 FUNC LOCAL DEFAULT 13 __do_global_dtors_aux - 51: 0000000000012010 1 OBJECT LOCAL DEFAULT 23 completed.0 - 52: 0000000000011d20 0 NOTYPE LOCAL DEFAULT 19 $d - 53: 0000000000011d20 0 OBJECT LOCAL DEFAULT 19 __do_global_dtors_aux_fini_array_entry - 54: 0000000000000bd0 0 FUNC LOCAL DEFAULT 13 frame_dummy - 55: 0000000000011d18 0 NOTYPE LOCAL DEFAULT 18 $d - 56: 0000000000011d18 0 OBJECT LOCAL DEFAULT 18 __frame_dummy_init_array_entry - 57: 00000000000011b0 0 NOTYPE LOCAL DEFAULT 17 $d - 58: 0000000000012010 0 NOTYPE LOCAL DEFAULT 23 $d - 59: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 60: 0000000000001344 0 NOTYPE LOCAL DEFAULT 17 $d - 61: 0000000000001344 0 OBJECT LOCAL DEFAULT 17 __FRAME_END__ - 62: 0000000000000000 0 FILE LOCAL DEFAULT ABS - 63: 0000000000011d28 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC - 64: 0000000000001124 0 NOTYPE LOCAL DEFAULT 16 __GNU_EH_FRAME_HDR - 65: 0000000000011fc0 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ - 66: 0000000000000900 0 NOTYPE LOCAL DEFAULT 12 $x - 67: 0000000000000be0 84 FUNC GLOBAL DEFAULT 13 printHelp - 68: 0000000000000000 0 FUNC GLOBAL DEFAULT UND exit@GLIBC_2.17 - 69: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.34 - 70: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable - 71: 0000000000012000 0 NOTYPE WEAK DEFAULT 22 data_start - 72: 0000000000012010 0 NOTYPE GLOBAL DEFAULT 23 __bss_start__ - 73: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 - 74: 0000000000012028 0 NOTYPE GLOBAL DEFAULT 23 _bss_end__ - 75: 0000000000012010 0 NOTYPE GLOBAL DEFAULT 22 _edata - 76: 0000000000000c34 164 FUNC GLOBAL DEFAULT 13 openFile - 77: 0000000000000ee4 0 FUNC GLOBAL HIDDEN 14 _fini - 78: 0000000000012028 0 NOTYPE GLOBAL DEFAULT 23 __bss_end__ - 79: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fclose@GLIBC_2.17 - 80: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fopen@GLIBC_2.17 - 81: 0000000000000e44 80 FUNC GLOBAL DEFAULT 13 saveFile - 82: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strncmp@GLIBC_2.17 - 83: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __printf_chk@GLIBC_2.17 - 84: 0000000000012020 8 OBJECT GLOBAL DEFAULT 23 currentFilename - 85: 0000000000000000 0 FUNC GLOBAL DEFAULT UND rewind@GLIBC_2.17 - 86: 0000000000012000 0 NOTYPE GLOBAL DEFAULT 22 __data_start - 87: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND stdin@GLIBC_2.17 - 88: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strdup@GLIBC_2.17 - 89: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 90: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND __stack_chk_guard@GLIBC_2.17 - 91: 0000000000012008 0 OBJECT GLOBAL HIDDEN 22 __dso_handle - 92: 0000000000000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.17 - 93: 0000000000000ef8 4 OBJECT GLOBAL DEFAULT 15 _IO_stdin_used - 94: 0000000000000000 0 FUNC GLOBAL DEFAULT UND puts@GLIBC_2.17 - 95: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcmp@GLIBC_2.17 - 96: 0000000000012018 8 OBJECT GLOBAL DEFAULT 23 currentFile - 97: 0000000000012028 0 NOTYPE GLOBAL DEFAULT 23 _end - 98: 0000000000000000 0 FUNC GLOBAL DEFAULT UND free@GLIBC_2.17 - 99: 0000000000000ac0 52 FUNC GLOBAL DEFAULT 13 _start - 100: 0000000000012028 0 NOTYPE GLOBAL DEFAULT 23 __end__ - 101: 0000000000000e94 80 FUNC GLOBAL DEFAULT 13 closeFile - 102: 0000000000012010 0 NOTYPE GLOBAL DEFAULT 23 __bss_start - 103: 0000000000000a40 124 FUNC GLOBAL DEFAULT 13 main - 104: 0000000000012010 0 OBJECT GLOBAL HIDDEN 22 __TMC_END__ - 105: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - 106: 0000000000000ce0 356 FUNC GLOBAL DEFAULT 13 handleInput - 107: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcspn@GLIBC_2.17 - 108: 00000000000008e0 0 FUNC GLOBAL HIDDEN 11 _init - 109: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fgets@GLIBC_2.17 diff --git a/src/test/correct/complex/gcc_pic/complex.adt b/src/test/correct/complex/gcc_pic/complex.adt deleted file mode 100644 index 2dc750c2c..000000000 --- a/src/test/correct/complex/gcc_pic/complex.adt +++ /dev/null @@ -1,1634 +0,0 @@ -Project(Attrs([Attr("filename","\"gcc_pic/complex.out\""), -Attr("image-specification","(declare abi (name str))\n(declare arch (name str))\n(declare base-address (addr int))\n(declare bias (off int))\n(declare bits (size int))\n(declare code-region (addr int) (size int) (off int))\n(declare code-start (addr int))\n(declare entry-point (addr int))\n(declare external-reference (addr int) (name str))\n(declare format (name str))\n(declare is-executable (flag bool))\n(declare is-little-endian (flag bool))\n(declare llvm:base-address (addr int))\n(declare llvm:code-entry (name str) (off int) (size int))\n(declare llvm:coff-import-library (name str))\n(declare llvm:coff-virtual-section-header (name str) (addr int) (size int))\n(declare llvm:elf-program-header (name str) (off int) (size int))\n(declare llvm:elf-program-header-flags (name str) (ld bool) (r bool) \n (w bool) (x bool))\n(declare llvm:elf-virtual-program-header (name str) (addr int) (size int))\n(declare llvm:entry-point (addr int))\n(declare llvm:macho-symbol (name str) (value int))\n(declare llvm:name-reference (at int) (name str))\n(declare llvm:relocation (at int) (addr int))\n(declare llvm:section-entry (name str) (addr int) (size int) (off int))\n(declare llvm:section-flags (name str) (r bool) (w bool) (x bool))\n(declare llvm:segment-command (name str) (off int) (size int))\n(declare llvm:segment-command-flags (name str) (r bool) (w bool) (x bool))\n(declare llvm:symbol-entry (name str) (addr int) (size int) (off int)\n (value int))\n(declare llvm:virtual-segment-command (name str) (addr int) (size int))\n(declare mapped (addr int) (size int) (off int))\n(declare named-region (addr int) (size int) (name str))\n(declare named-symbol (addr int) (name str))\n(declare require (name str))\n(declare section (addr int) (size int))\n(declare segment (addr int) (size int) (r bool) (w bool) (x bool))\n(declare subarch (name str))\n(declare symbol-chunk (addr int) (size int) (root int))\n(declare symbol-value (addr int) (value int))\n(declare system (name str))\n(declare vendor (name str))\n\n(abi unknown)\n(arch aarch64)\n(base-address 0)\n(bias 0)\n(bits 64)\n(code-region 3744 20 3744)\n(code-region 2624 1120 2624)\n(code-region 2336 288 2336)\n(code-region 2312 24 2312)\n(code-start 2676)\n(code-start 3252)\n(code-start 3344)\n(code-start 3540)\n(code-start 2624)\n(code-start 3636)\n(code-start 2900)\n(code-start 3012)\n(entry-point 2624)\n(external-reference 73656 _ITM_deregisterTMCloneTable)\n(external-reference 73664 __cxa_finalize)\n(external-reference 73688 __gmon_start__)\n(external-reference 73720 _ITM_registerTMCloneTable)\n(external-reference 73520 exit)\n(external-reference 73528 __libc_start_main)\n(external-reference 73536 __cxa_finalize)\n(external-reference 73544 fclose)\n(external-reference 73552 fopen)\n(external-reference 73560 strncmp)\n(external-reference 73568 rewind)\n(external-reference 73576 strdup)\n(external-reference 73584 __gmon_start__)\n(external-reference 73592 abort)\n(external-reference 73600 puts)\n(external-reference 73608 strcmp)\n(external-reference 73616 free)\n(external-reference 73624 strcspn)\n(external-reference 73632 printf)\n(external-reference 73640 fgets)\n(format elf)\n(is-executable true)\n(is-little-endian true)\n(llvm:base-address 0)\n(llvm:code-entry fgets 0 0)\n(llvm:code-entry printf 0 0)\n(llvm:code-entry strcspn 0 0)\n(llvm:code-entry free 0 0)\n(llvm:code-entry strcmp 0 0)\n(llvm:code-entry puts 0 0)\n(llvm:code-entry abort 0 0)\n(llvm:code-entry strdup 0 0)\n(llvm:code-entry rewind 0 0)\n(llvm:code-entry strncmp 0 0)\n(llvm:code-entry fopen 0 0)\n(llvm:code-entry fclose 0 0)\n(llvm:code-entry __cxa_finalize 0 0)\n(llvm:code-entry __libc_start_main 0 0)\n(llvm:code-entry exit 0 0)\n(llvm:code-entry fgets@GLIBC_2.17 0 0)\n(llvm:code-entry _init 2312 0)\n(llvm:code-entry printf@GLIBC_2.17 0 0)\n(llvm:code-entry strcspn@GLIBC_2.17 0 0)\n(llvm:code-entry handleInput 3012 240)\n(llvm:code-entry main 2900 112)\n(llvm:code-entry closeFile 3636 108)\n(llvm:code-entry _start 2624 52)\n(llvm:code-entry free@GLIBC_2.17 0 0)\n(llvm:code-entry strcmp@GLIBC_2.17 0 0)\n(llvm:code-entry puts@GLIBC_2.17 0 0)\n(llvm:code-entry abort@GLIBC_2.17 0 0)\n(llvm:code-entry strdup@GLIBC_2.17 0 0)\n(llvm:code-entry rewind@GLIBC_2.17 0 0)\n(llvm:code-entry strncmp@GLIBC_2.17 0 0)\n(llvm:code-entry saveFile 3540 96)\n(llvm:code-entry fopen@GLIBC_2.17 0 0)\n(llvm:code-entry fclose@GLIBC_2.17 0 0)\n(llvm:code-entry _fini 3744 0)\n(llvm:code-entry openFile 3344 196)\n(llvm:code-entry __cxa_finalize@GLIBC_2.17 0 0)\n(llvm:code-entry __libc_start_main@GLIBC_2.34 0 0)\n(llvm:code-entry exit@GLIBC_2.17 0 0)\n(llvm:code-entry printHelp 3252 92)\n(llvm:code-entry frame_dummy 2896 0)\n(llvm:code-entry __do_global_dtors_aux 2816 0)\n(llvm:code-entry register_tm_clones 2752 0)\n(llvm:code-entry deregister_tm_clones 2704 0)\n(llvm:code-entry call_weak_fn 2676 20)\n(llvm:code-entry .fini 3744 20)\n(llvm:code-entry .text 2624 1120)\n(llvm:code-entry .plt 2336 288)\n(llvm:code-entry .init 2312 24)\n(llvm:elf-program-header 08 7432 760)\n(llvm:elf-program-header 07 0 0)\n(llvm:elf-program-header 06 4336 100)\n(llvm:elf-program-header 05 596 68)\n(llvm:elf-program-header 04 7448 512)\n(llvm:elf-program-header 03 7432 776)\n(llvm:elf-program-header 02 0 4768)\n(llvm:elf-program-header 01 568 27)\n(llvm:elf-program-header 00 64 504)\n(llvm:elf-program-header-flags 08 false true false false)\n(llvm:elf-program-header-flags 07 false true true false)\n(llvm:elf-program-header-flags 06 false true false false)\n(llvm:elf-program-header-flags 05 false true false false)\n(llvm:elf-program-header-flags 04 false true true false)\n(llvm:elf-program-header-flags 03 true true true false)\n(llvm:elf-program-header-flags 02 true true false true)\n(llvm:elf-program-header-flags 01 false true false false)\n(llvm:elf-program-header-flags 00 false true false false)\n(llvm:elf-virtual-program-header 08 72968 760)\n(llvm:elf-virtual-program-header 07 0 0)\n(llvm:elf-virtual-program-header 06 4336 100)\n(llvm:elf-virtual-program-header 05 596 68)\n(llvm:elf-virtual-program-header 04 72984 512)\n(llvm:elf-virtual-program-header 03 72968 800)\n(llvm:elf-virtual-program-header 02 0 4768)\n(llvm:elf-virtual-program-header 01 568 27)\n(llvm:elf-virtual-program-header 00 64 504)\n(llvm:entry-point 2624)\n(llvm:name-reference 73640 fgets)\n(llvm:name-reference 73632 printf)\n(llvm:name-reference 73624 strcspn)\n(llvm:name-reference 73616 free)\n(llvm:name-reference 73608 strcmp)\n(llvm:name-reference 73600 puts)\n(llvm:name-reference 73592 abort)\n(llvm:name-reference 73584 __gmon_start__)\n(llvm:name-reference 73576 strdup)\n(llvm:name-reference 73568 rewind)\n(llvm:name-reference 73560 strncmp)\n(llvm:name-reference 73552 fopen)\n(llvm:name-reference 73544 fclose)\n(llvm:name-reference 73536 __cxa_finalize)\n(llvm:name-reference 73528 __libc_start_main)\n(llvm:name-reference 73520 exit)\n(llvm:name-reference 73720 _ITM_registerTMCloneTable)\n(llvm:name-reference 73688 __gmon_start__)\n(llvm:name-reference 73664 __cxa_finalize)\n(llvm:name-reference 73656 _ITM_deregisterTMCloneTable)\n(llvm:section-entry .shstrtab 0 250 11749)\n(llvm:section-entry .strtab 0 877 10872)\n(llvm:section-entry .symtab 0 2616 8256)\n(llvm:section-entry .comment 0 43 8208)\n(llvm:section-entry .bss 73744 24 8208)\n(llvm:section-entry .data 73728 16 8192)\n(llvm:section-entry .got 73496 232 7960)\n(llvm:section-entry .dynamic 72984 512 7448)\n(llvm:section-entry .fini_array 72976 8 7440)\n(llvm:section-entry .init_array 72968 8 7432)\n(llvm:section-entry .eh_frame 4440 328 4440)\n(llvm:section-entry .eh_frame_hdr 4336 100 4336)\n(llvm:section-entry .rodata 3768 568 3768)\n(llvm:section-entry .fini 3744 20 3744)\n(llvm:section-entry .text 2624 1120 2624)\n(llvm:section-entry .plt 2336 288 2336)\n(llvm:section-entry .init 2312 24 2312)\n(llvm:section-entry .rela.plt 1928 384 1928)\n(llvm:section-entry .rela.dyn 1640 288 1640)\n(llvm:section-entry .gnu.version_r 1560 80 1560)\n(llvm:section-entry .gnu.version 1514 46 1514)\n(llvm:section-entry .dynstr 1248 265 1248)\n(llvm:section-entry .dynsym 696 552 696)\n(llvm:section-entry .gnu.hash 664 28 664)\n(llvm:section-entry .note.ABI-tag 632 32 632)\n(llvm:section-entry .note.gnu.build-id 596 36 596)\n(llvm:section-entry .interp 568 27 568)\n(llvm:section-flags .shstrtab true false false)\n(llvm:section-flags .strtab true false false)\n(llvm:section-flags .symtab true false false)\n(llvm:section-flags .comment true false false)\n(llvm:section-flags .bss true true false)\n(llvm:section-flags .data true true false)\n(llvm:section-flags .got true true false)\n(llvm:section-flags .dynamic true true false)\n(llvm:section-flags .fini_array true true false)\n(llvm:section-flags .init_array true true false)\n(llvm:section-flags .eh_frame true false false)\n(llvm:section-flags .eh_frame_hdr true false false)\n(llvm:section-flags .rodata true false false)\n(llvm:section-flags .fini true false true)\n(llvm:section-flags .text true false true)\n(llvm:section-flags .plt true false true)\n(llvm:section-flags .init true false true)\n(llvm:section-flags .rela.plt true false false)\n(llvm:section-flags .rela.dyn true false false)\n(llvm:section-flags .gnu.version_r true false false)\n(llvm:section-flags .gnu.version true false false)\n(llvm:section-flags .dynstr true false false)\n(llvm:section-flags .dynsym true false false)\n(llvm:section-flags .gnu.hash true false false)\n(llvm:section-flags .note.ABI-tag true false false)\n(llvm:section-flags .note.gnu.build-id true false false)\n(llvm:section-flags .interp true false false)\n(llvm:symbol-entry fgets 0 0 0 0)\n(llvm:symbol-entry printf 0 0 0 0)\n(llvm:symbol-entry strcspn 0 0 0 0)\n(llvm:symbol-entry free 0 0 0 0)\n(llvm:symbol-entry strcmp 0 0 0 0)\n(llvm:symbol-entry puts 0 0 0 0)\n(llvm:symbol-entry abort 0 0 0 0)\n(llvm:symbol-entry strdup 0 0 0 0)\n(llvm:symbol-entry rewind 0 0 0 0)\n(llvm:symbol-entry strncmp 0 0 0 0)\n(llvm:symbol-entry fopen 0 0 0 0)\n(llvm:symbol-entry fclose 0 0 0 0)\n(llvm:symbol-entry __cxa_finalize 0 0 0 0)\n(llvm:symbol-entry __libc_start_main 0 0 0 0)\n(llvm:symbol-entry exit 0 0 0 0)\n(llvm:symbol-entry fgets@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry _init 2312 0 2312 2312)\n(llvm:symbol-entry printf@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strcspn@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry handleInput 3012 240 3012 3012)\n(llvm:symbol-entry main 2900 112 2900 2900)\n(llvm:symbol-entry closeFile 3636 108 3636 3636)\n(llvm:symbol-entry _start 2624 52 2624 2624)\n(llvm:symbol-entry free@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strcmp@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry puts@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry abort@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strdup@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry rewind@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry strncmp@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry saveFile 3540 96 3540 3540)\n(llvm:symbol-entry fopen@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry fclose@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry _fini 3744 0 3744 3744)\n(llvm:symbol-entry openFile 3344 196 3344 3344)\n(llvm:symbol-entry __cxa_finalize@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry __libc_start_main@GLIBC_2.34 0 0 0 0)\n(llvm:symbol-entry exit@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry printHelp 3252 92 3252 3252)\n(llvm:symbol-entry frame_dummy 2896 0 2896 2896)\n(llvm:symbol-entry __do_global_dtors_aux 2816 0 2816 2816)\n(llvm:symbol-entry register_tm_clones 2752 0 2752 2752)\n(llvm:symbol-entry deregister_tm_clones 2704 0 2704 2704)\n(llvm:symbol-entry call_weak_fn 2676 20 2676 2676)\n(mapped 0 4768 0)\n(mapped 72968 776 7432)\n(named-region 0 4768 02)\n(named-region 72968 800 03)\n(named-region 568 27 .interp)\n(named-region 596 36 .note.gnu.build-id)\n(named-region 632 32 .note.ABI-tag)\n(named-region 664 28 .gnu.hash)\n(named-region 696 552 .dynsym)\n(named-region 1248 265 .dynstr)\n(named-region 1514 46 .gnu.version)\n(named-region 1560 80 .gnu.version_r)\n(named-region 1640 288 .rela.dyn)\n(named-region 1928 384 .rela.plt)\n(named-region 2312 24 .init)\n(named-region 2336 288 .plt)\n(named-region 2624 1120 .text)\n(named-region 3744 20 .fini)\n(named-region 3768 568 .rodata)\n(named-region 4336 100 .eh_frame_hdr)\n(named-region 4440 328 .eh_frame)\n(named-region 72968 8 .init_array)\n(named-region 72976 8 .fini_array)\n(named-region 72984 512 .dynamic)\n(named-region 73496 232 .got)\n(named-region 73728 16 .data)\n(named-region 73744 24 .bss)\n(named-region 0 43 .comment)\n(named-region 0 2616 .symtab)\n(named-region 0 877 .strtab)\n(named-region 0 250 .shstrtab)\n(named-symbol 2676 call_weak_fn)\n(named-symbol 2704 deregister_tm_clones)\n(named-symbol 2752 register_tm_clones)\n(named-symbol 2816 __do_global_dtors_aux)\n(named-symbol 2896 frame_dummy)\n(named-symbol 3252 printHelp)\n(named-symbol 0 exit@GLIBC_2.17)\n(named-symbol 0 __libc_start_main@GLIBC_2.34)\n(named-symbol 0 __cxa_finalize@GLIBC_2.17)\n(named-symbol 3344 openFile)\n(named-symbol 3744 _fini)\n(named-symbol 0 fclose@GLIBC_2.17)\n(named-symbol 0 fopen@GLIBC_2.17)\n(named-symbol 3540 saveFile)\n(named-symbol 0 strncmp@GLIBC_2.17)\n(named-symbol 0 rewind@GLIBC_2.17)\n(named-symbol 0 strdup@GLIBC_2.17)\n(named-symbol 0 abort@GLIBC_2.17)\n(named-symbol 0 puts@GLIBC_2.17)\n(named-symbol 0 strcmp@GLIBC_2.17)\n(named-symbol 0 free@GLIBC_2.17)\n(named-symbol 2624 _start)\n(named-symbol 3636 closeFile)\n(named-symbol 2900 main)\n(named-symbol 3012 handleInput)\n(named-symbol 0 strcspn@GLIBC_2.17)\n(named-symbol 0 printf@GLIBC_2.17)\n(named-symbol 2312 _init)\n(named-symbol 0 fgets@GLIBC_2.17)\n(named-symbol 0 exit)\n(named-symbol 0 __libc_start_main)\n(named-symbol 0 __cxa_finalize)\n(named-symbol 0 fclose)\n(named-symbol 0 fopen)\n(named-symbol 0 strncmp)\n(named-symbol 0 rewind)\n(named-symbol 0 strdup)\n(named-symbol 0 abort)\n(named-symbol 0 puts)\n(named-symbol 0 strcmp)\n(named-symbol 0 free)\n(named-symbol 0 strcspn)\n(named-symbol 0 printf)\n(named-symbol 0 fgets)\n(require ld-linux-aarch64.so.1)\n(require libc.so.6)\n(section 568 27)\n(section 596 36)\n(section 632 32)\n(section 664 28)\n(section 696 552)\n(section 1248 265)\n(section 1514 46)\n(section 1560 80)\n(section 1640 288)\n(section 1928 384)\n(section 2312 24)\n(section 2336 288)\n(section 2624 1120)\n(section 3744 20)\n(section 3768 568)\n(section 4336 100)\n(section 4440 328)\n(section 72968 8)\n(section 72976 8)\n(section 72984 512)\n(section 73496 232)\n(section 73728 16)\n(section 73744 24)\n(section 0 43)\n(section 0 2616)\n(section 0 877)\n(section 0 250)\n(segment 0 4768 true false true)\n(segment 72968 800 true true false)\n(subarch v8)\n(symbol-chunk 2676 20 2676)\n(symbol-chunk 3252 92 3252)\n(symbol-chunk 3344 196 3344)\n(symbol-chunk 3540 96 3540)\n(symbol-chunk 2624 52 2624)\n(symbol-chunk 3636 108 3636)\n(symbol-chunk 2900 112 2900)\n(symbol-chunk 3012 240 3012)\n(symbol-value 2676 2676)\n(symbol-value 2704 2704)\n(symbol-value 2752 2752)\n(symbol-value 2816 2816)\n(symbol-value 2896 2896)\n(symbol-value 3252 3252)\n(symbol-value 3344 3344)\n(symbol-value 3744 3744)\n(symbol-value 3540 3540)\n(symbol-value 2624 2624)\n(symbol-value 3636 3636)\n(symbol-value 2900 2900)\n(symbol-value 3012 3012)\n(symbol-value 2312 2312)\n(symbol-value 0 0)\n(system \"\")\n(vendor \"\")\n"), -Attr("abi-name","\"aarch64-linux-gnu-elf\"")]), -Sections([Section(".shstrtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x40\x0a\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xe0\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1c\x00\x1b\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x12\x00\x00\x00\x00\x00\x00\xa0\x12\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x08\x1d\x00\x00\x00\x00\x00\x00\x08\x1d"), -Section(".strtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x40\x0a\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xe0\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1c\x00\x1b\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x12\x00\x00\x00\x00\x00\x00\xa0\x12\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x08\x1d\x00\x00\x00\x00\x00\x00\x08\x1d\x01\x00\x00\x00\x00\x00\x08\x1d\x01\x00\x00\x00\x00\x00\x08\x03\x00\x00\x00\x00\x00\x00\x20\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x18\x1d\x00\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x50\xe5\x74\x64\x04\x00\x00\x00\xf0\x10\x00\x00\x00\x00\x00\x00\xf0\x10\x00\x00\x00\x00\x00\x00\xf0\x10\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x51\xe5\x74\x64\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x52\xe5\x74\x64\x04\x00\x00\x00\x08\x1d\x00\x00\x00\x00\x00\x00\x08\x1d\x01\x00\x00\x00\x00\x00\x08\x1d\x01\x00\x00\x00\x00\x00\xf8\x02\x00\x00\x00\x00\x00\x00\xf8\x02\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00\x00\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\xc6\x2b\xe3\xb4\xfb\x4a\xb4\x3d\xcb\xe8\xd7\x73\x34\xbb\x0b\xa5\xdf\x9d\x1c\xd2\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\x08\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x16\x00\x00\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".symtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x40\x0a\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xe0\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1c\x00\x1b\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x12\x00\x00\x00\x00\x00\x00\xa0\x12\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x08\x1d\x00\x00\x00\x00\x00\x00\x08\x1d\x01\x00\x00\x00\x00\x00\x08\x1d\x01\x00\x00\x00\x00\x00\x08\x03\x00\x00\x00\x00\x00\x00\x20\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x18\x1d\x00\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x50\xe5\x74\x64\x04\x00\x00\x00\xf0\x10\x00\x00\x00\x00\x00\x00\xf0\x10\x00\x00\x00\x00\x00\x00\xf0\x10\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x51\xe5\x74\x64\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x52\xe5\x74\x64\x04\x00\x00\x00\x08\x1d\x00\x00\x00\x00\x00\x00\x08\x1d\x01\x00\x00\x00\x00\x00\x08\x1d\x01\x00\x00\x00\x00\x00\xf8\x02\x00\x00\x00\x00\x00\x00\xf8\x02\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00\x00\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\xc6\x2b\xe3\xb4\xfb\x4a\xb4\x3d\xcb\xe8\xd7\x73\x34\xbb\x0b\xa5\xdf\x9d\x1c\xd2\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\x08\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x16\x00\x00\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x5f\x63\x78\x61\x5f\x66\x69\x6e\x61\x6c\x69\x7a\x65\x00\x66\x67\x65\x74\x73\x00\x73\x74\x72\x63\x73\x70\x6e\x00\x5f\x5f\x6c\x69\x62\x63\x5f\x73\x74\x61\x72\x74\x5f\x6d\x61\x69\x6e\x00\x73\x74\x72\x63\x6d\x70\x00\x66\x6f\x70\x65\x6e\x00\x66\x63\x6c\x6f\x73\x65\x00\x73\x74\x72\x6e\x63\x6d\x70\x00\x70\x75\x74\x73\x00\x66\x72\x65\x65\x00\x73\x74\x72\x64\x75\x70\x00\x73\x74\x64\x69\x6e\x00\x61\x62\x6f\x72\x74\x00\x65\x78\x69\x74\x00\x72\x65\x77\x69\x6e\x64\x00\x70\x72\x69\x6e\x74\x66\x00\x5f\x5f\x73\x74\x61\x63\x6b\x5f\x63\x68\x6b\x5f\x67\x75\x61\x72\x64\x00\x6c\x69\x62\x63\x2e\x73\x6f\x2e\x36\x00\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x31\x37\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x33\x34\x00\x5f\x49\x54\x4d\x5f\x64\x65\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x5f\x5f\x67\x6d\x6f\x6e\x5f\x73\x74\x61\x72\x74\x5f\x5f\x00\x5f\x49\x54\x4d\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x04\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x02\x00\x02\x00\x01\x00\x01\x00\x98\x00\x00\x00\x10\x00\x00\x00\x20\x00\x00\x00\x97\x91\x96\x06\x00\x00\x04\x00\xae\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x8e\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\xb4\x91\x96\x06\x00\x00\x03\x00\xb9\x00\x00\x00\x10\x00\x00\x00\x97\x91\x96\x06\x00\x00\x02\x00\xae\x00\x00\x00\x00\x00\x00\x00\x08\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x50\x0b\x00\x00\x00\x00\x00\x00\x10\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\xc8\x1f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x18\x20\x01\x00\x00\x00\x00\x00\xe8\x1f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x20\x20\x01\x00\x00\x00\x00\x00\xf0\x1f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x54\x0b\x00\x00\x00\x00\x00\x00\x08\x20\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x08\x20\x01\x00\x00\x00\x00\x00\xb8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x58\x00\x00\x94\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6\xf0\x7b\xbf\xa9\x90\x00\x00\xb0\x11\x96\x47\xf9\x10\xa2\x3c\x91\x20\x02\x1f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x90\x00\x00\xb0\x11\x9a\x47\xf9\x10\xc2\x3c\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\x9e\x47\xf9\x10\xe2\x3c\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xa2\x47\xf9\x10\x02\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xa6\x47\xf9\x10\x22\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xaa\x47\xf9\x10\x42\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xae\x47\xf9\x10\x62\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xb2\x47\xf9\x10\x82\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xb6\x47\xf9\x10\xa2\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xba\x47\xf9\x10\xc2\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xbe\x47\xf9\x10\xe2\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xc2\x47\xf9\x10\x02\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xc6\x47\xf9\x10\x22\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xca\x47\xf9\x10\x42\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xce\x47\xf9\x10\x62\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xd2\x47\xf9\x10\x82\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xd6\x47\xf9"), -Section(".comment", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x40\x0a\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xe0\x2e\x00"), -Section(".interp", 0x238, "\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00"), -Section(".note.gnu.build-id", 0x254, "\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\xc6\x2b\xe3\xb4\xfb\x4a\xb4\x3d\xcb\xe8\xd7\x73\x34\xbb\x0b\xa5\xdf\x9d\x1c\xd2"), -Section(".note.ABI-tag", 0x278, "\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00"), -Section(".gnu.hash", 0x298, "\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".dynsym", 0x2B8, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\x08\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x16\x00\x00\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".dynstr", 0x4E0, "\x00\x5f\x5f\x63\x78\x61\x5f\x66\x69\x6e\x61\x6c\x69\x7a\x65\x00\x66\x67\x65\x74\x73\x00\x73\x74\x72\x63\x73\x70\x6e\x00\x5f\x5f\x6c\x69\x62\x63\x5f\x73\x74\x61\x72\x74\x5f\x6d\x61\x69\x6e\x00\x73\x74\x72\x63\x6d\x70\x00\x66\x6f\x70\x65\x6e\x00\x66\x63\x6c\x6f\x73\x65\x00\x73\x74\x72\x6e\x63\x6d\x70\x00\x70\x75\x74\x73\x00\x66\x72\x65\x65\x00\x73\x74\x72\x64\x75\x70\x00\x73\x74\x64\x69\x6e\x00\x61\x62\x6f\x72\x74\x00\x65\x78\x69\x74\x00\x72\x65\x77\x69\x6e\x64\x00\x70\x72\x69\x6e\x74\x66\x00\x5f\x5f\x73\x74\x61\x63\x6b\x5f\x63\x68\x6b\x5f\x67\x75\x61\x72\x64\x00\x6c\x69\x62\x63\x2e\x73\x6f\x2e\x36\x00\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x31\x37\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x33\x34\x00\x5f\x49\x54\x4d\x5f\x64\x65\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x5f\x5f\x67\x6d\x6f\x6e\x5f\x73\x74\x61\x72\x74\x5f\x5f\x00\x5f\x49\x54\x4d\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00"), -Section(".gnu.version", 0x5EA, "\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00\x01\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x04\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x02\x00\x02\x00\x02\x00"), -Section(".gnu.version_r", 0x618, "\x01\x00\x01\x00\x98\x00\x00\x00\x10\x00\x00\x00\x20\x00\x00\x00\x97\x91\x96\x06\x00\x00\x04\x00\xae\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x8e\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\xb4\x91\x96\x06\x00\x00\x03\x00\xb9\x00\x00\x00\x10\x00\x00\x00\x97\x91\x96\x06\x00\x00\x02\x00\xae\x00\x00\x00\x00\x00\x00\x00"), -Section(".rela.dyn", 0x668, "\x08\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x50\x0b\x00\x00\x00\x00\x00\x00\x10\x1d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\xc8\x1f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x18\x20\x01\x00\x00\x00\x00\x00\xe8\x1f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x20\x20\x01\x00\x00\x00\x00\x00\xf0\x1f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x54\x0b\x00\x00\x00\x00\x00\x00\x08\x20\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x08\x20\x01\x00\x00\x00\x00\x00\xb8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x1f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".rela.plt", 0x788, "\x30\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x1f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".init", 0x908, "\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x58\x00\x00\x94\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".plt", 0x920, "\xf0\x7b\xbf\xa9\x90\x00\x00\xb0\x11\x96\x47\xf9\x10\xa2\x3c\x91\x20\x02\x1f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x90\x00\x00\xb0\x11\x9a\x47\xf9\x10\xc2\x3c\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\x9e\x47\xf9\x10\xe2\x3c\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xa2\x47\xf9\x10\x02\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xa6\x47\xf9\x10\x22\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xaa\x47\xf9\x10\x42\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xae\x47\xf9\x10\x62\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xb2\x47\xf9\x10\x82\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xb6\x47\xf9\x10\xa2\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xba\x47\xf9\x10\xc2\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xbe\x47\xf9\x10\xe2\x3d\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xc2\x47\xf9\x10\x02\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xc6\x47\xf9\x10\x22\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xca\x47\xf9\x10\x42\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xce\x47\xf9\x10\x62\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xd2\x47\xf9\x10\x82\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\xd6\x47\xf9\x10\xa2\x3e\x91\x20\x02\x1f\xd6"), -Section(".text", 0xA40, "\x1f\x20\x03\xd5\x1d\x00\x80\xd2\x1e\x00\x80\xd2\xe5\x03\x00\xaa\xe1\x03\x40\xf9\xe2\x23\x00\x91\xe6\x03\x00\x91\x80\x00\x00\xb0\x00\xf8\x47\xf9\x03\x00\x80\xd2\x04\x00\x80\xd2\xb9\xff\xff\x97\xd8\xff\xff\x97\x80\x00\x00\xb0\x00\xec\x47\xf9\x40\x00\x00\xb4\xd0\xff\xff\x17\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x80\x00\x00\xd0\x00\x40\x00\x91\x81\x00\x00\xd0\x21\x40\x00\x91\x3f\x00\x00\xeb\xc0\x00\x00\x54\x81\x00\x00\xb0\x21\xdc\x47\xf9\x61\x00\x00\xb4\xf0\x03\x01\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x80\x00\x00\xd0\x00\x40\x00\x91\x81\x00\x00\xd0\x21\x40\x00\x91\x21\x00\x00\xcb\x22\xfc\x7f\xd3\x41\x0c\x81\x8b\x21\xfc\x41\x93\xc1\x00\x00\xb4\x82\x00\x00\xb0\x42\xfc\x47\xf9\x62\x00\x00\xb4\xf0\x03\x02\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\xfd\x7b\xbe\xa9\xfd\x03\x00\x91\xf3\x0b\x00\xf9\x93\x00\x00\xd0\x60\x42\x40\x39\x40\x01\x00\x35\x80\x00\x00\xb0\x00\xe0\x47\xf9\x80\x00\x00\xb4\x80\x00\x00\xd0\x00\x04\x40\xf9\x8d\xff\xff\x97\xd8\xff\xff\x97\x20\x00\x80\x52\x60\x42\x00\x39\xf3\x0b\x40\xf9\xfd\x7b\xc2\xa8\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\xdc\xff\xff\x17\xfd\x7b\xae\xa9\xfd\x03\x00\x91\x80\x00\x00\xb0\x00\xf0\x47\xf9\x01\x00\x40\xf9\xe1\x8f\x00\xf9\x01\x00\x80\xd2\x00\x00\x00\x90\x00\x00\x3b\x91\xaa\xff\xff\x97\x80\x00\x00\xb0\x00\xe8\x47\xf9\x01\x00\x40\xf9\xe0\x63\x00\x91\xe2\x03\x01\xaa\x01\x20\x80\x52\xa7\xff\xff\x97\xe2\x63\x00\x91\x00\x00\x00\x90\x01\x60\x3b\x91\xe0\x03\x02\xaa\x9a\xff\xff\x97\xe1\x03\x00\xaa\xe0\x63\x00\x91\x1f\x68\x21\x38\xe0\x63\x00\x91\x02\x00\x00\x94\xec\xff\xff\x17\xfd\x7b\xbd\xa9\xfd\x03\x00\x91\xe0\x0f\x00\xf9\x00\x00\x00\x90\x01\x80\x3b\x91\xe0\x0f\x40\xf9\x85\xff\xff\x97\x1f\x00\x00\x71\x61\x00\x00\x54\x33\x00\x00\x94\x2f\x00\x00\x14\xa2\x00\x80\x52\x00\x00\x00\x90\x01\xa0\x3b\x91\xe0\x0f\x40\xf9\x64\xff\xff\x97\x1f\x00\x00\x71\xe1\x00\x00\x54\xe0\x0f\x40\xf9\x00\x14\x00\x91\xe0\x17\x00\xf9\xe0\x17\x40\xf9\x3d\x00\x00\x94\x22\x00\x00\x14\x00\x00\x00\x90\x01\xc0\x3b\x91\xe0\x0f\x40\xf9\x70\xff\xff\x97\x1f\x00\x00\x71\x61\x00\x00\x54\x66\x00\x00\x94\x1a\x00\x00\x14\x00\x00\x00\x90\x01\xe0\x3b\x91\xe0\x0f\x40\xf9\x68\xff\xff\x97\x1f\x00\x00\x71\x61\x00\x00\x54\x76\x00\x00\x94\x12\x00\x00\x14\x00\x00\x00\x90\x01\x00\x3c\x91\xe0\x0f\x40\xf9\x60\xff\xff\x97\x1f\x00\x00\x71\x21\x01\x00\x54\x80\x00\x00\xb0\x00\xf4\x47\xf9\x00\x00\x40\xf9\x1f\x00\x00\xf1\x40\x00\x00\x54\x69\x00\x00\x94\x00\x00\x80\x52\x2a\xff\xff\x97\x00\x00\x00\x90\x00\x20\x3c\x91\x4f\xff\xff\x97\x1f\x20\x03\xd5\xfd\x7b\xc3\xa8\xc0\x03\x5f\xd6\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x00\x00\x00\x90\x00\x00\x3d\x91\x47\xff\xff\x97\x00\x00\x00\x90\x00\x40\x3d\x91\x44\xff\xff\x97\x00\x00\x00\x90\x00\x20\x3e\x91\x41\xff\xff\x97\x00\x00\x00\x90\x00\x00\x3f\x91\x3e\xff\xff\x97\x00\x00\x00\xb0\x00\x00\x00\x91\x3b\xff\xff\x97\x00\x00\x00\xb0\x00\xc0\x00\x91\x38\xff\xff\x97\x1f\x20\x03\xd5\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6\xfd\x7b\xbe\xa9\xfd\x03\x00\x91\xe0\x0f\x00\xf9\x80\x00\x00\xb0\x00\xf4\x47\xf9\x00\x00\x40\xf9\x1f\x00\x00\xf1\x40\x00\x00\x54\x41\x00\x00\x94\xe0\x0f\x40\xf9\x1e\xff\xff\x97\xe1\x03\x00\xaa\x80\x00\x00\xb0\x00\xe4\x47\xf9\x01\x00\x00\xf9\x80\x00\x00\xb0\x00\xe4\x47\xf9\x02\x00\x40\xf9\x00\x00\x00\xb0\x01\x80\x01\x91\xe0\x03\x02\xaa\x07\xff\xff\x97\xe1\x03\x00\xaa\x80\x00\x00\xb0\x00\xf4\x47\xf9\x01\x00\x00\xf9\x80\x00\x00\xb0\x00\xf4\x47\xf9\x00\x00\x40\xf9\x1f\x00\x00\xf1\x21\x01\x00\x54\x80\x00\x00\xb0\x00\xe4\x47\xf9\x00\x00\x40\xf9\xe1\x03\x00\xaa\x00\x00\x00\xb0\x00\xa0\x01\x91\x1f\xff\xff\x97\x08\x00\x00\x14\x80\x00\x00\xb0\x00\xe4\x47\xf9\x00\x00\x40\xf9\xe1\x03\x00\xaa\x00\x00\x00\xb0\x00\x20\x02\x91\x17\xff\xff\x97\x1f\x20\x03\xd5\xfd\x7b\xc2\xa8\xc0\x03\x5f\xd6\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x80\x00\x00\xb0\x00\xf4\x47\xf9\x00\x00\x40\xf9\x1f\x00\x00\xf1\xa1\x00\x00\x54\x00\x00\x00\xb0\x00\x80\x02\x91\xfa\xfe\xff\x97\x0c\x00\x00\x14\x80\x00\x00\xb0\x00\xf4\x47\xf9\x00\x00\x40\xf9\xe5\xfe\xff\x97\x80\x00\x00\xb0\x00\xe4\x47\xf9\x00\x00\x40\xf9\xe1\x03\x00\xaa\x00\x00\x00\xb0\x00\x00\x03\x91\xfe\xfe\xff\x97\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x80\x00\x00\xb0\x00\xf4\x47\xf9\x00\x00\x40\xf9\x1f\x00\x00\xf1\x40\x02\x00\x54\x80\x00\x00\xb0\x00\xf4\x47\xf9\x00\x00\x40\xf9\xc5\xfe\xff\x97\x80\x00\x00\xb0\x00\xe4\x47\xf9\x00\x00\x40\xf9\xe5\xfe\xff\x97\x80\x00\x00\xb0\x00\xf4\x47\xf9\x1f\x00\x00\xf9\x80\x00\x00\xb0\x00\xe4\x47\xf9\x1f\x00\x00\xf9\x00\x00\x00\xb0\x00\x80\x03\x91\xd4\xfe\xff\x97\x1f\x20\x03\xd5\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".fini", 0xEA0, "\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".rodata", 0xEB8, "\x01\x00\x02\x00\x00\x00\x00\x00\x45\x6e\x74\x65\x72\x20\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x3a\x20\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x68\x65\x6c\x70\x00\x00\x00\x00\x6f\x70\x65\x6e\x20\x00\x00\x00\x73\x61\x76\x65\x00\x00\x00\x00\x63\x6c\x6f\x73\x65\x00\x00\x00\x65\x78\x69\x74\x00\x00\x00\x00\x55\x6e\x6b\x6e\x6f\x77\x6e\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x2e\x20\x54\x79\x70\x65\x20\x27\x68\x65\x6c\x70\x27\x20\x66\x6f\x72\x20\x61\x20\x6c\x69\x73\x74\x20\x6f\x66\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x73\x2e\x00\x00\x00\x00\x43\x6f\x6d\x6d\x61\x6e\x64\x73\x3a\x00\x00\x00\x00\x00\x00\x00\x20\x20\x68\x65\x6c\x70\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x44\x69\x73\x70\x6c\x61\x79\x20\x74\x68\x69\x73\x20\x68\x65\x6c\x70\x20\x6d\x65\x73\x73\x61\x67\x65\x00\x00\x00\x00\x00\x00\x20\x20\x6f\x70\x65\x6e\x20\x3c\x66\x69\x6c\x65\x6e\x61\x6d\x65\x3e\x20\x20\x20\x20\x20\x20\x2d\x20\x4f\x70\x65\x6e\x20\x61\x20\x66\x69\x6c\x65\x20\x66\x6f\x72\x20\x65\x64\x69\x74\x69\x6e\x67\x00\x00\x00\x00\x00\x00\x00\x00\x20\x20\x73\x61\x76\x65\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x53\x61\x76\x65\x20\x63\x68\x61\x6e\x67\x65\x73\x20\x74\x6f\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x66\x69\x6c\x65\x00\x00\x00\x00\x00\x00\x00\x20\x20\x63\x6c\x6f\x73\x65\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x43\x6c\x6f\x73\x65\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x66\x69\x6c\x65\x00\x20\x20\x65\x78\x69\x74\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2d\x20\x45\x78\x69\x74\x20\x74\x68\x65\x20\x65\x64\x69\x74\x6f\x72\x00\x00\x00\x00\x00\x00\x00\x00\x72\x2b\x00\x00\x00\x00\x00\x00\x46\x61\x69\x6c\x65\x64\x20\x74\x6f\x20\x6f\x70\x65\x6e\x20\x66\x69\x6c\x65\x20\x27\x25\x73\x27\x0a\x00\x00\x00\x00\x00\x00\x00\x4f\x70\x65\x6e\x65\x64\x20\x66\x69\x6c\x65\x20\x27\x25\x73\x27\x0a\x00\x00\x00\x00\x00\x00\x00\x4e\x6f\x20\x66\x69\x6c\x65\x20\x69\x73\x20\x63\x75\x72\x72\x65\x6e\x74\x6c\x79\x20\x6f\x70\x65\x6e\x00\x00\x00\x00\x00\x00\x00\x53\x61\x76\x65\x64\x20\x63\x68\x61\x6e\x67\x65\x73\x20\x74\x6f\x20\x66\x69\x6c\x65\x20\x27\x25\x73\x27\x0a\x00\x00\x00\x00\x00\x43\x6c\x6f\x73\x65\x64\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x00"), -Section(".eh_frame_hdr", 0x10F0, "\x01\x1b\x03\x3b\x64\x00\x00\x00\x0b\x00\x00\x00\x50\xf9\xff\xff\x7c\x00\x00\x00\xa0\xf9\xff\xff\x90\x00\x00\x00\xd0\xf9\xff\xff\xa4\x00\x00\x00\x10\xfa\xff\xff\xb8\x00\x00\x00\x60\xfa\xff\xff\xdc\x00\x00\x00\x64\xfa\xff\xff\xf0\x00\x00\x00\xd4\xfa\xff\xff\x0c\x01\x00\x00\xc4\xfb\xff\xff\x2c\x01\x00\x00\x20\xfc\xff\xff\x4c\x01\x00\x00\xe4\xfc\xff\xff\x6c\x01\x00\x00\x44\xfd\xff\xff\x8c\x01\x00\x00"), -Section(".eh_frame", 0x1158, "\x10\x00\x00\x00\x00\x00\x00\x00\x01\x7a\x52\x00\x04\x78\x1e\x01\x1b\x0c\x1f\x00\x10\x00\x00\x00\x18\x00\x00\x00\xcc\xf8\xff\xff\x34\x00\x00\x00\x00\x41\x07\x1e\x10\x00\x00\x00\x2c\x00\x00\x00\x08\xf9\xff\xff\x30\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x40\x00\x00\x00\x24\xf9\xff\xff\x3c\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x54\x00\x00\x00\x50\xf9\xff\xff\x48\x00\x00\x00\x00\x41\x0e\x20\x9d\x04\x9e\x03\x42\x93\x02\x4e\xde\xdd\xd3\x0e\x00\x00\x00\x00\x10\x00\x00\x00\x78\x00\x00\x00\x7c\xf9\xff\xff\x04\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x8c\x00\x00\x00\x6c\xf9\xff\xff\x70\x00\x00\x00\x00\x41\x0e\xa0\x02\x9d\x24\x9e\x23\x00\x00\x00\x1c\x00\x00\x00\xa8\x00\x00\x00\xc0\xf9\xff\xff\xf0\x00\x00\x00\x00\x41\x0e\x30\x9d\x06\x9e\x05\x7a\xde\xdd\x0e\x00\x00\x00\x00\x1c\x00\x00\x00\xc8\x00\x00\x00\x90\xfa\xff\xff\x5c\x00\x00\x00\x00\x41\x0e\x10\x9d\x02\x9e\x01\x55\xde\xdd\x0e\x00\x00\x00\x00\x1c\x00\x00\x00\xe8\x00\x00\x00\xcc\xfa\xff\xff\xc4\x00\x00\x00\x00\x41\x0e\x20\x9d\x04\x9e\x03\x6f\xde\xdd\x0e\x00\x00\x00\x00\x1c\x00\x00\x00\x08\x01\x00\x00\x70\xfb\xff\xff\x60\x00\x00\x00\x00\x41\x0e\x10\x9d\x02\x9e\x01\x56\xde\xdd\x0e\x00\x00\x00\x00\x1c\x00\x00\x00\x28\x01\x00\x00\xb0\xfb\xff\xff\x6c\x00\x00\x00\x00\x41\x0e\x10\x9d\x02\x9e\x01\x59\xde\xdd\x0e\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".fini_array", 0x11D10, "\x00\x0b\x00\x00\x00\x00\x00\x00"), -Section(".dynamic", 0x11D18, "\x01\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x98\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x08\x09\x00\x00\x00\x00\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\xa0\x0e\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x08\x1d\x01\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x10\x1d\x01\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xf5\xfe\xff\x6f\x00\x00\x00\x00\x98\x02\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\xe0\x04\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\xb8\x02\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x09\x01\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x18\x1f\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x88\x07\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x68\x06\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x20\x01\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xfb\xff\xff\x6f\x00\x00\x00\x00\x01\x00\x00\x08\x00\x00\x00\x00\xfe\xff\xff\x6f\x00\x00\x00\x00\x18\x06\x00\x00\x00\x00\x00\x00\xff\xff\xff\x6f\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\xf0\xff\xff\x6f\x00\x00\x00\x00\xea\x05\x00\x00\x00\x00\x00\x00\xf9\xff\xff\x6f\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".got", 0x11F18, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x09\x00\x00\x00\x00\x00\x00\x20\x09\x00\x00\x00\x00\x00\x00\x20\x09\x00\x00\x00\x00\x00\x00\x20\x09\x00\x00\x00\x00\x00\x00\x20\x09\x00\x00\x00\x00\x00\x00\x20\x09\x00\x00\x00\x00\x00\x00\x20\x09\x00\x00\x00\x00\x00\x00\x20\x09\x00\x00\x00\x00\x00\x00\x20\x09\x00\x00\x00\x00\x00\x00\x20\x09\x00\x00\x00\x00\x00\x00\x20\x09\x00\x00\x00\x00\x00\x00\x20\x09\x00\x00\x00\x00\x00\x00\x20\x09\x00\x00\x00\x00\x00\x00\x20\x09\x00\x00\x00\x00\x00\x00\x20\x09\x00\x00\x00\x00\x00\x00\x20\x09\x00\x00\x00\x00\x00\x00\x18\x1d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x20\x01\x00\x00\x00\x00\x00\x54\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".data", 0x12000, "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x20\x01\x00\x00\x00\x00\x00"), -Section(".init_array", 0x11D08, "\x50\x0b\x00\x00\x00\x00\x00\x00")]), -Memmap([Annotation(Region(0x0,0x129F), Attr("segment","02 0 4768")), -Annotation(Region(0xA40,0xA73), Attr("symbol","\"_start\"")), -Annotation(Region(0x0,0xF9), Attr("section","\".shstrtab\"")), -Annotation(Region(0x0,0x36C), Attr("section","\".strtab\"")), -Annotation(Region(0x0,0xA37), Attr("section","\".symtab\"")), -Annotation(Region(0x0,0x2A), Attr("section","\".comment\"")), -Annotation(Region(0x238,0x252), Attr("section","\".interp\"")), -Annotation(Region(0x254,0x277), Attr("section","\".note.gnu.build-id\"")), -Annotation(Region(0x278,0x297), Attr("section","\".note.ABI-tag\"")), -Annotation(Region(0x298,0x2B3), Attr("section","\".gnu.hash\"")), -Annotation(Region(0x2B8,0x4DF), Attr("section","\".dynsym\"")), -Annotation(Region(0x4E0,0x5E8), Attr("section","\".dynstr\"")), -Annotation(Region(0x5EA,0x617), Attr("section","\".gnu.version\"")), -Annotation(Region(0x618,0x667), Attr("section","\".gnu.version_r\"")), -Annotation(Region(0x668,0x787), Attr("section","\".rela.dyn\"")), -Annotation(Region(0x788,0x907), Attr("section","\".rela.plt\"")), -Annotation(Region(0x908,0x91F), Attr("section","\".init\"")), -Annotation(Region(0x920,0xA3F), Attr("section","\".plt\"")), -Annotation(Region(0x908,0x91F), Attr("code-region","()")), -Annotation(Region(0x920,0xA3F), Attr("code-region","()")), -Annotation(Region(0xA40,0xA73), Attr("symbol-info","_start 0xA40 52")), -Annotation(Region(0xA74,0xA87), Attr("symbol","\"call_weak_fn\"")), -Annotation(Region(0xA74,0xA87), Attr("symbol-info","call_weak_fn 0xA74 20")), -Annotation(Region(0xB54,0xBC3), Attr("symbol","\"main\"")), -Annotation(Region(0xB54,0xBC3), Attr("symbol-info","main 0xB54 112")), -Annotation(Region(0xBC4,0xCB3), Attr("symbol","\"handleInput\"")), -Annotation(Region(0xA40,0xE9F), Attr("section","\".text\"")), -Annotation(Region(0xA40,0xE9F), Attr("code-region","()")), -Annotation(Region(0xBC4,0xCB3), Attr("symbol-info","handleInput 0xBC4 240")), -Annotation(Region(0xCB4,0xD0F), Attr("symbol","\"printHelp\"")), -Annotation(Region(0xCB4,0xD0F), Attr("symbol-info","printHelp 0xCB4 92")), -Annotation(Region(0xD10,0xDD3), Attr("symbol","\"openFile\"")), -Annotation(Region(0xD10,0xDD3), Attr("symbol-info","openFile 0xD10 196")), -Annotation(Region(0xDD4,0xE33), Attr("symbol","\"saveFile\"")), -Annotation(Region(0xDD4,0xE33), Attr("symbol-info","saveFile 0xDD4 96")), -Annotation(Region(0xE34,0xE9F), Attr("symbol","\"closeFile\"")), -Annotation(Region(0xE34,0xE9F), Attr("symbol-info","closeFile 0xE34 108")), -Annotation(Region(0xEA0,0xEB3), Attr("section","\".fini\"")), -Annotation(Region(0xEA0,0xEB3), Attr("code-region","()")), -Annotation(Region(0xEB8,0x10EF), Attr("section","\".rodata\"")), -Annotation(Region(0x10F0,0x1153), Attr("section","\".eh_frame_hdr\"")), -Annotation(Region(0x1158,0x129F), Attr("section","\".eh_frame\"")), -Annotation(Region(0x11D08,0x1200F), Attr("segment","03 0x11D08 800")), -Annotation(Region(0x11D10,0x11D17), Attr("section","\".fini_array\"")), -Annotation(Region(0x11D18,0x11F17), Attr("section","\".dynamic\"")), -Annotation(Region(0x11F18,0x11FFF), Attr("section","\".got\"")), -Annotation(Region(0x12000,0x1200F), Attr("section","\".data\"")), -Annotation(Region(0x11D08,0x11D0F), Attr("section","\".init_array\""))]), -Program(Tid(4_755, "%00001293"), Attrs([]), - Subs([Sub(Tid(4_705, "@__cxa_finalize"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x960"), -Attr("stub","()")]), "__cxa_finalize", Args([Arg(Tid(4_756, "%00001294"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("__cxa_finalize_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(3_207, "@__cxa_finalize"), - Attrs([Attr("address","0x960")]), Phis([]), -Defs([Def(Tid(3_669, "%00000e55"), Attrs([Attr("address","0x960"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_676, "%00000e5c"), Attrs([Attr("address","0x964"), -Attr("insn","ldr x17, [x16, #0xf40]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3904,64)),LittleEndian(),64)), -Def(Tid(3_682, "%00000e62"), Attrs([Attr("address","0x968"), -Attr("insn","add x16, x16, #0xf40")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3904,64)))]), Jmps([Call(Tid(3_687, "%00000e67"), - Attrs([Attr("address","0x96C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), -Sub(Tid(4_706, "@__do_global_dtors_aux"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xB00")]), - "__do_global_dtors_aux", Args([Arg(Tid(4_757, "%00001295"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("__do_global_dtors_aux_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_434, "@__do_global_dtors_aux"), - Attrs([Attr("address","0xB00")]), Phis([]), -Defs([Def(Tid(1_438, "%0000059e"), Attrs([Attr("address","0xB00"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("#3",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(1_444, "%000005a4"), Attrs([Attr("address","0xB00"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#3",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_450, "%000005aa"), Attrs([Attr("address","0xB00"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#3",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_454, "%000005ae"), Attrs([Attr("address","0xB00"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("R31",Imm(64)), -Var("#3",Imm(64))), Def(Tid(1_460, "%000005b4"), - Attrs([Attr("address","0xB04"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(1_468, "%000005bc"), - Attrs([Attr("address","0xB08"), Attr("insn","str x19, [sp, #0x10]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),Var("R19",Imm(64)),LittleEndian(),64)), -Def(Tid(1_473, "%000005c1"), Attrs([Attr("address","0xB0C"), -Attr("insn","adrp x19, #73728")]), Var("R19",Imm(64)), Int(73728,64)), -Def(Tid(1_480, "%000005c8"), Attrs([Attr("address","0xB10"), -Attr("insn","ldrb w0, [x19, #0x10]")]), Var("R0",Imm(64)), -UNSIGNED(64,Load(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(16,64)),LittleEndian(),8)))]), -Jmps([Goto(Tid(1_487, "%000005cf"), Attrs([Attr("address","0xB14"), -Attr("insn","cbnz w0, #0x28")]), - NEQ(Extract(31,0,Var("R0",Imm(64))),Int(0,32)), -Direct(Tid(1_485, "%000005cd"))), Goto(Tid(4_707, "%00001263"), Attrs([]), - Int(1,1), Direct(Tid(3_152, "%00000c50")))])), Blk(Tid(3_152, "%00000c50"), - Attrs([Attr("address","0xB18")]), Phis([]), -Defs([Def(Tid(3_155, "%00000c53"), Attrs([Attr("address","0xB18"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(3_162, "%00000c5a"), Attrs([Attr("address","0xB1C"), -Attr("insn","ldr x0, [x0, #0xfc0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4032,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(3_168, "%00000c60"), Attrs([Attr("address","0xB20"), -Attr("insn","cbz x0, #0x10")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(3_166, "%00000c5e"))), Goto(Tid(4_708, "%00001264"), Attrs([]), - Int(1,1), Direct(Tid(3_191, "%00000c77")))])), Blk(Tid(3_191, "%00000c77"), - Attrs([Attr("address","0xB24")]), Phis([]), -Defs([Def(Tid(3_194, "%00000c7a"), Attrs([Attr("address","0xB24"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(3_201, "%00000c81"), Attrs([Attr("address","0xB28"), -Attr("insn","ldr x0, [x0, #0x8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(3_206, "%00000c86"), Attrs([Attr("address","0xB2C"), -Attr("insn","bl #-0x1cc")]), Var("R30",Imm(64)), Int(2864,64))]), -Jmps([Call(Tid(3_209, "%00000c89"), Attrs([Attr("address","0xB2C"), -Attr("insn","bl #-0x1cc")]), Int(1,1), -(Direct(Tid(4_705, "@__cxa_finalize")),Direct(Tid(3_166, "%00000c5e"))))])), -Blk(Tid(3_166, "%00000c5e"), Attrs([Attr("address","0xB30")]), Phis([]), -Defs([Def(Tid(3_174, "%00000c66"), Attrs([Attr("address","0xB30"), -Attr("insn","bl #-0xa0")]), Var("R30",Imm(64)), Int(2868,64))]), -Jmps([Call(Tid(3_176, "%00000c68"), Attrs([Attr("address","0xB30"), -Attr("insn","bl #-0xa0")]), Int(1,1), -(Direct(Tid(4_721, "@deregister_tm_clones")),Direct(Tid(3_178, "%00000c6a"))))])), -Blk(Tid(3_178, "%00000c6a"), Attrs([Attr("address","0xB34")]), Phis([]), -Defs([Def(Tid(3_181, "%00000c6d"), Attrs([Attr("address","0xB34"), -Attr("insn","mov w0, #0x1")]), Var("R0",Imm(64)), Int(1,64)), -Def(Tid(3_189, "%00000c75"), Attrs([Attr("address","0xB38"), -Attr("insn","strb w0, [x19, #0x10]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(16,64)),Extract(7,0,Var("R0",Imm(64))),LittleEndian(),8))]), -Jmps([Goto(Tid(4_709, "%00001265"), Attrs([]), Int(1,1), -Direct(Tid(1_485, "%000005cd")))])), Blk(Tid(1_485, "%000005cd"), - Attrs([Attr("address","0xB3C")]), Phis([]), -Defs([Def(Tid(1_495, "%000005d7"), Attrs([Attr("address","0xB3C"), -Attr("insn","ldr x19, [sp, #0x10]")]), Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),LittleEndian(),64)), -Def(Tid(1_502, "%000005de"), Attrs([Attr("address","0xB40"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_507, "%000005e3"), Attrs([Attr("address","0xB40"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_511, "%000005e7"), Attrs([Attr("address","0xB40"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(1_516, "%000005ec"), - Attrs([Attr("address","0xB44"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_710, "@__libc_start_main"), - Attrs([Attr("c.proto","signed (*)(signed (*)(signed , char** , char** );* main, signed , char** , \nvoid* auxv)"), -Attr("address","0x950"), Attr("stub","()")]), "__libc_start_main", - Args([Arg(Tid(4_758, "%00001296"), - Attrs([Attr("c.layout","**[ : 64]"), -Attr("c.data","Top:u64 ptr ptr"), -Attr("c.type","signed (*)(signed , char** , char** );*")]), - Var("__libc_start_main_main",Imm(64)), Var("R0",Imm(64)), In()), -Arg(Tid(4_759, "%00001297"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("__libc_start_main_arg2",Imm(32)), LOW(32,Var("R1",Imm(64))), In()), -Arg(Tid(4_760, "%00001298"), Attrs([Attr("c.layout","**[char : 8]"), -Attr("c.data","Top:u8 ptr ptr"), Attr("c.type","char**")]), - Var("__libc_start_main_arg3",Imm(64)), Var("R2",Imm(64)), Both()), -Arg(Tid(4_761, "%00001299"), Attrs([Attr("c.layout","*[ : 8]"), -Attr("c.data","{} ptr"), Attr("c.type","void*")]), - Var("__libc_start_main_auxv",Imm(64)), Var("R3",Imm(64)), Both()), -Arg(Tid(4_762, "%0000129a"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("__libc_start_main_result",Imm(32)), LOW(32,Var("R0",Imm(64))), -Out())]), Blks([Blk(Tid(1_267, "@__libc_start_main"), - Attrs([Attr("address","0x950")]), Phis([]), -Defs([Def(Tid(3_647, "%00000e3f"), Attrs([Attr("address","0x950"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_654, "%00000e46"), Attrs([Attr("address","0x954"), -Attr("insn","ldr x17, [x16, #0xf38]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3896,64)),LittleEndian(),64)), -Def(Tid(3_660, "%00000e4c"), Attrs([Attr("address","0x958"), -Attr("insn","add x16, x16, #0xf38")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3896,64)))]), Jmps([Call(Tid(3_665, "%00000e51"), - Attrs([Attr("address","0x95C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_711, "@_fini"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xEA0")]), - "_fini", Args([Arg(Tid(4_763, "%0000129b"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_fini_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(31, "@_fini"), - Attrs([Attr("address","0xEA0")]), Phis([]), Defs([Def(Tid(37, "%00000025"), - Attrs([Attr("address","0xEA4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#0",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(43, "%0000002b"), Attrs([Attr("address","0xEA4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#0",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(49, "%00000031"), Attrs([Attr("address","0xEA4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#0",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(53, "%00000035"), Attrs([Attr("address","0xEA4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#0",Imm(64))), Def(Tid(59, "%0000003b"), Attrs([Attr("address","0xEA8"), -Attr("insn","mov x29, sp")]), Var("R29",Imm(64)), Var("R31",Imm(64))), -Def(Tid(66, "%00000042"), Attrs([Attr("address","0xEAC"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(71, "%00000047"), Attrs([Attr("address","0xEAC"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(75, "%0000004b"), Attrs([Attr("address","0xEAC"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(80, "%00000050"), - Attrs([Attr("address","0xEB0"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_712, "@_init"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x908")]), - "_init", Args([Arg(Tid(4_764, "%0000129c"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_init_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(4_288, "@_init"), - Attrs([Attr("address","0x908")]), Phis([]), -Defs([Def(Tid(4_294, "%000010c6"), Attrs([Attr("address","0x90C"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#21",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(4_300, "%000010cc"), Attrs([Attr("address","0x90C"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#21",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(4_306, "%000010d2"), Attrs([Attr("address","0x90C"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#21",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(4_310, "%000010d6"), Attrs([Attr("address","0x90C"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#21",Imm(64))), Def(Tid(4_316, "%000010dc"), - Attrs([Attr("address","0x910"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(4_321, "%000010e1"), - Attrs([Attr("address","0x914"), Attr("insn","bl #0x160")]), - Var("R30",Imm(64)), Int(2328,64))]), Jmps([Call(Tid(4_323, "%000010e3"), - Attrs([Attr("address","0x914"), Attr("insn","bl #0x160")]), Int(1,1), -(Direct(Tid(4_717, "@call_weak_fn")),Direct(Tid(4_325, "%000010e5"))))])), -Blk(Tid(4_325, "%000010e5"), Attrs([Attr("address","0x918")]), Phis([]), -Defs([Def(Tid(4_330, "%000010ea"), Attrs([Attr("address","0x918"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(4_335, "%000010ef"), Attrs([Attr("address","0x918"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(4_339, "%000010f3"), Attrs([Attr("address","0x918"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(4_344, "%000010f8"), - Attrs([Attr("address","0x91C"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_713, "@_start"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xA40"), -Attr("stub","()"), Attr("entry-point","()")]), "_start", - Args([Arg(Tid(4_765, "%0000129d"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("_start_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_204, "@_start"), Attrs([Attr("address","0xA40")]), Phis([]), -Defs([Def(Tid(1_209, "%000004b9"), Attrs([Attr("address","0xA44"), -Attr("insn","mov x29, #0x0")]), Var("R29",Imm(64)), Int(0,64)), -Def(Tid(1_214, "%000004be"), Attrs([Attr("address","0xA48"), -Attr("insn","mov x30, #0x0")]), Var("R30",Imm(64)), Int(0,64)), -Def(Tid(1_220, "%000004c4"), Attrs([Attr("address","0xA4C"), -Attr("insn","mov x5, x0")]), Var("R5",Imm(64)), Var("R0",Imm(64))), -Def(Tid(1_227, "%000004cb"), Attrs([Attr("address","0xA50"), -Attr("insn","ldr x1, [sp]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_233, "%000004d1"), Attrs([Attr("address","0xA54"), -Attr("insn","add x2, sp, #0x8")]), Var("R2",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(8,64))), Def(Tid(1_239, "%000004d7"), - Attrs([Attr("address","0xA58"), Attr("insn","mov x6, sp")]), - Var("R6",Imm(64)), Var("R31",Imm(64))), Def(Tid(1_244, "%000004dc"), - Attrs([Attr("address","0xA5C"), Attr("insn","adrp x0, #69632")]), - Var("R0",Imm(64)), Int(69632,64)), Def(Tid(1_251, "%000004e3"), - Attrs([Attr("address","0xA60"), Attr("insn","ldr x0, [x0, #0xff0]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4080,64)),LittleEndian(),64)), -Def(Tid(1_256, "%000004e8"), Attrs([Attr("address","0xA64"), -Attr("insn","mov x3, #0x0")]), Var("R3",Imm(64)), Int(0,64)), -Def(Tid(1_261, "%000004ed"), Attrs([Attr("address","0xA68"), -Attr("insn","mov x4, #0x0")]), Var("R4",Imm(64)), Int(0,64)), -Def(Tid(1_266, "%000004f2"), Attrs([Attr("address","0xA6C"), -Attr("insn","bl #-0x11c")]), Var("R30",Imm(64)), Int(2672,64))]), -Jmps([Call(Tid(1_269, "%000004f5"), Attrs([Attr("address","0xA6C"), -Attr("insn","bl #-0x11c")]), Int(1,1), -(Direct(Tid(4_710, "@__libc_start_main")),Direct(Tid(1_271, "%000004f7"))))])), -Blk(Tid(1_271, "%000004f7"), Attrs([Attr("address","0xA70")]), Phis([]), -Defs([Def(Tid(1_274, "%000004fa"), Attrs([Attr("address","0xA70"), -Attr("insn","bl #-0xa0")]), Var("R30",Imm(64)), Int(2676,64))]), -Jmps([Call(Tid(1_277, "%000004fd"), Attrs([Attr("address","0xA70"), -Attr("insn","bl #-0xa0")]), Int(1,1), -(Direct(Tid(4_716, "@abort")),Direct(Tid(4_714, "%0000126a"))))])), -Blk(Tid(4_714, "%0000126a"), Attrs([]), Phis([]), Defs([]), -Jmps([Call(Tid(4_715, "%0000126b"), Attrs([]), Int(1,1), -(Direct(Tid(4_717, "@call_weak_fn")),))]))])), Sub(Tid(4_716, "@abort"), - Attrs([Attr("noreturn","()"), Attr("c.proto","void (*)(void)"), -Attr("address","0x9D0"), Attr("stub","()")]), "abort", Args([]), -Blks([Blk(Tid(1_275, "@abort"), Attrs([Attr("address","0x9D0")]), Phis([]), -Defs([Def(Tid(3_823, "%00000eef"), Attrs([Attr("address","0x9D0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_830, "%00000ef6"), Attrs([Attr("address","0x9D4"), -Attr("insn","ldr x17, [x16, #0xf78]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3960,64)),LittleEndian(),64)), -Def(Tid(3_836, "%00000efc"), Attrs([Attr("address","0x9D8"), -Attr("insn","add x16, x16, #0xf78")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3960,64)))]), Jmps([Call(Tid(3_841, "%00000f01"), - Attrs([Attr("address","0x9DC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_717, "@call_weak_fn"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xA74")]), - "call_weak_fn", Args([Arg(Tid(4_766, "%0000129e"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("call_weak_fn_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_279, "@call_weak_fn"), - Attrs([Attr("address","0xA74")]), Phis([]), -Defs([Def(Tid(1_282, "%00000502"), Attrs([Attr("address","0xA74"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(1_289, "%00000509"), Attrs([Attr("address","0xA78"), -Attr("insn","ldr x0, [x0, #0xfd8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4056,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(1_295, "%0000050f"), Attrs([Attr("address","0xA7C"), -Attr("insn","cbz x0, #0x8")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(1_293, "%0000050d"))), Goto(Tid(4_718, "%0000126e"), Attrs([]), - Int(1,1), Direct(Tid(3_271, "%00000cc7")))])), Blk(Tid(1_293, "%0000050d"), - Attrs([Attr("address","0xA84")]), Phis([]), Defs([]), -Jmps([Call(Tid(1_301, "%00000515"), Attrs([Attr("address","0xA84"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(3_271, "%00000cc7"), Attrs([Attr("address","0xA80")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_274, "%00000cca"), Attrs([Attr("address","0xA80"), -Attr("insn","b #-0xc0")]), Int(1,1), -Direct(Tid(3_272, "@__gmon_start__")))])), Blk(Tid(3_272, "@__gmon_start__"), - Attrs([Attr("address","0x9C0")]), Phis([]), -Defs([Def(Tid(3_801, "%00000ed9"), Attrs([Attr("address","0x9C0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_808, "%00000ee0"), Attrs([Attr("address","0x9C4"), -Attr("insn","ldr x17, [x16, #0xf70]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3952,64)),LittleEndian(),64)), -Def(Tid(3_814, "%00000ee6"), Attrs([Attr("address","0x9C8"), -Attr("insn","add x16, x16, #0xf70")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3952,64)))]), Jmps([Call(Tid(3_819, "%00000eeb"), - Attrs([Attr("address","0x9CC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_719, "@closeFile"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xE34")]), - "closeFile", Args([Arg(Tid(4_767, "%0000129f"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("closeFile_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_719, "@closeFile"), - Attrs([Attr("address","0xE34")]), Phis([]), -Defs([Def(Tid(2_723, "%00000aa3"), Attrs([Attr("address","0xE34"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#17",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(2_729, "%00000aa9"), Attrs([Attr("address","0xE34"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#17",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(2_735, "%00000aaf"), Attrs([Attr("address","0xE34"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#17",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(2_739, "%00000ab3"), Attrs([Attr("address","0xE34"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#17",Imm(64))), Def(Tid(2_745, "%00000ab9"), - Attrs([Attr("address","0xE38"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(2_750, "%00000abe"), - Attrs([Attr("address","0xE3C"), Attr("insn","adrp x0, #69632")]), - Var("R0",Imm(64)), Int(69632,64)), Def(Tid(2_757, "%00000ac5"), - Attrs([Attr("address","0xE40"), Attr("insn","ldr x0, [x0, #0xfe8]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4072,64)),LittleEndian(),64)), -Def(Tid(2_764, "%00000acc"), Attrs([Attr("address","0xE44"), -Attr("insn","ldr x0, [x0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_770, "%00000ad2"), Attrs([Attr("address","0xE48"), -Attr("insn","cmp x0, #0x0")]), Var("#18",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(18446744073709551615,64))), -Def(Tid(2_775, "%00000ad7"), Attrs([Attr("address","0xE48"), -Attr("insn","cmp x0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#18",Imm(64)),Int(1,64))),PLUS(SIGNED(65,Var("R0",Imm(64))),Int(0,65)))), -Def(Tid(2_780, "%00000adc"), Attrs([Attr("address","0xE48"), -Attr("insn","cmp x0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#18",Imm(64)),Int(1,64))),PLUS(UNSIGNED(65,Var("R0",Imm(64))),Int(18446744073709551616,65)))), -Def(Tid(2_784, "%00000ae0"), Attrs([Attr("address","0xE48"), -Attr("insn","cmp x0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#18",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(2_788, "%00000ae4"), Attrs([Attr("address","0xE48"), -Attr("insn","cmp x0, #0x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#18",Imm(64)),Int(1,64))))]), -Jmps([Goto(Tid(2_794, "%00000aea"), Attrs([Attr("address","0xE4C"), -Attr("insn","b.eq #0x48")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(2_792, "%00000ae8"))), Goto(Tid(4_720, "%00001270"), Attrs([]), - Int(1,1), Direct(Tid(2_820, "%00000b04")))])), Blk(Tid(2_820, "%00000b04"), - Attrs([Attr("address","0xE50")]), Phis([]), -Defs([Def(Tid(2_823, "%00000b07"), Attrs([Attr("address","0xE50"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(2_830, "%00000b0e"), Attrs([Attr("address","0xE54"), -Attr("insn","ldr x0, [x0, #0xfe8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4072,64)),LittleEndian(),64)), -Def(Tid(2_837, "%00000b15"), Attrs([Attr("address","0xE58"), -Attr("insn","ldr x0, [x0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_842, "%00000b1a"), Attrs([Attr("address","0xE5C"), -Attr("insn","bl #-0x4ec")]), Var("R30",Imm(64)), Int(3680,64))]), -Jmps([Call(Tid(2_845, "%00000b1d"), Attrs([Attr("address","0xE5C"), -Attr("insn","bl #-0x4ec")]), Int(1,1), -(Direct(Tid(4_725, "@fclose")),Direct(Tid(2_847, "%00000b1f"))))])), -Blk(Tid(2_847, "%00000b1f"), Attrs([Attr("address","0xE60")]), Phis([]), -Defs([Def(Tid(2_850, "%00000b22"), Attrs([Attr("address","0xE60"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(2_857, "%00000b29"), Attrs([Attr("address","0xE64"), -Attr("insn","ldr x0, [x0, #0xfc8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4040,64)),LittleEndian(),64)), -Def(Tid(2_864, "%00000b30"), Attrs([Attr("address","0xE68"), -Attr("insn","ldr x0, [x0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_869, "%00000b35"), Attrs([Attr("address","0xE6C"), -Attr("insn","bl #-0x46c")]), Var("R30",Imm(64)), Int(3696,64))]), -Jmps([Call(Tid(2_872, "%00000b38"), Attrs([Attr("address","0xE6C"), -Attr("insn","bl #-0x46c")]), Int(1,1), -(Direct(Tid(4_729, "@free")),Direct(Tid(2_874, "%00000b3a"))))])), -Blk(Tid(2_874, "%00000b3a"), Attrs([Attr("address","0xE70")]), Phis([]), -Defs([Def(Tid(2_877, "%00000b3d"), Attrs([Attr("address","0xE70"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(2_884, "%00000b44"), Attrs([Attr("address","0xE74"), -Attr("insn","ldr x0, [x0, #0xfe8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4072,64)),LittleEndian(),64)), -Def(Tid(2_891, "%00000b4b"), Attrs([Attr("address","0xE78"), -Attr("insn","str xzr, [x0]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("R0",Imm(64)),Int(0,64),LittleEndian(),64)), -Def(Tid(2_896, "%00000b50"), Attrs([Attr("address","0xE7C"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(2_903, "%00000b57"), Attrs([Attr("address","0xE80"), -Attr("insn","ldr x0, [x0, #0xfc8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4040,64)),LittleEndian(),64)), -Def(Tid(2_910, "%00000b5e"), Attrs([Attr("address","0xE84"), -Attr("insn","str xzr, [x0]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("R0",Imm(64)),Int(0,64),LittleEndian(),64)), -Def(Tid(2_915, "%00000b63"), Attrs([Attr("address","0xE88"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_921, "%00000b69"), Attrs([Attr("address","0xE8C"), -Attr("insn","add x0, x0, #0xe0")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(224,64))), Def(Tid(2_926, "%00000b6e"), - Attrs([Attr("address","0xE90"), Attr("insn","bl #-0x4b0")]), - Var("R30",Imm(64)), Int(3732,64))]), Jmps([Call(Tid(2_928, "%00000b70"), - Attrs([Attr("address","0xE90"), Attr("insn","bl #-0x4b0")]), Int(1,1), -(Direct(Tid(4_744, "@puts")),Direct(Tid(2_792, "%00000ae8"))))])), -Blk(Tid(2_792, "%00000ae8"), Attrs([Attr("address","0xE94")]), Phis([]), -Defs([Def(Tid(2_804, "%00000af4"), Attrs([Attr("address","0xE98"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_809, "%00000af9"), Attrs([Attr("address","0xE98"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_813, "%00000afd"), Attrs([Attr("address","0xE98"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(2_818, "%00000b02"), - Attrs([Attr("address","0xE9C"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), -Sub(Tid(4_721, "@deregister_tm_clones"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xA90")]), - "deregister_tm_clones", Args([Arg(Tid(4_768, "%000012a0"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("deregister_tm_clones_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_307, "@deregister_tm_clones"), - Attrs([Attr("address","0xA90")]), Phis([]), -Defs([Def(Tid(1_310, "%0000051e"), Attrs([Attr("address","0xA90"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(1_316, "%00000524"), Attrs([Attr("address","0xA94"), -Attr("insn","add x0, x0, #0x10")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(16,64))), Def(Tid(1_321, "%00000529"), - Attrs([Attr("address","0xA98"), Attr("insn","adrp x1, #73728")]), - Var("R1",Imm(64)), Int(73728,64)), Def(Tid(1_327, "%0000052f"), - Attrs([Attr("address","0xA9C"), Attr("insn","add x1, x1, #0x10")]), - Var("R1",Imm(64)), PLUS(Var("R1",Imm(64)),Int(16,64))), -Def(Tid(1_333, "%00000535"), Attrs([Attr("address","0xAA0"), -Attr("insn","cmp x1, x0")]), Var("#1",Imm(64)), NOT(Var("R0",Imm(64)))), -Def(Tid(1_338, "%0000053a"), Attrs([Attr("address","0xAA0"), -Attr("insn","cmp x1, x0")]), Var("#2",Imm(64)), -PLUS(Var("R1",Imm(64)),NOT(Var("R0",Imm(64))))), Def(Tid(1_344, "%00000540"), - Attrs([Attr("address","0xAA0"), Attr("insn","cmp x1, x0")]), - Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#2",Imm(64)),Int(1,64))),PLUS(PLUS(SIGNED(65,Var("R1",Imm(64))),SIGNED(65,Var("#1",Imm(64)))),Int(1,65)))), -Def(Tid(1_350, "%00000546"), Attrs([Attr("address","0xAA0"), -Attr("insn","cmp x1, x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#2",Imm(64)),Int(1,64))),PLUS(PLUS(UNSIGNED(65,Var("R1",Imm(64))),UNSIGNED(65,Var("#1",Imm(64)))),Int(1,65)))), -Def(Tid(1_354, "%0000054a"), Attrs([Attr("address","0xAA0"), -Attr("insn","cmp x1, x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#2",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(1_358, "%0000054e"), Attrs([Attr("address","0xAA0"), -Attr("insn","cmp x1, x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#2",Imm(64)),Int(1,64))))]), -Jmps([Goto(Tid(1_364, "%00000554"), Attrs([Attr("address","0xAA4"), -Attr("insn","b.eq #0x18")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(1_362, "%00000552"))), Goto(Tid(4_722, "%00001272"), Attrs([]), - Int(1,1), Direct(Tid(3_241, "%00000ca9")))])), Blk(Tid(3_241, "%00000ca9"), - Attrs([Attr("address","0xAA8")]), Phis([]), -Defs([Def(Tid(3_244, "%00000cac"), Attrs([Attr("address","0xAA8"), -Attr("insn","adrp x1, #69632")]), Var("R1",Imm(64)), Int(69632,64)), -Def(Tid(3_251, "%00000cb3"), Attrs([Attr("address","0xAAC"), -Attr("insn","ldr x1, [x1, #0xfb8]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R1",Imm(64)),Int(4024,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(3_256, "%00000cb8"), Attrs([Attr("address","0xAB0"), -Attr("insn","cbz x1, #0xc")]), EQ(Var("R1",Imm(64)),Int(0,64)), -Direct(Tid(1_362, "%00000552"))), Goto(Tid(4_723, "%00001273"), Attrs([]), - Int(1,1), Direct(Tid(3_260, "%00000cbc")))])), Blk(Tid(1_362, "%00000552"), - Attrs([Attr("address","0xABC")]), Phis([]), Defs([]), -Jmps([Call(Tid(1_370, "%0000055a"), Attrs([Attr("address","0xABC"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(3_260, "%00000cbc"), Attrs([Attr("address","0xAB4")]), Phis([]), -Defs([Def(Tid(3_264, "%00000cc0"), Attrs([Attr("address","0xAB4"), -Attr("insn","mov x16, x1")]), Var("R16",Imm(64)), Var("R1",Imm(64)))]), -Jmps([Call(Tid(3_269, "%00000cc5"), Attrs([Attr("address","0xAB8"), -Attr("insn","br x16")]), Int(1,1), (Indirect(Var("R16",Imm(64))),))]))])), -Sub(Tid(4_724, "@exit"), Attrs([Attr("noreturn","()"), -Attr("c.proto","void (*)(signed code)"), Attr("address","0x940"), -Attr("stub","()")]), "exit", Args([Arg(Tid(4_769, "%000012a1"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("exit_code",Imm(32)), -LOW(32,Var("R0",Imm(64))), In())]), Blks([Blk(Tid(3_065, "@exit"), - Attrs([Attr("address","0x940")]), Phis([]), -Defs([Def(Tid(3_625, "%00000e29"), Attrs([Attr("address","0x940"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_632, "%00000e30"), Attrs([Attr("address","0x944"), -Attr("insn","ldr x17, [x16, #0xf30]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3888,64)),LittleEndian(),64)), -Def(Tid(3_638, "%00000e36"), Attrs([Attr("address","0x948"), -Attr("insn","add x16, x16, #0xf30")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3888,64)))]), Jmps([Call(Tid(3_643, "%00000e3b"), - Attrs([Attr("address","0x94C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_725, "@fclose"), - Attrs([Attr("c.proto","signed (*)(void** fp)"), Attr("address","0x970"), -Attr("stub","()")]), "fclose", Args([Arg(Tid(4_770, "%000012a2"), - Attrs([Attr("c.layout","**[ : 8]"), Attr("c.data","{} ptr ptr"), -Attr("c.type","void**")]), Var("fclose_fp",Imm(64)), Var("R0",Imm(64)), -Both()), Arg(Tid(4_771, "%000012a3"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("fclose_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_843, "@fclose"), - Attrs([Attr("address","0x970")]), Phis([]), -Defs([Def(Tid(3_691, "%00000e6b"), Attrs([Attr("address","0x970"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_698, "%00000e72"), Attrs([Attr("address","0x974"), -Attr("insn","ldr x17, [x16, #0xf48]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3912,64)),LittleEndian(),64)), -Def(Tid(3_704, "%00000e78"), Attrs([Attr("address","0x978"), -Attr("insn","add x16, x16, #0xf48")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3912,64)))]), Jmps([Call(Tid(3_709, "%00000e7d"), - Attrs([Attr("address","0x97C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_726, "@fgets"), - Attrs([Attr("c.proto","char* (*)(char restrict * s, signed size, void* restrict * stream)"), -Attr("address","0xA30"), Attr("stub","()")]), "fgets", - Args([Arg(Tid(4_772, "%000012a4"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type","char restrict *")]), - Var("fgets_s",Imm(64)), Var("R0",Imm(64)), Both()), -Arg(Tid(4_773, "%000012a5"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("fgets_size",Imm(32)), LOW(32,Var("R1",Imm(64))), In()), -Arg(Tid(4_774, "%000012a6"), Attrs([Attr("c.layout","**[ : 8]"), -Attr("c.data","{} ptr ptr"), Attr("c.type","void* restrict *")]), - Var("fgets_stream",Imm(64)), Var("R2",Imm(64)), Both()), -Arg(Tid(4_775, "%000012a7"), Attrs([Attr("warn-unused","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type","char*")]), Var("fgets_result",Imm(64)), Var("R0",Imm(64)), -Out())]), Blks([Blk(Tid(1_645, "@fgets"), Attrs([Attr("address","0xA30")]), - Phis([]), Defs([Def(Tid(3_955, "%00000f73"), Attrs([Attr("address","0xA30"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_962, "%00000f7a"), Attrs([Attr("address","0xA34"), -Attr("insn","ldr x17, [x16, #0xfa8]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(4008,64)),LittleEndian(),64)), -Def(Tid(3_968, "%00000f80"), Attrs([Attr("address","0xA38"), -Attr("insn","add x16, x16, #0xfa8")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(4008,64)))]), Jmps([Call(Tid(3_973, "%00000f85"), - Attrs([Attr("address","0xA3C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_727, "@fopen"), - Attrs([Attr("c.proto","void** (*)( const char restrict * path, const char restrict * mode)"), -Attr("address","0x980"), Attr("stub","()")]), "fopen", - Args([Arg(Tid(4_776, "%000012a8"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char restrict *")]), - Var("fopen_path",Imm(64)), Var("R0",Imm(64)), In()), -Arg(Tid(4_777, "%000012a9"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char restrict *")]), - Var("fopen_mode",Imm(64)), Var("R1",Imm(64)), In()), -Arg(Tid(4_778, "%000012aa"), Attrs([Attr("warn-unused","()"), -Attr("c.layout","**[ : 8]"), Attr("c.data","{} ptr ptr"), -Attr("c.type","void**")]), Var("fopen_result",Imm(64)), Var("R0",Imm(64)), -Out())]), Blks([Blk(Tid(2_404, "@fopen"), Attrs([Attr("address","0x980")]), - Phis([]), Defs([Def(Tid(3_713, "%00000e81"), Attrs([Attr("address","0x980"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_720, "%00000e88"), Attrs([Attr("address","0x984"), -Attr("insn","ldr x17, [x16, #0xf50]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3920,64)),LittleEndian(),64)), -Def(Tid(3_726, "%00000e8e"), Attrs([Attr("address","0x988"), -Attr("insn","add x16, x16, #0xf50")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3920,64)))]), Jmps([Call(Tid(3_731, "%00000e93"), - Attrs([Attr("address","0x98C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_728, "@frame_dummy"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xB50")]), - "frame_dummy", Args([Arg(Tid(4_779, "%000012ab"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("frame_dummy_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_522, "@frame_dummy"), - Attrs([Attr("address","0xB50")]), Phis([]), Defs([]), -Jmps([Call(Tid(1_524, "%000005f4"), Attrs([Attr("address","0xB50"), -Attr("insn","b #-0x90")]), Int(1,1), -(Direct(Tid(4_745, "@register_tm_clones")),))]))])), Sub(Tid(4_729, "@free"), - Attrs([Attr("c.proto","void (*)(void* ptr)"), Attr("address","0xA00"), -Attr("stub","()")]), "free", Args([Arg(Tid(4_780, "%000012ac"), - Attrs([Attr("c.layout","*[ : 8]"), Attr("c.data","{} ptr"), -Attr("c.type","void*")]), Var("free_ptr",Imm(64)), Var("R0",Imm(64)), -Both())]), Blks([Blk(Tid(2_870, "@free"), Attrs([Attr("address","0xA00")]), - Phis([]), Defs([Def(Tid(3_889, "%00000f31"), Attrs([Attr("address","0xA00"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_896, "%00000f38"), Attrs([Attr("address","0xA04"), -Attr("insn","ldr x17, [x16, #0xf90]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3984,64)),LittleEndian(),64)), -Def(Tid(3_902, "%00000f3e"), Attrs([Attr("address","0xA08"), -Attr("insn","add x16, x16, #0xf90")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3984,64)))]), Jmps([Call(Tid(3_907, "%00000f43"), - Attrs([Attr("address","0xA0C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_730, "@handleInput"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xBC4")]), - "handleInput", Args([Arg(Tid(4_781, "%000012ad"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("handleInput_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_710, "@handleInput"), - Attrs([Attr("address","0xBC4")]), Phis([]), -Defs([Def(Tid(1_717, "%000006b5"), Attrs([Attr("address","0xBC4"), -Attr("insn","stp x29, x30, [sp, #-0x30]!")]), Var("#5",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551568,64))), -Def(Tid(1_723, "%000006bb"), Attrs([Attr("address","0xBC4"), -Attr("insn","stp x29, x30, [sp, #-0x30]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#5",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_729, "%000006c1"), Attrs([Attr("address","0xBC4"), -Attr("insn","stp x29, x30, [sp, #-0x30]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#5",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_733, "%000006c5"), Attrs([Attr("address","0xBC4"), -Attr("insn","stp x29, x30, [sp, #-0x30]!")]), Var("R31",Imm(64)), -Var("#5",Imm(64))), Def(Tid(1_739, "%000006cb"), - Attrs([Attr("address","0xBC8"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(1_747, "%000006d3"), - Attrs([Attr("address","0xBCC"), Attr("insn","str x0, [sp, #0x18]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(24,64)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(1_752, "%000006d8"), Attrs([Attr("address","0xBD0"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_758, "%000006de"), Attrs([Attr("address","0xBD4"), -Attr("insn","add x1, x0, #0xee0")]), Var("R1",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3808,64))), Def(Tid(1_765, "%000006e5"), - Attrs([Attr("address","0xBD8"), Attr("insn","ldr x0, [sp, #0x18]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(24,64)),LittleEndian(),64)), -Def(Tid(1_770, "%000006ea"), Attrs([Attr("address","0xBDC"), -Attr("insn","bl #-0x1ec")]), Var("R30",Imm(64)), Int(3040,64))]), -Jmps([Call(Tid(1_773, "%000006ed"), Attrs([Attr("address","0xBDC"), -Attr("insn","bl #-0x1ec")]), Int(1,1), -(Direct(Tid(4_751, "@strcmp")),Direct(Tid(1_775, "%000006ef"))))])), -Blk(Tid(1_775, "%000006ef"), Attrs([Attr("address","0xBE0")]), Phis([]), -Defs([Def(Tid(1_779, "%000006f3"), Attrs([Attr("address","0xBE0"), -Attr("insn","cmp w0, #0x0")]), Var("#6",Imm(32)), -PLUS(Extract(31,0,Var("R0",Imm(64))),Int(4294967295,32))), -Def(Tid(1_784, "%000006f8"), Attrs([Attr("address","0xBE0"), -Attr("insn","cmp w0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(33,PLUS(Var("#6",Imm(32)),Int(1,32))),PLUS(SIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(0,33)))), -Def(Tid(1_789, "%000006fd"), Attrs([Attr("address","0xBE0"), -Attr("insn","cmp w0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(33,PLUS(Var("#6",Imm(32)),Int(1,32))),PLUS(UNSIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(4294967296,33)))), -Def(Tid(1_793, "%00000701"), Attrs([Attr("address","0xBE0"), -Attr("insn","cmp w0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#6",Imm(32)),Int(1,32)),Int(0,32))), -Def(Tid(1_797, "%00000705"), Attrs([Attr("address","0xBE0"), -Attr("insn","cmp w0, #0x0")]), Var("NF",Imm(1)), -Extract(31,31,PLUS(Var("#6",Imm(32)),Int(1,32))))]), -Jmps([Goto(Tid(1_803, "%0000070b"), Attrs([Attr("address","0xBE4"), -Attr("insn","b.ne #0xc")]), NEQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(1_801, "%00000709"))), Goto(Tid(4_731, "%0000127b"), Attrs([]), - Int(1,1), Direct(Tid(3_137, "%00000c41")))])), Blk(Tid(1_801, "%00000709"), - Attrs([Attr("address","0xBF0")]), Phis([]), -Defs([Def(Tid(1_809, "%00000711"), Attrs([Attr("address","0xBF0"), -Attr("insn","mov w2, #0x5")]), Var("R2",Imm(64)), Int(5,64)), -Def(Tid(1_814, "%00000716"), Attrs([Attr("address","0xBF4"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_820, "%0000071c"), Attrs([Attr("address","0xBF8"), -Attr("insn","add x1, x0, #0xee8")]), Var("R1",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3816,64))), Def(Tid(1_827, "%00000723"), - Attrs([Attr("address","0xBFC"), Attr("insn","ldr x0, [sp, #0x18]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(24,64)),LittleEndian(),64)), -Def(Tid(1_832, "%00000728"), Attrs([Attr("address","0xC00"), -Attr("insn","bl #-0x270")]), Var("R30",Imm(64)), Int(3076,64))]), -Jmps([Call(Tid(1_835, "%0000072b"), Attrs([Attr("address","0xC00"), -Attr("insn","bl #-0x270")]), Int(1,1), -(Direct(Tid(4_754, "@strncmp")),Direct(Tid(1_837, "%0000072d"))))])), -Blk(Tid(1_837, "%0000072d"), Attrs([Attr("address","0xC04")]), Phis([]), -Defs([Def(Tid(1_841, "%00000731"), Attrs([Attr("address","0xC04"), -Attr("insn","cmp w0, #0x0")]), Var("#7",Imm(32)), -PLUS(Extract(31,0,Var("R0",Imm(64))),Int(4294967295,32))), -Def(Tid(1_846, "%00000736"), Attrs([Attr("address","0xC04"), -Attr("insn","cmp w0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(33,PLUS(Var("#7",Imm(32)),Int(1,32))),PLUS(SIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(0,33)))), -Def(Tid(1_851, "%0000073b"), Attrs([Attr("address","0xC04"), -Attr("insn","cmp w0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(33,PLUS(Var("#7",Imm(32)),Int(1,32))),PLUS(UNSIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(4294967296,33)))), -Def(Tid(1_855, "%0000073f"), Attrs([Attr("address","0xC04"), -Attr("insn","cmp w0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#7",Imm(32)),Int(1,32)),Int(0,32))), -Def(Tid(1_859, "%00000743"), Attrs([Attr("address","0xC04"), -Attr("insn","cmp w0, #0x0")]), Var("NF",Imm(1)), -Extract(31,31,PLUS(Var("#7",Imm(32)),Int(1,32))))]), -Jmps([Goto(Tid(1_865, "%00000749"), Attrs([Attr("address","0xC08"), -Attr("insn","b.ne #0x1c")]), NEQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(1_863, "%00000747"))), Goto(Tid(4_732, "%0000127c"), Attrs([]), - Int(1,1), Direct(Tid(3_098, "%00000c1a")))])), Blk(Tid(1_863, "%00000747"), - Attrs([Attr("address","0xC24")]), Phis([]), -Defs([Def(Tid(1_871, "%0000074f"), Attrs([Attr("address","0xC24"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_877, "%00000755"), Attrs([Attr("address","0xC28"), -Attr("insn","add x1, x0, #0xef0")]), Var("R1",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3824,64))), Def(Tid(1_884, "%0000075c"), - Attrs([Attr("address","0xC2C"), Attr("insn","ldr x0, [sp, #0x18]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(24,64)),LittleEndian(),64)), -Def(Tid(1_889, "%00000761"), Attrs([Attr("address","0xC30"), -Attr("insn","bl #-0x240")]), Var("R30",Imm(64)), Int(3124,64))]), -Jmps([Call(Tid(1_891, "%00000763"), Attrs([Attr("address","0xC30"), -Attr("insn","bl #-0x240")]), Int(1,1), -(Direct(Tid(4_751, "@strcmp")),Direct(Tid(1_893, "%00000765"))))])), -Blk(Tid(1_893, "%00000765"), Attrs([Attr("address","0xC34")]), Phis([]), -Defs([Def(Tid(1_897, "%00000769"), Attrs([Attr("address","0xC34"), -Attr("insn","cmp w0, #0x0")]), Var("#8",Imm(32)), -PLUS(Extract(31,0,Var("R0",Imm(64))),Int(4294967295,32))), -Def(Tid(1_902, "%0000076e"), Attrs([Attr("address","0xC34"), -Attr("insn","cmp w0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(33,PLUS(Var("#8",Imm(32)),Int(1,32))),PLUS(SIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(0,33)))), -Def(Tid(1_907, "%00000773"), Attrs([Attr("address","0xC34"), -Attr("insn","cmp w0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(33,PLUS(Var("#8",Imm(32)),Int(1,32))),PLUS(UNSIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(4294967296,33)))), -Def(Tid(1_911, "%00000777"), Attrs([Attr("address","0xC34"), -Attr("insn","cmp w0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#8",Imm(32)),Int(1,32)),Int(0,32))), -Def(Tid(1_915, "%0000077b"), Attrs([Attr("address","0xC34"), -Attr("insn","cmp w0, #0x0")]), Var("NF",Imm(1)), -Extract(31,31,PLUS(Var("#8",Imm(32)),Int(1,32))))]), -Jmps([Goto(Tid(1_921, "%00000781"), Attrs([Attr("address","0xC38"), -Attr("insn","b.ne #0xc")]), NEQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(1_919, "%0000077f"))), Goto(Tid(4_733, "%0000127d"), Attrs([]), - Int(1,1), Direct(Tid(3_087, "%00000c0f")))])), Blk(Tid(1_919, "%0000077f"), - Attrs([Attr("address","0xC44")]), Phis([]), -Defs([Def(Tid(1_927, "%00000787"), Attrs([Attr("address","0xC44"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_933, "%0000078d"), Attrs([Attr("address","0xC48"), -Attr("insn","add x1, x0, #0xef8")]), Var("R1",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3832,64))), Def(Tid(1_940, "%00000794"), - Attrs([Attr("address","0xC4C"), Attr("insn","ldr x0, [sp, #0x18]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(24,64)),LittleEndian(),64)), -Def(Tid(1_945, "%00000799"), Attrs([Attr("address","0xC50"), -Attr("insn","bl #-0x260")]), Var("R30",Imm(64)), Int(3156,64))]), -Jmps([Call(Tid(1_947, "%0000079b"), Attrs([Attr("address","0xC50"), -Attr("insn","bl #-0x260")]), Int(1,1), -(Direct(Tid(4_751, "@strcmp")),Direct(Tid(1_949, "%0000079d"))))])), -Blk(Tid(1_949, "%0000079d"), Attrs([Attr("address","0xC54")]), Phis([]), -Defs([Def(Tid(1_953, "%000007a1"), Attrs([Attr("address","0xC54"), -Attr("insn","cmp w0, #0x0")]), Var("#9",Imm(32)), -PLUS(Extract(31,0,Var("R0",Imm(64))),Int(4294967295,32))), -Def(Tid(1_958, "%000007a6"), Attrs([Attr("address","0xC54"), -Attr("insn","cmp w0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(33,PLUS(Var("#9",Imm(32)),Int(1,32))),PLUS(SIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(0,33)))), -Def(Tid(1_963, "%000007ab"), Attrs([Attr("address","0xC54"), -Attr("insn","cmp w0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(33,PLUS(Var("#9",Imm(32)),Int(1,32))),PLUS(UNSIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(4294967296,33)))), -Def(Tid(1_967, "%000007af"), Attrs([Attr("address","0xC54"), -Attr("insn","cmp w0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#9",Imm(32)),Int(1,32)),Int(0,32))), -Def(Tid(1_971, "%000007b3"), Attrs([Attr("address","0xC54"), -Attr("insn","cmp w0, #0x0")]), Var("NF",Imm(1)), -Extract(31,31,PLUS(Var("#9",Imm(32)),Int(1,32))))]), -Jmps([Goto(Tid(1_977, "%000007b9"), Attrs([Attr("address","0xC58"), -Attr("insn","b.ne #0xc")]), NEQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(1_975, "%000007b7"))), Goto(Tid(4_734, "%0000127e"), Attrs([]), - Int(1,1), Direct(Tid(3_076, "%00000c04")))])), Blk(Tid(1_975, "%000007b7"), - Attrs([Attr("address","0xC64")]), Phis([]), -Defs([Def(Tid(1_983, "%000007bf"), Attrs([Attr("address","0xC64"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_989, "%000007c5"), Attrs([Attr("address","0xC68"), -Attr("insn","add x1, x0, #0xf00")]), Var("R1",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3840,64))), Def(Tid(1_996, "%000007cc"), - Attrs([Attr("address","0xC6C"), Attr("insn","ldr x0, [sp, #0x18]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(24,64)),LittleEndian(),64)), -Def(Tid(2_001, "%000007d1"), Attrs([Attr("address","0xC70"), -Attr("insn","bl #-0x280")]), Var("R30",Imm(64)), Int(3188,64))]), -Jmps([Call(Tid(2_003, "%000007d3"), Attrs([Attr("address","0xC70"), -Attr("insn","bl #-0x280")]), Int(1,1), -(Direct(Tid(4_751, "@strcmp")),Direct(Tid(2_005, "%000007d5"))))])), -Blk(Tid(2_005, "%000007d5"), Attrs([Attr("address","0xC74")]), Phis([]), -Defs([Def(Tid(2_009, "%000007d9"), Attrs([Attr("address","0xC74"), -Attr("insn","cmp w0, #0x0")]), Var("#10",Imm(32)), -PLUS(Extract(31,0,Var("R0",Imm(64))),Int(4294967295,32))), -Def(Tid(2_014, "%000007de"), Attrs([Attr("address","0xC74"), -Attr("insn","cmp w0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(33,PLUS(Var("#10",Imm(32)),Int(1,32))),PLUS(SIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(0,33)))), -Def(Tid(2_019, "%000007e3"), Attrs([Attr("address","0xC74"), -Attr("insn","cmp w0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(33,PLUS(Var("#10",Imm(32)),Int(1,32))),PLUS(UNSIGNED(33,Extract(31,0,Var("R0",Imm(64)))),Int(4294967296,33)))), -Def(Tid(2_023, "%000007e7"), Attrs([Attr("address","0xC74"), -Attr("insn","cmp w0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#10",Imm(32)),Int(1,32)),Int(0,32))), -Def(Tid(2_027, "%000007eb"), Attrs([Attr("address","0xC74"), -Attr("insn","cmp w0, #0x0")]), Var("NF",Imm(1)), -Extract(31,31,PLUS(Var("#10",Imm(32)),Int(1,32))))]), -Jmps([Goto(Tid(2_033, "%000007f1"), Attrs([Attr("address","0xC78"), -Attr("insn","b.ne #0x24")]), NEQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(2_031, "%000007ef"))), Goto(Tid(4_735, "%0000127f"), Attrs([]), - Int(1,1), Direct(Tid(3_006, "%00000bbe")))])), Blk(Tid(3_006, "%00000bbe"), - Attrs([Attr("address","0xC7C")]), Phis([]), -Defs([Def(Tid(3_009, "%00000bc1"), Attrs([Attr("address","0xC7C"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(3_016, "%00000bc8"), Attrs([Attr("address","0xC80"), -Attr("insn","ldr x0, [x0, #0xfe8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4072,64)),LittleEndian(),64)), -Def(Tid(3_023, "%00000bcf"), Attrs([Attr("address","0xC84"), -Attr("insn","ldr x0, [x0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(3_029, "%00000bd5"), Attrs([Attr("address","0xC88"), -Attr("insn","cmp x0, #0x0")]), Var("#19",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(18446744073709551615,64))), -Def(Tid(3_034, "%00000bda"), Attrs([Attr("address","0xC88"), -Attr("insn","cmp x0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#19",Imm(64)),Int(1,64))),PLUS(SIGNED(65,Var("R0",Imm(64))),Int(0,65)))), -Def(Tid(3_039, "%00000bdf"), Attrs([Attr("address","0xC88"), -Attr("insn","cmp x0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#19",Imm(64)),Int(1,64))),PLUS(UNSIGNED(65,Var("R0",Imm(64))),Int(18446744073709551616,65)))), -Def(Tid(3_043, "%00000be3"), Attrs([Attr("address","0xC88"), -Attr("insn","cmp x0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#19",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(3_047, "%00000be7"), Attrs([Attr("address","0xC88"), -Attr("insn","cmp x0, #0x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#19",Imm(64)),Int(1,64))))]), -Jmps([Goto(Tid(3_053, "%00000bed"), Attrs([Attr("address","0xC8C"), -Attr("insn","b.eq #0x8")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(3_051, "%00000beb"))), Goto(Tid(4_736, "%00001280"), Attrs([]), - Int(1,1), Direct(Tid(3_069, "%00000bfd")))])), Blk(Tid(3_069, "%00000bfd"), - Attrs([Attr("address","0xC90")]), Phis([]), -Defs([Def(Tid(3_072, "%00000c00"), Attrs([Attr("address","0xC90"), -Attr("insn","bl #0x1a4")]), Var("R30",Imm(64)), Int(3220,64))]), -Jmps([Call(Tid(3_074, "%00000c02"), Attrs([Attr("address","0xC90"), -Attr("insn","bl #0x1a4")]), Int(1,1), -(Direct(Tid(4_719, "@closeFile")),Direct(Tid(3_051, "%00000beb"))))])), -Blk(Tid(3_051, "%00000beb"), Attrs([Attr("address","0xC94")]), Phis([]), -Defs([Def(Tid(3_059, "%00000bf3"), Attrs([Attr("address","0xC94"), -Attr("insn","mov w0, #0x0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(3_064, "%00000bf8"), Attrs([Attr("address","0xC98"), -Attr("insn","bl #-0x358")]), Var("R30",Imm(64)), Int(3228,64))]), -Jmps([Call(Tid(3_067, "%00000bfb"), Attrs([Attr("address","0xC98"), -Attr("insn","bl #-0x358")]), Int(1,1), -(Direct(Tid(4_724, "@exit")),Direct(Tid(2_031, "%000007ef"))))])), -Blk(Tid(2_031, "%000007ef"), Attrs([Attr("address","0xC9C")]), Phis([]), -Defs([Def(Tid(2_039, "%000007f7"), Attrs([Attr("address","0xC9C"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_045, "%000007fd"), Attrs([Attr("address","0xCA0"), -Attr("insn","add x0, x0, #0xf08")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3848,64))), Def(Tid(2_050, "%00000802"), - Attrs([Attr("address","0xCA4"), Attr("insn","bl #-0x2c4")]), - Var("R30",Imm(64)), Int(3240,64))]), Jmps([Call(Tid(2_053, "%00000805"), - Attrs([Attr("address","0xCA4"), Attr("insn","bl #-0x2c4")]), Int(1,1), -(Direct(Tid(4_744, "@puts")),Direct(Tid(2_055, "%00000807"))))])), -Blk(Tid(3_076, "%00000c04"), Attrs([Attr("address","0xC5C")]), Phis([]), -Defs([Def(Tid(3_079, "%00000c07"), Attrs([Attr("address","0xC5C"), -Attr("insn","bl #0x1d8")]), Var("R30",Imm(64)), Int(3168,64))]), -Jmps([Call(Tid(3_081, "%00000c09"), Attrs([Attr("address","0xC5C"), -Attr("insn","bl #0x1d8")]), Int(1,1), -(Direct(Tid(4_719, "@closeFile")),Direct(Tid(3_083, "%00000c0b"))))])), -Blk(Tid(3_083, "%00000c0b"), Attrs([Attr("address","0xC60")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_085, "%00000c0d"), Attrs([Attr("address","0xC60"), -Attr("insn","b #0x48")]), Int(1,1), Direct(Tid(2_055, "%00000807")))])), -Blk(Tid(3_087, "%00000c0f"), Attrs([Attr("address","0xC3C")]), Phis([]), -Defs([Def(Tid(3_090, "%00000c12"), Attrs([Attr("address","0xC3C"), -Attr("insn","bl #0x198")]), Var("R30",Imm(64)), Int(3136,64))]), -Jmps([Call(Tid(3_092, "%00000c14"), Attrs([Attr("address","0xC3C"), -Attr("insn","bl #0x198")]), Int(1,1), -(Direct(Tid(4_749, "@saveFile")),Direct(Tid(3_094, "%00000c16"))))])), -Blk(Tid(3_094, "%00000c16"), Attrs([Attr("address","0xC40")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_096, "%00000c18"), Attrs([Attr("address","0xC40"), -Attr("insn","b #0x68")]), Int(1,1), Direct(Tid(2_055, "%00000807")))])), -Blk(Tid(3_098, "%00000c1a"), Attrs([Attr("address","0xC0C")]), Phis([]), -Defs([Def(Tid(3_103, "%00000c1f"), Attrs([Attr("address","0xC0C"), -Attr("insn","ldr x0, [sp, #0x18]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(24,64)),LittleEndian(),64)), -Def(Tid(3_109, "%00000c25"), Attrs([Attr("address","0xC10"), -Attr("insn","add x0, x0, #0x5")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(5,64))), Def(Tid(3_117, "%00000c2d"), - Attrs([Attr("address","0xC14"), Attr("insn","str x0, [sp, #0x28]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(40,64)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(3_124, "%00000c34"), Attrs([Attr("address","0xC18"), -Attr("insn","ldr x0, [sp, #0x28]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(40,64)),LittleEndian(),64)), -Def(Tid(3_129, "%00000c39"), Attrs([Attr("address","0xC1C"), -Attr("insn","bl #0xf4")]), Var("R30",Imm(64)), Int(3104,64))]), -Jmps([Call(Tid(3_131, "%00000c3b"), Attrs([Attr("address","0xC1C"), -Attr("insn","bl #0xf4")]), Int(1,1), -(Direct(Tid(4_739, "@openFile")),Direct(Tid(3_133, "%00000c3d"))))])), -Blk(Tid(3_133, "%00000c3d"), Attrs([Attr("address","0xC20")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_135, "%00000c3f"), Attrs([Attr("address","0xC20"), -Attr("insn","b #0x88")]), Int(1,1), Direct(Tid(2_055, "%00000807")))])), -Blk(Tid(3_137, "%00000c41"), Attrs([Attr("address","0xBE8")]), Phis([]), -Defs([Def(Tid(3_140, "%00000c44"), Attrs([Attr("address","0xBE8"), -Attr("insn","bl #0xcc")]), Var("R30",Imm(64)), Int(3052,64))]), -Jmps([Call(Tid(3_142, "%00000c46"), Attrs([Attr("address","0xBE8"), -Attr("insn","bl #0xcc")]), Int(1,1), -(Direct(Tid(4_742, "@printHelp")),Direct(Tid(3_144, "%00000c48"))))])), -Blk(Tid(3_144, "%00000c48"), Attrs([Attr("address","0xBEC")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_146, "%00000c4a"), Attrs([Attr("address","0xBEC"), -Attr("insn","b #0xbc")]), Int(1,1), Direct(Tid(2_055, "%00000807")))])), -Blk(Tid(2_055, "%00000807"), Attrs([Attr("address","0xCA8")]), Phis([]), -Defs([Def(Tid(2_062, "%0000080e"), Attrs([Attr("address","0xCAC"), -Attr("insn","ldp x29, x30, [sp], #0x30")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_067, "%00000813"), Attrs([Attr("address","0xCAC"), -Attr("insn","ldp x29, x30, [sp], #0x30")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_071, "%00000817"), Attrs([Attr("address","0xCAC"), -Attr("insn","ldp x29, x30, [sp], #0x30")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(48,64)))]), Jmps([Call(Tid(2_076, "%0000081c"), - Attrs([Attr("address","0xCB0"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_737, "@main"), - Attrs([Attr("c.proto","signed (*)(signed argc, const char** argv)"), -Attr("address","0xB54")]), "main", Args([Arg(Tid(4_782, "%000012ae"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("main_argc",Imm(32)), -LOW(32,Var("R0",Imm(64))), In()), Arg(Tid(4_783, "%000012af"), - Attrs([Attr("c.layout","**[char : 8]"), Attr("c.data","Top:u8 ptr ptr"), -Attr("c.type"," const char**")]), Var("main_argv",Imm(64)), -Var("R1",Imm(64)), Both()), Arg(Tid(4_784, "%000012b0"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("main_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_526, "@main"), - Attrs([Attr("address","0xB54")]), Phis([]), -Defs([Def(Tid(1_530, "%000005fa"), Attrs([Attr("address","0xB54"), -Attr("insn","stp x29, x30, [sp, #-0x120]!")]), Var("#4",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551328,64))), -Def(Tid(1_536, "%00000600"), Attrs([Attr("address","0xB54"), -Attr("insn","stp x29, x30, [sp, #-0x120]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#4",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_542, "%00000606"), Attrs([Attr("address","0xB54"), -Attr("insn","stp x29, x30, [sp, #-0x120]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#4",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_546, "%0000060a"), Attrs([Attr("address","0xB54"), -Attr("insn","stp x29, x30, [sp, #-0x120]!")]), Var("R31",Imm(64)), -Var("#4",Imm(64))), Def(Tid(1_552, "%00000610"), - Attrs([Attr("address","0xB58"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(1_557, "%00000615"), - Attrs([Attr("address","0xB5C"), Attr("insn","adrp x0, #69632")]), - Var("R0",Imm(64)), Int(69632,64)), Def(Tid(1_564, "%0000061c"), - Attrs([Attr("address","0xB60"), Attr("insn","ldr x0, [x0, #0xfe0]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4064,64)),LittleEndian(),64)), -Def(Tid(1_571, "%00000623"), Attrs([Attr("address","0xB64"), -Attr("insn","ldr x1, [x0]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(1_579, "%0000062b"), Attrs([Attr("address","0xB68"), -Attr("insn","str x1, [sp, #0x118]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(280,64)),Var("R1",Imm(64)),LittleEndian(),64)), -Def(Tid(1_584, "%00000630"), Attrs([Attr("address","0xB6C"), -Attr("insn","mov x1, #0x0")]), Var("R1",Imm(64)), Int(0,64))]), -Jmps([Goto(Tid(4_738, "%00001282"), Attrs([]), Int(1,1), -Direct(Tid(1_586, "%00000632")))])), Blk(Tid(1_586, "%00000632"), - Attrs([Attr("address","0xB70")]), Phis([]), -Defs([Def(Tid(1_589, "%00000635"), Attrs([Attr("address","0xB70"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(1_595, "%0000063b"), Attrs([Attr("address","0xB74"), -Attr("insn","add x0, x0, #0xec0")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3776,64))), Def(Tid(1_600, "%00000640"), - Attrs([Attr("address","0xB78"), Attr("insn","bl #-0x158")]), - Var("R30",Imm(64)), Int(2940,64))]), Jmps([Call(Tid(1_603, "%00000643"), - Attrs([Attr("address","0xB78"), Attr("insn","bl #-0x158")]), Int(1,1), -(Direct(Tid(4_743, "@printf")),Direct(Tid(1_605, "%00000645"))))])), -Blk(Tid(1_605, "%00000645"), Attrs([Attr("address","0xB7C")]), Phis([]), -Defs([Def(Tid(1_608, "%00000648"), Attrs([Attr("address","0xB7C"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(1_615, "%0000064f"), Attrs([Attr("address","0xB80"), -Attr("insn","ldr x0, [x0, #0xfd0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4048,64)),LittleEndian(),64)), -Def(Tid(1_622, "%00000656"), Attrs([Attr("address","0xB84"), -Attr("insn","ldr x1, [x0]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(1_628, "%0000065c"), Attrs([Attr("address","0xB88"), -Attr("insn","add x0, sp, #0x18")]), Var("R0",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(24,64))), Def(Tid(1_634, "%00000662"), - Attrs([Attr("address","0xB8C"), Attr("insn","mov x2, x1")]), - Var("R2",Imm(64)), Var("R1",Imm(64))), Def(Tid(1_639, "%00000667"), - Attrs([Attr("address","0xB90"), Attr("insn","mov w1, #0x100")]), - Var("R1",Imm(64)), Int(256,64)), Def(Tid(1_644, "%0000066c"), - Attrs([Attr("address","0xB94"), Attr("insn","bl #-0x164")]), - Var("R30",Imm(64)), Int(2968,64))]), Jmps([Call(Tid(1_647, "%0000066f"), - Attrs([Attr("address","0xB94"), Attr("insn","bl #-0x164")]), Int(1,1), -(Direct(Tid(4_726, "@fgets")),Direct(Tid(1_649, "%00000671"))))])), -Blk(Tid(1_649, "%00000671"), Attrs([Attr("address","0xB98")]), Phis([]), -Defs([Def(Tid(1_653, "%00000675"), Attrs([Attr("address","0xB98"), -Attr("insn","add x2, sp, #0x18")]), Var("R2",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(24,64))), Def(Tid(1_658, "%0000067a"), - Attrs([Attr("address","0xB9C"), Attr("insn","adrp x0, #0")]), - Var("R0",Imm(64)), Int(0,64)), Def(Tid(1_664, "%00000680"), - Attrs([Attr("address","0xBA0"), Attr("insn","add x1, x0, #0xed8")]), - Var("R1",Imm(64)), PLUS(Var("R0",Imm(64)),Int(3800,64))), -Def(Tid(1_670, "%00000686"), Attrs([Attr("address","0xBA4"), -Attr("insn","mov x0, x2")]), Var("R0",Imm(64)), Var("R2",Imm(64))), -Def(Tid(1_675, "%0000068b"), Attrs([Attr("address","0xBA8"), -Attr("insn","bl #-0x198")]), Var("R30",Imm(64)), Int(2988,64))]), -Jmps([Call(Tid(1_678, "%0000068e"), Attrs([Attr("address","0xBA8"), -Attr("insn","bl #-0x198")]), Int(1,1), -(Direct(Tid(4_752, "@strcspn")),Direct(Tid(1_680, "%00000690"))))])), -Blk(Tid(1_680, "%00000690"), Attrs([Attr("address","0xBAC")]), Phis([]), -Defs([Def(Tid(1_684, "%00000694"), Attrs([Attr("address","0xBAC"), -Attr("insn","mov x1, x0")]), Var("R1",Imm(64)), Var("R0",Imm(64))), -Def(Tid(1_690, "%0000069a"), Attrs([Attr("address","0xBB0"), -Attr("insn","add x0, sp, #0x18")]), Var("R0",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(24,64))), Def(Tid(1_698, "%000006a2"), - Attrs([Attr("address","0xBB4"), Attr("insn","strb wzr, [x0, x1]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Var("R1",Imm(64))),Int(0,8),LittleEndian(),8)), -Def(Tid(1_704, "%000006a8"), Attrs([Attr("address","0xBB8"), -Attr("insn","add x0, sp, #0x18")]), Var("R0",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(24,64))), Def(Tid(1_709, "%000006ad"), - Attrs([Attr("address","0xBBC"), Attr("insn","bl #0x8")]), - Var("R30",Imm(64)), Int(3008,64))]), Jmps([Call(Tid(1_712, "%000006b0"), - Attrs([Attr("address","0xBBC"), Attr("insn","bl #0x8")]), Int(1,1), -(Direct(Tid(4_730, "@handleInput")),Direct(Tid(3_148, "%00000c4c"))))])), -Blk(Tid(3_148, "%00000c4c"), Attrs([Attr("address","0xBC0")]), Phis([]), -Defs([]), Jmps([Goto(Tid(3_150, "%00000c4e"), Attrs([Attr("address","0xBC0"), -Attr("insn","b #-0x50")]), Int(1,1), Direct(Tid(1_586, "%00000632")))]))])), -Sub(Tid(4_739, "@openFile"), Attrs([Attr("c.proto","signed (*)(void)"), -Attr("address","0xD10")]), "openFile", Args([Arg(Tid(4_785, "%000012b1"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("openFile_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_237, "@openFile"), - Attrs([Attr("address","0xD10")]), Phis([]), -Defs([Def(Tid(2_241, "%000008c1"), Attrs([Attr("address","0xD10"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("#12",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(2_247, "%000008c7"), Attrs([Attr("address","0xD10"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#12",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(2_253, "%000008cd"), Attrs([Attr("address","0xD10"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#12",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(2_257, "%000008d1"), Attrs([Attr("address","0xD10"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("R31",Imm(64)), -Var("#12",Imm(64))), Def(Tid(2_263, "%000008d7"), - Attrs([Attr("address","0xD14"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(2_271, "%000008df"), - Attrs([Attr("address","0xD18"), Attr("insn","str x0, [sp, #0x18]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(24,64)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_276, "%000008e4"), Attrs([Attr("address","0xD1C"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(2_283, "%000008eb"), Attrs([Attr("address","0xD20"), -Attr("insn","ldr x0, [x0, #0xfe8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4072,64)),LittleEndian(),64)), -Def(Tid(2_290, "%000008f2"), Attrs([Attr("address","0xD24"), -Attr("insn","ldr x0, [x0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_296, "%000008f8"), Attrs([Attr("address","0xD28"), -Attr("insn","cmp x0, #0x0")]), Var("#13",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(18446744073709551615,64))), -Def(Tid(2_301, "%000008fd"), Attrs([Attr("address","0xD28"), -Attr("insn","cmp x0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#13",Imm(64)),Int(1,64))),PLUS(SIGNED(65,Var("R0",Imm(64))),Int(0,65)))), -Def(Tid(2_306, "%00000902"), Attrs([Attr("address","0xD28"), -Attr("insn","cmp x0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#13",Imm(64)),Int(1,64))),PLUS(UNSIGNED(65,Var("R0",Imm(64))),Int(18446744073709551616,65)))), -Def(Tid(2_310, "%00000906"), Attrs([Attr("address","0xD28"), -Attr("insn","cmp x0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#13",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(2_314, "%0000090a"), Attrs([Attr("address","0xD28"), -Attr("insn","cmp x0, #0x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#13",Imm(64)),Int(1,64))))]), -Jmps([Goto(Tid(2_320, "%00000910"), Attrs([Attr("address","0xD2C"), -Attr("insn","b.eq #0x8")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(2_318, "%0000090e"))), Goto(Tid(4_740, "%00001284"), Attrs([]), - Int(1,1), Direct(Tid(2_999, "%00000bb7")))])), Blk(Tid(2_999, "%00000bb7"), - Attrs([Attr("address","0xD30")]), Phis([]), -Defs([Def(Tid(3_002, "%00000bba"), Attrs([Attr("address","0xD30"), -Attr("insn","bl #0x104")]), Var("R30",Imm(64)), Int(3380,64))]), -Jmps([Call(Tid(3_004, "%00000bbc"), Attrs([Attr("address","0xD30"), -Attr("insn","bl #0x104")]), Int(1,1), -(Direct(Tid(4_719, "@closeFile")),Direct(Tid(2_318, "%0000090e"))))])), -Blk(Tid(2_318, "%0000090e"), Attrs([Attr("address","0xD34")]), Phis([]), -Defs([Def(Tid(2_328, "%00000918"), Attrs([Attr("address","0xD34"), -Attr("insn","ldr x0, [sp, #0x18]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(24,64)),LittleEndian(),64)), -Def(Tid(2_333, "%0000091d"), Attrs([Attr("address","0xD38"), -Attr("insn","bl #-0x388")]), Var("R30",Imm(64)), Int(3388,64))]), -Jmps([Call(Tid(2_336, "%00000920"), Attrs([Attr("address","0xD38"), -Attr("insn","bl #-0x388")]), Int(1,1), -(Direct(Tid(4_753, "@strdup")),Direct(Tid(2_338, "%00000922"))))])), -Blk(Tid(2_338, "%00000922"), Attrs([Attr("address","0xD3C")]), Phis([]), -Defs([Def(Tid(2_342, "%00000926"), Attrs([Attr("address","0xD3C"), -Attr("insn","mov x1, x0")]), Var("R1",Imm(64)), Var("R0",Imm(64))), -Def(Tid(2_347, "%0000092b"), Attrs([Attr("address","0xD40"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(2_354, "%00000932"), Attrs([Attr("address","0xD44"), -Attr("insn","ldr x0, [x0, #0xfc8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4040,64)),LittleEndian(),64)), -Def(Tid(2_362, "%0000093a"), Attrs([Attr("address","0xD48"), -Attr("insn","str x1, [x0]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("R0",Imm(64)),Var("R1",Imm(64)),LittleEndian(),64)), -Def(Tid(2_367, "%0000093f"), Attrs([Attr("address","0xD4C"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(2_374, "%00000946"), Attrs([Attr("address","0xD50"), -Attr("insn","ldr x0, [x0, #0xfc8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4040,64)),LittleEndian(),64)), -Def(Tid(2_381, "%0000094d"), Attrs([Attr("address","0xD54"), -Attr("insn","ldr x2, [x0]")]), Var("R2",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_386, "%00000952"), Attrs([Attr("address","0xD58"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_392, "%00000958"), Attrs([Attr("address","0xD5C"), -Attr("insn","add x1, x0, #0x60")]), Var("R1",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(96,64))), Def(Tid(2_398, "%0000095e"), - Attrs([Attr("address","0xD60"), Attr("insn","mov x0, x2")]), - Var("R0",Imm(64)), Var("R2",Imm(64))), Def(Tid(2_403, "%00000963"), - Attrs([Attr("address","0xD64"), Attr("insn","bl #-0x3e4")]), - Var("R30",Imm(64)), Int(3432,64))]), Jmps([Call(Tid(2_406, "%00000966"), - Attrs([Attr("address","0xD64"), Attr("insn","bl #-0x3e4")]), Int(1,1), -(Direct(Tid(4_727, "@fopen")),Direct(Tid(2_408, "%00000968"))))])), -Blk(Tid(2_408, "%00000968"), Attrs([Attr("address","0xD68")]), Phis([]), -Defs([Def(Tid(2_412, "%0000096c"), Attrs([Attr("address","0xD68"), -Attr("insn","mov x1, x0")]), Var("R1",Imm(64)), Var("R0",Imm(64))), -Def(Tid(2_417, "%00000971"), Attrs([Attr("address","0xD6C"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(2_424, "%00000978"), Attrs([Attr("address","0xD70"), -Attr("insn","ldr x0, [x0, #0xfe8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4072,64)),LittleEndian(),64)), -Def(Tid(2_432, "%00000980"), Attrs([Attr("address","0xD74"), -Attr("insn","str x1, [x0]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("R0",Imm(64)),Var("R1",Imm(64)),LittleEndian(),64)), -Def(Tid(2_437, "%00000985"), Attrs([Attr("address","0xD78"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(2_444, "%0000098c"), Attrs([Attr("address","0xD7C"), -Attr("insn","ldr x0, [x0, #0xfe8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4072,64)),LittleEndian(),64)), -Def(Tid(2_451, "%00000993"), Attrs([Attr("address","0xD80"), -Attr("insn","ldr x0, [x0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_457, "%00000999"), Attrs([Attr("address","0xD84"), -Attr("insn","cmp x0, #0x0")]), Var("#14",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(18446744073709551615,64))), -Def(Tid(2_462, "%0000099e"), Attrs([Attr("address","0xD84"), -Attr("insn","cmp x0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#14",Imm(64)),Int(1,64))),PLUS(SIGNED(65,Var("R0",Imm(64))),Int(0,65)))), -Def(Tid(2_467, "%000009a3"), Attrs([Attr("address","0xD84"), -Attr("insn","cmp x0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#14",Imm(64)),Int(1,64))),PLUS(UNSIGNED(65,Var("R0",Imm(64))),Int(18446744073709551616,65)))), -Def(Tid(2_471, "%000009a7"), Attrs([Attr("address","0xD84"), -Attr("insn","cmp x0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#14",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(2_475, "%000009ab"), Attrs([Attr("address","0xD84"), -Attr("insn","cmp x0, #0x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#14",Imm(64)),Int(1,64))))]), -Jmps([Goto(Tid(2_481, "%000009b1"), Attrs([Attr("address","0xD88"), -Attr("insn","b.ne #0x24")]), NEQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(2_479, "%000009af"))), Goto(Tid(4_741, "%00001285"), Attrs([]), - Int(1,1), Direct(Tid(2_952, "%00000b88")))])), Blk(Tid(2_479, "%000009af"), - Attrs([Attr("address","0xDAC")]), Phis([]), -Defs([Def(Tid(2_487, "%000009b7"), Attrs([Attr("address","0xDAC"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(2_494, "%000009be"), Attrs([Attr("address","0xDB0"), -Attr("insn","ldr x0, [x0, #0xfc8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4040,64)),LittleEndian(),64)), -Def(Tid(2_501, "%000009c5"), Attrs([Attr("address","0xDB4"), -Attr("insn","ldr x0, [x0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_507, "%000009cb"), Attrs([Attr("address","0xDB8"), -Attr("insn","mov x1, x0")]), Var("R1",Imm(64)), Var("R0",Imm(64))), -Def(Tid(2_512, "%000009d0"), Attrs([Attr("address","0xDBC"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_518, "%000009d6"), Attrs([Attr("address","0xDC0"), -Attr("insn","add x0, x0, #0x88")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(136,64))), Def(Tid(2_523, "%000009db"), - Attrs([Attr("address","0xDC4"), Attr("insn","bl #-0x3a4")]), - Var("R30",Imm(64)), Int(3528,64))]), Jmps([Call(Tid(2_525, "%000009dd"), - Attrs([Attr("address","0xDC4"), Attr("insn","bl #-0x3a4")]), Int(1,1), -(Direct(Tid(4_743, "@printf")),Direct(Tid(2_527, "%000009df"))))])), -Blk(Tid(2_952, "%00000b88"), Attrs([Attr("address","0xD8C")]), Phis([]), -Defs([Def(Tid(2_955, "%00000b8b"), Attrs([Attr("address","0xD8C"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(2_962, "%00000b92"), Attrs([Attr("address","0xD90"), -Attr("insn","ldr x0, [x0, #0xfc8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4040,64)),LittleEndian(),64)), -Def(Tid(2_969, "%00000b99"), Attrs([Attr("address","0xD94"), -Attr("insn","ldr x0, [x0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_975, "%00000b9f"), Attrs([Attr("address","0xD98"), -Attr("insn","mov x1, x0")]), Var("R1",Imm(64)), Var("R0",Imm(64))), -Def(Tid(2_980, "%00000ba4"), Attrs([Attr("address","0xD9C"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_986, "%00000baa"), Attrs([Attr("address","0xDA0"), -Attr("insn","add x0, x0, #0x68")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(104,64))), Def(Tid(2_991, "%00000baf"), - Attrs([Attr("address","0xDA4"), Attr("insn","bl #-0x384")]), - Var("R30",Imm(64)), Int(3496,64))]), Jmps([Call(Tid(2_993, "%00000bb1"), - Attrs([Attr("address","0xDA4"), Attr("insn","bl #-0x384")]), Int(1,1), -(Direct(Tid(4_743, "@printf")),Direct(Tid(2_995, "%00000bb3"))))])), -Blk(Tid(2_995, "%00000bb3"), Attrs([Attr("address","0xDA8")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_997, "%00000bb5"), Attrs([Attr("address","0xDA8"), -Attr("insn","b #0x20")]), Int(1,1), Direct(Tid(2_527, "%000009df")))])), -Blk(Tid(2_527, "%000009df"), Attrs([Attr("address","0xDC8")]), Phis([]), -Defs([Def(Tid(2_534, "%000009e6"), Attrs([Attr("address","0xDCC"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_539, "%000009eb"), Attrs([Attr("address","0xDCC"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_543, "%000009ef"), Attrs([Attr("address","0xDCC"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(2_548, "%000009f4"), - Attrs([Attr("address","0xDD0"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_742, "@printHelp"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xCB4")]), - "printHelp", Args([Arg(Tid(4_786, "%000012b2"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("printHelp_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_078, "@printHelp"), - Attrs([Attr("address","0xCB4")]), Phis([]), -Defs([Def(Tid(2_082, "%00000822"), Attrs([Attr("address","0xCB4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#11",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(2_088, "%00000828"), Attrs([Attr("address","0xCB4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#11",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(2_094, "%0000082e"), Attrs([Attr("address","0xCB4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#11",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(2_098, "%00000832"), Attrs([Attr("address","0xCB4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#11",Imm(64))), Def(Tid(2_104, "%00000838"), - Attrs([Attr("address","0xCB8"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(2_109, "%0000083d"), - Attrs([Attr("address","0xCBC"), Attr("insn","adrp x0, #0")]), - Var("R0",Imm(64)), Int(0,64)), Def(Tid(2_115, "%00000843"), - Attrs([Attr("address","0xCC0"), Attr("insn","add x0, x0, #0xf40")]), - Var("R0",Imm(64)), PLUS(Var("R0",Imm(64)),Int(3904,64))), -Def(Tid(2_120, "%00000848"), Attrs([Attr("address","0xCC4"), -Attr("insn","bl #-0x2e4")]), Var("R30",Imm(64)), Int(3272,64))]), -Jmps([Call(Tid(2_122, "%0000084a"), Attrs([Attr("address","0xCC4"), -Attr("insn","bl #-0x2e4")]), Int(1,1), -(Direct(Tid(4_744, "@puts")),Direct(Tid(2_124, "%0000084c"))))])), -Blk(Tid(2_124, "%0000084c"), Attrs([Attr("address","0xCC8")]), Phis([]), -Defs([Def(Tid(2_127, "%0000084f"), Attrs([Attr("address","0xCC8"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_133, "%00000855"), Attrs([Attr("address","0xCCC"), -Attr("insn","add x0, x0, #0xf50")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3920,64))), Def(Tid(2_138, "%0000085a"), - Attrs([Attr("address","0xCD0"), Attr("insn","bl #-0x2f0")]), - Var("R30",Imm(64)), Int(3284,64))]), Jmps([Call(Tid(2_140, "%0000085c"), - Attrs([Attr("address","0xCD0"), Attr("insn","bl #-0x2f0")]), Int(1,1), -(Direct(Tid(4_744, "@puts")),Direct(Tid(2_142, "%0000085e"))))])), -Blk(Tid(2_142, "%0000085e"), Attrs([Attr("address","0xCD4")]), Phis([]), -Defs([Def(Tid(2_145, "%00000861"), Attrs([Attr("address","0xCD4"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_151, "%00000867"), Attrs([Attr("address","0xCD8"), -Attr("insn","add x0, x0, #0xf88")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(3976,64))), Def(Tid(2_156, "%0000086c"), - Attrs([Attr("address","0xCDC"), Attr("insn","bl #-0x2fc")]), - Var("R30",Imm(64)), Int(3296,64))]), Jmps([Call(Tid(2_158, "%0000086e"), - Attrs([Attr("address","0xCDC"), Attr("insn","bl #-0x2fc")]), Int(1,1), -(Direct(Tid(4_744, "@puts")),Direct(Tid(2_160, "%00000870"))))])), -Blk(Tid(2_160, "%00000870"), Attrs([Attr("address","0xCE0")]), Phis([]), -Defs([Def(Tid(2_163, "%00000873"), Attrs([Attr("address","0xCE0"), -Attr("insn","adrp x0, #0")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(2_169, "%00000879"), Attrs([Attr("address","0xCE4"), -Attr("insn","add x0, x0, #0xfc0")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(4032,64))), Def(Tid(2_174, "%0000087e"), - Attrs([Attr("address","0xCE8"), Attr("insn","bl #-0x308")]), - Var("R30",Imm(64)), Int(3308,64))]), Jmps([Call(Tid(2_176, "%00000880"), - Attrs([Attr("address","0xCE8"), Attr("insn","bl #-0x308")]), Int(1,1), -(Direct(Tid(4_744, "@puts")),Direct(Tid(2_178, "%00000882"))))])), -Blk(Tid(2_178, "%00000882"), Attrs([Attr("address","0xCEC")]), Phis([]), -Defs([Def(Tid(2_181, "%00000885"), Attrs([Attr("address","0xCEC"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_187, "%0000088b"), Attrs([Attr("address","0xCF0"), -Attr("insn","add x0, x0, #0x0")]), Var("R0",Imm(64)), Var("R0",Imm(64))), -Def(Tid(2_192, "%00000890"), Attrs([Attr("address","0xCF4"), -Attr("insn","bl #-0x314")]), Var("R30",Imm(64)), Int(3320,64))]), -Jmps([Call(Tid(2_194, "%00000892"), Attrs([Attr("address","0xCF4"), -Attr("insn","bl #-0x314")]), Int(1,1), -(Direct(Tid(4_744, "@puts")),Direct(Tid(2_196, "%00000894"))))])), -Blk(Tid(2_196, "%00000894"), Attrs([Attr("address","0xCF8")]), Phis([]), -Defs([Def(Tid(2_199, "%00000897"), Attrs([Attr("address","0xCF8"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_205, "%0000089d"), Attrs([Attr("address","0xCFC"), -Attr("insn","add x0, x0, #0x30")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(48,64))), Def(Tid(2_210, "%000008a2"), - Attrs([Attr("address","0xD00"), Attr("insn","bl #-0x320")]), - Var("R30",Imm(64)), Int(3332,64))]), Jmps([Call(Tid(2_212, "%000008a4"), - Attrs([Attr("address","0xD00"), Attr("insn","bl #-0x320")]), Int(1,1), -(Direct(Tid(4_744, "@puts")),Direct(Tid(2_214, "%000008a6"))))])), -Blk(Tid(2_214, "%000008a6"), Attrs([Attr("address","0xD04")]), Phis([]), -Defs([Def(Tid(2_221, "%000008ad"), Attrs([Attr("address","0xD08"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_226, "%000008b2"), Attrs([Attr("address","0xD08"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_230, "%000008b6"), Attrs([Attr("address","0xD08"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(2_235, "%000008bb"), - Attrs([Attr("address","0xD0C"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_743, "@printf"), - Attrs([Attr("c.proto","signed (*)( const char restrict * format, ...)"), -Attr("address","0xA20"), Attr("stub","()")]), "printf", - Args([Arg(Tid(4_787, "%000012b3"), Attrs([Attr("format","\"printf\""), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char restrict *")]), Var("printf_format",Imm(64)), -Var("R0",Imm(64)), In()), Arg(Tid(4_788, "%000012b4"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("printf_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_601, "@printf"), - Attrs([Attr("address","0xA20")]), Phis([]), -Defs([Def(Tid(3_933, "%00000f5d"), Attrs([Attr("address","0xA20"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_940, "%00000f64"), Attrs([Attr("address","0xA24"), -Attr("insn","ldr x17, [x16, #0xfa0]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(4000,64)),LittleEndian(),64)), -Def(Tid(3_946, "%00000f6a"), Attrs([Attr("address","0xA28"), -Attr("insn","add x16, x16, #0xfa0")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(4000,64)))]), Jmps([Call(Tid(3_951, "%00000f6f"), - Attrs([Attr("address","0xA2C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_744, "@puts"), - Attrs([Attr("c.proto","signed (*)( const char* s)"), -Attr("address","0x9E0"), Attr("stub","()")]), "puts", - Args([Arg(Tid(4_789, "%000012b5"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char*")]), - Var("puts_s",Imm(64)), Var("R0",Imm(64)), In()), -Arg(Tid(4_790, "%000012b6"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("puts_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(2_051, "@puts"), Attrs([Attr("address","0x9E0")]), Phis([]), -Defs([Def(Tid(3_845, "%00000f05"), Attrs([Attr("address","0x9E0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_852, "%00000f0c"), Attrs([Attr("address","0x9E4"), -Attr("insn","ldr x17, [x16, #0xf80]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3968,64)),LittleEndian(),64)), -Def(Tid(3_858, "%00000f12"), Attrs([Attr("address","0x9E8"), -Attr("insn","add x16, x16, #0xf80")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3968,64)))]), Jmps([Call(Tid(3_863, "%00000f17"), - Attrs([Attr("address","0x9EC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), -Sub(Tid(4_745, "@register_tm_clones"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xAC0")]), - "register_tm_clones", Args([Arg(Tid(4_791, "%000012b7"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("register_tm_clones_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_372, "@register_tm_clones"), - Attrs([Attr("address","0xAC0")]), Phis([]), -Defs([Def(Tid(1_375, "%0000055f"), Attrs([Attr("address","0xAC0"), -Attr("insn","adrp x0, #73728")]), Var("R0",Imm(64)), Int(73728,64)), -Def(Tid(1_381, "%00000565"), Attrs([Attr("address","0xAC4"), -Attr("insn","add x0, x0, #0x10")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(16,64))), Def(Tid(1_386, "%0000056a"), - Attrs([Attr("address","0xAC8"), Attr("insn","adrp x1, #73728")]), - Var("R1",Imm(64)), Int(73728,64)), Def(Tid(1_392, "%00000570"), - Attrs([Attr("address","0xACC"), Attr("insn","add x1, x1, #0x10")]), - Var("R1",Imm(64)), PLUS(Var("R1",Imm(64)),Int(16,64))), -Def(Tid(1_399, "%00000577"), Attrs([Attr("address","0xAD0"), -Attr("insn","sub x1, x1, x0")]), Var("R1",Imm(64)), -PLUS(PLUS(Var("R1",Imm(64)),NOT(Var("R0",Imm(64)))),Int(1,64))), -Def(Tid(1_405, "%0000057d"), Attrs([Attr("address","0xAD4"), -Attr("insn","lsr x2, x1, #63")]), Var("R2",Imm(64)), -Concat(Int(0,63),Extract(63,63,Var("R1",Imm(64))))), -Def(Tid(1_412, "%00000584"), Attrs([Attr("address","0xAD8"), -Attr("insn","add x1, x2, x1, asr #3")]), Var("R1",Imm(64)), -PLUS(Var("R2",Imm(64)),ARSHIFT(Var("R1",Imm(64)),Int(3,3)))), -Def(Tid(1_418, "%0000058a"), Attrs([Attr("address","0xADC"), -Attr("insn","asr x1, x1, #1")]), Var("R1",Imm(64)), -SIGNED(64,Extract(63,1,Var("R1",Imm(64)))))]), -Jmps([Goto(Tid(1_424, "%00000590"), Attrs([Attr("address","0xAE0"), -Attr("insn","cbz x1, #0x18")]), EQ(Var("R1",Imm(64)),Int(0,64)), -Direct(Tid(1_422, "%0000058e"))), Goto(Tid(4_746, "%0000128a"), Attrs([]), - Int(1,1), Direct(Tid(3_211, "%00000c8b")))])), Blk(Tid(3_211, "%00000c8b"), - Attrs([Attr("address","0xAE4")]), Phis([]), -Defs([Def(Tid(3_214, "%00000c8e"), Attrs([Attr("address","0xAE4"), -Attr("insn","adrp x2, #69632")]), Var("R2",Imm(64)), Int(69632,64)), -Def(Tid(3_221, "%00000c95"), Attrs([Attr("address","0xAE8"), -Attr("insn","ldr x2, [x2, #0xff8]")]), Var("R2",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R2",Imm(64)),Int(4088,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(3_226, "%00000c9a"), Attrs([Attr("address","0xAEC"), -Attr("insn","cbz x2, #0xc")]), EQ(Var("R2",Imm(64)),Int(0,64)), -Direct(Tid(1_422, "%0000058e"))), Goto(Tid(4_747, "%0000128b"), Attrs([]), - Int(1,1), Direct(Tid(3_230, "%00000c9e")))])), Blk(Tid(1_422, "%0000058e"), - Attrs([Attr("address","0xAF8")]), Phis([]), Defs([]), -Jmps([Call(Tid(1_430, "%00000596"), Attrs([Attr("address","0xAF8"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(3_230, "%00000c9e"), Attrs([Attr("address","0xAF0")]), Phis([]), -Defs([Def(Tid(3_234, "%00000ca2"), Attrs([Attr("address","0xAF0"), -Attr("insn","mov x16, x2")]), Var("R16",Imm(64)), Var("R2",Imm(64)))]), -Jmps([Call(Tid(3_239, "%00000ca7"), Attrs([Attr("address","0xAF4"), -Attr("insn","br x16")]), Int(1,1), (Indirect(Var("R16",Imm(64))),))]))])), -Sub(Tid(4_748, "@rewind"), Attrs([Attr("c.proto","signed (*)(void)"), -Attr("address","0x9A0"), Attr("stub","()")]), "rewind", - Args([Arg(Tid(4_792, "%000012b8"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("rewind_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(2_651, "@rewind"), Attrs([Attr("address","0x9A0")]), Phis([]), -Defs([Def(Tid(3_757, "%00000ead"), Attrs([Attr("address","0x9A0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_764, "%00000eb4"), Attrs([Attr("address","0x9A4"), -Attr("insn","ldr x17, [x16, #0xf60]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3936,64)),LittleEndian(),64)), -Def(Tid(3_770, "%00000eba"), Attrs([Attr("address","0x9A8"), -Attr("insn","add x16, x16, #0xf60")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3936,64)))]), Jmps([Call(Tid(3_775, "%00000ebf"), - Attrs([Attr("address","0x9AC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_749, "@saveFile"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0xDD4")]), - "saveFile", Args([Arg(Tid(4_793, "%000012b9"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("saveFile_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(2_550, "@saveFile"), - Attrs([Attr("address","0xDD4")]), Phis([]), -Defs([Def(Tid(2_554, "%000009fa"), Attrs([Attr("address","0xDD4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#15",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(2_560, "%00000a00"), Attrs([Attr("address","0xDD4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#15",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(2_566, "%00000a06"), Attrs([Attr("address","0xDD4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#15",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(2_570, "%00000a0a"), Attrs([Attr("address","0xDD4"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#15",Imm(64))), Def(Tid(2_576, "%00000a10"), - Attrs([Attr("address","0xDD8"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(2_581, "%00000a15"), - Attrs([Attr("address","0xDDC"), Attr("insn","adrp x0, #69632")]), - Var("R0",Imm(64)), Int(69632,64)), Def(Tid(2_588, "%00000a1c"), - Attrs([Attr("address","0xDE0"), Attr("insn","ldr x0, [x0, #0xfe8]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4072,64)),LittleEndian(),64)), -Def(Tid(2_595, "%00000a23"), Attrs([Attr("address","0xDE4"), -Attr("insn","ldr x0, [x0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_601, "%00000a29"), Attrs([Attr("address","0xDE8"), -Attr("insn","cmp x0, #0x0")]), Var("#16",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(18446744073709551615,64))), -Def(Tid(2_606, "%00000a2e"), Attrs([Attr("address","0xDE8"), -Attr("insn","cmp x0, #0x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#16",Imm(64)),Int(1,64))),PLUS(SIGNED(65,Var("R0",Imm(64))),Int(0,65)))), -Def(Tid(2_611, "%00000a33"), Attrs([Attr("address","0xDE8"), -Attr("insn","cmp x0, #0x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#16",Imm(64)),Int(1,64))),PLUS(UNSIGNED(65,Var("R0",Imm(64))),Int(18446744073709551616,65)))), -Def(Tid(2_615, "%00000a37"), Attrs([Attr("address","0xDE8"), -Attr("insn","cmp x0, #0x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#16",Imm(64)),Int(1,64)),Int(0,64))), -Def(Tid(2_619, "%00000a3b"), Attrs([Attr("address","0xDE8"), -Attr("insn","cmp x0, #0x0")]), Var("NF",Imm(1)), -Extract(63,63,PLUS(Var("#16",Imm(64)),Int(1,64))))]), -Jmps([Goto(Tid(2_625, "%00000a41"), Attrs([Attr("address","0xDEC"), -Attr("insn","b.ne #0x14")]), NEQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(2_623, "%00000a3f"))), Goto(Tid(4_750, "%0000128e"), Attrs([]), - Int(1,1), Direct(Tid(2_930, "%00000b72")))])), Blk(Tid(2_623, "%00000a3f"), - Attrs([Attr("address","0xE00")]), Phis([]), -Defs([Def(Tid(2_631, "%00000a47"), Attrs([Attr("address","0xE00"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(2_638, "%00000a4e"), Attrs([Attr("address","0xE04"), -Attr("insn","ldr x0, [x0, #0xfe8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4072,64)),LittleEndian(),64)), -Def(Tid(2_645, "%00000a55"), Attrs([Attr("address","0xE08"), -Attr("insn","ldr x0, [x0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_650, "%00000a5a"), Attrs([Attr("address","0xE0C"), -Attr("insn","bl #-0x46c")]), Var("R30",Imm(64)), Int(3600,64))]), -Jmps([Call(Tid(2_653, "%00000a5d"), Attrs([Attr("address","0xE0C"), -Attr("insn","bl #-0x46c")]), Int(1,1), -(Direct(Tid(4_748, "@rewind")),Direct(Tid(2_655, "%00000a5f"))))])), -Blk(Tid(2_655, "%00000a5f"), Attrs([Attr("address","0xE10")]), Phis([]), -Defs([Def(Tid(2_658, "%00000a62"), Attrs([Attr("address","0xE10"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(2_665, "%00000a69"), Attrs([Attr("address","0xE14"), -Attr("insn","ldr x0, [x0, #0xfc8]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4040,64)),LittleEndian(),64)), -Def(Tid(2_672, "%00000a70"), Attrs([Attr("address","0xE18"), -Attr("insn","ldr x0, [x0]")]), Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R0",Imm(64)),LittleEndian(),64)), -Def(Tid(2_678, "%00000a76"), Attrs([Attr("address","0xE1C"), -Attr("insn","mov x1, x0")]), Var("R1",Imm(64)), Var("R0",Imm(64))), -Def(Tid(2_683, "%00000a7b"), Attrs([Attr("address","0xE20"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_689, "%00000a81"), Attrs([Attr("address","0xE24"), -Attr("insn","add x0, x0, #0xc0")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(192,64))), Def(Tid(2_694, "%00000a86"), - Attrs([Attr("address","0xE28"), Attr("insn","bl #-0x408")]), - Var("R30",Imm(64)), Int(3628,64))]), Jmps([Call(Tid(2_696, "%00000a88"), - Attrs([Attr("address","0xE28"), Attr("insn","bl #-0x408")]), Int(1,1), -(Direct(Tid(4_743, "@printf")),Direct(Tid(2_698, "%00000a8a"))))])), -Blk(Tid(2_930, "%00000b72"), Attrs([Attr("address","0xDF0")]), Phis([]), -Defs([Def(Tid(2_933, "%00000b75"), Attrs([Attr("address","0xDF0"), -Attr("insn","adrp x0, #4096")]), Var("R0",Imm(64)), Int(4096,64)), -Def(Tid(2_939, "%00000b7b"), Attrs([Attr("address","0xDF4"), -Attr("insn","add x0, x0, #0xa0")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(160,64))), Def(Tid(2_944, "%00000b80"), - Attrs([Attr("address","0xDF8"), Attr("insn","bl #-0x418")]), - Var("R30",Imm(64)), Int(3580,64))]), Jmps([Call(Tid(2_946, "%00000b82"), - Attrs([Attr("address","0xDF8"), Attr("insn","bl #-0x418")]), Int(1,1), -(Direct(Tid(4_744, "@puts")),Direct(Tid(2_948, "%00000b84"))))])), -Blk(Tid(2_948, "%00000b84"), Attrs([Attr("address","0xDFC")]), Phis([]), -Defs([]), Jmps([Goto(Tid(2_950, "%00000b86"), Attrs([Attr("address","0xDFC"), -Attr("insn","b #0x30")]), Int(1,1), Direct(Tid(2_698, "%00000a8a")))])), -Blk(Tid(2_698, "%00000a8a"), Attrs([Attr("address","0xE2C")]), Phis([]), -Defs([Def(Tid(2_703, "%00000a8f"), Attrs([Attr("address","0xE2C"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(2_708, "%00000a94"), Attrs([Attr("address","0xE2C"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(2_712, "%00000a98"), Attrs([Attr("address","0xE2C"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(2_717, "%00000a9d"), - Attrs([Attr("address","0xE30"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(4_751, "@strcmp"), - Attrs([Attr("c.proto","signed (*)( const char* s1, const char* s2)"), -Attr("pure","()"), Attr("address","0x9F0"), Attr("stub","()")]), "strcmp", - Args([Arg(Tid(4_794, "%000012ba"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcmp_s1",Imm(64)), Var("R0",Imm(64)), -In()), Arg(Tid(4_795, "%000012bb"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcmp_s2",Imm(64)), Var("R1",Imm(64)), -In()), Arg(Tid(4_796, "%000012bc"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("strcmp_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_771, "@strcmp"), Attrs([Attr("address","0x9F0")]), Phis([]), -Defs([Def(Tid(3_867, "%00000f1b"), Attrs([Attr("address","0x9F0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_874, "%00000f22"), Attrs([Attr("address","0x9F4"), -Attr("insn","ldr x17, [x16, #0xf88]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3976,64)),LittleEndian(),64)), -Def(Tid(3_880, "%00000f28"), Attrs([Attr("address","0x9F8"), -Attr("insn","add x16, x16, #0xf88")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3976,64)))]), Jmps([Call(Tid(3_885, "%00000f2d"), - Attrs([Attr("address","0x9FC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_752, "@strcspn"), - Attrs([Attr("c.proto","unsigned long (*)( const char* s, const char* reject)"), -Attr("pure","()"), Attr("address","0xA10"), Attr("stub","()")]), "strcspn", - Args([Arg(Tid(4_797, "%000012bd"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcspn_s",Imm(64)), Var("R0",Imm(64)), -In()), Arg(Tid(4_798, "%000012be"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strcspn_reject",Imm(64)), -Var("R1",Imm(64)), In()), Arg(Tid(4_799, "%000012bf"), - Attrs([Attr("c.layout","[unsigned long : 64]"), Attr("c.data","Top:u64"), -Attr("c.type","unsigned long")]), Var("strcspn_result",Imm(64)), -Var("R0",Imm(64)), Out())]), Blks([Blk(Tid(1_676, "@strcspn"), - Attrs([Attr("address","0xA10")]), Phis([]), -Defs([Def(Tid(3_911, "%00000f47"), Attrs([Attr("address","0xA10"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_918, "%00000f4e"), Attrs([Attr("address","0xA14"), -Attr("insn","ldr x17, [x16, #0xf98]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3992,64)),LittleEndian(),64)), -Def(Tid(3_924, "%00000f54"), Attrs([Attr("address","0xA18"), -Attr("insn","add x16, x16, #0xf98")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3992,64)))]), Jmps([Call(Tid(3_929, "%00000f59"), - Attrs([Attr("address","0xA1C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_753, "@strdup"), - Attrs([Attr("c.proto","char* (*)( const char* s)"), Attr("address","0x9B0"), -Attr("malloc","()"), Attr("stub","()")]), "strdup", - Args([Arg(Tid(4_800, "%000012c0"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strdup_s",Imm(64)), Var("R0",Imm(64)), -In()), Arg(Tid(4_801, "%000012c1"), Attrs([Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type","char*")]), - Var("strdup_result",Imm(64)), Var("R0",Imm(64)), Out())]), -Blks([Blk(Tid(2_334, "@strdup"), Attrs([Attr("address","0x9B0")]), Phis([]), -Defs([Def(Tid(3_779, "%00000ec3"), Attrs([Attr("address","0x9B0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_786, "%00000eca"), Attrs([Attr("address","0x9B4"), -Attr("insn","ldr x17, [x16, #0xf68]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3944,64)),LittleEndian(),64)), -Def(Tid(3_792, "%00000ed0"), Attrs([Attr("address","0x9B8"), -Attr("insn","add x16, x16, #0xf68")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3944,64)))]), Jmps([Call(Tid(3_797, "%00000ed5"), - Attrs([Attr("address","0x9BC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(4_754, "@strncmp"), - Attrs([Attr("c.proto","signed (*)( const char* s1, const char* s2, unsigned long n)"), -Attr("pure","()"), Attr("address","0x990"), Attr("stub","()")]), "strncmp", - Args([Arg(Tid(4_802, "%000012c2"), Attrs([Attr("nonnull","()"), -Attr("c.layout","*[char : 8]"), Attr("c.data","Top:u8 ptr"), -Attr("c.type"," const char*")]), Var("strncmp_s1",Imm(64)), -Var("R0",Imm(64)), In()), Arg(Tid(4_803, "%000012c3"), - Attrs([Attr("nonnull","()"), Attr("c.layout","*[char : 8]"), -Attr("c.data","Top:u8 ptr"), Attr("c.type"," const char*")]), - Var("strncmp_s2",Imm(64)), Var("R1",Imm(64)), In()), -Arg(Tid(4_804, "%000012c4"), Attrs([Attr("c.layout","[unsigned long : 64]"), -Attr("c.data","Top:u64"), Attr("c.type","unsigned long")]), - Var("strncmp_n",Imm(64)), Var("R2",Imm(64)), In()), -Arg(Tid(4_805, "%000012c5"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("strncmp_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(1_833, "@strncmp"), Attrs([Attr("address","0x990")]), Phis([]), -Defs([Def(Tid(3_735, "%00000e97"), Attrs([Attr("address","0x990"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(3_742, "%00000e9e"), Attrs([Attr("address","0x994"), -Attr("insn","ldr x17, [x16, #0xf58]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(3928,64)),LittleEndian(),64)), -Def(Tid(3_748, "%00000ea4"), Attrs([Attr("address","0x998"), -Attr("insn","add x16, x16, #0xf58")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(3928,64)))]), Jmps([Call(Tid(3_753, "%00000ea9"), - Attrs([Attr("address","0x99C"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))]))]))) \ No newline at end of file diff --git a/src/test/correct/complex/gcc_pic/complex.bir b/src/test/correct/complex/gcc_pic/complex.bir deleted file mode 100644 index 411c94a21..000000000 --- a/src/test/correct/complex/gcc_pic/complex.bir +++ /dev/null @@ -1,790 +0,0 @@ -00001293: program -00001261: sub __cxa_finalize(__cxa_finalize_result) -00001294: __cxa_finalize_result :: out u32 = low:32[R0] - -00000c87: -00000e55: R16 := 0x11000 -00000e5c: R17 := mem[R16 + 0xF40, el]:u64 -00000e62: R16 := R16 + 0xF40 -00000e67: call R17 with noreturn - -00001262: sub __do_global_dtors_aux(__do_global_dtors_aux_result) -00001295: __do_global_dtors_aux_result :: out u32 = low:32[R0] - -0000059a: -0000059e: #3 := R31 - 0x20 -000005a4: mem := mem with [#3, el]:u64 <- R29 -000005aa: mem := mem with [#3 + 8, el]:u64 <- R30 -000005ae: R31 := #3 -000005b4: R29 := R31 -000005bc: mem := mem with [R31 + 0x10, el]:u64 <- R19 -000005c1: R19 := 0x12000 -000005c8: R0 := pad:64[mem[R19 + 0x10]] -000005cf: when 31:0[R0] <> 0 goto %000005cd -00001263: goto %00000c50 - -00000c50: -00000c53: R0 := 0x11000 -00000c5a: R0 := mem[R0 + 0xFC0, el]:u64 -00000c60: when R0 = 0 goto %00000c5e -00001264: goto %00000c77 - -00000c77: -00000c7a: R0 := 0x12000 -00000c81: R0 := mem[R0 + 8, el]:u64 -00000c86: R30 := 0xB30 -00000c89: call @__cxa_finalize with return %00000c5e - -00000c5e: -00000c66: R30 := 0xB34 -00000c68: call @deregister_tm_clones with return %00000c6a - -00000c6a: -00000c6d: R0 := 1 -00000c75: mem := mem with [R19 + 0x10] <- 7:0[R0] -00001265: goto %000005cd - -000005cd: -000005d7: R19 := mem[R31 + 0x10, el]:u64 -000005de: R29 := mem[R31, el]:u64 -000005e3: R30 := mem[R31 + 8, el]:u64 -000005e7: R31 := R31 + 0x20 -000005ec: call R30 with noreturn - -00001266: sub __libc_start_main(__libc_start_main_main, __libc_start_main_arg2, __libc_start_main_arg3, __libc_start_main_auxv, __libc_start_main_result) -00001296: __libc_start_main_main :: in u64 = R0 -00001297: __libc_start_main_arg2 :: in u32 = low:32[R1] -00001298: __libc_start_main_arg3 :: in out u64 = R2 -00001299: __libc_start_main_auxv :: in out u64 = R3 -0000129a: __libc_start_main_result :: out u32 = low:32[R0] - -000004f3: -00000e3f: R16 := 0x11000 -00000e46: R17 := mem[R16 + 0xF38, el]:u64 -00000e4c: R16 := R16 + 0xF38 -00000e51: call R17 with noreturn - -00001267: sub _fini(_fini_result) -0000129b: _fini_result :: out u32 = low:32[R0] - -0000001f: -00000025: #0 := R31 - 0x10 -0000002b: mem := mem with [#0, el]:u64 <- R29 -00000031: mem := mem with [#0 + 8, el]:u64 <- R30 -00000035: R31 := #0 -0000003b: R29 := R31 -00000042: R29 := mem[R31, el]:u64 -00000047: R30 := mem[R31 + 8, el]:u64 -0000004b: R31 := R31 + 0x10 -00000050: call R30 with noreturn - -00001268: sub _init(_init_result) -0000129c: _init_result :: out u32 = low:32[R0] - -000010c0: -000010c6: #21 := R31 - 0x10 -000010cc: mem := mem with [#21, el]:u64 <- R29 -000010d2: mem := mem with [#21 + 8, el]:u64 <- R30 -000010d6: R31 := #21 -000010dc: R29 := R31 -000010e1: R30 := 0x918 -000010e3: call @call_weak_fn with return %000010e5 - -000010e5: -000010ea: R29 := mem[R31, el]:u64 -000010ef: R30 := mem[R31 + 8, el]:u64 -000010f3: R31 := R31 + 0x10 -000010f8: call R30 with noreturn - -00001269: sub _start(_start_result) -0000129d: _start_result :: out u32 = low:32[R0] - -000004b4: -000004b9: R29 := 0 -000004be: R30 := 0 -000004c4: R5 := R0 -000004cb: R1 := mem[R31, el]:u64 -000004d1: R2 := R31 + 8 -000004d7: R6 := R31 -000004dc: R0 := 0x11000 -000004e3: R0 := mem[R0 + 0xFF0, el]:u64 -000004e8: R3 := 0 -000004ed: R4 := 0 -000004f2: R30 := 0xA70 -000004f5: call @__libc_start_main with return %000004f7 - -000004f7: -000004fa: R30 := 0xA74 -000004fd: call @abort with return %0000126a - -0000126a: -0000126b: call @call_weak_fn with noreturn - -0000126c: sub abort() - - -000004fb: -00000eef: R16 := 0x11000 -00000ef6: R17 := mem[R16 + 0xF78, el]:u64 -00000efc: R16 := R16 + 0xF78 -00000f01: call R17 with noreturn - -0000126d: sub call_weak_fn(call_weak_fn_result) -0000129e: call_weak_fn_result :: out u32 = low:32[R0] - -000004ff: -00000502: R0 := 0x11000 -00000509: R0 := mem[R0 + 0xFD8, el]:u64 -0000050f: when R0 = 0 goto %0000050d -0000126e: goto %00000cc7 - -0000050d: -00000515: call R30 with noreturn - -00000cc7: -00000cca: goto @__gmon_start__ - -00000cc8: -00000ed9: R16 := 0x11000 -00000ee0: R17 := mem[R16 + 0xF70, el]:u64 -00000ee6: R16 := R16 + 0xF70 -00000eeb: call R17 with noreturn - -0000126f: sub closeFile(closeFile_result) -0000129f: closeFile_result :: out u32 = low:32[R0] - -00000a9f: -00000aa3: #17 := R31 - 0x10 -00000aa9: mem := mem with [#17, el]:u64 <- R29 -00000aaf: mem := mem with [#17 + 8, el]:u64 <- R30 -00000ab3: R31 := #17 -00000ab9: R29 := R31 -00000abe: R0 := 0x11000 -00000ac5: R0 := mem[R0 + 0xFE8, el]:u64 -00000acc: R0 := mem[R0, el]:u64 -00000ad2: #18 := R0 - 1 -00000ad7: VF := extend:65[#18 + 1] <> extend:65[R0] + 0 -00000adc: CF := pad:65[#18 + 1] <> pad:65[R0] - 0x10000000000000000 -00000ae0: ZF := #18 + 1 = 0 -00000ae4: NF := 63:63[#18 + 1] -00000aea: when ZF goto %00000ae8 -00001270: goto %00000b04 - -00000b04: -00000b07: R0 := 0x11000 -00000b0e: R0 := mem[R0 + 0xFE8, el]:u64 -00000b15: R0 := mem[R0, el]:u64 -00000b1a: R30 := 0xE60 -00000b1d: call @fclose with return %00000b1f - -00000b1f: -00000b22: R0 := 0x11000 -00000b29: R0 := mem[R0 + 0xFC8, el]:u64 -00000b30: R0 := mem[R0, el]:u64 -00000b35: R30 := 0xE70 -00000b38: call @free with return %00000b3a - -00000b3a: -00000b3d: R0 := 0x11000 -00000b44: R0 := mem[R0 + 0xFE8, el]:u64 -00000b4b: mem := mem with [R0, el]:u64 <- 0 -00000b50: R0 := 0x11000 -00000b57: R0 := mem[R0 + 0xFC8, el]:u64 -00000b5e: mem := mem with [R0, el]:u64 <- 0 -00000b63: R0 := 0x1000 -00000b69: R0 := R0 + 0xE0 -00000b6e: R30 := 0xE94 -00000b70: call @puts with return %00000ae8 - -00000ae8: -00000af4: R29 := mem[R31, el]:u64 -00000af9: R30 := mem[R31 + 8, el]:u64 -00000afd: R31 := R31 + 0x10 -00000b02: call R30 with noreturn - -00001271: sub deregister_tm_clones(deregister_tm_clones_result) -000012a0: deregister_tm_clones_result :: out u32 = low:32[R0] - -0000051b: -0000051e: R0 := 0x12000 -00000524: R0 := R0 + 0x10 -00000529: R1 := 0x12000 -0000052f: R1 := R1 + 0x10 -00000535: #1 := ~R0 -0000053a: #2 := R1 + ~R0 -00000540: VF := extend:65[#2 + 1] <> extend:65[R1] + extend:65[#1] + 1 -00000546: CF := pad:65[#2 + 1] <> pad:65[R1] + pad:65[#1] + 1 -0000054a: ZF := #2 + 1 = 0 -0000054e: NF := 63:63[#2 + 1] -00000554: when ZF goto %00000552 -00001272: goto %00000ca9 - -00000ca9: -00000cac: R1 := 0x11000 -00000cb3: R1 := mem[R1 + 0xFB8, el]:u64 -00000cb8: when R1 = 0 goto %00000552 -00001273: goto %00000cbc - -00000552: -0000055a: call R30 with noreturn - -00000cbc: -00000cc0: R16 := R1 -00000cc5: call R16 with noreturn - -00001274: sub exit(exit_code) -000012a1: exit_code :: in u32 = low:32[R0] - -00000bf9: -00000e29: R16 := 0x11000 -00000e30: R17 := mem[R16 + 0xF30, el]:u64 -00000e36: R16 := R16 + 0xF30 -00000e3b: call R17 with noreturn - -00001275: sub fclose(fclose_fp, fclose_result) -000012a2: fclose_fp :: in out u64 = R0 -000012a3: fclose_result :: out u32 = low:32[R0] - -00000b1b: -00000e6b: R16 := 0x11000 -00000e72: R17 := mem[R16 + 0xF48, el]:u64 -00000e78: R16 := R16 + 0xF48 -00000e7d: call R17 with noreturn - -00001276: sub fgets(fgets_s, fgets_size, fgets_stream, fgets_result) -000012a4: fgets_s :: in out u64 = R0 -000012a5: fgets_size :: in u32 = low:32[R1] -000012a6: fgets_stream :: in out u64 = R2 -000012a7: fgets_result :: out u64 = R0 - -0000066d: -00000f73: R16 := 0x11000 -00000f7a: R17 := mem[R16 + 0xFA8, el]:u64 -00000f80: R16 := R16 + 0xFA8 -00000f85: call R17 with noreturn - -00001277: sub fopen(fopen_path, fopen_mode, fopen_result) -000012a8: fopen_path :: in u64 = R0 -000012a9: fopen_mode :: in u64 = R1 -000012aa: fopen_result :: out u64 = R0 - -00000964: -00000e81: R16 := 0x11000 -00000e88: R17 := mem[R16 + 0xF50, el]:u64 -00000e8e: R16 := R16 + 0xF50 -00000e93: call R17 with noreturn - -00001278: sub frame_dummy(frame_dummy_result) -000012ab: frame_dummy_result :: out u32 = low:32[R0] - -000005f2: -000005f4: call @register_tm_clones with noreturn - -00001279: sub free(free_ptr) -000012ac: free_ptr :: in out u64 = R0 - -00000b36: -00000f31: R16 := 0x11000 -00000f38: R17 := mem[R16 + 0xF90, el]:u64 -00000f3e: R16 := R16 + 0xF90 -00000f43: call R17 with noreturn - -0000127a: sub handleInput(handleInput_result) -000012ad: handleInput_result :: out u32 = low:32[R0] - -000006ae: -000006b5: #5 := R31 - 0x30 -000006bb: mem := mem with [#5, el]:u64 <- R29 -000006c1: mem := mem with [#5 + 8, el]:u64 <- R30 -000006c5: R31 := #5 -000006cb: R29 := R31 -000006d3: mem := mem with [R31 + 0x18, el]:u64 <- R0 -000006d8: R0 := 0 -000006de: R1 := R0 + 0xEE0 -000006e5: R0 := mem[R31 + 0x18, el]:u64 -000006ea: R30 := 0xBE0 -000006ed: call @strcmp with return %000006ef - -000006ef: -000006f3: #6 := 31:0[R0] - 1 -000006f8: VF := extend:33[#6 + 1] <> extend:33[31:0[R0]] + 0 -000006fd: CF := pad:33[#6 + 1] <> pad:33[31:0[R0]] - 0x100000000 -00000701: ZF := #6 + 1 = 0 -00000705: NF := 31:31[#6 + 1] -0000070b: when ZF <> 1 goto %00000709 -0000127b: goto %00000c41 - -00000709: -00000711: R2 := 5 -00000716: R0 := 0 -0000071c: R1 := R0 + 0xEE8 -00000723: R0 := mem[R31 + 0x18, el]:u64 -00000728: R30 := 0xC04 -0000072b: call @strncmp with return %0000072d - -0000072d: -00000731: #7 := 31:0[R0] - 1 -00000736: VF := extend:33[#7 + 1] <> extend:33[31:0[R0]] + 0 -0000073b: CF := pad:33[#7 + 1] <> pad:33[31:0[R0]] - 0x100000000 -0000073f: ZF := #7 + 1 = 0 -00000743: NF := 31:31[#7 + 1] -00000749: when ZF <> 1 goto %00000747 -0000127c: goto %00000c1a - -00000747: -0000074f: R0 := 0 -00000755: R1 := R0 + 0xEF0 -0000075c: R0 := mem[R31 + 0x18, el]:u64 -00000761: R30 := 0xC34 -00000763: call @strcmp with return %00000765 - -00000765: -00000769: #8 := 31:0[R0] - 1 -0000076e: VF := extend:33[#8 + 1] <> extend:33[31:0[R0]] + 0 -00000773: CF := pad:33[#8 + 1] <> pad:33[31:0[R0]] - 0x100000000 -00000777: ZF := #8 + 1 = 0 -0000077b: NF := 31:31[#8 + 1] -00000781: when ZF <> 1 goto %0000077f -0000127d: goto %00000c0f - -0000077f: -00000787: R0 := 0 -0000078d: R1 := R0 + 0xEF8 -00000794: R0 := mem[R31 + 0x18, el]:u64 -00000799: R30 := 0xC54 -0000079b: call @strcmp with return %0000079d - -0000079d: -000007a1: #9 := 31:0[R0] - 1 -000007a6: VF := extend:33[#9 + 1] <> extend:33[31:0[R0]] + 0 -000007ab: CF := pad:33[#9 + 1] <> pad:33[31:0[R0]] - 0x100000000 -000007af: ZF := #9 + 1 = 0 -000007b3: NF := 31:31[#9 + 1] -000007b9: when ZF <> 1 goto %000007b7 -0000127e: goto %00000c04 - -000007b7: -000007bf: R0 := 0 -000007c5: R1 := R0 + 0xF00 -000007cc: R0 := mem[R31 + 0x18, el]:u64 -000007d1: R30 := 0xC74 -000007d3: call @strcmp with return %000007d5 - -000007d5: -000007d9: #10 := 31:0[R0] - 1 -000007de: VF := extend:33[#10 + 1] <> extend:33[31:0[R0]] + 0 -000007e3: CF := pad:33[#10 + 1] <> pad:33[31:0[R0]] - 0x100000000 -000007e7: ZF := #10 + 1 = 0 -000007eb: NF := 31:31[#10 + 1] -000007f1: when ZF <> 1 goto %000007ef -0000127f: goto %00000bbe - -00000bbe: -00000bc1: R0 := 0x11000 -00000bc8: R0 := mem[R0 + 0xFE8, el]:u64 -00000bcf: R0 := mem[R0, el]:u64 -00000bd5: #19 := R0 - 1 -00000bda: VF := extend:65[#19 + 1] <> extend:65[R0] + 0 -00000bdf: CF := pad:65[#19 + 1] <> pad:65[R0] - 0x10000000000000000 -00000be3: ZF := #19 + 1 = 0 -00000be7: NF := 63:63[#19 + 1] -00000bed: when ZF goto %00000beb -00001280: goto %00000bfd - -00000bfd: -00000c00: R30 := 0xC94 -00000c02: call @closeFile with return %00000beb - -00000beb: -00000bf3: R0 := 0 -00000bf8: R30 := 0xC9C -00000bfb: call @exit with return %000007ef - -000007ef: -000007f7: R0 := 0 -000007fd: R0 := R0 + 0xF08 -00000802: R30 := 0xCA8 -00000805: call @puts with return %00000807 - -00000c04: -00000c07: R30 := 0xC60 -00000c09: call @closeFile with return %00000c0b - -00000c0b: -00000c0d: goto %00000807 - -00000c0f: -00000c12: R30 := 0xC40 -00000c14: call @saveFile with return %00000c16 - -00000c16: -00000c18: goto %00000807 - -00000c1a: -00000c1f: R0 := mem[R31 + 0x18, el]:u64 -00000c25: R0 := R0 + 5 -00000c2d: mem := mem with [R31 + 0x28, el]:u64 <- R0 -00000c34: R0 := mem[R31 + 0x28, el]:u64 -00000c39: R30 := 0xC20 -00000c3b: call @openFile with return %00000c3d - -00000c3d: -00000c3f: goto %00000807 - -00000c41: -00000c44: R30 := 0xBEC -00000c46: call @printHelp with return %00000c48 - -00000c48: -00000c4a: goto %00000807 - -00000807: -0000080e: R29 := mem[R31, el]:u64 -00000813: R30 := mem[R31 + 8, el]:u64 -00000817: R31 := R31 + 0x30 -0000081c: call R30 with noreturn - -00001281: sub main(main_argc, main_argv, main_result) -000012ae: main_argc :: in u32 = low:32[R0] -000012af: main_argv :: in out u64 = R1 -000012b0: main_result :: out u32 = low:32[R0] - -000005f6: -000005fa: #4 := R31 - 0x120 -00000600: mem := mem with [#4, el]:u64 <- R29 -00000606: mem := mem with [#4 + 8, el]:u64 <- R30 -0000060a: R31 := #4 -00000610: R29 := R31 -00000615: R0 := 0x11000 -0000061c: R0 := mem[R0 + 0xFE0, el]:u64 -00000623: R1 := mem[R0, el]:u64 -0000062b: mem := mem with [R31 + 0x118, el]:u64 <- R1 -00000630: R1 := 0 -00001282: goto %00000632 - -00000632: -00000635: R0 := 0 -0000063b: R0 := R0 + 0xEC0 -00000640: R30 := 0xB7C -00000643: call @printf with return %00000645 - -00000645: -00000648: R0 := 0x11000 -0000064f: R0 := mem[R0 + 0xFD0, el]:u64 -00000656: R1 := mem[R0, el]:u64 -0000065c: R0 := R31 + 0x18 -00000662: R2 := R1 -00000667: R1 := 0x100 -0000066c: R30 := 0xB98 -0000066f: call @fgets with return %00000671 - -00000671: -00000675: R2 := R31 + 0x18 -0000067a: R0 := 0 -00000680: R1 := R0 + 0xED8 -00000686: R0 := R2 -0000068b: R30 := 0xBAC -0000068e: call @strcspn with return %00000690 - -00000690: -00000694: R1 := R0 -0000069a: R0 := R31 + 0x18 -000006a2: mem := mem with [R0 + R1] <- 0 -000006a8: R0 := R31 + 0x18 -000006ad: R30 := 0xBC0 -000006b0: call @handleInput with return %00000c4c - -00000c4c: -00000c4e: goto %00000632 - -00001283: sub openFile(openFile_result) -000012b1: openFile_result :: out u32 = low:32[R0] - -000008bd: -000008c1: #12 := R31 - 0x20 -000008c7: mem := mem with [#12, el]:u64 <- R29 -000008cd: mem := mem with [#12 + 8, el]:u64 <- R30 -000008d1: R31 := #12 -000008d7: R29 := R31 -000008df: mem := mem with [R31 + 0x18, el]:u64 <- R0 -000008e4: R0 := 0x11000 -000008eb: R0 := mem[R0 + 0xFE8, el]:u64 -000008f2: R0 := mem[R0, el]:u64 -000008f8: #13 := R0 - 1 -000008fd: VF := extend:65[#13 + 1] <> extend:65[R0] + 0 -00000902: CF := pad:65[#13 + 1] <> pad:65[R0] - 0x10000000000000000 -00000906: ZF := #13 + 1 = 0 -0000090a: NF := 63:63[#13 + 1] -00000910: when ZF goto %0000090e -00001284: goto %00000bb7 - -00000bb7: -00000bba: R30 := 0xD34 -00000bbc: call @closeFile with return %0000090e - -0000090e: -00000918: R0 := mem[R31 + 0x18, el]:u64 -0000091d: R30 := 0xD3C -00000920: call @strdup with return %00000922 - -00000922: -00000926: R1 := R0 -0000092b: R0 := 0x11000 -00000932: R0 := mem[R0 + 0xFC8, el]:u64 -0000093a: mem := mem with [R0, el]:u64 <- R1 -0000093f: R0 := 0x11000 -00000946: R0 := mem[R0 + 0xFC8, el]:u64 -0000094d: R2 := mem[R0, el]:u64 -00000952: R0 := 0x1000 -00000958: R1 := R0 + 0x60 -0000095e: R0 := R2 -00000963: R30 := 0xD68 -00000966: call @fopen with return %00000968 - -00000968: -0000096c: R1 := R0 -00000971: R0 := 0x11000 -00000978: R0 := mem[R0 + 0xFE8, el]:u64 -00000980: mem := mem with [R0, el]:u64 <- R1 -00000985: R0 := 0x11000 -0000098c: R0 := mem[R0 + 0xFE8, el]:u64 -00000993: R0 := mem[R0, el]:u64 -00000999: #14 := R0 - 1 -0000099e: VF := extend:65[#14 + 1] <> extend:65[R0] + 0 -000009a3: CF := pad:65[#14 + 1] <> pad:65[R0] - 0x10000000000000000 -000009a7: ZF := #14 + 1 = 0 -000009ab: NF := 63:63[#14 + 1] -000009b1: when ZF <> 1 goto %000009af -00001285: goto %00000b88 - -000009af: -000009b7: R0 := 0x11000 -000009be: R0 := mem[R0 + 0xFC8, el]:u64 -000009c5: R0 := mem[R0, el]:u64 -000009cb: R1 := R0 -000009d0: R0 := 0x1000 -000009d6: R0 := R0 + 0x88 -000009db: R30 := 0xDC8 -000009dd: call @printf with return %000009df - -00000b88: -00000b8b: R0 := 0x11000 -00000b92: R0 := mem[R0 + 0xFC8, el]:u64 -00000b99: R0 := mem[R0, el]:u64 -00000b9f: R1 := R0 -00000ba4: R0 := 0x1000 -00000baa: R0 := R0 + 0x68 -00000baf: R30 := 0xDA8 -00000bb1: call @printf with return %00000bb3 - -00000bb3: -00000bb5: goto %000009df - -000009df: -000009e6: R29 := mem[R31, el]:u64 -000009eb: R30 := mem[R31 + 8, el]:u64 -000009ef: R31 := R31 + 0x20 -000009f4: call R30 with noreturn - -00001286: sub printHelp(printHelp_result) -000012b2: printHelp_result :: out u32 = low:32[R0] - -0000081e: -00000822: #11 := R31 - 0x10 -00000828: mem := mem with [#11, el]:u64 <- R29 -0000082e: mem := mem with [#11 + 8, el]:u64 <- R30 -00000832: R31 := #11 -00000838: R29 := R31 -0000083d: R0 := 0 -00000843: R0 := R0 + 0xF40 -00000848: R30 := 0xCC8 -0000084a: call @puts with return %0000084c - -0000084c: -0000084f: R0 := 0 -00000855: R0 := R0 + 0xF50 -0000085a: R30 := 0xCD4 -0000085c: call @puts with return %0000085e - -0000085e: -00000861: R0 := 0 -00000867: R0 := R0 + 0xF88 -0000086c: R30 := 0xCE0 -0000086e: call @puts with return %00000870 - -00000870: -00000873: R0 := 0 -00000879: R0 := R0 + 0xFC0 -0000087e: R30 := 0xCEC -00000880: call @puts with return %00000882 - -00000882: -00000885: R0 := 0x1000 -0000088b: R0 := R0 -00000890: R30 := 0xCF8 -00000892: call @puts with return %00000894 - -00000894: -00000897: R0 := 0x1000 -0000089d: R0 := R0 + 0x30 -000008a2: R30 := 0xD04 -000008a4: call @puts with return %000008a6 - -000008a6: -000008ad: R29 := mem[R31, el]:u64 -000008b2: R30 := mem[R31 + 8, el]:u64 -000008b6: R31 := R31 + 0x10 -000008bb: call R30 with noreturn - -00001287: sub printf(printf_format, printf_result) -000012b3: printf_format :: in u64 = R0 -000012b4: printf_result :: out u32 = low:32[R0] - -00000641: -00000f5d: R16 := 0x11000 -00000f64: R17 := mem[R16 + 0xFA0, el]:u64 -00000f6a: R16 := R16 + 0xFA0 -00000f6f: call R17 with noreturn - -00001288: sub puts(puts_s, puts_result) -000012b5: puts_s :: in u64 = R0 -000012b6: puts_result :: out u32 = low:32[R0] - -00000803: -00000f05: R16 := 0x11000 -00000f0c: R17 := mem[R16 + 0xF80, el]:u64 -00000f12: R16 := R16 + 0xF80 -00000f17: call R17 with noreturn - -00001289: sub register_tm_clones(register_tm_clones_result) -000012b7: register_tm_clones_result :: out u32 = low:32[R0] - -0000055c: -0000055f: R0 := 0x12000 -00000565: R0 := R0 + 0x10 -0000056a: R1 := 0x12000 -00000570: R1 := R1 + 0x10 -00000577: R1 := R1 + ~R0 + 1 -0000057d: R2 := 0.63:63[R1] -00000584: R1 := R2 + (R1 ~>> 3) -0000058a: R1 := extend:64[63:1[R1]] -00000590: when R1 = 0 goto %0000058e -0000128a: goto %00000c8b - -00000c8b: -00000c8e: R2 := 0x11000 -00000c95: R2 := mem[R2 + 0xFF8, el]:u64 -00000c9a: when R2 = 0 goto %0000058e -0000128b: goto %00000c9e - -0000058e: -00000596: call R30 with noreturn - -00000c9e: -00000ca2: R16 := R2 -00000ca7: call R16 with noreturn - -0000128c: sub rewind(rewind_result) -000012b8: rewind_result :: out u32 = low:32[R0] - -00000a5b: -00000ead: R16 := 0x11000 -00000eb4: R17 := mem[R16 + 0xF60, el]:u64 -00000eba: R16 := R16 + 0xF60 -00000ebf: call R17 with noreturn - -0000128d: sub saveFile(saveFile_result) -000012b9: saveFile_result :: out u32 = low:32[R0] - -000009f6: -000009fa: #15 := R31 - 0x10 -00000a00: mem := mem with [#15, el]:u64 <- R29 -00000a06: mem := mem with [#15 + 8, el]:u64 <- R30 -00000a0a: R31 := #15 -00000a10: R29 := R31 -00000a15: R0 := 0x11000 -00000a1c: R0 := mem[R0 + 0xFE8, el]:u64 -00000a23: R0 := mem[R0, el]:u64 -00000a29: #16 := R0 - 1 -00000a2e: VF := extend:65[#16 + 1] <> extend:65[R0] + 0 -00000a33: CF := pad:65[#16 + 1] <> pad:65[R0] - 0x10000000000000000 -00000a37: ZF := #16 + 1 = 0 -00000a3b: NF := 63:63[#16 + 1] -00000a41: when ZF <> 1 goto %00000a3f -0000128e: goto %00000b72 - -00000a3f: -00000a47: R0 := 0x11000 -00000a4e: R0 := mem[R0 + 0xFE8, el]:u64 -00000a55: R0 := mem[R0, el]:u64 -00000a5a: R30 := 0xE10 -00000a5d: call @rewind with return %00000a5f - -00000a5f: -00000a62: R0 := 0x11000 -00000a69: R0 := mem[R0 + 0xFC8, el]:u64 -00000a70: R0 := mem[R0, el]:u64 -00000a76: R1 := R0 -00000a7b: R0 := 0x1000 -00000a81: R0 := R0 + 0xC0 -00000a86: R30 := 0xE2C -00000a88: call @printf with return %00000a8a - -00000b72: -00000b75: R0 := 0x1000 -00000b7b: R0 := R0 + 0xA0 -00000b80: R30 := 0xDFC -00000b82: call @puts with return %00000b84 - -00000b84: -00000b86: goto %00000a8a - -00000a8a: -00000a8f: R29 := mem[R31, el]:u64 -00000a94: R30 := mem[R31 + 8, el]:u64 -00000a98: R31 := R31 + 0x10 -00000a9d: call R30 with noreturn - -0000128f: sub strcmp(strcmp_s1, strcmp_s2, strcmp_result) -000012ba: strcmp_s1 :: in u64 = R0 -000012bb: strcmp_s2 :: in u64 = R1 -000012bc: strcmp_result :: out u32 = low:32[R0] - -000006eb: -00000f1b: R16 := 0x11000 -00000f22: R17 := mem[R16 + 0xF88, el]:u64 -00000f28: R16 := R16 + 0xF88 -00000f2d: call R17 with noreturn - -00001290: sub strcspn(strcspn_s, strcspn_reject, strcspn_result) -000012bd: strcspn_s :: in u64 = R0 -000012be: strcspn_reject :: in u64 = R1 -000012bf: strcspn_result :: out u64 = R0 - -0000068c: -00000f47: R16 := 0x11000 -00000f4e: R17 := mem[R16 + 0xF98, el]:u64 -00000f54: R16 := R16 + 0xF98 -00000f59: call R17 with noreturn - -00001291: sub strdup(strdup_s, strdup_result) -000012c0: strdup_s :: in u64 = R0 -000012c1: strdup_result :: out u64 = R0 - -0000091e: -00000ec3: R16 := 0x11000 -00000eca: R17 := mem[R16 + 0xF68, el]:u64 -00000ed0: R16 := R16 + 0xF68 -00000ed5: call R17 with noreturn - -00001292: sub strncmp(strncmp_s1, strncmp_s2, strncmp_n, strncmp_result) -000012c2: strncmp_s1 :: in u64 = R0 -000012c3: strncmp_s2 :: in u64 = R1 -000012c4: strncmp_n :: in u64 = R2 -000012c5: strncmp_result :: out u32 = low:32[R0] - -00000729: -00000e97: R16 := 0x11000 -00000e9e: R17 := mem[R16 + 0xF58, el]:u64 -00000ea4: R16 := R16 + 0xF58 -00000ea9: call R17 with noreturn diff --git a/src/test/correct/complex/gcc_pic/complex.relf b/src/test/correct/complex/gcc_pic/complex.relf deleted file mode 100644 index def41c362..000000000 --- a/src/test/correct/complex/gcc_pic/complex.relf +++ /dev/null @@ -1,172 +0,0 @@ - -Relocation section '.rela.dyn' at offset 0x668 contains 12 entries: - Offset Info Type Symbol's Value Symbol's Name + Addend -0000000000011d08 0000000000000403 R_AARCH64_RELATIVE b50 -0000000000011d10 0000000000000403 R_AARCH64_RELATIVE b00 -0000000000011fc8 0000000000000403 R_AARCH64_RELATIVE 12018 -0000000000011fe8 0000000000000403 R_AARCH64_RELATIVE 12020 -0000000000011ff0 0000000000000403 R_AARCH64_RELATIVE b54 -0000000000012008 0000000000000403 R_AARCH64_RELATIVE 12008 -0000000000011fb8 0000000500000401 R_AARCH64_GLOB_DAT 0000000000000000 _ITM_deregisterTMCloneTable + 0 -0000000000011fc0 0000000600000401 R_AARCH64_GLOB_DAT 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0 -0000000000011fd0 0000000b00000401 R_AARCH64_GLOB_DAT 0000000000000000 stdin@GLIBC_2.17 + 0 -0000000000011fd8 0000000d00000401 R_AARCH64_GLOB_DAT 0000000000000000 __gmon_start__ + 0 -0000000000011fe0 0000000e00000401 R_AARCH64_GLOB_DAT 0000000000000000 __stack_chk_guard@GLIBC_2.17 + 0 -0000000000011ff8 0000001300000401 R_AARCH64_GLOB_DAT 0000000000000000 _ITM_registerTMCloneTable + 0 - -Relocation section '.rela.plt' at offset 0x788 contains 16 entries: - Offset Info Type Symbol's Value Symbol's Name + Addend -0000000000011f30 0000000300000402 R_AARCH64_JUMP_SLOT 0000000000000000 exit@GLIBC_2.17 + 0 -0000000000011f38 0000000400000402 R_AARCH64_JUMP_SLOT 0000000000000000 __libc_start_main@GLIBC_2.34 + 0 -0000000000011f40 0000000600000402 R_AARCH64_JUMP_SLOT 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0 -0000000000011f48 0000000700000402 R_AARCH64_JUMP_SLOT 0000000000000000 fclose@GLIBC_2.17 + 0 -0000000000011f50 0000000800000402 R_AARCH64_JUMP_SLOT 0000000000000000 fopen@GLIBC_2.17 + 0 -0000000000011f58 0000000900000402 R_AARCH64_JUMP_SLOT 0000000000000000 strncmp@GLIBC_2.17 + 0 -0000000000011f60 0000000a00000402 R_AARCH64_JUMP_SLOT 0000000000000000 rewind@GLIBC_2.17 + 0 -0000000000011f68 0000000c00000402 R_AARCH64_JUMP_SLOT 0000000000000000 strdup@GLIBC_2.17 + 0 -0000000000011f70 0000000d00000402 R_AARCH64_JUMP_SLOT 0000000000000000 __gmon_start__ + 0 -0000000000011f78 0000000f00000402 R_AARCH64_JUMP_SLOT 0000000000000000 abort@GLIBC_2.17 + 0 -0000000000011f80 0000001000000402 R_AARCH64_JUMP_SLOT 0000000000000000 puts@GLIBC_2.17 + 0 -0000000000011f88 0000001100000402 R_AARCH64_JUMP_SLOT 0000000000000000 strcmp@GLIBC_2.17 + 0 -0000000000011f90 0000001200000402 R_AARCH64_JUMP_SLOT 0000000000000000 free@GLIBC_2.17 + 0 -0000000000011f98 0000001400000402 R_AARCH64_JUMP_SLOT 0000000000000000 strcspn@GLIBC_2.17 + 0 -0000000000011fa0 0000001500000402 R_AARCH64_JUMP_SLOT 0000000000000000 printf@GLIBC_2.17 + 0 -0000000000011fa8 0000001600000402 R_AARCH64_JUMP_SLOT 0000000000000000 fgets@GLIBC_2.17 + 0 - -Symbol table '.dynsym' contains 23 entries: - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000908 0 SECTION LOCAL DEFAULT 11 .init - 2: 0000000000012000 0 SECTION LOCAL DEFAULT 22 .data - 3: 0000000000000000 0 FUNC GLOBAL DEFAULT UND exit@GLIBC_2.17 (2) - 4: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.34 (3) - 5: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable - 6: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 (2) - 7: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fclose@GLIBC_2.17 (2) - 8: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fopen@GLIBC_2.17 (2) - 9: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strncmp@GLIBC_2.17 (2) - 10: 0000000000000000 0 FUNC GLOBAL DEFAULT UND rewind@GLIBC_2.17 (2) - 11: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND stdin@GLIBC_2.17 (2) - 12: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strdup@GLIBC_2.17 (2) - 13: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 14: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND __stack_chk_guard@GLIBC_2.17 (4) - 15: 0000000000000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.17 (2) - 16: 0000000000000000 0 FUNC GLOBAL DEFAULT UND puts@GLIBC_2.17 (2) - 17: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcmp@GLIBC_2.17 (2) - 18: 0000000000000000 0 FUNC GLOBAL DEFAULT UND free@GLIBC_2.17 (2) - 19: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - 20: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcspn@GLIBC_2.17 (2) - 21: 0000000000000000 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.17 (2) - 22: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fgets@GLIBC_2.17 (2) - -Symbol table '.symtab' contains 109 entries: - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000238 0 SECTION LOCAL DEFAULT 1 .interp - 2: 0000000000000254 0 SECTION LOCAL DEFAULT 2 .note.gnu.build-id - 3: 0000000000000278 0 SECTION LOCAL DEFAULT 3 .note.ABI-tag - 4: 0000000000000298 0 SECTION LOCAL DEFAULT 4 .gnu.hash - 5: 00000000000002b8 0 SECTION LOCAL DEFAULT 5 .dynsym - 6: 00000000000004e0 0 SECTION LOCAL DEFAULT 6 .dynstr - 7: 00000000000005ea 0 SECTION LOCAL DEFAULT 7 .gnu.version - 8: 0000000000000618 0 SECTION LOCAL DEFAULT 8 .gnu.version_r - 9: 0000000000000668 0 SECTION LOCAL DEFAULT 9 .rela.dyn - 10: 0000000000000788 0 SECTION LOCAL DEFAULT 10 .rela.plt - 11: 0000000000000908 0 SECTION LOCAL DEFAULT 11 .init - 12: 0000000000000920 0 SECTION LOCAL DEFAULT 12 .plt - 13: 0000000000000a40 0 SECTION LOCAL DEFAULT 13 .text - 14: 0000000000000ea0 0 SECTION LOCAL DEFAULT 14 .fini - 15: 0000000000000eb8 0 SECTION LOCAL DEFAULT 15 .rodata - 16: 00000000000010f0 0 SECTION LOCAL DEFAULT 16 .eh_frame_hdr - 17: 0000000000001158 0 SECTION LOCAL DEFAULT 17 .eh_frame - 18: 0000000000011d08 0 SECTION LOCAL DEFAULT 18 .init_array - 19: 0000000000011d10 0 SECTION LOCAL DEFAULT 19 .fini_array - 20: 0000000000011d18 0 SECTION LOCAL DEFAULT 20 .dynamic - 21: 0000000000011f18 0 SECTION LOCAL DEFAULT 21 .got - 22: 0000000000012000 0 SECTION LOCAL DEFAULT 22 .data - 23: 0000000000012010 0 SECTION LOCAL DEFAULT 23 .bss - 24: 0000000000000000 0 SECTION LOCAL DEFAULT 24 .comment - 25: 0000000000000000 0 FILE LOCAL DEFAULT ABS Scrt1.o - 26: 0000000000000278 0 NOTYPE LOCAL DEFAULT 3 $d - 27: 0000000000000278 32 OBJECT LOCAL DEFAULT 3 __abi_tag - 28: 0000000000000a40 0 NOTYPE LOCAL DEFAULT 13 $x - 29: 000000000000116c 0 NOTYPE LOCAL DEFAULT 17 $d - 30: 0000000000000eb8 0 NOTYPE LOCAL DEFAULT 15 $d - 31: 0000000000000000 0 FILE LOCAL DEFAULT ABS crti.o - 32: 0000000000000a74 0 NOTYPE LOCAL DEFAULT 13 $x - 33: 0000000000000a74 20 FUNC LOCAL DEFAULT 13 call_weak_fn - 34: 0000000000000908 0 NOTYPE LOCAL DEFAULT 11 $x - 35: 0000000000000ea0 0 NOTYPE LOCAL DEFAULT 14 $x - 36: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtn.o - 37: 0000000000000918 0 NOTYPE LOCAL DEFAULT 11 $x - 38: 0000000000000eac 0 NOTYPE LOCAL DEFAULT 14 $x - 39: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 40: 0000000000000a90 0 NOTYPE LOCAL DEFAULT 13 $x - 41: 0000000000000a90 0 FUNC LOCAL DEFAULT 13 deregister_tm_clones - 42: 0000000000000ac0 0 FUNC LOCAL DEFAULT 13 register_tm_clones - 43: 0000000000012008 0 NOTYPE LOCAL DEFAULT 22 $d - 44: 0000000000000b00 0 FUNC LOCAL DEFAULT 13 __do_global_dtors_aux - 45: 0000000000012010 1 OBJECT LOCAL DEFAULT 23 completed.0 - 46: 0000000000011d10 0 NOTYPE LOCAL DEFAULT 19 $d - 47: 0000000000011d10 0 OBJECT LOCAL DEFAULT 19 __do_global_dtors_aux_fini_array_entry - 48: 0000000000000b50 0 FUNC LOCAL DEFAULT 13 frame_dummy - 49: 0000000000011d08 0 NOTYPE LOCAL DEFAULT 18 $d - 50: 0000000000011d08 0 OBJECT LOCAL DEFAULT 18 __frame_dummy_init_array_entry - 51: 0000000000001180 0 NOTYPE LOCAL DEFAULT 17 $d - 52: 0000000000012010 0 NOTYPE LOCAL DEFAULT 23 $d - 53: 0000000000000000 0 FILE LOCAL DEFAULT ABS complex.c - 54: 0000000000012018 0 NOTYPE LOCAL DEFAULT 23 $d - 55: 0000000000000ec0 0 NOTYPE LOCAL DEFAULT 15 $d - 56: 0000000000000b54 0 NOTYPE LOCAL DEFAULT 13 $x - 57: 00000000000011e0 0 NOTYPE LOCAL DEFAULT 17 $d - 58: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 59: 000000000000129c 0 NOTYPE LOCAL DEFAULT 17 $d - 60: 000000000000129c 0 OBJECT LOCAL DEFAULT 17 __FRAME_END__ - 61: 0000000000000000 0 FILE LOCAL DEFAULT ABS - 62: 0000000000011d18 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC - 63: 00000000000010f0 0 NOTYPE LOCAL DEFAULT 16 __GNU_EH_FRAME_HDR - 64: 0000000000011fb0 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ - 65: 0000000000000920 0 NOTYPE LOCAL DEFAULT 12 $x - 66: 0000000000000cb4 92 FUNC GLOBAL DEFAULT 13 printHelp - 67: 0000000000000000 0 FUNC GLOBAL DEFAULT UND exit@GLIBC_2.17 - 68: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.34 - 69: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable - 70: 0000000000012000 0 NOTYPE WEAK DEFAULT 22 data_start - 71: 0000000000012010 0 NOTYPE GLOBAL DEFAULT 23 __bss_start__ - 72: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 - 73: 0000000000012028 0 NOTYPE GLOBAL DEFAULT 23 _bss_end__ - 74: 0000000000012010 0 NOTYPE GLOBAL DEFAULT 22 _edata - 75: 0000000000000d10 196 FUNC GLOBAL DEFAULT 13 openFile - 76: 0000000000000ea0 0 FUNC GLOBAL HIDDEN 14 _fini - 77: 0000000000012028 0 NOTYPE GLOBAL DEFAULT 23 __bss_end__ - 78: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fclose@GLIBC_2.17 - 79: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fopen@GLIBC_2.17 - 80: 0000000000000dd4 96 FUNC GLOBAL DEFAULT 13 saveFile - 81: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strncmp@GLIBC_2.17 - 82: 0000000000012018 8 OBJECT GLOBAL DEFAULT 23 currentFilename - 83: 0000000000000000 0 FUNC GLOBAL DEFAULT UND rewind@GLIBC_2.17 - 84: 0000000000012000 0 NOTYPE GLOBAL DEFAULT 22 __data_start - 85: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND stdin@GLIBC_2.17 - 86: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strdup@GLIBC_2.17 - 87: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 88: 0000000000000000 0 OBJECT GLOBAL DEFAULT UND __stack_chk_guard@GLIBC_2.17 - 89: 0000000000012008 0 OBJECT GLOBAL HIDDEN 22 __dso_handle - 90: 0000000000000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.17 - 91: 0000000000000eb8 4 OBJECT GLOBAL DEFAULT 15 _IO_stdin_used - 92: 0000000000000000 0 FUNC GLOBAL DEFAULT UND puts@GLIBC_2.17 - 93: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcmp@GLIBC_2.17 - 94: 0000000000012020 8 OBJECT GLOBAL DEFAULT 23 currentFile - 95: 0000000000012028 0 NOTYPE GLOBAL DEFAULT 23 _end - 96: 0000000000000000 0 FUNC GLOBAL DEFAULT UND free@GLIBC_2.17 - 97: 0000000000000a40 52 FUNC GLOBAL DEFAULT 13 _start - 98: 0000000000012028 0 NOTYPE GLOBAL DEFAULT 23 __end__ - 99: 0000000000000e34 108 FUNC GLOBAL DEFAULT 13 closeFile - 100: 0000000000012010 0 NOTYPE GLOBAL DEFAULT 23 __bss_start - 101: 0000000000000b54 112 FUNC GLOBAL DEFAULT 13 main - 102: 0000000000012010 0 OBJECT GLOBAL HIDDEN 22 __TMC_END__ - 103: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - 104: 0000000000000bc4 240 FUNC GLOBAL DEFAULT 13 handleInput - 105: 0000000000000000 0 FUNC GLOBAL DEFAULT UND strcspn@GLIBC_2.17 - 106: 0000000000000000 0 FUNC GLOBAL DEFAULT UND printf@GLIBC_2.17 - 107: 0000000000000908 0 FUNC GLOBAL HIDDEN 11 _init - 108: 0000000000000000 0 FUNC GLOBAL DEFAULT UND fgets@GLIBC_2.17 diff --git a/src/test/correct/functionpointer/functionpointer.spec b/src/test/correct/functionpointer/functionpointer.spec new file mode 100644 index 000000000..84cc2d8c6 --- /dev/null +++ b/src/test/correct/functionpointer/functionpointer.spec @@ -0,0 +1,2 @@ +Subroutine: main +Requires: Gamma_main_argc == true \ No newline at end of file diff --git a/src/test/correct/indirect_call/clang/indirect_call.expected b/src/test/correct/indirect_call/clang/indirect_call.expected deleted file mode 100644 index 95a3882c7..000000000 --- a/src/test/correct/indirect_call/clang/indirect_call.expected +++ /dev/null @@ -1,234 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 1996bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_stack, R0, R29, R30, R31, R8, stack; - free requires (memory_load8_le(mem, 1996bv64) == 1bv8); - free requires (memory_load8_le(mem, 1997bv64) == 0bv8); - free requires (memory_load8_le(mem, 1998bv64) == 2bv8); - free requires (memory_load8_le(mem, 1999bv64) == 0bv8); - free requires (memory_load8_le(mem, 2000bv64) == 72bv8); - free requires (memory_load8_le(mem, 2001bv64) == 101bv8); - free requires (memory_load8_le(mem, 2002bv64) == 108bv8); - free requires (memory_load8_le(mem, 2003bv64) == 108bv8); - free requires (memory_load8_le(mem, 2004bv64) == 111bv8); - free requires (memory_load8_le(mem, 2005bv64) == 44bv8); - free requires (memory_load8_le(mem, 2006bv64) == 32bv8); - free requires (memory_load8_le(mem, 2007bv64) == 119bv8); - free requires (memory_load8_le(mem, 2008bv64) == 111bv8); - free requires (memory_load8_le(mem, 2009bv64) == 114bv8); - free requires (memory_load8_le(mem, 2010bv64) == 108bv8); - free requires (memory_load8_le(mem, 2011bv64) == 100bv8); - free requires (memory_load8_le(mem, 2012bv64) == 33bv8); - free requires (memory_load8_le(mem, 2013bv64) == 10bv8); - free requires (memory_load8_le(mem, 2014bv64) == 0bv8); - free requires (memory_load8_le(mem, 2015bv64) == 67bv8); - free requires (memory_load8_le(mem, 2016bv64) == 97bv8); - free requires (memory_load8_le(mem, 2017bv64) == 108bv8); - free requires (memory_load8_le(mem, 2018bv64) == 108bv8); - free requires (memory_load8_le(mem, 2019bv64) == 105bv8); - free requires (memory_load8_le(mem, 2020bv64) == 110bv8); - free requires (memory_load8_le(mem, 2021bv64) == 103bv8); - free requires (memory_load8_le(mem, 2022bv64) == 32bv8); - free requires (memory_load8_le(mem, 2023bv64) == 103bv8); - free requires (memory_load8_le(mem, 2024bv64) == 114bv8); - free requires (memory_load8_le(mem, 2025bv64) == 101bv8); - free requires (memory_load8_le(mem, 2026bv64) == 101bv8); - free requires (memory_load8_le(mem, 2027bv64) == 116bv8); - free requires (memory_load8_le(mem, 2028bv64) == 40bv8); - free requires (memory_load8_le(mem, 2029bv64) == 41bv8); - free requires (memory_load8_le(mem, 2030bv64) == 32bv8); - free requires (memory_load8_le(mem, 2031bv64) == 105bv8); - free requires (memory_load8_le(mem, 2032bv64) == 110bv8); - free requires (memory_load8_le(mem, 2033bv64) == 100bv8); - free requires (memory_load8_le(mem, 2034bv64) == 105bv8); - free requires (memory_load8_le(mem, 2035bv64) == 114bv8); - free requires (memory_load8_le(mem, 2036bv64) == 101bv8); - free requires (memory_load8_le(mem, 2037bv64) == 99bv8); - free requires (memory_load8_le(mem, 2038bv64) == 116bv8); - free requires (memory_load8_le(mem, 2039bv64) == 108bv8); - free requires (memory_load8_le(mem, 2040bv64) == 121bv8); - free requires (memory_load8_le(mem, 2041bv64) == 58bv8); - free requires (memory_load8_le(mem, 2042bv64) == 10bv8); - free requires (memory_load8_le(mem, 2043bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 112bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 48bv8); - free requires (memory_load8_le(mem, 69681bv64) == 16bv8); - free requires (memory_load8_le(mem, 69682bv64) == 1bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free requires (memory_load8_le(mem, 69684bv64) == 0bv8); - free requires (memory_load8_le(mem, 69685bv64) == 0bv8); - free requires (memory_load8_le(mem, 69686bv64) == 0bv8); - free requires (memory_load8_le(mem, 69687bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #5: bv64; - var #6: bv64; - var Gamma_#5: bool; - var Gamma_#6: bool; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - #5, Gamma_#5 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 32bv64), Gamma_R31; - R8, Gamma_R8 := 0bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R8[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R8); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - R8, Gamma_R8 := 0bv64, true; - R8, Gamma_R8 := bvadd64(R8, 1876bv64), Gamma_R8; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R8); - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 2015bv64), Gamma_R0; - R30, Gamma_R30 := 1952bv64, true; - call printf(); - goto l000003a9; - l000003a9: - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R31, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 16bv64)) || L(mem, bvadd64(R31, 16bv64))); - R30, Gamma_R30 := 1960bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l000003b8; - l000003b8: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, bvadd64(R31, 12bv64))), (gamma_load32(Gamma_mem, bvadd64(R31, 12bv64)) || L(mem, bvadd64(R31, 12bv64))); - #6, Gamma_#6 := bvadd64(R31, 32bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(mem, #6), (gamma_load64(Gamma_mem, #6) || L(mem, #6)); - R30, Gamma_R30 := memory_load64_le(mem, bvadd64(#6, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(#6, 8bv64)) || L(mem, bvadd64(#6, 8bv64))); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; -} - -procedure printf(); diff --git a/src/test/correct/indirect_call/clang_no_plt_no_pic/indirect_call.expected b/src/test/correct/indirect_call/clang_no_plt_no_pic/indirect_call.expected deleted file mode 100644 index b69097f70..000000000 --- a/src/test/correct/indirect_call/clang_no_plt_no_pic/indirect_call.expected +++ /dev/null @@ -1,234 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 1996bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_stack, R0, R29, R30, R31, R8, stack; - free requires (memory_load8_le(mem, 1996bv64) == 1bv8); - free requires (memory_load8_le(mem, 1997bv64) == 0bv8); - free requires (memory_load8_le(mem, 1998bv64) == 2bv8); - free requires (memory_load8_le(mem, 1999bv64) == 0bv8); - free requires (memory_load8_le(mem, 2000bv64) == 72bv8); - free requires (memory_load8_le(mem, 2001bv64) == 101bv8); - free requires (memory_load8_le(mem, 2002bv64) == 108bv8); - free requires (memory_load8_le(mem, 2003bv64) == 108bv8); - free requires (memory_load8_le(mem, 2004bv64) == 111bv8); - free requires (memory_load8_le(mem, 2005bv64) == 44bv8); - free requires (memory_load8_le(mem, 2006bv64) == 32bv8); - free requires (memory_load8_le(mem, 2007bv64) == 119bv8); - free requires (memory_load8_le(mem, 2008bv64) == 111bv8); - free requires (memory_load8_le(mem, 2009bv64) == 114bv8); - free requires (memory_load8_le(mem, 2010bv64) == 108bv8); - free requires (memory_load8_le(mem, 2011bv64) == 100bv8); - free requires (memory_load8_le(mem, 2012bv64) == 33bv8); - free requires (memory_load8_le(mem, 2013bv64) == 10bv8); - free requires (memory_load8_le(mem, 2014bv64) == 0bv8); - free requires (memory_load8_le(mem, 2015bv64) == 67bv8); - free requires (memory_load8_le(mem, 2016bv64) == 97bv8); - free requires (memory_load8_le(mem, 2017bv64) == 108bv8); - free requires (memory_load8_le(mem, 2018bv64) == 108bv8); - free requires (memory_load8_le(mem, 2019bv64) == 105bv8); - free requires (memory_load8_le(mem, 2020bv64) == 110bv8); - free requires (memory_load8_le(mem, 2021bv64) == 103bv8); - free requires (memory_load8_le(mem, 2022bv64) == 32bv8); - free requires (memory_load8_le(mem, 2023bv64) == 103bv8); - free requires (memory_load8_le(mem, 2024bv64) == 114bv8); - free requires (memory_load8_le(mem, 2025bv64) == 101bv8); - free requires (memory_load8_le(mem, 2026bv64) == 101bv8); - free requires (memory_load8_le(mem, 2027bv64) == 116bv8); - free requires (memory_load8_le(mem, 2028bv64) == 40bv8); - free requires (memory_load8_le(mem, 2029bv64) == 41bv8); - free requires (memory_load8_le(mem, 2030bv64) == 32bv8); - free requires (memory_load8_le(mem, 2031bv64) == 105bv8); - free requires (memory_load8_le(mem, 2032bv64) == 110bv8); - free requires (memory_load8_le(mem, 2033bv64) == 100bv8); - free requires (memory_load8_le(mem, 2034bv64) == 105bv8); - free requires (memory_load8_le(mem, 2035bv64) == 114bv8); - free requires (memory_load8_le(mem, 2036bv64) == 101bv8); - free requires (memory_load8_le(mem, 2037bv64) == 99bv8); - free requires (memory_load8_le(mem, 2038bv64) == 116bv8); - free requires (memory_load8_le(mem, 2039bv64) == 108bv8); - free requires (memory_load8_le(mem, 2040bv64) == 121bv8); - free requires (memory_load8_le(mem, 2041bv64) == 58bv8); - free requires (memory_load8_le(mem, 2042bv64) == 10bv8); - free requires (memory_load8_le(mem, 2043bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 112bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 48bv8); - free requires (memory_load8_le(mem, 69681bv64) == 16bv8); - free requires (memory_load8_le(mem, 69682bv64) == 1bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free requires (memory_load8_le(mem, 69684bv64) == 0bv8); - free requires (memory_load8_le(mem, 69685bv64) == 0bv8); - free requires (memory_load8_le(mem, 69686bv64) == 0bv8); - free requires (memory_load8_le(mem, 69687bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #5: bv64; - var #6: bv64; - var Gamma_#5: bool; - var Gamma_#6: bool; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - #5, Gamma_#5 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 32bv64), Gamma_R31; - R8, Gamma_R8 := 0bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R8[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R8); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - R8, Gamma_R8 := 0bv64, true; - R8, Gamma_R8 := bvadd64(R8, 1876bv64), Gamma_R8; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R8); - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 2015bv64), Gamma_R0; - R30, Gamma_R30 := 1952bv64, true; - call printf(); - goto l00000a77; - l00000a77: - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R31, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 16bv64)) || L(mem, bvadd64(R31, 16bv64))); - R30, Gamma_R30 := 1960bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000a86; - l00000a86: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, bvadd64(R31, 12bv64))), (gamma_load32(Gamma_mem, bvadd64(R31, 12bv64)) || L(mem, bvadd64(R31, 12bv64))); - #6, Gamma_#6 := bvadd64(R31, 32bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(mem, #6), (gamma_load64(Gamma_mem, #6) || L(mem, #6)); - R30, Gamma_R30 := memory_load64_le(mem, bvadd64(#6, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(#6, 8bv64)) || L(mem, bvadd64(#6, 8bv64))); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; -} - -procedure printf(); diff --git a/src/test/correct/indirect_call/clang_pic/indirect_call.expected b/src/test/correct/indirect_call/clang_pic/indirect_call.expected deleted file mode 100644 index 1b8ea09b1..000000000 --- a/src/test/correct/indirect_call/clang_pic/indirect_call.expected +++ /dev/null @@ -1,242 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2060bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_stack, R0, R29, R30, R31, R8, stack; - free requires (memory_load8_le(mem, 2060bv64) == 1bv8); - free requires (memory_load8_le(mem, 2061bv64) == 0bv8); - free requires (memory_load8_le(mem, 2062bv64) == 2bv8); - free requires (memory_load8_le(mem, 2063bv64) == 0bv8); - free requires (memory_load8_le(mem, 2064bv64) == 72bv8); - free requires (memory_load8_le(mem, 2065bv64) == 101bv8); - free requires (memory_load8_le(mem, 2066bv64) == 108bv8); - free requires (memory_load8_le(mem, 2067bv64) == 108bv8); - free requires (memory_load8_le(mem, 2068bv64) == 111bv8); - free requires (memory_load8_le(mem, 2069bv64) == 44bv8); - free requires (memory_load8_le(mem, 2070bv64) == 32bv8); - free requires (memory_load8_le(mem, 2071bv64) == 119bv8); - free requires (memory_load8_le(mem, 2072bv64) == 111bv8); - free requires (memory_load8_le(mem, 2073bv64) == 114bv8); - free requires (memory_load8_le(mem, 2074bv64) == 108bv8); - free requires (memory_load8_le(mem, 2075bv64) == 100bv8); - free requires (memory_load8_le(mem, 2076bv64) == 33bv8); - free requires (memory_load8_le(mem, 2077bv64) == 10bv8); - free requires (memory_load8_le(mem, 2078bv64) == 0bv8); - free requires (memory_load8_le(mem, 2079bv64) == 67bv8); - free requires (memory_load8_le(mem, 2080bv64) == 97bv8); - free requires (memory_load8_le(mem, 2081bv64) == 108bv8); - free requires (memory_load8_le(mem, 2082bv64) == 108bv8); - free requires (memory_load8_le(mem, 2083bv64) == 105bv8); - free requires (memory_load8_le(mem, 2084bv64) == 110bv8); - free requires (memory_load8_le(mem, 2085bv64) == 103bv8); - free requires (memory_load8_le(mem, 2086bv64) == 32bv8); - free requires (memory_load8_le(mem, 2087bv64) == 103bv8); - free requires (memory_load8_le(mem, 2088bv64) == 114bv8); - free requires (memory_load8_le(mem, 2089bv64) == 101bv8); - free requires (memory_load8_le(mem, 2090bv64) == 101bv8); - free requires (memory_load8_le(mem, 2091bv64) == 116bv8); - free requires (memory_load8_le(mem, 2092bv64) == 40bv8); - free requires (memory_load8_le(mem, 2093bv64) == 41bv8); - free requires (memory_load8_le(mem, 2094bv64) == 32bv8); - free requires (memory_load8_le(mem, 2095bv64) == 105bv8); - free requires (memory_load8_le(mem, 2096bv64) == 110bv8); - free requires (memory_load8_le(mem, 2097bv64) == 100bv8); - free requires (memory_load8_le(mem, 2098bv64) == 105bv8); - free requires (memory_load8_le(mem, 2099bv64) == 114bv8); - free requires (memory_load8_le(mem, 2100bv64) == 101bv8); - free requires (memory_load8_le(mem, 2101bv64) == 99bv8); - free requires (memory_load8_le(mem, 2102bv64) == 116bv8); - free requires (memory_load8_le(mem, 2103bv64) == 108bv8); - free requires (memory_load8_le(mem, 2104bv64) == 121bv8); - free requires (memory_load8_le(mem, 2105bv64) == 58bv8); - free requires (memory_load8_le(mem, 2106bv64) == 10bv8); - free requires (memory_load8_le(mem, 2107bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 13bv8); - free requires (memory_load8_le(mem, 69554bv64) == 1bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 148bv8); - free requires (memory_load8_le(mem, 69577bv64) == 7bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 176bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 48bv8); - free requires (memory_load8_le(mem, 69681bv64) == 16bv8); - free requires (memory_load8_le(mem, 69682bv64) == 1bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free requires (memory_load8_le(mem, 69684bv64) == 0bv8); - free requires (memory_load8_le(mem, 69685bv64) == 0bv8); - free requires (memory_load8_le(mem, 69686bv64) == 0bv8); - free requires (memory_load8_le(mem, 69687bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #5: bv64; - var #6: bv64; - var Gamma_#5: bool; - var Gamma_#6: bool; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - #5, Gamma_#5 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 32bv64), Gamma_R31; - R8, Gamma_R8 := 0bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R8[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R8); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - R8, Gamma_R8 := 65536bv64, true; - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 4040bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 4040bv64)) || L(mem, bvadd64(R8, 4040bv64))); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R8); - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 2079bv64), Gamma_R0; - R30, Gamma_R30 := 2016bv64, true; - call printf(); - goto l000003aa; - l000003aa: - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R31, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 16bv64)) || L(mem, bvadd64(R31, 16bv64))); - R30, Gamma_R30 := 2024bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l000003b9; - l000003b9: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, bvadd64(R31, 12bv64))), (gamma_load32(Gamma_mem, bvadd64(R31, 12bv64)) || L(mem, bvadd64(R31, 12bv64))); - #6, Gamma_#6 := bvadd64(R31, 32bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(mem, #6), (gamma_load64(Gamma_mem, #6) || L(mem, #6)); - R30, Gamma_R30 := memory_load64_le(mem, bvadd64(#6, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(#6, 8bv64)) || L(mem, bvadd64(#6, 8bv64))); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; -} - -procedure printf(); diff --git a/src/test/correct/indirect_call/gcc/indirect_call.expected b/src/test/correct/indirect_call/gcc/indirect_call.expected deleted file mode 100644 index 3c865cf39..000000000 --- a/src/test/correct/indirect_call/gcc/indirect_call.expected +++ /dev/null @@ -1,277 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 1984bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; - free requires (memory_load8_le(mem, 1984bv64) == 1bv8); - free requires (memory_load8_le(mem, 1985bv64) == 0bv8); - free requires (memory_load8_le(mem, 1986bv64) == 2bv8); - free requires (memory_load8_le(mem, 1987bv64) == 0bv8); - free requires (memory_load8_le(mem, 1988bv64) == 0bv8); - free requires (memory_load8_le(mem, 1989bv64) == 0bv8); - free requires (memory_load8_le(mem, 1990bv64) == 0bv8); - free requires (memory_load8_le(mem, 1991bv64) == 0bv8); - free requires (memory_load8_le(mem, 1992bv64) == 72bv8); - free requires (memory_load8_le(mem, 1993bv64) == 101bv8); - free requires (memory_load8_le(mem, 1994bv64) == 108bv8); - free requires (memory_load8_le(mem, 1995bv64) == 108bv8); - free requires (memory_load8_le(mem, 1996bv64) == 111bv8); - free requires (memory_load8_le(mem, 1997bv64) == 44bv8); - free requires (memory_load8_le(mem, 1998bv64) == 32bv8); - free requires (memory_load8_le(mem, 1999bv64) == 119bv8); - free requires (memory_load8_le(mem, 2000bv64) == 111bv8); - free requires (memory_load8_le(mem, 2001bv64) == 114bv8); - free requires (memory_load8_le(mem, 2002bv64) == 108bv8); - free requires (memory_load8_le(mem, 2003bv64) == 100bv8); - free requires (memory_load8_le(mem, 2004bv64) == 33bv8); - free requires (memory_load8_le(mem, 2005bv64) == 0bv8); - free requires (memory_load8_le(mem, 2006bv64) == 0bv8); - free requires (memory_load8_le(mem, 2007bv64) == 0bv8); - free requires (memory_load8_le(mem, 2008bv64) == 67bv8); - free requires (memory_load8_le(mem, 2009bv64) == 97bv8); - free requires (memory_load8_le(mem, 2010bv64) == 108bv8); - free requires (memory_load8_le(mem, 2011bv64) == 108bv8); - free requires (memory_load8_le(mem, 2012bv64) == 105bv8); - free requires (memory_load8_le(mem, 2013bv64) == 110bv8); - free requires (memory_load8_le(mem, 2014bv64) == 103bv8); - free requires (memory_load8_le(mem, 2015bv64) == 32bv8); - free requires (memory_load8_le(mem, 2016bv64) == 103bv8); - free requires (memory_load8_le(mem, 2017bv64) == 114bv8); - free requires (memory_load8_le(mem, 2018bv64) == 101bv8); - free requires (memory_load8_le(mem, 2019bv64) == 101bv8); - free requires (memory_load8_le(mem, 2020bv64) == 116bv8); - free requires (memory_load8_le(mem, 2021bv64) == 40bv8); - free requires (memory_load8_le(mem, 2022bv64) == 41bv8); - free requires (memory_load8_le(mem, 2023bv64) == 32bv8); - free requires (memory_load8_le(mem, 2024bv64) == 105bv8); - free requires (memory_load8_le(mem, 2025bv64) == 110bv8); - free requires (memory_load8_le(mem, 2026bv64) == 100bv8); - free requires (memory_load8_le(mem, 2027bv64) == 105bv8); - free requires (memory_load8_le(mem, 2028bv64) == 114bv8); - free requires (memory_load8_le(mem, 2029bv64) == 101bv8); - free requires (memory_load8_le(mem, 2030bv64) == 99bv8); - free requires (memory_load8_le(mem, 2031bv64) == 116bv8); - free requires (memory_load8_le(mem, 2032bv64) == 108bv8); - free requires (memory_load8_le(mem, 2033bv64) == 121bv8); - free requires (memory_load8_le(mem, 2034bv64) == 58bv8); - free requires (memory_load8_le(mem, 2035bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 208bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 208bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 116bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #5: bv64; - var Gamma_#5: bool; - lmain: - #5, Gamma_#5 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R31, Gamma_R31 := #5, Gamma_#5; - R29, Gamma_R29 := R31, Gamma_R31; - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 1876bv64), Gamma_R0; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 24bv64), R0), gamma_store64(Gamma_stack, bvadd64(R31, 24bv64), Gamma_R0); - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 2008bv64), Gamma_R0; - R30, Gamma_R30 := 1940bv64, true; - call puts(); - goto l00000385; - l00000385: - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R31, 24bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 24bv64)) || L(mem, bvadd64(R31, 24bv64))); - R30, Gamma_R30 := 1948bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000394; - l00000394: - R0, Gamma_R0 := 0bv64, true; - R29, Gamma_R29 := memory_load64_le(mem, R31), (gamma_load64(Gamma_mem, R31) || L(mem, R31)); - R30, Gamma_R30 := memory_load64_le(mem, bvadd64(R31, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 8bv64)) || L(mem, bvadd64(R31, 8bv64))); - R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; - return; -} - -procedure puts(); diff --git a/src/test/correct/indirect_call/gcc_no_plt_no_pic/indirect_call.expected b/src/test/correct/indirect_call/gcc_no_plt_no_pic/indirect_call.expected deleted file mode 100644 index 51f8e0fb1..000000000 --- a/src/test/correct/indirect_call/gcc_no_plt_no_pic/indirect_call.expected +++ /dev/null @@ -1,277 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 1984bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; - free requires (memory_load8_le(mem, 1984bv64) == 1bv8); - free requires (memory_load8_le(mem, 1985bv64) == 0bv8); - free requires (memory_load8_le(mem, 1986bv64) == 2bv8); - free requires (memory_load8_le(mem, 1987bv64) == 0bv8); - free requires (memory_load8_le(mem, 1988bv64) == 0bv8); - free requires (memory_load8_le(mem, 1989bv64) == 0bv8); - free requires (memory_load8_le(mem, 1990bv64) == 0bv8); - free requires (memory_load8_le(mem, 1991bv64) == 0bv8); - free requires (memory_load8_le(mem, 1992bv64) == 72bv8); - free requires (memory_load8_le(mem, 1993bv64) == 101bv8); - free requires (memory_load8_le(mem, 1994bv64) == 108bv8); - free requires (memory_load8_le(mem, 1995bv64) == 108bv8); - free requires (memory_load8_le(mem, 1996bv64) == 111bv8); - free requires (memory_load8_le(mem, 1997bv64) == 44bv8); - free requires (memory_load8_le(mem, 1998bv64) == 32bv8); - free requires (memory_load8_le(mem, 1999bv64) == 119bv8); - free requires (memory_load8_le(mem, 2000bv64) == 111bv8); - free requires (memory_load8_le(mem, 2001bv64) == 114bv8); - free requires (memory_load8_le(mem, 2002bv64) == 108bv8); - free requires (memory_load8_le(mem, 2003bv64) == 100bv8); - free requires (memory_load8_le(mem, 2004bv64) == 33bv8); - free requires (memory_load8_le(mem, 2005bv64) == 0bv8); - free requires (memory_load8_le(mem, 2006bv64) == 0bv8); - free requires (memory_load8_le(mem, 2007bv64) == 0bv8); - free requires (memory_load8_le(mem, 2008bv64) == 67bv8); - free requires (memory_load8_le(mem, 2009bv64) == 97bv8); - free requires (memory_load8_le(mem, 2010bv64) == 108bv8); - free requires (memory_load8_le(mem, 2011bv64) == 108bv8); - free requires (memory_load8_le(mem, 2012bv64) == 105bv8); - free requires (memory_load8_le(mem, 2013bv64) == 110bv8); - free requires (memory_load8_le(mem, 2014bv64) == 103bv8); - free requires (memory_load8_le(mem, 2015bv64) == 32bv8); - free requires (memory_load8_le(mem, 2016bv64) == 103bv8); - free requires (memory_load8_le(mem, 2017bv64) == 114bv8); - free requires (memory_load8_le(mem, 2018bv64) == 101bv8); - free requires (memory_load8_le(mem, 2019bv64) == 101bv8); - free requires (memory_load8_le(mem, 2020bv64) == 116bv8); - free requires (memory_load8_le(mem, 2021bv64) == 40bv8); - free requires (memory_load8_le(mem, 2022bv64) == 41bv8); - free requires (memory_load8_le(mem, 2023bv64) == 32bv8); - free requires (memory_load8_le(mem, 2024bv64) == 105bv8); - free requires (memory_load8_le(mem, 2025bv64) == 110bv8); - free requires (memory_load8_le(mem, 2026bv64) == 100bv8); - free requires (memory_load8_le(mem, 2027bv64) == 105bv8); - free requires (memory_load8_le(mem, 2028bv64) == 114bv8); - free requires (memory_load8_le(mem, 2029bv64) == 101bv8); - free requires (memory_load8_le(mem, 2030bv64) == 99bv8); - free requires (memory_load8_le(mem, 2031bv64) == 116bv8); - free requires (memory_load8_le(mem, 2032bv64) == 108bv8); - free requires (memory_load8_le(mem, 2033bv64) == 121bv8); - free requires (memory_load8_le(mem, 2034bv64) == 58bv8); - free requires (memory_load8_le(mem, 2035bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 208bv8); - free requires (memory_load8_le(mem, 69545bv64) == 5bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 208bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 208bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 208bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 160bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 116bv8); - free requires (memory_load8_le(mem, 69617bv64) == 7bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #5: bv64; - var Gamma_#5: bool; - lmain: - #5, Gamma_#5 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R31, Gamma_R31 := #5, Gamma_#5; - R29, Gamma_R29 := R31, Gamma_R31; - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 1876bv64), Gamma_R0; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 24bv64), R0), gamma_store64(Gamma_stack, bvadd64(R31, 24bv64), Gamma_R0); - R0, Gamma_R0 := 0bv64, true; - R0, Gamma_R0 := bvadd64(R0, 2008bv64), Gamma_R0; - R30, Gamma_R30 := 1940bv64, true; - call puts(); - goto l00000a1f; - l00000a1f: - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R31, 24bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 24bv64)) || L(mem, bvadd64(R31, 24bv64))); - R30, Gamma_R30 := 1948bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000a2e; - l00000a2e: - R0, Gamma_R0 := 0bv64, true; - R29, Gamma_R29 := memory_load64_le(mem, R31), (gamma_load64(Gamma_mem, R31) || L(mem, R31)); - R30, Gamma_R30 := memory_load64_le(mem, bvadd64(R31, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 8bv64)) || L(mem, bvadd64(R31, 8bv64))); - R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; - return; -} - -procedure puts(); diff --git a/src/test/correct/jumptable/clang/jumptable.expected b/src/test/correct/jumptable/clang/jumptable.expected deleted file mode 100644 index 52b6ae5e7..000000000 --- a/src/test/correct/jumptable/clang/jumptable.expected +++ /dev/null @@ -1,225 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_V0: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var V0: bv128; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2052bv64); -const $x_addr: bv64; -axiom ($x_addr == 69680bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load128(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 15bv64)] && (gammaMap[bvadd64(index, 14bv64)] && (gammaMap[bvadd64(index, 13bv64)] && (gammaMap[bvadd64(index, 12bv64)] && (gammaMap[bvadd64(index, 11bv64)] && (gammaMap[bvadd64(index, 10bv64)] && (gammaMap[bvadd64(index, 9bv64)] && (gammaMap[bvadd64(index, 8bv64)] && (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))))))))))) -} - -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store128(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value][bvadd64(index, 8bv64) := value][bvadd64(index, 9bv64) := value][bvadd64(index, 10bv64) := value][bvadd64(index, 11bv64) := value][bvadd64(index, 12bv64) := value][bvadd64(index, 13bv64) := value][bvadd64(index, 14bv64) := value][bvadd64(index, 15bv64) := value] -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load128_le(memory: [bv64]bv8, index: bv64) returns (bv128) { - (memory[bvadd64(index, 15bv64)] ++ (memory[bvadd64(index, 14bv64)] ++ (memory[bvadd64(index, 13bv64)] ++ (memory[bvadd64(index, 12bv64)] ++ (memory[bvadd64(index, 11bv64)] ++ (memory[bvadd64(index, 10bv64)] ++ (memory[bvadd64(index, 9bv64)] ++ (memory[bvadd64(index, 8bv64)] ++ (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))))))))))) -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store128_le(memory: [bv64]bv8, index: bv64, value: bv128) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]][bvadd64(index, 8bv64) := value[72:64]][bvadd64(index, 9bv64) := value[80:72]][bvadd64(index, 10bv64) := value[88:80]][bvadd64(index, 11bv64) := value[96:88]][bvadd64(index, 12bv64) := value[104:96]][bvadd64(index, 13bv64) := value[112:104]][bvadd64(index, 14bv64) := value[120:112]][bvadd64(index, 15bv64) := value[128:120]] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_V0, Gamma_stack, R0, R29, R30, R31, R8, V0, stack; - free requires (memory_load8_le(mem, 2052bv64) == 1bv8); - free requires (memory_load8_le(mem, 2053bv64) == 0bv8); - free requires (memory_load8_le(mem, 2054bv64) == 2bv8); - free requires (memory_load8_le(mem, 2055bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 144bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 5bv8); - free requires (memory_load8_le(mem, 69681bv64) == 0bv8); - free requires (memory_load8_le(mem, 69682bv64) == 0bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #5: bv64; - var #6: bv64; - var Gamma_#5: bool; - var Gamma_#6: bool; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551536bv64), Gamma_R31; - #5, Gamma_#5 := bvadd64(R31, 64bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 64bv64), Gamma_R31; - R8, Gamma_R8 := 0bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R8[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R8); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551608bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R29, 18446744073709551600bv64), R1), gamma_store64(Gamma_stack, bvadd64(R29, 18446744073709551600bv64), Gamma_R1); - R8, Gamma_R8 := 65536bv64, true; - R8, Gamma_R8 := bvadd64(R8, 3520bv64), Gamma_R8; - V0, Gamma_V0 := memory_load128_le(mem, R8), (gamma_load128(Gamma_mem, R8) || L(mem, R8)); - stack, Gamma_stack := memory_store128_le(stack, bvadd64(R31, 16bv64), V0), gamma_store128(Gamma_stack, bvadd64(R31, 16bv64), Gamma_V0); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 16bv64)) || L(mem, bvadd64(R8, 16bv64))); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 32bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 32bv64), Gamma_R8); - R8, Gamma_R8 := memory_load64_le(stack, bvadd64(R31, 16bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 16bv64)); - R30, Gamma_R30 := 2000bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000433; - l00000433: - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R31, 24bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 24bv64)) || L(mem, bvadd64(R31, 24bv64))); - R30, Gamma_R30 := 2008bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000442; - l00000442: - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R31, 32bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 32bv64)) || L(mem, bvadd64(R31, 32bv64))); - R30, Gamma_R30 := 2016bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000451; - l00000451: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, bvadd64(R31, 12bv64))), (gamma_load32(Gamma_mem, bvadd64(R31, 12bv64)) || L(mem, bvadd64(R31, 12bv64))); - #6, Gamma_#6 := bvadd64(R31, 64bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(mem, #6), (gamma_load64(Gamma_mem, #6) || L(mem, #6)); - R30, Gamma_R30 := memory_load64_le(mem, bvadd64(#6, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(#6, 8bv64)) || L(mem, bvadd64(#6, 8bv64))); - R31, Gamma_R31 := bvadd64(R31, 80bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable/clang_no_plt_no_pic/jumptable.expected b/src/test/correct/jumptable/clang_no_plt_no_pic/jumptable.expected deleted file mode 100644 index a2dad4daa..000000000 --- a/src/test/correct/jumptable/clang_no_plt_no_pic/jumptable.expected +++ /dev/null @@ -1,253 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_V0: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var V0: bv128; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2056bv64); -const $x_addr: bv64; -axiom ($x_addr == 69680bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load128(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 15bv64)] && (gammaMap[bvadd64(index, 14bv64)] && (gammaMap[bvadd64(index, 13bv64)] && (gammaMap[bvadd64(index, 12bv64)] && (gammaMap[bvadd64(index, 11bv64)] && (gammaMap[bvadd64(index, 10bv64)] && (gammaMap[bvadd64(index, 9bv64)] && (gammaMap[bvadd64(index, 8bv64)] && (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))))))))))) -} - -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store128(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value][bvadd64(index, 8bv64) := value][bvadd64(index, 9bv64) := value][bvadd64(index, 10bv64) := value][bvadd64(index, 11bv64) := value][bvadd64(index, 12bv64) := value][bvadd64(index, 13bv64) := value][bvadd64(index, 14bv64) := value][bvadd64(index, 15bv64) := value] -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load128_le(memory: [bv64]bv8, index: bv64) returns (bv128) { - (memory[bvadd64(index, 15bv64)] ++ (memory[bvadd64(index, 14bv64)] ++ (memory[bvadd64(index, 13bv64)] ++ (memory[bvadd64(index, 12bv64)] ++ (memory[bvadd64(index, 11bv64)] ++ (memory[bvadd64(index, 10bv64)] ++ (memory[bvadd64(index, 9bv64)] ++ (memory[bvadd64(index, 8bv64)] ++ (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))))))))))) -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store128_le(memory: [bv64]bv8, index: bv64, value: bv128) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]][bvadd64(index, 8bv64) := value[72:64]][bvadd64(index, 9bv64) := value[80:72]][bvadd64(index, 10bv64) := value[88:80]][bvadd64(index, 11bv64) := value[96:88]][bvadd64(index, 12bv64) := value[104:96]][bvadd64(index, 13bv64) := value[112:104]][bvadd64(index, 14bv64) := value[120:112]][bvadd64(index, 15bv64) := value[128:120]] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_V0, Gamma_stack, R0, R29, R30, R31, R8, V0, stack; - free requires (memory_load8_le(mem, 2056bv64) == 1bv8); - free requires (memory_load8_le(mem, 2057bv64) == 0bv8); - free requires (memory_load8_le(mem, 2058bv64) == 2bv8); - free requires (memory_load8_le(mem, 2059bv64) == 0bv8); - free requires (memory_load8_le(mem, 2060bv64) == 0bv8); - free requires (memory_load8_le(mem, 2061bv64) == 0bv8); - free requires (memory_load8_le(mem, 2062bv64) == 0bv8); - free requires (memory_load8_le(mem, 2063bv64) == 0bv8); - free requires (memory_load8_le(mem, 2064bv64) == 84bv8); - free requires (memory_load8_le(mem, 2065bv64) == 7bv8); - free requires (memory_load8_le(mem, 2066bv64) == 0bv8); - free requires (memory_load8_le(mem, 2067bv64) == 0bv8); - free requires (memory_load8_le(mem, 2068bv64) == 0bv8); - free requires (memory_load8_le(mem, 2069bv64) == 0bv8); - free requires (memory_load8_le(mem, 2070bv64) == 0bv8); - free requires (memory_load8_le(mem, 2071bv64) == 0bv8); - free requires (memory_load8_le(mem, 2072bv64) == 104bv8); - free requires (memory_load8_le(mem, 2073bv64) == 7bv8); - free requires (memory_load8_le(mem, 2074bv64) == 0bv8); - free requires (memory_load8_le(mem, 2075bv64) == 0bv8); - free requires (memory_load8_le(mem, 2076bv64) == 0bv8); - free requires (memory_load8_le(mem, 2077bv64) == 0bv8); - free requires (memory_load8_le(mem, 2078bv64) == 0bv8); - free requires (memory_load8_le(mem, 2079bv64) == 0bv8); - free requires (memory_load8_le(mem, 2080bv64) == 124bv8); - free requires (memory_load8_le(mem, 2081bv64) == 7bv8); - free requires (memory_load8_le(mem, 2082bv64) == 0bv8); - free requires (memory_load8_le(mem, 2083bv64) == 0bv8); - free requires (memory_load8_le(mem, 2084bv64) == 0bv8); - free requires (memory_load8_le(mem, 2085bv64) == 0bv8); - free requires (memory_load8_le(mem, 2086bv64) == 0bv8); - free requires (memory_load8_le(mem, 2087bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 184bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 144bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 5bv8); - free requires (memory_load8_le(mem, 69681bv64) == 0bv8); - free requires (memory_load8_le(mem, 69682bv64) == 0bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #5: bv64; - var #6: bv64; - var Gamma_#5: bool; - var Gamma_#6: bool; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551536bv64), Gamma_R31; - #5, Gamma_#5 := bvadd64(R31, 64bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 64bv64), Gamma_R31; - R8, Gamma_R8 := 0bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R8[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R8); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551608bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R29, 18446744073709551600bv64), R1), gamma_store64(Gamma_stack, bvadd64(R29, 18446744073709551600bv64), Gamma_R1); - R8, Gamma_R8 := 0bv64, true; - R8, Gamma_R8 := bvadd64(R8, 2064bv64), Gamma_R8; - V0, Gamma_V0 := memory_load128_le(mem, R8), (gamma_load128(Gamma_mem, R8) || L(mem, R8)); - stack, Gamma_stack := memory_store128_le(stack, bvadd64(R31, 16bv64), V0), gamma_store128(Gamma_stack, bvadd64(R31, 16bv64), Gamma_V0); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 16bv64)) || L(mem, bvadd64(R8, 16bv64))); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 32bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 32bv64), Gamma_R8); - R8, Gamma_R8 := memory_load64_le(stack, bvadd64(R31, 16bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 16bv64)); - R30, Gamma_R30 := 2000bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000b8d; - l00000b8d: - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R31, 24bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 24bv64)) || L(mem, bvadd64(R31, 24bv64))); - R30, Gamma_R30 := 2008bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000b9c; - l00000b9c: - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R31, 32bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 32bv64)) || L(mem, bvadd64(R31, 32bv64))); - R30, Gamma_R30 := 2016bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000bab; - l00000bab: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, bvadd64(R31, 12bv64))), (gamma_load32(Gamma_mem, bvadd64(R31, 12bv64)) || L(mem, bvadd64(R31, 12bv64))); - #6, Gamma_#6 := bvadd64(R31, 64bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(mem, #6), (gamma_load64(Gamma_mem, #6) || L(mem, #6)); - R30, Gamma_R30 := memory_load64_le(mem, bvadd64(#6, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(#6, 8bv64)) || L(mem, bvadd64(#6, 8bv64))); - R31, Gamma_R31 := bvadd64(R31, 80bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable/clang_pic/jumptable.expected b/src/test/correct/jumptable/clang_pic/jumptable.expected deleted file mode 100644 index e1d48da23..000000000 --- a/src/test/correct/jumptable/clang_pic/jumptable.expected +++ /dev/null @@ -1,233 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_V0: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var V0: bv128; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2128bv64); -const $x_addr: bv64; -axiom ($x_addr == 69680bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load128(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 15bv64)] && (gammaMap[bvadd64(index, 14bv64)] && (gammaMap[bvadd64(index, 13bv64)] && (gammaMap[bvadd64(index, 12bv64)] && (gammaMap[bvadd64(index, 11bv64)] && (gammaMap[bvadd64(index, 10bv64)] && (gammaMap[bvadd64(index, 9bv64)] && (gammaMap[bvadd64(index, 8bv64)] && (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))))))))))) -} - -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store128(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value][bvadd64(index, 8bv64) := value][bvadd64(index, 9bv64) := value][bvadd64(index, 10bv64) := value][bvadd64(index, 11bv64) := value][bvadd64(index, 12bv64) := value][bvadd64(index, 13bv64) := value][bvadd64(index, 14bv64) := value][bvadd64(index, 15bv64) := value] -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load128_le(memory: [bv64]bv8, index: bv64) returns (bv128) { - (memory[bvadd64(index, 15bv64)] ++ (memory[bvadd64(index, 14bv64)] ++ (memory[bvadd64(index, 13bv64)] ++ (memory[bvadd64(index, 12bv64)] ++ (memory[bvadd64(index, 11bv64)] ++ (memory[bvadd64(index, 10bv64)] ++ (memory[bvadd64(index, 9bv64)] ++ (memory[bvadd64(index, 8bv64)] ++ (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))))))))))) -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store128_le(memory: [bv64]bv8, index: bv64, value: bv128) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]][bvadd64(index, 8bv64) := value[72:64]][bvadd64(index, 9bv64) := value[80:72]][bvadd64(index, 10bv64) := value[88:80]][bvadd64(index, 11bv64) := value[96:88]][bvadd64(index, 12bv64) := value[104:96]][bvadd64(index, 13bv64) := value[112:104]][bvadd64(index, 14bv64) := value[120:112]][bvadd64(index, 15bv64) := value[128:120]] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_V0, Gamma_stack, R0, R29, R30, R31, R8, V0, stack; - free requires (memory_load8_le(mem, 2128bv64) == 1bv8); - free requires (memory_load8_le(mem, 2129bv64) == 0bv8); - free requires (memory_load8_le(mem, 2130bv64) == 2bv8); - free requires (memory_load8_le(mem, 2131bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 208bv8); - free requires (memory_load8_le(mem, 69553bv64) == 13bv8); - free requires (memory_load8_le(mem, 69554bv64) == 1bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 48bv8); - free requires (memory_load8_le(mem, 69577bv64) == 16bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 220bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 5bv8); - free requires (memory_load8_le(mem, 69681bv64) == 0bv8); - free requires (memory_load8_le(mem, 69682bv64) == 0bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #5: bv64; - var #6: bv64; - var Gamma_#5: bool; - var Gamma_#6: bool; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551536bv64), Gamma_R31; - #5, Gamma_#5 := bvadd64(R31, 64bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 64bv64), Gamma_R31; - R8, Gamma_R8 := 0bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R8[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R8); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551608bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R29, 18446744073709551600bv64), R1), gamma_store64(Gamma_stack, bvadd64(R29, 18446744073709551600bv64), Gamma_R1); - R8, Gamma_R8 := 65536bv64, true; - R8, Gamma_R8 := bvadd64(R8, 3512bv64), Gamma_R8; - V0, Gamma_V0 := memory_load128_le(mem, R8), (gamma_load128(Gamma_mem, R8) || L(mem, R8)); - stack, Gamma_stack := memory_store128_le(stack, bvadd64(R31, 16bv64), V0), gamma_store128(Gamma_stack, bvadd64(R31, 16bv64), Gamma_V0); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 16bv64)) || L(mem, bvadd64(R8, 16bv64))); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 32bv64), R8), gamma_store64(Gamma_stack, bvadd64(R31, 32bv64), Gamma_R8); - R8, Gamma_R8 := memory_load64_le(stack, bvadd64(R31, 16bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 16bv64)); - R30, Gamma_R30 := 2076bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000454; - l00000454: - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R31, 24bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 24bv64)) || L(mem, bvadd64(R31, 24bv64))); - R30, Gamma_R30 := 2084bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000463; - l00000463: - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R31, 32bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 32bv64)) || L(mem, bvadd64(R31, 32bv64))); - R30, Gamma_R30 := 2092bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000472; - l00000472: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, bvadd64(R31, 12bv64))), (gamma_load32(Gamma_mem, bvadd64(R31, 12bv64)) || L(mem, bvadd64(R31, 12bv64))); - #6, Gamma_#6 := bvadd64(R31, 64bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(mem, #6), (gamma_load64(Gamma_mem, #6) || L(mem, #6)); - R30, Gamma_R30 := memory_load64_le(mem, bvadd64(#6, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(#6, 8bv64)) || L(mem, bvadd64(#6, 8bv64))); - R31, Gamma_R31 := bvadd64(R31, 80bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable/gcc/jumptable.expected b/src/test/correct/jumptable/gcc/jumptable.expected deleted file mode 100644 index 8d0493027..000000000 --- a/src/test/correct/jumptable/gcc/jumptable.expected +++ /dev/null @@ -1,350 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R2: bool; -var Gamma_R29: bool; -var Gamma_R3: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R2: bv64; -var R29: bv64; -var R3: bv64; -var R30: bv64; -var R31: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2404bv64); -const $x_addr: bv64; -axiom ($x_addr == 69648bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function {:bvbuiltin "bvadd"} bvadd65(bv65, bv65) returns (bv65); -function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp64(bv64, bv64) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp65(bv65, bv65) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot64(bv64) returns (bv64); -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "sign_extend 1"} sign_extend1_64(bv64) returns (bv65); -function {:bvbuiltin "zero_extend 1"} zero_extend1_64(bv64) returns (bv65); -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure __stack_chk_fail(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R29, Gamma_R3, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R2, R29, R3, R30, R31, stack; - free requires (memory_load8_le(mem, 2404bv64) == 1bv8); - free requires (memory_load8_le(mem, 2405bv64) == 0bv8); - free requires (memory_load8_le(mem, 2406bv64) == 2bv8); - free requires (memory_load8_le(mem, 2407bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 160bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 160bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 6bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 136bv8); - free requires (memory_load8_le(mem, 69577bv64) == 13bv8); - free requires (memory_load8_le(mem, 69578bv64) == 1bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 192bv8); - free requires (memory_load8_le(mem, 69617bv64) == 8bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free requires (memory_load8_le(mem, 69648bv64) == 5bv8); - free requires (memory_load8_le(mem, 69649bv64) == 0bv8); - free requires (memory_load8_le(mem, 69650bv64) == 0bv8); - free requires (memory_load8_le(mem, 69651bv64) == 0bv8); - free requires (memory_load8_le(mem, 69652bv64) == 0bv8); - free requires (memory_load8_le(mem, 69653bv64) == 0bv8); - free requires (memory_load8_le(mem, 69654bv64) == 0bv8); - free requires (memory_load8_le(mem, 69655bv64) == 0bv8); - free requires (memory_load8_le(mem, 69656bv64) == 84bv8); - free requires (memory_load8_le(mem, 69657bv64) == 8bv8); - free requires (memory_load8_le(mem, 69658bv64) == 0bv8); - free requires (memory_load8_le(mem, 69659bv64) == 0bv8); - free requires (memory_load8_le(mem, 69660bv64) == 0bv8); - free requires (memory_load8_le(mem, 69661bv64) == 0bv8); - free requires (memory_load8_le(mem, 69662bv64) == 0bv8); - free requires (memory_load8_le(mem, 69663bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 120bv8); - free requires (memory_load8_le(mem, 69665bv64) == 8bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 156bv8); - free requires (memory_load8_le(mem, 69673bv64) == 8bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #4: bv64; - var #5: bv64; - var #6: bv64; - var CF: bv1; - var Gamma_#4: bool; - var Gamma_#5: bool; - var Gamma_#6: bool; - var Gamma_CF: bool; - var Gamma_NF: bool; - var Gamma_VF: bool; - var Gamma_ZF: bool; - var NF: bv1; - var VF: bv1; - var ZF: bv1; - lmain: - #4, Gamma_#4 := bvadd64(R31, 18446744073709551552bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); - R31, Gamma_R31 := #4, Gamma_#4; - R29, Gamma_R29 := R31, Gamma_R31; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 28bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 28bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - R0, Gamma_R0 := 65536bv64, true; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4072bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4072bv64)) || L(mem, bvadd64(R0, 4072bv64))); - R1, Gamma_R1 := memory_load64_le(mem, R0), (gamma_load64(Gamma_mem, R0) || L(mem, R0)); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 56bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 56bv64), Gamma_R1); - R1, Gamma_R1 := 0bv64, true; - R0, Gamma_R0 := 69632bv64, true; - R0, Gamma_R0 := bvadd64(R0, 24bv64), Gamma_R0; - R2, Gamma_R2 := bvadd64(R31, 32bv64), Gamma_R31; - R3, Gamma_R3 := R0, Gamma_R0; - R0, Gamma_R0 := memory_load64_le(mem, R3), (gamma_load64(Gamma_mem, R3) || L(mem, R3)); - R1, Gamma_R1 := memory_load64_le(mem, bvadd64(R3, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R3, 8bv64)) || L(mem, bvadd64(R3, 8bv64))); - stack, Gamma_stack := memory_store64_le(stack, R2, R0), gamma_store64(Gamma_stack, R2, Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R2, 8bv64), R1), gamma_store64(Gamma_stack, bvadd64(R2, 8bv64), Gamma_R1); - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R3, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R3, 16bv64)) || L(mem, bvadd64(R3, 16bv64))); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R2, 16bv64), R0), gamma_store64(Gamma_stack, bvadd64(R2, 16bv64), Gamma_R0); - R0, Gamma_R0 := memory_load64_le(stack, bvadd64(R31, 32bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 32bv64)); - R30, Gamma_R30 := 2316bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l000004d7; - l000004d7: - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R31, 40bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 40bv64)) || L(mem, bvadd64(R31, 40bv64))); - R30, Gamma_R30 := 2324bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l000004e6; - l000004e6: - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R31, 48bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 48bv64)) || L(mem, bvadd64(R31, 48bv64))); - R30, Gamma_R30 := 2332bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l000004f5; - l000004f5: - R0, Gamma_R0 := 0bv64, true; - R1, Gamma_R1 := zero_extend32_32(R0[32:0]), Gamma_R0; - R0, Gamma_R0 := 65536bv64, true; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4072bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4072bv64)) || L(mem, bvadd64(R0, 4072bv64))); - R3, Gamma_R3 := memory_load64_le(mem, bvadd64(R31, 56bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 56bv64)) || L(mem, bvadd64(R31, 56bv64))); - R2, Gamma_R2 := memory_load64_le(mem, R0), (gamma_load64(Gamma_mem, R0) || L(mem, R0)); - #5, Gamma_#5 := bvnot64(R2), Gamma_R2; - #6, Gamma_#6 := bvadd64(R3, bvnot64(R2)), (Gamma_R2 && Gamma_R3); - VF, Gamma_VF := bvnot1(bvcomp65(sign_extend1_64(bvadd64(#6, 1bv64)), bvadd65(bvadd65(sign_extend1_64(R3), sign_extend1_64(#5)), 1bv65))), (Gamma_#5 && (Gamma_R3 && Gamma_#6)); - CF, Gamma_CF := bvnot1(bvcomp65(zero_extend1_64(bvadd64(#6, 1bv64)), bvadd65(bvadd65(zero_extend1_64(R3), zero_extend1_64(#5)), 1bv65))), (Gamma_#5 && (Gamma_R3 && Gamma_#6)); - ZF, Gamma_ZF := bvcomp64(bvadd64(#6, 1bv64), 0bv64), Gamma_#6; - NF, Gamma_NF := bvadd64(#6, 1bv64)[64:63], Gamma_#6; - R3, Gamma_R3 := bvadd64(#6, 1bv64), Gamma_#6; - R2, Gamma_R2 := 0bv64, true; - assert Gamma_ZF; - if ((bvcomp1(ZF, 1bv1) != 0bv1)) { - goto l00000544; - } - goto l00000564; - l00000564: - R30, Gamma_R30 := 2372bv64, true; - call __stack_chk_fail(); - goto l00000544; - l00000544: - R0, Gamma_R0 := zero_extend32_32(R1[32:0]), Gamma_R1; - R29, Gamma_R29 := memory_load64_le(mem, R31), (gamma_load64(Gamma_mem, R31) || L(mem, R31)); - R30, Gamma_R30 := memory_load64_le(mem, bvadd64(R31, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 8bv64)) || L(mem, bvadd64(R31, 8bv64))); - R31, Gamma_R31 := bvadd64(R31, 64bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable/gcc_pic/jumptable.expected b/src/test/correct/jumptable/gcc_pic/jumptable.expected deleted file mode 100644 index 4773db00b..000000000 --- a/src/test/correct/jumptable/gcc_pic/jumptable.expected +++ /dev/null @@ -1,358 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R2: bool; -var Gamma_R29: bool; -var Gamma_R3: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R2: bv64; -var R29: bv64; -var R3: bv64; -var R30: bv64; -var R31: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2404bv64); -const $x_addr: bv64; -axiom ($x_addr == 69648bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function {:bvbuiltin "bvadd"} bvadd65(bv65, bv65) returns (bv65); -function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp64(bv64, bv64) returns (bv1); -function {:bvbuiltin "bvcomp"} bvcomp65(bv65, bv65) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); -function {:bvbuiltin "bvnot"} bvnot64(bv64) returns (bv64); -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "sign_extend 1"} sign_extend1_64(bv64) returns (bv65); -function {:bvbuiltin "zero_extend 1"} zero_extend1_64(bv64) returns (bv65); -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure __stack_chk_fail(); - -procedure main() - modifies Gamma_R0, Gamma_R1, Gamma_R2, Gamma_R29, Gamma_R3, Gamma_R30, Gamma_R31, Gamma_stack, R0, R1, R2, R29, R3, R30, R31, stack; - free requires (memory_load8_le(mem, 2404bv64) == 1bv8); - free requires (memory_load8_le(mem, 2405bv64) == 0bv8); - free requires (memory_load8_le(mem, 2406bv64) == 2bv8); - free requires (memory_load8_le(mem, 2407bv64) == 0bv8); - free requires (memory_load8_le(mem, 69504bv64) == 0bv8); - free requires (memory_load8_le(mem, 69505bv64) == 0bv8); - free requires (memory_load8_le(mem, 69506bv64) == 0bv8); - free requires (memory_load8_le(mem, 69507bv64) == 0bv8); - free requires (memory_load8_le(mem, 69508bv64) == 0bv8); - free requires (memory_load8_le(mem, 69509bv64) == 0bv8); - free requires (memory_load8_le(mem, 69510bv64) == 0bv8); - free requires (memory_load8_le(mem, 69511bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 192bv8); - free requires (memory_load8_le(mem, 69529bv64) == 6bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 192bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 192bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 192bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 192bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 128bv8); - free requires (memory_load8_le(mem, 69569bv64) == 13bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 16bv8); - free requires (memory_load8_le(mem, 69593bv64) == 16bv8); - free requires (memory_load8_le(mem, 69594bv64) == 1bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 192bv8); - free requires (memory_load8_le(mem, 69617bv64) == 8bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free requires (memory_load8_le(mem, 69648bv64) == 5bv8); - free requires (memory_load8_le(mem, 69649bv64) == 0bv8); - free requires (memory_load8_le(mem, 69650bv64) == 0bv8); - free requires (memory_load8_le(mem, 69651bv64) == 0bv8); - free requires (memory_load8_le(mem, 69652bv64) == 0bv8); - free requires (memory_load8_le(mem, 69653bv64) == 0bv8); - free requires (memory_load8_le(mem, 69654bv64) == 0bv8); - free requires (memory_load8_le(mem, 69655bv64) == 0bv8); - free requires (memory_load8_le(mem, 69656bv64) == 84bv8); - free requires (memory_load8_le(mem, 69657bv64) == 8bv8); - free requires (memory_load8_le(mem, 69658bv64) == 0bv8); - free requires (memory_load8_le(mem, 69659bv64) == 0bv8); - free requires (memory_load8_le(mem, 69660bv64) == 0bv8); - free requires (memory_load8_le(mem, 69661bv64) == 0bv8); - free requires (memory_load8_le(mem, 69662bv64) == 0bv8); - free requires (memory_load8_le(mem, 69663bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 120bv8); - free requires (memory_load8_le(mem, 69665bv64) == 8bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 156bv8); - free requires (memory_load8_le(mem, 69673bv64) == 8bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #4: bv64; - var #5: bv64; - var #6: bv64; - var CF: bv1; - var Gamma_#4: bool; - var Gamma_#5: bool; - var Gamma_#6: bool; - var Gamma_CF: bool; - var Gamma_NF: bool; - var Gamma_VF: bool; - var Gamma_ZF: bool; - var NF: bv1; - var VF: bv1; - var ZF: bv1; - lmain: - #4, Gamma_#4 := bvadd64(R31, 18446744073709551552bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); - R31, Gamma_R31 := #4, Gamma_#4; - R29, Gamma_R29 := R31, Gamma_R31; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 28bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 28bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - R0, Gamma_R0 := 65536bv64, true; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4072bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4072bv64)) || L(mem, bvadd64(R0, 4072bv64))); - R1, Gamma_R1 := memory_load64_le(mem, R0), (gamma_load64(Gamma_mem, R0) || L(mem, R0)); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 56bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 56bv64), Gamma_R1); - R1, Gamma_R1 := 0bv64, true; - R0, Gamma_R0 := 69632bv64, true; - R0, Gamma_R0 := bvadd64(R0, 24bv64), Gamma_R0; - R2, Gamma_R2 := bvadd64(R31, 32bv64), Gamma_R31; - R3, Gamma_R3 := R0, Gamma_R0; - R0, Gamma_R0 := memory_load64_le(mem, R3), (gamma_load64(Gamma_mem, R3) || L(mem, R3)); - R1, Gamma_R1 := memory_load64_le(mem, bvadd64(R3, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R3, 8bv64)) || L(mem, bvadd64(R3, 8bv64))); - stack, Gamma_stack := memory_store64_le(stack, R2, R0), gamma_store64(Gamma_stack, R2, Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R2, 8bv64), R1), gamma_store64(Gamma_stack, bvadd64(R2, 8bv64), Gamma_R1); - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R3, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R3, 16bv64)) || L(mem, bvadd64(R3, 16bv64))); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R2, 16bv64), R0), gamma_store64(Gamma_stack, bvadd64(R2, 16bv64), Gamma_R0); - R0, Gamma_R0 := memory_load64_le(stack, bvadd64(R31, 32bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 32bv64)); - R30, Gamma_R30 := 2316bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l000004dd; - l000004dd: - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R31, 40bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 40bv64)) || L(mem, bvadd64(R31, 40bv64))); - R30, Gamma_R30 := 2324bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l000004ec; - l000004ec: - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R31, 48bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 48bv64)) || L(mem, bvadd64(R31, 48bv64))); - R30, Gamma_R30 := 2332bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l000004fb; - l000004fb: - R0, Gamma_R0 := 0bv64, true; - R1, Gamma_R1 := zero_extend32_32(R0[32:0]), Gamma_R0; - R0, Gamma_R0 := 65536bv64, true; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4072bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4072bv64)) || L(mem, bvadd64(R0, 4072bv64))); - R3, Gamma_R3 := memory_load64_le(mem, bvadd64(R31, 56bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 56bv64)) || L(mem, bvadd64(R31, 56bv64))); - R2, Gamma_R2 := memory_load64_le(mem, R0), (gamma_load64(Gamma_mem, R0) || L(mem, R0)); - #5, Gamma_#5 := bvnot64(R2), Gamma_R2; - #6, Gamma_#6 := bvadd64(R3, bvnot64(R2)), (Gamma_R2 && Gamma_R3); - VF, Gamma_VF := bvnot1(bvcomp65(sign_extend1_64(bvadd64(#6, 1bv64)), bvadd65(bvadd65(sign_extend1_64(R3), sign_extend1_64(#5)), 1bv65))), (Gamma_#5 && (Gamma_R3 && Gamma_#6)); - CF, Gamma_CF := bvnot1(bvcomp65(zero_extend1_64(bvadd64(#6, 1bv64)), bvadd65(bvadd65(zero_extend1_64(R3), zero_extend1_64(#5)), 1bv65))), (Gamma_#5 && (Gamma_R3 && Gamma_#6)); - ZF, Gamma_ZF := bvcomp64(bvadd64(#6, 1bv64), 0bv64), Gamma_#6; - NF, Gamma_NF := bvadd64(#6, 1bv64)[64:63], Gamma_#6; - R3, Gamma_R3 := bvadd64(#6, 1bv64), Gamma_#6; - R2, Gamma_R2 := 0bv64, true; - assert Gamma_ZF; - if ((bvcomp1(ZF, 1bv1) != 0bv1)) { - goto l0000054a; - } - goto l0000056a; - l0000056a: - R30, Gamma_R30 := 2372bv64, true; - call __stack_chk_fail(); - goto l0000054a; - l0000054a: - R0, Gamma_R0 := zero_extend32_32(R1[32:0]), Gamma_R1; - R29, Gamma_R29 := memory_load64_le(mem, R31), (gamma_load64(Gamma_mem, R31) || L(mem, R31)); - R30, Gamma_R30 := memory_load64_le(mem, bvadd64(R31, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 8bv64)) || L(mem, bvadd64(R31, 8bv64))); - R31, Gamma_R31 := bvadd64(R31, 64bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable2/clang/jumptable2.expected b/src/test/correct/jumptable2/clang/jumptable2.expected deleted file mode 100644 index 76fd0a69d..000000000 --- a/src/test/correct/jumptable2/clang/jumptable2.expected +++ /dev/null @@ -1,239 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_R9: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var R9: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2052bv64); -const $jump_table_addr: bv64; -axiom ($jump_table_addr == 69688bv64); -const $x_addr: bv64; -axiom ($x_addr == 69680bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R29, R30, R31, R8, R9, stack; - free requires (memory_load8_le(mem, 2052bv64) == 1bv8); - free requires (memory_load8_le(mem, 2053bv64) == 0bv8); - free requires (memory_load8_le(mem, 2054bv64) == 2bv8); - free requires (memory_load8_le(mem, 2055bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 144bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 5bv8); - free requires (memory_load8_le(mem, 69681bv64) == 0bv8); - free requires (memory_load8_le(mem, 69682bv64) == 0bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free requires (memory_load8_le(mem, 69684bv64) == 0bv8); - free requires (memory_load8_le(mem, 69685bv64) == 0bv8); - free requires (memory_load8_le(mem, 69686bv64) == 0bv8); - free requires (memory_load8_le(mem, 69687bv64) == 0bv8); - free requires (memory_load8_le(mem, 69688bv64) == 84bv8); - free requires (memory_load8_le(mem, 69689bv64) == 7bv8); - free requires (memory_load8_le(mem, 69690bv64) == 0bv8); - free requires (memory_load8_le(mem, 69691bv64) == 0bv8); - free requires (memory_load8_le(mem, 69692bv64) == 0bv8); - free requires (memory_load8_le(mem, 69693bv64) == 0bv8); - free requires (memory_load8_le(mem, 69694bv64) == 0bv8); - free requires (memory_load8_le(mem, 69695bv64) == 0bv8); - free requires (memory_load8_le(mem, 69696bv64) == 104bv8); - free requires (memory_load8_le(mem, 69697bv64) == 7bv8); - free requires (memory_load8_le(mem, 69698bv64) == 0bv8); - free requires (memory_load8_le(mem, 69699bv64) == 0bv8); - free requires (memory_load8_le(mem, 69700bv64) == 0bv8); - free requires (memory_load8_le(mem, 69701bv64) == 0bv8); - free requires (memory_load8_le(mem, 69702bv64) == 0bv8); - free requires (memory_load8_le(mem, 69703bv64) == 0bv8); - free requires (memory_load8_le(mem, 69704bv64) == 124bv8); - free requires (memory_load8_le(mem, 69705bv64) == 7bv8); - free requires (memory_load8_le(mem, 69706bv64) == 0bv8); - free requires (memory_load8_le(mem, 69707bv64) == 0bv8); - free requires (memory_load8_le(mem, 69708bv64) == 0bv8); - free requires (memory_load8_le(mem, 69709bv64) == 0bv8); - free requires (memory_load8_le(mem, 69710bv64) == 0bv8); - free requires (memory_load8_le(mem, 69711bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #5: bv64; - var #6: bv64; - var Gamma_#5: bool; - var Gamma_#6: bool; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - #5, Gamma_#5 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 32bv64), Gamma_R31; - R8, Gamma_R8 := 69632bv64, true; - R9, Gamma_R9 := 69632bv64, true; - R9, Gamma_R9 := bvadd64(R9, 56bv64), Gamma_R9; - stack, Gamma_stack := memory_store64_le(stack, R31, R9), gamma_store64(Gamma_stack, R31, Gamma_R9); - R9, Gamma_R9 := 0bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R9[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R9); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551608bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 56bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 56bv64)) || L(mem, bvadd64(R8, 56bv64))); - R30, Gamma_R30 := 1992bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000422; - l00000422: - R8, Gamma_R8 := memory_load64_le(mem, R31), (gamma_load64(Gamma_mem, R31) || L(mem, R31)); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 8bv64)) || L(mem, bvadd64(R8, 8bv64))); - R30, Gamma_R30 := 2004bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000438; - l00000438: - R8, Gamma_R8 := memory_load64_le(mem, R31), (gamma_load64(Gamma_mem, R31) || L(mem, R31)); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 16bv64)) || L(mem, bvadd64(R8, 16bv64))); - R30, Gamma_R30 := 2016bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l0000044e; - l0000044e: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, bvadd64(R31, 12bv64))), (gamma_load32(Gamma_mem, bvadd64(R31, 12bv64)) || L(mem, bvadd64(R31, 12bv64))); - #6, Gamma_#6 := bvadd64(R31, 32bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(mem, #6), (gamma_load64(Gamma_mem, #6) || L(mem, #6)); - R30, Gamma_R30 := memory_load64_le(mem, bvadd64(#6, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(#6, 8bv64)) || L(mem, bvadd64(#6, 8bv64))); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable2/clang_O2/jumptable2.expected b/src/test/correct/jumptable2/clang_O2/jumptable2.expected deleted file mode 100644 index c6727da8d..000000000 --- a/src/test/correct/jumptable2/clang_O2/jumptable2.expected +++ /dev/null @@ -1,212 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R19: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R19: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2016bv64); -const $jump_table_addr: bv64; -axiom ($jump_table_addr == 69688bv64); -const $x_addr: bv64; -axiom ($x_addr == 69680bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R19, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_stack, R0, R19, R29, R30, R31, R8, stack; - free requires (memory_load8_le(mem, 2016bv64) == 1bv8); - free requires (memory_load8_le(mem, 2017bv64) == 0bv8); - free requires (memory_load8_le(mem, 2018bv64) == 2bv8); - free requires (memory_load8_le(mem, 2019bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 144bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 5bv8); - free requires (memory_load8_le(mem, 69681bv64) == 0bv8); - free requires (memory_load8_le(mem, 69682bv64) == 0bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free requires (memory_load8_le(mem, 69684bv64) == 0bv8); - free requires (memory_load8_le(mem, 69685bv64) == 0bv8); - free requires (memory_load8_le(mem, 69686bv64) == 0bv8); - free requires (memory_load8_le(mem, 69687bv64) == 0bv8); - free requires (memory_load8_le(mem, 69688bv64) == 84bv8); - free requires (memory_load8_le(mem, 69689bv64) == 7bv8); - free requires (memory_load8_le(mem, 69690bv64) == 0bv8); - free requires (memory_load8_le(mem, 69691bv64) == 0bv8); - free requires (memory_load8_le(mem, 69692bv64) == 0bv8); - free requires (memory_load8_le(mem, 69693bv64) == 0bv8); - free requires (memory_load8_le(mem, 69694bv64) == 0bv8); - free requires (memory_load8_le(mem, 69695bv64) == 0bv8); - free requires (memory_load8_le(mem, 69696bv64) == 104bv8); - free requires (memory_load8_le(mem, 69697bv64) == 7bv8); - free requires (memory_load8_le(mem, 69698bv64) == 0bv8); - free requires (memory_load8_le(mem, 69699bv64) == 0bv8); - free requires (memory_load8_le(mem, 69700bv64) == 0bv8); - free requires (memory_load8_le(mem, 69701bv64) == 0bv8); - free requires (memory_load8_le(mem, 69702bv64) == 0bv8); - free requires (memory_load8_le(mem, 69703bv64) == 0bv8); - free requires (memory_load8_le(mem, 69704bv64) == 124bv8); - free requires (memory_load8_le(mem, 69705bv64) == 7bv8); - free requires (memory_load8_le(mem, 69706bv64) == 0bv8); - free requires (memory_load8_le(mem, 69707bv64) == 0bv8); - free requires (memory_load8_le(mem, 69708bv64) == 0bv8); - free requires (memory_load8_le(mem, 69709bv64) == 0bv8); - free requires (memory_load8_le(mem, 69710bv64) == 0bv8); - free requires (memory_load8_le(mem, 69711bv64) == 0bv8); - free ensures (Gamma_R19 == old(Gamma_R19)); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R19 == old(R19)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #4: bv64; - var Gamma_#4: bool; - lmain: - #4, Gamma_#4 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); - R31, Gamma_R31 := #4, Gamma_#4; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R19), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R19); - R29, Gamma_R29 := R31, Gamma_R31; - R19, Gamma_R19 := 69632bv64, true; - R19, Gamma_R19 := bvadd64(R19, 56bv64), Gamma_R19; - R8, Gamma_R8 := memory_load64_le(mem, R19), (gamma_load64(Gamma_mem, R19) || L(mem, R19)); - R30, Gamma_R30 := 1964bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l000003bd; - l000003bd: - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R19, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R19, 8bv64)) || L(mem, bvadd64(R19, 8bv64))); - R30, Gamma_R30 := 1972bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l000003cc; - l000003cc: - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R19, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R19, 16bv64)) || L(mem, bvadd64(R19, 16bv64))); - R30, Gamma_R30 := 1980bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l000003db; - l000003db: - R0, Gamma_R0 := 0bv64, true; - R19, Gamma_R19 := memory_load64_le(mem, bvadd64(R31, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 16bv64)) || L(mem, bvadd64(R31, 16bv64))); - R29, Gamma_R29 := memory_load64_le(mem, R31), (gamma_load64(Gamma_mem, R31) || L(mem, R31)); - R30, Gamma_R30 := memory_load64_le(mem, bvadd64(R31, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 8bv64)) || L(mem, bvadd64(R31, 8bv64))); - R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable2/clang_no_plt_no_pic/jumptable2.expected b/src/test/correct/jumptable2/clang_no_plt_no_pic/jumptable2.expected deleted file mode 100644 index 48f5e0b22..000000000 --- a/src/test/correct/jumptable2/clang_no_plt_no_pic/jumptable2.expected +++ /dev/null @@ -1,239 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_R9: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var R9: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2052bv64); -const $jump_table_addr: bv64; -axiom ($jump_table_addr == 69688bv64); -const $x_addr: bv64; -axiom ($x_addr == 69680bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R29, R30, R31, R8, R9, stack; - free requires (memory_load8_le(mem, 2052bv64) == 1bv8); - free requires (memory_load8_le(mem, 2053bv64) == 0bv8); - free requires (memory_load8_le(mem, 2054bv64) == 2bv8); - free requires (memory_load8_le(mem, 2055bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 144bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 5bv8); - free requires (memory_load8_le(mem, 69681bv64) == 0bv8); - free requires (memory_load8_le(mem, 69682bv64) == 0bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free requires (memory_load8_le(mem, 69684bv64) == 0bv8); - free requires (memory_load8_le(mem, 69685bv64) == 0bv8); - free requires (memory_load8_le(mem, 69686bv64) == 0bv8); - free requires (memory_load8_le(mem, 69687bv64) == 0bv8); - free requires (memory_load8_le(mem, 69688bv64) == 84bv8); - free requires (memory_load8_le(mem, 69689bv64) == 7bv8); - free requires (memory_load8_le(mem, 69690bv64) == 0bv8); - free requires (memory_load8_le(mem, 69691bv64) == 0bv8); - free requires (memory_load8_le(mem, 69692bv64) == 0bv8); - free requires (memory_load8_le(mem, 69693bv64) == 0bv8); - free requires (memory_load8_le(mem, 69694bv64) == 0bv8); - free requires (memory_load8_le(mem, 69695bv64) == 0bv8); - free requires (memory_load8_le(mem, 69696bv64) == 104bv8); - free requires (memory_load8_le(mem, 69697bv64) == 7bv8); - free requires (memory_load8_le(mem, 69698bv64) == 0bv8); - free requires (memory_load8_le(mem, 69699bv64) == 0bv8); - free requires (memory_load8_le(mem, 69700bv64) == 0bv8); - free requires (memory_load8_le(mem, 69701bv64) == 0bv8); - free requires (memory_load8_le(mem, 69702bv64) == 0bv8); - free requires (memory_load8_le(mem, 69703bv64) == 0bv8); - free requires (memory_load8_le(mem, 69704bv64) == 124bv8); - free requires (memory_load8_le(mem, 69705bv64) == 7bv8); - free requires (memory_load8_le(mem, 69706bv64) == 0bv8); - free requires (memory_load8_le(mem, 69707bv64) == 0bv8); - free requires (memory_load8_le(mem, 69708bv64) == 0bv8); - free requires (memory_load8_le(mem, 69709bv64) == 0bv8); - free requires (memory_load8_le(mem, 69710bv64) == 0bv8); - free requires (memory_load8_le(mem, 69711bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #5: bv64; - var #6: bv64; - var Gamma_#5: bool; - var Gamma_#6: bool; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - #5, Gamma_#5 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 32bv64), Gamma_R31; - R8, Gamma_R8 := 69632bv64, true; - R9, Gamma_R9 := 69632bv64, true; - R9, Gamma_R9 := bvadd64(R9, 56bv64), Gamma_R9; - stack, Gamma_stack := memory_store64_le(stack, R31, R9), gamma_store64(Gamma_stack, R31, Gamma_R9); - R9, Gamma_R9 := 0bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R9[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R9); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551608bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 56bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 56bv64)) || L(mem, bvadd64(R8, 56bv64))); - R30, Gamma_R30 := 1992bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000b79; - l00000b79: - R8, Gamma_R8 := memory_load64_le(mem, R31), (gamma_load64(Gamma_mem, R31) || L(mem, R31)); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 8bv64)) || L(mem, bvadd64(R8, 8bv64))); - R30, Gamma_R30 := 2004bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000b8f; - l00000b8f: - R8, Gamma_R8 := memory_load64_le(mem, R31), (gamma_load64(Gamma_mem, R31) || L(mem, R31)); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 16bv64)) || L(mem, bvadd64(R8, 16bv64))); - R30, Gamma_R30 := 2016bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000ba5; - l00000ba5: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, bvadd64(R31, 12bv64))), (gamma_load32(Gamma_mem, bvadd64(R31, 12bv64)) || L(mem, bvadd64(R31, 12bv64))); - #6, Gamma_#6 := bvadd64(R31, 32bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(mem, #6), (gamma_load64(Gamma_mem, #6) || L(mem, #6)); - R30, Gamma_R30 := memory_load64_le(mem, bvadd64(#6, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(#6, 8bv64)) || L(mem, bvadd64(#6, 8bv64))); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable2/clang_pic/jumptable2.expected b/src/test/correct/jumptable2/clang_pic/jumptable2.expected deleted file mode 100644 index 006ab3efa..000000000 --- a/src/test/correct/jumptable2/clang_pic/jumptable2.expected +++ /dev/null @@ -1,254 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_R8: bool; -var Gamma_R9: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var R8: bv64; -var R9: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2124bv64); -const $jump_table_addr: bv64; -axiom ($jump_table_addr == 69688bv64); -const $x_addr: bv64; -axiom ($x_addr == 69680bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) -} - -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { - (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_R8, Gamma_R9, Gamma_stack, R0, R29, R30, R31, R8, R9, stack; - free requires (memory_load8_le(mem, 2124bv64) == 1bv8); - free requires (memory_load8_le(mem, 2125bv64) == 0bv8); - free requires (memory_load8_le(mem, 2126bv64) == 2bv8); - free requires (memory_load8_le(mem, 2127bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 200bv8); - free requires (memory_load8_le(mem, 69545bv64) == 13bv8); - free requires (memory_load8_le(mem, 69546bv64) == 1bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 0bv8); - free requires (memory_load8_le(mem, 69553bv64) == 0bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 0bv8); - free requires (memory_load8_le(mem, 69561bv64) == 0bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 48bv8); - free requires (memory_load8_le(mem, 69569bv64) == 16bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 220bv8); - free requires (memory_load8_le(mem, 69585bv64) == 7bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 56bv8); - free requires (memory_load8_le(mem, 69601bv64) == 16bv8); - free requires (memory_load8_le(mem, 69602bv64) == 1bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 5bv8); - free requires (memory_load8_le(mem, 69681bv64) == 0bv8); - free requires (memory_load8_le(mem, 69682bv64) == 0bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free requires (memory_load8_le(mem, 69684bv64) == 0bv8); - free requires (memory_load8_le(mem, 69685bv64) == 0bv8); - free requires (memory_load8_le(mem, 69686bv64) == 0bv8); - free requires (memory_load8_le(mem, 69687bv64) == 0bv8); - free requires (memory_load8_le(mem, 69688bv64) == 148bv8); - free requires (memory_load8_le(mem, 69689bv64) == 7bv8); - free requires (memory_load8_le(mem, 69690bv64) == 0bv8); - free requires (memory_load8_le(mem, 69691bv64) == 0bv8); - free requires (memory_load8_le(mem, 69692bv64) == 0bv8); - free requires (memory_load8_le(mem, 69693bv64) == 0bv8); - free requires (memory_load8_le(mem, 69694bv64) == 0bv8); - free requires (memory_load8_le(mem, 69695bv64) == 0bv8); - free requires (memory_load8_le(mem, 69696bv64) == 172bv8); - free requires (memory_load8_le(mem, 69697bv64) == 7bv8); - free requires (memory_load8_le(mem, 69698bv64) == 0bv8); - free requires (memory_load8_le(mem, 69699bv64) == 0bv8); - free requires (memory_load8_le(mem, 69700bv64) == 0bv8); - free requires (memory_load8_le(mem, 69701bv64) == 0bv8); - free requires (memory_load8_le(mem, 69702bv64) == 0bv8); - free requires (memory_load8_le(mem, 69703bv64) == 0bv8); - free requires (memory_load8_le(mem, 69704bv64) == 196bv8); - free requires (memory_load8_le(mem, 69705bv64) == 7bv8); - free requires (memory_load8_le(mem, 69706bv64) == 0bv8); - free requires (memory_load8_le(mem, 69707bv64) == 0bv8); - free requires (memory_load8_le(mem, 69708bv64) == 0bv8); - free requires (memory_load8_le(mem, 69709bv64) == 0bv8); - free requires (memory_load8_le(mem, 69710bv64) == 0bv8); - free requires (memory_load8_le(mem, 69711bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #5: bv64; - var #6: bv64; - var Gamma_#5: bool; - var Gamma_#6: bool; - lmain: - R31, Gamma_R31 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; - #5, Gamma_#5 := bvadd64(R31, 32bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #5, R29), gamma_store64(Gamma_stack, #5, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#5, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#5, 8bv64), Gamma_R30); - R29, Gamma_R29 := bvadd64(R31, 32bv64), Gamma_R31; - R8, Gamma_R8 := 65536bv64, true; - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 4064bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 4064bv64)) || L(mem, bvadd64(R8, 4064bv64))); - stack, Gamma_stack := memory_store64_le(stack, R31, R8), gamma_store64(Gamma_stack, R31, Gamma_R8); - R9, Gamma_R9 := 0bv64, true; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 12bv64), R9[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 12bv64), Gamma_R9); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551612bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551612bv64), true); - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R29, 18446744073709551608bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R29, 18446744073709551608bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - R8, Gamma_R8 := memory_load64_le(mem, R8), (gamma_load64(Gamma_mem, R8) || L(mem, R8)); - R30, Gamma_R30 := 2064bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l0000043b; - l0000043b: - R8, Gamma_R8 := memory_load64_le(mem, R31), (gamma_load64(Gamma_mem, R31) || L(mem, R31)); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 8bv64)) || L(mem, bvadd64(R8, 8bv64))); - R30, Gamma_R30 := 2076bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000451; - l00000451: - R8, Gamma_R8 := memory_load64_le(mem, R31), (gamma_load64(Gamma_mem, R31) || L(mem, R31)); - R8, Gamma_R8 := memory_load64_le(mem, bvadd64(R8, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R8, 16bv64)) || L(mem, bvadd64(R8, 16bv64))); - R30, Gamma_R30 := 2088bv64, true; - //UNRESOLVED: call R8 - assume false; - goto l00000467; - l00000467: - R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, bvadd64(R31, 12bv64))), (gamma_load32(Gamma_mem, bvadd64(R31, 12bv64)) || L(mem, bvadd64(R31, 12bv64))); - #6, Gamma_#6 := bvadd64(R31, 32bv64), Gamma_R31; - R29, Gamma_R29 := memory_load64_le(mem, #6), (gamma_load64(Gamma_mem, #6) || L(mem, #6)); - R30, Gamma_R30 := memory_load64_le(mem, bvadd64(#6, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(#6, 8bv64)) || L(mem, bvadd64(#6, 8bv64))); - R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable2/gcc_O2/jumptable2.expected b/src/test/correct/jumptable2/gcc_O2/jumptable2.expected deleted file mode 100644 index 5cb6d363d..000000000 --- a/src/test/correct/jumptable2/gcc_O2/jumptable2.expected +++ /dev/null @@ -1,266 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R19: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R19: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2040bv64); -const $jump_table_addr: bv64; -axiom ($jump_table_addr == 69656bv64); -const $x_addr: bv64; -axiom ($x_addr == 69648bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R19, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R19, R29, R30, R31, stack; - free requires (memory_load8_le(mem, 2040bv64) == 1bv8); - free requires (memory_load8_le(mem, 2041bv64) == 0bv8); - free requires (memory_load8_le(mem, 2042bv64) == 2bv8); - free requires (memory_load8_le(mem, 2043bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 224bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 224bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 224bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 224bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 64bv8); - free requires (memory_load8_le(mem, 69617bv64) == 6bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free requires (memory_load8_le(mem, 69648bv64) == 5bv8); - free requires (memory_load8_le(mem, 69649bv64) == 0bv8); - free requires (memory_load8_le(mem, 69650bv64) == 0bv8); - free requires (memory_load8_le(mem, 69651bv64) == 0bv8); - free requires (memory_load8_le(mem, 69652bv64) == 0bv8); - free requires (memory_load8_le(mem, 69653bv64) == 0bv8); - free requires (memory_load8_le(mem, 69654bv64) == 0bv8); - free requires (memory_load8_le(mem, 69655bv64) == 0bv8); - free requires (memory_load8_le(mem, 69656bv64) == 160bv8); - free requires (memory_load8_le(mem, 69657bv64) == 7bv8); - free requires (memory_load8_le(mem, 69658bv64) == 0bv8); - free requires (memory_load8_le(mem, 69659bv64) == 0bv8); - free requires (memory_load8_le(mem, 69660bv64) == 0bv8); - free requires (memory_load8_le(mem, 69661bv64) == 0bv8); - free requires (memory_load8_le(mem, 69662bv64) == 0bv8); - free requires (memory_load8_le(mem, 69663bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 180bv8); - free requires (memory_load8_le(mem, 69665bv64) == 7bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 208bv8); - free requires (memory_load8_le(mem, 69673bv64) == 7bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (Gamma_R19 == old(Gamma_R19)); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R19 == old(R19)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #1: bv64; - var Gamma_#1: bool; - lmain: - #1, Gamma_#1 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #1, R29), gamma_store64(Gamma_stack, #1, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#1, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#1, 8bv64), Gamma_R30); - R31, Gamma_R31 := #1, Gamma_#1; - R0, Gamma_R0 := 69632bv64, true; - R29, Gamma_R29 := R31, Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R19), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R19); - R19, Gamma_R19 := bvadd64(R0, 24bv64), Gamma_R0; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 24bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 24bv64)) || L(mem, bvadd64(R0, 24bv64))); - R30, Gamma_R30 := 1628bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000236; - l00000236: - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R19, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R19, 8bv64)) || L(mem, bvadd64(R19, 8bv64))); - R30, Gamma_R30 := 1636bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000245; - l00000245: - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R19, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R19, 16bv64)) || L(mem, bvadd64(R19, 16bv64))); - R30, Gamma_R30 := 1644bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000254; - l00000254: - R0, Gamma_R0 := 0bv64, true; - R19, Gamma_R19 := memory_load64_le(mem, bvadd64(R31, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 16bv64)) || L(mem, bvadd64(R31, 16bv64))); - R29, Gamma_R29 := memory_load64_le(mem, R31), (gamma_load64(Gamma_mem, R31) || L(mem, R31)); - R30, Gamma_R30 := memory_load64_le(mem, bvadd64(R31, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 8bv64)) || L(mem, bvadd64(R31, 8bv64))); - R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable2/gcc_pic/jumptable2.expected b/src/test/correct/jumptable2/gcc_pic/jumptable2.expected deleted file mode 100644 index 6f65ba1a2..000000000 --- a/src/test/correct/jumptable2/gcc_pic/jumptable2.expected +++ /dev/null @@ -1,292 +0,0 @@ -var Gamma_R0: bool; -var Gamma_R1: bool; -var Gamma_R29: bool; -var Gamma_R30: bool; -var Gamma_R31: bool; -var Gamma_mem: [bv64]bool; -var Gamma_stack: [bv64]bool; -var R0: bv64; -var R1: bv64; -var R29: bv64; -var R30: bv64; -var R31: bv64; -var mem: [bv64]bv8; -var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2144bv64); -const $jump_table_addr: bv64; -axiom ($jump_table_addr == 69656bv64); -const $x_addr: bv64; -axiom ($x_addr == 69648bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] -} - -function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { - gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] -} - -function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { - memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] -} - -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; - free requires (memory_load8_le(mem, 2144bv64) == 1bv8); - free requires (memory_load8_le(mem, 2145bv64) == 0bv8); - free requires (memory_load8_le(mem, 2146bv64) == 2bv8); - free requires (memory_load8_le(mem, 2147bv64) == 0bv8); - free requires (memory_load8_le(mem, 69512bv64) == 0bv8); - free requires (memory_load8_le(mem, 69513bv64) == 0bv8); - free requires (memory_load8_le(mem, 69514bv64) == 0bv8); - free requires (memory_load8_le(mem, 69515bv64) == 0bv8); - free requires (memory_load8_le(mem, 69516bv64) == 0bv8); - free requires (memory_load8_le(mem, 69517bv64) == 0bv8); - free requires (memory_load8_le(mem, 69518bv64) == 0bv8); - free requires (memory_load8_le(mem, 69519bv64) == 0bv8); - free requires (memory_load8_le(mem, 69520bv64) == 0bv8); - free requires (memory_load8_le(mem, 69521bv64) == 0bv8); - free requires (memory_load8_le(mem, 69522bv64) == 0bv8); - free requires (memory_load8_le(mem, 69523bv64) == 0bv8); - free requires (memory_load8_le(mem, 69524bv64) == 0bv8); - free requires (memory_load8_le(mem, 69525bv64) == 0bv8); - free requires (memory_load8_le(mem, 69526bv64) == 0bv8); - free requires (memory_load8_le(mem, 69527bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 16bv8); - free requires (memory_load8_le(mem, 69537bv64) == 6bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 16bv8); - free requires (memory_load8_le(mem, 69545bv64) == 6bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 16bv8); - free requires (memory_load8_le(mem, 69553bv64) == 6bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 16bv8); - free requires (memory_load8_le(mem, 69561bv64) == 6bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 152bv8); - free requires (memory_load8_le(mem, 69569bv64) == 13bv8); - free requires (memory_load8_le(mem, 69570bv64) == 1bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 16bv8); - free requires (memory_load8_le(mem, 69593bv64) == 16bv8); - free requires (memory_load8_le(mem, 69594bv64) == 1bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 8bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 0bv8); - free requires (memory_load8_le(mem, 69617bv64) == 0bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 24bv8); - free requires (memory_load8_le(mem, 69625bv64) == 16bv8); - free requires (memory_load8_le(mem, 69626bv64) == 1bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free requires (memory_load8_le(mem, 69648bv64) == 5bv8); - free requires (memory_load8_le(mem, 69649bv64) == 0bv8); - free requires (memory_load8_le(mem, 69650bv64) == 0bv8); - free requires (memory_load8_le(mem, 69651bv64) == 0bv8); - free requires (memory_load8_le(mem, 69652bv64) == 0bv8); - free requires (memory_load8_le(mem, 69653bv64) == 0bv8); - free requires (memory_load8_le(mem, 69654bv64) == 0bv8); - free requires (memory_load8_le(mem, 69655bv64) == 0bv8); - free requires (memory_load8_le(mem, 69656bv64) == 148bv8); - free requires (memory_load8_le(mem, 69657bv64) == 7bv8); - free requires (memory_load8_le(mem, 69658bv64) == 0bv8); - free requires (memory_load8_le(mem, 69659bv64) == 0bv8); - free requires (memory_load8_le(mem, 69660bv64) == 0bv8); - free requires (memory_load8_le(mem, 69661bv64) == 0bv8); - free requires (memory_load8_le(mem, 69662bv64) == 0bv8); - free requires (memory_load8_le(mem, 69663bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 184bv8); - free requires (memory_load8_le(mem, 69665bv64) == 7bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 220bv8); - free requires (memory_load8_le(mem, 69673bv64) == 7bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free ensures (Gamma_R29 == old(Gamma_R29)); - free ensures (Gamma_R31 == old(Gamma_R31)); - free ensures (R29 == old(R29)); - free ensures (R31 == old(R31)); -{ - var #4: bv64; - var Gamma_#4: bool; - lmain: - #4, Gamma_#4 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; - stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); - R31, Gamma_R31 := #4, Gamma_#4; - R29, Gamma_R29 := R31, Gamma_R31; - stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 28bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 28bv64), Gamma_R0); - stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - R0, Gamma_R0 := 65536bv64, true; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4088bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4088bv64)) || L(mem, bvadd64(R0, 4088bv64))); - R0, Gamma_R0 := memory_load64_le(mem, R0), (gamma_load64(Gamma_mem, R0) || L(mem, R0)); - R30, Gamma_R30 := 2080bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000445; - l00000445: - R0, Gamma_R0 := 65536bv64, true; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4088bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4088bv64)) || L(mem, bvadd64(R0, 4088bv64))); - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 8bv64)) || L(mem, bvadd64(R0, 8bv64))); - R30, Gamma_R30 := 2096bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000460; - l00000460: - R0, Gamma_R0 := 65536bv64, true; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4088bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4088bv64)) || L(mem, bvadd64(R0, 4088bv64))); - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 16bv64)) || L(mem, bvadd64(R0, 16bv64))); - R30, Gamma_R30 := 2112bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l0000047b; - l0000047b: - R0, Gamma_R0 := 0bv64, true; - R29, Gamma_R29 := memory_load64_le(mem, R31), (gamma_load64(Gamma_mem, R31) || L(mem, R31)); - R30, Gamma_R30 := memory_load64_le(mem, bvadd64(R31, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 8bv64)) || L(mem, bvadd64(R31, 8bv64))); - R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; - return; -} diff --git a/src/test/correct/jumptable3/gcc/jumptable3.expected b/src/test/correct/jumptable3/gcc/jumptable3.expected new file mode 100644 index 000000000..d3a74812b --- /dev/null +++ b/src/test/correct/jumptable3/gcc/jumptable3.expected @@ -0,0 +1,700 @@ +var Gamma_R0: bool; +var Gamma_R1: bool; +var Gamma_R29: bool; +var Gamma_R30: bool; +var Gamma_R31: bool; +var Gamma_mem: [bv64]bool; +var Gamma_stack: [bv64]bool; +var R0: bv64; +var R1: bv64; +var R29: bv64; +var R30: bv64; +var R31: bv64; +var mem: [bv64]bv8; +var stack: [bv64]bv8; +function L(memory: [bv64]bv8, index: bv64) returns (bool) { + false +} + +function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); +function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); +function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); +function {:bvbuiltin "bvand"} bvand1(bv1, bv1) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); +function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); +function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) +} + +function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) +} + +function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { + gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] +} + +function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { + gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] +} + +function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { + (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) +} + +function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { + (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) +} + +function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { + memory[index] +} + +function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { + memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] +} + +function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { + memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] +} + +function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); +function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); +function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); +procedure rely(); + modifies mem, Gamma_mem; + ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); + ensures (mem == old(mem)); + ensures (Gamma_mem == old(Gamma_mem)); + +procedure rely_transitive() + modifies mem, Gamma_mem; + ensures (mem == old(mem)); + ensures (Gamma_mem == old(Gamma_mem)); +{ + call rely(); + call rely(); +} + +procedure rely_reflexive(); + +procedure guarantee_reflexive(); + modifies mem, Gamma_mem; + +procedure add_six() + modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; +{ + ladd_six: + R0, Gamma_R0 := 69632bv64, true; + R0, Gamma_R0 := bvadd64(R0, 16bv64), Gamma_R0; + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, R0)), (gamma_load32(Gamma_mem, R0) || L(mem, R0)); + R1, Gamma_R1 := zero_extend32_32(bvadd32(R0[32:0], 6bv32)), Gamma_R0; + R0, Gamma_R0 := 69632bv64, true; + R0, Gamma_R0 := bvadd64(R0, 16bv64), Gamma_R0; + call rely(); + assert (L(mem, R0) ==> Gamma_R1); + mem, Gamma_mem := memory_store32_le(mem, R0, R1[32:0]), gamma_store32(Gamma_mem, R0, Gamma_R1); + return; +} + +procedure add_two() + modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; +{ + ladd_two: + R0, Gamma_R0 := 69632bv64, true; + R0, Gamma_R0 := bvadd64(R0, 16bv64), Gamma_R0; + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, R0)), (gamma_load32(Gamma_mem, R0) || L(mem, R0)); + R1, Gamma_R1 := zero_extend32_32(bvadd32(R0[32:0], 2bv32)), Gamma_R0; + R0, Gamma_R0 := 69632bv64, true; + R0, Gamma_R0 := bvadd64(R0, 16bv64), Gamma_R0; + call rely(); + assert (L(mem, R0) ==> Gamma_R1); + mem, Gamma_mem := memory_store32_le(mem, R0, R1[32:0]), gamma_store32(Gamma_mem, R0, Gamma_R1); + return; +} + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; + requires (Gamma_R0 == true); + free requires (memory_load8_le(mem, 2356bv64) == 1bv8); + free requires (memory_load8_le(mem, 2357bv64) == 0bv8); + free requires (memory_load8_le(mem, 2358bv64) == 2bv8); + free requires (memory_load8_le(mem, 2359bv64) == 0bv8); + free requires (memory_load8_le(mem, 69528bv64) == 0bv8); + free requires (memory_load8_le(mem, 69529bv64) == 0bv8); + free requires (memory_load8_le(mem, 69530bv64) == 0bv8); + free requires (memory_load8_le(mem, 69531bv64) == 0bv8); + free requires (memory_load8_le(mem, 69532bv64) == 0bv8); + free requires (memory_load8_le(mem, 69533bv64) == 0bv8); + free requires (memory_load8_le(mem, 69534bv64) == 0bv8); + free requires (memory_load8_le(mem, 69535bv64) == 0bv8); + free requires (memory_load8_le(mem, 69536bv64) == 0bv8); + free requires (memory_load8_le(mem, 69537bv64) == 0bv8); + free requires (memory_load8_le(mem, 69538bv64) == 0bv8); + free requires (memory_load8_le(mem, 69539bv64) == 0bv8); + free requires (memory_load8_le(mem, 69540bv64) == 0bv8); + free requires (memory_load8_le(mem, 69541bv64) == 0bv8); + free requires (memory_load8_le(mem, 69542bv64) == 0bv8); + free requires (memory_load8_le(mem, 69543bv64) == 0bv8); + free requires (memory_load8_le(mem, 69544bv64) == 0bv8); + free requires (memory_load8_le(mem, 69545bv64) == 0bv8); + free requires (memory_load8_le(mem, 69546bv64) == 0bv8); + free requires (memory_load8_le(mem, 69547bv64) == 0bv8); + free requires (memory_load8_le(mem, 69548bv64) == 0bv8); + free requires (memory_load8_le(mem, 69549bv64) == 0bv8); + free requires (memory_load8_le(mem, 69550bv64) == 0bv8); + free requires (memory_load8_le(mem, 69551bv64) == 0bv8); + free requires (memory_load8_le(mem, 69552bv64) == 160bv8); + free requires (memory_load8_le(mem, 69553bv64) == 5bv8); + free requires (memory_load8_le(mem, 69554bv64) == 0bv8); + free requires (memory_load8_le(mem, 69555bv64) == 0bv8); + free requires (memory_load8_le(mem, 69556bv64) == 0bv8); + free requires (memory_load8_le(mem, 69557bv64) == 0bv8); + free requires (memory_load8_le(mem, 69558bv64) == 0bv8); + free requires (memory_load8_le(mem, 69559bv64) == 0bv8); + free requires (memory_load8_le(mem, 69560bv64) == 160bv8); + free requires (memory_load8_le(mem, 69561bv64) == 5bv8); + free requires (memory_load8_le(mem, 69562bv64) == 0bv8); + free requires (memory_load8_le(mem, 69563bv64) == 0bv8); + free requires (memory_load8_le(mem, 69564bv64) == 0bv8); + free requires (memory_load8_le(mem, 69565bv64) == 0bv8); + free requires (memory_load8_le(mem, 69566bv64) == 0bv8); + free requires (memory_load8_le(mem, 69567bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 160bv8); + free requires (memory_load8_le(mem, 69569bv64) == 5bv8); + free requires (memory_load8_le(mem, 69570bv64) == 0bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); + free requires (memory_load8_le(mem, 69576bv64) == 160bv8); + free requires (memory_load8_le(mem, 69577bv64) == 5bv8); + free requires (memory_load8_le(mem, 69578bv64) == 0bv8); + free requires (memory_load8_le(mem, 69579bv64) == 0bv8); + free requires (memory_load8_le(mem, 69580bv64) == 0bv8); + free requires (memory_load8_le(mem, 69581bv64) == 0bv8); + free requires (memory_load8_le(mem, 69582bv64) == 0bv8); + free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69584bv64) == 168bv8); + free requires (memory_load8_le(mem, 69585bv64) == 13bv8); + free requires (memory_load8_le(mem, 69586bv64) == 1bv8); + free requires (memory_load8_le(mem, 69587bv64) == 0bv8); + free requires (memory_load8_le(mem, 69588bv64) == 0bv8); + free requires (memory_load8_le(mem, 69589bv64) == 0bv8); + free requires (memory_load8_le(mem, 69590bv64) == 0bv8); + free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 0bv8); + free requires (memory_load8_le(mem, 69593bv64) == 0bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 0bv8); + free requires (memory_load8_le(mem, 69601bv64) == 0bv8); + free requires (memory_load8_le(mem, 69602bv64) == 0bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69608bv64) == 0bv8); + free requires (memory_load8_le(mem, 69609bv64) == 0bv8); + free requires (memory_load8_le(mem, 69610bv64) == 0bv8); + free requires (memory_load8_le(mem, 69611bv64) == 0bv8); + free requires (memory_load8_le(mem, 69612bv64) == 0bv8); + free requires (memory_load8_le(mem, 69613bv64) == 0bv8); + free requires (memory_load8_le(mem, 69614bv64) == 0bv8); + free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 128bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69624bv64) == 0bv8); + free requires (memory_load8_le(mem, 69625bv64) == 0bv8); + free requires (memory_load8_le(mem, 69626bv64) == 0bv8); + free requires (memory_load8_le(mem, 69627bv64) == 0bv8); + free requires (memory_load8_le(mem, 69628bv64) == 0bv8); + free requires (memory_load8_le(mem, 69629bv64) == 0bv8); + free requires (memory_load8_le(mem, 69630bv64) == 0bv8); + free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69648bv64) == 5bv8); + free requires (memory_load8_le(mem, 69649bv64) == 0bv8); + free requires (memory_load8_le(mem, 69650bv64) == 0bv8); + free requires (memory_load8_le(mem, 69651bv64) == 0bv8); + free ensures (Gamma_R29 == old(Gamma_R29)); + free ensures (Gamma_R31 == old(Gamma_R31)); + free ensures (R29 == old(R29)); + free ensures (R31 == old(R31)); +{ + var #10: bv32; + var #11: bv32; + var #12: bv32; + var #13: bv32; + var #14: bv32; + var #15: bv32; + var #16: bv32; + var #17: bv32; + var #18: bv32; + var #19: bv32; + var #20: bv32; + var #21: bv32; + var #22: bv32; + var #23: bv32; + var #24: bv32; + var #25: bv32; + var #26: bv32; + var #4: bv64; + var #5: bv32; + var #6: bv32; + var #7: bv32; + var #8: bv32; + var #9: bv32; + var CF: bv1; + var Gamma_#10: bool; + var Gamma_#11: bool; + var Gamma_#12: bool; + var Gamma_#13: bool; + var Gamma_#14: bool; + var Gamma_#15: bool; + var Gamma_#16: bool; + var Gamma_#17: bool; + var Gamma_#18: bool; + var Gamma_#19: bool; + var Gamma_#20: bool; + var Gamma_#21: bool; + var Gamma_#22: bool; + var Gamma_#23: bool; + var Gamma_#24: bool; + var Gamma_#25: bool; + var Gamma_#26: bool; + var Gamma_#4: bool; + var Gamma_#5: bool; + var Gamma_#6: bool; + var Gamma_#7: bool; + var Gamma_#8: bool; + var Gamma_#9: bool; + var Gamma_CF: bool; + var Gamma_NF: bool; + var Gamma_VF: bool; + var Gamma_ZF: bool; + var NF: bv1; + var VF: bv1; + var ZF: bv1; + lmain: + #4, Gamma_#4 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; + stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); + stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); + R31, Gamma_R31 := #4, Gamma_#4; + R29, Gamma_R29 := R31, Gamma_R31; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 28bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 28bv64), Gamma_R0); + stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #5, Gamma_#5 := bvadd32(R0[32:0], 4294967284bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#5, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934581bv33))), (Gamma_R0 && Gamma_#5); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#5, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967285bv33))), (Gamma_R0 && Gamma_#5); + ZF, Gamma_ZF := bvcomp32(bvadd32(#5, 1bv32), 0bv32), Gamma_#5; + NF, Gamma_NF := bvadd32(#5, 1bv32)[32:31], Gamma_#5; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000599; + } + goto l000005e0; + l000005e0: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #6, Gamma_#6 := bvadd32(R0[32:0], 4294967284bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#6, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934581bv33))), (Gamma_R0 && Gamma_#6); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#6, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967285bv33))), (Gamma_R0 && Gamma_#6); + ZF, Gamma_ZF := bvcomp32(bvadd32(#6, 1bv32), 0bv32), Gamma_#6; + NF, Gamma_NF := bvadd32(#6, 1bv32)[32:31], Gamma_#6; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000005d7; + } + goto l00000608; + l00000608: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #7, Gamma_#7 := bvadd32(R0[32:0], 4294967285bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#7, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934582bv33))), (Gamma_R0 && Gamma_#7); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#7, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967286bv33))), (Gamma_R0 && Gamma_#7); + ZF, Gamma_ZF := bvcomp32(bvadd32(#7, 1bv32), 0bv32), Gamma_#7; + NF, Gamma_NF := bvadd32(#7, 1bv32)[32:31], Gamma_#7; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000629; + } + goto l00000643; + l00000629: + R30, Gamma_R30 := 2288bv64, true; + call sub_seven(); + goto l00000635; + l00000635: + R30, Gamma_R30 := 2292bv64, true; + call add_two(); + goto l0000063c; + l0000063c: + R30, Gamma_R30 := 2296bv64, true; + call add_six(); + goto l00000599; + l00000599: + R30, Gamma_R30 := 2300bv64, true; + call sub_seven(); + goto l000005a5; + l000005a5: + R30, Gamma_R30 := 2304bv64, true; + call add_two(); + goto l000005ac; + l000005ac: + goto l000005ad; + l00000643: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #8, Gamma_#8 := bvadd32(R0[32:0], 4294967285bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#8, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934582bv33))), (Gamma_R0 && Gamma_#8); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#8, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967286bv33))), (Gamma_R0 && Gamma_#8); + ZF, Gamma_ZF := bvcomp32(bvadd32(#8, 1bv32), 0bv32), Gamma_#8; + NF, Gamma_NF := bvadd32(#8, 1bv32)[32:31], Gamma_#8; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000005d7; + } + goto l0000066b; + l0000066b: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #9, Gamma_#9 := bvadd32(R0[32:0], 4294967286bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#9, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934583bv33))), (Gamma_R0 && Gamma_#9); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#9, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967287bv33))), (Gamma_R0 && Gamma_#9); + ZF, Gamma_ZF := bvcomp32(bvadd32(#9, 1bv32), 0bv32), Gamma_#9; + NF, Gamma_NF := bvadd32(#9, 1bv32)[32:31], Gamma_#9; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l0000068c; + } + goto l000006a3; + l0000068c: + R30, Gamma_R30 := 2276bv64, true; + call add_two(); + goto l00000698; + l00000698: + R30, Gamma_R30 := 2280bv64, true; + call add_six(); + goto l0000069f; + l0000069f: + goto l000005ad; + l000006a3: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #10, Gamma_#10 := bvadd32(R0[32:0], 4294967286bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#10, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934583bv33))), (Gamma_R0 && Gamma_#10); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#10, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967287bv33))), (Gamma_R0 && Gamma_#10); + ZF, Gamma_ZF := bvcomp32(bvadd32(#10, 1bv32), 0bv32), Gamma_#10; + NF, Gamma_NF := bvadd32(#10, 1bv32)[32:31], Gamma_#10; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000005d7; + } + goto l000006cb; + l000006cb: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #11, Gamma_#11 := bvadd32(R0[32:0], 4294967287bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#11, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934584bv33))), (Gamma_R0 && Gamma_#11); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#11, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967288bv33))), (Gamma_R0 && Gamma_#11); + ZF, Gamma_ZF := bvcomp32(bvadd32(#11, 1bv32), 0bv32), Gamma_#11; + NF, Gamma_NF := bvadd32(#11, 1bv32)[32:31], Gamma_#11; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000006ec; + } + goto l00000703; + l00000703: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #12, Gamma_#12 := bvadd32(R0[32:0], 4294967287bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#12, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934584bv33))), (Gamma_R0 && Gamma_#12); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#12, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967288bv33))), (Gamma_R0 && Gamma_#12); + ZF, Gamma_ZF := bvcomp32(bvadd32(#12, 1bv32), 0bv32), Gamma_#12; + NF, Gamma_NF := bvadd32(#12, 1bv32)[32:31], Gamma_#12; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000005d7; + } + goto l0000072b; + l0000072b: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #13, Gamma_#13 := bvadd32(R0[32:0], 4294967288bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#13, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934585bv33))), (Gamma_R0 && Gamma_#13); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#13, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967289bv33))), (Gamma_R0 && Gamma_#13); + ZF, Gamma_ZF := bvcomp32(bvadd32(#13, 1bv32), 0bv32), Gamma_#13; + NF, Gamma_NF := bvadd32(#13, 1bv32)[32:31], Gamma_#13; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l0000074c; + } + goto l00000758; + l00000758: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #14, Gamma_#14 := bvadd32(R0[32:0], 4294967288bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#14, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934585bv33))), (Gamma_R0 && Gamma_#14); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#14, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967289bv33))), (Gamma_R0 && Gamma_#14); + ZF, Gamma_ZF := bvcomp32(bvadd32(#14, 1bv32), 0bv32), Gamma_#14; + NF, Gamma_NF := bvadd32(#14, 1bv32)[32:31], Gamma_#14; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000005d7; + } + goto l00000780; + l00000780: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #15, Gamma_#15 := bvadd32(R0[32:0], 4294967289bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#15, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934586bv33))), (Gamma_R0 && Gamma_#15); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#15, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967290bv33))), (Gamma_R0 && Gamma_#15); + ZF, Gamma_ZF := bvcomp32(bvadd32(#15, 1bv32), 0bv32), Gamma_#15; + NF, Gamma_NF := bvadd32(#15, 1bv32)[32:31], Gamma_#15; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000007a1; + } + goto l000007ad; + l000007ad: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #16, Gamma_#16 := bvadd32(R0[32:0], 4294967289bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#16, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934586bv33))), (Gamma_R0 && Gamma_#16); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#16, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967290bv33))), (Gamma_R0 && Gamma_#16); + ZF, Gamma_ZF := bvcomp32(bvadd32(#16, 1bv32), 0bv32), Gamma_#16; + NF, Gamma_NF := bvadd32(#16, 1bv32)[32:31], Gamma_#16; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000005d7; + } + goto l000007d5; + l000007d5: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #17, Gamma_#17 := bvadd32(R0[32:0], 4294967290bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#17, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934587bv33))), (Gamma_R0 && Gamma_#17); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#17, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967291bv33))), (Gamma_R0 && Gamma_#17); + ZF, Gamma_ZF := bvcomp32(bvadd32(#17, 1bv32), 0bv32), Gamma_#17; + NF, Gamma_NF := bvadd32(#17, 1bv32)[32:31], Gamma_#17; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000007f6; + } + goto l00000809; + l000007f6: + R30, Gamma_R30 := 2248bv64, true; + call add_six(); + goto l00000802; + l00000802: + R30, Gamma_R30 := 2252bv64, true; + call add_two(); + goto l000007a1; + l000007a1: + R30, Gamma_R30 := 2256bv64, true; + call add_six(); + goto l0000074c; + l0000074c: + R30, Gamma_R30 := 2260bv64, true; + call sub_seven(); + goto l000006ec; + l000006ec: + R30, Gamma_R30 := 2264bv64, true; + call sub_seven(); + goto l000006f8; + l000006f8: + R30, Gamma_R30 := 2268bv64, true; + call add_six(); + goto l000006ff; + l000006ff: + goto l000005ad; + l00000809: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #18, Gamma_#18 := bvadd32(R0[32:0], 4294967290bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#18, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934587bv33))), (Gamma_R0 && Gamma_#18); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#18, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967291bv33))), (Gamma_R0 && Gamma_#18); + ZF, Gamma_ZF := bvcomp32(bvadd32(#18, 1bv32), 0bv32), Gamma_#18; + NF, Gamma_NF := bvadd32(#18, 1bv32)[32:31], Gamma_#18; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000005d7; + } + goto l00000831; + l00000831: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #19, Gamma_#19 := bvadd32(R0[32:0], 4294967291bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#19, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934588bv33))), (Gamma_R0 && Gamma_#19); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#19, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967292bv33))), (Gamma_R0 && Gamma_#19); + ZF, Gamma_ZF := bvcomp32(bvadd32(#19, 1bv32), 0bv32), Gamma_#19; + NF, Gamma_NF := bvadd32(#19, 1bv32)[32:31], Gamma_#19; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000852; + } + goto l00000862; + l00000852: + R30, Gamma_R30 := 2240bv64, true; + call add_six(); + goto l0000085e; + l0000085e: + goto l000005ad; + l00000862: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #20, Gamma_#20 := bvadd32(R0[32:0], 4294967291bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#20, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934588bv33))), (Gamma_R0 && Gamma_#20); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#20, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967292bv33))), (Gamma_R0 && Gamma_#20); + ZF, Gamma_ZF := bvcomp32(bvadd32(#20, 1bv32), 0bv32), Gamma_#20; + NF, Gamma_NF := bvadd32(#20, 1bv32)[32:31], Gamma_#20; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000005d7; + } + goto l0000088a; + l0000088a: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #21, Gamma_#21 := bvadd32(R0[32:0], 4294967292bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#21, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934589bv33))), (Gamma_R0 && Gamma_#21); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#21, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967293bv33))), (Gamma_R0 && Gamma_#21); + ZF, Gamma_ZF := bvcomp32(bvadd32(#21, 1bv32), 0bv32), Gamma_#21; + NF, Gamma_NF := bvadd32(#21, 1bv32)[32:31], Gamma_#21; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000008ab; + } + goto l000008c2; + l000008ab: + R30, Gamma_R30 := 2228bv64, true; + call add_two(); + goto l000008b7; + l000008b7: + R30, Gamma_R30 := 2232bv64, true; + call sub_seven(); + goto l000008be; + l000008be: + goto l000005ad; + l000008c2: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #22, Gamma_#22 := bvadd32(R0[32:0], 4294967292bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#22, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934589bv33))), (Gamma_R0 && Gamma_#22); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#22, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967293bv33))), (Gamma_R0 && Gamma_#22); + ZF, Gamma_ZF := bvcomp32(bvadd32(#22, 1bv32), 0bv32), Gamma_#22; + NF, Gamma_NF := bvadd32(#22, 1bv32)[32:31], Gamma_#22; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000005d7; + } + goto l000008ea; + l000008ea: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #23, Gamma_#23 := bvadd32(R0[32:0], 4294967293bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#23, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934590bv33))), (Gamma_R0 && Gamma_#23); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#23, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967294bv33))), (Gamma_R0 && Gamma_#23); + ZF, Gamma_ZF := bvcomp32(bvadd32(#23, 1bv32), 0bv32), Gamma_#23; + NF, Gamma_NF := bvadd32(#23, 1bv32)[32:31], Gamma_#23; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l0000090b; + } + goto l0000091b; + l0000091b: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #24, Gamma_#24 := bvadd32(R0[32:0], 4294967293bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#24, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934590bv33))), (Gamma_R0 && Gamma_#24); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#24, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967294bv33))), (Gamma_R0 && Gamma_#24); + ZF, Gamma_ZF := bvcomp32(bvadd32(#24, 1bv32), 0bv32), Gamma_#24; + NF, Gamma_NF := bvadd32(#24, 1bv32)[32:31], Gamma_#24; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000005d7; + } + goto l00000943; + l00000943: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #25, Gamma_#25 := bvadd32(R0[32:0], 4294967295bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#25, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 0bv33))), (Gamma_R0 && Gamma_#25); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#25, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967296bv33))), (Gamma_R0 && Gamma_#25); + ZF, Gamma_ZF := bvcomp32(bvadd32(#25, 1bv32), 0bv32), Gamma_#25; + NF, Gamma_NF := bvadd32(#25, 1bv32)[32:31], Gamma_#25; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000964; + } + goto l0000097b; + l00000964: + R30, Gamma_R30 := 2208bv64, true; + call add_two(); + goto l00000970; + l00000970: + goto l000005ad; + l0000097b: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #26, Gamma_#26 := bvadd32(R0[32:0], 4294967294bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#26, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934591bv33))), (Gamma_R0 && Gamma_#26); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#26, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967295bv33))), (Gamma_R0 && Gamma_#26); + ZF, Gamma_ZF := bvcomp32(bvadd32(#26, 1bv32), 0bv32), Gamma_#26; + NF, Gamma_NF := bvadd32(#26, 1bv32)[32:31], Gamma_#26; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000974; + } + goto l000009a1; + l00000974: + R30, Gamma_R30 := 2216bv64, true; + call add_six(); + goto l0000090b; + l0000090b: + R30, Gamma_R30 := 2220bv64, true; + call sub_seven(); + goto l00000917; + l00000917: + goto l000005ad; + l000005ad: + R0, Gamma_R0 := 69632bv64, true; + R0, Gamma_R0 := bvadd64(R0, 16bv64), Gamma_R0; + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, R0)), (gamma_load32(Gamma_mem, R0) || L(mem, R0)); + goto l000005c2; + l000009a1: + goto l000005d7; + l000005d7: + R0, Gamma_R0 := 1bv64, true; + goto l000005c2; + l000005c2: + R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); + R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); + R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; + return; +} + +procedure sub_seven() + modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; +{ + lsub_seven: + R0, Gamma_R0 := 69632bv64, true; + R0, Gamma_R0 := bvadd64(R0, 16bv64), Gamma_R0; + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, R0)), (gamma_load32(Gamma_mem, R0) || L(mem, R0)); + R1, Gamma_R1 := zero_extend32_32(bvadd32(R0[32:0], 4294967289bv32)), Gamma_R0; + R0, Gamma_R0 := 69632bv64, true; + R0, Gamma_R0 := bvadd64(R0, 16bv64), Gamma_R0; + call rely(); + assert (L(mem, R0) ==> Gamma_R1); + mem, Gamma_mem := memory_store32_le(mem, R0, R1[32:0]), gamma_store32(Gamma_mem, R0, Gamma_R1); + return; +} diff --git a/src/test/correct/jumptable3/gcc_O2/jumptable3.expected b/src/test/correct/jumptable3/gcc_O2/jumptable3.expected new file mode 100644 index 000000000..0f7b4935a --- /dev/null +++ b/src/test/correct/jumptable3/gcc_O2/jumptable3.expected @@ -0,0 +1,451 @@ +var Gamma_R0: bool; +var Gamma_R1: bool; +var Gamma_mem: [bv64]bool; +var R0: bv64; +var R1: bv64; +var mem: [bv64]bv8; +function L(memory: [bv64]bv8, index: bv64) returns (bool) { + false +} + +function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); +function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); +function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); +function {:bvbuiltin "bvand"} bvand1(bv1, bv1) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); +function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); +function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) +} + +function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { + gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] +} + +function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { + (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) +} + +function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { + memory[index] +} + +function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { + memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] +} + +function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); +function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); +function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); +procedure rely(); + modifies mem, Gamma_mem; + ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); + ensures (mem == old(mem)); + ensures (Gamma_mem == old(Gamma_mem)); + +procedure rely_transitive() + modifies mem, Gamma_mem; + ensures (mem == old(mem)); + ensures (Gamma_mem == old(Gamma_mem)); +{ + call rely(); + call rely(); +} + +procedure rely_reflexive(); + +procedure guarantee_reflexive(); + modifies mem, Gamma_mem; + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; + requires (Gamma_R0 == true); + free requires (memory_load8_le(mem, 2232bv64) == 1bv8); + free requires (memory_load8_le(mem, 2233bv64) == 0bv8); + free requires (memory_load8_le(mem, 2234bv64) == 2bv8); + free requires (memory_load8_le(mem, 2235bv64) == 0bv8); + free requires (memory_load8_le(mem, 69528bv64) == 0bv8); + free requires (memory_load8_le(mem, 69529bv64) == 0bv8); + free requires (memory_load8_le(mem, 69530bv64) == 0bv8); + free requires (memory_load8_le(mem, 69531bv64) == 0bv8); + free requires (memory_load8_le(mem, 69532bv64) == 0bv8); + free requires (memory_load8_le(mem, 69533bv64) == 0bv8); + free requires (memory_load8_le(mem, 69534bv64) == 0bv8); + free requires (memory_load8_le(mem, 69535bv64) == 0bv8); + free requires (memory_load8_le(mem, 69536bv64) == 0bv8); + free requires (memory_load8_le(mem, 69537bv64) == 0bv8); + free requires (memory_load8_le(mem, 69538bv64) == 0bv8); + free requires (memory_load8_le(mem, 69539bv64) == 0bv8); + free requires (memory_load8_le(mem, 69540bv64) == 0bv8); + free requires (memory_load8_le(mem, 69541bv64) == 0bv8); + free requires (memory_load8_le(mem, 69542bv64) == 0bv8); + free requires (memory_load8_le(mem, 69543bv64) == 0bv8); + free requires (memory_load8_le(mem, 69544bv64) == 0bv8); + free requires (memory_load8_le(mem, 69545bv64) == 0bv8); + free requires (memory_load8_le(mem, 69546bv64) == 0bv8); + free requires (memory_load8_le(mem, 69547bv64) == 0bv8); + free requires (memory_load8_le(mem, 69548bv64) == 0bv8); + free requires (memory_load8_le(mem, 69549bv64) == 0bv8); + free requires (memory_load8_le(mem, 69550bv64) == 0bv8); + free requires (memory_load8_le(mem, 69551bv64) == 0bv8); + free requires (memory_load8_le(mem, 69552bv64) == 160bv8); + free requires (memory_load8_le(mem, 69553bv64) == 5bv8); + free requires (memory_load8_le(mem, 69554bv64) == 0bv8); + free requires (memory_load8_le(mem, 69555bv64) == 0bv8); + free requires (memory_load8_le(mem, 69556bv64) == 0bv8); + free requires (memory_load8_le(mem, 69557bv64) == 0bv8); + free requires (memory_load8_le(mem, 69558bv64) == 0bv8); + free requires (memory_load8_le(mem, 69559bv64) == 0bv8); + free requires (memory_load8_le(mem, 69560bv64) == 160bv8); + free requires (memory_load8_le(mem, 69561bv64) == 5bv8); + free requires (memory_load8_le(mem, 69562bv64) == 0bv8); + free requires (memory_load8_le(mem, 69563bv64) == 0bv8); + free requires (memory_load8_le(mem, 69564bv64) == 0bv8); + free requires (memory_load8_le(mem, 69565bv64) == 0bv8); + free requires (memory_load8_le(mem, 69566bv64) == 0bv8); + free requires (memory_load8_le(mem, 69567bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 160bv8); + free requires (memory_load8_le(mem, 69569bv64) == 5bv8); + free requires (memory_load8_le(mem, 69570bv64) == 0bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); + free requires (memory_load8_le(mem, 69576bv64) == 160bv8); + free requires (memory_load8_le(mem, 69577bv64) == 5bv8); + free requires (memory_load8_le(mem, 69578bv64) == 0bv8); + free requires (memory_load8_le(mem, 69579bv64) == 0bv8); + free requires (memory_load8_le(mem, 69580bv64) == 0bv8); + free requires (memory_load8_le(mem, 69581bv64) == 0bv8); + free requires (memory_load8_le(mem, 69582bv64) == 0bv8); + free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69584bv64) == 168bv8); + free requires (memory_load8_le(mem, 69585bv64) == 13bv8); + free requires (memory_load8_le(mem, 69586bv64) == 1bv8); + free requires (memory_load8_le(mem, 69587bv64) == 0bv8); + free requires (memory_load8_le(mem, 69588bv64) == 0bv8); + free requires (memory_load8_le(mem, 69589bv64) == 0bv8); + free requires (memory_load8_le(mem, 69590bv64) == 0bv8); + free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 0bv8); + free requires (memory_load8_le(mem, 69593bv64) == 0bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 0bv8); + free requires (memory_load8_le(mem, 69601bv64) == 0bv8); + free requires (memory_load8_le(mem, 69602bv64) == 0bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69608bv64) == 0bv8); + free requires (memory_load8_le(mem, 69609bv64) == 0bv8); + free requires (memory_load8_le(mem, 69610bv64) == 0bv8); + free requires (memory_load8_le(mem, 69611bv64) == 0bv8); + free requires (memory_load8_le(mem, 69612bv64) == 0bv8); + free requires (memory_load8_le(mem, 69613bv64) == 0bv8); + free requires (memory_load8_le(mem, 69614bv64) == 0bv8); + free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 0bv8); + free requires (memory_load8_le(mem, 69617bv64) == 6bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69624bv64) == 0bv8); + free requires (memory_load8_le(mem, 69625bv64) == 0bv8); + free requires (memory_load8_le(mem, 69626bv64) == 0bv8); + free requires (memory_load8_le(mem, 69627bv64) == 0bv8); + free requires (memory_load8_le(mem, 69628bv64) == 0bv8); + free requires (memory_load8_le(mem, 69629bv64) == 0bv8); + free requires (memory_load8_le(mem, 69630bv64) == 0bv8); + free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69648bv64) == 5bv8); + free requires (memory_load8_le(mem, 69649bv64) == 0bv8); + free requires (memory_load8_le(mem, 69650bv64) == 0bv8); + free requires (memory_load8_le(mem, 69651bv64) == 0bv8); +{ + var #1: bv32; + var #10: bv32; + var #11: bv32; + var #12: bv32; + var #13: bv32; + var #5: bv32; + var #6: bv32; + var #7: bv32; + var #8: bv32; + var #9: bv32; + var CF: bv1; + var Gamma_#1: bool; + var Gamma_#10: bool; + var Gamma_#11: bool; + var Gamma_#12: bool; + var Gamma_#13: bool; + var Gamma_#5: bool; + var Gamma_#6: bool; + var Gamma_#7: bool; + var Gamma_#8: bool; + var Gamma_#9: bool; + var Gamma_CF: bool; + var Gamma_NF: bool; + var Gamma_VF: bool; + var Gamma_ZF: bool; + var NF: bv1; + var VF: bv1; + var ZF: bv1; + lmain: + R1, Gamma_R1 := 69632bv64, true; + #1, Gamma_#1 := bvadd32(R0[32:0], 4294967289bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#1, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934586bv33))), (Gamma_R0 && Gamma_#1); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#1, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967290bv33))), (Gamma_R0 && Gamma_#1); + ZF, Gamma_ZF := bvcomp32(bvadd32(#1, 1bv32), 0bv32), Gamma_#1; + NF, Gamma_NF := bvadd32(#1, 1bv32)[32:31], Gamma_#1; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000317; + } + goto l00000753; + l00000753: + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000006e8; + } + goto l0000075c; + l000006e8: + R1, Gamma_R1 := 69632bv64, true; + #8, Gamma_#8 := bvadd32(R0[32:0], 4294967286bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#8, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934583bv33))), (Gamma_R0 && Gamma_#8); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#8, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967287bv33))), (Gamma_R0 && Gamma_#8); + ZF, Gamma_ZF := bvcomp32(bvadd32(#8, 1bv32), 0bv32), Gamma_#8; + NF, Gamma_NF := bvadd32(#8, 1bv32)[32:31], Gamma_#8; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000005f9; + } + goto l0000070c; + l000005f9: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, bvadd64(R1, 16bv64))), (gamma_load32(Gamma_mem, bvadd64(R1, 16bv64)) || L(mem, bvadd64(R1, 16bv64))); + R0, Gamma_R0 := zero_extend32_32(bvadd32(R0[32:0], 8bv32)), Gamma_R0; + call rely(); + assert (L(mem, bvadd64(R1, 16bv64)) ==> Gamma_R0); + mem, Gamma_mem := memory_store32_le(mem, bvadd64(R1, 16bv64), R0[32:0]), gamma_store32(Gamma_mem, bvadd64(R1, 16bv64), Gamma_R0); + goto l00000360; + l0000070c: + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvnot1(bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1))) != 0bv1)) { + goto l00000644; + } + goto l00000715; + l00000644: + #6, Gamma_#6 := bvadd32(R0[32:0], 4294967288bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#6, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934585bv33))), (Gamma_R0 && Gamma_#6); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#6, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967289bv33))), (Gamma_R0 && Gamma_#6); + ZF, Gamma_ZF := bvcomp32(bvadd32(#6, 1bv32), 0bv32), Gamma_#6; + NF, Gamma_NF := bvadd32(#6, 1bv32)[32:31], Gamma_#6; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000331; + } + goto l00000663; + l00000663: + #7, Gamma_#7 := bvadd32(R0[32:0], 4294967287bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#7, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934584bv33))), (Gamma_R0 && Gamma_#7); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#7, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967288bv33))), (Gamma_R0 && Gamma_#7); + ZF, Gamma_ZF := bvcomp32(bvadd32(#7, 1bv32), 0bv32), Gamma_#7; + NF, Gamma_NF := bvadd32(#7, 1bv32)[32:31], Gamma_#7; + assert Gamma_ZF; + if ((bvnot1(bvcomp1(ZF, 1bv1)) != 0bv1)) { + goto l0000036b; + } + goto l00000347; + l00000715: + #9, Gamma_#9 := bvadd32(R0[32:0], 4294967285bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#9, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934582bv33))), (Gamma_R0 && Gamma_#9); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#9, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967286bv33))), (Gamma_R0 && Gamma_#9); + ZF, Gamma_ZF := bvcomp32(bvadd32(#9, 1bv32), 0bv32), Gamma_#9; + NF, Gamma_NF := bvadd32(#9, 1bv32)[32:31], Gamma_#9; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000612; + } + goto l00000734; + l00000612: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, bvadd64(R1, 16bv64))), (gamma_load32(Gamma_mem, bvadd64(R1, 16bv64)) || L(mem, bvadd64(R1, 16bv64))); + R0, Gamma_R0 := zero_extend32_32(bvadd32(R0[32:0], 1bv32)), Gamma_R0; + call rely(); + assert (L(mem, bvadd64(R1, 16bv64)) ==> Gamma_R0); + mem, Gamma_mem := memory_store32_le(mem, bvadd64(R1, 16bv64), R0[32:0]), gamma_store32(Gamma_mem, bvadd64(R1, 16bv64), Gamma_R0); + goto l00000628; + l00000734: + #10, Gamma_#10 := bvadd32(R0[32:0], 4294967284bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#10, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934581bv33))), (Gamma_R0 && Gamma_#10); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#10, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967285bv33))), (Gamma_R0 && Gamma_#10); + ZF, Gamma_ZF := bvcomp32(bvadd32(#10, 1bv32), 0bv32), Gamma_#10; + NF, Gamma_NF := bvadd32(#10, 1bv32)[32:31], Gamma_#10; + assert Gamma_ZF; + if ((bvnot1(bvcomp1(ZF, 1bv1)) != 0bv1)) { + goto l0000036b; + } + goto l00000628; + l00000628: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, bvadd64(R1, 16bv64))), (gamma_load32(Gamma_mem, bvadd64(R1, 16bv64)) || L(mem, bvadd64(R1, 16bv64))); + R0, Gamma_R0 := zero_extend32_32(bvadd32(R0[32:0], 4294967291bv32)), Gamma_R0; + call rely(); + assert (L(mem, bvadd64(R1, 16bv64)) ==> Gamma_R0); + mem, Gamma_mem := memory_store32_le(mem, bvadd64(R1, 16bv64), R0[32:0]), gamma_store32(Gamma_mem, bvadd64(R1, 16bv64), Gamma_R0); + goto l00000360; + l0000075c: + #11, Gamma_#11 := bvadd32(R0[32:0], 4294967292bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#11, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934589bv33))), (Gamma_R0 && Gamma_#11); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#11, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967293bv33))), (Gamma_R0 && Gamma_#11); + ZF, Gamma_ZF := bvcomp32(bvadd32(#11, 1bv32), 0bv32), Gamma_#11; + NF, Gamma_NF := bvadd32(#11, 1bv32)[32:31], Gamma_#11; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l0000069c; + } + goto l0000077b; + l0000069c: + R1, Gamma_R1 := 69632bv64, true; + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, bvadd64(R1, 16bv64))), (gamma_load32(Gamma_mem, bvadd64(R1, 16bv64)) || L(mem, bvadd64(R1, 16bv64))); + R0, Gamma_R0 := zero_extend32_32(bvadd32(R0[32:0], 4294967291bv32)), Gamma_R0; + call rely(); + assert (L(mem, bvadd64(R1, 16bv64)) ==> Gamma_R0); + mem, Gamma_mem := memory_store32_le(mem, bvadd64(R1, 16bv64), R0[32:0]), gamma_store32(Gamma_mem, bvadd64(R1, 16bv64), Gamma_R0); + goto l00000360; + l0000077b: + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000005bc; + } + goto l00000784; + l000005bc: + #5, Gamma_#5 := bvadd32(R0[32:0], 4294967291bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#5, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934588bv33))), (Gamma_R0 && Gamma_#5); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#5, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967292bv33))), (Gamma_R0 && Gamma_#5); + ZF, Gamma_ZF := bvcomp32(bvadd32(#5, 1bv32), 0bv32), Gamma_#5; + NF, Gamma_NF := bvadd32(#5, 1bv32)[32:31], Gamma_#5; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000005d6; + } + goto l00000682; + l000005d6: + R1, Gamma_R1 := 69632bv64, true; + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, bvadd64(R1, 16bv64))), (gamma_load32(Gamma_mem, bvadd64(R1, 16bv64)) || L(mem, bvadd64(R1, 16bv64))); + R0, Gamma_R0 := zero_extend32_32(bvadd32(R0[32:0], 6bv32)), Gamma_R0; + call rely(); + assert (L(mem, bvadd64(R1, 16bv64)) ==> Gamma_R0); + mem, Gamma_mem := memory_store32_le(mem, bvadd64(R1, 16bv64), R0[32:0]), gamma_store32(Gamma_mem, bvadd64(R1, 16bv64), Gamma_R0); + goto l00000360; + l00000682: + R1, Gamma_R1 := 69632bv64, true; + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, bvadd64(R1, 16bv64))), (gamma_load32(Gamma_mem, bvadd64(R1, 16bv64)) || L(mem, bvadd64(R1, 16bv64))); + R0, Gamma_R0 := zero_extend32_32(bvadd32(R0[32:0], 8bv32)), Gamma_R0; + call rely(); + assert (L(mem, bvadd64(R1, 16bv64)) ==> Gamma_R0); + mem, Gamma_mem := memory_store32_le(mem, bvadd64(R1, 16bv64), R0[32:0]), gamma_store32(Gamma_mem, bvadd64(R1, 16bv64), Gamma_R0); + goto l00000317; + l00000317: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, bvadd64(R1, 16bv64))), (gamma_load32(Gamma_mem, bvadd64(R1, 16bv64)) || L(mem, bvadd64(R1, 16bv64))); + R0, Gamma_R0 := zero_extend32_32(bvadd32(R0[32:0], 6bv32)), Gamma_R0; + call rely(); + assert (L(mem, bvadd64(R1, 16bv64)) ==> Gamma_R0); + mem, Gamma_mem := memory_store32_le(mem, bvadd64(R1, 16bv64), R0[32:0]), gamma_store32(Gamma_mem, bvadd64(R1, 16bv64), Gamma_R0); + goto l00000331; + l00000331: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, bvadd64(R1, 16bv64))), (gamma_load32(Gamma_mem, bvadd64(R1, 16bv64)) || L(mem, bvadd64(R1, 16bv64))); + R0, Gamma_R0 := zero_extend32_32(bvadd32(R0[32:0], 4294967289bv32)), Gamma_R0; + call rely(); + assert (L(mem, bvadd64(R1, 16bv64)) ==> Gamma_R0); + mem, Gamma_mem := memory_store32_le(mem, bvadd64(R1, 16bv64), R0[32:0]), gamma_store32(Gamma_mem, bvadd64(R1, 16bv64), Gamma_R0); + goto l00000347; + l00000347: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, bvadd64(R1, 16bv64))), (gamma_load32(Gamma_mem, bvadd64(R1, 16bv64)) || L(mem, bvadd64(R1, 16bv64))); + R0, Gamma_R0 := zero_extend32_32(bvadd32(R0[32:0], 4294967295bv32)), Gamma_R0; + call rely(); + assert (L(mem, bvadd64(R1, 16bv64)) ==> Gamma_R0); + mem, Gamma_mem := memory_store32_le(mem, bvadd64(R1, 16bv64), R0[32:0]), gamma_store32(Gamma_mem, bvadd64(R1, 16bv64), Gamma_R0); + goto l00000360; + l00000784: + R1, Gamma_R1 := 69632bv64, true; + #12, Gamma_#12 := bvadd32(R0[32:0], 4294967294bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#12, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934591bv33))), (Gamma_R0 && Gamma_#12); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#12, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967295bv33))), (Gamma_R0 && Gamma_#12); + ZF, Gamma_ZF := bvcomp32(bvadd32(#12, 1bv32), 0bv32), Gamma_#12; + NF, Gamma_NF := bvadd32(#12, 1bv32)[32:31], Gamma_#12; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000006ba; + } + goto l000007a8; + l000006ba: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, bvadd64(R1, 16bv64))), (gamma_load32(Gamma_mem, bvadd64(R1, 16bv64)) || L(mem, bvadd64(R1, 16bv64))); + R0, Gamma_R0 := zero_extend32_32(bvadd32(R0[32:0], 6bv32)), Gamma_R0; + call rely(); + assert (L(mem, bvadd64(R1, 16bv64)) ==> Gamma_R0); + mem, Gamma_mem := memory_store32_le(mem, bvadd64(R1, 16bv64), R0[32:0]), gamma_store32(Gamma_mem, bvadd64(R1, 16bv64), Gamma_R0); + goto l000006d0; + l000007a8: + #13, Gamma_#13 := bvadd32(R0[32:0], 4294967293bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#13, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934590bv33))), (Gamma_R0 && Gamma_#13); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#13, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967294bv33))), (Gamma_R0 && Gamma_#13); + ZF, Gamma_ZF := bvcomp32(bvadd32(#13, 1bv32), 0bv32), Gamma_#13; + NF, Gamma_NF := bvadd32(#13, 1bv32)[32:31], Gamma_#13; + assert Gamma_ZF; + if ((bvnot1(bvcomp1(ZF, 1bv1)) != 0bv1)) { + goto l00000368; + } + goto l000006d0; + l00000368: + assert Gamma_R0; + if ((bvnot1(bvcomp32(R0[32:0], 0bv32)) != 0bv1)) { + goto l0000036b; + } + goto l000005a3; + l0000036b: + R0, Gamma_R0 := 1bv64, true; + return; + l000005a3: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, bvadd64(R1, 16bv64))), (gamma_load32(Gamma_mem, bvadd64(R1, 16bv64)) || L(mem, bvadd64(R1, 16bv64))); + R0, Gamma_R0 := zero_extend32_32(bvadd32(R0[32:0], 2bv32)), Gamma_R0; + call rely(); + assert (L(mem, bvadd64(R1, 16bv64)) ==> Gamma_R0); + mem, Gamma_mem := memory_store32_le(mem, bvadd64(R1, 16bv64), R0[32:0]), gamma_store32(Gamma_mem, bvadd64(R1, 16bv64), Gamma_R0); + goto l00000360; + l000006d0: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, bvadd64(R1, 16bv64))), (gamma_load32(Gamma_mem, bvadd64(R1, 16bv64)) || L(mem, bvadd64(R1, 16bv64))); + R0, Gamma_R0 := zero_extend32_32(bvadd32(R0[32:0], 4294967289bv32)), Gamma_R0; + call rely(); + assert (L(mem, bvadd64(R1, 16bv64)) ==> Gamma_R0); + mem, Gamma_mem := memory_store32_le(mem, bvadd64(R1, 16bv64), R0[32:0]), gamma_store32(Gamma_mem, bvadd64(R1, 16bv64), Gamma_R0); + goto l00000360; + l00000360: + return; +} diff --git a/src/test/correct/jumptable3/gcc_no_plt_no_pic/jumptable3.expected b/src/test/correct/jumptable3/gcc_no_plt_no_pic/jumptable3.expected new file mode 100644 index 000000000..1b92b7236 --- /dev/null +++ b/src/test/correct/jumptable3/gcc_no_plt_no_pic/jumptable3.expected @@ -0,0 +1,700 @@ +var Gamma_R0: bool; +var Gamma_R1: bool; +var Gamma_R29: bool; +var Gamma_R30: bool; +var Gamma_R31: bool; +var Gamma_mem: [bv64]bool; +var Gamma_stack: [bv64]bool; +var R0: bv64; +var R1: bv64; +var R29: bv64; +var R30: bv64; +var R31: bv64; +var mem: [bv64]bv8; +var stack: [bv64]bv8; +function L(memory: [bv64]bv8, index: bv64) returns (bool) { + false +} + +function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); +function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); +function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); +function {:bvbuiltin "bvand"} bvand1(bv1, bv1) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); +function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); +function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) +} + +function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) +} + +function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { + gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] +} + +function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { + gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] +} + +function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { + (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) +} + +function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { + (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) +} + +function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { + memory[index] +} + +function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { + memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] +} + +function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { + memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] +} + +function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); +function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); +function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); +procedure rely(); + modifies mem, Gamma_mem; + ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); + ensures (mem == old(mem)); + ensures (Gamma_mem == old(Gamma_mem)); + +procedure rely_transitive() + modifies mem, Gamma_mem; + ensures (mem == old(mem)); + ensures (Gamma_mem == old(Gamma_mem)); +{ + call rely(); + call rely(); +} + +procedure rely_reflexive(); + +procedure guarantee_reflexive(); + modifies mem, Gamma_mem; + +procedure add_six() + modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; +{ + ladd_six: + R0, Gamma_R0 := 69632bv64, true; + R0, Gamma_R0 := bvadd64(R0, 16bv64), Gamma_R0; + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, R0)), (gamma_load32(Gamma_mem, R0) || L(mem, R0)); + R1, Gamma_R1 := zero_extend32_32(bvadd32(R0[32:0], 6bv32)), Gamma_R0; + R0, Gamma_R0 := 69632bv64, true; + R0, Gamma_R0 := bvadd64(R0, 16bv64), Gamma_R0; + call rely(); + assert (L(mem, R0) ==> Gamma_R1); + mem, Gamma_mem := memory_store32_le(mem, R0, R1[32:0]), gamma_store32(Gamma_mem, R0, Gamma_R1); + return; +} + +procedure add_two() + modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; +{ + ladd_two: + R0, Gamma_R0 := 69632bv64, true; + R0, Gamma_R0 := bvadd64(R0, 16bv64), Gamma_R0; + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, R0)), (gamma_load32(Gamma_mem, R0) || L(mem, R0)); + R1, Gamma_R1 := zero_extend32_32(bvadd32(R0[32:0], 2bv32)), Gamma_R0; + R0, Gamma_R0 := 69632bv64, true; + R0, Gamma_R0 := bvadd64(R0, 16bv64), Gamma_R0; + call rely(); + assert (L(mem, R0) ==> Gamma_R1); + mem, Gamma_mem := memory_store32_le(mem, R0, R1[32:0]), gamma_store32(Gamma_mem, R0, Gamma_R1); + return; +} + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; + requires (Gamma_R0 == true); + free requires (memory_load8_le(mem, 2356bv64) == 1bv8); + free requires (memory_load8_le(mem, 2357bv64) == 0bv8); + free requires (memory_load8_le(mem, 2358bv64) == 2bv8); + free requires (memory_load8_le(mem, 2359bv64) == 0bv8); + free requires (memory_load8_le(mem, 69528bv64) == 0bv8); + free requires (memory_load8_le(mem, 69529bv64) == 0bv8); + free requires (memory_load8_le(mem, 69530bv64) == 0bv8); + free requires (memory_load8_le(mem, 69531bv64) == 0bv8); + free requires (memory_load8_le(mem, 69532bv64) == 0bv8); + free requires (memory_load8_le(mem, 69533bv64) == 0bv8); + free requires (memory_load8_le(mem, 69534bv64) == 0bv8); + free requires (memory_load8_le(mem, 69535bv64) == 0bv8); + free requires (memory_load8_le(mem, 69536bv64) == 0bv8); + free requires (memory_load8_le(mem, 69537bv64) == 0bv8); + free requires (memory_load8_le(mem, 69538bv64) == 0bv8); + free requires (memory_load8_le(mem, 69539bv64) == 0bv8); + free requires (memory_load8_le(mem, 69540bv64) == 0bv8); + free requires (memory_load8_le(mem, 69541bv64) == 0bv8); + free requires (memory_load8_le(mem, 69542bv64) == 0bv8); + free requires (memory_load8_le(mem, 69543bv64) == 0bv8); + free requires (memory_load8_le(mem, 69544bv64) == 0bv8); + free requires (memory_load8_le(mem, 69545bv64) == 0bv8); + free requires (memory_load8_le(mem, 69546bv64) == 0bv8); + free requires (memory_load8_le(mem, 69547bv64) == 0bv8); + free requires (memory_load8_le(mem, 69548bv64) == 0bv8); + free requires (memory_load8_le(mem, 69549bv64) == 0bv8); + free requires (memory_load8_le(mem, 69550bv64) == 0bv8); + free requires (memory_load8_le(mem, 69551bv64) == 0bv8); + free requires (memory_load8_le(mem, 69552bv64) == 160bv8); + free requires (memory_load8_le(mem, 69553bv64) == 5bv8); + free requires (memory_load8_le(mem, 69554bv64) == 0bv8); + free requires (memory_load8_le(mem, 69555bv64) == 0bv8); + free requires (memory_load8_le(mem, 69556bv64) == 0bv8); + free requires (memory_load8_le(mem, 69557bv64) == 0bv8); + free requires (memory_load8_le(mem, 69558bv64) == 0bv8); + free requires (memory_load8_le(mem, 69559bv64) == 0bv8); + free requires (memory_load8_le(mem, 69560bv64) == 160bv8); + free requires (memory_load8_le(mem, 69561bv64) == 5bv8); + free requires (memory_load8_le(mem, 69562bv64) == 0bv8); + free requires (memory_load8_le(mem, 69563bv64) == 0bv8); + free requires (memory_load8_le(mem, 69564bv64) == 0bv8); + free requires (memory_load8_le(mem, 69565bv64) == 0bv8); + free requires (memory_load8_le(mem, 69566bv64) == 0bv8); + free requires (memory_load8_le(mem, 69567bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 160bv8); + free requires (memory_load8_le(mem, 69569bv64) == 5bv8); + free requires (memory_load8_le(mem, 69570bv64) == 0bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); + free requires (memory_load8_le(mem, 69576bv64) == 160bv8); + free requires (memory_load8_le(mem, 69577bv64) == 5bv8); + free requires (memory_load8_le(mem, 69578bv64) == 0bv8); + free requires (memory_load8_le(mem, 69579bv64) == 0bv8); + free requires (memory_load8_le(mem, 69580bv64) == 0bv8); + free requires (memory_load8_le(mem, 69581bv64) == 0bv8); + free requires (memory_load8_le(mem, 69582bv64) == 0bv8); + free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69584bv64) == 168bv8); + free requires (memory_load8_le(mem, 69585bv64) == 13bv8); + free requires (memory_load8_le(mem, 69586bv64) == 1bv8); + free requires (memory_load8_le(mem, 69587bv64) == 0bv8); + free requires (memory_load8_le(mem, 69588bv64) == 0bv8); + free requires (memory_load8_le(mem, 69589bv64) == 0bv8); + free requires (memory_load8_le(mem, 69590bv64) == 0bv8); + free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 0bv8); + free requires (memory_load8_le(mem, 69593bv64) == 0bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 0bv8); + free requires (memory_load8_le(mem, 69601bv64) == 0bv8); + free requires (memory_load8_le(mem, 69602bv64) == 0bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69608bv64) == 0bv8); + free requires (memory_load8_le(mem, 69609bv64) == 0bv8); + free requires (memory_load8_le(mem, 69610bv64) == 0bv8); + free requires (memory_load8_le(mem, 69611bv64) == 0bv8); + free requires (memory_load8_le(mem, 69612bv64) == 0bv8); + free requires (memory_load8_le(mem, 69613bv64) == 0bv8); + free requires (memory_load8_le(mem, 69614bv64) == 0bv8); + free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 128bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69624bv64) == 0bv8); + free requires (memory_load8_le(mem, 69625bv64) == 0bv8); + free requires (memory_load8_le(mem, 69626bv64) == 0bv8); + free requires (memory_load8_le(mem, 69627bv64) == 0bv8); + free requires (memory_load8_le(mem, 69628bv64) == 0bv8); + free requires (memory_load8_le(mem, 69629bv64) == 0bv8); + free requires (memory_load8_le(mem, 69630bv64) == 0bv8); + free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69648bv64) == 5bv8); + free requires (memory_load8_le(mem, 69649bv64) == 0bv8); + free requires (memory_load8_le(mem, 69650bv64) == 0bv8); + free requires (memory_load8_le(mem, 69651bv64) == 0bv8); + free ensures (Gamma_R29 == old(Gamma_R29)); + free ensures (Gamma_R31 == old(Gamma_R31)); + free ensures (R29 == old(R29)); + free ensures (R31 == old(R31)); +{ + var #10: bv32; + var #11: bv32; + var #12: bv32; + var #13: bv32; + var #14: bv32; + var #15: bv32; + var #16: bv32; + var #17: bv32; + var #18: bv32; + var #19: bv32; + var #20: bv32; + var #21: bv32; + var #22: bv32; + var #23: bv32; + var #24: bv32; + var #25: bv32; + var #26: bv32; + var #4: bv64; + var #5: bv32; + var #6: bv32; + var #7: bv32; + var #8: bv32; + var #9: bv32; + var CF: bv1; + var Gamma_#10: bool; + var Gamma_#11: bool; + var Gamma_#12: bool; + var Gamma_#13: bool; + var Gamma_#14: bool; + var Gamma_#15: bool; + var Gamma_#16: bool; + var Gamma_#17: bool; + var Gamma_#18: bool; + var Gamma_#19: bool; + var Gamma_#20: bool; + var Gamma_#21: bool; + var Gamma_#22: bool; + var Gamma_#23: bool; + var Gamma_#24: bool; + var Gamma_#25: bool; + var Gamma_#26: bool; + var Gamma_#4: bool; + var Gamma_#5: bool; + var Gamma_#6: bool; + var Gamma_#7: bool; + var Gamma_#8: bool; + var Gamma_#9: bool; + var Gamma_CF: bool; + var Gamma_NF: bool; + var Gamma_VF: bool; + var Gamma_ZF: bool; + var NF: bv1; + var VF: bv1; + var ZF: bv1; + lmain: + #4, Gamma_#4 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; + stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); + stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); + R31, Gamma_R31 := #4, Gamma_#4; + R29, Gamma_R29 := R31, Gamma_R31; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 28bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 28bv64), Gamma_R0); + stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #5, Gamma_#5 := bvadd32(R0[32:0], 4294967284bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#5, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934581bv33))), (Gamma_R0 && Gamma_#5); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#5, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967285bv33))), (Gamma_R0 && Gamma_#5); + ZF, Gamma_ZF := bvcomp32(bvadd32(#5, 1bv32), 0bv32), Gamma_#5; + NF, Gamma_NF := bvadd32(#5, 1bv32)[32:31], Gamma_#5; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000012f4; + } + goto l0000133b; + l0000133b: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #6, Gamma_#6 := bvadd32(R0[32:0], 4294967284bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#6, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934581bv33))), (Gamma_R0 && Gamma_#6); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#6, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967285bv33))), (Gamma_R0 && Gamma_#6); + ZF, Gamma_ZF := bvcomp32(bvadd32(#6, 1bv32), 0bv32), Gamma_#6; + NF, Gamma_NF := bvadd32(#6, 1bv32)[32:31], Gamma_#6; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l00001332; + } + goto l00001363; + l00001363: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #7, Gamma_#7 := bvadd32(R0[32:0], 4294967285bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#7, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934582bv33))), (Gamma_R0 && Gamma_#7); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#7, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967286bv33))), (Gamma_R0 && Gamma_#7); + ZF, Gamma_ZF := bvcomp32(bvadd32(#7, 1bv32), 0bv32), Gamma_#7; + NF, Gamma_NF := bvadd32(#7, 1bv32)[32:31], Gamma_#7; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00001384; + } + goto l0000139e; + l00001384: + R30, Gamma_R30 := 2288bv64, true; + call sub_seven(); + goto l00001390; + l00001390: + R30, Gamma_R30 := 2292bv64, true; + call add_two(); + goto l00001397; + l00001397: + R30, Gamma_R30 := 2296bv64, true; + call add_six(); + goto l000012f4; + l000012f4: + R30, Gamma_R30 := 2300bv64, true; + call sub_seven(); + goto l00001300; + l00001300: + R30, Gamma_R30 := 2304bv64, true; + call add_two(); + goto l00001307; + l00001307: + goto l00001308; + l0000139e: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #8, Gamma_#8 := bvadd32(R0[32:0], 4294967285bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#8, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934582bv33))), (Gamma_R0 && Gamma_#8); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#8, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967286bv33))), (Gamma_R0 && Gamma_#8); + ZF, Gamma_ZF := bvcomp32(bvadd32(#8, 1bv32), 0bv32), Gamma_#8; + NF, Gamma_NF := bvadd32(#8, 1bv32)[32:31], Gamma_#8; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l00001332; + } + goto l000013c6; + l000013c6: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #9, Gamma_#9 := bvadd32(R0[32:0], 4294967286bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#9, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934583bv33))), (Gamma_R0 && Gamma_#9); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#9, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967287bv33))), (Gamma_R0 && Gamma_#9); + ZF, Gamma_ZF := bvcomp32(bvadd32(#9, 1bv32), 0bv32), Gamma_#9; + NF, Gamma_NF := bvadd32(#9, 1bv32)[32:31], Gamma_#9; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000013e7; + } + goto l000013fe; + l000013e7: + R30, Gamma_R30 := 2276bv64, true; + call add_two(); + goto l000013f3; + l000013f3: + R30, Gamma_R30 := 2280bv64, true; + call add_six(); + goto l000013fa; + l000013fa: + goto l00001308; + l000013fe: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #10, Gamma_#10 := bvadd32(R0[32:0], 4294967286bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#10, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934583bv33))), (Gamma_R0 && Gamma_#10); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#10, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967287bv33))), (Gamma_R0 && Gamma_#10); + ZF, Gamma_ZF := bvcomp32(bvadd32(#10, 1bv32), 0bv32), Gamma_#10; + NF, Gamma_NF := bvadd32(#10, 1bv32)[32:31], Gamma_#10; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l00001332; + } + goto l00001426; + l00001426: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #11, Gamma_#11 := bvadd32(R0[32:0], 4294967287bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#11, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934584bv33))), (Gamma_R0 && Gamma_#11); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#11, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967288bv33))), (Gamma_R0 && Gamma_#11); + ZF, Gamma_ZF := bvcomp32(bvadd32(#11, 1bv32), 0bv32), Gamma_#11; + NF, Gamma_NF := bvadd32(#11, 1bv32)[32:31], Gamma_#11; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00001447; + } + goto l0000145e; + l0000145e: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #12, Gamma_#12 := bvadd32(R0[32:0], 4294967287bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#12, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934584bv33))), (Gamma_R0 && Gamma_#12); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#12, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967288bv33))), (Gamma_R0 && Gamma_#12); + ZF, Gamma_ZF := bvcomp32(bvadd32(#12, 1bv32), 0bv32), Gamma_#12; + NF, Gamma_NF := bvadd32(#12, 1bv32)[32:31], Gamma_#12; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l00001332; + } + goto l00001486; + l00001486: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #13, Gamma_#13 := bvadd32(R0[32:0], 4294967288bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#13, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934585bv33))), (Gamma_R0 && Gamma_#13); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#13, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967289bv33))), (Gamma_R0 && Gamma_#13); + ZF, Gamma_ZF := bvcomp32(bvadd32(#13, 1bv32), 0bv32), Gamma_#13; + NF, Gamma_NF := bvadd32(#13, 1bv32)[32:31], Gamma_#13; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000014a7; + } + goto l000014b3; + l000014b3: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #14, Gamma_#14 := bvadd32(R0[32:0], 4294967288bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#14, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934585bv33))), (Gamma_R0 && Gamma_#14); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#14, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967289bv33))), (Gamma_R0 && Gamma_#14); + ZF, Gamma_ZF := bvcomp32(bvadd32(#14, 1bv32), 0bv32), Gamma_#14; + NF, Gamma_NF := bvadd32(#14, 1bv32)[32:31], Gamma_#14; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l00001332; + } + goto l000014db; + l000014db: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #15, Gamma_#15 := bvadd32(R0[32:0], 4294967289bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#15, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934586bv33))), (Gamma_R0 && Gamma_#15); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#15, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967290bv33))), (Gamma_R0 && Gamma_#15); + ZF, Gamma_ZF := bvcomp32(bvadd32(#15, 1bv32), 0bv32), Gamma_#15; + NF, Gamma_NF := bvadd32(#15, 1bv32)[32:31], Gamma_#15; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000014fc; + } + goto l00001508; + l00001508: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #16, Gamma_#16 := bvadd32(R0[32:0], 4294967289bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#16, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934586bv33))), (Gamma_R0 && Gamma_#16); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#16, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967290bv33))), (Gamma_R0 && Gamma_#16); + ZF, Gamma_ZF := bvcomp32(bvadd32(#16, 1bv32), 0bv32), Gamma_#16; + NF, Gamma_NF := bvadd32(#16, 1bv32)[32:31], Gamma_#16; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l00001332; + } + goto l00001530; + l00001530: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #17, Gamma_#17 := bvadd32(R0[32:0], 4294967290bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#17, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934587bv33))), (Gamma_R0 && Gamma_#17); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#17, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967291bv33))), (Gamma_R0 && Gamma_#17); + ZF, Gamma_ZF := bvcomp32(bvadd32(#17, 1bv32), 0bv32), Gamma_#17; + NF, Gamma_NF := bvadd32(#17, 1bv32)[32:31], Gamma_#17; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00001551; + } + goto l00001564; + l00001551: + R30, Gamma_R30 := 2248bv64, true; + call add_six(); + goto l0000155d; + l0000155d: + R30, Gamma_R30 := 2252bv64, true; + call add_two(); + goto l000014fc; + l000014fc: + R30, Gamma_R30 := 2256bv64, true; + call add_six(); + goto l000014a7; + l000014a7: + R30, Gamma_R30 := 2260bv64, true; + call sub_seven(); + goto l00001447; + l00001447: + R30, Gamma_R30 := 2264bv64, true; + call sub_seven(); + goto l00001453; + l00001453: + R30, Gamma_R30 := 2268bv64, true; + call add_six(); + goto l0000145a; + l0000145a: + goto l00001308; + l00001564: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #18, Gamma_#18 := bvadd32(R0[32:0], 4294967290bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#18, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934587bv33))), (Gamma_R0 && Gamma_#18); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#18, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967291bv33))), (Gamma_R0 && Gamma_#18); + ZF, Gamma_ZF := bvcomp32(bvadd32(#18, 1bv32), 0bv32), Gamma_#18; + NF, Gamma_NF := bvadd32(#18, 1bv32)[32:31], Gamma_#18; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l00001332; + } + goto l0000158c; + l0000158c: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #19, Gamma_#19 := bvadd32(R0[32:0], 4294967291bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#19, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934588bv33))), (Gamma_R0 && Gamma_#19); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#19, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967292bv33))), (Gamma_R0 && Gamma_#19); + ZF, Gamma_ZF := bvcomp32(bvadd32(#19, 1bv32), 0bv32), Gamma_#19; + NF, Gamma_NF := bvadd32(#19, 1bv32)[32:31], Gamma_#19; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000015ad; + } + goto l000015bd; + l000015ad: + R30, Gamma_R30 := 2240bv64, true; + call add_six(); + goto l000015b9; + l000015b9: + goto l00001308; + l000015bd: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #20, Gamma_#20 := bvadd32(R0[32:0], 4294967291bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#20, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934588bv33))), (Gamma_R0 && Gamma_#20); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#20, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967292bv33))), (Gamma_R0 && Gamma_#20); + ZF, Gamma_ZF := bvcomp32(bvadd32(#20, 1bv32), 0bv32), Gamma_#20; + NF, Gamma_NF := bvadd32(#20, 1bv32)[32:31], Gamma_#20; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l00001332; + } + goto l000015e5; + l000015e5: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #21, Gamma_#21 := bvadd32(R0[32:0], 4294967292bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#21, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934589bv33))), (Gamma_R0 && Gamma_#21); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#21, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967293bv33))), (Gamma_R0 && Gamma_#21); + ZF, Gamma_ZF := bvcomp32(bvadd32(#21, 1bv32), 0bv32), Gamma_#21; + NF, Gamma_NF := bvadd32(#21, 1bv32)[32:31], Gamma_#21; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00001606; + } + goto l0000161d; + l00001606: + R30, Gamma_R30 := 2228bv64, true; + call add_two(); + goto l00001612; + l00001612: + R30, Gamma_R30 := 2232bv64, true; + call sub_seven(); + goto l00001619; + l00001619: + goto l00001308; + l0000161d: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #22, Gamma_#22 := bvadd32(R0[32:0], 4294967292bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#22, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934589bv33))), (Gamma_R0 && Gamma_#22); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#22, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967293bv33))), (Gamma_R0 && Gamma_#22); + ZF, Gamma_ZF := bvcomp32(bvadd32(#22, 1bv32), 0bv32), Gamma_#22; + NF, Gamma_NF := bvadd32(#22, 1bv32)[32:31], Gamma_#22; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l00001332; + } + goto l00001645; + l00001645: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #23, Gamma_#23 := bvadd32(R0[32:0], 4294967293bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#23, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934590bv33))), (Gamma_R0 && Gamma_#23); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#23, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967294bv33))), (Gamma_R0 && Gamma_#23); + ZF, Gamma_ZF := bvcomp32(bvadd32(#23, 1bv32), 0bv32), Gamma_#23; + NF, Gamma_NF := bvadd32(#23, 1bv32)[32:31], Gamma_#23; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00001666; + } + goto l00001676; + l00001676: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #24, Gamma_#24 := bvadd32(R0[32:0], 4294967293bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#24, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934590bv33))), (Gamma_R0 && Gamma_#24); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#24, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967294bv33))), (Gamma_R0 && Gamma_#24); + ZF, Gamma_ZF := bvcomp32(bvadd32(#24, 1bv32), 0bv32), Gamma_#24; + NF, Gamma_NF := bvadd32(#24, 1bv32)[32:31], Gamma_#24; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l00001332; + } + goto l0000169e; + l0000169e: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #25, Gamma_#25 := bvadd32(R0[32:0], 4294967295bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#25, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 0bv33))), (Gamma_R0 && Gamma_#25); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#25, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967296bv33))), (Gamma_R0 && Gamma_#25); + ZF, Gamma_ZF := bvcomp32(bvadd32(#25, 1bv32), 0bv32), Gamma_#25; + NF, Gamma_NF := bvadd32(#25, 1bv32)[32:31], Gamma_#25; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000016bf; + } + goto l000016d6; + l000016bf: + R30, Gamma_R30 := 2208bv64, true; + call add_two(); + goto l000016cb; + l000016cb: + goto l00001308; + l000016d6: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #26, Gamma_#26 := bvadd32(R0[32:0], 4294967294bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#26, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934591bv33))), (Gamma_R0 && Gamma_#26); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#26, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967295bv33))), (Gamma_R0 && Gamma_#26); + ZF, Gamma_ZF := bvcomp32(bvadd32(#26, 1bv32), 0bv32), Gamma_#26; + NF, Gamma_NF := bvadd32(#26, 1bv32)[32:31], Gamma_#26; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000016cf; + } + goto l000016fc; + l000016cf: + R30, Gamma_R30 := 2216bv64, true; + call add_six(); + goto l00001666; + l00001666: + R30, Gamma_R30 := 2220bv64, true; + call sub_seven(); + goto l00001672; + l00001672: + goto l00001308; + l00001308: + R0, Gamma_R0 := 69632bv64, true; + R0, Gamma_R0 := bvadd64(R0, 16bv64), Gamma_R0; + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, R0)), (gamma_load32(Gamma_mem, R0) || L(mem, R0)); + goto l0000131d; + l000016fc: + goto l00001332; + l00001332: + R0, Gamma_R0 := 1bv64, true; + goto l0000131d; + l0000131d: + R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); + R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); + R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; + return; +} + +procedure sub_seven() + modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; +{ + lsub_seven: + R0, Gamma_R0 := 69632bv64, true; + R0, Gamma_R0 := bvadd64(R0, 16bv64), Gamma_R0; + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, R0)), (gamma_load32(Gamma_mem, R0) || L(mem, R0)); + R1, Gamma_R1 := zero_extend32_32(bvadd32(R0[32:0], 4294967289bv32)), Gamma_R0; + R0, Gamma_R0 := 69632bv64, true; + R0, Gamma_R0 := bvadd64(R0, 16bv64), Gamma_R0; + call rely(); + assert (L(mem, R0) ==> Gamma_R1); + mem, Gamma_mem := memory_store32_le(mem, R0, R1[32:0]), gamma_store32(Gamma_mem, R0, Gamma_R1); + return; +} diff --git a/src/test/correct/jumptable3/gcc_pic/jumptable3.expected b/src/test/correct/jumptable3/gcc_pic/jumptable3.expected new file mode 100644 index 000000000..2a34ae439 --- /dev/null +++ b/src/test/correct/jumptable3/gcc_pic/jumptable3.expected @@ -0,0 +1,708 @@ +var Gamma_R0: bool; +var Gamma_R1: bool; +var Gamma_R29: bool; +var Gamma_R30: bool; +var Gamma_R31: bool; +var Gamma_mem: [bv64]bool; +var Gamma_stack: [bv64]bool; +var R0: bv64; +var R1: bv64; +var R29: bv64; +var R30: bv64; +var R31: bv64; +var mem: [bv64]bv8; +var stack: [bv64]bv8; +function L(memory: [bv64]bv8, index: bv64) returns (bool) { + false +} + +function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); +function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); +function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); +function {:bvbuiltin "bvand"} bvand1(bv1, bv1) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); +function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); +function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) +} + +function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) +} + +function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { + gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] +} + +function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { + gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] +} + +function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { + (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) +} + +function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { + (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) +} + +function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { + memory[index] +} + +function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { + memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] +} + +function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { + memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] +} + +function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); +function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); +function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); +procedure rely(); + modifies mem, Gamma_mem; + ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); + ensures (mem == old(mem)); + ensures (Gamma_mem == old(Gamma_mem)); + +procedure rely_transitive() + modifies mem, Gamma_mem; + ensures (mem == old(mem)); + ensures (Gamma_mem == old(Gamma_mem)); +{ + call rely(); + call rely(); +} + +procedure rely_reflexive(); + +procedure guarantee_reflexive(); + modifies mem, Gamma_mem; + +procedure add_six() + modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; +{ + ladd_six: + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4064bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4064bv64)) || L(mem, bvadd64(R0, 4064bv64))); + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, R0)), (gamma_load32(Gamma_mem, R0) || L(mem, R0)); + R1, Gamma_R1 := zero_extend32_32(bvadd32(R0[32:0], 6bv32)), Gamma_R0; + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4064bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4064bv64)) || L(mem, bvadd64(R0, 4064bv64))); + call rely(); + assert (L(mem, R0) ==> Gamma_R1); + mem, Gamma_mem := memory_store32_le(mem, R0, R1[32:0]), gamma_store32(Gamma_mem, R0, Gamma_R1); + return; +} + +procedure add_two() + modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; +{ + ladd_two: + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4064bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4064bv64)) || L(mem, bvadd64(R0, 4064bv64))); + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, R0)), (gamma_load32(Gamma_mem, R0) || L(mem, R0)); + R1, Gamma_R1 := zero_extend32_32(bvadd32(R0[32:0], 2bv32)), Gamma_R0; + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4064bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4064bv64)) || L(mem, bvadd64(R0, 4064bv64))); + call rely(); + assert (L(mem, R0) ==> Gamma_R1); + mem, Gamma_mem := memory_store32_le(mem, R0, R1[32:0]), gamma_store32(Gamma_mem, R0, Gamma_R1); + return; +} + +procedure main() + modifies Gamma_R0, Gamma_R1, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R1, R29, R30, R31, mem, stack; + requires (Gamma_R0 == true); + free requires (memory_load8_le(mem, 2420bv64) == 1bv8); + free requires (memory_load8_le(mem, 2421bv64) == 0bv8); + free requires (memory_load8_le(mem, 2422bv64) == 2bv8); + free requires (memory_load8_le(mem, 2423bv64) == 0bv8); + free requires (memory_load8_le(mem, 69520bv64) == 0bv8); + free requires (memory_load8_le(mem, 69521bv64) == 0bv8); + free requires (memory_load8_le(mem, 69522bv64) == 0bv8); + free requires (memory_load8_le(mem, 69523bv64) == 0bv8); + free requires (memory_load8_le(mem, 69524bv64) == 0bv8); + free requires (memory_load8_le(mem, 69525bv64) == 0bv8); + free requires (memory_load8_le(mem, 69526bv64) == 0bv8); + free requires (memory_load8_le(mem, 69527bv64) == 0bv8); + free requires (memory_load8_le(mem, 69528bv64) == 0bv8); + free requires (memory_load8_le(mem, 69529bv64) == 0bv8); + free requires (memory_load8_le(mem, 69530bv64) == 0bv8); + free requires (memory_load8_le(mem, 69531bv64) == 0bv8); + free requires (memory_load8_le(mem, 69532bv64) == 0bv8); + free requires (memory_load8_le(mem, 69533bv64) == 0bv8); + free requires (memory_load8_le(mem, 69534bv64) == 0bv8); + free requires (memory_load8_le(mem, 69535bv64) == 0bv8); + free requires (memory_load8_le(mem, 69536bv64) == 0bv8); + free requires (memory_load8_le(mem, 69537bv64) == 0bv8); + free requires (memory_load8_le(mem, 69538bv64) == 0bv8); + free requires (memory_load8_le(mem, 69539bv64) == 0bv8); + free requires (memory_load8_le(mem, 69540bv64) == 0bv8); + free requires (memory_load8_le(mem, 69541bv64) == 0bv8); + free requires (memory_load8_le(mem, 69542bv64) == 0bv8); + free requires (memory_load8_le(mem, 69543bv64) == 0bv8); + free requires (memory_load8_le(mem, 69544bv64) == 176bv8); + free requires (memory_load8_le(mem, 69545bv64) == 5bv8); + free requires (memory_load8_le(mem, 69546bv64) == 0bv8); + free requires (memory_load8_le(mem, 69547bv64) == 0bv8); + free requires (memory_load8_le(mem, 69548bv64) == 0bv8); + free requires (memory_load8_le(mem, 69549bv64) == 0bv8); + free requires (memory_load8_le(mem, 69550bv64) == 0bv8); + free requires (memory_load8_le(mem, 69551bv64) == 0bv8); + free requires (memory_load8_le(mem, 69552bv64) == 176bv8); + free requires (memory_load8_le(mem, 69553bv64) == 5bv8); + free requires (memory_load8_le(mem, 69554bv64) == 0bv8); + free requires (memory_load8_le(mem, 69555bv64) == 0bv8); + free requires (memory_load8_le(mem, 69556bv64) == 0bv8); + free requires (memory_load8_le(mem, 69557bv64) == 0bv8); + free requires (memory_load8_le(mem, 69558bv64) == 0bv8); + free requires (memory_load8_le(mem, 69559bv64) == 0bv8); + free requires (memory_load8_le(mem, 69560bv64) == 176bv8); + free requires (memory_load8_le(mem, 69561bv64) == 5bv8); + free requires (memory_load8_le(mem, 69562bv64) == 0bv8); + free requires (memory_load8_le(mem, 69563bv64) == 0bv8); + free requires (memory_load8_le(mem, 69564bv64) == 0bv8); + free requires (memory_load8_le(mem, 69565bv64) == 0bv8); + free requires (memory_load8_le(mem, 69566bv64) == 0bv8); + free requires (memory_load8_le(mem, 69567bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 176bv8); + free requires (memory_load8_le(mem, 69569bv64) == 5bv8); + free requires (memory_load8_le(mem, 69570bv64) == 0bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); + free requires (memory_load8_le(mem, 69576bv64) == 160bv8); + free requires (memory_load8_le(mem, 69577bv64) == 13bv8); + free requires (memory_load8_le(mem, 69578bv64) == 1bv8); + free requires (memory_load8_le(mem, 69579bv64) == 0bv8); + free requires (memory_load8_le(mem, 69580bv64) == 0bv8); + free requires (memory_load8_le(mem, 69581bv64) == 0bv8); + free requires (memory_load8_le(mem, 69582bv64) == 0bv8); + free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69584bv64) == 0bv8); + free requires (memory_load8_le(mem, 69585bv64) == 0bv8); + free requires (memory_load8_le(mem, 69586bv64) == 0bv8); + free requires (memory_load8_le(mem, 69587bv64) == 0bv8); + free requires (memory_load8_le(mem, 69588bv64) == 0bv8); + free requires (memory_load8_le(mem, 69589bv64) == 0bv8); + free requires (memory_load8_le(mem, 69590bv64) == 0bv8); + free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 0bv8); + free requires (memory_load8_le(mem, 69593bv64) == 0bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 16bv8); + free requires (memory_load8_le(mem, 69601bv64) == 16bv8); + free requires (memory_load8_le(mem, 69602bv64) == 1bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69608bv64) == 0bv8); + free requires (memory_load8_le(mem, 69609bv64) == 0bv8); + free requires (memory_load8_le(mem, 69610bv64) == 0bv8); + free requires (memory_load8_le(mem, 69611bv64) == 0bv8); + free requires (memory_load8_le(mem, 69612bv64) == 0bv8); + free requires (memory_load8_le(mem, 69613bv64) == 0bv8); + free requires (memory_load8_le(mem, 69614bv64) == 0bv8); + free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 192bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69624bv64) == 0bv8); + free requires (memory_load8_le(mem, 69625bv64) == 0bv8); + free requires (memory_load8_le(mem, 69626bv64) == 0bv8); + free requires (memory_load8_le(mem, 69627bv64) == 0bv8); + free requires (memory_load8_le(mem, 69628bv64) == 0bv8); + free requires (memory_load8_le(mem, 69629bv64) == 0bv8); + free requires (memory_load8_le(mem, 69630bv64) == 0bv8); + free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free requires (memory_load8_le(mem, 69648bv64) == 5bv8); + free requires (memory_load8_le(mem, 69649bv64) == 0bv8); + free requires (memory_load8_le(mem, 69650bv64) == 0bv8); + free requires (memory_load8_le(mem, 69651bv64) == 0bv8); + free ensures (Gamma_R29 == old(Gamma_R29)); + free ensures (Gamma_R31 == old(Gamma_R31)); + free ensures (R29 == old(R29)); + free ensures (R31 == old(R31)); +{ + var #10: bv32; + var #11: bv32; + var #12: bv32; + var #13: bv32; + var #14: bv32; + var #15: bv32; + var #16: bv32; + var #17: bv32; + var #18: bv32; + var #19: bv32; + var #20: bv32; + var #21: bv32; + var #22: bv32; + var #23: bv32; + var #24: bv32; + var #25: bv32; + var #26: bv32; + var #4: bv64; + var #5: bv32; + var #6: bv32; + var #7: bv32; + var #8: bv32; + var #9: bv32; + var CF: bv1; + var Gamma_#10: bool; + var Gamma_#11: bool; + var Gamma_#12: bool; + var Gamma_#13: bool; + var Gamma_#14: bool; + var Gamma_#15: bool; + var Gamma_#16: bool; + var Gamma_#17: bool; + var Gamma_#18: bool; + var Gamma_#19: bool; + var Gamma_#20: bool; + var Gamma_#21: bool; + var Gamma_#22: bool; + var Gamma_#23: bool; + var Gamma_#24: bool; + var Gamma_#25: bool; + var Gamma_#26: bool; + var Gamma_#4: bool; + var Gamma_#5: bool; + var Gamma_#6: bool; + var Gamma_#7: bool; + var Gamma_#8: bool; + var Gamma_#9: bool; + var Gamma_CF: bool; + var Gamma_NF: bool; + var Gamma_VF: bool; + var Gamma_ZF: bool; + var NF: bv1; + var VF: bv1; + var ZF: bv1; + lmain: + #4, Gamma_#4 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; + stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); + stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); + R31, Gamma_R31 := #4, Gamma_#4; + R29, Gamma_R29 := R31, Gamma_R31; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 28bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 28bv64), Gamma_R0); + stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #5, Gamma_#5 := bvadd32(R0[32:0], 4294967284bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#5, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934581bv33))), (Gamma_R0 && Gamma_#5); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#5, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967285bv33))), (Gamma_R0 && Gamma_#5); + ZF, Gamma_ZF := bvcomp32(bvadd32(#5, 1bv32), 0bv32), Gamma_#5; + NF, Gamma_NF := bvadd32(#5, 1bv32)[32:31], Gamma_#5; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l0000059f; + } + goto l000005e7; + l000005e7: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #6, Gamma_#6 := bvadd32(R0[32:0], 4294967284bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#6, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934581bv33))), (Gamma_R0 && Gamma_#6); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#6, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967285bv33))), (Gamma_R0 && Gamma_#6); + ZF, Gamma_ZF := bvcomp32(bvadd32(#6, 1bv32), 0bv32), Gamma_#6; + NF, Gamma_NF := bvadd32(#6, 1bv32)[32:31], Gamma_#6; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000005de; + } + goto l0000060f; + l0000060f: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #7, Gamma_#7 := bvadd32(R0[32:0], 4294967285bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#7, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934582bv33))), (Gamma_R0 && Gamma_#7); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#7, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967286bv33))), (Gamma_R0 && Gamma_#7); + ZF, Gamma_ZF := bvcomp32(bvadd32(#7, 1bv32), 0bv32), Gamma_#7; + NF, Gamma_NF := bvadd32(#7, 1bv32)[32:31], Gamma_#7; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000630; + } + goto l0000064a; + l00000630: + R30, Gamma_R30 := 2352bv64, true; + call sub_seven(); + goto l0000063c; + l0000063c: + R30, Gamma_R30 := 2356bv64, true; + call add_two(); + goto l00000643; + l00000643: + R30, Gamma_R30 := 2360bv64, true; + call add_six(); + goto l0000059f; + l0000059f: + R30, Gamma_R30 := 2364bv64, true; + call sub_seven(); + goto l000005ab; + l000005ab: + R30, Gamma_R30 := 2368bv64, true; + call add_two(); + goto l000005b2; + l000005b2: + goto l000005b3; + l0000064a: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #8, Gamma_#8 := bvadd32(R0[32:0], 4294967285bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#8, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934582bv33))), (Gamma_R0 && Gamma_#8); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#8, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967286bv33))), (Gamma_R0 && Gamma_#8); + ZF, Gamma_ZF := bvcomp32(bvadd32(#8, 1bv32), 0bv32), Gamma_#8; + NF, Gamma_NF := bvadd32(#8, 1bv32)[32:31], Gamma_#8; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000005de; + } + goto l00000672; + l00000672: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #9, Gamma_#9 := bvadd32(R0[32:0], 4294967286bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#9, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934583bv33))), (Gamma_R0 && Gamma_#9); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#9, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967287bv33))), (Gamma_R0 && Gamma_#9); + ZF, Gamma_ZF := bvcomp32(bvadd32(#9, 1bv32), 0bv32), Gamma_#9; + NF, Gamma_NF := bvadd32(#9, 1bv32)[32:31], Gamma_#9; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000693; + } + goto l000006aa; + l00000693: + R30, Gamma_R30 := 2340bv64, true; + call add_two(); + goto l0000069f; + l0000069f: + R30, Gamma_R30 := 2344bv64, true; + call add_six(); + goto l000006a6; + l000006a6: + goto l000005b3; + l000006aa: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #10, Gamma_#10 := bvadd32(R0[32:0], 4294967286bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#10, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934583bv33))), (Gamma_R0 && Gamma_#10); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#10, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967287bv33))), (Gamma_R0 && Gamma_#10); + ZF, Gamma_ZF := bvcomp32(bvadd32(#10, 1bv32), 0bv32), Gamma_#10; + NF, Gamma_NF := bvadd32(#10, 1bv32)[32:31], Gamma_#10; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000005de; + } + goto l000006d2; + l000006d2: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #11, Gamma_#11 := bvadd32(R0[32:0], 4294967287bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#11, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934584bv33))), (Gamma_R0 && Gamma_#11); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#11, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967288bv33))), (Gamma_R0 && Gamma_#11); + ZF, Gamma_ZF := bvcomp32(bvadd32(#11, 1bv32), 0bv32), Gamma_#11; + NF, Gamma_NF := bvadd32(#11, 1bv32)[32:31], Gamma_#11; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000006f3; + } + goto l0000070a; + l0000070a: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #12, Gamma_#12 := bvadd32(R0[32:0], 4294967287bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#12, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934584bv33))), (Gamma_R0 && Gamma_#12); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#12, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967288bv33))), (Gamma_R0 && Gamma_#12); + ZF, Gamma_ZF := bvcomp32(bvadd32(#12, 1bv32), 0bv32), Gamma_#12; + NF, Gamma_NF := bvadd32(#12, 1bv32)[32:31], Gamma_#12; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000005de; + } + goto l00000732; + l00000732: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #13, Gamma_#13 := bvadd32(R0[32:0], 4294967288bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#13, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934585bv33))), (Gamma_R0 && Gamma_#13); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#13, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967289bv33))), (Gamma_R0 && Gamma_#13); + ZF, Gamma_ZF := bvcomp32(bvadd32(#13, 1bv32), 0bv32), Gamma_#13; + NF, Gamma_NF := bvadd32(#13, 1bv32)[32:31], Gamma_#13; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000753; + } + goto l0000075f; + l0000075f: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #14, Gamma_#14 := bvadd32(R0[32:0], 4294967288bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#14, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934585bv33))), (Gamma_R0 && Gamma_#14); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#14, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967289bv33))), (Gamma_R0 && Gamma_#14); + ZF, Gamma_ZF := bvcomp32(bvadd32(#14, 1bv32), 0bv32), Gamma_#14; + NF, Gamma_NF := bvadd32(#14, 1bv32)[32:31], Gamma_#14; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000005de; + } + goto l00000787; + l00000787: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #15, Gamma_#15 := bvadd32(R0[32:0], 4294967289bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#15, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934586bv33))), (Gamma_R0 && Gamma_#15); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#15, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967290bv33))), (Gamma_R0 && Gamma_#15); + ZF, Gamma_ZF := bvcomp32(bvadd32(#15, 1bv32), 0bv32), Gamma_#15; + NF, Gamma_NF := bvadd32(#15, 1bv32)[32:31], Gamma_#15; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000007a8; + } + goto l000007b4; + l000007b4: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #16, Gamma_#16 := bvadd32(R0[32:0], 4294967289bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#16, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934586bv33))), (Gamma_R0 && Gamma_#16); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#16, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967290bv33))), (Gamma_R0 && Gamma_#16); + ZF, Gamma_ZF := bvcomp32(bvadd32(#16, 1bv32), 0bv32), Gamma_#16; + NF, Gamma_NF := bvadd32(#16, 1bv32)[32:31], Gamma_#16; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000005de; + } + goto l000007dc; + l000007dc: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #17, Gamma_#17 := bvadd32(R0[32:0], 4294967290bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#17, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934587bv33))), (Gamma_R0 && Gamma_#17); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#17, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967291bv33))), (Gamma_R0 && Gamma_#17); + ZF, Gamma_ZF := bvcomp32(bvadd32(#17, 1bv32), 0bv32), Gamma_#17; + NF, Gamma_NF := bvadd32(#17, 1bv32)[32:31], Gamma_#17; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000007fd; + } + goto l00000810; + l000007fd: + R30, Gamma_R30 := 2312bv64, true; + call add_six(); + goto l00000809; + l00000809: + R30, Gamma_R30 := 2316bv64, true; + call add_two(); + goto l000007a8; + l000007a8: + R30, Gamma_R30 := 2320bv64, true; + call add_six(); + goto l00000753; + l00000753: + R30, Gamma_R30 := 2324bv64, true; + call sub_seven(); + goto l000006f3; + l000006f3: + R30, Gamma_R30 := 2328bv64, true; + call sub_seven(); + goto l000006ff; + l000006ff: + R30, Gamma_R30 := 2332bv64, true; + call add_six(); + goto l00000706; + l00000706: + goto l000005b3; + l00000810: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #18, Gamma_#18 := bvadd32(R0[32:0], 4294967290bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#18, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934587bv33))), (Gamma_R0 && Gamma_#18); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#18, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967291bv33))), (Gamma_R0 && Gamma_#18); + ZF, Gamma_ZF := bvcomp32(bvadd32(#18, 1bv32), 0bv32), Gamma_#18; + NF, Gamma_NF := bvadd32(#18, 1bv32)[32:31], Gamma_#18; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000005de; + } + goto l00000838; + l00000838: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #19, Gamma_#19 := bvadd32(R0[32:0], 4294967291bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#19, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934588bv33))), (Gamma_R0 && Gamma_#19); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#19, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967292bv33))), (Gamma_R0 && Gamma_#19); + ZF, Gamma_ZF := bvcomp32(bvadd32(#19, 1bv32), 0bv32), Gamma_#19; + NF, Gamma_NF := bvadd32(#19, 1bv32)[32:31], Gamma_#19; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000859; + } + goto l00000869; + l00000859: + R30, Gamma_R30 := 2304bv64, true; + call add_six(); + goto l00000865; + l00000865: + goto l000005b3; + l00000869: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #20, Gamma_#20 := bvadd32(R0[32:0], 4294967291bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#20, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934588bv33))), (Gamma_R0 && Gamma_#20); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#20, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967292bv33))), (Gamma_R0 && Gamma_#20); + ZF, Gamma_ZF := bvcomp32(bvadd32(#20, 1bv32), 0bv32), Gamma_#20; + NF, Gamma_NF := bvadd32(#20, 1bv32)[32:31], Gamma_#20; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000005de; + } + goto l00000891; + l00000891: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #21, Gamma_#21 := bvadd32(R0[32:0], 4294967292bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#21, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934589bv33))), (Gamma_R0 && Gamma_#21); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#21, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967293bv33))), (Gamma_R0 && Gamma_#21); + ZF, Gamma_ZF := bvcomp32(bvadd32(#21, 1bv32), 0bv32), Gamma_#21; + NF, Gamma_NF := bvadd32(#21, 1bv32)[32:31], Gamma_#21; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000008b2; + } + goto l000008c9; + l000008b2: + R30, Gamma_R30 := 2292bv64, true; + call add_two(); + goto l000008be; + l000008be: + R30, Gamma_R30 := 2296bv64, true; + call sub_seven(); + goto l000008c5; + l000008c5: + goto l000005b3; + l000008c9: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #22, Gamma_#22 := bvadd32(R0[32:0], 4294967292bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#22, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934589bv33))), (Gamma_R0 && Gamma_#22); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#22, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967293bv33))), (Gamma_R0 && Gamma_#22); + ZF, Gamma_ZF := bvcomp32(bvadd32(#22, 1bv32), 0bv32), Gamma_#22; + NF, Gamma_NF := bvadd32(#22, 1bv32)[32:31], Gamma_#22; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000005de; + } + goto l000008f1; + l000008f1: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #23, Gamma_#23 := bvadd32(R0[32:0], 4294967293bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#23, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934590bv33))), (Gamma_R0 && Gamma_#23); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#23, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967294bv33))), (Gamma_R0 && Gamma_#23); + ZF, Gamma_ZF := bvcomp32(bvadd32(#23, 1bv32), 0bv32), Gamma_#23; + NF, Gamma_NF := bvadd32(#23, 1bv32)[32:31], Gamma_#23; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000912; + } + goto l00000922; + l00000922: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #24, Gamma_#24 := bvadd32(R0[32:0], 4294967293bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#24, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934590bv33))), (Gamma_R0 && Gamma_#24); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#24, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967294bv33))), (Gamma_R0 && Gamma_#24); + ZF, Gamma_ZF := bvcomp32(bvadd32(#24, 1bv32), 0bv32), Gamma_#24; + NF, Gamma_NF := bvadd32(#24, 1bv32)[32:31], Gamma_#24; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000005de; + } + goto l0000094a; + l0000094a: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #25, Gamma_#25 := bvadd32(R0[32:0], 4294967295bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#25, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 0bv33))), (Gamma_R0 && Gamma_#25); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#25, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967296bv33))), (Gamma_R0 && Gamma_#25); + ZF, Gamma_ZF := bvcomp32(bvadd32(#25, 1bv32), 0bv32), Gamma_#25; + NF, Gamma_NF := bvadd32(#25, 1bv32)[32:31], Gamma_#25; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l0000096b; + } + goto l00000982; + l0000096b: + R30, Gamma_R30 := 2272bv64, true; + call add_two(); + goto l00000977; + l00000977: + goto l000005b3; + l00000982: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #26, Gamma_#26 := bvadd32(R0[32:0], 4294967294bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#26, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934591bv33))), (Gamma_R0 && Gamma_#26); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#26, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967295bv33))), (Gamma_R0 && Gamma_#26); + ZF, Gamma_ZF := bvcomp32(bvadd32(#26, 1bv32), 0bv32), Gamma_#26; + NF, Gamma_NF := bvadd32(#26, 1bv32)[32:31], Gamma_#26; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l0000097b; + } + goto l000009a8; + l0000097b: + R30, Gamma_R30 := 2280bv64, true; + call add_six(); + goto l00000912; + l00000912: + R30, Gamma_R30 := 2284bv64, true; + call sub_seven(); + goto l0000091e; + l0000091e: + goto l000005b3; + l000005b3: + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4064bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4064bv64)) || L(mem, bvadd64(R0, 4064bv64))); + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, R0)), (gamma_load32(Gamma_mem, R0) || L(mem, R0)); + goto l000005c9; + l000009a8: + goto l000005de; + l000005de: + R0, Gamma_R0 := 1bv64, true; + goto l000005c9; + l000005c9: + R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); + R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); + R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; + return; +} + +procedure sub_seven() + modifies Gamma_R0, Gamma_R1, Gamma_mem, R0, R1, mem; +{ + lsub_seven: + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4064bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4064bv64)) || L(mem, bvadd64(R0, 4064bv64))); + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(mem, R0)), (gamma_load32(Gamma_mem, R0) || L(mem, R0)); + R1, Gamma_R1 := zero_extend32_32(bvadd32(R0[32:0], 4294967289bv32)), Gamma_R0; + R0, Gamma_R0 := 65536bv64, true; + R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 4064bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 4064bv64)) || L(mem, bvadd64(R0, 4064bv64))); + call rely(); + assert (L(mem, R0) ==> Gamma_R1); + mem, Gamma_mem := memory_store32_le(mem, R0, R1[32:0]), gamma_store32(Gamma_mem, R0, Gamma_R1); + return; +} diff --git a/src/test/correct/jumptable3/jumptable3.spec b/src/test/correct/jumptable3/jumptable3.spec new file mode 100644 index 000000000..84cc2d8c6 --- /dev/null +++ b/src/test/correct/jumptable3/jumptable3.spec @@ -0,0 +1,2 @@ +Subroutine: main +Requires: Gamma_main_argc == true \ No newline at end of file diff --git a/src/test/correct/switch2/clang_O2/switch2.expected b/src/test/correct/switch2/clang_O2/switch2.expected deleted file mode 100644 index 98527a144..000000000 --- a/src/test/correct/switch2/clang_O2/switch2.expected +++ /dev/null @@ -1,101 +0,0 @@ -var Gamma_mem: [bv64]bool; -var mem: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 1844bv64); -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - free requires (memory_load8_le(mem, 1844bv64) == 1bv8); - free requires (memory_load8_le(mem, 1845bv64) == 0bv8); - free requires (memory_load8_le(mem, 1846bv64) == 2bv8); - free requires (memory_load8_le(mem, 1847bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 28bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 0bv8); - free requires (memory_load8_le(mem, 69665bv64) == 0bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 40bv8); - free requires (memory_load8_le(mem, 69673bv64) == 16bv8); - free requires (memory_load8_le(mem, 69674bv64) == 1bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); -{ - lmain: - return; -} diff --git a/src/test/correct/jumptable2/gcc/jumptable2.expected b/src/test/correct/switch2/gcc/switch2.expected similarity index 50% rename from src/test/correct/jumptable2/gcc/jumptable2.expected rename to src/test/correct/switch2/gcc/switch2.expected index 60084ebdf..50652f260 100644 --- a/src/test/correct/jumptable2/gcc/jumptable2.expected +++ b/src/test/correct/switch2/gcc/switch2.expected @@ -12,17 +12,22 @@ var R30: bv64; var R31: bv64; var mem: [bv64]bv8; var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2080bv64); -const $jump_table_addr: bv64; -axiom ($jump_table_addr == 69656bv64); -const $x_addr: bv64; -axiom ($x_addr == 69648bv64); function L(memory: [bv64]bv8, index: bv64) returns (bool) { false } +function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); +function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); +function {:bvbuiltin "bvand"} bvand1(bv1, bv1) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); +function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); +function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) +} + function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) } @@ -35,6 +40,10 @@ function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ( gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] } +function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { + (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) +} + function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) } @@ -51,6 +60,9 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] } +function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); +function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); +function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); @@ -72,11 +84,12 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; - free requires (memory_load8_le(mem, 2080bv64) == 1bv8); - free requires (memory_load8_le(mem, 2081bv64) == 0bv8); - free requires (memory_load8_le(mem, 2082bv64) == 2bv8); - free requires (memory_load8_le(mem, 2083bv64) == 0bv8); + modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R29, R30, R31, mem, stack; + requires (Gamma_R0 == true); + free requires (memory_load8_le(mem, 2032bv64) == 1bv8); + free requires (memory_load8_le(mem, 2033bv64) == 0bv8); + free requires (memory_load8_le(mem, 2034bv64) == 2bv8); + free requires (memory_load8_le(mem, 2035bv64) == 0bv8); free requires (memory_load8_le(mem, 69528bv64) == 0bv8); free requires (memory_load8_le(mem, 69529bv64) == 0bv8); free requires (memory_load8_le(mem, 69530bv64) == 0bv8); @@ -101,7 +114,7 @@ procedure main() free requires (memory_load8_le(mem, 69549bv64) == 0bv8); free requires (memory_load8_le(mem, 69550bv64) == 0bv8); free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 224bv8); + free requires (memory_load8_le(mem, 69552bv64) == 160bv8); free requires (memory_load8_le(mem, 69553bv64) == 5bv8); free requires (memory_load8_le(mem, 69554bv64) == 0bv8); free requires (memory_load8_le(mem, 69555bv64) == 0bv8); @@ -109,7 +122,7 @@ procedure main() free requires (memory_load8_le(mem, 69557bv64) == 0bv8); free requires (memory_load8_le(mem, 69558bv64) == 0bv8); free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 224bv8); + free requires (memory_load8_le(mem, 69560bv64) == 160bv8); free requires (memory_load8_le(mem, 69561bv64) == 5bv8); free requires (memory_load8_le(mem, 69562bv64) == 0bv8); free requires (memory_load8_le(mem, 69563bv64) == 0bv8); @@ -117,7 +130,7 @@ procedure main() free requires (memory_load8_le(mem, 69565bv64) == 0bv8); free requires (memory_load8_le(mem, 69566bv64) == 0bv8); free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 224bv8); + free requires (memory_load8_le(mem, 69568bv64) == 160bv8); free requires (memory_load8_le(mem, 69569bv64) == 5bv8); free requires (memory_load8_le(mem, 69570bv64) == 0bv8); free requires (memory_load8_le(mem, 69571bv64) == 0bv8); @@ -125,7 +138,7 @@ procedure main() free requires (memory_load8_le(mem, 69573bv64) == 0bv8); free requires (memory_load8_le(mem, 69574bv64) == 0bv8); free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 224bv8); + free requires (memory_load8_le(mem, 69576bv64) == 160bv8); free requires (memory_load8_le(mem, 69577bv64) == 5bv8); free requires (memory_load8_le(mem, 69578bv64) == 0bv8); free requires (memory_load8_le(mem, 69579bv64) == 0bv8); @@ -165,7 +178,7 @@ procedure main() free requires (memory_load8_le(mem, 69613bv64) == 0bv8); free requires (memory_load8_le(mem, 69614bv64) == 0bv8); free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 192bv8); + free requires (memory_load8_le(mem, 69616bv64) == 28bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); free requires (memory_load8_le(mem, 69619bv64) == 0bv8); @@ -197,80 +210,183 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free requires (memory_load8_le(mem, 69648bv64) == 5bv8); - free requires (memory_load8_le(mem, 69649bv64) == 0bv8); - free requires (memory_load8_le(mem, 69650bv64) == 0bv8); - free requires (memory_load8_le(mem, 69651bv64) == 0bv8); - free requires (memory_load8_le(mem, 69652bv64) == 0bv8); - free requires (memory_load8_le(mem, 69653bv64) == 0bv8); - free requires (memory_load8_le(mem, 69654bv64) == 0bv8); - free requires (memory_load8_le(mem, 69655bv64) == 0bv8); - free requires (memory_load8_le(mem, 69656bv64) == 84bv8); - free requires (memory_load8_le(mem, 69657bv64) == 7bv8); - free requires (memory_load8_le(mem, 69658bv64) == 0bv8); - free requires (memory_load8_le(mem, 69659bv64) == 0bv8); - free requires (memory_load8_le(mem, 69660bv64) == 0bv8); - free requires (memory_load8_le(mem, 69661bv64) == 0bv8); - free requires (memory_load8_le(mem, 69662bv64) == 0bv8); - free requires (memory_load8_le(mem, 69663bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 120bv8); - free requires (memory_load8_le(mem, 69665bv64) == 7bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 156bv8); - free requires (memory_load8_le(mem, 69673bv64) == 7bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); { + var #10: bv32; + var #11: bv32; + var #12: bv32; var #4: bv64; + var #5: bv32; + var #6: bv32; + var #7: bv32; + var #8: bv32; + var #9: bv32; + var CF: bv1; + var Gamma_#10: bool; + var Gamma_#11: bool; + var Gamma_#12: bool; var Gamma_#4: bool; + var Gamma_#5: bool; + var Gamma_#6: bool; + var Gamma_#7: bool; + var Gamma_#8: bool; + var Gamma_#9: bool; + var Gamma_CF: bool; + var Gamma_NF: bool; + var Gamma_VF: bool; + var Gamma_ZF: bool; + var NF: bv1; + var VF: bv1; + var ZF: bv1; lmain: - #4, Gamma_#4 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; + #4, Gamma_#4 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); R31, Gamma_R31 := #4, Gamma_#4; R29, Gamma_R29 := R31, Gamma_R31; stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 28bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 28bv64), Gamma_R0); stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - R0, Gamma_R0 := 69632bv64, true; - R0, Gamma_R0 := bvadd64(R0, 24bv64), Gamma_R0; - R0, Gamma_R0 := memory_load64_le(mem, R0), (gamma_load64(Gamma_mem, R0) || L(mem, R0)); - R30, Gamma_R30 := 2016bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l0000043e; - l0000043e: - R0, Gamma_R0 := 69632bv64, true; - R0, Gamma_R0 := bvadd64(R0, 24bv64), Gamma_R0; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 8bv64)) || L(mem, bvadd64(R0, 8bv64))); - R30, Gamma_R30 := 2032bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000458; - l00000458: - R0, Gamma_R0 := 69632bv64, true; - R0, Gamma_R0 := bvadd64(R0, 24bv64), Gamma_R0; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 16bv64)) || L(mem, bvadd64(R0, 16bv64))); - R30, Gamma_R30 := 2048bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000472; - l00000472: - R0, Gamma_R0 := 0bv64, true; - R29, Gamma_R29 := memory_load64_le(mem, R31), (gamma_load64(Gamma_mem, R31) || L(mem, R31)); - R30, Gamma_R30 := memory_load64_le(mem, bvadd64(R31, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 8bv64)) || L(mem, bvadd64(R31, 8bv64))); - R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 44bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R31, 44bv64), true); + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #5, Gamma_#5 := bvadd32(R0[32:0], 4294967290bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#5, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934587bv33))), (Gamma_R0 && Gamma_#5); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#5, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967291bv33))), (Gamma_R0 && Gamma_#5); + ZF, Gamma_ZF := bvcomp32(bvadd32(#5, 1bv32), 0bv32), Gamma_#5; + NF, Gamma_NF := bvadd32(#5, 1bv32)[32:31], Gamma_#5; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000003d0; + } + goto l00000408; + l000003d0: + R0, Gamma_R0 := 4bv64, true; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 44bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 44bv64), Gamma_R0); + goto l000003e2; + l00000408: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #6, Gamma_#6 := bvadd32(R0[32:0], 4294967290bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#6, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934587bv33))), (Gamma_R0 && Gamma_#6); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#6, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967291bv33))), (Gamma_R0 && Gamma_#6); + ZF, Gamma_ZF := bvcomp32(bvadd32(#6, 1bv32), 0bv32), Gamma_#6; + NF, Gamma_NF := bvadd32(#6, 1bv32)[32:31], Gamma_#6; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000003e2; + } + goto l00000430; + l00000430: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #7, Gamma_#7 := bvadd32(R0[32:0], 4294967291bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#7, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934588bv33))), (Gamma_R0 && Gamma_#7); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#7, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967292bv33))), (Gamma_R0 && Gamma_#7); + ZF, Gamma_ZF := bvcomp32(bvadd32(#7, 1bv32), 0bv32), Gamma_#7; + NF, Gamma_NF := bvadd32(#7, 1bv32)[32:31], Gamma_#7; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000451; + } + goto l00000467; + l00000467: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #8, Gamma_#8 := bvadd32(R0[32:0], 4294967291bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#8, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934588bv33))), (Gamma_R0 && Gamma_#8); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#8, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967292bv33))), (Gamma_R0 && Gamma_#8); + ZF, Gamma_ZF := bvcomp32(bvadd32(#8, 1bv32), 0bv32), Gamma_#8; + NF, Gamma_NF := bvadd32(#8, 1bv32)[32:31], Gamma_#8; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000003e2; + } + goto l0000048f; + l0000048f: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #9, Gamma_#9 := bvadd32(R0[32:0], 4294967292bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#9, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934589bv33))), (Gamma_R0 && Gamma_#9); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#9, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967293bv33))), (Gamma_R0 && Gamma_#9); + ZF, Gamma_ZF := bvcomp32(bvadd32(#9, 1bv32), 0bv32), Gamma_#9; + NF, Gamma_NF := bvadd32(#9, 1bv32)[32:31], Gamma_#9; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000004b0; + } + goto l000004e2; + l000004b0: + R30, Gamma_R30 := 1944bv64, true; + call r(); + goto l000004bc; + l000004bc: + call rely(); + assert (L(mem, bvadd64(R31, 44bv64)) ==> Gamma_R0); + mem, Gamma_mem := memory_store32_le(mem, bvadd64(R31, 44bv64), R0[32:0]), gamma_store32(Gamma_mem, bvadd64(R31, 44bv64), Gamma_R0); + goto l000004c4; + l000004e2: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #10, Gamma_#10 := bvadd32(R0[32:0], 4294967292bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#10, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934589bv33))), (Gamma_R0 && Gamma_#10); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#10, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967293bv33))), (Gamma_R0 && Gamma_#10); + ZF, Gamma_ZF := bvcomp32(bvadd32(#10, 1bv32), 0bv32), Gamma_#10; + NF, Gamma_NF := bvadd32(#10, 1bv32)[32:31], Gamma_#10; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l000003e2; + } + goto l0000050a; + l0000050a: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #11, Gamma_#11 := bvadd32(R0[32:0], 4294967294bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#11, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934591bv33))), (Gamma_R0 && Gamma_#11); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#11, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967295bv33))), (Gamma_R0 && Gamma_#11); + ZF, Gamma_ZF := bvcomp32(bvadd32(#11, 1bv32), 0bv32), Gamma_#11; + NF, Gamma_NF := bvadd32(#11, 1bv32)[32:31], Gamma_#11; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000004c4; + } + goto l00000530; + l000004c4: + R0, Gamma_R0 := 1bv64, true; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 44bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 44bv64), Gamma_R0); + goto l000003f1; + l00000530: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #12, Gamma_#12 := bvadd32(R0[32:0], 4294967293bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#12, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934590bv33))), (Gamma_R0 && Gamma_#12); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#12, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967294bv33))), (Gamma_R0 && Gamma_#12); + ZF, Gamma_ZF := bvcomp32(bvadd32(#12, 1bv32), 0bv32), Gamma_#12; + NF, Gamma_NF := bvadd32(#12, 1bv32)[32:31], Gamma_#12; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l000004d5; + } + goto l00000556; + l000004d5: + R0, Gamma_R0 := 2bv64, true; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 44bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 44bv64), Gamma_R0); + goto l00000451; + l00000451: + R0, Gamma_R0 := 3bv64, true; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 44bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 44bv64), Gamma_R0); + goto l000003f1; + l00000556: + goto l000003e2; + l000003e2: + R0, Gamma_R0 := 5bv64, true; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 44bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 44bv64), Gamma_R0); + goto l000003f1; + l000003f1: + R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); + R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); + R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; + return; +} + +procedure r() + modifies Gamma_R0, R0; +{ + lr: + R0, Gamma_R0 := 1bv64, true; return; } diff --git a/src/test/correct/switch2/gcc_O2/switch2.expected b/src/test/correct/switch2/gcc_O2/switch2.expected deleted file mode 100644 index fb51e7264..000000000 --- a/src/test/correct/switch2/gcc_O2/switch2.expected +++ /dev/null @@ -1,157 +0,0 @@ -var Gamma_mem: [bv64]bool; -var mem: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 1916bv64); -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - free requires (memory_load8_le(mem, 1916bv64) == 1bv8); - free requires (memory_load8_le(mem, 1917bv64) == 0bv8); - free requires (memory_load8_le(mem, 1918bv64) == 2bv8); - free requires (memory_load8_le(mem, 1919bv64) == 0bv8); - free requires (memory_load8_le(mem, 69528bv64) == 0bv8); - free requires (memory_load8_le(mem, 69529bv64) == 0bv8); - free requires (memory_load8_le(mem, 69530bv64) == 0bv8); - free requires (memory_load8_le(mem, 69531bv64) == 0bv8); - free requires (memory_load8_le(mem, 69532bv64) == 0bv8); - free requires (memory_load8_le(mem, 69533bv64) == 0bv8); - free requires (memory_load8_le(mem, 69534bv64) == 0bv8); - free requires (memory_load8_le(mem, 69535bv64) == 0bv8); - free requires (memory_load8_le(mem, 69536bv64) == 0bv8); - free requires (memory_load8_le(mem, 69537bv64) == 0bv8); - free requires (memory_load8_le(mem, 69538bv64) == 0bv8); - free requires (memory_load8_le(mem, 69539bv64) == 0bv8); - free requires (memory_load8_le(mem, 69540bv64) == 0bv8); - free requires (memory_load8_le(mem, 69541bv64) == 0bv8); - free requires (memory_load8_le(mem, 69542bv64) == 0bv8); - free requires (memory_load8_le(mem, 69543bv64) == 0bv8); - free requires (memory_load8_le(mem, 69544bv64) == 0bv8); - free requires (memory_load8_le(mem, 69545bv64) == 0bv8); - free requires (memory_load8_le(mem, 69546bv64) == 0bv8); - free requires (memory_load8_le(mem, 69547bv64) == 0bv8); - free requires (memory_load8_le(mem, 69548bv64) == 0bv8); - free requires (memory_load8_le(mem, 69549bv64) == 0bv8); - free requires (memory_load8_le(mem, 69550bv64) == 0bv8); - free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 160bv8); - free requires (memory_load8_le(mem, 69553bv64) == 5bv8); - free requires (memory_load8_le(mem, 69554bv64) == 0bv8); - free requires (memory_load8_le(mem, 69555bv64) == 0bv8); - free requires (memory_load8_le(mem, 69556bv64) == 0bv8); - free requires (memory_load8_le(mem, 69557bv64) == 0bv8); - free requires (memory_load8_le(mem, 69558bv64) == 0bv8); - free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 160bv8); - free requires (memory_load8_le(mem, 69561bv64) == 5bv8); - free requires (memory_load8_le(mem, 69562bv64) == 0bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 160bv8); - free requires (memory_load8_le(mem, 69569bv64) == 5bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 160bv8); - free requires (memory_load8_le(mem, 69577bv64) == 5bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 168bv8); - free requires (memory_load8_le(mem, 69585bv64) == 13bv8); - free requires (memory_load8_le(mem, 69586bv64) == 1bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 0bv8); - free requires (memory_load8_le(mem, 69593bv64) == 0bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69608bv64) == 0bv8); - free requires (memory_load8_le(mem, 69609bv64) == 0bv8); - free requires (memory_load8_le(mem, 69610bv64) == 0bv8); - free requires (memory_load8_le(mem, 69611bv64) == 0bv8); - free requires (memory_load8_le(mem, 69612bv64) == 0bv8); - free requires (memory_load8_le(mem, 69613bv64) == 0bv8); - free requires (memory_load8_le(mem, 69614bv64) == 0bv8); - free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 0bv8); - free requires (memory_load8_le(mem, 69617bv64) == 6bv8); - free requires (memory_load8_le(mem, 69618bv64) == 0bv8); - free requires (memory_load8_le(mem, 69619bv64) == 0bv8); - free requires (memory_load8_le(mem, 69620bv64) == 0bv8); - free requires (memory_load8_le(mem, 69621bv64) == 0bv8); - free requires (memory_load8_le(mem, 69622bv64) == 0bv8); - free requires (memory_load8_le(mem, 69623bv64) == 0bv8); - free requires (memory_load8_le(mem, 69624bv64) == 0bv8); - free requires (memory_load8_le(mem, 69625bv64) == 0bv8); - free requires (memory_load8_le(mem, 69626bv64) == 0bv8); - free requires (memory_load8_le(mem, 69627bv64) == 0bv8); - free requires (memory_load8_le(mem, 69628bv64) == 0bv8); - free requires (memory_load8_le(mem, 69629bv64) == 0bv8); - free requires (memory_load8_le(mem, 69630bv64) == 0bv8); - free requires (memory_load8_le(mem, 69631bv64) == 0bv8); - free requires (memory_load8_le(mem, 69632bv64) == 0bv8); - free requires (memory_load8_le(mem, 69633bv64) == 0bv8); - free requires (memory_load8_le(mem, 69634bv64) == 0bv8); - free requires (memory_load8_le(mem, 69635bv64) == 0bv8); - free requires (memory_load8_le(mem, 69636bv64) == 0bv8); - free requires (memory_load8_le(mem, 69637bv64) == 0bv8); - free requires (memory_load8_le(mem, 69638bv64) == 0bv8); - free requires (memory_load8_le(mem, 69639bv64) == 0bv8); - free requires (memory_load8_le(mem, 69640bv64) == 8bv8); - free requires (memory_load8_le(mem, 69641bv64) == 16bv8); - free requires (memory_load8_le(mem, 69642bv64) == 1bv8); - free requires (memory_load8_le(mem, 69643bv64) == 0bv8); - free requires (memory_load8_le(mem, 69644bv64) == 0bv8); - free requires (memory_load8_le(mem, 69645bv64) == 0bv8); - free requires (memory_load8_le(mem, 69646bv64) == 0bv8); - free requires (memory_load8_le(mem, 69647bv64) == 0bv8); -{ - lmain: - return; -} diff --git a/src/test/correct/jumptable2/gcc_no_plt_no_pic/jumptable2.expected b/src/test/correct/switch2/gcc_no_plt_no_pic/switch2.expected similarity index 50% rename from src/test/correct/jumptable2/gcc_no_plt_no_pic/jumptable2.expected rename to src/test/correct/switch2/gcc_no_plt_no_pic/switch2.expected index 788b6e50d..fc0df9140 100644 --- a/src/test/correct/jumptable2/gcc_no_plt_no_pic/jumptable2.expected +++ b/src/test/correct/switch2/gcc_no_plt_no_pic/switch2.expected @@ -12,17 +12,22 @@ var R30: bv64; var R31: bv64; var mem: [bv64]bv8; var stack: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 2080bv64); -const $jump_table_addr: bv64; -axiom ($jump_table_addr == 69656bv64); -const $x_addr: bv64; -axiom ($x_addr == 69648bv64); function L(memory: [bv64]bv8, index: bv64) returns (bool) { false } +function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); +function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); +function {:bvbuiltin "bvand"} bvand1(bv1, bv1) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); +function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); +function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) +} + function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) } @@ -35,6 +40,10 @@ function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ( gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] } +function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { + (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) +} + function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) } @@ -51,6 +60,9 @@ function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] } +function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); +function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); +function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); procedure rely(); modifies mem, Gamma_mem; ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); @@ -72,11 +84,12 @@ procedure guarantee_reflexive(); modifies mem, Gamma_mem; procedure main() - modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_stack, R0, R29, R30, R31, stack; - free requires (memory_load8_le(mem, 2080bv64) == 1bv8); - free requires (memory_load8_le(mem, 2081bv64) == 0bv8); - free requires (memory_load8_le(mem, 2082bv64) == 2bv8); - free requires (memory_load8_le(mem, 2083bv64) == 0bv8); + modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R29, R30, R31, mem, stack; + requires (Gamma_R0 == true); + free requires (memory_load8_le(mem, 2032bv64) == 1bv8); + free requires (memory_load8_le(mem, 2033bv64) == 0bv8); + free requires (memory_load8_le(mem, 2034bv64) == 2bv8); + free requires (memory_load8_le(mem, 2035bv64) == 0bv8); free requires (memory_load8_le(mem, 69528bv64) == 0bv8); free requires (memory_load8_le(mem, 69529bv64) == 0bv8); free requires (memory_load8_le(mem, 69530bv64) == 0bv8); @@ -101,7 +114,7 @@ procedure main() free requires (memory_load8_le(mem, 69549bv64) == 0bv8); free requires (memory_load8_le(mem, 69550bv64) == 0bv8); free requires (memory_load8_le(mem, 69551bv64) == 0bv8); - free requires (memory_load8_le(mem, 69552bv64) == 224bv8); + free requires (memory_load8_le(mem, 69552bv64) == 160bv8); free requires (memory_load8_le(mem, 69553bv64) == 5bv8); free requires (memory_load8_le(mem, 69554bv64) == 0bv8); free requires (memory_load8_le(mem, 69555bv64) == 0bv8); @@ -109,7 +122,7 @@ procedure main() free requires (memory_load8_le(mem, 69557bv64) == 0bv8); free requires (memory_load8_le(mem, 69558bv64) == 0bv8); free requires (memory_load8_le(mem, 69559bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 224bv8); + free requires (memory_load8_le(mem, 69560bv64) == 160bv8); free requires (memory_load8_le(mem, 69561bv64) == 5bv8); free requires (memory_load8_le(mem, 69562bv64) == 0bv8); free requires (memory_load8_le(mem, 69563bv64) == 0bv8); @@ -117,7 +130,7 @@ procedure main() free requires (memory_load8_le(mem, 69565bv64) == 0bv8); free requires (memory_load8_le(mem, 69566bv64) == 0bv8); free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 224bv8); + free requires (memory_load8_le(mem, 69568bv64) == 160bv8); free requires (memory_load8_le(mem, 69569bv64) == 5bv8); free requires (memory_load8_le(mem, 69570bv64) == 0bv8); free requires (memory_load8_le(mem, 69571bv64) == 0bv8); @@ -125,7 +138,7 @@ procedure main() free requires (memory_load8_le(mem, 69573bv64) == 0bv8); free requires (memory_load8_le(mem, 69574bv64) == 0bv8); free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 224bv8); + free requires (memory_load8_le(mem, 69576bv64) == 160bv8); free requires (memory_load8_le(mem, 69577bv64) == 5bv8); free requires (memory_load8_le(mem, 69578bv64) == 0bv8); free requires (memory_load8_le(mem, 69579bv64) == 0bv8); @@ -165,7 +178,7 @@ procedure main() free requires (memory_load8_le(mem, 69613bv64) == 0bv8); free requires (memory_load8_le(mem, 69614bv64) == 0bv8); free requires (memory_load8_le(mem, 69615bv64) == 0bv8); - free requires (memory_load8_le(mem, 69616bv64) == 192bv8); + free requires (memory_load8_le(mem, 69616bv64) == 28bv8); free requires (memory_load8_le(mem, 69617bv64) == 7bv8); free requires (memory_load8_le(mem, 69618bv64) == 0bv8); free requires (memory_load8_le(mem, 69619bv64) == 0bv8); @@ -197,80 +210,183 @@ procedure main() free requires (memory_load8_le(mem, 69645bv64) == 0bv8); free requires (memory_load8_le(mem, 69646bv64) == 0bv8); free requires (memory_load8_le(mem, 69647bv64) == 0bv8); - free requires (memory_load8_le(mem, 69648bv64) == 5bv8); - free requires (memory_load8_le(mem, 69649bv64) == 0bv8); - free requires (memory_load8_le(mem, 69650bv64) == 0bv8); - free requires (memory_load8_le(mem, 69651bv64) == 0bv8); - free requires (memory_load8_le(mem, 69652bv64) == 0bv8); - free requires (memory_load8_le(mem, 69653bv64) == 0bv8); - free requires (memory_load8_le(mem, 69654bv64) == 0bv8); - free requires (memory_load8_le(mem, 69655bv64) == 0bv8); - free requires (memory_load8_le(mem, 69656bv64) == 84bv8); - free requires (memory_load8_le(mem, 69657bv64) == 7bv8); - free requires (memory_load8_le(mem, 69658bv64) == 0bv8); - free requires (memory_load8_le(mem, 69659bv64) == 0bv8); - free requires (memory_load8_le(mem, 69660bv64) == 0bv8); - free requires (memory_load8_le(mem, 69661bv64) == 0bv8); - free requires (memory_load8_le(mem, 69662bv64) == 0bv8); - free requires (memory_load8_le(mem, 69663bv64) == 0bv8); - free requires (memory_load8_le(mem, 69664bv64) == 120bv8); - free requires (memory_load8_le(mem, 69665bv64) == 7bv8); - free requires (memory_load8_le(mem, 69666bv64) == 0bv8); - free requires (memory_load8_le(mem, 69667bv64) == 0bv8); - free requires (memory_load8_le(mem, 69668bv64) == 0bv8); - free requires (memory_load8_le(mem, 69669bv64) == 0bv8); - free requires (memory_load8_le(mem, 69670bv64) == 0bv8); - free requires (memory_load8_le(mem, 69671bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 156bv8); - free requires (memory_load8_le(mem, 69673bv64) == 7bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); free ensures (Gamma_R29 == old(Gamma_R29)); free ensures (Gamma_R31 == old(Gamma_R31)); free ensures (R29 == old(R29)); free ensures (R31 == old(R31)); { + var #10: bv32; + var #11: bv32; + var #12: bv32; var #4: bv64; + var #5: bv32; + var #6: bv32; + var #7: bv32; + var #8: bv32; + var #9: bv32; + var CF: bv1; + var Gamma_#10: bool; + var Gamma_#11: bool; + var Gamma_#12: bool; var Gamma_#4: bool; + var Gamma_#5: bool; + var Gamma_#6: bool; + var Gamma_#7: bool; + var Gamma_#8: bool; + var Gamma_#9: bool; + var Gamma_CF: bool; + var Gamma_NF: bool; + var Gamma_VF: bool; + var Gamma_ZF: bool; + var NF: bv1; + var VF: bv1; + var ZF: bv1; lmain: - #4, Gamma_#4 := bvadd64(R31, 18446744073709551584bv64), Gamma_R31; + #4, Gamma_#4 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); R31, Gamma_R31 := #4, Gamma_#4; R29, Gamma_R29 := R31, Gamma_R31; stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 28bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 28bv64), Gamma_R0); stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); - R0, Gamma_R0 := 69632bv64, true; - R0, Gamma_R0 := bvadd64(R0, 24bv64), Gamma_R0; - R0, Gamma_R0 := memory_load64_le(mem, R0), (gamma_load64(Gamma_mem, R0) || L(mem, R0)); - R30, Gamma_R30 := 2016bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000bbf; - l00000bbf: - R0, Gamma_R0 := 69632bv64, true; - R0, Gamma_R0 := bvadd64(R0, 24bv64), Gamma_R0; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 8bv64)) || L(mem, bvadd64(R0, 8bv64))); - R30, Gamma_R30 := 2032bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000bd9; - l00000bd9: - R0, Gamma_R0 := 69632bv64, true; - R0, Gamma_R0 := bvadd64(R0, 24bv64), Gamma_R0; - R0, Gamma_R0 := memory_load64_le(mem, bvadd64(R0, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R0, 16bv64)) || L(mem, bvadd64(R0, 16bv64))); - R30, Gamma_R30 := 2048bv64, true; - //UNRESOLVED: call R0 - assume false; - goto l00000bf3; - l00000bf3: - R0, Gamma_R0 := 0bv64, true; - R29, Gamma_R29 := memory_load64_le(mem, R31), (gamma_load64(Gamma_mem, R31) || L(mem, R31)); - R30, Gamma_R30 := memory_load64_le(mem, bvadd64(R31, 8bv64)), (gamma_load64(Gamma_mem, bvadd64(R31, 8bv64)) || L(mem, bvadd64(R31, 8bv64))); - R31, Gamma_R31 := bvadd64(R31, 32bv64), Gamma_R31; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 44bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R31, 44bv64), true); + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #5, Gamma_#5 := bvadd32(R0[32:0], 4294967290bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#5, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934587bv33))), (Gamma_R0 && Gamma_#5); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#5, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967291bv33))), (Gamma_R0 && Gamma_#5); + ZF, Gamma_ZF := bvcomp32(bvadd32(#5, 1bv32), 0bv32), Gamma_#5; + NF, Gamma_NF := bvadd32(#5, 1bv32)[32:31], Gamma_#5; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000c2f; + } + goto l00000c67; + l00000c2f: + R0, Gamma_R0 := 4bv64, true; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 44bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 44bv64), Gamma_R0); + goto l00000c41; + l00000c67: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #6, Gamma_#6 := bvadd32(R0[32:0], 4294967290bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#6, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934587bv33))), (Gamma_R0 && Gamma_#6); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#6, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967291bv33))), (Gamma_R0 && Gamma_#6); + ZF, Gamma_ZF := bvcomp32(bvadd32(#6, 1bv32), 0bv32), Gamma_#6; + NF, Gamma_NF := bvadd32(#6, 1bv32)[32:31], Gamma_#6; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l00000c41; + } + goto l00000c8f; + l00000c8f: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #7, Gamma_#7 := bvadd32(R0[32:0], 4294967291bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#7, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934588bv33))), (Gamma_R0 && Gamma_#7); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#7, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967292bv33))), (Gamma_R0 && Gamma_#7); + ZF, Gamma_ZF := bvcomp32(bvadd32(#7, 1bv32), 0bv32), Gamma_#7; + NF, Gamma_NF := bvadd32(#7, 1bv32)[32:31], Gamma_#7; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000cb0; + } + goto l00000cc6; + l00000cc6: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #8, Gamma_#8 := bvadd32(R0[32:0], 4294967291bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#8, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934588bv33))), (Gamma_R0 && Gamma_#8); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#8, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967292bv33))), (Gamma_R0 && Gamma_#8); + ZF, Gamma_ZF := bvcomp32(bvadd32(#8, 1bv32), 0bv32), Gamma_#8; + NF, Gamma_NF := bvadd32(#8, 1bv32)[32:31], Gamma_#8; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l00000c41; + } + goto l00000cee; + l00000cee: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #9, Gamma_#9 := bvadd32(R0[32:0], 4294967292bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#9, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934589bv33))), (Gamma_R0 && Gamma_#9); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#9, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967293bv33))), (Gamma_R0 && Gamma_#9); + ZF, Gamma_ZF := bvcomp32(bvadd32(#9, 1bv32), 0bv32), Gamma_#9; + NF, Gamma_NF := bvadd32(#9, 1bv32)[32:31], Gamma_#9; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000d0f; + } + goto l00000d41; + l00000d0f: + R30, Gamma_R30 := 1944bv64, true; + call r(); + goto l00000d1b; + l00000d1b: + call rely(); + assert (L(mem, bvadd64(R31, 44bv64)) ==> Gamma_R0); + mem, Gamma_mem := memory_store32_le(mem, bvadd64(R31, 44bv64), R0[32:0]), gamma_store32(Gamma_mem, bvadd64(R31, 44bv64), Gamma_R0); + goto l00000d23; + l00000d41: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #10, Gamma_#10 := bvadd32(R0[32:0], 4294967292bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#10, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934589bv33))), (Gamma_R0 && Gamma_#10); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#10, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967293bv33))), (Gamma_R0 && Gamma_#10); + ZF, Gamma_ZF := bvcomp32(bvadd32(#10, 1bv32), 0bv32), Gamma_#10; + NF, Gamma_NF := bvadd32(#10, 1bv32)[32:31], Gamma_#10; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l00000c41; + } + goto l00000d69; + l00000d69: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #11, Gamma_#11 := bvadd32(R0[32:0], 4294967294bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#11, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934591bv33))), (Gamma_R0 && Gamma_#11); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#11, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967295bv33))), (Gamma_R0 && Gamma_#11); + ZF, Gamma_ZF := bvcomp32(bvadd32(#11, 1bv32), 0bv32), Gamma_#11; + NF, Gamma_NF := bvadd32(#11, 1bv32)[32:31], Gamma_#11; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000d23; + } + goto l00000d8f; + l00000d23: + R0, Gamma_R0 := 1bv64, true; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 44bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 44bv64), Gamma_R0); + goto l00000c50; + l00000d8f: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #12, Gamma_#12 := bvadd32(R0[32:0], 4294967293bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#12, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934590bv33))), (Gamma_R0 && Gamma_#12); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#12, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967294bv33))), (Gamma_R0 && Gamma_#12); + ZF, Gamma_ZF := bvcomp32(bvadd32(#12, 1bv32), 0bv32), Gamma_#12; + NF, Gamma_NF := bvadd32(#12, 1bv32)[32:31], Gamma_#12; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000d34; + } + goto l00000db5; + l00000d34: + R0, Gamma_R0 := 2bv64, true; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 44bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 44bv64), Gamma_R0); + goto l00000cb0; + l00000cb0: + R0, Gamma_R0 := 3bv64, true; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 44bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 44bv64), Gamma_R0); + goto l00000c50; + l00000db5: + goto l00000c41; + l00000c41: + R0, Gamma_R0 := 5bv64, true; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 44bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 44bv64), Gamma_R0); + goto l00000c50; + l00000c50: + R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); + R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); + R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; + return; +} + +procedure r() + modifies Gamma_R0, R0; +{ + lr: + R0, Gamma_R0 := 1bv64, true; return; } diff --git a/src/test/correct/switch2/gcc_pic/switch2.expected b/src/test/correct/switch2/gcc_pic/switch2.expected new file mode 100644 index 000000000..fc0df9140 --- /dev/null +++ b/src/test/correct/switch2/gcc_pic/switch2.expected @@ -0,0 +1,392 @@ +var Gamma_R0: bool; +var Gamma_R1: bool; +var Gamma_R29: bool; +var Gamma_R30: bool; +var Gamma_R31: bool; +var Gamma_mem: [bv64]bool; +var Gamma_stack: [bv64]bool; +var R0: bv64; +var R1: bv64; +var R29: bv64; +var R30: bv64; +var R31: bv64; +var mem: [bv64]bv8; +var stack: [bv64]bv8; +function L(memory: [bv64]bv8, index: bv64) returns (bool) { + false +} + +function {:bvbuiltin "bvadd"} bvadd32(bv32, bv32) returns (bv32); +function {:bvbuiltin "bvadd"} bvadd33(bv33, bv33) returns (bv33); +function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); +function {:bvbuiltin "bvand"} bvand1(bv1, bv1) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp1(bv1, bv1) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp32(bv32, bv32) returns (bv1); +function {:bvbuiltin "bvcomp"} bvcomp33(bv33, bv33) returns (bv1); +function {:bvbuiltin "bvnot"} bvnot1(bv1) returns (bv1); +function gamma_load32(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))) +} + +function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { + (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) +} + +function gamma_store32(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { + gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value] +} + +function gamma_store64(gammaMap: [bv64]bool, index: bv64, value: bool) returns ([bv64]bool) { + gammaMap[index := value][bvadd64(index, 1bv64) := value][bvadd64(index, 2bv64) := value][bvadd64(index, 3bv64) := value][bvadd64(index, 4bv64) := value][bvadd64(index, 5bv64) := value][bvadd64(index, 6bv64) := value][bvadd64(index, 7bv64) := value] +} + +function memory_load32_le(memory: [bv64]bv8, index: bv64) returns (bv32) { + (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))) +} + +function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { + (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) +} + +function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { + memory[index] +} + +function memory_store32_le(memory: [bv64]bv8, index: bv64, value: bv32) returns ([bv64]bv8) { + memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]] +} + +function memory_store64_le(memory: [bv64]bv8, index: bv64, value: bv64) returns ([bv64]bv8) { + memory[index := value[8:0]][bvadd64(index, 1bv64) := value[16:8]][bvadd64(index, 2bv64) := value[24:16]][bvadd64(index, 3bv64) := value[32:24]][bvadd64(index, 4bv64) := value[40:32]][bvadd64(index, 5bv64) := value[48:40]][bvadd64(index, 6bv64) := value[56:48]][bvadd64(index, 7bv64) := value[64:56]] +} + +function {:bvbuiltin "sign_extend 1"} sign_extend1_32(bv32) returns (bv33); +function {:bvbuiltin "zero_extend 1"} zero_extend1_32(bv32) returns (bv33); +function {:bvbuiltin "zero_extend 32"} zero_extend32_32(bv32) returns (bv64); +procedure rely(); + modifies mem, Gamma_mem; + ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); + ensures (mem == old(mem)); + ensures (Gamma_mem == old(Gamma_mem)); + +procedure rely_transitive() + modifies mem, Gamma_mem; + ensures (mem == old(mem)); + ensures (Gamma_mem == old(Gamma_mem)); +{ + call rely(); + call rely(); +} + +procedure rely_reflexive(); + +procedure guarantee_reflexive(); + modifies mem, Gamma_mem; + +procedure main() + modifies Gamma_R0, Gamma_R29, Gamma_R30, Gamma_R31, Gamma_mem, Gamma_stack, R0, R29, R30, R31, mem, stack; + requires (Gamma_R0 == true); + free requires (memory_load8_le(mem, 2032bv64) == 1bv8); + free requires (memory_load8_le(mem, 2033bv64) == 0bv8); + free requires (memory_load8_le(mem, 2034bv64) == 2bv8); + free requires (memory_load8_le(mem, 2035bv64) == 0bv8); + free requires (memory_load8_le(mem, 69528bv64) == 0bv8); + free requires (memory_load8_le(mem, 69529bv64) == 0bv8); + free requires (memory_load8_le(mem, 69530bv64) == 0bv8); + free requires (memory_load8_le(mem, 69531bv64) == 0bv8); + free requires (memory_load8_le(mem, 69532bv64) == 0bv8); + free requires (memory_load8_le(mem, 69533bv64) == 0bv8); + free requires (memory_load8_le(mem, 69534bv64) == 0bv8); + free requires (memory_load8_le(mem, 69535bv64) == 0bv8); + free requires (memory_load8_le(mem, 69536bv64) == 0bv8); + free requires (memory_load8_le(mem, 69537bv64) == 0bv8); + free requires (memory_load8_le(mem, 69538bv64) == 0bv8); + free requires (memory_load8_le(mem, 69539bv64) == 0bv8); + free requires (memory_load8_le(mem, 69540bv64) == 0bv8); + free requires (memory_load8_le(mem, 69541bv64) == 0bv8); + free requires (memory_load8_le(mem, 69542bv64) == 0bv8); + free requires (memory_load8_le(mem, 69543bv64) == 0bv8); + free requires (memory_load8_le(mem, 69544bv64) == 0bv8); + free requires (memory_load8_le(mem, 69545bv64) == 0bv8); + free requires (memory_load8_le(mem, 69546bv64) == 0bv8); + free requires (memory_load8_le(mem, 69547bv64) == 0bv8); + free requires (memory_load8_le(mem, 69548bv64) == 0bv8); + free requires (memory_load8_le(mem, 69549bv64) == 0bv8); + free requires (memory_load8_le(mem, 69550bv64) == 0bv8); + free requires (memory_load8_le(mem, 69551bv64) == 0bv8); + free requires (memory_load8_le(mem, 69552bv64) == 160bv8); + free requires (memory_load8_le(mem, 69553bv64) == 5bv8); + free requires (memory_load8_le(mem, 69554bv64) == 0bv8); + free requires (memory_load8_le(mem, 69555bv64) == 0bv8); + free requires (memory_load8_le(mem, 69556bv64) == 0bv8); + free requires (memory_load8_le(mem, 69557bv64) == 0bv8); + free requires (memory_load8_le(mem, 69558bv64) == 0bv8); + free requires (memory_load8_le(mem, 69559bv64) == 0bv8); + free requires (memory_load8_le(mem, 69560bv64) == 160bv8); + free requires (memory_load8_le(mem, 69561bv64) == 5bv8); + free requires (memory_load8_le(mem, 69562bv64) == 0bv8); + free requires (memory_load8_le(mem, 69563bv64) == 0bv8); + free requires (memory_load8_le(mem, 69564bv64) == 0bv8); + free requires (memory_load8_le(mem, 69565bv64) == 0bv8); + free requires (memory_load8_le(mem, 69566bv64) == 0bv8); + free requires (memory_load8_le(mem, 69567bv64) == 0bv8); + free requires (memory_load8_le(mem, 69568bv64) == 160bv8); + free requires (memory_load8_le(mem, 69569bv64) == 5bv8); + free requires (memory_load8_le(mem, 69570bv64) == 0bv8); + free requires (memory_load8_le(mem, 69571bv64) == 0bv8); + free requires (memory_load8_le(mem, 69572bv64) == 0bv8); + free requires (memory_load8_le(mem, 69573bv64) == 0bv8); + free requires (memory_load8_le(mem, 69574bv64) == 0bv8); + free requires (memory_load8_le(mem, 69575bv64) == 0bv8); + free requires (memory_load8_le(mem, 69576bv64) == 160bv8); + free requires (memory_load8_le(mem, 69577bv64) == 5bv8); + free requires (memory_load8_le(mem, 69578bv64) == 0bv8); + free requires (memory_load8_le(mem, 69579bv64) == 0bv8); + free requires (memory_load8_le(mem, 69580bv64) == 0bv8); + free requires (memory_load8_le(mem, 69581bv64) == 0bv8); + free requires (memory_load8_le(mem, 69582bv64) == 0bv8); + free requires (memory_load8_le(mem, 69583bv64) == 0bv8); + free requires (memory_load8_le(mem, 69584bv64) == 168bv8); + free requires (memory_load8_le(mem, 69585bv64) == 13bv8); + free requires (memory_load8_le(mem, 69586bv64) == 1bv8); + free requires (memory_load8_le(mem, 69587bv64) == 0bv8); + free requires (memory_load8_le(mem, 69588bv64) == 0bv8); + free requires (memory_load8_le(mem, 69589bv64) == 0bv8); + free requires (memory_load8_le(mem, 69590bv64) == 0bv8); + free requires (memory_load8_le(mem, 69591bv64) == 0bv8); + free requires (memory_load8_le(mem, 69592bv64) == 0bv8); + free requires (memory_load8_le(mem, 69593bv64) == 0bv8); + free requires (memory_load8_le(mem, 69594bv64) == 0bv8); + free requires (memory_load8_le(mem, 69595bv64) == 0bv8); + free requires (memory_load8_le(mem, 69596bv64) == 0bv8); + free requires (memory_load8_le(mem, 69597bv64) == 0bv8); + free requires (memory_load8_le(mem, 69598bv64) == 0bv8); + free requires (memory_load8_le(mem, 69599bv64) == 0bv8); + free requires (memory_load8_le(mem, 69600bv64) == 0bv8); + free requires (memory_load8_le(mem, 69601bv64) == 0bv8); + free requires (memory_load8_le(mem, 69602bv64) == 0bv8); + free requires (memory_load8_le(mem, 69603bv64) == 0bv8); + free requires (memory_load8_le(mem, 69604bv64) == 0bv8); + free requires (memory_load8_le(mem, 69605bv64) == 0bv8); + free requires (memory_load8_le(mem, 69606bv64) == 0bv8); + free requires (memory_load8_le(mem, 69607bv64) == 0bv8); + free requires (memory_load8_le(mem, 69608bv64) == 0bv8); + free requires (memory_load8_le(mem, 69609bv64) == 0bv8); + free requires (memory_load8_le(mem, 69610bv64) == 0bv8); + free requires (memory_load8_le(mem, 69611bv64) == 0bv8); + free requires (memory_load8_le(mem, 69612bv64) == 0bv8); + free requires (memory_load8_le(mem, 69613bv64) == 0bv8); + free requires (memory_load8_le(mem, 69614bv64) == 0bv8); + free requires (memory_load8_le(mem, 69615bv64) == 0bv8); + free requires (memory_load8_le(mem, 69616bv64) == 28bv8); + free requires (memory_load8_le(mem, 69617bv64) == 7bv8); + free requires (memory_load8_le(mem, 69618bv64) == 0bv8); + free requires (memory_load8_le(mem, 69619bv64) == 0bv8); + free requires (memory_load8_le(mem, 69620bv64) == 0bv8); + free requires (memory_load8_le(mem, 69621bv64) == 0bv8); + free requires (memory_load8_le(mem, 69622bv64) == 0bv8); + free requires (memory_load8_le(mem, 69623bv64) == 0bv8); + free requires (memory_load8_le(mem, 69624bv64) == 0bv8); + free requires (memory_load8_le(mem, 69625bv64) == 0bv8); + free requires (memory_load8_le(mem, 69626bv64) == 0bv8); + free requires (memory_load8_le(mem, 69627bv64) == 0bv8); + free requires (memory_load8_le(mem, 69628bv64) == 0bv8); + free requires (memory_load8_le(mem, 69629bv64) == 0bv8); + free requires (memory_load8_le(mem, 69630bv64) == 0bv8); + free requires (memory_load8_le(mem, 69631bv64) == 0bv8); + free requires (memory_load8_le(mem, 69632bv64) == 0bv8); + free requires (memory_load8_le(mem, 69633bv64) == 0bv8); + free requires (memory_load8_le(mem, 69634bv64) == 0bv8); + free requires (memory_load8_le(mem, 69635bv64) == 0bv8); + free requires (memory_load8_le(mem, 69636bv64) == 0bv8); + free requires (memory_load8_le(mem, 69637bv64) == 0bv8); + free requires (memory_load8_le(mem, 69638bv64) == 0bv8); + free requires (memory_load8_le(mem, 69639bv64) == 0bv8); + free requires (memory_load8_le(mem, 69640bv64) == 8bv8); + free requires (memory_load8_le(mem, 69641bv64) == 16bv8); + free requires (memory_load8_le(mem, 69642bv64) == 1bv8); + free requires (memory_load8_le(mem, 69643bv64) == 0bv8); + free requires (memory_load8_le(mem, 69644bv64) == 0bv8); + free requires (memory_load8_le(mem, 69645bv64) == 0bv8); + free requires (memory_load8_le(mem, 69646bv64) == 0bv8); + free requires (memory_load8_le(mem, 69647bv64) == 0bv8); + free ensures (Gamma_R29 == old(Gamma_R29)); + free ensures (Gamma_R31 == old(Gamma_R31)); + free ensures (R29 == old(R29)); + free ensures (R31 == old(R31)); +{ + var #10: bv32; + var #11: bv32; + var #12: bv32; + var #4: bv64; + var #5: bv32; + var #6: bv32; + var #7: bv32; + var #8: bv32; + var #9: bv32; + var CF: bv1; + var Gamma_#10: bool; + var Gamma_#11: bool; + var Gamma_#12: bool; + var Gamma_#4: bool; + var Gamma_#5: bool; + var Gamma_#6: bool; + var Gamma_#7: bool; + var Gamma_#8: bool; + var Gamma_#9: bool; + var Gamma_CF: bool; + var Gamma_NF: bool; + var Gamma_VF: bool; + var Gamma_ZF: bool; + var NF: bv1; + var VF: bv1; + var ZF: bv1; + lmain: + #4, Gamma_#4 := bvadd64(R31, 18446744073709551568bv64), Gamma_R31; + stack, Gamma_stack := memory_store64_le(stack, #4, R29), gamma_store64(Gamma_stack, #4, Gamma_R29); + stack, Gamma_stack := memory_store64_le(stack, bvadd64(#4, 8bv64), R30), gamma_store64(Gamma_stack, bvadd64(#4, 8bv64), Gamma_R30); + R31, Gamma_R31 := #4, Gamma_#4; + R29, Gamma_R29 := R31, Gamma_R31; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 28bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 28bv64), Gamma_R0); + stack, Gamma_stack := memory_store64_le(stack, bvadd64(R31, 16bv64), R1), gamma_store64(Gamma_stack, bvadd64(R31, 16bv64), Gamma_R1); + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 44bv64), 0bv32), gamma_store32(Gamma_stack, bvadd64(R31, 44bv64), true); + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #5, Gamma_#5 := bvadd32(R0[32:0], 4294967290bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#5, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934587bv33))), (Gamma_R0 && Gamma_#5); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#5, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967291bv33))), (Gamma_R0 && Gamma_#5); + ZF, Gamma_ZF := bvcomp32(bvadd32(#5, 1bv32), 0bv32), Gamma_#5; + NF, Gamma_NF := bvadd32(#5, 1bv32)[32:31], Gamma_#5; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000c2f; + } + goto l00000c67; + l00000c2f: + R0, Gamma_R0 := 4bv64, true; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 44bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 44bv64), Gamma_R0); + goto l00000c41; + l00000c67: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #6, Gamma_#6 := bvadd32(R0[32:0], 4294967290bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#6, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934587bv33))), (Gamma_R0 && Gamma_#6); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#6, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967291bv33))), (Gamma_R0 && Gamma_#6); + ZF, Gamma_ZF := bvcomp32(bvadd32(#6, 1bv32), 0bv32), Gamma_#6; + NF, Gamma_NF := bvadd32(#6, 1bv32)[32:31], Gamma_#6; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l00000c41; + } + goto l00000c8f; + l00000c8f: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #7, Gamma_#7 := bvadd32(R0[32:0], 4294967291bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#7, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934588bv33))), (Gamma_R0 && Gamma_#7); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#7, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967292bv33))), (Gamma_R0 && Gamma_#7); + ZF, Gamma_ZF := bvcomp32(bvadd32(#7, 1bv32), 0bv32), Gamma_#7; + NF, Gamma_NF := bvadd32(#7, 1bv32)[32:31], Gamma_#7; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000cb0; + } + goto l00000cc6; + l00000cc6: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #8, Gamma_#8 := bvadd32(R0[32:0], 4294967291bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#8, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934588bv33))), (Gamma_R0 && Gamma_#8); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#8, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967292bv33))), (Gamma_R0 && Gamma_#8); + ZF, Gamma_ZF := bvcomp32(bvadd32(#8, 1bv32), 0bv32), Gamma_#8; + NF, Gamma_NF := bvadd32(#8, 1bv32)[32:31], Gamma_#8; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l00000c41; + } + goto l00000cee; + l00000cee: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #9, Gamma_#9 := bvadd32(R0[32:0], 4294967292bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#9, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934589bv33))), (Gamma_R0 && Gamma_#9); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#9, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967293bv33))), (Gamma_R0 && Gamma_#9); + ZF, Gamma_ZF := bvcomp32(bvadd32(#9, 1bv32), 0bv32), Gamma_#9; + NF, Gamma_NF := bvadd32(#9, 1bv32)[32:31], Gamma_#9; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000d0f; + } + goto l00000d41; + l00000d0f: + R30, Gamma_R30 := 1944bv64, true; + call r(); + goto l00000d1b; + l00000d1b: + call rely(); + assert (L(mem, bvadd64(R31, 44bv64)) ==> Gamma_R0); + mem, Gamma_mem := memory_store32_le(mem, bvadd64(R31, 44bv64), R0[32:0]), gamma_store32(Gamma_mem, bvadd64(R31, 44bv64), Gamma_R0); + goto l00000d23; + l00000d41: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #10, Gamma_#10 := bvadd32(R0[32:0], 4294967292bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#10, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934589bv33))), (Gamma_R0 && Gamma_#10); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#10, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967293bv33))), (Gamma_R0 && Gamma_#10); + ZF, Gamma_ZF := bvcomp32(bvadd32(#10, 1bv32), 0bv32), Gamma_#10; + NF, Gamma_NF := bvadd32(#10, 1bv32)[32:31], Gamma_#10; + assert (Gamma_ZF && (Gamma_VF && Gamma_NF)); + if ((bvand1(bvcomp1(NF, VF), bvcomp1(ZF, 0bv1)) != 0bv1)) { + goto l00000c41; + } + goto l00000d69; + l00000d69: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #11, Gamma_#11 := bvadd32(R0[32:0], 4294967294bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#11, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934591bv33))), (Gamma_R0 && Gamma_#11); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#11, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967295bv33))), (Gamma_R0 && Gamma_#11); + ZF, Gamma_ZF := bvcomp32(bvadd32(#11, 1bv32), 0bv32), Gamma_#11; + NF, Gamma_NF := bvadd32(#11, 1bv32)[32:31], Gamma_#11; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000d23; + } + goto l00000d8f; + l00000d23: + R0, Gamma_R0 := 1bv64, true; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 44bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 44bv64), Gamma_R0); + goto l00000c50; + l00000d8f: + R0, Gamma_R0 := zero_extend32_32(memory_load32_le(stack, bvadd64(R31, 28bv64))), gamma_load32(Gamma_stack, bvadd64(R31, 28bv64)); + #12, Gamma_#12 := bvadd32(R0[32:0], 4294967293bv32), Gamma_R0; + VF, Gamma_VF := bvnot1(bvcomp33(sign_extend1_32(bvadd32(#12, 1bv32)), bvadd33(sign_extend1_32(R0[32:0]), 8589934590bv33))), (Gamma_R0 && Gamma_#12); + CF, Gamma_CF := bvnot1(bvcomp33(zero_extend1_32(bvadd32(#12, 1bv32)), bvadd33(zero_extend1_32(R0[32:0]), 4294967294bv33))), (Gamma_R0 && Gamma_#12); + ZF, Gamma_ZF := bvcomp32(bvadd32(#12, 1bv32), 0bv32), Gamma_#12; + NF, Gamma_NF := bvadd32(#12, 1bv32)[32:31], Gamma_#12; + assert Gamma_ZF; + if ((bvcomp1(ZF, 1bv1) != 0bv1)) { + goto l00000d34; + } + goto l00000db5; + l00000d34: + R0, Gamma_R0 := 2bv64, true; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 44bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 44bv64), Gamma_R0); + goto l00000cb0; + l00000cb0: + R0, Gamma_R0 := 3bv64, true; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 44bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 44bv64), Gamma_R0); + goto l00000c50; + l00000db5: + goto l00000c41; + l00000c41: + R0, Gamma_R0 := 5bv64, true; + stack, Gamma_stack := memory_store32_le(stack, bvadd64(R31, 44bv64), R0[32:0]), gamma_store32(Gamma_stack, bvadd64(R31, 44bv64), Gamma_R0); + goto l00000c50; + l00000c50: + R29, Gamma_R29 := memory_load64_le(stack, R31), gamma_load64(Gamma_stack, R31); + R30, Gamma_R30 := memory_load64_le(stack, bvadd64(R31, 8bv64)), gamma_load64(Gamma_stack, bvadd64(R31, 8bv64)); + R31, Gamma_R31 := bvadd64(R31, 48bv64), Gamma_R31; + return; +} + +procedure r() + modifies Gamma_R0, R0; +{ + lr: + R0, Gamma_R0 := 1bv64, true; + return; +} diff --git a/src/test/correct/switch2/switch2.spec b/src/test/correct/switch2/switch2.spec new file mode 100644 index 000000000..84cc2d8c6 --- /dev/null +++ b/src/test/correct/switch2/switch2.spec @@ -0,0 +1,2 @@ +Subroutine: main +Requires: Gamma_main_argc == true \ No newline at end of file diff --git a/src/test/correct/syscall/clang_O2/syscall.expected b/src/test/correct/syscall/clang_O2/syscall.expected deleted file mode 100644 index c7a9abf3f..000000000 --- a/src/test/correct/syscall/clang_O2/syscall.expected +++ /dev/null @@ -1,127 +0,0 @@ -var Gamma_R16: bool; -var Gamma_R17: bool; -var Gamma_mem: [bv64]bool; -var R16: bv64; -var R17: bv64; -var mem: [bv64]bv8; -const $_IO_stdin_used_addr: bv64; -axiom ($_IO_stdin_used_addr == 1900bv64); -function L(memory: [bv64]bv8, index: bv64) returns (bool) { - false -} - -function {:bvbuiltin "bvadd"} bvadd64(bv64, bv64) returns (bv64); -function gamma_load64(gammaMap: [bv64]bool, index: bv64) returns (bool) { - (gammaMap[bvadd64(index, 7bv64)] && (gammaMap[bvadd64(index, 6bv64)] && (gammaMap[bvadd64(index, 5bv64)] && (gammaMap[bvadd64(index, 4bv64)] && (gammaMap[bvadd64(index, 3bv64)] && (gammaMap[bvadd64(index, 2bv64)] && (gammaMap[bvadd64(index, 1bv64)] && gammaMap[index]))))))) -} - -function memory_load64_le(memory: [bv64]bv8, index: bv64) returns (bv64) { - (memory[bvadd64(index, 7bv64)] ++ (memory[bvadd64(index, 6bv64)] ++ (memory[bvadd64(index, 5bv64)] ++ (memory[bvadd64(index, 4bv64)] ++ (memory[bvadd64(index, 3bv64)] ++ (memory[bvadd64(index, 2bv64)] ++ (memory[bvadd64(index, 1bv64)] ++ memory[index]))))))) -} - -function memory_load8_le(memory: [bv64]bv8, index: bv64) returns (bv8) { - memory[index] -} - -procedure rely(); - modifies mem, Gamma_mem; - ensures (forall i: bv64 :: (((mem[i] == old(mem[i])) ==> (Gamma_mem[i] == old(Gamma_mem[i]))))); - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); - -procedure rely_transitive() - modifies mem, Gamma_mem; - ensures (mem == old(mem)); - ensures (Gamma_mem == old(Gamma_mem)); -{ - call rely(); - call rely(); -} - -procedure rely_reflexive(); - -procedure guarantee_reflexive(); - modifies mem, Gamma_mem; - -procedure main() - modifies Gamma_R16, Gamma_R17, R16, R17; - free requires (memory_load8_le(mem, 1900bv64) == 1bv8); - free requires (memory_load8_le(mem, 1901bv64) == 0bv8); - free requires (memory_load8_le(mem, 1902bv64) == 2bv8); - free requires (memory_load8_le(mem, 1903bv64) == 0bv8); - free requires (memory_load8_le(mem, 69560bv64) == 216bv8); - free requires (memory_load8_le(mem, 69561bv64) == 13bv8); - free requires (memory_load8_le(mem, 69562bv64) == 1bv8); - free requires (memory_load8_le(mem, 69563bv64) == 0bv8); - free requires (memory_load8_le(mem, 69564bv64) == 0bv8); - free requires (memory_load8_le(mem, 69565bv64) == 0bv8); - free requires (memory_load8_le(mem, 69566bv64) == 0bv8); - free requires (memory_load8_le(mem, 69567bv64) == 0bv8); - free requires (memory_load8_le(mem, 69568bv64) == 0bv8); - free requires (memory_load8_le(mem, 69569bv64) == 0bv8); - free requires (memory_load8_le(mem, 69570bv64) == 0bv8); - free requires (memory_load8_le(mem, 69571bv64) == 0bv8); - free requires (memory_load8_le(mem, 69572bv64) == 0bv8); - free requires (memory_load8_le(mem, 69573bv64) == 0bv8); - free requires (memory_load8_le(mem, 69574bv64) == 0bv8); - free requires (memory_load8_le(mem, 69575bv64) == 0bv8); - free requires (memory_load8_le(mem, 69576bv64) == 0bv8); - free requires (memory_load8_le(mem, 69577bv64) == 0bv8); - free requires (memory_load8_le(mem, 69578bv64) == 0bv8); - free requires (memory_load8_le(mem, 69579bv64) == 0bv8); - free requires (memory_load8_le(mem, 69580bv64) == 0bv8); - free requires (memory_load8_le(mem, 69581bv64) == 0bv8); - free requires (memory_load8_le(mem, 69582bv64) == 0bv8); - free requires (memory_load8_le(mem, 69583bv64) == 0bv8); - free requires (memory_load8_le(mem, 69584bv64) == 0bv8); - free requires (memory_load8_le(mem, 69585bv64) == 0bv8); - free requires (memory_load8_le(mem, 69586bv64) == 0bv8); - free requires (memory_load8_le(mem, 69587bv64) == 0bv8); - free requires (memory_load8_le(mem, 69588bv64) == 0bv8); - free requires (memory_load8_le(mem, 69589bv64) == 0bv8); - free requires (memory_load8_le(mem, 69590bv64) == 0bv8); - free requires (memory_load8_le(mem, 69591bv64) == 0bv8); - free requires (memory_load8_le(mem, 69592bv64) == 84bv8); - free requires (memory_load8_le(mem, 69593bv64) == 7bv8); - free requires (memory_load8_le(mem, 69594bv64) == 0bv8); - free requires (memory_load8_le(mem, 69595bv64) == 0bv8); - free requires (memory_load8_le(mem, 69596bv64) == 0bv8); - free requires (memory_load8_le(mem, 69597bv64) == 0bv8); - free requires (memory_load8_le(mem, 69598bv64) == 0bv8); - free requires (memory_load8_le(mem, 69599bv64) == 0bv8); - free requires (memory_load8_le(mem, 69600bv64) == 0bv8); - free requires (memory_load8_le(mem, 69601bv64) == 0bv8); - free requires (memory_load8_le(mem, 69602bv64) == 0bv8); - free requires (memory_load8_le(mem, 69603bv64) == 0bv8); - free requires (memory_load8_le(mem, 69604bv64) == 0bv8); - free requires (memory_load8_le(mem, 69605bv64) == 0bv8); - free requires (memory_load8_le(mem, 69606bv64) == 0bv8); - free requires (memory_load8_le(mem, 69607bv64) == 0bv8); - free requires (memory_load8_le(mem, 69672bv64) == 0bv8); - free requires (memory_load8_le(mem, 69673bv64) == 0bv8); - free requires (memory_load8_le(mem, 69674bv64) == 0bv8); - free requires (memory_load8_le(mem, 69675bv64) == 0bv8); - free requires (memory_load8_le(mem, 69676bv64) == 0bv8); - free requires (memory_load8_le(mem, 69677bv64) == 0bv8); - free requires (memory_load8_le(mem, 69678bv64) == 0bv8); - free requires (memory_load8_le(mem, 69679bv64) == 0bv8); - free requires (memory_load8_le(mem, 69680bv64) == 48bv8); - free requires (memory_load8_le(mem, 69681bv64) == 16bv8); - free requires (memory_load8_le(mem, 69682bv64) == 1bv8); - free requires (memory_load8_le(mem, 69683bv64) == 0bv8); - free requires (memory_load8_le(mem, 69684bv64) == 0bv8); - free requires (memory_load8_le(mem, 69685bv64) == 0bv8); - free requires (memory_load8_le(mem, 69686bv64) == 0bv8); - free requires (memory_load8_le(mem, 69687bv64) == 0bv8); -{ - lmain: - goto lfork; - lfork: - R16, Gamma_R16 := 69632bv64, true; - R17, Gamma_R17 := memory_load64_le(mem, bvadd64(R16, 16bv64)), (gamma_load64(Gamma_mem, bvadd64(R16, 16bv64)) || L(mem, bvadd64(R16, 16bv64))); - R16, Gamma_R16 := bvadd64(R16, 16bv64), Gamma_R16; - //UNRESOLVED: call R17 - assume false; - //no return target - assume false; -} diff --git a/src/test/incorrect/iflocal/clang_O2/iflocal.adt b/src/test/incorrect/iflocal/clang_O2/iflocal.adt deleted file mode 100644 index 1d02f4178..000000000 --- a/src/test/incorrect/iflocal/clang_O2/iflocal.adt +++ /dev/null @@ -1,485 +0,0 @@ -Project(Attrs([Attr("filename","\"clang_O2/iflocal.out\""), -Attr("image-specification","(declare abi (name str))\n(declare arch (name str))\n(declare base-address (addr int))\n(declare bias (off int))\n(declare bits (size int))\n(declare code-region (addr int) (size int) (off int))\n(declare code-start (addr int))\n(declare entry-point (addr int))\n(declare external-reference (addr int) (name str))\n(declare format (name str))\n(declare is-executable (flag bool))\n(declare is-little-endian (flag bool))\n(declare llvm:base-address (addr int))\n(declare llvm:code-entry (name str) (off int) (size int))\n(declare llvm:coff-import-library (name str))\n(declare llvm:coff-virtual-section-header (name str) (addr int) (size int))\n(declare llvm:elf-program-header (name str) (off int) (size int))\n(declare llvm:elf-program-header-flags (name str) (ld bool) (r bool) \n (w bool) (x bool))\n(declare llvm:elf-virtual-program-header (name str) (addr int) (size int))\n(declare llvm:entry-point (addr int))\n(declare llvm:macho-symbol (name str) (value int))\n(declare llvm:name-reference (at int) (name str))\n(declare llvm:relocation (at int) (addr int))\n(declare llvm:section-entry (name str) (addr int) (size int) (off int))\n(declare llvm:section-flags (name str) (r bool) (w bool) (x bool))\n(declare llvm:segment-command (name str) (off int) (size int))\n(declare llvm:segment-command-flags (name str) (r bool) (w bool) (x bool))\n(declare llvm:symbol-entry (name str) (addr int) (size int) (off int)\n (value int))\n(declare llvm:virtual-segment-command (name str) (addr int) (size int))\n(declare mapped (addr int) (size int) (off int))\n(declare named-region (addr int) (size int) (name str))\n(declare named-symbol (addr int) (name str))\n(declare require (name str))\n(declare section (addr int) (size int))\n(declare segment (addr int) (size int) (r bool) (w bool) (x bool))\n(declare subarch (name str))\n(declare symbol-chunk (addr int) (size int) (root int))\n(declare symbol-value (addr int) (value int))\n(declare system (name str))\n(declare vendor (name str))\n\n(abi unknown)\n(arch aarch64)\n(base-address 0)\n(bias 0)\n(bits 64)\n(code-region 1820 20 1820)\n(code-region 1536 284 1536)\n(code-region 1440 96 1440)\n(code-region 1408 24 1408)\n(code-start 1588)\n(code-start 1536)\n(code-start 1812)\n(entry-point 1536)\n(external-reference 69568 _ITM_deregisterTMCloneTable)\n(external-reference 69576 __cxa_finalize)\n(external-reference 69584 __gmon_start__)\n(external-reference 69600 _ITM_registerTMCloneTable)\n(external-reference 69632 __libc_start_main)\n(external-reference 69640 __cxa_finalize)\n(external-reference 69648 __gmon_start__)\n(external-reference 69656 abort)\n(format elf)\n(is-executable true)\n(is-little-endian true)\n(llvm:base-address 0)\n(llvm:code-entry abort 0 0)\n(llvm:code-entry __cxa_finalize 0 0)\n(llvm:code-entry __libc_start_main 0 0)\n(llvm:code-entry _init 1408 0)\n(llvm:code-entry main 1812 8)\n(llvm:code-entry _start 1536 52)\n(llvm:code-entry abort@GLIBC_2.17 0 0)\n(llvm:code-entry _fini 1820 0)\n(llvm:code-entry __cxa_finalize@GLIBC_2.17 0 0)\n(llvm:code-entry __libc_start_main@GLIBC_2.34 0 0)\n(llvm:code-entry frame_dummy 1808 0)\n(llvm:code-entry __do_global_dtors_aux 1728 0)\n(llvm:code-entry register_tm_clones 1664 0)\n(llvm:code-entry deregister_tm_clones 1616 0)\n(llvm:code-entry call_weak_fn 1588 20)\n(llvm:code-entry .fini 1820 20)\n(llvm:code-entry .text 1536 284)\n(llvm:code-entry .plt 1440 96)\n(llvm:code-entry .init 1408 24)\n(llvm:elf-program-header 08 3528 568)\n(llvm:elf-program-header 07 0 0)\n(llvm:elf-program-header 06 1844 60)\n(llvm:elf-program-header 05 596 68)\n(llvm:elf-program-header 04 3544 480)\n(llvm:elf-program-header 03 3528 616)\n(llvm:elf-program-header 02 0 2084)\n(llvm:elf-program-header 01 568 27)\n(llvm:elf-program-header 00 64 504)\n(llvm:elf-program-header-flags 08 false true false false)\n(llvm:elf-program-header-flags 07 false true true false)\n(llvm:elf-program-header-flags 06 false true false false)\n(llvm:elf-program-header-flags 05 false true false false)\n(llvm:elf-program-header-flags 04 false true true false)\n(llvm:elf-program-header-flags 03 true true true false)\n(llvm:elf-program-header-flags 02 true true false true)\n(llvm:elf-program-header-flags 01 false true false false)\n(llvm:elf-program-header-flags 00 false true false false)\n(llvm:elf-virtual-program-header 08 69064 568)\n(llvm:elf-virtual-program-header 07 0 0)\n(llvm:elf-virtual-program-header 06 1844 60)\n(llvm:elf-virtual-program-header 05 596 68)\n(llvm:elf-virtual-program-header 04 69080 480)\n(llvm:elf-virtual-program-header 03 69064 624)\n(llvm:elf-virtual-program-header 02 0 2084)\n(llvm:elf-virtual-program-header 01 568 27)\n(llvm:elf-virtual-program-header 00 64 504)\n(llvm:entry-point 1536)\n(llvm:name-reference 69656 abort)\n(llvm:name-reference 69648 __gmon_start__)\n(llvm:name-reference 69640 __cxa_finalize)\n(llvm:name-reference 69632 __libc_start_main)\n(llvm:name-reference 69600 _ITM_registerTMCloneTable)\n(llvm:name-reference 69584 __gmon_start__)\n(llvm:name-reference 69576 __cxa_finalize)\n(llvm:name-reference 69568 _ITM_deregisterTMCloneTable)\n(llvm:section-entry .shstrtab 0 259 6886)\n(llvm:section-entry .strtab 0 558 6328)\n(llvm:section-entry .symtab 0 2112 4216)\n(llvm:section-entry .comment 0 71 4144)\n(llvm:section-entry .bss 69680 8 4144)\n(llvm:section-entry .data 69664 16 4128)\n(llvm:section-entry .got.plt 69608 56 4072)\n(llvm:section-entry .got 69560 48 4024)\n(llvm:section-entry .dynamic 69080 480 3544)\n(llvm:section-entry .fini_array 69072 8 3536)\n(llvm:section-entry .init_array 69064 8 3528)\n(llvm:section-entry .eh_frame 1904 180 1904)\n(llvm:section-entry .eh_frame_hdr 1844 60 1844)\n(llvm:section-entry .rodata 1840 4 1840)\n(llvm:section-entry .fini 1820 20 1820)\n(llvm:section-entry .text 1536 284 1536)\n(llvm:section-entry .plt 1440 96 1440)\n(llvm:section-entry .init 1408 24 1408)\n(llvm:section-entry .rela.plt 1312 96 1312)\n(llvm:section-entry .rela.dyn 1120 192 1120)\n(llvm:section-entry .gnu.version_r 1072 48 1072)\n(llvm:section-entry .gnu.version 1054 18 1054)\n(llvm:section-entry .dynstr 912 141 912)\n(llvm:section-entry .dynsym 696 216 696)\n(llvm:section-entry .gnu.hash 664 28 664)\n(llvm:section-entry .note.ABI-tag 632 32 632)\n(llvm:section-entry .note.gnu.build-id 596 36 596)\n(llvm:section-entry .interp 568 27 568)\n(llvm:section-flags .shstrtab true false false)\n(llvm:section-flags .strtab true false false)\n(llvm:section-flags .symtab true false false)\n(llvm:section-flags .comment true false false)\n(llvm:section-flags .bss true true false)\n(llvm:section-flags .data true true false)\n(llvm:section-flags .got.plt true true false)\n(llvm:section-flags .got true true false)\n(llvm:section-flags .dynamic true true false)\n(llvm:section-flags .fini_array true true false)\n(llvm:section-flags .init_array true true false)\n(llvm:section-flags .eh_frame true false false)\n(llvm:section-flags .eh_frame_hdr true false false)\n(llvm:section-flags .rodata true false false)\n(llvm:section-flags .fini true false true)\n(llvm:section-flags .text true false true)\n(llvm:section-flags .plt true false true)\n(llvm:section-flags .init true false true)\n(llvm:section-flags .rela.plt true false false)\n(llvm:section-flags .rela.dyn true false false)\n(llvm:section-flags .gnu.version_r true false false)\n(llvm:section-flags .gnu.version true false false)\n(llvm:section-flags .dynstr true false false)\n(llvm:section-flags .dynsym true false false)\n(llvm:section-flags .gnu.hash true false false)\n(llvm:section-flags .note.ABI-tag true false false)\n(llvm:section-flags .note.gnu.build-id true false false)\n(llvm:section-flags .interp true false false)\n(llvm:symbol-entry abort 0 0 0 0)\n(llvm:symbol-entry __cxa_finalize 0 0 0 0)\n(llvm:symbol-entry __libc_start_main 0 0 0 0)\n(llvm:symbol-entry _init 1408 0 1408 1408)\n(llvm:symbol-entry main 1812 8 1812 1812)\n(llvm:symbol-entry _start 1536 52 1536 1536)\n(llvm:symbol-entry abort@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry _fini 1820 0 1820 1820)\n(llvm:symbol-entry __cxa_finalize@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry __libc_start_main@GLIBC_2.34 0 0 0 0)\n(llvm:symbol-entry frame_dummy 1808 0 1808 1808)\n(llvm:symbol-entry __do_global_dtors_aux 1728 0 1728 1728)\n(llvm:symbol-entry register_tm_clones 1664 0 1664 1664)\n(llvm:symbol-entry deregister_tm_clones 1616 0 1616 1616)\n(llvm:symbol-entry call_weak_fn 1588 20 1588 1588)\n(mapped 0 2084 0)\n(mapped 69064 616 3528)\n(named-region 0 2084 02)\n(named-region 69064 624 03)\n(named-region 568 27 .interp)\n(named-region 596 36 .note.gnu.build-id)\n(named-region 632 32 .note.ABI-tag)\n(named-region 664 28 .gnu.hash)\n(named-region 696 216 .dynsym)\n(named-region 912 141 .dynstr)\n(named-region 1054 18 .gnu.version)\n(named-region 1072 48 .gnu.version_r)\n(named-region 1120 192 .rela.dyn)\n(named-region 1312 96 .rela.plt)\n(named-region 1408 24 .init)\n(named-region 1440 96 .plt)\n(named-region 1536 284 .text)\n(named-region 1820 20 .fini)\n(named-region 1840 4 .rodata)\n(named-region 1844 60 .eh_frame_hdr)\n(named-region 1904 180 .eh_frame)\n(named-region 69064 8 .init_array)\n(named-region 69072 8 .fini_array)\n(named-region 69080 480 .dynamic)\n(named-region 69560 48 .got)\n(named-region 69608 56 .got.plt)\n(named-region 69664 16 .data)\n(named-region 69680 8 .bss)\n(named-region 0 71 .comment)\n(named-region 0 2112 .symtab)\n(named-region 0 558 .strtab)\n(named-region 0 259 .shstrtab)\n(named-symbol 1588 call_weak_fn)\n(named-symbol 1616 deregister_tm_clones)\n(named-symbol 1664 register_tm_clones)\n(named-symbol 1728 __do_global_dtors_aux)\n(named-symbol 1808 frame_dummy)\n(named-symbol 0 __libc_start_main@GLIBC_2.34)\n(named-symbol 0 __cxa_finalize@GLIBC_2.17)\n(named-symbol 1820 _fini)\n(named-symbol 0 abort@GLIBC_2.17)\n(named-symbol 1536 _start)\n(named-symbol 1812 main)\n(named-symbol 1408 _init)\n(named-symbol 0 __libc_start_main)\n(named-symbol 0 __cxa_finalize)\n(named-symbol 0 abort)\n(require libc.so.6)\n(section 568 27)\n(section 596 36)\n(section 632 32)\n(section 664 28)\n(section 696 216)\n(section 912 141)\n(section 1054 18)\n(section 1072 48)\n(section 1120 192)\n(section 1312 96)\n(section 1408 24)\n(section 1440 96)\n(section 1536 284)\n(section 1820 20)\n(section 1840 4)\n(section 1844 60)\n(section 1904 180)\n(section 69064 8)\n(section 69072 8)\n(section 69080 480)\n(section 69560 48)\n(section 69608 56)\n(section 69664 16)\n(section 69680 8)\n(section 0 71)\n(section 0 2112)\n(section 0 558)\n(section 0 259)\n(segment 0 2084 true false true)\n(segment 69064 624 true true false)\n(subarch v8)\n(symbol-chunk 1588 20 1588)\n(symbol-chunk 1536 52 1536)\n(symbol-chunk 1812 8 1812)\n(symbol-value 1588 1588)\n(symbol-value 1616 1616)\n(symbol-value 1664 1664)\n(symbol-value 1728 1728)\n(symbol-value 1808 1808)\n(symbol-value 1820 1820)\n(symbol-value 1536 1536)\n(symbol-value 1812 1812)\n(symbol-value 1408 1408)\n(symbol-value 0 0)\n(system \"\")\n(vendor \"\")\n"), -Attr("abi-name","\"aarch64-linux-gnu-elf\"")]), -Sections([Section(".shstrtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf0\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1d\x00\x1c\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x08\x00\x00\x00\x00\x00\x00\x24\x08\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\xc8\x0d\x00\x00\x00\x00\x00\x00\xc8\x0d\x01\x00\x00\x00\x00\x00\xc8\x0d\x01"), -Section(".strtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf0\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1d\x00\x1c\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x08\x00\x00\x00\x00\x00\x00\x24\x08\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\xc8\x0d\x00\x00\x00\x00\x00\x00\xc8\x0d\x01\x00\x00\x00\x00\x00\xc8\x0d\x01\x00\x00\x00\x00\x00\x68\x02\x00\x00\x00\x00\x00\x00\x70\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\xd8\x0d\x00\x00\x00\x00\x00\x00\xd8\x0d\x01\x00\x00\x00\x00\x00\xd8\x0d\x01\x00\x00\x00\x00\x00\xe0\x01\x00\x00\x00\x00\x00\x00\xe0\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x50\xe5\x74\x64\x04\x00\x00\x00\x34\x07\x00\x00\x00\x00\x00\x00\x34\x07\x00\x00\x00\x00\x00\x00\x34\x07\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x51\xe5\x74\x64\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x52\xe5\x74\x64\x04\x00\x00\x00\xc8\x0d\x00\x00\x00\x00\x00\x00\xc8\x0d\x01\x00\x00\x00\x00\x00\xc8\x0d\x01\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00"), -Section(".comment", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf0\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1d\x00\x1c\x00\x06\x00\x00\x00\x04\x00\x00"), -Section(".interp", 0x238, "\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00"), -Section(".note.gnu.build-id", 0x254, "\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\x54\x35\xde\x5c\x50\x30\x5e\xba\x37\xb0\x10\xf5\x51\x35\xe9\x02\x46\x26\xb0\xc4"), -Section(".note.ABI-tag", 0x278, "\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00"), -Section(".gnu.hash", 0x298, "\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".dynsym", 0x2B8, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\x80\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x17\x00\x20\x10\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".dynstr", 0x390, "\x00\x5f\x5f\x63\x78\x61\x5f\x66\x69\x6e\x61\x6c\x69\x7a\x65\x00\x5f\x5f\x6c\x69\x62\x63\x5f\x73\x74\x61\x72\x74\x5f\x6d\x61\x69\x6e\x00\x61\x62\x6f\x72\x74\x00\x6c\x69\x62\x63\x2e\x73\x6f\x2e\x36\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x31\x37\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x33\x34\x00\x5f\x49\x54\x4d\x5f\x64\x65\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x5f\x5f\x67\x6d\x6f\x6e\x5f\x73\x74\x61\x72\x74\x5f\x5f\x00\x5f\x49\x54\x4d\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00"), -Section(".gnu.version", 0x41E, "\x00\x00\x00\x00\x00\x00\x02\x00\x01\x00\x03\x00\x01\x00\x03\x00\x01\x00"), -Section(".gnu.version_r", 0x430, "\x01\x00\x02\x00\x28\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x97\x91\x96\x06\x00\x00\x03\x00\x32\x00\x00\x00\x10\x00\x00\x00\xb4\x91\x96\x06\x00\x00\x02\x00\x3d\x00\x00\x00\x00\x00\x00\x00"), -Section(".rela.dyn", 0x460, "\xc8\x0d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x10\x07\x00\x00\x00\x00\x00\x00\xd0\x0d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\xc0\x06\x00\x00\x00\x00\x00\x00\xd8\x0f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x14\x07\x00\x00\x00\x00\x00\x00\x28\x10\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x28\x10\x01\x00\x00\x00\x00\x00\xc0\x0f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x0f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x0f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".rela.plt", 0x520, "\x00\x10\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x10\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x10\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x10\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".init", 0x580, "\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x2a\x00\x00\x94\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".plt", 0x5A0, "\xf0\x7b\xbf\xa9\x90\x00\x00\x90\x11\xfe\x47\xf9\x10\xe2\x3f\x91\x20\x02\x1f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x90\x00\x00\xb0\x11\x02\x40\xf9\x10\x02\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\x06\x40\xf9\x10\x22\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\x0a\x40\xf9\x10\x42\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\x0e\x40\xf9\x10\x62\x00\x91\x20\x02\x1f\xd6"), -Section(".text", 0x600, "\x1f\x20\x03\xd5\x1d\x00\x80\xd2\x1e\x00\x80\xd2\xe5\x03\x00\xaa\xe1\x03\x40\xf9\xe2\x23\x00\x91\xe6\x03\x00\x91\x80\x00\x00\x90\x00\xec\x47\xf9\x03\x00\x80\xd2\x04\x00\x80\xd2\xe5\xff\xff\x97\xf0\xff\xff\x97\x80\x00\x00\x90\x00\xe8\x47\xf9\x40\x00\x00\xb4\xe8\xff\xff\x17\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x80\x00\x00\xb0\x00\xc0\x00\x91\x81\x00\x00\xb0\x21\xc0\x00\x91\x3f\x00\x00\xeb\xc0\x00\x00\x54\x81\x00\x00\x90\x21\xe0\x47\xf9\x61\x00\x00\xb4\xf0\x03\x01\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x80\x00\x00\xb0\x00\xc0\x00\x91\x81\x00\x00\xb0\x21\xc0\x00\x91\x21\x00\x00\xcb\x22\xfc\x7f\xd3\x41\x0c\x81\x8b\x21\xfc\x41\x93\xc1\x00\x00\xb4\x82\x00\x00\x90\x42\xf0\x47\xf9\x62\x00\x00\xb4\xf0\x03\x02\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\xfd\x7b\xbe\xa9\xfd\x03\x00\x91\xf3\x0b\x00\xf9\x93\x00\x00\xb0\x60\xc2\x40\x39\x40\x01\x00\x35\x80\x00\x00\x90\x00\xe4\x47\xf9\x80\x00\x00\xb4\x80\x00\x00\xb0\x00\x14\x40\xf9\xb9\xff\xff\x97\xd8\xff\xff\x97\x20\x00\x80\x52\x60\xc2\x00\x39\xf3\x0b\x40\xf9\xfd\x7b\xc2\xa8\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\xdc\xff\xff\x17\xe0\x03\x1f\x2a\xc0\x03\x5f\xd6"), -Section(".fini", 0x71C, "\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".rodata", 0x730, "\x01\x00\x02\x00"), -Section(".eh_frame_hdr", 0x734, "\x01\x1b\x03\x3b\x38\x00\x00\x00\x06\x00\x00\x00\xcc\xfe\xff\xff\x50\x00\x00\x00\x1c\xff\xff\xff\x64\x00\x00\x00\x4c\xff\xff\xff\x78\x00\x00\x00\x8c\xff\xff\xff\x8c\x00\x00\x00\xdc\xff\xff\xff\xb0\x00\x00\x00\xe0\xff\xff\xff\xd8\x00\x00\x00"), -Section(".eh_frame", 0x770, "\x10\x00\x00\x00\x00\x00\x00\x00\x01\x7a\x52\x00\x04\x78\x1e\x01\x1b\x0c\x1f\x00\x10\x00\x00\x00\x18\x00\x00\x00\x74\xfe\xff\xff\x34\x00\x00\x00\x00\x41\x07\x1e\x10\x00\x00\x00\x2c\x00\x00\x00\xb0\xfe\xff\xff\x30\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x40\x00\x00\x00\xcc\xfe\xff\xff\x3c\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x54\x00\x00\x00\xf8\xfe\xff\xff\x48\x00\x00\x00\x00\x41\x0e\x20\x9d\x04\x9e\x03\x42\x93\x02\x4e\xde\xdd\xd3\x0e\x00\x00\x00\x00\x10\x00\x00\x00\x78\x00\x00\x00\x24\xff\xff\xff\x04\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x01\x7a\x52\x00\x01\x7c\x1e\x01\x1b\x0c\x1f\x00\x10\x00\x00\x00\x18\x00\x00\x00\x00\xff\xff\xff\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".fini_array", 0x10DD0, "\xc0\x06\x00\x00\x00\x00\x00\x00"), -Section(".dynamic", 0x10DD8, "\x01\x00\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x80\x05\x00\x00\x00\x00\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x1c\x07\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\xc8\x0d\x01\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\xd0\x0d\x01\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xf5\xfe\xff\x6f\x00\x00\x00\x00\x98\x02\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x90\x03\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\xb8\x02\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\xe8\x0f\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x20\x05\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x60\x04\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\xfb\xff\xff\x6f\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\xfe\xff\xff\x6f\x00\x00\x00\x00\x30\x04\x00\x00\x00\x00\x00\x00\xff\xff\xff\x6f\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xf0\xff\xff\x6f\x00\x00\x00\x00\x1e\x04\x00\x00\x00\x00\x00\x00\xf9\xff\xff\x6f\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".init_array", 0x10DC8, "\x10\x07\x00\x00\x00\x00\x00\x00"), -Section(".got", 0x10FB8, "\xd8\x0d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".got.plt", 0x10FE8, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00"), -Section(".data", 0x11020, "\x00\x00\x00\x00\x00\x00\x00\x00\x28\x10\x01\x00\x00\x00\x00\x00")]), -Memmap([Annotation(Region(0x0,0x823), Attr("segment","02 0 2084")), -Annotation(Region(0x600,0x633), Attr("symbol","\"_start\"")), -Annotation(Region(0x0,0x102), Attr("section","\".shstrtab\"")), -Annotation(Region(0x0,0x22D), Attr("section","\".strtab\"")), -Annotation(Region(0x0,0x46), Attr("section","\".comment\"")), -Annotation(Region(0x238,0x252), Attr("section","\".interp\"")), -Annotation(Region(0x254,0x277), Attr("section","\".note.gnu.build-id\"")), -Annotation(Region(0x278,0x297), Attr("section","\".note.ABI-tag\"")), -Annotation(Region(0x298,0x2B3), Attr("section","\".gnu.hash\"")), -Annotation(Region(0x2B8,0x38F), Attr("section","\".dynsym\"")), -Annotation(Region(0x390,0x41C), Attr("section","\".dynstr\"")), -Annotation(Region(0x41E,0x42F), Attr("section","\".gnu.version\"")), -Annotation(Region(0x430,0x45F), Attr("section","\".gnu.version_r\"")), -Annotation(Region(0x460,0x51F), Attr("section","\".rela.dyn\"")), -Annotation(Region(0x520,0x57F), Attr("section","\".rela.plt\"")), -Annotation(Region(0x580,0x597), Attr("section","\".init\"")), -Annotation(Region(0x5A0,0x5FF), Attr("section","\".plt\"")), -Annotation(Region(0x580,0x597), Attr("code-region","()")), -Annotation(Region(0x5A0,0x5FF), Attr("code-region","()")), -Annotation(Region(0x600,0x633), Attr("symbol-info","_start 0x600 52")), -Annotation(Region(0x634,0x647), Attr("symbol","\"call_weak_fn\"")), -Annotation(Region(0x634,0x647), Attr("symbol-info","call_weak_fn 0x634 20")), -Annotation(Region(0x600,0x71B), Attr("section","\".text\"")), -Annotation(Region(0x600,0x71B), Attr("code-region","()")), -Annotation(Region(0x714,0x71B), Attr("symbol","\"main\"")), -Annotation(Region(0x714,0x71B), Attr("symbol-info","main 0x714 8")), -Annotation(Region(0x71C,0x72F), Attr("section","\".fini\"")), -Annotation(Region(0x71C,0x72F), Attr("code-region","()")), -Annotation(Region(0x730,0x733), Attr("section","\".rodata\"")), -Annotation(Region(0x734,0x76F), Attr("section","\".eh_frame_hdr\"")), -Annotation(Region(0x770,0x823), Attr("section","\".eh_frame\"")), -Annotation(Region(0x10DC8,0x1102F), Attr("segment","03 0x10DC8 624")), -Annotation(Region(0x10DD0,0x10DD7), Attr("section","\".fini_array\"")), -Annotation(Region(0x10DD8,0x10FB7), Attr("section","\".dynamic\"")), -Annotation(Region(0x10DC8,0x10DCF), Attr("section","\".init_array\"")), -Annotation(Region(0x10FB8,0x10FE7), Attr("section","\".got\"")), -Annotation(Region(0x10FE8,0x1101F), Attr("section","\".got.plt\"")), -Annotation(Region(0x11020,0x1102F), Attr("section","\".data\""))]), -Program(Tid(1_381, "%00000565"), Attrs([]), - Subs([Sub(Tid(1_331, "@__cxa_finalize"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x5D0"), -Attr("stub","()")]), "__cxa_finalize", Args([Arg(Tid(1_382, "%00000566"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("__cxa_finalize_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(755, "@__cxa_finalize"), - Attrs([Attr("address","0x5D0")]), Phis([]), -Defs([Def(Tid(1_003, "%000003eb"), Attrs([Attr("address","0x5D0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(1_010, "%000003f2"), Attrs([Attr("address","0x5D4"), -Attr("insn","ldr x17, [x16, #0x8]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_016, "%000003f8"), Attrs([Attr("address","0x5D8"), -Attr("insn","add x16, x16, #0x8")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(8,64)))]), Jmps([Call(Tid(1_021, "%000003fd"), - Attrs([Attr("address","0x5DC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), -Sub(Tid(1_332, "@__do_global_dtors_aux"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x6C0")]), - "__do_global_dtors_aux", Args([Arg(Tid(1_383, "%00000567"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("__do_global_dtors_aux_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(598, "@__do_global_dtors_aux"), - Attrs([Attr("address","0x6C0")]), Phis([]), Defs([Def(Tid(602, "%0000025a"), - Attrs([Attr("address","0x6C0"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("#3",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(608, "%00000260"), Attrs([Attr("address","0x6C0"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#3",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(614, "%00000266"), Attrs([Attr("address","0x6C0"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#3",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(618, "%0000026a"), Attrs([Attr("address","0x6C0"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("R31",Imm(64)), -Var("#3",Imm(64))), Def(Tid(624, "%00000270"), - Attrs([Attr("address","0x6C4"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(632, "%00000278"), - Attrs([Attr("address","0x6C8"), Attr("insn","str x19, [sp, #0x10]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),Var("R19",Imm(64)),LittleEndian(),64)), -Def(Tid(637, "%0000027d"), Attrs([Attr("address","0x6CC"), -Attr("insn","adrp x19, #69632")]), Var("R19",Imm(64)), Int(69632,64)), -Def(Tid(644, "%00000284"), Attrs([Attr("address","0x6D0"), -Attr("insn","ldrb w0, [x19, #0x30]")]), Var("R0",Imm(64)), -UNSIGNED(64,Load(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(48,64)),LittleEndian(),8)))]), -Jmps([Goto(Tid(651, "%0000028b"), Attrs([Attr("address","0x6D4"), -Attr("insn","cbnz w0, #0x28")]), - NEQ(Extract(31,0,Var("R0",Imm(64))),Int(0,32)), -Direct(Tid(649, "%00000289"))), Goto(Tid(1_371, "%0000055b"), Attrs([]), - Int(1,1), Direct(Tid(700, "%000002bc")))])), Blk(Tid(700, "%000002bc"), - Attrs([Attr("address","0x6D8")]), Phis([]), Defs([Def(Tid(703, "%000002bf"), - Attrs([Attr("address","0x6D8"), Attr("insn","adrp x0, #65536")]), - Var("R0",Imm(64)), Int(65536,64)), Def(Tid(710, "%000002c6"), - Attrs([Attr("address","0x6DC"), Attr("insn","ldr x0, [x0, #0xfc8]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4040,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(716, "%000002cc"), Attrs([Attr("address","0x6E0"), -Attr("insn","cbz x0, #0x10")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(714, "%000002ca"))), Goto(Tid(1_372, "%0000055c"), Attrs([]), - Int(1,1), Direct(Tid(739, "%000002e3")))])), Blk(Tid(739, "%000002e3"), - Attrs([Attr("address","0x6E4")]), Phis([]), Defs([Def(Tid(742, "%000002e6"), - Attrs([Attr("address","0x6E4"), Attr("insn","adrp x0, #69632")]), - Var("R0",Imm(64)), Int(69632,64)), Def(Tid(749, "%000002ed"), - Attrs([Attr("address","0x6E8"), Attr("insn","ldr x0, [x0, #0x28]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(40,64)),LittleEndian(),64)), -Def(Tid(754, "%000002f2"), Attrs([Attr("address","0x6EC"), -Attr("insn","bl #-0x11c")]), Var("R30",Imm(64)), Int(1776,64))]), -Jmps([Call(Tid(757, "%000002f5"), Attrs([Attr("address","0x6EC"), -Attr("insn","bl #-0x11c")]), Int(1,1), -(Direct(Tid(1_331, "@__cxa_finalize")),Direct(Tid(714, "%000002ca"))))])), -Blk(Tid(714, "%000002ca"), Attrs([Attr("address","0x6F0")]), Phis([]), -Defs([Def(Tid(722, "%000002d2"), Attrs([Attr("address","0x6F0"), -Attr("insn","bl #-0xa0")]), Var("R30",Imm(64)), Int(1780,64))]), -Jmps([Call(Tid(724, "%000002d4"), Attrs([Attr("address","0x6F0"), -Attr("insn","bl #-0xa0")]), Int(1,1), -(Direct(Tid(1_345, "@deregister_tm_clones")),Direct(Tid(726, "%000002d6"))))])), -Blk(Tid(726, "%000002d6"), Attrs([Attr("address","0x6F4")]), Phis([]), -Defs([Def(Tid(729, "%000002d9"), Attrs([Attr("address","0x6F4"), -Attr("insn","mov w0, #0x1")]), Var("R0",Imm(64)), Int(1,64)), -Def(Tid(737, "%000002e1"), Attrs([Attr("address","0x6F8"), -Attr("insn","strb w0, [x19, #0x30]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(48,64)),Extract(7,0,Var("R0",Imm(64))),LittleEndian(),8))]), -Jmps([Goto(Tid(1_373, "%0000055d"), Attrs([]), Int(1,1), -Direct(Tid(649, "%00000289")))])), Blk(Tid(649, "%00000289"), - Attrs([Attr("address","0x6FC")]), Phis([]), Defs([Def(Tid(659, "%00000293"), - Attrs([Attr("address","0x6FC"), Attr("insn","ldr x19, [sp, #0x10]")]), - Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),LittleEndian(),64)), -Def(Tid(666, "%0000029a"), Attrs([Attr("address","0x700"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(671, "%0000029f"), Attrs([Attr("address","0x700"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(675, "%000002a3"), Attrs([Attr("address","0x700"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(680, "%000002a8"), - Attrs([Attr("address","0x704"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(1_336, "@__libc_start_main"), - Attrs([Attr("c.proto","signed (*)(signed (*)(signed , char** , char** );* main, signed , char** , \nvoid* auxv)"), -Attr("address","0x5C0"), Attr("stub","()")]), "__libc_start_main", - Args([Arg(Tid(1_384, "%00000568"), - Attrs([Attr("c.layout","**[ : 64]"), -Attr("c.data","Top:u64 ptr ptr"), -Attr("c.type","signed (*)(signed , char** , char** );*")]), - Var("__libc_start_main_main",Imm(64)), Var("R0",Imm(64)), In()), -Arg(Tid(1_385, "%00000569"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("__libc_start_main_arg2",Imm(32)), LOW(32,Var("R1",Imm(64))), In()), -Arg(Tid(1_386, "%0000056a"), Attrs([Attr("c.layout","**[char : 8]"), -Attr("c.data","Top:u8 ptr ptr"), Attr("c.type","char**")]), - Var("__libc_start_main_arg3",Imm(64)), Var("R2",Imm(64)), Both()), -Arg(Tid(1_387, "%0000056b"), Attrs([Attr("c.layout","*[ : 8]"), -Attr("c.data","{} ptr"), Attr("c.type","void*")]), - Var("__libc_start_main_auxv",Imm(64)), Var("R3",Imm(64)), Both()), -Arg(Tid(1_388, "%0000056c"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("__libc_start_main_result",Imm(32)), LOW(32,Var("R0",Imm(64))), -Out())]), Blks([Blk(Tid(431, "@__libc_start_main"), - Attrs([Attr("address","0x5C0")]), Phis([]), Defs([Def(Tid(981, "%000003d5"), - Attrs([Attr("address","0x5C0"), Attr("insn","adrp x16, #69632")]), - Var("R16",Imm(64)), Int(69632,64)), Def(Tid(988, "%000003dc"), - Attrs([Attr("address","0x5C4"), Attr("insn","ldr x17, [x16]")]), - Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R16",Imm(64)),LittleEndian(),64)), -Def(Tid(994, "%000003e2"), Attrs([Attr("address","0x5C8"), -Attr("insn","add x16, x16, #0x0")]), Var("R16",Imm(64)), -Var("R16",Imm(64)))]), Jmps([Call(Tid(999, "%000003e7"), - Attrs([Attr("address","0x5CC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(1_337, "@_fini"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x71C")]), - "_fini", Args([Arg(Tid(1_389, "%0000056d"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_fini_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(31, "@_fini"), - Attrs([Attr("address","0x71C")]), Phis([]), Defs([Def(Tid(37, "%00000025"), - Attrs([Attr("address","0x720"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#0",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(43, "%0000002b"), Attrs([Attr("address","0x720"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#0",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(49, "%00000031"), Attrs([Attr("address","0x720"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#0",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(53, "%00000035"), Attrs([Attr("address","0x720"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#0",Imm(64))), Def(Tid(59, "%0000003b"), Attrs([Attr("address","0x724"), -Attr("insn","mov x29, sp")]), Var("R29",Imm(64)), Var("R31",Imm(64))), -Def(Tid(66, "%00000042"), Attrs([Attr("address","0x728"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(71, "%00000047"), Attrs([Attr("address","0x728"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(75, "%0000004b"), Attrs([Attr("address","0x728"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(80, "%00000050"), - Attrs([Attr("address","0x72C"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(1_338, "@_init"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x580")]), - "_init", Args([Arg(Tid(1_390, "%0000056e"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_init_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_171, "@_init"), - Attrs([Attr("address","0x580")]), Phis([]), -Defs([Def(Tid(1_177, "%00000499"), Attrs([Attr("address","0x584"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#5",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(1_183, "%0000049f"), Attrs([Attr("address","0x584"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#5",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_189, "%000004a5"), Attrs([Attr("address","0x584"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#5",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_193, "%000004a9"), Attrs([Attr("address","0x584"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#5",Imm(64))), Def(Tid(1_199, "%000004af"), - Attrs([Attr("address","0x588"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(1_204, "%000004b4"), - Attrs([Attr("address","0x58C"), Attr("insn","bl #0xa8")]), - Var("R30",Imm(64)), Int(1424,64))]), Jmps([Call(Tid(1_206, "%000004b6"), - Attrs([Attr("address","0x58C"), Attr("insn","bl #0xa8")]), Int(1,1), -(Direct(Tid(1_343, "@call_weak_fn")),Direct(Tid(1_208, "%000004b8"))))])), -Blk(Tid(1_208, "%000004b8"), Attrs([Attr("address","0x590")]), Phis([]), -Defs([Def(Tid(1_213, "%000004bd"), Attrs([Attr("address","0x590"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_218, "%000004c2"), Attrs([Attr("address","0x590"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_222, "%000004c6"), Attrs([Attr("address","0x590"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(1_227, "%000004cb"), - Attrs([Attr("address","0x594"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(1_339, "@_start"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x600"), -Attr("stub","()"), Attr("entry-point","()")]), "_start", - Args([Arg(Tid(1_391, "%0000056f"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("_start_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(368, "@_start"), Attrs([Attr("address","0x600")]), Phis([]), -Defs([Def(Tid(373, "%00000175"), Attrs([Attr("address","0x604"), -Attr("insn","mov x29, #0x0")]), Var("R29",Imm(64)), Int(0,64)), -Def(Tid(378, "%0000017a"), Attrs([Attr("address","0x608"), -Attr("insn","mov x30, #0x0")]), Var("R30",Imm(64)), Int(0,64)), -Def(Tid(384, "%00000180"), Attrs([Attr("address","0x60C"), -Attr("insn","mov x5, x0")]), Var("R5",Imm(64)), Var("R0",Imm(64))), -Def(Tid(391, "%00000187"), Attrs([Attr("address","0x610"), -Attr("insn","ldr x1, [sp]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(397, "%0000018d"), Attrs([Attr("address","0x614"), -Attr("insn","add x2, sp, #0x8")]), Var("R2",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(8,64))), Def(Tid(403, "%00000193"), - Attrs([Attr("address","0x618"), Attr("insn","mov x6, sp")]), - Var("R6",Imm(64)), Var("R31",Imm(64))), Def(Tid(408, "%00000198"), - Attrs([Attr("address","0x61C"), Attr("insn","adrp x0, #65536")]), - Var("R0",Imm(64)), Int(65536,64)), Def(Tid(415, "%0000019f"), - Attrs([Attr("address","0x620"), Attr("insn","ldr x0, [x0, #0xfd8]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4056,64)),LittleEndian(),64)), -Def(Tid(420, "%000001a4"), Attrs([Attr("address","0x624"), -Attr("insn","mov x3, #0x0")]), Var("R3",Imm(64)), Int(0,64)), -Def(Tid(425, "%000001a9"), Attrs([Attr("address","0x628"), -Attr("insn","mov x4, #0x0")]), Var("R4",Imm(64)), Int(0,64)), -Def(Tid(430, "%000001ae"), Attrs([Attr("address","0x62C"), -Attr("insn","bl #-0x6c")]), Var("R30",Imm(64)), Int(1584,64))]), -Jmps([Call(Tid(433, "%000001b1"), Attrs([Attr("address","0x62C"), -Attr("insn","bl #-0x6c")]), Int(1,1), -(Direct(Tid(1_336, "@__libc_start_main")),Direct(Tid(435, "%000001b3"))))])), -Blk(Tid(435, "%000001b3"), Attrs([Attr("address","0x630")]), Phis([]), -Defs([Def(Tid(438, "%000001b6"), Attrs([Attr("address","0x630"), -Attr("insn","bl #-0x40")]), Var("R30",Imm(64)), Int(1588,64))]), -Jmps([Call(Tid(441, "%000001b9"), Attrs([Attr("address","0x630"), -Attr("insn","bl #-0x40")]), Int(1,1), -(Direct(Tid(1_342, "@abort")),Direct(Tid(1_374, "%0000055e"))))])), -Blk(Tid(1_374, "%0000055e"), Attrs([]), Phis([]), Defs([]), -Jmps([Call(Tid(1_375, "%0000055f"), Attrs([]), Int(1,1), -(Direct(Tid(1_343, "@call_weak_fn")),))]))])), Sub(Tid(1_342, "@abort"), - Attrs([Attr("noreturn","()"), Attr("c.proto","void (*)(void)"), -Attr("address","0x5F0"), Attr("stub","()")]), "abort", Args([]), -Blks([Blk(Tid(439, "@abort"), Attrs([Attr("address","0x5F0")]), Phis([]), -Defs([Def(Tid(1_047, "%00000417"), Attrs([Attr("address","0x5F0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(1_054, "%0000041e"), Attrs([Attr("address","0x5F4"), -Attr("insn","ldr x17, [x16, #0x18]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(24,64)),LittleEndian(),64)), -Def(Tid(1_060, "%00000424"), Attrs([Attr("address","0x5F8"), -Attr("insn","add x16, x16, #0x18")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(24,64)))]), Jmps([Call(Tid(1_065, "%00000429"), - Attrs([Attr("address","0x5FC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(1_343, "@call_weak_fn"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x634")]), - "call_weak_fn", Args([Arg(Tid(1_392, "%00000570"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("call_weak_fn_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(443, "@call_weak_fn"), - Attrs([Attr("address","0x634")]), Phis([]), Defs([Def(Tid(446, "%000001be"), - Attrs([Attr("address","0x634"), Attr("insn","adrp x0, #65536")]), - Var("R0",Imm(64)), Int(65536,64)), Def(Tid(453, "%000001c5"), - Attrs([Attr("address","0x638"), Attr("insn","ldr x0, [x0, #0xfd0]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4048,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(459, "%000001cb"), Attrs([Attr("address","0x63C"), -Attr("insn","cbz x0, #0x8")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(457, "%000001c9"))), Goto(Tid(1_376, "%00000560"), Attrs([]), - Int(1,1), Direct(Tid(819, "%00000333")))])), Blk(Tid(457, "%000001c9"), - Attrs([Attr("address","0x644")]), Phis([]), Defs([]), -Jmps([Call(Tid(465, "%000001d1"), Attrs([Attr("address","0x644"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(819, "%00000333"), Attrs([Attr("address","0x640")]), Phis([]), -Defs([]), Jmps([Goto(Tid(822, "%00000336"), Attrs([Attr("address","0x640"), -Attr("insn","b #-0x60")]), Int(1,1), Direct(Tid(820, "@__gmon_start__")))])), -Blk(Tid(820, "@__gmon_start__"), Attrs([Attr("address","0x5E0")]), Phis([]), -Defs([Def(Tid(1_025, "%00000401"), Attrs([Attr("address","0x5E0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(1_032, "%00000408"), Attrs([Attr("address","0x5E4"), -Attr("insn","ldr x17, [x16, #0x10]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(16,64)),LittleEndian(),64)), -Def(Tid(1_038, "%0000040e"), Attrs([Attr("address","0x5E8"), -Attr("insn","add x16, x16, #0x10")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(1_043, "%00000413"), - Attrs([Attr("address","0x5EC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), -Sub(Tid(1_345, "@deregister_tm_clones"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x650")]), - "deregister_tm_clones", Args([Arg(Tid(1_393, "%00000571"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("deregister_tm_clones_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(471, "@deregister_tm_clones"), - Attrs([Attr("address","0x650")]), Phis([]), Defs([Def(Tid(474, "%000001da"), - Attrs([Attr("address","0x650"), Attr("insn","adrp x0, #69632")]), - Var("R0",Imm(64)), Int(69632,64)), Def(Tid(480, "%000001e0"), - Attrs([Attr("address","0x654"), Attr("insn","add x0, x0, #0x30")]), - Var("R0",Imm(64)), PLUS(Var("R0",Imm(64)),Int(48,64))), -Def(Tid(485, "%000001e5"), Attrs([Attr("address","0x658"), -Attr("insn","adrp x1, #69632")]), Var("R1",Imm(64)), Int(69632,64)), -Def(Tid(491, "%000001eb"), Attrs([Attr("address","0x65C"), -Attr("insn","add x1, x1, #0x30")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(48,64))), Def(Tid(497, "%000001f1"), - Attrs([Attr("address","0x660"), Attr("insn","cmp x1, x0")]), - Var("#1",Imm(64)), NOT(Var("R0",Imm(64)))), Def(Tid(502, "%000001f6"), - Attrs([Attr("address","0x660"), Attr("insn","cmp x1, x0")]), - Var("#2",Imm(64)), PLUS(Var("R1",Imm(64)),NOT(Var("R0",Imm(64))))), -Def(Tid(508, "%000001fc"), Attrs([Attr("address","0x660"), -Attr("insn","cmp x1, x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#2",Imm(64)),Int(1,64))),PLUS(PLUS(SIGNED(65,Var("R1",Imm(64))),SIGNED(65,Var("#1",Imm(64)))),Int(1,65)))), -Def(Tid(514, "%00000202"), Attrs([Attr("address","0x660"), -Attr("insn","cmp x1, x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#2",Imm(64)),Int(1,64))),PLUS(PLUS(UNSIGNED(65,Var("R1",Imm(64))),UNSIGNED(65,Var("#1",Imm(64)))),Int(1,65)))), -Def(Tid(518, "%00000206"), Attrs([Attr("address","0x660"), -Attr("insn","cmp x1, x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#2",Imm(64)),Int(1,64)),Int(0,64))), Def(Tid(522, "%0000020a"), - Attrs([Attr("address","0x660"), Attr("insn","cmp x1, x0")]), - Var("NF",Imm(1)), Extract(63,63,PLUS(Var("#2",Imm(64)),Int(1,64))))]), -Jmps([Goto(Tid(528, "%00000210"), Attrs([Attr("address","0x664"), -Attr("insn","b.eq #0x18")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(526, "%0000020e"))), Goto(Tid(1_377, "%00000561"), Attrs([]), - Int(1,1), Direct(Tid(789, "%00000315")))])), Blk(Tid(789, "%00000315"), - Attrs([Attr("address","0x668")]), Phis([]), Defs([Def(Tid(792, "%00000318"), - Attrs([Attr("address","0x668"), Attr("insn","adrp x1, #65536")]), - Var("R1",Imm(64)), Int(65536,64)), Def(Tid(799, "%0000031f"), - Attrs([Attr("address","0x66C"), Attr("insn","ldr x1, [x1, #0xfc0]")]), - Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R1",Imm(64)),Int(4032,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(804, "%00000324"), Attrs([Attr("address","0x670"), -Attr("insn","cbz x1, #0xc")]), EQ(Var("R1",Imm(64)),Int(0,64)), -Direct(Tid(526, "%0000020e"))), Goto(Tid(1_378, "%00000562"), Attrs([]), - Int(1,1), Direct(Tid(808, "%00000328")))])), Blk(Tid(526, "%0000020e"), - Attrs([Attr("address","0x67C")]), Phis([]), Defs([]), -Jmps([Call(Tid(534, "%00000216"), Attrs([Attr("address","0x67C"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(808, "%00000328"), Attrs([Attr("address","0x674")]), Phis([]), -Defs([Def(Tid(812, "%0000032c"), Attrs([Attr("address","0x674"), -Attr("insn","mov x16, x1")]), Var("R16",Imm(64)), Var("R1",Imm(64)))]), -Jmps([Call(Tid(817, "%00000331"), Attrs([Attr("address","0x678"), -Attr("insn","br x16")]), Int(1,1), (Indirect(Var("R16",Imm(64))),))]))])), -Sub(Tid(1_348, "@frame_dummy"), Attrs([Attr("c.proto","signed (*)(void)"), -Attr("address","0x710")]), "frame_dummy", Args([Arg(Tid(1_394, "%00000572"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("frame_dummy_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(686, "@frame_dummy"), - Attrs([Attr("address","0x710")]), Phis([]), Defs([]), -Jmps([Call(Tid(688, "%000002b0"), Attrs([Attr("address","0x710"), -Attr("insn","b #-0x90")]), Int(1,1), -(Direct(Tid(1_350, "@register_tm_clones")),))]))])), Sub(Tid(1_349, "@main"), - Attrs([Attr("c.proto","signed (*)(signed argc, const char** argv)"), -Attr("address","0x714")]), "main", Args([Arg(Tid(1_395, "%00000573"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("main_argc",Imm(32)), -LOW(32,Var("R0",Imm(64))), In()), Arg(Tid(1_396, "%00000574"), - Attrs([Attr("c.layout","**[char : 8]"), Attr("c.data","Top:u8 ptr ptr"), -Attr("c.type"," const char**")]), Var("main_argv",Imm(64)), -Var("R1",Imm(64)), Both()), Arg(Tid(1_397, "%00000575"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("main_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(690, "@main"), - Attrs([Attr("address","0x714")]), Phis([]), Defs([Def(Tid(693, "%000002b5"), - Attrs([Attr("address","0x714"), Attr("insn","mov w0, wzr")]), - Var("R0",Imm(64)), Int(0,64))]), Jmps([Call(Tid(698, "%000002ba"), - Attrs([Attr("address","0x718"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), -Sub(Tid(1_350, "@register_tm_clones"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x680")]), - "register_tm_clones", Args([Arg(Tid(1_398, "%00000576"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("register_tm_clones_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(536, "@register_tm_clones"), Attrs([Attr("address","0x680")]), - Phis([]), Defs([Def(Tid(539, "%0000021b"), Attrs([Attr("address","0x680"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(545, "%00000221"), Attrs([Attr("address","0x684"), -Attr("insn","add x0, x0, #0x30")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(48,64))), Def(Tid(550, "%00000226"), - Attrs([Attr("address","0x688"), Attr("insn","adrp x1, #69632")]), - Var("R1",Imm(64)), Int(69632,64)), Def(Tid(556, "%0000022c"), - Attrs([Attr("address","0x68C"), Attr("insn","add x1, x1, #0x30")]), - Var("R1",Imm(64)), PLUS(Var("R1",Imm(64)),Int(48,64))), -Def(Tid(563, "%00000233"), Attrs([Attr("address","0x690"), -Attr("insn","sub x1, x1, x0")]), Var("R1",Imm(64)), -PLUS(PLUS(Var("R1",Imm(64)),NOT(Var("R0",Imm(64)))),Int(1,64))), -Def(Tid(569, "%00000239"), Attrs([Attr("address","0x694"), -Attr("insn","lsr x2, x1, #63")]), Var("R2",Imm(64)), -Concat(Int(0,63),Extract(63,63,Var("R1",Imm(64))))), -Def(Tid(576, "%00000240"), Attrs([Attr("address","0x698"), -Attr("insn","add x1, x2, x1, asr #3")]), Var("R1",Imm(64)), -PLUS(Var("R2",Imm(64)),ARSHIFT(Var("R1",Imm(64)),Int(3,3)))), -Def(Tid(582, "%00000246"), Attrs([Attr("address","0x69C"), -Attr("insn","asr x1, x1, #1")]), Var("R1",Imm(64)), -SIGNED(64,Extract(63,1,Var("R1",Imm(64)))))]), -Jmps([Goto(Tid(588, "%0000024c"), Attrs([Attr("address","0x6A0"), -Attr("insn","cbz x1, #0x18")]), EQ(Var("R1",Imm(64)),Int(0,64)), -Direct(Tid(586, "%0000024a"))), Goto(Tid(1_379, "%00000563"), Attrs([]), - Int(1,1), Direct(Tid(759, "%000002f7")))])), Blk(Tid(759, "%000002f7"), - Attrs([Attr("address","0x6A4")]), Phis([]), Defs([Def(Tid(762, "%000002fa"), - Attrs([Attr("address","0x6A4"), Attr("insn","adrp x2, #65536")]), - Var("R2",Imm(64)), Int(65536,64)), Def(Tid(769, "%00000301"), - Attrs([Attr("address","0x6A8"), Attr("insn","ldr x2, [x2, #0xfe0]")]), - Var("R2",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R2",Imm(64)),Int(4064,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(774, "%00000306"), Attrs([Attr("address","0x6AC"), -Attr("insn","cbz x2, #0xc")]), EQ(Var("R2",Imm(64)),Int(0,64)), -Direct(Tid(586, "%0000024a"))), Goto(Tid(1_380, "%00000564"), Attrs([]), - Int(1,1), Direct(Tid(778, "%0000030a")))])), Blk(Tid(586, "%0000024a"), - Attrs([Attr("address","0x6B8")]), Phis([]), Defs([]), -Jmps([Call(Tid(594, "%00000252"), Attrs([Attr("address","0x6B8"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(778, "%0000030a"), Attrs([Attr("address","0x6B0")]), Phis([]), -Defs([Def(Tid(782, "%0000030e"), Attrs([Attr("address","0x6B0"), -Attr("insn","mov x16, x2")]), Var("R16",Imm(64)), Var("R2",Imm(64)))]), -Jmps([Call(Tid(787, "%00000313"), Attrs([Attr("address","0x6B4"), -Attr("insn","br x16")]), Int(1,1), -(Indirect(Var("R16",Imm(64))),))]))]))]))) \ No newline at end of file diff --git a/src/test/incorrect/iflocal/clang_O2/iflocal.bir b/src/test/incorrect/iflocal/clang_O2/iflocal.bir deleted file mode 100644 index cf466653b..000000000 --- a/src/test/incorrect/iflocal/clang_O2/iflocal.bir +++ /dev/null @@ -1,224 +0,0 @@ -00000565: program -00000533: sub __cxa_finalize(__cxa_finalize_result) -00000566: __cxa_finalize_result :: out u32 = low:32[R0] - -000002f3: -000003eb: R16 := 0x11000 -000003f2: R17 := mem[R16 + 8, el]:u64 -000003f8: R16 := R16 + 8 -000003fd: call R17 with noreturn - -00000534: sub __do_global_dtors_aux(__do_global_dtors_aux_result) -00000567: __do_global_dtors_aux_result :: out u32 = low:32[R0] - -00000256: -0000025a: #3 := R31 - 0x20 -00000260: mem := mem with [#3, el]:u64 <- R29 -00000266: mem := mem with [#3 + 8, el]:u64 <- R30 -0000026a: R31 := #3 -00000270: R29 := R31 -00000278: mem := mem with [R31 + 0x10, el]:u64 <- R19 -0000027d: R19 := 0x11000 -00000284: R0 := pad:64[mem[R19 + 0x30]] -0000028b: when 31:0[R0] <> 0 goto %00000289 -0000055b: goto %000002bc - -000002bc: -000002bf: R0 := 0x10000 -000002c6: R0 := mem[R0 + 0xFC8, el]:u64 -000002cc: when R0 = 0 goto %000002ca -0000055c: goto %000002e3 - -000002e3: -000002e6: R0 := 0x11000 -000002ed: R0 := mem[R0 + 0x28, el]:u64 -000002f2: R30 := 0x6F0 -000002f5: call @__cxa_finalize with return %000002ca - -000002ca: -000002d2: R30 := 0x6F4 -000002d4: call @deregister_tm_clones with return %000002d6 - -000002d6: -000002d9: R0 := 1 -000002e1: mem := mem with [R19 + 0x30] <- 7:0[R0] -0000055d: goto %00000289 - -00000289: -00000293: R19 := mem[R31 + 0x10, el]:u64 -0000029a: R29 := mem[R31, el]:u64 -0000029f: R30 := mem[R31 + 8, el]:u64 -000002a3: R31 := R31 + 0x20 -000002a8: call R30 with noreturn - -00000538: sub __libc_start_main(__libc_start_main_main, __libc_start_main_arg2, __libc_start_main_arg3, __libc_start_main_auxv, __libc_start_main_result) -00000568: __libc_start_main_main :: in u64 = R0 -00000569: __libc_start_main_arg2 :: in u32 = low:32[R1] -0000056a: __libc_start_main_arg3 :: in out u64 = R2 -0000056b: __libc_start_main_auxv :: in out u64 = R3 -0000056c: __libc_start_main_result :: out u32 = low:32[R0] - -000001af: -000003d5: R16 := 0x11000 -000003dc: R17 := mem[R16, el]:u64 -000003e2: R16 := R16 -000003e7: call R17 with noreturn - -00000539: sub _fini(_fini_result) -0000056d: _fini_result :: out u32 = low:32[R0] - -0000001f: -00000025: #0 := R31 - 0x10 -0000002b: mem := mem with [#0, el]:u64 <- R29 -00000031: mem := mem with [#0 + 8, el]:u64 <- R30 -00000035: R31 := #0 -0000003b: R29 := R31 -00000042: R29 := mem[R31, el]:u64 -00000047: R30 := mem[R31 + 8, el]:u64 -0000004b: R31 := R31 + 0x10 -00000050: call R30 with noreturn - -0000053a: sub _init(_init_result) -0000056e: _init_result :: out u32 = low:32[R0] - -00000493: -00000499: #5 := R31 - 0x10 -0000049f: mem := mem with [#5, el]:u64 <- R29 -000004a5: mem := mem with [#5 + 8, el]:u64 <- R30 -000004a9: R31 := #5 -000004af: R29 := R31 -000004b4: R30 := 0x590 -000004b6: call @call_weak_fn with return %000004b8 - -000004b8: -000004bd: R29 := mem[R31, el]:u64 -000004c2: R30 := mem[R31 + 8, el]:u64 -000004c6: R31 := R31 + 0x10 -000004cb: call R30 with noreturn - -0000053b: sub _start(_start_result) -0000056f: _start_result :: out u32 = low:32[R0] - -00000170: -00000175: R29 := 0 -0000017a: R30 := 0 -00000180: R5 := R0 -00000187: R1 := mem[R31, el]:u64 -0000018d: R2 := R31 + 8 -00000193: R6 := R31 -00000198: R0 := 0x10000 -0000019f: R0 := mem[R0 + 0xFD8, el]:u64 -000001a4: R3 := 0 -000001a9: R4 := 0 -000001ae: R30 := 0x630 -000001b1: call @__libc_start_main with return %000001b3 - -000001b3: -000001b6: R30 := 0x634 -000001b9: call @abort with return %0000055e - -0000055e: -0000055f: call @call_weak_fn with noreturn - -0000053e: sub abort() - - -000001b7: -00000417: R16 := 0x11000 -0000041e: R17 := mem[R16 + 0x18, el]:u64 -00000424: R16 := R16 + 0x18 -00000429: call R17 with noreturn - -0000053f: sub call_weak_fn(call_weak_fn_result) -00000570: call_weak_fn_result :: out u32 = low:32[R0] - -000001bb: -000001be: R0 := 0x10000 -000001c5: R0 := mem[R0 + 0xFD0, el]:u64 -000001cb: when R0 = 0 goto %000001c9 -00000560: goto %00000333 - -000001c9: -000001d1: call R30 with noreturn - -00000333: -00000336: goto @__gmon_start__ - -00000334: -00000401: R16 := 0x11000 -00000408: R17 := mem[R16 + 0x10, el]:u64 -0000040e: R16 := R16 + 0x10 -00000413: call R17 with noreturn - -00000541: sub deregister_tm_clones(deregister_tm_clones_result) -00000571: deregister_tm_clones_result :: out u32 = low:32[R0] - -000001d7: -000001da: R0 := 0x11000 -000001e0: R0 := R0 + 0x30 -000001e5: R1 := 0x11000 -000001eb: R1 := R1 + 0x30 -000001f1: #1 := ~R0 -000001f6: #2 := R1 + ~R0 -000001fc: VF := extend:65[#2 + 1] <> extend:65[R1] + extend:65[#1] + 1 -00000202: CF := pad:65[#2 + 1] <> pad:65[R1] + pad:65[#1] + 1 -00000206: ZF := #2 + 1 = 0 -0000020a: NF := 63:63[#2 + 1] -00000210: when ZF goto %0000020e -00000561: goto %00000315 - -00000315: -00000318: R1 := 0x10000 -0000031f: R1 := mem[R1 + 0xFC0, el]:u64 -00000324: when R1 = 0 goto %0000020e -00000562: goto %00000328 - -0000020e: -00000216: call R30 with noreturn - -00000328: -0000032c: R16 := R1 -00000331: call R16 with noreturn - -00000544: sub frame_dummy(frame_dummy_result) -00000572: frame_dummy_result :: out u32 = low:32[R0] - -000002ae: -000002b0: call @register_tm_clones with noreturn - -00000545: sub main(main_argc, main_argv, main_result) -00000573: main_argc :: in u32 = low:32[R0] -00000574: main_argv :: in out u64 = R1 -00000575: main_result :: out u32 = low:32[R0] - -000002b2: -000002b5: R0 := 0 -000002ba: call R30 with noreturn - -00000546: sub register_tm_clones(register_tm_clones_result) -00000576: register_tm_clones_result :: out u32 = low:32[R0] - -00000218: -0000021b: R0 := 0x11000 -00000221: R0 := R0 + 0x30 -00000226: R1 := 0x11000 -0000022c: R1 := R1 + 0x30 -00000233: R1 := R1 + ~R0 + 1 -00000239: R2 := 0.63:63[R1] -00000240: R1 := R2 + (R1 ~>> 3) -00000246: R1 := extend:64[63:1[R1]] -0000024c: when R1 = 0 goto %0000024a -00000563: goto %000002f7 - -000002f7: -000002fa: R2 := 0x10000 -00000301: R2 := mem[R2 + 0xFE0, el]:u64 -00000306: when R2 = 0 goto %0000024a -00000564: goto %0000030a - -0000024a: -00000252: call R30 with noreturn - -0000030a: -0000030e: R16 := R2 -00000313: call R16 with noreturn diff --git a/src/test/incorrect/iflocal/clang_O2/iflocal.relf b/src/test/incorrect/iflocal/clang_O2/iflocal.relf deleted file mode 100644 index 92c0d61f7..000000000 --- a/src/test/incorrect/iflocal/clang_O2/iflocal.relf +++ /dev/null @@ -1,121 +0,0 @@ - -Relocation section '.rela.dyn' at offset 0x460 contains 8 entries: - Offset Info Type Symbol's Value Symbol's Name + Addend -0000000000010dc8 0000000000000403 R_AARCH64_RELATIVE 710 -0000000000010dd0 0000000000000403 R_AARCH64_RELATIVE 6c0 -0000000000010fd8 0000000000000403 R_AARCH64_RELATIVE 714 -0000000000011028 0000000000000403 R_AARCH64_RELATIVE 11028 -0000000000010fc0 0000000400000401 R_AARCH64_GLOB_DAT 0000000000000000 _ITM_deregisterTMCloneTable + 0 -0000000000010fc8 0000000500000401 R_AARCH64_GLOB_DAT 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0 -0000000000010fd0 0000000600000401 R_AARCH64_GLOB_DAT 0000000000000000 __gmon_start__ + 0 -0000000000010fe0 0000000800000401 R_AARCH64_GLOB_DAT 0000000000000000 _ITM_registerTMCloneTable + 0 - -Relocation section '.rela.plt' at offset 0x520 contains 4 entries: - Offset Info Type Symbol's Value Symbol's Name + Addend -0000000000011000 0000000300000402 R_AARCH64_JUMP_SLOT 0000000000000000 __libc_start_main@GLIBC_2.34 + 0 -0000000000011008 0000000500000402 R_AARCH64_JUMP_SLOT 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0 -0000000000011010 0000000600000402 R_AARCH64_JUMP_SLOT 0000000000000000 __gmon_start__ + 0 -0000000000011018 0000000700000402 R_AARCH64_JUMP_SLOT 0000000000000000 abort@GLIBC_2.17 + 0 - -Symbol table '.dynsym' contains 9 entries: - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000580 0 SECTION LOCAL DEFAULT 11 .init - 2: 0000000000011020 0 SECTION LOCAL DEFAULT 23 .data - 3: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.34 (2) - 4: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable - 5: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 (3) - 6: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 7: 0000000000000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.17 (3) - 8: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - -Symbol table '.symtab' contains 88 entries: - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000238 0 SECTION LOCAL DEFAULT 1 .interp - 2: 0000000000000254 0 SECTION LOCAL DEFAULT 2 .note.gnu.build-id - 3: 0000000000000278 0 SECTION LOCAL DEFAULT 3 .note.ABI-tag - 4: 0000000000000298 0 SECTION LOCAL DEFAULT 4 .gnu.hash - 5: 00000000000002b8 0 SECTION LOCAL DEFAULT 5 .dynsym - 6: 0000000000000390 0 SECTION LOCAL DEFAULT 6 .dynstr - 7: 000000000000041e 0 SECTION LOCAL DEFAULT 7 .gnu.version - 8: 0000000000000430 0 SECTION LOCAL DEFAULT 8 .gnu.version_r - 9: 0000000000000460 0 SECTION LOCAL DEFAULT 9 .rela.dyn - 10: 0000000000000520 0 SECTION LOCAL DEFAULT 10 .rela.plt - 11: 0000000000000580 0 SECTION LOCAL DEFAULT 11 .init - 12: 00000000000005a0 0 SECTION LOCAL DEFAULT 12 .plt - 13: 0000000000000600 0 SECTION LOCAL DEFAULT 13 .text - 14: 000000000000071c 0 SECTION LOCAL DEFAULT 14 .fini - 15: 0000000000000730 0 SECTION LOCAL DEFAULT 15 .rodata - 16: 0000000000000734 0 SECTION LOCAL DEFAULT 16 .eh_frame_hdr - 17: 0000000000000770 0 SECTION LOCAL DEFAULT 17 .eh_frame - 18: 0000000000010dc8 0 SECTION LOCAL DEFAULT 18 .init_array - 19: 0000000000010dd0 0 SECTION LOCAL DEFAULT 19 .fini_array - 20: 0000000000010dd8 0 SECTION LOCAL DEFAULT 20 .dynamic - 21: 0000000000010fb8 0 SECTION LOCAL DEFAULT 21 .got - 22: 0000000000010fe8 0 SECTION LOCAL DEFAULT 22 .got.plt - 23: 0000000000011020 0 SECTION LOCAL DEFAULT 23 .data - 24: 0000000000011030 0 SECTION LOCAL DEFAULT 24 .bss - 25: 0000000000000000 0 SECTION LOCAL DEFAULT 25 .comment - 26: 0000000000000000 0 FILE LOCAL DEFAULT ABS Scrt1.o - 27: 0000000000000278 0 NOTYPE LOCAL DEFAULT 3 $d - 28: 0000000000000278 32 OBJECT LOCAL DEFAULT 3 __abi_tag - 29: 0000000000000600 0 NOTYPE LOCAL DEFAULT 13 $x - 30: 0000000000000784 0 NOTYPE LOCAL DEFAULT 17 $d - 31: 0000000000000730 0 NOTYPE LOCAL DEFAULT 15 $d - 32: 0000000000000000 0 FILE LOCAL DEFAULT ABS crti.o - 33: 0000000000000634 0 NOTYPE LOCAL DEFAULT 13 $x - 34: 0000000000000634 20 FUNC LOCAL DEFAULT 13 call_weak_fn - 35: 0000000000000580 0 NOTYPE LOCAL DEFAULT 11 $x - 36: 000000000000071c 0 NOTYPE LOCAL DEFAULT 14 $x - 37: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtn.o - 38: 0000000000000590 0 NOTYPE LOCAL DEFAULT 11 $x - 39: 0000000000000728 0 NOTYPE LOCAL DEFAULT 14 $x - 40: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 41: 0000000000000650 0 NOTYPE LOCAL DEFAULT 13 $x - 42: 0000000000000650 0 FUNC LOCAL DEFAULT 13 deregister_tm_clones - 43: 0000000000000680 0 FUNC LOCAL DEFAULT 13 register_tm_clones - 44: 0000000000011028 0 NOTYPE LOCAL DEFAULT 23 $d - 45: 00000000000006c0 0 FUNC LOCAL DEFAULT 13 __do_global_dtors_aux - 46: 0000000000011030 1 OBJECT LOCAL DEFAULT 24 completed.0 - 47: 0000000000010dd0 0 NOTYPE LOCAL DEFAULT 19 $d - 48: 0000000000010dd0 0 OBJECT LOCAL DEFAULT 19 __do_global_dtors_aux_fini_array_entry - 49: 0000000000000710 0 FUNC LOCAL DEFAULT 13 frame_dummy - 50: 0000000000010dc8 0 NOTYPE LOCAL DEFAULT 18 $d - 51: 0000000000010dc8 0 OBJECT LOCAL DEFAULT 18 __frame_dummy_init_array_entry - 52: 0000000000000798 0 NOTYPE LOCAL DEFAULT 17 $d - 53: 0000000000011030 0 NOTYPE LOCAL DEFAULT 24 $d - 54: 0000000000000000 0 FILE LOCAL DEFAULT ABS iflocal.c - 55: 0000000000000714 0 NOTYPE LOCAL DEFAULT 13 $x.0 - 56: 000000000000002a 0 NOTYPE LOCAL DEFAULT 25 $d.1 - 57: 00000000000007f8 0 NOTYPE LOCAL DEFAULT 17 $d.2 - 58: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 59: 0000000000000820 0 NOTYPE LOCAL DEFAULT 17 $d - 60: 0000000000000820 0 OBJECT LOCAL DEFAULT 17 __FRAME_END__ - 61: 0000000000000000 0 FILE LOCAL DEFAULT ABS - 62: 0000000000010dd8 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC - 63: 0000000000000734 0 NOTYPE LOCAL DEFAULT 16 __GNU_EH_FRAME_HDR - 64: 0000000000010fb8 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ - 65: 00000000000005a0 0 NOTYPE LOCAL DEFAULT 12 $x - 66: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.34 - 67: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable - 68: 0000000000011020 0 NOTYPE WEAK DEFAULT 23 data_start - 69: 0000000000011030 0 NOTYPE GLOBAL DEFAULT 24 __bss_start__ - 70: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 - 71: 0000000000011038 0 NOTYPE GLOBAL DEFAULT 24 _bss_end__ - 72: 0000000000011030 0 NOTYPE GLOBAL DEFAULT 23 _edata - 73: 000000000000071c 0 FUNC GLOBAL HIDDEN 14 _fini - 74: 0000000000011038 0 NOTYPE GLOBAL DEFAULT 24 __bss_end__ - 75: 0000000000011020 0 NOTYPE GLOBAL DEFAULT 23 __data_start - 76: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 77: 0000000000011028 0 OBJECT GLOBAL HIDDEN 23 __dso_handle - 78: 0000000000000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.17 - 79: 0000000000000730 4 OBJECT GLOBAL DEFAULT 15 _IO_stdin_used - 80: 0000000000011038 0 NOTYPE GLOBAL DEFAULT 24 _end - 81: 0000000000000600 52 FUNC GLOBAL DEFAULT 13 _start - 82: 0000000000011038 0 NOTYPE GLOBAL DEFAULT 24 __end__ - 83: 0000000000011030 0 NOTYPE GLOBAL DEFAULT 24 __bss_start - 84: 0000000000000714 8 FUNC GLOBAL DEFAULT 13 main - 85: 0000000000011030 0 OBJECT GLOBAL HIDDEN 23 __TMC_END__ - 86: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - 87: 0000000000000580 0 FUNC GLOBAL HIDDEN 11 _init diff --git a/src/test/incorrect/iflocal/gcc_O2/iflocal.adt b/src/test/incorrect/iflocal/gcc_O2/iflocal.adt deleted file mode 100644 index 9a65fd679..000000000 --- a/src/test/incorrect/iflocal/gcc_O2/iflocal.adt +++ /dev/null @@ -1,485 +0,0 @@ -Project(Attrs([Attr("filename","\"gcc_O2/iflocal.out\""), -Attr("image-specification","(declare abi (name str))\n(declare arch (name str))\n(declare base-address (addr int))\n(declare bias (off int))\n(declare bits (size int))\n(declare code-region (addr int) (size int) (off int))\n(declare code-start (addr int))\n(declare entry-point (addr int))\n(declare external-reference (addr int) (name str))\n(declare format (name str))\n(declare is-executable (flag bool))\n(declare is-little-endian (flag bool))\n(declare llvm:base-address (addr int))\n(declare llvm:code-entry (name str) (off int) (size int))\n(declare llvm:coff-import-library (name str))\n(declare llvm:coff-virtual-section-header (name str) (addr int) (size int))\n(declare llvm:elf-program-header (name str) (off int) (size int))\n(declare llvm:elf-program-header-flags (name str) (ld bool) (r bool) \n (w bool) (x bool))\n(declare llvm:elf-virtual-program-header (name str) (addr int) (size int))\n(declare llvm:entry-point (addr int))\n(declare llvm:macho-symbol (name str) (value int))\n(declare llvm:name-reference (at int) (name str))\n(declare llvm:relocation (at int) (addr int))\n(declare llvm:section-entry (name str) (addr int) (size int) (off int))\n(declare llvm:section-flags (name str) (r bool) (w bool) (x bool))\n(declare llvm:segment-command (name str) (off int) (size int))\n(declare llvm:segment-command-flags (name str) (r bool) (w bool) (x bool))\n(declare llvm:symbol-entry (name str) (addr int) (size int) (off int)\n (value int))\n(declare llvm:virtual-segment-command (name str) (addr int) (size int))\n(declare mapped (addr int) (size int) (off int))\n(declare named-region (addr int) (size int) (name str))\n(declare named-symbol (addr int) (name str))\n(declare require (name str))\n(declare section (addr int) (size int))\n(declare segment (addr int) (size int) (r bool) (w bool) (x bool))\n(declare subarch (name str))\n(declare symbol-chunk (addr int) (size int) (root int))\n(declare symbol-value (addr int) (value int))\n(declare system (name str))\n(declare vendor (name str))\n\n(abi unknown)\n(arch aarch64)\n(base-address 0)\n(bias 0)\n(bits 64)\n(code-region 1876 20 1876)\n(code-region 1536 340 1536)\n(code-region 1440 96 1440)\n(code-region 1408 24 1408)\n(code-start 1652)\n(code-start 1600)\n(code-start 1536)\n(entry-point 1600)\n(external-reference 69592 _ITM_deregisterTMCloneTable)\n(external-reference 69600 __cxa_finalize)\n(external-reference 69608 __gmon_start__)\n(external-reference 69624 _ITM_registerTMCloneTable)\n(external-reference 69552 __libc_start_main)\n(external-reference 69560 __cxa_finalize)\n(external-reference 69568 __gmon_start__)\n(external-reference 69576 abort)\n(format elf)\n(is-executable true)\n(is-little-endian true)\n(llvm:base-address 0)\n(llvm:code-entry abort 0 0)\n(llvm:code-entry __cxa_finalize 0 0)\n(llvm:code-entry __libc_start_main 0 0)\n(llvm:code-entry _init 1408 0)\n(llvm:code-entry main 1536 8)\n(llvm:code-entry _start 1600 52)\n(llvm:code-entry abort@GLIBC_2.17 0 0)\n(llvm:code-entry _fini 1876 0)\n(llvm:code-entry __cxa_finalize@GLIBC_2.17 0 0)\n(llvm:code-entry __libc_start_main@GLIBC_2.34 0 0)\n(llvm:code-entry frame_dummy 1872 0)\n(llvm:code-entry __do_global_dtors_aux 1792 0)\n(llvm:code-entry register_tm_clones 1728 0)\n(llvm:code-entry deregister_tm_clones 1680 0)\n(llvm:code-entry call_weak_fn 1652 20)\n(llvm:code-entry .fini 1876 20)\n(llvm:code-entry .text 1536 340)\n(llvm:code-entry .plt 1440 96)\n(llvm:code-entry .init 1408 24)\n(llvm:elf-program-header 08 3480 616)\n(llvm:elf-program-header 07 0 0)\n(llvm:elf-program-header 06 1900 60)\n(llvm:elf-program-header 05 596 68)\n(llvm:elf-program-header 04 3496 496)\n(llvm:elf-program-header 03 3480 632)\n(llvm:elf-program-header 02 0 2120)\n(llvm:elf-program-header 01 568 27)\n(llvm:elf-program-header 00 64 504)\n(llvm:elf-program-header-flags 08 false true false false)\n(llvm:elf-program-header-flags 07 false true true false)\n(llvm:elf-program-header-flags 06 false true false false)\n(llvm:elf-program-header-flags 05 false true false false)\n(llvm:elf-program-header-flags 04 false true true false)\n(llvm:elf-program-header-flags 03 true true true false)\n(llvm:elf-program-header-flags 02 true true false true)\n(llvm:elf-program-header-flags 01 false true false false)\n(llvm:elf-program-header-flags 00 false true false false)\n(llvm:elf-virtual-program-header 08 69016 616)\n(llvm:elf-virtual-program-header 07 0 0)\n(llvm:elf-virtual-program-header 06 1900 60)\n(llvm:elf-virtual-program-header 05 596 68)\n(llvm:elf-virtual-program-header 04 69032 496)\n(llvm:elf-virtual-program-header 03 69016 640)\n(llvm:elf-virtual-program-header 02 0 2120)\n(llvm:elf-virtual-program-header 01 568 27)\n(llvm:elf-virtual-program-header 00 64 504)\n(llvm:entry-point 1600)\n(llvm:name-reference 69576 abort)\n(llvm:name-reference 69568 __gmon_start__)\n(llvm:name-reference 69560 __cxa_finalize)\n(llvm:name-reference 69552 __libc_start_main)\n(llvm:name-reference 69624 _ITM_registerTMCloneTable)\n(llvm:name-reference 69608 __gmon_start__)\n(llvm:name-reference 69600 __cxa_finalize)\n(llvm:name-reference 69592 _ITM_deregisterTMCloneTable)\n(llvm:section-entry .shstrtab 0 250 6767)\n(llvm:section-entry .strtab 0 543 6224)\n(llvm:section-entry .symtab 0 2064 4160)\n(llvm:section-entry .comment 0 43 4112)\n(llvm:section-entry .bss 69648 8 4112)\n(llvm:section-entry .data 69632 16 4096)\n(llvm:section-entry .got 69528 104 3992)\n(llvm:section-entry .dynamic 69032 496 3496)\n(llvm:section-entry .fini_array 69024 8 3488)\n(llvm:section-entry .init_array 69016 8 3480)\n(llvm:section-entry .eh_frame 1960 160 1960)\n(llvm:section-entry .eh_frame_hdr 1900 60 1900)\n(llvm:section-entry .rodata 1896 4 1896)\n(llvm:section-entry .fini 1876 20 1876)\n(llvm:section-entry .text 1536 340 1536)\n(llvm:section-entry .plt 1440 96 1440)\n(llvm:section-entry .init 1408 24 1408)\n(llvm:section-entry .rela.plt 1312 96 1312)\n(llvm:section-entry .rela.dyn 1120 192 1120)\n(llvm:section-entry .gnu.version_r 1072 48 1072)\n(llvm:section-entry .gnu.version 1054 18 1054)\n(llvm:section-entry .dynstr 912 141 912)\n(llvm:section-entry .dynsym 696 216 696)\n(llvm:section-entry .gnu.hash 664 28 664)\n(llvm:section-entry .note.ABI-tag 632 32 632)\n(llvm:section-entry .note.gnu.build-id 596 36 596)\n(llvm:section-entry .interp 568 27 568)\n(llvm:section-flags .shstrtab true false false)\n(llvm:section-flags .strtab true false false)\n(llvm:section-flags .symtab true false false)\n(llvm:section-flags .comment true false false)\n(llvm:section-flags .bss true true false)\n(llvm:section-flags .data true true false)\n(llvm:section-flags .got true true false)\n(llvm:section-flags .dynamic true true false)\n(llvm:section-flags .fini_array true true false)\n(llvm:section-flags .init_array true true false)\n(llvm:section-flags .eh_frame true false false)\n(llvm:section-flags .eh_frame_hdr true false false)\n(llvm:section-flags .rodata true false false)\n(llvm:section-flags .fini true false true)\n(llvm:section-flags .text true false true)\n(llvm:section-flags .plt true false true)\n(llvm:section-flags .init true false true)\n(llvm:section-flags .rela.plt true false false)\n(llvm:section-flags .rela.dyn true false false)\n(llvm:section-flags .gnu.version_r true false false)\n(llvm:section-flags .gnu.version true false false)\n(llvm:section-flags .dynstr true false false)\n(llvm:section-flags .dynsym true false false)\n(llvm:section-flags .gnu.hash true false false)\n(llvm:section-flags .note.ABI-tag true false false)\n(llvm:section-flags .note.gnu.build-id true false false)\n(llvm:section-flags .interp true false false)\n(llvm:symbol-entry abort 0 0 0 0)\n(llvm:symbol-entry __cxa_finalize 0 0 0 0)\n(llvm:symbol-entry __libc_start_main 0 0 0 0)\n(llvm:symbol-entry _init 1408 0 1408 1408)\n(llvm:symbol-entry main 1536 8 1536 1536)\n(llvm:symbol-entry _start 1600 52 1600 1600)\n(llvm:symbol-entry abort@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry _fini 1876 0 1876 1876)\n(llvm:symbol-entry __cxa_finalize@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry __libc_start_main@GLIBC_2.34 0 0 0 0)\n(llvm:symbol-entry frame_dummy 1872 0 1872 1872)\n(llvm:symbol-entry __do_global_dtors_aux 1792 0 1792 1792)\n(llvm:symbol-entry register_tm_clones 1728 0 1728 1728)\n(llvm:symbol-entry deregister_tm_clones 1680 0 1680 1680)\n(llvm:symbol-entry call_weak_fn 1652 20 1652 1652)\n(mapped 0 2120 0)\n(mapped 69016 632 3480)\n(named-region 0 2120 02)\n(named-region 69016 640 03)\n(named-region 568 27 .interp)\n(named-region 596 36 .note.gnu.build-id)\n(named-region 632 32 .note.ABI-tag)\n(named-region 664 28 .gnu.hash)\n(named-region 696 216 .dynsym)\n(named-region 912 141 .dynstr)\n(named-region 1054 18 .gnu.version)\n(named-region 1072 48 .gnu.version_r)\n(named-region 1120 192 .rela.dyn)\n(named-region 1312 96 .rela.plt)\n(named-region 1408 24 .init)\n(named-region 1440 96 .plt)\n(named-region 1536 340 .text)\n(named-region 1876 20 .fini)\n(named-region 1896 4 .rodata)\n(named-region 1900 60 .eh_frame_hdr)\n(named-region 1960 160 .eh_frame)\n(named-region 69016 8 .init_array)\n(named-region 69024 8 .fini_array)\n(named-region 69032 496 .dynamic)\n(named-region 69528 104 .got)\n(named-region 69632 16 .data)\n(named-region 69648 8 .bss)\n(named-region 0 43 .comment)\n(named-region 0 2064 .symtab)\n(named-region 0 543 .strtab)\n(named-region 0 250 .shstrtab)\n(named-symbol 1652 call_weak_fn)\n(named-symbol 1680 deregister_tm_clones)\n(named-symbol 1728 register_tm_clones)\n(named-symbol 1792 __do_global_dtors_aux)\n(named-symbol 1872 frame_dummy)\n(named-symbol 0 __libc_start_main@GLIBC_2.34)\n(named-symbol 0 __cxa_finalize@GLIBC_2.17)\n(named-symbol 1876 _fini)\n(named-symbol 0 abort@GLIBC_2.17)\n(named-symbol 1600 _start)\n(named-symbol 1536 main)\n(named-symbol 1408 _init)\n(named-symbol 0 __libc_start_main)\n(named-symbol 0 __cxa_finalize)\n(named-symbol 0 abort)\n(require libc.so.6)\n(section 568 27)\n(section 596 36)\n(section 632 32)\n(section 664 28)\n(section 696 216)\n(section 912 141)\n(section 1054 18)\n(section 1072 48)\n(section 1120 192)\n(section 1312 96)\n(section 1408 24)\n(section 1440 96)\n(section 1536 340)\n(section 1876 20)\n(section 1896 4)\n(section 1900 60)\n(section 1960 160)\n(section 69016 8)\n(section 69024 8)\n(section 69032 496)\n(section 69528 104)\n(section 69632 16)\n(section 69648 8)\n(section 0 43)\n(section 0 2064)\n(section 0 543)\n(section 0 250)\n(segment 0 2120 true false true)\n(segment 69016 640 true true false)\n(subarch v8)\n(symbol-chunk 1652 20 1652)\n(symbol-chunk 1600 52 1600)\n(symbol-chunk 1536 8 1536)\n(symbol-value 1652 1652)\n(symbol-value 1680 1680)\n(symbol-value 1728 1728)\n(symbol-value 1792 1792)\n(symbol-value 1872 1872)\n(symbol-value 1876 1876)\n(symbol-value 1600 1600)\n(symbol-value 1536 1536)\n(symbol-value 1408 1408)\n(symbol-value 0 0)\n(system \"\")\n(vendor \"\")\n"), -Attr("abi-name","\"aarch64-linux-gnu-elf\"")]), -Sections([Section(".shstrtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x40\x06\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x70\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1c\x00\x1b\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x08\x00\x00\x00\x00\x00\x00\x48\x08\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x98\x0d\x00\x00\x00\x00\x00\x00\x98\x0d"), -Section(".strtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x40\x06\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x70\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1c\x00\x1b\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x08\x00\x00\x00\x00\x00\x00\x48\x08\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x98\x0d\x00\x00\x00\x00\x00\x00\x98\x0d\x01\x00\x00\x00\x00\x00\x98\x0d\x01\x00\x00\x00\x00\x00\x78\x02\x00\x00\x00\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\xa8\x0d\x00\x00\x00\x00\x00\x00\xa8\x0d\x01\x00\x00\x00\x00\x00\xa8\x0d\x01\x00\x00\x00\x00\x00\xf0\x01\x00\x00\x00\x00\x00\x00\xf0\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x50\xe5\x74\x64\x04\x00\x00\x00\x6c\x07\x00\x00\x00\x00\x00\x00\x6c\x07\x00\x00\x00\x00\x00\x00\x6c\x07\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x51\xe5\x74\x64\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x52\xe5\x74\x64\x04\x00\x00\x00\x98\x0d\x00\x00\x00\x00\x00\x00\x98\x0d\x01\x00\x00\x00\x00\x00\x98\x0d\x01\x00\x00\x00\x00"), -Section(".symtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x40\x06\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x70\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1c\x00\x1b\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x08\x00\x00\x00\x00\x00\x00\x48\x08\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x98\x0d\x00\x00\x00\x00\x00\x00\x98\x0d\x01\x00\x00\x00\x00\x00\x98\x0d\x01\x00\x00\x00\x00\x00\x78\x02\x00\x00\x00\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\xa8\x0d\x00\x00\x00\x00\x00\x00\xa8\x0d\x01\x00\x00\x00\x00\x00\xa8\x0d\x01\x00\x00\x00\x00\x00\xf0\x01\x00\x00\x00\x00\x00\x00\xf0\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x50\xe5\x74\x64\x04\x00\x00\x00\x6c\x07\x00\x00\x00\x00\x00\x00\x6c\x07\x00\x00\x00\x00\x00\x00\x6c\x07\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x51\xe5\x74\x64\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x52\xe5\x74\x64\x04\x00\x00\x00\x98\x0d\x00\x00\x00\x00\x00\x00\x98\x0d\x01\x00\x00\x00\x00\x00\x98\x0d\x01\x00\x00\x00\x00\x00\x68\x02\x00\x00\x00\x00\x00\x00\x68\x02\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00\x00\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\x8d\x22\xde\x8f\x05\x94\x48\x92\xba\x8c\x41\x59\x3e\xf4\xc1\xbf\xfd\x61\x3e\x67\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\x80\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x16\x00\x00\x10\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x5f\x63\x78\x61\x5f\x66\x69\x6e\x61\x6c\x69\x7a\x65\x00\x5f\x5f\x6c\x69\x62\x63\x5f\x73\x74\x61\x72\x74\x5f\x6d\x61\x69\x6e\x00\x61\x62\x6f\x72\x74\x00\x6c\x69\x62\x63\x2e\x73\x6f\x2e\x36\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x31\x37\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x33\x34\x00\x5f\x49\x54\x4d\x5f\x64\x65\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x5f\x5f\x67\x6d\x6f\x6e\x5f\x73\x74\x61\x72\x74\x5f\x5f\x00\x5f\x49\x54\x4d\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x01\x00\x03\x00\x01\x00\x03\x00\x01\x00\x01\x00\x02\x00\x28\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x97\x91\x96\x06\x00\x00\x03\x00\x32\x00\x00\x00\x10\x00\x00\x00\xb4\x91\x96\x06\x00\x00\x02\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x98\x0d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x50\x07\x00\x00\x00\x00\x00\x00\xa0\x0d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\xf0\x0f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x08\x10\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x08\x10\x01\x00\x00\x00\x00\x00\xd8\x0f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x0f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x0f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x0f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x0f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x0f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x0f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x3a\x00\x00\x94\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x7b\xbf\xa9\x90\x00\x00\x90\x11\xd6\x47\xf9\x10\xa2\x3e\x91\x20\x02\x1f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x90\x00\x00\x90\x11\xda\x47\xf9\x10\xc2\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\x90\x11\xde\x47\xf9\x10\xe2\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\x90\x11\xe2\x47\xf9\x10\x02\x3f\x91\x20\x02\x1f\xd6\x90\x00\x00\x90\x11\xe6\x47\xf9\x10\x22\x3f\x91\x20\x02\x1f\xd6\x00\x00\x80\x52\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1d\x00\x80\xd2\x1e\x00\x80\xd2\xe5\x03\x00\xaa\xe1\x03\x40\xf9\xe2\x23\x00\x91\xe6\x03\x00\x91\x80\x00\x00\x90\x00\xf8\x47\xf9\x03\x00\x80\xd2\x04\x00\x80\xd2\xd5\xff\xff\x97\xe0\xff\xff\x97\x80\x00\x00\x90\x00\xf4\x47\xf9\x40\x00\x00\xb4\xd8\xff\xff\x17\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x80\x00\x00\xb0\x00\x40\x00\x91\x81\x00\x00\xb0\x21\x40\x00\x91\x3f\x00\x00\xeb\xc0\x00\x00\x54\x81\x00\x00\x90\x21\xec\x47\xf9\x61\x00\x00\xb4\xf0\x03\x01\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x80\x00\x00\xb0\x00\x40\x00\x91\x81\x00\x00\xb0\x21\x40\x00\x91\x21\x00\x00\xcb\x22\xfc\x7f\xd3\x41\x0c\x81\x8b\x21\xfc\x41\x93\xc1\x00\x00\xb4\x82\x00\x00\x90\x42\xfc\x47\xf9\x62\x00\x00\xb4\xf0\x03\x02\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\xfd\x7b\xbe\xa9\xfd\x03\x00\x91\xf3\x0b\x00\xf9\x93\x00\x00\xb0\x60\x42\x40\x39\x40\x01\x00\x35\x80\x00\x00\x90\x00\xf0\x47\xf9\x80\x00\x00\xb4\x80\x00\x00\xb0\x00\x04\x40\xf9\xa9\xff\xff\x97\xd8\xff\xff\x97\x20\x00\x80\x52\x60\x42\x00\x39\xf3\x0b\x40\xf9\xfd\x7b\xc2\xa8\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\xdc\xff\xff\x17\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6\x01\x00\x02\x00\x01\x1b\x03\x3b\x38\x00\x00\x00\x06\x00\x00\x00\x94\xfe\xff\xff\xc4\x00\x00\x00\xd4\xfe\xff\xff\x50\x00\x00\x00\x24\xff\xff\xff\x64\x00\x00\x00\x54\xff\xff\xff\x78\x00\x00\x00\x94\xff\xff\xff\x8c\x00\x00\x00\xe4\xff\xff\xff\xb0\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x01\x7a\x52\x00\x04\x78\x1e\x01\x1b\x0c\x1f\x00\x10\x00\x00\x00\x18\x00\x00\x00\x7c\xfe\xff\xff\x34\x00\x00\x00\x00\x41\x07\x1e\x10\x00\x00\x00\x2c\x00\x00\x00\xb8\xfe\xff\xff\x30\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x40\x00\x00\x00\xd4\xfe\xff\xff\x3c\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x54\x00\x00\x00\x00\xff\xff\xff\x48\x00\x00\x00\x00\x41\x0e\x20\x9d\x04\x9e\x03"), -Section(".comment", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x40\x06\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x70\x1b\x00"), -Section(".interp", 0x238, "\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00"), -Section(".note.gnu.build-id", 0x254, "\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\x8d\x22\xde\x8f\x05\x94\x48\x92\xba\x8c\x41\x59\x3e\xf4\xc1\xbf\xfd\x61\x3e\x67"), -Section(".note.ABI-tag", 0x278, "\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00"), -Section(".gnu.hash", 0x298, "\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".dynsym", 0x2B8, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\x80\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x16\x00\x00\x10\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".dynstr", 0x390, "\x00\x5f\x5f\x63\x78\x61\x5f\x66\x69\x6e\x61\x6c\x69\x7a\x65\x00\x5f\x5f\x6c\x69\x62\x63\x5f\x73\x74\x61\x72\x74\x5f\x6d\x61\x69\x6e\x00\x61\x62\x6f\x72\x74\x00\x6c\x69\x62\x63\x2e\x73\x6f\x2e\x36\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x31\x37\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x33\x34\x00\x5f\x49\x54\x4d\x5f\x64\x65\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x5f\x5f\x67\x6d\x6f\x6e\x5f\x73\x74\x61\x72\x74\x5f\x5f\x00\x5f\x49\x54\x4d\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00"), -Section(".gnu.version", 0x41E, "\x00\x00\x00\x00\x00\x00\x02\x00\x01\x00\x03\x00\x01\x00\x03\x00\x01\x00"), -Section(".gnu.version_r", 0x430, "\x01\x00\x02\x00\x28\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x97\x91\x96\x06\x00\x00\x03\x00\x32\x00\x00\x00\x10\x00\x00\x00\xb4\x91\x96\x06\x00\x00\x02\x00\x3d\x00\x00\x00\x00\x00\x00\x00"), -Section(".rela.dyn", 0x460, "\x98\x0d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x50\x07\x00\x00\x00\x00\x00\x00\xa0\x0d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\xf0\x0f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x08\x10\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x08\x10\x01\x00\x00\x00\x00\x00\xd8\x0f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x0f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x0f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".rela.plt", 0x520, "\xb0\x0f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x0f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x0f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x0f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".init", 0x580, "\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x3a\x00\x00\x94\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".plt", 0x5A0, "\xf0\x7b\xbf\xa9\x90\x00\x00\x90\x11\xd6\x47\xf9\x10\xa2\x3e\x91\x20\x02\x1f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x90\x00\x00\x90\x11\xda\x47\xf9\x10\xc2\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\x90\x11\xde\x47\xf9\x10\xe2\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\x90\x11\xe2\x47\xf9\x10\x02\x3f\x91\x20\x02\x1f\xd6\x90\x00\x00\x90\x11\xe6\x47\xf9\x10\x22\x3f\x91\x20\x02\x1f\xd6"), -Section(".fini", 0x754, "\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".rodata", 0x768, "\x01\x00\x02\x00"), -Section(".eh_frame_hdr", 0x76C, "\x01\x1b\x03\x3b\x38\x00\x00\x00\x06\x00\x00\x00\x94\xfe\xff\xff\xc4\x00\x00\x00\xd4\xfe\xff\xff\x50\x00\x00\x00\x24\xff\xff\xff\x64\x00\x00\x00\x54\xff\xff\xff\x78\x00\x00\x00\x94\xff\xff\xff\x8c\x00\x00\x00\xe4\xff\xff\xff\xb0\x00\x00\x00"), -Section(".eh_frame", 0x7A8, "\x10\x00\x00\x00\x00\x00\x00\x00\x01\x7a\x52\x00\x04\x78\x1e\x01\x1b\x0c\x1f\x00\x10\x00\x00\x00\x18\x00\x00\x00\x7c\xfe\xff\xff\x34\x00\x00\x00\x00\x41\x07\x1e\x10\x00\x00\x00\x2c\x00\x00\x00\xb8\xfe\xff\xff\x30\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x40\x00\x00\x00\xd4\xfe\xff\xff\x3c\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x54\x00\x00\x00\x00\xff\xff\xff\x48\x00\x00\x00\x00\x41\x0e\x20\x9d\x04\x9e\x03\x42\x93\x02\x4e\xde\xdd\xd3\x0e\x00\x00\x00\x00\x10\x00\x00\x00\x78\x00\x00\x00\x2c\xff\xff\xff\x04\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x8c\x00\x00\x00\xc8\xfd\xff\xff\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".fini_array", 0x10DA0, "\x00\x07\x00\x00\x00\x00\x00\x00"), -Section(".dynamic", 0x10DA8, "\x01\x00\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x80\x05\x00\x00\x00\x00\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x54\x07\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x98\x0d\x01\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\xa0\x0d\x01\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xf5\xfe\xff\x6f\x00\x00\x00\x00\x98\x02\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x90\x03\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\xb8\x02\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x98\x0f\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x20\x05\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x60\x04\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xfb\xff\xff\x6f\x00\x00\x00\x00\x01\x00\x00\x08\x00\x00\x00\x00\xfe\xff\xff\x6f\x00\x00\x00\x00\x30\x04\x00\x00\x00\x00\x00\x00\xff\xff\xff\x6f\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xf0\xff\xff\x6f\x00\x00\x00\x00\x1e\x04\x00\x00\x00\x00\x00\x00\xf9\xff\xff\x6f\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".init_array", 0x10D98, "\x50\x07\x00\x00\x00\x00\x00\x00"), -Section(".got", 0x10F98, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00\xa8\x0d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".data", 0x11000, "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x10\x01\x00\x00\x00\x00\x00"), -Section(".text", 0x600, "\x00\x00\x80\x52\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1d\x00\x80\xd2\x1e\x00\x80\xd2\xe5\x03\x00\xaa\xe1\x03\x40\xf9\xe2\x23\x00\x91\xe6\x03\x00\x91\x80\x00\x00\x90\x00\xf8\x47\xf9\x03\x00\x80\xd2\x04\x00\x80\xd2\xd5\xff\xff\x97\xe0\xff\xff\x97\x80\x00\x00\x90\x00\xf4\x47\xf9\x40\x00\x00\xb4\xd8\xff\xff\x17\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x80\x00\x00\xb0\x00\x40\x00\x91\x81\x00\x00\xb0\x21\x40\x00\x91\x3f\x00\x00\xeb\xc0\x00\x00\x54\x81\x00\x00\x90\x21\xec\x47\xf9\x61\x00\x00\xb4\xf0\x03\x01\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x80\x00\x00\xb0\x00\x40\x00\x91\x81\x00\x00\xb0\x21\x40\x00\x91\x21\x00\x00\xcb\x22\xfc\x7f\xd3\x41\x0c\x81\x8b\x21\xfc\x41\x93\xc1\x00\x00\xb4\x82\x00\x00\x90\x42\xfc\x47\xf9\x62\x00\x00\xb4\xf0\x03\x02\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\xfd\x7b\xbe\xa9\xfd\x03\x00\x91\xf3\x0b\x00\xf9\x93\x00\x00\xb0\x60\x42\x40\x39\x40\x01\x00\x35\x80\x00\x00\x90\x00\xf0\x47\xf9\x80\x00\x00\xb4\x80\x00\x00\xb0\x00\x04\x40\xf9\xa9\xff\xff\x97\xd8\xff\xff\x97\x20\x00\x80\x52\x60\x42\x00\x39\xf3\x0b\x40\xf9\xfd\x7b\xc2\xa8\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\xdc\xff\xff\x17")]), -Memmap([Annotation(Region(0x0,0x847), Attr("segment","02 0 2120")), -Annotation(Region(0x600,0x607), Attr("symbol","\"main\"")), -Annotation(Region(0x0,0xF9), Attr("section","\".shstrtab\"")), -Annotation(Region(0x0,0x21E), Attr("section","\".strtab\"")), -Annotation(Region(0x0,0x80F), Attr("section","\".symtab\"")), -Annotation(Region(0x0,0x2A), Attr("section","\".comment\"")), -Annotation(Region(0x238,0x252), Attr("section","\".interp\"")), -Annotation(Region(0x254,0x277), Attr("section","\".note.gnu.build-id\"")), -Annotation(Region(0x278,0x297), Attr("section","\".note.ABI-tag\"")), -Annotation(Region(0x298,0x2B3), Attr("section","\".gnu.hash\"")), -Annotation(Region(0x2B8,0x38F), Attr("section","\".dynsym\"")), -Annotation(Region(0x390,0x41C), Attr("section","\".dynstr\"")), -Annotation(Region(0x41E,0x42F), Attr("section","\".gnu.version\"")), -Annotation(Region(0x430,0x45F), Attr("section","\".gnu.version_r\"")), -Annotation(Region(0x460,0x51F), Attr("section","\".rela.dyn\"")), -Annotation(Region(0x520,0x57F), Attr("section","\".rela.plt\"")), -Annotation(Region(0x580,0x597), Attr("section","\".init\"")), -Annotation(Region(0x5A0,0x5FF), Attr("section","\".plt\"")), -Annotation(Region(0x580,0x597), Attr("code-region","()")), -Annotation(Region(0x5A0,0x5FF), Attr("code-region","()")), -Annotation(Region(0x600,0x607), Attr("symbol-info","main 0x600 8")), -Annotation(Region(0x640,0x673), Attr("symbol","\"_start\"")), -Annotation(Region(0x640,0x673), Attr("symbol-info","_start 0x640 52")), -Annotation(Region(0x674,0x687), Attr("symbol","\"call_weak_fn\"")), -Annotation(Region(0x674,0x687), Attr("symbol-info","call_weak_fn 0x674 20")), -Annotation(Region(0x754,0x767), Attr("section","\".fini\"")), -Annotation(Region(0x768,0x76B), Attr("section","\".rodata\"")), -Annotation(Region(0x76C,0x7A7), Attr("section","\".eh_frame_hdr\"")), -Annotation(Region(0x7A8,0x847), Attr("section","\".eh_frame\"")), -Annotation(Region(0x10D98,0x1100F), Attr("segment","03 0x10D98 640")), -Annotation(Region(0x10DA0,0x10DA7), Attr("section","\".fini_array\"")), -Annotation(Region(0x10DA8,0x10F97), Attr("section","\".dynamic\"")), -Annotation(Region(0x10D98,0x10D9F), Attr("section","\".init_array\"")), -Annotation(Region(0x10F98,0x10FFF), Attr("section","\".got\"")), -Annotation(Region(0x11000,0x1100F), Attr("section","\".data\"")), -Annotation(Region(0x600,0x753), Attr("section","\".text\"")), -Annotation(Region(0x600,0x753), Attr("code-region","()")), -Annotation(Region(0x754,0x767), Attr("code-region","()"))]), -Program(Tid(1_493, "%000005d5"), Attrs([]), - Subs([Sub(Tid(1_443, "@__cxa_finalize"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x5D0"), -Attr("stub","()")]), "__cxa_finalize", Args([Arg(Tid(1_494, "%000005d6"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("__cxa_finalize_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(839, "@__cxa_finalize"), - Attrs([Attr("address","0x5D0")]), Phis([]), -Defs([Def(Tid(1_087, "%0000043f"), Attrs([Attr("address","0x5D0"), -Attr("insn","adrp x16, #65536")]), Var("R16",Imm(64)), Int(65536,64)), -Def(Tid(1_094, "%00000446"), Attrs([Attr("address","0x5D4"), -Attr("insn","ldr x17, [x16, #0xfb8]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(4024,64)),LittleEndian(),64)), -Def(Tid(1_100, "%0000044c"), Attrs([Attr("address","0x5D8"), -Attr("insn","add x16, x16, #0xfb8")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(4024,64)))]), Jmps([Call(Tid(1_105, "%00000451"), - Attrs([Attr("address","0x5DC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), -Sub(Tid(1_444, "@__do_global_dtors_aux"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x700")]), - "__do_global_dtors_aux", Args([Arg(Tid(1_495, "%000005d7"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("__do_global_dtors_aux_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(692, "@__do_global_dtors_aux"), - Attrs([Attr("address","0x700")]), Phis([]), Defs([Def(Tid(696, "%000002b8"), - Attrs([Attr("address","0x700"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("#3",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(702, "%000002be"), Attrs([Attr("address","0x700"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#3",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(708, "%000002c4"), Attrs([Attr("address","0x700"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#3",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(712, "%000002c8"), Attrs([Attr("address","0x700"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("R31",Imm(64)), -Var("#3",Imm(64))), Def(Tid(718, "%000002ce"), - Attrs([Attr("address","0x704"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(726, "%000002d6"), - Attrs([Attr("address","0x708"), Attr("insn","str x19, [sp, #0x10]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),Var("R19",Imm(64)),LittleEndian(),64)), -Def(Tid(731, "%000002db"), Attrs([Attr("address","0x70C"), -Attr("insn","adrp x19, #69632")]), Var("R19",Imm(64)), Int(69632,64)), -Def(Tid(738, "%000002e2"), Attrs([Attr("address","0x710"), -Attr("insn","ldrb w0, [x19, #0x10]")]), Var("R0",Imm(64)), -UNSIGNED(64,Load(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(16,64)),LittleEndian(),8)))]), -Jmps([Goto(Tid(745, "%000002e9"), Attrs([Attr("address","0x714"), -Attr("insn","cbnz w0, #0x28")]), - NEQ(Extract(31,0,Var("R0",Imm(64))),Int(0,32)), -Direct(Tid(743, "%000002e7"))), Goto(Tid(1_483, "%000005cb"), Attrs([]), - Int(1,1), Direct(Tid(784, "%00000310")))])), Blk(Tid(784, "%00000310"), - Attrs([Attr("address","0x718")]), Phis([]), Defs([Def(Tid(787, "%00000313"), - Attrs([Attr("address","0x718"), Attr("insn","adrp x0, #65536")]), - Var("R0",Imm(64)), Int(65536,64)), Def(Tid(794, "%0000031a"), - Attrs([Attr("address","0x71C"), Attr("insn","ldr x0, [x0, #0xfe0]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4064,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(800, "%00000320"), Attrs([Attr("address","0x720"), -Attr("insn","cbz x0, #0x10")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(798, "%0000031e"))), Goto(Tid(1_484, "%000005cc"), Attrs([]), - Int(1,1), Direct(Tid(823, "%00000337")))])), Blk(Tid(823, "%00000337"), - Attrs([Attr("address","0x724")]), Phis([]), Defs([Def(Tid(826, "%0000033a"), - Attrs([Attr("address","0x724"), Attr("insn","adrp x0, #69632")]), - Var("R0",Imm(64)), Int(69632,64)), Def(Tid(833, "%00000341"), - Attrs([Attr("address","0x728"), Attr("insn","ldr x0, [x0, #0x8]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(838, "%00000346"), Attrs([Attr("address","0x72C"), -Attr("insn","bl #-0x15c")]), Var("R30",Imm(64)), Int(1840,64))]), -Jmps([Call(Tid(841, "%00000349"), Attrs([Attr("address","0x72C"), -Attr("insn","bl #-0x15c")]), Int(1,1), -(Direct(Tid(1_443, "@__cxa_finalize")),Direct(Tid(798, "%0000031e"))))])), -Blk(Tid(798, "%0000031e"), Attrs([Attr("address","0x730")]), Phis([]), -Defs([Def(Tid(806, "%00000326"), Attrs([Attr("address","0x730"), -Attr("insn","bl #-0xa0")]), Var("R30",Imm(64)), Int(1844,64))]), -Jmps([Call(Tid(808, "%00000328"), Attrs([Attr("address","0x730"), -Attr("insn","bl #-0xa0")]), Int(1,1), -(Direct(Tid(1_457, "@deregister_tm_clones")),Direct(Tid(810, "%0000032a"))))])), -Blk(Tid(810, "%0000032a"), Attrs([Attr("address","0x734")]), Phis([]), -Defs([Def(Tid(813, "%0000032d"), Attrs([Attr("address","0x734"), -Attr("insn","mov w0, #0x1")]), Var("R0",Imm(64)), Int(1,64)), -Def(Tid(821, "%00000335"), Attrs([Attr("address","0x738"), -Attr("insn","strb w0, [x19, #0x10]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(16,64)),Extract(7,0,Var("R0",Imm(64))),LittleEndian(),8))]), -Jmps([Goto(Tid(1_485, "%000005cd"), Attrs([]), Int(1,1), -Direct(Tid(743, "%000002e7")))])), Blk(Tid(743, "%000002e7"), - Attrs([Attr("address","0x73C")]), Phis([]), Defs([Def(Tid(753, "%000002f1"), - Attrs([Attr("address","0x73C"), Attr("insn","ldr x19, [sp, #0x10]")]), - Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),LittleEndian(),64)), -Def(Tid(760, "%000002f8"), Attrs([Attr("address","0x740"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(765, "%000002fd"), Attrs([Attr("address","0x740"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(769, "%00000301"), Attrs([Attr("address","0x740"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(774, "%00000306"), - Attrs([Attr("address","0x744"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(1_448, "@__libc_start_main"), - Attrs([Attr("c.proto","signed (*)(signed (*)(signed , char** , char** );* main, signed , char** , \nvoid* auxv)"), -Attr("address","0x5C0"), Attr("stub","()")]), "__libc_start_main", - Args([Arg(Tid(1_496, "%000005d8"), - Attrs([Attr("c.layout","**[ : 64]"), -Attr("c.data","Top:u64 ptr ptr"), -Attr("c.type","signed (*)(signed , char** , char** );*")]), - Var("__libc_start_main_main",Imm(64)), Var("R0",Imm(64)), In()), -Arg(Tid(1_497, "%000005d9"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("__libc_start_main_arg2",Imm(32)), LOW(32,Var("R1",Imm(64))), In()), -Arg(Tid(1_498, "%000005da"), Attrs([Attr("c.layout","**[char : 8]"), -Attr("c.data","Top:u8 ptr ptr"), Attr("c.type","char**")]), - Var("__libc_start_main_arg3",Imm(64)), Var("R2",Imm(64)), Both()), -Arg(Tid(1_499, "%000005db"), Attrs([Attr("c.layout","*[ : 8]"), -Attr("c.data","{} ptr"), Attr("c.type","void*")]), - Var("__libc_start_main_auxv",Imm(64)), Var("R3",Imm(64)), Both()), -Arg(Tid(1_500, "%000005dc"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("__libc_start_main_result",Imm(32)), LOW(32,Var("R0",Imm(64))), -Out())]), Blks([Blk(Tid(525, "@__libc_start_main"), - Attrs([Attr("address","0x5C0")]), Phis([]), -Defs([Def(Tid(1_065, "%00000429"), Attrs([Attr("address","0x5C0"), -Attr("insn","adrp x16, #65536")]), Var("R16",Imm(64)), Int(65536,64)), -Def(Tid(1_072, "%00000430"), Attrs([Attr("address","0x5C4"), -Attr("insn","ldr x17, [x16, #0xfb0]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(4016,64)),LittleEndian(),64)), -Def(Tid(1_078, "%00000436"), Attrs([Attr("address","0x5C8"), -Attr("insn","add x16, x16, #0xfb0")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(4016,64)))]), Jmps([Call(Tid(1_083, "%0000043b"), - Attrs([Attr("address","0x5CC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(1_449, "@_fini"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x754")]), - "_fini", Args([Arg(Tid(1_501, "%000005dd"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_fini_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(31, "@_fini"), - Attrs([Attr("address","0x754")]), Phis([]), Defs([Def(Tid(37, "%00000025"), - Attrs([Attr("address","0x758"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#0",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(43, "%0000002b"), Attrs([Attr("address","0x758"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#0",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(49, "%00000031"), Attrs([Attr("address","0x758"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#0",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(53, "%00000035"), Attrs([Attr("address","0x758"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#0",Imm(64))), Def(Tid(59, "%0000003b"), Attrs([Attr("address","0x75C"), -Attr("insn","mov x29, sp")]), Var("R29",Imm(64)), Var("R31",Imm(64))), -Def(Tid(66, "%00000042"), Attrs([Attr("address","0x760"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(71, "%00000047"), Attrs([Attr("address","0x760"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(75, "%0000004b"), Attrs([Attr("address","0x760"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(80, "%00000050"), - Attrs([Attr("address","0x764"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(1_450, "@_init"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x580")]), - "_init", Args([Arg(Tid(1_502, "%000005de"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_init_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_269, "@_init"), - Attrs([Attr("address","0x580")]), Phis([]), -Defs([Def(Tid(1_275, "%000004fb"), Attrs([Attr("address","0x584"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#5",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(1_281, "%00000501"), Attrs([Attr("address","0x584"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#5",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_287, "%00000507"), Attrs([Attr("address","0x584"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#5",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_291, "%0000050b"), Attrs([Attr("address","0x584"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#5",Imm(64))), Def(Tid(1_297, "%00000511"), - Attrs([Attr("address","0x588"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(1_302, "%00000516"), - Attrs([Attr("address","0x58C"), Attr("insn","bl #0xe8")]), - Var("R30",Imm(64)), Int(1424,64))]), Jmps([Call(Tid(1_304, "%00000518"), - Attrs([Attr("address","0x58C"), Attr("insn","bl #0xe8")]), Int(1,1), -(Direct(Tid(1_455, "@call_weak_fn")),Direct(Tid(1_306, "%0000051a"))))])), -Blk(Tid(1_306, "%0000051a"), Attrs([Attr("address","0x590")]), Phis([]), -Defs([Def(Tid(1_311, "%0000051f"), Attrs([Attr("address","0x590"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_316, "%00000524"), Attrs([Attr("address","0x590"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_320, "%00000528"), Attrs([Attr("address","0x590"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(1_325, "%0000052d"), - Attrs([Attr("address","0x594"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(1_451, "@_start"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x640"), -Attr("entry-point","()")]), "_start", Args([Arg(Tid(1_503, "%000005df"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_start_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(462, "@_start"), - Attrs([Attr("address","0x640")]), Phis([]), Defs([Def(Tid(467, "%000001d3"), - Attrs([Attr("address","0x644"), Attr("insn","mov x29, #0x0")]), - Var("R29",Imm(64)), Int(0,64)), Def(Tid(472, "%000001d8"), - Attrs([Attr("address","0x648"), Attr("insn","mov x30, #0x0")]), - Var("R30",Imm(64)), Int(0,64)), Def(Tid(478, "%000001de"), - Attrs([Attr("address","0x64C"), Attr("insn","mov x5, x0")]), - Var("R5",Imm(64)), Var("R0",Imm(64))), Def(Tid(485, "%000001e5"), - Attrs([Attr("address","0x650"), Attr("insn","ldr x1, [sp]")]), - Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(491, "%000001eb"), Attrs([Attr("address","0x654"), -Attr("insn","add x2, sp, #0x8")]), Var("R2",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(8,64))), Def(Tid(497, "%000001f1"), - Attrs([Attr("address","0x658"), Attr("insn","mov x6, sp")]), - Var("R6",Imm(64)), Var("R31",Imm(64))), Def(Tid(502, "%000001f6"), - Attrs([Attr("address","0x65C"), Attr("insn","adrp x0, #65536")]), - Var("R0",Imm(64)), Int(65536,64)), Def(Tid(509, "%000001fd"), - Attrs([Attr("address","0x660"), Attr("insn","ldr x0, [x0, #0xff0]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4080,64)),LittleEndian(),64)), -Def(Tid(514, "%00000202"), Attrs([Attr("address","0x664"), -Attr("insn","mov x3, #0x0")]), Var("R3",Imm(64)), Int(0,64)), -Def(Tid(519, "%00000207"), Attrs([Attr("address","0x668"), -Attr("insn","mov x4, #0x0")]), Var("R4",Imm(64)), Int(0,64)), -Def(Tid(524, "%0000020c"), Attrs([Attr("address","0x66C"), -Attr("insn","bl #-0xac")]), Var("R30",Imm(64)), Int(1648,64))]), -Jmps([Call(Tid(527, "%0000020f"), Attrs([Attr("address","0x66C"), -Attr("insn","bl #-0xac")]), Int(1,1), -(Direct(Tid(1_448, "@__libc_start_main")),Direct(Tid(529, "%00000211"))))])), -Blk(Tid(529, "%00000211"), Attrs([Attr("address","0x670")]), Phis([]), -Defs([Def(Tid(532, "%00000214"), Attrs([Attr("address","0x670"), -Attr("insn","bl #-0x80")]), Var("R30",Imm(64)), Int(1652,64))]), -Jmps([Call(Tid(535, "%00000217"), Attrs([Attr("address","0x670"), -Attr("insn","bl #-0x80")]), Int(1,1), -(Direct(Tid(1_454, "@abort")),Direct(Tid(1_486, "%000005ce"))))])), -Blk(Tid(1_486, "%000005ce"), Attrs([]), Phis([]), Defs([]), -Jmps([Call(Tid(1_487, "%000005cf"), Attrs([]), Int(1,1), -(Direct(Tid(1_455, "@call_weak_fn")),))]))])), Sub(Tid(1_454, "@abort"), - Attrs([Attr("noreturn","()"), Attr("c.proto","void (*)(void)"), -Attr("address","0x5F0"), Attr("stub","()")]), "abort", Args([]), -Blks([Blk(Tid(533, "@abort"), Attrs([Attr("address","0x5F0")]), Phis([]), -Defs([Def(Tid(1_131, "%0000046b"), Attrs([Attr("address","0x5F0"), -Attr("insn","adrp x16, #65536")]), Var("R16",Imm(64)), Int(65536,64)), -Def(Tid(1_138, "%00000472"), Attrs([Attr("address","0x5F4"), -Attr("insn","ldr x17, [x16, #0xfc8]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(4040,64)),LittleEndian(),64)), -Def(Tid(1_144, "%00000478"), Attrs([Attr("address","0x5F8"), -Attr("insn","add x16, x16, #0xfc8")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(4040,64)))]), Jmps([Call(Tid(1_149, "%0000047d"), - Attrs([Attr("address","0x5FC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(1_455, "@call_weak_fn"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x674")]), - "call_weak_fn", Args([Arg(Tid(1_504, "%000005e0"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("call_weak_fn_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(537, "@call_weak_fn"), - Attrs([Attr("address","0x674")]), Phis([]), Defs([Def(Tid(540, "%0000021c"), - Attrs([Attr("address","0x674"), Attr("insn","adrp x0, #65536")]), - Var("R0",Imm(64)), Int(65536,64)), Def(Tid(547, "%00000223"), - Attrs([Attr("address","0x678"), Attr("insn","ldr x0, [x0, #0xfe8]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4072,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(553, "%00000229"), Attrs([Attr("address","0x67C"), -Attr("insn","cbz x0, #0x8")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(551, "%00000227"))), Goto(Tid(1_488, "%000005d0"), Attrs([]), - Int(1,1), Direct(Tid(903, "%00000387")))])), Blk(Tid(551, "%00000227"), - Attrs([Attr("address","0x684")]), Phis([]), Defs([]), -Jmps([Call(Tid(559, "%0000022f"), Attrs([Attr("address","0x684"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(903, "%00000387"), Attrs([Attr("address","0x680")]), Phis([]), -Defs([]), Jmps([Goto(Tid(906, "%0000038a"), Attrs([Attr("address","0x680"), -Attr("insn","b #-0xa0")]), Int(1,1), Direct(Tid(904, "@__gmon_start__")))])), -Blk(Tid(904, "@__gmon_start__"), Attrs([Attr("address","0x5E0")]), Phis([]), -Defs([Def(Tid(1_109, "%00000455"), Attrs([Attr("address","0x5E0"), -Attr("insn","adrp x16, #65536")]), Var("R16",Imm(64)), Int(65536,64)), -Def(Tid(1_116, "%0000045c"), Attrs([Attr("address","0x5E4"), -Attr("insn","ldr x17, [x16, #0xfc0]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(4032,64)),LittleEndian(),64)), -Def(Tid(1_122, "%00000462"), Attrs([Attr("address","0x5E8"), -Attr("insn","add x16, x16, #0xfc0")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(4032,64)))]), Jmps([Call(Tid(1_127, "%00000467"), - Attrs([Attr("address","0x5EC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), -Sub(Tid(1_457, "@deregister_tm_clones"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x690")]), - "deregister_tm_clones", Args([Arg(Tid(1_505, "%000005e1"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("deregister_tm_clones_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(565, "@deregister_tm_clones"), - Attrs([Attr("address","0x690")]), Phis([]), Defs([Def(Tid(568, "%00000238"), - Attrs([Attr("address","0x690"), Attr("insn","adrp x0, #69632")]), - Var("R0",Imm(64)), Int(69632,64)), Def(Tid(574, "%0000023e"), - Attrs([Attr("address","0x694"), Attr("insn","add x0, x0, #0x10")]), - Var("R0",Imm(64)), PLUS(Var("R0",Imm(64)),Int(16,64))), -Def(Tid(579, "%00000243"), Attrs([Attr("address","0x698"), -Attr("insn","adrp x1, #69632")]), Var("R1",Imm(64)), Int(69632,64)), -Def(Tid(585, "%00000249"), Attrs([Attr("address","0x69C"), -Attr("insn","add x1, x1, #0x10")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(16,64))), Def(Tid(591, "%0000024f"), - Attrs([Attr("address","0x6A0"), Attr("insn","cmp x1, x0")]), - Var("#1",Imm(64)), NOT(Var("R0",Imm(64)))), Def(Tid(596, "%00000254"), - Attrs([Attr("address","0x6A0"), Attr("insn","cmp x1, x0")]), - Var("#2",Imm(64)), PLUS(Var("R1",Imm(64)),NOT(Var("R0",Imm(64))))), -Def(Tid(602, "%0000025a"), Attrs([Attr("address","0x6A0"), -Attr("insn","cmp x1, x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#2",Imm(64)),Int(1,64))),PLUS(PLUS(SIGNED(65,Var("R1",Imm(64))),SIGNED(65,Var("#1",Imm(64)))),Int(1,65)))), -Def(Tid(608, "%00000260"), Attrs([Attr("address","0x6A0"), -Attr("insn","cmp x1, x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#2",Imm(64)),Int(1,64))),PLUS(PLUS(UNSIGNED(65,Var("R1",Imm(64))),UNSIGNED(65,Var("#1",Imm(64)))),Int(1,65)))), -Def(Tid(612, "%00000264"), Attrs([Attr("address","0x6A0"), -Attr("insn","cmp x1, x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#2",Imm(64)),Int(1,64)),Int(0,64))), Def(Tid(616, "%00000268"), - Attrs([Attr("address","0x6A0"), Attr("insn","cmp x1, x0")]), - Var("NF",Imm(1)), Extract(63,63,PLUS(Var("#2",Imm(64)),Int(1,64))))]), -Jmps([Goto(Tid(622, "%0000026e"), Attrs([Attr("address","0x6A4"), -Attr("insn","b.eq #0x18")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(620, "%0000026c"))), Goto(Tid(1_489, "%000005d1"), Attrs([]), - Int(1,1), Direct(Tid(873, "%00000369")))])), Blk(Tid(873, "%00000369"), - Attrs([Attr("address","0x6A8")]), Phis([]), Defs([Def(Tid(876, "%0000036c"), - Attrs([Attr("address","0x6A8"), Attr("insn","adrp x1, #65536")]), - Var("R1",Imm(64)), Int(65536,64)), Def(Tid(883, "%00000373"), - Attrs([Attr("address","0x6AC"), Attr("insn","ldr x1, [x1, #0xfd8]")]), - Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R1",Imm(64)),Int(4056,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(888, "%00000378"), Attrs([Attr("address","0x6B0"), -Attr("insn","cbz x1, #0xc")]), EQ(Var("R1",Imm(64)),Int(0,64)), -Direct(Tid(620, "%0000026c"))), Goto(Tid(1_490, "%000005d2"), Attrs([]), - Int(1,1), Direct(Tid(892, "%0000037c")))])), Blk(Tid(620, "%0000026c"), - Attrs([Attr("address","0x6BC")]), Phis([]), Defs([]), -Jmps([Call(Tid(628, "%00000274"), Attrs([Attr("address","0x6BC"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(892, "%0000037c"), Attrs([Attr("address","0x6B4")]), Phis([]), -Defs([Def(Tid(896, "%00000380"), Attrs([Attr("address","0x6B4"), -Attr("insn","mov x16, x1")]), Var("R16",Imm(64)), Var("R1",Imm(64)))]), -Jmps([Call(Tid(901, "%00000385"), Attrs([Attr("address","0x6B8"), -Attr("insn","br x16")]), Int(1,1), (Indirect(Var("R16",Imm(64))),))]))])), -Sub(Tid(1_460, "@frame_dummy"), Attrs([Attr("c.proto","signed (*)(void)"), -Attr("address","0x750")]), "frame_dummy", Args([Arg(Tid(1_506, "%000005e2"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("frame_dummy_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(780, "@frame_dummy"), - Attrs([Attr("address","0x750")]), Phis([]), Defs([]), -Jmps([Call(Tid(782, "%0000030e"), Attrs([Attr("address","0x750"), -Attr("insn","b #-0x90")]), Int(1,1), -(Direct(Tid(1_462, "@register_tm_clones")),))]))])), Sub(Tid(1_461, "@main"), - Attrs([Attr("c.proto","signed (*)(signed argc, const char** argv)"), -Attr("address","0x600"), Attr("stub","()")]), "main", - Args([Arg(Tid(1_507, "%000005e3"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("main_argc",Imm(32)), LOW(32,Var("R0",Imm(64))), In()), -Arg(Tid(1_508, "%000005e4"), Attrs([Attr("c.layout","**[char : 8]"), -Attr("c.data","Top:u8 ptr ptr"), Attr("c.type"," const char**")]), - Var("main_argv",Imm(64)), Var("R1",Imm(64)), Both()), -Arg(Tid(1_509, "%000005e5"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("main_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(424, "@main"), Attrs([Attr("address","0x600")]), Phis([]), -Defs([Def(Tid(427, "%000001ab"), Attrs([Attr("address","0x600"), -Attr("insn","mov w0, #0x0")]), Var("R0",Imm(64)), Int(0,64))]), -Jmps([Call(Tid(432, "%000001b0"), Attrs([Attr("address","0x604"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))]))])), -Sub(Tid(1_462, "@register_tm_clones"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x6C0")]), - "register_tm_clones", Args([Arg(Tid(1_510, "%000005e6"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("register_tm_clones_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(630, "@register_tm_clones"), Attrs([Attr("address","0x6C0")]), - Phis([]), Defs([Def(Tid(633, "%00000279"), Attrs([Attr("address","0x6C0"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(639, "%0000027f"), Attrs([Attr("address","0x6C4"), -Attr("insn","add x0, x0, #0x10")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(16,64))), Def(Tid(644, "%00000284"), - Attrs([Attr("address","0x6C8"), Attr("insn","adrp x1, #69632")]), - Var("R1",Imm(64)), Int(69632,64)), Def(Tid(650, "%0000028a"), - Attrs([Attr("address","0x6CC"), Attr("insn","add x1, x1, #0x10")]), - Var("R1",Imm(64)), PLUS(Var("R1",Imm(64)),Int(16,64))), -Def(Tid(657, "%00000291"), Attrs([Attr("address","0x6D0"), -Attr("insn","sub x1, x1, x0")]), Var("R1",Imm(64)), -PLUS(PLUS(Var("R1",Imm(64)),NOT(Var("R0",Imm(64)))),Int(1,64))), -Def(Tid(663, "%00000297"), Attrs([Attr("address","0x6D4"), -Attr("insn","lsr x2, x1, #63")]), Var("R2",Imm(64)), -Concat(Int(0,63),Extract(63,63,Var("R1",Imm(64))))), -Def(Tid(670, "%0000029e"), Attrs([Attr("address","0x6D8"), -Attr("insn","add x1, x2, x1, asr #3")]), Var("R1",Imm(64)), -PLUS(Var("R2",Imm(64)),ARSHIFT(Var("R1",Imm(64)),Int(3,3)))), -Def(Tid(676, "%000002a4"), Attrs([Attr("address","0x6DC"), -Attr("insn","asr x1, x1, #1")]), Var("R1",Imm(64)), -SIGNED(64,Extract(63,1,Var("R1",Imm(64)))))]), -Jmps([Goto(Tid(682, "%000002aa"), Attrs([Attr("address","0x6E0"), -Attr("insn","cbz x1, #0x18")]), EQ(Var("R1",Imm(64)),Int(0,64)), -Direct(Tid(680, "%000002a8"))), Goto(Tid(1_491, "%000005d3"), Attrs([]), - Int(1,1), Direct(Tid(843, "%0000034b")))])), Blk(Tid(843, "%0000034b"), - Attrs([Attr("address","0x6E4")]), Phis([]), Defs([Def(Tid(846, "%0000034e"), - Attrs([Attr("address","0x6E4"), Attr("insn","adrp x2, #65536")]), - Var("R2",Imm(64)), Int(65536,64)), Def(Tid(853, "%00000355"), - Attrs([Attr("address","0x6E8"), Attr("insn","ldr x2, [x2, #0xff8]")]), - Var("R2",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R2",Imm(64)),Int(4088,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(858, "%0000035a"), Attrs([Attr("address","0x6EC"), -Attr("insn","cbz x2, #0xc")]), EQ(Var("R2",Imm(64)),Int(0,64)), -Direct(Tid(680, "%000002a8"))), Goto(Tid(1_492, "%000005d4"), Attrs([]), - Int(1,1), Direct(Tid(862, "%0000035e")))])), Blk(Tid(680, "%000002a8"), - Attrs([Attr("address","0x6F8")]), Phis([]), Defs([]), -Jmps([Call(Tid(688, "%000002b0"), Attrs([Attr("address","0x6F8"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(862, "%0000035e"), Attrs([Attr("address","0x6F0")]), Phis([]), -Defs([Def(Tid(866, "%00000362"), Attrs([Attr("address","0x6F0"), -Attr("insn","mov x16, x2")]), Var("R16",Imm(64)), Var("R2",Imm(64)))]), -Jmps([Call(Tid(871, "%00000367"), Attrs([Attr("address","0x6F4"), -Attr("insn","br x16")]), Int(1,1), -(Indirect(Var("R16",Imm(64))),))]))]))]))) \ No newline at end of file diff --git a/src/test/incorrect/iflocal/gcc_O2/iflocal.bir b/src/test/incorrect/iflocal/gcc_O2/iflocal.bir deleted file mode 100644 index 6cf9f3677..000000000 --- a/src/test/incorrect/iflocal/gcc_O2/iflocal.bir +++ /dev/null @@ -1,224 +0,0 @@ -000005d5: program -000005a3: sub __cxa_finalize(__cxa_finalize_result) -000005d6: __cxa_finalize_result :: out u32 = low:32[R0] - -00000347: -0000043f: R16 := 0x10000 -00000446: R17 := mem[R16 + 0xFB8, el]:u64 -0000044c: R16 := R16 + 0xFB8 -00000451: call R17 with noreturn - -000005a4: sub __do_global_dtors_aux(__do_global_dtors_aux_result) -000005d7: __do_global_dtors_aux_result :: out u32 = low:32[R0] - -000002b4: -000002b8: #3 := R31 - 0x20 -000002be: mem := mem with [#3, el]:u64 <- R29 -000002c4: mem := mem with [#3 + 8, el]:u64 <- R30 -000002c8: R31 := #3 -000002ce: R29 := R31 -000002d6: mem := mem with [R31 + 0x10, el]:u64 <- R19 -000002db: R19 := 0x11000 -000002e2: R0 := pad:64[mem[R19 + 0x10]] -000002e9: when 31:0[R0] <> 0 goto %000002e7 -000005cb: goto %00000310 - -00000310: -00000313: R0 := 0x10000 -0000031a: R0 := mem[R0 + 0xFE0, el]:u64 -00000320: when R0 = 0 goto %0000031e -000005cc: goto %00000337 - -00000337: -0000033a: R0 := 0x11000 -00000341: R0 := mem[R0 + 8, el]:u64 -00000346: R30 := 0x730 -00000349: call @__cxa_finalize with return %0000031e - -0000031e: -00000326: R30 := 0x734 -00000328: call @deregister_tm_clones with return %0000032a - -0000032a: -0000032d: R0 := 1 -00000335: mem := mem with [R19 + 0x10] <- 7:0[R0] -000005cd: goto %000002e7 - -000002e7: -000002f1: R19 := mem[R31 + 0x10, el]:u64 -000002f8: R29 := mem[R31, el]:u64 -000002fd: R30 := mem[R31 + 8, el]:u64 -00000301: R31 := R31 + 0x20 -00000306: call R30 with noreturn - -000005a8: sub __libc_start_main(__libc_start_main_main, __libc_start_main_arg2, __libc_start_main_arg3, __libc_start_main_auxv, __libc_start_main_result) -000005d8: __libc_start_main_main :: in u64 = R0 -000005d9: __libc_start_main_arg2 :: in u32 = low:32[R1] -000005da: __libc_start_main_arg3 :: in out u64 = R2 -000005db: __libc_start_main_auxv :: in out u64 = R3 -000005dc: __libc_start_main_result :: out u32 = low:32[R0] - -0000020d: -00000429: R16 := 0x10000 -00000430: R17 := mem[R16 + 0xFB0, el]:u64 -00000436: R16 := R16 + 0xFB0 -0000043b: call R17 with noreturn - -000005a9: sub _fini(_fini_result) -000005dd: _fini_result :: out u32 = low:32[R0] - -0000001f: -00000025: #0 := R31 - 0x10 -0000002b: mem := mem with [#0, el]:u64 <- R29 -00000031: mem := mem with [#0 + 8, el]:u64 <- R30 -00000035: R31 := #0 -0000003b: R29 := R31 -00000042: R29 := mem[R31, el]:u64 -00000047: R30 := mem[R31 + 8, el]:u64 -0000004b: R31 := R31 + 0x10 -00000050: call R30 with noreturn - -000005aa: sub _init(_init_result) -000005de: _init_result :: out u32 = low:32[R0] - -000004f5: -000004fb: #5 := R31 - 0x10 -00000501: mem := mem with [#5, el]:u64 <- R29 -00000507: mem := mem with [#5 + 8, el]:u64 <- R30 -0000050b: R31 := #5 -00000511: R29 := R31 -00000516: R30 := 0x590 -00000518: call @call_weak_fn with return %0000051a - -0000051a: -0000051f: R29 := mem[R31, el]:u64 -00000524: R30 := mem[R31 + 8, el]:u64 -00000528: R31 := R31 + 0x10 -0000052d: call R30 with noreturn - -000005ab: sub _start(_start_result) -000005df: _start_result :: out u32 = low:32[R0] - -000001ce: -000001d3: R29 := 0 -000001d8: R30 := 0 -000001de: R5 := R0 -000001e5: R1 := mem[R31, el]:u64 -000001eb: R2 := R31 + 8 -000001f1: R6 := R31 -000001f6: R0 := 0x10000 -000001fd: R0 := mem[R0 + 0xFF0, el]:u64 -00000202: R3 := 0 -00000207: R4 := 0 -0000020c: R30 := 0x670 -0000020f: call @__libc_start_main with return %00000211 - -00000211: -00000214: R30 := 0x674 -00000217: call @abort with return %000005ce - -000005ce: -000005cf: call @call_weak_fn with noreturn - -000005ae: sub abort() - - -00000215: -0000046b: R16 := 0x10000 -00000472: R17 := mem[R16 + 0xFC8, el]:u64 -00000478: R16 := R16 + 0xFC8 -0000047d: call R17 with noreturn - -000005af: sub call_weak_fn(call_weak_fn_result) -000005e0: call_weak_fn_result :: out u32 = low:32[R0] - -00000219: -0000021c: R0 := 0x10000 -00000223: R0 := mem[R0 + 0xFE8, el]:u64 -00000229: when R0 = 0 goto %00000227 -000005d0: goto %00000387 - -00000227: -0000022f: call R30 with noreturn - -00000387: -0000038a: goto @__gmon_start__ - -00000388: -00000455: R16 := 0x10000 -0000045c: R17 := mem[R16 + 0xFC0, el]:u64 -00000462: R16 := R16 + 0xFC0 -00000467: call R17 with noreturn - -000005b1: sub deregister_tm_clones(deregister_tm_clones_result) -000005e1: deregister_tm_clones_result :: out u32 = low:32[R0] - -00000235: -00000238: R0 := 0x11000 -0000023e: R0 := R0 + 0x10 -00000243: R1 := 0x11000 -00000249: R1 := R1 + 0x10 -0000024f: #1 := ~R0 -00000254: #2 := R1 + ~R0 -0000025a: VF := extend:65[#2 + 1] <> extend:65[R1] + extend:65[#1] + 1 -00000260: CF := pad:65[#2 + 1] <> pad:65[R1] + pad:65[#1] + 1 -00000264: ZF := #2 + 1 = 0 -00000268: NF := 63:63[#2 + 1] -0000026e: when ZF goto %0000026c -000005d1: goto %00000369 - -00000369: -0000036c: R1 := 0x10000 -00000373: R1 := mem[R1 + 0xFD8, el]:u64 -00000378: when R1 = 0 goto %0000026c -000005d2: goto %0000037c - -0000026c: -00000274: call R30 with noreturn - -0000037c: -00000380: R16 := R1 -00000385: call R16 with noreturn - -000005b4: sub frame_dummy(frame_dummy_result) -000005e2: frame_dummy_result :: out u32 = low:32[R0] - -0000030c: -0000030e: call @register_tm_clones with noreturn - -000005b5: sub main(main_argc, main_argv, main_result) -000005e3: main_argc :: in u32 = low:32[R0] -000005e4: main_argv :: in out u64 = R1 -000005e5: main_result :: out u32 = low:32[R0] - -000001a8: -000001ab: R0 := 0 -000001b0: call R30 with noreturn - -000005b6: sub register_tm_clones(register_tm_clones_result) -000005e6: register_tm_clones_result :: out u32 = low:32[R0] - -00000276: -00000279: R0 := 0x11000 -0000027f: R0 := R0 + 0x10 -00000284: R1 := 0x11000 -0000028a: R1 := R1 + 0x10 -00000291: R1 := R1 + ~R0 + 1 -00000297: R2 := 0.63:63[R1] -0000029e: R1 := R2 + (R1 ~>> 3) -000002a4: R1 := extend:64[63:1[R1]] -000002aa: when R1 = 0 goto %000002a8 -000005d3: goto %0000034b - -0000034b: -0000034e: R2 := 0x10000 -00000355: R2 := mem[R2 + 0xFF8, el]:u64 -0000035a: when R2 = 0 goto %000002a8 -000005d4: goto %0000035e - -000002a8: -000002b0: call R30 with noreturn - -0000035e: -00000362: R16 := R2 -00000367: call R16 with noreturn diff --git a/src/test/incorrect/iflocal/gcc_O2/iflocal.relf b/src/test/incorrect/iflocal/gcc_O2/iflocal.relf deleted file mode 100644 index 3f5f833d1..000000000 --- a/src/test/incorrect/iflocal/gcc_O2/iflocal.relf +++ /dev/null @@ -1,119 +0,0 @@ - -Relocation section '.rela.dyn' at offset 0x460 contains 8 entries: - Offset Info Type Symbol's Value Symbol's Name + Addend -0000000000010d98 0000000000000403 R_AARCH64_RELATIVE 750 -0000000000010da0 0000000000000403 R_AARCH64_RELATIVE 700 -0000000000010ff0 0000000000000403 R_AARCH64_RELATIVE 600 -0000000000011008 0000000000000403 R_AARCH64_RELATIVE 11008 -0000000000010fd8 0000000400000401 R_AARCH64_GLOB_DAT 0000000000000000 _ITM_deregisterTMCloneTable + 0 -0000000000010fe0 0000000500000401 R_AARCH64_GLOB_DAT 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0 -0000000000010fe8 0000000600000401 R_AARCH64_GLOB_DAT 0000000000000000 __gmon_start__ + 0 -0000000000010ff8 0000000800000401 R_AARCH64_GLOB_DAT 0000000000000000 _ITM_registerTMCloneTable + 0 - -Relocation section '.rela.plt' at offset 0x520 contains 4 entries: - Offset Info Type Symbol's Value Symbol's Name + Addend -0000000000010fb0 0000000300000402 R_AARCH64_JUMP_SLOT 0000000000000000 __libc_start_main@GLIBC_2.34 + 0 -0000000000010fb8 0000000500000402 R_AARCH64_JUMP_SLOT 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0 -0000000000010fc0 0000000600000402 R_AARCH64_JUMP_SLOT 0000000000000000 __gmon_start__ + 0 -0000000000010fc8 0000000700000402 R_AARCH64_JUMP_SLOT 0000000000000000 abort@GLIBC_2.17 + 0 - -Symbol table '.dynsym' contains 9 entries: - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000580 0 SECTION LOCAL DEFAULT 11 .init - 2: 0000000000011000 0 SECTION LOCAL DEFAULT 22 .data - 3: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.34 (2) - 4: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable - 5: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 (3) - 6: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 7: 0000000000000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.17 (3) - 8: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - -Symbol table '.symtab' contains 86 entries: - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000238 0 SECTION LOCAL DEFAULT 1 .interp - 2: 0000000000000254 0 SECTION LOCAL DEFAULT 2 .note.gnu.build-id - 3: 0000000000000278 0 SECTION LOCAL DEFAULT 3 .note.ABI-tag - 4: 0000000000000298 0 SECTION LOCAL DEFAULT 4 .gnu.hash - 5: 00000000000002b8 0 SECTION LOCAL DEFAULT 5 .dynsym - 6: 0000000000000390 0 SECTION LOCAL DEFAULT 6 .dynstr - 7: 000000000000041e 0 SECTION LOCAL DEFAULT 7 .gnu.version - 8: 0000000000000430 0 SECTION LOCAL DEFAULT 8 .gnu.version_r - 9: 0000000000000460 0 SECTION LOCAL DEFAULT 9 .rela.dyn - 10: 0000000000000520 0 SECTION LOCAL DEFAULT 10 .rela.plt - 11: 0000000000000580 0 SECTION LOCAL DEFAULT 11 .init - 12: 00000000000005a0 0 SECTION LOCAL DEFAULT 12 .plt - 13: 0000000000000600 0 SECTION LOCAL DEFAULT 13 .text - 14: 0000000000000754 0 SECTION LOCAL DEFAULT 14 .fini - 15: 0000000000000768 0 SECTION LOCAL DEFAULT 15 .rodata - 16: 000000000000076c 0 SECTION LOCAL DEFAULT 16 .eh_frame_hdr - 17: 00000000000007a8 0 SECTION LOCAL DEFAULT 17 .eh_frame - 18: 0000000000010d98 0 SECTION LOCAL DEFAULT 18 .init_array - 19: 0000000000010da0 0 SECTION LOCAL DEFAULT 19 .fini_array - 20: 0000000000010da8 0 SECTION LOCAL DEFAULT 20 .dynamic - 21: 0000000000010f98 0 SECTION LOCAL DEFAULT 21 .got - 22: 0000000000011000 0 SECTION LOCAL DEFAULT 22 .data - 23: 0000000000011010 0 SECTION LOCAL DEFAULT 23 .bss - 24: 0000000000000000 0 SECTION LOCAL DEFAULT 24 .comment - 25: 0000000000000000 0 FILE LOCAL DEFAULT ABS Scrt1.o - 26: 0000000000000278 0 NOTYPE LOCAL DEFAULT 3 $d - 27: 0000000000000278 32 OBJECT LOCAL DEFAULT 3 __abi_tag - 28: 0000000000000640 0 NOTYPE LOCAL DEFAULT 13 $x - 29: 00000000000007bc 0 NOTYPE LOCAL DEFAULT 17 $d - 30: 0000000000000768 0 NOTYPE LOCAL DEFAULT 15 $d - 31: 0000000000000000 0 FILE LOCAL DEFAULT ABS crti.o - 32: 0000000000000674 0 NOTYPE LOCAL DEFAULT 13 $x - 33: 0000000000000674 20 FUNC LOCAL DEFAULT 13 call_weak_fn - 34: 0000000000000580 0 NOTYPE LOCAL DEFAULT 11 $x - 35: 0000000000000754 0 NOTYPE LOCAL DEFAULT 14 $x - 36: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtn.o - 37: 0000000000000590 0 NOTYPE LOCAL DEFAULT 11 $x - 38: 0000000000000760 0 NOTYPE LOCAL DEFAULT 14 $x - 39: 0000000000000000 0 FILE LOCAL DEFAULT ABS iflocal.c - 40: 0000000000000600 0 NOTYPE LOCAL DEFAULT 13 $x - 41: 0000000000000830 0 NOTYPE LOCAL DEFAULT 17 $d - 42: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 43: 0000000000000690 0 NOTYPE LOCAL DEFAULT 13 $x - 44: 0000000000000690 0 FUNC LOCAL DEFAULT 13 deregister_tm_clones - 45: 00000000000006c0 0 FUNC LOCAL DEFAULT 13 register_tm_clones - 46: 0000000000011008 0 NOTYPE LOCAL DEFAULT 22 $d - 47: 0000000000000700 0 FUNC LOCAL DEFAULT 13 __do_global_dtors_aux - 48: 0000000000011010 1 OBJECT LOCAL DEFAULT 23 completed.0 - 49: 0000000000010da0 0 NOTYPE LOCAL DEFAULT 19 $d - 50: 0000000000010da0 0 OBJECT LOCAL DEFAULT 19 __do_global_dtors_aux_fini_array_entry - 51: 0000000000000750 0 FUNC LOCAL DEFAULT 13 frame_dummy - 52: 0000000000010d98 0 NOTYPE LOCAL DEFAULT 18 $d - 53: 0000000000010d98 0 OBJECT LOCAL DEFAULT 18 __frame_dummy_init_array_entry - 54: 00000000000007d0 0 NOTYPE LOCAL DEFAULT 17 $d - 55: 0000000000011010 0 NOTYPE LOCAL DEFAULT 23 $d - 56: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 57: 0000000000000844 0 NOTYPE LOCAL DEFAULT 17 $d - 58: 0000000000000844 0 OBJECT LOCAL DEFAULT 17 __FRAME_END__ - 59: 0000000000000000 0 FILE LOCAL DEFAULT ABS - 60: 0000000000010da8 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC - 61: 000000000000076c 0 NOTYPE LOCAL DEFAULT 16 __GNU_EH_FRAME_HDR - 62: 0000000000010fd0 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ - 63: 00000000000005a0 0 NOTYPE LOCAL DEFAULT 12 $x - 64: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.34 - 65: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable - 66: 0000000000011000 0 NOTYPE WEAK DEFAULT 22 data_start - 67: 0000000000011010 0 NOTYPE GLOBAL DEFAULT 23 __bss_start__ - 68: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 - 69: 0000000000011018 0 NOTYPE GLOBAL DEFAULT 23 _bss_end__ - 70: 0000000000011010 0 NOTYPE GLOBAL DEFAULT 22 _edata - 71: 0000000000000754 0 FUNC GLOBAL HIDDEN 14 _fini - 72: 0000000000011018 0 NOTYPE GLOBAL DEFAULT 23 __bss_end__ - 73: 0000000000011000 0 NOTYPE GLOBAL DEFAULT 22 __data_start - 74: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 75: 0000000000011008 0 OBJECT GLOBAL HIDDEN 22 __dso_handle - 76: 0000000000000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.17 - 77: 0000000000000768 4 OBJECT GLOBAL DEFAULT 15 _IO_stdin_used - 78: 0000000000011018 0 NOTYPE GLOBAL DEFAULT 23 _end - 79: 0000000000000640 52 FUNC GLOBAL DEFAULT 13 _start - 80: 0000000000011018 0 NOTYPE GLOBAL DEFAULT 23 __end__ - 81: 0000000000011010 0 NOTYPE GLOBAL DEFAULT 23 __bss_start - 82: 0000000000000600 8 FUNC GLOBAL DEFAULT 13 main - 83: 0000000000011010 0 OBJECT GLOBAL HIDDEN 22 __TMC_END__ - 84: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - 85: 0000000000000580 0 FUNC GLOBAL HIDDEN 11 _init diff --git a/src/test/incorrect/nestedifglobal/clang_O2/nestedifglobal.adt b/src/test/incorrect/nestedifglobal/clang_O2/nestedifglobal.adt deleted file mode 100644 index 19175e209..000000000 --- a/src/test/incorrect/nestedifglobal/clang_O2/nestedifglobal.adt +++ /dev/null @@ -1,492 +0,0 @@ -Project(Attrs([Attr("filename","\"clang_O2/nestedifglobal.out\""), -Attr("image-specification","(declare abi (name str))\n(declare arch (name str))\n(declare base-address (addr int))\n(declare bias (off int))\n(declare bits (size int))\n(declare code-region (addr int) (size int) (off int))\n(declare code-start (addr int))\n(declare entry-point (addr int))\n(declare external-reference (addr int) (name str))\n(declare format (name str))\n(declare is-executable (flag bool))\n(declare is-little-endian (flag bool))\n(declare llvm:base-address (addr int))\n(declare llvm:code-entry (name str) (off int) (size int))\n(declare llvm:coff-import-library (name str))\n(declare llvm:coff-virtual-section-header (name str) (addr int) (size int))\n(declare llvm:elf-program-header (name str) (off int) (size int))\n(declare llvm:elf-program-header-flags (name str) (ld bool) (r bool) \n (w bool) (x bool))\n(declare llvm:elf-virtual-program-header (name str) (addr int) (size int))\n(declare llvm:entry-point (addr int))\n(declare llvm:macho-symbol (name str) (value int))\n(declare llvm:name-reference (at int) (name str))\n(declare llvm:relocation (at int) (addr int))\n(declare llvm:section-entry (name str) (addr int) (size int) (off int))\n(declare llvm:section-flags (name str) (r bool) (w bool) (x bool))\n(declare llvm:segment-command (name str) (off int) (size int))\n(declare llvm:segment-command-flags (name str) (r bool) (w bool) (x bool))\n(declare llvm:symbol-entry (name str) (addr int) (size int) (off int)\n (value int))\n(declare llvm:virtual-segment-command (name str) (addr int) (size int))\n(declare mapped (addr int) (size int) (off int))\n(declare named-region (addr int) (size int) (name str))\n(declare named-symbol (addr int) (name str))\n(declare require (name str))\n(declare section (addr int) (size int))\n(declare segment (addr int) (size int) (r bool) (w bool) (x bool))\n(declare subarch (name str))\n(declare symbol-chunk (addr int) (size int) (root int))\n(declare symbol-value (addr int) (value int))\n(declare system (name str))\n(declare vendor (name str))\n\n(abi unknown)\n(arch aarch64)\n(base-address 0)\n(bias 0)\n(bits 64)\n(code-region 1832 20 1832)\n(code-region 1536 296 1536)\n(code-region 1440 96 1440)\n(code-region 1408 24 1408)\n(code-start 1588)\n(code-start 1536)\n(code-start 1812)\n(entry-point 1536)\n(external-reference 69568 _ITM_deregisterTMCloneTable)\n(external-reference 69576 __cxa_finalize)\n(external-reference 69584 __gmon_start__)\n(external-reference 69600 _ITM_registerTMCloneTable)\n(external-reference 69632 __libc_start_main)\n(external-reference 69640 __cxa_finalize)\n(external-reference 69648 __gmon_start__)\n(external-reference 69656 abort)\n(format elf)\n(is-executable true)\n(is-little-endian true)\n(llvm:base-address 0)\n(llvm:code-entry abort 0 0)\n(llvm:code-entry __cxa_finalize 0 0)\n(llvm:code-entry __libc_start_main 0 0)\n(llvm:code-entry _init 1408 0)\n(llvm:code-entry main 1812 20)\n(llvm:code-entry _start 1536 52)\n(llvm:code-entry abort@GLIBC_2.17 0 0)\n(llvm:code-entry _fini 1832 0)\n(llvm:code-entry __cxa_finalize@GLIBC_2.17 0 0)\n(llvm:code-entry __libc_start_main@GLIBC_2.34 0 0)\n(llvm:code-entry frame_dummy 1808 0)\n(llvm:code-entry __do_global_dtors_aux 1728 0)\n(llvm:code-entry register_tm_clones 1664 0)\n(llvm:code-entry deregister_tm_clones 1616 0)\n(llvm:code-entry call_weak_fn 1588 20)\n(llvm:code-entry .fini 1832 20)\n(llvm:code-entry .text 1536 296)\n(llvm:code-entry .plt 1440 96)\n(llvm:code-entry .init 1408 24)\n(llvm:elf-program-header 08 3528 568)\n(llvm:elf-program-header 07 0 0)\n(llvm:elf-program-header 06 1856 60)\n(llvm:elf-program-header 05 596 68)\n(llvm:elf-program-header 04 3544 480)\n(llvm:elf-program-header 03 3528 616)\n(llvm:elf-program-header 02 0 2100)\n(llvm:elf-program-header 01 568 27)\n(llvm:elf-program-header 00 64 504)\n(llvm:elf-program-header-flags 08 false true false false)\n(llvm:elf-program-header-flags 07 false true true false)\n(llvm:elf-program-header-flags 06 false true false false)\n(llvm:elf-program-header-flags 05 false true false false)\n(llvm:elf-program-header-flags 04 false true true false)\n(llvm:elf-program-header-flags 03 true true true false)\n(llvm:elf-program-header-flags 02 true true false true)\n(llvm:elf-program-header-flags 01 false true false false)\n(llvm:elf-program-header-flags 00 false true false false)\n(llvm:elf-virtual-program-header 08 69064 568)\n(llvm:elf-virtual-program-header 07 0 0)\n(llvm:elf-virtual-program-header 06 1856 60)\n(llvm:elf-virtual-program-header 05 596 68)\n(llvm:elf-virtual-program-header 04 69080 480)\n(llvm:elf-virtual-program-header 03 69064 632)\n(llvm:elf-virtual-program-header 02 0 2100)\n(llvm:elf-virtual-program-header 01 568 27)\n(llvm:elf-virtual-program-header 00 64 504)\n(llvm:entry-point 1536)\n(llvm:name-reference 69656 abort)\n(llvm:name-reference 69648 __gmon_start__)\n(llvm:name-reference 69640 __cxa_finalize)\n(llvm:name-reference 69632 __libc_start_main)\n(llvm:name-reference 69600 _ITM_registerTMCloneTable)\n(llvm:name-reference 69584 __gmon_start__)\n(llvm:name-reference 69576 __cxa_finalize)\n(llvm:name-reference 69568 _ITM_deregisterTMCloneTable)\n(llvm:section-entry .shstrtab 0 259 6972)\n(llvm:section-entry .strtab 0 572 6400)\n(llvm:section-entry .symtab 0 2184 4216)\n(llvm:section-entry .comment 0 71 4144)\n(llvm:section-entry .bss 69680 16 4144)\n(llvm:section-entry .data 69664 16 4128)\n(llvm:section-entry .got.plt 69608 56 4072)\n(llvm:section-entry .got 69560 48 4024)\n(llvm:section-entry .dynamic 69080 480 3544)\n(llvm:section-entry .fini_array 69072 8 3536)\n(llvm:section-entry .init_array 69064 8 3528)\n(llvm:section-entry .eh_frame 1920 180 1920)\n(llvm:section-entry .eh_frame_hdr 1856 60 1856)\n(llvm:section-entry .rodata 1852 4 1852)\n(llvm:section-entry .fini 1832 20 1832)\n(llvm:section-entry .text 1536 296 1536)\n(llvm:section-entry .plt 1440 96 1440)\n(llvm:section-entry .init 1408 24 1408)\n(llvm:section-entry .rela.plt 1312 96 1312)\n(llvm:section-entry .rela.dyn 1120 192 1120)\n(llvm:section-entry .gnu.version_r 1072 48 1072)\n(llvm:section-entry .gnu.version 1054 18 1054)\n(llvm:section-entry .dynstr 912 141 912)\n(llvm:section-entry .dynsym 696 216 696)\n(llvm:section-entry .gnu.hash 664 28 664)\n(llvm:section-entry .note.ABI-tag 632 32 632)\n(llvm:section-entry .note.gnu.build-id 596 36 596)\n(llvm:section-entry .interp 568 27 568)\n(llvm:section-flags .shstrtab true false false)\n(llvm:section-flags .strtab true false false)\n(llvm:section-flags .symtab true false false)\n(llvm:section-flags .comment true false false)\n(llvm:section-flags .bss true true false)\n(llvm:section-flags .data true true false)\n(llvm:section-flags .got.plt true true false)\n(llvm:section-flags .got true true false)\n(llvm:section-flags .dynamic true true false)\n(llvm:section-flags .fini_array true true false)\n(llvm:section-flags .init_array true true false)\n(llvm:section-flags .eh_frame true false false)\n(llvm:section-flags .eh_frame_hdr true false false)\n(llvm:section-flags .rodata true false false)\n(llvm:section-flags .fini true false true)\n(llvm:section-flags .text true false true)\n(llvm:section-flags .plt true false true)\n(llvm:section-flags .init true false true)\n(llvm:section-flags .rela.plt true false false)\n(llvm:section-flags .rela.dyn true false false)\n(llvm:section-flags .gnu.version_r true false false)\n(llvm:section-flags .gnu.version true false false)\n(llvm:section-flags .dynstr true false false)\n(llvm:section-flags .dynsym true false false)\n(llvm:section-flags .gnu.hash true false false)\n(llvm:section-flags .note.ABI-tag true false false)\n(llvm:section-flags .note.gnu.build-id true false false)\n(llvm:section-flags .interp true false false)\n(llvm:symbol-entry abort 0 0 0 0)\n(llvm:symbol-entry __cxa_finalize 0 0 0 0)\n(llvm:symbol-entry __libc_start_main 0 0 0 0)\n(llvm:symbol-entry _init 1408 0 1408 1408)\n(llvm:symbol-entry main 1812 20 1812 1812)\n(llvm:symbol-entry _start 1536 52 1536 1536)\n(llvm:symbol-entry abort@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry _fini 1832 0 1832 1832)\n(llvm:symbol-entry __cxa_finalize@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry __libc_start_main@GLIBC_2.34 0 0 0 0)\n(llvm:symbol-entry frame_dummy 1808 0 1808 1808)\n(llvm:symbol-entry __do_global_dtors_aux 1728 0 1728 1728)\n(llvm:symbol-entry register_tm_clones 1664 0 1664 1664)\n(llvm:symbol-entry deregister_tm_clones 1616 0 1616 1616)\n(llvm:symbol-entry call_weak_fn 1588 20 1588 1588)\n(mapped 0 2100 0)\n(mapped 69064 616 3528)\n(named-region 0 2100 02)\n(named-region 69064 632 03)\n(named-region 568 27 .interp)\n(named-region 596 36 .note.gnu.build-id)\n(named-region 632 32 .note.ABI-tag)\n(named-region 664 28 .gnu.hash)\n(named-region 696 216 .dynsym)\n(named-region 912 141 .dynstr)\n(named-region 1054 18 .gnu.version)\n(named-region 1072 48 .gnu.version_r)\n(named-region 1120 192 .rela.dyn)\n(named-region 1312 96 .rela.plt)\n(named-region 1408 24 .init)\n(named-region 1440 96 .plt)\n(named-region 1536 296 .text)\n(named-region 1832 20 .fini)\n(named-region 1852 4 .rodata)\n(named-region 1856 60 .eh_frame_hdr)\n(named-region 1920 180 .eh_frame)\n(named-region 69064 8 .init_array)\n(named-region 69072 8 .fini_array)\n(named-region 69080 480 .dynamic)\n(named-region 69560 48 .got)\n(named-region 69608 56 .got.plt)\n(named-region 69664 16 .data)\n(named-region 69680 16 .bss)\n(named-region 0 71 .comment)\n(named-region 0 2184 .symtab)\n(named-region 0 572 .strtab)\n(named-region 0 259 .shstrtab)\n(named-symbol 1588 call_weak_fn)\n(named-symbol 1616 deregister_tm_clones)\n(named-symbol 1664 register_tm_clones)\n(named-symbol 1728 __do_global_dtors_aux)\n(named-symbol 1808 frame_dummy)\n(named-symbol 0 __libc_start_main@GLIBC_2.34)\n(named-symbol 0 __cxa_finalize@GLIBC_2.17)\n(named-symbol 1832 _fini)\n(named-symbol 0 abort@GLIBC_2.17)\n(named-symbol 1536 _start)\n(named-symbol 1812 main)\n(named-symbol 1408 _init)\n(named-symbol 0 __libc_start_main)\n(named-symbol 0 __cxa_finalize)\n(named-symbol 0 abort)\n(require libc.so.6)\n(section 568 27)\n(section 596 36)\n(section 632 32)\n(section 664 28)\n(section 696 216)\n(section 912 141)\n(section 1054 18)\n(section 1072 48)\n(section 1120 192)\n(section 1312 96)\n(section 1408 24)\n(section 1440 96)\n(section 1536 296)\n(section 1832 20)\n(section 1852 4)\n(section 1856 60)\n(section 1920 180)\n(section 69064 8)\n(section 69072 8)\n(section 69080 480)\n(section 69560 48)\n(section 69608 56)\n(section 69664 16)\n(section 69680 16)\n(section 0 71)\n(section 0 2184)\n(section 0 572)\n(section 0 259)\n(segment 0 2100 true false true)\n(segment 69064 632 true true false)\n(subarch v8)\n(symbol-chunk 1588 20 1588)\n(symbol-chunk 1536 52 1536)\n(symbol-chunk 1812 20 1812)\n(symbol-value 1588 1588)\n(symbol-value 1616 1616)\n(symbol-value 1664 1664)\n(symbol-value 1728 1728)\n(symbol-value 1808 1808)\n(symbol-value 1832 1832)\n(symbol-value 1536 1536)\n(symbol-value 1812 1812)\n(symbol-value 1408 1408)\n(symbol-value 0 0)\n(system \"\")\n(vendor \"\")\n"), -Attr("abi-name","\"aarch64-linux-gnu-elf\"")]), -Sections([Section(".shstrtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1d\x00\x1c\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x08\x00\x00\x00\x00\x00\x00\x34\x08\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\xc8\x0d\x00\x00\x00\x00\x00\x00\xc8\x0d\x01\x00\x00\x00\x00\x00\xc8\x0d\x01"), -Section(".strtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1d\x00\x1c\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x08\x00\x00\x00\x00\x00\x00\x34\x08\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\xc8\x0d\x00\x00\x00\x00\x00\x00\xc8\x0d\x01\x00\x00\x00\x00\x00\xc8\x0d\x01\x00\x00\x00\x00\x00\x68\x02\x00\x00\x00\x00\x00\x00\x78\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\xd8\x0d\x00\x00\x00\x00\x00\x00\xd8\x0d\x01\x00\x00\x00\x00\x00\xd8\x0d\x01\x00\x00\x00\x00\x00\xe0\x01\x00\x00\x00\x00\x00\x00\xe0\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x50\xe5\x74\x64\x04\x00\x00\x00\x40\x07\x00\x00\x00\x00\x00\x00\x40\x07\x00\x00\x00\x00\x00\x00\x40\x07\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x51\xe5\x74\x64\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x52\xe5\x74\x64\x04\x00\x00\x00\xc8\x0d\x00\x00\x00\x00\x00\x00\xc8\x0d\x01\x00\x00\x00\x00\x00\xc8\x0d\x01\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x2f\x6c\x69\x62"), -Section(".comment", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1d\x00\x1c\x00\x06\x00\x00\x00\x04\x00\x00"), -Section(".interp", 0x238, "\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00"), -Section(".note.gnu.build-id", 0x254, "\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\x51\x5e\xdf\x53\x6d\x6e\x10\x91\xdc\x19\x05\xbd\x72\x51\x89\xa8\x25\x4c\x6e\x99"), -Section(".note.ABI-tag", 0x278, "\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00"), -Section(".gnu.hash", 0x298, "\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".dynsym", 0x2B8, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\x80\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x17\x00\x20\x10\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".dynstr", 0x390, "\x00\x5f\x5f\x63\x78\x61\x5f\x66\x69\x6e\x61\x6c\x69\x7a\x65\x00\x5f\x5f\x6c\x69\x62\x63\x5f\x73\x74\x61\x72\x74\x5f\x6d\x61\x69\x6e\x00\x61\x62\x6f\x72\x74\x00\x6c\x69\x62\x63\x2e\x73\x6f\x2e\x36\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x31\x37\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x33\x34\x00\x5f\x49\x54\x4d\x5f\x64\x65\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x5f\x5f\x67\x6d\x6f\x6e\x5f\x73\x74\x61\x72\x74\x5f\x5f\x00\x5f\x49\x54\x4d\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00"), -Section(".gnu.version", 0x41E, "\x00\x00\x00\x00\x00\x00\x02\x00\x01\x00\x03\x00\x01\x00\x03\x00\x01\x00"), -Section(".gnu.version_r", 0x430, "\x01\x00\x02\x00\x28\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x97\x91\x96\x06\x00\x00\x03\x00\x32\x00\x00\x00\x10\x00\x00\x00\xb4\x91\x96\x06\x00\x00\x02\x00\x3d\x00\x00\x00\x00\x00\x00\x00"), -Section(".rela.dyn", 0x460, "\xc8\x0d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x10\x07\x00\x00\x00\x00\x00\x00\xd0\x0d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\xc0\x06\x00\x00\x00\x00\x00\x00\xd8\x0f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x14\x07\x00\x00\x00\x00\x00\x00\x28\x10\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x28\x10\x01\x00\x00\x00\x00\x00\xc0\x0f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x0f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x0f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".rela.plt", 0x520, "\x00\x10\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x10\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x10\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x10\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".init", 0x580, "\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x2a\x00\x00\x94\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".plt", 0x5A0, "\xf0\x7b\xbf\xa9\x90\x00\x00\x90\x11\xfe\x47\xf9\x10\xe2\x3f\x91\x20\x02\x1f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x90\x00\x00\xb0\x11\x02\x40\xf9\x10\x02\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\x06\x40\xf9\x10\x22\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\x0a\x40\xf9\x10\x42\x00\x91\x20\x02\x1f\xd6\x90\x00\x00\xb0\x11\x0e\x40\xf9\x10\x62\x00\x91\x20\x02\x1f\xd6"), -Section(".text", 0x600, "\x1f\x20\x03\xd5\x1d\x00\x80\xd2\x1e\x00\x80\xd2\xe5\x03\x00\xaa\xe1\x03\x40\xf9\xe2\x23\x00\x91\xe6\x03\x00\x91\x80\x00\x00\x90\x00\xec\x47\xf9\x03\x00\x80\xd2\x04\x00\x80\xd2\xe5\xff\xff\x97\xf0\xff\xff\x97\x80\x00\x00\x90\x00\xe8\x47\xf9\x40\x00\x00\xb4\xe8\xff\xff\x17\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x80\x00\x00\xb0\x00\xc0\x00\x91\x81\x00\x00\xb0\x21\xc0\x00\x91\x3f\x00\x00\xeb\xc0\x00\x00\x54\x81\x00\x00\x90\x21\xe0\x47\xf9\x61\x00\x00\xb4\xf0\x03\x01\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x80\x00\x00\xb0\x00\xc0\x00\x91\x81\x00\x00\xb0\x21\xc0\x00\x91\x21\x00\x00\xcb\x22\xfc\x7f\xd3\x41\x0c\x81\x8b\x21\xfc\x41\x93\xc1\x00\x00\xb4\x82\x00\x00\x90\x42\xf0\x47\xf9\x62\x00\x00\xb4\xf0\x03\x02\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\xfd\x7b\xbe\xa9\xfd\x03\x00\x91\xf3\x0b\x00\xf9\x93\x00\x00\xb0\x60\xc2\x40\x39\x40\x01\x00\x35\x80\x00\x00\x90\x00\xe4\x47\xf9\x80\x00\x00\xb4\x80\x00\x00\xb0\x00\x14\x40\xf9\xb9\xff\xff\x97\xd8\xff\xff\x97\x20\x00\x80\x52\x60\xc2\x00\x39\xf3\x0b\x40\xf9\xfd\x7b\xc2\xa8\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\xdc\xff\xff\x17\xe8\x03\x00\x2a\x89\x00\x00\xb0\xe0\x03\x1f\x2a\x28\x35\x00\xb9\xc0\x03\x5f\xd6"), -Section(".fini", 0x728, "\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".rodata", 0x73C, "\x01\x00\x02\x00"), -Section(".eh_frame_hdr", 0x740, "\x01\x1b\x03\x3b\x3c\x00\x00\x00\x06\x00\x00\x00\xc0\xfe\xff\xff\x54\x00\x00\x00\x10\xff\xff\xff\x68\x00\x00\x00\x40\xff\xff\xff\x7c\x00\x00\x00\x80\xff\xff\xff\x90\x00\x00\x00\xd0\xff\xff\xff\xb4\x00\x00\x00\xd4\xff\xff\xff\xdc\x00\x00\x00"), -Section(".eh_frame", 0x780, "\x10\x00\x00\x00\x00\x00\x00\x00\x01\x7a\x52\x00\x04\x78\x1e\x01\x1b\x0c\x1f\x00\x10\x00\x00\x00\x18\x00\x00\x00\x64\xfe\xff\xff\x34\x00\x00\x00\x00\x41\x07\x1e\x10\x00\x00\x00\x2c\x00\x00\x00\xa0\xfe\xff\xff\x30\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x40\x00\x00\x00\xbc\xfe\xff\xff\x3c\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x54\x00\x00\x00\xe8\xfe\xff\xff\x48\x00\x00\x00\x00\x41\x0e\x20\x9d\x04\x9e\x03\x42\x93\x02\x4e\xde\xdd\xd3\x0e\x00\x00\x00\x00\x10\x00\x00\x00\x78\x00\x00\x00\x14\xff\xff\xff\x04\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x01\x7a\x52\x00\x01\x7c\x1e\x01\x1b\x0c\x1f\x00\x10\x00\x00\x00\x18\x00\x00\x00\xf0\xfe\xff\xff\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".fini_array", 0x10DD0, "\xc0\x06\x00\x00\x00\x00\x00\x00"), -Section(".dynamic", 0x10DD8, "\x01\x00\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x80\x05\x00\x00\x00\x00\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x28\x07\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\xc8\x0d\x01\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\xd0\x0d\x01\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xf5\xfe\xff\x6f\x00\x00\x00\x00\x98\x02\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x90\x03\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\xb8\x02\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\xe8\x0f\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x20\x05\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x60\x04\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\xfb\xff\xff\x6f\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\xfe\xff\xff\x6f\x00\x00\x00\x00\x30\x04\x00\x00\x00\x00\x00\x00\xff\xff\xff\x6f\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xf0\xff\xff\x6f\x00\x00\x00\x00\x1e\x04\x00\x00\x00\x00\x00\x00\xf9\xff\xff\x6f\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".init_array", 0x10DC8, "\x10\x07\x00\x00\x00\x00\x00\x00"), -Section(".got", 0x10FB8, "\xd8\x0d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".got.plt", 0x10FE8, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00"), -Section(".data", 0x11020, "\x00\x00\x00\x00\x00\x00\x00\x00\x28\x10\x01\x00\x00\x00\x00\x00")]), -Memmap([Annotation(Region(0x0,0x833), Attr("segment","02 0 2100")), -Annotation(Region(0x600,0x633), Attr("symbol","\"_start\"")), -Annotation(Region(0x0,0x102), Attr("section","\".shstrtab\"")), -Annotation(Region(0x0,0x23B), Attr("section","\".strtab\"")), -Annotation(Region(0x0,0x46), Attr("section","\".comment\"")), -Annotation(Region(0x238,0x252), Attr("section","\".interp\"")), -Annotation(Region(0x254,0x277), Attr("section","\".note.gnu.build-id\"")), -Annotation(Region(0x278,0x297), Attr("section","\".note.ABI-tag\"")), -Annotation(Region(0x298,0x2B3), Attr("section","\".gnu.hash\"")), -Annotation(Region(0x2B8,0x38F), Attr("section","\".dynsym\"")), -Annotation(Region(0x390,0x41C), Attr("section","\".dynstr\"")), -Annotation(Region(0x41E,0x42F), Attr("section","\".gnu.version\"")), -Annotation(Region(0x430,0x45F), Attr("section","\".gnu.version_r\"")), -Annotation(Region(0x460,0x51F), Attr("section","\".rela.dyn\"")), -Annotation(Region(0x520,0x57F), Attr("section","\".rela.plt\"")), -Annotation(Region(0x580,0x597), Attr("section","\".init\"")), -Annotation(Region(0x5A0,0x5FF), Attr("section","\".plt\"")), -Annotation(Region(0x580,0x597), Attr("code-region","()")), -Annotation(Region(0x5A0,0x5FF), Attr("code-region","()")), -Annotation(Region(0x600,0x633), Attr("symbol-info","_start 0x600 52")), -Annotation(Region(0x634,0x647), Attr("symbol","\"call_weak_fn\"")), -Annotation(Region(0x634,0x647), Attr("symbol-info","call_weak_fn 0x634 20")), -Annotation(Region(0x600,0x727), Attr("section","\".text\"")), -Annotation(Region(0x600,0x727), Attr("code-region","()")), -Annotation(Region(0x714,0x727), Attr("symbol","\"main\"")), -Annotation(Region(0x714,0x727), Attr("symbol-info","main 0x714 20")), -Annotation(Region(0x728,0x73B), Attr("section","\".fini\"")), -Annotation(Region(0x728,0x73B), Attr("code-region","()")), -Annotation(Region(0x73C,0x73F), Attr("section","\".rodata\"")), -Annotation(Region(0x740,0x77B), Attr("section","\".eh_frame_hdr\"")), -Annotation(Region(0x780,0x833), Attr("section","\".eh_frame\"")), -Annotation(Region(0x10DC8,0x1102F), Attr("segment","03 0x10DC8 632")), -Annotation(Region(0x10DD0,0x10DD7), Attr("section","\".fini_array\"")), -Annotation(Region(0x10DD8,0x10FB7), Attr("section","\".dynamic\"")), -Annotation(Region(0x10DC8,0x10DCF), Attr("section","\".init_array\"")), -Annotation(Region(0x10FB8,0x10FE7), Attr("section","\".got\"")), -Annotation(Region(0x10FE8,0x1101F), Attr("section","\".got.plt\"")), -Annotation(Region(0x11020,0x1102F), Attr("section","\".data\""))]), -Program(Tid(1_418, "%0000058a"), Attrs([]), - Subs([Sub(Tid(1_368, "@__cxa_finalize"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x5D0"), -Attr("stub","()")]), "__cxa_finalize", Args([Arg(Tid(1_419, "%0000058b"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("__cxa_finalize_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(786, "@__cxa_finalize"), - Attrs([Attr("address","0x5D0")]), Phis([]), -Defs([Def(Tid(1_034, "%0000040a"), Attrs([Attr("address","0x5D0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(1_041, "%00000411"), Attrs([Attr("address","0x5D4"), -Attr("insn","ldr x17, [x16, #0x8]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_047, "%00000417"), Attrs([Attr("address","0x5D8"), -Attr("insn","add x16, x16, #0x8")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(8,64)))]), Jmps([Call(Tid(1_052, "%0000041c"), - Attrs([Attr("address","0x5DC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), -Sub(Tid(1_369, "@__do_global_dtors_aux"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x6C0")]), - "__do_global_dtors_aux", Args([Arg(Tid(1_420, "%0000058c"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("__do_global_dtors_aux_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(610, "@__do_global_dtors_aux"), - Attrs([Attr("address","0x6C0")]), Phis([]), Defs([Def(Tid(614, "%00000266"), - Attrs([Attr("address","0x6C0"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("#3",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(620, "%0000026c"), Attrs([Attr("address","0x6C0"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#3",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(626, "%00000272"), Attrs([Attr("address","0x6C0"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#3",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(630, "%00000276"), Attrs([Attr("address","0x6C0"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("R31",Imm(64)), -Var("#3",Imm(64))), Def(Tid(636, "%0000027c"), - Attrs([Attr("address","0x6C4"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(644, "%00000284"), - Attrs([Attr("address","0x6C8"), Attr("insn","str x19, [sp, #0x10]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),Var("R19",Imm(64)),LittleEndian(),64)), -Def(Tid(649, "%00000289"), Attrs([Attr("address","0x6CC"), -Attr("insn","adrp x19, #69632")]), Var("R19",Imm(64)), Int(69632,64)), -Def(Tid(656, "%00000290"), Attrs([Attr("address","0x6D0"), -Attr("insn","ldrb w0, [x19, #0x30]")]), Var("R0",Imm(64)), -UNSIGNED(64,Load(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(48,64)),LittleEndian(),8)))]), -Jmps([Goto(Tid(663, "%00000297"), Attrs([Attr("address","0x6D4"), -Attr("insn","cbnz w0, #0x28")]), - NEQ(Extract(31,0,Var("R0",Imm(64))),Int(0,32)), -Direct(Tid(661, "%00000295"))), Goto(Tid(1_408, "%00000580"), Attrs([]), - Int(1,1), Direct(Tid(731, "%000002db")))])), Blk(Tid(731, "%000002db"), - Attrs([Attr("address","0x6D8")]), Phis([]), Defs([Def(Tid(734, "%000002de"), - Attrs([Attr("address","0x6D8"), Attr("insn","adrp x0, #65536")]), - Var("R0",Imm(64)), Int(65536,64)), Def(Tid(741, "%000002e5"), - Attrs([Attr("address","0x6DC"), Attr("insn","ldr x0, [x0, #0xfc8]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4040,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(747, "%000002eb"), Attrs([Attr("address","0x6E0"), -Attr("insn","cbz x0, #0x10")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(745, "%000002e9"))), Goto(Tid(1_409, "%00000581"), Attrs([]), - Int(1,1), Direct(Tid(770, "%00000302")))])), Blk(Tid(770, "%00000302"), - Attrs([Attr("address","0x6E4")]), Phis([]), Defs([Def(Tid(773, "%00000305"), - Attrs([Attr("address","0x6E4"), Attr("insn","adrp x0, #69632")]), - Var("R0",Imm(64)), Int(69632,64)), Def(Tid(780, "%0000030c"), - Attrs([Attr("address","0x6E8"), Attr("insn","ldr x0, [x0, #0x28]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(40,64)),LittleEndian(),64)), -Def(Tid(785, "%00000311"), Attrs([Attr("address","0x6EC"), -Attr("insn","bl #-0x11c")]), Var("R30",Imm(64)), Int(1776,64))]), -Jmps([Call(Tid(788, "%00000314"), Attrs([Attr("address","0x6EC"), -Attr("insn","bl #-0x11c")]), Int(1,1), -(Direct(Tid(1_368, "@__cxa_finalize")),Direct(Tid(745, "%000002e9"))))])), -Blk(Tid(745, "%000002e9"), Attrs([Attr("address","0x6F0")]), Phis([]), -Defs([Def(Tid(753, "%000002f1"), Attrs([Attr("address","0x6F0"), -Attr("insn","bl #-0xa0")]), Var("R30",Imm(64)), Int(1780,64))]), -Jmps([Call(Tid(755, "%000002f3"), Attrs([Attr("address","0x6F0"), -Attr("insn","bl #-0xa0")]), Int(1,1), -(Direct(Tid(1_382, "@deregister_tm_clones")),Direct(Tid(757, "%000002f5"))))])), -Blk(Tid(757, "%000002f5"), Attrs([Attr("address","0x6F4")]), Phis([]), -Defs([Def(Tid(760, "%000002f8"), Attrs([Attr("address","0x6F4"), -Attr("insn","mov w0, #0x1")]), Var("R0",Imm(64)), Int(1,64)), -Def(Tid(768, "%00000300"), Attrs([Attr("address","0x6F8"), -Attr("insn","strb w0, [x19, #0x30]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(48,64)),Extract(7,0,Var("R0",Imm(64))),LittleEndian(),8))]), -Jmps([Goto(Tid(1_410, "%00000582"), Attrs([]), Int(1,1), -Direct(Tid(661, "%00000295")))])), Blk(Tid(661, "%00000295"), - Attrs([Attr("address","0x6FC")]), Phis([]), Defs([Def(Tid(671, "%0000029f"), - Attrs([Attr("address","0x6FC"), Attr("insn","ldr x19, [sp, #0x10]")]), - Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),LittleEndian(),64)), -Def(Tid(678, "%000002a6"), Attrs([Attr("address","0x700"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(683, "%000002ab"), Attrs([Attr("address","0x700"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(687, "%000002af"), Attrs([Attr("address","0x700"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(692, "%000002b4"), - Attrs([Attr("address","0x704"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(1_373, "@__libc_start_main"), - Attrs([Attr("c.proto","signed (*)(signed (*)(signed , char** , char** );* main, signed , char** , \nvoid* auxv)"), -Attr("address","0x5C0"), Attr("stub","()")]), "__libc_start_main", - Args([Arg(Tid(1_421, "%0000058d"), - Attrs([Attr("c.layout","**[ : 64]"), -Attr("c.data","Top:u64 ptr ptr"), -Attr("c.type","signed (*)(signed , char** , char** );*")]), - Var("__libc_start_main_main",Imm(64)), Var("R0",Imm(64)), In()), -Arg(Tid(1_422, "%0000058e"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("__libc_start_main_arg2",Imm(32)), LOW(32,Var("R1",Imm(64))), In()), -Arg(Tid(1_423, "%0000058f"), Attrs([Attr("c.layout","**[char : 8]"), -Attr("c.data","Top:u8 ptr ptr"), Attr("c.type","char**")]), - Var("__libc_start_main_arg3",Imm(64)), Var("R2",Imm(64)), Both()), -Arg(Tid(1_424, "%00000590"), Attrs([Attr("c.layout","*[ : 8]"), -Attr("c.data","{} ptr"), Attr("c.type","void*")]), - Var("__libc_start_main_auxv",Imm(64)), Var("R3",Imm(64)), Both()), -Arg(Tid(1_425, "%00000591"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("__libc_start_main_result",Imm(32)), LOW(32,Var("R0",Imm(64))), -Out())]), Blks([Blk(Tid(443, "@__libc_start_main"), - Attrs([Attr("address","0x5C0")]), Phis([]), -Defs([Def(Tid(1_012, "%000003f4"), Attrs([Attr("address","0x5C0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(1_019, "%000003fb"), Attrs([Attr("address","0x5C4"), -Attr("insn","ldr x17, [x16]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R16",Imm(64)),LittleEndian(),64)), -Def(Tid(1_025, "%00000401"), Attrs([Attr("address","0x5C8"), -Attr("insn","add x16, x16, #0x0")]), Var("R16",Imm(64)), -Var("R16",Imm(64)))]), Jmps([Call(Tid(1_030, "%00000406"), - Attrs([Attr("address","0x5CC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(1_374, "@_fini"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x728")]), - "_fini", Args([Arg(Tid(1_426, "%00000592"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_fini_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(31, "@_fini"), - Attrs([Attr("address","0x728")]), Phis([]), Defs([Def(Tid(37, "%00000025"), - Attrs([Attr("address","0x72C"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#0",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(43, "%0000002b"), Attrs([Attr("address","0x72C"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#0",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(49, "%00000031"), Attrs([Attr("address","0x72C"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#0",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(53, "%00000035"), Attrs([Attr("address","0x72C"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#0",Imm(64))), Def(Tid(59, "%0000003b"), Attrs([Attr("address","0x730"), -Attr("insn","mov x29, sp")]), Var("R29",Imm(64)), Var("R31",Imm(64))), -Def(Tid(66, "%00000042"), Attrs([Attr("address","0x734"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(71, "%00000047"), Attrs([Attr("address","0x734"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(75, "%0000004b"), Attrs([Attr("address","0x734"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(80, "%00000050"), - Attrs([Attr("address","0x738"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(1_375, "@_init"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x580")]), - "_init", Args([Arg(Tid(1_427, "%00000593"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_init_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_205, "@_init"), - Attrs([Attr("address","0x580")]), Phis([]), -Defs([Def(Tid(1_211, "%000004bb"), Attrs([Attr("address","0x584"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#5",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(1_217, "%000004c1"), Attrs([Attr("address","0x584"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#5",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_223, "%000004c7"), Attrs([Attr("address","0x584"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#5",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_227, "%000004cb"), Attrs([Attr("address","0x584"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#5",Imm(64))), Def(Tid(1_233, "%000004d1"), - Attrs([Attr("address","0x588"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(1_238, "%000004d6"), - Attrs([Attr("address","0x58C"), Attr("insn","bl #0xa8")]), - Var("R30",Imm(64)), Int(1424,64))]), Jmps([Call(Tid(1_240, "%000004d8"), - Attrs([Attr("address","0x58C"), Attr("insn","bl #0xa8")]), Int(1,1), -(Direct(Tid(1_380, "@call_weak_fn")),Direct(Tid(1_242, "%000004da"))))])), -Blk(Tid(1_242, "%000004da"), Attrs([Attr("address","0x590")]), Phis([]), -Defs([Def(Tid(1_247, "%000004df"), Attrs([Attr("address","0x590"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_252, "%000004e4"), Attrs([Attr("address","0x590"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_256, "%000004e8"), Attrs([Attr("address","0x590"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(1_261, "%000004ed"), - Attrs([Attr("address","0x594"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(1_376, "@_start"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x600"), -Attr("stub","()"), Attr("entry-point","()")]), "_start", - Args([Arg(Tid(1_428, "%00000594"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("_start_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(380, "@_start"), Attrs([Attr("address","0x600")]), Phis([]), -Defs([Def(Tid(385, "%00000181"), Attrs([Attr("address","0x604"), -Attr("insn","mov x29, #0x0")]), Var("R29",Imm(64)), Int(0,64)), -Def(Tid(390, "%00000186"), Attrs([Attr("address","0x608"), -Attr("insn","mov x30, #0x0")]), Var("R30",Imm(64)), Int(0,64)), -Def(Tid(396, "%0000018c"), Attrs([Attr("address","0x60C"), -Attr("insn","mov x5, x0")]), Var("R5",Imm(64)), Var("R0",Imm(64))), -Def(Tid(403, "%00000193"), Attrs([Attr("address","0x610"), -Attr("insn","ldr x1, [sp]")]), Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(409, "%00000199"), Attrs([Attr("address","0x614"), -Attr("insn","add x2, sp, #0x8")]), Var("R2",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(8,64))), Def(Tid(415, "%0000019f"), - Attrs([Attr("address","0x618"), Attr("insn","mov x6, sp")]), - Var("R6",Imm(64)), Var("R31",Imm(64))), Def(Tid(420, "%000001a4"), - Attrs([Attr("address","0x61C"), Attr("insn","adrp x0, #65536")]), - Var("R0",Imm(64)), Int(65536,64)), Def(Tid(427, "%000001ab"), - Attrs([Attr("address","0x620"), Attr("insn","ldr x0, [x0, #0xfd8]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4056,64)),LittleEndian(),64)), -Def(Tid(432, "%000001b0"), Attrs([Attr("address","0x624"), -Attr("insn","mov x3, #0x0")]), Var("R3",Imm(64)), Int(0,64)), -Def(Tid(437, "%000001b5"), Attrs([Attr("address","0x628"), -Attr("insn","mov x4, #0x0")]), Var("R4",Imm(64)), Int(0,64)), -Def(Tid(442, "%000001ba"), Attrs([Attr("address","0x62C"), -Attr("insn","bl #-0x6c")]), Var("R30",Imm(64)), Int(1584,64))]), -Jmps([Call(Tid(445, "%000001bd"), Attrs([Attr("address","0x62C"), -Attr("insn","bl #-0x6c")]), Int(1,1), -(Direct(Tid(1_373, "@__libc_start_main")),Direct(Tid(447, "%000001bf"))))])), -Blk(Tid(447, "%000001bf"), Attrs([Attr("address","0x630")]), Phis([]), -Defs([Def(Tid(450, "%000001c2"), Attrs([Attr("address","0x630"), -Attr("insn","bl #-0x40")]), Var("R30",Imm(64)), Int(1588,64))]), -Jmps([Call(Tid(453, "%000001c5"), Attrs([Attr("address","0x630"), -Attr("insn","bl #-0x40")]), Int(1,1), -(Direct(Tid(1_379, "@abort")),Direct(Tid(1_411, "%00000583"))))])), -Blk(Tid(1_411, "%00000583"), Attrs([]), Phis([]), Defs([]), -Jmps([Call(Tid(1_412, "%00000584"), Attrs([]), Int(1,1), -(Direct(Tid(1_380, "@call_weak_fn")),))]))])), Sub(Tid(1_379, "@abort"), - Attrs([Attr("noreturn","()"), Attr("c.proto","void (*)(void)"), -Attr("address","0x5F0"), Attr("stub","()")]), "abort", Args([]), -Blks([Blk(Tid(451, "@abort"), Attrs([Attr("address","0x5F0")]), Phis([]), -Defs([Def(Tid(1_078, "%00000436"), Attrs([Attr("address","0x5F0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(1_085, "%0000043d"), Attrs([Attr("address","0x5F4"), -Attr("insn","ldr x17, [x16, #0x18]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(24,64)),LittleEndian(),64)), -Def(Tid(1_091, "%00000443"), Attrs([Attr("address","0x5F8"), -Attr("insn","add x16, x16, #0x18")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(24,64)))]), Jmps([Call(Tid(1_096, "%00000448"), - Attrs([Attr("address","0x5FC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(1_380, "@call_weak_fn"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x634")]), - "call_weak_fn", Args([Arg(Tid(1_429, "%00000595"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("call_weak_fn_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(455, "@call_weak_fn"), - Attrs([Attr("address","0x634")]), Phis([]), Defs([Def(Tid(458, "%000001ca"), - Attrs([Attr("address","0x634"), Attr("insn","adrp x0, #65536")]), - Var("R0",Imm(64)), Int(65536,64)), Def(Tid(465, "%000001d1"), - Attrs([Attr("address","0x638"), Attr("insn","ldr x0, [x0, #0xfd0]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4048,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(471, "%000001d7"), Attrs([Attr("address","0x63C"), -Attr("insn","cbz x0, #0x8")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(469, "%000001d5"))), Goto(Tid(1_413, "%00000585"), Attrs([]), - Int(1,1), Direct(Tid(850, "%00000352")))])), Blk(Tid(469, "%000001d5"), - Attrs([Attr("address","0x644")]), Phis([]), Defs([]), -Jmps([Call(Tid(477, "%000001dd"), Attrs([Attr("address","0x644"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(850, "%00000352"), Attrs([Attr("address","0x640")]), Phis([]), -Defs([]), Jmps([Goto(Tid(853, "%00000355"), Attrs([Attr("address","0x640"), -Attr("insn","b #-0x60")]), Int(1,1), Direct(Tid(851, "@__gmon_start__")))])), -Blk(Tid(851, "@__gmon_start__"), Attrs([Attr("address","0x5E0")]), Phis([]), -Defs([Def(Tid(1_056, "%00000420"), Attrs([Attr("address","0x5E0"), -Attr("insn","adrp x16, #69632")]), Var("R16",Imm(64)), Int(69632,64)), -Def(Tid(1_063, "%00000427"), Attrs([Attr("address","0x5E4"), -Attr("insn","ldr x17, [x16, #0x10]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(16,64)),LittleEndian(),64)), -Def(Tid(1_069, "%0000042d"), Attrs([Attr("address","0x5E8"), -Attr("insn","add x16, x16, #0x10")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(1_074, "%00000432"), - Attrs([Attr("address","0x5EC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), -Sub(Tid(1_382, "@deregister_tm_clones"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x650")]), - "deregister_tm_clones", Args([Arg(Tid(1_430, "%00000596"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("deregister_tm_clones_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(483, "@deregister_tm_clones"), - Attrs([Attr("address","0x650")]), Phis([]), Defs([Def(Tid(486, "%000001e6"), - Attrs([Attr("address","0x650"), Attr("insn","adrp x0, #69632")]), - Var("R0",Imm(64)), Int(69632,64)), Def(Tid(492, "%000001ec"), - Attrs([Attr("address","0x654"), Attr("insn","add x0, x0, #0x30")]), - Var("R0",Imm(64)), PLUS(Var("R0",Imm(64)),Int(48,64))), -Def(Tid(497, "%000001f1"), Attrs([Attr("address","0x658"), -Attr("insn","adrp x1, #69632")]), Var("R1",Imm(64)), Int(69632,64)), -Def(Tid(503, "%000001f7"), Attrs([Attr("address","0x65C"), -Attr("insn","add x1, x1, #0x30")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(48,64))), Def(Tid(509, "%000001fd"), - Attrs([Attr("address","0x660"), Attr("insn","cmp x1, x0")]), - Var("#1",Imm(64)), NOT(Var("R0",Imm(64)))), Def(Tid(514, "%00000202"), - Attrs([Attr("address","0x660"), Attr("insn","cmp x1, x0")]), - Var("#2",Imm(64)), PLUS(Var("R1",Imm(64)),NOT(Var("R0",Imm(64))))), -Def(Tid(520, "%00000208"), Attrs([Attr("address","0x660"), -Attr("insn","cmp x1, x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#2",Imm(64)),Int(1,64))),PLUS(PLUS(SIGNED(65,Var("R1",Imm(64))),SIGNED(65,Var("#1",Imm(64)))),Int(1,65)))), -Def(Tid(526, "%0000020e"), Attrs([Attr("address","0x660"), -Attr("insn","cmp x1, x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#2",Imm(64)),Int(1,64))),PLUS(PLUS(UNSIGNED(65,Var("R1",Imm(64))),UNSIGNED(65,Var("#1",Imm(64)))),Int(1,65)))), -Def(Tid(530, "%00000212"), Attrs([Attr("address","0x660"), -Attr("insn","cmp x1, x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#2",Imm(64)),Int(1,64)),Int(0,64))), Def(Tid(534, "%00000216"), - Attrs([Attr("address","0x660"), Attr("insn","cmp x1, x0")]), - Var("NF",Imm(1)), Extract(63,63,PLUS(Var("#2",Imm(64)),Int(1,64))))]), -Jmps([Goto(Tid(540, "%0000021c"), Attrs([Attr("address","0x664"), -Attr("insn","b.eq #0x18")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(538, "%0000021a"))), Goto(Tid(1_414, "%00000586"), Attrs([]), - Int(1,1), Direct(Tid(820, "%00000334")))])), Blk(Tid(820, "%00000334"), - Attrs([Attr("address","0x668")]), Phis([]), Defs([Def(Tid(823, "%00000337"), - Attrs([Attr("address","0x668"), Attr("insn","adrp x1, #65536")]), - Var("R1",Imm(64)), Int(65536,64)), Def(Tid(830, "%0000033e"), - Attrs([Attr("address","0x66C"), Attr("insn","ldr x1, [x1, #0xfc0]")]), - Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R1",Imm(64)),Int(4032,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(835, "%00000343"), Attrs([Attr("address","0x670"), -Attr("insn","cbz x1, #0xc")]), EQ(Var("R1",Imm(64)),Int(0,64)), -Direct(Tid(538, "%0000021a"))), Goto(Tid(1_415, "%00000587"), Attrs([]), - Int(1,1), Direct(Tid(839, "%00000347")))])), Blk(Tid(538, "%0000021a"), - Attrs([Attr("address","0x67C")]), Phis([]), Defs([]), -Jmps([Call(Tid(546, "%00000222"), Attrs([Attr("address","0x67C"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(839, "%00000347"), Attrs([Attr("address","0x674")]), Phis([]), -Defs([Def(Tid(843, "%0000034b"), Attrs([Attr("address","0x674"), -Attr("insn","mov x16, x1")]), Var("R16",Imm(64)), Var("R1",Imm(64)))]), -Jmps([Call(Tid(848, "%00000350"), Attrs([Attr("address","0x678"), -Attr("insn","br x16")]), Int(1,1), (Indirect(Var("R16",Imm(64))),))]))])), -Sub(Tid(1_385, "@frame_dummy"), Attrs([Attr("c.proto","signed (*)(void)"), -Attr("address","0x710")]), "frame_dummy", Args([Arg(Tid(1_431, "%00000597"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("frame_dummy_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(698, "@frame_dummy"), - Attrs([Attr("address","0x710")]), Phis([]), Defs([]), -Jmps([Call(Tid(700, "%000002bc"), Attrs([Attr("address","0x710"), -Attr("insn","b #-0x90")]), Int(1,1), -(Direct(Tid(1_387, "@register_tm_clones")),))]))])), Sub(Tid(1_386, "@main"), - Attrs([Attr("c.proto","signed (*)(signed argc, const char** argv)"), -Attr("address","0x714")]), "main", Args([Arg(Tid(1_432, "%00000598"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("main_argc",Imm(32)), -LOW(32,Var("R0",Imm(64))), In()), Arg(Tid(1_433, "%00000599"), - Attrs([Attr("c.layout","**[char : 8]"), Attr("c.data","Top:u8 ptr ptr"), -Attr("c.type"," const char**")]), Var("main_argv",Imm(64)), -Var("R1",Imm(64)), Both()), Arg(Tid(1_434, "%0000059a"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("main_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(702, "@main"), - Attrs([Attr("address","0x714")]), Phis([]), Defs([Def(Tid(706, "%000002c2"), - Attrs([Attr("address","0x714"), Attr("insn","mov w8, w0")]), - Var("R8",Imm(64)), UNSIGNED(64,Extract(31,0,Var("R0",Imm(64))))), -Def(Tid(711, "%000002c7"), Attrs([Attr("address","0x718"), -Attr("insn","adrp x9, #69632")]), Var("R9",Imm(64)), Int(69632,64)), -Def(Tid(716, "%000002cc"), Attrs([Attr("address","0x71C"), -Attr("insn","mov w0, wzr")]), Var("R0",Imm(64)), Int(0,64)), -Def(Tid(724, "%000002d4"), Attrs([Attr("address","0x720"), -Attr("insn","str w8, [x9, #0x34]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R9",Imm(64)),Int(52,64)),Extract(31,0,Var("R8",Imm(64))),LittleEndian(),32))]), -Jmps([Call(Tid(729, "%000002d9"), Attrs([Attr("address","0x724"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))]))])), -Sub(Tid(1_387, "@register_tm_clones"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x680")]), - "register_tm_clones", Args([Arg(Tid(1_435, "%0000059b"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("register_tm_clones_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(548, "@register_tm_clones"), Attrs([Attr("address","0x680")]), - Phis([]), Defs([Def(Tid(551, "%00000227"), Attrs([Attr("address","0x680"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(557, "%0000022d"), Attrs([Attr("address","0x684"), -Attr("insn","add x0, x0, #0x30")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(48,64))), Def(Tid(562, "%00000232"), - Attrs([Attr("address","0x688"), Attr("insn","adrp x1, #69632")]), - Var("R1",Imm(64)), Int(69632,64)), Def(Tid(568, "%00000238"), - Attrs([Attr("address","0x68C"), Attr("insn","add x1, x1, #0x30")]), - Var("R1",Imm(64)), PLUS(Var("R1",Imm(64)),Int(48,64))), -Def(Tid(575, "%0000023f"), Attrs([Attr("address","0x690"), -Attr("insn","sub x1, x1, x0")]), Var("R1",Imm(64)), -PLUS(PLUS(Var("R1",Imm(64)),NOT(Var("R0",Imm(64)))),Int(1,64))), -Def(Tid(581, "%00000245"), Attrs([Attr("address","0x694"), -Attr("insn","lsr x2, x1, #63")]), Var("R2",Imm(64)), -Concat(Int(0,63),Extract(63,63,Var("R1",Imm(64))))), -Def(Tid(588, "%0000024c"), Attrs([Attr("address","0x698"), -Attr("insn","add x1, x2, x1, asr #3")]), Var("R1",Imm(64)), -PLUS(Var("R2",Imm(64)),ARSHIFT(Var("R1",Imm(64)),Int(3,3)))), -Def(Tid(594, "%00000252"), Attrs([Attr("address","0x69C"), -Attr("insn","asr x1, x1, #1")]), Var("R1",Imm(64)), -SIGNED(64,Extract(63,1,Var("R1",Imm(64)))))]), -Jmps([Goto(Tid(600, "%00000258"), Attrs([Attr("address","0x6A0"), -Attr("insn","cbz x1, #0x18")]), EQ(Var("R1",Imm(64)),Int(0,64)), -Direct(Tid(598, "%00000256"))), Goto(Tid(1_416, "%00000588"), Attrs([]), - Int(1,1), Direct(Tid(790, "%00000316")))])), Blk(Tid(790, "%00000316"), - Attrs([Attr("address","0x6A4")]), Phis([]), Defs([Def(Tid(793, "%00000319"), - Attrs([Attr("address","0x6A4"), Attr("insn","adrp x2, #65536")]), - Var("R2",Imm(64)), Int(65536,64)), Def(Tid(800, "%00000320"), - Attrs([Attr("address","0x6A8"), Attr("insn","ldr x2, [x2, #0xfe0]")]), - Var("R2",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R2",Imm(64)),Int(4064,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(805, "%00000325"), Attrs([Attr("address","0x6AC"), -Attr("insn","cbz x2, #0xc")]), EQ(Var("R2",Imm(64)),Int(0,64)), -Direct(Tid(598, "%00000256"))), Goto(Tid(1_417, "%00000589"), Attrs([]), - Int(1,1), Direct(Tid(809, "%00000329")))])), Blk(Tid(598, "%00000256"), - Attrs([Attr("address","0x6B8")]), Phis([]), Defs([]), -Jmps([Call(Tid(606, "%0000025e"), Attrs([Attr("address","0x6B8"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(809, "%00000329"), Attrs([Attr("address","0x6B0")]), Phis([]), -Defs([Def(Tid(813, "%0000032d"), Attrs([Attr("address","0x6B0"), -Attr("insn","mov x16, x2")]), Var("R16",Imm(64)), Var("R2",Imm(64)))]), -Jmps([Call(Tid(818, "%00000332"), Attrs([Attr("address","0x6B4"), -Attr("insn","br x16")]), Int(1,1), -(Indirect(Var("R16",Imm(64))),))]))]))]))) \ No newline at end of file diff --git a/src/test/incorrect/nestedifglobal/clang_O2/nestedifglobal.bir b/src/test/incorrect/nestedifglobal/clang_O2/nestedifglobal.bir deleted file mode 100644 index 778ce8bad..000000000 --- a/src/test/incorrect/nestedifglobal/clang_O2/nestedifglobal.bir +++ /dev/null @@ -1,227 +0,0 @@ -0000058a: program -00000558: sub __cxa_finalize(__cxa_finalize_result) -0000058b: __cxa_finalize_result :: out u32 = low:32[R0] - -00000312: -0000040a: R16 := 0x11000 -00000411: R17 := mem[R16 + 8, el]:u64 -00000417: R16 := R16 + 8 -0000041c: call R17 with noreturn - -00000559: sub __do_global_dtors_aux(__do_global_dtors_aux_result) -0000058c: __do_global_dtors_aux_result :: out u32 = low:32[R0] - -00000262: -00000266: #3 := R31 - 0x20 -0000026c: mem := mem with [#3, el]:u64 <- R29 -00000272: mem := mem with [#3 + 8, el]:u64 <- R30 -00000276: R31 := #3 -0000027c: R29 := R31 -00000284: mem := mem with [R31 + 0x10, el]:u64 <- R19 -00000289: R19 := 0x11000 -00000290: R0 := pad:64[mem[R19 + 0x30]] -00000297: when 31:0[R0] <> 0 goto %00000295 -00000580: goto %000002db - -000002db: -000002de: R0 := 0x10000 -000002e5: R0 := mem[R0 + 0xFC8, el]:u64 -000002eb: when R0 = 0 goto %000002e9 -00000581: goto %00000302 - -00000302: -00000305: R0 := 0x11000 -0000030c: R0 := mem[R0 + 0x28, el]:u64 -00000311: R30 := 0x6F0 -00000314: call @__cxa_finalize with return %000002e9 - -000002e9: -000002f1: R30 := 0x6F4 -000002f3: call @deregister_tm_clones with return %000002f5 - -000002f5: -000002f8: R0 := 1 -00000300: mem := mem with [R19 + 0x30] <- 7:0[R0] -00000582: goto %00000295 - -00000295: -0000029f: R19 := mem[R31 + 0x10, el]:u64 -000002a6: R29 := mem[R31, el]:u64 -000002ab: R30 := mem[R31 + 8, el]:u64 -000002af: R31 := R31 + 0x20 -000002b4: call R30 with noreturn - -0000055d: sub __libc_start_main(__libc_start_main_main, __libc_start_main_arg2, __libc_start_main_arg3, __libc_start_main_auxv, __libc_start_main_result) -0000058d: __libc_start_main_main :: in u64 = R0 -0000058e: __libc_start_main_arg2 :: in u32 = low:32[R1] -0000058f: __libc_start_main_arg3 :: in out u64 = R2 -00000590: __libc_start_main_auxv :: in out u64 = R3 -00000591: __libc_start_main_result :: out u32 = low:32[R0] - -000001bb: -000003f4: R16 := 0x11000 -000003fb: R17 := mem[R16, el]:u64 -00000401: R16 := R16 -00000406: call R17 with noreturn - -0000055e: sub _fini(_fini_result) -00000592: _fini_result :: out u32 = low:32[R0] - -0000001f: -00000025: #0 := R31 - 0x10 -0000002b: mem := mem with [#0, el]:u64 <- R29 -00000031: mem := mem with [#0 + 8, el]:u64 <- R30 -00000035: R31 := #0 -0000003b: R29 := R31 -00000042: R29 := mem[R31, el]:u64 -00000047: R30 := mem[R31 + 8, el]:u64 -0000004b: R31 := R31 + 0x10 -00000050: call R30 with noreturn - -0000055f: sub _init(_init_result) -00000593: _init_result :: out u32 = low:32[R0] - -000004b5: -000004bb: #5 := R31 - 0x10 -000004c1: mem := mem with [#5, el]:u64 <- R29 -000004c7: mem := mem with [#5 + 8, el]:u64 <- R30 -000004cb: R31 := #5 -000004d1: R29 := R31 -000004d6: R30 := 0x590 -000004d8: call @call_weak_fn with return %000004da - -000004da: -000004df: R29 := mem[R31, el]:u64 -000004e4: R30 := mem[R31 + 8, el]:u64 -000004e8: R31 := R31 + 0x10 -000004ed: call R30 with noreturn - -00000560: sub _start(_start_result) -00000594: _start_result :: out u32 = low:32[R0] - -0000017c: -00000181: R29 := 0 -00000186: R30 := 0 -0000018c: R5 := R0 -00000193: R1 := mem[R31, el]:u64 -00000199: R2 := R31 + 8 -0000019f: R6 := R31 -000001a4: R0 := 0x10000 -000001ab: R0 := mem[R0 + 0xFD8, el]:u64 -000001b0: R3 := 0 -000001b5: R4 := 0 -000001ba: R30 := 0x630 -000001bd: call @__libc_start_main with return %000001bf - -000001bf: -000001c2: R30 := 0x634 -000001c5: call @abort with return %00000583 - -00000583: -00000584: call @call_weak_fn with noreturn - -00000563: sub abort() - - -000001c3: -00000436: R16 := 0x11000 -0000043d: R17 := mem[R16 + 0x18, el]:u64 -00000443: R16 := R16 + 0x18 -00000448: call R17 with noreturn - -00000564: sub call_weak_fn(call_weak_fn_result) -00000595: call_weak_fn_result :: out u32 = low:32[R0] - -000001c7: -000001ca: R0 := 0x10000 -000001d1: R0 := mem[R0 + 0xFD0, el]:u64 -000001d7: when R0 = 0 goto %000001d5 -00000585: goto %00000352 - -000001d5: -000001dd: call R30 with noreturn - -00000352: -00000355: goto @__gmon_start__ - -00000353: -00000420: R16 := 0x11000 -00000427: R17 := mem[R16 + 0x10, el]:u64 -0000042d: R16 := R16 + 0x10 -00000432: call R17 with noreturn - -00000566: sub deregister_tm_clones(deregister_tm_clones_result) -00000596: deregister_tm_clones_result :: out u32 = low:32[R0] - -000001e3: -000001e6: R0 := 0x11000 -000001ec: R0 := R0 + 0x30 -000001f1: R1 := 0x11000 -000001f7: R1 := R1 + 0x30 -000001fd: #1 := ~R0 -00000202: #2 := R1 + ~R0 -00000208: VF := extend:65[#2 + 1] <> extend:65[R1] + extend:65[#1] + 1 -0000020e: CF := pad:65[#2 + 1] <> pad:65[R1] + pad:65[#1] + 1 -00000212: ZF := #2 + 1 = 0 -00000216: NF := 63:63[#2 + 1] -0000021c: when ZF goto %0000021a -00000586: goto %00000334 - -00000334: -00000337: R1 := 0x10000 -0000033e: R1 := mem[R1 + 0xFC0, el]:u64 -00000343: when R1 = 0 goto %0000021a -00000587: goto %00000347 - -0000021a: -00000222: call R30 with noreturn - -00000347: -0000034b: R16 := R1 -00000350: call R16 with noreturn - -00000569: sub frame_dummy(frame_dummy_result) -00000597: frame_dummy_result :: out u32 = low:32[R0] - -000002ba: -000002bc: call @register_tm_clones with noreturn - -0000056a: sub main(main_argc, main_argv, main_result) -00000598: main_argc :: in u32 = low:32[R0] -00000599: main_argv :: in out u64 = R1 -0000059a: main_result :: out u32 = low:32[R0] - -000002be: -000002c2: R8 := pad:64[31:0[R0]] -000002c7: R9 := 0x11000 -000002cc: R0 := 0 -000002d4: mem := mem with [R9 + 0x34, el]:u32 <- 31:0[R8] -000002d9: call R30 with noreturn - -0000056b: sub register_tm_clones(register_tm_clones_result) -0000059b: register_tm_clones_result :: out u32 = low:32[R0] - -00000224: -00000227: R0 := 0x11000 -0000022d: R0 := R0 + 0x30 -00000232: R1 := 0x11000 -00000238: R1 := R1 + 0x30 -0000023f: R1 := R1 + ~R0 + 1 -00000245: R2 := 0.63:63[R1] -0000024c: R1 := R2 + (R1 ~>> 3) -00000252: R1 := extend:64[63:1[R1]] -00000258: when R1 = 0 goto %00000256 -00000588: goto %00000316 - -00000316: -00000319: R2 := 0x10000 -00000320: R2 := mem[R2 + 0xFE0, el]:u64 -00000325: when R2 = 0 goto %00000256 -00000589: goto %00000329 - -00000256: -0000025e: call R30 with noreturn - -00000329: -0000032d: R16 := R2 -00000332: call R16 with noreturn diff --git a/src/test/incorrect/nestedifglobal/clang_O2/nestedifglobal.relf b/src/test/incorrect/nestedifglobal/clang_O2/nestedifglobal.relf deleted file mode 100644 index 0b3a22fc0..000000000 --- a/src/test/incorrect/nestedifglobal/clang_O2/nestedifglobal.relf +++ /dev/null @@ -1,124 +0,0 @@ - -Relocation section '.rela.dyn' at offset 0x460 contains 8 entries: - Offset Info Type Symbol's Value Symbol's Name + Addend -0000000000010dc8 0000000000000403 R_AARCH64_RELATIVE 710 -0000000000010dd0 0000000000000403 R_AARCH64_RELATIVE 6c0 -0000000000010fd8 0000000000000403 R_AARCH64_RELATIVE 714 -0000000000011028 0000000000000403 R_AARCH64_RELATIVE 11028 -0000000000010fc0 0000000400000401 R_AARCH64_GLOB_DAT 0000000000000000 _ITM_deregisterTMCloneTable + 0 -0000000000010fc8 0000000500000401 R_AARCH64_GLOB_DAT 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0 -0000000000010fd0 0000000600000401 R_AARCH64_GLOB_DAT 0000000000000000 __gmon_start__ + 0 -0000000000010fe0 0000000800000401 R_AARCH64_GLOB_DAT 0000000000000000 _ITM_registerTMCloneTable + 0 - -Relocation section '.rela.plt' at offset 0x520 contains 4 entries: - Offset Info Type Symbol's Value Symbol's Name + Addend -0000000000011000 0000000300000402 R_AARCH64_JUMP_SLOT 0000000000000000 __libc_start_main@GLIBC_2.34 + 0 -0000000000011008 0000000500000402 R_AARCH64_JUMP_SLOT 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0 -0000000000011010 0000000600000402 R_AARCH64_JUMP_SLOT 0000000000000000 __gmon_start__ + 0 -0000000000011018 0000000700000402 R_AARCH64_JUMP_SLOT 0000000000000000 abort@GLIBC_2.17 + 0 - -Symbol table '.dynsym' contains 9 entries: - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000580 0 SECTION LOCAL DEFAULT 11 .init - 2: 0000000000011020 0 SECTION LOCAL DEFAULT 23 .data - 3: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.34 (2) - 4: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable - 5: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 (3) - 6: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 7: 0000000000000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.17 (3) - 8: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - -Symbol table '.symtab' contains 91 entries: - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000238 0 SECTION LOCAL DEFAULT 1 .interp - 2: 0000000000000254 0 SECTION LOCAL DEFAULT 2 .note.gnu.build-id - 3: 0000000000000278 0 SECTION LOCAL DEFAULT 3 .note.ABI-tag - 4: 0000000000000298 0 SECTION LOCAL DEFAULT 4 .gnu.hash - 5: 00000000000002b8 0 SECTION LOCAL DEFAULT 5 .dynsym - 6: 0000000000000390 0 SECTION LOCAL DEFAULT 6 .dynstr - 7: 000000000000041e 0 SECTION LOCAL DEFAULT 7 .gnu.version - 8: 0000000000000430 0 SECTION LOCAL DEFAULT 8 .gnu.version_r - 9: 0000000000000460 0 SECTION LOCAL DEFAULT 9 .rela.dyn - 10: 0000000000000520 0 SECTION LOCAL DEFAULT 10 .rela.plt - 11: 0000000000000580 0 SECTION LOCAL DEFAULT 11 .init - 12: 00000000000005a0 0 SECTION LOCAL DEFAULT 12 .plt - 13: 0000000000000600 0 SECTION LOCAL DEFAULT 13 .text - 14: 0000000000000728 0 SECTION LOCAL DEFAULT 14 .fini - 15: 000000000000073c 0 SECTION LOCAL DEFAULT 15 .rodata - 16: 0000000000000740 0 SECTION LOCAL DEFAULT 16 .eh_frame_hdr - 17: 0000000000000780 0 SECTION LOCAL DEFAULT 17 .eh_frame - 18: 0000000000010dc8 0 SECTION LOCAL DEFAULT 18 .init_array - 19: 0000000000010dd0 0 SECTION LOCAL DEFAULT 19 .fini_array - 20: 0000000000010dd8 0 SECTION LOCAL DEFAULT 20 .dynamic - 21: 0000000000010fb8 0 SECTION LOCAL DEFAULT 21 .got - 22: 0000000000010fe8 0 SECTION LOCAL DEFAULT 22 .got.plt - 23: 0000000000011020 0 SECTION LOCAL DEFAULT 23 .data - 24: 0000000000011030 0 SECTION LOCAL DEFAULT 24 .bss - 25: 0000000000000000 0 SECTION LOCAL DEFAULT 25 .comment - 26: 0000000000000000 0 FILE LOCAL DEFAULT ABS Scrt1.o - 27: 0000000000000278 0 NOTYPE LOCAL DEFAULT 3 $d - 28: 0000000000000278 32 OBJECT LOCAL DEFAULT 3 __abi_tag - 29: 0000000000000600 0 NOTYPE LOCAL DEFAULT 13 $x - 30: 0000000000000794 0 NOTYPE LOCAL DEFAULT 17 $d - 31: 000000000000073c 0 NOTYPE LOCAL DEFAULT 15 $d - 32: 0000000000000000 0 FILE LOCAL DEFAULT ABS crti.o - 33: 0000000000000634 0 NOTYPE LOCAL DEFAULT 13 $x - 34: 0000000000000634 20 FUNC LOCAL DEFAULT 13 call_weak_fn - 35: 0000000000000580 0 NOTYPE LOCAL DEFAULT 11 $x - 36: 0000000000000728 0 NOTYPE LOCAL DEFAULT 14 $x - 37: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtn.o - 38: 0000000000000590 0 NOTYPE LOCAL DEFAULT 11 $x - 39: 0000000000000734 0 NOTYPE LOCAL DEFAULT 14 $x - 40: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 41: 0000000000000650 0 NOTYPE LOCAL DEFAULT 13 $x - 42: 0000000000000650 0 FUNC LOCAL DEFAULT 13 deregister_tm_clones - 43: 0000000000000680 0 FUNC LOCAL DEFAULT 13 register_tm_clones - 44: 0000000000011028 0 NOTYPE LOCAL DEFAULT 23 $d - 45: 00000000000006c0 0 FUNC LOCAL DEFAULT 13 __do_global_dtors_aux - 46: 0000000000011030 1 OBJECT LOCAL DEFAULT 24 completed.0 - 47: 0000000000010dd0 0 NOTYPE LOCAL DEFAULT 19 $d - 48: 0000000000010dd0 0 OBJECT LOCAL DEFAULT 19 __do_global_dtors_aux_fini_array_entry - 49: 0000000000000710 0 FUNC LOCAL DEFAULT 13 frame_dummy - 50: 0000000000010dc8 0 NOTYPE LOCAL DEFAULT 18 $d - 51: 0000000000010dc8 0 OBJECT LOCAL DEFAULT 18 __frame_dummy_init_array_entry - 52: 00000000000007a8 0 NOTYPE LOCAL DEFAULT 17 $d - 53: 0000000000011030 0 NOTYPE LOCAL DEFAULT 24 $d - 54: 0000000000000000 0 FILE LOCAL DEFAULT ABS nestedifglobal.c - 55: 0000000000000714 0 NOTYPE LOCAL DEFAULT 13 $x.0 - 56: 0000000000011034 0 NOTYPE LOCAL DEFAULT 24 $d.1 - 57: 000000000000002a 0 NOTYPE LOCAL DEFAULT 25 $d.2 - 58: 0000000000000808 0 NOTYPE LOCAL DEFAULT 17 $d.3 - 59: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 60: 0000000000000830 0 NOTYPE LOCAL DEFAULT 17 $d - 61: 0000000000000830 0 OBJECT LOCAL DEFAULT 17 __FRAME_END__ - 62: 0000000000000000 0 FILE LOCAL DEFAULT ABS - 63: 0000000000010dd8 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC - 64: 0000000000000740 0 NOTYPE LOCAL DEFAULT 16 __GNU_EH_FRAME_HDR - 65: 0000000000010fb8 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ - 66: 00000000000005a0 0 NOTYPE LOCAL DEFAULT 12 $x - 67: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.34 - 68: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable - 69: 0000000000011020 0 NOTYPE WEAK DEFAULT 23 data_start - 70: 0000000000011030 0 NOTYPE GLOBAL DEFAULT 24 __bss_start__ - 71: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 - 72: 0000000000011040 0 NOTYPE GLOBAL DEFAULT 24 _bss_end__ - 73: 0000000000011030 0 NOTYPE GLOBAL DEFAULT 23 _edata - 74: 0000000000011038 4 OBJECT GLOBAL DEFAULT 24 z - 75: 0000000000011034 4 OBJECT GLOBAL DEFAULT 24 x - 76: 0000000000000728 0 FUNC GLOBAL HIDDEN 14 _fini - 77: 0000000000011040 0 NOTYPE GLOBAL DEFAULT 24 __bss_end__ - 78: 0000000000011020 0 NOTYPE GLOBAL DEFAULT 23 __data_start - 79: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 80: 0000000000011028 0 OBJECT GLOBAL HIDDEN 23 __dso_handle - 81: 0000000000000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.17 - 82: 000000000000073c 4 OBJECT GLOBAL DEFAULT 15 _IO_stdin_used - 83: 0000000000011040 0 NOTYPE GLOBAL DEFAULT 24 _end - 84: 0000000000000600 52 FUNC GLOBAL DEFAULT 13 _start - 85: 0000000000011040 0 NOTYPE GLOBAL DEFAULT 24 __end__ - 86: 0000000000011030 0 NOTYPE GLOBAL DEFAULT 24 __bss_start - 87: 0000000000000714 20 FUNC GLOBAL DEFAULT 13 main - 88: 0000000000011030 0 OBJECT GLOBAL HIDDEN 23 __TMC_END__ - 89: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - 90: 0000000000000580 0 FUNC GLOBAL HIDDEN 11 _init diff --git a/src/test/incorrect/nestedifglobal/gcc_O2/nestedifglobal.adt b/src/test/incorrect/nestedifglobal/gcc_O2/nestedifglobal.adt deleted file mode 100644 index cf1414e42..000000000 --- a/src/test/incorrect/nestedifglobal/gcc_O2/nestedifglobal.adt +++ /dev/null @@ -1,491 +0,0 @@ -Project(Attrs([Attr("filename","\"gcc_O2/nestedifglobal.out\""), -Attr("image-specification","(declare abi (name str))\n(declare arch (name str))\n(declare base-address (addr int))\n(declare bias (off int))\n(declare bits (size int))\n(declare code-region (addr int) (size int) (off int))\n(declare code-start (addr int))\n(declare entry-point (addr int))\n(declare external-reference (addr int) (name str))\n(declare format (name str))\n(declare is-executable (flag bool))\n(declare is-little-endian (flag bool))\n(declare llvm:base-address (addr int))\n(declare llvm:code-entry (name str) (off int) (size int))\n(declare llvm:coff-import-library (name str))\n(declare llvm:coff-virtual-section-header (name str) (addr int) (size int))\n(declare llvm:elf-program-header (name str) (off int) (size int))\n(declare llvm:elf-program-header-flags (name str) (ld bool) (r bool) \n (w bool) (x bool))\n(declare llvm:elf-virtual-program-header (name str) (addr int) (size int))\n(declare llvm:entry-point (addr int))\n(declare llvm:macho-symbol (name str) (value int))\n(declare llvm:name-reference (at int) (name str))\n(declare llvm:relocation (at int) (addr int))\n(declare llvm:section-entry (name str) (addr int) (size int) (off int))\n(declare llvm:section-flags (name str) (r bool) (w bool) (x bool))\n(declare llvm:segment-command (name str) (off int) (size int))\n(declare llvm:segment-command-flags (name str) (r bool) (w bool) (x bool))\n(declare llvm:symbol-entry (name str) (addr int) (size int) (off int)\n (value int))\n(declare llvm:virtual-segment-command (name str) (addr int) (size int))\n(declare mapped (addr int) (size int) (off int))\n(declare named-region (addr int) (size int) (name str))\n(declare named-symbol (addr int) (name str))\n(declare require (name str))\n(declare section (addr int) (size int))\n(declare segment (addr int) (size int) (r bool) (w bool) (x bool))\n(declare subarch (name str))\n(declare symbol-chunk (addr int) (size int) (root int))\n(declare symbol-value (addr int) (value int))\n(declare system (name str))\n(declare vendor (name str))\n\n(abi unknown)\n(arch aarch64)\n(base-address 0)\n(bias 0)\n(bits 64)\n(code-region 1876 20 1876)\n(code-region 1536 340 1536)\n(code-region 1440 96 1440)\n(code-region 1408 24 1408)\n(code-start 1652)\n(code-start 1600)\n(code-start 1536)\n(entry-point 1600)\n(external-reference 69592 _ITM_deregisterTMCloneTable)\n(external-reference 69600 __cxa_finalize)\n(external-reference 69608 __gmon_start__)\n(external-reference 69624 _ITM_registerTMCloneTable)\n(external-reference 69552 __libc_start_main)\n(external-reference 69560 __cxa_finalize)\n(external-reference 69568 __gmon_start__)\n(external-reference 69576 abort)\n(format elf)\n(is-executable true)\n(is-little-endian true)\n(llvm:base-address 0)\n(llvm:code-entry abort 0 0)\n(llvm:code-entry __cxa_finalize 0 0)\n(llvm:code-entry __libc_start_main 0 0)\n(llvm:code-entry _init 1408 0)\n(llvm:code-entry main 1536 20)\n(llvm:code-entry _start 1600 52)\n(llvm:code-entry abort@GLIBC_2.17 0 0)\n(llvm:code-entry _fini 1876 0)\n(llvm:code-entry __cxa_finalize@GLIBC_2.17 0 0)\n(llvm:code-entry __libc_start_main@GLIBC_2.34 0 0)\n(llvm:code-entry frame_dummy 1872 0)\n(llvm:code-entry __do_global_dtors_aux 1792 0)\n(llvm:code-entry register_tm_clones 1728 0)\n(llvm:code-entry deregister_tm_clones 1680 0)\n(llvm:code-entry call_weak_fn 1652 20)\n(llvm:code-entry .fini 1876 20)\n(llvm:code-entry .text 1536 340)\n(llvm:code-entry .plt 1440 96)\n(llvm:code-entry .init 1408 24)\n(llvm:elf-program-header 08 3480 616)\n(llvm:elf-program-header 07 0 0)\n(llvm:elf-program-header 06 1900 60)\n(llvm:elf-program-header 05 596 68)\n(llvm:elf-program-header 04 3496 496)\n(llvm:elf-program-header 03 3480 632)\n(llvm:elf-program-header 02 0 2120)\n(llvm:elf-program-header 01 568 27)\n(llvm:elf-program-header 00 64 504)\n(llvm:elf-program-header-flags 08 false true false false)\n(llvm:elf-program-header-flags 07 false true true false)\n(llvm:elf-program-header-flags 06 false true false false)\n(llvm:elf-program-header-flags 05 false true false false)\n(llvm:elf-program-header-flags 04 false true true false)\n(llvm:elf-program-header-flags 03 true true true false)\n(llvm:elf-program-header-flags 02 true true false true)\n(llvm:elf-program-header-flags 01 false true false false)\n(llvm:elf-program-header-flags 00 false true false false)\n(llvm:elf-virtual-program-header 08 69016 616)\n(llvm:elf-virtual-program-header 07 0 0)\n(llvm:elf-virtual-program-header 06 1900 60)\n(llvm:elf-virtual-program-header 05 596 68)\n(llvm:elf-virtual-program-header 04 69032 496)\n(llvm:elf-virtual-program-header 03 69016 648)\n(llvm:elf-virtual-program-header 02 0 2120)\n(llvm:elf-virtual-program-header 01 568 27)\n(llvm:elf-virtual-program-header 00 64 504)\n(llvm:entry-point 1600)\n(llvm:name-reference 69576 abort)\n(llvm:name-reference 69568 __gmon_start__)\n(llvm:name-reference 69560 __cxa_finalize)\n(llvm:name-reference 69552 __libc_start_main)\n(llvm:name-reference 69624 _ITM_registerTMCloneTable)\n(llvm:name-reference 69608 __gmon_start__)\n(llvm:name-reference 69600 __cxa_finalize)\n(llvm:name-reference 69592 _ITM_deregisterTMCloneTable)\n(llvm:section-entry .shstrtab 0 250 6848)\n(llvm:section-entry .strtab 0 552 6296)\n(llvm:section-entry .symtab 0 2136 4160)\n(llvm:section-entry .comment 0 43 4112)\n(llvm:section-entry .bss 69648 16 4112)\n(llvm:section-entry .data 69632 16 4096)\n(llvm:section-entry .got 69528 104 3992)\n(llvm:section-entry .dynamic 69032 496 3496)\n(llvm:section-entry .fini_array 69024 8 3488)\n(llvm:section-entry .init_array 69016 8 3480)\n(llvm:section-entry .eh_frame 1960 160 1960)\n(llvm:section-entry .eh_frame_hdr 1900 60 1900)\n(llvm:section-entry .rodata 1896 4 1896)\n(llvm:section-entry .fini 1876 20 1876)\n(llvm:section-entry .text 1536 340 1536)\n(llvm:section-entry .plt 1440 96 1440)\n(llvm:section-entry .init 1408 24 1408)\n(llvm:section-entry .rela.plt 1312 96 1312)\n(llvm:section-entry .rela.dyn 1120 192 1120)\n(llvm:section-entry .gnu.version_r 1072 48 1072)\n(llvm:section-entry .gnu.version 1054 18 1054)\n(llvm:section-entry .dynstr 912 141 912)\n(llvm:section-entry .dynsym 696 216 696)\n(llvm:section-entry .gnu.hash 664 28 664)\n(llvm:section-entry .note.ABI-tag 632 32 632)\n(llvm:section-entry .note.gnu.build-id 596 36 596)\n(llvm:section-entry .interp 568 27 568)\n(llvm:section-flags .shstrtab true false false)\n(llvm:section-flags .strtab true false false)\n(llvm:section-flags .symtab true false false)\n(llvm:section-flags .comment true false false)\n(llvm:section-flags .bss true true false)\n(llvm:section-flags .data true true false)\n(llvm:section-flags .got true true false)\n(llvm:section-flags .dynamic true true false)\n(llvm:section-flags .fini_array true true false)\n(llvm:section-flags .init_array true true false)\n(llvm:section-flags .eh_frame true false false)\n(llvm:section-flags .eh_frame_hdr true false false)\n(llvm:section-flags .rodata true false false)\n(llvm:section-flags .fini true false true)\n(llvm:section-flags .text true false true)\n(llvm:section-flags .plt true false true)\n(llvm:section-flags .init true false true)\n(llvm:section-flags .rela.plt true false false)\n(llvm:section-flags .rela.dyn true false false)\n(llvm:section-flags .gnu.version_r true false false)\n(llvm:section-flags .gnu.version true false false)\n(llvm:section-flags .dynstr true false false)\n(llvm:section-flags .dynsym true false false)\n(llvm:section-flags .gnu.hash true false false)\n(llvm:section-flags .note.ABI-tag true false false)\n(llvm:section-flags .note.gnu.build-id true false false)\n(llvm:section-flags .interp true false false)\n(llvm:symbol-entry abort 0 0 0 0)\n(llvm:symbol-entry __cxa_finalize 0 0 0 0)\n(llvm:symbol-entry __libc_start_main 0 0 0 0)\n(llvm:symbol-entry _init 1408 0 1408 1408)\n(llvm:symbol-entry main 1536 20 1536 1536)\n(llvm:symbol-entry _start 1600 52 1600 1600)\n(llvm:symbol-entry abort@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry _fini 1876 0 1876 1876)\n(llvm:symbol-entry __cxa_finalize@GLIBC_2.17 0 0 0 0)\n(llvm:symbol-entry __libc_start_main@GLIBC_2.34 0 0 0 0)\n(llvm:symbol-entry frame_dummy 1872 0 1872 1872)\n(llvm:symbol-entry __do_global_dtors_aux 1792 0 1792 1792)\n(llvm:symbol-entry register_tm_clones 1728 0 1728 1728)\n(llvm:symbol-entry deregister_tm_clones 1680 0 1680 1680)\n(llvm:symbol-entry call_weak_fn 1652 20 1652 1652)\n(mapped 0 2120 0)\n(mapped 69016 632 3480)\n(named-region 0 2120 02)\n(named-region 69016 648 03)\n(named-region 568 27 .interp)\n(named-region 596 36 .note.gnu.build-id)\n(named-region 632 32 .note.ABI-tag)\n(named-region 664 28 .gnu.hash)\n(named-region 696 216 .dynsym)\n(named-region 912 141 .dynstr)\n(named-region 1054 18 .gnu.version)\n(named-region 1072 48 .gnu.version_r)\n(named-region 1120 192 .rela.dyn)\n(named-region 1312 96 .rela.plt)\n(named-region 1408 24 .init)\n(named-region 1440 96 .plt)\n(named-region 1536 340 .text)\n(named-region 1876 20 .fini)\n(named-region 1896 4 .rodata)\n(named-region 1900 60 .eh_frame_hdr)\n(named-region 1960 160 .eh_frame)\n(named-region 69016 8 .init_array)\n(named-region 69024 8 .fini_array)\n(named-region 69032 496 .dynamic)\n(named-region 69528 104 .got)\n(named-region 69632 16 .data)\n(named-region 69648 16 .bss)\n(named-region 0 43 .comment)\n(named-region 0 2136 .symtab)\n(named-region 0 552 .strtab)\n(named-region 0 250 .shstrtab)\n(named-symbol 1652 call_weak_fn)\n(named-symbol 1680 deregister_tm_clones)\n(named-symbol 1728 register_tm_clones)\n(named-symbol 1792 __do_global_dtors_aux)\n(named-symbol 1872 frame_dummy)\n(named-symbol 0 __libc_start_main@GLIBC_2.34)\n(named-symbol 0 __cxa_finalize@GLIBC_2.17)\n(named-symbol 1876 _fini)\n(named-symbol 0 abort@GLIBC_2.17)\n(named-symbol 1600 _start)\n(named-symbol 1536 main)\n(named-symbol 1408 _init)\n(named-symbol 0 __libc_start_main)\n(named-symbol 0 __cxa_finalize)\n(named-symbol 0 abort)\n(require libc.so.6)\n(section 568 27)\n(section 596 36)\n(section 632 32)\n(section 664 28)\n(section 696 216)\n(section 912 141)\n(section 1054 18)\n(section 1072 48)\n(section 1120 192)\n(section 1312 96)\n(section 1408 24)\n(section 1440 96)\n(section 1536 340)\n(section 1876 20)\n(section 1896 4)\n(section 1900 60)\n(section 1960 160)\n(section 69016 8)\n(section 69024 8)\n(section 69032 496)\n(section 69528 104)\n(section 69632 16)\n(section 69648 16)\n(section 0 43)\n(section 0 2136)\n(section 0 552)\n(section 0 250)\n(segment 0 2120 true false true)\n(segment 69016 648 true true false)\n(subarch v8)\n(symbol-chunk 1652 20 1652)\n(symbol-chunk 1600 52 1600)\n(symbol-chunk 1536 20 1536)\n(symbol-value 1652 1652)\n(symbol-value 1680 1680)\n(symbol-value 1728 1728)\n(symbol-value 1792 1792)\n(symbol-value 1872 1872)\n(symbol-value 1876 1876)\n(symbol-value 1600 1600)\n(symbol-value 1536 1536)\n(symbol-value 1408 1408)\n(symbol-value 0 0)\n(system \"\")\n(vendor \"\")\n"), -Attr("abi-name","\"aarch64-linux-gnu-elf\"")]), -Sections([Section(".shstrtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x40\x06\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xc0\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1c\x00\x1b\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x08\x00\x00\x00\x00\x00\x00\x48\x08\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x98\x0d\x00\x00\x00\x00\x00\x00\x98\x0d"), -Section(".strtab", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x40\x06\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xc0\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x09\x00\x40\x00\x1c\x00\x1b\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x38\x02\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x08\x00\x00\x00\x00\x00\x00\x48\x08\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x98\x0d\x00\x00\x00\x00\x00\x00\x98\x0d\x01\x00\x00\x00\x00\x00\x98\x0d\x01\x00\x00\x00\x00\x00\x78\x02\x00\x00\x00\x00\x00\x00\x88\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\xa8\x0d\x00\x00\x00\x00\x00\x00\xa8\x0d\x01\x00\x00\x00\x00\x00\xa8\x0d\x01\x00\x00\x00\x00\x00\xf0\x01\x00\x00\x00\x00\x00\x00\xf0\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x50\xe5\x74\x64\x04\x00\x00\x00\x6c\x07\x00\x00\x00\x00\x00\x00\x6c\x07\x00\x00\x00\x00\x00\x00\x6c\x07\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x51\xe5\x74\x64\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x52\xe5\x74\x64\x04\x00\x00\x00\x98\x0d\x00\x00\x00\x00\x00\x00\x98\x0d\x01\x00\x00\x00\x00\x00\x98\x0d\x01\x00\x00\x00\x00\x00\x68\x02\x00\x00\x00\x00\x00\x00"), -Section(".comment", 0x0, "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\x40\x06\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\xc0\x1b\x00"), -Section(".interp", 0x238, "\x2f\x6c\x69\x62\x2f\x6c\x64\x2d\x6c\x69\x6e\x75\x78\x2d\x61\x61\x72\x63\x68\x36\x34\x2e\x73\x6f\x2e\x31\x00"), -Section(".note.gnu.build-id", 0x254, "\x04\x00\x00\x00\x14\x00\x00\x00\x03\x00\x00\x00\x47\x4e\x55\x00\xec\x36\x8a\x51\x38\x0f\x51\x02\xea\x29\x68\x5f\xf6\x51\x29\xc0\x95\x6d\x49\xac"), -Section(".note.ABI-tag", 0x278, "\x04\x00\x00\x00\x10\x00\x00\x00\x01\x00\x00\x00\x47\x4e\x55\x00\x00\x00\x00\x00\x03\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00"), -Section(".gnu.hash", 0x298, "\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".dynsym", 0x2B8, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x0b\x00\x80\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x16\x00\x00\x10\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".dynstr", 0x390, "\x00\x5f\x5f\x63\x78\x61\x5f\x66\x69\x6e\x61\x6c\x69\x7a\x65\x00\x5f\x5f\x6c\x69\x62\x63\x5f\x73\x74\x61\x72\x74\x5f\x6d\x61\x69\x6e\x00\x61\x62\x6f\x72\x74\x00\x6c\x69\x62\x63\x2e\x73\x6f\x2e\x36\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x31\x37\x00\x47\x4c\x49\x42\x43\x5f\x32\x2e\x33\x34\x00\x5f\x49\x54\x4d\x5f\x64\x65\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00\x5f\x5f\x67\x6d\x6f\x6e\x5f\x73\x74\x61\x72\x74\x5f\x5f\x00\x5f\x49\x54\x4d\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x54\x4d\x43\x6c\x6f\x6e\x65\x54\x61\x62\x6c\x65\x00"), -Section(".gnu.version", 0x41E, "\x00\x00\x00\x00\x00\x00\x02\x00\x01\x00\x03\x00\x01\x00\x03\x00\x01\x00"), -Section(".gnu.version_r", 0x430, "\x01\x00\x02\x00\x28\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x97\x91\x96\x06\x00\x00\x03\x00\x32\x00\x00\x00\x10\x00\x00\x00\xb4\x91\x96\x06\x00\x00\x02\x00\x3d\x00\x00\x00\x00\x00\x00\x00"), -Section(".rela.dyn", 0x460, "\x98\x0d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x50\x07\x00\x00\x00\x00\x00\x00\xa0\x0d\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\xf0\x0f\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x08\x10\x01\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x08\x10\x01\x00\x00\x00\x00\x00\xd8\x0f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x0f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x0f\x01\x00\x00\x00\x00\x00\x01\x04\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".rela.plt", 0x520, "\xb0\x0f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x0f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x0f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x0f\x01\x00\x00\x00\x00\x00\x02\x04\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".init", 0x580, "\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\x3a\x00\x00\x94\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".plt", 0x5A0, "\xf0\x7b\xbf\xa9\x90\x00\x00\x90\x11\xd6\x47\xf9\x10\xa2\x3e\x91\x20\x02\x1f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x90\x00\x00\x90\x11\xda\x47\xf9\x10\xc2\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\x90\x11\xde\x47\xf9\x10\xe2\x3e\x91\x20\x02\x1f\xd6\x90\x00\x00\x90\x11\xe2\x47\xf9\x10\x02\x3f\x91\x20\x02\x1f\xd6\x90\x00\x00\x90\x11\xe6\x47\xf9\x10\x22\x3f\x91\x20\x02\x1f\xd6"), -Section(".fini", 0x754, "\x1f\x20\x03\xd5\xfd\x7b\xbf\xa9\xfd\x03\x00\x91\xfd\x7b\xc1\xa8\xc0\x03\x5f\xd6"), -Section(".rodata", 0x768, "\x01\x00\x02\x00"), -Section(".eh_frame_hdr", 0x76C, "\x01\x1b\x03\x3b\x38\x00\x00\x00\x06\x00\x00\x00\x94\xfe\xff\xff\xc4\x00\x00\x00\xd4\xfe\xff\xff\x50\x00\x00\x00\x24\xff\xff\xff\x64\x00\x00\x00\x54\xff\xff\xff\x78\x00\x00\x00\x94\xff\xff\xff\x8c\x00\x00\x00\xe4\xff\xff\xff\xb0\x00\x00\x00"), -Section(".eh_frame", 0x7A8, "\x10\x00\x00\x00\x00\x00\x00\x00\x01\x7a\x52\x00\x04\x78\x1e\x01\x1b\x0c\x1f\x00\x10\x00\x00\x00\x18\x00\x00\x00\x7c\xfe\xff\xff\x34\x00\x00\x00\x00\x41\x07\x1e\x10\x00\x00\x00\x2c\x00\x00\x00\xb8\xfe\xff\xff\x30\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x40\x00\x00\x00\xd4\xfe\xff\xff\x3c\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x54\x00\x00\x00\x00\xff\xff\xff\x48\x00\x00\x00\x00\x41\x0e\x20\x9d\x04\x9e\x03\x42\x93\x02\x4e\xde\xdd\xd3\x0e\x00\x00\x00\x00\x10\x00\x00\x00\x78\x00\x00\x00\x2c\xff\xff\xff\x04\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x8c\x00\x00\x00\xc8\xfd\xff\xff\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".fini_array", 0x10DA0, "\x00\x07\x00\x00\x00\x00\x00\x00"), -Section(".dynamic", 0x10DA8, "\x01\x00\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x80\x05\x00\x00\x00\x00\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x54\x07\x00\x00\x00\x00\x00\x00\x19\x00\x00\x00\x00\x00\x00\x00\x98\x0d\x01\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\xa0\x0d\x01\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xf5\xfe\xff\x6f\x00\x00\x00\x00\x98\x02\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x90\x03\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\xb8\x02\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x98\x0f\x01\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x20\x05\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x60\x04\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xfb\xff\xff\x6f\x00\x00\x00\x00\x01\x00\x00\x08\x00\x00\x00\x00\xfe\xff\xff\x6f\x00\x00\x00\x00\x30\x04\x00\x00\x00\x00\x00\x00\xff\xff\xff\x6f\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xf0\xff\xff\x6f\x00\x00\x00\x00\x1e\x04\x00\x00\x00\x00\x00\x00\xf9\xff\xff\x6f\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".init_array", 0x10D98, "\x50\x07\x00\x00\x00\x00\x00\x00"), -Section(".got", 0x10F98, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00\xa0\x05\x00\x00\x00\x00\x00\x00\xa8\x0d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), -Section(".data", 0x11000, "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x10\x01\x00\x00\x00\x00\x00"), -Section(".text", 0x600, "\x81\x00\x00\xb0\xe2\x03\x00\x2a\x00\x00\x80\x52\x22\x14\x00\xb9\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1d\x00\x80\xd2\x1e\x00\x80\xd2\xe5\x03\x00\xaa\xe1\x03\x40\xf9\xe2\x23\x00\x91\xe6\x03\x00\x91\x80\x00\x00\x90\x00\xf8\x47\xf9\x03\x00\x80\xd2\x04\x00\x80\xd2\xd5\xff\xff\x97\xe0\xff\xff\x97\x80\x00\x00\x90\x00\xf4\x47\xf9\x40\x00\x00\xb4\xd8\xff\xff\x17\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x80\x00\x00\xb0\x00\x40\x00\x91\x81\x00\x00\xb0\x21\x40\x00\x91\x3f\x00\x00\xeb\xc0\x00\x00\x54\x81\x00\x00\x90\x21\xec\x47\xf9\x61\x00\x00\xb4\xf0\x03\x01\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x80\x00\x00\xb0\x00\x40\x00\x91\x81\x00\x00\xb0\x21\x40\x00\x91\x21\x00\x00\xcb\x22\xfc\x7f\xd3\x41\x0c\x81\x8b\x21\xfc\x41\x93\xc1\x00\x00\xb4\x82\x00\x00\x90\x42\xfc\x47\xf9\x62\x00\x00\xb4\xf0\x03\x02\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\xfd\x7b\xbe\xa9\xfd\x03\x00\x91\xf3\x0b\x00\xf9\x93\x00\x00\xb0\x60\x42\x40\x39\x40\x01\x00\x35\x80\x00\x00\x90\x00\xf0\x47\xf9\x80\x00\x00\xb4\x80\x00\x00\xb0\x00\x04\x40\xf9\xa9\xff\xff\x97\xd8\xff\xff\x97\x20\x00\x80\x52\x60\x42\x00\x39\xf3\x0b\x40\xf9\xfd\x7b\xc2\xa8\xc0\x03\x5f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\xdc\xff\xff\x17")]), -Memmap([Annotation(Region(0x0,0x847), Attr("segment","02 0 2120")), -Annotation(Region(0x600,0x613), Attr("symbol","\"main\"")), -Annotation(Region(0x0,0xF9), Attr("section","\".shstrtab\"")), -Annotation(Region(0x0,0x227), Attr("section","\".strtab\"")), -Annotation(Region(0x0,0x2A), Attr("section","\".comment\"")), -Annotation(Region(0x238,0x252), Attr("section","\".interp\"")), -Annotation(Region(0x254,0x277), Attr("section","\".note.gnu.build-id\"")), -Annotation(Region(0x278,0x297), Attr("section","\".note.ABI-tag\"")), -Annotation(Region(0x298,0x2B3), Attr("section","\".gnu.hash\"")), -Annotation(Region(0x2B8,0x38F), Attr("section","\".dynsym\"")), -Annotation(Region(0x390,0x41C), Attr("section","\".dynstr\"")), -Annotation(Region(0x41E,0x42F), Attr("section","\".gnu.version\"")), -Annotation(Region(0x430,0x45F), Attr("section","\".gnu.version_r\"")), -Annotation(Region(0x460,0x51F), Attr("section","\".rela.dyn\"")), -Annotation(Region(0x520,0x57F), Attr("section","\".rela.plt\"")), -Annotation(Region(0x580,0x597), Attr("section","\".init\"")), -Annotation(Region(0x5A0,0x5FF), Attr("section","\".plt\"")), -Annotation(Region(0x580,0x597), Attr("code-region","()")), -Annotation(Region(0x5A0,0x5FF), Attr("code-region","()")), -Annotation(Region(0x600,0x613), Attr("symbol-info","main 0x600 20")), -Annotation(Region(0x640,0x673), Attr("symbol","\"_start\"")), -Annotation(Region(0x640,0x673), Attr("symbol-info","_start 0x640 52")), -Annotation(Region(0x674,0x687), Attr("symbol","\"call_weak_fn\"")), -Annotation(Region(0x674,0x687), Attr("symbol-info","call_weak_fn 0x674 20")), -Annotation(Region(0x754,0x767), Attr("section","\".fini\"")), -Annotation(Region(0x768,0x76B), Attr("section","\".rodata\"")), -Annotation(Region(0x76C,0x7A7), Attr("section","\".eh_frame_hdr\"")), -Annotation(Region(0x7A8,0x847), Attr("section","\".eh_frame\"")), -Annotation(Region(0x10D98,0x1100F), Attr("segment","03 0x10D98 648")), -Annotation(Region(0x10DA0,0x10DA7), Attr("section","\".fini_array\"")), -Annotation(Region(0x10DA8,0x10F97), Attr("section","\".dynamic\"")), -Annotation(Region(0x10D98,0x10D9F), Attr("section","\".init_array\"")), -Annotation(Region(0x10F98,0x10FFF), Attr("section","\".got\"")), -Annotation(Region(0x11000,0x1100F), Attr("section","\".data\"")), -Annotation(Region(0x600,0x753), Attr("section","\".text\"")), -Annotation(Region(0x600,0x753), Attr("code-region","()")), -Annotation(Region(0x754,0x767), Attr("code-region","()"))]), -Program(Tid(1_506, "%000005e2"), Attrs([]), - Subs([Sub(Tid(1_456, "@__cxa_finalize"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x5D0"), -Attr("stub","()")]), "__cxa_finalize", Args([Arg(Tid(1_507, "%000005e3"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("__cxa_finalize_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(852, "@__cxa_finalize"), - Attrs([Attr("address","0x5D0")]), Phis([]), -Defs([Def(Tid(1_100, "%0000044c"), Attrs([Attr("address","0x5D0"), -Attr("insn","adrp x16, #65536")]), Var("R16",Imm(64)), Int(65536,64)), -Def(Tid(1_107, "%00000453"), Attrs([Attr("address","0x5D4"), -Attr("insn","ldr x17, [x16, #0xfb8]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(4024,64)),LittleEndian(),64)), -Def(Tid(1_113, "%00000459"), Attrs([Attr("address","0x5D8"), -Attr("insn","add x16, x16, #0xfb8")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(4024,64)))]), Jmps([Call(Tid(1_118, "%0000045e"), - Attrs([Attr("address","0x5DC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), -Sub(Tid(1_457, "@__do_global_dtors_aux"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x700")]), - "__do_global_dtors_aux", Args([Arg(Tid(1_508, "%000005e4"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("__do_global_dtors_aux_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(705, "@__do_global_dtors_aux"), - Attrs([Attr("address","0x700")]), Phis([]), Defs([Def(Tid(709, "%000002c5"), - Attrs([Attr("address","0x700"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("#3",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551584,64))), -Def(Tid(715, "%000002cb"), Attrs([Attr("address","0x700"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#3",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(721, "%000002d1"), Attrs([Attr("address","0x700"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#3",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(725, "%000002d5"), Attrs([Attr("address","0x700"), -Attr("insn","stp x29, x30, [sp, #-0x20]!")]), Var("R31",Imm(64)), -Var("#3",Imm(64))), Def(Tid(731, "%000002db"), - Attrs([Attr("address","0x704"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(739, "%000002e3"), - Attrs([Attr("address","0x708"), Attr("insn","str x19, [sp, #0x10]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),Var("R19",Imm(64)),LittleEndian(),64)), -Def(Tid(744, "%000002e8"), Attrs([Attr("address","0x70C"), -Attr("insn","adrp x19, #69632")]), Var("R19",Imm(64)), Int(69632,64)), -Def(Tid(751, "%000002ef"), Attrs([Attr("address","0x710"), -Attr("insn","ldrb w0, [x19, #0x10]")]), Var("R0",Imm(64)), -UNSIGNED(64,Load(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(16,64)),LittleEndian(),8)))]), -Jmps([Goto(Tid(758, "%000002f6"), Attrs([Attr("address","0x714"), -Attr("insn","cbnz w0, #0x28")]), - NEQ(Extract(31,0,Var("R0",Imm(64))),Int(0,32)), -Direct(Tid(756, "%000002f4"))), Goto(Tid(1_496, "%000005d8"), Attrs([]), - Int(1,1), Direct(Tid(797, "%0000031d")))])), Blk(Tid(797, "%0000031d"), - Attrs([Attr("address","0x718")]), Phis([]), Defs([Def(Tid(800, "%00000320"), - Attrs([Attr("address","0x718"), Attr("insn","adrp x0, #65536")]), - Var("R0",Imm(64)), Int(65536,64)), Def(Tid(807, "%00000327"), - Attrs([Attr("address","0x71C"), Attr("insn","ldr x0, [x0, #0xfe0]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4064,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(813, "%0000032d"), Attrs([Attr("address","0x720"), -Attr("insn","cbz x0, #0x10")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(811, "%0000032b"))), Goto(Tid(1_497, "%000005d9"), Attrs([]), - Int(1,1), Direct(Tid(836, "%00000344")))])), Blk(Tid(836, "%00000344"), - Attrs([Attr("address","0x724")]), Phis([]), Defs([Def(Tid(839, "%00000347"), - Attrs([Attr("address","0x724"), Attr("insn","adrp x0, #69632")]), - Var("R0",Imm(64)), Int(69632,64)), Def(Tid(846, "%0000034e"), - Attrs([Attr("address","0x728"), Attr("insn","ldr x0, [x0, #0x8]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(851, "%00000353"), Attrs([Attr("address","0x72C"), -Attr("insn","bl #-0x15c")]), Var("R30",Imm(64)), Int(1840,64))]), -Jmps([Call(Tid(854, "%00000356"), Attrs([Attr("address","0x72C"), -Attr("insn","bl #-0x15c")]), Int(1,1), -(Direct(Tid(1_456, "@__cxa_finalize")),Direct(Tid(811, "%0000032b"))))])), -Blk(Tid(811, "%0000032b"), Attrs([Attr("address","0x730")]), Phis([]), -Defs([Def(Tid(819, "%00000333"), Attrs([Attr("address","0x730"), -Attr("insn","bl #-0xa0")]), Var("R30",Imm(64)), Int(1844,64))]), -Jmps([Call(Tid(821, "%00000335"), Attrs([Attr("address","0x730"), -Attr("insn","bl #-0xa0")]), Int(1,1), -(Direct(Tid(1_470, "@deregister_tm_clones")),Direct(Tid(823, "%00000337"))))])), -Blk(Tid(823, "%00000337"), Attrs([Attr("address","0x734")]), Phis([]), -Defs([Def(Tid(826, "%0000033a"), Attrs([Attr("address","0x734"), -Attr("insn","mov w0, #0x1")]), Var("R0",Imm(64)), Int(1,64)), -Def(Tid(834, "%00000342"), Attrs([Attr("address","0x738"), -Attr("insn","strb w0, [x19, #0x10]")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R19",Imm(64)),Int(16,64)),Extract(7,0,Var("R0",Imm(64))),LittleEndian(),8))]), -Jmps([Goto(Tid(1_498, "%000005da"), Attrs([]), Int(1,1), -Direct(Tid(756, "%000002f4")))])), Blk(Tid(756, "%000002f4"), - Attrs([Attr("address","0x73C")]), Phis([]), Defs([Def(Tid(766, "%000002fe"), - Attrs([Attr("address","0x73C"), Attr("insn","ldr x19, [sp, #0x10]")]), - Var("R19",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(16,64)),LittleEndian(),64)), -Def(Tid(773, "%00000305"), Attrs([Attr("address","0x740"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(778, "%0000030a"), Attrs([Attr("address","0x740"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(782, "%0000030e"), Attrs([Attr("address","0x740"), -Attr("insn","ldp x29, x30, [sp], #0x20")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(32,64)))]), Jmps([Call(Tid(787, "%00000313"), - Attrs([Attr("address","0x744"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(1_461, "@__libc_start_main"), - Attrs([Attr("c.proto","signed (*)(signed (*)(signed , char** , char** );* main, signed , char** , \nvoid* auxv)"), -Attr("address","0x5C0"), Attr("stub","()")]), "__libc_start_main", - Args([Arg(Tid(1_509, "%000005e5"), - Attrs([Attr("c.layout","**[ : 64]"), -Attr("c.data","Top:u64 ptr ptr"), -Attr("c.type","signed (*)(signed , char** , char** );*")]), - Var("__libc_start_main_main",Imm(64)), Var("R0",Imm(64)), In()), -Arg(Tid(1_510, "%000005e6"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("__libc_start_main_arg2",Imm(32)), LOW(32,Var("R1",Imm(64))), In()), -Arg(Tid(1_511, "%000005e7"), Attrs([Attr("c.layout","**[char : 8]"), -Attr("c.data","Top:u8 ptr ptr"), Attr("c.type","char**")]), - Var("__libc_start_main_arg3",Imm(64)), Var("R2",Imm(64)), Both()), -Arg(Tid(1_512, "%000005e8"), Attrs([Attr("c.layout","*[ : 8]"), -Attr("c.data","{} ptr"), Attr("c.type","void*")]), - Var("__libc_start_main_auxv",Imm(64)), Var("R3",Imm(64)), Both()), -Arg(Tid(1_513, "%000005e9"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("__libc_start_main_result",Imm(32)), LOW(32,Var("R0",Imm(64))), -Out())]), Blks([Blk(Tid(538, "@__libc_start_main"), - Attrs([Attr("address","0x5C0")]), Phis([]), -Defs([Def(Tid(1_078, "%00000436"), Attrs([Attr("address","0x5C0"), -Attr("insn","adrp x16, #65536")]), Var("R16",Imm(64)), Int(65536,64)), -Def(Tid(1_085, "%0000043d"), Attrs([Attr("address","0x5C4"), -Attr("insn","ldr x17, [x16, #0xfb0]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(4016,64)),LittleEndian(),64)), -Def(Tid(1_091, "%00000443"), Attrs([Attr("address","0x5C8"), -Attr("insn","add x16, x16, #0xfb0")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(4016,64)))]), Jmps([Call(Tid(1_096, "%00000448"), - Attrs([Attr("address","0x5CC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(1_462, "@_fini"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x754")]), - "_fini", Args([Arg(Tid(1_514, "%000005ea"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_fini_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(31, "@_fini"), - Attrs([Attr("address","0x754")]), Phis([]), Defs([Def(Tid(37, "%00000025"), - Attrs([Attr("address","0x758"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#0",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(43, "%0000002b"), Attrs([Attr("address","0x758"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#0",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(49, "%00000031"), Attrs([Attr("address","0x758"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#0",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(53, "%00000035"), Attrs([Attr("address","0x758"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#0",Imm(64))), Def(Tid(59, "%0000003b"), Attrs([Attr("address","0x75C"), -Attr("insn","mov x29, sp")]), Var("R29",Imm(64)), Var("R31",Imm(64))), -Def(Tid(66, "%00000042"), Attrs([Attr("address","0x760"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(71, "%00000047"), Attrs([Attr("address","0x760"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(75, "%0000004b"), Attrs([Attr("address","0x760"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(80, "%00000050"), - Attrs([Attr("address","0x764"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(1_463, "@_init"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x580")]), - "_init", Args([Arg(Tid(1_515, "%000005eb"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_init_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(1_282, "@_init"), - Attrs([Attr("address","0x580")]), Phis([]), -Defs([Def(Tid(1_288, "%00000508"), Attrs([Attr("address","0x584"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("#5",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(18446744073709551600,64))), -Def(Tid(1_294, "%0000050e"), Attrs([Attr("address","0x584"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),Var("#5",Imm(64)),Var("R29",Imm(64)),LittleEndian(),64)), -Def(Tid(1_300, "%00000514"), Attrs([Attr("address","0x584"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("#5",Imm(64)),Int(8,64)),Var("R30",Imm(64)),LittleEndian(),64)), -Def(Tid(1_304, "%00000518"), Attrs([Attr("address","0x584"), -Attr("insn","stp x29, x30, [sp, #-0x10]!")]), Var("R31",Imm(64)), -Var("#5",Imm(64))), Def(Tid(1_310, "%0000051e"), - Attrs([Attr("address","0x588"), Attr("insn","mov x29, sp")]), - Var("R29",Imm(64)), Var("R31",Imm(64))), Def(Tid(1_315, "%00000523"), - Attrs([Attr("address","0x58C"), Attr("insn","bl #0xe8")]), - Var("R30",Imm(64)), Int(1424,64))]), Jmps([Call(Tid(1_317, "%00000525"), - Attrs([Attr("address","0x58C"), Attr("insn","bl #0xe8")]), Int(1,1), -(Direct(Tid(1_468, "@call_weak_fn")),Direct(Tid(1_319, "%00000527"))))])), -Blk(Tid(1_319, "%00000527"), Attrs([Attr("address","0x590")]), Phis([]), -Defs([Def(Tid(1_324, "%0000052c"), Attrs([Attr("address","0x590"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R29",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(1_329, "%00000531"), Attrs([Attr("address","0x590"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R30",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R31",Imm(64)),Int(8,64)),LittleEndian(),64)), -Def(Tid(1_333, "%00000535"), Attrs([Attr("address","0x590"), -Attr("insn","ldp x29, x30, [sp], #0x10")]), Var("R31",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(16,64)))]), Jmps([Call(Tid(1_338, "%0000053a"), - Attrs([Attr("address","0x594"), Attr("insn","ret")]), Int(1,1), -(Indirect(Var("R30",Imm(64))),))]))])), Sub(Tid(1_464, "@_start"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x640"), -Attr("entry-point","()")]), "_start", Args([Arg(Tid(1_516, "%000005ec"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("_start_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(475, "@_start"), - Attrs([Attr("address","0x640")]), Phis([]), Defs([Def(Tid(480, "%000001e0"), - Attrs([Attr("address","0x644"), Attr("insn","mov x29, #0x0")]), - Var("R29",Imm(64)), Int(0,64)), Def(Tid(485, "%000001e5"), - Attrs([Attr("address","0x648"), Attr("insn","mov x30, #0x0")]), - Var("R30",Imm(64)), Int(0,64)), Def(Tid(491, "%000001eb"), - Attrs([Attr("address","0x64C"), Attr("insn","mov x5, x0")]), - Var("R5",Imm(64)), Var("R0",Imm(64))), Def(Tid(498, "%000001f2"), - Attrs([Attr("address","0x650"), Attr("insn","ldr x1, [sp]")]), - Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),Var("R31",Imm(64)),LittleEndian(),64)), -Def(Tid(504, "%000001f8"), Attrs([Attr("address","0x654"), -Attr("insn","add x2, sp, #0x8")]), Var("R2",Imm(64)), -PLUS(Var("R31",Imm(64)),Int(8,64))), Def(Tid(510, "%000001fe"), - Attrs([Attr("address","0x658"), Attr("insn","mov x6, sp")]), - Var("R6",Imm(64)), Var("R31",Imm(64))), Def(Tid(515, "%00000203"), - Attrs([Attr("address","0x65C"), Attr("insn","adrp x0, #65536")]), - Var("R0",Imm(64)), Int(65536,64)), Def(Tid(522, "%0000020a"), - Attrs([Attr("address","0x660"), Attr("insn","ldr x0, [x0, #0xff0]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4080,64)),LittleEndian(),64)), -Def(Tid(527, "%0000020f"), Attrs([Attr("address","0x664"), -Attr("insn","mov x3, #0x0")]), Var("R3",Imm(64)), Int(0,64)), -Def(Tid(532, "%00000214"), Attrs([Attr("address","0x668"), -Attr("insn","mov x4, #0x0")]), Var("R4",Imm(64)), Int(0,64)), -Def(Tid(537, "%00000219"), Attrs([Attr("address","0x66C"), -Attr("insn","bl #-0xac")]), Var("R30",Imm(64)), Int(1648,64))]), -Jmps([Call(Tid(540, "%0000021c"), Attrs([Attr("address","0x66C"), -Attr("insn","bl #-0xac")]), Int(1,1), -(Direct(Tid(1_461, "@__libc_start_main")),Direct(Tid(542, "%0000021e"))))])), -Blk(Tid(542, "%0000021e"), Attrs([Attr("address","0x670")]), Phis([]), -Defs([Def(Tid(545, "%00000221"), Attrs([Attr("address","0x670"), -Attr("insn","bl #-0x80")]), Var("R30",Imm(64)), Int(1652,64))]), -Jmps([Call(Tid(548, "%00000224"), Attrs([Attr("address","0x670"), -Attr("insn","bl #-0x80")]), Int(1,1), -(Direct(Tid(1_467, "@abort")),Direct(Tid(1_499, "%000005db"))))])), -Blk(Tid(1_499, "%000005db"), Attrs([]), Phis([]), Defs([]), -Jmps([Call(Tid(1_500, "%000005dc"), Attrs([]), Int(1,1), -(Direct(Tid(1_468, "@call_weak_fn")),))]))])), Sub(Tid(1_467, "@abort"), - Attrs([Attr("noreturn","()"), Attr("c.proto","void (*)(void)"), -Attr("address","0x5F0"), Attr("stub","()")]), "abort", Args([]), -Blks([Blk(Tid(546, "@abort"), Attrs([Attr("address","0x5F0")]), Phis([]), -Defs([Def(Tid(1_144, "%00000478"), Attrs([Attr("address","0x5F0"), -Attr("insn","adrp x16, #65536")]), Var("R16",Imm(64)), Int(65536,64)), -Def(Tid(1_151, "%0000047f"), Attrs([Attr("address","0x5F4"), -Attr("insn","ldr x17, [x16, #0xfc8]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(4040,64)),LittleEndian(),64)), -Def(Tid(1_157, "%00000485"), Attrs([Attr("address","0x5F8"), -Attr("insn","add x16, x16, #0xfc8")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(4040,64)))]), Jmps([Call(Tid(1_162, "%0000048a"), - Attrs([Attr("address","0x5FC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), Sub(Tid(1_468, "@call_weak_fn"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x674")]), - "call_weak_fn", Args([Arg(Tid(1_517, "%000005ed"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("call_weak_fn_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(550, "@call_weak_fn"), - Attrs([Attr("address","0x674")]), Phis([]), Defs([Def(Tid(553, "%00000229"), - Attrs([Attr("address","0x674"), Attr("insn","adrp x0, #65536")]), - Var("R0",Imm(64)), Int(65536,64)), Def(Tid(560, "%00000230"), - Attrs([Attr("address","0x678"), Attr("insn","ldr x0, [x0, #0xfe8]")]), - Var("R0",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R0",Imm(64)),Int(4072,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(566, "%00000236"), Attrs([Attr("address","0x67C"), -Attr("insn","cbz x0, #0x8")]), EQ(Var("R0",Imm(64)),Int(0,64)), -Direct(Tid(564, "%00000234"))), Goto(Tid(1_501, "%000005dd"), Attrs([]), - Int(1,1), Direct(Tid(916, "%00000394")))])), Blk(Tid(564, "%00000234"), - Attrs([Attr("address","0x684")]), Phis([]), Defs([]), -Jmps([Call(Tid(572, "%0000023c"), Attrs([Attr("address","0x684"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(916, "%00000394"), Attrs([Attr("address","0x680")]), Phis([]), -Defs([]), Jmps([Goto(Tid(919, "%00000397"), Attrs([Attr("address","0x680"), -Attr("insn","b #-0xa0")]), Int(1,1), Direct(Tid(917, "@__gmon_start__")))])), -Blk(Tid(917, "@__gmon_start__"), Attrs([Attr("address","0x5E0")]), Phis([]), -Defs([Def(Tid(1_122, "%00000462"), Attrs([Attr("address","0x5E0"), -Attr("insn","adrp x16, #65536")]), Var("R16",Imm(64)), Int(65536,64)), -Def(Tid(1_129, "%00000469"), Attrs([Attr("address","0x5E4"), -Attr("insn","ldr x17, [x16, #0xfc0]")]), Var("R17",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R16",Imm(64)),Int(4032,64)),LittleEndian(),64)), -Def(Tid(1_135, "%0000046f"), Attrs([Attr("address","0x5E8"), -Attr("insn","add x16, x16, #0xfc0")]), Var("R16",Imm(64)), -PLUS(Var("R16",Imm(64)),Int(4032,64)))]), Jmps([Call(Tid(1_140, "%00000474"), - Attrs([Attr("address","0x5EC"), Attr("insn","br x17")]), Int(1,1), -(Indirect(Var("R17",Imm(64))),))]))])), -Sub(Tid(1_470, "@deregister_tm_clones"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x690")]), - "deregister_tm_clones", Args([Arg(Tid(1_518, "%000005ee"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("deregister_tm_clones_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(578, "@deregister_tm_clones"), - Attrs([Attr("address","0x690")]), Phis([]), Defs([Def(Tid(581, "%00000245"), - Attrs([Attr("address","0x690"), Attr("insn","adrp x0, #69632")]), - Var("R0",Imm(64)), Int(69632,64)), Def(Tid(587, "%0000024b"), - Attrs([Attr("address","0x694"), Attr("insn","add x0, x0, #0x10")]), - Var("R0",Imm(64)), PLUS(Var("R0",Imm(64)),Int(16,64))), -Def(Tid(592, "%00000250"), Attrs([Attr("address","0x698"), -Attr("insn","adrp x1, #69632")]), Var("R1",Imm(64)), Int(69632,64)), -Def(Tid(598, "%00000256"), Attrs([Attr("address","0x69C"), -Attr("insn","add x1, x1, #0x10")]), Var("R1",Imm(64)), -PLUS(Var("R1",Imm(64)),Int(16,64))), Def(Tid(604, "%0000025c"), - Attrs([Attr("address","0x6A0"), Attr("insn","cmp x1, x0")]), - Var("#1",Imm(64)), NOT(Var("R0",Imm(64)))), Def(Tid(609, "%00000261"), - Attrs([Attr("address","0x6A0"), Attr("insn","cmp x1, x0")]), - Var("#2",Imm(64)), PLUS(Var("R1",Imm(64)),NOT(Var("R0",Imm(64))))), -Def(Tid(615, "%00000267"), Attrs([Attr("address","0x6A0"), -Attr("insn","cmp x1, x0")]), Var("VF",Imm(1)), -NEQ(SIGNED(65,PLUS(Var("#2",Imm(64)),Int(1,64))),PLUS(PLUS(SIGNED(65,Var("R1",Imm(64))),SIGNED(65,Var("#1",Imm(64)))),Int(1,65)))), -Def(Tid(621, "%0000026d"), Attrs([Attr("address","0x6A0"), -Attr("insn","cmp x1, x0")]), Var("CF",Imm(1)), -NEQ(UNSIGNED(65,PLUS(Var("#2",Imm(64)),Int(1,64))),PLUS(PLUS(UNSIGNED(65,Var("R1",Imm(64))),UNSIGNED(65,Var("#1",Imm(64)))),Int(1,65)))), -Def(Tid(625, "%00000271"), Attrs([Attr("address","0x6A0"), -Attr("insn","cmp x1, x0")]), Var("ZF",Imm(1)), -EQ(PLUS(Var("#2",Imm(64)),Int(1,64)),Int(0,64))), Def(Tid(629, "%00000275"), - Attrs([Attr("address","0x6A0"), Attr("insn","cmp x1, x0")]), - Var("NF",Imm(1)), Extract(63,63,PLUS(Var("#2",Imm(64)),Int(1,64))))]), -Jmps([Goto(Tid(635, "%0000027b"), Attrs([Attr("address","0x6A4"), -Attr("insn","b.eq #0x18")]), EQ(Var("ZF",Imm(1)),Int(1,1)), -Direct(Tid(633, "%00000279"))), Goto(Tid(1_502, "%000005de"), Attrs([]), - Int(1,1), Direct(Tid(886, "%00000376")))])), Blk(Tid(886, "%00000376"), - Attrs([Attr("address","0x6A8")]), Phis([]), Defs([Def(Tid(889, "%00000379"), - Attrs([Attr("address","0x6A8"), Attr("insn","adrp x1, #65536")]), - Var("R1",Imm(64)), Int(65536,64)), Def(Tid(896, "%00000380"), - Attrs([Attr("address","0x6AC"), Attr("insn","ldr x1, [x1, #0xfd8]")]), - Var("R1",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R1",Imm(64)),Int(4056,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(901, "%00000385"), Attrs([Attr("address","0x6B0"), -Attr("insn","cbz x1, #0xc")]), EQ(Var("R1",Imm(64)),Int(0,64)), -Direct(Tid(633, "%00000279"))), Goto(Tid(1_503, "%000005df"), Attrs([]), - Int(1,1), Direct(Tid(905, "%00000389")))])), Blk(Tid(633, "%00000279"), - Attrs([Attr("address","0x6BC")]), Phis([]), Defs([]), -Jmps([Call(Tid(641, "%00000281"), Attrs([Attr("address","0x6BC"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(905, "%00000389"), Attrs([Attr("address","0x6B4")]), Phis([]), -Defs([Def(Tid(909, "%0000038d"), Attrs([Attr("address","0x6B4"), -Attr("insn","mov x16, x1")]), Var("R16",Imm(64)), Var("R1",Imm(64)))]), -Jmps([Call(Tid(914, "%00000392"), Attrs([Attr("address","0x6B8"), -Attr("insn","br x16")]), Int(1,1), (Indirect(Var("R16",Imm(64))),))]))])), -Sub(Tid(1_473, "@frame_dummy"), Attrs([Attr("c.proto","signed (*)(void)"), -Attr("address","0x750")]), "frame_dummy", Args([Arg(Tid(1_519, "%000005ef"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("frame_dummy_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), Blks([Blk(Tid(793, "@frame_dummy"), - Attrs([Attr("address","0x750")]), Phis([]), Defs([]), -Jmps([Call(Tid(795, "%0000031b"), Attrs([Attr("address","0x750"), -Attr("insn","b #-0x90")]), Int(1,1), -(Direct(Tid(1_475, "@register_tm_clones")),))]))])), Sub(Tid(1_474, "@main"), - Attrs([Attr("c.proto","signed (*)(signed argc, const char** argv)"), -Attr("address","0x600"), Attr("stub","()")]), "main", - Args([Arg(Tid(1_520, "%000005f0"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("main_argc",Imm(32)), LOW(32,Var("R0",Imm(64))), In()), -Arg(Tid(1_521, "%000005f1"), Attrs([Attr("c.layout","**[char : 8]"), -Attr("c.data","Top:u8 ptr ptr"), Attr("c.type"," const char**")]), - Var("main_argv",Imm(64)), Var("R1",Imm(64)), Both()), -Arg(Tid(1_522, "%000005f2"), Attrs([Attr("c.layout","[signed : 32]"), -Attr("c.data","Top:u32"), Attr("c.type","signed")]), - Var("main_result",Imm(32)), LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(424, "@main"), Attrs([Attr("address","0x600")]), Phis([]), -Defs([Def(Tid(427, "%000001ab"), Attrs([Attr("address","0x600"), -Attr("insn","adrp x1, #69632")]), Var("R1",Imm(64)), Int(69632,64)), -Def(Tid(433, "%000001b1"), Attrs([Attr("address","0x604"), -Attr("insn","mov w2, w0")]), Var("R2",Imm(64)), -UNSIGNED(64,Extract(31,0,Var("R0",Imm(64))))), Def(Tid(438, "%000001b6"), - Attrs([Attr("address","0x608"), Attr("insn","mov w0, #0x0")]), - Var("R0",Imm(64)), Int(0,64)), Def(Tid(446, "%000001be"), - Attrs([Attr("address","0x60C"), Attr("insn","str w2, [x1, #0x14]")]), - Var("mem",Mem(64,8)), -Store(Var("mem",Mem(64,8)),PLUS(Var("R1",Imm(64)),Int(20,64)),Extract(31,0,Var("R2",Imm(64))),LittleEndian(),32))]), -Jmps([Call(Tid(451, "%000001c3"), Attrs([Attr("address","0x610"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))]))])), -Sub(Tid(1_475, "@register_tm_clones"), - Attrs([Attr("c.proto","signed (*)(void)"), Attr("address","0x6C0")]), - "register_tm_clones", Args([Arg(Tid(1_523, "%000005f3"), - Attrs([Attr("c.layout","[signed : 32]"), Attr("c.data","Top:u32"), -Attr("c.type","signed")]), Var("register_tm_clones_result",Imm(32)), -LOW(32,Var("R0",Imm(64))), Out())]), -Blks([Blk(Tid(643, "@register_tm_clones"), Attrs([Attr("address","0x6C0")]), - Phis([]), Defs([Def(Tid(646, "%00000286"), Attrs([Attr("address","0x6C0"), -Attr("insn","adrp x0, #69632")]), Var("R0",Imm(64)), Int(69632,64)), -Def(Tid(652, "%0000028c"), Attrs([Attr("address","0x6C4"), -Attr("insn","add x0, x0, #0x10")]), Var("R0",Imm(64)), -PLUS(Var("R0",Imm(64)),Int(16,64))), Def(Tid(657, "%00000291"), - Attrs([Attr("address","0x6C8"), Attr("insn","adrp x1, #69632")]), - Var("R1",Imm(64)), Int(69632,64)), Def(Tid(663, "%00000297"), - Attrs([Attr("address","0x6CC"), Attr("insn","add x1, x1, #0x10")]), - Var("R1",Imm(64)), PLUS(Var("R1",Imm(64)),Int(16,64))), -Def(Tid(670, "%0000029e"), Attrs([Attr("address","0x6D0"), -Attr("insn","sub x1, x1, x0")]), Var("R1",Imm(64)), -PLUS(PLUS(Var("R1",Imm(64)),NOT(Var("R0",Imm(64)))),Int(1,64))), -Def(Tid(676, "%000002a4"), Attrs([Attr("address","0x6D4"), -Attr("insn","lsr x2, x1, #63")]), Var("R2",Imm(64)), -Concat(Int(0,63),Extract(63,63,Var("R1",Imm(64))))), -Def(Tid(683, "%000002ab"), Attrs([Attr("address","0x6D8"), -Attr("insn","add x1, x2, x1, asr #3")]), Var("R1",Imm(64)), -PLUS(Var("R2",Imm(64)),ARSHIFT(Var("R1",Imm(64)),Int(3,3)))), -Def(Tid(689, "%000002b1"), Attrs([Attr("address","0x6DC"), -Attr("insn","asr x1, x1, #1")]), Var("R1",Imm(64)), -SIGNED(64,Extract(63,1,Var("R1",Imm(64)))))]), -Jmps([Goto(Tid(695, "%000002b7"), Attrs([Attr("address","0x6E0"), -Attr("insn","cbz x1, #0x18")]), EQ(Var("R1",Imm(64)),Int(0,64)), -Direct(Tid(693, "%000002b5"))), Goto(Tid(1_504, "%000005e0"), Attrs([]), - Int(1,1), Direct(Tid(856, "%00000358")))])), Blk(Tid(856, "%00000358"), - Attrs([Attr("address","0x6E4")]), Phis([]), Defs([Def(Tid(859, "%0000035b"), - Attrs([Attr("address","0x6E4"), Attr("insn","adrp x2, #65536")]), - Var("R2",Imm(64)), Int(65536,64)), Def(Tid(866, "%00000362"), - Attrs([Attr("address","0x6E8"), Attr("insn","ldr x2, [x2, #0xff8]")]), - Var("R2",Imm(64)), -Load(Var("mem",Mem(64,8)),PLUS(Var("R2",Imm(64)),Int(4088,64)),LittleEndian(),64))]), -Jmps([Goto(Tid(871, "%00000367"), Attrs([Attr("address","0x6EC"), -Attr("insn","cbz x2, #0xc")]), EQ(Var("R2",Imm(64)),Int(0,64)), -Direct(Tid(693, "%000002b5"))), Goto(Tid(1_505, "%000005e1"), Attrs([]), - Int(1,1), Direct(Tid(875, "%0000036b")))])), Blk(Tid(693, "%000002b5"), - Attrs([Attr("address","0x6F8")]), Phis([]), Defs([]), -Jmps([Call(Tid(701, "%000002bd"), Attrs([Attr("address","0x6F8"), -Attr("insn","ret")]), Int(1,1), (Indirect(Var("R30",Imm(64))),))])), -Blk(Tid(875, "%0000036b"), Attrs([Attr("address","0x6F0")]), Phis([]), -Defs([Def(Tid(879, "%0000036f"), Attrs([Attr("address","0x6F0"), -Attr("insn","mov x16, x2")]), Var("R16",Imm(64)), Var("R2",Imm(64)))]), -Jmps([Call(Tid(884, "%00000374"), Attrs([Attr("address","0x6F4"), -Attr("insn","br x16")]), Int(1,1), -(Indirect(Var("R16",Imm(64))),))]))]))]))) \ No newline at end of file diff --git a/src/test/incorrect/nestedifglobal/gcc_O2/nestedifglobal.bir b/src/test/incorrect/nestedifglobal/gcc_O2/nestedifglobal.bir deleted file mode 100644 index 2db9b6be9..000000000 --- a/src/test/incorrect/nestedifglobal/gcc_O2/nestedifglobal.bir +++ /dev/null @@ -1,227 +0,0 @@ -000005e2: program -000005b0: sub __cxa_finalize(__cxa_finalize_result) -000005e3: __cxa_finalize_result :: out u32 = low:32[R0] - -00000354: -0000044c: R16 := 0x10000 -00000453: R17 := mem[R16 + 0xFB8, el]:u64 -00000459: R16 := R16 + 0xFB8 -0000045e: call R17 with noreturn - -000005b1: sub __do_global_dtors_aux(__do_global_dtors_aux_result) -000005e4: __do_global_dtors_aux_result :: out u32 = low:32[R0] - -000002c1: -000002c5: #3 := R31 - 0x20 -000002cb: mem := mem with [#3, el]:u64 <- R29 -000002d1: mem := mem with [#3 + 8, el]:u64 <- R30 -000002d5: R31 := #3 -000002db: R29 := R31 -000002e3: mem := mem with [R31 + 0x10, el]:u64 <- R19 -000002e8: R19 := 0x11000 -000002ef: R0 := pad:64[mem[R19 + 0x10]] -000002f6: when 31:0[R0] <> 0 goto %000002f4 -000005d8: goto %0000031d - -0000031d: -00000320: R0 := 0x10000 -00000327: R0 := mem[R0 + 0xFE0, el]:u64 -0000032d: when R0 = 0 goto %0000032b -000005d9: goto %00000344 - -00000344: -00000347: R0 := 0x11000 -0000034e: R0 := mem[R0 + 8, el]:u64 -00000353: R30 := 0x730 -00000356: call @__cxa_finalize with return %0000032b - -0000032b: -00000333: R30 := 0x734 -00000335: call @deregister_tm_clones with return %00000337 - -00000337: -0000033a: R0 := 1 -00000342: mem := mem with [R19 + 0x10] <- 7:0[R0] -000005da: goto %000002f4 - -000002f4: -000002fe: R19 := mem[R31 + 0x10, el]:u64 -00000305: R29 := mem[R31, el]:u64 -0000030a: R30 := mem[R31 + 8, el]:u64 -0000030e: R31 := R31 + 0x20 -00000313: call R30 with noreturn - -000005b5: sub __libc_start_main(__libc_start_main_main, __libc_start_main_arg2, __libc_start_main_arg3, __libc_start_main_auxv, __libc_start_main_result) -000005e5: __libc_start_main_main :: in u64 = R0 -000005e6: __libc_start_main_arg2 :: in u32 = low:32[R1] -000005e7: __libc_start_main_arg3 :: in out u64 = R2 -000005e8: __libc_start_main_auxv :: in out u64 = R3 -000005e9: __libc_start_main_result :: out u32 = low:32[R0] - -0000021a: -00000436: R16 := 0x10000 -0000043d: R17 := mem[R16 + 0xFB0, el]:u64 -00000443: R16 := R16 + 0xFB0 -00000448: call R17 with noreturn - -000005b6: sub _fini(_fini_result) -000005ea: _fini_result :: out u32 = low:32[R0] - -0000001f: -00000025: #0 := R31 - 0x10 -0000002b: mem := mem with [#0, el]:u64 <- R29 -00000031: mem := mem with [#0 + 8, el]:u64 <- R30 -00000035: R31 := #0 -0000003b: R29 := R31 -00000042: R29 := mem[R31, el]:u64 -00000047: R30 := mem[R31 + 8, el]:u64 -0000004b: R31 := R31 + 0x10 -00000050: call R30 with noreturn - -000005b7: sub _init(_init_result) -000005eb: _init_result :: out u32 = low:32[R0] - -00000502: -00000508: #5 := R31 - 0x10 -0000050e: mem := mem with [#5, el]:u64 <- R29 -00000514: mem := mem with [#5 + 8, el]:u64 <- R30 -00000518: R31 := #5 -0000051e: R29 := R31 -00000523: R30 := 0x590 -00000525: call @call_weak_fn with return %00000527 - -00000527: -0000052c: R29 := mem[R31, el]:u64 -00000531: R30 := mem[R31 + 8, el]:u64 -00000535: R31 := R31 + 0x10 -0000053a: call R30 with noreturn - -000005b8: sub _start(_start_result) -000005ec: _start_result :: out u32 = low:32[R0] - -000001db: -000001e0: R29 := 0 -000001e5: R30 := 0 -000001eb: R5 := R0 -000001f2: R1 := mem[R31, el]:u64 -000001f8: R2 := R31 + 8 -000001fe: R6 := R31 -00000203: R0 := 0x10000 -0000020a: R0 := mem[R0 + 0xFF0, el]:u64 -0000020f: R3 := 0 -00000214: R4 := 0 -00000219: R30 := 0x670 -0000021c: call @__libc_start_main with return %0000021e - -0000021e: -00000221: R30 := 0x674 -00000224: call @abort with return %000005db - -000005db: -000005dc: call @call_weak_fn with noreturn - -000005bb: sub abort() - - -00000222: -00000478: R16 := 0x10000 -0000047f: R17 := mem[R16 + 0xFC8, el]:u64 -00000485: R16 := R16 + 0xFC8 -0000048a: call R17 with noreturn - -000005bc: sub call_weak_fn(call_weak_fn_result) -000005ed: call_weak_fn_result :: out u32 = low:32[R0] - -00000226: -00000229: R0 := 0x10000 -00000230: R0 := mem[R0 + 0xFE8, el]:u64 -00000236: when R0 = 0 goto %00000234 -000005dd: goto %00000394 - -00000234: -0000023c: call R30 with noreturn - -00000394: -00000397: goto @__gmon_start__ - -00000395: -00000462: R16 := 0x10000 -00000469: R17 := mem[R16 + 0xFC0, el]:u64 -0000046f: R16 := R16 + 0xFC0 -00000474: call R17 with noreturn - -000005be: sub deregister_tm_clones(deregister_tm_clones_result) -000005ee: deregister_tm_clones_result :: out u32 = low:32[R0] - -00000242: -00000245: R0 := 0x11000 -0000024b: R0 := R0 + 0x10 -00000250: R1 := 0x11000 -00000256: R1 := R1 + 0x10 -0000025c: #1 := ~R0 -00000261: #2 := R1 + ~R0 -00000267: VF := extend:65[#2 + 1] <> extend:65[R1] + extend:65[#1] + 1 -0000026d: CF := pad:65[#2 + 1] <> pad:65[R1] + pad:65[#1] + 1 -00000271: ZF := #2 + 1 = 0 -00000275: NF := 63:63[#2 + 1] -0000027b: when ZF goto %00000279 -000005de: goto %00000376 - -00000376: -00000379: R1 := 0x10000 -00000380: R1 := mem[R1 + 0xFD8, el]:u64 -00000385: when R1 = 0 goto %00000279 -000005df: goto %00000389 - -00000279: -00000281: call R30 with noreturn - -00000389: -0000038d: R16 := R1 -00000392: call R16 with noreturn - -000005c1: sub frame_dummy(frame_dummy_result) -000005ef: frame_dummy_result :: out u32 = low:32[R0] - -00000319: -0000031b: call @register_tm_clones with noreturn - -000005c2: sub main(main_argc, main_argv, main_result) -000005f0: main_argc :: in u32 = low:32[R0] -000005f1: main_argv :: in out u64 = R1 -000005f2: main_result :: out u32 = low:32[R0] - -000001a8: -000001ab: R1 := 0x11000 -000001b1: R2 := pad:64[31:0[R0]] -000001b6: R0 := 0 -000001be: mem := mem with [R1 + 0x14, el]:u32 <- 31:0[R2] -000001c3: call R30 with noreturn - -000005c3: sub register_tm_clones(register_tm_clones_result) -000005f3: register_tm_clones_result :: out u32 = low:32[R0] - -00000283: -00000286: R0 := 0x11000 -0000028c: R0 := R0 + 0x10 -00000291: R1 := 0x11000 -00000297: R1 := R1 + 0x10 -0000029e: R1 := R1 + ~R0 + 1 -000002a4: R2 := 0.63:63[R1] -000002ab: R1 := R2 + (R1 ~>> 3) -000002b1: R1 := extend:64[63:1[R1]] -000002b7: when R1 = 0 goto %000002b5 -000005e0: goto %00000358 - -00000358: -0000035b: R2 := 0x10000 -00000362: R2 := mem[R2 + 0xFF8, el]:u64 -00000367: when R2 = 0 goto %000002b5 -000005e1: goto %0000036b - -000002b5: -000002bd: call R30 with noreturn - -0000036b: -0000036f: R16 := R2 -00000374: call R16 with noreturn diff --git a/src/test/incorrect/nestedifglobal/gcc_O2/nestedifglobal.relf b/src/test/incorrect/nestedifglobal/gcc_O2/nestedifglobal.relf deleted file mode 100644 index 147f0a3bc..000000000 --- a/src/test/incorrect/nestedifglobal/gcc_O2/nestedifglobal.relf +++ /dev/null @@ -1,122 +0,0 @@ - -Relocation section '.rela.dyn' at offset 0x460 contains 8 entries: - Offset Info Type Symbol's Value Symbol's Name + Addend -0000000000010d98 0000000000000403 R_AARCH64_RELATIVE 750 -0000000000010da0 0000000000000403 R_AARCH64_RELATIVE 700 -0000000000010ff0 0000000000000403 R_AARCH64_RELATIVE 600 -0000000000011008 0000000000000403 R_AARCH64_RELATIVE 11008 -0000000000010fd8 0000000400000401 R_AARCH64_GLOB_DAT 0000000000000000 _ITM_deregisterTMCloneTable + 0 -0000000000010fe0 0000000500000401 R_AARCH64_GLOB_DAT 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0 -0000000000010fe8 0000000600000401 R_AARCH64_GLOB_DAT 0000000000000000 __gmon_start__ + 0 -0000000000010ff8 0000000800000401 R_AARCH64_GLOB_DAT 0000000000000000 _ITM_registerTMCloneTable + 0 - -Relocation section '.rela.plt' at offset 0x520 contains 4 entries: - Offset Info Type Symbol's Value Symbol's Name + Addend -0000000000010fb0 0000000300000402 R_AARCH64_JUMP_SLOT 0000000000000000 __libc_start_main@GLIBC_2.34 + 0 -0000000000010fb8 0000000500000402 R_AARCH64_JUMP_SLOT 0000000000000000 __cxa_finalize@GLIBC_2.17 + 0 -0000000000010fc0 0000000600000402 R_AARCH64_JUMP_SLOT 0000000000000000 __gmon_start__ + 0 -0000000000010fc8 0000000700000402 R_AARCH64_JUMP_SLOT 0000000000000000 abort@GLIBC_2.17 + 0 - -Symbol table '.dynsym' contains 9 entries: - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000580 0 SECTION LOCAL DEFAULT 11 .init - 2: 0000000000011000 0 SECTION LOCAL DEFAULT 22 .data - 3: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.34 (2) - 4: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable - 5: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 (3) - 6: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 7: 0000000000000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.17 (3) - 8: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - -Symbol table '.symtab' contains 89 entries: - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000238 0 SECTION LOCAL DEFAULT 1 .interp - 2: 0000000000000254 0 SECTION LOCAL DEFAULT 2 .note.gnu.build-id - 3: 0000000000000278 0 SECTION LOCAL DEFAULT 3 .note.ABI-tag - 4: 0000000000000298 0 SECTION LOCAL DEFAULT 4 .gnu.hash - 5: 00000000000002b8 0 SECTION LOCAL DEFAULT 5 .dynsym - 6: 0000000000000390 0 SECTION LOCAL DEFAULT 6 .dynstr - 7: 000000000000041e 0 SECTION LOCAL DEFAULT 7 .gnu.version - 8: 0000000000000430 0 SECTION LOCAL DEFAULT 8 .gnu.version_r - 9: 0000000000000460 0 SECTION LOCAL DEFAULT 9 .rela.dyn - 10: 0000000000000520 0 SECTION LOCAL DEFAULT 10 .rela.plt - 11: 0000000000000580 0 SECTION LOCAL DEFAULT 11 .init - 12: 00000000000005a0 0 SECTION LOCAL DEFAULT 12 .plt - 13: 0000000000000600 0 SECTION LOCAL DEFAULT 13 .text - 14: 0000000000000754 0 SECTION LOCAL DEFAULT 14 .fini - 15: 0000000000000768 0 SECTION LOCAL DEFAULT 15 .rodata - 16: 000000000000076c 0 SECTION LOCAL DEFAULT 16 .eh_frame_hdr - 17: 00000000000007a8 0 SECTION LOCAL DEFAULT 17 .eh_frame - 18: 0000000000010d98 0 SECTION LOCAL DEFAULT 18 .init_array - 19: 0000000000010da0 0 SECTION LOCAL DEFAULT 19 .fini_array - 20: 0000000000010da8 0 SECTION LOCAL DEFAULT 20 .dynamic - 21: 0000000000010f98 0 SECTION LOCAL DEFAULT 21 .got - 22: 0000000000011000 0 SECTION LOCAL DEFAULT 22 .data - 23: 0000000000011010 0 SECTION LOCAL DEFAULT 23 .bss - 24: 0000000000000000 0 SECTION LOCAL DEFAULT 24 .comment - 25: 0000000000000000 0 FILE LOCAL DEFAULT ABS Scrt1.o - 26: 0000000000000278 0 NOTYPE LOCAL DEFAULT 3 $d - 27: 0000000000000278 32 OBJECT LOCAL DEFAULT 3 __abi_tag - 28: 0000000000000640 0 NOTYPE LOCAL DEFAULT 13 $x - 29: 00000000000007bc 0 NOTYPE LOCAL DEFAULT 17 $d - 30: 0000000000000768 0 NOTYPE LOCAL DEFAULT 15 $d - 31: 0000000000000000 0 FILE LOCAL DEFAULT ABS crti.o - 32: 0000000000000674 0 NOTYPE LOCAL DEFAULT 13 $x - 33: 0000000000000674 20 FUNC LOCAL DEFAULT 13 call_weak_fn - 34: 0000000000000580 0 NOTYPE LOCAL DEFAULT 11 $x - 35: 0000000000000754 0 NOTYPE LOCAL DEFAULT 14 $x - 36: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtn.o - 37: 0000000000000590 0 NOTYPE LOCAL DEFAULT 11 $x - 38: 0000000000000760 0 NOTYPE LOCAL DEFAULT 14 $x - 39: 0000000000000000 0 FILE LOCAL DEFAULT ABS nestedifglobal.c - 40: 0000000000000600 0 NOTYPE LOCAL DEFAULT 13 $x - 41: 0000000000011014 0 NOTYPE LOCAL DEFAULT 23 $d - 42: 0000000000000830 0 NOTYPE LOCAL DEFAULT 17 $d - 43: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 44: 0000000000000690 0 NOTYPE LOCAL DEFAULT 13 $x - 45: 0000000000000690 0 FUNC LOCAL DEFAULT 13 deregister_tm_clones - 46: 00000000000006c0 0 FUNC LOCAL DEFAULT 13 register_tm_clones - 47: 0000000000011008 0 NOTYPE LOCAL DEFAULT 22 $d - 48: 0000000000000700 0 FUNC LOCAL DEFAULT 13 __do_global_dtors_aux - 49: 0000000000011010 1 OBJECT LOCAL DEFAULT 23 completed.0 - 50: 0000000000010da0 0 NOTYPE LOCAL DEFAULT 19 $d - 51: 0000000000010da0 0 OBJECT LOCAL DEFAULT 19 __do_global_dtors_aux_fini_array_entry - 52: 0000000000000750 0 FUNC LOCAL DEFAULT 13 frame_dummy - 53: 0000000000010d98 0 NOTYPE LOCAL DEFAULT 18 $d - 54: 0000000000010d98 0 OBJECT LOCAL DEFAULT 18 __frame_dummy_init_array_entry - 55: 00000000000007d0 0 NOTYPE LOCAL DEFAULT 17 $d - 56: 0000000000011010 0 NOTYPE LOCAL DEFAULT 23 $d - 57: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c - 58: 0000000000000844 0 NOTYPE LOCAL DEFAULT 17 $d - 59: 0000000000000844 0 OBJECT LOCAL DEFAULT 17 __FRAME_END__ - 60: 0000000000000000 0 FILE LOCAL DEFAULT ABS - 61: 0000000000010da8 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC - 62: 000000000000076c 0 NOTYPE LOCAL DEFAULT 16 __GNU_EH_FRAME_HDR - 63: 0000000000010fd0 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ - 64: 00000000000005a0 0 NOTYPE LOCAL DEFAULT 12 $x - 65: 0000000000000000 0 FUNC GLOBAL DEFAULT UND __libc_start_main@GLIBC_2.34 - 66: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_deregisterTMCloneTable - 67: 0000000000011000 0 NOTYPE WEAK DEFAULT 22 data_start - 68: 0000000000011010 0 NOTYPE GLOBAL DEFAULT 23 __bss_start__ - 69: 0000000000000000 0 FUNC WEAK DEFAULT UND __cxa_finalize@GLIBC_2.17 - 70: 0000000000011020 0 NOTYPE GLOBAL DEFAULT 23 _bss_end__ - 71: 0000000000011010 0 NOTYPE GLOBAL DEFAULT 22 _edata - 72: 0000000000011018 4 OBJECT GLOBAL DEFAULT 23 z - 73: 0000000000011014 4 OBJECT GLOBAL DEFAULT 23 x - 74: 0000000000000754 0 FUNC GLOBAL HIDDEN 14 _fini - 75: 0000000000011020 0 NOTYPE GLOBAL DEFAULT 23 __bss_end__ - 76: 0000000000011000 0 NOTYPE GLOBAL DEFAULT 22 __data_start - 77: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__ - 78: 0000000000011008 0 OBJECT GLOBAL HIDDEN 22 __dso_handle - 79: 0000000000000000 0 FUNC GLOBAL DEFAULT UND abort@GLIBC_2.17 - 80: 0000000000000768 4 OBJECT GLOBAL DEFAULT 15 _IO_stdin_used - 81: 0000000000011020 0 NOTYPE GLOBAL DEFAULT 23 _end - 82: 0000000000000640 52 FUNC GLOBAL DEFAULT 13 _start - 83: 0000000000011020 0 NOTYPE GLOBAL DEFAULT 23 __end__ - 84: 0000000000011010 0 NOTYPE GLOBAL DEFAULT 23 __bss_start - 85: 0000000000000600 20 FUNC GLOBAL DEFAULT 13 main - 86: 0000000000011010 0 OBJECT GLOBAL HIDDEN 22 __TMC_END__ - 87: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _ITM_registerTMCloneTable - 88: 0000000000000580 0 FUNC GLOBAL HIDDEN 11 _init diff --git a/src/test/scala/SystemTests.scala b/src/test/scala/SystemTests.scala index 6f928ea56..7d5317598 100644 --- a/src/test/scala/SystemTests.scala +++ b/src/test/scala/SystemTests.scala @@ -44,7 +44,7 @@ class SystemTests extends AnyFunSuite { Main.main(Array("--adt", ADTPath, "--relf", RELFPath, "--output", outPath)) } println(outPath) - val boogieResult = Seq("boogie", "/timeLimit:10", "/printVerifiedProceduresCount:0", outPath).!! + val boogieResult = Seq("boogie", "/timeLimit:10", "/printVerifiedProceduresCount:0", "/useArrayAxioms", outPath).!! val resultPath = variationPath + "_result.txt" log(boogieResult, resultPath) val verified = boogieResult.strip().equals("Boogie program verifier finished with 0 errors")