[*] Binary protection state of libsystemd-shared-243.so

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


[*] Function popen tear down of libsystemd-shared-243.so

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/libsystemd-shared-243.so @ 0x29144 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) entry.fini0 ()               | void entry_fini0 () {
    0x00029144 lui gp, 0x23              |     
    0x00029148 addiu gp, gp, -0x2964     |     
    0x0002914c addu gp, gp, t9           |     gp += t9;
    0x00029150 addiu sp, sp, -0x20       |     
    0x00029154 sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x00029158 lw s0, -0x7fe4(gp)        |     s0 = *((gp - 8185));
    0x0002915c sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x00029160 sw ra, 0x1c(sp)           |     *(var_1ch) = ra;
    0x00029164 lbu v0, 0x930(s0)         |     v0 = *(s0);
    0x00029168 lw v0, -0x6d90(gp)        |     v0 = *((gp - 7012));
                                         |     if (v0 == 0) {
    0x0002916c bnez v0, 0x291a0          |         
    0x00029170 lw v0, -0x7fe0(gp)        |         v0 = *((gp - 8184));
                                         |         if (v0 != 0) {
    0x00029174 beqz v0, 0x29188          |             
    0x00029178 lw t9, -0x6d90(gp)        |             t9 = *((gp - 7012));
    0x0002917c lw a0, (v0)               |             a0 = *(v0);
    0x00029180 jalr t9                   |             t9 ();
    0x00029184 lw gp, 0x10(sp)           |             gp = *(var_10h);
                                         |         }
    0x00029188 lw t9, -0x7fdc(gp)        |         t9 = *((gp - 8183));
    0x0002918c addiu t9, t9, -0x6f40     |         t9 += -0x6f40;
    0x00029190 bal 0x290c0               |         entry0 ();
    0x00029194 nop                       |         
    0x00029198 addiu v0, zero, 1         |         v0 = 1;
    0x0002919c sb v0, 0x930(s0)          |         *(s0) = v0;
                                         |     }
    0x000291a0 lw ra, 0x1c(sp)           |     ra = *(var_1ch);
    0x000291a4 lw s0, 0x18(sp)           |     s0 = *(var_18h);
    0x000291a8 addiu sp, sp, 0x20        |     
    0x000291ac jr ra                     |     return v0;
                                         | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/libsystemd-shared-243.so @ 0x12af4c */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.bus_match_run ()                 | void bus_match_run () {
                                                 |     do {
                                                 | label_4:
    0x0012af4c lui gp, 0x13                      |         
    0x0012af50 addiu gp, gp, -0x476c             |         
    0x0012af54 addu gp, gp, t9                   |         gp += t9;
    0x0012af58 addiu sp, sp, -0x68               |         
    0x0012af5c sw s3, 0x4c(sp)                   |         *(var_4ch) = s3;
    0x0012af60 lw s3, -0x70c4(gp)                |         s3 = *((gp - 7217));
    0x0012af64 sw gp, 0x18(sp)                   |         *(var_18h) = gp;
    0x0012af68 sw ra, 0x64(sp)                   |         *(var_64h) = ra;
    0x0012af6c sw fp, 0x60(sp)                   |         *(var_60h) = fp;
    0x0012af70 sw s7, 0x5c(sp)                   |         *(var_5ch) = s7;
    0x0012af74 sw s6, 0x58(sp)                   |         *(var_58h) = s6;
    0x0012af78 sw s5, 0x54(sp)                   |         *(var_54h) = s5;
    0x0012af7c sw s4, 0x50(sp)                   |         *(var_50h) = s4;
    0x0012af80 sw s2, 0x48(sp)                   |         *(var_48h) = s2;
    0x0012af84 sw s1, 0x44(sp)                   |         *(var_44h) = s1;
    0x0012af88 sw s0, 0x40(sp)                   |         *(var_40h) = s0;
    0x0012af8c lw v0, (s3)                       |         v0 = *(s3);
    0x0012af90 sw zero, 0x28(sp)                 |         *(var_28h) = 0;
    0x0012af94 sw v0, 0x3c(sp)                   |         *(var_3ch) = v0;
    0x0012af98 sw zero, 0x2c(sp)                 |         *(var_2ch) = 0;
                                                 |         if (a2 == 0) {
    0x0012af9c beqz a2, 0x12b524                 |             goto label_23;
                                                 |         }
    0x0012afa0 move s0, a1                       |         s0 = a1;
                                                 |         if (a1 != 0) {
    0x0012afa4 beqz a1, 0x12b018                 |             
    0x0012afa8 move s2, a2                       |             s2 = a2;
    0x0012afac move s1, a0                       |             s1 = a0;
                                                 |             if (a0 == 0) {
    0x0012afb0 beqz a0, 0x12b1c4                 |                 goto label_24;
                                                 |             }
    0x0012afb4 lw v0, 0x1c(a0)                   |             v0 = *((a0 + 7));
    0x0012afb8 andi v0, v0, 0x80                 |             v0 &= 0x80;
    0x0012afbc move fp, zero                     |             fp = 0;
                                                 |             if (v0 == 0) {
    0x0012afc0 bnel v0, zero, 0x12b01c           |                 goto label_0;
                                                 |             }
    0x0012afc4 lw v0, (a1)                       |             v0 = *(a1);
    0x0012afc8 slti v1, v0, 0xa                  |             v1 = (v0 < 0xa) ? 1 : 0;
    0x0012afcc slti v1, v0, 8                    |             v1 = (v0 < 8) ? 1 : 0;
                                                 |             if (v1 == 0) {
    0x0012afd0 beqz v1, 0x12b210                 |                 goto label_25;
                                                 |             }
    0x0012afd4 addiu v1, zero, 3                 |             v1 = 3;
                                                 |             if (v1 == 0) {
    0x0012afd8 beqz v1, 0x12b680                 |                 goto label_26;
                                                 |             }
    0x0012afdc slti v1, v0, 4                    |             v1 = (v0 < 4) ? 1 : 0;
                                                 |             if (v0 == v1) {
    0x0012afe0 beq v0, v1, 0x12b310              |                 goto label_27;
                                                 |             }
    0x0012afe4 addiu v1, zero, 1                 |             v1 = 1;
                                                 |             if (v1 != 0) {
    0x0012afe8 bnez v1, 0x12b05c                 |                 goto label_28;
                                                 |             }
    0x0012afec addiu v1, zero, 5                 |             v1 = 5;
                                                 | label_1:
    0x0012aff0 slti v1, v0, 5                    |             v1 = (v0 < 5) ? 1 : 0;
                                                 |             if (v0 == v1) {
    0x0012aff4 beq v0, v1, 0x12b664              |                 goto label_29;
                                                 |             }
    0x0012aff8 addiu v1, zero, 6                 |             v1 = 6;
                                                 |             if (v1 != 0) {
    0x0012affc bnez v1, 0x12b674                 |                 goto label_30;
                                                 |             }
    0x0012b000 addiu v1, zero, 7                 |             v1 = 7;
                                                 |             if (v0 != v1) {
    0x0012b004 bne v0, v1, 0x12b2c4              |                 goto label_31;
                                                 |             }
    0x0012b008 lw v1, 0x1c(s2)                   |             v1 = *((s2 + 7));
    0x0012b00c addiu v0, zero, 6                 |             v0 = 6;
    0x0012b010 sw v1, 0x2c(sp)                   |             *(var_2ch) = v1;
    0x0012b014 b 0x12b260                        |             goto label_6;
                                                 |         }
    0x0012b018 move fp, zero                     |         fp = 0;
                                                 | label_0:
    0x0012b01c lw a0, 0x3c(sp)                   |         a0 = *(var_3ch);
    0x0012b020 lw v1, (s3)                       |         v1 = *(s3);
    0x0012b024 move v0, fp                       |         v0 = fp;
                                                 |         if (a0 != v1) {
    0x0012b028 bne a0, v1, 0x12b744              |             goto label_32;
                                                 |         }
    0x0012b02c lw ra, 0x64(sp)                   |         ra = *(var_64h);
    0x0012b030 lw fp, 0x60(sp)                   |         fp = *(var_60h);
    0x0012b034 lw s7, 0x5c(sp)                   |         s7 = *(var_5ch);
    0x0012b038 lw s6, 0x58(sp)                   |         s6 = *(var_58h);
    0x0012b03c lw s5, 0x54(sp)                   |         s5 = *(var_54h);
    0x0012b040 lw s4, 0x50(sp)                   |         s4 = *(var_50h);
    0x0012b044 lw s3, 0x4c(sp)                   |         s3 = *(var_4ch);
    0x0012b048 lw s2, 0x48(sp)                   |         s2 = *(var_48h);
    0x0012b04c lw s1, 0x44(sp)                   |         s1 = *(var_44h);
    0x0012b050 lw s0, 0x40(sp)                   |         s0 = *(var_40h);
    0x0012b054 addiu sp, sp, 0x68                |         
    0x0012b058 jr ra                             |         return v0;
                                                 | label_28:
    0x0012b05c slti v1, v0, 2                    |         v1 = (v0 < 2) ? 1 : 0;
                                                 |         if (v0 == v1) {
    0x0012b060 beq v0, v1, 0x12b600              |             goto label_33;
                                                 |         }
                                                 |         if (v1 != 0) {
    0x0012b064 bnez v1, 0x12b200                 |             goto label_34;
                                                 |         }
    0x0012b068 nop                               |         
    0x0012b06c lw v0, 0x14(s0)                   |         v0 = *((s0 + 5));
    0x0012b070 lw v1, 8(v0)                      |         v1 = *((v0 + 2));
    0x0012b074 lw a1, 8(s0)                      |         a1 = *((s0 + 2));
                                                 |         if (v1 != 0) {
    0x0012b078 bnel v1, zero, 0x12b18c           |             
    0x0012b07c lw a0, 0x20c(s2)                  |             a0 = *(s2);
    0x0012b080 lw v1, 0x14(v0)                   |             v1 = *((v0 + 5));
    0x0012b084 sltu a1, v1, a0                   |             a1 = (v1 < a0) ? 1 : 0;
                                                 |             if (a1 == 0) {
    0x0012b088 beqz a1, 0x12b6a8                 |                 goto label_35;
                                                 |             }
    0x0012b08c nop                               |             
    0x0012b090 lw v1, 0x3cc(s1)                  |             v1 = *(s1);
                                                 | label_21:
    0x0012b094 lw a0, 0xc(v0)                    |             a0 = *((v0 + 3));
                                                 |             if (a0 == v1) {
    0x0012b098 beql a0, v1, 0x12b18c             |                 goto label_3;
                                                 |             }
    0x0012b09c lw a1, 8(s0)                      |             a1 = *((s0 + 2));
    0x0012b0a0 sw v1, 0xc(v0)                    |             *((v0 + 3)) = v1;
    0x0012b0a4 lw t9, -0x6c34(gp)                |             t9 = *((gp - 6925));
                                                 | label_2:
    0x0012b0a8 addiu a1, zero, 1                 |             a1 = 1;
    0x0012b0ac move a0, s2                       |             a0 = s2;
    0x0012b0b0 jalr t9                           |             t9 ();
    0x0012b0b4 move fp, v0                       |             fp = v0;
    0x0012b0b8 lw gp, 0x18(sp)                   |             gp = *(var_18h);
                                                 |             if (v0 < 0) {
    0x0012b0bc bltz v0, 0x12b1a8                 |                 goto label_5;
                                                 |             }
    0x0012b0c0 lw s4, 0x14(s0)                   |             s4 = *((s0 + 5));
    0x0012b0c4 lw v0, (s4)                       |             v0 = *(s4);
                                                 |             if (v0 == 0) {
    0x0012b0c8 beql v0, zero, 0x12b18c           |                 goto label_3;
                                                 |             }
    0x0012b0cc lw a1, 8(s0)                      |             a1 = *((s0 + 2));
    0x0012b0d0 sw zero, 0x30(sp)                 |             *(var_30h) = 0;
    0x0012b0d4 sw zero, 0x34(sp)                 |             *(var_34h) = 0;
    0x0012b0d8 sw zero, 0x38(sp)                 |             *(var_38h) = 0;
                                                 |             if (s1 == 0) {
    0x0012b0dc beqz s1, 0x12b6cc                 |                 goto label_36;
                                                 |             }
    0x0012b0e0 lw t9, -0x785c(gp)                |             t9 = *((gp - 7703));
    0x0012b0e4 addiu s6, s4, -0x20               |             s6 = s4 + -0x20;
    0x0012b0e8 move a0, s6                       |             a0 = s6;
    0x0012b0ec jalr t9                           |             t9 ();
    0x0012b0f0 sw v0, 0x3f4(s1)                  |             *(s1) = v0;
    0x0012b0f4 lw v0, 0x14(s0)                   |             v0 = *((s0 + 5));
    0x0012b0f8 addiu s5, sp, 0x30                |             s5 = sp + 0x30;
    0x0012b0fc move a2, s5                       |             a2 = s5;
    0x0012b100 lw v0, (v0)                       |             v0 = *(v0);
    0x0012b104 move a0, s2                       |             a0 = s2;
    0x0012b108 sw v0, 0x3f8(s1)                  |             *(s1) = v0;
    0x0012b10c lw v0, -0x14(s4)                  |             v0 = *((s4 - 5));
    0x0012b110 sw v0, 0x3fc(s1)                  |             *(s1) = v0;
    0x0012b114 lw v0, 0x14(s0)                   |             v0 = *((s0 + 5));
    0x0012b118 lw t9, (v0)                       |             t9 = *(v0);
    0x0012b11c lw a1, -0x14(s4)                  |             a1 = *((s4 - 5));
    0x0012b120 jalr t9                           |             t9 ();
    0x0012b124 lw gp, 0x18(sp)                   |             gp = *(var_18h);
    0x0012b128 move a0, s6                       |             a0 = s6;
    0x0012b12c sw zero, 0x3fc(s1)                |             *(s1) = 0;
    0x0012b130 lw t9, -0x67ec(gp)                |             t9 = *((gp - 6651));
    0x0012b134 sw zero, 0x3f8(s1)                |             *(s1) = 0;
    0x0012b138 move s4, v0                       |             s4 = v0;
    0x0012b13c jalr t9                           |             t9 ();
    0x0012b140 lw gp, 0x18(sp)                   |             gp = *(var_18h);
    0x0012b144 sw v0, 0x3f4(s1)                  |             *(s1) = v0;
    0x0012b148 move a2, s5                       |             a2 = s5;
    0x0012b14c lw t9, -0x5fb8(gp)                |             t9 = *((gp - 6126));
    0x0012b150 move a1, s4                       |             a1 = s4;
    0x0012b154 move a0, s2                       |             a0 = s2;
    0x0012b158 jalr t9                           |             t9 ();
    0x0012b15c move fp, v0                       |             fp = v0;
    0x0012b160 lw gp, 0x18(sp)                   |             gp = *(var_18h);
                                                 |             if (v0 != 0) {
    0x0012b164 bnez v0, 0x12b708                 |                 goto label_37;
                                                 |             }
    0x0012b168 lw v0, 0x1c(s1)                   |             v0 = *((s1 + 7));
    0x0012b16c andi v0, v0, 0x80                 |             v0 &= 0x80;
    0x0012b170 lw t9, -0x6304(gp)                |             t9 = *((gp - 6337));
                                                 |             if (v0 != 0) {
    0x0012b174 bnez v0, 0x12b70c                 |                 goto label_38;
                                                 |             }
                                                 | label_22:
    0x0012b178 lw t9, -0x6304(gp)                |             t9 = *((gp - 6337));
    0x0012b17c move a0, s5                       |             a0 = s5;
    0x0012b180 jalr t9                           |             t9 ();
    0x0012b184 lw gp, 0x18(sp)                   |             gp = *(var_18h);
    0x0012b188 lw a1, 8(s0)                      |             a1 = *((s0 + 2));
                                                 |         }
                                                 | label_3:
    0x0012b18c lw t9, -0x7f3c(gp)                |         t9 = *((gp - 8143));
                                                 | label_18:
    0x0012b190 move a2, s2                       |         a2 = s2;
    0x0012b194 addiu t9, t9, -0x50b4             |         t9 += -0x50b4;
    0x0012b198 move a0, s1                       |         a0 = s1;
    0x0012b19c bal 0x12af4c                      |         sym_bus_match_run ();
                                                 |     } while (1);
    0x0012b1a0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0012b1a4 move fp, v0                       |     fp = v0;
                                                 | label_5:
    0x0012b1a8 lw a0, 0x28(sp)                   |     a0 = *(var_28h);
    0x0012b1ac lw t9, -0x7748(gp)                |     t9 = *((gp - 7634));
                                                 |     if (a0 == 0) {
    0x0012b1b0 beqz a0, 0x12b01c                 |         goto label_0;
                                                 |     }
    0x0012b1b4 jalr t9                           |     t9 ();
    0x0012b1b8 nop                               |     
    0x0012b1bc lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0012b1c0 b 0x12b01c                        |     goto label_0;
                                                 | label_24:
    0x0012b1c4 lw v0, (a1)                       |     v0 = *(a1);
    0x0012b1c8 slti v1, v0, 0xa                  |     v1 = (v0 < 0xa) ? 1 : 0;
    0x0012b1cc slti v1, v0, 8                    |     v1 = (v0 < 8) ? 1 : 0;
                                                 |     if (v1 == 0) {
    0x0012b1d0 beqz v1, 0x12b210                 |         goto label_25;
                                                 |     }
    0x0012b1d4 addiu v1, zero, 3                 |     v1 = 3;
                                                 |     if (v1 == 0) {
    0x0012b1d8 beqz v1, 0x12b680                 |         goto label_26;
                                                 |     }
    0x0012b1dc slti v1, v0, 4                    |     v1 = (v0 < 4) ? 1 : 0;
                                                 |     if (v0 == v1) {
    0x0012b1e0 beq v0, v1, 0x12b310              |         goto label_27;
                                                 |     }
    0x0012b1e4 addiu v1, zero, 5                 |     v1 = 5;
                                                 |     if (v1 == 0) {
    0x0012b1e8 beqz v1, 0x12aff0                 |         goto label_1;
                                                 |     }
    0x0012b1ec addiu v1, zero, 1                 |     v1 = 1;
    0x0012b1f0 slti v1, v0, 2                    |     v1 = (v0 < 2) ? 1 : 0;
                                                 |     if (v0 == v1) {
    0x0012b1f4 beq v0, v1, 0x12b600              |         goto label_33;
                                                 |     }
    0x0012b1f8 lw t9, -0x6c34(gp)                |     t9 = *((gp - 6925));
                                                 |     if (v1 == 0) {
    0x0012b1fc beqz v1, 0x12b0a8                 |         goto label_2;
                                                 |     }
                                                 | label_34:
    0x0012b200 lw v0, -0x7fc8(gp)                |     v0 = *((gp - 8178));
                                                 |     if (v0 != 0) {
    0x0012b204 bnez v0, 0x12b754                 |         goto label_39;
                                                 |     }
    0x0012b208 lw a1, 0x10(s0)                   |     a1 = *((s0 + 4));
    0x0012b20c b 0x12b18c                        |     goto label_3;
                                                 | label_25:
    0x0012b210 slti v1, v0, 0x8a                 |     v1 = (v0 < 0x8a) ? 1 : 0;
    0x0012b214 slti v1, v0, 0xca                 |     v1 = (v0 < 0xca) ? 1 : 0;
                                                 |     if (v1 == 0) {
    0x0012b218 beqz v1, 0x12b2d8                 |         goto label_40;
                                                 |     }
    0x0012b21c slti v1, v0, 0x4a                 |     v1 = (v0 < 0x4a) ? 1 : 0;
    0x0012b220 lw t9, -0x6344(gp)                |     t9 = *((gp - 6353));
                                                 |     if (v1 == 0) {
    0x0012b224 beqz v1, 0x12b68c                 |         goto label_41;
                                                 |     }
    0x0012b228 addiu a1, v0, -0xa                |     a1 = v0 + -0xa;
                                                 | label_7:
    0x0012b22c addiu a2, sp, 0x2c                |     a2 = sp + 0x2c;
    0x0012b230 move a0, s2                       |     a0 = s2;
    0x0012b234 jalr t9                           |     t9 ();
    0x0012b238 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0012b23c lw v0, (s0)                       |     v0 = *(s0);
                                                 | label_8:
    0x0012b240 addiu v1, v0, -4                  |     v1 = v0 + -4;
    0x0012b244 sltiu v1, v1, 5                   |     v1 = (v1 < 5) ? 1 : 0;
    0x0012b248 move a0, v0                       |     a0 = v0;
                                                 |     if (v1 == 0) {
    0x0012b24c bnez v1, 0x12b260                 |         
    0x0012b250 addiu v1, v0, -0xa                |         v1 = v0 + -0xa;
    0x0012b254 sltiu v1, v1, 0x40                |         v1 = (v1 < 0x40) ? 1 : 0;
                                                 |         if (v1 == 0) {
    0x0012b258 beql v1, zero, 0x12b324           |             goto label_42;
                                                 |         }
    0x0012b25c addiu a0, a0, -0xca               |         a0 += -0xca;
                                                 |     }
                                                 | label_6:
    0x0012b260 lw a1, 0x2c(sp)                   |     a1 = *(var_2ch);
                                                 | label_9:
    0x0012b264 lw s4, 0x28(sp)                   |     s4 = *(var_28h);
                                                 |     if (a1 == 0) {
    0x0012b268 beqz a1, 0x12b550                 |         goto label_43;
                                                 |     }
                                                 | label_19:
    0x0012b26c lw t9, -0x68b4(gp)                |     t9 = *((gp - 6701));
                                                 | label_20:
    0x0012b270 lw a0, 0x14(s0)                   |     a0 = *((s0 + 5));
    0x0012b274 jalr t9                           |     t9 ();
    0x0012b278 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0012b27c beqz v0, 0x12b2a4                 |         goto label_10;
                                                 |     }
    0x0012b280 lw t9, -0x7f3c(gp)                |     t9 = *((gp - 8143));
    0x0012b284 move a2, s2                       |     a2 = s2;
    0x0012b288 move a1, v0                       |     a1 = v0;
    0x0012b28c addiu t9, t9, -0x50b4             |     t9 += -0x50b4;
    0x0012b290 move a0, s1                       |     a0 = s1;
    0x0012b294 bal 0x12af4c                      |     sym_bus_match_run ();
                                                 |     goto label_4;
    0x0012b298 move fp, v0                       |     fp = v0;
    0x0012b29c lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0012b2a0 bnez v0, 0x12b1a8                 |         goto label_5;
                                                 |     }
                                                 |     if (s1 == 0) {
                                                 | label_10:
    0x0012b2a4 beql s1, zero, 0x12b18c           |         goto label_3;
                                                 |     }
    0x0012b2a8 lw a1, 8(s0)                      |     a1 = *((s0 + 2));
    0x0012b2ac lw v0, 0x1c(s1)                   |     v0 = *((s1 + 7));
    0x0012b2b0 andi v0, v0, 0x80                 |     v0 &= 0x80;
                                                 |     if (v0 == 0) {
    0x0012b2b4 beql v0, zero, 0x12b18c           |         goto label_3;
                                                 |     }
    0x0012b2b8 lw a1, 8(s0)                      |     a1 = *((s0 + 2));
    0x0012b2bc move fp, zero                     |     fp = 0;
    0x0012b2c0 b 0x12b1a8                        |     goto label_5;
                                                 | label_31:
    0x0012b2c4 addiu v0, zero, 7                 |     v0 = 7;
                                                 |     if (v0 != v1) {
    0x0012b2c8 bne v0, v1, 0x12b750              |         goto label_44;
                                                 |     }
    0x0012b2cc lw v1, 0x20(s2)                   |     v1 = *((s2 + 8));
    0x0012b2d0 sw v1, 0x2c(sp)                   |     *(var_2ch) = v1;
    0x0012b2d4 b 0x12b260                        |     goto label_6;
                                                 | label_40:
    0x0012b2d8 slti v1, v0, 0x10a                |     v1 = (v0 < 0x10a) ? 1 : 0;
                                                 |     if (v1 != 0) {
    0x0012b2dc beqz v1, 0x12b2ec                 |         
    0x0012b2e0 lw t9, -0x6344(gp)                |         t9 = *((gp - 6353));
    0x0012b2e4 addiu a1, v0, -0x8a               |         a1 = v0 + -0x8a;
    0x0012b2e8 b 0x12b22c                        |         goto label_7;
                                                 |     }
    0x0012b2ec lw t9, -0x76a0(gp)                |     t9 = *((gp - 7592));
                                                 |     if (v1 == 0) {
    0x0012b2f0 beqz v1, 0x12b750                 |         goto label_44;
                                                 |     }
    0x0012b2f4 addiu a1, v0, -0xca               |     a1 = v0 + -0xca;
    0x0012b2f8 addiu a2, sp, 0x28                |     a2 = sp + 0x28;
    0x0012b2fc move a0, s2                       |     a0 = s2;
    0x0012b300 jalr t9                           |     t9 ();
    0x0012b304 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0012b308 lw v0, (s0)                       |     v0 = *(s0);
    0x0012b30c b 0x12b240                        |     goto label_8;
                                                 | label_27:
    0x0012b310 lw v0, 0x28(s2)                   |     v0 = *((s2 + 10));
    0x0012b314 addiu a0, zero, 3                 |     a0 = 3;
    0x0012b318 sw v0, 0x2c(sp)                   |     *(var_2ch) = v0;
    0x0012b31c addiu v0, zero, 3                 |     v0 = 3;
    0x0012b320 addiu a0, a0, -0xca               |     a0 += -0xca;
                                                 | label_42:
    0x0012b324 sltiu a0, a0, 0x40                |     a0 = (a0 < 0x40) ? 1 : 0;
    0x0012b328 lw a1, 0x2c(sp)                   |     a1 = *(var_2ch);
                                                 |     if (a0 != 0) {
    0x0012b32c bnez a0, 0x12b264                 |         goto label_9;
                                                 |     }
    0x0012b330 lw s4, 0x10(s0)                   |     s4 = *((s0 + 4));
    0x0012b334 lw a2, 0x2c(sp)                   |     a2 = *(var_2ch);
                                                 |     if (s4 == 0) {
    0x0012b338 beqz s4, 0x12b2a4                 |         goto label_10;
                                                 |     }
    0x0012b33c lw a1, (s4)                       |     a1 = *(s4);
    0x0012b340 addiu a0, zero, 1                 |     a0 = 1;
    0x0012b344 lw s7, 0x28(sp)                   |     s7 = *(var_28h);
                                                 |     if (a1 != a0) {
    0x0012b348 bne a1, a0, 0x12b414              |         goto label_45;
                                                 |     }
    0x0012b34c lw v1, -0x7f3c(gp)                |     v1 = *((gp - 8143));
    0x0012b350 addiu s6, zero, 3                 |     s6 = 3;
    0x0012b354 addiu v1, v1, -0x50b4             |     v1 += -0x50b4;
    0x0012b358 sw v1, 0x20(sp)                   |     *(var_20h) = v1;
    0x0012b35c addiu s5, zero, 4                 |     s5 = 4;
                                                 | label_11:
    0x0012b360 slti a0, v0, 0x4a                 |     a0 = (v0 < 0x4a) ? 1 : 0;
    0x0012b364 slti v1, v0, 0xa                  |     v1 = (v0 < 0xa) ? 1 : 0;
                                                 |     if (a0 == 0) {
    0x0012b368 beqz a0, 0x12b440                 |         goto label_46;
                                                 |     }
    0x0012b36c slti v1, v0, 9                    |     v1 = (v0 < 9) ? 1 : 0;
                                                 |     if (v1 == 0) {
    0x0012b370 beqz v1, 0x12b5e0                 |         goto label_47;
                                                 |     }
    0x0012b374 slti v1, v0, 5                    |     v1 = (v0 < 5) ? 1 : 0;
                                                 |     if (v1 == 0) {
    0x0012b378 beqz v1, 0x12b5c8                 |         goto label_48;
                                                 |     }
                                                 |     if (v1 == 0) {
    0x0012b37c beqz v1, 0x12b5e0                 |         goto label_47;
                                                 |     }
    0x0012b380 nop                               |     
    0x0012b384 lw t9, -0x7e9c(gp)                |     t9 = *((gp - 8103));
                                                 |     if (v0 != s6) {
    0x0012b388 bne v0, s6, 0x12b504              |         goto label_49;
                                                 |     }
    0x0012b38c lw fp, 0x14(s4)                   |     fp = *((s4 + 5));
    0x0012b390 move a1, a2                       |     a1 = a2;
    0x0012b394 sw a2, 0x24(sp)                   |     *(var_24h_2) = a2;
    0x0012b398 move a0, fp                       |     a0 = fp;
    0x0012b39c jalr t9                           |     t9 ();
    0x0012b3a0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0012b3a4 beqz v0, 0x12b4c4                 |         goto label_50;
                                                 |     }
    0x0012b3a8 lw v0, 0x44(s2)                   |     v0 = *((s2 + 17));
    0x0012b3ac andi v0, v0, 1                    |     v0 &= 1;
    0x0012b3b0 lw a2, 0x24(sp)                   |     a2 = *(var_24h_2);
                                                 |     if (v0 == 0) {
    0x0012b3b4 beqz v0, 0x12b638                 |         goto label_51;
                                                 |     }
    0x0012b3b8 lw s7, 0xcc(s2)                   |     s7 = *((s2 + 51));
    0x0012b3bc lw a1, (s7)                       |     a1 = *(s7);
                                                 |     if (s7 == 0) {
    0x0012b3c0 bnel s7, zero, 0x12b3ec           |         goto label_52;
                                                 |     }
    0x0012b3c4 lw s4, 8(s4)                      |     s4 = *((s4 + 2));
    0x0012b3c8 b 0x12b3f8                        |     goto label_13;
                                                 |     do {
    0x0012b3cc move a0, fp                       |         a0 = fp;
    0x0012b3d0 jalr t9                           |         t9 ();
    0x0012b3d4 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 == 0) {
    0x0012b3d8 beqz v0, 0x12b4c4                 |             goto label_50;
                                                 |         }
    0x0012b3dc addiu s7, s7, 4                   |         s7 += 4;
                                                 |         if (s7 == 0) {
    0x0012b3e0 beql s7, zero, 0x12b3f8           |             goto label_13;
                                                 |         }
    0x0012b3e4 lw s4, 8(s4)                      |         s4 = *((s4 + 2));
    0x0012b3e8 lw a1, (s7)                       |         a1 = *(s7);
                                                 | label_52:
    0x0012b3ec lw t9, -0x7e9c(gp)                |         t9 = *((gp - 8103));
    0x0012b3f0 bnez a1, 0x12b3cc                 |         
                                                 |     } while (a1 != 0);
                                                 | label_12:
    0x0012b3f4 lw s4, 8(s4)                      |     s4 = *((s4 + 2));
                                                 | label_13:
    0x0012b3f8 lw a2, 0x2c(sp)                   |     a2 = *(var_2ch);
                                                 |     if (s4 == 0) {
    0x0012b3fc beqz s4, 0x12b2a4                 |         goto label_10;
                                                 |     }
    0x0012b400 lw a1, (s4)                       |     a1 = *(s4);
    0x0012b404 addiu a0, zero, 1                 |     a0 = 1;
    0x0012b408 lw v0, (s0)                       |     v0 = *(s0);
    0x0012b40c lw s7, 0x28(sp)                   |     s7 = *(var_28h);
                                                 |     if (a1 == a0) {
    0x0012b410 beq a1, a0, 0x12b360              |         goto label_11;
                                                 |     }
                                                 | label_45:
    0x0012b414 lw v0, -0x7fc8(gp)                |     v0 = *((gp - 8178));
    0x0012b418 lw a2, -0x7fc8(gp)                |     a2 = *((gp - 8178));
    0x0012b41c lw a1, -0x7fc8(gp)                |     a1 = *((gp - 8178));
    0x0012b420 addiu v0, v0, 0x36b0              |     v0 += 0x36b0;
    0x0012b424 lw t9, -0x63c4(gp)                |     t9 = *((gp - 6385));
    0x0012b428 sw v0, 0x10(sp)                   |     *(var_10h) = v0;
    0x0012b42c addiu a3, zero, 0x80              |     a3 = 0x80;
    0x0012b430 addiu a2, a2, 0x3327              |     a2 += 0x3327;
    0x0012b434 addiu a1, a1, 0x3434              |     a1 += 0x3434;
    0x0012b438 move a0, zero                     |     a0 = 0;
    0x0012b43c jalr t9                           |     t9 ();
                                                 | label_46:
    0x0012b440 slti a0, v0, 0xca                 |     a0 = (v0 < 0xca) ? 1 : 0;
                                                 |     if (a0 == 0) {
    0x0012b444 beql a0, zero, 0x12b474           |         goto label_53;
                                                 |     }
    0x0012b448 slti v0, v0, 0x10a                |     v0 = (v0 < 0x10a) ? 1 : 0;
    0x0012b44c slti v0, v0, 0x8a                 |     v0 = (v0 < 0x8a) ? 1 : 0;
                                                 |     if (v0 == 0) {
    0x0012b450 beqz v0, 0x12b5ac                 |         goto label_54;
                                                 |     }
    0x0012b454 nop                               |     
    0x0012b458 lw t9, -0x721c(gp)                |     t9 = *((gp - 7303));
                                                 |     if (a2 == 0) {
    0x0012b45c beqz a2, 0x12b3f4                 |         goto label_12;
                                                 |     }
    0x0012b460 lw a0, 0x14(s4)                   |     a0 = *((s4 + 5));
    0x0012b464 move a1, a2                       |     a1 = a2;
    0x0012b468 jalr t9                           |     t9 ();
    0x0012b46c lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0012b470 b 0x12b514                        |     goto label_17;
                                                 |     if (v0 == 0) {
                                                 | label_53:
    0x0012b474 beql v0, zero, 0x12b71c           |         goto label_55;
                                                 |     }
    0x0012b478 lw v0, -0x7fc8(gp)                |     v0 = *((gp - 8178));
                                                 |     if (s7 == 0) {
    0x0012b47c beql s7, zero, 0x12b3f8           |         goto label_13;
                                                 |     }
    0x0012b480 lw s4, 8(s4)                      |     s4 = *((s4 + 2));
    0x0012b484 lw a1, (s7)                       |     a1 = *(s7);
                                                 |     if (a1 == 0) {
    0x0012b488 beql a1, zero, 0x12b3f8           |         goto label_13;
                                                 |     }
    0x0012b48c lw s4, 8(s4)                      |     s4 = *((s4 + 2));
    0x0012b490 lw fp, 0x14(s4)                   |     fp = *((s4 + 5));
    0x0012b494 b 0x12b4b0                        |     goto label_56;
                                                 | label_14:
    0x0012b498 addiu s7, s7, 4                   |     s7 += 4;
                                                 |     if (s7 == 0) {
    0x0012b49c beql s7, zero, 0x12b3f8           |         goto label_13;
                                                 |     }
    0x0012b4a0 lw s4, 8(s4)                      |     s4 = *((s4 + 2));
    0x0012b4a4 lw a1, (s7)                       |     a1 = *(s7);
                                                 |     if (a1 == 0) {
    0x0012b4a8 beql a1, zero, 0x12b3f8           |         goto label_13;
                                                 |     }
    0x0012b4ac lw s4, 8(s4)                      |     s4 = *((s4 + 2));
                                                 | label_56:
    0x0012b4b0 lw t9, -0x7e9c(gp)                |     t9 = *((gp - 8103));
    0x0012b4b4 move a0, fp                       |     a0 = fp;
    0x0012b4b8 jalr t9                           |     t9 ();
    0x0012b4bc lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0012b4c0 bnez v0, 0x12b498                 |         goto label_14;
                                                 |     }
                                                 | label_50:
    0x0012b4c4 lw t9, 0x20(sp)                   |     t9 = *(var_20h);
                                                 | label_15:
    0x0012b4c8 move a2, s2                       |     a2 = s2;
    0x0012b4cc move a1, s4                       |     a1 = s4;
    0x0012b4d0 move a0, s1                       |     a0 = s1;
    0x0012b4d4 jalr t9                           |     t9 ();
    0x0012b4d8 move fp, v0                       |     fp = v0;
    0x0012b4dc lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0012b4e0 bnez v0, 0x12b1a8                 |         goto label_5;
                                                 |     }
                                                 |     if (s1 == 0) {
    0x0012b4e4 beql s1, zero, 0x12b3f8           |         goto label_13;
                                                 |     }
    0x0012b4e8 lw s4, 8(s4)                      |     s4 = *((s4 + 2));
    0x0012b4ec lw v0, 0x1c(s1)                   |     v0 = *((s1 + 7));
    0x0012b4f0 andi v0, v0, 0x80                 |     v0 &= 0x80;
                                                 |     if (v0 == 0) {
    0x0012b4f4 beql v0, zero, 0x12b3f8           |         goto label_13;
                                                 |     }
    0x0012b4f8 lw s4, 8(s4)                      |     s4 = *((s4 + 2));
    0x0012b4fc move fp, zero                     |     fp = 0;
    0x0012b500 b 0x12b1a8                        |     goto label_5;
                                                 | label_49:
    0x0012b504 lw v0, -0x7fc8(gp)                |     v0 = *((gp - 8178));
                                                 |     if (v0 != s5) {
    0x0012b508 bne v0, s5, 0x12b71c              |         goto label_55;
                                                 |     }
    0x0012b50c lbu v0, 0x18(s4)                  |     v0 = *((s4 + 24));
    0x0012b510 sltiu v0, v0, 1                   |     v0 = (v0 < 1) ? 1 : 0;
                                                 | label_17:
    0x0012b514 lw t9, 0x20(sp)                   |     t9 = *(var_20h);
                                                 |     if (v0 != 0) {
    0x0012b518 bnez v0, 0x12b4c8                 |         goto label_15;
                                                 |     }
    0x0012b51c lw s4, 8(s4)                      |     s4 = *((s4 + 2));
    0x0012b520 b 0x12b3f8                        |     goto label_13;
                                                 | label_23:
    0x0012b524 lw v0, -0x7fc8(gp)                |     v0 = *((gp - 8178));
    0x0012b528 lw a2, -0x7fc8(gp)                |     a2 = *((gp - 8178));
    0x0012b52c lw a1, -0x7fd4(gp)                |     a1 = *(gp);
    0x0012b530 addiu v0, v0, 0x36c0              |     v0 += 0x36c0;
    0x0012b534 lw t9, -0x63c4(gp)                |     t9 = *((gp - 6385));
    0x0012b538 sw v0, 0x10(sp)                   |     *(var_10h) = v0;
    0x0012b53c addiu a3, zero, 0xfc              |     a3 = 0xfc;
    0x0012b540 addiu a2, a2, 0x3327              |     a2 += 0x3327;
    0x0012b544 addiu a1, a1, -0x3ec              |     a1 += -aav.0x000003ec;
    0x0012b548 move a0, zero                     |     a0 = 0;
    0x0012b54c jalr t9                           |     t9 ();
                                                 | label_43:
    0x0012b550 lw s5, -0x7f3c(gp)                |     s5 = *((gp - 8143));
                                                 |     if (s4 == 0) {
    0x0012b554 beqz s4, 0x12b694                 |         goto label_57;
                                                 |     }
    0x0012b558 addiu s5, s5, -0x50b4             |     s5 += -0x50b4;
    0x0012b55c lw a1, (s4)                       |     a1 = *(s4);
                                                 | label_16:
    0x0012b560 lw t9, -0x68b4(gp)                |     t9 = *((gp - 6701));
                                                 |     if (a1 == 0) {
    0x0012b564 beqz a1, 0x12b2a4                 |         goto label_10;
                                                 |     }
    0x0012b568 lw a0, 0x14(s0)                   |     a0 = *((s0 + 5));
    0x0012b56c jalr t9                           |     t9 ();
    0x0012b570 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0012b574 beqz v0, 0x12b598                 |         goto label_58;
                                                 |     }
    0x0012b578 move a2, s2                       |     a2 = s2;
    0x0012b57c move a1, v0                       |     a1 = v0;
    0x0012b580 move t9, s5                       |     t9 = s5;
    0x0012b584 move a0, s1                       |     a0 = s1;
    0x0012b588 bal 0x12af4c                      |     sym_bus_match_run ();
                                                 |     goto label_4;
    0x0012b58c move fp, v0                       |     fp = v0;
    0x0012b590 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0012b594 bnez v0, 0x12b1a8                 |         goto label_5;
                                                 |     }
                                                 | label_58:
    0x0012b598 addiu s4, s4, 4                   |     s4 += 4;
    0x0012b59c lw a1, (s4)                       |     a1 = *(s4);
                                                 |     if (s4 == 0) {
    0x0012b5a0 bnel s4, zero, 0x12b560           |         goto label_16;
                                                 |     }
    0x0012b5a4 b 0x12b2a4                        |     goto label_10;
    0x0012b5a8 nop                               |     
                                                 | label_54:
    0x0012b5ac lw t9, -0x7eac(gp)                |     t9 = *((gp - 8107));
                                                 |     if (a2 == 0) {
    0x0012b5b0 beqz a2, 0x12b3f4                 |         goto label_12;
                                                 |     }
    0x0012b5b4 lw a0, 0x14(s4)                   |     a0 = *((s4 + 5));
    0x0012b5b8 move a1, a2                       |     a1 = a2;
    0x0012b5bc jalr t9                           |     t9 ();
    0x0012b5c0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0012b5c4 b 0x12b514                        |     goto label_17;
                                                 | label_48:
    0x0012b5c8 lw t9, -0x66d8(gp)                |     t9 = *((gp - 6582));
    0x0012b5cc lw a0, 0x14(s4)                   |     a0 = *((s4 + 5));
    0x0012b5d0 move a1, a2                       |     a1 = a2;
    0x0012b5d4 jalr t9                           |     t9 ();
    0x0012b5d8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0012b5dc b 0x12b514                        |     goto label_17;
                                                 | label_47:
    0x0012b5e0 lw t9, -0x7e9c(gp)                |     t9 = *((gp - 8103));
                                                 |     if (a2 == 0) {
    0x0012b5e4 beqz a2, 0x12b3f4                 |         goto label_12;
                                                 |     }
    0x0012b5e8 lw a0, 0x14(s4)                   |     a0 = *((s4 + 5));
    0x0012b5ec move a1, a2                       |     a1 = a2;
    0x0012b5f0 jalr t9                           |     t9 ();
    0x0012b5f4 sltiu v0, v0, 1                   |     v0 = (v0 < 1) ? 1 : 0;
    0x0012b5f8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0012b5fc b 0x12b514                        |     goto label_17;
                                                 | label_33:
    0x0012b600 lw a1, 0x10(s0)                   |     a1 = *((s0 + 4));
    0x0012b604 lw t9, -0x7f3c(gp)                |     t9 = *((gp - 8143));
                                                 |     if (a1 != 0) {
    0x0012b608 bnez a1, 0x12b190                 |         goto label_18;
                                                 |     }
    0x0012b60c lw v0, -0x7fc8(gp)                |     v0 = *((gp - 8178));
    0x0012b610 lw a2, -0x7fc8(gp)                |     a2 = *((gp - 8178));
    0x0012b614 lw a1, -0x7fc8(gp)                |     a1 = *((gp - 8178));
    0x0012b618 addiu v0, v0, 0x36c0              |     v0 += 0x36c0;
    0x0012b61c lw t9, -0x63c4(gp)                |     t9 = *((gp - 6385));
    0x0012b620 sw v0, 0x10(sp)                   |     *(var_10h) = v0;
    0x0012b624 addiu a3, zero, 0x11c             |     a3 = aav.0x0000011c;
    0x0012b628 addiu a2, a2, 0x3327              |     a2 += 0x3327;
    0x0012b62c addiu a1, a1, 0x3414              |     a1 += 0x3414;
    0x0012b630 move a0, zero                     |     a0 = 0;
    0x0012b634 jalr t9                           |     t9 ();
                                                 | label_51:
    0x0012b638 lb v0, (fp)                       |     v0 = *(fp);
    0x0012b63c addiu v1, zero, 0x3a              |     v1 = 0x3a;
                                                 |     if (v0 == v1) {
    0x0012b640 beql v0, v1, 0x12b3f8             |         goto label_13;
                                                 |     }
    0x0012b644 lw s4, 8(s4)                      |     s4 = *((s4 + 2));
                                                 |     if (a2 == 0) {
    0x0012b648 beql a2, zero, 0x12b3f8           |         goto label_13;
                                                 |     }
    0x0012b64c lw s4, 8(s4)                      |     s4 = *((s4 + 2));
    0x0012b650 lb v0, (a2)                       |     v0 = *(a2);
    0x0012b654 lw s4, 8(s4)                      |     s4 = *((s4 + 2));
                                                 |     if (v0 == v1) {
    0x0012b658 bnel v0, v1, 0x12b3f8             |         goto label_13;
                                                 |     }
    0x0012b65c lw t9, 0x20(sp)                   |     t9 = *(var_20h);
    0x0012b660 b 0x12b4c8                        |     goto label_15;
                                                 | label_29:
    0x0012b664 lw v1, 0x24(s2)                   |     v1 = *((s2 + 9));
    0x0012b668 addiu v0, zero, 5                 |     v0 = 5;
    0x0012b66c sw v1, 0x2c(sp)                   |     *(var_2ch) = v1;
    0x0012b670 b 0x12b260                        |     goto label_6;
                                                 | label_30:
    0x0012b674 lw v0, 0x10c(s2)                  |     v0 = *(s2);
    0x0012b678 lbu a1, 1(v0)                     |     a1 = *((v0 + 1));
    0x0012b67c b 0x12b26c                        |     goto label_19;
                                                 | label_26:
    0x0012b680 lw v1, 0x18(s2)                   |     v1 = *((s2 + 6));
    0x0012b684 sw v1, 0x2c(sp)                   |     *(var_2ch) = v1;
    0x0012b688 b 0x12b240                        |     goto label_8;
                                                 | label_41:
    0x0012b68c addiu a1, v0, -0x4a               |     a1 = v0 + -0x4a;
    0x0012b690 b 0x12b22c                        |     goto label_7;
                                                 | label_57:
    0x0012b694 addiu v1, zero, 4                 |     v1 = 4;
    0x0012b698 move a1, zero                     |     a1 = 0;
                                                 |     if (v0 != v1) {
    0x0012b69c bne v0, v1, 0x12b2a4              |         goto label_10;
                                                 |     }
    0x0012b6a0 lw t9, -0x68b4(gp)                |     t9 = *((gp - 6701));
    0x0012b6a4 b 0x12b270                        |     goto label_20;
                                                 | label_35:
    0x0012b6a8 lw a1, 8(s0)                      |     a1 = *((s0 + 2));
                                                 |     if (a0 == v1) {
    0x0012b6ac bnel a0, v1, 0x12b18c             |         goto label_3;
                                                 |     }
    0x0012b6b0 lw v1, 0x208(s2)                  |     v1 = *(s2);
    0x0012b6b4 lw a0, 0x10(v0)                   |     a0 = *((v0 + 4));
    0x0012b6b8 sltu v1, a0, v1                   |     v1 = (a0 < v1) ? 1 : 0;
    0x0012b6bc lw v1, 0x3cc(s1)                  |     v1 = *(s1);
                                                 |     if (v1 == 0) {
    0x0012b6c0 bnel v1, zero, 0x12b094           |         goto label_21;
                                                 |     }
    0x0012b6c4 lw a1, 8(s0)                      |     a1 = *((s0 + 2));
    0x0012b6c8 b 0x12b18c                        |     goto label_3;
                                                 | label_36:
    0x0012b6cc addiu s5, sp, 0x30                |     s5 = sp + 0x30;
    0x0012b6d0 lw a1, -0x14(s4)                  |     a1 = *((s4 - 5));
    0x0012b6d4 lw t9, (s4)                       |     t9 = *(s4);
    0x0012b6d8 move a2, s5                       |     a2 = s5;
    0x0012b6dc move a0, s2                       |     a0 = s2;
    0x0012b6e0 jalr t9                           |     t9 ();
    0x0012b6e4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0012b6e8 move a2, s5                       |     a2 = s5;
    0x0012b6ec move a1, v0                       |     a1 = v0;
    0x0012b6f0 lw t9, -0x5fb8(gp)                |     t9 = *((gp - 6126));
    0x0012b6f4 move a0, s2                       |     a0 = s2;
    0x0012b6f8 jalr t9                           |     t9 ();
    0x0012b6fc move fp, v0                       |     fp = v0;
    0x0012b700 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0012b704 beqz v0, 0x12b178                 |         goto label_22;
                                                 |     }
                                                 | label_37:
    0x0012b708 lw t9, -0x6304(gp)                |     t9 = *((gp - 6337));
                                                 | label_38:
    0x0012b70c move a0, s5                       |     a0 = s5;
    0x0012b710 jalr t9                           |     t9 ();
    0x0012b714 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0012b718 b 0x12b1a8                        |     goto label_5;
                                                 | label_55:
    0x0012b71c lw a2, -0x7fc8(gp)                |     a2 = *((gp - 8178));
    0x0012b720 lw a1, -0x7fc8(gp)                |     a1 = *((gp - 8178));
    0x0012b724 addiu v0, v0, 0x36b0              |     v0 += 0x36b0;
    0x0012b728 lw t9, -0x6be8(gp)                |     t9 = *((gp - 6906));
    0x0012b72c sw v0, 0x10(sp)                   |     *(var_10h) = v0;
    0x0012b730 addiu a3, zero, 0xcb              |     a3 = 0xcb;
    0x0012b734 addiu a2, a2, 0x3327              |     a2 += 0x3327;
    0x0012b738 addiu a1, a1, 0x3454              |     a1 += 0x3454;
    0x0012b73c move a0, zero                     |     a0 = 0;
    0x0012b740 jalr t9                           |     t9 ();
                                                 | label_32:
    0x0012b744 lw t9, -0x74b8(gp)                |     t9 = *((gp - 7470));
    0x0012b748 jalr t9                           |     t9 ();
    0x0012b74c nop                               |     
                                                 | label_44:
    0x0012b750 lw v0, -0x7fc8(gp)                |     v0 = *((gp - 8178));
                                                 | label_39:
    0x0012b754 lw a2, -0x7fc8(gp)                |     a2 = *((gp - 8178));
    0x0012b758 lw a1, -0x7fc8(gp)                |     a1 = *((gp - 8178));
    0x0012b75c addiu v0, v0, 0x36c0              |     v0 += 0x36c0;
    0x0012b760 lw t9, -0x6be8(gp)                |     t9 = *((gp - 6906));
    0x0012b764 sw v0, 0x10(sp)                   |     *(var_10h) = v0;
    0x0012b768 addiu a3, zero, 0x17b             |     a3 = 0x17b;
    0x0012b76c addiu a2, a2, 0x3327              |     a2 += 0x3327;
    0x0012b770 addiu a1, a1, 0x3420              |     a1 += 0x3420;
    0x0012b774 move a0, zero                     |     a0 = 0;
    0x0012b778 jalr t9                           |     return t9 ();
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/systemd/libsystemd-shared-243.so @ 0xcddd0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.cmsg_close_all ()            | void cmsg_close_all () {
    0x000cddd0 lui gp, 0x19                  |     
    0x000cddd4 addiu gp, gp, -0x75f0         |     
    0x000cddd8 addu gp, gp, t9               |     gp += t9;
    0x000cdddc addiu sp, sp, -0x38           |     
    0x000cdde0 sw gp, 0x18(sp)               |     *(var_18h_13) = gp;
    0x000cdde4 sw ra, 0x34(sp)               |     *(var_34h_2) = ra;
    0x000cdde8 sw s4, 0x30(sp)               |     *(var_30h_3) = s4;
    0x000cddec sw s3, 0x2c(sp)               |     *(var_2ch_7) = s3;
    0x000cddf0 sw s2, 0x28(sp)               |     *(var_28h_7) = s2;
    0x000cddf4 sw s1, 0x24(sp)               |     *(var_24h_11) = s1;
    0x000cddf8 sw s0, 0x20(sp)               |     *(var_20h_3) = s0;
    0x000cddfc lw v0, -0x7fd0(gp)            |     v0 = *((gp - 8180));
                                             |     if (a0 == 0) {
    0x000cde00 beqz a0, 0xcded0              |         goto label_2;
                                             |     }
    0x000cde04 lw v0, 0x14(a0)               |     v0 = *((a0 + 5));
    0x000cde08 sltiu v0, v0, 0xc             |     v0 = (v0 < 0xc) ? 1 : 0;
    0x000cde0c move s1, a0                   |     s1 = a0;
                                             |     if (v0 != 0) {
    0x000cde10 bnez v0, 0xcde88              |         goto label_3;
                                             |     }
    0x000cde14 lw s0, 0x10(a0)               |     s0 = *((a0 + 4));
    0x000cde18 ori s3, zero, 0xffff          |     s3 = 0xffff;
                                             |     if (s0 == 0) {
    0x000cde1c beqz s0, 0xcde88              |         goto label_3;
                                             |     }
    0x000cde20 lw a1, (s0)                   |     a1 = *(s0);
    0x000cde24 addiu s4, zero, 1             |     s4 = 1;
    0x000cde28 addiu s2, zero, -4            |     s2 = -4;
    0x000cde2c lw v0, 4(s0)                  |     v0 = *((s0 + 1));
                                             |     do {
                                             |         if (v0 == s3) {
    0x000cde30 beql v0, s3, 0xcdea8          |             goto label_4;
                                             |         }
    0x000cde34 lw v0, 8(s0)                  |         v0 = *((s0 + 2));
                                             | label_1:
    0x000cde38 sltiu v0, a1, 0xc             |         v0 = (a1 < 0xc) ? 1 : 0;
                                             | label_0:
    0x000cde3c lw ra, 0x34(sp)               |         ra = *(var_34h_2);
                                             |         if (v0 != 0) {
    0x000cde40 bnez v0, 0xcde8c              |             goto label_5;
                                             |         }
    0x000cde44 addiu a1, a1, 3               |         a1 += 3;
    0x000cde48 lw v1, 0x14(s1)               |         v1 = *((s1 + 5));
    0x000cde4c and a1, a1, s2                |         a1 &= s2;
    0x000cde50 lw v0, 0x10(s1)               |         v0 = *((s1 + 4));
    0x000cde54 addu s0, s0, a1               |         s0 += a1;
    0x000cde58 addu v0, v0, v1               |         v0 += v1;
    0x000cde5c addiu v1, s0, 0xc             |         v1 = s0 + 0xc;
    0x000cde60 sltu v1, v0, v1               |         v1 = (v0 < v1) ? 1 : 0;
    0x000cde64 lw s4, 0x30(sp)               |         s4 = *(var_30h_3);
                                             |         if (v1 == 0) {
    0x000cde68 bnel v1, zero, 0xcde90        |             goto label_6;
                                             |         }
    0x000cde6c lw a1, (s0)                   |         a1 = *(s0);
    0x000cde70 addiu v1, a1, 3               |         v1 = a1 + 3;
    0x000cde74 and v1, v1, s2                |         v1 &= s2;
    0x000cde78 addu v1, s0, v1               |         v1 = s0 + v1;
    0x000cde7c sltu v0, v0, v1               |         v0 = (v0 < v1) ? 1 : 0;
    0x000cde80 beql v0, zero, 0xcde30        |         
                                             |     } while (v0 == 0);
    0x000cde84 lw v0, 4(s0)                  |     v0 = *((s0 + 1));
                                             | label_3:
    0x000cde88 lw ra, 0x34(sp)               |     ra = *(var_34h_2);
                                             | label_5:
    0x000cde8c lw s4, 0x30(sp)               |     s4 = *(var_30h_3);
                                             | label_6:
    0x000cde90 lw s3, 0x2c(sp)               |     s3 = *(var_2ch_7);
    0x000cde94 lw s2, 0x28(sp)               |     s2 = *(var_28h_7);
    0x000cde98 lw s1, 0x24(sp)               |     s1 = *(var_24h_11);
    0x000cde9c lw s0, 0x20(sp)               |     s0 = *(var_20h_3);
    0x000cdea0 addiu sp, sp, 0x38            |     
    0x000cdea4 jr ra                         |     return v0;
                                             | label_4:
    0x000cdea8 sltiu v0, a1, 0xc             |     v0 = (a1 < 0xc) ? 1 : 0;
                                             |     if (v0 != s4) {
    0x000cdeac bne v0, s4, 0xcde3c           |         goto label_0;
                                             |     }
    0x000cdeb0 lw t9, -0x67cc(gp)            |     t9 = *((gp - 6643));
    0x000cdeb4 addiu a1, a1, -0xc            |     a1 += -0xc;
    0x000cdeb8 srl a1, a1, 2                 |     a1 >>= 2;
    0x000cdebc addiu a0, s0, 0xc             |     a0 = s0 + 0xc;
    0x000cdec0 jalr t9                       |     t9 ();
    0x000cdec4 lw gp, 0x18(sp)               |     gp = *(var_18h_13);
    0x000cdec8 lw a1, (s0)                   |     a1 = *(s0);
    0x000cdecc b 0xcde38                     |     goto label_1;
                                             | label_2:
    0x000cded0 lw a2, -0x7fd0(gp)            |     a2 = *((gp - 8180));
    0x000cded4 lw a1, -0x7fd0(gp)            |     a1 = *((gp - 8180));
    0x000cded8 addiu v0, v0, 0x6c18          |     v0 += 0x6c18;
    0x000cdedc lw t9, -0x63c4(gp)            |     t9 = *((gp - 6385));
    0x000cdee0 sw v0, 0x10(sp)               |     *(var_10h_13) = v0;
    0x000cdee4 addiu a3, zero, 0x15c         |     a3 = aav.0x0000015c;
    0x000cdee8 addiu a2, a2, 0x69cb          |     a2 += 0x69cb;
    0x000cdeec addiu a1, a1, -0x52f4         |     a1 += -0x52f4;
    0x000cdef0 jalr t9                       |     return t9 ();
                                             | }

[*] Function popen used 1 times libsystemd-shared-243.so