[*] Binary protection state of hl_client

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


[*] Function printf tear down of hl_client

    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/hl_client @ 0x40dc10 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym._aws_iot_mqtt_handle_reconnect ()        | void aws_iot_mqtt_handle_reconnect () {
    0x0040dc10 addiu sp, sp, -0x28                       |     
    0x0040dc14 sw ra, 0x24(sp)                           |     *(var_24h) = ra;
    0x0040dc18 sw fp, 0x20(sp)                           |     *(var_20h) = fp;
    0x0040dc1c move fp, sp                               |     fp = sp;
    0x0040dc20 sw a0, 0x28(fp)                           |     *(arg_28h) = a0;
    0x0040dc24 lw v0, 0x28(fp)                           |     v0 = *(arg_28h);
    0x0040dc28 addiu v0, v0, 8                           |     v0 += 8;
    0x0040dc2c move a0, v0                               |     a0 = v0;
    0x0040dc30 jal 0x412840                              |     sym_has_timer_expired ();
    0x0040dc34 nop                                       |     
    0x0040dc38 xori v0, v0, 1                            |     v0 ^= 1;
    0x0040dc3c andi v0, v0, 0xff                         |     v0 &= 0xff;
                                                         |     if (v0 != 0) {
    0x0040dc40 beqz v0, 0x40dc54                         |         
    0x0040dc44 nop                                       |         
    0x0040dc48 addiu v0, zero, 4                         |         v0 = 4;
    0x0040dc4c b 0x40dd94                                |         goto label_0;
    0x0040dc50 nop                                       |         
                                                         |     }
    0x0040dc54 addiu v0, zero, -0x12                     |     v0 = -0x12;
    0x0040dc58 sw v0, 0x18(fp)                           |     *(var_18h) = v0;
    0x0040dc5c lw v0, 0x28(fp)                           |     v0 = *(arg_28h);
    0x0040dc60 lw v0, 0x10f0(v0)                         |     v0 = *((v0 + 1084));
                                                         |     if (v0 != 0) {
    0x0040dc64 beqz v0, 0x40dc90                         |         
    0x0040dc68 nop                                       |         
    0x0040dc6c lw v0, 0x28(fp)                           |         v0 = *(arg_28h);
    0x0040dc70 lw v0, 0x10f0(v0)                         |         v0 = *((v0 + 1084));
    0x0040dc74 lw v1, 0x28(fp)                           |         v1 = *(arg_28h);
    0x0040dc78 addiu v1, v1, 0x10e0                      |         v1 += 0x10e0;
    0x0040dc7c move a0, v1                               |         a0 = v1;
    0x0040dc80 move t9, v0                               |         t9 = v0;
    0x0040dc84 jalr t9                                   |         t9 ();
    0x0040dc88 nop                                       |         
    0x0040dc8c sw v0, 0x18(fp)                           |         *(var_18h) = v0;
                                                         |     }
    0x0040dc90 lw v1, 0x18(fp)                           |     v1 = *(var_18h);
    0x0040dc94 addiu v0, zero, 6                         |     v0 = 6;
                                                         |     if (v1 == v0) {
    0x0040dc98 bne v1, v0, 0x40dd34                      |         
    0x0040dc9c nop                                       |         
    0x0040dca0 lw a0, 0x28(fp)                           |         a0 = *(arg_28h);
    0x0040dca4 jal 0x40a33c                              |         sym_aws_iot_mqtt_attempt_reconnect ();
    0x0040dca8 nop                                       |         
    0x0040dcac sw v0, 0x18(fp)                           |         *(var_18h) = v0;
    0x0040dcb0 lw v1, 0x18(fp)                           |         v1 = *(var_18h);
    0x0040dcb4 addiu v0, zero, 3                         |         v0 = 3;
                                                         |         if (v1 == v0) {
    0x0040dcb8 bne v1, v0, 0x40dcfc                      |             
    0x0040dcbc nop                                       |             
    0x0040dcc0 lw a0, 0x28(fp)                           |             a0 = *(arg_28h);
    0x0040dcc4 addiu a1, zero, 3                         |             a1 = 3;
    0x0040dcc8 addiu a2, zero, 4                         |             a2 = 4;
    0x0040dccc jal 0x40fb14                              |             sym_aws_iot_mqtt_set_client_state ();
    0x0040dcd0 nop                                       |             
    0x0040dcd4 sw v0, 0x18(fp)                           |             *(var_18h) = v0;
    0x0040dcd8 lw v0, 0x18(fp)                           |             v0 = *(var_18h);
                                                         |             if (v0 != 0) {
    0x0040dcdc beqz v0, 0x40dcf0                         |                 
    0x0040dce0 nop                                       |                 
    0x0040dce4 lw v0, 0x18(fp)                           |                 v0 = *(var_18h);
    0x0040dce8 b 0x40dd94                                |                 goto label_0;
    0x0040dcec nop                                       |                 
                                                         |             }
    0x0040dcf0 addiu v0, zero, 3                         |             v0 = 3;
    0x0040dcf4 b 0x40dd94                                |             goto label_0;
    0x0040dcf8 nop                                       |             
                                                         |         }
    0x0040dcfc lui v0, 0x42                              |         v0 = 0x420000;
                                                         |         /* str._IOT____s__return_value_is__d_n */
    0x0040dd00 addiu a0, v0, -0x40b0                     |         a0 = "[IOT] [%s] return value is %d\n";
    0x0040dd04 lui v0, 0x42                              |         v0 = 0x420000;
                                                         |         /* obj.__func__.6205 */
    0x0040dd08 addiu a1, v0, -0x4090                     |         a1 = "_aws_iot_mqtt_handle_reconnect";
    0x0040dd0c lw a2, 0x18(fp)                           |         a2 = *(var_18h);
    0x0040dd10 jal 0x41cfc0                              |         fcn_0041cfc0 ();
    0x0040dd14 nop                                       |         
    0x0040dd18 lui v0, 0x42                              |         v0 = 0x420000;
                                                         |         /* str._IOT____s__return_value_is__d_n */
    0x0040dd1c addiu a0, v0, -0x40b0                     |         a0 = "[IOT] [%s] return value is %d\n";
    0x0040dd20 lui v0, 0x42                              |         v0 = 0x420000;
                                                         |         /* obj.__func__.6205 */
    0x0040dd24 addiu a1, v0, -0x4090                     |         a1 = "_aws_iot_mqtt_handle_reconnect";
    0x0040dd28 lw a2, 0x18(fp)                           |         a2 = *(var_18h);
    0x0040dd2c jal 0x405dbc                              |         sym_log_printf ()
    0x0040dd30 nop                                       |         
                                                         |     }
    0x0040dd34 lw v0, 0x28(fp)                           |     v0 = *(arg_28h);
    0x0040dd38 lw v0, 0x28(v0)                           |     v0 = *((v0 + 10));
    0x0040dd3c sll v1, v0, 1                             |     v1 = v0 << 1;
    0x0040dd40 lw v0, 0x28(fp)                           |     v0 = *(arg_28h);
    0x0040dd44 sw v1, 0x28(v0)                           |     *((v0 + 10)) = v1;
    0x0040dd48 lw v0, 0x28(fp)                           |     v0 = *(arg_28h);
    0x0040dd4c lw v1, 0x28(v0)                           |     v1 = *((v0 + 10));
    0x0040dd50 lui v0, 1                                 |     v0 = 0x1f401;
    0x0040dd54 ori v0, v0, 0xf401                        |     
    0x0040dd58 sltu v0, v1, v0                           |     v0 = (v1 < v0) ? 1 : 0;
                                                         |     if (v0 == 0) {
    0x0040dd5c bnez v0, 0x40dd70                         |         
    0x0040dd60 nop                                       |         
    0x0040dd64 addiu v0, zero, -0xe                      |         v0 = -0xe;
    0x0040dd68 b 0x40dd94                                |         goto label_0;
    0x0040dd6c nop                                       |         
                                                         |     }
    0x0040dd70 lw v0, 0x28(fp)                           |     v0 = *(arg_28h);
    0x0040dd74 addiu v1, v0, 8                           |     v1 = v0 + 8;
    0x0040dd78 lw v0, 0x28(fp)                           |     v0 = *(arg_28h);
    0x0040dd7c lw v0, 0x28(v0)                           |     v0 = *((v0 + 10));
    0x0040dd80 move a0, v1                               |     a0 = v1;
    0x0040dd84 move a1, v0                               |     a1 = v0;
    0x0040dd88 jal 0x412910                              |     sym_countdown_ms ();
    0x0040dd8c nop                                       |     
    0x0040dd90 lw v0, 0x18(fp)                           |     v0 = *(var_18h);
                                                         | label_0:
    0x0040dd94 move sp, fp                               |     
    0x0040dd98 lw ra, 0x24(sp)                           |     ra = *(var_24h);
    0x0040dd9c lw fp, 0x20(sp)                           |     fp = *(var_20h);
    0x0040dda0 addiu sp, sp, 0x28                        |     
    0x0040dda4 jr ra                                     |     return v0;
    0x0040dda8 nop                                       |     
                                                         | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/hl_client @ 0x4061a0 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.aws_iot_manual_reconnect ()      | void aws_iot_manual_reconnect () {
    0x004061a0 addiu sp, sp, -0x20               |     
    0x004061a4 sw ra, 0x1c(sp)                   |     *(var_1ch) = ra;
    0x004061a8 sw fp, 0x18(sp)                   |     *(var_18h) = fp;
    0x004061ac move fp, sp                       |     fp = sp;
    0x004061b0 sw a0, 0x20(fp)                   |     *(arg_20h) = a0;
    0x004061b4 lw a0, 0x20(fp)                   |     a0 = *(arg_20h);
    0x004061b8 jal 0x40a250                      |     sym_aws_iot_mqtt_disconnect ();
    0x004061bc nop                               |     
    0x004061c0 lui v0, 3                         |     v0 = 30000;
    0x004061c4 ori a0, v0, 0xd40                 |     a0 = 0x30d40;
    0x004061c8 jal 0x41d040                      |     fcn_0041d040 ();
    0x004061cc nop                               |     
    0x004061d0 lw a0, 0x20(fp)                   |     a0 = *(arg_20h);
    0x004061d4 move a1, zero                     |     a1 = 0;
    0x004061d8 jal 0x409fe4                      |     sym_aws_iot_mqtt_connect ();
    0x004061dc nop                               |     
    0x004061e0 lw a0, 0x20(fp)                   |     a0 = *(arg_20h);
    0x004061e4 jal 0x40af5c                      |     sym_aws_iot_mqtt_resubscribe ();
    0x004061e8 nop                               |     
    0x004061ec lui v0, 0x42                      |     v0 = 0x420000;
                                                 |     /* str.__s__n */
    0x004061f0 addiu a0, v0, -0x4610             |     a0 = "[%s]\n";
    0x004061f4 lui v0, 0x42                      |     v0 = 0x420000;
                                                 |     /* obj.__func__.7454 */
    0x004061f8 addiu a1, v0, -0x45a0             |     a1 = "aws_iot_manual_reconnect";
    0x004061fc jal 0x405dbc                      |     sym_log_printf ()
    0x00406200 nop                               |     
    0x00406204 move sp, fp                       |     
    0x00406208 lw ra, 0x1c(sp)                   |     ra = *(var_1ch);
    0x0040620c lw fp, 0x18(sp)                   |     fp = *(var_18h);
    0x00406210 addiu sp, sp, 0x20                |     
    0x00406214 jr ra                             |     return v0;
    0x00406218 nop                               |     
                                                 | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/hl_client @ 0x404d00 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.aws_iot_subscribe_publish ()         | void aws_iot_subscribe_publish () {
    0x00404d00 addiu sp, sp, -0x438                  |     
    0x00404d04 sw ra, 0x434(sp)                      |     *(var_434h) = ra;
    0x00404d08 sw fp, 0x430(sp)                      |     *(var_430h) = fp;
    0x00404d0c move fp, sp                           |     fp = sp;
    0x00404d10 sw a0, 0x438(fp)                      |     *(arg_438h) = a0;
    0x00404d14 sw zero, 0x24(fp)                     |     *(var_24h) = 0;
    0x00404d18 sw zero, 0x20(fp)                     |     *(var_20h) = 0;
    0x00404d1c addiu v1, fp, 0x2c                    |     v1 = fp + 0x2c;
    0x00404d20 addiu v0, zero, 0x400                 |     v0 = 0x400;
    0x00404d24 move a0, v1                           |     a0 = v1;
    0x00404d28 move a1, zero                         |     a1 = 0;
    0x00404d2c move a2, v0                           |     a2 = v0;
    0x00404d30 jal 0x41d300                          |     fcn_0041d300 ();
    0x00404d34 nop                                   |     
    0x00404d38 addiu v0, fp, 0x2c                    |     v0 = fp + 0x2c;
    0x00404d3c sw v0, 0x28(fp)                       |     *(var_28h) = v0;
    0x00404d40 lui v0, 0x43                          |     v0 = 0x430000;
    0x00404d44 lw v1, -0x1de4(v0)                    |     v1 = *((v0 - 1913));
    0x00404d48 addiu v0, zero, 1                     |     v0 = 1;
                                                     |     if (v1 != v0) {
    0x00404d4c bne v1, v0, 0x4050d0                  |         goto label_0;
                                                     |     }
    0x00404d50 nop                                   |     
    0x00404d54 lw a0, 0x438(fp)                      |     a0 = *(arg_438h);
    0x00404d58 jal 0x4047bc                          |     sym_client_ParamInit ();
    0x00404d5c nop                                   |     
    0x00404d60 sw v0, 0x24(fp)                       |     *(var_24h) = v0;
    0x00404d64 lw v0, 0x24(fp)                       |     v0 = *(var_24h);
                                                     |     if (v0 != 0) {
    0x00404d68 beqz v0, 0x404df0                     |         
    0x00404d6c nop                                   |         
    0x00404d70 addiu v0, fp, 0x2c                    |         v0 = fp + 0x2c;
    0x00404d74 move a0, v0                           |         a0 = v0;
    0x00404d78 move a1, zero                         |         a1 = 0;
    0x00404d7c addiu a2, zero, 0x400                 |         a2 = 0x400;
    0x00404d80 jal 0x41d300                          |         fcn_0041d300 ();
    0x00404d84 nop                                   |         
    0x00404d88 lw v0, 0x28(fp)                       |         v0 = *(var_28h);
    0x00404d8c addiu v1, zero, 0x4b0                 |         v1 = 0x4b0;
    0x00404d90 swl v1, 3(v0)                         |         __asm ("swl v1, 3(v0)");
    0x00404d94 swr v1, (v0)                          |         __asm ("swr v1, (v0)");
    0x00404d98 lw v0, 0x28(fp)                       |         v0 = *(var_28h);
    0x00404d9c addiu v1, zero, 0x4b2                 |         v1 = 0x4b2;
    0x00404da0 swl v1, 7(v0)                         |         __asm ("swl v1, 7(v0)");
    0x00404da4 swr v1, 4(v0)                         |         __asm ("swr v1, 4(v0)");
    0x00404da8 lw v0, 0x28(fp)                       |         v0 = *(var_28h);
    0x00404dac addiu v0, v0, 8                       |         v0 += 8;
    0x00404db0 move a0, v0                           |         a0 = v0;
    0x00404db4 lui v0, 0x42                          |         v0 = 0x420000;
                                                     |         /* esilref: '&d' */
    0x00404db8 addiu a1, v0, -0x49dc                 |         a1 = 0x41b624;
    0x00404dbc lw a2, 0x24(fp)                       |         a2 = *(var_24h);
    0x00404dc0 jal 0x41d370                          |         fcn_0041d370 ();
    0x00404dc4 nop                                   |         
    0x00404dc8 lui v0, 0x43                          |         v0 = 0x430000;
    0x00404dcc lw v1, -0x1e80(v0)                    |         v1 = *((v0 - 1952));
    0x00404dd0 addiu v0, fp, 0x2c                    |         v0 = fp + 0x2c;
    0x00404dd4 move a0, v1                           |         a0 = v1;
    0x00404dd8 move a1, v0                           |         a1 = v0;
    0x00404ddc addiu a2, zero, 0xc                   |         a2 = 0xc;
    0x00404de0 jal 0x4184e8                          |         sym_msg_queue_snd ();
    0x00404de4 nop                                   |         
    0x00404de8 b 0x4050d0                            |         goto label_0;
    0x00404dec nop                                   |         
                                                     |     }
    0x00404df0 lw a0, 0x438(fp)                      |     a0 = *(arg_438h);
    0x00404df4 lui v0, 0x43                          |     v0 = 0x430000;
                                                     |     /* obj.g_stIotCert */
    0x00404df8 addiu a1, v0, -0xb98                  |     a1 = g_stIotCert;
    0x00404dfc jal 0x404988                          |     sym_clientMqttConnect ();
    0x00404e00 nop                                   |     
    0x00404e04 sw v0, 0x24(fp)                       |     *(var_24h) = v0;
    0x00404e08 lw v0, 0x24(fp)                       |     v0 = *(var_24h);
                                                     |     if (v0 != 0) {
    0x00404e0c beqz v0, 0x404e9c                     |         
    0x00404e10 nop                                   |         
    0x00404e14 addiu v0, fp, 0x2c                    |         v0 = fp + 0x2c;
    0x00404e18 move a0, v0                           |         a0 = v0;
    0x00404e1c move a1, zero                         |         a1 = 0;
    0x00404e20 addiu a2, zero, 0x400                 |         a2 = 0x400;
    0x00404e24 jal 0x41d300                          |         fcn_0041d300 ();
    0x00404e28 nop                                   |         
    0x00404e2c lw v0, 0x28(fp)                       |         v0 = *(var_28h);
    0x00404e30 addiu v1, zero, 0x4b0                 |         v1 = 0x4b0;
    0x00404e34 swl v1, 3(v0)                         |         __asm ("swl v1, 3(v0)");
    0x00404e38 swr v1, (v0)                          |         __asm ("swr v1, (v0)");
    0x00404e3c lw v0, 0x28(fp)                       |         v0 = *(var_28h);
    0x00404e40 addiu v1, zero, 0x4b2                 |         v1 = 0x4b2;
    0x00404e44 swl v1, 7(v0)                         |         __asm ("swl v1, 7(v0)");
    0x00404e48 swr v1, 4(v0)                         |         __asm ("swr v1, 4(v0)");
    0x00404e4c lw v0, 0x28(fp)                       |         v0 = *(var_28h);
    0x00404e50 addiu v0, v0, 8                       |         v0 += 8;
    0x00404e54 move a0, v0                           |         a0 = v0;
    0x00404e58 lui v0, 0x42                          |         v0 = 0x420000;
                                                     |         /* esilref: '&d' */
    0x00404e5c addiu a1, v0, -0x49dc                 |         a1 = 0x41b624;
    0x00404e60 lw a2, 0x24(fp)                       |         a2 = *(var_24h);
    0x00404e64 jal 0x41d370                          |         fcn_0041d370 ();
    0x00404e68 nop                                   |         
    0x00404e6c lui v0, 0x43                          |         v0 = 0x430000;
    0x00404e70 lw v1, -0x1e80(v0)                    |         v1 = *((v0 - 1952));
    0x00404e74 addiu v0, fp, 0x2c                    |         v0 = fp + 0x2c;
    0x00404e78 move a0, v1                           |         a0 = v1;
    0x00404e7c move a1, v0                           |         a1 = v0;
    0x00404e80 addiu a2, zero, 0xc                   |         a2 = 0xc;
    0x00404e84 jal 0x4184e8                          |         sym_msg_queue_snd ();
    0x00404e88 nop                                   |         
    0x00404e8c lui v0, 0x43                          |         v0 = 0x430000;
    0x00404e90 sw zero, -0x1de4(v0)                  |         *((v0 - 1913)) = 0;
    0x00404e94 b 0x4050d0                            |         goto label_0;
    0x00404e98 nop                                   |         
                                                     |     }
    0x00404e9c lw a0, 0x438(fp)                      |     a0 = *(arg_438h);
    0x00404ea0 addiu a1, zero, 1                     |     a1 = 1;
    0x00404ea4 jal 0x4101c8                          |     sym_aws_iot_mqtt_autoreconnect_set_status ();
    0x00404ea8 nop                                   |     
    0x00404eac lui v0, 0x42                          |     v0 = 0x420000;
                                                     |     /* str.subscribe.......... */
    0x00404eb0 addiu a0, v0, -0x49d8                 |     a0 = "subscribe..........";
    0x00404eb4 jal 0x41d0d0                          |     fcn_0041d0d0 ();
    0x00404eb8 nop                                   |     
    0x00404ebc b 0x4050c0                            |     goto label_1;
    0x00404ec0 nop                                   |     
                                                     |     do {
    0x00404ec4 lui v0, 0x43                          |         v0 = 0x430000;
                                                     |         /* obj.g_subTopic */
    0x00404ec8 addiu a0, v0, -0xcb0                  |         a0 = g_subTopic;
    0x00404ecc jal 0x41d460                          |         fcn_0041d460 ();
    0x00404ed0 nop                                   |         
    0x00404ed4 andi v0, v0, 0xffff                   |         v0 &= 0xffff;
    0x00404ed8 lui v1, 0x40                          |         v1 = msgarrv;
                                                     |         /* sym.msgarrv */
    0x00404edc addiu v1, v1, 0x3a30                  |         
    0x00404ee0 sw v1, 0x10(sp)                       |         *(var_10h) = v1;
    0x00404ee4 sw zero, 0x14(sp)                     |         *(var_14h) = 0;
    0x00404ee8 lw a0, 0x438(fp)                      |         a0 = *(arg_438h);
    0x00404eec lui v1, 0x43                          |         v1 = 0x430000;
                                                     |         /* obj.g_subTopic */
    0x00404ef0 addiu a1, v1, -0xcb0                  |         a1 = g_subTopic;
    0x00404ef4 move a2, v0                           |         a2 = v0;
    0x00404ef8 addiu a3, zero, 1                     |         a3 = 1;
    0x00404efc jal 0x40ab78                          |         sym_aws_iot_mqtt_subscribe ();
    0x00404f00 nop                                   |         
    0x00404f04 sw v0, 0x24(fp)                       |         *(var_24h) = v0;
    0x00404f08 lui v0, 0x43                          |         v0 = 0x430000;
                                                     |         /* obj.delta_topic */
    0x00404f0c addiu a0, v0, -0x1ddc                 |         a0 = delta_topic;
    0x00404f10 jal 0x41d460                          |         fcn_0041d460 ();
    0x00404f14 nop                                   |         
    0x00404f18 andi v0, v0, 0xffff                   |         v0 &= 0xffff;
    0x00404f1c lui v1, 0x40                          |         v1 = delta_handler;
                                                     |         /* sym.delta_handler */
    0x00404f20 addiu v1, v1, 0x26d4                  |         
    0x00404f24 sw v1, 0x10(sp)                       |         *(var_10h) = v1;
    0x00404f28 sw zero, 0x14(sp)                     |         *(var_14h) = 0;
    0x00404f2c lw a0, 0x438(fp)                      |         a0 = *(arg_438h);
    0x00404f30 lui v1, 0x43                          |         v1 = 0x430000;
                                                     |         /* obj.delta_topic */
    0x00404f34 addiu a1, v1, -0x1ddc                 |         a1 = delta_topic;
    0x00404f38 move a2, v0                           |         a2 = v0;
    0x00404f3c addiu a3, zero, 1                     |         a3 = 1;
    0x00404f40 jal 0x40ab78                          |         sym_aws_iot_mqtt_subscribe ();
    0x00404f44 nop                                   |         
    0x00404f48 lui v0, 0x43                          |         v0 = 0x430000;
                                                     |         /* obj.get_shadow_topic */
    0x00404f4c addiu a0, v0, -0x1d5c                 |         a0 = get_shadow_topic;
    0x00404f50 jal 0x41d460                          |         fcn_0041d460 ();
    0x00404f54 nop                                   |         
    0x00404f58 andi v0, v0, 0xffff                   |         v0 &= 0xffff;
    0x00404f5c lui v1, 0x40                          |         v1 = get_shadow_handler;
                                                     |         /* sym.get_shadow_handler */
    0x00404f60 addiu v1, v1, 0x3084                  |         
    0x00404f64 sw v1, 0x10(sp)                       |         *(var_10h) = v1;
    0x00404f68 sw zero, 0x14(sp)                     |         *(var_14h) = 0;
    0x00404f6c lw a0, 0x438(fp)                      |         a0 = *(arg_438h);
    0x00404f70 lui v1, 0x43                          |         v1 = 0x430000;
                                                     |         /* obj.get_shadow_topic */
    0x00404f74 addiu a1, v1, -0x1d5c                 |         a1 = get_shadow_topic;
    0x00404f78 move a2, v0                           |         a2 = v0;
    0x00404f7c addiu a3, zero, 1                     |         a3 = 1;
    0x00404f80 jal 0x40ab78                          |         sym_aws_iot_mqtt_subscribe ();
    0x00404f84 nop                                   |         
    0x00404f88 lui v0, 3                             |         v0 = 30000;
    0x00404f8c ori a0, v0, 0xd40                     |         a0 = 0x30d40;
    0x00404f90 jal 0x41d040                          |         fcn_0041d040 ();
    0x00404f94 nop                                   |         
    0x00404f98 lw v0, 0x24(fp)                       |         v0 = *(var_24h);
                                                     |         if (v0 == 0) {
    0x00404f9c bnez v0, 0x40506c                     |             
    0x00404fa0 nop                                   |             
    0x00404fa4 lw a0, 0x438(fp)                      |             a0 = *(arg_438h);
    0x00404fa8 jal 0x40621c                          |             sym_get_shadow_pre_handler ();
    0x00404fac nop                                   |             
    0x00404fb0 addiu v0, fp, 0x2c                    |             v0 = fp + 0x2c;
    0x00404fb4 move a0, v0                           |             a0 = v0;
    0x00404fb8 move a1, zero                         |             a1 = 0;
    0x00404fbc addiu a2, zero, 0x400                 |             a2 = 0x400;
    0x00404fc0 jal 0x41d300                          |             fcn_0041d300 ();
    0x00404fc4 nop                                   |             
    0x00404fc8 lw v0, 0x28(fp)                       |             v0 = *(var_28h);
    0x00404fcc addiu v1, zero, 0x4b0                 |             v1 = 0x4b0;
    0x00404fd0 swl v1, 3(v0)                         |             __asm ("swl v1, 3(v0)");
    0x00404fd4 swr v1, (v0)                          |             __asm ("swr v1, (v0)");
    0x00404fd8 lw v0, 0x28(fp)                       |             v0 = *(var_28h);
    0x00404fdc addiu v1, zero, 0x4b1                 |             v1 = 0x4b1;
    0x00404fe0 swl v1, 7(v0)                         |             __asm ("swl v1, 7(v0)");
    0x00404fe4 swr v1, 4(v0)                         |             __asm ("swr v1, 4(v0)");
    0x00404fe8 lui v0, 0x43                          |             v0 = 0x430000;
    0x00404fec lw v1, -0x1e80(v0)                    |             v1 = *((v0 - 1952));
    0x00404ff0 addiu v0, fp, 0x2c                    |             v0 = fp + 0x2c;
    0x00404ff4 move a0, v1                           |             a0 = v1;
    0x00404ff8 move a1, v0                           |             a1 = v0;
    0x00404ffc addiu a2, zero, 0xc                   |             a2 = 0xc;
    0x00405000 jal 0x4184e8                          |             sym_msg_queue_snd ();
    0x00405004 nop                                   |             
    0x00405008 move v1, v0                           |             v1 = v0;
    0x0040500c addiu v0, zero, -1                    |             v0 = -1;
                                                     |             if (v1 == v0) {
    0x00405010 beq v1, v0, 0x4050c0                  |                 goto label_1;
                                                     |             }
    0x00405014 nop                                   |             
    0x00405018 lui v0, 0x42                          |             v0 = 0x420000;
                                                     |             /* str.subscribe_success */
    0x0040501c addiu a0, v0, -0x49c4                 |             a0 = "subscribe success";
    0x00405020 jal 0x41d0d0                          |             fcn_0041d0d0 ();
    0x00405024 nop                                   |             
    0x00405028 lui v0, 0x42                          |             v0 = 0x420000;
                                                     |             /* str._IOT_subscribe_success__n */
    0x0040502c addiu a0, v0, -0x49b0                 |             a0 = "[IOT]subscribe success \n";
    0x00405030 jal 0x405dbc                          |             sym_log_printf ()
    0x00405034 nop                                   |             
    0x00405038 lui v0, 0x43                          |             v0 = 0x430000;
    0x0040503c addiu v1, zero, 2                     |             v1 = 2;
    0x00405040 sw v1, -0x1de4(v0)                    |             *((v0 - 1913)) = v1;
    0x00405044 lui v0, 0x43                          |             v0 = 0x430000;
    0x00405048 addiu v1, zero, 1                     |             v1 = 1;
    0x0040504c sw v1, -0x1de0(v0)                    |             *((v0 - 1912)) = v1;
    0x00405050 addiu a0, zero, 0x70d                 |             a0 = 0x70d;
    0x00405054 move a1, zero                         |             a1 = 0;
    0x00405058 move a2, zero                         |             a2 = 0;
    0x0040505c jal 0x402118                          |             sym_send_msg_to_dongle_cloud ();
    0x00405060 nop                                   |             
    0x00405064 b 0x4050d0                            |             goto label_0;
    0x00405068 nop                                   |             
                                                     |         }
    0x0040506c lw v0, 0x24(fp)                       |         v0 = *(var_24h);
                                                     |         if (v0 != 0) {
    0x00405070 beqz v0, 0x4050a0                     |             
    0x00405074 nop                                   |             
    0x00405078 lw v0, 0x20(fp)                       |             v0 = *(var_20h);
    0x0040507c slti v0, v0, 2                        |             v0 = (v0 < 2) ? 1 : 0;
                                                     |             if (v0 != 0) {
    0x00405080 bnez v0, 0x4050a0                     |                 goto label_2;
                                                     |             }
    0x00405084 nop                                   |             
    0x00405088 lui v0, 0x42                          |             v0 = 0x420000;
                                                     |             /* str._IOT__subscribe_failed_n */
    0x0040508c addiu a0, v0, -0x4994                 |             a0 = "[IOT] subscribe failed\n";
    0x00405090 jal 0x405dbc                          |             sym_log_printf ()
    0x00405094 nop                                   |             
    0x00405098 b 0x4050d0                            |             goto label_0;
    0x0040509c nop                                   |             
                                                     |         }
                                                     | label_2:
    0x004050a0 lui v0, 0x42                          |         v0 = 0x420000;
                                                     |         /* str.sub_error____return_error_value_is__d_r_n */
    0x004050a4 addiu a0, v0, -0x497c                 |         a0 = "sub error!!! return error value is %d\r\n";
    0x004050a8 lw a1, 0x24(fp)                       |         a1 = *(var_24h);
    0x004050ac jal 0x41cfc0                          |         fcn_0041cfc0 ();
    0x004050b0 nop                                   |         
    0x004050b4 lw v0, 0x20(fp)                       |         v0 = *(var_20h);
    0x004050b8 addiu v0, v0, 1                       |         v0++;
    0x004050bc sw v0, 0x20(fp)                       |         *(var_20h) = v0;
                                                     | label_1:
    0x004050c0 lw v0, 0x20(fp)                       |         v0 = *(var_20h);
    0x004050c4 slti v0, v0, 3                        |         v0 = (v0 < 3) ? 1 : 0;
    0x004050c8 bnez v0, 0x404ec4                     |         
                                                     |     } while (v0 != 0);
    0x004050cc nop                                   |     
                                                     | label_0:
    0x004050d0 move sp, fp                           |     
    0x004050d4 lw ra, 0x434(sp)                      |     ra = *(var_434h);
    0x004050d8 lw fp, 0x430(sp)                      |     fp = *(var_430h);
    0x004050dc addiu sp, sp, 0x438                   |     
    0x004050e0 jr ra                                 |     return v0;
    0x004050e4 nop                                   |     
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/hl_client @ 0x404b94 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.aws_iot_yield_func ()        | void aws_iot_yield_func () {
    0x00404b94 addiu sp, sp, -0x428          |     
    0x00404b98 sw ra, 0x424(sp)              |     *(var_424h) = ra;
    0x00404b9c sw fp, 0x420(sp)              |     *(var_420h) = fp;
    0x00404ba0 move fp, sp                   |     fp = sp;
    0x00404ba4 sw a0, 0x428(fp)              |     *(arg_428h) = a0;
    0x00404ba8 sw zero, 0x18(fp)             |     *(var_18h) = 0;
    0x00404bac addiu v1, fp, 0x20            |     v1 = fp + 0x20;
    0x00404bb0 addiu v0, zero, 0x400         |     v0 = 0x400;
    0x00404bb4 move a0, v1                   |     a0 = v1;
    0x00404bb8 move a1, zero                 |     a1 = 0;
    0x00404bbc move a2, v0                   |     a2 = v0;
    0x00404bc0 jal 0x41d300                  |     fcn_0041d300 ();
    0x00404bc4 nop                           |     
    0x00404bc8 addiu v0, fp, 0x20            |     v0 = fp + 0x20;
    0x00404bcc sw v0, 0x1c(fp)               |     *(var_1ch) = v0;
    0x00404bd0 lui v0, 0x43                  |     v0 = 0x430000;
    0x00404bd4 lw v1, -0x1de4(v0)            |     v1 = *((v0 - 1913));
    0x00404bd8 addiu v0, zero, 2             |     v0 = 2;
                                             |     if (v1 == v0) {
    0x00404bdc bne v1, v0, 0x404ce8          |         
    0x00404be0 nop                           |         
    0x00404be4 lw a0, 0x428(fp)              |         a0 = *(arg_428h);
    0x00404be8 addiu a1, zero, 0x3e8         |         a1 = 0x3e8;
    0x00404bec jal 0x40e188                  |         sym_aws_iot_mqtt_yield ();
    0x00404bf0 nop                           |         
    0x00404bf4 sw v0, 0x18(fp)               |         *(var_18h) = v0;
    0x00404bf8 lw v1, 0x18(fp)               |         v1 = *(var_18h);
    0x00404bfc addiu v0, zero, 3             |         v0 = 3;
                                             |         if (v1 == v0) {
    0x00404c00 bne v1, v0, 0x404cbc          |             
    0x00404c04 nop                           |             
    0x00404c08 lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str.iot_connect_success_____ */
    0x00404c0c addiu a0, v0, -0x4a58         |             a0 = "iot connect success!!!!!";
    0x00404c10 jal 0x41d0d0                  |             fcn_0041d0d0 ();
    0x00404c14 nop                           |             
    0x00404c18 lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str._IOT_IOT_DEV_RECONNECT_OK_n */
    0x00404c1c addiu a0, v0, -0x4a3c         |             a0 = "[IOT]IOT_DEV_RECONNECT_OK\n";
    0x00404c20 jal 0x405dbc                  |             sym_log_printf ()
    0x00404c24 nop                           |             
    0x00404c28 lw a0, 0x428(fp)              |             a0 = *(arg_428h);
    0x00404c2c jal 0x40621c                  |             sym_get_shadow_pre_handler ();
    0x00404c30 nop                           |             
    0x00404c34 lui v0, 1                     |             v0 = 10000;
    0x00404c38 ori a0, v0, 0x86a0            |             a0 = 0x186a0;
    0x00404c3c jal 0x41d040                  |             fcn_0041d040 ();
    0x00404c40 nop                           |             
    0x00404c44 lw a0, 0x428(fp)              |             a0 = *(arg_428h);
    0x00404c48 jal 0x405fd0                  |             sym_upload_resend_list_again ();
    0x00404c4c nop                           |             
    0x00404c50 addiu v0, fp, 0x20            |             v0 = fp + 0x20;
    0x00404c54 move a0, v0                   |             a0 = v0;
    0x00404c58 move a1, zero                 |             a1 = 0;
    0x00404c5c addiu a2, zero, 0x400         |             a2 = 0x400;
    0x00404c60 jal 0x41d300                  |             fcn_0041d300 ();
    0x00404c64 nop                           |             
    0x00404c68 lw v0, 0x1c(fp)               |             v0 = *(var_1ch);
    0x00404c6c addiu v1, zero, 0x4b0         |             v1 = 0x4b0;
    0x00404c70 swl v1, 3(v0)                 |             __asm ("swl v1, 3(v0)");
    0x00404c74 swr v1, (v0)                  |             __asm ("swr v1, (v0)");
    0x00404c78 lw v0, 0x1c(fp)               |             v0 = *(var_1ch);
    0x00404c7c addiu v1, zero, 0x4e1         |             v1 = 0x4e1;
    0x00404c80 swl v1, 7(v0)                 |             __asm ("swl v1, 7(v0)");
    0x00404c84 swr v1, 4(v0)                 |             __asm ("swr v1, 4(v0)");
    0x00404c88 lui v0, 0x43                  |             v0 = 0x430000;
    0x00404c8c lw v1, -0x1e80(v0)            |             v1 = *((v0 - 1952));
    0x00404c90 addiu v0, fp, 0x20            |             v0 = fp + 0x20;
    0x00404c94 move a0, v1                   |             a0 = v1;
    0x00404c98 move a1, v0                   |             a1 = v0;
    0x00404c9c addiu a2, zero, 0xc           |             a2 = 0xc;
    0x00404ca0 jal 0x4184e8                  |             sym_msg_queue_snd ();
    0x00404ca4 nop                           |             
    0x00404ca8 addiu a0, zero, 0x70e         |             a0 = 0x70e;
    0x00404cac move a1, zero                 |             a1 = 0;
    0x00404cb0 move a2, zero                 |             a2 = 0;
    0x00404cb4 jal 0x402118                  |             sym_send_msg_to_dongle_cloud ();
    0x00404cb8 nop                           |             
                                             |         }
    0x00404cbc lw v1, 0x18(fp)               |         v1 = *(var_18h);
    0x00404cc0 addiu v0, zero, -0xe          |         v0 = -0xe;
                                             |         if (v1 != v0) {
    0x00404cc4 bne v1, v0, 0x404ce8          |             goto label_0;
                                             |         }
    0x00404cc8 nop                           |         
    0x00404ccc lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.NETWORK_RECONNECT_TIMED_OUT_ERROR_NETWORK_RECONNECT_TIMED_OUT_ERROR */
    0x00404cd0 addiu a0, v0, -0x4a20         |         a0 = "NETWORK_RECONNECT_TIMED_OUT_ERROR NETWORK_RECONNECT_TIMED_OUT_ERROR";
    0x00404cd4 jal 0x41d0d0                  |         fcn_0041d0d0 ();
    0x00404cd8 nop                           |         
    0x00404cdc lui v0, 0x43                  |         v0 = 0x430000;
    0x00404ce0 addiu v1, zero, 1             |         v1 = 1;
    0x00404ce4 sw v1, -0x1de4(v0)            |         *((v0 - 1913)) = v1;
                                             |     }
                                             | label_0:
    0x00404ce8 move sp, fp                   |     
    0x00404cec lw ra, 0x424(sp)              |     ra = *(var_424h);
    0x00404cf0 lw fp, 0x420(sp)              |     fp = *(var_420h);
    0x00404cf4 addiu sp, sp, 0x428           |     
    0x00404cf8 jr ra                         |     return v1;
    0x00404cfc nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/hl_client @ 0x4026d4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.delta_handler ()             | void delta_handler () {
    0x004026d4 addiu sp, sp, -0x188          |     
    0x004026d8 sw ra, 0x184(sp)              |     *(var_184h) = ra;
    0x004026dc sw fp, 0x180(sp)              |     *(var_180h) = fp;
    0x004026e0 sw s0, 0x17c(sp)              |     *(var_17ch) = s0;
    0x004026e4 move fp, sp                   |     fp = sp;
    0x004026e8 sw a0, 0x188(fp)              |     *(arg_188h) = a0;
    0x004026ec sw a1, 0x18c(fp)              |     *(arg_18ch) = a1;
    0x004026f0 move v0, a2                   |     v0 = a2;
    0x004026f4 sw a3, 0x194(fp)              |     *(arg_194h) = a3;
    0x004026f8 sh v0, 0x190(fp)              |     *(arg_190h) = v0;
    0x004026fc lw v0, 0x194(fp)              |     v0 = *(arg_194h);
    0x00402700 lw v0, 8(v0)                  |     v0 = *((v0 + 2));
    0x00402704 lui v1, 0x42                  |     v1 = 0x420000;
                                             |     /* str._s:_message_arrived:__s_n */
    0x00402708 addiu a0, v1, -0x5798         |     a0 = "%s: message arrived: %s\n";
    0x0040270c lui v1, 0x42                  |     v1 = 0x420000;
                                             |     /* obj.__func__.7250 */
    0x00402710 addiu a1, v1, -0x4584         |     a1 = "delta_handler";
    0x00402714 move a2, v0                   |     a2 = v0;
    0x00402718 jal 0x41cfc0                  |     fcn_0041cfc0 ();
    0x0040271c nop                           |     
    0x00402720 lw v0, 0x194(fp)              |     v0 = *(arg_194h);
    0x00402724 lw v0, 8(v0)                  |     v0 = *((v0 + 2));
    0x00402728 lui v1, 0x42                  |     v1 = 0x420000;
                                             |     /* str._s:_message_arrived:__s_n */
    0x0040272c addiu a0, v1, -0x5798         |     a0 = "%s: message arrived: %s\n";
    0x00402730 lui v1, 0x42                  |     v1 = 0x420000;
                                             |     /* obj.__func__.7250 */
    0x00402734 addiu a1, v1, -0x4584         |     a1 = "delta_handler";
    0x00402738 move a2, v0                   |     a2 = v0;
    0x0040273c jal 0x405dbc                  |     sym_log_printf ()
    0x00402740 nop                           |     
    0x00402744 sw zero, 0x30(fp)             |     *(var_30h) = 0;
    0x00402748 sw zero, 0x34(fp)             |     *(var_34h) = 0;
    0x0040274c sw zero, 0x38(fp)             |     *(var_38h) = 0;
    0x00402750 sw zero, 0x3c(fp)             |     *(var_3ch) = 0;
    0x00402754 sw zero, 0x40(fp)             |     *(var_40h) = 0;
    0x00402758 sw zero, 0x44(fp)             |     *(var_44h) = 0;
    0x0040275c addiu v1, fp, 0x58            |     v1 = fp + 0x58;
    0x00402760 addiu v0, zero, 0x80          |     v0 = 0x80;
    0x00402764 move a0, v1                   |     a0 = v1;
    0x00402768 move a1, zero                 |     a1 = 0;
    0x0040276c move a2, v0                   |     a2 = v0;
    0x00402770 jal 0x41d300                  |     fcn_0041d300 ();
    0x00402774 nop                           |     
    0x00402778 addiu v1, fp, 0xd8            |     v1 = fp + 0xd8;
    0x0040277c addiu v0, zero, 0x80          |     v0 = 0x80;
    0x00402780 move a0, v1                   |     a0 = v1;
    0x00402784 move a1, zero                 |     a1 = 0;
    0x00402788 move a2, v0                   |     a2 = v0;
    0x0040278c jal 0x41d300                  |     fcn_0041d300 ();
    0x00402790 nop                           |     
    0x00402794 lw v0, 0x194(fp)              |     v0 = *(arg_194h);
    0x00402798 lw v0, 8(v0)                  |     v0 = *((v0 + 2));
    0x0040279c move a0, v0                   |     a0 = v0;
    0x004027a0 jal 0x414e34                  |     sym_cJSON_Parse ();
    0x004027a4 nop                           |     
    0x004027a8 sw v0, 0x30(fp)               |     *(var_30h) = v0;
    0x004027ac lw v0, 0x30(fp)               |     v0 = *(var_30h);
                                             |     if (v0 == 0) {
    0x004027b0 bnez v0, 0x4027d0             |         
    0x004027b4 nop                           |         
    0x004027b8 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.get_json_error_____ */
    0x004027bc addiu a0, v0, -0x577c         |         a0 = "get json error!!!!!";
    0x004027c0 jal 0x41d0d0                  |         fcn_0041d0d0 ();
    0x004027c4 nop                           |         
    0x004027c8 b 0x403068                    |         goto label_0;
    0x004027cc nop                           |         
                                             |     }
    0x004027d0 lw a0, 0x30(fp)               |     a0 = *(var_30h);
    0x004027d4 lui v0, 0x42                  |     v0 = 0x420000;
                                             |     /* str.state */
    0x004027d8 addiu a1, v0, -0x5768         |     a1 = "state";
    0x004027dc jal 0x416d98                  |     sym_cJSON_GetObjectItem ();
    0x004027e0 nop                           |     
    0x004027e4 sw v0, 0x34(fp)               |     *(var_34h) = v0;
    0x004027e8 lw v0, 0x34(fp)               |     v0 = *(var_34h);
                                             |     if (v0 == 0) {
    0x004027ec bnez v0, 0x402818             |         
    0x004027f0 nop                           |         
    0x004027f4 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.do_no_have_state_ */
    0x004027f8 addiu a0, v0, -0x5760         |         a0 = "do no have state ";
    0x004027fc jal 0x41d0d0                  |         fcn_0041d0d0 ();
    0x00402800 nop                           |         
    0x00402804 lw a0, 0x30(fp)               |         a0 = *(var_30h);
    0x00402808 jal 0x412f20                  |         sym_cJSON_Delete ();
    0x0040280c nop                           |         
    0x00402810 b 0x403068                    |         goto label_0;
    0x00402814 nop                           |         
                                             |     }
    0x00402818 lw a0, 0x34(fp)               |     a0 = *(var_34h);
    0x0040281c lui v0, 0x42                  |     v0 = 0x420000;
                                             |     /* esilref: 'P7' */
    0x00402820 addiu a1, v0, -0x574c         |     a1 = 0x41a8b4;
    0x00402824 jal 0x416d98                  |     sym_cJSON_GetObjectItem ();
    0x00402828 nop                           |     
    0x0040282c sw v0, 0x38(fp)               |     *(var_38h) = v0;
    0x00402830 lw v0, 0x38(fp)               |     v0 = *(var_38h);
                                             |     if (v0 != 0) {
    0x00402834 beqz v0, 0x4028dc             |         
    0x00402838 nop                           |         
    0x0040283c lw v0, 0x38(fp)               |         v0 = *(var_38h);
    0x00402840 lw v0, 0x10(v0)               |         v0 = *((v0 + 4));
    0x00402844 lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* str.has_P7_:_value__s__n */
    0x00402848 addiu a0, v1, -0x5748         |         a0 = "has P7 : value[%s]\n";
    0x0040284c move a1, v0                   |         a1 = v0;
    0x00402850 jal 0x41cfc0                  |         fcn_0041cfc0 ();
    0x00402854 nop                           |         
    0x00402858 lw v0, 0x38(fp)               |         v0 = *(var_38h);
    0x0040285c lw v0, 0x10(v0)               |         v0 = *((v0 + 4));
    0x00402860 addiu a0, zero, 0x4df         |         a0 = 0x4df;
    0x00402864 move a1, v0                   |         a1 = v0;
    0x00402868 jal 0x402004                  |         sym_send_command_s2m ();
    0x0040286c nop                           |         
    0x00402870 addiu v0, fp, 0xd8            |         v0 = fp + 0xd8;
    0x00402874 move a0, v0                   |         a0 = v0;
    0x00402878 jal 0x41d460                  |         fcn_0041d460 ();
    0x0040287c nop                           |         
    0x00402880 addiu v1, fp, 0xd8            |         v1 = fp + 0xd8;
    0x00402884 addu s0, v1, v0               |         s0 = v1 + v0;
    0x00402888 addiu v0, fp, 0xd8            |         v0 = fp + 0xd8;
    0x0040288c move a0, v0                   |         a0 = v0;
    0x00402890 jal 0x41d460                  |         fcn_0041d460 ();
    0x00402894 nop                           |         
    0x00402898 addiu v1, zero, 0x80          |         v1 = 0x80;
    0x0040289c subu v1, v1, v0               |         __asm ("subu v1, v1, v0");
    0x004028a0 lw v0, 0x38(fp)               |         v0 = *(var_38h);
    0x004028a4 lw v0, 0x10(v0)               |         v0 = *((v0 + 4));
    0x004028a8 move a0, s0                   |         a0 = s0;
    0x004028ac move a1, v1                   |         a1 = v1;
    0x004028b0 lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* str._P7_:__s_ */
    0x004028b4 addiu a2, v1, -0x5734         |         a2 = "\"P7\":\"%s\";
    0x004028b8 move a3, v0                   |         a3 = v0;
    0x004028bc jal 0x41cff0                  |         fcn_0041cff0 ();
    0x004028c0 nop                           |         
    0x004028c4 addiu v0, fp, 0xd8            |         v0 = fp + 0xd8;
    0x004028c8 lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* str.P7_ready_report:___s___n */
    0x004028cc addiu a0, v1, -0x5728         |         a0 = "P7 ready report: [%s] \n";
    0x004028d0 move a1, v0                   |         a1 = v0;
    0x004028d4 jal 0x41cfc0                  |         fcn_0041cfc0 ();
    0x004028d8 nop                           |         
                                             |     }
    0x004028dc lw a0, 0x34(fp)               |     a0 = *(var_34h);
    0x004028e0 lui v0, 0x42                  |     v0 = 0x420000;
                                             |     /* esilref: 'P11' */
    0x004028e4 addiu a1, v0, -0x5710         |     a1 = 0x41a8f0;
    0x004028e8 jal 0x416d98                  |     sym_cJSON_GetObjectItem ();
    0x004028ec nop                           |     
    0x004028f0 sw v0, 0x3c(fp)               |     *(var_3ch) = v0;
    0x004028f4 lw v0, 0x3c(fp)               |     v0 = *(var_3ch);
                                             |     if (v0 != 0) {
    0x004028f8 beqz v0, 0x402d5c             |         
    0x004028fc nop                           |         
    0x00402900 sw zero, 0x48(fp)             |         *(var_48h) = 0;
    0x00402904 sw zero, 0x4c(fp)             |         *(var_4ch) = 0;
    0x00402908 sw zero, 0x20(fp)             |         *(var_20h) = 0;
    0x0040290c sw zero, 0x24(fp)             |         *(var_24h) = 0;
    0x00402910 lw a0, 0x3c(fp)               |         a0 = *(var_3ch);
    0x00402914 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.offset */
    0x00402918 addiu a1, v0, -0x570c         |         a1 = "offset";
    0x0040291c jal 0x416d98                  |         sym_cJSON_GetObjectItem ();
    0x00402920 nop                           |         
    0x00402924 sw v0, 0x48(fp)               |         *(var_48h) = v0;
    0x00402928 lw v0, 0x48(fp)               |         v0 = *(var_48h);
                                             |         if (v0 == 0) {
    0x0040292c bnez v0, 0x40295c             |             
    0x00402930 nop                           |             
    0x00402934 lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str.P11_do_not_have_offset_111_ */
    0x00402938 addiu a0, v0, -0x5704         |             a0 = "P11 do not have offset 111 ";
    0x0040293c jal 0x41d0d0                  |             fcn_0041d0d0 ();
    0x00402940 nop                           |             
    0x00402944 lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str.P11_do_not_have_offset_111__n */
    0x00402948 addiu a0, v0, -0x56e8         |             a0 = "P11 do not have offset 111 \n";
    0x0040294c jal 0x405dbc                  |             sym_log_printf ()
    0x00402950 nop                           |             
    0x00402954 addiu v0, zero, 1             |             v0 = 1;
    0x00402958 sw v0, 0x20(fp)               |             *(var_20h) = v0;
                                             |         }
    0x0040295c lw a0, 0x3c(fp)               |         a0 = *(var_3ch);
    0x00402960 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.execute_ts */
    0x00402964 addiu a1, v0, -0x56c8         |         a1 = "execute_ts";
    0x00402968 jal 0x416d98                  |         sym_cJSON_GetObjectItem ();
    0x0040296c nop                           |         
    0x00402970 sw v0, 0x4c(fp)               |         *(var_4ch) = v0;
    0x00402974 lw v0, 0x4c(fp)               |         v0 = *(var_4ch);
                                             |         if (v0 == 0) {
    0x00402978 bnez v0, 0x4029a8             |             
    0x0040297c nop                           |             
    0x00402980 lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str.P11_do_not_have_execute_ts_222_ */
    0x00402984 addiu a0, v0, -0x56bc         |             a0 = "P11 do not have execute_ts 222 ";
    0x00402988 jal 0x41d0d0                  |             fcn_0041d0d0 ();
    0x0040298c nop                           |             
    0x00402990 lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str.P11_do_not_have_execute_ts_222__n */
    0x00402994 addiu a0, v0, -0x569c         |             a0 = "P11 do not have execute_ts 222 \n";
    0x00402998 jal 0x405dbc                  |             sym_log_printf ()
    0x0040299c nop                           |             
    0x004029a0 addiu v0, zero, 1             |             v0 = 1;
    0x004029a4 sw v0, 0x24(fp)               |             *(var_24h) = v0;
                                             |         }
    0x004029a8 lw v0, 0x20(fp)               |         v0 = *(var_20h);
                                             |         if (v0 != 0) {
    0x004029ac beqz v0, 0x4029f4             |             
    0x004029b0 nop                           |             
    0x004029b4 lw v0, 0x24(fp)               |             v0 = *(var_24h);
                                             |             if (v0 == 0) {
    0x004029b8 beqz v0, 0x4029f4             |                 goto label_1;
                                             |             }
    0x004029bc nop                           |             
    0x004029c0 lw a0, 0x30(fp)               |             a0 = *(var_30h);
    0x004029c4 jal 0x412f20                  |             sym_cJSON_Delete ();
    0x004029c8 nop                           |             
    0x004029cc lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str.P11_dont_have_offset_and_execute_ts_return_333 */
    0x004029d0 addiu a0, v0, -0x5678         |             a0 = "P11 dont have offset and execute_ts return 333";
    0x004029d4 jal 0x41d0d0                  |             fcn_0041d0d0 ();
    0x004029d8 nop                           |             
    0x004029dc lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str.P11_dont_have_offset_and_execute_ts_return_333_n */
    0x004029e0 addiu a0, v0, -0x5648         |             a0 = "P11 dont have offset and execute_ts return 333\n";
    0x004029e4 jal 0x405dbc                  |             sym_log_printf ()
    0x004029e8 nop                           |             
    0x004029ec b 0x403068                    |             goto label_0;
    0x004029f0 nop                           |             
                                             |         }
                                             | label_1:
    0x004029f4 sw zero, 0x158(fp)            |         *(var_158h) = 0;
    0x004029f8 sw zero, 0x15c(fp)            |         *(var_15ch) = 0;
    0x004029fc sw zero, 0x160(fp)            |         *(var_160h) = 0;
    0x00402a00 sw zero, 0x164(fp)            |         *(var_164h) = 0;
    0x00402a04 sw zero, 0x168(fp)            |         *(var_168h) = 0;
    0x00402a08 sw zero, 0x16c(fp)            |         *(var_16ch) = 0;
    0x00402a0c sw zero, 0x170(fp)            |         *(var_170h) = 0;
    0x00402a10 sw zero, 0x174(fp)            |         *(var_174h) = 0;
    0x00402a14 lw v0, 0x20(fp)               |         v0 = *(var_20h);
                                             |         if (v0 != 0) {
    0x00402a18 beqz v0, 0x402b10             |             
    0x00402a1c nop                           |             
    0x00402a20 lw v0, 0x4c(fp)               |             v0 = *(var_4ch);
    0x00402a24 lw v0, 0x10(v0)               |             v0 = *((v0 + 4));
    0x00402a28 addiu v1, fp, 0x158           |             v1 = fp + 0x158;
    0x00402a2c move a0, v1                   |             a0 = v1;
    0x00402a30 addiu a1, zero, 0x20          |             a1 = 0x20;
    0x00402a34 lui v1, 0x42                  |             v1 = 0x420000;
                                             |             /* esilref: '&s' */
    0x00402a38 addiu a2, v1, -0x5618         |             a2 = 0x41a9e8;
    0x00402a3c move a3, v0                   |             a3 = v0;
    0x00402a40 jal 0x41cff0                  |             fcn_0041cff0 ();
    0x00402a44 nop                           |             
    0x00402a48 addiu v0, fp, 0xd8            |             v0 = fp + 0xd8;
    0x00402a4c lb v0, (v0)                   |             v0 = *(v0);
                                             |             if (v0 != 0) {
    0x00402a50 beqz v0, 0x402ab4             |                 
    0x00402a54 nop                           |                 
    0x00402a58 addiu v0, fp, 0xd8            |                 v0 = fp + 0xd8;
    0x00402a5c move a0, v0                   |                 a0 = v0;
    0x00402a60 jal 0x41d460                  |                 fcn_0041d460 ();
    0x00402a64 nop                           |                 
    0x00402a68 addiu v1, fp, 0xd8            |                 v1 = fp + 0xd8;
    0x00402a6c addu s0, v1, v0               |                 s0 = v1 + v0;
    0x00402a70 addiu v0, fp, 0xd8            |                 v0 = fp + 0xd8;
    0x00402a74 move a0, v0                   |                 a0 = v0;
    0x00402a78 jal 0x41d460                  |                 fcn_0041d460 ();
    0x00402a7c nop                           |                 
    0x00402a80 addiu v1, zero, 0x80          |                 v1 = 0x80;
    0x00402a84 subu v1, v1, v0               |                 __asm ("subu v1, v1, v0");
    0x00402a88 lw v0, 0x4c(fp)               |                 v0 = *(var_4ch);
    0x00402a8c lw v0, 0x10(v0)               |                 v0 = *((v0 + 4));
    0x00402a90 move a0, s0                   |                 a0 = s0;
    0x00402a94 move a1, v1                   |                 a1 = v1;
    0x00402a98 lui v1, 0x42                  |                 v1 = 0x420000;
                                             |                 /* str.___P11_:_execute_ts_:__s_ */
    0x00402a9c addiu a2, v1, -0x5614         |                 a2 = " ,\"P11\":{\"execute_ts\":\"%s\"}";
    0x00402aa0 move a3, v0                   |                 a3 = v0;
    0x00402aa4 jal 0x41cff0                  |                 fcn_0041cff0 ();
    0x00402aa8 nop                           |                 
    0x00402aac b 0x402d18                    |                 goto label_2;
    0x00402ab0 nop                           |                 
                                             |             }
    0x00402ab4 addiu v0, fp, 0xd8            |             v0 = fp + 0xd8;
    0x00402ab8 move a0, v0                   |             a0 = v0;
    0x00402abc jal 0x41d460                  |             fcn_0041d460 ();
    0x00402ac0 nop                           |             
    0x00402ac4 addiu v1, fp, 0xd8            |             v1 = fp + 0xd8;
    0x00402ac8 addu s0, v1, v0               |             s0 = v1 + v0;
    0x00402acc addiu v0, fp, 0xd8            |             v0 = fp + 0xd8;
    0x00402ad0 move a0, v0                   |             a0 = v0;
    0x00402ad4 jal 0x41d460                  |             fcn_0041d460 ();
    0x00402ad8 nop                           |             
    0x00402adc addiu v1, zero, 0x80          |             v1 = 0x80;
    0x00402ae0 subu v1, v1, v0               |             __asm ("subu v1, v1, v0");
    0x00402ae4 lw v0, 0x4c(fp)               |             v0 = *(var_4ch);
    0x00402ae8 lw v0, 0x10(v0)               |             v0 = *((v0 + 4));
    0x00402aec move a0, s0                   |             a0 = s0;
    0x00402af0 move a1, v1                   |             a1 = v1;
    0x00402af4 lui v1, 0x42                  |             v1 = 0x420000;
                                             |             /* str._P11_:_execute_ts_:__s_ */
    0x00402af8 addiu a2, v1, -0x55f8         |             a2 = "\"P11\":{\"execute_ts\":\"%s\"}";
    0x00402afc move a3, v0                   |             a3 = v0;
    0x00402b00 jal 0x41cff0                  |             fcn_0041cff0 ();
    0x00402b04 nop                           |             
    0x00402b08 b 0x402d18                    |             goto label_2;
    0x00402b0c nop                           |             
                                             |         }
    0x00402b10 lw v0, 0x24(fp)               |         v0 = *(var_24h);
                                             |         if (v0 != 0) {
    0x00402b14 beqz v0, 0x402c0c             |             
    0x00402b18 nop                           |             
    0x00402b1c lw v0, 0x48(fp)               |             v0 = *(var_48h);
    0x00402b20 lw v0, 0x10(v0)               |             v0 = *((v0 + 4));
    0x00402b24 addiu v1, fp, 0x158           |             v1 = fp + 0x158;
    0x00402b28 move a0, v1                   |             a0 = v1;
    0x00402b2c addiu a1, zero, 0x20          |             a1 = 0x20;
    0x00402b30 lui v1, 0x42                  |             v1 = 0x420000;
                                             |             /* esilref: '&s' */
    0x00402b34 addiu a2, v1, -0x5618         |             a2 = 0x41a9e8;
    0x00402b38 move a3, v0                   |             a3 = v0;
    0x00402b3c jal 0x41cff0                  |             fcn_0041cff0 ();
    0x00402b40 nop                           |             
    0x00402b44 addiu v0, fp, 0xd8            |             v0 = fp + 0xd8;
    0x00402b48 lb v0, (v0)                   |             v0 = *(v0);
                                             |             if (v0 != 0) {
    0x00402b4c beqz v0, 0x402bb0             |                 
    0x00402b50 nop                           |                 
    0x00402b54 addiu v0, fp, 0xd8            |                 v0 = fp + 0xd8;
    0x00402b58 move a0, v0                   |                 a0 = v0;
    0x00402b5c jal 0x41d460                  |                 fcn_0041d460 ();
    0x00402b60 nop                           |                 
    0x00402b64 addiu v1, fp, 0xd8            |                 v1 = fp + 0xd8;
    0x00402b68 addu s0, v1, v0               |                 s0 = v1 + v0;
    0x00402b6c addiu v0, fp, 0xd8            |                 v0 = fp + 0xd8;
    0x00402b70 move a0, v0                   |                 a0 = v0;
    0x00402b74 jal 0x41d460                  |                 fcn_0041d460 ();
    0x00402b78 nop                           |                 
    0x00402b7c addiu v1, zero, 0x80          |                 v1 = 0x80;
    0x00402b80 subu v1, v1, v0               |                 __asm ("subu v1, v1, v0");
    0x00402b84 lw v0, 0x48(fp)               |                 v0 = *(var_48h);
    0x00402b88 lw v0, 0x10(v0)               |                 v0 = *((v0 + 4));
    0x00402b8c move a0, s0                   |                 a0 = s0;
    0x00402b90 move a1, v1                   |                 a1 = v1;
    0x00402b94 lui v1, 0x42                  |                 v1 = 0x420000;
                                             |                 /* str.___P11_:_offset_:__s_ */
    0x00402b98 addiu a2, v1, -0x55dc         |                 a2 = " ,\"P11\":{\"offset\":\"%s\"}";
    0x00402b9c move a3, v0                   |                 a3 = v0;
    0x00402ba0 jal 0x41cff0                  |                 fcn_0041cff0 ();
    0x00402ba4 nop                           |                 
    0x00402ba8 b 0x402d18                    |                 goto label_2;
    0x00402bac nop                           |                 
                                             |             }
    0x00402bb0 addiu v0, fp, 0xd8            |             v0 = fp + 0xd8;
    0x00402bb4 move a0, v0                   |             a0 = v0;
    0x00402bb8 jal 0x41d460                  |             fcn_0041d460 ();
    0x00402bbc nop                           |             
    0x00402bc0 addiu v1, fp, 0xd8            |             v1 = fp + 0xd8;
    0x00402bc4 addu s0, v1, v0               |             s0 = v1 + v0;
    0x00402bc8 addiu v0, fp, 0xd8            |             v0 = fp + 0xd8;
    0x00402bcc move a0, v0                   |             a0 = v0;
    0x00402bd0 jal 0x41d460                  |             fcn_0041d460 ();
    0x00402bd4 nop                           |             
    0x00402bd8 addiu v1, zero, 0x80          |             v1 = 0x80;
    0x00402bdc subu v1, v1, v0               |             __asm ("subu v1, v1, v0");
    0x00402be0 lw v0, 0x48(fp)               |             v0 = *(var_48h);
    0x00402be4 lw v0, 0x10(v0)               |             v0 = *((v0 + 4));
    0x00402be8 move a0, s0                   |             a0 = s0;
    0x00402bec move a1, v1                   |             a1 = v1;
    0x00402bf0 lui v1, 0x42                  |             v1 = 0x420000;
                                             |             /* str._P11_:_offset_:__s_ */
    0x00402bf4 addiu a2, v1, -0x55c4         |             a2 = "\"P11\":{\"offset\":\"%s\"}";
    0x00402bf8 move a3, v0                   |             a3 = v0;
    0x00402bfc jal 0x41cff0                  |             fcn_0041cff0 ();
    0x00402c00 nop                           |             
    0x00402c04 b 0x402d18                    |             goto label_2;
    0x00402c08 nop                           |             
                                             |         }
    0x00402c0c lw v0, 0x4c(fp)               |         v0 = *(var_4ch);
    0x00402c10 lw v0, 0x10(v0)               |         v0 = *((v0 + 4));
    0x00402c14 lw v1, 0x48(fp)               |         v1 = *(var_48h);
    0x00402c18 lw a0, 0x10(v1)               |         a0 = *((v1 + 4));
    0x00402c1c addiu v1, fp, 0x158           |         v1 = fp + 0x158;
    0x00402c20 sw a0, 0x10(sp)               |         *(var_10h) = a0;
    0x00402c24 move a0, v1                   |         a0 = v1;
    0x00402c28 addiu a1, zero, 0x20          |         a1 = 0x20;
    0x00402c2c lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* esilref: '&s&s' */
    0x00402c30 addiu a2, v1, -0x55ac         |         a2 = "%s%s";
    0x00402c34 move a3, v0                   |         a3 = v0;
    0x00402c38 jal 0x41cff0                  |         fcn_0041cff0 ();
    0x00402c3c nop                           |         
    0x00402c40 addiu v0, fp, 0xd8            |         v0 = fp + 0xd8;
    0x00402c44 lb v0, (v0)                   |         v0 = *(v0);
                                             |         if (v0 != 0) {
    0x00402c48 beqz v0, 0x402cb8             |             
    0x00402c4c nop                           |             
    0x00402c50 addiu v0, fp, 0xd8            |             v0 = fp + 0xd8;
    0x00402c54 move a0, v0                   |             a0 = v0;
    0x00402c58 jal 0x41d460                  |             fcn_0041d460 ();
    0x00402c5c nop                           |             
    0x00402c60 addiu v1, fp, 0xd8            |             v1 = fp + 0xd8;
    0x00402c64 addu s0, v1, v0               |             s0 = v1 + v0;
    0x00402c68 addiu v0, fp, 0xd8            |             v0 = fp + 0xd8;
    0x00402c6c move a0, v0                   |             a0 = v0;
    0x00402c70 jal 0x41d460                  |             fcn_0041d460 ();
    0x00402c74 nop                           |             
    0x00402c78 addiu v1, zero, 0x80          |             v1 = 0x80;
    0x00402c7c subu v1, v1, v0               |             __asm ("subu v1, v1, v0");
    0x00402c80 lw v0, 0x48(fp)               |             v0 = *(var_48h);
    0x00402c84 lw v0, 0x10(v0)               |             v0 = *((v0 + 4));
    0x00402c88 lw a0, 0x4c(fp)               |             a0 = *(var_4ch);
    0x00402c8c lw a0, 0x10(a0)               |             a0 = *((a0 + 4));
    0x00402c90 sw a0, 0x10(sp)               |             *(var_10h) = a0;
    0x00402c94 move a0, s0                   |             a0 = s0;
    0x00402c98 move a1, v1                   |             a1 = v1;
    0x00402c9c lui v1, 0x42                  |             v1 = 0x420000;
                                             |             /* str.___P11_:_offset_:__s___execute_ts_:__s_ */
    0x00402ca0 addiu a2, v1, -0x55a4         |             a2 = " ,\"P11\":{\"offset\":\"%s\",\"execute_ts\":\"%s\"}";
    0x00402ca4 move a3, v0                   |             a3 = v0;
    0x00402ca8 jal 0x41cff0                  |             fcn_0041cff0 ();
    0x00402cac nop                           |             
    0x00402cb0 b 0x402d18                    |             goto label_2;
    0x00402cb4 nop                           |             
                                             |         }
    0x00402cb8 addiu v0, fp, 0xd8            |         v0 = fp + 0xd8;
    0x00402cbc move a0, v0                   |         a0 = v0;
    0x00402cc0 jal 0x41d460                  |         fcn_0041d460 ();
    0x00402cc4 nop                           |         
    0x00402cc8 addiu v1, fp, 0xd8            |         v1 = fp + 0xd8;
    0x00402ccc addu s0, v1, v0               |         s0 = v1 + v0;
    0x00402cd0 addiu v0, fp, 0xd8            |         v0 = fp + 0xd8;
    0x00402cd4 move a0, v0                   |         a0 = v0;
    0x00402cd8 jal 0x41d460                  |         fcn_0041d460 ();
    0x00402cdc nop                           |         
    0x00402ce0 addiu v1, zero, 0x80          |         v1 = 0x80;
    0x00402ce4 subu v1, v1, v0               |         __asm ("subu v1, v1, v0");
    0x00402ce8 lw v0, 0x48(fp)               |         v0 = *(var_48h);
    0x00402cec lw v0, 0x10(v0)               |         v0 = *((v0 + 4));
    0x00402cf0 lw a0, 0x4c(fp)               |         a0 = *(var_4ch);
    0x00402cf4 lw a0, 0x10(a0)               |         a0 = *((a0 + 4));
    0x00402cf8 sw a0, 0x10(sp)               |         *(var_10h) = a0;
    0x00402cfc move a0, s0                   |         a0 = s0;
    0x00402d00 move a1, v1                   |         a1 = v1;
    0x00402d04 lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* str._P11_:_offset_:__s___execute_ts_:__s_ */
    0x00402d08 addiu a2, v1, -0x5578         |         a2 = "\"P11\":{\"offset\":\"%s\",\"execute_ts\":\"%s\"}";
    0x00402d0c move a3, v0                   |         a3 = v0;
    0x00402d10 jal 0x41cff0                  |         fcn_0041cff0 ();
    0x00402d14 nop                           |         
                                             | label_2:
    0x00402d18 addiu v0, fp, 0x158           |         v0 = fp + 0x158;
    0x00402d1c lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* str.e_0_31m_send_IOT_BACK_CMD_ADJUST_TIMEZONE1111___s_e_0_39m_n */
    0x00402d20 addiu a0, v1, -0x5550         |         a0 = "\e[0 send IOT_BACK_CMD_ADJUST_TIMEZONE1111  %s \e[0\n";
    0x00402d24 move a1, v0                   |         a1 = v0;
    0x00402d28 jal 0x41cfc0                  |         fcn_0041cfc0 ();
    0x00402d2c nop                           |         
    0x00402d30 addiu v0, fp, 0x158           |         v0 = fp + 0x158;
    0x00402d34 lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* str.send_IOT_BACK_CMD_ADJUST_TIMEZONE1111___s_n */
    0x00402d38 addiu a0, v1, -0x5514         |         a0 = "send IOT_BACK_CMD_ADJUST_TIMEZONE1111  %s\n";
    0x00402d3c move a1, v0                   |         a1 = v0;
    0x00402d40 jal 0x405dbc                  |         sym_log_printf ()
    0x00402d44 nop                           |         
    0x00402d48 addiu v0, fp, 0x158           |         v0 = fp + 0x158;
    0x00402d4c addiu a0, zero, 0x4e0         |         a0 = 0x4e0;
    0x00402d50 move a1, v0                   |         a1 = v0;
    0x00402d54 jal 0x402004                  |         sym_send_command_s2m ();
    0x00402d58 nop                           |         
                                             |     }
    0x00402d5c lw a0, 0x34(fp)               |     a0 = *(var_34h);
    0x00402d60 lui v0, 0x42                  |     v0 = 0x420000;
                                             |     /* esilref: 'duration' */
    0x00402d64 addiu a1, v0, -0x54e8         |     a1 = "duration";
    0x00402d68 jal 0x416d98                  |     sym_cJSON_GetObjectItem ();
    0x00402d6c nop                           |     
    0x00402d70 sw v0, 0x40(fp)               |     *(var_40h) = v0;
    0x00402d74 lw v0, 0x40(fp)               |     v0 = *(var_40h);
                                             |     if (v0 != 0) {
    0x00402d78 beqz v0, 0x402fe4             |         
    0x00402d7c nop                           |         
    0x00402d80 sw zero, 0x50(fp)             |         *(var_50h) = 0;
    0x00402d84 sw zero, 0x54(fp)             |         *(var_54h) = 0;
    0x00402d88 sw zero, 0x28(fp)             |         *(var_28h) = 0;
    0x00402d8c sw zero, 0x2c(fp)             |         *(var_2ch) = 0;
    0x00402d90 lw a0, 0x40(fp)               |         a0 = *(var_40h);
    0x00402d94 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.alarm_video */
    0x00402d98 addiu a1, v0, -0x54dc         |         a1 = "alarm_video";
    0x00402d9c jal 0x416d98                  |         sym_cJSON_GetObjectItem ();
    0x00402da0 nop                           |         
    0x00402da4 sw v0, 0x50(fp)               |         *(var_50h) = v0;
    0x00402da8 lw v0, 0x50(fp)               |         v0 = *(var_50h);
                                             |         if (v0 == 0) {
    0x00402dac bnez v0, 0x402ddc             |             
    0x00402db0 nop                           |             
    0x00402db4 lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str.json_duration_do_not_have_json_alarm_video_111_ */
    0x00402db8 addiu a0, v0, -0x54d0         |             a0 = "json_duration do not have json_alarm_video 111 ";
    0x00402dbc jal 0x41d0d0                  |             fcn_0041d0d0 ();
    0x00402dc0 nop                           |             
    0x00402dc4 lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str.json_duration_do_not_have_json_alarm_video_111__n */
    0x00402dc8 addiu a0, v0, -0x54a0         |             a0 = "json_duration do not have json_alarm_video 111 \n";
    0x00402dcc jal 0x405dbc                  |             sym_log_printf ()
    0x00402dd0 nop                           |             
    0x00402dd4 addiu v0, zero, 1             |             v0 = 1;
    0x00402dd8 sw v0, 0x28(fp)               |             *(var_28h) = v0;
                                             |         }
    0x00402ddc lw a0, 0x40(fp)               |         a0 = *(var_40h);
    0x00402de0 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.silent */
    0x00402de4 addiu a1, v0, -0x546c         |         a1 = "silent";
    0x00402de8 jal 0x416d98                  |         sym_cJSON_GetObjectItem ();
    0x00402dec nop                           |         
    0x00402df0 sw v0, 0x54(fp)               |         *(var_54h) = v0;
    0x00402df4 lw v0, 0x54(fp)               |         v0 = *(var_54h);
                                             |         if (v0 == 0) {
    0x00402df8 bnez v0, 0x402e28             |             
    0x00402dfc nop                           |             
    0x00402e00 lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str.json_duration_do_not_have_json_silent_222_ */
    0x00402e04 addiu a0, v0, -0x5464         |             a0 = "json_duration do not have json_silent 222 ";
    0x00402e08 jal 0x41d0d0                  |             fcn_0041d0d0 ();
    0x00402e0c nop                           |             
    0x00402e10 lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str.json_duration_do_not_have_json_silent_222__n */
    0x00402e14 addiu a0, v0, -0x5438         |             a0 = "json_duration do not have json_silent 222 \n";
    0x00402e18 jal 0x405dbc                  |             sym_log_printf ()
    0x00402e1c nop                           |             
    0x00402e20 addiu v0, zero, 1             |             v0 = 1;
    0x00402e24 sw v0, 0x2c(fp)               |             *(var_2ch) = v0;
                                             |         }
    0x00402e28 lw v0, 0x28(fp)               |         v0 = *(var_28h);
                                             |         if (v0 == 0) {
    0x00402e2c bnez v0, 0x402e40             |             
    0x00402e30 nop                           |             
    0x00402e34 lw v0, 0x2c(fp)               |             v0 = *(var_2ch);
                                             |             if (v0 == 0) {
    0x00402e38 beqz v0, 0x402e74             |                 goto label_3;
                                             |             }
    0x00402e3c nop                           |             
                                             |         }
    0x00402e40 lw a0, 0x30(fp)               |         a0 = *(var_30h);
    0x00402e44 jal 0x412f20                  |         sym_cJSON_Delete ();
    0x00402e48 nop                           |         
    0x00402e4c lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.json_duration_dont_have_json_alarm_video_or_json_silent_return_333 */
    0x00402e50 addiu a0, v0, -0x540c         |         a0 = "json_duration dont have json_alarm_video or json_silent return 333";
    0x00402e54 jal 0x41d0d0                  |         fcn_0041d0d0 ();
    0x00402e58 nop                           |         
    0x00402e5c lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.json_duration_dont_have_json_alarm_video_or_json_silent_return_333_n */
    0x00402e60 addiu a0, v0, -0x53c8         |         a0 = "json_duration dont have json_alarm_video or json_silent return 333\n";
    0x00402e64 jal 0x405dbc                  |         sym_log_printf ()
    0x00402e68 nop                           |         
    0x00402e6c b 0x403068                    |         goto label_0;
    0x00402e70 nop                           |         
                                             | label_3:
    0x00402e74 sw zero, 0x158(fp)            |         *(var_158h) = 0;
    0x00402e78 sw zero, 0x15c(fp)            |         *(var_15ch) = 0;
    0x00402e7c sw zero, 0x160(fp)            |         *(var_160h) = 0;
    0x00402e80 sw zero, 0x164(fp)            |         *(var_164h) = 0;
    0x00402e84 sw zero, 0x168(fp)            |         *(var_168h) = 0;
    0x00402e88 sw zero, 0x16c(fp)            |         *(var_16ch) = 0;
    0x00402e8c sw zero, 0x170(fp)            |         *(var_170h) = 0;
    0x00402e90 sw zero, 0x174(fp)            |         *(var_174h) = 0;
    0x00402e94 lw v0, 0x50(fp)               |         v0 = *(var_50h);
    0x00402e98 lw v0, 0x10(v0)               |         v0 = *((v0 + 4));
    0x00402e9c lw v1, 0x54(fp)               |         v1 = *(var_54h);
    0x00402ea0 lw a0, 0x10(v1)               |         a0 = *((v1 + 4));
    0x00402ea4 addiu v1, fp, 0x158           |         v1 = fp + 0x158;
    0x00402ea8 sw a0, 0x10(sp)               |         *(var_10h) = a0;
    0x00402eac move a0, v1                   |         a0 = v1;
    0x00402eb0 addiu a1, zero, 0x20          |         a1 = 0x20;
    0x00402eb4 lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* str.alarm:_s_silent:_s */
    0x00402eb8 addiu a2, v1, -0x5384         |         a2 = "alarm:%s,silent:%s";
    0x00402ebc move a3, v0                   |         a3 = v0;
    0x00402ec0 jal 0x41cff0                  |         fcn_0041cff0 ();
    0x00402ec4 nop                           |         
    0x00402ec8 addiu v0, fp, 0xd8            |         v0 = fp + 0xd8;
    0x00402ecc lb v0, (v0)                   |         v0 = *(v0);
                                             |         if (v0 != 0) {
    0x00402ed0 beqz v0, 0x402f40             |             
    0x00402ed4 nop                           |             
    0x00402ed8 addiu v0, fp, 0xd8            |             v0 = fp + 0xd8;
    0x00402edc move a0, v0                   |             a0 = v0;
    0x00402ee0 jal 0x41d460                  |             fcn_0041d460 ();
    0x00402ee4 nop                           |             
    0x00402ee8 addiu v1, fp, 0xd8            |             v1 = fp + 0xd8;
    0x00402eec addu s0, v1, v0               |             s0 = v1 + v0;
    0x00402ef0 addiu v0, fp, 0xd8            |             v0 = fp + 0xd8;
    0x00402ef4 move a0, v0                   |             a0 = v0;
    0x00402ef8 jal 0x41d460                  |             fcn_0041d460 ();
    0x00402efc nop                           |             
    0x00402f00 addiu v1, zero, 0x80          |             v1 = 0x80;
    0x00402f04 subu v1, v1, v0               |             __asm ("subu v1, v1, v0");
    0x00402f08 lw v0, 0x50(fp)               |             v0 = *(var_50h);
    0x00402f0c lw v0, 0x10(v0)               |             v0 = *((v0 + 4));
    0x00402f10 lw a0, 0x54(fp)               |             a0 = *(var_54h);
    0x00402f14 lw a0, 0x10(a0)               |             a0 = *((a0 + 4));
    0x00402f18 sw a0, 0x10(sp)               |             *(var_10h) = a0;
    0x00402f1c move a0, s0                   |             a0 = s0;
    0x00402f20 move a1, v1                   |             a1 = v1;
    0x00402f24 lui v1, 0x42                  |             v1 = 0x420000;
                                             |             /* str.___duration_:_alarm_video_:__s___silent_:__s_ */
    0x00402f28 addiu a2, v1, -0x5370         |             a2 = " ,\"duration\":{\"alarm_video\":\"%s\",\"silent\":\"%s\"}";
    0x00402f2c move a3, v0                   |             a3 = v0;
    0x00402f30 jal 0x41cff0                  |             fcn_0041cff0 ();
    0x00402f34 nop                           |             
    0x00402f38 b 0x402fa0                    |             goto label_4;
    0x00402f3c nop                           |             
                                             |         }
    0x00402f40 addiu v0, fp, 0xd8            |         v0 = fp + 0xd8;
    0x00402f44 move a0, v0                   |         a0 = v0;
    0x00402f48 jal 0x41d460                  |         fcn_0041d460 ();
    0x00402f4c nop                           |         
    0x00402f50 addiu v1, fp, 0xd8            |         v1 = fp + 0xd8;
    0x00402f54 addu s0, v1, v0               |         s0 = v1 + v0;
    0x00402f58 addiu v0, fp, 0xd8            |         v0 = fp + 0xd8;
    0x00402f5c move a0, v0                   |         a0 = v0;
    0x00402f60 jal 0x41d460                  |         fcn_0041d460 ();
    0x00402f64 nop                           |         
    0x00402f68 addiu v1, zero, 0x80          |         v1 = 0x80;
    0x00402f6c subu v1, v1, v0               |         __asm ("subu v1, v1, v0");
    0x00402f70 lw v0, 0x50(fp)               |         v0 = *(var_50h);
    0x00402f74 lw v0, 0x10(v0)               |         v0 = *((v0 + 4));
    0x00402f78 lw a0, 0x54(fp)               |         a0 = *(var_54h);
    0x00402f7c lw a0, 0x10(a0)               |         a0 = *((a0 + 4));
    0x00402f80 sw a0, 0x10(sp)               |         *(var_10h) = a0;
    0x00402f84 move a0, s0                   |         a0 = s0;
    0x00402f88 move a1, v1                   |         a1 = v1;
    0x00402f8c lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* str._duration_:_alarm_video_:__s___silent_:__s_ */
    0x00402f90 addiu a2, v1, -0x5340         |         a2 = "\"duration\":{\"alarm_video\":\"%s\",\"silent\":\"%s\"}";
    0x00402f94 move a3, v0                   |         a3 = v0;
    0x00402f98 jal 0x41cff0                  |         fcn_0041cff0 ();
    0x00402f9c nop                           |         
                                             | label_4:
    0x00402fa0 addiu v0, fp, 0x158           |         v0 = fp + 0x158;
    0x00402fa4 addiu a0, zero, 0x4e8         |         a0 = 0x4e8;
    0x00402fa8 move a1, v0                   |         a1 = v0;
    0x00402fac jal 0x402004                  |         sym_send_command_s2m ();
    0x00402fb0 nop                           |         
    0x00402fb4 addiu v0, fp, 0x158           |         v0 = fp + 0x158;
    0x00402fb8 lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* str.e_0_31m_Pay_For_Time___s__e_0_39m__r_n */
    0x00402fbc addiu a0, v1, -0x5310         |         a0 = "\e[0= Pay For Time (%s) =\e[0 \r\n";
    0x00402fc0 move a1, v0                   |         a1 = v0;
    0x00402fc4 jal 0x41cfc0                  |         fcn_0041cfc0 ();
    0x00402fc8 nop                           |         
    0x00402fcc addiu v0, fp, 0x158           |         v0 = fp + 0x158;
    0x00402fd0 lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* str.send_IOT_BACK_CMD_ADJUST_PayForTime___s_n */
    0x00402fd4 addiu a0, v1, -0x52e8         |         a0 = "send IOT_BACK_CMD_ADJUST_PayForTime  %s\n";
    0x00402fd8 move a1, v0                   |         a1 = v0;
    0x00402fdc jal 0x405dbc                  |         sym_log_printf ()
    0x00402fe0 nop                           |         
                                             |     }
    0x00402fe4 addiu v1, fp, 0x58            |     v1 = fp + 0x58;
    0x00402fe8 addiu v0, fp, 0xd8            |     v0 = fp + 0xd8;
    0x00402fec move a0, v1                   |     a0 = v1;
    0x00402ff0 addiu a1, zero, 0x80          |     a1 = 0x80;
    0x00402ff4 lui v1, 0x42                  |     v1 = 0x420000;
                                             |     /* str._state_:_reported_:_s__desired_:null */
    0x00402ff8 addiu a2, v1, -0x52bc         |     a2 = "{\"state\":{\"reported\":{%s},\"desired\":null}}";
    0x00402ffc move a3, v0                   |     a3 = v0;
    0x00403000 jal 0x41cff0                  |     fcn_0041cff0 ();
    0x00403004 nop                           |     
    0x00403008 addiu v0, fp, 0x58            |     v0 = fp + 0x58;
    0x0040300c lui v1, 0x42                  |     v1 = 0x420000;
                                             |     /* str._s__ack_is__s_n */
    0x00403010 addiu a0, v1, -0x5290         |     a0 = "%s  ack is %s\n";
    0x00403014 lui v1, 0x42                  |     v1 = 0x420000;
                                             |     /* obj.__func__.7250 */
    0x00403018 addiu a1, v1, -0x4584         |     a1 = "delta_handler";
    0x0040301c move a2, v0                   |     a2 = v0;
    0x00403020 jal 0x41cfc0                  |     fcn_0041cfc0 ();
    0x00403024 nop                           |     
    0x00403028 addiu v0, fp, 0x58            |     v0 = fp + 0x58;
    0x0040302c lui v1, 0x42                  |     v1 = 0x420000;
                                             |     /* str._s__ack_is__s_n */
    0x00403030 addiu a0, v1, -0x5290         |     a0 = "%s  ack is %s\n";
    0x00403034 lui v1, 0x42                  |     v1 = 0x420000;
                                             |     /* obj.__func__.7250 */
    0x00403038 addiu a1, v1, -0x4584         |     a1 = "delta_handler";
    0x0040303c move a2, v0                   |     a2 = v0;
    0x00403040 jal 0x405dbc                  |     sym_log_printf ()
    0x00403044 nop                           |     
    0x00403048 addiu v0, fp, 0x58            |     v0 = fp + 0x58;
    0x0040304c lw a0, 0x188(fp)              |     a0 = *(arg_188h);
    0x00403050 move a1, v0                   |     a1 = v0;
    0x00403054 jal 0x4062dc                  |     sym_report_shadow_handler ();
    0x00403058 nop                           |     
    0x0040305c lw a0, 0x30(fp)               |     a0 = *(var_30h);
    0x00403060 jal 0x412f20                  |     sym_cJSON_Delete ();
    0x00403064 nop                           |     
                                             | label_0:
    0x00403068 move sp, fp                   |     
    0x0040306c lw ra, 0x184(sp)              |     ra = *(var_184h);
    0x00403070 lw fp, 0x180(sp)              |     fp = *(var_180h);
    0x00403074 lw s0, 0x17c(sp)              |     s0 = *(var_17ch);
    0x00403078 addiu sp, sp, 0x188           |     
    0x0040307c jr ra                         |     return v0;
    0x00403080 nop                           |     
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/hl_client @ 0x404664 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.disconnectCallbackFunc ()        | void disconnectCallbackFunc () {
    0x00404664 addiu sp, sp, -0x428              |     
    0x00404668 sw ra, 0x424(sp)                  |     *(var_424h) = ra;
    0x0040466c sw fp, 0x420(sp)                  |     *(var_420h) = fp;
    0x00404670 move fp, sp                       |     fp = sp;
    0x00404674 sw a0, 0x428(fp)                  |     *(arg_428h) = a0;
    0x00404678 sw a1, 0x42c(fp)                  |     *(arg_42ch) = a1;
    0x0040467c lui v0, 0x42                      |     v0 = 0x420000;
                                                 |     /* str.MQTT_Disconnect_ */
    0x00404680 addiu a0, v0, -0x4cec             |     a0 = "MQTT Disconnect ";
    0x00404684 jal 0x41d0d0                      |     fcn_0041d0d0 ();
    0x00404688 nop                               |     
    0x0040468c addiu v0, zero, -1                |     v0 = -1;
    0x00404690 sw v0, 0x18(fp)                   |     *(var_18h) = v0;
    0x00404694 addiu v0, fp, 0x20                |     v0 = fp + 0x20;
    0x00404698 sw v0, 0x1c(fp)                   |     *(var_1ch) = v0;
    0x0040469c addiu v0, fp, 0x20                |     v0 = fp + 0x20;
    0x004046a0 move a0, v0                       |     a0 = v0;
    0x004046a4 move a1, zero                     |     a1 = 0;
    0x004046a8 addiu a2, zero, 0x400             |     a2 = 0x400;
    0x004046ac jal 0x41d300                      |     fcn_0041d300 ();
    0x004046b0 nop                               |     
    0x004046b4 lw v0, 0x1c(fp)                   |     v0 = *(var_1ch);
    0x004046b8 addiu v1, zero, 0x4b0             |     v1 = 0x4b0;
    0x004046bc swl v1, 3(v0)                     |     __asm ("swl v1, 3(v0)");
    0x004046c0 swr v1, (v0)                      |     __asm ("swr v1, (v0)");
    0x004046c4 lw v0, 0x1c(fp)                   |     v0 = *(var_1ch);
    0x004046c8 addiu v1, zero, 0x4e2             |     v1 = 0x4e2;
    0x004046cc swl v1, 7(v0)                     |     __asm ("swl v1, 7(v0)");
    0x004046d0 swr v1, 4(v0)                     |     __asm ("swr v1, 4(v0)");
    0x004046d4 lui v0, 0x43                      |     v0 = 0x430000;
    0x004046d8 lw v1, -0x1e80(v0)                |     v1 = *((v0 - 1952));
    0x004046dc addiu v0, fp, 0x20                |     v0 = fp + 0x20;
    0x004046e0 move a0, v1                       |     a0 = v1;
    0x004046e4 move a1, v0                       |     a1 = v0;
    0x004046e8 addiu a2, zero, 0xc               |     a2 = 0xc;
    0x004046ec jal 0x4184e8                      |     sym_msg_queue_snd ();
    0x004046f0 nop                               |     
    0x004046f4 lw v0, 0x428(fp)                  |     v0 = *(arg_428h);
                                                 |     if (v0 != 0) {
    0x004046f8 beqz v0, 0x4047a4                 |         
    0x004046fc nop                               |         
    0x00404700 lw a0, 0x428(fp)                  |         a0 = *(arg_428h);
    0x00404704 jal 0x410144                      |         sym_aws_iot_is_autoreconnect_enabled ();
    0x00404708 nop                               |         
                                                 |         if (v0 != 0) {
    0x0040470c beqz v0, 0x404748                 |             
    0x00404710 nop                               |             
    0x00404714 addiu a0, zero, 2                 |             a0 = 2;
    0x00404718 jal 0x41d110                      |             fcn_0041d110 ();
    0x0040471c nop                               |             
    0x00404720 lui v0, 0x42                      |             v0 = 0x420000;
                                                 |             /* str.Auto_Reconnect_is_enabled__Reconnecting_attempt_will_start_now */
    0x00404724 addiu a0, v0, -0x4cd8             |             a0 = "Auto Reconnect is enabled, Reconnecting attempt will start now";
    0x00404728 jal 0x41d0d0                      |             fcn_0041d0d0 ();
    0x0040472c nop                               |             
    0x00404730 lui v0, 0x42                      |             v0 = 0x420000;
                                                 |             /* str.Auto_Reconnect_is_enabled__Reconnecting_attempt_will_start_now_n */
    0x00404734 addiu a0, v0, -0x4c98             |             a0 = "Auto Reconnect is enabled, Reconnecting attempt will start now\n";
    0x00404738 jal 0x405dbc                      |             sym_log_printf ()
    0x0040473c nop                               |             
    0x00404740 b 0x4047a4                        |             goto label_0;
    0x00404744 nop                               |             
                                                 |         }
    0x00404748 lui v0, 0x42                      |         v0 = 0x420000;
                                                 |         /* str.Auto_Reconnect_not_enabled._Starting_manual_reconnect... */
    0x0040474c addiu a0, v0, -0x4c58             |         a0 = "Auto Reconnect not enabled. Starting manual reconnect...";
    0x00404750 jal 0x41d0d0                      |         fcn_0041d0d0 ();
    0x00404754 nop                               |         
    0x00404758 lw a0, 0x428(fp)                  |         a0 = *(arg_428h);
    0x0040475c jal 0x40a33c                      |         sym_aws_iot_mqtt_attempt_reconnect ();
    0x00404760 nop                               |         
    0x00404764 sw v0, 0x18(fp)                   |         *(var_18h) = v0;
    0x00404768 lw v1, 0x18(fp)                   |         v1 = *(var_18h);
    0x0040476c addiu v0, zero, 3                 |         v0 = 3;
                                                 |         if (v1 == v0) {
    0x00404770 bne v1, v0, 0x404790              |             
    0x00404774 nop                               |             
    0x00404778 lui v0, 0x42                      |             v0 = 0x420000;
                                                 |             /* str.Manual_Reconnect_Successful */
    0x0040477c addiu a0, v0, -0x4c1c             |             a0 = "Manual Reconnect Successful";
    0x00404780 jal 0x41d0d0                      |             fcn_0041d0d0 ();
    0x00404784 nop                               |             
    0x00404788 b 0x4047a4                        |             goto label_0;
    0x0040478c nop                               |             
                                                 |         }
    0x00404790 lui v0, 0x42                      |         v0 = 0x420000;
                                                 |         /* str.Manual_Reconnect_Failed____d_n */
    0x00404794 addiu a0, v0, -0x4c00             |         a0 = "Manual Reconnect Failed - %d\n";
    0x00404798 lw a1, 0x18(fp)                   |         a1 = *(var_18h);
    0x0040479c jal 0x41cfc0                      |         fcn_0041cfc0 ();
    0x004047a0 nop                               |         
                                                 |     }
                                                 | label_0:
    0x004047a4 move sp, fp                       |     
    0x004047a8 lw ra, 0x424(sp)                  |     ra = *(var_424h);
    0x004047ac lw fp, 0x420(sp)                  |     fp = *(var_420h);
    0x004047b0 addiu sp, sp, 0x428               |     
    0x004047b4 jr ra                             |     return v0;
    0x004047b8 nop                               |     
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/hl_client @ 0x405904 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.get_iot_cert_info ()         | void get_iot_cert_info () {
    0x00405904 addiu sp, sp, -0x470          |     
    0x00405908 sw ra, 0x46c(sp)              |     *(var_46ch) = ra;
    0x0040590c sw fp, 0x468(sp)              |     *(var_468h) = fp;
    0x00405910 move fp, sp                   |     fp = sp;
    0x00405914 sw zero, 0x20(fp)             |     *(var_20h) = 0;
    0x00405918 addiu v1, fp, 0x28            |     v1 = fp + 0x28;
    0x0040591c addiu v0, zero, 0x40          |     v0 = 0x40;
    0x00405920 move a0, v1                   |     a0 = v1;
    0x00405924 move a1, zero                 |     a1 = 0;
    0x00405928 move a2, v0                   |     a2 = v0;
    0x0040592c jal 0x41d300                  |     fcn_0041d300 ();
    0x00405930 nop                           |     
    0x00405934 addiu v1, fp, 0x68            |     v1 = fp + 0x68;
    0x00405938 addiu v0, zero, 0x400         |     v0 = 0x400;
    0x0040593c move a0, v1                   |     a0 = v1;
    0x00405940 move a1, zero                 |     a1 = 0;
    0x00405944 move a2, v0                   |     a2 = v0;
    0x00405948 jal 0x41d300                  |     fcn_0041d300 ();
    0x0040594c nop                           |     
    0x00405950 addiu v0, fp, 0x68            |     v0 = fp + 0x68;
    0x00405954 sw v0, 0x24(fp)               |     *(var_24h) = v0;
    0x00405958 lui v0, 0x43                  |     v0 = 0x430000;
    0x0040595c lw v0, -0x1de4(v0)            |     v0 = *((v0 - 1913));
                                             |     if (v0 == 0) {
    0x00405960 bnez v0, 0x405ba4             |         
    0x00405964 nop                           |         
    0x00405968 addiu v0, fp, 0x68            |         v0 = fp + 0x68;
    0x0040596c move a0, v0                   |         a0 = v0;
    0x00405970 move a1, zero                 |         a1 = 0;
    0x00405974 addiu a2, zero, 0x400         |         a2 = 0x400;
    0x00405978 jal 0x41d300                  |         fcn_0041d300 ();
    0x0040597c nop                           |         
    0x00405980 lui v0, 0x43                  |         v0 = 0x430000;
    0x00405984 lw v1, -0x1e80(v0)            |         v1 = *((v0 - 1952));
    0x00405988 addiu v0, fp, 0x68            |         v0 = fp + 0x68;
    0x0040598c move a0, v1                   |         a0 = v1;
    0x00405990 move a1, v0                   |         a1 = v0;
    0x00405994 addiu a2, zero, 0x400         |         a2 = 0x400;
    0x00405998 addiu a3, zero, 0x5dc         |         a3 = 0x5dc;
    0x0040599c jal 0x41841c                  |         sym_msg_queue_rcv ();
    0x004059a0 nop                           |         
    0x004059a4 move v1, v0                   |         v1 = v0;
    0x004059a8 addiu v0, zero, -1            |         v0 = -1;
                                             |         if (v1 == v0) {
    0x004059ac beq v1, v0, 0x405ba4          |             goto label_0;
                                             |         }
    0x004059b0 nop                           |         
    0x004059b4 lw v0, 0x24(fp)               |         v0 = *(var_24h);
    0x004059b8 lwl v1, 7(v0)                 |         __asm ("lwl v1, 7(v0)");
    0x004059bc lwr v1, 4(v0)                 |         __asm ("lwr v1, 4(v0)");
    0x004059c0 addiu v0, zero, 0x5df         |         v0 = 0x5df;
                                             |         if (v1 == v0) {
    0x004059c4 bne v1, v0, 0x405ac4          |             
    0x004059c8 nop                           |             
    0x004059cc lui v0, 0x43                  |             v0 = 0x430000;
                                             |             /* obj.g_stIotCert */
    0x004059d0 addiu a0, v0, -0xb98          |             a0 = g_stIotCert;
    0x004059d4 move a1, zero                 |             a1 = 0;
    0x004059d8 addiu a2, zero, 0x98          |             a2 = 0x98;
    0x004059dc jal 0x41d300                  |             fcn_0041d300 ();
    0x004059e0 nop                           |             
    0x004059e4 addiu v0, fp, 0x68            |             v0 = fp + 0x68;
    0x004059e8 addiu v0, v0, 0x10            |             v0 += 0x10;
    0x004059ec lui v1, 0x43                  |             v1 = 0x430000;
                                             |             /* obj.g_stIotCert */
    0x004059f0 addiu a0, v1, -0xb98          |             a0 = g_stIotCert;
    0x004059f4 move a1, v0                   |             a1 = v0;
    0x004059f8 addiu a2, zero, 0x98          |             a2 = 0x98;
    0x004059fc jal 0x41d0b0                  |             fcn_0041d0b0 ();
    0x00405a00 nop                           |             
    0x00405a04 lui v0, 0x43                  |             v0 = 0x430000;
    0x00405a08 lui v1, 0x43                  |             v1 = g_stIotCert;
                                             |             /* obj.g_stIotCert */
    0x00405a0c addiu v1, v1, -0xb98          |             
    0x00405a10 lw a0, 0x88(v1)               |             a0 = *((v1 + 34));
    0x00405a14 lw a2, 0x8c(v1)               |             a2 = *((v1 + 35));
    0x00405a18 lw a1, 0x90(v1)               |             a1 = *((v1 + 36));
    0x00405a1c lw v1, 0x94(v1)               |             v1 = *((v1 + 37));
    0x00405a20 sw a0, -0x700(v0)             |             *((v0 - 448)) = a0;
                                             |             /* obj.THING_NAME */
    0x00405a24 addiu a0, v0, -0x700          |             a0 = v0 + -0x700;
    0x00405a28 sw a2, 4(a0)                  |             *((a0 + 1)) = a2;
                                             |             /* obj.THING_NAME */
    0x00405a2c addiu a0, v0, -0x700          |             a0 = v0 + -0x700;
    0x00405a30 sw a1, 8(a0)                  |             *((a0 + 2)) = a1;
                                             |             /* obj.THING_NAME */
    0x00405a34 addiu v0, v0, -0x700          |             v0 += -0x700;
    0x00405a38 sw v1, 0xc(v0)                |             *((v0 + 3)) = v1;
    0x00405a3c lui v0, 0x43                  |             v0 = 0x430000;
    0x00405a40 addiu a0, v0, -0xb34          |             a0 = 0x42f4cc;
    0x00405a44 jal 0x4044ec                  |             sym_setTopic ();
    0x00405a48 nop                           |             
    0x00405a4c lui v0, 0x43                  |             v0 = g_stIotCert;
                                             |             /* obj.g_stIotCert */
    0x00405a50 addiu v0, v0, -0xb98          |             
    0x00405a54 lw v0, 0x84(v0)               |             v0 = *((v0 + 33));
    0x00405a58 lui v1, 0x43                  |             v1 = THING_NAME;
                                             |             /* obj.THING_NAME */
    0x00405a5c addiu v1, v1, -0x700          |             
    0x00405a60 sw v1, 0x10(sp)               |             *(var_10h) = v1;
    0x00405a64 lui v1, 0x42                  |             v1 = 0x420000;
                                             |             /* str._____________________GUOZHIXIN___________________________g_stIotCert_info:_username:_s_keepalive:_d_clientID:_s__thing_name_is__s_n */
    0x00405a68 addiu a0, v1, -0x47e8         |             a0 = "[--------------------GUOZHIXIN--------------------------]g_stIotCert info: username:%s,keepalive:%d,clientID:%s, thing name is %s\n";
    0x00405a6c lui v1, 0x43                  |             v1 = 0x430000;
    0x00405a70 addiu a1, v1, -0xb94          |             a1 = 0x42f46c;
    0x00405a74 move a2, v0                   |             a2 = v0;
    0x00405a78 lui v0, 0x43                  |             v0 = 0x430000;
    0x00405a7c addiu a3, v0, -0xb34          |             a3 = 0x42f4cc;
    0x00405a80 jal 0x41cfc0                  |             fcn_0041cfc0 ();
    0x00405a84 nop                           |             
    0x00405a88 lui v0, 0x43                  |             v0 = g_stIotCert;
                                             |             /* obj.g_stIotCert */
    0x00405a8c addiu v0, v0, -0xb98          |             
    0x00405a90 lw v0, 0x84(v0)               |             v0 = *((v0 + 33));
    0x00405a94 lui v1, 0x43                  |             v1 = THING_NAME;
                                             |             /* obj.THING_NAME */
    0x00405a98 addiu v1, v1, -0x700          |             
    0x00405a9c sw v1, 0x10(sp)               |             *(var_10h) = v1;
    0x00405aa0 lui v1, 0x42                  |             v1 = 0x420000;
                                             |             /* str.g_stIotCert_info:_username:_s_keepalive:_d_clientID:_s__thing_name_is__s_n */
    0x00405aa4 addiu a0, v1, -0x4764         |             a0 = "g_stIotCert info: username:%s,keepalive:%d,clientID:%s, thing name is %s\n";
    0x00405aa8 lui v1, 0x43                  |             v1 = 0x430000;
    0x00405aac addiu a1, v1, -0xb94          |             a1 = 0x42f46c;
    0x00405ab0 move a2, v0                   |             a2 = v0;
    0x00405ab4 lui v0, 0x43                  |             v0 = 0x430000;
    0x00405ab8 addiu a3, v0, -0xb34          |             a3 = 0x42f4cc;
    0x00405abc jal 0x405dbc                  |             sym_log_printf ()
    0x00405ac0 nop                           |             
                                             |         }
    0x00405ac4 lw v0, 0x24(fp)               |         v0 = *(var_24h);
    0x00405ac8 lwl v1, 7(v0)                 |         __asm ("lwl v1, 7(v0)");
    0x00405acc lwr v1, 4(v0)                 |         __asm ("lwr v1, 4(v0)");
    0x00405ad0 addiu v0, zero, 0x5e0         |         v0 = 0x5e0;
                                             |         if (v1 == v0) {
    0x00405ad4 bne v1, v0, 0x405b70          |             
    0x00405ad8 nop                           |             
    0x00405adc lui v0, 0x43                  |             v0 = 0x430000;
                                             |             /* obj.g_enrR */
    0x00405ae0 addiu a0, v0, -0xc30          |             a0 = g_enrR;
    0x00405ae4 move a1, zero                 |             a1 = 0;
    0x00405ae8 addiu a2, zero, 0x18          |             a2 = 0x18;
    0x00405aec jal 0x41d300                  |             fcn_0041d300 ();
    0x00405af0 nop                           |             
    0x00405af4 addiu v0, fp, 0x68            |             v0 = fp + 0x68;
    0x00405af8 addiu v0, v0, 0x10            |             v0 += 0x10;
    0x00405afc lui v1, 0x43                  |             v1 = 0x430000;
    0x00405b00 lwl a0, 3(v0)                 |             __asm ("lwl a0, (var_3h)");
    0x00405b04 move t1, a0                   |             t1 = a0;
    0x00405b08 lwr t1, (v0)                  |             __asm ("lwr t1, (v0)");
    0x00405b0c lwl a0, 7(v0)                 |             __asm ("lwl a0, (var_7h)");
    0x00405b10 move t0, a0                   |             t0 = a0;
    0x00405b14 lwr t0, 4(v0)                 |             __asm ("lwr t0, (var_4h)");
    0x00405b18 lwl a0, 0xb(v0)               |             __asm ("lwl a0, (var_bh)");
    0x00405b1c move a3, a0                   |             a3 = a0;
    0x00405b20 lwr a3, 8(v0)                 |             __asm ("lwr a3, (var_8h)");
    0x00405b24 lwl a0, 0xf(v0)               |             __asm ("lwl a0, (var_fh)");
    0x00405b28 move a2, a0                   |             a2 = a0;
    0x00405b2c lwr a2, 0xc(v0)               |             __asm ("lwr a2, (var_ch)");
    0x00405b30 lwl a0, 0x13(v0)              |             __asm ("lwl a0, (var_13h)");
    0x00405b34 move a1, a0                   |             a1 = a0;
    0x00405b38 lwr a1, 0x10(v0)              |             __asm ("lwr a1, (var_10h_3)");
    0x00405b3c lwl a0, 0x17(v0)              |             __asm ("lwl a0, (var_17h)");
    0x00405b40 lwr a0, 0x14(v0)              |             __asm ("lwr a0, (var_14h)");
    0x00405b44 sw t1, -0xc30(v1)             |             *((v1 - 780)) = t1;
                                             |             /* obj.g_enrR */
    0x00405b48 addiu v0, v1, -0xc30          |             v0 = v1 + -0xc30;
    0x00405b4c sw t0, 4(v0)                  |             *((v0 + 1)) = t0;
                                             |             /* obj.g_enrR */
    0x00405b50 addiu v0, v1, -0xc30          |             v0 = v1 + -0xc30;
    0x00405b54 sw a3, 8(v0)                  |             *((v0 + 2)) = a3;
                                             |             /* obj.g_enrR */
    0x00405b58 addiu v0, v1, -0xc30          |             v0 = v1 + -0xc30;
    0x00405b5c sw a2, 0xc(v0)                |             *((v0 + 3)) = a2;
                                             |             /* obj.g_enrR */
    0x00405b60 addiu v0, v1, -0xc30          |             v0 = v1 + -0xc30;
    0x00405b64 sw a1, 0x10(v0)               |             *((v0 + 4)) = a1;
                                             |             /* obj.g_enrR */
    0x00405b68 addiu v0, v1, -0xc30          |             v0 = v1 + -0xc30;
    0x00405b6c sw a0, 0x14(v0)               |             *((v0 + 5)) = a0;
                                             |         }
    0x00405b70 lw v0, 0x24(fp)               |         v0 = *(var_24h);
    0x00405b74 lwl v1, 7(v0)                 |         __asm ("lwl v1, 7(v0)");
    0x00405b78 lwr v1, 4(v0)                 |         __asm ("lwr v1, 4(v0)");
    0x00405b7c addiu v0, zero, 0x5dd         |         v0 = 0x5dd;
                                             |         if (v1 != v0) {
    0x00405b80 bne v1, v0, 0x405ba4          |             goto label_0;
                                             |         }
    0x00405b84 nop                           |         
    0x00405b88 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.get_iot_cmd_start_____ */
    0x00405b8c addiu a0, v0, -0x4834         |         a0 = "get iot cmd start!!!!!";
    0x00405b90 jal 0x41d0d0                  |         fcn_0041d0d0 ();
    0x00405b94 nop                           |         
    0x00405b98 lui v0, 0x43                  |         v0 = 0x430000;
    0x00405b9c addiu v1, zero, 1             |         v1 = 1;
    0x00405ba0 sw v1, -0x1de4(v0)            |         *((v0 - 1913)) = v1;
                                             |     }
                                             | label_0:
    0x00405ba4 move sp, fp                   |     
    0x00405ba8 lw ra, 0x46c(sp)              |     ra = *(var_46ch);
    0x00405bac lw fp, 0x468(sp)              |     fp = *(var_468h);
    0x00405bb0 addiu sp, sp, 0x470           |     
    0x00405bb4 jr ra                         |     return v1;
    0x00405bb8 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/hl_client @ 0x403084 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.get_shadow_handler ()        | void get_shadow_handler () {
    0x00403084 addiu sp, sp, -0x190          |     
    0x00403088 sw ra, 0x18c(sp)              |     *(var_18ch) = ra;
    0x0040308c sw fp, 0x188(sp)              |     *(var_188h) = fp;
    0x00403090 sw s0, 0x184(sp)              |     *(var_184h) = s0;
    0x00403094 move fp, sp                   |     fp = sp;
    0x00403098 sw a0, 0x190(fp)              |     *(arg_190h) = a0;
    0x0040309c sw a1, 0x194(fp)              |     *(arg_194h) = a1;
    0x004030a0 move v0, a2                   |     v0 = a2;
    0x004030a4 sw a3, 0x19c(fp)              |     *(arg_19ch) = a3;
    0x004030a8 sh v0, 0x198(fp)              |     *(arg_198h) = v0;
    0x004030ac sw zero, 0x30(fp)             |     *(var_30h) = 0;
    0x004030b0 sw zero, 0x34(fp)             |     *(var_34h) = 0;
    0x004030b4 sw zero, 0x38(fp)             |     *(var_38h) = 0;
    0x004030b8 sw zero, 0x3c(fp)             |     *(var_3ch) = 0;
    0x004030bc sw zero, 0x40(fp)             |     *(var_40h) = 0;
    0x004030c0 sw zero, 0x44(fp)             |     *(var_44h) = 0;
    0x004030c4 sw zero, 0x48(fp)             |     *(var_48h) = 0;
    0x004030c8 addiu v1, fp, 0x5c            |     v1 = fp + 0x5c;
    0x004030cc addiu v0, zero, 0x80          |     v0 = 0x80;
    0x004030d0 move a0, v1                   |     a0 = v1;
    0x004030d4 move a1, zero                 |     a1 = 0;
    0x004030d8 move a2, v0                   |     a2 = v0;
    0x004030dc jal 0x41d300                  |     fcn_0041d300 ();
    0x004030e0 nop                           |     
    0x004030e4 addiu v1, fp, 0xdc            |     v1 = fp + 0xdc;
    0x004030e8 addiu v0, zero, 0x80          |     v0 = 0x80;
    0x004030ec move a0, v1                   |     a0 = v1;
    0x004030f0 move a1, zero                 |     a1 = 0;
    0x004030f4 move a2, v0                   |     a2 = v0;
    0x004030f8 jal 0x41d300                  |     fcn_0041d300 ();
    0x004030fc nop                           |     
    0x00403100 lw v0, 0x19c(fp)              |     v0 = *(arg_19ch);
    0x00403104 lw v0, 8(v0)                  |     v0 = *((v0 + 2));
    0x00403108 lui v1, 0x42                  |     v1 = 0x420000;
                                             |     /* str.online_get_shadow_handler:__s_n */
    0x0040310c addiu a0, v1, -0x5280         |     a0 = "online get_shadow_handler: %s\n";
    0x00403110 move a1, v0                   |     a1 = v0;
    0x00403114 jal 0x41cfc0                  |     fcn_0041cfc0 ();
    0x00403118 nop                           |     
    0x0040311c lw v0, 0x19c(fp)              |     v0 = *(arg_19ch);
    0x00403120 lw v0, 8(v0)                  |     v0 = *((v0 + 2));
    0x00403124 lui v1, 0x42                  |     v1 = 0x420000;
                                             |     /* str.online_get_shadow_handler:__s_n */
    0x00403128 addiu a0, v1, -0x5280         |     a0 = "online get_shadow_handler: %s\n";
    0x0040312c move a1, v0                   |     a1 = v0;
    0x00403130 jal 0x405dbc                  |     sym_log_printf ()
    0x00403134 nop                           |     
    0x00403138 lw v0, 0x19c(fp)              |     v0 = *(arg_19ch);
    0x0040313c lw v0, 8(v0)                  |     v0 = *((v0 + 2));
    0x00403140 move a0, v0                   |     a0 = v0;
    0x00403144 jal 0x414e34                  |     sym_cJSON_Parse ();
    0x00403148 nop                           |     
    0x0040314c sw v0, 0x30(fp)               |     *(var_30h) = v0;
    0x00403150 lw v0, 0x30(fp)               |     v0 = *(var_30h);
                                             |     if (v0 == 0) {
    0x00403154 bnez v0, 0x403174             |         
    0x00403158 nop                           |         
    0x0040315c lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.get_json_error_____ */
    0x00403160 addiu a0, v0, -0x577c         |         a0 = "get json error!!!!!";
    0x00403164 jal 0x41d0d0                  |         fcn_0041d0d0 ();
    0x00403168 nop                           |         
    0x0040316c b 0x403a14                    |         goto label_0;
    0x00403170 nop                           |         
                                             |     }
    0x00403174 lw a0, 0x30(fp)               |     a0 = *(var_30h);
    0x00403178 lui v0, 0x42                  |     v0 = 0x420000;
                                             |     /* str.state */
    0x0040317c addiu a1, v0, -0x5768         |     a1 = "state";
    0x00403180 jal 0x416d98                  |     sym_cJSON_GetObjectItem ();
    0x00403184 nop                           |     
    0x00403188 sw v0, 0x34(fp)               |     *(var_34h) = v0;
    0x0040318c lw v0, 0x34(fp)               |     v0 = *(var_34h);
                                             |     if (v0 == 0) {
    0x00403190 bnez v0, 0x4031bc             |         
    0x00403194 nop                           |         
    0x00403198 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.get_shadow_handler_do_not_have_state_ */
    0x0040319c addiu a0, v0, -0x5260         |         a0 = "get_shadow_handler do not have state ";
    0x004031a0 jal 0x41d0d0                  |         fcn_0041d0d0 ();
    0x004031a4 nop                           |         
    0x004031a8 lw a0, 0x30(fp)               |         a0 = *(var_30h);
    0x004031ac jal 0x412f20                  |         sym_cJSON_Delete ();
    0x004031b0 nop                           |         
    0x004031b4 b 0x403a14                    |         goto label_0;
    0x004031b8 nop                           |         
                                             |     }
    0x004031bc lw a0, 0x34(fp)               |     a0 = *(var_34h);
    0x004031c0 lui v0, 0x42                  |     v0 = 0x420000;
                                             |     /* str.desired */
    0x004031c4 addiu a1, v0, -0x5238         |     a1 = "desired";
    0x004031c8 jal 0x416d98                  |     sym_cJSON_GetObjectItem ();
    0x004031cc nop                           |     
    0x004031d0 sw v0, 0x38(fp)               |     *(var_38h) = v0;
    0x004031d4 lw v0, 0x38(fp)               |     v0 = *(var_38h);
                                             |     if (v0 == 0) {
    0x004031d8 bnez v0, 0x403204             |         
    0x004031dc nop                           |         
    0x004031e0 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.get_shadow_handler_do_not_have_desired_ */
    0x004031e4 addiu a0, v0, -0x5230         |         a0 = "get_shadow_handler do not have desired ";
    0x004031e8 jal 0x41d0d0                  |         fcn_0041d0d0 ();
    0x004031ec nop                           |         
    0x004031f0 lw a0, 0x30(fp)               |         a0 = *(var_30h);
    0x004031f4 jal 0x412f20                  |         sym_cJSON_Delete ();
    0x004031f8 nop                           |         
    0x004031fc b 0x403a14                    |         goto label_0;
    0x00403200 nop                           |         
                                             |     }
    0x00403204 lw a0, 0x38(fp)               |     a0 = *(var_38h);
    0x00403208 lui v0, 0x42                  |     v0 = 0x420000;
                                             |     /* esilref: 'P7' */
    0x0040320c addiu a1, v0, -0x574c         |     a1 = 0x41a8b4;
    0x00403210 jal 0x416d98                  |     sym_cJSON_GetObjectItem ();
    0x00403214 nop                           |     
    0x00403218 sw v0, 0x3c(fp)               |     *(var_3ch) = v0;
    0x0040321c lw v0, 0x3c(fp)               |     v0 = *(var_3ch);
                                             |     if (v0 != 0) {
    0x00403220 beqz v0, 0x403298             |         
    0x00403224 nop                           |         
    0x00403228 lw v0, 0x3c(fp)               |         v0 = *(var_3ch);
    0x0040322c lw v0, 0x10(v0)               |         v0 = *((v0 + 4));
    0x00403230 lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* str.has_P7_:_value__s__n */
    0x00403234 addiu a0, v1, -0x5748         |         a0 = "has P7 : value[%s]\n";
    0x00403238 move a1, v0                   |         a1 = v0;
    0x0040323c jal 0x41cfc0                  |         fcn_0041cfc0 ();
    0x00403240 nop                           |         
    0x00403244 addiu v0, fp, 0xdc            |         v0 = fp + 0xdc;
    0x00403248 move a0, v0                   |         a0 = v0;
    0x0040324c jal 0x41d460                  |         fcn_0041d460 ();
    0x00403250 nop                           |         
    0x00403254 addiu v1, fp, 0xdc            |         v1 = fp + 0xdc;
    0x00403258 addu s0, v1, v0               |         s0 = v1 + v0;
    0x0040325c addiu v0, fp, 0xdc            |         v0 = fp + 0xdc;
    0x00403260 move a0, v0                   |         a0 = v0;
    0x00403264 jal 0x41d460                  |         fcn_0041d460 ();
    0x00403268 nop                           |         
    0x0040326c addiu v1, zero, 0x80          |         v1 = 0x80;
    0x00403270 subu v1, v1, v0               |         __asm ("subu v1, v1, v0");
    0x00403274 lw v0, 0x3c(fp)               |         v0 = *(var_3ch);
    0x00403278 lw v0, 0x10(v0)               |         v0 = *((v0 + 4));
    0x0040327c move a0, s0                   |         a0 = s0;
    0x00403280 move a1, v1                   |         a1 = v1;
    0x00403284 lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* str._P7_:__s_ */
    0x00403288 addiu a2, v1, -0x5734         |         a2 = "\"P7\":\"%s\";
    0x0040328c move a3, v0                   |         a3 = v0;
    0x00403290 jal 0x41cff0                  |         fcn_0041cff0 ();
    0x00403294 nop                           |         
                                             |     }
    0x00403298 lw a0, 0x38(fp)               |     a0 = *(var_38h);
    0x0040329c lui v0, 0x42                  |     v0 = 0x420000;
                                             |     /* esilref: 'P11' */
    0x004032a0 addiu a1, v0, -0x5710         |     a1 = 0x41a8f0;
    0x004032a4 jal 0x416d98                  |     sym_cJSON_GetObjectItem ();
    0x004032a8 nop                           |     
    0x004032ac sw v0, 0x40(fp)               |     *(var_40h) = v0;
    0x004032b0 lw v0, 0x40(fp)               |     v0 = *(var_40h);
                                             |     if (v0 != 0) {
    0x004032b4 beqz v0, 0x403718             |         
    0x004032b8 nop                           |         
    0x004032bc sw zero, 0x4c(fp)             |         *(var_4ch) = 0;
    0x004032c0 sw zero, 0x50(fp)             |         *(var_50h) = 0;
    0x004032c4 sw zero, 0x20(fp)             |         *(var_20h) = 0;
    0x004032c8 sw zero, 0x24(fp)             |         *(var_24h) = 0;
    0x004032cc lw a0, 0x40(fp)               |         a0 = *(var_40h);
    0x004032d0 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.offset */
    0x004032d4 addiu a1, v0, -0x570c         |         a1 = "offset";
    0x004032d8 jal 0x416d98                  |         sym_cJSON_GetObjectItem ();
    0x004032dc nop                           |         
    0x004032e0 sw v0, 0x4c(fp)               |         *(var_4ch) = v0;
    0x004032e4 lw v0, 0x4c(fp)               |         v0 = *(var_4ch);
                                             |         if (v0 == 0) {
    0x004032e8 bnez v0, 0x403318             |             
    0x004032ec nop                           |             
    0x004032f0 lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str.P11_do_not_have_offset_ */
    0x004032f4 addiu a0, v0, -0x5208         |             a0 = "P11 do not have offset ";
    0x004032f8 jal 0x41d0d0                  |             fcn_0041d0d0 ();
    0x004032fc nop                           |             
    0x00403300 lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str.P11_do_not_have_offset__n */
    0x00403304 addiu a0, v0, -0x51f0         |             a0 = "P11 do not have offset \n";
    0x00403308 jal 0x405dbc                  |             sym_log_printf ()
    0x0040330c nop                           |             
    0x00403310 addiu v0, zero, 1             |             v0 = 1;
    0x00403314 sw v0, 0x20(fp)               |             *(var_20h) = v0;
                                             |         }
    0x00403318 lw a0, 0x40(fp)               |         a0 = *(var_40h);
    0x0040331c lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.execute_ts */
    0x00403320 addiu a1, v0, -0x56c8         |         a1 = "execute_ts";
    0x00403324 jal 0x416d98                  |         sym_cJSON_GetObjectItem ();
    0x00403328 nop                           |         
    0x0040332c sw v0, 0x50(fp)               |         *(var_50h) = v0;
    0x00403330 lw v0, 0x50(fp)               |         v0 = *(var_50h);
                                             |         if (v0 == 0) {
    0x00403334 bnez v0, 0x403364             |             
    0x00403338 nop                           |             
    0x0040333c lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str.P11_do_not_have_execute_ts_ */
    0x00403340 addiu a0, v0, -0x51d4         |             a0 = "P11 do not have execute_ts ";
    0x00403344 jal 0x41d0d0                  |             fcn_0041d0d0 ();
    0x00403348 nop                           |             
    0x0040334c lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str.P11_do_not_have_execute_ts__n */
    0x00403350 addiu a0, v0, -0x51b8         |             a0 = "P11 do not have execute_ts \n";
    0x00403354 jal 0x405dbc                  |             sym_log_printf ()
    0x00403358 nop                           |             
    0x0040335c addiu v0, zero, 1             |             v0 = 1;
    0x00403360 sw v0, 0x24(fp)               |             *(var_24h) = v0;
                                             |         }
    0x00403364 lw v0, 0x20(fp)               |         v0 = *(var_20h);
                                             |         if (v0 != 0) {
    0x00403368 beqz v0, 0x4033b0             |             
    0x0040336c nop                           |             
    0x00403370 lw v0, 0x24(fp)               |             v0 = *(var_24h);
                                             |             if (v0 == 0) {
    0x00403374 beqz v0, 0x4033b0             |                 goto label_1;
                                             |             }
    0x00403378 nop                           |             
    0x0040337c lw a0, 0x30(fp)               |             a0 = *(var_30h);
    0x00403380 jal 0x412f20                  |             sym_cJSON_Delete ();
    0x00403384 nop                           |             
    0x00403388 lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str.P11_dont_have_offset_and_execute_ts_return_ */
    0x0040338c addiu a0, v0, -0x5198         |             a0 = "P11 dont have offset and execute_ts return ";
    0x00403390 jal 0x41d0d0                  |             fcn_0041d0d0 ();
    0x00403394 nop                           |             
    0x00403398 lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str.P11_dont_have_offset_and_execute_ts_return__n */
    0x0040339c addiu a0, v0, -0x516c         |             a0 = "P11 dont have offset and execute_ts return \n";
    0x004033a0 jal 0x405dbc                  |             sym_log_printf ()
    0x004033a4 nop                           |             
    0x004033a8 b 0x403a14                    |             goto label_0;
    0x004033ac nop                           |             
                                             |         }
                                             | label_1:
    0x004033b0 sw zero, 0x15c(fp)            |         *(var_15ch) = 0;
    0x004033b4 sw zero, 0x160(fp)            |         *(var_160h) = 0;
    0x004033b8 sw zero, 0x164(fp)            |         *(var_164h) = 0;
    0x004033bc sw zero, 0x168(fp)            |         *(var_168h) = 0;
    0x004033c0 sw zero, 0x16c(fp)            |         *(var_16ch) = 0;
    0x004033c4 sw zero, 0x170(fp)            |         *(var_170h) = 0;
    0x004033c8 sw zero, 0x174(fp)            |         *(var_174h) = 0;
    0x004033cc sw zero, 0x178(fp)            |         *(var_178h) = 0;
    0x004033d0 lw v0, 0x20(fp)               |         v0 = *(var_20h);
                                             |         if (v0 != 0) {
    0x004033d4 beqz v0, 0x4034cc             |             
    0x004033d8 nop                           |             
    0x004033dc lw v0, 0x50(fp)               |             v0 = *(var_50h);
    0x004033e0 lw v0, 0x10(v0)               |             v0 = *((v0 + 4));
    0x004033e4 addiu v1, fp, 0x15c           |             v1 = fp + 0x15c;
    0x004033e8 move a0, v1                   |             a0 = v1;
    0x004033ec addiu a1, zero, 0x20          |             a1 = 0x20;
    0x004033f0 lui v1, 0x42                  |             v1 = 0x420000;
                                             |             /* esilref: '&s' */
    0x004033f4 addiu a2, v1, -0x5618         |             a2 = 0x41a9e8;
    0x004033f8 move a3, v0                   |             a3 = v0;
    0x004033fc jal 0x41cff0                  |             fcn_0041cff0 ();
    0x00403400 nop                           |             
    0x00403404 addiu v0, fp, 0xdc            |             v0 = fp + 0xdc;
    0x00403408 lb v0, (v0)                   |             v0 = *(v0);
                                             |             if (v0 != 0) {
    0x0040340c beqz v0, 0x403470             |                 
    0x00403410 nop                           |                 
    0x00403414 addiu v0, fp, 0xdc            |                 v0 = fp + 0xdc;
    0x00403418 move a0, v0                   |                 a0 = v0;
    0x0040341c jal 0x41d460                  |                 fcn_0041d460 ();
    0x00403420 nop                           |                 
    0x00403424 addiu v1, fp, 0xdc            |                 v1 = fp + 0xdc;
    0x00403428 addu s0, v1, v0               |                 s0 = v1 + v0;
    0x0040342c addiu v0, fp, 0xdc            |                 v0 = fp + 0xdc;
    0x00403430 move a0, v0                   |                 a0 = v0;
    0x00403434 jal 0x41d460                  |                 fcn_0041d460 ();
    0x00403438 nop                           |                 
    0x0040343c addiu v1, zero, 0x80          |                 v1 = 0x80;
    0x00403440 subu v1, v1, v0               |                 __asm ("subu v1, v1, v0");
    0x00403444 lw v0, 0x50(fp)               |                 v0 = *(var_50h);
    0x00403448 lw v0, 0x10(v0)               |                 v0 = *((v0 + 4));
    0x0040344c move a0, s0                   |                 a0 = s0;
    0x00403450 move a1, v1                   |                 a1 = v1;
    0x00403454 lui v1, 0x42                  |                 v1 = 0x420000;
                                             |                 /* str.___P11_:_execute_ts_:__s_ */
    0x00403458 addiu a2, v1, -0x5614         |                 a2 = " ,\"P11\":{\"execute_ts\":\"%s\"}";
    0x0040345c move a3, v0                   |                 a3 = v0;
    0x00403460 jal 0x41cff0                  |                 fcn_0041cff0 ();
    0x00403464 nop                           |                 
    0x00403468 b 0x4036d4                    |                 goto label_2;
    0x0040346c nop                           |                 
                                             |             }
    0x00403470 addiu v0, fp, 0xdc            |             v0 = fp + 0xdc;
    0x00403474 move a0, v0                   |             a0 = v0;
    0x00403478 jal 0x41d460                  |             fcn_0041d460 ();
    0x0040347c nop                           |             
    0x00403480 addiu v1, fp, 0xdc            |             v1 = fp + 0xdc;
    0x00403484 addu s0, v1, v0               |             s0 = v1 + v0;
    0x00403488 addiu v0, fp, 0xdc            |             v0 = fp + 0xdc;
    0x0040348c move a0, v0                   |             a0 = v0;
    0x00403490 jal 0x41d460                  |             fcn_0041d460 ();
    0x00403494 nop                           |             
    0x00403498 addiu v1, zero, 0x80          |             v1 = 0x80;
    0x0040349c subu v1, v1, v0               |             __asm ("subu v1, v1, v0");
    0x004034a0 lw v0, 0x50(fp)               |             v0 = *(var_50h);
    0x004034a4 lw v0, 0x10(v0)               |             v0 = *((v0 + 4));
    0x004034a8 move a0, s0                   |             a0 = s0;
    0x004034ac move a1, v1                   |             a1 = v1;
    0x004034b0 lui v1, 0x42                  |             v1 = 0x420000;
                                             |             /* str._P11_:_execute_ts_:__s_ */
    0x004034b4 addiu a2, v1, -0x55f8         |             a2 = "\"P11\":{\"execute_ts\":\"%s\"}";
    0x004034b8 move a3, v0                   |             a3 = v0;
    0x004034bc jal 0x41cff0                  |             fcn_0041cff0 ();
    0x004034c0 nop                           |             
    0x004034c4 b 0x4036d4                    |             goto label_2;
    0x004034c8 nop                           |             
                                             |         }
    0x004034cc lw v0, 0x24(fp)               |         v0 = *(var_24h);
                                             |         if (v0 != 0) {
    0x004034d0 beqz v0, 0x4035c8             |             
    0x004034d4 nop                           |             
    0x004034d8 lw v0, 0x4c(fp)               |             v0 = *(var_4ch);
    0x004034dc lw v0, 0x10(v0)               |             v0 = *((v0 + 4));
    0x004034e0 addiu v1, fp, 0x15c           |             v1 = fp + 0x15c;
    0x004034e4 move a0, v1                   |             a0 = v1;
    0x004034e8 addiu a1, zero, 0x20          |             a1 = 0x20;
    0x004034ec lui v1, 0x42                  |             v1 = 0x420000;
                                             |             /* esilref: '&s' */
    0x004034f0 addiu a2, v1, -0x5618         |             a2 = 0x41a9e8;
    0x004034f4 move a3, v0                   |             a3 = v0;
    0x004034f8 jal 0x41cff0                  |             fcn_0041cff0 ();
    0x004034fc nop                           |             
    0x00403500 addiu v0, fp, 0xdc            |             v0 = fp + 0xdc;
    0x00403504 lb v0, (v0)                   |             v0 = *(v0);
                                             |             if (v0 != 0) {
    0x00403508 beqz v0, 0x40356c             |                 
    0x0040350c nop                           |                 
    0x00403510 addiu v0, fp, 0xdc            |                 v0 = fp + 0xdc;
    0x00403514 move a0, v0                   |                 a0 = v0;
    0x00403518 jal 0x41d460                  |                 fcn_0041d460 ();
    0x0040351c nop                           |                 
    0x00403520 addiu v1, fp, 0xdc            |                 v1 = fp + 0xdc;
    0x00403524 addu s0, v1, v0               |                 s0 = v1 + v0;
    0x00403528 addiu v0, fp, 0xdc            |                 v0 = fp + 0xdc;
    0x0040352c move a0, v0                   |                 a0 = v0;
    0x00403530 jal 0x41d460                  |                 fcn_0041d460 ();
    0x00403534 nop                           |                 
    0x00403538 addiu v1, zero, 0x80          |                 v1 = 0x80;
    0x0040353c subu v1, v1, v0               |                 __asm ("subu v1, v1, v0");
    0x00403540 lw v0, 0x4c(fp)               |                 v0 = *(var_4ch);
    0x00403544 lw v0, 0x10(v0)               |                 v0 = *((v0 + 4));
    0x00403548 move a0, s0                   |                 a0 = s0;
    0x0040354c move a1, v1                   |                 a1 = v1;
    0x00403550 lui v1, 0x42                  |                 v1 = 0x420000;
                                             |                 /* str.___P11_:_offset_:__s_ */
    0x00403554 addiu a2, v1, -0x55dc         |                 a2 = " ,\"P11\":{\"offset\":\"%s\"}";
    0x00403558 move a3, v0                   |                 a3 = v0;
    0x0040355c jal 0x41cff0                  |                 fcn_0041cff0 ();
    0x00403560 nop                           |                 
    0x00403564 b 0x4036d4                    |                 goto label_2;
    0x00403568 nop                           |                 
                                             |             }
    0x0040356c addiu v0, fp, 0xdc            |             v0 = fp + 0xdc;
    0x00403570 move a0, v0                   |             a0 = v0;
    0x00403574 jal 0x41d460                  |             fcn_0041d460 ();
    0x00403578 nop                           |             
    0x0040357c addiu v1, fp, 0xdc            |             v1 = fp + 0xdc;
    0x00403580 addu s0, v1, v0               |             s0 = v1 + v0;
    0x00403584 addiu v0, fp, 0xdc            |             v0 = fp + 0xdc;
    0x00403588 move a0, v0                   |             a0 = v0;
    0x0040358c jal 0x41d460                  |             fcn_0041d460 ();
    0x00403590 nop                           |             
    0x00403594 addiu v1, zero, 0x80          |             v1 = 0x80;
    0x00403598 subu v1, v1, v0               |             __asm ("subu v1, v1, v0");
    0x0040359c lw v0, 0x4c(fp)               |             v0 = *(var_4ch);
    0x004035a0 lw v0, 0x10(v0)               |             v0 = *((v0 + 4));
    0x004035a4 move a0, s0                   |             a0 = s0;
    0x004035a8 move a1, v1                   |             a1 = v1;
    0x004035ac lui v1, 0x42                  |             v1 = 0x420000;
                                             |             /* str._P11_:_offset_:__s_ */
    0x004035b0 addiu a2, v1, -0x55c4         |             a2 = "\"P11\":{\"offset\":\"%s\"}";
    0x004035b4 move a3, v0                   |             a3 = v0;
    0x004035b8 jal 0x41cff0                  |             fcn_0041cff0 ();
    0x004035bc nop                           |             
    0x004035c0 b 0x4036d4                    |             goto label_2;
    0x004035c4 nop                           |             
                                             |         }
    0x004035c8 lw v0, 0x50(fp)               |         v0 = *(var_50h);
    0x004035cc lw v0, 0x10(v0)               |         v0 = *((v0 + 4));
    0x004035d0 lw v1, 0x4c(fp)               |         v1 = *(var_4ch);
    0x004035d4 lw a0, 0x10(v1)               |         a0 = *((v1 + 4));
    0x004035d8 addiu v1, fp, 0x15c           |         v1 = fp + 0x15c;
    0x004035dc sw a0, 0x10(sp)               |         *(var_10h) = a0;
    0x004035e0 move a0, v1                   |         a0 = v1;
    0x004035e4 addiu a1, zero, 0x20          |         a1 = 0x20;
    0x004035e8 lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* esilref: '&s&s' */
    0x004035ec addiu a2, v1, -0x55ac         |         a2 = "%s%s";
    0x004035f0 move a3, v0                   |         a3 = v0;
    0x004035f4 jal 0x41cff0                  |         fcn_0041cff0 ();
    0x004035f8 nop                           |         
    0x004035fc addiu v0, fp, 0xdc            |         v0 = fp + 0xdc;
    0x00403600 lb v0, (v0)                   |         v0 = *(v0);
                                             |         if (v0 != 0) {
    0x00403604 beqz v0, 0x403674             |             
    0x00403608 nop                           |             
    0x0040360c addiu v0, fp, 0xdc            |             v0 = fp + 0xdc;
    0x00403610 move a0, v0                   |             a0 = v0;
    0x00403614 jal 0x41d460                  |             fcn_0041d460 ();
    0x00403618 nop                           |             
    0x0040361c addiu v1, fp, 0xdc            |             v1 = fp + 0xdc;
    0x00403620 addu s0, v1, v0               |             s0 = v1 + v0;
    0x00403624 addiu v0, fp, 0xdc            |             v0 = fp + 0xdc;
    0x00403628 move a0, v0                   |             a0 = v0;
    0x0040362c jal 0x41d460                  |             fcn_0041d460 ();
    0x00403630 nop                           |             
    0x00403634 addiu v1, zero, 0x80          |             v1 = 0x80;
    0x00403638 subu v1, v1, v0               |             __asm ("subu v1, v1, v0");
    0x0040363c lw v0, 0x4c(fp)               |             v0 = *(var_4ch);
    0x00403640 lw v0, 0x10(v0)               |             v0 = *((v0 + 4));
    0x00403644 lw a0, 0x50(fp)               |             a0 = *(var_50h);
    0x00403648 lw a0, 0x10(a0)               |             a0 = *((a0 + 4));
    0x0040364c sw a0, 0x10(sp)               |             *(var_10h) = a0;
    0x00403650 move a0, s0                   |             a0 = s0;
    0x00403654 move a1, v1                   |             a1 = v1;
    0x00403658 lui v1, 0x42                  |             v1 = 0x420000;
                                             |             /* str.___P11_:_offset_:__s___execute_ts_:__s_ */
    0x0040365c addiu a2, v1, -0x55a4         |             a2 = " ,\"P11\":{\"offset\":\"%s\",\"execute_ts\":\"%s\"}";
    0x00403660 move a3, v0                   |             a3 = v0;
    0x00403664 jal 0x41cff0                  |             fcn_0041cff0 ();
    0x00403668 nop                           |             
    0x0040366c b 0x4036d4                    |             goto label_2;
    0x00403670 nop                           |             
                                             |         }
    0x00403674 addiu v0, fp, 0xdc            |         v0 = fp + 0xdc;
    0x00403678 move a0, v0                   |         a0 = v0;
    0x0040367c jal 0x41d460                  |         fcn_0041d460 ();
    0x00403680 nop                           |         
    0x00403684 addiu v1, fp, 0xdc            |         v1 = fp + 0xdc;
    0x00403688 addu s0, v1, v0               |         s0 = v1 + v0;
    0x0040368c addiu v0, fp, 0xdc            |         v0 = fp + 0xdc;
    0x00403690 move a0, v0                   |         a0 = v0;
    0x00403694 jal 0x41d460                  |         fcn_0041d460 ();
    0x00403698 nop                           |         
    0x0040369c addiu v1, zero, 0x80          |         v1 = 0x80;
    0x004036a0 subu v1, v1, v0               |         __asm ("subu v1, v1, v0");
    0x004036a4 lw v0, 0x4c(fp)               |         v0 = *(var_4ch);
    0x004036a8 lw v0, 0x10(v0)               |         v0 = *((v0 + 4));
    0x004036ac lw a0, 0x50(fp)               |         a0 = *(var_50h);
    0x004036b0 lw a0, 0x10(a0)               |         a0 = *((a0 + 4));
    0x004036b4 sw a0, 0x10(sp)               |         *(var_10h) = a0;
    0x004036b8 move a0, s0                   |         a0 = s0;
    0x004036bc move a1, v1                   |         a1 = v1;
    0x004036c0 lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* str._P11_:_offset_:__s___execute_ts_:__s_ */
    0x004036c4 addiu a2, v1, -0x5578         |         a2 = "\"P11\":{\"offset\":\"%s\",\"execute_ts\":\"%s\"}";
    0x004036c8 move a3, v0                   |         a3 = v0;
    0x004036cc jal 0x41cff0                  |         fcn_0041cff0 ();
    0x004036d0 nop                           |         
                                             | label_2:
    0x004036d4 addiu v0, fp, 0x15c           |         v0 = fp + 0x15c;
    0x004036d8 lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* str.e_0_31m_send_IOT_BACK_CMD_ADJUST_TIMEZONE1111___s_e_0_39m_n */
    0x004036dc addiu a0, v1, -0x5550         |         a0 = "\e[0 send IOT_BACK_CMD_ADJUST_TIMEZONE1111  %s \e[0\n";
    0x004036e0 move a1, v0                   |         a1 = v0;
    0x004036e4 jal 0x41cfc0                  |         fcn_0041cfc0 ();
    0x004036e8 nop                           |         
    0x004036ec addiu v0, fp, 0x15c           |         v0 = fp + 0x15c;
    0x004036f0 lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* str.send_IOT_BACK_CMD_ADJUST_TIMEZONE1111___s_n */
    0x004036f4 addiu a0, v1, -0x5514         |         a0 = "send IOT_BACK_CMD_ADJUST_TIMEZONE1111  %s\n";
    0x004036f8 move a1, v0                   |         a1 = v0;
    0x004036fc jal 0x405dbc                  |         sym_log_printf ()
    0x00403700 nop                           |         
    0x00403704 addiu v0, fp, 0x15c           |         v0 = fp + 0x15c;
    0x00403708 addiu a0, zero, 0x4e0         |         a0 = 0x4e0;
    0x0040370c move a1, v0                   |         a1 = v0;
    0x00403710 jal 0x402004                  |         sym_send_command_s2m ();
    0x00403714 nop                           |         
                                             |     }
    0x00403718 lw a0, 0x38(fp)               |     a0 = *(var_38h);
    0x0040371c lui v0, 0x42                  |     v0 = 0x420000;
                                             |     /* esilref: 'duration' */
    0x00403720 addiu a1, v0, -0x54e8         |     a1 = "duration";
    0x00403724 jal 0x416d98                  |     sym_cJSON_GetObjectItem ();
    0x00403728 nop                           |     
    0x0040372c sw v0, 0x44(fp)               |     *(var_44h) = v0;
    0x00403730 lw v0, 0x44(fp)               |     v0 = *(var_44h);
                                             |     if (v0 != 0) {
    0x00403734 beqz v0, 0x4039a0             |         
    0x00403738 nop                           |         
    0x0040373c sw zero, 0x54(fp)             |         *(var_54h) = 0;
    0x00403740 sw zero, 0x58(fp)             |         *(var_58h) = 0;
    0x00403744 sw zero, 0x28(fp)             |         *(var_28h) = 0;
    0x00403748 sw zero, 0x2c(fp)             |         *(var_2ch) = 0;
    0x0040374c lw a0, 0x44(fp)               |         a0 = *(var_44h);
    0x00403750 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.alarm_video */
    0x00403754 addiu a1, v0, -0x54dc         |         a1 = "alarm_video";
    0x00403758 jal 0x416d98                  |         sym_cJSON_GetObjectItem ();
    0x0040375c nop                           |         
    0x00403760 sw v0, 0x54(fp)               |         *(var_54h) = v0;
    0x00403764 lw v0, 0x54(fp)               |         v0 = *(var_54h);
                                             |         if (v0 == 0) {
    0x00403768 bnez v0, 0x403798             |             
    0x0040376c nop                           |             
    0x00403770 lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str.json_duration_do_not_have_json_alarm_video_111_ */
    0x00403774 addiu a0, v0, -0x54d0         |             a0 = "json_duration do not have json_alarm_video 111 ";
    0x00403778 jal 0x41d0d0                  |             fcn_0041d0d0 ();
    0x0040377c nop                           |             
    0x00403780 lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str.json_duration_do_not_have_json_alarm_video_111__n */
    0x00403784 addiu a0, v0, -0x54a0         |             a0 = "json_duration do not have json_alarm_video 111 \n";
    0x00403788 jal 0x405dbc                  |             sym_log_printf ()
    0x0040378c nop                           |             
    0x00403790 addiu v0, zero, 1             |             v0 = 1;
    0x00403794 sw v0, 0x28(fp)               |             *(var_28h) = v0;
                                             |         }
    0x00403798 lw a0, 0x44(fp)               |         a0 = *(var_44h);
    0x0040379c lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.silent */
    0x004037a0 addiu a1, v0, -0x546c         |         a1 = "silent";
    0x004037a4 jal 0x416d98                  |         sym_cJSON_GetObjectItem ();
    0x004037a8 nop                           |         
    0x004037ac sw v0, 0x58(fp)               |         *(var_58h) = v0;
    0x004037b0 lw v0, 0x58(fp)               |         v0 = *(var_58h);
                                             |         if (v0 == 0) {
    0x004037b4 bnez v0, 0x4037e4             |             
    0x004037b8 nop                           |             
    0x004037bc lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str.json_duration_do_not_have_json_silent_222_ */
    0x004037c0 addiu a0, v0, -0x5464         |             a0 = "json_duration do not have json_silent 222 ";
    0x004037c4 jal 0x41d0d0                  |             fcn_0041d0d0 ();
    0x004037c8 nop                           |             
    0x004037cc lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str.json_duration_do_not_have_json_silent_222__n */
    0x004037d0 addiu a0, v0, -0x5438         |             a0 = "json_duration do not have json_silent 222 \n";
    0x004037d4 jal 0x405dbc                  |             sym_log_printf ()
    0x004037d8 nop                           |             
    0x004037dc addiu v0, zero, 1             |             v0 = 1;
    0x004037e0 sw v0, 0x2c(fp)               |             *(var_2ch) = v0;
                                             |         }
    0x004037e4 lw v0, 0x28(fp)               |         v0 = *(var_28h);
                                             |         if (v0 == 0) {
    0x004037e8 bnez v0, 0x4037fc             |             
    0x004037ec nop                           |             
    0x004037f0 lw v0, 0x2c(fp)               |             v0 = *(var_2ch);
                                             |             if (v0 == 0) {
    0x004037f4 beqz v0, 0x403830             |                 goto label_3;
                                             |             }
    0x004037f8 nop                           |             
                                             |         }
    0x004037fc lw a0, 0x30(fp)               |         a0 = *(var_30h);
    0x00403800 jal 0x412f20                  |         sym_cJSON_Delete ();
    0x00403804 nop                           |         
    0x00403808 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.json_duration_dont_have_json_alarm_video_or_json_silent_return_333 */
    0x0040380c addiu a0, v0, -0x540c         |         a0 = "json_duration dont have json_alarm_video or json_silent return 333";
    0x00403810 jal 0x41d0d0                  |         fcn_0041d0d0 ();
    0x00403814 nop                           |         
    0x00403818 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.json_duration_dont_have_json_alarm_video_or_json_silent_return_333_n */
    0x0040381c addiu a0, v0, -0x53c8         |         a0 = "json_duration dont have json_alarm_video or json_silent return 333\n";
    0x00403820 jal 0x405dbc                  |         sym_log_printf ()
    0x00403824 nop                           |         
    0x00403828 b 0x403a14                    |         goto label_0;
    0x0040382c nop                           |         
                                             | label_3:
    0x00403830 sw zero, 0x15c(fp)            |         *(var_15ch) = 0;
    0x00403834 sw zero, 0x160(fp)            |         *(var_160h) = 0;
    0x00403838 sw zero, 0x164(fp)            |         *(var_164h) = 0;
    0x0040383c sw zero, 0x168(fp)            |         *(var_168h) = 0;
    0x00403840 sw zero, 0x16c(fp)            |         *(var_16ch) = 0;
    0x00403844 sw zero, 0x170(fp)            |         *(var_170h) = 0;
    0x00403848 sw zero, 0x174(fp)            |         *(var_174h) = 0;
    0x0040384c sw zero, 0x178(fp)            |         *(var_178h) = 0;
    0x00403850 lw v0, 0x54(fp)               |         v0 = *(var_54h);
    0x00403854 lw v0, 0x10(v0)               |         v0 = *((v0 + 4));
    0x00403858 lw v1, 0x58(fp)               |         v1 = *(var_58h);
    0x0040385c lw a0, 0x10(v1)               |         a0 = *((v1 + 4));
    0x00403860 addiu v1, fp, 0x15c           |         v1 = fp + 0x15c;
    0x00403864 sw a0, 0x10(sp)               |         *(var_10h) = a0;
    0x00403868 move a0, v1                   |         a0 = v1;
    0x0040386c addiu a1, zero, 0x20          |         a1 = 0x20;
    0x00403870 lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* str.alarm:_s_silent:_s */
    0x00403874 addiu a2, v1, -0x5384         |         a2 = "alarm:%s,silent:%s";
    0x00403878 move a3, v0                   |         a3 = v0;
    0x0040387c jal 0x41cff0                  |         fcn_0041cff0 ();
    0x00403880 nop                           |         
    0x00403884 addiu v0, fp, 0xdc            |         v0 = fp + 0xdc;
    0x00403888 lb v0, (v0)                   |         v0 = *(v0);
                                             |         if (v0 != 0) {
    0x0040388c beqz v0, 0x4038fc             |             
    0x00403890 nop                           |             
    0x00403894 addiu v0, fp, 0xdc            |             v0 = fp + 0xdc;
    0x00403898 move a0, v0                   |             a0 = v0;
    0x0040389c jal 0x41d460                  |             fcn_0041d460 ();
    0x004038a0 nop                           |             
    0x004038a4 addiu v1, fp, 0xdc            |             v1 = fp + 0xdc;
    0x004038a8 addu s0, v1, v0               |             s0 = v1 + v0;
    0x004038ac addiu v0, fp, 0xdc            |             v0 = fp + 0xdc;
    0x004038b0 move a0, v0                   |             a0 = v0;
    0x004038b4 jal 0x41d460                  |             fcn_0041d460 ();
    0x004038b8 nop                           |             
    0x004038bc addiu v1, zero, 0x80          |             v1 = 0x80;
    0x004038c0 subu v1, v1, v0               |             __asm ("subu v1, v1, v0");
    0x004038c4 lw v0, 0x54(fp)               |             v0 = *(var_54h);
    0x004038c8 lw v0, 0x10(v0)               |             v0 = *((v0 + 4));
    0x004038cc lw a0, 0x58(fp)               |             a0 = *(var_58h);
    0x004038d0 lw a0, 0x10(a0)               |             a0 = *((a0 + 4));
    0x004038d4 sw a0, 0x10(sp)               |             *(var_10h) = a0;
    0x004038d8 move a0, s0                   |             a0 = s0;
    0x004038dc move a1, v1                   |             a1 = v1;
    0x004038e0 lui v1, 0x42                  |             v1 = 0x420000;
                                             |             /* str.___duration_:_alarm_video_:__s___silent_:__s_ */
    0x004038e4 addiu a2, v1, -0x5370         |             a2 = " ,\"duration\":{\"alarm_video\":\"%s\",\"silent\":\"%s\"}";
    0x004038e8 move a3, v0                   |             a3 = v0;
    0x004038ec jal 0x41cff0                  |             fcn_0041cff0 ();
    0x004038f0 nop                           |             
    0x004038f4 b 0x40395c                    |             goto label_4;
    0x004038f8 nop                           |             
                                             |         }
    0x004038fc addiu v0, fp, 0xdc            |         v0 = fp + 0xdc;
    0x00403900 move a0, v0                   |         a0 = v0;
    0x00403904 jal 0x41d460                  |         fcn_0041d460 ();
    0x00403908 nop                           |         
    0x0040390c addiu v1, fp, 0xdc            |         v1 = fp + 0xdc;
    0x00403910 addu s0, v1, v0               |         s0 = v1 + v0;
    0x00403914 addiu v0, fp, 0xdc            |         v0 = fp + 0xdc;
    0x00403918 move a0, v0                   |         a0 = v0;
    0x0040391c jal 0x41d460                  |         fcn_0041d460 ();
    0x00403920 nop                           |         
    0x00403924 addiu v1, zero, 0x80          |         v1 = 0x80;
    0x00403928 subu v1, v1, v0               |         __asm ("subu v1, v1, v0");
    0x0040392c lw v0, 0x54(fp)               |         v0 = *(var_54h);
    0x00403930 lw v0, 0x10(v0)               |         v0 = *((v0 + 4));
    0x00403934 lw a0, 0x58(fp)               |         a0 = *(var_58h);
    0x00403938 lw a0, 0x10(a0)               |         a0 = *((a0 + 4));
    0x0040393c sw a0, 0x10(sp)               |         *(var_10h) = a0;
    0x00403940 move a0, s0                   |         a0 = s0;
    0x00403944 move a1, v1                   |         a1 = v1;
    0x00403948 lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* str._duration_:_alarm_video_:__s___silent_:__s_ */
    0x0040394c addiu a2, v1, -0x5340         |         a2 = "\"duration\":{\"alarm_video\":\"%s\",\"silent\":\"%s\"}";
    0x00403950 move a3, v0                   |         a3 = v0;
    0x00403954 jal 0x41cff0                  |         fcn_0041cff0 ();
    0x00403958 nop                           |         
                                             | label_4:
    0x0040395c addiu v0, fp, 0x15c           |         v0 = fp + 0x15c;
    0x00403960 addiu a0, zero, 0x4e8         |         a0 = 0x4e8;
    0x00403964 move a1, v0                   |         a1 = v0;
    0x00403968 jal 0x402004                  |         sym_send_command_s2m ();
    0x0040396c nop                           |         
    0x00403970 addiu v0, fp, 0x15c           |         v0 = fp + 0x15c;
    0x00403974 lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* str.e_0_31m_Pay_For_Time___s__e_0_39m__r_n */
    0x00403978 addiu a0, v1, -0x5310         |         a0 = "\e[0= Pay For Time (%s) =\e[0 \r\n";
    0x0040397c move a1, v0                   |         a1 = v0;
    0x00403980 jal 0x41cfc0                  |         fcn_0041cfc0 ();
    0x00403984 nop                           |         
    0x00403988 addiu v0, fp, 0x15c           |         v0 = fp + 0x15c;
    0x0040398c lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* str.send_IOT_BACK_CMD_ADJUST_PayForTime___s_n */
    0x00403990 addiu a0, v1, -0x52e8         |         a0 = "send IOT_BACK_CMD_ADJUST_PayForTime  %s\n";
    0x00403994 move a1, v0                   |         a1 = v0;
    0x00403998 jal 0x405dbc                  |         sym_log_printf ()
    0x0040399c nop                           |         
                                             |     }
    0x004039a0 addiu v1, fp, 0x5c            |     v1 = fp + 0x5c;
    0x004039a4 addiu v0, fp, 0xdc            |     v0 = fp + 0xdc;
    0x004039a8 move a0, v1                   |     a0 = v1;
    0x004039ac addiu a1, zero, 0x80          |     a1 = 0x80;
    0x004039b0 lui v1, 0x42                  |     v1 = 0x420000;
                                             |     /* str._state_:_reported_:_s__desired_:null */
    0x004039b4 addiu a2, v1, -0x52bc         |     a2 = "{\"state\":{\"reported\":{%s},\"desired\":null}}";
    0x004039b8 move a3, v0                   |     a3 = v0;
    0x004039bc jal 0x41cff0                  |     fcn_0041cff0 ();
    0x004039c0 nop                           |     
    0x004039c4 addiu v0, fp, 0x5c            |     v0 = fp + 0x5c;
    0x004039c8 lui v1, 0x42                  |     v1 = 0x420000;
                                             |     /* str.Ack_send__s_n */
    0x004039cc addiu a0, v1, -0x513c         |     a0 = "Ack send %s\n";
    0x004039d0 move a1, v0                   |     a1 = v0;
    0x004039d4 jal 0x41cfc0                  |     fcn_0041cfc0 ();
    0x004039d8 nop                           |     
    0x004039dc addiu v0, fp, 0x5c            |     v0 = fp + 0x5c;
    0x004039e0 lui v1, 0x42                  |     v1 = 0x420000;
                                             |     /* str.Ack_send__s_n */
    0x004039e4 addiu a0, v1, -0x513c         |     a0 = "Ack send %s\n";
    0x004039e8 move a1, v0                   |     a1 = v0;
    0x004039ec jal 0x405dbc                  |     sym_log_printf ()
    0x004039f0 nop                           |     
    0x004039f4 addiu v0, fp, 0x5c            |     v0 = fp + 0x5c;
    0x004039f8 lw a0, 0x190(fp)              |     a0 = *(arg_190h);
    0x004039fc move a1, v0                   |     a1 = v0;
    0x00403a00 jal 0x4062dc                  |     sym_report_shadow_handler ();
    0x00403a04 nop                           |     
    0x00403a08 lw a0, 0x30(fp)               |     a0 = *(var_30h);
    0x00403a0c jal 0x412f20                  |     sym_cJSON_Delete ();
    0x00403a10 nop                           |     
                                             | label_0:
    0x00403a14 move sp, fp                   |     
    0x00403a18 lw ra, 0x18c(sp)              |     ra = *(var_18ch);
    0x00403a1c lw fp, 0x188(sp)              |     fp = *(var_188h);
    0x00403a20 lw s0, 0x184(sp)              |     s0 = *(var_184h);
    0x00403a24 addiu sp, sp, 0x190           |     
    0x00403a28 jr ra                         |     return v0;
    0x00403a2c nop                           |     
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/hl_client @ 0x41a328 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.insert_msg_to_resend_list ()         | void insert_msg_to_resend_list () {
    0x0041a328 addiu sp, sp, -0x30                   |     
    0x0041a32c sw ra, 0x2c(sp)                       |     *(var_2ch) = ra;
    0x0041a330 sw fp, 0x28(sp)                       |     *(var_28h) = fp;
    0x0041a334 move fp, sp                           |     fp = sp;
    0x0041a338 sw a0, 0x30(fp)                       |     *(arg_30h) = a0;
    0x0041a33c sw a1, 0x34(fp)                       |     *(arg_34h) = a1;
    0x0041a340 sw a2, 0x38(fp)                       |     *(arg_38h) = a2;
    0x0041a344 sw a3, 0x3c(fp)                       |     *(arg_3ch) = a3;
    0x0041a348 lw v0, 0x30(fp)                       |     v0 = *(arg_30h);
                                                     |     if (v0 == 0) {
    0x0041a34c beqz v0, 0x41a4fc                     |         goto label_0;
                                                     |     }
    0x0041a350 nop                                   |     
    0x0041a354 lw v0, 0x34(fp)                       |     v0 = *(arg_34h);
                                                     |     if (v0 == 0) {
    0x0041a358 beqz v0, 0x41a4fc                     |         goto label_0;
                                                     |     }
    0x0041a35c nop                                   |     
    0x0041a360 lw v0, 0x3c(fp)                       |     v0 = *(arg_3ch);
                                                     |     if (v0 == 0) {
    0x0041a364 beqz v0, 0x41a4fc                     |         goto label_0;
                                                     |     }
    0x0041a368 nop                                   |     
    0x0041a36c sw zero, 0x20(fp)                     |     *(var_20h) = 0;
    0x0041a370 lw v0, 0x30(fp)                       |     v0 = *(arg_30h);
    0x0041a374 lw v0, 4(v0)                          |     v0 = *((v0 + 1));
    0x0041a378 sw v0, 0x18(fp)                       |     *(var_18h) = v0;
    0x0041a37c sw zero, 0x1c(fp)                     |     *(var_1ch) = 0;
    0x0041a380 addiu a0, zero, 0x484                 |     a0 = 0x484;
    0x0041a384 jal 0x41d0f0                          |     sym_imp_malloc ();
    0x0041a388 nop                                   |     
    0x0041a38c sw v0, 0x20(fp)                       |     *(var_20h) = v0;
    0x0041a390 lw v0, 0x20(fp)                       |     v0 = *(var_20h);
                                                     |     if (v0 == 0) {
    0x0041a394 bnez v0, 0x41a3d4                     |         
    0x0041a398 nop                                   |         
    0x0041a39c lui v0, 0x42                          |         v0 = 0x420000;
                                                     |         /* str._IOT___s__malloc_failed_n */
    0x0041a3a0 addiu a0, v0, -0x3160                 |         a0 = "[IOT][%s] malloc failed\n";
    0x0041a3a4 lui v0, 0x42                          |         v0 = 0x420000;
                                                     |         /* obj.__func__.3630 */
    0x0041a3a8 addiu a1, v0, -0x3124                 |         a1 = "insert_msg_to_resend_list";
    0x0041a3ac jal 0x41cfc0                          |         fcn_0041cfc0 ();
    0x0041a3b0 nop                                   |         
    0x0041a3b4 lui v0, 0x42                          |         v0 = 0x420000;
                                                     |         /* str._IOT___s__malloc_failed_n */
    0x0041a3b8 addiu a0, v0, -0x3160                 |         a0 = "[IOT][%s] malloc failed\n";
    0x0041a3bc lui v0, 0x42                          |         v0 = 0x420000;
                                                     |         /* obj.__func__.3630 */
    0x0041a3c0 addiu a1, v0, -0x3124                 |         a1 = "insert_msg_to_resend_list";
    0x0041a3c4 jal 0x405dbc                          |         sym_log_printf ()
    0x0041a3c8 nop                                   |         
    0x0041a3cc b 0x41a500                            |         goto label_1;
    0x0041a3d0 nop                                   |         
                                                     |     }
    0x0041a3d4 lw a0, 0x20(fp)                       |     a0 = *(var_20h);
    0x0041a3d8 move a1, zero                         |     a1 = 0;
    0x0041a3dc addiu a2, zero, 0x484                 |     a2 = 0x484;
    0x0041a3e0 jal 0x41d300                          |     fcn_0041d300 ();
    0x0041a3e4 nop                                   |     
    0x0041a3e8 lw v0, 0x20(fp)                       |     v0 = *(var_20h);
    0x0041a3ec sw zero, (v0)                         |     *(v0) = 0;
    0x0041a3f0 lw v0, 0x20(fp)                       |     v0 = *(var_20h);
    0x0041a3f4 addiu v1, v0, 4                       |     v1 = v0 + 4;
    0x0041a3f8 lw v0, 0x38(fp)                       |     v0 = *(arg_38h);
    0x0041a3fc move a0, v1                           |     a0 = v1;
    0x0041a400 lw a1, 0x34(fp)                       |     a1 = *(arg_34h);
    0x0041a404 move a2, v0                           |     a2 = v0;
    0x0041a408 jal 0x41d270                          |     fcn_0041d270 ();
    0x0041a40c nop                                   |     
    0x0041a410 lw v0, 0x20(fp)                       |     v0 = *(var_20h);
    0x0041a414 addiu v1, v0, 0x84                    |     v1 = v0 + 0x84;
    0x0041a418 lw v0, 0x40(fp)                       |     v0 = *(arg_40h);
    0x0041a41c move a0, v1                           |     a0 = v1;
    0x0041a420 lw a1, 0x3c(fp)                       |     a1 = *(arg_3ch);
    0x0041a424 move a2, v0                           |     a2 = v0;
    0x0041a428 jal 0x41d270                          |     fcn_0041d270 ();
    0x0041a42c nop                                   |     
    0x0041a430 lw v0, 0x20(fp)                       |     v0 = *(var_20h);
    0x0041a434 addiu v1, v0, 4                       |     v1 = v0 + 4;
    0x0041a438 lw v0, 0x20(fp)                       |     v0 = *(var_20h);
    0x0041a43c addiu v0, v0, 0x84                    |     v0 += 0x84;
    0x0041a440 lui a0, 0x42                          |     a0 = "new_data topic is %s,msg is %s\n";
                                                     |     /* str.new_data_topic_is__s_msg_is__s_n */
    0x0041a444 addiu a0, a0, -0x3144                 |     
    0x0041a448 move a1, v1                           |     a1 = v1;
    0x0041a44c move a2, v0                           |     a2 = v0;
    0x0041a450 jal 0x41cfc0                          |     fcn_0041cfc0 ();
    0x0041a454 nop                                   |     
    0x0041a458 lw v0, 0x20(fp)                       |     v0 = *(var_20h);
    0x0041a45c addiu v1, v0, 4                       |     v1 = v0 + 4;
    0x0041a460 lw v0, 0x20(fp)                       |     v0 = *(var_20h);
    0x0041a464 addiu v0, v0, 0x84                    |     v0 += 0x84;
    0x0041a468 lui a0, 0x42                          |     a0 = "new_data topic is %s,msg is %s\n";
                                                     |     /* str.new_data_topic_is__s_msg_is__s_n */
    0x0041a46c addiu a0, a0, -0x3144                 |     
    0x0041a470 move a1, v1                           |     a1 = v1;
    0x0041a474 move a2, v0                           |     a2 = v0;
    0x0041a478 jal 0x405dbc                          |     sym_log_printf ()
    0x0041a47c nop                                   |     
    0x0041a480 lw v0, 0x18(fp)                       |     v0 = *(var_18h);
                                                     |     if (v0 != 0) {
    0x0041a484 bnez v0, 0x41a4c8                     |         goto label_2;
                                                     |     }
    0x0041a488 nop                                   |     
    0x0041a48c lw v0, 0x30(fp)                       |     v0 = *(arg_30h);
    0x0041a490 lw v1, 0x20(fp)                       |     v1 = *(var_20h);
    0x0041a494 sw v1, 4(v0)                          |     *((v0 + 1)) = v1;
    0x0041a498 lw v0, 0x30(fp)                       |     v0 = *(arg_30h);
    0x0041a49c lw v0, (v0)                           |     v0 = *(v0);
    0x0041a4a0 addiu v1, v0, 1                       |     v1 = v0 + 1;
    0x0041a4a4 lw v0, 0x30(fp)                       |     v0 = *(arg_30h);
    0x0041a4a8 sw v1, (v0)                           |     *(v0) = v1;
    0x0041a4ac b 0x41a500                            |     goto label_1;
    0x0041a4b0 nop                                   |     
                                                     |     do {
    0x0041a4b4 lw v0, 0x18(fp)                       |         v0 = *(var_18h);
    0x0041a4b8 sw v0, 0x1c(fp)                       |         *(var_1ch) = v0;
    0x0041a4bc lw v0, 0x18(fp)                       |         v0 = *(var_18h);
    0x0041a4c0 lw v0, (v0)                           |         v0 = *(v0);
    0x0041a4c4 sw v0, 0x18(fp)                       |         *(var_18h) = v0;
                                                     | label_2:
    0x0041a4c8 lw v0, 0x18(fp)                       |         v0 = *(var_18h);
    0x0041a4cc bnez v0, 0x41a4b4                     |         
                                                     |     } while (v0 != 0);
    0x0041a4d0 nop                                   |     
    0x0041a4d4 lw v0, 0x1c(fp)                       |     v0 = *(var_1ch);
    0x0041a4d8 lw v1, 0x20(fp)                       |     v1 = *(var_20h);
    0x0041a4dc sw v1, (v0)                           |     *(v0) = v1;
    0x0041a4e0 lw v0, 0x30(fp)                       |     v0 = *(arg_30h);
    0x0041a4e4 lw v0, (v0)                           |     v0 = *(v0);
    0x0041a4e8 addiu v1, v0, 1                       |     v1 = v0 + 1;
    0x0041a4ec lw v0, 0x30(fp)                       |     v0 = *(arg_30h);
    0x0041a4f0 sw v1, (v0)                           |     *(v0) = v1;
    0x0041a4f4 b 0x41a500                            |     goto label_1;
    0x0041a4f8 nop                                   |     
                                                     | label_0:
    0x0041a4fc nop                                   |     
                                                     | label_1:
    0x0041a500 move sp, fp                           |     
    0x0041a504 lw ra, 0x2c(sp)                       |     ra = *(var_2ch);
    0x0041a508 lw fp, 0x28(sp)                       |     fp = *(var_28h);
    0x0041a50c addiu sp, sp, 0x30                    |     
    0x0041a510 jr ra                                 |     return v1;
    0x0041a514 nop                                   |     
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/hl_client @ 0x403a30 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.msgarrv ()                   | void msgarrv () {
    0x00403a30 addiu sp, sp, -0x8e0          |     
    0x00403a34 sw ra, 0x8dc(sp)              |     *(var_8dch) = ra;
    0x00403a38 sw fp, 0x8d8(sp)              |     *(var_8d8h) = fp;
    0x00403a3c move fp, sp                   |     fp = sp;
    0x00403a40 sw a0, 0x8e0(fp)              |     *(arg_8e0h) = a0;
    0x00403a44 sw a1, 0x8e4(fp)              |     *(arg_8e4h) = a1;
    0x00403a48 move v0, a2                   |     v0 = a2;
    0x00403a4c sw a3, 0x8ec(fp)              |     *(arg_8ech) = a3;
    0x00403a50 sh v0, 0x8e8(fp)              |     *(arg_8e8h) = v0;
    0x00403a54 move a0, zero                 |     a0 = 0;
    0x00403a58 jal 0x41d320                  |     fcn_0041d320 ();
    0x00403a5c nop                           |     
    0x00403a60 move a1, v0                   |     a1 = v0;
    0x00403a64 lw v0, 0x8ec(fp)              |     v0 = *(arg_8ech);
    0x00403a68 lbu v0, 5(v0)                 |     v0 = *((v0 + 5));
    0x00403a6c move v1, v0                   |     v1 = v0;
    0x00403a70 lw v0, 0x8ec(fp)              |     v0 = *(arg_8ech);
    0x00403a74 lhu v0, 6(v0)                 |     v0 = *((v0 + 3));
    0x00403a78 lui a0, 0x42                  |     a0 = "time[%ld],msgarrved,isDup is %d\xef\xbc\x8cqueue id is %d\n";
                                             |     /* str.time__ld__msgarrved_isDup_is__dqueue_id_is__d_n */
    0x00403a7c addiu a0, a0, -0x512c         |     
    0x00403a80 move a2, v1                   |     a2 = v1;
    0x00403a84 move a3, v0                   |     a3 = v0;
    0x00403a88 jal 0x41cfc0                  |     fcn_0041cfc0 ();
    0x00403a8c nop                           |     
    0x00403a90 addiu v0, zero, -1            |     v0 = -1;
    0x00403a94 sw v0, 0x24(fp)               |     *(var_24h) = v0;
    0x00403a98 sw zero, 0x28(fp)             |     *(var_28h) = 0;
    0x00403a9c sw zero, 0x2c(fp)             |     *(var_2ch) = 0;
    0x00403aa0 sw zero, 0x30(fp)             |     *(var_30h) = 0;
    0x00403aa4 sw zero, 0x34(fp)             |     *(var_34h) = 0;
    0x00403aa8 sw zero, 0xc0(fp)             |     *(var_c0h) = 0;
    0x00403aac sb zero, 0xc4(fp)             |     *(var_c4h) = 0;
    0x00403ab0 sw zero, 0x38(fp)             |     *(var_38h) = 0;
    0x00403ab4 sw zero, 0xc8(fp)             |     *(var_c8h) = 0;
    0x00403ab8 addiu v1, fp, 0xcc            |     v1 = fp + 0xcc;
    0x00403abc addiu v0, zero, 0x400         |     v0 = 0x400;
    0x00403ac0 move a0, v1                   |     a0 = v1;
    0x00403ac4 move a1, zero                 |     a1 = 0;
    0x00403ac8 move a2, v0                   |     a2 = v0;
    0x00403acc jal 0x41d300                  |     fcn_0041d300 ();
    0x00403ad0 nop                           |     
    0x00403ad4 addiu v0, fp, 0x4d4           |     v0 = fp + 0x4d4;
    0x00403ad8 move a0, v0                   |     a0 = v0;
    0x00403adc move a1, zero                 |     a1 = 0;
    0x00403ae0 addiu a2, zero, 0x400         |     a2 = 0x400;
    0x00403ae4 jal 0x41d300                  |     fcn_0041d300 ();
    0x00403ae8 nop                           |     
    0x00403aec addiu v0, fp, 0x4d4           |     v0 = fp + 0x4d4;
    0x00403af0 sw v0, 0x3c(fp)               |     *(var_3ch) = v0;
    0x00403af4 sw zero, 0x20(fp)             |     *(var_20h) = 0;
    0x00403af8 sw zero, 0x40(fp)             |     *(var_40h) = 0;
    0x00403afc sw zero, 0x44(fp)             |     *(var_44h) = 0;
    0x00403b00 sw zero, 0x48(fp)             |     *(var_48h) = 0;
    0x00403b04 sw zero, 0x4c(fp)             |     *(var_4ch) = 0;
    0x00403b08 sw zero, 0x50(fp)             |     *(var_50h) = 0;
    0x00403b0c sw zero, 0x54(fp)             |     *(var_54h) = 0;
    0x00403b10 sb zero, 0x58(fp)             |     *(var_58h) = 0;
    0x00403b14 sh zero, 0x5a(fp)             |     *(var_5ah) = 0;
    0x00403b18 lui v0, 0x42                  |     v0 = 0x420000;
                                             |     /* str.Message_arrived_topicName___s__n */
    0x00403b1c addiu a0, v0, -0x50f8         |     a0 = "Message arrived[topicName = %s]\n";
    0x00403b20 lw a1, 0x8e4(fp)              |     a1 = *(arg_8e4h);
    0x00403b24 jal 0x41cfc0                  |     fcn_0041cfc0 ();
    0x00403b28 nop                           |     
    0x00403b2c addiu v0, fp, 0x4cc           |     v0 = fp + 0x4cc;
    0x00403b30 move a0, v0                   |     a0 = v0;
    0x00403b34 move a1, zero                 |     a1 = 0;
    0x00403b38 jal 0x41d2e0                  |     fcn_0041d2e0 ();
    0x00403b3c nop                           |     
    0x00403b40 lw v0, 0x8ec(fp)              |     v0 = *(arg_8ech);
    0x00403b44 lw a0, 8(v0)                  |     a0 = *((v0 + 2));
    0x00403b48 lw v0, 0x8ec(fp)              |     v0 = *(arg_8ech);
    0x00403b4c lw v1, 0xc(v0)                |     v1 = *((v0 + 3));
    0x00403b50 addiu v0, fp, 0xc8            |     v0 = fp + 0xc8;
    0x00403b54 move a1, v1                   |     a1 = v1;
    0x00403b58 lui v1, 0x43                  |     v1 = 0x430000;
                                             |     /* obj.g_enrR */
    0x00403b5c addiu a2, v1, -0xc30          |     a2 = g_enrR;
    0x00403b60 move a3, v0                   |     a3 = v0;
    0x00403b64 jal 0x419314                  |     sym_xxtea_decrypt ();
    0x00403b68 nop                           |     
    0x00403b6c sw v0, 0x38(fp)               |     *(var_38h) = v0;
    0x00403b70 lw v0, 0x38(fp)               |     v0 = *(var_38h);
                                             |     if (v0 == 0) {
    0x00403b74 bnez v0, 0x403bbc             |         
    0x00403b78 nop                           |         
    0x00403b7c lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.error_1__r */
    0x00403b80 addiu a0, v0, -0x50d4         |         a0 = "========error 1 ==========\r";
    0x00403b84 jal 0x41d0d0                  |         fcn_0041d0d0 ();
    0x00403b88 nop                           |         
    0x00403b8c move a0, zero                 |         a0 = 0;
    0x00403b90 jal 0x41d320                  |         fcn_0041d320 ();
    0x00403b94 nop                           |         
    0x00403b98 lui v1, 0x42                  |         v1 = 0x420000;
                                             |         /* str._IOT__time__ld__message_arrivedxxtea_decrypt_failedg_enrR_is__s_n */
    0x00403b9c addiu a0, v1, -0x50b8         |         a0 = "[IOT] time[%ld] message arrived\xef\xbc\x8cxxtea decrypt failed\xef\xbc\x8cg_enrR is %s\n";
    0x00403ba0 move a1, v0                   |         a1 = v0;
    0x00403ba4 lui v0, 0x43                  |         v0 = 0x430000;
                                             |         /* obj.g_enrR */
    0x00403ba8 addiu a2, v0, -0xc30          |         a2 = g_enrR;
    0x00403bac jal 0x405dbc                  |         sym_log_printf ()
    0x00403bb0 nop                           |         
    0x00403bb4 b 0x4044a4                    |         goto label_0;
    0x00403bb8 nop                           |         
                                             |     }
    0x00403bbc lui v0, 0x42                  |     v0 = 0x420000;
                                             |     /* str.message_arrived:__s_n */
    0x00403bc0 addiu a0, v0, -0x5070         |     a0 = "message arrived: %s\n";
    0x00403bc4 lw a1, 0x38(fp)               |     a1 = *(var_38h);
    0x00403bc8 jal 0x41cfc0                  |     fcn_0041cfc0 ();
    0x00403bcc nop                           |     
    0x00403bd0 move a0, zero                 |     a0 = 0;
    0x00403bd4 jal 0x41d320                  |     fcn_0041d320 ();
    0x00403bd8 nop                           |     
    0x00403bdc lui v1, 0x42                  |     v1 = 0x420000;
                                             |     /* str._IOT__time__ld__message_arrived:__s_n */
    0x00403be0 addiu a0, v1, -0x5058         |     a0 = "[IOT] time[%ld] message arrived: %s\n";
    0x00403be4 move a1, v0                   |     a1 = v0;
    0x00403be8 lw a2, 0x38(fp)               |     a2 = *(var_38h);
    0x00403bec jal 0x405dbc                  |     sym_log_printf ()
    0x00403bf0 nop                           |     
    0x00403bf4 lw a0, 0x38(fp)               |     a0 = *(var_38h);
    0x00403bf8 jal 0x414e34                  |     sym_cJSON_Parse ();
    0x00403bfc nop                           |     
    0x00403c00 sw v0, 0x20(fp)               |     *(var_20h) = v0;
    0x00403c04 lw v0, 0x20(fp)               |     v0 = *(var_20h);
                                             |     if (v0 == 0) {
    0x00403c08 bnez v0, 0x403c28             |         
    0x00403c0c nop                           |         
    0x00403c10 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.get_json_error_____ */
    0x00403c14 addiu a0, v0, -0x577c         |         a0 = "get json error!!!!!";
    0x00403c18 jal 0x41d0d0                  |         fcn_0041d0d0 ();
    0x00403c1c nop                           |         
    0x00403c20 b 0x4044a4                    |         goto label_0;
    0x00403c24 nop                           |         
                                             |     }
    0x00403c28 lw a0, 0x20(fp)               |     a0 = *(var_20h);
    0x00403c2c lui v0, 0x42                  |     v0 = 0x420000;
                                             |     /* str.action */
    0x00403c30 addiu a1, v0, -0x5030         |     a1 = "action";
    0x00403c34 jal 0x416d98                  |     sym_cJSON_GetObjectItem ();
    0x00403c38 nop                           |     
    0x00403c3c sw v0, 0x40(fp)               |     *(var_40h) = v0;
    0x00403c40 lw v0, 0x40(fp)               |     v0 = *(var_40h);
                                             |     if (v0 == 0) {
    0x00403c44 bnez v0, 0x403c64             |         
    0x00403c48 nop                           |         
    0x00403c4c lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.get_json_action_error_____ */
    0x00403c50 addiu a0, v0, -0x5028         |         a0 = "get json_action error!!!!!";
    0x00403c54 jal 0x41d0d0                  |         fcn_0041d0d0 ();
    0x00403c58 nop                           |         
    0x00403c5c b 0x4044a4                    |         goto label_0;
    0x00403c60 nop                           |         
                                             |     }
    0x00403c64 lw a0, 0x20(fp)               |     a0 = *(var_20h);
    0x00403c68 lui v0, 0x42                  |     v0 = 0x420000;
                                             |     /* str.params */
    0x00403c6c addiu a1, v0, -0x500c         |     a1 = "params";
    0x00403c70 jal 0x416d98                  |     sym_cJSON_GetObjectItem ();
    0x00403c74 nop                           |     
    0x00403c78 sw v0, 0x44(fp)               |     *(var_44h) = v0;
    0x00403c7c lw v0, 0x44(fp)               |     v0 = *(var_44h);
                                             |     if (v0 == 0) {
    0x00403c80 bnez v0, 0x403ca0             |         
    0x00403c84 nop                           |         
    0x00403c88 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.get_json_params_error_____ */
    0x00403c8c addiu a0, v0, -0x5004         |         a0 = "get json_params error!!!!!";
    0x00403c90 jal 0x41d0d0                  |         fcn_0041d0d0 ();
    0x00403c94 nop                           |         
    0x00403c98 b 0x4044a4                    |         goto label_0;
    0x00403c9c nop                           |         
                                             |     }
    0x00403ca0 lw a0, 0x20(fp)               |     a0 = *(var_20h);
    0x00403ca4 lui v0, 0x42                  |     v0 = 0x420000;
                                             |     /* str.guid */
    0x00403ca8 addiu a1, v0, -0x4fe8         |     a1 = "guid";
    0x00403cac jal 0x416d98                  |     sym_cJSON_GetObjectItem ();
    0x00403cb0 nop                           |     
    0x00403cb4 sw v0, 0x48(fp)               |     *(var_48h) = v0;
    0x00403cb8 lw v0, 0x48(fp)               |     v0 = *(var_48h);
                                             |     if (v0 == 0) {
    0x00403cbc bnez v0, 0x403cdc             |         
    0x00403cc0 nop                           |         
    0x00403cc4 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.get_json_guid_error_____ */
    0x00403cc8 addiu a0, v0, -0x4fe0         |         a0 = "get json_guid error!!!!!";
    0x00403ccc jal 0x41d0d0                  |         fcn_0041d0d0 ();
    0x00403cd0 nop                           |         
    0x00403cd4 b 0x4044a4                    |         goto label_0;
    0x00403cd8 nop                           |         
                                             |     }
    0x00403cdc lui v0, 0x43                  |     v0 = 0x430000;
    0x00403ce0 lw v1, -0x1e2c(v0)            |     v1 = *((v0 - 1931));
    0x00403ce4 lw v0, 0x48(fp)               |     v0 = *(var_48h);
    0x00403ce8 lw v0, 0x10(v0)               |     v0 = *((v0 + 4));
    0x00403cec move a0, v1                   |     a0 = v1;
    0x00403cf0 move a1, v0                   |     a1 = v0;
    0x00403cf4 addiu a2, zero, 0x20          |     a2 = 0x20;
    0x00403cf8 jal 0x419fe0                  |     sym_is_resend_action_func ();
    0x00403cfc nop                           |     
    0x00403d00 sw v0, 0x28(fp)               |     *(var_28h) = v0;
    0x00403d04 lw v1, 0x28(fp)               |     v1 = *(var_28h);
    0x00403d08 addiu v0, zero, -1            |     v0 = -1;
                                             |     if (v1 == v0) {
    0x00403d0c bne v1, v0, 0x403d3c          |         
    0x00403d10 nop                           |         
    0x00403d14 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.same_guid_same_guid_dont_care */
    0x00403d18 addiu a0, v0, -0x4fc4         |         a0 = "same guid same guid,don't care";
    0x00403d1c jal 0x41d0d0                  |         fcn_0041d0d0 ();
    0x00403d20 nop                           |         
    0x00403d24 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str._IOT_same_guid_same_guid_dont_care_n */
    0x00403d28 addiu a0, v0, -0x4fa4         |         a0 = "[IOT]same guid same guid,don't care\n";
    0x00403d2c jal 0x405dbc                  |         sym_log_printf ()
    0x00403d30 nop                           |         
    0x00403d34 b 0x4044d4                    |         goto label_1;
    0x00403d38 nop                           |         
                                             |     }
    0x00403d3c lw v0, 0x40(fp)               |     v0 = *(var_40h);
    0x00403d40 lw v0, 0x10(v0)               |     v0 = *((v0 + 4));
    0x00403d44 move a0, v0                   |     a0 = v0;
    0x00403d48 jal 0x401b78                  |     sym_parse_action ();
    0x00403d4c nop                           |     
    0x00403d50 sw v0, 0x34(fp)               |     *(var_34h) = v0;
    0x00403d54 lw v0, 0x3c(fp)               |     v0 = *(var_3ch);
    0x00403d58 lw v1, 0x34(fp)               |     v1 = *(var_34h);
    0x00403d5c swl v1, 7(v0)                 |     __asm ("swl v1, 7(v0)");
    0x00403d60 swr v1, 4(v0)                 |     __asm ("swr v1, 4(v0)");
    0x00403d64 lw v0, 0x3c(fp)               |     v0 = *(var_3ch);
    0x00403d68 lwl v1, 7(v0)                 |     __asm ("lwl v1, 7(v0)");
    0x00403d6c move a0, v1                   |     a0 = v1;
    0x00403d70 lwr a0, 4(v0)                 |     __asm ("lwr a0, 4(v0)");
    0x00403d74 move v0, a0                   |     v0 = a0;
    0x00403d78 lui v1, 0x42                  |     v1 = 0x420000;
                                             |     /* str.pMsg__cmd___d_ */
    0x00403d7c addiu a0, v1, -0x4f7c         |     a0 = "pMsg->cmd = %d ";
    0x00403d80 move a1, v0                   |     a1 = v0;
    0x00403d84 jal 0x41cfc0                  |     fcn_0041cfc0 ();
    0x00403d88 nop                           |     
    0x00403d8c lw v0, 0x3c(fp)               |     v0 = *(var_3ch);
    0x00403d90 lwl v1, 7(v0)                 |     __asm ("lwl v1, 7(v0)");
    0x00403d94 move a1, v1                   |     a1 = v1;
    0x00403d98 lwr a1, 4(v0)                 |     __asm ("lwr a1, 4(v0)");
    0x00403d9c move v0, a1                   |     v0 = a1;
    0x00403da0 lui v1, 0x42                  |     v1 = 0x420000;
                                             |     /* str._IOT_pMsg__cmd___d_ */
    0x00403da4 addiu a0, v1, -0x4f6c         |     a0 = "[IOT]pMsg->cmd = %d ";
    0x00403da8 move a1, v0                   |     a1 = v0;
    0x00403dac jal 0x405dbc                  |     sym_log_printf ()
    0x00403db0 nop                           |     
    0x00403db4 lui v0, 0x43                  |     v0 = 0x430000;
    0x00403db8 lw v1, -0x1de0(v0)            |     v1 = *((v0 - 1912));
    0x00403dbc addiu v0, zero, 2             |     v0 = 2;
                                             |     if (v1 == v0) {
    0x00403dc0 bne v1, v0, 0x403e2c          |         
    0x00403dc4 nop                           |         
    0x00403dc8 lw v1, 0x34(fp)               |         v1 = *(var_34h);
    0x00403dcc addiu v0, zero, 0x4cf         |         v0 = 0x4cf;
                                             |         if (v1 == v0) {
    0x00403dd0 beq v1, v0, 0x403e2c          |             goto label_2;
                                             |         }
    0x00403dd4 nop                           |         
    0x00403dd8 lw v0, 0x48(fp)               |         v0 = *(var_48h);
    0x00403ddc lw a2, 0x10(v0)               |         a2 = *((v0 + 4));
    0x00403de0 lw v1, 0x4cc(fp)              |         v1 = *(var_4cch);
    0x00403de4 lw v0, 0x4d0(fp)              |         v0 = *(var_4d0h);
    0x00403de8 lui a0, 0x1062                |         a0 = 0x10624dd3;
    0x00403dec ori a0, a0, 0x4dd3            |         
    0x00403df0 mult v0, a0                   |         __asm ("mult v0, a0");
    0x00403df4 mfhi a0                       |         __asm ("mfhi a0");
    0x00403df8 sra a0, a0, 6                 |         a0 >>= 6;
    0x00403dfc sra v0, v0, 0x1f              |         v0 >>= 0x1f;
    0x00403e00 subu a0, a0, v0               |         __asm ("subu a0, a0, v0");
    0x00403e04 addiu v0, fp, 0x5c            |         v0 = fp + 0x5c;
    0x00403e08 sw a0, 0x10(sp)               |         *(var_10h) = a0;
    0x00403e0c move a0, v0                   |         a0 = v0;
    0x00403e10 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str._guid_:__s____ts_:__d_d____result_:_2_ */
    0x00403e14 addiu a1, v0, -0x4f54         |         a1 = "{\"guid\":\"%s\", \"ts\":\"%d%d\", \"result\":\"2\"}";
    0x00403e18 move a3, v1                   |         a3 = v1;
    0x00403e1c jal 0x41d370                  |         fcn_0041d370 ();
    0x00403e20 nop                           |         
    0x00403e24 b 0x403e78                    |         goto label_3;
    0x00403e28 nop                           |         
                                             |     }
                                             | label_2:
    0x00403e2c lw v0, 0x48(fp)               |     v0 = *(var_48h);
    0x00403e30 lw a2, 0x10(v0)               |     a2 = *((v0 + 4));
    0x00403e34 lw v1, 0x4cc(fp)              |     v1 = *(var_4cch);
    0x00403e38 lw v0, 0x4d0(fp)              |     v0 = *(var_4d0h);
    0x00403e3c lui a0, 0x1062                |     a0 = 0x10624dd3;
    0x00403e40 ori a0, a0, 0x4dd3            |     
    0x00403e44 mult v0, a0                   |     __asm ("mult v0, a0");
    0x00403e48 mfhi a0                       |     __asm ("mfhi a0");
    0x00403e4c sra a0, a0, 6                 |     a0 >>= 6;
    0x00403e50 sra v0, v0, 0x1f              |     v0 >>= 0x1f;
    0x00403e54 subu a0, a0, v0               |     __asm ("subu a0, a0, v0");
    0x00403e58 addiu v0, fp, 0x5c            |     v0 = fp + 0x5c;
    0x00403e5c sw a0, 0x10(sp)               |     *(var_10h) = a0;
    0x00403e60 move a0, v0                   |     a0 = v0;
    0x00403e64 lui v0, 0x42                  |     v0 = 0x420000;
                                             |     /* str._guid_:__s____ts_:__d_d____result_:_1_ */
    0x00403e68 addiu a1, v0, -0x4f28         |     a1 = "{\"guid\":\"%s\", \"ts\":\"%d%d\", \"result\":\"1\"}";
    0x00403e6c move a3, v1                   |     a3 = v1;
    0x00403e70 jal 0x41d370                  |     fcn_0041d370 ();
    0x00403e74 nop                           |     
                                             | label_3:
    0x00403e78 addiu v0, fp, 0x5c            |     v0 = fp + 0x5c;
    0x00403e7c lui v1, 0x42                  |     v1 = 0x420000;
                                             |     /* str.SEND_MQTT_ACK:__s__n */
    0x00403e80 addiu a0, v1, -0x4efc         |     a0 = "SEND MQTT ACK:[%s]\n";
    0x00403e84 move a1, v0                   |     a1 = v0;
    0x00403e88 jal 0x41cfc0                  |     fcn_0041cfc0 ();
    0x00403e8c nop                           |     
    0x00403e90 addiu v0, fp, 0x5c            |     v0 = fp + 0x5c;
    0x00403e94 lui v1, 0x42                  |     v1 = 0x420000;
                                             |     /* str._IOT_SEND_MQTT_ACK:__s__n */
    0x00403e98 addiu a0, v1, -0x4ee8         |     a0 = "[IOT]SEND MQTT ACK:[%s]\n";
    0x00403e9c move a1, v0                   |     a1 = v0;
    0x00403ea0 jal 0x405dbc                  |     sym_log_printf ()
    0x00403ea4 nop                           |     
    0x00403ea8 lui v0, 0x43                  |     v0 = 0x430000;
                                             |     /* obj.g_pubTopic_send */
    0x00403eac addiu a0, v0, -0xc18          |     a0 = g_pubTopic_send;
    0x00403eb0 jal 0x41d460                  |     fcn_0041d460 ();
    0x00403eb4 nop                           |     
    0x00403eb8 andi v0, v0, 0xffff           |     v0 &= 0xffff;
    0x00403ebc move v1, v0                   |     v1 = v0;
    0x00403ec0 addiu v0, fp, 0x5c            |     v0 = fp + 0x5c;
    0x00403ec4 lw a0, 0x8e0(fp)              |     a0 = *(arg_8e0h);
    0x00403ec8 lui a1, 0x43                  |     a1 = g_pubTopic_send;
                                             |     /* obj.g_pubTopic_send */
    0x00403ecc addiu a1, a1, -0xc18          |     
    0x00403ed0 move a2, v1                   |     a2 = v1;
    0x00403ed4 move a3, v0                   |     a3 = v0;
    0x00403ed8 jal 0x402598                  |     sym_msgsend ();
    0x00403edc nop                           |     
    0x00403ee0 sw v0, 0x24(fp)               |     *(var_24h) = v0;
    0x00403ee4 lw v0, 0x24(fp)               |     v0 = *(var_24h);
                                             |     if (v0 < 0) {
    0x00403ee8 bgez v0, 0x403f3c             |         
    0x00403eec nop                           |         
    0x00403ef0 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.MQTT_ACK_SEND_FAILED */
    0x00403ef4 addiu a0, v0, -0x4ecc         |         a0 = "MQTT ACK SEND FAILED";
    0x00403ef8 jal 0x41d0d0                  |         fcn_0041d0d0 ();
    0x00403efc nop                           |         
    0x00403f00 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str._IOT_MQTT_ACK_SEND_FAILED_n */
    0x00403f04 addiu a0, v0, -0x4eb4         |         a0 = "[IOT]MQTT ACK SEND FAILED\n";
    0x00403f08 jal 0x405dbc                  |         sym_log_printf ()
    0x00403f0c nop                           |         
    0x00403f10 lui v0, 0x43                  |         v0 = 0x430000;
    0x00403f14 lw v1, -0x1e2c(v0)            |         v1 = *((v0 - 1931));
    0x00403f18 lw v0, 0x48(fp)               |         v0 = *(var_48h);
    0x00403f1c lw v0, 0x10(v0)               |         v0 = *((v0 + 4));
    0x00403f20 move a0, v1                   |         a0 = v1;
    0x00403f24 move a1, v0                   |         a1 = v0;
    0x00403f28 addiu a2, zero, 0x20          |         a2 = 0x20;
    0x00403f2c jal 0x41a1e4                  |         sym_delete_guid_from_linklist ();
    0x00403f30 nop                           |         
    0x00403f34 b 0x4044a4                    |         goto label_0;
    0x00403f38 nop                           |         
                                             |     }
    0x00403f3c lui v0, 0x42                  |     v0 = 0x420000;
                                             |     /* str.MQTT_ACK_SEND_SUCCESS */
    0x00403f40 addiu a0, v0, -0x4e98         |     a0 = "MQTT ACK SEND SUCCESS";
    0x00403f44 jal 0x41d0d0                  |     fcn_0041d0d0 ();
    0x00403f48 nop                           |     
    0x00403f4c lui v0, 0x43                  |     v0 = 0x430000;
    0x00403f50 lw v1, -0x1de0(v0)            |     v1 = *((v0 - 1912));
    0x00403f54 addiu v0, zero, 2             |     v0 = 2;
                                             |     if (v1 == v0) {
    0x00403f58 bne v1, v0, 0x403f98          |         
    0x00403f5c nop                           |         
    0x00403f60 lw v1, 0x34(fp)               |         v1 = *(var_34h);
    0x00403f64 addiu v0, zero, 0x4cf         |         v0 = 0x4cf;
                                             |         if (v1 == v0) {
    0x00403f68 beq v1, v0, 0x403f98          |             goto label_4;
                                             |         }
    0x00403f6c nop                           |         
    0x00403f70 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.iot_power_off._cmd_failed */
    0x00403f74 addiu a0, v0, -0x4e80         |         a0 = "iot power off. cmd failed";
    0x00403f78 jal 0x41d0d0                  |         fcn_0041d0d0 ();
    0x00403f7c nop                           |         
    0x00403f80 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.iot_power_off._cmd_failed_n */
    0x00403f84 addiu a0, v0, -0x4e64         |         a0 = "iot power off. cmd failed\n";
    0x00403f88 jal 0x405dbc                  |         sym_log_printf ()
    0x00403f8c nop                           |         
    0x00403f90 b 0x4044a4                    |         goto label_0;
    0x00403f94 nop                           |         
                                             |     }
                                             | label_4:
    0x00403f98 lw v1, 0x34(fp)               |     v1 = *(var_34h);
    0x00403f9c addiu v0, zero, 0x4cf         |     v0 = 0x4cf;
                                             |     if (v1 == v0) {
    0x00403fa0 bne v1, v0, 0x403fb4          |         
    0x00403fa4 nop                           |         
    0x00403fa8 lui v0, 0x43                  |         v0 = 0x430000;
    0x00403fac addiu v1, zero, 1             |         v1 = 1;
    0x00403fb0 sw v1, -0x1de0(v0)            |         *((v0 - 1912)) = v1;
                                             |     }
    0x00403fb4 lw v1, 0x34(fp)               |     v1 = *(var_34h);
    0x00403fb8 addiu v0, zero, 0x4d0         |     v0 = 0x4d0;
                                             |     if (v1 == v0) {
    0x00403fbc bne v1, v0, 0x403fd0          |         
    0x00403fc0 nop                           |         
    0x00403fc4 lui v0, 0x43                  |         v0 = 0x430000;
    0x00403fc8 addiu v1, zero, 2             |         v1 = 2;
    0x00403fcc sw v1, -0x1de0(v0)            |         *((v0 - 1912)) = v1;
                                             |     }
    0x00403fd0 lw v0, 0x34(fp)               |     v0 = *(var_34h);
    0x00403fd4 addiu v1, zero, 0x4de         |     v1 = 0x4de;
                                             |     if (v0 != v1) {
    0x00403fd8 beq v0, v1, 0x404290          |         
    0x00403fdc nop                           |         
    0x00403fe0 slti v1, v0, 0x4df            |         v1 = (v0 < 0x4df) ? 1 : 0;
                                             |         if (v1 != 0) {
    0x00403fe4 beqz v1, 0x404044             |             
    0x00403fe8 nop                           |             
    0x00403fec addiu v1, zero, 0x4d4         |             v1 = 0x4d4;
                                             |             if (v0 == v1) {
    0x00403ff0 beq v0, v1, 0x404110          |                 goto label_5;
                                             |             }
    0x00403ff4 nop                           |             
    0x00403ff8 slti v1, v0, 0x4d5            |             v1 = (v0 < 0x4d5) ? 1 : 0;
                                             |             if (v1 != 0) {
    0x00403ffc beqz v1, 0x404024             |                 
    0x00404000 nop                           |                 
    0x00404004 addiu v1, zero, 0x4d1         |                 v1 = 0x4d1;
                                             |                 if (v0 == v1) {
    0x00404008 beq v0, v1, 0x4040a8          |                     goto label_6;
                                             |                 }
    0x0040400c nop                           |                 
    0x00404010 addiu v1, zero, 0x4d2         |                 v1 = 0x4d2;
                                             |                 if (v0 == v1) {
    0x00404014 beq v0, v1, 0x4040dc          |                     goto label_7;
                                             |                 }
    0x00404018 nop                           |                 
    0x0040401c b 0x40442c                    |                 goto label_8;
    0x00404020 nop                           |                 
                                             |             }
    0x00404024 addiu v1, zero, 0x4d7         |             v1 = 0x4d7;
                                             |             if (v0 == v1) {
    0x00404028 beq v0, v1, 0x404144          |                 goto label_9;
                                             |             }
    0x0040402c nop                           |             
    0x00404030 addiu v1, zero, 0x4dc         |             v1 = 0x4dc;
                                             |             if (v0 == v1) {
    0x00404034 beq v0, v1, 0x404184          |                 goto label_10;
                                             |             }
    0x00404038 nop                           |             
    0x0040403c b 0x40442c                    |             goto label_8;
    0x00404040 nop                           |             
                                             |         }
    0x00404044 addiu v1, zero, 0x70b         |         v1 = 0x70b;
                                             |         if (v0 != v1) {
    0x00404048 beq v0, v1, 0x404200          |             
    0x0040404c nop                           |             
    0x00404050 slti v1, v0, 0x70c            |             v1 = (v0 < 0x70c) ? 1 : 0;
                                             |             if (v1 != 0) {
    0x00404054 beqz v1, 0x40407c             |                 
    0x00404058 nop                           |                 
    0x0040405c addiu v1, zero, 0x4e7         |                 v1 = 0x4e7;
                                             |                 if (v0 == v1) {
    0x00404060 beq v0, v1, 0x404374          |                     goto label_11;
                                             |                 }
    0x00404064 nop                           |                 
    0x00404068 addiu v1, zero, 0x70a         |                 v1 = 0x70a;
                                             |                 if (v0 == v1) {
    0x0040406c beq v0, v1, 0x4041b8          |                     goto label_12;
                                             |                 }
    0x00404070 nop                           |                 
    0x00404074 b 0x40442c                    |                 goto label_8;
    0x00404078 nop                           |                 
                                             |             }
    0x0040407c addiu v1, zero, 0x710         |             v1 = 0x710;
                                             |             if (v0 == v1) {
    0x00404080 beq v0, v1, 0x4042c4          |                 goto label_13;
                                             |             }
    0x00404084 nop                           |             
    0x00404088 addiu v1, zero, 0x711         |             v1 = 0x711;
                                             |             if (v0 == v1) {
    0x0040408c beq v0, v1, 0x40430c          |                 goto label_14;
                                             |             }
    0x00404090 nop                           |             
    0x00404094 addiu v1, zero, 0x70c         |             v1 = 0x70c;
                                             |             if (v0 == v1) {
    0x00404098 beq v0, v1, 0x404248          |                 goto label_15;
                                             |             }
    0x0040409c nop                           |             
    0x004040a0 b 0x40442c                    |             goto label_8;
    0x004040a4 nop                           |             
                                             | label_6:
    0x004040a8 addiu v0, fp, 0xcc            |             v0 = fp + 0xcc;
    0x004040ac lw a0, 0x44(fp)               |             a0 = *(var_44h);
    0x004040b0 move a1, v0                   |             a1 = v0;
    0x004040b4 jal 0x419430                  |             sym_iot_get_log_handler ();
    0x004040b8 nop                           |             
    0x004040bc addiu v0, fp, 0xcc            |             v0 = fp + 0xcc;
    0x004040c0 addiu a0, zero, 0x4d1         |             a0 = 0x4d1;
    0x004040c4 move a1, v0                   |             a1 = v0;
    0x004040c8 jal 0x402004                  |             sym_send_command_s2m ();
    0x004040cc nop                           |             
    0x004040d0 sw v0, 0x28(fp)               |             *(var_28h) = v0;
    0x004040d4 b 0x4044a4                    |             goto label_0;
    0x004040d8 nop                           |             
                                             | label_7:
    0x004040dc addiu v0, fp, 0xcc            |             v0 = fp + 0xcc;
    0x004040e0 lw a0, 0x44(fp)               |             a0 = *(var_44h);
    0x004040e4 move a1, v0                   |             a1 = v0;
    0x004040e8 jal 0x41950c                  |             sym_iot_upgrade_handler ();
    0x004040ec nop                           |             
    0x004040f0 addiu v0, fp, 0xcc            |             v0 = fp + 0xcc;
    0x004040f4 addiu a0, zero, 0x4d2         |             a0 = 0x4d2;
    0x004040f8 move a1, v0                   |             a1 = v0;
    0x004040fc jal 0x402004                  |             sym_send_command_s2m ();
    0x00404100 nop                           |             
    0x00404104 sw v0, 0x28(fp)               |             *(var_28h) = v0;
    0x00404108 b 0x4044a4                    |             goto label_0;
    0x0040410c nop                           |             
                                             | label_5:
    0x00404110 addiu v0, fp, 0xcc            |             v0 = fp + 0xcc;
    0x00404114 lw a0, 0x44(fp)               |             a0 = *(var_44h);
    0x00404118 move a1, v0                   |             a1 = v0;
    0x0040411c jal 0x4196b8                  |             sym_iot_alarm_action ();
    0x00404120 nop                           |             
    0x00404124 addiu v0, fp, 0xcc            |             v0 = fp + 0xcc;
    0x00404128 addiu a0, zero, 0x4d4         |             a0 = 0x4d4;
    0x0040412c move a1, v0                   |             a1 = v0;
    0x00404130 jal 0x402004                  |             sym_send_command_s2m ();
    0x00404134 nop                           |             
    0x00404138 sw v0, 0x28(fp)               |             *(var_28h) = v0;
    0x0040413c b 0x4044a4                    |             goto label_0;
    0x00404140 nop                           |             
                                             | label_9:
    0x00404144 lw a0, 0x44(fp)               |             a0 = *(var_44h);
    0x00404148 jal 0x414eb8                  |             sym_cJSON_PrintUnformatted ();
    0x0040414c nop                           |             
    0x00404150 addiu v1, fp, 0xcc            |             v1 = fp + 0xcc;
    0x00404154 move a0, v1                   |             a0 = v1;
    0x00404158 move a1, v0                   |             a1 = v0;
    0x0040415c jal 0x41cfb0                  |             fcn_0041cfb0 ();
    0x00404160 nop                           |             
    0x00404164 addiu v0, fp, 0xcc            |             v0 = fp + 0xcc;
    0x00404168 addiu a0, zero, 0x4d7         |             a0 = 0x4d7;
    0x0040416c move a1, v0                   |             a1 = v0;
    0x00404170 jal 0x402004                  |             sym_send_command_s2m ();
    0x00404174 nop                           |             
    0x00404178 sw v0, 0x28(fp)               |             *(var_28h) = v0;
    0x0040417c b 0x4044a4                    |             goto label_0;
    0x00404180 nop                           |             
                                             | label_10:
    0x00404184 addiu v0, fp, 0xcc            |             v0 = fp + 0xcc;
    0x00404188 lw a0, 0x44(fp)               |             a0 = *(var_44h);
    0x0040418c move a1, v0                   |             a1 = v0;
    0x00404190 jal 0x4197bc                  |             sym_iot_rtmp_handler ();
    0x00404194 nop                           |             
    0x00404198 addiu v0, fp, 0xcc            |             v0 = fp + 0xcc;
    0x0040419c addiu a0, zero, 0x4dc         |             a0 = 0x4dc;
    0x004041a0 move a1, v0                   |             a1 = v0;
    0x004041a4 jal 0x402004                  |             sym_send_command_s2m ();
    0x004041a8 nop                           |             
    0x004041ac sw v0, 0x28(fp)               |             *(var_28h) = v0;
    0x004041b0 b 0x4044a4                    |             goto label_0;
    0x004041b4 nop                           |             
                                             | label_12:
    0x004041b8 addiu v0, fp, 0xcc            |             v0 = fp + 0xcc;
    0x004041bc lw a0, 0x44(fp)               |             a0 = *(var_44h);
    0x004041c0 move a1, v0                   |             a1 = v0;
    0x004041c4 jal 0x4198e8                  |             sym_iot_sensor_token_handler ();
    0x004041c8 nop                           |             
    0x004041cc addiu v0, fp, 0xcc            |             v0 = fp + 0xcc;
    0x004041d0 move a0, v0                   |             a0 = v0;
    0x004041d4 jal 0x41d460                  |             fcn_0041d460 ();
    0x004041d8 nop                           |             
    0x004041dc addiu v1, fp, 0xcc            |             v1 = fp + 0xcc;
    0x004041e0 addiu a0, zero, 0x70a         |             a0 = 0x70a;
    0x004041e4 move a1, v1                   |             a1 = v1;
    0x004041e8 move a2, v0                   |             a2 = v0;
    0x004041ec jal 0x402118                  |             sym_send_msg_to_dongle_cloud ();
    0x004041f0 nop                           |             
    0x004041f4 sw v0, 0x28(fp)               |             *(var_28h) = v0;
    0x004041f8 b 0x4044a4                    |             goto label_0;
    0x004041fc nop                           |             
                                             |         }
    0x00404200 addiu v0, fp, 0xcc            |         v0 = fp + 0xcc;
    0x00404204 lw a0, 0x44(fp)               |         a0 = *(var_44h);
    0x00404208 move a1, v0                   |         a1 = v0;
    0x0040420c jal 0x419a20                  |         sym_iot_delete_sensor_handler ();
    0x00404210 nop                           |         
    0x00404214 addiu v0, fp, 0xcc            |         v0 = fp + 0xcc;
    0x00404218 move a0, v0                   |         a0 = v0;
    0x0040421c jal 0x41d460                  |         fcn_0041d460 ();
    0x00404220 nop                           |         
    0x00404224 addiu v1, fp, 0xcc            |         v1 = fp + 0xcc;
    0x00404228 addiu a0, zero, 0x70b         |         a0 = 0x70b;
    0x0040422c move a1, v1                   |         a1 = v1;
    0x00404230 move a2, v0                   |         a2 = v0;
    0x00404234 jal 0x402118                  |         sym_send_msg_to_dongle_cloud ();
    0x00404238 nop                           |         
    0x0040423c sw v0, 0x28(fp)               |         *(var_28h) = v0;
    0x00404240 b 0x4044a4                    |         goto label_0;
    0x00404244 nop                           |         
                                             | label_15:
    0x00404248 addiu v0, fp, 0xcc            |         v0 = fp + 0xcc;
    0x0040424c lw a0, 0x44(fp)               |         a0 = *(var_44h);
    0x00404250 move a1, v0                   |         a1 = v0;
    0x00404254 jal 0x419ad4                  |         sym_iot_dongle_upgrade_handler ();
    0x00404258 nop                           |         
    0x0040425c addiu v0, fp, 0xcc            |         v0 = fp + 0xcc;
    0x00404260 move a0, v0                   |         a0 = v0;
    0x00404264 jal 0x41d460                  |         fcn_0041d460 ();
    0x00404268 nop                           |         
    0x0040426c addiu v1, fp, 0xcc            |         v1 = fp + 0xcc;
    0x00404270 addiu a0, zero, 0x70c         |         a0 = 0x70c;
    0x00404274 move a1, v1                   |         a1 = v1;
    0x00404278 move a2, v0                   |         a2 = v0;
    0x0040427c jal 0x402118                  |         sym_send_msg_to_dongle_cloud ();
    0x00404280 nop                           |         
    0x00404284 sw v0, 0x28(fp)               |         *(var_28h) = v0;
    0x00404288 b 0x4044a4                    |         goto label_0;
    0x0040428c nop                           |         
                                             |     }
    0x00404290 addiu v0, fp, 0xcc            |     v0 = fp + 0xcc;
    0x00404294 lw a0, 0x44(fp)               |     a0 = *(var_44h);
    0x00404298 move a1, v0                   |     a1 = v0;
    0x0040429c jal 0x419d10                  |     sym_iot_set_property_handler ();
    0x004042a0 nop                           |     
    0x004042a4 addiu v0, fp, 0xcc            |     v0 = fp + 0xcc;
    0x004042a8 addiu a0, zero, 0x4de         |     a0 = 0x4de;
    0x004042ac move a1, v0                   |     a1 = v0;
    0x004042b0 jal 0x402004                  |     sym_send_command_s2m ();
    0x004042b4 nop                           |     
    0x004042b8 sw v0, 0x28(fp)               |     *(var_28h) = v0;
    0x004042bc b 0x4044a4                    |     goto label_0;
    0x004042c0 nop                           |     
                                             | label_13:
    0x004042c4 addiu v0, fp, 0xcc            |     v0 = fp + 0xcc;
    0x004042c8 lw a0, 0x44(fp)               |     a0 = *(var_44h);
    0x004042cc move a1, v0                   |     a1 = v0;
    0x004042d0 jal 0x419e10                  |     sym_iot_set_sub_property_handler ();
    0x004042d4 nop                           |     
    0x004042d8 addiu v0, fp, 0xcc            |     v0 = fp + 0xcc;
    0x004042dc move a0, v0                   |     a0 = v0;
    0x004042e0 jal 0x41d460                  |     fcn_0041d460 ();
    0x004042e4 nop                           |     
    0x004042e8 addiu v1, fp, 0xcc            |     v1 = fp + 0xcc;
    0x004042ec addiu a0, zero, 0x710         |     a0 = 0x710;
    0x004042f0 move a1, v1                   |     a1 = v1;
    0x004042f4 move a2, v0                   |     a2 = v0;
    0x004042f8 jal 0x402118                  |     sym_send_msg_to_dongle_cloud ();
    0x004042fc nop                           |     
    0x00404300 sw v0, 0x28(fp)               |     *(var_28h) = v0;
    0x00404304 b 0x4044a4                    |     goto label_0;
    0x00404308 nop                           |     
                                             | label_14:
    0x0040430c addiu v0, fp, 0xcc            |     v0 = fp + 0xcc;
    0x00404310 lw a0, 0x44(fp)               |     a0 = *(var_44h);
    0x00404314 move a1, v0                   |     a1 = v0;
    0x00404318 jal 0x419f58                  |     sym_iot_bind_cancel_handler ();
    0x0040431c nop                           |     
    0x00404320 addiu v0, fp, 0xcc            |     v0 = fp + 0xcc;
    0x00404324 move a0, v0                   |     a0 = v0;
    0x00404328 lui v0, 0x42                  |     v0 = 0x420000;
                                             |     /* str.Sensor */
    0x0040432c addiu a1, v0, -0x4e48         |     a1 = "Sensor";
    0x00404330 jal 0x41d350                  |     fcn_0041d350 ();
    0x00404334 nop                           |     
                                             |     if (v0 == 0) {
    0x00404338 bnez v0, 0x404494             |         
    0x0040433c nop                           |         
    0x00404340 addiu v0, fp, 0xcc            |         v0 = fp + 0xcc;
    0x00404344 move a0, v0                   |         a0 = v0;
    0x00404348 jal 0x41d460                  |         fcn_0041d460 ();
    0x0040434c nop                           |         
    0x00404350 addiu v1, fp, 0xcc            |         v1 = fp + 0xcc;
    0x00404354 addiu a0, zero, 0x711         |         a0 = 0x711;
    0x00404358 move a1, v1                   |         a1 = v1;
    0x0040435c move a2, v0                   |         a2 = v0;
    0x00404360 jal 0x402118                  |         sym_send_msg_to_dongle_cloud ();
    0x00404364 nop                           |         
    0x00404368 sw v0, 0x28(fp)               |         *(var_28h) = v0;
    0x0040436c b 0x404494                    |         goto label_16;
    0x00404370 nop                           |         
                                             | label_11:
    0x00404374 lw a0, 0x44(fp)               |         a0 = *(var_44h);
    0x00404378 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.active */
    0x0040437c addiu a1, v0, -0x4e40         |         a1 = "active";
    0x00404380 jal 0x416d98                  |         sym_cJSON_GetObjectItem ();
    0x00404384 nop                           |         
    0x00404388 sw v0, 0x50(fp)               |         *(var_50h) = v0;
    0x0040438c lw a0, 0x44(fp)               |         a0 = *(var_44h);
    0x00404390 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str.angle */
    0x00404394 addiu a1, v0, -0x4e38         |         a1 = "angle";
    0x00404398 jal 0x416d98                  |         sym_cJSON_GetObjectItem ();
    0x0040439c nop                           |         
    0x004043a0 sw v0, 0x54(fp)               |         *(var_54h) = v0;
    0x004043a4 lw v0, 0x50(fp)               |         v0 = *(var_50h);
                                             |         if (v0 == 0) {
    0x004043a8 beqz v0, 0x4044a0             |             goto label_17;
                                             |         }
    0x004043ac nop                           |         
    0x004043b0 lw v0, 0x54(fp)               |         v0 = *(var_54h);
                                             |         if (v0 != 0) {
    0x004043b4 beqz v0, 0x4043f0             |             
    0x004043b8 nop                           |             
    0x004043bc lw v0, 0x50(fp)               |             v0 = *(var_50h);
    0x004043c0 lw v1, 0x10(v0)               |             v1 = *((v0 + 4));
    0x004043c4 lw v0, 0x54(fp)               |             v0 = *(var_54h);
    0x004043c8 lw v0, 0x10(v0)               |             v0 = *((v0 + 4));
    0x004043cc addiu a0, fp, 0xcc            |             a0 = fp + 0xcc;
    0x004043d0 lui a1, 0x42                  |             a1 = "%s|%s";
                                             |             /* str._s_s */
    0x004043d4 addiu a1, a1, -0x4e30         |             
    0x004043d8 move a2, v1                   |             a2 = v1;
    0x004043dc move a3, v0                   |             a3 = v0;
    0x004043e0 jal 0x41d370                  |             fcn_0041d370 ();
    0x004043e4 nop                           |             
    0x004043e8 b 0x40440c                    |             goto label_18;
    0x004043ec nop                           |             
                                             |         }
    0x004043f0 lw v0, 0x50(fp)               |         v0 = *(var_50h);
    0x004043f4 lw v0, 0x10(v0)               |         v0 = *((v0 + 4));
    0x004043f8 addiu v1, fp, 0xcc            |         v1 = fp + 0xcc;
    0x004043fc move a0, v1                   |         a0 = v1;
    0x00404400 move a1, v0                   |         a1 = v0;
    0x00404404 jal 0x41cfb0                  |         fcn_0041cfb0 ();
    0x00404408 nop                           |         
                                             | label_18:
    0x0040440c addiu v0, fp, 0xcc            |         v0 = fp + 0xcc;
    0x00404410 addiu a0, zero, 0x4e7         |         a0 = 0x4e7;
    0x00404414 move a1, v0                   |         a1 = v0;
    0x00404418 jal 0x402004                  |         sym_send_command_s2m ();
    0x0040441c nop                           |         
    0x00404420 sw v0, 0x28(fp)               |         *(var_28h) = v0;
    0x00404424 b 0x4044a0                    |         goto label_17;
    0x00404428 nop                           |         
                                             | label_8:
    0x0040442c lw v0, 0x3c(fp)               |         v0 = *(var_3ch);
    0x00404430 addiu v1, zero, 0x4b0         |         v1 = 0x4b0;
    0x00404434 swl v1, 3(v0)                 |         __asm ("swl v1, 3(v0)");
    0x00404438 swr v1, (v0)                  |         __asm ("swr v1, (v0)");
    0x0040443c lw v0, 0x3c(fp)               |         v0 = *(var_3ch);
    0x00404440 lw v1, 0x34(fp)               |         v1 = *(var_34h);
    0x00404444 swl v1, 7(v0)                 |         __asm ("swl v1, 7(v0)");
    0x00404448 swr v1, 4(v0)                 |         __asm ("swr v1, 4(v0)");
    0x0040444c lw v0, 0x3c(fp)               |         v0 = *(var_3ch);
    0x00404450 swl zero, 0xf(v0)             |         __asm ("swl zero, 0xf(v0)");
    0x00404454 swr zero, 0xc(v0)             |         __asm ("swr zero, 0xc(v0)");
    0x00404458 lui v0, 0x43                  |         v0 = 0x430000;
    0x0040445c lw a0, -0x1e80(v0)            |         a0 = *((v0 - 1952));
    0x00404460 lw v0, 0x3c(fp)               |         v0 = *(var_3ch);
    0x00404464 lwl v1, 0xf(v0)               |         __asm ("lwl v1, 0xf(v0)");
    0x00404468 move a1, v1                   |         a1 = v1;
    0x0040446c lwr a1, 0xc(v0)               |         __asm ("lwr a1, 0xc(v0)");
    0x00404470 move v0, a1                   |         v0 = a1;
    0x00404474 addiu v0, v0, 0xc             |         v0 += 0xc;
    0x00404478 addiu v1, fp, 0x4d4           |         v1 = fp + 0x4d4;
    0x0040447c move a1, v1                   |         a1 = v1;
    0x00404480 move a2, v0                   |         a2 = v0;
    0x00404484 jal 0x4184e8                  |         sym_msg_queue_snd ();
    0x00404488 nop                           |         
    0x0040448c b 0x4044a4                    |         goto label_0;
    0x00404490 nop                           |         
                                             |     }
                                             | label_16:
    0x00404494 nop                           |     
    0x00404498 b 0x4044a4                    |     goto label_0;
    0x0040449c nop                           |     
                                             | label_17:
    0x004044a0 nop                           |     
                                             | label_0:
    0x004044a4 lw v0, 0x38(fp)               |     v0 = *(var_38h);
                                             |     if (v0 != 0) {
    0x004044a8 beqz v0, 0x4044bc             |         
    0x004044ac nop                           |         
    0x004044b0 lw a0, 0x38(fp)               |         a0 = *(var_38h);
    0x004044b4 jal 0x41d4b0                  |         sym_imp_free ();
    0x004044b8 nop                           |         
                                             |     }
    0x004044bc lw v0, 0x20(fp)               |     v0 = *(var_20h);
                                             |     if (v0 != 0) {
    0x004044c0 beqz v0, 0x4044d4             |         
    0x004044c4 nop                           |         
    0x004044c8 lw a0, 0x20(fp)               |         a0 = *(var_20h);
    0x004044cc jal 0x412f20                  |         sym_cJSON_Delete ();
    0x004044d0 nop                           |         
                                             |     }
                                             | label_1:
    0x004044d4 move sp, fp                   |     
    0x004044d8 lw ra, 0x8dc(sp)              |     ra = *(var_8dch);
    0x004044dc lw fp, 0x8d8(sp)              |     fp = *(var_8d8h);
    0x004044e0 addiu sp, sp, 0x8e0           |     
    0x004044e4 jr ra                         |     return v0;
    0x004044e8 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/hl_client @ 0x402598 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.msgsend ()                   | void msgsend () {
    0x00402598 addiu sp, sp, -0x38           |     
    0x0040259c sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x004025a0 sw fp, 0x30(sp)               |     *(var_30h) = fp;
    0x004025a4 move fp, sp                   |     fp = sp;
    0x004025a8 sw a0, 0x38(fp)               |     *(arg_38h) = a0;
    0x004025ac sw a1, 0x3c(fp)               |     *(arg_3ch) = a1;
    0x004025b0 move v0, a2                   |     v0 = a2;
    0x004025b4 sw a3, 0x44(fp)               |     *(arg_44h) = a3;
    0x004025b8 sh v0, 0x40(fp)               |     *(arg_40h) = v0;
    0x004025bc sw zero, 0x1c(fp)             |     *(var_1ch) = 0;
    0x004025c0 addiu v0, zero, 1             |     v0 = 1;
    0x004025c4 sw v0, 0x20(fp)               |     *(var_20h) = v0;
    0x004025c8 sb zero, 0x24(fp)             |     *(var_24h) = 0;
    0x004025cc lw v0, 0x44(fp)               |     v0 = *(arg_44h);
    0x004025d0 sw v0, 0x28(fp)               |     *(var_28h) = v0;
    0x004025d4 lw a0, 0x44(fp)               |     a0 = *(arg_44h);
    0x004025d8 jal 0x41d460                  |     fcn_0041d460 ();
    0x004025dc nop                           |     
    0x004025e0 sw v0, 0x2c(fp)               |     *(var_2ch) = v0;
    0x004025e4 sw zero, 0x18(fp)             |     *(var_18h) = 0;
    0x004025e8 b 0x40266c                    |     goto label_0;
    0x004025ec nop                           |     
                                             |     do {
    0x004025f0 lhu v1, 0x40(fp)              |         v1 = *(arg_40h);
    0x004025f4 addiu v0, fp, 0x20            |         v0 = fp + 0x20;
    0x004025f8 lw a0, 0x38(fp)               |         a0 = *(arg_38h);
    0x004025fc lw a1, 0x3c(fp)               |         a1 = *(arg_3ch);
    0x00402600 move a2, v1                   |         a2 = v1;
    0x00402604 move a3, v0                   |         a3 = v0;
    0x00402608 jal 0x4070f8                  |         sym_aws_iot_mqtt_publish ();
    0x0040260c nop                           |         
    0x00402610 sw v0, 0x1c(fp)               |         *(var_1ch) = v0;
    0x00402614 lw v0, 0x1c(fp)               |         v0 = *(var_1ch);
                                             |         if (v0 == 0) {
    0x00402618 bnez v0, 0x402650             |             
    0x0040261c nop                           |             
    0x00402620 lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str._IOT__msgsend__s_success__n */
    0x00402624 addiu a0, v0, -0x57d8         |             a0 = "[IOT] msgsend %s success!\n";
    0x00402628 lw a1, 0x44(fp)               |             a1 = *(arg_44h);
    0x0040262c jal 0x41cfc0                  |             fcn_0041cfc0 ();
    0x00402630 nop                           |             
    0x00402634 lui v0, 0x42                  |             v0 = 0x420000;
                                             |             /* str._IOT__msgsend__s_success__n */
    0x00402638 addiu a0, v0, -0x57d8         |             a0 = "[IOT] msgsend %s success!\n";
    0x0040263c lw a1, 0x44(fp)               |             a1 = *(arg_44h);
    0x00402640 jal 0x405dbc                  |             sym_log_printf ()
    0x00402644 nop                           |             
    0x00402648 b 0x40267c                    |             goto label_1;
    0x0040264c nop                           |             
                                             |         }
    0x00402650 lui v0, 1                     |         v0 = 10000;
    0x00402654 ori a0, v0, 0x86a0            |         a0 = 0x186a0;
    0x00402658 jal 0x41d040                  |         fcn_0041d040 ();
    0x0040265c nop                           |         
    0x00402660 lw v0, 0x18(fp)               |         v0 = *(var_18h);
    0x00402664 addiu v0, v0, 1               |         v0++;
    0x00402668 sw v0, 0x18(fp)               |         *(var_18h) = v0;
                                             | label_0:
    0x0040266c lw v0, 0x18(fp)               |         v0 = *(var_18h);
    0x00402670 slti v0, v0, 3                |         v0 = (v0 < 3) ? 1 : 0;
    0x00402674 bnez v0, 0x4025f0             |         
                                             |     } while (v0 != 0);
    0x00402678 nop                           |     
                                             | label_1:
    0x0040267c lw v0, 0x1c(fp)               |     v0 = *(var_1ch);
                                             |     if (v0 != 0) {
    0x00402680 beqz v0, 0x4026b8             |         
    0x00402684 nop                           |         
    0x00402688 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str._IOT__msgsend__s_failed__rc_is__d_n */
    0x0040268c addiu a0, v0, -0x57bc         |         a0 = "[IOT] msgsend %s failed!,rc is %d\n";
    0x00402690 lw a1, 0x44(fp)               |         a1 = *(arg_44h);
    0x00402694 lw a2, 0x1c(fp)               |         a2 = *(var_1ch);
    0x00402698 jal 0x405dbc                  |         sym_log_printf ()
    0x0040269c nop                           |         
    0x004026a0 lui v0, 0x42                  |         v0 = 0x420000;
                                             |         /* str._IOT__msgsend__s_failed__rc_is__d_n */
    0x004026a4 addiu a0, v0, -0x57bc         |         a0 = "[IOT] msgsend %s failed!,rc is %d\n";
    0x004026a8 lw a1, 0x44(fp)               |         a1 = *(arg_44h);
    0x004026ac lw a2, 0x1c(fp)               |         a2 = *(var_1ch);
    0x004026b0 jal 0x41cfc0                  |         fcn_0041cfc0 ();
    0x004026b4 nop                           |         
                                             |     }
    0x004026b8 lw v0, 0x1c(fp)               |     v0 = *(var_1ch);
    0x004026bc move sp, fp                   |     
    0x004026c0 lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x004026c4 lw fp, 0x30(sp)               |     fp = *(var_30h);
    0x004026c8 addiu sp, sp, 0x38            |     
    0x004026cc jr ra                         |     return v0;
    0x004026d0 nop                           |     
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/bin/hl_client @ 0x405fd0 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.upload_resend_list_again ()      | void upload_resend_list_again () {
    0x00405fd0 addiu sp, sp, -0x38               |     
    0x00405fd4 sw ra, 0x34(sp)                   |     *(var_34h) = ra;
    0x00405fd8 sw fp, 0x30(sp)                   |     *(var_30h) = fp;
    0x00405fdc sw s0, 0x2c(sp)                   |     *(var_2ch) = s0;
    0x00405fe0 move fp, sp                       |     fp = sp;
    0x00405fe4 sw a0, 0x38(fp)                   |     *(arg_38h) = a0;
    0x00405fe8 lui v0, 0x43                      |     v0 = 0x430000;
    0x00405fec lw v0, -0x1e30(v0)                |     v0 = *((v0 - 1932));
    0x00405ff0 lw v0, (v0)                       |     v0 = *(v0);
                                                 |     if (v0 == 0) {
    0x00405ff4 beqz v0, 0x406180                 |         goto label_0;
                                                 |     }
    0x00405ff8 nop                               |     
    0x00405ffc sw zero, 0x20(fp)                 |     *(var_20h) = 0;
    0x00406000 lui v0, 0x43                      |     v0 = 0x430000;
    0x00406004 lw v0, -0x1e30(v0)                |     v0 = *((v0 - 1932));
    0x00406008 lw v0, 4(v0)                      |     v0 = *((v0 + 1));
    0x0040600c sw v0, 0x18(fp)                   |     *(var_18h) = v0;
    0x00406010 sw zero, 0x1c(fp)                 |     *(var_1ch) = 0;
    0x00406014 b 0x40616c                        |     goto label_1;
    0x00406018 nop                               |     
                                                 |     do {
    0x0040601c lw v0, 0x18(fp)                   |         v0 = *(var_18h);
    0x00406020 addiu v1, v0, 4                   |         v1 = v0 + 4;
    0x00406024 lw v0, 0x18(fp)                   |         v0 = *(var_18h);
    0x00406028 addiu v0, v0, 0x84                |         v0 += 0x84;
    0x0040602c lui a0, 0x42                      |         a0 = " resend p->topic is %s,p->sg is %s\n";
                                                 |         /* str._resend_p__topic_is__s_p__msg_is__s_n */
    0x00406030 addiu a0, a0, -0x4638             |         
    0x00406034 move a1, v1                       |         a1 = v1;
    0x00406038 move a2, v0                       |         a2 = v0;
    0x0040603c jal 0x41cfc0                      |         fcn_0041cfc0 ();
    0x00406040 nop                               |         
    0x00406044 lw v0, 0x18(fp)                   |         v0 = *(var_18h);
    0x00406048 addiu v1, v0, 4                   |         v1 = v0 + 4;
    0x0040604c lw v0, 0x18(fp)                   |         v0 = *(var_18h);
    0x00406050 addiu v0, v0, 0x84                |         v0 += 0x84;
    0x00406054 lui a0, 0x42                      |         a0 = " resend p->topic is %s,p->sg is %s\n";
                                                 |         /* str._resend_p__topic_is__s_p__msg_is__s_n */
    0x00406058 addiu a0, a0, -0x4638             |         
    0x0040605c move a1, v1                       |         a1 = v1;
    0x00406060 move a2, v0                       |         a2 = v0;
    0x00406064 jal 0x405dbc                      |         sym_log_printf ()
    0x00406068 nop                               |         
    0x0040606c lw v0, 0x18(fp)                   |         v0 = *(var_18h);
    0x00406070 addiu s0, v0, 4                   |         s0 = v0 + 4;
    0x00406074 lw v0, 0x18(fp)                   |         v0 = *(var_18h);
    0x00406078 addiu v0, v0, 4                   |         v0 += 4;
    0x0040607c move a0, v0                       |         a0 = v0;
    0x00406080 jal 0x41d460                      |         fcn_0041d460 ();
    0x00406084 nop                               |         
    0x00406088 andi v0, v0, 0xffff               |         v0 &= 0xffff;
    0x0040608c move v1, v0                       |         v1 = v0;
    0x00406090 lw v0, 0x18(fp)                   |         v0 = *(var_18h);
    0x00406094 addiu v0, v0, 0x84                |         v0 += 0x84;
    0x00406098 lw a0, 0x38(fp)                   |         a0 = *(arg_38h);
    0x0040609c move a1, s0                       |         a1 = s0;
    0x004060a0 move a2, v1                       |         a2 = v1;
    0x004060a4 move a3, v0                       |         a3 = v0;
    0x004060a8 jal 0x402598                      |         sym_msgsend ();
    0x004060ac nop                               |         
    0x004060b0 sw v0, 0x20(fp)                   |         *(var_20h) = v0;
    0x004060b4 lw v0, 0x20(fp)                   |         v0 = *(var_20h);
                                                 |         if (v0 == 0) {
    0x004060b8 bnez v0, 0x406148                 |             
    0x004060bc nop                               |             
    0x004060c0 lw v0, 0x1c(fp)                   |             v0 = *(var_1ch);
                                                 |             if (v0 == 0) {
    0x004060c4 bnez v0, 0x406104                 |                 
    0x004060c8 nop                               |                 
    0x004060cc lui v0, 0x43                      |                 v0 = 0x430000;
    0x004060d0 lw v0, -0x1e30(v0)                |                 v0 = *((v0 - 1932));
    0x004060d4 lw v1, 0x18(fp)                   |                 v1 = *(var_18h);
    0x004060d8 lw v1, (v1)                       |                 v1 = *(v1);
    0x004060dc sw v1, 4(v0)                      |                 *((v0 + 1)) = v1;
    0x004060e0 lw a0, 0x18(fp)                   |                 a0 = *(var_18h);
    0x004060e4 jal 0x41d4b0                      |                 sym_imp_free ();
    0x004060e8 nop                               |                 
    0x004060ec lui v0, 0x43                      |                 v0 = 0x430000;
    0x004060f0 lw v0, -0x1e30(v0)                |                 v0 = *((v0 - 1932));
    0x004060f4 lw v0, 4(v0)                      |                 v0 = *((v0 + 1));
    0x004060f8 sw v0, 0x18(fp)                   |                 *(var_18h) = v0;
    0x004060fc b 0x40612c                        |                 goto label_2;
    0x00406100 nop                               |                 
                                                 |             }
    0x00406104 lw v0, 0x18(fp)                   |             v0 = *(var_18h);
    0x00406108 lw v1, (v0)                       |             v1 = *(v0);
    0x0040610c lw v0, 0x1c(fp)                   |             v0 = *(var_1ch);
    0x00406110 sw v1, (v0)                       |             *(v0) = v1;
    0x00406114 lw a0, 0x18(fp)                   |             a0 = *(var_18h);
    0x00406118 jal 0x41d4b0                      |             sym_imp_free ();
    0x0040611c nop                               |             
    0x00406120 lw v0, 0x1c(fp)                   |             v0 = *(var_1ch);
    0x00406124 lw v0, (v0)                       |             v0 = *(v0);
    0x00406128 sw v0, 0x18(fp)                   |             *(var_18h) = v0;
                                                 | label_2:
    0x0040612c lui v0, 0x43                      |             v0 = 0x430000;
    0x00406130 lw v0, -0x1e30(v0)                |             v0 = *((v0 - 1932));
    0x00406134 lw v1, (v0)                       |             v1 = *(v0);
    0x00406138 addiu v1, v1, -1                  |             v1 += -1;
    0x0040613c sw v1, (v0)                       |             *(v0) = v1;
    0x00406140 b 0x40615c                        |             goto label_3;
    0x00406144 nop                               |             
                                                 |         }
    0x00406148 lw v0, 0x18(fp)                   |         v0 = *(var_18h);
    0x0040614c sw v0, 0x1c(fp)                   |         *(var_1ch) = v0;
    0x00406150 lw v0, 0x18(fp)                   |         v0 = *(var_18h);
    0x00406154 lw v0, (v0)                       |         v0 = *(v0);
    0x00406158 sw v0, 0x18(fp)                   |         *(var_18h) = v0;
                                                 | label_3:
    0x0040615c lui v0, 3                         |         v0 = 30000;
    0x00406160 ori a0, v0, 0xd40                 |         a0 = 0x30d40;
    0x00406164 jal 0x41d040                      |         fcn_0041d040 ();
    0x00406168 nop                               |         
                                                 | label_1:
    0x0040616c lw v0, 0x18(fp)                   |         v0 = *(var_18h);
    0x00406170 bnez v0, 0x40601c                 |         
                                                 |     } while (v0 != 0);
    0x00406174 nop                               |     
    0x00406178 b 0x406184                        |     goto label_4;
    0x0040617c nop                               |     
                                                 | label_0:
    0x00406180 nop                               |     
                                                 | label_4:
    0x00406184 move sp, fp                       |     
    0x00406188 lw ra, 0x34(sp)                   |     ra = *(var_34h);
    0x0040618c lw fp, 0x30(sp)                   |     fp = *(var_30h);
    0x00406190 lw s0, 0x2c(sp)                   |     s0 = *(var_2ch);
    0x00406194 addiu sp, sp, 0x38                |     
    0x00406198 jr ra                             |     return v0;
    0x0040619c nop                               |     
                                                 | }

[*] Function printf used 40 times hl_client