type of function it’s ca l ling in to def call_function recv.strlen end Ruby source # Insn: v25 LoadField v24, :len@0x10 # Load field id=len offset=16 0x123af0428: ldur x1, [x0, #0x10] # Insn: v26 BoxFixnum v25 0x123af042c: lsl x1, x1, #1 0x123af0430: b.vs #0x123af0468 0x123af0434: nop 0x123af0438: nop 0x123af043c: orr x1, x1, #1 Strlen is a Ruby function # Insn: v27 CCallWithFrame v26, :Strlen.strlen@0x16ee772b0, v16 # stack overflow check 0x1217ec190: add x1, x21, #0x80 0x1217ec194: cmp x19, x1 0x1217ec198: b.ls #0x1217ec28c 0x1217ec19c: nop 0x1217ec1a0: nop # save PC to CFP 0x1217ec1a4: mov x1, #-1 0x1217ec1a8: stur x1, [x19] 0x1217ec1ac: mov x1, #0x41e0 0x1217ec1b0: movk x1, #0x5e9a, lsl #16 0x1217ec1b4: movk x1, #0xb, lsl #32 0x1217ec1b8: stur x1, [x19, #0x30] # save SP to CFP: 0 0x1217ec1bc: add x1, x21, #0 0x1217ec1c0: stur x1, [x19, #8] # spill stack 0x1217ec1c4: stur x0, [x21] 0x1217ec1c8: stur x2, [x21, #8] # spill locals 0x1217ec1cc: stur x0, [x21, #-0x20] # push cme, specval, frame type 0x1217ec1d0: ldr x1, #0x1217ec1d8 0x1217ec1d4: b #0x1217ec1e0 Strlen is a C function Ruby C