[*] Binary protection state of mqtt-messaging-service

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


[*] Function system tear down of mqtt-messaging-service

    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/mqtt-messaging-service @ 0x15674 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) method.MqttDbus.MqttDbus_Monitor_ ()     | void method_MqttDbus_MqttDbus_Monitor_ () {
                                                     |     /* MqttDbus::MqttDbus(Monitor*) */
    0x00015674 lui gp, 5                             |     
    0x00015678 addiu gp, gp, 0x6bcc                  |     
    0x0001567c addu gp, gp, t9                       |     gp += t9;
    0x00015680 addiu sp, sp, -0x68                   |     
    0x00015684 lw t9, -0x778c(gp)                    |     t9 = sym.imp.sd_bus_default_system
    0x00015688 sw s1, 0x5c(sp)                       |     *(var_5ch) = s1;
    0x0001568c lw s1, -0x76c0(gp)                    |     s1 = *((gp - 7600));
    0x00015690 sw gp, 0x18(sp)                       |     *(var_18h) = gp;
    0x00015694 sw s0, 0x58(sp)                       |     *(var_58h) = s0;
    0x00015698 lw v0, (s1)                           |     v0 = *(s1);
    0x0001569c sw ra, 0x64(sp)                       |     *(var_64h) = ra;
    0x000156a0 sw s2, 0x60(sp)                       |     *(var_60h) = s2;
    0x000156a4 move s0, a0                           |     s0 = a0;
    0x000156a8 sw zero, 4(a0)                        |     *((a0 + 1)) = 0;
    0x000156ac sw zero, 8(a0)                        |     *((a0 + 2)) = 0;
    0x000156b0 sw zero, 0xc(a0)                      |     *((a0 + 3)) = 0;
    0x000156b4 sw zero, 0x10(a0)                     |     *((a0 + 4)) = 0;
    0x000156b8 sw a1, (a0)                           |     *(a0) = a1;
    0x000156bc sw v0, 0x54(sp)                       |     *(var_54h) = v0;
    0x000156c0 addiu a0, a0, 4                       |     a0 += 4;
    0x000156c4 jalr t9                               |     t9 ();
    0x000156c8 lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (v0 >= 0) {
    0x000156cc bltz v0, 0x15780                      |         
    0x000156d0 lw v0, (s0)                           |         v0 = *(s0);
    0x000156d4 lw a0, 4(s0)                          |         a0 = *((s0 + 1));
    0x000156d8 sw v0, 0x14(sp)                       |         *(var_14h) = v0;
    0x000156dc lw v0, -0x7f08(gp)                    |         v0 = *((gp - 8130));
    0x000156e0 lw s2, -0x7fd8(gp)                    |         s2 = *(gp);
    0x000156e4 lw a2, -0x7fd8(gp)                    |         a2 = *(gp);
    0x000156e8 addiu v0, v0, 0x3dd0                  |         v0 += 0x3dd0;
    0x000156ec lw t9, -0x78a4(gp)                    |         t9 = sym.imp.sd_bus_add_object_vtable;
    0x000156f0 sw v0, 0x10(sp)                       |         *(var_10h) = v0;
                                                     |         /* str.com.axis.MQTTMessagingService1 */
    0x000156f4 addiu a3, s2, -0x5ad4                 |         a3 = s2 + -0x5ad4;
                                                     |         /* str._com_axis_MQTTMessagingService1 */
    0x000156f8 addiu a2, a2, -0x5ab4                 |         a2 += -0x5ab4;
    0x000156fc addiu a1, s0, 8                       |         a1 = s0 + 8;
    0x00015700 jalr t9                               |         t9 ();
    0x00015704 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |         if (v0 < 0) {
    0x00015708 bltz v0, 0x15a80                      |             goto label_1;
                                                     |         }
    0x0001570c lw a0, 4(s0)                          |         a0 = *((s0 + 1));
    0x00015710 lw t9, -0x79e8(gp)                    |         t9 = sym.imp.sd_bus_request_name;
    0x00015714 move a2, zero                         |         a2 = 0;
    0x00015718 move a3, zero                         |         a3 = 0;
                                                     |         /* str.com.axis.MQTTMessagingService1 */
    0x0001571c addiu a1, s2, -0x5ad4                 |         a1 = s2 + -0x5ad4;
    0x00015720 jalr t9                               |         t9 ();
    0x00015724 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |         if (v0 < 0) {
    0x00015728 bltz v0, 0x15994                      |             goto label_2;
                                                     |         }
    0x0001572c lw t9, -0x7874(gp)                    |         t9 = sym.imp.sd_event_default;
    0x00015730 addiu a0, s0, 0xc                     |         a0 = s0 + 0xc;
    0x00015734 jalr t9                               |         t9 ();
    0x00015738 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |         if (v0 < 0) {
    0x0001573c bltz v0, 0x158c0                      |             goto label_3;
                                                     |         }
    0x00015740 lw a1, 0xc(s0)                        |         a1 = *((s0 + 3));
    0x00015744 lw a0, 4(s0)                          |         a0 = *((s0 + 1));
    0x00015748 lw t9, -0x791c(gp)                    |         t9 = sym.imp.sd_bus_attach_event;
    0x0001574c move a2, zero                         |         a2 = 0;
    0x00015750 jalr t9                               |         t9 ();
    0x00015754 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |         if (v0 < 0) {
    0x00015758 bltz v0, 0x157ec                      |             goto label_4;
                                                     |         }
    0x0001575c lw v1, 0x54(sp)                       |         v1 = *(var_54h);
    0x00015760 lw v0, (s1)                           |         v0 = *(s1);
    0x00015764 lw ra, 0x64(sp)                       |         ra = *(var_64h);
                                                     |         if (v1 != v0) {
    0x00015768 bne v1, v0, 0x157e0                   |             goto label_5;
                                                     |         }
    0x0001576c lw s2, 0x60(sp)                       |         s2 = *(var_60h);
    0x00015770 lw s1, 0x5c(sp)                       |         s1 = *(var_5ch);
    0x00015774 lw s0, 0x58(sp)                       |         s0 = *(var_58h);
    0x00015778 addiu sp, sp, 0x68                    |         
    0x0001577c jr ra                                 |         return v0;
                                                     |     }
    0x00015780 lw a3, -0x7fd8(gp)                    |     a3 = *(gp);
    0x00015784 lw a2, -0x7fd8(gp)                    |     a2 = *(gp);
    0x00015788 lw t9, -0x7704(gp)                    |     t9 = sym.imp.g_log;
    0x0001578c addiu a3, a3, -0x5a74                 |     a3 += -0x5a74;
                                                     |     /* str._sfailed_adding_to_open_bus_ */
    0x00015790 addiu a2, a2, -0x5b10                 |     a2 += -0x5b10;
    0x00015794 addiu a1, zero, 0x100                 |     a1 = aav.0x00000100;
    0x00015798 move a0, zero                         |     a0 = 0;
    0x0001579c jalr t9                               |     t9 ();
    0x000157a0 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x000157a4 lw t9, -0x7718(gp)                    |     t9 = sym.imp.__cxa_allocate_exception;
    0x000157a8 addiu a0, zero, 8                     |     a0 = 8;
    0x000157ac jalr t9                               |     t9 ();
    0x000157b0 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x000157b4 move a0, v0                           |     a0 = v0;
    0x000157b8 lw v1, -0x7ef4(gp)                    |     v1 = *(gp);
    0x000157bc lw a2, -0x7ef0(gp)                    |     a2 = *(gp);
    0x000157c0 addiu v1, v1, 8                       |     v1 += 8;
    0x000157c4 sw v1, (v0)                           |     *(v0) = v1;
    0x000157c8 lw v1, -0x7fd8(gp)                    |     v1 = *(gp);
    0x000157cc lw a1, -0x7eec(gp)                    |     a1 = *(gp);
                                                     |     /* str.failed_adding_to_open_bus_ */
    0x000157d0 addiu v1, v1, -0x5af0                 |     v1 += -0x5af0;
    0x000157d4 lw t9, -0x795c(gp)                    |     t9 = sym.imp.__cxa_throw;
    0x000157d8 sw v1, 4(v0)                          |     *((v0 + 1)) = v1;
    0x000157dc jalr t9                               |     t9 ();
                                                     | label_5:
    0x000157e0 lw t9, -0x784c(gp)                    |     t9 = sym.imp.__stack_chk_fail;
    0x000157e4 jalr t9                               |     t9 ();
    0x000157e8 nop                                   |     
                                                     | label_4:
    0x000157ec lw t9, -0x78f4(gp)                    |     t9 = sym.imp.strerror;
    0x000157f0 negu a0, v0                           |     __asm ("negu a0, v0");
    0x000157f4 jalr t9                               |     t9 ();
    0x000157f8 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x000157fc addiu s2, sp, 0x3c                    |     s2 = sp + 0x3c;
    0x00015800 move a1, v0                           |     a1 = v0;
    0x00015804 lw t9, -0x7fd4(gp)                    |     t9 = *(gp);
                                                     |     /* fcn.000155f0 */
    0x00015808 addiu t9, t9, 0x55f0                  |     t9 += 0x55f0;
    0x0001580c move a0, s2                           |     a0 = s2;
    0x00015810 bal 0x155f0                           |     fcn_000155f0 ();
    0x00015814 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00015818 move a1, zero                         |     a1 = 0;
    0x0001581c move a0, s2                           |     a0 = s2;
    0x00015820 lw a2, -0x7fd8(gp)                    |     a2 = *(gp);
    0x00015824 lw t9, -0x77a8(gp)                    |     t9 = *(gp);
                                                     |     /* str.Failed_to_attach_to_sd_bus_event_loop__error:_ */
    0x00015828 addiu a2, a2, -0x59bc                 |     a2 += -0x59bc;
    0x0001582c jalr t9                               |     t9 ();
    0x00015830 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00015834 move a1, v0                           |     a1 = v0;
    0x00015838 lw t9, -0x774c(gp)                    |     t9 = *(gp);
    0x0001583c addiu a0, sp, 0x24                    |     a0 = sp + 0x24;
    0x00015840 jalr t9                               |     t9 ();
    0x00015844 lw a0, 0x3c(sp)                       |     a0 = *(var_3ch);
    0x00015848 addiu v0, sp, 0x44                    |     v0 = sp + 0x44;
    0x0001584c lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (a0 != v0) {
    0x00015850 beq a0, v0, 0x15864                   |         
    0x00015854 lw t9, -0x7800(gp)                    |         t9 = sym.imp.operator_delete_void_;
    0x00015858 jalr t9                               |         t9 ();
    0x0001585c nop                                   |         
    0x00015860 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x00015864 lw a3, -0x7fd8(gp)                    |     a3 = *(gp);
    0x00015868 lw a2, -0x7fd8(gp)                    |     a2 = *(gp);
    0x0001586c lw t9, -0x7704(gp)                    |     t9 = sym.imp.g_log;
    0x00015870 addiu a3, a3, -0x5a74                 |     a3 += -0x5a74;
                                                     |     /* str._sFailed_to_attach */
    0x00015874 addiu a2, a2, -0x598c                 |     a2 += -0x598c;
    0x00015878 addiu a1, zero, 0x100                 |     a1 = aav.0x00000100;
    0x0001587c move a0, zero                         |     a0 = 0;
    0x00015880 jalr t9                               |     t9 ();
    0x00015884 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00015888 lw t9, -0x7718(gp)                    |     t9 = sym.imp.__cxa_allocate_exception;
    0x0001588c addiu a0, zero, 8                     |     a0 = 8;
    0x00015890 jalr t9                               |     t9 ();
    0x00015894 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00015898 move a0, v0                           |     a0 = v0;
    0x0001589c lw v1, -0x7ef4(gp)                    |     v1 = *(gp);
    0x000158a0 lw a2, -0x7ef0(gp)                    |     a2 = *(gp);
    0x000158a4 addiu v1, v1, 8                       |     v1 += 8;
    0x000158a8 sw v1, (v0)                           |     *(v0) = v1;
    0x000158ac lw v1, 0x24(sp)                       |     v1 = *(var_24h);
    0x000158b0 lw a1, -0x7eec(gp)                    |     a1 = *(gp);
    0x000158b4 lw t9, -0x795c(gp)                    |     t9 = sym.imp.__cxa_throw;
    0x000158b8 sw v1, 4(v0)                          |     *((v0 + 1)) = v1;
    0x000158bc jalr t9                               |     t9 ();
                                                     | label_3:
    0x000158c0 lw t9, -0x78f4(gp)                    |     t9 = sym.imp.strerror;
    0x000158c4 negu a0, v0                           |     __asm ("negu a0, v0");
    0x000158c8 jalr t9                               |     t9 ();
    0x000158cc lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x000158d0 addiu s2, sp, 0x3c                    |     s2 = sp + 0x3c;
    0x000158d4 move a1, v0                           |     a1 = v0;
    0x000158d8 lw t9, -0x7fd4(gp)                    |     t9 = *(gp);
                                                     |     /* fcn.000155f0 */
    0x000158dc addiu t9, t9, 0x55f0                  |     t9 += 0x55f0;
    0x000158e0 move a0, s2                           |     a0 = s2;
    0x000158e4 bal 0x155f0                           |     fcn_000155f0 ();
    0x000158e8 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x000158ec move a1, zero                         |     a1 = 0;
    0x000158f0 move a0, s2                           |     a0 = s2;
    0x000158f4 lw a2, -0x7fd8(gp)                    |     a2 = *(gp);
    0x000158f8 lw t9, -0x77a8(gp)                    |     t9 = *(gp);
                                                     |     /* str.Failed_to_setup_event_loop__error:_ */
    0x000158fc addiu a2, a2, -0x5a00                 |     a2 += -0x5a00;
    0x00015900 jalr t9                               |     t9 ();
    0x00015904 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00015908 move a1, v0                           |     a1 = v0;
    0x0001590c lw t9, -0x774c(gp)                    |     t9 = *(gp);
    0x00015910 addiu a0, sp, 0x24                    |     a0 = sp + 0x24;
    0x00015914 jalr t9                               |     t9 ();
    0x00015918 lw a0, 0x3c(sp)                       |     a0 = *(var_3ch);
    0x0001591c addiu v0, sp, 0x44                    |     v0 = sp + 0x44;
    0x00015920 lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (a0 != v0) {
    0x00015924 beq a0, v0, 0x15938                   |         
    0x00015928 lw t9, -0x7800(gp)                    |         t9 = sym.imp.operator_delete_void_;
    0x0001592c jalr t9                               |         t9 ();
    0x00015930 nop                                   |         
    0x00015934 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x00015938 lw a3, -0x7fd8(gp)                    |     a3 = *(gp);
    0x0001593c lw a2, -0x7fd8(gp)                    |     a2 = *(gp);
    0x00015940 lw t9, -0x7704(gp)                    |     t9 = sym.imp.g_log;
    0x00015944 addiu a3, a3, -0x5a74                 |     a3 += -0x5a74;
                                                     |     /* str._sfailed_to_setup_event_loop */
    0x00015948 addiu a2, a2, -0x59dc                 |     a2 += -0x59dc;
    0x0001594c addiu a1, zero, 0x100                 |     a1 = aav.0x00000100;
    0x00015950 move a0, zero                         |     a0 = 0;
    0x00015954 jalr t9                               |     t9 ();
    0x00015958 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x0001595c lw t9, -0x7718(gp)                    |     t9 = sym.imp.__cxa_allocate_exception;
    0x00015960 addiu a0, zero, 8                     |     a0 = 8;
    0x00015964 jalr t9                               |     t9 ();
    0x00015968 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x0001596c move a0, v0                           |     a0 = v0;
    0x00015970 lw v1, -0x7ef4(gp)                    |     v1 = *(gp);
    0x00015974 lw a2, -0x7ef0(gp)                    |     a2 = *(gp);
    0x00015978 addiu v1, v1, 8                       |     v1 += 8;
    0x0001597c sw v1, (v0)                           |     *(v0) = v1;
    0x00015980 lw v1, 0x24(sp)                       |     v1 = *(var_24h);
    0x00015984 lw a1, -0x7eec(gp)                    |     a1 = *(gp);
    0x00015988 lw t9, -0x795c(gp)                    |     t9 = sym.imp.__cxa_throw;
    0x0001598c sw v1, 4(v0)                          |     *((v0 + 1)) = v1;
    0x00015990 jalr t9                               |     t9 ();
                                                     | label_2:
    0x00015994 lw t9, -0x78f4(gp)                    |     t9 = sym.imp.strerror;
    0x00015998 negu s1, v0                           |     __asm ("negu s1, v0");
    0x0001599c move a0, s1                           |     a0 = s1;
    0x000159a0 jalr t9                               |     t9 ();
    0x000159a4 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x000159a8 addiu s2, sp, 0x3c                    |     s2 = sp + 0x3c;
    0x000159ac move a1, v0                           |     a1 = v0;
    0x000159b0 lw t9, -0x7fd4(gp)                    |     t9 = *(gp);
                                                     |     /* fcn.000155f0 */
    0x000159b4 addiu t9, t9, 0x55f0                  |     t9 += 0x55f0;
    0x000159b8 move a0, s2                           |     a0 = s2;
    0x000159bc bal 0x155f0                           |     fcn_000155f0 ();
    0x000159c0 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x000159c4 move a1, zero                         |     a1 = 0;
    0x000159c8 move a0, s2                           |     a0 = s2;
    0x000159cc lw a2, -0x7fd8(gp)                    |     a2 = *(gp);
    0x000159d0 lw t9, -0x77a8(gp)                    |     t9 = *(gp);
                                                     |     /* str.Service_name_request_failed:_error:_ */
    0x000159d4 addiu a2, a2, -0x5a54                 |     a2 += -0x5a54;
    0x000159d8 jalr t9                               |     t9 ();
    0x000159dc lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x000159e0 move a1, v0                           |     a1 = v0;
    0x000159e4 lw t9, -0x774c(gp)                    |     t9 = *(gp);
    0x000159e8 addiu a0, sp, 0x24                    |     a0 = sp + 0x24;
    0x000159ec jalr t9                               |     t9 ();
    0x000159f0 lw a0, 0x3c(sp)                       |     a0 = *(var_3ch);
    0x000159f4 addiu v0, sp, 0x44                    |     v0 = sp + 0x44;
    0x000159f8 lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (a0 != v0) {
    0x000159fc beq a0, v0, 0x15a10                   |         
    0x00015a00 lw t9, -0x7800(gp)                    |         t9 = sym.imp.operator_delete_void_;
    0x00015a04 jalr t9                               |         t9 ();
    0x00015a08 nop                                   |         
    0x00015a0c lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x00015a10 lw t9, -0x78f4(gp)                    |     t9 = sym.imp.strerror;
    0x00015a14 move a0, s1                           |     a0 = s1;
    0x00015a18 jalr t9                               |     t9 ();
    0x00015a1c lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00015a20 sw v0, 0x10(sp)                       |     *(var_10h) = v0;
    0x00015a24 addiu a1, zero, 0x100                 |     a1 = aav.0x00000100;
    0x00015a28 lw a3, -0x7fd8(gp)                    |     a3 = *(gp);
    0x00015a2c lw a2, -0x7fd8(gp)                    |     a2 = *(gp);
    0x00015a30 lw t9, -0x7704(gp)                    |     t9 = sym.imp.g_log;
    0x00015a34 addiu a3, a3, -0x5a74                 |     a3 += -0x5a74;
                                                     |     /* str._sfailed_getting_service_name:_error:__s */
    0x00015a38 addiu a2, a2, -0x5a2c                 |     a2 += -0x5a2c;
    0x00015a3c move a0, zero                         |     a0 = 0;
    0x00015a40 jalr t9                               |     t9 ();
    0x00015a44 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00015a48 lw t9, -0x7718(gp)                    |     t9 = sym.imp.__cxa_allocate_exception;
    0x00015a4c addiu a0, zero, 8                     |     a0 = 8;
    0x00015a50 jalr t9                               |     t9 ();
    0x00015a54 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00015a58 move a0, v0                           |     a0 = v0;
    0x00015a5c lw v1, -0x7ef4(gp)                    |     v1 = *(gp);
    0x00015a60 lw a2, -0x7ef0(gp)                    |     a2 = *(gp);
    0x00015a64 addiu v1, v1, 8                       |     v1 += 8;
    0x00015a68 sw v1, (v0)                           |     *(v0) = v1;
    0x00015a6c lw v1, 0x24(sp)                       |     v1 = *(var_24h);
    0x00015a70 lw a1, -0x7eec(gp)                    |     a1 = *(gp);
    0x00015a74 lw t9, -0x795c(gp)                    |     t9 = sym.imp.__cxa_throw;
    0x00015a78 sw v1, 4(v0)                          |     *((v0 + 1)) = v1;
    0x00015a7c jalr t9                               |     t9 ();
                                                     | label_1:
    0x00015a80 lw t9, -0x78f4(gp)                    |     t9 = sym.imp.strerror;
    0x00015a84 negu a0, v0                           |     __asm ("negu a0, v0");
    0x00015a88 jalr t9                               |     t9 ();
    0x00015a8c lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00015a90 addiu s2, sp, 0x3c                    |     s2 = sp + 0x3c;
    0x00015a94 move a1, v0                           |     a1 = v0;
    0x00015a98 lw t9, -0x7fd4(gp)                    |     t9 = *(gp);
                                                     |     /* fcn.000155f0 */
    0x00015a9c addiu t9, t9, 0x55f0                  |     t9 += 0x55f0;
    0x00015aa0 move a0, s2                           |     a0 = s2;
    0x00015aa4 bal 0x155f0                           |     fcn_000155f0 ();
    0x00015aa8 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00015aac move a1, zero                         |     a1 = 0;
    0x00015ab0 move a0, s2                           |     a0 = s2;
    0x00015ab4 lw a2, -0x7fd8(gp)                    |     a2 = *(gp);
    0x00015ab8 lw t9, -0x77a8(gp)                    |     t9 = *(gp);
                                                     |     /* str.Failed_to_add_object_to_vtable:_ */
    0x00015abc addiu a2, a2, -0x5a94                 |     a2 += -0x5a94;
    0x00015ac0 jalr t9                               |     t9 ();
    0x00015ac4 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00015ac8 move a1, v0                           |     a1 = v0;
    0x00015acc lw t9, -0x774c(gp)                    |     t9 = *(gp);
    0x00015ad0 addiu a0, sp, 0x24                    |     a0 = sp + 0x24;
    0x00015ad4 jalr t9                               |     t9 ();
    0x00015ad8 lw a0, 0x3c(sp)                       |     a0 = *(var_3ch);
    0x00015adc addiu v0, sp, 0x44                    |     v0 = sp + 0x44;
    0x00015ae0 lw gp, 0x18(sp)                       |     gp = *(var_18h);
                                                     |     if (a0 != v0) {
    0x00015ae4 beq a0, v0, 0x15af8                   |         
    0x00015ae8 lw t9, -0x7800(gp)                    |         t9 = sym.imp.operator_delete_void_;
    0x00015aec jalr t9                               |         t9 ();
    0x00015af0 nop                                   |         
    0x00015af4 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
    0x00015af8 lw a3, -0x7fd8(gp)                    |     a3 = *(gp);
    0x00015afc lw a2, -0x7fd8(gp)                    |     a2 = *(gp);
    0x00015b00 lw t9, -0x7704(gp)                    |     t9 = sym.imp.g_log;
    0x00015b04 addiu a3, a3, -0x5a74                 |     a3 += -0x5a74;
                                                     |     /* str._sfailed_adding_to_vtable */
    0x00015b08 addiu a2, a2, -0x5a70                 |     a2 += -0x5a70;
    0x00015b0c addiu a1, zero, 0x100                 |     a1 = aav.0x00000100;
    0x00015b10 move a0, zero                         |     a0 = 0;
    0x00015b14 jalr t9                               |     t9 ();
    0x00015b18 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00015b1c lw t9, -0x7718(gp)                    |     t9 = sym.imp.__cxa_allocate_exception;
    0x00015b20 addiu a0, zero, 8                     |     a0 = 8;
    0x00015b24 jalr t9                               |     t9 ();
    0x00015b28 lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00015b2c move a0, v0                           |     a0 = v0;
    0x00015b30 lw v1, -0x7ef4(gp)                    |     v1 = *(gp);
    0x00015b34 lw a2, -0x7ef0(gp)                    |     a2 = *(gp);
    0x00015b38 addiu v1, v1, 8                       |     v1 += 8;
    0x00015b3c sw v1, (v0)                           |     *(v0) = v1;
    0x00015b40 lw v1, 0x24(sp)                       |     v1 = *(var_24h);
    0x00015b44 lw a1, -0x7eec(gp)                    |     a1 = *(gp);
    0x00015b48 lw t9, -0x795c(gp)                    |     t9 = sym.imp.__cxa_throw;
    0x00015b4c sw v1, 4(v0)                          |     *((v0 + 1)) = v1;
    0x00015b50 jalr t9                               |     t9 ();
    0x00015b54 lw v1, 0x3c(sp)                       |     v1 = *(var_3ch);
    0x00015b58 addiu v0, sp, 0x44                    |     v0 = sp + 0x44;
    0x00015b5c lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00015b60 move s1, a0                           |     s1 = a0;
                                                     |     if (v1 != v0) {
    0x00015b64 beq v1, v0, 0x15b78                   |         
    0x00015b68 lw t9, -0x7800(gp)                    |         t9 = sym.imp.operator_delete_void_;
    0x00015b6c move a0, v1                           |         a0 = v1;
    0x00015b70 jalr t9                               |         t9 ();
    0x00015b74 lw gp, 0x18(sp)                       |         gp = *(var_18h);
                                                     |     }
                                                     | label_0:
    0x00015b78 lw v0, 0x10(s0)                       |     v0 = *((s0 + 4));
    0x00015b7c lw t9, -0x7978(gp)                    |     t9 = sym.imp._Unwind_Resume;
                                                     |     if (v0 != 0) {
    0x00015b80 bnez v0, 0x15be4                      |         void (*0x15be4)() ();
                                                     |     }
    0x00015b84 move a0, s1                           |     a0 = s1;
    0x00015b88 jalr t9                               |     t9 ();
    0x00015b8c lw gp, 0x18(sp)                       |     gp = *(var_18h);
    0x00015b90 move s1, a0                           |     s1 = a0;
    0x00015b94 b 0x15b78                             |     goto label_0;
                                                     | }

[*] Function system used 2 times mqtt-messaging-service