[*] Binary protection state of libmove_inf.so

  
  	No RELRO       No Canary found   NX disabled  DSO          No RPATH     No RUNPATH   Symbols


[*] Function printf tear down of libmove_inf.so

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmove_inf.so @ 0xcb40 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.MoveFlushFrame ()            | void MoveFlushFrame () {
    0x0000cb40 lui gp, 2                     |     
    0x0000cb44 addiu gp, gp, -0x66c0         |     
    0x0000cb48 addu gp, gp, t9               |     gp += t9;
    0x0000cb4c addiu sp, sp, -0x20           |     
    0x0000cb50 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0000cb54 sw ra, 0x1c(sp)               |     *(var_1ch) = ra;
                                             |     if (a0 != 0) {
    0x0000cb58 beqz a0, 0xcb78               |         
    0x0000cb5c nop                           |         
    0x0000cb60 lw a0, 0x30(a0)               |         a0 = *((a0 + 12));
    0x0000cb64 lw ra, 0x1c(sp)               |         ra = *(var_1ch);
                                             |         if (a0 == 0) {
    0x0000cb68 beqz a0, 0xcb78               |             goto label_0;
                                             |         }
    0x0000cb6c lw t9, -0x7e90(gp)            |         t9 = sym.move_flush_frame;
    0x0000cb70 addiu sp, sp, 0x20            |         
    0x0000cb74 jr t9                         |         t9 ();
                                             |     }
                                             | label_0:
    0x0000cb78 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x0000cb7c lw a1, -0x7fd4(gp)            |     a1 = *((gp - 8181));
    0x0000cb80 lw t9, -0x7fa4(gp)            |     t9 = sym.imp.printf
    0x0000cb84 addiu a0, a0, -0x2858         |     a0 += -0x2858;
    0x0000cb88 addiu a1, a1, -0x2780         |     a1 += -0x2780;
    0x0000cb8c jalr t9                       |     t9 ();
    0x0000cb90 lw ra, 0x1c(sp)               |     ra = *(var_1ch);
    0x0000cb94 addiu v0, zero, -1            |     v0 = -1;
    0x0000cb98 addiu sp, sp, 0x20            |     
    0x0000cb9c jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmove_inf.so @ 0xcc00 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.MoveGetParam ()              | void MoveGetParam () {
    0x0000cc00 lui gp, 2                     |     
    0x0000cc04 addiu gp, gp, -0x6780         |     
    0x0000cc08 addu gp, gp, t9               |     gp += t9;
    0x0000cc0c addiu sp, sp, -0x20           |     
    0x0000cc10 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0000cc14 sw ra, 0x1c(sp)               |     *(var_1ch) = ra;
                                             |     if (a0 != 0) {
    0x0000cc18 beqz a0, 0xcc38               |         
    0x0000cc1c nop                           |         
    0x0000cc20 lw a0, 0x30(a0)               |         a0 = *((a0 + 12));
    0x0000cc24 lw ra, 0x1c(sp)               |         ra = *(var_1ch);
                                             |         if (a0 == 0) {
    0x0000cc28 beqz a0, 0xcc38               |             goto label_0;
                                             |         }
    0x0000cc2c lw t9, -0x7f1c(gp)            |         t9 = sym.move_get_param;
    0x0000cc30 addiu sp, sp, 0x20            |         
    0x0000cc34 jr t9                         |         t9 ();
                                             |     }
                                             | label_0:
    0x0000cc38 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x0000cc3c lw a1, -0x7fd4(gp)            |     a1 = *((gp - 8181));
    0x0000cc40 lw t9, -0x7fa4(gp)            |     t9 = sym.imp.printf
    0x0000cc44 addiu a0, a0, -0x2858         |     a0 += -0x2858;
    0x0000cc48 addiu a1, a1, -0x2760         |     a1 += -0x2760;
    0x0000cc4c jalr t9                       |     t9 ();
    0x0000cc50 lw ra, 0x1c(sp)               |     ra = *(var_1ch);
    0x0000cc54 addiu v0, zero, -1            |     v0 = -1;
    0x0000cc58 addiu sp, sp, 0x20            |     
    0x0000cc5c jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmove_inf.so @ 0xca8c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.MoveGetResult ()             | void MoveGetResult () {
    0x0000ca8c lui gp, 2                     |     
    0x0000ca90 addiu gp, gp, -0x660c         |     
    0x0000ca94 addu gp, gp, t9               |     gp += t9;
    0x0000ca98 addiu sp, sp, -0x20           |     
    0x0000ca9c sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0000caa0 sw ra, 0x1c(sp)               |     *(var_1ch) = ra;
                                             |     if (a0 == 0) {
    0x0000caa4 beqz a0, 0xcb20               |         goto label_0;
                                             |     }
    0x0000caa8 nop                           |     
    0x0000caac lw v1, 0x30(a0)               |     v1 = *((a0 + 12));
    0x0000cab0 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
                                             |     if (v1 == 0) {
    0x0000cab4 beqz v1, 0xcb24               |         goto label_1;
                                             |     }
    0x0000cab8 lw v0, 0x40(v1)               |     v0 = *((v1 + 16));
    0x0000cabc lw a0, (v0)                   |     a0 = *(v0);
    0x0000cac0 lw a2, 8(v0)                  |     a2 = *((v0 + 2));
    0x0000cac4 move v0, zero                 |     v0 = 0;
    0x0000cac8 sll a3, a0, 4                 |     a3 = a0 << 4;
    0x0000cacc sll a0, a0, 7                 |     a0 <<= 7;
    0x0000cad0 addu a0, a3, a0               |     a0 = a3 + a0;
    0x0000cad4 addu a0, a2, a0               |     a0 = a2 + a0;
    0x0000cad8 sw a0, (a1)                   |     *(a1) = a0;
    0x0000cadc lw a0, 0x40(v1)               |     a0 = *((v1 + 16));
    0x0000cae0 lui a1, 0x2aaa                |     a1 = 0x2aaaaaab;
    0x0000cae4 ori a1, a1, 0xaaab            |     
    0x0000cae8 lw v1, (a0)                   |     v1 = *(a0);
    0x0000caec addiu v1, v1, 1               |     v1++;
    0x0000caf0 mult v1, a1                   |     __asm ("mult v1, a1");
    0x0000caf4 sra a2, v1, 0x1f              |     a2 = v1 >> 0x1f;
    0x0000caf8 mfhi a1                       |     __asm ("mfhi a1");
    0x0000cafc subu a1, a1, a2               |     __asm ("subu a1, a1, a2");
    0x0000cb00 sll a2, a1, 1                 |     a2 = a1 << 1;
    0x0000cb04 sll a1, a1, 3                 |     a1 <<= 3;
    0x0000cb08 subu a1, a1, a2               |     __asm ("subu a1, a1, a2");
    0x0000cb0c subu v1, v1, a1               |     __asm ("subu v1, v1, a1");
    0x0000cb10 sw v1, (a0)                   |     *(a0) = v1;
                                             |     do {
    0x0000cb14 lw ra, 0x1c(sp)               |         ra = *(var_1ch);
    0x0000cb18 addiu sp, sp, 0x20            |         
    0x0000cb1c jr ra                         |         return v0;
                                             | label_0:
    0x0000cb20 lw a0, -0x7fd4(gp)            |         a0 = *((gp - 8181));
                                             | label_1:
    0x0000cb24 lw a1, -0x7fd4(gp)            |         a1 = *((gp - 8181));
    0x0000cb28 lw t9, -0x7fa4(gp)            |         t9 = sym.imp.printf
    0x0000cb2c addiu a0, a0, -0x2858         |         a0 += -0x2858;
    0x0000cb30 addiu a1, a1, -0x2750         |         a1 += -0x2750;
    0x0000cb34 jalr t9                       |         t9 ();
    0x0000cb38 addiu v0, zero, -1            |         v0 = -1;
    0x0000cb3c b 0xcb14                      |         
                                             |     } while (1);
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmove_inf.so @ 0xc948 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.MoveInit ()                  | void MoveInit () {
    0x0000c948 lui gp, 2                     |     
    0x0000c94c addiu gp, gp, -0x64c8         |     
    0x0000c950 addu gp, gp, t9               |     gp += t9;
    0x0000c954 addiu sp, sp, -0x28           |     
    0x0000c958 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0000c95c sw ra, 0x24(sp)               |     *(var_24h) = ra;
    0x0000c960 sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x0000c964 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x0000c968 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x0000c96c move s1, a0                   |     s1 = a0;
                                             |     if (a0 == 0) {
    0x0000c970 beqz a0, 0xc9fc               |         goto label_1;
                                             |     }
    0x0000c974 lw a0, (a0)                   |     a0 = *(a0);
    0x0000c978 lw t9, -0x7eb4(gp)            |     t9 = sym.alloc_move;
                                             |     if (a0 == 0) {
    0x0000c97c beqz a0, 0xc9fc               |         goto label_1;
                                             |     }
    0x0000c980 lw a1, -0x7ef8(gp)            |     a1 = *((gp - 8126));
    0x0000c984 jalr t9                       |     t9 ();
    0x0000c988 nop                           |     
    0x0000c98c move s2, v0                   |     s2 = v0;
    0x0000c990 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0000c994 beqz v0, 0xca48               |         goto label_2;
                                             |     }
    0x0000c998 lw t9, -0x7e74(gp)            |     t9 = sym.imp.calloc;
    0x0000c99c addiu a0, zero, 1             |     a0 = 1;
    0x0000c9a0 addiu a1, zero, 0xc           |     a1 = 0xc;
    0x0000c9a4 jalr t9                       |     t9 ();
    0x0000c9a8 move s0, v0                   |     s0 = v0;
    0x0000c9ac lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0000c9b0 sw v0, 0x40(s2)               |     *((s2 + 16)) = v0;
                                             |     if (v0 == 0) {
    0x0000c9b4 beqz v0, 0xca1c               |         goto label_3;
                                             |     }
    0x0000c9b8 lw t9, -0x7e74(gp)            |     t9 = sym.imp.calloc;
    0x0000c9bc addiu a0, zero, 6             |     a0 = 6;
    0x0000c9c0 addiu a1, zero, 0x90          |     a1 = 0x90;
    0x0000c9c4 jalr t9                       |     t9 ();
    0x0000c9c8 sw v0, 8(s0)                  |     *((s0 + 2)) = v0;
    0x0000c9cc lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0000c9d0 beqz v0, 0xca64               |         goto label_4;
                                             |     }
    0x0000c9d4 sw zero, 4(s0)                |     *((s0 + 1)) = 0;
    0x0000c9d8 sw zero, (s0)                 |     *(s0) = 0;
    0x0000c9dc move v0, zero                 |     v0 = 0;
    0x0000c9e0 sw s2, 0x30(s1)               |     *((s1 + 12)) = s2;
                                             |     do {
                                             | label_0:
    0x0000c9e4 lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x0000c9e8 lw s2, 0x20(sp)               |         s2 = *(var_20h);
    0x0000c9ec lw s1, 0x1c(sp)               |         s1 = *(var_1ch);
    0x0000c9f0 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x0000c9f4 addiu sp, sp, 0x28            |         
    0x0000c9f8 jr ra                         |         return v0;
                                             | label_1:
    0x0000c9fc lw a0, -0x7fd4(gp)            |         a0 = *((gp - 8181));
    0x0000ca00 lw a1, -0x7fd4(gp)            |         a1 = *((gp - 8181));
    0x0000ca04 lw t9, -0x7fa4(gp)            |         t9 = sym.imp.printf
    0x0000ca08 addiu a0, a0, -0x2898         |         a0 += -0x2898;
    0x0000ca0c addiu a1, a1, -0x270c         |         a1 += -0x270c;
    0x0000ca10 jalr t9                       |         t9 ();
    0x0000ca14 addiu v0, zero, -1            |         v0 = -1;
    0x0000ca18 b 0xc9e4                      |         
                                             |     } while (1);
                                             | label_3:
    0x0000ca1c lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x0000ca20 lw t9, -0x7fb0(gp)            |     t9 = sym.imp.puts;
    0x0000ca24 addiu a0, a0, -0x286c         |     a0 += -0x286c;
    0x0000ca28 jalr t9                       |     t9 ();
    0x0000ca2c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     do {
    0x0000ca30 lw t9, -0x7f64(gp)            |         t9 = sym.free_move;
    0x0000ca34 move a0, s2                   |         a0 = s2;
    0x0000ca38 jalr t9                       |         t9 ();
    0x0000ca3c sw zero, 0x30(s1)             |         *((s1 + 12)) = 0;
    0x0000ca40 addiu v0, zero, -1            |         v0 = -1;
    0x0000ca44 b 0xc9e4                      |         goto label_0;
                                             | label_2:
    0x0000ca48 lw a0, -0x7fd4(gp)            |         a0 = *((gp - 8181));
    0x0000ca4c lw t9, -0x7fb0(gp)            |         t9 = sym.imp.puts;
    0x0000ca50 addiu a0, a0, -0x2884         |         a0 += -0x2884;
    0x0000ca54 jalr t9                       |         t9 ();
    0x0000ca58 sw zero, 0x30(s1)             |         *((s1 + 12)) = 0;
    0x0000ca5c addiu v0, zero, -1            |         v0 = -1;
    0x0000ca60 b 0xc9e4                      |         goto label_0;
                                             | label_4:
    0x0000ca64 lw a0, -0x7fd4(gp)            |         a0 = *((gp - 8181));
    0x0000ca68 lw t9, -0x7fb0(gp)            |         t9 = sym.imp.puts;
    0x0000ca6c addiu a0, a0, -0x286c         |         a0 += -0x286c;
    0x0000ca70 jalr t9                       |         t9 ();
    0x0000ca74 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0000ca78 lw t9, -0x7f9c(gp)            |         t9 = sym.imp.free;
    0x0000ca7c lw a0, 0x40(s2)               |         a0 = *((s2 + 16));
    0x0000ca80 jalr t9                       |         t9 ();
    0x0000ca84 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0000ca88 b 0xca30                      |         
                                             |     } while (1);
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmove_inf.so @ 0xcf40 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.MoveInterfaceInit ()         | void MoveInterfaceInit () {
    0x0000cf40 lui gp, 2                     |     
    0x0000cf44 addiu gp, gp, -0x6ac0         |     
    0x0000cf48 addu gp, gp, t9               |     gp += t9;
    0x0000cf4c addiu sp, sp, -0x28           |     
    0x0000cf50 lw a1, -0x7fd4(gp)            |     a1 = *((gp - 8181));
    0x0000cf54 lw a2, -0x7fd4(gp)            |     a2 = *((gp - 8181));
    0x0000cf58 lw a3, -0x7fd4(gp)            |     a3 = *((gp - 8181));
    0x0000cf5c sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x0000cf60 move s1, a0                   |     s1 = a0;
    0x0000cf64 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x0000cf68 lw t9, -0x7fa4(gp)            |     t9 = sym.imp.printf
    0x0000cf6c sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0000cf70 sw ra, 0x24(sp)               |     *(var_24h) = ra;
    0x0000cf74 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x0000cf78 addiu a1, a1, -0x27b0         |     a1 += -0x27b0;
    0x0000cf7c addiu a2, a2, -0x27a8         |     a2 += -0x27a8;
    0x0000cf80 addiu a3, a3, -0x279c         |     a3 += -0x279c;
    0x0000cf84 addiu a0, a0, -0x27d0         |     a0 += -0x27d0;
    0x0000cf88 jalr t9                       |     t9 ();
    0x0000cf8c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0000cf90 addiu a0, zero, 1             |     a0 = 1;
    0x0000cf94 lw t9, -0x7e74(gp)            |     t9 = sym.imp.calloc;
    0x0000cf98 addiu a1, zero, 0x6c          |     a1 = 0x6c;
    0x0000cf9c jalr t9                       |     t9 ();
    0x0000cfa0 move s0, v0                   |     s0 = v0;
    0x0000cfa4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0000cfa8 beqz v0, 0xd0a4               |         goto label_0;
                                             |     }
    0x0000cfac addiu v0, v0, 0x34            |     v0 += 0x34;
    0x0000cfb0 move a0, s1                   |     a0 = s1;
    0x0000cfb4 sw v0, (s0)                   |     *(s0) = v0;
    0x0000cfb8 addiu t0, s1, 0x30            |     t0 = s1 + 0x30;
                                             |     do {
    0x0000cfbc lwl a3, 3(a0)                 |         __asm ("lwl a3, 3(a0)");
    0x0000cfc0 lwl a2, 7(a0)                 |         __asm ("lwl a2, 7(a0)");
    0x0000cfc4 lwl a1, 0xb(a0)               |         __asm ("lwl a1, 0xb(a0)");
    0x0000cfc8 lwl v1, 0xf(a0)               |         __asm ("lwl v1, 0xf(a0)");
    0x0000cfcc lwr a3, (a0)                  |         __asm ("lwr a3, (a0)");
    0x0000cfd0 lwr a2, 4(a0)                 |         __asm ("lwr a2, 4(a0)");
    0x0000cfd4 lwr a1, 8(a0)                 |         __asm ("lwr a1, 8(a0)");
    0x0000cfd8 lwr v1, 0xc(a0)               |         __asm ("lwr v1, 0xc(a0)");
    0x0000cfdc addiu a0, a0, 0x10            |         a0 += 0x10;
    0x0000cfe0 sw a3, (v0)                   |         *(v0) = a3;
    0x0000cfe4 sw a2, 4(v0)                  |         *((v0 + 1)) = a2;
    0x0000cfe8 sw a1, 8(v0)                  |         *((v0 + 2)) = a1;
    0x0000cfec sw v1, 0xc(v0)                |         *((v0 + 3)) = v1;
    0x0000cff0 addiu v0, v0, 0x10            |         v0 += 0x10;
    0x0000cff4 bne a0, t0, 0xcfbc            |         
                                             |     } while (a0 != t0);
    0x0000cff8 lwl a1, 3(a0)                 |     __asm ("lwl a1, 3(a0)");
    0x0000cffc lwl v1, 7(a0)                 |     __asm ("lwl v1, 7(a0)");
    0x0000d000 lwr a1, (a0)                  |     __asm ("lwr a1, (a0)");
    0x0000d004 lwr v1, 4(a0)                 |     __asm ("lwr v1, 4(a0)");
    0x0000d008 sw a1, (v0)                   |     *(v0) = a1;
    0x0000d00c sw v1, 4(v0)                  |     *((v0 + 1)) = v1;
    0x0000d010 addiu v0, zero, 0x38          |     v0 = 0x38;
    0x0000d014 sw v0, 4(s0)                  |     *((s0 + 1)) = v0;
    0x0000d018 addiu v0, zero, 0xa           |     v0 = 0xa;
    0x0000d01c sw v0, 8(s0)                  |     *((s0 + 2)) = v0;
    0x0000d020 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x0000d024 addiu v0, v0, -0x36b8         |     v0 += -0x36b8;
    0x0000d028 sw v0, 0xc(s0)                |     *((s0 + 3)) = v0;
    0x0000d02c lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x0000d030 addiu v0, v0, -0x31d4         |     v0 += -0x31d4;
    0x0000d034 sw v0, 0x10(s0)               |     *((s0 + 4)) = v0;
    0x0000d038 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x0000d03c addiu v0, v0, -0x328c         |     v0 += -0x328c;
    0x0000d040 sw v0, 0x14(s0)               |     *((s0 + 5)) = v0;
    0x0000d044 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x0000d048 addiu v0, v0, -0x33a0         |     v0 += -0x33a0;
    0x0000d04c sw v0, 0x18(s0)               |     *((s0 + 6)) = v0;
    0x0000d050 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x0000d054 addiu v0, v0, -0x3574         |     v0 += -0x3574;
    0x0000d058 sw v0, 0x1c(s0)               |     *((s0 + 7)) = v0;
    0x0000d05c lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x0000d060 addiu v0, v0, -0x36c0         |     v0 += -0x36c0;
    0x0000d064 sw v0, 0x20(s0)               |     *((s0 + 8)) = v0;
    0x0000d068 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x0000d06c addiu v0, v0, -0x3400         |     v0 += -0x3400;
    0x0000d070 sw v0, 0x24(s0)               |     *((s0 + 9)) = v0;
    0x0000d074 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x0000d078 addiu v0, v0, -0x3460         |     v0 += -0x3460;
    0x0000d07c sw v0, 0x28(s0)               |     *((s0 + 10)) = v0;
    0x0000d080 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x0000d084 addiu v0, v0, -0x34c0         |     v0 += -0x34c0;
    0x0000d088 sw v0, 0x2c(s0)               |     *((s0 + 11)) = v0;
    0x0000d08c lw ra, 0x24(sp)               |     ra = *(var_24h);
                                             |     do {
    0x0000d090 move v0, s0                   |         v0 = s0;
    0x0000d094 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x0000d098 lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x0000d09c addiu sp, sp, 0x28            |         
    0x0000d0a0 jr ra                         |         return v0;
                                             | label_0:
    0x0000d0a4 lw a0, -0x7fd4(gp)            |         a0 = *((gp - 8181));
    0x0000d0a8 lw t9, -0x7fb0(gp)            |         t9 = sym.imp.puts;
    0x0000d0ac addiu a0, a0, -0x2790         |         a0 += -0x2790;
    0x0000d0b0 jalr t9                       |         t9 ();
    0x0000d0b4 lw ra, 0x24(sp)               |         ra = *(var_24h);
    0x0000d0b8 b 0xd090                      |         
                                             |     } while (1);
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmove_inf.so @ 0xcd74 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.MovePreprocessSync ()        | void MovePreprocessSync () {
    0x0000cd74 lui gp, 2                     |     
    0x0000cd78 addiu gp, gp, -0x68f4         |     
    0x0000cd7c addu gp, gp, t9               |     gp += t9;
    0x0000cd80 addiu sp, sp, -0x38           |     
    0x0000cd84 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0000cd88 sw ra, 0x34(sp)               |     *(var_34h) = ra;
                                             |     if (a0 == 0) {
    0x0000cd8c beqz a0, 0xcdf4               |         goto label_1;
                                             |     }
    0x0000cd90 nop                           |     
    0x0000cd94 lw a0, 0x30(a0)               |     a0 = *((a0 + 12));
    0x0000cd98 lw t9, -0x7f8c(gp)            |     t9 = sym.move_preprocess;
                                             |     if (a0 == 0) {
    0x0000cd9c beqz a0, 0xcdf4               |         goto label_1;
                                             |     }
    0x0000cda0 lw v1, 0x24(a1)               |     v1 = *((a1 + 9));
    0x0000cda4 lw t1, 0x1c(a1)               |     t1 = *((a1 + 7));
    0x0000cda8 lw t0, 8(a1)                  |     t0 = *((a1 + 2));
    0x0000cdac lw a3, 0xc(a1)                |     a3 = *((a1 + 3));
    0x0000cdb0 lw a2, 0x10(a1)               |     a2 = *((a1 + 4));
    0x0000cdb4 lw v0, 0x20(a1)               |     v0 = *((a1 + 8));
    0x0000cdb8 sw v1, 0x2c(sp)               |     *(var_2ch) = v1;
    0x0000cdbc addiu a1, sp, 0x18            |     a1 = sp + 0x18;
    0x0000cdc0 sw t1, 0x18(sp)               |     *(var_18h) = t1;
    0x0000cdc4 sw t0, 0x1c(sp)               |     *(var_1ch) = t0;
    0x0000cdc8 sw a3, 0x20(sp)               |     *(var_20h) = a3;
    0x0000cdcc sw a2, 0x24(sp)               |     *(var_24h) = a2;
    0x0000cdd0 sw v0, 0x28(sp)               |     *(var_28h) = v0;
    0x0000cdd4 jalr t9                       |     t9 ();
    0x0000cdd8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0000cddc move v1, zero                 |     v1 = 0;
                                             |     if (v0 < 0) {
    0x0000cde0 bltz v0, 0xce14               |         goto label_2;
                                             |     }
                                             |     do {
                                             | label_0:
    0x0000cde4 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x0000cde8 move v0, v1                   |         v0 = v1;
    0x0000cdec addiu sp, sp, 0x38            |         
    0x0000cdf0 jr ra                         |         return v1;
                                             | label_1:
    0x0000cdf4 lw a0, -0x7fd4(gp)            |         a0 = *((gp - 8181));
    0x0000cdf8 lw a1, -0x7fd4(gp)            |         a1 = *((gp - 8181));
    0x0000cdfc lw t9, -0x7fa4(gp)            |         t9 = sym.imp.printf
    0x0000ce00 addiu a0, a0, -0x2858         |         a0 += -0x2858;
    0x0000ce04 addiu a1, a1, -0x272c         |         a1 += -0x272c;
    0x0000ce08 jalr t9                       |         t9 ();
    0x0000ce0c addiu v1, zero, -1            |         v1 = -1;
    0x0000ce10 b 0xcde4                      |         
                                             |     } while (1);
                                             | label_2:
    0x0000ce14 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x0000ce18 lw t9, -0x7fb0(gp)            |     t9 = sym.imp.puts;
    0x0000ce1c addiu a0, a0, -0x282c         |     a0 += -0x282c;
    0x0000ce20 jalr t9                       |     t9 ();
    0x0000ce24 addiu v1, zero, -1            |     v1 = -1;
    0x0000ce28 b 0xcde4                      |     goto label_0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmove_inf.so @ 0xcc60 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.MoveProcessAsync ()          | void MoveProcessAsync () {
    0x0000cc60 lui gp, 2                     |     
    0x0000cc64 addiu gp, gp, -0x67e0         |     
    0x0000cc68 addu gp, gp, t9               |     gp += t9;
    0x0000cc6c addiu sp, sp, -0x38           |     
    0x0000cc70 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0000cc74 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x0000cc78 sw s0, 0x30(sp)               |     *(var_30h) = s0;
                                             |     if (a0 == 0) {
    0x0000cc7c beqz a0, 0xcd3c               |         goto label_1;
                                             |     }
    0x0000cc80 nop                           |     
    0x0000cc84 lw s0, 0x30(a0)               |     s0 = *((a0 + 12));
    0x0000cc88 lw t9, -0x7f74(gp)            |     t9 = sym.move_process;
                                             |     if (s0 == 0) {
    0x0000cc8c beqz s0, 0xcd3c               |         goto label_1;
                                             |     }
    0x0000cc90 lw v0, 0x40(s0)               |     v0 = *((s0 + 16));
    0x0000cc94 lw t2, 0x1c(a1)               |     t2 = *((a1 + 7));
    0x0000cc98 lw t1, 8(a1)                  |     t1 = *((a1 + 2));
    0x0000cc9c lw a0, 4(v0)                  |     a0 = *((v0 + 1));
    0x0000cca0 lw t3, 8(v0)                  |     t3 = *((v0 + 2));
    0x0000cca4 lw t0, 0xc(a1)                |     t0 = *((a1 + 3));
    0x0000cca8 lw a3, 0x10(a1)               |     a3 = *((a1 + 4));
    0x0000ccac lw v0, 0x20(a1)               |     v0 = *((a1 + 8));
    0x0000ccb0 lw v1, 0x24(a1)               |     v1 = *((a1 + 9));
    0x0000ccb4 sll a2, a0, 4                 |     a2 = a0 << 4;
    0x0000ccb8 sll a0, a0, 7                 |     a0 <<= 7;
    0x0000ccbc addu a2, a2, a0               |     a2 += a0;
    0x0000ccc0 addiu a1, sp, 0x18            |     a1 = sp + 0x18;
    0x0000ccc4 move a0, s0                   |     a0 = s0;
    0x0000ccc8 addu a2, t3, a2               |     a2 = t3 + a2;
    0x0000cccc sw t2, 0x18(sp)               |     *(var_18h) = t2;
    0x0000ccd0 sw t1, 0x1c(sp)               |     *(var_1ch) = t1;
    0x0000ccd4 sw t0, 0x20(sp)               |     *(var_20h) = t0;
    0x0000ccd8 sw a3, 0x24(sp)               |     *(var_24h) = a3;
    0x0000ccdc sw v0, 0x28(sp)               |     *(var_28h) = v0;
    0x0000cce0 sw v1, 0x2c(sp)               |     *(var_2ch) = v1;
    0x0000cce4 jalr t9                       |     t9 ();
    0x0000cce8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 < 0) {
    0x0000ccec bltz v0, 0xcd5c               |         goto label_2;
                                             |     }
    0x0000ccf0 lw a0, 0x40(s0)               |     a0 = *((s0 + 16));
    0x0000ccf4 lui a1, 0x2aaa                |     a1 = 0x2aaaaaab;
    0x0000ccf8 ori a1, a1, 0xaaab            |     
    0x0000ccfc lw v1, 4(a0)                  |     v1 = *((a0 + 1));
    0x0000cd00 move v0, zero                 |     v0 = 0;
    0x0000cd04 addiu v1, v1, 1               |     v1++;
    0x0000cd08 mult v1, a1                   |     __asm ("mult v1, a1");
    0x0000cd0c sra a2, v1, 0x1f              |     a2 = v1 >> 0x1f;
    0x0000cd10 mfhi a1                       |     __asm ("mfhi a1");
    0x0000cd14 subu a1, a1, a2               |     __asm ("subu a1, a1, a2");
    0x0000cd18 sll a2, a1, 1                 |     a2 = a1 << 1;
    0x0000cd1c sll a1, a1, 3                 |     a1 <<= 3;
    0x0000cd20 subu a1, a1, a2               |     __asm ("subu a1, a1, a2");
    0x0000cd24 subu v1, v1, a1               |     __asm ("subu v1, v1, a1");
    0x0000cd28 sw v1, 4(a0)                  |     *((a0 + 1)) = v1;
                                             |     do {
                                             | label_0:
    0x0000cd2c lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x0000cd30 lw s0, 0x30(sp)               |         s0 = *(var_30h);
    0x0000cd34 addiu sp, sp, 0x38            |         
    0x0000cd38 jr ra                         |         return v0;
                                             | label_1:
    0x0000cd3c lw a0, -0x7fd4(gp)            |         a0 = *((gp - 8181));
    0x0000cd40 lw a1, -0x7fd4(gp)            |         a1 = *((gp - 8181));
    0x0000cd44 lw t9, -0x7fa4(gp)            |         t9 = sym.imp.printf
    0x0000cd48 addiu a0, a0, -0x2858         |         a0 += -0x2858;
    0x0000cd4c addiu a1, a1, -0x2740         |         a1 += -0x2740;
    0x0000cd50 jalr t9                       |         t9 ();
    0x0000cd54 addiu v0, zero, -1            |         v0 = -1;
    0x0000cd58 b 0xcd2c                      |         
                                             |     } while (1);
                                             | label_2:
    0x0000cd5c lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x0000cd60 lw t9, -0x7fb0(gp)            |     t9 = sym.imp.puts;
    0x0000cd64 addiu a0, a0, -0x2844         |     a0 += -0x2844;
    0x0000cd68 jalr t9                       |     t9 ();
    0x0000cd6c addiu v0, zero, -1            |     v0 = -1;
    0x0000cd70 b 0xcd2c                      |     goto label_0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmove_inf.so @ 0xcba0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.MoveSetParam ()              | void MoveSetParam () {
    0x0000cba0 lui gp, 2                     |     
    0x0000cba4 addiu gp, gp, -0x6720         |     
    0x0000cba8 addu gp, gp, t9               |     gp += t9;
    0x0000cbac addiu sp, sp, -0x20           |     
    0x0000cbb0 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0000cbb4 sw ra, 0x1c(sp)               |     *(var_1ch) = ra;
                                             |     if (a0 != 0) {
    0x0000cbb8 beqz a0, 0xcbd8               |         
    0x0000cbbc nop                           |         
    0x0000cbc0 lw a0, 0x30(a0)               |         a0 = *((a0 + 12));
    0x0000cbc4 lw ra, 0x1c(sp)               |         ra = *(var_1ch);
                                             |         if (a0 == 0) {
    0x0000cbc8 beqz a0, 0xcbd8               |             goto label_0;
                                             |         }
    0x0000cbcc lw t9, -0x7f34(gp)            |         t9 = sym.move_set_param;
    0x0000cbd0 addiu sp, sp, 0x20            |         
    0x0000cbd4 jr t9                         |         t9 ();
                                             |     }
                                             | label_0:
    0x0000cbd8 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x0000cbdc lw a1, -0x7fd4(gp)            |     a1 = *((gp - 8181));
    0x0000cbe0 lw t9, -0x7fa4(gp)            |     t9 = sym.imp.printf
    0x0000cbe4 addiu a0, a0, -0x2858         |     a0 += -0x2858;
    0x0000cbe8 addiu a1, a1, -0x2770         |     a1 += -0x2770;
    0x0000cbec jalr t9                       |     t9 ();
    0x0000cbf0 lw ra, 0x1c(sp)               |     ra = *(var_1ch);
    0x0000cbf4 addiu v0, zero, -1            |     v0 = -1;
    0x0000cbf8 addiu sp, sp, 0x20            |     
    0x0000cbfc jr ra                         |     return v0;
                                             | }

[*] Function printf used 9 times libmove_inf.so