[*] Binary protection state of avcd
Full RELRO Canary found NX disabled No PIE No RPATH No RUNPATH No Symbols
[*] Function printf tear down of avcd
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/avcd @ 0x41798c */
| #include <stdint.h>
|
; (fcn) method.OSD_FONT.init_int__int_ () | void method_OSD_FONT_init_int_int_ () {
| /* OSD_FONT::init(int, int) */
0x0041798c lui gp, 3 |
0x00417990 addiu gp, gp, -0x792c |
0x00417994 addu gp, gp, t9 | gp += t9;
0x00417998 addiu sp, sp, -0x3580 |
0x0041799c sw ra, 0x357c(sp) | *(arg_357ch) = ra;
0x004179a0 sw fp, 0x3578(sp) | *(arg_3578h) = fp;
0x004179a4 sw s0, 0x3574(sp) | *(arg_3574h) = s0;
0x004179a8 move fp, sp | fp = sp;
0x004179ac sw gp, 0x10(sp) | *(arg_10h) = gp;
0x004179b0 sw a0, 0x24(fp) | *(arg_24h) = a0;
0x004179b4 sw a1, 0x20(fp) | *(arg_20h) = a1;
0x004179b8 sw a2, 0x1c(fp) | *(arg_1ch) = a2;
0x004179bc lw t8, -0x7d6c(gp) | t8 = *((gp - 8027));
0x004179c0 lw t8, (t8) | t8 = *(t8);
0x004179c4 sw t8, 0x356c(fp) | *(arg_356ch) = t8;
0x004179c8 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x004179cc lw v0, 0x20(fp) | v0 = *(arg_20h);
0x004179d0 sw v0, 4(t8) | *((t8 + 4)) = v0;
0x004179d4 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x004179d8 lw t8, 4(t8) | t8 = *((t8 + 1));
| if (t8 < 0) {
0x004179dc bgez t8, 0x417a24 |
0x004179e0 nop |
0x004179e4 lw t8, -0x7cf4(gp) | t8 = *((gp - 7997));
0x004179e8 lw v0, (t8) | v0 = *(t8);
0x004179ec lw t8, 0x24(fp) | t8 = *(arg_24h);
0x004179f0 lw t8, 4(t8) | t8 = *((t8 + 1));
0x004179f4 move a0, v0 | a0 = v0;
0x004179f8 lw v0, -0x7fc8(gp) | v0 = *((gp - 8178));
| /* str.fail_to_create_osd_chn__ret___d_n */
0x004179fc addiu a1, v0, 0x3c18 | a1 = v0 + 0x3c18;
0x00417a00 move a2, t8 | a2 = t8;
0x00417a04 lw t8, -0x7b3c(gp) | t8 = sym.imp.fprintf
0x00417a08 move t9, t8 | t9 = t8;
0x00417a0c jalr t9 | t9 ();
0x00417a10 nop |
0x00417a14 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00417a18 addiu s0, zero, -1 | s0 = -1;
0x00417a1c b 0x417cb8 | goto label_0;
0x00417a20 nop |
| }
0x00417a24 addiu t8, fp, 0x44 | t8 = fp + 0x44;
0x00417a28 move a0, t8 | a0 = t8;
0x00417a2c lw t8, -0x7f3c(gp) | t8 = *(gp);
0x00417a30 move t9, t8 | t9 = t8;
0x00417a34 jalr t9 | t9 ();
0x00417a38 nop |
0x00417a3c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00417a40 addiu t8, fp, 0x44 | t8 = fp + 0x44;
0x00417a44 move a0, t8 | a0 = t8;
0x00417a48 lw t8, -0x7bf4(gp) | t8 = *(gp);
0x00417a4c move t9, t8 | t9 = t8;
0x00417a50 jalr t9 | t9 ();
0x00417a54 nop |
0x00417a58 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00417a5c lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00417a60 addiu s0, t8, 0x3c | s0 = t8 + 0x3c;
0x00417a64 addiu v0, fp, 0x28 | v0 = fp + 0x28;
0x00417a68 addiu t8, fp, 0x44 | t8 = fp + 0x44;
0x00417a6c move a0, v0 | a0 = v0;
0x00417a70 move a1, t8 | a1 = t8;
0x00417a74 lw t8, -0x7c4c(gp) | t8 = *(gp);
0x00417a78 move t9, t8 | t9 = t8;
0x00417a7c jalr t9 | t9 ();
0x00417a80 nop |
0x00417a84 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00417a88 addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x00417a8c move a0, t8 | a0 = t8;
0x00417a90 lw t8, -0x7cf8(gp) | t8 = *(gp);
0x00417a94 move t9, t8 | t9 = t8;
0x00417a98 jalr t9 | t9 ();
0x00417a9c nop |
0x00417aa0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00417aa4 move t8, v0 | t8 = v0;
0x00417aa8 move a0, s0 | a0 = s0;
0x00417aac addiu a1, zero, 0x14 | a1 = 0x14;
0x00417ab0 lw v0, -0x7fc8(gp) | v0 = *((gp - 8178));
| /* esilref: '&s' */
0x00417ab4 addiu a2, v0, 0x3c3c | a2 = v0 + 0x3c3c;
0x00417ab8 move a3, t8 | a3 = t8;
0x00417abc lw t8, -0x7bc8(gp) | t8 = sym.imp.snprintf
0x00417ac0 move t9, t8 | t9 = t8;
0x00417ac4 jalr t9 | t9 ();
0x00417ac8 nop |
0x00417acc lw gp, 0x10(fp) | gp = *(arg_10h);
0x00417ad0 addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x00417ad4 move a0, t8 | a0 = t8;
0x00417ad8 lw t8, -0x7d38(gp) | t8 = *((gp - 8014));
0x00417adc move t9, t8 | t9 = t8;
0x00417ae0 jalr t9 | t9 ();
0x00417ae4 nop |
0x00417ae8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00417aec sw zero, 0x3c(fp) | *(arg_3ch) = 0;
0x00417af0 sw zero, 0x38(fp) | *(arg_38h) = 0;
0x00417af4 addiu v0, fp, 0x2c | v0 = fp + 0x2c;
0x00417af8 addiu t8, fp, 0x44 | t8 = fp + 0x44;
0x00417afc move a0, v0 | a0 = v0;
0x00417b00 move a1, t8 | a1 = t8;
0x00417b04 lw t8, -0x7c4c(gp) | t8 = *(gp);
0x00417b08 move t9, t8 | t9 = t8;
0x00417b0c jalr t9 | t9 ();
0x00417b10 nop |
0x00417b14 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00417b18 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00417b1c move a0, t8 | a0 = t8;
0x00417b20 lw t8, -0x7d54(gp) | t8 = *(gp);
0x00417b24 move t9, t8 | t9 = t8;
0x00417b28 jalr t9 | t9 ();
0x00417b2c nop |
0x00417b30 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00417b34 move t8, v0 | t8 = v0;
0x00417b38 addiu t8, t8, 0x14 | t8 += 0x14;
0x00417b3c sw t8, 0x40(fp) | *(arg_40h) = t8;
0x00417b40 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00417b44 move a0, t8 | a0 = t8;
0x00417b48 lw t8, -0x7d38(gp) | t8 = *((gp - 8014));
0x00417b4c move t9, t8 | t9 = t8;
0x00417b50 jalr t9 | t9 ();
0x00417b54 nop |
0x00417b58 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00417b5c sw zero, 0x30(fp) | *(arg_30h) = 0;
0x00417b60 sw zero, 0x34(fp) | *(arg_34h) = 0;
0x00417b64 addiu v0, fp, 0x30 | v0 = fp + 0x30;
0x00417b68 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x00417b6c move a0, v0 | a0 = v0;
0x00417b70 move a1, t8 | a1 = t8;
0x00417b74 lw a2, 0x1c(fp) | a2 = *(arg_1ch);
0x00417b78 lw t8, -0x7d78(gp) | t8 = sym.imp.get_resolution_by_scale_int__int__int_;
0x00417b7c move t9, t8 | t9 = t8;
0x00417b80 jalr t9 | t9 ();
0x00417b84 nop |
0x00417b88 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00417b8c lw v0, 0x30(fp) | v0 = *(arg_30h);
0x00417b90 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00417b94 sw v0, 0x10(t8) | *((t8 + 16)) = v0;
0x00417b98 lw v0, 0x34(fp) | v0 = *(arg_34h);
0x00417b9c lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00417ba0 sw v0, 0x14(t8) | *((t8 + 20)) = v0;
0x00417ba4 lw t8, 0x30(fp) | t8 = *(arg_30h);
0x00417ba8 srl v0, t8, 0x1f | v0 = t8 >> 0x1f;
0x00417bac addu t8, v0, t8 | t8 = v0 + t8;
0x00417bb0 sra t8, t8, 1 | t8 >>= 1;
0x00417bb4 move v0, t8 | v0 = t8;
0x00417bb8 lw t8, 0x40(fp) | t8 = *(arg_40h);
0x00417bbc div zero, v0, t8 | __asm ("div zero, v0, t8");
| if (t8 == 0) {
0x00417bc0 bnez t8, 0x417bc8 |
0x00417bc4 break 7 | __asm ("break 7");
| }
0x00417bc8 mfhi t8 | __asm ("mfhi t8");
0x00417bcc mflo t8 | __asm ("mflo t8");
0x00417bd0 sll t8, t8, 1 | t8 <<= 1;
0x00417bd4 sw t8, 0x3c(fp) | *(arg_3ch) = t8;
0x00417bd8 lw t8, 0x3c(fp) | t8 = *(arg_3ch);
0x00417bdc srl v0, t8, 0x1f | v0 = t8 >> 0x1f;
0x00417be0 addu t8, v0, t8 | t8 = v0 + t8;
0x00417be4 sra t8, t8, 1 | t8 >>= 1;
0x00417be8 sw t8, 0x38(fp) | *(arg_38h) = t8;
0x00417bec lw t8, 0x38(fp) | t8 = *(arg_38h);
0x00417bf0 andi t8, t8, 1 | t8 &= 1;
| if (t8 != 0) {
0x00417bf4 beqz t8, 0x417c08 |
0x00417bf8 nop |
0x00417bfc lw t8, 0x38(fp) | t8 = *(arg_38h);
0x00417c00 addiu t8, t8, -1 | t8 += -1;
0x00417c04 sw t8, 0x38(fp) | *(arg_38h) = t8;
| }
0x00417c08 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00417c0c lw v0, 0x3c(fp) | v0 = *(arg_3ch);
0x00417c10 sw v0, 0x50(t8) | *((t8 + 80)) = v0;
0x00417c14 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00417c18 sw zero, 0x54(t8) | *((t8 + 84)) = 0;
0x00417c1c lw t8, 0x3c(fp) | t8 = *(arg_3ch);
0x00417c20 addiu v0, t8, -0xa | v0 = t8 + -0xa;
0x00417c24 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00417c28 sw v0, 0x58(t8) | *((t8 + 88)) = v0;
0x00417c2c lw t8, 0x3c(fp) | t8 = *(arg_3ch);
0x00417c30 addiu v0, t8, -0xa | v0 = t8 + -0xa;
0x00417c34 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00417c38 sw v0, 0x5c(t8) | *((t8 + 92)) = v0;
0x00417c3c lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00417c40 lw v0, 0x38(fp) | v0 = *(arg_38h);
0x00417c44 sw v0, 0x60(t8) | *((t8 + 96)) = v0;
0x00417c48 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00417c4c lw v0, 0x38(fp) | v0 = *(arg_38h);
0x00417c50 sw v0, 0x64(t8) | *((t8 + 100)) = v0;
0x00417c54 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00417c58 lw v0, 0x3c(fp) | v0 = *(arg_3ch);
0x00417c5c sw v0, 0x68(t8) | *((t8 + 104)) = v0;
0x00417c60 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00417c64 lw v0, 0x3c(fp) | v0 = *(arg_3ch);
0x00417c68 sw v0, 0x6c(t8) | *((t8 + 108)) = v0;
0x00417c6c lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00417c70 sw zero, 0x18(t8) | *((t8 + 24)) = 0;
0x00417c74 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00417c78 sw zero, 0x1c(t8) | *((t8 + 28)) = 0;
0x00417c7c lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00417c80 sw zero, 0x20(t8) | *((t8 + 32)) = 0;
0x00417c84 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00417c88 sw zero, 0x24(t8) | *((t8 + 36)) = 0;
0x00417c8c lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00417c90 addiu v0, zero, 1 | v0 = 1;
0x00417c94 sw v0, 0x24(t8) | *((t8 + 36)) = v0;
0x00417c98 move s0, zero | s0 = 0;
0x00417c9c addiu t8, fp, 0x44 | t8 = fp + 0x44;
0x00417ca0 move a0, t8 | a0 = t8;
0x00417ca4 lw t8, -0x7cc0(gp) | t8 = sym.imp.PIB::PIB__;
0x00417ca8 move t9, t8 | t9 = t8;
0x00417cac jalr t9 | t9 ();
0x00417cb0 nop |
0x00417cb4 lw gp, 0x10(fp) | gp = *(arg_10h);
| label_0:
0x00417cb8 move t8, s0 | t8 = s0;
0x00417cbc move v0, t8 | v0 = t8;
0x00417cc0 lw t8, -0x7d6c(gp) | t8 = *((gp - 8027));
0x00417cc4 lw v1, 0x356c(fp) | v1 = *(arg_356ch);
0x00417cc8 lw t8, (t8) | t8 = *(t8);
| if (v1 != t8) {
0x00417ccc beq v1, t8, 0x417d80 |
0x00417cd0 nop |
0x00417cd4 b 0x417d70 | goto label_1;
0x00417cd8 nop |
| label_1:
0x00417d70 lw t8, -0x7bf0(gp) | t8 = sym.imp.__stack_chk_fail;
0x00417d74 move t9, t8 | t9 = t8;
0x00417d78 jalr t9 | t9 ();
0x00417d7c nop |
| }
0x00417d80 move sp, fp |
0x00417d84 lw ra, 0x357c(sp) | ra = *(arg_357ch);
0x00417d88 lw fp, 0x3578(sp) | fp = *(arg_3578h);
0x00417d8c lw s0, 0x3574(sp) | s0 = *(arg_3574h);
0x00417d90 addiu sp, sp, 0x3580 |
0x00417d94 jr ra | return v1;
0x00417d98 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/avcd @ 0x411124 */
| #include <stdint.h>
|
; (fcn) method.VCD_RUNNER.suspend_md_int_ () | void method_VCD_RUNNER_suspend_md_int_ () {
| /* VCD_RUNNER::suspend_md(int) */
0x00411124 lui gp, 3 |
0x00411128 addiu gp, gp, -0x10c4 |
0x0041112c addu gp, gp, t9 | gp += t9;
0x00411130 addiu sp, sp, -0xc0 |
0x00411134 sw ra, 0xbc(sp) | *(var_bch) = ra;
0x00411138 sw fp, 0xb8(sp) | *(var_b8h) = fp;
0x0041113c move fp, sp | fp = sp;
0x00411140 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00411144 sw a0, 0x1c(fp) | *(arg_1ch) = a0;
0x00411148 sw a1, 0x18(fp) | *(arg_18h) = a1;
0x0041114c lw t8, -0x7d6c(gp) | t8 = *((gp - 8027));
0x00411150 lw t8, (t8) | t8 = *(t8);
0x00411154 sw t8, 0xb4(fp) | *(arg_b4h) = t8;
0x00411158 lw t8, 0x18(fp) | t8 = *(arg_18h);
0x0041115c sw t8, 0x20(fp) | *(arg_20h) = t8;
0x00411160 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00411164 lw t8, 0x48(t8) | t8 = *((t8 + 18));
| if (t8 != 0) {
0x00411168 beqz t8, 0x4111a8 |
0x0041116c nop |
0x00411170 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00411174 lw t8, 0x48(t8) | t8 = *((t8 + 18));
0x00411178 lbu t8, (t8) | t8 = *(t8);
| if (t8 == 0) {
0x0041117c beqz t8, 0x4111a8 | goto label_0;
| }
0x00411180 nop |
0x00411184 lw t8, 0x1c(fp) | t8 = *(arg_1ch);
0x00411188 lw t8, 0x48(t8) | t8 = *((t8 + 18));
0x0041118c move a0, t8 | a0 = t8;
0x00411190 lw a1, 0x20(fp) | a1 = *(arg_20h);
0x00411194 lw t8, -0x7e48(gp) | t8 = sym.md_suspend_md_info_t__suspend_md_status_;
0x00411198 move t9, t8 | t9 = t8;
0x0041119c jalr t9 | t9 ();
0x004111a0 nop |
0x004111a4 lw gp, 0x10(fp) | gp = *(arg_10h);
| }
| label_0:
0x004111a8 sw zero, 0x24(fp) | *(arg_24h) = 0;
0x004111ac sw zero, 0x28(fp) | *(arg_28h) = 0;
0x004111b0 sw zero, 0x2c(fp) | *(arg_2ch) = 0;
0x004111b4 sw zero, 0x30(fp) | *(arg_30h) = 0;
0x004111b8 lw t8, 0x20(fp) | t8 = *(arg_20h);
0x004111bc addiu v0, zero, 1 | v0 = 1;
| if (t8 != v0) {
0x004111c0 beq t8, v0, 0x41120c |
0x004111c4 nop |
0x004111c8 addiu v0, zero, 2 | v0 = 2;
| if (t8 == v0) {
0x004111cc beq t8, v0, 0x41123c | goto label_1;
| }
0x004111d0 nop |
| if (t8 != 0) {
0x004111d4 bnez t8, 0x411268 | goto label_2;
| }
0x004111d8 nop |
0x004111dc addiu t8, fp, 0x24 | t8 = fp + 0x24;
0x004111e0 move a0, t8 | a0 = t8;
0x004111e4 lw t8, -0x7fc8(gp) | t8 = *((gp - 8178));
| /* str.suspend_off */
0x004111e8 addiu a1, t8, 0x2f08 | a1 = t8 + 0x2f08;
0x004111ec addiu a2, zero, 0x10 | a2 = 0x10;
0x004111f0 lw t8, -0x7aec(gp) | t8 = sym.imp.strncpy;
0x004111f4 move t9, t8 | t9 = t8;
0x004111f8 jalr t9 | t9 ();
0x004111fc nop |
0x00411200 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00411204 b 0x411268 | goto label_2;
0x00411208 nop |
| }
0x0041120c addiu t8, fp, 0x24 | t8 = fp + 0x24;
0x00411210 move a0, t8 | a0 = t8;
0x00411214 lw t8, -0x7fc8(gp) | t8 = *((gp - 8178));
| /* str.suspend_on */
0x00411218 addiu a1, t8, 0x2f14 | a1 = t8 + 0x2f14;
0x0041121c addiu a2, zero, 0x10 | a2 = 0x10;
0x00411220 lw t8, -0x7aec(gp) | t8 = sym.imp.strncpy;
0x00411224 move t9, t8 | t9 = t8;
0x00411228 jalr t9 | t9 ();
0x0041122c nop |
0x00411230 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00411234 b 0x411268 | goto label_2;
0x00411238 nop |
| label_1:
0x0041123c addiu t8, fp, 0x24 | t8 = fp + 0x24;
0x00411240 move a0, t8 | a0 = t8;
0x00411244 lw t8, -0x7fc8(gp) | t8 = *((gp - 8178));
| /* str.suspend_10s */
0x00411248 addiu a1, t8, 0x2f20 | a1 = t8 + 0x2f20;
0x0041124c addiu a2, zero, 0x10 | a2 = 0x10;
0x00411250 lw t8, -0x7aec(gp) | t8 = sym.imp.strncpy;
0x00411254 move t9, t8 | t9 = t8;
0x00411258 jalr t9 | t9 ();
0x0041125c nop |
0x00411260 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00411264 nop |
| label_2:
0x00411268 lb t8, 0x24(fp) | t8 = *(arg_24h);
| if (t8 != 0) {
0x0041126c beqz t8, 0x4112c0 |
0x00411270 nop |
0x00411274 addiu v0, fp, 0x34 | v0 = fp + 0x34;
0x00411278 addiu t8, fp, 0x24 | t8 = fp + 0x24;
0x0041127c move a0, v0 | a0 = v0;
0x00411280 addiu a1, zero, 0x80 | a1 = 0x80;
0x00411284 lw v0, -0x7fc8(gp) | v0 = *((gp - 8178));
| /* str._etc_rc.d_init.d_motion_detection_bgm.sh__s___dev_null_2_1 */
0x00411288 addiu a2, v0, 0x2f2c | a2 = v0 + 0x2f2c;
0x0041128c move a3, t8 | a3 = t8;
0x00411290 lw t8, -0x7bc8(gp) | t8 = sym.imp.snprintf
0x00411294 move t9, t8 | t9 = t8;
0x00411298 jalr t9 | t9 ();
0x0041129c nop |
0x004112a0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004112a4 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x004112a8 move a0, t8 | a0 = t8;
0x004112ac lw t8, -0x7dd4(gp) | t8 = sym.imp.system;
0x004112b0 move t9, t8 | t9 = t8;
0x004112b4 jalr t9 | t9 ();
0x004112b8 nop |
0x004112bc lw gp, 0x10(fp) | gp = *(arg_10h);
| }
0x004112c0 lw t8, -0x7d6c(gp) | t8 = *((gp - 8027));
0x004112c4 lw v0, 0xb4(fp) | v0 = *(arg_b4h);
0x004112c8 lw t8, (t8) | t8 = *(t8);
| if (v0 != t8) {
0x004112cc beq v0, t8, 0x4112e4 |
0x004112d0 nop |
0x004112d4 lw t8, -0x7bf0(gp) | t8 = sym.imp.__stack_chk_fail;
0x004112d8 move t9, t8 | t9 = t8;
0x004112dc jalr t9 | t9 ();
0x004112e0 nop |
| }
0x004112e4 move sp, fp |
0x004112e8 lw ra, 0xbc(sp) | ra = *(var_bch);
0x004112ec lw fp, 0xb8(sp) | fp = *(var_b8h);
0x004112f0 addiu sp, sp, 0xc0 |
0x004112f4 jr ra | return v0;
0x004112f8 nop |
| }
[*] Function printf used 4 times avcd