/tmp/donnie-binary-frame-review/fixture: (__TEXT,__text) section _classify_frame: 0000000100000460 cmp x1, #0x6 0000000100000464 b.ne 0x1000004c0 0000000100000468 ldrb w8, [x0] 000000010000046c cmp w8, #0xa5 0000000100000470 b.ne 0x1000004c0 0000000100000474 ldrb w8, [x0, #0x1] 0000000100000478 cmp w8, #0x1 000000010000047c b.ne 0x1000004c0 0000000100000480 mov x9, #0x0 0000000100000484 mov w8, #0x0 0000000100000488 ldrb w10, [x0, x9] 000000010000048c eor w8, w10, w8 0000000100000490 add x9, x9, #0x1 0000000100000494 cmp x9, #0x5 0000000100000498 b.ne 0x100000488 000000010000049c ldrb w9, [x0, #0x5] 00000001000004a0 cmp w8, w9 00000001000004a4 b.ne 0x1000004c8 00000001000004a8 ldurh w8, [x0, #0x3] 00000001000004ac ldrb w9, [x0, #0x2] 00000001000004b0 cmp w8, #0xbb8 00000001000004b4 cset w8, hi 00000001000004b8 and w0, w9, w8 00000001000004bc ret 00000001000004c0 mov w0, #0x2 00000001000004c4 ret 00000001000004c8 mov w0, #0x3 00000001000004cc ret _main: 00000001000004d0 sub sp, sp, #0x60 00000001000004d4 stp x26, x25, [sp, #0x10] 00000001000004d8 stp x24, x23, [sp, #0x20] 00000001000004dc stp x22, x21, [sp, #0x30] 00000001000004e0 stp x20, x19, [sp, #0x40] 00000001000004e4 stp x29, x30, [sp, #0x50] 00000001000004e8 add x29, sp, #0x50 00000001000004ec cmp w0, #0x2 00000001000004f0 b.ne 0x1000005c8 00000001000004f4 mov x20, x1 00000001000004f8 ldr x0, [x1, #0x8] 00000001000004fc bl 0x1000006a8 ; symbol stub for: _strlen 0000000100000500 cmp x0, #0xc 0000000100000504 b.ne 0x1000005c8 0000000100000508 mov x22, #0x0 000000010000050c mov w19, #0x0 0000000100000510 mov x24, #0x0 0000000100000514 add x23, sp, #0xa 0000000100000518 adrp x21, 0 ; 0x100000000 000000010000051c add x21, x21, #0x6b4 ; literal pool for: "input-error" 0000000100000520 b 0x100000548 0000000100000524 orr w8, w9, w8, lsl #4 0000000100000528 strb w8, [x23, x24] 000000010000052c lsr w8, w25, #31 0000000100000530 cmp x24, #0x5 0000000100000534 add x24, x24, #0x1 0000000100000538 csinc w9, w8, wzr, ne 000000010000053c add x22, x22, #0x2 0000000100000540 cmp w9, #0x1 0000000100000544 b.eq 0x1000005f8 0000000100000548 ldr x9, [x20, #0x8] 000000010000054c ldrsb w8, [x9, x22] 0000000100000550 sub w10, w8, #0x30 0000000100000554 sub w11, w8, #0x61 0000000100000558 sub w12, w8, #0x41 000000010000055c sub w13, w8, #0x37 0000000100000560 cmp w12, #0x6 0000000100000564 csinv w12, w13, wzr, lo 0000000100000568 sub w8, w8, #0x57 000000010000056c cmp w11, #0x5 0000000100000570 csel w8, w12, w8, hi 0000000100000574 cmp w10, #0x9 0000000100000578 csel w8, w8, w10, hi 000000010000057c add x9, x9, x22 0000000100000580 ldrsb w9, [x9, #0x1] 0000000100000584 sub w10, w9, #0x30 0000000100000588 sub w11, w9, #0x61 000000010000058c sub w12, w9, #0x41 0000000100000590 sub w13, w9, #0x37 0000000100000594 cmp w12, #0x6 0000000100000598 csinv w12, w13, wzr, lo 000000010000059c sub w9, w9, #0x57 00000001000005a0 cmp w11, #0x5 00000001000005a4 csel w9, w12, w9, hi 00000001000005a8 cmp w10, #0x9 00000001000005ac csel w9, w9, w10, hi 00000001000005b0 orr w25, w8, w9 00000001000005b4 tbz w25, #0x1f, 0x100000524 00000001000005b8 mov x0, x21 00000001000005bc bl 0x10000069c ; symbol stub for: _puts 00000001000005c0 mov w19, #0x40 00000001000005c4 b 0x10000052c 00000001000005c8 mov w19, #0x40 00000001000005cc adrp x0, 0 ; 0x100000000 00000001000005d0 add x0, x0, #0x6b4 ; literal pool for: "input-error" 00000001000005d4 bl 0x10000069c ; symbol stub for: _puts 00000001000005d8 mov x0, x19 00000001000005dc ldp x29, x30, [sp, #0x50] 00000001000005e0 ldp x20, x19, [sp, #0x40] 00000001000005e4 ldp x22, x21, [sp, #0x30] 00000001000005e8 ldp x24, x23, [sp, #0x20] 00000001000005ec ldp x26, x25, [sp, #0x10] 00000001000005f0 add sp, sp, #0x60 00000001000005f4 ret 00000001000005f8 tbnz w8, #0x0, 0x1000005d8 00000001000005fc ldrb w8, [sp, #0xa] 0000000100000600 mov w19, #0x2 0000000100000604 cmp w8, #0xa5 0000000100000608 b.ne 0x100000660 000000010000060c ldrb w8, [sp, #0xb] 0000000100000610 cmp w8, #0x1 0000000100000614 b.ne 0x100000660 0000000100000618 mov x9, #0x0 000000010000061c mov w8, #0x0 0000000100000620 add x10, sp, #0xa 0000000100000624 ldrb w11, [x10, x9] 0000000100000628 eor w8, w11, w8 000000010000062c add x9, x9, #0x1 0000000100000630 cmp x9, #0x5 0000000100000634 b.ne 0x100000624 0000000100000638 ldrb w9, [sp, #0xf] 000000010000063c cmp w8, w9 0000000100000640 b.ne 0x10000065c 0000000100000644 ldurh w8, [sp, #0xd] 0000000100000648 ldrb w9, [sp, #0xc] 000000010000064c cmp w8, #0xbb8 0000000100000650 cset w8, hi 0000000100000654 and w19, w9, w8 0000000100000658 b 0x100000660 000000010000065c mov w19, #0x3 0000000100000660 adrp x8, 0 ; 0x100000000 0000000100000664 add x8, x8, #0x6c0 ; literal pool for: "normal" 0000000100000668 adrp x9, 0 ; 0x100000000 000000010000066c add x9, x9, #0x6c7 ; literal pool for: "alert" 0000000100000670 adrp x10, 0 ; 0x100000000 0000000100000674 add x10, x10, #0x6da ; literal pool for: "checksum-error" 0000000100000678 adrp x11, 0 ; 0x100000000 000000010000067c add x11, x11, #0x6cd ; literal pool for: "header-error" 0000000100000680 cmp w19, #0x2 0000000100000684 csel x10, x11, x10, eq 0000000100000688 cmp w19, #0x1 000000010000068c csel x9, x9, x10, eq 0000000100000690 cmp w19, #0x0 0000000100000694 csel x0, x8, x9, eq 0000000100000698 b 0x1000005d4