[*] Binary protection state of dynamic_overlayd

  
  	Full RELRO     Canary found      NX disabled  PIE enabled  No RPATH     No RUNPATH   No Symbols


[*] Function printf tear down of dynamic_overlayd

    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/dynamic_overlayd @ 0x42a8 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.json_overlay_cgi_handle_request ()       | void json_overlay_cgi_handle_request () {
    0x000042a8 lui gp, 2                                 |     
    0x000042ac addiu gp, gp, 0xe98                       |     
    0x000042b0 addu gp, gp, t9                           |     gp += t9;
    0x000042b4 addiu sp, sp, -0x178                      |     
    0x000042b8 lw t9, -0x7d64(gp)                        |     t9 = sym.imp.g_string_new;
    0x000042bc sw s4, 0x160(sp)                          |     *(var_160h) = s4;
    0x000042c0 lw s4, -0x7e08(gp)                        |     s4 = *((gp - 8066));
    0x000042c4 sw s3, 0x15c(sp)                          |     *(var_15ch) = s3;
    0x000042c8 lw s3, -0x7fc8(gp)                        |     s3 = *((gp - 8178));
    0x000042cc lw v0, (s4)                               |     v0 = *(s4);
    0x000042d0 sw ra, 0x174(sp)                          |     *(var_174h) = ra;
    0x000042d4 sw gp, 0x18(sp)                           |     *(var_18h) = gp;
    0x000042d8 sw fp, 0x170(sp)                          |     *(var_170h) = fp;
    0x000042dc sw s2, 0x158(sp)                          |     *(var_158h) = s2;
    0x000042e0 sw s1, 0x154(sp)                          |     *(var_154h) = s1;
    0x000042e4 sw s0, 0x150(sp)                          |     *(var_150h) = s0;
    0x000042e8 sw s7, 0x16c(sp)                          |     *(var_16ch) = s7;
    0x000042ec sw s6, 0x168(sp)                          |     *(var_168h) = s6;
    0x000042f0 sw s5, 0x164(sp)                          |     *(var_164h) = s5;
    0x000042f4 move fp, a0                               |     fp = a0;
    0x000042f8 sw v0, 0x14c(sp)                          |     *(var_14ch) = v0;
    0x000042fc addiu a0, s3, -0x4374                     |     a0 = s3 + -0x4374;
    0x00004300 sw zero, 0x34(sp)                         |     *(var_34h) = 0;
    0x00004304 move s0, a1                               |     s0 = a1;
    0x00004308 jalr t9                                   |     t9 ();
    0x0000430c lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004310 addiu a0, s3, -0x4374                     |     a0 = s3 + -0x4374;
    0x00004314 lw t9, -0x7d64(gp)                        |     t9 = sym.imp.g_string_new;
    0x00004318 move s1, v0                               |     s1 = v0;
    0x0000431c jalr t9                                   |     t9 ();
    0x00004320 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004324 lw t9, -0x7df4(gp)                        |     t9 = sym.imp.json_object;
    0x00004328 move s2, v0                               |     s2 = v0;
    0x0000432c jalr t9                                   |     t9 ();
    0x00004330 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004334 move a0, s0                               |     a0 = s0;
    0x00004338 sw v0, 0x38(sp)                           |     *(var_38h) = v0;
    0x0000433c lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00004340 lw t9, -0x7e3c(gp)                        |     t9 = sym.imp.strstr;
    0x00004344 addiu a1, a1, -0x50e4                     |     a1 += -0x50e4;
    0x00004348 jalr t9                                   |     t9 ();
    0x0000434c lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004350 addiu a2, sp, 0x50                        |     a2 = sp + 0x50;
    0x00004354 addiu a1, zero, 2                         |     a1 = 2;
    0x00004358 lw t9, -0x7dd0(gp)                        |     t9 = sym.imp.json_loads;
    0x0000435c addiu a0, v0, 0x13                        |     a0 = v0 + 0x13;
    0x00004360 jalr t9                                   |     t9 ();
    0x00004364 move s0, v0                               |     s0 = v0;
    0x00004368 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == 0) {
    0x0000436c beqz v0, 0x45f8                           |         goto label_32;
                                                         |     }
    0x00004370 lw s5, -0x7fcc(gp)                        |     s5 = *((gp - 8179));
    0x00004374 lw a1, -0x7f98(gp)                        |     a1 = *(gp);
    0x00004378 addiu s5, s5, 0x373c                      |     s5 += fcn.0000373c;
    0x0000437c move t9, s5                               |     t9 = s5;
    0x00004380 move a0, v0                               |     a0 = v0;
    0x00004384 bal 0x373c                                |     fcn_0000373c ();
    0x00004388 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x0000438c bnez v0, 0x4534                           |         goto label_33;
                                                         |     }
                                                         | label_7:
    0x00004390 addiu v0, sp, 0x34                        |     v0 = sp + 0x34;
    0x00004394 move s6, zero                             |     s6 = 0;
    0x00004398 sw v0, 0x20(sp)                           |     *(var_20h) = v0;
                                                         | label_2:
    0x0000439c lw s5, -0x7fc8(gp)                        |     s5 = *((gp - 8178));
    0x000043a0 lw t9, -0x7e04(gp)                        |     t9 = sym.imp.json_object_get;
    0x000043a4 lw a0, 0x38(sp)                           |     a0 = *(var_38h);
    0x000043a8 addiu a1, s5, -0x5308                     |     a1 = s5 + -0x5308;
    0x000043ac jalr t9                                   |     t9 ();
    0x000043b0 addiu s7, zero, 0x67                      |     s7 = 0x67;
    0x000043b4 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == 0) {
    0x000043b8 beqz v0, 0x4c14                           |         goto label_34;
                                                         |     }
                                                         | label_0:
    0x000043bc lw a2, -0x7fc8(gp)                        |     a2 = *((gp - 8178));
                                                         | label_3:
    0x000043c0 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x000043c4 lw t9, -0x7ed4(gp)                        |     t9 = sym.imp.g_string_append_printf
    0x000043c8 addiu a2, a2, -0x4fd0                     |     a2 += -0x4fd0;
    0x000043cc addiu a1, a1, -0x4fa0                     |     a1 += -0x4fa0;
    0x000043d0 move a0, s1                               |     a0 = s1;
    0x000043d4 jalr t9                                   |     t9 ();
    0x000043d8 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x000043dc lw a0, 0x38(sp)                           |     a0 = *(var_38h);
    0x000043e0 lw t9, -0x7de0(gp)                        |     t9 = sym.imp.json_dumps;
    0x000043e4 addiu a1, zero, 0x84                      |     a1 = 0x84;
    0x000043e8 jalr t9                                   |     t9 ();
    0x000043ec lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x000043f0 move a1, v0                               |     a1 = v0;
    0x000043f4 move a0, s2                               |     a0 = s2;
    0x000043f8 lw t9, -0x7ecc(gp)                        |     t9 = sym.imp.g_string_append;
    0x000043fc move s5, v0                               |     s5 = v0;
    0x00004400 jalr t9                                   |     t9 ();
    0x00004404 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004408 lw a1, (s2)                               |     a1 = *(s2);
    0x0000440c lw t9, -0x7ecc(gp)                        |     t9 = sym.imp.g_string_append;
    0x00004410 move a0, s1                               |     a0 = s1;
    0x00004414 jalr t9                                   |     t9 ();
    0x00004418 lw v0, 4(s1)                              |     v0 = *((s1 + 1));
    0x0000441c lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x00004420 bnez v0, 0x459c                           |         goto label_35;
                                                         |     }
                                                         | label_1:
    0x00004424 lw t9, -0x7cb0(gp)                        |     t9 = *((gp - 7980));
    0x00004428 move a0, s6                               |     a0 = s6;
    0x0000442c jalr t9                                   |     t9 ();
    0x00004430 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004434 lw t9, -0x7cb0(gp)                        |     t9 = *((gp - 7980));
    0x00004438 move a0, s5                               |     a0 = s5;
    0x0000443c jalr t9                                   |     t9 ();
    0x00004440 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004444 lw t9, -0x7d1c(gp)                        |     t9 = sym.imp.g_clear_error;
    0x00004448 lw a0, 0x20(sp)                           |     a0 = *(var_20h);
    0x0000444c jalr t9                                   |     t9 ();
    0x00004450 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004454 addiu a1, zero, 1                         |     a1 = 1;
    0x00004458 lw t9, -0x7da4(gp)                        |     t9 = sym.imp.g_string_free;
    0x0000445c move a0, s2                               |     a0 = s2;
    0x00004460 jalr t9                                   |     t9 ();
    0x00004464 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004468 addiu a1, zero, 1                         |     a1 = 1;
    0x0000446c lw t9, -0x7da4(gp)                        |     t9 = sym.imp.g_string_free;
    0x00004470 move a0, s1                               |     a0 = s1;
    0x00004474 jalr t9                                   |     t9 ();
    0x00004478 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (s0 == 0) {
    0x0000447c beqz s0, 0x44b4                           |         goto label_5;
                                                         |     }
    0x00004480 lw a0, 4(s0)                              |     a0 = *((s0 + 1));
    0x00004484 addiu v0, zero, -1                        |     v0 = -1;
    0x00004488 lw a0, 0x38(sp)                           |     a0 = *(var_38h);
                                                         |     if (a0 == v0) {
    0x0000448c beq a0, v0, 0x44b8                        |         goto label_36;
                                                         |     }
    0x00004490 sync                                      |     __asm ("sync");
                                                         |     do {
    0x00004494 ll v0, 4(s0)                              |         __asm ("ll v0, 4(s0)");
    0x00004498 addiu at, v0, -1                          |         at = v0 + -1;
    0x0000449c sc at, 4(s0)                              |         __asm ("sc at, 4(s0)");
    0x000044a0 addiu v0, v0, -1                          |         v0 += -1;
    0x000044a4 beqz at, 0x4494                           |         
                                                         |     } while (at == 0);
    0x000044a8 sync                                      |     __asm ("sync");
    0x000044ac lw t9, -0x7e30(gp)                        |     t9 = sym.imp.json_delete;
                                                         |     if (v0 == 0) {
    0x000044b0 beqz v0, 0x4a00                           |         goto label_37;
                                                         |     }
                                                         | label_5:
    0x000044b4 lw a0, 0x38(sp)                           |     a0 = *(var_38h);
                                                         |     if (a0 == 0) {
                                                         | label_36:
    0x000044b8 beqz a0, 0x44f4                           |         goto label_4;
                                                         |     }
    0x000044bc nop                                       |     
    0x000044c0 lw a1, 4(a0)                              |     a1 = *((a0 + 1));
    0x000044c4 addiu v0, zero, -1                        |     v0 = -1;
                                                         |     if (a1 == v0) {
    0x000044c8 beq a1, v0, 0x44f4                        |         goto label_4;
                                                         |     }
    0x000044cc nop                                       |     
    0x000044d0 sync                                      |     __asm ("sync");
                                                         |     do {
    0x000044d4 ll v0, 4(a0)                              |         __asm ("ll v0, 4(a0)");
    0x000044d8 addiu at, v0, -1                          |         at = v0 + -1;
    0x000044dc sc at, 4(a0)                              |         __asm ("sc at, 4(a0)");
    0x000044e0 addiu v0, v0, -1                          |         v0 += -1;
    0x000044e4 beqz at, 0x44d4                           |         
                                                         |     } while (at == 0);
    0x000044e8 sync                                      |     __asm ("sync");
    0x000044ec lw t9, -0x7e30(gp)                        |     t9 = sym.imp.json_delete;
                                                         |     if (v0 == 0) {
    0x000044f0 beqz v0, 0x49f0                           |         goto label_38;
                                                         |     }
                                                         | label_4:
    0x000044f4 lw a1, 0x14c(sp)                          |     a1 = *(var_14ch);
    0x000044f8 lw a0, (s4)                               |     a0 = *(s4);
    0x000044fc move v0, s7                               |     v0 = s7;
                                                         |     if (a1 != a0) {
    0x00004500 bne a1, a0, 0x54b8                        |         goto label_39;
                                                         |     }
    0x00004504 lw ra, 0x174(sp)                          |     ra = *(var_174h);
    0x00004508 lw fp, 0x170(sp)                          |     fp = *(var_170h);
    0x0000450c lw s7, 0x16c(sp)                          |     s7 = *(var_16ch);
    0x00004510 lw s6, 0x168(sp)                          |     s6 = *(var_168h);
    0x00004514 lw s5, 0x164(sp)                          |     s5 = *(var_164h);
    0x00004518 lw s4, 0x160(sp)                          |     s4 = *(var_160h);
    0x0000451c lw s3, 0x15c(sp)                          |     s3 = *(var_15ch);
    0x00004520 lw s2, 0x158(sp)                          |     s2 = *(var_158h);
    0x00004524 lw s1, 0x154(sp)                          |     s1 = *(var_154h);
    0x00004528 lw s0, 0x150(sp)                          |     s0 = *(var_150h);
    0x0000452c addiu sp, sp, 0x178                       |     
    0x00004530 jr ra                                     |     return v1;
                                                         | label_33:
    0x00004534 lw s7, -0x7fc8(gp)                        |     s7 = *((gp - 8178));
    0x00004538 lw t9, -0x7e04(gp)                        |     t9 = sym.imp.json_object_get;
    0x0000453c addiu a1, s7, -0x5108                     |     a1 = s7 + -0x5108;
    0x00004540 move a0, s0                               |     a0 = s0;
    0x00004544 jalr t9                                   |     t9 ();
    0x00004548 move s6, v0                               |     s6 = v0;
    0x0000454c lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == 0) {
    0x00004550 beqz v0, 0x4a10                           |         goto label_40;
                                                         |     }
    0x00004554 lw v1, (v0)                               |     v1 = *(v0);
    0x00004558 addiu v0, zero, 2                         |     v0 = 2;
    0x0000455c lw a0, 0x38(sp)                           |     a0 = *(var_38h);
                                                         |     if (v1 == v0) {
    0x00004560 beq v1, v0, 0x4628                        |         goto label_41;
                                                         |     }
    0x00004564 addiu v0, sp, 0x34                        |     v0 = sp + 0x34;
    0x00004568 move s6, zero                             |     s6 = 0;
    0x0000456c sw v0, 0x20(sp)                           |     *(var_20h) = v0;
                                                         | label_6:
    0x00004570 lw s5, -0x7fc8(gp)                        |     s5 = *((gp - 8178));
    0x00004574 lw t9, -0x7e04(gp)                        |     t9 = sym.imp.json_object_get;
    0x00004578 addiu a1, s5, -0x5308                     |     a1 = s5 + -0x5308;
    0x0000457c jalr t9                                   |     t9 ();
    0x00004580 addiu s7, zero, 0x66                      |     s7 = 0x66;
    0x00004584 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x00004588 bnez v0, 0x43bc                           |         goto label_0;
                                                         |     }
    0x0000458c lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
                                                         | label_11:
    0x00004590 addiu a2, zero, 0x66                      |     a2 = 0x66;
    0x00004594 addiu v0, v0, -0x5300                     |     v0 += -0x5300;
    0x00004598 b 0x49ac                                  |     goto label_9;
                                                         | label_35:
    0x0000459c lw a1, (s1)                               |     a1 = *(s1);
    0x000045a0 lw t9, -0x7ddc(gp)                        |     t9 = sym.imp.strlen;
    0x000045a4 move a0, a1                               |     a0 = a1;
    0x000045a8 sw a1, 0x24(sp)                           |     *(var_24h) = a1;
    0x000045ac jalr t9                                   |     t9 ();
    0x000045b0 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x000045b4 lw a1, 0x24(sp)                           |     a1 = *(var_24h);
    0x000045b8 move a2, v0                               |     a2 = v0;
    0x000045bc lw t9, -0x7d24(gp)                        |     t9 = sym.imp.write;
    0x000045c0 move a0, fp                               |     a0 = fp;
    0x000045c4 jalr t9                                   |     t9 ();
    0x000045c8 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 >= 0) {
    0x000045cc bgez v0, 0x4424                           |         goto label_1;
                                                         |     }
    0x000045d0 lw a2, -0x7fc8(gp)                        |     a2 = *((gp - 8178));
    0x000045d4 lw t9, -0x7ed8(gp)                        |     t9 = sym.imp.g_log;
    0x000045d8 addiu a3, s3, -0x4374                     |     a3 = s3 + -0x4374;
    0x000045dc addiu a2, a2, -0x4f98                     |     a2 += -0x4f98;
    0x000045e0 addiu a1, zero, 0x10                      |     a1 = 0x10;
    0x000045e4 move a0, zero                             |     a0 = 0;
    0x000045e8 jalr t9                                   |     t9 ();
    0x000045ec addiu s7, zero, 0x65                      |     s7 = 0x65;
    0x000045f0 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x000045f4 b 0x4424                                  |     goto label_1;
                                                         | label_32:
    0x000045f8 lw s5, -0x7fc8(gp)                        |     s5 = *((gp - 8178));
    0x000045fc lw t9, -0x7e04(gp)                        |     t9 = sym.imp.json_object_get;
    0x00004600 lw a0, 0x38(sp)                           |     a0 = *(var_38h);
    0x00004604 addiu a1, s5, -0x5308                     |     a1 = s5 + -0x5308;
    0x00004608 jalr t9                                   |     t9 ();
    0x0000460c move s6, zero                             |     s6 = 0;
    0x00004610 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004614 addiu s7, zero, 0xc8                      |     s7 = 0xc8;
                                                         |     if (v0 == 0) {
    0x00004618 beqz v0, 0x4ccc                           |         goto label_42;
                                                         |     }
    0x0000461c addiu v0, sp, 0x34                        |     v0 = sp + 0x34;
    0x00004620 sw v0, 0x20(sp)                           |     *(var_20h) = v0;
    0x00004624 b 0x43bc                                  |     goto label_0;
                                                         | label_41:
    0x00004628 lw v1, 4(s6)                              |     v1 = *((s6 + 1));
    0x0000462c addiu v0, zero, -1                        |     v0 = -1;
                                                         |     if (v1 != v0) {
    0x00004630 bne v1, v0, 0x4b08                        |         goto label_43;
                                                         |     }
    0x00004634 nop                                       |     
    0x00004638 lw t9, -0x7e6c(gp)                        |     t9 = sym.imp.json_object_set_new;
                                                         | label_8:
    0x0000463c move a2, s6                               |     a2 = s6;
    0x00004640 addiu a1, s7, -0x5108                     |     a1 = s7 + -0x5108;
    0x00004644 jalr t9                                   |     t9 ();
    0x00004648 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x0000464c move a0, s6                               |     a0 = s6;
    0x00004650 lw t9, -0x7ee8(gp)                        |     t9 = sym.imp.json_string_value;
    0x00004654 lw s6, -0x7fc8(gp)                        |     s6 = *((gp - 8178));
    0x00004658 jalr t9                                   |     t9 ();
    0x0000465c nop                                       |     
    0x00004660 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004664 addiu a1, s6, -0x50d0                     |     a1 = s6 + -0x50d0;
    0x00004668 move a0, s0                               |     a0 = s0;
    0x0000466c lw t9, -0x7e04(gp)                        |     t9 = sym.imp.json_object_get;
    0x00004670 move s7, v0                               |     s7 = v0;
    0x00004674 jalr t9                                   |     t9 ();
    0x00004678 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x0000467c beqz v0, 0x4690                           |         
    0x00004680 lw a0, (v0)                               |         a0 = *(v0);
    0x00004684 addiu v1, zero, 2                         |         v1 = 2;
                                                         |         if (a0 == v1) {
    0x00004688 beq a0, v1, 0x4d58                        |             goto label_44;
                                                         |         }
    0x0000468c nop                                       |         
                                                         |     }
                                                         | label_13:
    0x00004690 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00004694 lw t9, -0x7d0c(gp)                        |     t9 = sym.imp.g_strcmp0;
    0x00004698 addiu a1, a1, -0x50c8                     |     a1 += -0x50c8;
    0x0000469c move a0, s7                               |     a0 = s7;
    0x000046a0 jalr t9                                   |     t9 ();
    0x000046a4 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == 0) {
    0x000046a8 beqz v0, 0x4a24                           |         goto label_45;
                                                         |     }
    0x000046ac lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
    0x000046b0 lw t9, -0x7e04(gp)                        |     t9 = sym.imp.json_object_get;
    0x000046b4 sw v0, 0x24(sp)                           |     *(var_24h) = v0;
    0x000046b8 addiu a1, v0, -0x50b0                     |     a1 = v0 + -0x50b0;
    0x000046bc move a0, s0                               |     a0 = s0;
    0x000046c0 jalr t9                                   |     t9 ();
    0x000046c4 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x000046c8 beqz v0, 0x46dc                           |         
    0x000046cc lw a0, (v0)                               |         a0 = *(v0);
    0x000046d0 addiu v1, zero, 2                         |         v1 = 2;
    0x000046d4 lw t9, -0x7ee8(gp)                        |         t9 = sym.imp.json_string_value;
                                                         |         if (a0 == v1) {
    0x000046d8 beq a0, v1, 0x4db4                        |             goto label_46;
                                                         |         }
                                                         |     }
                                                         | label_15:
    0x000046dc lw t9, -0x7f94(gp)                        |     t9 = sym.api_version_handler_find_highest_supported_api_version;
    0x000046e0 addiu v0, sp, 0x34                        |     v0 = sp + 0x34;
    0x000046e4 addiu s6, sp, 0x48                        |     s6 = sp + 0x48;
    0x000046e8 sw v0, 0x20(sp)                           |     *(var_20h) = v0;
    0x000046ec move a2, v0                               |     a2 = v0;
    0x000046f0 move a1, s6                               |     a1 = s6;
    0x000046f4 move a0, zero                             |     a0 = 0;
    0x000046f8 bal 0x33a0                                |     sym_api_version_handler_find_highest_supported_api_version ();
    0x000046fc lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004700 sw v0, 0x2c(sp)                           |     *(var_2ch) = v0;
                                                         | label_16:
    0x00004704 lw t9, -0x7fbc(gp)                        |     t9 = sym.api_version_to_string;
    0x00004708 move a0, s6                               |     a0 = s6;
    0x0000470c bal 0x32b0                                |     sym_api_version_to_string ();
    0x00004710 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004714 lw v1, 0x38(sp)                           |     v1 = *(var_38h);
    0x00004718 move a0, v0                               |     a0 = v0;
    0x0000471c lw t9, -0x7da0(gp)                        |     t9 = sym.imp.json_string;
    0x00004720 sw v1, 0x28(sp)                           |     *(var_28h) = v1;
    0x00004724 move s6, v0                               |     s6 = v0;
    0x00004728 jalr t9                                   |     t9 ();
    0x0000472c lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004730 move a2, v0                               |     a2 = v0;
    0x00004734 lw v1, 0x28(sp)                           |     v1 = *(var_28h);
    0x00004738 lw v0, 0x24(sp)                           |     v0 = *(var_24h);
    0x0000473c lw t9, -0x7e6c(gp)                        |     t9 = sym.imp.json_object_set_new;
    0x00004740 addiu a1, v0, -0x50b0                     |     a1 = v0 + -0x50b0;
    0x00004744 move a0, v1                               |     a0 = v1;
    0x00004748 jalr t9                                   |     t9 ();
    0x0000474c lw v0, 0x2c(sp)                           |     v0 = *(var_2ch);
    0x00004750 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == 0) {
    0x00004754 beqz v0, 0x4ce4                           |         goto label_47;
                                                         |     }
    0x00004758 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x0000475c lw t9, -0x7d0c(gp)                        |     t9 = sym.imp.g_strcmp0;
    0x00004760 addiu a1, a1, -0x5084                     |     a1 += -0x5084;
    0x00004764 move a0, s7                               |     a0 = s7;
    0x00004768 jalr t9                                   |     t9 ();
    0x0000476c lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == 0) {
    0x00004770 beqz v0, 0x4d9c                           |         goto label_48;
                                                         |     }
    0x00004774 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00004778 lw t9, -0x7e04(gp)                        |     t9 = sym.imp.json_object_get;
    0x0000477c addiu a1, a1, -0x506c                     |     a1 += -0x506c;
    0x00004780 move a0, s0                               |     a0 = s0;
    0x00004784 jalr t9                                   |     t9 ();
    0x00004788 sw v0, 0x24(sp)                           |     *(var_24h) = v0;
    0x0000478c lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == 0) {
    0x00004790 beqz v0, 0x5180                           |         goto label_49;
                                                         |     }
    0x00004794 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00004798 lw t9, -0x7d0c(gp)                        |     t9 = sym.imp.g_strcmp0;
    0x0000479c addiu a1, a1, -0x5064                     |     a1 += -0x5064;
    0x000047a0 move a0, s7                               |     a0 = s7;
    0x000047a4 jalr t9                                   |     t9 ();
    0x000047a8 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x000047ac bnez v0, 0x4ef0                           |         goto label_50;
                                                         |     }
    0x000047b0 lw a1, -0x7f90(gp)                        |     a1 = *(gp);
    0x000047b4 lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x000047b8 move t9, s5                               |     t9 = s5;
    0x000047bc sw zero, 0x3c(sp)                         |     *(var_3ch) = 0;
    0x000047c0 bal 0x373c                                |     fcn_0000373c ();
    0x000047c4 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == 0) {
    0x000047c8 beqz v0, 0x439c                           |         goto label_2;
                                                         |     }
    0x000047cc lw a3, -0x7cb0(gp)                        |     a3 = *((gp - 7980));
    0x000047d0 lw t9, -0x7dc4(gp)                        |     t9 = sym.imp.g_hash_table_new_full;
    0x000047d4 lw a1, -0x7edc(gp)                        |     a1 = *((gp - 8119));
    0x000047d8 lw a0, -0x7cd8(gp)                        |     a0 = *((gp - 7990));
    0x000047dc move a2, a3                               |     a2 = a3;
    0x000047e0 jalr t9                                   |     t9 ();
    0x000047e4 lw v1, 0x3c(sp)                           |     v1 = *(var_3ch);
    0x000047e8 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x000047ec move t0, v0                               |     t0 = v0;
                                                         |     if (v1 != 0) {
    0x000047f0 bnez v1, 0x51c8                           |         goto label_51;
                                                         |     }
    0x000047f4 lw v0, -0x7fcc(gp)                        |     v0 = *((gp - 8179));
                                                         |     if (v0 == 0) {
    0x000047f8 beqz v0, 0x5228                           |         goto label_52;
                                                         |     }
    0x000047fc lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00004800 addiu s7, v0, 0x3bac                      |     s7 = v0 + fcn.00003bac;
    0x00004804 addiu s5, sp, 0x3c                        |     s5 = sp + 0x3c;
    0x00004808 lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x0000480c move a2, t0                               |     a2 = t0;
    0x00004810 sw t0, 0x28(sp)                           |     *(var_28h) = t0;
    0x00004814 sw zero, 0x10(sp)                         |     *(var_10h) = 0;
    0x00004818 move a3, s5                               |     a3 = s5;
    0x0000481c move t9, s7                               |     t9 = s7;
    0x00004820 addiu a1, a1, -0x5298                     |     a1 += -0x5298;
    0x00004824 bal 0x3bac                                |     fcn_00003bac ();
    0x00004828 lw v1, 0x3c(sp)                           |     v1 = *(var_3ch);
    0x0000482c lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004830 lw t0, 0x28(sp)                           |     t0 = *(var_28h);
                                                         |     if (v1 != 0) {
    0x00004834 bnez v1, 0x51c8                           |         goto label_51;
                                                         |     }
    0x00004838 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x0000483c lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x00004840 move a2, t0                               |     a2 = t0;
    0x00004844 sw zero, 0x10(sp)                         |     *(var_10h) = 0;
    0x00004848 move a3, s5                               |     a3 = s5;
    0x0000484c move t9, s7                               |     t9 = s7;
    0x00004850 addiu a1, a1, -0x5370                     |     a1 += -0x5370;
    0x00004854 bal 0x3bac                                |     fcn_00003bac ();
    0x00004858 lw v1, 0x3c(sp)                           |     v1 = *(var_3ch);
    0x0000485c addiu v0, zero, 0xc8                      |     v0 = 0xc8;
    0x00004860 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004864 lw t0, 0x28(sp)                           |     t0 = *(var_28h);
                                                         |     if (v1 == v0) {
    0x00004868 beq v1, v0, 0x51d4                        |         goto label_53;
                                                         |     }
    0x0000486c lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
                                                         |     if (v1 == 0) {
    0x00004870 bnez v1, 0x48dc                           |         
    0x00004874 addiu v0, zero, 1                         |         v0 = 1;
    0x00004878 lw a0, 0x24(sp)                           |         a0 = *(var_24h);
    0x0000487c sw v0, 0x10(sp)                           |         *(var_10h) = v0;
    0x00004880 move a2, t0                               |         a2 = t0;
    0x00004884 sw t0, 0x28(sp)                           |         *(var_28h) = t0;
    0x00004888 move a3, s5                               |         a3 = s5;
    0x0000488c move t9, s7                               |         t9 = s7;
    0x00004890 addiu a1, a1, -0x524c                     |         a1 += -0x524c;
    0x00004894 bal 0x3bac                                |         fcn_00003bac ();
    0x00004898 lw v1, 0x3c(sp)                           |         v1 = *(var_3ch);
    0x0000489c lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x000048a0 lw t0, 0x28(sp)                           |         t0 = *(var_28h);
    0x000048a4 addiu v0, zero, 1                         |         v0 = 1;
                                                         |         if (v1 != 0) {
    0x000048a8 bnez v1, 0x5210                           |             goto label_54;
                                                         |         }
    0x000048ac lw a1, -0x7fc8(gp)                        |         a1 = *((gp - 8178));
    0x000048b0 lw a0, 0x24(sp)                           |         a0 = *(var_24h);
    0x000048b4 move a2, t0                               |         a2 = t0;
    0x000048b8 sw t0, 0x28(sp)                           |         *(var_28h) = t0;
    0x000048bc sw v0, 0x10(sp)                           |         *(var_10h) = v0;
    0x000048c0 move a3, s5                               |         a3 = s5;
    0x000048c4 move t9, s7                               |         t9 = s7;
    0x000048c8 addiu a1, a1, -0x5390                     |         a1 += -0x5390;
    0x000048cc bal 0x3bac                                |         fcn_00003bac ();
    0x000048d0 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x000048d4 lw v1, 0x3c(sp)                           |         v1 = *(var_3ch);
    0x000048d8 lw t0, 0x28(sp)                           |         t0 = *(var_28h);
                                                         |     }
                                                         | label_19:
    0x000048dc lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
                                                         |     if (v1 != 0) {
    0x000048e0 bnez v1, 0x5210                           |         goto label_54;
                                                         |     }
    0x000048e4 lw t9, -0x7f8c(gp)                        |     t9 = sym.cgi_json_add_overlay;
    0x000048e8 move a0, t0                               |     a0 = t0;
    0x000048ec addiu a2, sp, 0x38                        |     a2 = sp + 0x38;
    0x000048f0 addiu a1, a1, -0x5058                     |     a1 += -0x5058;
    0x000048f4 sw t0, 0x24(sp)                           |     *(var_24h) = t0;
    0x000048f8 bal 0x6ed8                                |     sym_cgi_json_add_overlay ();
    0x000048fc lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004900 lw t0, 0x24(sp)                           |     t0 = *(var_24h);
    0x00004904 sw v0, 0x3c(sp)                           |     *(var_3ch) = v0;
    0x00004908 lw t9, -0x7e8c(gp)                        |     t9 = sym.imp.g_hash_table_unref;
    0x0000490c move a0, t0                               |     a0 = t0;
    0x00004910 jalr t9                                   |     t9 ();
    0x00004914 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004918 lw s7, 0x3c(sp)                           |     s7 = *(var_3ch);
                                                         | label_14:
    0x0000491c lw a2, -0x7fc8(gp)                        |     a2 = *((gp - 8178));
                                                         |     if (s7 == 0) {
    0x00004920 beqz s7, 0x43c0                           |         goto label_3;
                                                         |     }
    0x00004924 lw s5, -0x7fc8(gp)                        |     s5 = *((gp - 8178));
    0x00004928 lw t9, -0x7e04(gp)                        |     t9 = sym.imp.json_object_get;
    0x0000492c lw a0, 0x38(sp)                           |     a0 = *(var_38h);
    0x00004930 addiu a1, s5, -0x5308                     |     a1 = s5 + -0x5308;
    0x00004934 jalr t9                                   |     t9 ();
    0x00004938 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x0000493c move a2, s7                               |     a2 = s7;
                                                         |     if (v0 != 0) {
    0x00004940 bnez v0, 0x43bc                           |         goto label_0;
                                                         |     }
    0x00004944 addiu v0, zero, 0x12d                     |     v0 = 0x12d;
    0x00004948 lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
                                                         |     if (s7 == v0) {
    0x0000494c beq s7, v0, 0x4cc4                        |         goto label_55;
                                                         |     }
    0x00004950 sltiu v0, s7, 0x12e                       |     v0 = (s7 < 0x12e) ? 1 : 0;
    0x00004954 addiu v0, zero, 0x132                     |     v0 = 0x132;
                                                         |     if (v0 != 0) {
    0x00004958 bnez v0, 0x4b70                           |         goto label_56;
                                                         |     }
    0x0000495c lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
                                                         |     if (s7 == v0) {
    0x00004960 beq s7, v0, 0x4cbc                        |         goto label_57;
                                                         |     }
    0x00004964 sltiu v0, s7, 0x133                       |     v0 = (s7 < 0x133) ? 1 : 0;
    0x00004968 addiu v0, zero, 0x134                     |     v0 = aav.0x00000134;
                                                         |     if (v0 == 0) {
    0x0000496c beqz v0, 0x4b34                           |         goto label_58;
                                                         |     }
    0x00004970 addiu v0, zero, 0x12f                     |     v0 = 0x12f;
    0x00004974 lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
                                                         |     if (s7 == v0) {
    0x00004978 beq s7, v0, 0x4cb4                        |         goto label_59;
                                                         |     }
    0x0000497c sltiu v0, s7, 0x12f                       |     v0 = (s7 < 0x12f) ? 1 : 0;
    0x00004980 lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
                                                         |     if (v0 != 0) {
    0x00004984 bnez v0, 0x4c8c                           |         goto label_60;
                                                         |     }
    0x00004988 addiu v0, zero, 0x130                     |     v0 = 0x130;
    0x0000498c lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
                                                         |     if (s7 == v0) {
    0x00004990 beq s7, v0, 0x4c2c                        |         goto label_61;
                                                         |     }
    0x00004994 addiu v0, zero, 0x131                     |     v0 = 0x131;
    0x00004998 lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
                                                         |     if (s7 != v0) {
    0x0000499c bne s7, v0, 0x4b2c                        |         goto label_10;
                                                         |     }
    0x000049a0 lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
    0x000049a4 addiu a2, zero, 0x131                     |     a2 = 0x131;
    0x000049a8 addiu v0, v0, -0x521c                     |     v0 += -0x521c;
                                                         | label_9:
    0x000049ac lw a3, -0x7fc8(gp)                        |     a3 = *((gp - 8178));
    0x000049b0 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x000049b4 lw a0, -0x7fc8(gp)                        |     a0 = *((gp - 8178));
    0x000049b8 lw t9, -0x7eb0(gp)                        |     t9 = sym.imp.json_pack;
    0x000049bc addiu a3, a3, -0x50a0                     |     a3 += -0x50a0;
    0x000049c0 addiu a1, a1, -0x5098                     |     a1 += -0x5098;
    0x000049c4 addiu a0, a0, -0x5090                     |     a0 += -0x5090;
    0x000049c8 sw v0, 0x10(sp)                           |     *(var_10h) = v0;
    0x000049cc jalr t9                                   |     t9 ();
    0x000049d0 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x000049d4 lw a0, 0x38(sp)                           |     a0 = *(var_38h);
    0x000049d8 move a2, v0                               |     a2 = v0;
    0x000049dc lw t9, -0x7e6c(gp)                        |     t9 = sym.imp.json_object_set_new;
    0x000049e0 addiu a1, s5, -0x5308                     |     a1 = s5 + -0x5308;
    0x000049e4 jalr t9                                   |     t9 ();
    0x000049e8 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x000049ec b 0x43bc                                  |     goto label_0;
                                                         | label_38:
    0x000049f0 jalr t9                                   |     t9 ();
    0x000049f4 nop                                       |     
    0x000049f8 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x000049fc b 0x44f4                                  |     goto label_4;
                                                         | label_37:
    0x00004a00 move a0, s0                               |     a0 = s0;
    0x00004a04 jalr t9                                   |     t9 ();
    0x00004a08 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004a0c b 0x44b4                                  |     goto label_5;
                                                         | label_40:
    0x00004a10 addiu v0, sp, 0x34                        |     v0 = sp + 0x34;
    0x00004a14 lw a0, 0x38(sp)                           |     a0 = *(var_38h);
    0x00004a18 move s6, zero                             |     s6 = 0;
    0x00004a1c sw v0, 0x20(sp)                           |     *(var_20h) = v0;
    0x00004a20 b 0x4570                                  |     goto label_6;
                                                         | label_45:
    0x00004a24 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00004a28 lw t9, -0x7e04(gp)                        |     t9 = sym.imp.json_object_get;
    0x00004a2c addiu a1, a1, -0x506c                     |     a1 += -0x506c;
    0x00004a30 move a0, s0                               |     a0 = s0;
    0x00004a34 jalr t9                                   |     t9 ();
    0x00004a38 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x00004a3c bnez v0, 0x4390                           |         goto label_7;
                                                         |     }
    0x00004a40 lw t9, -0x7df4(gp)                        |     t9 = sym.imp.json_object;
    0x00004a44 move s6, zero                             |     s6 = 0;
    0x00004a48 jalr t9                                   |     t9 ();
    0x00004a4c lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004a50 move s5, v0                               |     s5 = v0;
    0x00004a54 lw t9, -0x7e24(gp)                        |     t9 = sym.imp.json_array;
    0x00004a58 move s7, zero                             |     s7 = 0;
    0x00004a5c jalr t9                                   |     t9 ();
    0x00004a60 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004a64 move a2, v0                               |     a2 = v0;
    0x00004a68 move a0, s5                               |     a0 = s5;
    0x00004a6c lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00004a70 lw t9, -0x7e6c(gp)                        |     t9 = sym.imp.json_object_set_new;
    0x00004a74 addiu a1, a1, -0x4fe4                     |     a1 += -0x4fe4;
    0x00004a78 sw v0, 0x24(sp)                           |     *(var_24h) = v0;
    0x00004a7c jalr t9                                   |     t9 ();
    0x00004a80 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004a84 lw a0, -0x7f88(gp)                        |     a0 = *(gp);
    0x00004a88 lw t9, -0x7fbc(gp)                        |     t9 = sym.api_version_to_string;
    0x00004a8c bal 0x32b0                                |     sym_api_version_to_string ();
    0x00004a90 nop                                       |     
    0x00004a94 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004a98 move a1, v0                               |     a1 = v0;
    0x00004a9c sw v0, 0x20(sp)                           |     *(var_20h) = v0;
    0x00004aa0 lw a0, -0x7fc8(gp)                        |     a0 = *((gp - 8178));
    0x00004aa4 lw t9, -0x7eb0(gp)                        |     t9 = sym.imp.json_pack;
    0x00004aa8 addiu a0, a0, -0x4af4                     |     a0 += -0x4af4;
    0x00004aac jalr t9                                   |     t9 ();
    0x00004ab0 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004ab4 lw a3, 0x24(sp)                           |     a3 = *(var_24h);
    0x00004ab8 move a1, v0                               |     a1 = v0;
    0x00004abc lw t9, -0x7d6c(gp)                        |     t9 = sym.imp.json_array_append_new;
    0x00004ac0 move a0, a3                               |     a0 = a3;
    0x00004ac4 jalr t9                                   |     t9 ();
    0x00004ac8 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004acc lw v1, 0x20(sp)                           |     v1 = *(var_20h);
    0x00004ad0 lw t9, -0x7cb0(gp)                        |     t9 = *((gp - 7980));
    0x00004ad4 move a0, v1                               |     a0 = v1;
    0x00004ad8 jalr t9                                   |     t9 ();
    0x00004adc lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004ae0 lw a0, 0x38(sp)                           |     a0 = *(var_38h);
    0x00004ae4 move a2, s5                               |     a2 = s5;
    0x00004ae8 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00004aec lw t9, -0x7e6c(gp)                        |     t9 = sym.imp.json_object_set_new;
    0x00004af0 addiu a1, a1, -0x4fd8                     |     a1 += -0x4fd8;
    0x00004af4 jalr t9                                   |     t9 ();
    0x00004af8 addiu v0, sp, 0x34                        |     v0 = sp + 0x34;
    0x00004afc lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004b00 sw v0, 0x20(sp)                           |     *(var_20h) = v0;
    0x00004b04 b 0x43bc                                  |     goto label_0;
                                                         | label_43:
    0x00004b08 sync                                      |     __asm ("sync");
                                                         |     do {
    0x00004b0c ll at, 4(s6)                              |         __asm ("ll at, 4(s6)");
    0x00004b10 addiu at, at, 1                           |         at++;
    0x00004b14 sc at, 4(s6)                              |         __asm ("sc at, 4(s6)");
    0x00004b18 beqz at, 0x4b0c                           |         
                                                         |     } while (at == 0);
    0x00004b1c nop                                       |     
    0x00004b20 sync                                      |     __asm ("sync");
    0x00004b24 lw t9, -0x7e6c(gp)                        |     t9 = sym.imp.json_object_set_new;
    0x00004b28 b 0x463c                                  |     goto label_8;
                                                         |     do {
                                                         | label_10:
    0x00004b2c addiu v0, v0, -0x535c                     |         v0 += -0x535c;
    0x00004b30 b 0x49ac                                  |         goto label_9;
                                                         | label_58:
    0x00004b34 lw v0, -0x7fc8(gp)                        |         v0 = *((gp - 8178));
                                                         |         if (s7 == v0) {
    0x00004b38 beq s7, v0, 0x4cac                        |             goto label_62;
                                                         |         }
    0x00004b3c sltiu v0, s7, 0x134                       |         v0 = (s7 < aav.0x00000134) ? 1 : 0;
    0x00004b40 lw v0, -0x7fc8(gp)                        |         v0 = *((gp - 8178));
                                                         |         if (v0 != 0) {
    0x00004b44 bnez v0, 0x4c98                           |             goto label_63;
                                                         |         }
    0x00004b48 addiu v0, zero, 0x135                     |         v0 = 0x135;
    0x00004b4c lw v0, -0x7fc8(gp)                        |         v0 = *((gp - 8178));
                                                         |         if (s7 == v0) {
    0x00004b50 beq s7, v0, 0x4c24                        |             goto label_64;
                                                         |         }
    0x00004b54 addiu v0, zero, 0x136                     |         v0 = 0x136;
    0x00004b58 lw v0, -0x7fc8(gp)                        |         v0 = *((gp - 8178));
    0x00004b5c bnel s7, v0, 0x4b2c                       |         
                                                         |     } while (s7 == v0);
    0x00004b60 lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
    0x00004b64 addiu a2, zero, 0x136                     |     a2 = 0x136;
    0x00004b68 addiu v0, v0, -0x513c                     |     v0 += -0x513c;
    0x00004b6c b 0x49ac                                  |     goto label_9;
                                                         | label_56:
    0x00004b70 addiu v0, zero, 0xc8                      |     v0 = 0xc8;
    0x00004b74 lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
                                                         |     if (s7 == v0) {
    0x00004b78 beq s7, v0, 0x57d4                        |         goto label_65;
                                                         |     }
    0x00004b7c sltiu v0, s7, 0xc9                        |     v0 = (s7 < 0xc9) ? 1 : 0;
    0x00004b80 addiu v0, zero, 0xca                      |     v0 = 0xca;
                                                         |     if (v0 != 0) {
    0x00004b84 bnez v0, 0x4bc4                           |         goto label_66;
                                                         |     }
    0x00004b88 lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
                                                         |     if (s7 == v0) {
    0x00004b8c beq s7, v0, 0x4ca4                        |         goto label_67;
                                                         |     }
    0x00004b90 sltiu v0, s7, 0xca                        |     v0 = (s7 < 0xca) ? 1 : 0;
    0x00004b94 lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
                                                         |     if (v0 != 0) {
    0x00004b98 bnez v0, 0x4c80                           |         goto label_68;
                                                         |     }
    0x00004b9c addiu v0, zero, 0xcb                      |     v0 = 0xcb;
    0x00004ba0 lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
                                                         |     if (s7 == v0) {
    0x00004ba4 beq s7, v0, 0x4c74                        |         goto label_69;
                                                         |     }
    0x00004ba8 addiu v0, zero, 0x12c                     |     v0 = 0x12c;
    0x00004bac lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
                                                         |     if (s7 == v0) {
    0x00004bb0 bnel s7, v0, 0x4b2c                       |         goto label_10;
                                                         |     }
    0x00004bb4 lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
    0x00004bb8 addiu a2, zero, 0x12c                     |     a2 = 0x12c;
    0x00004bbc addiu v0, v0, -0x52e0                     |     v0 += -0x52e0;
    0x00004bc0 b 0x49ac                                  |     goto label_9;
                                                         | label_66:
    0x00004bc4 addiu v0, zero, 0x65                      |     v0 = 0x65;
    0x00004bc8 lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
                                                         |     if (s7 == v0) {
    0x00004bcc bne s7, v0, 0x4bd8                        |         
    0x00004bd0 addiu v0, v0, -0x5334                     |         v0 += -0x5334;
    0x00004bd4 b 0x49ac                                  |         goto label_9;
                                                         |     }
    0x00004bd8 sltiu v0, s7, 0x66                        |     v0 = (s7 < 0x66) ? 1 : 0;
    0x00004bdc addiu v0, zero, 0x64                      |     v0 = 0x64;
                                                         |     if (v0 == 0) {
    0x00004be0 beqz v0, 0x4bfc                           |         goto label_70;
                                                         |     }
    0x00004be4 lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
                                                         |     if (s7 == v0) {
    0x00004be8 bnel s7, v0, 0x4b2c                       |         goto label_10;
                                                         |     }
                                                         | label_12:
    0x00004bec lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
    0x00004bf0 addiu a2, zero, 0x64                      |     a2 = 0x64;
    0x00004bf4 addiu v0, v0, -0x5444                     |     v0 += -0x5444;
    0x00004bf8 b 0x49ac                                  |     goto label_9;
                                                         | label_70:
    0x00004bfc addiu v0, zero, 0x66                      |     v0 = 0x66;
    0x00004c00 lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
                                                         |     if (s7 == v0) {
    0x00004c04 beq s7, v0, 0x4590                        |         goto label_11;
                                                         |     }
    0x00004c08 addiu v0, zero, 0x67                      |     v0 = 0x67;
    0x00004c0c lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
                                                         |     if (s7 == v0) {
    0x00004c10 bnel s7, v0, 0x4b2c                       |         goto label_10;
                                                         |     }
                                                         | label_34:
    0x00004c14 lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
    0x00004c18 addiu a2, zero, 0x67                      |     a2 = 0x67;
    0x00004c1c addiu v0, v0, -0x5100                     |     v0 += -0x5100;
    0x00004c20 b 0x49ac                                  |     goto label_9;
                                                         | label_64:
    0x00004c24 addiu v0, v0, -0x5164                     |     v0 += -0x5164;
    0x00004c28 b 0x49ac                                  |     goto label_9;
                                                         | label_61:
    0x00004c2c addiu v0, v0, -0x5240                     |     v0 += -0x5240;
    0x00004c30 b 0x49ac                                  |     goto label_9;
                                                         | label_24:
    0x00004c34 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00004c38 lw t9, -0x7d0c(gp)                        |     t9 = sym.imp.g_strcmp0;
    0x00004c3c addiu a1, a1, -0x4ff4                     |     a1 += -0x4ff4;
    0x00004c40 move a0, s7                               |     a0 = s7;
    0x00004c44 jalr t9                                   |     t9 ();
    0x00004c48 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == 0) {
    0x00004c4c beqz v0, 0x5748                           |         goto label_71;
                                                         |     }
    0x00004c50 lw s5, -0x7fc8(gp)                        |     s5 = *((gp - 8178));
    0x00004c54 lw t9, -0x7e04(gp)                        |     t9 = sym.imp.json_object_get;
    0x00004c58 lw a0, 0x38(sp)                           |     a0 = *(var_38h);
    0x00004c5c addiu a1, s5, -0x5308                     |     a1 = s5 + -0x5308;
    0x00004c60 jalr t9                                   |     t9 ();
    0x00004c64 addiu s7, zero, 0xcb                      |     s7 = 0xcb;
    0x00004c68 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x00004c6c bnez v0, 0x43bc                           |         goto label_0;
                                                         |     }
    0x00004c70 lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
                                                         | label_69:
    0x00004c74 addiu a2, zero, 0xcb                      |     a2 = 0xcb;
    0x00004c78 addiu v0, v0, -0x5110                     |     v0 += -0x5110;
    0x00004c7c b 0x49ac                                  |     goto label_9;
                                                         | label_68:
    0x00004c80 addiu a2, zero, 0xc9                      |     a2 = 0xc9;
    0x00004c84 addiu v0, v0, -0x5324                     |     v0 += -0x5324;
    0x00004c88 b 0x49ac                                  |     goto label_9;
                                                         | label_60:
    0x00004c8c addiu a2, zero, 0x12e                     |     a2 = 0x12e;
    0x00004c90 addiu v0, v0, -0x5290                     |     v0 += -0x5290;
    0x00004c94 b 0x49ac                                  |     goto label_9;
                                                         | label_63:
    0x00004c98 addiu a2, zero, 0x133                     |     a2 = 0x133;
    0x00004c9c addiu v0, v0, -0x51c8                     |     v0 += -0x51c8;
    0x00004ca0 b 0x49ac                                  |     goto label_9;
                                                         | label_67:
    0x00004ca4 addiu v0, v0, -0x5310                     |     v0 += -0x5310;
    0x00004ca8 b 0x49ac                                  |     goto label_9;
                                                         | label_62:
    0x00004cac addiu v0, v0, -0x5194                     |     v0 += -0x5194;
    0x00004cb0 b 0x49ac                                  |     goto label_9;
                                                         | label_59:
    0x00004cb4 addiu v0, v0, -0x5268                     |     v0 += -0x5268;
    0x00004cb8 b 0x49ac                                  |     goto label_9;
                                                         | label_57:
    0x00004cbc addiu v0, v0, -0x51f0                     |     v0 += -0x51f0;
    0x00004cc0 b 0x49ac                                  |     goto label_9;
                                                         | label_55:
    0x00004cc4 addiu v0, v0, -0x52b4                     |     v0 += -0x52b4;
    0x00004cc8 b 0x49ac                                  |     goto label_9;
                                                         | label_42:
    0x00004ccc lw v0, -0x7fc8(gp)                        |     v0 = *((gp - 8178));
    0x00004cd0 addiu v1, sp, 0x34                        |     v1 = sp + 0x34;
    0x00004cd4 addiu a2, zero, 0xc8                      |     a2 = 0xc8;
    0x00004cd8 addiu v0, v0, -0x5348                     |     v0 += -0x5348;
    0x00004cdc sw v1, 0x20(sp)                           |     *(var_20h) = v1;
    0x00004ce0 b 0x49ac                                  |     goto label_9;
                                                         | label_47:
    0x00004ce4 lw v0, 0x34(sp)                           |     v0 = *(var_34h);
    0x00004ce8 lw a3, -0x7fc8(gp)                        |     a3 = *((gp - 8178));
    0x00004cec lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00004cf0 lw a0, -0x7fc8(gp)                        |     a0 = *((gp - 8178));
    0x00004cf4 lw v0, 8(v0)                              |     v0 = *((v0 + 2));
    0x00004cf8 lw t9, -0x7eb0(gp)                        |     t9 = sym.imp.json_pack;
    0x00004cfc addiu a3, a3, -0x50a0                     |     a3 += -0x50a0;
    0x00004d00 addiu a2, zero, 0x64                      |     a2 = 0x64;
    0x00004d04 addiu a1, a1, -0x5098                     |     a1 += -0x5098;
    0x00004d08 addiu a0, a0, -0x5090                     |     a0 += -0x5090;
    0x00004d0c lw s5, -0x7fc8(gp)                        |     s5 = *((gp - 8178));
    0x00004d10 sw v0, 0x10(sp)                           |     *(var_10h) = v0;
    0x00004d14 jalr t9                                   |     t9 ();
    0x00004d18 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004d1c lw a0, 0x38(sp)                           |     a0 = *(var_38h);
    0x00004d20 move a2, v0                               |     a2 = v0;
    0x00004d24 lw t9, -0x7e6c(gp)                        |     t9 = sym.imp.json_object_set_new;
    0x00004d28 addiu a1, s5, -0x5308                     |     a1 = s5 + -0x5308;
    0x00004d2c jalr t9                                   |     t9 ();
    0x00004d30 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004d34 lw a0, 0x38(sp)                           |     a0 = *(var_38h);
    0x00004d38 addiu a1, s5, -0x5308                     |     a1 = s5 + -0x5308;
    0x00004d3c lw t9, -0x7e04(gp)                        |     t9 = sym.imp.json_object_get;
    0x00004d40 addiu s7, zero, 0x64                      |     s7 = 0x64;
    0x00004d44 jalr t9                                   |     t9 ();
    0x00004d48 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == 0) {
    0x00004d4c beqz v0, 0x4bec                           |         goto label_12;
                                                         |     }
    0x00004d50 lw a2, -0x7fc8(gp)                        |     a2 = *((gp - 8178));
    0x00004d54 b 0x43c0                                  |     goto label_3;
                                                         | label_44:
    0x00004d58 lw a1, 4(v0)                              |     a1 = *((v0 + 1));
    0x00004d5c addiu v1, zero, -1                        |     v1 = -1;
    0x00004d60 lw a0, 0x38(sp)                           |     a0 = *(var_38h);
                                                         |     if (a1 == v1) {
    0x00004d64 beq a1, v1, 0x4d84                        |         goto label_72;
                                                         |     }
    0x00004d68 sync                                      |     __asm ("sync");
                                                         |     do {
    0x00004d6c ll at, 4(v0)                              |         __asm ("ll at, 4(v0)");
    0x00004d70 addiu at, at, 1                           |         at++;
    0x00004d74 sc at, 4(v0)                              |         __asm ("sc at, 4(v0)");
    0x00004d78 beqz at, 0x4d6c                           |         
                                                         |     } while (at == 0);
    0x00004d7c nop                                       |     
    0x00004d80 sync                                      |     __asm ("sync");
                                                         | label_72:
    0x00004d84 lw t9, -0x7e6c(gp)                        |     t9 = sym.imp.json_object_set_new;
    0x00004d88 move a2, v0                               |     a2 = v0;
    0x00004d8c addiu a1, s6, -0x50d0                     |     a1 = s6 + -0x50d0;
    0x00004d90 jalr t9                                   |     t9 ();
    0x00004d94 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004d98 b 0x4690                                  |     goto label_13;
                                                         | label_48:
    0x00004d9c lw t9, -0x7f84(gp)                        |     t9 = sym.cgi_json_get_overlay_capabilities;
    0x00004da0 addiu a0, sp, 0x38                        |     a0 = sp + 0x38;
    0x00004da4 bal 0x7490                                |     sym_cgi_json_get_overlay_capabilities ();
    0x00004da8 move s7, v0                               |     s7 = v0;
    0x00004dac lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004db0 b 0x491c                                  |     goto label_14;
                                                         | label_46:
    0x00004db4 move a0, v0                               |     a0 = v0;
    0x00004db8 jalr t9                                   |     t9 ();
    0x00004dbc lb v1, (v0)                               |     v1 = *(v0);
    0x00004dc0 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v1 == 0) {
    0x00004dc4 beqz v1, 0x46dc                           |         goto label_15;
                                                         |     }
    0x00004dc8 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00004dcc lw t9, -0x7cd0(gp)                        |     t9 = sym.imp.g_strsplit_set;
    0x00004dd0 addiu a2, zero, -1                        |     a2 = -1;
    0x00004dd4 addiu a1, a1, -0x50a4                     |     a1 += -0x50a4;
    0x00004dd8 move a0, v0                               |     a0 = v0;
    0x00004ddc jalr t9                                   |     t9 ();
    0x00004de0 move a2, v0                               |     a2 = v0;
    0x00004de4 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == 0) {
    0x00004de8 beqz v0, 0x5234                           |         goto label_73;
                                                         |     }
    0x00004dec lw a0, (v0)                               |     a0 = *(v0);
    0x00004df0 lw v0, -0x7e14(gp)                        |     v0 = *((gp - 8069));
                                                         |     if (a0 != 0) {
    0x00004df4 beqz a0, 0x4e18                           |         
    0x00004df8 lbu v1, (a0)                              |         v1 = *(a0);
    0x00004dfc lw v0, (v0)                               |         v0 = *(v0);
    0x00004e00 sll v1, v1, 1                             |         v1 <<= 1;
    0x00004e04 addu v0, v0, v1                           |         v0 += v1;
    0x00004e08 lhu v0, (v0)                              |         v0 = *(v0);
    0x00004e0c andi v0, v0, 8                            |         v0 &= 8;
    0x00004e10 lw t9, -0x7e94(gp)                        |         t9 = sym.imp.g_strtod;
                                                         |         if (v0 != 0) {
    0x00004e14 bnez v0, 0x4ebc                           |             goto label_74;
                                                         |         }
                                                         |     }
    0x00004e18 move s6, zero                             |     s6 = 0;
                                                         | label_18:
    0x00004e1c lw a0, 4(a2)                              |     a0 = *((a2 + 1));
    0x00004e20 lw v0, -0x7e14(gp)                        |     v0 = *((gp - 8069));
                                                         |     if (a0 != 0) {
    0x00004e24 beqz a0, 0x4e48                           |         
    0x00004e28 lbu v1, (a0)                              |         v1 = *(a0);
    0x00004e2c lw v0, (v0)                               |         v0 = *(v0);
    0x00004e30 sll v1, v1, 1                             |         v1 <<= 1;
    0x00004e34 addu v0, v0, v1                           |         v0 += v1;
    0x00004e38 lhu v0, (v0)                              |         v0 = *(v0);
    0x00004e3c andi v0, v0, 8                            |         v0 &= 8;
    0x00004e40 lw t9, -0x7e94(gp)                        |         t9 = sym.imp.g_strtod;
                                                         |         if (v0 != 0) {
    0x00004e44 bnez v0, 0x4e8c                           |             goto label_75;
                                                         |         }
                                                         |     }
    0x00004e48 sw zero, 0x44(sp)                         |     *(var_44h) = 0;
                                                         | label_17:
    0x00004e4c lw t9, -0x7ea0(gp)                        |     t9 = sym.imp.g_strfreev;
    0x00004e50 move a0, a2                               |     a0 = a2;
    0x00004e54 jalr t9                                   |     t9 ();
    0x00004e58 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (s6 == 0) {
    0x00004e5c beqz s6, 0x46dc                           |         goto label_15;
                                                         |     }
    0x00004e60 lw t9, -0x7f94(gp)                        |     t9 = sym.api_version_handler_find_highest_supported_api_version;
    0x00004e64 addiu v0, sp, 0x34                        |     v0 = sp + 0x34;
    0x00004e68 addiu s6, sp, 0x48                        |     s6 = sp + 0x48;
    0x00004e6c sw v0, 0x20(sp)                           |     *(var_20h) = v0;
    0x00004e70 move a2, v0                               |     a2 = v0;
    0x00004e74 move a1, s6                               |     a1 = s6;
    0x00004e78 addiu a0, sp, 0x40                        |     a0 = sp + 0x40;
    0x00004e7c bal 0x33a0                                |     sym_api_version_handler_find_highest_supported_api_version ();
    0x00004e80 sw v0, 0x2c(sp)                           |     *(var_2ch) = v0;
    0x00004e84 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004e88 b 0x4704                                  |     goto label_16;
                                                         | label_75:
    0x00004e8c sw a2, 0x20(sp)                           |     *(var_20h) = a2;
    0x00004e90 move a1, zero                             |     a1 = 0;
    0x00004e94 jalr t9                                   |     t9 ();
    0x00004e98 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004e9c move a0, v0                               |     a0 = v0;
    0x00004ea0 lw t9, -0x7f80(gp)                        |     t9 = *(gp);
    0x00004ea4 move a1, v1                               |     a1 = v1;
    0x00004ea8 bal 0x9fb0                                |     fcn_00009fb0 ();
    0x00004eac sw v0, 0x44(sp)                           |     *(var_44h) = v0;
    0x00004eb0 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004eb4 lw a2, 0x20(sp)                           |     a2 = *(var_20h);
    0x00004eb8 b 0x4e4c                                  |     goto label_17;
                                                         | label_74:
    0x00004ebc sw a2, 0x20(sp)                           |     *(var_20h) = a2;
    0x00004ec0 move a1, zero                             |     a1 = 0;
    0x00004ec4 jalr t9                                   |     t9 ();
    0x00004ec8 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004ecc move a0, v0                               |     a0 = v0;
    0x00004ed0 move a1, v1                               |     a1 = v1;
    0x00004ed4 lw t9, -0x7f80(gp)                        |     t9 = *(gp);
    0x00004ed8 addiu s6, zero, 1                         |     s6 = 1;
    0x00004edc bal 0x9fb0                                |     fcn_00009fb0 ();
    0x00004ee0 sw v0, 0x40(sp)                           |     *(var_40h) = v0;
    0x00004ee4 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004ee8 lw a2, 0x20(sp)                           |     a2 = *(var_20h);
    0x00004eec b 0x4e1c                                  |     goto label_18;
                                                         | label_50:
    0x00004ef0 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00004ef4 lw t9, -0x7d0c(gp)                        |     t9 = sym.imp.g_strcmp0;
    0x00004ef8 addiu a1, a1, -0x5050                     |     a1 += -0x5050;
    0x00004efc move a0, s7                               |     a0 = s7;
    0x00004f00 jalr t9                                   |     t9 ();
    0x00004f04 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x00004f08 bnez v0, 0x5188                           |         goto label_76;
                                                         |     }
    0x00004f0c lw a1, -0x7f7c(gp)                        |     a1 = *(gp);
    0x00004f10 lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x00004f14 move t9, s5                               |     t9 = s5;
    0x00004f18 sw zero, 0x3c(sp)                         |     *(var_3ch) = 0;
    0x00004f1c bal 0x373c                                |     fcn_0000373c ();
    0x00004f20 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == 0) {
    0x00004f24 beqz v0, 0x439c                           |         goto label_2;
                                                         |     }
    0x00004f28 lw a3, -0x7cb0(gp)                        |     a3 = *((gp - 7980));
    0x00004f2c lw t9, -0x7dc4(gp)                        |     t9 = sym.imp.g_hash_table_new_full;
    0x00004f30 lw a1, -0x7edc(gp)                        |     a1 = *((gp - 8119));
    0x00004f34 lw a0, -0x7cd8(gp)                        |     a0 = *((gp - 7990));
    0x00004f38 move a2, a3                               |     a2 = a3;
    0x00004f3c jalr t9                                   |     t9 ();
    0x00004f40 lw v1, 0x3c(sp)                           |     v1 = *(var_3ch);
    0x00004f44 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00004f48 move s5, v0                               |     s5 = v0;
                                                         |     if (v1 == 0) {
    0x00004f4c bnez v1, 0x4fbc                           |         
    0x00004f50 lw t9, -0x7fcc(gp)                        |         t9 = *((gp - 8179));
                                                         |         if (v0 == 0) {
    0x00004f54 beqz v0, 0x5314                           |             goto label_27;
                                                         |         }
    0x00004f58 lw a1, -0x7fc8(gp)                        |         a1 = *((gp - 8178));
    0x00004f5c addiu v1, sp, 0x3c                        |         v1 = sp + 0x3c;
    0x00004f60 lw a0, 0x24(sp)                           |         a0 = *(var_24h);
    0x00004f64 addiu s7, t9, 0x3bac                      |         s7 = t9 + fcn.00003bac;
    0x00004f68 move a2, v0                               |         a2 = v0;
    0x00004f6c sw zero, 0x10(sp)                         |         *(var_10h) = 0;
    0x00004f70 move a3, v1                               |         a3 = v1;
    0x00004f74 sw v1, 0x28(sp)                           |         *(var_28h) = v1;
    0x00004f78 move t9, s7                               |         t9 = s7;
    0x00004f7c addiu a1, a1, -0x5298                     |         a1 += -0x5298;
    0x00004f80 bal 0x3bac                                |         fcn_00003bac ();
    0x00004f84 lw v0, 0x3c(sp)                           |         v0 = *(var_3ch);
    0x00004f88 lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |         if (v0 != 0) {
    0x00004f8c bnez v0, 0x54c4                           |             goto label_77;
                                                         |         }
    0x00004f90 lw v1, 0x28(sp)                           |         v1 = *(var_28h);
    0x00004f94 lw a1, -0x7fc8(gp)                        |         a1 = *((gp - 8178));
    0x00004f98 lw a0, 0x24(sp)                           |         a0 = *(var_24h);
    0x00004f9c move a3, v1                               |         a3 = v1;
    0x00004fa0 sw zero, 0x10(sp)                         |         *(var_10h) = 0;
    0x00004fa4 move a2, s5                               |         a2 = s5;
    0x00004fa8 move t9, s7                               |         t9 = s7;
    0x00004fac addiu a1, a1, -0x5224                     |         a1 += -0x5224;
    0x00004fb0 bal 0x3bac                                |         fcn_00003bac ();
    0x00004fb4 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x00004fb8 lw v1, 0x3c(sp)                           |         v1 = *(var_3ch);
                                                         |     }
    0x00004fbc addiu v0, zero, 0xc8                      |     v0 = 0xc8;
    0x00004fc0 lw t9, -0x7e8c(gp)                        |     t9 = sym.imp.g_hash_table_unref;
                                                         |     if (v1 == v0) {
    0x00004fc4 beq v1, v0, 0x5320                        |         goto label_23;
                                                         |     }
                                                         |     if (v1 != 0) {
    0x00004fc8 bnez v1, 0x5300                           |         goto label_22;
                                                         |     }
    0x00004fcc nop                                       |     
    0x00004fd0 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
                                                         |     if (s5 == 0) {
    0x00004fd4 beqz s5, 0x52f8                           |         goto label_78;
                                                         |     }
    0x00004fd8 addiu v0, zero, 1                         |     v0 = 1;
    0x00004fdc sw v0, 0x10(sp)                           |     *(var_10h) = v0;
    0x00004fe0 lw v0, -0x7fcc(gp)                        |     v0 = *((gp - 8179));
    0x00004fe4 addiu t9, v0, 0x3bac                      |     t9 = v0 + fcn.00003bac;
    0x00004fe8 addiu s7, sp, 0x3c                        |     s7 = sp + 0x3c;
    0x00004fec lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x00004ff0 move a3, s7                               |     a3 = s7;
    0x00004ff4 move a2, s5                               |     a2 = s5;
    0x00004ff8 addiu a1, a1, -0x524c                     |     a1 += -0x524c;
    0x00004ffc sw t9, 0x28(sp)                           |     *(var_28h) = t9;
    0x00005000 bal 0x3bac                                |     fcn_00003bac ();
    0x00005004 lw v0, 0x3c(sp)                           |     v0 = *(var_3ch);
    0x00005008 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x0000500c bnez v0, 0x52fc                           |         goto label_29;
                                                         |     }
    0x00005010 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00005014 addiu v0, zero, 1                         |     v0 = 1;
    0x00005018 lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x0000501c lw t9, 0x28(sp)                           |     t9 = *(var_28h);
    0x00005020 sw v0, 0x10(sp)                           |     *(var_10h) = v0;
    0x00005024 move a3, s7                               |     a3 = s7;
    0x00005028 move a2, s5                               |     a2 = s5;
    0x0000502c addiu a1, a1, -0x5048                     |     a1 += -0x5048;
    0x00005030 jalr t9                                   |     t9 ();
    0x00005034 lw v0, 0x3c(sp)                           |     v0 = *(var_3ch);
    0x00005038 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x0000503c bnez v0, 0x52fc                           |         goto label_29;
                                                         |     }
    0x00005040 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00005044 addiu v0, zero, 1                         |     v0 = 1;
    0x00005048 lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x0000504c lw t9, 0x28(sp)                           |     t9 = *(var_28h);
    0x00005050 sw v0, 0x10(sp)                           |     *(var_10h) = v0;
    0x00005054 move a3, s7                               |     a3 = s7;
    0x00005058 move a2, s5                               |     a2 = s5;
    0x0000505c addiu a1, a1, -0x503c                     |     a1 += -0x503c;
    0x00005060 jalr t9                                   |     t9 ();
    0x00005064 lw v0, 0x3c(sp)                           |     v0 = *(var_3ch);
    0x00005068 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x0000506c bnez v0, 0x52fc                           |         goto label_29;
                                                         |     }
    0x00005070 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00005074 addiu v0, zero, 1                         |     v0 = 1;
    0x00005078 lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x0000507c lw t9, 0x28(sp)                           |     t9 = *(var_28h);
    0x00005080 sw v0, 0x10(sp)                           |     *(var_10h) = v0;
    0x00005084 move a3, s7                               |     a3 = s7;
    0x00005088 move a2, s5                               |     a2 = s5;
    0x0000508c addiu a1, a1, -0x5030                     |     a1 += -0x5030;
    0x00005090 jalr t9                                   |     t9 ();
    0x00005094 lw v0, 0x3c(sp)                           |     v0 = *(var_3ch);
    0x00005098 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x0000509c bnez v0, 0x52fc                           |         goto label_29;
                                                         |     }
    0x000050a0 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x000050a4 addiu v0, zero, 1                         |     v0 = 1;
    0x000050a8 lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x000050ac lw t9, 0x28(sp)                           |     t9 = *(var_28h);
    0x000050b0 sw v0, 0x10(sp)                           |     *(var_10h) = v0;
    0x000050b4 move a3, s7                               |     a3 = s7;
    0x000050b8 move a2, s5                               |     a2 = s5;
    0x000050bc addiu a1, a1, -0x53a8                     |     a1 += -0x53a8;
    0x000050c0 jalr t9                                   |     t9 ();
    0x000050c4 lw v0, 0x3c(sp)                           |     v0 = *(var_3ch);
    0x000050c8 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x000050cc bnez v0, 0x52fc                           |         goto label_29;
                                                         |     }
    0x000050d0 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x000050d4 addiu v0, zero, 1                         |     v0 = 1;
    0x000050d8 lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x000050dc lw t9, 0x28(sp)                           |     t9 = *(var_28h);
    0x000050e0 sw v0, 0x10(sp)                           |     *(var_10h) = v0;
    0x000050e4 move a3, s7                               |     a3 = s7;
    0x000050e8 move a2, s5                               |     a2 = s5;
    0x000050ec addiu a1, a1, -0x539c                     |     a1 += -0x539c;
    0x000050f0 jalr t9                                   |     t9 ();
    0x000050f4 lw v0, 0x3c(sp)                           |     v0 = *(var_3ch);
    0x000050f8 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x000050fc bnez v0, 0x52fc                           |         goto label_29;
                                                         |     }
    0x00005100 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00005104 addiu v0, zero, 1                         |     v0 = 1;
    0x00005108 lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x0000510c lw t9, 0x28(sp)                           |     t9 = *(var_28h);
    0x00005110 sw v0, 0x10(sp)                           |     *(var_10h) = v0;
    0x00005114 move a3, s7                               |     a3 = s7;
    0x00005118 move a2, s5                               |     a2 = s5;
    0x0000511c addiu a1, a1, -0x5390                     |     a1 += -0x5390;
    0x00005120 jalr t9                                   |     t9 ();
    0x00005124 lw v0, 0x3c(sp)                           |     v0 = *(var_3ch);
    0x00005128 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x0000512c bnez v0, 0x52fc                           |         goto label_29;
                                                         |     }
    0x00005130 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00005134 lw t9, -0x7f8c(gp)                        |     t9 = sym.cgi_json_add_overlay;
    0x00005138 addiu a2, sp, 0x38                        |     a2 = sp + 0x38;
    0x0000513c addiu a1, a1, -0x5224                     |     a1 += -0x5224;
    0x00005140 move a0, s5                               |     a0 = s5;
    0x00005144 bal 0x6ed8                                |     sym_cgi_json_add_overlay ();
    0x00005148 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         | label_21:
    0x0000514c lw t9, -0x7e8c(gp)                        |     t9 = sym.imp.g_hash_table_unref;
    0x00005150 move a0, s5                               |     a0 = s5;
    0x00005154 sw v0, 0x3c(sp)                           |     *(var_3ch) = v0;
    0x00005158 jalr t9                                   |     t9 ();
    0x0000515c lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00005160 lw s7, 0x3c(sp)                           |     s7 = *(var_3ch);
    0x00005164 b 0x491c                                  |     goto label_14;
                                                         | label_25:
    0x00005168 addiu v0, zero, 0xc8                      |     v0 = 0xc8;
    0x0000516c sw v0, 0x3c(sp)                           |     *(var_3ch) = v0;
                                                         | label_26:
    0x00005170 lw t9, -0x7e8c(gp)                        |     t9 = sym.imp.g_hash_table_unref;
                                                         | label_31:
    0x00005174 lw a0, 0x28(sp)                           |     a0 = *(var_28h);
    0x00005178 jalr t9                                   |     t9 ();
    0x0000517c lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         | label_49:
    0x00005180 lw a0, 0x38(sp)                           |     a0 = *(var_38h);
    0x00005184 b 0x4570                                  |     goto label_6;
                                                         | label_76:
    0x00005188 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x0000518c lw t9, -0x7d0c(gp)                        |     t9 = sym.imp.g_strcmp0;
    0x00005190 addiu a1, a1, -0x5024                     |     a1 += -0x5024;
    0x00005194 move a0, s7                               |     a0 = s7;
    0x00005198 jalr t9                                   |     t9 ();
    0x0000519c lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x000051a0 bnez v0, 0x51ec                           |         goto label_79;
                                                         |     }
    0x000051a4 addiu a2, zero, 1                         |     a2 = 1;
                                                         | label_20:
    0x000051a8 lw t9, -0x7fcc(gp)                        |     t9 = *((gp - 8179));
    0x000051ac lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x000051b0 addiu t9, t9, 0x40b4                      |     t9 += fcn.000040b4;
    0x000051b4 addiu a1, sp, 0x38                        |     a1 = sp + 0x38;
    0x000051b8 bal 0x40b4                                |     fcn_000040b4 ();
    0x000051bc move s7, v0                               |     s7 = v0;
    0x000051c0 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x000051c4 b 0x491c                                  |     goto label_14;
                                                         | label_51:
    0x000051c8 addiu v0, zero, 0xc8                      |     v0 = 0xc8;
                                                         |     if (v1 != v0) {
    0x000051cc bne v1, v0, 0x48dc                        |         goto label_19;
                                                         |     }
    0x000051d0 nop                                       |     
                                                         |     do {
                                                         | label_53:
    0x000051d4 lw t9, -0x7e8c(gp)                        |         t9 = sym.imp.g_hash_table_unref;
    0x000051d8 move a0, t0                               |         a0 = t0;
    0x000051dc jalr t9                                   |         t9 ();
    0x000051e0 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x000051e4 lw a0, 0x38(sp)                           |         a0 = *(var_38h);
    0x000051e8 b 0x4570                                  |         goto label_6;
                                                         | label_79:
    0x000051ec lw a1, -0x7fc8(gp)                        |         a1 = *((gp - 8178));
    0x000051f0 lw t9, -0x7d0c(gp)                        |         t9 = sym.imp.g_strcmp0;
    0x000051f4 addiu a1, a1, -0x5018                     |         a1 += -0x5018;
    0x000051f8 move a0, s7                               |         a0 = s7;
    0x000051fc jalr t9                                   |         t9 ();
    0x00005200 lw gp, 0x18(sp)                           |         gp = *(var_18h);
                                                         |         if (v0 != 0) {
    0x00005204 bnez v0, 0x5248                           |             goto label_80;
                                                         |         }
    0x00005208 move a2, zero                             |         a2 = 0;
    0x0000520c b 0x51a8                                  |         goto label_20;
                                                         | label_54:
    0x00005210 lw t9, -0x7e8c(gp)                        |         t9 = sym.imp.g_hash_table_unref;
    0x00005214 move a0, t0                               |         a0 = t0;
    0x00005218 jalr t9                                   |         t9 ();
    0x0000521c lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x00005220 lw s7, 0x3c(sp)                           |         s7 = *(var_3ch);
    0x00005224 b 0x491c                                  |         goto label_14;
                                                         | label_52:
    0x00005228 addiu v0, zero, 0xc8                      |         v0 = 0xc8;
    0x0000522c sw v0, 0x3c(sp)                           |         *(var_3ch) = v0;
    0x00005230 b 0x51d4                                  |         
                                                         |     } while (1);
                                                         | label_73:
    0x00005234 lw t9, -0x7ea0(gp)                        |     t9 = sym.imp.g_strfreev;
    0x00005238 move a0, zero                             |     a0 = 0;
    0x0000523c jalr t9                                   |     t9 ();
    0x00005240 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00005244 b 0x46dc                                  |     goto label_15;
                                                         | label_80:
    0x00005248 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x0000524c lw t9, -0x7d0c(gp)                        |     t9 = sym.imp.g_strcmp0;
    0x00005250 addiu a1, a1, -0x5010                     |     a1 += -0x5010;
    0x00005254 move a0, s7                               |     a0 = s7;
    0x00005258 jalr t9                                   |     t9 ();
    0x0000525c lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x00005260 bnez v0, 0x5334                           |         goto label_81;
                                                         |     }
    0x00005264 lw a1, -0x7f78(gp)                        |     a1 = *(gp);
    0x00005268 lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x0000526c move t9, s5                               |     t9 = s5;
    0x00005270 sw zero, 0x3c(sp)                         |     *(var_3ch) = 0;
    0x00005274 bal 0x373c                                |     fcn_0000373c ();
    0x00005278 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == 0) {
    0x0000527c beqz v0, 0x439c                           |         goto label_2;
                                                         |     }
    0x00005280 lw a3, -0x7cb0(gp)                        |     a3 = *((gp - 7980));
    0x00005284 lw t9, -0x7dc4(gp)                        |     t9 = sym.imp.g_hash_table_new_full;
    0x00005288 lw a1, -0x7edc(gp)                        |     a1 = *((gp - 8119));
    0x0000528c lw a0, -0x7cd8(gp)                        |     a0 = *((gp - 7990));
    0x00005290 move a2, a3                               |     a2 = a3;
    0x00005294 jalr t9                                   |     t9 ();
    0x00005298 lw v1, 0x3c(sp)                           |     v1 = *(var_3ch);
    0x0000529c lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x000052a0 move s5, v0                               |     s5 = v0;
                                                         |     if (v1 == 0) {
    0x000052a4 bnez v1, 0x52d8                           |         
    0x000052a8 lw a1, -0x7fc8(gp)                        |         a1 = *((gp - 8178));
                                                         |         if (v0 == 0) {
    0x000052ac beqz v0, 0x5314                           |             goto label_27;
                                                         |         }
    0x000052b0 lw t9, -0x7fcc(gp)                        |         t9 = *((gp - 8179));
    0x000052b4 lw a0, 0x24(sp)                           |         a0 = *(var_24h);
    0x000052b8 sw zero, 0x10(sp)                         |         *(var_10h) = 0;
    0x000052bc addiu a3, sp, 0x3c                        |         a3 = sp + 0x3c;
    0x000052c0 move a2, v0                               |         a2 = v0;
    0x000052c4 addiu t9, t9, 0x3bac                      |         t9 += fcn.00003bac;
    0x000052c8 addiu a1, a1, -0x5274                     |         a1 += -0x5274;
    0x000052cc bal 0x3bac                                |         fcn_00003bac ();
    0x000052d0 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x000052d4 lw v1, 0x3c(sp)                           |         v1 = *(var_3ch);
                                                         |     }
    0x000052d8 addiu v0, zero, 0xc8                      |     v0 = 0xc8;
    0x000052dc lw t9, -0x7f74(gp)                        |     t9 = sym.cgi_json_remove_overlay;
                                                         |     if (v1 != v0) {
    0x000052e0 beq v1, v0, 0x531c                        |         
    0x000052e4 addiu a1, sp, 0x38                        |         a1 = sp + 0x38;
                                                         | label_30:
    0x000052e8 move a0, s5                               |         a0 = s5;
    0x000052ec jalr t9                                   |         t9 ();
    0x000052f0 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x000052f4 b 0x514c                                  |         goto label_21;
                                                         | label_78:
    0x000052f8 sw v0, 0x3c(sp)                           |         *(var_3ch) = v0;
                                                         | label_29:
    0x000052fc lw t9, -0x7e8c(gp)                        |         t9 = sym.imp.g_hash_table_unref;
                                                         | label_22:
    0x00005300 move a0, s5                               |         a0 = s5;
    0x00005304 jalr t9                                   |         t9 ();
    0x00005308 lw gp, 0x18(sp)                           |         gp = *(var_18h);
    0x0000530c lw s7, 0x3c(sp)                           |         s7 = *(var_3ch);
    0x00005310 b 0x491c                                  |         goto label_14;
                                                         | label_27:
    0x00005314 addiu v0, zero, 0xc8                      |         v0 = 0xc8;
    0x00005318 sw v0, 0x3c(sp)                           |         *(var_3ch) = v0;
                                                         |     }
                                                         | label_28:
    0x0000531c lw t9, -0x7e8c(gp)                        |     t9 = sym.imp.g_hash_table_unref;
                                                         | label_23:
    0x00005320 move a0, s5                               |     a0 = s5;
    0x00005324 jalr t9                                   |     t9 ();
    0x00005328 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x0000532c lw a0, 0x38(sp)                           |     a0 = *(var_38h);
    0x00005330 b 0x4570                                  |     goto label_6;
                                                         | label_81:
    0x00005334 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00005338 lw t9, -0x7d0c(gp)                        |     t9 = sym.imp.g_strcmp0;
    0x0000533c addiu a1, a1, -0x5008                     |     a1 += -0x5008;
    0x00005340 move a0, s7                               |     a0 = s7;
    0x00005344 jalr t9                                   |     t9 ();
    0x00005348 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x0000534c bnez v0, 0x54d8                           |         goto label_82;
                                                         |     }
    0x00005350 lw a1, -0x7f70(gp)                        |     a1 = *(gp);
    0x00005354 lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x00005358 move t9, s5                               |     t9 = s5;
    0x0000535c sw zero, 0x3c(sp)                         |     *(var_3ch) = 0;
    0x00005360 bal 0x373c                                |     fcn_0000373c ();
    0x00005364 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == 0) {
    0x00005368 beqz v0, 0x439c                           |         goto label_2;
                                                         |     }
    0x0000536c lw a3, -0x7cb0(gp)                        |     a3 = *((gp - 7980));
    0x00005370 lw t9, -0x7dc4(gp)                        |     t9 = sym.imp.g_hash_table_new_full;
    0x00005374 lw a0, -0x7cd8(gp)                        |     a0 = *((gp - 7990));
    0x00005378 lw a1, -0x7edc(gp)                        |     a1 = *((gp - 8119));
    0x0000537c move a2, a3                               |     a2 = a3;
    0x00005380 jalr t9                                   |     t9 ();
    0x00005384 lw a0, 0x3c(sp)                           |     a0 = *(var_3ch);
    0x00005388 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x0000538c move v1, v0                               |     v1 = v0;
                                                         |     if (a0 != 0) {
    0x00005390 bnez a0, 0x5724                           |         goto label_83;
                                                         |     }
    0x00005394 move a2, v0                               |     a2 = v0;
                                                         |     if (v0 == 0) {
    0x00005398 beqz v0, 0x57f0                           |         goto label_84;
                                                         |     }
    0x0000539c sw v0, 0x2c(sp)                           |     *(var_2ch) = v0;
    0x000053a0 lw v0, -0x7fcc(gp)                        |     v0 = *((gp - 8179));
    0x000053a4 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x000053a8 addiu t9, v0, 0x3bac                      |     t9 = v0 + fcn.00003bac;
    0x000053ac lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x000053b0 addiu s5, sp, 0x3c                        |     s5 = sp + 0x3c;
    0x000053b4 sw zero, 0x10(sp)                         |     *(var_10h) = 0;
    0x000053b8 move a3, s5                               |     a3 = s5;
    0x000053bc addiu a1, a1, -0x5274                     |     a1 += -0x5274;
    0x000053c0 sw t9, 0x28(sp)                           |     *(var_28h) = t9;
    0x000053c4 bal 0x3bac                                |     fcn_00003bac ();
    0x000053c8 lw v0, 0x3c(sp)                           |     v0 = *(var_3ch);
    0x000053cc addiu a0, zero, 0xc8                      |     a0 = 0xc8;
    0x000053d0 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x000053d4 lw v1, 0x2c(sp)                           |     v1 = *(var_2ch);
                                                         |     if (v0 == a0) {
    0x000053d8 beq v0, a0, 0x57f8                        |         goto label_85;
                                                         |     }
    0x000053dc lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
                                                         |     if (v0 != 0) {
    0x000053e0 bnez v0, 0x5730                           |         goto label_86;
                                                         |     }
    0x000053e4 lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x000053e8 addiu s7, zero, 1                         |     s7 = 1;
    0x000053ec lw t9, 0x28(sp)                           |     t9 = *(var_28h);
    0x000053f0 move a2, v1                               |     a2 = v1;
    0x000053f4 sw v1, 0x2c(sp)                           |     *(var_2ch) = v1;
    0x000053f8 sw s7, 0x10(sp)                           |     *(var_10h) = s7;
    0x000053fc move a3, s5                               |     a3 = s5;
    0x00005400 addiu a1, a1, -0x5370                     |     a1 += -0x5370;
    0x00005404 jalr t9                                   |     t9 ();
    0x00005408 lw a0, 0x3c(sp)                           |     a0 = *(var_3ch);
    0x0000540c lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00005410 lw v1, 0x2c(sp)                           |     v1 = *(var_2ch);
                                                         |     if (a0 != 0) {
    0x00005414 bnez a0, 0x5730                           |         goto label_86;
                                                         |     }
    0x00005418 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x0000541c lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x00005420 lw t9, 0x28(sp)                           |     t9 = *(var_28h);
    0x00005424 move a2, v1                               |     a2 = v1;
    0x00005428 sw s7, 0x10(sp)                           |     *(var_10h) = s7;
    0x0000542c move a3, s5                               |     a3 = s5;
    0x00005430 addiu a1, a1, -0x524c                     |     a1 += -0x524c;
    0x00005434 jalr t9                                   |     t9 ();
    0x00005438 lw a0, 0x3c(sp)                           |     a0 = *(var_3ch);
    0x0000543c lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00005440 lw v1, 0x2c(sp)                           |     v1 = *(var_2ch);
                                                         |     if (a0 != 0) {
    0x00005444 bnez a0, 0x5730                           |         goto label_86;
                                                         |     }
    0x00005448 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x0000544c lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x00005450 lw t9, 0x28(sp)                           |     t9 = *(var_28h);
    0x00005454 move a2, v1                               |     a2 = v1;
    0x00005458 sw s7, 0x10(sp)                           |     *(var_10h) = s7;
    0x0000545c move a3, s5                               |     a3 = s5;
    0x00005460 addiu a1, a1, -0x5390                     |     a1 += -0x5390;
    0x00005464 jalr t9                                   |     t9 ();
    0x00005468 lw v0, 0x3c(sp)                           |     v0 = *(var_3ch);
    0x0000546c lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00005470 lw v1, 0x2c(sp)                           |     v1 = *(var_2ch);
                                                         |     if (v0 != 0) {
    0x00005474 bnez v0, 0x5730                           |         goto label_86;
                                                         |     }
    0x00005478 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x0000547c lw t9, -0x7f6c(gp)                        |     t9 = sym.cgi_json_set_overlay;
    0x00005480 move a0, v1                               |     a0 = v1;
    0x00005484 addiu a2, sp, 0x38                        |     a2 = sp + 0x38;
    0x00005488 addiu a1, a1, -0x5058                     |     a1 += -0x5058;
    0x0000548c sw v1, 0x24(sp)                           |     *(var_24h) = v1;
    0x00005490 bal 0x7298                                |     sym_cgi_json_set_overlay ();
    0x00005494 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00005498 lw v1, 0x24(sp)                           |     v1 = *(var_24h);
    0x0000549c sw v0, 0x3c(sp)                           |     *(var_3ch) = v0;
    0x000054a0 lw t9, -0x7e8c(gp)                        |     t9 = sym.imp.g_hash_table_unref;
    0x000054a4 move a0, v1                               |     a0 = v1;
    0x000054a8 jalr t9                                   |     t9 ();
    0x000054ac lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x000054b0 lw s7, 0x3c(sp)                           |     s7 = *(var_3ch);
    0x000054b4 b 0x491c                                  |     goto label_14;
                                                         | label_39:
    0x000054b8 lw t9, -0x7e50(gp)                        |     t9 = sym.imp.__stack_chk_fail;
    0x000054bc jalr t9                                   |     t9 ();
    0x000054c0 nop                                       |     
                                                         | label_77:
    0x000054c4 addiu v1, zero, 0xc8                      |     v1 = 0xc8;
    0x000054c8 lw t9, -0x7e8c(gp)                        |     t9 = sym.imp.g_hash_table_unref;
                                                         |     if (v0 != v1) {
    0x000054cc bne v0, v1, 0x5300                        |         goto label_22;
                                                         |     }
    0x000054d0 b 0x5320                                  |     goto label_23;
    0x000054d4 nop                                       |     
                                                         | label_82:
    0x000054d8 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x000054dc lw t9, -0x7d0c(gp)                        |     t9 = sym.imp.g_strcmp0;
    0x000054e0 addiu a1, a1, -0x4ffc                     |     a1 += -0x4ffc;
    0x000054e4 move a0, s7                               |     a0 = s7;
    0x000054e8 jalr t9                                   |     t9 ();
    0x000054ec lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x000054f0 bnez v0, 0x4c34                           |         goto label_24;
                                                         |     }
    0x000054f4 lw a1, -0x7f68(gp)                        |     a1 = *(gp);
    0x000054f8 lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x000054fc move t9, s5                               |     t9 = s5;
    0x00005500 sw zero, 0x3c(sp)                         |     *(var_3ch) = 0;
    0x00005504 bal 0x373c                                |     fcn_0000373c ();
    0x00005508 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == 0) {
    0x0000550c beqz v0, 0x439c                           |         goto label_2;
                                                         |     }
    0x00005510 lw a3, -0x7cb0(gp)                        |     a3 = *((gp - 7980));
    0x00005514 lw t9, -0x7dc4(gp)                        |     t9 = sym.imp.g_hash_table_new_full;
    0x00005518 lw a1, -0x7edc(gp)                        |     a1 = *((gp - 8119));
    0x0000551c lw a0, -0x7cd8(gp)                        |     a0 = *((gp - 7990));
    0x00005520 move a2, a3                               |     a2 = a3;
    0x00005524 jalr t9                                   |     t9 ();
    0x00005528 lw v1, 0x3c(sp)                           |     v1 = *(var_3ch);
    0x0000552c lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00005530 sw v0, 0x28(sp)                           |     *(var_28h) = v0;
                                                         |     if (v1 != 0) {
    0x00005534 bnez v1, 0x5810                           |         goto label_87;
                                                         |     }
    0x00005538 lw v0, -0x7fcc(gp)                        |     v0 = *((gp - 8179));
                                                         |     if (v0 == 0) {
    0x0000553c beqz v0, 0x5168                           |         goto label_25;
                                                         |     }
    0x00005540 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00005544 addiu s7, v0, 0x3bac                      |     s7 = v0 + fcn.00003bac;
    0x00005548 addiu s5, sp, 0x3c                        |     s5 = sp + 0x3c;
    0x0000554c lw a2, 0x28(sp)                           |     a2 = *(var_28h);
    0x00005550 lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x00005554 sw zero, 0x10(sp)                         |     *(var_10h) = 0;
    0x00005558 move a3, s5                               |     a3 = s5;
    0x0000555c move t9, s7                               |     t9 = s7;
    0x00005560 addiu a1, a1, -0x5274                     |     a1 += -0x5274;
    0x00005564 bal 0x3bac                                |     fcn_00003bac ();
    0x00005568 lw v0, 0x3c(sp)                           |     v0 = *(var_3ch);
    0x0000556c addiu v1, zero, 0xc8                      |     v1 = 0xc8;
    0x00005570 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == v1) {
    0x00005574 beq v0, v1, 0x5170                        |         goto label_26;
                                                         |     }
    0x00005578 lw v1, -0x7fc8(gp)                        |     v1 = *((gp - 8178));
                                                         |     if (v0 != 0) {
    0x0000557c bnez v0, 0x581c                           |         goto label_88;
                                                         |     }
    0x00005580 addiu v0, zero, 1                         |     v0 = 1;
    0x00005584 lw a2, 0x28(sp)                           |     a2 = *(var_28h);
    0x00005588 lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x0000558c sw v0, 0x10(sp)                           |     *(var_10h) = v0;
    0x00005590 move a3, s5                               |     a3 = s5;
    0x00005594 sw v1, 0x2c(sp)                           |     *(var_2ch) = v1;
    0x00005598 move t9, s7                               |     t9 = s7;
    0x0000559c addiu a1, v1, -0x5224                     |     a1 = v1 + -0x5224;
    0x000055a0 bal 0x3bac                                |     fcn_00003bac ();
    0x000055a4 lw v0, 0x3c(sp)                           |     v0 = *(var_3ch);
    0x000055a8 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x000055ac bnez v0, 0x581c                           |         goto label_88;
                                                         |     }
    0x000055b0 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x000055b4 addiu v0, zero, 1                         |     v0 = 1;
    0x000055b8 lw a2, 0x28(sp)                           |     a2 = *(var_28h);
    0x000055bc lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x000055c0 sw v0, 0x10(sp)                           |     *(var_10h) = v0;
    0x000055c4 move a3, s5                               |     a3 = s5;
    0x000055c8 move t9, s7                               |     t9 = s7;
    0x000055cc addiu a1, a1, -0x524c                     |     a1 += -0x524c;
    0x000055d0 bal 0x3bac                                |     fcn_00003bac ();
    0x000055d4 lw v0, 0x3c(sp)                           |     v0 = *(var_3ch);
    0x000055d8 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x000055dc bnez v0, 0x581c                           |         goto label_88;
                                                         |     }
    0x000055e0 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x000055e4 addiu v0, zero, 1                         |     v0 = 1;
    0x000055e8 lw a2, 0x28(sp)                           |     a2 = *(var_28h);
    0x000055ec lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x000055f0 sw v0, 0x10(sp)                           |     *(var_10h) = v0;
    0x000055f4 move a3, s5                               |     a3 = s5;
    0x000055f8 move t9, s7                               |     t9 = s7;
    0x000055fc addiu a1, a1, -0x5048                     |     a1 += -0x5048;
    0x00005600 bal 0x3bac                                |     fcn_00003bac ();
    0x00005604 lw v0, 0x3c(sp)                           |     v0 = *(var_3ch);
    0x00005608 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x0000560c bnez v0, 0x581c                           |         goto label_88;
                                                         |     }
    0x00005610 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00005614 addiu v0, zero, 1                         |     v0 = 1;
    0x00005618 lw a2, 0x28(sp)                           |     a2 = *(var_28h);
    0x0000561c lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x00005620 sw v0, 0x10(sp)                           |     *(var_10h) = v0;
    0x00005624 move a3, s5                               |     a3 = s5;
    0x00005628 move t9, s7                               |     t9 = s7;
    0x0000562c addiu a1, a1, -0x503c                     |     a1 += -0x503c;
    0x00005630 bal 0x3bac                                |     fcn_00003bac ();
    0x00005634 lw v0, 0x3c(sp)                           |     v0 = *(var_3ch);
    0x00005638 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x0000563c bnez v0, 0x581c                           |         goto label_88;
                                                         |     }
    0x00005640 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00005644 addiu v0, zero, 1                         |     v0 = 1;
    0x00005648 lw a2, 0x28(sp)                           |     a2 = *(var_28h);
    0x0000564c lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x00005650 sw v0, 0x10(sp)                           |     *(var_10h) = v0;
    0x00005654 move a3, s5                               |     a3 = s5;
    0x00005658 move t9, s7                               |     t9 = s7;
    0x0000565c addiu a1, a1, -0x5030                     |     a1 += -0x5030;
    0x00005660 bal 0x3bac                                |     fcn_00003bac ();
    0x00005664 lw v0, 0x3c(sp)                           |     v0 = *(var_3ch);
    0x00005668 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x0000566c bnez v0, 0x581c                           |         goto label_88;
                                                         |     }
    0x00005670 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x00005674 addiu v0, zero, 1                         |     v0 = 1;
    0x00005678 lw a2, 0x28(sp)                           |     a2 = *(var_28h);
    0x0000567c lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x00005680 sw v0, 0x10(sp)                           |     *(var_10h) = v0;
    0x00005684 move a3, s5                               |     a3 = s5;
    0x00005688 move t9, s7                               |     t9 = s7;
    0x0000568c addiu a1, a1, -0x53a8                     |     a1 += -0x53a8;
    0x00005690 bal 0x3bac                                |     fcn_00003bac ();
    0x00005694 lw v1, 0x3c(sp)                           |     v1 = *(var_3ch);
    0x00005698 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v1 != 0) {
    0x0000569c bnez v1, 0x581c                           |         goto label_88;
                                                         |     }
    0x000056a0 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x000056a4 addiu v0, zero, 1                         |     v0 = 1;
    0x000056a8 lw a2, 0x28(sp)                           |     a2 = *(var_28h);
    0x000056ac lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x000056b0 sw v0, 0x10(sp)                           |     *(var_10h) = v0;
    0x000056b4 move a3, s5                               |     a3 = s5;
    0x000056b8 move t9, s7                               |     t9 = s7;
    0x000056bc addiu a1, a1, -0x539c                     |     a1 += -0x539c;
    0x000056c0 bal 0x3bac                                |     fcn_00003bac ();
    0x000056c4 lw v1, 0x3c(sp)                           |     v1 = *(var_3ch);
    0x000056c8 lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v1 != 0) {
    0x000056cc bnez v1, 0x581c                           |         goto label_88;
                                                         |     }
    0x000056d0 lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
    0x000056d4 move a3, s5                               |     a3 = s5;
    0x000056d8 lw s5, 0x28(sp)                           |     s5 = *(var_28h);
    0x000056dc addiu v0, zero, 1                         |     v0 = 1;
    0x000056e0 lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x000056e4 sw v0, 0x10(sp)                           |     *(var_10h) = v0;
    0x000056e8 move a2, s5                               |     a2 = s5;
    0x000056ec move t9, s7                               |     t9 = s7;
    0x000056f0 addiu a1, a1, -0x5390                     |     a1 += -0x5390;
    0x000056f4 bal 0x3bac                                |     fcn_00003bac ();
    0x000056f8 lw v0, 0x3c(sp)                           |     v0 = *(var_3ch);
    0x000056fc lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 != 0) {
    0x00005700 bnez v0, 0x581c                           |         goto label_88;
                                                         |     }
    0x00005704 lw v1, 0x2c(sp)                           |     v1 = *(var_2ch);
    0x00005708 lw t9, -0x7f6c(gp)                        |     t9 = sym.cgi_json_set_overlay;
    0x0000570c addiu a2, sp, 0x38                        |     a2 = sp + 0x38;
    0x00005710 addiu a1, v1, -0x5224                     |     a1 = v1 + -0x5224;
    0x00005714 move a0, s5                               |     a0 = s5;
    0x00005718 bal 0x7298                                |     sym_cgi_json_set_overlay ();
    0x0000571c lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00005720 b 0x514c                                  |     goto label_21;
                                                         | label_83:
    0x00005724 addiu v0, zero, 0xc8                      |     v0 = 0xc8;
    0x00005728 lw t9, -0x7e8c(gp)                        |     t9 = sym.imp.g_hash_table_unref;
                                                         |     if (a0 == v0) {
    0x0000572c beq a0, v0, 0x57fc                        |         goto label_89;
                                                         |     }
                                                         | label_86:
    0x00005730 lw t9, -0x7e8c(gp)                        |     t9 = sym.imp.g_hash_table_unref;
    0x00005734 move a0, v1                               |     a0 = v1;
    0x00005738 jalr t9                                   |     t9 ();
    0x0000573c lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00005740 lw s7, 0x3c(sp)                           |     s7 = *(var_3ch);
    0x00005744 b 0x491c                                  |     goto label_14;
                                                         | label_71:
    0x00005748 lw a1, -0x7f64(gp)                        |     a1 = *(gp);
    0x0000574c lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x00005750 move t9, s5                               |     t9 = s5;
    0x00005754 sw zero, 0x3c(sp)                         |     *(var_3ch) = 0;
    0x00005758 bal 0x373c                                |     fcn_0000373c ();
    0x0000575c lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == 0) {
    0x00005760 beqz v0, 0x439c                           |         goto label_2;
                                                         |     }
    0x00005764 lw a3, -0x7cb0(gp)                        |     a3 = *((gp - 7980));
    0x00005768 lw t9, -0x7dc4(gp)                        |     t9 = sym.imp.g_hash_table_new_full;
    0x0000576c lw a1, -0x7edc(gp)                        |     a1 = *((gp - 8119));
    0x00005770 lw a0, -0x7cd8(gp)                        |     a0 = *((gp - 7990));
    0x00005774 move a2, a3                               |     a2 = a3;
    0x00005778 jalr t9                                   |     t9 ();
    0x0000577c lw v1, 0x3c(sp)                           |     v1 = *(var_3ch);
    0x00005780 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00005784 move s5, v0                               |     s5 = v0;
                                                         |     if (v1 != 0) {
    0x00005788 bnez v1, 0x57dc                           |         goto label_90;
                                                         |     }
    0x0000578c lw a1, -0x7fc8(gp)                        |     a1 = *((gp - 8178));
                                                         |     if (v0 == 0) {
    0x00005790 beqz v0, 0x5314                           |         goto label_27;
                                                         |     }
    0x00005794 lw t9, -0x7fcc(gp)                        |     t9 = *((gp - 8179));
    0x00005798 lw a0, 0x24(sp)                           |     a0 = *(var_24h);
    0x0000579c move a2, v0                               |     a2 = v0;
    0x000057a0 sw zero, 0x10(sp)                         |     *(var_10h) = 0;
    0x000057a4 addiu a3, sp, 0x3c                        |     a3 = sp + 0x3c;
    0x000057a8 addiu t9, t9, 0x3bac                      |     t9 += fcn.00003bac;
    0x000057ac addiu a1, a1, -0x5274                     |     a1 += -0x5274;
    0x000057b0 bal 0x3bac                                |     fcn_00003bac ();
    0x000057b4 lw v0, 0x3c(sp)                           |     v0 = *(var_3ch);
    0x000057b8 addiu v1, zero, 0xc8                      |     v1 = 0xc8;
    0x000057bc lw gp, 0x18(sp)                           |     gp = *(var_18h);
                                                         |     if (v0 == v1) {
    0x000057c0 beq v0, v1, 0x531c                        |         goto label_28;
                                                         |     }
    0x000057c4 lw t9, -0x7f60(gp)                        |     t9 = sym.cgi_json_convert_legacy;
                                                         |     if (v0 != 0) {
    0x000057c8 bnez v0, 0x52fc                           |         goto label_29;
                                                         |     }
    0x000057cc addiu a1, sp, 0x38                        |     a1 = sp + 0x38;
    0x000057d0 b 0x52e8                                  |     goto label_30;
                                                         | label_65:
    0x000057d4 addiu v0, v0, -0x5348                     |     v0 += -0x5348;
    0x000057d8 b 0x49ac                                  |     goto label_9;
                                                         | label_90:
    0x000057dc addiu v0, zero, 0xc8                      |     v0 = 0xc8;
    0x000057e0 lw t9, -0x7e8c(gp)                        |     t9 = sym.imp.g_hash_table_unref;
                                                         |     if (v1 != v0) {
    0x000057e4 bne v1, v0, 0x5300                        |         goto label_22;
                                                         |     }
    0x000057e8 b 0x5320                                  |     goto label_23;
    0x000057ec nop                                       |     
                                                         | label_84:
    0x000057f0 addiu v0, zero, 0xc8                      |     v0 = 0xc8;
    0x000057f4 sw v0, 0x3c(sp)                           |     *(var_3ch) = v0;
                                                         | label_85:
    0x000057f8 lw t9, -0x7e8c(gp)                        |     t9 = sym.imp.g_hash_table_unref;
                                                         | label_89:
    0x000057fc move a0, v1                               |     a0 = v1;
    0x00005800 jalr t9                                   |     t9 ();
    0x00005804 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x00005808 lw a0, 0x38(sp)                           |     a0 = *(var_38h);
    0x0000580c b 0x4570                                  |     goto label_6;
                                                         | label_87:
    0x00005810 addiu v0, zero, 0xc8                      |     v0 = 0xc8;
    0x00005814 lw t9, -0x7e8c(gp)                        |     t9 = sym.imp.g_hash_table_unref;
                                                         |     if (v1 == v0) {
    0x00005818 beq v1, v0, 0x5174                        |         goto label_31;
                                                         |     }
                                                         | label_88:
    0x0000581c lw t9, -0x7e8c(gp)                        |     t9 = sym.imp.g_hash_table_unref;
    0x00005820 lw a0, 0x28(sp)                           |     a0 = *(var_28h);
    0x00005824 jalr t9                                   |     t9 ();
    0x00005828 lw gp, 0x18(sp)                           |     gp = *(var_18h);
    0x0000582c lw s7, 0x3c(sp)                           |     s7 = *(var_3ch);
    0x00005830 b 0x491c                                  |     goto label_14;
                                                         | }

[*] Function printf used 2 times dynamic_overlayd